Вы находитесь на странице: 1из 8

1

Команды пересылки данных


Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
MOV r1, r2 r1 ← r2 Содержимое регистра r2 пересылается в регистр r1. 01DDDSSS 1 1 5 регистровая – – – – –
MOV r, M r ← (HL) Содержимое ячейки памяти, адрес которой хранится в 01DDD110 1 2 7 регистровая – – – – –
паре HL пересылается в регистр r. косвенная
MOV M, r (HL) ← r Содержимое регистра r пересылается в ячейку 01 110 SSS 1 2 7 регистровая – – – – –
памяти, адрес которой хранится в паре HL . косвенная
MVI r,data8 r ← data8 Содержимое второго байта команды (data8) 00DDD110 2 2 7 непосредствен – – – – –
пересылается в регистр r. ная
MVI M,data8 (HL) ← data8 Содержимое второго байта команды (data8) 00 110 110 2 3 10 непосредствен – – – – –
пересылается в ячейку памяти, адрес которой ная/регистр.кс
хранится в паре HL. венн.
LXI RP, data16 RP ← data16 Содержимое второго байта и третьего байта команды 00RP 0001 3 3 10 непосредствен – – – – –
(data16) пересылаются в регистровую пару RP. ная
LDA addr16 A ← (addr16) В аккумулятор А загружается содержимое ячейки 0011 1010 3 4 13 прямая – – – – –
памяти, адрес которой указан в команде (addr16).
STA addr16 (addr16) ← A Содержимое аккумулятора А пересылается в ячейку 0011 0010 3 4 13 прямая – – – – –
памяти, адрес которой указан в команде (addr16).
LHLD addr16 H ← (addr16) Содержимое ячейки памяти, адрес которой указан в 0010 1010 3 5 16 прямая – – – – –
L ← (addr16 +1) команде, пересылается в регистр Н. Содержимое
следующей ячейки памяти пересылается в регистр L.
SHLD addr16 (addr16) ← L Содержимое регистра L пересылается в ячейку памя- 0010 0010 3 5 16 прямая – – – – –
(addr16 +1) ← H ти, адрес которой указан в команде. Содержимое
регистра Н пересылается в следующую ячейку
памяти.
LDAX RP A ← (RP) В аккумулятор А загружается содержимое ячейки 00RP 0010 1 2 7 регистровая – – – – –
памяти, адрес которой находится в регистровой паре косвенная
RP В команде можно использовать пары BC и DE.
STAX RP (RP) ← A Содержимое аккумулятора А пересылается в ячейку 00RP 1010 1 2 7 регистровая – – – – –
памяти, адрес которой хранится в регистровой паре косвенная
RP. В команде можно использовать пары BC и DE.
XCHG HL ↔ DE Обмен содержимого регистровых пар HL и DE. 1110 1011 1 1 4 регистровая – – – – –
2

