24 lines
864 B
Plaintext
24 lines
864 B
Plaintext
PrintString:
|
|
lda (StringPtr),y
|
|
beq Terminated
|
|
cmp #'\' ; a single ascii character is specified in single quotes.
|
|
beq HandleSpecialChars
|
|
jsr PrintChar ;unimplemented print routine
|
|
iny ;next character
|
|
jmp PrintString ;back to top
|
|
|
|
Terminated:
|
|
rts ;exit
|
|
|
|
HandleSpecialChars:
|
|
iny ;next char
|
|
lda (StringPtr),y
|
|
cmp #'n'
|
|
beq NextLine ;unimplemented new line routine, it ends in "JMP DoneSpecialChar."
|
|
;Typically this would reset the x cursor and increment the y cursor, which are software variables that
|
|
;get converted to a VRAM address in some other routine.
|
|
|
|
DoneSpecialChar:
|
|
iny
|
|
jmp PrintString ;jump back to top. Notice that neither the backslash nor the character after it were actually printed.
|