]> cloudbase.mooo.com Git - ddt180.git/commitdiff
Change symbol formatting v0.3
authorLeo C <erbl259-lmu@yahoo.de>
Thu, 18 Aug 2016 21:26:52 +0000 (23:26 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Thu, 18 Aug 2016 21:26:52 +0000 (23:26 +0200)
ddt180.z80

index 4f12b0ab464249f215329ea3abdcf88e44ede4e1..8418907917a7244d237b2c63f368f5d87d549fe9 100644 (file)
@@ -428,12 +428,26 @@ pstr_inl:
        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
@@ -612,45 +626,15 @@ pss_l:
        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
@@ -1421,7 +1405,6 @@ l065bh:
        djnz l065bh\r
        pop af\r
        pop hl\r
-       and a\r
        call nz,outbl6\r
        call nz,p_offset\r
        jp crlf\r
@@ -1630,8 +1613,10 @@ l07cdh:
        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
@@ -2046,16 +2031,20 @@ l0bc3h:
 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
@@ -2448,7 +2437,7 @@ cmdm_up:
 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
@@ -2482,11 +2471,11 @@ l0e5eh:
        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
@@ -2503,6 +2492,7 @@ psym_nxtsym:
        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
@@ -2515,13 +2505,10 @@ psym_nxtsym:
        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
@@ -3330,14 +3317,8 @@ cmda_loop:
        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
@@ -4517,14 +4498,13 @@ p_disas_line:
        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
@@ -4541,7 +4521,7 @@ p_offset:
 \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
@@ -4549,12 +4529,13 @@ p_disas_instr:
        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
@@ -4876,11 +4857,11 @@ b_1b54_start:
        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
@@ -5111,12 +5092,12 @@ l1d09h:
 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
@@ -5128,6 +5109,7 @@ l1d1ah:
        inc hl\r
        inc hl\r
        jr l1d4eh\r
+\r
 l1d29h:\r
        call p_A_comma\r
 sub_1d2ch:\r
@@ -5147,7 +5129,7 @@ p_arg_mn:
 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
@@ -5157,17 +5139,17 @@ p_arg_ww_mn:
        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
@@ -5175,7 +5157,7 @@ p_char_A:
        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
@@ -5234,14 +5216,14 @@ l1dcah:
        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
@@ -5274,7 +5256,7 @@ l1e0eh:
 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
@@ -5969,7 +5951,7 @@ last_L:
        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