dw p_cc\r
db 0c7h,0c7h,o_RST ;rst\r
dw p_arg_rst\r
- db 0cfh,0c1h,o_POP ;pop rr\r
+ db 0cfh,0c1h,o_POP ;pop rp2\r
dw p_rp2\r
- db 0cfh,0c5h,o_PUSH ;push rr\r
+ db 0cfh,0c5h,o_PUSH ;push rp2\r
dw p_rp2\r
db 0ffh,0e3h,o_EX ;ex (sp),hl\r
dw l1ca0h\r
dw p_arg_ex_dehl\r
db 0ffh,0f9h,o_LD ;ld sp,hl\r
dw l1cc1h\r
- db 0cfh,003h,o_INC ;inc rr\r
+ db 0cfh,003h,o_INC ;inc rp\r
dw p_rp\r
- db 0cfh,00bh,o_DEC ;dec rr\r
+ db 0cfh,00bh,o_DEC ;dec rp\r
dw p_rp\r
- db 0c7h,004h,o_INC ;inc r\r
+ db 0c7h,004h,o_INC ;inc r[y]\r
dw p_ry\r
- db 0c7h,005h,o_DEC ;dec r\r
+ db 0c7h,005h,o_DEC ;dec r[y]\r
dw p_ry\r
db 0ffh,008h,o_EX ;ex af,af'\r
dw p_arg_ex_afaf\r
- db 0cfh,009h,o_ADD ;add hl,rr\r
- dw l1cd3h\r
- db 0efh,002h,o_LD ;ld (rr),a ;rr=bc,de\r
+ db 0cfh,009h,o_ADD ;add hl,rp\r
+ dw l1dcah\r
+ db 0efh,002h,o_LD ;ld (rp),a ;rp=bc,de\r
dw l1cdch\r
- db 0efh,00ah,o_LD ;ld a,(rr) ;rr=bc,de\r
+ db 0efh,00ah,o_LD ;ld a,(rp) ;rp=bc,de\r
dw l1ce5h\r
db 0\r
\r
; 2 byte opdodes\r
b_1b54_start:\r
- db 0c7h,006h,o_LD ;ld r,nn\r
+ db 0c7h,006h,o_LD ;ld r[y],nn\r
dw l1cfah\r
db 0ffh,0c6h,o_ADD ;add a,nn\r
dw l1cf5h\r
db 0ffh ;<end mark>\r
\r
b_1bf4_start:\r
- db 0ffh,070h,0ffh ;in (c) ;\r
- dw p_arg_in_c ;\r
+ db 0ffh,070h,o_IN ;in (c) ;\r
+ dw p_arg_in_c_0 ;\r
db 0c7h,040h,o_IN ;in r,(c) ;r=b,c,d,e,h,l,a\r
dw p_arg_in_c ;\r
db 0ffh,071h,0ffh ;out (c),0 ;\r
dw p_arg_out_c ;\r
db 0c7h,041h,o_OUT ;out (c),r ;r=b,c,d,e,h,l,a\r
dw p_arg_out_c ;\r
- db 0cfh,042h,o_SBC ;sbc hl,rr\r
+ db 0cfh,042h,o_SBC ;sbc hl,rp\r
dw l1dcah ;\r
- db 0cfh,04ah,o_ADC ;adc hl,rr\r
+ db 0cfh,04ah,o_ADC ;adc hl,rp\r
dw l1dcah ;\r
db 0ffh,046h,o_IM ;im 0\r
dw l1d85h ;\r
DC 'AF,AF'''\r
ret\r
\r
-l1cd3h:\r
- call p_arg_hlixiy\r
- call p_char_comma\r
- jp p_rp\r
l1cdch:\r
call sub_1ce8h\r
call p_char_comma\r
p_arg_in_c:\r
call p_ry\r
call p_char_comma\r
+p_arg_in_c_0:\r
ld hl,t__C_\r
jp pstr\r
\r
jr p_char_rparen\r
\r
p_arg_bitop:\r
- ld a,(isprefix_ixiy)\r
- and a\r
- jr nz,l1defh\r
- ld a,(iy+001h)\r
- jr l1df2h\r
-l1defh:\r
- ld a,(iy+002h)\r
-l1df2h:\r
+ call get_cb_opc\r
push af\r
rra\r
rra\r
rra\r
and 007h\r
- add a,'0'\r
- call outchar\r
+; add a,'0'\r
+; call outchar\r
+ call out_dgt\r
call p_char_comma\r
pop af\r
jr p_r0\r
\r
p_rz_cb:\r
+ call get_cb_opc\r
+ jr p_r0\r
+\r
+get_cb_opc:\r
ld a,(isprefix_ixiy)\r
and a\r
- jr nz,l1e0eh\r
ld a,(iy+001h)\r
- jr l1e11h\r
-l1e0eh:\r
+ ret z\r
ld a,(iy+002h)\r
-l1e11h:\r
- jr p_r0\r
+ ret\r
\r
p_ry:\r
ld a,(iy+000h)\r
t_argf:\r
db fi_ry,',',fi_rz,0 ;ld r[y],r[z]\r
db 'A,',fi_rz,0 ;op A,r[z]\r
- db fi_ry,',(',fi_m8,')',0 ;in a,(m8)\r
- db '(',fi_m8,'),',fi_ry,0 ;out (m8),a\r
- db fi_rst,0\r
- db '(SP),',fi_hlixiy,0 ;\r
+ db fi_rz,0 ;op r[z]\r
+ db fi_ccy,0 ;op cc[y]\r
+ db fi_rst,0 ;\r
+ db fi_rp2,0 ;rp2[p]\r
+ db '(SP),',fi_hlixiy,0 ;ex (sp),hl\r
+ db fi_hlixiy,0 ;jp (hl)\r
db 'DE,HL',0\r
- db 'AF,AF''',0\r
- db fi_hlixiy,0\r
- db fi_rp ;rp[p]\r
- db fi_rp2 ;rp2[p]\r
+ db 'SP,',fi_hlixiy,0 ;ld SP,HL\r
+ db fi_rp,0 ;rp[p]\r
+ db fi_ry,0 ;inc r[y]\r
+ db 'AF,AF''',0 ;ex af,af'\r
+ db fi_hlixiy,fi_rp,0 ;add hl,rp\r
+ db '(',fi_rp,'),A',0 ;ld (rp),a ;rp=bc,de\r
+ db 'A,(',fi_rp,')',0 ;ld a,(rp) ;rp=bc,de\r
+\r
+ db fi_ry,fi_n,0 ;ld r[y],n\r
+ db 'A,',fi_n,0 ;op a,n\r
+ db fi_n,0 ;op n\r
+ db fi_j,0 ;jr j\r
+ db fi_ccy2,fi_j,0 ;jr cc,j ;cc = nz,z,nc,c\r
+ db '(',fi_n,'),',fi_ry,0 ;out (n),a\r
+ db fi_ry,',(',fi_n,')',0 ;in a,(n)\r
+\r
+ db fi_ccy,fi_nn,0 ;op cc[y],nn\r
+ db fi_rp,fi_nn,0 ;ld rp[p],nn\r
+ db fi_nn,0 ;jp nn\r
+ db '(',fi_nn,'),',fi_hlixiy,0 ;ld (nn),hl\r
+ db fi_hlixiy,',(',fi_nn,')',0 ;ld hl,(nn)\r
+ db '(',fi_nn,'),A',0 ;ld (nn),a\r
+ db 'A,(',fi_nn,')',0 ;ld a,(nn)\r
+\r
+ db fi_ry,'(C)',0 ;in r[y],(c)\r
+ db '(C)',0 ;in (c)\r
+ db '(C)',fi_ry,0 ;out (c),r[y]\r
+ db '0',0 ;im 0\r
+ db '1',0 ;im 1\r
+ db '2',0 ;im 2\r
+ db fi_ir,0 ;ld a,i ... r,a\r
+\r
+ db fi_ry,'(',fi_n,')',0 ;in0 r[y],(n)\r
+ db '(',fi_n,')',0 ;in0 (n)\r
+ db '(',fi_n,')',fi_ry,0 ;out0 (n),r[y]\r
+\r
+ db '(',fi_nn,'),',fi_rp,0 ;ld (nn),rp\r
+ db fi_rp,',(',fi_nn,')',0 ;ld rp,(nn)\r
+\r
+ db fi_rz_cb,0 ;op r[z]\r
+ db fi_y,',',fi_rz_cb,0 ;op y,r[z]\r
+\r
\r
;-------------------------------------------------------------------------------\r
\r