A massively popular and influential 8-bit microprocessor originally released in 1974. Among other uses, it powered the Altair 8800 and served as the basis for the Z80 and the LR35902.
The 8080 has the following registers:
15…8 | 7…0 | |
A | F | PSW |
B | C | B |
D | E | D |
H | L | H |
SP | |
PC | |
Flags register:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
S | Z | 0 | A | 0 | P | 1 | C |
Like its descendants, the 8080 stores addresses in little-endian format and has a stack that grows downward.
Table 1: Opcode table
| x0 | x1 | x2 | x3 | x4 | x5 | x6 | x7 | x8 | x9 | xA | xB | xC | xD | xE | xF |
0x | NOP | LXI B,d16 | STAX B | INX B | INR B | DCR B | MVI B,d8 | MVI B,d8 | *NOP | DAD B | LDAX B | DCX B | INR C | DCR C | MVI C,d8 | RRC |
1x | *NOP | LXI D,d16 | STAX D | INX D | INR D | DCR D | MVI D,d8 | RAL | *NOP | DAD D | LDAX D | DCX D | INR E | DCR E | MVI E,d8 | RAR |
2x | *NOP | LXI H,d16 | SHLD a16 | INX H | INR H | DCR H | MVI H,d8 | DAA | *NOP | DAD H | LHLD a16 | DCX H | INR L | DCR L | MVI L,d8 | CMA |
3x | *NOP | LXI SP,d16 | STA a16 | INX SP | INR M | DCR M | MVI M,d8 | STC | *NOP | DAD SP | LDA a16 | DCX SP | INR A | DCR A | MVI A,d8 | CMC |
4x | 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 C,B | MOV C,C | MOV C,D | MOV C,E | MOV C,H | MOV C,L | MOV C,M | MOV C,A |
5x | 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 E,B | MOV E,C | MOV E,D | MOV E,E | MOV E,H | MOV E,L | MOV E,M | MOV E,A |
6x | 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 L,B | MOV L,C | MOV L,D | MOV L,E | MOV L,H | MOV L,L | MOV L,M | MOV L,A |
7x | MOV M,B | MOV M,C | MOV M,D | MOV M,E | MOV M,H | MOV M,L | HLT | MOV M,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 |
8x | ADD B | ADD C | ADD D | ADD E | ADD H | ADD L | ADD M | ADD A | ADC B | ADC C | ADC D | ADC E | ADC H | ADC L | ADC M | ADC A |
9x | SUB B | SUB C | SUB D | SUB E | SUB H | SUB L | SUB M | SUB A | SBB B | SBB C | SBB D | SBB E | SBB H | SBB L | SBB M | SBB A |
Ax | ANA B | ANA C | ANA D | ANA E | ANA H | ANA L | ANA M | ANA A | XRA B | XRA C | XRA D | XRA E | XRA H | XRA L | XRA M | XRA A |
Bx | ORA B | ORA C | ORA D | ORA E | ORA H | ORA L | ORA M | ORA A | CMP B | CMP C | CMP D | CMP E | CMP H | CMP L | CMP M | CMP A |
Cx | RNZ | POP B | JNZ a16 | JMP a16 | CNZ a16 | PUSH B | ADI d8 | RST 0 | RZ | RET | JZ a16 | *JMP a16 | CZ a16 | CALL a16 | ACI d8 | RST 1 |
Dx | RNC | POP D | JNC a16 | OUT d8 | CNC a16 | PUSH D | SUI d8 | RST 2 | RC | *RET | JC a16 | IN d8 | CC a16 | *CALL a16 | SBI d8 | RST 3 |
Ex | RPO | POP H | JPO a16 | XTHL | CPO a16 | PUSH H | ANI d8 | RST 4 | RPE | PCHL | JPE a16 | XCHG | CPE a16 | *CALL a16 | XRI d8 | RST 5 |
Fx | RP | POP PSW | JP a16 | DI | CP a16 | PUSH PSW | ORI d8 | RST 6 | RM | SPHL | JM a16 | EI | CM a16 | *CALL a16 | CPI d8 | RST 7 |