Annotation of nono/hd64180/instructions.txt, revision 1.1.1.1

1.1       root        1: ;
                      2: ; nono
                      3: ; Copyright (C) 2022 nono project
                      4: ; Licensed under nono-license.txt
                      5: ;
                      6: 
                      7: ; ビットパターンはこの定義順に展開するので、前の行を後の行で上書きする。
                      8: ; そのためより限定的なほうを後ろ(下)に記述すること。
                      9: ; それ以外は概ねソートすること。
                     10: ;
                     11: ; ビットパターン
                     12: ;      0, 1    … 0 または 1 固定のビット
                     13: ;      n       … 0 および 1 の両方に展開される
                     14: ;      rrr,sss … レジスタ (B,C,D,E,H,L,A) に展開 (%110=(HL) は除く)
                     15: ;                  ixr,ixs なら B,C,D,E, IXH, IXL, A に展開
                     16: ;      ww      … レジスタ BC,DE,HL,SP に展開
                     17: ;      zz      … レジスタ BC,DE,HL,AF に展開
                     18: ;      fff     … 条件に展開
                     19: ;      bbb     … ビット番号 0-7 に展開
                     20: ;
                     21: ; CPU
                     22: ;      0               … Z80 (not supported, reference only)
                     23: ;      1               … HD64*180
                     24: ;      R               … R800 (not supported, reference only)
                     25: 
                     26: ; ここだけ紛らわしいので注意。
                     27: ;    00100010 LD (nn),HL
                     28: ; DD:00100010 LD (nn),IX/IY
                     29: ; ED:01ww0011 LD (nn),ww (ww = BC,DE,HL,SP)
                     30: ; と
                     31: ;    00101010 LD HL,(nn)
                     32: ; DD:00101010 LD IX/IY,(nn)
                     33: ; ED:01ww1011 LD ww,(nn) (ww = BC,DE,HL,SP)
                     34: 
                     35: ; パターン         CPU             関数名               表示名
                     36: 00ww0001               01R             ld_ww_nn        LD ww,nn
                     37: 00ww0010               01R             ld_wwin_a       LD (ww),A
                     38: 00ww0011               01R             inc_ww          INC ww
                     39: 00rrr100               01R             inc_r           INC r
                     40: 00110100               01R             inc_hlin        INC (HL)
                     41: 00rrr101               01R             dec_r           DEC r
                     42: 00110101               01R             dec_hlin        DEC (HL)
                     43: 00rrr110               01R             ld_r_n          LD r,n
                     44: 00110110               01R             ld_hlin_n       LD (HL),n
                     45: 00ww1001               01R             add_hl_ww       ADD HL,ww
                     46: 00ww1010               01R             ld_a_wwin       LD A,(ww)
                     47: 00ww1011               01R             dec_ww          DEC ww
                     48: 
                     49: 00000000               01R             nop
                     50: 00000111               01R             rlca
                     51: 00001000               01R             ex_af_af        EX AF,AF'
                     52: 00001111               01R             rrca
                     53: 
                     54: 00010000               01R             djnz            DJNZ n
                     55: 00010111               01R             rla
                     56: 00011000               01R             jr                      JR n
                     57: 00011111               01R             rra
                     58: 
                     59: 00100000               01R             jr_nz           JR NZ,n
                     60: 00100010               01R             ld_nnin_hl      LD (nn),HL
                     61: 00100111               01R             daa
                     62: 00101000               01R             jr_z            JR Z,n
                     63: 00101010               01R             ld_hl_nnin      LD HL,(nn)
                     64: 00101111               01R             cpl
                     65: 
                     66: 00110000               01R             jr_nc           JR NC,n
                     67: 00110010               01R             ld_nnin_a       LD (nn),A
                     68: 00110111               01R             scf
                     69: 00111000               01R             jr_c            JR C,n
                     70: 00111010               01R             ld_a_nnin       LD A,(nn)
                     71: 00111111               01R             ccf
                     72: 
                     73: 01rrrsss               01R             ld_r_s          LD r,s
                     74: 01110sss               01R             ld_hlin_s       LD (HL),s
                     75: 01rrr110               01R             ld_r_hlin       LD r,(HL)
                     76: 01110110               01R             halt
                     77: 
                     78: 10000rrr               01R             add_a_r         ADD A,r
                     79: 10000110               01R             add_a_hlin      ADD A,(HL)
                     80: 10001rrr               01R             adc_a_r         ADC A,r
                     81: 10001110               01R             adc_a_hlin      ADC A,(HL)
                     82: 10010rrr               01R             sub_r           SUB r
                     83: 10010110               01R             sub_hlin        SUB (HL)
                     84: 10011rrr               01R             sbc_a_r         SBC A,r
                     85: 10011110               01R             sbc_a_hlin      SBC A,(HL)
                     86: 10100rrr               01R             and_r           AND r
                     87: 10100110               01R             and_hlin        AND (HL)
                     88: 10101rrr               01R             xor_r           XOR r
                     89: 10101110               01R             xor_hlin        XOR (HL)
                     90: 10110rrr               01R             or_r            OR r
                     91: 10110110               01R             or_hlin         OR (HL)
                     92: 10111rrr               01R             cp_r            CP r
                     93: 10111110               01R             cp_hlin         CP (HL)
                     94: 
                     95: 11fff000               01R             ret_f           RET f
                     96: 11zz0001               01R             pop_zz          POP zz
                     97: 11110001               01R             pop_af          POP AF
                     98: 11fff010               01R             jp_f_nn         JP f,nn
                     99: 11fff100               01R             call_f_nn       CALL f,nn
                    100: 11zz0101               01R             push_zz         PUSH zz
                    101: 11110101               01R             push_af         PUSH AF
                    102: 11vvv111               01R             rst                     RST v
                    103: 
                    104: 11000011               01R             jp_nn           JP nn
                    105: 11000110               01R             add_a_n         ADD A,n
                    106: 11001001               01R             ret
                    107: 11001011               01R             cb                      op_CB
                    108: 11001101               01R             call            CALL nn
                    109: 11001110               01R             adc_a_n         ADC A,n
                    110: 
                    111: 11010011               01R             out_n_a         OUT (n),A
                    112: 11010110               01R             sub_n           SUB n
                    113: 11011001               01R             exx
                    114: 11011011               01R             in_a_n          IN A,(n)
                    115: 11011101               01R             dd                      op_DD
                    116: 11011110               01R             sbc_a_n         SBC A,n
                    117: 
                    118: 11100011               01R             ex_sp_hl        EX (SP),HL
                    119: 11100110               01R             and_n           AND n
                    120: 11101001               01R             jp_hl           JP (HL)
                    121: 11101011               01R             ex_de_hl        EX DE,HL
                    122: 11101101               01R             ed                      op_ED
                    123: 11101110               01R             xor_n           XOR n
                    124: 
                    125: 11110011               01R             di
                    126: 11110110               01R             or_n            OR n
                    127: 11111001               01R             ld_sp_hl        LD SP,HL
                    128: 11111011               01R             ei
                    129: 11111101               01R             fd                      op_FD
                    130: 11111110               01R             cp_n            CP n
                    131: 
                    132: 
                    133: CB:00000rrr            01R             rlc_r           RLC r
                    134: CB:00000110            01R             rlc_hlin        RLC (HL)
                    135: CB:00001rrr            01R             rrc_r           RRC r
                    136: CB:00001110            01R             rrc_hlin        RRC (HL)
                    137: CB:00010rrr            01R             rl_r            RL r
                    138: CB:00010110            01R             rl_hlin         RL (HL)
                    139: CB:00011rrr            01R             rr_r            RR r
                    140: CB:00011110            01R             rr_hlin         RR (HL)
                    141: CB:00100rrr            01R             sla_r           SLA r
                    142: CB:00100110            01R             sla_hlin        SLA (HL)
                    143: CB:00101rrr            01R             sra_r           SRA r
                    144: CB:00101110            01R             sra_hlin        SRA (HL)
                    145: CB:00111rrr            01R             srl_r           SRL r
                    146: CB:00111110            01R             srl_hlin        SRL (HL)
                    147: CB:01bbbrrr            01R             bit_r           BIT b,r
                    148: CB:01bbb110            01R             bit_hlin        BIT b,(HL)
                    149: CB:10bbbrrr            01R             res_r           RES b,r
                    150: CB:10bbb110            01R             res_hlin        RES b,(HL)
                    151: CB:11bbbrrr            01R             set_r           SET b,r
                    152: CB:11bbb110            01R             set_hlin        SET b,(HL)
                    153: 
                    154: 
                    155: ED:00rrr000            -1-             in0_r_n         IN0 r,(n)
                    156: ED:00110000            -1-             in0_f_n         IN0 F,(n)
                    157: ED:00rrr001            -1-             out0_n_r        OUT0 (n),r
                    158: ED:00rrr100            -1-             tst_r           TST r
                    159: ED:00110100            -1-             tst_hlin        TST (HL)
                    160: 
                    161: ED:01rrr000            01R             in_r_c          IN r,(C)
                    162: ED:01110000            01R             in_f_c          IN F,(C)
                    163: ED:01rrr001            01R             out_c_r         OUT (C),r
                    164: ED:01ww0010            01R             sbc_hl_ww       SBC HL,ww
                    165: ED:01ww0011            01R             ld_nnin_ww      LD (nn),ww
                    166: ED:01ww1010            01R             adc_hl_ww       ADC HL,ww
                    167: ED:01ww1011            01R             ld_ww_nnin      LD ww,(nn)
                    168: ED:01ww1100            -1-             mlt                     MLT ww
                    169: 
                    170: ED:01000100            01R             neg
                    171: ED:01000101            01R             retn
                    172: ED:01000110            01R             im_0            IM 0
                    173: ED:01000111            01R             ld_i_a          LD I,A
                    174: ED:01001101            01R             reti
                    175: ED:01001111            01R             ld_r_a          LD R,A
                    176: 
                    177: ED:01010110            01R             im_1            IM 1
                    178: ED:01010111            01R             ld_a_i          LD A,I
                    179: ED:01011110            01R             im_2            IM 2
                    180: ED:01011111            01R             ld_a_r          LD A,R
                    181: 
                    182: ED:01100100            -1-             tst_n           TST n
                    183: ED:01100111            01R             rrd
                    184: ED:01101111            01R             rld
                    185: 
                    186: ED:01110100            -1-             tstio_n         TSTIO n
                    187: ED:01110110            -1-             slp
                    188: 
                    189: ED:10000011            -1-             otim
                    190: ED:10001011            -1-             otdm
                    191: ED:10010011            -1-             otimr
                    192: ED:10011011            -1-             otdmr
                    193: 
                    194: ED:10100000            01R             ldi
                    195: ED:10100001            01R             cpi
                    196: ED:10100010            01R             ini
                    197: ED:10100011            01R             outi
                    198: ED:10101000            01R             ldd
                    199: ED:10101001            01R             cpd
                    200: ED:10101010            01R             ind
                    201: ED:10101011            01R             outd
                    202: 
                    203: ED:10110000            01R             ldir
                    204: ED:10110001            01R             cpir
                    205: ED:10110010            01R             inir
                    206: ED:10110011            01R             otir
                    207: ED:10111000            01R             lddr
                    208: ED:10111001            01R             cpdr
                    209: ED:10111010            01R             indr
                    210: ED:10111011            01R             otdr
                    211: 
                    212: ED:11rrr001            --R             mulub_a_r       MULUB A,r
                    213: ED:11000011            --R             mulub_hl_bc     MULUB HL,BC
                    214: ED:11110011            --R             mulub_hl_sp     MULUB HL,SP
                    215: 
                    216: ED:11111111            -1-             syscall         SYSCALL         ; MSXDOS エミュレーション
                    217: 
                    218: 
                    219: DD:00ww1001            01R             add_hl_ww       ADD IX,ww
                    220: DD:00100001            01R             ld_ww_nn        LD IX,nn
                    221: DD:00100010            01R             ld_nnin_hl      LD (nn),IX
                    222: DD:00100011            01R             inc_ww          INC IX
                    223: DD:00101010            01R             ld_hl_nnin      LD IX,(nn)
                    224: DD:00101011            01R             dec_ww          DEC IX
                    225: DD:00rrr100            0-R             inc_ixr         INC ixr
                    226: DD:00110100            01R             inc_hlin        INC (IX+d)
                    227: DD:00rrr101            0-R             dec_ixr         DEC ixr
                    228: DD:00110101            01R             dec_hlin        DEC (IX+d)
                    229: DD:00110110            01R             ld_hlin_n       LD (IX+d),n
                    230: DD:01rrr110            01R             ld_r_hlin       LD r,(IX+d)
                    231: DD:01110sss            01R             ld_hlin_s       LD (IX+d),s
                    232: DD:01rrrsss            0-R             ld_r_ixs        LD r,ixs
                    233: DD:10000rrr            0-R             add_a_ixr       ADD A,ixr
                    234: DD:10000110            01R             add_a_hlin      ADD A,(IX+d)
                    235: DD:10001rrr            0-R             adc_a_ixr       ADC A,ixr
                    236: DD:10001110            01R             adc_a_hlin      ADC A,(IX+d)
                    237: DD:10010rrr            0-R             sub_ixr         SUB ixr
                    238: DD:10010110            01R             sub_hlin        SUB (IX+d)
                    239: DD:10011rrr            0-R             sbc_a_ixr       SBC A,ixr
                    240: DD:10011110            01R             sbc_a_hlin      SBC A,(IX+d)
                    241: DD:10100rrr            0-R             and_ixr         AND ixr
                    242: DD:10100110            01R             and_hlin        AND (IX+d)
                    243: DD:10101rrr            0-R             xor_ixr         XOR ixr
                    244: DD:10101110            01R             xor_hlin        XOR (IX+d)
                    245: DD:10110rrr            0-R             or_ixr          OR ixr
                    246: DD:10110110            01R             or_hlin         OR (IX+d)
                    247: DD:10111rrr            0-R             cp_ixr          CP ixr
                    248: DD:10111110            01R             cp_hlin         CP (IX+d)
                    249: DD:11001011            01R             dd_cb           op_DD_CB
                    250: DD:11100001            01R             pop_zz          POP IX
                    251: DD:11100011            01R             ex_sp_hl        EX (SP),IX
                    252: DD:11100101            01R             push_zz         PUSH IX
                    253: DD:11101001            01R             jp_hl           JP (IX)
                    254: DD:11111001            01R             ld_sp_hl        LD SP,IX
                    255: DD_CB:00000110 01R             rlc_hlin        RLC (IX+d)
                    256: DD_CB:00001110 01R             rrc_hlin        RRC (IX+d)
                    257: DD_CB:00010110 01R             rl_hlin         RL (IX+d)
                    258: DD_CB:00011110 01R             rr_hlin         RR (IX+d)
                    259: DD_CB:00100110 01R             sla_hlin        SLA (IX+d)
                    260: DD_CB:00101110 01R             sra_hlin        SRA (IX+d)
                    261: DD_CB:00111110 01R             srl_hlin        SRL (IX+d)
                    262: DD_CB:01bbb110 01R             bit_hlin        BIT b,(IX+d)
                    263: DD_CB:10bbb110 01R             res_hlin        RES b,(IX+d)
                    264: DD_CB:11bbb110 01R             set_hlin        SET b,(IX+d)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.