Skip to content

Intel 8080

The register pairs behind the Z80’s inheritance

Intel’s 8-bit 8080 supplied the instruction base that the Z80 extended. Its accumulator, register pairs, memory stack and separate I/O space explain both the connection and its limits.

The Intel 8080 is an 8-bit processor whose register names survived inside a rival design. A Z80 programmer still meets A, B, C, D, E, H and L, and still uses BC, DE and HL as pairs. Zilog extended the instruction base rather than making programmers start again. Comparing the two manufacturers’ manuals shows what was carried over, and where the machines diverge.

Eight bits of data, sixteen bits of address

A is the accumulator: the usual destination for arithmetic and logical results. The other six work registers can hold individual bytes. Some instructions treat them as three 16-bit pairs. HL has a particularly useful role as a pointer into memory.

Intel’s assembly notation can hide that distinction. In ADD B, B means one byte. In PUSH B, it means the BC pair. M names the memory byte addressed by HL, so MOV A,M loads that byte into A. Zilog’s equivalent spelling, LD A,(HL), makes the indirection more visible. These are assembler spellings for the corresponding machine operations, rather than evidence that the source texts are interchangeable. (Intel, chapter 1; Zilog, instruction descriptions.)

The program counter and stack pointer are 16-bit. The address space holds 65,536 bytes, but the processor does not supply that much RAM itself. Calls and pushes use a stack in external memory. A program must establish a suitable writable stack before relying on it; the stack is not a small, separate store hidden inside the chip.

Ports belong to the machine

IN and OUT access a separate I/O space. Their port numbers identify hardware chosen by the computer’s designer. A port that controls a terminal on one machine might do something entirely different on another. The CPU instruction specifies the transfer; the surrounding circuitry gives it meaning. (Intel, pp. 1-12–1-16.)

That is why an instruction-compatible processor does not by itself make a compatible computer. Memory maps, firmware calls, devices and timing still matter. The Z80 also extends the register set and instruction set, and its parity/overflow flag has instruction-dependent overflow uses beyond the 8080’s parity flag. Software that relies on a particular flag result deserves closer inspection than a shared opcode name.

The connection runs through Federico Faggin, who worked on the 8080 before co-founding Zilog. The 8080 gives that story a concrete programming link: a later processor could add capabilities while retaining the working registers and instruction base that programmers already knew.

Sources

  • Intel, 8080/8085 Assembly Language Programming Manual, November 1978, chapter 1 and instruction descriptions. Original manual.
  • Zilog, Z80 CPU User Manual, UM008011-0816, August 2016: architecture, flags and instruction descriptions. Manufacturer manual.

Checked. Verified against primary sources and signed off by a person.