Google
 

Trailing-Edge - PDP-10 Archives - de-10-omona-v-mc9 - syrlow.mac
There are 16 other files named syrlow.mac in the archive. Click here to see a list.
;<SYSERR>SYRLOW.MAC.6, 31-Jul-78 16:53:26, EDIT BY WOJCIK
;<SYSERR>SYRLOW.MAC.5, 12-Jul-78 11:12:36, EDIT BY WOJCIK
;CLEAN UP DEFINTIONS TO LOOK NEAT
;<SYSERR>SYRLOW.MAC.4, 12-Jul-78 10:44:30, EDIT BY WOJCIK
;<SYSERR>SYRLOW.MAC.3,  6-Jul-78 11:36:42, EDIT BY WOJCIK
;CHANGE VERSION TO 13(1000)
;<SYSERR>SYRLOW.MAC.2, 30-Jun-78 09:08:16, EDIT BY IQL-BAKER
;ADD KSMON LOCATION FOR KS10 FLAG
;<SYSERR>SYRLOW.MAC.1, 22-Jun-78 11:16:23, EDIT BY WOJCIK
;HERE WE BEGIN TRACKING EDITS

	UNIVERSAL	SYRLOW -- LOW SEGMENT DEFINITIONS FOR SYSERR
	SUBTTL	VERSION 12A(1013)		K. COYE/ RLD/ PJB/ ES/ TJW





;COPYRIGHT (C) 1972,1975,1977,1978 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
;*;	SEARCH	SCNMAC


	;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,LOWEND,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 CODE LIVES HERE
BLTEND::	BLOCK	1	;(NOT ANY MORE-RLD)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
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		;[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#
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
BG%WHY::	BLOCK	1	;
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
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		;
NUM130::	BLOCK 20	;COUNTS FOR CODE 130 DEVICES
NUH130::	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=.+1			;[311]END OF FILE AREA



	;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.
	;FIRST RS04'S

	DEFINE	DUMDV (A)<
	A'DS::	BLOCK NURS02
	A'DH::	BLOCK NURS02
	>
	DUMFS
	;NOW FOR 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
	;GENERATE 1 WORD SCRATCH MASSBUS BLOCKS FOR EACH DEVICE
	;FOUND IN THE ERROR FILEON THE SYSTEM
	;USED WITH THE FNDIND ROUTINE IN SYSERD AND SYSERS SEGMENTS

	DEFINE	DUMDV	(A)<
A'T::	BLOCK 1
>
	DUMDVB

	;THIS HANDLES THE KONTROLLER BITS
	;RH11 HAS  UBA STATUS (4 BITS), C&S1 (3 BITS), C&S2 (8 BITS)

	DEFINE	DUMDV(A)<
	A'SF::	BLOCK NUMRHB
	A'HD::	BLOCK NUMRHB
>
	DUMDVB
	;NOW GENERATE THE BIT COUNTERS FOR MASSBUS DEVICE REGISTERS.
	;RP04 NEEDS 47-8- SO BLOCK SIZE IS 50

	DEFINE	DUMDV (A)<
	A'DS::	BLOCK 50
	A'DH::	BLOCK 50
	>
	DUMDVB

	;THIS HANDLES THE SOFTWARE BITS


	DEFINE	DUMDV(A)<
A'ST::	BLOCK NUMSFB
A'SP::	BLOCK NUMSFB
>


	DUMDVB


LOWEND=.+1			;[311]END OF AREA TO ZERO ON INITIALIZATION OF LOWSEG

	RELOC	LOWEND
	LIT
	END