Submitted by Steve Fewell
Description:
Call the Evaluate value routine (&96B4) which will evaluate the next value at BASIC text
pointer B location, or the expression at that location if the value begins with an open bracket ("(")
and convert the result to an Integer value (or generate a Type mismatch error if the value was a String).
Starting at the Most significant byte of the IWA (&2D), EOR (exclusive-OR) each byte of the IWA with
&FF (&2D through to &2A). This will reverse the value in the IWA.
Set A to #&40 (meaning that the current value is an Integer) and exit.
AA93 | 032 180 150 | 20 B4 96 | JSR &96B4 Get value and convert it to Integer | |
AA96 | 162 003 | A2 03 | LDX#&03 | |
AA98 | * | 181 042 | B5 2A | LDA &2A,X |
AA9A | I | 073 255 | 49 FF | EOR#&FF |
AA9C | * | 149 042 | 95 2A | STA &2A,X |
AA9E | 202 | CA | DEX | |
AA9F | 016 247 | 10 F7 | BPL -9 --> &AA98 | |
AAA1 | 128 237 | 80 ED | BRA -19 --> &AA90 Exit with A=&40 [LDA#&40 : RTS] |