plays well with others
The Z80's compatibility made it a shoe-in for system upgrades.
Instruction set: runs all 8080 software,
but
adds many instructions
, thus Z80 only CP/M programs.
Interrupt mode 0, 1, 2
mode 0: Intel 8080 compatibility:
The interrupting device places an instruction on the data bus
during the interrupt-acknowledge bus phase.
RST instructions are ideal for this:
they're one byte and allow for pseudo-vectored interrupts.
This way a Z80 CPU board in non-Z80 systems such as S100
interfaces directly to Intel legacy peripherals.
mode 1: as simple as can be:
jump to subroutine at address 38h.
Ideal for simple embedded systems.
Don't forget to use NMI (non maskable interrupt) too!
By the way, interrupt mode 1 is the same
as mode 0 given a reply of 0xFF: restart 0038h
mode 2: Zilog native mode.
The device responds to the
interrupt-acknowledge bus phase
with a 7 bit interrupt vector.
The I (interrupt) register forms the upper 8 bits,
the vector reply forms the lower 8 bits
for a JSR to the
A jump to subroutine is taken to
This is where Zilog's Z80 native peripherals really shine.
They self arbitrate their interrupt priority using a daisy-chain.
(no interrupt controller needed like the PC,
thus only 8 interrupts on the PC-XT, 15 on the PC-AT)