Автор работы: Пользователь скрыл имя, 11 Января 2014 в 17:55, курс лекций
Работа содержит конспекты лекций по дисциплине "Микропроцессорные устройства".
Адрес указывает область памяти, в которой находятся подлежащие обработке данные. Совместное использование 2 и 3 байтов команды позволяет адресоваться к любой из 65536 областей памяти.
При этом способе адресации адрес операнда содержится в самой команде и для его формирования не используется никаких дополнительных источников или регистров.
При неявной адресации адрес местоположения данных встроен в команду, и программист лишен возможности самостоятельно обращаться к данным по их адресу. При непосредственной адресации данные указываются в самой команде, следуя сразу за кодом операции. В этом случае программист тоже не может адресоваться к данным. И только при прямой адресации у него имеется такая возможность, явным образом задавая адрес необходимых данных.
Примером использования такой адресации может служить команда записи содержимого аккумулятора в память по адресу 000ЕН. Этот адрес занимает второй и третий байты команды. Байты команды показаны на рисунке.
КОП М А |
0ЕН |
00Н |
2 – й байт
3 – й байт
Косвенная адресация.
Этот тип адресации реализуется командами длиной в один байт. Помимо кода операции в такой команде указывается номер регистра, содержимое которого - адрес местоположения данных в памяти.
Указанная адресация называется косвенной. При косвенной адресации соответствующая команда указывает, в какой регистровой паре размещается адрес местоположения данных в памяти.
Рассмотрим пример:
загрузить в аккумулятор данны
До операции
Память данных
передать
2080H |
11110000 |
Адрес
Пара НL
На рисунке содержимое памяти по адресу 2080Н загружается в аккумулятор. Адрес ячейки памяти 2080Н указан содержимым пары НL, которая здесь играет роль адресного регистра.
4.4 Команды передачи данных
Команды общего назначения
Команды рассматриваемой группы выполняют передачу данных из регистра в регистр, размещение данных в памяти, размещение извлечённых из памяти данных в УВВ. В результате команд передачи данных никакие индикаторы не изменяются (биты регистра состояния). Некоторые характерные команды передачи данных приведены в следующей таблице.
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Формат команд |
Символика |
Передать А в r |
Регистровая |
MOV r, A |
….. |
1 |
КОП |
|
Передать r в А |
Регистровая |
MOV A, r |
….. |
1 |
КОП |
|
Передать HL в PC |
Регистровая |
PCHL |
E9 |
1 |
КОП |
|
Передать HL в SP |
Регистровая |
SPHL |
F9 |
1 |
КОП |
|
Загрузить А данными |
Непосредственная |
MVI A |
3E |
2 |
КОП данные |
|
Загрузить LOC(HL) в А |
Косвенная |
MOV A,M |
7E |
1 |
КОП |
|
Загрузить HL данными |
Непосредственная |
LXI H |
21 |
3 |
КОП Мл.байт Ст. байт |
|
Загрузить SP данными |
Непосредственная |
LXI P |
31 |
3 |
КОП Мл. байт Ст. байт |
|
Загрузить HL из LOC |
Прямая |
LHLD |
2A |
3 |
КОП Мл. адрес Ст. адрес |
|
Загрузить А из LOC |
Прямая |
LDA |
3A |
3 |
КОП Мл. адрес Ст. адрес |
|
Поместить А в LOC |
Прямая |
STA |
32 |
3 |
КОП Мл. адрес Ст. адрес |
|
Поместить HL в LOC |
Прямая |
SHLD |
22 |
3 |
КОП Мл. адрес Ст. адрес |
|
Поместить А в LOC (HL) |
Косвенная |
MOV M,A |
77 |
1 |
КОП |
|
Ввести в А из порта |
Прямая |
IN |
DB |
2 |
КОП Адр. порта |
|
Вывести А в порт |
Прямая |
OUT |
D3 |
2 |
КОП Адр. порта |
|
Установить индикатор переноса |
Неявная |
STC |
37 |
1 |
КОП |
|
LOC от LOCATION
Команды работы со стеком
К командам передачи данных относятся команды работы со стеком. При выполнении команд работы со стеком индикаторы не изменяются. В следующей таблице указаны некоторые команды работы со стеком.
Операция |
Адресация |
Мнемоника |
КОП |
Байт |
Формат команды |
Символика |
Поместить в стек А и индикаторы |
Косвенная |
PUSH PSW |
F5 |
1 |
КОП |
|
Поместить в стек HL |
Косвенная |
PUSH H |
E5 |
1 |
КОП |
|
Извлечь из стека А и индикаторы |
Косвенная |
POP PSW |
F1 |
1 |
КОП |
|
Извлечь из стека HL |
Косвенная |
POP H |
E1 |
1 |
КОП |
Команды PUSH и POP противоположны по своему действию и используются всегда совместно. Между этими командами располагаются другие команды программы, которые меняют содержимое регистров МП.
4.5 Арифметические команды
Команды арифметических действий устанавливают все индикаторы. Операции вычитания проводятся с использованием дополнительного кода.
Команды двоичной арифметики
Аккумулятор содержит одно из слагаемых. Каждая команда точно оговаривает различные источники другого слагаемого. Характеристики простых команд сложения и вычитания приведены в следующей таблице
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Формат команд |
Символика |
Сложить А с данными |
Непосредственная |
ADI |
C6 |
2 |
КОП данные |
|
Сложить r с А |
Регистровая |
ADD R |
….. |
1 |
КОП |
|
Сложить LOC (HL) с A |
Косвенная |
ADD M |
86 |
1 |
КОП |
|
Вычесть данные из А |
Непосредственная |
SUI |
D6 |
2 |
КОП данные |
|
Вычесть r из А |
Регистровая |
SUB R |
….. |
1 |
КОП |
|
Вычесть LOC (HL) из А |
Косвенная |
SUB M |
96 |
1 |
КОП |
|
Стандартный МП имеет для реализации арифметики больших чисел команды сложения с переносом и вычитания с заемом. Основные сведения об указанных командах приведены в следующей таблице.
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Формат команд |
Символика |
Сложить А с данными и переносом |
Непосредственная |
ACI |
CE |
2 |
КОП данные |
|
Сложить A c r и переносом |
Регистровая |
ADC r |
….. |
1 |
КОП |
|
Сложить память LOC (HL) c A и переносом |
Косвенная |
ADC M |
8E |
1 |
КОП |
|
Вычесть с заемом данные из А |
Непосредственная |
SBI |
DE |
2 |
КОП данные |
|
Вычесть с заемом r из А |
Регистровая |
SBB r |
….. |
1 |
КОП |
|
Вычесть с заемом содержимое памяти LOC (HL) из A |
Косвенная |
SBB M |
9E |
1 |
КОП |
Ниже рассматриваются команды положительного и отрицательного приращений:
INR r - содержимое регистра увеличивается на единицу, .
INR M - содержимое памяти, адрес которой находится в паре HL, увеличивается на единицу, .
DCR r - содержимое регистра уменьшается на единицу, .
DCR M - содержимое памяти, адрес которой находится в паре регистров HL, уменьшается на единицу, .
При выполнении этих команд устанавливаются все индикаторы, кроме переноса CY.
INX rp - содержимое пары регистров rp увеличивается на единицу,
.
DCX rp - содержимое пары регистров rp уменьшается на единицу,
.
При выполнении команд INX и DCX никакие индикаторы не устанавливаются.
Команды десятичной арифметики
В МП Intel 8080 к указанной группе команд относится только одна команда, а именно команда десятичной коррекции аккумулятора. Её формат следующий
DAA , .
4.6 Логические команды
MП способны производить логическую обработку информации. Микро-ЭВМ может заменить множество логических схем.
Команды манипуляции битами
К этой группе относятся команды логических операций И, ИЛИ, ИСКЛ. ИЛИ, НЕ. Все логические операции являются побитовыми, а результат устанавливается в соответствии с их таблицами истинности. Логические операции выполняются всегда над содержимым аккумулятора и другим байтом из регистра или памяти. По окончании логической операции результат загружается в аккумулятор. Значение бита переноса CY от результата выполнения логических команд И, ИЛИ, ИСКЛ. ИЛИ не зависит. Основные характеристики этих команд представлены в следующей таблице.
Операция |
Адресация |
Мнемоника |
КОП |
Байты |
Формат команд |
Символика |
А И данные |
Непосредственная |
ANI |
E6 |
2 |
КОП данные |
|
А И регистр |
Регистровая |
ANA r |
….. |
1 |
КОП |
|
А И LOC(HL) |
Косвенная |
ANA M |
A6 |
1 |
КОП |
|
A ИЛИ данные |
Непосредственная |
ORI |
F6 |
2 |
КОП данные |
|
А ИЛИ регистр |
Регистровая |
ORA r |
….. |
1 |
КОП |
|
А ИЛИ LOC (HL) |
Косвенная |
ORA M |
B6 |
1 |
КОП |
|
А ИЛИ ИСКЛ. данные |
Непосредственная |
XRI |
EE |
2 |
КОП данные |
|
А ИЛИ ИСКЛ. регистр |
Регистровая |
XRA r |
….. |
1 |
КОП |
|
А ИЛИ ИСКЛ. LOC (HL) |
Косвенная |
XRA M |
AE |
1 |
КОП |
|
Инвертировать А |
Неявная |
CMA |
2F |
1 |
КОП |