perm filename SBST11.DEC[KL,SYS] blob sn#209167 filedate 1976-04-03 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00016 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	.SBTTL	*STORE* PROGRAM STORAGE FILE, 5-AUG-75
C00005 00003	BUFFER CREATION MACROS
C00006 00004	PROGRAM BUFFERS & STORAGE AREA
C00007 00005	SPECIAL LOAD ONLY CLEAR & SETUP AREA
C00009 00006	KLINIK FIELD SERVICE REMOTE FLAG
C00011 00007	DECTAPE/RP04 AND LOADING BUFFERS
C00012 00008		.BUFW	RPEOF		END-OF-FILE FLAG
C00014 00009	DECTAPE PARAMETER STORAGE
C00016 00010	LOAD PARAMETER STORAGE
C00017 00011	TELETYPE BUFFERS
C00019 00012		.BUFW	$PRNTH		PRINT HEAD POSITION
C00020 00013	CONSOLE PARAMETER STORAGE
C00021 00014	BREAKPOINT STORAGE
C00022 00015	MISCELLANEOUS STORAGE
C00023 00016	KL10 SUBROUTINE STORAGE
C00024 ENDMK
CāŠ—;
.SBTTL	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

.NLIST
.IF	DF,KLDCP
.LIST
;DECISION TABLES FOR KL10/11 SUBROUTINE PACKAGE

$DTBL0:
$LF:	.ASCII	<12>
$CR:	.ASCII	<15>
$BELL:	.ASCII	<07>
	.ASCII	<00>
.EVEN

$DTBL1:	$LFTBL			;LINE FEED FILL TABLE
	$CRTBL			;CARRIAGE RETURN FILL TABLE
	$BELLT			;BELL FILL TABLE

$LFTBL:	.BYTE	1,1
	.BYTE	2,1
	.BYTE	2,4

$CRTBL:	.BYTE	0,0
	.BYTE	9.,1
	.BYTE	2,4

$BELLT:	.BYTE	2,2
	.BYTE	2,2
	.BYTE	2,2

$DTBL:	10000.
	1000.
	100.
	10.
	1.
$TBLL:	1.
	10.
	100.
	1000.
	10000.

.NLIST
.ENDC	;KLDCP
.LIST
;THIS SECTION CONTAINS ALL PROGRAM TEXT LITERALS

$$FF:	$$CLIT

$$LITT=.
$$$FF=$$CLIT
;BUFFER CREATION MACROS

$$BUF=	COREND-600		;ROOM FOR STACK

;WORD BUFFER ASSIGNMENT MACRO
.MACRO	.BUFW	$BTAG,$BARG
	.IIF	NE,$$BUF&1,$$BUF=$$BUF-1
	.IIF	B,$BARG,$$BARG=1
	.IIF	NB,$BARG,$$BARG=$BARG
	$$BUF=$$BUF-<$$BARG*2>
	.NLIST
	.LIST	ME	
	.LIST
$BTAG=	$$BUF
	.NLIST	ME
.ENDM

;BYTE BUFFER ASSIGNMENT MACRO
.MACRO	.BUFB	$BTAG,$BARG
	.IIF	B,$BARG,$$BARG=1
	.IIF	NB,$BARG,$$BARG=$BARG
	$$BUF=$$BUF-$$BARG
	.NLIST
	.LIST	ME
	.LIST
$BTAG=	$$BUF
	.NLIST	ME
.ENDM

	.NLIST	LOC
;PROGRAM BUFFERS & STORAGE AREA
;CLEARED ON INITIALIZATION

