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