Google
 

Trailing-Edge - PDP-10 Archives - BB-L288A-RM - swskit-changed-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 15A(1363)	K. COYE/ RLD/ PJB/ ES/ TJW/ LWE/ SRL/ GSK





;COPYRIGHT (C) 1972,1975,1977,1978,1979,1980 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		;POINTER TO LAST USED BYTE IN 'OUTBUF'
SPACNT::	BLOCK	1		;SECONDARY CHAR 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		;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
OVREXT::	BLOCK	10		;EXTENDED BLOCK FOR SFD'S [1305]
SAVEAC::	BLOCK	20		;AC'S SAVED HERE DURING GETSEG'S.
HDVER1::	BLOCK	1		;-1 IF HEADER VERSION IS 1
TOPONE::	BLOCK	1		;[400]
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
LOWEND::	BLOCK	1		;JUST FOR END OF THIS STUFF
; 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


	DEFINE	DUMDV(A)<
A'SF::	BLOCK	NUMRNB
A'HD::	BLOCK	NUMRNB
>
	DUMRN

;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