ex (sp),hl\r
ret\r
\r
-p_fill_space:\r
- call outbl\r
+p_align_@_sym:\r
+ push de\r
+ ld de,(var.@)\r
+ ld a,d\r
+ or e\r
+ pop de\r
+ ld a,(symlen_max)\r
+ jr z,$+4\r
+ add a,6\r
+ add a,c\r
+ ld c,a\r
+p_goto_col:\r
ld a,(con_col)\r
cp c\r
- jr c,p_fill_space\r
- ret\r
+ ret nc\r
+ ret z\r
+ call outbl\r
+ jr p_goto_col\r
+\r
+\r
\r
inchar:\r
push hl\r
pop bc\r
ret\r
\r
-p_sym_space:\r
+p_symbol:\r
if 0\r
ld a,(dash_flag)\r
or a\r
ret nz\r
endif\r
-\r
push hl\r
- push bc\r
- ld c,a\r
- ld a,(con_col)\r
- ld b,a\r
call sym_getname\r
- jr z,psb_align\r
- bit 7,c\r
- jr z,psb_nd\r
- call pstr_inl\r
- dc ' .'\r
-psb_nd:\r
- call p_symstr\r
-\r
-psb_align:\r
- ld a,(con_col)\r
- sub b\r
- ld b,a\r
- ld a,(symlen_max)\r
- bit 7,c\r
- jr z,$+4\r
- add a,2\r
- res 7,c\r
- add c\r
- sub b\r
- ld b,a\r
- jr z,psb_e\r
-psb_a_l:\r
- call outbl\r
- djnz psb_a_l\r
-psb_e:\r
- pop bc\r
+ call nz,p_symstr\r
pop hl\r
ret\r
\r
djnz l065bh\r
pop af\r
pop hl\r
- and a\r
call nz,outbl6\r
call nz,p_offset\r
jp crlf\r
ld l,(ix+002h)\r
ld h,(ix+003h)\r
call out.hl.@\r
- ld a,82h\r
- call p_sym_space\r
+ call outbl\r
+ call p_symbol\r
+ ld c,9\r
+ call p_align_@_sym\r
call pstr_inl\r
dc ':'\r
ld l,(ix+004h)\r
l0bc7h:\r
push af\r
call sub_0bdch\r
+ call outbl\r
pop af\r
push af\r
call get_y_val\r
- ld a,82h\r
- call p_sym_space\r
+ call p_symbol\r
pop af\r
inc a\r
- bit 0,a\r
push af\r
- call z,crlf\r
+ rra\r
+ push af\r
+ ld c,11\r
+ call c,p_align_@_sym\r
+ pop af\r
+ call nc,crlf\r
pop af\r
cp YREG_CNT\r
jr c,l0bc7h\r
cmd_H:\r
ld a,(de)\r
cp 'S'\r
- jr z,p_symbols\r
+ jr z,p_sym_list\r
\r
call expr\r
jp c,p_max_high0\r
call outbl\r
ld a,l\r
call out.ascii\r
- ld a,80h\r
- call p_sym_space\r
+ call outbl2\r
+ call p_symbol\r
jp crlf\r
\r
-p_symbols:\r
+p_sym_list:\r
inc de\r
call assert_eol\r
ld a,(symlen_max)\r
cp 0c3h\r
jr z,psym_e\r
\r
+ call p_goto_col\r
ex de,hl\r
call out_hl\r
call outbl\r
ld a,80 ;screen width\r
sub b\r
cp c\r
- jr c,psym_nxtline\r
- call p_fill_space\r
- jr psym_nxtsym\r
+ jr nc,psym_nxtsym\r
\r
-psym_nxtline:\r
- ld c,0\r
call crlf\r
+ ld c,0\r
jr psym_nxtsym\r
\r
psym_e:\r
ld (var.$),hl\r
push hl\r
call p_disas_line\r
- ld de,(var.@)\r
- ld a,d\r
- or e\r
ld c,19\r
- jr z,l122dh\r
- ld c,19+7\r
-l122dh:\r
- call p_fill_space\r
+ call p_align_@_sym\r
ld c,b\r
push bc\r
call get_line\r
push hl\r
pop iy\r
call p_disas_instr\r
- and a\r
ret z\r
\r
- ld c,16\r
- call p_fill_space\r
+ ld c,15\r
+ call p_goto_col\r
call p_offset\r
- ld a,80h\r
- jp p_sym_space\r
+ call outbl\r
+ jp p_symbol\r
\r
p_offset:\r
ld de,(var.@)\r
\r
p_disas_instr:\r
sub a\r
- ld (l1ffdh),a\r
+ ld (disas_argtype),a\r
call disas_get_instrlen\r
jr nc,l197fh\r
push bc\r
add a,5\r
ld c,a\r
call pstr\r
- call p_fill_space\r
+ call p_goto_col\r
ex de,hl\r
call call_hl\r
pop bc\r
- ld a,(l1ffdh)\r
+ ld a,(disas_argtype)\r
ld hl,(disas_arg_16)\r
+ or a\r
scf\r
ret\r
\r
db 0ffh,0feh,013h ;cp a,nn\r
dw l1d09h\r
db 0ffh,010h,02eh ;djnz\r
- dw l1d1ah\r
+ dw p_arg_jrel\r
db 0ffh,018h,054h ;jr\r
- dw l1d1ah\r
- db 0e7h,020h,054h ;jr,cc\r
- dw l1d0fh\r
+ dw p_arg_jrel\r
+ db 0e7h,020h,054h ;jr cc,\r
+ dw p_arg_cc_jrel\r
db 0ffh,0d3h,076h ;out (nn),a\r
dw l1d37h\r
db 0ffh,0dbh,03fh ;in a,(nn)\r
l1d0ch:\r
jp out_hex\r
\r
-l1d0fh:\r
+p_arg_cc_jrel:\r
ld a,(iy+000h)\r
and 018h\r
call p_arg_cc0\r
call p_char_comma\r
-l1d1ah:\r
+p_arg_jrel:\r
ld c,(iy+001h)\r
ld a,c\r
rla\r
inc hl\r
inc hl\r
jr l1d4eh\r
+\r
l1d29h:\r
call p_A_comma\r
sub_1d2ch:\r
l1d4eh:\r
ld a,002h\r
sub_1d50h:\r
- ld (l1ffdh),a\r
+ ld (disas_argtype),a\r
ld (disas_arg_16),hl\r
jp out_hl\r
\r
jr p_arg_mn\r
\r
p_arg_addr_hl:\r
- call sub_1e13h\r
+ call p_arg_addr\r
call p_char_comma\r
jp p_arg_hlixiy\r
\r
p_arg_hl_addr:\r
call p_arg_hlixiy\r
call p_char_comma\r
- jp sub_1e13h\r
+ jp p_arg_addr\r
\r
p_arg_addr_a:\r
- call sub_1e13h\r
+ call p_arg_addr\r
p_char_comma_A:\r
call p_char_comma\r
p_char_A:\r
jr outchar1\r
p_arg_a_addr:\r
call p_A_comma\r
- jp sub_1e13h\r
+ jp p_arg_addr\r
l1d85h:\r
ld a,'0'\r
jr outchar1\r
jp p_arg_ww\r
\r
p_arg_addr_ww:\r
- call sub_1e13h\r
+ call p_arg_addr\r
call p_char_comma\r
jp p_arg_ww\r
\r
p_arg_ww_addr:\r
call p_arg_ww\r
call p_char_comma\r
- jr sub_1e13h\r
+ jr p_arg_addr\r
\r
p_arg_bitop:\r
ld a,(isprefix_ixiy)\r
l1e11h:\r
jr p_arg_r0\r
\r
-sub_1e13h:\r
+p_arg_addr:\r
call p_char_lparen\r
ld l,(iy+001h)\r
ld h,(iy+002h)\r
dw TPA\r
disas_arg_16:\r
dw 0\r
-l1ffdh:\r
+disas_argtype:\r
db 0\r
\r
symlen_max: ;max length of symbols read so far\r