;STORAGE FOR DTE20 ADDRESS POINTERS

	.BUFW	.DIAG3		;XXX36
	.BUFW	.STDTE		;XXX34
	.BUFW	.DIAG2		;XXX32
	.BUFW	.DIAG1		;XXX30
	.BUFW	.T11DT		;XXX26
	.BUFW	.T10DT		;XXX24
	.BUFW	.T11AD		;XXX22
	.BUFW	.T10AD		;XXX20
	.BUFW	.BC11		;XXX16
	.BUFW	.BC10		;XXX14
	.BUFW	.TENA2		;XXX12
	.BUFW	.TENA1		;XXX10
	.BUFW	.DAT1		;XXX06
	.BUFW	.DAT2		;XXX04
	.BUFW	.DAT3		;XXX02
	.BUFW	.DELAY		;XXX00
;SPECIAL LOAD ONLY CLEAR & SETUP AREA

	.BUFW	$ONETM		;ONE TIME FLAG
	.BUFW	$ILDSUM		;"KLDCP" CHECKSUM
	.BUFW	$PWRCNT		;POWER RESTART COUNT
	.BUFW	DEVTYP		;DEVICE TYPE: -1=ACT, 0=DTA, 1=RP04
	.BUFW	FLOPPY		;-1, USE RX11/RX01 FLOPPY
	.BUFW	LPTFLG		;LINE PRINTER FLAG
	.BUFW	LPTYPE		;LINE PRINTER TYPE
	.BUFW	RXUNIT		;FLOPPY UNIT
	.BUFW	DTUNIT		;DECTAPE UNIT
	.BUFW	RPUNIT		;RP04 UNIT
	.BUFW	$BKFLG		;BREAKPOINT FLAG
	.BUFW	CLKPE,3		;CLOCK PE DFWRT STORAGE
	.BUFW	PEBITS		;CLOCK STOP PARITY ENABLE BITS
	.BUFW	PAGDFL,3	;KL10 "DATAO PAG,0" DEFAULT
	.BUFW	CLKDFL,3	;KL10 CLOCK DEFAULT
	.BUFW	SWS10,3		;PDP-10 SWITCHES
	.BUFW	$SWS10,3
	.BUFW	$$SWR
	.BUFW	$$STJRS,3	;PDP-10 START "JRST"
	.BUFW	$STODD		;"SETMPH" VARIABLES
	.BUFB	$MPHMK		;MASK, A OR B CHANGE
	.BUFB	$MPHDF		;DIAG FCN, A OR B CHANGE
	.BUFW	TGOADR,2	;PDP-10 GO START ADDRESS
	.BUFW	PGOADR,2	;PROGRAM GO ADDRESS
	.BUFW	PGOCTL		;PROGRAM GO CONTROL
	.BUFW	SEADR		;PDP-11 START ADDRESS
;KLINIK FIELD SERVICE REMOTE FLAG

	.BUFW	DL11EFLG

;BP TABLE; INST, ADR, CNT

	.BUFW	$BT,<$NB*3>	;BP TABLE
	.BUFW	$BCA		;BP CONTINUE ADDRESS
	.BUFW	$BTIS		;BP TEMP
$ILDCLR=$$BUF

;COMMON STORAGE

	.BUFW	$SWMON		;MONITOR LOW ORDER SWITCHES
	.BUFW	MONCTL		;0=STANDALONE, -1=MONITOR
	.BUFW	TENSWD		;PDP-10 SWITCH DEPOSIT FLAG
	.BUFW	TENCLK		;PDP-10 CLOCK FLAG
	.BUFW	PCMDFLG		;PROGRAM COMMAND FLAG
	.BUFW	PCMDNF		;PROGRAM CMD NO PRINT FLAG
	.BUFW	$ITERA		;ITERATION REGISTER
	.BUFW	$ENDCT		;END OF PASS REPORT COUNT
	.BUFW	$EOPCT		;END OF PASS COUNT
	.BUFW	$ERRPC		;ERROR PC
	.BUFW	$ERTTL		;TOTAL ERRORS DETECTED
	.BUFW	$ERFLG		;ERROR FLAG
	.BUFW	$PASS		;PASS COUNT
	.BUFW	$CMTAG		;COMMON TAG
