Splitting the Atom back exit forward page 20
F38E to F530 Various routines used by the assembler.
F399 - separate label, separator(;), and REMs (/).
F3F2 - separate immediate (@), indirect( () ), and accumulator mnemonics.
F454 - act on immediate mode (@).
F462 - act on indirect mode (()).
F49B - act on accumulator commands (e.g. ROL A).
F511 - print "OUT OF RANGE".
F514 - the string "OUT OF RANGE".
F531 to F541 Carries out the OLD command. Exits to END at CD9B.
F542 to F641 Carries out MOVE, DRAW, and PLOT commands.
F542 - entry point for MOVE
F546 - entry point for DRAW
F54E - entry point for PLOT
F644 to F67A Subroutines used by MOVE, DRAW, and PLOT.
F668 - decrement the vector (5A),X.
F671 - increment the vector (5A),X.
F678 - plot point subroutine ( JMP(3FE) ). 3FE/3FF depends on the mode set by the CLEAR command (see below).
F67B to F6CF Carries out the CLEAR command. This sets up the word at B000 for the CRT controller, and places the appropriate point plot routine address in 3FE/3FF.
F6C2 to F6CF Carries out CLEAR 0.
F6CF to F6E1 Graphics mode control data, including appropriate clear mode and point control routine addresses, and CRT controller words for B000 (port control from PIA).
F6E2 to F7C8 Point PLOT subroutines used by MOVE, DRAW, PLOT.
It requires the X co-ordinate in 5A,5B; the Y co-ordinate in 5C,5D; 5E=0 clears point, 5E=1 sets the point and 5E=2 inverts the point. Entry points are:
MODE	ADDRESS
0	F6E2
1	F73B
2	F754
3	F76D
4	F7AA
F7C9 to F7D0 Data used by point plot routines at F6E2 et. al.
F7D1 to F7EB A subroutine that is useful for printing from your own machine code program. When this routine is called, all bytes after the call are considered to be ASCII code, which is outputted to the screen. The routine will terminate back to your machine code program when it encounters a negative number (NOP is a good one). See example of use in chapter 6.

back exit forward