Команды арифметических и логических операций табл. 1


Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
ADD r A ←A + r Содержимое аккумулятора складывается с 1000 0 SSS 1 1 4 регистровая + + + + +
содержимым регистра r. Результат помещается в
аккумулятор.
ADD M A ← A + (HL) Содержимое аккумулятора складывается с 1000 0110 1 2 7 регистровая + + + + +
содержимым ячейки памяти, адрес которой хранится в косвенная
паре HL. Результат помещается в аккумулятор.
ADI data8 A ← A + data8 Содержимое аккумулятора складывается с 1100 0110 2 2 7 непосредствен + + + + +
содержимым второго байта команды (data8). ная
Результат помещается в аккумулятор.
ADC r A ←A + r + C Содержимое аккумулятора складывается с 1000 1 SSS 1 1 4 регистровая + + + + +
содержимым регистра r и флагом переноса С.
Результат помещается в аккумулятор.
ADC M A ← A + (HL) +C Содержимое аккумулятора складывается с 1000 1110 1 2 7 регистровая + + + + +
содержимым ячейки памяти, адрес которой хранится в косвенная
паре HL, и флагом переноса С. Результат помещается
в аккумулятор.
ACI data8 A ← A+ data8 +C Содержимое аккумулятора складывается с 1100 1110 2 2 7 непосредствен + + + + +
содержимым второго байта команды (data8) и флагом ная
переноса С. Результат помещается в аккумулятор.
SUB r A ←A – r Содержимое регистра r вычитается из содержимого 1001 0 SSS 1 1 4 регистровая + + + + +
аккумулятора. Результат помещается в аккумулятор.
SUB M A ← A – (HL) Содержимое ячейки памяти, адрес которой хранится в 1001 0110 1 2 7 регистровая + + + + +
паре HL, вычитается из аккумулятора. Результат косвенная
помещается в аккумулятор.
SUI data8 A ← A – data8 Содержимое второго байта команды вычитается из 1101 0110 2 2 7 непосредствен + + + + +
аккумулятора. Результат помещается в аккумулятор. ная
SBB r A ←A – r – C Содержимое регистра r и флага переноса вычитается 1001 1 SSS 1 1 4 регистровая + + + + +
из содержимого аккумулятора. Результат помещается
в аккумулятор.
SBB M A ← A – (HL) – C Содержимое ячейки памяти, адрес которой хранится в 1001 1110 1 2 7 регистровая + + + + +
паре HL, и флаг переноса вычитаются из косвенная
аккумулятора. Результат помещается в аккумулятор.
SBI data8 A ← A – data8 –C Содержимое второго байта команды и флаг переноса 1101 1110 2 2 7 непосредствен + + + + +
вычитаются из аккумулятора. Результат помещается в ная
аккумулятор.
3

продолжение табл. 1
Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
INR r r ←r + 1 Содержимое регистра r увеличивается на 1. 00DDD100 1 1 5 регистровая + + + + –
INR M (HL) ← (HL) + 1 Содержимое ячейки памяти, адрес которой хранится в 0011 0100 1 3 10 регистровая + + + + –
паре HL, увеличивается на 1. косвенная
DCR r r ←r – 1 Содержимое регистра r уменьшается на 1. 00DDD101 1 1 5 регистровая + + + + –
DCR M (HL) ← (HL) – 1 Содержимое ячейки памяти, адрес которой хранится в 0011 0101 1 3 10 регистровая + + + + –
паре HL, уменьшается на 1. косвенная
INX RP RP ← RP + 1 Содержимое регистровой пары RP увеличивается на 00RP 0011 1 1 5 регистровая – – – – –
1.
DCX RP RP ← RP – 1 Содержимое регистровой пары RP уменьшается на 1. 00RP 1011 1 1 5 регистровая – – – – –
DAD RP HL ← HL + RP Содержимое регистровой пары HL складывается с 00RP 1001 1 3 10 регистровая – – – – +
содержимым регистровой пары RP. Результат
помещается в пару HL.
DAA Десятичная Осуществляет коррекцию содержимого аккумулятора 0010 0111 1 1 4 регистровая + + + + +
коррекция следующим образом:
• если значение младшей тетрады
аккумулятора
аккумулятора больше 9 или установлен флаг АС, к
аккумулятору добавляется число 6;
• если значение старшей тетрады
аккумулятора больше 9 или установлен флаг С, к
старшей тетраде аккумулятора добавляется число 6.
ANA r A ←A Λ r Содержимое регистра r логически умножается на 10100 SSS 1 1 4 регистровая + + + + 0
содержимое аккумулятора. Результат заносится в
аккумулятор.
ANA M A ← A Λ (HL) Содержимое ячейки памяти, адрес которой хранится в 1010 0110 1 2 7 регистровая + + + + 0
паре HL, логически умножается на содержимое косвенная
аккумулятора. Результат заносится в аккумулятор.
ANI data8 A ← A Λ data8 Содержимое второго байта команды (data8) логически 1110 0110 1 2 7 непосредствен + + + + 0
умножается на содержимое аккумулятора. Результат ная
заносится в аккумулятор.
4

