C64 ROM | Routines |
Prev: B39E | Up: Map | Next: B3E1 |
|
||||
B3B3 | 20 E1 B3 | JSR $B3E1 | check FNx syntax | |
B3B6 | 20 A6 B3 | JSR $B3A6 | check not direct, back here if ok | |
B3B9 | 20 FA AE | JSR $AEFA | scan for "(", else do syntax error then warm start | |
B3BC | A9 80 | LDA #$80 | set flag for FNx | |
B3BE | 85 10 | STA $10 | save subscript/FNx flag | |
B3C0 | 20 8B B0 | JSR $B08B | get variable address | |
B3C3 | 20 8D AD | JSR $AD8D | check if source is numeric, else do type mismatch | |
B3C6 | 20 F7 AE | JSR $AEF7 | scan for ")", else do syntax error then warm start | |
B3C9 | A9 B2 | LDA #$B2 | get = token | |
B3CB | 20 FF AE | JSR $AEFF | scan for CHR$(A), else do syntax error then warm start | |
B3CE | 48 | PHA | push next character | |
B3CF | A5 48 | LDA $48 | get current variable pointer high byte | |
B3D1 | 48 | PHA | push it | |
B3D2 | A5 47 | LDA $47 | get current variable pointer low byte | |
B3D4 | 48 | PHA | push it | |
B3D5 | A5 7B | LDA $7B | get BASIC execute pointer high byte | |
B3D7 | 48 | PHA | push it | |
B3D8 | A5 7A | LDA $7A | get BASIC execute pointer low byte | |
B3DA | 48 | PHA | push it | |
B3DB | 20 F8 A8 | JSR $A8F8 | perform DATA | |
B3DE | 4C 4F B4 | JMP $B44F | put execute pointer and variable pointer into function and return |
Prev: B39E | Up: Map | Next: B3E1 |