Prev: E394 Up: Map Next: E3BA
E3A2: character get subroutine for zero page
the target address for the LDA $EA60 becomes the BASIC execute pointer once the block is copied to its destination, any non zero page address will do at assembly time, to assemble a three byte instruction. $EA60 is RTS, NOP.
page 0 initialisation table from $0073. increment and scan memory
E3A2 E6 7A INC $7A increment BASIC execute pointer low byte
E3A4 D0 02 BNE $E3A8 branch if no carry
E3A6 E6 7B INC $7B else increment BASIC execute pointer high byte
page 0 initialisation table from $0079. scan memory
E3A8 AD 60 EA LDA $EA60 get byte to scan, address set by call routine
E3AB C9 3A CMP #":" compare with ":"
E3AD B0 0A BCS $E3B9 exit if>=
page 0 initialisation table from $0080. clear Cb if numeric
E3AF C9 20 CMP #" " compare with " "
E3B1 F0 EF BEQ $E3A2 if " " go do next
E3B3 38 SEC set carry for SBC
E3B4 E9 30 SBC #"0" subtract "0"
E3B6 38 SEC set carry for SBC
E3B7 E9 D0 SBC #$D0 subtract -"0"
clear carry if byte = "0"-"9"
E3B9 60 RTS
Prev: E394 Up: Map Next: E3BA