exe_hl:\r
call CALL_HL ;010a cd 0f 01 . . .\r
jr mainloop ;010d 18 ae . .\r
-CALL_HL:\r
- jp (hl) ;010f e9 .\r
\r
CMDTAB:\r
defw cmd_@ ;0110 92 0d . .\r
ld de,conbuf+1 ;015a 11 6b 00 . k .\r
ld a,(de) ;015d 1a .\r
ld b,a ;015e 47 G\r
- ld c,000h ;015f 0e 00 . .\r
+ ld c,0 ;015f 0e 00 . .\r
inc b ;0161 04 .\r
l0162h:\r
inc de ;0162 13 .\r
ex af,af' ;0257 08 .\r
jr c,l022dh ;0258 38 d3 8 .\r
ret ;025a c9 .\r
+\r
outquote:\r
ld a,'''' ;025b 3e 27 > '\r
outchar:\r
pop hl ;0286 e1 .\r
ret ;0287 c9 .\r
pstr:\r
- ld c,000h ;0288 0e 00 . .\r
+ ld c,0 ;0288 0e 00 . .\r
l028ah:\r
ld a,(hl) ;028a 7e ~\r
and a ;028b a7 .\r
and a ;033a a7 .\r
pop bc ;033b c1 .\r
ret ;033c c9 .\r
-sub_033dh:\r
+\r
+sel_dc_string:\r
inc b ;033d 04 .\r
l033eh:\r
dec b ;033e 05 .\r
ret z ;033f c8 .\r
call sub_0345h ;0340 cd 45 03 . E .\r
jr l033eh ;0343 18 f9 . .\r
+\r
sub_0345h:\r
ld a,(hl) ;0345 7e ~\r
and a ;0346 a7 .\r
and a ;034a a7 .\r
ret m ;034b f8 .\r
jr l0348h ;034c 18 fa . .\r
+\r
sub_034eh:\r
call get_arg_range ;034e cd 7d 03 . } .\r
push hl ;0351 e5 .\r
push bc ;0437 c5 .\r
call do_factor ;0438 cd e4 04 . . .\r
pop bc ;043b c1 .\r
- ex de,hl ;043c eb .\r
- ex (sp),hl ;043d e3 .\r
+ ex de,hl ;043c eb .\r
+ ex (sp),hl ;043d e3 .\r
jr nc,l0447h ;043e 30 07 0 .\r
pop de ;0440 d1 .\r
ld a,b ;0441 78 x\r
jp z,ERROR ;0c08 ca 07 01 . . .\r
ex de,hl ;0c0b eb .\r
ld hl,b_0cc3_start ;0c0c 21 c3 0c ! . .\r
- call sub_033dh ;0c0f cd 3d 03 . = .\r
+ call sel_dc_string ;0c0f cd 3d 03 . = .\r
l0c12h:\r
call l0c33h ;0c12 cd 33 0c . 3 .\r
l0c15h:\r
ld b,(hl) ;1285 46 F\r
ex de,hl ;1286 eb .\r
pop de ;1287 d1 .\r
+\r
+CALL_HL:\r
jp (hl) ;1288 e9 .\r
\r
b_1289_start:\r
scf ;19bf 37 7\r
ret ;19c0 c9 .\r
\r
-; TODO:\r
- nop ;jp (hl) ;19c1 e9 .\r
-\r
disas_pfx.DDFD:\r
inc iy ;19c2 fd 23 . #\r
ld hl,b_19ef_start ;19c4 21 ef 19 ! . .\r
db 0f8h,0b8h,013h ;\r
dw l1e30h\r
db 0c7h,0c0h,08bh ;ret cc\r
- dw l1e9dh\r
+ dw prnt_arg_cc\r
db 0c7h,0c7h,0b4h ;rst\r
dw l1c98h\r
db 0ffh,0c9h,08bh ;ret\r
dw l1c97h\r
db 0cfh,0c1h,081h ;pop rr\r
- dw l1e86h\r
+ dw prnt_arg_zz\r
db 0cfh,0c5h,084h ;push rr\r
- dw l1e86h\r
+ dw prnt_arg_zz\r
db 0ffh,0e3h,034h ;ex (sp),hl\r
dw l1ca0h\r
db 0ffh,0e9h,052h ;jp (hl)\r
db 0ffh,0f9h,056h ;ld sp,hl\r
dw l1cc1h\r
db 0cfh,003h,041h ;inc rr\r
- dw l1e8bh\r
+ dw prnt_arg_ww\r
db 0cfh,00bh,029h ;dec rr\r
- dw l1e8bh\r
+ dw prnt_arg_ww\r
db 0c7h,004h,041h ;inc r\r
dw l1e28h\r
db 0c7h,005h,029h ;dec r\r
db 0ffh ;<end mark>\r
\r
b_1bf4_start:\r
- db 0e7h,040h,03fh ;in r,(c) ;r=bcde\r
+ db 0e7h,040h,03fh ;in r,(c) ;r=b,c,d,e\r
dw l1db3h ;\r
- db 0f7h,060h,03fh ;in r,(c) ;r=hl\r
+ db 0f7h,060h,03fh ;in r,(c) ;r=h,l\r
dw l1db3h ;\r
db 0ffh,078h,03fh ;in r,(c) ;r=a\r
dw l1db3h ;\r
- db 0e7h,041h,076h ;out (c),r ;r=bcde\r
+ db 0e7h,041h,076h ;out (c),r ;r=b,c,d,e\r
dw l1dbfh ;\r
- db 0f7h,061h,076h ;out (c),r ;r=hl\r
+ db 0f7h,061h,076h ;out (c),r ;r=h,l\r
dw l1dbfh ;\r
db 0ffh,079h,076h ;out (c),r ;r=a\r
dw l1dbfh ;\r
db 0ffh,05fh,056h ;ld a,r\r
dw l1da1h\r
db 0cfh,04ch,0d2h ;mlt rr\r
- dw l1e8bh\r
+ dw prnt_arg_ww\r
db 0c7h,004h,0eeh ;tst r\r
dw l1e28h\r
db 0\r
\r
l228bh:\r
- db 0e7h,000h,0cfh ;\r
+ db 0e7h,000h,0cfh ;in0 r,(m) ;r=b,c,d,e\r
dw l230ch\r
- db 0f7h,020h,0cfh ;\r
+ db 0f7h,020h,0cfh ;in0 r,(m) ;r=h,l\r
dw l230ch\r
db 0ffh,038h,0cfh ;in0 a,(m)\r
dw l230ch\r
- db 0e7h,001h,0e7h ;\r
+ db 0e7h,001h,0e7h ;out0 (m),r ;r=b,c,d,e\r
dw l2315h\r
- db 0f7h,021h,0e7h ;\r
+ db 0f7h,021h,0e7h ;out0 (m),r ;r=h,l\r
dw l2315h\r
db 0ffh,039h,0e7h ;out0 (m),a\r
dw l2315h\r
l1ca0h:\r
ld hl,b_1ca9_start ;1ca0 21 a9 1c ! . .\r
call pstr ;1ca3 cd 88 02 . . .\r
- jp l1e7eh ;1ca6 c3 7e 1e . ~ .\r
+ jp prnt_arg_hlixiy ;1ca6 c3 7e 1e . ~ .\r
\r
b_1ca9_start:\r
DC '(SP),'\r
l1caeh:\r
ld a,'(' ;1cae 3e 28 > (\r
call outchar ;1cb0 cd 5d 02 . ] .\r
- call l1e7eh ;1cb3 cd 7e 1e . ~ .\r
+ call prnt_arg_hlixiy ;1cb3 cd 7e 1e . ~ .\r
ld a,')' ;1cb6 3e 29 > )\r
jp outchar ;1cb8 c3 5d 02 . ] .\r
l1cbbh:\r
l1cc1h:\r
ld hl,b_1cca_start ;1cc1 21 ca 1c ! . .\r
call pstr ;1cc4 cd 88 02 . . .\r
- jp l1e7eh ;1cc7 c3 7e 1e . ~ .\r
+ jp prnt_arg_hlixiy ;1cc7 c3 7e 1e . ~ .\r
\r
b_1cca_start:\r
DC 'SP,'\r
ld hl,b_176d_start ;1ccd 21 6d 17 ! m .\r
jp pstr ;1cd0 c3 88 02 . . .\r
l1cd3h:\r
- call l1e7eh ;1cd3 cd 7e 1e . ~ .\r
+ call prnt_arg_hlixiy ;1cd3 cd 7e 1e . ~ .\r
call prnt_char_comma ;1cd6 cd b4 1e . . .\r
- jp l1e8bh ;1cd9 c3 8b 1e . . .\r
+ jp prnt_arg_ww ;1cd9 c3 8b 1e . . .\r
l1cdch:\r
call sub_1ce8h ;1cdc cd e8 1c . . .\r
call prnt_char_comma ;1cdf cd b4 1e . . .\r
sub_1ce8h:\r
ld a,'(' ;1ce8 3e 28 > (\r
call outchar ;1cea cd 5d 02 . ] .\r
- call l1e8bh ;1ced cd 8b 1e . . .\r
+ call prnt_arg_ww ;1ced cd 8b 1e . . .\r
ld a,')' ;1cf0 3e 29 > )\r
jp outchar ;1cf2 c3 5d 02 . ] .\r
l1cf5h:\r
l1d0fh:\r
ld a,(iy+000h) ;1d0f fd 7e 00 . ~ .\r
and 018h ;1d12 e6 18 . .\r
- call sub_1ea0h ;1d14 cd a0 1e . . .\r
+ call prnt_arg_cc0 ;1d14 cd a0 1e . . .\r
call prnt_char_comma ;1d17 cd b4 1e . . .\r
l1d1ah:\r
ld c,(iy+001h) ;1d1a fd 4e 01 . N .\r
jp outchar ;1d3f c3 5d 02 . ] .\r
\r
l1d42h:\r
- call l1e9dh ;1d42 cd 9d 1e . . .\r
+ call prnt_arg_cc ;1d42 cd 9d 1e . . .\r
call prnt_char_comma ;1d45 cd b4 1e . . .\r
l1d48h:\r
ld l,(iy+001h) ;1d48 fd 6e 01 . n .\r
call out_hl ;1d56 cd 13 02 . . .\r
ret ;1d59 c9 .\r
l1d5ah:\r
- call l1e8bh ;1d5a cd 8b 1e . . .\r
+ call prnt_arg_ww ;1d5a cd 8b 1e . . .\r
call prnt_char_comma ;1d5d cd b4 1e . . .\r
jr l1d48h ;1d60 18 e6 . .\r
l1d62h:\r
call sub_1e13h ;1d62 cd 13 1e . . .\r
call prnt_char_comma ;1d65 cd b4 1e . . .\r
- jp l1e7eh ;1d68 c3 7e 1e . ~ .\r
+ jp prnt_arg_hlixiy ;1d68 c3 7e 1e . ~ .\r
l1d6bh:\r
- call l1e7eh ;1d6b cd 7e 1e . ~ .\r
+ call prnt_arg_hlixiy ;1d6b cd 7e 1e . ~ .\r
call prnt_char_comma ;1d6e cd b4 1e . . .\r
jp sub_1e13h ;1d71 c3 13 1e . . .\r
l1d74h:\r
call prnt_char_comma ;1dc5 cd b4 1e . . .\r
jr l1e28h ;1dc8 18 5e . ^\r
l1dcah:\r
- call l1e7eh ;1dca cd 7e 1e . ~ .\r
+ call prnt_arg_hlixiy ;1dca cd 7e 1e . ~ .\r
call prnt_char_comma ;1dcd cd b4 1e . . .\r
- jp l1e8bh ;1dd0 c3 8b 1e . . .\r
+ jp prnt_arg_ww ;1dd0 c3 8b 1e . . .\r
l1dd3h:\r
call sub_1e13h ;1dd3 cd 13 1e . . .\r
call prnt_char_comma ;1dd6 cd b4 1e . . .\r
- jp l1e8bh ;1dd9 c3 8b 1e . . .\r
+ jp prnt_arg_ww ;1dd9 c3 8b 1e . . .\r
l1ddch:\r
- call l1e8bh ;1ddc cd 8b 1e . . .\r
+ call prnt_arg_ww ;1ddc cd 8b 1e . . .\r
call prnt_char_comma ;1ddf cd b4 1e . . .\r
jr sub_1e13h ;1de2 18 2f . /\r
l1de4h:\r
l1e33h:\r
and 007h ;1e33 e6 07 . .\r
cp 006h ;1e35 fe 06 . .\r
- jr nz,l1e73h ;1e37 20 3a :\r
+ jr nz,prnt_arg_r ;1e37 20 3a :\r
ld a,(isprefix_ixiy) ;1e39 3a f8 1f : . .\r
and a ;1e3c a7 .\r
ld a,006h ;1e3d 3e 06 > .\r
- jr z,l1e73h ;1e3f 28 32 ( 2\r
+ jr z,prnt_arg_r ;1e3f 28 32 ( 2\r
ld hl,b_1e78_start ;1e41 21 78 1e ! x .\r
ld a,(isprefix_ixiy) ;1e44 3a f8 1f : . .\r
dec a ;1e47 3d =\r
call out_hex ;1e6b cd 18 02 . . .\r
ld a,')' ;1e6e 3e 29 > )\r
jp outchar ;1e70 c3 5d 02 . ] .\r
-l1e73h:\r
+\r
+prnt_arg_r:\r
ld hl,t_BCDEHL_HL_A ;1e73 21 96 1f ! . .\r
- jr l1eaah ;1e76 18 32 . 2\r
+ jr prnt_arg ;1e76 18 32 . 2\r
\r
b_1e78_start:\r
DC '(IX'\r
l1e7bh:\r
DC '(IY'\r
-l1e7eh:\r
+\r
+prnt_arg_hlixiy:\r
ld a,(isprefix_ixiy) ;1e7e 3a f8 1f : . .\r
ld hl,t_HL.IX.IY ;1e81 21 c6 1f ! . .\r
- jr l1eaah ;1e84 18 24 . $\r
-l1e86h:\r
+ jr prnt_arg ;1e84 18 24 . $\r
+prnt_arg_zz:\r
ld hl,t_BC.DE.HL.AF ;1e86 21 ab 1f ! . .\r
jr l1e8eh ;1e89 18 03 . .\r
-l1e8bh:\r
+prnt_arg_ww:\r
ld hl,t_BC.DE.HL.SP ;1e8b 21 a2 1f ! . .\r
l1e8eh:\r
ld a,(iy+000h) ;1e8e fd 7e 00 . ~ .\r
rra ;1e94 1f .\r
and 003h ;1e95 e6 03 . .\r
cp 002h ;1e97 fe 02 . .\r
- jr z,l1e7eh ;1e99 28 e3 ( .\r
- jr l1eaah ;1e9b 18 0d . .\r
-l1e9dh:\r
+ jr z,prnt_arg_hlixiy ;1e99 28 e3 ( .\r
+ jr prnt_arg ;1e9b 18 0d . .\r
+\r
+prnt_arg_cc:\r
ld a,(iy+000h) ;1e9d fd 7e 00 . ~ .\r
-sub_1ea0h:\r
+prnt_arg_cc0:\r
rra ;1ea0 1f .\r
rra ;1ea1 1f .\r
rra ;1ea2 1f .\r
and 007h ;1ea3 e6 07 . .\r
ld hl,t_tstfl_ZCPS ;1ea5 21 dc 1f ! . .\r
- jr l1eaah ;1ea8 18 00 . .\r
-l1eaah:\r
+prnt_arg:\r
ld b,a ;1eaa 47 G\r
- call sub_033dh ;1eab cd 3d 03 . = .\r
+ call sel_dc_string ;1eab cd 3d 03 . = .\r
jp pstr ;1eae c3 88 02 . . .\r
\r
prnt_A_comma:\r
ret ;2038 c9 .\r
\r
b_2039_start:\r
- db 0ffh,0ddh,000h\r
+ db 0ffh,0ddh,000h ;Prefix DD\r
dw l20a7h\r
- db 0ffh,0fdh,000h\r
+ db 0ffh,0fdh,000h ;Prefix FD\r
dw l20ach\r
- db 0ffh,0edh,000h\r
+ db 0ffh,0edh,000h ;Prefix ED\r
dw l20b8h\r
\r
b_2048_start:\r
- db 0ffh,0cdh,000h\r
+ db 0ffh,0cdh,000h ;call mn\r
dw l2080h\r
- db 0ffh,0c3h,000h\r
+ db 0ffh,0c3h,000h ;jp mn\r
dw l208bh\r
- db 0ffh,0e9h,000h\r
+ db 0ffh,0e9h,000h ;jp ()\r
dw l20a2h\r
- db 0ffh,0c9h,000h\r
+ db 0ffh,0c9h,000h ;ret\r
dw l20dch\r
- db 0ffh,0cfh,000h\r
+ db 0ffh,0cfh,000h ;rst 8\r
dw l2115h\r
- db 0c7h,0c7h,000h\r
+ db 0c7h,0c7h,000h ;\r
dw l20f9h\r
- db 0c7h,0c4h,000h\r
+ db 0c7h,0c4h,000h ;\r
dw l2080h\r
- db 0f7h,010h,000h\r
+ db 0f7h,010h,000h ;\r
dw l2093h\r
- db 0e7h,020h,000h\r
+ db 0e7h,020h,000h ;\r
dw l2093h\r
- db 0c7h,0c2h,000h\r
+ db 0c7h,0c2h,000h ;\r
dw l208bh\r
- db 0c7h,0c0h,000h\r
+ db 0c7h,0c0h,000h ;\r
dw l20c5h\r
db 0\r
\r