; VRDATA -- form .TITLE, .IDENT, etc. ; define variables RLS (release) and VZN (version) .MACRO VRDATA RLEAS,VRZHN .MCALL .MODULE .MODULE UCL,RELEASE=V'RLEAS,VERSION=VRZHN,COMMENT=,,,AUDIT=YES,GLOBAL=VZN,,MODNAME= RLS ==:'RLEAS'. .ENDM ; PUSH -- push thing(s) onto stack .MACRO PUSH THINGS .IRP THING, MOV THING,-(SP) .ENDR .ENDM ; POP -- pop thing(s) off stack .MACRO POP THINGS .IRP THING, MOV (SP)+,THING .ENDR .ENDM ; .GETCOM -- extract a command from a string .MACRO .GETCO BUFR,CBUFR,TMTABL .IF NB .IF DIF ,R0 MOV BUFR,R0 .ENDC .ENDC .IF NB .IF DIF ,R1 MOV CBUFR,R1 .ENDC .ENDC .IF DIF ,R2 MOV R2,-(SP) .IF NB MOV TMTABL,R2 .IFF MOV #TMTBL,R2 .ENDC .ENDC CALL GETCOM .IF DIF ,R2 MOV (SP)+,R2 .ENDC .ENDM ; .CSCAN -- identify a command .MACRO .CSCAN CBUFR,RSAL .IF NB .IF DIF ,R1 MOV CBUFR,R1 .ENDC .ENDC .IF NB .IF DIF ,R4 MOV RSAL,R4 .ENDC .ENDC CALL CSCAN .ENDM ; .PRLIN -- make call to PLINE routine work like .PRINT .MACRO .PRLIN ADDR .IF NB .IF DIF ,R0 .IF DIF ,#0 MOV ADDR,R0 .IFF CLR R0 .ENDC .ENDC .ENDC CALL PLINE .ENDM