Trailing-Edge
-
PDP-10 Archives
-
BB-J711A-BM
-
language-sources/syrlow.mac
There are 16 other files named syrlow.mac in the archive. Click here to see a list.
UNIVERSAL SYRLOW -- LOW SEGMENT DEFINITIONS FOR SYSERR
SUBTTL VERSION 14(1267) K. COYE/ RLD/ PJB/ ES/ TJW/ LWE/ SRL/ GSK
;COPYRIGHT (C) 1972,1975,1977,1978,1979 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
;TRANSFERED.
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
SEARCH SYRUNV
;INTERNALS DEFINED HERE ARE THOSE DEFINED AS A VALUE NOT A LOCATION.
INTERNAL FLGND,I.END,O.END,I.LNGH,O.LNGH,CHREND,FLGST
INTERNAL FLGSTP,BLTEND,ENTLTH,KLESIZ,KLEEND
RELOC 0 ;PUT THIS CODE IN NULL LOW SEG
LOWBEG=. ;START OF LOW SEGMENT ZEROING AREA
ONEPAS:: BLOCK 1 ;FLAG TO SAY ONE PASS OF SYSERR COMPLETE
;SHOULD NOT BE CLEARED ON MULTIPLE PASSES
INPBLK:: BLOCK 3
OUTBLK:: BLOCK 3
INPFIL:: BLOCK 36
OUTFIL:: BLOCK 4
OVRLAY:: BLOCK 17 ;HERE IS WHERE THE OVERLAYING CODE
;WILL BE BLT'ED
BK=OVRLAY+14 ;THANKS PAUL
INTBLK:: BLOCK 4 ;CTRL-C TRAP LIVES HERE
CCTRAP:: BLOCK 4 ;CTRL-C TRAP CODE LIVES HERE
BLTEND:: BLOCK 1 ;THIS IS REALLY LAST LOCATION IN OVRLAY BLOCK
IBUFF:: BLOCK 3
OBUFF:: BLOCK 3
;INPUT SPECIFICATION FILE BLOCK
A.ZER:: ;START OF FILE ZEROING AREA FOR SCAN USE
I.ST:: ;DUMMY START OF INPUT BLOCK SPECIFICATIONS
I.DEV:: BLOCK 1 ;INPUT DEVICE DEFAULT TO SYS
I.NAM:: BLOCK 1 ;FILENAME(NON-ZERO IF ANYTHING TYPED)
I.NAMM:: BLOCK 1 ;UNUSED
I.EXT:: BLOCK 1 ;EXTENSION IN LH OF WORD
I.MOD:: BLOCK 1 ;UNUSED
I.MODM:: BLOCK 1 ;UNUSED
I.DIR:: BLOCK 1 ;PPN OR ZERO IF DEFAULT TO USER'S
I.DIRM:: BLOCK .FXLND*2-1 ;DUMMY AREA FOR COMPATIBILITY WITH SCAN
I.BFR:: BLOCK 1 ;NBS STD TIME/DATE ARG RET WITH /BEFORE SWITCH
I.SNC:: BLOCK 1 ;NBS /SINCE ARG
I.END==.-1 ;LAST LOCATION IN INPUT SPECIFICATION AREA
I.LNGH==I.END-I.ST+1 ;LENGTH OF SPECIFICAATION BLOCK
;OUTPUT SPECIFICATION FILE BLOCK
O.ST:: ;DUMMY START OF OUTPUT BLOCK SPECIFICATIONS
O.DEV:: BLOCK 1 ;OUTPUT DEVICE DEFAULT TO DSK
O.NAM:: BLOCK 1 ;FILENAME(NON-ZERO IF ANYTHING TYPED)
O.NAMM:: BLOCK 1 ;UNUSED
O.EXT:: BLOCK 1 ;EXTENSION IN LH OF WORD
O.MOD:: BLOCK 1 ;UNUSED
O.MODM:: BLOCK 1 ;UNUSED
O.DIR:: BLOCK 1 ;PPN OR ZERO IF DEFAULT TO USER'S
O.DIRM:: BLOCK .FXLND*2-1 ;DUMMY AREA FOR COMPATIBILITY WITH SCAN
O.BFR:: BLOCK 1 ;NBS STD TIME/DATE ARG RET WITH /BEFORE SWITCH
O.SNC:: BLOCK 1 ;NBS /SINCE ARG
O.END==.-1 ;LAST LOCATION IN INPUT SPECIFICATION AREA
O.LNGH==O.END-O.ST+1 ;LENGTH OF SPECIFICATION BLOCK
;TABLE OF SWITCH FLAG LOCATIONS
DEFINE TBLCH1(A,B,C,D,E,F,G)<
A:: BLOCK 1
>
DEFINE TBLCH2(A,B,C)<
A:: BLOCK 1
>
FLGST=. ;TO ALLOW CALCULATION OF SWITCH OFFSET IN TABLE
DUMCH1
FLGSTP==<.-1>-FLGST ;DO NOT SET BITS IN ENTRY CHARACTERISTICS TABLE
;FOR ANY FLAGS PAST THIS
;THEY ARE /BEGIN,/END,/LIM ETC.
DUMCH2
FLGND=.-1
FLGLTH=FLGND-FLGST+1 ;LENGTH OF TABLE
;HERE WE DEFINE THE LOCATIONS USED FOR IPCF ON-LINE LOGGING
SLVMAX==5 ;[713-TJW]MAXIMUM NUMBER OF SLAVES ALLOWED
PDBLEN==6 ;[713-TJW]LENGTH OF PACKET DESCRIPTOR BLK
MSGLEN==8 ;[713-TJW]LENGTH OF MESSAGE
SELPID:: BLOCK 1 ;[713-TJW]PID FOR MASTER ERROR-LOGGER
OURPID:: BLOCK 1 ;[713-TJW]OUR PID
IPCPID:: BLOCK 1 ;[713-TJW]IPCC'S PID
OURPRV:: BLOCK 1 ;[713-TJW]OUR PRIVILEGE WORD
SELFLG:: BLOCK 1 ;[713-TJW]THIS FLAG WHEN -1 MEANS WE'RE MASTER
SLVCNT:: BLOCK 1 ;[713-TJW]COUNT OF SLAVES
SLVTBL:: BLOCK SLVMAX ;[713-TJW]TABLE OF SLAVES
SPDB:: BLOCK PDBLEN ;[713-TJW]PDB OF MESSAGE TO BE SENT
RPDB:: BLOCK PDBLEN ;[713-TJW]PDB OF MESSAGE RECIEVED
SMSG:: BLOCK MSGLEN ;[713-TJW]DATA AREA OF MESSAGE TO BE SENT
RMSG:: BLOCK MSGLEN ;[713-TJW]DATA AREA OF RECIEVED MESSAGE
;GENERATE THE SUMMARY COUNTERS
DEFINE TBLFLG(A)<
A'TMP:: BLOCK 1
A'PER:: BLOCK 1
>
SUMFST=.
DUMFLG
SUMFND=.-1
DEFINE TBLENT(A,B,C,D,E)<
ENTLTH=ENTLTH+1
TYPMAX=A
>
;GENERATE THE ENTCHR TABLE
ENTLTH=0
DUMENT
ENTCHR:: BLOCK TYPMAX+1
ENTLTH==TYPMAX+1
CHREND==.-1
;RANDOM & MISC. STORAGE AREA
CHRCNT:: BLOCK 1 ;# OF CHARACTERS USED IN LINE [724]
OUTBYT:: BLOCK 1 ;BYTE POINTER TO LAST USED BYTE IN 'OUTBUF'
SPACNT:: BLOCK 1 ;SECONDARY CHARACTER COUNTER FOR CR's AT SPACES
OUTCNT:: BLOCK 1 ;COUNT OF # OF BYTES USED IN 'OUTBUF'
OUTBUF:: BLOCK OUTSIZ/5 ;CHARACTER OUTPUT BUFFER
BRFDAT:: BLOCK 1 ;CONTAINS LAST DATE USED IN BRIEF HEADER
DXFNUM:: BLOCK 1 ;COUNT OF ABORTED DX20 ENTRIES
SEQTAB:: BLOCK SEQMAX ;[532]TABLE OF SEQ NUM TO LIST
SEQIND:: BLOCK 1 ;CURRENT INDEX TO SEQTAB
SEQNUM:: BLOCK 1 ;CURRENT SEQUENCE NUMBER
SPFLAG:: BLOCK 1
LINCTN:: BLOCK 1
OVRBLK:: BLOCK 6 ;SPEC AREA FOR OVERLAYS
SAVEAC:: BLOCK 20 ;AC'S SAVED HERE DURING GETSEG'S.
HDVER1:: BLOCK 1 ;-1 IF HEADER VERSION IS 1
TOPONE:: BLOCK 1 ;-1 IF ONE TOPS-20 ENTRY PROCESSED
; USED IN SYSERS.
TOPMON:: BLOCK 1 ;-1 IF TOPS20 MONITOR IS RUNNING
TOPENT:: BLOCK 1 ;-1 IF TOPS20 RECORDED ENTRY
KSMON:: BLOCK 1 ;-1 IF ENTRY RECORDED ON A KS-10 [750]
.LBN:: BLOCK 1 ;LOGICAL BLOCK NUM OF LAST ERROR
ERTYPE:: BLOCK 1
ERRIND:: BLOCK 1 ;OFFSET INTO ENTRY TABLES WAS ERTYPE BEFORE
ALLIND:: BLOCK 1 ;SAME AS ABOVE BUT FOR ALL TYPES
HEADWC:: BLOCK 1
ENTRWC:: BLOCK 1
TOTWC:: BLOCK 1
.DATE:: BLOCK 1 ;TODAYS DATE
.TIME:: BLOCK 1 ;CURRENT TIME
RELTIM:: BLOCK 1
STDATE:: BLOCK 1
ENDATE:: BLOCK 1
MSTIMX:: BLOCK 1 ;TIME IN MS OF LAST ENTRY PROCESSED
BADTYP:: BLOCK 1 ;STORE ILLEGAL OR UNKNOWN ERROR TYPES HERE
OFFSET:: BLOCK 1 ;STORE AOBJN PTR HERE FOR LATER ACCESS TO WKBUFF
BUFOFF:: BLOCK 1 ;OFFSET TO FIRST ENTRY IN CURRENT BLOCK
SUBLK1:: BLOCK 1 ;SUB BLOCK POINTERS
SUBLK2:: BLOCK 1
AOBPNT:: BLOCK 1 ;AOBJN POINTER STORAGE
SYSSER:: BLOCK 1 ;SYSTEM SER#
HDRLBL:: BLOCK 1 ;POINTER TO PAGE HEADER TITLE
FILCNT:: BLOCK 1 ;COUNT OF INCONSISTENCIES IN ERROR FILE
BLKCNT:: BLOCK 1 ;# OF BLOCKS READ IN CURRENT FILE
BLKWDS:: BLOCK 1 ;# OF WORDS IS CURRENT BLOCK
BLKPNT:: BLOCK 1 ;POINTER FOR BYTE OPERATION
FILDAT:: BLOCK 77 ;CREATION DATE OF SYSTEM ERROR FILE
; FOR 77 ERROR FILES
CUREXT:: BLOCK 1 ;CURRENT INPUT FILE EXT IN SIXBIT
CURIND:: BLOCK 1 ;DITTO IN OCTAL SANS "X"
FILEST:: BLOCK 1 ;DATE/TIME OF FIRST ENTRY
FILEND:: BLOCK 1 ;DATE/TIME OF LAST ENTRY
PAGNUM:: BLOCK 1
SWITCH:: BLOCK 1 ;321- ADDR OF /CPUALL ETC SPEC'D IN COMMAND
LINCNT:: BLOCK 1
KONTYP:: BLOCK 1
DVINDX:: BLOCK 1
HDBUFF:: BLOCK HDSIZE
RLDWHY:: BLOCK 1 ;EDIT #106
MSEWHY:: BLOCK 1 ;EDIT #113
WHOSLM:: BLOCK 1 ;SUMMARY OF /WHO FOR SYSTEM LOG
DEVWHY:: BLOCK 1 ; " " /DEV " " "
WKBUFF:: BLOCK WKSIZE
EPEADD:: BLOCK 1 ;LH=LOGICAL "AND"
EPEDAT:: BLOCK 1 ;RH=LOGICAL "OR"
MDEDTP:: BLOCK 1 ;DEV TYPE & CHARACTERISTICS FOR MASSBUS
ONE021:: BLOCK 1 ;AT LEAST 1 CODE 21 SEEN
ONE020:: BLOCK 1 ;AT LEAST 1 CODE 20 SEEN
RH1HDR:: BLOCK 1 ;[551] AT LEAST 1 RH10 ENTRY, LIST HDR
RH2HDR:: BLOCK 1 ;[551] DITTO FOR RH20
R11HDR:: BLOCK 1 ;[1133] DITTO FOR RH11.
MASONE:: BLOCK 1 ;AT LEAST 1 CODE 11 ENTRY SEEN
MASKON:: BLOCK 1 ;MASSBUS CTRLR TYPE (ALSO IS INDEX FOR CNIDCD)
TAPKON:: BLOCK 1 ;MAGTAPE CON TYPE FOR CODE 21 ENTRIES
MASIND:: BLOCK 1 ;INDEX INTO MASSBUS DEVICES TABLES
PASCNT:: BLOCK 1 ;FOR HWDUMP
ITCNT:: BLOCK 1 ; "
OFFCNT:: BLOCK 1 ;OFFSETS FOR HWDUMP
ADCNT:: BLOCK 1 ; "
KFLAG:: BLOCK 1 ;NEXT FOUR ARE USED
MEMCTR:: BLOCK 1 ;WITH BITLST ROUTINE
WDCTR:: BLOCK 1
ENDADR:: BLOCK 1
PDLST:: BLOCK LPDL
TICSEC:: BLOCK 1 ;TICKS/SEC FROM CODE 5 ENTRY
DATLOC:: BLOCK ^D10 ;STORAGE FOR CONVERTED DATE AND TIME
RSPCNT:: BLOCK 1 ;ADDED WITH 553 FOR RESPONSE TABLE
RSPIDX:: BLOCK 1
RSPIX1:: BLOCK 1
DIFRSP:: BLOCK ^D20
NUM030:: BLOCK 20 ;COUNTS FOR CODE 030 DEVICES [1212]
NUH030:: BLOCK 20 ;COUNTS HIGHER THAN 200 FOR DEVICE CODES
PAKSIZ:: BLOCK 1 ;SIZE OF CURRENT X30 DATA PACKET IN 8 BIT BYTES
KLEPNT:: BLOCK 1 ;POINTER TO BUILD KLEFIL
KLEFL1:: BLOCK 1 ;-1 =NEXT 201 STARTS KLEFIL
KLEFL2:: BLOCK 1 ;-1= BUILDING KLEFIL
KLEFL3:: BLOCK 1 ;-1= LAST PACKET
KLEFL4:: BLOCK 1 ;-1=SKIPPING WORDS BETWEEN RECORDS
KLEFL5:: BLOCK 1 ;-1=BUILDING 2ND RECORD OF KLERROR
KLESKP:: BLOCK 1 ;# WDS TO SKIP BETWEEN RECORDS
KLESIZ=1000 ;DEFAULT SIZE OF KLEFIL
KLE1FL:: BLOCK KLESIZ ;SPACE FOR SECOND RECORD OF KLERROR
KLEFIL:: BLOCK KLESIZ ;FILE SPACE
KLEEND:: BLOCK 1 ;[1130] KLERROR BYTE FLAG
; DYNAMIC TABLE ALLOCATOR LIST ANCHORS [1200]
ALCFLG:: BLOCK ANCSIZ ;ALLOCATOR WORK SPACE
BUGLST:: BLOCK ANCSIZ ;BUGXXX SUMMARY LIST
FE.LST:: BLOCK ANCSIZ ;FRONT-END SUMMARY LIST
MASLST:: BLOCK ANCSIZ ;MASSBUS DEVICE ERROR BIT SUMMARY LIST
CHNTOT:: BLOCK ANCSIZ ;CHANNEL ERROR TOTALS [1217]
CHNLST:: BLOCK ANCSIZ ;CONI RH ERROR BIT SUMMARY LIST [1217]
;MISC SPACE FOR ALLOCATOR CALLS
KEYBUF:: BLOCK KEYMAX ;KEY WORD ARGUMENT BLOCK
;DEFINE SCRATCH BLOCKS FOR TOPS10 DEVICES
DEFINE DUMDV(A)<
A'BK:: BLOCK 2
>
DUMDVA
A.ZEND==.-1 ;END OF AREA TO CLEAR ON INITIALIZATION
;GENERATE THE ACTUAL ERROR BIT COUNTERS
DEFINE DUMDV(A)<
A'SF:: BLOCK NUMRCB
A'HD:: BLOCK NUMRCB
>
DUMFH
DEFINE DUMDV(A)<
A'SF:: BLOCK NUMRPB
A'HD:: BLOCK NUMRPB
>
DUMDP
DEFINE DUMDV(A)<
A'SF:: BLOCK 11
A'HD:: BLOCK 11
>
DUMTM
DEFINE DUMDV(A)<
A'SF:: BLOCK NUMRHB
A'HD:: BLOCK NUMRHB
>
DUMFS
DUMRP
;NOW GENERATE THE BIT COUNTERS FOR MASSBUS DEVICE REGISTERS.
; RS04'S
DEFINE DUMDV (A)<
A'DS:: BLOCK NURS02
A'DH:: BLOCK NURS02
>
DUMFS
;RP04'S
DEFINE DUMDV (A)<
A'DS:: BLOCK NURP02
BLOCK NURP10
BLOCK NURP15
A'DH:: BLOCK NURP02
BLOCK NURP10
BLOCK NURP15
>
DUMRP
;FOR TU16 &45 ASSUME THAT ANY MT DEVICE MAY BE APPLICABLE
;WASTES SPACE IN LOW SEG BUT IS ONLY AVAIL. METHOD. IF
;YOU HAVE A BETTER IDEA,PLEASE SUBMIT AN SPR AND THANKS.
DEFINE DUMDV (A)<
A'DS:: BLOCK NUT602
A'DH:: BLOCK NUT602
>
;THIS WILL PRODUCE BLOCKS TO COUNT DETECTED ERROR BITS IN DEVICE ERROR REG
DUMTM
DEFINE DUMDV(A)<
A'ST:: BLOCK NUMSFB
A'SP:: BLOCK NUMSFB
>
DUMDVA
TENEND=.+1 ;STOP HERE IF TOPS 10 SYSTEM RUNNING
;TOPS-20 ERROR COUNTERS DELETED WITH EDIT [1217] - DYNAMIC COUNTERS
LIT
END