10.Обслуживание прерывания в режиме остановки
Система команд
Способы адресации:
Условно команда состоит из двух частей: подкоманды и сведениях об операнде. Эти сведения могут разными способами указывать П как обратиться к ячейке памяти или регистру
1. Регистровая адресация
Адрес (имя) регистра указано в коде команды
MOV B, C
Пересылка из регистра С в регистр В
2. Прямая адресация
В ходе команды указан адрес ячейки памяти, которая является источником или приемником информации
LDA 8000
Записывает в аккумулятор число из ячейки памяти 8000
3. Непосредственная адресация
Операнд находится в коде команды
LXI B, 8000
4. Косвенная адресация
В ходе команды указанная регистровая пара (или ячейка памяти), в которой находится адрес операнда
LDAX B
Способы адресации, присутствующие в других платформах:
5. Относительная адресация.
В ходе команды указан адрес, который является смещением относительно текущего адреса:
GOTO 100 – передача управления на сотый адрес
BRA 100 – передача управления на сто ячеек за текущим адресом
Может быть указано смещение относительно некоторого базового адреса
Классификация команд
1. По длине: однобайтные, двухбайтные, трехбайтные и т. д.
2. По адресу: безадресные, одноадресные, двухадресные и т. д.
Шитье команд
Для платформы Intel 8080
1. Команды пересылки данных
2. Арифметические и логические команды
3. Команды передачи управления
4. Управляющие команды
Команды пересылки данных
В качестве операндов могут быть использованы имена A, B, C, D, E, H, L при регистровой адресации. Двухбайтные адреса ячеек памяти при прямой адресации, причем вначале имеется старший байт, а потом младший. Одно- или двухбайтные данные у команд с непосредственной адресацией.
Если для косвенной адресации, как указатели используются регистровые пары ВС, DE, то это будет явно видно в ходе команды. Если используется регистровая пара HL, то команда будет выглядеть как команда с регистровой адресацией, только вместо имени регистра будет стоять буква М.
1.) MOV < A, … , M >, <A, … , M> – перемещение из одного регистра в другой
2.) MVI < A, … , M >, <число> – пересылка непосредственного операнда в регистр
3.) LXI <B, D, H>, <2-x байтное число > – записывает в регистровую пару HL число
4.) LDAX <B, D> – из ячейки, командный адрес которой находится в паре ВС или DE, число переносится в аккумулятор
5.) STAX <B, D> – перемещение из аккумулятора в пары ВС или DE
6.) LDA <адрес> – число указанное во втором и третьем байтах команды, извлекается из памяти во второй и третий байт адреса
7.) SDA <адрес> – из байтов адреса перемещается в байты команды
8.) LHLD <адрес> – содержимое двух ячеек памяти по указанному адресу переносятся в регистровую пару HL
9.) SHLD <адрес> – содержимое регистровой пары HL переносится в две ячейки памяти
10.) XCHC – обмен между HL и DE
Арифметические и логические команды
Арифметические и логические команды одноадресные. Если в операциях участвуют два операнда, то один из них находится в аккумуляторе и результат также помещается в регистр А. Основные логические операции – инкримент и декримент.
1.) ADD <A, … , M> – сложение
2.) ADC <A, … , M> – сложение с переносом
3.) SUB <A, … , M> – сложение с вычитанием
4.) SBB <A, … , M> – сложение с займом
5.) INR <A, … , M> – инкримент (увеличение на единицу)
6.) DCR <A, … , M> – декримент (уменьшение на единицу)
7.) INX <B, D, H>
8.) DCH < B, D, H >
9.) DAD <B, D, H, SP> – двойное сложение. К регисторной паре HL прибавляют содержимое другой регистровой пары
10.) ANA <A, … , M> – поразрядное логическое умножение
11.) ORA <A, … , M> – поразрядное логическое сложение
12.) XRA <A, … , M> –исключающее «ИЛИ»
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.