.IIF NDF L$$IST, .NLIST ; ; PREFIX FILE FOR RSX-11 TECOIO ASSEMBLY ; ; VERSION R0216 ; ; COPYRIGHT (C) 1976 BY DIGITAL EQUIPMENT CORPORATION, ; MAYNARD, MASSACHUSETTS ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE IN- ; CLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ; ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE ; MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH ; SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE ; TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN ; IN DIGITAL. ; ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITH- ; OUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY ; DIGITAL EQUIPMENT CORPORATION. ; ; DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ; THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT WHICH IS ; NOT SUPPLIED BY DIGITAL. ; ; ANDREW C. GOLDSTEIN 9-APR-79 20:15 ; MARK H. BRAMHALL 10-APR-79 23:18 TECTTY = 1 ; 1 FOR TECO MODE; ELSE 0 (AFFECTS ONLY "LISTEN") .ENABL LC ; ; MACRO TO SIGNAL AN ERROR EXIT. IT CAUSES TECOIO TO MAKE AN ; ERROR RETURN WITH THE C BIT SET, A 3 CHARACTER RAD-50 ERROR ; CODE IN R1, AND A POINTER TO AN ERROR TEXT STRING IN R2. ; THE STRING AND POINTER ARE SUPPRESSED IF THE SYMBOL "ERRTXT" ; IS DEFINED AS ZERO. THE MACRO OPTIMIZES OUT REDUNDANT ERROR ; STRINGS. ; .MACRO ERROR ERCOD,TEXT .IF NDF,$E$'ERCOD $E$'ERCOD: .IFF .IF EQ,.-$E$'ERCOD $E$'ERCOD: .ENDC .ENDC .IF GE,.-$E$'ERCOD-400 JMP $E$'ERCOD .MEXIT .ENDC .IF NE,.-$E$'ERCOD BR $E$'ERCOD .MEXIT .ENDC JSR R4,ERRORX .RAD50 "ERCOD" .PSECT ER$TXT,RO,D,GBL $$$TXT = . .ASCIZ TEXT .PSECT CODE .WORD $$$TXT .ENDM ERROR ; ; MACRO TO CALL GENERAL REGISTER SAVE ROUTINE. SAVE DOES A COROUTINE ; RETURN SO THAT AN RTS PC WILL DO A PROPER RESTORE AND RETURN. ; .MACRO SAVE JSR R4,SAVREG .ENDM SAVE ; ; MACRO TO DO SOB INSTRUCTION FOR RUNNING ON MACHINES WITHOUT EIS. ; .MACRO SOB RX,TAG DEC RX BNE TAG .ENDM ; ; SPECIAL CHARACTERS RECOGNIZED. ; CTRLC = 3 ; CONTROL C BELL = 07 ; DING BS = 10 ; BACKSPACE TAB = 11 ; HORIZONTAL TAB LF = 12 ; LINE FEED VT = 13 ; VERTICAL TAB FF = 14 ; FORM FEED CR = 15 ; CARRIAGE RETURN CTRLZ = 32 ; CONTROL Z AM = 33 ; ALT MODE SPACE = 40 ; SPACE RUB = 177 ; RUBOUT ; ; OFFSETS TO CALLER'S REGISTERS SAVED ON STACK. ; NOTE THAT THESE ARE SENSITIVE TO THE OPERATION OF THE ; SAVREG ROUTINE! ; SR0 = 2 ; R0 SR1 = 4 ; R1 SR2 = 6 ; R2 SR3 = 10 ; R3 SR4 = 12 ; R4 SR5 = 14 ; R5 ; ; INTERFACES WITH TECO. ; ; ; RAD-50 CODE TO SIGNAL FILE NOT FOUND ; FNFERR = <<'F-100>*50*50>+<<'N-100>*50>+<'F-100> ; ; SIZE OF FILE NAME BUFFER (ALSO LENGTH OF MAX ACCEPTABLE COMMAND) ; FILSIZ = 132. ; ; FUNCTION CODE TO READ SIZE OF TYPE-AHEAD BUFFER. IT IS LOCALLY DEFINED ; SINCE IT IS NOT UNIVERSALLY SUPPORTED ; TC.TBF = 57. ; ; FUNCTION CODE FOR TERMINAL READ WITH TERMINATOR MASK. USED TO DETECT ; PRESENCE OF NEW 11M TERMINAL DRIVER ; IO.RTT = 5001 ; ; NAMES FOR CONTROL BITS IN THE ET FLAG ; ET.IMG = 1 ; IMAGE MODE TYPEOUT ET.CRT = 2 ; USE CRT TYPE RUBOUTS ET.LOC = 4 ; ACCEPT LOWER CASE INPUT ET.NCH = 10 ; NO ECHO ON ^T TYPE IN ET.CCO = 20 ; CANCEL CONTROL O BEFORE OUTPUT ET.CKE = 40 ; RETURN -1 ON ^T IF NO INPUT READY ET.DET = 100 ; SET TO DETACH TERMINAL ET.EXI = 200 ; EXIT ON ERRORS - NO MESSAGES ET.TRN = 400 ; TRUNCATE LINES ON OUTPUT ET.VT52 = 1000 ; SCOPE ROUTINE AND VT52 AVAILABLE ET.VT11 = 2000 ; SCOPE ROUTINE AND VT11 AVAILABLE ET.CC = 100000 ; CONTROL C TRAP FLAG ; ; NAMES FOR CONTROL BITS IN THE ED FLAG ; ED.CAR = 1 ; CARET IN SEARCH STRINGS ED.NPR = 2 ; NO YANK PROTECTION ED.SML = 4 ; SMALL BUFFER TECO ED.SRH =20 ; DON'T RESET "DOT" ON SEARCH FAILURE ; ; LUN USAGE. ; CMDLUN = 1 ; INDIRECT COMMAND FILE INPUT TTYLUN = 2 ; CONSOLE TTY OUTLUN = 3 ; OUTPUT FILE INLUN = 4 ; INPUT FILE MOLUN = 5 ; MO FOR I/O ERROR INTERPRETATION TDRLUN = 6 ; LUN FOR TEMP DIRECTORY ENLUN = 7 ; LUN FOR "EN" OPERATIONS TTYEFN = 4 ; EFN FOR TTY I/O KILEFN = 5 ; EFN FOR I/O KILL OPERATIONS ATTEFN = 6 ; EFN FOR ATTACH/DETACH OPERATIONS ; ; MACRO TO DO TASK EXPANSION. KEEP THIS UNTIL THE RSX-11M PEOPLE ; MANAGE TO GET IT INTO THE MACRO LIBRARY. ; .MACRO EXRG$S SIZE .MCALL DIR$ CLR -(SP) MOV SIZE,-(SP) MOV #<3*400!89.>,-(SP) DIR$ .ENDM EXRG$S .IIF NDF L$$IST, .LIST