ASSEMBLER DEFINITIONS

MACRO MOV34
   R1 [ SP 12 # ] LDR,
   R2 [ SP 8 # ] LDR,
   R0 4 # MOV,
   69 SWI,
END-MACRO

MACRO MOV56
   R1 [ SP 20 # ] LDR,
   R2 [ SP 16 # ] LDR,
   R0 4 # MOV,
   69 SWI,
END-MACRO

MACRO PLOT4
   >R R0 R> # MOV,
   R1 [ SP 4 # ] LDR,
   R2 [ SP ] 16 # LDR,
   69 SWI,
END-MACRO

MACRO PLOT6
   >R R0 R> # MOV,
   R1 [ SP 4 # ] LDR,
   R2 [ SP ] 24 # LDR,
   69 SWI,
END-MACRO

FORTH DEFINITIONS
VOCABULARY GRAPHICS IMMEDIATE
GRAPHICS DEFINITIONS

CODE SOLID-LINE
   MOV34
   5 PLOT4
   PC R14 MOV,
END-CODE

CODE DOTTED-LINE
   MOV34
   21 PLOT4
   PC R14 MOV,
END-CODE

CODE POINT
   SP ! { R2 } LDMFD,
   SP ! { R1 } LDMFD,
   R0 69 # MOV,
   69 SWI,
   PC R14 MOV,
END-CODE

CODE TRIANGLE
   MOV56
   MOV34
   85 PLOT6
   PC R14 MOV,
END-CODE

CODE RECTANGLE
   MOV34
   101 PLOT4
   PC R14 MOV,
END-CODE

CODE PARALLELOGRAM
   MOV56
   MOV34
   117 PLOT6
   PC R14 MOV,
END-CODE

CODE FILLCIRCLE
   MOV34
   157 PLOT4
   PC R14 MOV,
END-CODE

CODE OUTLCIRCLE
   MOV34
   149 PLOT4
   PC R14 MOV,
END-CODE

CODE ARC
   MOV56
   MOV34
   165 PLOT6
   PC R14 MOV,
END-CODE

CODE SEGMENT
   MOV56
   MOV34
   173 PLOT6
   PC R14 MOV,
END-CODE

CODE SECTOR
   MOV56
   MOV34
   181 PLOT6
   PC R14 MOV,
END-CODE

CODE FILLELLIPSE
   MOV56
   MOV34
   205 PLOT6
   PC R14 MOV,
END-CODE

CODE OUTLELLIPSE
   MOV56
   MOV34
   197 PLOT6
   PC R14 MOV,
END-CODE

CODE COLOUR
   R0 17 # MOV,
   0 SWI,
   SP ! { R0 } LDMFD,
   0 SWI,
   PC R14 MOV,
END-CODE

CODE GCOL
   R0 18 # MOV,
   0 SWI,
   R0 [ SP 4 # ] LDR,
   0 SWI,
   R0 [ SP ] 8 # LDR,
   0 SWI,
   PC R14 MOV,
END-CODE

FORTH DEFINITIONS