Prev: B39E Up: Map Next: B3E1
B3B3: perform DEF
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