x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF | |
0x | NOP 1 4 ------- | LXI B,d16 3 10 ------- | STAX B 1 7 ------- | INX B 1 6 --K---- | INR B 1 4 SZKAPV- | DCR B 1 4 SZKAPV- | MVI B,d8 2 7 ------- | RLC 1 4 -----VC | *DSUB 1 10 SZKAPVC | DAD B 1 10 -----VC | LDAX B 1 7 ------- | DCX B 1 6 --K---- | INR C 1 4 SZKAPV- | DCR C 1 4 SZKAPV- | MVI C,d8 2 7 ------- | RRC 1 4 -----0C |
1x | *ARHL 1 7 -----0C | LXI D,d16 3 10 ------- | STAX D 1 7 ------- | INX D 1 6 --K---- | INR D 1 4 SZKAPV- | DCR D 1 4 SZKAPV- | MVI D,d8 2 7 ------- | RAL 1 4 -----VC | *RDEL 1 10 -----VC | DAD D 1 10 -----VC | LDAX D 1 7 ------- | DCX D 1 6 --K---- | INR E 1 4 SZKAPV- | DCR E 1 4 SZKAPV- | MVI E,d8 2 7 ------- | RAR 1 4 -----0C |
2x | RIM 1 4 ------- | LXI H,d16 3 10 ------- | SHLD a16 3 16 ------- | INX H 1 6 --K---- | INR H 1 4 SZKAPV- | DCR H 1 4 SZKAPV- | MVI H,d8 2 7 ------- | DAA 1 4 SZKAPVC | *LDHI d8 2 10 ------- | DAD H 1 10 -----VC | LHLD a16 3 16 ------- | DCX H 1 6 --K---- | INR L 1 4 SZKAPV- | DCR L 1 4 SZKAPV- | MVI L,d8 2 7 ------- | CMA 1 4 ------- |
3x | SIM 1 4 ------- | LXI SP,d16 3 10 ------- | STA a16 3 13 ------- | INX SP 1 6 --K---- | INR M 1 10 SZKAPV- | DCR M 1 10 SZKAPV- | MVI M,d8 2 10 ------- | STC 1 4 ------1 | *LDSI d8 2 10 ------- | DAD SP 1 10 -----VC | LDA a16 3 13 ------- | DCX SP 1 6 --K---- | INR A 1 4 SZKAPV- | DCR A 1 4 SZKAPV- | MVI A,d8 2 7 ------- | CMC 1 4 ------C |
4x | MOV B,B 1 4 ------- | MOV B,C 1 4 ------- | MOV B,D 1 4 ------- | MOV B,E 1 4 ------- | MOV B,H 1 4 ------- | MOV B,L 1 4 ------- | MOV B,M 1 7 ------- | MOV B,A 1 4 ------- | MOV C,B 1 4 ------- | MOV C,C 1 4 ------- | MOV C,D 1 4 ------- | MOV C,E 1 4 ------- | MOV C,H 1 4 ------- | MOV C,L 1 4 ------- | MOV C,M 1 7 ------- | MOV C,A 1 4 ------- |
5x | MOV D,B 1 4 ------- | MOV D,C 1 4 ------- | MOV D,D 1 4 ------- | MOV D,E 1 4 ------- | MOV D,H 1 4 ------- | MOV D,L 1 4 ------- | MOV D,M 1 7 ------- | MOV D,A 1 4 ------- | MOV E,B 1 4 ------- | MOV E,C 1 4 ------- | MOV E,D 1 4 ------- | MOV E,E 1 4 ------- | MOV E,H 1 4 ------- | MOV E,L 1 4 ------- | MOV E,M 1 7 ------- | MOV E,A 1 4 ------- |
6x | MOV H,B 1 4 ------- | MOV H,C 1 4 ------- | MOV H,D 1 4 ------- | MOV H,E 1 4 ------- | MOV H,H 1 4 ------- | MOV H,L 1 4 ------- | MOV H,M 1 7 ------- | MOV H,A 1 4 ------- | MOV L,B 1 4 ------- | MOV L,C 1 4 ------- | MOV L,D 1 4 ------- | MOV L,E 1 4 ------- | MOV L,H 1 4 ------- | MOV L,L 1 4 ------- | MOV L,M 1 7 ------- | MOV L,A 1 4 ------- |
7x | MOV M,B 1 7 ------- | MOV M,C 1 7 ------- | MOV M,D 1 7 ------- | MOV M,E 1 7 ------- | MOV M,H 1 7 ------- | MOV M,L 1 7 ------- | HLT 1 5 ------- | MOV M,A 1 7 ------- | MOV A,B 1 4 ------- | MOV A,C 1 4 ------- | MOV A,D 1 4 ------- | MOV A,E 1 4 ------- | MOV A,H 1 4 ------- | MOV A,L 1 4 ------- | MOV A,M 1 7 ------- | MOV A,A 1 4 ------- |
8x | ADD B 1 4 SZKAPVC | ADD C 1 4 SZKAPVC | ADD D 1 4 SZKAPVC | ADD E 1 4 SZKAPVC | ADD H 1 4 SZKAPVC | ADD L 1 4 SZKAPVC | ADD M 1 7 SZKAPVC | ADD A 1 4 SZKAPVC | ADC B 1 4 SZKAPVC | ADC C 1 4 SZKAPVC | ADC D 1 4 SZKAPVC | ADC E 1 4 SZKAPVC | ADC H 1 4 SZKAPVC | ADC L 1 4 SZKAPVC | ADC M 1 7 SZKAPVC | ADC A 1 4 SZKAPVC |
9x | SUB B 1 4 SZKAPVC | SUB C 1 4 SZKAPVC | SUB D 1 4 SZKAPVC | SUB E 1 4 SZKAPVC | SUB H 1 4 SZKAPVC | SUB L 1 4 SZKAPVC | SUB M 1 7 SZKAPVC | SUB A 1 4 SZKAPVC | SBB B 1 4 SZKAPVC | SBB C 1 4 SZKAPVC | SBB D 1 4 SZKAPVC | SBB E 1 4 SZKAPVC | SBB H 1 4 SZKAPVC | SBB L 1 4 SZKAPVC | SBB M 1 7 SZKAPVC | SBB A 1 4 SZKAPVC |
Ax | ANA B 1 4 SZKAPVC | ANA C 1 4 SZKAPVC | ANA D 1 4 SZKAPVC | ANA E 1 4 SZKAPVC | ANA H 1 4 SZKAPVC | ANA L 1 4 SZKAPVC | ANA M 1 7 SZKAPVC | ANA A 1 4 SZKAPVC | XRA B 1 4 SZKAPVC | XRA C 1 4 SZKAPVC | XRA D 1 4 SZKAPVC | XRA E 1 4 SZKAPVC | XRA H 1 4 SZKAPVC | XRA L 1 4 SZKAPVC | XRA M 1 7 SZKAPVC | XRA A 1 4 SZKAPVC |
Bx | ORA B 1 4 SZKAPVC | ORA C 1 4 SZKAPVC | ORA D 1 4 SZKAPVC | ORA E 1 4 SZKAPVC | ORA H 1 4 SZKAPVC | ORA L 1 4 SZKAPVC | ORA M 1 7 SZKAPVC | ORA A 1 4 SZKAPVC | CMP B 1 4 SZKAPVC | CMP C 1 4 SZKAPVC | CMP D 1 4 SZKAPVC | CMP E 1 4 SZKAPVC | CMP H 1 4 SZKAPVC | CMP L 1 4 SZKAPVC | CMP M 1 7 SZKAPVC | CMP A 1 4 SZKAPVC |
Cx | RNZ 1 12/6 ------- | POP B 1 10 ------- | JNZ a16 3 10/7 ------- | JMP a16 3 10 ------- | CNZ a16 3 18/9 ------- | PUSH B 1 12 ------- | ADI d8 2 7 SZKAPVC | RST 0 1 12 ------- | RZ 1 12/6 ------- | RET 1 10 ------- | JZ a16 3 10/7 ------- | *RSTV 1 12/6 ------- | CZ a16 3 18/9 ------- | CALL a16 3 18 ------- | ACI d8 2 7 SZKAPVC | RST 1 1 12 ------- |
Dx | RNC 1 12/6 ------- | POP D 1 10 ------- | JNC a16 3 10/7 ------- | OUT d8 2 10 ------- | CNC a16 3 18/9 ------- | PUSH D 1 12 ------- | SUI d8 2 7 SZKAPVC | RST 2 1 12 ------- | RC 1 12/6 ------- | *SHLX 1 10 ------- | JC a16 3 10/7 ------- | IN d8 2 10 ------- | CC a16 3 18/9 ------- | *JNK a16 3 10/7 ------- | SBI d8 2 7 SZKAPVC | RST 3 1 12 ------- |
Ex | RPO 1 12/6 ------- | POP H 1 10 ------- | JPO a16 3 10/7 ------- | XTHL 1 16 ------- | CPO a16 3 18/9 ------- | PUSH H 1 12 ------- | ANI d8 2 7 SZKAPVC | RST 4 1 12 ------- | RPE 1 12/6 ------- | PCHL 1 6 ------- | JPE a16 3 10/7 ------- | XCHG 1 4 ------- | CPE a16 3 18/9 ------- | *LHLX 1 10 ------- | XRI d8 2 7 SZKAPVC | RST 5 1 12 ------- |
Fx | RP 1 12/6 ------- | POP PSW 1 10 SZKAPVC | JP a16 3 10/7 ------- | DI 1 4 ------ | CP a16 3 18/9 ------- | PUSH PSW 1 12 ------- | ORI d8 2 7 SZKAPVC | RST 6 1 12 ------- | RM 1 12/6 ------- | SPHL 1 6 ------- | JM a16 3 10/7 ------- | EI 1 4 ------- | CM a16 3 18/9 ------- | *JK a16 3 10/7 ------- | CPI d8 2 7 SZKAPVC | RST 7 1 12 ------- |
|
|
Duration of conditional calls and returns is different when action is taken or not. This is indicated by two numbers separated by "/". The higher number (on the left side of "/") means duration of instruction when action is taken, the lower number (on the right side of "/") means duration of instruction when action is not taken. All instructions marked by "*" are not documented. |
Flags affected are always shown in S Z K A P V C order. If flag is marked by "0" it means it is reset after the instruction. If it is marked by "1" it is set. If it is marked by "-" it is not changed. If it is marked by "S", "Z", "K", "A", "P", "V" or "C" corresponding flag is affected by particular instruction. d8 means immediate 8 bit data, in LDHI and LDSI instructions the argument is treated as unsigned d16 means immediate 16 bit data a16 means 16 bit address JNK has alternative mnemonic JNX5 or JNUI JK has alternative mnemonic JX5 or JUI |
|
Flag register (F) bits:
S - Sign Flag Z - Zero Flag K - also called X5 or UI (underflow or overflow indicator), undocumented A - also called AC, Auxiliary Carry Flag 0 - Not used, always zero P - Parity Flag V - Overflow Flag, undocumented C - Carry Flag |