summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo C2016-08-13 00:06:52 +0200
committerLeo C2016-08-13 00:06:52 +0200
commitb772ed31f4d418bcaf455234deab4c3dad71ff25 (patch)
tree774cf05e584b70b8aa510a1e612feb3a9dd2e92b
parent836776f5d0d65371ed85b29b18d6d27348be0f43 (diff)
downloadddt180-b772ed31f4d418bcaf455234deab4c3dad71ff25.zip
Reorg
-rw-r--r--ddt180.z80233
1 files changed, 109 insertions, 124 deletions
diff --git a/ddt180.z80 b/ddt180.z80
index 93df19a..8d7cb46 100644
--- a/ddt180.z80
+++ b/ddt180.z80
@@ -558,6 +558,114 @@ cp_hl_de:
add hl,de
ret
+sub_hl_a1:
+ dec hl
+sub_hl_a:
+ push bc
+ ld c,a
+ ld b,0
+ or a
+ sbc hl,bc
+ pop bc
+ ret
+
+sym_getname:
+ push de
+ push hl
+ ld hl,ddtz_base+2
+sgn_l:
+ ld d,(hl)
+ dec hl
+ ld e,(hl)
+ dec hl
+ ld a,(hl)
+ cp 0c3h
+ jr z,sgn_e
+
+ ex (sp),hl
+ call cp_hl_de
+ jr z,sgn_e
+ ex (sp),hl
+ call sub_hl_a1
+ jr sgn_l
+sgn_e:
+ sub 0c3h
+ pop hl
+ pop de
+ ret
+
+p_symstr:
+ push bc
+ ld b,(hl)
+pss_l:
+ dec hl
+ ld a,(hl)
+ call outchar
+ djnz pss_l
+ pop bc
+ ret
+
+p_sym_space:
+ if 0
+ ld a,(dash_flag)
+ or a
+ ret nz
+ endif
+
+ push hl
+ push bc
+ ld c,a
+ ld a,(con_col)
+ ld b,a
+ call sym_getname
+ jr z,psb_align
+ bit 7,c
+ jr z,psb_nd
+ ld a,' '
+ call outchar
+ ld a,'.'
+ call outchar
+psb_nd:
+ call p_symstr
+
+psb_align:
+ ld a,(con_col)
+ sub b
+ ld b,a
+ ld a,(symlen_max)
+ bit 7,c
+ jr z,$+4
+ add a,2
+ res 7,c
+ add c
+ sub b
+ ld b,a
+ jr z,psb_e
+psb_a_l:
+ call outbl
+ djnz psb_a_l
+psb_e:
+ pop bc
+ pop hl
+ ret
+
+p_label:
+ if 0
+ ld a,(dash_flag)
+ or a
+ ret nz
+ endif
+ push hl
+ call sym_getname
+ jr z,pl_e
+ call p_symstr
+ ld a,':'
+ call outchar
+ call crlf
+pl_e:
+ pop hl
+ ret
+
lookupch:
ld b,0
l02f5h:
@@ -2396,8 +2504,6 @@ l0e5eh:
p_symbols:
inc de
call assert_eol
- ld hl,ddtz_base+2
-
ld a,(symlen_max)
add a,8
ld b,a
@@ -2408,6 +2514,7 @@ psym_1:
sub a,b
jr nc,psym_1
+ ld hl,ddtz_base+2
psym_nxtline:
ld b,c
psym_nxtcol:
@@ -2435,128 +2542,6 @@ psym_e:
ret z
jp crlf
-
-p_sym_space:
- if 0
- ld a,(dash_flag)
- or a
- ret nz
- endif
-
- push hl
- push bc
- ld c,a
- ld a,(con_col)
- ld b,a
- call sym_getname
- jr z,psb_align
- bit 7,c
- jr z,psb_nd
- ld a,' '
- call outchar
- ld a,'.'
- call outchar
-psb_nd:
- call p_symstr
-
-psb_align:
- ld a,(con_col)
- sub b
- ld b,a
- ld a,(symlen_max)
- bit 7,c
- jr z,$+4
- add a,2
- res 7,c
- add c
- sub b
- ld b,a
- jr z,psb_e
-psb_a_l:
- call outbl
- djnz psb_a_l
-psb_e:
- pop bc
- pop hl
- ret
-
-
-p_symbol:
- if 0
- ld a,(dash_flag)
- or a
- ret nz
- endif
- call sym_getname
- ret z
- call pstr_inl
- dc ' .'
-
-p_symstr:
- push bc
- ld b,(hl)
-pss_l:
- dec hl
- ld a,(hl)
- call outchar
- djnz pss_l
- pop bc
- ret
-
-p_label:
- if 0
- ld a,(dash_flag)
- or a
- ret nz
- endif
- push hl
- call sym_getname
- jr z,pl_e
- call p_symstr
- ld a,':'
- call outchar
- call crlf
-pl_e:
- pop hl
- ret
-
-
-sym_getname:
- push de
- push hl
- ld hl,ddtz_base+2
-sgn_l:
- ld d,(hl)
- dec hl
- ld e,(hl)
- dec hl
- ld a,(hl)
- cp 0c3h
- jr z,sgn_e
-
- ex (sp),hl
- call cp_hl_de
- jr z,sgn_e
- ex (sp),hl
- call sub_hl_a1
- jr sgn_l
-sgn_e:
- sub 0c3h
- pop hl
- pop de
- ret
-
-sub_hl_a1:
- dec hl
-sub_hl_a:
- push bc
- ld c,a
- ld b,0
- or a
- sbc hl,bc
- pop bc
- ret
-
cmd_Q:
ld a,(de)
sub 'J'