| Мнемоника
| Описание команды
| Код команды
| Длина
Коман-
ды,
байт
| Число
Тактов
| Флаги условий
|
| D7
| D6
| D5
| D4
| D3
| D2
| D1
| D0
| S Z AC P CY
|
| MOV R1, R2
| Передача из регистра R2
в регистр R1
|
|
| D
| D
| D
| S
| S
| S
|
|
| - - - - -
|
| MOV M, R
| Передача из регистра в
память
|
|
|
|
|
| S
| S
| S
|
|
| - - - - -
|
| MOV R, M
| Передача из памяти в
регистр
|
|
| D
| D
| D
|
|
|
|
|
| - - - - -
|
| MVI R
| Передача байта в регистр
|
|
| D
| D
| D
|
|
|
|
|
| - - - - -
|
| MVI M
| Передача байта в память
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| LXI RP
| Загрузка парных
регистров B-C, D-E, H-L,
S-P
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| LDAX RP
| Загрузка аккумулятора
По адресу, указанному
Парой регистров B-C или
D-E
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| STAX RP
| Занесение содержимого
аккумулятора по адресу,
указанному парой
регистров B-C или D-E
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| LDA
| Загрузка аккумулятора
по адресу, указанному в
команде
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| STA
| Занесение содержимого
аккумулятора по адресу,
указанному в команде
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| LHLD
| Загрузка регистров L, H
из двух соседних ячеек,
начиная с адреса,
указанного в команде
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| SHLD
| Занесение содержимого
регистров L, H в две
соседние ячейки,
начиная с адреса,
указанного в команде
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| XCHG
| Обмен данными между
парами регистров H-L и
D-E
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| XTHL
| Обмен данными между
SP и H-L
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| SPHL
| Занесение содержимого
регистра H-L в SP
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| PUSH RP
| Ввод содержимого
регистров B-C, D-E или
H-L в стэк
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| PUSH PSW
| Ввод PSW в стэк
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| POP RP
| Выдача данных из стека
в регистры В-С, D-E, H-L
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| POP PSW
| Выдача данных из стека
в аккумулятор и регистр
признаков
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| ADD R
| Сложение содержимого
регистра и аккумулятора
|
|
|
|
|
| S
| S
| S
|
|
| + + + + +
|
| ADC R
| То же, но с учётом
переноса CY
|
|
|
|
|
| S
| S
| S
|
|
| + + + + +
|
| ADD M
| Сложение содержимого
ячейки памяти и
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| ADC M
| То же, но с учётом
переноса CY
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| ADI
| Сложение байта с
содержимым
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| ACI
| Сложение байта с
содержимым
аккумулятора с учётом
переноса СУ
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| DAD RP
| Сложение содержимого
пар регистров В-С, D-E,
H-L, SP с содержимым
пары H-L
|
|
| R
| R
|
|
|
|
|
|
| - - - - +
|
| SUB R
| Вычитание содержимого
регистра из содержимого
аккумулятора
|
|
|
|
|
| S
| S
| S
|
|
| + + + + +
|
| SBB R
| То же, но с заёмом
|
|
|
|
|
| S
| S
| S
|
|
| + + + + +
|
| SUB M
| Вычитание содержимого
ячейки памяти из
содержимого
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| SBB M
| То же, но с заёмом
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| SUI
| Вычитание байта из
содержимого
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| SBI
| То же, но с учётом заёма
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| INR R
| Увеличение
содержимого регистра на
единицу
|
|
| D
| D
| D
|
|
|
|
|
| + + + + -
|
| INR M
| Увеличение
содержимого ячейки
памяти на единицу
|
|
|
|
|
|
|
|
|
|
| + + + + -
|
| DCR R
| Уменьшение
содержимого регистра на
единицу
|
|
| D
| D
| D
|
|
|
|
|
| + + + + -
|
| DCR M
| Уменьшение
содержимого ячейки
памяти на единицу
|
|
|
|
|
|
|
|
|
|
| + + + + -
|
| INX RP
| Увеличение
содержимого парных
регистров B-C, D-E, H-
L, SP на единицу
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| DCR RP
| Уменьшение
содержимого парных
регистров B-C, D-E, H-
L, SP на единицу
|
|
| R
| R
|
|
|
|
|
|
| - - - - -
|
| ANA R
| Поразрядное логическое
умножение содержимого
регистра и аккумулятора
|
|
|
|
|
| S
| S
| S
|
|
| + + 0 + 0
|
| ANA M
| Поразрядное логическое
умножение содержимого
ячейки памяти и
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + 0 + 0
|
| ANI
| Поразрядное логическое
умножение содержимого
аккумулятора и байта
|
|
|
|
|
|
|
|
|
|
| + + 0 + 0
|
| XRA R
| Поразрядное
исключающее ИЛИ над
содержимым регистра
или аккумулятора
|
|
|
|
|
| S
| S
| S
|
|
| + + 0 + 0
|
| XRA M
| Поразрядное
исключающее ИЛИ над
содержимым ячейки
памяти и аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + 0 + 0
|
| XRI
| Поразрядное
исключающее ИЛИ над
содержимым
аккумулятора и байтом
|
|
|
|
|
|
|
|
|
|
| + + 0 + 0
|
| ORA R
| Поразрядное логическое
сложение содержимого
регистра или
аккумулятора
|
|
|
|
|
| S
| S
| S
|
|
| + + 0 + 0
|
| ORA M
| Поразрядное логическое
сложение содержимого
ячейки памяти и
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + 0 + 0
|
| ORI
| Поразрядное логическое
сложение содержимого
ячейки памяти и
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + 0 + 0
|
| CMP R
| Сравнение содержимого
регистра и аккумулятора
|
|
|
|
|
| S
| S
| S
|
|
| + + + + +
|
| CMP M
| Сравнение содержимого
ячейки памяти и
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| CPI
| Сравнение байта с
содержимым
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| RLC
| Циклический сдвиг
содержимого
аккумулятора влево
|
|
|
|
|
|
|
|
|
|
| - - - - +
|
| RRC
| То же, но вправо
|
|
|
|
|
|
|
|
|
|
| - - - - +
|
| RAL
| Циклический сдвиг
содержимого
аккумулятора влево
через перенос
|
|
|
|
|
|
|
|
|
|
| - - - - +
|
| RAR
| То же, но вправо
|
|
|
|
|
|
|
|
|
|
| - - - - +
|
| CMA
| Инвертирование
Аккумулятора
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| STC
| Установка флага
переноса СУ в единицу
|
|
|
|
|
|
|
|
|
|
| - - - - 1
|
| CMC
| Инвертирование флага
переноса
|
|
|
|
|
|
|
|
|
|
| - - - -
|
| DAA
| Двоично-десятичная
коррекция содержимого
аккумулятора
|
|
|
|
|
|
|
|
|
|
| + + + + +
|
| JMP
| Безусловный переход
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JC
| Переход при наличие
переноса
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JNC
| Переход при отсутствии
переноса
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JZ
| Переход при нуле
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JNZ
| ««отсутствии нуля
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JP
| ««плюсе
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JM
| ««минусе
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JPE
| ««четносте
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| JPO
| ««нечетности
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| PCHL
| Занесение в счетчик
команд содержимого
регистра H-L
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| CALL
| Вызов подпрограммы
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| CC
| То же, но при переносе
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CNC
| То же, но при отсутствии
переноса
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CZ
| Вызов подпрограммы
при нуле
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CNZ
| То же, но при отсутствии
нуля
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CP
| Вызов подпрограммы
при плюсе
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CM
| То же, но при минусе
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CPE
| Вызов подпрограммы
при чётности
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| CPO
| То же, но при нечетности
|
|
|
|
|
|
|
|
|
| 11/17
| - - - - -
|
| RET
| Возврат
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| RC
| ««при ереносе
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RNC
| ««отсутствии
переноса
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RZ
| ««нуле
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RNZ
| ««отсутствии нуля
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RP
| ««плюсе
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RM
| ««минусе
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RPE
| ««четности
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RPO
| ««нечетности
|
|
|
|
|
|
|
|
|
| 5/11
| - - - - -
|
| RST
| Повторный запуск
|
|
| N
| N
| N
|
|
|
|
|
| - - - - -
|
| IN
| Ввод
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| OUT
| Вывод
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| EI
| Разрешить прерывание
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| DI
| Запретить прерывание
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| NOP
| Отсутствие операции
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| HLT
| Останов
|
|
|
|
|
|
|
|
|
|
| - - - - -
|
| Команда
| Описание операции
| B/M
| T
| T
| F
|
| Группа команд передачи данных
|
| MOV r1, r2
MOV r, M
MOV M, r
| r1 ← r2 { Move }
r ← M(rp H)
M(rp H) ← r
| 1/1
1/2
1/2
|
|
| -
-
-
|
| MVI r, d8
MVI M, d8
LXI rp, d16
| r ← d8 { M o v e i mmediate}
M(rp H) ← d8
rp ← d16, rp=B,D,H или SP { L oad i mmediate}
| 2/2
2/3
3/3
|
|
| -
-
-
|
| LDA addr
STA
| A ← M(addr) { L oad d irect a ccumulator}
M(addr) ←A { S tore d irect a ccumulator}
| 3/4
3/4
|
|
| -
-
|
| LHLD addr
SHLD addr
| L ←M(addr), H ← M(addr+1) { L oad H and L direct}
M(addr) ←L, M(addr+1) ← H { S tore H and L direct}
| 3/5
3/5
|
|
| -
-
|
| LDAX rp
STAX rp
| A ← M(rp), rp=B или D { L oa da ccumulator indirect}
M(rp) ←A, rp=B или D { St ore a ccumulator indirect}
| 1/2
1/2
|
|
| -
-
|
| XCHG
| H ↔ D, L ↔ E {Exchange}
| 1/1
|
|
| -
|
| Группа команд арифметических операций
|
| ADD r
ADI d8
ADD M
ADC r
ADC M
ACI d8
| A←A + r { Add }
A←A + d8 { Ad d i mmediate}
A←A + M(rp H)
A←A + r + CY { Ad d with c arry}
A←A + M(rp H) + CY
A←A + d8 + CY { A dd with c arry i mmediate}
| 1/1
2/2
1/2
1/1
1/2
2/2
|
|
| +
+
+
+
+
+
|
| SUB r
SUI d8
SUB M
SBB r
SBI d8
SBB M
| A←A – r { Sub tract }
A←A – d8 { Su btract i mmediate}
A←A – M(rp H)
A←A – r – CY { Su btract with b orrow}
A← A – d8 – CY
A← A – M(rp H) – CY { S u b tract i mmediate}
| 1/1
2/2
1/2
1/1
2/2
1/2
|
|
| +
+
+
+
+
+
|
| INR r
INR M
DCR r
DCR M
INX rp
DCX rp
| r ← r + 1 { In c r ement}
M(rp H) ← M(rp H) + 1
r ← r – 1 { D e cr ement}
M(rp H) ←M(rp H) – 1
rp ← rp + 1, rp=B, D, H или SP { In crement rp}
rp ← rp – 1, rp=B, D, H или SP { D e cr ement rp}
| 1/1
1/3
1/1
1/3
1/1
1/1
|
|
| ∆
∆
∆
∆
–
–
|
| DAD rp
DAA
| rp H ← rp H + rp, rp=B, D, H или SP {Double precision add}
Десятичная коррекция {Decimal adjust accumulator}
| 1/1
1/1
|
|
|
+
|
| Группа команд логических операций
|
| ANA r
ANI d8
ANA M
| A←A & r { An d register with a ccumulator}
A←A & d8 { An d i mmediate with accumulator}
A←A & M(rp H) { An d memory with a ccumulator}
| 1/1
2/2
1/2
|
|
| *
*
*
|
| XRA r
XRI d8
XRA M
| A←A r { E x clusive o r register with a ccumulator}
A←A d8 { E x clusive o ri mmediate with accumulator}
A←A M(rp H) { E x clusive o r memory with a ccumulator}
| 1/1
2/2
1/2
|
|
| #
#
#
|
| Команда
| Описание операции
| B/M
| T
| T
| F
|
| ORA r
ORI d8
ORA M
CMP r
CPI d8
CMP M
| A←A r { Or register with a ccumulator}
A←A d8 { Ori mmediate with accumulator}
A←A M(rp H) { Or memory with a ccumulator}
A – r Z=1 при A=r, d8, M { C o mp are}
A – d8 CY=1 при A<r, d8, M { C om p are i mmediate}
A – M(rp H)
| 1/1
2/2
1/2
1/1
2/2
1/2
|
|
| #
#
#
+
+
+
|
| RLC
RRC
RAL
RAR
|
| { R otate accumulator l eft in c arry}
{ R otate accumulator r ight in c arry}
{Rotate accumulator left through carry}
{Rotate accumulator right through carry}
| 1/1
1/1
1/1
1/1
|
|
|
|
| CMA
CMC
STC
| A ← { C o m plement a ccumulator}
CY ← { C o m plement c arry}
CY ← 1 { S e tc arry}
| 1/1
1/1
1/1
|
|
| –
|
| Группа команд передачи управления
|
| JMP addr
J cond addr
PCHL
| PC ← addr { J u mp }
PC ← addr { J ump conditional}
PC ← HL { Load P rogram C ounter with H and L}
| 3/3
3/3
1/1
|
|
7/10
| –
–
–
|
| CALL addr
C cond addr
| SP ← SP – 1, M(SP) ← PC h, { Call }
SP ← SP – 1, M(SP) ←PC l; PC ← addr { C all
conditional}
| 3/5
3/3/5
|
11/17
|
9/18
| –
–
|
| RET
R cond
| PC l ← M(SP), SP ← SP + 1, { Ret urn}
PC h ← M(SP), SP ← SP + 1 { R eturn conditional}
| 1/3
1/1/3
|
5/11
|
6/12
| –
–
|
| RST n
| SP ← SP – 1, M(SP) ← PC h, { Restart }
SP ← SP – 1, M(SP) ←PC l; PC ← 8 ×n (n= 0... 7)
| 1/3
|
|
| –
|
| Группа команд управления стеком, вводом-выводом и состоянием МП
|
| PUSH rp
PUSH PSW
POP rp
POP PSW
| SP←SP – 1, M(SP)←prh, SP←SP – 1, M(SP)←rpl { Push }
SP←SP – 1, M(SP) ← A, SP←SP – 1, M(SP)←F
rpl←M(SP), SP←SP + 1, rph ← M(SP), SP←SP+1 { Pop }
F←M(SP), SP←SP + 1, A← M(SP), SP←SP+1
| 1/3
1/3
1/3
1/3
|
|
| –
–
–
+
–
–
|
| XTHL
SPHL
| L↔M(SP), H↔M(SP+1) {Exchange Top of Stack with H and L}
| 1/5
1/1
|
|
|
| Команда
| Описание операции
| B/M
| T
| T
| F
|
| IN port
OUT port
| A ← ПО(port) { In put}
ПО(port) ←A { Out put}
| 2/3
2/3
|
|
| –
–
|
EI
DI
| INTE = 1 после следующей команды { E nable I nterrupts}
INTE = 0 после данной команды { D isable I nterrupts}
| 1/1
1/1
|
|
| –
–
|
| HLT
NOP
| Остановка процессора; PC ← PC + 1 { H al t }
Пустая операция { N o- op eration}
| 1/1
1/1
|
|
| –
–
|
SIM
RIM
| Установка маски прерываний { S et I nterrupt M ask}
Чтение маски прерываний { R ead I nterrupt M ask}
| 1/1
1/1
| –
–
|
| –
–
|
Примечание: Х из Х/Y при невыполнении условия cond и Y при невыполнения условия cond; Х из Z/Х/Y при невыполнении условия cond и Y при невыполнения условия cond; в МП 8085А вместо триггера INTE данные команды управляются флагом (триггером) IE; только для МП 8085А
|
| | | | | | | |