factor out basic line number parsing routine

This commit is contained in:
Paul Gardner-Stephen committed 2019-04-29 22:36:25 +09:30
1 parent 270314640c
commit 65af677caa
2 files changed
+34 -26

No files matched your search

+27
View File
@@ -0,0 +1,27 @@
basic_parse_line_number:
jsr injest_number
;; Check if the number is a valid line number
;; i.e., 16 bits, no exponent, no decimal
lda basic_fac1_mantissa+2
ora basic_fac1_mantissa+3
ora basic_fac1_exponent
beq +
ml_bad_line_number:
ldx #10
jmp do_basic_error
*
;; Line number are not allowed to have decimal points in them
lda tokenise_work4
cmp #$ff
bne ml_bad_line_number
;; Got a valid line number.
lda basic_fac1_mantissa+0
sta basic_line_number+0
lda basic_fac1_mantissa+1
sta basic_line_number+1
clc
rts