| 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 |