]> cloudbase.mooo.com Git - ddt180.git/commitdiff
lookup_branch_op minor opt
authorLeo C <erbl259-lmu@yahoo.de>
Thu, 20 Feb 2020 08:53:44 +0000 (09:53 +0100)
committerLeo C <erbl259-lmu@yahoo.de>
Thu, 20 Feb 2020 17:56:05 +0000 (18:56 +0100)
ddt180.z80
testdata/64180ops.180 [new file with mode: 0644]
testdata/64180ops.hex [new file with mode: 0644]
testdata/64180ops.try [new file with mode: 0644]
testdata/optype.hex [new file with mode: 0644]
testdata/optype.try [new file with mode: 0644]
testdata/optype.z80 [new file with mode: 0644]

index 00b4220de85e3fb9c4cee734bdca4d3d55fd95e7..f683e46fa1ab7646269fadce78399e66ed3d9e84 100644 (file)
@@ -2800,6 +2800,8 @@ l197fh:
        sub a\r
        ret\r
 \r
+;-------------------------------------------------------------------------------\r
+\r
 disas_get_instrlen:\r
        sub a\r
        ld (isprefix_ixiy),a\r
@@ -3036,26 +3038,6 @@ get_m1:
        scf\r
        ret\r
 \r
-lookup_branch_op               ;TODO\r
-       ld a,(hl)\r
-       and a\r
-       ret z\r
-       inc hl\r
-       and (iy+000h)\r
-       cp (hl)\r
-       inc hl\r
-       jr z,l1aa8_br\r
-       inc hl\r
-       inc hl\r
-       jr lookup_branch_op\r
-\r
-l1aa8_br:\r
-       ld e,(hl)\r
-       inc hl\r
-       ld d,(hl)\r
-       scf\r
-       ret\r
-\r
 ;-------------------------------------------------------------------------------\r
 ; 1 byte opcodes (no parameters)\r
 ; Format: db opcode, t_MNEMONICS-index\r
@@ -3782,6 +3764,23 @@ t_arg_IR:
        DC      'A,R'\r
        db      0\r
 \r
+;-------------------------------------------------------------------------------\r
+\r
+lookup_branch_op:\r
+       ld a,(hl)\r
+       and a\r
+       ret z\r
+       inc hl\r
+       and (iy+000h)\r
+       cp (hl)\r
+       inc hl\r
+       ld e,(hl)\r
+       inc hl\r
+       ld d,(hl)\r
+       inc hl\r
+       jr nz,lookup_branch_op\r
+       scf\r
+       ret\r
 \r
 ;-------------------------------------------------------------------------------\r
 \r
