.NLIST .ENABL LC ;+ ; ; Free software BY ; Project Software & Development, Inc. ; ; This software is furnished for free and may be used and copied as ; desired. This software or any other copies thereof may be provided or ; otherwise made available to any other person. No title to and ; ownership of the software is hereby transferred or allowed. ; ; The information in this software is subject to change without notice ; and should not be construed as a commitment by PROJECT SOFTWARE ; AND DEVELOPMENT, INC. ; ; PROJECT SOFTWARE assumes no responsibility for the use or reliability ; of this software on any equipment whatsoever. ; ; Project Software & Development, Inc. ; 14 Story St. ; Cambridge, Ma. 02138 ; 617-661-1444 ; ; ; Title: CATPRE.MAC ; Author: Robin Miller ; Date: July 20, 1982 ; ; Description: ; ; This file contains common macros and the symbol for controlling DEBUG. ; ; Modification History: ; ;- .ENABL AMA ; Define the next symbol when debugging so privileged code won't be assembled. ; DEBUG = 0 ; Define for DDT debugging. ; Assemble: CAT, CATPRV, CATRUN. ; Local macros: ; Move ASCIZ string without trailing zero. .MACRO MVZ,RA,RB,?A,?B A: TSTB (RA) BEQ B MOVB (RA)+,(RB)+ BR A B: .ENDM ; Macro to output a message to the terminal. .MACRO WRTMSG LABEL,MSG .NCHR $$$, .PSECT $MSGS,RO,D,REL,CON LABEL: .ASCII "MSG" .PSECT MOV #LABEL,R0 MOV #$$$,R1 CALL WRITE .ENDM ; Macro to write a VT100 escape sequence. .MACRO VTWRT LABEL,MSG .PSECT $MSGS,RO,D,REL,CON .NCHR $$$,^/MSG/ LABEL: .ASCII "MSG" .PSECT MOV #LABEL,R0 MOV #<$$$+1>,R1 CLR VFC CALL WRITE .ENDM ; Local eqautes: BELL = 7 ; ASCII CODE FOR BELL TAB = 11 ; ASCII CODE FOR TAB FF = 14 ; ASCII CODE FOR FORMFEED LF = 12 ; ASCII CODE FOR LINE FEED CR = 15 ; ASCII CODE FOR CARRIAGE RETURN ESC = 33 ; ASCII CODE FOR ESCAPE SPACE = 40 ; ASCII CODE FOR SPACE COMMA = 54 ; ASCII CODE FOR COMMA COLON = 72 ; ASCII CODE FOR COLON EQUALS = 75 ; ASCII CODE FOR EQUAL SIGN SPNEFN = 1 ; SPAWN EVENT FLAG CATLUN = 2 ; LUN FOR FILE I/O TOLUN = 3 ; TERMINAL OUTPUT LUN TOEFN = 3 ; AND THE EVENT FLAG SCLUN = 4 ; Scratch logical unit number. TILUN = 5 ; LUN FOR TERMINAL I/O TIEFN = 5 ; EVENT FLAG FOR TI0: MRKEFN = 6 ; MARK TIME EVENT FLAG .LIST