Z80 Machine Language Quick Guide (c) Mary Bell

Mary created this guide to the Z80 machine code and Assembly instruction set mostly for my own purposes while using a Z80 and the Radio Shack TRS-80’s, so thought it might be of use to others when learning or editing code. The guide consists of a series of tables not unlike the original Zilog Z80 Reference Manual, with signifigant changes to make the act of coding or decoding a program less clumbersome. The HTML versions are a little bit cluttered, so I recommend the graphical representations at the end of the page to be printed or followed for the construction of a 3×5 table for use by hand. Use of the tables themselves is un-restricted for non-commercial purposes.

Jumps & INCs 00 to 3F

1’s
16’s>
0
1
2
3
0
JR
NOP
DJNZ
NZ
NC
1
nn->
BC
DE
HL
SP
2
A->
(BC)
(DE)
(HL)
(nn)
3
INC
BC
DE
HL
SP
4
INC
B
D
H
(HL)
5
DEC
B
D
H
(HL)
6
n->
B
D
H
(HL)
7
 —
RLCA
RLA
DAA
SCF
8
JR
AF<->AF’
UNC
Z
C
9
HL+
BC
DE
HL
SP
A
->A
(BC)
(DE)
(nn)->(HL)
(nn)
B
DEC
BC
DE
HL
SP
C
INC
C
E
L
A
D
DEC
C
E
L
A
E
n->
C
E
L
A
F
 —
RRCA
RRA
CPL
CCF

Call & Pushes C0 to FF

1’s
16’s>
C
D
E
F
0
RTN
NZ
NC
PO
NM
1
POP
BC
DE
HL
AF
2
JMP (nn)
NZ
NC
PO
NM
3
 —
JMP (nn)
OUT (n)
HL<->(SP)
DIS INT
4
CALL (nn)
NZ
NC
PO
NM
5
PUSH
BC
DE
HL
AF
6
A/n
+
AND
OR
7
RST
00h
10h
20h
30h
8
RTN
Z
C
PE
M
9
 —
RTN
EXX
JMP (HL)
HL->SP
A
JMP (nn)
Z
C
PE
M
B
 —
CNTL BITS
IN (n)
HL<->DE
ENA INT
C
CALL (nn)
Z
C
PE
M
D
 —
CALL (nn)
IX for HL
Ext Ins
IY for HL
E
A/n
+/cy
-/cy
XOR
CP
F
RST
08h
18h
28h
38h

Extended Instructions ED+n

1’s
16’s>
4
5
6
7
A
B
0
IN(c)
B
D
H
 —
LDI
LDIR
1
OUT(c)
B
D
H
 —
CPI
CPIR
2
HL-/cy
BC
DE
HL
SP
INI
INIR
3
->(nn)
BC
DE
 —
SP
OUTI
OUTIR
4
 —
NEG
 —
 —
 —
 —
 —
5
 —
RET NMI
 —
 —
 —
 —
 —
6
 —
IM0
IM2
 —
 —
 —
 —
7
 —
A->I
I->A
RRD
 
 
 —
8
IN(c)
C
E
L
A
LDD
LDDR
9
OUT(c)
C
E
L
A
CPD
CPDR
A
HL+/cy
BC
DE
HL
SP
IND
INDR
B
(nn)->
BC
DE
HL
SP
OUTD
OUTDR
C
 —
 
 —
 —
 —
 —
 —
D
 —
RET MI
 
 —
 —
 —
 —
E
 
 —
IM2
 
 —
 —
 —
F
 —
A->R
R->A
RLD
 —
 —
 —

Register Ops 40 to 7F

 source reg
 operations w/A BCDEHL(HL)A
+/cy-/cyXORCPCELA89ABCDEF<1’s
+ANDORBDH(HL)01234567<1’s
16’s>89AB4567
Ex: 9A=SBC A,Dmove destinationNote: 76=HALT

Control Bits CB+ 00-FF

Source RegEx: CB 5A=TEST BIT 3,D
BCDEHL(HL)ABIT#
1’s>89ABCDEF1357RRCRRSRASRL<ops
1’s>012345670246RLCRLSLA <ops
16’s>SET>CDEF0123<16’s
16’s>RESET>89AB<16’s
16’s>TEST>4567<16’s

Graphics Version

In case you want to print this out full page and then cut it apart and paste to 3 by 5 cards for a home-made handy reference.

Leave a Comment.