Google
 

Trailing-Edge - PDP-10 Archives - dec-10-omona-u-mc9 - 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 PACKAGE VERSION7(433)




	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
	SUBTTL	LOW SEGMENT AREA


	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	16	;HERE IS WHERE THE OVERLAYING CODE
				;WILL BE BLT'ED
BK=OVRLAY+14	;THANKS PAUL
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 STANDARD 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 STANDARD 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


	;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
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 TOPS20MONITOR IS RUNNING
TOPENT::	BLOCK 1	;-1 IF TOPS20 RECORDED ENTRY
.LBN::	BLOCK	1		;STORAGE LOCATION FOR 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 OFFSET HERE FOR LATER ACCESS TO WORKING BUFFER
BUFOFF::	BLOCK	1	;OFFSET TO FIRST ENTRY IN CURRENT BLOCK
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-LOW SEG ADDR OF /CPUALL ETC SPEC'D IN COM
			;MAND STRING.
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
WKBUFF::	BLOCK	WKSIZE
EPEADD::	BLOCK 1		;LH=LOGICAL "AND"
EPEDAT::	BLOCK	1		;RH=LOGICAL "OR"
MDEDTP::	BLOCK 	1		;DEV TYPE FOR MASSBUS
ONE021::	BLOCK 1		;AT LEAST 1 CODE 21 SEEN
ONE020::	BLOCK 1		;AT LEAST 1 CODE 20 SEEN
MASONE::	BLOCK	1		;AT LEAST 1 CODE 11 ENTRY SEEN
MASKON::	BLOCK	1	;MASSBUS CONTROLLER TYPE
			;RH10=4,RH20=5(ALSOIS 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
DATLOC::	BLOCK ^D10	;STORAGE FOR CONVERTED DATE AND TIME

NUM130::	BLOCK 20	;COUNTS FOR CODE 130 DEVICES
NUH130::	BLOCK	20		;COUNTS HIGHER THAN 200 FOR DEVICE CODES
PAKSIZ::	BLOCK 1			;SIZE OF CURRENT CODE 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 WILLPRODUCE 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
	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
	END