Группа команд | Маш. код В или Н | Мнемоника команды | Описание команды | длина | |
байты | такты | |
| | 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 |
Наши рекомендации