;DECTAPE/RP04 AND LOADING BUFFERS

	.BUFW	DVBUF,256.	;DEVICE BUFFER
VFUDAT=DVBUF

	.BUFW	EXTBF,2		;ASCII EXTENSION BUFFER
	.BUFW	NAMBF,3		;ASCII NAME BUFFER
	.BUFW	DIRST4
	.BUFW	DIRST3
	.BUFW	DIRST2
	.BUFW	DIRST1
	.BUFW	DIRST0		;PSEUDO DIRECTORY CONVERSION STORAGE
	.BUFW	DTEXT		;RAD50 EXT
	.BUFW	DTEXTS,3	;UNPACKED EXT (ASCII)

	.BUFW	DTLNGTH		;DECTAPE FILE LENGTH
	.BUFW	DTSTRT		;DECTAPE FILE START BLOCK
	.BUFW	DVADR		;DEVICE DATA ADDRESS POINTER
	.BUFW	DVCNT		;DEVICE BYTE COUNT
	.BUFW	DVDIRF		;DEVICE DIRECTORY FLAG
	.BUFW	CDADR		;CORE DUMP BUFFER POINTER
	.BUFW	DIAFLG		;"DIAMON" OPERATION FLAG
	.BUFW	RPEOF		;END-OF-FILE FLAG
	.BUFW	WRTBAK,3	;RPLKUP & RPWRFL RETURN INFO
	.BUFW	$RPINFO,2	;DVDATA POINTERS
	.BUFW	NAMRAD,3	;RAD50 NAME.EXT
	.BUFW	RPFDNB		;FILE DIRECTORY LENGTH IN BLOCKS
	.BUFW	RPFDTS		;FILE DIRECTORY TRACK & SECTOR
	.BUFW	RPFDCY		;FILE DIRECTORY CYLINDER NUMBER
	.BUFW	RPIXNB		;INDEX FILE LENGTH IN BLOCKS
	.BUFW	RPIXTS		;INDEX FILE TRACK & SECTOR
	.BUFW	RPIXCY		;INDEX FILE CYLINDER NUMBER
	.BUFW	RPIXCB		;INDEX FILE CURRENT BLOCK
	.BUFW	RPLAST		;INDEX FILE LAST BLOCK

	.BUFW	CYLNDR		;CURRENT CYLINDER
	.BUFW	TRKSCT		;CURRENT TRACK & SECTOR
	.BUFW	OFFSET		;CURRENT OFFSET

	.BUFW	BUFADR		;BUFFER ADDRESS
	.BUFW	BUFSIZ		;BUFFER SIZE
	.BUFW	WRDCNT		;READ/WRITE WORD COUNT

	.BUFW	FILDSB,FDESIZ+2	;FILE DESCRIPTOR
;DECTAPE PARAMETER STORAGE

	.BUFW	REVCNT		;REVERSE COUNT
	.BUFW	INTSW		;INIT SWITCH
	.BUFW	$CKS11		;PDP-11 BINARY CHECKSUM
	.BUFW	LTMP		;LOAD TEMP
	.BUFW	LBC		;LOAD BYTE COUNT
	.BUFW	TRYCTR		;DECTAPE TRY COUNT
	.BUFW	DTXCMD		;DECTAPE XFER COMAND
	.BUFW	WCSAV		;WORD COUNT SAVE
	.BUFW	CASAV		;CURRENT ADDRESS SAVE
	.BUFW	DTBLK		;DECTAPE BLOCK NUMBER

;FLOPPY PARAMETER STORAGE

	.BUFW	$$ITS1		;FLOPPY "$RXITS" COUNTER
	.BUFW	RXSADR		;FLOPPY SECTOR ADDRESS
	.BUFW	RXTADR		;FLOPPY TRACK ADDRESS
	.BUFW	RXBLKT		;FLOPPY BLOCK # TEMP
	.BUFW	RXWCMD		;FLOPPY WORKING COMMAND
	.BUFW	RXCMD		;FLOPPY COMMAND
	.BUFW	RXBLK		;FLOPPY BLOCK NUMBER
