Splitting the Atom back exit forward page 19
F000 to F02D Command word table and action addresses.
Includes PLOT, MOVE, DRAW, CLEAR, DIM, OLD, WAIT and [.
F02E to F04A An array pre-test, looks for two consecutive characters being the same, thus identifying an array.
F04B to F082 Interpreter for the above command words. jumps to the appropriate action addresses.
F08B to F0AD A subroutine called by F02E to pull the array start address from the table of array addresses (as LSB=2EB,Y and MSB=306,Y) and places it on the workspace stack.
F0AE to F140 Executes DIM command as follows:
F0AE - Simple string dimension: set simple variable values (lower 2 bytes) to next free RAM space, and points DIM vector at (23) to the next available space.
F0D7 - set up array dimensions. Sets the appropriate array variable pointer (see F08B)., and points DIM vector to next available space.
F119 - check that DIM vector has not exceeded available RAM, and cause error 30 if it has.
F131 - take action on additional items separated by commas in the same DIM statement.
F141 to F14B Executes the RUN command. Sets DIM vector at (23) equal to TOP, then jumps to CE83. This is the correct GO address for BASIC programs that use a DIM statement. CE86 may also be used if there are no DIM commands.
F14C to F154 Executes the WAIT command (uses FE66).
F155 to F290 Assembler data and look-up tables.
F291 to F29B A subroutine to fetch the next non-space character in the BASIC statement being interpreted. It uses 5,(?3) as a pointer, and returns with ?3 pointing at the first non-space character.
F2A1 to F375 Executes the "[" command (start assembler).
F2A3 - deals with "}".
F32E - deal with assembler labels.
F360 - deal with assembler REMs (/).
F36B - deal with statement separator (;)
F376 to F37D A subroutine to print the contents of the accumulator as two hex characters followed by a space. Used by the assembler listing display.
F37E to F38D Byte-printing routine called by F376 above.

back exit forward