TITLE "mp5/main.a by Douglas Jones" ; Dec 1, 2005 S START USE "hawk.macs" USE "monitor.h" USE "boxortext.h" COMMON STACK,#1000 PSTACK: W STACK ; ----------------- linkage ------------------ ; these lines provide a link to the test data structures EXT ITEM1 PITEM1: W ITEM1 ; ----------------- static data ------------------ ORIGIN: MAKECOORDINATES 0, 0 ; X origin SUBTITLE "main program based on that for MP2" ; -------------------------------------------- START: LOAD R2,PSTACK ; set up the stack LOAD R1,PDSPINI JSRS R1,R1 ; initialize the display LOAD R3,PITEM1 ; p = pitem1, points to start of list MAINLP: ; for (;;) { TESTR R3 BZS MAINQ ; if (p == NULL) exit ; -- parameter p is already in place LEA R4,ORIGIN ; -- parameter origin LOAD R1,R3,RENDER JSRS R1,R1 ; call p.render( p, origin ) LOAD R3,R3,NEXT ; p = p->next BR MAINLP ; } MAINQ: LOAD R1,PEXIT JSRS R1,R1 ; call monitor routine to stop! END