Submitted by Steve Fewell
This routine is called when the 'TO'-Token is encountered in the program.
However, 'TO' itself is not handled by this routine, instead the 'FOR' routine will check that the
'TO'-Token occurs at the requested position, etc...
The BASIC Keyword 'TOP' does not have it's own token, as it consists of the 'TO' token followed by the letter 'P'.
Firstly, this routine checks whether the character after the 'TO'-Token is a 'P' or not.
If the character is not a 'P' then a 'No such variable error' is generated as the 'TO' BASIC Keyword
is only valid within a 'FOR' statement.
Otherwise, the keyword we have is 'TOP'.
So, increment the BASIC Text Pointer B offset to point to the character after the 'P'.
Set A to &12 (The LSB of the TOP address).
Set Y to &13 (The MSB of the TOP address).
Call routine &AE1A to set the IWA to the value of Y * 256 + A.
Description:
ADF9 | 200 | C8 | INY | |
ADFA | 177 025 | B1 19 | LDA (&19),Y | |
ADFC | P | 201 080 | C9 50 | CMP#&50 |
ADFE | 208 140 | D0 8C | BNE -116 --> &AD8C No such variable error | |
AE00 | 230 027 | E6 1B | INC &1B | |
AE02 | 165 018 | A5 12 | LDA &12 | |
AE04 | 164 019 | A4 13 | LDY &13 | |
AE06 | 128 018 | 80 12 | BRA 18 --> &AE1A Set IWA to 16-bit value |