Группа команд | Маш. код В или Н | Мнемоника команды | Описание команды | длина | ||||||||
байты | такты | |||||||||||
01.r1.r2 | MOV r1,r2 | (r1)<-(r2) | ||||||||||
0111 0.r. | MOV M,r | ((H,L))<-(r) | ||||||||||
п | 01.r.110 | MOV r,M | (r)<-((H,L)) | |||||||||
к | е | 00.r.110 | MVI r,data | (r)<-data | ||||||||
о | р | 3 6 | MVI M,data | ((H,L))<-data | ||||||||
м | е | 00rp 0001 | LXI rp,data | (rp)<-data | ||||||||
а | с | 3 A | LDA addr | (A)<-((addr)) | ||||||||
н | ы | 3 2 | STA addr | ((addr))<-(A) | ||||||||
д | л | 2 A | LHLD addr | L<-(addr),H<-(addr+1) | ||||||||
ы | о | 2 2 | SHLD addr | (addr)<-L,(addr+1)<-H | ||||||||
к | 00r2 1010 | LDAX rp | A<-((rp)) | |||||||||
00rp 0010 | STAX rp | ((rp))<-A | ||||||||||
E В | XCHG | (H)<->(D),(L)<->(E) | ||||||||||
1000 0.r. | ADD r | (A)<-(A)+(r) | ||||||||||
8 6 | ADD M | (A)<-(A)+((H,L)) | ||||||||||
C 6 | ADI data | (A)<-(A)+data | ||||||||||
а | 1000 1.r. | ADC r | (A)<-(A)+(r)+(C) | |||||||||
р | 8 E | ADC M | (A)<-(A)+(M)+(C) | |||||||||
и | C E | ACI data | (A)<-(A)+data+(C) | |||||||||
ф | 00rp 1001 | DAD rp | (H,L)<-(H,L)+(rp) | |||||||||
м | к | 1001 0.r. | SUB r | (A)<-(A)-(r) | ||||||||
е | о | 9 6 | SUB M | (A)<-(A)-(M) | ||||||||
т | м | D 6 | SUI data | (A)<-(A)-data | ||||||||
и | а | 1001 1.r. | SBB r | (A)<-(A)-(r)-(C) | ||||||||
ч | н | 9 E | SBB M | (A)<-(A)-(M)-(C) | ||||||||
е | д | D E | SBI data | (A)<-(A)-data-(C) | ||||||||
с | ы | 00.r.100 | INR r | (r)<-(r)+1 | ||||||||
к | 3 4 | INR M | ((H,L))<-((H,L))+1 | |||||||||
и | 00rp 0011 | INX rp | (rp)<-(rp)+1 | |||||||||
е | 00.r.101 | DCR r | (r)<-(r)-1 | |||||||||
3 5 | DCR M | ((H,L))<-((H,L))-1 | ||||||||||
00rp 1011 | DCX rp | (rp)<-(rp)-1 | ||||||||||
2 7 | DAA | Десятичная коррекция | ||||||||||
1010 0.r. | ANA r | (A)<-(A)&(r) | ||||||||||
A 6 | ANA M | (A)<-(A)&((H,L)) | ||||||||||
E 6 | ANI data | (A)<-(A)&data | ||||||||||
1010 1.r. | XRA r | (A)<-(A)+mod2 (r) | ||||||||||
A E | XRA M | (A)<-(A)+mod2 ((H,L)) | ||||||||||
л | E E | XRI data | (A)<-(A)+mod2 data | |||||||||
о | 1011 0.r. | ORA r | (A)<-(A)\ /(r) | |||||||||
г | к | B 6 | ORA M | (A)<-(A)\ /((H,L)) | ||||||||
и | о | F 6 | ORI data | (A)<-(A)\ /data | ||||||||
ч | м | 1011 1.r. | CMP r | (A)?=(r) (сравнение) | ||||||||
е | а | B E | CMP M | (A)?=((H,L)) | ||||||||
с | н | F E | CPI data | (A)?=data | ||||||||
к | д | 0 7 | RLC | (An+1)<-(An), | ||||||||
и | ы | (A0)<-(A7), (C)<-(A7) | ||||||||||
е | 0 F | RRC | (An)<-(An+1), | |||||||||
(A7)<-(A0), (C)<-(A0) | ||||||||||||
1 7 | RAL | (An+1)<-(An), | ||||||||||
(C)<-(A7), (A0)<-(C) | ||||||||||||
1 F | RAR | (An)<-(An+1), | ||||||||||
(C)<-(A0), (A7)<-(C) | ||||||||||||
2 F | CMA | (A)<-(A) инверсия (A) | ||||||||||
3 F | CMC | (C)<-(C) инверсия (С) | ||||||||||
3 7 | STC | (С)=1 | ||||||||||
С 3 | JMP addr | (PC)<-(addr) | ||||||||||
11.c.010 | Jcond addr | (PC)<-(addr), при вы- | ||||||||||
у | полнении условия cond | |||||||||||
п | п | C D | CALL addr | (PC)<-(addr), | ||||||||
е | р | ((SP)-1)<-(PCh), | ||||||||||
р | а | ((SP)-2)<-(PC1),(SP)-2 | ||||||||||
е | в | 11.c.100 | Ccond addr | вызов подпрограммы при | 11/17 | |||||||
д | л | выполнении условия | ||||||||||
а | е | C 9 | RET | Возврат из п.п. | ||||||||
ч | н | (PC1)<-((SP)), | ||||||||||
и | и | (PCh)<-((SP)+1),(SP)+2 | ||||||||||
я | 11.c.000 | Rcond | Возврат при условии | 5/11 | ||||||||
E 9 | PCHL | (PC)<-(H,L) | ||||||||||
11.n.111 | RST n | Запуск c адреса 8*(n) | ||||||||||
D B | IN port | (A)<-(port) | ||||||||||
в | с | D 3 | OUT port | (port)<-(A) | ||||||||
в | т | 11rp 0101 | PUSH rp | ((SP))<-(rp),(SP)-2 | ||||||||
о | е | F 5 | PUSH PSW | ((SP)-1)<-(A), | ||||||||
д | к | ((SP)-2)<-(F),(SP)-2 | ||||||||||
11rp 0001 | POP rp | (rp)<-((SP))-(SP)+2 | ||||||||||
F 1 | POP PSW | (F)<-((SP)), | ||||||||||
(A)<-((SP)+1),(SP)+2 | ||||||||||||
E 3 | XTHL | (L)<->((SP)), | ||||||||||
(H)<->((SP)+1) | ||||||||||||
в | у | F 9 | SPHL | (SP)<-(H,L) | ||||||||
ы | п | F B | EI | Разрешение прерывания | ||||||||
в | - | F 3 | DI | Запрещение прерывания | ||||||||
о | и | 7 6 | HLT | Останов. | ||||||||
д | е | 0 0 | NOP | Пустая команда | ||||||||
cond | Значение признаков | код | r | rp | n | |
NZ | Z=0, | Результат = 0 | В | BC | ||
Z | Z=1, | Результат = 0 | С | DE | ||
NC | C=0, | нет переноса | D | HL | ||
C | C=1, | есть перенос | E | SP | ||
PO | P=0, | число единиц в результате нечетно | H | |||
PE | P=1, | число единиц в результате четно | L | |||
R | S=0, | результат положительный | M | |||
M | S=1, | результат отрицательный | A | |||
Примечания 1. М – ячейка памяти, адресуемая парой регистров H,L. 2. Такты (x/y), x – при невыполнении условий, y – при выполнении условий. 3. Признак АС – вспомогательный перенос (из младшей тетрады в старшую, анализируется командой DAA. 4. Команды LDAX и STAX работают только с парами регистров ВС и DE. 5. Команды PUSH(rp) b POP(rp) выполняются аналогично командам PUSH PSW и POP PSW (А – старший, F – младший). 6. Data – 8 – или 16-разрядные данные, addr – 16-разрядный адрес, port – 8-разрядный адрес внешнего устройства. 7. Распределение признаков в регистре RS: бит 7 6 5 4 3 2 1 0 признак S Z 0 AC 0 P 1 C 8. PCh, PCl – соответственно старший и младший байты счетчика команд. | ||||||
Приложение 2
Содержимое регистра признаков
Содержимое регистра признаков | Активные признаки (= 1) |
- C P P,C AC AC, C AC, P AC, P, C Z, P Z, P, C Z, AC, P Z, AC, P, C S S, C S, P S, P. C S, AC S. AC, C S, AC. P S, AC, P, C |