;LOAD PARAMETER STORAGE

	.BUFW	LDATAE
	.BUFW	LDATA,34.	;LOAD DATA
	.BUFW	LDADR		;LOAD ADDRESS
	.BUFW	LDCNT		;LOAD WORD COUNT
	.BUFW	LDOCTF		;LOAD OCTAL FORMAT FLAG
	.BUFW	LDCNTL		;LOAD CONTROL WORD
	.BUFW	LDOVRD		;LOAD CONTROL OVERRIDE
	.BUFW	LDZBLK		;LOAD 10 ZERO BLOCK FLAG
	.BUFW	SRTFLG		;SELF START FLAG
	.BUFW	DEVLC		;DEVICE LINE COUNT
	.BUFW	ARETRY		;ACT10 RETRY COUNT
	.BUFW	HLPPNT		;ACT10 HELP PRINT FLAG
;TELETYPE BUFFERS

	.BUFW	$INPTR		;INPUT POINTERS
	.BUFW	$INPTC
	.BUFB	$INBUF,142.	;INPUT BUFFER
	.BUFW	$OUTPC		;OUTPUT POINTERS
	.BUFW	$OUTPT
	.BUFW	$OUTPP		;OUTPUT PRINT POSITION
	.BUFB	$OUTBF,142.	;OUTPUT BUFFER

	.BUFW	$TNPTR		;10 INPUT POINTERS
	.BUFW	$TNPTC
	.BUFB	$TNBUF,142.	;10 INPUT BUFFER
	.BUFW	$TNCHR,3	;LAST CHAR TYPED (FOR TEN)
	.BUFW	TENTTY		;10 "TENCHR" FLAG

	.BUFW	$TTYIN
	.BUFB	$TTSAV,12.

	.BUFW	ENQFLG		;COMMUNICATIONS IN PROGRESS
	.BUFW	MSGNBR		;COMMUNICATIONS MESSAGE NUMBER
	.BUFW	COMNBR		;COMMUNICATION NUMBER
	.BUFB	COUTBF,142.	;COMMUNICATIONS OUTPUT BUFFER
	.BUFW	COUTSP,2	;OUTPUT CONTROL CHARACTERS
	.BUFB	CINBF,142.	;COMMUNICATIONS INPUT BUFFER
	.BUFW	CINSP,2		;INPUT CONTROL CHARACTERS
	.BUFW	$PRNTH		;PRINT HEAD POSITION
	.BUFW	$PGWID		;PAGE WIDTH
	.BUFW	$TPLIN		;NUMBER OF LINES ON A PAGE
	.BUFW	$TPLIT		;LINES TALLY
	.BUFW	$XOFLG		;XOFF FLAG, -1 = NO PRINT
	.BUFW	CTRLOF		;CONTROL O FLAG
	.BUFW	$EOLFLG		;END OF LINE FLAG
	.BUFW	$TTLKF		;TTLOOK INPUT CHECKS INHIBIT
	.BUFW	TILNWF		;TTY INPUT WAIT FLAG
	.BUFW	$FORCE		;FORCE PRINTOUT FLAG
	.BUFW	$TTYFL		;TTY FILL PARAMETER
	.BUFW	$0FLG		;ZERO FILL FLAG
	.BUFW	$NEG		;NEGATE NUMBER INPUT FLAG
	.BUFW	$SVH
	.BUFW	$SVM

	.BUFW	$TICHR		;TTY DRIVER INPUT CHAR
	.BUFW	$TOCHR		;TTY DRIVER OUTPUT CHAR

	.BUFW	DDTFLG		;PDP-10 DDT INPUT MODE FLAG
