The list below gives all the Z80 instructions (including as many of the undocumented ones that I know of) with their timings and effects on the flags register.
Where similar instructions have the same timings and flag results I've separated the alternate forms with a "/". e.g. "CP (HL) /n" represents both "CP (HL)" and "CP n" (where n is an 8-bit value). Where two timings are listed for an opcode, the first is when the test condition is matched and the second when it isn't (for block operations, this means the implicit jump back to repeat).
At a later stage I will also add the machine state timings, possibly denoting where the fetch/execute overlap occurs.
Note: As well as the normal 8-bit registers "r" also represents the two halves, IXH, IXL, IYH or IYL of the 16-bit index registers.
The precise timings for memory contention vary depending on whether it's a pre-issue 3 48k model or not or a 128K toastrack/+2/ or +2A/+3.
Z80 Stuff >