Appendix A: The character set
This is the complete Spectrum character set, with codes in decimal and hex. If one imagines the codes as being Z80 machine code instructions, then the right hand columns give the corresponding assembly language mnemonics. As you are probably aware if you understand these things, certain Z80 instructions are compounds starting with CBh or EDh; the two right hand columns give these.
Code |
Character |
Hex |
Z80 Assembler |
after CB |
after ED |
0 |
Not used |
00 |
nop |
rlc b |
|
1 |
Not used |
01 |
ld bc,NN |
rlc c |
|
2 |
Not used |
02 |
ld (bc),a |
rlc d |
|
3 |
Not used |
03 |
inc bc |
rlc e |
|
4 |
Not used |
04 |
inc b |
rlc h |
|
5 |
Not used |
05 |
dec b |
rlc l |
|
6 |
PRINT comma |
06 |
ld b,N |
rlc (hl) |
|
7 |
Edit |
07 |
rlca |
rlc a |
|
8 |
08 |
ex af,af' |
rrc b |
|
|
9 |
09 |
add hl,bc |
rrc c |
|
|
10 |
0A |
ld a,(bc) |
rrc d |
|
|
11 |
0B |
dec bc |
rrc e |
|
|
12 |
Backspace |
0C |
incc |
rrch |
|
13 |
Enter |
0D |
dec c |
rrc |
|
14 |
number |
0E |
ld c,N |
rrc (hl) |
|
15 |
Not used |
0F |
rrca |
rrc a |
|
16 |
INK control |
10 |
djnz DIS |
rl b |
|
17 |
PAPER control |
11 |
ld de,NN |
rlc |
|
18 |
FLASH control |
12 |
ld (de),a |
rl d |
|
19 |
BRIGHT control |
13 |
inc de |
rl e |
|
20 |
INVERSE control |
14 |
inc d |
rl h |
|
21 |
OVER control |
15 |
dec d |
rl l |
|
22 |
AT control |
16 |
ld d,N |
rl (hl) |
|
23 |
TAB control |
17 |
rla |
rl a |
|
24 |
Not used |
18 |
jr DIS |
rr b |
|
25 |
Not used |
19 |
add hl,de |
rr c |
|
26 |
Not used |
1A |
ld a,(de) |
rr d |
|
27 |
Not used |
1B |
dec de |
rr e |
|
28 |
Not used |
1C |
inc e |
rr h |
|
29 |
Not used |
1D |
dec e |
rr l |
|
30 |
Not used |
1E |
ld e,N |
rr (hl) |
|
31 |
Not used |
1F |
rra |
rr a |
|
32 |
Space |
20 |
jr nz, DIS |
sla b |
|
33 |
! |
21 |
ld hl,NN |
sla c |
|
34 |
" |
22 |
ld (NN),hl |
sla d |
|
35 |
# |
23 |
inc hl |
sla e |
|
36 |
$ |
24 |
inc h |
sla h |
|
37 |
% |
25 |
dec h |
sla l |
|
38 |
& |
26 |
ld h,N |
sla (hl) |
|
39 |
, |
27 |
daa |
sla a |
|
40 |
( |
28 |
jr z,DIS |
sra b |
|
41 |
) |
29 |
add hl,hl |
sra c |
|
42 |
* |
2A |
ld hl,(NN)sra d |
||
43 |
+ |
2B |
dec hl |
sra e |
|
44 |
, |
2C |
inc ll |
sra h |
|
45 |
- |
2D |
dec l |
sra l |
|
46 |
. |
2F |
ld l,N |
sra (hl) |
|
47 |
/ |
2F |
cpl |
sra a |
|
48 |
0 |
30 |
jr nc,DIS |
|
|
49 |
1 |
31 |
ld sp,NN |
|
|
50 |
2 |
32 |
ld (NN),a |
|
|
51 |
3 |
33 |
inc sp |
|
|
52 |
4 |
34 |
inc (hl) |
|
|
53 |
5 |
35 |
dec (hl) |
|
|
54 |
6 |
36 |
ld (hl),N |
|
|
55 |
7 |
37 |
scf |
|
|
56 |
8 |
38 |
lr c,DIS |
srl b |
|
57 |
9 |
39 |
add hl,sp |
srl c |
|
58 |
: |
3A |
ld a,(NN) |
srl d |
|
59 |
; |
3B |
dec sp |
srl e |
|
60 |
< |
3C |
inc a |
srl h |
|
61 |
= |
3D |
dec a |
srl l |
|
62 |
> |
3E |
ld a,N |
srl (hl) |
|
63 |
? |
3F |
ccf |
srl a |
|
64 |
@ |
40 |
ld b,b |
bit 0,b |
in b,(c) |
65 |
A |
41 |
ld b,c |
bit 0,c |
out (c),b |
66 |
B |
42 |
ld b,d |
bit 0,d |
sbc hl,bc |
67 |
C |
43 |
ld b,e |
bit 0,e |
ld (NN),bc |
68 |
D |
44 |
ld b,h |
bit 0,h |
neg |
69 |
E |
45 |
ld b,l |
bit 0,1 |
retn |
70 |
F |
46 |
ld b,(hl) |
bit 0,(hl) |
im 0 |
71 |
G |
47 |
ld b,a |
bit 0,a |
ld i,a |
72 |
H |
48 |
ld c,b |
bit 1,b |
in c,(c) |
73 |
I |
49 |
ld cc |
bit 1,c |
out (c),c |
74 |
J |
4A |
ld c,d |
bit i,d |
adc hl,bc |
75 |
K |
4B |
ld c,e |
bit 1,e |
ld bc,(NN) |
76 |
L |
4C |
ld c,h |
bit 1,h |
|
77 |
M |
4D |
ld c,l |
bit 1,l |
reti |
78 |
N |
4E |
ld c,(hl) |
bit 1,(hl) |
|
79 |
O |
4F |
ld c,a |
bit 1,a |
ld r,a |
80 |
P |
50 |
ld d,b |
bit 2,b |
in d,(c) |
81 |
Q |
51 |
ld d,c |
bit 2,c |
out (c),d |
82 |
R |
52 |
ld d,d |
bit 2,d |
sbc hl,de |
83 |
S |
53 |
ld d,e |
bit 2,e |
ld (NN),de |
84 |
T |
54 |
ld d,h |
bit 2,h |
|
85 |
U |
55 |
ld d,l |
bit 2,l |
|
86 |
V |
56 |
ld d,(hl) |
bit 2,(hl) |
im 1 |
87 |
W |
57 |
ld d,a |
bit 2,a |
ld a,i |
88 |
X |
58 |
ld e,b |
bit 3,b |
in e,(c) |
89 |
Y |
59 |
ld e,c |
bit 3,c |
out (c),e |
90 |
Z |
5A |
ld e,d |
bit 3,d |
adc hl,de |
91 |
[ |
5B |
ld e,e |
bit 3,e |
ld de,(NN) |
92 |
/ |
5C |
ld e,h |
bit 3,h |
|
93 |
] |
5D |
ld e,l |
bit 3,l |
|
94 |
^ |
5E |
ld e,(hl) |
bit 3,(hl) |
im 2 |
95 |
_ |
5F |
ld e,a |
bit 3,a |
ld a,r |
96 |
£ |
60 |
ld h,b |
bit 4,b |
in h,(c) |
97 |
a |
61 |
ld h,c |
bit 4,c |
out (c),h |
98 |
b |
62 |
ld h,d |
bit 4,d |
sbc hl,hl |
99 |
c |
63 |
ld h,e |
bit 4,e |
ld (NN),hl |
100 |
d |
64 |
ld h,h |
bit 4,h |
|
101 |
e |
65 |
ld h,l |
bit 4,1 |
|
102 |
f |
66 |
ld h,(hl) |
bit 4,(hl) |
|
103 |
g |
67 |
ld h,a |
bit 4,a |
rrd |
104 |
h |
68 |
ld l,b |
bit 5,b |
in l,(c) |
105 |
i |
69 |
ld l,c |
bit 5,c |
out (c),l |
106 |
j |
6A |
ld l,d |
bit 5,d |
adc hl,hl |
107 |
k |
6B |
ld l,e |
bit 5,e |
ld hl,(NN),sp |
108 |
l |
6C |
ld l,h |
bit 5,h |
|
109 |
m |
6D |
ld l,l |
bit 5,l |
|
110 |
n |
6E |
ld l,(hl) |
bit 5,(hl) |
|
111 |
o |
6F |
ld l,a |
bit 5,a |
rld |
112 |
p |
70 |
ld (hl),b |
bit 6,b |
in f,(c) |
113 |
q |
71 |
ld (hl),c |
bit 6,c |
|
114 |
r |
72 |
ld (hl),d |
bit 6,d |
sbc hl,sp |
115 |
s |
73 |
ld (hl),e |
bit 6,e |
ld (NN),sp |
116 |
t |
74 |
ld (hl),h |
bit 6,h |
|
117 |
u |
75 |
ld (hl),l |
bit 6,l |
|
118 |
v |
76 |
halt |
bit 6,(hl) |
|
119 |
w |
77 |
ld (hl),a |
bit 6,a |
|
120 |
x |
78 |
ld a,b |
bit 7,b |
in a,(c) |
121 |
y |
79 |
ld a,c |
bit 7,c |
out (c),a |
122 |
z |
7A |
ld a,d |
bit 7,d |
adc hl,sp |
123 |
{ |
7B |
ld a,e |
bit 7,e |
ld sp,(NN) |
124 |
| |
7C |
lda,h |
bit 7,h |
|
125 |
} |
7D |
ld al |
bit 7,l |
|
126 |
- |
7E |
ld a,(hl) |
bit 7,(hl) |
|
127 |
© |
7F |
ld a,a |
bit 7,a |
|
128 |
80 |
add a,b |
res 0,b |
||
129 |
81 |
add a,c |
res 0,c |
||
130 |
82 |
add a,d |
res 0,d |
||
131 |
83 |
add a,e |
res 0,e |
||
132 |
84 |
add a,h |
res 0,h |
||
133 |
85 |
add a,l |
res 0,l |
||
134 |
86 |
add a,(hl) |
res 0,(hl) |
||
135 |
87 |
add a,a |
res 0,a |
||
136 |
88 |
adc a,b |
res 1,b |
||
137 |
89 |
adc a,c |
res 1,c |
||
138 |
8A |
adc a,d |
res 1,d |
||
139 |
8B |
adc a,e |
res 1,e |
||
140 |
8C |
adc a,h |
res 1,h |
||
141 |
8D |
adc a,l |
res 1,i |
||
142 |
8E |
adc a,(hl) |
res 1,(hl) |
||
143 |
8F |
adc a,a |
res 1,a |
|
|
144 |
(a) |
90 |
sub b |
res 2,b |
|
145 |
(b) |
91 |
sub c |
res 2,c |
|
146 |
(c) |
92 |
sub d |
res 2,d |
|
147 |
(d) |
93 |
sub e |
res 2,e |
|
148 |
(e) |
94 |
sub h |
res 2,h |
|
149 |
(f) |
95 |
sub l |
res 2,l |
|
150 |
(g) |
96 |
sub (hl) |
res 2,(hl) |
|
151 |
(h) |
97 |
sub a |
res 2,a |
|
152 |
(i) |
98 |
sbc a,b |
res 3,b |
|
153 |
(j) |
99 |
sbc a,c |
res 3,c |
|
154 |
(k) |
user |
9A |
sbc a,d |
res 3,d |
155 |
(l) |
graphics |
9B |
sbc a,e |
res 3,e |
156 |
(m) |
9C |
sbc a,h |
res 3,h |
|
157 |
(n) |
9D |
sbc a,l |
res 3,l |
|
158 |
(o) |
9E |
sbc a,(hl) |
res 3,(hl) |
|
159 |
(p) |
9F |
sbc a,a |
res 3,a |
|
160 |
(q) |
A0 |
and b |
res 4,b |
ld |
161 |
(r) |
A1 |
and c |
res 4,c |
cpi |
162 |
(s) |
A2 |
and d |
res 4,d |
ini |
163 |
(t) |
A3 |
and e |
res 4,e |
outi |
164 |
(u) |
A4 |
and h |
res 4,h |
|
165 |
A5 |
and l |
res 4,l |
||
166 |
A6 |
and (hl) |
res 4,(hl) |
||
167 |
A7 |
and a |
res 4,a |
||
168 |
A8 |
xor b |
res 5,b |
ldd |
|
169 |
A9 |
xor c |
res 5,c |
cpd |
|
170 |
AA |
xor d |
res 5,d |
ind |
|
171 |
AB |
xor e |
res 5,e |
outd |
|
172 |
AT |
AC |
xor h |
res 5,h |
|
173 |
TAB |
AD |
xor l |
res 5,i |
|
174 |
AE |
xor (hl) |
res 5,(hl) |
||
175 |
AF |
xor a |
res 5,a |
||
176 |
B0 |
or b |
res 6,b |
ldir |
|
177 |
B1 |
or c |
res 6,c |
cpir |
|
178 |
B2 |
or d |
res 6,d |
inir |
|
179 |
B3 |
or e |
res 6,e |
otir |
|
180 |
B4 |
or h |
res 6,h |
||
181 |
B5 |
or l |
res 6,l |
||
182 |
B6 |
or (hl) |
res 6,(hl) |
||
183 |
B7 |
or a |
res 6,a |
||
184 |
B8 |
cp b |
res 7,b |
lddr |
|
185 |
B9 |
cp c |
res 7,c |
cpdr |
|
186 |
BA |
cp d |
res 7,d |
indr |
|
187 |
BB |
cp e |
res 7,e |
otdr |
|
188 |
BC |
cp h |
res 7,h |
||
189 |
BD |
cp l |
res 7,l |
||
190 |
BE |
cp (hl) |
res 7,(hl) |
||
191 |
BF |
cp a |
res 7,a |
||
192 |
C0 |
ret nz |
set 0,b |
||
193 |
C1 |
pop bc |
set 0,c |
||
194 |
C2 |
jp nz,NN |
set 0,d |
||
195 |
C3 |
jp NN |
set 0,e |
||
196 |
C4 |
call nz,NN |
set 0,h |
||
197 |
C5 |
push bc |
set 0,l |
||
198 |
C6 |
add a,N |
set 0,(hl) |
||
199 |
<= |
C7 |
rst 0 |
set 0,a |
|
200 |
>= |
C8 |
ret z |
set 1,b |
|
201 |
<> |
C9 |
ret |
set l,c |
|
202 |
LINE |
CA |
jp z,NN |
set l,d |
|
203 |
THEN |
CB |
set l,e |
||
204 |
TO |
CC |
call z,NN |
set l,h |
|
205 |
STEP |
CD |
call NN |
set 1,l |
|
206 |
CE |
adc a,N |
set 1,(hl) |
||
207 |
CAT |
CF |
rst B |
set 1,a |
|
208 |
FORMAT |
D0 |
ret nc |
set 2,b |
|
209 |
MOVE |
D1 |
pop de |
set 2,c |
|
210 |
ERASE |
D2 |
jpnc,NN |
set 2,d |
|
211 |
OPEN # |
D3 |
out (N),a |
set 2,e |
|
212 |
CLOSE # |
D4 |
call nc,NN |
set 2,h |
|
213 |
D5 |
push de |
set 2,l |
||
214 |
D6 |
sub N |
set 2,(hl) |
||
215 |
D7 |
rst 16 |
set 2,a |
||
216 |
D8 |
ret c |
set 3,b |
||
217 |
D9 |
exx |
set 3,c |
||
218 |
DA |
jpc,NN |
set 3,d |
||
219 |
DB |
in a,(N) |
set 3,e |
||
220 |
DC |
call c,NN |
set 3,h |
||
221 |
DD |
[prefixes |
set 3,l |
||
222 |
DE |
sbc a,N |
set 3,(hl) |
||
223 |
DF |
rst 24 |
set 3,a |
||
224 |
E0 |
ret po |
set 4,b |
||
225 |
E1 |
pop hl |
set 4,c |
||
226 |
E2 |
jp po,NN |
set 4,d |
||
227 |
E3 |
ex (sp),hl |
set 4,e |
||
228 |
E4 |
call po,NN |
set 4,h |
||
229 |
E5 |
push hl |
set 4,l |
||
230 |
E6 |
and N |
set 4,(hl) |
||
231 |
E7 |
rst 32 |
set 4,a |
||
232 |
E8 |
ret pe |
set 5,b |
||
233 |
E9 |
jp (hl) |
set 5,c |
||
234 |
EA |
jp pe,NN |
set 5,d |
||
235 |
EB |
ex de,hl |
set 5,e |
||
236 |
EC |
call pe,NN |
set 5,h |
||
237 |
ED |
|
set 5,l |
||
238 |
EE |
xor N |
set 5,(hl) |
||
239 |
EF |
rst 40 |
set 5,a |
||
240 |
F0 |
ret p |
set 6,b |
||
241 |
F1 |
pop af |
set 6,c |
||
242 |
F2 |
jp p,NN |
set 6,d |
||
243 |
F3 |
di |
set 6,e |
||
244 |
F4 |
call p,NN |
set 6,h |
||
245 |
F5 |
push af |
set 6,l |
||
246 |
F6 |
or N |
set 6,(hl) |
||
247 |
F7 |
rst 48 |
set 6,a |
||
248 |
F8 |
ret m |
set 7,b |
||
249 |
F9 |
ld sp,hl |
set 7,c |
||
250 |
|
FA |
jp m,NN |
set 7,d |
|
251 |
FB |
ei |
set 7,e |
||
252 |
FC |
call m,NN |
set 7,h |
||
253 |
FD |
[prefixes |
set 7,l |
||
254 |
FE |
cp N |
set 7,(hl) |
||
255 |
FF |
rst 56 |
set 7,a |
|