Implement more of the shim, it can assemble the test file sort of
[asxv5pxx.git] / asez80 / tez80.asm
1         .title Test Module for the Zilog eZ80 processor\r
2 \r
3         .sbttl  EZ80 Mode\r
4 \r
5         .adl\r
6         .radix h\r
7 \r
8         .ascii  /Hello, world/\r
9 \r
10         ;var1=10\r
11         .define var1, "varx + 10"\r
12 \r
13         var2==20\r
14 \r
15         ;_bit7= 7\r
16         .define _bit7, "varx + 7"\r
17 \r
18 \r
19         adc     a,(hl)          ; 8E\r
20         adc.s   a,(hl)          ; 52 8E\r
21         adc     a,ixh           ; DD 8C\r
22         adc     a,ixl           ; DD 8D\r
23         adc     a,iyh           ; FD 8C\r
24         adc     a,iyl           ; FD 8D\r
25         adc     a,(ix+var2)     ; DD 8E 20\r
26         adc.s   a,(ix+19)       ; 52 DD 8E 19\r
27         adc     a,(iy+var2)     ; FD 8E 20\r
28         adc.s   a,(iy+19)       ; 52 FD 8E 19\r
29         adc     a,var2          ; CE 20\r
30         adc     a,a             ; 8F\r
31         adc     a,b             ; 88\r
32         adc     a,c             ; 89\r
33         adc     a,d             ; 8A\r
34         adc     a,e             ; 8B\r
35         adc     a,h             ; 8C\r
36         adc     a,l             ; 8D\r
37 \r
38         ;These are added for backward compatibility with\r
39         ;the original Z80 assembler which optionally\r
40         ;does not require the 'A' register to be named.\r
41 \r
42         adc     (hl)            ; 8E\r
43         adc.s   (hl)            ; 52 8E\r
44         adc     ixh             ; DD 8C\r
45         adc     ixl             ; DD 8D\r
46         adc     iyh             ; FD 8C\r
47         adc     iyl             ; FD 8D\r
48         adc     (ix+var2)       ; DD 8E 20\r
49         adc.s   (ix+19)         ; 52 DD 8E 19\r
50         adc     (iy+var2)       ; FD 8E 20\r
51         adc.s   (iy+19)         ; 52 FD 8E 19\r
52         adc     var2            ; CE 20\r
53         adc     a               ; 8F\r
54         adc     b               ; 88\r
55         adc     c               ; 89\r
56         adc     d               ; 8A\r
57         adc     e               ; 8B\r
58         adc     h               ; 8C\r
59         adc     l               ; 8D\r
60 \r
61         ;End of Z80 compatibility section\r
62 \r
63         adc     hl,bc           ; ED 4A\r
64         adc     hl,de           ; ED 5A\r
65         adc     hl,hl           ; ED 6A\r
66         adc.s   hl,bc           ; 52 ED 4A\r
67         adc.s   hl,de           ; 52 ED 5A\r
68         adc.s   hl,hl           ; 52 ED 6A\r
69         adc     hl,sp           ; ED 7A\r
70         adc.s   hl,sp           ; 52 ED 7A\r
71 \r
72         add     a,(hl)          ; 86\r
73         add.s   a,(hl)          ; 52 86\r
74         add     a,ixh           ; DD 84\r
75         add     a,ixl           ; DD 85\r
76         add     a,iyh           ; FD 84\r
77         add     a,iyl           ; FD 85\r
78         add     a,(ix+var2)     ; DD 86 20\r
79         add.s   a,(ix+19)       ; 52 DD 86 19\r
80         add     a,(iy+var2)     ; FD 86 20\r
81         add.s   a,(iy+19)       ; 52 FD 86 19\r
82         add     a,var2          ; C6 20\r
83         add     a,a             ; 87\r
84         add     a,b             ; 80\r
85         add     a,c             ; 81\r
86         add     a,d             ; 82\r
87         add     a,e             ; 83\r
88         add     a,h             ; 84\r
89         add     a,l             ; 85\r
90         add     hl,bc           ; 09\r
91         add     hl,de           ; 19\r
92         add     hl,hl           ; 29\r
93         add.s   hl,bc           ; 52 09\r
94         add.s   hl,de           ; 52 19\r
95         add.s   hl,hl           ; 52 29\r
96         add     hl,sp           ; 39\r
97         add.s   hl,sp           ; 52 39\r
98         add     ix,bc           ; DD 09\r
99         add     ix,de           ; DD 19\r
100         add     ix,ix           ; DD 29\r
101         add.s   ix,bc           ; 52 DD 09\r
102         add.s   ix,de           ; 52 DD 19\r
103         add.s   ix,ix           ; 52 DD 29\r
104         add     iy,bc           ; FD 09\r
105         add     iy,de           ; FD 19\r
106         add     iy,iy           ; FD 29\r
107         add.s   iy,bc           ; 52 FD 09\r
108         add.s   iy,de           ; 52 FD 19\r
109         add.s   iy,iy           ; 52 FD 29\r
110         add     ix,sp           ; DD 39\r
111         add.s   ix,sp           ; 52 DD 39\r
112         add     iy,sp           ; FD 39\r
113         add.s   iy,sp           ; 52 FD 39\r
114 \r
115         and     a,(hl)          ; A6\r
116         and.s   a,(hl)          ; 52 A6\r
117         and     a,ixh           ; DD A4\r
118         and     a,ixl           ; DD A5\r
119         and     a,iyh           ; FD A4\r
120         and     a,iyl           ; FD A5\r
121         and     a,(ix+var2)     ; DD A6 20\r
122         and.s   a,(ix+19)       ; 52 DD A6 19\r
123         and     a,(iy+var2)     ; FD A6 20\r
124         and.s   a,(iy+19)       ; 52 FD A6 19\r
125         and     a,var2          ; E6 20\r
126         and     a,a             ; A7\r
127         and     a,b             ; A0\r
128         and     a,c             ; A1\r
129         and     a,d             ; A2\r
130         and     a,e             ; A3\r
131         and     a,h             ; A4\r
132         and     a,l             ; A5\r
133 \r
134         bit     0,(hl)          ; CB 46\r
135         bit     1,(hl)          ; CB 4E\r
136         bit     2,(hl)          ; CB 56\r
137         bit     3,(hl)          ; CB 5E\r
138         bit     4,(hl)          ; CB 66\r
139         bit     5,(hl)          ; CB 6E\r
140         bit     6,(hl)          ; CB 76\r
141         bit     _bit7,(hl)      ; CBu7E\r
142         bit.s   0,(hl)          ; 52 CB 46\r
143         bit.s   1,(hl)          ; 52 CB 4E\r
144         bit.s   2,(hl)          ; 52 CB 56\r
145         bit.s   3,(hl)          ; 52 CB 5E\r
146         bit.s   4,(hl)          ; 52 CB 66\r
147         bit.s   5,(hl)          ; 52 CB 6E\r
148         bit.s   6,(hl)          ; 52 CB 76\r
149         bit.s   _bit7,(hl)      ; 52 CBu7E\r
150         bit     0,(ix+var1)     ; DD CBr10 46\r
151         bit     1,(ix+var2)     ; DD CB 20 4E\r
152         bit     2,(ix+19)       ; DD CB 19 56\r
153         bit     3,(ix+var1)     ; DD CBr10 5E\r
154         bit     4,(ix+var2)     ; DD CB 20 66\r
155         bit     5,(ix+19)       ; DD CB 19 6E\r
156         bit     6,(ix+var1)     ; DD CBr10 76\r
157         bit     _bit7,(ix+var2) ; DD CB 20u7E\r
158         bit.s   0,(ix+19)       ; 52 DD CB 19 46\r
159         bit.s   1,(ix+var1)     ; 52 DD CBr10 4E\r
160         bit.s   2,(ix+var2)     ; 52 DD CB 20 56\r
161         bit.s   3,(ix+19)       ; 52 DD CB 19 5E\r
162         bit.s   4,(ix+var1)     ; 52 DD CBr10 66\r
163         bit.s   5,(ix+var2)     ; 52 DD CB 20 6E\r
164         bit.s   6,(ix+19)       ; 52 DD CB 19 76\r
165         bit.s   _bit7,(ix+var1) ; 52 DD CBr10u7E\r
166         bit     0,(iy+var1)     ; FD CBr10 46\r
167         bit     1,(iy+var2)     ; FD CB 20 4E\r
168         bit     2,(iy+19)       ; FD CB 19 56\r
169         bit     3,(iy+var1)     ; FD CBr10 5E\r
170         bit     4,(iy+var2)     ; FD CB 20 66\r
171         bit     5,(iy+19)       ; FD CB 19 6E\r
172         bit     6,(iy+var1)     ; FD CBr10 76\r
173         bit     _bit7,(iy+var2) ; FD CB 20u7E\r
174         bit.s   0,(iy+19)       ; 52 FD CB 19 46\r
175         bit.s   1,(iy+var1)     ; 52 FD CBr10 4E\r
176         bit.s   2,(iy+var2)     ; 52 FD CB 20 56\r
177         bit.s   3,(iy+19)       ; 52 FD CB 19 5E\r
178         bit.s   4,(iy+var1)     ; 52 FD CBr10 66\r
179         bit.s   5,(iy+var2)     ; 52 FD CB 20 6E\r
180         bit.s   6,(iy+19)       ; 52 FD CB 19 76\r
181         bit.s   _bit7,(iy+var1) ; 52 FD CBr10u7E\r
182         bit     0,a             ; CB 47\r
183         bit     0,b             ; CB 40\r
184         bit     0,c             ; CB 41\r
185         bit     0,d             ; CB 42\r
186         bit     0,e             ; CB 43\r
187         bit     0,h             ; CB 44\r
188         bit     0,l             ; CB 45\r
189         bit     1,a             ; CB 4F\r
190         bit     1,b             ; CB 48\r
191         bit     1,c             ; CB 49\r
192         bit     1,d             ; CB 4A\r
193         bit     1,e             ; CB 4B\r
194         bit     1,h             ; CB 4C\r
195         bit     1,l             ; CB 4D\r
196         bit     2,a             ; CB 57\r
197         bit     2,b             ; CB 50\r
198         bit     2,c             ; CB 51\r
199         bit     2,d             ; CB 52\r
200         bit     2,e             ; CB 53\r
201         bit     2,h             ; CB 54\r
202         bit     2,l             ; CB 55\r
203         bit     3,a             ; CB 5F\r
204         bit     3,b             ; CB 58\r
205         bit     3,c             ; CB 59\r
206         bit     3,d             ; CB 5A\r
207         bit     3,e             ; CB 5B\r
208         bit     3,h             ; CB 5C\r
209         bit     3,l             ; CB 5D\r
210         bit     4,a             ; CB 67\r
211         bit     4,b             ; CB 60\r
212         bit     4,c             ; CB 61\r
213         bit     4,d             ; CB 62\r
214         bit     4,e             ; CB 63\r
215         bit     4,h             ; CB 64\r
216         bit     4,l             ; CB 65\r
217         bit     5,a             ; CB 6F\r
218         bit     5,b             ; CB 68\r
219         bit     5,c             ; CB 69\r
220         bit     5,d             ; CB 6A\r
221         bit     5,e             ; CB 6B\r
222         bit     5,h             ; CB 6C\r
223         bit     5,l             ; CB 6D\r
224         bit     6,a             ; CB 77\r
225         bit     6,b             ; CB 70\r
226         bit     6,c             ; CB 71\r
227         bit     6,d             ; CB 72\r
228         bit     6,e             ; CB 73\r
229         bit     6,h             ; CB 74\r
230         bit     6,l             ; CB 75\r
231         bit     _bit7,a         ; CBu7F\r
232         bit     _bit7,b         ; CBu78\r
233         bit     _bit7,c         ; CBu79\r
234         bit     _bit7,d         ; CBu7A\r
235         bit     _bit7,e         ; CBu7B\r
236         bit     _bit7,h         ; CBu7C\r
237         bit     _bit7,l         ; CBu7D\r
238 \r
239         call    nz,var1         ; C4r10s00R00\r
240         call.il nz,var2         ; 5B C4 20 00 00\r
241         call    z,var1          ; CCr10s00R00\r
242         call.il z,var2          ; 5B CC 20 00 00\r
243         call    nc,var1         ; D4r10s00R00\r
244         call.il nc,var2         ; 5B D4 20 00 00\r
245         call    c,var1          ; DCr10s00R00\r
246         call.il c,var2          ; 5B DC 20 00 00\r
247         call    po,var1         ; E4r10s00R00\r
248         call.il po,var2         ; 5B E4 20 00 00\r
249         call    pe,var1         ; ECr10s00R00\r
250         call.il pe,var2         ; 5B EC 20 00 00\r
251         call    p,var1          ; F4r10s00R00\r
252         call.il p,var2          ; 5B F4 20 00 00\r
253         call    m,var1          ; FCr10s00R00\r
254         call.il m,var2          ; 5B FC 20 00 00\r
255         call    var1            ; CDr10s00R00\r
256         call.il var2            ; 5B CD 20 00 00\r
257 \r
258         ccf                     ; 3F\r
259 \r
260         cp      a,(hl)          ; BE\r
261         cp.s    a,(hl)          ; 52 BE\r
262         cp      a,ixh           ; DD BC\r
263         cp      a,ixl           ; DD BD\r
264         cp      a,iyh           ; FD BC\r
265         cp      a,iyl           ; FD BD\r
266         cp      a,(ix+var2)     ; DD BE 20\r
267         cp.s    a,(ix+19)       ; 52 DD BE 19\r
268         cp      a,(iy+var2)     ; FD BE 20\r
269         cp.s    a,(iy+19)       ; 52 FD BE 19\r
270         cp      a,var2          ; FE 20\r
271         cp      a,a             ; BF\r
272         cp      a,b             ; B8\r
273         cp      a,c             ; B9\r
274         cp      a,d             ; BA\r
275         cp      a,e             ; BB\r
276         cp      a,h             ; BC\r
277         cp      a,l             ; BD\r
278 \r
279         cpd                     ; ED A9\r
280         cpd.s                   ; 52 ED A9\r
281 \r
282         cpdr                    ; ED B9\r
283         cpdr.s                  ; 52 ED B9\r
284 \r
285         cpi                     ; ED A1\r
286         cpi.s                   ; 52 ED A1\r
287 \r
288         cpir                    ; ED B1\r
289         cpir.s                  ; 52 ED B1\r
290 \r
291         cpl                     ; 2F\r
292 \r
293         daa                     ; 27\r
294 \r
295         dec     (hl)            ; 35\r
296         dec.s   (hl)            ; 52 35\r
297         dec     ixh             ; DD 25\r
298         dec     ixl             ; DD 2D\r
299         dec     iyh             ; FD 25\r
300         dec     iyl             ; FD 2D\r
301         dec     ix              ; DD 2B\r
302         dec.s   ix              ; 52 DD 2B\r
303         dec     iy              ; FD 2B\r
304         dec.s   iy              ; 52 FD 2B\r
305         dec     (ix+var1)       ; DD 35r10\r
306         dec.s   (ix+var2)       ; 52 DD 35 20\r
307         dec     (iy+var1)       ; FD 35r10\r
308         dec.s   (iy+var2)       ; 52 FD 35 20\r
309         dec     a               ; 3D\r
310         dec     b               ; 05\r
311         dec     c               ; 0D\r
312         dec     d               ; 15\r
313         dec     e               ; 1D\r
314         dec     h               ; 25\r
315         dec     l               ; 2D\r
316         dec     bc              ; 0B\r
317         dec     de              ; 1B\r
318         dec     hl              ; 2B\r
319         dec.s   bc              ; 52 0B\r
320         dec.s   de              ; 52 1B\r
321         dec.s   hl              ; 52 2B\r
322         dec     sp              ; 3B\r
323         dec.s   sp              ; 52 3B\r
324 \r
325         di                      ; F3\r
326 \r
327         djnz    jr0adl          ; 10 00\r
328         jr0adl:\r
329 \r
330         ei                      ; FB\r
331 \r
332         ex      af,af'          ; 08\r
333         ex      de,hl           ; EB\r
334         ex      (sp),hl         ; E3\r
335         ex.s    (sp),hl         ; 52 E3\r
336         ex      (sp),ix         ; DD E3\r
337         ex.s    (sp),ix         ; 52 DD E3\r
338         ex      (sp),iy         ; FD E3\r
339         ex.s    (sp),iy         ; 52 FD E3\r
340 \r
341         exx                     ; D9\r
342 \r
343         halt                    ; 76\r
344 \r
345         im      0               ; ED 46\r
346         im      1               ; ED 56\r
347         im      2               ; ED 5E\r
348 \r
349         in      a,(19)          ; DB 19\r
350         in      a,(bc)          ; ED 78\r
351         in      b,(bc)          ; ED 40\r
352         in      c,(bc)          ; ED 48\r
353         in      d,(bc)          ; ED 50\r
354         in      e,(bc)          ; ED 58\r
355         in      h,(bc)          ; ED 60\r
356         in      l,(bc)          ; ED 68\r
357         in      a,(c)           ; ED 78\r
358         in      b,(c)           ; ED 40\r
359         in      c,(c)           ; ED 48\r
360         in      d,(c)           ; ED 50\r
361         in      e,(c)           ; ED 58\r
362         in      h,(c)           ; ED 60\r
363         in      l,(c)           ; ED 68\r
364 \r
365         in0     a,(19)          ; ED 38 19\r
366         in0     b,(var1)        ; ED 00u10\r
367         in0     c,(var2)        ; ED 08 20\r
368         in0     d,(19)          ; ED 10 19\r
369         in0     e,(var1)        ; ED 18u10\r
370         in0     h,(var2)        ; ED 20 20\r
371         in0     l,(19)          ; ED 28 19\r
372 \r
373         inc     (hl)            ; 34\r
374         inc.s   (hl)            ; 52 34\r
375         inc     ixh             ; DD 24\r
376         inc     ixl             ; DD 2C\r
377         inc     iyh             ; FD 24\r
378         inc     iyl             ; FD 2C\r
379         inc     ix              ; DD 23\r
380         inc.s   ix              ; 52 DD 23\r
381         inc     iy              ; FD 23\r
382         inc.s   iy              ; 52 FD 23\r
383         inc     (ix+var2)       ; DD 34 20\r
384         inc.s   (ix+19)         ; 52 DD 34 19\r
385         inc     (iy+var2)       ; FD 34 20\r
386         inc.s   (iy+19)         ; 52 FD 34 19\r
387         inc     a               ; 3C\r
388         inc     b               ; 04\r
389         inc     c               ; 0C\r
390         inc     d               ; 14\r
391         inc     e               ; 1C\r
392         inc     h               ; 24\r
393         inc     l               ; 2C\r
394         inc     bc              ; 03\r
395         inc     de              ; 13\r
396         inc     hl              ; 23\r
397         inc.s   bc              ; 52 03\r
398         inc.s   de              ; 52 13\r
399         inc.s   hl              ; 52 23\r
400         inc     sp              ; 33\r
401         inc.s   sp              ; 52 33\r
402 \r
403         ind                     ; ED AA\r
404         ind.s                   ; 52 ED AA\r
405 \r
406         ind2                    ; ED 8C\r
407         ind2.s                  ; 52 ED 8C\r
408 \r
409         ind2r                   ; ED 9C\r
410         ind2r.s                 ; 52 ED 9C\r
411 \r
412         indm                    ; ED 8A\r
413         indm.s                  ; 52 ED 8A\r
414 \r
415         indmr                   ; ED 9A\r
416         indmr.s                 ; 52 ED 9A\r
417 \r
418         indr                    ; ED BA\r
419         indr.s                  ; 52 ED BA\r
420 \r
421         indrx                   ; ED CA\r
422         indrx.s                 ; 52 ED CA\r
423 \r
424         ini                     ; ED A2\r
425         ini.s                   ; 52 ED A2\r
426 \r
427         ini2                    ; ED 84\r
428         ini2.s                  ; 52 ED 84\r
429 \r
430         ini2r                   ; ED 94\r
431         ini2r.s                 ; 52 ED 94\r
432 \r
433         inim                    ; ED 82\r
434         inim.s                  ; 52 ED 82\r
435 \r
436         inimr                   ; ED 92\r
437         inimr.s                 ; 52 ED 92\r
438 \r
439         inir                    ; ED B2\r
440         inir.s                  ; 52 ED B2\r
441 \r
442         inirx                   ; ED C2\r
443         inirx.s                 ; 52 ED C2\r
444 \r
445         jp      nz,var2         ; C2 20 00 00\r
446         jp      z,19            ; CA 19 00 00\r
447         jp      nc,var1         ; D2r10s00R00\r
448         jp      c,var2          ; DA 20 00 00\r
449         jp      po,19           ; E2 19 00 00\r
450         jp      pe,var1         ; EAr10s00R00\r
451         jp      p,var2          ; F2 20 00 00\r
452         jp      m,19            ; FA 19 00 00\r
453         jp.lil  nz,19           ; 5B C2 19 00 00\r
454         jp.lil  z,var1          ; 5B CAr10s00R00\r
455         jp.lil  nc,var2         ; 5B D2 20 00 00\r
456         jp.lil  c,19            ; 5B DA 19 00 00\r
457         jp.lil  po,var1         ; 5B E2r10s00R00\r
458         jp.lil  pe,var2         ; 5B EA 20 00 00\r
459         jp.lil  p,19            ; 5B F2 19 00 00\r
460         jp.lil  m,var1          ; 5B FAr10s00R00\r
461         jp      (hl)            ; E9\r
462         jp.s    (hl)            ; 52 E9\r
463         jp      (ix)            ; DD E9\r
464         jp.s    (ix)            ; 40 DD E9\r
465         jp.l    (ix)            ; 5B DD E9\r
466         jp      (iy)            ; FD E9\r
467         jp.s    (iy)            ; 40 FD E9\r
468         jp.l    (iy)            ; 5B FD E9\r
469         jp      19              ; C3 19 00 00\r
470         jp.lil  var2            ; 5B C3 20 00 00\r
471 \r
472         jr      nz,jr1adl       ; 20 08\r
473         jr      z,jr2adl        ; 28 06\r
474         jr      nc,jr3adl       ; 30 04\r
475         jr      c,jr4adl        ; 38 02\r
476         jr      jr5adl          ; 18 00\r
477 \r
478         jr1adl: jr2adl: jr3adl: jr4adl: jr5adl:\r
479 \r
480         ld      a,i             ; ED 57\r
481         ld      a,(ix+19)       ; DD 7E 19\r
482         ld.s    a,(ix+var1)     ; 52 DD 7Er10\r
483         ld      a,(iy+19)       ; FD 7E 19\r
484         ld.s    a,(iy+var1)     ; 52 FD 7Er10\r
485         ld      a,mb            ; ED 6E\r
486         ld      a,(var2)        ; 3A 20 00 00\r
487         ld      a,r             ; ED 5F\r
488         ld      a,(bc)          ; 0A\r
489         ld.s    a,(bc)          ; 52 0A\r
490         ld      a,(de)          ; 1A\r
491         ld.s    a,(de)          ; 52 1A\r
492         ld      a,(hl)          ; 7E\r
493         ld.s    a,(hl)          ; 52 7E\r
494         ld      hl,i            ; ED D7\r
495         ld      (hl),ix         ; ED 3F\r
496         ld.s    (hl),ix         ; 52 ED 3F\r
497         ld      (hl),iy         ; ED 3E\r
498         ld.s    (hl),iy         ; 52 ED 3E\r
499         ld      (hl),var1       ; 36r10\r
500         ld.s    (hl),var2       ; 52 36 20\r
501         ld      (hl),a          ; 77\r
502         ld      (hl),b          ; 70\r
503         ld      (hl),c          ; 71\r
504         ld      (hl),d          ; 72\r
505         ld      (hl),e          ; 73\r
506         ld      (hl),h          ; 74\r
507         ld      (hl),l          ; 75\r
508         ld.s    (hl),a          ; 52 77\r
509         ld.s    (hl),b          ; 52 70\r
510         ld.s    (hl),c          ; 52 71\r
511         ld.s    (hl),d          ; 52 72\r
512         ld.s    (hl),e          ; 52 73\r
513         ld.s    (hl),h          ; 52 74\r
514         ld.s    (hl),l          ; 52 75\r
515         ld      (hl),bc         ; ED 0F\r
516         ld.s    (hl),bc         ; 52 ED 0F\r
517         ld      (hl),de         ; ED 1F\r
518         ld.s    (hl),de         ; 52 ED 1F\r
519         ld      (hl),hl         ; ED 2F\r
520         ld.s    (hl),hl         ; 52 ED 2F\r
521         ld      i,hl            ; ED C7\r
522         ld      i,a             ; ED 47\r
523         ld      ixh,ixh         ; DD 64\r
524         ld      ixh,ixl         ; DD 65\r
525         ld      ixl,ixh         ; DD 6C\r
526         ld      ixl,ixl         ; DD 6D\r
527         ld      iyh,iyh         ; FD 64\r
528         ld      iyh,iyl         ; FD 65\r
529         ld      iyl,iyh         ; FD 6C\r
530         ld      iyl,iyl         ; FD 6D\r
531         ld      ixh,var2        ; DD 26 20\r
532         ld      ixl,19          ; DD 2E 19\r
533         ld      iyh,var1        ; FD 26r10\r
534         ld      iyl,var2        ; FD 2E 20\r
535         ld      ixh,a           ; DD 67\r
536         ld      ixh,b           ; DD 60\r
537         ld      ixh,c           ; DD 61\r
538         ld      ixh,d           ; DD 62\r
539         ld      ixh,e           ; DD 63\r
540         ld      ixl,a           ; DD 6F\r
541         ld      ixl,b           ; DD 68\r
542         ld      ixl,c           ; DD 69\r
543         ld      ixl,d           ; DD 6A\r
544         ld      ixl,e           ; DD 6B\r
545         ld      iyh,a           ; FD 67\r
546         ld      iyh,b           ; FD 60\r
547         ld      iyh,c           ; FD 61\r
548         ld      iyh,d           ; FD 62\r
549         ld      iyh,e           ; FD 63\r
550         ld      iyl,a           ; FD 6F\r
551         ld      iyl,b           ; FD 68\r
552         ld      iyl,c           ; FD 69\r
553         ld      iyl,d           ; FD 6A\r
554         ld      iyl,e           ; FD 6B\r
555         ld      ix,(hl)         ; ED 37\r
556         ld.s    ix,(hl)         ; 52 ED 37\r
557         ld      iy,(hl)         ; ED 31\r
558         ld.s    iy,(hl)         ; 52 ED 31\r
559         ld      ix,(ix+var2)    ; DD 37 20\r
560         ld.s    ix,(ix+19)      ; 52 DD 37 19\r
561         ld      iy,(ix+var2)    ; DD 31 20\r
562         ld.s    iy,(ix+19)      ; 52 DD 31 19\r
563         ld      ix,(iy+var2)    ; FD 31 20\r
564         ld.s    ix,(iy+19)      ; 52 FD 31 19\r
565         ld      iy,(iy+var2)    ; FD 37 20\r
566         ld.s    iy,(iy+19)      ; 52 FD 37 19\r
567         ld      ix,19           ; DD 21 19 00 00\r
568         ld      iy,var1         ; FD 21r10s00R00\r
569         ld      ix,(var2)       ; DD 2A 20 00 00\r
570         ld      iy,(19)         ; FD 2A 19 00 00\r
571         ld      (ix+19),ix      ; DD 3F 19\r
572         ld.s    (ix+var1),ix    ; 52 DD 3Fr10\r
573         ld      (ix+19),iy      ; DD 3E 19\r
574         ld.s    (ix+var1),iy    ; 52 DD 3Er10\r
575         ld      (iy+19),ix      ; FD 3E 19\r
576         ld.s    (iy+var1),ix    ; 52 FD 3Er10\r
577         ld      (iy+19),iy      ; FD 3F 19\r
578         ld.s    (iy+var1),iy    ; 52 FD 3Fr10\r
579         ld      (ix+19),#19     ; DD 36 19 19\r
580         ld.s    (ix+var1),var1  ; 52 DD 36r10r10\r
581         ld      (iy+19),#19     ; FD 36 19 19\r
582         ld.s    (iy+var1),var1  ; 52 FD 36r10r10\r
583         ld      (ix+19),a       ; DD 77 19\r
584         ld      (ix+var1),b     ; DD 70r10\r
585         ld      (ix+var2),c     ; DD 71 20\r
586         ld      (ix+19),d       ; DD 72 19\r
587         ld      (ix+var1),e     ; DD 73r10\r
588         ld      (ix+var2),h     ; DD 74 20\r
589         ld      (ix+19),l       ; DD 75 19\r
590         ld.s    (ix+var1),a     ; 52 DD 77r10\r
591         ld.s    (ix+var2),b     ; 52 DD 70 20\r
592         ld.s    (ix+19),c       ; 52 DD 71 19\r
593         ld.s    (ix+var1),d     ; 52 DD 72r10\r
594         ld.s    (ix+var2),e     ; 52 DD 73 20\r
595         ld.s    (ix+19),h       ; 52 DD 74 19\r
596         ld.s    (ix+var1),l     ; 52 DD 75r10\r
597         ld      (iy+19),a       ; FD 77 19\r
598         ld      (iy+var1),b     ; FD 70r10\r
599         ld      (iy+var2),c     ; FD 71 20\r
600         ld      (iy+19),d       ; FD 72 19\r
601         ld      (iy+var1),e     ; FD 73r10\r
602         ld      (iy+var2),h     ; FD 74 20\r
603         ld      (iy+19),l       ; FD 75 19\r
604         ld.s    (iy+var1),a     ; 52 FD 77r10\r
605         ld.s    (iy+var2),b     ; 52 FD 70 20\r
606         ld.s    (iy+19),c       ; 52 FD 71 19\r
607         ld.s    (iy+var1),d     ; 52 FD 72r10\r
608         ld.s    (iy+var2),e     ; 52 FD 73 20\r
609         ld.s    (iy+19),h       ; 52 FD 74 19\r
610         ld.s    (iy+var1),l     ; 52 FD 75r10\r
611         ld      (ix+19),bc      ; DD 0F 19\r
612         ld.s    (ix+var1),bc    ; 52 DD 0Fr10\r
613         ld      (ix+19),de      ; DD 1F 19\r
614         ld.s    (ix+var1),de    ; 52 DD 1Fr10\r
615         ld      (ix+19),hl      ; DD 2F 19\r
616         ld.s    (ix+var1),hl    ; 52 DD 2Fr10\r
617         ld      (iy+19),bc      ; FD 0F 19\r
618         ld.s    (iy+var1),bc    ; 52 FD 0Fr10\r
619         ld      (iy+19),de      ; FD 1F 19\r
620         ld.s    (iy+var1),de    ; 52 FD 1Fr10\r
621         ld      (iy+19),hl      ; FD 2F 19\r
622         ld.s    (iy+var1),hl    ; 52 FD 2Fr10\r
623         ld      mb,a            ; ED 6D\r
624         ld      (var2),a        ; 32 20 00 00\r
625         ld      (19),ix         ; DD 22 19 00 00\r
626         ld      (var1),iy       ; FD 22r10s00R00\r
627         ld      (var2),bc       ; ED 43 20 00 00\r
628         ld      (19),de         ; ED 53 19 00 00\r
629         ld      (var1),hl       ; 22r10s00R00\r
630         ld      (var2),sp       ; ED 73 20 00 00\r
631         ld      r,a             ; ED 4F\r
632         ld      b,(hl)          ; 46\r
633         ld      c,(hl)          ; 4E\r
634         ld      d,(hl)          ; 56\r
635         ld      e,(hl)          ; 5E\r
636         ld      h,(hl)          ; 66\r
637         ld      l,(hl)          ; 6E\r
638         ld.s    b,(hl)          ; 52 46\r
639         ld.s    c,(hl)          ; 52 4E\r
640         ld.s    d,(hl)          ; 52 56\r
641         ld.s    e,(hl)          ; 52 5E\r
642         ld.s    h,(hl)          ; 52 66\r
643         ld.s    l,(hl)          ; 52 6E\r
644         ld      a,ixh           ; DD 7C\r
645         ld      a,ixl           ; DD 7D\r
646         ld      a,iyh           ; FD 7C\r
647         ld      a,iyl           ; FD 7D\r
648         ld      b,ixh           ; DD 44\r
649         ld      b,ixl           ; DD 45\r
650         ld      b,iyh           ; FD 44\r
651         ld      b,iyl           ; FD 45\r
652         ld      c,ixh           ; DD 4C\r
653         ld      c,ixl           ; DD 4D\r
654         ld      c,iyh           ; FD 4C\r
655         ld      c,iyl           ; FD 4D\r
656         ld      d,ixh           ; DD 54\r
657         ld      d,ixl           ; DD 55\r
658         ld      d,iyh           ; FD 54\r
659         ld      d,iyl           ; FD 55\r
660         ld      e,ixh           ; DD 5C\r
661         ld      e,ixl           ; DD 5D\r
662         ld      e,iyh           ; FD 5C\r
663         ld      e,iyl           ; FD 5D\r
664         ld      b,(ix+var2)     ; DD 46 20\r
665         ld      c,(ix+19)       ; DD 4E 19\r
666         ld      d,(ix+var1)     ; DD 56r10\r
667         ld      e,(ix+var2)     ; DD 5E 20\r
668         ld      h,(ix+19)       ; DD 66 19\r
669         ld      l,(ix+var1)     ; DD 6Er10\r
670         ld.s    b,(ix+var2)     ; 52 DD 46 20\r
671         ld.s    c,(ix+19)       ; 52 DD 4E 19\r
672         ld.s    d,(ix+var1)     ; 52 DD 56r10\r
673         ld.s    e,(ix+var2)     ; 52 DD 5E 20\r
674         ld.s    h,(ix+19)       ; 52 DD 66 19\r
675         ld.s    l,(ix+var1)     ; 52 DD 6Er10\r
676         ld      b,(iy+var2)     ; FD 46 20\r
677         ld      c,(iy+19)       ; FD 4E 19\r
678         ld      d,(iy+var1)     ; FD 56r10\r
679         ld      e,(iy+var2)     ; FD 5E 20\r
680         ld      h,(iy+19)       ; FD 66 19\r
681         ld      l,(iy+var1)     ; FD 6Er10\r
682         ld.s    b,(iy+var2)     ; 52 FD 46 20\r
683         ld.s    c,(iy+19)       ; 52 FD 4E 19\r
684         ld.s    d,(iy+var1)     ; 52 FD 56r10\r
685         ld.s    e,(iy+var2)     ; 52 FD 5E 20\r
686         ld.s    h,(iy+19)       ; 52 FD 66 19\r
687 \r
688         ;intentional error here\r
689 \r
690         ld.s    l,(iy+var1)     ; 52 FD 6Er10\r
691         ld      a,var2          ; 3E 20\r
692         ld      b,19            ; 06 19\r
693         ld      c,var1          ; 0Er10\r
694         ld      d,var2          ; 16 20\r
695         ld      e,19            ; 1E 19\r
696         ld      h,var1          ; 26r10\r
697         ld      l,var2          ; 2E 20\r
698         ld      a,a             ; 7F\r
699         ld      a,b             ; 78\r
700         ld      a,c             ; 79\r
701         ld      a,d             ; 7A\r
702         ld      a,e             ; 7B\r
703         ld      a,h             ; 7C\r
704         ld      a,l             ; 7D\r
705         ld      b,a             ; 47\r
706 ;a      ld      b,b             ; 40\r
707         ld      b,c             ; 41\r
708         ld      b,d             ; 42\r
709         ld      b,e             ; 43\r
710         ld      b,h             ; 44\r
711         ld      b,l             ; 45\r
712         ld      c,a             ; 4F\r
713         ld      c,b             ; 48\r
714 ;a      ld      c,c             ; 49\r
715         ld      c,d             ; 4A\r
716         ld      c,e             ; 4B\r
717         ld      c,h             ; 4C\r
718         ld      c,l             ; 4D\r
719         ld      d,a             ; 57\r
720         ld      d,b             ; 50\r
721         ld      d,c             ; 51\r
722 ;a      ld      d,d             ; 52\r
723         ld      d,e             ; 53\r
724         ld      d,h             ; 54\r
725         ld      d,l             ; 55\r
726         ld      e,a             ; 5F\r
727         ld      e,b             ; 58\r
728         ld      e,c             ; 59\r
729         ld      e,d             ; 5A\r
730 ;a      ld      e,e             ; 5B\r
731         ld      e,h             ; 5C\r
732         ld      e,l             ; 5D\r
733         ld      h,a             ; 67\r
734         ld      h,b             ; 60\r
735         ld      h,c             ; 61\r
736         ld      h,d             ; 62\r
737         ld      h,e             ; 63\r
738         ld      h,h             ; 64\r
739         ld      h,l             ; 65\r
740         ld      l,a             ; 6F\r
741         ld      l,b             ; 68\r
742         ld      l,c             ; 69\r
743         ld      l,d             ; 6A\r
744         ld      l,e             ; 6B\r
745         ld      l,h             ; 6C\r
746         ld      l,l             ; 6D\r
747         ld      bc,(hl)         ; ED 07\r
748         ld.s    bc,(hl)         ; 52 ED 07\r
749         ld      de,(hl)         ; ED 17\r
750         ld.s    de,(hl)         ; 52 ED 17\r
751         ld      hl,(hl)         ; ED 27\r
752         ld.s    hl,(hl)         ; 52 ED 27\r
753         ld      bc,(ix+var1)    ; DD 07r10\r
754         ld.s    bc,(ix+var2)    ; 52 DD 07 20\r
755         ld      de,(ix+var1)    ; DD 17r10\r
756         ld.s    de,(ix+var2)    ; 52 DD 17 20\r
757         ld      hl,(ix+var1)    ; DD 27r10\r
758         ld.s    hl,(ix+var2)    ; 52 DD 27 20\r
759         ld      bc,(iy+var1)    ; FD 07r10\r
760         ld.s    bc,(iy+var2)    ; 52 FD 07 20\r
761         ld      de,(iy+var1)    ; FD 17r10\r
762         ld.s    de,(iy+var2)    ; 52 FD 17 20\r
763         ld      hl,(iy+var1)    ; FD 27r10\r
764         ld.s    hl,(iy+var2)    ; 52 FD 27 20\r
765         ld      bc,var1         ; 01r10s00R00\r
766         ld      de,var2         ; 11 20 00 00\r
767         ld      hl,19           ; 21 19 00 00\r
768         ld      bc,(19)         ; ED 4B 19 00 00\r
769         ld      de,(var1)       ; ED 5Br10s00R00\r
770         ld      hl,(var1)       ; 2Ar10s00R00\r
771         ld      (bc),a          ; 02\r
772         ld.s    (bc),a          ; 52 02\r
773         ld      (de),a          ; 12\r
774         ld.s    (de),a          ; 52 12\r
775         ld      sp,hl           ; F9\r
776         ld.s    sp,hl           ; 52 F9\r
777         ld      sp,ix           ; DD F9\r
778         ld.s    sp,ix           ; 52 DD F9\r
779         ld      sp,iy           ; FD F9\r
780         ld.s    sp,iy           ; 52 FD F9\r
781         ld      sp,var2         ; 31 20 00 00\r
782         ld      sp,(19)         ; ED 7B 19 00 00\r
783         ldd                     ; ED A8\r
784         ldd.s                   ; 52 ED A8\r
785         lddr                    ; ED B8\r
786         lddr.s                  ; 52 ED B8\r
787         ldi                     ; ED A0\r
788         ldi.s                   ; 52 ED A0\r
789         ldir                    ; ED B0\r
790         ldir.s                  ; 52 ED B0\r
791         lea     ix,ix+19        ; ED 32 19\r
792         lea.s   ix,ix+var1      ; 52 ED 32r10\r
793         lea     iy,ix+19        ; ED 55 19\r
794         lea.s   iy,ix+var1      ; 52 ED 55r10\r
795         lea     ix,iy+19        ; ED 54 19\r
796         lea.s   ix,iy+var1      ; 52 ED 54r10\r
797         lea     iy,iy+19        ; ED 33 19\r
798         lea.s   iy,iy+var1      ; 52 ED 33r10\r
799         lea     bc,ix+19        ; ED 02 19\r
800         lea     de,ix+var1      ; ED 12r10\r
801         lea     hl,ix+var2      ; ED 22 20\r
802         lea.s   bc,ix+19        ; 52 ED 02 19\r
803         lea.s   de,ix+var1      ; 52 ED 12r10\r
804         lea.s   hl,ix+var2      ; 52 ED 22 20\r
805         lea     bc,iy+19        ; ED 03 19\r
806         lea     de,iy+var1      ; ED 13r10\r
807         lea     hl,iy+var2      ; ED 23 20\r
808         lea.s   bc,iy+19        ; 52 ED 03 19\r
809         lea.s   de,iy+var1      ; 52 ED 13r10\r
810         lea.s   hl,iy+var2      ; 52 ED 23 20\r
811 \r
812         mlt     bc              ; ED 4C\r
813         mlt     de              ; ED 5C\r
814         mlt     hl              ; ED 6C\r
815         mlt     sp              ; ED 7C\r
816         mlt.s   sp              ; 52 ED 7C\r
817 \r
818         neg                     ; ED 44\r
819 \r
820         nop                     ; 00\r
821 \r
822         or      a,(hl)          ; B6\r
823         or.s    a,(hl)          ; 52 B6\r
824         or      a,ixh           ; DD B4\r
825         or      a,ixl           ; DD B5\r
826         or      a,iyh           ; FD B4\r
827         or      a,iyl           ; FD B5\r
828         or      a,(ix+19)       ; DD B6 19\r
829         or.s    a,(ix+var1)     ; 52 DD B6r10\r
830         or      a,(iy+19)       ; FD B6 19\r
831         or.s    a,(iy+var1)     ; 52 FD B6r10\r
832         or      a,19            ; F6 19\r
833         or      a,a             ; B7\r
834         or      a,b             ; B0\r
835         or      a,c             ; B1\r
836         or      a,d             ; B2\r
837         or      a,e             ; B3\r
838         or      a,h             ; B4\r
839         or      a,l             ; B5\r
840 \r
841         otd2r                   ; ED BC\r
842         otd2r.s                 ; 52 ED BC\r
843 \r
844         otdm                    ; ED 8B\r
845         otdm.s                  ; 52 ED 8B\r
846 \r
847         otdmr                   ; ED 9B\r
848         otdmr.s                 ; 52 ED 9B\r
849 \r
850         otdr                    ; ED BB\r
851         otdr.s                  ; 52 ED BB\r
852 \r
853         otdrx                   ; ED CB\r
854         otdrx.s                 ; 52 ED CB\r
855 \r
856         oti2r                   ; ED B4\r
857         oti2r.s                 ; 52 ED B4\r
858 \r
859         otim                    ; ED 83\r
860         otim.s                  ; 52 ED 83\r
861 \r
862         otimr                   ; ED 93\r
863         otimr.s                 ; 52 ED 93\r
864 \r
865         otir                    ; ED B3\r
866         otir.s                  ; 52 ED B3\r
867 \r
868         otirx                   ; ED C3\r
869         otirx.s                 ; 52 ED C3\r
870 \r
871         ;Z80 assembler variant section\r
872 \r
873         out     (c),a           ; ED 79\r
874         out     (c),b           ; ED 41\r
875         out     (c),c           ; ED 49\r
876         out     (c),d           ; ED 51\r
877         out     (c),e           ; ED 59\r
878         out     (c),h           ; ED 61\r
879         out     (c),l           ; ED 69\r
880 \r
881         ;End of Z80 assembler variant section\r
882 \r
883         out     (bc),a          ; ED 79\r
884         out     (bc),b          ; ED 41\r
885         out     (bc),c          ; ED 49\r
886         out     (bc),d          ; ED 51\r
887         out     (bc),e          ; ED 59\r
888         out     (bc),h          ; ED 61\r
889         out     (bc),l          ; ED 69\r
890         out     (var1),a        ; D3u10\r
891 \r
892         out0    (var2),a        ; ED 39 20\r
893         out0    (19),b          ; ED 01 19\r
894         out0    (var1),c        ; ED 09u10\r
895         out0    (var2),d        ; ED 11 20\r
896         out0    (19),e          ; ED 19 19\r
897         out0    (var1),h        ; ED 21u10\r
898         out0    (var2),l        ; ED 29 20\r
899 \r
900         outd                    ; ED AB\r
901         outd.s                  ; 52 ED AB\r
902 \r
903         outd2                   ; ED AC\r
904         outd2.s                 ; 52 ED AC\r
905 \r
906         outi                    ; ED A3\r
907         outi.s                  ; 52 ED A3\r
908 \r
909         outi2                   ; ED A4\r
910         outi2.s                 ; 52 ED A4\r
911 \r
912         pea     ix+19           ; ED 65 19\r
913         pea.s   ix+var1         ; 52 ED 65r10\r
914 \r
915         pea     iy+19           ; ED 66 19\r
916         pea.s   iy+var1         ; 52 ED 66r10\r
917 \r
918         pop     af              ; F1\r
919         pop.s   af              ; 52 F1\r
920         pop     ix              ; DD E1\r
921         pop.s   ix              ; 52 DD E1\r
922         pop     iy              ; FD E1\r
923         pop.s   iy              ; 52 FD E1\r
924         pop     bc              ; C1\r
925         pop     de              ; D1\r
926         pop     hl              ; E1\r
927         pop.s   bc              ; 52 C1\r
928         pop.s   de              ; 52 D1\r
929         pop.s   hl              ; 52 E1\r
930 \r
931         push    af              ; F5\r
932         push.s  af              ; 52 F5\r
933         push    ix              ; DD E5\r
934         push.s  ix              ; 52 DD E5\r
935         push    iy              ; FD E5\r
936         push.s  iy              ; 52 FD E5\r
937         push    bc              ; C5\r
938         push    de              ; D5\r
939         push    hl              ; E5\r
940         push.s  bc              ; 52 C5\r
941         push.s  de              ; 52 D5\r
942         push.s  hl              ; 52 E5\r
943 \r
944         res     0,(hl)          ; CB 86\r
945         res.s   0,(hl)          ; 52 CB 86\r
946         res     1,(hl)          ; CB 8E\r
947         res.s   1,(hl)          ; 52 CB 8E\r
948         res     2,(hl)          ; CB 96\r
949         res.s   2,(hl)          ; 52 CB 96\r
950         res     3,(hl)          ; CB 9E\r
951         res.s   3,(hl)          ; 52 CB 9E\r
952         res     4,(hl)          ; CB A6\r
953         res.s   4,(hl)          ; 52 CB A6\r
954         res     5,(hl)          ; CB AE\r
955         res.s   5,(hl)          ; 52 CB AE\r
956         res     6,(hl)          ; CB B6\r
957         res.s   6,(hl)          ; 52 CB B6\r
958         res     _bit7,(hl)      ; CBuBE\r
959         res.s   _bit7,(hl)      ; 52 CBuBE\r
960         res     0,(ix+19)       ; DD CB 19 86\r
961         res.s   0,(ix+var1)     ; 52 DD CBr10 86\r
962         res     0,(iy+19)       ; FD CB 19 86\r
963         res.s   0,(iy+var1)     ; 52 FD CBr10 86\r
964         res     1,(ix+19)       ; DD CB 19 8E\r
965         res.s   1,(ix+var1)     ; 52 DD CBr10 8E\r
966         res     1,(iy+19)       ; FD CB 19 8E\r
967         res.s   1,(iy+var1)     ; 52 FD CBr10 8E\r
968         res     2,(ix+19)       ; DD CB 19 96\r
969         res.s   2,(ix+var1)     ; 52 DD CBr10 96\r
970         res     2,(iy+19)       ; FD CB 19 96\r
971         res.s   2,(iy+var1)     ; 52 FD CBr10 96\r
972         res     3,(ix+19)       ; DD CB 19 9E\r
973         res.s   3,(ix+var1)     ; 52 DD CBr10 9E\r
974         res     3,(iy+19)       ; FD CB 19 9E\r
975         res.s   3,(iy+var1)     ; 52 FD CBr10 9E\r
976         res     4,(ix+19)       ; DD CB 19 A6\r
977         res.s   4,(ix+var1)     ; 52 DD CBr10 A6\r
978         res     4,(iy+19)       ; FD CB 19 A6\r
979         res.s   4,(iy+var1)     ; 52 FD CBr10 A6\r
980         res     5,(ix+19)       ; DD CB 19 AE\r
981         res.s   5,(ix+var1)     ; 52 DD CBr10 AE\r
982         res     5,(iy+19)       ; FD CB 19 AE\r
983         res.s   5,(iy+var1)     ; 52 FD CBr10 AE\r
984         res     6,(ix+19)       ; DD CB 19 B6\r
985         res.s   6,(ix+var1)     ; 52 DD CBr10 B6\r
986         res     6,(iy+19)       ; FD CB 19 B6\r
987         res.s   6,(iy+var1)     ; 52 FD CBr10 B6\r
988         res     _bit7,(ix+19)   ; DD CB 19uBE\r
989         res.s   _bit7,(ix+var1) ; 52 DD CBr10uBE\r
990         res     _bit7,(iy+19)   ; FD CB 19uBE\r
991         res.s   _bit7,(iy+var1) ; 52 FD CBr10uBE\r
992         res     0,a             ; CB 87\r
993         res     0,b             ; CB 80\r
994         res     0,c             ; CB 81\r
995         res     0,d             ; CB 82\r
996         res     0,e             ; CB 83\r
997         res     0,h             ; CB 84\r
998         res     0,l             ; CB 85\r
999         res     1,a             ; CB 8F\r
1000         res     1,b             ; CB 88\r
1001         res     1,c             ; CB 89\r
1002         res     1,d             ; CB 8A\r
1003         res     1,e             ; CB 8B\r
1004         res     1,h             ; CB 8C\r
1005         res     1,l             ; CB 8D\r
1006         res     2,a             ; CB 97\r
1007         res     2,b             ; CB 90\r
1008         res     2,c             ; CB 91\r
1009         res     2,d             ; CB 92\r
1010         res     2,e             ; CB 93\r
1011         res     2,h             ; CB 94\r
1012         res     2,l             ; CB 95\r
1013         res     3,a             ; CB 9F\r
1014         res     3,b             ; CB 98\r
1015         res     3,c             ; CB 99\r
1016         res     3,d             ; CB 9A\r
1017         res     3,e             ; CB 9B\r
1018         res     3,h             ; CB 9C\r
1019         res     3,l             ; CB 9D\r
1020         res     4,a             ; CB A7\r
1021         res     4,b             ; CB A0\r
1022         res     4,c             ; CB A1\r
1023         res     4,d             ; CB A2\r
1024         res     4,e             ; CB A3\r
1025         res     4,h             ; CB A4\r
1026         res     4,l             ; CB A5\r
1027         res     5,a             ; CB AF\r
1028         res     5,b             ; CB A8\r
1029         res     5,c             ; CB A9\r
1030         res     5,d             ; CB AA\r
1031         res     5,e             ; CB AB\r
1032         res     5,h             ; CB AC\r
1033         res     5,l             ; CB AD\r
1034         res     6,a             ; CB B7\r
1035         res     6,b             ; CB B0\r
1036         res     6,c             ; CB B1\r
1037         res     6,d             ; CB B2\r
1038         res     6,e             ; CB B3\r
1039         res     6,h             ; CB B4\r
1040         res     6,l             ; CB B5\r
1041         res     _bit7,a         ; CBuBF\r
1042         res     _bit7,b         ; CBuB8\r
1043         res     _bit7,c         ; CBuB9\r
1044         res     _bit7,d         ; CBuBA\r
1045         res     _bit7,e         ; CBuBB\r
1046         res     _bit7,h         ; CBuBC\r
1047         res     _bit7,l         ; CBuBD\r
1048 \r
1049         ret                     ; C9\r
1050         ret.l                   ; 5B C9\r
1051         ret     nz              ; C0\r
1052         ret     z               ; C8\r
1053         ret     nc              ; D0\r
1054         ret     c               ; D8\r
1055         ret     po              ; E0\r
1056         ret     pe              ; E8\r
1057         ret     p               ; F0\r
1058         ret     m               ; F8\r
1059         ret.l   nz              ; 5B C0\r
1060         ret.l   z               ; 5B C8\r
1061         ret.l   nc              ; 5B D0\r
1062         ret.l   c               ; 5B D8\r
1063         ret.l   po              ; 5B E0\r
1064         ret.l   pe              ; 5B E8\r
1065         ret.l   p               ; 5B F0\r
1066         ret.l   m               ; 5B F8\r
1067 \r
1068         reti                    ; ED 4D\r
1069         reti.l                  ; 5B ED 4D\r
1070 \r
1071         retn                    ; ED 45\r
1072         retn.l                  ; 5B ED 45\r
1073 \r
1074         rl      (hl)            ; CB 16\r
1075         rl.s    (hl)            ; 52 CB 16\r
1076         rl      (ix+var2)       ; DD CB 20 16\r
1077         rl.s    (ix+19)         ; 52 DD CB 19 16\r
1078         rl      (iy+var2)       ; FD CB 20 16\r
1079         rl.s    (iy+19)         ; 52 FD CB 19 16\r
1080         rl      a               ; CB 17\r
1081         rl      b               ; CB 10\r
1082         rl      c               ; CB 11\r
1083         rl      d               ; CB 12\r
1084         rl      e               ; CB 13\r
1085         rl      h               ; CB 14\r
1086         rl      l               ; CB 15\r
1087 \r
1088         rla                     ; 17\r
1089 \r
1090         rlc     (hl)            ; CB 06\r
1091         rlc.s   (hl)            ; 52 CB 06\r
1092         rlc     (ix+var2)       ; DD CB 20 06\r
1093         rlc.s   (ix+19)         ; 52 DD CB 19 06\r
1094         rlc     (iy+var2)       ; FD CB 20 06\r
1095         rlc.s   (iy+19)         ; 52 FD CB 19 06\r
1096         rlc     a               ; CB 07\r
1097         rlc     b               ; CB 00\r
1098         rlc     c               ; CB 01\r
1099         rlc     d               ; CB 02\r
1100         rlc     e               ; CB 03\r
1101         rlc     h               ; CB 04\r
1102         rlc     l               ; CB 05\r
1103 \r
1104         rlca                    ; 07\r
1105 \r
1106         rld                     ; ED 6F\r
1107 \r
1108         rr      (hl)            ; CB 1E\r
1109         rr.s    (hl)            ; 52 CB 1E\r
1110         rr      (ix+19)         ; DD CB 19 1E\r
1111         rr.s    (ix+var1)       ; 52 DD CBr10 1E\r
1112         rr      (iy+19)         ; FD CB 19 1E\r
1113         rr.s    (iy+var1)       ; 52 FD CBr10 1E\r
1114         rr      a               ; CB 1F\r
1115         rr      b               ; CB 18\r
1116         rr      c               ; CB 19\r
1117         rr      d               ; CB 1A\r
1118         rr      e               ; CB 1B\r
1119         rr      h               ; CB 1C\r
1120         rr      l               ; CB 1D\r
1121 \r
1122         rra                     ; 1F\r
1123 \r
1124         rrc     (hl)            ; CB 0E\r
1125         rrc.s   (hl)            ; 52 CB 0E\r
1126         rrc     (ix+19)         ; DD CB 19 0E\r
1127         rrc.s   (ix+var1)       ; 52 DD CBr10 0E\r
1128         rrc     (iy+19)         ; FD CB 19 0E\r
1129         rrc.s   (iy+var1)       ; 52 FD CBr10 0E\r
1130         rrc     a               ; CB 0F\r
1131         rrc     b               ; CB 08\r
1132         rrc     c               ; CB 09\r
1133         rrc     d               ; CB 0A\r
1134         rrc     e               ; CB 0B\r
1135         rrc     h               ; CB 0C\r
1136         rrc     l               ; CB 0D\r
1137 \r
1138         rrca                    ; 0F\r
1139 \r
1140         rrd                     ; ED 67\r
1141 \r
1142         rsmix                   ; ED 7E\r
1143 \r
1144         rst     00              ; C7\r
1145         rst     08              ; CF\r
1146         rst     10              ; D7\r
1147         rst     18              ; DF\r
1148         rst     20              ; E7\r
1149         rst     28              ; EF\r
1150         rst     30              ; F7\r
1151         rst     38              ; FF\r
1152         rst.s   00              ; 52 C7\r
1153         rst.s   08              ; 52 CF\r
1154         rst.s   10              ; 52 D7\r
1155         rst.s   18              ; 52 DF\r
1156         rst.s   20              ; 52 E7\r
1157         rst.s   28              ; 52 EF\r
1158         rst.s   30              ; 52 F7\r
1159         rst.s   38              ; 52 FF\r
1160 \r
1161         sbc     a,(hl)          ; 9E\r
1162         sbc.s   a,(hl)          ; 52 9E\r
1163         sbc     a,ixh           ; DD 9C\r
1164         sbc     a,ixl           ; DD 9D\r
1165         sbc     a,iyh           ; FD 9C\r
1166         sbc     a,iyl           ; FD 9D\r
1167         sbc     a,(ix+19)       ; DD 9E 19\r
1168         sbc.s   a,(ix+var1)     ; 52 DD 9Er10\r
1169         sbc     a,(iy+19)       ; FD 9E 19\r
1170         sbc.s   a,(iy+var1)     ; 52 FD 9Er10\r
1171         sbc     a,19            ; DE 19\r
1172         sbc     a,a             ; 9F\r
1173         sbc     a,b             ; 98\r
1174         sbc     a,c             ; 99\r
1175         sbc     a,d             ; 9A\r
1176         sbc     a,e             ; 9B\r
1177         sbc     a,h             ; 9C\r
1178         sbc     a,l             ; 9D\r
1179         sbc     hl,bc           ; ED 42\r
1180         sbc     hl,de           ; ED 52\r
1181         sbc     hl,hl           ; ED 62\r
1182         sbc.s   hl,bc           ; 52 ED 42\r
1183         sbc.s   hl,de           ; 52 ED 52\r
1184         sbc.s   hl,hl           ; 52 ED 62\r
1185         sbc     hl,sp           ; ED 72\r
1186         sbc.s   hl,sp           ; 52 ED 72\r
1187 \r
1188         scf                     ; 37\r
1189 \r
1190         set     0,(hl)          ; CB C6\r
1191         set.s   0,(hl)          ; 52 CB C6\r
1192         set     0,(ix+19)       ; DD CB 19 C6\r
1193         set.s   0,(ix+var1)     ; 52 DD CBr10 C6\r
1194         set     0,(iy+19)       ; FD CB 19 C6\r
1195         set.s   0,(iy+var1)     ; 52 FD CBr10 C6\r
1196         set     1,(hl)          ; CB CE\r
1197         set.s   1,(hl)          ; 52 CB CE\r
1198         set     1,(ix+19)       ; DD CB 19 CE\r
1199         set.s   1,(ix+var1)     ; 52 DD CBr10 CE\r
1200         set     1,(iy+19)       ; FD CB 19 CE\r
1201         set.s   1,(iy+var1)     ; 52 FD CBr10 CE\r
1202         set     2,(hl)          ; CB D6\r
1203         set.s   2,(hl)          ; 52 CB D6\r
1204         set     2,(ix+19)       ; DD CB 19 D6\r
1205         set.s   2,(ix+var1)     ; 52 DD CBr10 D6\r
1206         set     2,(iy+19)       ; FD CB 19 D6\r
1207         set.s   2,(iy+var1)     ; 52 FD CBr10 D6\r
1208         set     3,(hl)          ; CB DE\r
1209         set.s   3,(hl)          ; 52 CB DE\r
1210         set     3,(ix+19)       ; DD CB 19 DE\r
1211         set.s   3,(ix+var1)     ; 52 DD CBr10 DE\r
1212         set     3,(iy+19)       ; FD CB 19 DE\r
1213         set.s   3,(iy+var1)     ; 52 FD CBr10 DE\r
1214         set     4,(hl)          ; CB E6\r
1215         set.s   4,(hl)          ; 52 CB E6\r
1216         set     4,(ix+19)       ; DD CB 19 E6\r
1217         set.s   4,(ix+var1)     ; 52 DD CBr10 E6\r
1218         set     4,(iy+19)       ; FD CB 19 E6\r
1219         set.s   4,(iy+var1)     ; 52 FD CBr10 E6\r
1220         set     5,(hl)          ; CB EE\r
1221         set.s   5,(hl)          ; 52 CB EE\r
1222         set     5,(ix+19)       ; DD CB 19 EE\r
1223         set.s   5,(ix+var1)     ; 52 DD CBr10 EE\r
1224         set     5,(iy+19)       ; FD CB 19 EE\r
1225         set.s   5,(iy+var1)     ; 52 FD CBr10 EE\r
1226         set     6,(hl)          ; CB F6\r
1227         set.s   6,(hl)          ; 52 CB F6\r
1228         set     6,(ix+19)       ; DD CB 19 F6\r
1229         set.s   6,(ix+var1)     ; 52 DD CBr10 F6\r
1230         set     6,(iy+19)       ; FD CB 19 F6\r
1231         set.s   6,(iy+var1)     ; 52 FD CBr10 F6\r
1232         set     _bit7,(hl)      ; CBuFE\r
1233         set.s   _bit7,(hl)      ; 52 CBuFE\r
1234         set     _bit7,(ix+19)   ; DD CB 19uFE\r
1235         set.s   _bit7,(ix+var1) ; 52 DD CBr10uFE\r
1236         set     _bit7,(iy+19)   ; FD CB 19uFE\r
1237         set.s   _bit7,(iy+var1) ; 52 FD CBr10uFE\r
1238         set     0,a             ; CB C7\r
1239         set     0,b             ; CB C0\r
1240         set     0,c             ; CB C1\r
1241         set     0,d             ; CB C2\r
1242         set     0,e             ; CB C3\r
1243         set     0,h             ; CB C4\r
1244         set     0,l             ; CB C5\r
1245         set     1,a             ; CB CF\r
1246         set     1,b             ; CB C8\r
1247         set     1,c             ; CB C9\r
1248         set     1,d             ; CB CA\r
1249         set     1,e             ; CB CB\r
1250         set     1,h             ; CB CC\r
1251         set     1,l             ; CB CD\r
1252         set     2,a             ; CB D7\r
1253         set     2,b             ; CB D0\r
1254         set     2,c             ; CB D1\r
1255         set     2,d             ; CB D2\r
1256         set     2,e             ; CB D3\r
1257         set     2,h             ; CB D4\r
1258         set     2,l             ; CB D5\r
1259         set     3,a             ; CB DF\r
1260         set     3,b             ; CB D8\r
1261         set     3,c             ; CB D9\r
1262         set     3,d             ; CB DA\r
1263         set     3,e             ; CB DB\r
1264         set     3,h             ; CB DC\r
1265         set     3,l             ; CB DD\r
1266         set     4,a             ; CB E7\r
1267         set     4,b             ; CB E0\r
1268         set     4,c             ; CB E1\r
1269         set     4,d             ; CB E2\r
1270         set     4,e             ; CB E3\r
1271         set     4,h             ; CB E4\r
1272         set     4,l             ; CB E5\r
1273         set     5,a             ; CB EF\r
1274         set     5,b             ; CB E8\r
1275         set     5,c             ; CB E9\r
1276         set     5,d             ; CB EA\r
1277         set     5,e             ; CB EB\r
1278         set     5,h             ; CB EC\r
1279         set     5,l             ; CB ED\r
1280         set     6,a             ; CB F7\r
1281         set     6,b             ; CB F0\r
1282         set     6,c             ; CB F1\r
1283         set     6,d             ; CB F2\r
1284         set     6,e             ; CB F3\r
1285         set     6,h             ; CB F4\r
1286         set     6,l             ; CB F5\r
1287         set     _bit7,a         ; CBuFF\r
1288         set     _bit7,b         ; CBuF8\r
1289         set     _bit7,c         ; CBuF9\r
1290         set     _bit7,d         ; CBuFA\r
1291         set     _bit7,e         ; CBuFB\r
1292         set     _bit7,h         ; CBuFC\r
1293         set     _bit7,l         ; CBuFD\r
1294 \r
1295         sla     (hl)            ; CB 26\r
1296         sla.s   (hl)            ; 52 CB 26\r
1297         sla     (ix+var2)       ; DD CB 20 26\r
1298         sla.s   (ix+19)         ; 52 DD CB 19 26\r
1299         sla     (iy+var2)       ; FD CB 20 26\r
1300         sla.s   (iy+19)         ; 52 FD CB 19 26\r
1301         sla     a               ; CB 27\r
1302         sla     b               ; CB 20\r
1303         sla     c               ; CB 21\r
1304         sla     d               ; CB 22\r
1305         sla     e               ; CB 23\r
1306         sla     h               ; CB 24\r
1307         sla     l               ; CB 25\r
1308 \r
1309         slp                     ; ED 76\r
1310 \r
1311         sra     (hl)            ; CB 2E\r
1312         sra.s   (hl)            ; 52 CB 2E\r
1313         sra     (ix+var2)       ; DD CB 20 2E\r
1314         sra.s   (ix+19)         ; 52 DD CB 19 2E\r
1315         sra     (iy+var2)       ; FD CB 20 2E\r
1316         sra.s   (iy+19)         ; 52 FD CB 19 2E\r
1317         sra     a               ; CB 2F\r
1318         sra     b               ; CB 28\r
1319         sra     c               ; CB 29\r
1320         sra     d               ; CB 2A\r
1321         sra     e               ; CB 2B\r
1322         sra     h               ; CB 2C\r
1323         sra     l               ; CB 2D\r
1324 \r
1325         srl     (hl)            ; CB 3E\r
1326         srl.s   (hl)            ; 52 CB 3E\r
1327         srl     (ix+var1)       ; DD CBr10 3E\r
1328         srl.s   (ix+var2)       ; 52 DD CB 20 3E\r
1329         srl     (iy+var1)       ; FD CBr10 3E\r
1330         srl.s   (iy+var2)       ; 52 FD CB 20 3E\r
1331         srl     a               ; CB 3F\r
1332         srl     b               ; CB 38\r
1333         srl     c               ; CB 39\r
1334         srl     d               ; CB 3A\r
1335         srl     e               ; CB 3B\r
1336         srl     h               ; CB 3C\r
1337         srl     l               ; CB 3D\r
1338 \r
1339         stmix                   ; ED 7D\r
1340 \r
1341         sub     a,(hl)          ; 96\r
1342         sub.s   a,(hl)          ; 52 96\r
1343         sub     a,ixh           ; DD 94\r
1344         sub     a,ixl           ; DD 95\r
1345         sub     a,iyh           ; FD 94\r
1346         sub     a,iyl           ; FD 95\r
1347         sub     a,(ix+var2)     ; DD 96 20\r
1348         sub.s   a,(ix+19)       ; 52 DD 96 19\r
1349         sub     a,(iy+var2)     ; FD 96 20\r
1350         sub.s   a,(iy+19)       ; 52 FD 96 19\r
1351         sub     a,var2          ; D6 20\r
1352         sub     a,a             ; 97\r
1353         sub     a,b             ; 90\r
1354         sub     a,c             ; 91\r
1355         sub     a,d             ; 92\r
1356         sub     a,e             ; 93\r
1357         sub     a,h             ; 94\r
1358         sub     a,l             ; 95\r
1359         tst     a,(hl)          ; ED 34\r
1360 \r
1361         tst.s   a,(hl)          ; 52 ED 34\r
1362 \r
1363         ; The following line has errata in\r
1364         ; manual codes (49,ed,73), the ones\r
1365         ; listed here are correct\r
1366 \r
1367         tst     a,19            ; ED 64 19\r
1368         tst     a,a             ; ED 3C\r
1369         tst     a,b             ; ED 04\r
1370         tst     a,c             ; ED 0C\r
1371         tst     a,d             ; ED 14\r
1372         tst     a,e             ; ED 1C\r
1373         tst     a,h             ; ED 24\r
1374         tst     a,l             ; ED 2C\r
1375 \r
1376         tstio   var2            ; ED 74 20\r
1377 \r
1378         xor     a,(hl)          ; AE\r
1379         xor.s   a,(hl)          ; 52 AE\r
1380         xor     a,ixh           ; DD AC\r
1381         xor     a,ixl           ; DD AD\r
1382         xor     a,iyh           ; FD AC\r
1383         xor     a,iyl           ; FD AD\r
1384         xor     a,(ix+var1)     ; DD AEr10\r
1385         xor.s   a,(ix+var2)     ; 52 DD AE 20\r
1386         xor     a,(iy+var1)     ; FD AEr10\r
1387         xor.s   a,(iy+var2)     ; 52 FD AE 20\r
1388         xor     a,var1          ; EEr10\r
1389         xor     a,a             ; AF\r
1390         xor     a,b             ; A8\r
1391         xor     a,c             ; A9\r
1392         xor     a,d             ; AA\r
1393         xor     a,e             ; AB\r
1394         xor     a,h             ; AC\r
1395         xor     a,l             ; AD\r
1396 \r
1397         .sbttl  Z80 Mode\r
1398 \r
1399         .z80\r
1400         .radix  h\r
1401 \r
1402         .ascii  /Hello, world/\r
1403 \r
1404         ;var1=10\r
1405         .define var1, "varx + 10"\r
1406 \r
1407         var2==20\r
1408   \r
1409         adc     a,(hl)          ; 8E\r
1410         adc.l   a,(hl)          ; 49 8E\r
1411         adc     a,ixh           ; DD 8C\r
1412         adc     a,ixl           ; DD 8D\r
1413         adc     a,iyh           ; FD 8C\r
1414         adc     a,iyl           ; FD 8D\r
1415         adc     a,(ix+var2)     ; DD 8E 20\r
1416         adc.l   a,(ix+var1)     ; 49 DD 8Er10\r
1417         adc     a,(iy+var2)     ; FD 8E 20\r
1418         adc.l   a,(iy+var1)     ; 49 FD 8Er10\r
1419         adc     a,var2          ; CE 20\r
1420         adc     a,a             ; 8F\r
1421         adc     a,b             ; 88\r
1422         adc     a,c             ; 89\r
1423         adc     a,d             ; 8A\r
1424         adc     a,e             ; 8B\r
1425         adc     a,h             ; 8C\r
1426         adc     a,l             ; 8D\r
1427 \r
1428         ;These are added for backward compatibility with\r
1429         ;the original Z80 assembler which optionally\r
1430         ;does not require the 'A' register to be named.\r
1431 \r
1432         adc     (hl)            ; 8E\r
1433         adc.l   (hl)            ; 49 8E\r
1434         adc     ixh             ; DD 8C\r
1435         adc     ixl             ; DD 8D\r
1436         adc     iyh             ; FD 8C\r
1437         adc     iyl             ; FD 8D\r
1438         adc     (ix+var2)       ; DD 8E 20\r
1439         adc.l   (ix+var1)       ; 49 DD 8Er10\r
1440         adc     (iy+var2)       ; FD 8E 20\r
1441         adc.l   (iy+var1)       ; 49 FD 8Er10\r
1442         adc     var2            ; CE 20\r
1443         adc     a               ; 8F\r
1444         adc     b               ; 88\r
1445         adc     c               ; 89\r
1446         adc     d               ; 8A\r
1447         adc     e               ; 8B\r
1448         adc     h               ; 8C\r
1449         adc     l               ; 8D\r
1450 \r
1451         ;End of Z80 compatibility section\r
1452 \r
1453         adc     hl,bc           ; ED 4A\r
1454         adc     hl,de           ; ED 5A\r
1455         adc     hl,hl           ; ED 6A\r
1456         adc.l   hl,bc           ; 49 ED 4A\r
1457         adc.l   hl,de           ; 49 ED 5A\r
1458         adc.l   hl,hl           ; 49 ED 6A\r
1459         adc     hl,sp           ; ED 7A\r
1460         adc.l   hl,sp           ; 49 ED 7A\r
1461 \r
1462         add     a,(hl)          ; 86\r
1463         add.l   a,(hl)          ; 49 86\r
1464         add     a,ixh           ; DD 84\r
1465         add     a,ixl           ; DD 85\r
1466         add     a,iyh           ; FD 84\r
1467         add     a,iyl           ; FD 85\r
1468         add     a,(ix+var2)     ; DD 86 20\r
1469         add.l   a,(ix+var1)     ; 49 DD 86r10\r
1470         add     a,(iy+var2)     ; FD 86 20\r
1471         add.l   a,(iy+var1)     ; 49 FD 86r10\r
1472         add     a,var2          ; C6 20\r
1473         add     a,a             ; 87\r
1474         add     a,b             ; 80\r
1475         add     a,c             ; 81\r
1476         add     a,d             ; 82\r
1477         add     a,e             ; 83\r
1478         add     a,h             ; 84\r
1479         add     a,l             ; 85\r
1480         add     hl,bc           ; 09\r
1481         add     hl,de           ; 19\r
1482         add     hl,hl           ; 29\r
1483         add.l   hl,bc           ; 49 09\r
1484         add.l   hl,de           ; 49 19\r
1485         add.l   hl,hl           ; 49 29\r
1486         add     hl,sp           ; 39\r
1487         add.l   hl,sp           ; 49 39\r
1488         add     ix,bc           ; DD 09\r
1489         add     ix,de           ; DD 19\r
1490         add     ix,ix           ; DD 29\r
1491         add.l   ix,bc           ; 49 DD 09\r
1492         add.l   ix,de           ; 49 DD 19\r
1493         add.l   ix,ix           ; 49 DD 29\r
1494         add     iy,bc           ; FD 09\r
1495         add     iy,de           ; FD 19\r
1496         add     iy,iy           ; FD 29\r
1497         add.l   iy,bc           ; 49 FD 09\r
1498         add.l   iy,de           ; 49 FD 19\r
1499         add.l   iy,iy           ; 49 FD 29\r
1500         add     ix,sp           ; DD 39\r
1501         add.l   ix,sp           ; 49 DD 39\r
1502         add     iy,sp           ; FD 39\r
1503         add.l   iy,sp           ; 49 FD 39\r
1504 \r
1505         and     a,(hl)          ; A6\r
1506         and.l   a,(hl)          ; 49 A6\r
1507         and     a,ixh           ; DD A4\r
1508         and     a,ixl           ; DD A5\r
1509         and     a,iyh           ; FD A4\r
1510         and     a,iyl           ; FD A5\r
1511         and     a,(ix+var2)     ; DD A6 20\r
1512         and.l   a,(ix+var1)     ; 49 DD A6r10\r
1513         and     a,(iy+var2)     ; FD A6 20\r
1514         and.l   a,(iy+var1)     ; 49 FD A6r10\r
1515         and     a,var2          ; E6 20\r
1516         and     a,a             ; A7\r
1517         and     a,b             ; A0\r
1518         and     a,c             ; A1\r
1519         and     a,d             ; A2\r
1520         and     a,e             ; A3\r
1521         and     a,h             ; A4\r
1522         and     a,l             ; A5\r
1523 \r
1524         bit     0,(hl)          ; CB 46\r
1525         bit     1,(hl)          ; CB 4E\r
1526         bit     2,(hl)          ; CB 56\r
1527         bit     3,(hl)          ; CB 5E\r
1528         bit     4,(hl)          ; CB 66\r
1529         bit     5,(hl)          ; CB 6E\r
1530         bit     6,(hl)          ; CB 76\r
1531         bit     _bit7,(hl)      ; CBu7E\r
1532         bit.l   0,(hl)          ; 49 CB 46\r
1533         bit.l   1,(hl)          ; 49 CB 4E\r
1534         bit.l   2,(hl)          ; 49 CB 56\r
1535         bit.l   3,(hl)          ; 49 CB 5E\r
1536         bit.l   4,(hl)          ; 49 CB 66\r
1537         bit.l   5,(hl)          ; 49 CB 6E\r
1538         bit.l   6,(hl)          ; 49 CB 76\r
1539         bit.l   _bit7,(hl)      ; 49 CBu7E\r
1540         bit     0,(ix+var1)     ; DD CBr10 46\r
1541         bit     1,(ix+var2)     ; DD CB 20 4E\r
1542         bit     2,(ix+19)       ; DD CB 19 56\r
1543         bit     3,(ix+var1)     ; DD CBr10 5E\r
1544         bit     4,(ix+var2)     ; DD CB 20 66\r
1545         bit     5,(ix+19)       ; DD CB 19 6E\r
1546         bit     6,(ix+var1)     ; DD CBr10 76\r
1547         bit     _bit7,(ix+var2) ; DD CB 20u7E\r
1548         bit.l   0,(ix+var2)     ; 49 DD CB 20 46\r
1549         bit.l   1,(ix+19)       ; 49 DD CB 19 4E\r
1550         bit.l   2,(ix+var1)     ; 49 DD CBr10 56\r
1551         bit.l   3,(ix+var2)     ; 49 DD CB 20 5E\r
1552         bit.l   4,(ix+19)       ; 49 DD CB 19 66\r
1553         bit.l   5,(ix+var1)     ; 49 DD CBr10 6E\r
1554         bit.l   6,(ix+var2)     ; 49 DD CB 20 76\r
1555         bit.l   _bit7,(ix+19)   ; 49 DD CB 19u7E\r
1556         bit     0,(iy+var1)     ; FD CBr10 46\r
1557         bit     1,(iy+var2)     ; FD CB 20 4E\r
1558         bit     2,(iy+19)       ; FD CB 19 56\r
1559         bit     3,(iy+var1)     ; FD CBr10 5E\r
1560         bit     4,(iy+var2)     ; FD CB 20 66\r
1561         bit     5,(iy+19)       ; FD CB 19 6E\r
1562         bit     6,(iy+var1)     ; FD CBr10 76\r
1563         bit     _bit7,(iy+var2) ; FD CB 20u7E\r
1564         bit.l   0,(iy+var2)     ; 49 FD CB 20 46\r
1565         bit.l   1,(iy+19)       ; 49 FD CB 19 4E\r
1566         bit.l   2,(iy+var1)     ; 49 FD CBr10 56\r
1567         bit.l   3,(iy+var2)     ; 49 FD CB 20 5E\r
1568         bit.l   4,(iy+19)       ; 49 FD CB 19 66\r
1569         bit.l   5,(iy+var1)     ; 49 FD CBr10 6E\r
1570         bit.l   6,(iy+var2)     ; 49 FD CB 20 76\r
1571         bit.l   _bit7,(iy+19)   ; 49 FD CB 19u7E\r
1572         bit     0,a             ; CB 47\r
1573         bit     0,b             ; CB 40\r
1574         bit     0,c             ; CB 41\r
1575         bit     0,d             ; CB 42\r
1576         bit     0,e             ; CB 43\r
1577         bit     0,h             ; CB 44\r
1578         bit     0,l             ; CB 45\r
1579         bit     1,a             ; CB 4F\r
1580         bit     1,b             ; CB 48\r
1581         bit     1,c             ; CB 49\r
1582         bit     1,d             ; CB 4A\r
1583         bit     1,e             ; CB 4B\r
1584         bit     1,h             ; CB 4C\r
1585         bit     1,l             ; CB 4D\r
1586         bit     2,a             ; CB 57\r
1587         bit     2,b             ; CB 50\r
1588         bit     2,c             ; cb 51\r
1589         bit     2,d             ; CB 52\r
1590         bit     2,e             ; cb 53\r
1591         bit     2,h             ; CB 54\r
1592         bit     2,l             ; CB 55\r
1593         bit     3,a             ; CB 5F\r
1594         bit     3,b             ; CB 58\r
1595         bit     3,c             ; CB 59\r
1596         bit     3,d             ; CB 5A\r
1597         bit     3,e             ; CB 5B\r
1598         bit     3,h             ; CB 5C\r
1599         bit     3,l             ; CB 5D\r
1600         bit     4,a             ; CB 67\r
1601         bit     4,b             ; CB 60\r
1602         bit     4,c             ; CB 61\r
1603         bit     4,d             ; CB 62\r
1604         bit     4,e             ; CB 63\r
1605         bit     4,h             ; CB 64\r
1606         bit     4,l             ; CB 65\r
1607         bit     5,a             ; CB 6F\r
1608         bit     5,b             ; CB 68\r
1609         bit     5,c             ; CB 69\r
1610         bit     5,d             ; CB 6A\r
1611         bit     5,e             ; CB 6B\r
1612         bit     5,h             ; CB 6C\r
1613         bit     5,l             ; CB 6D\r
1614         bit     6,a             ; CB 77\r
1615         bit     6,b             ; CB 70\r
1616         bit     6,c             ; CB 71\r
1617         bit     6,d             ; CB 72\r
1618         bit     6,e             ; CB 73\r
1619         bit     6,h             ; CB 74\r
1620         bit     6,l             ; CB 75\r
1621         bit     _bit7,a         ; CBu7F\r
1622         bit     _bit7,b         ; CBu78\r
1623         bit     _bit7,c         ; CBu79\r
1624         bit     _bit7,d         ; CBu7A\r
1625         bit     _bit7,e         ; CBu7B\r
1626         bit     _bit7,h         ; CBu7C\r
1627         bit     _bit7,l         ; CBu7D\r
1628 \r
1629         call    nz,19           ; C4 19 00\r
1630         call.is nz,var2         ; 40 C4 20 00\r
1631         call    z,19            ; CC 19 00\r
1632         call.is z,var2          ; 40 CC 20 00\r
1633         call    nc,19           ; D4 19 00\r
1634         call.is nc,var2         ; 40 D4 20 00\r
1635         call    c,19            ; DC 19 00\r
1636         call.is c,var2          ; 40 DC 20 00\r
1637         call    po,19           ; E4 19 00\r
1638         call.is po,var2         ; 40 E4 20 00\r
1639         call    pe,19           ; EC 19 00\r
1640         call.is pe,var2         ; 40 EC 20 00\r
1641         call    p,19            ; F4 19 00\r
1642         call.is p,var2          ; 40 F4 20 00\r
1643         call    m,19            ; FC 19 00\r
1644         call.is m,var2          ; 40 FC 20 00\r
1645         call    19              ; CD 19 00\r
1646         call.is var2            ; 40 CD 20 00\r
1647 \r
1648         ccf                     ; 3F\r
1649 \r
1650         cp      a,(hl)          ; BE\r
1651         cp.l    a,(hl)          ; 49 BE\r
1652         cp      a,ixh           ; DD BC\r
1653         cp      a,ixl           ; DD BD\r
1654         cp      a,iyh           ; FD BC\r
1655         cp      a,iyl           ; FD BD\r
1656         cp      a,(ix+var2)     ; DD BE 20\r
1657         cp.l    a,(ix+var1)     ; 49 DD BEr10\r
1658         cp      a,(iy+var2)     ; FD BE 20\r
1659         cp.l    a,(iy+var1)     ; 49 FD BEr10\r
1660         cp      a,var2          ; FE 20\r
1661         cp      a,a             ; BF\r
1662         cp      a,b             ; B8\r
1663         cp      a,c             ; B9\r
1664         cp      a,d             ; BA\r
1665         cp      a,e             ; BB\r
1666         cp      a,h             ; BC\r
1667         cp      a,l             ; BD\r
1668 \r
1669         cpd                     ; ED A9\r
1670         cpd.l                   ; 49 ED A9\r
1671 \r
1672         cpdr                    ; ED B9\r
1673         cpdr.l                  ; 49 ED B9\r
1674 \r
1675         cpi                     ; ED A1\r
1676         cpi.l                   ; 49 ED A1\r
1677 \r
1678         cpir                    ; ED B1\r
1679         cpir.l                  ; 49 ED B1\r
1680 \r
1681         cpl                     ; 2F\r
1682 \r
1683         daa                     ; 27\r
1684 \r
1685         dec     (hl)            ; 35\r
1686         dec.l   (hl)            ; 49 35\r
1687         dec     ixh             ; DD 25\r
1688         dec     ixl             ; DD 2D\r
1689         dec     iyh             ; FD 25\r
1690         dec     iyl             ; FD 2D\r
1691         dec     ix              ; DD 2B\r
1692         dec.l   ix              ; 49 DD 2B\r
1693         dec     iy              ; FD 2B\r
1694         dec.l   iy              ; 49 FD 2B\r
1695         dec     (ix+var1)       ; DD 35r10\r
1696         dec.l   (ix+19)         ; 49 DD 35 19\r
1697         dec     (iy+var1)       ; FD 35r10\r
1698         dec.l   (iy+19)         ; 49 FD 35 19\r
1699         dec     a               ; 3D\r
1700         dec     b               ; 05\r
1701         dec     c               ; 0D\r
1702         dec     d               ; 15\r
1703         dec     e               ; 1D\r
1704         dec     h               ; 25\r
1705         dec     l               ; 2D\r
1706         dec     bc              ; 0B\r
1707         dec     de              ; 1B\r
1708         dec     hl              ; 2b\r
1709         dec.l   bc              ; 49 0B\r
1710         dec.l   de              ; 49 1B\r
1711         dec.l   hl              ; 49 2B\r
1712         dec     sp              ; 3B\r
1713         dec.l   sp              ; 49 3B\r
1714 \r
1715         di                      ; F3\r
1716 \r
1717         djnz    jr0z80          ; 10 00\r
1718         jr0z80:\r
1719 \r
1720         ei                      ; FB\r
1721 \r
1722         ex      af,af'          ; 08\r
1723         ex      de,hl           ; EB\r
1724         ex      (sp),hl         ; E3\r
1725         ex.l    (sp),hl         ; 49 E3\r
1726         ex      (sp),ix         ; DD E3\r
1727         ex.l    (sp),ix         ; 49 DD E3\r
1728         ex      (sp),iy         ; FD E3\r
1729         ex.l    (sp),iy         ; 49 FD E3\r
1730 \r
1731         exx                     ; D9\r
1732 \r
1733         halt                    ; 76\r
1734 \r
1735         im      0               ; ED 46\r
1736         im      1               ; ED 56\r
1737         im      2               ; ED 5E\r
1738 \r
1739         in      a,(19)          ; DB 19\r
1740         in      a,(bc)          ; ED 78\r
1741         in      b,(bc)          ; ED 40\r
1742         in      c,(bc)          ; ED 48\r
1743         in      d,(bc)          ; ED 50\r
1744         in      e,(bc)          ; ED 58\r
1745         in      h,(bc)          ; ED 60\r
1746         in      l,(bc)          ; ED 68\r
1747         in      a,(c)           ; ED 78\r
1748         in      b,(c)           ; ED 40\r
1749         in      c,(c)           ; ED 48\r
1750         in      d,(c)           ; ED 50\r
1751         in      e,(c)           ; ED 58\r
1752         in      h,(c)           ; ED 60\r
1753         in      l,(c)           ; ED 68\r
1754 \r
1755         in0     a,(19)          ; ED 38 19\r
1756         in0     b,(var1)        ; ED 00u10\r
1757         in0     c,(var2)        ; ED 08 20\r
1758         in0     d,(19)          ; ED 10 19\r
1759         in0     e,(var1)        ; ED 18u10\r
1760         in0     h,(var2)        ; ED 20 20\r
1761         in0     l,(19)          ; ED 28 19\r
1762 \r
1763         inc     (hl)            ; 34\r
1764         inc.l   (hl)            ; 49 34\r
1765         inc     ixh             ; DD 24\r
1766         inc     ixl             ; DD 2C\r
1767         inc     iyh             ; FD 24\r
1768         inc     iyl             ; FD 2C\r
1769         inc     ix              ; DD 23\r
1770         inc.l   ix              ; 49 DD 23\r
1771         inc     iy              ; FD 23\r
1772         inc.l   iy              ; 49 FD 23\r
1773         inc     (ix+var2)       ; DD 34 20\r
1774         inc.l   (ix+var1)       ; 49 DD 34r10\r
1775         inc     (iy+var2)       ; FD 34 20\r
1776         inc.l   (iy+var1)       ; 49 FD 34r10\r
1777         inc     a               ; 3C\r
1778         inc     b               ; 04\r
1779         inc     c               ; 0C\r
1780         inc     d               ; 14\r
1781         inc     e               ; 1C\r
1782         inc     h               ; 24\r
1783         inc     l               ; 2C\r
1784         inc     bc              ; 03\r
1785         inc     de              ; 13\r
1786         inc     hl              ; 23\r
1787         inc.l   bc              ; 49 03\r
1788         inc.l   de              ; 49 13\r
1789         inc.l   hl              ; 49 23\r
1790         inc     sp              ; 33\r
1791         inc.l   sp              ; 49 33\r
1792 \r
1793         ind                     ; ED AA\r
1794         ind.l                   ; 49 ED AA\r
1795 \r
1796         ind2                    ; ED 8C\r
1797         ind2.l                  ; 49 ED 8C\r
1798 \r
1799         ind2r                   ; ED 9C\r
1800         ind2r.l                 ; 49 ED 9C\r
1801 \r
1802         indm                    ; ED 8A\r
1803         indm.l                  ; 49 ED 8A\r
1804 \r
1805         indmr                   ; ED 9A\r
1806         indmr.l                 ; 49 ED 9A\r
1807 \r
1808         indr                    ; ED BA\r
1809         indr.l                  ; 49 ED BA\r
1810 \r
1811         indrx                   ; ED CA\r
1812         indrx.l                 ; 49 ED CA\r
1813 \r
1814         ini                     ; ED A2\r
1815         ini.l                   ; 49 ED A2\r
1816 \r
1817         ini2                    ; ED 84\r
1818         ini2.l                  ; 49 ED 84\r
1819 \r
1820         ini2r                   ; ED 94\r
1821         ini2r.l                 ; 49 ED 94\r
1822 \r
1823         inim                    ; ED 82\r
1824         inim.l                  ; 49 ED 82\r
1825 \r
1826         inimr                   ; ED 92\r
1827         inimr.l                 ; 49 ED 92\r
1828 \r
1829         inir                    ; ED B2\r
1830         inir.l                  ; 49 ED B2\r
1831 \r
1832         inirx                   ; ED C2\r
1833         inirx.l                 ; 49 ED C2\r
1834 \r
1835         jp      nz,19           ; C2 19 00\r
1836         jp      z,var1          ; CA*10n00\r
1837         jp      nc,var2         ; D2 20 00\r
1838         jp      c,19            ; DA 19 00\r
1839         jp      po,var1         ; E2*10n00\r
1840         jp      pe,var2         ; EA 20 00\r
1841         jp      p,19            ; F2 19 00\r
1842         jp      m,var1          ; FA*10n00\r
1843         jp.sis  nz,var1         ; 40 C2*10n00\r
1844         jp.sis  z,var2          ; 40 CA 20 00\r
1845         jp.sis  nc,19           ; 40 D2 19 00\r
1846         jp.sis  c,var1          ; 40 DA*10n00\r
1847         jp.sis  po,var2         ; 40 E2 20 00\r
1848         jp.sis  pe,19           ; 40 EA 19 00\r
1849         jp.sis  p,var1          ; 40 F2*10n00\r
1850         jp.sis  m,var2          ; 40 FA 20 00\r
1851         jp      (hl)            ; E9\r
1852         jp.l    (hl)            ; 49 E9\r
1853         jp      (ix)            ; DD E9\r
1854         jp.s    (ix)            ; 40 DD E9\r
1855         jp.l    (ix)            ; 5B DD E9\r
1856         jp      (iy)            ; FD E9\r
1857         jp.s    (iy)            ; 40 FD E9\r
1858         jp.l    (iy)            ; 5B FD E9\r
1859         jp      var2            ; C3 20 00\r
1860         jp.sis  var1            ; 40 C3*10n00\r
1861 \r
1862         jr      nz,jr1z80       ; 20 08\r
1863         jr      z,jr2z80        ; 28 06\r
1864         jr      nc,jr3z80       ; 30 04\r
1865         jr      c,jr4z80        ; 38 02\r
1866         jr      jr5z80          ; 18 00\r
1867 \r
1868         jr1z80: jr2z80: jr3z80: jr4z80: jr5z80:\r
1869 \r
1870         ld      a,i             ; ED 57\r
1871         ld      a,(ix+19)       ; DD 7E 19\r
1872         ld.l    a,(ix+var2)     ; 49 DD 7E 20\r
1873         ld      a,(iy+19)       ; FD 7E 19\r
1874         ld.l    a,(iy+var2)     ; 49 FD 7E 20\r
1875         ld      a,mb            ; ED 6E\r
1876         ld      a,(var1)        ; 3A*10n00\r
1877         ld      a,r             ; ED 5F\r
1878         ld      a,(bc)          ; 0A\r
1879         ld.l    a,(bc)          ; 49 0A\r
1880         ld      a,(de)          ; 1A\r
1881         ld.l    a,(de)          ; 49 1A\r
1882         ld      a,(hl)          ; 7E\r
1883         ld.l    a,(hl)          ; 49 7E\r
1884         ld      hl,i            ; ED D7\r
1885         ld      (hl),ix         ; ED 3F\r
1886         ld.l    (hl),ix         ; 49 ED 3F\r
1887         ld      (hl),iy         ; ED 3E\r
1888         ld.l    (hl),iy         ; 49 ED 3E\r
1889         ld      (hl),var1       ; 36r10\r
1890         ld.l    (hl),19         ; 49 36 19\r
1891         ld      (hl),a          ; 77\r
1892         ld      (hl),b          ; 70\r
1893         ld      (hl),c          ; 71\r
1894         ld      (hl),d          ; 72\r
1895         ld      (hl),e          ; 73\r
1896         ld      (hl),h          ; 74\r
1897         ld      (hl),l          ; 75\r
1898         ld.l    (hl),a          ; 49 77\r
1899         ld.l    (hl),b          ; 49 70\r
1900         ld.l    (hl),c          ; 49 71\r
1901         ld.l    (hl),d          ; 49 72\r
1902         ld.l    (hl),e          ; 49 73\r
1903         ld.l    (hl),h          ; 49 74\r
1904         ld.l    (hl),l          ; 49 75\r
1905         ld      (hl),bc         ; ED 0F\r
1906         ld.l    (hl),bc         ; 49 ED 0F\r
1907         ld      (hl),de         ; ED 1F\r
1908         ld.l    (hl),de         ; 49 ED 1F\r
1909         ld      (hl),hl         ; ED 2F\r
1910         ld.l    (hl),hl         ; 49 ED 2F\r
1911         ld      i,hl            ; ED C7\r
1912         ld      i,a             ; ED 47\r
1913         ld      ixh,ixh         ; DD 64\r
1914         ld      ixh,ixl         ; DD 65\r
1915         ld      ixl,ixh         ; DD 6C\r
1916         ld      ixl,ixl         ; DD 6D\r
1917         ld      iyh,iyh         ; FD 64\r
1918         ld      iyh,iyl         ; FD 65\r
1919         ld      iyl,iyh         ; FD 6C\r
1920         ld      iyl,iyl         ; FD 6D\r
1921         ld      ixh,var2        ; DD 26 20\r
1922         ld      ixl,19          ; DD 2E 19\r
1923         ld      iyh,var1        ; FD 26r10\r
1924         ld      iyl,var2        ; FD 2E 20\r
1925         ld      ixh,a           ; DD 67\r
1926         ld      ixh,b           ; DD 60\r
1927         ld      ixh,c           ; DD 61\r
1928         ld      ixh,d           ; DD 62\r
1929         ld      ixh,e           ; DD 63\r
1930         ld      ixl,a           ; DD 6F\r
1931         ld      ixl,b           ; DD 68\r
1932         ld      ixl,c           ; DD 69\r
1933         ld      ixl,d           ; DD 6A\r
1934         ld      ixl,e           ; DD 6B\r
1935         ld      iyh,a           ; FD 67\r
1936         ld      iyh,b           ; FD 60\r
1937         ld      iyh,c           ; FD 61\r
1938         ld      iyh,d           ; FD 62\r
1939         ld      iyh,e           ; FD 63\r
1940         ld      iyl,a           ; FD 6F\r
1941         ld      iyl,b           ; FD 68\r
1942         ld      iyl,c           ; FD 69\r
1943         ld      iyl,d           ; FD 6A\r
1944         ld      iyl,e           ; FD 6B\r
1945         ld      ix,(hl)         ; ED 37\r
1946         ld.l    ix,(hl)         ; 49 ED 37\r
1947         ld      iy,(hl)         ; ED 31\r
1948         ld.l    iy,(hl)         ; 49 ED 31\r
1949         ld      ix,(ix+var2)    ; DD 37 20\r
1950         ld.l    ix,(ix+var1)    ; 49 DD 37r10\r
1951         ld      iy,(ix+var2)    ; DD 31 20\r
1952         ld.l    iy,(ix+var1)    ; 49 DD 31r10\r
1953         ld      ix,(iy+var2)    ; FD 31 20\r
1954         ld.l    ix,(iy+var1)    ; 49 FD 31r10\r
1955         ld      iy,(iy+var2)    ; FD 37 20\r
1956         ld.l    iy,(iy+var1)    ; 49 FD 37r10\r
1957         ld      ix,var2         ; DD 21 20 00\r
1958         ld      iy,19           ; FD 21 19 00\r
1959         ld      ix,(var1)       ; DD 2A*10n00\r
1960         ld      iy,(var2)       ; FD 2A 20 00\r
1961         ld      (ix+19),ix      ; DD 3F 19\r
1962         ld.l    (ix+var2),ix    ; 49 DD 3F 20\r
1963         ld      (ix+19),iy      ; DD 3E 19\r
1964         ld.l    (ix+var2),iy    ; 49 DD 3E 20\r
1965         ld      (iy+19),ix      ; FD 3E 19\r
1966         ld.l    (iy+var2),ix    ; 49 FD 3E 20\r
1967         ld      (iy+19),iy      ; FD 3F 19\r
1968         ld.l    (iy+var2),iy    ; 49 FD 3F 20\r
1969         ld      (ix+19),#29     ; DD 36 19 29\r
1970         ld.l    (ix+var2),var2  ; 49 DD 36 20 20\r
1971         ld      (iy+19),#29     ; FD 36 19 29\r
1972         ld.l    (iy+var2),var2  ; 49 FD 36 20 20\r
1973         ld      (ix+19),a       ; DD 77 19\r
1974         ld      (ix+var1),b     ; DD 70r10\r
1975         ld      (ix+var2),c     ; DD 71 20\r
1976         ld      (ix+19),d       ; DD 72 19\r
1977         ld      (ix+var1),e     ; DD 73r10\r
1978         ld      (ix+var2),h     ; DD 74 20\r
1979         ld      (ix+19),l       ; DD 75 19\r
1980         ld.l    (ix+var2),a     ; 49 DD 77 20\r
1981         ld.l    (ix+19),b       ; 49 DD 70 19\r
1982         ld.l    (ix+var1),c     ; 49 DD 71r10\r
1983         ld.l    (ix+var2),d     ; 49 DD 72 20\r
1984         ld.l    (ix+19),e       ; 49 DD 73 19\r
1985         ld.l    (ix+var1),h     ; 49 DD 74r10\r
1986         ld.l    (ix+var2),l     ; 49 DD 75 20\r
1987         ld      (iy+19),a       ; FD 77 19\r
1988         ld      (iy+var1),b     ; FD 70r10\r
1989         ld      (iy+var2),c     ; FD 71 20\r
1990         ld      (iy+19),d       ; FD 72 19\r
1991         ld      (iy+var1),e     ; FD 73r10\r
1992         ld      (iy+var2),h     ; FD 74 20\r
1993         ld      (iy+19),l       ; FD 75 19\r
1994         ld.l    (iy+var2),a     ; 49 FD 77 20\r
1995         ld.l    (iy+19),b       ; 49 FD 70 19\r
1996         ld.l    (iy+var1),c     ; 49 FD 71r10\r
1997         ld.l    (iy+var2),d     ; 49 FD 72 20\r
1998         ld.l    (iy+19),e       ; 49 FD 73 19\r
1999         ld.l    (iy+var1),h     ; 49 FD 74r10\r
2000         ld.l    (iy+var2),l     ; 49 FD 75 20\r
2001         ld      (ix+19),bc      ; DD 0F 19\r
2002         ld.l    (ix+var2),bc    ; 49 DD 0F 20\r
2003         ld      (ix+19),de      ; DD 1F 19\r
2004         ld.l    (ix+var2),de    ; 49 DD 1F 20\r
2005         ld      (ix+19),hl      ; DD 2F 19\r
2006         ld.l    (ix+var2),hl    ; 49 DD 2F 20\r
2007         ld      (iy+19),bc      ; FD 0F 19\r
2008         ld.l    (iy+var2),bc    ; 49 FD 0F 20\r
2009         ld      (iy+19),de      ; fD 1F 19\r
2010         ld.l    (iy+var2),de    ; 49 FD 1F 20\r
2011         ld      (iy+19),hl      ; FD 2F 19\r
2012         ld.l    (iy+var2),hl    ; 49 FD 2F 20\r
2013         ld      mb,a            ; ED 6D\r
2014         ld      (var1),a        ; 32*10n00\r
2015         ld      (var2),ix       ; DD 22 20 00\r
2016         ld      (19),iy         ; FD 22 19 00\r
2017         ld      (var1),bc       ; ED 43*10n00\r
2018         ld      (var2),de       ; ED 53 20 00\r
2019         ld      (19),hl         ; 22 19 00\r
2020         ld      (var1),sp       ; ED 73*10n00\r
2021         ld      r,a             ; ED 4F\r
2022         ld      b,(hl)          ; 46\r
2023         ld      c,(hl)          ; 4E\r
2024         ld      d,(hl)          ; 56\r
2025         ld      e,(hl)          ; 5E\r
2026         ld      h,(hl)          ; 66\r
2027         ld      l,(hl)          ; 6E\r
2028         ld.l    b,(hl)          ; 49 46\r
2029         ld.l    c,(hl)          ; 49 4E\r
2030         ld.l    d,(hl)          ; 49 56\r
2031         ld.l    e,(hl)          ; 49 5E\r
2032         ld.l    h,(hl)          ; 49 66\r
2033         ld.l    l,(hl)          ; 49 6E\r
2034         ld      a,ixh           ; DD 7C\r
2035         ld      a,ixl           ; DD 7D\r
2036         ld      a,iyh           ; FD 7C\r
2037         ld      a,iyl           ; FD 7D\r
2038         ld      b,ixh           ; DD 44\r
2039         ld      b,ixl           ; DD 45\r
2040         ld      b,iyh           ; FD 44\r
2041         ld      b,iyl           ; FD 45\r
2042         ld      c,ixh           ; DD 4C\r
2043         ld      c,ixl           ; DD 4D\r
2044         ld      c,iyh           ; FD 4C\r
2045         ld      c,iyl           ; FD 4D\r
2046         ld      d,ixh           ; DD 54\r
2047         ld      d,ixl           ; DD 55\r
2048         ld      d,iyh           ; FD 54\r
2049         ld      d,iyl           ; FD 55\r
2050         ld      e,ixh           ; DD 5C\r
2051         ld      e,ixl           ; DD 5D\r
2052         ld      e,iyh           ; FD 5C\r
2053         ld      e,iyl           ; FD 5D\r
2054         ld      b,(ix+var2)     ; DD 46 20\r
2055         ld      c,(ix+19)       ; DD 4E 19\r
2056         ld      d,(ix+var1)     ; DD 56r10\r
2057         ld      e,(ix+var2)     ; DD 5E 20\r
2058         ld      h,(ix+19)       ; DD 66 19\r
2059         ld      l,(ix+var1)     ; DD 6Er10\r
2060         ld.l    b,(ix+var2)     ; 49 DD 46 20\r
2061         ld.l    c,(ix+19)       ; 49 DD 4E 19\r
2062         ld.l    d,(ix+var1)     ; 49 DD 56r10\r
2063         ld.l    e,(ix+var2)     ; 49 DD 5E 20\r
2064         ld.l    h,(ix+19)       ; 49 DD 66 19\r
2065         ld.l    l,(ix+var1)     ; 49 DD 6Er10\r
2066         ld      b,(iy+var2)     ; FD 46 20\r
2067         ld      c,(iy+19)       ; FD 4E 19\r
2068         ld      d,(iy+var1)     ; FD 56r10\r
2069         ld      e,(iy+var2)     ; FD 5E 20\r
2070         ld      h,(iy+19)       ; FD 66 19\r
2071         ld      l,(iy+var1)     ; FD 6Er10\r
2072 \r
2073         ;intentional error here\r
2074 \r
2075         ld.l    b,(iy+var2)     ; 49 FD 46 20\r
2076         ld.l    c,(iy+19)       ; 49 FD 4E 19\r
2077         ld.l    d,(iy+var1)     ; 49 FD 56r10\r
2078         ld.l    e,(iy+var2)     ; 49 FD 5E 20\r
2079         ld.l    h,(iy+19)       ; 49 FD 66 19\r
2080         ld.l    l,(iy+var1)     ; 49 FD 6Er10\r
2081         ld      a,var2          ; 3E 20\r
2082         ld      b,19            ; 06 19\r
2083         ld      c,var1          ; 0Er10\r
2084         ld      d,var2          ; 16 20\r
2085         ld      e,19            ; 1E 19\r
2086         ld      h,var1          ; 26r10\r
2087         ld      l,var2          ; 2E 20\r
2088         ld      a,a             ; 7F\r
2089         ld      a,b             ; 78\r
2090         ld      a,c             ; 79\r
2091         ld      a,d             ; 7A\r
2092         ld      a,e             ; 7B\r
2093         ld      a,h             ; 7C\r
2094         ld      a,l             ; 7D\r
2095         ld      b,a             ; 47\r
2096 ;a      ld      b,b             ; 40\r
2097         ld      b,c             ; 41\r
2098         ld      b,d             ; 42\r
2099         ld      b,e             ; 43\r
2100         ld      b,h             ; 44\r
2101         ld      b,l             ; 45\r
2102         ld      c,a             ; 4F\r
2103         ld      c,b             ; 48\r
2104 ;a      ld      c,c             ; 49\r
2105         ld      c,d             ; 4A\r
2106         ld      c,e             ; 4B\r
2107         ld      c,h             ; 4C\r
2108         ld      c,l             ; 4D\r
2109         ld      d,a             ; 57\r
2110         ld      d,b             ; 50\r
2111         ld      d,c             ; 51\r
2112 ;a      ld      d,d             ; 52\r
2113         ld      d,e             ; 53\r
2114         ld      d,h             ; 54\r
2115         ld      d,l             ; 55\r
2116         ld      e,a             ; 5F\r
2117         ld      e,b             ; 58\r
2118         ld      e,c             ; 59\r
2119         ld      e,d             ; 5A\r
2120 ;a      ld      e,e             ; 5B\r
2121         ld      e,h             ; 5C\r
2122         ld      e,l             ; 5D\r
2123         ld      h,a             ; 67\r
2124         ld      h,b             ; 60\r
2125         ld      h,c             ; 61\r
2126         ld      h,d             ; 62\r
2127         ld      h,e             ; 63\r
2128         ld      h,h             ; 64\r
2129         ld      h,l             ; 65\r
2130         ld      l,a             ; 6F\r
2131         ld      l,b             ; 68\r
2132         ld      l,c             ; 69\r
2133         ld      l,d             ; 6A\r
2134         ld      l,e             ; 6B\r
2135         ld      l,h             ; 6C\r
2136         ld      l,l             ; 6D\r
2137         ld      bc,(hl)         ; ED 07\r
2138         ld.l    bc,(hl)         ; 49 ED 07\r
2139         ld      de,(hl)         ; ED 17\r
2140         ld.l    de,(hl)         ; 49 ED 17\r
2141         ld      hl,(hl)         ; ED 27\r
2142         ld.l    hl,(hl)         ; 49 ED 27\r
2143         ld      bc,(ix+var1)    ; DD 07r10\r
2144         ld.l    bc,(ix+19)      ; 49 DD 07 19\r
2145         ld      de,(ix+var1)    ; DD 17r10\r
2146         ld.l    de,(ix+19)      ; 49 DD 17 19\r
2147         ld      hl,(ix+var1)    ; DD 27r10\r
2148         ld.l    hl,(ix+19)      ; 49 DD 27 19\r
2149         ld      bc,(iy+var1)    ; FD 07r10\r
2150         ld.l    bc,(iy+19)      ; 49 FD 07 19\r
2151         ld      de,(iy+var1)    ; FD 17r10\r
2152         ld.l    de,(iy+19)      ; 49 FD 17 19\r
2153         ld      hl,(iy+var1)    ; FD 27r10\r
2154         ld.l    hl,(iy+19)      ; 49 FD 27 19\r
2155         ld      bc,var1         ; 01*10n00\r
2156         ld      de,var2         ; 11 20 00\r
2157         ld      hl,19           ; 21 19 00\r
2158         ld      bc,(var1)       ; ED 4B*10n00\r
2159         ld      de,(var2)       ; ED 5B 20 00\r
2160         ld      hl,(19)         ; 2A 19 00\r
2161         ld      (bc),a          ; 02\r
2162         ld.l    (bc),a          ; 49 02\r
2163         ld      (de),a          ; 12\r
2164         ld.l    (de),a          ; 49 12\r
2165         ld      sp,hl           ; F9\r
2166         ld.l    sp,hl           ; 49 F9\r
2167         ld      sp,ix           ; DD F9\r
2168         ld.l    sp,ix           ; 49 DD F9\r
2169         ld      sp,iy           ; FD F9\r
2170         ld.l    sp,iy           ; 49 FD F9\r
2171         ld      sp,var1         ; 31*10n00\r
2172         ld      sp,(var2)       ; ED 7B 20 00\r
2173         ldd                     ; ED A8\r
2174         ldd.l                   ; 49 ED A8\r
2175         lddr                    ; ED B8\r
2176         lddr.l                  ; 49 ED B8\r
2177         ldi                     ; ED A0\r
2178         ldi.l                   ; 49 ED A0\r
2179         ldir                    ; ED B0\r
2180         ldir.l                  ; 49 ED B0\r
2181         lea     ix,ix+19        ; ED 32 19\r
2182         lea.l   ix,ix+var2      ; 49 ED 32 20\r
2183         lea     iy,ix+19        ; ED 55 19\r
2184         lea.l   iy,ix+var2      ; 49 ED 55 20\r
2185         lea     ix,iy+19        ; ED 54 19\r
2186         lea.l   ix,iy+var2      ; 49 ED 54 20\r
2187         lea     iy,iy+19        ; ED 33 19\r
2188         lea.l   iy,iy+var2      ; 49 ED 33 20\r
2189         lea     bc,ix+19        ; ED 02 19\r
2190         lea     de,ix+var1      ; ED 12r10\r
2191         lea     hl,ix+var2      ; ED 22 20\r
2192         lea.l   bc,ix+19        ; 49 ED 02 19\r
2193         lea.l   de,ix+var1      ; 49 ED 12r10\r
2194         lea.l   hl,ix+var2      ; 49 ED 22 20\r
2195         lea     bc,iy+19        ; ED 03 19\r
2196         lea     de,iy+var1      ; ED 13r10\r
2197         lea     hl,iy+var2      ; ED 23 20\r
2198         lea.l   bc,iy+19        ; 49 ED 03 19\r
2199         lea.l   de,iy+var1      ; 49 ED 13r10\r
2200         lea.l   hl,iy+var2      ; 49 ED 23 20\r
2201 \r
2202         mlt     bc              ; ED 4C\r
2203         mlt     de              ; ED 5C\r
2204         mlt     hl              ; ED 6C\r
2205         mlt     sp              ; ED 7C\r
2206         mlt.l   sp              ; 49 ED 7C\r
2207 \r
2208         neg                     ; ED 44\r
2209 \r
2210         nop                     ; 00\r
2211 \r
2212         or      a,(hl)          ; B6\r
2213         or.l    a,(hl)          ; 49 B6\r
2214         or      a,ixh           ; DD B4\r
2215         or      a,ixl           ; DD B5\r
2216         or      a,iyh           ; FD B4\r
2217         or      a,iyl           ; FD B5\r
2218         or      a,(ix+19)       ; DD B6 19\r
2219         or.l    a,(ix+var2)     ; 49 DD B6 20\r
2220         or      a,(iy+19)       ; FD B6 19\r
2221         or.l    a,(iy+var2)     ; 49 FD B6 20\r
2222         or      a,19            ; F6 19\r
2223         or      a,a             ; B7\r
2224         or      a,b             ; B0\r
2225         or      a,c             ; B1\r
2226         or      a,d             ; B2\r
2227         or      a,e             ; B3\r
2228         or      a,h             ; B4\r
2229         or      a,l             ; B5\r
2230 \r
2231         otd2r                   ; ED BC\r
2232         otd2r.l                 ; 49 ED BC\r
2233 \r
2234         otdm                    ; ED 8B\r
2235         otdm.l                  ; 49 ED 8B\r
2236 \r
2237         otdmr                   ; ED 9B\r
2238         otdmr.l                 ; 49 ED 9B\r
2239 \r
2240         otdr                    ; ED BB\r
2241         otdr.l                  ; 49 ED BB\r
2242 \r
2243         otdrx                   ; ED CB\r
2244         otdrx.l                 ; 49 ED CB\r
2245 \r
2246         oti2r                   ; ED B4\r
2247         oti2r.l                 ; 49 ED B4\r
2248 \r
2249         otim                    ; ED 83\r
2250         otim.l                  ; 49 ED 83\r
2251 \r
2252         otimr                   ; ED 93\r
2253         otimr.l                 ; 49 ED 93\r
2254 \r
2255         otir                    ; ED B3\r
2256         otir.l                  ; 49 ED B3\r
2257 \r
2258         otirx                   ; ED C3\r
2259         otirx.l                 ; 49 ED C3\r
2260 \r
2261         ;Z80 assembler variant section\r
2262 \r
2263         out     (c),a           ; ED 79\r
2264         out     (c),b           ; ED 41\r
2265         out     (c),c           ; ED 49\r
2266         out     (c),d           ; ED 51\r
2267         out     (c),e           ; ED 59\r
2268         out     (c),h           ; ED 61\r
2269         out     (c),l           ; ED 69\r
2270 \r
2271         ;End of Z80 assembler variant section\r
2272 \r
2273         out     (bc),a          ; ED 79\r
2274         out     (bc),b          ; ED 41\r
2275         out     (bc),c          ; ED 49\r
2276         out     (bc),d          ; ED 51\r
2277         out     (bc),e          ; ED 59\r
2278         out     (bc),h          ; ED 61\r
2279         out     (bc),l          ; ED 69\r
2280         out     (var1),a        ; D3u10\r
2281 \r
2282         out0    (var2),a        ; ED 39 20\r
2283         out0    (19),b          ; ED 01 19\r
2284         out0    (var1),c        ; ED 09u10\r
2285         out0    (var2),d        ; ED 11 20\r
2286         out0    (19),e          ; ED 19 19\r
2287         out0    (var1),h        ; ED 21u10\r
2288         out0    (var2),l        ; ED 29 20\r
2289 \r
2290         outd                    ; ED AB\r
2291         outd.l                  ; 49 ED AB\r
2292 \r
2293         outd2                   ; ED AC\r
2294         outd2.l                 ; 49 ED AC\r
2295 \r
2296         outi                    ; ED A3\r
2297         outi.l                  ; 49 ED A3\r
2298 \r
2299         outi2                   ; ED A4\r
2300         outi2.l                 ; 49 ED A4\r
2301 \r
2302         pea     ix+19           ; ED 65 19\r
2303         pea.l   ix+var2         ; 49 ED 65 20\r
2304         pea     iy+19           ; ED 66 19\r
2305         pea.l   iy+var2         ; 49 ED 66 20\r
2306 \r
2307         pop     af              ; F1\r
2308         pop.l   af              ; 49 F1\r
2309         pop     ix              ; DD E1\r
2310         pop.l   ix              ; 49 DD E1\r
2311         pop     iy              ; FD E1\r
2312         pop.l   iy              ; 49 FD E1\r
2313         pop     bc              ; C1\r
2314         pop     de              ; D1\r
2315         pop     hl              ; E1\r
2316         pop.l   bc              ; 49 C1\r
2317         pop.l   de              ; 49 D1\r
2318         pop.l   hl              ; 49 E1\r
2319 \r
2320         push    af              ; F5\r
2321         push.l  af              ; 49 F5\r
2322         push    ix              ; DD E5\r
2323         push.l  ix              ; 49 DD E5\r
2324         push    iy              ; FD E5\r
2325         push.l  iy              ; 49 FD E5\r
2326         push    bc              ; C5\r
2327         push    de              ; D5\r
2328         push    hl              ; E5\r
2329         push.l  bc              ; 49 C5\r
2330         push.l  de              ; 49 D5\r
2331         push.l  hl              ; 49 E5\r
2332 \r
2333         res     0,(hl)          ; CB 86\r
2334         res.l   0,(hl)          ; 49 CB 86\r
2335         res     1,(hl)          ; CB 8E\r
2336         res.l   1,(hl)          ; 49 CB 8E\r
2337         res     2,(hl)          ; CB 96\r
2338         res.l   2,(hl)          ; 49 CB 96\r
2339         res     3,(hl)          ; CB 9E\r
2340         res.l   3,(hl)          ; 49 CB 9E\r
2341         res     4,(hl)          ; CB A6\r
2342         res.l   4,(hl)          ; 49 CB A6\r
2343         res     5,(hl)          ; CB AE\r
2344         res.l   5,(hl)          ; 49 CB AE\r
2345         res     6,(hl)          ; CB B6\r
2346         res.l   6,(hl)          ; 49 CB B6\r
2347         res     _bit7,(hl)      ; CBuBE\r
2348         res.l   _bit7,(hl)      ; 49 CBuBE\r
2349         res     0,(ix+19)       ; DD CB 19 86\r
2350         res.l   0,(ix+var2)     ; 49 DD CB 20 86\r
2351         res     0,(iy+19)       ; FD CB 19 86\r
2352         res.l   0,(iy+var2)     ; 49 FD CB 20 86\r
2353         res     1,(ix+19)       ; DD CB 19 8E\r
2354         res.l   1,(ix+var2)     ; 49 DD CB 20 8E\r
2355         res     1,(iy+19)       ; FD CB 19 8E\r
2356         res.l   1,(iy+var2)     ; 49 FD CB 20 8E\r
2357         res     2,(ix+19)       ; dD CB 19 96\r
2358         res.l   2,(ix+var2)     ; 49 DD CB 20 96\r
2359         res     2,(iy+19)       ; FD CB 19 96\r
2360         res.l   2,(iy+var2)     ; 49 FD CB 20 96\r
2361         res     3,(ix+19)       ; DD CB 19 9E\r
2362         res.l   3,(ix+var2)     ; 49 DD CB 20 9E\r
2363         res     3,(iy+19)       ; fD CB 19 9E\r
2364         res.l   3,(iy+var2)     ; 49 FD CB 20 9E\r
2365         res     4,(ix+19)       ; DD CB 19 A6\r
2366         res.l   4,(ix+var2)     ; 49 DD CB 20 A6\r
2367         res     4,(iy+19)       ; FD CB 19 A6\r
2368         res.l   4,(iy+var2)     ; 49 FD CB 20 A6\r
2369         res     5,(ix+19)       ; DD CB 19 AE\r
2370         res.l   5,(ix+var2)     ; 49 DD CB 20 AE\r
2371         res     5,(iy+19)       ; fD CB 19 AE\r
2372         res.l   5,(iy+var2)     ; 49 FD CB 20 AE\r
2373         res     6,(ix+19)       ; DD CB 19 B6\r
2374         res.l   6,(ix+var2)     ; 49 DD CB 20 B6\r
2375         res     6,(iy+19)       ; FD CB 19 B6\r
2376         res.l   6,(iy+var2)     ; 49 FD CB 20 B6\r
2377         res     _bit7,(ix+19)   ; DD CB 19uBE\r
2378         res.l   _bit7,(ix+var2) ; 49 DD CB 20uBE\r
2379         res     _bit7,(iy+19)   ; FD CB 19uBE\r
2380         res.l   _bit7,(iy+var2) ; 49 FD CB 20uBE\r
2381         res     0,a             ; CB 87\r
2382         res     0,b             ; CB 80\r
2383         res     0,c             ; CB 81\r
2384         res     0,d             ; CB 82\r
2385         res     0,e             ; CB 83\r
2386         res     0,h             ; CB 84\r
2387         res     0,l             ; CB 85\r
2388         res     1,a             ; CB 8F\r
2389         RES     1,B             ; CB 88\r
2390         res     1,c             ; CB 89\r
2391         res     1,d             ; CB 8A\r
2392         res     1,e             ; CB 8B\r
2393         res     1,h             ; CB 8C\r
2394         res     1,l             ; CB 8D\r
2395         res     2,a             ; CB 97\r
2396         res     2,b             ; CB 90\r
2397         res     2,c             ; CB 91\r
2398         res     2,d             ; CB 92\r
2399         res     2,e             ; CB 93\r
2400         res     2,h             ; CB 94\r
2401         res     2,l             ; CB 95\r
2402         res     3,a             ; CB 9F\r
2403         res     3,b             ; CB 98\r
2404         res     3,c             ; CB 99\r
2405         res     3,d             ; CB 9A\r
2406         res     3,e             ; CB 9B\r
2407         res     3,h             ; CB 9C\r
2408         res     3,l             ; CB 9D\r
2409         res     4,a             ; CB A7\r
2410         res     4,b             ; CB A0\r
2411         res     4,c             ; CB A1\r
2412         res     4,d             ; CB A2\r
2413         res     4,e             ; CB A3\r
2414         res     4,h             ; CB A4\r
2415         res     4,l             ; CB A5\r
2416         res     5,a             ; CB AF\r
2417         res     5,b             ; CB A8\r
2418         res     5,c             ; CB A9\r
2419         res     5,d             ; CB AA\r
2420         res     5,e             ; CB AB\r
2421         res     5,h             ; CB AC\r
2422         res     5,l             ; CB AD\r
2423         res     6,a             ; CB B7\r
2424         res     6,b             ; CB B0\r
2425         res     6,c             ; CB B1\r
2426         res     6,d             ; CB B2\r
2427         res     6,e             ; CB B3\r
2428         res     6,h             ; CB B4\r
2429         res     6,l             ; CB B5\r
2430         res     _bit7,a         ; CBuBF\r
2431         res     _bit7,b         ; CBuB8\r
2432         res     _bit7,c         ; CBuB9\r
2433         res     _bit7,d         ; CBuBA\r
2434         res     _bit7,e         ; CBuBB\r
2435         res     _bit7,h         ; CBuBC\r
2436         res     _bit7,l         ; CBuBD\r
2437 \r
2438         ret                     ; C9\r
2439         ret.l                   ; 49 C9\r
2440         ret     nz              ; C0\r
2441         ret     z               ; C8\r
2442         ret     nc              ; D0\r
2443         ret     c               ; D8\r
2444         ret     po              ; E0\r
2445         ret     pe              ; E8\r
2446         ret     p               ; F0\r
2447         ret     m               ; F8\r
2448         ret.l   nz              ; 49 C0\r
2449         ret.l   z               ; 49 C8\r
2450         ret.l   nc              ; 49 D0\r
2451         ret.l   c               ; 49 D8\r
2452         ret.l   po              ; 49 E0\r
2453         ret.l   pe              ; 49 E8\r
2454         ret.l   p               ; 49 F0\r
2455         ret.l   m               ; 49 F8\r
2456 \r
2457         reti                    ; ED 4D\r
2458         reti.l                  ; 49 ED 4D\r
2459 \r
2460         retn                    ; ED 45\r
2461         retn.l                  ; 49 ED 45\r
2462 \r
2463         rl      (hl)            ; CB 16\r
2464         rl.l    (hl)            ; 49 CB 16\r
2465         rl      (ix+var2)       ; DD CB 20 16\r
2466         rl.l    (ix+var1)       ; 49 DD CBr10 16\r
2467         rl      (iy+var2)       ; FD CB 20 16\r
2468         rl.l    (iy+var1)       ; 49 FD CBr10 16\r
2469         rl      a               ; CB 17\r
2470         rl      b               ; CB 10\r
2471         rl      c               ; CB 11\r
2472         rl      d               ; CB 12\r
2473         rl      e               ; CB 13\r
2474         rl      h               ; CB 14\r
2475         rl      l               ; CB 15\r
2476 \r
2477         rla                     ; 17\r
2478 \r
2479         rlc     (hl)            ; CB 06\r
2480         rlc.l   (hl)            ; 49 CB 06\r
2481         rlc     (ix+var2)       ; DD CB 20 06\r
2482         rlc.l   (ix+var1)       ; 49 DD CBr10 06\r
2483         rlc     (iy+var2)       ; FD CB 20 06\r
2484         rlc.l   (iy+var1)       ; 49 FD CBr10 06\r
2485         rlc     a               ; CB 07\r
2486         rlc     b               ; CB 00\r
2487         rlc     c               ; CB 01\r
2488         rlc     d               ; CB 02\r
2489         rlc     e               ; CB 03\r
2490         rlc     h               ; CB 04\r
2491         rlc     l               ; CB 05\r
2492         rlca                    ; 07\r
2493 \r
2494         rld                     ; ED 6F\r
2495 \r
2496         rr      (hl)            ; CB 1E\r
2497         rr.l    (hl)            ; 49 CB 1E\r
2498         rr      (ix+19)         ; DD CB 19 1E\r
2499         rr.l    (ix+var2)       ; 49 DD CB 20 1E\r
2500         rr      (iy+19)         ; FD CB 19 1E\r
2501         rr.l    (iy+var2)       ; 49 FD CB 20 1E\r
2502         rr      a               ; CB 1F\r
2503         rr      b               ; CB 18\r
2504         rr      c               ; CB 19\r
2505         rr      d               ; CB 1A\r
2506         rr      e               ; CB 1B\r
2507         rr      h               ; CB 1C\r
2508         rr      l               ; CB 1D\r
2509 \r
2510         rra                     ; 1F\r
2511 \r
2512         rrc     (hl)            ; CB 0E\r
2513         rrc.l   (hl)            ; 49 CB 0E\r
2514         rrc     (ix+19)         ; DD CB 19 0E\r
2515         rrc.l   (ix+var2)       ; 49 DD CB 20 0E\r
2516         rrc     (iy+19)         ; fD CB 19 0E\r
2517         rrc.l   (iy+var2)       ; 49 FD CB 20 0E\r
2518         rrc     a               ; cB 0F\r
2519         rrc     b               ; CB 08\r
2520         rrc     c               ; CB 09\r
2521         rrc     d               ; CB 0A\r
2522         rrc     e               ; CB 0B\r
2523         rrc     h               ; CB 0C\r
2524         rrc     l               ; CB 0D\r
2525 \r
2526         rrca                    ; 0F\r
2527 \r
2528         rrd                     ; ED 67\r
2529 \r
2530         rsmix                   ; ED 7E\r
2531 \r
2532         rst     00              ; C7\r
2533         rst     08              ; CF\r
2534         rst     10              ; D7\r
2535         rst     18              ; DF\r
2536         rst     20              ; E7\r
2537         rst     28              ; EF\r
2538         rst     30              ; F7\r
2539         rst     38              ; FF\r
2540         rst.l   00              ; 49 C7\r
2541         rst.l   08              ; 49 CF\r
2542         rst.l   10              ; 49 D7\r
2543         rst.l   18              ; 49 DF\r
2544         rst.l   20              ; 49 E7\r
2545         rst.l   28              ; 49 EF\r
2546         rst.l   30              ; 49 F7\r
2547         rst.l   38              ; 49 FF\r
2548 \r
2549         sbc     a,(hl)          ; 9E\r
2550         sbc.l   a,(hl)          ; 49 9E\r
2551         sbc     a,ixh           ; DD 9C\r
2552         sbc     a,ixl           ; DD 9D\r
2553         sbc     a,iyh           ; FD 9C\r
2554         sbc     a,iyl           ; FD 9D\r
2555         sbc     a,(ix+19)       ; DD 9E 19\r
2556         sbc.l   a,(ix+var2)     ; 49 DD 9E 20\r
2557         sbc     a,(iy+19)       ; FD 9E 19\r
2558         sbc.l   a,(iy+var2)     ; 49 FD 9E 20\r
2559         sbc     a,19            ; DE 19\r
2560         sbc     a,a             ; 9F\r
2561         sbc     a,b             ; 98\r
2562         sbc     a,c             ; 99\r
2563         sbc     a,d             ; 9A\r
2564         sbc     a,e             ; 9B\r
2565         sbc     a,h             ; 9C\r
2566         sbc     a,l             ; 9D\r
2567         sbc     hl,bc           ; ED 42\r
2568         sbc     hl,de           ; ED 52\r
2569         sbc     hl,hl           ; ED 62\r
2570         sbc.l   hl,bc           ; 49 ED 42\r
2571         sbc.l   hl,de           ; 49 ED 52\r
2572         sbc.l   hl,hl           ; 49 ED 62\r
2573         sbc     hl,sp           ; ED 72\r
2574         sbc.l   hl,sp           ; 49 ED 72\r
2575 \r
2576         scf                     ; 37\r
2577 \r
2578         set     0,(hl)          ; cb c6\r
2579         set.l   0,(hl)          ; 49 CB C6\r
2580         set     0,(ix+19)       ; DD CB 19 C6\r
2581         set.l   0,(ix+var2)     ; 49 DD CB 20 C6\r
2582         set     0,(iy+19)       ; FD CB 19 C6\r
2583         set.l   0,(iy+var2)     ; 49 FD CB 20 C6\r
2584         set     1,(hl)          ; CB CE\r
2585         set.l   1,(hl)          ; 49 CB CE\r
2586         set     1,(ix+19)       ; DD CB 19 CE\r
2587         set.l   1,(ix+var2)     ; 49 DD CB 20 CE\r
2588         set     1,(iy+19)       ; FD CB 19 CE\r
2589         set.l   1,(iy+var2)     ; 49 FD CB 20 CE\r
2590         set     2,(hl)          ; CB D6\r
2591         set.l   2,(hl)          ; 49 CB D6\r
2592         set     2,(ix+19)       ; DD CB 19 D6\r
2593         set.l   2,(ix+var2)     ; 49 DD CB 20 D6\r
2594         set     2,(iy+19)       ; FD CB 19 D6\r
2595         set.l   2,(iy+var2)     ; 49 FD CB 20 D6\r
2596         set     3,(hl)          ; CB DE\r
2597         set.l   3,(hl)          ; 49 CB DE\r
2598         set     3,(ix+19)       ; DD CB 19 DE\r
2599         set.l   3,(ix+var2)     ; 49 DD CB 20 DE\r
2600         set     3,(iy+19)       ; FD CB 19 DE\r
2601         set.l   3,(iy+var2)     ; 49 FD CB 20 DE\r
2602         set     4,(hl)          ; CB E6\r
2603         set.l   4,(hl)          ; 49 CB E6\r
2604         set     4,(ix+19)       ; DD CB 19 E6\r
2605         set.l   4,(ix+var2)     ; 49 DD CB 20 E6\r
2606         set     4,(iy+19)       ; FD CB 19 E6\r
2607         set.l   4,(iy+var2)     ; 49 FD CB 20 E6\r
2608         set     5,(hl)          ; CB EE\r
2609         set.l   5,(hl)          ; 49 CB EE\r
2610         set     5,(ix+19)       ; DD CB 19 EE\r
2611         set.l   5,(ix+var2)     ; 49 DD CB 20 EE\r
2612         set     5,(iy+19)       ; FD CB 19 EE\r
2613         set.l   5,(iy+var2)     ; 49 FD CB 20 EE\r
2614         set     6,(hl)          ; CB F6\r
2615         set.l   6,(hl)          ; 49 CB F6\r
2616         set     6,(ix+19)       ; DD CB 19 F6\r
2617         set.l   6,(ix+var2)     ; 49 DD CB 20 F6\r
2618         set     6,(iy+19)       ; FD CB 19 F6\r
2619         set.l   6,(iy+var2)     ; 49 FD CB 20 F6\r
2620         set     _bit7,(hl)      ; CBuFE\r
2621         set.l   _bit7,(hl)      ; 49 CBuFE\r
2622         set     _bit7,(ix+19)   ; DD CB 19uFE\r
2623         set.l   _bit7,(ix+var2) ; 49 DD CB 20uFE\r
2624         set     _bit7,(iy+19)   ; FD CB 19uFE\r
2625         set.l   _bit7,(iy+var2) ; 49 FD CB 20uFE\r
2626         set     0,a             ; CB C7\r
2627         set     0,b             ; CB C0\r
2628         set     0,c             ; CB C1\r
2629         set     0,d             ; CB C2\r
2630         set     0,e             ; CB C3\r
2631         set     0,h             ; CB C4\r
2632         set     0,l             ; CB C5\r
2633         set     1,a             ; CB CF\r
2634         set     1,b             ; CB C8\r
2635         set     1,c             ; CB C9\r
2636         set     1,d             ; CB CA\r
2637         set     1,e             ; CB CB\r
2638         set     1,h             ; CB CC\r
2639         set     1,l             ; CB CD\r
2640         set     2,a             ; CB D7\r
2641         set     2,b             ; CB D0\r
2642         set     2,c             ; CB D1\r
2643         set     2,d             ; CB D2\r
2644         set     2,e             ; CB D3\r
2645         set     2,h             ; CB D4\r
2646         set     2,l             ; CB D5\r
2647         set     3,a             ; CB DF\r
2648         set     3,b             ; CB D8\r
2649         set     3,c             ; CB D9\r
2650         set     3,d             ; CB DA\r
2651         set     3,e             ; CB DB\r
2652         set     3,h             ; CB DC\r
2653         set     3,l             ; CB DD\r
2654         set     4,a             ; CB E7\r
2655         set     4,b             ; CB E0\r
2656         set     4,c             ; CB E1\r
2657         set     4,d             ; CB E2\r
2658         set     4,e             ; CB E3\r
2659         set     4,h             ; CB E4\r
2660         set     4,l             ; CB E5\r
2661         set     5,a             ; CB EF\r
2662         set     5,b             ; CB E8\r
2663         set     5,c             ; CB E9\r
2664         set     5,d             ; CB EA\r
2665         set     5,e             ; CB EB\r
2666         set     5,h             ; CB EC\r
2667         set     5,l             ; CB ED\r
2668         set     6,a             ; CB F7\r
2669         set     6,b             ; CB F0\r
2670         set     6,c             ; CB F1\r
2671         set     6,d             ; CB F2\r
2672         set     6,e             ; CB F3\r
2673         set     6,h             ; CB F4\r
2674         set     6,l             ; CB F5\r
2675         set     _bit7,a         ; CBuFF\r
2676         set     _bit7,b         ; CBuF8\r
2677         set     _bit7,c         ; CBuF9\r
2678         set     _bit7,d         ; CBuFA\r
2679         set     _bit7,e         ; CBuFB\r
2680         set     _bit7,h         ; CBuFC\r
2681         set     _bit7,l         ; CBuFD\r
2682 \r
2683         sla     (hl)            ; CB 26\r
2684         sla.l   (hl)            ; 49 CB 26\r
2685         sla     (ix+var2)       ; DD CB 20 26\r
2686         sla.l   (ix+var1)       ; 49 DD CBr10 26\r
2687         sla     (iy+var2)       ; FD CB 20 26\r
2688         sla.l   (iy+var1)       ; 49 FD CBr10 26\r
2689         sla     a               ; CB 27\r
2690         sla     b               ; CB 20\r
2691         sla     c               ; CB 21\r
2692         sla     d               ; CB 22\r
2693         sla     e               ; CB 23\r
2694         sla     h               ; CB 24\r
2695         sla     l               ; CB 25\r
2696 \r
2697         slp                     ; ED 76\r
2698 \r
2699         sra     (hl)            ; CB 2E\r
2700         sra.l   (hl)            ; 49 CB 2E\r
2701         sra     (ix+var2)       ; DD CB 20 2E\r
2702         sra.l   (ix+var1)       ; 49 DD CBr10 2E\r
2703         sra     (iy+var2)       ; FD CB 20 2E\r
2704         sra.l   (iy+var1)       ; 49 fD CBr10 2E\r
2705         sra     a               ; CB 2F\r
2706         sra     b               ; CB 28\r
2707         sra     c               ; CB 29\r
2708         sra     d               ; CB 2A\r
2709         sra     e               ; CB 2B\r
2710         sra     h               ; CB 2C\r
2711         sra     l               ; CB 2D\r
2712 \r
2713         srl     (hl)            ; CB 3E\r
2714         srl.l   (hl)            ; 49 CB 3E\r
2715         srl     (ix+var1)       ; DD CBr10 3E\r
2716         srl.l   (ix+19)         ; 49 DD CB 19 3E\r
2717         srl     (iy+var1)       ; fD CBr10 3E\r
2718         srl.l   (iy+19)         ; 49 FD CB 19 3E\r
2719         srl     a               ; CB 3F\r
2720         srl     b               ; CB 38\r
2721         srl     c               ; CB 39\r
2722         srl     d               ; CB 3A\r
2723         srl     e               ; CB 3B\r
2724         srl     h               ; CB 3C\r
2725         srl     l               ; CB 3D\r
2726 \r
2727         stmix                   ; ED 7D\r
2728 \r
2729         sub     a,(hl)          ; 96\r
2730         sub.l   a,(hl)          ; 49 96\r
2731         sub     a,ixh           ; DD 94\r
2732         sub     a,ixl           ; DD 95\r
2733         sub     a,iyh           ; FD 94\r
2734         sub     a,iyl           ; FD 95\r
2735         sub     a,(ix+var2)     ; DD 96 20\r
2736         sub.l   a,(ix+var1)     ; 49 DD 96r10\r
2737         sub     a,(iy+var2)     ; FD 96 20\r
2738         sub.l   a,(iy+var1)     ; 49 FD 96r10\r
2739         sub     a,var2          ; D6 20\r
2740         sub     a,a             ; 97\r
2741         sub     a,b             ; 90\r
2742         sub     a,c             ; 91\r
2743         sub     a,d             ; 92\r
2744         sub     a,e             ; 93\r
2745         sub     a,h             ; 94\r
2746         sub     a,l             ; 95\r
2747 \r
2748         tst     a,(hl)          ; ED 34\r
2749 \r
2750         ; The following line has errata in\r
2751         ; manual codes (49,ed,73), the ones\r
2752         ; listed here are correct\r
2753 \r
2754         tst.l   a,(hl)          ; 49 ED 34\r
2755         tst     a,19            ; ED 64 19\r
2756         tst     a,a             ; ED 3C\r
2757         tst     a,b             ; ED 04\r
2758         tst     a,c             ; ED 0C\r
2759         tst     a,d             ; ED 14\r
2760         tst     a,e             ; ED 1C\r
2761         tst     a,h             ; ED 24\r
2762         tst     a,l             ; ED 2C\r
2763 \r
2764         tstio   var2            ; ED 74 20\r
2765 \r
2766         xor     a,(hl)          ; AE\r
2767         xor.l   a,(hl)          ; 49 AE\r
2768         xor     a,ixh           ; DD AC\r
2769         xor     a,ixl           ; DD AD\r
2770         xor     a,iyh           ; FD AC\r
2771         xor     a,iyl           ; FD AD\r
2772         xor     a,(ix+var1)     ; DD AEr10\r
2773         xor.l   a,(ix+19)       ; 49 DD AE 19\r
2774         xor     a,(iy+var1)     ; FD AEr10\r
2775         xor.l   a,(iy+19)       ; 49 FD AE 19\r
2776         xor     a,var1          ; EEr10\r
2777         XOR     a,a             ; AF\r
2778         xor     a,b             ; A8\r
2779         xor     a,c             ; A9\r
2780         xor     a,d             ; AA\r
2781         xor     a,e             ; AB\r
2782         xor     a,h             ; AC\r
2783         xor     a,l             ; AD\r
2784 \r
2785 \r