Первая строка - инструкция для Z80, вторая строка – для 8080. Некоторых инструкции может не быть.
| ID | Z80 | i8080 | Краткое описание |
|---|
| 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 |
|---|