Prev: B7A1 Up: Map Next: B7E2
B7AD: perform VAL()
B7AD 20 82 B7 JSR $B782 evaluate string, get length in A (and Y)
B7B0 D0 03 BNE $B7B5 branch if not null string
string was null so set result = $00
B7B2 4C F7 B8 JMP $B8F7 clear FAC1 exponent and sign and return
B7B5 A6 7A LDX $7A get BASIC execute pointer low byte
B7B7 A4 7B LDY $7B get BASIC execute pointer high byte
B7B9 86 71 STX $71 save BASIC execute pointer low byte
B7BB 84 72 STY $72 save BASIC execute pointer high byte
B7BD A6 22 LDX $22 get string pointer low byte
B7BF 86 7A STX $7A save BASIC execute pointer low byte
B7C1 18 CLC clear carry for add
B7C2 65 22 ADC $22 add string length
B7C4 85 24 STA $24 save string end low byte
B7C6 A6 23 LDX $23 get string pointer high byte
B7C8 86 7B STX $7B save BASIC execute pointer high byte
B7CA 90 01 BCC $B7CD branch if no high byte increment
B7CC E8 INX increment string end high byte
B7CD 86 25 STX $25 save string end high byte
B7CF A0 00 LDY #$00 set index to $00
B7D1 B1 24 LDA ($24),Y get string end byte
B7D3 48 PHA push it
B7D4 98 TYA clear A
B7D5 91 24 STA ($24),Y terminate string with $00
B7D7 20 79 00 JSR $0079 scan memory
B7DA 20 F3 BC JSR $BCF3 get FAC1 from string
B7DD 68 PLA restore string end byte
B7DE A0 00 LDY #$00 clear index
B7E0 91 24 STA ($24),Y put string end byte back
Prev: B7A1 Up: Map Next: B7E2