Для загрузки программы в память системы все команды должны быть преобразованы в объектные коды, т.е. представлены в виде последовательностей 0 и 1. При машинной трансляции программа в машинных кодах выдается на каком-либо носителе, с которого она сразу может вводиться в память. Кроме того, выводиться распечатка (листинг), содержащая исходную программу в мнемокодах и соответствующие им объектные коды. Для микропроцессоров стало традицией, что распечатка объектной программы выдается в шестнадцатеричной системе кодирования (в HEX – кодах).
Применение шестнадцатеричных кодов при восьмиразрядных машинных словах имеет то преимущество, что обеспечивает очень компактную запись: каждая команда записывается всего двумя символами
Все команды микропроцессора КР.580ИK80A можно свести в одну таблицу, строки которой представляют собой старшие разряды (тетрады) кода операции, а столбцы – младшие разряды. На пересечении указаны мнемокоды команд, соответствующих образовавшимся комбинациям (табл. 2.7).
|
|
Таблица 2.7. Машинные коды команд микропроцессора К580
Вторая тетрада (HEX) | ||||||||
NOP | LXI B <B2> <B3> | STAX B | INX B | INR B | DCR B | MVI B <B2> | RLC | |
--- | LXI H <B2> <B3> | STAX D | INX D | INR D | DCR D | MVI D <B2> | RAL | |
--- | LXI H <B2> <B3> | SHILD <LADR> <HADR> | INX H | INR H | DCR H | MVI H <B2> | DAA | |
--- | LXI SP <B2> <B3> | STA <LADR> <HADR> | INX SP | INR M | DCR M | MVI M <B2> | STC | |
MOV B,B | MOV B,C | MOV B,D | MOV B,E | MOV B,H | MOV B,L | MOV B,M | MOV B,A | |
MOV D,B | MOV D,C | MOV D,D | MOV D,E | MOV D,H | MOV D,L | MOV D,M | MOV D,A | |
MOV H,B | MOV H,C | MOV H,D | MOV H,E | MOV H,H | MOV H,L | MOV H,M | MOV H,A | |
MOV M,B | MOV M,C | MOV M,D | MOV M,E | MOV M,H | MOV M,L | MOV M,M | MOV M,A | |
ADD B | ADD C | ADD D | ADD E | ADD H | ADD L | ADD M | ADD A | |
SUB B | SUB C | SUB D | SUB E | SUB H | SUB L | SUB M | SUB A | |
A | ANA B | ANA C | ANA D | ANA E | ANA H | ANA L | ANA M | ANA A |
B | ORA B | ORA C | ORA D | ORA E | ORA H | ORA L | ORA M | ORA A |
C | RNZ | POP B | JMZ <LARD> <HARD> | JMP <LARD> <HARD> | CNZ <LARD> <HARD> | PUSH B | ADI <B2> | RST 0 |
D | RNC | POP D | JMC <LARD> <HARD> | OUT <PORT №> | CNC <LARD> <HARD> | PUSH D | SUI <B2> | RST 2 |
E | RPO | POP H | JPO <LARD> <HARD> | XTHL | CPO <LARD> <HARD> | PUSH H | ANI <B2> | RST 4 |
F | RP | POP PSW | JP <LARD> <HARD> | DI | CP <LARD> <HARD> | PUSH PSW | ORI <B2> | RST 6 |
Продолжение табл. 2.7
Вторая тетрада (HEX) | ||||||||
A | B | C | D | E | F | |||
--- | DAD B | LDAX B | DCX B | INR C | DCR C | MVI C <B2> | RRC | |
--- | DAD D | LDAX D | DCX D | INR E | DCR E | MVI E <B2> | RAR | |
--- | DAD H | LHLD <LADR> <HADR> | DCX H | INR L | DCR L | MVI L <B2> | CMA | |
--- | DAD SP | LHLA <LADR> <HADR> | DCX SP | INR A | DCR A | MVI A <B2> | CMC | |
MOV C,B | MOV C,C | MOV C,D | MOV C,E | MOV C,H | MOV C,L | MOV C,M | MOV C,A | |
MOV E,B | MOV E,C | MOV E,D | MOV E,E | MOV E,H | MOV E,L | MOV E,M | MOV E,A | |
MOV L,B | MOV L,C | MOV L,D | MOV L,E | MOV L,H | MOV L,L | MOV L,M | MOV L,A | |
MOV A,B | MOV A,C | MOV A,D | MOV A,E | MOV A,H | MOV A,L | MOV A,M | MOV A,A | |
ADC B | ADC C | ADC D | ADC E | ADC H | ADC L | ADC M | ADC A | |
SBB B | SBB C | SBB D | SBB E | SBB H | SBB L | SBB M | SBB A | |
A | XRA B | XRA C | XRA D | XRA E | XRA H | XRA L | XRA M | XRA A |
B | CMP B | CMP C | CMP D | CMP E | CMP H | CMP L | CMP M | CMP A |
C | RZ | RET | JZ <LADR> <HADR> | --- | JZ <LADR> <HADR> | JZ <LADR> <HADR> | ACI <B2> | RST 1 |
D | RC | --- | JC <LADR> <HADR> | IN <PORT №> | CC <LADR> <HADR> | --- | SBI <B2> | RST 3 |
E | RPE | PCHL | JPE <LADR> <HADR> | HCHG | CPE <LADR> <HADR> | --- | XRI <B2> | RST 5 |
F | RM | SPHL | JV <LADR> <HADR> | EI | CM <LADR> <HADR> | --- | CPI <B2> | RST 7 |
|
|