jr next_bindigit\r
l05e4h:\r
cp '"'\r
- jp nz,ERROR\r
+ jr nz,error11\r
call get.bindigit\r
jr nc,l05dbh\r
or a\r
decnum_done:\r
cp '.'\r
ret z\r
+error11:\r
jp ERROR\r
\r
sub_060ch:\r
call bp_enter\r
jp user_go\r
\r
+\r
+bpl_init:\r
+ ld b,BP_CNT\r
+ ld ix,bp_tab\r
+ ex (sp),hl\r
+ ld (pbl_loop_adr),hl\r
+ ex (sp),hl\r
+ ret\r
+\r
+bpl_next:\r
+ ld de,BP_SIZE\r
+ add ix,de\r
+ dec b\r
+ ret z\r
+\r
+ ex (sp),hl\r
+ ld hl,(pbl_loop_adr)\r
+ ex (sp),hl\r
+ ret\r
+\r
bp_clr_temporary:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-l075ah:\r
+ call bpl_init\r
+\r
ld a,(ix+000h)\r
and 0f1h\r
ld (ix+000h),a\r
call bp_clr_condition\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l075ah\r
+\r
+ call bpl_next\r
ret\r
\r
cmd_B:\r
bp_clr_all:\r
scf\r
bp_clr:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-l0799h:\r
+ call bpl_init\r
+\r
push af\r
jr c,l07a7h\r
ld e,(ix+002h)\r
ld (ix+000h),000h\r
call bp_clr_condition\r
l07aeh:\r
- ld de,BP_SIZE\r
- add ix,de\r
pop af\r
- djnz l0799h\r
+ call bpl_next\r
ret\r
\r
bp_print:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-bp_pr_l:\r
+ call bpl_init\r
+\r
bit 0,(ix+000h)\r
jr z,bp_pr_cont\r
ld a,'R'\r
l0805h:\r
call crlf\r
bp_pr_cont:\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz bp_pr_l\r
+ call bpl_next\r
ret\r
\r
; Add break points to list\r
bp_e_1:\r
push bc\r
call expr\r
- jp c,ERROR\r
+ jr c,error12\r
pop bc\r
bit 0,b\r
push bc\r
jr bp_enter\r
\r
bp_get_freeslot:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-bp_gf_l:\r
+ call bpl_init\r
+\r
ld a,(ix+000h)\r
and 00fh\r
ret z\r
- push bc\r
- ld bc,BP_SIZE\r
- add ix,bc\r
- pop bc\r
- djnz bp_gf_l\r
+\r
+ call bpl_next\r
+error12\r
jp ERROR\r
\r
bp_get_count:\r
ret nz\r
inc de\r
call expr\r
- jp c,ERROR\r
+ jr c,error12\r
ret\r
\r
bp_get_condition:\r
call skipbl\r
push de\r
call expr\r
- jp c,ERROR\r
+ jr c,error12\r
ex de,hl\r
pop de\r
push de\r
add hl,bc\r
ld de,expr_bufe\r
call cp_hl_de\r
- jp nc,ERROR\r
+ jr nc,error12\r
pop hl\r
ld (expr_p2),hl\r
pop de\r
ex af,af'\r
sub a\r
ld (l0941h),a\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-l0920h:\r
+ call bpl_init\r
+\r
ld a,(ix+000h)\r
and 007h\r
jr z,l0938h\r
call z,sub_0942h\r
pop bc\r
l0938h:\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l0920h\r
+\r
+ call bpl_next\r
ex af,af'\r
ret\r
\r
ret\r
\r
sub_097ah:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-l0980h:\r
+ call bpl_init\r
+\r
bit 5,(ix+000h)\r
res 5,(ix+000h)\r
jr z,l099ah\r
ld (hl),a\r
l099ah:\r
res 3,(ix+000h)\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l0980h\r
+\r
+ call bpl_next\r
ret\r
\r
sub_09a6h:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-l09ach:\r
+ call bpl_init\r
+\r
ld a,(ix+000h)\r
and 003h\r
jr z,l09c0h\r
call cp_hl_de\r
ret z\r
l09c0h:\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l09ach\r
+\r
+ call bpl_next\r
sub a\r
inc a\r
ret\r
ret\r
\r
bp_set_to_mem:\r
- ld b,BP_CNT\r
- ld ix,bp_tab\r
-l09f7h:\r
+ call bpl_init\r
+\r
ld a,(ix+000h)\r
and c\r
jr z,l0a1dh\r
inc hl\r
ld (hl),d\r
l0a1dh:\r
- ld de,BP_SIZE\r
- add ix,de\r
- djnz l09f7h\r
+\r
+ call bpl_next\r
ret\r
\r
user_go:\r
disas_argtype:\r
db 0\r
\r
+pbl_loop_adr:\r
+ dw 0\r
+\r
symlen_cur: ;max length of symbols read so far\r
db 0\r
cur_fcb:\r