№
п/п
| Мнемоника команды
| Код первого байта команды
| Байт
| Цик-
лов
| Так
тов
| Операции
| Пояснение
|
Пересылки однобайтовые
|
|
MOV rd, rs
|
01dddsss
|
|
|
|
(rs) ->(rd)
| Переслать в РОН с прямой регистровой адресацией
|
|
MOV r, M
|
01ddd110
|
|
|
|
(M)-> r
| Переслать из памяти с косвенной адреса-цией по (HL) в РОН
|
|
MOV M, r
|
01110sss
|
|
|
|
(r)-> M
| Переслать из РОН в память с косвенной адресацией по (HL)
|
|
MVI r, b2
|
00ddd110
|
|
|
|
b2 -> r
| Переслать непосред-ственный операнд в РОН
|
|
MVI M, b2
|
|
|
|
|
b2 -> M
| Переслать непосред-ственный операнд в память с косвенной адресацией по (HL)
|
|
STA b3b2
|
|
|
|
|
(A) -> b3b2
| Переслать содержи-мое аккумулятора в память по прямому адресу b3b2
|
|
LDA b3b2
|
|
|
|
|
(b3b2)-> A
| Переслать из памяти с прямой адресацией в аккумулятор
|
|
STAX rp
|
00dd0010
|
|
|
|
(A)->(rp)
| Переслать из аккуму-лятора в память с косвенной адресаци-ей по (rp); rp ¹ H
|
|
LDAX rp
|
00ss1010
|
|
| 7
|
((rp))->A
| Переслать из памяти с косвенной адреса-цией по (rp) в аккуму-лятор; rp ¹ H
|
|
OUT b2
|
|
|
|
|
(A)->b2
| Переслать из аккуму-лятора в порт вывода с номером b2
|
|
IN b2
|
|
|
|
|
(b2)->A
| Переслать из порта ввода с номером b2 в аккумулятор
|
Пересылки двухбайтовые
|
|
LXI rp,b3b2
|
00dd0001
|
|
|
|
b2->rpмл
b3 -> rpст
| Загрузить непосред-ственный операнд b3b2 в регистровую пару rp
|
| LXI SP, b3b2
|
|
|
|
| b3b2 -> SP
| Загрузить в указатель
стека код b3b2
|
|
SHLD b3b2
|
|
|
|
|
(L)-> b3b2
(H)-> b3b2+1
| Переслать содержи-мое HL в память с прямой адресацией
|
|
LHLD b3b2
|
|
|
|
|
(b3b2)-> L
(b3b2+1)-> H
| Переслать из памяти с прямой адресацией в пару HL
|
| XCHG
|
|
|
|
| H <-> D
L <-> E
| Обмен содержимым пары HL и DE
|
|
SPHL
|
|
|
|
|
(HL)-> SP
| Переслать содержи-мое пары HL в указа-тель стека
|
|
PUSH rp
|
11ss0101
|
|
|
| (rp)ст->(SP)-1
(rp)мл -> (SP)-2
(SP)-2->SP
| Загрузить в стек со-держимое регистро-вой пары rp
|
|
PUSH PSW
|
|
|
|
| (A)->(SP)-1
(F)->(SP)-2
(SP)-2->SP
| Загрузить слово сос-тояния процесссора PSW в стек
|
|
POP rp
|
11dd0001
|
|
|
| ((SP))->rмл
((SP)+1-> rpст
(SP)+2->SP
| Извлечь содержимое верхушки стека в пару rp
|
|
POP PSW
|
|
|
|
|
((SP))->F
((SP)+1->A
(SP)+2->SP
| Извлечь содержимое верхушки стека в ре-гистры F, A.:
|
|
|
XTHL
|
|
|
|
|
(L)<->((SP))
(H)<->((SP)+1)
| Обмен содержимым пары HL и верхушки стека. Значение SP не изменяется
|
Арифметические операции в аккумуляторе
|
| ADD r
| 10000sss
|
|
|
| (A)+(r)->A
| Сложить содержимое аккумулятора и РОН
|
|
ADD M
|
|
|
|
|
(A)+(M)->A
| Сложить с памятью, косвенно адресуемой по (HL)
|
| ADI b2
|
|
|
|
| (A)+b2->A
| Сложить с непосред-ственным операндом
|
|
ADC r
|
1000 1sss
|
|
|
| (A)+(r)+
+(CY)->A
| Сложить с РОН и с битом CY (перено-сом)
|
| ADC M
| 1000 1110
|
|
|
| (A)+(M)+
+(CY)->A
| Сложить с памятью и с битом CY
|
|
ACI b2
|
1100 1110
|
| 2
|
|
(A)+b2+
+(CY)->A
| Сложить с непосред-ственным операндом и с битом CY
|
|
SUB r
|
1001 0sss
|
|
|
|
(A)-(r)->A
| Вычесть содержимое РОН. При заеме бит CY:=1
|
|
SUB M
|
1001 0110
|
|
|
|
(A)-(M)->A
| Вычесть содержимое памяти, косвенно адресуемой по (HL)
|
| SUI b2
| 1101 0110
|
|
|
| (A)-b2-> A
| Вычесть непосред-ственный операнд
|
| SBB r
| 1001 1sss
|
|
|
| (A)-(r)-
-(CY)->A
| Вычесть содержимое РОН и бит CY (заем)
|
|
SBB M
|
1001 1110
|
|
|
|
(A)-(M)-
-(CY)-> A
| Вычесть содержимое памяти, косвенно ад-ресуемой по (HL), и бит CY
|
|
SBI b2
|
1101 1110
|
|
|
|
(A)-b2-
-(CY)-> A
| Вычесть непосред-ственный операнд и бит CY
|
|
CMP r
|
1011 1sss
|
|
|
|
(A)-(r)
| Сравнить содержи-мое аккумулятора и РОН. Разность нику-да не записывается
|
|
CMP M
|
1011 1110
|
|
|
|
(A)-(M)
| Сравнить содержи-мое аккумулятора и памяти, косвенно адресуемой по (HL)
|
|
CPI b2
|
1111 1110
|
|
|
|
(A)-b2
| Сравнить содержи-мое аккумулятора с непосредственным операндом
|
| DAA
| 0010 0111
|
|
|
| Десятичная коррекция в аккумуляторе
|
Арифметические операции в РОН
|
| INR r
| 00dd d100
|
|
|
| (r)+1-> r
| Инкремент РОН
|
| DCR r
| 00dd d101
|
|
|
| (r)-1-> r
|
|
| INR M
| 0011 0100
|
|
|
| (M)+1->M
| Инкремент/декремент памяти, косвенно ад-
|
| DCR M
| 0011 0101
|
|
|
| (M)-1->M
| ресуемой по (HL)
|
|
INX rp
|
00dd 0011
|
|
|
|
(rp)+1-> rp
| Инкремент/декремент пары rp.
|
|
DCX rp
|
00dd 1011
|
|
|
|
(rp)-1-> rp
|
|
|
DAD rp
|
00dd 1001
|
|
|
|
(HL)+(rp)->HL
| Сложить 2-байтовые операнды. rp=B|D|H|SP.
|
Сдвиги в аккумуляторе
|
|
RLC
|
0000 0111
|
|
|
|
CY <-(a7)
(a7)->a0
ai+1 -> (ai)
| Сдвинуть циклически влево
|
|
|
RRC
|
0000 1111
|
|
|
| CY <-(a0)
(a0)-> a7
(ai+1)-> (ai)
| Сдвинуть циклически вправо
|
|
RAL
|
0001 0111
|
|
|
| CY <-(a7)
(CY)-> a0
ai+1<-(ai)
| Сдвинуть циклически влево через бит CY
|
|
RAR
|
0001 1111
|
|
|
|
(a0)->CY
(CY)-> a7
(ai+1)-> ai
| Сдвинуть циклически вправо через бит CY
|
Логические операции в
аккумуляторе и регистре F
|
| ANA r
| 1010 0sss
|
|
|
| (A)&(r)-> A
| Поразрядная конъюнкция с РОН
|
|
ANA M
|
1010 0110
|
|
|
|
(A)&(M)->A
| Поразрядная конъюн-кция с памятью, кос-венно адресуемой по (HL)
|
|
ANI b2
|
1110 0110
|
|
|
|
(A)&b2 -> A
| Поразрядная конъюн-кция с непосред-ственным операндом
|
| ORA r
| 1011 0sss
|
|
|
| (A)v(r)->A
| Поразрядная дизъюнкция с РОН
|
|
ORA M
|
1011 0110
|
|
|
|
(A)v(M)-> A
| Поразрядная дизъюн-кция с памятью, кос-венно адресуемой по (HL)
|
|
ORI b2
|
1111 0110
|
|
|
|
(A)vb2 -> A
| Поразрядная дизъюн-кция с непосредст-венным операндом
|
| XRA r
| 1010 1sss
|
|
|
| (A)Å(r) -> A
| Поразрядно сложить по модулю 2 с РОН
|
|
XRA M
|
1010 1110
|
|
|
|
(A)Å(M)->A
| Поразрядно сложить по модулю 2 с памя-тью, косвенно адре-суемой по (HL)
|
|
XRI b2
|
1110 1110
|
|
|
|
(A)Åb2 -> A
| Поразрядно сложить по модулю 2 с непос-редственным операн-дом
|
|
CMA
|
0010 1111
|
|
|
|
(A)->A
| Инвертировать акку-мулятор.
|
|
STC
|
0011 0111
|
|
|
|
1 -> CY
| Установить бит CY.
|
|
CMC
|
0011 1111
|
|
|
|
(CY)->Y
| Инвертировать бит CY
|
Команды управления
|
| JMP b3b2
| 1100 0011
|
|
|
| b3b2->PC
| Перейти безусловно по адресу b3b2
|
|
PCHL
|
1110 1001
|
|
|
|
(H)->Pcст
(L)->PCмл
| Перейти безусловно по адресу, находяще-муся в HL
|
|
Jcon b3b2
|
11CC C010
|
|
|
|
Если (условие)=да,
то b3b2->PC
| Перейти по условию. Если условие ССС подтверждается, то переход, иначе – ис-полнение следующей команды
|
|
CALL b3b2
|
1100 1101
|
|
|
|
(PC)->стек
b3b2->PC
| Адрес возврата сохранить в стеке и перейти на подпрог-рамму по адресу b3b2
|
|
Ccon b3b2
|
11CC C100
|
|
|
|
Если (условие)=да,
то (PC)->стек,
b3b2->PC
| Перейти на подпрог-рамму по условию. Если условие ССС подтверждается, то переход, иначе – ис-полнение следующей команды
|
|
|
RET
|
1100 1001
|
|
|
| ((SP))->Pcмл
((SP))+1->Pcст
(SP)+2->SP
| Вернуться безуслов-но из подпрограммы или из программы обслуживания преры-вания
|
|
Rcon
|
11CC C000
|
|
|
|
Если (условие)=да,
то (стек)->PC
| Вернуться по усло-вию. Если условие ССС подтверждается, то возврат, иначе - исполнение следую-щей команды
|
|
RST n
|
11NN N111
|
|
|
|
(PC)->стек
0...0NNN000-> PC
| Рестарт по вектору прерывания NNN. Адрес возврата сох-ранить в стеке и пе-рейти по адресу 0000 0000 00NN N000
|
|
EI
|
1111 1011
|
|
|
|
РПР:=1
| Разрешить прерыва-ния вслед за следую-щей после EI коман-дой
|
|
DI
|
1111 0011
|
|
|
|
РПР:=0
| Запретить прерыва-ния вслед за коман-дой DI
|
|
NOP
|
0000 0000
|
|
|
|
нет операций
| “Пустая” команда; пропуск четырех так-тов
|
|
HLT
|
0111 0110
|
|
|
|
СТОП:=1
ОЖИД:=1
| Команды останова. В PC находится в адрес следующей команды. МП может восприни-мать запросы преры-вания и запросы к ма-гистрали
|
| | | | | | | | |