Here is a list of how many clockcycles
the z80 instructions take.
Let's optimize!

Mnemonic     Clock Siz OP-Code

ADC A,(HL)    7     1   8E
ADC A,(IX+N)  19    3   DD 8E XX
ADC A,(IY+N)  19    3   FD 8E XX
ADC A,r       4     1   88+rb
ADC A,N       7     2   CE XX
ADC HL,BC     15    2   ED 4A
ADC HL,DE     15    2   ED 5A
ADC HL,HL     15    2   ED 6A
ADC HL,SP     15    2   ED 7A
ADD A,(HL)    7     1   86
ADD A,(IX+N)  19    3   DD 86 XX
ADD A,(IY+N)  19    3   FD 86 XX
ADD A,r       4     1   80+rb
ADD A,N       7     2   C6 XX
ADD HL,BC     11    1   09
ADD HL,DE     11    1   19
ADD HL,HL     11    1   29
ADD HL,SP     11    1   39
ADD IX,BC     15    2   DD 09
ADD IX,DE     15    2   DD 19
ADD IX,IX     15    2   DD 29
ADD IX,SP     15    2   DD 39
ADD IY,BC     15    2   FD 09
ADD IY,DE     15    2   FD 19
ADD IY,IY     15    2   FD 29
ADD IY,SP     15    2   FD 39
AND (HL)      7     1   A6
AND (IX+N)    19    3   DD A6 XX
AND (IY+N)    19    3   FD A6 XX
AND r         4     1   A0+rb
AND N         7     2   E6 XX
BIT b,(HL)    12    2   CB 46+8*b
BIT b,(IX+N)  20    4   DD CB XX 46+8*b
BIT b,(IY+N)  20    4   FD CB XX 46+8*b
BIT b,r       8     2   CB 40+8*b+rb
CALL C,NN     17/1  3   DC XX XX
CALL M,NN     17/1  3   FC XX XX
CALL NC,NN    17/1  3   D4 XX XX
CALL NC,NN    17/1  3   D4 XX XX
CALL NN       17    3   CD XX XX
CALL NZ,NN    17/1  3   C4 XX XX
CALL P,NN     17/1  3   F4 XX XX
CALL PE,NN    17/1  3   EC XX XX
CALL PO,NN    17/1  3   E4 XX XX
CALL Z,NN     17/1  3   CC XX XX
CCF           4     1   3F
CP (HL)       7     1   BE
CP (IX+N)     19    3   DD BE XX
CP (IY+N)     19    3   FD BE XX
CP r          4     1   B8+rb
CP N          7     2   FE XX
CPD           16    2   ED A9
CPDR          21/1  2   ED B9
CPI           16    2   ED A1
CPIR          21/1  2   ED B1
CPL           4     1   2F
DAA           4     1   27
DEC (HL)      11    1   35
DEC (IX+N)    23    3   DD 35 XX
DEC (IY+N)    23    3   FD 35 XX
DEC A         4     1   3D
DEC B         4     1   05
DEC BC        6     1   0B
DEC C         4     1   0D
DEC D         4     1   15
DEC DE        6     1   1B
DEC E         4     1   1D
DEC H         4     1   25
DEC HL        6     1   2B
DEC IX        10    2   DD 2B
DEC IY        10    2   FD 2B
DEC L         4     2   2D
DEC SP        6     1   3B
DI            4     1   F3
DJNZ $+2      13/8  1   10
EI            4     1   FB
EX (SP),HL    19    1   E3
EX (SP),IX    23    2   DD E3
EX (SP),IY    23    2   FD E3
EX AF,AF'     4     1   08
EX DE,HL      4     1   EB
EXX           4     1   D9
HALT          4     1   76
IM 0          8     2   ED 46
IM 1          8     2   ED 56
IM 2          8     2   ED 5E
IN A,(C)      12    2   ED 78
IN A,(N)      11    2   DB XX
IN B,(C)      12    2   ED 40
IN C,(C)      12    2   ED 48
IN D,(C)      12    2   ED 50
IN E,(C)      12    2   ED 58
IN H,(C)      12    2   ED 60
IN L,(C)      12    2   ED 68
INC (HL)      11    1   34
INC (IX+N)    23    3   DD 34 XX
INC (IY+N)    23    3   FD 34 XX
INC A         4     1   3C
INC B         4     1   04
INC BC        6     1   03
INC C         4     1   0C
INC D         4     1   14
INC DE        6     1   13
INC E         4     1   1C
INC H         4     1   24
INC HL        6     1   23
INC IX        10    2   DD 23
INC IY        10    2   FD 23
INC L         4     1   2C
INC SP        6     1   33
IND           16    2   ED AA
INDR          21/1  2   ED BA
INI           16    2   ED A2
INIR          21/1  2   ED B2
JP $NN        10    3   C3 XX XX
JP (HL)       4     1   E9
JP (IX)       8     2   DD E9
JP (IY)       8     2   FD E9
JP C,$NN      10/1  3   DA XX XX
JP M,$NN      10/1  3   FA XX XX
JP NC,$NN     10/1  3   D2 XX XX
JP NZ,$NN     10/1  3   C2 XX XX
JP P,$NN      10/1  3   F2 XX XX
JP PE,$NN     10/1  3   EA XX XX
JP PO,$NN     10/1  3   E2 XX XX
JP Z,$NN      10/1  3   CA XX XX
JR $N+2       12    2   18 XX
JR C,$N+2     12/7  2   38 XX
JR NC,$N+2    12/7  2   30 XX
JR NZ,$N+2    12/7  2   20 XX
JR Z,$N+2     12/7  2   28 XX
LD (BC),A     7     1   02
LD (DE),A     7     1   12
LD (HL),r     7     1   70+rb
LD (HL),N     10    2   36 XX
LD (IX+N),r   19    3   DD 70+rb XX
LD (IX+N),N   19    4   DD 36 XX XX
LD (IY+N),r   19    3   FD 70+rb XX
LD (IY+N),N   19    4   FD 36 XX XX
LD (NN),A     13    3   32 XX XX
LD (NN),BC    20    4   ED 43 XX XX
LD (NN),DE    20    4   ED 53 XX XX
LD (NN),HL    16    3   22 XX XX
LD (NN),IX    20    4   DD 22 XX XX
LD (NN),IY    20    4   FD 22 XX XX
LD (NN),SP    20    4   ED 73 XX XX
LD A,(BC)     7     1   0A
LD A,(DE)     7     1   1A
LD A,(HL)     7     1   7E
LD A,(IX+N)   19    3   DD 7E XX
LD A,(IY+N)   19    3   FD 7E XX
LD A,(NN)     13    3   3A XX XX
LD A,r        4     1   78+rb
LD A,I        9     2   ED 57
LD A,N        7     2   3E XX
LD B,(HL)     7     1   46
LD B,(IX+N)   19    3   DD 46 XX
LD B,(IY+N)   19    3   FD 46 XX
LD B,r        4     1   40+rb
LD B,N        7     2   06 XX
LD BC,(NN)    20    4   ED 4B XX XX
LD BC,NN      10    3   01 XX XX
LD C,(HL)     7     1   4E
LD C,(IX+N)   19    3   DD 4E XX
LD C,(IY+N)   19    3   FD 4E XX
LD C,r        4     1   48+rb
LD C,N        7     2   0E XX
LD D,(HL)     7     1   56
LD D,(IX+N)   19    3   DD 56 XX
LD D,(IY+N)   19    3   FD 56 XX
LD D,r        4     1   50+rb
LD D,N        7     2   16 XX
LD DE,(NN)    20    4   ED 5B XX XX
LD DE,NN      10    3   11 XX XX
LD E,(HL)     7     1   5E
LD E,(IX+N)   19    3   DD 5E XX
LD E,(IY+N)   19    3   FD 5E XX
LD E,r        4     1   58+rb
LD E,N        7     2   1E XX
LD H,(HL)     7     1   66
LD H,(IX+N)   19    3   DD 66 XX
LD H,(IY+N)   19    3   FD 66 XX
LD H,r        4     1   60+rb
LD H,N        7     2   26 XX
LD HL,(NN)    20    3   2A XX XX
LD HL,NN      10    3   21 XX XX
LD I,A        9     2   ED 47
LD IX,(NN)    20    4   DD 2A XX XX
LD IX,NN      14    4   DD 21 XX XX
LD IY,(NN)    20    4   FD 2A XX XX
LD IY,NN      14    4   FD 21 XX XX
LD L,(HL)     7     1   6E
LD L,(IX+N)   19    3   DD 6E XX
LD L,(IY+N)   19    3   FD 6E XX
LD L,r        4     1   68+rb
LD L,N        7     2   2E XX
LD SP,(NN)    20    4   ED 7B XX XX
LD SP,HL      6     1   F9
LD SP,IX      10    2   DD F9
LD SP,IY      10    2   FD F9
LD SP,NN      10    3   31 XX XX
LDD           16    2   ED A8
LDDR          21/1  2   ED B8
LDI           16    2   ED A0
LDIR          21/1  2   ED B0
NEG           8     2   ED 44
NOP           4     1   00
OR (HL)       7     1   B6
OR (IX+N)     19    3   DD B6 XX
OR (IY+N)     19    3   FD B6 XX
OR r          4     1   B0+rb
OR N          7     2   F6 XX
OTDR          21/1  2   ED BB
OTIR          21/1  2   ED B3
OUT (C),A     12    2   ED 79
OUT (C),B     12    2   ED 41
OUT (C),C     12    2   ED 49
OUT (C),D     12    2   ED 51
OUT (C),E     12    2   ED 59
OUT (C),H     12    2   ED 61
OUT (C),L     12    2   ED 69
OUT (N),A     11    2   D3 XX
OUTD          16    2   ED AB
OUTI          16    2   ED A3
POP AF        10    1   F1
POP BC        10    1   C1
POP DE        10    1   D1
POP HL        10    1   E1
POP IX        14    2   DD E1
POP IY        14    2   FD E1
PUSH AF       11    1   F5
PUSH BC       11    1   C5
PUSH DE       11    1   D5
PUSH HL       11    1   E5
PUSH IX       15    2   DD E5
PUSH IY       15    2   FD E5
RES b,(HL)    15    2   CB 86+8*b
RES b,(IX+N)  23    4   DD CB XX 86+8*b
RES b,(IY+N)  23    4   FD CB XX 86+8*b
RES b,r       8     2   CB 80+8*b+rb
RET           10    1   C9
RET C         11/5  1   D8
RET M         11/5  1   F8
RET NC        11/5  1   D0
RET NZ        11/5  1   C0
RET P         11/5  1   F0
RET PE        11/5  1   E8
RET PO        11/5  1   E0
RET Z         11/5  1   C8
RETI          14    2   ED 4D
RETN          14    2   ED 45
RL (HL)       15    2   CB 16
RL r          8     2   CB 10+rb
RL (IX+N)     23    4   DD CB XX 16
RL (IY+N)     23    4   FD CB XX 16
RLA           4     1   17
RLC (HL)      15    2   CB 06
RLC (IX+N)    23    4   DD CB XX 06
RLC (IY+N)    23    4   FD CB XX 06
RLC r         8     2   CB 00+rb
RLCA          4     1   07
RLD           18    2   ED 6F
RR (HL)       15    2   CB 1E
RR r          8     2   CB 18+rb
RR (IX+N)     23    4   DD CB XX 1E
RR (IY+N)     23    4   FD CB XX 1E
RRA           4     1   1F
RRC (HL)      15    2   CB 0E
RRC (IX+N)    23    4   DD CB XX 0E
RRC (IY+N)    23    4   FD CB XX 0E
RRC r         8     2   CB 08+rb
RRCA          4     1   0F
RRD           18    2   ED 67
RST 0         11    1   C7
RST 8H        11    1   CF
RST 10H       11    1   D7
RST 18H       11    1   DF
RST 20H       11    1   E7
RST 28H       11    1   EF
RST 30H       11    1   F7
RST 38H       11    1   FF
SBC (HL)      7     1   9E
SBC A,(IX+N)  19    3   DD 9E XX
SBC A,(IY+N)  19    3   FD 9E XX
SBC A,N       7     2   DE XX
SBC r         4     1   98+rb
SBC HL,BC     15    2   ED 42
SBC HL,DE     15    2   ED 52
SBC HL,HL     15    2   ED 62
SBC HL,SP     15    2   ED 72
SCF           4     1   37
SET b,(HL)    15    2   CB C6+8*b
SET b,(IX+N)  23    4   DD CB XX C6+8*b
SET b,(IY+N)  23    4   FD CB XX C6+8*b
SET b,r       8     2   CB C0+8*b+rb
SLA (HL)      15    2   CB 26
SLA (IX+N)    23    4   DD CB XX 26
SLA (IY+N)    23    4   FD CB XX 26
SLA r         8     2   CB 20+rb
SRA (HL)      15    2   CB 2E
SRA (IX+N)    23    4   DD CB XX 2E
SRA (IY+N)    23    4   FD CB XX 2E
SRA r         8     2   CB 28+rb
SRL (HL)      15    2   CB 3E
SRL (IX+N)    23    4   DD CB XX 3E
SRL (IY+N)    23    4   FD CB XX 3E
SRL r         8     2   CB 38+rb
SUB (HL)      7     1   96
SUB (IX+N)    19    3   DD 96 XX
SUB (IY+N)    19    3   FD 96 XX
SUB r         4     1   90+rb
SUB N         7     2   D6 XX
XOR (HL)      7     1   AE
XOR (IX+N)    19    3   DD AE XX
XOR (IY+N)    19    3   FD AE XX
XOR r         4     1   A8+rb
XOR N         7     2   EE XX

r means register. Can be A,B,C,D,E,H,L.
Add this to last byte of OP-code:
Reg     regbits
A       7
B       0
C       1
D       2
E       3
H       4
L       5
On >LD (IX+N),r< and >LD (IY+N),r< you
add it to the byte before the last.

b means bit. Can be 0-7. Increase the
last byte of OP-code with 8*b.
Used in SET, BIT and RES.

If there is two numbers given at Clock,
then the highest is when the jump is
taken.

Collected by Oscar Lindberg 960324
(offler@skip.adb.gu.se) from:
Z80 pocketbook
Z80 assembly language programming


