66 CHAPTER 5. TABLES
fcc /Hit the reset button to quit/
fcb 10
fcc /=====================================/
fcb 10,10,10, 4
; setup the table of digits
digits fcc /0123456789/
ndigits equ 10
org $2100
ldx #preamble
jsr outstrg
mainloop
jsr rddigit
bra mainloop
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; rddigit: Behaves like inchar, except ignores non-digits
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
rddigit jsr input *This does not wait for the user
tsta
beq rddigit *Looks like the user has not typed anything
;
; if we get here, the user typed something. Verify it first
;
ldx #digits
ldab #ndigits
jsr lookup
bcc rddigit *oops, not in the table. Go back for more
;
; if we get here, the input was ok
; echo it back as the user would like some feedback
;
jsr outa
rts
Comentarios a estos manuales