Регистры процессора

Регистр Регистр Регистровая пара
A FLAGS PSW
B C BC
D E DE
H L HL
PC (счётчик команд)
SP (указатель стека)

Регистр флагов (FLAGS)

Бит Обозначение Описание
0 C Перенос
1
2 P Чётность
3
4 AC Вспомогательный перенос
5
6 Z Нуль
7 S Знак

Все команды

КодКоманда 8080Команда Z80ОписаниеТакты
87 ADD A ADD A A += A 4
80 ADD B ADD B A += B 4
81 ADD C ADD C A += C 4
82 ADD D ADD D A += D 4
83 ADD E ADD E A += E 4
84 ADD H ADD H A += H 4
85 ADD L ADD L A += L 4
86 ADD M ADD (HL) A += Память(HL) 7
C6 ADI d8 ADD d8 A += d8 7
8F ADC A ADC A A += A + флаг C 4
88 ADC B ADC B A += B + флаг C 4
89 ADC C ADC C A += C + флаг C 4
8A ADC D ADC D A += D + флаг C 4
8B ADC E ADC E A += E + флаг C 4
8C ADC H ADC H A += H + флаг C 4
8D ADC L ADC L A += L + флаг C 4
8E ADC M ADC (HL) A += Память(HL) + флаг C 7
CE ACI d8 ADC d8 A += d8 + флаг C 7
A7 ANA A AND A A &= A 4
A0 ANA B AND B A &= B 4
A1 ANA C AND C A &= C 4
A2 ANA D AND D A &= D 4
A3 ANA E AND E A &= E 4
A4 ANA H AND H A &= H 4
A5 ANA L AND L A &= L 4
A6 ANA M AND (HL) A &= Память(HL) 7
E6 ANI d8 AND d8 A &= d8 7
CD CALL d16 CALL d16 Вызвать подпрограмму 17
CC CZ d16 CALL Z, d16 Вызвать подпрограмму, если флаг Z = 1 11 / 17
C4 СNZ d16 CALL NZ, d16 Вызвать подпрограмму, если флаг Z = 0 11 / 17
F4 СP d16 CALL P, d16 Вызвать подпрограмму, если флаг S = 0 11 / 17
FC СM d16 CALL M, d16 Вызвать подпрограмму, если флаг S = 1 11 / 17
DC CC d16 CALL C, d16 Вызвать подпрограмму, если флаг C = 1 11 / 17
D4 CNC d16 CALL NC, d16 Вызвать подпрограмму, если флаг C = 0 11 / 17
EC CPE d16 CALL PE, d16 Вызвать подпрограмму, если флаг P = 1 11 / 17
E4 CPO d16 CALL PO, d16 Вызвать подпрограмму, если флаг P = 0 11 / 17
2F CMA CPL A = ~A 4
3F CMC CCF Инвертировать флаг C 4
BF CMP A CP A A - A (изменяются флаги, но не A) 4
B8 CMP B CP B A - B 4
B9 CMP C CP C A - C 4
BA CMP D CP D A - D 4
BB CMP E CP E A - E 4
BC CMP H CP H A - H 4
BD CMP L CP L A - L 4
BE CMP M CP (HL) A - Память(HL) 7
FE CPI d8 CP d8 A - d8 7
27 DAA DAA Десятичная коррекция аккумулятора 4
39 DAD B ADD HL, BC HL += BC 10
29 DAD D ADD HL, DE HL += DE 10
19 DAD H ADD HL, HL HL += HL 10
09 DAD SP ADD HL, SP HL += SP 10
3D DCR A DEC A A-- 5
05 DCR B DEC B B-- 5
0D DCR C DEC C C-- 5
15 DCR D DEC D D-- 5
1D DCR E DEC E E-- 5
25 DCR H DEC H H-- 5
2D DCR L DEC L L-- 5
35 DCR M DEC (HL) Память(HL)-- 10
0B DCX B DEC BC BC-- 5
1B DCX D DEC DE DE-- 5
2B DCX H DEC HL HL-- 5
3B DCX SP DEC SP SP-- 5
F3 DI DI Запретить прерывания 4
FB EI EI Разрешить прерывания 4
76 HLT HALT Остановка до прерывания 7
DB IN d8 IN A, (d8) A = Порт(d8) 10
3C INR A INC A A++ 5
04 INR B INC B B++ 5
0C INR C INC C C++ 5
14 INR D INC D D++ 5
1C INR E INC E E++ 5
24 INR H INC H H++ 5
2C INR L INC L L++ 5
34 INR M INC (HL) Память(HL)++ 10
03 INX B INC BC BС++ 5
13 INX D INC DE DE++ 5
23 INX H INC HL HL++ 5
33 INX SP INC SP SP++ 5
C3 JMP d16 JP d16 Перейти по адресу d16 10
CA JZ d16 JP Z, d16 Перейти по адресу d16, если флаг Z=1 10
C2 JNZ d16 JP NZ, d16 Перейти по адресу d16, если флаг Z=0 10
F2 JP d16 JP P, d16 Перейти по адресу d16, если флаг S=0 10
FA JM d16 JP M, d16 Перейти по адресу d16, если флаг S=1 10
DA JC d16 JP C, d16 Перейти по адресу d16, если флаг C=1 10
D2 JNC d16 JP NC, d16 Перейти по адресу d16, если флаг C=0 10
EA JPE d16 JP PE, d16 Перейти по адресу d16, если флаг P=1 10
E2 JPO d16 JP PO, d16 Перейти по адресу d16, если флаг P=0 10
3A LDA d16 LD A, (d16) A = Память(d16) 13
0A LDAX B LD A, (BC) A = Память(BC) 7
1A LDAX D LD A, (DE) A = Память(DE) 7
2A LHLD d16 LD HL, (d16) HL = Память(d16) 16
01 LXI B, d16 LD BC, d16 BC = d16 10
11 LXI D, d16 LD DE, d16 DE = d16 10
21 LXI H, d16 LD HL, d16 HL = d16 10
31 LXI SP, d16 LD SP, d16 SP = d16 10
7F MOV A, A LD A, A A = A 5
78 MOV A, B LD A, B A = B 5
79 MOV A, C LD A, C A = C 5
7A MOV A, D LD A, D A = D 5
7B MOV A, E LD A, E A = E 5
7C MOV A, H LD A, H A = H 5
7D MOV A, L LD A, L A = L 5
7E MOV A, M LD A, (HL) A = Память(HL) 7
47 MOV B, A LD B, A B = A 5
40 MOV B, B LD B, B B = B 5
41 MOV B, C LD B, C B = C 5
42 MOV B, D LD B, D B = D 5
43 MOV B, E LD B, E B = E 5
44 MOV B, H LD B, H B = H 5
45 MOV B, L LD B, L B = L 5
46 MOV B, M LD B, (HL) B = Память(HL) 7
4F MOV C, A LD C, A C = A 5
48 MOV C, B LD C, B C = B 5
49 MOV C, C LD C, C C = C 5
4A MOV C, D LD C, D C = D 5
4B MOV C, E LD C, E C = E 5
4C MOV C, H LD C, H C = H 5
4D MOV C, L LD C, L C = L 5
4E MOV C, M LD C, (HL) C = Память(HL) 7
57 MOV D, A LD D, A D = A 5
50 MOV D, B LD D, B D = B 5
51 MOV D, C LD D, C D = C 5
52 MOV D, D LD D, D D = D 5
53 MOV D, E LD D, E D = E 5
54 MOV D, H LD D, H D = H 5
55 MOV D, L LD D, L D = L 5
56 MOV D, M LD D, (HL) D = Память(HL) 7
5F MOV E, A LD E, A E = A 5
58 MOV E, B LD E, B E = B 5
59 MOV E, C LD E, C E = C 5
5A MOV E, D LD E, D E = D 5
5B MOV E, E LD E, E E = E 5
5C MOV E, H LD E, H E = H 5
5D MOV E, L LD E, L E = L 5
5E MOV E, M LD E, (HL) E = Память(HL) 7
67 MOV H, A LD H, A H = A 5
60 MOV H, B LD H, B H = B 5
61 MOV H, C LD H, C H = C 5
62 MOV H, D LD H, D H = D 5
63 MOV H, E LD H, E H = E 5
64 MOV H, H LD H, H H = H 5
65 MOV H, L LD H, L H = L 5
66 MOV H, M LD H, (HL) H = Память(HL) 7
6F MOV L, A LD L, A L = A 5
68 MOV L, B LD L, B L = B 5
69 MOV L, C LD L, C L = C 5
6A MOV L, D LD L, D L = D 5
6B MOV L, E LD L, E L = E 5
6C MOV L, H LD L, H L = H 5
6D MOV L, L LD L, L L = L 5
6E MOV L, M LD L, (HL) L = Память(HL) 7
77 MOV M, A LD (HL), A Память(HL) = A 7
70 MOV M, B LD (HL), B Память(HL) = B 7
71 MOV M, C LD (HL), C Память(HL) = C 7
72 MOV M, D LD (HL), D Память(HL) = D 7
73 MOV M, E LD (HL), E Память(HL) = E 7
74 MOV M, H LD (HL), H Память(HL) = H 7
75 MOV M, L LD (HL), L Память(HL) = L 7
3E MVI A, d8 LD A, d8 A = d8 7
06 MVI B, d8 LD B, d8 B = d8 7
0E MVI C, d8 LD C, d8 C = d8 7
16 MVI D, d8 LD D, d8 D = d8 7
1E MVI E, d8 LD E, d8 E = d8 7
26 MVI H, d8 LD H, d8 H = d8 7
2E MVI L, d8 LD L, d8 L = d8 7
36 MVI M, d8 LD (HL), d8 (HL) = d8 10
00 NOP NOP Нет операции 4
B7 ORA A OR A A |= A 4
B0 ORA B OR B A |= B 4
B1 ORA C OR C A |= C 4
B2 ORA D OR D A |= D 4
B3 ORA E OR E A |= E 4
B4 ORA H OR H A |= H 4
B5 ORA L OR L A |= L 4
B6 ORA M OR (HL) A |= Память(HL) 7
F6 ORI d8 OR d8 A |= d8 7
D3 OUT d8 OUT (d8), A Порт(d8) = A 10
E9 PCHL JP HL Переход по адресу из HL 5
C1 POP B POP BC Извлечь слово из стека в BC 11
D1 POP D POP DE Извлечь слово из стека в DE 11
E1 POP H POP HL Извлечь слово из стека в HL 11
F1 POP PSW POP AF Извлечь слово из стека в A и FLAGS 11
C5 PUSH B PUSH BC Поместить BC в стек 10
D5 PUSH D PUSH DE Поместить DE в стек 10
E5 PUSH H PUSH HL Поместить HL в стек 10
F5 PUSH PSW PUSH AF Поместить A и FLAGS в стек 10
17 RAL RLA Циклической сдвиг A влево через флаг С 4
1F RAR RRA Циклической сдвиг A вправо через флаг C 4
07 RLC RLCA Циклической сдвиг A влево 4
0F RRC RRCA Циклической сдвиг A вправо 4
C9 RET RET Возврат из подпрограммы 10
C8 RZ RET Z Возврат из подпрограммы, если флаг Z = 1 5 / 11
C0 RNZ RET NZ Возврат из подпрограммы, если флаг Z = 0 5 / 11
F0 RP RET P Возврат из подпрограммы, если флаг S = 0 5 / 11
F8 RM RET M Возврат из подпрограммы, если флаг S = 1 5 / 11
D8 RC RET C Возврат из подпрограммы, если флаг C = 1 5 / 11
D0 RNC RET NC Возврат из подпрограммы, если флаг C = 0 5 / 11
E8 RPE RET PE Возврат из подпрограммы, если флаг P = 1 5 / 11
E0 RPO RET PO Возврат из подпрограммы, если флаг P = 0 5 / 11
C7 RST 0 RST 0 Запуск подпрограммы по адресу 0 11
CF RST 8 RST 8 Запуск подпрограммы по адресу 8 11
D7 RST 10h RST 10h Запуск подпрограммы по адресу 10h 11
DF RST 18h RST 18h Запуск подпрограммы по адресу 18h 11
E7 RST 20h RST 20h Запуск подпрограммы по адресу 20h 11
EF RST 28h RST 28h Запуск подпрограммы по адресу 28h 11
F7 RST 30h RST 30h Запуск подпрограммы по адресу 30h 11
FF RST 38h RST 38h Запуск подпрограммы по адресу 38h 11
F9 SPHL LD SP, HL SP = HL 5
22 SHLD d16 LD (d16), HL Память(d16) = HL 16
32 STA d16 LD (d16), A Память(d16) = A 13
02 STAX B LD (BC), A Память(BC) = A 7
12 STAX D LD (DE), A Память(DE) = A 7
37 STC SCF Флаг C = 1 4
97 SUB A SUB A A -= А 4
90 SUB B SUB B A -= B 4
91 SUB C SUB C A -= C 4
92 SUB D SUB D A -= D 4
93 SUB E SUB E A -= E 4
94 SUB H SUB H A -= H 4
95 SUB L SUB L A -= L 4
96 SUB M SUB (HL) A -= Память(HL) 7
D6 SUI d8 SUB d8 A -= d8 7
9F SBB A SBC A A -= A + флаг C 4
98 SBB B SBC B A -= B + флаг C 4
99 SBB C SBC C A -= C + флаг C 4
9A SBB D SBC D A -= D + флаг C 4
9B SBB E SBC E A -= E + флаг C 4
9C SBB H SBC H A -= H + флаг C 4
9D SBB L SBC L A -= L + флаг C 4
9E SBB M SBC (HL) A -= Память(HL) + флаг C 7
DE SBI d8 SBC d8 A -= d8 + флаг C 7
EB XCHG EX DE, HL Обмен значений HL и DE 4
E3 XTHL EX (SP), HL Обмен значений HL и памяти по адресу из SP 18
AF XRA A XOR A A ^= A 4
A8 XRA B XOR B A ^= B 4
A9 XRA C XOR C A ^= C 4
AA XRA D XOR D A ^= D 4
AB XRA E XOR E A ^= E 4
AC XRA H XOR H A ^= H 4
AD XRA L XOR L A ^= L 4
AE XRA M XOR (HL) A ^= Память(HL) 7
EE XRI d8 XOR d8 A ^= d8 7