продолжение табл. 1
Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
ORA r A ←A V r Логическое сложение содержимого регистра r и 10110 SSS 1 1 4 регистровая + + 0 + 0
аккумулятора. Результат заносится в аккумулятор.
ORA M A ← A V (HL) Логическое сложение аккумулятора и ячейки памяти, 1011 0110 1 2 7 регистровая + + 0 + 0
адрес которой хранится в паре HL. Результат косвенная
заносится в аккумулятор.
ORI data8 A ← A V data8 Логическое сложение второго байта команды и 1111 0110 1 1 4 непосредствен + + 0 + 0
аккумулятора. Результат заносится в аккумулятор. ная
XRA r A ←A ⊕ r Выполнение операции исключающего “или” над 10101 SSS 1 1 4 регистровая + + 0 + 0
содержимым регистра r и аккумулятора. Результат
заносится в аккумулятор.
XRA M A ← A ⊕ (HL) Выполнение операции исключающего “или” над 1010 1110 1 2 7 регистровая + + 0 + 0
содержимым аккумулятора и ячейки памяти, адрес косвенная
которой хранится в паре HL. Результат заносится в
аккумулятор.
XRI data8 A ← A V data8 Выполнение операции исключающего “или” над 1110 1110 1 2 7 непосредствен + + 0 + 0
содержимым второго байта команды и аккумулятора. ная
Результат заносится в аккумулятор.
CMP r A–r Сравнение содержимого аккумулятора и регистра r. 10111 SSS 1 1 4 регистровая + + + + +
Результат вычитания никуда не записывается.
Результат сравнения оценивается по состоянию
флагов условий.
CMP M A – (HL) Сравнение содержимого аккумулятора и ячейки 1011 1110 1 2 7 регистровая + + + + +
памяти, адрес которой хранится в паре HL. Результат косвенная
вычитания никуда не записывается. Результат
сравнения оценивается по состоянию флагов условий.
CPI data8 A–r Сравнение содержимого аккумулятора и второго 1111 1110 1 2 7 непосредствен + + + + +
байта команды. Результат вычитания никуда не ная
записывается. Результат сравнения оценивается по
состоянию флагов условий.
5

продолжение табл. 1
Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
RLC An+1 ← An Циклический сдвиг влево. Содержимое аккумулятора 0000 0111 1 1 4 регистровая – – – – +
A0 ← A7 сдвигается влево на один разряд. В младший разряд и
C ← A7 во флаг С заносится содержимое старшего разряда.
RRC An ← An+1 Циклический сдвиг вправо. Содержимое 0000 1111 1 1 4 регистровая – – – – +
A7 ← A0 аккумулятора сдвигается вправо на один разряд. В
C ← A0 старший разряд и во флаг С заносится содержимое
младшего разряда.
RAL An+1 ← An Циклический сдвиг влево через перенос. Содержимое 0001 0111 1 1 4 регистровая – – – – +
C ← A7 аккумулятора сдвигается влево на один разряд через
A0 ← C флаг переноса. В младший разряд заносится
содержимое флага переноса, а во флаг переноса –
значение старшего разряда.
RAR An ← An+1 Циклический сдвиг вправо через перенос. 0001 1111 1 1 4 регистровая – – – – +
C ← A0 Содержимое аккумулятора сдвигается вправо на один
A7 ← C разряд через флаг переноса. В старший разряд
заносится содержимое флага переноса, а во флаг
переноса – значение младшего разряда.
CMA A← A Инверсия содержимого аккумулятора. 0010 1111 1 1 4 регистровая – – – – –
CMC C←C Инверсия флага переноса. 0011 1111 1 1 4 регистровая – – – – +
STC C ←1 Установка флага переноса в 1. 0011 0111 1 1 4 регистровая – – – – 1
6

