tpasm 1.2 Assembling on Fri Oct 13 09:45:59 2006
Source File: testz80.asm
Line Loc Object/(Value) T Source
----- -------- -------------- - ------
1 00000000 // z80 test code
2 00000000 // Sample source file demonstrating/testing tpasm
3 00000000 // assemble this with:
4 00000000 // tpasm -P z80 -I ../include -l testz80.lst -o intel testz80.hex testz80.asm
5 00000000
6 00000000 (00000063) variable .set 99
7 00000000
8 00000000
9 00000000 seg code
10 00000000 org 0x0000
11 00000000
12 00000000 reset:
13 00000000 CE A5 adc a,0xa5 ; ce a5
14 00000002 8E adc a,(hl) ; 8e
15 00000003 DD 8E 12 adc a,(ix+disp) ; dd 8e 12
16 00000006 FD 8E 12 adc a,(iy+disp) ; fd 8e 12
17 00000009 8F adc a,a ; 8f
18 0000000A 88 adc a,b ; 88
19 0000000B 89 adc a,c ; 89
20 0000000C 8A adc a,d ; 8a
21 0000000D 8B adc a,e ; 8b
22 0000000E 8C adc a,h ; 8c
23 0000000F 8D adc a,l ; 8d
24 00000010 ED 4A adc hl,bc ; ed 4a
25 00000012 ED 5A adc hl,de ; ed 5a
26 00000014 ED 6A adc hl,hl ; ed 6a
27 00000016 ED 7A adc hl,sp ; ed 7a
28 00000018
29 00000018 C6 A5 add a,0xa5 ; c6 a5
30 0000001A 86 add a,(hl) ; 86
31 0000001B DD 86 12 add a,(ix+disp) ; dd 86 12
32 0000001E FD 86 12 add a,(iy+disp) ; fd 86 12
33 00000021 87 add a,a ; 87
34 00000022 80 add a,b ; 80
35 00000023 81 add a,c ; 81
36 00000024 82 add a,d ; 82
37 00000025 83 add a,e ; 83
38 00000026 84 add a,h ; 84
39 00000027 85 add a,l ; 85
40 00000028 09 add hl,bc ; 09
41 00000029 19 add hl,de ; 19
42 0000002A 29 add hl,hl ; 29
43 0000002B 39 add hl,sp ; 39
44 0000002C DD 09 add ix,bc ; dd 09
45 0000002E DD 19 add ix,de ; dd 19
46 00000030 DD 29 add ix,hl ; dd 29
47 00000032 DD 39 add ix,sp ; dd 39
48 00000034 FD 09 add iy,bc ; fd 09
49 00000036 FD 19 add iy,de ; fd 19
50 00000038 FD 29 add iy,hl ; fd 29
51 0000003A FD 39 add iy,sp ; fd 39
52 0000003C
53 0000003C E6 A5 and 0xa5 ; e6 a5
54 0000003E A6 and (hl) ; a6
55 0000003F DD A6 12 and (ix+disp) ; dd a6 12
56 00000042 FD A6 12 and (iy+disp) ; fd a6 12
57 00000045 A7 and a ; a7
58 00000046 A0 and b ; a0
59 00000047 A1 and c ; a1
60 00000048 A2 and d ; a2
61 00000049 A3 and e ; a3
62 0000004A A4 and h ; a4
63 0000004B A5 and l ; a5
64 0000004C
65 0000004C CB 46 bit 0,(hl) ; cb 46
66 0000004E DD CB 12 46 bit 0,(ix+disp) ; dd cb 12 46
67 00000052 FD CB 12 46 bit 0,(iy+disp) ; fd cb 12 46
68 00000056 CB 47 bit 0,a ; cb 47
69 00000058 CB 40 bit 0,b ; cb 40
70 0000005A CB 41 bit 0,c ; cb 41
71 0000005C CB 42 bit 0,d ; cb 42
72 0000005E CB 43 bit 0,e ; cb 43
73 00000060 CB 44 bit 0,h ; cb 44
74 00000062 CB 45 bit 0,l ; cb 45
75 00000064
76 00000064 CB 4E bit 1,(hl) ; cb 4e
77 00000066 DD CB 12 4E bit 1,(ix+disp) ; dd cb 12 4e
78 0000006A FD CB 12 4E bit 1,(iy+disp) ; fd cb 12 4e
79 0000006E CB 4F bit 1,a ; cb 4f
80 00000070 CB 48 bit 1,b ; cb 48
81 00000072 CB 49 bit 1,c ; cb 49
82 00000074 CB 4A bit 1,d ; cb 4a
83 00000076 CB 4B bit 1,e ; cb 4b
84 00000078 CB 4C bit 1,h ; cb 4c
85 0000007A CB 4D bit 1,l ; cb 4d
86 0000007C
87 0000007C CB 56 bit 2,(hl) ; cb 56
88 0000007E DD CB 12 56 bit 2,(ix+disp) ; dd cb 12 56
89 00000082 FD CB 12 56 bit 2,(iy+disp) ; fd cb 12 56
90 00000086 CB 57 bit 2,a ; cb 57
91 00000088 CB 50 bit 2,b ; cb 50
92 0000008A CB 51 bit 2,c ; cb 51
93 0000008C CB 52 bit 2,d ; cb 52
94 0000008E CB 53 bit 2,e ; cb 53
95 00000090 CB 54 bit 2,h ; cb 54
96 00000092 CB 55 bit 2,l ; cb 55
97 00000094
98 00000094 CB 5E bit 3,(hl) ; cb 5e
99 00000096 DD CB 12 5E bit 3,(ix+disp) ; dd cb 12 5e
100 0000009A FD CB 12 5E bit 3,(iy+disp) ; fd cb 12 5e
101 0000009E CB 5F bit 3,a ; cb 5f
102 000000A0 CB 58 bit 3,b ; cb 58
103 000000A2 CB 59 bit 3,c ; cb 59
104 000000A4 CB 5A bit 3,d ; cb 5a
105 000000A6 CB 5B bit 3,e ; cb 5b
106 000000A8 CB 5C bit 3,h ; cb 5c
107 000000AA CB 5D bit 3,l ; cb 5d
108 000000AC
109 000000AC CB 66 bit 4,(hl) ; cb 66
110 000000AE DD CB 12 66 bit 4,(ix+disp) ; dd cb 12 66
111 000000B2 FD CB 12 66 bit 4,(iy+disp) ; fd cb 12 66
112 000000B6 CB 67 bit 4,a ; cb 67
113 000000B8 CB 60 bit 4,b ; cb 60
114 000000BA CB 61 bit 4,c ; cb 61
115 000000BC CB 62 bit 4,d ; cb 62
116 000000BE CB 63 bit 4,e ; cb 63
117 000000C0 CB 64 bit 4,h ; cb 64
118 000000C2 CB 65 bit 4,l ; cb 65
119 000000C4
120 000000C4 CB 6E bit 5,(hl) ; cb 6e
121 000000C6 DD CB 12 6E bit 5,(ix+disp) ; dd cb 12 6e
122 000000CA FD CB 12 6E bit 5,(iy+disp) ; fd cb 12 6e
123 000000CE CB 6F bit 5,a ; cb 6f
124 000000D0 CB 68 bit 5,b ; cb 68
125 000000D2 CB 69 bit 5,c ; cb 69
126 000000D4 CB 6A bit 5,d ; cb 6a
127 000000D6 CB 6B bit 5,e ; cb 6b
128 000000D8 CB 6C bit 5,h ; cb 6c
129 000000DA CB 6D bit 5,l ; cb 6d
130 000000DC
131 000000DC CB 76 bit 6,(hl) ; cb 76
132 000000DE DD CB 12 76 bit 6,(ix+disp) ; dd cb 12 76
133 000000E2 FD CB 12 76 bit 6,(iy+disp) ; fd cb 12 76
134 000000E6 CB 77 bit 6,a ; cb 77
135 000000E8 CB 70 bit 6,b ; cb 70
136 000000EA CB 71 bit 6,c ; cb 71
137 000000EC CB 72 bit 6,d ; cb 72
138 000000EE CB 73 bit 6,e ; cb 73
139 000000F0 CB 74 bit 6,h ; cb 74
140 000000F2 CB 75 bit 6,l ; cb 75
141 000000F4
142 000000F4 CB 7E bit 7,(hl) ; cb 7e
143 000000F6 DD CB 12 7E bit 7,(ix+disp) ; dd cb 12 7e
144 000000FA FD CB 12 7E bit 7,(iy+disp) ; fd cb 12 7e
145 000000FE CB 7F bit 7,a ; cb 7f
146 00000100 CB 78 bit 7,b ; cb 78
147 00000102 CB 79 bit 7,c ; cb 79
148 00000104 CB 7A bit 7,d ; cb 7a
149 00000106 CB 7B bit 7,e ; cb 7b
150 00000108 CB 7C bit 7,h ; cb 7c
151 0000010A CB 7D bit 7,l ; cb 7d
152 0000010C
153 0000010C CD 34 12 call address ; cd 34 12
154 0000010F DC 34 12 call c,address ; dc 34 12
155 00000112 FC 34 12 call m,address ; fc 34 12
156 00000115 D4 34 12 call nc,address ; d4 34 12
157 00000118 C4 34 12 call nz,address ; c4 34 12
158 0000011B F4 34 12 call p,address ; f4 34 12
159 0000011E EC 34 12 call pe,address ; ec 34 12
160 00000121 E4 34 12 call po,address ; e4 34 12
161 00000124 CC 34 12 call z,address ; cc 34 12
162 00000127
163 00000127 3F ccf ; 3f
164 00000128
165 00000128 FE A5 cp 0xa5 ; fe a5
166 0000012A BE cp (hl) ; be
167 0000012B DD BE 12 cp (ix+disp) ; dd be 12
168 0000012E FD BE 12 cp (iy+disp) ; fd be 12
169 00000131 BF cp a ; bf
170 00000132 B8 cp b ; b8
171 00000133 B9 cp c ; b9
172 00000134 BA cp d ; ba
173 00000135 BB cp e ; bb
174 00000136 BC cp h ; bc
175 00000137 BD cp l ; bd
176 00000138
177 00000138 ED A9 cpd ; ed a9
178 0000013A
179 0000013A ED B9 cpdr ; ed 89
180 0000013C
181 0000013C ED A1 cpi ; ed a1
182 0000013E
183 0000013E ED B1 cpir ; ed 81
184 00000140
185 00000140 2F cpl ; 2f
186 00000141
187 00000141 27 daa ; 27
188 00000142
189 00000142 35 dec (hl) ; 35
190 00000143 DD 35 12 dec (ix+disp) ; dd 35 12
191 00000146 FD 35 12 dec (iy+disp) ; fd 35 12
192 00000149 3D dec a ; 3d
193 0000014A 05 dec b ; 05
194 0000014B 0B dec bc ; 0b
195 0000014C 0D dec c ; 0d
196 0000014D 15 dec d ; 15
197 0000014E 1B dec de ; 1b
198 0000014F 1D dec e ; 1d
199 00000150 25 dec h ; 25
200 00000151 2B dec hl ; 2b
201 00000152 DD 2B dec ix ; dd 2b
202 00000154 FD 2B dec iy ; fd 2b
203 00000156 2D dec l ; 2d
204 00000157 3B dec sp ; 3b
205 00000158
206 00000158 F3 di ; f3
207 00000159
208 00000159 loop
209 00000159 00 nop ; 00
210 0000015A 00 nop
211 0000015B 10 FC djnz loop ; 10 FC
212 0000015D
213 0000015D FB ei ; fb
214 0000015E
215 0000015E E3 ex (sp),hl ; e3
216 0000015F DD E3 ex (sp),ix ; dd e3
217 00000161 FD E3 ex (sp),iy ; fd e3
218 00000163 08 ex af,af' ; 08
219 00000164 EB ex de,hl ; eb
220 00000165
221 00000165 D9 exx ; d9
222 00000166
223 00000166 76 halt ; 76
224 00000167
225 00000167 ED 46 im 0 ; ed 46
226 00000169 ED 56 im 1 ; ed 56
227 0000016B ED 5E im 2 ; ed 5e
228 0000016D
229 0000016D DB 12 in a,(disp) ; db 12
230 0000016F ED 78 in a,(c) ; ed 78
231 00000171 ED 40 in b,(c) ; ed 40
232 00000173 ED 48 in c,(c) ; ed 48
233 00000175 ED 50 in d,(c) ; ed 50
234 00000177 ED 58 in e,(c) ; ed 58
235 00000179 ED 60 in h,(c) ; ed 60
236 0000017B ED 68 in l,(c) ; ed 68
237 0000017D
238 0000017D 34 inc (hl) ; 34
239 0000017E DD 34 12 inc (ix+disp) ; dd 34 12
240 00000181 FD 34 12 inc (iy+disp) ; fd 34 12
241 00000184 3C inc a ; 3c
242 00000185 04 inc b ; 04
243 00000186 03 inc bc ; 03
244 00000187 0C inc c ; 0c
245 00000188 14 inc d ; 14
246 00000189 13 inc de ; 13
247 0000018A 1C inc e ; 1c
248 0000018B 24 inc h ; 24
249 0000018C 23 inc hl ; 23
250 0000018D DD 23 inc ix ; dd 23
251 0000018F FD 23 inc iy ; fd 23
252 00000191 2C inc l ; 2c
253 00000192 33 inc sp ; 33
254 00000193
255 00000193 ED AA ind ; ed aa
256 00000195
257 00000195 ED BA indr ; ed ba
258 00000197
259 00000197 ED A2 ini ; ed a2
260 00000199
261 00000199 ED B2 inir ; ed b2
262 0000019B
263 0000019B E9 jp (hl) ; e9
264 0000019C DD E9 jp (ix) ; dd e9
265 0000019E FD E9 jp (iy) ; fd e9
266 000001A0 C3 34 12 jp address ; c3 34 12
267 000001A3 DA 34 12 jp c,address ; da 34 12
268 000001A6 FA 34 12 jp m,address ; fa 34 12
269 000001A9 D2 34 12 jp nc,address ; d2 34 12
270 000001AC C2 34 12 jp nz,address ; c2 34 12
271 000001AF F2 34 12 jp p,address ; f2 34 12
272 000001B2 EA 34 12 jp pe,address ; ea 34 12
273 000001B5 E2 34 12 jp po,address ; e2 34 12
274 000001B8 CA 34 12 jp z,address ; ca 34 12
275 000001BB
276 000001BB 18 04 jr label ; 18 04
277 000001BD 38 02 jr c,label ; 38 02
278 000001BF 30 00 jr nc,label ; 30 00
279 000001C1 label
280 000001C1 28 FE jr z,label ; 28 fe
281 000001C3 20 FC jr nz,label ; 20 fc
282 000001C5
283 000001C5 0A ld a,(bc) ; 0a
284 000001C6 1A ld a,(de) ; 1a
285 000001C7 3A 34 12 ld a,(address) ; 3a 34 12
286 000001CA 3E A5 ld a,0xa5 ; 3e a5
287 000001CC 7E ld a,(hl) ; 7e
288 000001CD DD 7E 12 ld a,(ix+disp) ; dd 7e 12
289 000001D0 FD 7E 12 ld a,(iy+disp) ; fd 7e 12
290 000001D3 7F ld a,a ; 7f
291 000001D4 78 ld a,b ; 78
292 000001D5 79 ld a,c ; 79
293 000001D6 7A ld a,d ; 7a
294 000001D7 7B ld a,e ; 7b
295 000001D8 7C ld a,h ; 7c
296 000001D9 7D ld a,l ; 7d
297 000001DA ED 57 ld a,i ; ed 57
298 000001DC ED 5F ld a,r ; ed 5f
299 000001DE
300 000001DE 06 A5 ld b,0xa5 ; 06 a5
301 000001E0 46 ld b,(hl) ; 46
302 000001E1 DD 46 12 ld b,(ix+disp) ; dd 46 12
303 000001E4 FD 46 12 ld b,(iy+disp) ; fd 46 12
304 000001E7 47 ld b,a ; 47
305 000001E8 40 ld b,b ; 40
306 000001E9 41 ld b,c ; 41
307 000001EA 42 ld b,d ; 42
308 000001EB 43 ld b,e ; 43
309 000001EC 44 ld b,h ; 44
310 000001ED 45 ld b,l ; 45
311 000001EE
312 000001EE 0E A5 ld c,0xa5 ; 0e a5
313 000001F0 4E ld c,(hl) ; 4e
314 000001F1 DD 4E 12 ld c,(ix+disp) ; dd 4e 12
315 000001F4 FD 4E 12 ld c,(iy+disp) ; fd 4e 12
316 000001F7 4F ld c,a ; 4f
317 000001F8 48 ld c,b ; 48
318 000001F9 49 ld c,c ; 49
319 000001FA 4A ld c,d ; 4a
320 000001FB 4B ld c,e ; 4b
321 000001FC 4C ld c,h ; 4c
322 000001FD 4D ld c,l ; 4d
323 000001FE
324 000001FE 16 A5 ld d,0xa5 ; 16 a5
325 00000200 56 ld d,(hl) ; 56
326 00000201 DD 56 12 ld d,(ix+disp) ; dd 56 12
327 00000204 FD 56 12 ld d,(iy+disp) ; fd 56 12
328 00000207 57 ld d,a ; 57
329 00000208 50 ld d,b ; 50
330 00000209 51 ld d,c ; 51
331 0000020A 52 ld d,d ; 52
332 0000020B 53 ld d,e ; 53
333 0000020C 54 ld d,h ; 54
334 0000020D 55 ld d,l ; 55
335 0000020E
336 0000020E 1E A5 ld e,0xa5 ; 1e a5
337 00000210 5E ld e,(hl) ; 5e
338 00000211 DD 5E 12 ld e,(ix+disp) ; dd 5e 12
339 00000214 FD 5E 12 ld e,(iy+disp) ; fd 5e 12
340 00000217 5F ld e,a ; 5f
341 00000218 58 ld e,b ; 58
342 00000219 59 ld e,c ; 59
343 0000021A 5A ld e,d ; 5a
344 0000021B 5B ld e,e ; 5b
345 0000021C 5C ld e,h ; 5c
346 0000021D 5D ld e,l ; 5d
347 0000021E
348 0000021E 26 A5 ld h,0xa5 ; 26 a5
349 00000220 66 ld h,(hl) ; 66
350 00000221 DD 66 12 ld h,(ix+disp) ; dd 66 12
351 00000224 FD 66 12 ld h,(iy+disp) ; fd 66 12
352 00000227 67 ld h,a ; 67
353 00000228 60 ld h,b ; 60
354 00000229 61 ld h,c ; 61
355 0000022A 62 ld h,d ; 62
356 0000022B 63 ld h,e ; 63
357 0000022C 64 ld h,h ; 64
358 0000022D 65 ld h,l ; 65
359 0000022E
360 0000022E 2E A5 ld l,0xa5 ; 2e a5
361 00000230 6E ld l,(hl) ; 6e
362 00000231 DD 6E 12 ld l,(ix+disp) ; dd 6e 12
363 00000234 FD 6E 12 ld l,(iy+disp) ; fd 6e 12
364 00000237 6F ld l,a ; 6f
365 00000238 68 ld l,b ; 68
366 00000239 69 ld l,c ; 69
367 0000023A 6A ld l,d ; 6a
368 0000023B 6B ld l,e ; 6b
369 0000023C 6C ld l,h ; 6c
370 0000023D 6D ld l,l ; 6d
371 0000023E
372 0000023E 36 A5 ld (hl),0xa5 ; 36 a5
373 00000240 DD 36 12 A5 ld (ix+disp),0xa5 ; dd 36 12 a5
374 00000244 FD 36 12 A5 ld (iy+disp),0xa5 ; fd 36 12 a5
375 00000248
376 00000248 02 ld (bc),a ; 02
377 00000249 12 ld (de),a ; 12
378 0000024A 32 34 12 ld (address),a ; 32 34 12
379 0000024D 77 ld (hl),a ; 77
380 0000024E DD 77 12 ld (ix+disp),a ; dd 77 12
381 00000251 FD 77 12 ld (iy+disp),a ; fd 77 12
382 00000254 ED 47 ld i,a ; ed 47
383 00000256 ED 4F ld r,a ; ed 4f
384 00000258
385 00000258 70 ld (hl),b ; 70
386 00000259 DD 70 12 ld (ix+disp),b ; dd 70 12
387 0000025C FD 70 12 ld (iy+disp),b ; fd 70 12
388 0000025F
389 0000025F 71 ld (hl),c ; 71
390 00000260 DD 71 12 ld (ix+disp),c ; dd 71 12
391 00000263 FD 71 12 ld (iy+disp),c ; fd 71 12
392 00000266
393 00000266 72 ld (hl),d ; 72
394 00000267 DD 72 12 ld (ix+disp),d ; dd 72 12
395 0000026A FD 72 12 ld (iy+disp),d ; fd 72 12
396 0000026D
397 0000026D 73 ld (hl),e ; 73
398 0000026E DD 73 12 ld (ix+disp),e ; dd 73 12
399 00000271 FD 73 12 ld (iy+disp),e ; fd 73 12
400 00000274
401 00000274 74 ld (hl),h ; 74
402 00000275 DD 74 12 ld (ix+disp),h ; dd 74 12
403 00000278 FD 74 12 ld (iy+disp),h ; fd 74 12
404 0000027B
405 0000027B 75 ld (hl),l ; 75
406 0000027C DD 75 12 ld (ix+disp),l ; dd 75 12
407 0000027F FD 75 12 ld (iy+disp),l ; fd 75 12
408 00000282
409 00000282 01 34 12 ld bc,address ; 01 34 12
410 00000285 11 34 12 ld de,address ; 11 34 12
411 00000288 21 34 12 ld hl,address ; 21 34 12
412 0000028B 31 34 12 ld sp,address ; 31 34 12
413 0000028E DD 21 34 12 ld ix,address ; dd 21 34 12
414 00000292 FD 21 34 12 ld iy,address ; fd 21 34 12
415 00000296
416 00000296 ED 4B 34 12 ld bc,(address) ; ed 4b 34 12
417 0000029A ED 5B 34 12 ld de,(address) ; ed 5b 34 12
418 0000029E 2A 34 12 ld hl,(address) ; 2a 34 12
419 000002A1 ED 7B 34 12 ld sp,(address) ; ed 7b 34 12
420 000002A5 DD 2A 34 12 ld ix,(address) ; dd 2a 34 12
421 000002A9 FD 2A 34 12 ld iy,(address) ; fd 2a 34 12
422 000002AD
423 000002AD ED 43 34 12 ld (address),bc ; ed 43 34 12
424 000002B1 ED 53 34 12 ld (address),de ; ed 53 34 12
425 000002B5 22 34 12 ld (address),hl ; 22 34 12
426 000002B8 ED 73 34 12 ld (address),sp ; ed 73 34 12
427 000002BC DD 22 34 12 ld (address),ix ; dd 22 34 12
428 000002C0 FD 22 34 12 ld (address),iy ; fd 22 34 12
429 000002C4
430 000002C4 F9 ld sp,hl ; f9
431 000002C5 DD F9 ld sp,ix ; dd f9
432 000002C7 FD F9 ld sp,iy ; fd f9
433 000002C9
434 000002C9 ED A8 ldd ; ed a8
435 000002CB
436 000002CB ED B8 lddr ; ed b8
437 000002CD
438 000002CD ED A0 ldi ; ed a0
439 000002CF
440 000002CF ED B0 ldir ; ed b0
441 000002D1
442 000002D1 ED 44 neg ; ed 44
443 000002D3
444 000002D3 00 nop ; 00
445 000002D4
446 000002D4 F6 A5 or 0xa5 ; f6 a5
447 000002D6 B6 or (hl) ; b6
448 000002D7 DD B6 12 or (ix+disp) ; dd b6 12
449 000002DA FD B6 12 or (iy+disp) ; fd b6 12
450 000002DD B7 or a ; b7
451 000002DE B0 or b ; b0
452 000002DF B1 or c ; b1
453 000002E0 B2 or d ; b2
454 000002E1 B3 or e ; b3
455 000002E2 B4 or h ; b4
456 000002E3 B5 or l ; b5
457 000002E4
458 000002E4 ED BB otdr ; ed bb
459 000002E6
460 000002E6 ED B3 otir ; ed b3
461 000002E8
462 000002E8 D3 12 out (disp),a ; d3 12
463 000002EA ED 79 out (c),a ; ed 79
464 000002EC ED 41 out (c),b ; ed 41
465 000002EE ED 49 out (c),c ; ed 49
466 000002F0 ED 51 out (c),d ; ed 51
467 000002F2 ED 59 out (c),e ; ed 59
468 000002F4 ED 61 out (c),h ; ed 61
469 000002F6 ED 69 out (c),l ; ed 69
470 000002F8
471 000002F8 ED AB outd ; ed ab
472 000002FA
473 000002FA ED A3 outi ; ed a3
474 000002FC
475 000002FC F1 pop af ; f1
476 000002FD C1 pop bc ; c1
477 000002FE D1 pop de ; d1
478 000002FF E1 pop hl ; e1
479 00000300 DD E1 pop ix ; dd e1
480 00000302 FD E1 pop iy ; fd e1
481 00000304
482 00000304 F5 push af ; f5
483 00000305 C5 push bc ; c5
484 00000306 D5 push de ; d5
485 00000307 E5 push hl ; e5
486 00000308 DD E5 push ix ; dd e5
487 0000030A FD E5 push iy ; fd e5
488 0000030C
489 0000030C CB 86 res 0,(hl) ; cb 86
490 0000030E DD CB 12 86 res 0,(ix+disp) ; dd cb 12 86
491 00000312 FD CB 12 86 res 0,(iy+disp) ; fd cb 12 86
492 00000316 CB 87 res 0,a ; cb 87
493 00000318 CB 80 res 0,b ; cb 80
494 0000031A CB 81 res 0,c ; cb 81
495 0000031C CB 82 res 0,d ; cb 82
496 0000031E CB 83 res 0,e ; cb 83
497 00000320 CB 84 res 0,h ; cb 84
498 00000322 CB 85 res 0,l ; cb 85
499 00000324
500 00000324 CB 8E res 1,(hl) ; cb 8e
501 00000326 DD CB 12 8E res 1,(ix+disp) ; dd cb 12 8e
502 0000032A FD CB 12 8E res 1,(iy+disp) ; fd cb 12 8e
503 0000032E CB 8F res 1,a ; cb 8f
504 00000330 CB 88 res 1,b ; cb 88
505 00000332 CB 89 res 1,c ; cb 89
506 00000334 CB 8A res 1,d ; cb 8a
507 00000336 CB 8B res 1,e ; cb 8b
508 00000338 CB 8C res 1,h ; cb 8c
509 0000033A CB 8D res 1,l ; cb 8d
510 0000033C
511 0000033C CB 96 res 2,(hl) ; cb 96
512 0000033E DD CB 12 96 res 2,(ix+disp) ; dd cb 12 96
513 00000342 FD CB 12 96 res 2,(iy+disp) ; fd cb 12 96
514 00000346 CB 97 res 2,a ; cb 97
515 00000348 CB 90 res 2,b ; cb 90
516 0000034A CB 91 res 2,c ; cb 91
517 0000034C CB 92 res 2,d ; cb 92
518 0000034E CB 93 res 2,e ; cb 93
519 00000350 CB 94 res 2,h ; cb 94
520 00000352 CB 95 res 2,l ; cb 95
521 00000354
522 00000354 CB 9E res 3,(hl) ; cb 9e
523 00000356 DD CB 12 9E res 3,(ix+disp) ; dd cb 12 9e
524 0000035A FD CB 12 9E res 3,(iy+disp) ; fd cb 12 9e
525 0000035E CB 9F res 3,a ; cb 9f
526 00000360 CB 98 res 3,b ; cb 98
527 00000362 CB 99 res 3,c ; cb 99
528 00000364 CB 9A res 3,d ; cb 9a
529 00000366 CB 9B res 3,e ; cb 9b
530 00000368 CB 9C res 3,h ; cb 9c
531 0000036A CB 9D res 3,l ; cb 9d
532 0000036C
533 0000036C CB A6 res 4,(hl) ; cb a6
534 0000036E DD CB 12 A6 res 4,(ix+disp) ; dd cb 12 a6
535 00000372 FD CB 12 A6 res 4,(iy+disp) ; fd cb 12 a6
536 00000376 CB A7 res 4,a ; cb a7
537 00000378 CB A0 res 4,b ; cb a0
538 0000037A CB A1 res 4,c ; cb a1
539 0000037C CB A2 res 4,d ; cb a2
540 0000037E CB A3 res 4,e ; cb a3
541 00000380 CB A4 res 4,h ; cb a4
542 00000382 CB A5 res 4,l ; cb a5
543 00000384
544 00000384 CB AE res 5,(hl) ; cb ae
545 00000386 DD CB 12 AE res 5,(ix+disp) ; dd cb 12 ae
546 0000038A FD CB 12 AE res 5,(iy+disp) ; fd cb 12 ae
547 0000038E CB AF res 5,a ; cb af
548 00000390 CB A8 res 5,b ; cb a8
549 00000392 CB A9 res 5,c ; cb a9
550 00000394 CB AA res 5,d ; cb aa
551 00000396 CB AB res 5,e ; cb ab
552 00000398 CB AC res 5,h ; cb ac
553 0000039A CB AD res 5,l ; cb ad
554 0000039C
555 0000039C CB B6 res 6,(hl) ; cb b6
556 0000039E DD CB 12 B6 res 6,(ix+disp) ; dd cb 12 b6
557 000003A2 FD CB 12 B6 res 6,(iy+disp) ; fd cb 12 b6
558 000003A6 CB B7 res 6,a ; cb b7
559 000003A8 CB B0 res 6,b ; cb b0
560 000003AA CB B1 res 6,c ; cb b1
561 000003AC CB B2 res 6,d ; cb b2
562 000003AE CB B3 res 6,e ; cb b3
563 000003B0 CB B4 res 6,h ; cb b4
564 000003B2 CB B5 res 6,l ; cb b5
565 000003B4
566 000003B4 CB BE res 7,(hl) ; cb be
567 000003B6 DD CB 12 BE res 7,(ix+disp) ; dd cb 12 be
568 000003BA FD CB 12 BE res 7,(iy+disp) ; fd cb 12 be
569 000003BE CB BF res 7,a ; cb bf
570 000003C0 CB B8 res 7,b ; cb b8
571 000003C2 CB B9 res 7,c ; cb b9
572 000003C4 CB BA res 7,d ; cb ba
573 000003C6 CB BB res 7,e ; cb bb
574 000003C8 CB BC res 7,h ; cb bc
575 000003CA CB BD res 7,l ; cb bd
576 000003CC
577 000003CC C9 ret ; c9
578 000003CD D8 ret c ; d8
579 000003CE F8 ret m ; f8
580 000003CF D0 ret nc ; d0
581 000003D0 C0 ret nz ; c0
582 000003D1 F0 ret p ; f0
583 000003D2 E8 ret pe ; e8
584 000003D3 E0 ret po ; e0
585 000003D4 C8 ret z ; c8
586 000003D5
587 000003D5 ED 4D reti ; ed 4d
588 000003D7
589 000003D7 ED 45 retn ; ed 45
590 000003D9
591 000003D9 CB 16 rl (hl) ; cb 16
592 000003DB DD CB 12 16 rl (ix+disp) ; dd cb 12 16
593 000003DF FD CB 12 16 rl (iy+disp) ; fd cb 12 16
594 000003E3 CB 17 rl a ; cb 17
595 000003E5 CB 10 rl b ; cb 10
596 000003E7 CB 11 rl c ; cb 11
597 000003E9 CB 12 rl d ; cb 12
598 000003EB CB 13 rl e ; cb 13
599 000003ED CB 14 rl h ; cb 14
600 000003EF CB 15 rl l ; cb 15
601 000003F1
602 000003F1 17 rla ; 17
603 000003F2
604 000003F2 CB 06 rlc (hl) ; cb 06
605 000003F4 DD CB 12 06 rlc (ix+disp) ; dd cb 12 06
606 000003F8 FD CB 12 06 rlc (iy+disp) ; fd cb 12 06
607 000003FC CB 07 rlc a ; cb 07
608 000003FE CB 00 rlc b ; cb 00
609 00000400 CB 01 rlc c ; cb 01
610 00000402 CB 02 rlc d ; cb 02
611 00000404 CB 03 rlc e ; cb 03
612 00000406 CB 04 rlc h ; cb 04
613 00000408 CB 05 rlc l ; cb 05
614 0000040A
615 0000040A 07 rlca ; 07
616 0000040B
617 0000040B ED 6F rld ; ed 6f
618 0000040D
619 0000040D CB 1E rr (hl) ; cb 1e
620 0000040F DD CB 12 1E rr (ix+disp) ; dd cb 12 1e
621 00000413 FD CB 12 1E rr (iy+disp) ; fd cb 12 1e
622 00000417 CB 1F rr a ; cb 1f
623 00000419 CB 18 rr b ; cb 18
624 0000041B CB 19 rr c ; cb 19
625 0000041D CB 1A rr d ; cb 1a
626 0000041F CB 1B rr e ; cb 1b
627 00000421 CB 1C rr h ; cb 1c
628 00000423 CB 1D rr l ; cb 1d
629 00000425
630 00000425 1F rra ; 1f
631 00000426
632 00000426 CB 0E rrc (hl) ; cb 0e
633 00000428 DD CB 12 0E rrc (ix+disp) ; dd cb 12 0e
634 0000042C FD CB 12 0E rrc (iy+disp) ; fd cb 12 0e
635 00000430 CB 0F rrc a ; cb 0f
636 00000432 CB 08 rrc b ; cb 08
637 00000434 CB 09 rrc c ; cb 09
638 00000436 CB 0A rrc d ; cb 0a
639 00000438 CB 0B rrc e ; cb 0b
640 0000043A CB 0C rrc h ; cb 0c
641 0000043C CB 0D rrc l ; cb 0d
642 0000043E
643 0000043E 0F rrca ; 0f
644 0000043F
645 0000043F ED 67 rrd ; ed 67
646 00000441
647 00000441 C7 rst 0x00 ; c7
648 00000442 CF rst 0x08 ; cf
649 00000443 D7 rst 0x10 ; d7
650 00000444 DF rst 0x18 ; df
651 00000445 E7 rst 0x20 ; e7
652 00000446 EF rst 0x28 ; ef
653 00000447 F7 rst 0x30 ; f7
654 00000448 FF rst 0x38 ; ff
655 00000449
656 00000449 37 scf ; 37
657 0000044A
658 0000044A CB C6 set 0,(hl) ; cb c6
659 0000044C DD CB 12 C6 set 0,(ix+disp) ; dd cb 12 c6
660 00000450 FD CB 12 C6 set 0,(iy+disp) ; fd cb 12 c6
661 00000454 CB C7 set 0,a ; cb c7
662 00000456 CB C0 set 0,b ; cb c0
663 00000458 CB C1 set 0,c ; cb c1
664 0000045A CB C2 set 0,d ; cb c2
665 0000045C CB C3 set 0,e ; cb c3
666 0000045E CB C4 set 0,h ; cb c4
667 00000460 CB C5 set 0,l ; cb c5
668 00000462
669 00000462 CB CE set 1,(hl) ; cb ce
670 00000464 DD CB 12 CE set 1,(ix+disp) ; dd cb 12 ce
671 00000468 FD CB 12 CE set 1,(iy+disp) ; fd cb 12 ce
672 0000046C CB CF set 1,a ; cb cf
673 0000046E CB C8 set 1,b ; cb c8
674 00000470 CB C9 set 1,c ; cb c9
675 00000472 CB CA set 1,d ; cb ca
676 00000474 CB CB set 1,e ; cb cb
677 00000476 CB CC set 1,h ; cb cc
678 00000478 CB CD set 1,l ; cb cd
679 0000047A
680 0000047A CB D6 set 2,(hl) ; cb d6
681 0000047C DD CB 12 D6 set 2,(ix+disp) ; dd cb 12 d6
682 00000480 FD CB 12 D6 set 2,(iy+disp) ; fd cb 12 d6
683 00000484 CB D7 set 2,a ; cb d7
684 00000486 CB D0 set 2,b ; cb d0
685 00000488 CB D1 set 2,c ; cb d1
686 0000048A CB D2 set 2,d ; cb d2
687 0000048C CB D3 set 2,e ; cb d3
688 0000048E CB D4 set 2,h ; cb d4
689 00000490 CB D5 set 2,l ; cb d5
690 00000492
691 00000492 CB DE set 3,(hl) ; cb de
692 00000494 DD CB 12 DE set 3,(ix+disp) ; dd cb 12 de
693 00000498 FD CB 12 DE set 3,(iy+disp) ; fd cb 12 de
694 0000049C CB DF set 3,a ; cb df
695 0000049E CB D8 set 3,b ; cb d8
696 000004A0 CB D9 set 3,c ; cb d9
697 000004A2 CB DA set 3,d ; cb da
698 000004A4 CB DB set 3,e ; cb db
699 000004A6 CB DC set 3,h ; cb dc
700 000004A8 CB DD set 3,l ; cb dd
701 000004AA
702 000004AA CB E6 set 4,(hl) ; cb e6
703 000004AC DD CB 12 E6 set 4,(ix+disp) ; dd cb 12 e6
704 000004B0 FD CB 12 E6 set 4,(iy+disp) ; fd cb 12 e6
705 000004B4 CB E7 set 4,a ; cb e7
706 000004B6 CB E0 set 4,b ; cb e0
707 000004B8 CB E1 set 4,c ; cb e1
708 000004BA CB E2 set 4,d ; cb e2
709 000004BC CB E3 set 4,e ; cb e3
710 000004BE CB E4 set 4,h ; cb e4
711 000004C0 CB E5 set 4,l ; cb e5
712 000004C2
713 000004C2 CB EE set 5,(hl) ; cb ee
714 000004C4 DD CB 12 EE set 5,(ix+disp) ; dd cb 12 ee
715 000004C8 FD CB 12 EE set 5,(iy+disp) ; fd cb 12 ee
716 000004CC CB EF set 5,a ; cb ef
717 000004CE CB E8 set 5,b ; cb e8
718 000004D0 CB E9 set 5,c ; cb e9
719 000004D2 CB EA set 5,d ; cb ea
720 000004D4 CB EB set 5,e ; cb eb
721 000004D6 CB EC set 5,h ; cb ec
722 000004D8 CB ED set 5,l ; cb ed
723 000004DA
724 000004DA CB F6 set 6,(hl) ; cb f6
725 000004DC DD CB 12 F6 set 6,(ix+disp) ; dd cb 12 f6
726 000004E0 FD CB 12 F6 set 6,(iy+disp) ; fd cb 12 f6
727 000004E4 CB F7 set 6,a ; cb f7
728 000004E6 CB F0 set 6,b ; cb f0
729 000004E8 CB F1 set 6,c ; cb f1
730 000004EA CB F2 set 6,d ; cb f2
731 000004EC CB F3 set 6,e ; cb f3
732 000004EE CB F4 set 6,h ; cb f4
733 000004F0 CB F5 set 6,l ; cb f5
734 000004F2
735 000004F2 CB FE set 7,(hl) ; cb fe
736 000004F4 DD CB 12 FE set 7,(ix+disp) ; dd cb 12 fe
737 000004F8 FD CB 12 FE set 7,(iy+disp) ; fd cb 12 fe
738 000004FC CB FF set 7,a ; cb ff
739 000004FE CB F8 set 7,b ; cb f8
740 00000500 CB F9 set 7,c ; cb f9
741 00000502 CB FA set 7,d ; cb fa
742 00000504 CB FB set 7,e ; cb fb
743 00000506 CB FC set 7,h ; cb fc
744 00000508 CB FD set 7,l ; cb fd
745 0000050A
746 0000050A DE A5 sbc a,0xa5 ; de a5
747 0000050C 9E sbc a,(hl) ; 9e
748 0000050D DD 9E 12 sbc a,(ix+disp) ; dd 9e 12
749 00000510 FD 9E 12 sbc a,(iy+disp) ; fd 9e 12
750 00000513 9F sbc a,a ; 9f
751 00000514 98 sbc a,b ; 98
752 00000515 99 sbc a,c ; 99
753 00000516 9A sbc a,d ; 9a
754 00000517 9B sbc a,e ; 9b
755 00000518 9C sbc a,h ; 9c
756 00000519 9D sbc a,l ; 9d
757 0000051A ED 42 sbc hl,bc ; ed 42
758 0000051C ED 52 sbc hl,de ; ed 52
759 0000051E ED 62 sbc hl,hl ; ed 62
760 00000520 ED 72 sbc hl,sp ; ed 72
761 00000522
762 00000522 CB 26 sla (hl) ; cb 26
763 00000524 DD CB 12 26 sla (ix+disp) ; dd cb 12 26
764 00000528 FD CB 12 26 sla (iy+disp) ; fd cb 12 26
765 0000052C CB 27 sla a ; cb 27
766 0000052E CB 20 sla b ; cb 20
767 00000530 CB 21 sla c ; cb 21
768 00000532 CB 22 sla d ; cb 22
769 00000534 CB 23 sla e ; cb 23
770 00000536 CB 24 sla h ; cb 24
771 00000538 CB 25 sla l ; cb 25
772 0000053A
773 0000053A CB 2E sra (hl) ; cb 2e
774 0000053C DD CB 12 2E sra (ix+disp) ; dd cb 12 2e
775 00000540 FD CB 12 2E sra (iy+disp) ; fd cb 12 2e
776 00000544 CB 2F sra a ; cb 2f
777 00000546 CB 28 sra b ; cb 28
778 00000548 CB 29 sra c ; cb 29
779 0000054A CB 2A sra d ; cb 2a
780 0000054C CB 2B sra e ; cb 2b
781 0000054E CB 2C sra h ; cb 2c
782 00000550 CB 2D sra l ; cb 2d
783 00000552
784 00000552 CB 3E srl (hl) ; cb 3e
785 00000554 DD CB 12 3E srl (ix+disp) ; dd cb 12 3e
786 00000558 FD CB 12 3E srl (iy+disp) ; fd cb 12 3e
787 0000055C CB 3F srl a ; cb 3f
788 0000055E CB 38 srl b ; cb 38
789 00000560 CB 39 srl c ; cb 39
790 00000562 CB 3A srl d ; cb 3a
791 00000564 CB 3B srl e ; cb 3b
792 00000566 CB 3C srl h ; cb 3c
793 00000568 CB 3D srl l ; cb 3d
794 0000056A
795 0000056A D6 A5 sub 0xa5 ; d6 a5
796 0000056C 96 sub (hl) ; 96
797 0000056D DD 96 12 sub (ix+disp) ; dd 96 12
798 00000570 FD 96 12 sub (iy+disp) ; fd 96 12
799 00000573 97 sub a ; 97
800 00000574 90 sub b ; 90
801 00000575 91 sub c ; 91
802 00000576 92 sub d ; 92
803 00000577 93 sub e ; 93
804 00000578 94 sub h ; 94
805 00000579 95 sub l ; 95
806 0000057A
807 0000057A EE A5 xor 0xa5 ; ee a5
808 0000057C AE xor (hl) ; ae
809 0000057D DD AE 12 xor (ix+disp) ; dd ae 12
810 00000580 FD AE 12 xor (iy+disp) ; fd ae 12
811 00000583 AF xor a ; af
812 00000584 A8 xor b ; a8
813 00000585 A9 xor c ; a9
814 00000586 AA xor d ; aa
815 00000587 AB xor e ; ab
816 00000588 AC xor h ; ac
817 00000589 AD xor l ; ad
818 0000058A
819 0000058A
820 0000058A ; test for no displacement and various whitespace
821 0000058A ;
822 0000058A DD AE 00 xor ( ix ) ; dd ae 00
823 0000058D DD AE 12 xor ( ix + disp ) ; dd ae 12
824 00000590
825 00000590 (00000012) disp equ this+that ; make it work a little to resolve this
826 00000590 (00000010) this equ 0x10
827 00000590 (00000002) that equ 0x02
828 00000590
829 00000590 (00001234) address equ 0x1234
830 00000590
831 00000590 ; test pseudo ops
832 00000590 ;
833 00000590
834 00000590 pseudo0:
835 00000590 ds 4
836 00000594 pseudo1:
837 00000594 ds.b 4
838 00000598 pseudo2:
839 00000598 ds.w 4
840 000005A0
841 000005A0 61 62 63 64 65 db "abcdefgh",0
66 67 68 00
842 000005A9 00 FF db 0,-1
843 000005AB
844 000005AB 00 00 FF FF dw 0,-1
845 000005AF 34 12 dw 0x1234
846 000005B1
847 000005B1
848 000005B1
849 000005B1 (00000000) if 0 ; set to 1 to test error trapping
850 000005B1 ; test range
851 000005B1 db 0x100 ; should be too big
852 000005B1 xor ( ix+0x101 ) ; displacement too big
853 000005B1 rst 0x01 ; out of range
854 000005B1 inc af ; can't use this register on this opcode
855 000005B1 push sp ; can't use this register on this opcode
856 000005B1 pop sp ; can't use this register on this opcode
857 000005B1 jp (ix+1) ; doesn't allow displacement
858 000005B1 in a,(0x103) ; out of range
859 000005B1 xor (ix + disp 4) ; stray operand
860 000005B1 adc a,(hl a) ; another stray operand
861 000005B1
862 000005B1 endif
Segment Listing
MinAddr MaxAddr Segment
-------- -------- -------
00000000 000005B0 code
Symbol Table Listing
Value Name
-------- ----
00000001 __Z80
00001234 address
00000012 disp
000001C1 label
00000159 loop
00000590 pseudo0
00000594 pseudo1
00000598 pseudo2
00000000 reset
00000002 that
00000010 this
00000063 variable
Assembled in 4 passes
Total assembly time 00:00:01
Total Errors: 0
Total Warnings: 0