;CONSOLE PARAMETER STORAGE

	.BUFW	$KONSP		;SAVED STACK POINTER
	.BUFW	ALLFLG		;ALL PRINT FLAG
	.BUFW	RPTFLG		;COMMAND REPEAT FLAG
	.BUFW	VERIFY		;PROGRAM VERIFY FLAG
	.BUFW	.EADR		;EXAMINE 11 ADDRESS
	.BUFW	$ECADR		;EXAMINE C-RAM ADDRESS
	.BUFW	$EDADR		;EXAMINE D-RAM ADDRESS
	.BUFW	$ADR
	.BUFW	.DFRDA,3
	.BUFW	.DPXAD,2

	.BUFW	L10ADR,2	;LOAD 10 ADDRESS

	.BUFW	TENRUN		;TEN RUNNING FLAG
	.BUFW	MONMODE		;TEN MONITOR MODE FLAG
	.BUFW	MTTYOF		;MONITOR TTY OUTPUT IN PROGRESS
	.BUFW	$TTYTIM		;TTY TIMEOUT COUNT
;BREAKPOINT STORAGE

	.BUFW	$R0TMP
	.BUFW	$PCSAV
	.BUFW	$PSSAV
	.BUFW	$TEMP0,3
	.BUFW	$ADR1
	.BUFW	$SPSAV
	.BUFW	$R5SAV
	.BUFW	$R4SAV
	.BUFW	$R3SAV
	.BUFW	$R2SAV
	.BUFW	$R1SAV
	.BUFW	$R0SAV
;MISCELLANEOUS STORAGE

	.BUFW	$EMADR		;EMT ADDRESS (+2)

	.BUFW	$SWTCH		;SWITCHES
	.BUFW	$$SVSP
	.BUFW	TEMP
	.BUFW	IFILEF		;INDIRECT FILE FLAG
	.BUFW	IFINP		;INDIRECT STORAGE POINTER
	.BUFW	JFILEF		;DOUBLE INDIRECT FILE FLAG
	.BUFW	JFINP		;DOUBLE INDIRECT STORAGE POINTER

	.BUFW	PRGRUN		;PROGRAM RUNNING FLAG

	.BUFW	MEMPEF		;PARITY FLAG

	.BUFW	.HCFLG		;ALLOW HALT CONTINUE FLAG
	.BUFW	.HCADR		;HALT CONTINUE ADDRESS

	.BUFW	DDTTM1		;DDT MODE TIMEOUT COUNTS
	.BUFW	DDTTM2

	.BUFW	$ECMD,3		;DTE20 COMMAND STORAGE
	.BUFW	$SAV20,3	;PDP-10 SAVE 20 STORAGE
;KL10 SUBROUTINE STORAGE

	.BUFW	ZEROS,3		;SOURCE OF 36 ZEROS
	.BUFW	VMADAT,3	;VMA & PC TEMP
	.BUFW	XXDAT		;DF WRITE TEMP
	.BUFW	MMDAT,3		;WWADR TEMP
	.BUFW	WREADY,3	;$WCRAM TEMP
	.BUFW	SIGNL
	.BUFW	$BUFRC,6	;$RCRAM TEMP
	.BUFW	SIGNL2
	.BUFW	SIGNL3
	.BUFW	DDRAM,3		;$DRAMAD TEMP
	.BUFW	RDRTMP,2	;$RDRAM TEMP
	.BUFW	$DRAM,6
	.BUFW	$DDRMS
	.BUFW	$STDAT		;$BURST TEMP
	.BUFW	KLCLKR		;KL10 CLOCK LOGICALLY RUNNING FLAG
	.BUFW	TENDAT,3	;PDP-10 INPUT DATA WORD
	.BUFW	TENAC0,2	;PDP-10 AC0 ADDRESS
	.BUFW	C10CW,3		;PDP-10 CLOCK WAIT COUNT
	.BUFW	CLKCNT,3	;PDP-10 CLOCK COUNT

BUFCLR=	$$BUF
	.LIST	LOC

.END	$ILOAD