Команды переходов табл. 2


Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
JMP addr16 PC ← addr16 Безусловный переход. В программный счетчик 1100 0011 3 3 10 непосредствен – – – – –
загружается содержимое второго и третьего байта ная
команды.
Jcond addr16 если cond: Условный переход. Если указанное условие истинно, 11ССС010 3 3 10 непосредствен – – – – –
PC ← addr16 то управление передается команде, адрес которой ная
иначе: PC=PC+1 указан во втором и третьем байтах команды. В
противном случае управление передается следующей
команде.
CALL addr16 (SP-1) ← PCH Безусловный вызов подпрограммы. Содержимое 1100 1101 3 5 17 непосредствен – – – – –
программного счетчика сохраняется в стеке (адрес ная/рег.
(SP-2) ← PCL
возврата). Управление передается команде, адрес косвенная
SP ← SP-2 которой указан в команде (addr16)..
PC ← addr16
Ccond addr16 если cond: Условный вызов подпрограммы. Если указанное 11CCC100 3 3/5 11 непосредствен – – – – –
условие истинно, то команда выполняется также как и 17 ная/рег.
выполняется как
команда CALL. В противном случае управление косвенная
CALL. передается следующей команде.
Иначе:PC=PC+1
RET PCL ← (SP) Безусловный возврат из подпрограммы. Адрес 1100 1001 1 3 10 регистровая – – – – –
возврата из подпрограммы восстанавливается из стека косвенная
PCH ← (SP+1)
и записывается в счетчик команд.
SP ← SP+2
Rcond если cond: Условный возврат из подпрограммы. Если указанное 11CCC000 1 1/ 5/ регистровая – – – – –
условие истинно, то команда выполняется также как и косвенная
выполняется как 3 11
команда RET. В противном случае управление
RET передается следующей команде.
Иначе:PC=PC+1
RST n (SP-1) ← PCH Команда рестарта (программное.прерывание). Адрес 11NNN111 1 3 11 регистровая – – – – –
возврата сохраняется в стеке. Управление передается косвенная
(SP-2) ← PCL
команде, адрес которой определяется как NNN*8.
SP ← SP-2
PC ← 8 * NNN
PCHL PC ← HL Содержимое регистровой пары HL заносится в 1110 1001 1 1 5 регистровая – – – – –
программный счетчик.
7

Команды работы со стеком, ввода-вывода и управления процессором. табл. 3


Ц Т
Мнемоника Действие Комментарий Формат Б и а Адресация Флаги
а
й к к
т л т
ы ы ы S Z AC P C
PUSH RP (SP-1) ← RH Содержимое регистровой пары сохоаняется в стеке. 11RP 0101 1 3 11 регистровая – – – – –
(SP-2) ← RL косвенная
SP ← SP-2
PUSH PSW (SP-1) ← A Содержимое аккумулятора и регистра флагов 1111 0101 1 3 11 регистровая – – – – –
(SP-2) ← F сохраняется в стеке. косвенная
SP ← SP-2
POP RP RL ← (SP) Содержимое регистровой пары восстанавливается из 11RP 0001 1 3 10 регистровая – – – – –
RH ←(SP+1) стека. косвенная
SP ← SP+2
POP PSW F ← (SP) Содержимое аккумулятора и регистра флагов 1111 1001 1 3 10 регистровая + + + + +
A ← (SP+1) восстанавливается из стека. косвенная
SP ← SP+2
XTHL L ↔ (SP) Обмен верхушки стека с регистровой парой HL. 1110 0011 1 5 18 регистровая – – – – –
H ↔ (SP+1) косвенная
SPHL SP ← HL Содержимое регистровой пары HL записывается в 1111 0001 1 1 5 регистровая – – – – –
регистр указателя стека.
IN addr8 A ← (addr8) Данные из порта с указанным адресом считываются в 1101 1011 2 3 10 прямая – – – – –
аккумулятор.
OUT addr8 (addr8) ← A Данные из аккумулятора пересылаются в порт с 1101 0011 2 3 10 прямая – – – – –
указанным адресом.
EI разрешить Прерывания разрешаются с момента выполнения 1111 1011 1 1 4 – – – – –
прерывания следующей команды.
DI запретить Прерывания запрещаются с начала выполнения 1111 0011 1 1 4 – – – – –
прерывания команды DI.
HLT останов Процессор останавливается. Вывести из этого 0111 0110 1 1 7 – – – – –
состояния его может только прерывание или сигнал
сброса.
NOP пустая операция Не выполняет никаких действий. 0000 0000 1 1 4 – – – – –
8

Оценить