|
|
nono 1.5.0
; ; nono ; Copyright (C) 2022 nono project ; Licensed under nono-license.txt ; ; ビットパターンはこの定義順に展開するので、前の行を後の行で上書きする。 ; そのためより限定的なほうを後ろ(下)に記述すること。 ; それ以外は概ねソートすること。 ; ; ビットパターン ; 0, 1 … 0 または 1 固定のビット ; n … 0 および 1 の両方に展開される ; rrr,sss … レジスタ (B,C,D,E,H,L,A) に展開 (%110=(HL) は除く) ; ixr,ixs なら B,C,D,E, IXH, IXL, A に展開 ; ww … レジスタ BC,DE,HL,SP に展開 ; zz … レジスタ BC,DE,HL,AF に展開 ; fff … 条件に展開 ; bbb … ビット番号 0-7 に展開 ; ; CPU 欄 ; 0.. … Z80 (not supported, reference only) ; Z.. … Z80 非公式命令 (not supported, reference only, R800 は未調査) ; .1. … HD64*180 ; .N. … nono による拡張 ; ..R … R800 (not supported, reference only) ; ここだけ紛らわしいので注意。 ; 00100010 LD (nn),HL ; DD:00100010 LD (nn),IX/IY ; ED:01ww0011 LD (nn),ww (ww = BC,DE,HL,SP) ; と ; 00101010 LD HL,(nn) ; DD:00101010 LD IX/IY,(nn) ; ED:01ww1011 LD ww,(nn) (ww = BC,DE,HL,SP) ; パターン CPU 関数名 表示名 00ww0001 01R ld_ww_nn LD ww,nn 00ww0010 01R ld_wwin_a LD (ww),A 00ww0011 01R inc_ww INC ww 00rrr100 01R inc_r INC r 00110100 01R inc_hlin INC (HL) 00rrr101 01R dec_r DEC r 00110101 01R dec_hlin DEC (HL) 00rrr110 01R ld_r_n LD r,n 00110110 01R ld_hlin_n LD (HL),n 00ww1001 01R add_hl_ww ADD HL,ww 00ww1010 01R ld_a_wwin LD A,(ww) 00ww1011 01R dec_ww DEC ww 00000000 01R nop 00000111 01R rlca 00001000 01R ex_af_af EX AF,AF' 00001111 01R rrca 00010000 01R djnz DJNZ n 00010111 01R rla 00011000 01R jr JR n 00011111 01R rra 00100000 01R jr_nz JR NZ,n 00100010 01R ld_nnin_hl LD (nn),HL 00100111 01R daa 00101000 01R jr_z JR Z,n 00101010 01R ld_hl_nnin LD HL,(nn) 00101111 01R cpl 00110000 01R jr_nc JR NC,n 00110010 01R ld_nnin_a LD (nn),A 00110111 01R scf 00111000 01R jr_c JR C,n 00111010 01R ld_a_nnin LD A,(nn) 00111111 01R ccf 01rrrsss 01R ld_r_s LD r,s 01110sss 01R ld_hlin_s LD (HL),s 01rrr110 01R ld_r_hlin LD r,(HL) 01110110 01R halt 10000rrr 01R add_a_r ADD A,r 10000110 01R add_a_hlin ADD A,(HL) 10001rrr 01R adc_a_r ADC A,r 10001110 01R adc_a_hlin ADC A,(HL) 10010rrr 01R sub_r SUB r 10010110 01R sub_hlin SUB (HL) 10011rrr 01R sbc_a_r SBC A,r 10011110 01R sbc_a_hlin SBC A,(HL) 10100rrr 01R and_r AND r 10100110 01R and_hlin AND (HL) 10101rrr 01R xor_r XOR r 10101110 01R xor_hlin XOR (HL) 10110rrr 01R or_r OR r 10110110 01R or_hlin OR (HL) 10111rrr 01R cp_r CP r 10111110 01R cp_hlin CP (HL) 11fff000 01R ret_f RET f 11zz0001 01R pop_zz POP zz 11110001 01R pop_af POP AF 11fff010 01R jp_f_nn JP f,nn 11fff100 01R call_f_nn CALL f,nn 11zz0101 01R push_zz PUSH zz 11110101 01R push_af PUSH AF 11vvv111 01R rst RST v 11000011 01R jp_nn JP nn 11000110 01R add_a_n ADD A,n 11001001 01R ret 11001011 01R cb op_CB 11001101 01R call CALL nn 11001110 01R adc_a_n ADC A,n 11010011 01R out_n_a OUT (n),A 11010110 01R sub_n SUB n 11011001 01R exx 11011011 01R in_a_n IN A,(n) 11011101 01R dd op_DD 11011110 01R sbc_a_n SBC A,n 11100011 01R ex_sp_hl EX (SP),HL 11100110 01R and_n AND n 11101001 01R jp_hl JP (HL) 11101011 01R ex_de_hl EX DE,HL 11101101 01R ed op_ED 11101110 01R xor_n XOR n 11110011 01R di 11110110 01R or_n OR n 11111001 01R ld_sp_hl LD SP,HL 11111011 01R ei 11111101 01R fd op_FD 11111110 01R cp_n CP n CB:00000rrr 01R rlc_r RLC r CB:00000110 01R rlc_hlin RLC (HL) CB:00001rrr 01R rrc_r RRC r CB:00001110 01R rrc_hlin RRC (HL) CB:00010rrr 01R rl_r RL r CB:00010110 01R rl_hlin RL (HL) CB:00011rrr 01R rr_r RR r CB:00011110 01R rr_hlin RR (HL) CB:00100rrr 01R sla_r SLA r CB:00100110 01R sla_hlin SLA (HL) CB:00101rrr 01R sra_r SRA r CB:00101110 01R sra_hlin SRA (HL) CB:00110rrr Z-- sll_r SLL r CB:00110110 Z-- sll_hlin SLL (HL) CB:00111rrr 01R srl_r SRL r CB:00111110 01R srl_hlin SRL (HL) CB:01bbbrrr 01R bit_r BIT b,r CB:01bbb110 01R bit_hlin BIT b,(HL) CB:10bbbrrr 01R res_r RES b,r CB:10bbb110 01R res_hlin RES b,(HL) CB:11bbbrrr 01R set_r SET b,r CB:11bbb110 01R set_hlin SET b,(HL) ED:00rrr000 -1- in0_r_n IN0 r,(n) ED:00110000 -1- in0_f_n IN0 F,(n) ED:00rrr001 -1- out0_n_r OUT0 (n),r ED:00rrr100 -1- tst_r TST r ED:00110100 -1- tst_hlin TST (HL) ED:01rrr000 01R in_r_c IN r,(C) ED:01110000 01R in_f_c IN F,(C) ED:01rrr001 01R out_c_r OUT (C),r ED:01ww0010 01R sbc_hl_ww SBC HL,ww ED:01ww0011 01R ld_nnin_ww LD (nn),ww ED:01ww1010 01R adc_hl_ww ADC HL,ww ED:01ww1011 01R ld_ww_nnin LD ww,(nn) ED:01ww1100 -1- mlt MLT ww ED:01000100 01R neg ED:01000101 01R retn ED:01000110 01R im_0 IM 0 ED:01000111 01R ld_i_a LD I,A ED:01001101 01R reti ED:01001111 01R ld_r_a LD R,A ED:01010110 01R im_1 IM 1 ED:01010111 01R ld_a_i LD A,I ED:01011110 01R im_2 IM 2 ED:01011111 01R ld_a_r LD A,R ED:01100100 -1- tst_n TST n ED:01100111 01R rrd ED:01101111 01R rld ED:01110100 -1- tstio_n TSTIO n ED:01110110 -1- slp ED:10000011 -1- otim ED:10001011 -1- otdm ED:10010011 -1- otimr ED:10011011 -1- otdmr ED:10100000 01R ldi ED:10100001 01R cpi ED:10100010 01R ini ED:10100011 01R outi ED:10101000 01R ldd ED:10101001 01R cpd ED:10101010 01R ind ED:10101011 01R outd ED:10110000 01R ldir ED:10110001 01R cpir ED:10110010 01R inir ED:10110011 01R otir ED:10111000 01R lddr ED:10111001 01R cpdr ED:10111010 01R indr ED:10111011 01R otdr ED:11rrr001 --R mulub_a_r MULUB A,r ED:11000011 --R mulub_hl_bc MULUB HL,BC ED:11110011 --R mulub_hl_sp MULUB HL,SP ED:11111111 -N- syscall SYSCALL ; MSXDOS エミュレーション DD:00ww1001 01R add_hl_ww ADD IX,ww DD:00100001 01R ld_ww_nn LD IX,nn DD:00100010 01R ld_nnin_hl LD (nn),IX DD:00100011 01R inc_ww INC IX DD:00101010 01R ld_hl_nnin LD IX,(nn) DD:00101011 01R dec_ww DEC IX DD:00rrr100 Z-Z inc_ixr INC ixr DD:00110100 01R inc_hlin INC (IX+d) DD:00rrr101 Z-Z dec_ixr DEC ixr DD:00110101 01R dec_hlin DEC (IX+d) DD:00rrr110 Z-Z ld_ixr_n LD ixr,n DD:00110110 01R ld_hlin_n LD (IX+d),n DD:01rrr110 01R ld_r_hlin LD r,(IX+d) DD:01110sss 01R ld_hlin_s LD (IX+d),s DD:01rrrsss Z-Z ld_r_ixs LD r,ixs DD:10000rrr Z-Z add_a_ixr ADD A,ixr DD:10000110 01R add_a_hlin ADD A,(IX+d) DD:10001rrr Z-Z adc_a_ixr ADC A,ixr DD:10001110 01R adc_a_hlin ADC A,(IX+d) DD:10010rrr Z-Z sub_ixr SUB ixr DD:10010110 01R sub_hlin SUB (IX+d) DD:10011rrr Z-Z sbc_a_ixr SBC A,ixr DD:10011110 01R sbc_a_hlin SBC A,(IX+d) DD:10100rrr Z-Z and_ixr AND ixr DD:10100110 01R and_hlin AND (IX+d) DD:10101rrr Z-Z xor_ixr XOR ixr DD:10101110 01R xor_hlin XOR (IX+d) DD:10110rrr Z-Z or_ixr OR ixr DD:10110110 01R or_hlin OR (IX+d) DD:10111rrr Z-Z cp_ixr CP ixr DD:10111110 01R cp_hlin CP (IX+d) DD:11001011 01R dd_cb op_DD_CB DD:11100001 01R pop_zz POP IX DD:11100011 01R ex_sp_hl EX (SP),IX DD:11100101 01R push_zz PUSH IX DD:11101001 01R jp_hl JP (IX) DD:11111001 01R ld_sp_hl LD SP,IX DD_CB:00000110 01R rlc_hlin RLC (IX+d) DD_CB:00001110 01R rrc_hlin RRC (IX+d) DD_CB:00010110 01R rl_hlin RL (IX+d) DD_CB:00011110 01R rr_hlin RR (IX+d) DD_CB:00100110 01R sla_hlin SLA (IX+d) DD_CB:00101110 01R sra_hlin SRA (IX+d) DD_CB:00110110 Z-- sll_hlin SLL (IX+d) DD_CB:00111110 01R srl_hlin SRL (IX+d) DD_CB:01bbb110 01R bit_hlin BIT b,(IX+d) DD_CB:10bbb110 01R res_hlin RES b,(IX+d) DD_CB:11bbb110 01R set_hlin SET b,(IX+d)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.