Files
open-roms/c64/basic/do_basic_error.s
T

47 lines
601 B
ArmAsm

;; Error # in X
do_basic_error:
;; "?"
txa
pha
lda #$0d
jsr $ffd2
lda #$3f
jsr $ffd2
pla
tax
;; Error message text
jsr print_packed_message
;; A space between error name and word error
lda #$20
jsr $ffd2
;; "ERROR"
ldx #33
jsr print_packed_message
lda basic_current_line_number+1
cmp #$ff
beq +
;; We were in a program, so show IN <line>
jsr printf
.byte " IN ",0
lda basic_current_line_number+1
ldx basic_current_line_number+0
jsr print_integer
*
;; New lines
lda #$0d
jsr $ffd2
lda #$00
jsr $ffd2
;; XXX - Restore stack depth first?
jmp basic_main_loop