diff --git a/testdata/64180ops.180 b/testdata/64180ops.180
new file mode 100644 (file)
index 0000000..1c8d624
--- /dev/null
@@ -0,0 +1,41 @@
+; 64180 additional opcodes, numerical order\r
+;\r
+;maclib        64180.mac\r
+;\r
+nn     equ     020h\r
+\r
+       in0     b,(nn)\r
+       out0    (nn),b\r
+       tst     b\r
+       in0     c,(nn)\r
+       out0    (nn),c\r
+       tst     c\r
+       in0     d,(nn)\r
+       out0    (nn),d\r
+       tst     d\r
+       in0     e,(nn)\r
+       out0    (nn),e\r
+       tst     e\r
+       in0     h,(nn)\r
+       out0    (nn),h\r
+       tst     h\r
+       in0     l,(nn)\r
+       out0    (nn),l\r
+       tst     l\r
+       tst     (hl)\r
+       in0     a,(nn)\r
+       out0    (nn),a\r
+       tst     a\r
+       mlt     bc\r
+       mlt     de\r
+       tst     nn\r
+       mlt     hl\r
+       tstio   nn\r
+       slp\r
+       mlt     sp\r
+       otim\r
+       otdm\r
+       otimr\r
+       otdmr\r
+;\r
+       end\r
diff --git a/testdata/64180ops.hex b/testdata/64180ops.hex
new file mode 100644 (file)
index 0000000..3130f5e
Binary files /dev/null and b/testdata/64180ops.hex differ
diff --git a/testdata/64180ops.try b/testdata/64180ops.try
new file mode 100644 (file)
index 0000000..26948e2
Binary files /dev/null and b/testdata/64180ops.try differ
diff --git a/testdata/optype.hex b/testdata/optype.hex
new file mode 100644 (file)
index 0000000..38e34e1
--- /dev/null
@@ -0,0 +1,49 @@
+:200100000001A4060203040506200708090A0B0C0D0E200F101E11A40612131415162017F9\r
+:200120001812191A1B1C1D1E201F200821A40622A40623242526202728FA292AA4062B2CA3\r
+:200140002D2E202F30EE31A40632A40633343536203738E0393AA4063B3C3D3E203F4041F0\r
+:2001600042434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F60614F\r
+:2001800062636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F80812F\r
+:2001A00082838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A10F\r
+:2001C000A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1EF\r
+:2001E000C2A406C3A406C4A406C5C620C7C8C9CAA406CCA406CDA406CE20CFD0D1D2A4067A\r
+:20020000D320D4A406D5D620D7D8D9DAA406DB20DCA406DE20DFE0E1E2A406E3E4A406E595\r
+:20022000E620E7E8E9EAA406EBECA406EE20EFF0F1F2A406F3F4A406F5F620F7F8F9FAA44F\r
+:2002400006FBFCA406FE20FFCB00CB01CB02CB03CB04CB05CB06CB07CB08CB09CB0ACB0B14\r
+:20026000CB0CCB0DCB0ECB0FCB10CB11CB12CB13CB14CB15CB16CB17CB18CB19CB1ACB1B96\r
+:20028000CB1CCB1DCB1ECB1FCB20CB21CB22CB23CB24CB25CB26CB27CB28CB29CB2ACB2B76\r
+:2002A000CB2CCB2DCB2ECB2FCB30CB31CB32CB33CB34CB35CB36CB37CB38CB39CB3ACB3B56\r
+:2002C000CB3CCB3DCB3ECB3FCB40CB41CB42CB43CB44CB45CB46CB47CB48CB49CB4ACB4B36\r
+:2002E000CB4CCB4DCB4ECB4FCB50CB51CB52CB53CB54CB55CB56CB57CB58CB59CB5ACB5B16\r
+:20030000CB5CCB5DCB5ECB5FCB60CB61CB62CB63CB64CB65CB66CB67CB68CB69CB6ACB6BF5\r
+:20032000CB6CCB6DCB6ECB6FCB70CB71CB72CB73CB74CB75CB76CB77CB78CB79CB7ACB7BD5\r
+:20034000CB7CCB7DCB7ECB7FCB80CB81CB82CB83CB84CB85CB86CB87CB88CB89CB8ACB8BB5\r
+:20036000CB8CCB8DCB8ECB8FCB90CB91CB92CB93CB94CB95CB96CB97CB98CB99CB9ACB9B95\r
+:20038000CB9CCB9DCB9ECB9FCBA0CBA1CBA2CBA3CBA4CBA5CBA6CBA7CBA8CBA9CBAACBAB75\r
+:2003A000CBACCBADCBAECBAFCBB0CBB1CBB2CBB3CBB4CBB5CBB6CBB7CBB8CBB9CBBACBBB55\r
+:2003C000CBBCCBBDCBBECBBFCBC0CBC1CBC2CBC3CBC4CBC5CBC6CBC7CBC8CBC9CBCACBCB35\r
+:2003E000CBCCCBCDCBCECBCFCBD0CBD1CBD2CBD3CBD4CBD5CBD6CBD7CBD8CBD9CBDACBDB15\r
+:20040000CBDCCBDDCBDECBDFCBE0CBE1CBE2CBE3CBE4CBE5CBE6CBE7CBE8CBE9CBEACBEBF4\r
+:20042000CBECCBEDCBEECBEFCBF0CBF1CBF2CBF3CBF4CBF5CBF6CBF7CBF8CBF9CBFACBFBD4\r
+:20044000CBFCCBFDCBFECBFFDD09DD19DD21A406DD22A406DD23DD29DD2AA406DD2BDD347D\r
+:2004600005DD3505DD360520DD39DD4605DD4E05DD5605DD5E05DD6605DD6E05DD7005DD7B\r
+:200480007105DD7205DD7305DD7405DD7505DD7705DD7E05DD8605DD8E05DD9605DD9E0507\r
+:2004A000DDA605DDAE05DDB605DDBE05DDE1DDE3DDE5DDE9DDF9DDCB0506DDCB050EDDCBFA\r
+:2004C0000516DDCB051EDDCB0526DDCB052EDDCB053EDDCB0546DDCB054EDDCB0556DDCB04\r
+:2004E000055EDDCB0566DDCB056EDDCB0576DDCB057EDDCB0586DDCB058EDDCB0596DDCBC4\r
+:20050000059EDDCB05A6DDCB05AEDDCB05B6DDCB05BEDDCB05C6DDCB05CEDDCB05D6DDCBA3\r
+:2005200005DEDDCB05E6DDCB05EEDDCB05F6DDCB05FEED40ED41ED42ED43A406ED44ED4595\r
+:20054000ED46ED47ED48ED49ED4AED4BA406ED4DED4FED50ED51ED52ED53A406ED56ED570F\r
+:20056000ED58ED59ED5AED5BA406ED5EED5FED60ED61ED62ED63A406ED67ED68ED69ED6AE6\r
+:20058000ED6BA406ED6FED70ED71ED72ED73A406ED78ED79ED7AED7BA406EDA0EDA1EDA2EB\r
+:2005A000EDA3EDA8EDA9EDAAEDABEDB0EDB1EDB2EDB3EDB8EDB9EDBAEDBBFD09FD19FD2103\r
+:2005C000A406FD22A406FD23FD29FD2AA406FD2BFD3405FD3505FD360520FD39FD4605FD29\r
+:2005E0004E05FD5605FD5E05FD6605FD6E05FD7005FD7105FD7205FD7305FD7405FD75055D\r
+:20060000FD7705FD7E05FD8605FD8E05FD9605FD9E05FDA605FDAE05FDB605FDBE05FDE1E3\r
+:20062000FDE3FDE5FDE9FDF9FDCB0506FDCB050EFDCB0516FDCB051EFDCB0526FDCB052EB2\r
+:20064000FDCB053EFDCB0546FDCB054EFDCB0556FDCB055EFDCB0566FDCB056EFDCB057662\r
+:20066000FDCB057EFDCB0586FDCB058EFDCB0596FDCB059EFDCB05A6FDCB05AEFDCB05B642\r
+:20068000FDCB05BEFDCB05C6FDCB05CEFDCB05D6FDCB05DEFDCB05E6FDCB05EEFDCB05F622\r
+:0406A000FDCB05FE8B\r
+:00000001FF\r
+\1a\1aDDCB05A6DDCB05AEDDCB05B6DDCB05BEDDCB05C6DDCB05CEDDCB05D6DDCBA3\r
+:2005200005DEDDCB05
\ No newline at end of file
diff --git a/testdata/optype.try b/testdata/optype.try
new file mode 100644 (file)
index 0000000..149f27b
Binary files /dev/null and b/testdata/optype.try differ
diff --git a/testdata/optype.z80 b/testdata/optype.z80
new file mode 100644 (file)
index 0000000..e0428a7
--- /dev/null
@@ -0,0 +1,816 @@
+; Z80 opcodes, numerical order, from Zilog manual, Zilog mnems.\r
+; Prefixed follow 0ffh = rst 7\r
+\r
+; NOTE 1\r
+; Some assemblers accept "a," for these opcodes, notably SLR's Z80ASM.\r
+\r
+; definitions for sll macro\r
+b      equ     0\r
+c      equ     1\r
+d      equ     2\r
+e      equ     3\r
+h      equ     4\r
+l      equ     5\r
+m      equ     6\r
+a      equ     7\r
+\r
+; useless, but valid opcode. Most assemblers do not generate\r
+sll    macro   reg\r
+       db      0cbh,030h+reg\r
+       endm\r
+;\r
+ind    equ     5\r
+n      equ     20h\r
+;\r
+       nop\r
+       ld      bc,nn\r
+       ld      (bc),a\r
+       inc     bc\r
+       inc     b\r
+       dec     b\r
+       ld      b,n\r
+       rlca\r
+       ex      af,af'\r
+       add     hl,bc\r
+       ld      a,(bc)\r
+       dec     bc\r
+       inc     c\r
+       dec     c\r
+       ld      c,n\r
+       rrca\r
+       djnz    dis\r
+       ld      de,nn\r
+       ld      (de),a\r
+       inc     de\r
+       inc     d\r
+       dec     d\r
+       ld      d,n\r
+       rla\r
+       jr      dis\r
+       add     hl,de\r
+       ld      a,(de)\r
+       dec     de\r
+       inc     e\r
+       dec     e\r
+       ld      e,n\r
+       rra\r
+       jr      nz,dis\r
+       ld      hl,nn\r
+       ld      (nn),hl\r
+       inc     hl\r
+       inc     h\r
+dis:   dec     h\r
+       ld      h,n\r
+       daa\r
+       jr      z,dis\r
+       add     hl,hl\r
+       ld      hl,(nn)\r
+       dec     hl\r
+       inc     l\r
+       dec     l\r
+       ld      l,n\r
+       cpl\r
+       jr      nc,dis\r
+       ld      sp,nn\r
+       ld      (nn),a\r
+       inc     sp\r
+       inc     (hl)\r
+       dec     (hl)\r
+       ld      (hl),n\r
+       scf\r
+       jr      c,dis\r
+       add     hl,sp\r
+       ld      a,(nn)\r
+       dec     sp\r
+       inc     a\r
+       dec     a\r
+       ld      a,n\r
+       ccf\r
+       ld      b,b\r
+       ld      b,c\r
+       ld      b,d\r
+       ld      b,e\r
+       ld      b,h\r
+       ld      b,l\r
+       ld      b,(hl)\r
+       ld      b,a\r
+\r
+       ld      c,b\r
+       ld      c,c\r
+       ld      c,d\r
+       ld      c,e\r
+       ld      c,h\r
+       ld      c,l\r
+       ld      c,(hl)\r
+       ld      c,a\r
+\r
+       ld      d,b\r
+       ld      d,c\r
+       ld      d,d\r
+       ld      d,e\r
+       ld      d,h\r
+       ld      d,l\r
+       ld      d,(hl)\r
+       ld      d,a\r
+\r
+       ld      e,b\r
+       ld      e,c\r
+       ld      e,d\r
+       ld      e,e\r
+       ld      e,h\r
+       ld      e,l\r
+       ld      e,(hl)\r
+       ld      e,a\r
+\r
+       ld      h,b\r
+       ld      h,c\r
+       ld      h,d\r
+       ld      h,e\r
+       ld      h,h\r
+       ld      h,l\r
+       ld      h,(hl)\r
+       ld      h,a\r
+\r
+       ld      l,b\r
+       ld      l,c\r
+       ld      l,d\r
+       ld      l,e\r
+       ld      l,h\r
+       ld      l,l\r
+       ld      l,(hl)\r
+       ld      l,a\r
+\r
+       ld      (hl),b\r
+       ld      (hl),c\r
+       ld      (hl),d\r
+       ld      (hl),e\r
+       ld      (hl),h\r
+       ld      (hl),l\r
+       halt\r
+       ld      (hl),a\r
+\r
+       ld      a,b\r
+       ld      a,c\r
+       ld      a,d\r
+       ld      a,e\r
+       ld      a,h\r
+       ld      a,l\r
+       ld      a,(hl)\r
+       ld      a,a\r
+\r
+       add     a,b\r
+       add     a,c\r
+       add     a,d\r
+       add     a,e\r
+       add     a,h\r
+       add     a,l\r
+       add     a,(hl)\r
+       add     a,a\r
+\r
+       adc     a,b\r
+       adc     a,c\r
+       adc     a,d\r
+       adc     a,e\r
+       adc     a,h\r
+       adc     a,l\r
+       adc     a,(hl)\r
+       adc     a,a\r
+\r
+       sub     b;              note 1\r
+       sub     c\r
+       sub     d\r
+       sub     e\r
+       sub     h\r
+       sub     l\r
+       sub     (hl)\r
+       sub     a\r
+\r
+       sbc     a,b\r
+       sbc     a,c\r
+       sbc     a,d\r
+       sbc     a,e\r
+       sbc     a,h\r
+       sbc     a,l\r
+       sbc     a,(hl)\r
+       sbc     a,a\r
+\r
+       and     b;              note 1\r
+       and     c\r
+       and     d\r
+       and     e\r
+       and     h\r
+       and     l\r
+       and     (hl)\r
+       and     a\r
+\r
+       xor     b;              note 1\r
+       xor     c\r
+       xor     d\r
+       xor     e\r
+       xor     h\r
+       xor     l\r
+       xor     (hl)\r
+       xor     a\r
+\r
+       or      b;              note 1\r
+       or      c\r
+       or      d\r
+       or      e\r
+       or      h\r
+       or      l\r
+       or      (hl)\r
+       or      a\r
+\r
+       cp      b;              note 1\r
+       cp      c\r
+       cp      d\r
+       cp      e\r
+       cp      h\r
+       cp      l\r
+       cp      (hl)\r
+       cp      a\r
+\r
+       ret     nz\r
+       pop     bc\r
+       jp      nz,nn\r
+       jp      nn\r
+       call    nz,nn\r
+       push    bc\r
+       add     a,n\r
+       rst     0\r
+\r
+       ret     z\r
+       ret\r
+       jp      z,nn\r
+       call    z,nn\r
+       call    nn\r
+       adc     a,n\r
+       rst     8\r
+\r
+       ret     nc\r
+       pop     de\r
+       jp      nc,nn\r
+       out     (n),a\r
+       call    nc,nn\r
+       push    de\r
+       sub     n\r
+       rst     10h\r
+\r
+       ret     c\r
+       exx\r
+       jp      c,nn\r
+       in      a,(n)\r
+       call    c,nn\r
+       sbc     a,n\r
+       rst     18h\r
+\r
+       ret     po\r
+       pop     hl\r
+       jp      po,nn\r
+       ex      (sp),hl\r
+       call    po,nn\r
+       push    hl\r
+       and     n\r
+       rst     20h\r
+\r
+       ret     pe\r
+       jp      (hl)\r
+       jp      pe,nn\r
+       ex      de,hl\r
+       call    pe,nn\r
+       xor     n\r
+       rst     28h\r
+\r
+       ret     p\r
+       pop     af\r
+       jp      p,nn\r
+       di\r
+       call    p,nn\r
+       push    af\r
+       or      n\r
+       rst     30h\r
+\r
+       ret     m\r
+       ld      sp,hl\r
+       jp      m,nn\r
+       ei\r
+       call    m,nn\r
+       cp      n\r
+       rst     38h\r
+\r
+       rlc     b\r
+       rlc     c\r
+       rlc     d\r
+       rlc     e\r
+       rlc     h\r
+       rlc     l\r
+       rlc     (hl)\r
+       rlc     a\r
+\r
+       rrc     b\r
+       rrc     c\r
+       rrc     d\r
+       rrc     e\r
+       rrc     h\r
+       rrc     l\r
+       rrc     (hl)\r
+       rrc     a\r
+\r
+       rl      b\r
+       rl      c\r
+       rl      d\r
+       rl      e\r
+       rl      h\r
+       rl      l\r
+       rl      (hl)\r
+       rl      a\r
+\r
+       rr      b\r
+       rr      c\r
+       rr      d\r
+       rr      e\r
+       rr      h\r
+       rr      l\r
+       rr      (hl)\r
+       rr      a\r
+\r
+       sla     b\r
+       sla     c\r
+       sla     d\r
+       sla     e\r
+       sla     h\r
+       sla     l\r
+       sla     (hl)\r
+       sla     a\r
+\r
+       sra     b\r
+       sra     c\r
+       sra     d\r
+       sra     e\r
+       sra     h\r
+       sra     l\r
+       sra     (hl)\r
+       sra     a\r
+\r
+       sll     b;      omitted from most assemblers\r
+       sll     c;      valid, but redundant\r
+       sll     d\r
+       sll     e\r
+       sll     h\r
+       sll     l\r
+       sll     m\r
+       sll     a\r
+\r
+       srl     b\r
+       srl     c\r
+       srl     d\r
+       srl     e\r
+       srl     h\r
+       srl     l\r
+       srl     (hl)\r
+       srl     a\r
+\r
+       bit     0,b\r
+       bit     0,c\r
+       bit     0,d\r
+       bit     0,e\r
+       bit     0,h\r
+       bit     0,l\r
+       bit     0,(hl)\r
+       bit     0,a\r
+\r
+       bit     1,b\r
+       bit     1,c\r
+       bit     1,d\r
+       bit     1,e\r
+       bit     1,h\r
+       bit     1,l\r
+       bit     1,(hl)\r
+       bit     1,a\r
+\r
+       bit     2,b\r
+       bit     2,c\r
+       bit     2,d\r
+       bit     2,e\r
+       bit     2,h\r
+       bit     2,l\r
+       bit     2,(hl)\r
+       bit     2,a\r
+\r
+       bit     3,b\r
+       bit     3,c\r
+       bit     3,d\r
+       bit     3,e\r
+       bit     3,h\r
+       bit     3,l\r
+       bit     3,(hl)\r
+       bit     3,a\r
+\r
+       bit     4,b\r
+       bit     4,c\r
+       bit     4,d\r
+       bit     4,e\r
+       bit     4,h\r
+       bit     4,l\r
+       bit     4,(hl)\r
+       bit     4,a\r
+\r
+       bit     5,b\r
+       bit     5,c\r
+       bit     5,d\r
+       bit     5,e\r
+       bit     5,h\r
+       bit     5,l\r
+       bit     5,(hl)\r
+       bit     5,a\r
+\r
+       bit     6,b\r
+       bit     6,c\r
+       bit     6,d\r
+       bit     6,e\r
+       bit     6,h\r
+       bit     6,l\r
+       bit     6,(hl)\r
+       bit     6,a\r
+\r
+       bit     7,b\r
+       bit     7,c\r
+       bit     7,d\r
+       bit     7,e\r
+       bit     7,h\r
+       bit     7,l\r
+       bit     7,(hl)\r
+       bit     7,a\r
+\r
+       res     0,b\r
+       res     0,c\r
+       res     0,d\r
+       res     0,e\r
+       res     0,h\r
+       res     0,l\r
+       res     0,(hl)\r
+       res     0,a\r
+\r
+       res     1,b\r
+       res     1,c\r
+       res     1,d\r
+       res     1,e\r
+       res     1,h\r
+       res     1,l\r
+       res     1,(hl)\r
+       res     1,a\r
+\r
+       res     2,b\r
+       res     2,c\r
+       res     2,d\r
+       res     2,e\r
+       res     2,h\r
+       res     2,l\r
+       res     2,(hl)\r
+       res     2,a\r
+\r
+       res     3,b\r
+       res     3,c\r
+       res     3,d\r
+       res     3,e\r
+       res     3,h\r
+       res     3,l\r
+       res     3,(hl)\r
+       res     3,a\r
+\r
+       res     4,b\r
+       res     4,c\r
+       res     4,d\r
+       res     4,e\r
+       res     4,h\r
+       res     4,l\r
+       res     4,(hl)\r
+       res     4,a\r
+\r
+       res     5,b\r
+       res     5,c\r
+       res     5,d\r
+       res     5,e\r
+       res     5,h\r
+       res     5,l\r
+       res     5,(hl)\r
+       res     5,a\r
+\r
+       res     6,b\r
+       res     6,c\r
+       res     6,d\r
+       res     6,e\r
+       res     6,h\r
+       res     6,l\r
+       res     6,(hl)\r
+       res     6,a\r
+\r
+       res     7,b\r
+       res     7,c\r
+       res     7,d\r
+       res     7,e\r
+       res     7,h\r
+       res     7,l\r
+       res     7,(hl)\r
+       res     7,a\r
+\r
+       set     0,b\r
+       set     0,c\r
+       set     0,d\r
+       set     0,e\r
+       set     0,h\r
+       set     0,l\r
+       set     0,(hl)\r
+       set     0,a\r
+\r
+       set     1,b\r
+       set     1,c\r
+       set     1,d\r
+       set     1,e\r
+       set     1,h\r
+       set     1,l\r
+       set     1,(hl)\r
+       set     1,a\r
+\r
+       set     2,b\r
+       set     2,c\r
+       set     2,d\r
+       set     2,e\r
+       set     2,h\r
+       set     2,l\r
+       set     2,(hl)\r
+       set     2,a\r
+\r
+       set     3,b\r
+       set     3,c\r
+       set     3,d\r
+       set     3,e\r
+       set     3,h\r
+       set     3,l\r
+       set     3,(hl)\r
+       set     3,a\r
+\r
+       set     4,b\r
+       set     4,c\r
+       set     4,d\r
+       set     4,e\r
+       set     4,h\r
+       set     4,l\r
+       set     4,(hl)\r
+       set     4,a\r
+\r
+       set     5,b\r
+       set     5,c\r
+       set     5,d\r
+       set     5,e\r
+       set     5,h\r
+       set     5,l\r
+       set     5,(hl)\r
+       set     5,a\r
+\r
+       set     6,b\r
+       set     6,c\r
+       set     6,d\r
+       set     6,e\r
+       set     6,h\r
+       set     6,l\r
+       set     6,(hl)\r
+       set     6,a\r
+\r
+       set     7,b\r
+       set     7,c\r
+       set     7,d\r
+       set     7,e\r
+       set     7,h\r
+       set     7,l\r
+       set     7,(hl)\r
+       set     7,a\r
+\r
+       add     ix,bc\r
+       add     ix,de\r
+       ld      ix,nn\r
+       ld      (nn),ix\r
+       inc     ix\r
+       add     ix,ix\r
+       ld      ix,(nn)\r
+       dec     ix\r
+\r
+       inc     [ix+ind]\r
+       dec     [ix+ind]\r
+       ld      [ix+ind],n\r
+       add     ix,sp\r
+\r
+       ld      b,[ix+ind]\r
+       ld      c,[ix+ind]\r
+       ld      d,[ix+ind]\r
+       ld      e,[ix+ind]\r
+       ld      h,[ix+ind]\r
+       ld      l,[ix+ind]\r
+\r
+       ld      [ix+ind],b\r
+       ld      [ix+ind],c\r
+       ld      [ix+ind],d\r
+       ld      [ix+ind],e\r
+       ld      [ix+ind],h\r
+       ld      [ix+ind],l\r
+       ld      [ix+ind],a\r
+\r
+       ld      a,[ix+ind]\r
+\r
+       add     a,[ix+ind]\r
+       adc     a,[ix+ind]\r
+       sub     [ix+ind];               Note 1\r
+       sbc     a,[ix+ind]\r
+       and     [ix+ind]\r
+       xor     [ix+ind]\r
+       or      [ix+ind]\r
+       cp      [ix+ind]\r
+\r
+       pop     ix\r
+       ex      (sp),ix\r
+       push    ix\r
+       jp      (ix)\r
+       ld      sp,ix\r
+\r
+       rlc     [ix+ind]\r
+       rrc     [ix+ind]\r
+       rl      [ix+ind]\r
+       rr      [ix+ind]\r
+       sla     [ix+ind]\r
+       sra     [ix+ind]\r
+;      sll     [ix+ind]\r
+       srl     [ix+ind]\r
+\r
+       bit     0,[ix+ind]\r
+       bit     1,[ix+ind]\r
+       bit     2,[ix+ind]\r
+       bit     3,[ix+ind]\r
+       bit     4,[ix+ind]\r
+       bit     5,[ix+ind]\r
+       bit     6,[ix+ind]\r
+       bit     7,[ix+ind]\r
+\r
+       res     0,[ix+ind]\r
+       res     1,[ix+ind]\r
+       res     2,[ix+ind]\r
+       res     3,[ix+ind]\r
+       res     4,[ix+ind]\r
+       res     5,[ix+ind]\r
+       res     6,[ix+ind]\r
+       res     7,[ix+ind]\r
+\r
+       set     0,[ix+ind]\r
+       set     1,[ix+ind]\r
+       set     2,[ix+ind]\r
+       set     3,[ix+ind]\r
+       set     4,[ix+ind]\r
+       set     5,[ix+ind]\r
+       set     6,[ix+ind]\r
+       set     7,[ix+ind]\r
+\r
+       in      b,(c)\r
+       out     (c),b\r
+       sbc     hl,bc\r
+       ld      (nn),bc\r
+       neg\r
+       retn\r
+       im      0\r
+       ld      i,a\r
+       in      c,(c)\r
+       out     (c),c\r
+       adc     hl,bc\r
+       ld      bc,(nn)\r
+       reti\r
+       ld      r,a\r
+       in      d,(c)\r
+       out     (c),d\r
+       sbc     hl,de\r
+       ld      (nn),de\r
+       im      1\r
+       ld      a,i\r
+       in      e,(c)\r
+       out     (c),e\r
+       adc     hl,de\r
+       ld      de,(nn)\r
+       im      2\r
+       ld      a,r\r
+       in      h,(c)\r
+       out     (c),h\r
+       sbc     hl,hl\r
+       defw    063Edh,nn;      LD (NN),HL (useless)\r
+       rrd\r
+       in      l,(c)\r
+       out     (c),l\r
+       adc     hl,hl\r
+       defw    06bedh,nn;      LD HL,(NN) (useless)\r
+       rld\r
+       in      (hl),(c)\r
+       out     (c),(hl)\r
+       sbc     hl,sp\r
+       ld      (nn),sp\r
+       in      a,(c)\r
+       out     (c),a\r
+       adc     hl,sp\r
+       ld      sp,(nn)\r
+       ldi\r
+       cpi\r
+       ini\r
+       outi\r
+       ldd\r
+       cpd\r
+       ind\r
+       outd\r
+       ldir\r
+       cpir\r
+       inir\r
+       otir\r
+       lddr\r
+       cpdr\r
+       indr\r
+       otdr\r
+\r
+       add     iy,bc\r
+       add     iy,de\r
+       ld      iy,nn\r
+       ld      (nn),iy\r
+       inc     iy\r
+       add     iy,iy\r
+       ld      iy,(nn)\r
+       dec     iy\r
+\r
+       inc     [iy+ind]\r
+       dec     [iy+ind]\r
+       ld      [iy+ind],n\r
+       add     iy,sp\r
+\r
+       ld      b,[iy+ind]\r
+       ld      c,[iy+ind]\r
+       ld      d,[iy+ind]\r
+       ld      e,[iy+ind]\r
+       ld      h,[iy+ind]\r
+       ld      l,[iy+ind]\r
+\r
+       ld      [iy+ind],b\r
+       ld      [iy+ind],c\r
+       ld      [iy+ind],d\r
+       ld      [iy+ind],e\r
+       ld      [iy+ind],h\r
+       ld      [iy+ind],l\r
+       ld      [iy+ind],a\r
+\r
+       ld      a,[iy+ind]\r
+\r
+       add     a,[iy+ind]\r
+       adc     a,[iy+ind]\r
+       sub     [iy+ind];               note 1\r
+       sbc     a,[iy+ind]\r
+       and     [iy+ind]\r
+       xor     [iy+ind]\r
+       or      [iy+ind]\r
+       cp      [iy+ind]\r
+\r
+       pop     iy\r
+       ex      (sp),iy\r
+       push    iy\r
+       jp      (iy)\r
+       ld      sp,iy\r
+\r
+       rlc     [iy+ind]\r
+       rrc     [iy+ind]\r
+       rl      [iy+ind]\r
+       rr      [iy+ind]\r
+       sla     [iy+ind]\r
+       sra     [iy+ind]\r
+;      sll     [iy+ind]\r
+       srl     [iy+ind]\r
+\r
+       bit     0,[iy+ind]\r
+       bit     1,[iy+ind]\r
+       bit     2,[iy+ind]\r
+       bit     3,[iy+ind]\r
+       bit     4,[iy+ind]\r
+       bit     5,[iy+ind]\r
+       bit     6,[iy+ind]\r
+       bit     7,[iy+ind]\r
+\r
+       res     0,[iy+ind]\r
+       res     1,[iy+ind]\r
+       res     2,[iy+ind]\r
+       res     3,[iy+ind]\r
+       res     4,[iy+ind]\r
+       res     5,[iy+ind]\r
+       res     6,[iy+ind]\r
+       res     7,[iy+ind]\r
+\r
+       set     0,[iy+ind]\r
+       set     1,[iy+ind]\r
+       set     2,[iy+ind]\r
+       set     3,[iy+ind]\r
+       set     4,[iy+ind]\r
+       set     5,[iy+ind]\r
+       set     6,[iy+ind]\r
+       set     7,[iy+ind]\r
+\r
+nn:    defs    2\r
+       end\r
+\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1a\1aPS
\ No newline at end of file