В данном разделе приводится описание всех команд МП i8080A разделенных на пять групп. При описании использованы следующие символы и сокращения:
Символ
|
Значение
|
ADDR
|
16-битовый адрес
|
DATA8
|
8-битовые данные
|
DATA16
|
16-битовые данные
|
PORT
|
8-битовый адрес УВВ
|
byte2
|
Второй байт команды
|
byte3
|
Третий байт команды
|
R, R1, R2
|
Один из регистров: A, B, C, D, E, H, L
|
RP
|
Одна из регистровых пар:
B задает пару B:C;
D задает пару D:E;
H задает пару H:L
|
RH
|
Старший регистр пары
|
RL
|
Младший регистр пары
|
PC
|
16-битный счетчик команд
|
SP
|
16-битный указатель стека
|
[ ]
|
Содержимое ячейки памяти или R
|
<—
|
Оператор пересылки
|
/\
|
Логическое И
|
-\/
|
Исключающее ИЛИ
|
\/
|
Логическое ИЛИ
|
+
|
Сложение
|
-
|
Вычитание
|
*
|
Умножение
|
<—>
|
Оператор обмена
|
/
|
Обратный код
|
КОМАНДЫ ПЕРЕСЫЛКИ ДАННЫХ
Команды этой группы служат для пересылки данных между регистрами, а также между регистрами и ячейками памяти. Эти команды не оказывают воздействия на регистр признаков.
MOV R1, R2 (Пересылка регистровая)
R1 <— R2
Содержимое регистра R2 пересылается в регистр R1.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: не изменяются
MOV R, M (Пересылка из памяти)
R <— [H:L]
Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, пересылается в регистр R.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: не изменяются
MOV M, R (Пересылка в память)
[H:L] <— R
Содержимое регистра R пересылается в ячейку памяти, адрес которой содержится в регистрах H и L.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: не изменяются
MVI R, DATA8 (Пересылка непосредственная)
R <— DATA8
Содержимое второго байта (DATA8) команды пересылается в регистр R.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: не изменяются
MVI M, DATA8 (Пересылка в память непосредственная)
[H:L] <— DATA8
Содержимое второго байта (DATA8) команды пересылается в ячейку памяти, адрес которой находится в регистрах H и L.
Машинные циклы: 3
Машинные такты: 10
Адресация: непосредственная/косвенно-регистровая
Признаки: не изменяются
LXI RP, DATA16 (Загрузка регистровой пары непосредственная)
RH <-- byte3
RL <— byte2
Содержимое третьего байта команды загружается в старший регистр пары RP, а содержимое второго байта - в младший регистр пары RP.
Машинные циклы: 3
Машинные такты: 10
Адресация: непосредственная
Признаки: не изменяются
LDA ADDR (Прямая загрузка аккумулятора)
A <-- [ADDR]
Содержимое ячейки памяти, адрес которой находится во втором и третьем байтах (ADDR) команды загружается в аккумулятор.
Машинные циклы: 4
Машинные такты: 13
Адресация: прямая
Признаки: не изменяются
STA ADDR (Прямое запоминание аккумулятора)
[ADDR] <-- A
Содержимое аккумулятора записывается в ячейку памяти, адрес которой находится во втором и третьем байтах (ADDR) команды.
Машинные циклы: 4
Машинные такты: 13
Адресация: прямая
Признаки: не изменяются
LHLD ADDR (Прямая загрузка регистров H и L)
L <— [ADDR]
H <— [ADDR + 1]
Содержимое ячейки памяти, адрес которой расположен во втором и третьем байтах (ADDR) команды, загружается в регистр L. Содержимое следующей ячейки памяти загружается в регистр H.
Машинные циклы: 5
Машинные такты: 16
Адресация: прямая
Признаки: не изменяются
SHLD ADDR (Прямое запоминание регистров H и L)
[ADDR] <-- L
[ADDR+1] <— H
Содержимое регистра L записывается в ячейку памяти, адрес которой расположен во втором и третьем байтах (ADDR) команды, содержимое регистра H записывается в следующую ячейку памяти.
Машинные циклы: 5
Машинные такты: 16
Адресация: прямая
Признаки: не изменяются
LDAX RP (Косвенная загрузка аккумулятора)
A <— [RP]
Содержимое ячейки памяти, адрес которой расположен в регистровой паре RP, загружается в аккумулятор.
Примечание: могут использоваться только регистровые пары B:C и D:E.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: не изменяются
STAX RP (Косвенное запоминание аккумулятора)
[RP] <-- А
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой находится в регистровой паре RP.
Примечание: могут использоваться только регистровые пары B:C и D:E.
Машинные циклы: 2
Машинные такты: 7
Адресация: регистровая
Признаки: не изменяются
XCHG (Обмен между регистрами H, L и D, E)
H <—> D
L <—> E
Регистровые пары H:L и D:E обмениваются содержимым.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: не изменяются
АРИФМЕТИЧЕСКИЕ КОМАНДЫ
Команды этой группы выполняют арифметические операции над данными в регистрах и памяти. Данный тип команд воздействует на флаги состояния стандартным образом (кроме особо указанных случаев).
ADD R (Регистровое сложение)
А <— А + R
Содержимое регистра R складывается с содержимым аккумулятора. Результат операции записывается в аккумулятор.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,AC
ADD M (Сложение с памятью)
А <— А+[H:L]
Содержимое ячейки памяти, адрес которой расположен в регистровой паре H:L, складывается с содержимым аккумулятора. Результат операции записывается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
ADI DATA8 (Непосредственное сложение)
А <— А + DATA8
Содержимое второго байта (DATA8) команды складывается с содержимым аккумулятора. Результат записывается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
ADC R (Регистровое сложение с переносом)
А <-- A + R + CY
Содержимое регистра R и признака переноса CY складывается с содержимым аккумулятора. Результат помещается в аккумулятор.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
ADC M (Сложение памяти с переносом)
А <— А + [H:L] + CY
Содержимое ячейки памяти, адрес которой расположен в регистровой паре H:L, складывается с содержимым аккумулятора и признаком переноса CY. Результат помещается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
ACI DATA8 (Непосредственное сложение с переносом)
A <-- A + DATA8 + CY
Содержимое второго байта (DATA8) команды складывается с содержимым аккумулятора и признаком переноса CY. Результат помещается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
SUB R (Регистровое вычитание)
A <— A - R
Содержимое регистра R вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
SUB M (вычитание памяти)
A <— A - [H:L]
Содержимое ячейки памяти, адрес которой находится в регистровой паре H:L, вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
SUI DATA8 (Непосредственное вычитание)
A <-- A - DATA8
Содержимое второго байта (DATA8) команды вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
SBB R (Регистровое вычитание с заёмом)
A <— A - R - CY
Содержимое регистра R и содержимое признака переноса CY вычитаются из аккумулятора. Результат помещается в аккумулятор.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
SBB M (Вычитание памяти с заёмом)
A <— A - [H:L] - CY
Содержимое ячейки памяти, адрес которой расположен в регистровой паре H:L, и содержимое признака переноса CY вычитаются из содержимого аккумулятора.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
SBI DATA8 (Непосредственное вычитание с заёмом)
А <— A - DATA8 - CY
Содержимое второго байта (DATA8) команды и содержимое признака переноса CY вычитаются из содержимого аккумулятора. Результат помещается в аккумулятор.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
INR R (Увеличение регистра)
R <— R + 1
Содержимое регистра R увеличивается на 1.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: Z,S,P,АС
INR M (Увеличение памяти)
[H:L] <— [H:L] + 1
Содержимое ячейки памяти, адрес которой расположен в регистровой паре H:L увеличивается на 1.
Машинные циклы: 3
Машинные такты: 10
Адресация: косвенно-регистровая
Признаки: Z,S,P,АС
DCR R (Уменьшение регистра)
R <— R - 1
Содержимое регистра уменьшается на 1.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: Z,S,P,АС
DCR M (Уменьшение памяти)
[H:L] <— [H:L] - 1
Содержимое ячейки памяти, адрес которой расположен в регистровой паре H:L, уменьшается на 1.
Машинные циклы: 3
Машинные такты: 10
Адресация: косвенно-регистровая
Признаки: Z,S,P,АС
INX RP (Увеличение регистровой пары)
RH:RL <— RH:RL + 1
Содержимое регистровой пары RP увеличивается на 1.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: не изменяются
DCX RP (Уменьшение регистровой пары)
RH:RL <— RH:RL - 1
Содержимое регистровой пары RP уменьшается на 1.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: не изменяются
DAD RP (Сложение регистровой пары с парой H, L)
H:L <-- H:L + RH:RL
Содержимое регистровой пары RP складывается с содержимым регистровой пары H:L. Результат помещается в регистровую пару H:L.
Машинные циклы: 3
Машинные такты: 10
Адресация: регистровая
Признаки: CY
DAA (Десятичная коррекция аккумулятора)
Восьмиразрядное число, содержащееся в аккумуляторе, переводится в формат двух четырехразрядных десятичных цифр в двоичном представлении следующим образом:
Если значение четырех младших разрядов аккумулятора больше 9 или если установлен признак АС, к содержимому аккумулятора добавляется число 6.
Если значение четырех старших разрядов аккумулятора больше 9 или если установлен признак CY, число 6 прибавляется к старшим четырем разрядам аккумулятора.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
ЛОГИЧЕСКИЕ КОМАНДЫ
Команды этой группы выполняют логические (булевские) операции над данными в регистрах и ячейках памяти. Кроме особо упомянутых случаев, все команды воздействуют на признаки.
ANA R (Регистровая операция "и")
A <— A /\ R
Выполняется операция логического "и" над содержимым регистра R и аккумулятора. Результат помещается в аккумулятор. Признак CY устанавливается в 0.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
ANA M (Операция "и" над памятью)
А <— А /\ [H:L]
Выполняется операция логического "и" над содержимым аккумулятора и ячейки памяти, адрес которой расположен в регистровой паре H:L. Результат помещается в аккумулятор. Признак CY устанавливается в 0.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
ANI DATA8 (Непосредственная операция "и")
A <— A /\ DATA8
Выполняется операция логического "и" над содержимым второго байта (DATA8) команды и содержимым аккумулятора. Результат помещается в аккумулятор. Признаки CY и AC устанавливаются в 0.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
XRA R (Регистровая операция "исключающее или")
А <— А -\/ R
Выполняется операция "исключающее или" над содержимым регистра R и содержимым аккумулятора. Результат помещается в аккумулятор. Признаки CY и АС устанавливаются в 0.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
XRA M (Операция "исключающее или над памятью)
А <— А -\/ [H:L]
Выполняется операция "исключающее или" над содержимым аккумулятора и содержимым ячейки памяти, адрес которой расположен в регистровой паре H:L. Результат помещается в аккумулятор. Признаки CY и АС устанавливаются в 0.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
XRI DATA8 (Непосредственная операция "исключающее или")
A <— A -\/ DATA8
Выполняется операция "исключающее или" над содержимым второго байта (DATA8) команды и содержимым аккумулятора. Результат помещается в аккумулятор. Признаки CY и AC устанавливаются в 0.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
ORA R (Регистровая операция "или")
A <— A \/ R
Выполняется операция логического "или" над содержимым регистра и содержимым аккумулятора. Результат помещается в аккумулятор. Признаки CY и AC устанавливаются в 0.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
ORA M (Операция "или" над памятью)
А <— А \/ [H:L]
Выполняется операция логического "или" над содержимым аккумулятора и содержимым ячейки памяти, адрес которой расположен в регистровой паре H:L. Результат помещается в аккумулятор. Признаки CY и AC устанавливаются в 0.
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
ORI DATA8 (Непосредственная операция " или ")
А <— A V DATA8
Выполняется операция логического "или" над содержимым второго байта (DATA8) команды и содержимым аккумулятора. Результат помещается в аккумулятор. Признаки CY и AC устанавливаются в 0.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная.
Признаки: Z,S,P,CY,АС
CMP R (Регистровое сравнение)
А - R
Содержимое регистра R вычитается из содержимого аккумулятора. Содержимое аккумулятора остается без изменений. Признак Z устанавливается в 1, если А = R. Признаки CY и S устанавливаются в 1, если А < R.
Машинные циклы: 1
Машинные такты: 4
Адресация: регистровая
Признаки: Z,S,P,CY,АС
CMP M (Сравнение памяти)
А - [H:L]
Содержимое ячейки памяти, адрес которой находится в регистровой паре H:L, вычитается из содержимого аккумулятора. Содержимое аккумулятора остается без изменений. Признак Z устанавливается в 1, если A = [H:L]. Признаки CY и S устанавливаются в 1, если A < [H:L].
Машинные циклы: 2
Машинные такты: 7
Адресация: косвенно-регистровая
Признаки: Z,S,P,CY,АС
CPI DATA8 (Непосредственное сравнение)
A - DATA8
Содержимое второго байта команды (DATA8) вычитается из содержимого аккумулятора. Содержимое аккумулятора остается без изменений. Признак Z устанавливается в 1, если A = DATA8. Признаки CY и S устанавливаются в 1, если A < DATA8.
Машинные циклы: 2
Машинные такты: 7
Адресация: непосредственная
Признаки: Z,S,P,CY,АС
RLC (Циклический сдвиг влево)
AN+1 <— AN; A0 <— A7; CY <— A7
Содержимое аккумулятора сдвигается циклически на один разряд влево.
Машинные циклы: 1
Машинные такты: 4
Признаки: CY
RRC (Циклический сдвиг вправо)
AN <— AN+1; A7 <— A0; CY <— A0
Содержимое аккумулятора сдвигается циклически на один разряд вправо.
Машинные циклы: 1
Машинные такты: 4
Признаки: CY
RAL (Циклический сдвиг влево через признак переноса)
AN+1 <— AN; A0 <— CY; CY <— A7
Содержимое аккумулятора сдвигается влево на один разряд через признак переноса CY.
Машинные циклы: 1
Машинные такты: 4
Признаки: CY
RAR (Циклический сдвиг вправо через признак переноса)
AN <— AN+1; A7 <— CY; CY <— A0
Содержимое аккумулятора сдвигается вправо на один разряд через признак переноса CY.
Машинные циклы: 1
Машинные такты: 4
Признаки: CY
CMA (Обратный код аккумулятора)
A <— A/
Инвертирует содержимое аккумулятора.
Машинные циклы: 1
Машинные такты: 4
Признаки: не изменяются
CMC (Обратный код признака переноса)
CY <— CY/
Инвертирует значение признака переноса CY.
Машинные циклы: 1
Машинные такты: 4
Признаки: CY
STC (Установить признак переноса)
CY <— 1
Признак переноса устанавливается в 1.
Машинные циклы: 1
Машинные такты: 4
Признаки: CY
КОМАНДЫ ПЕРЕХОДА
Команды этой группы прерывают последовательное выполнение команд микропроцессора. Ни одна из команд перехода не воздействует на признаки состояния.
JMP ADDR (Безусловный переход)
PC <— ADDR
Передает управление команде, адрес которой находится во втором и третьем байтах (ADDR) текущей команды.
Машинные циклы: 3
Машинные такты: 10
Адресация: непосредственная
Признаки: не изменяются
JCONDITION ADDR (Условный переход)
if (CONDITION) PC <— ADDR
Если условие истинно, то управление передается команде, адрес которой находится во втором и третьем байтах (ADDR) текущей команды, в противном случае выполняется команда, следующая за данной.
JZ ADDR
|
Переход по адресу ADDR, если Z=1
|
JNZ ADDR
|
Переход по адресу ADDR, если Z=0
|
JP ADDR
|
Переход по адресу ADDR, если S=0
|
JM ADDR
|
Переход по адресу ADDR, если S=1
|
JC ADDR
|
Переход по адресу ADDR, если CY=1
|
JNC ADDR
|
Переход по адресу ADDR, если CY=0
|
JPE ADDR
|
Переход по адресу ADDR, если P=1
|
JPO ADDR
|
Переход по адресу ADDR, если P=0
|
Машинные циклы: 3
Машинные такты: 10
Адресация: непосредственная/косвенно-регистровая
Признаки: не изменяются
CALL ADDR (Вызов подпрограммы)
[SP - 1] <— PCH
[SP - 2] <— PCL
SP <— SP - 2
PC <— ADDR
Управление передается команде, адрес которой определяется вторым и третьим байтами (ADDR) текущей команды. Адрес возврата из подпрограммы сохраняется в стеке.
Машинные циклы: 5
Машинные такты: 17
Адресация: непосредственная/косвенно-регистровая
Признаки: не изменяются
СCONDITON ADDR (Условный вызов подпрограммы)
if (CONDITION)
[SP - 1] <— PCH
[SP - 2] <— PCL
SP <— SP - 2
PC <— ADDR
Если условие истинно, то команда выполняется аналогично команде CALL (см. выше); в противном случае управление передается на следующую команду.
CZ ADDR
|
Вызвать подпрограмму по адресу ADDR, если Z=1
|
СNZ ADDR
|
Вызвать подпрограмму по адресу ADDR, если Z=0
|
СP ADDR
|
Вызвать подпрограмму по адресу ADDR, если S=0
|
СM ADDR
|
Вызвать подпрограмму по адресу ADDR, если S=1
|
CC ADDR
|
Вызвать подпрограмму по адресу ADDR, если CY=1
|
CNC ADDR
|
Вызвать подпрограмму по адресу ADDR, если CY=0
|
CPE ADDR
|
Вызвать подпрограмму по адресу ADDR, если P=1
|
CPO ADDR
|
Вызвать подпрограмму по адресу ADDR, если P=0
|
Машинные циклы: 3/5
Машинные такты: 11/17
Адресация непосредственная/ косвенно-регистровая
Признаки: не изменяются
RET (Возврат из подпрограммы)
PCL <— [SP]
PCH <— [SP+1]
SP <— SP + 2
Управление передается по адресу возврата, который находится в стеке по адресу, определяемому содержимым регистра SP.
Машинные циклы: 3
Машинные такты: 10
Адресация: косвенно-регистровая
Призаки: не изменяются
RCONDITION (Условный возврат из подпрограммы)
if (CONDITION)
PCL <— [SP]
PCH <— [SP + 1]
SP <— SP + 2
Если условие истинно, то команда выполняется аналогично команде RET, в противном случае управление передается на следующую команду.
RZ
|
Возврат из подпрограммы, если Z=1
|
RNZ
|
Возврат из подпрограммы, если Z=0
|
RP
|
Возврат из подпрограммы, если S=0
|
RM
|
Возврат из подпрограммы, если S=1
|
RC
|
Возврат из подпрограммы, если C=1
|
RNC
|
Возврат из подпрограммы, если C=0
|
RPE
|
Возврат из подпрограммы, если P=1
|
RPO
|
Возврат из подпрограммы, если P=0
|
Машинные циклы: 1/3
Машинные такты: 5/11
Адресация: косвенно-регистровая
Признаки: не изменяются
RST N (Программное прерывание)
[SP - 1] <— PCH
[SP - 2] <— PCL
SP <— SP - 2
PC <— 8*N
Управление передается команде, адрес которой определяется как 8*N. Адрес возврата сохраняется в стеке.
Машинные циклы: 3
Машинные такты: 11
Адресация: косвенно-регистровая
Признаки: не изменяются
PCHL (Косвенный переход по регистрам H и L - занесение регистровой пары H:L в регистр PC)
PCH <— H
PCL <— L
Содержимое регистра Н заносится в старшие восемь разрядов регистра PC. Содержимое регистра L заносится в младшие восемь разрядов регистра PC.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: не изменяются
КОМАНДЫ УПРАВЛЕНИЯ СТЕКОМ, ВВОДОМ-ВЫВОДОМ И СОСТОЯНИЯМИ ПРОЦЕССОРА
Команды этой группы выполняют операции ввода-вывода, управляют стеком.
PUSH RP (Загрузка в стек)
[SP - 1] <— RH
[SP - 2] <— RL
SP <— SP - 2
Содержимое старшего регистра регистровой пары RP записывается в ячейку памяти, адрес которой на 1 меньше содержимого регистра SP. Содержимое младшего регистра регистровой пары RP записывается в ячейку памяти, адрес которой на 2 меньше содержимого регистра SP. Содержимое SP уменьшается на 2.
Машинные циклы: 3
Машинные такты: 11
Адресация: косвенно-регистровая
Признаки: не изменяются
PUSH PSW (Загрузка в стек слова состояния микропроцессора)
[SP - 1] <— А
[SP - 2]D0 <— CY
[SP - 2]D1 <— 1
[SP - 2]D2 <— P
[SP - 2]D3 <— 0
[SP - 2]D4 <— AC
[SP - 2]D5 <— 0
[SP - 2]D6 <— Z
[SP - 2]D7 <— S
SP <— SP - 2
Содержимое аккумулятора помещается в ячейку памяти, адрес которой на 1 меньше содержимого регистра SP. Содержимое регистра признаков помещается в ячейку памяти, адрес которой на 2 меньше содержимого регистра SP. Содержимое SP уменьшается на 2.
Машинные циклы: 3
Машинные такты: 11
Адресация: косвенно-регистровая
Признаки: не изменяются
POP RP (Выгрузка из стека)
RL <— [SP]
RH <— [SP + 1]
SP <— SP + 2
Содержимое ячейки памяти, адрес которой находится в регистре SP, записывается в младший регистр регистровой пары RP. Содержимое ячейки памяти, адрес которой на 1 больше содержимого регистра SP, записывается в старший регистр регистровой пары RP. Содержимое регистра SP увеличивается на 2.
Машинные циклы: 3
Машинные такты: 10
Адресация: косвенно-регистровая
Признаки: не изменяются
POP PSW (Выгрузка из стека слова состояния микропроцессора)
CY <— [SP]D0
P <— [SP]D2
АС <— [SP]D4
Z <— [SP]D6
S <— [SP]D7
А <— [SP + 1]
SP <— SP + 2
Содержимое ячейки памяти, адрес которой определяется содержимым регистра SP, используется для восстановления содержимого регистра признаков. Содержимое ячейки памяти, адрес которой на 1 больше содержимого регистра SP, помещается в аккумулятор. Содержимое регистра SP увеличивается на 2.
Машинные циклы: 3
Машинные такты: 10
Адресация: косвенно-регистровая
Признаки: CY,P,AC,Z,S
XTHL (Обмен верхушки стека с регистровой парой H:L)
L <—> [SP]
H <—> [SP + 1]
Регистр L обменивается содержимым с ячейкой памяти, адрес которой находится в регистре SP. Регистр Н обменивается содержимым с ячейкой памяти, адрес которой на 1 больше содержимого регистра SP.
Машинные циклы: 5
Машинные такты: 18
Адресация: косвенно-регистровая
Признаки: не изменяются
SPHL (Запись регистровой пары H:L в SP)
SP <— H:L
Содержимое регистров H и L заносится в регистр SP.
Машинные циклы: 1
Машинные такты: 5
Адресация: регистровая
Признаки: не изменяются
IN PORT (Ввод)
А <— [PORT]
Данные из указанного порта (PORT), записываются в аккумулятор.
Машинные циклы: 3
Машинные такты: 10
Адресация: прямая
Признаки: не изменяются
OUT PORT (Вывод)
PORT <— А
Содержимое аккумулятора передается в указанный порт (PORT).
Машинные циклы: 3
Машинные такты: 10
Адресация: прямая
Признаки: не изменяются
EI (Разрешить прерывания)
Прерывания разрешаются со следующей команды.
Машинные циклы: 1
Машинные такты: 4
Признаки: не изменяются
DI (Запретить прерывания)
Прерывания запрещаются с начала обработки команды DI.
Машинные циклы: 1
Машинные такты: 4
Признаки: не изменяются
HLT (Останов)
Процессор останавливается. Содержимое регистров и признаков не изменяется.
Машинные циклы: 1
Машинные такты: 7
Признаки: не изменяются
NOP (Пустая операция)
Пустая операция. Содержимое регистров и признаков не изменяется.
Машинные циклы: 1
Машинные такты: 4
Признаки: не изменяются
|