1 .
title Test of Z80
/ HD64180
/ eZ80 assembler
6 offset = 0x55 ;arbitrary constants
11 ; Leading 'a' operand is optional.
12 ; If offset is ommitted 0 is assumed.
14 ;***********************************************************
15 ; add with carry to 'a'
22 adc a
,offset(ix
) ;DD 8E 55
23 adc.s a
,offset(ix
) ;52 DD 8E 55
24 adc a
,offset(iy
) ;FD 8E 55
25 adc.s a
,offset(iy
) ;52 FD 8E 55
34 ;***********************************************************
41 adc offset(ix
) ;DD 8E 55
42 adc.s
offset(ix
) ;52 DD 8E 55
43 adc offset(iy
) ;FD 8E 55
44 adc.s
offset(iy
) ;52 FD 8E 55
53 ;***********************************************************
54 ; add with carry register pair to 'hl'
63 ;***********************************************************
71 add a
,offset(ix
) ;DD 86 55
72 add.s a
,offset(ix
) ;52 DD 86 55
73 add a
,offset(iy
) ;FD 86 55
74 add.s a
,offset(iy
) ;52 FD 86 55
83 ;***********************************************************
84 ; add register pair to 'hl'
93 ;***********************************************************
94 ; add register pair to 'ix'
100 add.s ix
,ix
;52 DD 29
102 add.s ix
,sp ;52 DD 39
103 ;***********************************************************
104 ; add register pair to 'iy'
108 add.s iy
,bc
;52 FD 09
109 add.s iy
,de
;52 FD 19
110 add.s iy
,iy
;52 FD 29
112 add.s iy
,sp ;52 FD 39
113 ;***********************************************************
114 ; logical 'and' operand with 'a'
121 and a
,offset(ix
) ;DD A6 55
122 and.s a
,offset(ix
) ;52 DD A6 55
123 and a
,offset(iy
) ;FD A6 55
124 and.s a
,offset(iy
) ;52 FD A6 55
133 ;***********************************************************
134 ; test bit of location or register
136 bit.s
0,(hl
) ;52 CB 46
137 bit
0,offset(ix
) ;DD CB 55 46
138 bit.s
0,offset(ix
) ;52 DD CB 55 46
139 bit
0,offset(iy
) ;FD CB 55 46
140 bit.s
0,offset(iy
) ;52 FD CB 55 46
149 bit.s
1,(hl
) ;52 CB 4E
150 bit
1,offset(ix
) ;DD CB 55 4E
151 bit.s
1,offset(ix
) ;52 DD CB 55 4E
152 bit
1,offset(iy
) ;FD CB 55 4E
153 bit.s
1,offset(iy
) ;52 FD CB 55 4E
162 bit.s
2,(hl
) ;52 CB 56
163 bit
2,offset(ix
) ;DD CB 55 56
164 bit.s
2,offset(ix
) ;52 DD CB 55 56
165 bit
2,offset(iy
) ;FD CB 55 56
166 bit.s
2,offset(iy
) ;52 FD CB 55 56
175 bit.s
3,(hl
) ;52 CB 5E
176 bit
3,offset(ix
) ;DD CB 55 5E
177 bit.s
3,offset(ix
) ;52 DD CB 55 5E
178 bit
3,offset(iy
) ;FD CB 55 5E
179 bit.s
3,offset(iy
) ;52 FD CB 55 5E
188 bit.s
4,(hl
) ;52 CB 66
189 bit
4,offset(ix
) ;DD CB 55 66
190 bit.s
4,offset(ix
) ;52 DD CB 55 66
191 bit
4,offset(iy
) ;FD CB 55 66
192 bit.s
4,offset(iy
) ;52 FD CB 55 66
201 bit.s
5,(hl
) ;52 CB 6E
202 bit
5,offset(ix
) ;DD CB 55 6E
203 bit.s
5,offset(ix
) ;52 DD CB 55 6E
204 bit
5,offset(iy
) ;FD CB 55 6E
205 bit.s
5,offset(iy
) ;52 FD CB 55 6E
214 bit.s
6,(hl
) ;52 CB 76
215 bit
6,offset(ix
) ;DD CB 55 76
216 bit.s
6,offset(ix
) ;52 DD CB 55 76
217 bit
6,offset(iy
) ;FD CB 55 76
218 bit.s
6,offset(iy
) ;52 FD CB 55 76
227 bit.s
7,(hl
) ;52 CB 7E
228 bit
7,offset(ix
) ;DD CB 55 7E
229 bit.s
7,offset(ix
) ;52 DD CB 55 7E
230 bit
7,offset(iy
) ;FD CB 55 7E
231 bit.s
7,offset(iy
) ;52 FD CB 55 7E
239 ;***********************************************************
240 ; call subroutine at nn if condition is true
241 call C
,nn
;DC 84 05 00
242 call.is C
,nn
;49 DC 84 05
243 call M
,nn
;FC 84 05 00
244 call.is M
,nn
;49 FC 84 05
245 call NC
,nn
;D4 84 05 00
246 call.is NC
,nn
;49 D4 84 05
247 call NZ
,nn
;C4 84 05 00
248 call.is NZ
,nn
;49 C4 84 05
249 call P
,nn
;F4 84 05 00
250 call.is P
,nn
;49 F4 84 05
251 call PE
,nn
;EC 84 05 00
252 call.is PE
,nn
;49 EC 84 05
253 call PO
,nn
;E4 84 05 00
254 call.is PO
,nn
;49 E4 84 05
255 call Z
,nn
;CC 84 05 00
256 call.is Z
,nn
;49 CC 84 05
257 ;***********************************************************
258 ; unconditional call to subroutine at nn
260 call.is nn
;49 CD 84 05
261 ;***********************************************************
262 ; complement carry flag
264 ;***********************************************************
265 ; compare operand with 'a'
272 cp a
,offset(ix
) ;DD BE 55
273 cp.s a
,offset(ix
) ;52 DD BE 55
274 cp a
,offset(iy
) ;FD BE 55
275 cp.s a
,offset(iy
) ;52 FD BE 55
284 ;***********************************************************
285 ; compare location (hl) and 'a'
286 ; decrement 'hl' and 'bc'
289 ;***********************************************************
290 ; compare location (hl) and 'a'
291 ; decrement 'hl' and 'bc'
292 ; repeat until 'bc' = 0
295 ;***********************************************************
296 ; compare location (hl) and 'a'
297 ; increment 'hl' and decrement 'bc'
300 ;***********************************************************
301 ; compare location (hl) and 'a'
302 ; increment 'hl' and decrement 'bc'
303 ; repeat until 'bc' = 0
306 ;***********************************************************
307 ; 1's complement of 'a'
309 ;***********************************************************
312 ;***********************************************************
320 dec offset(ix
) ;DD 35 55
321 dec.s
offset(ix
) ;52 DD 35 55
322 dec offset(iy
) ;FD 35 55
323 dec.s
offset(iy
) ;52 FD 35 55
343 ;***********************************************************
346 ;***********************************************************
347 ; decrement b and jump relative if b # 0
349 ;***********************************************************
352 ;***********************************************************
353 ; exchange location and (sp)
357 ex.s
(sp),ix
;52 DD E3
359 ex.s
(sp),iy
;52 FD E3
360 ;***********************************************************
361 ; exchange af and af'
363 ;***********************************************************
366 ;***********************************************************
372 ;***********************************************************
373 ; halt (wait for interrupt or reset)
375 ;***********************************************************
380 ;***********************************************************
381 ; load 'a' with input from device n
383 ;***********************************************************
384 ; load register with input from (c)
392 ;***********************************************************
393 ; load register with input from port (n)
401 ;***********************************************************
409 inc offset(ix
) ;DD 34 55
410 inc.s
offset(ix
) ;52 DD 34 55
411 inc offset(iy
) ;FD 34 55
412 inc.s
offset(iy
) ;52 FD 34 55
432 ;***********************************************************
433 ; load location (hl) with input
435 ; decrement 'hl' and 'b'
438 ;***********************************************************
441 ;***********************************************************
444 ;***********************************************************
447 ;***********************************************************
450 ;***********************************************************
451 ; load location (hl) with input
453 ; decrement 'hl' and 'b'
454 ; repeat until 'b' = 0
457 ;***********************************************************
460 ;***********************************************************
461 ; load location (hl) with input
463 ; increment 'hl' and decrement 'b'
466 ;***********************************************************
469 ;***********************************************************
472 ;***********************************************************
475 ;***********************************************************
478 ;***********************************************************
479 ; load location (hl) with input
481 ; increment 'hl' and decrement 'b'
482 ; repeat until 'b' = 0
485 ;***********************************************************
488 ;***********************************************************
489 ; unconditional jump to location nn
491 jp.sis nn
;49 C3 84 05
498 ;***********************************************************
499 ; jump to location if condition is true
501 jp.sis C
,nn
;49 DA 84 05
503 jp.sis M
,nn
;49 FA 84 05
504 jp NC
,nn
;D2 84 05 00
505 jp.sis NC
,nn
;49 D2 84 05
506 jp NZ
,nn
;C2 84 05 00
507 jp.sis NZ
,nn
;49 C2 84 05
509 jp.sis P
,nn
;49 F2 84 05
510 jp PE
,nn
;EA 84 05 00
511 jp.sis PE
,nn
;49 EA 84 05
512 jp PO
,nn
;E2 84 05 00
513 jp.sis PO
,nn
;49 E2 84 05
515 jp.sis Z
,nn
;49 CA 84 05
516 ;***********************************************************
517 ; unconditional jump relative to PC+e
519 ;***********************************************************
520 ; jump relative to PC+e if condition is true
521 jr1: jr C
,jr2
+0x10 ;38 10
522 jr2: jr NC
,jr3
+0x10 ;30 10
523 jr3: jr NZ
,jr4
+0x10 ;20 10
524 jr4: jr Z
,jr5
+0x10 ;28 10
526 ;***********************************************************
527 ; load source to destination
530 ld a
,offset(ix
) ;DD 7E 55
531 ld.s a
,offset(ix
) ;52 DD 7E 55
532 ld a
,offset(iy
) ;FD 7E 55
533 ld.s a
,offset(iy
) ;52 FD 7E 55
544 ld b
,offset(ix
) ;DD 46 55
545 ld.s b
,offset(ix
) ;52 DD 46 55
546 ld b
,offset(iy
) ;FD 46 55
547 ld.s b
,offset(iy
) ;52 FD 46 55
558 ld c
,offset(ix
) ;DD 4E 55
559 ld.s c
,offset(ix
) ;52 DD 4E 55
560 ld c
,offset(iy
) ;FD 4E 55
561 ld.s c
,offset(iy
) ;52 FD 4E 55
572 ld d
,offset(ix
) ;DD 56 55
573 ld.s d
,offset(ix
) ;52 DD 56 55
574 ld d
,offset(iy
) ;FD 56 55
575 ld.s d
,offset(iy
) ;52 FD 56 55
586 ld e
,offset(ix
) ;DD 5E 55
587 ld.s e
,offset(ix
) ;52 DD 5E 55
588 ld e
,offset(iy
) ;FD 5E 55
589 ld.s e
,offset(iy
) ;52 FD 5E 55
600 ld h
,offset(ix
) ;DD 66 55
601 ld.s h
,offset(ix
) ;52 DD 66 55
602 ld h
,offset(iy
) ;FD 66 55
603 ld.s h
,offset(iy
) ;52 FD 66 55
614 ld l
,offset(ix
) ;DD 6E 55
615 ld.s l
,offset(ix
) ;52 DD 6E 55
616 ld l
,offset(iy
) ;FD 6E 55
617 ld.s l
,offset(iy
) ;52 FD 6E 55
626 ;***********************************************************
635 ;***********************************************************
644 ;***********************************************************
660 ld.s
(hl
),#n
;52 36 20
661 ;***********************************************************
662 ld
offset(ix
),a
;DD 77 55
663 ld.s
offset(ix
),a
;52 DD 77 55
664 ld
offset(ix
),b
;DD 70 55
665 ld.s
offset(ix
),b
;52 DD 70 55
666 ld
offset(ix
),c
;DD 71 55
667 ld.s
offset(ix
),c
;52 DD 71 55
668 ld
offset(ix
),d
;DD 72 55
669 ld.s
offset(ix
),d
;52 DD 72 55
670 ld
offset(ix
),e
;DD 73 55
671 ld.s
offset(ix
),e
;52 DD 73 55
672 ld
offset(ix
),h
;DD 74 55
673 ld.s
offset(ix
),h
;52 DD 74 55
674 ld
offset(ix
),l
;DD 75 55
675 ld.s
offset(ix
),l
;52 DD 75 55
676 ld
offset(ix
),#n
;DD 36 55 20
677 ld.s
offset(ix
),#n
;52 DD 36 55 20
678 ;***********************************************************
679 ld
offset(iy
),a
;FD 77 55
680 ld.s
offset(iy
),a
;52 FD 77 55
681 ld
offset(iy
),b
;FD 70 55
682 ld.s
offset(iy
),b
;52 FD 70 55
683 ld
offset(iy
),c
;FD 71 55
684 ld.s
offset(iy
),c
;52 FD 71 55
685 ld
offset(iy
),d
;FD 72 55
686 ld.s
offset(iy
),d
;52 FD 72 55
687 ld
offset(iy
),e
;FD 73 55
688 ld.s
offset(iy
),e
;52 FD 73 55
689 ld
offset(iy
),h
;FD 74 55
690 ld.s
offset(iy
),h
;52 FD 74 55
691 ld
offset(iy
),l
;FD 75 55
692 ld.s
offset(iy
),l
;52 FD 75 55
693 ld
offset(iy
),#n
;FD 36 55 20
694 ld.s
offset(iy
),#n
;52 FD 36 55 20
695 ;***********************************************************
696 ld
(nn
),a
;32 84 05 00
697 ld.is
(nn
),a
;49 32 84 05
698 ld
(nn
),bc
;ED 43 84 05 00
699 ld.is
(nn
),bc
;49 ED 43 84 05
700 ld
(nn
),de
;ED 53 84 05 00
701 ld.is
(nn
),de
;49 ED 53 84 05
702 ld
(nn
),hl
;22 84 05 00
703 ld.is
(nn
),hl
;49 22 84 05
704 ld
(nn
),sp ;ED 73 84 05 00
705 ld.is
(nn
),sp ;49 ED 73 84 05
706 ld
(nn
),ix
;DD 22 84 05 00
707 ld.is
(nn
),ix
;49 DD 22 84 05
708 ld
(nn
),iy
;FD 22 84 05 00
709 ld.is
(nn
),iy
;49 FD 22 84 05
710 ;***********************************************************
711 ld a
,(nn
) ;3A 84 05 00
712 ld.is a
,(nn
) ;49 3A 84 05
713 ld bc
,(nn
) ;ED 4B 84 05 00
714 ld.is bc
,(nn
) ;49 ED 4B 84 05
715 ld de
,(nn
) ;ED 5B 84 05 00
716 ld.is de
,(nn
) ;49 ED 5B 84 05
717 ld hl
,(nn
) ;2A 84 05 00
718 ld.is hl
,(nn
) ;49 2A 84 05
719 ld
sp,(nn
) ;ED 7B 84 05 00
720 ld.is
sp,(nn
) ;49 ED 7B 84 05
721 ld ix
,(nn
) ;DD 2A 84 05 00
722 ld.is ix
,(nn
) ;49 DD 2A 84 05
723 ld iy
,(nn
) ;FD 2A 84 05 00
724 ld.is iy
,(nn
) ;49 FD 2A 84 05
725 ;***********************************************************
726 ld bc
,#nn
;01 84 05 00
727 ld.is bc
,#nn
;49 01 84 05
728 ld de
,#nn
;11 84 05 00
729 ld.is de
,#nn
;49 11 84 05
730 ld hl
,#nn
;21 84 05 00
731 ld.is hl
,#nn
;49 21 84 05
732 ld
sp,#nn
;31 84 05 00
733 ld.is
sp,#nn
;49 31 84 05
734 ld ix
,#nn
;DD 21 84 05 00
735 ld.is ix
,#nn
;49 DD 21 84 05
736 ld iy
,#nn
;FD 21 84 05 00
737 ld.is iy
,#nn
;49 FD 21 84 05
738 ;***********************************************************
742 ;***********************************************************
744 ld.s
(hl
),ix
;52 ED 3F
746 ld.s
(hl
),iy
;52 ED 3E
748 ld.s
(hl
),bc
;52 ED 0F
750 ld.s
(hl
),de
;52 ED 1F
752 ld.s
(hl
),hl
;52 ED 2F
754 ld.s bc
,(hl
) ;52 ED 07
756 ld.s de
,(hl
) ;52 ED 17
758 ld.s hl
,(hl
) ;52 ED 27
760 ld.s ix
,(hl
) ;52 ED 37
762 ld.s iy
,(hl
) ;52 ED 31
763 ;***********************************************************
816 ;***********************************************************
817 ld bc
,offset(ix
) ;DD 07 55
818 ld.s bc
,offset(ix
) ;52 DD 07 55
819 ld de
,offset(ix
) ;DD 17 55
820 ld.s de
,offset(ix
) ;52 DD 17 55
821 ld hl
,offset(ix
) ;DD 27 55
822 ld.s hl
,offset(ix
) ;52 DD 27 55
823 ld bc
,offset(iy
) ;FD 07 55
824 ld.s bc
,offset(iy
) ;52 FD 07 55
825 ld de
,offset(iy
) ;FD 17 55
826 ld.s de
,offset(iy
) ;52 FD 17 55
827 ld hl
,offset(iy
) ;FD 27 55
828 ld.s hl
,offset(iy
) ;52 FD 27 55
829 ld ix
,offset(ix
) ;DD 37 55
830 ld.s ix
,offset(ix
) ;52 DD 37 55
831 ld iy
,offset(ix
) ;DD 31 55
832 ld.s iy
,offset(ix
) ;52 DD 31 55
833 ld ix
,offset(iy
) ;FD 31 55
834 ld.s ix
,offset(iy
) ;52 FD 31 55
835 ld iy
,offset(iy
) ;FD 37 55
836 ld.s iy
,offset(iy
) ;52 FD 37 55
837 ld
offset(ix
),bc
;DD 0F 55
838 ld.s
offset(ix
),bc
;52 DD 0F 55
839 ld
offset(ix
),de
;DD 1F 55
840 ld.s
offset(ix
),de
;52 DD 1F 55
841 ld
offset(ix
),hl
;DD 2F 55
842 ld.s
offset(ix
),hl
;52 DD 2F 55
843 ld
offset(iy
),bc
;FD 0F 55
844 ld.s
offset(iy
),bc
;52 FD 0F 55
845 ld
offset(iy
),de
;FD 1F 55
846 ld.s
offset(iy
),de
;52 FD 1F 55
847 ld
offset(iy
),hl
;FD 2F 55
848 ld.s
offset(iy
),hl
;52 FD 2F 55
849 ld
offset(ix
),ix
;DD 3F 55
850 ld.s
offset(ix
),ix
;52 DD 3F 55
851 ld
offset(ix
),iy
;DD 3E 55
852 ld.s
offset(ix
),iy
;52 DD 3E 55
853 ld
offset(iy
),ix
;FD 3E 55
854 ld.s
offset(iy
),ix
;52 FD 3E 55
855 ld
offset(iy
),iy
;FD 3F 55
856 ld.s
offset(iy
),iy
;52 FD 3F 55
857 ;***********************************************************
864 ;***********************************************************
869 ; repeat until bc = 0
872 ;***********************************************************
879 ;***********************************************************
884 ; repeat until bc = 0
887 ;***********************************************************
888 lea ix
,ix
,#
offset ;ED 32 55
889 lea.s ix
,ix
,#
offset ;52 ED 32 55
890 lea iy
,ix
,#
offset ;ED 55 55
891 lea.s iy
,ix
,#
offset ;52 ED 55 55
892 lea ix
,iy
,#
offset ;ED 54 55
893 lea.s ix
,iy
,#
offset ;52 ED 54 55
894 lea iy
,iy
,#
offset ;ED 33 55
895 lea.s iy
,iy
,#
offset ;52 ED 33 55
896 lea bc
,ix
,#
offset ;ED 02 55
897 lea de
,ix
,#
offset ;ED 12 55
898 lea hl
,ix
,#
offset ;ED 22 55
899 lea.s bc
,ix
,#
offset ;52 ED 02 55
900 lea.s de
,ix
,#
offset ;52 ED 12 55
901 lea.s hl
,ix
,#
offset ;52 ED 22 55
902 lea bc
,iy
,#
offset ;ED 03 55
903 lea de
,iy
,#
offset ;ED 13 55
904 lea hl
,iy
,#
offset ;ED 23 55
905 lea.s bc
,iy
,#
offset ;52 ED 03 55
906 lea.s de
,iy
,#
offset ;52 ED 13 55
907 lea.s hl
,iy
,#
offset ;52 ED 23 55
908 ;***********************************************************
909 ; multiplication of each half
910 ; of the specified register pair
911 ; with the 16-bit result going to
912 ; the specified register pair
918 ;***********************************************************
919 ; 2's complement of 'a'
921 ;***********************************************************
924 ;***********************************************************
925 ; logical 'or' operand with 'a'
932 or a
,offset(ix
) ;DD B6 55
933 or.s a
,offset(ix
) ;52 DD B6 55
934 or a
,offset(iy
) ;FD B6 55
935 or.s a
,offset(iy
) ;52 FD B6 55
944 ;***********************************************************
947 ;***********************************************************
948 ; load output port (c) with
954 ;***********************************************************
955 ; load output port (c) with
962 ;***********************************************************
963 ; load output port (c)
965 ; decrement hl and decrement b
969 ;***********************************************************
972 ;***********************************************************
975 ;***********************************************************
976 ; load output port (c) with
982 ;***********************************************************
983 ; load output port (c) with
990 ;***********************************************************
991 ; load output port (c)
993 ; increment hl and decrement b
997 ;***********************************************************
1000 ;***********************************************************
1001 ; load output port (c) with reg
1009 ;***********************************************************
1010 ; load output port (n) with 'a'
1012 ;***********************************************************
1013 ; load output port (n) from register
1014 out0
(n
),a
;ED 39 20
1015 out0
(n
),b
;ED 01 20
1016 out0
(n
),c
;ED 09 20
1017 out0
(n
),d
;ED 11 20
1018 out0
(n
),e
;ED 19 20
1019 out0
(n
),h
;ED 21 20
1020 out0
(n
),l
;ED 29 20
1021 ;***********************************************************
1022 ; load output port (c)
1023 ; with location (hl)
1024 ; decrement hl and decrement b
1027 ;***********************************************************
1030 ;***********************************************************
1031 ; load output port (c)
1032 ; with location (hl)
1033 ; increment hl and decrement b
1036 ;***********************************************************
1039 ;***********************************************************
1040 pea ix
,#
offset ;ED 65 55
1041 pea.s ix
,#
offset ;52 ED 65 55
1042 pea iy
,#
offset ;ED 66 55
1043 pea.s iy
,#
offset ;52 ED 66 55
1044 ;***********************************************************
1045 ; load destination with top of stack
1058 ;***********************************************************
1059 ; put source on stack
1072 ;***********************************************************
1073 ; reset bit of location or register
1075 res.s
0,(hl
) ;52 CB 86
1076 res
0,offset(ix
) ;DD CB 55 86
1077 res.s
0,offset(ix
) ;52 DD CB 55 86
1078 res
0,offset(iy
) ;FD CB 55 86
1079 res.s
0,offset(iy
) ;52 FD CB 55 86
1088 res.s
1,(hl
) ;52 CB 8E
1089 res
1,offset(ix
) ;DD CB 55 8E
1090 res.s
1,offset(ix
) ;52 DD CB 55 8E
1091 res
1,offset(iy
) ;FD CB 55 8E
1092 res.s
1,offset(iy
) ;52 FD CB 55 8E
1101 res.s
2,(hl
) ;52 CB 96
1102 res
2,offset(ix
) ;DD CB 55 96
1103 res.s
2,offset(ix
) ;52 DD CB 55 96
1104 res
2,offset(iy
) ;FD CB 55 96
1105 res.s
2,offset(iy
) ;52 FD CB 55 96
1114 res.s
3,(hl
) ;52 CB 9E
1115 res
3,offset(ix
) ;DD CB 55 9E
1116 res.s
3,offset(ix
) ;52 DD CB 55 9E
1117 res
3,offset(iy
) ;FD CB 55 9E
1118 res.s
3,offset(iy
) ;52 FD CB 55 9E
1127 res.s
4,(hl
) ;52 CB A6
1128 res
4,offset(ix
) ;DD CB 55 A6
1129 res.s
4,offset(ix
) ;52 DD CB 55 A6
1130 res
4,offset(iy
) ;FD CB 55 A6
1131 res.s
4,offset(iy
) ;52 FD CB 55 A6
1140 res.s
5,(hl
) ;52 CB AE
1141 res
5,offset(ix
) ;DD CB 55 AE
1142 res.s
5,offset(ix
) ;52 DD CB 55 AE
1143 res
5,offset(iy
) ;FD CB 55 AE
1144 res.s
5,offset(iy
) ;52 FD CB 55 AE
1153 res.s
6,(hl
) ;52 CB B6
1154 res
6,offset(ix
) ;DD CB 55 B6
1155 res.s
6,offset(ix
) ;52 DD CB 55 B6
1156 res
6,offset(iy
) ;FD CB 55 B6
1157 res.s
6,offset(iy
) ;52 FD CB 55 B6
1166 res.s
7,(hl
) ;52 CB BE
1167 res
7,offset(ix
) ;DD CB 55 BE
1168 res.s
7,offset(ix
) ;52 DD CB 55 BE
1169 res
7,offset(iy
) ;FD CB 55 BE
1170 res.s
7,offset(iy
) ;52 FD CB 55 BE
1178 ;***********************************************************
1179 ; return from subroutine
1182 ;***********************************************************
1183 ; return from subroutine if condition is true
1200 ;***********************************************************
1201 ; return from interrupt
1204 ;***********************************************************
1205 ; return from non-maskable interrupt
1208 ;***********************************************************
1209 ; rotate left through carry
1211 rl.s a
,(hl
) ;52 CB 16
1212 rl a
,offset(ix
) ;DD CB 55 16
1213 rl.s a
,offset(ix
) ;52 DD CB 55 16
1214 rl a
,offset(iy
) ;FD CB 55 16
1215 rl.s a
,offset(iy
) ;52 FD CB 55 16
1223 ;***********************************************************
1224 ; rotate left 'a' with carry
1226 ;***********************************************************
1227 ; rotate left circular
1229 rlc.s a
,(hl
) ;52 CB 06
1230 rlc a
,offset(ix
) ;DD CB 55 06
1231 rlc.s a
,offset(ix
) ;52 DD CB 55 06
1232 rlc a
,offset(iy
) ;FD CB 55 06
1233 rlc.s a
,offset(iy
) ;52 FD CB 55 06
1241 ;***********************************************************
1242 ; rotate left 'a' circular
1244 ;***********************************************************
1245 ; rotate digit left and right
1246 ; between 'a' and location (hl)
1248 ;***********************************************************
1249 ; rotate right through carry
1251 rr.s a
,(hl
) ;52 CB 1E
1252 rr a
,offset(ix
) ;DD CB 55 1E
1253 rr.s a
,offset(ix
) ;52 DD CB 55 1E
1254 rr a
,offset(iy
) ;FD CB 55 1E
1255 rr.s a
,offset(iy
) ;52 FD CB 55 1E
1263 ;***********************************************************
1264 ; rotate 'a' right with carry
1266 ;***********************************************************
1267 ; rotate right circular
1269 rrc.s a
,(hl
) ;52 CB 0E
1270 rrc a
,offset(ix
) ;DD CB 55 0E
1271 rrc.s a
,offset(ix
) ;52 DD CB 55 0E
1272 rrc a
,offset(iy
) ;FD CB 55 0E
1273 rrc.s a
,offset(iy
) ;52 FD CB 55 0E
1281 ;***********************************************************
1282 ; rotate 'a' right circular
1284 ;***********************************************************
1285 ; rotate digit right and left
1286 ; between 'a' and location (hl)
1288 ;***********************************************************
1290 ;***********************************************************
1308 ;***********************************************************
1309 ; subtract with carry to 'a'
1316 sbc a
,offset(ix
) ;DD 9E 55
1317 sbc.s a
,offset(ix
) ;52 DD 9E 55
1318 sbc a
,offset(iy
) ;FD 9E 55
1319 sbc.s a
,offset(iy
) ;52 FD 9E 55
1328 ;***********************************************************
1329 ; add with carry register pair to 'hl'
1333 sbc.s hl
,bc
;52 ED 42
1334 sbc.s hl
,de
;52 ED 52
1335 sbc.s hl
,hl
;52 ED 62
1337 sbc.s hl
,sp ;52 ED 72
1338 ;***********************************************************
1339 ; set carry flag (C=1)
1341 ;***********************************************************
1342 ; set bit of location or register
1344 set.s
0,(hl
) ;52 CB C6
1345 set
0,offset(ix
) ;DD CB 55 C6
1346 set.s
0,offset(ix
) ;52 DD CB 55 C6
1347 set
0,offset(iy
) ;FD CB 55 C6
1348 set.s
0,offset(iy
) ;52 FD CB 55 C6
1357 set.s
1,(hl
) ;52 CB CE
1358 set
1,offset(ix
) ;DD CB 55 CE
1359 set.s
1,offset(ix
) ;52 DD CB 55 CE
1360 set
1,offset(iy
) ;FD CB 55 CE
1361 set.s
1,offset(iy
) ;52 FD CB 55 CE
1370 set.s
2,(hl
) ;52 CB D6
1371 set
2,offset(ix
) ;DD CB 55 D6
1372 set.s
2,offset(ix
) ;52 DD CB 55 D6
1373 set
2,offset(iy
) ;FD CB 55 D6
1374 set.s
2,offset(iy
) ;52 FD CB 55 D6
1383 set.s
3,(hl
) ;52 CB DE
1384 set
3,offset(ix
) ;DD CB 55 DE
1385 set.s
3,offset(ix
) ;52 DD CB 55 DE
1386 set
3,offset(iy
) ;FD CB 55 DE
1387 set.s
3,offset(iy
) ;52 FD CB 55 DE
1396 set.s
4,(hl
) ;52 CB E6
1397 set
4,offset(ix
) ;DD CB 55 E6
1398 set.s
4,offset(ix
) ;52 DD CB 55 E6
1399 set
4,offset(iy
) ;FD CB 55 E6
1400 set.s
4,offset(iy
) ;52 FD CB 55 E6
1409 set.s
5,(hl
) ;52 CB EE
1410 set
5,offset(ix
) ;DD CB 55 EE
1411 set.s
5,offset(ix
) ;52 DD CB 55 EE
1412 set
5,offset(iy
) ;FD CB 55 EE
1413 set.s
5,offset(iy
) ;52 FD CB 55 EE
1422 set.s
6,(hl
) ;52 CB F6
1423 set
6,offset(ix
) ;DD CB 55 F6
1424 set.s
6,offset(ix
) ;52 DD CB 55 F6
1425 set
6,offset(iy
) ;FD CB 55 F6
1426 set.s
6,offset(iy
) ;52 FD CB 55 F6
1435 set.s
7,(hl
) ;52 CB FE
1436 set
7,offset(ix
) ;DD CB 55 FE
1437 set.s
7,offset(ix
) ;52 DD CB 55 FE
1438 set
7,offset(iy
) ;FD CB 55 FE
1439 set.s
7,offset(iy
) ;52 FD CB 55 FE
1447 ;***********************************************************
1448 ; shift operand left arithmetic
1450 sla.s a
,(hl
) ;52 CB 26
1451 sla a
,offset(ix
) ;DD CB 55 26
1452 sla.s a
,offset(ix
) ;52 DD CB 55 26
1453 sla a
,offset(iy
) ;FD CB 55 26
1454 sla.s a
,offset(iy
) ;52 FD CB 55 26
1462 ;***********************************************************
1465 ;***********************************************************
1466 ; shift operand right arithmetic
1468 sra.s a
,(hl
) ;52 CB 2E
1469 sra a
,offset(ix
) ;DD CB 55 2E
1470 sra.s a
,offset(ix
) ;52 DD CB 55 2E
1471 sra a
,offset(iy
) ;FD CB 55 2E
1472 sra.s a
,offset(iy
) ;52 FD CB 55 2E
1480 ;***********************************************************
1481 ; shift operand right logical
1483 srl.s a
,(hl
) ;52 CB 3E
1484 srl a
,offset(ix
) ;DD CB 55 3E
1485 srl.s a
,offset(ix
) ;52 DD CB 55 3E
1486 srl a
,offset(iy
) ;FD CB 55 3E
1487 srl.s a
,offset(iy
) ;52 FD CB 55 3E
1495 ;***********************************************************
1497 ;***********************************************************
1498 ; subtract operand from 'a'
1505 sub a
,offset(ix
) ;DD 96 55
1506 sub.s a
,offset(ix
) ;52 DD 96 55
1507 sub a
,offset(iy
) ;FD 96 55
1508 sub.s a
,offset(iy
) ;52 FD 96 55
1517 ;***********************************************************
1518 ; non-destructive'and' with accumulator and specified operand
1528 tst.s
(hl
) ;52 ED 34
1529 ;***********************************************************
1530 ; non-destructive 'and' of n and the contents of port (c)
1532 ;***********************************************************
1533 ; logical 'xor' operand with 'a'
1540 xor a
,offset(ix
) ;DD AE 55
1541 xor.s a
,offset(ix
) ;52 DD AE 55
1542 xor a
,offset(iy
) ;FD AE 55
1543 xor.s a
,offset(iy
) ;52 FD AE 55
1553 ;***********************************************************
1555 ;***********************************************************
1559 ;***********************************************************
1561 adc.l a
,offset(ix
) ;49 DD 8E 55
1562 adc.l a
,offset(iy
) ;49 FD 8E 55
1563 ;***********************************************************
1565 adc.l
offset(ix
) ;49 DD 8E 55
1566 adc.l
offset(iy
) ;49 FD 8E 55
1567 ;***********************************************************
1568 ; add with carry register pair to 'hl'
1569 adc.l hl
,bc
;49 ED 4A
1570 adc.l hl
,de
;49 ED 5A
1571 adc.l hl
,hl
;49 ED 6A
1572 adc.l hl
,sp ;49 ED 7A
1573 ;***********************************************************
1574 ; add operand to 'a'
1576 add.l a
,offset(ix
) ;49 DD 86 55
1577 add.l a
,offset(iy
) ;49 FD 86 55
1578 ;***********************************************************
1579 ; add register pair to 'hl'
1584 ;***********************************************************
1585 ; add register pair to 'ix'
1586 add.l ix
,bc
;49 DD 09
1587 add.l ix
,de
;49 DD 19
1588 add.l ix
,ix
;49 DD 29
1589 add.l ix
,sp ;49 DD 39
1590 ;***********************************************************
1591 ; add register pair to 'iy'
1592 add.l iy
,bc
;49 FD 09
1593 add.l iy
,de
;49 FD 19
1594 add.l iy
,iy
;49 FD 29
1595 add.l iy
,sp ;49 FD 39
1596 ;***********************************************************
1597 ; logical 'and' operand with 'a'
1599 and.l a
,offset(ix
) ;49 DD A6 55
1600 and.l a
,offset(iy
) ;49 FD A6 55
1601 ;***********************************************************
1602 ; test bit of location or register
1603 bit.l
0,(hl
) ;49 CB 46
1604 bit.l
0,offset(ix
) ;49 DD CB 55 46
1605 bit.l
0,offset(iy
) ;49 FD CB 55 46
1606 bit.l
1,(hl
) ;49 CB 4E
1607 bit.l
1,offset(ix
) ;49 DD CB 55 4E
1608 bit.l
1,offset(iy
) ;49 FD CB 55 4E
1609 bit.l
2,(hl
) ;49 CB 56
1610 bit.l
2,offset(ix
) ;49 DD CB 55 56
1611 bit.l
2,offset(iy
) ;49 FD CB 55 56
1612 bit.l
3,(hl
) ;49 CB 5E
1613 bit.l
3,offset(ix
) ;49 DD CB 55 5E
1614 bit.l
3,offset(iy
) ;49 FD CB 55 5E
1615 bit.l
4,(hl
) ;49 CB 66
1616 bit.l
4,offset(ix
) ;49 DD CB 55 66
1617 bit.l
4,offset(iy
) ;49 FD CB 55 66
1618 bit.l
5,(hl
) ;49 CB 6E
1619 bit.l
5,offset(ix
) ;49 DD CB 55 6E
1620 bit.l
5,offset(iy
) ;49 FD CB 55 6E
1621 bit.l
6,(hl
) ;49 CB 76
1622 bit.l
6,offset(ix
) ;49 DD CB 55 76
1623 bit.l
6,offset(iy
) ;49 FD CB 55 76
1624 bit.l
7,(hl
) ;49 CB 7E
1625 bit.l
7,offset(ix
) ;49 DD CB 55 7E
1626 bit.l
7,offset(iy
) ;49 FD CB 55 7E
1627 ;***********************************************************
1628 ; call subroutine at nn if condition is true
1629 call.il C
,nn
;52 DC 84 05 00
1630 call.il M
,nn
;52 FC 84 05 00
1631 call.il NC
,nn
;52 D4 84 05 00
1632 call.il NZ
,nn
;52 C4 84 05 00
1633 call.il P
,nn
;52 F4 84 05 00
1634 call.il PE
,nn
;52 EC 84 05 00
1635 call.il PO
,nn
;52 E4 84 05 00
1636 call.il Z
,nn
;52 CC 84 05 00
1637 ;***********************************************************
1638 ; unconditional call to subroutine at nn
1639 call.il nn
;52 CD 84 05 00
1640 ;***********************************************************
1641 ; compare operand with 'a'
1643 cp.l a
,offset(ix
) ;49 DD BE 55
1644 cp.l a
,offset(iy
) ;49 FD BE 55
1645 ;***********************************************************
1646 ; compare location (hl) and 'a'
1647 ; decrement 'hl' and 'bc'
1649 ;***********************************************************
1650 ; compare location (hl) and 'a'
1651 ; decrement 'hl' and 'bc'
1652 ; repeat until 'bc' = 0
1654 ;***********************************************************
1655 ; compare location (hl) and 'a'
1656 ; increment 'hl' and decrement 'bc'
1658 ;***********************************************************
1659 ; compare location (hl) and 'a'
1660 ; increment 'hl' and decrement 'bc'
1661 ; repeat until 'bc' = 0
1663 ;***********************************************************
1666 dec.l
offset(ix
) ;49 DD 35 55
1667 dec.l
offset(iy
) ;49 FD 35 55
1674 ;***********************************************************
1675 ; exchange location and (sp)
1677 ex.l
(sp),ix
;49 DD E3
1678 ex.l
(sp),iy
;49 FD E3
1679 ;***********************************************************
1682 inc.l
offset(ix
) ;49 DD 34 55
1683 inc.l
offset(iy
) ;49 FD 34 55
1690 ;***********************************************************
1691 ; load location (hl) with input
1693 ; decrement 'hl' and 'b'
1695 ;***********************************************************
1697 ;***********************************************************
1699 ;***********************************************************
1701 ;***********************************************************
1703 ;***********************************************************
1704 ; load location (hl) with input
1706 ; decrement 'hl' and 'b'
1707 ; repeat until 'b' = 0
1709 ;***********************************************************
1711 ;***********************************************************
1712 ; load location (hl) with input
1714 ; increment 'hl' and decrement 'b'
1716 ;***********************************************************
1718 ;***********************************************************
1720 ;***********************************************************
1722 ;***********************************************************
1724 ;***********************************************************
1725 ; load location (hl) with input
1727 ; increment 'hl' and decrement 'b'
1728 ; repeat until 'b' = 0
1730 ;***********************************************************
1732 ;***********************************************************
1733 ; unconditional jump to location nn
1734 jp.lil nn
;52 C3 84 05 00
1738 ;***********************************************************
1739 ; jump to location if condition is true
1740 jp.lil C
,nn
;52 DA 84 05 00
1741 jp.lil M
,nn
;52 FA 84 05 00
1742 jp.lil NC
,nn
;52 D2 84 05 00
1743 jp.lil NZ
,nn
;52 C2 84 05 00
1744 jp.lil P
,nn
;52 F2 84 05 00
1745 jp.lil PE
,nn
;52 EA 84 05 00
1746 jp.lil PO
,nn
;52 E2 84 05 00
1747 jp.lil Z
,nn
;52 CA 84 05 00
1748 ;***********************************************************
1749 ; load source to destination
1751 ld.l a
,offset(ix
) ;49 DD 7E 55
1752 ld.l a
,offset(iy
) ;49 FD 7E 55
1754 ld.l b
,offset(ix
) ;49 DD 46 55
1755 ld.l b
,offset(iy
) ;49 FD 46 55
1757 ld.l c
,offset(ix
) ;49 DD 4E 55
1758 ld.l c
,offset(iy
) ;49 FD 4E 55
1760 ld.l d
,offset(ix
) ;49 DD 56 55
1761 ld.l d
,offset(iy
) ;49 FD 56 55
1763 ld.l e
,offset(ix
) ;49 DD 5E 55
1764 ld.l e
,offset(iy
) ;49 FD 5E 55
1766 ld.l h
,offset(ix
) ;49 DD 66 55
1767 ld.l h
,offset(iy
) ;49 FD 66 55
1769 ld.l l
,offset(ix
) ;49 DD 6E 55
1770 ld.l l
,offset(iy
) ;49 FD 6E 55
1771 ;***********************************************************
1776 ;***********************************************************
1784 ld.l
(hl
),#n
;49 36 20
1785 ;***********************************************************
1786 ld.l
offset(ix
),a
;49 DD 77 55
1787 ld.l
offset(ix
),b
;49 DD 70 55
1788 ld.l
offset(ix
),c
;49 DD 71 55
1789 ld.l
offset(ix
),d
;49 DD 72 55
1790 ld.l
offset(ix
),e
;49 DD 73 55
1791 ld.l
offset(ix
),h
;49 DD 74 55
1792 ld.l
offset(ix
),l
;49 DD 75 55
1793 ld.l
offset(ix
),#n
;49 DD 36 55 20
1794 ;***********************************************************
1795 ld.l
offset(iy
),a
;49 FD 77 55
1796 ld.l
offset(iy
),b
;49 FD 70 55
1797 ld.l
offset(iy
),c
;49 FD 71 55
1798 ld.l
offset(iy
),d
;49 FD 72 55
1799 ld.l
offset(iy
),e
;49 FD 73 55
1800 ld.l
offset(iy
),h
;49 FD 74 55
1801 ld.l
offset(iy
),l
;49 FD 75 55
1802 ld.l
offset(iy
),#n
;49 FD 36 55 20
1803 ;***********************************************************
1804 ld.il
(nn
),a
;52 32 84 05 00
1805 ld.il
(nn
),bc
;52 ED 43 84 05 00
1806 ld.il
(nn
),de
;52 ED 53 84 05 00
1807 ld.il
(nn
),hl
;52 22 84 05 00
1808 ld.il
(nn
),sp ;52 ED 73 84 05 00
1809 ld.il
(nn
),ix
;52 DD 22 84 05 00
1810 ld.il
(nn
),iy
;52 FD 22 84 05 00
1811 ;***********************************************************
1812 ld.il a
,(nn
) ;52 3A 84 05 00
1813 ld.il bc
,(nn
) ;52 ED 4B 84 05 00
1814 ld.il de
,(nn
) ;52 ED 5B 84 05 00
1815 ld.il hl
,(nn
) ;52 2A 84 05 00
1816 ld.il
sp,(nn
) ;52 ED 7B 84 05 00
1817 ld.il ix
,(nn
) ;52 DD 2A 84 05 00
1818 ld.il iy
,(nn
) ;52 FD 2A 84 05 00
1819 ;***********************************************************
1820 ld.il bc
,#nn
;52 01 84 05 00
1821 ld.il de
,#nn
;52 11 84 05 00
1822 ld.il hl
,#nn
;52 21 84 05 00
1823 ld.il
sp,#nn
;52 31 84 05 00
1824 ld.il ix
,#nn
;52 DD 21 84 05 00
1825 ld.il iy
,#nn
;52 FD 21 84 05 00
1826 ;***********************************************************
1827 ld.l
(hl
),ix
;49 ED 3F
1828 ld.l
(hl
),iy
;49 ED 3E
1829 ld.l
(hl
),bc
;49 ED 0F
1830 ld.l
(hl
),de
;49 ED 1F
1831 ld.l
(hl
),hl
;49 ED 2F
1832 ld.l bc
,(hl
) ;49 ED 07
1833 ld.l de
,(hl
) ;49 ED 17
1834 ld.l hl
,(hl
) ;49 ED 27
1835 ld.l ix
,(hl
) ;49 ED 37
1836 ld.l iy
,(hl
) ;49 ED 31
1837 ;***********************************************************
1838 ld.l bc
,offset(ix
) ;49 DD 07 55
1839 ld.l de
,offset(ix
) ;49 DD 17 55
1840 ld.l hl
,offset(ix
) ;49 DD 27 55
1841 ld.l bc
,offset(iy
) ;49 FD 07 55
1842 ld.l de
,offset(iy
) ;49 FD 17 55
1843 ld.l hl
,offset(iy
) ;49 FD 27 55
1844 ld.l ix
,offset(ix
) ;49 DD 37 55
1845 ld.l iy
,offset(ix
) ;49 DD 31 55
1846 ld.l ix
,offset(iy
) ;49 FD 31 55
1847 ld.l iy
,offset(iy
) ;49 FD 37 55
1848 ld.l
offset(ix
),bc
;49 DD 0F 55
1849 ld.l
offset(ix
),de
;49 DD 1F 55
1850 ld.l
offset(ix
),hl
;49 DD 2F 55
1851 ld.l
offset(iy
),bc
;49 FD 0F 55
1852 ld.l
offset(iy
),de
;49 FD 1F 55
1853 ld.l
offset(iy
),hl
;49 FD 2F 55
1854 ld.l
offset(ix
),ix
;49 DD 3F 55
1855 ld.l
offset(ix
),iy
;49 DD 3E 55
1856 ld.l
offset(iy
),ix
;49 FD 3E 55
1857 ld.l
offset(iy
),iy
;49 FD 3F 55
1858 ;***********************************************************
1859 ; load location (hl)
1860 ; with location (de)
1864 ;***********************************************************
1865 ; load location (hl)
1866 ; with location (de)
1869 ; repeat until bc = 0
1871 ;***********************************************************
1872 ; load location (hl)
1873 ; with location (de)
1877 ;***********************************************************
1878 ; load location (hl)
1879 ; with location (de)
1882 ; repeat until bc = 0
1884 ;***********************************************************
1885 lea.l ix
,ix
,#
offset ;49 ED 32 55
1886 lea.l iy
,ix
,#
offset ;49 ED 55 55
1887 lea.l ix
,iy
,#
offset ;49 ED 54 55
1888 lea.l iy
,iy
,#
offset ;49 ED 33 55
1889 lea.l bc
,ix
,#
offset ;49 ED 02 55
1890 lea.l de
,ix
,#
offset ;49 ED 12 55
1891 lea.l hl
,ix
,#
offset ;49 ED 22 55
1892 lea.l bc
,iy
,#
offset ;49 ED 03 55
1893 lea.l de
,iy
,#
offset ;49 ED 13 55
1894 lea.l hl
,iy
,#
offset ;49 ED 23 55
1895 ;***********************************************************
1896 ; multiplication of each half
1897 ; of the specified register pair
1898 ; with the 16-bit result going to
1899 ; the specified register pair
1901 ;***********************************************************
1902 ; logical 'or' operand with 'a'
1904 or.l a
,offset(ix
) ;49 DD B6 55
1905 or.l a
,offset(iy
) ;49 FD B6 55
1906 ;***********************************************************
1908 ;***********************************************************
1909 ; load output port (c) with
1911 ; decrement hl and b
1914 ;***********************************************************
1915 ; load output port (c) with
1917 ; decrement hl and c
1919 ; repeat until b = 0
1921 ;***********************************************************
1922 ; load output port (c)
1923 ; with location (hl)
1924 ; decrement hl and decrement b
1925 ; repeat until b = 0
1927 ;***********************************************************
1929 ;***********************************************************
1931 ;***********************************************************
1932 ; load output port (c) with
1934 ; increment hl and b
1937 ;***********************************************************
1938 ; load output port (c) with
1940 ; increment hl and c
1942 ; repeat until b = 0
1944 ;***********************************************************
1945 ; load output port (c)
1946 ; with location (hl)
1947 ; increment hl and decrement b
1948 ; repeat until b = 0
1950 ;***********************************************************
1952 ;***********************************************************
1953 ; load output port (c)
1954 ; with location (hl)
1955 ; decrement hl and decrement b
1957 ;***********************************************************
1959 ;***********************************************************
1960 ; load output port (c)
1961 ; with location (hl)
1962 ; increment hl and decrement b
1964 ;***********************************************************
1966 ;***********************************************************
1967 pea.l ix
,#
offset ;52 ED 65 55
1968 pea.l iy
,#
offset ;52 ED 66 55
1969 ;***********************************************************
1970 ; load destination with top of stack
1977 ;***********************************************************
1978 ; put source on stack
1985 ;***********************************************************
1986 ; reset bit of location or register
1987 res.l
0,(hl
) ;49 CB 86
1988 res.l
0,offset(ix
) ;49 DD CB 55 86
1989 res.l
0,offset(iy
) ;49 FD CB 55 86
1990 res.l
1,(hl
) ;49 CB 8E
1991 res.l
1,offset(ix
) ;49 DD CB 55 8E
1992 res.l
1,offset(iy
) ;49 FD CB 55 8E
1993 res.l
2,(hl
) ;49 CB 96
1994 res.l
2,offset(ix
) ;49 DD CB 55 96
1995 res.l
2,offset(iy
) ;49 FD CB 55 96
1996 res.l
3,(hl
) ;49 CB 9E
1997 res.l
3,offset(ix
) ;49 DD CB 55 9E
1998 res.l
3,offset(iy
) ;49 FD CB 55 9E
1999 res.l
4,(hl
) ;49 CB A6
2000 res.l
4,offset(ix
) ;49 DD CB 55 A6
2001 res.l
4,offset(iy
) ;49 FD CB 55 A6
2002 res.l
5,(hl
) ;49 CB AE
2003 res.l
5,offset(ix
) ;49 DD CB 55 AE
2004 res.l
5,offset(iy
) ;49 FD CB 55 AE
2005 res.l
6,(hl
) ;49 CB B6
2006 res.l
6,offset(ix
) ;49 DD CB 55 B6
2007 res.l
6,offset(iy
) ;49 FD CB 55 B6
2008 res.l
7,(hl
) ;49 CB BE
2009 res.l
7,offset(ix
) ;49 DD CB 55 BE
2010 res.l
7,offset(iy
) ;49 FD CB 55 BE
2011 ;***********************************************************
2012 ; return from subroutine
2014 ;***********************************************************
2015 ; return from subroutine if condition is true
2024 ;***********************************************************
2025 ; return from interrupt
2027 ;***********************************************************
2028 ; return from non-maskable interrupt
2030 ;***********************************************************
2031 ; rotate left through carry
2032 rl.l a
,(hl
) ;49 CB 16
2033 rl.l a
,offset(ix
) ;49 DD CB 55 16
2034 rl.l a
,offset(iy
) ;49 FD CB 55 16
2035 ;***********************************************************
2036 ; rotate left circular
2037 rlc.l a
,(hl
) ;49 CB 06
2038 rlc.l a
,offset(ix
) ;49 DD CB 55 06
2039 rlc.l a
,offset(iy
) ;49 FD CB 55 06
2040 ;***********************************************************
2041 ; rotate right through carry
2042 rr.l a
,(hl
) ;49 CB 1E
2043 rr.l a
,offset(ix
) ;49 DD CB 55 1E
2044 rr.l a
,offset(iy
) ;49 FD CB 55 1E
2045 ;***********************************************************
2046 ; rotate right circular
2047 rrc.l a
,(hl
) ;49 CB 0E
2048 rrc.l a
,offset(ix
) ;49 DD CB 55 0E
2049 rrc.l a
,offset(iy
) ;49 FD CB 55 0E
2050 ;***********************************************************
2060 ;***********************************************************
2061 ; subtract with carry to 'a'
2063 sbc.l a
,offset(ix
) ;49 DD 9E 55
2064 sbc.l a
,offset(iy
) ;49 FD 9E 55
2065 ;***********************************************************
2066 ; add with carry register pair to 'hl'
2067 sbc.l hl
,bc
;49 ED 42
2068 sbc.l hl
,de
;49 ED 52
2069 sbc.l hl
,hl
;49 ED 62
2070 sbc.l hl
,sp ;49 ED 72
2071 ;***********************************************************
2072 ; set bit of location or register
2073 set.l
0,(hl
) ;49 CB C6
2074 set.l
0,offset(ix
) ;49 DD CB 55 C6
2075 set.l
0,offset(iy
) ;49 FD CB 55 C6
2076 set.l
1,(hl
) ;49 CB CE
2077 set.l
1,offset(ix
) ;49 DD CB 55 CE
2078 set.l
1,offset(iy
) ;49 FD CB 55 CE
2079 set.l
2,(hl
) ;49 CB D6
2080 set.l
2,offset(ix
) ;49 DD CB 55 D6
2081 set.l
2,offset(iy
) ;49 FD CB 55 D6
2082 set.l
3,(hl
) ;49 CB DE
2083 set.l
3,offset(ix
) ;49 DD CB 55 DE
2084 set.l
3,offset(iy
) ;49 FD CB 55 DE
2085 set.l
4,(hl
) ;49 CB E6
2086 set.l
4,offset(ix
) ;49 DD CB 55 E6
2087 set.l
4,offset(iy
) ;49 FD CB 55 E6
2088 set.l
5,(hl
) ;49 CB EE
2089 set.l
5,offset(ix
) ;49 DD CB 55 EE
2090 set.l
5,offset(iy
) ;49 FD CB 55 EE
2091 set.l
6,(hl
) ;49 CB F6
2092 set.l
6,offset(ix
) ;49 DD CB 55 F6
2093 set.l
6,offset(iy
) ;49 FD CB 55 F6
2094 set.l
7,(hl
) ;49 CB FE
2095 set.l
7,offset(ix
) ;49 DD CB 55 FE
2096 set.l
7,offset(iy
) ;49 FD CB 55 FE
2097 ;***********************************************************
2098 ; shift operand left arithmetic
2099 sla.l a
,(hl
) ;49 CB 26
2100 sla.l a
,offset(ix
) ;49 DD CB 55 26
2101 sla.l a
,offset(iy
) ;49 FD CB 55 26
2102 ;***********************************************************
2103 ; shift operand right arithmetic
2104 sra.l a
,(hl
) ;49 CB 2E
2105 sra.l a
,offset(ix
) ;49 DD CB 55 2E
2106 sra.l a
,offset(iy
) ;49 FD CB 55 2E
2107 ;***********************************************************
2108 ; shift operand right logical
2109 srl.l a
,(hl
) ;49 CB 3E
2110 srl.l a
,offset(ix
) ;49 DD CB 55 3E
2111 srl.l a
,offset(iy
) ;49 FD CB 55 3E
2112 ;***********************************************************
2113 ; subtract operand from 'a'
2115 sub.l a
,offset(ix
) ;49 DD 96 55
2116 sub.l a
,offset(iy
) ;49 FD 96 55
2117 ;***********************************************************
2118 ; non-destructive'and' with accumulator and specified operand
2119 tst.l
(hl
) ;49 ED 34
2120 ;***********************************************************
2121 ; logical 'xor' operand with 'a'
2123 xor.l a
,offset(ix
) ;49 DD AE 55
2124 xor.l a
,offset(iy
) ;49 FD AE 55
2125 ;***********************************************************