perm filename KLDCP.CRF[KL,SYS]1 blob sn#641121 filedate 1982-02-16 generic text, type T, neo UTF8
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 1
	KLDCP PAL[KL,SYS]	Page 1 	

≥				COMMENT ⊗   VALID 00005 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00002 00002	DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
≥				C00004 00003	ASSEMBLY PARAMETERS
≥				C00008 00004	KLDCPU UTILITY PROGRAM PARAMETERS
≥				C00009 00005	FUQ::		THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
≥				C00011 ENDMK
≥					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 2
	KLDCP PAL[KL,SYS]	Page 2 	

≥					;DECSYSTEM10 KL10 PDP-11 DIAGNOSTIC CONSOLE PROGRAM
≥					
≥					
≡DECVER≠≥		000010			DECVER==010
≡MCNVER≠≥		000000			MCNVER==0
≡SAILVR≠≥		000007			SAILVR==7	;STANFORD VERSION NUMBER.  (DEFINING SAILVR MAKES STANFORD ASSEMBLY)
≥					
≥							
≠.TITLE≡≥					.TITLE	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10
≥					
≠.LIST≡≥					.LIST	MC,MD
≥					;.DSABL	GBL
≥					;.DSABL	REG
≠.ABS≡≥					.ABS
≥					;.ENABL	AMA
≥					
≥					;JOHN R. KIRCHOFF
≥					;DIGITAL EQUIPMENT CORPORATION
≥					;MARLBORO, MASS. 01752
≥					
≥					
≥					;[  NOTE:  If you change SBST11, you should reassemble KLDCPU also! ]
≥					;Stanford Revision History.  
≥					;
≥					;1	 4/17/76	Convert to PALX
≥					;2	 4/19/76	Install EPTREL switch
≥					;			Fix LE,LT, etc. to use correct extension by default.
≥					;3	 4/26/76	Add clock sub-functions 4,5
≥					;4	 4/29/76	Make clock interrupt.  Fix SET MONMOD.
≥					;5	 5/11/76	Change clock subfunctions 4,5 for pdp-10 doubleword time
≥					;6	 5/24/76	Add MIT code for MZ, PCF, DDT command, ST mods,
≥					;			Also JBR's code for keeping DSKDMP BOOT in 11-core
≥					;7	 4/29/80	JEP (Jim Powell) & REG to support ethernet and QM protocol
≥					;			Through 7/80
≥					;8	 1/12/81	Bugtrap and fixes to ethernet stuff. (TVR)
≥					;9	 5/22/81	Ethernet input double buffered
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 3
	KLDCP PAL[KL,SYS]	Page 3 	

≥					;ASSEMBLY PARAMETERS
≥					
≡KLDCP≠≥		000001			KLDCP=	1	;ASSEMBLE KLDCP
≡DTEASB≠≥		000001			DTEASB=	1	;ASSEMBLE DTE20
≡DTEDEF≠≥		000001			DTEDEF= 1	;DEFINE DTE OFFSET ADDRESSES
≡DVSASB≠≥		000001			DVSASB=	1	;ASSEMBLE DEVICE SERVICE
≡KWASB≠≥		000001			KWASB=	1	;ASSEMBLE KW CLOCK
≡DLASB≠≥		000001			DLASB=	1	;ASSEMBLE DL11
≥					;DHASB=	1	;ASSEMBLE DH11
≥					;TAASB=	1	;ASSEMBLE TA CASSETTE
≥					;RXASB=	1	;ASSEMBLE RX11/RX01 FLOPPY
≡TCASB≠≥		000001			TCASB=	1	;ASSEMBLE TC DECTAPE
≥					;RPASB=	1	;ASSEMBLE RP04 DISK PACK
≥					;LPASB=	1	;ASSEMBLE LP20 LINE PRINTER
≡EPTREL≠≥		000001			EPTREL==1	;ASSEMBLE EXAMINES/DEPOSITS FOR COMMUNICATIONS RELATIVE TO EPT
≥					;BPTASB==1	;ASSEMBLE KLDCP TYPE BREAKPOINT STUFF
≡BOOASB≠≥		000001			BOOASB==1	;ASSEMBLE DSKDMP BOOT STUFF
≡%%DDT≠≥		000001			%%DDT==1	;ASSEMBLE TO ALLOW DDT TO COEXIST WITH KLDCP
≡TELASB≠≥		000001			TELASB==1	;ASSEMBLE DIALUP CONNECTION CODE, TURN OFF KLINIK FEATURE
≡CLKASB≠≥		000001			CLKASB==1	;ASSEMBLE TCU-100 BATTERY CLOCK CODE
≥					;UTLASB==1	;ASSEMBLE LINKAGES TO KLDCPU
≥					;MONASB==1	;ASSEMBLE MONITOR TYPE COMMANDS (INCLUDES SOME ACT10 STUFF)
≡%%QMP≠≥		000001			%%QMP==1	;Assemble queued message protocol,
≥								;front-end reloads from WAITS
≥								;ethernet support
≥					;;FSCASB==1	;Assemble statistics for QMP free storage.
≥					;;PCKASB==1	;Assemble checksumming of incoming PUPs (QMP11)
≥					
≡$NB≠≥		000010			$NB=	8.	;USE 8 BREAKPOINTS
≥					
≥					;SUBROUTINE CODE BEGINS AT 16K (WORDS)
≥					
≡PRGSRT≠≥		100000			PRGSRT	=16.*1024.*2.
≡COREND≠≥		160000			COREND	=28.*1024.*2.
≥					
≠.IF≡≡%%DDT≡≥					.IF DF %%DDT
≡PRGSRT≡≡%DDTS≠≥		077766			%DDTS==PRGSRT-12
≡TOUTBF≠≥		003000			TOUTBF=3000	;OVERLAY BUFFER DOWN WHERE DIAGS GO
≥					.IFF
≥					TOUTBF=	70000	;OVERLAY BUFFER
≥					.ENDC
≥					
≥					;PDP-10 ABSOLUTE CORE LOCATIONS:
≥					
≡$STD≠≥		000440			$STD=	440	;PDP-10 DIAGNOSTIC START ADDRESS
≡$DDT≠≥		000441			$DDT=	441	;PDP-10 DDT START ADDRESS
≡$STL≠≥		000442			$STL=	442	;PDP-10 LOADER START ADDRESS
≡$STM≠≥		000443			$STM=	443	;PDP-10 MONITOR START ADDRESS
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 4
	KLDCP PAL[KL,SYS]	Page 3.1 	

≥					;PDP-10 KL10 EXEC PROCESS TABLE PARAMETERS. 
≥					;IF EPTREL≠0 THEN ALL OF THE FOLLOWING ARE RELATIVE TO EBR IN THE KL10
≥					
≡$DTFLG≠≥		000444			$DTFLG=	444	;DTE20 OPERATION COMPLETE FLAG
≡$DTCLK≠≥		000445			$DTCLK=	445	;DTE20 CLOCK INTERRUPT FLAG
≥					;;$DTCI=	446	;DTE20 CLOCK INTERRUPT INSTRUCTION (10 SOFTWARE ONLY)
≠.LIF≡≡CLKASB≡≥					.LIF DF CLKASB
≡$DTTIM≠≥		000446			$DTTIME=446	;DTE20 TIME AND DATE FROM BATTERY BACKUP CLOCK
≡$DTT11≠≥		000447			$DTT11=	447	;DTE20 10 TO 11 ARGUMENT
≡$DTF11≠≥		000450			$DTF11=	450	;DTE20 11 TO 10 ARGUMENT
≡$DTCMD≠≥		000451			$DTCMD=	451	;DTE20 TO 11 COMMAND WORD
≡$DTSEQ≠≥		000452			$DTSEQ=	452	;DTE20 OPERATION SEQUENCE NUMBER (10 SOFTWARE ONLY. NOT USED)
≡$DTOPR≠≥		000453			$DTOPR=	453	;DTE20 OPERATION IN PROGRESS FLAG (10 SOFTWARE ONLY. NOT USED)
≡$DTCHR≠≥		000454			$DTCHR=	454	;DTE20 LAST KEY TYPED ON CTY
≡$DTMTD≠≥		000455			$DTMTD=	455	;DTE20 MONITOR TTY OUTPUT COMPLETE FLAG
≡$DTMTI≠≥		000456			$DTMTI=	456	;DTE20 MONITOR TTY INPUT FLAG
≡$DTSWR≠≥		000457			$DTSWR=	457	;DTE20 PDP-10 SWITCH REGISTER
≡$DTQMP≠≥		000460			$DTQMP= 460	;DTE20 11 TELLS 10 THE SIZE OF A TO10 TRANSFER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 5
	KLDCP PAL[KL,SYS]	Page 4 	

≥					;KLDCPU UTILITY PROGRAM PARAMETERS
≥					
≥					;UTILITY IDENTIFICATION
≥					
≡PID≠≥		003004			PID=	3004	;PROGRAM NAME
≡PDVER≠≥		003010			PDVER=	3010	;DEC VERSION
≡PMVER≠≥		003012			PMVER=	3012	;MCN VERSION
≥					
≥					;UTILITY SUB-PROGRAM DISPATCH ADDRESSES
≥					
≡PTABLE≠≥		003020			PTABLE=	3020	;START OF TABLE
≥					
≡RXCOPY≠≥		003020			RXCOPY=	3020	;RX11/RX01 FLOPPY COPY PROGRAM
≡DTCOPY≠≥		003022			DTCOPY=	3022	;TC11 DECTAPE COPY PROGRAM
≡WFILE≠≥		003024			WFILE=	3024	;WRITE FILE FROM DTA/RX TO RP04 PROGRAM
≡TAPT≠≥		003026			TAPT=	3026	;TRANSFER FILE FROM APT10 TO RP04 PROGRAM
≡DSKDIR≠≥		003030			DSKDIR=	3030	;RP04 DISK DIRECTORY
≡REMOTE≠≥		003032			REMOTE=	3032	;REMOTE TELETYPE COMMUNICATIONS
≡XMEMSZ≠≥		001000			XMEMSZ==512.	;#OF K OF PDP-10 MEMORY TO ZERO IN MZ 0,-1 COMMAND
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 6
	KLDCP PAL[KL,SYS]	Page 5 	

≥					FUQ::		;THIS IS HERE TO AVOID GETTING A "LOCAL TAG BEFORE
≥							;FIRST LABEL" ERROR MESSAGE FROM PALX.
≥							;(THERE ARE MACRO DEFINITIONS WITH LOCAL TAGS IN THEM)
≥					
≥					;INSERT THE REST OF KLDCP
≥					
≥								;Parameters file
≠.INSRT≡≥					.INSRT	PRM11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 7
	PRM11 PAL[KL,SYS]	Page 1 	

≥				COMMENT ⊗   VALID 00044 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00005 00002	.SBTTL	*PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
≥				C00007 00003	.SBTTL	EMT DEFINITIONS
≥				C00010 00004	TELETYPE OUTPUT DEFINITIONS
≥				C00013 00005	MISCELLANEOUS FUNCTIONS
≥				C00016 00006	COMMUNICATION ROUTINES
≥				C00019 00007	DFXCT=	EMT!114	DIAGNOSTIC FUNCTION EXECUTE
≥				C00021 00008	.SBTTL	MACRO DEFINITIONS
≥				C00023 00009	BASIC MACROS
≥				C00024 00010	.MACRO	SL	REG,NUM
≥				C00025 00011	STANDARD PROGRAM ASSIGNMENTS
≥				C00027 00012	BIT ASSIGNMENTS
≥				C00028 00013	CHARACTERS USED
≥				C00030 00014	.SBTTL 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
≥				C00033 00015	BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
≥				C00036 00016	BIT ASSIGNMENTS FOR DIAG2 (WRITE)
≥				C00038 00017	BIT ASSIGNMENTS FOR STATUS (WRITE)
≥				C00041 00018	CLOCK CONTROL FUNCTIONS
≥				C00043 00019	CRAM FUNCTIONS
≥				C00045 00020	DATA PATH CONTROL FUNCTIONS
≥				C00046 00021	.SBTTL	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
≥				C00048 00022	MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
≥				C00050 00023	THIS IS A MACRO TO WAIT FOR A DONE FLAG
≥				C00052 00024	.SBTTL	*BBD*	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 2-JAN-75
≥				C00055 00025	 THE FOLLOWING MACRO (DTEVEC) DYNAMICLY COMPUTES THE INTERRUPT
≥				C00058 00026	BIT ASSIGNMENTS FOR DIAG1 (WRITE)
≥				C00060 00027	BIT ASSIGNMENTS FOR STATUS (WRITE)
≥				C00062 00028	 FUNCTION SELECT CODES
≥				C00064 00029	READ0	=110	 PI    (READ STATUS 0)
≥				C00065 00030	.SBTTL	*BBD*	KL10 EBOX MACRO DEFINITIONS, 4-MAR-75
≥				C00067 00031	MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
≥				C00069 00032	THIS IS A MACRO TO WAIT FOR A DONE FLAG
≥				C00071 00033	.SBTTL	DEVICE SYMBOL DEFINITIONS, 4-JUNE-75
≥				C00074 00034	.SBTTL	KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥				C00075 00035	.SBTTL	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥				C00078 00036	.SBTTL	DH11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥				C00081 00037	 BIT DEFINITIONS FOR "DHLPR"- LINE PARAMETER REGISTER.
≥				C00083 00038	.SBTTL	TA11 (CASSETTE) DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
≥				C00085 00039	.SBTTL	RX11/RX01 (FLOPPY) REGISTERS AND BIT DEFINITIONS, 22-JULY-75
≥				C00087 00040	.SBTTL	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥				C00089 00041	.SBTTL	RH11/RP04 REGISTER AND BIT DEFINITIONS, 4-JUNE-75
≥				C00092 00042	.SBTTL	LP20 REGISTER AND BIT DEFINITIONS, 27-JUNE-75
≥				C00095 00043	.SBTTL EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
≥				C00096 00044	DSKDMP BOOTSTRAP PARAMETERS
≥				C00097 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 8
	PRM11 PAL[KL,SYS]	Page 2 	*PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75

≥					.SBTTL	*PRM11* DECSYSTEM10 PDP-11 PROGRAM/SUBROUTINE PARAMETERS, 4-AUG-75
≥					
≥					;PROGRAM CONTROL SWITCHES
≥					
≡ABORT≠≥		100000			ABORT=	100000		;ABORT AT PROGRAM PASS COMPLETION
≥					
≡RSTART≠≥		040000			RSTART=	40000		;RESTART TEST
≡TOTALS≠≥		020000			TOTALS=	20000		;PRINT TEST TOTALS
≡NOPNT≠≥		010000			NOPNT=	10000		;INHIBIT ALL PRINT OUT (EXCEPT FORCED)
≥					
≡PNTLPT≠≥		004000			PNTLPT=	4000		;PRINT ON LINE-PRINTER
≡DING≠≥		002000			DING=	2000		;RING TTY BELL ON ERROR
≡LOOPER≠≥		001000			LOOPER=	1000		;LOOP ON ERROR
≥					
≡ERSTOP≠≥		000400			ERSTOP= 400		;HALT ON ERROR
≡PALERS≠≥		000200			PALERS=	200		;PRINT ALL ERRORS
≡RELIAB≠≥		000100			RELIAB=	100		;RELIABILITY RUN MODE
≥					
≡TXTINH≠≥		000040			TXTINH=	40		;TEXT INHIBIT
≡INHPAG≠≥		000020			INHPAG=	20		;INHIBIT PAGING (PDP-10)
≡MODDVC≠≥		000010			MODDVC=	10		;MODIFY DEVICE CODE (PDP-10)
≥					
≡INHCSH≠≥		000004			INHCSH=	4		;INHIBIT CACHE (PDP-10)
≡OPRSEL≠≥		000002			OPRSEL=	2		;OPERATOR SELECTION
≡CHAIN≠≥		000001			CHAIN=	1		;CHAIN CONTROL SWITCH
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 9
	PRM11 PAL[KL,SYS]	Page 3 	EMT DEFINITIONS

≥					.SBTTL	EMT DEFINITIONS
≥					;OPERATOR DEFINITION - SUBROUTINE CALLS
≥					
≠EMT≡≡FATAL≠≥		104000			FATAL=	EMT!0	;FATAL PROGRAMMING ERROR.
≠EMT≡≡ERRHLT≠≥		104001			ERRHLT=	EMT!1	;PROGRAM HALT, ONLY IF "ERSTOP" SWITCH SET
≠EMT≡≡PRGHLT≠≥		104002			PRGHLT=	EMT!2	;PROGRAM HALT, DON'T CHECK SWITCH
≠EMT≡≡RUNLP≠≥		104003			RUNLP=	EMT!3	;CONSOLE IDLE RUN LOOP
≠EMT≡≡DFLEGA≠≥		104226			DFLEGAL=EMT!226	;DIAGNOSTIC FUNCTION LEGALITY CHECK
≥					
≥					;TELETYPE INPUT DEFINITIONS
≥					; *** CALL SEQUENCE ***
≥					;  TT----
≥					;  RETURN, C BIT SET FOR NO/ERROR RESPONSE
≥					
≠EMT≡≡TTILIN≠≥		104004			TTILIN=	EMT!4	;READ TTY LINE INPUT INTO BUFFER
≠EMT≡≡TTILNW≠≥		104224			TTILNW=	EMT!224	;READ TTY LINE INPUT, WAIT FOREVER
≠EMT≡≡TTICCL≠≥		104225			TTICCL=	EMT!225	;PROCESS TTY INPUT FROM INDIRECT CCL BUFFER
≠EMT≡≡TTICHR≠≥		104005			TTICHR=	EMT!5	;INPUT A CHARACTER FROM BUFFER
≠EMT≡≡TTBACK≠≥		104144			TTBACK=	EMT!144	;BACKUP INPUT POINTER
≠EMT≡≡TTLOOK≠≥		104006			TTLOOK=	EMT!6	;LOOK FOR A TTY INPUT
≠EMT≡≡TTIOCT≠≥		104007			TTIOCT=	EMT!7	;INPUT AN OCTAL NUMBER FROM BUFFER
≠EMT≡≡TTCOCT≠≥		104010			TTCOCT=	EMT!10	;INPUT & CHECK OCTAL, RTN IF OK
≠EMT≡≡TTOCTE≠≥		104200			TTOCTE=	EMT!200	;INPUT EVEN OCTAL NUMBER
≠EMT≡≡TTIDEC≠≥		104011			TTIDEC=	EMT!11	;INPUT A DECIMAL NUMBER FROM BUFFER
≠EMT≡≡TTIYES≠≥		104012			TTIYES=	EMT!12	;ASK YES-NO, N BIT ON NO, C BIT SET ON ERROR
≠EMT≡≡TTALTM≠≥		104013			TTALTM=	EMT!13	;ALT-MODE CHECK, C BIT SET IF NON-ALT-MODE
≠EMT≡≡TTI36≠≥		104014			TTI36=	EMT!14	;READ 36 DIGIT NUMBER FROM BUFFER
≠EMT≡≡TTIBRK≠≥		104015			TTIBRK=	EMT!15	;GET NUMBER INPUT BREAK CHARACTER
≠EMT≡≡TTISDL≠≥		104016			TTISDL=	EMT!16	;SPACE DELETE, C BIT SET ON NON-NUMBER
≠EMT≡≡TTISDO≠≥		104017			TTISDO=	EMT!17	;SPACE DELETE & OCTAL INPUT, RTN IF OK
≠EMT≡≡TTIS36≠≥		104020			TTIS36=	EMT!20	;SPACE DELETE & 36BIT INPUT, RTN IF OK
≠EMT≡≡TTICRA≠≥		104021			TTICRA=	EMT!21	;INPUT C-RAM ADDRESS
≠EMT≡≡TTITRM≠≥		104022			TTITRM=	EMT!22	;CHECK INPUT TERMINATOR, RTN IF OK
≠EMT≡≡TTBTRM≠≥		104023			TTBTRM=	EMT!23	;BACKUP, THEN "
≠EMT≡≡TTERM≠≥		104201			TTERM=	EMT!201	;NUMBER TERMINATION CHECK, C BIT SET IF ERROR
≠EMT≡≡TTPINI≠≥		104217			TTPINI=	EMT!217	;INITIALIZE INPUT & OUTPUT BUFFER POINTERS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 10
	PRM11 PAL[KL,SYS]	Page 4 	EMT DEFINITIONS

≥					;TELETYPE OUTPUT DEFINITIONS
≥					; *** CALL SEQUENCE ***
≥					;  MOV ARG,R0		;IF CALL REQUIRES AN ARGUMENT
≥					;  P-----
≥					
≠EMT≡≡PNTAL≠≥		104024			PNTAL=	EMT!24	;PRINT ASCII LINE, ADDRESS IN R0
≠EMT≡≡$PMSG≠≥		104025			$PMSG=	EMT!25	;PRINT MESSAGE, TRAILING PARAMETER
≠EMT≡≡$PMSGR≠≥		104026			$PMSGR=	EMT!26	;PRINT MESSAGE, CONDITIONAL ON "RPTFLG"
≠EMT≡≡PNTCHR≠≥		104027			PNTCHR=	EMT!27	;PRINT ASCII CHARACTER IN R0
≠EMT≡≡PNTCI≠≥		104214			PNTCI=	EMT!214	;PRINT CHAR IMMEDIATE, TRAILING CHARS
≠EMT≡≡PNTNBR≠≥		104030			PNTNBR=	EMT!30	;PRINT NUMBER
≠EMT≡≡PCRLF≠≥		104031			PCRLF=	EMT!31	;PRINT CR-LF
≠EMT≡≡PSPACE≠≥		104032			PSPACE=	EMT!32	;PRINT A SPACE
≠EMT≡≡PSLASH≠≥		104033			PSLASH=	EMT!33	;PRINT A SLASH
≠EMT≡≡PCOMMA≠≥		104034			PCOMMA=	EMT!34	;PRINT A COMMA
≠EMT≡≡PTAB≠≥		104227			PTAB=	EMT!227	;PRINT A TAB
≠EMT≡≡PNTOCT≠≥		104035			PNTOCT=	EMT!35	;PRINT OCTAL NUMBER IN R0
≠EMT≡≡PNTOCS≠≥		104036			PNTOCS=	EMT!36	;PRINT OCTAL IN R0, SUPPRESS LEADING ZEROS
≠EMT≡≡PNTDEC≠≥		104037			PNTDEC=	EMT!37	;PRINT DECIMAL NUMBER IN R0
≠EMT≡≡PNT18≠≥		104040			PNT18=	EMT!40	;PRINT LOWER 18 OF 36 BIT NUMBER
≠EMT≡≡PNT23≠≥		104041			PNT23=	EMT!41	;PRINT LOWER 23 BITS OF 36 BIT NUMBER
≠EMT≡≡PNT22≠≥		104041			PNT22=	EMT!41	; " OLD PNT23 "
≠EMT≡≡PNT36≠≥		104042			PNT36=	EMT!42	;PRINT 36 BIT NUMBER, ADDRESS IN R0
≠EMT≡≡PNT36B≠≥		104134			PNT36B=	EMT!134	;PRINT 36 BIT NUMBER IN BINARY
≠EMT≡≡PNTADR≠≥		104137			PNTADR=	EMT!137	;PRINT PDP-10 ADDRESS
≠EMT≡≡PFORCE≠≥		104043			PFORCE=	EMT!43	;SET FORCED PRINTOUT FLAG
≠EMT≡≡PNORML≠≥		104044			PNORML=	EMT!44	;CLEAR FORCED PRINTOUT FLAG
≠EMT≡≡PBELL≠≥		104045			PBELL=	EMT!45	;DING THE TTY BELL
≠EMT≡≡PNTODC≠≥		104046			PNTODC=	EMT!46	;PRINT SPECIFIED OCTAL DIGITS
≠EMT≡≡PNTODT≠≥		104047			PNTODT=	EMT!47	;PRINT SPECIFIED DIGITS, TRAILING PARAMETER
≥					
≠EMT≡≡PRINTT≠≥		104151			PRINTT=	EMT!151	;PRINT, TTY OUTPUT
≠EMT≡≡PTTY≠≥		104152			PTTY=	EMT!152	;PRINT, TTY DRIVER
≠EMT≡≡PLPT≠≥		104153			PLPT=	EMT!153	;PRINT, LPT DRIVER
≠EMT≡≡PLDBUF≠≥		104154			PLDBUF=	EMT!154	;PRINT, LOAD BUFFER
≥					
≠EMT≡≡PNTBAK≠≥		104177			PNTBAK=	EMT!177	;PRINT, BACKUP OUTPUT INSERTION POINTER
≥					
≠EMT≡≡PNTRST≠≥		104215			PNTRST=	EMT!215	;PRINT, OUTPUT POINTERS RESET
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 11
	PRM11 PAL[KL,SYS]	Page 5 	EMT DEFINITIONS

≥					;MISCELLANEOUS FUNCTIONS
≥					
≠EMT≡≡REGSAV≠≥		104050			REGSAV=	EMT!50	;SAVE R0 THRU R5
≠EMT≡≡REGRST≠≥		104051			REGRST=	EMT!51	;RESTORE R0 THRU R5
≠EMT≡≡SHIFTR≠≥		104053			SHIFTR=	EMT!53	;SHIFT R0 RIGHT, TRAILING PARAMETER
≠EMT≡≡SHIFTL≠≥		104054			SHIFTL=	EMT!54	;SHIFT R0 LEFT, TRAILING PARAMETER
≠EMT≡≡PROL36≠≥		104146			PROL36=	EMT!146	;ROTATE LEFT 36 BITS
≠EMT≡≡SETFLG≠≥		104055			SETFLG=	EMT!55	;SET -1 TO FLAG, TRAILING PARAMETER
≠EMT≡≡MULTPY≠≥		104072			MULTPY=	EMT!72	;MULTIPLY
≠EMT≡≡TDELAY≠≥		104056			TDELAY=	EMT!56	;SMALL DELAY
≠EMT≡≡SWITCH≠≥		104057			SWITCH=	EMT!57	;READ THE SWITCH REGISTER, RETURNED IN R0
≠EMT≡≡SWTSAM≠≥		104060			SWTSAM=	EMT!60	;RETURN PRESENT STORED SWITCHES IN R0
≥					
≠EMT≡≡EOP≠≥		104061			EOP=	EMT!61	;END OF PASS ROUTINE, RETURNS IF NOT COMPLETED
≠EMT≡≡ERREOP≠≥		104062			ERREOP=	EMT!62	;ERROR END OF PASS
≠EMT≡≡EOPSET≠≥		104063			EOPSET=	EMT!63	;SET END OF PASS PRINTOUT INTERVAL
≥					
≥					;DEVICE ROUTINES
≥					
≠EMT≡≡NAMEXT≠≥		104206			NAMEXT=	EMT!206	;FILE NAME.EXT PROCESS
≠EMT≡≡DTAFIL≠≥		104207			DTAFILE=EMT!207	;DECTAPE FILE SELECTION
≠EMT≡≡RPFILE≠≥		104210			RPFILE=	EMT!210	;RP04 FILE SELECTION
≠EMT≡≡R50UPK≠≥		104155			R50UPK=	EMT!155	;RAD50 TO ASCII UNPACK
≠EMT≡≡ASCR50≠≥		104165			ASCR50=	EMT!165	;ASCII TO RAD50 CONVERSION
≠EMT≡≡DTINIT≠≥		104156			DTINIT=	EMT!156	;DECTAPE INITIALIZATION
≠EMT≡≡RPINIT≠≥		104157			RPINIT=	EMT!157	;RP04 INITIALIZATION
≠EMT≡≡RPLOAD≠≥		104166			RPLOAD=	EMT!166	;RP04 LOAD PACK
≠EMT≡≡DVDATA≠≥		104160			DVDATA=	EMT!160	;DEVICE DATA BLOCK READ
≠EMT≡≡DTRDFL≠≥		104211			DTRDFL=	EMT!211	;DECTAPE READ FILE
≠EMT≡≡DTWTFL≠≥		104212			DTWTFL=	EMT!212	;DECTAPE WRITE FILE
≠EMT≡≡DTBASE≠≥		104213			DTBASE=	EMT!213	;RETURN DECTAPE PARAMETER BASE ADDRESS
≠EMT≡≡DTREAD≠≥		104161			DTREAD=	EMT!161	;DECTAPE READ
≠EMT≡≡DTWRT≠≥		104205			DTWRT=	EMT!205	;DECTAPE WRITE
≠EMT≡≡RPFIND≠≥		104167			RPFIND=	EMT!167	;RP04 FIND FILE
≠EMT≡≡RPLKUP≠≥		104170			RPLKUP=	EMT!170	;RP04 FILE DIRECTORY LOOKUP
≠EMT≡≡RPRDFL≠≥		104171			RPRDFL=	EMT!171	;RP04 READ FILE
≠EMT≡≡RPWRFL≠≥		104172			RPWRFL=	EMT!172	;RP04 WRITE FILE
≠EMT≡≡RPREAD≠≥		104162			RPREAD=	EMT!162	;RP04 READ
≠EMT≡≡RPWRIT≠≥		104173			RPWRIT=	EMT!173	;RP04 WRITE
≠EMT≡≡RPADDR≠≥		104174			RPADDR=	EMT!174	;RP04 ADDRESS CALCULATION
≠EMT≡≡RPBASE≠≥		104175			RPBASE=	EMT!175	;RETURN RP04 PARAMETER BLOCK BASE ADDRESS
≠EMT≡≡RPERRO≠≥		104237			RPERROR=EMT!237	;RP04 ERROR REPORTER
≠EMT≡≡DVFRAM≠≥		104163			DVFRAM=	EMT!163	;DEVICE DATA FRAME READ
≠EMT≡≡DVWRD≠≥		104164			DVWRD=	EMT!164	;DEVICE WORD READ
≠EMT≡≡RXFILE≠≥		104230			RXFILE=	EMT!230	;RX11/RX01 FLOPPY FILE SELECTION
≠EMT≡≡RXINIT≠≥		104231			RXINIT=	EMT!231	;  FLOPPY INITIALIZATION
≠EMT≡≡RXRDFL≠≥		104232			RXRDFL=	EMT!232	;  FLOPPY READ FILE
≠EMT≡≡RXWTFL≠≥		104233			RXWTFL=	EMT!233	;  FLOPPY WRITE FILE
≠EMT≡≡RXBASE≠≥		104234			RXBASE=	EMT!234	;  FLOPPY PARAMETER BLOCK BASE ADDRESS
≠EMT≡≡RXREAD≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 12
	PRM11 PAL[KL,SYS]	Page 5.1 	EMT DEFINITIONS

≥		104235			RXREAD=	EMT!235	;  FLOPPY READ
≠EMT≡≡RXWRT≠≥		104236			RXWRT=	EMT!236	;  FLOPPY WRITE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 13
	PRM11 PAL[KL,SYS]	Page 6 	EMT DEFINITIONS

≥					;COMMUNICATION ROUTINES
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥					COMCMD=	EMT!220	;COMMUNICATIONS COMMAND
≥					COMRTRY=EMT!221	;COMMUNICATIONS COMMAND RETRY
≥					COMENQ=	EMT!222	;COMMUNICATIONS ENQUIRY
≥					COMEOT=	EMT!223	;COMMUNICATIONS END OF TRANSMISSION
≥					COMLIN=	EMT!64	;COMMUNICATIONS LINE INPUT
≥					COMSND=	EMT!65	;COMMUNICATIONS LINE OUTPUT
≥					COMACK=	EMT!66	;COMMUNICATIONS ACKNOWLEDGE
≥					COMNAK=	EMT!67	;COMMUNICATIONS NEGATIVE ACKNOWLEDGE
≥					COMCLR=	EMT!70	;COMMUNICATIONS CLEAR
≥					COMCTL=	EMT!71	;COMMUNICATIONS CONTROL SEQUENCE
≥					.ENDC
≥					
≥					;KL10 ROUTINES
≥					
≠EMT≡≡WCRAM≠≥		104073			WCRAM=	EMT!73	;WRITE IN TO C-RAM
≠EMT≡≡RCRAM≠≥		104074			RCRAM=	EMT!74	;READ THE C-RAM
≠EMT≡≡WWADR≠≥		104075			WWADR=	EMT!75	;WRITE C-RAM ADDRESS
≠EMT≡≡MICNUL≠≥		104203			MICNUL=	EMT!203	;C-RAM FILL WITH 0'S
≠EMT≡≡MICFIL≠≥		104204			MICFIL=	EMT!204	;C-RAM FILL WITH 1'S
≥					
≠EMT≡≡MRESET≠≥		104076			MRESET=	EMT!76	;MASTER RESET
≥					
≠EMT≡≡TENSW≠≥		104145			TENSW=	EMT!145	;PDP-10 SWITCHES
≥					
≠EMT≡≡TENSP≠≥		104077			TENSP=	EMT!77	;TURN OFF TEN RUNNING
≥					
≠EMT≡≡TENCHR≠≥		104176			TENCHR=	EMT!176	;PDP-10 LAST TYPED CHARACTER
≥					
≠EMT≡≡SM≠≥		104100			SM=	EMT!100	;START MACHINE
≠EMT≡≡EXCT≠≥		104101			EXCT=	EMT!101	;EXECUTE PDP10 INSTR, REQUIRES SM
≠EMT≡≡LODAR≠≥		104102			LODAR=	EMT!102	;SPECIAL AR LOAD FOR EXCT AND MBOX TEST
≠EMT≡≡SETMPH≠≥		104147			SETMPH=	EMT!147	;SET M-BOX PHASE
≥					
≠EMT≡≡ECLOK≠≥		104135			ECLOK=	EMT!135	;E BOX CLOCK
≠EMT≡≡ESYNC≠≥		104136			ESYNC=	EMT!136	;E BOX SYNC
≥					
≠EMT≡≡EXAM≠≥		104103			EXAM=	EMT!103	;EXAMINE 10 MEMORY
≠EMT≡≡EXAMT≠≥		104104			EXAMT=	EMT!104	;EXAMINE 10 MEMORY, TRAILING PARAMETERS
≠EMT≡≡DPOS≠≥		104105			DPOS=	EMT!105	;DEPOSIT INTO 10 MEMORY
≠EMT≡≡DPOST≠≥		104106			DPOST=	EMT!106	;DEPOSIT INTO 10 MEMORY, TRAILING PARAMETERS
≠EMT≡≡DPOSVR≠≥		104107			DPOSVR=	EMT!107	;DEPOSIT AND VERIFY 10 MEMORY
≠EMT≡≡DPOSVT≠≥		104110			DPOSVT=	EMT!110	;DEPOSIT AND VERIFY 10 MEMORY, TRAILING PARAMETERS
≠EMT≡≡D10MON≠≥		104111			D10MON=	EMT!111	;DEPOSIT -1 INTO 10 FLAG WORD
≠EMT≡≡D10ZRO≠≥		104112			D10ZRO=	EMT!112	;PDP-10 MEMORY ZERO
≥					
≠EMT≡≡CMPR36≠≥		104052			CMPR36=	EMT!52	;COMPARE 5 BYTE 36-BIT WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 14
	PRM11 PAL[KL,SYS]	Page 6.1 	EMT DEFINITIONS

≥					
≠EMT≡≡DTEBAS≠≥		104113			DTEBAS=	EMT!113	;RETURN DTE20 BASE ADDRESS
≠EMT≡≡DFXCT≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 15
	PRM11 PAL[KL,SYS]	Page 7 	EMT DEFINITIONS

≥		104114			DFXCT=	EMT!114	;DIAGNOSTIC FUNCTION EXECUTE
≠EMT≡≡DFXCTT≠≥		104115			DFXCTT=	EMT!115	;DF EXECUTE, TRAILING PARAMETER
≥					
≠EMT≡≡DFRD≠≥		104116			DFRD=	EMT!116	;DIAGNOSTIC FUNCTION READ
≠EMT≡≡DFRDT≠≥		104140			DFRDT=	EMT!140	;DF READ, TRAILING PARAMETER
≠EMT≡≡DFRDMV≠≥		104117			DFRDMV=	EMT!117	;DIAGNOSTIC FUNCTION READ & MOVE
≥					
≠EMT≡≡DFWRT≠≥		104120			DFWRT=	EMT!120	;DIAGNOSTIC FUNCTION WRITE
≠EMT≡≡DFWRTT≠≥		104141			DFWRTT=	EMT!141	;DF WRITE, TRAILING PARAMETERS
≠EMT≡≡DFWIR≠≥		104121			DFWIR=	EMT!121	;DIAGNOSTIC FUNCTION WRITE IR
≥					
≠EMT≡≡DFSCLK≠≥		104122			DFSCLK=	EMT!122	;DIAGNOSTIC FUNCTION, SINGLE STEP CLOCK
≥					
≠EMT≡≡DFPC≠≥		104123			DFPC=	EMT!123	;DIAGNOSTIC FUNCTION READ PC
≠EMT≡≡DFVMA≠≥		104124			DFVMA=	EMT!124	;DIAGNOSTIC FUNCTION READ VMA
≠EMT≡≡DFADB≠≥		104125			DFADB=	EMT!125	;DIAGNOSTIC FUNCTION READ ADDRESS BREAK
≠EMT≡≡DFVMAH≠≥		104150			DFVMAH=	EMT!150	;DIAGNOSTIC FUNCTION READ VMA HELD
≥					
≠EMT≡≡RDRAM≠≥		104126			RDRAM=	EMT!126	;READ D-RAM
≠EMT≡≡WDRAM≠≥		104127			WDRAM=	EMT!127	;WRITE D-RAM
≠EMT≡≡DRAMAD≠≥		104130			DRAMAD=	EMT!130	;SELECT D-RAM ADDRESS
≥					
≠EMT≡≡CLKPRM≠≥		104202			CLKPRM=	EMT!202	;RETURN ADDRESS OF "CLKDFL" WORD
≥					
≠EMT≡≡BURST≠≥		104131			BURST=	EMT!131	;BURST M-BOX CLOCK
≥					
≠EMT≡≡PNTCPU≠≥		104132			PNTCPU=	EMT!132	;PRINT CPU, C-RAM & REGISTERS
≥					
≠EMT≡≡PNTCRM≠≥		104142			PNTCRM=	EMT!142	;PRINT C-RAM, LOGICAL FIELD FORMAT
≥					
≠EMT≡≡PNTDRM≠≥		104143			PNTDRM=	EMT!143	;PRINT D-RAM, LOGICAL FIELD FORMAT
≥					
≠EMT≡≡PRGCMD≠≥		104133			PRGCMD=	EMT!133	;PROGRAM COMMAND
≥					
≠EMT≡≡PRGNPT≠≥		104216			PRGNPT=	EMT!216	;PROGRAM COMMAND, NO PRINT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 16
	PRM11 PAL[KL,SYS]	Page 8 	MACRO DEFINITIONS

≥					.SBTTL	MACRO DEFINITIONS
≥					
≠.IIF≡≡$$LITT≡≡$$CLIT≠≥		144720			.IIF P2,	$$CLIT==$$LITT	;LITERAL STORAGE ASSIGNMENT
≠.IELSE≡≥					.IELSE		$$CLIT==2000
≥					
≠.MACRO≡≤PMSG≠≥					.MACRO	PMSG	$ARG
≥						  $PMSG
≥						  $$CLIT
≥							.NLIST	SRC
≥							$$CLC=.
≥							.=$$CLIT
≥							.ASCIZ	↔$ARG↔
≥							$$CLIT=.
≥							.=$$CLC
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤PMSGR≠≥					.MACRO	PMSGR	$ARG
≥						  $PMSGR
≥						  $$CLIT
≥							.NLIST	SRC
≥							$$CLC=.
≥							.=$$CLIT
≥							.ASCIZ	↔$ARG↔
≥							$$CLIT=.
≥							.=$$CLC
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤PNTMSG≠≥					.MACRO	PNTMSG	$ARG
≥						  MOV	#$$CLIT,R0
≥						  PNTAL
≥							.NLIST	SRC
≥							$$CLC=.
≥							.=$$CLIT
≥							.ASCIZ	↔$ARG↔
≥							.EVEN
≥							$$CLIT=.
≥							.=$$CLC
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤EXIT≠≥					.MACRO	EXIT
≥						  JMP	$EXIT
≥					.ENDM
≥					
≠.MACRO≡≤EXITSK≠≥					.MACRO	EXITSKP
≥						  JMP	$EXITS
≥					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 17
	PRM11 PAL[KL,SYS]	Page 8.1 	MACRO DEFINITIONS

≥					
≠.MACRO≡≤EXITER≠≥					.MACRO	EXITERR
≥						  JMP	$EXITE
≥					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 18
	PRM11 PAL[KL,SYS]	Page 9 	MACRO DEFINITIONS

≥					;BASIC MACROS
≥					
≠.MACRO≡≤PUSH≠≥					.MACRO	PUSH	A
≥							.NLIST	SRC
≥						  .IRP	B,<A>
≥						  MOV	B,-(SP)	;PUSH B ON STACK
≥						  .ENDM
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤POP≠≥					.MACRO	POP	A
≥							.NLIST	SRC
≥						  .IRP	B,<A>
≥						  MOV	(SP)+,B	;POP STACK INTO B
≥						  .ENDM
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤MULT≠≥					.MACRO	MULT	SOURCE,REG
≥						  PUSH	SOURCE
≥						  PUSH	REG
≥						  MULTPY
≥						  POP	REG
≥							.NTYPE	X,REG
≥							.IF	EQ X&1
≥							.IFT
≥						  POP	REG+1
≥							.IFF
≥						  INC	SP
≥						  INC	SP
≥							.ENDC
≥					.ENDM
≥					
≠.MACRO≡≤.LIT≠≥					.MACRO	.LIT	$LTAG,$LARG
≥							$$CLC=.
≥							.=$$CLIT
≥							.EVEN
≥						  $LTAG=.
≥						  .IIF	B <$LARG>,0
≥						  .IIF	NB <$LARG>,$LARG
≥							.EVEN
≥							$$CLIT=.
≥							.=$$CLC
≥					.ENDM
≠.MACRO≡≤SL≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 19
	PRM11 PAL[KL,SYS]	Page 10 	MACRO DEFINITIONS

≥					.MACRO	SL	REG,NUM
≥							.NLIST	SRC
≥							.IF	GT NUM-7
≥							.IFT
≥						  SWAB	REG
≥							.REPT	NUM-8.
≥						  ASL	REG
≥							.ENDR
≥							.IFF
≥							.REPT	NUM
≥						  ASL	REG
≥							.ENDR
≥							.ENDC
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤SR≠≥					.MACRO	SR	REG,NUM
≥							.NLIST	SRC
≥							.IF	GT NUM-7
≥							.IFT
≥						  SWAB	REG
≥							.REPT	NUM-8
≥						  ASR	REG
≥							.ENDR
≥							.IFF
≥							.REPT	NUM
≥						  ASR	REG
≥							.ENDR
≥							.ENDC
≥							.LIST	SRC
≥					.ENDM
≥					
≠.MACRO≡≤EXOR≠≥					.MACRO	EXOR	REG,DESTIN,SCRTCH
≥							.IF	NB SCRTCH
≥							.IFT
≥						  MOV	REG,SCRTCH
≥						  BIC	DESTIN,SCRTCH
≥						  BIC	REG,DESTIN
≥						  BIS	SCRTCH,DESTIN
≥							.IFF
≥						  MOV	REG,-(SP)
≥						  BIC	DESTIN,(SP)
≥						  BIC	REG,DESTIN
≥						  BIS	(SP)+,DESTIN
≥							.ENDC
≥					.ENDM
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 20
	PRM11 PAL[KL,SYS]	Page 11 	MACRO DEFINITIONS

≥					;STANDARD PROGRAM ASSIGNMENTS
≥					
≠.IIF≡≡STACK≡≥					.IIF NDF STACK,	STACK==157776		;INITIAL STACK POINTER
≠.IIF≡≡CONSOL≡≥					.IIF NDF CONSOL,CONSOL==100000		;CONSOLE START ADDRESS
≥					
≡CBIT≠≥		000001			CBIT=	1		;CARRY BIT
≡NBIT≠≥		000010			NBIT=	10		;NEGATIVE BIT
≡ZBIT≠≥		000004			ZBIT=	4		;ZERO BIT
≡VBIT≠≥		000002			VBIT=	2		;OVERFLOW BIT
≡TBIT≠≥		000020			TBIT=	20		;TRAP BIT
≥					
≥					;REGISTER DEFINITIONS
≥					
≡%0≡≡R0≠≥		000000			R0=	%0		;GENERAL REGISTERS
≡%1≡≡R1≠≥		000001			R1=	%1
≡%2≡≡R2≠≥		000002			R2=	%2
≡%3≡≡R3≠≥		000003			R3=	%3
≡%4≡≡R4≠≥		000004			R4=	%4
≡%5≡≡R5≠≥		000005			R5=	%5
≡%6≡≡R6≠≥		000006			R6=	%6
≡%6≡≡SP≠≥		000006			SP=	%6		;STACK POINTER
≡%7≡≡PC≠≥		000007			PC=	%7		;PROGRAM COUNTER
≥					
≥					;PDP11/40 STANDARD TRAP VECTOR ASSIGNMENTS
≥					
≡RESVED≠≥		000000			RESVED=	0		;RESERVED
≡ERRVEC≠≥		000004			ERRVEC=	4		;TIME OUT, BUS ERROR
≡RESVEC≠≥		000010			RESVEC=	10		;RESERVED INSTRUCTION
≡TRTVEC≠≥		000014			TRTVEC=	14		;BREAK POINT VECTOR
≡TBITVE≠≥		000014			TBITVEC=14
≡BPTVEC≠≥		000014			BPTVEC= 14
≡IOTVEC≠≥		000020			IOTVEC=	20		;IOT TRAP VECTOR
≡PWRVEC≠≥		000024			PWRVEC=	24		;POWER FAIL TRAP VECTOR
≡EMTVEC≠≥		000030			EMTVEC=	30		;EMT TRAP VECTOR
≡TRAPVE≠≥		000034			TRAPVEC=34		;"TRAP" TRAP VECTOR
≡TKVEC≠≥		000060			TKVEC=	60		;TTY KEYBOARD VECTOR
≡TPVEC≠≥		000064			TPVEC=	64		;TTY PRINTER VECTOR
≡TA11≠≥		000260			TA11=	260		;CASSETTE TAPE READER
≡TC11≠≥		000214			TC11=	214		;DECTAPE VECTOR
≥					
≥					;PDP11/40 STANDARD ADDRESS ASSIGNMENTS
≥					
≡PS≠≥		177776			PS=	177776		;CPU STATUS
≡STKLMT≠≥		177774			STKLMT=	177774		;STACK LIMIT
≡SWR≠≥		177570			SWR=	177570		;CONSOLE SWITCH REGISTER
≡TTODBR≠≥		177566			TTODBR=	177566		;TTY OUT DBR
≡TTOCSR≠≥		177564			TTOCSR=	177564		;TTY OUT CSR
≥					
≡TTIDBR≠≥		177562			TTIDBR=	177562		;TTY IN DBR
≡TTICSR≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 21
	PRM11 PAL[KL,SYS]	Page 11.1 	MACRO DEFINITIONS

≥		177560			TTICSR=	177560		;TTY IN CSR
≥					
≡XORCR≠≥		174200			XORCR=	174200
≡XORSR≠≥		174202			XORSR=	174202
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 22
	PRM11 PAL[KL,SYS]	Page 12 	MACRO DEFINITIONS

≥					;BIT ASSIGNMENTS
≥					
≡BIT00≠≥		000001			BIT00=	1
≡BIT00≡≡BIT0≠≥		000001			BIT0=	BIT00
≡BIT01≠≥		000002			BIT01=	2
≡BIT01≡≡BIT1≠≥		000002			BIT1=	BIT01
≡BIT02≠≥		000004			BIT02=	4
≡BIT02≡≡BIT2≠≥		000004			BIT2=	BIT02
≡BIT03≠≥		000010			BIT03=	10
≡BIT03≡≡BIT3≠≥		000010			BIT3=	BIT03
≡BIT04≠≥		000020			BIT04=	20
≡BIT04≡≡BIT4≠≥		000020			BIT4=	BIT04
≡BIT05≠≥		000040			BIT05=	40
≡BIT05≡≡BIT5≠≥		000040			BIT5=	BIT05
≥					
≡BIT06≠≥		000100			BIT06=	100
≡BIT06≡≡BIT6≠≥		000100			BIT6=	BIT06
≡BIT07≠≥		000200			BIT07=	200
≡BIT07≡≡BIT7≠≥		000200			BIT7=	BIT07
≡BIT08≠≥		000400			BIT08=	400
≡BIT08≡≡BIT8≠≥		000400			BIT8=	BIT08
≥					
≡BIT09≠≥		001000			BIT09=	1000
≡BIT09≡≡BIT9≠≥		001000			BIT9=	BIT09
≡BIT10≠≥		002000			BIT10=	2000
≡BIT11≠≥		004000			BIT11=	4000
≥					
≡BIT12≠≥		010000			BIT12=	10000
≡BIT13≠≥		020000			BIT13=	20000
≡BIT14≠≥		040000			BIT14=	40000
≥					
≡BIT15≠≥		100000			BIT15=	100000
≥					
≥					;PRIORITY ASSIGNMENTS
≥					
≡PR0≠≥		000000			PR0= 000
≡PR1≠≥		000040			PR1= 040
≡PR2≠≥		000100			PR2= 100
≡PR3≠≥		000140			PR3= 140
≡PR4≠≥		000200			PR4= 200
≡PR5≠≥		000240			PR5= 240
≡PR6≠≥		000300			PR6= 300
≡PR7≠≥		000340			PR7= 340
≥					
≠.IIF≡≡SAILVR≡≡PR3≡≡CPUPR≠≥		000140			.IIF DF SAILVR, CPUPR==PR3	;CLOCK AND DL11E INTERRUPTS ARE PERMITTED
≠.IIF≡≡SAILVR≡≥					.IIF NDF SAILVR, CPUPR==PR7
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 23
	PRM11 PAL[KL,SYS]	Page 13 	MACRO DEFINITIONS

≥					;CHARACTERS USED
≥					
≡MSWCHR≠≥		000030			MSWCHR=	030		; MONITOR TO "KLDCP" SWITCH CHAR, CONTROL X
≡TEXTER≠≥		000000			TEXTERM=0		; TERMINATES TEXT
≡TAB≠≥		000011			TAB=	11		; TAB
≡CNTRLI≠≥		000011			CNTRLI=	11		; CONTROL-I (TAB)
≡LF≠≥		000012			LF=	12		; LINE FEED
≡VT≠≥		000013			VT=	13		; VERTICAL TAB
≡FF≠≥		000014			FF=	14		; FORM FEED
≡CR≠≥		000015			CR=	15		; CARRIAGE RETURN
≡BELL≠≥		000007			BELL=	7		; BELL
≡BLANK≠≥		000040			BLANK=	40		; BLANK (SPACE)
≡SPACE≠≥		000040			SPACE=	40		; SPACE
≡COMMA≠≥		000054			COMMA=	54		; COMMA
≡SLASH≠≥		000057			SLASH=	57		; SLASH
≡BKSLH≠≥		000134			BKSLH=	134		; BACK SLASH
≡BKARW≠≥		000137			BKARW=	137		; BACK ARROW
≡XOFF≠≥		000023			XOFF=	023		; X-OFF		(CONTROL S)
≡XON≠≥		000021			XON=	021		; X-ON		(CONTROL Q)
≡CNTRLO≠≥		000017			CNTRLO=	017		; CONTROL O
≡CNTRLU≠≥		000025			CNTRLU=	025		; CONTROL U
≡CNTRLA≠≥		000001			CNTRLA=	001		; CONTROL A
≡CNTRLC≠≥		000003			CNTRLC=	003		; CONTROL C
≡CNTRLD≠≥		000004			CNTRLD=	004		; CONTROL D
≡CNTRLK≠≥		000013			CNTRLK=	013		; CONTROL K
≡CNTRLL≠≥		000014			CNTRLL=	14		; CONTROL L
≡CNTRLR≠≥		000022			CNTRLR=	022		; CONTROL R
≡CNTRLT≠≥		000024			CNTRLT=	024		; CONTROL T
≡CNTRLX≠≥		000030			CNTRLX=	030		; CONTROL X
≡CNTRLZ≠≥		000032			CNTRLZ=	032		; CONTROL Z
≡RUBOUT≠≥		000177			RUBOUT=	177		; RUB OUT
≡ALTMOD≠≥		000033			ALTMOD=	33		; ALTMODE
≡ETB≠≥		000027			ETB=	27		; END OF TRANSMISSION BLOCK	(CONTROL W)
≠.IF≡≡SAILVR≡≥					.IF NDF SAILVR
≥					NULL=	026		; NULL FILLER CHAR
≥					.IFF
≡NULL≠≥		000000			NULL=	000
≥					.ENDC
≡SYN≠≥		000001			SYN=	001		; COMMUNICATIONS SYNC CHAR (CONTROL A)
≥					
≥					;.NLIST
≠.IF≡≡DTEASB≡≥					.IF	DF DTEASB
≥					;.LIST
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 24
	PRM11 PAL[KL,SYS]	Page 14 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
≥					
≡DTEADR≠≥		174400			DTEADR=	174400		;ADDRESS OF (FIRST) DTE20 DEVICE REGISTER BLOCK
≡DTESIZ≠≥		000040			DTESIZ=	000040		;SPACING BETWEEN CONSECUTIVE DTE20'S
≡DTEMAX≠≥		000004			DTEMAX=	4		;MAXIMUM NUMBER OF DTE20'S ON ONE PDP-11
≡DTESZS≠≥		000005			DTESZS=	5		;SHIFT TO CONVERT DTE ADDRESS TO DTE #
≥					
≠.IF≡≡DTEDEF≡≥					.IF	DF DTEDEF
≥					;OFFSETS FROM THE BASE OF THE DTE20 DEVICE REGISTER BLOCK
≥					;TO SPECIFIC 10/11 INTERFACE RAM LOCATIONS AND REGISTERS.
≥					
≥					; THE FIRST 12 REGISTERS ARE NOT INITIALIZED BY "INIT" (BECAUSE THEY ARE IN RAMS)
≥					
≡DLYCNT≠≥		000000			DLYCNT=	00		;DELAY COUNT			(ADDRESS XXXX00)
≡DEXWD3≠≥		000002			DEXWD3=	02		;DEPOSIT OR EXAMINE WORD 3	(ADDRESS XXXX02)
≡DEXWD2≠≥		000004			DEXWD2=	04		;DEPOSIT OR EXAMINE WORD 2	(ADDRESS XXXX04)
≡DEXWD1≠≥		000006			DEXWD1=	06		;DEPOSIT OR EXAMINE WORD 1	(ADDRESS XXXX06)
≡TENAD1≠≥		000010			TENAD1=	10		;10 ADDRESS WORD 1 FOR DEX	(ADDRESS XXXX10)
≡TENAD2≠≥		000012			TENAD2=	12		;10 ADDRESS WORD 2 FOR DEX	(ADDRESS XXXX12)
≡TO10BC≠≥		000014			TO10BC=	14		;TO10 BYTE COUNT		(ADDRESS XXXX14)
≡TO11BC≠≥		000016			TO11BC=	16		;TO11 BYTE COUNT		(ADDRESS XXXX16)
≡TO10AD≠≥		000020			TO10AD=	20		;TO10 PDP11 MEMORY ADDRESS	(ADDRESS XXXX20)
≡TO11AD≠≥		000022			TO11AD=	22		;TO11 PDP11 MEMORY ADDRESS	(ADDRESS XXXX22)
≡TO10DT≠≥		000024			TO10DT=	24		;TO10 PDP11 DATA WORD		(ADDRESS XXXX24)
≡TO11DT≠≥		000026			TO11DT=	26		;TO11 PDP11 DATA WORD		(ADDRESS XXXX26)
≥					
≥					; THE LAST 4 REGISTERS ARE INITIALIZED BY "INIT" (BECAUSE THEY ARE IN FLIP-FLOPS)
≥					
≡DIAG1≠≥		000030			DIAG1=	30		;DIAGNOSTIC WORD 1		(ADDRESS XXXX30)
≡DIAG2≠≥		000032			DIAG2=	32		;DIAGNOSTIC WORD 2		(ADDRESS XXXX32)
≡STATUS≠≥		000034			STATUS=	34		;10/11 INTERFACE STATUS WORD	(ADDRESS XXXX34)
≡DIAG3≠≥		000036			DIAG3=	36		;DIAGNOSTIC WORD 3		(ADDRESS XXXX36)
≥					.ENDC
≥					
≥					;  THE FOLLOWING ARE THE ADDRESSES OF THE DTE20 INTERRUPT VECTORS
≥					
≡DTEIV0≠≥		000774			DTEIV0=	774		;INTERRUPT VECTOR FOR DTE20 #0
≡DTEIV1≠≥		000770			DTEIV1=	770		;INTERRUPT VECTOR FOR DTE20 #1
≡DTEIV2≠≥		000764			DTEIV2=	764		;INTERRUPT VECTOR FOR DTE20 #2
≡DTEIV3≠≥		000760			DTEIV3=	760		;INTERRUPT VECTOR FOR DTE20 #3
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 25
	PRM11 PAL[KL,SYS]	Page 15 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					;BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
≥					
≥					;BIT ASSIGNMENTS FOR TENAD1
≥					
≡BIT15≡≡PHYS≠≥		100000			PHYS=	BIT15		;EXAMINE/DEP PHYSICAL ADDRESS
≡BIT14≡≡BIT13≡≡USEVIR≠≥		060000			USEVIR=	BIT14!BIT13	;EX/DP USER VIRTUAL ADDRESS
≡BIT14≡≡XUPT≠≥		040000			XUPT=	BIT14		;EX/DP VIA USER PROCESS TABLE
≡BIT13≡≡EXVIRT≠≥		020000			EXVIRT=	BIT13		;EX/DP EXEC VIRTUAL ADDRESS
≡BIT12≡≡DEP≠≥		010000			DEP=	BIT12		;MODE BIT FOR DEPOSIT (0=EXAMINE)
≡BIT11≡≡PRTOFF≠≥		004000			PRTOFF=	BIT11		;PROTECT OFF
≡XEPT≠≥		000000			XEPT=	0		;EX/DP VIA EXEC PROCESS TABLE
≥					
≥					;BIT ASSIGNMENTS FOR TO11BC
≥					
≡BIT15≡≡INT10≠≥		100000			INT10=	BIT15		;SET DONE AND INTERRUPT BOTH 10 AND 11
≡BIT14≡≡ZSTOP≠≥		040000			ZSTOP=	BIT14		;STOP ON NULL (ZERO) CHARACTER
≡BIT13≡≡BYTE2≠≥		020000			BYTE2=	BIT13		;TWO EIGHT BIT BYTES PER WORD
≡BIT13≡≡TO11BM≠≥		020000			TO11BM=	BIT13		;TO-11 BYTE MODE
≥					
≥					;BIT ASSIGNMENTS FOR DIAG1 (WRITE)
≥					
≡BIT15≡≡DS00≠≥		100000			DS00=	BIT15		;DIAGNOSTIC STATUS
≡BIT14≡≡DS01≠≥		040000			DS01=	BIT14		; "
≡BIT13≡≡DS02≠≥		020000			DS02=	BIT13		; "
≡BIT12≡≡DS03≠≥		010000			DS03=	BIT12		; "
≡BIT11≡≡DS04≠≥		004000			DS04=	BIT11		; "
≡BIT10≡≡DS05≠≥		002000			DS05=	BIT10		; "
≡BIT9≡≡DS06≠≥		001000			DS06=	BIT9		; "
≡BIT7≡≡DFUNC≠≥		000200			DFUNC=	BIT7		;DOING DIAGNOSTIC FUNCTION (DFRD,DFWRT,DFXCT)
≡BIT4≡≡BIT5≡≡PULSE≠≥		000060			PULSE=	BIT4!BIT5	;SINGLE PULSE THE 10/11 CLOCK (ALSO SETS
≥								;10/11 DIAGNOSTIC MODE)
≡BIT0≡≡DCOMST≠≥		000001			DCOMST=	BIT0		;DIAGNOSTIC COMMAND START
≡BIT0≡≡DCSRT≠≥		000001			DCSRT=	BIT0		;DIAGNOSTIC COMMAND START (NEW NAME FOR DCOMST)
≡BIT2≡≡DSEND≠≥		000004			DSEND=	BIT2		;SEND THE EBUS DURING DIAGNOSTIC FUNCTION
≡BIT3≡≡DIKL10≠≥		000010			DIKL10=	BIT3		;KL10 DIAGNOSTIC MODE
≡BIT5≡≡D1011≠≥		000040			D1011=	BIT5		;10/11 INTERFACE DIAGNOSTIC MODE
≥					
≥					;BIT ASSIGNMENTS FOR DIAG1 (READ)
≥					
≡BIT7≡≡TO10≠≥		000200			TO10=	BIT7		;INTERFACE MAJOR STATE = TO10 TRANSFER
≡BIT8≡≡DEX≠≥		000400			DEX=	BIT8		;    "       "     "   = DEPOSIT OR EXAMINE
≡BIT6≡≡TO11≠≥		000100			TO11=	BIT6		;    "       "     "   = TO11 TRANSFER
≡BIT4≡≡VEC04≠≥		000020			VEC04=	BIT4		;VECTOR INTERRUPT ADDRESS BIT 4
≡BIT3≡≡VEC03≠≥		000010			VEC03=	BIT3		;  "        "        "     "  3
≡BIT2≡≡VEC02≠≥		000004			VEC02=	BIT2		;  "        "        "     "  2
≡BIT9≡≡HALTLP≠≥		001000			HALTLP=	BIT9		;EBOX IS IN HALT LOOP
≡BIT10≡≡KLRUN≠≥		002000			KLRUN=	BIT10		;RUN FLOP, KL IS EXECUTING INSTRUCTIONS
≡BIT11≡≡ERRSTP≠≥		004000			ERRSTP=	BIT11		;EBOX CLOCK STOPPED DUE TO ERROR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 26
	PRM11 PAL[KL,SYS]	Page 16 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					;BIT ASSIGNMENTS FOR DIAG2 (WRITE)
≥					
≡BIT14≡≡EDONES≠≥		040000			EDONES=	BIT14		;SET EBUS DONE
≡BIT6≡≡DRESET≠≥		000100			DRESET=	BIT6		;PERFORM DIAGNOSTIC CLEAR
≥					
≥					;BIT ASSIGNMENTS FOR DIAG2 (READ)
≥					
≥					;BIT ASSIGNMENTS FOR DIAG3 (WRITE)
≥					
≡BIT5≡≡SCD≠≥		000040			SCD=	BIT5		;SHIFT CAPTURED DATA (PARITY ERROR DATA)
≡BIT4≡≡CDD≠≥		000020			CDD=	BIT4		;CLEAR DUPE & DURE ERROR FLAGS
≡BIT3≡≡WEP≠≥		000010			WEP=	BIT3		;WRITE EVEN (BAD) PARITY
≡BIT1≡≡CNUPE≠≥		000002			CNUPE=	BIT1		;CLEAR NUPE
≡BIT0≡≡TO10BM≠≥		000001			TO10BM=	BIT0		;TO-10 TRANSFER BYTES FROM THE 11
≥					
≥					;BIT ASSIGNMENTS FOR DIAG3 (READ)
≥					
≡BIT15≡≡RFMAD0≠≥		100000			RFMAD0=	BIT15		;RFM ADDRESS BIT 0
≡BIT14≡≡RFMAD1≠≥		040000			RFMAD1=	BIT14		; "     "     "  1
≡BIT13≡≡RFMAD2≠≥		020000			RFMAD2=	BIT13		; "     "     "  2
≡BIT12≡≡RFMAD3≠≥		010000			RFMAD3=	BIT12		; "     "     "  3
≥					
≥					;BIT ASSIGNMENTS FOR DIAG3 (READ)
≥					
≡BIT15≡≡SWSLFT≠≥		100000			SWSLFT=	BIT15		;SWAP SELECT LEFT
≡BIT14≡≡CAB08≠≥		040000			CAB08=	BIT14		;CAPTURED UNIBUS ADDRESS BIT 08
≡BIT4≡≡DUPE≠≥		000020			DUPE=	BIT4		;DATO UNIBUS PARITY ERROR
≡BIT2≡≡DURE≠≥		000004			DURE=	BIT2		;DATO UNIBUS RECIEVER ERROR
≡BIT1≡≡NUPE≠≥		000002			NUPE=	BIT1		;NPR UNIBUS PARITY ERROR
≡BIT13≡≡BIT12≡≡BIT11≡≡BIT10≡≡BIT9≡≡UPECD≠≥		037000			UPECD=	BIT13!BIT12!BIT11!BIT10!BIT9	;UNIBUS PARITY ERR, CAPTURED DATA
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 27
	PRM11 PAL[KL,SYS]	Page 17 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					;BIT ASSIGNMENTS FOR STATUS (WRITE)
≥					
≡BIT15≡≡DON10S≠≥		100000			DON10S=	BIT15		;SET TO10 DONE
≡BIT14≡≡DON10C≠≥		040000			DON10C=	BIT14		;CLEAR TO10 DONE
≡BIT13≡≡ERR10S≠≥		020000			ERR10S=	BIT13		;SET TO10 ERROR
≡BIT12≡≡ERR10C≠≥		010000			ERR10C=	BIT12		;CLEAR TO10 ERROR
≡BIT11≡≡INT11S≠≥		004000			INT11S=	BIT11		;SET 10 REQ INTERRUPT (INTERRUPTS 11)
≡BIT10≡≡INT11C≠≥		002000			INT11C=	BIT10		;CLEAR 10 REQ INTERRUPT (REMOVES INTERRUPT TO 11)
≡BIT9≡≡PERCLR≠≥		001000			PERCLR=	BIT9		;CLEAR -11 MEMORY PARITY ERROR
≡BIT8≡≡INT10S≠≥		000400			INT10S=	BIT8		;SET REQUEST 10 INTERRUPT (INTERRUPTS 10)
≡BIT7≡≡DON11S≠≥		000200			DON11S=	BIT7		;SET TO11 DONE
≡BIT6≡≡DON11C≠≥		000100			DON11C=	BIT6		;CLEAR TO11 DONE
≡BIT5≡≡INTRON≠≥		000040			INTRON=	BIT5		;ENABLE DTE20 TO INTERRUPT THE 11
≡BIT4≡≡EBUSPC≠≥		000020			EBUSPC=	BIT4		;CLEAR EBUS PARITY ERROR
≡BIT3≡≡INTROF≠≥		000010			INTROF=	BIT3		;DISABLE THE DTE20 11-INTERRUPTS
≡BIT2≡≡EBUSPS≠≥		000004			EBUSPS=	BIT2		;SET EBUS PARITY ERROR
≡BIT1≡≡ERR11S≠≥		000002			ERR11S=	BIT1		;SET TO11 ERROR
≡BIT0≡≡ERR11C≠≥		000001			ERR11C=	BIT0		;CLEAR TO11 ERROR
≥					
≥					;BIT ASSIGNMENTS FOR STATUS (READ)
≥					
≡BIT15≡≡TO10DN≠≥		100000			TO10DN=	BIT15		;TO10 DONE
≡BIT13≡≡TO10ER≠≥		020000			TO10ER=	BIT13		;TO 10 ERROR (NPR TIMEOUT OR BUS ERROR)
≡BIT12≡≡RAMIS0≠≥		010000			RAMIS0=	BIT12		;DATA OUT OF DTE RAM IS ALL 0S (RFM=0)
≡BIT11≡≡TO11DB≠≥		004000			TO11DB=	BIT11		;10 REQUESTING 11 INTERRUPT (DOORBELL FROM 10)
≡BIT10≡≡DXWRD1≠≥		002000			DXWRD1=	BIT10		;DEPOSIT OR EXAMINE WORD ONE
≡BIT9≡≡D11MPE≠≥		001000			D11MPE=	BIT9		;-11 MEMORY PARITY ERROR
≡BIT8≡≡TO10DB≠≥		000400			TO10DB=	BIT8		;REQUEST 10 INTERRUPT (DOORBELL FROM 11)
≡BIT7≡≡TO11DN≠≥		000200			TO11DN=	BIT7		;TO11 DONE
≡BIT6≡≡EBSEL≠≥		000100			EBSEL=	BIT6		;E BUFFER SELECT
≡BIT5≡≡NULSTP≠≥		000040			NULSTP=	BIT5		;NULL STOP
≡BIT4≡≡BPARER≠≥		000020			BPARER=	BIT4		;EBUS PARITY ERROR
≡BIT3≡≡RM≠≥		000010			RM=	BIT3		;THIS DTE20 IN RESTRICTED MODE
≡BIT2≡≡DEXDON≠≥		000004			DEXDON=	BIT2		;DEPOSIT OR EXAMINE DONE
≡BIT1≡≡TO11ER≠≥		000002			TO11ER=	BIT1		;TO 11 ERROR (NPR TIMEOUT OR BUS ERROR)
≡BIT0≡≡INTSON≠≥		000001			INTSON=	BIT0		;INTERRUPTS ON, DTE20 ENABLED TO INTERRUPT 11
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 28
	PRM11 PAL[KL,SYS]	Page 18 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					;CLOCK CONTROL FUNCTIONS
≥					
≡STPCLK≠≥		000000			STPCLK=	000	; STOP CLOCK
≡STRCLK≠≥		000001			STRCLK=	001	; START CLOCK
≡SSCLK≠≥		000002			SSCLK=	002	; SINGLE STEP THE MBOX CLOCK
≡SECLK≠≥		000003			SECLK=	003	; SINGLE STEP EBOX CLOCK
≡CECLK≠≥		000004			CECLK=	004	; CONDITIONAL EBOX CLOCK
≡CLRMR≠≥		000006			CLRMR=	006	; CLEAR MR RESET
≡SETMR≠≥		000007			SETMR=	007	; SET MR RESET
≡BRCLK≠≥		000005			BRCLK=	005	; BURST THE CLOCK
≥					
≥					;CLOCK LOAD FUNCTIONS
≥					
≡LDBRR≠≥		000042			LDBRR=	42	; LOAD BURST REGISTER RIGHT HALF
≡LDBRL≠≥		000043			LDBRL=	43	; LOAD BURST REGISTER LEFT HALF
≡LDSEL≠≥		000044			LDSEL=	44	; LOAD SOURCE AND RATE SELECTS
≡LDDIS≠≥		000045			LDDIS=	45	; LOAD EBOX CLOCK DISTRIBUTION REGISTER
≡LDCHK1≠≥		000046			LDCHK1=	46	; LOAD PARITY CHECK REGISTER (ENABLE BAD PARITY STOP)
≡LDCHK2≠≥		000047			LDCHK2=	47	; LOAD EBOX INTERNAL CHECK REGISTER
≥					
≥					;DRAM FUNCTIONS
≥					
≡LDRAM1≠≥		000060			LDRAM1=	60	; LOAD A & B FIELDS EVEN
≡LDRAM2≠≥		000061			LDRAM2=	61	; LOAD A & B FIELDS ODD
≡LDRAM3≠≥		000062			LDRAM3=	62	; LOAD COMMON J1-J4
≡LDRJEV≠≥		000063			LDRJEV=	63	; LOAD PARITY & J8-J10 EVEN
≡LDRJOD≠≥		000064			LDRJOD=	64	; LOAD PARITY & J8-J10 ODD
≡DRAMAB≠≥		000133			DRAMAB=	133	; READ D-RAM A & B
≡DRJ710≠≥		000135			DRJ710=	135	; READ D-RAM J7-J10
≡DRJ1.4≠≥		000134			DRJ1.4=	134	; READ D-RAM J1-J4
≥					
≥					;IR DRAM CONTROL
≥					
≡DISIOJ≠≥		000065			DISIOJ=	65	; DISABLE 7XX & JRST=254
≡DISACF≠≥		000066			DISACF=	66	; DISABLE THE IR AC'C
≡ENIOJA≠≥		000067			ENIOJA=	67	; ENABLE 7XX, JRST=254 & IR AC'S
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 29
	PRM11 PAL[KL,SYS]	Page 19 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					;CRAM FUNCTIONS
≥					
≡LCRAM1≠≥		000057			LCRAM1=	57	; LOAD C-RAM DATA
≡LCRAM2≠≥		000056			LCRAM2=	56
≡LCRAM3≠≥		000055			LCRAM3=	55
≡LCRAM4≠≥		000054			LCRAM4=	54
≡LCRAM5≠≥		000053			LCRAM5=	53
≡LCRDAL≠≥		000052			LCRDAL=	52	; LOAD CRAM ADDRESS LEFT (00-04)
≡LCRDAR≠≥		000051			LCRDAR=	51	; LOAD CRAM ADDRESS RIGHT (05-10)
≡RCRAM1≠≥		000147			RCRAM1=	147	; READ C-RAM DATA
≡RCRAM2≠≥		000146			RCRAM2=	146
≡RCRAM3≠≥		000145			RCRAM3=	145
≡RCRAM4≠≥		000144			RCRAM4=	144
≡RCSPEC≠≥		000141			RCSPEC=	141	; READ C-RAM SPEC
≥					
≥					;MISC CONTROL FUNCTIONS
≥					
≡IRLOAD≠≥		000014			IRLOAD=	14	; LOAD THE IR FROM AD
≡DRLTCH≠≥		000015			DRLTCH=	15	; LOAD D-RAM LATCHES
≡CLRRUN≠≥		000010			CLRRUN=	10	; CLEAR RUN FLIP-FLOP
≡SETRUN≠≥		000011			SETRUN=	11	; SET RUN FLIP-FLOP
≡CONBUT≠≥		000012			CONBUT=	12	; THE CONTINUE BUTTON
≡LDAR≠≥		000077			LDAR=	77	; LOAD THE AR
≥					
≥					;MBOX CONTROL FUNCTIONS
≥					
≡LDMBXA≠≥		000071			LDMBXA=	71	; LOAD MEMORY TO CACHE SELECTOR
≡LDCHAN≠≥		000070			LDCHAN=	70	; LOAD CHANNEL DIAGNOSTIC CONDITIONS
≥					
≥					;PI CONTROL FUNCTIONS
≥					
≡READ0≠≥		000100			READ0=	100	; PI    (READ STATUS 0)
≡READ1≠≥		000101			READ1=	101	; PI	(READ STATUS 1)
≡READ2≠≥		000102			READ2=	102	; PI	(READ STATUS 2)
≡READ3≠≥		000103			READ3=	103	; PI	(READ STATUS 3)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 30
	PRM11 PAL[KL,SYS]	Page 20 	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75

≥					;DATA PATH CONTROL FUNCTIONS
≥					
≡DPAR≠≥		000120			DPAR	=120	; AR
≡DPBR≠≥		000121			DPBR	=121	; BR
≡DPMQ≠≥		000122			DPMQ	=122	; MQ
≡DPFM≠≥		000123			DPFM	=123	; FM
≡DPFMA≠≥		000114			DPFMA	=114	; FM ADR
≡DPBRX≠≥		000124			DPBRX	=124	; BRX
≡DPARX≠≥		000125			DPARX	=125	; ARX
≡DPADX≠≥		000126			DPADX	=126	; ADX
≡DPAD≠≥		000127			DPAD	=127	; AD
≡DPPC≠≥		000153			DPPC	=153	; PC
≡DPVMA≠≥		000157			DPVMA	=157	; VMA
≡DPVMHD≠≥		000157			DPVMHD	=157	; VMA HELD
≡DPADB≠≥		000153			DPADB	=153	; ADDRESS BREAK
≡DPERG≠≥		000167			DPERG	=167	; E-BUS REGISTER
≡DPFE≠≥		000132			DPFE	=132	; FE 05-09
≡DPFE1≠≥		000133			DPFE1	=133	; FE 00-04
≡DPSC≠≥		000130			DPSC	=130	; SC 05-09
≡DPSC1≠≥		000131			DPSC1	=131	; SC 00-04
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 31
	PRM11 PAL[KL,SYS]	Page 21 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					.SBTTL	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75
≥					
≥					;MACRO TO TURN 36 BIT WORDS INTO 5 UPSIDE DOWN BYTES
≥					
≠.MACRO≡≤WD36≠≥					.MACRO	WD36	A,B,C
≥						.NLIST	SRC
≥						  .BYTE	<377&C>,<<<C&7400>/400>!<<B&17>*20>>,<<B&7760>/20>
≥						  .BYTE	<A&377>,<<A&7400>/400>
≥						.LIST	SRC
≥					.ENDM
≥					
≥					;PDP10 CPU INSTRUCTION MACRO. TAKES 5 ARGUMENTS AS IN NORMAL
≥					;10 CODE. 5 FIELDS MUST BE PRESENT (4 FIELD SEPARATORS)
≥					;BUT THE AD,AC,I, AND XR FIELDS MAY BE LEFT BLANK AND IF SO,
≥					;WILL ASSEMBLE AS ZERO.  THE OP FIELD MUST NOT BE LEFT BLANK.
≥					
≠.MACRO≡≤I10≠≥					.MACRO	I10	OP,CAC,CI,CAD,CXR
≥							ADH=0
≥							ADL=0
≥						  .IF	NB CAD
≥						  .IRPC	AD1,CAD
≥						  .IIF	GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≥						  .ENDC
≥						  .IIF B CAC,AC=0
≥						  .IIF NB CAC,AC=CAC
≥						  .IIF B CI,I=0
≥						  .IIF NB CI,I=CI
≥						  .IIF B CXR,XR=0
≥						  .IIF NB CXR,XR=CXR
≥						.NLIST	SRC
≥						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
≥						  .BYTE	<OP&37*10+<AC/2>>,<OP/40>
≥						.LIST	SRC
≥					.ENDM	I10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 32
	PRM11 PAL[KL,SYS]	Page 22 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					;MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
≥					;FOR A 22-BIT ARGUMENT
≥					
≠.MACRO≡≤WD22≠≥					.MACRO	WD22	AD
≥						  ADH=0
≥						  ADL=0
≥						  .IRPC	AD1,AD
≥						  .IIF	GE <ADL-10000>,ADH=<10*ADH>+<ADL/10000>
≥						  ADL=10*<ADL&7777>+AD1
≥						.ENDM
≥						.NLIST	SRC
≥						.BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<ADH/2>
≥						.LIST	SRC
≥					.ENDM	WD22
≥					
≥					;PDP10 I/O INSTRUCTION MACRO. TAKES 5 ARGUMENT AS NOTED ABOVE
≥					;IN THE DESCRIPTION OF THE I10 MACRO. THE 8 I/O OP CODES ARE
≥					;DEFINED AS ARE DEVICE CODES APR, PI, PAG, AND CCA.
≥					
≠.MACRO≡≤IO10≠≥					.MACRO	IO10	OP,DV,CI,AD,CXR
≥						  .IIF B CI,I=0
≥						  .IIF NB CI,I=CI
≥						  .IIF B CXR,XR=0
≥						  .IIF NB CXR,XR=CXR
≥							BLKO=2
≥							DATAO=3
≥							BLKI=0
≥							DATAI=1
≥							CONO=4
≥							CONI=5
≥							CONSZ=6
≥							CONSO=7
≥							APR=0
≥							PI=4
≥							PAG=10
≥							CCA=14
≥							ADH=0
≥							ADL=0
≥						  .IRPC AD1,AD
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≥						.NLIST	SRC
≥						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
≥						  .BYTE	<DV&374+<OP/2>>,<DV/400+16>
≥						.LIST	SRC
≥					.ENDM	IO10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 33
	PRM11 PAL[KL,SYS]	Page 23 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					;THIS IS A MACRO TO WAIT FOR A DONE FLAG
≥					
≠.MACRO≡≤WFZERO≠≥					.MACRO	WFZERO BITSEL
≥						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≥					  91$:	  BIT	#BITSEL,@.DIAG1	;TEST BIT
≥						  BEQ	92$		;LEAVE IF BIT ZERO(OK)
≥						  DEC	(SP)		;DECREMENT CNT
≥						  BNE	91$		;CONTINUE LOOP
≥						  TST	RPTFLG		;OTHERWISE TIME OUT
≥						  BNE	92$
≥						  JSR	R1,$DFTIM
≥					  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
≥					.ENDM
≥					
≥					
≥					;THIS MACRO IS A WAIT FOR FLAG MACRO.
≥					;IT WAITS FOR A TEST BIT TO GO TO ONE
≥					;FROM A ZERO
≥					
≠.MACRO≡≤WFONE≠≥					.MACRO	WFONE BITSEL
≥						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≥					  93$:	  BIT	#BITSEL,@.STDTE	;TEST BIT
≥						  BNE	94$		;LEAVE IF NOW A ONE(OK)
≥						  DEC	(SP)		;DECREMENT CNT
≥						  BNE	93$		;CONTINUE LOOP
≥						  TST	RPTFLG		;OTHERWISE TIME OUT
≥						  BNE	94$
≥						  JSR	R1,$DFTIM
≥					  94$:	  TST	(SP)+		;RESET STACK
≥					.ENDM
≥					
≥					;.NLIST
≥					.ENDC	; DTEASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡DTEBBD≡≥					.IF	DF DTEBBD
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 34
	PRM11 PAL[KL,SYS]	Page 24 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					.SBTTL	*BBD*	DTE20 DEVICE REGISTER AND BIT DEFINITIONS, 2-JAN-75
≥					
≥					DTEADR=	164000		;ADDRESS OF (FIRST) DTE20 DEVICE REGISTER BLOCK
≥					DTESIZ=	000040		;SPACING BETWEEN CONSECUTIVE DTE20'S
≥					DTEMAX=	4		;MAXIMUM NUMBER OF DTE20'S ON ONE PDP-11
≥					DTESZS=	5		;SHIFT TO CONVERT DTE ADDRESS TO DTE #
≥					
≥					.IF	DF DTEDEF
≥					;OFFSETS FROM THE BASE OF THE DTE20 DEVICE REGISTER BLOCK
≥					;TO SPECIFIC 10/11 INTERFACE RAM LOCATIONS AND REGISTERS.
≥					
≥					; THE FIRST 12 REGISTERS ARE NOT INITIALIZED BY "INIT" (BECAUSE THEY ARE IN RAMS)
≥					
≥					DLYCNT=	00		;DELAY COUNT			(ADDRESS XXXX00)
≥					DEXWD1=	02		;DEPOSIT OR EXAMINE WORD 1	(ADDRESS XXXX02)
≥					DEXWD2=	04		;DEPOSIT OR EXAMINE WORD 2	(ADDRESS XXXX04)
≥					DEXWD3=	06		;DEPOSIT OR EXAMINE WORD 3	(ADDRESS XXXX06)
≥					TENAD1=	10		;10 ADDRESS WORD 1 FOR DEX	(ADDRESS XXXX10)
≥					TENAD2=	12		;10 ADDRESS WORD 2 FOR DEX	(ADDRESS XXXX12)
≥					TO10BC=	14		;TO10 BYTE COUNT		(ADDRESS XXXX14)
≥					TO11BC=	16		;TO11 BYTE COUNT		(ADDRESS XXXX16)
≥					TO10AD=	20		;TO10 PDP11 MEMORY ADDRESS	(ADDRESS XXXX20)
≥					TO11AD=	22		;TO11 PDP11 MEMORY ADDRESS	(ADDRESS XXXX22)
≥					TO10DT=	24		;TO10 PDP11 DATA WORD		(ADDRESS XXXX24)
≥					TO11DT=	26		;TO11 PDP11 DATA WORD		(ADDRESS XXXX26)
≥					
≥					; THE LAST 4 REGISTERS ARE INITIALIZED BY "INIT" (BECAUSE THEY ARE IN FLIP-FLOPS)
≥					
≥					DIAG1=	30		;DIAGNOSTIC WORD 1		(ADDRESS XXXX30)
≥					DIAG2=	32		;DIAGNOSTIC WORD 2		(ADDRESS XXXX32)
≥					STATUS=	34		;10/11 INTERFACE STATUS WORD	(ADDRESS XXXX34)
≥					DIAG3=	36		;DIAGNOSTIC WORD 3		(ADDRESS XXXX36)
≥					.ENDC
≥					
≥					;  THE FOLLOWING ARE THE ADDRESSES OF THE DTE20 INTERRUPT VECTORS
≥					
≥					DTEIV0=	170		;INTERRUPT VECTOR FOR DTE20 #0
≥					DTEIV1=	174		;INTERRUPT VECTOR FOR DTE20 #1
≥					DTEIV2=	270		;INTERRUPT VECTOR FOR DTE20 #2
≥					DTEIV3=	274		;INTERRUPT VECTOR FOR DTE20 #3
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 35
	PRM11 PAL[KL,SYS]	Page 25 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					; THE FOLLOWING MACRO (DTEVEC) DYNAMICLY COMPUTES THE INTERRUPT
≥					; VECTOR ADDRESS ASSOCIATED WITH A PARTICULAR DTE20.
≥					; THE FIRST ARGUMENT (DTEDRB) IS A REGISTER OR MEMORY LOCATION
≥					; WHICH CONTAINS THE BASE ADDRESS OF THE DEVICE REGISTER BLOCK
≥					; FOR A PARTICULAR DTE20.
≥					; THE SECOND ARGUMENT (DTEIVB) IS A REGISTER OR MEMORY LOCATION
≥					; INTO WHICH THIS MACRO WILL STORE THE BASE ADDRESS OF THE INTERRUPT
≥					; VECTOR ASSOCIATED WITH THE SAME DTE20.
≥					
≥					.MACRO	DTEVEC	DTEDRB,DTEIVB,?LABEL
≥						  MOVB	DTEDRB,DTEIVB
≥						  .NTYPE	DTE$T0,DTEIVB
≥						  .IF	NE	DTE$T0&70	;IS "DTEIVB" A REGISTER?
≥						  .IFT
≥						  CLRB	DTEIVB+1
≥						  .ENDC
≥						  ADD	#DTEIV0,DTEIVB	;THIS MACRO DEPENDS ON THE BIT
≥						  BIT	#DTESIZ,DTEIVB	;PATTERNS IN THE DEVICE REGISTER
≥						  BNE	LABEL		;ADDRESSES AND INTERRUPT VECTOR
≥						  SUB	#DTESIZ+DTEIV0-DTEIV1,DTEIVB	;ADDRESSES.
≥					  LABEL:
≥					.ENDM	DTEVEC
≥					
≥					;BIT ASSIGNMENTS FOR 10/11 INTERFACE REGISTERS
≥					
≥					;BIT ASSIGNMENTS FOR TENAD1
≥					
≥					DEP=BIT15		;MODE BIT FOR DEPOSIT (0=EXAMINE)
≥					F1=BIT7			;HIGH ORDER BIT OF FAST AC BLOCK
≥					F2=BIT6			;LOW    "    "  "   "   "    "
≥					
≥					;BIT ASSIGNMENTS FOR TO10BC
≥					
≥					INT11=BIT15		;SET DONE AND INTERRUPT BOTH 10 AND 11
≥					
≥					;BIT ASSIGNMENTS FOR TO11BC
≥					
≥					INT10=BIT15		;SET DONE AND INTERRUPT BOTH 10 AND 11
≥					ZSTOP=BIT14		;STOP ON NULL (ZERO) CHARACTER
≥					
≥					;BIT ASSIGNMENTS FOR TO10AD AND TO11AD
≥					
≥					BYTE2=BIT0		;TWO EIGHT-BIT BYTES PER WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 36
	PRM11 PAL[KL,SYS]	Page 26 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					;BIT ASSIGNMENTS FOR DIAG1 (WRITE)
≥					
≥					DPULSE=BIT7		;PULSE THE KL10 CLOCK
≥					PULSE=BIT4!BIT0		;SINGLE PULSE THE 10/11 CLOCK (ALSO SETS
≥								;10/11 DIAGNOSTIC MODE)
≥					DBUSEN=BIT3		;DIAGNOSTIC BUS ENABLE
≥					DCSRT=BIT3		;DIAGNOSTIC COMMAND START (NEW NAME FOR DBUSEN)
≥					DSEND=BIT2		;SEND THE EBUS DURING DIAGNOSTIC FUNCTION
≥					DIKL10=BIT1		;KL10 DIAGNOSTIC MODE
≥					D1011=BIT0		;10/11 INTERFACE DIAGNOSTIC MODE
≥					
≥					;BIT ASSIGNMENTS FOR DIAG1 (READ)
≥					
≥					TO10=BIT7		;INTERFACE MAJOR STATE = TO10 TRANSFER
≥					DEX=BIT6		;    "       "     "   = DEPOSIT OR EXAMINE
≥					TO11=BIT5		;    "       "     "   = TO11 TRANSFER
≥					VEC04=BIT4		;VECTOR INTERRUPT ADDRESS BIT 4
≥					VEC03=BIT3		;  "        "        "     "  3
≥					VEC02=BIT2		;  "        "        "     "  2
≥					
≥					;BIT ASSIGNMENTS FOR DIAG2 (WRITE)
≥					
≥					EDONES=BIT14		;SET EBUS DONE
≥					STHOLD=BIT7		;STAY IN CURRENT MAJOR STATE
≥					CLEAR=BIT6		;PERFORM DIAGNOSTIC CLEAR
≥					
≥					;BIT ASSIGNMENTS FOR DIAG2 (READ)
≥					
≥					;BIT ASSIGNMENTS FOR DIAG3 (READ)
≥					
≥					RAMIS0=BIT7		;RFM=0 (ALL ZEROES COMING OUT OF RAM)
≥					RFMAD0=BIT1		;RFM ADDRESS BIT 0
≥					RFMAD1=BIT8		; "     "     "  1
≥					RFMAD2=BIT9		; "     "     "  2
≥					RFMAD3=BIT10		; "     "     "  3
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 37
	PRM11 PAL[KL,SYS]	Page 27 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					;BIT ASSIGNMENTS FOR STATUS (WRITE)
≥					
≥					DON10S=BIT15		;SET TO10 DONE
≥					DON10C=BIT14		;CLEAR TO10 DONE
≥					ERR10S=BIT13		;SET TO10 ERROR
≥					ERR10C=BIT12		;CLEAR TO10 ERROR
≥					INT11S=BIT11		;SET 10 REQ INTERRUPT (INTERRUPTS 11)
≥					INT11C=BIT10		;CLEAR 10 REQ INTERRUPT (REMOVES INTERRUPT TO 11)
≥					PERCLR=BIT9		;CLEAR -11 MEMORY PARITY ERROR
≥					INT10S=BIT8		;SET REQUEST 10 INTERRUPT (INTERRUPTS 10)
≥					DON11S=BIT7		;SET TO11 DONE
≥					DON11C=BIT6		;CLEAR TO11 DONE
≥					ERR11S=BIT1		;SET TO11 ERROR
≥					ERR11C=BIT0		;CLEAR TO11 ERROR
≥					
≥					;BIT ASSIGNMENTS FOR STATUS (READ)
≥					
≥					TO10DN=BIT15		;TO10 DONE
≥					PI10OF=BIT14		;THIS DTE20 IS NOT TRYING TO INTERRUPT THE -10
≥					TO10ER=BIT13		;TO 10 ERROR (NPR TIMEOUT OR BUS ERROR)
≥					INTR11=BIT12		;11 INTERRUPT PENDING
≥					DOOR10=BIT11		;10 REQUESTING 11 INTERRUPT (DOORBELL FROM 10)
≥					DXWRD1=BIT10		;DEPOSIT OR EXAMINE WORD ONE
≥					PARERR=BIT9		;-11 MEMORY PARITY ERROR
≥					DOOR11=BIT8		;REQUEST 10 INTERRUPT (DOORBELL FROM 11)
≥					TO11DN=BIT7		;TO11 DONE
≥					EBSEL=BIT6		;E BUFFER SELECT
≥					NULSTP=BIT5		;NULL STOP
≥					DEAD10=BIT4		;KL10 STOPPED
≥					DBUSON=BIT3		;DIAGNOSTIC BUS ENABLED
≥					DEXDON=BIT2		;DEPOSIT OR EXAMINE DONE
≥					TO11ER=BIT1		;TO 11 ERROR (NPR TIMEOUT OR BUS ERROR)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 38
	PRM11 PAL[KL,SYS]	Page 28 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					; FUNCTION SELECT CODES
≥					
≥					STPCLK	=010	; STOP CLOCK
≥					STRCLK	=011	; START CLOCK
≥					SSCLK	=014	; SINGLE STEP THE CLOCK
≥					CLRMR	=016	; CLEAR MR RESET
≥					SETMR	=017	; SET MR RESET
≥					BRCLK	=015	; BURST THE CLOCK
≥					LDCLK	=012	; LOAD CLOCK BURST COUNTER & RATE
≥					CLKCND	=101	; READ CLOCK CONDITION
≥					
≥					LDRAM1	=030	; LOAD D-RAM DATA
≥					LDRAM2	=031
≥					LDRAM3	=032
≥					RDRAMA	=131	; READ D-RAM ADDRESS
≥					RDRAM1	=132	; READ D-RAM DATA
≥					RDRAM2	=133
≥					DRAMAB	=132	; D-RAM A & B
≥					DRAMJ	=133	; D-RAM J
≥					
≥					LCRAM1	=040	; LOAD C-RAM DATA
≥					LCRAM2	=041
≥					LCRAM3	=042
≥					LCRAM4	=043
≥					LCRAM5	=044
≥					LCRAMA	=047	; LOAD C-RAM ADDRESS
≥					RCRAM1	=140	; READ C-RAM DATA AND ADDRESS
≥					RCRAM2	=141	; READ C-RAM DATA
≥					RCRAM3	=142
≥					RCRAM4	=143
≥					
≥					RELCTR	=000	; RELINQUISH CONTROL OF THE TRANSLATOR
≥					DIAGRD	=001	; SET TRANSLATOR IN 10 TO 11 DIRECTION
≥					DIAGLD	=002	; SET TRANSLATOR IN 11 TO 10 DIRECTION
≥					IRLOAD	=003	; ENABLE LOADING OF THE AR & IR REGISTERS
≥					DRLTCH	=005	; LOAD D-RAM LATCHES
≥					CLRRUN	=007	; CLEAR RUN FLIP-FLOP
≥					SETRUN	=006	; SET RUN FLIP-FLOP
≥					CONBUT	=004	; THE CONTINUE BUTTON
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 39
	PRM11 PAL[KL,SYS]	Page 29 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					READ0	=110	; PI    (READ STATUS 0)
≥					READ1	=111	; PI	(READ STATUS 1)
≥					READ2	=112	; PI	(READ STATUS 2)
≥					READ3	=113	; PI	(READ STATUS 3)
≥					
≥					DPAR	=120	; AR	(DATA PATH)
≥					DPBR	=121	; BR
≥					DPMQ	=122	; MQ
≥					DPFM	=123	; FM
≥					DPBRX	=124	; BRX
≥					DPARX	=125	; ARX
≥					DPADX	=126	; ADX
≥					DPAD	=127	; AD
≥					DPFE	=133	; FE
≥					DPSC	=131	; SC
≥					DPERG	=157	; E-BUS REGISTER
≥					
≥					RDPCH	=130	; READ PC 18-26
≥					RDPCL	=131	; READ PC 27-35
≥					RDVMAH	=132	; READ VMA 18-26
≥					RDVMAL	=133	; READ VMA 27-35
≥					
≥					MCHLTLP	=42	; U CODE HALT LOOP ADDRESS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 40
	PRM11 PAL[KL,SYS]	Page 30 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					.SBTTL	*BBD*	KL10 EBOX MACRO DEFINITIONS, 4-MAR-75
≥					
≥					;MACRO TO TURN 36 BIT WORDS INTO 5 UPSIDE DOWN BYTES
≥					
≥					.MACRO	WD36	A,B,C
≥						.NLIST	SRC
≥						  .BYTE	<377&C>,<<<C&7400>/400>!<<B&17>*20>>,<<B&7760>/20>
≥						  .BYTE	<A&377>,<<A&7400>/400>
≥						.LIST	SRC
≥					.ENDM
≥					
≥					;PDP10 CPU INSTRUCTION MACRO. TAKES 5 ARGUMENTS AS IN NORMAL
≥					;10 CODE. 5 FIELDS MUST BE PRESENT (4 FIELD SEPARATORS)
≥					;BUT THE AD,AC,I, AND XR FIELDS MAY BE LEFT BLANK AND IF SO,
≥					;WILL ASSEMBLE AS ZERO.  THE OP FIELD MUST NOT BE LEFT BLANK.
≥					
≥					.MACRO	I10	OP,CAC,CI,CAD,CXR
≥							ADH=0
≥							ADL=0
≥						  .IF	NB CAD
≥						  .IRPC	AD1,CAD
≥						  .IIF	GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≥						  .ENDC
≥						  .IIF B CAC,AC=0
≥						  .IIF NB CAC,AC=CAC
≥						  .IIF B CI,I=0
≥						  .IIF NB CI,I=CI
≥						  .IIF B CXR,XR=0
≥						  .IIF NB CXR,XR=CXR
≥						.NLIST	SRC
≥						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
≥						  .BYTE	<OP&37*10+<AC/2>>,<OP/40>
≥						.LIST	SRC
≥					.ENDM	I10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 41
	PRM11 PAL[KL,SYS]	Page 31 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					;MACRO  TO GENERATE A RIGHT JUSTIFIED 3-BYTE VALUE
≥					;FOR A 22-BIT ARGUMENT
≥					
≥					.MACRO	WD22	AD
≥						  ADH=0
≥						  ADL=0
≥						  .IRPC	AD1,AD
≥						  .IIF	GE <ADL-10000>,ADH=<10*ADH>+<ADL/10000>
≥						  ADL=10*<ADL&7777>+AD1
≥						.ENDM
≥						.NLIST	SRC
≥						.BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<ADH/2>
≥						.LIST	SRC
≥					.ENDM	WD22
≥					
≥					;PDP10 I/O INSTRUCTION MACRO. TAKES 5 ARGUMENT AS NOTED ABOVE
≥					;IN THE DESCRIPTION OF THE I10 MACRO. THE 8 I/O OP CODES ARE
≥					;DEFINED AS ARE DEVICE CODES APR, PI, PAG, AND CCA.
≥					
≥					.MACRO	IO10	OP,DV,CI,AD,CXR
≥						  .IIF B CI,I=0
≥						  .IIF NB CI,I=CI
≥						  .IIF B CXR,XR=0
≥						  .IIF NB CXR,XR=CXR
≥							BLKO=2
≥							DATAO=3
≥							BLKI=0
≥							DATAI=1
≥							CONO=4
≥							CONI=5
≥							CONSZ=6
≥							CONSO=7
≥							APR=0
≥							PI=4
≥							PAG=10
≥							CCA=14
≥							ADH=0
≥							ADL=0
≥						  .IRPC AD1,AD
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≥						.NLIST	SRC
≥						  .BYTE	<ADL&377>,<<ADL/400>!<ADH*200&377>>,<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
≥						  .BYTE	<DV&374+<OP/2>>,<DV/400+16>
≥						.LIST	SRC
≥					.ENDM	IO10
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 42
	PRM11 PAL[KL,SYS]	Page 32 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					;THIS IS A MACRO TO WAIT FOR A DONE FLAG
≥					
≥					.MACRO	WFZERO BITSEL
≥						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≥					  91$:	  BIT	#BITSEL,@.DIAG1	;TEST BIT
≥						  BEQ	92$		;LEAVE IF BIT ZERO(OK)
≥						  DEC	(SP)		;DECREMENT CNT
≥						  BNE	91$		;CONTINUE LOOP
≥						  TST	RPTFLG		;OTHERWISE TIME OUT
≥						  BNE	92$
≥						  JSR	R1,$DFTIM
≥					  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
≥					.ENDM
≥					
≥					
≥					;THIS MACRO IS A WAIT FOR FLAG MACRO.
≥					;IT WAITS FOR A TEST BIT TO GO TO ONE
≥					;FROM A ZERO
≥					
≥					.MACRO	WFONE BITSEL
≥						  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≥					  93$:	  BIT	#BITSEL,@.STDTE	;TEST BIT
≥						  BNE	94$		;LEAVE IF NOW A ONE(OK)
≥						  DEC	(SP)		;DECREMENT CNT
≥						  BNE	93$		;CONTINUE LOOP
≥						  TST	RPTFLG		;OTHERWISE TIME OUT
≥						  BNE	94$
≥						  JSR	R1,$DFTIM
≥					  94$:	  TST	(SP)+		;RESET STACK
≥					.ENDM
≥					
≥					;.NLIST
≥					.ENDC	; DTEBBD
≥					;.LIST
≥					;.NLIST
≠.IF≡≡DVASB≡≥					.IF	DF DVASB
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 43
	PRM11 PAL[KL,SYS]	Page 33 	KL10 EBOX MACRO DEFINITIONS, 4-JUNE-75

≥					.SBTTL	DEVICE SYMBOL DEFINITIONS, 4-JUNE-75
≥					
≥					; PRIORITY LEVELS FOR SERVICE ROUTINES.
≥					
≥					TPILEV=	PR6		; TERMINAL PRIORITY LEVEL
≥					NXMPIL=	PR7		; "NON-X-MEM" PRIORITY LEVEL
≥					DHRPS=	TPILEV		; DH11 RECEIVER PRIORITY
≥					DHTPS=	DHRPS		; DH11 TRANSMITTER
≥					DLRPS=	DHRPS		; DL11
≥					DLTPS=	DLRPS
≥					KWLPS=	DHRPS		; KW11 PRIORITY LEVEL
≥					NXMPS=	NXMPIL		; "NON-X-MEM" PRIORITY LEVEL
≥					
≥					; BIT DEFINITIONS FOR THE PARAMETER WORD.
≥					
≥					PDHDNS=	11		; DH11 DEVICE NUMBER SHIFT
≥					PDHDNM=	7000		; DH11 DEVICE NUMBER MASK
≥					PDHLNS=	4		; DH11 LINE NUMBER SHIFT
≥					PDHLNM=	360		; DH11 LINE NUMBER MASK
≥					PDHLSS=	0		; DH11 LINE SPEED SHIFT
≥					PDHLSM=	17		; DH11 LINE SPEED MASK
≥					PDLFCS=	PDHLNS		; DL11 FILLER CLASS SHIFT
≥					PDLFCM=	PDHLNS		; DL11 FILLER CLASS MASK
≥					
≥					; OTHER DEVICES.
≥					
≥					DP11BA=	174770		; DP11 DEVICE REGISTERS BASE ADDRESS
≥					DP11RS=	10		; DP11 DEVICE REGISTER SIZE
≥					DP⊃1VS=	10		; DP11 INTERRUPT VECTOR SIZE
≥					DM11BA=	170500		; DM11 DEVICE REGISTER BASE ADDRESS
≥					DM11RS=	10		; DM11 DEVICE REGISTER SIZE
≥					DM11VS=	4		; DM11 INTERRUPT VECTOR SIZE
≥					DR11BA=	167770		; DR11 DEVICE REGISTER BASE ADDRESS
≥					DR11RS=	10		; DR11 DEVICE REGISTER SIZE
≥					DR11VS=	10		; DR11 INTERRUPT VECTOR SIZE
≥					
≥					;.NLIST
≥					.ENDC	;DVASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡KWASB≡≥					.IF	DF KWASB
≥					;.LIST
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 44
	PRM11 PAL[KL,SYS]	Page 34 	KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	KW11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥					
≡KWLIV≠≥		000100			KWLIV=	100		; VECTOR ADDRESS
≥					
≡KWLKS≠≥		177546			KWLKS=	177546		; LINE CLOCK STATUS DEVICE ADDRESS
≥					
≡KWLKE≠≥		000100			KWLKE=	100		; LINE CLOCK INTERRUPT ENABLE BIT
≥					
≠.SBTTL≡≥					.SBTTL	MM11 DEVICE REGISTERS AND BIT ASSIGNMENTS, 4-JUNE-75
≥					
≡MMLPIV≠≥		000114			MMLPIV=	114		;VECTOR ADDRESS
≥					
≡MMLPBA≠≥		172100			MMLPBA=	172100		;1ST MM11-LP DEVICE ADDRESS
≡MMLPEA≠≥		172136			MMLPEA=	172136		;LAST MM11-LP DEVICE ADDRESS
≥					
≡BIT15≡≡MMERRF≠≥		100000			MMERRF=	BIT15		;ERROR FLAG
≥					
≡MMADDM≠≥		007740			MMADDM=	7740		;ADDRESS MASK
≡MMADDS≠≥		000005			MMADDS=	5		;ADDRESS SHIFT
≥					
≡BIT2≡≡MMWWP≠≥		000004			MMWWP=	BIT2		;WRITE WRONG PARITY
≡BIT0≡≡MMPIE≠≥		000001			MMPIE=	BIT0		;PARITY INTERRUPT ENABLE
≥					
≥					;.NLIST
≥					.ENDC	;KWASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡DLASB≡≥					.IF	DF DLASB
≥					;.LIST
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 45
	PRM11 PAL[KL,SYS]	Page 35 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥					
≡DLRIV≠≥		000060			DLRIV=	60		; RECEIVER VECTOR ADDRESS
≡DLRIV≡≡DLTIV≠≥		000064			DLTIV=	DLRIV+4		; TRANSMITTER VECTOR ADDRESS
≡DLBA≠≥		177560			DLBA=	177560		; BASE FOR DEVICE ADDRESSES
≡DLRCSR≠≥		000000			DLRCSR=	0		; RECEIVER STATUS REGISTER
≡DLRBUF≠≥		000002			DLRBUF=	2		; RECEIVER BUFFER REGISTER
≡DLXCSR≠≥		000004			DLXCSR=	4		; TRANSMITTER STATUS REGISTER
≡DLXBUF≠≥		000006			DLXBUF=	6		; TRANSMITTER BUFFER REGISTER
≥					
≥					; BIT DEFINITIONS FOR "DLRCSR"- RECEIVER CONTROL STATUS REGISTER.
≥					
≡BIT15≡≡DLDSC≠≥		100000			DLDSC=	BIT15		; DATA STATUS CHANGE
≡BIT14≡≡DLRI≠≥		040000			DLRI=	BIT14		; RING INDICATOR
≡BIT13≡≡DLCTS≠≥		020000			DLCTS=	BIT13		; CLEAR TO SEND
≡BIT12≡≡DLCD≠≥		010000			DLCD=	BIT12		; CARRIER DETECT
≡BIT11≡≡DLRA≠≥		004000			DLRA=	BIT11		; RECEIVER ACTIVE
≡BIT10≡≡DLSRD≠≥		002000			DLSRD=	BIT10		; SECONDARY RECEIVED DATA
≡BIT7≡≡DLRD≠≥		000200			DLRD=	BIT7		; RECEIVER DONE
≡BIT6≡≡DLRIE≠≥		000100			DLRIE=	BIT6		; RECEIVER INTERRUPT ENABLE
≡BIT5≡≡DLDIE≠≥		000040			DLDIE=	BIT5		; DATA SET INTERRUPT ENABLE
≡BIT3≡≡DLSTD≠≥		000010			DLSTD=	BIT3		; SECONDARY TRANSMITTED DATA
≡BIT2≡≡DLRTS≠≥		000004			DLRTS=	BIT2		; REQUEST TO SEND
≡BIT1≡≡DLDTR≠≥		000002			DLDTR=	BIT1		; DATA TERMINAL READY
≡BIT0≡≡DLRE≠≥		000001			DLRE=	BIT0		; READER ENABLE
≥					
≥					; BIT DEFINITIONS FOR "DLRBUF"- RECEIVER BUFFER.
≥					
≡BIT15≡≡DLERR≠≥		100000			DLERR=	BIT15		; ERROR
≡BIT14≡≡DLORE≠≥		040000			DLORE=	BIT14		; OVERRUN ERROR
≡BIT13≡≡DLFE≠≥		020000			DLFE=	BIT13		; FRAMING ERROR
≡BIT12≡≡DLRDPE≠≥		010000			DLRDPE=	BIT12		; RECEIVED DATA PARITY ERROR
≡DLRDS≠≥		000000			DLRDS=	0		; RECEIVED DATA SHIFT
≡DLRDM≠≥		000377			DLRDM=	377		; RECEIVED DATA MASK
≥					
≥					; BIT DEFINITIONS FOR "DLXCSR"- TRANSMITTER CONTROL STATUS REGISTER.
≥					
≡BIT7≡≡DLTR≠≥		000200			DLTR=	BIT7		; TRANSMITTER READY
≡BIT6≡≡DLTIE≠≥		000100			DLTIE=	BIT6		; TRANSMITTER INTERRUPT ENABLE
≡BIT2≡≡DLMAIN≠≥		000004			DLMAIN=	BIT2		; MAINTENANCE
≡BIT0≡≡DLBRK≠≥		000001			DLBRK=	BIT0		; BREAK
≥					
≥					; BIT DEFINITIONS FOR "DLXBUF"- TRANSMITTER BUFFER.
≥					
≡DLTDS≠≥		000000			DLTDS=	0		; TRANSMITTER DATA SHIFT
≡DLTDM≠≥		000377			DLTDM=	377		; TRANSMITTER DATA MASK
≥					
≥					;.NLIST
≥					.ENDC	;DLASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 46
	PRM11 PAL[KL,SYS]	Page 35.1 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					;.LIST
≥					;.NLIST
≠.IF≡≡DHASB≡≥					.IF	DF DHASB
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 47
	PRM11 PAL[KL,SYS]	Page 36 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	DH11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥					
≥					DHIVBA=	300		; INTERRUPT VECTOR BASE ADDRESS
≥					DHRIV=	0		; RECEIVER VECTOR ADDRESS
≥					DHTIV=	DHRIV+4		; TRANSMITTER VECTOR ADDRESS
≥					DHBA=	160020		; BASE FOR DEVICE ADDRESSES
≥					DHSCR=	0		; SYSTEM CONTROL REGISTER
≥					DHNRCR=	2		; NEXT RECEIVER CHARACTER REGISTER
≥					DHLPR=	4		; LINE PARAMETER REGISTER
≥					DHCAR=	6		; CURRENT ADDRESS REGISTER
≥					DHBCR=	10		; BYTE COUNT REGISTER
≥					DHBAR=	12		; TRANSMIT BUFFER ACTIVE REGISTER
≥					DHTBR=	14		; TRANSMIT BREAK REGISTER
≥					DHSSR=	16		; SILO STATUS REGISTER
≥					
≥					; BIT DEFINITIONS FOR "DHSCR"- STATUS CONTROL REGISTER.
≥					
≥					DHTI=	BIT15		; TRANSMITTER INTERRUPT
≥					DHSI=	BIT14		; STORAGE INTERRUPT
≥					DHTNIE=	BIT13		; TRANSMITTER AND NON-X-MEM INTERRUPT ENABLE
≥					DHSIE=	BIT12		; STORAGE INTERRUPT ENABLE
≥					DHMC=	BIT11		; MASTER CLEAR
≥					DHNXM=	BIT10		; NON-X-MEM
≥					DHMAIN=	BIT9		; MAINTENANCE
≥					DHCNXM=	BIT8		; CLEAR NON-X-MEM BIT
≥					DHRI=	BIT7		; RECEIVER INTERRUPT
≥					DHRIE=	BIT6		; RECEIVER INTERRUPT ENABLE
≥					DHMES=	4		; MEMORY EXTENSION SHIFT
≥					DHMEM=	60		; MEMORY EXTENSION MASK
≥					DHLSS=	0		; LINE SELECTION SHIFT
≥					DHLSM=	17		; LINE SELECTION MASK
≥					
≥					; BIT DEFINITIONS FOR "DHNRCR"- NEXT RECEIVER CHARACTER REGISTER.
≥					
≥					DHDP=	BIT15		; DATA PRESENT
≥					DHORE=	BIT14		; OVERRUN ERROR
≥					DHFE=	BIT13		; FRAMING ERROR
≥					DHRDPE=	BIT12		; RECEIVER DATA PARITY ERROR
≥					DHRLNS=	10		; RECEIVER LINE NUMBER SHIFT
≥					DHRLNM=	7400		; RECEIVER LINE NUMBER MASK
≥					DHRDS=	0		; RECEIVER DATA SHIFT
≥					DHRDM=	377		; RECEIVER DATA MASK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 48
	PRM11 PAL[KL,SYS]	Page 37 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					; BIT DEFINITIONS FOR "DHLPR"- LINE PARAMETER REGISTER.
≥					
≥					DHAEE=	BIT15		; AUTO-ECHO ENABLE
≥					DHHD=	BIT14		; HALF-DUPLEX
≥					DHTSS=	12		; TRANSMITTER SPEED SHIFT
≥					DHTSM=	36000		; TRANSMITTER SPEED MASK
≥					DHRSS=	6		; RECEIVER SPEED SHIFT
≥					DHRSM=	1700		; RECEIVER SPEED MASK
≥					DHEP=	BIT5		; EVEN PARITY
≥					DHPE=	BIT4		; PARITY ENABLE
≥					DHTSB=	BIT2		; TWO STOP BITS
≥					DHCLS=	0		; CHARACTER LENGTH SHIFT
≥					DHCLM=	3		; CHARACTER LENGTH MASK
≥					DHCL5=	0		; CHARACTER LENGTH - 5 BITS
≥					DHCL6=	1		; CHARACTER LENGTH - 6 BITS
≥					DHCL7=	2		; CHARACTER LENGTH - 7 BITS
≥					DHCL8=	3		; CHARACTER LENGTH - 8 BITS
≥					
≥					; BIT DEFINITIONS FOR "DHSSR"- SILO STATUS REGISTER.
≥					
≥					DHSFLS=	10		; SILO FILL LEVEL SHIFT
≥					DHSFLM=	37400		; SILO FILL LEVEL MASK
≥					DHREMS=	6		; READ EXTENDED MEMORY SHIFT
≥					DHREMM=	300		; READ EXTENDED MEMORY MASK
≥					DHSALS=	0		; SILO ALARM LEVEL SHIFT
≥					DHSALM=	77		; SILO ALARM LEVEL MASK
≥					
≥					;.NLIST
≥					.ENDC	;DHASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡TAASB≡≥					.IF	DF TAASB
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 49
	PRM11 PAL[KL,SYS]	Page 38 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	TA11 (CASSETTE) DEVICE REGISTER AND BIT DEFINITIONS, 4-JUNE-75
≥					
≥					TACS=	177500		;CONTROL AND STATUS REGISTER
≥					TADB=	TACS+2		;DATA BUFFER REGISTER
≥					
≥					TAIV=	260		;INTERRUPT VECTOR
≥					
≥					; BIT ASSIGNMENTS WITHIN THE CONTROL AND STATUS REGISTER
≥					
≥					TAGO=	1		;GO = START OPERATION
≥					TAFUNC=	16		;"FUNCTION TO BE PERFORMED" FIELD
≥					TAWFG=	0*2		;"WRITE FILE GAP" FUNCTION
≥					TAWRIT=	1*2		;"WRITE DATA" FUNCTION
≥					TAREAD=	2*2		;"READ DATA" FUNCTION
≥					TASRF=	3*2		;"SPACE REVERSE FILE" FUNCTION
≥					TASRB=	4*2		;"SPACE REVERSE BLOCK (RECORD)" FUNCTION
≥					TASFF=	5*2		;"SPACE FORWARD FILE" FUNCTION
≥					TASFB=	6*2		;"SPACE REVERSE BLOCK (RECORD)" FUNCTION
≥					TAREWD=	7*2		;"REWIND" FUNCTION
≥					TAILBS=	20		;INITIATE LAST BYTE SEQUENCE
≥					TAREDY=	40		;READY
≥					TAINTE=	100		;INTERRUPT ENABLE
≥					TARQST=	200		;TRANSFER REQUEST
≥					TAUNIT=	400		;UNIT SELECTION
≥					TAOFFL=	1000		;UNIT OFF LINE
≥					TATERR=	2000		;TIMING ERROR (LOST DATA)
≥					TAFGAP=	4000		;FILE GAP
≥					TALOCK=	10000		;WRITE LOCKED
≥					TALEAD=	20000		;CLEAR LEADER
≥					TABCHK=	40000		;BLOCK CHECK (BAD CRC AFTER READ)
≥					TAEROR=	100000		;ERROR (ERROR SUMMARY BIT)
≥					
≥					;.NLIST
≥					.ENDC	;TAASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡RXASB≡≥					.IF	DF RXASB
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 50
	PRM11 PAL[KL,SYS]	Page 39 	DL11 DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	RX11/RX01 (FLOPPY) REGISTERS AND BIT DEFINITIONS, 22-JULY-75
≥					
≥					;RX11 STANDARD DEVICE ADDRESSES
≥					
≥					RXCS=	177170		;COMMAND STATUS REGISTER
≥					RXDB=	177172		;DATA BUFFER REGISTER
≥					RXSA=	177172		;SECTOR ADDRESS REGISTER
≥					RXTA=	177172		;TRACK ADDRESS REGISTER
≥					RXES=	177172		;ERROR STATUS REGISTER
≥					
≥					RXIV=	264		;INTERRUPT VECTOR ADDRESS
≥					
≥					;RX11 FUNCTION CODES
≥					
≥					RXFBUF=	0		;FILL BUFFER
≥					RXEBUF=	2		;EMPTY BUFFER
≥					RXWSEC=	4		;WRITE SECTOR
≥					RXRSEC=	6		;READ SECTOR
≥					RXRSTAT=12		;READ STATUS
≥					RXWDDS=	14		;WRITE DELETED DATA SECTOR
≥					RXRERR=	16		;READ ERROR REGISTER
≥					
≥					;RX11 COMMAND AND STATUS REGISTER BIT DEFINITIONS
≥					
≥					RXGO=	1		;GO
≥					RXU1=	20		;RX01 UNIT # 1
≥					RXDONE=	40		;DONE
≥					RXIE=	100		;INTERRUPT ENABLE
≥					RXTREQ=	200		;TRANSFER REQUEST
≥					RXINI=	40000		;INITIALIZE
≥					RXERROR=100000		;ERROR
≥					
≥					;RX11 ERROR STATUS REGISTER BIT DEFINITIONS
≥					
≥					RXCRCE=	1		;CRC ERROR
≥					RXPARE=	2		;PARITY ERROR
≥					RXIDONE=4		;INITIALIZE DONE
≥					RXDDD=	100		;DELETED DATA DETECTED
≥					RXDRDY	=200		;DRIVE READY
≥					
≥					;.NLIST
≥					.ENDC	;RXASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡TCASB≡≥					.IF	DF TCASB
≥					;.LIST
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 51
	PRM11 PAL[KL,SYS]	Page 40 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75
≥					
≥					;DECTAPE PARAMETERS
≥					
≡BIT12≡≡TCILO≠≥		010000			TCILO=	BIT12		;ILLEGAL OPERATION
≡BIT11≡≡TCSELE≠≥		004000			TCSELE=	BIT11		;SELECTION ERROR
≡BIT6≡≡TCIE≠≥		000100			TCIE=	BIT6		;INTERRUPT ENABLE
≡BIT0≡≡TCDO≠≥		000001			TCDO=	BIT0		;DO OPERATION
≡BIT2≡≡TCRDAT≠≥		000004			TCRDATA=BIT2		;READ DATA
≡BIT3≡≡BIT2≡≡TCWDAT≠≥		000014			TCWDATA=BIT3+BIT2	;WRITE DATA
≡BIT1≡≡TCRNUM≠≥		000002			TCRNUM=	BIT1		;READ BLOCK NUMBER
≡BIT11≡≡TCREV≠≥		004000			TCREV=	BIT11		;REVERSE DIRECTION
≡BIT14≡≡TCPAR≠≥		040000			TCPAR=	BIT14		;PARITY ERROR
≡BIT10≡≡TCBLKM≠≥		002000			TCBLKM=	BIT10		;BLOCK MISSED
≡BIT9≡≡TCDATM≠≥		001000			TCDATM=	BIT9		;DATA MISSED
≡BIT13≡≡TCMTE≠≥		020000			TCMTE=	BIT13		;MARK TRACK ERROR
≡BIT15≡≡TCERR≠≥		100000			TCERR=	BIT15		;DECTAPE ERROR
≡BIT7≡≡TCRDY≠≥		000200			TCRDY=	BIT7		;READY
≥					
≡TCPAR≡≡TCBLKM≡≡TCDATM≡≡TCMTE≡≡TCSOFT≠≥		063000			TCSOFT=	TCPAR+TCBLKM+TCDATM+TCMTE
≥					
≡TCST≠≥		177340			TCST=	177340		;STATUS REGISTER
≡TCCM≠≥		177342			TCCM=	177342		;COMMAND REGISTER
≡TCCM1≠≥		177343			TCCM1=	177343		;COMMAND UPPER BYTE
≡TCWC≠≥		177344			TCWC=	177344		;WORD COUNT REGISTER
≡TCBA≠≥		177346			TCBA=	177346		;BUS MEMORY ADDRESS
≡TCDT≠≥		177350			TCDT=	177350		;DATA REGISTER
≥					
≥					;.NLIST
≥					.ENDC	;TCASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡RPASB≡≥					.IF	DF RPASB
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 52
	PRM11 PAL[KL,SYS]	Page 41 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	RH11/RP04 REGISTER AND BIT DEFINITIONS, 4-JUNE-75
≥					
≥					BLKSIZ=	256.	;DISK BLOCK SIZE (IN 16-BIT WORDS)
≥					IFESIZ=	3	;INDEX FILE ENTRY SIZE (IN 16-BIT WORDS)
≥					FDESIZ=	16.	;FILE DIRECTORY ENTRY SIZE (IN 16-BIT WORDS)
≥					
≥					RPCS1=	0	;OFFSET TO RH11/RP04 CONTROL & STATUS REGISTER 1
≥					RPTRE=	BIT14	;"TRANSFER ERROR" BIT IN RPCS1
≥					RPMCPE=	BIT13	;"MASSBUS CONTROL BUS PARITY ERROR" BIT IN RPCS1
≥					RPDVA=	BIT11	;"DRIVE AVAILABLE" BIT IN RPCS1
≥					RPRDY=	BIT7	;"CONTROLLER READY" BIT IN RPCS1
≥					RPPRST=	21	;READ-IN PRESET FUNCTION IN RPCS1
≥					RPPACK=	23	;PACK ACKNOWLEDGE (SET VV) FUNCTION IN RPCS1
≥					RPWTFN=	61	;WRITE DATA FUNCTION IN RPCS1
≥					RPRDFN=	71	;READ DATA FUNCTION IN RPCS1
≥					
≥					RPWC=	2	;OFFSET TO RH11/RP04 WORD COUNT REGISTER
≥					
≥					RPBA=	4	;OFFSET TO RH11/RP04 UNIBUS ADDRESS REGISTER
≥					
≥					RPDA=	6	;OFFSET TO RH11/RP04 TRACK & SECTOR ADDRESS REGISTER
≥					
≥					RPCS2=	10	;OFFSET TO RH11/RP04 CONTROL & STATUS REGISTER 2
≥					RPCLR=	BIT5	;"CONTROLLER (AND MASSBUS) CLEAR" BIT IN RPCS2
≥					
≥					RPDS=	12	;OFFSET TO RH11/RP04 DRIVE STATUS REGISTER
≥					RPATA=	BIT15	;"ATTENTION ACTIVE" BIT IN RPDS
≥					RPERR=	BIT14	;"COMPOSITE ERROR" BIT IN RPDS
≥					RPMOL=	BIT12	;"MEDIUM ON-LINE" BIT IN RPDS
≥					RPDPR=	BIT8	;"DRIVE PRESENT" BIT IN RPDS
≥					RPDRY=	BIT7	;"DRIVE READY" BIT IN RPDS
≥					RPVV=	BIT6	;"VOLUME VALID" BIT IN RPDS
≥					
≥					RPOF=	32	;OFFSET TO RH11/RP04 OFFSET REGISTER (CONTAINING FMT22)
≥					RPFMT=	BIT12	;"FMT22" (16-BIT WORDS) BIT IN RPOF
≥					RPECI=	BIT11	;"ERROR CORRECTION CODE INHIBIT" BIT IN RPOF
≥					
≥					RPDC=	34	;OFFSET TO RH11/RP04 DESIRED CYLINDER REGISTER
≥					
≥					;.NLIST
≥					.ENDC	;RPASB
≥					;.LIST
≥					;.NLIST
≠.IF≡≡LPASB≡≥					.IF	DF LPASB
≥					;.LIST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 53
	PRM11 PAL[KL,SYS]	Page 42 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					.SBTTL	LP20 REGISTER AND BIT DEFINITIONS, 27-JUNE-75
≥					
≥					LP20A=	177440	;LP20 1ST CONTROLLER ADDRESS
≥					LP20B=	177460	;LP20 2ND CONTROLLER ADDRESS
≥					LPAVEC=	210	;LP20A INTERRUPT VECTOR
≥					LPBVEC=	200	;LP20B INTERRUPT VECTOR
≥					
≥					LPCSRA=	0	;OFFSET TO LP20 PRIMARY STATUS REGISTER
≥					LPERR=	BIT15	;"ERROR" BIT IN LPCSRA
≥					LPPZRO=	BIT14	;"PAGZRO" BIT IN LPCSRA
≥					LPUCHR=	BIT13	;"UNDCHR" BIT IN LPCSRA
≥					LPVRDY=	BIT12	;"UNDCHR" BIT IN LPCSRA
≥					LPONLN=	BIT11	;"ONLINE" BIT IN LPCSRA
≥					LPDELH=	BIT10	;"DELHLD" BIT IN LPCSRA
≥					LPLINI=	BIT9	;"LOINIT" BIT IN LPCSRA
≥					LPRERR=	BIT8	;"RSTERR" BIT IN LPCSRA
≥					LPDONE=	BIT7	;"DONE" BIT IN LPCSRA
≥					LPIENB=	BIT6	;"INTENB" BIT IN LPCSRA
≥					LPBA17=	BIT5	;"BUSA17" BIT IN LPCSRA
≥					LPBA16=	BIT4	;"BUSA16" BIT IN LPCSRA
≥					LPVLOD=	BIT3	;"VFULOD" BIT IN LPCSRA
≥					LPTMOD=	BIT2	;"TSTMOD" BIT IN LPCSRA
≥					LPPENB=	BIT1	;"PARENB" BIT IN LPCSRA
≥					LPGO=	BIT0	;"GO" BIT IN LPCSRA
≥					
≥					LPCSRB=	2	;OFFSET TO LP20 ERROR AND TEST REGISTER
≥					LPTPBT=	BIT12	;"LPTPBT" BIT IN LPCSRB
≥					LPT02=	BIT10	;"TEST02" BIT IN LPCSRB
≥					LPT01=	BIT9	;"TEST01" BIT IN LPCSRB
≥					LPT00=	BIT8	;"TEST00" BIT IN LPCSRB
≥					LPOFFL=	BIT7	;"OFFLIN" BIT IN LPCSRB
≥					LPVERR=	BIT6	;"VFUERR" BIT IN LPCSRB
≥					LPTPAR=	BIT5	;"LPTPAR" BIT IN LPCSRB
≥					LPMPAR=	BIT4	;"MEMPAR" BIT IN LPCSRB
≥					LPRPAR=	BIT3	;"RAMPAR" BIT IN LPCSRB
≥					LPSYNT=	BIT2	;"SYNTIM" BIT IN LPCSRB
≥					LPDEMT=	BIT1	;"DEMTIM" BIT IN LPCSRB
≥					LPGOER=	BIT0	;"GOERR" BIT IN LPCSRB
≥					
≥					LPBSAD=	4	;OFFSET TO LP20 DMA BUS ADDRESS REGISTER
≥					
≥					LPBCTR=	6	;OFFSET TO LP20 DMA BYTE COUNTER REGISTER
≥					
≥					LPPCTR=	10	;OFFSET TO LP20 PAGE COUNTER REGISTER
≥					
≥					LPRAMD=	12	;OFFSET TO LP20 RAM DATA REGISTER
≥					
≥					LPCBUF=	14	;OFFSET TO LP20 CHAR BUFFER REGISTER (BYTE)
≥					LPCCTR=	15	;OFFSET TO LP20 COLUMN COUNTER REGISTER (BYTE)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 54
	PRM11 PAL[KL,SYS]	Page 42.1 	TC11 (DECTAPE) DEVICE REGISTERS AND BIT DEFINITIONS, 4-JUNE-75

≥					
≥					LPCKSM=	16	;OFFSET TO LP20 CHECKSUM REGISTER (BYTE)
≥					LPPDAT=	17	;OFFSET TO LP20 PRINTER DATA REGISTER (BYTE)
≥					;.NLIST
≥					.ENDC	;LPASB
≥					;.LIST
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 55
	PRM11 PAL[KL,SYS]	Page 43 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

≥					.SBTTL EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.
≥					 
≡ENOWC≠≥		160020			ENOWC=160020		; ETHERNET DEVICE OUTPUT WORD COUNT REG
≡ENOWC≡≡ENOWA≠≥		160022			ENOWA=ENOWC+2		; ETHERNET DEVICE OUTPUT WORD ADDR REG
≡ENOWC≡≡ENOCSR≠≥		160024			ENOCSR=ENOWC+4		; ETHERNET DEVICE OUTPUT CONTROL STATUS REG
≡ENOWC≡≡ENODLY≠≥		160026			ENODLY=ENOWC+6		; ETHERNET DEVICE OUTPUT DELAY REG
≥					;
≡ENOWC≡≡ENIWC≠≥		160030			ENIWC=ENOWC+10		; ETHERNET DEVICE INPUT WORD COUNT REG
≡ENOWC≡≡ENIWA≠≥		160032			ENIWA=ENOWC+12		; ETHERNET DEVICE INPUT WORD ADDRESS REG
≡ENOWC≡≡ENICSR≠≥		160034			ENICSR=ENOWC+14		; ETHERNET DEVICE INPUT CONTROL STATUS REG
≡ENOWC≡≡ENIADR≠≥		160036			ENIADR=ENOWC+16		; ETHERNET DEVICE HARDWARE ADDRESS REGISTER
≥					;
≡EN0BSZ≠≥		000454			EN0BSZ=300.		; MAXIMUM SIZE OF ETHERNET INPUT BUFFER
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 56
	PRM11 PAL[KL,SYS]	Page 44 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

≥					;DSKDMP BOOTSTRAP PARAMETERS
≥					
≡BOOTWD≠≥		000620			BOOTWD==400.
≡BOOTWD≡≡BOOTSZ≠≥		002260			BOOTSZ==BOOTWD*3		;NUMBER OF PDP-11 WORDS THAT BOOT OCCUPIES
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 57
	KLDCP PAL[KL,SYS]	Page 5.1 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

≥					
≥								;Starting vectors & other constant code
≠.INSRT≡≥					.INSRT	BEG11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 58
	BEG11 PAL[KL,SYS]	Page 1 	EN11 - PDP11/ETHERNET INTERFACE MODULE DEVICE REGISTERS ETC.

≥				COMMENT ⊗   VALID 00002 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00002 00002	.SBTTL	*BEGIN* PROGRAM CONTROL, 4-AUG-75
≥				C00005 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 59
	BEG11 PAL[KL,SYS]	Page 2 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

≥					.SBTTL	*BEGIN* PROGRAM CONTROL, 4-AUG-75
≥					
≡PRGSRT≡≥		100000				.=PRGSRT
≥					;STARTING ADDRESS
≥					
≠JMP≡≡$SBRIN≡≥	100000	000137	114570		START:	JMP	@#$SBRINT	;NORMAL START (near maximum violence)
≠JMP≡≡$$CNTL≡≥	100004	000137	100602		$CNTLC:	JMP	@#$$CNTLC	;CTRL/C (a normal, not too violent restart)
≠JMP≡≡$$ILOA≡≥	100010	000137	114522		$ILOAD:	JMP	$$ILOAD		;INITIAL LOAD (redo checksum, then $SBRINT)
≠JMP≡≡$$CONS≡≥	100014	000137	100332		$CONSL:	JMP	$$CONSL		;RETURN TO CONSOLE (pussycat)
≥					
≥					;DEVICE ADDRESS PARAMETERS
≥					
≥	100020	177560			$TKS:	177560			;TTY KBD STATUS
≥	100022	177562			$TKB:	177562			;TTY KBD BUFFER
≥	100024	177564			$TPS:	177564			;TTY PRINTER STATUS
≥	100026	177566			$TPB:	177566			;TTY PRINTER BUFFER
≥					
≠.IF≡≡LPASB≡≥					.IF DF LPASB
≥					$LPS:	177514			;LP11 - LINE PRINTER STATUS
≥					$LPB:	177516			;LP11 - LINE PRINTER BUFFER
≥					.ENDC
≥					
≠.IF≡≡TELASB≡≥					.IF DF TELASB
≥	100030	175610			$FSTKS:	175610			;FIELD SERVICE KLINIK INPUT STATUS
≥	100032	175612			$FSTKB:	175612			;FIELD SERVICE KLINIK INPUT BUFFER
≥	100034	175614			$FSTPS:	175614			;FIELD SERVICE KLINIK OUTPUT STATUS
≥	100036	175616			$FSTPB:	175616			;FIELD SERVICE KLINIK OUTPUT BUFFER
≥	100040	000300			$FSTRV:	300			;FIELD SERVICE TELETYPE RECEIVE VECTOR
≥	100042	000304			$FSTTV:	304			;FIELD SERVICE TELETYPE TRANSMIT VECTOR
≥					.ENDC
≥					
≠.IF≡≡CLKASB≡≥					.IF DF CLKASB
≥	100044	160770			$CLKMD:	160770			;MONTH/DAY
≥	100046	160772			$CLKHM:	160772			;HOURS/MINUTES
≥	100050	160774			$CLKSEC:160774			;YEAR/SECONDS
≥	100052	160776			$CLKST:	160776			;STATUS
≥	100054	000170			$CLKTV:	170			;TRAP VECTOR
≥					.ENDC
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥					$CMTKS:	175620			;COMM INPUT STATUS
≥					$CMTKB:	175622			;COMM INPUT BUFFER
≥					$CMTPS:	175624			;COMM OUTPUT STATUS
≥					$CMTPB:	175626			;COMM OUTPUT BUFFER
≥					.ENDC
≥					
≠.LIF≡≡RPASB≡≥					.LIF DF RPASB
≥					RPRH11:	176700			;RH11 CONTROLLER ADDRESS
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 60
	BEG11 PAL[KL,SYS]	Page 2.1 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

≥					;PDP-10 KL10 PARAMETERS
≥					
≥	100056	777777			TENMO:	-1			;PDP-10 MINUS ONE
≥	100060	777777				-1
≥	100062	000017				17
≥					
≡$STD≡≡$STD≡≥	100064	000440			TDIAG:	$STD		;DIAGNOSTIC START ADDRESS
≥	100066	000000				0
≥					
≡$DDT≡≡$DDT≡≥	100070	000441			TDDT:	$DDT		;DDT START ADDRESS
≥	100072	000000				0
≥					
≡$STL≡≡$STL≡≥	100074	000442			TLDR:	$STL		;LOADER START ADDRESS
≥	100076	000000				0
≥					
≡$STM≡≡$STM≡≥	100100	000443			TMON:	$STM		;MONITOR START ADDRESS
≥	100102	000000				0
≥					
≥	100104	060650			EMTIMO:	25000.		;EM/DM TIMEOUT COUNT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 61
	KLDCP PAL[KL,SYS]	Page 5.2 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

≥					
≥								;console code
≠.INSRT≡≥					.INSRT	CONS11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 62
	CONS11 PAL[KL,SYS]	Page 1 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

≥				COMMENT ⊗   VALID 00061 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00006 00002	.SBTTL	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
≥				C00008 00003	$KONSL:	TTIBRK			GET BREAK CHAR FROM LAST OPERATION
≥				C00010 00004	$$CONSL:CLR	RPTFLG		Start here from 100014
≥				C00013 00005	3$:	MOVB	#40,$KDCEN+1	MAKE SINGLE LETTER COMMAND
≥				C00015 00006	.SBTTL	CONSOLE DISPATCH TABLE
≥				C00023 00007	DISPATCH TABLE
≥				C00028 00008	.SBTTL	DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
≥				C00030 00009	.SBTTL	CONSOLE COMMAND REPEAT CONTROL
≥				C00031 00010	.SBTTL	PROGRAM CONSOLE COMMAND PROCESS
≥				C00033 00011	PROGRAM INDIRECT CCL FILE PROCESS
≥				C00035 00012	.SBTTL	DIAGNOSTIC FUNCTIONS
≥				C00037 00013	DIAGNOSTIC READ AND PRINT
≥				C00038 00014	.DFDP:	DFLEGAL			FUNCTION LEGAL ?
≥				C00039 00015	.AR:	TTICHR
≥				C00040 00016	.BR:	TTICHR
≥				C00042 00017	.PC:	TTICHR
≥				C00043 00018	.VM:	DFLEGAL			FUNCTION LEGAL ?
≥				C00044 00019	PCF COMMAND - PRINT PC FLAGS
≥				C00047 00020	.FE:	TTITRM
≥				C00048 00021	PRINT PRIORITY INTERRUPT FUNCTIONS
≥				C00050 00022	PRINT ALL - C-RAM & REGISTERS
≥				C00052 00023	.SBTTL	PDP-10 START/STOP FUNCTIONS
≥				C00054 00024	START PDP-10 DDT
≥				C00057 00025	PULSE THE E-BOX CLOCK
≥				C00059 00026	EXECUTE A PDP10 INSTRUCTION.
≥				C00060 00027		PNTCPU			PRINT C-RAM & REGISTERS
≥				C00062 00028	SELECT CLOCK SOURCE
≥				C00063 00029	PROCESSOR PARITY DISABLE
≥				C00064 00030	PROCESSOR PARITY ENABLE
≥				C00066 00031	MICRO-CODE SYNC MARK ROUTINES
≥				C00067 00032	MICRO-CODE TIME FIELD CHANGE ROUTINE
≥				C00068 00033	CACHE ENABLE
≥				C00070 00034	AC BLOCK SELECTION
≥				C00073 00035	START PDP10 AT ADDRESS SPECIFIED AS LOWER 18 BITS OF 36-BIT ARGUMENT.
≥				C00077 00036	.SBTTL	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
≥				C00079 00037	MEMORY ZERO
≥				C00081 00038	.EXM:	MOV	#.DPXAD,R5
≥				C00083 00039	.SBTTL	CONSOLE IDLE RUN LOOP
≥				C00086 00040	MONITOR TELETYPE CHARACTER INPUT -- MTTYIN MTTYI0 MTTYI1 C10DN1 MTTYER MTTYOC MTTYO MTTYP MTTYX MTTYC MTTYCF $MC
≥				 MTTYS C10DN2
≥				C00089 00041	.SBTTL	PDP-10 RUN TIME SUPPORT		TENCMD CMD10T C10DON
≥				C00091 00042	C10DNX, TENCERR
≥				C00093 00043	C10TO, C10TI
≥				C00095 00044	Switch functions.  C10SW
≥				C00098 00045	C10PRG C10PT C10P2 C10P1 C10X1 C10P3 C10P4 C10P5 C10KAS KASET
≥				C00100 00046	Clock operations.  C10CLK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 63
	CONS11 PAL[KL,SYS]	Page 1.1 	*BEGIN* PROGRAM CONTROL, 4-AUG-75

≥				C00110 00047	PDP-10 SWITCH REGISTER
≥				C00112 00048	.SBTTL	PDP-10 PROGRAM COMMAND
≥				C00114 00049	"DIAMON" FILE READ
≥				C00116 00050	.SBTTL	PDP-11 CONSOLE FUNCTIONS
≥				C00117 00051	EXAMINE ELEVEN AT ADDRESS GIVEN
≥				C00120 00052	DEPOSIT ELEVEN DATA
≥				C00121 00053	.SBTTL	KL10 MONITOR & ACT10 COMMAND ROUTINES
≥				C00123 00054	.IF DF MONASB
≥				C00125 00055	SRT11X:	MOV	PGOADR,SEADR
≥				C00127 00056	.IF DF MONASB
≥				C00129 00057	ADRERR:	PMSG	<?ADR>
≥				C00130 00058	.SBTTL	LINE PRINTER SELECTION ROUTINE
≥				C00134 00059	.SBTTL	CONSOLE TELETYPE FUNCTIONS
≥				C00135 00060	.SBTTL	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
≥				C00137 00061	.SBTTL	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
≥				C00144 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 64
	CONS11 PAL[KL,SYS]	Page 2 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

≥					.SBTTL	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75
≥					
≠MOV≡≡CPUPR≡≡PS≡≥	100106	012737	000140	177776	CONSL:	MOV	#CPUPR,PS	;SET CPU PRIORITY.
≠MOV≡≡STACK≡≡SP≡≥	100114	012706	157776			MOV	#STACK,SP	;RESET STACK
≠MOV≡≡$STUF≡≡R0≡≥	100120	012700	122754			MOV	#$STUF,R0	;SETUP FOR STACK UNDERFLOW
≠MOV≡≡R0≡≡SP≡≥	100124	010016				MOV	R0,(SP)
≤PUSH≡≥					1$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≥					
≠MOV≡≡SP≡≡$KONSP≡≥	100130	010637	147736			MOV	SP,$KONSP
≥					
≠MOV≡≡$KONSP≡≡SP≡≥	100134	013706	147736		KONSL:	MOV	$KONSP,SP	;RESET STACK POINTER
≥					
≠.IIF≡≡EPTREL≡≠MOV≡≡PHYS≡≡PRTOFF≡≡$TADSP≡≥	100140	012737	104000	147424	.IIF NE EPTREL,	MOV	#PHYS!PRTOFF,$TADSP	;DEFAULT ADDR MODE FOR EXDEP
≥					
≡TTPINI≡≡TTPINI≡≥	100146	104217				TTPINI			;INIT TTY POINTERS
≥					
≠CLR≡≡DDTFLG≡≥	100150	005037	147740			CLR	DDTFLG
≠CLR≡≡IFILEF≡≥	100154	005037	147624			CLR	IFILEF
≠CLR≡≡HLPPNT≡≥	100160	005037	150722			CLR	HLPPNT
≠CLR≡≡PCMDFL≡≥	100164	005037	152214			CLR	PCMDFLG
≡PFORCE≡≡PFORCE≡≥	100170	104043				PFORCE			;ALL OUTPUT TO TTY
≥					
≠JSR≡≡PC≡≡$CKSUM≡≥	100172	004737	115174			JSR	PC,$CKSUM	;COMPUTE CHECKSUM OF "KLDCP"
≥					
≠CMP≡≡R0≡≡$ILDSU≡≥	100176	020037	157314			CMP	R0,$ILDSUM	;DOES IT MATCH AS LOADED ?
≠BEQ≡≥	100202	001404				BEQ	2$		;YES, OK !!!!
≥					
≠MOV≡≡R0≡≡$ILDSU≡≥	100204	010037	157314			MOV	R0,$ILDSUM	;NO, ONLY REPORT CHANGES
≤PMSG≡≥						PMSG	<?"KLDCP" CKSUM\>
≡$PMSG≡≡$PMSG≡≥	100210	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	100212	144720				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≠TST≡≡JFILEF≡≥	100214	005737	147620		2$:	TST	JFILEF
≠BNE≡≡$$CONS≡≥	100220	001044				BNE	$$CONSL
≤PMSG≡≥						PMSG	<CMD:\>
≡$PMSG≡≡$PMSG≡≥	100222	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	100224	144740				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$$CONS≡≥	100226	000441				BR	$$CONSL
≡TTIBRK≡≡TTIBRK≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 65
	CONS11 PAL[KL,SYS]	Page 3 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

≥	100230	104015			$KONSL:	TTIBRK			;GET BREAK CHAR FROM LAST OPERATION
≠BCS≡≡$KONS1≡≥	100232	103454				 BCS	$KONS1		;NO DATA
≠CMPB≡≡R0≡≥	100234	122700	000054			CMPB	#',,R0		;WAS LAST BREAK A COMMA ?
≠BEQ≡≡$RPT≡≥	100240	001506				BEQ	$RPT		;BR IF YES, CONTINUE STRING PROCESS
≠CMPB≡≡R0≡≥	100242	122700	000040			CMPB	#' ,R0		;WAS LAST BREAK A SPACE ?
≠BEQ≡≡$RPT≡≥	100246	001503				BEQ	$RPT		;YES, CONTINUE STRING PROCESS
≠CMPB≡≡TAB≡≡R0≡≥	100250	122700	000011			CMPB	#TAB,R0		;WAS LAST BREAK A TAB ?
≠BEQ≡≡$RPT≡≥	100254	001500				BEQ	$RPT		;YES, CONTINUE STRING PROCESS
≠TST≡≡R0≡≥	100256	005700				TST	R0
≠BEQ≡≥	100260	001411				BEQ	11$		;NULL, EOL
≠CMP≡≡LF≡≡R0≡≥	100262	022700	000012			CMP	#LF,R0		;IS IT LF ?
≠BEQ≡≥	100266	001406				BEQ	11$		;YES
≠CMP≡≡ALTMOD≡≡R0≡≥	100270	022700	000033			CMP	#ALTMOD,R0
≠BEQ≡≥	100274	001403				BEQ	11$		;IS IT ALTMODE ?
≠CMP≡≡CR≡≡R0≡≥	100276	022700	000015			CMP	#CR,R0		;IS IT A CR ?
≠BNE≡≥	100302	001011				BNE	2$		;NO, INVALID TERMINATION
≥					
≠TST≡≡RPTFLG≡≥	100304	005737	147732		11$:	TST	RPTFLG		;PRESENTLY DOING A REPEAT ?
≠BEQ≡≡$KONS1≡≥	100310	001425				BEQ	$KONS1		;BR IF NO
≥					
≠JSR≡≡PC≡≡$PTTYC≡≥	100312	004737	116546			JSR	PC,$PTTYC	;CHECK OPERATOR INTERRUPT
≥					
≠MOV≡≡$INBUF≡≡$INPTC≡≥	100316	012737	150502	150716	1$:	MOV	#$INBUF+2,$INPTC	;REPEAT, REDO COMMAND
≠BR≡≡$RPT≡≥	100324	000454				BR	$RPT
≥					
≠JMP≡≡$CMDER≡≥	100326	000137	100574		2$:	JMP	$CMDER
≠CLR≡≡RPTFLG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 66
	CONS11 PAL[KL,SYS]	Page 4 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

≥	100332	005037	147732		$$CONSL:CLR	RPTFLG		;Start here from 100014
≠CLR≡≡DVDIRF≡≥	100336	005037	151124			CLR	DVDIRF		;CLEAR DEVICE DIRECTORY FLAG
≥					
≥									;IN CASE OF START AT 100000+X FROM CONSOLE
≠.IF≡≡TELASB≡≥					.IF DF TELASB
≠BIT≡≡DLRTS≡≡$FSTKS≡≥	100342	032777	000004	777460		BIT #DLRTS,@$FSTKS
≠BNE≡≥	100350	001002				BNE 1$			;RTS STILL SET, ASSUME OK
≠JSR≡≡PC≡≡HANGU1≡≥	100352	004737	114040			JSR PC,HANGU1		;RTS OFF, MUST HAVE BEEN RANDOM INIT, SO HANGUP
≥					1$:
≥					.ENDC ;DF TELASB
≠.LIF≡≡SAILVR≡≥					.LIF DF SAILVR
≠BIS≡≡KWLKS≡≥	100356	052737	000100	177546		BIS #100,KWLKS		;SET CLOCK INTERRUPT ENABLE
≥					
≠TST≡≡PCMDFL≡≥	100364	005737	152214		$KONS1:	TST	PCMDFLG		;DOING PROGRAM COMMAND ?
≠BEQ≡≥	100370	001402				BEQ	1$		;NO
≠JMP≡≡PCMDE≡≥	100372	000137	101526			JMP	PCMDE		;YES, RETURN TO PROGRAM
≠TST≡≡IFILEF≡≥	100376	005737	147624		1$:	TST	IFILEF		;PROCESSING INDIRECT FILE ?
≠BEQ≡≥	100402	001402				BEQ	2$		;NO
≠JMP≡≡IFILIN≡≥	100404	000137	101666			JMP	IFILIN		;YES, GET CHARS FROM STORAGE
≠TST≡≡JFILEF≡≥	100410	005737	147620		2$:	TST	JFILEF		;DOING DOUBLE INDIRECT ?
≠BPL≡≡$KONS2≡≥	100414	100002				BPL	$KONS2		;NO
≠JMP≡≡JFILIN≡≥	100416	000137	101730			JMP	JFILIN		;YES, GET CHARS FROM STORAGE
≠MOV≡≡SP≡≡$KONSP≡≥	100422	010637	147736		$KONS2:	MOV	SP,$KONSP	;SAVE STACK POINTER
≡PFORCE≡≡PFORCE≡≥	100426	104043			1$:	PFORCE
≡PNTCI≡≡PNTCI≡≥	100430	104214				PNTCI
≥	100432	000076				'>
≤PMSG≡≥						PMSG	<. ←>
≡$PMSG≡≡$PMSG≡≥	100434	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	100436	144746				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡RUNLP≡≡RUNLP≡≥	100440	104003			2$:	RUNLP			;RUN LOOP &/OR READ IN A TTY LINE
≠BCC≡≡$RPT≡≥	100442	103005				 BCC	$RPT		;RESPONSE, GO PROCESS
≠CMP≡≡$INBUF≡≡$INPTR≡≥	100444	022737	150500	150720		CMP	#$INBUF,$INPTR	;ANYTHING BEEN TYPED ?
≠BNE≡≥	100452	001365				BNE	1$		;YES, REPROMPT
≠BR≡≥	100454	000771				BR	2$
≥					
≠CLR≡≡ALLFLG≡≥	100456	005037	147734		$RPT:	CLR	ALLFLG		;CLEAR ALL PRINT FLAG
≡TTISDL≡≡TTISDL≡≥	100462	104016				TTISDL			;READ ONE CHARACTER
≠BCC≡≡$CMDER≡≥	100464	103043				 BCC	$CMDER		;...NUMBER, ILLEGAL
≠CMPB≡≡R0≡≥	100466	122700	000073		1$:	CMPB	#';,R0
≠BEQ≡≡$$CONS≡≥	100472	001717				BEQ	$$CONSL		;SEMICOLON, LOCAL COPY ONLY
≠CMPB≡≡R0≡≥	100474	122700	000056			CMPB	#'.,R0
≠BEQ≡≡$RPT≡≥	100500	001766				BEQ	$RPT		;DOT, IGNORE
≠MOVB≡≡R0≡≡$KDCEN≡≥	100502	110037	101140			MOVB	R0,$KDCEN	;PLACE IN END OF DECODER
≥					
≡TTICHR≡≡TTICHR≡≥	100506	104005				TTICHR			;READ SECOND CHARACTER
≠BCS≡≡$KONS1≡≥	100510	103725				 BCS	$KONS1		;EVEN 1 CHAR CMDS ARE 2 CHAR MIN.
≠CMPB≡≡R0≡≥	100512	122700	000012			CMPB	#12,R0		;IF THIS CHAR IS A LINE FEED
≠BEQ≡≡$KONS1≡≥	100516	001722				BEQ	$KONS1		;..1ST CHAR MUST HAVE BEEN CR, IGNORE
≠CMPB≡≡R0≡≥	100520	122700	000015			CMPB	#15,R0		;IF THIS CHAR A CR
≠BEQ≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 67
	CONS11 PAL[KL,SYS]	Page 4.1 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

≥	100524	001417				BEQ	3$		;THIS IS A SINGLE LETTER COMMAND
≠CMPB≡≡R0≡≥	100526	122700	000033			CMPB	#33,R0		;IF ALTMODE
≠BEQ≡≥	100532	001414				BEQ	3$		;       DITTO
≠MOVB≡≡R0≡≡$KDCEN≡≥	100534	110037	101141			MOVB	R0,$KDCEN+1	;PLACE SECOND IN END OF DECODER
≥					
≥					;THE COMMAND PORTION OF THE INPUT STRING IS READY TO BE DECODED
≥					
≠MOV≡≡$KDCEN≡≡R0≡≥	100540	013700	101140		4$:	MOV	$KDCEN,R0	;COMMAND TO R0
≠MOV≡≡$KDCRE≡≡R1≡≥	100544	012701	100674			MOV	#$KDCRE,R1	;ADDRESS OF LIST TO R1
≥					
≠CMP≡≡R0≡≡R1≡≥	100550	020021			2$:	CMP	R0,(R1)+	;TEST FOR COMMAND
≠BNE≡≥	100552	001376				BNE	2$		;NOT FOUND YET
≠CLR≡≡$KDCEN≡≥	100554	005037	101140			CLR	$KDCEN
≠.LIF≡≡MONASB≡≥					.LIF DF MONASB
≥						CLR	ENQFLG
≠JMP≡≡$DISPH≡≡$KDCRE≡≡R1≡≥	100560	000171	000244			JMP	@$DISPH-$KDCRE-2(R1)	;EXIT TO SELECTED SUBROUTINE
≠MOVB≡≡$KDCEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 68
	CONS11 PAL[KL,SYS]	Page 5 	CONSOLE PACKAGE FOR KL10/11 INTERFACE, 9-SEPT-75

≥	100564	112737	000040	101141	3$:	MOVB	#40,$KDCEN+1	;MAKE SINGLE LETTER COMMAND
≠BR≡≥	100572	000762				BR	4$		;LETTER & SPACE FOR LOOKUP
≥					
≡PNTCI≡≡PNTCI≡≥	100574	104214			$CMDER:	PNTCI
≥	100576	000077				'?
≠BR≡≡$$$CC≡≥	100600	000411				BR	$$$CC
≥					
≠CLR≡≡DIAFLG≡≥	100602	005037	151120		$$CNTLC:CLR	DIAFLG
≠CLRB≡≡TENRUN≡≥	100606	105037	147670			CLRB	TENRUN		;CLEAR PDP-10 RUNNING FLAG
≠TST≡≡PCMDFL≡≥	100612	005737	152214			TST	PCMDFLG		;DOING PROGRAM COMMAND ?
≠BNE≡≡$$$CC≡≥	100616	001002				BNE	$$$CC		;YES
≠CLR≡≡PRGRUN≡≥	100620	005037	147614			CLR	PRGRUN		;CLEAR PROGRAM RUNNING FLAG
≡SETFLG≡≡SETFLG≡≥	100624	104055			$$$CC:	SETFLG
≡$TTLKF≡≡$TTLKF≡≥	100626	147764				  $TTLKF
≠TST≡≡DEVTYP≡≥	100630	005737	157310			TST	DEVTYP		;IN ACT10 MODE ?
≠BPL≡≥	100634	100000				BPL	1$		;NO
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	ENQFLG		;DOING APT10 COMMAND ?
≥						BEQ	1$		;NO
≥						COMCLR			;ACT10, CLEAR COMM, THEN TO CONSL
≥					.ENDC
≤PUSH≡≥					1$:	PUSH	$FORCE		;SAVE FORCED PRINTING FLAG
≠.NLIST≡≠.IRP≡≠MOV≡≡$FORCE≡≡SP≡≠.LIST≡≡PFORCE≡≡PFORCE≡≥	100642	104043				PFORCE
≡PCRLF≡≡PCRLF≡≥	100644	104031				PCRLF			;FORCE PRINT ERROR
≤POP≡≥						POP	$FORCE		;RESTORE
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡$FORCE≡≠.LIST≡≥					
≠TST≡≡PCMDFL≡≥	100652	005737	152214			TST	PCMDFLG		;DOING PROGRAM COMMAND ?
≠BEQ≡≥	100656	001402				BEQ	2$		;NO
≠JMP≡≡PCMDE1≡≥	100660	000137	101546			JMP	PCMDE1		;YES, TAKE ERROR RETURN
≥					
≠CLR≡≡JFILEF≡≥	100664	005037	147620		2$:	CLR	JFILEF		;CLEAR DOUBLE INDIRECT FLAG
≠JMP≡≡KONSL≡≥	100670	000137	100134			JMP	KONSL
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 69
	CONS11 PAL[KL,SYS]	Page 6 	CONSOLE DISPATCH TABLE

≥					.SBTTL	CONSOLE DISPATCH TABLE
≥					
≠.ASCII≡≥	100674	   122		
≥	100675	   040		
≥					$KDCRE:	.ASCII	/R /		;REPEAT OPERATOR
≠.ASCII≡≥	100676	   106		
≥	100677	   130		
≥						.ASCII	/FX/		;DIAGNOSTIC FUNCTION EXECUTE
≠.ASCII≡≥	100700	   106		
≥	100701	   127		
≥						.ASCII	/FW/		;DIAGNOSTIC FUNCTION WRITE
≠.ASCII≡≥	100702	   106		
≥	100703	   122		
≥						.ASCII	/FR/		;DIAGNOSTIC FUNCTION READ
≠.ASCII≡≥	100704	   106		
≥	100705	   123		
≥						.ASCII	/FS/		;DIAGNOSTIC FUNCTION SYNC
≠.ASCII≡≥	100706	   104		
≥	100707	   101		
≥						.ASCII	/DA/		;DIAGNOSTIC DEPOSIT INTO AR
≠.ASCII≡≥	100710	   105		
≥	100711	   130		
≥						.ASCII	/EX/		;PDP-10 INSTRUCTION EXECUTE
≠.ASCII≡≥	100712	   115		
≥	100713	   122		
≥						.ASCII	/MR/		;MASTER RESET
≥					
≥					;PDP-10 EXAMINE/DEPOSIT FUNCTIONS
≥					
≠.ASCII≡≥	100714	   105		
≥	100715	   115		
≥						.ASCII	/EM/		;EXAMINE 10 AT ADR AND PRINT
≠.ASCII≡≥	100716	   104		
≥	100717	   115		
≥						.ASCII	/DM/		;DEPOSIT DATA IN 10 ADDRESS
≠.ASCII≡≥	100720	   105		
≥	100721	   116		
≥						.ASCII	/EN/		;EXAMINE AND PRINT NEXT 10 ADDRESSES
≠.ASCII≡≥	100722	   104		
≥	100723	   116		
≥						.ASCII	/DN/		;DEPOSIT DATA INTO NEXT 10 ADDRESSES
≠.ASCII≡≥	100724	   115		
≥	100725	   132		
≥						.ASCII	/MZ/		;MEMORY ZERO
≥					
≥					;START/STOP FUNCTIONS
≥					
≠.ASCII≡≥	100726	   123		
≥	100727	   120		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 70
	CONS11 PAL[KL,SYS]	Page 6.1 	CONSOLE DISPATCH TABLE

≥						.ASCII	/SP/		;STOP 10, CLEAR RUN FLOP
≠.ASCII≡≥	100730	   122		
≥	100731	   116		
≥						.ASCII	/RN/		;START 10, SET RUN FLOP
≠.ASCII≡≥	100732	   123		
≥	100733	   111		
≥						.ASCII	/SI/		;SINGLE INSTRUCTION,PUSH CONTINUE
≠.ASCII≡≥	100734	   120		
≥	100735	   114		
≥						.ASCII	/PL/		;PULSE CLOCK
≠.ASCII≡≥	100736	   102		
≥	100737	   125		
≥						.ASCII	/BU/		;BURST CLOCK
≠.ASCII≡≥	100740	   123		
≥	100741	   115		
≥						.ASCII	/SM/		;START MICRO CODE,SUPPORT EXAMINE/DEPOSIT
≠.ASCII≡≥	100742	   123		
≥	100743	   124		
≥						.ASCII	/ST/		;START AT 10 ADDRESS
≠.ASCII≡≥	100744	   123		
≥	100745	   127		
≥						.ASCII	/SW/		;PDP-10 SWITCHES
≠.ASCII≡≥	100746	   101		
≥	100747	   103		
≥						.ASCII	/AC/		;"AC BLK" SELECTION
≠.ASCII≡≥	100750	   115		
≥	100751	   103		
≥						.ASCII	/MC/		;PDP-10 MONITOR CONTINUE
≠.LIF≡≡%%EOP≡≥					.LIF DF %%EOP
≥						.ASCII	/EP/		;SET EOP INTERVAL
≥					
≥					;PDP-11 FUNCTIONS
≥					
≠.ASCII≡≥	100752	   123		
≥	100753	   105		
≥						.ASCII	/SE/		;START 11 AT ADR
≠.ASCII≡≥	100754	   105		
≥	100755	   105		
≥						.ASCII	/EE/		;EXAMINE 11 AT ADR AND PRINT
≠.ASCII≡≥	100756	   104		
≥	100757	   105		
≥						.ASCII	/DE/		;DEPOSIT DATA IN 11 ADDRESS
≠.ASCII≡≥	100760	   105		
≥	100761	   102		
≥						.ASCII	/EB/		;EXAMINE 11 BYTE
≠.ASCII≡≥	100762	   104		
≥	100763	   102		
≥						.ASCII	/DB/		;DEPOSIT 11 BYTE
≠.ASCII≡≥	100764	   132		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 71
	CONS11 PAL[KL,SYS]	Page 6.2 	CONSOLE DISPATCH TABLE

≥	100765	   105		
≥						.ASCII	/ZE/		;ZERO ELEVEN
≥					
≥					;RAM FUNCTIONS
≥					
≠.ASCII≡≥	100766	   105		
≥	100767	   103		
≥						.ASCII	/EC/		;EXAMINE C-RAM AT ADDRESS AND PRINT
≠.ASCII≡≥	100770	   104		
≥	100771	   103		
≥						.ASCII	/DC/		;DEPOSIT DATA INTO C-RAM ADDRESS
≠.ASCII≡≥	100772	   122		
≥	100773	   103		
≥						.ASCII	/RC/		;READ C-RAM, FR'S 140-141-142-143
≠.ASCII≡≥	100774	   105		
≥	100775	   104		
≥						.ASCII	/ED/		;EXAMINE D-RAM AT ADDRESS AND PRINT
≠.ASCII≡≥	100776	   104		
≥	100777	   104		
≥						.ASCII	/DD/		;[START DDT] OR DEPOSIT D-RAM
≠.ASCII≡≥	101000	   115		
≥	101001	   115		
≥						.ASCII	/MM/		;MICRO-CODE SYNC MARK
≠.ASCII≡≥	101002	   115		
≥	101003	   125		
≥						.ASCII	/MU/		;MICRO-CODE SYNC UNMARK
≠.ASCII≡≥	101004	   115		
≥	101005	   124		
≥						.ASCII	/MT/		;MICRO-CODE TIME CHANGE
≥					
≥					;CLOCK OPERATIONS
≥					
≠.ASCII≡≥	101006	   103		
≥	101007	   123		
≥						.ASCII	/CS/		;CLOCK SOURCE
≠.ASCII≡≥	101010	   103		
≥	101011	   122		
≥						.ASCII	/CR/		;CLOCK RATE
≥					
≥					;PROCESSOR PARITY FUNCTIONS
≥					
≠.ASCII≡≥	101012	   120		
≥	101013	   104		
≥						.ASCII	/PD/		;DISABLE PARITY STOP
≠.ASCII≡≥	101014	   120		
≥	101015	   105		
≥						.ASCII	/PE/		;ENABLE PARITY STOP
≥					
≥					;INTERNAL E-BOX REGISTER READ FUNCTIONS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 72
	CONS11 PAL[KL,SYS]	Page 6.3 	CONSOLE DISPATCH TABLE

≥					
≠.ASCII≡≥	101016	   101		
≥	101017	   122		
≥						.ASCII	/AR/		;READ & PRINT AR REGISTER
≠.ASCII≡≥	101020	   102		
≥	101021	   122		
≥						.ASCII	/BR/		;READ & PRINT BR REGISTER
≠.ASCII≡≥	101022	   115		
≥	101023	   121		
≥						.ASCII	/MQ/		;READ & PRINT MQ REGISTER
≠.ASCII≡≥	101024	   106		
≥	101025	   115		
≥						.ASCII	/FM/		;READ & PRINT FM REGISTER
≠.ASCII≡≥	101026	   101		
≥	101027	   104		
≥						.ASCII	/AD/		;READ & PRINT ADDER
≠.ASCII≡≥	101030	   120		
≥	101031	   103		
≥						.ASCII	/PC/		;READ & PRINT PC
≠.ASCII≡≥	101032	   126		
≥	101033	   115		
≥						.ASCII	/VM/		;READ & PRINT VMA
≠.ASCII≡≥	101034	   123		
≥	101035	   103		
≥						.ASCII	/SC/		;READ & PRINT SC REGISTER
≠.ASCII≡≥	101036	   106		
≥	101037	   105		
≥						.ASCII	/FE/		;READ & PRINT FE REGISTER
≠.ASCII≡≥	101040	   105		
≥	101041	   122		
≥						.ASCII	/ER/		;READ & PRINT E-BUS REGISTER
≠.ASCII≡≥	101042	   120		
≥	101043	   111		
≥						.ASCII	/PI/		;READ & PRINT PI SYSTEM
≠.ASCII≡≥	101044	   101		
≥	101045	   114		
≥						.ASCII	/AL/		;PRINT ALL, C-RAM & REGISTERS
≥					
≥					;CACHE OPERATIONS
≥					
≠.ASCII≡≥	101046	   103		
≥	101047	   105		
≥						.ASCII	/CE/		;CACHE ENABLE
≠.ASCII≡≥	101050	   103		
≥	101051	   111		
≥						.ASCII	/CI/		;CACHE INVALIDATE
≠.ASCII≡≥	101052	   103		
≥	101053	   106		
≥						.ASCII	/CF/		;CACHE FLUSH
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 73
	CONS11 PAL[KL,SYS]	Page 6.4 	CONSOLE DISPATCH TABLE

≥					
≥					;REPEAT CONTROL
≥					
≠.ASCII≡≥	101054	   122		
≥	101055	   120		
≥						.ASCII	/RP/		;REPEAT & PRINT OR RP04 SELECT
≠.ASCII≡≥	101056	   124		
≥	101057	   104		
≥						.ASCII	/TD/		;TIME DELAY
≥					
≥					;CONSOLE (TTY) CONTROL FUNCTION
≥					
≠.ASCII≡≥	101060	   124		
≥	101061	   120		
≥						.ASCII	/TP/		;SET TTY PAGE LENGTH
≠.ASCII≡≥	101062	   124		
≥	101063	   127		
≥						.ASCII	/TW/		;SET TTY PAGE WIDTH
≠.ASCII≡≥	101064	   124		
≥	101065	   106		
≥						.ASCII	/TF/		;SET TTY FILL COUNT
≥					
≠.LIF≡≡UTLASB≡≥					.LIF DF UTLASB
≥						.ASCII	/TT/		;SWITCH TO REMOTE TELETYPE OPERATION
≥					
≠.LIF≡≡LPASB≡≥					.LIF DF LPASB
≥						.ASCII	/LP/		;LINE PRINTER SELECTION
≥					
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥						.ASCII	/KL/		;KLINIK SELECTION
≥					.IFF
≠.ASCII≡≥	101066	   110		
≥	101067	   125		
≥						.ASCII /HU/		;HANGUP
≥					.ENDC
≥					
≥					;KL10 MONITOR (PROGRAM & ACT10) COMMANDS
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						.ASCII	/B /		;BOOT
≥						.ASCII	/LI/		;LOGIN
≥					.ENDC
≠.ASCII≡≥	101070	   110		
≥	101071	   040		
≥						.ASCII	/H /		;HELP
≠.ASCII≡≥	101072	   120		
≥	101073	   040		
≥						.ASCII	/P /		;PROGRAM
≠.ASCII≡≥	101074	   114		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 74
	CONS11 PAL[KL,SYS]	Page 6.5 	CONSOLE DISPATCH TABLE

≥	101075	   124		
≥						.ASCII	/LT/		;LOAD TEN
≠.ASCII≡≥	101076	   114		
≥	101077	   105		
≥						.ASCII	/LE/		;LOAD ELEVEN
≠.ASCII≡≥	101100	   114		
≥	101101	   122		
≥						.ASCII	/LR/		;LOAD RAM
≠.ASCII≡≥	101102	   114		
≥	101103	   102		
≥						.ASCII	/LB/		;LOAD ELEVEN BINARY
≥					
≠.LIF≡≡BOOASB≡≥					.LIF DF BOOASB
≠.ASCII≡≥	101104	   114		
≥	101105	   104		
≥						.ASCII	/LD/		;LOAD DSKDMP BOOTSTRAP LOADER
≥					
≠.ASCII≡≥	101106	   126		
≥	101107	   040		
≥						.ASCII	/V /		;VERFIY PROGRAM
≠.ASCII≡≥	101110	   103		
≥	101111	   040		
≥						.ASCII	/C /		;COMMENT/CORRECTIVE ACTION
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						.ASCII	/S /		;SCRIPT
≥						.ASCII	/M /		;MASTER SCRIPT
≥						.ASCII	/LO/		;LOGOUT
≥						.ASCII	/GS/		;GENERATE SCRIPT
≥					.ENDC
≠.ASCII≡≥	101112	   107		
≥	101113	   117		
≥						.ASCII	/GO/		;GO START PROGRAM
≥					;;;;	.ASCII	/CD/		;PDP-11 CORE DUMP
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥					.IF DF UTLASB
≥						.ASCII	/TA/		;ACT10 TO RP04 TRANSFER
≥						.ASCII	/WF/		;DECTAPE TO RP04 WRITE
≥					.ENDC
≥						.ASCII	/RE/		;'RENM' RENAME RP04 FILE
≥					.ENDC
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						.ASCII	/T /		;TIME
≥						.ASCII	/BT/		;BOOT TEN
≥						.ASCII	/AT/		;SWITCH TO ACT10 MODE
≥					.ENDC
≥					
≠.ASCII≡≥	101114	   104		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 75
	CONS11 PAL[KL,SYS]	Page 6.6 	CONSOLE DISPATCH TABLE

≥	101115	   124		
≥						.ASCII	/DT/		;SWITCH TO DECTAPE MODE, SELECT UNIT
≥					
≠.LIF≡≡RXASB≡≥					.LIF DF RXASB
≥						.ASCII	/RX/		;SWITCH TO FLOPPY MODE, SELECT UNIT
≥					
≠.ASCII≡≥	101116	   104		
≥	101117	   111		
≥						.ASCII	/DI/		;DIRECTORY, DECTAPE/RP04/FLOPPY
≥					
≠.IF≡≡BPTASB≡≥					.IF DF BPTASB
≥						.ASCII	/BP/		;BREAKPOINT TRAP LAYER
≥						.ASCII	/BC/		;BREAKPOINT CONTINUE
≥						.ASCII	/RG/		;TYPE OUT BREAK STUFF
≥						.ASCII	/RB/		;REMOVE BREAKPOINTS
≥					.ENDC
≥					
≠.ASCII≡≥	101120	   110		
≥	101121	   103		
≥						.ASCII	/HC/		;ERROR HALT CONTINUE
≥					
≠.ASCII≡≥	101122	   122		
≥	101123	   111		
≥						.ASCII	/RI/		;REINITIALIZE SYSTEM
≥					
≠.ASCII≡≥	101124	   111		
≥	101125	   040		
≥						.ASCII	/I /		;INDIRECT COMMAND FILE PROCESS
≠.ASCII≡≥	101126	   112		
≥	101127	   040		
≥						.ASCII	/J /		;DOUBLE INDIRECT COMMAND FILE
≠.ASCII≡≥	101130	   112		
≥	101131	   103		
≥						.ASCII	/JC/		;"J" FILE CONTINUE
≥					
≠.LIF≡≡BOOASB≡≥					.LIF DF BOOASB
≠.ASCII≡≥	101132	   104		
≥	101133	   123		
≥						.ASCII	/DS/		;LOAD DSKDMP BOOTSTRAP INTO 10 MEM AND START
≠.ASCII≡≥	101134	   126		
≥	101135	   102		
≥						.ASCII  /VB/		;COMPLEMENT VERBOSE FLAG
≠.ASCII≡≥	101136	   113		
≥	101137	   101		
≥						.ASCII	/KA/		;ENABLE KASIM
≥					
≥	101140	000000			$KDCEN:	0			;ERROR TRAP FOR NONEXISTANT COMMANDS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 76
	CONS11 PAL[KL,SYS]	Page 7 	CONSOLE DISPATCH TABLE

≥					;DISPATCH TABLE
≥					
≡.RPT≡≡.RPT≡≥	101142	101410			$DISPH:	.RPT			;REPEAT OPERATION
≡.DFXCT≡≡.DFXCT≡≥	101144	102014				.DFXCT			;DIAGNOSTIC FUNCTION EXECUTE
≡.DFWRT≡≡.DFWRT≡≥	101146	102032				.DFWRT			;   "         "      WRITE
≡.DFRD≡≡.DFRD≡≥	101150	102112				.DFRD			;   "         "      READ
≡.FS≡≡.FS≡≥	101152	102070				.FS			;   "         "      SYNC
≡.DA≡≡.DA≡≥	101154	102610				.DA			;   "       DEPOSIT INTO AR
≡.XCT≡≡.XCT≡≥	101156	104432				.XCT			;EXECUTE 10 INSTRUCTION
≡.MRESE≡≡.MRESE≡≥	101160	102602				.MRESET			;MASTER RESET
≡.EXM≡≡.EXM≡≥	101162	106622				.EXM			;EXAMINE 10
≡.DP≡≡.DP≡≥	101164	106276				.DP			;DEPOSIT 10
≡.EXMNX≡≡.EXMNX≡≥	101166	107004				.EXMNX			;EXAMINE NEXT 10
≡.DPNX≡≡.DPNX≡≥	101170	106346				.DPNX			;DEPOSIT NEXT 10
≡.MZ≡≡.MZ≡≥	101172	106450				.MZ			;MEMORY ZERO
≡$SP≡≡$SP≡≥	101174	103750				$SP			;STOP 10
≡$RN≡≡$RN≡≥	101176	104000				$RN			;RUN 10
≡$SI≡≡$SI≡≥	101200	104220				$SI			;SINGLE INSTRUCT 10
≡.PL≡≡.PL≡≥	101202	104320				.PL			;PULSE 10
≡.BU≡≡.BU≡≥	101204	104602				.BU			;BURST CLOCK
≡.SM≡≡.SM≡≥	101206	104364				.SM			;START MACHINE
≡$ST≡≡$ST≡≥	101210	105776				$ST			;START 10
≡$SW≡≡$SW≡≥	101212	110300				$SW			;SWITCHES 10
≡.AC≡≡.AC≡≥	101214	105544				.AC			;"AC BLK" SELECTION
≡$MC≡≡$MC≡≥	101216	107364				$MC			;MONITOR CONTINUE
≠.LIF≡≡%%EOP≡≥					.LIF DF %%EOP
≥						.EP			;SET EOP INTERVAL
≡.SE≡≡.SE≡≥	101220	112402				.SE			;START ELEVEN
≡.EE≡≡.EE≡≥	101222	112450				.EE			;EXAMINE ELEVEN
≡.DE≡≡.DE≡≥	101224	112652				.DE			;DEPOSIT ELEVEN
≡.EB≡≡.EB≡≥	101226	112456				.EB			;EXAMINE 11 BYTE
≡.DB≡≡.DB≡≥	101230	112660				.DB			;DEPOSIT 11 BYTE
≡.ZE≡≡.ZE≡≥	101232	112632				.ZE			;ZERO ELEVEN
≡$EC≡≡$EC≡≥	101234	126244				$EC			;EXAMINE C←RAM
≡$DC≡≡$DC≡≥	101236	127736				$DC			;DEPOSIT C-RAM
≡$RC≡≡$RC≡≥	101240	126660				$RC			;READ C-RAM
≡$ED≡≡$ED≡≥	101242	127474				$ED			;EXAMINE D←RAM
≡$DDTX≡≡$DDTX≡≥	101244	104112				$DDTX			;[START DDT] OR DEPOSIT D←RAM
≡.MM≡≡.MM≡≥	101246	105240				.MM			;MICRO-CODE MARK
≡.MU≡≡.MU≡≥	101250	105232				.MU			;MICRO-CODE UNMARK
≡.MT≡≡.MT≡≥	101252	105312				.MT			;MICRO-CODE TIME CHANGE
≡.CS≡≡.CS≡≥	101254	104632				.CS			;SELECT CLOCK SOURCE
≡.CR≡≡.CR≡≥	101256	104742				.CR			;SELECT CLOCK RATE
≡.PD≡≡.PD≡≥	101260	104774				.PD			;PROCESSOR PARITY DISABLE
≡.PE≡≡.PE≡≥	101262	105102				.PE			;PROCESSOR PARITY ENABLE
≡.AR≡≡.AR≡≥	101264	102400				.AR			;READ REGISTERS
≡.BR≡≡.BR≡≥	101266	102512				.BR
≡.MQ≡≡.MQ≡≥	101270	102304				.MQ
≡.FM≡≡.FM≡≥	101272	102320				.FM
≡.AD≡≡.AD≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 77
	CONS11 PAL[KL,SYS]	Page 7.1 	CONSOLE DISPATCH TABLE

≥	101274	102442				.AD
≡.PC≡≡.PC≡≥	101276	102626				.PC
≡.VM≡≡.VM≡≥	101300	102732				.VM
≡.SC≡≡.SC≡≥	101302	103316				.SC
≡.FE≡≡.FE≡≥	101304	103302				.FE
≡.ERG≡≡.ERG≡≥	101306	102554				.ERG
≡.PI≡≡.PI≡≥	101310	103414				.PI			;READ & PRINT PI SYSTEM
≡.ALL≡≡.ALL≡≥	101312	103550				.ALL			;PRINT ALL
≡.CE≡≡.CE≡≥	101314	105400				.CE			;CACHE ENABLE
≡.CI≡≡.CI≡≥	101316	104374				.CI			;CACHE INVALIDATE
≡.CF≡≡.CF≡≥	101320	104412				.CF			;CACHE FLUSH
≡.RPTP≡≡.RPTP≡≥	101322	101422				.RPTP			;REPEAT & PRINT
≡.TD≡≡.TD≡≥	101324	122600				.TD			;TIME DELAY
≡$TP≡≡$TP≡≥	101326	113404				$TP			;SET TTY PAGE LENGTH
≡$TW≡≡$TW≡≥	101330	113412				$TW			;SET TTY PAGE WIDTH
≡$TF≡≡$TF≡≥	101332	113434				$TF			;SET TTY FILL PARAMETER
≠.LIF≡≡UTLASB≡≥					.LIF DF UTLASB
≥						$TT			;SWITCH TO REMOTE TTY
≥					
≠.LIF≡≡LPASB≡≥					.LIF DF LPASB
≥						$LPT			;LINE PRINTER SELECTION
≥					
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥						.KLINIK			;KLINIK SELECTION
≥					.IFF
≡$HU≡≡$HU≡≥	101334	114500				$HU			;HANG UP
≥					.ENDC
≥					
≥					;KL10 MONITOR (PROGRAM & ACT10) COMMANDS
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						$BOOT			;BOOT SYSTEM
≥						$LOGIN			;LOG IN
≥					.ENDC
≡$HELP≡≡$HELP≡≥	101336	113132				$HELP			;HELP
≡$PROG≡≡$PROG≡≥	101340	113036				$PROG			;LOAD PROGRAM
≡$LDT≡≡$LDT≡≥	101342	112766				$LDT			;LOAD TEN
≡$LDE≡≡$LDE≡≥	101344	112776				$LDE			;LOAD ELEVEN
≡$LDR≡≡$LDR≡≥	101346	113006				$LDR			;LOAD RAM
≡$LDB≡≡$LDB≡≥	101350	113016				$LDB			;LOAD ELEVEN BINARY
≥					
≠.LIF≡≡BOOASB≡≥					.LIF DF BOOASB
≡$LDD≡≡$LDD≡≥	101352	113026				$LDD			;LOAD DSKDMP BOOT
≥					
≡$VERIF≡≡$VERIF≡≥	101354	112752				$VERIFY			;VERIFY PROGRAM
≡$COMNT≡≡$COMNT≡≥	101356	113344				$COMNT			;COMMENT
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						$SCRPT			;SCRIPT REQUEST
≥						$MSCP			;MASTER SCRIPT REQUEST
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 78
	CONS11 PAL[KL,SYS]	Page 7.2 	CONSOLE DISPATCH TABLE

≥						$LOGO			;LOG OUT
≥						$GSCP			;GENERATE SCRIPT
≥					.ENDC
≡$GO≡≡$GO≡≥	101360	113212				$GO			;PROGRAM GO
≥					;;;;	$CD			;PDP-11 CORE DUMP
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥					.IF DF UTLASB
≥						$TA			;ACT10 TO RP04 TRANSFER
≥						$WF			;DECTAPE TO RP04 WRITE FILE
≥					.ENDC
≥						$RE			;'RENM' RP04 RENAME FILE
≥					.ENDC
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						$TIME			;TIME
≥						$BOOTT			;BOOT PDP-10
≥						$AT			;SELECT ACT-10 MODE
≥					.ENDC
≡$DT≡≡$DT≡≥	101362	113150				$DT			;SELECT DECTAPE MODE & UNIT
≥					
≠.LIF≡≡RXASB≡≥					.LIF DF RXASB
≥						$RX			;SELECT FLOPPY MODE & UNIT
≥					
≡$DI≡≡$DI≡≥	101364	133726				$DI			;DIRECTORY, DECTAPE/RP04/FLOPPY
≥					
≠.IF≡≡BPTASB≡≥					.IF DF BPTASB
≥						.BP			;BREAKPOINT INSERTION
≥						.BC			;BREAKPOINT CONTINUE
≥						.RG			;PRINT SAVED REGISTERS
≥						.RB			;REMOVE BREAKPOINTS
≥					.ENDC
≥					
≡.HC≡≡.HC≡≥	101366	115466				.HC			;HALT CONTINUE
≡.RI≡≡.RI≡≥	101370	113374				.RI			;REINITIALIZE CONSOLE
≡$IFILE≡≡$IFILE≡≥	101372	113104				$IFILE			;INDIRECT FILE
≡$JFILE≡≡$JFILE≡≥	101374	113064				$JFILE			;DOUBLE INDIRECT FILE
≡$JC≡≡$JC≡≥	101376	113232				$JC			;J FILE CONTINUE
≥					
≠.LIF≡≡BOOASB≡≥					.LIF DF BOOASB
≡$DS≡≡$DS≡≥	101400	135474				$DS			;LOAD AND START DSKDMP BOOTSTRAP PROGRAM
≡$VB≡≡$VB≡≥	101402	106404				$VB			;COMPLEMENT VERBOSE TYPEOUT
≡$KA≡≡$KA≡≥	101404	106440				$KA			;ENABLE KASIM
≥					
≡$CMDER≡≡$CMDER≡≥	101406	100574				$CMDER			;NO SUCH COMMAND
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 79
	CONS11 PAL[KL,SYS]	Page 8 	DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS

≥					.SBTTL	DIAGNOSIC CONSOLE UTILITY COMMAND PROCESS
≥					
≠.IF≡≡UTLASB≡≥					.IF DF UTLASB
≥					
≥					;UTILITY PROGRAM CHECK
≥					
≥					$KLUCK:	CMP	PID,PIDU	;UTILITY PROGRAM IN CORE ?
≥						BNE	1$
≥						CMP	PID+2,PIDU+2
≥						BNE	1$
≥						CMP	PDVER,#DECVER	;PROPER VERSION ?
≥						BNE	1$
≥						RTS	PC		;OK
≥					
≥					1$:	PMSG	<PLEASE LOAD "KLDCPU.A11" FIRST>
≥						JMP	$CNTLC
≥					
≥					PIDU:	.RAD50	/KLDCPU/
≥					
≥					;TRANSFER FROM APT10 DISPATCH
≥					
≥					$TA:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
≥						JMP	@TAPT		;YES
≥					
≥					;WRITE FILE FROM DTA/FLOPPY DISPATCH
≥					
≥					$WF:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
≥						JMP	@WFILE		;YES
≥					
≥					;REMOTE TELETYPE COMMUNICATIONS DISPATCH
≥					
≥					$TT:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
≥						JMP	@REMOTE		;YES
≥					
≥					;RP04 DISK DIRECTORY DISPATCH
≥					
≥					.IF DR RPASB
≥					$RPDIR:	JSR	PC,$KLUCK	;UTILITY IN CORE ?
≥						JMP	@DSKDIR		;YES
≥					.ENDC
≥					
≥					.ENDC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 80
	CONS11 PAL[KL,SYS]	Page 9 	CONSOLE COMMAND REPEAT CONTROL

≥					.SBTTL	CONSOLE COMMAND REPEAT CONTROL
≥					
≡SETFLG≡≡SETFLG≡≥	101410	104055			.RPT:	SETFLG
≡RPTFLG≡≡RPTFLG≡≥	101412	147732				  RPTFLG		;SET REPEAT FLAG
≥					
≡PNORML≡≡PNORML≡≥	101414	104044			.RPTX:	PNORML
≠JMP≡≡$RPT≡≥	101416	000137	100456			JMP	$RPT
≥					
≡TTISDL≡≡TTISDL≡≥	101422	104016			.RPTP:	TTISDL
≠BCC≡≥	101424	103005				 BCC	1$		;NUMBER
≡TTBACK≡≡TTBACK≡≥	101426	104144				TTBACK
≠MOV≡≡RPTFLG≡≥	101430	012737	177400	147732		MOV	#177400,RPTFLG	;SET REPEAT & PRINT
≠BR≡≡.RPTX≡≥	101436	000766				BR	.RPTX
≥					
≠JMP≡≡$RP≡≥	101440	000137	100574		1$:	JMP	$RP		;MUST BE RP04 SELECTION
≥					
≠.IIF≡≡RPASB≡≡$CMDER≡≡$RP≠≥		100574			.IIF NDF RPASB,$RP==$CMDER
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 81
	CONS11 PAL[KL,SYS]	Page 10 	PROGRAM CONSOLE COMMAND PROCESS

≥					.SBTTL	PROGRAM CONSOLE COMMAND PROCESS
≥					
≡SETFLG≡≡SETFLG≡≥	101444	104055			$PRGNPT:SETFLG			;PROGRAM COMMAND, NO PRINT
≡PCMDNF≡≡PCMDNF≡≥	101446	152212				  PCMDNF
≠BR≡≡$PRGXX≡≥	101450	000402				BR	$PRGXX
≠CLR≡≡PCMDNF≡≥	101452	005037	152212		$PRGCMD:CLR	PCMDNF
≡SETFLG≡≡SETFLG≡≥	101456	104055			$PRGXX:	SETFLG
≡PCMDFL≡≡PCMDFL≡≥	101460	152214				  PCMDFLG		;SET PROGRAM COMMAND FLAG
≠TST≡≡R0≡≥	101462	005700				TST	R0
≠BEQ≡≥	101464	001411				BEQ	2$		;USE CURRENT INPUT BUFFER, R0=0
≠CMP≡≡R0≡≥	101466	022700	777777			CMP	#-1,R0
≠BNE≡≥	101472	001004				BNE	3$
≠MOV≡≡$OUTBF≡≡R0≡≥	101474	012700	150254			MOV	#$OUTBF,R0	;USE OUTPUT BUFFER, R0 = -1
≠MOV≡≡R0≡≡$OUTPT≡≥	101500	010037	150474			MOV	R0,$OUTPT
≠JSR≡≡PC≡≡$PCMDX≡≥	101504	004737	101606		3$:	JSR	PC,$PCMDX	;TRANSFER COMMAND TO INPUT BUFFER
≠MOV≡≡$INBUF≡≡$INPTC≡≥	101510	012737	150500	150716	2$:	MOV	#$INBUF,$INPTC	;SET PICKUP POINTER
≠MOV≡≡SP≡≡$$SVSP≡≥	101516	010637	147630			MOV	SP,$$SVSP	;SAVE STACK POINTER
≠JMP≡≡$RPT≡≥	101522	000137	100456			JMP	$RPT		;PROCESS COMMAND
≥					
≠MOV≡≡$$SVSP≡≡SP≡≥	101526	013706	147630		PCMDE:	MOV	$$SVSP,SP	;RESTORE STACK POINTER
≠CLR≡≡PCMDFL≡≥	101532	005037	152214			CLR	PCMDFLG
≠CLR≡≡PCMDNF≡≥	101536	005037	152212			CLR	PCMDNF
≠.LIF≡≡MONASB≡≥					.LIF DF MONASB
≥						CLR	ENQFLG
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	101542	000137	124064			  JMP	$EXIT
≠MOV≡≡$$SVSP≡≡SP≡≥	101546	013706	147630		PCMDE1:	MOV	$$SVSP,SP
≠CLR≡≡PCMDFL≡≥	101552	005037	152214		PCMDE3:	CLR	PCMDFLG		;ERROR, C-BIT SET RETURN
≠CLR≡≡PCMDNF≡≥	101556	005037	152212			CLR	PCMDNF
≠CLR≡≡HLPPNT≡≥	101562	005037	150722			CLR	HLPPNT
≤EXITER≡≥						EXITERR
≠JMP≡≡$EXITE≡≥	101566	000137	124036			  JMP	$EXITE
≠MOV≡≡$$SVSP≡≡SP≡≥	101572	013706	147630		PCMDE2:	MOV	$$SVSP,SP
≠BIS≡≡NBIT≡≡SP≡≥	101576	052766	000010	000014		BIS	#NBIT,14(SP)	;CONTROL C DURING TYPEOUT
≠BR≡≡PCMDE3≡≥	101604	000762				BR	PCMDE3		;NBIT & CBIT SET RETURN
≥					
≠MOV≡≡$INBUF≡≡R1≡≥	101606	012701	150500		$PCMDX:	MOV	#$INBUF,R1	;MOVE COMMAND TO INPUT BUFFER
≡$DIASX≠≥		101612			$DIASX=.
≠MOVB≡≡R0≡≡R1≡≥	101612	112021			1$:	MOVB	(R0)+,(R1)+	;TRANSFER CHARS
≠BNE≡≥	101614	001376				BNE	1$		;TILL NULL
≠DEC≡≡R1≡≥	101616	005301				DEC	R1
≠MOVB≡≡CR≡≡R1≡≥	101620	112721	000015			MOVB	#CR,(R1)+
≠MOVB≡≡LF≡≡R1≡≥	101624	112721	000012			MOVB	#LF,(R1)+
≠MOV≡≡R1≡≡$INPTR≡≥	101630	010137	150720			MOV	R1,$INPTR	;SAVE EOL POINTER
≠RTS≡≡PC≡≥	101634	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 82
	CONS11 PAL[KL,SYS]	Page 11 	PROGRAM CONSOLE COMMAND PROCESS

≥					;PROGRAM INDIRECT CCL FILE PROCESS
≥					
≠MOV≡≡IFINP≡≡R1≡≥	101636	013701	147622		$TTICCL:MOV	IFINP,R1	;XFER CHARS INTO INPUT BUFFER
≠TSTB≡≡R1≡≥	101642	105711				TSTB	(R1)		;FIRST CHAR A NULL ?
≠BEQ≡≥	101644	001406				BEQ	1$		;YES, FINISHED
≠JSR≡≡PC≡≡IJFILX≡≥	101646	004737	101772			JSR	PC,IJFILX
≠MOV≡≡R1≡≡IFINP≡≥	101652	010137	147622			MOV	R1,IFINP	;RESAVE POINTER
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	101656	000137	124064			  JMP	$EXIT
≤EXITER≡≥					1$:	EXITERR			;FINISHED, C-BIT SET RETURN
≠JMP≡≡$EXITE≡≥	101662	000137	124036			  JMP	$EXITE
≥					
≥					;INDIRECT COMMAND FILE PROCESS
≥					
≠MOV≡≡IFINP≡≡R1≡≥	101666	013701	147622		IFILIN:	MOV	IFINP,R1	;XFER CHARS INTO INPUT BUFFER
≠TSTB≡≡R1≡≥	101672	105711				TSTB	(R1)		;FIRST CHAR A NULL ?
≠BEQ≡≡IFILX1≡≥	101674	001413				BEQ	IFILX1		;YES, FINISHED
≠JSR≡≡PC≡≡IJFILX≡≥	101676	004737	101772			JSR	PC,IJFILX
≠MOV≡≡R1≡≡IFINP≡≥	101702	010137	147622			MOV	R1,IFINP	;RESAVE STORAGE POINTER
≠TST≡≡JFILEF≡≥	101706	005737	147620			TST	JFILEF		;DON'T PRINT "I" IF UNDER "J"
≠BNE≡≥	101712	001002				BNE	3$
≡IFILX≠≥		101714			IFILX=.
≡$PMSG≡≡$PMSG≡≥	101714	104025				$PMSG			;PRINT COMMAND LINE
≡$INBUF≡≡$INBUF≡≥	101716	150500				$INBUF
≠JMP≡≡$RPT≡≥	101720	000137	100456		3$:	JMP	$RPT		;GO PROCESS
≥					
≠JMP≡≡CONSL≡≥	101724	000137	100106		IFILX1:	JMP	CONSL		;FINISHED
≥					
≥					;DOUBLE INDIRECT COMMAND FILE PROCESS
≥					
≠TST≡≡PRGRUN≡≥	101730	005737	147614		JFILIN:	TST	PRGRUN		;PROGRAM PRESENTLY RUNNING ?
≠BEQ≡≥	101734	001402				BEQ	3$		;NO
≠JMP≡≡$KONS2≡≥	101736	000137	100422			JMP	$KONS2		;YES, WAIT TILL IT'S DONE
≠MOV≡≡JFINP≡≡R1≡≥	101742	013701	147616		3$:	MOV	JFINP,R1	;XFER CHARS INTO INPUT BUFFER
≥					
≠TSTB≡≡R1≡≥	101746	105711				TSTB	(R1)		;FIRST CHAR A NULL ?
≠BEQ≡≥	101750	001405				BEQ	2$		;YES, FINISHED
≥					
≠JSR≡≡PC≡≡IJFILX≡≥	101752	004737	101772			JSR	PC,IJFILX
≠MOV≡≡R1≡≡JFINP≡≥	101756	010137	147616			MOV	R1,JFINP	;RESAVE STORAGE POINTER
≠BR≡≡IFILX≡≥	101762	000754				BR	IFILX
≥					
≠CLR≡≡JFILEF≡≥	101764	005037	147620		2$:	CLR	JFILEF
≠BR≡≡IFILX1≡≥	101770	000755				BR	IFILX1
≥					
≠MOV≡≡$INBUF≡≡R0≡≥	101772	012700	150500		IJFILX:	MOV	#$INBUF,R0
≠MOV≡≡R0≡≡$INPTC≡≥	101776	010037	150716			MOV	R0,$INPTC
≥					
≠MOVB≡≡R1≡≡R0≡≥	102002	112120			1$:	MOVB	(R1)+,(R0)+
≠BNE≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 83
	CONS11 PAL[KL,SYS]	Page 11.1 	PROGRAM CONSOLE COMMAND PROCESS

≥	102004	001376				BNE	1$
≥					
≠MOV≡≡R0≡≡$INPTR≡≥	102006	010037	150720			MOV	R0,$INPTR
≠RTS≡≡PC≡≥	102012	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 84
	CONS11 PAL[KL,SYS]	Page 12 	DIAGNOSTIC FUNCTIONS

≥					.SBTTL	DIAGNOSTIC FUNCTIONS
≥					
≥					;DIAGNOSTIC FUNCTION EXECUTE
≥					
≡DFLEGA≡≡DFLEGA≡≥	102014	104226			.DFXCT:	DFLEGAL			;FUNCTION LEGAL ?
≡TTISDO≡≡TTISDO≡≥	102016	104017				TTISDO			;GET FUNCTION
≠CMP≡≡R0≡≥	102020	020027	000037			CMP	R0,#037		;FUNCTION VALID ?
≠BGT≡≡$DFERR≡≥	102024	003026				BGT	$DFERR		;FX IS 000 TO 037
≥					
≡DFXCT≡≡DFXCT≡≥	102026	104114				DFXCT			;DF EXECUTE
≠BR≡≡.DFX≡≥	102030	000415				BR	.DFX		;RETURN TO CONSOLE
≥					
≥					;DIAGNOSTIC FUNCTION WRITE
≥					
≡DFLEGA≡≡DFLEGA≡≥	102032	104226			.DFWRT:	DFLEGAL			;FUNCTION LEGAL ?
≡TTISDO≡≡TTISDO≡≥	102034	104017				TTISDO			;GET FUNCTION
≠CMP≡≡R0≡≥	102036	020027	000040			CMP	R0,#040
≠BLT≡≡$DFERR≡≥	102042	002417				BLT	$DFERR
≠CMP≡≡R0≡≥	102044	020027	000077			CMP	R0,#077
≠BGT≡≡$DFERR≡≥	102050	003014				BGT	$DFERR		;FW IS 040 TO 077
≠MOV≡≡R0≡≡R2≡≥	102052	010002				MOV	R0,R2		;SAVE FUNCTION
≡TTIS36≡≡TTIS36≡≥	102054	104020				TTIS36			;GET DATA
≠MOV≡≡R0≡≡R1≡≥	102056	010001				MOV	R0,R1		;PUT ADR OF 36BITS IN R1
≥						
≠MOV≡≡R2≡≡R0≡≥	102060	010200				MOV	R2,R0		;FUNCTION IN R0
≡DFWRT≡≡DFWRT≡≥	102062	104120				DFWRT			;DIAGNOSTIC FUNCTION WRITE
≥					
≠JMP≡≡$KONSL≡≥	102064	000137	100230		.DFX:	JMP	$KONSL
≥					
≥					;DIAGNOSTIC FUNCTION SYNC, GENERATES PULSE AT "A36E1"
≥					
≡DFLEGA≡≡DFLEGA≡≥	102070	104226			.FS:	DFLEGAL			;FUNCTION LEGAL ?
≡TTITRM≡≡TTITRM≡≥	102072	104022				TTITRM
≡DFXCTT≡≡DFXCTT≡≥	102074	104115				DFXCTT
≥	102076	000074				  74			;SYNC IS FUNCTION EXECUTE 74
≠BR≡≡.DFX≡≥	102100	000771				BR	.DFX
≥					
≤PMSG≡≥					$DFERR:	PMSG	<?FUNCTION ERR>
≡$PMSG≡≡$PMSG≡≥	102102	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	102104	144752				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	102106	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 85
	CONS11 PAL[KL,SYS]	Page 13 	DIAGNOSTIC FUNCTIONS

≥					;DIAGNOSTIC READ AND PRINT
≥					
≡DFLEGA≡≡DFLEGA≡≥	102112	104226			.DFRD:	DFLEGAL			;FUNCTION LEGAL ?
≠CLR≡≡R3≡≥	102114	005003				CLR	R3
≡TTISDO≡≡TTISDO≡≥	102116	104017				TTISDO			;GET FUNCTION
≠MOV≡≡R0≡≡R2≡≥	102120	010002				MOV	R0,R2
≡TTIBRK≡≡TTIBRK≡≥	102122	104015				TTIBRK
≠BCS≡≡$DFERR≡≥	102124	103766				 BCS	$DFERR
≠CMPB≡≡COMMA≡≡R0≡≥	102126	122700	000054			CMPB	#COMMA,R0	;IF BREAK IS A COMMA, MULTIPLE DFRD
≠BNE≡≥	102132	001003				BNE	1$
≥					
≠INC≡≡R3≡≥	102134	005203				INC	R3
≡TTCOCT≡≡TTCOCT≡≥	102136	104010				TTCOCT
≠MOV≡≡R0≡≡R4≡≥	102140	010004				MOV	R0,R4		;SAVE LAST DFRD
≠TSTB≡≡RPTFLG≡≥	102142	105737	147732		1$:	TSTB	RPTFLG
≠BNE≡≥	102146	001003				BNE	2$
≥					
≠MOV≡≡R2≡≡R0≡≥	102150	010200				MOV	R2,R0
≡PNTOCS≡≡PNTOCS≡≥	102152	104036				PNTOCS
≡PSLASH≡≡PSLASH≡≥	102154	104033				PSLASH
≠MOV≡≡R2≡≡R0≡≥	102156	010200			2$:	MOV	R2,R0
≠BEQ≡≥	102160	001406				BEQ	21$		;FR 0 USED TO READ E-BUS
≠CMP≡≡R0≡≥	102162	020027	000100			CMP	R0,#100
≠BLT≡≡$DFERR≡≥	102166	002745				BLT	$DFERR
≠CMP≡≡R0≡≥	102170	020027	000177			CMP	R0,#177
≠BGT≡≡$DFERR≡≥	102174	003342				BGT	$DFERR		;FR IS 100 TO 177
≠MOV≡≡.DFRDA≡≡R1≡≥	102176	012701	147710		21$:	MOV	#.DFRDA,R1
≡DFRDMV≡≡DFRDMV≡≥	102202	104117				DFRDMV
≠TSTB≡≡RPTFLG≡≥	102204	105737	147732			TSTB	RPTFLG
≠BNE≡≥	102210	001002				BNE	3$
≠MOV≡≡R1≡≡R0≡≥	102212	010100				MOV	R1,R0
≡PNT36B≡≡PNT36B≡≥	102214	104134				PNT36B			;PRINT IN BINARY
≥					
≠TST≡≡R3≡≥	102216	005703			3$:	TST	R3
≠BEQ≡≥	102220	001405				BEQ	4$
≥					
≡PCRLF≡≡PCRLF≡≥	102222	104031				PCRLF
≠CMP≡≡R2≡≡R4≡≥	102224	020204				CMP	R2,R4
≠BHIS≡≥	102226	103002				BHIS	4$
≠INC≡≡R2≡≥	102230	005202				INC	R2
≠BR≡≥	102232	000743				BR	1$
≥					
≠BR≡≡ALLEXT≡≥	102234	000412			4$:	BR	ALLEXT
≡DFLEGA≡≡DFLEGA≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 86
	CONS11 PAL[KL,SYS]	Page 14 	DIAGNOSTIC FUNCTIONS

≥	102236	104226			.DFDP:	DFLEGAL			;FUNCTION LEGAL ?
≠MOV≡≡.DFRDA≡≡R1≡≥	102240	012701	147710			MOV	#.DFRDA,R1
≡DFRDMV≡≡DFRDMV≡≥	102244	104117				DFRDMV			;READ THE E-BUS
≥					
≠TSTB≡≡RPTFLG≡≥	102246	105737	147732			TSTB	RPTFLG
≠BNE≡≡.DFX≡≥	102252	001304				BNE	.DFX
≠MOV≡≡.DFRDA≡≡R0≡≥	102254	012700	147710		.DFDPC:	MOV	#.DFRDA,R0
≡PNT36≡≡PNT36≡≥	102260	104042				PNT36			;PRINT IT OUT
≥					
≠TST≡≡ALLFLG≡≥	102262	005737	147734		ALLEXT:	TST	ALLFLG		;DOING ALL ?
≠BNE≡≥	102266	001005				BNE	1$		;YES
≠TSTB≡≡RPTFLG≡≥	102270	105737	147732			TSTB	RPTFLG		;DOING A REPEAT ?
≠BNE≡≥	102274	001001				BNE	2$		;YES
≡ALLEX1≠≥		102276			ALLEX1=.
≡PCRLF≡≡PCRLF≡≥	102276	104031				PCRLF
≠BR≡≡.DFX≡≥	102300	000671			2$:	BR	.DFX
≠RTS≡≡PC≡≥	102302	000207			1$:	RTS	PC		;ALL, CONTINUE
≥					
≡TTITRM≡≡TTITRM≡≥	102304	104022			.MQ:	TTITRM
≡$ALLMQ≠≥		102306			$ALLMQ=.
≤PMSGR≡≥						PMSGR	<MQ />
≡$PMSGR≡≡$PMSGR≡≥	102306	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102310	144770				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPMQ≡≡R0≡≥	102312	012700	000122		1$:	MOV	#DPMQ,R0
≠BR≡≡.DFDP≡≥	102316	000747				BR	.DFDP
≥					
≡DFLEGA≡≡DFLEGA≡≥	102320	104226			.FM:	DFLEGAL			;FUNCTION LEGAL ?
≡TTITRM≡≡TTITRM≡≥	102322	104022				TTITRM
≡$ALLFM≠≥		102324			$ALLFM=.
≠TSTB≡≡RPTFLG≡≥	102324	105737	147732			TSTB	RPTFLG
≠BNE≡≥	102330	001016				BNE	1$
≡PNTCI≡≡PNTCI≡≥	102332	104214				PNTCI
≥	102334	046506				"FM
≡DFRDT≡≡DFRDT≡≥	102336	104140				DFRDT			;READ FM ADDRESS
≡DPFMA≡≡DPFMA≡≥	102340	000114				  DPFMA
≠MOV≡≡.DAT2≡≡R0≡≥	102342	017700	054756			MOV	@.DAT2,R0
≡SHIFTR≡≡SHIFTR≡≥	102346	104053				SHIFTR
≥	102350	000005				  5
≠BIC≡≡R0≡≥	102352	042700	177760			BIC	#177760,R0
≡PNTODT≡≡PNTODT≡≥	102356	104047				PNTODT
≥	102360	000002				  2
≡PNTCI≡≡PNTCI≡≥	102362	104214				PNTCI
≥	102364	000057				'/
≠MOV≡≡DPFM≡≡R0≡≥	102366	012700	000123		1$:	MOV	#DPFM,R0
≠BR≡≡.DFDP≡≥	102372	000721				BR	.DFDP
≥					
≠JMP≡≡$DFERR≡≥	102374	000137	102102		$DPERR:	JMP	$DFERR
≡TTICHR≡≡TTICHR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 87
	CONS11 PAL[KL,SYS]	Page 15 	DIAGNOSTIC FUNCTIONS

≥	102400	104005			.AR:	TTICHR
≠BCS≡≡$DPERR≡≥	102402	103774				 BCS	$DPERR
≠CMPB≡≡R0≡≥	102404	122700	000130			CMPB	#'X,R0		;IS COMMAND 3 LETTERS ?
≠BEQ≡≥	102410	001406				BEQ	1$		;BR IF 3RD LETTER IS X
≡TTBTRM≡≡TTBTRM≡≥	102412	104023				TTBTRM
≡$ALLAR≠≥		102414			$ALLAR=.
≤PMSGR≡≥						PMSGR	<AR />
≡$PMSGR≡≡$PMSGR≡≥	102414	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102416	144775				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPAR≡≡R0≡≥	102420	012700	000120		2$:	MOV	#DPAR,R0
≠BR≡≡.DFDP≡≥	102424	000704				BR	.DFDP		;READ AND PRINT AR
≥					
≡TTITRM≡≡TTITRM≡≥	102426	104022			1$:	TTITRM
≡$ALARX≠≥		102430			$ALARX=.
≤PMSGR≡≥						PMSGR	<ARX/>
≡$PMSGR≡≡$PMSGR≡≥	102430	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102432	145002				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPARX≡≡R0≡≥	102434	012700	000125		3$:	MOV	#DPARX,R0
≠BR≡≡.DFDP≡≥	102440	000676				BR	.DFDP
≥					
≡TTICHR≡≡TTICHR≡≥	102442	104005			.AD:	TTICHR
≠BCS≡≡$DPERR≡≥	102444	103753				 BCS	$DPERR
≠CMPB≡≡R0≡≥	102446	122700	000130			CMPB	#'X,R0		;IS COMMAND 3 LETTERS ?
≠BEQ≡≥	102452	001411				BEQ	1$		;BR IF 3RD LETTER IS X
≠CMPB≡≡R0≡≥	102454	122700	000102			CMPB	#'B,R0
≠BEQ≡≡.ADB≡≥	102460	001552				BEQ	.ADB		;ADB, PRINT ADDRESS BREAK
≡TTBTRM≡≡TTBTRM≡≥	102462	104023				TTBTRM
≡$ALLAD≠≥		102464			$ALLAD=.
≤PMSGR≡≥						PMSGR	<AD />
≡$PMSGR≡≡$PMSGR≡≥	102464	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102466	145007				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPAD≡≡R0≡≥	102470	012700	000127		2$:	MOV	#DPAD,R0
≠BR≡≡.DFDP≡≥	102474	000660				BR	.DFDP		;READ AND PRINT AD
≥					
≡TTITRM≡≡TTITRM≡≥	102476	104022			1$:	TTITRM
≡$ALADX≠≥		102500			$ALADX=.
≤PMSGR≡≥						PMSGR	<ADX/>
≡$PMSGR≡≡$PMSGR≡≥	102500	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102502	145014				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPADX≡≡R0≡≥	102504	012700	000126		3$:	MOV	#DPADX,R0
≠BR≡≡.DFDP≡≥	102510	000652				BR	.DFDP		;READ AND PRINT ADX
≡TTICHR≡≡TTICHR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 88
	CONS11 PAL[KL,SYS]	Page 16 	DIAGNOSTIC FUNCTIONS

≥	102512	104005			.BR:	TTICHR
≠BCS≡≡$DPERR≡≥	102514	103727				 BCS	$DPERR
≠CMPB≡≡R0≡≥	102516	122700	000130			CMPB	#'X,R0		;IS COMMAND 3 LETTERS ?
≠BEQ≡≥	102522	001406				BEQ	1$		;BR IF 3RD LETTER IS X
≡TTBTRM≡≡TTBTRM≡≥	102524	104023				TTBTRM
≡$ALLBR≠≥		102526			$ALLBR=.
≤PMSGR≡≥						PMSGR	<BR />
≡$PMSGR≡≡$PMSGR≡≥	102526	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102530	145021				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPBR≡≡R0≡≥	102532	012700	000121		2$:	MOV	#DPBR,R0
≠BR≡≡.DFDP≡≥	102536	000637				BR	.DFDP		;READ AND PRINT BR
≥					
≡TTITRM≡≡TTITRM≡≥	102540	104022			1$:	TTITRM
≡$ALBRX≠≥		102542			$ALBRX=.
≤PMSGR≡≥						PMSGR	<BRX/>
≡$PMSGR≡≡$PMSGR≡≥	102542	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102544	145026				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPBRX≡≡R0≡≥	102546	012700	000124		3$:	MOV	#DPBRX,R0
≠BR≡≡.DFDP≡≥	102552	000631				BR	.DFDP		;READ AND PRINT THE BRX
≥					
≡TTICHR≡≡TTICHR≡≥	102554	104005			.ERG:	TTICHR
≠BCS≡≡$DPER1≡≥	102556	103504				 BCS	$DPER1
≠CMPB≡≡R0≡≥	102560	122700	000107			CMPB	#'G,R0
≠BNE≡≡$DPER1≡≥	102564	001101				BNE	$DPER1
≡TTITRM≡≡TTITRM≡≥	102566	104022				TTITRM
≥					
≤PMSGR≡≥					$ALLEB:	PMSGR	<ERG/>
≡$PMSGR≡≡$PMSGR≡≥	102570	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	102572	145033				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPERG≡≡R0≡≥	102574	012700	000167			MOV	#DPERG,R0
≠BR≡≡.DFDP≡≥	102600	000616				BR	.DFDP		;READ & PRINT EBUS REGISTER
≥					
≥					;MASTER RESET
≥					
≡TTITRM≡≡TTITRM≡≥	102602	104022			.MRESET:TTITRM
≡MRESET≡≡MRESET≡≥	102604	104076				MRESET
≠BR≡≡.DAX≡≥	102606	000405				BR	.DAX
≥					
≥					;DEPOSIT INTO AR
≥					
≡DFLEGA≡≡DFLEGA≡≥	102610	104226			.DA:	DFLEGAL			;FUNCTION LEGAL ?
≡TTIS36≡≡TTIS36≡≥	102612	104020				TTIS36			;GET 36 BIT AR DATA
≠MOV≡≡R0≡≡R1≡≥	102614	010001				MOV	R0,R1		;ADR OF 36 BITS TO R1
≠JSR≡≡R5≡≡WIRAR1≡≥	102616	004537	143624			JSR	R5,WIRAR1	;CALL IR/AR WRITE ROUTINE
≠JMP≡≡$KONSL≡≥	102622	000137	100230		.DAX:	JMP	$KONSL
≡TTICHR≡≡TTICHR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 89
	CONS11 PAL[KL,SYS]	Page 17 	DIAGNOSTIC FUNCTIONS

≥	102626	104005			.PC:	TTICHR
≠BCS≡≡$DPER1≡≥	102630	103457				 BCS	$DPER1
≠CMPB≡≡R0≡≥	102632	122700	000106			CMPB	#'F,R0
≠BEQ≡≡.PCF≡≥	102636	001471				BEQ	.PCF		;"PCF" COMMAND
≡TTBTRM≡≡TTBTRM≡≥	102640	104023				TTBTRM
≡$ALLPC≠≥		102642			$ALLPC=.
≤PMSG≡≥						PMSG	<PC />
≡$PMSG≡≡$PMSG≡≥	102642	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	102644	145040				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠TST≡≡TENRUN≡≥	102646	005737	147670			TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
≠BEQ≡≥	102652	001417				BEQ	1$		;NO, GO AHEAD THEN
≡DFXCTT≡≡DFXCTT≡≥	102654	104115				DFXCTT
≡CLRRUN≡≡CLRRUN≡≥	102656	000010				  CLRRUN		;CLEAR RUN
≡TDELAY≡≡TDELAY≡≥	102660	104056				TDELAY			;WAIT FOR HALT LOOP
≡DFXCTT≡≡DFXCTT≡≥	102662	104115				DFXCTT
≡STPCLK≡≡STPCLK≡≥	102664	000000				  STPCLK		;STOP CLOCK
≥					
≡DFPC≡≡DFPC≡≥	102666	104123				DFPC			;READ PC
≥					
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡DFXCTT≡≡DFXCTT≡≥	102672	104115				DFXCTT
≡STRCLK≡≡STRCLK≡≥	102674	000001				  STRCLK		;START CLOCK
≡DFXCTT≡≡DFXCTT≡≥	102676	104115				DFXCTT
≡SETRUN≡≡SETRUN≡≥	102700	000011				  SETRUN		;SET RUN
≡DFXCTT≡≡DFXCTT≡≥	102702	104115				DFXCTT
≡CONBUT≡≡CONBUT≡≥	102704	000012				  CONBUT		;SET CONTINUE
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡PCVMAP≡≥	102710	000401				BR	PCVMAP		;GO PRINT
≥					
≡DFPC≡≡DFPC≡≥	102712	104123			1$:	DFPC
≥					
≥					PCVMAP:
≡PNTADR≡≡PNTADR≡≥	102714	104137				PNTADR
≠TST≡≡ALLFLG≡≥	102716	005737	147734			TST	ALLFLG
≠BNE≡≥	102722	001002				BNE	1$
≠JMP≡≡ALLEX1≡≥	102724	000137	102276			JMP	ALLEX1		;RETURN TO CONSOLE
≠RTS≡≡PC≡≥	102730	000207			1$:	RTS	PC		;ALL, RETURN TO ROUTINE
≡DFLEGA≡≡DFLEGA≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 90
	CONS11 PAL[KL,SYS]	Page 18 	DIAGNOSTIC FUNCTIONS

≥	102732	104226			.VM:	DFLEGAL			;FUNCTION LEGAL ?
≡TTICHR≡≡TTICHR≡≥	102734	104005				TTICHR
≠BCS≡≡$DPER1≡≥	102736	103414				 BCS	$DPER1
≠CMPB≡≡R0≡≥	102740	122700	000101			CMPB	#'A,R0
≠BEQ≡≥	102744	001404				BEQ	1$
≠CMPB≡≡R0≡≥	102746	122700	000110			CMPB	#'H,R0
≠BEQ≡≡.VMH≡≥	102752	001410				BEQ	.VMH
≠BR≡≡$DPER1≡≥	102754	000405				BR	$DPER1
≡TTITRM≡≡TTITRM≡≥	102756	104022			1$:	TTITRM
≡$ALVMA≠≥		102760			$ALVMA=.
≤PMSG≡≥						PMSG	<VMA/>
≡$PMSG≡≡$PMSG≡≥	102760	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	102762	145045				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFVMA≡≡DFVMA≡≥	102764	104124				DFVMA
≠BR≡≡PCVMAP≡≥	102766	000752				BR	PCVMAP
≥					
≠JMP≡≡$DFERR≡≥	102770	000137	102102		$DPER1:	JMP	$DFERR
≥					
≡TTITRM≡≡TTITRM≡≥	102774	104022			.VMH:	TTITRM
≡$ALVMH≠≥		102776			$ALVMH=.
≤PMSG≡≥						PMSG	<VMH/>
≡$PMSG≡≡$PMSG≡≥	102776	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103000	145052				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFVMAH≡≡DFVMAH≡≥	103002	104150				DFVMAH
≠BR≡≡PCVMAP≡≥	103004	000743				BR	PCVMAP
≥					
≡DFLEGA≡≡DFLEGA≡≥	103006	104226			.ADB:	DFLEGAL			;FUNCTION LEGAL ?
≡TTITRM≡≡TTITRM≡≥	103010	104022				TTITRM
≤PMSG≡≥						PMSG	<ADB/>
≡$PMSG≡≡$PMSG≡≥	103012	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103014	145057				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFADB≡≡DFADB≡≥	103016	104125				DFADB
≠BR≡≡PCVMAP≡≥	103020	000735				BR	PCVMAP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 91
	CONS11 PAL[KL,SYS]	Page 19 	DIAGNOSTIC FUNCTIONS

≥					;PCF COMMAND - PRINT PC FLAGS
≡TTITRM≡≡TTITRM≡≥	103022	104022			.PCF:	TTITRM
≡$ALPCF≠≥		103024			$ALPCF=.
≠TST≡≡TENRUN≡≥	103024	005737	147670			TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
≠BEQ≡≥	103030	001416				BEQ	1$		;NO, GO AHEAD THEN
≡DFXCTT≡≡DFXCTT≡≥	103032	104115				DFXCTT
≡CLRRUN≡≡CLRRUN≡≥	103034	000010				  CLRRUN		;CLEAR RUN
≡TDELAY≡≡TDELAY≡≥	103036	104056				TDELAY			;WAIT FOR HALT LOOP
≡DFXCTT≡≡DFXCTT≡≥	103040	104115				DFXCTT
≡STPCLK≡≡STPCLK≡≥	103042	000000				  STPCLK		;STOP CLOCK
≠JSR≡≡PC≡≡PCF≡≥	103044	004737	103106			JSR	PC,PCF		;READ AND PRINT PC FLAGS
≡DFXCTT≡≡DFXCTT≡≥	103050	104115				DFXCTT
≡STRCLK≡≡STRCLK≡≥	103052	000001				  STRCLK		;START CLOCK
≡DFXCTT≡≡DFXCTT≡≥	103054	104115				DFXCTT
≡SETRUN≡≡SETRUN≡≥	103056	000011				  SETRUN		;SET RUN
≡DFXCTT≡≡DFXCTT≡≥	103060	104115				DFXCTT
≡CONBUT≡≡CONBUT≡≥	103062	000012				  CONBUT		;SET CONTINUE
≠BR≡≥	103064	000402				BR	2$
≥					
≠JSR≡≡PC≡≡PCF≡≥	103066	004737	103106		1$:	JSR	PC,PCF		;READ AND PRINT PC FLAGS
≠TST≡≡ALLFLG≡≥	103072	005737	147734		2$:	TST	ALLFLG
≠BNE≡≥	103076	001002				BNE	3$
≠JMP≡≡ALLEX1≡≥	103100	000137	102276			JMP	ALLEX1		;PRINT CRLF AND RETURN TO KONSL
≥					
≠RTS≡≡PC≡≥	103104	000207			3$:	RTS	PC		;ALL, RETURN TO ROUTINE
≥					
≤PMSG≡≥					PCF:	PMSG	<PCF/ >
≡$PMSG≡≡$PMSG≡≥	103106	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103110	145064				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡PCFTBL≡≡R5≡≥	103112	012705	103214			MOV	#PCFTBL,R5
≠CLR≡≡R4≡≥	103116	005004				CLR	R4		;R4 ZERO IF THIS IS FIRST FROB TYPED
≠MOVB≡≡R5≡≡R0≡≥	103120	112500			1$:	MOVB	(R5)+,R0	;GET DIAG FUNC FOR NEXT BIT
≠BEQ≡≥	103122	001433				BEQ	9$		;BR IF END OF TABLE
≡DFRD≡≡DFRD≡≥	103124	104116				DFRD			;GET BIT INTO DTE REG
≠MOV≡≡.DAT1≡≡R2≡≥	103126	017702	054174			MOV	@.DAT1,R2	;BITS 0-3
≠MOV≡≡.DAT2≡≡R1≡≥	103132	017701	054166			MOV	@.DAT2,R1	;BITS 4-19
≠.REPT≡≥		000004				.REPT 4
≥						 ASL R1
≥						 ROL R2
≥						.ENDR			;BITS 0-7 (4.9-4.2) RIGHT ALIGNED IN R2
≠ASL≡≡R1≡≥	103136	006301				 ASL R1
≠ROL≡≡R2≡≥	103140	006102				 ROL R2
≠ASL≡≡R1≡≥	103142	006301				 ASL R1
≠ROL≡≡R2≡≥	103144	006102				 ROL R2
≠ASL≡≡R1≡≥	103146	006301				 ASL R1
≠ROL≡≡R2≡≥	103150	006102				 ROL R2
≠ASL≡≡R1≡≥	103152	006301				 ASL R1
≠ROL≡≡R2≡≥	103154	006102				 ROL R2
≠MOVB≡≡R5≡≡R1≡≥	103156	112501				MOVB	(R5)+,R1	;GET MASK FOR BIT OF INTEREST
≠BPL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 92
	CONS11 PAL[KL,SYS]	Page 19.1 	DIAGNOSTIC FUNCTIONS

≥	103160	100002				BPL	2$
≠COM≡≡R2≡≥	103162	005102				COM	R2		;BIT BACKWARDS IN HARDWARE
≠NEG≡≡R1≡≥	103164	005401				NEG	R1
≠MOV≡≡R5≡≡R0≡≥	103166	012500			2$:	MOV	(R5)+,R0	;GET POINTER TO BIT NAME STRING
≠BIT≡≡R1≡≡R2≡≥	103170	030102				BIT	R1,R2
≠BEQ≡≥	103172	001406				BEQ	3$
≠TST≡≡R4≡≥	103174	005704				TST	R4		;IF NOT FIRST, PUT A COMMA, SPACE
≠BEQ≡≥	103176	001402				BEQ	4$
≡PNTCI≡≡PNTCI≡≥	103200	104214				PNTCI
≥	103202	020054				  ", 
≡PNTAL≡≡PNTAL≡≥	103204	104024			4$:	PNTAL			;BIT IS ON, GIVE NAME
≠INC≡≡R4≡≥	103206	005204				INC	R4
≠BR≡≥	103210	000743			3$:	BR	1$		;LOOP BACK FOR NEXT BIT
≥					
≠RTS≡≡PC≡≥	103212	000207			9$:	RTS PC
≥					
≥					;PC FLAGS TABLE
≥					;FIRST BYTE IS DIAG FCN, SECOND IS MASK FOR BIT (NEGATIVE => BIT COMPLEMENTED)
≥					;SECOND WORD -> ASCIZ BIT NAME			(Negative means more than 177)
≥					
≠.MACRO≡≤PCFTE≠≥					.MACRO PCFTE NAME,DFN,MASK
≥						.LIT $$ZZQ,<.ASCIZ\NAME\>
≥						.BYTE DFN,MASK
≥						.WORD $$ZZQ
≥					.ENDM
≥					
≤PCFTE≡≥					PCFTBL:	PCFTE OV,131,40
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\OV\>
≡$$CLC≠≥		103214					$$CLC=.
≡$$CLIT≡≥		145072					.=$$CLIT
≠.EVEN≡≥		145072					.EVEN
≡$$ZZQ≠≥		145072				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\OV\>,0
≠.IIF≡≠.ASCIZ≡≥	145072	   117		
≥	145073	   126		
≥	145074	   000		
≥						  .IIF	NB <.ASCIZ\OV\>,.ASCIZ\OV\
≠.EVEN≡≥		145076					.EVEN
≡$$CLIT≠≥		145076					$$CLIT=.
≡$$CLC≡≥		103214					.=$$CLC
≠.BYTE≡≥	103214	   131		
≥	103215	   040				.BYTE 131,40
≠.WORD≡≡$$ZZQ≡≥	103216	145072				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE CRY0,131,20
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\CRY0\>
≡$$CLC≠≥		103220					$$CLC=.
≡$$CLIT≡≥		145076					.=$$CLIT
≠.EVEN≡≥		145076					.EVEN
≡$$ZZQ≠≥		145076				  $$ZZQ=.
≠.IIF≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 93
	CONS11 PAL[KL,SYS]	Page 19.2 	DIAGNOSTIC FUNCTIONS

≥						  .IIF	B <.ASCIZ\CRY0\>,0
≠.IIF≡≠.ASCIZ≡≥	145076	   103		
≥	145077	   122		
≥	145100	   131		
≥	145101	   060		
≥	145102	   000		
≥						  .IIF	NB <.ASCIZ\CRY0\>,.ASCIZ\CRY0\
≠.EVEN≡≥		145104					.EVEN
≡$$CLIT≠≥		145104					$$CLIT=.
≡$$CLC≡≥		103220					.=$$CLC
≠.BYTE≡≥	103220	   131		
≥	103221	   020				.BYTE 131,20
≠.WORD≡≡$$ZZQ≡≥	103222	145076				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE CRY1,131,10
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\CRY1\>
≡$$CLC≠≥		103224					$$CLC=.
≡$$CLIT≡≥		145104					.=$$CLIT
≠.EVEN≡≥		145104					.EVEN
≡$$ZZQ≠≥		145104				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\CRY1\>,0
≠.IIF≡≠.ASCIZ≡≥	145104	   103		
≥	145105	   122		
≥	145106	   131		
≥	145107	   061		
≥	145110	   000		
≥						  .IIF	NB <.ASCIZ\CRY1\>,.ASCIZ\CRY1\
≠.EVEN≡≥		145112					.EVEN
≡$$CLIT≠≥		145112					$$CLIT=.
≡$$CLC≡≥		103224					.=$$CLC
≠.BYTE≡≥	103224	   131		
≥	103225	   010				.BYTE 131,10
≠.WORD≡≡$$ZZQ≡≥	103226	145104				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE FOV,132,20
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\FOV\>
≡$$CLC≠≥		103230					$$CLC=.
≡$$CLIT≡≥		145112					.=$$CLIT
≠.EVEN≡≥		145112					.EVEN
≡$$ZZQ≠≥		145112				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\FOV\>,0
≠.IIF≡≠.ASCIZ≡≥	145112	   106		
≥	145113	   117		
≥	145114	   126		
≥	145115	   000		
≥						  .IIF	NB <.ASCIZ\FOV\>,.ASCIZ\FOV\
≠.EVEN≡≥		145116					.EVEN
≡$$CLIT≠≥		145116					$$CLIT=.
≡$$CLC≡≥		103230					.=$$CLC
≠.BYTE≡≥	103230	   132		
≥	103231	   020				.BYTE 132,20
≠.WORD≡≡$$ZZQ≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 94
	CONS11 PAL[KL,SYS]	Page 19.3 	DIAGNOSTIC FUNCTIONS

≥	103232	145112				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE FPD,130,2
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\FPD\>
≡$$CLC≠≥		103234					$$CLC=.
≡$$CLIT≡≥		145116					.=$$CLIT
≠.EVEN≡≥		145116					.EVEN
≡$$ZZQ≠≥		145116				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\FPD\>,0
≠.IIF≡≠.ASCIZ≡≥	145116	   106		
≥	145117	   120		
≥	145120	   104		
≥	145121	   000		
≥						  .IIF	NB <.ASCIZ\FPD\>,.ASCIZ\FPD\
≠.EVEN≡≥		145122					.EVEN
≡$$CLIT≠≥		145122					$$CLIT=.
≡$$CLC≡≥		103234					.=$$CLC
≠.BYTE≡≥	103234	   130		
≥	103235	   002				.BYTE 130,2
≠.WORD≡≡$$ZZQ≡≥	103236	145116				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE USER,134,340
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\USER\>
≡$$CLC≠≥		103240					$$CLC=.
≡$$CLIT≡≥		145122					.=$$CLIT
≠.EVEN≡≥		145122					.EVEN
≡$$ZZQ≠≥		145122				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\USER\>,0
≠.IIF≡≠.ASCIZ≡≥	145122	   125		
≥	145123	   123		
≥	145124	   105		
≥	145125	   122		
≥	145126	   000		
≥						  .IIF	NB <.ASCIZ\USER\>,.ASCIZ\USER\
≠.EVEN≡≥		145130					.EVEN
≡$$CLIT≠≥		145130					$$CLIT=.
≡$$CLC≡≥		103240					.=$$CLC
≠.BYTE≡≥	103240	   134		
≥	103241	   340				.BYTE 134,340
≠.WORD≡≡$$ZZQ≡≥	103242	145122				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE IOTUSR,136,4
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\IOTUSR\>
≡$$CLC≠≥		103244					$$CLC=.
≡$$CLIT≡≥		145130					.=$$CLIT
≠.EVEN≡≥		145130					.EVEN
≡$$ZZQ≠≥		145130				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\IOTUSR\>,0
≠.IIF≡≠.ASCIZ≡≥	145130	   111		
≥	145131	   117		
≥	145132	   124		
≥	145133	   125		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 95
	CONS11 PAL[KL,SYS]	Page 19.4 	DIAGNOSTIC FUNCTIONS

≥	145134	   123		
≥	145135	   122		
≥	145136	   000		
≥						  .IIF	NB <.ASCIZ\IOTUSR\>,.ASCIZ\IOTUSR\
≠.EVEN≡≥		145140					.EVEN
≡$$CLIT≠≥		145140					$$CLIT=.
≡$$CLC≡≥		103244					.=$$CLC
≠.BYTE≡≥	103244	   136		
≥	103245	   004				.BYTE 136,4
≠.WORD≡≡$$ZZQ≡≥	103246	145130				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE PUBLIC,135,20
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\PUBLIC\>
≡$$CLC≠≥		103250					$$CLC=.
≡$$CLIT≡≥		145140					.=$$CLIT
≠.EVEN≡≥		145140					.EVEN
≡$$ZZQ≠≥		145140				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\PUBLIC\>,0
≠.IIF≡≠.ASCIZ≡≥	145140	   120		
≥	145141	   125		
≥	145142	   102		
≥	145143	   114		
≥	145144	   111		
≥	145145	   103		
≥	145146	   000		
≥						  .IIF	NB <.ASCIZ\PUBLIC\>,.ASCIZ\PUBLIC\
≠.EVEN≡≥		145150					.EVEN
≡$$CLIT≠≥		145150					$$CLIT=.
≡$$CLC≡≥		103250					.=$$CLC
≠.BYTE≡≥	103250	   135		
≥	103251	   020				.BYTE 135,20
≠.WORD≡≡$$ZZQ≡≥	103252	145140				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE ADB INH,137,40
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\ADB INH\>
≡$$CLC≠≥		103254					$$CLC=.
≡$$CLIT≡≥		145150					.=$$CLIT
≠.EVEN≡≥		145150					.EVEN
≡$$ZZQ≠≥		145150				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\ADB INH\>,0
≠.IIF≡≠.ASCIZ≡≥	145150	   101		
≥	145151	   104		
≥	145152	   102		
≥	145153	   040		
≥	145154	   111		
≥	145155	   116		
≥	145156	   110		
≥	145157	   000		
≥						  .IIF	NB <.ASCIZ\ADB INH\>,.ASCIZ\ADB INH\
≠.EVEN≡≥		145160					.EVEN
≡$$CLIT≠≥		145160					$$CLIT=.
≡$$CLC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 96
	CONS11 PAL[KL,SYS]	Page 19.5 	DIAGNOSTIC FUNCTIONS

≥		103254					.=$$CLC
≠.BYTE≡≥	103254	   137		
≥	103255	   040				.BYTE 137,40
≠.WORD≡≡$$ZZQ≡≥	103256	145150				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE TRP 2,130,40
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\TRP 2\>
≡$$CLC≠≥		103260					$$CLC=.
≡$$CLIT≡≥		145160					.=$$CLIT
≠.EVEN≡≥		145160					.EVEN
≡$$ZZQ≠≥		145160				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\TRP 2\>,0
≠.IIF≡≠.ASCIZ≡≥	145160	   124		
≥	145161	   122		
≥	145162	   120		
≥	145163	   040		
≥	145164	   062		
≥	145165	   000		
≥						  .IIF	NB <.ASCIZ\TRP 2\>,.ASCIZ\TRP 2\
≠.EVEN≡≥		145166					.EVEN
≡$$CLIT≠≥		145166					$$CLIT=.
≡$$CLC≡≥		103260					.=$$CLC
≠.BYTE≡≥	103260	   130		
≥	103261	   040				.BYTE 130,40
≠.WORD≡≡$$ZZQ≡≥	103262	145160				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE TRP 1,130,4
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\TRP 1\>
≡$$CLC≠≥		103264					$$CLC=.
≡$$CLIT≡≥		145166					.=$$CLIT
≠.EVEN≡≥		145166					.EVEN
≡$$ZZQ≠≥		145166				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\TRP 1\>,0
≠.IIF≡≠.ASCIZ≡≥	145166	   124		
≥	145167	   122		
≥	145170	   120		
≥	145171	   040		
≥	145172	   061		
≥	145173	   000		
≥						  .IIF	NB <.ASCIZ\TRP 1\>,.ASCIZ\TRP 1\
≠.EVEN≡≥		145174					.EVEN
≡$$CLIT≠≥		145174					$$CLIT=.
≡$$CLC≡≥		103264					.=$$CLC
≠.BYTE≡≥	103264	   130		
≥	103265	   004				.BYTE 130,4
≠.WORD≡≡$$ZZQ≡≥	103266	145166				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE FXU,132,10
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\FXU\>
≡$$CLC≠≥		103270					$$CLC=.
≡$$CLIT≡≥		145174					.=$$CLIT
≠.EVEN≡≥		145174					.EVEN
≡$$ZZQ≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 97
	CONS11 PAL[KL,SYS]	Page 19.6 	DIAGNOSTIC FUNCTIONS

≥		145174				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\FXU\>,0
≠.IIF≡≠.ASCIZ≡≥	145174	   106		
≥	145175	   130		
≥	145176	   125		
≥	145177	   000		
≥						  .IIF	NB <.ASCIZ\FXU\>,.ASCIZ\FXU\
≠.EVEN≡≥		145200					.EVEN
≡$$CLIT≠≥		145200					$$CLIT=.
≡$$CLC≡≥		103270					.=$$CLC
≠.BYTE≡≥	103270	   132		
≥	103271	   010				.BYTE 132,10
≠.WORD≡≡$$ZZQ≡≥	103272	145174				.WORD $$ZZQ
≤PCFTE≡≥						PCFTE DIV,131,2
≤.LIT≡≥						.LIT $$ZZQ,<.ASCIZ\DIV\>
≡$$CLC≠≥		103274					$$CLC=.
≡$$CLIT≡≥		145200					.=$$CLIT
≠.EVEN≡≥		145200					.EVEN
≡$$ZZQ≠≥		145200				  $$ZZQ=.
≠.IIF≡≥						  .IIF	B <.ASCIZ\DIV\>,0
≠.IIF≡≠.ASCIZ≡≥	145200	   104		
≥	145201	   111		
≥	145202	   126		
≥	145203	   000		
≥						  .IIF	NB <.ASCIZ\DIV\>,.ASCIZ\DIV\
≠.EVEN≡≥		145204					.EVEN
≡$$CLIT≠≥		145204					$$CLIT=.
≡$$CLC≡≥		103274					.=$$CLC
≠.BYTE≡≥	103274	   131		
≥	103275	   002				.BYTE 131,2
≠.WORD≡≡$$ZZQ≡≥	103276	145200				.WORD $$ZZQ
≥	103300	000000				0
≥					
≡TTITRM≡≡TTITRM≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 98
	CONS11 PAL[KL,SYS]	Page 20 	DIAGNOSTIC FUNCTIONS

≥	103302	104022			.FE:	TTITRM
≤PMSGR≡≥					$ALLFE:	PMSGR	<FE/>
≡$PMSGR≡≡$PMSGR≡≥	103304	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	103306	145204				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPFE≡≡R4≡≥	103310	012704	000132			MOV	#DPFE,R4
≠BR≡≡FESCP≡≥	103314	000405				BR	FESCP
≥					
≡TTITRM≡≡TTITRM≡≥	103316	104022			.SC:	TTITRM
≤PMSGR≡≥					$ALLSC:	PMSGR	<SC/>
≡$PMSGR≡≡$PMSGR≡≥	103320	104026				  $PMSGR
≡$$CLIT≡≡$$CLIT≡≥	103322	145210				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DPSC≡≡R4≡≥	103324	012704	000130			MOV	#DPSC,R4
≡DFLEGA≡≡DFLEGA≡≥	103330	104226			FESCP:	DFLEGAL			;FUNCTION LEGAL ?
≠MOV≡≡R4≡≡R0≡≥	103332	010400				MOV	R4,R0
≡DFRD≡≡DFRD≡≥	103334	104116				DFRD
≥					
≠MOV≡≡.DAT2≡≡R3≡≥	103336	017703	053762			MOV	@.DAT2,R3	;GET LO-ORDER 5 BITS
≠SWAB≡≡R3≡≥	103342	000303				SWAB	R3		;FROM 7-11 OF DEXWDS
≠BIC≡≡R3≡≥	103344	042703	177740			BIC	#177740,R3
≥					
≠MOV≡≡R4≡≡R0≡≥	103350	010400				MOV	R4,R0
≠INC≡≡R0≡≥	103352	005200				INC	R0
≡DFRD≡≡DFRD≡≥	103354	104116				DFRD
≥					
≠MOV≡≡.DAT2≡≡R0≡≥	103356	017700	053742			MOV	@.DAT2,R0	;GET HI-ORDER 5 BITS
≡SHIFTR≡≡SHIFTR≡≥	103362	104053				SHIFTR
≥	103364	000003				3
≠BIC≡≡R0≡≥	103366	042700	176037			BIC	#176037,R0
≠BIS≡≡R3≡≡R0≡≥	103372	050300				BIS	R3,R0		;COMBINE HI & LO ORDER BITS
≥					
≠TSTB≡≡RPTFLG≡≥	103374	105737	147732			TSTB	RPTFLG
≠BNE≡≥	103400	001003				BNE	1$
≡PNTODT≡≡PNTODT≡≥	103402	104047				PNTODT
≥	103404	000004				4
≡PSPACE≡≡PSPACE≡≥	103406	104032				PSPACE
≠JMP≡≡ALLEXT≡≥	103410	000137	102262		1$:	JMP	ALLEXT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 99
	CONS11 PAL[KL,SYS]	Page 21 	DIAGNOSTIC FUNCTIONS

≥					;PRINT PRIORITY INTERRUPT FUNCTIONS
≥					
≡DFLEGA≡≡DFLEGA≡≥	103414	104226			.PI:	DFLEGAL			;FUNCTION LEGAL ?
≡TTITRM≡≡TTITRM≡≥	103416	104022				TTITRM
≡$ALLPI≠≥		103420			$ALLPI=.
≠JSR≡≡PC≡≡$ALPIG≡≥	103420	004737	103452			JSR	PC,$ALPIG	;PRINT PI GENS
≠JSR≡≡PC≡≡$ALPIH≡≥	103424	004737	103504			JSR	PC,$ALPIH	;PRINT PI HOLDS
≠JSR≡≡PC≡≡$ALPIO≡≥	103430	004737	103536			JSR	PC,$ALPIO	;PRINT PI ON'S
≠TST≡≡ALLFLG≡≥	103434	005737	147734			TST	ALLFLG
≠BNE≡≥	103440	001003				BNE	1$
≡PCRLF≡≡PCRLF≡≥	103442	104031				PCRLF
≠JMP≡≡$KONSL≡≥	103444	000137	100230			JMP	$KONSL
≥					
≠RTS≡≡PC≡≥	103450	000207			1$:	RTS	PC		;ALL, RETURN TO ROUTINE
≥					
≤PMSG≡≥					$ALPIG:	PMSG	<PI GEN/>
≡$PMSG≡≡$PMSG≡≥	103452	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103454	145214				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFRDT≡≡DFRDT≡≥	103456	104140				DFRDT
≡READ1≡≡READ1≡≥	103460	000101				  READ1			;READ PI GENS
≥									;FR 101, BITS 11-17
≠MOV≡≡.DAT2≡≡R0≡≥	103462	017700	053636		$ALPIY:	MOV	@.DAT2,R0
≡SHIFTR≡≡SHIFTR≡≥	103466	104053				SHIFTR
≥	103470	000002				  2
≥					
≠BIC≡≡R0≡≥	103472	042700	177600		$ALPIX:	BIC	#177600,R0	;DATA IS ONLY 7 BITS
≡PNTODT≡≡PNTODT≡≥	103476	104047				PNTODT
≥	103500	000003				  3
≠RTS≡≡PC≡≥	103502	000207				RTS	PC
≥					
≤PMSG≡≥					$ALPIH:	PMSG	< PI HOLD/>
≡$PMSG≡≡$PMSG≡≥	103504	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103506	145224				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFRDT≡≡DFRDT≡≥	103510	104140				DFRDT
≡READ0≡≡READ0≡≥	103512	000100				  READ0			;READ PI HOLDS
≠MOV≡≡.DAT2≡≡R0≡≥	103514	017700	053604			MOV	@.DAT2,R0	;FR 100, BITS 03-09
≠MOV≡≡.DAT1≡≡R1≡≥	103520	017701	053602			MOV	@.DAT1,R1
≠ROR≡≡R1≡≥	103524	006001				ROR	R1
≠ROR≡≡R0≡≥	103526	006000				ROR	R0
≡SHIFTR≡≡SHIFTR≡≥	103530	104053				SHIFTR
≥	103532	000011				  9.
≠BR≡≡$ALPIX≡≥	103534	000756				BR	$ALPIX
≥					
≤PMSG≡≥					$ALPIO:	PMSG	< PI ON/>
≡$PMSG≡≡$PMSG≡≥	103536	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103540	145236				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFRDT≡≡DFRDT≡≥	103542	104140				DFRDT
≡READ0≡≡READ0≡≥	103544	000100				  READ0			;READ PI ONS
≠BR≡≡$ALPIY≡≥	103546	000745				BR	$ALPIY		;FR 100, BITS 11-17
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 100
	CONS11 PAL[KL,SYS]	Page 22 	DIAGNOSTIC FUNCTIONS

≥					;PRINT ALL - C-RAM & REGISTERS
≥					
≡TTICHR≡≡TTICHR≡≥	103550	104005			.ALL:	TTICHR
≠BCS≡≥	103552	103410				 BCS	1$
≠CMPB≡≡R0≡≥	103554	122700	000114			CMPB	#'L,R0
≠BNE≡≥	103560	001005				BNE	1$
≡TTITRM≡≡TTITRM≡≥	103562	104022				TTITRM
≡DFLEGA≡≡DFLEGA≡≥	103564	104226				DFLEGAL			;FUNCTION LEGAL ?
≡PNTCPU≡≡PNTCPU≡≥	103566	104132				PNTCPU
≠JMP≡≡$KONSL≡≥	103570	000137	100230			JMP	$KONSL
≠JMP≡≡$DFERR≡≥	103574	000137	102102		1$:	JMP	$DFERR		;ERROR
≥					
≡SETFLG≡≡SETFLG≡≥	103600	104055			$PNTCPU:SETFLG
≡ALLFLG≡≡ALLFLG≡≥	103602	147734				  ALLFLG		;SET ALL FLAG
≤PUSH≡≥						PUSH	RPTFLG
≠.NLIST≡≠.IRP≡≠MOV≡≡RPTFLG≡≡SP≡≠.LIST≡≠CLR≡≡RPTFLG≡≥	103610	005037	147732			CLR	RPTFLG
≥					
≠JSR≡≡PC≡≡$ALLEC≡≥	103614	004737	126274			JSR	PC,$ALLEC	;PRINT C-RAM
≥					
≠JSR≡≡PC≡≡$ALLAR≡≥	103620	004737	102414			JSR	PC,$ALLAR	;PRINT AR
≠JSR≡≡PC≡≡$ALLBR≡≥	103624	004737	102526			JSR	PC,$ALLBR	;PRINT BR
≠JSR≡≡PC≡≡$ALLAD≡≥	103630	004737	102464			JSR	PC,$ALLAD	;PRINT ADDER
≠JSR≡≡PC≡≡$ALLSC≡≥	103634	004737	103320			JSR	PC,$ALLSC	;PRINT SC
≠JSR≡≡PC≡≡$ALLPC≡≥	103640	004737	102642			JSR	PC,$ALLPC	;PRINT PC
≡PCRLF≡≡PCRLF≡≥	103644	104031				PCRLF
≥					
≠JSR≡≡PC≡≡$ALARX≡≥	103646	004737	102430			JSR	PC,$ALARX	;PRINT ARX
≠JSR≡≡PC≡≡$ALBRX≡≥	103652	004737	102542			JSR	PC,$ALBRX	;PRINT BRX
≠JSR≡≡PC≡≡$ALADX≡≥	103656	004737	102500			JSR	PC,$ALADX	;PRINT ADX
≠JSR≡≡PC≡≡$ALLFE≡≥	103662	004737	103304			JSR	PC,$ALLFE	;PRINT FE
≠JSR≡≡PC≡≡$ALVMA≡≥	103666	004737	102760			JSR	PC,$ALVMA	;PRINT VMA
≡PCRLF≡≡PCRLF≡≥	103672	104031				PCRLF
≥					
≠JSR≡≡PC≡≡$ALLMQ≡≥	103674	004737	102306			JSR	PC,$ALLMQ	;PRINT MQ
≠JSR≡≡PC≡≡$ALLFM≡≥	103700	004737	102324			JSR	PC,$ALLFM	;PRINT FM
≠JSR≡≡PC≡≡$ALLEB≡≥	103704	004737	102570			JSR	PC,$ALLEB	;PRINT EBUS REGISTER
≠JSR≡≡PC≡≡$ALVMH≡≥	103710	004737	102776			JSR	PC,$ALVMH	;PRINT VMA HELD
≡PCRLF≡≡PCRLF≡≥	103714	104031				PCRLF
≥					
≠JSR≡≡PC≡≡$ALPIG≡≥	103716	004737	103452			JSR	PC,$ALPIG	;PRINT PI GENS
≠JSR≡≡PC≡≡$ALPIH≡≥	103722	004737	103504			JSR	PC,$ALPIH	;PRINT PI HOLDS
≠JSR≡≡PC≡≡$ALPIO≡≥	103726	004737	103536			JSR	PC,$ALPIO	;PRINT PI ON'S
≤POP≡≥						POP	RPTFLG
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡RPTFLG≡≠.LIST≡≡PCRLF≡≡PCRLF≡≥	103736	104031				PCRLF
≠CLR≡≡ALLFLG≡≥	103740	005037	147734			CLR	ALLFLG
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	103744	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 101
	CONS11 PAL[KL,SYS]	Page 23 	PDP-10 START/STOP FUNCTIONS

≥					.SBTTL	PDP-10 START/STOP FUNCTIONS
≥					
≥					;THESE REQUIRE STANDARD MICROCODE TO DO ANYTHING WORTHWHILE!
≥					
≥					;STOP PDP-10, CLEAR RUN FLOP
≥					
≡TTITRM≡≡TTITRM≡≥	103750	104022			$SP:	TTITRM
≡TENSP≡≡TENSP≡≥	103752	104077				TENSP			;STOP TEN
≠BCC≡≥	103754	103002				BCC	1$
≠JMP≡≡.XCTER≡≥	103756	000137	104566			JMP	.XCTER		;DID NOT STOP PROPERLY
≠CLR≡≡PRGRUN≡≥	103762	005037	147614		1$:	CLR	PRGRUN
≤PMSG≡≥						PMSG	<\KL10 STOPPED >
≡$PMSG≡≡$PMSG≡≥	103766	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	103770	145246				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡PC≡≡$ALSTA≡≥	103772	004737	107732			JSR	PC,$ALSTA	;PRINT PC,VMA,PI,PCF AND A CRLF
≠BR≡≡$RNX≡≥	103776	000443				BR	$RNX		;HOPE ENOUGH DELAY BUILT IN
≥					
≥					;CONTINUE PDP-10 FROM OLD PC. ASSUME CLOCK MAY BE OFF
≥					
≡TTITRM≡≡TTITRM≡≥	104000	104022			$RN:	TTITRM
≥					
≠CLR≡≡CLKPE≡≥	104002	005037	157264		$RNN:	CLR	CLKPE		;CLEAR CLOCK PARITY ENABLES
≠MOV≡≡R2≡≥	104006	012702	000020			MOV	#20,R2
≠MOV≡≡PEBITS≡≡R1≡≥	104012	013701	157262			MOV	PEBITS,R1	;GET ENABLE BITS
≠BEQ≡≥	104016	001410				BEQ	2$		;NOT ENABLED
≠BIT≡≡R2≡≡R1≡≥	104020	030201				BIT	R2,R1		;AR/ARX PARITY ENABLED ?
≠BEQ≡≥	104022	001403				BEQ	1$		;NO
≠BIS≡≡CLKPE≡≥	104024	052737	000002	157264		BIS	#2,CLKPE	;YES, SET ENABLE BIT
≠BIS≡≡CLKPE≡≥	104032	052737	000001	157264	1$:	BIS	#1,CLKPE	;SET CLOCK STOP ENABLE
≥					
≡DFWRTT≡≡DFWRTT≡≥	104040	104141			2$:	DFWRTT
≡CLKPE≡≡CLKPE≡≥	104042	157264				  CLKPE
≡LDCHK2≡≡LDCHK2≡≥	104044	000047				  LDCHK2		;LOAD ENABLE FUNCTION REGISTER
≥					
≠BIC≡≡R2≡≡R1≡≥	104046	040201			3$:	BIC	R2,R1
≠MOV≡≡R1≡≡CLKPE≡≥	104050	010137	157264			MOV	R1,CLKPE	;SETUP FM,CRAM,DRAM, FS
≡DFWRTT≡≡DFWRTT≡≥	104054	104141				DFWRTT
≡CLKPE≡≡CLKPE≡≥	104056	157264				  CLKPE
≡LDCHK1≡≡LDCHK1≡≥	104060	000046				  LDCHK1		;LOAD CONDITION ENABLE REGISTER
≥					
≡DFXCTT≡≡DFXCTT≡≥	104062	104115				DFXCTT			;GET CLOCK RUNNING
≡STRCLK≡≡STRCLK≡≥	104064	000001				  STRCLK
≡DFXCTT≡≡DFXCTT≡≥	104066	104115				DFXCTT			;SET RUN AND LET 'ER GO
≡SETRUN≡≡SETRUN≡≥	104070	000011				  SETRUN
≡DFXCTT≡≡DFXCTT≡≥	104072	104115				DFXCTT			;SET CONTINUE BUTTON
≡CONBUT≡≡CONBUT≡≥	104074	000012				  CONBUT
≡SETFLG≡≡SETFLG≡≥	104076	104055				SETFLG
≡TENRUN≡≡TENRUN≡≥	104100	147670				  TENRUN		;SET TEN RUN FLAG
≡SETFLG≡≡SETFLG≡≥	104102	104055				SETFLG
≡PRGRUN≡≡PRGRUN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 102
	CONS11 PAL[KL,SYS]	Page 23.1 	PDP-10 START/STOP FUNCTIONS

≥	104104	147614				  PRGRUN		;SET PROGRAM RUNNING FLAG
≠JMP≡≡$KONSL≡≥	104106	000137	100230		$RNX:	JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 103
	CONS11 PAL[KL,SYS]	Page 24 	PDP-10 START/STOP FUNCTIONS

≥					;START PDP-10 DDT
≥					
≡TTISDL≡≡TTISDL≡≥	104112	104016			$DDTX:	TTISDL
≠BCS≡≥	104114	103402				 BCS	1$		;NON-NUMBER
≠JMP≡≡$DD≡≥	104116	000137	127046			JMP	$DD		;NUMBER, MUST BE FOR D-RAM
≥					
≠CMPB≡≡R0≡≥	104122	122700	000124		1$:	CMPB	#'T,R0
≠BEQ≡≥	104126	001402				BEQ	2$		;"DDT", START PDP-10 AT "DDTSRT"
≠JMP≡≡$DFERR≡≥	104130	000137	102102			JMP	$DFERR
≥					
≡TTITRM≡≡TTITRM≡≥	104134	104022			2$:	TTITRM
≡DFLEGA≡≡DFLEGA≡≥	104136	104226				DFLEGAL			;DON'T DO THIS IF ALREADY RUNNING
≠MOV≡≡TDDT≡≡$$STJR≡≥	104140	013737	100070	157222		MOV	TDDT,$$STJRS	;SETUP JRST INSTRUCTION
≠MOVB≡≡TDDT≡≡$$STJR≡≥	104146	113737	100072	157224		MOVB	TDDT+2,$$STJRS+2
≥					;CAN'T ENTER DDT WHILE IN USER MODE.
≡DFRDT≡≡DFRDT≡≥	104154	104140				DFRDT
≥	104156	000134				 134
≠BIT≡≡.DAT1≡≥	104160	032777	000002	053140		BIT	#2,@.DAT1
≠BNE≡≥	104166	001004				BNE	3$		;BRANCH IF IN EXEC MODE
≤PMSG≡≥						PMSG	<?Can't. KL10 in USER mode.>
≡$PMSG≡≡$PMSG≡≥	104170	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	104172	145265				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	104174	000137	100004			JMP	$CNTLC
≥					
≠CLR≡≡TENTTY≡≥	104200	005037	150022		3$:	CLR 	TENTTY
≠MOV≡≡$$STJR≡≡R0≡≥	104204	012700	157222			MOV	#$$STJRS,R0
≡EXCT≡≡EXCT≡≥	104210	104101				EXCT			;EXECUTE JRST TO START DDT
≠BCC≡≡$RNN≡≥	104212	103273				BCC	$RNN		;GO SAY -10 IS RUNNING
≠JMP≡≡.XCTER≡≥	104214	000137	104566		$DDTER:	JMP	.XCTER		;OR BARF IF MICRO CODE IS HUNG
≥					
≥					;SINGLE INSTRUCT PDP-10. ASSUME CLOCK IS RUNNING AND RUN IS SET
≥					
≡TENSP≡≡TENSP≡≥	104220	104077			$SI:	TENSP			;STOP TEN
≠BCS≡≡$DDTER≡≥	104222	103774				BCS	$DDTER		;DID NOT STOP PROPERLY
≠CLR≡≡R5≡≥	104224	005005				CLR	R5
≡TTISDL≡≡TTISDL≡≥	104226	104016				TTISDL
≠BCS≡≥	104230	103412				 BCS	4$		;NON-NUMBER
≡TTIDEC≡≡TTIDEC≡≥	104232	104011				TTIDEC
≠BCS≡≥	104234	103401				 BCS	2$		;NO ARG, DO ONCE
≠MOV≡≡R0≡≡R5≡≥	104236	010005				MOV	R0,R5
≡DFXCTT≡≡DFXCTT≡≥	104240	104115			2$:	DFXCTT			;PRESS CONTINUE PULSER
≡CONBUT≡≡CONBUT≡≥	104242	000012				  CONBUT
≡TDELAY≡≡TDELAY≡≥	104244	104056				TDELAY			;SMALL TIME DELAY
≠DEC≡≡R5≡≥	104246	005305				DEC	R5		;COMPLETED REQUESTED INSTRUCTIONS ?
≠BGT≡≥	104250	003373				BGT	2$
≠JMP≡≡$KONSL≡≥	104252	000137	100230			JMP	$KONSL		;YES, RETURN TO CONSOLE
≥					
≠CMPB≡≡R0≡≥	104256	122700	000120		4$:	CMPB	#'P,R0
≠BNE≡≥	104262	001366				BNE	2$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 104
	CONS11 PAL[KL,SYS]	Page 24.1 	PDP-10 START/STOP FUNCTIONS

≥					
≡TTITRM≡≡TTITRM≡≥	104264	104022			5$:	TTITRM			;"SIP",SINGLE INSTRUCT AND PRINT
≡DFXCTT≡≡DFXCTT≡≥	104266	104115				DFXCTT			;STOP CLOCK
≡STPCLK≡≡STPCLK≡≥	104270	000000				  STPCLK
≠JMP≡≡SIPNT≡≥	104272	000137	104466			JMP	SIPNT		;REST SAME AS LAST OF "EXP"
≥					
≥					;DIAGNOSTIC FUNCTION LEGALITY CHECK
≥					
≠TST≡≡TENRUN≡≥	104276	005737	147670		$DFLEGAL:TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
≠BNE≡≥	104302	001002				BNE	1$		;YES, OPERATION ILLEGAL, ABORT
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	104304	000137	124064			  JMP	$EXIT
≤PMSG≡≥					1$:	PMSG	<?KL10 RUNNING, TYPE "SP" FIRST>
≡$PMSG≡≡$PMSG≡≥	104310	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	104312	145320				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$$$CC≡≥	104314	000137	100624			JMP	$$$CC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 105
	CONS11 PAL[KL,SYS]	Page 25 	PDP-10 START/STOP FUNCTIONS

≥					;PULSE THE E-BOX CLOCK
≥					
≡DFLEGA≡≡DFLEGA≡≥	104320	104226			.PL:	DFLEGAL			;FUNCTION LEGAL ?
≠CLR≡≡TENCLK≡≥	104322	005037	152216			CLR	TENCLK		;TURN OFF CLOCK IF ON
≡TTISDL≡≡TTISDL≡≥	104326	104016				TTISDL
≠BCS≡≥	104330	103404				 BCS	1$		;NO ARG, DO ONCE
≡TTIDEC≡≡TTIDEC≡≥	104332	104011				TTIDEC
≠BCS≡≥	104334	103402				 BCS	1$		;DO ONCE ANYWAY
≠MOV≡≡R0≡≡R1≡≥	104336	010001				MOV	R0,R1		;SAVE PULSE COUNT
≠BR≡≥	104340	000401				BR	2$
≠CLR≡≡R1≡≥	104342	005001			1$:	CLR	R1
≡ECLOK≡≡ECLOK≡≥	104344	104135			2$:	ECLOK
≠BCC≡≥	104346	103002				 BCC	3$
≠JSR≡≡R1≡≡$ECTIM≡≥	104350	004137	141100			JSR	R1,$ECTIM
≠DEC≡≡R1≡≥	104354	005301			3$:	DEC	R1		;DONE REQUESTED CLOCKS ?
≠BGT≡≥	104356	003372				BGT	2$		;NOT YET
≠JMP≡≡$KONSL≡≥	104360	000137	100230		.PLX:	JMP	$KONSL
≥					
≥					;START MICROCODE IDLE.
≥					;SUPPORT EXAMINE, DEPOSIT, AND EXECUTE OPERATIONS.
≥					
≡TTITRM≡≡TTITRM≡≥	104364	104022			.SM:	TTITRM
≡SM≡≡SM≡≥	104366	104100				SM			;DO THE EMT
≠BCS≡≡.XCTER≡≥	104370	103476				BCS	.XCTER
≠BR≡≡.PLX≡≥	104372	000772				BR	.PLX
≥					
≥					;CACHE INVALIDATE
≥					
≠MOV≡≡$$CI≡≡R0≡≥	104374	012700	104420		.CI:	MOV	#$$CI,R0
≥					
≡TTITRM≡≡TTITRM≡≥	104400	104022			.CIF:	TTITRM
≡DFLEGA≡≡DFLEGA≡≥	104402	104226				DFLEGAL			;FUNCTION LEGAL ?
≡EXCT≡≡EXCT≡≥	104404	104101				EXCT
≠BCS≡≡.XCTER≡≥	104406	103467				 BCS	.XCTER		;FAILED
≠BR≡≡.PLX≡≥	104410	000763				BR	.PLX		;OK, RETURN TO CONSOLE
≥					
≥					;CACHE FLUSH
≥					
≠MOV≡≡$$CF≡≡R0≡≥	104412	012700	104425		.CF:	MOV	#$$CF,R0
≠BR≡≡.CIF≡≥	104416	000770				BR	.CIF
≥					
≤IO10≡≥					$$CI:	IO10	DATAI,CCA,,0	;INVALIDATE WITHOUT CORE UPDATE
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 106
	CONS11 PAL[KL,SYS]	Page 25.1 	PDP-10 START/STOP FUNCTIONS

≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,0
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡DATAI≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡CCA≡≡DATAI≡≡CCA≡≠.LIST≡≤IO10≡≥					$$CF:	IO10	BLKO,CCA,,0	;SWEEP CACHE, VALIDATING CORE
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,0
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡BLKO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡CCA≡≡BLKO≡≡CCA≡≠.LIST≡≠.EVEN≡≥		104432			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 107
	CONS11 PAL[KL,SYS]	Page 26 	PDP-10 START/STOP FUNCTIONS

≥					;EXECUTE A PDP10 INSTRUCTION.
≥					
≡TENSP≡≡TENSP≡≥	104432	104077			.XCT:	TENSP			;STOP TEN
≠BCS≡≡.XCTER≡≥	104434	103454				BCS	.XCTER		;DID NOT STOP PROPERLY
≥					
≡TTISDL≡≡TTISDL≡≥	104436	104016				TTISDL
≠BCS≡≥	104440	103404				 BCS	1$		;NON-NUMBER
≥					
≡TTIS36≡≡TTIS36≡≥	104442	104020				TTIS36
≥					
≡EXCT≡≡EXCT≡≥	104444	104101				EXCT
≠BCS≡≡.XCTER≡≥	104446	103447				 BCS	.XCTER
≥					
≠BR≡≡.XCT2≡≥	104450	000433				BR	.XCT2
≥					
≠CMPB≡≡R0≡≥	104452	122700	000120		1$:	CMPB	#'P,R0		;"EXP" = EXECUTE & PRINT
≠BNE≡≡.XCT1≡≥	104456	001032				BNE	.XCT1
≥					
≡TTIS36≡≡TTIS36≡≥	104460	104020				TTIS36
≥					
≡LODAR≡≡LODAR≡≥	104462	104102				LODAR			;LOAD INTO AR
≠BCS≡≡.XCTER≡≥	104464	103440				 BCS	.XCTER
≥					
≡SIPNT≠≥		104466			SIPNT=.
≡PNORML≡≡PNORML≡≥	104466	104044				PNORML
≡DFXCTT≡≡DFXCTT≡≥	104470	104115				DFXCTT			;SET CONTINUE BUTTON
≡CONBUT≡≡CONBUT≡≥	104472	000012				  CONBUT
≥					
≡ECLOK≡≡ECLOK≡≥	104474	104135			2$:	ECLOK			;CLOCK TO GET STARTED
≠BCC≡≥	104476	103002				 BCC	3$
≠JSR≡≡R1≡≡$ECTIM≡≥	104500	004137	141100			JSR	R1,$ECTIM
≥					
≠BIT≡≡HALTLP≡≡.DIAG1≡≥	104504	032777	001000	052636	3$:	BIT	#HALTLP,@.DIAG1
≠BNE≡≥	104512	001370				BNE	2$		;TILL WE LEAVE HALT LOOP
≡PNTCPU≡≡PNTCPU≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 108
	CONS11 PAL[KL,SYS]	Page 27 	PDP-10 START/STOP FUNCTIONS

≥	104514	104132				PNTCPU			;PRINT C-RAM & REGISTERS
≥					
≡ECLOK≡≡ECLOK≡≥	104516	104135			4$:	ECLOK			;CLOCK
≠BCC≡≥	104520	103002				 BCC	5$
≠JSR≡≡R1≡≡$ECTIM≡≥	104522	004137	141100			JSR	R1,$ECTIM
≥					
≡PNTCPU≡≡PNTCPU≡≥	104526	104132			5$:	PNTCPU			;& PRINT TILL BACK TO HALT LOOP
≥					
≠BIT≡≡HALTLP≡≡.DIAG1≡≥	104530	032777	001000	052612		BIT	#HALTLP,@.DIAG1
≠BEQ≡≥	104536	001767				BEQ	4$
≥					
≠JMP≡≡$KONSL≡≥	104540	000137	100230		.XCT2:	JMP	$KONSL
≥					
≠CMPB≡≡R0≡≥	104544	122700	000124		.XCT1:	CMPB	#'T,R0		;"EXT" = EXECUTE & TRACE SETUP
≠BNE≡≡.CNSER≡≥	104550	001012				BNE	.CNSER
≥					
≡TTIS36≡≡TTIS36≡≥	104552	104020				TTIS36
≥					
≡LODAR≡≡LODAR≡≥	104554	104102				LODAR			;LOAD INTO AR
≠BCS≡≡.XCTER≡≥	104556	103403				 BCS	.XCTER
≥					
≡DFXCTT≡≡DFXCTT≡≥	104560	104115				DFXCTT			;SET CONTINUE BUTTON
≡CONBUT≡≡CONBUT≡≥	104562	000012				  CONBUT
≥					
≠BR≡≡.XCT2≡≥	104564	000765				BR	.XCT2
≥					
≤PMSG≡≥					.XCTER:	PMSG	<?UCODE HUNG>
≡$PMSG≡≡$PMSG≡≥	104566	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	104570	145357				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	104572	000137	100004			JMP	$CNTLC
≥					
≠JMP≡≡$DFERR≡≥	104576	000137	102102		.CNSER:	JMP	$DFERR
≥					
≥					;BURST THE KL10 CLOCK
≥					
≡DFLEGA≡≡DFLEGA≡≥	104602	104226			.BU:	DFLEGAL			;FUNCTION LEGAL ?
≠CLR≡≡TENCLK≡≥	104604	005037	152216			CLR	TENCLK		;TURN OFF CLOCKK IF ON
≡TTISDL≡≡TTISDL≡≥	104610	104016				TTISDL
≠BCS≡≥	104612	103404				BCS	2$		;NO ARG, DO ONCE
≡TTIDEC≡≡TTIDEC≡≥	104614	104011				TTIDEC
≠BCS≡≥	104616	103402				BCS	2$		;DO ONCE ANYWAY
≡BURST≡≡BURST≡≥	104620	104131			1$:	BURST			;PERFORM BURST
≠BR≡≡.XCT2≡≥	104622	000746				BR	.XCT2
≠MOV≡≡R0≡≥	104624	012700	000001		2$:	MOV	#1,R0		;DO ONE BURST
≠BR≡≥	104630	000773				BR	1$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 109
	CONS11 PAL[KL,SYS]	Page 28 	PDP-10 START/STOP FUNCTIONS

≥					;SELECT CLOCK SOURCE
≥					
≡TTISDL≡≡TTISDL≡≥	104632	104016			.CS:	TTISDL
≠BCC≡≥	104634	103012				BCC	1$
≠MOV≡≡CLKDFL≡≡R0≡≥	104636	013700	157246			MOV	CLKDFL,R0
≤SR≡≥						SR	R0,2
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠.LIST≡≡.CSR≠≥		104646			.CSR=.
≠BIC≡≡R0≡≥	104646	042700	177774			BIC	#177774,R0
≡PNTNBR≡≡PNTNBR≡≥	104652	104030				PNTNBR
≡PCRLF≡≡PCRLF≡≥	104654	104031				PCRLF
≠JMP≡≡$CONSL≡≥	104656	000137	100014			JMP	$CONSL
≥					
≡TTISDO≡≡TTISDO≡≥	104662	104017			1$:	TTISDO
≠CMP≡≡R0≡≥	104664	020027	000002			CMP	R0,#2
≠BGT≡≡.CSRER≡≥	104670	003022				BGT	.CSRER
≥					
≡SHIFTL≡≡SHIFTL≡≥	104672	104054				SHIFTL
≥	104674	000002				2
≠BIC≡≡CLKDFL≡≥	104676	042737	000014	157246		BIC	#14,CLKDFL	;CLEAR OLD SOURCE
≠BIS≡≡R0≡≡CLKDFL≡≥	104704	050037	157246		.CCMN1:	BIS	R0,CLKDFL	;SET NEW SOURCE
≡DFLEGA≡≡DFLEGA≡≥	104710	104226			.CCMN:	DFLEGAL			;FUNCTION LEGAL ?
≠TST≡≡TENRUN≡≥	104712	005737	147670			TST	TENRUN
≠BEQ≡≥	104716	001402				BEQ	1$
≡TENSP≡≡TENSP≡≥	104720	104077				TENSP			;STOP TEN
≠BCS≡≡.XCTER≡≥	104722	103721				BCS	.XCTER		;DID NOT STOP PROPERLY
≡DFWRTT≡≡DFWRTT≡≥	104724	104141			1$:	DFWRTT			;WRITE TO CLOCK
≡CLKDFL≡≡CLKDFL≡≥	104726	157246				CLKDFL
≡LDSEL≡≡LDSEL≡≥	104730	000044				LDSEL
≠JMP≡≡$KONSL≡≥	104732	000137	100230			JMP	$KONSL
≥					
≠JMP≡≡$PARA≡≥	104736	000137	113356		.CSRER:	JMP	$PARA
≥					
≥					;SELECT CLOCK RATE
≥					
≡TTISDL≡≡TTISDL≡≥	104742	104016			.CR:	TTISDL
≠BCC≡≥	104744	103003				BCC	1$
≠MOV≡≡CLKDFL≡≡R0≡≥	104746	013700	157246			MOV	CLKDFL,R0
≠BR≡≡.CSR≡≥	104752	000735				BR	.CSR
≥					
≡TTISDO≡≡TTISDO≡≥	104754	104017			1$:	TTISDO
≠CMP≡≡R0≡≥	104756	020027	000003			CMP	R0,#3
≠BGT≡≡.CSRER≡≥	104762	003365				BGT	.CSRER
≥					
≠BIC≡≡CLKDFL≡≥	104764	042737	000003	157246		BIC	#3,CLKDFL	;CLEAR OLD RATE
≠BR≡≡.CCMN1≡≥	104772	000744				BR	.CCMN1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 110
	CONS11 PAL[KL,SYS]	Page 29 	PDP-10 START/STOP FUNCTIONS

≥					;PROCESSOR PARITY DISABLE
≥					
≡TTITRM≡≡TTITRM≡≥	104774	104022			.PD:	TTITRM
≠CLR≡≡PEBITS≡≥	104776	005037	157262			CLR	PEBITS		;CLEAR PARITY ENABLE BITS
≠JMP≡≡$CONSL≡≥	105002	000137	100014			JMP	$CONSL
≥					
≥					;PARITY ENABLED AND CLOCK ERROR STOP MESSAGES
≥					
≠.ASCIZ≡≥	105006	   054		
≥	105007	   040		
≥	105010	   101		
≥	105011	   122		
≥	105012	   057		
≥	105013	   101		
≥	105014	   122		
≥	105015	   130		
≥	105016	   000		
≥					$PEAR:	.ASCIZ	%, AR/ARX%
≠.ASCIZ≡≥	105017	   054		
≥	105020	   040		
≥	105021	   106		
≥	105022	   115		
≥	105023	   040		
≥	105024	   120		
≥	105025	   101		
≥	105026	   122		
≥	105027	   111		
≥	105030	   124		
≥	105031	   131		
≥	105032	   000		
≥					$PEFM:	.ASCIZ	%, FM PARITY%
≠.ASCIZ≡≥	105033	   054		
≥	105034	   040		
≥	105035	   103		
≥	105036	   122		
≥	105037	   101		
≥	105040	   115		
≥	105041	   040		
≥	105042	   120		
≥	105043	   101		
≥	105044	   122		
≥	105045	   111		
≥	105046	   124		
≥	105047	   131		
≥	105050	   000		
≥					$PECR:	.ASCIZ	%, CRAM PARITY%
≠.ASCIZ≡≥	105051	   054		
≥	105052	   040		
≥	105053	   104		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 111
	CONS11 PAL[KL,SYS]	Page 29.1 	PDP-10 START/STOP FUNCTIONS

≥	105054	   122		
≥	105055	   101		
≥	105056	   115		
≥	105057	   040		
≥	105060	   120		
≥	105061	   101		
≥	105062	   122		
≥	105063	   111		
≥	105064	   124		
≥	105065	   131		
≥	105066	   000		
≥					$PEDR:	.ASCIZ	%, DRAM PARITY%
≠.ASCIZ≡≥	105067	   054		
≥	105070	   040		
≥	105071	   106		
≥	105072	   123		
≥	105073	   040		
≥	105074	   120		
≥	105075	   122		
≥	105076	   117		
≥	105077	   102		
≥	105100	   105		
≥	105101	   000		
≥					$PEFS:	.ASCIZ	%, FS PROBE%
≠.EVEN≡≥		105102			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 112
	CONS11 PAL[KL,SYS]	Page 30 	PDP-10 START/STOP FUNCTIONS

≥					;PROCESSOR PARITY ENABLE
≥					
≥					;PARITY ENABLE BITS ARE CODED AS FOLLOWS:
≥					; 	AR/ARX, FM, CRAM, DRAM, FS
≥					;	0 = PARITY DISABLED
≥					;	37 WOULD = ALL ENABLED
≥					
≡TTISDL≡≡TTISDL≡≥	105102	104016			.PE:	TTISDL
≠BCC≡≥	105104	103043				 BCC	1$
≥					
≤PMSG≡≥					20$:	PMSG	<ENABLED: >
≡$PMSG≡≡$PMSG≡≥	105106	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105110	145373				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡PEBITS≡≡R1≡≥	105112	013701	157262			MOV	PEBITS,R1	;PRINT PARITY ENABLE BITS
≠MOV≡≡R1≡≡R0≡≥	105116	010100				MOV	R1,R0
≡PNTODT≡≡PNTODT≡≥	105120	104047				PNTODT
≥	105122	000002				  2
≠BIT≡≡R1≡≥	105124	032701	000020		10$:	BIT	#20,R1
≠BEQ≡≥	105130	001402				BEQ	11$
≡$PMSG≡≡$PMSG≡≥	105132	104025				$PMSG
≡$PEAR≡≡$PEAR≡≥	105134	105006				  $PEAR			;AR/ARX PAGE FAIL
≠BIT≡≡R1≡≥	105136	032701	000010		11$:	BIT	#10,R1
≠BEQ≡≥	105142	001402				BEQ	12$
≡$PMSG≡≡$PMSG≡≥	105144	104025				$PMSG
≡$PEFM≡≡$PEFM≡≥	105146	105017				  $PEFM			;FM PARITY
≠BIT≡≡R1≡≥	105150	032701	000004		12$:	BIT	#4,R1
≠BEQ≡≥	105154	001402				BEQ	13$
≡$PMSG≡≡$PMSG≡≥	105156	104025				$PMSG
≡$PECR≡≡$PECR≡≥	105160	105033				  $PECR			;CRAM PARITY
≠BIT≡≡R1≡≥	105162	032701	000002		13$:	BIT	#2,R1
≠BEQ≡≥	105166	001402				BEQ	14$
≡$PMSG≡≡$PMSG≡≥	105170	104025				$PMSG
≡$PEDR≡≡$PEDR≡≥	105172	105051				  $PEDR			;DRAM PARITY
≠BIT≡≡R1≡≥	105174	032701	000001		14$:	BIT	#1,R1
≠BEQ≡≥	105200	001402				BEQ	15$
≡$PMSG≡≡$PMSG≡≥	105202	104025				$PMSG
≡$PEFS≡≡$PEFS≡≥	105204	105067				  $PEFS			;FS PROBE
≡PCRLF≡≡PCRLF≡≥	105206	104031			15$:	PCRLF
≠JMP≡≡$CONSL≡≥	105210	000137	100014		3$:	JMP	$CONSL
≥					
≡TTISDO≡≡TTISDO≡≥	105214	104017			1$:	TTISDO
≠CMP≡≡R0≡≥	105216	020027	000037			CMP	R0,#37
≠BGT≡≡.CSRER≡≥	105222	003245				BGT	.CSRER
≠MOV≡≡R0≡≡PEBITS≡≥	105224	010037	157262			MOV	R0,PEBITS	;SAVE
≠BR≡≥	105230	000726				BR	20$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 113
	CONS11 PAL[KL,SYS]	Page 31 	PDP-10 START/STOP FUNCTIONS

≥					;MICRO-CODE SYNC MARK ROUTINES
≥					
≠MOV≡≡R5≡≥	105232	012705	777777		.MU:	MOV	#-1,R5		;MICRO UNMARK
≠BR≡≡.MMC≡≥	105236	000401				BR	.MMC
≥					
≠CLR≡≡R5≡≥	105240	005005			.MM:	CLR	R5		;MICRO MARK
≥					
≡DFLEGA≡≡DFLEGA≡≥	105242	104226			.MMC:	DFLEGAL			;FUNCTION LEGAL ?
≡TTICRA≡≡TTICRA≡≥	105244	104021				TTICRA			;GET C-RAM ADDRESS
≠MOV≡≡R0≡≡$ECADR≡≥	105246	010037	147724			MOV	R0,$ECADR
≥					
≡RCRAM≡≡RCRAM≡≥	105252	104074				RCRAM			;READ C-RAM
≥					
≠TST≡≡R5≡≥	105254	005705				TST	R5
≠BNE≡≥	105256	001004				BNE	3$
≠BIS≡≡R0≡≥	105260	052760	000020	000004		BIS	#20,4(R0)	;SET MARK BIT
≠BR≡≡.MMX≡≥	105266	000403				BR	.MMX
≠BIC≡≡R0≡≥	105270	042760	000020	000004	3$:	BIC	#20,4(R0)	;CLEAR MARK BIT
≥					
≠MOV≡≡R0≡≡R1≡≥	105276	010001			.MMX:	MOV	R0,R1
≠MOV≡≡$ECADR≡≡R0≡≥	105300	013700	147724			MOV	$ECADR,R0
≡WCRAM≡≡WCRAM≡≥	105304	104073				WCRAM			;WRITE C-RAM BACK
≠JMP≡≡$KONSL≡≥	105306	000137	100230			JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 114
	CONS11 PAL[KL,SYS]	Page 32 	PDP-10 START/STOP FUNCTIONS

≥					;MICRO-CODE TIME FIELD CHANGE ROUTINE
≥					
≡DFLEGA≡≡DFLEGA≡≥	105312	104226			.MT:	DFLEGAL			;FUNCTION LEGAL ?
≡TTICRA≡≡TTICRA≡≥	105314	104021				TTICRA
≠MOV≡≡R0≡≡$ECADR≡≥	105316	010037	147724			MOV	R0,$ECADR
≥					
≡TTISDO≡≡TTISDO≡≥	105322	104017				TTISDO
≠CMP≡≡R0≡≥	105324	020027	000003			CMP	R0,#3		;TIME FIELD IS 0-3
≠BGT≡≡.CSRER≡≥	105330	003202				BGT	.CSRER
≠MOV≡≡R0≡≡R5≡≥	105332	010005				MOV	R0,R5
≥					
≠MOV≡≡$ECADR≡≡R0≡≥	105334	013700	147724			MOV	$ECADR,R0
≡RCRAM≡≡RCRAM≡≥	105340	104074				RCRAM			;READ C-RAM
≠BIC≡≡R0≡≥	105342	042710	000012			BIC	#12,(R0)	;CLEAR OLD TIME
≠CLR≡≡R4≡≥	105346	005004				CLR	R4
≠BIT≡≡R5≡≥	105350	032705	000002			BIT	#2,R5
≠BEQ≡≥	105354	001402				BEQ	1$
≠BIS≡≡R4≡≥	105356	052704	000010			BIS	#10,R4
≠BIT≡≡R5≡≥	105362	032705	000001		1$:	BIT	#1,R5
≠BEQ≡≥	105366	001402				BEQ	2$
≠BIS≡≡R4≡≥	105370	052704	000002			BIS	#2,R4
≠BIS≡≡R4≡≡R0≡≥	105374	050410			2$:	BIS	R4,(R0)		;SET NEW TIME
≠BR≡≡.MMX≡≥	105376	000737				BR	.MMX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 115
	CONS11 PAL[KL,SYS]	Page 33 	PDP-10 START/STOP FUNCTIONS

≥					;CACHE ENABLE
≥					
≥					;CACHE ENABLE BITS ARE CODED AS FOLLOWS:
≥					;	10 = CACHE 0
≥					;	 4 = CACHE 1
≥					;	 2 = CACHE 2
≥					;	 1 = CACHE 3
≥					;	17 SIGNIFIES ALL CACHES ENABLED
≥					
≡TTISDL≡≡TTISDL≡≥	105400	104016			.CE:	TTISDL			;GET ENABLE CODE
≠BCS≡≥	105402	103411				BCS	20$		;CR, PRINT ENABLE
≡TTISDO≡≡TTISDO≡≥	105404	104017			1$:	TTISDO
≠CMP≡≡R0≡≥	105406	020027	000017			CMP	R0,#17		;ENABLE IS 0 TO 17
≠BGT≡≥	105412	003003				BGT	2$
≠MOV≡≡R0≡≡CLKDFL≡≥	105414	010037	157252			MOV	R0,CLKDFL+4	;PUT IN CLOCK DEFAULT PARAMETER WORD
≠BR≡≥	105420	000402				BR	20$
≠JMP≡≡$PARAM≡≥	105422	000137	113452		2$:	JMP	$PARAM
≥					
≤PMSG≡≥					20$:	PMSG	<CACHES ENABLED: >
≡$PMSG≡≡$PMSG≡≥	105426	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105430	145405				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡CLKDFL≡≡R1≡≥	105432	013701	157252			MOV	CLKDFL+4,R1
≠MOV≡≡R1≡≡R0≡≥	105436	010100				MOV	R1,R0
≡PNTODT≡≡PNTODT≡≥	105440	104047				PNTODT			;PRINT CODE
≥	105442	000002				  2
≠CLR≡≡R2≡≥	105444	005002			21$:	CLR	R2
≠BIT≡≡R1≡≥	105446	032701	000010			BIT	#10,R1		;CACHE 0 ENABLED ?
≠BEQ≡≥	105452	001402				BEQ	22$
≠JSR≡≡PC≡≡.CEP≡≥	105454	004737	105532			JSR	PC,.CEP
≥					
≠INC≡≡R2≡≥	105460	005202			22$:	INC	R2
≠BIT≡≡R1≡≥	105462	032701	000004			BIT	#4,R1		;CACHE 1 ENABLED ?
≠BEQ≡≥	105466	001402				BEQ	23$
≠JSR≡≡PC≡≡.CEP≡≥	105470	004737	105532			JSR	PC,.CEP
≥					
≠INC≡≡R2≡≥	105474	005202			23$:	INC	R2
≠BIT≡≡R1≡≥	105476	032701	000002			BIT	#2,R1		;CACHE 2 ENABLED ?
≠BEQ≡≥	105502	001402				BEQ	24$
≠JSR≡≡PC≡≡.CEP≡≥	105504	004737	105532			JSR	PC,.CEP
≥					
≠INC≡≡R2≡≥	105510	005202			24$:	INC	R2
≠BIT≡≡R1≡≥	105512	032701	000001			BIT	#1,R1		;CACHE 3 ENABLED ?
≠BEQ≡≥	105516	001402				BEQ	25$
≠JSR≡≡PC≡≡.CEP≡≥	105520	004737	105532			JSR	PC,.CEP
≥					
≡PCRLF≡≡PCRLF≡≥	105524	104031			25$:	PCRLF
≠JMP≡≡$CONSL≡≥	105526	000137	100014			JMP	$CONSL
≥					
≤PMSG≡≥					.CEP:	PMSG	<, CACHE >
≡$PMSG≡≡$PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 116
	CONS11 PAL[KL,SYS]	Page 33.1 	PDP-10 START/STOP FUNCTIONS

≥	105532	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105534	145426				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R2≡≡R0≡≥	105536	010200				MOV	R2,R0
≡PNTNBR≡≡PNTNBR≡≥	105540	104030				PNTNBR			;PRINT CACHE ENABLE DIGIT
≠RTS≡≡PC≡≥	105542	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 117
	CONS11 PAL[KL,SYS]	Page 34 	PDP-10 START/STOP FUNCTIONS

≥					;AC BLOCK SELECTION
≥					;SETS UP "PAGDFL" WORD USED BY "DATAO PAG,0"
≥					;DURING "STD,STM,STL & DDT" START COMMANDS
≥					;SAME "PAGDFL" WORD USED BY "DATAO PAG,20"
≥					;DURING AC BLOCK SELECTION COMMAND
≥					
≡DFLEGA≡≡DFLEGA≡≥	105544	104226			.AC:	DFLEGAL
≠MOV≡≡PAGDFL≡≡R5≡≥	105546	012705	157256			MOV	#PAGDFL+2,R5
≡TTISDL≡≡TTISDL≡≥	105552	104016				TTISDL			;ALLOW FOR "ACBLK" OR "AC BLK"
≠BCC≡≥	105554	103103				 BCC	5$		;NUMBER
≠CMPB≡≡R0≡≥	105556	122700	000102			CMPB	#'B,R0
≠BNE≡≥	105562	001100				BNE	5$
≡TTICHR≡≡TTICHR≡≥	105564	104005				TTICHR
≠CMPB≡≡R0≡≥	105566	122700	000114			CMPB	#'L,R0
≠BNE≡≥	105572	001074				BNE	5$
≡TTICHR≡≡TTICHR≡≥	105574	104005				TTICHR
≠CMPB≡≡R0≡≥	105576	122700	000113			CMPB	#'K,R0
≠BNE≡≥	105602	001070				BNE	5$
≥					
≡TTISDL≡≡TTISDL≡≥	105604	104016				TTISDL			;ANY NUMBER ?
≠BCS≡≥	105606	103424				 BCS	4$		;NO, PRINT PRESENT SELECTION
≥					
≡TTISDO≡≡TTISDO≡≥	105610	104017				TTISDO			;GET SELECTION DIGIT
≠CMP≡≡R0≡≥	105612	020027	000007			CMP	R0,#7		;MUST BE 0 TO 7
≠BGT≡≥	105616	003062				BGT	5$
≠BEQ≡≥	105620	001450				BEQ	3$		;IF BLK #7, GIVE UCODE WARNING
≥					
≤PUSH≡≥					1$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<PREV AC BLK >
≡$PMSG≡≡$PMSG≡≥	105624	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105626	145437				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R5≡≡R0≡≥	105630	011500				MOV	(R5),R0
≡SHIFTR≡≡SHIFTR≡≥	105632	104053				SHIFTR
≥	105634	000013				  11.
≡PNTNBR≡≡PNTNBR≡≥	105636	104030				PNTNBR
≡PNTCI≡≡PNTCI≡≥	105640	104214				PNTCI
≥	105642	020054				", 
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≡SHIFTL≡≡SHIFTL≡≥	105646	104054				SHIFTL			;PLACE SELECTION DIGIT IN BITS 6-8
≥	105650	000013				  11.
≠BIC≡≡R5≡≥	105652	042715	034000			BIC	#034000,(R5)
≠BIS≡≡R0≡≡R5≡≥	105656	050015				BIS	R0,(R5)		;INSERT IN PAGE DEFAULT WORD
≤PMSG≡≥					4$:	PMSG	<SELECTED AC BLK >
≡$PMSG≡≡$PMSG≡≥	105660	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105662	145454				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R5≡≡R0≡≥	105664	011500				MOV	(R5),R0		;PRINT PRESENT AC BLOCK SELECTION
≡SHIFTR≡≡SHIFTR≡≥	105666	104053				SHIFTR
≥	105670	000013				  11.
≡PNTNBR≡≡PNTNBR≡≥	105672	104030				PNTNBR
≡PCRLF≡≡PCRLF≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 118
	CONS11 PAL[KL,SYS]	Page 34.1 	PDP-10 START/STOP FUNCTIONS

≥	105674	104031				PCRLF
≡EXAMT≡≡EXAMT≡≥	105676	104104				EXAMT			;SAVE MEM LOCATION 20
≥	105700	000020				  20
≡$SAV20≡≡$SAV20≡≥	105702	147566				  $SAV20
≠BCS≡≥	105704	103423				BCS	6$
≡DPOSVT≡≡DPOSVT≡≥	105706	104110				DPOSVT			;PUT DATAO PAG ARGUMENT IN 20
≥	105710	000020				  20
≡PAGDFL≡≡PAGDFL≡≥	105712	157254				  PAGDFL
≠BCS≡≥	105714	103417				BCS	6$
≠MOV≡≡DATPAG≡≡R0≡≥	105716	012700	105770			MOV	#DATPAG,R0
≡EXCT≡≡EXCT≡≥	105722	104101				EXCT			;EXECUTE DATAO PAG
≠BCS≡≥	105724	103413				 BCS	6$
≡DPOSVT≡≡DPOSVT≡≥	105726	104110				DPOSVT			;RESTORE 20
≥	105730	000020				  20
≡$SAV20≡≡$SAV20≡≥	105732	147566				  $SAV20
≠BCS≡≥	105734	103407				BCS	6$
≠JMP≡≡$CONSL≡≥	105736	000137	100014			JMP	$CONSL
≥					
≤PUSH≡≥					3$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<UCODE BLK\>
≡$PMSG≡≡$PMSG≡≥	105744	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105746	145475				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≥	105752	000723				BR	1$
≥					
≤PMSG≡≥					6$:	PMSG	<?SELECTION ERR>
≡$PMSG≡≡$PMSG≡≥	105754	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	105756	145510				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	105760	000137	100004			JMP	$CNTLC
≥					
≠JMP≡≡$PARAM≡≥	105764	000137	113452		5$:	JMP	$PARAM		;ERROR
≥					
≤IO10≡≥					DATPAG:	IO10	DATAO,PAG,,20	;SELECT AC BLOCK
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 119
	CONS11 PAL[KL,SYS]	Page 34.2 	PDP-10 START/STOP FUNCTIONS

≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,20
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000002				  ADL=10*<ADL&7777>+2
≠.IIF≡≡ADL≡≥		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000020				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡DATAO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡PAG≡≡DATAO≡≡PAG≡≠.LIST≡≠.EVEN≡≥		105776			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 120
	CONS11 PAL[KL,SYS]	Page 35 	PDP-10 START/STOP FUNCTIONS

≥					;START PDP10 AT ADDRESS SPECIFIED AS LOWER 18 BITS OF 36-BIT ARGUMENT.
≥					
≡DFLEGA≡≡DFLEGA≡≥	105776	104226			$ST:	DFLEGAL			;PDP-10 MUST BE STOPPED BEFORE YOU CAN START IT
≡TTISDL≡≡TTISDL≡≥	106000	104016				TTISDL
≠BCS≡≥	106002	103472				 BCS	4$		;NON-NUMBER
≡TTIS36≡≡TTIS36≡≥	106004	104020				TTIS36
≡$$ST≠≥		106006			$$ST=.
≠CLR≡≡R5≡≥	106006	005005				CLR	R5
≠MOV≡≡$$STJR≡≡R1≡≥	106010	012701	157222		5$:	MOV	#$$STJRS,R1
≠MOVB≡≡R0≡≡R1≡≥	106014	112021				MOVB	(R0)+,(R1)+
≠MOVB≡≡R0≡≡R1≡≥	106016	112021				MOVB	(R0)+,(R1)+
≠BICB≡≡R1≡≥	106020	142711	000003			BICB	#3,(R1)		;CLEAR BITS 18-19
≠BISB≡≡R0≡≡R1≡≥	106024	151011				BISB	(R0),(R1)	;SET LAST TWO BITS
≥					
≠TST≡≡R5≡≥	106026	005705			3$:	TST	R5		;ADDRESS START?
≠BEQ≡≥	106030	001442				BEQ	11$		;YES. DO JUST A JRST
≡SM≡≡SM≡≥	106032	104100				SM			;START MACHINE.  RESET MACHINE
≠BCS≡≡$STERR≡≥	106034	103502				 BCS	$STERR
≡DPOSVT≡≡DPOSVT≡≥	106036	104110				DPOSVT			;DEPOSIT "DATAO PAG,0" ARGUMENT
≥	106040	000000				  0			;IN AC0, SELECTS CURRENT AC USAGE
≡PAGDFL≡≡PAGDFL≡≥	106042	157254				  PAGDFL
≠BCS≡≡$STERR≡≥	106044	103476				 BCS	$STERR
≡SETFLG≡≡SETFLG≡≥	106046	104055				SETFLG			;SET TEN RUN FLAG
≡TENRUN≡≡TENRUN≡≥	106050	147670				  TENRUN
≠.IIF≡≡SAILVR≡≠CLR≡≡SWTDEP≡≥	106052	005037	147422		.IIF DF SAILVR,	CLR	SWTDEP	;DISABLE AUTO-DEPOSIT!
≡TENSW≡≡TENSW≡≥	106056	104145				TENSW			;DEPOSIT PDP-10 SWITCHES
≠BCC≡≥	106060	103002				 BCC	32$
≠JMP≡≡C10SWE≡≥	106062	000137	110270			JMP	C10SWE		;SWITCH ERROR
≠MOV≡≡R1≡≥	106066	012701	000004		32$:	MOV	#4.,R1
≠MOV≡≡$STTB1≡≡R0≡≥	106072	012700	106246			MOV	#$STTB1,R0
≤PUSH≡≥					1$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡EXCT≡≡EXCT≡≥	106100	104101				EXCT			;EXECUTE A TEN INSTR
≠BCS≡≡$STERR≡≥	106102	103457				 BCS	$STERR
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠ADD≡≡R0≡≥	106106	062700	000005			ADD	#5,R0
≠DEC≡≡R1≡≥	106112	005301				DEC	R1
≠BNE≡≥	106114	001370				BNE	1$		;DO ANOTHER
≠JSR≡≡PC≡≡$TI36C≡≥	106116	004737	122044			JSR	PC,$TI36C	;ZERO SELECTED AC BLOCK
≠MOV≡≡$DRAM≡≡R1≡≥	106122	012701	147462			MOV	#$DRAM,R1
≠MOV≡≡R0≡≥	106126	012700	000020			MOV	#16.,R0		;FROM AC0 TO AC17
≡D10ZRO≡≡D10ZRO≡≥	106132	104112				D10ZRO			;NECESSARY FOR FM PARITY
≠BCS≡≡$STERR≡≥	106134	103442				 BCS	$STERR
≠MOV≡≡$$STJR≡≡R0≡≥	106136	012700	157222		11$:	MOV	#$$STJRS,R0
≡EXCT≡≡EXCT≡≥	106142	104101				EXCT			;EXECUTE JRST TO START ADR
≠BCS≡≡$STERR≡≥	106144	103436				 BCS	$STERR
≠CLR≡≡TENTTY≡≥	106146	005037	150022			CLR	TENTTY		;TURN OFF "TENCHR" ROUTINE
≠JSR≡≡PC≡≡$CMCLR≡≥	106152	004737	115156			JSR	PC,$CMCLR	;CLEAR COMMON STORAGE
≠MOV≡≡$ENDCT≡≥	106156	012737	000144	152206		MOV	#100.,$ENDCT	;REPORT EOP EVERY 100
≠JMP≡≡$RNN≡≥	106164	000137	104002			JMP	$RNN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 121
	CONS11 PAL[KL,SYS]	Page 35.1 	PDP-10 START/STOP FUNCTIONS

≥					
≠CMPB≡≡R0≡≥	106170	122700	000104		4$:	CMPB	#'D,R0		;IF "STD", START 10 DIAGNOSTIC
≠BNE≡≥	106174	001006				BNE	6$
≠MOV≡≡TDIAG≡≡R0≡≥	106176	012700	100064			MOV	#TDIAG,R0
≡TTITRM≡≡TTITRM≡≥	106202	104022			7$:	TTITRM
≡$$$ST≠≥		106204			$$$ST=.
≠MOV≡≡R5≡≥	106204	012705	777777			MOV	#-1,R5
≠BR≡≥	106210	000677				BR	5$
≥					
≠CMPB≡≡R0≡≥	106212	122700	000114		6$:	CMPB	#'L,R0		;IF "STL", START PDP-10 LOADER
≠BNE≡≥	106216	001003				BNE	8$
≠MOV≡≡TLDR≡≡R0≡≥	106220	012700	100074			MOV	#TLDR,R0
≠BR≡≥	106224	000766				BR	7$
≥					
≠CMPB≡≡R0≡≥	106226	122700	000115		8$:	CMPB	#'M,R0		;IF "STM", START PDP-10 MONITOR
≠BNE≡≡.CNERR≡≥	106232	001017				BNE	.CNERR		;IF NONE, ERROR (DON'T START AT THE LAST START ADDR)
≠MOV≡≡TMON≡≡R0≡≥	106234	012700	100100			MOV	#TMON,R0
≠BR≡≥	106240	000760				BR	7$
≥					
≠JMP≡≡.XCTER≡≥	106242	000137	104566		$STERR:	JMP	.XCTER
≥					
≡HRRI≠≥		000541				HRRI=541
≡HRLZI≠≥		000515				HRLZI=515
≡JRST≠≥		000254				JRST=254
≡DTE≠≥		000200				DTE=200
≥					
≤IO10≡≥					$STTB1:	IO10	CONO,APR,,267760	;RESET APR
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,267760
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 122
	CONS11 PAL[KL,SYS]	Page 35.2 	PDP-10 START/STOP FUNCTIONS

≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000002				  ADL=10*<ADL&7777>+2
≠.IIF≡≡ADL≡≥		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000026				  ADL=10*<ADL&7777>+6
≠.IIF≡≡ADL≡≥		770026				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000267				  ADL=10*<ADL&7777>+7
≠.IIF≡≡ADL≡≥		770267				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		002677				  ADL=10*<ADL&7777>+7
≠.IIF≡≡ADL≡≥		772677				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		026776				  ADL=10*<ADL&7777>+6
≠.IIF≡≡ADL≡≡ADL≡≡ADH≠≥		000002				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		067760				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡CONO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡APR≡≡CONO≡≡APR≡≠.LIST≡≤IO10≡≥						IO10	CONO,PI,,10000		;PI SYSTEM CLEAR
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,10000
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000001				  ADL=10*<ADL&7777>+1
≠.IIF≡≡ADL≡≥		770001				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000010				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		770010				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000100				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		770100				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		001000				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		771000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		010000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡CONO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡PI≡≡CONO≡≡PI≡≠.LIST≡≤IO10≡≥						IO10	CONO,PAG,,0		;PAGING SYSTEM CLEAR
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 123
	CONS11 PAL[KL,SYS]	Page 35.3 	PDP-10 START/STOP FUNCTIONS

≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,0
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡CONO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡PAG≡≡CONO≡≡PAG≡≠.LIST≡≤IO10≡≥						IO10	DATAO,PAG,,0		;USER BASE CLEAR & AC SELECT
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,0
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡DATAO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡PAG≡≡DATAO≡≡PAG≡≠.LIST≡≠.EVEN≡≥		106272			.EVEN
≠JMP≡≡$PARA≡≥	106272	000137	113356		.CNERR:	JMP	$PARA
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 124
	CONS11 PAL[KL,SYS]	Page 36 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

≥					.SBTTL	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS
≥					
≠MOV≡≡.DPXAD≡≡R5≡≥	106276	012705	147704		.DP:	MOV	#.DPXAD,R5
≡TTISDL≡≡TTISDL≡≥	106302	104016				TTISDL
≠BCS≡≡.DPS≡≥	106304	103426				 BCS	.DPS
≡TTIS36≡≡TTIS36≡≥	106306	104020				TTIS36
≠MOV≡≡R0≡≡R5≡≥	106310	012025				MOV	(R0)+,(R5)+	;LOW ADDRESS
≠MOV≡≡R0≡≡R5≡≥	106312	011015				MOV	(R0),(R5)	;HIGH ADDRESS
≠TST≡≡R5≡≥	106314	005745			.DPNX1:	TST	-(R5)
≥					
≡TTIS36≡≡TTIS36≡≥	106316	104020			.DPCOM:	TTIS36			;GET DATA
≠MOV≡≡R5≡≡R1≡≥	106320	010501				MOV	R5,R1		;PTR TO ADR
≠JSR≡≡PC≡≡$TENRN≡≥	106322	004737	106366			JSR	PC,$TENRN
≡DPOS≡≡DPOS≡≥	106326	104105				DPOS			;DO IT
≠BCS≡≡.DPCM1≡≥	106330	103402				 BCS	.DPCM1
≠JMP≡≡$KONSL≡≥	106332	000137	100230		$VBX:	JMP	$KONSL
≥					
≤PMSG≡≥					.DPCM1:	PMSG	<?DM>
≡$PMSG≡≡$PMSG≡≥	106336	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	106340	145527				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡R1≡≡$DFTM1≡≥	106342	004137	141104			JSR	R1,$DFTM1
≥					
≠MOV≡≡.DPXAD≡≡R5≡≥	106346	012705	147704		.DPNX:	MOV	#.DPXAD,R5
≠ADD≡≡R5≡≥	106352	062725	000001			ADD	#1,(R5)+	;BUMP LOW
≠ADC≡≡R5≡≥	106356	005515				ADC	(R5)		;CARRY TO HIGH
≠BR≡≡.DPNX1≡≥	106360	000755				BR	.DPNX1
≥					
≠BVS≡≡.DPCOM≡≥	106362	102755			.DPS:	BVS	.DPCOM		;COLON, USE PRESENT ADDRESS
≠BR≡≡.CNERR≡≥	106364	000742				BR	.CNERR
≥					
≠BIT≡≡ERRSTP≡≡.DIAG1≡≥	106366	032777	004000	050754	$TENRN:	BIT	#ERRSTP,@.DIAG1	;TEN CLOCK RUNNING ?
≠BEQ≡≥	106374	001402				BEQ	1$		;YES, OK
≠JMP≡≡TENCER≡≥	106376	000137	107566			JMP	TENCERR		;NO, REPORT IT
≠RTS≡≡PC≡≥	106402	000207			1$:	RTS	PC
≥					
≡TTITRM≡≡TTITRM≡≥	106404	104022			$VB:	TTITRM
≠TST≡≡VRBFLG≡≥	106406	005737	147564			TST VRBFLG
≠BEQ≡≡$VB1≡≥	106412	001405				BEQ $VB1
≠CLR≡≡VRBFLG≡≥	106414	005037	147564			CLR VRBFLG
≤PMSG≡≥					PMSG <CONCISE TYPEOUT
≥					>
≡$PMSG≡≡$PMSG≡≥	106420	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	106422	145533				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$VBX≡≥	106424	000742				BR $VBX
≥					
≡SETFLG≡≡SETFLG≡≥	106426	104055			$VB1:	SETFLG
≡VRBFLG≡≡VRBFLG≡≥	106430	147564				 VRBFLG
≤PMSG≡≥					PMSG <VERBOSE TYPEOUT
≥					>
≡$PMSG≡≡$PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 125
	CONS11 PAL[KL,SYS]	Page 36.1 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

≥	106432	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	106434	145555				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$VBX≡≥	106436	000735				BR $VBX
≥					
≡TTITRM≡≡TTITRM≡≥	106440	104022			$KA:	TTITRM
≠JSR≡≡PC≡≡KASET≡≥	106442	004737	110540			JSR PC,KASET		;ENABLE KASIM
≠BR≡≡$VBX≡≥	106446	000731				BR $VBX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 126
	CONS11 PAL[KL,SYS]	Page 37 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

≥					;MEMORY ZERO
≥					;  "MZ ADR,COUNT"
≥					
≡DFLEGA≡≡DFLEGA≡≥	106450	104226			.MZ:	DFLEGAL 		;FUNCTION LEGAL ?
≡TTIS36≡≡TTIS36≡≥	106452	104020				TTIS36 			;INPUT PDP-10 START ADDRESS
≠MOV≡≡$DRAM≡≡MMDAT≡≥	106454	013737	147462	147540		MOV	$DRAM,MMDAT	;SAVE IT
≠MOV≡≡$DRAM≡≡MMDAT≡≥	106462	013737	147464	147542		MOV	$DRAM+2,MMDAT+2
≠MOV≡≡MMDAT≡≡R1≡≥	106470	012701	147540			MOV	#MMDAT,R1	;POINTER FOR D10ZRO
≡TTIS36≡≡TTIS36≡≥	106474	104020				TTIS36			;INPUT NUMBER OF PDP-10 WORDS
≠BCS≡≥	106476	103437				 BCS	1$
≠MOV≡≡$DRAM≡≡R2≡≥	106500	013702	147464			MOV	$DRAM+2,R2	;PICK UP NUMBER OF 64K MOBIES
≠BEQ≡≥	106504	001425				BEQ	2$
≠BPL≡≥	106506	100004				BPL	4$
≠MOV≡≡XMEMSZ≡≡R2≡≥	106510	012702	000010			MOV	#XMEMSZ/64.,R2	;MZ 0,-1.  DON'T TRY TO CLEAR
≠CLR≡≡$DRAM≡≥	106514	005037	147462			CLR	$DRAM		; 4096 MILLION WORDS.
≠CLR≡≡R0≡≥	106520	005000			4$:	CLR	R0		;CLEAR ONE SMALL MOBY
≡D10ZRO≡≡D10ZRO≡≥	106522	104112				D10ZRO
≠BCS≡≥	106524	103430				 BCS	3$
≠JSR≡≡PC≡≡$TIRDY≡≥	106526	004737	120670			JSR	PC,$TIRDY	;ALLOW ↑C IN THIS SLOW LOOP
≠BCS≡≥	106532	103406				BCS	69$
≠CMPB≡≡$TICHR≡≡CNTRLC≡≥	106534	123727	147744	000003		CMPB	$TICHR,#CNTRLC
≠BNE≡≥	106542	001002				BNE	69$
≠JMP≡≡$TICC≡≥	106544	000137	120524			JMP	$TICC		;↑C, ABORT
≥					
≠INC≡≡MMDAT≡≥	106550	005237	147542		69$:	INC	MMDAT+2		;BUMP ADDRESS
≠DEC≡≡R2≡≥	106554	005302				DEC	R2
≠BGT≡≥	106556	003360				BGT	4$
≠MOV≡≡$DRAM≡≡R0≡≥	106560	013700	147462		2$:	MOV	$DRAM,R0	;CLEAR FINAL FRACTIONAL MOBY
≠BEQ≡≥	106564	001402				BEQ	5$		;EXACT MULTIPLE OF 64K
≡D10ZRO≡≡D10ZRO≡≥	106566	104112				D10ZRO 			;ZERO MEMORY
≠BCS≡≥	106570	103406				 BCS	3$
≥					
≠JMP≡≡$KONSL≡≥	106572	000137	100230		5$:	JMP	$KONSL
≥					
≠MOV≡≡$DRAM≡≥	106576	012737	000001	147462	1$:	MOV	#1,$DRAM	;NO COUNT SPECIFIED
≠BR≡≥	106604	000765				BR	2$		;SO CLEAR ONE WORD
≥					
≤PMSG≡≥					3$:	PMSG	<?MZ>
≡$PMSG≡≡$PMSG≡≥	106606	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	106610	145577				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡R1≡≡$DFTM1≡≥	106612	004137	141104			JSR	R1,$DFTM1
≠JMP≡≡$RUNLP≡≥	106616	000137	107030			JMP	$RUNLP
≠MOV≡≡.DPXAD≡≡R5≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 127
	CONS11 PAL[KL,SYS]	Page 38 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

≥	106622	012705	147704		.EXM:	MOV	#.DPXAD,R5
≠CLR≡≡R3≡≥	106626	005003				CLR	R3
≡TTISDL≡≡TTISDL≡≥	106630	104016				TTISDL
≠BCS≡≡.EXMSP≡≥	106632	103456				 BCS	.EXMSP		;NON-NUMBER
≡TTIS36≡≡TTIS36≡≥	106634	104020				TTIS36			;GET PDP-10 ADDRESS
≠MOV≡≡R0≡≡R5≡≥	106636	012025				MOV	(R0)+,(R5)+	;SAVE LOW 16 BITS
≠MOV≡≡R0≡≡R5≡≥	106640	011015				MOV	(R0),(R5)	;SAVE HIGH BITS
≠TST≡≡R5≡≥	106642	005745				TST	-(R5)
≡TTIBRK≡≡TTIBRK≡≥	106644	104015				TTIBRK			;GET BREAK
≠BCS≡≡.CNERR≡≥	106646	103611				 BCS	.CNERR
≠CMPB≡≡R0≡≥	106650	122700	000054			CMPB	#',,R0
≠BNE≡≡.EXCOM≡≥	106654	001004				BNE	.EXCOM
≠COM≡≡R3≡≥	106656	005103				COM	R3		;COMMA, MULTIPLE PRINT
≡PNORML≡≡PNORML≡≥	106660	104044				PNORML
≡TTIS36≡≡TTIS36≡≥	106662	104020				TTIS36			;GET ENDING ADDRESS
≠MOV≡≡R0≡≡R4≡≥	106664	011004				MOV	(R0),R4		;SAVE LOW 16 BITS
≥					
≠MOV≡≡R5≡≡R0≡≥	106666	010500			.EXCOM:	MOV	R5,R0
≠JSR≡≡PC≡≡$TENRN≡≥	106670	004737	106366			JSR	PC,$TENRN
≡EXAM≡≡EXAM≡≥	106674	104103				EXAM
≠BCS≡≥	106676	103424				 BCS	3$
≠TSTB≡≡RPTFLG≡≥	106700	105737	147732		5$:	TSTB	RPTFLG
≠BNE≡≥	106704	001017				BNE	1$
≠MOV≡≡R5≡≡R0≡≥	106706	010500				MOV	R5,R0
≡PNTADR≡≡PNTADR≡≥	106710	104137				PNTADR
≡PNTBAK≡≡PNTBAK≡≥	106712	104177				PNTBAK			;BACKUP POINTER TO WIPE OUT SPACE
≡PSLASH≡≡PSLASH≡≥	106714	104033				PSLASH
≠MOV≡≡$DRAM≡≡R0≡≥	106716	012700	147462			MOV	#$DRAM,R0
≡PNT36≡≡PNT36≡≥	106722	104042				PNT36
≠TST≡≡R3≡≥	106724	005703				TST	R3		;DOING MULTIPLE PRINT ?
≠BEQ≡≥	106726	001405				BEQ	2$
≡PCRLF≡≡PCRLF≡≥	106730	104031				PCRLF
≠CMP≡≡R5≡≡R4≡≥	106732	021504				CMP	(R5),R4
≠BEQ≡≥	106734	001402				BEQ	2$
≠INC≡≡R5≡≥	106736	005215				INC	(R5)		;INCREMENT LOW 16 BITS, 64K
≠BR≡≡.EXCOM≡≥	106740	000752				BR	.EXCOM		;DO NEXT ADDRESS
≡PCRLF≡≡PCRLF≡≥	106742	104031			2$:	PCRLF
≠JMP≡≡$KONSL≡≥	106744	000137	100230		1$:	JMP	$KONSL
≥					
≠BMI≡≥	106750	100404			3$:	BMI	4$
≤PMSG≡≥						PMSG	<?EM>
≡$PMSG≡≡$PMSG≡≥	106752	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	106754	145603				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡R1≡≡$DFTM1≡≥	106756	004137	141104			JSR	R1,$DFTM1
≥					
≡$PMSGR≡≡$PMSGR≡≥	106762	104026			4$:	$PMSGR
≡$EBPAR≡≡$EBPAR≡≥	106764	125116				  $EBPAR		;E-BUS PARITY ERROR
≠BR≡≥	106766	000744				BR	5$
≥					
≠BVS≡≡.EXMNX≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 128
	CONS11 PAL[KL,SYS]	Page 38.1 	PDP-10 DEPOSIT AND EXAMINE CONSOLE FUNCTIONS

≥	106770	102405			.EXMSP:	BVS	.EXMNX		;COLON OR SLASH, EXAMINE NEXT
≠BNE≡≡.EXCOM≡≥	106772	001335				BNE	.EXCOM		;NONE, EXAMINE SAME
≠SUB≡≡R5≡≥	106774	162725	000001			SUB	#1,(R5)+	;UPARROW, EXAMINE PREVIOUS
≠SBC≡≡R5≡≥	107000	005615				SBC	(R5)
≠BR≡≡.EXMN1≡≥	107002	000405				BR	.EXMN1
≠MOV≡≡.DPXAD≡≡R5≡≥	107004	012705	147704		.EXMNX:	MOV	#.DPXAD,R5
≠ADD≡≡R5≡≥	107010	062725	000001			ADD	#1,(R5)+
≠ADC≡≡R5≡≥	107014	005515				ADC	(R5)
≠INC≡≡$INPTC≡≥	107016	005237	150716		.EXMN1:	INC	$INPTC
≠CLR≡≡R3≡≥	107022	005003				CLR	R3
≠TST≡≡R5≡≥	107024	005745				TST	-(R5)
≠BR≡≡.EXCOM≡≥	107026	000717				BR	.EXCOM
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 129
	CONS11 PAL[KL,SYS]	Page 39 	CONSOLE IDLE RUN LOOP

≥					.SBTTL	CONSOLE IDLE RUN LOOP
≥					
≥					;PROVIDES PDP-10 SUPPORT WHEN "TENRUN" SET
≥					;AND ADDITIONALY PDP-10 MONITOR SUPPORT IF "MONMODE" SET
≥					
≠TSTB≡≡TENRUN≡≥	107030	105737	147670		$RUNLP:	TSTB	TENRUN			;PDP-10 RUN TIME SUPPORT ?
≠BNE≡≥	107034	001002				BNE	1$			;JUMP IF YES
≠JMP≡≡$TTILI≡≥	107036	000137	120150			JMP	$TTILIN			;NO, CONSOLE COMMAND INPUT
≥					
≠CLR≡≡DDTTM2≡≥	107042	005037	147602		1$:	CLR	DDTTM2			;SETUP DDT MODE TIMEOUT
≠BIT≡≡KLRUN≡≡.DIAG1≡≥	107046	032777	002000	050274	2$:	BIT	#KLRUN,@.DIAG1		;IS THE KL10 RUNNING?
≠BNE≡≥	107054	001002				BNE	3$			;YES.
≠JMP≡≡TENDEA≡≥	107056	000137	107710			JMP	TENDEAD			;PDP-10 HALTED
≥					
≠BIT≡≡ERRSTP≡≡.DIAG1≡≥	107062	032777	004000	050260	3$:	BIT	#ERRSTP,@.DIAG1		;PDP-10 CLOCK ERROR STOP ?
≠BEQ≡≥	107070	001402				BEQ	31$			;NO.
≠JMP≡≡TENCER≡≥	107072	000137	107566			JMP	TENCERR			;YES, REPORT.
≥					
≠JSR≡≡PC≡≡C10COP≡≥	107076	004737	110742		31$:	JSR	PC,C10COP		;PERFORM CLOCK OPERATIONS
≠.LIF≡≡%%QMP≡≥					.LIF DF %%QMP
≠JSR≡≡PC≡≡SND10≡≥	107102	004737	137216			JSR	PC,SND10		;CHECK FOR QUEUED MESSAGE FOR 10
≥					
≠.LIF≡≡%%QMP≡≥					.LIF NDF %%QMP
≥						BIT	#TO11DB,@.STDTE		;IS PDP-10 REQUESTING SERVICE?
≥					
≠.LIF≡≡%%QMP≡≥					.LIF DF %%QMP
≠TST≡≡T11DBF≡≥	107106	005737	157136			TST	T11DBF			;IS PDP-10 REQUESTING SERVICE?
≥					
≠BNE≡≡TENCMD≡≥	107112	001141				BNE	TENCMD			;YES.
≥					
≠TST≡≡MONMOD≡≥	107114	005737	147666		5$:	TST	MONMODE			;MONITOR SUPPORT MODE ?
≠BEQ≡≥	107120	001412				BEQ	20$			;NO
≥					
≠JSR≡≡PC≡≡$TIRDY≡≥	107122	004737	120670		6$:	JSR	PC,$TIRDY		;TTY INPUT FLAG SET ?
≠BCC≡≡MTTYIN≡≥	107126	103024				BCC	MTTYIN			;YES, SEND CHAR TO 10
≥					
≠TST≡≡MTTYOF≡≥	107130	005737	147664		7$:	TST	MTTYOF			;TTY OUTPUT IN PROGRESS ?
≠BEQ≡≥	107134	001744				BEQ	2$			;NO
≥					
≠JSR≡≡PC≡≡$TORDY≡≥	107136	004737	120776		8$:	JSR	PC,$TORDY		;TTY OUTPUT COMPLETED ?
≠BCC≡≡MTTYOC≡≥	107142	103057				BCC	MTTYOC			;YES, NOTIFY 10
≠BR≡≥	107144	000740				BR	2$			;STAY IN MONITOR LOOP
≥					
≠TST≡≡DDTFLG≡≥	107146	005737	147740		20$:	TST	DDTFLG			;PDP-10 DDT INPUT MODE ?
≠BEQ≡≥	107152	001405				BEQ	21$			;NO
≠DEC≡≡DDTTM2≡≥	107154	005337	147602		23$:	DEC	DDTTM2			;WAITED LONG ENOUGH ?
≠BNE≡≥	107160	001332				BNE	2$			;NOT YET
≠CLR≡≡DDTFLG≡≥	107162	005037	147740			CLR	DDTFLG			;YES, REVERT TO CONSOLE MODE
≥					
≠JSR≡≡PC≡≡$TIRDY≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 130
	CONS11 PAL[KL,SYS]	Page 39.1 	CONSOLE IDLE RUN LOOP

≥	107166	004737	120670		21$:	JSR	PC,$TIRDY	;ANY TTY INPUT YET ?
≠BCS≡≥	107172	103725				BCS	2$		;NO, STAY IN RUN LOOP
≠JMP≡≡$TILRN≡≥	107174	000137	120064			JMP	$TILRN		;YES, GO INPUT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 131
	CONS11 PAL[KL,SYS]	Page 40 	CONSOLE IDLE RUN LOOP

≥				;MONITOR TELETYPE CHARACTER INPUT -- MTTYIN MTTYI0 MTTYI1 C10DN1 MTTYER MTTYOC MTTYO MTTYP MTTYX MTTYC MTTYCF $MC MTTYS C10DN
≥					2
≥					
≠MOVB≡≡$TICHR≡≡R0≡≥	107200	113700	147744		MTTYIN:	MOVB	$TICHR,R0	;GET INPUT CHAR
≠CMPB≡≡R0≡≡MSWCHR≡≥	107204	120027	000030			CMPB	R0,#MSWCHR	;MONITOR TO "KLDCP" SWITCH CHAR ?
≠BNE≡≡MTTYI1≡≥	107210	001004				BNE	MTTYI1		;JUMP IF NOT.
≤PMSG≡≥					MTTYI0:	PMSG	<\KLDCP\. ←>
≡$PMSG≡≡$PMSG≡≥	107212	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	107214	145607				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$TTILI≡≥	107216	000137	120150			JMP	$TTILIN		;READ ONE KLDCP COMMAND, REVERT TO RUN LOOP
≥					
≠MOV≡≡R0≡≡TENDAT≡≥	107222	010037	147446		MTTYI1:	MOV	R0,TENDAT
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	107226	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	107234	104110				DPOSVT			;SEND CHAR TO TEN
≡$DTF11≡≡$DTF11≡≥	107236	000450				  $DTF11
≡TENDAT≡≡TENDAT≡≥	107240	147446				  TENDAT
≠BCS≡≡MTTYER≡≥	107242	103415				 BCS	MTTYER		;FAILED
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	107244	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡D10MON≡≡D10MON≡≥	107252	104111				D10MON			;SET -1 TO 10 TTY INPUT FLAG
≡$DTMTI≡≡$DTMTI≡≥	107254	000456				  $DTMTI
≠BCS≡≡MTTYER≡≥	107256	103407				 BCS	MTTYER
≥					
≠TST≡≡KASIM≡≥	107260	005737	147660		C10DN1:	TST KASIM
≠BNE≡≡$RUNLP≡≥	107264	001261				BNE $RUNLP		;AVOID DINGING 10 IF KASIM
≠MOV≡≡INT10S≡≡.STDTE≡≥	107266	012777	000400	050060	C10DN2:	MOV #INT10S,@.STDTE	;DING TEN
≠BR≡≡$RUNLP≡≥	107274	000655				BR $RUNLP
≥					
≠JMP≡≡C10TIE≡≥	107276	000137	110100		MTTYER:	JMP	C10TIE
≥					
≥					;MONITOR TELETYPE OUTPUT COMPLETE
≥					
≥					MTTYOC:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	107302	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡D10MON≡≡D10MON≡≥	107310	104111				D10MON			;SET -1 TO 10 TTY OUTPUT DONE FLAG
≡$DTMTD≡≡$DTMTD≡≥	107312	000455				  $DTMTD
≠BCS≡≡MTTYER≡≥	107314	103770				 BCS	MTTYER
≠CLR≡≡MTTYOF≡≥	107316	005037	147664			CLR	MTTYOF		;CLEAR OUTPUT IN PROGRESS
≠BR≡≡C10DN1≡≥	107322	000756				BR	C10DN1
≥					
≥					;MONITOR TELETYPE OUTPUT ROUTINE
≥					
≠MOV≡≡R5≡≡R0≡≥	107324	010500			MTTYO:	MOV	R5,R0		;GET OUTPUT CHAR
≠BIC≡≡R0≡≥	107326	042700	177400			BIC	#177400,R0	;STRIP TO 8 BITS, 10 DOES PARITY
≠MOVB≡≡R0≡≡$TOCHR≡≥	107332	110037	147742			MOVB	R0,$TOCHR	;PRINT CHAR
≠JSR≡≡PC≡≡$TOOUT≡≥	107336	004737	121040			JSR	PC,$TOOUT
≡SETFLG≡≡SETFLG≡≥	107342	104055			MTTYP:	SETFLG
≡MTTYOF≡≡MTTYOF≡≥	107344	147664				  MTTYOF		;SET OUTPUT IN PROGRESS FLAG
≠BR≡≡C10DON≡≥	107346	000467			MTTYX:	BR	C10DON		;ALLOW 10 TO CONTINUE
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 132
	CONS11 PAL[KL,SYS]	Page 40.1 	CONSOLE IDLE RUN LOOP

≥					;MONITOR MODE CONTROL
≥					
≡SETFLG≡≡SETFLG≡≥	107350	104055			MTTYC:	SETFLG			;SET MONITOR MODE.
≡MONMOD≡≡MONMOD≡≥	107352	147666				  MONMODE
≠BR≡≡MTTYP≡≥	107354	000772				BR	MTTYP		;SET OUTPUT IN PROGRESS, EVEN IF IT'S NOT.
≥					
≠CLR≡≡MONMOD≡≥	107356	005037	147666		MTTYCF:	CLR	MONMODE		;CLEAR
≠BR≡≡MTTYX≡≥	107362	000771				BR	MTTYX
≥					
≡SETFLG≡≡SETFLG≡≥	107364	104055			$MC:	SETFLG			;CONSOLE MONITOR CONTINUE
≡MONMOD≡≡MONMOD≡≥	107366	147666				  MONMODE
≡SETFLG≡≡SETFLG≡≥	107370	104055				SETFLG
≡TENRUN≡≡TENRUN≡≥	107372	147670				  TENRUN		;ONLY WAY TO GET BACK FROM CONTROL C
≡SETFLG≡≡SETFLG≡≥	107374	104055				SETFLG
≡PRGRUN≡≡PRGRUN≡≥	107376	147614				  PRGRUN
≡SETFLG≡≡SETFLG≡≥	107400	104055				SETFLG
≡MTTYOF≡≡MTTYOF≡≥	107402	147664				  MTTYOF		;SET OUTPUT IN PROGRESS FLAG (even if not true)
≠BR≡≡$$TDX≡≥	107404	000550				BR	$$TDX
≥					
≠MOV≡≡MONMOD≡≡R0≡≥	107406	013700	147666		MTTYS:	MOV	MONMODE,R0	;SEND 10 MONITOR TTY STATE
≠JMP≡≡C10TIX≡≥	107412	000137	110056			JMP	C10TIX
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 133
	CONS11 PAL[KL,SYS]	Page 41 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					.SBTTL	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON
≥					
≥					TENCMD:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	107416	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡EXAMT≡≡EXAMT≡≥	107424	104104				EXAMT			;GET COMMAND CODE
≡$DTCMD≡≡$DTCMD≡≥	107426	000451				  $DTCMD
≡$ECMD≡≡$ECMD≡≥	107430	147574				  $ECMD
≠BCC≡≥	107432	103004				BCC	1$
≠BPL≡≥	107434	100002				BPL	2$		;EXAMINE FAILED
≡$PMSG≡≡$PMSG≡≥	107436	104025				$PMSG
≡$EBPAR≡≡$EBPAR≡≥	107440	125116				  $EBPAR		;E-BUS PARITY ERROR
≠BR≡≡C10DNX≡≥	107442	000443			2$:	BR	C10DNX
≥					
≠MOV≡≡$ECMD≡≡R5≡≥	107444	013705	147574		1$:	MOV	$ECMD,R5
≠MOV≡≡R5≡≡R1≡≥	107450	010501				MOV	R5,R1
≠SWAB≡≡R1≡≥	107452	000301				SWAB	R1
≠BIC≡≡R1≡≥	107454	042701	177760			BIC	#177760,R1
≤SL≡≥						SL	R1,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R1≡≠.LIST≡≠JMP≡≡CMD10T≡≡R1≡≥	107462	000171	107466			JMP	@CMD10T(R1)	;DISPATCH TO ROUTINE
≥					
≡C10TO≡≡C10TO≡≥	107466	107772			CMD10T:	C10TO		;TTY OUT
≡C10PRG≡≡C10PRG≡≥	107470	110406				C10PRG		;PROGRAM CONTROL
≡C10CLK≡≡C10CLK≡≥	107472	110574				C10CLK		;CLOCK
≡C10SW≡≡C10SW≡≥	107474	110170				C10SW		;SWITCHES
≡C10TO≡≡C10TO≡≥	107476	107772				C10TO		;TTY OUT
≡C10TI≡≡C10TI≡≥	107500	110020				C10TI		;TTY IN
≡C10PNT≡≡C10PNT≡≥	107502	110146				C10PNT		;PRINT CONTROL
≡C10DDT≡≡C10DDT≡≥	107504	110344				C10DDT		;DDT INPUT MODE
≡MTTYO≡≡MTTYO≡≥	107506	107324				MTTYO		;MONITOR TTY OUTPUT
≡MTTYC≡≡MTTYC≡≥	107510	107350				MTTYC		;MONITOR TTY MODE CONTROL ON
≡MTTYCF≡≡MTTYCF≡≥	107512	107356				MTTYCF		;MONITOR TTY MODE CONTROL OFF
≡MTTYS≡≡MTTYS≡≥	107514	107406				MTTYS		;MONITOR TTY STATE
≡QMPCMD≡≡QMPCMD≡≥	107516	137034				QMPCMD		;14 COMMAND FOR QMP (TO11 ITEM COUNT)
≡C10DNX≡≡C10DNX≡≥	107520	107552				C10DNX		;15-17 UNUSED NOW
≡C10DNX≡≡C10DNX≡≥	107522	107552				C10DNX
≡C10DNX≡≡C10DNX≡≥	107524	107552				C10DNX
≥					
≥					C10DON:
≠.IIF≡≡%%QMP≡≥					.IIF NDF %%QMP,	MOV #INT11C,@.STDTE	;CLEAR DONG
≠.IIF≡≡%%QMP≡≠CLR≡≡T11DBF≡≥	107526	005037	157136		.IIF DF %%QMP,	CLR T11DBF		;CLEAR SOFTWARE DONG
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	107532	012737	004000	147424	.IIF NE EPTREL,	MOV #XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡D10MON≡≡D10MON≡≥	107540	104111				D10MON		;SET -1 TO 10 "$DTFLG"
≡$DTFLG≡≡$DTFLG≡≥	107542	000444				  $DTFLG	;DTE20 OPERATION COMPLETE FLAG
≠BCS≡≡C10DNX≡≥	107544	103402				 BCS C10DNX	;next page.
≠JMP≡≡C10DN2≡≥	107546	000137	107266			JMP C10DN2	;DONG 10, WAIT FOR NEXT COMMAND
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 134
	CONS11 PAL[KL,SYS]	Page 42 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					;C10DNX, TENCERR
≥					
≠.IF≡≡%%QMP≡≥					.IF NDF %%QMP
≥					QMPCMD:			;COMMAND UNDEFINED IF NO QMP
≥					.ENDC
≥					
≠CLR≡≡TENRUN≡≥	107552	005037	147670		C10DNX:	CLR	TENRUN
≤PMSG≡≥						PMSG	<?10 CMD>
≡$PMSG≡≡$PMSG≡≥	107556	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	107560	145622				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡R1≡≡$DFTM1≡≥	107562	004137	141104			JSR	R1,$DFTM1	;FALLS INTO TENCERR
≠CLR≡≡TENRUN≡≥	107566	005037	147670		TENCERR:CLR	TENRUN
≠CLR≡≡KLCLKR≡≥	107572	005037	147454			CLR	KLCLKR		;CLEAR TEN RUNNING
≡PFORCE≡≡PFORCE≡≥	107576	104043				PFORCE
≤PMSG≡≥						PMSG	<\KL10 CLOCK ERROR STOP>
≡$PMSG≡≡$PMSG≡≥	107600	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	107602	145632				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≡DFRDT≡≡DFRDT≡≥	107604	104140				DFRDT
≥	107606	000106				  106
≠BIT≡≡BIT5≡≡.DAT3≡≥	107610	032777	000040	047504		BIT	#BIT5,@.DAT3	;FIELD SERVICE ?
≠BEQ≡≥	107616	001402				BEQ	1$
≡$PMSG≡≡$PMSG≡≥	107620	104025				$PMSG	
≡$PEFS≡≡$PEFS≡≥	107622	105067				  $PEFS			;FS PROBE
≥					
≡DFRDT≡≡DFRDT≡≥	107624	104140			1$:	DFRDT
≥	107626	000105				  105
≠BIT≡≡BIT5≡≡.DAT3≡≥	107630	032777	000040	047464		BIT	#BIT5,@.DAT3	;FM PARITY ?
≠BEQ≡≥	107636	001402				BEQ	2$
≡$PMSG≡≡$PMSG≡≥	107640	104025				$PMSG	
≡$PEFM≡≡$PEFM≡≥	107642	105017				  $PEFM			;FM PARITY
≥					
≡DFRDT≡≡DFRDT≡≥	107644	104140			2$:	DFRDT
≥	107646	000104				  104
≠BIT≡≡BIT5≡≡.DAT3≡≥	107650	032777	000040	047444		BIT	#BIT5,@.DAT3	;CRAM PARITY ?
≠BEQ≡≥	107656	001402				BEQ	3$
≡$PMSG≡≡$PMSG≡≥	107660	104025				$PMSG	
≡$PECR≡≡$PECR≡≥	107662	105033				  $PECR			;CRAM PARITY
≥					
≡DFRDT≡≡DFRDT≡≥	107664	104140			3$:	DFRDT
≥	107666	000103				  103
≠BIT≡≡BIT5≡≡.DAT3≡≥	107670	032777	000040	047424		BIT	#BIT5,@.DAT3	;DRAM PARITY ?
≠BEQ≡≥	107676	001402				BEQ	4$
≡$PMSG≡≡$PMSG≡≥	107700	104025				$PMSG	
≡$PEDR≡≡$PEDR≡≥	107702	105051				  $PEDR			;DRAM PARITY
≡PNTCPU≡≡PNTCPU≡≥	107704	104132			4$:	PNTCPU			;PRINT ALL CPU INFORMATION
≠BR≡≡$$TDX≡≥	107706	000407				BR	$$TDX
≥					
≠CLR≡≡TENRUN≡≥	107710	005037	147670		TENDEAD: CLR	TENRUN		;CLEAR TEN RUN FLAG
≡PFORCE≡≡PFORCE≡≥	107714	104043				PFORCE
≤PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 135
	CONS11 PAL[KL,SYS]	Page 42.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥						PMSG	<\KL10 HALTED >
≡$PMSG≡≡$PMSG≡≥	107716	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	107720	145661				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡PC≡≡$ALSTA≡≥	107722	004737	107732			JSR	PC,$ALSTA
≠JMP≡≡$CONSL≡≥	107726	000137	100014		$$TDX:	JMP	$CONSL
≥					
≡SETFLG≡≡SETFLG≡≥	107732	104055			$ALSTA:	SETFLG			;MAKE COMMAND ROUTINES INTO SUBROUTINES!
≡ALLFLG≡≡ALLFLG≡≥	107734	147734				  ALLFLG
≠JSR≡≡PC≡≡$ALLPC≡≥	107736	004737	102642			JSR	PC,$ALLPC	;PRINT PC
≠JSR≡≡PC≡≡$ALVMA≡≥	107742	004737	102760			JSR	PC,$ALVMA	; AND VMA
≠JSR≡≡PC≡≡$ALLPI≡≥	107746	004737	103420			JSR	PC,$ALLPI	; AND PI
≤PMSG≡≥						PMSG	< >
≡$PMSG≡≡$PMSG≡≥	107752	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	107754	145677				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡PC≡≡$ALPCF≡≥	107756	004737	103024			JSR	PC,$ALPCF	; AND PC FLAGS
≡PCRLF≡≡PCRLF≡≥	107762	104031				PCRLF			;AND CRLF
≠CLR≡≡ALLFLG≡≥	107764	005037	147734			CLR	ALLFLG
≠RTS≡≡PC≡≥	107770	000207				RTS	PC
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 136
	CONS11 PAL[KL,SYS]	Page 43 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					;C10TO, C10TI
≥					
≡SETFLG≡≡SETFLG≡≥	107772	104055			C10TO:	SETFLG			;TEN TO ELEVEN FOR TYPEOUT
≡TENTTY≡≡TENTTY≡≥	107774	150022				  TENTTY		;ALLOW "TENCHR" TO OPERATE
≠MOV≡≡$TNBUF≡≡$TNPTC≡≥	107776	012737	150032	150250		MOV	#$TNBUF,$TNPTC	;RESET 10 INPUT POINTERS
≠MOV≡≡$TNBUF≡≡$TNPTR≡≥	110004	012737	150032	150252		MOV	#$TNBUF,$TNPTR
≠MOV≡≡R5≡≡R1≡≥	110012	010501				MOV	R5,R1		;GET ASCII CHAR
≡PLDBUF≡≡PLDBUF≡≥	110014	104154				PLDBUF			;PUT IN TTY OUT BUFFER
≠BR≡≡C10DON≡≥	110016	000643				BR	C10DON
≥					
≠CLR≡≡DDTFLG≡≥	110020	005037	147740		C10TI:	CLR	DDTFLG		;TTY INPUT TO 10
≠CMP≡≡$OUTBF≡≡$OUTPT≡≥	110024	022737	150254	150474		CMP	#$OUTBF,$OUTPT	;ANY OUTPUT WAITING ?
≠BNE≡≡C10TIZ≡≥	110032	001025				BNE	C10TIZ		;YES
≠CMP≡≡$TNPTC≡≡$TNPTR≡≥	110034	023737	150250	150252	11$:	CMP	$TNPTC,$TNPTR	;CURRENT BUFFER EMPTY ?
≠BGE≡≡C10TIZ≡≥	110042	002021				BGE	C10TIZ		;YES
≥					
≠MOV≡≡$TNPTC≡≡R1≡≥	110044	013701	150250			MOV	$TNPTC,R1	;GET CHAR POINTER
≠MOVB≡≡R1≡≡R0≡≥	110050	112100				MOVB	(R1)+,R0	;FETCH CHAR FROM 10 BUFFER
≠MOV≡≡R1≡≡$TNPTC≡≥	110052	010137	150250			MOV	R1,$TNPTC
≥					
≠MOV≡≡R0≡≡TENDAT≡≥	110056	010037	147446		C10TIX:	MOV	R0,TENDAT	;PUT CHAR IN 28-35 OF TEN WORD
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	110062	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	110070	104110				DPOSVT			;DEPOSIT IN FROM 11 WORD
≡$DTF11≡≡$DTF11≡≥	110072	000450				  $DTF11
≡TENDAT≡≡TENDAT≡≥	110074	147446				  TENDAT
≠BCC≡≡C10DON≡≥	110076	103213				 BCC	C10DON
≤PMSG≡≥					C10TIE:	PMSG	<?10 TTI>
≡$PMSG≡≡$PMSG≡≥	110100	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	110102	145701				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$$C1≡≥	110104	000473				BR	$$C1
≡TTILIN≡≡TTILIN≡≥	110106	104004			C10TIZ:	TTILIN			;INPUT LINE FOR TEN
≠BCS≡≥	110110	103414				 BCS	5$		;NO RESPONSE
≠MOV≡≡$TNBUF≡≡R1≡≥	110112	012701	150032			MOV	#$TNBUF,R1
≡TTICHR≡≡TTICHR≡≥	110116	104005			3$:	TTICHR			;GET CHAR FROM INPUT
≠BCS≡≥	110120	103402				 BCS	4$		;EMPTY
≠MOVB≡≡R0≡≡R1≡≥	110122	110021				MOVB	R0,(R1)+	;PUT IN TEN BUFFER
≠BR≡≥	110124	000774				BR	3$
≠MOV≡≡R1≡≡$TNPTR≡≥	110126	010137	150252		4$:	MOV	R1,$TNPTR	;UPDATE 10 EOL POINTER
≠MOV≡≡$TNBUF≡≡$TNPTC≡≥	110132	012737	150032	150250		MOV	#$TNBUF,$TNPTC	;SET PICKUP POINTER TO START
≠BR≡≡C10TI≡≥	110140	000727				BR	C10TI		;GO SEND FIRST CHAR TO TEN
≠CLR≡≡R0≡≥	110142	005000			5$:	CLR	R0		;NULL = TIMEOUT
≠BR≡≡C10TIX≡≥	110144	000744				BR	C10TIX
≥					
≠MOV≡≡R5≡≡R1≡≥	110146	010501			C10PNT:	MOV	R5,R1		;GET CONTROL BYTE
≠BIC≡≡R1≡≥	110150	042701	177400			BIC	#177400,R1
≠MOV≡≡R1≡≡$FORCE≡≥	110154	010137	147760			MOV	R1,$FORCE	;PUT IN FORCE FLAG
≠CLR≡≡DDTFLG≡≥	110160	005037	147740			CLR	DDTFLG		;CLEAR DDT MODE
≠JMP≡≡C10DON≡≥	110164	000137	107526		C10X:	JMP	C10DON
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 137
	CONS11 PAL[KL,SYS]	Page 44 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					;Switch functions.  C10SW
≥					
≠MOV≡≡R5≡≡R1≡≥	110170	010501			C10SW:	MOV	R5,R1 		;LOAD SWITCHES INTO FROM 11 WORD
≠BIC≡≡R1≡≥	110172	042701	177774			BIC	#177774,R1	;2 BIT SUBFUNCTION
≤SL≡≥						SL	R1,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R1≡≠.LIST≡≠JMP≡≡C10SWT≡≡R1≡≥	110200	000171	110204			JMP	@C10SWT(R1)
≥					
≡C10SW0≡≡C10SW0≡≥	110204	110226			C10SWT:	C10SW0			;NORMAL SWITCH READ
≡C10SW1≡≡C10SW1≡≥	110206	110214				C10SW1			;ENABLE AUTOMATIC DEPOSIT SWITCHES IN 10-MEMORY
≡C10SW2≡≡C10SW2≡≥	110210	110222				C10SW2			;DISABLE AUTOMATIC DEPOSIT SWITCHES IN 10-MEMORY
≡C10SW0≡≡C10SW0≡≥	110212	110226				C10SW0			;UNDEFINED.
≥					
≡SETFLG≡≡SETFLG≡≥	110214	104055			C10SW1:	SETFLG
≡SWTDEP≡≡SWTDEP≡≥	110216	147422				 SWTDEP
≠BR≡≡C10SW0≡≥	110220	000402				BR	C10SW0
≥					
≠CLR≡≡SWTDEP≡≥	110222	005037	147422		C10SW2:	CLR	SWTDEP		;DON'T AUTO-DEPOSIT
≥					C10SW0:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	110226	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	110234	104110				DPOSVT			;LOAD SWITCHES INTO FROM 11 WORD
≡$DTF11≡≡$DTF11≡≥	110236	000450				  $DTF11
≡SWS10≡≡SWS10≡≥	110240	157240				  SWS10
≠BCS≡≡C10SWE≡≥	110242	103412				 BCS	C10SWE		;BRANCH IF LOSING
≥					
≠TST≡≡SWTDEP≡≥	110244	005737	147422			TST	SWTDEP		;DID PDP-10 ASK FOR SWITCHES?
≠BEQ≡≡C10X≡≥	110250	001745				BEQ	C10X		;NO.  WELL, DON'T STORE UNTIL ASKED.  DONE
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	110252	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	110260	104110				DPOSVT			;LOAD SWITCHES INTO $DTSWR
≡$DTSWR≡≡$DTSWR≡≥	110262	000457				  $DTSWR
≡SWS10≡≡SWS10≡≥	110264	157240				  SWS10
≠BCC≡≡C10X≡≥	110266	103336				 BCC	C10X		;BRANCH IF WINNING
≥					
≤PMSG≡≥					C10SWE:	PMSG	<?10 SW>
≡$PMSG≡≡$PMSG≡≥	110270	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	110272	145711				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	110274	000137	100004		$$C1:	JMP	$CNTLC
≥					
≠MOV≡≡SWS10≡≡R5≡≥	110300	012705	157240		$SW:	MOV	#SWS10,R5
≡TTISDL≡≡TTISDL≡≥	110304	104016				TTISDL
≠BCS≡≥	110306	103407				 BCS	1$		;NON-NUMBER, TYPE PRESENT
≡TTIS36≡≡TTIS36≡≥	110310	104020				TTIS36
≠MOV≡≡R0≡≡R5≡≥	110312	012025				MOV	(R0)+,(R5)+	;PUT IN SWITCH WORD
≠MOV≡≡R0≡≡R5≡≥	110314	011015				MOV	(R0),(R5)
≡TENSW≡≡TENSW≡≥	110316	104145			2$:	TENSW			;DO PDP-10 SWITCHES
≠BCS≡≡C10SWE≡≥	110320	103763				 BCS	C10SWE		;ERROR
≠JMP≡≡$KONSL≡≥	110322	000137	100230		3$:	JMP	$KONSL
≥					
≡TENSW≡≡TENSW≡≥	110326	104145			1$:	TENSW			;FIRST READ AND STORE CURRENT SWITCHES
≠BCS≡≡C10SWE≡≥	110330	103757				 BCS C10SWE
≡PFORCE≡≡PFORCE≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 138
	CONS11 PAL[KL,SYS]	Page 44.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	110332	104043				PFORCE
≠MOV≡≡R5≡≡R0≡≥	110334	010500				MOV	R5,R0		;PRINT CURRENT SWITCHES
≡PNT36≡≡PNT36≡≥	110336	104042				PNT36
≡PCRLF≡≡PCRLF≡≥	110340	104031				PCRLF
≠BR≡≥	110342	000767				BR	3$
≥					
≡SETFLG≡≡SETFLG≡≥	110344	104055			C10DDT:	SETFLG
≡DDTFLG≡≡DDTFLG≡≥	110346	147740				  DDTFLG		;SET FOR DDT MODE INPUT
≡PFORCE≡≡PFORCE≡≥	110350	104043				PFORCE			;SET FORCED PRINTOUT
≠CMP≡≡$OUTBF≡≡$OUTPT≡≥	110352	022737	150254	150474		CMP	#$OUTBF,$OUTPT	;ANY OUTPUT WAITING ?
≠BEQ≡≥	110360	001403				BEQ	2$		;NO
≡SETFLG≡≡SETFLG≡≥	110362	104055				SETFLG
≡$TTLKF≡≡$TTLKF≡≥	110364	147764				  $TTLKF		;PREVENT INPUT CHECKS
≡PRINTT≡≡PRINTT≡≥	110366	104151				PRINTT			;YES, PRINT IT
≡TTLOOK≡≡TTLOOK≡≥	110370	104006			2$:	TTLOOK			;GET INPUT CHAR
≠BCS≡≥	110372	103400				 BCS	3$		;NOTHING THERE, SEND ZERO
≠CMPB≡≡R0≡≡MSWCHR≡≥	110374	120027	000030		3$:	CMPB	R0,#MSWCHR	;SWITCH TO KLDCP?
≠BNE≡≡C10TIX≡≥	110400	001226				BNE	C10TIX		;NO.
≠JMP≡≡MTTYI0≡≥	110402	000137	107212			JMP	MTTYI0		;YES.  READ A LINE FOR KLDCP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 139
	CONS11 PAL[KL,SYS]	Page 45 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					;C10PRG C10PT C10P2 C10P1 C10X1 C10P3 C10P4 C10P5 C10KAS KASET
≥					
≠MOV≡≡R5≡≡R1≡≥	110406	010501			C10PRG:	MOV	R5,R1		;GET CONTROL FIELD
≠BIC≡≡R1≡≥	110410	042701	177760			BIC	#177760,R1
≤SL≡≥						SL	R1,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R1≡≠.LIST≡≠JMP≡≡C10PT≡≡R1≡≥	110416	000171	110422			JMP	@C10PT(R1)	;DISPATCH
≥					
≡TENDEA≡≡TENDEA≡≥	110422	107710			C10PT:	TENDEAD		;HALT
≡C10P1≡≡C10P1≡≥	110424	110466				C10P1		;FATAL
≡C10P2≡≡C10P2≡≥	110426	110462				C10P2		;ERROR HALT
≡C10P3≡≡C10P3≡≥	110430	110476				C10P3		;END OF PROGRAM
≡C10P4≡≡C10P4≡≥	110432	110504				C10P4		;END OF PASS
≡C10P5≡≡C10P5≡≥	110434	110510				C10P5		;GIVE PDP-10 CLOCK DEFAULT WORD
≡DIASEL≡≡DIASEL≡≥	110436	112156				DIASEL		;"DIAMON" FILE SELECTION
≡DIARD≡≡DIARD≡≥	110440	112242				DIARD		;"DIAMON" FILE READ
≡P10CMD≡≡P10CMD≡≥	110442	112144				P10CMD		;PDP-10 PROGRAM COMMAND
≡C10KAS≡≡C10KAS≡≥	110444	110530				C10KAS		;TURN ON KA SIMULATION
≡C10DNX≡≡C10DNX≡≥	110446	107552				C10DNX
≡C10DNX≡≡C10DNX≡≥	110450	107552				C10DNX
≡C10DNX≡≡C10DNX≡≥	110452	107552				C10DNX
≡C10DNX≡≡C10DNX≡≥	110454	107552				C10DNX
≡C10DNX≡≡C10DNX≡≥	110456	107552				C10DNX
≡C10DNX≡≡C10DNX≡≥	110460	107552				C10DNX
≥					
≠CLRB≡≡TENRUN≡≥	110462	105037	147670		C10P2:	CLRB	TENRUN
≠CLR≡≡TENCLK≡≥	110466	005037	152216		C10P1:	CLR	TENCLK
≠JMP≡≡C10DON≡≥	110472	000137	107526		C10X1:	JMP	C10DON
≥					
≠CLRB≡≡TENRUN≡≥	110476	105037	147670		C10P3:	CLRB	TENRUN		;TURN OFF TEN RUNNING
≡ERREOP≡≡ERREOP≡≥	110502	104062				ERREOP			;END OF PROGRAM
≥					
≡EOP≡≡EOP≡≥	110504	104061			C10P4:	EOP
≠BR≡≡C10X≡≥	110506	000626				BR	C10X
≥					
≥					C10P5:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	110510	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	110516	104110				DPOSVT
≡$DTF11≡≡$DTF11≡≥	110520	000450				  $DTF11
≡CLKDFL≡≡CLKDFL≡≥	110522	157246				  CLKDFL
≠BCS≡≡C10BCR≡≥	110524	103453				 BCS C10BCR
≠BR≡≡C10CX≡≥	110526	000442				BR C10CX
≥					
≠JSR≡≡PC≡≡KASET≡≥	110530	004737	110540		C10KAS:	JSR PC,KASET	;SET KASIM MODE
≠JMP≡≡C10DON≡≥	110534	000137	107526			JMP C10DON
≥					
≠TST≡≡KASIM≡≥	110540	005737	147660		KASET:	TST KASIM
≠BNE≡≥	110544	001012				BNE 1$		;KASIM ALREADY ENABLED
≡SETFLG≡≡SETFLG≡≥	110546	104055				SETFLG
≡KASIM≡≡KASIM≡≥	110550	147660				 KASIM
≡SETFLG≡≡SETFLG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 140
	CONS11 PAL[KL,SYS]	Page 45.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	110552	104055				SETFLG
≡SWTDEP≡≡SWTDEP≡≥	110554	147422				 SWTDEP		;ENABLE AUTO SWITCH DEPOSIT
≡SETFLG≡≡SETFLG≡≥	110556	104055				SETFLG
≡MONMOD≡≡MONMOD≡≥	110560	147666				 MONMODE	;TURN ON MONMODE FOR TTY I/O
≡SETFLG≡≡SETFLG≡≥	110562	104055				SETFLG
≡MTTYOF≡≡MTTYOF≡≥	110564	147664				 MTTYOF		;SET TTY OUTPUT DONE FLAG
≡SETFLG≡≡SETFLG≡≥	110566	104055				SETFLG
≡TENCLK≡≡TENCLK≡≥	110570	152216				 TENCLK		;ENABLE CLOCK INTERRUPTS AND SETTING DTCLK
≠RTS≡≡PC≡≥	110572	000207			1$:	RTS PC
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 141
	CONS11 PAL[KL,SYS]	Page 46 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					;Clock operations.  C10CLK
≥					
≠MOV≡≡R5≡≡R1≡≥	110574	010501			C10CLK:	MOV	R5,R1
≠.IIF≡≡SAILVR≡≥		000007			.IIF EQ SAILVR,	BIC	#177774,R1
≠.IIF≡≡SAILVR≡≠BIC≡≡R1≡≥	110576	042701	177770		.IIF GT SAILVR, BIC	#177770,R1		;3 BITS FOR SAIL
≤SL≡≥						SL	R1,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R1≡≠.LIST≡≠JMP≡≡C10CPT≡≡R1≡≥	110604	000171	110610			JMP	@C10CPT(R1)
≥					
≡C10C0≡≡C10C0≡≥	110610	110630			C10CPT:	C10C0			;DISABLE CLOCK COUNT
≡C10C1≡≡C10C1≡≥	110612	110660				C10C1			;RESET CLOCK COUNT.  ENABLE CLOCK COUNT
≡C10C2≡≡C10C2≡≥	110614	110714				C10C2			;RESET CLOCK. ENABLE CLOCK INT AFTER PERIOD
≡C10C3≡≡C10C3≡≥	110616	110640				C10C3			;READ CLOCK COUNT TO 10.
≠.IF≡≡SAILVR≡≥		000007			.IF GT SAILVR
≡C10C4≡≡C10C4≡≥	110620	111154				C10C4			;SET TIME BASE FROM 10. ENABLE KEEPING TIME
≡C10C5≡≡C10C5≡≥	110622	111342				C10C5			;GIVE TIME BASE TO 10.
≠.IF≡≡CLKASB≡≥					.IF DF CLKASB
≡C10C6≡≡C10C6≡≥	110624	111550				C10C6			;STORE AND ENABLE STORING TIME IN $DTTIME
≡C10CER≡≡C10CER≡≥	110626	111140				C10CER
≥					.IFF
≥						C10CER			;ERROR
≥						C10CER			;ERROR
≥					.ENDC ;CLKASB
≥					.ENDC ;SAILVR
≥					
≠CLR≡≡TENCLK≡≥	110630	005037	152216		C10C0:	CLR	TENCLK
≠JMP≡≡C10DON≡≥	110634	000137	107526		C10CX:	JMP	C10DON
≥					
≥					C10C3:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	110640	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	110646	104110				DPOSVT			;LOAD CLOCK COUNT INTO FROM 11 WORD
≡$DTF11≡≡$DTF11≡≥	110650	000450				  $DTF11
≡CLKCNT≡≡CLKCNT≡≥	110652	147426				  CLKCNT
≠BCS≡≡C10CER≡≥	110654	103531			C10BCR:	 BCS	C10CER		;ERROR
≠BR≡≡C10CX≡≥	110656	000766				BR	C10CX
≥					
≡SETFLG≡≡SETFLG≡≥	110660	104055			C10C1:	SETFLG
≡TENCLK≡≡TENCLK≡≥	110662	152216				  TENCLK
≠.IF≡≡SAILVR≡≥					.IF NDF SAILVR
≥					C10CX1:	BIC	#200,KWLKS
≥					1$:	TSTB	KWLKS		;WAIT FOR CLOCK
≥						BPL	1$		;THEN CLEAR TO ALLOW FOR
≥						BIC	#200,KWLKS	;16MS BEFORE 1ST CLOCK
≥					.IFF
≠CLR≡≡CLKFLG≡≥	110664	005037	157160		C10CX1:	CLR	CLKFLG		;SAIL VERSION.  WAIT FOR CLOCK FLAG TO CHANGE
≠TST≡≡CLKFLG≡≥	110670	005737	157160		1$:	TST	CLKFLG
≠BEQ≡≥	110674	001775				BEQ	1$		;LOOP UNTIL INTERRUPT SEEN.
≥					.ENDC
≥					
≠MOV≡≡CLKCNT≡≡R0≡≥	110676	012700	147426			MOV	#CLKCNT,R0	;INIT CLOCK COUNTER
≠CLR≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 142
	CONS11 PAL[KL,SYS]	Page 46.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	110702	005020				CLR	(R0)+
≠CLR≡≡R0≡≥	110704	005020				CLR	(R0)+
≠CLR≡≡R0≡≥	110706	005010				CLR	(R0)
≠JMP≡≡C10DON≡≥	110710	000137	107526			JMP	C10DON
≥					
≥					
≥					C10C2:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	110714	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡EXAMT≡≡EXAMT≡≥	110722	104104				EXAMT			;GET WAIT COUNT FROM TO 11 WORD
≡$DTT11≡≡$DTT11≡≥	110724	000447				  $DTT11
≡C10CW≡≡C10CW≡≥	110726	147434				  C10CW
≠BCS≡≡C10CER≡≥	110730	103503				 BCS	C10CER
≠MOV≡≡TENCLK≡≥	110732	012737	177400	152216		MOV	#177400,TENCLK
≠BR≡≡C10CX1≡≥	110740	000751				BR	C10CX1
≥					
≥					C10COP:
≠.IF≡≡SAILVR≡≥					.IF NDF SAILVR
≥						TSTB	KWLKS		;CLOCK FLAG SET ?
≥						BPL	1$		;NO, RETURN
≥						BIC	#200,KWLKS	;CLEAR FLAG
≥					.IFF
≠TST≡≡CLKFLG≡≥	110742	005737	157160			TST	CLKFLG
≠BEQ≡≥	110746	001473				BEQ	1$
≠CLR≡≡CLKFLG≡≥	110750	005037	157160			CLR	CLKFLG
≥					.ENDC
≥					
≠INC≡≡$TTYTI≡≥	110754	005237	147662			INC	$TTYTIM		;COUNT TTY TIMER
≠CMP≡≡SWR≡≡$$SWR≡≥	110760	023737	177570	157230		CMP	SWR,$$SWR	;PDP-11 CONSOLE SWITCHES CHANGED ?
≠BEQ≡≥	110766	001404				BEQ	3$		;NO
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡TENSW≡≡TENSW≡≥	110772	104145				TENSW			;YES, DO PDP-10 SWITCHES
≠BCS≡≡C10CER≡≥	110774	103461				 BCS	C10CER		;ERROR
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠TSTB≡≡TENRUN≡≥	111000	105737	147670		3$:	TSTB	TENRUN		;IS 10 RUNNING ?
≠BEQ≡≥	111004	001454				BEQ	1$		;NO
≠.IF≡≡CLKASB≡≥					.IF DF CLKASB
≠TST≡≡TMSFLG≡≥	111006	005737	157140			TST TMSFLG
≠BEQ≡≥	111012	001413				BEQ 4$			;NOT TIME TO STORE TIME
≠CLR≡≡TMSFLG≡≥	111014	005037	157140			CLR TMSFLG
≠JSR≡≡PC≡≡RDCLK≡≥	111020	004737	111600			JSR PC,RDCLK		;READ TIME/DATE INTO TIMTMP
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	111024	012737	004000	147424	.IIF NE EPTREL,	MOV #XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOST≡≡DPOST≡≥	111032	104106				DPOST			;STORE IN EPT DTTIME
≡$DTTIM≡≡$DTTIM≡≥	111034	000446				  $DTTIME
≡TIMTMP≡≡TIMTMP≡≥	111036	157152				  TIMTMP
≠BCS≡≡C10CER≡≥	111040	103437				 BCS C10CER		;ERROR
≥					.ENDC ;DF CLKAB
≠TST≡≡TENCLK≡≥	111042	005737	152216		4$:	TST	TENCLK
≠BEQ≡≥	111046	001433				BEQ	1$		;CLOCK NOT ENABLED
≠ADD≡≡CLKCNT≡≥	111050	062737	000001	147426		ADD	#1,CLKCNT	;INCREMENT PDP-10 CLOCK COUNT
≠ADC≡≡CLKCNT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 143
	CONS11 PAL[KL,SYS]	Page 46.2 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	111056	005537	147430			ADC	CLKCNT+2
≠ADC≡≡CLKCNT≡≥	111062	005537	147432			ADC	CLKCNT+4
≠TSTB≡≡TENCLK≡≥	111066	105737	152216			TSTB	TENCLK		;DOING WAIT ?
≠BNE≡≥	111072	001004				BNE	2$		;NO
≠CMP≡≡CLKCNT≡≡C10CW≡≥	111074	023737	147426	147434		CMP	CLKCNT,C10CW	;WAITED LONG ENOUGH ?
≠BNE≡≥	111102	001015				BNE	1$		;NOT YET
≤PUSH≡≥					2$:	PUSH	<R0,R1>
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	111110	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡D10MON≡≡D10MON≡≥	111116	104111				D10MON			;SET -1 TO 10 "$DTCLK"
≡$DTCLK≡≡$DTCLK≡≥	111120	000445				  $DTCLK
≠BCS≡≡C10CER≡≥	111122	103406				 BCS	C10CER
≠MOV≡≡INT10S≡≡.STDTE≡≥	111124	012777	000400	046222		MOV	#INT10S,@.STDTE	;DING TEN
≤POP≡≥						POP	<R1,R0>
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTS≡≡PC≡≥	111136	000207			1$:	RTS	PC
≥					
≠CLR≡≡TENCLK≡≥	111140	005037	152216		C10CER:	CLR	TENCLK
≤PMSG≡≥						PMSG	<?10 CLKOP>
≡$PMSG≡≡$PMSG≡≥	111144	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	111146	145720				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	111150	000137	100004			JMP	$CNTLC
≥					
≥					
≠.IFG≡≡SAILVR≡≥		000007			.IFG SAILVR
≥					C10C4:	
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	111154	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡EXAMT≡≡EXAMT≡≥	111162	104104				EXAMT					;GET ADDRESS FROM TO 11 WORD
≡$DTT11≡≡$DTT11≡≥	111164	000447				  $DTT11
≡TIMADR≡≡TIMADR≡≥	111166	157144				  TIMADR
≠BCS≡≡C10CER≡≥	111170	103763				 BCS	C10CER				;CAN'T READ ADDRESS
≠MOV≡≡TIMADR≡≡R0≡≥	111172	012700	157144			MOV	#TIMADR,R0
≠BIC≡≡R0≡≥	111176	042760	177774	000002		BIC	#177774,2(R0)			;CLEAR ALL BUT BITS 18-19 (TIMADR+2)
≠MOV≡≡EXVIRT≡≡PRTOFF≡≡$TADSP≡≥	111204	012737	024000	147424		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
≡EXAM≡≡EXAM≡≥	111212	104103				EXAM					;EXAMINE 10.  RESULT TO $DRAM
≠BCS≡≡C10CER≡≥	111214	103751				 BCS	C10CER				;IF EXAMINE FAILED.
≠MOV≡≡$DRAM≡≡R0≡≥	111216	013700	147462			MOV	$DRAM,R0			;HIGH WORD BITS 20-35
≤SL≡≥						SL	R0,3				;SHIFT THREE PLACES
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R0≡≠ASL≡≡R0≡≠ASL≡≡R0≡≠.LIST≡≠MOV≡≡R0≡≡TIMADR≡≥	111230	010037	157150			MOV	R0,TIMADR+4			;SAVE HIGH BITS FOR AWHILE
≠MOV≡≡TIMADR≡≡R0≡≥	111234	012700	157144			MOV	#TIMADR,R0
≠ADD≡≡R0≡≥	111240	062720	000001			ADD	#1,(R0)+			;INCREMENT PDP-10 ADDRESS
≠ADC≡≡R0≡≥	111244	005510				ADC	(R0)				;FOR FETCH OF LOW ORDER WORD
≠BIC≡≡R0≡≥	111246	042710	177774			BIC	#177774,(R0)
≠TST≡≡R0≡≥	111252	005740				TST	-(R0)
≠MOV≡≡EXVIRT≡≡PRTOFF≡≡$TADSP≡≥	111254	012737	024000	147424		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
≡EXAM≡≡EXAM≡≥	111262	104103				EXAM	
≠BCS≡≡C10CER≡≥	111264	103725				 BCS	C10CER
≠MOV≡≡$DRAM≡≡R0≡≥	111266	012700	147466			MOV	#$DRAM+4,R0
≠BIC≡≡R0≡≥	111272	042710	177770			BIC	#177770,(R0)			;CLEAR ALL BUT LOW WORD'S BITS 1-3
≠BIS≡≡TIMADR≡≡R0≡≥	111276	053710	157150			BIS	TIMADR+4,(R0)			;INCLUDE BITS 23-35 OF HIGH WORD
≠MOV≡≡TIMBAS≡≡R1≡≥	111302	012701	157170			MOV	#TIMBAS+4,R1
≤PUSH≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 144
	CONS11 PAL[KL,SYS]	Page 46.3 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥						PUSH	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡PS≡≡SP≡≠.LIST≡≠MOV≡≡PR7≡≡PS≡≥	111312	012737	000340	177776		MOV	#PR7,PS				;TURN OFF INTERRUPTS
≠MOV≡≡R0≡≡R1≡≥	111320	011011				MOV	(R0),(R1)
≠MOV≡≡R0≡≡R1≡≥	111322	014041				MOV	-(R0),-(R1)
≠MOV≡≡R0≡≡R1≡≥	111324	014041				MOV	-(R0),-(R1)
≤POP≡≥						POP	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡PS≡≠.LIST≡≡SETFLG≡≡SETFLG≡≥	111332	104055				SETFLG
≡KTIMBS≡≡KTIMBS≡≥	111334	157162				 KTIMBS					;KEEP TIME BASE
≠JMP≡≡C10DON≡≥	111336	000137	107526		C10XXX:	JMP	C10DON
≥					
≥					
≠MOV≡≡TIMTMP≡≡R1≡≥	111342	012701	157152		C10C5:	MOV	#TIMTMP,R1
≠MOV≡≡TIMBAS≡≡R0≡≥	111346	012700	157164			MOV	#TIMBAS,R0
≤PUSH≡≥						PUSH	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡PS≡≡SP≡≠.LIST≡≠MOV≡≡PR7≡≡PS≡≥	111356	012737	000340	177776		MOV	#PR7,PS				;TURN OFF INTERRUPTS
≠MOV≡≡R0≡≡R1≡≥	111364	012021				MOV	(R0)+,(R1)+			;COPY TIMTMP←TIMBAS
≠MOV≡≡R0≡≡R1≡≥	111366	012021				MOV	(R0)+,(R1)+
≠MOV≡≡R0≡≡R1≡≥	111370	011011				MOV	(R0),(R1)
≤POP≡≥						POP	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡PS≡≠.LIST≡≠TST≡≡KTIMBS≡≥	111376	005737	157162			TST	KTIMBS				;ARE WE COUNTING TIMEBASE?
≠BNE≡≥	111402	001003				BNE	1$				;JUMP IF YES
≠CLR≡≡R1≡≥	111404	005011				CLR	(R1)				;NO. TIMEBASE NOT KEPT OR INVALID
≠CLR≡≡R1≡≥	111406	005041				CLR	-(R1)				;RETURN ZERO.
≠CLR≡≡R1≡≥	111410	005041				CLR	-(R1)
≥					1$:
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	111412	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡EXAMT≡≡EXAMT≡≥	111420	104104				EXAMT					;GET DEP ADDRESS FROM TO 11 WORD
≡$DTT11≡≡$DTT11≡≥	111422	000447				  $DTT11
≡TIMADR≡≡TIMADR≡≥	111424	157144				  TIMADR
≠BCS≡≡C10CER≡≥	111426	103644				 BCS	C10CER				;CAN'T READ ADDRESS
≠MOV≡≡TIMADR≡≡R1≡≥	111430	012701	157144			MOV	#TIMADR,R1
≠BIC≡≡R1≡≥	111434	042761	177774	000002		BIC	#177774,2(R1)			;CLEAR ALL BUT BITS 18-19 (TIMADR+2)
≠MOV≡≡TIMTMP≡≡R2≡≥	111442	013702	157156			MOV	TIMTMP+4,R2			;GET HIGH ORDER TIME BASE
≤SR≡≥						SR	R2,3				;SHIFT TO ALIGN BITS 23-35
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R2≡≠ASR≡≡R2≡≠ASR≡≡R2≡≠.LIST≡≠MOV≡≡$DRAM≡≡R0≡≥	111454	012700	147466			MOV	#$DRAM+4,R0
≠CLR≡≡R0≡≥	111460	005010				CLR	(R0)
≠CLR≡≡R0≡≥	111462	005040				CLR	-(R0)
≠MOV≡≡R2≡≡R0≡≥	111464	010240				MOV	R2,-(R0)			;$DRAM+0←BITS 23-35 OF HIGH WORD
≠MOV≡≡EXVIRT≡≡PRTOFF≡≡$TADSP≡≥	111466	012737	024000	147424		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
≡DPOSVR≡≡DPOSVR≡≥	111474	104107				DPOSVR					;SEND HIGH WORD
≠BCS≡≡C10CER≡≥	111476	103620				 BCS	C10CER
≠MOV≡≡TIMADR≡≡R1≡≥	111500	012701	157144			MOV	#TIMADR,R1			;INCREMENT ADDRESS TO LOW WORD
≠ADD≡≡R1≡≥	111504	062721	000001			ADD	#1,(R1)+
≠ADC≡≡R1≡≥	111510	005511				ADC	(R1)
≠BIC≡≡R1≡≥	111512	042711	177774			BIC	#177774,(R1)
≠TST≡≡R1≡≥	111516	005741				TST	-(R1)
≠BIC≡≡TIMTMP≡≥	111520	042737	177770	157156		BIC	#177770,TIMTMP+4		;CLEAR ALL BUT BITS 1-3
≠MOV≡≡TIMTMP≡≡R0≡≥	111526	012700	157152			MOV	#TIMTMP,R0
≠MOV≡≡EXVIRT≡≡PRTOFF≡≡$TADSP≡≥	111532	012737	024000	147424		MOV	#EXVIRT!PRTOFF,$TADSP		;ADDRESS GIVEN IS EXEC VIRTUAL
≡DPOSVR≡≡DPOSVR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 145
	CONS11 PAL[KL,SYS]	Page 46.4 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	111540	104107				DPOSVR
≠BCC≡≡C10XXX≡≥	111542	103275				 BCC	C10XXX
≠JMP≡≡C10CER≡≥	111544	000137	111140		C10CR1:	JMP	C10CER
≥					
≠.IF≡≡CLKASB≡≥					.IF DF CLKASB
≡SETFLG≡≡SETFLG≡≥	111550	104055			C10C6:	SETFLG				;ENABLE STORING TIME/DATE
≡TIMFLG≡≡TIMFLG≡≥	111552	157142				 TIMFLG
≠JSR≡≡PC≡≡RDCLK≡≥	111554	004737	111600			JSR PC,RDCLK			;READ CLOCK INTO TIMTMP
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	111560	012737	004000	147424	.IIF NE EPTREL,	MOV #XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	111566	104110				DPOSVT
≡$DTTIM≡≡$DTTIM≡≥	111570	000446				  $DTTIME
≡TIMTMP≡≡TIMTMP≡≥	111572	157152				  TIMTMP
≠BCS≡≡C10CR1≡≥	111574	103763				 BCS C10CR1			;ERROR
≠BR≡≡C10XXX≡≥	111576	000657				BR C10XXX
≥					
≥					;FORMAT OF DTTIME PDP10 WORD IS:
≥					;BYTE (5)DAY (2)0 (5)HOUR (2)0 (6)MINUTE (4)MONTH,YEAR (2)0 (6)SECOND
≥					
≤PUSH≡≥					RDCLK:	PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R2
≠.NLIST≡≠.IRP≡≠MOV≡≡R2≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R3
≠.NLIST≡≠.IRP≡≠MOV≡≡R3≡≡SP≡≠.LIST≡≠TSTB≡≡$CLKST≡≥	111610	105777	766236		2$:	TSTB @$CLKST
≠BPL≡≥	111614	100375				BPL 2$				;MAKE SURE CLOCK IS READY
≠MOV≡≡$CLKMD≡≡R0≡≥	111616	017700	766222			MOV @$CLKMD,R0
≠MOV≡≡$CLKHM≡≡R1≡≥	111622	017701	766220			MOV @$CLKHM,R1
≠MOV≡≡$CLKSE≡≡R2≡≥	111626	017702	766216			MOV @$CLKSEC,R2
≠CMP≡≡$CLKMD≡≡R0≡≥	111632	027700	766206			CMP @$CLKMD,R0
≠BNE≡≥	111636	001364				BNE 2$
≠CMP≡≡$CLKHM≡≡R1≡≥	111640	027701	766202			CMP @$CLKHM,R1
≠BNE≡≥	111644	001361				BNE 2$
≠CMP≡≡$CLKSE≡≡R2≡≥	111646	027702	766176			CMP @$CLKSEC,R2
≠BNE≡≥	111652	001356				BNE 2$
≠BIT≡≡R2≡≥	111654	032702	001400			BIT #1400,R2			;TEST LOW TWO YEAR BITS
≠BEQ≡≥	111660	001407				BEQ 3$				;BRANCH IF A LEAP YEAR
≠CMP≡≡R0≡≥	111662	020027	001035			CMP R0,#2*400+29.		;IS IT FEB 29?
≠BNE≡≥	111666	001004				BNE 3$				;NO
≠MOV≡≡$CLKMD≡≥	111670	012777	001501	766146		MOV #3*400+1+100,@$CLKMD	;YES, SET TO MAR 1
≠BR≡≥	111676	000744				BR 2$
≠MOV≡≡R0≡≡R3≡≥	111700	010003			3$:	MOV R0,R3
≤SL≡≥						SL R3,4
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R3≡≠ASL≡≡R3≡≠ASL≡≡R3≡≠ASL≡≡R3≡≠.LIST≡≠BIC≡≡R3≡≥	111712	042703	007777			BIC #7777,R3			;LEAVE TOP 4 BITS (MONTH)
≠BIS≡≡R3≡≡R2≡≥	111716	050302				BIS R3,R2			;MONTH/YEAR//SECONDS
≠ROR≡≡R0≡≥	111720	006000				ROR R0
≠BCC≡≥	111722	103002				BCC 1$
≠BIS≡≡R1≡≥	111724	052701	100000			BIS #100000,R1			;LOW BIT OF DAY
≠MOV≡≡TIMTMP≡≡R3≡≥	111730	012703	157152		1$:	MOV #TIMTMP,R3
≠MOV≡≡R2≡≡R3≡≥	111734	010223				MOV R2,(R3)+
≠MOV≡≡R1≡≡R3≡≥	111736	010123				MOV R1,(R3)+
≠BIC≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 146
	CONS11 PAL[KL,SYS]	Page 46.5 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	111740	042700	177760			BIC #177760,R0			;JUST KEEP LOW 4 BITS
≠MOV≡≡R0≡≡R3≡≥	111744	010013				MOV R0,(R3)
≤POP≡≥						POP R3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R3≡≠.LIST≡≤POP≡≥						POP R2
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R2≡≠.LIST≡≤POP≡≥						POP R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTS≡≡PC≡≥	111756	000207				RTS PC
≥					
≠RTI≡≠RTI≡≥	111760	000002			TCUINT:	RTI				;INT FROM SETTING CLOCK
≥					
≥					.ENDC ;DF CLKASB
≥					
≥					.ENDC ;SAILVR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 147
	CONS11 PAL[KL,SYS]	Page 47 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥					;PDP-10 SWITCH REGISTER
≥					
≠MOV≡≡SWR≡≡$$SWR≡≥	111762	013737	177570	157230	$TENSW:	MOV	SWR,$$SWR	;GET PDP-11 SWITCHES
≠MOV≡≡$$SWR≡≡$SWS10≡≥	111770	013737	157230	157234		MOV	$$SWR,$SWS10+2
≥					
≠MOV≡≡$SWS10≡≡R1≡≥	111776	012701	157232			MOV	#$SWS10,R1	;POSITION FOR 0 TO 15 OF
≠MOV≡≡R3≡≥	112002	012703	000004			MOV	#4,R3		;PDP-10 SWITCH REGISTER
≡PROL36≡≡PROL36≡≥	112006	104146				PROL36
≥					
≠MOV≡≡$SWS10≡≡R4≡≥	112010	012704	157234			MOV	#$SWS10+2,R4	;Bits 4:15 + xxxx of new stuff
≠MOV≡≡SWS10≡≡R5≡≥	112014	012705	157242			MOV	#SWS10+2,R5	;old switches.
≥					
≠BIC≡≡R4≡≥	112020	042714	000017			BIC	#17,(R4)	;CLEAR 16-19 FROM NEW
≠BIC≡≡R5≡≥	112024	042715	177760			BIC	#177760,(R5)	;CLEAR 4-15 FROM OLD
≥					
≠BIS≡≡R4≡≡R5≡≥	112030	052425				BIS	(R4)+,(R5)+	;INSERT BITS 4-15
≥					
≠BIC≡≡R4≡≥	112032	042714	177760			BIC	#177760,(R4)	;CLEAR HI JUNK FROM NEW
≠BIC≡≡R5≡≥	112036	042715	000017			BIC	#17,(R5)	;CLEAR 0-3 FROM OLD
≥					
≠BIS≡≡R4≡≡R5≡≥	112042	051415				BIS	(R4),(R5)	;INSERT BITS 0-3
≥					
≠TSTB≡≡TENRUN≡≥	112044	105737	147670			TSTB	TENRUN		;PDP-10 RUNNING ?
≠BEQ≡≥	112050	001412				BEQ	1$		;NO
≥					
≠.IF≡≡SAILVR≡≥					.IF DF SAILVR
≠TST≡≡SWTDEP≡≥	112052	005737	147422			TST	SWTDEP		;DID PDP-10 ASK FOR SWITCHES?
≠BEQ≡≥	112056	001407				BEQ	1$		;NO.  WELL, DON'T STORE UNTIL ASKED
≥					.ENDC
≥					
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	112060	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	112066	104110				DPOSVT			;DEPOSIT PDP-10 SWITCH REGISTER
≡$DTSWR≡≡$DTSWR≡≥	112070	000457				  $DTSWR		;IN DTE20 COMM AREA
≡SWS10≡≡SWS10≡≥	112072	157240				  SWS10
≠BCS≡≥	112074	103402				 BCS	2$		;ERROR
≡$TCX≠≥		112076			$TCX=.
≤EXIT≡≥					1$:	EXIT
≠JMP≡≡$EXIT≡≥	112076	000137	124064			  JMP	$EXIT
≤EXITER≡≥					2$:	EXITERR			;RETURN
≠JMP≡≡$EXITE≡≥	112102	000137	124036			  JMP	$EXITE
≥					
≥					;PDP-10 LAST TYPED CHARACTER ROUTINE
≥					
≠TSTB≡≡TENRUN≡≥	112106	105737	147670		$TENCHR:TSTB	TENRUN		;PDP-10 RUNNING ?
≠BEQ≡≡$TCX≡≥	112112	001771				BEQ	$TCX		;NO
≠TST≡≡TENTTY≡≥	112114	005737	150022			TST	TENTTY		;TTY DEPOSIT ALLOWED ?
≠BEQ≡≡$TCX≡≥	112120	001766				BEQ	$TCX		;NO
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	112124	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOST≡≡DPOST≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 148
	CONS11 PAL[KL,SYS]	Page 47.1 	PDP-10 RUN TIME SUPPORT		;TENCMD CMD10T C10DON

≥	112132	104106				DPOST			;YES, SEND LAST TYPED CHAR
≡$DTCHR≡≡$DTCHR≡≥	112134	000454				  $DTCHR
≡$TNCHR≡≡$TNCHR≡≥	112136	150024				  $TNCHR
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡$TCX≡≥	112142	000755				BR	$TCX		;DON'T CARE IF FAILED
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 149
	CONS11 PAL[KL,SYS]	Page 48 	PDP-10 PROGRAM COMMAND

≥					.SBTTL	PDP-10 PROGRAM COMMAND
≥					
≠MOV≡≡R0≡≥	112144	012700	777777		P10CMD:	MOV	#-1,R0		;USE OUTPUT BUFFER
≡PRGCMD≡≡PRGCMD≡≥	112150	104133				PRGCMD			;& PROGRAM COMMAND
≠BCS≡≡DIANF≡≥	112152	103430				 BCS	DIANF		;C-BIT SET, ERROR
≠BR≡≡DIAFND≡≥	112154	000424				BR	DIAFND		;PASSED
≥					
≠.SBTTL≡≥					.SBTTL	"DIAMON" FILE SELECTION AND READ ROUTINES
≥					
≠MOV≡≡$INBUF≡≡R1≡≥	112156	012701	150500		DIASEL:	MOV	#$INBUF,R1	;PUT "P" & "SPACE" FIRST
≠MOV≡≡R1≡≥	112162	012721	020120			MOV	#"P ,(R1)+	;IN CASE ACT10 LOAD
≠MOV≡≡$OUTBF≡≡R0≡≥	112166	012700	150254			MOV	#$OUTBF,R0	;TRANSFER "DIAMON" FILE.EXT
≠MOV≡≡R0≡≡$OUTPT≡≥	112172	010037	150474			MOV	R0,$OUTPT	;TO INPUT BUFFER
≠JSR≡≡PC≡≡$DIASX≡≥	112176	004737	101612			JSR	PC,$DIASX
≠MOV≡≡$INBUF≡≡$INPTC≡≥	112202	012737	150502	150716		MOV	#$INBUF+2,$INPTC ;SET PICKUP POINTER
≥					
≡NAMEXT≡≡NAMEXT≡≥	112210	104206				NAMEXT			;SETUP FILE NAME.EXT
≥					
≡SETFLG≡≡SETFLG≡≥	112212	104055				SETFLG
≡LDCNTL≡≡LDCNTL≡≥	112214	150734				  LDCNTL		;SET LOAD CONTROL TO HELP
≡SETFLG≡≡SETFLG≡≥	112216	104055				SETFLG
≡DIAFLG≡≡DIAFLG≡≥	112220	151120				  DIAFLG		;SET PROCESSING TO "DIAMON" MODE
≥					
≠JMP≡≡DEVFIL≡≥	112222	000137	133350			JMP	DEVFIL		;GO LOOKUP & READ FIRST ASCII LINE
≥					
≥					;RETURN HERE WHEN FILE FOUND
≠CLR≡≡R0≡≥	112226	005000			DIAFND:	CLR	R0		;SET FOUND INDICATOR
≠JMP≡≡C10TIX≡≥	112230	000137	110056		$DIAFX:	JMP	C10TIX		;USE 10 TTY INPUT ROUTINE
≥					
≥					;RETURN HERE WHEN FILE NOT FOUND
≠MOV≡≡R0≡≥	112234	012700	777777		DIANF:	MOV	#-1,R0		;SET NOT FOUND INDICATOR
≠BR≡≡$DIAFX≡≥	112240	000773				BR	$DIAFX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 150
	CONS11 PAL[KL,SYS]	Page 49 	"DIAMON" FILE SELECTION AND READ ROUTINES

≥					;"DIAMON" FILE READ
≥					
≠JSR≡≡PC≡≡$TI36C≡≥	112242	004737	122044		DIARD:	JSR	PC,$TI36C	;CLEAR 36 BIT WORD STORAGE
≥					
≠CMP≡≡$INPTC≡≡$INPTR≡≥	112246	023737	150716	150720		CMP	$INPTC,$INPTR	;ANY CURRENT INPUT ?
≠BLE≡≡DIARNL≡≥	112254	003402				BLE	DIARNL		;NO
≠JMP≡≡ACTLD2≡≥	112256	000137	140312		1$:	JMP	ACTLD2		;GO READ NEXT INPUT LINE
≥					
≡DIARNL≠≥		112262			DIARNL=.			;RETURN HERE WITH NEW LINE SETUP
≠MOV≡≡R2≡≥	112262	012702	000005		2$:	MOV	#5,R2		;5 ASCII CHARS PER 36 BIT WORD
≥					
≠CMP≡≡$INPTC≡≡$INPTR≡≥	112266	023737	150716	150720	3$:	CMP	$INPTC,$INPTR	;EOL ?
≠BGT≡≥	112274	003014				BGT	4$		;YES
≠MOVB≡≡$INPTC≡≡R0≡≥	112276	117700	036414			MOVB	@$INPTC,R0	;GET FILE LINE CHAR
≠INC≡≡$INPTC≡≥	112302	005237	150716			INC	$INPTC
≠MOV≡≡R1≡≥	112306	012701	000007			MOV	#7,R1
≠JSR≡≡PC≡≡SHFT36≡≥	112312	004737	121766			JSR	PC,SHFT36	;SHIFT 36 BIT WORD LEFT 7
≠BISB≡≡R0≡≡$DRAM≡≥	112316	150037	147462			BISB	R0,$DRAM	;INSERT NEW ASCII BYTE
≠DEC≡≡R2≡≥	112322	005302				DEC	R2		;DONE 5 CHARS ?
≠BGT≡≥	112324	003360				BGT	3$		;NOT YET
≥					
≠CLR≡≡R1≡≥	112326	005001			4$:	CLR	R1		;LEFT JUSTIFY FOR PDP-10 ASCII
≠JSR≡≡PC≡≡SHFT36≡≥	112330	004737	121766			JSR	PC,SHFT36
≥					
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	112334	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡DPOSVT≡≡DPOSVT≡≥	112342	104110				DPOSVT			;LOAD INTO FROM 11 WORD
≡$DTF11≡≡$DTF11≡≥	112344	000450				  $DTF11
≡$DRAM≡≡$DRAM≡≥	112346	147462				  $DRAM
≠BCC≡≥	112350	103012				 BCC	6$		;OK
≥					
≤PMSG≡≥					5$:	PMSG	<?DIAMON XFER>
≡$PMSG≡≡$PMSG≡≥	112352	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	112354	145732				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	112356	000137	100004			JMP	$CNTLC
≥					
≡DIAEOF≠≥		112362			DIAEOF=.			;DIAMON READ END-OF-FILE
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	112362	012737	004000	147424	.IIF NE EPTREL,	MOV	#XEPT!PRTOFF,$TADSP	;SET ADDR MODE FOR NEXT EXDEP
≡D10MON≡≡D10MON≡≥	112370	104111				D10MON			;SET FROM 11 WORD -1
≡$DTF11≡≡$DTF11≡≥	112372	000450				  $DTF11
≠BCS≡≥	112374	103766				 BCS	5$		;ERROR
≥					
≠JMP≡≡C10DON≡≥	112376	000137	107526		6$:	JMP	C10DON		;TELL 10 TO CONTINUE
≥					
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 151
	CONS11 PAL[KL,SYS]	Page 50 	PDP-11 CONSOLE FUNCTIONS

≥					.SBTTL	PDP-11 CONSOLE FUNCTIONS
≥					
≥					;START PDP11 AT ADDRESS GIVEN
≥					
≡TTISDL≡≡TTISDL≡≥	112402	104016			.SE:	TTISDL
≠BCS≡≥	112404	103405				 BCS	2$		;NON-NUMBER
≥					
≡TTOCTE≡≡TTOCTE≡≥	112406	104200			1$:	TTOCTE			;READ AN OCTAL ADDRESS
≥					
≠MOV≡≡R0≡≡SEADR≡≥	112410	010037	157200		4$:	MOV	R0,SEADR	;GO TO ADDRESS IN R0
≠JMP≡≡SRT11≡≥	112414	000137	113250			JMP	SRT11
≥					
≠CMPB≡≡R0≡≥	112420	122700	000104		2$:	CMPB	#'D,R0		;"D", START DIAGNOSTIC
≠BEQ≡≥	112424	001406				BEQ	3$
≠CMPB≡≡R0≡≥	112426	122700	000103			CMPB	#'C,R0		;"C", START CONSOLE
≠BNE≡≡$$CMDE≡≥	112432	001145				BNE	$$CMDE
≠MOV≡≡PRGSRT≡≡R0≡≥	112434	012700	100000			MOV	#PRGSRT,R0
≠BR≡≥	112440	000763				BR	4$
≠MOV≡≡R0≡≥	112442	012700	003000		3$:	MOV	#3000,R0
≠BR≡≥	112446	000760				BR	4$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 152
	CONS11 PAL[KL,SYS]	Page 51 	PDP-11 CONSOLE FUNCTIONS

≥					;EXAMINE ELEVEN AT ADDRESS GIVEN
≥					
≠MOV≡≡R5≡≥	112450	012705	000001		.EE:	MOV	#1,R5
≠BR≡≡.EEB≡≥	112454	000401				BR	.EEB
≥					
≠CLR≡≡R5≡≥	112456	005005			.EB:	CLR	R5
≥					
≠MOV≡≡.EADR≡≡R2≡≥	112460	012702	147726		.EEB:	MOV	#.EADR,R2
≠CLR≡≡R3≡≥	112464	005003				CLR	R3
≡TTISDL≡≡TTISDL≡≥	112466	104016				TTISDL
≠BCS≡≥	112470	103445				 BCS	6$		;NON-NUMBER
≥					
≡TTCOCT≡≡TTCOCT≡≥	112472	104010				TTCOCT			;READ AN OCTAL ADDRESS
≥					
≠MOV≡≡R0≡≡R1≡≥	112474	010001				MOV	R0,R1
≠MOV≡≡R0≡≡R2≡≥	112476	010012				MOV	R0,(R2)		;SAVE ADR FOR DEPOSIT
≥					
≡TTIBRK≡≡TTIBRK≡≥	112500	104015				TTIBRK			;GET BREAK CHAR
≠BCS≡≡$$PARA≡≥	112502	103517				 BCS	$$PARA
≠CMPB≡≡COMMA≡≡R0≡≥	112504	122700	000054			CMPB	#COMMA,R0
≠BNE≡≥	112510	001004				BNE	2$
≠INC≡≡R3≡≥	112512	005203				INC	R3		;SET MULTIPLE PRINT FLAG
≡PNORML≡≡PNORML≡≥	112514	104044				PNORML
≡TTCOCT≡≡TTCOCT≡≥	112516	104010				TTCOCT			;GET LAST ADDRESS
≠MOV≡≡R0≡≡R4≡≥	112520	010004				MOV	R0,R4		;SAVE END ADR
≥					
≠BIC≡≡R5≡≡R1≡≥	112522	040501			2$:	BIC	R5,R1		;IF WORD, MAKE EVEN
≠MOV≡≡R1≡≡R0≡≥	112524	010100			21$:	MOV	R1,R0
≠MOV≡≡R1≡≡R2≡≥	112526	010112				MOV	R1,(R2)		;SAVE ADDRESS
≡PNTOCT≡≡PNTOCT≡≥	112530	104035				PNTOCT			;PRINT ADDRESS
≡PSLASH≡≡PSLASH≡≥	112532	104033				PSLASH
≥					
≠TST≡≡R5≡≥	112534	005705			1$:	TST	R5		;BYTE ?
≠BEQ≡≥	112536	001403				BEQ	3$		;YES
≥					
≠MOV≡≡R1≡≡R0≡≥	112540	011100				MOV	(R1),R0
≡PNTOCT≡≡PNTOCT≡≥	112542	104035				PNTOCT			;PRINT CONTENTS OF ADDRESS
≠BR≡≥	112544	000404				BR	4$
≥					
≠MOVB≡≡R1≡≡R0≡≥	112546	111100			3$:	MOVB	(R1),R0
≠BIC≡≡R0≡≥	112550	042700	177400			BIC	#177400,R0
≡PNTOCS≡≡PNTOCS≡≥	112554	104036				PNTOCS			;PRINT BYTE CONTENTS
≠TST≡≡R3≡≥	112556	005703			4$:	TST	R3
≠BEQ≡≥	112560	001406				BEQ	5$
≡PCRLF≡≡PCRLF≡≥	112562	104031				PCRLF
≠CMP≡≡R1≡≡R4≡≥	112564	020104				CMP	R1,R4
≠BHIS≡≥	112566	103003				BHIS	5$
≠INC≡≡R1≡≥	112570	005201				INC	R1		;INCREMENT ADDRESS
≠ADD≡≡R5≡≡R1≡≥	112572	060501				ADD	R5,R1		;IF WORD, INC BY 2
≠BR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 153
	CONS11 PAL[KL,SYS]	Page 51.1 	PDP-11 CONSOLE FUNCTIONS

≥	112574	000752				BR	2$
≥					
≡PCRLF≡≡PCRLF≡≥	112576	104031			5$:	PCRLF
≠JMP≡≡$KONSL≡≥	112600	000137	100230			JMP	$KONSL
≥					
≠BEQ≡≥	112604	001407			6$:	BEQ	7$		;UPARROW
≠BVC≡≥	112606	102002				BVC	61$		;NONE
≠INC≡≡R2≡≥	112610	005212				INC	(R2)		;EXAMINE NEXT 11 ADDRESS
≠ADD≡≡R5≡≡R2≡≥	112612	060512				ADD	R5,(R2)
≠MOV≡≡R2≡≡R1≡≥	112614	011201			61$:	MOV	(R2),R1
≠INC≡≡$INPTC≡≥	112616	005237	150716			INC	$INPTC		;ADVANCE PAST TERMINATOR
≠BR≡≥	112622	000737				BR	2$
≥					
≠DEC≡≡R2≡≥	112624	005312			7$:	DEC	(R2)
≠SUB≡≡R5≡≡R2≡≥	112626	160512				SUB	R5,(R2)
≠BR≡≥	112630	000771				BR	61$
≥					
≥					;ZERO ELEVEN
≥					
≡TTOCTE≡≡TTOCTE≡≥	112632	104200			.ZE:	TTOCTE			;GET START ADDRESS
≠MOV≡≡R0≡≡R5≡≥	112634	010005				MOV	R0,R5
≥					
≡TTCOCT≡≡TTCOCT≡≥	112636	104010				TTCOCT			;GET END ADDRESS
≥					
≠CLR≡≡R5≡≥	112640	005025			1$:	CLR	(R5)+		;ZERO 11
≠CMP≡≡R5≡≡R0≡≥	112642	020500				CMP	R5,R0		;COMPLETED ?
≠BLOS≡≥	112644	101775				BLOS	1$		;NO
≠JMP≡≡$CONSL≡≥	112646	000137	100014			JMP	$CONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 154
	CONS11 PAL[KL,SYS]	Page 52 	PDP-11 CONSOLE FUNCTIONS

≥					;DEPOSIT ELEVEN DATA
≥					
≠MOV≡≡R5≡≥	112652	012705	000001		.DE:	MOV	#1,R5		;DEPOSIT 11 WORD
≠BR≡≡.DEB≡≥	112656	000401				BR	.DEB
≥					
≠CLR≡≡R5≡≥	112660	005005			.DB:	CLR	R5		;DEPOSIT 11 BYTE
≥					
≠MOV≡≡.EADR≡≡R2≡≥	112662	012702	147726		.DEB:	MOV	#.EADR,R2
≡TTISDL≡≡TTISDL≡≥	112666	104016				TTISDL
≠BCS≡≥	112670	103421				 BCS	5$		;NON-NUMBER
≥					
≡TTCOCT≡≡TTCOCT≡≥	112672	104010				TTCOCT			;READ OCTAL ADDRESS
≥					
≠MOV≡≡R0≡≡R1≡≥	112674	010001			1$:	MOV	R0,R1
≠TST≡≡R5≡≥	112676	005705				TST	R5
≠BEQ≡≥	112700	001402				BEQ	2$
≠BIT≡≡R5≡≡R0≡≥	112702	030500				BIT	R5,R0
≠BNE≡≡$$PARA≡≥	112704	001016				BNE	$$PARA		;WORD, ODD ADDRESSES ILLEGAL
≥					
≡TTISDL≡≡TTISDL≡≥	112706	104016			2$:	TTISDL
≠BCS≡≡$$CMDE≡≥	112710	103416				 BCS	$$CMDE
≡TTCOCT≡≡TTCOCT≡≥	112712	104010				TTCOCT			;GET DATA
≥					
≠MOV≡≡R1≡≡R2≡≥	112714	010112				MOV	R1,(R2)
≥					
≠TST≡≡R5≡≥	112716	005705				TST	R5		;BYTE ?
≠BEQ≡≥	112720	001402				BEQ	3$
≥					
≠MOV≡≡R0≡≡R1≡≥	112722	010011				MOV	R0,(R1)		;STOW IT
≠BR≡≥	112724	000401				BR	4$
≥					
≠MOVB≡≡R0≡≡R1≡≥	112726	110011			3$:	MOVB	R0,(R1)		;STOW 11 BYTE
≠JMP≡≡$KONSL≡≥	112730	000137	100230		4$:	JMP	$KONSL
≥					
≠BVC≡≡$$CMDE≡≥	112734	102004			5$:	BVC	$$CMDE		;IF COLON, USE PREVIOUS EXAMINE ADDRESS
≠MOV≡≡R2≡≡R0≡≥	112736	011200				MOV	(R2),R0
≠BR≡≥	112740	000755				BR	1$
≥					
≠JMP≡≡$PARA≡≥	112742	000137	113356		$$PARA:	JMP	$PARA
≠JMP≡≡$CMDE≡≥	112746	000137	113364		$$CMDE:	JMP	$CMDE
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 155
	CONS11 PAL[KL,SYS]	Page 53 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥					.SBTTL	KL10 MONITOR & ACT10 COMMAND ROUTINES
≥					
≡SETFLG≡≡SETFLG≡≥	112752	104055			$VERIFY:SETFLG
≡VERIFY≡≡VERIFY≡≥	112754	147730				  VERIFY
≡PNORML≡≡PNORML≡≥	112756	104044				PNORML
≠CLR≡≡LDOVRD≡≥	112760	005037	150732			CLR	LDOVRD		;CLEAR OVERRIDE
≠BR≡≡$PROG1≡≥	112764	000430				BR	$PROG1
≥					
≠MOV≡≡LDOVRD≡≥	112766	012737	000001	150732	$LDT:	MOV	#1,LDOVRD	;LOAD TEN, OVERRIDE EXT
≠BR≡≡$PROG2≡≥	112774	000422				BR	$PROG2
≠MOV≡≡LDOVRD≡≥	112776	012737	000002	150732	$LDE:	MOV	#2,LDOVRD	;LOAD ELEVEN, OVERRIDE EXT
≠BR≡≡$PROG2≡≥	113004	000416				BR	$PROG2
≠MOV≡≡LDOVRD≡≥	113006	012737	000003	150732	$LDR:	MOV	#3,LDOVRD	;LOAD RAM, OVERRIDE EXT
≠BR≡≡$PROG2≡≥	113014	000412				BR	$PROG2
≠MOV≡≡LDOVRD≡≥	113016	012737	000006	150732	$LDB:	MOV	#6,LDOVRD	;LOAD ELEVEN BIN, OVERRIDE EXT
≠BR≡≡$PROG2≡≥	113024	000406				BR	$PROG2
≠MOV≡≡LDOVRD≡≥	113026	012737	000007	150732	$LDD:	MOV	#7,LDOVRD	;LOAD DSKDMP BOOTSTRAP INTO KLDCP,OVERRIDE EXT (D10)
≠BR≡≡$PROG2≡≥	113034	000402				BR	$PROG2
≥					
≠CLR≡≡LDOVRD≡≥	113036	005037	150732		$PROG:	CLR	LDOVRD		;CLEAR OVERRIDE
≠CLR≡≡VERIFY≡≥	113042	005037	147730		$PROG2:	CLR	VERIFY
≠CLR≡≡LDCNTL≡≥	113046	005037	150734		$PROG1:	CLR	LDCNTL		;CLEAR LOAD CONTROL FLAG
≠CLR≡≡SRTFLG≡≥	113052	005037	150726			CLR	SRTFLG		;CLEAR SELF START FLAG
≠CLRB≡≡CONSOL≡≥	113056	105037	077777			CLRB	CONSOL-1	;OVERLAY INUSE INDICATOR
≠BR≡≡$HELP1≡≥	113062	000430				BR	$HELP1		;GO LOAD PROGRAM
≥					
≡SETFLG≡≡SETFLG≡≥	113064	104055			$JFILE:	SETFLG
≡JFILEF≡≡JFILEF≡≥	113066	147620				  JFILEF		;SET DOUBLE INDIRECT FLAG
≠CLR≡≡PRGRUN≡≥	113070	005037	147614			CLR	PRGRUN		;CLEAR PROGRAM RUNNING FLAG
≠MOV≡≡TOUTBF≡≡IFINP≡≥	113074	012737	010000	147622		MOV	#TOUTBF+5000,IFINP	;SETUP STORAGE POINTER
≠BR≡≡$IIX≡≥	113102	000403				BR	$IIX
≥					
≠MOV≡≡TOUTBF≡≡IFINP≡≥	113104	012737	003000	147622	$IFILE:	MOV	#TOUTBF,IFINP	;SETUP STORAGE POINTER
≠CLR≡≡PCMDFL≡≥	113112	005037	152214		$IIX:	CLR	PCMDFLG		;CLEAR PROGRAM COMMAND
≡SETFLG≡≡SETFLG≡≥	113116	104055				SETFLG
≡IFILEF≡≡IFILEF≡≥	113120	147624				  IFILEF		;SET INDIRECT FILE FLAG
≠CLR≡≡IFINP≡≥	113122	005077	034474			CLR	@IFINP		;CLEAR 1ST BUFFER WORD
≠CLRB≡≡CONSOL≡≥	113126	105037	077777			CLRB	CONSOL-1	;OVERLAY INUSE INDICATOR
≥					
≠CLR≡≡LDOVRD≡≥	113132	005037	150732		$HELP:	CLR	LDOVRD		;CLEAR LOAD OVERRIDE FOR H,I,J
≡SETFLG≡≡SETFLG≡≥	113136	104055				SETFLG
≡LDCNTL≡≡LDCNTL≡≥	113140	150734				  LDCNTL		;SET LOAD CONTROL TO "HELP"
≡PNORML≡≡PNORML≡≥	113142	104044				PNORML
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP
≥						BPL	$HELP1
≥						JMP	ACTFIL		;ACT10 HELP
≥					.ENDC
≠JMP≡≡DVLOAD≡≥	113144	000137	130314		$HELP1:	JMP	DVLOAD		;RP04/DECTAPE/FLOPPY HELP
≠.IF≡≡MONASB≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 156
	CONS11 PAL[KL,SYS]	Page 54 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥					.IF DF MONASB
≥					$AT:	TTITRM
≥						SETFLG
≥						  DEVTYP		;SET ACT10 MODE
≥						COMCLR			;CLEAR COMMUNICATIONS
≥						BR	$DTX
≥					.ENDC
≥					
≠CLR≡≡FLOPPY≡≥	113150	005037	157306		$DT:	CLR	FLOPPY
≡TTISDL≡≡TTISDL≡≥	113154	104016				TTISDL
≠BCS≡≡$DTC≡≥	113156	103413				BCS	$DTC		;LETTER
≡TTISDO≡≡TTISDO≡≥	113160	104017				TTISDO			;GET UNIT SELECTION DIGIT
≠CMP≡≡R0≡≥	113162	020027	000007			CMP	R0,#7		;MUST BE 0 TO 7
≠BGT≡≡$CMDE≡≥	113166	003076				BGT	$CMDE
≠SWAB≡≡R0≡≥	113170	000300				SWAB	R0		;PUT IN PROPER PLACE FOR TC11
≠MOV≡≡R0≡≡DTUNIT≡≥	113172	010037	157276			MOV	R0,DTUNIT	;SAVE IT
≠CLR≡≡DEVTYP≡≥	113176	005037	157310		$RXX:	CLR	DEVTYP		;SET DECTAPE MODE
≠JMP≡≡$KONSL≡≥	113202	000137	100230		$DTX:	JMP	$KONSL
≥					
≠.IF≡≡RXASB≡≥					.IF DF RXASB
≥					$RX:	SETFLG
≥						  FLOPPY
≥						TTISDL
≥						  BCS	$DTC		;LETTER
≥						TTISDO			;GET SELECTION DIGIT
≥						CMP	R0,#1		;MUST BE EITHER 0 OR 1
≥						BGT	$CMDE
≥						BNE	1$
≥						MOV	#RXU1,R0
≥					1$:	MOV	R0,RXUNIT	;SAVE FOR RX11/RX01 FLOPPY
≥						BR	$RXX
≥					.ENDC ;IF DF RXASB
≥					
≥					$DTC:
≠.IF≡≡UTLASB≡≥					.IF DF UTLASB
≥						CMP	#"CO,$INBUF+2	;IS COMMAND 'DTCOPY'/'RXCOPY' ?
≥						BNE	1$
≥						CMP	#"PY,$INBUF+4
≥						BNE	1$
≥						JSR	PC,$KLUCK	;UTILITY IN CORE ?
≥						TST	FLOPPY
≥						BEQ	2$
≥						JMP	@RXCOPY		;FLOPPY COPY
≥					2$:	JMP	@DTCOPY		;YES
≥					.ENDC
≠JMP≡≡$CMDER≡≥	113206	000137	100574		1$:	JMP	$CMDER
≥					
≠INC≡≡$INPTC≡≥	113212	005237	150716		$GO:	INC	$INPTC
≠MOV≡≡PGOCTL≡≡R0≡≥	113216	013700	157202		$$GO:	MOV	PGOCTL,R0	;GO, START PROGRAM
≠JMP≡≡LDSTRT≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 157
	CONS11 PAL[KL,SYS]	Page 54.1 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥	113222	000170	113226			JMP	@LDSTRT(R0)
≥					
≡SRT11X≡≡SRT11X≡≥	113226	113242			LDSTRT:	SRT11X
≡SRT10≡≡SRT10≡≥	113230	113324				SRT10
≥					
≡TTITRM≡≡TTITRM≡≥	113232	104022			$JC:	TTITRM
≡SETFLG≡≡SETFLG≡≥	113234	104055				SETFLG			;SET J FILE FLAG TO CONTINUE
≡JFILEF≡≡JFILEF≡≥	113236	147620				  JFILEF		;INTERRUPTED J FILE PROCESS
≠BR≡≡$DTX≡≥	113240	000760				BR	$DTX
≠MOV≡≡PGOADR≡≡SEADR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 158
	CONS11 PAL[KL,SYS]	Page 55 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥	113242	013737	157204	157200	SRT11X:	MOV	PGOADR,SEADR
≠TST≡≡SEADR≡≥	113250	005737	157200		SRT11:	TST	SEADR
≠BEQ≡≥	113254	001417				BEQ	1$		;IF ADR 0, START AT 3000
≠BIT≡≡SEADR≡≥	113256	032737	000001	157200		BIT	#1,SEADR
≠BNE≡≡ADRERR≡≥	113264	001031				BNE	ADRERR		;ODD ADDRESSES NOT ALLOWED
≥					
≠JSR≡≡PC≡≡$CMCLR≡≥	113266	004737	115156		2$:	JSR	PC,$CMCLR	;CLEAR COMMON STORAGE
≥					
≠CLR≡≡IFILEF≡≥	113272	005037	147624			CLR	IFILEF		;END INDIRECT PROCESS
≡SETFLG≡≡SETFLG≡≥	113276	104055				SETFLG
≡PRGRUN≡≡PRGRUN≡≥	113300	147614				  PRGRUN
≠MOV≡≡STACK≡≡R0≡≥	113302	012700	157774			MOV	#STACK-2,R0	;PASS STACK BASE ADR IN R0
≠MOV≡≡R0≡≡SP≡≥	113306	010006				MOV	R0,SP		;RESET STACK
≠JMP≡≡SEADR≡≥	113310	000177	043664			JMP	@SEADR		;START 11 PROGRAM AT LOAD ADDRESS
≥					
≠MOV≡≡SEADR≡≥	113314	012737	003000	157200	1$:	MOV	#3000,SEADR
≠BR≡≥	113322	000761				BR	2$
≥					
≠MOV≡≡TGOADR≡≡R0≡≥	113324	012700	157212		SRT10:	MOV	#TGOADR+2,R0
≠MOV≡≡PGOADR≡≡R1≡≥	113330	012701	157206			MOV	#PGOADR+2,R1	;PUT LOAD ADR IN 10 GO ADR
≠MOV≡≡R1≡≡R0≡≥	113334	011110				MOV	(R1),(R0)
≠MOV≡≡R1≡≡R0≡≥	113336	014140				MOV	-(R1),-(R0)
≠JMP≡≡$$$ST≡≥	113340	000137	106204			JMP	$$$ST		;GO TO 10 START ROUTINE
≥					
≠.LIF≡≡MONASB≡≥					.LIF NDF MONASB
≠JMP≡≡$CONSL≡≥	113344	000137	100014		$COMNT:	JMP $CONSL
≠.IF≡≡MONASB≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 159
	CONS11 PAL[KL,SYS]	Page 56 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥					.IF DF MONASB
≥					
≥					;ACT10 TIME REQUEST
≥					
≥					$TIME:	TTBTRM
≥						TST	DEVTYP
≥						BPL	$TIME1		;ONLY LEGAL IN ACT10 MODE
≥					
≥						COMENQ			;REQUEST APT10 SERVICE
≥					
≥						MOV	#$INBUF,R0
≥						COMCMD			;SEND COMMAND
≥					
≥						$PMSG			;PRINT INPUT LINE
≥						CINBF
≥						COMCLR
≥					$TIME3:	JMP	$CONSL
≥					
≥					$TIME1:	JMP	NONACT		;NON ACT10
≥					
≥					$LOGO:
≥					$LOGIN:	TST	DEVTYP		;ONLY LEGAL IN ACT10 MODE
≥						BPL	$TIME1
≥						TTITRM
≥					
≥						COMENQ			;REQUEST SERVICE
≥					
≥						MOV	#$INBUF,R0
≥						COMCMD			;SEND COMMAND
≥						COMEOT
≥						BR	$TIME3
≥					
≥					$COMNT:	TST	DEVTYP		;ACT10 MODE ?
≥						BPL	1$		;NO, LOCAL ONLY
≥					
≥						COMENQ			;REQUEST APT10 SERVICE
≥					
≥						MOV	#$INBUF,R0
≥						COMCMD			;SEND MESSAGE
≥						COMEOT
≥					
≥					1$:	BR	$TIME3		;BACK TO CONSOLE
≥					
≥					$BOOT:
≥					$SCRPT:
≥					$MSCP:
≥					$GSCP:
≥					$BOOTT:	JMP	$CMDER
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 160
	CONS11 PAL[KL,SYS]	Page 56.1 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥					.ENDC	;END .IF DF MONASB
≤PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 161
	CONS11 PAL[KL,SYS]	Page 57 	KL10 MONITOR & ACT10 COMMAND ROUTINES

≥					ADRERR:	PMSG	<?ADR>
≡$PMSG≡≡$PMSG≡≥	113350	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	113352	145747				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡COMNER≡≥	113354	000405				BR	COMNER
≥					
≤PMSG≡≥					$PARA:	PMSG	<?PARAM>
≡$PMSG≡≡$PMSG≡≥	113356	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	113360	145754				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡COMNER≡≥	113362	000402				BR	COMNER
≥					
≠JMP≡≡$CMDER≡≥	113364	000137	100574		$CMDE:	JMP	$CMDER
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥					NONACT:	PMSG	<?ACT10>
≥						BR	COMNER
≥					
≥					NORESP:	PMSG	<?RESPONSE>
≥					.ENDC
≥					
≠JMP≡≡$CNTLC≡≥	113370	000137	100004		COMNER:	JMP	$CNTLC
≥					
≥					;REINITIALIZE SYSTEM
≥					
≠CLR≡≡$ONETM≡≥	113374	005037	157316		.RI:	CLR	$ONETM
≠JMP≡≡START≡≥	113400	000137	100000			JMP	START
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 162
	CONS11 PAL[KL,SYS]	Page 58 	LINE PRINTER SELECTION ROUTINE

≥					.SBTTL	LINE PRINTER SELECTION ROUTINE
≥					
≠.IF≡≡LPASB≡≥					.IF DF LPASB
≥					
≥					$LPT:	PMSG	<LP, Y OR N ? - ←>
≥						TTILIN
≥						TTIYES
≥						 BCS	$LPT		;JUNK
≥						BMI	10$		;NO
≥						MOV	#NOLP,ERRVEC	;DO WE HAVE A LINE PRINTER CONTROLLER ?
≥						MOV	$LPS,R0
≥						TST	(R0)
≥						TST	R0
≥						BNE	1$		;LP11
≥						MOV	#LP20A,R0
≥						TST	(R0)
≥						TST	R0
≥						BNE	2$		;LP20A
≥						MOV	#LP20B,R0
≥						TST	(R0)
≥						TST	R0
≥						BNE	2$		;LP20B
≥						MOV	#$TIMOT,ERRVEC
≥						PMSG	<?NO LPT>
≥						JMP	$CNTLC
≥					1$:	CLR	LPTYPE		;LP11 - TYPE = 0
≥						BR	3$
≥					2$:	MOV	R0,LPTYPE	;LP20 - TYPE = CONTROLLER BASE ADDRESS
≥					3$:	MOV	#$TIMOT,ERRVEC
≥						SETFLG
≥						  LPTFLG
≥						TST	LPTYPE
≥						BNE	5$
≥						TST	@$LPS		;LP11 - LPT OK ?
≥						BMI	20$		;NO
≥					4$:	JMP	$CONSL
≥					
≥					5$:	JSR	PC,LP20INI	;INITIALIZE LP20
≥						BCS	20$		;ERROR
≥						BR	4$
≥					10$:	CLR	LPTFLG		;TURN OFF LINE PRINTER
≥						BR	4$
≥					20$:	PMSG	<?LP ERR\>
≥						BR	$LPT
≥					
≥					NOLP:	CLR	R0		;NO LP CONTROLLER BUS TRAP
≥						RTI
≥					
≥					.SBTTL	LP20 INITIALIZATION ROUTINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 163
	CONS11 PAL[KL,SYS]	Page 58.1 	LINE PRINTER SELECTION ROUTINE

≥					
≥					LP20INI:MOV	LPTYPE,R5	;SETUP BASE ADDRESS
≥						MOV	#LPLINI!LPRERR,(R5) ;CLEAR LP20
≥						MOV	#VFUDAT,R0	;SETUP VFU BUFFER
≥						MOV	R0,LPBSAD(R5)	;SETUP BUFFER ADDRESS
≥						MOV	#037756,(R0)+	;VFU LOAD CODE & ALL CHANS
≥						MOV	#77,(R0)+
≥						MOV	#100,R1		;SET FOR 64 LINES ON PAGE
≥					1$:	CLR	(R0)+
≥						DEC	R1
≥						BNE	1$
≥						MOV	#167400,(R0)	;VFU STOP LOAD CODE
≥						MOV	#-206,LPBCTR(R5) ;206 BYTE XFER
≥						MOV	#LPVLOD!LPPENB!LPGO,(R5) ;VFU LOAD & GO
≥						JSR	PC,LP20DN	;WAIT FOR DONE
≥						BCS	3$		;ERROR
≥					
≥						CLR	LPCBUF(R5)	;CLEAR LP20 RAM
≥						MOV	#LPLINI!LPRERR,(R5)
≥						MOV	#-1000,R0	;LOCATION COUNT
≥						MOVB	#LPPENB,(R5)	;PARENB & NOT GO
≥					2$:	CLR	LPRAMD(R5)	;CLEAR
≥						INC	LPCBUF(R5)	;INCREMENT ADDRESS
≥						INC	R0		;COUNT IT
≥						BNE	2$		;IF NOT DONE, GO BACK
≥						CLC			;COMPLETED, C-BIT CLEAR RETURN
≥						RTS	PC
≥					
≥					3$:	SEC			;ERROR, C-BIT SET RETURN
≥						RTS	PC
≥					
≥					.ENDC ;IF DF LPASB
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 164
	CONS11 PAL[KL,SYS]	Page 59 	CONSOLE TELETYPE FUNCTIONS

≥					.SBTTL	CONSOLE TELETYPE FUNCTIONS
≥					
≠MOV≡≡$TPLIN≡≡R5≡≥	113404	012705	147776		$TP:	MOV	#$TPLIN,R5	;SET TTY PAGE LENGTH
≠BR≡≡$TPW≡≥	113410	000402				BR	$TPW
≥					
≠MOV≡≡$PGWID≡≡R5≡≥	113412	012705	150000		$TW:	MOV	#$PGWID,R5	;SET TTY PAGE WIDTH
≥					
≡TTISDL≡≡TTISDL≡≥	113416	104016			$TPW:	TTISDL
≠BCS≡≡$PARAM≡≥	113420	103414				 BCS	$PARAM
≥					
≡TTIDEC≡≡TTIDEC≡≥	113422	104011				TTIDEC			;SPECIFIED IN DECIMAL
≠BCS≡≡$DECN≡≥	113424	103412				 BCS	$DECN		;WASNT A DECIMAL NUMBER
≥					
≠MOV≡≡R0≡≡R5≡≥	113426	010015				MOV	R0,(R5)		;SET IT UP
≥					
≠JMP≡≡$CONSL≡≥	113430	000137	100014		$TPWF:	JMP	$CONSL		;RETURN TO CONSOLE FOR NEXT COMMAND
≥					
≥					;TTY FILL CHARACTER PARAMETER
≥					
≡TTISDO≡≡TTISDO≡≥	113434	104017			$TF:	TTISDO
≥					
≠CMP≡≡R0≡≥	113436	020027	000005			CMP	R0,#5		;CHECK FILL PARAMETER UPPER LIMIT
≠BGT≡≡$FILPL≡≥	113442	003003				BGT	$FILPL
≥					
≠MOV≡≡R0≡≡$TTYFL≡≥	113444	010037	147756			MOV	R0,$TTYFL	;SET TTY FILL PARAMETER
≥					
≠BR≡≡$TPWF≡≥	113450	000767				BR	$TPWF
≥					
≥					;MESSAGES TO OPERATOR
≥					
≥					$DECN:
≥					$FILPL:
≥					$OCTN:
≠JMP≡≡$PARA≡≥	113452	000137	113356		$PARAM:	JMP	$PARA
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 165
	CONS11 PAL[KL,SYS]	Page 60 	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE

≥					.SBTTL	KLINIK FIELD SERVICE REMOTE DIAGNOSTICS ENABLE
≥					
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥					
≥					.KLINIK:CMP	#"IN,$INBUF+2
≥						BNE	2$
≥						CMP	#"IK,$INBUF+4
≥						BNE	2$
≥					
≥						TST	DL11EFLG		;PRESENTLY ENABLED ?
≥						BEQ	1$			;NO
≥					
≥					KLUNK=.
≥						CLR	DL11EFLG		;YES, CLEAR IT
≥						PMSG	<KLINIK CLEARED>
≥						JMP	$CNTLC
≥					
≥					1$:	CLR	@$FSTKS			;INITIALIZE
≥						BIS	#DLDTR!DLRTS,@$FSTKS	;SET DATA TERMINAL READY
≥						BIT	#DLCTS,@$FSTKS		;DO WE HAVE CLEAR TO SEND ?
≥						BEQ	FSDISC			;NO
≥						COM	DL11EFLG		;ENABLE KLINIK
≥						PMSG	<KLINIK ENABLED>
≥						JMP	$CNTLC
≥					
≥					2$:	JMP	$CMDER
≥					
≥					;DL11E DISCONNECT, CLEAR TO SEND NOT SET
≥					
≥					FSDISC:	CLR	DL11EFLG
≥						PMSG	<\DL11E NOT CLR TO SEND, >
≥						BR	KLUNK
≥					
≥					.ENDC ;IF NDF TELASB
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 166
	CONS11 PAL[KL,SYS]	Page 61 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥					.SBTTL	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU
≥					
≠.IF≡≡TELASB≡≥					.IF DF TELASB
≥					
≡FSRLEN≠≥		000012			FSRLEN==10.		;10 CHARACTER FSRBUF
≥					
≥					;TRAP HERE WHEN DATASET INTERRUPT OCCURS
≤PUSH≡≥					FSRINT:	PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡$FSTKS≡≡R0≡≥	113462	017700	764342			MOV @$FSTKS,R0		;GET THE STATUS
≠MOV≡≡FSSTAT≡≡R1≡≥	113466	013701	152260			MOV FSSTATE,R1
≠BEQ≡≡FSINT1≡≥	113472	001401				BEQ FSINT1		;FIRST INTERRUPT
≠JMP≡≡R1≡≥	113474	000111				JMP @R1
≥					
≠BIT≡≡DLRI≡≡R0≡≥	113476	032700	040000		FSINT1:	BIT #DLRI,R0		;TEST FOR RING INDICATION
≠BEQ≡≡FSXIT≡≥	113502	001411				BEQ FSXIT		;NOPE
≠MOV≡≡FSINT2≡≡FSSTAT≡≥	113504	012737	113534	152260		MOV #FSINT2,FSSTATE	;SET DISPATCH FOR NEXT INT
≠MOV≡≡R0≡≥	113512	012700	000074			MOV #60.,R0
≠MOV≡≡HANGU1≡≡R1≡≥	113516	012701	114040			MOV #HANGU1,R1
≠JSR≡≡PC≡≡FSCLKR≡≥	113522	004737	114254			JSR PC,FSCLKR		;SET CLOCK REQUEST TO HANG UP IN ONE MINUTE
≤POP≡≥					FSXIT:	POP R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTT≡≠RTT≡≥	113532	000006				RTT
≥					
≠BIT≡≡DLCD≡≡R0≡≥	113534	032700	010000		FSINT2:	BIT #DLCD,R0		;TEST CARRIER DETECT
≠BEQ≡≡FSXIT≡≥	113540	001772				BEQ FSXIT		;NOPE
≠BIT≡≡DLCTS≡≡R0≡≥	113542	032700	020000			BIT #DLCTS,R0		;TEST CLEAR TO SEND
≠BEQ≡≡FSXIT≡≥	113546	001767				BEQ FSXIT		;NOPE
≠MOV≡≡FSINT3≡≡FSSTAT≡≥	113550	012737	113616	152260		MOV #FSINT3,FSSTATE	;OK, HAVE BOTH
≠MOV≡≡FSMSG≡≡R1≡≥	113556	012701	114424			MOV #FSMSG,R1
≠JSR≡≡PC≡≡FSTYP≡≥	113562	004737	114200			JSR PC,FSTYP		;TYPE OUT GREETING MESSAGE
≠MOV≡≡FSRBUF≡≡FSRPTR≡≥	113566	012737	152242	152240		MOV #FSRBUF,FSRPTR
≠MOV≡≡FSINT4≡≡FSSTAT≡≥	113574	012737	113626	152260		MOV #FSINT4,FSSTATE
≠TST≡≡$FSTKB≡≥	113602	005777	764224			TST @$FSTKB		;CLEAR INPUT DONE BY REFERENCING BUFFER
≠BIS≡≡DLRIE≡≡$FSTKS≡≥	113606	052777	000100	764214		BIS #DLRIE,@$FSTKS	;SET READER INTERRUPT ENABLE
≠BR≡≡FSXIT≡≥	113614	000744				BR FSXIT
≥					
≠BIT≡≡DLCTS≡≡R0≡≥	113616	032700	020000		FSINT3:	BIT #DLCTS,R0		;MAKE SURE WE HAVE CLEAR TO SEND
≠BNE≡≡FSXIT≡≥	113622	001341				BNE FSXIT
≠BR≡≡HANGUP≡≥	113624	000502				BR HANGUP
≥					
≠BIT≡≡DLCTS≡≡R0≡≥	113626	032700	020000		FSINT4:	BIT #DLCTS,R0
≠BEQ≡≡HANGUP≡≥	113632	001477				BEQ HANGUP		;HANGUP IF CLEAR TO SEND IS GONE
≠BIT≡≡DLRD≡≡R0≡≥	113634	032700	000200			BIT #DLRD,R0		;TEST INPUT DONE
≠BEQ≡≡FSXIT≡≥	113640	001732				BEQ FSXIT		;SPURIOUS
≠MOV≡≡$FSTKB≡≡R1≡≥	113642	017701	764164			MOV @$FSTKB,R1		;GET THE CHARACTER
≠BIC≡≡R1≡≥	113646	042701	177600			BIC #177600,R1
≠CMP≡≡R1≡≥	113652	020127	000015			CMP R1,#15
≠BEQ≡≡FSIN4D≡≥	113656	001426				BEQ FSIN4D
≠CMP≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 167
	CONS11 PAL[KL,SYS]	Page 61.1 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥	113660	020127	000012			CMP R1,#12
≠BEQ≡≡FSIN4D≡≥	113664	001423				BEQ FSIN4D
≠CMP≡≡R1≡≥	113666	020127	000177			CMP R1,#177
≠BEQ≡≡FSIN4R≡≥	113672	001411				BEQ FSIN4R
≠CMP≡≡FSRPTR≡≡FSRBUF≡≡FSRLEN≡≥	113674	023727	152240	152254		CMP FSRPTR,#FSRBUF+FSRLEN
≠BHIS≡≡FSXIT≡≥	113702	103311				BHIS FSXIT		;NO MORE ROOM
≠MOVB≡≡R1≡≡FSRPTR≡≥	113704	110177	036330			MOVB R1,@FSRPTR		;STORE THE CHARACTER
≠INC≡≡FSRPTR≡≥	113710	005237	152240			INC FSRPTR
≠BR≡≡FSXIT≡≥	113714	000704			FSXITA:	BR FSXIT
≥					
≠CMP≡≡FSRPTR≡≡FSRBUF≡≥	113716	023727	152240	152242	FSIN4R:	CMP FSRPTR,#FSRBUF
≠BEQ≡≡FSXITA≡≥	113724	001773				BEQ FSXITA
≠DEC≡≡FSRPTR≡≥	113726	005337	152240			DEC FSRPTR
≠BR≡≡FSXITA≡≥	113732	000770				BR FSXITA
≥					
≠BIC≡≡DLRIE≡≡$FSTKS≡≥	113734	042777	000100	764066	FSIN4D:	BIC #DLRIE,@$FSTKS	;CLEAR RECEIVER INTERRUPT ENB
≠MOV≡≡FSRPTR≡≡R0≡≥	113742	013700	152240			MOV FSRPTR,R0
≠SUB≡≡FSRBUF≡≡R0≡≥	113746	162700	152242			SUB #FSRBUF,R0
≠CMP≡≡R0≡≡PWLEN≡≥	113752	020027	000004			CMP R0,#PWLEN
≠BNE≡≡FSIN4W≡≥	113756	001021				BNE FSIN4W		;TYPED WRONG AMOUNT
≠MOV≡≡FSRBUF≡≡R0≡≥	113760	012700	152242			MOV #FSRBUF,R0
≠MOV≡≡PWORD≡≡R1≡≥	113764	012701	114474			MOV #PWORD,R1
≠CMPB≡≡R0≡≡R1≡≥	113770	122021			FSIN4E:	CMPB (R0)+,(R1)+
≠BNE≡≡FSIN4W≡≥	113772	001013				BNE FSIN4W		;WRONG
≠CMP≡≡R0≡≡FSRPTR≡≥	113774	020037	152240			CMP R0,FSRPTR
≠BLO≡≡FSIN4E≡≥	114000	103773				BLO FSIN4E		;MORE
≠MOV≡≡FSINT5≡≡FSSTAT≡≥	114002	012737	114120	152260		MOV #FSINT5,FSSTATE
≠CLR≡≡FSCLKA≡≥	114010	005037	152234			CLR FSCLKA		;FLUSH THE AUTO DESTRUCT CLOCK REQUEST
≠INC≡≡FSFLG≡≥	114014	005237	152236			INC FSFLG		;WIN
≠BR≡≡FSXITA≡≥	114020	000735				BR FSXITA
≥					
≠MOV≡≡FSLOSM≡≡R1≡≥	114022	012701	114462		FSIN4W:	MOV #FSLOSM,R1
≠JSR≡≡PC≡≡FSTYP≡≥	114026	004737	114200			JSR PC,FSTYP
≠JSR≡≡PC≡≡HANGU1≡≥	114032	004737	114040		HANGUP:	JSR PC,HANGU1
≠BR≡≡FSXITA≡≥	114036	000726				BR FSXITA
≥					
≠MOV≡≡DLRTS≡≡$FSTKS≡≥	114040	012777	000004	763762	HANGU1:	MOV #DLRTS,@$FSTKS	;HANG UP DATASET (KEEP REQUEST TO SEND AS FLAG)
≠CLR≡≡$FSTPS≡≥	114046	005077	763762			CLR @$FSTPS		;FLUSH TYPEOUT
≠CLR≡≡FSSTAT≡≥	114052	005037	152260			CLR FSSTATE
≠CLR≡≡FSFLG≡≥	114056	005037	152236			CLR FSFLG
≤PUSH≡≥						PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡R0≡≥	114066	012700	000002			MOV #2,R0
≠MOV≡≡FSHNG1≡≡R1≡≥	114072	012701	114110			MOV #FSHNG1,R1
≠JSR≡≡PC≡≡FSCLKR≡≥	114076	004737	114254			JSR PC,FSCLKR		;PLANT FS CLOCK REQUEST FOR 2 SECONDS FROM NOW
≤POP≡≥						POP R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTS≡≡PC≡≥	114106	000207				RTS PC
≥					
≠MOV≡≡DLDTR≡≡DLRTS≡≡DLDIE≡≡$FSTKS≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 168
	CONS11 PAL[KL,SYS]	Page 61.2 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥	114110	012777	000046	763712	FSHNG1:	MOV #DLDTR!DLRTS!DLDIE,@$FSTKS	;REENABLE DATASET
≠RTS≡≡PC≡≥	114116	000207				RTS PC
≥					
≠BIT≡≡DLCTS≡≡R0≡≥	114120	032700	020000		FSINT5:	BIT #DLCTS,R0
≠BEQ≡≡FSIN5A≡≥	114124	001406				BEQ FSIN5A
≠BIT≡≡DLCD≡≡R0≡≥	114126	032700	010000			BIT #DLCD,R0
≠BEQ≡≡FSIN5A≡≥	114132	001403				BEQ FSIN5A
≠CLR≡≡FSCLKA≡≥	114134	005037	152234			CLR FSCLKA		;FLUSH DESTRUCT SEQUENCE
≠BR≡≡FSXITA≡≥	114140	000665				BR FSXITA
≥					
≠MOV≡≡R0≡≥	114142	012700	000017		FSIN5A:	MOV #15.,R0		;START 15 SECOND TIMEOUT IF NO CLEAR TO SEND ...
≠MOV≡≡HANGU1≡≡R1≡≥	114146	012701	114040			MOV #HANGU1,R1		; ... OR NO CARRIER DETECT
≠JSR≡≡PC≡≡FSCLKR≡≥	114152	004737	114254			JSR PC,FSCLKR		;PLANT AUTO DESTRUCT CLOCK REQUEST
≠BR≡≡FSXITA≡≥	114156	000656				BR FSXITA
≥					
≤PUSH≡≥					FSTINT:	PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠TSTB≡≡$FSTPS≡≥	114164	105777	763644			TSTB @$FSTPS		;TEST TRANSMITTER READY
≠BEQ≡≡FSXITA≡≥	114170	001651				BEQ FSXITA		;SPURIOUS INT
≠MOV≡≡FSTPTR≡≡R1≡≥	114172	013701	152256			MOV FSTPTR,R1
≠BR≡≡FSTYP1≡≥	114176	000407				BR FSTYP1
≥					
≠CLR≡≡$FSTPS≡≥	114200	005077	763630		FSTYP:	CLR @$FSTPS		;CLEAR TRANSMITTER STATUS
≠BIS≡≡DLTIE≡≡$FSTPS≡≥	114204	052777	000100	763622		BIS #DLTIE,@$FSTPS	;SET TRANSMIT INTERRUPT ENABLE
≤POP≡≥						POP FSTYPR		;SAVE RETURN ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡FSTYPR≡≠.LIST≡≠MOVB≡≡R1≡≡R0≡≥	114216	112100			FSTYP1:	MOVB (R1)+,R0		;GET NEXT CHARACTER
≠BEQ≡≡FSTYP2≡≥	114220	001411				BEQ FSTYP2		;END OF STRING
≠MOV≡≡R0≡≡$FSTPB≡≥	114222	010077	763610			MOV R0,@$FSTPB		;SEND CHARACTER
≠MOV≡≡R1≡≡FSTPTR≡≥	114226	010137	152256			MOV R1,FSTPTR		;SAVE POINTER TO TEXT
≠BIT≡≡DLCTS≡≡$FSTKS≡≥	114232	032777	020000	763570		BIT #DLCTS,@$FSTKS
≠BEQ≡≡HANGUP≡≥	114240	001674				BEQ HANGUP
≠BR≡≡FSXITA≡≥	114242	000624				BR FSXITA
≥					
≠CLR≡≡$FSTPS≡≥	114244	005077	763564		FSTYP2:	CLR @$FSTPS		;CLEAR XMTR STATUS AGAIN
≠JMP≡≡FSTYPR≡≥	114250	000177	036000			JMP @FSTYPR		;RETURN TO CALLER
≥					
≥					;CALL WITH # SECONDS IN R0, ADDRESS IN R1
≤PUSH≡≥					FSCLKR:	PUSH R2
≠.NLIST≡≠.IRP≡≠MOV≡≡R2≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R3
≠.NLIST≡≠.IRP≡≠MOV≡≡R3≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡R0≡≡R2≡≥	114262	010002				MOV R0,R2		;CONVERT R0 TO 60THS
≠CLR≡≡R1≡≥	114264	005001				CLR R1
≠.REPT≡≥		000006			.REPT 6
≥						ASL R1
≥						ASL R0
≥						ADC R1
≥					.ENDR				;R1:R0 = 64 * ORIGINAL R0
≠ASL≡≡R1≡≥	114266	006301				ASL R1
≠ASL≡≡R0≡≥	114270	006300				ASL R0
≠ADC≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 169
	CONS11 PAL[KL,SYS]	Page 61.3 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥	114272	005501				ADC R1
≠ASL≡≡R1≡≥	114274	006301				ASL R1
≠ASL≡≡R0≡≥	114276	006300				ASL R0
≠ADC≡≡R1≡≥	114300	005501				ADC R1
≠ASL≡≡R1≡≥	114302	006301				ASL R1
≠ASL≡≡R0≡≥	114304	006300				ASL R0
≠ADC≡≡R1≡≥	114306	005501				ADC R1
≠ASL≡≡R1≡≥	114310	006301				ASL R1
≠ASL≡≡R0≡≥	114312	006300				ASL R0
≠ADC≡≡R1≡≥	114314	005501				ADC R1
≠ASL≡≡R1≡≥	114316	006301				ASL R1
≠ASL≡≡R0≡≥	114320	006300				ASL R0
≠ADC≡≡R1≡≥	114322	005501				ADC R1
≠ASL≡≡R1≡≥	114324	006301				ASL R1
≠ASL≡≡R0≡≥	114326	006300				ASL R0
≠ADC≡≡R1≡≥	114330	005501				ADC R1
≠CLR≡≡R3≡≥	114332	005003				CLR R3
≠.REPT≡≥		000002			.REPT 2
≥						ASL R3
≥						ASL R2
≥						ADC R3
≥					.ENDR				;R3:R2 = 4 * ORIGINAL R0
≠ASL≡≡R3≡≥	114334	006303				ASL R3
≠ASL≡≡R2≡≥	114336	006302				ASL R2
≠ADC≡≡R3≡≥	114340	005503				ADC R3
≠ASL≡≡R3≡≥	114342	006303				ASL R3
≠ASL≡≡R2≡≥	114344	006302				ASL R2
≠ADC≡≡R3≡≥	114346	005503				ADC R3
≠SUB≡≡R2≡≡R0≡≥	114350	160200				SUB R2,R0
≠SBC≡≡R1≡≥	114352	005601				SBC R1
≠SUB≡≡R3≡≡R1≡≥	114354	160301				SUB R3,R1		;R1:R0 GETS 60 * ORIGINAL R0
≠CLR≡≡R2≡≥	114356	005002				CLR R2
≠ADD≡≡TIM11≡≡R0≡≥	114360	063700	157172			ADD TIM11,R0
≠ADC≡≡R1≡≥	114364	005501				ADC R1
≠ADD≡≡TIM11≡≡R1≡≥	114366	063701	157174			ADD TIM11+2,R1
≠ADC≡≡R2≡≥	114372	005502				ADC R2
≠ADD≡≡TIM11≡≡R2≡≥	114374	063702	157176			ADD TIM11+4,R2		;R2:R1:R0 HAVE NEW TIME
≠MOV≡≡FSRTIM≡≡R3≡≥	114400	012703	152226			MOV #FSRTIM,R3		;STORE IN CLOCK REQUEST TIME WORDS
≠MOV≡≡R0≡≡R3≡≥	114404	010023				MOV R0,(R3)+
≠MOV≡≡R1≡≡R3≡≥	114406	010123				MOV R1,(R3)+
≠MOV≡≡R2≡≡R3≡≥	114410	010213				MOV R2,(R3)
≤POP≡≥						POP FSCLKA
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡FSCLKA≡≠.LIST≡≤POP≡≥						POP R3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R3≡≠.LIST≡≤POP≡≥						POP R2
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R2≡≠.LIST≡≠RTS≡≡PC≡≥	114422	000207				RTS PC
≥					
≥					
≠.ASCIZ≡≥	114424	   015		
≥	114425	   012			FSMSG:	.ASCIZ /
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 170
	CONS11 PAL[KL,SYS]	Page 61.4 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥	114426	   127		
≥	114427	   101		
≥	114430	   111		
≥	114431	   124		
≥	114432	   123		
≥	114433	   040		
≥	114434	   103		
≥	114435	   157		
≥	114436	   156		
≥	114437	   163		
≥	114440	   157		
≥	114441	   154		
≥	114442	   145		
≥	114443	   056		
≥	114444	   040		
≥	114445	   040		
≥	114446	   120		
≥	114447	   141		
≥	114450	   163		
≥	114451	   163		
≥	114452	   167		
≥	114453	   157		
≥	114454	   162		
≥	114455	   144		
≥	114456	   040		
≥	114457	   075		
≥	114460	   040		
≥	114461	   000		
≥					WAITS Console.  Password = /
≥					
≠.ASCIZ≡≥	114462	   015		
≥	114463	   012			FSLOSM:	.ASCIZ /
≥	114464	   127		
≥	114465	   162		
≥	114466	   157		
≥	114467	   156		
≥	114470	   147		
≥	114471	   015		
≥	114472	   012			Wrong
≥	114473	   000		
≥					/
≥					PWORD:	;XLISTED OF COURSE
≠.XLIST≡≠.BYTE≡≠.BYTE≡≠.BYTE≡≠.BYTE≡≠.LIST≡≡PWORD≡≡PWLEN≠≥		000004			PWLEN==.-PWORD
≠.EVEN≡≥		114500				.EVEN
≥					
≥					;HU command to KLDCP
≡TTITRM≡≡TTITRM≡≥	114500	104022			$HU:	TTITRM
≤PMSG≡≥						PMSG <\BYE\>
≡$PMSG≡≡$PMSG≡≥	114502	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 171
	CONS11 PAL[KL,SYS]	Page 61.5 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥	114504	145763				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JSR≡≡PC≡≡HANGU1≡≥	114506	004737	114040			JSR PC,HANGU1
≠CLR≡≡$TTYFL≡≥	114512	005037	147756			CLR $TTYFL		;CLEAR PADDING AMOUNT
≠JMP≡≡$CONSL≡≥	114516	000137	100014			JMP $CONSL
≥					
≥					.ENDC ;IF DF TELASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 172
	KLDCP PAL[KL,SYS]	Page 5.3 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥					
≥								;breakpoints
≠.LIF≡≡BPTASB≡≥					.LIF DF BPTASB	
≥					  .INSRT  BPNT11.PAL
≥					
≥								;subroutines, EMT dispatch, Initialization
≠.INSRT≡≥					.INSRT	SUB11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 173
	SUB11 PAL[KL,SYS]	Page 1 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥				COMMENT ⊗   VALID 00047 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00005 00002	.SBTTL	BASIC INITIALIZATION ROUTINE, 19-AUG-75
≥				C00012 00003	.SBTTL	SET EOP INTERVAL TALLY, ERROR EOP
≥				C00015 00004	.SBTTL	ERROR HALT
≥				C00018 00005	.SBTTL	PRINT ASCIZ MESSAGE (PNTAL)
≥				C00020 00006	.SBTTL	PRINT BUFFER LOAD ROUTINE
≥				C00022 00007	.SBTTL	TELETYPE PRINT OUTPUT ROUTINE
≥				C00024 00008	.SBTTL	TELETYPE DRIVER
≥				C00028 00009	.SBTTL	LINE PRINTER DRIVER
≥				C00032 00010	OPERATOR INTERRUPT TYPEIN CHECKS
≥				C00034 00011	.SBTTL	PRINT CRLF
≥				C00036 00012	.SBTTL	PRINT LOWER 18 BITS OF 36 BIT NUMBER
≥				C00038 00013	$PRT36:	MOV	4(R1),R0	GET THE WORD
≥				C00040 00014	.SBTTL	PRINT OCTAL
≥				C00042 00015	.SBTTL	CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
≥				C00045 00016	.SBTTL	TTY INPUT ROUTINE TTICHR
≥				C00047 00017	.SBTTL	TTIYES YES OR NO ROUTINE
≥				C00048 00018	.SBTTL	READ SWITCH REGISTER
≥				C00050 00019	.SBTTL	INPUT A STRING FROM TTY
≥				C00052 00020	82$:	CMPB	(R1),#141
≥				C00054 00021	SPECIAL CHAR PROCESS
≥				C00056 00022	SPECIAL CHARACTERS
≥				C00057 00023	.SBTTL	CTY & FSTTY DL11 DRIVERS
≥				C00060 00024	.SBTTL	READ AN OCTAL NUMBER FROM THE TTY
≥				C00062 00025	.SBTTL	READ A DECIMAL NUMBER FROM THE TTY
≥				C00064 00026	.SBTTL	READ A 12 DIGIT OCTAL (36 BIT) NUMBER
≥				C00066 00027	3$:	MOV	R5,$INPTC	RESET INPUT POINTER
≥				C00068 00028	8$:	TSTB	$0FLG
≥				C00070 00029	.SBTTL	SIGNED MULTIPLY SUBROUTINE
≥				C00072 00030	.SBTTL	BREAK CHARACTER
≥				C00074 00031	.SBTTL	TELETYPE INPUT TERMINATION CHECK
≥				C00076 00032	.SBTTL	INPUT & CHECK OCTAL NUMBER
≥				C00077 00033	.SBTTL	SHIFT R0 RIGHT/LEFT ROUTINES
≥				C00079 00034	.SBTTL	SMALL TIME DELAY
≥				C00080 00035	FATAL VECTOR INTERRUPT
≥				C00081 00036	.SBTTL	EMT DECODER
≥				C00083 00037		$PNTNBR		EMT + 30
≥				C00085 00038		$DPSVT		EMT + 110
≥				C00087 00039		$RPLKUP		EMT + 170
≥				C00089 00040	.SBTTL	POWER DOWN AND UP ROUTINES
≥				C00092 00041	.SBTTL	EXIT SUBROUTINE
≥				C00093 00042	.SBTTL	PDP10 OPERATIONS
≥				C00100 00043	$D10ADR:MOV	#L10ADR,R4
≥				C00103 00044	START MICROCODE
≥				C00104 00045	PDP-10 INSTRUCTION EXECUTE
≥				C00105 00046	PDP-10 CONTROLLED STOP ROUTINE
≥				C00107 00047		.SBTTL	CLOCK INITIALIZATION, INTERRUPTS
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 174
	SUB11 PAL[KL,SYS]	Page 1.1 	FIELD SERVICE TELETYPE INTERRUPT HANDLER - FSRINT, FSTINT, $HU

≥				C00110 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 175
	SUB11 PAL[KL,SYS]	Page 2 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

≥					.SBTTL	BASIC INITIALIZATION ROUTINE, 19-AUG-75
≥					
≥					;*THIS SUBROUTINE PERFORMS THE MOST ELEMENTARY SET UP FOR THE CPU
≥					;*THIS ROUTINE MUST BE EXECUTED BY ALL OF THE POSSIBLE START
≥					;*OPTIONS PRIOR TO ANY OTHER SUBROUTINE
≥					
≠MOV≡≡STACK≡≡SP≡≥	114522	012706	157776		$$ILOAD:MOV	#STACK,SP			;START HERE FIRST TIME
≠MOV≡≡.DELAY≡≡$ILDCL≡≡R1≡≥	114526	012701	002435			MOV	#<<.DELAY-$ILDCLR>/2>,R1
≠MOV≡≡$ILDCL≡≡R0≡≥	114532	012700	152226			MOV	#$ILDCLR,R0
≠CLR≡≡R0≡≥	114536	005020			1$:	CLR	(R0)+		;CLEAR SPECIAL CONTROL WORDS
≠DEC≡≡R1≡≥	114540	005301				DEC	R1
≠BGT≡≥	114542	003375				BGT	1$
≠MOV≡≡CLKDFL≡≥	114544	012737	000017	157252		MOV	#17,CLKDFL+4	;INITIAL DEFAULT, ALL 4 CACHES
≠MOV≡≡PEBITS≡≥	114552	012737	000036	157262		MOV	#36,PEBITS	;INITIAL DEFAULT, AR/ARX, FM, CRAM, DRAM
≥									;AND NOT FS PROBE, PARITY STOP ENABLES
≠JSR≡≡PC≡≡$CKSUM≡≥	114560	004737	115174			JSR	PC,$CKSUM	;CHECKSUM "KLDCP"
≠MOV≡≡R0≡≡$ILDSU≡≥	114564	010037	157314			MOV	R0,$ILDSUM	;SAVE
≥					
≠MOV≡≡CPUPR≡≡PS≡≥	114570	012737	000140	177776	$SBRINT:MOV	#CPUPR,PS	;SET CPU PRIORITY	;NORMAL START (100000)
≠MOV≡≡STACK≡≡SP≡≥	114576	012706	157776			MOV	#STACK,SP	;SET THE STACK POINTER
≥					
≠.IF≡≡%%DDT≡≥					.IF DF %%DDT
≥					;	MOV	#CPUPR,%DDTS	;CPU PRIORITY FOR DDT
≠MOV≡≡SP≡≥	114602	013746	000014			MOV	@#14,-(SP)	;PUSH 14 AND 16
≠MOV≡≡SP≡≥	114606	013746	000016			MOV	@#16,-(SP)	;TO ALLOW DDT BREAKPOINT TRAPS
≥					.ENDC
≥					
≠.IF≡≡%%QMP≡≥					.IF DF %%QMP
≠MOV≡≡R1≡≥	114612	013701	000776			MOV	776,R1		;Save location 776
≥					.ENDC
≥					
≠CLR≡≡R0≡≥	114616	005000				CLR	R0		;SET ENTIRE VECTOR AREA TO:
≠MOV≡≡$FATLE≡≡R0≡≥	114620	012720	122702		1$:	MOV	#$FATLE,(R0)+	;	;ADDRESS OF ERROR HANDLER
≠MOV≡≡PR7≡≡R0≡≥	114624	012720	000340			MOV	#PR7,(R0)+	;	;PR7
≠CMP≡≡R0≡≥	114630	020027	001000			CMP	R0,#1000
≠BLT≡≥	114634	002771				BLT	1$
≥					
≠.IF≡≡%%QMP≡≥					.IF DF %%QMP
≠CMP≡≡R1≡≡PC≡≥	114636	020127				CMP	R1,(PC)+	;did 776 contain JMP (R0)?
≠JMP≡≡R0≡≥	114640	000110				JMP	(R0)		;if so, we were started by WAITS
≠BNE≡≥	114642	001003				BNE	99$		;and must go into monitor mode.
≠BIS≡≥	114644	052737	100000	000776		BIS	#100000,776	;set sign bit in 776.
≥					99$:
≥					.ENDC
≥					
≠MOV≡≡$TIMOT≡≡ERRVEC≡≥	114652	012737	122712	000004		MOV	#$TIMOT,@#ERRVEC ;TIME OUT BUS ERROR VECTOR
≠MOV≡≡$RESVD≡≡RESVEC≡≥	114660	012737	122722	000010		MOV	#$RESVD,@#RESVEC ;RESERVED INSTRUCTION VECTOR
≠MOV≡≡$PWRDN≡≡PWRVEC≡≥	114666	012737	123616	000024		MOV	#$PWRDN,@#PWRVEC ;POWER FAIL VECTOR
≥					
≠.LIF≡≡BPTASB≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 176
	SUB11 PAL[KL,SYS]	Page 2.1 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

≥					.LIF DF BPTASB
≥						MOV	#$BRKPT,@#IOTVEC ;IOT VECTOR
≥					
≠MOV≡≡$EMTRP≡≡EMTVEC≡≥	114674	012737	123024	000030		MOV	#$EMTRP,@#EMTVEC ;EMT VECTOR
≥					
≠.IF≡≡%%DDT≡≥					.IF DF %%DDT
≠MOV≡≡SP≡≥	114702	012637	000016			MOV	(SP)+,@#16	;FOR DDT, POP BREAKPOINT TRAP
≠MOV≡≡SP≡≥	114706	012637	000014			MOV	(SP)+,@#14
≥					.IFF
≥						MOV	#.BCCT,@#BPTVEC	;SET BP VECTOR
≥					.ENDC
≥					
≠.IF≡≡SAILVR≡≥					.IF DF SAILVR
≠JSR≡≡PC≡≡CLKSTA≡≥	114712	004737	125746			JSR	PC,CLKSTA		;CLOCK START (AFTER CLOBBERING INTERRUPTS)
≠MOV≡≡CPUPR≡≡EMTVEC≡≥	114716	012737	000140	000032		MOV	#CPUPR,@#EMTVEC+2	;SO EMTS DON'T AFFECT PROCESSOR PRIORITY
≥					.ENDC
≥					
≠.IF≡≡TELASB≡≥					.IF DF TELASB
≠MOV≡≡DLRTS≡≡$FSTKS≡≥	114724	012777	000004	763076		MOV #DLRTS,@$FSTKS		;INITIALIZE
≠MOV≡≡FSRINT≡≡$FSTRV≡≥	114732	012777	113456	763100		MOV #FSRINT,@$FSTRV		;SETUP FS KL11E RECEIVE TRAP VECTOR
≠MOV≡≡FSTINT≡≡$FSTTV≡≥	114740	012777	114160	763074		MOV #FSTINT,@$FSTTV		;SETUP FS KL11E TRANSMIT TRAP VECTOR
≠MOV≡≡R0≡≥	114746	012700	116100			MOV #40000.,R0			;40000*2.36USEC = 94.4 MS
≠SOB≡≡R0≡≥	114752	077001				SOB R0,.			;WAIT FOR DATA SET TO HANG UP
≠BIS≡≡DLRTS≡≡DLDTR≡≡DLDIE≡≡$FSTKS≡≥	114754	052777	000046	763046		BIS #DLRTS!DLDTR!DLDIE,@$FSTKS	;SET DATA TERM READY AND DATA SET INT ENB
≥							;LEAVE REQUEST TO SEND UP ALTHOUGH WE DON'T USE IT
≥					.ENDC ;IF DF TELASB
≥					
≠.IF≡≡CLKASB≡≥					.IF DF CLKASB
≠MOV≡≡TCUINT≡≡$CLKTV≡≥	114762	012777	111760	763064		MOV #TCUINT,@$CLKTV		;SET UP TCU-100 TRAP VECTOR
≥					.ENDC ;IF DF CLKASB
≥					
≠MOV≡≡BUFCLR≡≡R0≡≥	114770	012700	147422		11$:	MOV	#BUFCLR,R0	;CLEAR BUFFER STORAGE BETWEEN:
≠CLR≡≡R0≡≥	114774	005020			21$:	CLR	(R0)+		;BUFCLR: AND .DELAY !
≠CMP≡≡R0≡≡$ILDCL≡≥	114776	020027	152226			CMP	R0,#$ILDCLR
≠BNE≡≥	115002	001374				BNE	21$
≠MOV≡≡SP≡≡$KONSP≡≥	115004	010637	147736			MOV	SP,$KONSP
≥					
≠CLR≡≡CONSOL≡≥	115010	005037	077776			CLR	CONSOL-2
≥					
≡TTPINI≡≡TTPINI≡≥	115014	104217				TTPINI			;RESET TTY POINTERS
≥					
≠MOV≡≡$PGWID≡≥	115016	012737	000204	150000		MOV	#132.,$PGWID	;SET PAGE WIDTH PARAMETER (LA36!)
≠MOV≡≡$TTYFL≡≥	115024	012737	000000	147756		MOV	#0,$TTYFL	;SET FILL PARAMETER TO (LA36!)
≡PFORCE≡≡PFORCE≡≥	115032	104043				PFORCE			;MUST TYPE STARTUP
≠MOV≡≡NOPAR≡≡ERRVEC≡≥	115034	012737	115154	000004		MOV	#NOPAR,ERRVEC	;SET BUS TIMEOUT IN CASE NO PARITY
≠MOV≡≡MEMPE≡≡MMLPIV≡≥	115042	012737	124100	000114		MOV	#MEMPE,MMLPIV	;SETUP PARITY VECTOR
≠MOV≡≡MMPIE≡≡MMLPBA≡≥	115050	012737	000001	172100		MOV	#MMPIE,MMLPBA	;ENABLE PARITY ERRORS
≠MOV≡≡$TIMOT≡≡ERRVEC≡≥	115056	012737	122712	000004		MOV	#$TIMOT,ERRVEC	;RESTORE BUS TIMEOUT
≥					
≠TST≡≡$ONETM≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 177
	SUB11 PAL[KL,SYS]	Page 2.2 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

≥	115064	005737	157316			TST	$ONETM
≠BNE≡≥	115070	001010				BNE	3$
≥					
≠.LIF≡≡BPTASB≡≥					.LIF DF BPTASB
≥						JSR	PC,.CB		;CLEAR BP'S
≥					
≠.IF≡≡SAILVR≡≥					.IF DF SAILVR
≤PMSG≡≥						PMSG	<\Stanford KLDCP - QMP/EN\>
≡$PMSG≡≡$PMSG≡≥	115072	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	115074	145771				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡SWS10≡≡R0≡≥	115076	012700	157240			MOV	#SWS10,R0	;setup initial switches to 3,,600000
≠CLR≡≡R0≡≥	115102	005020				CLR	(R0)+		;bits 20:35
≠BIS≡≡R0≡≥	115104	052720	000017			BIS	#17,(R0)+	;bits 04:19
≠CLR≡≡R0≡≥	115110	005010				CLR	(R0)		;bits 0:3
≥					.IFF
≥						PMSG	<\DECSYSTEM10 DIAGNOSTIC CONSOLE\VERSION >
≥						MOV	#MCNVER,R0
≥						PNTOCS
≥						PNTCI
≥						'.
≥						MOV	#DECVER,R0
≥						PNTOCS
≥					;.IF DF SAILVR
≥					;	PMSG	<, Stanford version >
≥					;	MOV	#SAILVR,R0
≥					;	PNTOCS
≥					;.ENDC
≥						PMSG	<\11 SWR = >
≥						MOV	SWR,R0
≥						PNTOCT			;PRINT CONSOLE SWITCHES
≥						PCRLF
≥					.ENDC
≥					
≠JSR≡≡PC≡≡DTEINI≡≥	115112	004737	140620		3$:	JSR	PC,DTEINI	;DTE20 INITIALIZATION
≥					
≠.IF≡≡SAILVR≡≥					.IF NDF SAILVR
≥						TST	DEVTYP		;USING RP04 ?
≥						BLE	4$		;NO
≥						RPLOAD			;YES, INIT & LOAD PACK
≥						 BCC	4$
≥						RPERROR			;FAILED
≥					.ENDC
≥					
≥					4$:
≠.IF≡≡%%QMP≡≥					.IF DF %%QMP
≠TST≡≥	115116	005737	000776			TST	776		;were we loaded and started by the 10?
≠BGE≡≥	115122	002010				BGE	44$		;branch if not
≡SETFLG≡≡SETFLG≡≥	115124	104055				SETFLG
≡MONMOD≡≡MONMOD≡≥	115126	147666				  MONMODE
≡SETFLG≡≡SETFLG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 178
	SUB11 PAL[KL,SYS]	Page 2.3 	BASIC INITIALIZATION ROUTINE, 19-AUG-75

≥	115130	104055				SETFLG
≡TENRUN≡≡TENRUN≡≥	115132	147670				  TENRUN
≡SETFLG≡≡SETFLG≡≥	115134	104055				SETFLG
≡PRGRUN≡≡PRGRUN≡≥	115136	147614				  PRGRUN
≡SETFLG≡≡SETFLG≡≥	115140	104055				SETFLG
≡MTTYOF≡≡MTTYOF≡≥	115142	147664				  MTTYOF
≥					.ENDC
≥						
≥					44$:
≠.LIF≡≡%%QMP≡≥					.LIF DF %%QMP
≠JSR≡≡PC≡≡QMPINI≡≥	115144	004737	137542			JSR	PC,QMPINI	;initialize QMP
≥					
≠JMP≡≡CONSL≡≥	115150	000137	100106			JMP	CONSL		;NOW TO CONSOLE
≥					
≠RTI≡≠RTI≡≥	115154	000002			NOPAR:	RTI			;NO PARITY REGISTER
≥					
≠MOV≡≡$CMTAG≡≡R0≡≥	115156	012700	152172		$CMCLR:	MOV	#$CMTAG,R0	;CLEAR COMMON STORAGE
≠CLR≡≡R0≡≥	115162	005020			1$:	CLR	(R0)+
≠CMP≡≡R0≡≡MONCTL≡≥	115164	020027	152222			CMP	R0,#MONCTL
≠BLT≡≥	115170	002774				BLT	1$
≠RTS≡≡PC≡≥	115172	000207				RTS	PC
≥					
≠CLR≡≡$KDCEN≡≥	115174	005037	101140		$CKSUM:	CLR	$KDCEN		;CLEAR ONLY CHANGEABLE LOCATION
≠MOV≡≡START≡≡R1≡≥	115200	012701	100000			MOV	#START,R1
≠CLR≡≡R0≡≥	115204	005000				CLR	R0
≠ADD≡≡R1≡≡R0≡≥	115206	062100			2$:	ADD	(R1)+,R0	;CHECKSUM "KLDCP"
≠CMP≡≡R1≡≡$$FF≡≥	115210	020137	144716			CMP	R1,$$FF
≠BLOS≡≥	115214	101774				BLOS	2$
≠RTS≡≡PC≡≥	115216	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 179
	SUB11 PAL[KL,SYS]	Page 3 	SET EOP INTERVAL TALLY, ERROR EOP

≥					.SBTTL	SET EOP INTERVAL TALLY, ERROR EOP
≠.IF≡≡%%EOP≡≥					.IF NDF %%EOP
≥					
≥					$EOPSET:
≥					$EOP:
≡FATAL≡≡FATAL≡≥	115220	104000			$ERREOP:FATAL
≥					.ENDC
≥					
≠.IF≡≡%%EOP≡≥					.IF DF %%EOP
≥					$EOPSET:MOV	R0,$ENDCT	;SET EOP INTERVAL TALLY
≥						EXIT
≥					
≥					;CONSOLE SET EOP INTERVAL
≥					
≥					.EP:	TTISDL
≥						 BCS	1$
≥						TTIDEC			;SPECIFIED AS DECIMAL INTERVAL
≥						 BCS	1$
≥						MOV	R0,$ENDCT
≥						CLR	$EOPCT
≥						JMP	$KONSL
≥					1$:	JMP	$PARAM
≥					
≥					.SBTTL	END OF PASS ROUTINE
≥					
≥					$EOP:	MOV	#$PASS,R5
≥						INC	(R5)		;INCREMENT THE PASS NUMBER
≥						CMP	(R5),#30001.	;LIMIT MAX COUNT TO 30000
≥						BLT	4$
≥						CLR	(R5)
≥						INC	(R5)
≥						MOV	$ENDCT,$EOPCT	;RESET REPORT INTERVAL
≥					
≥					4$:	MOV	(R5),SWR	;DISPLAY PASS COUNT
≥						SWITCH			;READ THE SWITCH REGISTER
≥					
≥						BIT	R0,#ABORT	;ABORT AFTER CURRENT PASS?
≥						BNE	1$		;YES
≥					
≥						DEC	$EOPCT		;DECREMENT EOP
≥						BGT	3$
≥						BR	2$
≥					
≥					1$:	MOV	#1,$ITERA	;SET ITERATION SO WE WILL EXIT
≥					2$:	PMSG	<END PASS >
≥					
≥						MOV	(R5),R0		;PASS COUNT TO  R0
≥						PNTDEC
≥						PCRLF
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 180
	SUB11 PAL[KL,SYS]	Page 3.1 	SET EOP INTERVAL TALLY, ERROR EOP

≥					
≥						MOV	$ENDCT,$EOPCT	;RESTORE COUNTER
≥					
≥					3$:	DEC	$ITERA		;DECREMENT ITERATION COUNT
≥						BEQ	$ERREOP
≥						CLR	$ITERA
≥						EXIT
≥					
≥					$ERREOP:TST	MONCTL		;STAND ALONE ?
≥						BNE	$EROP		;NO, *WHAT TO DO ??*
≥						CLR	TENRUN		;TURN OFF TEN SUPPORT
≥						CLR	PRGRUN		;YES, ALLOW "J" AGAIN
≥					
≥					$EROP:	JMP	CONSL		;MONITOR, TO NEXT SCRIPT ENTRY
≥					
≥					.ENDC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 181
	SUB11 PAL[KL,SYS]	Page 4 	ERROR HALT

≥					.SBTTL	ERROR HALT
≥					
≤PUSH≡≥					$PRGHLT:PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<\PRG>
≡$PMSG≡≡$PMSG≡≥	115224	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	115226	146023				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$PH2≡≥	115230	000412				BR	$PH2
≥					
≤PUSH≡≥					$ERRHLT:PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡SWITCH≡≡SWITCH≡≥	115234	104057				SWITCH
≠BIT≡≡R0≡≡ERSTOP≡≥	115236	030027	000400			BIT	R0,#ERSTOP	;STOP ON ERROR ?
≠BNE≡≥	115242	001003				BNE	1$		;YES
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT			;NO, KEEP GOING
≠JMP≡≡$EXIT≡≥	115246	000137	124064			  JMP	$EXIT
≥					
≤PMSG≡≥					1$:	PMSG	<\ERROR>
≡$PMSG≡≡$PMSG≡≥	115252	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	115254	146030				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≡SETFLG≡≡SETFLG≡≥	115256	104055			$PH2:	SETFLG
≡.HCFLG≡≡.HCFLG≡≥	115260	147610				  .HCFLG		;ALLOW HALT CONTINUE
≥					
≠MOV≡≡SP≡≡$R0SAV≡≥	115262	012637	147636		$PH1:	MOV	(SP)+,$R0SAV	;SETUP SO "RG" CAN PRINT
≠MOV≡≡$R5SAV≡≡R0≡≥	115266	012700	147652			MOV	#$R5SAV+2,R0
≠MOV≡≡SP≡≡R0≡≥	115272	012640				MOV	(SP)+,-(R0)	;R5 to $R5SAV
≠MOV≡≡SP≡≡R0≡≥	115274	012640				MOV	(SP)+,-(R0)	;R4 to $R4SAV
≠MOV≡≡SP≡≡R0≡≥	115276	012640				MOV	(SP)+,-(R0)	;R3 to $R3SAV
≠MOV≡≡SP≡≡R0≡≥	115300	012640				MOV	(SP)+,-(R0)	;R2 to $R2SAV
≠MOV≡≡SP≡≡R0≡≥	115302	012640				MOV	(SP)+,-(R0)	;R1 to $R1SAV
≠MOV≡≡SP≡≡.HCADR≡≥	115304	012637	147606			MOV	(SP)+,.HCADR	;halt/continue address (if needed)
≠MOV≡≡SP≡≡$PSSAV≡≥	115310	012637	147654			MOV	(SP)+,$PSSAV	;halt/continue PS.
≠MOV≡≡SP≡≡$SPSAV≡≥	115314	010637	147652			MOV	SP,$SPSAV	;save dead SP
≤PMSG≡≥						PMSG	< HALT AT >
≡$PMSG≡≡$PMSG≡≥	115320	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	115322	146037				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡.HCADR≡≡R0≡≥	115324	013700	147606			MOV	.HCADR,R0	;GET ADDRESS
≠SUB≡≡R0≡≥	115330	162700	000002			SUB	#2,R0		;COMPUTE ACTUAL ADDRESS
≡PNTOCT≡≡PNTOCT≡≥	115334	104035				PNTOCT			;PRINT ERROR HALT ADDRESS
≡PCRLF≡≡PCRLF≡≥	115336	104031				PCRLF
≡PFORCE≡≡PFORCE≡≥	115340	104043				PFORCE
≠CLR≡≡R2≡≥	115342	005002				CLR	R2		;REGISTER NUMBER
≠MOV≡≡$R0SAV≡≡R1≡≥	115344	012701	147636			MOV	#$R0SAV,R1	;REG SAVE TABLE POINTER
≡PNTCI≡≡PNTCI≡≥	115350	104214			1$:	PNTCI
≥	115352	000122				'R
≠MOV≡≡R2≡≡R0≡≥	115354	010200				MOV	R2,R0		;register number
≡PNTNBR≡≡PNTNBR≡≥	115356	104030				PNTNBR			;PRINT REGISTER NUMBER
≡PSLASH≡≡PSLASH≡≥	115360	104033			4$:	PSLASH
≠MOV≡≡R1≡≡R0≡≥	115362	012100			2$:	MOV	(R1)+,R0
≡PNTOCT≡≡PNTOCT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 182
	SUB11 PAL[KL,SYS]	Page 4.1 	ERROR HALT

≥	115364	104035				PNTOCT			;PRINT CONTENTS
≡PCRLF≡≡PCRLF≡≥	115366	104031				PCRLF
≠INC≡≡R2≡≥	115370	005202				INC	R2
≠CMP≡≡R2≡≥	115372	020227	000006			CMP	R2,#6
≠BLT≡≥	115376	002764				BLT	1$		;loop for zero to 5
≠BGT≡≥	115400	003003				BGT	3$		;exit for 7
≡PNTCI≡≡PNTCI≡≥	115402	104214				PNTCI
≥	115404	050123				"SP
≠BR≡≥	115406	000764				BR	4$		;print R6 as SP
≥					
≠CLR≡≡R2≡≥	115410	005002			3$:	CLR	R2		;Count of stack frames
≠MOV≡≡$SPSAV≡≡R1≡≥	115412	013701	147652			MOV	$SPSAV,R1	;Stack top address
≠MOV≡≡R1≡≡R0≡≥	115416	010100			91$:	MOV	R1,R0
≡PNTOCT≡≡PNTOCT≡≥	115420	104035				PNTOCT
≡PSLASH≡≡PSLASH≡≥	115422	104033				PSLASH
≠MOV≡≡R1≡≡R0≡≥	115424	012100				MOV	(R1)+,R0
≡PNTOCT≡≡PNTOCT≡≥	115426	104035				PNTOCT			;PRINT CONTENTS
≡PCRLF≡≡PCRLF≡≥	115430	104031				PCRLF
≠CMP≡≡R1≡≡COREND≡≥	115432	020127	160000			CMP	R1,#COREND
≠BGE≡≥	115436	002004				BGE	92$
≠INC≡≡R2≡≥	115440	005202				INC	R2
≠CMP≡≡R2≡≥	115442	020227	000006			CMP	R2,#6
≠BLT≡≥	115446	002763				BLT	91$		;loop to display several stack items
≠TST≡≡.HCFLG≡≥	115450	005737	147610		92$:	TST	.HCFLG		;is this a continuable halt?
≠BEQ≡≥	115454	001402				BEQ	93$		;BR if not
≠JMP≡≡$CONSL≡≥	115456	000137	100014			JMP	$CONSL		;RETURN TO MONITOR
≥					
≥					93$:
≠.LIF≡≡%%DDT≡≥					.LIF DF %%DDT
≠JMP≡≥	115462	000137	056000			JMP	56000
≥					
≠.LIF≡≡%%DDT≡≥					.LIF NDF %%DDT
≥						JMP	$SBRINT		;major crash.  nearly major reload
≥					
≠TST≡≡.HCFLG≡≥	115466	005737	147610		.HC:	TST	.HCFLG
≠BNE≡≥	115472	001002				BNE	1$
≠JMP≡≡$CMDER≡≥	115474	000137	100574			JMP	$CMDER		;HC NOT ALLOWED
≠CLR≡≡.HCFLG≡≥	115500	005037	147610		1$:	CLR	.HCFLG
≥					
≠.LIF≡≡BPTASB≡≥					.LIF DF BPTASB
≥						JSR	PC,.BCHC
≥					
≠MOV≡≡$SPSAV≡≡R6≡≥	115504	013706	147652			MOV	$SPSAV,R6
≠MOV≡≡$PSSAV≡≡PS≡≥	115510	013737	147654	177776		MOV	$PSSAV,PS
≠JMP≡≡.HCADR≡≥	115516	000177	032064			JMP	@.HCADR
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 183
	SUB11 PAL[KL,SYS]	Page 5 	PRINT ASCIZ MESSAGE (PNTAL)

≥					.SBTTL	PRINT ASCIZ MESSAGE (PNTAL)
≥					
≠BICB≡≡R0≡≥	115522	142710	000200		$PNTAL:	BICB	#200,(R0)	;CLEAR JUNK
≠TSTB≡≡R0≡≥	115526	105710				TSTB	(R0)		;REACHED EOL YET?
≠BEQ≡≥	115530	001430				BEQ	3$		;YES
≠TST≡≡HLPPNT≡≥	115532	005737	150722			TST	HLPPNT		;PRINTING A HELP FILE
≠BNE≡≥	115536	001006				BNE	4$		;YES
≠CMPB≡≡R0≡≡BKARW≡≥	115540	121027	000137			CMPB	(R0),#BKARW	;BACKARROW (-)?
≠BEQ≡≥	115544	001416				BEQ	2$		;YES
≠CMPB≡≡R0≡≡BKSLH≡≥	115546	121027	000134			CMPB	(R0),#BKSLH	;BACKSLASH (\)?
≠BEQ≡≥	115552	001403				BEQ	1$
≠MOVB≡≡R0≡≡R1≡≥	115554	112001			4$:	MOVB	(R0)+,R1	;PUT CHAR IN R1
≡PLDBUF≡≡PLDBUF≡≥	115556	104154				PLDBUF			;LOAD INTO OUTPUT BUFFER
≠BR≡≡$PNTAL≡≥	115560	000760				BR	$PNTAL		;DO TILL E-O-L
≥					
≠MOV≡≡CR≡≡R1≡≥	115562	012701	000015		1$:	MOV	#CR,R1		;BACKSLASH
≡PLDBUF≡≡PLDBUF≡≥	115566	104154				PLDBUF			;OUTPUT CR & LF
≠MOV≡≡LF≡≡R1≡≥	115570	012701	000012			MOV	#LF,R1
≡PLDBUF≡≡PLDBUF≡≥	115574	104154				PLDBUF
≠INC≡≡R0≡≥	115576	005200			11$:	INC	R0
≠BR≡≡$PNTAL≡≥	115600	000750				BR	$PNTAL
≥					
≠CLR≡≡CTRLOF≡≥	115602	005037	147770		2$:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
≡PRINTT≡≡PRINTT≡≥	115606	104151				PRINTT			;BACKARROW, PRINT BUFFER
≠BR≡≥	115610	000772				BR	11$
≥					
≠BR≡≡$$PNTX≡≥	115612	000406			3$:	BR	$$PNTX
≥					
≠.SBTTL≡≥					.SBTTL	PRINT ASCII NUMBER (PNTNBR)
≥					
≠BIC≡≡R0≡≥	115614	042700	177770		$PNTNBR:BIC	#177770,R0
≠BIS≡≡R0≡≥	115620	052700	000060			BIS	#'0,R0
≥					
≠.SBTTL≡≥					.SBTTL	PRINT ASCII CHARACTER (PNTCHR)
≥					
≠MOVB≡≡R0≡≡R1≡≥	115624	110001			$PNTCHR:MOVB	R0,R1
≡PLDBUF≡≡PLDBUF≡≥	115626	104154				PLDBUF
≤EXIT≡≥					$$PNTX:	EXIT
≠JMP≡≡$EXIT≡≥	115630	000137	124064			  JMP	$EXIT
≥					
≠MOV≡≡SPACE≡≡R0≡≥	115634	012700	000040		$PSPACE: MOV	#SPACE,R0
≠BR≡≡$PNTCH≡≥	115640	000771				BR	$PNTCHR
≥					
≠MOV≡≡SLASH≡≡R0≡≥	115642	012700	000057		$PSLASH: MOV	#SLASH,R0
≠BR≡≡$PNTCH≡≥	115646	000766				BR	$PNTCHR
≥					
≠MOV≡≡COMMA≡≡R0≡≥	115650	012700	000054		$PCOMMA: MOV	#COMMA,R0
≠BR≡≡$PNTCH≡≥	115654	000763				BR	$PNTCHR
≥					
≠MOV≡≡TAB≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 184
	SUB11 PAL[KL,SYS]	Page 5.1 	PRINT ASCII CHARACTER (PNTCHR)

≥	115656	012700	000011		$PTAB:	MOV	#TAB,R0
≠BR≡≡$PNTCH≡≥	115662	000760				BR	$PNTCHR
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 185
	SUB11 PAL[KL,SYS]	Page 6 	PRINT BUFFER LOAD ROUTINE

≥					.SBTTL	PRINT BUFFER LOAD ROUTINE
≥					
≤PUSH≡≥					$PLDBUF:PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡$OUTPT≡≡R0≡≥	115666	013700	150474			MOV	$OUTPT,R0
≠BIC≡≡R1≡≥	115672	042701	177600			BIC	#177600,R1	;STRIP TO 7 BITS
≠MOVB≡≡R1≡≡R0≡≥	115676	110120				MOVB	R1,(R0)+	;PUT CHAR IN BUFFER
≠CLRB≡≡R0≡≥	115700	105010				CLRB	(R0)		;INSERT TRAILING NULL
≠MOV≡≡R0≡≡$OUTPT≡≥	115702	010037	150474			MOV	R0,$OUTPT
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠CMP≡≡$OUTPT≡≡$OUTBF≡≥	115710	023727	150474	150470		CMP	$OUTPT,#$OUTBF+140.;EXCEEDED BUFFER CAPACITY
≠BGE≡≥	115716	002012				BGE	2$
≥					
≠CMPB≡≡LF≡≡R1≡≥	115720	122701	000012		1$:	CMPB	#LF,R1		;WAS CHAR LINE FEED
≠BEQ≡≥	115724	001407				BEQ	2$		;YES
≠CMPB≡≡BELL≡≡R1≡≥	115726	122701	000007			CMPB	#BELL,R1	;WAS CHAR BELL ?
≠BEQ≡≥	115732	001404				BEQ	2$		;YES
≠CMPB≡≡NULL≡≡R1≡≥	115734	122701	000000			CMPB	#NULL,R1	;WAS CHAR NULL ?
≠BEQ≡≥	115740	001401				BEQ	2$		;YES
≠BR≡≡$$PNTX≡≥	115742	000732			3$:	BR	$$PNTX		;NO, RETURN
≥					
≠TST≡≡PCMDNF≡≥	115744	005737	152212		2$:	TST	PCMDNF		;DOING NO PRINT PROGRAM COMMAND
≠BNE≡≥	115750	001374				BNE	3$
≥					
≠.LIF≡≡LPTASB≡≥					.LIF DF LPTASB
≥						PLPT			;LINE PRINTER
≥					
≡PRINTT≡≡PRINTT≡≥	115752	104151				PRINTT			;PRINT BUFFER
≠CLR≡≡$TTLKF≡≥	115754	005037	147764			CLR	$TTLKF		;CLEAR TTLOOK  FLAG
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡PNTRST≡≡PNTRST≡≥	115762	104215				PNTRST			;RESET OUTPUT POINTERS
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≥	115766	000765				BR	3$
≥					
≥					;PRINT, BACKUP OUTPUT INSERTION POINTER
≥					
≠CMP≡≡$OUTPT≡≡$OUTBF≡≥	115770	023727	150474	150254	$PNTBAK:CMP	$OUTPT,#$OUTBF	;ALL THE WAY BACK ?
≠BLE≡≥	115776	003402				BLE	1$		;YES
≠DEC≡≡$OUTPT≡≥	116000	005337	150474			DEC	$OUTPT		;NO, BACKUP ONE BYTE
≠BR≡≡$$PNTX≡≥	116004	000711			1$:	BR	$$PNTX
≥					
≥					;TELETYPE POINTER INITIALIZATION
≥					
≠MOV≡≡$INBUF≡≡$INPTC≡≥	116006	012737	150500	150716	$TTPINI:MOV	#$INBUF,$INPTC
≠MOV≡≡$INBUF≡≡$INPTR≡≥	116014	012737	150500	150720		MOV	#$INBUF,$INPTR
≥					
≠MOV≡≡$OUTBF≡≡R0≡≥	116022	012700	150254		$PNTRST:MOV	#$OUTBF,R0
≠MOV≡≡R0≡≡$OUTPT≡≥	116026	010037	150474			MOV	R0,$OUTPT
≠MOV≡≡R0≡≡$OUTPP≡≥	116032	010037	150472			MOV	R0,$OUTPP
≠BR≡≡$$PNTX≡≥	116036	000674				BR	$$PNTX
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 186
	SUB11 PAL[KL,SYS]	Page 7 	TELETYPE PRINT OUTPUT ROUTINE

≥					.SBTTL	TELETYPE PRINT OUTPUT ROUTINE
≥					
≤PUSH≡≥					$PRINT:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠TST≡≡$FORCE≡≥	116042	005737	147760			TST	$FORCE		;FORCED PRINT OUT
≠BNE≡≥	116046	001014				BNE	19$		;YES BYPASS SWITCH TEST
≥					
≠TSTB≡≡LPTFLG≡≥	116050	105737	157304			TSTB	LPTFLG		;PRINT ON LPT ?
≠BNE≡≥	116054	001004				BNE	99$		;BR IF YES
≥					
≡SWITCH≡≡SWITCH≡≥	116056	104057				SWITCH
≠BIT≡≡R0≡≡NOPNT≡≥	116060	030027	010000			BIT	R0,#NOPNT	;PRINTOUT INHIBITED
≠BEQ≡≥	116064	001407				BEQ	1$
≥					
≠MOV≡≡$OUTPT≡≡$OUTPP≡≥	116066	013737	150474	150472	99$:	MOV	$OUTPT,$OUTPP	;DONE, SET PRINTED TO POSITION
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡$$PNTX≡≥	116076	000654				BR	$$PNTX		;RETURN
≥					
≠CLR≡≡CTRLOF≡≥	116100	005037	147770		19$:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
≠MOV≡≡$OUTPP≡≡R1≡≥	116104	013701	150472		1$:	MOV	$OUTPP,R1
≥					
≠CMPB≡≡CR≡≡R1≡≥	116110	122711	000015		11$:	CMPB	#CR,(R1)	;IS CHAR CR?
≠BEQ≡≥	116114	001412				BEQ	2$		;BR IF YES
≠CMP≡≡$PRNTH≡≡$PGWID≡≥	116116	023737	150002	150000		CMP	$PRNTH,$PGWID	;NO,ARE WE AT RIGHT MARGIN
≠BLT≡≥	116124	002410				BLT	3$		;BR IF NO
≠MOVB≡≡CR≡≡R0≡≥	116126	112700	000015			MOVB	#CR,R0		;YES, FREE CR/LF
≡PTTY≡≡PTTY≡≥	116132	104152				PTTY
≠MOVB≡≡LF≡≡R0≡≥	116134	112700	000012			MOVB	#LF,R0
≡PTTY≡≡PTTY≡≥	116140	104152				PTTY
≥					
≠INC≡≡$TPLIT≡≥	116142	005237	147774		2$:	INC	$TPLIT		;COUNT LINE
≥					
≠MOVB≡≡R1≡≡R0≡≥	116146	111100			3$:	MOVB	(R1),R0		;GET CHARACTER
≠BEQ≡≥	116150	001746				BEQ	99$		;IF NULL, DONE
≡PTTY≡≡PTTY≡≥	116152	104152				PTTY			;PRINT CHAR
≠TSTB≡≡R1≡≥	116154	105721				TSTB	(R1)+		;LOOP TILL E-O-L
≠BNE≡≥	116156	001354				BNE	11$
≠JSR≡≡PC≡≡C10COP≡≥	116160	004737	110742		4$:	JSR	PC,C10COP
≠JSR≡≡PC≡≡$TORDY≡≥	116164	004737	120776			JSR	PC,$TORDY	;THEN WAIT FOR TTY TO BE READY
≠BCS≡≥	116170	103773				BCS	4$
≠BR≡≥	116172	000735				BR	99$
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 187
	SUB11 PAL[KL,SYS]	Page 8 	TELETYPE DRIVER

≥					.SBTTL	TELETYPE DRIVER
≥					
≠CLR≡≡R2≡≥	116174	005002			$PTTY:	CLR	R2
≠CLR≡≡R3≡≥	116176	005003				CLR	R3
≠JSR≡≡PC≡≡$PTTYC≡≥	116200	004737	116546		1$:	JSR	PC,$PTTYC	;DO OPERATOR CHECKS
≠TST≡≡R3≡≥	116204	005703				TST	R3		;R3 = 0 IF NOTHING
≠BEQ≡≥	116206	001410				BEQ	4$
≠CMPB≡≡XON≡≡R3≡≥	116210	122703	000021		2$:	CMPB	#XON,R3
≠BEQ≡≥	116214	001407				BEQ	6$		;XON,PRINT
≠CMPB≡≡XOFF≡≡R3≡≥	116216	122703	000023			CMPB	#XOFF,R3
≠BNE≡≥	116222	001002				BNE	4$
≠MOV≡≡R2≡≥	116224	012702	777777		3$:	MOV	#-1,R2		;XOFF,STOP PRINT
≠TST≡≡R2≡≥	116230	005702			4$:	TST	R2
≠BNE≡≥	116232	001362				BNE	1$		;IF XOFF, WAIT FOR XON
≠TST≡≡CTRLOF≡≥	116234	005737	147770		6$:	TST	CTRLOF		;CONTROL O'D ?
≠BNE≡≥	116240	001015				BNE	7$		;YES
≠CMPB≡≡CR≡≡R0≡≥	116242	122700	000015			CMPB	#CR,R0		;CR
≠BNE≡≥	116246	001012				BNE	7$
≠TST≡≡$TPLIN≡≥	116250	005737	147776			TST	$TPLIN		;YES, IN PAGE MODE
≠BEQ≡≥	116254	001407				BEQ	7$		;NO
≠CMP≡≡$TPLIT≡≡$TPLIN≡≥	116256	023737	147774	147776		CMP	$TPLIT,$TPLIN	;FILLED THIS PAGE
≠BLT≡≥	116264	002403				BLT	7$
≠CLR≡≡$TPLIT≡≥	116266	005037	147774			CLR	$TPLIT		;YES,CLEAR COUNTER,XOFF
≠BR≡≥	116272	000754				BR	3$
≥					
≠CLR≡≡R2≡≥	116274	005002			7$:	CLR	R2
≠CMPB≡≡CNTRLI≡≡R0≡≥	116276	122700	000011			CMPB	#CNTRLI,R0	;IS CHAR A TAB?
≠BNE≡≥	116302	001005				BNE	10$
≠JSR≡≡PC≡≡$PTTY1≡≥	116304	004737	116516		8$:	JSR	PC,$PTTY1	;COMPUTE SPACES COUNT
≠INC≡≡R2≡≥	116310	005202			9$:	INC	R2		;COMPLETED "TAB"?
≠MOVB≡≡BLANK≡≡R0≡≥	116312	112700	000040			MOVB	#BLANK,R0
≥					
≠JSR≡≡PC≡≡C10COP≡≥	116316	004737	110742		10$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
≠TST≡≡CTRLOF≡≥	116322	005737	147770			TST	CTRLOF
≠BNE≡≥	116326	001011				BNE	11$
≠JSR≡≡PC≡≡$TORDY≡≥	116330	004737	120776			JSR	PC,$TORDY	;WAIT TILL TTY IS READY
≠BCS≡≥	116334	103770				BCS	10$
≠MOVB≡≡R0≡≡$TOCHR≡≥	116336	110037	147742			MOVB	R0,$TOCHR	;PRINT CHAR
≠JSR≡≡PC≡≡$TOOUT≡≥	116342	004737	121040			JSR	PC,$TOOUT
≠JSR≡≡PC≡≡$PTTY2≡≥	116346	004737	116532		19$:	JSR	PC,$PTTY2	;WILL CHAR MOVE PRINT HEAD ?
≥					
≠TST≡≡R2≡≥	116352	005702			11$:	TST	R2		;DOING SPACES?
≠BNE≡≥	116354	001355				BNE	9$		;BR IF YES
≠TST≡≡CTRLOF≡≥	116356	005737	147770			TST	CTRLOF
≠BNE≡≥	116362	001053				BNE	15$
≠MOV≡≡$DTBL0≡≡R2≡≥	116364	012702	144636			MOV	#$DTBL0,R2	;FILLER PROCESS
≠TSTB≡≡R2≡≥	116370	105712			12$:	TSTB	(R2)
≠BEQ≡≥	116372	001447				BEQ	15$		;BR IF CHAR DOESN'T REQUIRE FILLS
≠CMPB≡≡R2≡≡R0≡≥	116374	122200				CMPB	(R2)+,R0
≠BNE≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 188
	SUB11 PAL[KL,SYS]	Page 8.1 	TELETYPE DRIVER

≥	116376	001374				BNE	12$
≠DEC≡≡R2≡≥	116400	005302				DEC	R2		;FOUND
≠SUB≡≡$DTBL0≡≡R2≡≥	116402	162702	144636			SUB	#$DTBL0,R2
≠ASL≡≡R2≡≥	116406	006302				ASL	R2
≠MOV≡≡$DTBL1≡≡R2≡≡R2≡≥	116410	016202	144642			MOV	$DTBL1(R2),R2	;ADDRESS TO R2
≠ADD≡≡$TTYFL≡≡R2≡≥	116414	063702	147756			ADD	$TTYFL,R2	;ADD FILL PARAMETER
≠MOVB≡≡R2≡≡R2≡≥	116420	111202				MOVB	(R2),R2		;R2 = NUMBER OF FILLS
≠CMPB≡≡R0≡≡CR≡≥	116422	120027	000015			CMPB	R0,#CR		;CR?
≠BNE≡≥	116426	001014				BNE	13$		;NO
≠CMP≡≡$PRNTH≡≥	116430	023727	150002	000017		CMP	$PRNTH,#15.	;MORE THEN 15 CHARS ON LINE ?
≠BGT≡≥	116436	003001				BGT	16$
≤SR≡≥						SR	R2,1		;NO, 1/4 TH OF FILLERS THEN
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R2≡≠.LIST≡≠CMP≡≡$PRNTH≡≥	116442	023727	150002	000050	16$:	CMP	$PRNTH,#40.	;MORE THAN 40 CHARS ON LINE ?
≠BGT≡≥	116450	003001				BGT	17$
≤SR≡≥						SR	R2,1		;NO, 1/2 OF FILLERS THEN
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R2≡≠.LIST≡≠CLR≡≡$PRNTH≡≥	116454	005037	150002		17$:	CLR	$PRNTH		;SET PRINT HEAD TO LEFT MARGIN
≥					
≠DEC≡≡R2≡≥	116460	005302			13$:	DEC	R2		;COMPLETED FILLERS?
≠BLT≡≥	116462	002413				BLT	15$
≠JSR≡≡PC≡≡C10COP≡≥	116464	004737	110742		14$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
≠JSR≡≡PC≡≡$TORDY≡≥	116470	004737	120776			JSR	PC,$TORDY
≠BCS≡≥	116474	103773				BCS	14$
≠MOVB≡≡NULL≡≡$TOCHR≡≥	116476	112737	000000	147742		MOVB	#NULL,$TOCHR	;SEND FILLER
≠JSR≡≡PC≡≡$TOOUT≡≥	116504	004737	121040			JSR	PC,$TOOUT
≠BR≡≥	116510	000763				BR	13$
≤EXIT≡≥					15$:	EXIT			;RETURN
≠JMP≡≡$EXIT≡≥	116512	000137	124064			  JMP	$EXIT
≥					
≠MOV≡≡$PRNTH≡≡R2≡≥	116516	013702	150002		$PTTY1:	MOV	$PRNTH,R2	;HEAD POSITION
≠SUB≡≡R2≡≥	116522	162702	000010		1$:	SUB	#8.,R2		;DIVIDED BY 8
≠BGE≡≥	116526	002375				BGE	1$		;REMAINDER IS SPACES COUNT
≠RTS≡≡PC≡≥	116530	000207				RTS	PC
≥					
≠CMPB≡≡R0≡≡BLANK≡≥	116532	120027	000040		$PTTY2:	CMPB	R0,#BLANK	;WILL CHAR MOVE PRINT HEAD?
≠BLT≡≥	116536	002402				BLT	1$		;BR IF NO
≠INC≡≡$PRNTH≡≥	116540	005237	150002			INC	$PRNTH		;YES
≠RTS≡≡PC≡≥	116544	000207			1$:	RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 189
	SUB11 PAL[KL,SYS]	Page 9 	LINE PRINTER DRIVER

≥					.SBTTL	LINE PRINTER DRIVER
≥					
≠.IF≡≡LPASB≡≥					.IF DF LPASB
≥					
≥					$PLPT:	PUSH	R0
≥						TST	LPTFLG		;PRINT ON LPT ?
≥						BPL	99$		;NO
≥						TSTB	LPTFLG
≥						BEQ	99$
≥						TST	$FORCE		;FORCED PRINT ?
≥						BNE	1$		;YES, BYPASS SWITCH TEST
≥						SWITCH
≥						BIT	R0,#NOPNT	;PRINTOUT INHIBITED ?
≥						BEQ	1$		;NO
≥					99$:	POP	R0
≥						EXIT			;RETURN
≥					
≥					1$:	TST	LPTYPE		;LP20 OR LP11 ?
≥						BNE	50$		;LP20
≥						TST	@$LPS		;IS LPT OK ?
≥						BMI	4$		;BR IF ERROR
≥						MOV	#$OUTBF,R1
≥					2$:	MOVB	(R1)+,R0	;GET CHAR
≥						BEQ	99$		;NULL, DONE
≥					3$:	CLR	R2
≥						CMPB	#CNTRLI,R0	;TAB ?
≥						BNE	41$
≥						JSR	PC,$PTTY1	;YES, COMPUTE SPACES COUNT
≥					42$:	INC	R2
≥						MOV	#BLANK,R0
≥					41$:	JSR	PC,$PTTYC	;DO OPERATOR CHECKS
≥					32$:	TST	@$LPS		;LPT OK ?
≥						BMI	4$		;NO
≥						JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
≥						TSTB	@$LPS		;LPT READY ?
≥						BPL	41$		;NO
≥						MOVB	R0,@$LPB	;PRINT CHARACTER
≥						JSR	PC,$PTTY2	;WILL CHAR MOVE PRINT HEAD ?
≥					45$:	TST	R2		;COMPLETED "TAB" ?
≥						BNE	42$
≥					43$:	CMPB	R0,#CR
≥						BNE	44$
≥						CLR	$PRNTH		;IF CR, RESET HEAD POSITION
≥					44$:	BR	2$
≥					
≥					4$:	MOV	#$LPTOF,R1	;"LPT OFF LINE"
≥					5$:	MOVB	(R1),R0
≥						PTTY
≥						TSTB	(R1)+
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 190
	SUB11 PAL[KL,SYS]	Page 9.1 	LINE PRINTER DRIVER

≥						BEQ	6$
≥						BR	5$
≥					6$:	CLRB	LPTFLG		;PRINT ON TTY TILL RESELECTED
≥						BR	99$
≥					
≥					50$:	MOV	LPTYPE,R5	;LP20 DRIVER ROUTINE
≥						MOV	#LPLINI!LPRERR,(R5) ;CLEAR LP20
≥						DEC	LPPCTR(R5)	;CLEAR PAGE COUNTER
≥						MOV	#$OUTBF,R0	;GET BUFFER ADDRESS
≥						MOV	R0,LPBSAD(R5)	;SETUP LP20 BUFFER ADDRESS
≥						SUB	$OUTPT,R0	;COMPUTE BYTE COUNT
≥						MOV	R0,LPBCTR(R5)	;SETUP LP20 BYTE COUNT
≥						MOV	#LPPENB!LPGO,(R5) ;START XFER
≥						JSR	PC,LP20DN	;WAIT FOR DONE
≥						BCS	4$		;ERROR
≥						BR	99$		;DONE
≥					
≥					LP20DN:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
≥						BIT	#LPERR!LPPZRO!LPUCHR!LPDONE,(R5)
≥						BEQ	LP20DN		;WAIT FOR DONE OR ERROR
≥					
≥						TSTB	(R5)		;DONE ?
≥						BPL	1$		;NO, ERROR
≥						CLC
≥						RTS	PC		;DONE, C-BIT CLEAR RETURN
≥					
≥					1$:	SEC
≥						RTS	PC		;ERROR, C-BIT SET RETURN
≥					
≥					$LPTOF:	.ASCIZ	/LPT OFF
≥					/
≥					.EVEN
≥					
≥					.ENDC ;.IF DF LPASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 191
	SUB11 PAL[KL,SYS]	Page 10 	LINE PRINTER DRIVER

≥					;OPERATOR INTERRUPT TYPEIN CHECKS
≥					
≠CLR≡≡R3≡≥	116546	005003			$PTTYC:	CLR	R3
≠TST≡≡$TTLKF≡≥	116550	005737	147764			TST	$TTLKF		;INPUT CHECKS INHIBITED ?
≠BNE≡≥	116554	001066				BNE	5$		;YES
≠JSR≡≡PC≡≡$TIRDY≡≥	116556	004737	120670			JSR	PC,$TIRDY	;ANY OPERATOR ACTION ?
≠BCS≡≥	116562	103463				BCS	5$		;NO
≠MOVB≡≡$TICHR≡≡R3≡≥	116564	113703	147744			MOVB	$TICHR,R3
≠BICB≡≡R3≡≥	116570	142703	000200			BICB	#200,R3
≠MOV≡≡R3≡≡$TNCHR≡≥	116574	010337	150024			MOV	R3,$TNCHR
≡TENCHR≡≡TENCHR≡≥	116600	104176				TENCHR			;SEND CHAR TO TEN
≠CMPB≡≡CNTRLC≡≡R3≡≥	116602	122703	000003			CMPB	#CNTRLC,R3	;CONTROL C ?
≠BNE≡≥	116606	001010				BNE	3$
≡TTPINI≡≡TTPINI≡≥	116610	104217				TTPINI			;FLUSH REST OF OUTPUT
≠TST≡≡PCMDFL≡≥	116612	005737	152214			TST	PCMDFLG		;DOING PROGRAM COMMAND ?
≠BNE≡≥	116616	001002				BNE	2$		;YES
≠JMP≡≡$TICC≡≥	116620	000137	120524			JMP	$TICC		;CONTROL C, RETURN TO CONSOLE
≥					
≠JMP≡≡PCMDE2≡≥	116624	000137	101572		2$:	JMP	PCMDE2		;PROGRAM COMMAND, RETURN TO CALLER
≥					
≠CMPB≡≡CNTRLO≡≡R3≡≥	116630	122703	000017		3$:	CMPB	#CNTRLO,R3
≠BNE≡≥	116634	001021				BNE	1$
≠COM≡≡CTRLOF≡≥	116636	005137	147770			COM	CTRLOF		;CONTROL O, STOP OUTPUT
≠MOV≡≡$PTCO≡≡R3≡≥	116642	012703	116734			MOV	#$PTCO,R3
≠JSR≡≡PC≡≡C10COP≡≥	116646	004737	110742		10$:	JSR	PC,C10COP
≠JSR≡≡PC≡≡$TORDY≡≥	116652	004737	120776			JSR	PC,$TORDY
≠BCS≡≥	116656	103773				BCS	10$
≠MOVB≡≡R3≡≡$TOCHR≡≥	116660	112337	147742			MOVB	(R3)+,$TOCHR
≠BNE≡≥	116664	001002				BNE	90$
≠CLR≡≡R3≡≥	116666	005003				CLR	R3
≠BR≡≥	116670	000420				BR	5$
≠JSR≡≡PC≡≡$TOOUT≡≥	116672	004737	121040		90$:	JSR	PC,$TOOUT
≠BR≡≥	116676	000763				BR	10$
≠CMPB≡≡CNTRLL≡≡R3≡≥	116700	122703	000014		1$:	CMPB	#CNTRLL,R3	;CONTROL L, CHANGE LPT SELECTION
≠BNE≡≥	116704	001005				BNE	4$
≠TST≡≡LPTFLG≡≥	116706	005737	157304			TST	LPTFLG
≠BPL≡≥	116712	100002				BPL	4$
≠COMB≡≡LPTFLG≡≥	116714	105137	157304			COMB	LPTFLG		;ONLY IF SELECTED
≠CMPB≡≡CNTRLX≡≡R3≡≥	116720	122703	000030		4$:	CMPB	#CNTRLX,R3	;CONTROL X, CONSOLE COMMAND
≠BNE≡≥	116724	001002				BNE	5$
≠JMP≡≡$TICX≡≥	116726	000137	120570			JMP	$TICX		;DO "TTILIN" & GO TO "$RPT"
≠RTS≡≡PC≡≥	116732	000207			5$:	RTS	PC
≥					
≠.ASCIZ≡≥	116734	   136		
≥	116735	   117		
≥	116736	   015		
≥	116737	   012			$PTCO:	.ASCIZ	/↑O
≥	116740	   000		
≥					/
≠.EVEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 192
	SUB11 PAL[KL,SYS]	Page 10.1 	LINE PRINTER DRIVER

≥		116742			.EVEN
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 193
	SUB11 PAL[KL,SYS]	Page 11 	PRINT CRLF

≥					.SBTTL	PRINT CRLF
≥					
≤PMSG≡≥					$PCRLF:	PMSG	<\>
≡$PMSG≡≡$PMSG≡≥	116742	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	116744	146051				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$$PEX≡≥	116746	000524				BR	$$PEX
≥					
≠.SBTTL≡≥					.SBTTL	RING TTY BELL
≥					
≠MOVB≡≡BELL≡≡R0≡≥	116750	112700	000007		$PBELL:	MOVB	#BELL,R0
≡PTTY≡≡PTTY≡≥	116754	104152				PTTY			;DING THE BELL DIRECTLY
≠BR≡≡$$PEX≡≥	116756	000520				BR	$$PEX
≥					
≠.SBTTL≡≥					.SBTTL	PRINT SPECIFIED OCTAL DIGITS
≥					
≠MOV≡≡$EMADR≡≡R1≡≥	116760	017701	030650		$PODT:	MOV	@$EMADR,R1	;TRAILING PARAMETER
≠ADD≡≡SP≡≥	116764	062766	000002	000012		ADD	#2,12(SP)
≥					
≠MOV≡≡R1≡≡R2≡≥	116772	010102			$PNTODC:MOV	R1,R2		;SETUP DIGIT COUNT
≠BGT≡≥	116774	003001				BGT	1$
≡FATAL≡≡FATAL≡≥	116776	104000				FATAL
≠CMP≡≡R1≡≥	117000	020127	000006		1$:	CMP	R1,#6
≠BLE≡≥	117004	003401				BLE	2$
≡FATAL≡≡FATAL≡≥	117006	104000				FATAL
≠MOV≡≡$TTSAV≡≡R1≡≥	117010	012701	150006		2$:	MOV	#$TTSAV+2,R1
≠CLR≡≡R1≡≥	117014	005011				CLR	(R1)		;SETUP OCTAL NUMBER
≠MOV≡≡R0≡≡R1≡≥	117016	010041				MOV	R0,-(R1)
≠JSR≡≡PC≡≡$PODMV≡≥	117020	004737	117326			JSR	PC,$PODMV	;SETUP PARAMETERS
≠CLR≡≡$0FLG≡≥	117024	005037	147754			CLR	$0FLG		;NO SPACE FOLLOWING NUMBER
≠MOVB≡≡$PODCD≡≡R2≡≡R3≡≥	117030	116203	117037			MOVB	$PODCD-1(R2),R3	;GET PRESET SHIFT COUNT
≡PROL36≡≡PROL36≡≥	117034	104146				PROL36			;PRESET NUMBER
≠BR≡≡$P23X≡≥	117036	000453				BR	$P23X		;GO PRINT NUMBER
≥					
≠.BYTE≡≥	117040	   041		
≥	117041	   036		
≥	117042	   033		
≥	117043	   030		
≥	117044	   025		
≥	117045	   022			$PODCD:	.BYTE	33.,30.,27.,24.,21.,18.
≥					
≠.SBTTL≡≥					.SBTTL	PRINT PDP-10 ADDRESS
≥					
≥					;PRINTS 23 BIT FORMAT IF ANY OF 13-17 ADDRESS BITS ARE SET.
≥					;OTHERWISE PRINTS 18 BIT FORMAT.
≥					
≠JSR≡≡PC≡≡$$P23≡≥	117046	004737	117072		$PADR:	JSR	PC,$$P23
≠BIT≡≡R1≡≥	117052	032761	000174	000004		BIT	#174,4(R1)	;ANY OF 13-17 SET ?
≠BNE≡≡$P23Y≡≥	117060	001025				BNE	$P23Y		;YES
≠MOV≡≡R3≡≥	117062	012703	000006			MOV	#6,R3
≡PROL36≡≡PROL36≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 194
	SUB11 PAL[KL,SYS]	Page 11.1 	PRINT PDP-10 ADDRESS

≥	117066	104146				PROL36			;NO, DUMP HI-ORDER BITS
≠BR≡≡$P18X≡≥	117070	000434				BR	$P18X		;PRINT 18 BITS
≥					
≠JSR≡≡PC≡≡$P36MV≡≥	117072	004737	117306		$$P23:	JSR	PC,$P36MV
≠MOV≡≡R3≡≥	117076	012703	000014			MOV	#12.,R3
≡PROL36≡≡PROL36≡≥	117102	104146				PROL36			;POSITION 23 BITS
≠BIC≡≡R1≡≥	117104	042761	177600	000004		BIC	#177600,4(R1)	;CLEAR UPPER JUNK BITS
≠RTS≡≡PC≡≥	117112	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 195
	SUB11 PAL[KL,SYS]	Page 12 	PRINT LOWER 18 BITS OF 36 BIT NUMBER

≥					.SBTTL	PRINT LOWER 18 BITS OF 36 BIT NUMBER
≥					
≠JSR≡≡PC≡≡$P36MV≡≥	117114	004737	117306		$PNT18:	JSR	PC,$P36MV
≥					
≠MOV≡≡R3≡≥	117120	012703	000022			MOV	#18.,R3
≡PROL36≡≡PROL36≡≥	117124	104146				PROL36			;SHIFT LOWER 18 BITS TO UPPER
≠BR≡≡$P18X≡≥	117126	000415				BR	$P18X
≥					
≠.SBTTL≡≥					.SBTTL	PRINT LOWER 23 BITS OF 36 BIT NUMBER
≥					
≠JSR≡≡PC≡≡$$P23≡≥	117130	004737	117072		$PNT23:	JSR	PC,$$P23
≥					
≠MOV≡≡R2≡≥	117134	012702	000002		$P23Y:	MOV	#2,R2
≠INC≡≡R4≡≥	117140	005204				INC	R4
≠BR≡≡$P23X≡≥	117142	000411				BR	$P23X
≥					
≠.SBTTL≡≥					.SBTTL	PRINT 36 BIT NUMBER IN BINARY
≥					
≠JSR≡≡PC≡≡$P36MV≡≥	117144	004737	117306		$P36B:	JSR	PC,$P36MV
≠COM≡≡R5≡≥	117150	005105				COM	R5
≠BR≡≡$P36BX≡≥	117152	000402				BR	$P36BX
≥					
≠.SBTTL≡≥					.SBTTL	PRINT 36 BIT NUMBER
≥					
≠JSR≡≡PC≡≡$P36MV≡≥	117154	004737	117306		$PNT36:	JSR	PC,$P36MV
≠INC≡≡R4≡≥	117160	005204			$P36BX:	INC	R4
≡$P18X≠≥		117162			$P18X=.
≥					
≠MOV≡≡R2≡≥	117162	012702	000006		2$:	MOV	#6,R2
≡$P23X≠≥		117166			$P23X=.
≠MOV≡≡R3≡≥	117166	012703	000003		1$:	MOV	#3,R3
≥					
≡PROL36≡≡PROL36≡≥	117172	104146				PROL36			;ROTATE 3
≠JSR≡≡PC≡≡$PRT36≡≥	117174	004737	117224			JSR	PC,$PRT36	;PRINT OCTAL
≥					
≠DEC≡≡R2≡≥	117200	005302				DEC	R2		;FINISHED HALF WORD YET ?
≠BNE≡≥	117202	001371				BNE	1$
≥					
≠TST≡≡$0FLG≡≥	117204	005737	147754			TST	$0FLG
≠BEQ≡≥	117210	001401				BEQ	3$
≡PSPACE≡≡PSPACE≡≥	117212	104032				PSPACE
≥					
≠DEC≡≡R4≡≥	117214	005304			3$:	DEC	R4		;FINISHED FULL WORD YET ?
≠BPL≡≥	117216	100361				BPL	2$
≥					
≤EXIT≡≥					$$PEX:	EXIT
≠JMP≡≡$EXIT≡≥	117220	000137	124064			  JMP	$EXIT
≠MOV≡≡R1≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 196
	SUB11 PAL[KL,SYS]	Page 13 	PRINT 36 BIT NUMBER

≥	117224	016100	000004		$PRT36:	MOV	4(R1),R0	;GET THE WORD
≠SWAB≡≡R0≡≥	117230	000300				SWAB	R0
≠TST≡≡R5≡≥	117232	005705				TST	R5
≠BNE≡≥	117234	001002				BNE	1$
≡PNTNBR≡≡PNTNBR≡≥	117236	104030				PNTNBR			;PRINT OCTAL
≠RTS≡≡PC≡≥	117240	000207				RTS	PC
≥					
≤PUSH≡≥					1$:	PUSH	R4
≠.NLIST≡≠.IRP≡≠MOV≡≡R4≡≡SP≡≠.LIST≡≠MOV≡≡R0≡≡R4≡≥	117244	010004				MOV	R0,R4
≠MOV≡≡R3≡≥	117246	012703	177776			MOV	#177776,R3
≤SR≡≥						SR	R0,2
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠.LIST≡≠BIC≡≡R3≡≡R0≡≥	117256	040300				BIC	R3,R0
≡PNTNBR≡≡PNTNBR≡≥	117260	104030				PNTNBR			;PRINT HI-BIT OF OCTAL
≠MOV≡≡R4≡≡R0≡≥	117262	010400				MOV	R4,R0
≤SR≡≥						SR	R0,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R0≡≠.LIST≡≠BIC≡≡R3≡≡R0≡≥	117266	040300				BIC	R3,R0
≡PNTNBR≡≡PNTNBR≡≥	117270	104030				PNTNBR			;PRINT MIDDLE-BIT OF OCTAL
≠MOV≡≡R4≡≡R0≡≥	117272	010400				MOV	R4,R0
≠BIC≡≡R3≡≡R0≡≥	117274	040300				BIC	R3,R0
≡PNTNBR≡≡PNTNBR≡≥	117276	104030				PNTNBR			;PRINT LO-BIT OF OCTAL
≡PSPACE≡≡PSPACE≡≥	117300	104032				PSPACE
≤POP≡≥						POP	R4
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R4≡≠.LIST≡≠RTS≡≡PC≡≥	117304	000207				RTS	PC
≥					
≠MOV≡≡R3≡≥	117306	012703	000006		$P36MV:	MOV	#6,R3		;MOVE 6 BYTES
≠MOV≡≡$TTSAV≡≡R2≡≥	117312	012702	150004			MOV	#$TTSAV,R2	;TO SETUP DATA
≠MOV≡≡R2≡≡R1≡≥	117316	010201				MOV	R2,R1
≠MOVB≡≡R0≡≡R2≡≥	117320	112022			1$:	MOVB	(R0)+,(R2)+
≠DEC≡≡R3≡≥	117322	005303				DEC	R3
≠BNE≡≥	117324	001375				BNE	1$
≠CLR≡≡R5≡≥	117326	005005			$PODMV:	CLR	R5
≠CLR≡≡R4≡≥	117330	005004				CLR	R4
≠MOV≡≡R3≡≥	117332	012703	000004			MOV	#4,R3
≠MOV≡≡R3≡≡$0FLG≡≥	117336	010337	147754			MOV	R3,$0FLG	;SET SPACE FLAG
≡PROL36≡≡PROL36≡≥	117342	104146				PROL36			;PRESET NUMBER
≠RTS≡≡PC≡≥	117344	000207				RTS	PC
≥					
≠ROL≡≡R1≡≥	117346	006111			$PROL36:ROL	(R1)
≠ROL≡≡R1≡≥	117350	006161	000002			ROL	2(R1)
≠ROL≡≡R1≡≥	117354	006161	000004			ROL	4(R1)
≠DEC≡≡R3≡≥	117360	005303				DEC	R3
≠BNE≡≡$PROL3≡≥	117362	001371				BNE	$PROL36
≠BR≡≡$$PEX≡≥	117364	000715				BR	$$PEX
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 197
	SUB11 PAL[KL,SYS]	Page 14 	PRINT OCTAL

≥					.SBTTL	PRINT OCTAL
≥					
≠MOV≡≡R4≡≥	117366	012704	777777		$PNTOCT:MOV	#-1,R4		;PRINT OCTAL
≠BR≡≡$PNTO≡≥	117372	000401				BR	$PNTO
≥					
≠.SBTTL≡≥					.SBTTL	PRINT OCTAL ZERO SUPRRESS
≥					
≠CLR≡≡R4≡≥	117374	005004			$PNTOSC:CLR	R4		;PRINT OCTAL ZERO SUPPRESS
≠MOV≡≡R1≡≥	117376	012701	000006		$PNTO:	MOV	#6,R1		;SET FOR 6 DIGITS
≠MOV≡≡R0≡≡R2≡≥	117402	010002				MOV	R0,R2		;SAVE INPUT NUMBERS
≠CLR≡≡R5≡≥	117404	005005				CLR	R5		;CLEAR THE ZERO FILL FLAG
≠TST≡≡R4≡≥	117406	005704				TST	R4		;ZERO SUPPRESS ?
≠BNE≡≥	117410	001004				BNE	10$		;NO
≠TST≡≡R0≡≥	117412	005700				TST	R0		;TEST FOR A ZERO INPUT NUMBER
≠BNE≡≥	117414	001003				BNE	1$
≠CLR≡≡R1≡≥	117416	005001				CLR	R1		;INPUT = 0 PRINT AND EXIT
≠BR≡≥	117420	000417				BR	5$
≥					
≠INC≡≡R5≡≥	117422	005205			10$:	INC	R5
≠CLR≡≡R0≡≥	117424	005000			1$:	CLR	R0
≠ROL≡≡R2≡≥	117426	006102				ROL	R2		;MSD TO C BIT
≠BR≡≥	117430	000404				BR	3$
≥					
≠ROL≡≡R2≡≥	117432	006102			2$:	ROL	R2
≠ROL≡≡R2≡≥	117434	006102				ROL	R2
≠ROL≡≡R2≡≥	117436	006102				ROL	R2
≠MOV≡≡R2≡≡R0≡≥	117440	010200				MOV	R2,R0
≠ROL≡≡R0≡≥	117442	006100			3$:	ROL	R0
≥					
≠BIC≡≡R0≡≥	117444	042700	177770			BIC	#177770,R0	;GET RID OF JUNK
≠BEQ≡≥	117450	001401				BEQ	4$
≠INC≡≡R5≡≥	117452	005205				INC	R5		;SET ZERO FILL FLAG
≥					
≠TST≡≡R5≡≥	117454	005705			4$:	TST	R5		;SUPPRESS ?
≠BEQ≡≥	117456	001401				BEQ	6$
≡PNTNBR≡≡PNTNBR≡≥	117460	104030			5$:	PNTNBR			;PRINT DIGIT
≠DEC≡≡R1≡≥	117462	005301			6$:	DEC	R1
≠BGT≡≥	117464	003362				BGT	2$
≥					
≠TST≡≡R4≡≥	117466	005704				TST	R4
≠BEQ≡≥	117470	001401				BEQ	7$
≡PSPACE≡≡PSPACE≡≥	117472	104032				PSPACE			;SPACE UNLESS OCTAL SUPPRESS
≠BR≡≡$$PEX1≡≥	117474	000450			7$:	BR	$$PEX1
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 198
	SUB11 PAL[KL,SYS]	Page 15 	CONVERT BINARY TO DECIMAL AND TYPE ROUTINE

≥					.SBTTL	CONVERT BINARY TO DECIMAL AND TYPE ROUTINE
≥					
≠MOV≡≡R1≡≥	117476	012701	000005		$PNTDEC:MOV	#5,R1		;SET FOR 5 DIGIT
≠MOV≡≡R0≡≡R2≡≥	117502	010002				MOV	R0,R2		;SAVE INPUT NUMBER
≠CLR≡≡R5≡≥	117504	005005				CLR	R5		;CLEAR ZERO FILL FLAG
≠TST≡≡R0≡≥	117506	005700				TST	R0		;TEST SIGN OF INPUT NUMBER
≠BPL≡≥	117510	100007				BPL	1$		;POSITIVE GO TYPE IT
≠MOVB≡≡R0≡≥	117512	112700	000055			MOVB	#'-,R0		;PRINT A MINUS SIGN
≡PNTCHR≡≡PNTCHR≡≥	117516	104027				PNTCHR			;SEND TO BUFFER
≠NEG≡≡R2≡≥	117520	005402				NEG	R2		;NEGATE THE NUMBER
≠MOV≡≡R2≡≡R0≡≥	117522	010200				MOV	R2,R0		;GET NUMBER AGAIN
≠BIC≡≡R0≡≥	117524	042700	100000			BIC	#100000,R0	;CLEAR SIGN BIT
≠TST≡≡R0≡≥	117530	005700			1$:	TST	R0		;TEST FOR A ZERO INPUT NUMBER
≠BNE≡≥	117532	001002				BNE	2$		;NON ZERO
≡PNTNBR≡≡PNTNBR≡≥	117534	104030				PNTNBR			;PRINT A SINGLE ZERO AND EXIT
≠BR≡≥	117536	000425				BR	9$		;EXIT
≠CLR≡≡R3≡≥	117540	005003			2$:	CLR	R3		;ZERO THE CONSTANTS INDEX
≠CLR≡≡R0≡≥	117542	005000			3$:	CLR	R0		;CLEAR THE BCD NUMBER
≠SUB≡≡$DTBL≡≡R3≡≡R2≡≥	117544	166302	144672		4$:	SUB	$DTBL(R3),R2	;FORM THIS BCD DIGIT
≠BLT≡≥	117550	002402				BLT	5$		;BR IF DONE
≠INC≡≡R0≡≥	117552	005200				INC	R0		;INCREASE THE BCD DIGIT BY 1
≠BR≡≥	117554	000773				BR	4$
≠ADD≡≡$DTBL≡≡R3≡≡R2≡≥	117556	066302	144672		5$:	ADD	$DTBL(R3),R2	;ADD BACK THE CONSTANT
≠TST≡≡R0≡≥	117562	005700				TST	R0		;TEST IF DIGIT IS A ZERO
≠BEQ≡≥	117564	001402				BEQ	6$		;YES
≠INC≡≡R5≡≥	117566	005205				INC	R5		;NO SET ZERO FILL FLAG
≠BR≡≥	117570	000402				BR	7$
≥					
≠TST≡≡R5≡≥	117572	005705			6$:	TST	R5		;IS ZERO FILL FLAG SET
≠BEQ≡≥	117574	001403				BEQ	8$		;YES EXIT
≠BIS≡≡R0≡≥	117576	052700	000060		7$:	BIS	#'0,R0		;MAKE THE BCD DIGIT ASCII
≡PNTCHR≡≡PNTCHR≡≥	117602	104027				PNTCHR
≠TST≡≡R3≡≥	117604	005723			8$:	TST	(R3)+		;JUST INCREMENTING
≠DEC≡≡R1≡≥	117606	005301				DEC	R1		;DONE YET
≠BGT≡≥	117610	003354				BGT	3$		;GO DO THE NEXT DIGIT
≡PNTCI≡≡PNTCI≡≥	117612	104214			9$:	PNTCI
≥	117614	000056				'.			;PRINT DECIMAL POINT
≤EXIT≡≥					$$PEX1:	EXIT			;RETURN TO USER
≠JMP≡≡$EXIT≡≥	117616	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 199
	SUB11 PAL[KL,SYS]	Page 16 	TTY INPUT ROUTINE TTICHR

≥					.SBTTL	TTY INPUT ROUTINE TTICHR
≥					
≠CLR≡≡R0≡≥	117622	005000			$TTICHR:CLR	R0
≠CMP≡≡$INPTC≡≡$INPTR≡≥	117624	023737	150716	150720		CMP	$INPTC,$INPTR	;ARE WE AT END ON CURRENT BUFFER
≠BGT≡≡$TTIX2≡≥	117632	003007				BGT	$TTIX2		;YES EXIT
≠MOVB≡≡$INPTC≡≡R0≡≥	117634	117700	031056			MOVB	@$INPTC,R0	;FETCH CHARACTER FROM BUFFER
≠INC≡≡$INPTC≡≥	117640	005237	150716			INC	$INPTC
≥					
≠BIC≡≡R0≡≥	117644	042700	177600		$TTIX1:	BIC	#177600,R0
≠BR≡≡$$PSX2≡≥	117650	000431				BR	$$PSX2		;OK RETURN
≠BR≡≡$$PEX2≡≥	117652	000426			$TTIX2:	BR	$$PEX2		;ERROR RETURN
≥					
≠.SBTTL≡≥					.SBTTL	TTY LOOK
≥					
≥					;*TELETYPE KEYBOARD CHECK ROUTINE
≥					;*CHECKS FOR ANY KEY STRUCK,RETURNS IMMEDIATELY
≥					;*RETURNS WITH C-BIT SET IF NO TYPEIN
≥					
≠INC≡≡$TTLKF≡≥	117654	005237	147764		$TTLOOK:INC	$TTLKF		;SET INHIBIT INPUT CHECKS
≠CLR≡≡R0≡≥	117660	005000				CLR	R0
≠JSR≡≡PC≡≡$TIRDY≡≥	117662	004737	120670			JSR	PC,$TIRDY	;ANYTHING BEEN TYPED
≠BCS≡≡$TTIX2≡≥	117666	103771				BCS	$TTIX2		;NO, C-BIT RETURN
≠MOVB≡≡$TICHR≡≡R0≡≥	117670	113700	147744			MOVB	$TICHR,R0	;YES, PUT IT IN R0
≠CLR≡≡$TTLKF≡≥	117674	005037	147764			CLR	$TTLKF		;CLEAR INHIBIT INPUT CHECKS
≠BR≡≡$TTIX1≡≥	117700	000761				BR	$TTIX1		;RETURN
≥					
≠.SBTTL≡≥					.SBTTL	TTY ALT-MODE CHECK ROUTINE
≥					
≥					;*CHECK FOR ALT-MODE IF NOTHING TYPED OR NOT ALTMODE C-BIT SET
≥					;*IF ALT-MODE WAS TYPED THEN C-BIT CLEAR
≥					
≡TTLOOK≡≡TTLOOK≡≥	117702	104006			$TTALTM:TTLOOK			;ANYTHING TYPED
≠BCS≡≥	117704	103411				 BCS	2$		;NO
≥					
≠CMPB≡≡R0≡≥	117706	120027	000175			CMPB	R0,#175
≠BEQ≡≥	117712	001412				BEQ	3$
≠CMPB≡≡R0≡≥	117714	120027	000176			CMPB	R0,#176
≠BEQ≡≥	117720	001407				BEQ	3$
≠CMPB≡≡R0≡≡ALTMOD≡≥	117722	120027	000033			CMPB	R0,#ALTMOD
≠BEQ≡≥	117726	001402				BEQ	1$
≥					
≡$$PEX2≠≥		117730			$$PEX2=.
≤EXITER≡≥					2$:	EXITERR			;EXIT
≠JMP≡≡$EXITE≡≥	117730	000137	124036			  JMP	$EXITE
≡$$PSX2≠≥		117734			$$PSX2=.
≤EXIT≡≥					1$:	EXIT			;OK RETURN
≠JMP≡≡$EXIT≡≥	117734	000137	124064			  JMP	$EXIT
≥					
≠MOVB≡≡ALTMOD≡≡R0≡≥	117740	112700	000033		3$:	MOVB	#ALTMOD,R0
≠BR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 200
	SUB11 PAL[KL,SYS]	Page 16.1 	TTY ALT-MODE CHECK ROUTINE

≥	117744	000773				BR	1$
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 201
	SUB11 PAL[KL,SYS]	Page 17 	TTIYES YES OR NO ROUTINE

≥					.SBTTL	TTIYES YES OR NO ROUTINE
≥					
≥					; NO BITS SET IF YES
≥					; N-BIT SET IF NO
≥					; C-BIT SET IF NEITHER
≥					
≡TTICHR≡≡TTICHR≡≥	117746	104005			$TTIYES:TTICHR			;GET INPUT CHARACTER
≠BCS≡≡$$PEX2≡≥	117750	103767				 BCS	$$PEX2		;NO CHAR AVAILABLE
≠CMPB≡≡R0≡≥	117752	122700	000131			CMPB	#'Y,R0		;WAS THE CHAR A "Y" ?
≠BEQ≡≡$$PSX2≡≥	117756	001766				BEQ	$$PSX2		;BR IF YES
≠CMPB≡≡R0≡≥	117760	122700	000116			CMPB	#'N,R0		;WAS THE CHAR AN "N" ?
≠BNE≡≡$$PEX2≡≥	117764	001361				BNE	$$PEX2		;BR IF NO, NEITHER
≠BIS≡≡NBIT≡≡SP≡≥	117766	052766	000010	000014		BIS	#NBIT,14(SP)	;"NO", SET N-BIT
≠BR≡≡$$PSX2≡≥	117774	000757				BR	$$PSX2
≥					
≠.SBTTL≡≥					.SBTTL	PRINT A SELECTED NUMBER OF SPACES
≥					
≠DEC≡≡R1≡≥	117776	005301			$PNTSPC:DEC	R1
≠BLT≡≥	120000	002402				BLT	1$
≥					
≡PSPACE≡≡PSPACE≡≥	120002	104032				PSPACE			;PRINT SPACE
≠BR≡≡$PNTSP≡≥	120004	000774				BR	$PNTSPC
≥					
≠RTS≡≡PC≡≥	120006	000207			1$:	RTS	PC
≥					
≠.SBTTL≡≥					.SBTTL	BACKUP TTY INPUT BUFFER POINTER
≥					
≠CMP≡≡$INPTC≡≡$INBUF≡≥	120010	023727	150716	150500	$TTBACK:CMP	$INPTC,#$INBUF
≠BLE≡≡$$PEX2≡≥	120016	003744				BLE	$$PEX2		;CAN'T, C-BIT SET RETURN
≠DEC≡≡$INPTC≡≥	120020	005337	150716			DEC	$INPTC		;BACKUP POINTER
≠BR≡≡$$PSX2≡≥	120024	000743				BR	$$PSX2
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 202
	SUB11 PAL[KL,SYS]	Page 18 	READ SWITCH REGISTER

≥					.SBTTL	READ SWITCH REGISTER
≥					
≠MOV≡≡SWR≡≡R0≡≥	120026	013700	177570		$SWITCH:MOV	SWR,R0		;PUT SWR INTO R0
≥					
≠MOV≡≡R0≡≡$SWTCH≡≥	120032	010037	147632		1$:	MOV	R0,$SWTCH	;SAVE A COPY FOR FUTURE REFERENCE
≠BR≡≡$$PEX3≡≥	120036	000410				BR	$$PEX3		;RETURN TO USER
≥					
≠.SBTTL≡≥					.SBTTL	RETURN WITH COPY OF SWITCHES 
≥					
≠MOV≡≡$SWTCH≡≡R0≡≥	120040	013700	147632		$SWTSAM:MOV	$SWTCH,R0	;COPY OF SWITCHES TO RO
≠BR≡≡$$PEX3≡≥	120044	000405				BR	$$PEX3
≥					
≠.SBTTL≡≥					.SBTTL	SET FORCE PRINT FLAG
≥					
≡SETFLG≡≡SETFLG≡≥	120046	104055			$PFORCE:SETFLG
≡$FORCE≡≡$FORCE≡≥	120050	147760				  $FORCE		;177777 TO FORCE FLAG
≠BR≡≡$$PEX3≡≥	120052	000402				BR	$$PEX3		;RETURN
≥					
≥					
≠.SBTTL≡≥					.SBTTL	CLEAR FORCE PRINT FLAG
≥					
≠CLR≡≡$FORCE≡≥	120054	005037	147760		$PNORML:CLR	$FORCE		;0 TO FORCE FLAG
≤EXIT≡≥					$$PEX3:	EXIT			;RETURN
≠JMP≡≡$EXIT≡≥	120060	000137	124064			  JMP	$EXIT
≥					
≥					;TTILIN ENTRY POINT FROM RUNLP
≥					
≠CLR≡≡TILNWF≡≥	120064	005037	147762		$TILRN:	CLR	TILNWF		;CLEAR TTY WAIT FLAG
≠JSR≡≡PC≡≡$TILN3≡≥	120070	004737	120106			JSR	PC,$TILN3	;INIT TTILIN ROUTINE
≤PUSH≡≥						PUSH	$FORCE
≠.NLIST≡≠.IRP≡≠MOV≡≡$FORCE≡≡SP≡≠.LIST≡≠MOV≡≡$INBUF≡≡R1≡≥	120100	012701	150500			MOV	#$INBUF,R1
≠BR≡≡$TILN2≡≥	120104	000446				BR	$TILN2		;GO INPUT, 1ST CHAR ALREADY AVAILABLE
≥					
≠CLR≡≡CTRLOF≡≥	120106	005037	147770		$TILN3:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
≠CMP≡≡$OUTBF≡≡$OUTPT≡≥	120112	022737	150254	150474		CMP	#$OUTBF,$OUTPT	;ANY OUTPUT WAITING ?
≠BEQ≡≥	120120	001401				BEQ	1$		;NO
≡PRINTT≡≡PRINTT≡≥	120122	104151				PRINTT			;YES, PRINT IT
≠CLR≡≡$TPLIT≡≥	120124	005037	147774		1$:	CLR	$TPLIT		;CLEAR LINES ON PAGE
≠CLR≡≡$0FLG≡≥	120130	005037	147754			CLR	$0FLG		;CLEAR RUBOUT FLAG
≠CLR≡≡$TTYTI≡≥	120134	005037	147662			CLR	$TTYTIM		;CLEAR TTY TIMEOUT
≠RTS≡≡PC≡≥	120140	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 203
	SUB11 PAL[KL,SYS]	Page 19 	INPUT A STRING FROM TTY

≥					.SBTTL	INPUT A STRING FROM TTY
≥					
≡SETFLG≡≡SETFLG≡≥	120142	104055			$TTILNW:SETFLG			;SET TTY WAIT FLAG
≡TILNWF≡≡TILNWF≡≥	120144	147762				  TILNWF
≠BR≡≡$TILNX≡≥	120146	000402				BR	$TILNX
≥					
≠CLR≡≡TILNWF≡≥	120150	005037	147762		$TTILIN:CLR	TILNWF		;CLEAR TTY WAIT FLAG
≥					
≠JSR≡≡PC≡≡$TILN3≡≥	120154	004737	120106		$TILNX:	JSR	PC,$TILN3	;INIT ROUTINE
≤PUSH≡≥						PUSH	$FORCE
≠.NLIST≡≠.IRP≡≠MOV≡≡$FORCE≡≡SP≡≠.LIST≡≡PFORCE≡≡PFORCE≡≥	120164	104043				PFORCE
≠MOV≡≡$INBUF≡≡R1≡≥	120166	012701	150500		95$:	MOV	#$INBUF,R1
≡$TILN1≠≥		120172			$TILN1=.
≠JSR≡≡PC≡≡C10COP≡≥	120172	004737	110742		2$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
≠TST≡≡TILNWF≡≥	120176	005737	147762			TST	TILNWF		;WAIT FOREVER ?
≠BNE≡≥	120202	001004				BNE	21$		;YES, NO TIMEOUT
≠CMP≡≡$TTYTI≡≥	120204	023727	147662	025060		CMP	$TTYTIM,#<3*60.*60.>;TTY TIMED OUT ?
≠BGT≡≥	120212	003062				BGT	99$		;YES, C-BIT SET EXIT
≥					
≠JSR≡≡PC≡≡$TIRDY≡≥	120214	004737	120670		21$:	JSR	PC,$TIRDY	;TTY IN FLAG SET
≠BCS≡≥	120220	103764				BCS	2$
≡$TILN2≠≥		120222			$TILN2=.
≠CLR≡≡$TTYTI≡≥	120222	005037	147662			CLR	$TTYTIM
≠MOVB≡≡$TICHR≡≡R1≡≥	120226	113711	147744			MOVB	$TICHR,(R1)	;MOVE CHARACTER TO BUFFER
≠BICB≡≡R1≡≥	120232	142711	000200			BICB	#200,(R1)
≠MOVB≡≡R1≡≡$TNCHR≡≥	120236	111137	150024			MOVB	(R1),$TNCHR	;SAVE CHAR FOR TEN
≠BEQ≡≥	120242	001753				BEQ	2$		;NULL, IGNORE
≡TENCHR≡≡TENCHR≡≥	120244	104176				TENCHR			;SEND TEN THE CHAR
≥					
≠CLR≡≡R5≡≥	120246	005005				CLR	R5		;DO SPECIAL CHAR PROCESS
≠CMPB≡≡R1≡≡TILINC≡≡R5≡≥	120250	121165	120612		80$:	CMPB	(R1),TILINC(R5)
≠BEQ≡≥	120254	001405				BEQ	81$		;FOUND
≠INC≡≡R5≡≥	120256	005205				INC	R5
≠TSTB≡≡TILINC≡≡R5≡≥	120260	105765	120612			TSTB	TILINC(R5)
≠BEQ≡≥	120264	001404				BEQ	82$		;IF 0, END OF LIST
≠BR≡≥	120266	000770				BR	80$
≥					
≤SL≡≥					81$:	SL	R5,1		;DISPATCH
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R5≡≠.LIST≡≠JMP≡≡TILINA≡≡R5≡≥	120272	000175	120632			JMP	@TILINA(R5)
≠CMPB≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 204
	SUB11 PAL[KL,SYS]	Page 20 	INPUT A STRING FROM TTY

≥	120276	121127	000141		82$:	CMPB	(R1),#141
≠BLT≡≥	120302	002405				BLT	83$
≠CMPB≡≡R1≡≥	120304	121127	000172			CMPB	(R1),#172
≠BGT≡≥	120310	003002				BGT	83$
≠BICB≡≡R1≡≥	120312	142711	000040			BICB	#40,(R1)	;CONVERT LOWER TO UPPER CASE
≥					
≤PUSH≡≥					83$:	PUSH	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOVB≡≡R1≡≡R1≡≥	120320	111101				MOVB	(R1),R1		;PUT CHAR IN R1
≡PLDBUF≡≡PLDBUF≡≥	120322	104154				PLDBUF			;INSERT FOR LPT
≠INC≡≡$OUTPP≡≥	120324	005237	150472			INC	$OUTPP		;MOVE PRINTED-TO-POSITION
≤POP≡≥						POP	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≥					
≠TST≡≡$0FLG≡≥	120332	005737	147754		10$:	TST	$0FLG		;RUBOUT KEY SET?
≠BEQ≡≥	120336	001405				BEQ	11$		;BR IF NO
≥					
≠MOVB≡≡BKSLH≡≡R0≡≥	120340	112700	000134			MOVB	#BKSLH,R0	;TYPE A BACK SLASH
≡PTTY≡≡PTTY≡≥	120344	104152				PTTY
≠CLR≡≡$0FLG≡≥	120346	005037	147754			CLR	$0FLG		;CLEAR RUBOUT FLAG
≥					
≠MOVB≡≡R1≡≡R0≡≥	120352	112100			11$:	MOVB	(R1)+,R0	;CHAR TO R0
≡PTTY≡≡PTTY≡≥	120354	104152				PTTY			;PRINT IT
≠BR≡≥	120356	000705				BR	2$		;BACK FOR MORE
≥					
≠MOV≡≡R1≡≡$INPTR≡≥	120360	010137	150720		99$:	MOV	R1,$INPTR	;SAVE INPUT POINTER
≤POP≡≥						POP	$FORCE
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡$FORCE≡≠.LIST≡≤EXITER≡≥						EXITERR			;TIMED OUT, C-BIT SET RETURN
≠JMP≡≡$EXITE≡≥	120370	000137	124036			  JMP	$EXITE
≥					
≠TST≡≡$0FLG≡≥	120374	005737	147754		$TIRUB:	TST	$0FLG		;MULTIPLE RUBOUTS ?
≠BNE≡≥	120400	001005				BNE	1$		;YES
≠INC≡≡$0FLG≡≥	120402	005237	147754			INC	$0FLG		;SET RUBOUT FLAG
≠MOVB≡≡BKSLH≡≡R0≡≥	120406	112700	000134			MOVB	#BKSLH,R0	;TYPE A BACKSLASH
≡PTTY≡≡PTTY≡≥	120412	104152				PTTY
≥					
≠DEC≡≡R1≡≥	120414	005301			1$:	DEC	R1		;BACKUP BY ONE
≠CMP≡≡R1≡≡$INBUF≡≥	120416	020127	150477			CMP	R1,#$INBUF-1	;INPUT BUFFER EMPTY ?
≠BNE≡≥	120422	001004				BNE	2$		;NO
≥					
≡PCRLF≡≡PCRLF≡≥	120424	104031				PCRLF			;EMPTY, PRINT CR/LF
≤POP≡≥						POP	$FORCE
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡$FORCE≡≠.LIST≡≠BR≡≡$TILNX≡≥	120432	000650				BR	$TILNX		;AWAIT NEW LINE
≥					
≠MOVB≡≡R1≡≡R0≡≥	120434	111100			2$:	MOVB	(R1),R0		;PRINT RUBBED OUT CHAR
≡PTTY≡≡PTTY≡≥	120436	104152				PTTY
≠BR≡≡$TILN1≡≥	120440	000654				BR	$TILN1
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 205
	SUB11 PAL[KL,SYS]	Page 21 	INPUT A STRING FROM TTY

≥					;SPECIAL CHAR PROCESS
≥					
≤PMSG≡≥					$TICU:	PMSG	<↑U\>		;CONTROL U, DUMP LINE
≡$PMSG≡≡$PMSG≡≥	120442	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	120444	146053				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤POP≡≥						POP	$FORCE
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡$FORCE≡≠.LIST≡≠BR≡≡$TILNX≡≥	120452	000640				BR	$TILNX
≥					
≠INC≡≡R1≡≥	120454	005201			$TICR:	INC	R1		;CARRIAGE RETURN
≠MOVB≡≡LF≡≡R1≡≥	120456	112711	000012			MOVB	#LF,(R1)	;INSERT LF ALSO
≥					
≡PCRLF≡≡PCRLF≡≥	120462	104031			$TIBELL:PCRLF			;PRINT CR/LF
≥					
≠MOV≡≡R1≡≡$INPTR≡≥	120464	010137	150720		$TIEXT:	MOV	R1,$INPTR	;UPDATE INPUT POINTER
≠MOV≡≡$INBUF≡≡$INPTC≡≥	120470	012737	150500	150716		MOV	#$INBUF,$INPTC	;INIT CHAR POINTER
≤POP≡≥						POP	$FORCE
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡$FORCE≡≠.LIST≡≤EXIT≡≥						EXIT			;RETURN
≠JMP≡≡$EXIT≡≥	120502	000137	124064			  JMP	$EXIT
≥					
≠MOVB≡≡ALTMOD≡≡R1≡≥	120506	112711	000033		$TIALT:	MOVB	#ALTMOD,(R1)	;ALTMODE
≤PMSG≡≥						PMSG	<$\>		;PRINT DOLLAR SIGN CR/LF
≡$PMSG≡≡$PMSG≡≥	120512	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	120514	146057				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$TIEXT≡≥	120516	000762				BR	$TIEXT
≥					
≡PCRLF≡≡PCRLF≡≥	120520	104031			$TIBKS:	PCRLF			;BACKSLASH, DO LOCAL CR/LF
≠BR≡≡$TILN1≡≥	120522	000623				BR	$TILN1
≥					
≥					
≡PNTCI≡≡PNTCI≡≥	120524	104214			$TICC:	PNTCI			;CONTROL C, ABORT
≥	120526	041536				"↑C
≠JMP≡≡$CNTLC≡≥	120530	000137	100004			JMP	$CNTLC
≥					
≠TST≡≡LPTFLG≡≥	120534	005737	157304		$TICL:	TST	LPTFLG		;CONTROL L, LPT SELECTION
≠BPL≡≡$TILN1≡≥	120540	100214				BPL	$TILN1
≠COMB≡≡LPTFLG≡≥	120542	105137	157304			COMB	LPTFLG
≠BR≡≡$TILN1≡≥	120546	000611				BR	$TILN1
≥					
≠MOVB≡≡R1≡≡R0≡≥	120550	111100			$TILF:	MOVB	(R1),R0		;LINE FEED
≡PTTY≡≡PTTY≡≥	120552	104152				PTTY
≠BR≡≡$TIEXT≡≥	120554	000743				BR	$TIEXT
≥					
≠CLR≡≡CTRLOF≡≥	120556	005037	147770		$TICO:	CLR	CTRLOF		;CLEAR CONTROL O FLAG
≡PNTCI≡≡PNTCI≡≥	120562	104214				PNTCI
≥	120564	047536				"↑O
≠BR≡≡$TIBEL≡≥	120566	000735				BR	$TIBELL		;CR/LF & TERMINATE
≥					
≡TTPINI≡≡TTPINI≡≥	120570	104217			$TICX:	TTPINI
≡PNTCI≡≡PNTCI≡≥	120572	104214				PNTCI
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 206
	SUB11 PAL[KL,SYS]	Page 21.1 	INPUT A STRING FROM TTY

≥	120574	054136				"↑X
≡TTILIN≡≡TTILIN≡≥	120576	104004				TTILIN			;GET COMMAND LINE
≠BCS≡≡$TICC≡≥	120600	103751				 BCS	$TICC		;TIMED OUT
≠MOV≡≡$KONSP≡≡SP≡≥	120602	013706	147736			MOV	$KONSP,SP	;RESTORE STACK POINTER
≠JMP≡≡$RPT≡≥	120606	000137	100456			JMP	$RPT		;GO PROCESS COMMAND
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 207
	SUB11 PAL[KL,SYS]	Page 22 	INPUT A STRING FROM TTY

≥					;SPECIAL CHARACTERS
≥					
≠.BYTE≡≡CR≡≥	120612	   015		
≡LF≡≥	120613	   012			TILINC:	.BYTE	CR,LF
≠.BYTE≡≡BELL≡≥	120614	   007		
≡ALTMOD≡≥	120615	   033				.BYTE	BELL,ALTMOD
≠.BYTE≡≥	120616	   175		
≥	120617	   176				.BYTE	175,176
≠.BYTE≡≡CNTRLL≡≥	120620	   014		
≡CNTRLU≡≥	120621	   025				.BYTE	CNTRLL,CNTRLU
≠.BYTE≡≡CNTRLC≡≥	120622	   003		
≡BKSLH≡≥	120623	   134				.BYTE	CNTRLC,BKSLH
≠.BYTE≡≡RUBOUT≡≥	120624	   177		
≡CNTRLO≡≥	120625	   017				.BYTE	RUBOUT,CNTRLO
≠.BYTE≡≡XON≡≥	120626	   021		
≡XOFF≡≥	120627	   023				.BYTE	XON,XOFF
≠.BYTE≡≡CNTRLX≡≥	120630	   030		
≥	120631	   000				.BYTE	CNTRLX,0
≥					
≥					;SPECIAL CHAR DISPATCH TABLE
≥					
≡$TICR≡≡$TICR≡≥	120632	120454			TILINA:	$TICR
≡$TILF≡≡$TILF≡≥	120634	120550				$TILF
≡$TIBEL≡≡$TIBEL≡≥	120636	120462				$TIBELL
≡$TIALT≡≡$TIALT≡≥	120640	120506				$TIALT
≡$TIALT≡≡$TIALT≡≥	120642	120506				$TIALT
≡$TIALT≡≡$TIALT≡≥	120644	120506				$TIALT
≡$TICL≡≡$TICL≡≥	120646	120534				$TICL
≡$TICU≡≡$TICU≡≥	120650	120442				$TICU
≡$TICC≡≡$TICC≡≥	120652	120524				$TICC
≡$TIBKS≡≡$TIBKS≡≥	120654	120520				$TIBKS
≡$TIRUB≡≡$TIRUB≡≥	120656	120374				$TIRUB
≡$TICO≡≡$TICO≡≥	120660	120556				$TICO
≡$TIBEL≡≡$TIBEL≡≥	120662	120462				$TIBELL
≡$TIBEL≡≡$TIBEL≡≥	120664	120462				$TIBELL
≡$TICX≡≡$TICX≡≥	120666	120570				$TICX
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 208
	SUB11 PAL[KL,SYS]	Page 23 	CTY & FSTTY DL11 DRIVERS

≥					.SBTTL	CTY & FSTTY DL11 DRIVERS
≥					
≠TSTB≡≡$TKS≡≥	120670	105777	757124		$TIRDY:	TSTB	@$TKS		;ANY CTY INPUT ?
≠BPL≡≥	120674	100020				BPL	2$		;NO
≠BIT≡≡$TKB≡≥	120676	032777	020000	757116		BIT	#20000,@$TKB	;YES. BREAK?
≠BNE≡≥	120704	001010				BNE	5$		;BRANCH IF YES
≠MOVB≡≡$TKB≡≡$TICHR≡≥	120706	117737	757110	147744		MOVB	@$TKB,$TICHR	;GET CHAR
≠BICB≡≡$TICHR≡≥	120714	142737	000200	147744	1$:	BICB	#200,$TICHR	;CLEAR PARITY BIT
≠CLC≡≠CLC≡≥	120722	000241				CLC			;C-BIT CLEAR RETURN
≠RTS≡≡PC≡≥	120724	000207				RTS	PC
≥					
≠MOVB≡≡MSWCHR≡≡$TICHR≡≥	120726	112737	000030	147744	5$:	MOVB	#MSWCHR,$TICHR	;BREAK SEEN. 
≠BR≡≥	120734	000767				BR	1$
≥					
≥					2$:
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥						TST	DL11EFLG	;DOING DL11E ?
≥						BEQ	3$		;NO
≥						BIT	#DLCTS,@$FSTKS	;YES, STILL HAVE CLEAR TO SEND ?
≥						BEQ	4$		;NO
≥					.IFF
≠TST≡≡FSFLG≡≥	120736	005737	152236			TST FSFLG		;DOING DL11E?
≠BEQ≡≥	120742	001413				BEQ 3$			;NO
≠BIT≡≡DLCTS≡≡$FSTKS≡≥	120744	032777	020000	757056		BIT #DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND?
≠BEQ≡≥	120752	001407				BEQ 3$			;NO
≥					.ENDC
≠TSTB≡≡$FSTKS≡≥	120754	105777	757050			TSTB	@$FSTKS		;ANY FSTTY INPUT ?
≠BPL≡≥	120760	100004				BPL	3$		;NO
≠MOVB≡≡$FSTKB≡≡$TICHR≡≥	120762	117737	757044	147744		MOVB	@$FSTKB,$TICHR	;YES, GET CHAR
≠BR≡≥	120770	000751				BR	1$		;C-BIT CLEAR RETURN
≥					
≠SEC≡≠SEC≡≥	120772	000261			3$:	SEC			;NO INPUT, C-BIT SET RETURN
≠RTS≡≡PC≡≥	120774	000207				RTS	PC
≥					
≠.LIF≡≡TELASB≡≥					.LIF NDF TELASB
≥					4$:	JMP	FSDISC		;DL11E DISCONNECT
≥					
≠TSTB≡≡$TPS≡≥	120776	105777	757022		$TORDY:	TSTB	@$TPS		;IS CTY READY ?
≠BPL≡≥	121002	100014				BPL	2$		;NO
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥						TST	DL11EFLG	;DOING DL11E ?
≥						BEQ	1$		;NO
≥						BIT	#DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND ?
≥						BEQ	3$		;NO
≥					.IFF
≠TST≡≡FSFLG≡≥	121004	005737	152236			TST FSFLG
≠BEQ≡≥	121010	001407				BEQ 1$
≠BIT≡≡DLCTS≡≡$FSTKS≡≥	121012	032777	020000	757010		BIT #DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND?
≠BEQ≡≥	121020	001403				BEQ 1$			;NO
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 209
	SUB11 PAL[KL,SYS]	Page 23.1 	CTY & FSTTY DL11 DRIVERS

≥					.ENDC
≠TSTB≡≡$FSTPS≡≥	121022	105777	757006			TSTB	@$FSTPS		;IS FSTTY READY ?
≠BPL≡≥	121026	100002				BPL	2$		;NO
≥					
≠CLC≡≠CLC≡≥	121030	000241			1$:	CLC			;ALL READY, C-BIT CLEAR RETURN
≠RTS≡≡PC≡≥	121032	000207				RTS	PC
≥					
≠SEC≡≠SEC≡≥	121034	000261			2$:	SEC			;NOT READY
≠RTS≡≡PC≡≥	121036	000207				RTS	PC
≥					
≠.LIF≡≡TELASB≡≥					.LIF NDF TELASB
≥					3$:	JMP	FSDISC		;DL11E DISCONNECT
≥					
≠MOVB≡≡$TOCHR≡≡$TPB≡≥	121040	113777	147742	756760	$TOOUT:	MOVB	$TOCHR,@$TPB	;PRINT ON CTY
≥					
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥						TST	DL11EFLG
≥						BEQ	1$
≥					.IFF
≠TST≡≡FSFLG≡≥	121046	005737	152236			TST FSFLG
≠BEQ≡≥	121052	001407				BEQ 1$
≠BIT≡≡DLCTS≡≡$FSTKS≡≥	121054	032777	020000	756746		BIT #DLCTS,@$FSTKS	;STILL HAVE CLEAR TO SEND
≠BEQ≡≥	121062	001403				BEQ 1$
≥					.ENDC
≠MOVB≡≡$TOCHR≡≡$FSTPB≡≥	121064	113777	147742	756744		MOVB	$TOCHR,@$FSTPB	;PRINT ON FSTTY
≠RTS≡≡PC≡≥	121072	000207			1$:	RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 210
	SUB11 PAL[KL,SYS]	Page 24 	READ AN OCTAL NUMBER FROM THE TTY

≥					.SBTTL	READ AN OCTAL NUMBER FROM THE TTY
≥					
≥					;REGISTER USAGE
≥					;R0 = TTY CHARACTER 7 BIT FROM $INBUF
≥					;R2 = WORK REGISTER
≥					;R3 = CLEARED/SET = NO OCTAL CHARS/AT LEAST 1 OCTAL CHAR
≥					
≠CLR≡≡R2≡≥	121074	005002			$TTIOCT:CLR	R2		;CLEAR WORK REGISTER
≠JSR≡≡PC≡≡$TMINU≡≥	121076	004737	121170			JSR	PC,$TMINUS	;CHECK FOR PLUS & MINUS
≡TTICHR≡≡TTICHR≡≥	121102	104005			1$:	TTICHR			;PICKUP THIS CHARACTER
≠BCS≡≥	121104	103416				 BCS	2$
≥					
≠CMPB≡≡R0≡≥	121106	120027	000060			CMPB	R0,#60		;MAKE SURE THIS CHARACTER
≠BLT≡≥	121112	002413				BLT	2$		;IS AN OCTAL DIGIT
≠CMPB≡≡R0≡≥	121114	120027	000067			CMPB	R0,#67
≠BGT≡≥	121120	003010				BGT	2$
≥					
≠INC≡≡R3≡≥	121122	005203				INC	R3		;TO SHOW I GOT ONE CHARACTER
≥					
≠ASL≡≡R2≡≥	121124	006302				ASL	R2
≠ASL≡≡R2≡≥	121126	006302				ASL	R2
≠ASL≡≡R2≡≥	121130	006302				ASL	R2
≥					
≠BIC≡≡R0≡≥	121132	042700	177770			BIC	#177770,R0
≠ADD≡≡R0≡≡R2≡≥	121136	060002				ADD	R0,R2
≠BR≡≥	121140	000760				BR	1$
≥					
≠CLR≡≡R0≡≥	121142	005000			2$:	CLR	R0		;SET UP FOR EXIT
≥					
≠TST≡≡R3≡≥	121144	005703				TST	R3		;DID WE GET ANY DATA
≠BEQ≡≡$$PEX7≡≥	121146	001406				BEQ	$$PEX7		;NO, ERROR RETURN
≥					
≠MOV≡≡R2≡≡R0≡≥	121150	010200				MOV	R2,R0
≠TST≡≡R4≡≥	121152	005704				TST	R4		;NEGATE FLAG SET ?
≠BEQ≡≡$$PEX6≡≥	121154	001401				BEQ	$$PEX6		;NO
≠NEG≡≡R0≡≥	121156	005400				NEG	R0		;YES, MAKE NUMBER NEGATIVE
≠JMP≡≡$TTERM≡≥	121160	000137	122340		$$PEX6:	JMP	$TTERM		;VERIFY TERMINATION & EXIT
≤EXITER≡≥					$$PEX7:	EXITERR			;ERROR RETURN
≠JMP≡≡$EXITE≡≥	121164	000137	124036			  JMP	$EXITE
≥					
≠CLR≡≡R3≡≥	121170	005003			$TMINUS:CLR	R3		;CLEAR CHAR COUNTER
≠CLR≡≡R4≡≥	121172	005004				CLR	R4		;CLEAR NEGATE FLAG
≠MOV≡≡$INPTC≡≡R5≡≥	121174	013705	150716			MOV	$INPTC,R5	;SAVE INPUT POINTER
≡TTICHR≡≡TTICHR≡≥	121200	104005				TTICHR			;GET 1ST CHAR
≠BCS≡≥	121202	103412				 BCS	82$		;NONE AVAILABLE
≠CMPB≡≡R0≡≥	121204	122700	000053			CMPB	#'+,R0
≠BEQ≡≥	121210	001404				BEQ	80$
≠CMPB≡≡R0≡≥	121212	122700	000055			CMPB	#'-,R0		;NEGATE ?
≠BNE≡≥	121216	001002				BNE	81$		;BR IF NO
≠INC≡≡R4≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 211
	SUB11 PAL[KL,SYS]	Page 24.1 	READ AN OCTAL NUMBER FROM THE TTY

≥	121220	005204				INC	R4		;YES, SET NEGATE FLAG
≠INC≡≡R5≡≥	121222	005205			80$:	INC	R5		;YES, ADVANCE PAST -
≠MOV≡≡R5≡≡$INPTC≡≥	121224	010537	150716		81$:	MOV	R5,$INPTC
≠RTS≡≡PC≡≥	121230	000207			82$:	RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 212
	SUB11 PAL[KL,SYS]	Page 25 	READ A DECIMAL NUMBER FROM THE TTY

≥					.SBTTL	READ A DECIMAL NUMBER FROM THE TTY
≥					
≠MOV≡≡$TTSAV≡≡R2≡≥	121232	012702	150004		$TTIDEC:MOV	#$TTSAV,R2	;RESERVE STORAGE
≠JSR≡≡PC≡≡$TMINU≡≥	121236	004737	121170			JSR	PC,$TMINUS	;CHECK FOR PLUS & MINUS
≡TTICHR≡≡TTICHR≡≥	121242	104005			1$:	TTICHR			;READ IN A CHARACTER
≠BCS≡≥	121244	103413				 BCS	2$
≠CMPB≡≡R0≡≥	121246	120027	000060			CMPB	R0,#60		;MAKE SURE THIS CHARACTER
≠BLT≡≥	121252	002410				BLT	2$		;IS A DIGIT BETWEEN 0 & 9
≠CMPB≡≡R0≡≥	121254	120027	000071			CMPB	R0,#71
≠BGT≡≥	121260	003005				BGT	2$
≠INC≡≡R3≡≥	121262	005203				INC	R3		;SO I KNOW I GOT A DIGIT
≠BIC≡≡R0≡≥	121264	042700	177760			BIC	#177760,R0	;DON'T LET NUMBER GET TO BIG
≠MOVB≡≡R0≡≡R2≡≥	121270	110022				MOVB	R0,(R2)+
≠BR≡≥	121272	000763				BR	1$
≠CLR≡≡R0≡≥	121274	005000			2$:	CLR	R0		;CLEAR OUTPUT
≠TST≡≡R3≡≥	121276	005703				TST	R3		;DID WE GET ANY THING
≠BEQ≡≥	121300	001420				BEQ	6$		;NO
≥					
≥					;NOW WE CONVERT IT
≥					
≠CLR≡≡R1≡≥	121302	005001				CLR	R1		;CLEAR TABLE INDEX
≠CMP≡≡R2≡≡$TTSAV≡≥	121304	020227	150004		3$:	CMP	R2,#$TTSAV
≠BLT≡≥	121310	002410				BLT	5$		;YES NORMAL EXIT
≠MOVB≡≡R2≡≡R5≡≥	121312	114205				MOVB	-(R2),R5	;PUT IN R5
≠DEC≡≡R5≡≥	121314	005305			4$:	DEC	R5		;DONE YET
≠BLT≡≥	121316	002403				BLT	7$
≠ADD≡≡$TBLL≡≡R1≡≡R0≡≥	121320	066100	144704			ADD	$TBLL(R1),R0	;TALLY IT UP
≠BR≡≥	121324	000773				BR	4$
≠TST≡≡R1≡≥	121326	005721			7$:	TST	(R1)+		;UPDATE TABLE TALLY
≠BR≡≥	121330	000765				BR	3$
≠TST≡≡R4≡≥	121332	005704			5$:	TST	R4		;NEGATE NUMBER ?
≠BEQ≡≥	121334	001401				BEQ	9$
≠NEG≡≡R0≡≥	121336	005400				NEG	R0		;YES
≠BR≡≡$$PEX6≡≥	121340	000707			9$:	BR	$$PEX6		;RETURN
≠BR≡≡$$PEX7≡≥	121342	000710			6$:	BR	$$PEX7		;ERROR RETURN
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 213
	SUB11 PAL[KL,SYS]	Page 26 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

≥					.SBTTL	READ A 12 DIGIT OCTAL (36 BIT) NUMBER
≥					
≥					;$0FLG, 0=NO DATA; 0,-1=ONE DATA WORD; -1,-1= TWO PART DATA
≥					;DATA IS TRUNCATED TO 6 OCTALS IN EITHER HALF OF 2 PART DATA
≥					;DATA IS TRUNCATED TO 12 OCTALS IN 1 PART DATA
≥					;DURING CONVERSION
≥					;1 PART DATA; $0FLG =0
≥					;2 PART DATA; $0FLG=-1,0 DURING HI6; 0,-1 DURING LO6
≥					
≠JSR≡≡PC≡≡$TI36C≡≥	121344	004737	122044		$TTI36:	JSR	PC,$TI36C
≠CLR≡≡$SVH≡≥	121350	005037	147750			CLR	$SVH
≠CLR≡≡$SVM≡≥	121354	005037	147746			CLR	$SVM
≠CLR≡≡$0FLG≡≥	121360	005037	147754			CLR	$0FLG
≠CLR≡≡$NEG≡≥	121364	005037	147752			CLR	$NEG
≠JSR≡≡PC≡≡$TMINU≡≥	121370	004737	121170			JSR	PC,$TMINUS
≠TST≡≡R4≡≥	121374	005704				TST	R4
≠BEQ≡≥	121376	001402				BEQ	1$
≠INCB≡≡$NEG≡≥	121400	105237	147753			INCB	$NEG+1		;SET NEGATE FLAG
≥					
≡TTICHR≡≡TTICHR≡≥	121404	104005			1$:	TTICHR			;READ A CHAR
≠BCS≡≥	121406	103424			99$:	 BCS	98$		;BUFFER EMPTY
≥					
≠CMPB≡≡R0≡≥	121410	120027	000060			CMPB	R0,#60		;MAKE SURE ITS OCTAL
≠BLT≡≥	121414	002407				BLT	2$
≠CMPB≡≡R0≡≥	121416	120027	000067			CMPB	R0,#67
≠BGT≡≥	121422	003004				BGT	2$
≥					
≠MOVB≡≡$0FLG≡≥	121424	112737	777777	147754		MOVB	#-1,$0FLG	;WE GOT AT LEAST 1 DIGIT
≠BR≡≥	121432	000764				BR	1$
≥					
≠TSTB≡≡$0FLG≡≥	121434	105737	147754		2$:	TSTB	$0FLG
≠BEQ≡≥	121440	001546				BEQ	69$
≠CMPB≡≡R0≡≡BLANK≡≥	121442	120027	000040			CMPB	R0,#BLANK	;WAS IT A SPACE ?
≠BNE≡≥	121446	001021				BNE	3$		;NOPE
≠MOVB≡≡$0FLG≡≥	121450	112737	777777	147755		MOVB	#-1,$0FLG+1	;SET 2 WORD FLAG
≡TTICHR≡≡TTICHR≡≥	121456	104005				TTICHR			;GET 1ST CHAR OF 2ND PART
≠BCS≡≥	121460	103421			98$:	 BCS	97$
≠CMPB≡≡R0≡≥	121462	122700	000053			CMPB	#'+,R0
≠BEQ≡≥	121466	001410				BEQ	71$
≠CMPB≡≡R0≡≥	121470	122700	000055			CMPB	#'-,R0		;IS IT MINUS ?
≠BEQ≡≥	121474	001403				BEQ	21$		;YES
≠DEC≡≡$INPTC≡≥	121476	005337	150716			DEC	$INPTC		;NO, BACKUP INPUT POINTER
≠BR≡≥	121502	000740				BR	1$
≠INCB≡≡$NEG≡≥	121504	105237	147752		21$:	INCB	$NEG		;SET 2ND PART NEGATE FLAG
≠BR≡≥	121510	000735			71$:	BR	1$		;PROCESS 2ND HALF WORD
≠MOV≡≡R5≡≡$INPTC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 214
	SUB11 PAL[KL,SYS]	Page 27 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

≥	121512	010537	150716		3$:	MOV	R5,$INPTC	;RESET INPUT POINTER
≠CLRB≡≡$0FLG≡≥	121516	105037	147754			CLRB	$0FLG
≥					
≡TTICHR≡≡TTICHR≡≥	121522	104005			4$:	TTICHR
≠BCS≡≥	121524	103444			97$:	 BCS	96$
≠CMPB≡≡R0≡≥	121526	120027	000060			CMPB	R0,#60
≠BLT≡≥	121532	002414				BLT	5$
≠CMPB≡≡R0≡≥	121534	120027	000067			CMPB	R0,#67
≠BGT≡≥	121540	003011				BGT	5$
≥					
≠BICB≡≡R0≡≥	121542	142700	000370			BICB	#370,R0
≠MOV≡≡R1≡≥	121546	012701	000003			MOV	#3,R1
≥					
≠JSR≡≡PC≡≡SHFT36≡≥	121552	004737	121766		6$:	JSR	PC,SHFT36	;SHIFT 36 BIT WORD LEFT 3
≥					
≠BISB≡≡R0≡≡$DRAM≡≥	121556	150037	147462			BISB	R0,$DRAM	;INSERT NEW CHAR
≠BR≡≥	121562	000757				BR	4$
≥					
≠TSTB≡≡$0FLG≡≥	121564	105737	147755		5$:	TSTB	$0FLG+1		;DOING 2 PART NUMBER ?
≠BEQ≡≥	121570	001434				BEQ	8$		;BR IF NO
≥					
≠TSTB≡≡$NEG≡≥	121572	105737	147753		51$:	TSTB	$NEG+1		;NEGATE UPPER PART ?
≠BEQ≡≥	121576	001402				BEQ	52$		;NO
≥					
≠JSR≡≡PC≡≡NEG36≡≥	121600	004737	122010			JSR	PC,NEG36	;NEGATE 36 BIT WORD
≥					
≠MOV≡≡R1≡≥	121604	012701	000022		52$:	MOV	#18.,R1		;YES, MOVE NUMBER TO UPPER 18 BITS
≥					
≠JSR≡≡PC≡≡SHFT36≡≥	121610	004737	121766		7$:	JSR	PC,SHFT36	;SHIFT 36 BIT WORD LEFT 18
≥					
≠MOV≡≡R5≡≡$SVH≡≥	121614	014537	147750			MOV	-(R5),$SVH	;SAVE UPPER BITS
≠MOV≡≡R5≡≡$SVM≡≥	121620	014537	147746			MOV	-(R5),$SVM	;SAVE MIDDLE BITS
≠JSR≡≡PC≡≡$TI36C≡≥	121624	004737	122044			JSR	PC,$TI36C
≥					
≠SWAB≡≡$0FLG≡≥	121630	000337	147754			SWAB	$0FLG		;MAKE $0FLG 0,-1
≡TTICHR≡≡TTICHR≡≥	121634	104005				TTICHR			;GET 1ST CHAR OF 2ND PART
≠BCS≡≥	121636	103450			96$:	 BCS	9$
≠CMPB≡≡R0≡≥	121640	122700	000053			CMPB	#'+,R0
≠BEQ≡≥	121644	001726				BEQ	4$
≠CMPB≡≡R0≡≥	121646	122700	000055			CMPB	#'-,R0		;IS IT MINUS ?
≠BEQ≡≥	121652	001723				BEQ	4$		;YES
≠DEC≡≡$INPTC≡≥	121654	005337	150716			DEC	$INPTC		;NO, BACKUP INPUT POINTER
≠BR≡≥	121660	000720				BR	4$
≠TSTB≡≡$0FLG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 215
	SUB11 PAL[KL,SYS]	Page 28 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

≥	121662	105737	147754		8$:	TSTB	$0FLG
≠BEQ≡≥	121666	001417				BEQ	10$		;BR IF 1 PART
≠TSTB≡≡$NEG≡≥	121670	105737	147752			TSTB	$NEG		;NEGATE LOWER PART ?
≠BEQ≡≥	121674	001402				BEQ	81$		;NO
≥					
≠JSR≡≡PC≡≡NEG36≡≥	121676	004737	122010			JSR	PC,NEG36	;NEGATE 36 BIT WORD
≥					
≠MOV≡≡$DRAM≡≡R1≡≥	121702	012701	147464		81$:	MOV	#$DRAM+2,R1
≠BIC≡≡R1≡≥	121706	042711	177774			BIC	#177774,(R1)
≠BIS≡≡$SVM≡≡R1≡≥	121712	053721	147746			BIS	$SVM,(R1)+
≠CLR≡≡R1≡≥	121716	005011				CLR	(R1)		;CLEAR BITS 0-17
≠BIS≡≡$SVH≡≡R1≡≥	121720	053711	147750			BIS	$SVH,(R1)	;REINSERT UPPER BITS
≠BR≡≥	121724	000405				BR	12$
≥					
≠TSTB≡≡$NEG≡≥	121726	105737	147753		10$:	TSTB	$NEG+1		;MAKE NUMBER NEGATIVE ?
≠BEQ≡≥	121732	001402				BEQ	12$		;BR IF NO
≠JSR≡≡PC≡≡NEG36≡≥	121734	004737	122010			JSR	PC,NEG36	;NEGATE 36 BIT WORD
≥					
≠BIC≡≡$DRAM≡≥	121740	042737	177760	147466	12$:	BIC	#177760,$DRAM+4	;STRIP OVERFLOW
≠MOV≡≡$DRAM≡≡R0≡≥	121746	012700	147462			MOV	#$DRAM,R0	;RETURN STORAGE ADR IN R0
≠JMP≡≡$TTERM≡≥	121752	000137	122340			JMP	$TTERM		;VERIFY TERMINATION & EXIT
≠CLR≡≡R0≡≥	121756	005000			69$:	CLR	R0		;NO DIGITS TYPED
≡TTERM≡≡TTERM≡≥	121760	104201			9$:	TTERM			;VERIFY TERMINATION
≤EXITER≡≥						EXITERR			;ERROR RETURN
≠JMP≡≡$EXITE≡≥	121762	000137	124036			  JMP	$EXITE
≥					
≥					;SHIFT 36 BIT WORD C(R1) PLACES LEFT
≥					
≠MOV≡≡$DRAM≡≡R5≡≥	121766	012705	147462		SHFT36:	MOV	#$DRAM,R5
≠CLC≡≠CLC≡≥	121772	000241				CLC
≠ROL≡≡R5≡≥	121774	006125				ROL	(R5)+
≠ROL≡≡R5≡≥	121776	006125				ROL	(R5)+
≠ROL≡≡R5≡≥	122000	006125				ROL	(R5)+
≠DEC≡≡R1≡≥	122002	005301				DEC	R1
≠BGT≡≡SHFT36≡≥	122004	003370				BGT	SHFT36
≠RTS≡≡PC≡≥	122006	000207				RTS	PC
≥					
≥					;NEGATE - TWO'S COMPLEMENT 36 BIT WORD
≥					
≠MOV≡≡$DRAM≡≡R1≡≥	122010	012701	147462		NEG36:	MOV	#$DRAM,R1	;MAKE 1'S COMPLEMENT
≠COM≡≡R1≡≥	122014	005121				COM	(R1)+
≠COM≡≡R1≡≥	122016	005121				COM	(R1)+
≠COM≡≡R1≡≥	122020	005111				COM	(R1)
≠MOV≡≡$DRAM≡≡R1≡≥	122022	012701	147462			MOV	#$DRAM,R1
≠ADD≡≡R1≡≥	122026	062721	000001			ADD	#1,(R1)+	;MAKE THAT 2'S COMPLEMENT
≠ADC≡≡R1≡≥	122032	005521				ADC	(R1)+
≠ADC≡≡R1≡≥	122034	005511				ADC	(R1)
≠BIC≡≡R1≡≥	122036	042711	177760			BIC	#177760,(R1)	;STRIP OVERFLOW
≠RTS≡≡PC≡≥	122042	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 216
	SUB11 PAL[KL,SYS]	Page 28.1 	READ A 12 DIGIT OCTAL (36 BIT) NUMBER

≥					
≠MOV≡≡$DRAM≡≡R0≡≥	122044	012700	147462		$TI36C:	MOV	#$DRAM,R0	;CLEAR STORAGE
≠CLR≡≡R0≡≥	122050	005020				CLR	(R0)+
≠CLR≡≡R0≡≥	122052	005020				CLR	(R0)+
≠CLR≡≡R0≡≥	122054	005020				CLR	(R0)+
≠RTS≡≡PC≡≥	122056	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 217
	SUB11 PAL[KL,SYS]	Page 29 	SIGNED MULTIPLY SUBROUTINE

≥					.SBTTL	SIGNED MULTIPLY SUBROUTINE
≥					
≤PUSH≡≥					$MULTP:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡SP≡≡R1≡≥	122062	016601	000022			MOV	22(SP),R1
≠MOV≡≡SP≡≡R0≡≥	122066	016600	000020			MOV	20(SP),R0	;MULTIPLICAND
≠CLR≡≡R4≡≥	122072	005004				CLR	R4		;CLEAR SIGN
≠TST≡≡R0≡≥	122074	005700				TST	R0		;TEST SIGN
≠BPL≡≥	122076	100002				BPL	1$
≥					
≠INC≡≡R4≡≥	122100	005204				INC	R4		;SET SIGN BIT
≠NEG≡≡R0≡≥	122102	005400				NEG	R0		;MAKE MULTIPLICAND POSITIVE
≥					
≠TST≡≡R1≡≥	122104	005701			1$:	TST	R1		;TEST SIGN OF MULTIPLIER
≠BPL≡≥	122106	100002				BPL	2$
≥					
≠DEC≡≡R4≡≥	122110	005304				DEC	R4		;UPDATE SIGN BIT
≠NEG≡≡R1≡≥	122112	005401				NEG	R1		;MAKE MULTIPLIER POSITIVE
≥					
≠MOV≡≡R3≡≥	122114	012703	000021		2$:	MOV	#17.,R3		;SET LOOP COUNT
≠CLR≡≡R2≡≥	122120	005002				CLR	R2		;SET UP FOR MULTIPLY LOOP
≥					
≠BCC≡≥	122122	103001			3$:	 BCC	4$		;DONT ADD IF MULTIPLICAND IS ZERO
≠ADD≡≡R1≡≡R2≡≥	122124	060102				ADD	R1,R2
≥					
≠ROR≡≡R2≡≥	122126	006002			4$:	ROR	R2		;POSITION THE PARTIAL PRODUCT
≠ROR≡≡R0≡≥	122130	006000				ROR	R0		;AND THE MULTIPLICAND
≠DEC≡≡R3≡≥	122132	005303				DEC	R3		;DONE YET
≠BNE≡≥	122134	001372				BNE	3$		;NOPE
≥					
≠TST≡≡R4≡≥	122136	005704				TST	R4		;TEST SIGN
≠BEQ≡≥	122140	001403				BEQ	5$		;PRODUCT IS POSITIVE
≥					
≠NEG≡≡R0≡≥	122142	005400				NEG	R0		;PRODUCT SHOULD BE NEGATIVE
≠NEG≡≡R2≡≥	122144	005402				NEG	R2
≠SBC≡≡R0≡≥	122146	005600				SBC	R0		;SUBTRACT CARRY
≥					
≠MOV≡≡R0≡≡SP≡≥	122150	010066	000020		5$:	MOV	R0,20(SP)	;MOST SIGNIFICANT BITS
≠MOV≡≡R2≡≡SP≡≥	122154	010266	000022			MOV	R2,22(SP)	;LEAST SIGNIFICANT BITS
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT			;EXIT
≠JMP≡≡$EXIT≡≥	122162	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 218
	SUB11 PAL[KL,SYS]	Page 30 	BREAK CHARACTER

≥					.SBTTL	BREAK CHARACTER
≥					
≠DEC≡≡$INPTC≡≥	122166	005337	150716		$TTIBRK:DEC	$INPTC		;BACKUP INPUT POINTER
≡TTICHR≡≡TTICHR≡≥	122172	104005				TTICHR
≠BCC≡≡$$PEX4≡≥	122174	103122				 BCC	$$PEX4		;NOTHING IN BUFFER
≤EXITER≡≥					$$PEX5:	EXITERR
≠JMP≡≡$EXITE≡≥	122176	000137	124036			  JMP	$EXITE
≥					
≠.SBTTL≡≥					.SBTTL	TELETYPE INPUT SPACE DELETE ROUTINE
≥					
≡TTICHR≡≡TTICHR≡≥	122202	104005			$TTSDL:	TTICHR
≠BCS≡≡$TTSDX≡≥	122204	103446				 BCS	$TTSDX		;BUFFER EMPTY
≠CMPB≡≡R0≡≡BLANK≡≥	122206	120027	000040			CMPB	R0,#BLANK
≠BEQ≡≡$TTSDL≡≥	122212	001773				BEQ	$TTSDL		;DELETE SPACES
≠CMPB≡≡R0≡≡TAB≡≥	122214	120027	000011			CMPB	R0,#TAB
≠BEQ≡≡$TTSDL≡≥	122220	001770				BEQ	$TTSDL		;DELETE TABS
≠CMPB≡≡R0≡≥	122222	122700	000055			CMPB	#'-,R0			;TREAT + OR -
≠BEQ≡≥	122226	001411				BEQ	3$			;SAME AS NUMBER
≠CMPB≡≡R0≡≥	122230	122700	000053			CMPB	#'+,R0
≠BEQ≡≥	122234	001406				BEQ	3$
≠CMPB≡≡R0≡≥	122236	120027	000060			CMPB	R0,#60
≠BLT≡≥	122242	002406				BLT	1$		;BR IF NON-NUMBER
≠CMPB≡≡R0≡≥	122244	120027	000071			CMPB	R0,#71
≠BGT≡≥	122250	003003				BGT	1$		;BR IF NON-NUMBER
≠DEC≡≡$INPTC≡≥	122252	005337	150716		3$:	DEC	$INPTC		;NUMBER, BACKUP INPUT POINTER
≠BR≡≡$$PEX4≡≥	122256	000471				BR	$$PEX4		;C-BIT CLEAR RETURN
≠CMPB≡≡R0≡≥	122260	120027	000072		1$:	CMPB	R0,#':		;COLON OR SLASH, V-BIT & C-BIT SET
≠BEQ≡≥	122264	001412				BEQ	10$
≠CMPB≡≡R0≡≥	122266	120027	000057			CMPB	R0,#'/
≠BEQ≡≥	122272	001407				BEQ	10$
≠CMPB≡≡R0≡≥	122274	120027	000136			CMPB	R0,#'↑		;UPARROW, Z-BIT & C-BIT SET
≠BNE≡≡$$PEX5≡≥	122300	001336				BNE	$$PEX5
≠BIS≡≡ZBIT≡≡SP≡≥	122302	052766	000004	000014		BIS	#ZBIT,14(SP)
≠BR≡≡$$PEX5≡≥	122310	000732				BR	$$PEX5
≥					
≠BIS≡≡VBIT≡≡SP≡≥	122312	052766	000002	000014	10$:	BIS	#VBIT,14(SP)
≠BR≡≡$$PEX5≡≥	122320	000726				BR	$$PEX5
≠JMP≡≡$PARAM≡≥	122322	000137	113452		$TTSDX:	JMP	$PARAM
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 219
	SUB11 PAL[KL,SYS]	Page 31 	TELETYPE INPUT TERMINATION CHECK

≥					.SBTTL	TELETYPE INPUT TERMINATION CHECK
≥					
≠INC≡≡$INPTC≡≥	122326	005237	150716		$TTITRM:INC	$INPTC		;BECAUSE "TTERM" DECREMENTS
≡TTERM≡≡TTERM≡≥	122332	104201			$TTBTRM:TTERM			;VERIFY TERMINATOR
≠BCS≡≡$TTSDX≡≥	122334	103772				BCS	$TTSDX		;BAD, C-BIT SET RETURN
≠BR≡≡$$PEX4≡≥	122336	000441				BR	$$PEX4		;OK
≥					
≤PUSH≡≥					$TTERM:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠DEC≡≡$INPTC≡≥	122342	005337	150716			DEC	$INPTC		;BACKUP INPUT POINTER
≡TTICHR≡≡TTICHR≡≥	122346	104005				TTICHR			;GET TERMINATION CHAR
≠BCS≡≥	122350	103407				 BCS	2$		;NONE
≠MOV≡≡TRMTAB≡≡R1≡≥	122352	012701	122400			MOV	#TRMTAB,R1	;SETUP TERMINATION SCAN POINTER
≠CMPB≡≡R0≡≡R1≡≥	122356	120011			1$:	CMPB	R0,(R1)		;CHAR MATCH LEGAL TERMINATOR ?
≠BEQ≡≥	122360	001403				BEQ	2$		;YES
≠TSTB≡≡R1≡≥	122362	105721				TSTB	(R1)+		;NOT YET, GO TO NEXT
≠BEQ≡≥	122364	001403				BEQ	3$		;NO MATCH, ERROR
≠BR≡≥	122366	000773				BR	1$
≤POP≡≥					2$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡$$PEX4≡≥	122372	000423				BR	$$PEX4		;OK, C-BIT CLEAR RETURN
≤POP≡≥					3$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡$$PEX5≡≥	122376	000677				BR	$$PEX5		;ERROR, C-BIT SET RETURN
≥					
≠.BYTE≡≡SPACE≡≥	122400	   040		
≡TAB≡≥	122401	   011			TRMTAB:	.BYTE	SPACE,TAB
≠.BYTE≡≡COMMA≡≥	122402	   054		
≡CR≡≥	122403	   015				.BYTE	COMMA,CR
≠.BYTE≡≡ALTMOD≡≥	122404	   033		
≥	122405	   072				.BYTE	ALTMOD,72	;COLON
≠.BYTE≡≥	122406	   057		
≥	122407	   000				.BYTE	57,0		;SLASH
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 220
	SUB11 PAL[KL,SYS]	Page 32 	INPUT & CHECK OCTAL NUMBER

≥					.SBTTL	INPUT & CHECK OCTAL NUMBER
≥					
≡TTISDL≡≡TTISDL≡≥	122410	104016			$TTCOCT:TTISDL
≠BCS≡≡$TTSDX≡≥	122412	103743				 BCS	$TTSDX
≡TTIOCT≡≡TTIOCT≡≥	122414	104007				TTIOCT
≠BCS≡≡$TTSDX≡≥	122416	103741				 BCS	$TTSDX		;NON-OCTAL
≠BR≡≡$$PEX4≡≥	122420	000410				BR	$$PEX4		;OK
≥					
≡TTCOCT≡≡TTCOCT≡≥	122422	104010			$TOCTE:	TTCOCT
≠BIT≡≡R0≡≥	122424	032700	000001			BIT	#1,R0		;ONLY EVEN OCTAL
≠BNE≡≡$TTSDX≡≥	122430	001334				BNE	$TTSDX
≠BR≡≡$$PEX4≡≥	122432	000403				BR	$$PEX4
≥					
≠.SBTTL≡≥					.SBTTL	TELETYPE DELETE SPACES & INPUT OCTAL NUMBER
≥					
≡TTCOCT≡≡TTCOCT≡≥	122434	104010			$TTSDO:	TTCOCT
≠TST≡≡R0≡≥	122436	005700				TST	R0		;MUST BE POSITIVE ALSO
≠BMI≡≡$TTSDX≡≥	122440	100730				BMI	$TTSDX
≡$$PEX4≠≥		122442			$$PEX4=.
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	122442	000137	124064			  JMP	$EXIT
≥					
≠.SBTTL≡≥					.SBTTL	TELETYPE DELETE SPACES & INPUT 36BIT NUMBER
≥					
≡TTISDL≡≡TTISDL≡≥	122446	104016			$TTS36:	TTISDL			;DELETE SPACES
≠BCS≡≡$TTSDX≡≥	122450	103724				 BCS	$TTSDX
≡TTI36≡≡TTI36≡≥	122452	104014				TTI36			;INPUT 36 BIT NUMBER
≠BCS≡≡$TTSDX≡≥	122454	103722				 BCS	$TTSDX
≠BR≡≡$$PEX4≡≥	122456	000771				BR	$$PEX4
≥					
≠.SBTTL≡≥					.SBTTL	TELETYPE INPUT C-RAM ADDRESS
≥					
≡TTISDO≡≡TTISDO≡≥	122460	104017			$TICRA:	TTISDO			;GET ADDRESS
≠CMP≡≡R0≡≥	122462	020027	002777			CMP	R0,#2777
≠BLE≡≡$$PEX4≡≥	122466	003765				BLE	$$PEX4
≠JMP≡≡ADRERR≡≥	122470	000137	113350			JMP	ADRERR		;TOO BIG
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 221
	SUB11 PAL[KL,SYS]	Page 33 	SHIFT R0 RIGHT/LEFT ROUTINES

≥					.SBTTL	SHIFT R0 RIGHT/LEFT ROUTINES
≥					
≠MOV≡≡$EMADR≡≡R1≡≥	122474	017701	025134		$SHFTR:	MOV	@$EMADR,R1	;GET SHIFT COUNT
≠ASR≡≡R0≡≥	122500	006200			1$:	ASR	R0		;SHIFT RIGHT
≠DEC≡≡R1≡≥	122502	005301				DEC	R1
≠BGT≡≥	122504	003375				BGT	1$
≤EXITSK≡≥					$SHFTX:	EXITSKP			;SKIP OVER TRAILING PARAMETER
≠JMP≡≡$EXITS≡≥	122506	000137	124056			  JMP	$EXITS
≥					
≠MOV≡≡$EMADR≡≡R1≡≥	122512	017701	025116		$SHFTL:	MOV	@$EMADR,R1
≠ASL≡≡R0≡≥	122516	006300			1$:	ASL	R0		;SHIFT LEFT
≠DEC≡≡R1≡≥	122520	005301				DEC	R1
≠BGT≡≥	122522	003375				BGT	1$
≠BR≡≡$SHFTX≡≥	122524	000770				BR	$SHFTX
≥					
≠.SBTTL≡≥					.SBTTL	PRINT MESSAGE, CONDITIONAL DEPENDING ON "RPTFLG"
≥					
≠TSTB≡≡RPTFLG≡≥	122526	105737	147732		$$PMSR:	TSTB	RPTFLG		;DOES REPEAT FLAG ALLOW PRINTING ?
≠BNE≡≡$SHFTX≡≥	122532	001365				BNE	$SHFTX		;NO
≥					
≠.SBTTL≡≥					.SBTTL	PRINT MESSAGE
≥					
≠MOV≡≡$EMADR≡≡R0≡≥	122534	017700	025074		$$PMSG:	MOV	@$EMADR,R0	;MESSAGE ADDRESS TO R0
≡PNTAL≡≡PNTAL≡≥	122540	104024				PNTAL			;PRINT
≠BR≡≡$SHFTX≡≥	122542	000761				BR	$SHFTX		;SKIP RETURN
≥					
≠.SBTTL≡≥					.SBTTL	PRINT CHARACTER IMMEDIATE
≥					
≠MOV≡≡$EMADR≡≡R2≡≥	122544	013702	147634		$PNTCI:	MOV	$EMADR,R2	;GET DATA ADDRESS
≠MOVB≡≡R2≡≡R1≡≥	122550	112201				MOVB	(R2)+,R1	;GET FIRST BYTE
≡PLDBUF≡≡PLDBUF≡≥	122552	104154				PLDBUF			;INSERT IN BUFFER
≠MOVB≡≡R2≡≡R1≡≥	122554	111201				MOVB	(R2),R1		;GET 2ND BYTE
≠BEQ≡≥	122556	001401				BEQ	1$		;IS THERE ANY ?
≡PLDBUF≡≡PLDBUF≡≥	122560	104154				PLDBUF			;YES, INSERT IN BUFFER
≠BR≡≡$SHFTX≡≥	122562	000751			1$:	BR	$SHFTX		;SKIP RETURN
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 222
	SUB11 PAL[KL,SYS]	Page 34 	SMALL TIME DELAY

≥					.SBTTL	SMALL TIME DELAY
≥					
≠MOV≡≡R1≡≥	122564	012701	000012		$DELAY:	MOV	#10.,R1
≠DEC≡≡R1≡≥	122570	005301			1$:	DEC	R1
≠BNE≡≥	122572	001376				BNE	1$
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	122574	000137	124064			  JMP	$EXIT
≥					
≥					;CONSOLE TIME DELAY FOR REPEAT LOOPS
≥					
≡TTISDL≡≡TTISDL≡≥	122600	104016			.TD:	TTISDL
≠BCS≡≥	122602	103404				 BCS	1$		;NO ARG, DO ONCE
≡TTIDEC≡≡TTIDEC≡≥	122604	104011				TTIDEC
≠BCS≡≥	122606	103402				 BCS	1$		;DO ONCE ANYWAY
≠MOV≡≡R0≡≡R1≡≥	122610	010001				MOV	R0,R1		;SAVE DELAY COUNT
≠BR≡≥	122612	000401				BR	2$
≠CLR≡≡R1≡≥	122614	005001			1$:	CLR	R1
≡TDELAY≡≡TDELAY≡≥	122616	104056			2$:	TDELAY			;SMALL TIME DELAY
≠DEC≡≡R1≡≥	122620	005301				DEC	R1		;DONE REQUESTED DELAYS ?
≠BGT≡≥	122622	003375				BGT	2$
≠JMP≡≡$KONSL≡≥	122624	000137	100230			JMP	$KONSL
≥					
≠.SBTTL≡≥					.SBTTL	SAVE AND RESTORE R0-R5 ROUTINES
≥					
≤PUSH≡≥					$REGSAV:PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	16(SP)
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	16(SP)
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡SP≡≠.LIST≡≠RTI≡≠RTI≡≥	122642	000002				RTI
≥					
≥					;*RESTORE R0-R5
≥					
≠MOV≡≡SP≡≡SP≡≥	122644	016666	000014	000034	$REGRST:MOV	14(SP),34(SP)
≠MOV≡≡SP≡≡SP≡≥	122652	016666	000012	000032		MOV	12(SP),32(SP)
≠ADD≡≡SP≡≥	122660	062706	000016			ADD	#16,SP
≤POP≡≥						POP	<R0,R5,R4,R3,R2,R1>
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠MOV≡≡SP≡≡R5≡≠MOV≡≡SP≡≡R4≡≠MOV≡≡SP≡≡R3≡≠MOV≡≡SP≡≡R2≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≠RTI≡≠RTI≡≥	122700	000002				RTI
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 223
	SUB11 PAL[KL,SYS]	Page 35 	SAVE AND RESTORE R0-R5 ROUTINES

≥					;FATAL VECTOR INTERRUPT
≥					
≤PUSH≡≥					$FATLE:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<?FATAL INTR>
≡$PMSG≡≡$PMSG≡≥	122704	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	122706	146062				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$EOR≡≥	122710	000407				BR	$EOR
≥					
≤PUSH≡≥					$TIMOT:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<?BUS TIMEOUT>
≡$PMSG≡≡$PMSG≡≥	122714	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	122716	146076				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$EOR≡≥	122720	000403				BR	$EOR
≥					
≤PUSH≡≥					$RESVD:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<?RESERVED INST>
≡$PMSG≡≡$PMSG≡≥	122724	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	122726	146113				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≠CLR≡≡TENRUN≡≥	122730	005037	147670		$EOR:	CLR	TENRUN
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤PUSH≡≥						PUSH	<R1,R2,R3,R4,R5,R0>
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠MOV≡≡R2≡≡SP≡≠MOV≡≡R3≡≡SP≡≠MOV≡≡R4≡≡SP≡≠MOV≡≡R5≡≡SP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠BR≡≡$EOR2≡≥	122752	000414				BR	$EOR2
≥					
≥					;STACK UNDERFLOW
≥					
≠MOV≡≡STACK≡≡SP≡≥	122754	012706	157774		$STUF:	MOV	#STACK-2,SP
≠MOV≡≡SP≡≡$KONSP≡≥	122760	010637	147736			MOV	SP,$KONSP
≤PMSG≡≥						PMSG	<?ST UNFLO>
≡$PMSG≡≡$PMSG≡≥	122764	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	122766	146132				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠CLR≡≡PCMDFL≡≥	122770	005037	152214			CLR	PCMDFLG
≠JMP≡≡$CNTLC≡≥	122774	000137	100004			JMP	$CNTLC
≥					
≤PMSG≡≥					$NOTAS:	PMSG	<?UNAS EMT>
≡$PMSG≡≡$PMSG≡≥	123000	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	123002	146144				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠CLR≡≡PCMDFL≡≥	123004	005037	152214		$EOR2:	CLR	PCMDFLG
≠JMP≡≡$PH1≡≥	123010	000137	115262			JMP	$PH1
≥					
≤PUSH≡≥					$FATAL:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG	<?FATAL>
≡$PMSG≡≡$PMSG≡≥	123016	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	123020	146156				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$EOR2≡≥	123022	000770				BR	$EOR2
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 224
	SUB11 PAL[KL,SYS]	Page 36 	EMT DECODER

≥					.SBTTL	EMT DECODER
≥					
≥					;*THIS ROUTINE WILL PICKUP THE LOWER BYTE OF THE "EMT" INSTRUCTION
≥					;*AND USE IT TO INDEX THROUGH THE EMT TABLE FOR THE STARTING ADDRESS
≥					;*OF THE DESIRED ROUTINE. THEN USING THE ADDRESS OBTAINED IT WILL
≥					;*GO TO THAT ROUTINE.
≥					
≠CMP≡≡SP≡≡$$STKM≡≥	123024	020627	157360		$EMTRP:	CMP	SP,#$$STKM		;check against stack bottom
≠BLE≡≡$STUF≡≥	123030	003751				BLE	$STUF			;OFF BOTTOM OF STACK
≤PUSH≡≥						PUSH	<R1,R2,R3,R4,R5,R0>
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠MOV≡≡R2≡≡SP≡≠MOV≡≡R3≡≡SP≡≠MOV≡≡R4≡≡SP≡≠MOV≡≡R5≡≡SP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡SP≡≡R0≡≥	123046	016600	000014			MOV	14(SP),R0		;GET EMT ADDRESS (+2)
≠BIC≡≡SP≡≥	123052	042766	000017	000016		BIC	#17,16(SP)		;CLEAR ALL STATUS BITS
≠MOV≡≡R0≡≡$EMADR≡≥	123060	010037	147634			MOV	R0,$EMADR		;SAVE
≠MOV≡≡R0≡≡R0≡≥	123064	014000				MOV	-(R0),R0		;GET RIGHT BYTE OF EMT
≠BIC≡≡R0≡≥	123066	042700	177400			BIC	#177400,R0
≠CMP≡≡R0≡≡$EMTAE≡≡$EMTAD≡≥	123072	020027	000240			CMP	R0,#<<$EMTAE-$EMTAD>/2>
≠BGE≡≡$NOTAS≡≥	123076	002340				BGE	$NOTAS			;EMT IN RANGE ?
≤SL≡≥						SL	R0,1			;ROUND TO WORD ADDRESS
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R0≡≠.LIST≡≠MOV≡≡$EMTAD≡≡R0≡≡R0≡≥	123102	016000	123110			MOV	$EMTAD(R0),R0		;INDEX TO TABLE
≠RTS≡≡R0≡≥	123106	000200				RTS	R0			;GO TO ROUTINE
≥					
≠.SBTTL≡≥					.SBTTL	EMT TABLE
≥					
≥					;*THIS TABLE CONTAINS THE STARTING ADDRESSES OF THE ROUTINES CALLED
≥					;*BY THE "EMT" INSTRUCTION.
≥					
≥					;	ROUTINE
≥					;	-------
≡$FATAL≡≡$FATAL≡≥	123110	123014			$EMTAD:	$FATAL		;EMT + 0
≡$ERRHL≡≡$ERRHL≡≥	123112	115232				$ERRHLT		; 1
≡$PRGHL≡≡$PRGHL≡≥	123114	115222				$PRGHLT		; 2
≡$RUNLP≡≡$RUNLP≡≥	123116	107030				$RUNLP		; 3
≡$TTILI≡≡$TTILI≡≥	123120	120150				$TTILIN		; 4	
≡$TTICH≡≡$TTICH≡≥	123122	117622				$TTICHR		; 5
≡$TTLOO≡≡$TTLOO≡≥	123124	117654				$TTLOOK		; 6
≡$TTIOC≡≡$TTIOC≡≥	123126	121074				$TTIOCT		; 7
≡$TTCOC≡≡$TTCOC≡≥	123130	122410				$TTCOCT		;EMT + 10
≡$TTIDE≡≡$TTIDE≡≥	123132	121232				$TTIDEC		; 11	
≡$TTIYE≡≡$TTIYE≡≥	123134	117746				$TTIYES		; 12
≡$TTALT≡≡$TTALT≡≥	123136	117702				$TTALTM		; 13
≡$TTI36≡≡$TTI36≡≥	123140	121344				$TTI36		; 14	
≡$TTIBR≡≡$TTIBR≡≥	123142	122166				$TTIBRK		; 15
≡$TTSDL≡≡$TTSDL≡≥	123144	122202				$TTSDL		; 16
≡$TTSDO≡≡$TTSDO≡≥	123146	122434				$TTSDO		; 17
≡$TTS36≡≡$TTS36≡≥	123150	122446				$TTS36		;EMT + 20
≡$TICRA≡≡$TICRA≡≥	123152	122460				$TICRA		; 21
≡$TTITR≡≡$TTITR≡≥	123154	122326				$TTITRM		; 22
≡$TTBTR≡≡$TTBTR≡≥	123156	122332				$TTBTRM		; 23
≡$PNTAL≡≡$PNTAL≡≥	123160	115522				$PNTAL		; 24	
≡$$PMSG≡≡$$PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 225
	SUB11 PAL[KL,SYS]	Page 36.1 	EMT TABLE

≥	123162	122534				$$PMSG		; 25
≡$$PMSR≡≡$$PMSR≡≥	123164	122526				$$PMSR		; 26
≡$PNTCH≡≡$PNTCH≡≥	123166	115624				$PNTCHR		; 27
≡$PNTNB≡≡$PNTNB≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 226
	SUB11 PAL[KL,SYS]	Page 37 	EMT TABLE

≥	123170	115614				$PNTNBR		;EMT + 30
≡$PCRLF≡≡$PCRLF≡≥	123172	116742				$PCRLF		; 31
≡$PSPAC≡≡$PSPAC≡≥	123174	115634				$PSPACE		; 32
≡$PSLAS≡≡$PSLAS≡≥	123176	115642				$PSLASH		; 33
≡$PCOMM≡≡$PCOMM≡≥	123200	115650				$PCOMMA		; 34
≡$PNTOC≡≡$PNTOC≡≥	123202	117366				$PNTOCT		; 35
≡$PNTOS≡≡$PNTOS≡≥	123204	117374				$PNTOSC		; 36	
≡$PNTDE≡≡$PNTDE≡≥	123206	117476				$PNTDEC		; 37
≡$PNT18≡≡$PNT18≡≥	123210	117114				$PNT18		;EMT + 40
≡$PNT23≡≡$PNT23≡≥	123212	117130				$PNT23		; 41
≡$PNT36≡≡$PNT36≡≥	123214	117154				$PNT36		; 42
≡$PFORC≡≡$PFORC≡≥	123216	120046				$PFORCE		; 43
≡$PNORM≡≡$PNORM≡≥	123220	120054				$PNORML		; 44	
≡$PBELL≡≡$PBELL≡≥	123222	116750				$PBELL		; 45
≡$PNTOD≡≡$PNTOD≡≥	123224	116772				$PNTODC		; 46
≡$PODT≡≡$PODT≡≥	123226	116760				$PODT		; 47
≡$REGSA≡≡$REGSA≡≥	123230	122630				$REGSAV		;EMT + 50	
≡$REGRS≡≡$REGRS≡≥	123232	122644				$REGRST		; 51
≡$CMP36≡≡$CMP36≡≥	123234	125316				$CMP36		; 52	
≡$SHFTR≡≡$SHFTR≡≥	123236	122474				$SHFTR		; 53
≡$SHFTL≡≡$SHFTL≡≥	123240	122512				$SHFTL		; 54
≡$SETFL≡≡$SETFL≡≥	123242	124046				$SETFLG		; 55
≡$DELAY≡≡$DELAY≡≥	123244	122564				$DELAY		; 56
≡$SWITC≡≡$SWITC≡≥	123246	120026				$SWITCH		; 57	
≡$SWTSA≡≡$SWTSA≡≥	123250	120040				$SWTSAM		;EMT + 60
≡$EOP≡≡$EOP≡≥	123252	115220				$EOP		; 61	
≡$ERREO≡≡$ERREO≡≥	123254	115220				$ERREOP		; 62
≡$EOPSE≡≡$EOPSE≡≥	123256	115220				$EOPSET		; 63
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						$COMLIN		; 64
≥						$COMSND		; 65
≥						$COMACK		; 66
≥						$COMNAK		; 67
≥						$COMCLR		;EMT + 70
≥						$COMCTL		; 71
≥					.IFF
≠.REPT≡≥		000006			.REPT 6
≥						$FATAL		;64-71
≥					.ENDR
≡$FATAL≡≡$FATAL≡≥	123260	123014				$FATAL		;64-71
≡$FATAL≡≡$FATAL≡≥	123262	123014				$FATAL		;64-71
≡$FATAL≡≡$FATAL≡≥	123264	123014				$FATAL		;64-71
≡$FATAL≡≡$FATAL≡≥	123266	123014				$FATAL		;64-71
≡$FATAL≡≡$FATAL≡≥	123270	123014				$FATAL		;64-71
≡$FATAL≡≡$FATAL≡≥	123272	123014				$FATAL		;64-71
≥					.ENDC
≡$MULTP≡≡$MULTP≡≥	123274	122060				$MULTP		; 72	
≡$WCRAM≡≡$WCRAM≡≥	123276	142254				$WCRAM		; 73
≡$RCRAM≡≡$RCRAM≡≥	123300	142564				$RCRAM		; 74
≡$WWADR≡≡$WWADR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 227
	SUB11 PAL[KL,SYS]	Page 37.1 	EMT TABLE

≥	123302	142122				$WWADR		; 75
≡$MRESE≡≡$MRESE≡≥	123304	141656				$MRESET		; 76	
≡$TENSP≡≡$TENSP≡≥	123306	125616				$TENSP		; 77
≡$SM≡≡$SM≡≥	123310	125400				$SM		;EMT + 100
≡$XCT≡≡$XCT≡≥	123312	125474				$XCT		; 101
≡$LODAR≡≡$LODAR≡≥	123314	144132				$LODAR		; 102
≡$EXAM≡≡$EXAM≡≥	123316	124322				$EXAM		; 103
≡$EXAMT≡≡$EXAMT≡≥	123320	124314				$EXAMT		; 104
≡$DPOS≡≡$DPOS≡≥	123322	124240				$DPOS		; 105
≡$DPOST≡≡$DPOST≡≥	123324	124234				$DPOST		; 106
≡$DPOSV≡≡$DPOSV≡≥	123326	125150				$DPOSVR		; 107
≡$DPSVT≡≡$DPSVT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 228
	SUB11 PAL[KL,SYS]	Page 38 	EMT TABLE

≥	123330	125144				$DPSVT		;EMT + 110
≡$D10MO≡≡$D10MO≡≥	123332	124204				$D10MON		; 111
≡$D10ZR≡≡$D10ZR≡≥	123334	124144				$D10ZRO		; 112
≡$DTEBA≡≡$DTEBA≡≥	123336	140736				$DTEBAS		; 113
≡$DFXCT≡≡$DFXCT≡≥	123340	141144				$DFXCT		; 114
≡$DXCTT≡≡$DXCTT≡≥	123342	141114				$DXCTT		; 115
≡$DFRD≡≡$DFRD≡≥	123344	140760				$DFRD		; 116
≡$DFRDM≡≡$DFRDM≡≥	123346	141570				$DFRDMV		; 117	
≡$DFWRT≡≡$DFWRT≡≥	123350	141400				$DFWRT		;EMT + 120
≡$DFWIR≡≡$DFWIR≡≥	123352	141360				$DFWIR		; 121
≡$DFSCL≡≡$DFSCL≡≥	123354	141130				$DFSCLK		; 122
≡$DFPC≡≡$DFPC≡≥	123356	144440				$DFPC		; 123
≡$DFVMA≡≡$DFVMA≡≥	123360	144456				$DFVMA		; 124
≡$DFADB≡≡$DFADB≡≥	123362	144464				$DFADB		; 125
≡$RDRAM≡≡$RDRAM≡≥	123364	143340				$RDRAM		; 126
≡$WDRAM≡≡$WDRAM≡≥	123366	143270				$WDRAM		; 127
≡$DRAMA≡≡$DRAMA≡≥	123370	143510				$DRAMAD		;EMT + 130
≡$BURST≡≡$BURST≡≥	123372	143742				$BURST		; 131
≡$PNTCP≡≡$PNTCP≡≥	123374	103600				$PNTCPU		; 132
≡$PRGCM≡≡$PRGCM≡≥	123376	101452				$PRGCMD		; 133	
≡$P36B≡≡$P36B≡≥	123400	117144				$P36B		; 134
≡$ECLOK≡≡$ECLOK≡≥	123402	125544				$ECLOK		; 135
≡$ESYNC≡≡$ESYNC≡≥	123404	123610				$ESYNC		; 136
≡$PADR≡≡$PADR≡≥	123406	117046				$PADR		; 137
≡$DFRDT≡≡$DFRDT≡≥	123410	140746				$DFRDT		;EMT + 140
≡$DWRTT≡≡$DWRTT≡≥	123412	141620				$DWRTT		; 141
≡$PCRAM≡≡$PCRAM≡≥	123414	126502				$PCRAM		; 142
≡$PDRAM≡≡$PDRAM≡≥	123416	127600				$PDRAM		; 143
≡$TTBAC≡≡$TTBAC≡≥	123420	120010				$TTBACK		; 144
≡$TENSW≡≡$TENSW≡≥	123422	111762				$TENSW		; 145
≡$PROL3≡≡$PROL3≡≥	123424	117346				$PROL36		; 146
≡$SETMP≡≡$SETMP≡≥	123426	144226				$SETMPH		; 147
≡$DFVMH≡≡$DFVMH≡≥	123430	144432				$DFVMH		;EMT + 150
≡$PRINT≡≡$PRINT≡≥	123432	116040				$PRINTT		; 151
≡$PTTY≡≡$PTTY≡≥	123434	116174				$PTTY		; 152
≥					
≠.IF≡≡LPTASB≡≥					.IF DF LPTASB
≥						$PLPT		; 153
≥					.IFF
≡$FATAL≡≡$FATAL≡≥	123436	123014				$FATAL
≥					.ENDC
≥					
≡$PLDBU≡≡$PLDBU≡≥	123440	115664				$PLDBUF		; 154
≡$R50UP≡≡$R50UP≡≥	123442	134170				$R50UPK		; 155
≡$DTINI≡≡$DTINI≡≥	123444	134134				$DTINIT		; 156
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥						$RPINIT		; 157
≥					.IFF
≡$FATAL≡≡$FATAL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 229
	SUB11 PAL[KL,SYS]	Page 38.1 	EMT TABLE

≥	123446	123014				$FATAL
≥					.ENDC
≥					
≡$DVDAT≡≡$DVDAT≡≥	123450	134032				$DVDATA		;EMT + 160
≡$DTREA≡≡$DTREA≡≥	123452	134500				$DTREAD		; 161
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥						$RPREAD		; 162
≥					.IFF
≡$FATAL≡≡$FATAL≡≥	123454	123014				$FATAL
≥					.ENDC
≥					
≡$DVFRA≡≡$DVFRA≡≥	123456	133772				$DVFRAM		; 163
≡$DVWRD≡≡$DVWRD≡≥	123460	134110				$DVWRD		; 164
≡$ASCR5≡≡$ASCR5≡≥	123462	135124				$ASCR50		; 165
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥						$RPLOAD		; 166
≥						$RPFIND		; 167
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 230
	SUB11 PAL[KL,SYS]	Page 39 	EMT TABLE

≥						$RPLKUP		;EMT + 170
≥						$RPRDFL		; 171
≥						$RPWRFL		; 172
≥						$RPWRIT		; 173
≥						$RPADDR		; 174
≥						$RPBASE		; 175
≥					.IFF
≠.REPT≡≥		000010			.REPT 8
≥						$FATAL
≥					.ENDR
≡$FATAL≡≡$FATAL≡≥	123464	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123466	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123470	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123472	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123474	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123476	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123500	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123502	123014				$FATAL
≥					.ENDC
≥					
≡$TENCH≡≡$TENCH≡≥	123504	112106				$TENCHR		; 176
≡$PNTBA≡≡$PNTBA≡≥	123506	115770				$PNTBAK		; 177
≡$TOCTE≡≡$TOCTE≡≥	123510	122422				$TOCTE		;EMT + 200
≡$TTERM≡≡$TTERM≡≥	123512	122340				$TTERM		; 201
≡$CLKPR≡≡$CLKPR≡≥	123514	143732				$CLKPRM		; 202
≡$MICNU≡≡$MICNU≡≥	123516	143132				$MICNUL		; 203
≡$MICFI≡≡$MICFI≡≥	123520	143220				$MICFIL		; 204
≡$DTWRT≡≡$DTWRT≡≥	123522	134506				$DTWRT		; 205
≡$NAMEX≡≡$NAMEX≡≥	123524	130700				$NAMEXT		; 206
≡$DTAFI≡≡$DTAFI≡≥	123526	133430				$DTAFILE	; 207
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥						$RPFILE		;EMT + 210
≥					.IFF
≡$FATAL≡≡$FATAL≡≥	123530	123014				$FATAL
≥					.ENDC
≥					
≡$DTRDF≡≡$DTRDF≡≥	123532	134370				$DTRDFL		; 211
≡$DTWTF≡≡$DTWTF≡≥	123534	134444				$DTWTFL		; 212
≡$DTBAS≡≡$DTBAS≡≥	123536	134472				$DTBASE		; 213
≡$PNTCI≡≡$PNTCI≡≥	123540	122544				$PNTCI		; 214
≡$PNTRS≡≡$PNTRS≡≥	123542	116022				$PNTRST		; 215
≡$PRGNP≡≡$PRGNP≡≥	123544	101444				$PRGNPT		; 216
≡$TTPIN≡≡$TTPIN≡≥	123546	116006				$TTPINI		; 217
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						$COMCMD		;EMT + 220
≥						$CMRTRY		; 221
≥						$COMENQ		; 222
≥						$COMEOT		; 223
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 231
	SUB11 PAL[KL,SYS]	Page 39.1 	EMT TABLE

≥					.IFF
≠.REPT≡≥		000004			.REPT 4
≥						$FATAL
≥					.ENDR
≡$FATAL≡≡$FATAL≡≥	123550	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123552	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123554	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123556	123014				$FATAL
≥					.ENDC
≡$TTILN≡≡$TTILN≡≥	123560	120142				$TTILNW		; 224
≡$TTICC≡≡$TTICC≡≥	123562	101636				$TTICCL		; 225
≡$DFLEG≡≡$DFLEG≡≥	123564	104276				$DFLEGAL	; 226
≡$PTAB≡≡$PTAB≡≥	123566	115656				$PTAB		; 227
≥					
≠.IF≡≡RXASB≡≥					.IF DF RXASB
≥						$RXFILE		;EMT + 230
≥						$RXINIT		; 231
≥						$RXRDFL		; 232
≥						$RXWTFL		; 233
≥						$RXBASE		; 234
≥						$RXREAD		; 235
≥						$RXWRT		; 236
≥					.IFF
≠.REPT≡≥		000007			.REPT 7
≥						$FATAL
≥					.ENDR
≡$FATAL≡≡$FATAL≡≥	123570	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123572	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123574	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123576	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123600	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123602	123014				$FATAL
≡$FATAL≡≡$FATAL≡≥	123604	123014				$FATAL
≥					.ENDC
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥						$RPERR		; 237
≥					.IFF
≡$FATAL≡≡$FATAL≡≥	123606	123014				$FATAL
≥					.ENDC
≥					
≡$EMTAE≠≥		123610			$EMTAE=.
≥					
≤PUSH≡≥					$ESYNC:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠JMP≡≡$NOTAS≡≥	123612	000137	123000			JMP	$NOTAS
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 232
	SUB11 PAL[KL,SYS]	Page 40 	POWER DOWN AND UP ROUTINES

≥					.SBTTL	POWER DOWN AND UP ROUTINES
≥					
≠MOV≡≡$PWRUP≡≡PWRVEC≡≥	123616	012737	123630	000024	$PWRDN:	MOV	#$PWRUP,@#PWRVEC	;SET UP VECTOR
≠HALT≡≠HALT≡≥	123624	000000			$ILLUP:	HALT
≠BR≡≡$ILLUP≡≥	123626	000776				BR	$ILLUP			;HANG UP
≥					
≥					;POWER UP ROUTINE
≥					
≠MOV≡≡CPUPR≡≡PS≡≥	123630	012737	000140	177776	$PWRUP:	MOV	#CPUPR,PS		;SET CPU PRIORITY
≠MOV≡≡STACK≡≡SP≡≥	123636	012706	157776			MOV	#STACK,SP		;SET SP 
≠.LIF≡≡SAILVR≡≥					.LIF DF SAILVR
≠JSR≡≡PC≡≡CLKSTA≡≥	123642	004737	125746			JSR PC,CLKSTA			;START CLOCK
≠CLR≡≡R5≡≥	123646	005005				CLR	R5			;WAIT LOOP FOR THE TTY
≠INC≡≡R5≡≥	123650	005205			1$:	INC	R5			;WAIT FOR THE INC
≠BNE≡≥	123652	001376				BNE	1$			;OF  WORD
≠MOV≡≡$PWRDN≡≡PWRVEC≡≥	123654	012737	123616	000024		MOV	#$PWRDN,@#PWRVEC	;SET UP THE POWER DOWN VECTOR
≠CLR≡≡CONSOL≡≥	123662	005037	077776			CLR	CONSOL-2
≠CLR≡≡LPTFLG≡≥	123666	005037	157304			CLR	LPTFLG			;DISCONNECT LINE PRINTER
≠.IF≡≡TELASB≡≥					.IF NDF TELASB
≥						CLR	DL11EFLG		;DISCONNECT KLINIK !!!
≥					.IFF
≠CLR≡≡FSFLG≡≥	123672	005037	152236			CLR FSFLG
≠MOV≡≡DLRTS≡≡$FSTKS≡≥	123676	012777	000004	754124		MOV #DLRTS,@$FSTKS
≠MOV≡≡R0≡≥	123704	012700	116100			MOV #40000.,R0			;40000*2.36USEC = 94.4 MS
≠SOB≡≡R0≡≥	123710	077001				SOB R0,.			;WAIT FOR DATA SET TO HANG UP
≠BIS≡≡DLRTS≡≡DLDTR≡≡DLDIE≡≡$FSTKS≡≥	123712	052777	000046	754110		BIS #DLRTS!DLDTR!DLDIE,@$FSTKS	;SET DATA TERM READY AND DATA SET INT ENB
≥							;LEAVE REQUEST TO SEND UP ALTHOUGH WE DON'T USE IT
≥					.ENDC
≠INC≡≡$PWRCN≡≥	123720	005237	157312			INC	$PWRCNT			;COUNT POWER RESTARTS
≥					
≠.IF≡≡SAILVR≡≥					.IF NDF SAILVR
≥						MOV	#KWLKS,R3
≥						CLR	R5
≥					10$:	TSTB	(R3)		;WAIT FOR CLOCK TICK
≥						BPL	10$
≥						BIC	#200,(R3)
≥					.IFF
≠CLR≡≡CLKFLG≡≥	123724	005037	157160			CLR	CLKFLG
≠TST≡≡CLKFLG≡≥	123730	005737	157160		10$:	TST	CLKFLG
≠BEQ≡≥	123734	001775				BEQ	10$
≠CLR≡≡CLKFLG≡≥	123736	005037	157160			CLR	CLKFLG
≥					.ENDC
≠INC≡≡R5≡≥	123742	005205				INC	R5		;COUNT IT
≠CMP≡≡R5≡≥	123744	020527	000454			CMP	R5,#<5.*60.>	;WAITED 5 SEC FOR TTY POWER ?
≠BLE≡≥	123750	003767				BLE	10$		;NOT YET
≤PMSG≡≥						PMSG	<\"POWER RESTART" >
≡$PMSG≡≡$PMSG≡≥	123752	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	123754	146165				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡$PWRCN≡≡R0≡≥	123756	013700	157312			MOV	$PWRCNT,R0
≡PNTDEC≡≡PNTDEC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 233
	SUB11 PAL[KL,SYS]	Page 40.1 	POWER DOWN AND UP ROUTINES

≥	123762	104037				PNTDEC
≡PCRLF≡≡PCRLF≡≥	123764	104031				PCRLF
≠CLR≡≡R5≡≥	123766	005005				CLR	R5		;CLEAR TIME-UP COUNTER
≠JSR≡≡PC≡≡$TIRDY≡≥	123770	004737	120670		2$:	JSR	PC,$TIRDY	;ANY OPERATOR INTERRUPT ?
≠BCS≡≥	123774	103407				BCS	3$		;NO
≠MOVB≡≡$TICHR≡≡R4≡≥	123776	113704	147744			MOVB	$TICHR,R4	;YES, GET CHAR
≠BICB≡≡R4≡≥	124002	142704	000200			BICB	#200,R4
≠CMPB≡≡CNTRLC≡≡R4≡≥	124006	122704	000003			CMPB	#CNTRLC,R4	;IS IT CONTROL C ?
≠BEQ≡≥	124012	001407				BEQ	4$		;YES, ABORT TIME-UP WAIT
≥					3$:
≠.IF≡≡SAILVR≡≥					.IF NDF SAILVR
≥						TSTB	(R3)		;CLOCK SET ?
≥						BPL	2$		;NO
≥						BIC	#200,(R3)
≥					.IFF
≠TST≡≡CLKFLG≡≥	124014	005737	157160			TST CLKFLG
≠BEQ≡≥	124020	001763				BEQ 2$
≥					.ENDC
≠INC≡≡R5≡≥	124022	005205				INC	R5		;COUNT CLOCK TICK
≠CMP≡≡R5≡≥	124024	020527	000454			CMP	R5,#<5.*60.>	;WAITED 5 SECONDS FOR KL10 ?
≠BLE≡≥	124030	003757				BLE	2$		;NOT YET
≠JMP≡≡START≡≥	124032	000137	100000		4$:	JMP	START
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 234
	SUB11 PAL[KL,SYS]	Page 41 	EXIT SUBROUTINE

≥					.SBTTL	EXIT SUBROUTINE
≥					
≠BIS≡≡CBIT≡≡SP≡≥	124036	052766	000001	000014	$EXITE:	BIS	#CBIT,14(SP)	;SET C-BIT ERROR
≠BR≡≡$EXIT≡≥	124044	000407				BR	$EXIT
≥					
≠MOV≡≡$EMADR≡≡R1≡≥	124046	017701	023562		$SETFLG:MOV	@$EMADR,R1		;SET -1 TO FLAG WORD
≠MOV≡≡R1≡≥	124052	012711	777777			MOV	#-1,(R1)
≥					
≠ADD≡≡SP≡≥	124056	062766	000002	000012	$EXITS:	ADD	#2,12(SP)		;SKIP RETURN
≤POP≡≥					$EXIT:	POP	<R5,R4,R3,R2,R1>
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R5≡≠MOV≡≡SP≡≡R4≡≠MOV≡≡SP≡≡R3≡≠MOV≡≡SP≡≡R2≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≠RTT≡≠RTT≡≥	124076	000006			1$:	RTT				;RETURN TO USER
≥					
≥					;MEMORY PARITY
≥					
≠TST≡≡MEMPEF≡≥	124100	005737	147612		MEMPE:	TST	MEMPEF		;BEEN HERE ALREADY ?
≠BPL≡≥	124104	100001				BPL	1$
≡FATAL≡≡FATAL≡≥	124106	104000				FATAL			;YES
≠COM≡≡MEMPEF≡≥	124110	005137	147612		1$:	COM	MEMPEF		;SET FLAG
≠BIC≡≡MMPIE≡≡MMLPBA≡≥	124114	042737	000001	172100		BIC	#MMPIE,MMLPBA	;CLEAR ENABLE
≠BIT≡≡MMERRF≡≡MMLPBA≡≥	124122	032737	100000	172100		BIT	#MMERRF,MMLPBA	;ERROR SET ?
≠BNE≡≥	124130	001001				BNE	2$
≡FATAL≡≡FATAL≡≥	124132	104000				FATAL			;NO, HOW DID THIS GET HERE ?
≤PMSG≡≥					2$:	PMSG	<?PARITY>
≡$PMSG≡≡$PMSG≡≥	124134	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	124136	146207				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	124140	000137	100004			JMP	$CNTLC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 235
	SUB11 PAL[KL,SYS]	Page 42 	PDP10 OPERATIONS

≥					.SBTTL	PDP10 OPERATIONS
≥					
≥					;PDP-10 MEMORY ZERO
≥					; R0 = COUNT, R1 = POINTER TO START ADDRESS
≥					
≠MOV≡≡R0≡≡R5≡≥	124144	010005			$D10ZRO: MOV	R0,R5		;SAVE COUNT
≠DEC≡≡R5≡≥	124146	005305				DEC	R5
≠MOV≡≡.DPXAD≡≡R4≡≥	124150	012704	147704			MOV	#.DPXAD,R4
≠MOVB≡≡R1≡≡R4≡≥	124154	112124				MOVB	(R1)+,(R4)+
≠MOVB≡≡R1≡≡R4≡≥	124156	112124				MOVB	(R1)+,(R4)+
≠MOVB≡≡R1≡≡R4≡≥	124160	111114				MOVB	(R1),(R4)
≠TST≡≡R4≡≥	124162	005744				TST	-(R4)
≠CLR≡≡.DAT1≡≥	124164	005077	033136			CLR	@.DAT1		;CLEAR DTE20 DATA WORDS
≠CLR≡≡.DAT2≡≥	124170	005077	033130			CLR	@.DAT2
≠CLR≡≡.DAT3≡≥	124174	005077	033122			CLR	@.DAT3
≥					
≠MOV≡≡R4≡≡R1≡≥	124200	010401			$D10ZX: MOV	R4,R1		;POINTER TO ADDRESS
≠BR≡≡$DPSX1≡≥	124202	000440				BR	$DPSX1
≥					
≥					;PDP-10 SET -1 TO FLAG WORD
≥					; ADDRESS IN TRAILING PARAMETER
≥					
≠MOV≡≡L10ADR≡≡R1≡≥	124204	012701	147702		$D10MON: MOV	#L10ADR+2,R1	;SETUP 10 ADR BLOCK POINTER
≠CLR≡≡R1≡≥	124210	005011				CLR	(R1)
≠MOV≡≡$EMADR≡≡R1≡≥	124212	017741	023416			MOV	@$EMADR,-(R1)	;PUT 10 ADR IN ADR BLOCK
≠MOV≡≡TENMO≡≡R0≡≥	124216	012700	100056			MOV	#TENMO,R0	;SETUP -1 DATA WORD
≠ADD≡≡SP≡≥	124222	062766	000002	000012		ADD	#2,12(SP)	;SKIP RETURN OVER TRAILING PARAMETER
≠CLR≡≡R5≡≥	124230	005005				CLR	R5
≠BR≡≡$DPOSX≡≥	124232	000405				BR	$DPOSX
≥					
≥					;EXAMINE AND DEPOSIT 10 MEMORY
≥					
≠JSR≡≡PC≡≡$10ADR≡≥	124234	004737	125352		$DPOST:	JSR PC,$10ADR		;SETUP PARAMETERS
≥					
≠CLR≡≡R5≡≥	124240	005005			$DPOS:	CLR R5
≠JSR≡≡PC≡≡$D10AD≡≥	124242	004737	125072			JSR PC,$D10ADR		;SETUP PDP-10 ADDRESS
≠MOV≡≡$TEMP0≡≡R2≡≥	124246	012702	147672		$DPOSX:	MOV #$TEMP0,R2		;STUFF THE DEXWRDS
≠MOVB≡≡R0≡≡R2≡≥	124252	112022				MOVB (R0)+,(R2)+
≠MOVB≡≡R0≡≡R2≡≥	124254	112022				MOVB (R0)+,(R2)+
≠MOVB≡≡R0≡≡R2≡≥	124256	112022				MOVB (R0)+,(R2)+
≠MOVB≡≡R0≡≡R2≡≥	124260	112022				MOVB (R0)+,(R2)+
≠MOVB≡≡R0≡≡R2≡≥	124262	112022				MOVB (R0)+,(R2)+
≠MOVB≡≡R0≡≡R2≡≥	124264	111022				MOVB (R0),(R2)+
≠BIC≡≡R2≡≥	124266	042742	177760			BIC #177760,-(R2)
≠MOV≡≡.DAT1≡≡R3≡≥	124272	013703	157326			MOV .DAT1,R3
≠MOV≡≡R2≡≡R3≡≥	124276	011213				MOV (R2),(R3)		;BITS 00-03 TO .DAT1
≠MOV≡≡R2≡≡R3≡≥	124300	014243				MOV -(R2),-(R3)		;BITS 04-19 TO .DAT2
≠MOV≡≡R2≡≡R3≡≥	124302	014243				MOV -(R2),-(R3)		;BITS 20-35 TO .DAT3
≠BIS≡≡DEP≡≡R1≡≥	124304	052761	010000	000002	$DPSX1:	BIS #DEP,2(R1)		;SET FLAG
≠BR≡≡$EXDEP≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 236
	SUB11 PAL[KL,SYS]	Page 42.1 	PDP10 OPERATIONS

≥	124312	000414				BR $EXDEP
≥					
≠JSR≡≡PC≡≡$10ADR≡≥	124314	004737	125352		$EXAMT:	JSR PC,$10ADR		;SETUP PARAMETERS
≠BR≡≡$EXAMX≡≥	124320	000405				BR $EXAMX
≥					
≥					;EXAMINE 10 CORE.  R0 POINTS TO 2 WORDS CONTAINING THE 10 ADDRESS
≥					;	(BITS 20:35 IN FIRST WORD, 14:19 IN SECOND WORD)
≥					;	RESULT RETURNED IN $DRAM (20:35), $DRAM+2 (4:19), $DRAM+4 (0:3)
≠MOV≡≡R0≡≡R1≡≥	124322	010001			$EXAM:	MOV R0,R1	
≠JSR≡≡PC≡≡$D10AD≡≥	124324	004737	125072			JSR PC,$D10ADR		;SETUP PDP-10 ADDRESS
≠MOV≡≡$DRAM≡≡R0≡≥	124330	012700	147462			MOV #$DRAM,R0
≠CLR≡≡R5≡≥	124334	005005			$EXAMX:	CLR R5
≠BIC≡≡DEP≡≡R1≡≥	124336	042761	010000	000002		BIC #DEP,2(R1)		;CLEAR FLAG BIT
≠MOV≡≡EBUSPC≡≡.STDTE≡≥	124344	012777	000020	033002	$EXDEP:	MOV #EBUSPC,@.STDTE	;E-BUS PARITY CLEAR
≥					
≠.IF≡≡EPTREL≡≥		000001			.IF EQ EPTREL
≥						BIS #PHYS!PRTOFF,2(R1)
≥					.IFF
≠BIS≡≡$TADSP≡≡R1≡≥	124352	053761	147424	000002		BIS $TADSP,2(R1)	;$TADSP DESIGNATES ADDR MODE
≠MOV≡≡PHYS≡≡PRTOFF≡≡$TADSP≡≥	124360	012737	104000	147424		MOV #PHYS!PRTOFF,$TADSP	;RESET ADDR MODE FOR NEXT EXDEP
≥					.ENDC
≠TST≡≡VRBFLG≡≥	124366	005737	147564			TST VRBFLG
≠BEQ≡≥	124372	001425				BEQ 70$
≠BIT≡≡KLRUN≡≡.DIAG1≡≥	124374	032777	002000	032746		BIT #KLRUN,@.DIAG1
≠BNE≡≥	124402	001021				BNE 70$
≤PUSH≡≥						PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH @.DAT1		;IF VERBOSE AND KL IS NOT RUNNING THEN USE
≠.NLIST≡≠.IRP≡≠MOV≡≡.DAT1≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH @.DAT2		;APR FLAGS TO DETERMINE NXM, ETC.
≠.NLIST≡≠.IRP≡≠MOV≡≡.DAT2≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH @.DAT3
≠.NLIST≡≠.IRP≡≠MOV≡≡.DAT3≡≡SP≡≠.LIST≡≠MOV≡≡$$CLRF≡≡R0≡≥	124422	012700	125064			MOV #$$CLRF,R0
≡EXCT≡≡EXCT≡≥	124426	104101				EXCT			;EXECUTE A CONO APR,23400 TO CLR NXM,IOPGF,MB PAR
≤POP≡≥						POP @.DAT3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡.DAT3≡≠.LIST≡≤POP≡≥						POP @.DAT2
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡.DAT2≡≠.LIST≡≤POP≡≥						POP @.DAT1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡.DAT1≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠MOV≡≡R1≡≡.TENA1≡≥	124446	016177	000002	032654	70$:	MOV 2(R1),@.TENA1
≠MOV≡≡R1≡≡.TENA2≡≥	124454	011177	032652			MOV (R1),@.TENA2	;START DTE20
≠MOV≡≡EMTIMO≡≡SP≡≥	124460	013746	100104			MOV EMTIMO,-(SP)	;SET TIMEOUT COUNT
≠BIT≡≡DEXDON≡≡.STDTE≡≥	124464	032777	000004	032662	93$:	BIT #DEXDON,@.STDTE	;TEST BIT
≠BNE≡≥	124472	001034				BNE 94$			;LEAVE IF NOW A ONE(OK)
≠DEC≡≡SP≡≥	124474	005316				DEC (SP)		;DECREMENT COUNT
≠BNE≡≥	124476	001372				BNE 93$			;CONTINUE LOOP
≠TST≡≡RPTFLG≡≥	124500	005737	147732			TST RPTFLG		;OTHERWISE TIMEOUT
≠BNE≡≥	124504	001027				BNE 94$			;UNLESS UNDER REPEAT
≠TST≡≡VRBFLG≡≥	124506	005737	147564			TST VRBFLG
≠BEQ≡≥	124512	001416				BEQ 95$
≤PUSH≡≥						PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PMSG≡≥						PMSG <EXAM/DEPOSIT TIMEOUT, ADDRESS = >
≡$PMSG≡≡$PMSG≡≥	124516	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 237
	SUB11 PAL[KL,SYS]	Page 42.2 	PDP10 OPERATIONS

≥	124520	146217				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R1≡≡R0≡≥	124522	010100				MOV R1,R0
≤PUSH≡≥						PUSH 2(R0)
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠BIC≡≡R0≡≥	124530	042760	177700	000002		BIC #177700,2(R0)
≡PNTADR≡≡PNTADR≡≥	124536	104137				PNTADR
≡PCRLF≡≡PCRLF≡≥	124540	104031				PCRLF
≤POP≡≥						POP 2(R1)
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠CLR≡≡TENRUN≡≥	124550	005037	147670		95$:	CLR TENRUN		;CLEAR TEN RUNNING
≠CLR≡≡R5≡≥	124554	005005				CLR R5			;CLEAR BLOCK ZERO INDICATOR
≠BIS≡≡CBIT≡≡SP≡≥	124556	052766	000001	000016		BIS #CBIT,16(SP)
≠TST≡≡VRBFLG≡≥	124564	005737	147564		94$:	TST VRBFLG
≠BEQ≡≥	124570	001475				BEQ 96$
≠BIT≡≡KLRUN≡≡.DIAG1≡≥	124572	032777	002000	032550		BIT #KLRUN,@.DIAG1
≠BNE≡≥	124600	001071				BNE 96$			;KL IS STILL RUNNING
≤PUSH≡≥						PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH @.DAT1
≠.NLIST≡≠.IRP≡≠MOV≡≡.DAT1≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH @.DAT2
≠.NLIST≡≠.IRP≡≠MOV≡≡.DAT2≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH @.DAT3
≠.NLIST≡≠.IRP≡≠MOV≡≡.DAT3≡≡SP≡≠.LIST≡≠MOV≡≡SP≡≥	124620	012746	000000			MOV #0,-(SP)		;PUSH FLAG
≠MOV≡≡R0≡≥	124624	012700	000110			MOV #110,R0
≡DFRD≡≡DFRD≡≥	124630	104116				DFRD			;BIT 7 IS APR NXM ERR IN
≠BIT≡≡BIT12≡≡.DAT2≡≥	124632	032777	010000	032464		BIT #BIT12,@.DAT2	;BITS 4-19 (TEST BIT 7)
≠BEQ≡≥	124640	001403				BEQ 89$			;BRANCH IF NOT SET
≠INC≡≡SP≡≥	124642	005216				INC (SP)		;INC FLAG
≤PMSG≡≥						PMSG <MBOX DETECTED NXM\>
≡$PMSG≡≡$PMSG≡≥	124644	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	124646	146260				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BIT≡≡BIT10≡≡.DAT2≡≥	124650	032777	002000	032446	89$:	BIT #BIT10,@.DAT2	;TEST BIT 9
≠BEQ≡≥	124656	001403				BEQ 88$			;EBUS BIT 9 IS APR MB PAR ERR IN
≠INC≡≡SP≡≥	124660	005216				INC (SP)
≤PMSG≡≥						PMSG <MB PARITY ERROR DETECTED\>
≡$PMSG≡≡$PMSG≡≥	124662	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	124664	146303				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BIT≡≡BIT11≡≡.DAT2≡≥	124666	032777	004000	032430	88$:	BIT #BIT11,@.DAT2	;TEST BIT 8
≠BEQ≡≥	124674	001403				BEQ 87$			;EBUS BIT 8 IS APR I/O PF ERR IN
≠INC≡≡SP≡≥	124676	005216				INC (SP)
≤PMSG≡≥						PMSG <IOPGF (PROB AR PAR ERR) DETECTED\>
≡$PMSG≡≡$PMSG≡≥	124700	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	124702	146335				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠TST≡≡SP≡≥	124704	005726			87$:	TST (SP)+		;TEST AND FLUSH FLAG, ZERO IF NO ERRORS DETECTED
≠BEQ≡≥	124706	001417				BEQ 86$			;BRANCH IF NO ERRORS
≠TST≡≡RPTFLG≡≥	124710	005737	147732			TST RPTFLG
≠BEQ≡≥	124714	001414				BEQ 86$
≤PMSG≡≥						PMSG <ADDR = >		;ERROR UNDER REPEAT, GIVE ADDRESS
≡$PMSG≡≡$PMSG≡≥	124716	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	124720	146377				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R1≡≡R0≡≥	124722	010100				MOV R1,R0
≤PUSH≡≥						PUSH 2(R0)
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠BIC≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 238
	SUB11 PAL[KL,SYS]	Page 42.3 	PDP10 OPERATIONS

≥	124730	042760	177700	000002		BIC #177700,2(R0)
≡PNTADR≡≡PNTADR≡≥	124736	104137				PNTADR
≡PCRLF≡≡PCRLF≡≥	124740	104031				PCRLF
≤POP≡≥						POP 2(R1)
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥					86$:	POP @.DAT3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡.DAT3≡≠.LIST≡≤POP≡≥						POP @.DAT2
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡.DAT2≡≠.LIST≡≤POP≡≥						POP @.DAT1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡.DAT1≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠TST≡≡SP≡≥	124764	005726			96$:	TST (SP)+		;RESET STACK
≠BIT≡≡DEP≡≡R1≡≥	124766	032761	010000	000002		BIT #DEP,2(R1)
≠BNE≡≥	124774	001020				BNE 1$			;DEPOSIT BRANCHES
≤PUSH≡≥						PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡.DAT3≡≡R3≡≥	125000	013703	157322			MOV .DAT3,R3
≠MOV≡≡R3≡≡R0≡≥	125004	012320				MOV (R3)+,(R0)+		;BITS 20-35 FROM .DAT3
≠MOV≡≡R3≡≡R0≡≥	125006	012320				MOV (R3)+,(R0)+		;BITS 04-19 FROM .DAT2
≠MOV≡≡R3≡≡R0≡≥	125010	011310				MOV (R3),(R0)		;BITS 00-03 FROM .DAT1
≠BIC≡≡R0≡≥	125012	042710	177760			BIC #177760,(R0)
≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BIT≡≡BPARER≡≡.STDTE≡≥	125020	032777	000020	032326		BIT #BPARER,@.STDTE	;E-BUS PARITY ERROR ?
≠BEQ≡≥	125026	001403				BEQ 1$			;NO
≠BIS≡≡CBIT≡≡VBIT≡≡NBIT≡≡ZBIT≡≡SP≡≥	125030	052766	000017	000014		BIS #CBIT!VBIT!NBIT!ZBIT,14(SP) ;SET ALL COND BITS
≠TST≡≡R5≡≥	125036	005705			1$:	TST R5			;EXAM, DPOS OR FINISHED BLOCK ZERO ?
≠BEQ≡≥	125040	001407				BEQ 2$			;YES
≠DEC≡≡R5≡≥	125042	005305				DEC R5			;BLOCK ZERO, DECREMENT COUNT
≠ADD≡≡R4≡≥	125044	062714	000001			ADD #1,(R4)		;INCREMENT PDP-10 ADDRESS
≠ADC≡≡R4≡≥	125050	005564	000002			ADC 2(R4)
≠JMP≡≡$D10ZX≡≥	125054	000137	124200			JMP $D10ZX		;CLEAR NEXT WORD
≤EXIT≡≥					2$:	EXIT
≠JMP≡≡$EXIT≡≥	125060	000137	124064			  JMP	$EXIT
≥					
≤IO10≡≥					$$CLRF:	IO10 CONO,APR,,23400	;CLEAR APR NXM, IO PG FAIL, MB PAR ERR
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 239
	SUB11 PAL[KL,SYS]	Page 42.4 	PDP10 OPERATIONS

≥						  .IRPC AD1,23400
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000002				  ADL=10*<ADL&7777>+2
≠.IIF≡≡ADL≡≥		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000023				  ADL=10*<ADL&7777>+3
≠.IIF≡≡ADL≡≥		770023				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000234				  ADL=10*<ADL&7777>+4
≠.IIF≡≡ADL≡≥		770234				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		002340				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		772340				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		023400				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡CONO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡APR≡≡CONO≡≡APR≡≠.LIST≡≠.EVEN≡≥		125072			.EVEN
≠MOV≡≡L10ADR≡≡R4≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 240
	SUB11 PAL[KL,SYS]	Page 43 	PDP10 OPERATIONS

≥	125072	012704	147700		$D10ADR:MOV	#L10ADR,R4
≠MOVB≡≡R1≡≡R4≡≥	125076	112124				MOVB	(R1)+,(R4)+
≠MOVB≡≡R1≡≡R4≡≥	125100	112124				MOVB	(R1)+,(R4)+
≠MOVB≡≡R1≡≡R4≡≥	125102	111114				MOVB	(R1),(R4)
≠BIC≡≡R4≡≥	125104	042714	177700			BIC	#177700,(R4)
≠MOV≡≡L10ADR≡≡R1≡≥	125110	012701	147700			MOV	#L10ADR,R1
≠RTS≡≡PC≡≥	125114	000207				RTS	PC
≥					
≥					
≠.ASCIZ≡≥	125116	   077		
≥	125117	   105		
≥	125120	   055		
≥	125121	   102		
≥	125122	   125		
≥	125123	   123		
≥	125124	   040		
≥	125125	   120		
≥	125126	   101		
≥	125127	   122		
≥	125130	   111		
≥	125131	   124		
≥	125132	   131		
≥	125133	   040		
≥	125134	   105		
≥	125135	   122		
≥	125136	   122		
≥	125137	   117		
≥	125140	   122		
≥	125141	   040		
≥	125142	   000		
≥					$EBPAR:	.ASCIZ/?E-BUS PARITY ERROR /
≠.EVEN≡≥		125144			.EVEN
≥					
≠JSR≡≡PC≡≡$10ADR≡≥	125144	004737	125352		$DPSVT:	JSR	PC,$10ADR	;SETUP PARAMETERS
≥					
≤PUSH≡≥					$DPOSVR:PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠.IIF≡≡EPTREL≡≤PUSH≡≥					.IIF NZ EPTREL,	PUSH $TADSP		;PUSH ADDRESS SPACE
≠.NLIST≡≠.IRP≡≠MOV≡≡$TADSP≡≡SP≡≠.LIST≡≡DPOS≡≡DPOS≡≥	125156	104105				DPOS
≠BCS≡≡$DPVRP≡≥	125160	103417				 BCS $DPVRP
≠.IIF≡≡EPTREL≡≤POP≡≥					.IIF NZ EPTREL,	POP $TADSP		;USE SAME ADDRESS SPACE FOR VERIFY
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡$TADSP≡≠.LIST≡≠MOV≡≡R1≡≡R0≡≥	125166	010100				MOV R1,R0
≡EXAM≡≡EXAM≡≥	125170	104103				EXAM
≠BCS≡≡$DPVRE≡≥	125172	103417				 BCS $DPVRE
≠MOV≡≡SP≡≡R0≡≥	125174	011600				MOV (SP),R0
≤PUSH≡≥						PUSH R1				;SAVE ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡$DRAM≡≡R1≡≥	125200	012701	147462			MOV #$DRAM,R1
≡CMPR36≡≡CMPR36≡≥	125204	104052				CMPR36
≠BCS≡≡$DPVRV≡≥	125206	103415				BCS $DPVRV			;VERIFY ERROR
≤POP≡≥					$DPVRY:	POP R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 241
	SUB11 PAL[KL,SYS]	Page 43.1 	PDP10 OPERATIONS

≥					$DPVRX:	POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	125214	000137	124064			  JMP	$EXIT
≥					
≥					$DPVRP:					;DEPOSIT HALF OF DEPOSIT VERIFY LOST.
≠.IIF≡≡EPTREL≡≠TST≡≡SP≡≥	125220	005726			.IIF NZ EPTREL, TST (SP)+		;ADJUST STACK (REMOVE ADDR. SPACE)
≠BIS≡≡CBIT≡≡NBIT≡≡SP≡≥	125222	052766	000011	000016		BIS #CBIT!NBIT,16(SP)
≠BR≡≡$DPVRX≡≥	125230	000770				BR $DPVRX			;NO, JUST GIVE ERROR RETURN
≥					
≠BIS≡≡CBIT≡≡ZBIT≡≡SP≡≥	125232	052766	000005	000016	$DPVRE:	BIS #CBIT!ZBIT,16(SP)		;EXAMINE HALF OF DEPOSIT VERIFY LOST
≠BR≡≡$DPVRX≡≥	125240	000764				BR $DPVRX
≥					
≠BIS≡≡CBIT≡≡VBIT≡≡SP≡≥	125242	052766	000003	000020	$DPVRV:	BIS #CBIT!VBIT,20(SP)		;SET C & V FOR VERIFY ERROR
≠TST≡≡VRBFLG≡≥	125250	005737	147564			TST VRBFLG
≠BEQ≡≡$DPVRY≡≥	125254	001755				BEQ $DPVRY
≤PMSG≡≥						PMSG <\ADDRESS = >
≡$PMSG≡≡$PMSG≡≥	125256	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	125260	146407				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≡PNTADR≡≡PNTADR≡≥	125264	104137				PNTADR
≤PMSG≡≥						PMSG <DEPOSIT DATA = >
≡$PMSG≡≡$PMSG≡≥	125266	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	125270	146423				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≡PNT36≡≡PNT36≡≥	125274	104042				PNT36
≤PMSG≡≥						PMSG < EXAMINE DATA = >
≡$PMSG≡≡$PMSG≡≥	125276	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	125300	146443				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡$DRAM≡≡R0≡≥	125302	012700	147462			MOV #$DRAM,R0
≡PNT36≡≡PNT36≡≥	125306	104042				PNT36
≡PCRLF≡≡PCRLF≡≥	125310	104031				PCRLF
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	125312	000137	124064			  JMP	$EXIT
≥					
≥					;5-BYTE COMPARE ROUTINE, C & V BIT SET IF ERROR
≥					
≤PUSH≡≥					$CMP36:	PUSH	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡R2≡≥	125320	012702	000005			MOV	#5,R2
≠CMPB≡≡R0≡≡R1≡≥	125324	122021			1$:	CMPB	(R0)+,(R1)+
≠BNE≡≥	125326	001003				BNE	2$
≠DEC≡≡R2≡≥	125330	005302				DEC	R2
≠BNE≡≥	125332	001374				BNE	1$
≠BR≡≥	125334	000403				BR	3$
≠BIS≡≡CBIT≡≡VBIT≡≡SP≡≥	125336	052766	000003	000016	2$:	BIS	#CBIT!VBIT,16(SP)	;SET C & V FOR VERIFY ERROR
≤POP≡≥					3$:	POP	R0			;POINT TO ACTUAL
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	125346	000137	124064			  JMP	$EXIT
≥					
≥					;PDP-10 ADDRESS PARAMETER SETUP
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 242
	SUB11 PAL[KL,SYS]	Page 43.2 	PDP10 OPERATIONS

≥					
≠MOV≡≡$EMADR≡≡R5≡≥	125352	013705	147634		$10ADR:	MOV	$EMADR,R5	;SETUP TRAILING PARAMETER PICKUP
≠MOV≡≡L10ADR≡≡R1≡≥	125356	012701	147702			MOV	#L10ADR+2,R1	;SETUP 10 ADR BLOCK POINTER
≠CLR≡≡R1≡≥	125362	005011				CLR	(R1)		;CLEAR HI ADR
≥					
≠MOV≡≡R5≡≡R1≡≥	125364	012541				MOV	(R5)+,-(R1)	;SETUP PDP-10 ADDRESS
≠MOV≡≡R5≡≡R0≡≥	125366	011500				MOV	(R5),R0		;POINTER TO DATA BLOCK IN R0
≠ADD≡≡SP≡≥	125370	062766	000004	000014		ADD	#4,14(SP)	;RETURN OVER TRAILING PARAMETERS
≠RTS≡≡PC≡≥	125376	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 243
	SUB11 PAL[KL,SYS]	Page 44 	PDP10 OPERATIONS

≥					;START MICROCODE
≥					
≤PUSH≡≥					$SM:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡MRESET≡≡MRESET≡≥	125402	104076				MRESET			;RESET KL10
≠CLR≡≡R0≡≥	125404	005000				CLR	R0		;SELECT UCODE START ADR
≡WWADR≡≡WWADR≡≥	125406	104075				WWADR
≡DFXCTT≡≡DFXCTT≡≥	125410	104115				DFXCTT			;GET CLOCK GOING
≡STRCLK≡≡STRCLK≡≥	125412	000001				  STRCLK
≥					
≠MOV≡≡R1≡≥	125414	012701	000002			MOV	#2,R1
≠MOV≡≡$SMTAB≡≡R0≡≥	125420	012700	125462			MOV	#$SMTAB,R0
≤PUSH≡≥					1$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡EXCT≡≡EXCT≡≥	125426	104101				EXCT			;DO TEN INSTR
≠BCS≡≥	125430	103410				 BCS	2$
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠ADD≡≡R0≡≥	125434	062700	000005			ADD	#5,R0		;NEXT
≠DEC≡≡R1≡≥	125440	005301				DEC	R1
≠BNE≡≥	125442	001370				BNE	1$
≥					
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	125446	000137	124064			  JMP	$EXIT
≥					
≤POP≡≥					2$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXITER≡≥					$SMERR:	EXITERR
≠JMP≡≡$EXITE≡≥	125456	000137	124036			  JMP	$EXITE
≥					
≤IO10≡≥					$SMTAB:	IO10	CONO,APR,,200000	;IO SYS CLEAR
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,200000
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 244
	SUB11 PAL[KL,SYS]	Page 44.1 	PDP10 OPERATIONS

≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000002				  ADL=10*<ADL&7777>+2
≠.IIF≡≡ADL≡≥		770002				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000020				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		770020				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000200				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		770200				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		002000				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		772000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		020000				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≡ADL≡≡ADH≠≥		000002				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡CONO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡APR≡≡CONO≡≡APR≡≠.LIST≡≤IO10≡≥						IO10	CONO,PI,,10000		;PI SYS CLEAR
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≡BLKO≠≥		000002					BLKO=2
≡DATAO≠≥		000003					DATAO=3
≡BLKI≠≥		000000					BLKI=0
≡DATAI≠≥		000001					DATAI=1
≡CONO≠≥		000004					CONO=4
≡CONI≠≥		000005					CONI=5
≡CONSZ≠≥		000006					CONSZ=6
≡CONSO≠≥		000007					CONSO=7
≡APR≠≥		000000					APR=0
≡PI≠≥		000004					PI=4
≡PAG≠≥		000010					PAG=10
≡CCA≠≥		000014					CCA=14
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IRPC≡≥						  .IRPC AD1,10000
≥						  .IIF GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000001				  ADL=10*<ADL&7777>+1
≠.IIF≡≡ADL≡≥		770001				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000010				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		770010				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000100				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		770100				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		001000				  ADL=10*<ADL&7777>+0
≠.IIF≡≡ADL≡≥		771000				  .IIF GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		010000				  ADL=10*<ADL&7777>+0
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡CONO≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡PI≡≡CONO≡≡PI≡≠.LIST≡≠.EVEN≡≥		125474				.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 245
	SUB11 PAL[KL,SYS]	Page 45 	PDP10 OPERATIONS

≥					;PDP-10 INSTRUCTION EXECUTE
≥					
≡LODAR≡≡LODAR≡≥	125474	104102			$XCT:	LODAR
≠BCS≡≥	125476	103417				 BCS	6$
≡DFXCTT≡≡DFXCTT≡≥	125500	104115				DFXCTT			;SET CONTINUE BUTTON
≡CONBUT≡≡CONBUT≡≥	125502	000012				  CONBUT
≡DFXCTT≡≡DFXCTT≡≥	125504	104115				DFXCTT			;RUN THE CLOCK
≡STRCLK≡≡STRCLK≡≥	125506	000001				  STRCLK
≥					
≠TST≡≡RPTFLG≡≥	125510	005737	147732			TST	RPTFLG		;DOING REPEAT ?
≠BNE≡≥	125514	001011				BNE	2$		;YES, NO CHECK
≥					
≠MOV≡≡R1≡≥	125516	012701	001750			MOV	#1000.,R1
≠BIT≡≡HALTLP≡≡.DIAG1≡≥	125522	032777	001000	031620	4$:	BIT	#HALTLP,@.DIAG1
≠BNE≡≥	125530	001003				BNE	2$
≠DEC≡≡R1≡≥	125532	005301				DEC	R1		;NO, WAITED LONG ENOUGH
≠BNE≡≥	125534	001372				BNE	4$
≠BR≡≡$SMERR≡≥	125536	000747			6$:	BR	$SMERR
≥					
≤EXIT≡≥					2$:	EXIT
≠JMP≡≡$EXIT≡≥	125540	000137	124064			  JMP	$EXIT
≥					
≥					;ECLOK - GIVE A COMPLETE EBOX CLOCK
≥					
≠MOV≡≡R5≡≥	125544	012705	007640		$ECLOK:	MOV	#4000.,R5
≥					
≡DFSCLK≡≡DFSCLK≡≥	125550	104122			91$:	DFSCLK			;STEP RAW CLOCK
≡DFRDT≡≡DFRDT≡≥	125552	104140				DFRDT			;READ CLOCK STATE
≥	125554	000104				104
≠BIT≡≡BIT2≡≡.DAT3≡≥	125556	032777	000004	031536		BIT	#BIT2,@.DAT3	;CLK E BOX SOURCE HIGH ?
≠BNE≡≥	125564	001010				BNE	92$
≠DEC≡≡R5≡≥	125566	005305				DEC	R5
≠BNE≡≥	125570	001367				BNE	91$
≠TST≡≡RPTFLG≡≥	125572	005737	147732			TST	RPTFLG
≠BNE≡≥	125576	001003				BNE	92$
≠BIS≡≡CBIT≡≡SP≡≥	125600	052766	000001	000014		BIS	#CBIT,14(SP)	;REPORT TIMEOUT
≥					
≡DFXCTT≡≡DFXCTT≡≥	125606	104115			92$:	DFXCTT
≡CECLK≡≡CECLK≡≥	125610	000004				  CECLK
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	125612	000137	124064			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 246
	SUB11 PAL[KL,SYS]	Page 46 	PDP10 OPERATIONS

≥					;PDP-10 CONTROLLED STOP ROUTINE
≥					
≤PUSH≡≥					$TENSP:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠CLR≡≡TENRUN≡≥	125620	005037	147670			CLR	TENRUN		;CLEAR LOGICAL TEN RUNNING FLAG
≥					;;;;;	CLR	TENCLK		;CLEAR TEN USING CLOCK FLAG
≥					;;;;;	DON'T CLEAR TENCLK.  YOU MIGHT WANT TO CONTINUE THE SYSTEM
≥					
≠MOV≡≡DCOMST≡≡DFUNC≡≡CLRRUN≡≡.DIAG1≡≥	125624	012777	010201	031516		MOV	#DCOMST!DFUNC!<CLRRUN*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	125632	004737	141302			JSR	PC,$$DFXDN	;CLEAR RUN FLOP
≥					
≠MOV≡≡R1≡≥	125636	012701	001750			MOV	#1000.,R1
≠BIT≡≡HALTLP≡≡.DIAG1≡≥	125642	032777	001000	031500	1$:	BIT	#HALTLP,@.DIAG1
≠BNE≡≥	125650	001003				BNE	2$		;TEN RETURNED TO HALT LOOP
≠DEC≡≡R1≡≥	125652	005301				DEC	R1
≠BNE≡≥	125654	001372				BNE	1$
≠BR≡≥	125656	000430				BR	5$		;FAILED TO RETURN TO HALT LOOP
≥					
≡DFRDT≡≡DFRDT≡≥	125660	104140			2$:	DFRDT
≥	125662	000131				  131
≠BIT≡≡BIT1≡≡.DAT2≡≥	125664	032777	000002	031432		BIT	#BIT1,@.DAT2	;BIT 18, CON CACHE LOOK
≠BEQ≡≥	125672	001417				BEQ	4$		;FALSE, CACHE IS NOT ON
≥					
≠MOV≡≡$$CF≡≡R0≡≥	125674	012700	104425			MOV	#$$CF,R0
≡EXCT≡≡EXCT≡≥	125700	104101				EXCT			;EXECUTE CACHE FLUSH
≠BCS≡≥	125702	103416				  BCS	5$		;FAILED
≥					
≠MOV≡≡R1≡≥	125704	012701	001750			MOV	#1000.,R1
≡DFRDT≡≡DFRDT≡≥	125710	104140			3$:	DFRDT
≥	125712	000110				  110
≠BIT≡≡BIT2≡≡.DAT1≡≥	125714	032777	000004	031404		BIT	#BIT2,@.DAT1	;BIT 1, SWEEP BUSY ENABLE
≠BEQ≡≥	125722	001403				BEQ	4$		;FINISHED SWEEP
≠DEC≡≡R1≡≥	125724	005301				DEC	R1
≠BNE≡≥	125726	001370				BNE	3$
≠BR≡≥	125730	000403				BR	5$		;FAILED TO FINISH CACHE SWEEP
≥					
≤POP≡≥					4$:	POP	R0		;SUCESSFUL RETURN
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	125734	000137	124064			  JMP	$EXIT
≥					
≤POP≡≥					5$:	POP	R0		;FAILED RETURN
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXITER≡≥						EXITERR
≠JMP≡≡$EXITE≡≥	125742	000137	124036			  JMP	$EXITE
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 247
	SUB11 PAL[KL,SYS]	Page 47 	CLOCK INITIALIZATION, INTERRUPTS

≥						.SBTTL	CLOCK INITIALIZATION, INTERRUPTS
≠.IF≡≡SAILVR≡≥					.IF DF SAILVR
≥					
≤PUSH≡≥					CLKSTA:	PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡KWLIV≡≡R0≡≥	125750	012700	000100			MOV #KWLIV,R0
≠MOV≡≡CLKINT≡≡R0≡≥	125754	012720	126054			MOV #CLKINT,(R0)+
≠MOV≡≡CPUPR≡≡R0≡≥	125760	012710	000140			MOV #CPUPR,(R0)
≠CLR≡≡KTIMBS≡≥	125764	005037	157162			CLR KTIMBS		;ASSUME WE'RE NOT KEEPING TIMEBASE
≠MOV≡≡TIMBAS≡≡R0≡≥	125770	012700	157164			MOV #TIMBAS,R0
≠CLR≡≡R0≡≥	125774	005020				CLR (R0)+
≠CLR≡≡R0≡≥	125776	005020				CLR (R0)+
≠CLR≡≡R0≡≥	126000	005010				CLR (R0)
≠MOV≡≡TIM11≡≡R0≡≥	126002	012700	157172			MOV #TIM11,R0
≠CLR≡≡R0≡≥	126006	005020				CLR (R0)+
≠CLR≡≡R0≡≥	126010	005020				CLR (R0)+
≠CLR≡≡R0≡≥	126012	005010				CLR (R0)
≠CLR≡≡CLKFLG≡≥	126014	005037	157160			CLR CLKFLG
≠BIC≡≡KWLKS≡≥	126020	042737	000300	177546		BIC #300,KWLKS		;CLEAR CLOCK FLAG AND INTERRUPT ENABLE
≠TSTB≡≡KWLKS≡≥	126026	105737	177546		1$:	TSTB KWLKS
≠BPL≡≥	126032	100375				BPL 1$			;LOOP UNTIL CLOCK FLAG COMES ON
≠BIC≡≡KWLKS≡≥	126034	042737	000200	177546		BIC #200,KWLKS		;CLEAR CLOCK FLAG
≠BIS≡≡KWLKS≡≥	126042	052737	000100	177546		BIS #100,KWLKS		;SET INTERRUPT ENABLE.
≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTS≡≡PC≡≥	126052	000207				RTS PC
≥					
≥					
≠BIC≡≡KWLKS≡≥	126054	042737	000200	177546	CLKINT:	BIC #200,KWLKS		;CLEAR CLOCK FLAG
≠INC≡≡CLKFLG≡≥	126062	005237	157160			INC CLKFLG		;INCREMENT SOFTWARE CLOCK FLAG
≠INC≡≡TIM11≡≥	126066	005237	157172			INC TIM11
≠ADC≡≡TIM11≡≥	126072	005537	157174			ADC TIM11+2
≠ADC≡≡TIM11≡≥	126076	005537	157176			ADC TIM11+4
≠TST≡≡FSCLKA≡≥	126102	005737	152234			TST FSCLKA
≠BEQ≡≥	126106	001425				BEQ 3$			;NO FS CLOCK REQUESTS
≠CMP≡≡TIM11≡≡FSRTIM≡≥	126110	023737	157176	152232		CMP TIM11+4,FSRTIM+4
≠BGT≡≥	126116	003012				BGT 2$
≠BNE≡≥	126120	001020				BNE 3$
≠CMP≡≡TIM11≡≡FSRTIM≡≥	126122	023737	157174	152230		CMP TIM11+2,FSRTIM+2
≠BGT≡≥	126130	003005				BGT 2$
≠BNE≡≥	126132	001013				BNE 3$
≠CMP≡≡TIM11≡≡FSRTIM≡≥	126134	023737	157172	152226		CMP TIM11,FSRTIM
≠BLT≡≥	126142	002407				BLT 3$
≤PUSH≡≥					2$:	PUSH R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡FSCLKA≡≡R0≡≥	126146	013700	152234			MOV FSCLKA,R0
≠CLR≡≡FSCLKA≡≥	126152	005037	152234			CLR FSCLKA
≠JSR≡≡PC≡≡R0≡≥	126156	004710				JSR PC,@R0
≤POP≡≥						POP R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠TST≡≡KTIMBS≡≥	126162	005737	157162		3$:	TST KTIMBS
≠BEQ≡≥	126166	001406				BEQ 4$			;JUMP IF NOT KEEPING A TIMEBASE
≠INC≡≡TIMBAS≡≥	126170	005237	157164			INC TIMBAS
≠ADC≡≡TIMBAS≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 248
	SUB11 PAL[KL,SYS]	Page 47.1 	CLOCK INITIALIZATION, INTERRUPTS

≥	126174	005537	157166			ADC TIMBAS+2
≠ADC≡≡TIMBAS≡≥	126200	005537	157170			ADC TIMBAS+4
≠BIT≡≡DLRTS≡≡$FSTKS≡≥	126204	032777	000004	751616	4$:	BIT #DLRTS,@$FSTKS	;SEE IF REQUEST TO SEND IS UP (CLEARED BY INIT)
≠BNE≡≥	126212	001002				BNE 5$			;YES, HAVEN'T BEEN RESET
≠JSR≡≡PC≡≡HANGU1≡≥	126214	004737	114040			JSR PC,HANGU1
≠TST≡≡TIMFLG≡≥	126220	005737	157142		5$:	TST TIMFLG		;DOES KL WANT TIME/DATE FROM BATTERY CLOCK?
≠BEQ≡≥	126224	001406				BEQ 6$			;NO
≠BIT≡≡TIM11≡≥	126226	032737	007777	157172		BIT #7777,TIM11		;IS IT TIME YET? (EVERY 10000 TICS=1.13 SECS)
≠BNE≡≥	126234	001002				BNE 6$			;NO
≠INC≡≡TMSFLG≡≥	126236	005237	157140			INC TMSFLG		;TELL C10COP TO STORE THE TIME
≠RTT≡≠RTT≡≥	126242	000006			6$:	RTT			;DISMISS INTERRUPT
≥					
≥					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 249
	KLDCP PAL[KL,SYS]	Page 5.4 	CLOCK INITIALIZATION, INTERRUPTS

≥					
≥								;KL10 C-Ram/D-Ram functions
≠.INSRT≡≥					.INSRT	FD11.PAL		
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 250
	FD11 PALII[KL,SYS]	Page 1 	CLOCK INITIALIZATION, INTERRUPTS

≥				COMMENT ⊗   VALID 00015 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00003 00002	.SBTTL	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
≥				C00004 00003	3$:	MOV	R0,$ECADR	SAVE C-RAM ADDRESS
≥				C00006 00004	FIELD PRINT OUT, THIS IS THE C-RAM BIT FIDDLER
≥				C00008 00005	READ THE C-RAM AND PRINT ACTUAL BY E-BUS ARRANGMENT
≥				C00009 00006		JSR	PC,$$ECA	PRINT C-RAM ADDRESS
≥				C00010 00007	.SBTTL	DISPATCH RAM CONSOLE FUNCTIONS
≥				C00011 00008		TTISDO				READ "J" FIELD
≥				C00012 00009		TTISDO				READ ODD "J" FIELD
≥				C00014 00010	EXAMINE D-RAM SUBROUTINE
≥				C00015 00011	PRINT D-RAM IN LOGICAL FIELD FORMAT
≥				C00017 00012	.SBTTL	DEPOSIT C-RAM SUBROUTINE
≥				C00018 00013	C-RAM PRIMARY DECISION TABLE
≥				C00020 00014	C-RAM SECONDARY DECISION TABLES
≥				C00022 00015
≥				C00023 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 251
	FD11 PALII[KL,SYS]	Page 2 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

≥					.SBTTL	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75
≥					
≡DFLEGA≡≡DFLEGA≡≥	126244	104226			$EC:	DFLEGAL			;FUNCTION LEGAL ?
≡TTISDL≡≡TTISDL≡≥	126246	104016				TTISDL
≠BCS≡≥	126250	103402				BCS	8$		;NON-NUMBER
≥					
≡TTICRA≡≡TTICRA≡≥	126252	104021			1$:	TTICRA			;READ IN C-RAM ADDRESS
≠BR≡≥	126254	000432				BR	3$
≥					
≠BVC≡≥	126256	102005			8$:	BVC	82$
≠MOV≡≡$ECADR≡≡R0≡≥	126260	013700	147724			MOV	$ECADR,R0	;COLON, READ & LIST SAME CRAM ADDRESS
≠INC≡≡$INPTC≡≥	126264	005237	150716			INC	$INPTC
≠BR≡≥	126270	000426				BR	33$
≥					
≡TTBTRM≡≡TTBTRM≡≥	126272	104023			82$:	TTBTRM
≥					
≡$ALLEC≠≥		126274			$ALLEC=.
≡DFRDT≡≡DFRDT≡≥	126274	104140				DFRDT			;EXAMINE PRESENT C-RAM OUTPUT
≡RCRAM2≡≡RCRAM2≡≥	126276	000146				RCRAM2
≠JSR≡≡PC≡≡$ECGET≡≥	126300	004737	126452			JSR	PC,$ECGET
≤PUSH≡≥						PUSH	$ECADR
≠.NLIST≡≠.IRP≡≠MOV≡≡$ECADR≡≡SP≡≠.LIST≡≡DFRDT≡≡DFRDT≡≥	126310	104140				DFRDT			;READ HIGH ORDER BITS
≡RCRAM1≡≡RCRAM1≡≥	126312	000147				RCRAM1
≤POP≡≥						POP	R0		;LOW ORDER TO R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠JSR≡≡PC≡≡$ECGET≡≥	126316	004737	126452			JSR	PC,$ECGET
≠ASL≡≡R0≡≥	126322	006300				ASL	R0		;POSITION TO 6-0
≠ASL≡≡R0≡≥	126324	006300				ASL	R0
≠SWAB≡≡R0≡≥	126326	000300				SWAB	R0
≠BISB≡≡R0≡≡$ECADR≡≥	126330	150037	147724			BISB	R0,$ECADR	;STUFF LOW ORDER
≠MOV≡≡R0≡≥	126334	012700	777777			MOV	#-1,R0		;-1 READS CURRENT C-RAM OUTPUT
≠BR≡≥	126340	000402				BR	33$
≠MOV≡≡R0≡≡$ECADR≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 252
	FD11 PALII[KL,SYS]	Page 3 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

≥	126342	010037	147724		3$:	MOV	R0,$ECADR	;SAVE C-RAM ADDRESS
≥					
≡RCRAM≡≡RCRAM≡≥	126346	104074			33$:	RCRAM			;READ THE RAM ADDRESS
≥					
≠MOV≡≡R0≡≡$ADR1≡≥	126350	010037	147716			MOV	R0,$ADR1	;SAVE STARTING ADDRESS OF DATA LIST
≠TST≡≡ALLFLG≡≥	126354	005737	147734			TST	ALLFLG
≠BNE≡≥	126360	001025				BNE	91$
≡PCRLF≡≡PCRLF≡≥	126362	104031			9$:	PCRLF			;PRINT OCTAL VALUE OF C-RAM
≥					
≠JSR≡≡PC≡≡$$ECA≡≥	126364	004737	127026			JSR	PC,$$ECA	;PRINT C-RAM ADDRESS
≥					
≠MOV≡≡$ADR1≡≡R5≡≥	126370	013705	147716			MOV	$ADR1,R5	;GET C-RAM DATA LIST ADDRESS
≠ADD≡≡R5≡≥	126374	062705	000012			ADD	#12,R5
≠MOV≡≡R5≡≡R4≡≥	126400	011504				MOV	(R5),R4		;SAVE SPEC
≠MOV≡≡R5≡≡R0≡≥	126402	014500				MOV	-(R5),R0	;PRINT 1ST C-RAM WORD, LAST IN LIST
≡PNTOCT≡≡PNTOCT≡≥	126404	104035				PNTOCT
≥					
≠MOV≡≡R5≡≡R0≡≥	126406	014500				MOV	-(R5),R0	;PRINT 2ND C-RAM WORD
≡PNTOCT≡≡PNTOCT≡≥	126410	104035				PNTOCT
≥					
≠MOV≡≡R5≡≡R0≡≥	126412	014500				MOV	-(R5),R0	;PRINT 3RD C-RAM WORD
≡PNTOCT≡≡PNTOCT≡≥	126414	104035				PNTOCT
≥					
≠MOV≡≡R5≡≡R0≡≥	126416	014500				MOV	-(R5),R0	;PRINT 4TH C-RAM WORD
≡PNTOCT≡≡PNTOCT≡≥	126420	104035				PNTOCT
≥					
≠MOV≡≡R5≡≡R0≡≥	126422	014500				MOV	-(R5),R0	;PRINT 5TH C-RAM WORD
≡PNTOCT≡≡PNTOCT≡≥	126424	104035				PNTOCT
≥					
≠MOV≡≡R4≡≡R0≡≥	126426	010400				MOV	R4,R0		;PRINT 6TH C-RAM WORD (SPEC)
≡PNTODT≡≡PNTODT≡≥	126430	104047				PNTODT
≥	126432	000002				2
≥					
≠MOV≡≡$ECADR≡≡R0≡≥	126434	013700	147724		91$:	MOV	$ECADR,R0
≠MOV≡≡$ADR1≡≡R1≡≥	126440	013701	147716			MOV	$ADR1,R1
≡PNTCRM≡≡PNTCRM≡≥	126444	104142				PNTCRM			;PRINT C-RAM BY LOGICAL FIELDS
≠JMP≡≡ALLEXT≡≥	126446	000137	102262			JMP	ALLEXT
≥					
≠MOV≡≡.DAT2≡≡$ECADR≡≥	126452	017737	030646	147724	$ECGET:	MOV	@.DAT2,$ECADR	;GET BITS 4,5
≠MOVB≡≡.DAT1≡≡$ECADR≡≥	126460	117737	030642	147724		MOVB	@.DAT1,$ECADR	;GET BITS 0-3
≠SWAB≡≡$ECADR≡≥	126466	000337	147724			SWAB	$ECADR
≠BIC≡≡$ECADR≡≥	126472	042737	170077	147724		BIC	#170077,$ECADR
≠RTS≡≡PC≡≥	126500	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 253
	FD11 PALII[KL,SYS]	Page 4 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

≥					;FIELD PRINT OUT, THIS IS THE C-RAM BIT FIDDLER
≥					
≠MOV≡≡R0≡≡$ECADR≡≥	126502	010037	147724		$PCRAM:	MOV	R0,$ECADR
≠MOV≡≡R1≡≡$ADR1≡≥	126506	010137	147716			MOV	R1,$ADR1
≥					
≤PMSG≡≥					91$: PMSG <\ LOC/  J  T AR  AD BR MQ FM SCAD SC FE SH  # VMA MEM COND SPEC M\>
≡$PMSG≡≡$PMSG≡≥	126512	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	126514	146464				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≠JSR≡≡PC≡≡$$ECA≡≥	126516	004737	127026			JSR	PC,$$ECA	;PRINT C-RAM ADDRESS
≥					
≠MOV≡≡$CRMD0≡≡R5≡≥	126522	012705	130062		$DCTPC:	MOV	#$CRMD0,R5	;GET PRIMARY DECISION TABLE ADDRESS
≠CLR≡≡R0≡≥	126526	005000			$DCTP1:	CLR	R0	
≠MOV≡≡R5≡≡R4≡≥	126530	012504				MOV	(R5)+,R4	;R4=SECONDARY DECISION TABLE ADDRESS
≠BEQ≡≡$END≡≥	126532	001426				BEQ	$END		;WOW WE MADE IT TO THE END
≥					
≠MOVB≡≡R4≡≡R3≡≥	126534	112403			2$:	MOVB	(R4)+,R3	;GET A BYTE FROM SECONDARY TABLE
≠BEQ≡≡$NEXT≡≥	126536	001416				BEQ	$NEXT		;GET NEXT FIELD
≠MOVB≡≡R3≡≡R2≡≥	126540	110302				MOVB	R3,R2		;CALCULATE BYTE LOCATION
≠ASRB≡≡R3≡≥	126542	106203				ASRB	R3		;/2
≠ASRB≡≡R3≡≥	126544	106203				ASRB	R3		;/4
≠ASRB≡≡R3≡≥	126546	106203				ASRB	R3		;/8
≠ADD≡≡$ADR1≡≡R3≡≥	126550	063703	147716			ADD	$ADR1,R3
≠MOVB≡≡R3≡≡R3≡≥	126554	111303				MOVB	(R3),R3		;FETCH THE DATA BYTE
≠BICB≡≡R2≡≥	126556	142702	000370			BICB	#370,R2		;R2=BIT LOCATION
≠ASRB≡≡R3≡≥	126562	106203			3$:	ASRB	R3		;CALCULATE BIT LOCATION
≠DEC≡≡R2≡≥	126564	005302				DEC	R2		;FOUND BIT YET
≠BGE≡≥	126566	002375				BGE	3$
≠ROL≡≡R0≡≥	126570	006100				ROL	R0		;PLACE BIT IN R0
≠BR≡≥	126572	000760				BR	2$
≥					
≠MOVB≡≡R5≡≡R1≡≥	126574	112501			$NEXT:	MOVB	(R5)+,R1	;R1=OCTAL CHARACTERS IN NUMBER
≡PNTODC≡≡PNTODC≡≥	126576	104046				PNTODC			;PRINT THE NUMBER
≠MOVB≡≡R5≡≡R1≡≥	126600	112501				MOVB	(R5)+,R1	;R1=POST SPACING PARAMETER
≠JSR≡≡PC≡≡$PNTSP≡≥	126602	004737	117776			JSR	PC,$PNTSPC
≠BR≡≡$DCTP1≡≥	126606	000747				BR	$DCTP1
≠MOV≡≡$ADR1≡≡R5≡≥	126610	013705	147716		$END:	MOV	$ADR1,R5	;SPECIAL PRINT OF SPEC FIELD
≠MOVB≡≡R5≡≡R0≡≥	126614	116500	000012			MOVB	12(R5),R0
≡PNTODT≡≡PNTODT≡≥	126620	104047				PNTODT
≥	126622	000002				2
≡PSPACE≡≡PSPACE≡≥	126624	104032				PSPACE
≠MOVB≡≡R5≡≡R0≡≥	126626	116500	000004			MOVB	4(R5),R0
≡SHIFTR≡≡SHIFTR≡≥	126632	104053				SHIFTR
≥	126634	000004				4
≠BIC≡≡R0≡≥	126636	042700	177776			BIC	#177776,R0
≡PNTOCS≡≡PNTOCS≡≥	126642	104036				PNTOCS
≠TST≡≡ALLFLG≡≥	126644	005737	147734			TST	ALLFLG
≠BEQ≡≥	126650	001401				BEQ	1$
≡PCRLF≡≡PCRLF≡≥	126652	104031				PCRLF
≤EXIT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 254
	FD11 PALII[KL,SYS]	Page 4.1 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

≥					1$:	EXIT
≠JMP≡≡$EXIT≡≥	126654	000137	124064			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 255
	FD11 PALII[KL,SYS]	Page 5 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

≥					;READ THE C-RAM AND PRINT ACTUAL BY E-BUS ARRANGMENT
≥					
≡DFLEGA≡≡DFLEGA≡≥	126660	104226			$RC:	DFLEGAL			;FUNCTION LEGAL ?
≡TTISDL≡≡TTISDL≡≥	126662	104016				TTISDL
≠BCS≡≥	126664	103443				BCS	3$		;NON-NUMBER
≠BR≡≥	126666	000426				BR	2$		;NUMBER, MUST BE ADDRESS
≥					
≠MOV≡≡RCRAM1≡≡R0≡≥	126670	012700	000147		1$:	MOV	#RCRAM1,R0
≠JSR≡≡R5≡≡$RCP≡≥	126674	004537	127010			JSR	R5,$RCP		;FIRST 36
≠MOV≡≡RCRAM2≡≡R0≡≥	126700	012700	000146			MOV	#RCRAM2,R0
≠JSR≡≡R5≡≡$RCP≡≥	126704	004537	127010			JSR	R5,$RCP		;2ND 36
≠MOV≡≡RCRAM3≡≡R0≡≥	126710	012700	000145			MOV	#RCRAM3,R0
≠JSR≡≡R5≡≡$RCP≡≥	126714	004537	127010			JSR	R5,$RCP		;3RD 36
≠MOV≡≡RCRAM4≡≡R0≡≥	126720	012700	000144			MOV	#RCRAM4,R0
≠JSR≡≡R5≡≡$RCP≡≥	126724	004537	127010			JSR	R5,$RCP		;4TH 36
≠TST≡≡RPTFLG≡≥	126730	005737	147732			TST	RPTFLG
≠BNE≡≥	126734	001001				BNE	11$
≡PCRLF≡≡PCRLF≡≥	126736	104031				PCRLF
≠JMP≡≡$KONSL≡≥	126740	000137	100230		11$:	JMP	$KONSL
≥					
≡TTICRA≡≡TTICRA≡≥	126744	104021			2$:	TTICRA			;GET C-RAM ADDRESS
≠MOV≡≡R0≡≡$ECADR≡≥	126746	010037	147724			MOV	R0,$ECADR
≠MOV≡≡$ECADR≡≡R0≡≥	126752	013700	147724		5$:	MOV	$ECADR,R0
≥					
≡WWADR≡≡WWADR≡≥	126756	104075				WWADR			;WRITE C-RAM ADDRESS
≥					
≡DFSCLK≡≡DFSCLK≡≥	126760	104122				DFSCLK
≡DFSCLK≡≡DFSCLK≡≥	126762	104122				DFSCLK
≠JSR≡≡PC≡≡$$ECA≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 256
	FD11 PALII[KL,SYS]	Page 6 	CONTROL RAM CONSOLE FUNCTIONS, 9-SEPTEMBER-75

≥	126764	004737	127026			JSR	PC,$$ECA	;PRINT C-RAM ADDRESS
≡PSPACE≡≡PSPACE≡≥	126770	104032				PSPACE
≥					
≠BR≡≥	126772	000736				BR	1$
≥					
≠BVC≡≥	126774	102003			3$:	BVC	32$
≠INC≡≡$INPTC≡≥	126776	005237	150716			INC	$INPTC		;COLON, READ SAME C-RAM ADDRESS
≠BR≡≥	127002	000763				BR	5$
≥					
≡TTBTRM≡≡TTBTRM≡≥	127004	104023			32$:	TTBTRM			;READ PRESENT C-RAM ADDRESS
≠BR≡≥	127006	000730				BR	1$
≥					
≠MOV≡≡.DFRDA≡≡R1≡≥	127010	012701	147710		$RCP:	MOV	#.DFRDA,R1
≡DFRDMV≡≡DFRDMV≡≥	127014	104117				DFRDMV			;READ C-RAM
≥					
≠MOV≡≡R1≡≡R0≡≥	127016	010100				MOV	R1,R0
≡PNT36≡≡PNT36≡≥	127020	104042				PNT36			;PRINT IT
≡PSPACE≡≡PSPACE≡≥	127022	104032				PSPACE
≠RTS≡≡R5≡≥	127024	000205			1$:	RTS	R5
≥					
≥					;PRINT C-RAM ADDRESS
≥					
≠MOV≡≡$ECADR≡≡R0≡≥	127026	013700	147724		$$ECA:	MOV	$ECADR,R0
≡PNTODT≡≡PNTODT≡≥	127032	104047				PNTODT
≥	127034	000004				4
≡PSLASH≡≡PSLASH≡≥	127036	104033				PSLASH
≠RTS≡≡PC≡≥	127040	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 257
	FD11 PALII[KL,SYS]	Page 7 	DISPATCH RAM CONSOLE FUNCTIONS

≥					.SBTTL	DISPATCH RAM CONSOLE FUNCTIONS
≥					
≥					;LOAD D-RAM SUBROUTINE
≥					
≠JMP≡≡$PARAM≡≥	127042	000137	113452		$DDNPR:	JMP	$PARAM
≥					
≡DFLEGA≡≡DFLEGA≡≥	127046	104226			$DD:	DFLEGAL			;FUNCTION LEGAL ?
≡TTISDO≡≡TTISDO≡≥	127050	104017				TTISDO			;GET THE ADDRESS
≠BIT≡≡R0≡≥	127052	032700	000001			BIT	#1,R0
≠BNE≡≥	127056	001005				BNE	98$		;MUST BE EVEN ADDRESS
≥					
≠MOV≡≡R0≡≡$ADR≡≥	127060	010037	147720			MOV	R0,$ADR		;SAVE THE ADDRESS
≥					
≠CMP≡≡R0≡≥	127064	020027	000776			CMP	R0,#776		;TEST ADDRESS SIZE
≠BLE≡≥	127070	003402				BLE	2$
≠JMP≡≡ADRERR≡≥	127072	000137	113350		98$:	JMP	ADRERR
≥					
≡TTIBRK≡≡TTIBRK≡≥	127076	104015			2$:	TTIBRK			;READ A CHARACTER
≠BCS≡≡$DDNPR≡≥	127100	103760				BCS	$DDNPR		;NO COLON
≥					
≠CMPB≡≡R0≡≥	127102	120027	000072			CMPB	R0,#':		;IS IT A COLON
≠BEQ≡≥	127106	001403				BEQ	21$
≠CMPB≡≡R0≡≥	127110	120027	000057			CMPB	R0,#'/
≠BNE≡≡$DDNPR≡≥	127114	001352				BNE	$DDNPR
≥					
≠JSR≡≡PC≡≡$DDA≡≥	127116	004737	127434		21$:	JSR	PC,$DDA		;READ A FIELD
≠MOV≡≡R0≡≡$DRAM≡≥	127122	010037	147462			MOV	R0,$DRAM	;STORE "A" FIELD
≥					
≠JSR≡≡PC≡≡$DDB≡≥	127126	004737	127450			JSR	PC,$DDB
≠BIS≡≡R0≡≡$DRAM≡≥	127132	050037	147462			BIS	R0,$DRAM	;STORE "B" FIELD
≥					
≡TTISDO≡≡TTISDO≡≥	127136	104017				TTISDO			;READ "P" FIELD
≠BIC≡≡R0≡≥	127140	042700	177776			BIC	#177776,R0	;SAVE "P" FIELD
≥					
≡SHIFTL≡≡SHIFTL≡≥	127144	104054				SHIFTL
≥	127146	000005				  5
≠BIS≡≡R0≡≡$DRAM≡≥	127150	050037	147462			BIS	R0,$DRAM
≡TTISDO≡≡TTISDO≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 258
	FD11 PALII[KL,SYS]	Page 8 	DISPATCH RAM CONSOLE FUNCTIONS

≥	127154	104017				TTISDO				;READ "J" FIELD
≥					
≠CMP≡≡R0≡≥	127156	020027	001777			CMP	R0,#1777
≠BLE≡≥	127162	003404				BLE	3$
≡$DDSIZ≠≥		127164			$DDSIZ=.
≤PMSG≡≥						PMSG	<\J SIZE ERR>
≡$PMSG≡≡$PMSG≡≥	127164	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	127166	146567				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	127170	000137	100004			JMP	$CNTLC
≥					
≠MOV≡≡R0≡≡$DRAM≡≥	127174	010037	147470		3$:	MOV	R0,$DRAM+6		;SAVE FOR COMMON
≠BIC≡≡R0≡≥	127200	042700	177760			BIC	#177760,R0
≠BIS≡≡R0≡≡$DRAM≡≥	127204	050037	147462			BIS	R0,$DRAM		;SAVE "J" EVEN
≥					
≥					;DONE WITH EVEN NOW PROMPT FOR ODD
≥					
≤PMSG≡≥					$DRAMO:	PMSG	< DD >			;PROMPT
≡$PMSG≡≡$PMSG≡≥	127210	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	127212	146603				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡$ADR≡≡R0≡≥	127214	013700	147720			MOV	$ADR,R0			;ODD ADDRESS
≠INC≡≡R0≡≥	127220	005200				INC	R0
≥					
≡PNTOCS≡≡PNTOCS≡≥	127222	104036				PNTOCS
≥					
≤PMSG≡≥						PMSG	<:←>			;PRINT COLON, OUTPUT
≡$PMSG≡≡$PMSG≡≥	127224	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	127226	146610				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≡TTILIN≡≡TTILIN≡≥	127230	104004				TTILIN
≠BCS≡≡$DDNPR≡≥	127232	103703				BCS	$DDNPR
≥					
≠JSR≡≡PC≡≡$DDA≡≥	127234	004737	127434			JSR	PC,$DDA			;READ ODD "A" FIELD
≠MOV≡≡R0≡≡$DRAM≡≥	127240	010037	147464			MOV	R0,$DRAM+2		;INSERT ODD "A" FIELD
≥					
≠JSR≡≡PC≡≡$DDB≡≥	127244	004737	127450			JSR	PC,$DDB			;READ ODD "B" FIELD
≠BIS≡≡R0≡≡$DRAM≡≥	127250	050037	147464			BIS	R0,$DRAM+2
≥					
≡TTISDO≡≡TTISDO≡≥	127254	104017				TTISDO				;READ ODD "P" FIELD
≥					
≠BIC≡≡R0≡≥	127256	042700	177776			BIC	#177776,R0
≥					
≡SHIFTL≡≡SHIFTL≡≥	127262	104054				SHIFTL
≥	127264	000005				  5
≠BIS≡≡R0≡≡$DRAM≡≥	127266	050037	147464			BIS	R0,$DRAM+2
≡TTISDO≡≡TTISDO≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 259
	FD11 PALII[KL,SYS]	Page 9 	DISPATCH RAM CONSOLE FUNCTIONS

≥	127272	104017				TTISDO				;READ ODD "J" FIELD
≥					
≠CMP≡≡R0≡≥	127274	020027	001777			CMP	R0,#1777
≠BGT≡≡$DDSIZ≡≥	127300	003331				BGT	$DDSIZ
≥					
≠MOV≡≡R0≡≡$DRAM≡≥	127302	010037	147472		1$:	MOV	R0,$DRAM+10		;SAVE FOR COMMON
≠BIC≡≡R0≡≥	127306	042700	177760			BIC	#177760,R0
≠BIS≡≡R0≡≡$DRAM≡≥	127312	050037	147464			BIS	R0,$DRAM+2		;SAVE "J" ODD
≠BIC≡≡$DRAM≡≥	127316	042737	000017	147470		BIC	#17,$DRAM+6
≠BIC≡≡$DRAM≡≥	127324	042737	000017	147472		BIC	#17,$DRAM+10
≠CMP≡≡$DRAM≡≡$DRAM≡≥	127332	023737	147470	147472		CMP	$DRAM+6,$DRAM+10  ;ARE BOTH COMMONS THE SAME ?
≠BEQ≡≥	127340	001410				BEQ	2$
≠CMP≡≡$ADR≡≥	127342	022737	000254	147720		CMP	#254,$ADR	;IS THIS JRST/JFCL ?
≠BEQ≡≥	127350	001404				BEQ	2$		;YES, COMMONS MAY BE DIFFERENT
≤PMSG≡≥						PMSG	<\J CMN ERR>
≡$PMSG≡≡$PMSG≡≥	127352	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	127354	146613				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	127356	000137	100004			JMP	$CNTLC
≥					
≠MOV≡≡$DRAM≡≡R0≡≥	127362	013700	147472		2$:	MOV	$DRAM+10,R0	;USE ODD COMMON
≥					
≤SR≡≥						SR	R0,6
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠ASR≡≡R0≡≠.LIST≡≠MOV≡≡R0≡≡$DRAM≡≥	127402	010037	147466			MOV	R0,$DRAM+4	;INSERT "J" COMMON
≥					
≠MOV≡≡$ADR≡≡R0≡≥	127406	013700	147720			MOV	$ADR,R0		
≠MOV≡≡$DRAM≡≡R1≡≥	127412	012701	147462			MOV	#$DRAM,R1
≥					
≡MRESET≡≡MRESET≡≥	127416	104076				MRESET
≥					
≡WDRAM≡≡WDRAM≡≥	127420	104127				WDRAM			;WRITE THE D-RAM
≥					
≡PCRLF≡≡PCRLF≡≥	127422	104031				PCRLF
≠JMP≡≡$KONSL≡≥	127424	000137	100230			JMP	@#$KONSL
≥					
≠JMP≡≡$OCTN≡≥	127430	000137	113452		99$:	JMP	$OCTN
≥					
≡TTISDO≡≡TTISDO≡≥	127434	104017			$DDA:	TTISDO			;READ "A" FIELD
≡SHIFTL≡≡SHIFTL≡≥	127436	104054				SHIFTL
≥	127440	000013				  11.
≠BIC≡≡R0≡≥	127442	042700	143777			BIC	#143777,R0
≠RTS≡≡PC≡≥	127446	000207				RTS	PC
≥					
≡TTISDO≡≡TTISDO≡≥	127450	104017			$DDB:	TTISDO			;READ "B" FIELD
≡SHIFTL≡≡SHIFTL≡≥	127452	104054				SHIFTL
≥	127454	000010				  8.
≠BIC≡≡R0≡≥	127456	042700	174377			BIC	#174377,R0
≠RTS≡≡PC≡≥	127462	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 260
	FD11 PALII[KL,SYS]	Page 10 	DISPATCH RAM CONSOLE FUNCTIONS

≥					;EXAMINE D-RAM SUBROUTINE
≥					
≠JMP≡≡$OCTN≡≥	127464	000137	113452		$EDNOA:	JMP	$OCTN
≠JMP≡≡ADRERR≡≥	127470	000137	113350		$EDODD:	JMP	ADRERR
≥					
≡DFLEGA≡≡DFLEGA≡≥	127474	104226			$ED:	DFLEGAL			;FUNCTION LEGAL ?
≡TTISDL≡≡TTISDL≡≥	127476	104016				TTISDL
≠BCS≡≥	127500	103413				BCS	5$
≥					
≡TTISDO≡≡TTISDO≡≥	127502	104017				TTISDO			;READ THE ADDRESS
≠BIT≡≡R0≡≥	127504	032700	000001			BIT	#1,R0
≠BNE≡≡$EDODD≡≥	127510	001367				BNE	$EDODD		;MUST BE EVEN ADDRESS
≠MOV≡≡R0≡≡$EDADR≡≥	127512	010037	147722			MOV	R0,$EDADR
≠CMP≡≡R0≡≥	127516	020027	000777		4$:	CMP	R0,#777		;TEST FOR HIGHEST ADDRESS
≠BLE≡≥	127522	003414				BLE	2$
≠JMP≡≡ADRERR≡≥	127524	000137	113350		41$:	JMP	ADRERR
≥					
≠BVC≡≥	127530	102005			5$:	BVC	52$
≠MOV≡≡$EDADR≡≡R0≡≥	127532	013700	147722		51$:	MOV	$EDADR,R0	;COLON, EXAMINE SAME DRAM ADDRESS
≠INC≡≡$INPTC≡≥	127536	005237	150716			INC	$INPTC
≠BR≡≥	127542	000765				BR	4$
≥					
≡TTBTRM≡≡TTBTRM≡≥	127544	104023			52$:	TTBTRM
≠MOV≡≡$EDADR≡≡R0≡≥	127546	013700	147722			MOV	$EDADR,R0
≠BR≡≥	127552	000761				BR	4$
≥					
≠MOV≡≡R0≡≡$EDADR≡≥	127554	010037	147722		2$:	MOV	R0,$EDADR
≥					
≡MRESET≡≡MRESET≡≥	127560	104076				MRESET
≥					
≡RDRAM≡≡RDRAM≡≥	127562	104126				RDRAM			;READ D-RAM
≥					
≠MOV≡≡R0≡≡R1≡≥	127564	010001				MOV	R0,R1
≠MOV≡≡$EDADR≡≡R0≡≥	127566	013700	147722			MOV	$EDADR,R0
≥					
≡PNTDRM≡≡PNTDRM≡≥	127572	104143				PNTDRM			;PRINT D-RAM
≥					
≠JMP≡≡$KONSL≡≥	127574	000137	100230			JMP	$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 261
	FD11 PALII[KL,SYS]	Page 11 	DISPATCH RAM CONSOLE FUNCTIONS

≥					;PRINT D-RAM IN LOGICAL FIELD FORMAT
≥					
≠MOV≡≡R0≡≡R5≡≥	127600	010005			$PDRAM:	MOV	R0,R5
≤PMSG≡≥						PMSG	<\ADR: A B P J\>
≡$PMSG≡≡$PMSG≡≥	127602	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	127604	146626				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≠MOV≡≡R1≡≡R0≡≥	127606	016100	000004			MOV	4(R1),R0	;POSITION COMMON J-FIELD
≡SHIFTL≡≡SHIFTL≡≥	127612	104054				SHIFTL
≥	127614	000006				6			;FOR PRINTING
≠MOV≡≡R0≡≡R2≡≥	127616	010002				MOV	R0,R2
≥					
≠CLR≡≡R4≡≥	127620	005004				CLR	R4
≥					
≠MOV≡≡R5≡≡R0≡≥	127622	010500			1$:	MOV	R5,R0		;PRINT D-RAM ADDRESS
≡PNTODT≡≡PNTODT≡≥	127624	104047				PNTODT
≥	127626	000003				3
≡PSLASH≡≡PSLASH≡≥	127630	104033				PSLASH
≡PSPACE≡≡PSPACE≡≥	127632	104032				PSPACE
≥					
≠MOV≡≡R1≡≡R0≡≥	127634	011100				MOV	(R1),R0		;PRINT A-FIELD
≡SHIFTR≡≡SHIFTR≡≥	127636	104053				SHIFTR
≥	127640	000013				11.
≡PNTNBR≡≡PNTNBR≡≥	127642	104030				PNTNBR
≡PSPACE≡≡PSPACE≡≥	127644	104032				PSPACE
≥					
≠MOV≡≡R1≡≡R0≡≥	127646	011100				MOV	(R1),R0		;PRINT B-FIELD
≡SHIFTR≡≡SHIFTR≡≥	127650	104053				SHIFTR
≥	127652	000010				8.
≡PNTNBR≡≡PNTNBR≡≥	127654	104030				PNTNBR
≡PSPACE≡≡PSPACE≡≥	127656	104032				PSPACE
≥					
≠MOV≡≡R1≡≡R0≡≥	127660	011100				MOV	(R1),R0		;PRINT PARITY
≡SHIFTR≡≡SHIFTR≡≥	127662	104053				SHIFTR
≥	127664	000005				5
≠BIC≡≡R0≡≥	127666	042700	177776			BIC	#177776,R0
≡PNTNBR≡≡PNTNBR≡≥	127672	104030				PNTNBR
≡PSPACE≡≡PSPACE≡≥	127674	104032				PSPACE
≥					
≠MOV≡≡R1≡≡R0≡≥	127676	012100				MOV	(R1)+,R0	;PRINT J-FIELD
≠BIC≡≡R0≡≥	127700	042700	177760			BIC	#177760,R0
≠BIS≡≡R2≡≡R0≡≥	127704	050200				BIS	R2,R0
≡PNTODT≡≡PNTODT≡≥	127706	104047				PNTODT
≥	127710	000004				4
≥					
≡PCRLF≡≡PCRLF≡≥	127712	104031				PCRLF
≠TST≡≡R4≡≥	127714	005704				TST	R4		;COMPLETED D-RAM PAIR ?
≠BNE≡≥	127716	001003				BNE	2$
≥					
≠INC≡≡R4≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 262
	FD11 PALII[KL,SYS]	Page 11.1 	DISPATCH RAM CONSOLE FUNCTIONS

≥	127720	005204				INC	R4		;NO, SET FLAG
≠INC≡≡R5≡≥	127722	005205				INC	R5		;SETUP ODD ADDRESS
≠BR≡≥	127724	000736				BR	1$		;GO DO ODD PRINTOUT
≥					
≤EXIT≡≥					2$:	EXIT
≠JMP≡≡$EXIT≡≥	127726	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 263
	FD11 PALII[KL,SYS]	Page 12 	DEPOSIT C-RAM SUBROUTINE

≥					.SBTTL	DEPOSIT C-RAM SUBROUTINE
≥					
≠JMP≡≡$PARAM≡≥	127732	000137	113452		$DCNCL:	JMP	$PARAM
≥					
≡DFLEGA≡≡DFLEGA≡≥	127736	104226			$DC:	DFLEGAL			;FUNCTION LEGAL ?
≡TTICRA≡≡TTICRA≡≥	127740	104021				TTICRA
≠MOV≡≡R0≡≡$ADR≡≥	127742	010037	147720		2$:	MOV	R0,$ADR		;SAVE ADDRESS
≡TTIBRK≡≡TTIBRK≡≥	127746	104015				TTIBRK			;GET THE COLON
≠BCS≡≡$DCNCL≡≥	127750	103770				BCS	$DCNCL
≠CMPB≡≡R0≡≥	127752	120027	000072			CMPB	R0,#':
≠BEQ≡≥	127756	001403				BEQ	20$
≠CMPB≡≡R0≡≥	127760	120027	000057			CMPB	R0,#'/
≠BNE≡≡$DCNCL≡≥	127764	001362				BNE	$DCNCL		;NO COLON
≠MOV≡≡$TTSAV≡≡R5≡≥	127766	012705	150004		20$:	MOV	#$TTSAV,R5	;CLEAR STORAGE
≠CLR≡≡R5≡≥	127772	005025				CLR	(R5)+
≠CLR≡≡R5≡≥	127774	005025				CLR	(R5)+
≠CLR≡≡R5≡≥	127776	005025				CLR	(R5)+
≠CLR≡≡R5≡≥	130000	005025				CLR	(R5)+
≠CLR≡≡R5≡≥	130002	005025				CLR	(R5)+
≠CLR≡≡R5≡≥	130004	005015				CLR	(R5)
≠MOV≡≡R4≡≥	130006	012704	000005			MOV	#5,R4
≡TTISDL≡≡TTISDL≡≥	130012	104016			4$:	TTISDL
≠BCS≡≥	130014	103413				BCS	3$		;USE 0'S AFTER FIRST NON-NUMBER
≡TTCOCT≡≡TTCOCT≡≥	130016	104010				TTCOCT
≠MOV≡≡R0≡≡R5≡≥	130020	010045				MOV	R0,-(R5)
≠DEC≡≡R4≡≥	130022	005304				DEC	R4
≠BNE≡≥	130024	001372				BNE	4$
≡TTISDL≡≡TTISDL≡≥	130026	104016				TTISDL
≠BCS≡≥	130030	103405				BCS	3$
≡TTCOCT≡≡TTCOCT≡≥	130032	104010				TTCOCT
≠BIC≡≡R0≡≥	130034	042700	177740			BIC	#177740,R0
≠MOV≡≡R0≡≡$TTSAV≡≥	130040	010037	150016			MOV	R0,$TTSAV+12
≠MOV≡≡$ADR≡≡R0≡≥	130044	013700	147720		3$:	MOV	$ADR,R0
≠MOV≡≡$TTSAV≡≡R1≡≥	130050	012701	150004			MOV	#$TTSAV,R1
≡WCRAM≡≡WCRAM≡≥	130054	104073				WCRAM
≠JMP≡≡$KONSL≡≥	130056	000137	100230			JMP	@#$KONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 264
	FD11 PALII[KL,SYS]	Page 13 	DEPOSIT C-RAM SUBROUTINE

≥					;C-RAM PRIMARY DECISION TABLE
≥					;
≠.WORD≡≡$FJ≡≥	130062	130160			$CRMD0:	.WORD	$FJ			;J FIELD
≠.BYTE≡≥	130064	   004		
≥	130065	   001				.BYTE	4,1			;CHARACTERS , POST SPACING
≥					
≠.WORD≡≡$FT≡≥	130066	130174				.WORD	$FT			;T FIELD
≠.BYTE≡≥	130070	   001		
≥	130071	   001				.BYTE	1,1
≥					
≠.WORD≡≡$FAR≡≥	130072	130200				.WORD	$FAR			;AR FIELD
≠.BYTE≡≥	130074	   002		
≥	130075	   001				.BYTE	2,1
≥					
≠.WORD≡≡$FAD≡≥	130076	130210				.WORD	$FAD			;AD FIELD
≠.BYTE≡≥	130100	   004		
≥	130101	   001				.BYTE	4,1
≥					
≠.WORD≡≡$FBR≡≥	130102	130224				.WORD	$FBR			;BR FIELD
≠.BYTE≡≥	130104	   001		
≥	130105	   002				.BYTE	1,2
≥					
≠.WORD≡≡$FMQ≡≥	130106	130230				.WORD	$FMQ			;MQ FIELD
≠.BYTE≡≥	130110	   001		
≥	130111	   002				.BYTE	1,2
≥					
≠.WORD≡≡$FFM≡≥	130112	130232				.WORD	$FFM			;FM FIELD
≠.BYTE≡≥	130114	   001		
≥	130115	   002				.BYTE	1,2
≥					
≠.WORD≡≡$FSCAD≡≥	130116	130236				.WORD	$FSCAD			;SCAD FIELD
≠.BYTE≡≥	130120	   003		
≥	130121	   002				.BYTE	3,2
≥					
≠.WORD≡≡$FSC≡≥	130122	130250				.WORD	$FSC			;SC FIELD
≠.BYTE≡≥	130124	   001		
≥	130125	   002				.BYTE	1,2
≥					
≠.WORD≡≡$FFE≡≥	130126	130252				.WORD	$FFE			;FE FIELD
≠.BYTE≡≥	130130	   001		
≥	130131	   002				.BYTE	1,2
≥					
≠.WORD≡≡$FSH≡≥	130132	130254				.WORD	$FSH			;SH FIELD
≠.BYTE≡≥	130134	   001		
≥	130135	   001				.BYTE	1,1
≥					
≠.WORD≡≡$FNUM≡≥	130136	130260				.WORD	$FNUM			;NUM FIELD
≠.BYTE≡≥	130140	   003		
≥	130141	   002				.BYTE	3,2
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 265
	FD11 PALII[KL,SYS]	Page 13.1 	DEPOSIT C-RAM SUBROUTINE

≥					
≠.WORD≡≡$FVMA≡≥	130142	130272				.WORD	$FVMA			;VMA FIELD
≠.BYTE≡≥	130144	   001		
≥	130145	   002				.BYTE	1,2
≥					
≠.WORD≡≡$FMEM≡≥	130146	130276				.WORD	$FMEM			;MEM FIELD
≠.BYTE≡≥	130150	   002		
≥	130151	   003				.BYTE	2,3
≥					
≠.WORD≡≡$FCOND≡≥	130152	130304				.WORD	$FCOND			;COND FIELD
≠.BYTE≡≥	130154	   002		
≥	130155	   003				.BYTE	2,3
≥					
≠.WORD≡≥	130156	000000				.WORD	0			;END OF TABLE WORD
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 266
	FD11 PALII[KL,SYS]	Page 14 	DEPOSIT C-RAM SUBROUTINE

≥					;C-RAM SECONDARY DECISION TABLES
≥					
≠.BYTE≡≥	130160	   112		
≥	130161	   111			$FJ:	.BYTE	74.,73.		;J00(5), J01(6)
≠.BYTE≡≥	130162	   110		
≥	130163	   107				.BYTE	72.,71.		;J02(7), J03(8)
≠.BYTE≡≥	130164	   106		
≥	130165	   105				.BYTE	70.,69.		;J04(9), J05(10)
≠.BYTE≡≥	130166	   104		
≥	130167	   103				.BYTE	68.,67.		;J06(11), J07(12)
≠.BYTE≡≥	130170	   102		
≥	130171	   101				.BYTE	66.,65.		;J08(13), J09(14)
≠.BYTE≡≥	130172	   100		
≥	130173	   000				.BYTE	64.,0		;J10(15)
≥					
≠.BYTE≡≥	130174	   003		
≥	130175	   001			$FT:	.BYTE	3.,1.		;T00(76), T01(78)
≠.BYTE≡≥	130176	   000		
≥	130177	   000				.BYTE	0,0
≥					
≠.BYTE≡≥	130200	   053		
≥	130201	   013			$FAR:	.BYTE	43.,11.		;ARXM SEL4(36), ARXM SEL2(68)
≠.BYTE≡≥	130202	   011		
≥	130203	   042				.BYTE	9.,34.		;ARXM SEL1(70), ARM SEL4(45)
≠.BYTE≡≥	130204	   017		
≥	130205	   015				.BYTE	15.,13.		;ARM SEL2(64), ARM SEL1(66)
≠.BYTE≡≥	130206	   000		
≥	130207	   000				.BYTE	0,0
≥					
≠.BYTE≡≥	130210	   063		
≥	130211	   057			$FAD:	.BYTE	51.,47.		;ADB SEL2(28), ADB SEL1(32)
≠.BYTE≡≥	130212	   066		
≥	130213	   065				.BYTE	54.,53.		;ADA DIS(25), ADA SEL2(26)
≠.BYTE≡≥	130214	   064		
≥	130215	   005				.BYTE	52.,5.		;ADA SEL1(27), AD CRY(74)
≠.BYTE≡≥	130216	   067		
≥	130217	   073				.BYTE	55.,59.		;AD BOOLE(24), AD SEL 8 (20)
≠.BYTE≡≥	130220	   072		
≥	130221	   071				.BYTE	58.,57.		;AD SEL 4 (21), AD SEL 2 (22)
≠.BYTE≡≥	130222	   070		
≥	130223	   000				.BYTE	56.,0		;AD SEL 1 (23)
≥					
≠.BYTE≡≥	130224	   031		
≥	130225	   033			$FBR:	.BYTE	25.,27.		;BRX LOAD(54), BR LOAD(52)
≠.BYTE≡≥	130226	   000		
≥	130227	   000				.BYTE	0,0
≥					
≠.BYTE≡≥	130230	   077		
≥	130231	   000			$FMQ:	.BYTE	63.,0		;MQ SEL(16)
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 267
	FD11 PALII[KL,SYS]	Page 14.1 	DEPOSIT C-RAM SUBROUTINE

≥					
≠.BYTE≡≥	130232	   027		
≥	130233	   026			$FFM:	.BYTE	23.,22.		;FM ADR SEL4(56), FM ADR SEL2(57)
≠.BYTE≡≥	130234	   025		
≥	130235	   000				.BYTE	21.,0		;FM ADR SEL1(58)
≥					
≠.BYTE≡≥	130236	   045		
≥	130237	   023			$FSCAD:	.BYTE	37.,19.		;SCADB SEL2(42), SCADB SEL1(60)
≠.BYTE≡≥	130240	   117		
≥	130241	   047				.BYTE	79.,39.		;SCADA DIS(0), SCADA SEL2(40)
≠.BYTE≡≥	130242	   046		
≥	130243	   116				.BYTE	38.,78.		;SCADA SEL1(41), SCAD 4(1)
≠.BYTE≡≥	130244	   115		
≥	130245	   114				.BYTE	77.,76.		;SCAD 2(2), SCAD 1(3)
≠.BYTE≡≥	130246	   000		
≥	130247	   000				.BYTE	0,0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 268
	FD11 PALII[KL,SYS]	Page 15 	DEPOSIT C-RAM SUBROUTINE

≥					
≠.BYTE≡≥	130250	   021		
≥	130251	   000			$FSC:	.BYTE	17.,0		;SCM SEL 2(62)
≥					
≠.BYTE≡≥	130252	   113		
≥	130253	   000			$FFE:	.BYTE	75.,0		;FE LOAD(4)
≥					
≠.BYTE≡≥	130254	   041		
≥	130255	   040			$FSH:	.BYTE	33.,32.		;SH/ARMM SEL2(46), SH/ARMM SEL1(47)
≠.BYTE≡≥	130256	   000		
≥	130257	   000				.BYTE	0,0
≥					
≠.BYTE≡≥	130260	   062		
≥	130261	   061			$FNUM:	.BYTE	50.,49.		;#00(29), #01(30)
≠.BYTE≡≥	130262	   060		
≥	130263	   056				.BYTE	48.,46.		;#02(31), #03(33)
≠.BYTE≡≥	130264	   055		
≥	130265	   054				.BYTE	45.,44.		;#04(34), #05(35)
≠.BYTE≡≥	130266	   052		
≥	130267	   051				.BYTE	42.,41.		;#06(37), #07(38)
≠.BYTE≡≥	130270	   050		
≥	130271	   000				.BYTE	40.,0		;#08(39)
≥					
≠.BYTE≡≥	130272	   043		
≥	130273	   007			$FVMA:	.BYTE	35.,7.		;VMA SEL 2(44), VMA SEL 1(72)
≠.BYTE≡≥	130274	   000		
≥	130275	   000				.BYTE	0,0
≥					
≠.BYTE≡≥	130276	   037		
≥	130277	   036			$FMEM:	.BYTE	31.,30.		;MEM 00(48), MEM 01(49)
≠.BYTE≡≥	130300	   035		
≥	130301	   034				.BYTE	29.,28.		;MEM 02(50), MEM 03(51)
≠.BYTE≡≥	130302	   000		
≥	130303	   000				.BYTE	0,0
≥					
≠.BYTE≡≥	130304	   076		
≥	130305	   075			$FCOND:	.BYTE	62.,61.		;COND 00(17), COND 01(18)
≠.BYTE≡≥	130306	   074		
≥	130307	   032				.BYTE	60.,26.		;COND 02(19), COND 03(53)
≠.BYTE≡≥	130310	   030		
≥	130311	   024				.BYTE	24.,20.		;COND 04(55), COND 05(59)
≠.BYTE≡≥	130312	   000		
≥	130313	   000				.BYTE	0,0
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 269
	KLDCP PAL[KL,SYS]	Page 5.5 	DEPOSIT C-RAM SUBROUTINE

≥					
≥								;Dectape
≠.INSRT≡≥					.INSRT	DTA11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 270
	DTA11 PAL[KL,SYS]	Page 1 	DEPOSIT C-RAM SUBROUTINE

≥				COMMENT ⊗   VALID 00027 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00003 00002	.SBTTL	PROGRAM FILE LOADER, 4-SEPT-75
≥				C00008 00003	PROCESS FILENAME.EXT FROM INPUT BUFFER
≥				C00011 00004	DECTAPE/RP04/FLOPPY LOADER START
≥				C00013 00005	LLDONE:	MOV	R4,DVCNT	RESAVE POINTERS
≥				C00015 00006	LDPRO2:	JMP	ACTLDC		LOAD TYPE ERROR
≥				C00017 00007	LDCKSM:	TST	LDOCTF		LOADING OCTAL ?
≥				C00019 00008	LOAD DONE ROUTINE   PDP11 LOAD ROUTINE
≥				C00021 00009	3$:	TST	VERIFY
≥				C00022 00010	PDP-11 BINARY LOAD ROUTINE
≥				C00024 00011	3$:	PUSH	R0
≥				C00025 00012	KL10 LOAD D-RAM ROUTINE
≥				C00027 00013	KL10 C-RAM ZERO
≥				C00031 00014	2$:	MOV	LDADR,R0	SELECT C-RAM STARTING ADDRESS
≥				C00032 00015	LOAD TEN CORE ZERO
≥				C00034 00016	LOAD TEN DATA
≥				C00036 00017	LD10VR:	BMI	LD10ER		N-BIT SET DEPOSIT FAILED
≥				C00037 00018	DEVICE FILE DIRECTORY LOOKUP
≥				C00039 00019	1$:	MOV	(R0)+,DIRST0	STORE RAD50 NAME
≥				C00041 00020	DECTAPE/FLOPPY DIRECTORY ROUTINE
≥				C00042 00021	READ DEVICE FRAME SUBROUTINE
≥				C00044 00022	DVEOF:	TST	LDCNTL		EOF, PRINTING A HELP FILE ?
≥				C00045 00023	RAD50 UNPACK SUBROUTINE
≥				C00047 00024	DECTAPE READ/WRITE FILE ROUTINES
≥				C00048 00025	DECTAPE DEVICE READ/WRITE ROUTINE
≥				C00050 00026	DTSRA:	ADD	#3,@#TCDT	+3 TO TCDT
≥				C00053 00027	.SBTTL	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE
≥				C00055 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 271
	DTA11 PAL[KL,SYS]	Page 2 	PROGRAM FILE LOADER, 4-SEPT-75

≥					.SBTTL	PROGRAM FILE LOADER, 4-SEPT-75
≥					
≥					;LOAD CONTROL FLAG WORD "LDCNTL"
≥					;BIT15=1 IS HELP, PRINT FILE READ
≥					;WORD = 0	.A10, PDP-10 LOAD
≥					;	1	.A11, PDP-11 LOAD
≥					;	2	.RAM, KL10 C-RAM ZERO
≥					;	3	.RAM, KL10 C-RAM LOAD
≥					;	4	.RAM, KL10 D-RAM LOAD
≥					;	5	.BIN, PDP-11 BIN LOAD
≥					;	6	.D10, PDP-11 LOAD DSKDMP BOOTSTRAP .D10 FILE
≥					;ACT10		.BIN LOADED AS .A11
≥					;		.SAV LOADED AS .A10
≥					
≥					;PROGRAM DETERMINATION & LOAD CONTROL INITIALIZATION
≥					
≡NAMEXT≡≡NAMEXT≡≥	130314	104206			DVLOAD:	NAMEXT			;SETUP NAME.EXT
≠TST≡≡R0≡≥	130316	005700				TST	R0		;ANY EXT ?
≠BNE≡≥	130320	001043				BNE	4$		;YES
≠TSTB≡≡JFILEF≡≥	130322	105737	147620			TSTB	JFILEF		;DOING "J" COMMAND ?
≠BEQ≡≥	130326	001405				BEQ	50$		;NO
≠MOV≡≡R4≡≥	130330	012704	046503			MOV	#"CM,R4		;YES, DEFAULT EXT IS "CMD"
≠MOV≡≡R5≡≥	130334	012705	020104			MOV	#"D ,R5
≠BR≡≥	130340	000427				BR	52$
≥					
≠TSTB≡≡IFILEF≡≥	130342	105737	147624		50$:	TSTB	IFILEF		;DOING "I" COMMAND ?
≠BEQ≡≥	130346	001405				BEQ	51$		;NO
≠MOV≡≡R4≡≥	130350	012704	041503			MOV	#"CC,R4		;YES, DEFAULT EXT IS "CCL"
≠MOV≡≡R5≡≥	130354	012705	020114			MOV	#"L ,R5
≠BR≡≥	130360	000417				BR	52$
≥					
≠MOV≡≡LDOVRD≡≡R4≡≥	130362	013704	150732		51$:	MOV	LDOVRD,R4	;ANY LOAD EXT OVERRIDE ?
≠BLE≡≥	130366	003403				BLE	53$		;IF NOT, USE "A10"
≠CMP≡≡R4≡≥	130370	022704	000007			CMP	#7,R4
≠BGE≡≥	130374	002002				BGE	54$		;BRANCH UNLESS OUT OF BOUNDS
≠MOV≡≡R4≡≥	130376	012704	000001		53$:	MOV	#1,R4
≠DEC≡≡R4≡≥	130402	005304			54$:	DEC	R4		;RESULT OF 0=A10,1=A11,2,3,4=RAM,5=BIN,6=D10(DSKDMP)
≠ASL≡≡R4≡≥	130404	006304				ASL	R4		;DOUBLE R4 (SINCE WE NEED 4 BYTES PER ENTRY)
≠ASL≡≡R4≡≥	130406	006304				ASL	R4		;DOUBLE AGAIN
≠MOV≡≡DEFEXT≡≡R4≡≡R5≡≥	130410	016405	130646			MOV	DEFEXT+2(R4),R5	;SECOND 2 CHARACTERS OF DEFAULT EXT.
≠MOV≡≡DEFEXT≡≡R4≡≡R4≡≥	130414	016404	130644			MOV	DEFEXT(R4),R4
≠MOV≡≡R4≡≡EXTBF≡≥	130420	010437	151166		52$:	MOV	R4,EXTBF
≠MOV≡≡R5≡≡EXTBF≡≥	130424	010537	151170			MOV	R5,EXTBF+2
≠MOV≡≡LDCNTL≡≡R3≡≥	130430	012703	150734		4$:	MOV	#LDCNTL,R3
≠TST≡≡R3≡≥	130434	005713				TST	(R3)		;IS THIS "HELP"
≠BMI≡≥	130436	100451				BMI	12$		;BRANCH IF "HELP".  NO DEFAULT EXTENSION.
≠MOV≡≡TEMP≡≡R4≡≥	130440	012704	147627			MOV	#TEMP+1,R4
≠MOV≡≡EXTBF≡≡R5≡≥	130444	012705	151170			MOV	#EXTBF+2,R5
≠MOVB≡≡R5≡≡R4≡≥	130450	111514				MOVB	(R5),(R4)	;MAKE A WORD OUT OF 2ND & 3RD CHAR
≠MOVB≡≡R5≡≡R4≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 272
	DTA11 PAL[KL,SYS]	Page 2.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	130452	114544				MOVB	-(R5),-(R4)
≠CMPB≡≡R5≡≥	130454	122745	000101			CMPB	#'A,-(R5)	;IS FIRST CHAR AN "A" ?
≠BEQ≡≥	130460	001420				BEQ	6$		;BR IF YES
≠CMPB≡≡R5≡≥	130462	122715	000102			CMPB	#'B,(R5)	;IS FIRST CHAR A "B" ?
≠BEQ≡≥	130466	001446				BEQ	14$		;BR IF YES
≠CMPB≡≡R5≡≥	130470	122715	000123			CMPB	#'S,(R5)	;IS FIRST CHAR AN "S" ?
≠BEQ≡≥	130474	001451				BEQ	16$		;BR IF YES
≠CMPB≡≡R5≡≥	130476	122715	000122			CMPB	#'R,(R5)	;IS FIRST CHAR AN "R" ?
≠BEQ≡≥	130502	001422				BEQ	66$		;BR IF YES
≠CMPB≡≡R5≡≥	130504	122715	000104			CMPB	#'D,(R5)	;IS FIRST CHAR A "D" ?
≠BEQ≡≥	130510	001447				BEQ	21$
≠TST≡≡LDOVRD≡≥	130512	005737	150732		5$:	TST	LDOVRD		;ANY LOAD EXT OVERRIDE ?
≠BNE≡≥	130516	001021				BNE	12$		;YES
≠BR≡≡$$$NAM≡≥	130520	000566				BR	$$$NAM		;NAME.EXT ERR
≥					
≠CMP≡≡R4≡≥	130522	022714	030061		6$:	CMP	#"10,(R4)	;HERE IS IF FIRST CHARACTER IS AN "A"
≠BEQ≡≥	130526	001406				BEQ	7$		;BR IF ".A10"
≠CMP≡≡R4≡≥	130530	022714	030461			CMP	#"11,(R4)
≠BNE≡≥	130534	001366				BNE	5$		;BR IF NOT "A11"
≠MOV≡≡R3≡≥	130536	012713	000001			MOV	#1,(R3)		;"A11"
≠BR≡≥	130542	000407				BR	12$
≥					
≠CLR≡≡R3≡≥	130544	005013			7$:	CLR	(R3)		;A10.  SETUP LOAD CONTROL
≠BR≡≥	130546	000405				BR	12$
≥					
≠CMP≡≡R4≡≥	130550	022714	046501		66$:	CMP	#"AM,(R4)	;"R" SEEN
≠BNE≡≥	130554	001356				BNE	5$		;BR IF NOT ".RAM"
≠MOV≡≡R3≡≥	130556	012713	000002			MOV	#2,(R3)		;"RAM"
≠TST≡≡LDOVRD≡≥	130562	005737	150732		12$:	TST	LDOVRD		;ANY LOAD EXT OVERRIDE ?
≠BEQ≡≥	130566	001404				BEQ	20$		;NO
≠MOV≡≡LDOVRD≡≡R0≡≥	130570	013700	150732			MOV	LDOVRD,R0	;SET LOAD CONTROL ACCORDINGLY
≠DEC≡≡R0≡≥	130574	005300				DEC	R0
≠MOV≡≡R0≡≡R3≡≥	130576	010013				MOV	R0,(R3)
≠JMP≡≡DEVFIL≡≥	130600	000137	133350		20$:	JMP	DEVFIL		;GO GET FILE & LOAD
≥					
≠CMP≡≡R4≡≥	130604	022714	047111		14$:	CMP	#"IN,(R4)	;IS EXTENSION ".BIN" ?
≠BNE≡≥	130610	001340				BNE	5$		;BR IF NO
≠MOV≡≡R3≡≥	130612	012713	000005			MOV	#5,(R3)		;YES, SET LOAD CONTROL
≠BR≡≥	130616	000761				BR	12$
≥					
≠CMP≡≡R4≡≥	130620	022714	053101		16$:	CMP	#"AV,(R4)	;IS EXTENSION ".SAV" ?
≠BEQ≡≥	130624	001747				BEQ	7$		;YES, ACT10 TREATS AS ".A10"
≠BR≡≥	130626	000731				BR	5$
≥					
≠CMP≡≡R4≡≥	130630	022714	030061		21$:	CMP	#"10,(R4)	;IS EXTENSION ".D10" ?
≠BNE≡≥	130634	001326				BNE	5$		;NO, GO REPORT ERROR
≠MOV≡≡R3≡≥	130636	012713	000006			MOV	#6,(R3)		;YES, SET LOAD CONTROL
≠BR≡≥	130642	000747				BR	12$
≥					
≠.ASCII≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 273
	DTA11 PAL[KL,SYS]	Page 2.2 	PROGRAM FILE LOADER, 4-SEPT-75

≥	130644	   101		
≥	130645	   061		
≥	130646	   060		
≥	130647	   040		
≥					DEFEXT:	.ASCII /A10 /
≠.ASCII≡≥	130650	   101		
≥	130651	   061		
≥	130652	   061		
≥	130653	   040		
≥						.ASCII /A11 /
≠.ASCII≡≥	130654	   122		
≥	130655	   101		
≥	130656	   115		
≥	130657	   040		
≥						.ASCII /RAM /
≠.ASCII≡≥	130660	   122		
≥	130661	   101		
≥	130662	   115		
≥	130663	   040		
≥						.ASCII /RAM /
≠.ASCII≡≥	130664	   122		
≥	130665	   101		
≥	130666	   115		
≥	130667	   040		
≥						.ASCII /RAM /
≠.ASCII≡≥	130670	   102		
≥	130671	   111		
≥	130672	   116		
≥	130673	   040		
≥						.ASCII /BIN /
≠.ASCII≡≥	130674	   104		
≥	130675	   061		
≥	130676	   060		
≥	130677	   040		
≥						.ASCII /D10 /		;FOR DSKDMP BOOT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 274
	DTA11 PAL[KL,SYS]	Page 3 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;PROCESS FILENAME.EXT FROM INPUT BUFFER
≥					
≠MOV≡≡NAMBF≡≡R0≡≥	130700	012700	151160		$NAMEXT:MOV	#NAMBF,R0	;CLEAR NAME LOOKUP BUFFER
≠MOV≡≡R1≡≥	130704	012701	020040			MOV	#20040,R1	;TO SPACES
≠MOV≡≡R2≡≥	130710	012702	000005			MOV	#5,R2
≠MOV≡≡R1≡≡R0≡≥	130714	010120			70$:	MOV	R1,(R0)+	;UP TO 9 CHARS
≠DEC≡≡R2≡≥	130716	005302				DEC	R2
≠BGT≡≥	130720	003375				BGT	70$
≥					
≠MOV≡≡NAMBF≡≡R2≡≥	130722	012702	151160			MOV	#NAMBF,R2	;LOOKUP NAME
≠MOV≡≡R1≡≥	130726	012701	000007			MOV	#7,R1		;MAXIMUM OF 6 CHARS IN NAME
≡TTISDL≡≡TTISDL≡≥	130732	104016				TTISDL
≠BCS≡≥	130734	103402				BCS	99$		;LETTER, ALREADY IN R0
≡TTICHR≡≡TTICHR≡≥	130736	104005			1$:	TTICHR			;GET CHAR FROM TTY BUFFER
≠BCS≡≥	130740	103456				BCS	5$
≠CMPB≡≡R0≡≥	130742	122700	000056		99$:	CMPB	#'.,R0
≠BEQ≡≥	130746	001415				BEQ	2$		;BR IF PERIOD, NAME.EXT SEPARATOR
≠CMPB≡≡R0≡≥	130750	122700	000033			CMPB	#33,R0
≠BEQ≡≥	130754	001435				BEQ	97$		;ALTMODE, SELF START
≠CMPB≡≡R0≡≥	130756	122700	000015			CMPB	#15,R0
≠BEQ≡≥	130762	001442				BEQ	96$		;CR, NO EXTENSION
≠CMPB≡≡SPACE≡≡R0≡≥	130764	122700	000040			CMPB	#SPACE,R0	;IF SPACE, NO EXT
≠BEQ≡≥	130770	001437				BEQ	96$
≠DEC≡≡R1≡≥	130772	005301				DEC	R1
≠BEQ≡≥	130774	001440				BEQ	5$		;BR IF MORE THAN 6 CHARS
≠MOVB≡≡R0≡≡R2≡≥	130776	110022				MOVB	R0,(R2)+	;STORE CHAR
≠BR≡≥	131000	000756				BR	1$
≥					
≠MOV≡≡EXTBF≡≡R2≡≥	131002	012702	151166		2$:	MOV	#EXTBF,R2	;GET EXTENSION
≠MOV≡≡R1≡≥	131006	012701	000004			MOV	#4,R1
≡TTICHR≡≡TTICHR≡≥	131012	104005			3$:	TTICHR
≠BCS≡≥	131014	103430				BCS	5$
≠CMPB≡≡R0≡≥	131016	122700	000033			CMPB	#33,R0
≠BEQ≡≥	131022	001415				BEQ	13$		;BR IF ALTMODE
≠CMPB≡≡R0≡≥	131024	122700	000015			CMPB	#15,R0
≠BEQ≡≥	131030	001414				BEQ	98$		;BR IF CR
≠CMPB≡≡SPACE≡≡R0≡≥	131032	122700	000040			CMPB	#SPACE,R0	;BR IF SPACE
≠BEQ≡≥	131036	001411				BEQ	98$
≠DEC≡≡R1≡≥	131040	005301				DEC	R1
≠BEQ≡≥	131042	001415				BEQ	5$		;BR IF MORE THAN 3 CHARS
≠MOVB≡≡R0≡≡R2≡≥	131044	110022				MOVB	R0,(R2)+	;STORE CHAR
≠BR≡≥	131046	000761				BR	3$
≥					
≠COM≡≡SRTFLG≡≥	131050	005137	150726		97$:	COM	SRTFLG		;SET SELF START FLAG
≠BR≡≥	131054	000405				BR	96$
≥					
≠COM≡≡SRTFLG≡≥	131056	005137	150726		13$:	COM	SRTFLG
≥					
≠CMP≡≡R1≡≥	131062	022701	000004		98$:	CMP	#4,R1
≠BNE≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 275
	DTA11 PAL[KL,SYS]	Page 3.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	131066	001001				BNE	10$
≠CLR≡≡R0≡≥	131070	005000			96$:	CLR	R0
≤EXIT≡≥					10$:	EXIT
≠JMP≡≡$EXIT≡≥	131072	000137	124064			  JMP	$EXIT
≥					
≡$$$NAM≠≥		131076			$$$NAM=.
≡$PMSG≡≡$PMSG≡≥	131076	104025			5$:	$PMSG			;NAME.EXT ERR
≡$$NAM≡≡$$NAM≡≥	131100	131106				  $$NAM
≠JMP≡≡$CNTLC≡≥	131102	000137	100004			JMP	$CNTLC
≥					
≠.ASCIZ≡≥	131106	   116		
≥	131107	   101		
≥	131110	   115		
≥	131111	   105		
≥	131112	   056		
≥	131113	   105		
≥	131114	   130		
≥	131115	   124		
≥	131116	   040		
≥	131117	   105		
≥	131120	   122		
≥	131121	   122		
≥	131122	   000		
≥					$$NAM:	.ASCIZ	/NAME.EXT ERR/
≠.EVEN≡≥		131124			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 276
	DTA11 PAL[KL,SYS]	Page 4 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;DECTAPE/RP04/FLOPPY LOADER START
≥					
≠CMP≡≡LDCNTL≡≥	131124	022737	000005	150734	DTRPLD:	CMP	#5,LDCNTL	;PDP-11 .BIN FILE LOAD ?
≠BNE≡≡LLD1≡≥	131132	001002				BNE	LLD1
≠JMP≡≡LDBIN≡≥	131134	000137	132242			JMP	LDBIN
≥					
≡DVDATA≡≡DVDATA≡≥	131140	104160			LLD1:	DVDATA			;LOAD FIRST BUFFER
≠BCC≡≡LLD2≡≥	131142	103002				 BCC	LLD2
≠JMP≡≡DVEOF≡≥	131144	000137	134066			JMP	DVEOF		;EOF
≥					
≥					LLD2:
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP
≥						BPL	1$
≥						JMP	ACTLD2		;ACT10 PROCESS
≥					.ENDC
≠MOV≡≡$INBUF≡≡R5≡≥	131150	012705	150500		1$:	MOV	#$INBUF,R5	;SET UP START OF CHAR BUFFER
≠MOV≡≡R5≡≡$INPTC≡≥	131154	010537	150716			MOV	R5,$INPTC
≥					
≠MOV≡≡DVCNT≡≡R4≡≥	131160	013704	151126		LLD3:	MOV	DVCNT,R4	;SETUP DEVICE BYTE COUNTER
≠MOV≡≡DVADR≡≡R3≡≥	131164	013703	151130			MOV	DVADR,R3	;SETUP DEVICE DATA BLOCK ADDRESS
≥					
≠TST≡≡R4≡≥	131170	005704			LLD4:	TST	R4		;ANY DATA REMAINING ?
≠BGT≡≥	131172	003004				BGT	2$		;YES
≥					
≡DVDATA≡≡DVDATA≡≥	131174	104160				DVDATA			;NO, READ NEXT DEVICE BLOCK
≠BCC≡≡LLD3≡≥	131176	103370				 BCC	LLD3
≠JMP≡≡DVEOF≡≥	131200	000137	134066			JMP	DVEOF		;END OF FILE ?
≥					
≠MOVB≡≡R3≡≡R0≡≥	131204	112300			2$:	MOVB	(R3)+,R0	;GET FRAME, ONE 7 BIT CHAR
≠DEC≡≡R4≡≥	131206	005304				DEC	R4		;COUNT IT
≠BIC≡≡R0≡≥	131210	042700	177600			BIC	#177600,R0
≠TST≡≡R0≡≥	131214	005700				TST	R0		;IS FRAME A NULL ?
≠BEQ≡≡LLD4≡≥	131216	001764				BEQ	LLD4		;BR IF YES, DON'T STORE
≠MOVB≡≡R0≡≡R5≡≥	131220	110025				MOVB	R0,(R5)+	;STORE IN BUFFER
≠CMP≡≡R5≡≡$INBUF≡≥	131222	020527	150714			CMP	R5,#$INBUF+140.
≠BLE≡≥	131226	003402				BLE	1$		;BR IF BUFFER DIDN'T OVERFLOW
≠JMP≡≡$LINER≡≥	131230	000137	131762			JMP	$LINERR		;REPORT BUFFER OVERFLOW
≠CMP≡≡R0≡≥	131234	022700	000012		1$:	CMP	#12,R0		;IS CHAR A LINE FEED ?
≠BEQ≡≡LLDONE≡≥	131240	001401				BEQ	LLDONE		;BR IF LINE DONE
≠BR≡≡LLD4≡≥	131242	000752				BR	LLD4		;LOOP TILL LF FOUND
≠MOV≡≡R4≡≡DVCNT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 277
	DTA11 PAL[KL,SYS]	Page 5 	PROGRAM FILE LOADER, 4-SEPT-75

≥	131244	010437	151126		LLDONE:	MOV	R4,DVCNT	;RESAVE POINTERS
≠MOV≡≡R3≡≡DVADR≡≥	131250	010337	151130			MOV	R3,DVADR
≠CLRB≡≡R5≡≥	131254	105015				CLRB	(R5)		;STORE A NULL TO END STRING
≠MOV≡≡R5≡≡$INPTR≡≥	131256	010537	150720			MOV	R5,$INPTR
≠INC≡≡DEVLC≡≥	131262	005237	150724			INC	DEVLC		;COUNT LINE
≠MOV≡≡DEVLC≡≡SWR≡≥	131266	013737	150724	177570		MOV	DEVLC,SWR	;DISPLAY
≠TST≡≡LDCNTL≡≥	131274	005737	150734			TST	LDCNTL		;IS HELP FLAG SET ?
≠BPL≡≡LDPROC≡≥	131300	100002				BPL	LDPROC		;BR IF NO
≠JMP≡≡DAHLP≡≥	131302	000137	140316			JMP	DAHLP		;DTA/ACT HELP
≥					
≠CLR≡≡LDOCTF≡≥	131306	005037	150736		LDPROC:	CLR	LDOCTF		;CLEAR OCTAL LOAD FLAG
≠CLR≡≡LDZBLK≡≥	131312	005037	150730			CLR	LDZBLK
≠MOV≡≡LDCNTL≡≡R1≡≥	131316	013701	150734			MOV	LDCNTL,R1	;GET LOAD CONTROL
≠MOV≡≡$INPTC≡≡R5≡≥	131322	013705	150716			MOV	$INPTC,R5	;SETUP INPUT POINTER
≠MOVB≡≡R5≡≡R0≡≥	131326	112500				MOVB	(R5)+,R0	;GET FIRST CHAR FROM FILE
≠CMPB≡≡R0≡≥	131330	122700	000073			CMPB	#';,R0		;IS FIRST CHAR A SEMICOLON ?
≠BEQ≡≡LDPRO1≡≥	131334	001420				BEQ	LDPRO1		;YES, PROCESS COMMENT LINE
≠CMPB≡≡LDLTR≡≡R1≡≡R0≡≥	131336	126100	131672			CMPB	LDLTR(R1),R0	;DOES 1ST CHAR MATCH LOAD TYPE ?
≠BEQ≡≡LDPRO3≡≥	131342	001443				BEQ	LDPRO3		;YES
≠CMP≡≡LDCNTL≡≥	131344	023727	150734	000006		CMP	LDCNTL,#6	;D10 FILES ACT LIKE A10
≠BEQ≡≥	131352	001403				BEQ	1$
≠TST≡≡LDCNTL≡≥	131354	005737	150734			TST	LDCNTL		;IS THIS .A10 FILE ?
≠BNE≡≡LDPRO2≡≥	131360	001032				BNE	LDPRO2		;NO, ERROR
≠CMPB≡≡R0≡≥	131362	122700	000132		1$:	CMPB	#'Z,R0		;YES, IS FIRST CHAR A "Z" ?
≠BNE≡≡LDPRO2≡≥	131366	001027				BNE	LDPRO2		;NO, ERROR
≠COM≡≡LDZBLK≡≥	131370	005137	150730			COM	LDZBLK		;YES, SET CORE ZERO FLAG
≠BR≡≡LDPRO3≡≥	131374	000426				BR	LDPRO3
≥					
≠TST≡≡DEVLC≡≥	131376	005737	150724		LDPRO1:	TST	DEVLC		;COMMENT, IS THIS FIRST LINE ?
≠BNE≡≡LLD2≡≥	131402	001262				BNE	LLD2		;NO
≤PUSH≡≥						PUSH	PCMDNF		;SAVE PGM CMD NO PRINT FLAG
≠.NLIST≡≠.IRP≡≠MOV≡≡PCMDNF≡≡SP≡≠.LIST≡≡SWITCH≡≡SWITCH≡≥	131410	104057				SWITCH
≠BIT≡≡R0≡≡CHAIN≡≥	131412	030027	000001			BIT	R0,#CHAIN	;IS CHAIN SWITCH SET ?
≠BEQ≡≥	131416	001403				BEQ	1$		;NO
≠MOV≡≡PCMDNF≡≥	131420	012737	777777	152212		MOV	#-1,PCMDNF	;YES, PREVENT FILE ID PRINTOUT
≥					
≠MOVB≡≡R5≡≡R1≡≥	131426	112501			1$:	MOVB	(R5)+,R1	;PUT FILE ID LINE IN OUTPUT BUFFER
≠BEQ≡≥	131430	001402				BEQ	2$		;NULL, DONE
≡PLDBUF≡≡PLDBUF≡≥	131432	104154				PLDBUF
≠BR≡≥	131434	000774				BR	1$
≤POP≡≥					2$:	POP	PCMDNF		;RESTORE FLAG
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡PCMDNF≡≠.LIST≡≡PNTRST≡≡PNTRST≡≥	131442	104215				PNTRST			;RESET OUTPUT POINTERS ANYWAY
≠BR≡≡LLD2≡≥	131444	000641				BR	LLD2
≠JMP≡≡ACTLDC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 278
	DTA11 PAL[KL,SYS]	Page 6 	PROGRAM FILE LOADER, 4-SEPT-75

≥	131446	000137	140522		LDPRO2:	JMP	ACTLDC		;LOAD TYPE ERROR
≥					
≠MOVB≡≡R5≡≡R0≡≥	131452	112500			LDPRO3:	MOVB	(R5)+,R0	;GET 2ND CHAR
≠CMPB≡≡R0≡≥	131454	122700	000117			CMPB	#'O,R0		;IS IT AN O ?
≠BEQ≡≡LDOCT≡≥	131460	001445				BEQ	LDOCT		;YES, OCTAL DATA FORMAT LOAD
≠CMPB≡≡R0≡≥	131462	122700	000040			CMPB	#40,R0		;IS IT A SPACE ?
≠BNE≡≡LDPRO2≡≥	131466	001367				BNE	LDPRO2		;BR IF NO
≥					
≠MOV≡≡LDCNT≡≡R1≡≥	131470	012701	150740		LDCLR:	MOV	#LDCNT,R1	;SETUP CONVERTED STORAGE ADDRESS
≠CLR≡≡R2≡≥	131474	005002			LDCNV:	CLR	R2		;CLEAR WORD FORMER
≠MOVB≡≡R5≡≡R0≡≥	131476	112500			1$:	MOVB	(R5)+,R0	;GET CHAR
≠CMP≡≡R0≡≥	131500	022700	000015			CMP	#15,R0		;IS IT A CR ?
≠BEQ≡≥	131504	001774				BEQ	1$		;YES, IGNORE
≠CMP≡≡R0≡≥	131506	022700	000012			CMP	#12,R0		;IS IT A LF ?
≠BEQ≡≡LDEOL≡≥	131512	001435				BEQ	LDEOL		;YES, END OF LINE
≠CMP≡≡R0≡≥	131514	022700	000054			CMP	#54,R0		;IS IT A COMMA ?
≠BEQ≡≥	131520	001415				BEQ	2$		;YES, GO STORE WORD
≠TST≡≡LDOCTF≡≥	131522	005737	150736			TST	LDOCTF		;LOADING OCTAL ?
≠BNE≡≥	131526	001014				BNE	3$		;YES
≤SL≡≥						SL	R2,6		;SHIFT WORD FORMER LEFT 6
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠.LIST≡≠BIC≡≡R0≡≥	131544	042700	000100			BIC	#100,R0		;CLEAR ASCIIZED BIT
≠BIS≡≡R0≡≡R2≡≥	131550	050002			4$:	BIS	R0,R2		;INSERT NEW OIT
≠BR≡≥	131552	000751				BR	1$		;LOOP TILL WORD FORMED
≥					
≠MOV≡≡R2≡≡R1≡≥	131554	010221			2$:	MOV	R2,(R1)+	;STORE 16 BIT WORD
≠BR≡≡LDCNV≡≥	131556	000746				BR	LDCNV		;GO DO NEXT
≥					
≤SL≡≥					3$:	SL	R2,3		;OCTAL LOAD
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠.LIST≡≠BIC≡≡R0≡≥	131566	042700	177770			BIC	#177770,R0	;CLEAR ALL BUT NUMBER PART
≠BR≡≥	131572	000766				BR	4$
≥					
≠COM≡≡LDOCTF≡≥	131574	005137	150736		LDOCT:	COM	LDOCTF		;OCTAL LOAD, SET FLAG
≠BR≡≡LDCLR≡≥	131600	000733				BR	LDCLR
≥					
≠JMP≡≡ACTLDF≡≥	131602	000137	140536		LDERR:	JMP	ACTLDF		;LOAD ERROR
≥					
≠MOV≡≡R2≡≡R1≡≥	131606	010211			LDEOL:	MOV	R2,(R1)		;STORE CHECKSUM
≠TST≡≡LDOCTF≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 279
	DTA11 PAL[KL,SYS]	Page 7 	PROGRAM FILE LOADER, 4-SEPT-75

≥	131610	005737	150736		LDCKSM:	TST	LDOCTF		;LOADING OCTAL ?
≠BNE≡≥	131614	001012				BNE	2$		;YES, NO CHECKSUM
≠MOV≡≡LDCNT≡≡R2≡≥	131616	012702	150740			MOV	#LDCNT,R2	;CHECKSUM LOAD STORAGE
≠CLR≡≡R0≡≥	131622	005000				CLR	R0
≠ADD≡≡R2≡≡R0≡≥	131624	062200			1$:	ADD	(R2)+,R0
≠CMP≡≡R2≡≡R1≡≥	131626	020201				CMP	R2,R1
≠BLE≡≥	131630	003775				BLE	1$
≠TST≡≡R0≡≥	131632	005700				TST	R0		;IS CHECKSUM = 0 ?
≠BEQ≡≥	131634	001402				BEQ	2$		;BR IF 0
≠JMP≡≡ACTBCK≡≥	131636	000137	140530			JMP	ACTBCK		;BAD CHECKSUM
≥					
≠MOV≡≡LDCNTL≡≡R0≡≥	131642	013700	150734		2$:	MOV	LDCNTL,R0	;DISPATCH TO PROPER LOAD ROUTINE
≤SL≡≥						SL	R0,1		;DETERMINED FROM LDCNTL WORD
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R0≡≠.LIST≡≠JMP≡≡LDTYPE≡≡R0≡≥	131650	000170	131654			JMP	@LDTYPE(R0)
≥					
≡LDTEN≡≡LDTEN≡≥	131654	133052			LDTYPE:	LDTEN			;.A10, LOAD TEN
≡LDELVN≡≡LDELVN≡≥	131656	131776				LDELVN			;.A11, LOAD ELEVEN
≡LDCZRO≡≡LDCZRO≡≥	131660	132610				LDCZRO			;.RAM, ZERO C-RAM
≡LDCRAM≡≡LDCRAM≡≥	131662	132642				LDCRAM			;.RAM, LOAD C-RAM
≡LDDRAM≡≡LDDRAM≡≥	131664	132452				LDDRAM			;.RAM, LOAD D-RAM
≥	131666	000000				0			;.BIN, DETECTED IN LINE
≡LDBOOT≡≡LDBOOT≡≥	131670	135266				LDBOOT			;.D10, LOAD DSKDMP BOOT INTO 11 (SAME FORMAT AS A10)
≥					
≠.ASCII≡≥	131672	   124		
≥	131673	   105		
≥	131674	   132		
≥	131675	   103		
≥	131676	   104		
≥	131677	   040		
≥	131700	   124		
≥					LDLTR:	.ASCII	/TEZCD T/
≥					
≠.ASCIZ≡≥	131701	   061		
≥	131702	   061		
≥	131703	   040		
≥	131704	   105		
≥	131705	   122		
≥	131706	   122		
≥	131707	   054		
≥	131710	   101		
≥	131711	   104		
≥	131712	   122		
≥	131713	   075		
≥	131714	   000		
≥					$$LD11:	.ASCIZ	/11 ERR,ADR=/
≠.ASCIZ≡≥	131715	   103		
≥	131716	   117		
≥	131717	   122		
≥	131720	   075		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 280
	DTA11 PAL[KL,SYS]	Page 7.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	131721	   000		
≥					$$COR:	.ASCIZ	/COR=/
≠.ASCIZ≡≥	131722	   101		
≥	131723	   103		
≥	131724	   124		
≥	131725	   075		
≥	131726	   000		
≥					$$ACT:	.ASCIZ	/ACT=/
≠.ASCIZ≡≥	131727	   134		
≥	131730	   122		
≥	131731	   101		
≥	131732	   115		
≥	131733	   040		
≥	131734	   105		
≥	131735	   122		
≥	131736	   122		
≥	131737	   054		
≥	131740	   103		
≥	131741	   117		
≥	131742	   122		
≥	131743	   075		
≥	131744	   000		
≥					$$RAM:	.ASCIZ	/\RAM ERR,COR=/
≠.ASCIZ≡≥	131745	   134		
≥	131746	   061		
≥	131747	   060		
≥	131750	   040		
≥	131751	   105		
≥	131752	   122		
≥	131753	   122		
≥	131754	   054		
≥	131755	   101		
≥	131756	   104		
≥	131757	   122		
≥	131760	   075		
≥	131761	   000		
≥					$$TEN:	.ASCIZ	/\10 ERR,ADR=/
≠.EVEN≡≥		131762				.EVEN
≥					
≤PMSG≡≥					$LINERR:PMSG	<?LINE TOO LONG>
≡$PMSG≡≡$PMSG≡≥	131762	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	131764	146645				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	131766	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 281
	DTA11 PAL[KL,SYS]	Page 8 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;LOAD DONE ROUTINE   PDP11 LOAD ROUTINE
≥					
≥					LDDONE:
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP		;LOAD DONE
≥						BMI	1$		;BR IF ACT10 MODE
≥					.ENDC
≠JMP≡≡DADONE≡≥	131772	000137	140474			JMP	DADONE
≥					
≠.LIF≡≡MONASB≡≥					.LIF DF MONASB
≥					1$:	JMP	ACTDON		;ACT10 PROCESS
≥					
≥					;PDP-11 CORE LOAD ROUTINE
≥					
≠MOV≡≡LDCNT≡≡R0≡≥	131776	013700	150740		LDELVN:	MOV	LDCNT,R0	;GET LOAD WORD COUNT
≠BEQ≡≥	132002	001510				BEQ	2$		;IF 0, THIS IS TRANSFER BLOCK
≠MOV≡≡LDATA≡≡R2≡≥	132004	012702	150744			MOV	#LDATA,R2	;SETUP DATA PICKUP POINTER
≠MOV≡≡LDADR≡≡R1≡≥	132010	013701	150742			MOV	LDADR,R1	;GET LOAD MEMORY ADDRESS
≠BIT≡≡R1≡≥	132014	032701	000001			BIT	#1,R1		;LOAD WORD OR BYTE ?
≠BNE≡≥	132020	001034				BNE	3$		;BYTE LOAD
≥					
≠TST≡≡VERIFY≡≥	132022	005737	147730		1$:	TST	VERIFY
≠BNE≡≥	132026	001005				BNE	11$
≠MOV≡≡R2≡≡R1≡≥	132030	012221			19$:	MOV	(R2)+,(R1)+	;MOVE WORD FROM STOR TO MEMORY
≠DEC≡≡R0≡≥	132032	005300			13$:	DEC	R0		;DECREMENT WORD COUNT
≠BGT≡≥	132034	003372				BGT	1$		;LOOP TILL ALL WORDS MOVED
≠JMP≡≡LLD2≡≥	132036	000137	131150		18$:	JMP	LLD2		;GO DO NEXT LOAD LINE
≥					
≠CMP≡≡R2≡≡R1≡≥	132042	021211			11$:	CMP	(R2),(R1)	;COMPARE CURRENT AGAINST FILE
≠BEQ≡≥	132044	001417				BEQ	12$
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡$PMSG≡≡$PMSG≡≥	132050	104025				$PMSG
≡$$LD11≡≡$$LD11≡≥	132052	131701				$$LD11			;"11 ERR,ADR="
≠MOV≡≡R1≡≡R0≡≥	132054	010100				MOV	R1,R0
≡PNTOCT≡≡PNTOCT≡≥	132056	104035				PNTOCT
≥					
≡$PMSG≡≡$PMSG≡≥	132060	104025				$PMSG
≡$$COR≡≡$$COR≡≥	132062	131715				$$COR			;"COR="
≠MOV≡≡R2≡≡R0≡≥	132064	011200				MOV	(R2),R0
≡PNTOCT≡≡PNTOCT≡≥	132066	104035				PNTOCT
≥					
≡$PMSG≡≡$PMSG≡≥	132070	104025				$PMSG
≡$$ACT≡≡$$ACT≡≥	132072	131722				$$ACT			;"ACT="
≠MOV≡≡R1≡≡R0≡≥	132074	011100				MOV	(R1),R0
≡PNTOCT≡≡PNTOCT≡≥	132076	104035				PNTOCT
≡PCRLF≡≡PCRLF≡≥	132100	104031				PCRLF
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≥					
≠TST≡≡R2≡≥	132104	005722			12$:	TST	(R2)+
≠TST≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 282
	DTA11 PAL[KL,SYS]	Page 8.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	132106	005721				TST	(R1)+
≠BR≡≥	132110	000750				BR	13$
≠TST≡≡VERIFY≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 283
	DTA11 PAL[KL,SYS]	Page 9 	PROGRAM FILE LOADER, 4-SEPT-75

≥	132112	005737	147730		3$:	TST	VERIFY
≠BNE≡≥	132116	001005				BNE	31$
≥					
≠MOVB≡≡R2≡≡R1≡≥	132120	112221			39$:	MOVB	(R2)+,(R1)+	;ODD ADDRESS, BYTE LOAD
≠MOVB≡≡R2≡≡R1≡≥	132122	112221				MOVB	(R2)+,(R1)+	;2 BYTES PER WORD
≠DEC≡≡R0≡≥	132124	005300			38$:	DEC	R0		;DECREMENT WORD COUNT
≠BGT≡≥	132126	003371				BGT	3$		;LOOP TILL ALL BYTES MOVED
≠BR≡≥	132130	000742				BR	18$		;GO ON TO NEXT
≥					
≥					
≠CLR≡≡R5≡≥	132132	005005			31$:	CLR	R5
≤PUSH≡≥					32$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠CMPB≡≡R2≡≡R1≡≥	132136	121211				CMPB	(R2),(R1)
≠BEQ≡≥	132140	001422				BEQ	33$
≥					
≡$PMSG≡≡$PMSG≡≥	132142	104025				$PMSG
≡$$LD11≡≡$$LD11≡≥	132144	131701				$$LD11			;"11 ERR,ADR="
≠MOV≡≡R1≡≡R0≡≥	132146	010100				MOV	R1,R0
≡PNTOCT≡≡PNTOCT≡≥	132150	104035				PNTOCT
≥					
≡$PMSG≡≡$PMSG≡≥	132152	104025				$PMSG
≡$$COR≡≡$$COR≡≥	132154	131715				$$COR			;"COR="
≠MOVB≡≡R2≡≡R0≡≥	132156	111200				MOVB	(R2),R0
≠BIC≡≡R0≡≥	132160	042700	177400			BIC	#177400,R0
≡PNTOCS≡≡PNTOCS≡≥	132164	104036				PNTOCS
≥					
≡PSPACE≡≡PSPACE≡≥	132166	104032				PSPACE
≡$PMSG≡≡$PMSG≡≥	132170	104025				$PMSG
≡$$ACT≡≡$$ACT≡≥	132172	131722				$$ACT			;"ACT="
≠MOVB≡≡R1≡≡R0≡≥	132174	111100				MOVB	(R1),R0
≠BIC≡≡R0≡≥	132176	042700	177400			BIC	#177400,R0
≡PNTOCS≡≡PNTOCS≡≥	132202	104036				PNTOCS
≡PCRLF≡≡PCRLF≡≥	132204	104031				PCRLF
≤POP≡≥					33$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠INC≡≡R2≡≥	132210	005202				INC	R2
≠INC≡≡R1≡≥	132212	005201				INC	R1
≠TST≡≡R5≡≥	132214	005705				TST	R5
≠BNE≡≥	132216	001342				BNE	38$
≠INC≡≡R5≡≥	132220	005205				INC	R5
≠BR≡≥	132222	000744				BR	32$
≥					
≠MOV≡≡LDADR≡≡R0≡≥	132224	013700	150742		2$:	MOV	LDADR,R0
≠MOV≡≡R0≡≡PGOADR≡≥	132230	010037	157204		LD11DN:	MOV	R0,PGOADR
≠CLR≡≡PGOCTL≡≥	132234	005037	157202			CLR	PGOCTL
≠BR≡≡LDDONE≡≥	132240	000654				BR	LDDONE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 284
	DTA11 PAL[KL,SYS]	Page 10 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;PDP-11 BINARY LOAD ROUTINE
≥					
≡DVDATA≡≡DVDATA≡≥	132242	104160			LDBIN:	DVDATA			;LOAD DEVICE BUFFER
≠CLR≡≡$CKS11≡≥	132244	005037	151070		LDBIN1:	CLR	$CKS11		;INIT CHECKSUM
≡DVFRAM≡≡DVFRAM≡≥	132250	104163				DVFRAM			;READ FRAME
≠DECB≡≡R0≡≥	132252	105300				DECB	R0		;CHECK FOR BLOCK START
≠BNE≡≡LDBIN1≡≥	132254	001373				BNE	LDBIN1		;NOT YET
≡DVFRAM≡≡DVFRAM≡≥	132256	104163				DVFRAM			;READ ANOTHER FRAME
≥					
≡DVWRD≡≡DVWRD≡≥	132260	104164				DVWRD			;GET FULL BYTE COUNT
≠MOV≡≡R0≡≡LBC≡≥	132262	010037	151064			MOV	R0,LBC
≠SUB≡≡LBC≡≥	132266	162737	000006	151064		SUB	#6,LBC
≠BEQ≡≡LJMP≡≥	132274	001456				BEQ	LJMP		;BYTE COUNT OF 6 IS XFER BLOCK
≡DVWRD≡≡DVWRD≡≥	132276	104164				DVWRD			;GET LOAD ADDRESS
≠MOV≡≡R0≡≡R5≡≥	132300	010005				MOV	R0,R5		;STORE LOAD ADDRESS
≥					
≡DVFRAM≡≡DVFRAM≡≥	132302	104163			LDBIN2:	DVFRAM			;READ DATA FRAME
≠DEC≡≡LBC≡≥	132304	005337	151064			DEC	LBC
≠BGE≡≡LDBIN3≡≥	132310	002007				BGE	LDBIN3		;BR IF MORE DATA REMAINS 
≠TSTB≡≡$CKS11≡≥	132312	105737	151070			TSTB	$CKS11		;CORRECT CHECKSUM ?
≠BEQ≡≡LDBIN1≡≥	132316	001752				BEQ	LDBIN1		;BR IF GOOD CHECKSUM
≤PMSG≡≥					LDBINE:	PMSG	<\CKSUM ERR>
≡$PMSG≡≡$PMSG≡≥	132320	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	132322	146664				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	132324	000137	100004		$LDBNE:	JMP	$CNTLC
≥					
≠TST≡≡VERIFY≡≥	132330	005737	147730		LDBIN3:	TST	VERIFY
≠BNE≡≥	132334	001010				BNE	1$
≠CMP≡≡R5≡≡PRGSRT≡≥	132336	020527	100000			CMP	R5,#PRGSRT	;TRYING TO LOAD INTO KLDCP ?
≠BLO≡≥	132342	103403				BLO	10$		;NO
≤PMSG≡≥						PMSG	<\ADR ERR>
≡$PMSG≡≡$PMSG≡≥	132344	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	132346	146677				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡$LDBNE≡≥	132350	000765				BR	$LDBNE		;YES, BAD !!
≠MOVB≡≡R0≡≡R5≡≥	132352	110025			10$:	MOVB	R0,(R5)+	;STORE DATA 1 BYTE AT A TIME
≠BR≡≡LDBIN2≡≥	132354	000752				BR	LDBIN2		;LOOP
≥					
≠CMPB≡≡R0≡≡R5≡≥	132356	120015			1$:	CMPB	R0,(R5)
≠BNE≡≥	132360	001002				BNE	3$
≠INC≡≡R5≡≥	132362	005205			2$:	INC	R5
≠BR≡≡LDBIN2≡≥	132364	000746				BR	LDBIN2
≤PUSH≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 285
	DTA11 PAL[KL,SYS]	Page 11 	PROGRAM FILE LOADER, 4-SEPT-75

≥					3$:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡$PMSG≡≡$PMSG≡≥	132370	104025				$PMSG
≡$$LD11≡≡$$LD11≡≥	132372	131701				$$LD11			;"11 ERR,ADR="
≥					
≠MOV≡≡R5≡≡R0≡≥	132374	010500				MOV	R5,R0
≡PNTOCT≡≡PNTOCT≡≥	132376	104035				PNTOCT
≥					
≡$PMSG≡≡$PMSG≡≥	132400	104025				$PMSG
≡$$COR≡≡$$COR≡≥	132402	131715				$$COR			;"COR="
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≡PNTOCS≡≡PNTOCS≡≥	132406	104036				PNTOCS
≥					
≡PSPACE≡≡PSPACE≡≥	132410	104032				PSPACE
≡$PMSG≡≡$PMSG≡≥	132412	104025				$PMSG
≡$$ACT≡≡$$ACT≡≥	132414	131722				$$ACT			;"ACT="
≠MOVB≡≡R5≡≡R0≡≥	132416	111500				MOVB	(R5),R0
≠BIC≡≡R0≡≥	132420	042700	177400			BIC	#177400,R0
≡PNTOCS≡≡PNTOCS≡≥	132424	104036				PNTOCS
≡PCRLF≡≡PCRLF≡≥	132426	104031				PCRLF
≠BR≡≥	132430	000754				BR	2$
≥					
≡DVWRD≡≡DVWRD≡≥	132432	104164			LJMP:	DVWRD			;GET POSSIBLE XFER ADDRESS
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡DVFRAM≡≡DVFRAM≡≥	132436	104163				DVFRAM
≠TSTB≡≡$CKS11≡≥	132440	105737	151070			TSTB	$CKS11		;CORRECT CHECKSUM ?
≠BNE≡≡LDBINE≡≥	132444	001325				BNE	LDBINE		;BR IF BAD
≤POP≡≥						POP	R0		;SETUP START ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡LD11DN≡≥	132450	000667				BR	LD11DN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 286
	DTA11 PAL[KL,SYS]	Page 12 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;KL10 LOAD D-RAM ROUTINE
≥					
≥					;CALLS "WDRAM" WITH R0 = D-RAM ADDRESS
≥					;		    R1 = LOAD DATA ADDRESS
≥					
≠MOV≡≡LDCNT≡≡R2≡≥	132452	013702	150740		LDDRAM:	MOV	LDCNT,R2	;GET LOAD WORD COUNT
≠BEQ≡≥	132456	001437				BEQ	2$		;WC = 0, TRANSFER BLOCK
≠MOV≡≡LDADR≡≡R3≡≥	132460	013703	150742			MOV	LDADR,R3	;SETUP D-RAM ADDRESS
≠MOV≡≡LDATA≡≡R4≡≥	132464	012704	150744			MOV	#LDATA,R4	;DATA PICKUP ADDRESS
≥					
≠MOV≡≡R3≡≡R0≡≥	132470	010300			1$:	MOV	R3,R0		;D-RAM ADDRESS TO R0
≠MOV≡≡R4≡≡R1≡≥	132472	010401				MOV	R4,R1		;DATA ADDRESS TO R1
≥					
≠TST≡≡VERIFY≡≥	132474	005737	147730			TST	VERIFY
≠BNE≡≥	132500	001001				BNE	11$		;VERIFY D-RAM
≡WDRAM≡≡WDRAM≡≥	132502	104127				WDRAM			;WRITE D-RAM
≥					
≠MOV≡≡R3≡≡R0≡≥	132504	010300			11$:	MOV	R3,R0
≡RDRAM≡≡RDRAM≡≥	132506	104126				RDRAM			;READ D-RAM
≠MOV≡≡R0≡≡R5≡≥	132510	010005				MOV	R0,R5
≠BIC≡≡R0≡≥	132512	042710	000020			BIC	#20,(R0)	;CLEAR COMPUTED PARITY
≠CMP≡≡R0≡≡R1≡≥	132516	022021				CMP	(R0)+,(R1)+	;COMPARE EVEN WORD
≠BNE≡≥	132520	001020				BNE	20$
≠BIC≡≡R0≡≥	132522	042710	000020			BIC	#20,(R0)	;CLEAR COMPUTED PARITY
≠CMP≡≡R0≡≡R1≡≥	132526	022021				CMP	(R0)+,(R1)+	;COMPARE ODD WORD
≠BNE≡≥	132530	001014				BNE	20$
≠CMP≡≡R0≡≡R1≡≥	132532	021011				CMP	(R0),(R1)	;COMPARE COMMON WORD
≠BNE≡≥	132534	001012				BNE	20$
≠ADD≡≡R3≡≥	132536	062703	000002		21$:	ADD	#2,R3		;TO NEXT EVEN D-RAM ADDRESS
≠ADD≡≡R4≡≥	132542	062704	000006			ADD	#6,R4		;SETUP NEXT DATA PICKUP ADR
≠SUB≡≡R2≡≥	132546	162702	000003			SUB	#3,R2		;DECREMENT WORD COUNT
≠BGT≡≥	132552	003346				BGT	1$		;BR IF NOT DONE YET
≠BR≡≡$LLD2≡≥	132554	000473				BR	$LLD2		;BACK FOR NEXT LOAD FILE LINE
≥					
≠JMP≡≡LDDONE≡≥	132556	000137	131772		2$:	JMP	LDDONE		;LOAD FINISHED
≥					
≡$PMSG≡≡$PMSG≡≥	132562	104025			20$:	$PMSG
≡$$RAM≡≡$$RAM≡≥	132564	131727				$$RAM			;"RAM ERR,COR="
≠MOV≡≡R3≡≡R0≡≥	132566	010300				MOV	R3,R0
≠MOV≡≡R4≡≡R1≡≥	132570	010401				MOV	R4,R1
≡PNTDRM≡≡PNTDRM≡≥	132572	104143				PNTDRM			;PRINT CORRECT D-RAM
≥					
≡$PMSG≡≡$PMSG≡≥	132574	104025				$PMSG
≡$$ACT≡≡$$ACT≡≥	132576	131722				$$ACT			;"ACT="
≠MOV≡≡R3≡≡R0≡≥	132600	010300				MOV	R3,R0
≠MOV≡≡R5≡≡R1≡≥	132602	010501				MOV	R5,R1
≡PNTDRM≡≡PNTDRM≡≥	132604	104143				PNTDRM			;PRINT ACTUAL D-RAM
≠BR≡≥	132606	000753				BR	21$		;CONTINUE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 287
	DTA11 PAL[KL,SYS]	Page 13 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;KL10 C-RAM ZERO
≥					
≠COMMEN≡≥				COMMENT ⊗
≥				
≥				RAM file.  The RAM file is ascii-ized text. A RAM file consists of a
≥				Z-line, some C-lines, and some D-lines.  The Z-line zeros a selected
≥				region of the CRAM.  Each C-line loads one or more microcode words
≥				into the CRAM.  The D-lines load the DRAM.
≥				
≥				Z wc,addr,count,chksum<crlf>
≥					The "Z " and the commas and crlf are literal.  WC is ignored
≥					and may be an empty string.  ADDR is the first location in
≥					the CRAM to zero; COUNT is the number of words of CRAM to zero.
≥					If COUNT is zero, nothing is zeroed (one Z line must appear
≥					in the file).  Chksum, as always, is the negative of the 16-bit
≥					sum of all preceding fields.
≥				
≥				C wc,addr,w0pt0,w0pt1,w0pt2,w0pt3,w0pt4,w0pt5,w1pt0....,chksum
≥					WC is a multiple of 6. Six 16-bit fields are loaded into
≥					each CRAM word.  Note:  In octal format, denoted by CO, the
≥					fields above are partly reversed.  They appear in the order:
≥					Pt4,Pt3,Pt2,Pt1,Pt0,Pt5.  This is the same format as the
≥					EC and DC commands use.
≥					Pt5 is the spec field.  Other fields are:...
≥					A zero WC signifies the CRAM start address is in ADDR, and
≥					that D-lines follow.
≥				
≥				
≥				D wc,addr,w0pt0,w0pt1,w0pt2,w2tp0,w2pt1,w2pt2,....,chksum
≥					WC must be a multiple of 3.  Three 16-bit fields are loaded
≥					into an even-odd pair of DRAM locations specified by addr
≥					(which should be even).  WC=0 signifies end of file.
≥				
≥					⊗
≥					
≥					
≥					
≡MRESET≡≡MRESET≡≥	132610	104076			LDCZRO:	MRESET			;MASTER RESET
≠TST≡≡VERIFY≡≥	132612	005737	147730			TST	VERIFY
≠BNE≡≥	132616	001006				BNE	2$		;NO ZEROING IF VERIFY
≠MOV≡≡LDATA≡≡R1≡≥	132620	013701	150744			MOV	LDATA,R1	;GET C-RAM ZERO COUNT
≠BEQ≡≥	132624	001403				BEQ	2$		;0 ZERO COUNT, BYPASS ZEROING C-RAM
≠MOV≡≡LDADR≡≡R0≡≥	132626	013700	150742			MOV	LDADR,R0	;SETUP STARTING ADDRESS
≥					
≡MICNUL≡≡MICNUL≡≥	132632	104203				MICNUL			;ZERO C-RAM
≠INC≡≡LDCNTL≡≥	132634	005237	150734		2$:	INC	LDCNTL		;ADVANCE LOAD CONTROL TO C-RAM LOAD
≠BR≡≡$LLD2≡≥	132640	000441				BR	$LLD2
≥					
≥					;KL10 LOAD C-RAM ROUTINE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 288
	DTA11 PAL[KL,SYS]	Page 13.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥					
≥					;CALLS "WCRAM" WITH R0 = C-RAM ADDRESS
≥					;		    R1 = DATA PICKUP ADDRESS
≥					
≠MOV≡≡LDCNT≡≡R2≡≥	132642	013702	150740		LDCRAM:	MOV	LDCNT,R2	;GET LOAD WORD COUNT
≠BEQ≡≥	132646	001440				BEQ	2$		;WC = 0, TRANSFER BLOCK
≠MOV≡≡LDADR≡≡R3≡≥	132650	013703	150742			MOV	LDADR,R3	;SETUP C-RAM ADDRESS
≠BIS≡≡BIT14≡≡R3≡≥	132654	052703	040000			BIS	#BIT14,R3	;SET SPECIAL RESET BIT
≠MOV≡≡LDATA≡≡R4≡≥	132660	012704	150744			MOV	#LDATA,R4	;DATA PICKUP ADDRESS
≥					
≠TST≡≡LDOCTF≡≥	132664	005737	150736		1$:	TST	LDOCTF		;LOADING OCTAL ?
≠BNE≡≥	132670	001035				BNE	3$		;YES
≠MOV≡≡R3≡≡R0≡≥	132672	010300			4$:	MOV	R3,R0		;C-RAM ADDRESS TO R0
≠MOV≡≡R4≡≡R1≡≥	132674	010401				MOV	R4,R1		;DATA PICKUP ADDRESS TO R1
≥					
≠TST≡≡VERIFY≡≥	132676	005737	147730			TST	VERIFY
≠BNE≡≥	132702	001001				BNE	41$
≡WCRAM≡≡WCRAM≡≥	132704	104073				WCRAM			;WRITE C-RAM
≠MOV≡≡R3≡≡R0≡≥	132706	010300			41$:	MOV	R3,R0
≡RCRAM≡≡RCRAM≡≥	132710	104074				RCRAM			;READ C-RAM BACK
≥					
≠MOV≡≡R5≡≥	132712	012705	000006			MOV	#6,R5
≠MOV≡≡R4≡≡R1≡≥	132716	010401				MOV	R4,R1
≠CMP≡≡R0≡≡R1≡≥	132720	022021			11$:	CMP	(R0)+,(R1)+	;RAM LOADED PROPERLY ?
≠BNE≡≥	132722	001035				BNE	12$		;NO
≠DEC≡≡R5≡≥	132724	005305				DEC	R5
≠BNE≡≥	132726	001374				BNE	11$
≠INC≡≡R3≡≥	132730	005203			42$:	INC	R3		;TO NEXT C-RAM ADDRESS
≠ADD≡≡R4≡≥	132732	062704	000014			ADD	#12.,R4		;TO NEXT PICKUP ADDRESS
≠SUB≡≡R2≡≥	132736	162702	000006			SUB	#6,R2		;DECREMENT WORD COUNT, 6 11 WDS PER
≠BGT≡≥	132742	003350				BGT	1$		;BR IF NOT DONE YET
≡$LLD2≠≥		132744			$LLD2=.
≠JMP≡≡LLD2≡≥	132744	000137	131150			JMP	LLD2		;GET NEXT LOAD FILE LINE
≠MOV≡≡LDADR≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 289
	DTA11 PAL[KL,SYS]	Page 14 	PROGRAM FILE LOADER, 4-SEPT-75

≥	132750	013700	150742		2$:	MOV	LDADR,R0	;SELECT C-RAM STARTING ADDRESS
≡WWADR≡≡WWADR≡≥	132754	104075				WWADR			;WRITE ADDRESS TO C-RAM
≠INC≡≡LDCNTL≡≥	132756	005237	150734			INC	LDCNTL		;ADVANCE LOAD CONTROL TO D-RAM LOAD
≠BR≡≡$LLD2≡≥	132762	000770				BR	$LLD2
≥					
≥					;OCTAL C-RAM LOAD, DATA IS BACKWARDS FROM UPSIDE DOWN NORMAL
≥					
≠MOV≡≡R4≡≡R0≡≥	132764	011400			3$:	MOV	(R4),R0		;GET WORD 0
≠MOV≡≡R4≡≡R4≡≥	132766	016414	000010			MOV	10(R4),(R4)	;PUT WORD 5 IN 0'S PLACE
≠MOV≡≡R0≡≡R4≡≥	132772	010064	000010			MOV	R0,10(R4)	;PUT WORD 0 IN 5'S PLACE
≠MOV≡≡R4≡≡R0≡≥	132776	016400	000002			MOV	2(R4),R0	;GET WORD 1
≠MOV≡≡R4≡≡R4≡≥	133002	016464	000006	000002		MOV	6(R4),2(R4)	;PUT WORD 4 IN 1'S PLACE
≠MOV≡≡R0≡≡R4≡≥	133010	010064	000006			MOV	R0,6(R4)	;PUT WORD 1 IN 4'S PLACE
≠BR≡≥	133014	000726				BR	4$		;NOW GO LOAD IN C-RAM
≥					
≡$PMSG≡≡$PMSG≡≥	133016	104025			12$:	$PMSG			;"RAM ERR,COR="
≡$$RAM≡≡$$RAM≡≥	133020	131727				$$RAM
≠MOV≡≡R3≡≡R0≡≥	133022	010300				MOV	R3,R0
≠MOV≡≡R4≡≡R1≡≥	133024	010401				MOV	R4,R1
≡PNTCRM≡≡PNTCRM≡≥	133026	104142				PNTCRM
≡PCRLF≡≡PCRLF≡≥	133030	104031				PCRLF
≡$PMSG≡≡$PMSG≡≥	133032	104025				$PMSG
≡$$ACT≡≡$$ACT≡≥	133034	131722				$$ACT			;"ACT="
≠MOV≡≡R3≡≡R0≡≥	133036	010300				MOV	R3,R0
≠MOV≡≡$BUFRC≡≡R1≡≥	133040	012701	147514			MOV	#$BUFRC,R1
≡PNTCRM≡≡PNTCRM≡≥	133044	104142				PNTCRM
≡PCRLF≡≡PCRLF≡≥	133046	104031				PCRLF
≠BR≡≥	133050	000727				BR	42$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 290
	DTA11 PAL[KL,SYS]	Page 15 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;LOAD TEN CORE ZERO
≥					
≥					;  START ADDRESS, LOW 16 BITS IN LDADR
≥					;               , BITS 18 & 19 IN HI-BYTE OF LDCNT
≥					;  ZERO COUNT IN LDATA
≥					;  WORD COUNT SIGNIFIES NUMBER OF LDATA WORDS USED FOR ZEROING
≥					;  "D10ZRO" - INCREMENTS PDP-10 ADDRESS WHILE ZEROING
≥					
≠MOV≡≡L10ADR≡≡R3≡≥	133052	012703	147702		LDTEN:	MOV	#L10ADR+2,R3	;SETUP BLOCK START ADDRESS POINTER
≠CLR≡≡R3≡≥	133056	005013				CLR	(R3)
≠MOVB≡≡LDCNT≡≡R3≡≥	133060	113713	150741			MOVB	LDCNT+1,(R3)	;HI-BYTE OF LDCNT IS ADR BITS 18 & 19
≠MOV≡≡LDADR≡≡R3≡≥	133064	013743	150742			MOV	LDADR,-(R3)	;SETUP ADR BITS 20-35
≥					
≠TST≡≡LDZBLK≡≥	133070	005737	150730			TST	LDZBLK		;TEN CORE ZERO BLOCK ?
≠BEQ≡≡LDRDIN≡≥	133074	001425				BEQ	LDRDIN		;NO, LOAD DATA
≥					
≡SM≡≡SM≡≥	133076	104100			LDTENZ:	SM			;START MACHINE
≠BCC≡≥	133100	103002				 BCC	3$
≠JMP≡≡.XCTER≡≥	133102	000137	104566			JMP	.XCTER		;FAILED
≠TST≡≡VERIFY≡≥	133106	005737	147730		3$:	TST	VERIFY
≠BNE≡≥	133112	001015				BNE	2$		;DON'T ZERO IF VERIFY
≠MOV≡≡LDATA≡≡R4≡≥	133114	012704	150744			MOV	#LDATA,R4
≠MOVB≡≡LDCNT≡≡R2≡≥	133120	113702	150740			MOVB	LDCNT,R2	;IS WC = 0 ?
≠BEQ≡≥	133124	001410				BEQ	2$		;YES, NO ZEROING
≠MOV≡≡R3≡≡R1≡≥	133126	010301				MOV	R3,R1		;SETUP ADDRESS
≠MOV≡≡R4≡≡R0≡≥	133130	012400			1$:	MOV	(R4)+,R0	;SETUP ZERO COUNT
≡D10ZRO≡≡D10ZRO≡≥	133132	104112				D10ZRO			;DEPOSIT ZEROS, CLEARING CORE
≠BCS≡≡LD10ER≡≥	133134	103476				BCS	LD10ER
≠MOV≡≡.DPXAD≡≡R1≡≥	133136	012701	147704			MOV	#.DPXAD,R1
≠DEC≡≡R2≡≥	133142	005302				DEC	R2		;COMPLETED ALL ZEROS ?
≠BNE≡≥	133144	001371				BNE	1$		;NOT YET
≥					
≠BR≡≡$LLD2≡≥	133146	000676			2$:	BR	$LLD2		;ALL REQUESTED CORE ZEROED.
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 291
	DTA11 PAL[KL,SYS]	Page 16 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;LOAD TEN DATA
≥					
≥					;CALLS "DPOSVR" WITH R0 = LOAD DATA ADDRESS
≥					;		     R1 = PDP-10 ADDRESS
≥					
≠MOVB≡≡LDCNT≡≡R2≡≥	133150	113702	150740		LDRDIN:	MOVB	LDCNT,R2	;GET LOAD WORD COUNT
≠BEQ≡≥	133154	001423				BEQ	2$		;WC = 0, TRANSFER BLOCK
≠MOV≡≡LDATA≡≡R4≡≥	133156	012704	150744			MOV	#LDATA,R4	;DATA PICKUP ADDRESS
≥					
≠MOV≡≡R3≡≡R1≡≥	133162	010301			1$:	MOV	R3,R1
≠MOV≡≡R4≡≡R0≡≥	133164	010400				MOV	R4,R0		;SETUP DATA PICKUP ADDRESS
≥					
≠TST≡≡VERIFY≡≥	133166	005737	147730			TST	VERIFY
≠BNE≡≡LD10V≡≥	133172	001047				BNE	LD10V
≡DPOSVR≡≡DPOSVR≡≥	133174	104107				DPOSVR			;DEPOSIT & VERIFY
≠BCS≡≡LD10VR≡≥	133176	103423				BCS	LD10VR		;FAILED
≡$LRDIN≠≥		133200			$LRDIN=.
≠ADD≡≡R3≡≥	133200	062723	000001			ADD	#1,(R3)+	;INCREMENT 10 ADDRESS
≠ADC≡≡R3≡≥	133204	005513				ADC	(R3)
≠TST≡≡R3≡≥	133206	005743				TST	-(R3)
≠ADD≡≡R4≡≥	133210	062704	000006			ADD	#6,R4		;SETUP NEXT DATA PICKUP ADDRESS
≠SUB≡≡R2≡≥	133214	162702	000003			SUB	#3,R2		;DECREMENT WORD COUNT
≠BGT≡≥	133220	003360				BGT	1$		;BR IF NOT DONE YET
≠BR≡≡$LLD2≡≥	133222	000650				BR	$LLD2		;BACK FOR NEXT LOAD FILE LINE
≥					
≠MOV≡≡PGOADR≡≡R4≡≥	133224	012704	157204		2$:	MOV	#PGOADR,R4
≠MOV≡≡R3≡≡R4≡≥	133230	012324				MOV	(R3)+,(R4)+	;TRANSFER START ADDRESS
≠MOV≡≡R3≡≡R4≡≥	133232	011314				MOV	(R3),(R4)	;TO GO ADDRESS
≠MOV≡≡PGOCTL≡≥	133234	012737	000002	157202		MOV	#2,PGOCTL
≠JMP≡≡LDDONE≡≥	133242	000137	131772			JMP	LDDONE
≠BMI≡≡LD10ER≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 292
	DTA11 PAL[KL,SYS]	Page 17 	PROGRAM FILE LOADER, 4-SEPT-75

≥	133246	100431			LD10VR:	BMI	LD10ER		;N-BIT SET DEPOSIT FAILED
≠BEQ≡≡LD10ER≡≥	133250	001430				BEQ	LD10ER		;Z-BIT SET, EXAMINE FAILED
≡LD10VE≠≥		133252			LD10VE=.
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≡$PMSG≡≡$PMSG≡≥	133254	104025				$PMSG			;"10 ERR,ADR="
≡$$TEN≡≡$$TEN≡≥	133256	131745				$$TEN
≠MOV≡≡L10ADR≡≡R0≡≥	133260	012700	147700			MOV	#L10ADR,R0
≡PNTADR≡≡PNTADR≡≥	133264	104137				PNTADR
≥					
≡$PMSG≡≡$PMSG≡≥	133266	104025				$PMSG
≡$$COR≡≡$$COR≡≥	133270	131715				$$COR			;"COR="
≠MOV≡≡R4≡≡R0≡≥	133272	010400				MOV	R4,R0
≡PNT36≡≡PNT36≡≥	133274	104042				PNT36
≥					
≡$PMSG≡≡$PMSG≡≥	133276	104025				$PMSG
≡$$ACT≡≡$$ACT≡≥	133300	131722				$$ACT			;"ACT="
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≡PNT36≡≡PNT36≡≥	133304	104042				PNT36
≡PCRLF≡≡PCRLF≡≥	133306	104031				PCRLF
≠BR≡≡$LRDIN≡≥	133310	000733				BR	$LRDIN
≥					
≠MOV≡≡R1≡≡R0≡≥	133312	010100			LD10V:	MOV	R1,R0
≡EXAM≡≡EXAM≡≥	133314	104103				EXAM			;EXAMINE PRESENT CONTENTS
≠BCS≡≡LD10ER≡≥	133316	103405				BCS	LD10ER		;CAN'T EXAMINE
≠MOV≡≡R0≡≡R1≡≥	133320	010001				MOV	R0,R1
≠MOV≡≡R4≡≡R0≡≥	133322	010400				MOV	R4,R0
≡CMPR36≡≡CMPR36≡≥	133324	104052				CMPR36			;COMPARE WITH LOAD FILE
≠BCC≡≡$LRDIN≡≥	133326	103324				BCC	$LRDIN		;OK
≠BR≡≡LD10VE≡≥	133330	000750				BR	LD10VE		;BAD
≥					
≡$PMSG≡≡$PMSG≡≥	133332	104025			LD10ER:	$PMSG			;"10 ERR,ADR="  
≡$$TEN≡≡$$TEN≡≥	133334	131745				$$TEN
≠MOV≡≡L10ADR≡≡R0≡≥	133336	012700	147700			MOV	#L10ADR,R0
≡PNTADR≡≡PNTADR≡≥	133342	104137				PNTADR
≠JMP≡≡$CNTLC≡≥	133344	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 293
	DTA11 PAL[KL,SYS]	Page 18 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;DEVICE FILE DIRECTORY LOOKUP
≥					
≡SETFLG≡≡SETFLG≡≥	133350	104055			DEVFIL:	SETFLG			;INIT DEVICE LINE COUNT
≡DEVLC≡≡DEVLC≡≥	133352	150724				  DEVLC
≡TTPINI≡≡TTPINI≡≥	133354	104217				TTPINI			;INIT TTY POINTERS
≠CLR≡≡$OUTBF≡≥	133356	005037	150254			CLR	$OUTBF
≠TST≡≡DEVTYP≡≥	133362	005737	157310			TST	DEVTYP		;LOAD FROM WHAT DEVICE ?
≠BEQ≡≡DTFIL≡≥	133366	001405				BEQ	DTFIL		;  0 = DECTAPE
≠BMI≡≥	133370	100402				BMI	1$		; -1 = ACT10
≠JMP≡≡RPFIL≡≥	133372	000137	100574			JMP	RPFIL		;  1 = RP04
≥					
≠.IIF≡≡RPASB≡≡$CMDER≡≡RPFIL≠≥		100574			.IIF NDF RPASB,RPFIL==$CMDER
≠.IF≡≡MONASB≡≥					.IF NDF MONASB
≠JMP≡≡$CMDER≡≥	133376	000137	100574		1$:	JMP $CMDER
≥					.IFF
≥					1$:	JMP	ACTFIL
≥					.ENDC
≥					
≠TST≡≡FLOPPY≡≥	133402	005737	157306		DTFIL:	TST	FLOPPY
≠BEQ≡≥	133406	001402				BEQ	10$
≡RXFILE≡≡RXFILE≡≥	133410	104230				RXFILE			;FLOPPY
≠BR≡≥	133412	000401				BR	11$
≡DTAFIL≡≡DTAFIL≡≥	133414	104207			10$:	DTAFILE
≠BCS≡≥	133416	103402			11$:	BCS	1$
≠JMP≡≡DTRPLD≡≥	133420	000137	131124			JMP	DTRPLD
≠JMP≡≡$NONXF≡≥	133424	000137	134146		1$:	JMP	$NONXF		;NON-EX FILE
≥					
≥					;DECTAPE FORMAT
≥					;FIRST DIRECTORY BLOCK = 102 (8)
≥					
≥					;FILE DIRECTORY BLOCK
≥					;	LINK TO NEXT BLOCK
≥					;	1 - FILE NAME 1
≥					;	2 - FILE NAME 2
≥					;	3 - FILE EXTENSION
≥					;	4 - DATE
≥					;	5 - SPARE
≥					;	6 - START BLOCK #
≥					;	7 - LENGTH
≥					;	8 - END BLOCK #
≥					;	9 - SPARE
≥					;FILE DATA BLOCK
≥					;	LINK TO NEXT BLOCK
≥					;	255 DATA WORDS
≥					
≥					;DECTAPE PROGRAM FILE SEARCH
≥					
≡DTINIT≡≡DTINIT≡≥	133430	104156			$DTAFILE:DTINIT			;DECTAPE INITIALIZATION
≠TST≡≡FLOPPY≡≥	133432	005737	157306		DTAFL1:	TST	FLOPPY
≠BEQ≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 294
	DTA11 PAL[KL,SYS]	Page 18.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	133436	001402				BEQ	20$
≡RXRDFL≡≡RXRDFL≡≥	133440	104232				RXRDFL			;FLOPPY READ FILE
≠BR≡≥	133442	000401				BR	21$
≡DTRDFL≡≡DTRDFL≡≥	133444	104211			20$:	DTRDFL			;READ UFD DIRECTORY BLOCK
≠BCS≡≥	133446	103500			21$:	BCS	11$		;EOF, CAN'T FIND FILE
≠MOV≡≡R0≡≡R0≡≥	133450	011000				MOV	(R0),R0		;PUT FIRST BUFFER ADR IN R0
≠MOV≡≡R1≡≥	133452	012701	000034			MOV	#28.,R1		;28 ENTRIES IN DIRECTORY
≠MOV≡≡R0≡≡DIRST0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 295
	DTA11 PAL[KL,SYS]	Page 19 	PROGRAM FILE LOADER, 4-SEPT-75

≥	133456	012037	151146		1$:	MOV	(R0)+,DIRST0	;STORE RAD50 NAME
≠MOV≡≡R0≡≡DIRST1≡≥	133462	012037	151150			MOV	(R0)+,DIRST1
≠MOV≡≡R0≡≡DTEXT≡≥	133466	012037	151144			MOV	(R0)+,DTEXT	;STORE RAD50 EXT
≠CMP≡≡R0≡≡R0≡≥	133472	022020				CMP	(R0)+,(R0)+	;SKIP 2 WORDS
≠MOV≡≡R0≡≡DTSTRT≡≥	133474	012037	151132			MOV	(R0)+,DTSTRT	;SAVE STARTING BLOCK #
≠MOV≡≡R0≡≡DTLNGT≡≥	133500	012037	151134			MOV	(R0)+,DTLNGTH	;SAVE LENGTH
≠CMP≡≡R0≡≡R0≡≥	133504	022020				CMP	(R0)+,(R0)+	;MOVE TO NEXT ENTRY
≤PUSH≡≥						PUSH	<R0,R1>
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≡R50UPK≡≡R50UPK≡≥	133512	104155				R50UPK			;UNPACK NAME
≡DIRST0≡≡DIRST0≡≥	133514	151146		
≡DIRST2≡≥	133516	151152				 DIRST0,DIRST2
≠BCS≡≥	133520	103446				BCS	10$
≡R50UPK≡≡R50UPK≡≥	133522	104155				R50UPK
≡DIRST1≡≡DIRST1≡≥	133524	151150		
≡DIRST3≡≥	133526	151155				 DIRST1,DIRST3+1
≠BCS≡≥	133530	103442				BCS	10$
≡R50UPK≡≡R50UPK≡≥	133532	104155				R50UPK			;UNPACK EXTENSION
≡DTEXT≡≡DTEXT≡≥	133534	151144		
≡DTEXTS≡≥	133536	151136				 DTEXT,DTEXTS
≠BCS≡≥	133540	103436				BCS	10$		;ERROR RETURN
≥					
≠TST≡≡DVDIRF≡≥	133542	005737	151124			TST	DVDIRF		;DOING "DIR" ?
≠BNE≡≡$DTDI1≡≥	133546	001042				BNE	$DTDI1		;YES
≥					
≠MOV≡≡NAMBF≡≡R3≡≥	133550	012703	151160			MOV	#NAMBF,R3	;LOAD ADDRESS OF INPUT DATA
≠MOV≡≡DIRST2≡≡R4≡≥	133554	012704	151152			MOV	#DIRST2,R4	;LOAD ADDRESS OF TABLE
≠MOV≡≡R0≡≥	133560	012700	000006			MOV	#6,R0		;SET COUNT
≠CMPB≡≡R3≡≡R4≡≥	133564	122324			3$:	CMPB	(R3)+,(R4)+	;CHECK NAME DATA
≠BNE≡≥	133566	001023				BNE	10$		;BR IF NOT SAME
≠DEC≡≡R0≡≥	133570	005300				DEC	R0		;DONE 6 TIMES ?
≠BNE≡≥	133572	001374				BNE	3$		;BR IF NOT
≠MOV≡≡EXTBF≡≡R3≡≥	133574	012703	151166			MOV	#EXTBF,R3	;LOAD ADDRESS OF EXT INPUT
≠MOV≡≡DTEXTS≡≡R4≡≥	133600	012704	151136			MOV	#DTEXTS,R4	;LOAD ADDRESS OF EXT STOR
≠MOV≡≡R0≡≥	133604	012700	000003			MOV	#3,R0		;SET COUNT 3 CHARS
≠CMPB≡≡R3≡≡R4≡≥	133610	122324			6$:	CMPB	(R3)+,(R4)+	;CHECK EXT DATA
≠BNE≡≥	133612	001011				BNE	10$		;BR IF NOT SAME
≠DEC≡≡R0≡≥	133614	005300				DEC	R0		;DONE 3 TIMES ?
≠BNE≡≥	133616	001374				BNE	6$		;BR IF NOT
≤POP≡≥						POP	<R1,R0>
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠MOV≡≡DTSTRT≡≡DVBUF≡≥	133624	013737	151132	151172		MOV	DTSTRT,DVBUF	;LOAD STARTING BLOCK
≤EXIT≡≥						EXIT			;NOW GO LOAD FILE
≠JMP≡≡$EXIT≡≥	133632	000137	124064			  JMP	$EXIT
≡$DTDI2≠≥		133636			$DTDI2=.
≤POP≡≥					10$:	POP	<R1,R0>
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠DEC≡≡R1≡≥	133642	005301				DEC	R1		;BEEN THRU 28 ENTRIES ?
≠BNE≡≥	133644	001304				BNE	1$		;NOT YET
≠BR≡≡DTAFL1≡≥	133646	000671				BR	DTAFL1		;TRY NEXT UFD BLOCK
≥					
≤EXITER≡≥					11$:	EXITERR
≠JMP≡≡$EXITE≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 296
	DTA11 PAL[KL,SYS]	Page 19.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	133650	000137	124036			  JMP	$EXITE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 297
	DTA11 PAL[KL,SYS]	Page 20 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;DECTAPE/FLOPPY DIRECTORY ROUTINE
≥					
≠CLR≡≡NAMBF≡≥	133654	005037	151160		$DTDI1:	CLR	NAMBF
≠CLR≡≡DTEXT≡≥	133660	005037	151144			CLR	DTEXT
≠CMP≡≡DIRST2≡≥	133664	022737	020040	151152		CMP	#020040,DIRST2	;DON'T PRINT SPACES
≠BEQ≡≥	133672	001414				BEQ	1$
≥					
≡$PMSG≡≡$PMSG≡≥	133674	104025				$PMSG			;PRINT "FILE"
≡DIRST2≡≡DIRST2≡≥	133676	151152				  DIRST2
≥					
≡PSPACE≡≡PSPACE≡≥	133700	104032				PSPACE
≥					
≡$PMSG≡≡$PMSG≡≥	133702	104025				$PMSG			;PRINT "EXT"
≡DTEXTS≡≡DTEXTS≡≥	133704	151136				  DTEXTS
≥					
≠MOV≡≡TAB≡≡R0≡≥	133706	012700	000011			MOV	#TAB,R0
≡PNTCHR≡≡PNTCHR≡≥	133712	104027				PNTCHR
≠MOV≡≡DTLNGT≡≡R0≡≥	133714	013700	151134			MOV	DTLNGTH,R0
≡PNTDEC≡≡PNTDEC≡≥	133720	104037				PNTDEC			;PRINT NUMBER OF BLOCKS
≥					
≡PCRLF≡≡PCRLF≡≥	133722	104031				PCRLF
≠BR≡≡$DTDI2≡≥	133724	000744			1$:	BR	$DTDI2		;GO DO NEXT
≥					
≡TTITRM≡≡TTITRM≡≥	133726	104022			$DI:	TTITRM
≡PNORML≡≡PNORML≡≥	133730	104044				PNORML
≠TST≡≡DEVTYP≡≥	133732	005737	157310			TST	DEVTYP
≠BEQ≡≡$DTDIR≡≥	133736	001403				BEQ	$DTDIR		;DECTAPE
≠BMI≡≥	133740	100400				BMI	1$		;ILLEGAL ON ACT10
≠.LIF≡≡RPASB≡≥					.LIF DF RPASB
≥						JMP	$RPDIR		;RP04
≥					
≠JMP≡≡$CMDE≡≥	133742	000137	113364		1$:	JMP	$CMDE
≥					
≡SETFLG≡≡SETFLG≡≥	133746	104055			$DTDIR:	SETFLG
≡DVDIRF≡≡DVDIRF≡≥	133750	151124				  DVDIRF		;SET DIRECTORY FLAG
≠TST≡≡FLOPPY≡≥	133752	005737	157306			TST	FLOPPY
≠BEQ≡≥	133756	001402				BEQ	1$
≡RXFILE≡≡RXFILE≡≥	133760	104230				RXFILE			;FLOPPY
≠BR≡≥	133762	000401				BR	2$
≡DTAFIL≡≡DTAFIL≡≥	133764	104207			1$:	DTAFILE
≠JMP≡≡$CONSL≡≥	133766	000137	100014		2$:	JMP	$CONSL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 298
	DTA11 PAL[KL,SYS]	Page 21 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;READ DEVICE FRAME SUBROUTINE
≥					
≠TST≡≡DVCNT≡≥	133772	005737	151126		$DVFRAM:TST	DVCNT		;USED ALL DATA ?
≠BGT≡≥	133776	003002				BGT	1$		;NO
≥					
≡DVDATA≡≡DVDATA≡≥	134000	104160				DVDATA			;YES, READ NEXT BLOCK
≠BCS≡≡DVEOF≡≥	134002	103431				BCS	DVEOF		;EOF
≥					
≠MOVB≡≡DVADR≡≡R0≡≥	134004	117700	015120		1$:	MOVB	@DVADR,R0	;GET ONE BYTE
≠INC≡≡DVADR≡≥	134010	005237	151130			INC	DVADR		;INCREMENT PICKUP ADDRESS
≠DEC≡≡DVCNT≡≥	134014	005337	151126			DEC	DVCNT		;COUNT IT
≠BIC≡≡R0≡≥	134020	042700	177400			BIC	#177400,R0	;CLEAR JUNK, CHAR IS 8 BITS
≠ADD≡≡R0≡≡$CKS11≡≥	134024	060037	151070			ADD	R0,$CKS11
≠BR≡≡$$DVX≡≥	134030	000444				BR	$$DVX
≥					
≥					;READ DEVICE BUFFER SUBROUTINE
≥					
≥					$DVDATA:
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥						TST	DEVTYP
≥						BNE	4$
≥					.ENDC
≥					
≠TST≡≡FLOPPY≡≥	134032	005737	157306			TST	FLOPPY
≠BEQ≡≥	134036	001402				BEQ	1$
≡RXRDFL≡≡RXRDFL≡≥	134040	104232				RXRDFL			;FLOPPY
≠BR≡≥	134042	000401				BR	11$
≡DTRDFL≡≡DTRDFL≡≥	134044	104211			1$:	DTRDFL			;DECTAPE READ
≠BCS≡≥	134046	103405			11$:	BCS	3$		;EOF
≠MOV≡≡R0≡≡DVADR≡≥	134050	012037	151130		2$:	MOV	(R0)+,DVADR	;SAVE BUFFER ADDRESS
≠MOV≡≡R0≡≡DVCNT≡≥	134054	011037	151126			MOV	(R0),DVCNT	;SAVE BUFFER BYTE COUNT
≠BR≡≡$$DVX≡≥	134060	000430				BR	$$DVX
≥					
≤EXITER≡≥					3$:	EXITERR			;EOF
≠JMP≡≡$EXITE≡≥	134062	000137	124036			  JMP	$EXITE
≥					
≠.IF≡≡RPASB≡≥					.IF DF RPASB
≥					4$:	MOV	#FILDSB,R0
≥						RPRDFL			;RP04 FILE DATA BLOCK READ
≥						BCC	2$
≥					
≥						CMP	#1,R0		;ERROR, EOF ?
≥						BEQ	DVEOF		;YES
≥						RPERROR			;NO, JUST ERROR
≥					.ENDC
≠TST≡≡LDCNTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 299
	DTA11 PAL[KL,SYS]	Page 22 	PROGRAM FILE LOADER, 4-SEPT-75

≥	134066	005737	150734		DVEOF:	TST	LDCNTL		;EOF, PRINTING A HELP FILE ?
≠BMI≡≥	134072	100404				BMI	1$		;YES
≤PMSG≡≥						PMSG	<\EOF ?>
≡$PMSG≡≡$PMSG≡≥	134074	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	134076	146710				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	134100	000137	100004			JMP	$CNTLC
≠JMP≡≡DAHLPD≡≥	134104	000137	140400		1$:	JMP	DAHLPD
≥					
≥					;ASSEMBLE ONE 16 BIT DATA WORD
≥					
≡DVFRAM≡≡DVFRAM≡≥	134110	104163			$DVWRD:	DVFRAM			;READ FRAME
≠MOV≡≡R0≡≡LTMP≡≥	134112	010037	151066			MOV	R0,LTMP
≡DVFRAM≡≡DVFRAM≡≥	134116	104163				DVFRAM			;GET ANOTHER FRAME
≠SWAB≡≡R0≡≥	134120	000300				SWAB	R0		;PLACE IN HIGH ORDER BYTE
≠BIS≡≡R0≡≡LTMP≡≥	134122	050037	151066			BIS	R0,LTMP		;PUT 2 BYTES TOGETHER
≠MOV≡≡LTMP≡≡R0≡≥	134126	013700	151066			MOV	LTMP,R0		;PUT BACK IN R0
≠BR≡≡$$DVX≡≥	134132	000403				BR	$$DVX
≥					
≥					;DECTAPE INITIALIZATION
≥					
≠MOV≡≡DVBUF≡≥	134134	012737	000102	151172	$DTINIT:MOV	#102,DVBUF	;SET STARTING BLOCK NUMBER
≤EXIT≡≥					$$DVX:	EXIT
≠JMP≡≡$EXIT≡≥	134142	000137	124064			  JMP	$EXIT
≥					
≥					;FILE NOT FOUND
≥					
≠TST≡≡DIAFLG≡≥	134146	005737	151120		$NONXF:	TST	DIAFLG		;DOING "DIAMON" FILE SELECTION ?
≠BEQ≡≥	134152	001402				BEQ	1$		;NO
≠JMP≡≡DIANF≡≥	134154	000137	112234			JMP	DIANF		;YES, "DIAMON" FILE NOT FOUND
≥					
≤PMSG≡≥					1$:	PMSG	<NON-EX FILE>
≡$PMSG≡≡$PMSG≡≥	134160	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	134162	146717				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	134164	000137	100004			JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 300
	DTA11 PAL[KL,SYS]	Page 23 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;RAD50 UNPACK SUBROUTINE
≥					
≠ADD≡≡SP≡≥	134170	062766	000004	000012	$R50UPK:ADD	#4,12(SP)	;RETURN OVER TRAILING PARAMETERS
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡$EMADR≡≡R5≡≥	134200	013705	147634			MOV	$EMADR,R5
≠MOV≡≡R5≡≡R4≡≥	134204	012504				MOV	(R5)+,R4	;RAD50 ADDRESS TO R4
≠MOV≡≡R4≡≡R4≡≥	134206	011404				MOV	(R4),R4		;RAD50 VALUE TO R4
≠MOV≡≡R5≡≡R3≡≥	134210	011503				MOV	(R5),R3		;STORE ADDRESS TO R3
≠MOV≡≡R1≡≥	134212	012701	000002			MOV	#2,R1
≠MOV≡≥	134216	012746	777777			MOV	#-1,-(6)	;SET STACK STOP
≠MOV≡≡R4≡≥	134222	010446			1$:	MOV	R4,-(6)		;SAVE PREVIOUS VALUE
≠CLR≡≡R4≡≥	134224	005004				CLR	R4		;CLEAR R4 FOR NEXT REMAINDER
≠MOV≡≡R0≡≥	134226	011600			2$:	MOV	(6),R0		;TAKE 3/4 OF VALUE
≠BISB≡≡PC≡≡R0≡≥	134230	151700				BISB	@PC,R0		;???????
≠MOV≡≡R0≡≡R2≡≥	134232	010002				MOV	R0,R2
≠ROR≡≡R2≡≥	134234	006002				ROR	R2
≠ASR≡≡R2≡≥	134236	006202				ASR	R2
≠SUB≡≡R2≡≡R0≡≥	134240	160200				SUB	R2,R0
≠BIC≡≡R0≡≥	134242	042700	000037			BIC	#37,R0		;PREPARE TO TAKE 1/4 OF RESULT
≠SUB≡≡R0≡≥	134246	160016				SUB	R0,(6)		;BUT REDUCE ORIGINAL BY 3/4
≠ROR≡≡R0≡≥	134250	006000				ROR	R0		;GET 3/16 OF ORIGINAL
≠ASR≡≡R0≡≥	134252	006200				ASR	R0
≠SUB≡≡R0≡≥	134254	160016				SUB	R0,(6)
≠ADD≡≡R0≡≡R4≡≥	134256	060004				ADD	R0,R4		;THIS GIVES 1ST APPROXIMATION
≠CMP≡≥	134260	021627	000047			CMP	(6),#47		;LOW AS POSSIBLE ?
≠BHI≡≥	134264	101360				BHI	2$		;IF SO THIS IS BYTE REQUIRED
≠ASR≡≡R4≡≥	134266	006204				ASR	R4
≠ASR≡≡R4≡≥	134270	006204				ASR	R4
≠ASR≡≡R4≡≥	134272	006204				ASR	R4
≠DEC≡≡R1≡≥	134274	005301				DEC	R1		;DONE 2 BYTES ?
≠BNE≡≥	134276	001351				BNE	1$		;BR IF NOT
≠CMPB≡≡R4≡≥	134300	120427	000047			CMPB	R4,#47		;LAST BYTE TOO BIG ?
≠BHI≡≥	134304	101005				BHI	4$		;IF YES, ERROR
≠TSTB≡≡R4≡≥	134306	105704			3$:	TSTB	R4		;SPACE ?
≠BEQ≡≥	134310	001414				BEQ	6$		;IF YES, ADD 40
≠CMPB≡≡R4≡≥	134312	120427	000035			CMPB	R4,#35		;IF UNUSED CODE ....
≠BNE≡≥	134316	001003				BNE	5$
≠MOV≡≡R4≡≥	134320	012704	000130		4$:	MOV	#'X,R4		;ASCII X TO R4
≠BR≡≥	134324	000414				BR	9$		;GO TO ERROR EXIT
≠CMPB≡≡R4≡≥	134326	120427	000033		5$:	CMPB	R4,#33		;$ ?
≠BEQ≡≥	134332	001407				BEQ	8$		;IF YES, GO ADD 11
≠BHI≡≥	134334	101004				BHI	7$		;FOR DIGIT OR DOT ADD 22
≠ADD≡≡R4≡≥	134336	062704	000040			ADD	#40,R4		;FOR LETTER ADD 100
≠ADD≡≡R4≡≥	134342	062704	000016		6$:	ADD	#16,R4
≠ADD≡≡R4≡≥	134346	062704	000011		7$:	ADD	#11,R4
≠ADD≡≡R4≡≥	134352	062704	000011		8$:	ADD	#11,R4
≠MOVB≡≡R4≡≥	134356	110423			9$:	MOVB	R4,(3)+		;STORE RESULT
≠MOV≡≡R4≡≥	134360	012604				MOV	(6)+,R4		;GET NEXT BYTE
≠BPL≡≥	134362	100351				BPL	3$		;BR IF NOT STACK STOP
≤POP≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 301
	DTA11 PAL[KL,SYS]	Page 23.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠BR≡≡$$DVX≡≥	134366	000665			$$$DVX:	BR	$$DVX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 302
	DTA11 PAL[KL,SYS]	Page 24 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;DECTAPE READ/WRITE FILE ROUTINES
≥					
≠TST≡≡DVBUF≡≥	134370	005737	151172		$DTRDFL:TST	DVBUF		;ANY DATA BLOCKS REMAINING ?
≠BNE≡≡$DTRFL≡≥	134374	001002				BNE	$DTRFL		;YES
≤EXITER≡≥					$$DTXE:	EXITERR			;NO
≠JMP≡≡$EXITE≡≥	134376	000137	124036			  JMP	$EXITE
≥					
≠MOV≡≡DVBUF≡≡DTBLK≡≥	134402	013737	151172	151052	$DTRFL:	MOV	DVBUF,DTBLK	;SET REQUESTED BLOCK
≠MOV≡≡DVBUF≡≡CASAV≡≥	134410	012737	151172	151054		MOV	#DVBUF,CASAV	;SET BUFFER ADDRESS
≠MOV≡≡WCSAV≡≥	134416	012737	777400	151056		MOV	#-256.,WCSAV	;SET WORD COUNT
≥					
≡DTREAD≡≡DTREAD≡≥	134424	104161				DTREAD			;DECTAPE READ
≠BCS≡≡$$DTXC≡≥	134426	103404				 BCS	$$DTXC		;FAILED
≥					
≠MOV≡≡$DTINF≡≡R0≡≥	134430	012700	134466			MOV	#$DTINFO,R0
≤EXIT≡≥					$$DTX:	EXIT
≠JMP≡≡$EXIT≡≥	134434	000137	124064			  JMP	$EXIT
≥					
≠JMP≡≡$CNTLC≡≥	134440	000137	100004		$$DTXC:	JMP	$CNTLC		;FAILED
≥					
≠MOV≡≡DVBUF≡≡CASAV≡≥	134444	012737	151172	151054	$DTWTFL:MOV	#DVBUF,CASAV
≠MOV≡≡WCSAV≡≥	134452	012737	777400	151056		MOV	#-256.,WCSAV
≥					
≡DTWRT≡≡DTWRT≡≥	134460	104205				DTWRT			;WRITE DECTAPE
≠BCC≡≡$$DTX≡≥	134462	103364				 BCC	$$DTX		;OK
≠BR≡≡$$DTXC≡≥	134464	000765				BR	$$DTXC		;FAILED
≥					
≡DVBUF≡≡DVBUF≡≥	134466	151174			$DTINFO:DVBUF+2			;FIRST USABLE DATA WORD
≥	134470	000776				510.			;BYTE COUNT
≥					
≠MOV≡≡DTBLK≡≡R0≡≥	134472	012700	151052		$DTBASE:MOV	#DTBLK,R0	;RETURN PARAMETER BASE ADDRESS
≠BR≡≡$$DTX≡≥	134476	000756				BR	$$DTX
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 303
	DTA11 PAL[KL,SYS]	Page 25 	PROGRAM FILE LOADER, 4-SEPT-75

≥					;DECTAPE DEVICE READ/WRITE ROUTINE
≥					
≠MOV≡≡TCRDAT≡≡TCDO≡≡R0≡≥	134500	012700	000005		$DTREAD:MOV	#TCRDATA+TCDO,R0
≠BR≡≡$DTXFR≡≥	134504	000402				BR	$DTXFR
≥					
≠MOV≡≡TCWDAT≡≡TCDO≡≡R0≡≥	134506	012700	000015		$DTWRT:	MOV	#TCWDATA+TCDO,R0
≥					
≠MOV≡≡R0≡≡DTXCMD≡≥	134512	010037	151060		$DTXFR:	MOV	R0,DTXCMD	;SAVE COMMAND
≠MOV≡≡TRYCTR≡≥	134516	012737	000003	151062		MOV	#3,TRYCTR	;SET MAXIMUM TRY COUNT, 3.
≥					
≠MOVB≡≡DTUNIT≡≡R4≡≥	134524	113704	157277		$DTXF1:	MOVB	DTUNIT+1,R4	;SETUP UNIT
≠MOV≡≡WCSAV≡≡TCWC≡≥	134530	013737	151056	177344		MOV	WCSAV,@#TCWC	;SETUP WORD COUNT
≠MOV≡≡CASAV≡≡TCBA≡≥	134536	013737	151054	177346		MOV	CASAV,@#TCBA	;SETUP READ ADDRESS
≠MOV≡≡TCRNUM≡≡TCDO≡≡R0≡≥	134544	012700	000003			MOV	#TCRNUM+TCDO,R0
≠MOV≡≡TCCM≡≡R1≡≥	134550	012701	177342			MOV	#TCCM,R1
≠MOV≡≡TCREV≡≡R3≡≥	134554	012703	004000			MOV	#TCREV,R3
≠MOV≡≡DTBLK≡≡R2≡≥	134560	013702	151052			MOV	DTBLK,R2	;SETUP BLOCK # AND DIRECTION
≠BPL≡≡$DTXF2≡≥	134564	100004				BPL	$DTXF2
≠NEG≡≡R2≡≥	134566	005402				NEG	R2
≠ADD≡≡R4≡≥	134570	062704	000010			ADD	#10,R4		;REVERSE, SET REV INDICATOR
≠BIS≡≡R3≡≡R0≡≥	134574	050300				BIS	R3,R0		;START UP IN REVERSE
≥					
≠MOV≡≡REVCNT≡≥	134576	012737	000006	151074	$DTXF2:	MOV	#6,REVCNT	;SET MAXIMUM REVERSAL COUNT, 6.
≠CLR≡≡INTSW≡≥	134604	005037	151072			CLR	INTSW		;SET INTSW FOR SEARCH
≥					
≤PUSH≡≥					$DTXF3:	PUSH	R3
≠.NLIST≡≠.IRP≡≠MOV≡≡R3≡≡SP≡≠.LIST≡≠JSR≡≡PC≡≡$TIRDY≡≥	134612	004737	120670			JSR	PC,$TIRDY	;ANY OPERATOR INTERRUPTS ?
≠BCS≡≥	134616	103413				BCS	2$		;NO
≠MOVB≡≡$TICHR≡≡R3≡≥	134620	113703	147744			MOVB	$TICHR,R3	;GET CHAR
≠BICB≡≡R3≡≥	134624	142703	000200			BICB	#200,R3
≠CMPB≡≡CNTRLC≡≡R3≡≥	134630	122703	000003			CMPB	#CNTRLC,R3	;IS IT CONTROL C ?
≠BNE≡≥	134634	001004				BNE	2$		;NO
≠BIC≡≡R1≡≥	134636	042711	000116			BIC	#116,(R1)	;YES, STOP DECTAPE
≠JMP≡≡$TICC≡≥	134642	000137	120524			JMP	$TICC		;AND ABORT
≤POP≡≥					2$:	POP	R3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R3≡≠.LIST≡≠BIS≡≡DTUNIT≡≡R0≡≥	134650	053700	157276			BIS	DTUNIT,R0	;SELECT UNIT
≠MOV≡≡R0≡≡R1≡≥	134654	010011				MOV	R0,(R1)		;SET TCCM
≠BIT≡≡TCERR≡≡TCRDY≡≡R1≡≥	134656	032711	100200		1$:	BIT	#TCERR+TCRDY,(R1) ;WAIT FOR DONE OR ERROR
≠BEQ≡≥	134662	001775				BEQ	1$
≠BMI≡≡DTER≡≥	134664	100445				BMI	DTER		;BR IF ERROR
≠TSTB≡≡INTSW≡≥	134666	105737	151072			TSTB	INTSW		;SEARCH OR TRANSFER ?
≠BNE≡≡DATINT≡≥	134672	001110				BNE	DATINT		;BR IF TRANSFER
≠CMP≡≡TCDT≡≡R2≡≥	134674	023702	177350			CMP	@#TCDT,R2	;BLOCK MATCH ?
≠BEQ≡≡DTSRF≡≥	134700	001423				BEQ	DTSRF		;BR IF YES
≠BGT≡≡DTSRE≡≥	134702	003011				BGT	DTSRE		;BR IF LARGER
≠BIT≡≡R3≡≡R1≡≥	134704	030311				BIT	R3,(R1)		;SMALLER, REVERSE ?
≠BEQ≡≡$DTXF3≡≥	134706	001740				BEQ	$DTXF3		;FORWARD, CONTINUE DIRECTION
≠ADD≡≡TCDT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 304
	DTA11 PAL[KL,SYS]	Page 26 	PROGRAM FILE LOADER, 4-SEPT-75

≥	134710	062737	000003	177350	DTSRA:	ADD	#3,@#TCDT	;+3 TO TCDT
≠CMP≡≡TCDT≡≡R2≡≥	134716	023702	177350			CMP	@#TCDT,R2	;LOWER BY 3 OR MORE ?
≠BLOS≡≡DTREV≡≥	134722	101461				BLOS	DTREV		;YES, GO REVERSE
≠BR≡≡$DTXF3≡≥	134724	000731				BR	$DTXF3		;NO, CONTINUE DIRECTION
≥					
≠BIT≡≡R3≡≡R1≡≥	134726	030311			DTSRE:	BIT	R3,(R1)		;BLK HIGH, CHECK DIRECTION
≠BNE≡≡$DTXF3≡≥	134730	001327				BNE	$DTXF3		;BR IF REV, CONTINUE DIRECTION
≠SUB≡≡TCDT≡≥	134732	162737	000003	177350		SUB	#3,@#TCDT	;FWD, -3 TO TCDT
≠CMP≡≡R2≡≡TCDT≡≥	134740	020237	177350			CMP	R2,@#TCDT	;HIGHER BY 3 OR MORE ?
≠BLE≡≡DTREV≡≥	134744	003450				BLE	DTREV		;REVERSE IF HIGHER BY 3 OR MORE
≠BR≡≡$DTXF3≡≥	134746	000720				BR	$DTXF3		;NO, CONTINUE DIRECTION
≥					
≠CMPB≡≡TCCM1≡≡R4≡≥	134750	123704	177343		DTSRF:	CMPB	@#TCCM1,R4	;BLOCK SAME, SAME DIRECTION ?
≠BNE≡≡$DTXF3≡≥	134754	001315				BNE	$DTXF3		;BR IF NOT, CONTINUE SEARCH
≠COMB≡≡INTSW≡≥	134756	105137	151072		$DTXF4:	COMB	INTSW		;WANTED ???
≠MOVB≡≡DTXCMD≡≡R0≡≥	134762	113700	151060			MOVB	DTXCMD,R0	;SET UP XFER COMMAND
≠TST≡≡DTBLK≡≥	134766	005737	151052			TST	DTBLK
≠BPL≡≡$DTXF3≡≥	134772	100306				BPL	$DTXF3		;FORWARD READ
≠BIS≡≡R3≡≡R0≡≥	134774	050300				BIS	R3,R0		;REVERSE READ
≠BR≡≡$DTXF3≡≥	134776	000704				BR	$DTXF3
≥					
≠TSTB≡≡INTSW≡≥	135000	105737	151072		DTER:	TSTB	INTSW		;SEARCH OR XFER ?
≠BNE≡≡DTERA≡≥	135004	001003				BNE	DTERA		;BR IF XFER
≠TST≡≡TCST≡≥	135006	005737	177340			TST	@#TCST		;END ZONE ?
≠BMI≡≡DTREV≡≥	135012	100425				BMI	DTREV		;BR IF YES, TO REVERSE
≠BIT≡≡TCSOFT≡≡TCST≡≥	135014	032737	063000	177340	DTERA:	BIT	#TCSOFT,@#TCST	;CHECK FOR SOFT ERROR
≠BEQ≡≡DTHDER≡≥	135022	001414				BEQ	DTHDER		;BR IF NOT SOFT ERROR
≠DECB≡≡TRYCTR≡≥	135024	105337	151062			DECB	TRYCTR		;3RD TRY ?
≠BEQ≡≡$DTXF3≡≥	135030	001667				BEQ	$DTXF3		;BR IF YES
≠BR≡≡$DTXF1≡≥	135032	000634				BR	$DTXF1		;GO TRY AGAIN
≥					
≠BIC≡≡R1≡≥	135034	042711	000116		DTERB:	BIC	#116,(R1)	;STOP DECTAPE
≤PMSG≡≥						PMSG	<?SOFT>
≡$PMSG≡≡$PMSG≡≥	135040	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135042	146733				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤PMSG≡≥					DTERC:	PMSG	< DTA ERR>
≡$PMSG≡≡$PMSG≡≥	135044	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135046	146741				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤EXITER≡≥						EXITERR
≠JMP≡≡$EXITE≡≥	135050	000137	124036			  JMP	$EXITE
≥					
≠BIC≡≡R1≡≥	135054	042711	000116		DTHDER:	BIC	#116,(R1)	;STOP DECTAPE
≤PMSG≡≥						PMSG	<?HARD>
≡$PMSG≡≡$PMSG≡≥	135060	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135062	146752				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡DTERC≡≥	135064	000767				BR	DTERC
≥					
≠ADD≡≡R3≡≡R0≡≥	135066	060300			DTREV:	ADD	R3,R0		;CHANGE DIRECTION
≠BIC≡≡BIT12≡≡R0≡≥	135070	042700	010000			BIC	#BIT12,R0
≠DECB≡≡REVCNT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 305
	DTA11 PAL[KL,SYS]	Page 26.1 	PROGRAM FILE LOADER, 4-SEPT-75

≥	135074	105337	151074		DTREVC:	DECB	REVCNT		;6TH REVERSAL ?
≠BNE≡≡$DTXF3≡≥	135100	001243				BNE	$DTXF3		;BR IF NOT
≠BIC≡≡R1≡≥	135102	042711	000116			BIC	#116,(R1)	;STOP DECTAPE
≤PMSG≡≥						PMSG	<?REV>
≡$PMSG≡≡$PMSG≡≥	135106	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135110	146760				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡DTERC≡≥	135112	000754				BR	DTERC
≥					
≠BIC≡≡R1≡≥	135114	042711	000116		DATINT:	BIC	#116,(R1)	;STOP DECTAPE
≤EXIT≡≥						EXIT			;DONE
≠JMP≡≡$EXIT≡≥	135120	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 306
	DTA11 PAL[KL,SYS]	Page 27 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

≥					.SBTTL	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE
≥					
≥					;CALL:
≥					;	ASCR50
≥					;	  ASCII ADDRESS
≥					;	  RAD50 ADDRESS
≥					;NINE BYTES OF ASCII INPUT
≥					;THREE WORDS OF RAD50 OUTPUT
≥					
≠ADD≡≡SP≡≥	135124	062766	000004	000012	$ASCR50:ADD	#4,12(SP)	;RETURN OVER TRAILING PARAMETERS
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡$EMADR≡≡R5≡≥	135134	013705	147634			MOV	$EMADR,R5
≠MOV≡≡R5≡≡R1≡≥	135140	012501				MOV	(R5)+,R1	;SETUP ASCII ADDRESS
≠MOV≡≡R5≡≡R4≡≥	135142	011504				MOV	(R5),R4		;SETUP RAD50 STORAGE ADDRESS
≠MOV≡≡R3≡≥	135144	012703	066600			MOV	#066600,R3
≠CLR≡≡R4≡≥	135150	005014			1$:	CLR	(R4)		;RESULT WORD
≠MOV≡≡R0≡≥	135152	012700	135242		2$:	MOV	#30$,R0		;SETUP SCAN TABLE
≠MOVB≡≡R0≡≡R2≡≥	135156	112002			3$:	MOVB	(R0)+,R2	;PUT CONVERSION IN R2
≠BEQ≡≥	135160	001425				BEQ	20$		;IF END OF TABLE, ERROR
≠CMPB≡≡R1≡≡R0≡≥	135162	121120				CMPB	(R1),(R0)+	;COMPARE ASCII CHAR
≠BLO≡≥	135164	103423				BLO	20$		;IF LESS THAN TABLE ENTRY, ERROR
≠CMPB≡≡R1≡≡R0≡≥	135166	121120				CMPB	(R1),(R0)+
≠BHI≡≥	135170	101372				BHI	3$		;LOOP, HAVEN'T FOUND YET
≠MOVB≡≡R1≡≡R0≡≥	135172	112100				MOVB	(R1)+,R0	;FOUND, ASCII CHAR TO R0
≠ADD≡≡R2≡≡R0≡≥	135174	060200				ADD	R2,R0		;CONVERT
≠ASL≡≡R4≡≥	135176	006314				ASL	(R4)
≠ASL≡≡R4≡≥	135200	006314				ASL	(R4)
≠ASL≡≡R4≡≥	135202	006314				ASL	(R4)
≠ADD≡≡R4≡≡R0≡≥	135204	061400				ADD	(R4),R0
≠ASL≡≡R4≡≥	135206	006314				ASL	(R4)
≠ASL≡≡R4≡≥	135210	006314				ASL	(R4)
≠ADD≡≡R0≡≡R4≡≥	135212	060014				ADD	R0,(R4)
≠ASL≡≡R3≡≥	135214	006303				ASL	R3		;SHIFT RAD50 WORD COUNTER
≠BMI≡≥	135216	100755				BMI	2$		;NOT DONE WITH THIS RAD50 YET
≠BEQ≡≥	135220	001402				BEQ	10$		;IF 0, ALL DONE
≠TST≡≡R4≡≥	135222	005724				TST	(R4)+		;STEP TO NEXT RAD50 WORD
≠BR≡≥	135224	000751				BR	1$		;GO DO NEXT
≤POP≡≥					10$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	135230	000137	124064			  JMP	$EXIT
≤POP≡≥					20$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXITER≡≥						EXITERR
≠JMP≡≡$EXITE≡≥	135236	000137	124036			  JMP	$EXITE
≥					
≠.BYTE≡≥	135242	   340		
≥	135243	   040		
≥	135244	   040			30$:	.BYTE	340,' ,' 	;SPACE
≠.BYTE≡≥	135245	   367		
≥	135246	   044		
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 307
	DTA11 PAL[KL,SYS]	Page 27.1 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

≥	135247	   044				.BYTE	367,'$,'$	;DOLLAR SIGN
≠.BYTE≡≥	135250	   356		
≥	135251	   056		
≥	135252	   056				.BYTE	356,'.,'.	;PERIOD
≠.BYTE≡≥	135253	   356		
≥	135254	   060		
≥	135255	   071				.BYTE	356,'0,'9	;DIGITS
≠.BYTE≡≥	135256	   300		
≥	135257	   101		
≥	135260	   132				.BYTE	300,'A,'Z	;UPPER CASE LETTERS
≥					;	.ENABL	LC
≠.BYTE≡≥	135261	   240		
≥	135262	   141		
≥	135263	   172				.BYTE	240,'a,'z	;LOWER CASE LETTERS
≠.BYTE≡≥	135264	   000				.BYTE	0		;INDICATE THE END OF THE TABLE
≠.EVEN≡≥		135266				.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 308
	KLDCP PAL[KL,SYS]	Page 5.6 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

≥					
≥								;Disk boot for WAITS
≠.LIF≡≡BOOASB≡≥					.LIF DF BOOASB
≠.INSRT≡≥					  .INSRT  BOOT.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 309
	BOOT PAL[KL,SYS]	Page 1 	ASCR50	ASCII TO RAD50 CONVERSION ROUTINE

≥				COMMENT ⊗   VALID 00003 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00002 00002	.SBTTL DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
≥				C00005 00003	$DS   DS command  to copy DSKDMP BOOT into KL10 and start it.
≥				C00007 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 310
	BOOT PAL[KL,SYS]	Page 2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					.SBTTL DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT
≥					
≥					;bootbg is located in 11 high core (152210)
≥					;bootsz is 2260
≥					
≥					;LD Command to load the bootstrap code from the dectape into 11 memory.
≥					
≠.IF≡≡BOOASB≡≥					.IF DF BOOASB
≥					
≥					;LOAD DSKDMP BOOTSTRAP
≠MOV≡≡L10ADR≡≡R3≡≥	135266	012703	147702		LDBOOT:	MOV #L10ADR+2,R3	;SETUP BLOCK START ADDRESS POINTER
≠CLR≡≡R3≡≥	135272	005013				CLR (R3)
≠MOVB≡≡LDCNT≡≡R3≡≥	135274	113713	150741			MOVB LDCNT+1,(R3)	;HI-BYTE OF LDCNT IS ADR BITS 18 & 19
≠MOV≡≡LDADR≡≡R3≡≥	135300	013743	150742			MOV LDADR,-(R3)		;SETUP ADR BITS 20-35
≠TST≡≡LDZBLK≡≥	135304	005737	150730			TST LDZBLK		;IS IT A Z LINE?
≠BEQ≡≡LDBDAT≡≥	135310	001437				BEQ LDBDAT		;NO, LOAD DATA
≠MOV≡≡R3≡≡BOOTBG≡≥	135312	012337	152262			MOV (R3)+,BOOTBG	;STARTING ZERO ADDRESS (LOW 16 BITS)
≠MOV≡≡R3≡≡BOOTBG≡≥	135316	011337	152264			MOV (R3),BOOTBG+2	; HIGH TWO BITS (18 AND 19)
≠CLR≡≡R1≡≥	135322	005001				CLR R1
≠MOV≡≡LDATA≡≡R2≡≥	135324	012702	150744			MOV #LDATA,R2
≠MOVB≡≡LDCNT≡≡R3≡≥	135330	113703	150740			MOVB LDCNT,R3
≠ADD≡≡R2≡≡R1≡≥	135334	062201			1$:	ADD (R2)+,R1		;ACCUMULATE TOTAL # WORDS TO ZERO
≠DEC≡≡R3≡≥	135336	005303				DEC R3
≠BNE≡≥	135340	001375				BNE 1$
≠MOV≡≡R1≡≡R2≡≥	135342	010102				MOV R1,R2
≤SL≡≥						SL R1,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R1≡≠.LIST≡≠ADD≡≡R2≡≡R1≡≥	135346	060201				ADD R2,R1		;TIMES 3 IS NUMBER OF PDP-11 WORDS
≠CMP≡≡R1≡≡BOOTSZ≡≥	135350	020127	002260			CMP R1,#BOOTSZ
≠BLE≡≥	135354	003404				BLE 2$			;BRANCH IF SMALL ENOUGH
≤PMSG≡≥						PMSG <?BOOT TOO LONG>
≡$PMSG≡≡$PMSG≡≥	135356	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135360	146765				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	135362	000137	100004			JMP $CNTLC
≥					
≠MOV≡≡BOOTBF≡≡R1≡≥	135366	012701	152272		2$:	MOV #BOOTBF,R1
≠MOV≡≡BOOTSZ≡≡R2≡≥	135372	012702	002260			MOV #BOOTSZ,R2
≠CLR≡≡R1≡≥	135376	005021			3$:	CLR (R1)+
≠DEC≡≡R2≡≥	135400	005302				DEC R2
≠BNE≡≥	135402	001375				BNE 3$			;CLEAR OUT THE BOOT BUFFER
≠JMP≡≡LLD2≡≥	135404	000137	131150		LDBLD2:	JMP LLD2		;DO NEXT LINE
≥					
≠MOVB≡≡LDCNT≡≡R0≡≥	135410	113700	150740		LDBDAT:	MOVB LDCNT,R0		;WC
≠BEQ≡≡LDBXFR≡≥	135414	001421				BEQ LDBXFR		;WC=0 MEANS TRANSFER BLOCK
≠MOV≡≡LDATA≡≡R1≡≥	135416	012701	150744			MOV #LDATA,R1
≠MOV≡≡LDADR≡≡R2≡≥	135422	013702	150742			MOV LDADR,R2
≠SUB≡≡BOOTBG≡≡R2≡≥	135426	163702	152262			SUB BOOTBG,R2		;GET OFFSET FROM START OF BUFFER
≠MOV≡≡R2≡≡R3≡≥	135432	010203				MOV R2,R3
≤SL≡≥						SL R2,2
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R2≡≠ASL≡≡R2≡≠.LIST≡≤SL≡≥						SL R3,1
≠.NLIST≡≠.IF≡≠.REPT≡≠ASL≡≡R3≡≠.LIST≡≠ADD≡≡R3≡≡R2≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 311
	BOOT PAL[KL,SYS]	Page 2.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	135442	060302				ADD R3,R2		;TIMES 6 GIVES BYTE OFFSET FROM BOOTBF
≠ADD≡≡BOOTBF≡≡R2≡≥	135444	062702	152272			ADD #BOOTBF,R2
≠MOV≡≡R1≡≡R2≡≥	135450	012122			5$:	MOV (R1)+,(R2)+		;COPY A WORD
≠DEC≡≡R0≡≥	135452	005300				DEC R0
≠BNE≡≥	135454	001375				BNE 5$
≠BR≡≡LDBLD2≡≥	135456	000752				BR LDBLD2
≥					
≠MOV≡≡R3≡≡BOOTSA≡≥	135460	012337	152266		LDBXFR:	MOV (R3)+,BOOTSA
≠MOV≡≡R3≡≡BOOTSA≡≥	135464	011337	152270			MOV (R3),BOOTSA+2	;SAVE AWAY STARTING ADDRESS
≠JMP≡≡LDDONE≡≥	135470	000137	131772			JMP LDDONE
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 312
	BOOT PAL[KL,SYS]	Page 3 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					;$DS   DS command  to copy DSKDMP BOOT into KL10 and start it.
≥					
≡TTITRM≡≡TTITRM≡≥	135474	104022			$DS:	TTITRM
≠TST≡≡BOOTSA≡≥	135476	005737	152266			TST BOOTSA
≠BNE≡≥	135502	001007				BNE 2$
≠TST≡≡BOOTSA≡≥	135504	005737	152270			TST BOOTSA+2
≠BNE≡≥	135510	001004				BNE 2$
≤PMSG≡≥						PMSG <?LOAD DSKDMP - USE LD>
≡$PMSG≡≡$PMSG≡≥	135512	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135514	147004				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	135516	000137	100004			JMP $CNTLC
≥					
≠CMP≡≡PEBITS≡≥	135522	023727	157262	000036	2$:	CMP PEBITS,#36
≠BEQ≡≥	135530	001410				BEQ 3$
≠CMP≡≡PEBITS≡≥	135532	023727	157262	000037		CMP PEBITS,#37
≠BEQ≡≥	135540	001404				BEQ 3$
≤PMSG≡≥						PMSG <FIX PARITY ENABLES - PE 36>
≡$PMSG≡≡$PMSG≡≥	135542	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135544	147032				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	135546	000137	100004			JMP $CNTLC
≥					
≠CMP≡≡CLKDFL≡≥	135552	023727	157252	000017	3$:	CMP CLKDFL+4,#17
≠BEQ≡≥	135560	001402				BEQ 4$
≤PMSG≡≥						PMSG <SOME CACHE DISABLED - USE CE 17\>
≡$PMSG≡≡$PMSG≡≥	135562	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	135564	147065				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡L10ADR≡≡R3≡≥	135566	012703	147702		4$:	MOV #L10ADR+2,R3
≠MOV≡≡BOOTBG≡≡R3≡≥	135572	013713	152264			MOV BOOTBG+2,(R3)
≠MOV≡≡BOOTBG≡≡R3≡≥	135576	013743	152262			MOV BOOTBG,-(R3)
≠MOV≡≡BOOTWD≡≡R2≡≥	135602	012702	000620			MOV #BOOTWD,R2		;NUMBER OF PDP-10 WORDS IN BUFFER
≠MOV≡≡BOOTBF≡≡R4≡≥	135606	012704	152272			MOV #BOOTBF,R4
≡MRESET≡≡MRESET≡≥	135612	104076				MRESET
≡SM≡≡SM≡≥	135614	104100				SM
≠MOV≡≡R3≡≡R1≡≥	135616	010301			1$:	MOV R3,R1
≠MOV≡≡R4≡≡R0≡≥	135620	010400				MOV R4,R0
≡DPOSVR≡≡DPOSVR≡≥	135622	104107				DPOSVR
≠BCS≡≡DSVER≡≥	135624	103420				BCS DSVER
≠INC≡≡R3≡≥	135626	005213				INC (R3)		;STAY IN SAME 64K SECTION
≠ADD≡≡R4≡≥	135630	062704	000006			ADD #6,R4		;NEXT PDP-10 WORDS WORTH
≠DEC≡≡R2≡≥	135634	005302				DEC R2
≠BNE≡≥	135636	001367				BNE 1$
≠MOV≡≡PGOADR≡≡R4≡≥	135640	012704	157204			MOV #PGOADR,R4
≠MOV≡≡BOOTSA≡≡R4≡≥	135644	013724	152266			MOV BOOTSA,(R4)+
≠MOV≡≡BOOTSA≡≡R4≡≥	135650	013714	152270			MOV BOOTSA+2,(R4)
≠MOV≡≡PGOCTL≡≥	135654	012737	000002	157202		MOV #2,PGOCTL
≠JMP≡≡$$GO≡≥	135662	000137	113216			JMP $$GO		;START IT UP
≥					
≤PMSG≡≥					DSVER:	PMSG <DEX ERROR IN DS>
≡$PMSG≡≡$PMSG≡≥	135666	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 313
	BOOT PAL[KL,SYS]	Page 3.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	135670	147126				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	135672	000137	100004			JMP $CNTLC
≥					
≥					.ENDC ;IF DF BOOASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 314
	KLDCP PAL[KL,SYS]	Page 5.7 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					
≥								;RX01 floppies
≠.LIF≡≡RXASB≡≥					.LIF DF RXASB
≥					  .INSRT  FLOPPY.PAL
≥					
≥								;RP04 disk
≠.LIF≡≡RPASB≡≥					.LIF DF RPASB
≥					  .INSRT  RP0411.PAL
≥					
≥								;queued message protocol
≠.LIF≡≡%%QMP≡≥					.LIF DF %%QMP
≠.INSRT≡≥					  .INSRT  QMP11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 315
	QMP11 PAL[KL,SYS]	Page 1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥				COMMENT ⊗   VALID 00015 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00003 00002	 MACROS AND QUEUE ENTRY DEFINITIONS
≥				C00005 00003		ETHERNET OUTPUT COMPLETION INTERRUPT ROUTINE 	ENOINT, SNDEN, SNDENR
≥				C00009 00004	 ENIINT	ETHERNET INPUT COMPLETION INTERRUPT ROUTINE
≥				C00016 00005	 DTEINT, DTE10D Interrupt routines
≥				C00019 00006	 DTE11D - COMPLETION OF TO11 TRANSFER FROM DTE
≥				C00025 00007	 QMPCMD - ROUTINE CALLED FROM KLDCP WHEN 10 SENDS ITEM COUNT
≥				C00029 00008	 SND10 -  ROUTINE TO QUEUE BLOCK FOR XFER TO 10
≥				C00032 00009	 QINI - ROUTINE TO INITIALIZE QUEUE STRUCTURES
≥				C00035 00010	 $QUEUE - GENERALIZED QUEUE ROUTINE
≥				C00037 00011	 QMPINI - ROUTINE TO INITIALIZE INTERRUPT ADDRESSES ETC.
≥				C00040 00012	 RQCB/RLCB: first fit dynamic core allocation routines
≥				C00042 00013	 $RLCB - ReLease Core Block
≥				C00046 00014	 $RQCB - REQUEST CORE BLOCK
≥				C00051 00015	 $SAVAL, $SAVVR, $SAVRG  Register Save and Restore Co-routines
≥				C00054 ENDMK
≥					C⊗;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 316
	QMP11 PAL[KL,SYS]	Page 2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; MACROS AND QUEUE ENTRY DEFINITIONS
≥					;
≥					
≠.MACRO≡≤CALL≠≥						.MACRO	CALL	A
≥						JSR	PC,A
≥						.ENDM
≥					
≠.MACRO≡≤RETURN≠≥						.MACRO	RETURN
≥						RTS	PC
≥						.ENDM
≥					
≠.MACRO≡≤SAVAL≠≥						.MACRO	SAVAL
≥						JSR	PC,$SAVAL
≥						.ENDM
≥					 
≠.MACRO≡≤SAVVR≠≥						.MACRO	SAVVR
≥						JSR	R2,$SAVVR
≥						.ENDM
≥					
≠.MACRO≡≤SAVRG≠≥						.MACRO	SAVRG
≥						JSR	R5,$SAVRG
≥						.ENDM
≥					 
≠.MACRO≡≤QUEUE≠≥						.MACRO QUEUE	A
≥						JSR	R5,$QUEUE
≥						.WORD	A
≥						.ENDM
≥					 
≠.MACRO≡≤QCLR≠≥						.MACRO	QCLR	A
≥						JSR	R5,$QCLR
≥						.WORD	A
≥						.ENDM
≥					 
≥					; THE FOLLOWING DEFINITIONS ARE FOR QUEUE HEADERS
≥					;
≡QCHN≠≥		000000			QCHN=0		; OFFSET TO CHAIN POINTER IN QUEUE ENTRY
≡QSIZ≠≥		000002			QSIZ=2		; OFFSET FROM ENTRY TO BYTE COUNT FOR QUEUE ENTRY
≡QREQ≠≥		000004			QREQ=4		; OFFSET FROM ENTRY TO REQUEST VALUE FOR QUEUE ENTRY
≡QENWC≠≥		000006			QENWC=6		; OFFSET TO ETHERNET PACKET WORD COUNT
≡QENMSG≠≥		000010			QENMSG==10	; OFFSET TO START OF EN MESSAGE INSIDE QUEUE BLOCK
≥					;
≡QHDRSZ≠≥		000006			QHDRSZ=6	; SIZE OF QUEUE ENTRY HEADER
≥					;
≡QNOPMS≠≥		000000			QNOPMS=0	; This packet is a no-op
≡QECHRY≠≥		000001			QECHRY=1	; THIS PACKET IS AN ECHO RESPONSE
≡QECHRQ≠≥		000002			QECHRQ=2	; REQUEST for an echo response
≡QENPKT≠≥		000003			QENPKT=3	; An ethernet packet
≡QENADR≠≥		000004			QENADR=4	; An ethernet host address.
≡QDTMSG≠≥		000005			QDTMSG=5	; Dectape message
≡QENBCC≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 317
	QMP11 PAL[KL,SYS]	Page 2.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥		000006			QENBCC=6	; Ethernet broadcast-packet control command
≥					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 318
	QMP11 PAL[KL,SYS]	Page 3 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					;	ETHERNET OUTPUT COMPLETION INTERRUPT ROUTINE 	ENOINT, SNDEN, SNDENR
≥					;
≥					;
≤CALL≡≥					ENOINT:	CALL	1$		; CALL THE REAL INTERRUPT HANDLER
≠JSR≡≡PC≡≥	135676	004737	135704			JSR	PC,1$
≠RTI≡≠RTI≡≥	135702	000002				RTI			; THEN RETURN FROM INTERRUPT
≥					;
≥					; THIS INTERRUPT HANDLER WILL SAVE AND RESTORE REGISTERS
≥					;
≤SAVVR≡≥					1$:	SAVVR			; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	135704	004237	140266			JSR	R2,$SAVVR
≠TST≡≡ENOCSR≡≥	135710	005737	160024			TST	ENOCSR		; TEST FOR ERROR INDICATION
≠BMI≡≥	135714	100417				BMI	3$		; IF MI THEN COLLISION OR OTHER ERROR
≠INC≡≡EN0PKO≡≥	135716	005237	157130			INC	EN0PKO		; INCREMENT COUNT OF SUCCESSFUL I/OS
≠MOV≡≡ENETQ≡≡R0≡≥	135722	013700	157046		2$:	MOV	ENETQ,R0	; GET QUEUE ADDRESS TO RELEASE BLOCK
≠BEQ≡≥	135726	001425				BEQ	5$		; QUEUE EMPTY, MAYBE QUEUE RESET?
≠MOV≡≡R0≡≡ENETQ≡≥	135730	011037	157046			MOV	(R0),ENETQ	; UNCHAIN BLOCK FROM QUEUE
≠BNE≡≥	135734	001002				BNE	21$		; IF NE THEN MORE IN CHAIN
≠CLR≡≡ENETQ≡≥	135736	005037	157050			CLR	ENETQ+2		; IF QUEUE EMPTY, ZERO NEWEST POINTER
≥					21$:
≤CALL≡≥						CALL	QGIVE		; NOW GO RELEASE THE CORE BLOCK
≠JSR≡≡PC≡≡QGIVE≡≥	135742	004737	136766			JSR	PC,QGIVE
≤CALL≡≥						CALL	SNDEN		; CHECK ETHERNET QUEUE AND RESTART I/O
≠JSR≡≡PC≡≡SNDEN≡≥	135746	004737	136010			JSR	PC,SNDEN
≤RETURN≡≥						RETURN			; RETURN FROM INTERRUPT
≠RTS≡≡PC≡≥	135752	000207				RTS	PC
≥					
≠INC≡≡EN0ER1≡≥	135754	005237	157126		3$:	INC	EN0ER1		; STEP TOTAL RETRY COUNT
≠DEC≡≡EN0TRY≡≥	135760	005337	157114			DEC	EN0TRY		; DECREMENT CURRENT RETRY COUNT
≠BGT≡≥	135764	003003				BGT	4$		; OK, RETRY THE MESSAGE AGAIN
≠INC≡≡EN0PER≡≥	135766	005237	157124			INC	EN0PER		; STEP COUNT OF PERMANENT ERRORS
≠BR≡≥	135772	000753				BR	2$		; THROW THE BUFFER AWAY, TRY NEXT
≥					
≤CALL≡≥					4$:	CALL	SNDENR		; RETRY THE CURRENT BUFFER
≠JSR≡≡PC≡≡SNDENR≡≥	135774	004737	136016			JSR	PC,SNDENR
≤RETURN≡≥						RETURN			; AND RETURN
≠RTS≡≡PC≡≥	136000	000207				RTS	PC
≥					
≠CLR≡≡ENOCSR≡≥	136002	005037	160024		5$:	CLR	ENOCSR		; CLEAR INTERRUPT ENABLE BIT
≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	136006	000207				RTS	PC
≥					
≥					
≥					; SNDEN SNDENR - Transmit message at head of ENET Queue to the Ethernet
≥					;
≥					;SNDENR is the entry point for a retry.
≥					;
≠MOV≡≡EN0TRY≡≥	136010	012737	000010	157114	SNDEN:	MOV	#10,EN0TRY		; SET DEFAULT RETRY COUNT
≠MOV≡≡ENETQ≡≡R0≡≥	136016	013700	157046		SNDENR:	MOV	ENETQ,R0		; GET ADDRESS OF NEXT QUEUE ENTRY
≠BEQ≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 319
	QMP11 PAL[KL,SYS]	Page 3.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	136022	001424				BEQ	3$			; NOTHING IN QUEUE
≠MOV≡≡QENWC≡≡R0≡≡R1≡≥	136024	016001	000006			MOV	QENWC(R0),R1		; GET PACKET WORD COUNT FROM BLOCK
≠BGT≡≥	136030	003001				BGT	1$			; IF GT THEN CONTINUE
≡FATAL≡≡FATAL≡≥	136032	104000				FATAL				; OTHERWISE INDICATE ERROR
≥					
≠NEG≡≡R1≡≥	136034	005401			1$:	NEG	R1			; MAKE 2'S COMPLEMENT FOR I/O
≠MOV≡≡R1≡≡ENOWC≡≥	136036	010137	160020		2$:	MOV	R1,ENOWC		; SET WORD COUNT IN EN DEVICE
≠ADD≡≡QENMSG≡≡R0≡≥	136042	062700	000010			ADD	#QENMSG,R0		; POINT TO DATA IN QUEUE ENTRY
≠MOV≡≡R0≡≡ENOWA≡≥	136046	010037	160022			MOV	R0,ENOWA		; SET WORD ADDRESS IN EN DEVICE
≠MOV≡≡EN0TRY≡≡R2≡≥	136052	013702	157114			MOV	EN0TRY,R2		; USE RETRY VALUE TO SET DELAY
≠MOV≡≡EN0DLY≡≡R2≡≡ENODLY≡≥	136056	016237	157056	160026		MOV	EN0DLY(R2),ENODLY	; SET DELAY VALUE IN EN DEVICE
≠MOV≡≡ENOCSR≡≥	136064	012737	000101	160024		MOV	#101,ENOCSR		; SET GO AND INTERRUPT ENABLE
≤RETURN≡≥						RETURN				; AND RETURN
≠RTS≡≡PC≡≥	136072	000207				RTS	PC
≥					
≠CLR≡≡ENOCSR≡≥	136074	005037	160024		3$:	CLR	ENOCSR			; CLEAR INT ENABLE AND GO
≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	136100	000207				RTS	PC
≥					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 320
	QMP11 PAL[KL,SYS]	Page 4 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; ENIINT	ETHERNET INPUT COMPLETION INTERRUPT ROUTINE
≥					;
≥					;	ENTERED AT COMPLETION OF ETHERNET INPUT
≥					;
≤CALL≡≥					ENIINT:	CALL	1$		; CALL THE REAL INTERRUPT HANDLER
≠JSR≡≡PC≡≥	136102	004737	136110			JSR	PC,1$
≠RTI≡≠RTI≡≥	136106	000002				RTI			; AND RETURN FROM INTERRUPT
≥					;
≤SAVVR≡≥					1$:	SAVVR			; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	136110	004237	140266			JSR	R2,$SAVVR
≠MOV≡≡R3≡≡SP≡≥	136114	010346				MOV	R3,-(SP)	; AND ONE MORE
≠MOV≡≡R3≡≥	136116	012703	000002			MOV	#2,R3		; Select other input buffer
≠SUB≡≡EN0IND≡≡R3≡≥	136122	163703	157106			SUB	EN0IND,R3
≠MOV≡≡R3≡≡SP≡≥	136126	010346				MOV	R3,-(SP)	; Save on index to input buffer on stack
≠MOV≡≡ENICSR≡≡SP≡≥	136130	013746	160034			MOV	ENICSR,-(SP)	; Save status of this packet
≠MOV≡≡ENIWC≡≡SP≡≥	136134	013746	160030			MOV	ENIWC,-(SP)	; Save residual word count
≤CALL≡≥						CALL	ENISET		; Start reading next packet
≠JSR≡≡PC≡≡ENISET≡≥	136140	004737	136270			JSR	PC,ENISET
≠MOV≡≡EN0IND≡≡R3≡≥	136144	013703	157106			MOV	EN0IND,R3	; Now, select regular buffer
≠MOV≡≡SP≡≡R1≡≥	136150	012601				MOV	(SP)+,R1	; GET RESIDUAL WORD COUNT IN R1
≠TST≡≡SP≡≥	136152	005726				TST	(SP)+		; CHECK FOR OVERRUN OR COLLISION
≠BPL≡≥	136154	100003				BPL	2$		; IF PL THEN GOOD PACKET RECIEVED
≠INC≡≡EN0ER2≡≥	136156	005237	157120			INC	EN0ER2		; INCREMENT COUNT OF INPUT PERM ERRS
≠BR≡≥	136162	000436				BR	3$		; AND RESTART THE I/O
≥					
≠INC≡≡EN0PKI≡≥	136164	005237	157122		2$:	INC	EN0PKI		; INCREMENT COUNT OF INPUT PACKETS
≠BIS≡≡R1≡≥	136170	052701	177000			BIS	#177000,R1	; INTERFACE REQUIRES THIS CROCK
≠.IF≡≡PCKASB≡≥					.IF DF PCKASB
≥						MOV	EN0BUF(R3),R0
≥						SUB	#QENMSG,R0	; Pretend we're a queue block
≥						CALL	ENPCHK		; Check to see if it got clobbered later.
≥					.ENDC; DF PCKASB
≠ADD≡≡EN0BSZ≡≡R1≡≥	136174	062701	000454			ADD	#EN0BSZ,R1	; CONVERT NOW TO POSITIVE W.C.
≠BEQ≡≥	136200	001427				BEQ	3$		; HAH, A ZERO LENGTH PACKET...
≥					
≥					;Code to discard quickly any broadcast packets, under control of ENBCCF, set by 10.
≠MOV≡≡EN0BUF≡≡R3≡≡R0≡≥	136202	016300	157110			MOV	EN0BUF(R3),R0	; address of packet buffer
≠MOVB≡≡R0≡≡R2≡≥	136206	116002	000001			MOVB	1(R0),R2	; destination host
≠BNE≡≥	136212	001004				BNE	20$		; just if not broadcast packet
≠BIT≡≡ENBCCF≡≥	136214	032737	000001	157104		BIT	#1,ENBCCF	; see if broadcast packets should be ignored
≠BEQ≡≥	136222	001416				BEQ	3$		; jump to ignore
≥					
≠ASL≡≡R1≡≥	136224	006301			20$:	ASL	R1		; MAKE R1 INTO A BYTE COUNT
≠ADD≡≡QENMSG≡≡R1≡≥	136226	062701	000010			ADD	#QENMSG,R1	; ADD SPACE FOR BLOCK HDR
≤CALL≡≥						CALL	QGET		; GO GET THE BUFFER
≠JSR≡≡PC≡≡QGET≡≥	136232	004737	137006			JSR	PC,QGET
≠BCC≡≥	136236	103003				BCC	21$		; C = 0, BUFFER OK, MOVE THE PACKET
≠INC≡≡EN0MEM≡≥	136240	005237	157116			INC	EN0MEM		; INCREMENT COUNT OF LOST PACKETS (NO MEM)
≠BR≡≥	136244	000405				BR	3$		; AND RESTART I/O
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 321
	QMP11 PAL[KL,SYS]	Page 4.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					
≤CALL≡≥					21$:	CALL	ENICOP		; MOVE FROM READ BUFFER TO CORE BLOCK
≠JSR≡≡PC≡≡ENICOP≡≥	136246	004737	136314			JSR	PC,ENICOP
≠.IIF≡≡PCKASB≡≥					.IIF DF PCKASB,	CALL	ENPCHK	; CHECK CHECKSUM
≤QUEUE≡≥						QUEUE	TO10Q		; QUEUE THE PACKET TO THE 10
≠JSR≡≡R5≡≡$QUEUE≡≥	136252	004537	137502			JSR	R5,$QUEUE
≠.WORD≡≡TO10Q≡≥	136256	157052				.WORD	TO10Q
≥					;bug check:	(;;;'ed t to make space.  We haven't see any recently. TVR/14-Jan-81
≥					;;;	MOVB	QENMSG+1(R0),R2	; "first" byte of message = destination host number
≥					;;;	BEQ	3$		; zero is broadcast packet.
≥					;;;	CMPB	R2,ENIHAD	; compare to our host address
≥					;;;	BEQ	3$		;
≥					;;;	PMSG	<\?EN BAD ADDR\>
≥					;;;
≥					3$:
≠.IF≡≡PCKASB≡≥					.IF DF PCKASB
≥						MOV	EN0BUF(R3),R0	; Fill buffer with fixed pattern to see how
≥						MOV	#EN0BSZ,R1	; hardware is losing...
≥					66$:	MOV	#52525,(R0)+
≥						SOB	R1,66$
≥					.ENDC; DF PCKASB
≠MOV≡≡SP≡≡EN0IND≡≥	136260	012637	157106			MOV	(SP)+,EN0IND	; Next buffer now becomes current
≠MOV≡≡SP≡≡R3≡≥	136264	012603				MOV	(SP)+,R3	; Restore borrowed register
≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	136266	000207				RTS	PC
≥					
≥					;Setup for Ethernet input.  R3 is index of input buffer
≠MOV≡≡EN0BUF≡≡R3≡≡ENIWA≡≥	136270	016337	157110	160032	ENISET:	MOV EN0BUF(R3),ENIWA	; SET BUFFER ADDRESS FOR EN DEVICE
≠MOV≡≡EN0BSZ≡≡ENIWC≡≥	136276	012737	777324	160030		MOV #-EN0BSZ,ENIWC	; AND SET WORD COUNT FOR XFER
≠MOV≡≡ENICSR≡≥	136304	012737	000101	160034		MOV #101,ENICSR		; SET GO AND INTERRUPT ENABLE
≤RETURN≡≥						RETURN			; GO RETURN FROM INTERRUPT
≠RTS≡≡PC≡≥	136312	000207				RTS	PC
≥					
≥					;enter here with R0 = Address of core block. R1=size of our request
≥					;		 R3 = Index of Ethernet input buffer
≤SAVVR≡≥					ENICOP:	SAVVR			; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	136314	004237	140266			JSR	R2,$SAVVR
≠MOV≡≡QENPKT≡≡QREQ≡≡R0≡≥	136320	012760	000003	000004		MOV	#QENPKT,QREQ(R0); SET Packet type in block
≠SUB≡≡QENMSG≡≡R1≡≥	136326	162701	000010			SUB	#QENMSG,R1	; REDUCE COUNT TO PACKET SIZE (BYTES)
≠ASR≡≡R1≡≥	136332	006201				ASR	R1		; AND CHANGE TO WORD COUNT
≠MOV≡≡R1≡≡QENWC≡≡R0≡≥	136334	010160	000006			MOV	R1,QENWC(R0)	; STORE PACKET WORD COUNT
≠ADD≡≡QENMSG≡≡R0≡≥	136340	062700	000010			ADD	#QENMSG,R0	; POINT R0 TO DATA AREA
≠MOV≡≡EN0BUF≡≡R3≡≡R2≡≥	136344	016302	157110			MOV	EN0BUF(R3),R2	; SET LOCATION OF FIRST WORD
≠MOV≡≡R2≡≡R0≡≥	136350	012220			5$:	MOV	(R2)+,(R0)+	; MOVE WORD FROM READ BUFF TO CORE BLOCK
≠SOB≡≡R1≡≥	136352	077102				SOB	R1,5$		; LOOP
≤RETURN≡≥						RETURN			; RETURN FROM MOVE
≠RTS≡≡PC≡≥	136354	000207				RTS	PC
≥					
≠.IF≡≡PCKASB≡≥					.IF DF PCKASB	;If checksumming PUPs
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 322
	QMP11 PAL[KL,SYS]	Page 4.2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					
≥					;Bugtrap: Check PUP checksum of Ethernet packet
≥					;R0 points to queue entry.  (Subtract QENMSG if you have a bare packet)
≥					ENPCHK:	SAVVR			;For paranoia's sake
≥						ADD	#QENMSG,R0
≥						CMP	2(R0),#1000	;PUP packet?
≥						  BNE	79$		;  No, forget it
≥						CMP	(R0)+,(R0)+	;Skip two header words
≥						MOV	(R0),R1		;Get size
≥						  BLE	78$		;  Bad size!
≥						CMP	R1,#4000	;Arbitrary upper limit on size (is this OK?)
≥						  BGT	78$
≥						DEC	R1		;Round up, but exclude checksum
≥						ASR	R1		;Convert to words
≥						CLR	R2		;Initial checksum
≥					71$:	ADD	(R0)+,R2	;Add in an entry
≥						ADC	R2		;End around carry
≥						ASL	R2		;Cycle left (stupid PDP-11, ROL rotates carry)
≥						ADC	R2		;Part of cycle left, really!
≥						SOB	R1,71$		;Repeat for each word in message
≥						CMP	(R0),#177777	;If checksum is unspecified, all this was
≥						  BEQ	79$		;  for nothing
≥						CMP	R2,#177777	;Special fudge to checksum?
≥						  BNE	72$		;  No
≥						CLR	R2		;Yes, 177777->0
≥					72$:	CMP	(R0),R2		;Check checksum
≥						  BEQ	79$		;Good.
≥					;We have a bad PUP packet.
≥					78$:	br 79$	;;;FATAL			;Bitch and moan
≥					;Return, good, bad, otherwise (like non-PUP packet)
≥					79$:	RETURN
≥					
≥					.ENDC; DF PCKASB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 323
	QMP11 PAL[KL,SYS]	Page 5 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; DTEINT, DTE10D Interrupt routines
≥					
≥					; DTEINT - INTERRUPT ROUTINE ENTERED ON DTE INTERRUPT
≥					;
≥					;
≤CALL≡≥					DTEINT:	CALL	1$			; USE CALL FOR REGISTER SAVE
≠JSR≡≡PC≡≥	136356	004737	136364			JSR	PC,1$
≠RTI≡≠RTI≡≥	136362	000002				RTI				; RETURN FROM INT
≥					
≤SAVRG≡≥					1$:	SAVRG				; SAVE REGS R3-R5
≠JSR≡≡R5≡≡$SAVRG≡≥	136364	004537	140242			JSR	R5,$SAVRG
≠MOV≡≡.STDTE≡≡R3≡≥	136370	017703	020760			MOV	@.STDTE,R3		; GET DTE STATUS IN REG 3
≠BIT≡≡TO10DN≡≡TO10ER≡≡R3≡≥	136374	032703	120000			BIT	#TO10DN!TO10ER,R3	; TO10 COMPLETION?
≠BEQ≡≥	136400	001402				BEQ	2$			; IF EQ NO
≤CALL≡≥						CALL	DTE10D			; GO TO THE CHECK ROUTINE
≠JSR≡≡PC≡≡DTE10D≡≥	136402	004737	136444			JSR	PC,DTE10D
≠BIT≡≡TO11DN≡≡TO11ER≡≡R3≡≥	136406	032703	000202		2$:	BIT	#TO11DN!TO11ER,R3	; TO11 COMPLETION?
≠BEQ≡≥	136412	001402				BEQ	4$			; IF EQ NO
≤CALL≡≥						CALL	DTE11D			; GO TO THE CHECK ROUTINE
≠JSR≡≡PC≡≡DTE11D≡≥	136414	004737	136516			JSR	PC,DTE11D
≠BIT≡≡TO11DB≡≡R3≡≥	136420	032703	004000		4$:	BIT	#TO11DB,R3		; IS IT DOORBELL INTERRUPT?
≠BEQ≡≥	136424	001406				BEQ	6$			; IF EQ NO
≠MOV≡≡T11DBF≡≥	136426	012737	000001	157136		MOV	#1,T11DBF		; YES, SET SOFTWARE DOORBELL
≠MOV≡≡INT11C≡≡.STDTE≡≥	136434	012777	002000	020712		MOV	#INT11C,@.STDTE		; AND CLEAR DOORBEL INT
≤RETURN≡≥					6$:	RETURN				; RESTORE AND RTI
≠RTS≡≡PC≡≥	136442	000207				RTS	PC
≥					
≥					; DTE10D - ROUTINE ENTERED AT COMPLETION OF XFER TO 10
≥					;
≥					;	Call with R3=Ending status.
≥					;	If error status is seen, we leave dead message in the Q for
≥					;		SND10 to restart.  (really, there should be a retry count)
≥					;
≤SAVVR≡≥					DTE10D:	SAVVR				; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	136444	004237	140266			JSR	R2,$SAVVR
≠MOV≡≡DON10C≡≡ERR10C≡≡.STDTE≡≥	136450	012777	050000	020676		MOV	#DON10C!ERR10C,@.STDTE	; RESET FLAGS IN DTE STATUS REG
≠CLR≡≡DTEBSY≡≥	136456	005037	157134			CLR	DTEBSY			; CLEAR THE DTEBSY FLAG NOW.
≠MOV≡≡TO10Q≡≡R0≡≥	136462	013700	157052			MOV	TO10Q,R0		; BUFFER ADDRESS.
≠BEQ≡≥	136466	001412				BEQ	5$			; Can't happen. BR if no message address.
≠BIT≡≡TO10ER≡≡R3≡≥	136470	032703	020000			BIT	#TO10ER,R3		; WAS THIS AN ERROR RETURN?
≠BNE≡≥	136474	001007				BNE	5$			; BR if error.  Message remains in the Q.
≠MOV≡≡R0≡≡TO10Q≡≥	136476	011037	157052			MOV	(R0),TO10Q		; REMOVE THE BUFFER BLOCK FROM QUEUE
≠BNE≡≥	136502	001002				BNE	4$			; NOT LAST ENTRY IN QUEUE
≠CLR≡≡TO10Q≡≥	136504	005037	157054			CLR	TO10Q+2			; LAST ENTRY IN QUEUE, ZERO END POINTER
≤CALL≡≥					4$:	CALL	QGIVE			; GO RELEASE THE CORE BLOCK
≠JSR≡≡PC≡≡QGIVE≡≥	136510	004737	136766			JSR	PC,QGIVE
≤RETURN≡≥					5$:	RETURN				;
≠RTS≡≡PC≡≥	136514	000207				RTS	PC
≥					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 324
	QMP11 PAL[KL,SYS]	Page 6 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; DTE11D - COMPLETION OF TO11 TRANSFER FROM DTE
≥					;
≥					;	ENTERED FROM DTEINT ROUTINE.  R3 = DTE Status at Interrupt.
≥					;
≥					;		In case of transfer error, sender has been notified in
≥					;		his ending status.  Sender will retry from the top.
≥					;
≥					;
≤SAVVR≡≥					DTE11D:	SAVVR				; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	136516	004237	140266			JSR	R2,$SAVVR
≠MOV≡≡DON11C≡≡ERR11C≡≡.STDTE≡≥	136522	012777	000101	020624		MOV	#DON11C!ERR11C,@.STDTE	; Clear DONE and ERROR in DTE STATUS
≠MOV≡≡FR10Q≡≡R0≡≥	136530	013700	157042			MOV	FR10Q,R0		; ADDRESS OF BUFFER BLOCK
≠BEQ≡≥	136534	001416				BEQ	5$			; Discard interrupt if no msg block
≠CLR≡≡FR10Q≡≥	136536	005037	157042			CLR	FR10Q			; CLEAR FROM DTE POINTER
≠CLR≡≡R2≡≥	136542	005002				CLR	R2			; If error, R2 = 0 for no-op
≠BIT≡≡TO11ER≡≡R3≡≥	136544	032703	000002			BIT	#TO11ER,R3		; IS THE ERROR BIT ON TRANSFER SET
≠BNE≡≥	136550	001006				BNE	2$			; If error, branch to call $DTNOP (R2 = 0)
≥					; NOW LOOK AT THE REQUEST WORD AND SEE WHERE DATA IS MEANT TO GO
≠MOV≡≡QREQ≡≡R0≡≡R2≡≥	136552	016002	000004			MOV	QREQ(R0),R2		; GET THE REQUEST WORD IN R2
≠ASL≡≡R2≡≥	136556	006302				ASL	R2			; DOUBLE FOR WORD POINTER
≠CMP≡≡R2≡≡REQMAX≡≥	136560	020227	000016			CMP	R2,#REQMAX		; bounds test
≠BHIS≡≡T11MSE≡≥	136564	103012				BHIS	T11MSE			; br if out of bounds
≠JSR≡≡PC≡≡REQLST≡≡R2≡≥	136566	004772	136574		2$:	JSR	PC,@REQLST(R2)		; NOW GO TO THE SUBROUTINE
≤RETURN≡≥					5$:	RETURN				;
≠RTS≡≡PC≡≥	136572	000207				RTS	PC
≥					;
≥					;
≠.WORD≡≡$DTNOP≡≥	136574	136634			REQLST:	.WORD	$DTNOP		;no-op discard the message
≠.WORD≡≡$ECHRY≡≥	136576	136634				.WORD	$ECHRY		;QECHRY - RESPONSE TO AN ECHO REQUEST
≠.WORD≡≡$11ECH≡≥	136600	136642				.WORD	$11ECH		;QECHRQ - REQUEST FOR AN ECHO
≠.WORD≡≡$11ETH≡≥	136602	136660				.WORD	$11ETH		;QENPKT - Request to send An EtherNet Packet
≠.WORD≡≡$11ADR≡≥	136604	136676				.WORD	$11ADR		;QENADR - REQUEST FROM 10 FOR ETHERNET ADDRESS
≠.WORD≡≡$DTNOP≡≥	136606	136634				.WORD	$DTNOP		;eventually, dectape messages. now unimplemented
≠.WORD≡≡$ENBCC≡≥	136610	136740				.WORD	$ENBCC		;QENBCC - Request to control broadcast packets
≡REQLST≡≡REQMAX≠≥		000016			REQMAX==.-REQLST
≥					
≤PUSH≡≥					T11MSE:	PUSH	R0			;save msg block address
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡QREQ≡≡R0≡≡SP≡≥	136614	016046	000004			MOV	QREQ(R0),-(SP)		;save request type
≤PMSG≡≥						PMSG	<\T11MSE=>
≡$PMSG≡≡$PMSG≡≥	136620	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	136622	147146				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≡PNTOCT≡≡PNTOCT≡≥	136626	104035				PNTOCT				;PRINT Request type
≡PCRLF≡≡PCRLF≡≥	136630	104031				PCRLF
≤POP≡≥						POP	R0			;restore Msg addr & fall into $ECHRY
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≥					$DTNOP:					; no-op
≤CALL≡≥					$ECHRY:	CALL	QGIVE			; JUST FREE THE BLOCK
≠JSR≡≡PC≡≡QGIVE≡≥	136634	004737	136766			JSR	PC,QGIVE
≤RETURN≡≥						RETURN				; AND RETURN
≠RTS≡≡PC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 325
	QMP11 PAL[KL,SYS]	Page 6.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	136640	000207				RTS	PC
≥					
≠MOV≡≡QECHRY≡≡QREQ≡≡R0≡≥	136642	012760	000001	000004	$11ECH:	MOV	#QECHRY,QREQ(R0)	; MAKE PACKET AN ECHO RESPONSE
≤QUEUE≡≥						QUEUE	TO10Q			; AND QUEUE IT FOR 10
≠JSR≡≡R5≡≡$QUEUE≡≥	136650	004537	137502			JSR	R5,$QUEUE
≠.WORD≡≡TO10Q≡≥	136654	157052				.WORD	TO10Q
≤RETURN≡≥						RETURN				;
≠RTS≡≡PC≡≥	136656	000207				RTS	PC
≥					
≤QUEUE≡≥					$11ETH:	QUEUE	ENETQ			; QUEUE BUFFER BLOCK TO ETHERNET QUEUE
≠JSR≡≡R5≡≡$QUEUE≡≥	136660	004537	137502			JSR	R5,$QUEUE
≠.WORD≡≡ENETQ≡≥	136664	157046				.WORD	ENETQ
≠BCC≡≥	136666	103002				BCC	1$			; BRANCH IF NOT FIRST (ONLY) ENTRY
≤CALL≡≥						CALL	SNDEN			; OK, QUEUE IT FOR ETHERNET
≠JSR≡≡PC≡≡SNDEN≡≥	136670	004737	136010			JSR	PC,SNDEN
≤RETURN≡≥					1$:	RETURN
≠RTS≡≡PC≡≥	136674	000207				RTS	PC
≥					
≥					
≤CALL≡≥					$11ADR:	CALL	QGIVE			; GO FREE THE QUEUE ENTRY NOW
≠JSR≡≡PC≡≡QGIVE≡≥	136676	004737	136766			JSR	PC,QGIVE
≠MOV≡≡QHDRSZ≡≡R1≡≥	136702	012701	000010			MOV	#QHDRSZ+2,R1		; NOW WE WILL GET SHORT BLOCK
≤CALL≡≥						CALL	QGET			; GO GET THE SHORT BLOCK
≠JSR≡≡PC≡≡QGET≡≥	136706	004737	137006			JSR	PC,QGET
≠BCS≡≥	136712	103411				BCS	1$			; Can't get such a block! He'll ask again
≠MOV≡≡ENIHAD≡≡QHDRSZ≡≡R0≡≥	136714	013760	157032	000006		MOV	ENIHAD,QHDRSZ(R0)	; Store ethernet address.
≠MOV≡≡QENADR≡≡QREQ≡≡R0≡≥	136722	012760	000004	000004		MOV	#QENADR,QREQ(R0)	; SET RESPONSE CODE FOR 10
≤QUEUE≡≥						QUEUE	TO10Q			; QUEUE FOR 10
≠JSR≡≡R5≡≡$QUEUE≡≥	136730	004537	137502			JSR	R5,$QUEUE
≠.WORD≡≡TO10Q≡≥	136734	157052				.WORD	TO10Q
≤RETURN≡≥					1$:	RETURN				; AND RETURN
≠RTS≡≡PC≡≥	136736	000207				RTS	PC
≥					
≥					;Here to set Ethernet broadcast packet control word.
≠MOV≡≡ENBCCF≡≡R2≡≥	136740	013702	157104		$ENBCC:	MOV	ENBCCF,R2		; get old control word to be returned
≠MOV≡≡QHDRSZ≡≡R0≡≡ENBCCF≡≥	136744	016037	000006	157104		MOV	QHDRSZ(R0),ENBCCF	; set new control word
≠MOV≡≡R2≡≡QHDRSZ≡≡R0≡≥	136752	010260	000006			MOV	R2,QHDRSZ(R0)		; put old control word in return packet
≤QUEUE≡≥						QUEUE	TO10Q			; and queue for the 10
≠JSR≡≡R5≡≡$QUEUE≡≥	136756	004537	137502			JSR	R5,$QUEUE
≠.WORD≡≡TO10Q≡≥	136762	157052				.WORD	TO10Q
≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	136764	000207				RTS	PC
≥					
≠MOV≡≡QSIZ≡≡R0≡≡R1≡≥	136766	016001	000002		QGIVE:	MOV	QSIZ(R0),R1		; GET PACKET SIZE IN R1
≠MOV≡≡R0≡≡R2≡≥	136772	010002				MOV	R0,R2			; MOV QUEUE ENTRY ADDRESS TO R2
≠MOV≡≡FREEQ≡≡R0≡≥	136774	012700	157036			MOV	#FREEQ,R0		; AND ADDRESS OF FREEQ TO R0
≤CALL≡≥						CALL	$RLCB			; RELEASE THE MEMORY
≠JSR≡≡PC≡≡$RLCB≡≥	137000	004737	137722			JSR	PC,$RLCB
≤RETURN≡≥						RETURN
≠RTS≡≡PC≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 326
	QMP11 PAL[KL,SYS]	Page 6.2 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	137004	000207				RTS	PC
≥					
≥					;QGET -  Get a free-core block.  Call with R1=Request size in bytes.
≥					; Returns with Carry Set to signify no block available, or,
≥					; Returns with Carry Clear, R0 = Block address.  QSIZ(R0) and QCHN(R0) setup.
≠MOV≡≡FREEQ≡≡R0≡≥	137006	012700	157036		QGET:	MOV	#FREEQ,R0		; ADDRESS OF FREEQ LIST HEADER
≤CALL≡≥						CALL	$RQCB			; ALLOCATE BLOCK
≠JSR≡≡PC≡≡$RQCB≡≥	137012	004737	140046			JSR	PC,$RQCB
≠BCS≡≥	137016	103405				BCS	1$			; BR if there's no block available
≠CLR≡≡QCHN≡≡R0≡≥	137020	005060	000000			CLR	QCHN(R0)		; CLEAR THE CHAIN WORD IN BLOCK
≠MOV≡≡R1≡≡QSIZ≡≡R0≡≥	137024	010160	000002			MOV	R1,QSIZ(R0)		; SET BUFFER SIZE IN CORE BLOCK
≠CLC≡≠CLC≡≥	137030	000241				CLC				; RETURN CARRY CLEAR
≤RETURN≡≥					1$:	RETURN
≠RTS≡≡PC≡≥	137032	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 327
	QMP11 PAL[KL,SYS]	Page 7 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; QMPCMD - ROUTINE CALLED FROM KLDCP WHEN 10 SENDS ITEM COUNT
≥					;
≥					;	ENTERED WITH:
≥					;		R5 = 14 IN THE HIGH BYTE
≥					;
≤CALL≡≥					QMPCMD:	CALL	$99
≠JSR≡≡PC≡≡$99≡≥	137034	004737	137044			JSR	PC,$99
≠JMP≡≡C10DON≡≥	137040	000137	107526			JMP	C10DON		; RETURN TO CONS11
≥					
≤SAVVR≡≥					$99:	SAVVR			; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	137044	004237	140266			JSR	R2,$SAVVR
≤PUSH≡≥						PUSH	PS		; SAVE OLD PS
≠.NLIST≡≠.IRP≡≠MOV≡≡PS≡≡SP≡≠.LIST≡≠MOV≡≡PR7≡≡PS≡≥	137054	012737	000340	177776		MOV	#PR7,PS		; AND SET NON-INTERRUPTIBLE STATUS
≠BIT≡≡.BC11≡≥	137062	032777	007777	020246		BIT	#7777,@.BC11	; Is there a transfer already in progress?
≠BNE≡≡QMPCXT≡≥	137070	001034				  BNE	QMPCXT		;   Yes, the '10 goofed. We'll just ignore it and
≥									;	let the current transfer finish.
≥									;   ***	If the DTE is every real hung, we lose!
≠MOV≡≡$ECMD≡≡R1≡≥	137072	013701	147576			MOV	$ECMD+2,R1	; WORD COUNT FROM CMD INCLUDES REQUEST
≠ASL≡≡R1≡≥	137076	006301				ASL	R1		; MAKE BYTE COUNT FOR CORE ALLOCATION
≠ADD≡≡QHDRSZ≡≡R1≡≥	137100	062701	000004			ADD	#QHDRSZ-2,R1	; ADD ROOM FOR HEADER TO REQUEST SIZE
≠MOV≡≡R1≡≡QMPRQS≡≥	137104	010137	157034			MOV	R1,QMPRQS	; save size of request in case we need QMPRTY
≤CALL≡≥					QMPRY1:	CALL	QGET		; REQUEST MEMORY
≠JSR≡≡PC≡≡QGET≡≥	137110	004737	137006			JSR	PC,QGET
≠BCS≡≡QMPCXT≡≥	137114	103422				BCS	QMPCXT		; BR if there is no buffer available.
≠CLR≡≡QMPRQS≡≥	137116	005037	157034			CLR	QMPRQS		; clear request size to avoid hassle in QMPRTY
≠MOV≡≡R0≡≡FR10Q≡≥	137122	010037	157042			MOV	R0,FR10Q	; SET HEADER ADDRESS IN FR10Q
≠ADD≡≡QHDRSZ≡≡R0≡≥	137126	062700	000004			ADD	#QHDRSZ-2,R0	; READ REQUEST AND DATA TO QUEUE ENTRY
≠MOV≡≡R0≡≡.T11AD≡≥	137132	010077	020204			MOV	R0,@.T11AD	; SET BUFFER ADDRESS IN DTE REG
≠SUB≡≡QHDRSZ≡≡R1≡≥	137136	162701	000004			SUB	#QHDRSZ-2,R1	; REDUCE COUNT FOR HEADER SIZE
≠ASR≡≡R1≡≥	137142	006201				ASR	R1		; MAKE WORD COUNT AGAIN FOR DTE XFER
≠NEG≡≡R1≡≥	137144	005401				NEG	R1		; MAKE TWO'S COMPLEMENT COUNT
≠BIC≡≡R1≡≥	137146	042701	170000			BIC	#170000,R1	; CLEAR HIGH BITS FROM COUNT
≠BIS≡≡INT10≡≡R1≡≥	137152	052701	100000			BIS	#INT10,R1	; SET BIT TO INTERRUPT 10 WHEN DONE
≠MOV≡≡R1≡≡.BC11≡≥	137156	010177	020154		 	MOV	R1,@.BC11	; AND SET BYTE COUNT IN DTE REG
≤POP≡≥					QMPCXT:	POP	PS		; RESTORE RUN PRIORITY
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡PS≡≠.LIST≡≠RTS≡≡PC≡≥	137166	000207				RTS	PC
≥					;
≥					;If there was no buffer space available when the 10 made its request,
≥					;the QMPCMD routine leaves QMPRQS set to the size of the request.
≥					;QMPRTY is called from SND10, each time through the command loop.
≥					
≤SAVVR≡≥					QMPRTY:	SAVVR
≠JSR≡≡R2≡≡$SAVVR≡≥	137170	004237	140266			JSR	R2,$SAVVR
≤PUSH≡≥						PUSH	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡PS≡≡SP≡≠.LIST≡≠MOV≡≡PR7≡≡PS≡≥	137200	012737	000340	177776		MOV	#PR7,PS		; AND SET NON-INTERRUPTIBLE STATUS
≠MOV≡≡QMPRQS≡≡R1≡≥	137206	013701	157034			MOV	QMPRQS,R1
≠BEQ≡≡QMPCXT≡≥	137212	001763				BEQ	QMPCXT
≠BR≡≡QMPRY1≡≥	137214	000735				BR	QMPRY1
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 328
	QMP11 PAL[KL,SYS]	Page 8 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; SND10 -  ROUTINE TO QUEUE BLOCK FOR XFER TO 10
≥					;
≥					;	Called From Console Loop via JSR PC,SND10
≥					; N.B.	ROUTINE RUNS INTERRUPTABLE!!!
≥					;
≤SAVVR≡≥					SND10:	SAVVR			; SAVE REGS R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	137216	004237	140266			JSR	R2,$SAVVR
≤PUSH≡≥						PUSH	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡PS≡≡SP≡≠.LIST≡≠MOV≡≡PR7≡≡PS≡≥	137226	012737	000340	177776		MOV	#PR7,PS		; set us as non-interuptable.
≠MOV≡≡TO10Q≡≡R0≡≥	137234	013700	157052			MOV	TO10Q,R0	; Get address of next message to 10
≠BEQ≡≥	137240	001446				BEQ	3$		; Nothing in queue. Return
≠TST≡≡DTEBSY≡≥	137242	005737	157134			TST	DTEBSY		; IS THE DTE CURRENTLY BUSY?
≠BEQ≡≥	137246	001403				BEQ	5$		; BR if not busy
≠INC≡≡DTEBCT≡≥	137250	005237	157132			INC	DTEBCT		; increment the busy count
≠BNE≡≥	137254	001040				BNE	3$		; if it counts out, restart pending xfer
≠CLR≡≡DTEBCT≡≥	137256	005037	157132		5$:	CLR	DTEBCT		; reset the busy count
≠MOV≡≡QSIZ≡≡R0≡≡R1≡≥	137262	016001	000002			MOV	QSIZ(R0),R1	; GET THE BYTE COUNT FROM BLOCK COUNTER
≠SUB≡≡QHDRSZ≡≡R1≡≥	137266	162701	000004			SUB	#QHDRSZ-2,R1	; SUBTRACT THE HEADER SIZE (INCLUDE REQUEST)
≠BGT≡≥	137272	003002				BGT	6$		; try not to be rediculous!
≠MOV≡≡R1≡≥	137274	012701	000002			MOV	#2,R1		; change a negative or zero count to positive.
≠ASR≡≡R1≡≥	137300	006201			6$:	ASR	R1		; CONVERT TO WORD COUNT FOR DTE XFER
≠MOV≡≡R1≡≡COUN10≡≥	137302	010137	157076			MOV	R1,COUN10	; SET COUNT FOR DEPOSIT IN 10 MEMORY
≠NEG≡≡R1≡≥	137306	005401				NEG	R1		; MAKE TWO'S COMPLEMENT FOR XFER
≠ADD≡≡QHDRSZ≡≡R0≡≥	137310	062700	000004			ADD	#QHDRSZ-2,R0	; POINT TO REQUEST WORD PRECEDING DATA
≠MOV≡≡R0≡≡.T10AD≡≥	137314	010077	020020			MOV	R0,@.T10AD	; SET WORD ADDRESS IN DTE REGISTER
≠MOV≡≡R1≡≡.BC10≡≥	137320	010177	020010			MOV	R1,@.BC10	; SET WORD COUNT IN DTE REGISTER
≡SETFLG≡≡SETFLG≡≥	137324	104055				SETFLG			; SET DTEBSY FLAG SO WE DON'T TRY TO WRITE MORE
≡DTEBSY≡≡DTEBSY≡≥	137326	157134				  DTEBSY		; UNTIL WE ARE FINISHED WITH THIS ONE
≠MOV≡≡SP≡≡PS≡≥	137330	011637	177776			MOV	(SP),PS		; Restore interrupts. We're done with Q & DTE
≠.IIF≡≡EPTREL≡≠MOV≡≡XEPT≡≡PRTOFF≡≡$TADSP≡≥	137334	012737	004000	147424	.IIF NE EPTREL, MOV	#XEPT!PRTOFF,$TADSP	; SET ADDR MODE FOR NXT EXDEP
≡DPOST≡≡DPOST≡≥	137342	104106				DPOST			; EMT CALL TO DEPOSIT IN 10 MEMORY
≡$DTQMP≡≡$DTQMP≡≥	137344	000460				  $DTQMP		; ADDRESS IN 10 MEMORY
≡COUN10≡≡COUN10≡≥	137346	157076				  COUN10		; ADDRESS OF PARAMETER STRING
≠MOV≡≡TO10DB≡≡.STDTE≡≥	137350	012777	000400	017776		MOV	#TO10DB,@.STDTE	; RING THE 10'S CHIMES
≤POP≡≥					3$:	POP	PS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡PS≡≠.LIST≡≤CALL≡≥						CALL	QMPRTY		; See if need a retry of QGET for a TO11 command
≠JSR≡≡PC≡≡QMPRTY≡≥	137362	004737	137170			JSR	PC,QMPRTY
≤RETURN≡≥						RETURN			; AND RETURN
≠RTS≡≡PC≡≥	137366	000207				RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 329
	QMP11 PAL[KL,SYS]	Page 9 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; QINI - ROUTINE TO INITIALIZE QUEUE STRUCTURES
≡FREEAD≠≥		003000			FREEAD==3000
≡FREESZ≠≥		020000			FREESZ==20000
≡FREEAD≡≡FREESZ≡≡FREEND≠≥		023000			FREEND==FREEAD+FREESZ		;of course.
≥					
≥					;	Called by
≥					;	JSR	PC,QINI		;Clear all queues. Initialize free memory pool.
≥					
≤SAVVR≡≥					QINI:	SAVVR			; SAVE R0-R2
≠JSR≡≡R2≡≡$SAVVR≡≥	137370	004237	140266			JSR	R2,$SAVVR
≥					
≠MOV≡≡FREEQ≡≡R0≡≥	137374	012700	157036			MOV	#FREEQ,R0	; ADDRESS OF FREEQ LISTHEAD
≠MOV≡≡FREEAD≡≡R1≡≥	137400	012701	003000			MOV	#FREEAD,R1	; ADDRESS OF free pool beginning
≥					
≠MOV≡≡R1≡≡EN0BUF≡≥	137404	010137	157110			MOV	R1,EN0BUF	; RESERVE FIRST OF FREE CORE
≠ADD≡≡EN0BSZ≡≡R1≡≥	137410	062701	001130			ADD	#EN0BSZ*2,R1	; FOR ETHERNET INPUT BUFFER(S)
≠MOV≡≡R1≡≡EN0BUF≡≥	137414	010137	157112			MOV	R1,EN0BUF+2	; MUST DOUBLE BUFFER ETHERNET INPUT
≠ADD≡≡EN0BSZ≡≡R1≡≥	137420	062701	001130			ADD	#EN0BSZ*2,R1
≥					
≠MOV≡≡R1≡≡R0≡≥	137424	010120				MOV	R1,(R0)+	; Set address of free block in list head (FREEQ)
≠CLR≡≡R0≡≥	137426	005010				CLR	(R0)		; CLEAR SECOND WORD (Looks like a zero size blk)
≠CLR≡≡R1≡≥	137430	005021				CLR	(R1)+		; FREEQ point to a single block. (no link out)
≠MOV≡≡FREESZ≡≡R1≡≥	137432	012711	020000			MOV	#FREESZ,(R1)	; set size of the single free block.
≠SUB≡≡EN0BSZ≡≡R1≡≥	137436	162711	002260			SUB	#EN0BSZ*4,(R1)	; adjust size to account for EN buffers.
≥					
≤QCLR≡≥						QCLR	FR10Q		; CLEAR THE FR10Q
≠JSR≡≡R5≡≡$QCLR≡≥	137442	004537	137466			JSR	R5,$QCLR
≠.WORD≡≡FR10Q≡≥	137446	157042				.WORD	FR10Q
≤QCLR≡≥						QCLR	TO10Q		; CLEAR THE TO10Q
≠JSR≡≡R5≡≡$QCLR≡≥	137450	004537	137466			JSR	R5,$QCLR
≠.WORD≡≡TO10Q≡≥	137454	157052				.WORD	TO10Q
≤QCLR≡≥						QCLR	ENETQ		; CLEAR THE ETHERNET QUEUE
≠JSR≡≡R5≡≡$QCLR≡≥	137456	004537	137466			JSR	R5,$QCLR
≠.WORD≡≡ENETQ≡≥	137462	157046				.WORD	ENETQ
≥					
≠.IF≡≡FSCASB≡≥					.IF DF FSCASB
≥						CLR	WUSED		; Initialize bugtrap counts
≥						CLR	NGETS
≥						CLR	NGIVES
≥						MOV	#1,BFREE	; One BIG block
≥					.ENDC;DF FSCASB
≥					
≤RETURN≡≥						RETURN			;
≠RTS≡≡PC≡≥	137464	000207				RTS	PC
≥					
≥					; $QCLR - QUEUE RESET ROUTINE
≥					;
≥					;	CALLED AS:		JSR	R5,$QCLR
≥					;				.WORD	QPB
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 330
	QMP11 PAL[KL,SYS]	Page 9.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					;	WHERE QPB IS QUEUE PARAMETER BLOCK
≥					;
≤PUSH≡≥					$QCLR:	PUSH	R0		; SAVE R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡R5≡≡R0≡≥	137470	012500				MOV	(R5)+,R0	; GET QUEUE PARAMETER BLOCK ADDRESS
≠CLR≡≡R0≡≥	137472	005020				CLR	(R0)+		; CLEAR POINTER TO OLDEST ENTRY
≠CLR≡≡R0≡≥	137474	005020				CLR	(R0)+		; AND POINTER TO NEWEST ENTRY
≤POP≡≥						POP	R0		; RESTORE R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTS≡≡R5≡≥	137500	000205				RTS	R5
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 331
	QMP11 PAL[KL,SYS]	Page 10 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; $QUEUE - GENERALIZED QUEUE ROUTINE
≥					;
≥					; CALLED AS:		JSR	R5,$QUEUE
≥					;			.WORD	QPB
≥					;		Where
≥					;		QPB = the address of the Queue Parameter Block, and
≥					;		R0 = the Address of the new Queue item.
≥					;
≥					;		The new Queue item is:
≥					;			.WORD	CHAIN POINTER
≥					;			.WORD	BYTE COUNT (INCLUDES QHDRSZ BYTES FOR HEADER)
≥					;			.WORD	REQUEST IDENTIFIER
≥					;			.BYTES	DATA
≥					;
≥					;		and the Queue Parameter Block is 
≥					;			.WORD	POINTER TO OLDEST ENTRY IN QUEUE
≥					;			.WORD	POINTER TO NEWEST ENTRY IN QUEUE
≥					;
≥					;		Routine returns with Carry set if you have just placed
≥					;		the first item in an empty queue.
≥					;
≤PUSH≡≥					$QUEUE:	PUSH	R2		; SAVE R2 IN STACK
≠.NLIST≡≠.IRP≡≠MOV≡≡R2≡≡SP≡≠.LIST≡≠MOV≡≡R5≡≡R2≡≥	137504	012502				MOV	(R5)+,R2	; ADDRESS OF QUEUE POINTER BLOCK TO R2
≠CLR≡≡R0≡≥	137506	005010				CLR	(R0)		; CLEAR CHAIN WORD IN NEW ENTRY
≠TST≡≡R2≡≥	137510	005712				TST	(R2)		; IS QUEUE EMPTY
≠BNE≡≥	137512	001004				BNE	1$		; IF NE NO, QUEUE IS NOT EMPTY
≠MOV≡≡R0≡≡R2≡≥	137514	010022				MOV	R0,(R2)+	; YES, EMPTY - SET ENTRY ADDRESS
≠MOV≡≡R0≡≡R2≡≥	137516	010022				MOV	R0,(R2)+	; AND SET NEWEST ENTRY POINTER
≠SEC≡≠SEC≡≥	137520	000261				SEC			; SET CARRY, FIRST AND ONLY ENTRY IN QUEUE
≠BR≡≥	137522	000405				BR	2$		; NOW RETURN
≠MOV≡≡R0≡≡R2≡≥	137524	010072	000002		1$:	MOV	R0,@2(R2)	; CHAIN ENTRY TO CURRENT NEWEST ENTRY
≠MOV≡≡R0≡≡R2≡≥	137530	010062	000002			MOV	R0,2(R2)	; AND MAKE IT NEWEST ENTRY
≠CLC≡≠CLC≡≥	137534	000241				CLC			; CLEAR CARRY, NOT ONLY ENTRY IN QUEUE
≤POP≡≥					2$:	POP	R2		; RESTORE R2
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R2≡≠.LIST≡≠RTS≡≡R5≡≥	137540	000205				RTS	R5		; RETURN VIA R5
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 332
	QMP11 PAL[KL,SYS]	Page 11 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; QMPINI - ROUTINE TO INITIALIZE INTERRUPT ADDRESSES ETC.
≥					;
≥					;	CALLED AS:		JSR	PC,QMPINI
≥					;
≤SAVAL≡≥					QMPINI:	SAVAL			; SAVE REGS R0-R5
≠JSR≡≡PC≡≡$SAVAL≡≥	137542	004737	140200			JSR	PC,$SAVAL
≤PUSH≡≥						PUSH	PS		; SAVE CALLING PRIORITY
≠.NLIST≡≠.IRP≡≠MOV≡≡PS≡≡SP≡≠.LIST≡≠MOV≡≡PR7≡≡R2≡≥	137552	012702	000340			MOV	#PR7,R2		; GET PRIORITY SEVEN IN R2
≠MOV≡≡R2≡≡PS≡≥	137556	010237	177776			MOV	R2,PS		; SET PRIORITY SEVEN NOW
≠MOV≡≡R1≡≥	137562	012701	000774			MOV	#774,R1		; GET ADDRESS OF DTE INTERRUPT VECTOR
≠MOV≡≡DTEINT≡≡R1≡≥	137566	012721	136356			MOV	#DTEINT,(R1)+	; SET DTE INTERRUPT VECTOR ADDRESS
≠MOV≡≡R2≡≡R1≡≥	137572	010221				MOV	R2,(R1)+	; AND INTERRUPT PRIORITY SEVEN
≠MOV≡≡.DELAY≡≥	137574	012777	037776	017516		MOV	#37776,@.DELAY	; INITIAL DELAY COUNT
≠BIS≡≡INTRON≡≡.STDTE≡≥	137602	052777	000040	017544		BIS	#INTRON,@.STDTE	; SET INTERRUPTS ON
≥					;
≠MOV≡≡R1≡≥	137610	012701	000400			MOV	#400,R1		; GET ETHERNET INTERRUPT VECTOR ADDRESS
≠MOV≡≡ENOINT≡≡R1≡≥	137614	012721	135676			MOV	#ENOINT,(R1)+	; SET INTERRUPT DISPACH ADDR IN VECTOR
≠MOV≡≡R2≡≡R1≡≥	137620	010221				MOV	R2,(R1)+	; AND INTERRUPT PRIORITY SEVEN
≠MOV≡≡ENIINT≡≡R1≡≥	137622	012721	136102			MOV	#ENIINT,(R1)+	; SET INTERRUPT DISPACH ADDR IN VECTOR
≠MOV≡≡R2≡≡R1≡≥	137626	010221				MOV	R2,(R1)+	; AND INTERRUPT PRIORITY SEVEN
≠MOV≡≡ENOINT≡≡R1≡≥	137630	012721	135676			MOV	#ENOINT,(R1)+	; SET INTERRUPT DISPATCH ADDR IN VECTOR
≠MOV≡≡R2≡≡R1≡≥	137634	010221				MOV	R2,(R1)+	; AND SET INTERRUPT PRIORITY SEVEN
≠MOV≡≡ENIADR≡≡ENIHAD≡≥	137636	013737	160036	157032		MOV	ENIADR,ENIHAD	; GET THE ETHERNET ADDRESS
≠COMB≡≡ENIHAD≡≥	137644	105137	157032			COMB	ENIHAD		; COMPLEMENT FOR READING
≥					;
≤CALL≡≥						CALL	QINI		; INITIALIZE MEMORY AND QUEUES
≠JSR≡≡PC≡≡QINI≡≥	137650	004737	137370			JSR	PC,QINI
≥					;
≠MOV≡≡EN0DLY≡≡R0≡≥	137654	012700	157056			MOV	#EN0DLY,R0	; ADDRESS OF DELAY ARRAY FOR EN0
≠MOV≡≡R1≡≥	137660	012701	000010			MOV	#10,R1		; MAXIMUM NUMBER OF RETRYS
≠MOV≡≡R2≡≥	137664	012702	000200			MOV	#200,R2		; MAXIMUM DELAY
≠MOV≡≡R2≡≡R0≡≥	137670	010220			1$:	MOV	R2,(R0)+	; PUT DELAY IN TABLE
≠ASR≡≡R2≡≥	137672	006202				ASR	R2		; SHIFT IT RIGHT
≠SOB≡≡R1≡≥	137674	077103				SOB	R1,1$		; LOOP AND FILL TABLE
≥					;
≠CLR≡≡R3≡≥	137676	005003				CLR	R3		; Select first buffer
≠MOV≡≡R3≡≡EN0IND≡≥	137700	010337	157106			MOV	R3,EN0IND
≤CALL≡≥						CALL	ENISET		; Setup to read first packet
≠JSR≡≡PC≡≡ENISET≡≥	137704	004737	136270			JSR	PC,ENISET
≠CLR≡≡ENBCCF≡≥	137710	005037	157104			CLR	ENBCCF		; DISABLE PASSING EN BROADCAST PACKETS TO 10
≥					;
≤POP≡≥						POP	PS		; RESTORE ENTRY PRIORITY
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡PS≡≠.LIST≡≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	137720	000207				RTS	PC
≥					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 333
	QMP11 PAL[KL,SYS]	Page 12 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; RQCB/RLCB: first fit dynamic core allocation routines
≥					;
≥					; data structures
≥					;
≥					; Free block list header:
≥					;
≥					; 	freehd:	.word	next	; pointer to next free block or zero
≥					;		.word	0	; always zero (looks like a too-small block)
≥					;
≥					; Free block:
≥					;
≥					;	freebk:	.word	next	; pointer to next free block or zero
≥					;		.word	size	; size of block in bytes
≥					;
≥					; Used block:  User pointer to the free block addresses "usedbk" below.
≥					;
≥					;		.word	size	; size of block in bytes (and even number)
≥					;	usedbk:	.word	data	; Size-2 bytes of user data are permitted
≥					;
≥					; 	The free block list is ordered by the core address of the blocks
≥					; 	themselves.  This is so block agglomeration can be performed with
≥					;	little overhead.
≥					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 334
	QMP11 PAL[KL,SYS]	Page 13 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; $RLCB - ReLease Core Block
≥					;
≥					; Call this subroutine to release a core block to the free list.
≥					; The free list is searched until the proper slot is found.  The Block
≥					; is merged into the free list.  If the block being released is adjacent
≥					; to other free blocks, then those blocks are agglomerated and the new block
≥					; is merged into the free list.
≥					;
≥					; INPUTS:
≥					;	R0 = ADDRESS OF FREE BLOCK LIST HEAD
≥					;	R2 = ADDRESS OF BLOCK TO RELEASE.
≥					;
≥					; OUTPUTS:
≥					;	NONE
≥					;
≤SAVRG≡≥					$RLCB:	SAVRG			; SAVE NON-VOLATILE REGISTERS
≠JSR≡≡R5≡≡$SAVRG≡≥	137722	004537	140242			JSR	R5,$SAVRG
≠MOV≡≡R2≡≡R1≡≥	137726	014201				MOV	-(R2),R1	; Point to start of block. Get size
≠BLE≡≥	137730	003445				BLE	99$		; A non-positive size is unlikely and undesirable
≠BIT≡≡R1≡≥	137732	032701	000001			BIT	#1,R1		; An odd size is likewise undesirable
≠BNE≡≥	137736	001042				BNE	99$		; So, we bomb out.
≠CMP≡≡FREEAD≡≡R2≡≥	137740	022702	003000			CMP	#FREEAD,R2	; Make sure free block is in bounds
≠BHI≡≥	137744	101037				BHI	99$		; BR if out of bounds.
≠MOV≡≡R1≡≡R3≡≥	137746	010103				MOV	R1,R3		; Copy length of this block to R3
≠ADD≡≡R2≡≡R3≡≥	137750	060203				ADD	R2,R3		; compute end of this block
≠CMP≡≡FREEND≡≡R3≡≥	137752	022703	023000			CMP	#FREEND,R3	; compare to top of free storage
≠BLO≡≥	137756	103432				BLO	99$		; BR if out of bounds.
≠MOV≡≡R0≡≡R3≡≥	137760	011003			1$:	MOV	(R0),R3		; GET ADDRESS OF NEXT FREE BLOCK
≠BEQ≡≥	137762	001404				BEQ	2$		; IF EQ THEN END OF CHAIN
≠CMP≡≡R2≡≡R3≡≥	137764	020203				CMP	R2,R3		; COMPARE ADDRESSES
≠BLO≡≥	137766	103402				BLO	2$		; IF LO THEN WE FOUND SLOT
≠MOV≡≡R3≡≡R0≡≥	137770	010300				MOV	R3,R0		; SET NEW PREVIOUS ADDRESS
≠BR≡≥	137772	000772				BR	1$		; GO AGAIN
≥					
≥					;here, R0 is address of previous block.  R3 is address of next block.
≠MOV≡≡R3≡≡R2≡≥	137774	010312			2$:	MOV	R3,(R2)		; ASSUME NO AGGLOMERATION. Link out of new blk.
≠MOV≡≡R2≡≡R4≡≥	137776	010204				MOV	R2,R4		; CALCULATE ADDRESS OF NEXT BLOCK
≠ADD≡≡R1≡≡R4≡≥	140000	060104				ADD	R1,R4		; ADD IN BLOCK SIZE
≠.IF≡≡FSCASB≡≥					.IF DF FSCASB
≥						SUB	R1,WUSED	; Bugtrap: Decrement number of words in use
≥						INC	BFREE		; Assuming no agglomeration
≥					.ENDC;DF FSCASB
≠CMP≡≡R3≡≡R4≡≥	140002	020304				CMP	R3,R4		; COMPARE BLOCK ADDRESSES
≠BNE≡≥	140004	001002				  BNE	3$		; IF NE DO NOT MERGE BLOCKS
≠MOV≡≡R3≡≡R2≡≥	140006	012312				MOV	(R3)+,(R2)	; SET NEW FORWARD LINK
≠ADD≡≡R3≡≡R1≡≥	140010	061301				ADD	(R3),R1		; ADJUST SIZE
≠.IIF≡≡FSCASB≡≥					.IIF DF FSCASB,	DEC	BFREE	; We merged one here.
≠MOV≡≡R2≡≡R0≡≥	140012	010210			3$:	MOV	R2,(R0)		; ASSUME NO AGGLOMERATION
≠MOV≡≡R0≡≡R4≡≥	140014	010004				MOV	R0,R4		; CALCULATE ADDRESS OF NEXT BLOCK
≠ADD≡≡R0≡≡R4≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 335
	QMP11 PAL[KL,SYS]	Page 13.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	140016	066004	000002			ADD	2(R0),R4	; ADD IN BLOCK SIZE
≠CMP≡≡R2≡≡R4≡≥	140022	020204				CMP	R2,R4		; COMPARE ADDRESSES
≠BNE≡≥	140024	001004				  BNE	4$		; IF NE DO NOT MERGE
≠MOV≡≡R2≡≡R0≡≥	140026	011210				MOV	(R2),(R0)	; SET NEW FORWARD LINK
≠ADD≡≡R0≡≡R1≡≥	140030	066001	000002			ADD	2(R0),R1	; ADJUST SIZE
≠MOV≡≡R0≡≡R2≡≥	140034	010002				MOV	R0,R2		; SET NEW BASE ADDRESS OF BLOCK
≠.IIF≡≡FSCASB≡≥					.IIF DF FSCASB,	DEC	BFREE	; We merged one here.
≠MOV≡≡R1≡≡R2≡≥	140036	010162	000002		4$:	MOV	R1,2(R2)	; SET SIZE OF BLOCK
≠.IIF≡≡FSCASB≡≥					.IIF DF FSCASB,	INC	NGIVES	; Count instances
≤RETURN≡≥						RETURN			;
≠RTS≡≡PC≡≥	140042	000207				RTS	PC
≥					
≡FATAL≡≡FATAL≡≥	140044	104000			99$:	FATAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 336
	QMP11 PAL[KL,SYS]	Page 14 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; $RQCB - REQUEST CORE BLOCK
≥					;
≥					; Call this subroutine to request a core block from the free list.
≥					; The selection is made on the first fit basis.
≥					;
≥					; INPUTS:
≥					;	R0 = ADDRESS OF FREE BLOCK LIST HEAD
≥					;	R1 = Requested size of block in bytes.
≥					;
≥					;	The size of the request will be increased by 2 and rounded up to
≥					;	be an even number of bytes.
≥					;
≥					; OUTPUTS:
≥					;	C=1 IF REQUEST CANNOT BE FULFILLED
≥					;	C=0 IF REQUEST IS SATISFIED. R0 = ADDRESS OF REQUESTED CORE BLOCK.
≥					;				     R1 = Requested size rounded up to even #
≥					;
≤SAVRG≡≥					$RQCB:	SAVRG			; SAVE NONVOLATILE REGISTERS
≠JSR≡≡R5≡≡$SAVRG≡≥	140046	004537	140242			JSR	R5,$SAVRG
≠TST≡≡R1≡≥	140052	005701				TST	R1		; make sure request is positive.
≠BLE≡≥	140054	003450				BLE	99$		; can't have idiots around here.
≠ADD≡≡R1≡≥	140056	062701	000003			ADD	#3,R1		; Add 2 and round up to next word boundary
≠BIC≡≡R1≡≥	140062	042701	000001			BIC	#1,R1		; Clear excess odd bit
≥					;R0 = address of "previous", R3 = address of "current"
≠MOV≡≡R0≡≡R3≡≥	140066	011003			2$:	MOV	(R0),R3		; Get address of the next free block.
≠BEQ≡≥	140070	001440				BEQ	9$		; BR if end of the list.  No block available.
≠CMP≡≡R1≡≡R3≡≥	140072	020163	000002			CMP	R1,2(R3)	; Is the block big enough?
≠BLOS≡≥	140076	101402				BLOS	6$		; BR if the block is large enough.
≠MOV≡≡R3≡≡R0≡≥	140100	010300				MOV	R3,R0		; Advance R0 to point to this block
≠BR≡≥	140102	000771				BR	2$		; and go look at the next block.
≥					
≥					;Here R3 = address of a desirable block.   R0 is the predecessor
≤PUSH≡≥					6$:	PUSH	R1		;Save user's size request (+2)
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡R3≡≡R2≡≥	140106	016302	000002			MOV	2(R3),R2	;Get the size of the block we found
≠SUB≡≡R1≡≡R2≡≥	140112	160102				SUB	R1,R2		;Reduce it by the size of this request
≠CMP≡≡R2≡≥	140114	022702	000020			CMP	#20,R2		;Is there enough left to be worth splitting?
≠BHIS≡≥	140120	103004				BHIS	7$		;BR if fragment too small to split.
≠MOV≡≡R2≡≡R3≡≥	140122	010263	000002			MOV	R2,2(R3)	;Store size of remainder.
≠ADD≡≡R2≡≡R3≡≥	140126	060203				ADD	R2,R3		;Calculate address of piece to return now
≠BR≡≥	140130	000403				BR	8$		;R3=address to return. R1=Size.
≥					
≠MOV≡≡R3≡≡R0≡≥	140132	011310			7$:	MOV	(R3),(R0)	;Here for no split. LINK PREVIOUS TO NEXT
≠MOV≡≡R3≡≡R1≡≥	140134	016301	000002			MOV	2(R3),R1	;this is the actual size of this block
≠.IIF≡≡FSCASB≡≥					.IIF DF FSCASB,	DEC	BFREE	;One less thing on free list
≠MOV≡≡R3≡≡R0≡≥	140140	010300			8$:	MOV	R3,R0		;Copy address block to R0
≠MOV≡≡R1≡≡R0≡≥	140142	010120				MOV	R1,(R0)+	;Store size of the block in the block.
≠CMP≡≡FREEAD≡≡R3≡≥	140144	022703	003000			CMP	#FREEAD,R3	; Make sure free block is in bounds
≠BHI≡≥	140150	101012				BHI	99$		; BR if out of bounds.
≠ADD≡≡R1≡≡R3≡≥	140152	060103				ADD	R1,R3		; compute end of this block
≠CMP≡≡FREEND≡≡R3≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 337
	QMP11 PAL[KL,SYS]	Page 14.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥	140154	022703	023000			CMP	#FREEND,R3	; compare to top of free storage
≠BLO≡≥	140160	103406				BLO	99$		; BR if out of bounds.
≠.IF≡≡FSCASB≡≥					.IF DF FSCASB
≥						ADD	R1,WUSED	;Bugtrap: Update number of words used
≥						INC	NGETS		;	  Increment number of requests
≥					.ENDC; DF FSCASB
≤POP≡≥						POP	R1		;User's request size (+2)
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≠TST≡≡R1≡≥	140164	005741				TST	-(R1)		;return in R1 the apparent block size.
≠CLC≡≠CLC≡≥	140166	000241				CLC			; CLEAR CARRY
≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	140170	000207				RTS	PC
≥					
≠SEC≡≠SEC≡≥	140172	000261			9$:	SEC			; SET CARRY
≤RETURN≡≥						RETURN			;
≠RTS≡≡PC≡≥	140174	000207				RTS	PC
≥					
≡FATAL≡≡FATAL≡≥	140176	104000			99$:	FATAL
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 338
	QMP11 PAL[KL,SYS]	Page 15 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					; $SAVAL, $SAVVR, $SAVRG  Register Save and Restore Co-routines
≥					;
≥					; $SAVAL - SAVE AND RESTORE R0-R5
≥					;
≥					; THIS MODULE IS ENTERED VIA A "JSR	PC,$SAVAL" TO SAVE AND
≥					; SUBSEQUENTLY RESTORE REGISTERS R0 THROUGH R5.  AFTER STORING THE
≥					; REGISTER CONTENST ON THE STACK A CO-ROUTINE CALL IS MADE TO
≥					; THE CALLING ROUTINE.  A SUBSEQUENT "RTS	PC" CAUSES THIS
≥					; SUBROUTINE TO RESTORE ALL REGISTERS AND EXIT VIA AN "RTS	PC".
≥					;
≥					; ALL REGISTER CONTENTS ARE PRESERVED.
≥					;
≤PUSH≡≥					$SAVAL:	PUSH	R4
≠.NLIST≡≠.IRP≡≠MOV≡≡R4≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R3
≠.NLIST≡≠.IRP≡≠MOV≡≡R3≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R2
≠.NLIST≡≠.IRP≡≠MOV≡≡R2≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R0		; SAVE R4-R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡SP≡≡SP≡≥	140212	016646	000012			MOV	12(SP),-(SP)	; COPY RETURN ADDR
≠MOV≡≡R5≡≡SP≡≥	140216	010566	000014			MOV	R5,14(SP)	; SAVE R5
≤CALL≡≥						CALL	@(SP)+		; CALL THE CALLER
≠JSR≡≡PC≡≡SP≡≥	140222	004736				JSR	PC,@(SP)+
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤POP≡≥						POP	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥						POP	R2
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R2≡≠.LIST≡≤POP≡≥						POP	R3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R3≡≠.LIST≡≤POP≡≥						POP	R4
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R4≡≠.LIST≡≤POP≡≥						POP	R5		; RESTORE R0-R5
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R5≡≠.LIST≡≤RETURN≡≥						RETURN			; AND RETURN
≠RTS≡≡PC≡≥	140240	000207				RTS	PC
≥					;
≥					; $SAVRG - SAVE AND RESTORE NONVOLATILE REGISTERS, 3,4,5
≥					;
≥					; CALLED AS:		JSR	R5,$SAVRG
≥					;
≤PUSH≡≥					$SAVRG:	PUSH	R4
≠.NLIST≡≠.IRP≡≠MOV≡≡R4≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R3		; SAVE R4,R3
≠.NLIST≡≠.IRP≡≠MOV≡≡R3≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R5		; PUT RETURN ADDRESS ON STACK
≠.NLIST≡≠.IRP≡≠MOV≡≡R5≡≡SP≡≠.LIST≡≠MOV≡≡SP≡≡R5≡≥	140250	016605	000006			MOV	6(SP),R5	; RETRIEVE REAL R5
≤CALL≡≥						CALL	@(SP)+		; CALL THE CALLER
≠JSR≡≡PC≡≡SP≡≥	140254	004736				JSR	PC,@(SP)+
≤POP≡≥						POP	R3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R3≡≠.LIST≡≤POP≡≥						POP	R4
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R4≡≠.LIST≡≤POP≡≥						POP	R5		; RESTORE R5
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R5≡≠.LIST≡≤RETURN≡≥						RETURN
≠RTS≡≡PC≡≥	140264	000207				RTS	PC
≥					
≥					; $SAVVR - SAVE AND RESTORE VOLATILE REGS - R0-R2
≥					;
≥					; CALLED AS:		JSR	R2,$SAVVR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 339
	QMP11 PAL[KL,SYS]	Page 15.1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					;
≤PUSH≡≥					$SAVVR:	PUSH	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R0		; SAVE R1 AND R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≤PUSH≡≥						PUSH	R2		; SAVE RETURN ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡R2≡≡SP≡≠.LIST≡≠MOV≡≡SP≡≡R2≡≥	140274	016602	000006			MOV	6(SP),R2	; RESTORE R2
≤CALL≡≥						CALL	@(SP)+		; CALL THE CALLER
≠JSR≡≡PC≡≡SP≡≥	140300	004736				JSR	PC,@(SP)+
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤POP≡≥						POP	R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤POP≡≥						POP	R2		; RESTORE REGS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R2≡≠.LIST≡≤RETURN≡≥						RETURN			;
≠RTS≡≡PC≡≥	140310	000207				RTS	PC
≥					;
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 340
	KLDCP PAL[KL,SYS]	Page 5.8 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥					
≥								;File loading and command functions
≠.INSRT≡≥					.INSRT	APT11.PAL		
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 341
	APT11 PALII[KL,SYS]	Page 1 	DSKDMP BOOTSTRAP LOADING SERVICE, JBR 23-MAY-76 - LDBOOT

≥				COMMENT ⊗   VALID 00014 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00003 00002	.SBTTL	APT10 PDP-11 PROCESS, 13-AUG-75
≥				C00005 00003	DAHLPD=.
≥				C00007 00004	ACTBCK:	PMSG	<?CKSUM>
≥				C00008 00005	.SBTTL	COMMUNICATIONS ROUTINES
≥				C00010 00006	7$:	TTICHR			GET CONTROL SEQUENCE CHARACTER
≥				C00011 00007	CMERTB:	CMER1
≥				C00012 00008	$COMSND:MOV	#COUTBF,R5
≥				C00014 00009	$CMRTRY:MOV	#COUTBF-4,R0	SETUP MESSAGE POINTER
≥				C00016 00010	$COMLIN:MOV	#CINBF-4,R1	START BUFFER ADDRESS
≥				C00018 00011	3$:	INC	R1		NULL TO END BUFFER
≥				C00020 00012	44$:	TST	R0		DID CHECKSUM COMPUTE TO 0 ?
≥				C00021 00013	$COMENQ:COMCLR			CLEAR COMMUNICATIONS
≥				C00023 00014	$COMCLR:CLR	ENQFLG
≥				C00025 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 342
	APT11 PALII[KL,SYS]	Page 2 	APT10 PDP-11 PROCESS, 13-AUG-75

≥					.SBTTL	APT10 PDP-11 PROCESS, 13-AUG-75
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥					ACTFIL:	CMP	#5,LDCNTL	;LOADING ".BIN" ?
≥						BNE	1$
≥						MOV	#1,LDCNTL	;YES, ACT10 CONVERTS TO ".A11"
≥					1$:	COMENQ			;REQUEST APT10 SERVICE
≥						MOV	#$INBUF,R0
≥						COMCMD			;SEND COMMAND TO REMOTE
≥						BCS	2$		;C-BIT SET, FILE NOT FOUND
≥						CLR	ARETRY		;CLEAR RETRY COUNTER
≥						BR	ACTLD1		;GO TO LOAD PROCESS
≥					2$:	JMP	$NONXF
≥					.ENDC
≥					
≥					ACTLD2:
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP
≥						BMI	1$		;ACT10
≥					.ENDC
≠JMP≡≡LLD2≡≥	140312	000137	131150			JMP	LLD2		;DECTAPE/RP04
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥					1$:	COMACK			;ACK PREVIOUS LINE
≥						BCS	ACTEOF		;C-BIT SET, EOF
≥						CLR	ARETRY		;CLEAR RETRY COUNTER
≥					
≥					ACTLD1:	INC	DEVLC		;COUNT LINE
≥						MOV	DEVLC,SWR	;DISPLAY
≥						TST	LDCNTL		;DOING A "HELP" ?
≥						BPL	1$		;NO
≥					.ENDC
≡DAHLP≠≥		140316			DAHLP=.
≠TST≡≡DIAFLG≡≥	140316	005737	151120			TST	DIAFLG		;DOING DIAMON
≠BEQ≡≥	140322	001407				BEQ	30$		;NO
≠TST≡≡DEVLC≡≥	140324	005737	150724			TST	DEVLC		;YES, FIRST LINE ?
≠BNE≡≥	140330	001002				BNE	31$		;NO
≠JMP≡≡DIAFND≡≥	140332	000137	112226			JMP	DIAFND		;YES, DIAMON FILE FOUND
≠JMP≡≡DIARNL≡≥	140336	000137	112262		31$:	JMP	DIARNL		;DIAMON READ NEW LINE
≠TST≡≡IFILEF≡≥	140342	005737	147624		30$:	TST	IFILEF		;DOING AN INDIRECT FILE ?
≠BEQ≡≥	140346	001402				BEQ	4$
≠JMP≡≡IFILEP≡≥	140350	000137	140560			JMP	IFILEP		;YES, STORE INPUT
≡SETFLG≡≡SETFLG≡≥	140354	104055			4$:	SETFLG
≡HLPPNT≡≡HLPPNT≡≥	140356	150722				HLPPNT			;NORMAL BACKSLASHES
≠MOV≡≡$INBUF≡≡R0≡≥	140360	012700	150500			MOV	#$INBUF,R0	;YES, PRINT INPUT LINE
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP
≥						BPL	41$
≥						MOV	#CINBF,R0
≥					.ENDC
≡PNTAL≡≡PNTAL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 343
	APT11 PALII[KL,SYS]	Page 2.1 	APT10 PDP-11 PROCESS, 13-AUG-75

≥	140364	104024			41$:	PNTAL
≠CLR≡≡HLPPNT≡≥	140366	005037	150722			CLR	HLPPNT
≠BR≡≡ACTLD2≡≥	140372	000747				BR	ACTLD2		;REPEAT TILL "EOT"
≥					
≠JMP≡≡LDPROC≡≥	140374	000137	131306		1$:	JMP	LDPROC		;GO TO LOAD PROCESS
≥					
≠.LIF≡≡MONASB≡≥					.LIF DF MONASB
≥					ACTEOF:	COMCLR
≡DAHLPD≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 344
	APT11 PALII[KL,SYS]	Page 3 	APT10 PDP-11 PROCESS, 13-AUG-75

≥		140400			DAHLPD=.
≠TST≡≡DIAFLG≡≥	140400	005737	151120			TST	DIAFLG		;DOING DIAMON ?
≠BEQ≡≥	140404	001402				BEQ	10$		;NO
≠JMP≡≡DIAEOF≡≥	140406	000137	112362			JMP	DIAEOF		;YES, SEND DIAMON END OF FILE
≠TST≡≡IFILEF≡≥	140412	005737	147624		10$:	TST	IFILEF		;INDIRECT/DOUBLE INDIRECT ?
≠BNE≡≥	140416	001002				BNE	21$		;YES
≡PCRLF≡≡PCRLF≡≥	140420	104031				PCRLF			;NO, JUST HELP
≠BR≡≥	140422	000422				BR	23$		;BACK TO CONSOLE
≥					
≠TST≡≡JFILEF≡≥	140424	005737	147620		21$:	TST	JFILEF		;DOUBLE INDIRECT ?
≠BPL≡≥	140430	100012				BPL	22$		;NO
≠TSTB≡≡JFILEF≡≥	140432	105737	147620			TSTB	JFILEF		;PRESENT JUST INDIRECT ?
≠BEQ≡≥	140436	001407				BEQ	22$		;YES
≠CLRB≡≡JFILEF≡≥	140440	105037	147620			CLRB	 JFILEF		;SET DONE WITH READING "J"
≠MOV≡≡TOUTBF≡≡JFINP≡≥	140444	012737	010000	147616		MOV	#TOUTBF+5000,JFINP	;SET "J" POINTER TO BEGINNING
≠JMP≡≡CONSL≡≥	140452	000137	100106			JMP	CONSL		;START RUNNING
≥					
≠MOV≡≡TOUTBF≡≡IFINP≡≥	140456	012737	003000	147622	22$:	MOV	#TOUTBF,IFINP	;SET POINTER TO BEGINNING
≠CLRB≡≡IFILEF≡≥	140464	105037	147624			CLRB	IFILEF
≠JMP≡≡$CONSL≡≥	140470	000137	100014		23$:	JMP	$CONSL		;GO PROCESS INDIRECT FILE
≥					
≥					ACTDON:
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						COMACK			;ACK TRANSFER BLOCK
≥						BCC	3$
≥					.ENDC
≡DADONE≠≥		140474			DADONE=.
≠TST≡≡SRTFLG≡≥	140474	005737	150726			TST	SRTFLG		;SELF START ?
≠BEQ≡≥	140500	001402				BEQ	1$
≠JMP≡≡$$GO≡≥	140502	000137	113216			JMP	$$GO		;YES
≠JMP≡≡$CONSL≡≥	140506	000137	100014		1$:	JMP	$CONSL		;NO
≥					
≤PMSG≡≥					3$:	PMSG	<?EOF,ERR>
≡$PMSG≡≡$PMSG≡≥	140512	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	140514	147157				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠JMP≡≡$CNTLC≡≥	140516	000137	100004		$$C2:	JMP	$CNTLC
≥					
≤PMSG≡≥					ACTLDC:	PMSG	<?LOAD CHR>
≡$PMSG≡≡$PMSG≡≥	140522	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	140524	147170				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡ACTERR≡≥	140526	000405				BR	ACTERR
≤PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 345
	APT11 PALII[KL,SYS]	Page 4 	APT10 PDP-11 PROCESS, 13-AUG-75

≥					ACTBCK:	PMSG	<?CKSUM>
≡$PMSG≡≡$PMSG≡≥	140530	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	140532	147202				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠BR≡≡ACTERR≡≥	140534	000402				BR	ACTERR
≥					
≤PMSG≡≥					ACTLDF:	PMSG	<?FORMAT>
≡$PMSG≡≡$PMSG≡≥	140536	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	140540	147211				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≤PMSG≡≥					ACTERR:	PMSG	< ERR: LOAD LINE >
≡$PMSG≡≡$PMSG≡≥	140542	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	140544	147221				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡DEVLC≡≡R0≡≥	140546	013700	150724			MOV	DEVLC,R0
≡PNTDEC≡≡PNTDEC≡≥	140552	104037				PNTDEC			;PRINT LOAD LINE NUMBER
≡PCRLF≡≡PCRLF≡≥	140554	104031				PCRLF
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP
≥						BPL	2$		;DECTAPE/RP04
≥						INC	ARETRY
≥						CMP	#4,ARETRY	;REACHED RETRY LIMIT ?
≥						BEQ	1$		;YES
≥						COMNAK			;NO, NAK MESSAGE & TRY AGAIN
≥						DEC	DEVLC		;DECREMENT LINE COUNT
≥						JMP	ACTLD1
≥					
≥					1$:	PMSG	<CAN'T LOAD>
≥					.ENDC
≠BR≡≡$$C2≡≥	140556	000757			2$:	BR	$$C2
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 346
	APT11 PALII[KL,SYS]	Page 5 	COMMUNICATIONS ROUTINES

≥					.SBTTL	COMMUNICATIONS ROUTINES
≥					
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥					
≥					$COMACK:INC	MSGNBR		;COUNT MESSAGE
≥					$$CMACK:MOV	#ACKMSG,R5	;MESSAGE ACKNOWLEDGE
≥						BR	$COMCX
≥					
≥					$COMNAK:MOV	#NAKMSG,R5	;MESSAGE NEGATIVE ACKNOWLEDGE
≥						BR	$COMCX
≥					
≥					$COMCMD:CLR	R5		;MESSAGE COMMAND
≥					
≥					$COMCX:	MOV	#3,R4		;RETRY 3 TIMES
≥					
≥					1$:	TST	R5
≥						BNE	2$
≥					
≥						COMSND			;COMMAND SEND
≥						BR	3$
≥					
≥					2$:	MOV	R5,R0
≥						COMCTL			;CONTROL SEQUENCE SEND
≥					
≥					3$:	COMLIN			;GET REPLY
≥						BCS	5$		;ERROR
≥						BPL	7$		;CONTROL SEQUENCE
≥					
≥						MOV	#136,R3		;NORMAL MESSAGE
≥						BIT	#1,MSGNBR	;ODD OR EVEN MESSAGE NUMBER
≥						BEQ	4$
≥						MOV	#041,R3
≥					4$:	CMP	R3,COMNBR	;CORRECT MESSAGE NUMBER ?
≥						BNE	$$CMACK		;NO, MUST BE REPEAT
≥						CLR	R0
≥					41$:	EXIT			;NEW MESSAGE READY FOR PROCESS
≥					
≥					5$:	DEC	R4		;EXCEEDED RETRY LIMIT ?
≥						BNE	6$		;NO, TRY AGAIN
≥						JMP	$COMERR		;YES, REPORT ERROR & ABORT
≥					
≥					6$:	TST	R5
≥						BNE	61$		;CONTROL REPEAT
≥						CMP	#-5,R0		;RECIEVED CHECKSUM ERROR ?
≥						BEQ	61$		;YES, SEND NAK
≥						COMRTRY			;COMMAND RETRY
≥						BR	3$
≥					
≥					61$:	MOV	#NAKMSG,R5
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 347
	APT11 PALII[KL,SYS]	Page 5.1 	COMMUNICATIONS ROUTINES

≥						BR	2$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 348
	APT11 PALII[KL,SYS]	Page 6 	COMMUNICATIONS ROUTINES

≥					7$:	TTICHR			;GET CONTROL SEQUENCE CHARACTER
≥						CMPB	#'A,R0
≥						BEQ	41$		;A, ACKNOWLEDGE
≥						CMPB	#'Z,R0
≥						BEQ	8$		;Z, END OF TRANSMISSION
≥						CMPB	#'N,R0
≥						BNE	71$
≥						MOV	#-7,R0		;N, NEGATIVE ACKNOWLEDGE
≥						BR	5$
≥					
≥					71$:	MOV	#-10,R0		;UNKNOWN RESPONSE
≥						BR	5$
≥					
≥					8$:	EXITERR			;END OF FILE
≥					
≥					$COMERR:PUSH	R0
≥						PMSG	<?COMM ERR >
≥						POP	R0
≥						NEG	R0
≥						MOV	R0,R1
≥						PNTOCS
≥						PNTCI
≥						", 
≥						DEC	R1
≥						SL	R1,1
≥						MOV	CMERTB(R1),R0
≥						PNTAL
≥						JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 349
	APT11 PALII[KL,SYS]	Page 7 	COMMUNICATIONS ROUTINES

≥					CMERTB:	CMER1
≥						CMER2
≥						CMER3
≥						CMER4
≥						CMER5
≥						CMER6
≥						CMER7
≥						CMER10
≥					
≥					CMER1:	.ASCIZ	%NO RESPONSE%
≥					CMER2:	.ASCIZ	%LONG LINE%
≥					CMER3:	.ASCIZ	%MSG NBR%
≥					CMER4:	.ASCIZ	%NO CR%
≥					CMER5:	.ASCIZ	%MSG CKSUM%
≥					CMER6:	.ASCIZ	%FORMAT%
≥					CMER7:	.ASCIZ	%NAK%
≥					CMER10:	.ASCIZ	%UNKNOWN%
≥					.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 350
	APT11 PALII[KL,SYS]	Page 8 	COMMUNICATIONS ROUTINES

≥					$COMSND:MOV	#COUTBF,R5
≥						CLR	R3
≥					
≥					1$:	CMPB	(R0),#CR	;REACHED CR YET ?
≥						BEQ	2$		;YES
≥						CMPB	(R0),#ALTMOD	;OR ALTMODE ?
≥						BEQ	12$		;YES, SUBSTITUTE CR
≥					
≥						TSTB	(R0)		;REACHED NULL BYTE ?
≥						BNE	11$
≥						MOV	#-6,R0		;YES, INCORRECT MESSAGE FORMAT
≥						BR	$COMERR
≥					
≥					11$:	MOVB	(R0),R2
≥						ADD	R2,R3		;ACCUMULATE CHECKSUM
≥						MOVB	(R0)+,(R5)+	;TRANSFER MSG TO OUTPUT BUFFER
≥						BR	1$
≥					
≥					12$:	MOV	#ALTMOD,(R5)+
≥						BR	22$
≥					2$:	MOVB	(R0)+,(R5)+	;PUT CR IN OUTPUT
≥					22$:	CLRB	(R5)		;FOLLOW WITH NULL
≥					
≥						MOV	#COUTBF-4,R5	;SETUP MESSAGE START
≥						MOVB	#136,(R5)
≥						BIT	#1,MSGNBR	;SET UP MESSAGE NUMBER CHAR
≥						BEQ	21$
≥						MOVB	#041,(R5)
≥					21$:	INC	R5
≥					
≥						NEG	R3		;NEGATE CHECKSUM
≥					
≥						MOV	R3,R0
≥						SWAB	R0
≥						BIC	#177400,R0
≥						SHIFTR
≥						  4
≥						JSR	PC,COMASC
≥						MOVB	R0,(R5)+	;INSERT 1ST CHECK CHAR
≥					
≥						MOV	R3,R0
≥						SHIFTR
≥						  6
≥						JSR	PC,COMASC
≥						MOVB	R0,(R5)+	;INSERT 2ND CHECK CHAR
≥					
≥						MOV	R3,R0
≥						JSR	PC,COMASC
≥						MOVB	R0,(R5)+	;INSERT 3RD CHECK CHAR
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 351
	APT11 PALII[KL,SYS]	Page 9 	COMMUNICATIONS ROUTINES

≥					$CMRTRY:MOV	#COUTBF-4,R0	;SETUP MESSAGE POINTER
≥					
≥					$COMCTL:TSTB	@$CMTKS		;ANY OLD CHARS ?
≥						BPL	1$
≥						MOVB	@$CMTKB,$TTYIN	;YES, GET GET OF IT
≥						BR	$COMCTL
≥					
≥					1$:	TSTB	@$CMTPS		;WAIT TILL OUTPUT IS READY
≥						BPL	$COMCTL
≥					
≥						MOV	#2,R1		;SEND 2 SYNC CHARACTERS
≥					2$:	MOVB	#SYN,@$CMTPB
≥					3$:	TSTB	@$CMTPS
≥						BPL	3$
≥						DEC	R1
≥						BNE	2$
≥					
≥					4$:	MOVB	(R0)+,R1	;GET MESSAGE CHAR
≥						BEQ	6$		;IF NULL, DONE
≥					
≥						MOVB	R1,@$CMTPB	;SEND CHAR
≥					5$:	TSTB	@$CMTPS		;WAIT TILL OUTPUT READY
≥						BPL	5$
≥						BR	4$		;SEND TILL NULL
≥					
≥					6$:	EXIT			;COMPLETED
≥					
≥					COMASC:	BIC	#177700,R0	;KEEP 6 BITS
≥						CMP	R0,#74		;LEAVE 75,76,77 ALONE
≥						BGT	1$
≥						BIS	#100,R0		;SET BIT 7 FOR ASCIIZE
≥					1$:	RTS	PC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 352
	APT11 PALII[KL,SYS]	Page 10 	COMMUNICATIONS ROUTINES

≥					$COMLIN:MOV	#CINBF-4,R1	;START BUFFER ADDRESS
≥						CLR	$TTYTIM		;CLEAR TIMEOUT
≥						CLR	R5		;CLEAR IN SYNC FLAG
≥					
≥					1$:	JSR	PC,C10COP	;PERFORM CLOCK OPERATIONS
≥						CMP	$TTYTIM,#<20.*60.>	;20 SECS
≥						BGT	90$		;TIMED OUT
≥					
≥						TSTB	@$CMTKS		;COMM IN FLAG SET ?
≥						BMI	2$		;YES
≥					
≥						JSR	PC,$PTTYC	;ANY OPERATOR INTERRUPT ?
≥						BR	1$		;NO
≥					
≥					2$:	MOVB	@$CMTKB,(R1)	;MOVE CHAR TO BUFFER
≥						BICB	#200,(R1)
≥						TSTB	(R1)
≥						BEQ	1$		;IGNORE NULLS
≥					
≥						CMPB	(R1),#SYN	;SYNC CHAR ?
≥						BEQ	21$		;YES
≥					
≥						TST	R5		;RECIEVED SYNC YET ?
≥						BEQ	1$		;NO, DUMP GARBAGE CHARS
≥					
≥						CMPB	(R1),#ALTMOD
≥						BEQ	3$		;ALTMODE, CONTROL SEQUENCE
≥					
≥						CMPB	(R1),#'$	;DOLLAR, PDP-10 SENDS THIS FOR ALTMODE
≥						BNE	22$
≥						CMP	R1,#CINBF	;LEGAL ONLY IF IN CONTROL SEQUENCE
≥						BLT	3$
≥					
≥					22$:	CMPB	(R1),#LF
≥						BEQ	4$		;LF, MESSAGE SEGMENT
≥					
≥						INC	R1
≥						CMP	R1,#CINBF+140.
≥						BLE	1$		;STILL ROOM
≥						BR	91$		;NO, LINE TOO LONG
≥					
≥					21$:	MOV	#-1,R5		;SYNC, SET IN SYNC FLAG
≥						BR	1$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 353
	APT11 PALII[KL,SYS]	Page 11 	COMMUNICATIONS ROUTINES

≥					3$:	INC	R1		;NULL TO END BUFFER
≥						CLRB	(R1)
≥						MOV	R1,$INPTR	;SETUP INPUT POINTERS
≥						MOV	#CINBF-4,$INPTC
≥						EXIT			;CONTROL SEQUENCE RETURN
≥					
≥					4$:	INC	R1
≥						CLRB	(R1)
≥						MOV	R1,$INPTR	;SETUP INPUT POINTERS
≥						MOV	#CINBF-4,R1
≥						CMPB	#041,(R1)
≥						BEQ	41$
≥						CMPB	#136,(R1)
≥						BEQ	41$
≥						BR	92$		;MESSAGE NUMBER INCORRECT
≥					
≥					41$:	MOVB	(R1)+,COMNBR	;SAVE MESSAGE NUMBER
≥						CLR	R0		;SETUP FOR MESSAGE CHECKSUM
≥						MOV	#3,R5		;CHARS 2,3,4 ARE CHECKSUM
≥					
≥					42$:	SL	R0,6
≥						MOVB	(R1)+,R4	;GET 1ST CHECK CHAR
≥						BIC	#100,R4		;CLEAR ASCIIZE BIT
≥						BIS	R4,R0		;INSERT IN 16 BIT CHECKSUM
≥						DEC	R5
≥						BGT	42$		;DO 3 CHARS
≥					
≥					43$:	CMPB	(R1),#CR	;REACHED EOL ?
≥						BEQ	44$		;YES
≥						TSTB	(R1)		;PAST EOL WITHOUT CR ?
≥						BEQ	93$		;YES, NO CR ERROR
≥					
≥						MOVB	(R1)+,R3
≥						ADD	R3,R0		;ACCUMULATE CHECKSUM
≥						BR	43$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 354
	APT11 PALII[KL,SYS]	Page 12 	COMMUNICATIONS ROUTINES

≥					44$:	TST	R0		;DID CHECKSUM COMPUTE TO 0 ?
≥						BNE	94$		;NO, CHECKSUM ERROR
≥					
≥						MOV	#CINBF,$INPTC	;MESSAGE SEGMENT OK
≥						BIS	#NBIT,14(SP)	;SET NORMAL MESSAGE INDICATOR
≥						EXIT
≥					
≥					90$:	MOV	#-1,R0		;NO RESPONSE ERROR
≥						BR	99$
≥					
≥					91$:	MOV	#-2,R0		;LINE TOO LONG ERROR
≥						BR	99$
≥					
≥					92$:	CMPB	#'?,(R1)	;IS MESSAGE NUMBER QUESTION MARK ?
≥						BEQ	COMQ		;YES, HOST ERROR
≥						MOV	#-3,R0		;MESSAGE NUMBER CHAR ERROR
≥						BR	99$
≥					
≥					93$:	MOV	#-4,R0		;NO CARRIAGE RETURN ERROR
≥						BR	99$
≥					
≥					94$:	MOV	#-5,R0		;MESSAGE CHECKSUM ERROR
≥					
≥					99$:	EXITERR			;ERROR EXIT, C-BIT SET, CODE IN R0
≥					
≥					COMQ:	$PMSG			;PRINT ERROR REPLY
≥						 CINBF-4
≥						JMP	$CNTLC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 355
	APT11 PALII[KL,SYS]	Page 13 	COMMUNICATIONS ROUTINES

≥					$COMENQ:COMCLR			;CLEAR COMMUNICATIONS
≥						SETFLG
≥						  ENQFLG		;SET APT10 IN PROGRESS
≥						MOV	#3,R4
≥					10$:	CLR	MSGNBR		;INITIALIZE MESSAGE NUMBER
≥						MOV	#ENQMSG,R0
≥						COMCTL			;SEND "ENQ" MESSAGE
≥					
≥						COMLIN			;WAIT FOR REPLY
≥						BCS	1$		;ERROR, CODE IN R0
≥						BMI	3$		;NORMAL MESSAGE REPLY ?
≥						TTICHR
≥						CMPB	#'A,R0		;A, ACKNOWLEDGE
≥						BNE	1$
≥						EXIT			;ACKED, GO AHEAD
≥					
≥					1$:	TST	R0		;IS REPLY CODE NEGATIVE ?
≥						BMI	4$		;YES, COMLIN ERROR
≥					
≥						CMPB	#'Z,R0		;IS REPLY EOT, WAIT ?
≥						BNE	3$		;NO
≥					
≥						CLR	$TTYTIM		;YES, WAIT 10 SECONDS
≥					2$:	JSR	PC,$PTTYC
≥						JSR	PC,C10COP
≥						CMP	$TTYTIM,#<10.*60.>
≥						BLE	2$
≥						BR	$COMENQ		;THEN TRY AGAIN
≥					
≥					3$:	PMSG	<?APT10 ENQ>
≥						JMP	$CNTLC
≥					
≥					4$:	DEC	R4
≥						BNE	10$		;RETRY
≥						JMP	$COMERR		;COMMUNICATIONS ERROR
≥					
≥					$COMEOT:MOV	#EOTMSG,R0
≥						COMCTL
≥						EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 356
	APT11 PALII[KL,SYS]	Page 14 	COMMUNICATIONS ROUTINES

≥					$COMCLR:CLR	ENQFLG
≥						MOV	#CANMSG,R0
≥						COMCTL
≥						MOV	#100000,R1
≥					1$:	TSTB	@$CMTKS		;ANY INPUT IN PROGRESS ?
≥						BPL	2$
≥						MOVB	@$CMTKB,R0	;IF SO, GET RID OF IT
≥						BR	1$
≥					2$:	DEC	R1
≥						BNE	1$		;A LITTLE DELAY
≥						EXIT
≥					
≥					ENQMSG:	.BYTE	'E,33,0
≥					ACKMSG:	.BYTE	'A,33,0
≥					NAKMSG:	.BYTE	'N,33,0
≥					CANMSG:	.BYTE	'C,33,0
≥					EOTMSG:	.BYTE	'Z,33,0
≥					
≥						.EVEN
≥					
≥					.ENDC ;.IF DF MONASB
≥					
≠MOV≡≡$INBUF≡≡R0≡≥	140560	012700	150500		IFILEP:	MOV	#$INBUF,R0	;SETUP POINTERS
≠.IF≡≡MONASB≡≥					.IF DF MONASB
≥						TST	DEVTYP
≥						BPL	10$
≥						MOV	#CINBF,R0
≥					.ENDC
≠MOV≡≡IFINP≡≡R1≡≥	140564	013701	147622		10$:	MOV	IFINP,R1
≠MOVB≡≡R0≡≡R1≡≥	140570	112021			1$:	MOVB	(R0)+,(R1)+	;TRANSFER CHARS TO STORAGE
≠BNE≡≥	140572	001376				BNE	1$		;TILL NULL
≠CLRB≡≡R1≡≥	140574	105011				CLRB	(R1)		;THEN STORE 2ND NULL
≠MOV≡≡R1≡≡IFINP≡≥	140576	010137	147622			MOV	R1,IFINP	;RESAVE POINTER
≠CMP≡≡R1≡≡TOUTBF≡≥	140602	020127	012600			CMP	R1,#TOUTBF+10000-200
≠BLE≡≥	140606	003402				BLE	2$		;EXCEEDED BUFFER ROOM ?
≠JMP≡≡$LINER≡≥	140610	000137	131762			JMP	$LINERR		;YES
≠JMP≡≡ACTLD2≡≥	140614	000137	140312		2$:	JMP	ACTLD2		;REPEAT TILL EOF
≥					
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 357
	KLDCP PAL[KL,SYS]	Page 5.9 	COMMUNICATIONS ROUTINES

≥					
≥								;PDP-11 Core Dump to A11 file
≥					;.INSRT	CDMP11.PAL
≥					
≥								;KL10 diagnostic functions
≠.INSRT≡≥					.INSRT	BR11.PAL		
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 358
	BR11 PALII[KL,SYS]	Page 1 	COMMUNICATIONS ROUTINES

≥				COMMENT ⊗   VALID 00025 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00003 00002	.SBTTL	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
≥				C00005 00003	.SBTTL	ROUTINE TO READ THE EBUS VIA THE DTE20
≥				C00007 00004	.SBTTL	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
≥				C00009 00005	DIAGNOSTIC FUNCTION EXECUTE, FAST
≥				C00011 00006	.SBTTL	ROUTINE TO WRITE 36 BITS TO THE EBUS
≥				C00014 00007	.SBTTL	ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
≥				C00016 00008	.SBTTL	MASTER RESET ROUTINE
≥				C00021 00009	.SBTTL	CONTROL RAM ADDRESS ROUTINE
≥				C00023 00010	.SBTTL	WCRAM ROUTINE
≥				C00026 00011	$STRCH:	MOV	WREADY,R0	GET UNSPACED DATA
≥				C00028 00012	.SBTTL	RCRAM ROUTINE
≥				C00031 00013	15$:	MOVB	WREADY+1,-(R3)	ENDING UP
≥				C00033 00014	$SQASH:	MOV	WREADY,R1	GET STRETCHED BITS 8-19
≥				C00035 00015	.SBTTL	MICNUL & MICFIL C-RAM ROUTINES
≥				C00036 00016	MICFIL, C-RAM FILL WITH ONES ROUTINE
≥				C00037 00017	.SBTTL	WDRAM ROUTINE
≥				C00038 00018	.SBTTL	RDRAM ROUTINE
≥				C00040 00019	$DRAMAD: MOV	#DDRAM,R3	GET ADDRESS OF EBUS DATA
≥				C00042 00020	WRITE THE IR
≥				C00044 00021	.SBTTL	M-BOX CLOCK BURST ROUTINE
≥				C00046 00022	.SBTTL	LOAD AR ROUTINE
≥				C00049 00023	.SBTTL	MBOX PHASE ROUTINE
≥				C00052 00024	.SBTTL	VMA, VMAH, PC & ADDRESS BREAK ROUTINE
≥				C00054 00025		MOV	#WREADY+5,R1	NOW MOVE READ DATA
≥				C00056 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 359
	BR11 PALII[KL,SYS]	Page 2 	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75

≥					.SBTTL	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75
≥					
≠TST≡≡$ONETM≡≥	140620	005737	157316		DTEINI:	TST	$ONETM		;HAVE WE GONE THRU THIS ONCE BEFORE ?
≠BNE≡≥	140624	001013				BNE	3$		;BR IF YES
≠MOV≡≡DTEADR≡≡R0≡≥	140626	012700	174400			MOV	#DTEADR,R0
≥					
≠MOV≡≡R2≡≥	140632	012702	000020		11$:	MOV	#16.,R2
≠MOV≡≡.DELAY≡≡R1≡≥	140636	012701	157320			MOV	#.DELAY,R1
≠MOV≡≡R0≡≡R1≡≥	140642	010021			1$:	MOV	R0,(R1)+	;SETUP DTE20 INDIRECT ADDRESS POINTERS
≠INC≡≡R0≡≥	140644	005200				INC	R0
≠INC≡≡R0≡≥	140646	005200				INC	R0
≠DEC≡≡R2≡≥	140650	005302				DEC	R2
≠BNE≡≥	140652	001373				BNE	1$
≡SETFLG≡≡SETFLG≡≥	140654	104055			3$:	SETFLG
≡$ONETM≡≡$ONETM≡≥	140656	157316				$ONETM
≥					
≠MOV≡≡$STJRS≡≡R0≡≥	140660	012700	140730			MOV	#$STJRS,R0	;SETUP "JRST" START INSTRUCTION
≠MOV≡≡$$STJR≡≡R1≡≥	140664	012701	157222			MOV	#$$STJRS,R1	;MUST BE IN STORAGE BECAUSE
≠MOV≡≡R0≡≡R1≡≥	140670	012021				MOV	(R0)+,(R1)+	;THE JRST ADR IS VARIABLE
≠MOV≡≡R0≡≡R1≡≥	140672	012021				MOV	(R0)+,(R1)+
≠MOV≡≡R0≡≡R1≡≥	140674	012021				MOV	(R0)+,(R1)+
≥					
≠MOV≡≡$PAGDF≡≡R0≡≥	140676	012700	140722			MOV	#$PAGDFL,R0	;SETUP "DATAO PAG,0" DEFAULT ARGUMENT
≠MOV≡≡PAGDFL≡≡R1≡≥	140702	012701	157254			MOV	#PAGDFL,R1	;MUST BE IN STORAGE BECAUSE THE CURRENT
≠MOV≡≡R0≡≡R1≡≥	140706	012021				MOV	(R0)+,(R1)+	;AC BLOCK SELECTION IS VARIABLE
≠MOV≡≡R0≡≡R1≡≥	140710	012021				MOV	(R0)+,(R1)+
≠MOV≡≡R0≡≡R1≡≥	140712	012021				MOV	(R0)+,(R1)+
≥					
≠CLR≡≡R0≡≥	140714	005000				CLR	R0
≡SETMPH≡≡SETMPH≡≥	140716	104147				SETMPH			;SET M-BOX PHASE
≠RTS≡≡PC≡≥	140720	000207				RTS	PC
≥					
≤WD36≡≥					$PAGDFL:WD36	7000,0040,0000	;LD'S & NO ST ACC
≠.NLIST≡≠.BYTE≡≠.BYTE≡≠.LIST≡≠.EVEN≡≥		140730			.EVEN
≥					
≤I10≡≥					$STJRS:	I10	JRST,0,,0
≡ADH≠≥		000000					ADH=0
≡ADL≠≥		000000					ADL=0
≠.IF≡≥						  .IF	NB 0
≠.IRPC≡≥						  .IRPC	AD1,0
≥						  .IIF	GE <ADL-10000>,ADH=ADL/10000
≥						  ADL=10*<ADL&7777>+AD1
≥						  .ENDM
≠.IIF≡≡ADL≡≥		770000				  .IIF	GE <ADL-10000>,ADH=ADL/10000
≡ADL≡≡ADL≠≥		000000				  ADL=10*<ADL&7777>+0
≥						  .ENDC
≠.IIF≡≥						  .IIF B 0,AC=0
≠.IIF≡≡AC≠≥		000000				  .IIF NB 0,AC=0
≠.IIF≡≡I≠≥		000000				  .IIF B ,I=0
≠.IIF≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 360
	BR11 PALII[KL,SYS]	Page 2.1 	DTE20 INITIALIZATION ROUTINE, 9-SEPTEMBER-75

≥						  .IIF NB ,I=
≠.IIF≡≡XR≠≥		000000				  .IIF B ,XR=0
≠.IIF≡≥						  .IIF NB ,XR=
≠.NLIST≡≠.BYTE≡≡ADL≡≡ADL≡≡ADH≡≡AC≡≡I≡≡XR≡≡ADH≡≠.BYTE≡≡JRST≡≡AC≡≡JRST≡≠.LIST≡≠.EVEN≡≥		140736			.EVEN
≥					
≠MOV≡≡.DELAY≡≡R0≡≥	140736	013700	157320		$DTEBAS:MOV	.DELAY,R0
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	140742	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 361
	BR11 PALII[KL,SYS]	Page 3 	ROUTINE TO READ THE EBUS VIA THE DTE20

≥					.SBTTL	ROUTINE TO READ THE EBUS VIA THE DTE20
≥					
≥					;THIS IS THE ROUTINE TO READ 36 BITS FROM THE EBUS
≥					;THE CALL REQUIRES THE DIAGNOSTIC FUNCTION TO BE EXECUTED
≥					;TO BE IN REGISTER R0,RIGHT JUSTIFIED.
≥					;CALLING SEQUENCE:
≥					;	CALL-1:	MOV	#DIAG FUNCTION,R0
≥					;	CALL:	DFRD
≥					
≠MOV≡≡$EMADR≡≡R0≡≥	140746	017700	006662		$DFRDT:	MOV	@$EMADR,R0	;PICKUP TRAILING PARAMETER
≠ADD≡≡SP≡≥	140752	062766	000002	000012		ADD	#2,12(SP)	;SKIP RETURN
≥					
≠JSR≡≡PC≡≡$KLCK1≡≥	140760	004737	141266		$DFRD:	JSR	PC,$KLCK1	;CHECK KL10 CLOCK RUNNING
≠ASL≡≡R0≡≥	140764	006300				ASL	R0		;MAKE DIAG FCN IN CORRECT BITS
≠SWAB≡≡R0≡≥	140766	000300				SWAB	R0		;MAKE DIAG FCN IN CORRECT BYTE
≠BIS≡≡DCOMST≡≡DFUNC≡≡DIKL10≡≡R0≡≥	140770	052700	000211			BIS	#DCOMST!DFUNC!DIKL10,R0 ;SET CORRECT DTE20 BITS
≠MOV≡≡R0≡≡.DIAG1≡≥	140774	010077	016350			MOV	R0,@.DIAG1	;EXECUTE THE FUNCTION
≤WFZERO≡≥					$DFXX:	WFZERO	DCOMST		;WAIT FOR DONE FLAG
≠MOV≡≡SP≡≥	141000	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≠BIT≡≡DCOMST≡≡.DIAG1≡≥	141004	032777	000001	016336	  91$:	  BIT	#DCOMST,@.DIAG1	;TEST BIT
≠BEQ≡≥	141012	001407				  BEQ	92$		;LEAVE IF BIT ZERO(OK)
≠DEC≡≡SP≡≥	141014	005316				  DEC	(SP)		;DECREMENT CNT
≠BNE≡≥	141016	001372				  BNE	91$		;CONTINUE LOOP
≠TST≡≡RPTFLG≡≥	141020	005737	147732			  TST	RPTFLG		;OTHERWISE TIME OUT
≠BNE≡≥	141024	001002				  BNE	92$
≠JSR≡≡R1≡≡$DFTIM≡≥	141026	004137	141044			  JSR	R1,$DFTIM
≠TST≡≡SP≡≥	141032	005726			  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
≠JSR≡≡PC≡≡$KLCK2≡≥	141034	004737	141340			JSR	PC,$KLCK2	;RESTART CLOCK IF NECESSARY
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	141040	000137	124064			  JMP	$EXIT
≥					
≠CLR≡≡TENRUN≡≥	141044	005037	147670		$DFTIM:	CLR	TENRUN
≤PMSG≡≥						PMSG	<?DF TIMEOUT AT >
≡$PMSG≡≡$PMSG≡≥	141050	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	141052	147242				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R1≡≡R0≡≥	141054	010100				MOV	R1,R0
≡PNTOCT≡≡PNTOCT≡≥	141056	104035				PNTOCT
≤PMSG≡≥						PMSG	<PC = >
≡$PMSG≡≡$PMSG≡≥	141060	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	141062	147262				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡SP≡≡R0≡≥	141064	016600	000016			MOV	16(SP),R0		;GET ADDRESS OF CALL
≠TST≡≡R0≡≥	141070	005740			$DFTMX:	TST	-(R0)
≡PNTOCT≡≡PNTOCT≡≥	141072	104035				PNTOCT
≠JMP≡≡$CNTLC≡≥	141074	000137	100004			JMP	$CNTLC
≥					
≤PMSG≡≥					$ECTIM:	PMSG	<?CLK>
≡$PMSG≡≡$PMSG≡≥	141100	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	141102	147270				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≥					
≤PMSG≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 362
	BR11 PALII[KL,SYS]	Page 3.1 	ROUTINE TO READ THE EBUS VIA THE DTE20

≥					$DFTM1:	PMSG	< ERR AT >
≡$PMSG≡≡$PMSG≡≥	141104	104025				  $PMSG
≡$$CLIT≡≡$$CLIT≡≥	141106	147275				  $$CLIT
≠.NLIST≡≡$$CLC≠≡$$CLIT≡≠.ASCIZ≡≡$$CLIT≠≡$$CLC≡≠.LIST≡≠MOV≡≡R1≡≡R0≡≥	141110	010100				MOV	R1,R0
≠BR≡≡$DFTMX≡≥	141112	000766				BR	$DFTMX
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 363
	BR11 PALII[KL,SYS]	Page 4 	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20

≥					.SBTTL	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20
≥					
≥					;THIS IS THE ROUTINE TO EXECUTE A NON-DATA
≥					;DIAGNOSTIC FUNCTION.  THE CALL REQUIRES THE
≥					;DIAGNOSTIC FUNCTION TO BE EXECUTED TO BE IN
≥					;REGISTER R0,RIGHT JUSTIFIED
≥					
≥					;CALLING SEQUENCE:
≥					;	CALL-1:	MOV	#DIAG FUNCTION,R0
≥					;	CALL:	DFXCT
≥					
≥					;DIAGNOSTIC FUNCTION EXECUTE, TRAILING PARAMETER
≥					
≠MOV≡≡$EMADR≡≡R0≡≥	141114	017700	006514		$DXCTT:	MOV	@$EMADR,R0	;PICKUP TRAILING PARAMETER
≠ADD≡≡SP≡≥	141120	062766	000002	000012		ADD	#2,12(SP)	;SKIP RETURN
≠BR≡≡$DFXCT≡≥	141126	000406				BR	$DFXCT
≥					
≥					;DIAGNOSTIC FUNCTION EXECUTE, SINGLE STEP KL10 CLOCK
≥					
≠CLR≡≡KLCLKR≡≥	141130	005037	147454		$DFSCLK:CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
≠MOV≡≡DCOMST≡≡DFUNC≡≡SSCLK≡≡.DIAG1≡≥	141134	012777	002201	016206		MOV	#DCOMST!DFUNC!<SSCLK*1000>,@.DIAG1
≠BR≡≡$$DFX1≡≥	141142	000422				BR	$$DFX1
≥					
≥					;DIAGNOSTIC FUNCTION EXECUTE
≥					
≠CMP≡≡R0≡≥	141144	020027	000001		$DFXCT:	CMP	R0,#001		;KL10 CLOCK START FUNCTION ?
≠BEQ≡≥	141150	001406				BEQ	1$		;YES
≠CMP≡≡R0≡≥	141152	020027	000007			CMP	R0,#007		;ANY OTHER CLOCK CONTROL FUNCTION ?
≠BGT≡≥	141156	003006				BGT	2$		;NO
≠CLR≡≡KLCLKR≡≥	141160	005037	147454			CLR	KLCLKR		;YES, CLEAR LOGICAL CLOCK RUN FLAG
≠BR≡≥	141164	000403				BR	2$
≠MOV≡≡KLCLKR≡≥	141166	012737	777777	147454	1$:	MOV	#-1,KLCLKR	;CLOCK START, SET LOGICAL CLOCK RUN FLAG
≠ASL≡≡R0≡≥	141174	006300			2$:	ASL	R0		;MAKE DIAG FCN IN CORRECT BITS
≠SWAB≡≡R0≡≥	141176	000300				SWAB	R0		;MAKE DIAG FCN IN CORRECT BYTE
≠BIS≡≡DCOMST≡≡DFUNC≡≡R0≡≥	141200	052700	000201			BIS	#DCOMST!DFUNC,R0 ;SET CORRECT DTE20 BITS
≠MOV≡≡R0≡≡.DIAG1≡≥	141204	010077	016140			MOV	R0,@.DIAG1	;EXECUTE THE FUNCTION
≤WFZERO≡≥					$$DFX1:	WFZERO	DCOMST		;WAIT FOR DONE
≠MOV≡≡SP≡≥	141210	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≠BIT≡≡DCOMST≡≡.DIAG1≡≥	141214	032777	000001	016126	  91$:	  BIT	#DCOMST,@.DIAG1	;TEST BIT
≠BEQ≡≥	141222	001407				  BEQ	92$		;LEAVE IF BIT ZERO(OK)
≠DEC≡≡SP≡≥	141224	005316				  DEC	(SP)		;DECREMENT CNT
≠BNE≡≥	141226	001372				  BNE	91$		;CONTINUE LOOP
≠TST≡≡RPTFLG≡≥	141230	005737	147732			  TST	RPTFLG		;OTHERWISE TIME OUT
≠BNE≡≥	141234	001002				  BNE	92$
≠JSR≡≡R1≡≡$DFTIM≡≥	141236	004137	141044			  JSR	R1,$DFTIM
≠TST≡≡SP≡≥	141242	005726			  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
≤EXIT≡≥						EXIT			;RETURN
≠JMP≡≡$EXIT≡≥	141244	000137	124064			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 364
	BR11 PALII[KL,SYS]	Page 5 	ROUTINE TO EXECUTE DIAG FUNCTION VIA DTE20

≥					;DIAGNOSTIC FUNCTION EXECUTE, FAST
≥					
≠ASL≡≡R0≡≥	141250	006300			$DFXFST:ASL	R0		;DIAG FUNCTION TO CORRECT BITS
≠SWAB≡≡R0≡≥	141252	000300				SWAB	R0
≠BIS≡≡DCOMST≡≡DFUNC≡≡R0≡≥	141254	052700	000201			BIS	#DCOMST!DFUNC,R0
≠MOV≡≡R0≡≡.DIAG1≡≥	141260	010077	016064			MOV	R0,@.DIAG1	;EXECUTE THE FUNCTION
≠BR≡≡$$DFXD≡≥	141264	000406				BR	$$DFXDN
≥					
≥					;KL10 CLOCK RUNNING CONTROLS
≥					
≠TST≡≡KLCLKR≡≥	141266	005737	147454		$KLCK1:	TST	KLCLKR		;KL10 CLOCK RUNNING ?
≠BEQ≡≡$KLCK4≡≥	141272	001421				BEQ	$KLCK4		;NO
≠MOV≡≡DCOMST≡≡DFUNC≡≡STPCLK≡≡.DIAG1≡≥	141274	012777	000201	016046		MOV	#DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
≥					$$DFXDN:
≤WFZERO≡≥					$KLCK3:	WFZERO	DCOMST
≠MOV≡≡SP≡≥	141302	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≠BIT≡≡DCOMST≡≡.DIAG1≡≥	141306	032777	000001	016034	  91$:	  BIT	#DCOMST,@.DIAG1	;TEST BIT
≠BEQ≡≥	141314	001407				  BEQ	92$		;LEAVE IF BIT ZERO(OK)
≠DEC≡≡SP≡≥	141316	005316				  DEC	(SP)		;DECREMENT CNT
≠BNE≡≥	141320	001372				  BNE	91$		;CONTINUE LOOP
≠TST≡≡RPTFLG≡≥	141322	005737	147732			  TST	RPTFLG		;OTHERWISE TIME OUT
≠BNE≡≥	141326	001002				  BNE	92$
≠JSR≡≡R1≡≡$DFTIM≡≥	141330	004137	141044			  JSR	R1,$DFTIM
≠TST≡≡SP≡≥	141334	005726			  92$:	  TST	(SP)+		;RESET STACK & CONTINUE
≠RTS≡≡PC≡≥	141336	000207			$KLCK4:	RTS	PC
≥					
≠TST≡≡KLCLKR≡≥	141340	005737	147454		$KLCK2:	TST	KLCLKR		;WAS CLOCK RUNNING ?
≠BEQ≡≡$KLCK4≡≥	141344	001774				BEQ	$KLCK4		;NO
≠MOV≡≡DCOMST≡≡DFUNC≡≡STRCLK≡≡.DIAG1≡≥	141346	012777	001201	015774		MOV	#DCOMST!DFUNC!<STRCLK*1000>,@.DIAG1
≠BR≡≡$KLCK3≡≥	141354	000752				BR	$KLCK3
≥					
≡DEP≡≡DEP≡≥	141356	010000			FFDEP:	DEP			;DTE20 DEPOSIT/EXAM BIT
≥					
≥					;DIAGNOSTIC FUNCTION, WRITE IR
≥					
≡DFWRT≡≡DFWRT≡≥	141360	104120			$DFWIR:	DFWRT			;THE LOAD AR FUNCTION IS ALREADY SETUP
≠MOV≡≡DCOMST≡≡DFUNC≡≡IRLOAD≡≡.DIAG1≡≥	141362	012777	014201	015760		MOV	#DCOMST!DFUNC!<IRLOAD*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	141370	004737	141302			JSR	PC,$$DFXDN	;STROBE DATA FROM AD TO IR
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	141374	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 365
	BR11 PALII[KL,SYS]	Page 6 	ROUTINE TO WRITE 36 BITS TO THE EBUS

≥					.SBTTL	ROUTINE TO WRITE 36 BITS TO THE EBUS
≥					
≥					;THIS IS THE ROUTINE TO WRITE 36 BITS TO THE EBUS
≥					;THE ROUTINE REQUIRES THAT THE ADDRESS OF THE DATA
≥					;TO BE WRITTEN IS IN REGISTER R1.  THE DIAGNOSTIC
≥					;FUNCTION WHICH DOES THE WRITE MUST BE RIGHT 
≥					;JUSTIFIED IN REGISTER R0.THE DATA TO BE WRITTEN MUST
≥					;BE IN 5 CONSECUTIVE BYTES AS FOLLOWS:
≥					;	.BYTE	EBUS BITS 28-35
≥					;	.BYTE	EBUS BITS 20-27
≥					;	.BYTE	EBUS BITS 12-19
≥					;	.BYTE	EBUS BITS 04-11
≥					;	.BYTE	EBUS BITS 00-03
≥					
≥					;CALLING SEQUENCE:
≥					;	CALL-2:	MOV	#ADDR,R1
≥					;	CALL-1:	MOV	#DIAG FCN,R0
≥					;	CALL:	DFWRT
≥					
≠JSR≡≡PC≡≡$KLCK1≡≥	141400	004737	141266		$DFWRT:	JSR	PC,$KLCK1	;KL10 CLOCK RUNNING ?
≤PUSH≡≥						PUSH	R1		;SAVE  DESTINATION FOR POSTERITY
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠BIT≡≡R1≡≥	141406	032701	000001			BIT	#1,R1		;DATA ON WORD BOUNDRY ?
≠BEQ≡≥	141412	001457				BEQ	2$		;YES
≠MOV≡≡XXDAT≡≡R5≡≥	141414	012705	147546			MOV	#XXDAT,R5
≠MOVB≡≡R1≡≡R5≡≥	141420	112125				MOVB	(R1)+,(R5)+	;PUT BITS 28-35 INTO CORE WORD
≠MOVB≡≡R1≡≡R5≡≥	141422	112125				MOVB	(R1)+,(R5)+	;PUT BITS 20-27 INTO CORE
≠MOV≡≡R5≡≡.DAT3≡≥	141424	014577	015672			MOV	-(R5),@.DAT3	;PUT BITS 20-35 INTO DTE20
≠MOVB≡≡R1≡≡R5≡≥	141430	112125				MOVB	(R1)+,(R5)+	;PUT BITS 12-19 INTO CORE WORD
≠MOVB≡≡R1≡≡R5≡≥	141432	112125				MOVB	(R1)+,(R5)+	;PUT BITS 4-11 INTO CORE WORD
≠MOV≡≡R5≡≡.DAT2≡≥	141434	014577	015664			MOV	-(R5),@.DAT2	;PUT BITS 4-19 INTO DTE20
≠MOVB≡≡R1≡≡R5≡≥	141440	112115				MOVB	(R1)+,(R5)	;PUT BITS 0-3 INTO CORE WORD
≠BIC≡≡R5≡≥	141442	042715	177760			BIC	#177760,(R5)	;OFF TRASH
≠MOV≡≡R5≡≡.DAT1≡≥	141446	011577	015654			MOV	(R5),@.DAT1	;BITS 0-3 INTO DTE20
≠MOV≡≡DIKL10≡≡DSEND≡≡.DIAG1≡≥	141452	012777	000014	015670	1$:	MOV	#DIKL10!DSEND,@.DIAG1	;SET BIT TO DIAGNOSE KL10
≠MOV≡≡FFDEP≡≡.TENA1≡≥	141460	013777	141356	015642		MOV	FFDEP,@.TENA1	;SET DEPOSIT BIT OF DTE20
≠MOV≡≡FFDEP≡≡.TENA2≡≥	141466	013777	141356	015636		MOV	FFDEP,@.TENA2	;DO A PSEUDO DEPOSIT
≤WFONE≡≥						WFONE	DEXDON		;WAIT FOR A FLAG
≠MOV≡≡SP≡≥	141474	012746	004704			  MOV	#2500.,-(SP)	;SET TIMEOUT CNT
≠BIT≡≡DEXDON≡≡.STDTE≡≥	141500	032777	000004	015646	  93$:	  BIT	#DEXDON,@.STDTE	;TEST BIT
≠BNE≡≥	141506	001007				  BNE	94$		;LEAVE IF NOW A ONE(OK)
≠DEC≡≡SP≡≥	141510	005316				  DEC	(SP)		;DECREMENT CNT
≠BNE≡≥	141512	001372				  BNE	93$		;CONTINUE LOOP
≠TST≡≡RPTFLG≡≥	141514	005737	147732			  TST	RPTFLG		;OTHERWISE TIME OUT
≠BNE≡≥	141520	001002				  BNE	94$
≠JSR≡≡R1≡≡$DFTIM≡≥	141522	004137	141044			  JSR	R1,$DFTIM
≠TST≡≡SP≡≥	141526	005726			  94$:	  TST	(SP)+		;RESET STACK
≠ASL≡≡R0≡≥	141530	006300				ASL	R0		;GET DIAG FCN IN BIT POSITION
≠SWAB≡≡R0≡≥	141532	000300				SWAB	R0		;GET DIAG FCN IN BYTE POSITION
≠BIS≡≡DCOMST≡≡DSEND≡≡DIKL10≡≡DFUNC≡≡R0≡≥	141534	052700	000215			BIS	#DCOMST!DSEND!DIKL10!DFUNC,R0 ;SET DTE20 BITS
≠MOV≡≡R0≡≡.DIAG1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 366
	BR11 PALII[KL,SYS]	Page 6.1 	ROUTINE TO WRITE 36 BITS TO THE EBUS

≥	141540	010077	015604			MOV	R0,@.DIAG1	;EXECUTE THE DIAGNOSTIC FUNCTION
≤POP≡≥						POP	R0		;RESTORE WHERE GOT DATA
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠JMP≡≡$DFXX≡≥	141546	000137	141000			JMP	$DFXX		;WAIT FOR DONE & EXIT
≥					
≠MOV≡≡R1≡≡.DAT3≡≥	141552	012177	015544		2$:	MOV	(R1)+,@.DAT3	;BITS 20-35
≠MOV≡≡R1≡≡.DAT2≡≥	141556	012177	015542			MOV	(R1)+,@.DAT2	;BITS 4-19
≠MOV≡≡R1≡≡.DAT1≡≥	141562	011177	015540			MOV	(R1),@.DAT1	;BITS 0-3
≠BR≡≥	141566	000731				BR	1$
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 367
	BR11 PALII[KL,SYS]	Page 7 	ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE

≥					.SBTTL	ROUTINE TO DO EBUS READ, THEN STORE DATA SOMEPLACE
≥					
≥					;ENTER THIS ROUTINE WITH R0 CONTAINING DIAGNOSTIC FUNCTION TO EXECUTE
≥					;AND R1 CONTAINING ADDRESS OF BUFFER WHERE DATA SHOULD BE PLACED
≥					
≡DFRD≡≡DFRD≡≥	141570	104116			$DFRDMV:DFRD			;GO READ KL10 DATA
≤PUSH≡≥						PUSH	R1		;SAVE DESTINATION
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠MOV≡≡.DAT3≡≡R0≡≥	141574	013700	157322			MOV	.DAT3,R0	;GET ADDRESS OF DTE20 REG
≠MOVB≡≡R0≡≡R1≡≥	141600	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
≠MOVB≡≡R0≡≡R1≡≥	141602	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
≠MOVB≡≡R0≡≡R1≡≥	141604	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
≠MOVB≡≡R0≡≡R1≡≥	141606	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
≠MOVB≡≡R0≡≡R1≡≥	141610	112021				MOVB	(R0)+,(R1)+	;DATA FROM DTE TO CORE
≤POP≡≥						POP	R0		;RESTORE REG R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	141614	000137	124064			  JMP	$EXIT
≥					
≥					;DIAGNOSTIC FUNCTION WRITE, TRAILING PARAMETER
≥					
≠MOV≡≡$EMADR≡≡R5≡≥	141620	013705	147634		$DWRTT:	MOV	$EMADR,R5
≠MOV≡≡R5≡≡R1≡≥	141624	012501				MOV	(R5)+,R1	;DATA ADDRESS TO R1
≠MOV≡≡R5≡≡R0≡≥	141626	011500				MOV	(R5),R0		;DIAG FUNCTION TO R0
≠ADD≡≡SP≡≥	141630	062766	000004	000012		ADD	#4,12(SP)	;RETURN OVER TRAILING PARAMETERS
≠BR≡≡$DFWRT≡≥	141636	000660				BR	$DFWRT
≥					
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 368
	BR11 PALII[KL,SYS]	Page 8 	MASTER RESET ROUTINE

≥					.SBTTL	MASTER RESET ROUTINE
≥					;MASTER RESET DIAGNOSTIC FUNCTION LIST
≥					
≠.BYTE≡≡STPCLK≡≥	141640	   000			LLIST:	.BYTE	STPCLK		;STOP CLOCK
≠.BYTE≡≡SETMR≡≥	141641	   007				.BYTE	SETMR		;SET MASTER RESET
≠.BYTE≡≡STRCLK≡≥	141642	   001				.BYTE	STRCLK		;START CLOCK
≠.BYTE≡≡LDBRR≡≥	141643	   042				.BYTE	LDBRR		;LOAD BURST REGISTER RIGHT
≠.BYTE≡≡LDBRL≡≥	141644	   043				.BYTE	LDBRL		;LOAD BURST REGISTER LEFT
≠.BYTE≡≡LDDIS≡≥	141645	   045				.BYTE	LDDIS		;LOAD CLOCK DISTRIBUTION REGISTER
≠.BYTE≡≡LDCHK1≡≥	141646	   046				.BYTE	LDCHK1		;LOAD PARITY CHECK REGISTER
≠.BYTE≡≡LDCHK2≡≥	141647	   047				.BYTE	LDCHK2		;LOAD EBOX INTERNAL CHECK REGISTER
≠.BYTE≡≡LDCHAN≡≥	141650	   070				.BYTE	LDCHAN		;INITIALIZE CHANNELS
≠.BYTE≡≡STPCLK≡≥	141651	   000				.BYTE	STPCLK		;STOP CLOCK
≡LLIST≡≡LLISTL≠≥		000012			LLISTL==.-LLIST			;BUT THE LAST THREE ARE SPECIAL
≠.BYTE≡≡ENIOJA≡≥	141652	   067				.BYTE	ENIOJA		;SET IR DECODE TO KL10 MODE
≠.BYTE≡≥	141653	   076				.BYTE	76		;D.F. TO CONTROL EBUS REG
≠.BYTE≡≡LDMBXA≡≥	141654	   071				.BYTE	LDMBXA		;LOAD MEMORY TO CACHE SELECTOR
≠.EVEN≡≥		141656			.EVEN
≥					
≥					;THIS IS A ROUTINE TO DO A MASTER RESET.
≥					
≤PUSH≡≥					$MRESET:PUSH	R0		;SAVE REGISTERS
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠TST≡≡TENRUN≡≥	141660	005737	147670			TST	TENRUN		;PDP-10 PRESENTLY RUNNING ?
≠BEQ≡≥	141664	001401				BEQ	90$		;BR IF NOT
≡TENSP≡≡TENSP≡≥	141666	104077				TENSP			;STOP TEN
≠CLR≡≡TENCLK≡≥	141670	005037	152216		90$:	CLR	TENCLK		;AFTER THIS, THE 10 DOESN'T NEED CLOCK INTS
≠CLR≡≡SWTDEP≡≥	141674	005037	147422			CLR SWTDEP		; OR DATA SWITCHES ...
≠CLR≡≡MONMOD≡≥	141700	005037	147666			CLR MONMODE		; ... OR MONITOR MODE (CLEAR FOR KA SIM)
≠CLR≡≡MTTYOF≡≥	141704	005037	147664			CLR MTTYOF
≠CLR≡≡KASIM≡≥	141710	005037	147660			CLR KASIM		;AND IS NO LONGER IN KASIM MODE
≠.IF≡≡CLKASB≡≥					.IF DF CLKASB
≠CLR≡≡TIMFLG≡≥	141714	005037	157142			CLR TIMFLG		; ... OR TIME OF DAY
≠CLR≡≡TMSFLG≡≥	141720	005037	157140			CLR TMSFLG
≥					.ENDC DF CLKASB
≠MOV≡≡DRESET≡≡.DIAG2≡≥	141724	012777	000100	015420		MOV	#DRESET,@.DIAG2		;MASTER CLEAR THE DTE20
≠.IF≡≡%%QMP≡≥					.IF DF %%QMP
≥					;For QMP11, include INTRON in new DTE status
≠MOV≡≡INTRON≡≡DON10C≡≡ERR10C≡≡INT11C≡≡PERCLR≡≡DON11C≡≡ERR11C≡≡.STDTE≡≥	141732	012777	053141	015414		MOV	#INTRON!DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,@.STDTE ;CLEAR DTE20 STATUS
≥					.IFF
≥						MOV	#DON10C!ERR10C!INT11C!PERCLR!DON11C!ERR11C,@.STDTE ;CLEAR DTE20 STATUS
≥					.ENDC
≡DFWRTT≡≡DFWRTT≡≥	141740	104141				DFWRTT			;WRITE TO CLOCK
≡CLKDFL≡≡CLKDFL≡≥	141742	157246				CLKDFL			;SET CLOCK TO DEFAULT
≡LDSEL≡≡LDSEL≡≥	141744	000044				LDSEL
≠CLR≡≡KLCLKR≡≥	141746	005037	147454			CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
≠MOV≡≡LLISTL≡≡R1≡≥	141752	012701	000012			MOV	#LLISTL,R1	;MUST EXECUTE TEN DIAG FUNCTIONS IN MR
≠MOV≡≡LLIST≡≡R2≡≥	141756	012702	141640			MOV	#LLIST,R2	;ADDRESS OF FUNCTIONS INTO R2
≠MOVB≡≡R2≡≡R0≡≥	141762	112200			1$:	MOVB	(R2)+,R0	;FUNCTION TO R0 FOR THE EXECUTE CALL
≠JSR≡≡PC≡≡$DFXFS≡≥	141764	004737	141250			JSR	PC,$DFXFST	;EXECUTE THE DIAGNOSTIC FUNCTION
≠DEC≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 369
	BR11 PALII[KL,SYS]	Page 8.1 	MASTER RESET ROUTINE

≥	141770	005301				DEC	R1		;DECREMENT COUNT OF # OF FUNCTIONS LEFT
≠BNE≡≥	141772	001373				BNE	1$		;CONTINUE TILL DONE
≥					
≠MOV≡≡R4≡≥	141774	012704	000003			MOV	#3,R4		;SYNC MBOX NXM LOGIC
≡DFRDT≡≡DFRDT≡≥	142000	104140			2$:	DFRDT			;TEST A CHANGE COMING L
≥	142002	000162				  162
≠BIT≡≡BIT3≡≡.DAT3≡≥	142004	032777	000010	015310		BIT	#BIT3,@.DAT3
≠BEQ≡≥	142012	001407				BEQ	3$		;ASSERTED, CONTINUE
≠MOV≡≡DCOMST≡≡DFUNC≡≡SSCLK≡≡.DIAG1≡≥	142014	012777	002201	015326		MOV	#DCOMST!DFUNC!<SSCLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	142022	004737	141302			JSR	PC,$$DFXDN	;DO ONE MBOX CLOCK
≠DEC≡≡R4≡≥	142026	005304				DEC	R4		;DONE 3 CLOCKS ?
≠BGT≡≥	142030	003363				BGT	2$		;NO, TRY AGAIN
≥					
≠MOV≡≡DCOMST≡≡DFUNC≡≡CECLK≡≡.DIAG1≡≥	142032	012777	004201	015310	3$:	MOV	#DCOMST!DFUNC!<CECLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	142040	004737	141302			JSR	PC,$$DFXDN	;CONDITIONAL EBOX CLOCK
≠MOV≡≡DCOMST≡≡DFUNC≡≡CLRMR≡≡.DIAG1≡≥	142044	012777	006201	015276		MOV	#DCOMST!DFUNC!<CLRMR*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	142052	004737	141302			JSR	PC,$$DFXDN	;CLEAR MR
≥					
≠MOVB≡≡R2≡≡R0≡≥	142056	112200				MOVB	(R2)+,R0
≠JSR≡≡PC≡≡$DFXFS≡≥	142060	004737	141250			JSR	PC,$DFXFST	;SET IR DECODE
≥					
≠MOVB≡≡R2≡≡R0≡≥	142064	112200				MOVB	(R2)+,R0	;GET THE NEXT FUNCTION FROM THE LIST
≠MOV≡≡WREADY≡≡R1≡≥	142066	012701	147532			MOV	#WREADY,R1	;CLEAR A 36 BIT BUFFER FOR SENDING DATA
≠MOV≡≡R1≡≡R5≡≥	142072	010105				MOV	R1,R5
≠CLR≡≡R5≡≥	142074	005025				CLR	(R5)+		;CLEAR A WORK AREA
≠CLR≡≡R5≡≥	142076	005025				CLR	(R5)+
≠CLR≡≡R5≡≥	142100	005015				CLR	(R5)
≡DFWRT≡≡DFWRT≡≥	142102	104120				DFWRT			;WRITE 0'S TO EBUS & PREVENT SBUS RESET
≠MOVB≡≡R1≡≥	142104	112711	000012			MOVB	#12,(R1)
≠MOVB≡≡R2≡≡R0≡≥	142110	112200				MOVB	(R2)+,R0	;GET NEXT DIAG FUNCTION
≡DFWRT≡≡DFWRT≡≥	142112	104120				DFWRT			;LOAD MEMORY TO CACHE SELECTOR
≤POP≡≥						POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	142116	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 370
	BR11 PALII[KL,SYS]	Page 9 	CONTROL RAM ADDRESS ROUTINE

≥					.SBTTL	CONTROL RAM ADDRESS ROUTINE
≥					
≤PUSH≡≥					$WWADR:	PUSH	R1		;SAVE R1
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠TST≡≡R0≡≥	142124	005700				TST	R0		;IF BIT 15 SET, AVOID MASTER RESET
≠BMI≡≥	142126	100407				BMI	1$
≠BIT≡≡BIT14≡≡R0≡≥	142130	032700	040000			BIT	#BIT14,R0	;IF BIT 14 SET, SPECIAL RESET
≠BEQ≡≥	142134	001403				BEQ	2$
≠JSR≡≡PC≡≡$SPCMR≡≥	142136	004737	142506			JSR	PC,$SPCMR	;SPECIAL MASTER RESET
≠BR≡≥	142142	000401				BR	1$
≡MRESET≡≡MRESET≡≥	142144	104076			2$:	MRESET
≠BIC≡≡BIT15≡≡BIT14≡≡R0≡≥	142146	042700	140000		1$:	BIC	#BIT15!BIT14,R0	;CLEAR CONTROL BITS ANYWAY
≠MOV≡≡WREADY≡≡R5≡≥	142152	012705	147534			MOV	#WREADY+2,R5
≠CLR≡≡R5≡≥	142156	005015				CLR	(R5)		;CLEAR A WORK AREA
≠CLR≡≡R5≡≥	142160	005045				CLR	-(R5)
≥					
≤PUSH≡≥						PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠JSR≡≡PC≡≥	142164	004737	142226			JSR	PC,99$		;GO LOAD EBUS BITS 00-05
≠MOV≡≡LCRDAL≡≡R0≡≥	142170	012700	000052			MOV	#LCRDAL,R0	;WILL WRITE BITS 00-04 OF CR-ADR
≡DFWRT≡≡DFWRT≡≥	142174	104120				DFWRT
≤POP≡≥						POP	R0		;GET COPY OF ORIGINAL CR-ADR
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠SWAB≡≡R0≡≥	142200	000300				SWAB	R0		;GET BITS 00-04
≠ASR≡≡R0≡≥	142202	006200				ASR	R0		;TO LOW ORDER BITS
≠ASR≡≡R0≡≥	142204	006200				ASR	R0		;OF R0.
≠JSR≡≡PC≡≥	142206	004737	142226			JSR	PC,99$		;GO LOAD EBUS BITS 00-05
≠MOV≡≡LCRDAR≡≡R0≡≥	142212	012700	000051			MOV	#LCRDAR,R0	;WILL WRITE BITS 5-10 OF CRADR
≡DFWRT≡≡DFWRT≡≥	142216	104120				DFWRT
≤POP≡≥						POP	R1		;RESTORE R1
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	142222	000137	124064			  JMP	$EXIT
≥					
≠BIC≡≡R0≡≥	142226	042700	000077		99$:	BIC	#77,R0		;DEAL ONLY WITH 6 BITS
≠MOVB≡≡R0≡≡WREADY≡≥	142232	110037	147535			MOVB	R0,WREADY+3	;MOV TO EBUS BITS 4 & 5
≠SWAB≡≡R0≡≥	142236	000300				SWAB	R0
≠MOVB≡≡R0≡≡WREADY≡≥	142240	110037	147536			MOVB	R0,WREADY+4	;MOV TO EBUS BITS 0,1,2, & 3
≠MOV≡≡R5≡≡R1≡≥	142244	010501				MOV	R5,R1		;ADDRESS FOR DFWRT
≠RTS≡≡PC≡≥	142246	000207				RTS	PC
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 371
	BR11 PALII[KL,SYS]	Page 10 	WCRAM ROUTINE

≥					.SBTTL	WCRAM ROUTINE
≥					
≠.BYTE≡≡LCRAM1≡≥	142250	   057			WRLIST:	.BYTE	LCRAM1		;CRAM BITS 00-19
≠.BYTE≡≡LCRAM2≡≥	142251	   056				.BYTE	LCRAM2		;CRAM BITS 20-39
≠.BYTE≡≡LCRAM3≡≥	142252	   055				.BYTE	LCRAM3		;CRAM BITS 40-59
≠.BYTE≡≡LCRAM4≡≥	142253	   054				.BYTE	LCRAM4		;CRAM BITS 60-79-EVEN
≠.EVEN≡≥		142254			.EVEN
≥					
≠MOV≡≡R1≡≡R2≡≥	142254	010102			$WCRAM:	MOV	R1,R2		;GET COPY OF DATA ADDRESS
≡WWADR≡≡WWADR≡≥	142256	104075				WWADR			;GO AND WRITE C-RAM ADDRESS
≠MOV≡≡R4≡≥	142260	012704	000003			MOV	#3,R4		;FOUR LOOPS PER C-RAM WORD
≥					
≠MOV≡≡WREADY≡≡R1≡≥	142264	012701	147532		1$:	MOV	#WREADY,R1	;GET HOLDING AREA
≠MOVB≡≡R2≡≡R1≡≥	142270	112221				MOVB	(R2)+,(R1)+	;REAL DATA TO HOLDING AREA
≠MOVB≡≡R2≡≡R1≡≥	142272	112221				MOVB	(R2)+,(R1)+
≠MOVB≡≡R2≡≡R1≡≥	142274	111221				MOVB	(R2),(R1)+
≥					
≠TST≡≡SIGNL≡≥	142276	005737	147530			TST	SIGNL		;SEE IF DESIRED BITS ON WORD BOUNDARY
≠BEQ≡≥	142302	001412				BEQ	3$		;AVOID RORING CODE IF YES
≥					
≥					;THIS IS WONDERFUL RORING CODE
≥					
≠TSTB≡≡R2≡≥	142304	105722				TSTB	(R2)+		;MUST INCREMENT DATA ADDR PTR
≠MOV≡≡R0≡≥	142306	012700	000004			MOV	#4,R0		;FOUR SHIFTS IN THIS LOOP
≥					
≠MOV≡≡WREADY≡≡R1≡≥	142312	012701	147535		2$:	MOV	#WREADY+3,R1	;POINT TO HOLDING AREA
≠RORB≡≡R1≡≥	142316	106041				RORB	-(R1)		;SHIFT & INCLUDE "C" BIT
≠RORB≡≡R1≡≥	142320	106041				RORB	-(R1)
≠RORB≡≡R1≡≥	142322	106041				RORB	-(R1)
≠DEC≡≡R0≡≥	142324	005300				DEC	R0		;DONE?
≠BNE≡≥	142326	001371				BNE	2$		;LOOP BACK IF NO
≥					
≥					;COMMON CODE
≥					
≠COM≡≡SIGNL≡≥	142330	005137	147530		3$:	COM	SIGNL		;CHANGE BOUNDARY FLAG
≠BIC≡≡WREADY≡≥	142334	042737	177760	147534		BIC	#177760,WREADY+2  ;ONLY 4 BITS COUNT
≠JSR≡≡PC≡≡$STRCH≡≥	142342	004737	142422		4$:	JSR	PC,$STRCH	;GO FILL IN EBUS SPACE
≠MOVB≡≡WRLIST≡≡R4≡≡R0≡≥	142346	116400	142250			MOVB	WRLIST(R4),R0	;CORRECT WRITE FUNCTION TO R0
≠MOV≡≡WREADY≡≡R1≡≥	142352	012701	147532			MOV	#WREADY,R1	;ADDRESS OF DATA
≡DFWRT≡≡DFWRT≡≥	142356	104120				DFWRT
≠DEC≡≡R4≡≥	142360	005304				DEC	R4		;DONE ENTIRE RAM WORD?
≠BGE≡≥	142362	002340				BGE	1$		;BR BACK IFNO
≥					
≥					;CODE TO LOAD DISP 00-04
≥					
≠MOVB≡≡R2≡≡WREADY≡≥	142364	111237	147536			MOVB	(R2),WREADY+4	;GET DATA FOR DISP
≠ASRB≡≡WREADY≡≥	142370	106237	147536			ASRB	WREADY+4	;SHIFT DATA
≠RORB≡≡WREADY≡≥	142374	106037	147535			RORB	WREADY+3	;TO EBUS BITS
≠ASRB≡≡WREADY≡≥	142400	106237	147536			ASRB	WREADY+4	;00-05
≠RORB≡≡WREADY≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 372
	BR11 PALII[KL,SYS]	Page 10.1 	WCRAM ROUTINE

≥	142404	106037	147535			RORB	WREADY+3
≡DFWRTT≡≡DFWRTT≡≥	142410	104141				DFWRTT			;WRITE
≡WREADY≡≡WREADY≡≥	142412	147532				WREADY			;DATA ADDRESS
≡LCRAM5≡≡LCRAM5≡≥	142414	000053				LCRAM5			;DIAG FUNCTION
≤EXIT≡≥						EXIT			;DONE
≠JMP≡≡$EXIT≡≥	142416	000137	124064			  JMP	$EXIT
≠MOV≡≡WREADY≡≡R0≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 373
	BR11 PALII[KL,SYS]	Page 11 	WCRAM ROUTINE

≥	142422	013700	147532		$STRCH:	MOV	WREADY,R0	;GET UNSPACED DATA
≠MOVB≡≡WREADY≡≡WREADY≡≥	142426	113737	147534	147535		MOVB	WREADY+2,WREADY+3 ;PUT C-RAM 0-3 BITS INTO CORRECT CORE
≠CLR≡≡R3≡≥	142434	005003				CLR	R3		;NO JUNK LEFT IN R3
≠SEC≡≠SEC≡≥	142436	000261				SEC			;SET "C" BIT TO USE AS FLAG
≠MOV≡≡R5≡≥	142440	012705	000004		1$:	MOV	#4,R5		;FOUR SHIFTS BETWEEN BLANKS
≠ROR≡≡R3≡≥	142444	006003			2$:	ROR	R3		;NEW DATA LEFT END OF DESTINATION
≠BCS≡≥	142446	103407				BCS	3$		;IF FLAG FALLS OUT..DONE
≠ROR≡≡R0≡≥	142450	006000				ROR	R0		;ROTATE SOURCE BITS RIGHT
≠DEC≡≡R5≡≥	142452	005305				DEC	R5		;DONE 4 YET??
≠BGE≡≥	142454	002373				BGE	2$		;BR IF NO
≥					
≠ROL≡≡R0≡≥	142456	006100				ROL	R0		;REPAIR ANY DAMAGES 
≠CLC≡≠CLC≡≥	142460	000241				CLC			;ZERO THE "C" BIT
≠ROR≡≡R3≡≥	142462	006003				ROR	R3		;AND ROLL ZEROES
≠BR≡≥	142464	000765				BR	1$		;AND CONTINUE
≥					
≥					;GET HERE TO FINISH UP
≥					
≠CLC≡≠CLC≡≥	142466	000241			3$:	CLC			;ZERO "C" BIT AGAIN
≠ROL≡≡R0≡≥	142470	006100				ROL	R0		;BITS 4-7
≠ROL≡≡R0≡≥	142472	006100				ROL	R0		;MUST BE CORRECTED
≠MOV≡≡R3≡≡WREADY≡≥	142474	010337	147532			MOV	R3,WREADY	;BITS 8-19 INTO CORE
≠MOVB≡≡R0≡≡WREADY≡≥	142500	110037	147534			MOVB	R0,WREADY+2	;BITS 4-7 INTO CORE
≠RTS≡≡PC≡≥	142504	000207				RTS	PC		;DONE
≥					
≥					;SPECIAL BASIC MASTER RESET
≥					
≤PUSH≡≥					$SPCMR:	PUSH	<R0,R1,R2>
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠MOV≡≡R1≡≡SP≡≠MOV≡≡R2≡≡SP≡≠.LIST≡≠CLR≡≡KLCLKR≡≥	142514	005037	147454			CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
≠MOV≡≡$SMRLS≡≡R1≡≥	142520	012701	142554			MOV	#$SMRLST,R1	;COMMAND ADR TO R1
≠MOV≡≡R2≡≥	142524	012702	000004			MOV	#4,R2		;FOUR COMMANDS
≠MOV≡≡R1≡≡.DIAG1≡≥	142530	012177	014614		1$:	MOV	(R1)+,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	142534	004737	141302			JSR	PC,$$DFXDN	;EXECUTE FUNCTION
≠DEC≡≡R2≡≥	142540	005302				DEC	R2
≠BNE≡≥	142542	001372				BNE	1$
≤POP≡≥						POP	<R2,R1,R0>
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R2≡≠MOV≡≡SP≡≡R1≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠RTS≡≡PC≡≥	142552	000207				RTS	PC
≥					
≠.WORD≡≡DCOMST≡≡DFUNC≡≡SETMR≡≥	142554	007201			$SMRLST:.WORD	DCOMST!DFUNC!<SETMR*1000>
≠.WORD≡≡DCOMST≡≡DFUNC≡≡STRCLK≡≥	142556	001201				.WORD	DCOMST!DFUNC!<STRCLK*1000>
≠.WORD≡≡DCOMST≡≡DFUNC≡≡STPCLK≡≥	142560	000201				.WORD	DCOMST!DFUNC!<STPCLK*1000>
≠.WORD≡≡DCOMST≡≡DFUNC≡≡CLRMR≡≥	142562	006201				.WORD	DCOMST!DFUNC!<CLRMR*1000>
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 374
	BR11 PALII[KL,SYS]	Page 12 	RCRAM ROUTINE

≥					.SBTTL	RCRAM ROUTINE
≥					
≠TST≡≡R0≡≥	142564	005700			$RCRAM:	TST	R0		;IS R0 NEG
≠BMI≡≥	142566	100406				BMI	1$		;READ CURRENT CR IF YES
≥					
≡WWADR≡≡WWADR≡≥	142570	104075				WWADR			;EXAMINE ADDRESS IN R0 IF HERE
≠MOV≡≡DCOMST≡≡DFUNC≡≡SECLK≡≡.DIAG1≡≥	142572	012777	003201	014550		MOV	#DCOMST!DFUNC!<SECLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	142600	004737	141302			JSR	PC,$$DFXDN	;CLOCK ADDRESS CONTENTS TO C.R.
≥					
≠MOV≡≡$BUFRC≡≡R3≡≥	142604	012703	147526		1$:	MOV	#$BUFRC+10.,R3	;GET BUFFER ADDR FOR C-RAM CONTENTS
≠MOV≡≡$RDLST≡≡R4≡≥	142610	012704	143040			MOV	#$RDLST,R4	;GET DIAG FUNCTION LIST
≥					
≠MOVB≡≡R4≡≡R0≡≥	142614	112400			2$:	MOVB	(R4)+,R0	;DIAG FUNCTION
≡DFRD≡≡DFRD≡≥	142616	104116				DFRD
≠MOV≡≡WREADY≡≡R1≡≥	142620	012701	147532			MOV	#WREADY,R1	;DESTINATION OF READ/MOVE
≠MOV≡≡.DAT3≡≡R0≡≥	142624	013700	157322			MOV	.DAT3,R0
≠MOV≡≡R0≡≡R1≡≥	142630	012021				MOV	(R0)+,(R1)+
≠MOV≡≡R0≡≡R1≡≥	142632	012021				MOV	(R0)+,(R1)+
≠MOV≡≡R0≡≡R1≡≥	142634	011011				MOV	(R0),(R1)
≥					
≠JSR≡≡PC≡≡$SQASH≡≥	142636	004737	143044			JSR	PC,$SQASH	;GO CLEAR OUT BLANKS
≠MOV≡≡WREADY≡≡R0≡≥	142642	012700	147535			MOV	#WREADY+3,R0	;ADDRESS OF DATA JUST READ
≠MOVB≡≡R0≡≡R3≡≥	142646	114043				MOVB	-(R0),-(R3)	;BITS 16-19 TO BUFFER
≠TST≡≡SIGNL2≡≥	142650	005737	147512			TST	SIGNL2		;CHECK TRAFFIC LIGHT
≠BNE≡≥	142654	001005				BNE	4$		;BR TO RORING IF WRONG BOUNDARY
≥					
≠MOVB≡≡R0≡≡R3≡≥	142656	114043			3$:	MOVB	-(R0),-(R3)	;BITS 20-27 TO WORK AREA
≠MOVB≡≡R0≡≡R3≡≥	142660	114043				MOVB	-(R0),-(R3)	;BITS 28-35 TO WORK AREA
≠COM≡≡SIGNL2≡≥	142662	005137	147512			COM	SIGNL2		;CHANGE SIGNAL
≠BR≡≥	142666	000752				BR	2$		;GET MORE DATA
≥					
≠ASLB≡≡R3≡≥	142670	106313			4$:	ASLB	(R3)		;NEED TO FIX A HALF BYTE
≠ASLB≡≡R3≡≥	142672	106313				ASLB	(R3)
≠ASLB≡≡R3≡≥	142674	106313				ASLB	(R3)
≠ASLB≡≡R3≡≥	142676	106313				ASLB	(R3)
≤PUSH≡≥						PUSH	R0		;DON'T LOSE DATA ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡R0≡≥	142702	012700	000004			MOV	#4,R0		;DO NEXT LOOP FOUR TIMES
≥					
≠MOV≡≡R3≡≡R2≡≥	142706	010302			10$:	MOV	R3,R2		;ADDRESS OF DATA TO R2
≠ROLB≡≡R2≡≥	142710	106122				ROLB	(R2)+		;SHIFT AND DON'T FORGET "C"
≠ROLB≡≡R2≡≥	142712	106122				ROLB	(R2)+
≠ROLB≡≡R2≡≥	142714	106122				ROLB	(R2)+
≠ROLB≡≡R2≡≥	142716	106122				ROLB	(R2)+
≠DEC≡≡R0≡≥	142720	005300				DEC	R0		;ASSEMBLED COMPLETE HALF BYTE
≠BNE≡≥	142722	001371				BNE	10$		;LOOP AGAIN IF NO
≤POP≡≥						POP	R0		;RETRIEVE DATA ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠TSTB≡≡R3≡≥	142726	105723				TSTB	(R3)+		;FIX DESTINATION ADDRESS
≠TST≡≡SIGNL3≡≥	142730	005737	147510			TST	SIGNL3		;CHECK SIGNAL
≠BNE≡≥	142734	001003				BNE	15$		;DONE IF MINUS
≠COM≡≡SIGNL3≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 375
	BR11 PALII[KL,SYS]	Page 12.1 	RCRAM ROUTINE

≥	142736	005137	147510			COM	SIGNL3		;OTHERWISE CHANGE SIGNAL
≠BR≡≥	142742	000745				BR	3$		;CONTINUE
≠MOVB≡≡WREADY≡≡R3≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 376
	BR11 PALII[KL,SYS]	Page 13 	RCRAM ROUTINE

≥	142744	113743	147533		15$:	MOVB	WREADY+1,-(R3)	;ENDING UP
≠MOVB≡≡WREADY≡≡R3≡≥	142750	113743	147532			MOVB	WREADY,-(R3)	;CRAM BITS 0-15 TO BUFFER
≠COM≡≡SIGNL3≡≥	142754	005137	147510			COM	SIGNL3		;SIGNL3 TO ZERO
≠COM≡≡SIGNL2≡≥	142760	005137	147512			COM	SIGNL2		;SIGNL2 TO ZERO
≡DFRDT≡≡DFRDT≡≥	142764	104140				DFRDT
≡RCSPEC≡≡RCSPEC≡≥	142766	000141				RCSPEC			;READ SPEC FIELD
≠MOV≡≡.DAT2≡≡R1≡≥	142770	017701	014330			MOV	@.DAT2,R1	;GET DISP 03,04
≠MOV≡≡.DAT1≡≡R0≡≥	142774	017700	014326			MOV	@.DAT1,R0	;GET DISP 00,01,02
≠ROL≡≡R1≡≥	143000	006101				ROL	R1		;JUSTIFY IN R0
≠ROL≡≡R0≡≥	143002	006100				ROL	R0
≠ROL≡≡R1≡≥	143004	006101				ROL	R1
≠ROL≡≡R0≡≥	143006	006100				ROL	R0
≥					
≠BIC≡≡R0≡≥	143010	042700	177740			BIC	#177740,R0	;CLEAR TRASH
≠MOVB≡≡R0≡≡$BUFRC≡≥	143014	110037	147526			MOVB	R0,$BUFRC+12	;SAVE IN BUFFER
≠MOV≡≡$BUFRC≡≡R0≡≥	143020	012700	147516			MOV	#$BUFRC+2,R0	;RETURN DATA ADDRESS IN R0
≠BIC≡≡R0≡≥	143024	042710	000005			BIC	#5,(R0)		;CLEAR PARITY BITS
≠BIC≡≡R0≡≥	143030	042740	052525			BIC	#52525,-(R0)	;AND FIX ADDRESS
≤EXIT≡≥						EXIT			;DONE
≠JMP≡≡$EXIT≡≥	143034	000137	124064			  JMP	$EXIT
≥					
≠.BYTE≡≡RCRAM1≡≥	143040	   147			$RDLST:	.BYTE	RCRAM1		;READ CRAM 0-19
≠.BYTE≡≡RCRAM2≡≥	143041	   146				.BYTE	RCRAM2		;READ CRAM 20-39
≠.BYTE≡≡RCRAM3≡≥	143042	   145				.BYTE	RCRAM3		;READ CRAM 40-59
≠.BYTE≡≡RCRAM4≡≥	143043	   144				.BYTE	RCRAM4		;READ CRAM 60-79-EVEN
≠MOV≡≡WREADY≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 377
	BR11 PALII[KL,SYS]	Page 14 	RCRAM ROUTINE

≥	143044	013701	147532		$SQASH:	MOV	WREADY,R1	;GET STRETCHED BITS 8-19
≠MOV≡≡WREADY≡≡R2≡≥	143050	013702	147534			MOV	WREADY+2,R2	;GET STRECHED BITS 0-7
≠CLR≡≡R0≡≥	143054	005000				CLR	R0		;CLEAR A DESTINATION
≠SEC≡≠SEC≡≥	143056	000261				SEC			;SET A DONE FLAG
≠ROR≡≡R0≡≥	143060	006000				ROR	R0		;AND ROLLIT INTO R0
≠MOV≡≡R5≡≥	143062	012705	000004		1$:	MOV	#4,R5		;FOUR BITS PER GROUP
≠DEC≡≡R5≡≥	143066	005305			2$:	DEC	R5		;DONE A GROUP OF FOUR
≠BLT≡≥	143070	002413				BLT	20$		;BRANCH IF NO
≠ASR≡≡R2≡≥	143072	006202				ASR	R2		;ROTATE SOURCE BITS RIGHT
≠ROR≡≡R1≡≥	143074	006001				ROR	R1		;ALL TWENTY OF THEM
≠ROR≡≡R0≡≥	143076	006000				ROR	R0		;BEGIN WITH FIRST FLAG INTO R0
≠BCC≡≥	143100	103372				BCC	2$		;IF FLAG FALLS OUT..DONE
≥					
≥					;HERE TO FINISH UP
≥					
≠ASR≡≡R1≡≥	143102	006201				ASR	R1		;MAKE LAST BLANKS
≠ASR≡≡R1≡≥	143104	006201				ASR	R1		;GO VERY FAR AWAY
≠MOV≡≡R0≡≡WREADY≡≥	143106	010037	147532			MOV	R0,WREADY	;STORE RESULTS IN CORE
≠MOV≡≡R1≡≡WREADY≡≥	143112	010137	147534			MOV	R1,WREADY+2	;ALL DONE
≠RTS≡≡PC≡≥	143116	000207				RTS	PC		;RETURN
≥					
≠ASR≡≡R2≡≥	143120	006202			20$:	ASR	R2		;HERE TO SHIFT AWAY
≠ROR≡≡R1≡≥	143122	006001				ROR	R1		;THE PAIR
≠ASR≡≡R2≡≥	143124	006202				ASR	R2		;OF BLANKS HIDDEN
≠ROR≡≡R1≡≥	143126	006001				ROR	R1		;AMIDST THE REAL DATA
≠BR≡≥	143130	000754				BR	1$		;CONTINUE
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 378
	BR11 PALII[KL,SYS]	Page 15 	MICNUL & MICFIL C-RAM ROUTINES

≥					.SBTTL	MICNUL & MICFIL C-RAM ROUTINES
≥					
≥					;MICNUL, FILL C-RAM LOCATIONS WITH ZEROS
≥					
≠MOV≡≡R1≡≡R2≡≥	143132	010102			$MICNUL:MOV	R1,R2		;NUMBER OF WORDS TO R2
≠MOV≡≡R0≡≡R3≡≥	143134	010003				MOV	R0,R3		;SAVE START ADDRESS
≠BIS≡≡R3≡≥	143136	052703	100000			BIS	#100000,R3	;BYPASS MR AFTER FIRST TIME
≠MOV≡≡ZEROS≡≡R1≡≥	143142	012701	147556			MOV	#ZEROS,R1
≥					
≡WWADR≡≡WWADR≡≥	143146	104075			1$:	WWADR			;WRITE C-RAM ADDRESS
≥					
≠MOV≡≡R4≡≥	143150	012704	000003			MOV	#3,R4
≠MOVB≡≡LCRAM1≡≡R0≡≥	143154	112700	000057			MOVB	#LCRAM1,R0	;1ST FUNCTION IS A WRITE
≡DFWRT≡≡DFWRT≡≥	143160	104120				DFWRT
≥					
≠MOVB≡≡FLST≡≡R4≡≡R0≡≥	143162	116400	143212		2$:	MOVB	FLST(R4),R0	;DIAG FUNCTION
≠JSR≡≡PC≡≡$DFXFS≡≥	143166	004737	141250			JSR	PC,$DFXFST
≠DEC≡≡R4≡≥	143172	005304				DEC	R4
≠BGE≡≥	143174	002372				BGE	2$		;ZERO ALL BITS
≥					
≠INC≡≡R3≡≥	143176	005203				INC	R3		;INCREMENT C-RAM ADDRESS
≠MOV≡≡R3≡≡R0≡≥	143200	010300				MOV	R3,R0
≠DEC≡≡R2≡≥	143202	005302				DEC	R2		;FINISHED ALL WORDS YET ?
≠BGT≡≥	143204	003360				BGT	1$
≤EXIT≡≥					10$:	EXIT			;YES
≠JMP≡≡$EXIT≡≥	143206	000137	124064			  JMP	$EXIT
≥					
≠.BYTE≡≡LCRAM5≡≥	143212	   053			FLST:	.BYTE	LCRAM5
≠.BYTE≡≡LCRAM4≡≥	143213	   054				.BYTE	LCRAM4
≠.BYTE≡≡LCRAM3≡≥	143214	   055				.BYTE	LCRAM3
≠.BYTE≡≡LCRAM2≡≥	143215	   056				.BYTE	LCRAM2
≠.BYTE≡≡LCRAM1≡≥	143216	   057				.BYTE	LCRAM1
≠.EVEN≡≥		143220			.EVEN
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 379
	BR11 PALII[KL,SYS]	Page 16 	MICNUL & MICFIL C-RAM ROUTINES

≥					;MICFIL, C-RAM FILL WITH ONES ROUTINE
≥					
≠MOV≡≡R1≡≡R2≡≥	143220	010102			$MICFIL:MOV	R1,R2		;NUMBER OF WORDS TO R2
≠MOV≡≡R0≡≡R3≡≥	143222	010003				MOV	R0,R3		;SAVE ADDRESS
≠BIS≡≡R3≡≥	143224	052703	100000			BIS	#100000,R3	;BYPASS MR AFTER FIRST TIME
≠MOV≡≡TENMO≡≡R1≡≥	143230	012701	100056			MOV	#TENMO,R1	;36 BITS OF ONES
≥					
≡WWADR≡≡WWADR≡≥	143234	104075			1$:	WWADR			;WRITE C-RAM ADDRESS
≠MOV≡≡R4≡≥	143236	012704	000004			MOV	#4,R4
≥					
≠MOVB≡≡FLST≡≡R4≡≡R0≡≥	143242	116400	143212		2$:	MOVB	FLST(R4),R0	;DIAG FUNCTION
≡DFWRT≡≡DFWRT≡≥	143246	104120				DFWRT
≠DEC≡≡R4≡≥	143250	005304				DEC	R4		;DO ALL BITS
≠BGE≡≥	143252	002373				BGE	2$
≥					
≠INC≡≡R3≡≥	143254	005203				INC	R3		;INCREMENT C-RAM ADDRESS
≠MOV≡≡R3≡≡R0≡≥	143256	010300				MOV	R3,R0
≠DEC≡≡R2≡≥	143260	005302				DEC	R2		;DONE ALL ADDRESSES YET ?
≠BGT≡≥	143262	003364				BGT	1$
≤EXIT≡≥					10$:	EXIT
≠JMP≡≡$EXIT≡≥	143264	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 380
	BR11 PALII[KL,SYS]	Page 17 	WDRAM ROUTINE

≥					.SBTTL	WDRAM ROUTINE
≥					
≠MOV≡≡R0≡≡R2≡≥	143270	010002			$WDRAM:	MOV	R0,R2		;COPY DRAM ADDRESS
≠ROR≡≡R0≡≥	143272	006000				ROR	R0		;CHECK IF ODD OR EVEN
≠BCC≡≥	143274	103002				BCC	1$		;BR IF EVEN
≠JMP≡≡ADRERR≡≥	143276	000137	113350			JMP	ADRERR		;ADDRESS ERROR IF ODD
≥					
≠ROL≡≡R0≡≥	143302	006100			1$:	ROL	R0		;FIX ADDRESS
≤PUSH≡≥						PUSH	R1		;SAVE POINTER TO DATA
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≡DRAMAD≡≡DRAMAD≡≥	143306	104130				DRAMAD			;GO WRITE DRAM ADDRESS
≤POP≡≥						POP	R3		;PUT POINTER TO DATA IN R3
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R3≡≠.LIST≡≠MOV≡≡R3≡≡R1≡≥	143312	012301				MOV	(R3)+,R1	;DATA INTO R1
≠JSR≡≡R5≡≡DATEVE≡≥	143314	004537	143662			JSR	R5,DATEVE	;WRITE EVEN DATA
≠MOV≡≡R3≡≡R1≡≥	143320	012301				MOV	(R3)+,R1	;DATA INTO R1
≠JSR≡≡R5≡≡DATODD≡≥	143322	004537	143646			JSR	R5,DATODD	;WRITE ODD DATA
≠MOV≡≡R3≡≡R1≡≥	143326	011301				MOV	(R3),R1		;DATA INTO R1
≠JSR≡≡R5≡≡DATCOM≡≥	143330	004537	143634			JSR	R5,DATCOM	;WRITE COMMON DATA
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	143334	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 381
	BR11 PALII[KL,SYS]	Page 18 	RDRAM ROUTINE

≥					.SBTTL	RDRAM ROUTINE
≥					
≤PUSH≡≥					$RDRAM:	PUSH	<R1,R0>		;SAVE R1,STORE DRAM ADDR ON STACK TOP
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠CLR≡≡R1≡≥	143344	005001				CLR	R1		;R1 IS AN INDEX COUNTER
≡DRAMAD≡≡DRAMAD≡≥	143346	104130			1$:	DRAMAD			;WRITE DRAM ADDRESS
≠MOV≡≡DCOMST≡≡DFUNC≡≡DRLTCH≡≡.DIAG1≡≥	143350	012777	015201	013772		MOV	#DCOMST!DFUNC!<DRLTCH*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	143356	004737	141302			JSR	PC,$$DFXDN	;STROBE DATA TO LATCHES
≡DFRDT≡≡DFRDT≡≥	143362	104140				DFRDT
≡DRJ710≡≡DRJ710≡≥	143364	000135				DRJ710			;FUNCTION TO READ J07,08,09,10
≠MOV≡≡.DAT2≡≡R0≡≥	143366	017700	013732			MOV	@.DAT2,R0	;GET J DATA 7-10
≠ASR≡≡R0≡≥	143372	006200				ASR	R0		;RIGHT JUSTIFY
≠ASR≡≡R0≡≥	143374	006200				ASR	R0		;J-FIELD DATA
≠BIC≡≡R0≡≥	143376	042700	177700			BIC	#177700,R0	;CLEAR EXTRA
≠MOVB≡≡R0≡≡RDRTMP≡≡R1≡≥	143402	110061	147476			MOVB	R0,RDRTMP(R1)	;SAVE DATA IN CORE
≠INC≡≡R1≡≥	143406	005201				INC	R1		;INCREMENT INDEX
≥					
≡DFRDT≡≡DFRDT≡≥	143410	104140				DFRDT
≡DRAMAB≡≡DRAMAB≡≥	143412	000133				DRAMAB			;FUNCTION TO READ "A" & "B" FIELD
≠MOV≡≡.DAT2≡≡R0≡≥	143414	017700	013704			MOV	@.DAT2,R0	;GET A & B DATA
≠ASR≡≡R0≡≥	143420	006200				ASR	R0		;RIGHT JUSTIFY
≠ASR≡≡R0≡≥	143422	006200				ASR	R0		;IN R0
≠BIC≡≡R0≡≥	143424	042700	177700			BIC	#177700,R0	;CLEAR EXTRA
≠MOVB≡≡R0≡≡RDRTMP≡≡R1≡≥	143430	110061	147476			MOVB	R0,RDRTMP(R1)	;STORE IN CORE
≠INC≡≡R1≡≥	143434	005201				INC	R1		;INCREMENT INDEX
≥					
≥					;DECIDE IF THIS IS FIRST OR SECOND PASS
≥					
≠CMP≡≡R1≡≥	143436	020127	000003			CMP	R1,#3		;INDEX UP TO 3 YET??
≠BGE≡≥	143442	002003				BGE	2$		;ON OUT IF YES
≤POP≡≥						POP	R0		;IF NO,GET DRAM ADDRESS
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠INC≡≡R0≡≥	143446	005200				INC	R0		;GET ODD HALF OF EVEN/ODD PAIR
≠BR≡≥	143450	000736				BR	1$		;LOOP AGAIN
≥					
≡DFRDT≡≡DFRDT≡≥	143452	104140			2$:	DFRDT
≡DRJ1.4≡≡DRJ1.4≡≥	143454	000134				DRJ1.4			;FUNCTION TO READ J01-J04
≠MOV≡≡.DAT2≡≡R0≡≥	143456	017700	013642			MOV	@.DAT2,R0	;GET JDATA 01-04
≠ASR≡≡R0≡≥	143462	006200				ASR	R0		;RIGHT JUSTIFY
≠ASR≡≡R0≡≥	143464	006200				ASR	R0		;J1-J4 BITS
≠BIC≡≡R0≡≥	143466	042700	177760			BIC	#177760,R0	;CLEAR UNWANTED
≠MOVB≡≡R0≡≡RDRTMP≡≥	143472	110037	147502			MOVB	R0,RDRTMP+4	;BIT SET TO CORE
≠MOV≡≡RDRTMP≡≡R0≡≥	143476	012700	147476			MOV	#RDRTMP,R0	;PASS BACK DATA ADDRESS IN R0
≤POP≡≥						POP	R1		;RESTORE R
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	143504	000137	124064			  JMP	$EXIT
≠MOV≡≡DDRAM≡≡R3≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 382
	BR11 PALII[KL,SYS]	Page 19 	RDRAM ROUTINE

≥	143510	012703	147502		$DRAMAD: MOV	#DDRAM,R3	;GET ADDRESS OF EBUS DATA
≠MOV≡≡R3≡≡R4≡≥	143514	010304				MOV	R3,R4		;GET A COPY IN R4
≠CMPB≡≡R4≡≡R4≡≥	143516	122424				CMPB	(R4)+,(R4)+	;INCREMENT IT TO DDRAM+2
≠MOV≡≡R0≡≡R2≡≥	143520	010002				MOV	R0,R2		;PUT ACTUAL ADDRESS IN R2
≠COM≡≡R2≡≥	143522	005102				COM	R2		;READY TO TEST ADDR BITS 0-2
≠BIT≡≡R2≡≥	143524	032702	000700			BIT	#700,R2		;MAKE THE TEST
≠BEQ≡≥	143530	001416				BEQ	1$		;BR IF ADDR IS 7XX
≥					
≥					;CODE FOR NON 7XX ADDRESSES
≥					
≠COM≡≡R2≡≥	143532	005102				COM	R2		;WAS NOT 7XX,SO FIX ADDRESS
≠ASL≡≡R2≡≥	143534	006302				ASL	R2		;JUSTIFY ADDRESS IN
≠ASL≡≡R2≡≥	143536	006302				ASL	R2		;CORRECT BIT POSITION
≠ASL≡≡R2≡≥	143540	006302				ASL	R2		;NEED THREE SHIFTS
≠CLRB≡≡R4≡≥	143542	105024				CLRB	(R4)+		;INCREMENT TO DDRAM+3
≠MOVB≡≡R2≡≡R4≡≥	143544	110224				MOVB	R2,(R4)+	;MOVE ADDR BITS 4-8 TO EBUS DATA
≠SWAB≡≡R2≡≥	143546	000302				SWAB	R2		;GET THE REST OF THE BITS
≠MOVB≡≡R2≡≡R4≡≥	143550	110214				MOVB	R2,(R4)		;MOVE ADDR BITS 0-3 TO EBUS DATA
≠JSR≡≡PC≡≡$SPCMR≡≥	143552	004737	142506		4$:	JSR	PC,$SPCMR	;SPECIAL MASTER RESET
≠JSR≡≡R5≡≡WIRAR≡≥	143556	004537	143620			JSR	R5,WIRAR	;GO TO DO THE ACTUAL WRITE
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	143562	000137	124064			  JMP	$EXIT
≥					
≥					;CODE FOR 7XX ADRESSES
≥					
≠COM≡≡R2≡≥	143566	005102			1$:	COM	R2		;FIX ADDRESS TO ORIGINAL STATE
≠ROR≡≡R2≡≥	143570	006002				ROR	R2		;PUT LOW ORDER BIT IN "C" BIT
≠BCS≡≥	143572	103402				BCS	2$		;"C" SET MEANS IR BIT 12 MUST=1
≥					
≠CLRB≡≡R4≡≥	143574	105024				CLRB	(R4)+		;NO "C" BIT MEANS IR BIT 12 MUST=0
≠BR≡≥	143576	000402				BR	3$		;GO TO MOVE ADDRESS TO EBUS DATA
≥					
≠MOVB≡≡R4≡≥	143600	112724	000200		2$:	MOVB	#200,(R4)+	;SET IR BIT 12=1
≠BIC≡≡R2≡≥	143604	042702	000340		3$:	BIC	#340,R2
≠MOVB≡≡R2≡≡R4≡≥	143610	110224				MOVB	R2,(R4)+	;MOVE D-RAM ADDR TO EBUS BIT POSITION 7-11
≠MOVB≡≡R4≡≥	143612	112714	000016			MOVB	#16,(R4)	;SET THE 7 FROM 7XX IN EBUS DATA
≠BR≡≥	143616	000755				BR	4$
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 383
	BR11 PALII[KL,SYS]	Page 20 	RDRAM ROUTINE

≥					;WRITE THE IR
≥					
≠MOV≡≡DDRAM≡≡R1≡≥	143620	012701	147502		WIRAR:	MOV	#DDRAM,R1	;EBUS DATA ALWAYS AT DDRAM
≠MOV≡≡LDAR≡≡R0≡≥	143624	012700	000077		WIRAR1:	MOV	#LDAR,R0	;FUNCTION TO LOAD AR
≡DFWIR≡≡DFWIR≡≥	143630	104121				DFWIR
≠RTS≡≡R5≡≥	143632	000205				RTS	R5
≥					
≥					;NOW FOR COMMON LITTLE PIECES OF THE LOADING OF THE DRAM
≥					
≠MOV≡≡LDRAM3≡≡R0≡≥	143634	012700	000062		DATCOM:	MOV	#LDRAM3,R0	;GET DIAG FUN TO WRITE COMMON
≠ASL≡≡R1≡≥	143640	006301				ASL	R1		;JUSTIFY DATA FOR THE EBUS
≠ASL≡≡R1≡≥	143642	006301				ASL	R1
≠BR≡≡CON2≡≥	143644	000424				BR	CON2		;GO WRITE IT
≥					
≠MOV≡≡LDRAM2≡≡$DDRMS≡≥	143646	012737	000061	147460	DATODD:	MOV	#LDRAM2,$DDRMS	;FUNCTION FOR J-FIELD A & B
≠MOV≡≡LDRJOD≡≡R0≡≥	143654	012700	000064			MOV	#LDRJOD,R0	;FUNCTION FOR J-FIELD ODD
≠BR≡≡CON1≡≥	143660	000405				BR	CON1		;GO
≠MOV≡≡LDRAM1≡≡$DDRMS≡≥	143662	012737	000060	147460	DATEVE:	MOV	#LDRAM1,$DDRMS	;FUNCTION FOR J-FIELD A & B
≠MOV≡≡LDRJEV≡≡R0≡≥	143670	012700	000063			MOV	#LDRJEV,R0	;FUNCTION J-FIELD EVEN
≠ASL≡≡R1≡≥	143674	006301			CON1:	ASL	R1		;JUSTIFY PIECE I'M
≠ASL≡≡R1≡≥	143676	006301				ASL	R1		;INTERESTED IN FOR J-DATA FIELDS
≤PUSH≡≥						PUSH	R1		;SAVE DATA TO BE SENT
≠.NLIST≡≠.IRP≡≠MOV≡≡R1≡≡SP≡≠.LIST≡≠JSR≡≡R5≡≡CON2≡≥	143702	004537	143716			JSR	R5,CON2		;WRITE J-DATA
≤POP≡≥						POP	R1		;GET DATA AGAIN
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R1≡≠.LIST≡≠SWAB≡≡R1≡≥	143710	000301				SWAB	R1		;NOW I'VE GOT A & B
≠MOV≡≡$DDRMS≡≡R0≡≥	143712	013700	147460			MOV	$DDRMS,R0	;GET CORRECT DIAG FUNCTION, & WRITE
≥					
≠MOVB≡≡R1≡≡DDRAM≡≥	143716	110137	147504		CON2:	MOVB	R1,DDRAM+2	;R1 ALWAYS HAS THE DATA
≠MOV≡≡DDRAM≡≡R1≡≥	143722	012701	147502			MOV	#DDRAM,R1	;I ALWAYS PUT IT IN DDRAM
≡DFWRT≡≡DFWRT≡≥	143726	104120				DFWRT
≠RTS≡≡R5≡≥	143730	000205				RTS	R5		;NOW WRITE
≥					
≥					;CLOCK DEFAULT PARAMETER ADDRESS
≥					
≠MOV≡≡CLKDFL≡≡R0≡≥	143732	012700	157246		$CLKPRM:MOV	#CLKDFL,R0	;PUT ADDRESS IN R0
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	143736	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 384
	BR11 PALII[KL,SYS]	Page 21 	M-BOX CLOCK BURST ROUTINE

≥					.SBTTL	M-BOX CLOCK BURST ROUTINE
≥					
≠CLR≡≡KLCLKR≡≥	143742	005037	147454		$BURST:	CLR	KLCLKR		;CLEAR KL10 CLOCK RUNNING
≠MOV≡≡$STDAT≡≡R1≡≥	143746	012701	147456			MOV	#$STDAT,R1	;WORD POINTER TO R1
≠MOV≡≡R0≡≡R2≡≥	143752	010002				MOV	R0,R2		;BURST COUNT TO R2
≠BIC≡≡R2≡≥	143754	042702	177600			BIC	#177600,R2	;SAVE LOWER 7 BITS
≠ROL≡≡R0≡≥	143760	006100				ROL	R0
≠SWAB≡≡R0≡≥	143762	000300				SWAB	R0
≠CLR≡≡R3≡≥	143764	005003				CLR	R3
≠BISB≡≡R0≡≡R3≡≥	143766	150003				BISB	R0,R3		;# OF 128. CLOCK MULTIPLES
≠BEQ≡≥	143770	001425				BEQ	2$		;NONE, DO BURST
≥					
≠MOV≡≡DCOMST≡≡DFUNC≡≡STPCLK≡≡.DIAG1≡≥	143772	012777	000201	013350	1$:	MOV	#DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	144000	004737	141302			JSR	PC,$$DFXDN	;CLEAR BURST MODE
≠CLR≡≡R1≡≥	144004	005011				CLR	(R1)
≠MOV≡≡LDBRR≡≡R0≡≥	144006	012700	000042			MOV	#LDBRR,R0
≡DFWRT≡≡DFWRT≡≥	144012	104120				DFWRT			;CLEAR BURST REG RIGHT
≠MOV≡≡R1≡≥	144014	012711	000010			MOV	#10,(R1)
≠MOV≡≡LDBRL≡≡R0≡≥	144020	012700	000043			MOV	#LDBRL,R0
≡DFWRT≡≡DFWRT≡≥	144024	104120				DFWRT			;LOAD BURST REG LEFT
≠MOV≡≡DCOMST≡≡DFUNC≡≡BRCLK≡≡.DIAG1≡≥	144026	012777	005201	013314		MOV	#DCOMST!DFUNC!<BRCLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	144034	004737	141302			JSR	PC,$$DFXDN	;BURST 128 CLOCKS
≠DEC≡≡R3≡≥	144040	005303				DEC	R3		;ANY MORE ?
≠BGT≡≥	144042	003353				BGT	1$		;YES, DO 128 MORE
≥					
≠MOV≡≡DCOMST≡≡DFUNC≡≡STPCLK≡≡.DIAG1≡≥	144044	012777	000201	013276	2$:	MOV	#DCOMST!DFUNC!<STPCLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	144052	004737	141302			JSR	PC,$$DFXDN	;CLEAR BURST MODE
≠MOV≡≡R2≡≡R3≡≥	144056	010203				MOV	R2,R3		;NUMBER LEFT TO DO
≠BIC≡≡R2≡≥	144060	042702	177760			BIC	#177760,R2
≠MOV≡≡R2≡≡R1≡≥	144064	010211				MOV	R2,(R1)
≠MOV≡≡LDBRR≡≡R0≡≥	144066	012700	000042			MOV	#LDBRR,R0
≡DFWRT≡≡DFWRT≡≥	144072	104120				DFWRT			;LOAD BURST REG RIGHT
≤SR≡≥						SR	R3,4
≠.NLIST≡≠.IF≡≠.REPT≡≠ASR≡≡R3≡≠ASR≡≡R3≡≠ASR≡≡R3≡≠ASR≡≡R3≡≠.LIST≡≠MOV≡≡R3≡≡R1≡≥	144104	010311				MOV	R3,(R1)
≠MOV≡≡LDBRL≡≡R0≡≥	144106	012700	000043			MOV	#LDBRL,R0
≡DFWRT≡≡DFWRT≡≥	144112	104120				DFWRT			;LOAD BURST REG LEFT
≠MOV≡≡DCOMST≡≡DFUNC≡≡BRCLK≡≡.DIAG1≡≥	144114	012777	005201	013226		MOV	#DCOMST!DFUNC!<BRCLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	144122	004737	141302			JSR	PC,$$DFXDN	;BURST THE CLOCK
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	144126	000137	124064			  JMP	$EXIT
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 385
	BR11 PALII[KL,SYS]	Page 22 	LOAD AR ROUTINE

≥					.SBTTL	LOAD AR ROUTINE
≥					
≥					; ROUTINE TO LOAD THE AR WITH AN INSTRUCTION TO BE EXECUTED.
≥					; GETS THE MICROCODE TO THE HALT LOOP, AND THEN LINES UP THE
≥					; MBOX PHASE CHANGE TIMING WITH EBOX SYNC BEFORE LOADING
≥					; THE AR.  THE LATTER IS NECCESSARY IN ORDER TO MAKE INSTRUCTION
≥					; EXECUTION REPEATABLE AT THE CLOCK TICK LEVEL FOR "TRACE" AND
≥					; FOR THE MBOX DIAGNOSTIC.
≥					
≠MOV≡≡R0≡≡R3≡≥	144132	010003			$LODAR:	MOV	R0,R3		;SAVE DATA POINTER
≠MOV≡≡DCOMST≡≡DFUNC≡≡CLRRUN≡≡.DIAG1≡≥	144134	012777	010201	013206		MOV	#DCOMST!DFUNC!<CLRRUN*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	144142	004737	141302			JSR	PC,$$DFXDN	;STOP EXECUTION
≠MOV≡≡R0≡≥	144146	012700	000177			MOV	#177,R0
≡BURST≡≡BURST≡≥	144152	104131				BURST			;RUN CLOCK FOR FIXED PERIOD
≠MOV≡≡DCOMST≡≡DFUNC≡≡CECLK≡≡.DIAG1≡≥	144154	012777	004201	013166		MOV	#DCOMST!DFUNC!<CECLK*1000>,@.DIAG1
≠JSR≡≡PC≡≡$$DFXD≡≥	144162	004737	141302			JSR	PC,$$DFXDN	;GET EBOX CLOCK FALSE
≠BIT≡≡HALTLP≡≡.DIAG1≡≥	144166	032777	001000	013154		BIT	#HALTLP,@.DIAG1
≠BNE≡≥	144174	001002				BNE	1$		;IF AT HALT LOOP
≤EXITER≡≥					3$:	EXITERR
≠JMP≡≡$EXITE≡≥	144176	000137	124036			  JMP	$EXITE
≥					
≥					; NOW CALL ROUTINE TO GET MBOX IN PHASE
≥					
≠JSR≡≡PC≡≡$MBPHS≡≥	144202	004737	144266		1$:	JSR	PC,$MBPHS
≠BCC≡≥	144206	103001				BCC	2$		;BR IF ALL OK
≠BR≡≥	144210	000772				BR	3$
≥					
≠MOV≡≡R3≡≡R1≡≥	144212	010301			2$:	MOV	R3,R1
≠MOV≡≡LDAR≡≡R0≡≥	144214	012700	000077			MOV	#LDAR,R0
≡DFWRT≡≡DFWRT≡≥	144220	104120				DFWRT			;LOAD AR
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	144222	000137	124064			  JMP	$EXIT
≥					
≥					; SETMPH EMT ROUTINE TO SELECT WHICH MBOX PHASE TO SYNC UP TO
≥					;DURING THE LODAR PROCESS. R0 SELECTS ONE OF FOUR PLACES TO SYNC.
≥					; R0 = 0, A CHANGE COMING; R0 = 1, HALFWAY TWIXT A AND B
≥					; R0 = 2, B CHANGE COMING; R0 = 3, HALFWAY TWIXT B AND A.
≥					
≠MOV≡≡R0≡≡$STODD≡≥	144226	010037	157220		$SETMPH:MOV R0,$STODD		;SAVE FOR HALF-PHASE TEST
≠BIC≡≡BIT0≡≡R0≡≥	144232	042700	000001			BIC #BIT0,R0		;CLR ODD-EVEN BIT
≠MOV≡≡$STMTB≡≡R0≡≡$MPHDF≡≥	144236	016037	144256	157214		MOV $STMTB(R0),$MPHDF	;SET DF VALUE FOR A OR B CHANGE
≠MOV≡≡$STMT1≡≡R0≡≡$MPHMK≡≥	144244	016037	144262	157216		MOV $STMT1(R0),$MPHMK	;SET BIT MASK FOR A OR B CHANGE
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	144252	000137	124064			  JMP	$EXIT
≥					
≥	144256	000162			$STMTB:	162			;A CHANGE COMING DF
≥	144260	000163				163			;B CHANGE COMING DF
≥					
≥	144262	000010			$STMT1:	10			;A CHANGE COMING BIT MASK
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 386
	BR11 PALII[KL,SYS]	Page 22.1 	LOAD AR ROUTINE

≥	144264	000400				400			;B CHANGE COMING BIT MASK
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 387
	BR11 PALII[KL,SYS]	Page 23 	MBOX PHASE ROUTINE

≥					.SBTTL	MBOX PHASE ROUTINE
≥					
≥					; ROUTINE TO PHASE THE MBOX WITH THE EBOX HALT LOOP.
≥					; MICROCODE ASSUMPTIONS: THE HALT LOOP IS TWO INSTRUCTIONS
≥					;	THE FIRST IS AT AN EVEN ADDRESS AND HAS T=3T (these used to be labeled
≥					;	THE SECOND IS AT AN ODD ADDRESS AND HAS T=2T  backwards)
≥					; THIS CODE LOOKS FOR THE INTERSECTION OF THE EVEN ADDRESS,
≥					; CLK SYNC TRUE, PHASE CHANGE COMING TRUE, AND THE SELECTED
≥					; PHASE (A OR B CHANGE COMING). THE LATTER IS CHOSEN BY
≥					; THE "SETMPH" EMT.
≥					
≠MOV≡≡R2≡≥	144266	012702	000024		$MBPHS:	MOV	#20.,R2		;SET TIMOUT VALUE
≠MOV≡≡R1≡≥	144272	012701	000001		1$:	MOV	#1,R1		;SET TICK COUNTER
≡DFRDT≡≡DFRDT≡≥	144276	104140				DFRDT
≥	144300	000102				102
≠BIT≡≡BIT2≡≡.DAT3≡≥	144302	032777	000004	013012		BIT	#BIT2,@.DAT3	;BIT 33, CLK SYNC H
≠BEQ≡≥	144310	001442				BEQ	41$		;FALSE, TRY 1 CLOCK
≥					
≡DFRDT≡≡DFRDT≡≥	144312	104140				DFRDT
≥	144314	000144				144
≠BIT≡≡BIT14≡≡.DAT2≡≥	144316	032777	040000	013000		BIT	#BIT14,@.DAT2	;BIT 5, CR ADR 10 H
≠BNE≡≥	144324	001033				BNE	42$		;ODD, TRY 2 CLOCKS
≥					
≡DFRDT≡≡DFRDT≡≥	144326	104140				DFRDT
≥	144330	000164				164
≠BIT≡≡BIT5≡≡.DAT3≡≥	144332	032777	000040	012762		BIT	#BIT5,@.DAT3	;BIT 30,PHASE CHANGE COMING L
≠BNE≡≥	144340	001023				BNE	45$		;FALSE, TRY 5 CLOCKS
≥					
≠MOV≡≡$MPHDF≡≡R0≡≥	144342	013700	157214			MOV $MPHDF,R0		;used to be MOVB  -- jbr 4/27
≡DFRD≡≡DFRD≡≥	144346	104116				DFRD
≠CLR≡≡R0≡≥	144350	005000				CLR R0
≠BIT≡≡$MPHMK≡≡.DAT3≡≥	144352	033777	157216	012742		BIT $MPHMK,@.DAT3	;EITHER A OR B CHANGE COMING L used to be bitb --jbr
≠BEQ≡≥	144360	001402				BEQ 2$			;TRUE, EXIT
≠MOV≡≡R0≡≥	144362	012700	000012			MOV	#10.,R0		;NEED 10 CLOCKS
≠BIT≡≡BIT0≡≡$STODD≡≥	144366	032737	000001	157220	2$:	BIT	#BIT0,$STODD	;WANT HALFWAY BETWEEN?
≠BEQ≡≥	144374	001402				BEQ	3$		;BR IF NOT
≠ADD≡≡R0≡≥	144376	062700	000005			ADD	#5,R0		;FIVE MORE TICKS THEN
≡BURST≡≡BURST≡≥	144402	104131			3$:	BURST			;DO THIS BURST:0,5,10, OR 15
≠CLC≡≠CLC≡≥	144404	000241				CLC
≠RTS≡≡PC≡≥	144406	000207				RTS	PC		;WE'RE THERE
≥					
≠ADD≡≡R1≡≥	144410	062701	000003		45$:	ADD	#3,R1		;MAKE IT FOUR
≠INC≡≡R1≡≥	144414	005201			42$:	INC	R1		;MAKE IT TWO OR FIVE
≠MOV≡≡R1≡≡R0≡≥	144416	010100			41$:	MOV	R1,R0
≡BURST≡≡BURST≡≥	144420	104131				BURST			;DO ONE TWO OR FIVE
≠DEC≡≡R2≡≥	144422	005302				DEC	R2		;COUNT TIMEOUT
≠BNE≡≥	144424	001322				BNE	1$
≠SEC≡≠SEC≡≥	144426	000261				SEC
≠RTS≡≡PC≡≥	144430	000207				RTS	PC		;TOOK TOO LONG, ERROR
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 388
	BR11 PALII[KL,SYS]	Page 24 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

≥					.SBTTL	VMA, VMAH, PC & ADDRESS BREAK ROUTINE
≥					
≥					;ROUTINE TO READ ONE OF 4 REGISTERS ON THE VMA BOARD.
≥					;ROUTINE RETURNS WITH R0 POINTING TO A 36 BIT WORD WITH
≥					;THE DESIRED DATA JUSTIFIED AT BIT 35
≥					
≠MOV≡≡DPVMHD≡≡R0≡≥	144432	012700	000157		$DFVMH:	MOV	#DPVMHD,R0	;FUNCTION TO READ VMA HELD
≠BR≡≡$DFPC1≡≥	144436	000402				BR	$DFPC1
≠MOV≡≡DPPC≡≡R0≡≥	144440	012700	000153		$DFPC:	MOV	#DPPC,R0	;FUNCTION TO READ PC
≠MOV≡≡R5≡≥	144444	012705	000003		$DFPC1:	MOV	#3,R5
≠MOV≡≡R4≡≥	144450	012704	000273			MOV	#273,R4		;MASK FOR REGISTER OFFSET FROM BIT 35
≠BR≡≡$VMPC≡≥	144454	000410				BR	$VMPC
≠MOV≡≡DPVMA≡≡R0≡≥	144456	012700	000157		$DFVMA:	MOV	#DPVMA,R0	;DIAG FUNCTION TO READ VMA
≠BR≡≡$VMPC1≡≥	144462	000402				BR	$VMPC1
≠MOV≡≡DPADB≡≡R0≡≥	144464	012700	000153		$DFADB:	MOV	#DPADB,R0	;DIAG FUNCTION TO READ ADDRESS BREAK
≠MOV≡≡R4≡≥	144470	012704	000356		$VMPC1:	MOV	#356,R4
≠CLR≡≡R5≡≥	144474	005005				CLR	R5
≤PUSH≡≥					$VMPC:	PUSH	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡R0≡≡SP≡≠.LIST≡≠MOV≡≡R2≡≥	144500	012702	000004			MOV	#4,R2		;FOUR READS PER REGISTER
≠MOV≡≡VMADAT≡≡R1≡≥	144504	012701	147550			MOV	#VMADAT,R1	;FIRST CLEAR ENTIRE 36-BIT BUFFER
≠CLR≡≡R1≡≥	144510	005021				CLR	(R1)+
≠CLR≡≡R1≡≥	144512	005021				CLR	(R1)+
≠CLR≡≡R1≡≥	144514	005021				CLR	(R1)+
≥					
≠MOV≡≡WREADY≡≡R1≡≥	144516	012701	147532		1$:	MOV	#WREADY,R1	;PUT DFRD DATA HERE
≡DFRDMV≡≡DFRDMV≡≥	144522	104117				DFRDMV
≠MOV≡≡R0≡≥	144524	012700	000005			MOV	#5,R0		;MASK RECEIVED DATA, FIVE BYTES WORTH
≠BICB≡≡R4≡≡R1≡≥	144530	140421			2$:	BICB	R4,(R1)+
≠DEC≡≡R0≡≥	144532	005300				DEC	R0
≠BGT≡≥	144534	003375				BGT	2$
≠MOV≡≡WREADY≡≡R1≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 389
	BR11 PALII[KL,SYS]	Page 25 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

≥	144536	012701	147537			MOV	#WREADY+5,R1	;NOW MOVE READ DATA
≠MOV≡≡VMADAT≡≡R0≡≥	144542	012700	147555			MOV	#VMADAT+5,R0	;TO VMA REGISTER DATA
≠BISB≡≡R1≡≡R0≡≥	144546	154140				BISB	-(R1),-(R0)
≠BISB≡≡R1≡≡R0≡≥	144550	154140				BISB	-(R1),-(R0)
≠BISB≡≡R1≡≡R0≡≥	144552	154140				BISB	-(R1),-(R0)
≠BISB≡≡R1≡≡R0≡≥	144554	154140				BISB	-(R1),-(R0)
≠BISB≡≡R1≡≡R0≡≥	144556	154140				BISB	-(R1),-(R0)
≠ROLB≡≡R0≡≥	144560	106120				ROLB	(R0)+		;AND NOW SHIFT 35 BITS
≠ROLB≡≡R0≡≥	144562	106120				ROLB	(R0)+		;BY ONE BIT
≠ROLB≡≡R0≡≥	144564	106120				ROLB	(R0)+
≠ROLB≡≡R0≡≥	144566	106120				ROLB	(R0)+
≠ROLB≡≡R0≡≥	144570	106120				ROLB	(R0)+
≥					
≠DEC≡≡SP≡≥	144572	005316				DEC	(SP)		;CREATE NEXT DIAG FUNCTION
≠MOV≡≡SP≡≡R0≡≥	144574	011600				MOV	(SP),R0		;TAKE IT OFF THE STACK
≠DEC≡≡R2≡≥	144576	005302				DEC	R2		;DONE FOUR FUNCTIONS YET?
≠BGT≡≥	144600	003346				BGT	1$		;BR IF MORE TO DO
≥					
≥					;ALL DONE READING DATA, NOW JUSTIFY CORRECTLY FOR THE RETURN MACHINE
≥					
≠MOV≡≡VMADAT≡≡R0≡≥	144602	012700	147555		3$:	MOV	#VMADAT+5,R0	;MUST CORRECT BY OFFSET AMOUNT
≠RORB≡≡R0≡≥	144606	106040				RORB	-(R0)
≠RORB≡≡R0≡≥	144610	106040				RORB	-(R0)
≠RORB≡≡R0≡≥	144612	106040				RORB	-(R0)
≠RORB≡≡R0≡≥	144614	106040				RORB	-(R0)
≠RORB≡≡R0≡≥	144616	106040				RORB	-(R0)
≠DEC≡≡R5≡≥	144620	005305				DEC	R5		;DONE YET?
≠BGT≡≥	144622	003367				BGT	3$		;BR IF NO
≥					
≥					;OFFSET MAY ORIGINALLY NEED TO BE GREATER THAN 0 IF
≥					;VMA DIAG MIXERS NOT RIGHT JUSTIFIED AT EBUS BIT 35
≥					
≤POP≡≥					4$:	POP	R0
≠.NLIST≡≠.IRP≡≠MOV≡≡SP≡≡R0≡≠.LIST≡≠MOV≡≡VMADAT≡≡R0≡≥	144626	012700	147550			MOV	#VMADAT,R0
≤EXIT≡≥						EXIT
≠JMP≡≡$EXIT≡≥	144632	000137	124064			  JMP	$EXIT
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 390
	KLDCP PAL[KL,SYS]	Page 5.10 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

≥					
≥								;Storage definitions
≠.INSRT≡≥					.INSRT	SBST11.PAL
≠COMMEN≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 391
	SBST11 PAL[KL,SYS]	Page 1 	VMA, VMAH, PC & ADDRESS BREAK ROUTINE

≥				COMMENT ⊗   VALID 00009 PAGES
≥				C REC  PAGE   DESCRIPTION
≥				C00001 00001
≥				C00002 00002	.SBTTL	*STORE* PROGRAM STORAGE FILE, 5-AUG-75
≥				C00004 00003	BUFFER CREATION MACROS
≥				C00005 00004	PROGRAM BUFFERS & STORAGE AREA
≥				C00012 00005	COMMON STORAGE
≥				C00017 00006	DECTAPE PARAMETER STORAGE
≥				C00020 00007	TELETYPE BUFFERS
≥				C00023 00008	CONSOLE PARAMETER STORAGE
≥				C00025 00009	MISCELLANEOUS STORAGE
≥				C00028 ENDMK
≥					C⊗;
≠.SBTTL≡	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 392
	SBST11 PAL[KL,SYS]	Page 2 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥					.SBTTL	*STORE* PROGRAM STORAGE FILE, 5-AUG-75
≥					
≠.MACRO≡≤INFORM≠≥					.MACRO	INFORM	A,B
≥					.IF P2
≥					.PRINT	\A=B
≥					\
≥					.ENDC
≥					.ENDM
≥					
≥					
≠.IF≡≡KLDCP≡≥					.IF	DF KLDCP
≥					;DECISION TABLES FOR KL10/11 SUBROUTINE PACKAGE
≥					
≥					$DTBL0:
≠.BYTE≡≥	144636	   012			$LF:	.BYTE	12
≠.BYTE≡≥	144637	   015			$CR:	.BYTE	15
≠.BYTE≡≥	144640	   007			$BELL:	.BYTE	07
≠.BYTE≡≥	144641	   000				.BYTE	00
≠.EVEN≡≥		144642			.EVEN
≥					
≡$LFTBL≡≡$LFTBL≡≥	144642	144650			$DTBL1:	$LFTBL			;LINE FEED FILL TABLE
≡$CRTBL≡≡$CRTBL≡≥	144644	144656				$CRTBL			;CARRIAGE RETURN FILL TABLE
≡$BELLT≡≡$BELLT≡≥	144646	144664				$BELLT			;BELL FILL TABLE
≥					
≠.BYTE≡≥	144650	   001		
≥	144651	   001			$LFTBL:	.BYTE	1,1
≠.BYTE≡≥	144652	   002		
≥	144653	   001				.BYTE	2,1
≠.BYTE≡≥	144654	   002		
≥	144655	   004				.BYTE	2,4
≥					
≠.BYTE≡≥	144656	   000		
≥	144657	   000			$CRTBL:	.BYTE	0,0
≠.BYTE≡≥	144660	   011		
≥	144661	   001				.BYTE	9.,1
≠.BYTE≡≥	144662	   002		
≥	144663	   004				.BYTE	2,4
≥					
≠.BYTE≡≥	144664	   002		
≥	144665	   002			$BELLT:	.BYTE	2,2
≠.BYTE≡≥	144666	   002		
≥	144667	   002				.BYTE	2,2
≠.BYTE≡≥	144670	   002		
≥	144671	   002				.BYTE	2,2
≥					
≥	144672	023420			$DTBL:	10000.
≥	144674	001750				1000.
≥	144676	000144				100.
≥	144700	000012				10.
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 393
	SBST11 PAL[KL,SYS]	Page 2.1 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥	144702	000001				1.
≥	144704	000001			$TBLL:	1.
≥	144706	000012				10.
≥	144710	000144				100.
≥	144712	001750				1000.
≥	144714	023420				10000.
≥					
≥					.ENDC	;IF DF KLDCP
≥					
≤INFORM≡≥					INFORM	PROGRAM END,\.
≠.IF≡≥					.IF P2
≠.PRINT≡≥				.PRINT	\PROGRAM END=144716
≥					\
≥					.ENDC
≥					
≥					;THIS SECTION CONTAINS ALL PROGRAM TEXT LITERALS
≥					
≡$$CLIT≡≡$$CLIT≡≥	144716	147306			$$FF:	$$CLIT
≥					
≡$$LITT≠≥		144720			$$LITT=.
≡$$CLIT≡≡$$$FF≠≥		147306			$$$FF=$$CLIT
≥					
≤INFORM≡≡$$CLIT≡≥					INFORM LITERAL END,\$$CLIT
≠.IF≡≥					.IF P2
≠.PRINT≡≥				.PRINT	\LITERAL END=147306
≥					\
≥					.ENDC
≥					
≠.IF≡≥					.IF P2
≡$$CLIT≡≥		147306			.=$$CLIT
≥					;PATCH:	.BLKW 40
≡PATEND≠≥		147306			PATEND==.
≥					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 394
	SBST11 PAL[KL,SYS]	Page 3 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥					;BUFFER CREATION MACROS
≥					
≡COREND≡≡$$BUF≠≥		157360			$$BUF==	COREND-420		;ROOM FOR STACK
≡$$BUF≡≡$$STKM≠≥		157360			$$STKM==$$BUF			;Bottom boundary of stack
≥					
≥					;WORD BUFFER ASSIGNMENT MACRO
≠.MACRO≡≤.BUFW≠≥					.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≠≥					.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≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DIAG3≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 395
	SBST11 PAL[KL,SYS]	Page 4 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		157356			.DIAG3==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.STDTE≠≥		157354			.STDTE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DIAG2≠≥		157352			.DIAG2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DIAG1≠≥		157350			.DIAG1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.T11DT≠≥		157346			.T11DT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.T10DT≠≥		157344			.T10DT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.T11AD≠≥		157342			.T11AD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.T10AD≠≥		157340			.T10AD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.BC11≠≥		157336			.BC11==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.BC10≠≥		157334			.BC10==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.TENA2≠≥		157332			.TENA2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.TENA1≠≥		157330			.TENA1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DAT1≠≥		157326			.DAT1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DAT2≠≥		157324			.DAT2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DAT3≠≥		157322			.DAT3==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DELAY≠≥		157320			.DELAY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ONETM≠≥		157316			$ONETM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ILDSU≠≥		157314			$ILDSUM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$PWRCN≠≥		157312			$PWRCNT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DEVTYP≠≥		157310			DEVTYP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FLOPPY≠≥		157306			FLOPPY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LPTFLG≠≥		157304			LPTFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LPTYPE≠≥		157302			LPTYPE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡RXUNIT≠≥		157300			RXUNIT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTUNIT≠≥		157276			DTUNIT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡RPUNIT≠≥		157274			RPUNIT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$BKFLG≠≥		157272			$BKFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CLKPE≠≥		157264			CLKPE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PEBITS≠≥		157262			PEBITS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PAGDFL≠≥		157254			PAGDFL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CLKDFL≠≥		157246			CLKDFL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SWS10≠≥		157240			SWS10==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SWS10≠≥		157232			$SWS10==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$$SWR≠≥		157230			$$SWR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$$STJR≠≥		157222			$$STJRS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$STODD≠≥		157220			$STODD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$MPHMK≠≥		157216			$MPHMK==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$MPHDF≠≥		157214			$MPHDF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TGOADR≠≥		157210			TGOADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PGOADR≠≥		157204			PGOADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PGOCTL≠≥		157202			PGOCTL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SEADR≠≥		157200			SEADR==	$$BUF
≠.NLIST≡≠.IF≡≡SAILVR≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TIM11≠≥		157172			TIM11==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TIMBAS≠≥		157164			TIMBAS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡KTIMBS≠≥		157162			KTIMBS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CLKFLG≠≥		157160			CLKFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TIMTMP≠≥		157152			TIMTMP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TIMADR≠≥		157144			TIMADR==	$$BUF
≠.NLIST≡≠.IF≡≡CLKASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TIMFLG≠≥		157142			TIMFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TMSFLG≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 396
	SBST11 PAL[KL,SYS]	Page 4.1 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		157140			TMSFLG==	$$BUF
≠.NLIST≡≠.IF≡≡%%QMP≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡T11DBF≠≥		157136			T11DBF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTEBSY≠≥		157134			DTEBSY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTEBCT≠≥		157132			DTEBCT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0PKO≠≥		157130			EN0PKO==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0ER1≠≥		157126			EN0ER1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0PER≠≥		157124			EN0PER==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0PKI≠≥		157122			EN0PKI==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0ER2≠≥		157120			EN0ER2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0MEM≠≥		157116			EN0MEM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0TRY≠≥		157114			EN0TRY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0BUF≠≥		157110			EN0BUF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0IND≠≥		157106			EN0IND==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡ENBCCF≠≥		157104			ENBCCF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡COUN10≠≥		157076			COUN10==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EN0DLY≠≥		157056			EN0DLY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TO10Q≠≥		157052			TO10Q==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡ENETQ≠≥		157046			ENETQ==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FR10Q≠≥		157042			FR10Q==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FREEQ≠≥		157036			FREEQ==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡QMPRQS≠≥		157034			QMPRQS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡ENIHAD≠≥		157032			ENIHAD==	$$BUF
≠.NLIST≡≠.IF≡≡BOOASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡BOOTSZ≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡BOOTBF≠≥		152272			BOOTBF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡BOOTSA≠≥		152266			BOOTSA==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡BOOTBG≠≥		152262			BOOTBG==	$$BUF
≠.NLIST≡≠.IF≡≡TELASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSSTAT≠≥		152260			FSSTATE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSTPTR≠≥		152256			FSTPTR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSTYPR≠≥		152254			FSTYPR==	$$BUF
≠.NLIST≡≤.BUFB≡≠.IIF≡≠.IIF≡≡FSRLEN≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSRBUF≠≥		152242			FSRBUF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSRPTR≠≥		152240			FSRPTR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSFLG≠≥		152236			FSFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSCLKA≠≥		152234			FSCLKA==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡FSRTIM≠≥		152226			FSRTIM==	$$BUF
≠.NLIST≡≠.IF≡≡BPTASB≡≡$$BUF≡≡$ILDCL≠≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SWMON≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 397
	SBST11 PAL[KL,SYS]	Page 5 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		152224			$SWMON==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡MONCTL≠≥		152222			MONCTL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TENSWD≠≥		152220			TENSWD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TENCLK≠≥		152216			TENCLK==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PCMDFL≠≥		152214			PCMDFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PCMDNF≠≥		152212			PCMDNF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ITERA≠≥		152210			$ITERA==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ENDCT≠≥		152206			$ENDCT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$EOPCT≠≥		152204			$EOPCT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ERRPC≠≥		152202			$ERRPC==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ERTTL≠≥		152200			$ERTTL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ERFLG≠≥		152176			$ERFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$PASS≠≥		152174			$PASS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$CMTAG≠≥		152172			$CMTAG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DVBUF≠≥		151172			DVBUF==	$$BUF
≠.NLIST≡≡DVBUF≡≡VFUDAT≠≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡EXTBF≠≥		151166			EXTBF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡NAMBF≠≥		151160			NAMBF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DIRST4≠≥		151156			DIRST4==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DIRST3≠≥		151154			DIRST3==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DIRST2≠≥		151152			DIRST2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DIRST1≠≥		151150			DIRST1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DIRST0≠≥		151146			DIRST0==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTEXT≠≥		151144			DTEXT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTEXTS≠≥		151136			DTEXTS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTLNGT≠≥		151134			DTLNGTH==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTSTRT≠≥		151132			DTSTRT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DVADR≠≥		151130			DVADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DVCNT≠≥		151126			DVCNT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DVDIRF≠≥		151124			DVDIRF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CDADR≠≥		151122			CDADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DIAFLG≠≥		151120			DIAFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡RPEOF≠≥		151116			RPEOF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡WRTBAK≠≥		151110			WRTBAK==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$RPINF≠≥		151104			$RPINFO==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡NAMRAD≠≥		151076			NAMRAD==	$$BUF
≠.NLIST≡≠.IF≡≡RPASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡REVCNT≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 398
	SBST11 PAL[KL,SYS]	Page 6 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		151074			REVCNT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡INTSW≠≥		151072			INTSW==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$CKS11≠≥		151070			$CKS11==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LTMP≠≥		151066			LTMP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LBC≠≥		151064			LBC==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TRYCTR≠≥		151062			TRYCTR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTXCMD≠≥		151060			DTXCMD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡WCSAV≠≥		151056			WCSAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CASAV≠≥		151054			CASAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DTBLK≠≥		151052			DTBLK==	$$BUF
≠.NLIST≡≠.IF≡≡RXASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDATAE≠≥		151050			LDATAE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDATA≠≥		150744			LDATA==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDADR≠≥		150742			LDADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDCNT≠≥		150740			LDCNT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDOCTF≠≥		150736			LDOCTF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDCNTL≠≥		150734			LDCNTL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDOVRD≠≥		150732			LDOVRD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡LDZBLK≠≥		150730			LDZBLK==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SRTFLG≠≥		150726			SRTFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DEVLC≠≥		150724			DEVLC==	$$BUF
≠.NLIST≡≠.LIF≡≡MONASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡HLPPNT≠≥		150722			HLPPNT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$INPTR≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 399
	SBST11 PAL[KL,SYS]	Page 7 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		150720			$INPTR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$INPTC≠≥		150716			$INPTC==	$$BUF
≠.NLIST≡≤.BUFB≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$INBUF≠≥		150500			$INBUF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$OUTPC≠≥		150476			$OUTPC==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$OUTPT≠≥		150474			$OUTPT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$OUTPP≠≥		150472			$OUTPP==	$$BUF
≠.NLIST≡≤.BUFB≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$OUTBF≠≥		150254			$OUTBF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TNPTR≠≥		150252			$TNPTR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TNPTC≠≥		150250			$TNPTC==	$$BUF
≠.NLIST≡≤.BUFB≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TNBUF≠≥		150032			$TNBUF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TNCHR≠≥		150024			$TNCHR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TENTTY≠≥		150022			TENTTY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TTYIN≠≥		150020			$TTYIN==	$$BUF
≠.NLIST≡≤.BUFB≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TTSAV≠≥		150004			$TTSAV==	$$BUF
≠.NLIST≡≠.IF≡≡MONASB≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$PRNTH≠≥		150002			$PRNTH==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$PGWID≠≥		150000			$PGWID==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TPLIN≠≥		147776			$TPLIN==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TPLIT≠≥		147774			$TPLIT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$XOFLG≠≥		147772			$XOFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CTRLOF≠≥		147770			CTRLOF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$EOLFL≠≥		147766			$EOLFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TTLKF≠≥		147764			$TTLKF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TILNWF≠≥		147762			TILNWF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$FORCE≠≥		147760			$FORCE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TTYFL≠≥		147756			$TTYFL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$0FLG≠≥		147754			$0FLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$NEG≠≥		147752			$NEG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SVH≠≥		147750			$SVH==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SVM≠≥		147746			$SVM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TICHR≠≥		147744			$TICHR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TOCHR≠≥		147742			$TOCHR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DDTFLG≠≥		147740			DDTFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$KONSP≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 400
	SBST11 PAL[KL,SYS]	Page 8 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		147736			$KONSP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡ALLFLG≠≥		147734			ALLFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡RPTFLG≠≥		147732			RPTFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡VERIFY≠≥		147730			VERIFY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.EADR≠≥		147726			.EADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ECADR≠≥		147724			$ECADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$EDADR≠≥		147722			$EDADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ADR≠≥		147720			$ADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ADR1≠≥		147716			$ADR1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DFRDA≠≥		147710			.DFRDA==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.DPXAD≠≥		147704			.DPXAD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡L10ADR≠≥		147700			L10ADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TEMP0≠≥		147672			$TEMP0==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TENRUN≠≥		147670			TENRUN==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡MONMOD≠≥		147666			MONMODE==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡MTTYOF≠≥		147664			MTTYOF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TTYTI≠≥		147662			$TTYTIM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡KASIM≠≥		147660			KASIM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$PCSAV≠≥		147656			$PCSAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$PSSAV≠≥		147654			$PSSAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SPSAV≠≥		147652			$SPSAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$R5SAV≠≥		147650			$R5SAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$R4SAV≠≥		147646			$R4SAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$R3SAV≠≥		147644			$R3SAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$R2SAV≠≥		147642			$R2SAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$R1SAV≠≥		147640			$R1SAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$R0SAV≠≥		147636			$R0SAV==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$EMADR≠	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 401
	SBST11 PAL[KL,SYS]	Page 9 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥		147634			$EMADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SWTCH≠≥		147632			$SWTCH==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$$SVSP≠≥		147630			$$SVSP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TEMP≠≥		147626			TEMP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡IFILEF≠≥		147624			IFILEF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡IFINP≠≥		147622			IFINP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡JFILEF≠≥		147620			JFILEF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡JFINP≠≥		147616			JFINP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡PRGRUN≠≥		147614			PRGRUN==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡MEMPEF≠≥		147612			MEMPEF==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.HCFLG≠≥		147610			.HCFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡.HCADR≠≥		147606			.HCADR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DDTTM1≠≥		147604			DDTTM1==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DDTTM2≠≥		147602			DDTTM2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$ECMD≠≥		147574			$ECMD==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$SAV20≠≥		147566			$SAV20==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡VRBFLG≠≥		147564			VRBFLG==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡ZEROS≠≥		147556			ZEROS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡VMADAT≠≥		147550			VMADAT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡XXDAT≠≥		147546			XXDAT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡MMDAT≠≥		147540			MMDAT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡WREADY≠≥		147532			WREADY==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SIGNL≠≥		147530			SIGNL==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$BUFRC≠≥		147514			$BUFRC==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SIGNL2≠≥		147512			SIGNL2==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SIGNL3≠≥		147510			SIGNL3==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡DDRAM≠≥		147502			DDRAM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡RDRTMP≠≥		147476			RDRTMP==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$DRAM≠≥		147462			$DRAM==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$DDRMS≠≥		147460			$DDRMS==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$STDAT≠≥		147456			$STDAT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡KLCLKR≠≥		147454			KLCLKR==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TENDAT≠≥		147446			TENDAT==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡TENAC0≠≥		147442			TENAC0==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡C10CW≠≥		147434			C10CW==	$$BUF
≠.NLIST≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≠.IIF≡≡$$BARG≠≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡CLKCNT≠≥		147426			CLKCNT==	$$BUF
≠.NLIST≡≠.IF≡≡FSCASB≡≠.IIF≡≡EPTREL≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡$TADSP≠≥		147424			$TADSP==	$$BUF
≠.NLIST≡≠.IIF≡≡SAILVR≡≤.BUFW≡≠.IIF≡≡$$BUF≡≠.IIF≡≡$$BARG≠≠.IIF≡≡$$BUF≡≡$$BARG≡≡$$BUF≠≠.NLIST≡≠.LIST≡≠.LIST≡≡$$BUF≡≡SWTDEP≠≥		147422			SWTDEP==	$$BUF
≠.NLIST≡≠.LIST≡≡$$BUF≡≡BUFCLR≠≥		147422			BUFCLR==$$BUF
≥					
≠.IF2≡≥					.IF2
≠.IFL≡≡$$BUF≡≡PATEND≡≥		000114			.IFL $$BUF-PATEND
≥					.PRINT \BUFFER STORAGE OVERLAPS LITERAL STORAGE, FLUSH SOMETHING!
≥					\
≥					INFORM OVERLAP,\PATEND-$$BUF
≥					.IFF
≤INFORM≡≡$$BUF≡≡PATEND≡≥					INFORM FREE LITERAL/BUFFER SPACE,\$$BUF-PATEND
≠.IF≡≥					.IF P2
≠.PRINT≡≥				.PRINT	\FREE LITERAL/BUFFER SPACE=114
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 402
	SBST11 PAL[KL,SYS]	Page 9.1 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥					\
≥					.ENDC
≥					.ENDC
≥					.ENDC
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 403
	KLDCP PAL[KL,SYS]	Page 5.11 	*STORE* PROGRAM STORAGE FILE, 5-AUG-75

≥					
≠.END≡≡$ILOAD≡≥		100010			.END	$ILOAD		;initial startup in SUB11
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 404
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	ADH	000000		ERR11S	000002		DEXWD1	000006		EBUSPC	000020	
	PR0	000000		VBIT	000002		CLRMR	000006		INHPAG	000020	
	DLRDS	000000		BIT1	000002		QENBCC	000006		IOTVEC	000020	
	XEPT	000000		OPRSEL	000002		DLXBUF	000006		BIT04	000020	
	APR	000000		TCRNUM	000002		QENWC	000006		BPARER	000020	
	DLTDS	000000		DLRBUF	000002		CONSO	000007		BIT4	000020	
	STPCLK	000000		BIT01	000002		SETMR	000007		TBIT	000020	
	QCHN	000000		QSIZ	000002		BELL	000007		CDD	000020	
	RESVED	000000		DLDTR	000002		NBIT	000010		XON	000021	
	QNOPMS	000000		BLKO	000002		DLSTD	000010		CNTRLR	000022	
	BLKI	000000		DEXWD3	000002		BIT03	000010		TO11AD	000022	
	TEXTER	000000		QECHRQ	000002		PAG	000010		XOFF	000023	
	AC	000000		TO11ER	000002		$NB	000010		CNTRLT	000024	
	DLRCSR	000000		DATAO	000003		DIKL10	000010		TO10DT	000024	
	DLYCNT	000000		CNTRLC	000003		INTROF	000010		PWRVEC	000024	
	XR	000000		SECLK	000003		CLRRUN	000010		CNTRLU	000025	
	I	000000		QENPKT	000003		VEC03	000010		TO11DT	000026	
	NULL	000000		QENADR	000004		WEP	000010		ETB	000027	
	ADL	000000		BIT02	000004		RESVEC	000010		DIAG1	000030	
	TO10BM	000001		DEXDON	000004		MODDVC	000010		MSWCHR	000030	
	DVSASB	000001		BIT2	000004		BIT3	000010		CNTRLX	000030	
	MMPIE	000001		ZBIT	000004		TENAD1	000010		EMTVEC	000030	
	STRCLK	000001		DLRTS	000004		RM	000010		DIAG2	000032	
	DCSRT	000001		PI	000004		TAB	000011		CNTRLZ	000032	
	DATAI	000001		DTEMAX	000004		CNTRLI	000011		ALTMOD	000033	
	DLASB	000001		VEC02	000004		SETRUN	000011		STATUS	000034	
	BIT0	000001		TCRDAT	000004		CONBUT	000012		TRAPVE	000034	
	DTEDEF	000001		DLXCSR	000004		LF	000012		DIAG3	000036	
	TCASB	000001		INHCSH	000004		TENAD2	000012		PR1	000040	
	QECHRY	000001		ERRVEC	000004		CNTRLK	000013		INTRON	000040	
	TCDO	000001		EBUSPS	000004		VT	000013		DTESIZ	000040	
	CHAIN	000001		QREQ	000004		TRTVEC	000014		TXTINH	000040	
	DLBRK	000001		CECLK	000004		TCWDAT	000014		SPACE	000040	
	KLDCP	000001		CNTRLD	000004		IRLOAD	000014		D1011	000040	
	INTSON	000001		DLMAIN	000004		TO10BC	000014		BIT5	000040	
	DTEASB	000001		MMWWP	000004		CNTRLL	000014		DLDIE	000040	
	SYN	000001		DSEND	000004		CCA	000014		SCD	000040	
	KWASB	000001		DURE	000004		TBITVE	000014		BLANK	000040	
	CBIT	000001		DEXWD2	000004		BPTVEC	000014		BIT05	000040	
	DCOMST	000001		CONO	000004		FF	000014		NULSTP	000040	
	DLRE	000001		MMADDS	000005		DRLTCH	000015		LDBRR	000042	
	ERR11C	000001		CONI	000005		CR	000015		LDBRL	000043	
	BIT00	000001		QDTMSG	000005		TO11BC	000016		LDSEL	000044	
	CNTRLA	000001		DTESZS	000005		CNTRLO	000017		LDDIS	000045	
	NUPE	000002		BRCLK	000005		VEC04	000020		LDCHK1	000046	
	SSCLK	000002		QHDRSZ	000006		TO10AD	000020		LDCHK2	000047	
	CNUPE	000002		CONSZ	000006		DUPE	000020		LCRDAR	000051	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 405
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	LCRDAL	000052		DPBRX	000124		INT10S	000400		PMVER	003012	
	LCRAM5	000053		DPARX	000125		BIT8	000400		PTABLE	003020	
	LCRAM4	000054		DPADX	000126		BIT08	000400		RXCOPY	003020	
	COMMA	000054		DPAD	000127		TO10DB	000400		DTCOPY	003022	
	LCRAM3	000055		DPSC	000130		$STD	000440		WFILE	003024	
	LCRAM2	000056		DPSC1	000131		$DDT	000441		TAPT	003026	
	LCRAM1	000057		DPFE	000132		$STL	000442		DSKDIR	003030	
	SLASH	000057		DPFE1	000133		$STM	000443		REMOTE	003032	
	TKVEC	000060		DRAMAB	000133		$DTFLG	000444		BIT11	004000	
	LDRAM1	000060		BKSLH	000134		$DTCLK	000445		DLRA	004000	
	DLRIV	000060		DRJ1.4	000134		$DTTIM	000446		PRTOFF	004000	
	PULSE	000060		DRJ710	000135		$DTT11	000447		TCREV	004000	
	LDRAM2	000061		BKARW	000137		$DTF11	000450		ERRSTP	004000	
	LDRAM3	000062		PR3	000140		$DTCMD	000451		PNTLPT	004000	
	LDRJEV	000063		RCSPEC	000141		$DTSEQ	000452		INT11S	004000	
	DLTIV	000064		RCRAM4	000144		$DTOPR	000453		TCSELE	004000	
	TPVEC	000064		RCRAM3	000145		EN0BSZ	000454		DS04	004000	
	LDRJOD	000064		RCRAM2	000146		$DTCHR	000454		TO11DB	004000	
	DISIOJ	000065		RCRAM1	000147		$DTMTD	000455		MMADDM	007740	
	DISACF	000066		DPPC	000153		$DTMTI	000456		DLRDPE	010000	
	ENIOJA	000067		DPADB	000153		$DTSWR	000457		BIT12	010000	
	LDCHAN	000070		DPVMA	000157		$DTQMP	000460		RFMAD3	010000	
	LDMBXA	000071		DPVMHD	000157		HRLZI	000515		DEP	010000	
	LDAR	000077		DPERG	000167		HRRI	000541		RAMIS0	010000	
	BIT6	000100		RUBOUT	000177		DTEIV3	000760		TCILO	010000	
	DLTIE	000100		DLRD	000200		DTEIV2	000764		NOPNT	010000	
	DLRIE	000100		PR4	000200		DTEIV1	000770		ERR10C	010000	
	TO11	000100		TO11DN	000200		DTEIV0	000774		DLCD	010000	
	PR2	000100		DTE	000200		D11MPE	001000		DS03	010000	
	KWLIV	000100		DON11S	000200		BIT09	001000		TO11BM	020000	
	DON11C	000100		BIT07	000200		PERCLR	001000		BIT13	020000	
	READ0	000100		TO10	000200		BIT9	001000		DS02	020000	
	DRESET	000100		DFUNC	000200		TCDATM	001000		DLCTS	020000	
	TCIE	000100		DLTR	000200		DS06	001000		DLFE	020000	
	EBSEL	000100		PALERS	000200		LOOPER	001000		EXVIRT	020000	
	KWLKE	000100		BIT7	000200		HALTLP	001000		BYTE2	020000	
	BIT06	000100		TCRDY	000200		DING	002000		ERR10S	020000	
	RELIAB	000100		TC11	000214		TCBLKM	002000		TCMTE	020000	
	READ1	000101		PR5	000240		KLRUN	002000		TOTALS	020000	
	READ2	000102		JRST	000254		DLSRD	002000		RFMAD2	020000	
	READ3	000103		TA11	000260		DS05	002000		TO10ER	020000	
	DPFMA	000114		PR6	000300		DXWRD1	002000		UPECD	037000	
	MMLPIV	000114		PR7	000340		BIT10	002000		RSTART	040000	
	DPAR	000120		DLRDM	000377		INT11C	002000		CAB08	040000	
	DPBR	000121		DLTDM	000377		TOUTBF	003000		EDONES	040000	
	DPMQ	000122		ERSTOP	000400		PID	003004		DON10C	040000	
	DPFM	000123		DEX	000400		PDVER	003010		TCPAR	040000	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 406
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	XUPT	040000		TTCOCT	104010		RCRAM	104074		PLPT	104153	
	BIT14	040000		TTIDEC	104011		WWADR	104075		PLDBUF	104154	
	DLORE	040000		TTIYES	104012		MRESET	104076		R50UPK	104155	
	DLRI	040000		TTALTM	104013		TENSP	104077		DTINIT	104156	
	RFMAD1	040000		TTI36	104014		SM	104100		RPINIT	104157	
	ZSTOP	040000		TTIBRK	104015		EXCT	104101		DVDATA	104160	
	DS01	040000		TTISDL	104016		LODAR	104102		DTREAD	104161	
	USEVIR	060000		TTISDO	104017		EXAM	104103		RPREAD	104162	
	TCSOFT	063000		TTIS36	104020		EXAMT	104104		DVFRAM	104163	
	PHYS	100000		TTICRA	104021		DPOS	104105		DVWRD	104164	
	DLDSC	100000		TTITRM	104022		DPOST	104106		ASCR50	104165	
	ABORT	100000		TTBTRM	104023		DPOSVR	104107		RPLOAD	104166	
	MMERRF	100000		PNTAL	104024		DPOSVT	104110		RPFIND	104167	
	BIT15	100000		$PMSG	104025		D10MON	104111		RPLKUP	104170	
	SWSLFT	100000		$PMSGR	104026		D10ZRO	104112		RPRDFL	104171	
	PRGSRT	100000		PNTCHR	104027		DTEBAS	104113		RPWRFL	104172	
	TO10DN	100000		PNTNBR	104030		DFXCT	104114		RPWRIT	104173	
	DLERR	100000		PCRLF	104031		DFXCTT	104115		RPADDR	104174	
	DON10S	100000		PSPACE	104032		DFRD	104116		RPBASE	104175	
	RFMAD0	100000		PSLASH	104033		DFRDMV	104117		TENCHR	104176	
	INT10	100000		PCOMMA	104034		DFWRT	104120		PNTBAK	104177	
	TCERR	100000		PNTOCT	104035		DFWIR	104121		TTOCTE	104200	
	DS00	100000		PNTOCS	104036		DFSCLK	104122		TTERM	104201	
	$DIASX	101612		PNTDEC	104037		DFPC	104123		CLKPRM	104202	
	IFILX	101714		PNT18	104040		DFVMA	104124		MICNUL	104203	
	ALLEX1	102276		PNT22	104041		DFADB	104125		MICFIL	104204	
	$ALLMQ	102306		PNT23	104041		RDRAM	104126		DTWRT	104205	
	$ALLFM	102324		PNT36	104042		WDRAM	104127		NAMEXT	104206	
	$ALLAR	102414		PFORCE	104043		DRAMAD	104130		DTAFIL	104207	
	$ALARX	102430		PNORML	104044		BURST	104131		RPFILE	104210	
	$ALLAD	102464		PBELL	104045		PNTCPU	104132		DTRDFL	104211	
	$ALADX	102500		PNTODC	104046		PRGCMD	104133		DTWTFL	104212	
	$ALLBR	102526		PNTODT	104047		PNT36B	104134		DTBASE	104213	
	$ALBRX	102542		REGSAV	104050		ECLOK	104135		PNTCI	104214	
	$ALLPC	102642		REGRST	104051		ESYNC	104136		PNTRST	104215	
	$ALVMA	102760		CMPR36	104052		PNTADR	104137		PRGNPT	104216	
	$ALVMH	102776		SHIFTR	104053		DFRDT	104140		TTPINI	104217	
	$ALPCF	103024		SHIFTL	104054		DFWRTT	104141		TTILNW	104224	
	$ALLPI	103420		SETFLG	104055		PNTCRM	104142		TTICCL	104225	
	FATAL	104000		TDELAY	104056		PNTDRM	104143		DFLEGA	104226	
	ERRHLT	104001		SWITCH	104057		TTBACK	104144		PTAB	104227	
	PRGHLT	104002		SWTSAM	104060		TENSW	104145		RXFILE	104230	
	RUNLP	104003		EOP	104061		PROL36	104146		RXINIT	104231	
	TTILIN	104004		ERREOP	104062		SETMPH	104147		RXRDFL	104232	
	TTICHR	104005		EOPSET	104063		DFVMAH	104150		RXWTFL	104233	
	TTLOOK	104006		MULTPY	104072		PRINTT	104151		RXBASE	104234	
	TTIOCT	104007		WCRAM	104073		PTTY	104152		RXREAD	104235	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 407
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	RXWRT	104236		DTEADR	174400		$RPT	100456		.VMH	102774	
	RPERRO	104237		TCST	177340		$CMDER	100574		.ADB	103006	
	SIPNT	104466		TCCM	177342		$$CNTL	100602		.PCF	103022	
	.CSR	104646		TCCM1	177343		$$$CC	100624		PCF	103106	
	$$ST	106006		TCWC	177344		$KDCRE	100674		PCFTBL	103214	
	$$$ST	106204		TCBA	177346		$KDCEN	101140		.FE	103302	
	$TCX	112076		TCDT	177350		$DISPH	101142		$ALLFE	103304	
	DIARNL	112262		KWLKS	177546		.RPT	101410		.SC	103316	
	DIAEOF	112362		TTICSR	177560		.RPTX	101414		$ALLSC	103320	
	$P18X	117162		DLBA	177560		.RPTP	101422		FESCP	103330	
	$P23X	117166		TTIDBR	177562		$PRGNP	101444		.PI	103414	
	$$PEX2	117730		TTOCSR	177564		$PRGCM	101452		$ALPIG	103452	
	$$PSX2	117734		TTODBR	177566		$PRGXX	101456		$ALPIY	103462	
	$TILN1	120172		SWR	177570		PCMDE	101526		$ALPIX	103472	
	$TILN2	120222		STKLMT	177774		PCMDE1	101546		$ALPIH	103504	
	$$PEX4	122442		PS	177776		PCMDE3	101552		$ALPIO	103536	
	$EMTAE	123610		START	100000		PCMDE2	101572		.ALL	103550	
	$ALLEC	126274		$CNTLC	100004		$PCMDX	101606		$PNTCP	103600	
	$DDSIZ	127164		$ILOAD	100010		$TTICC	101636		$SP	103750	
	$$$NAM	131076		$CONSL	100014		IFILIN	101666		$RN	104000	
	$LLD2	132744		$TKS	100020		IFILX1	101724		$RNN	104002	
	$LRDIN	133200		$TKB	100022		JFILIN	101730		$RNX	104106	
	LD10VE	133252		$TPS	100024		IJFILX	101772		$DDTX	104112	
	$DTDI2	133636		$TPB	100026		.DFXCT	102014		$DDTER	104214	
	DAHLP	140316		$FSTKS	100030		.DFWRT	102032		$SI	104220	
	DAHLPD	140400		$FSTKB	100032		.DFX	102064		$DFLEG	104276	
	DADONE	140474		$FSTPS	100034		.FS	102070		.PL	104320	
	$$CLC	141110		$FSTPB	100036		$DFERR	102102		.PLX	104360	
	$$LITT	144720		$FSTRV	100040		.DFRD	102112		.SM	104364	
	$$ZZQ	145200		$FSTTV	100042		.DFDP	102236		.CI	104374	
	$$CLIT	147306		$CLKMD	100044		.DFDPC	102254		.CIF	104400	
	$$$FF	147306		$CLKHM	100046		ALLEXT	102262		.CF	104412	
	VFUDAT	151172		$CLKSE	100050		.MQ	102304		$$CI	104420	
	$ILDCL	152226		$CLKST	100052		.FM	102320		$$CF	104425	
	COREND	160000		$CLKTV	100054		$DPERR	102374		.XCT	104432	
	ENOWC	160020		TENMO	100056		.AR	102400		.XCT2	104540	
	ENOWA	160022		TDIAG	100064		.AD	102442		.XCT1	104544	
	ENOCSR	160024		TDDT	100070		.BR	102512		.XCTER	104566	
	ENODLY	160026		TLDR	100074		.ERG	102554		.CNSER	104576	
	ENIWC	160030		TMON	100100		$ALLEB	102570		.BU	104602	
	ENIWA	160032		EMTIMO	100104		.MRESE	102602		.CS	104632	
	ENICSR	160034		CONSL	100106		.DA	102610		.CCMN1	104704	
	ENIADR	160036		KONSL	100134		.DAX	102622		.CCMN	104710	
	MMLPBA	172100		$KONSL	100230		.PC	102626		.CSRER	104736	
	MMLPEA	172136		$$CONS	100332		PCVMAP	102714		.CR	104742	
	XORCR	174200		$KONS1	100364		.VM	102732		.PD	104774	
	XORSR	174202		$KONS2	100422		$DPER1	102770		$PEAR	105006	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 408
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$PEFM	105017		MTTYCF	107356		C10CER	111140		$JC	113232	
	$PECR	105033		$MC	107364		C10C4	111154		SRT11X	113242	
	$PEDR	105051		MTTYS	107406		C10XXX	111336		SRT11	113250	
	$PEFS	105067		TENCMD	107416		C10C5	111342		SRT10	113324	
	.PE	105102		CMD10T	107466		C10CR1	111544		$COMNT	113344	
	.MU	105232		C10DON	107526		C10C6	111550		ADRERR	113350	
	.MM	105240		C10DNX	107552		RDCLK	111600		$PARA	113356	
	.MMC	105242		TENCER	107566		TCUINT	111760		$CMDE	113364	
	.MMX	105276		TENDEA	107710		$TENSW	111762		COMNER	113370	
	.MT	105312		$$TDX	107726		$TENCH	112106		.RI	113374	
	.CE	105400		$ALSTA	107732		P10CMD	112144		$TP	113404	
	.CEP	105532		C10TO	107772		DIASEL	112156		$TW	113412	
	.AC	105544		C10TI	110020		DIAFND	112226		$TPW	113416	
	DATPAG	105770		C10TIX	110056		$DIAFX	112230		$TPWF	113430	
	$ST	105776		C10TIE	110100		DIANF	112234		$TF	113434	
	$STERR	106242		C10TIZ	110106		DIARD	112242		$DECN	113452	
	$STTB1	106246		C10PNT	110146		.SE	112402		$OCTN	113452	
	.CNERR	106272		C10X	110164		.EE	112450		$FILPL	113452	
	.DP	106276		C10SW	110170		.EB	112456		$PARAM	113452	
	.DPNX1	106314		C10SWT	110204		.EEB	112460		FSRINT	113456	
	.DPCOM	106316		C10SW1	110214		.ZE	112632		FSINT1	113476	
	$VBX	106332		C10SW2	110222		.DE	112652		FSXIT	113526	
	.DPCM1	106336		C10SW0	110226		.DB	112660		FSINT2	113534	
	.DPNX	106346		C10SWE	110270		.DEB	112662		FSINT3	113616	
	.DPS	106362		$$C1	110274		$$PARA	112742		FSINT4	113626	
	$TENRN	106366		$SW	110300		$$CMDE	112746		FSXITA	113714	
	$VB	106404		C10DDT	110344		$VERIF	112752		FSIN4R	113716	
	$VB1	106426		C10PRG	110406		$LDT	112766		FSIN4D	113734	
	$KA	106440		C10PT	110422		$LDE	112776		FSIN4E	113770	
	.MZ	106450		C10P2	110462		$LDR	113006		FSIN4W	114022	
	.EXM	106622		C10P1	110466		$LDB	113016		HANGUP	114032	
	.EXCOM	106666		C10X1	110472		$LDD	113026		HANGU1	114040	
	.EXMSP	106770		C10P3	110476		$PROG	113036		FSHNG1	114110	
	.EXMNX	107004		C10P4	110504		$PROG2	113042		FSINT5	114120	
	.EXMN1	107016		C10P5	110510		$PROG1	113046		FSIN5A	114142	
	$RUNLP	107030		C10KAS	110530		$JFILE	113064		FSTINT	114160	
	MTTYIN	107200		KASET	110540		$IFILE	113104		FSTYP	114200	
	MTTYI0	107212		C10CLK	110574		$IIX	113112		FSTYP1	114216	
	MTTYI1	107222		C10CPT	110610		$HELP	113132		FSTYP2	114244	
	C10DN1	107260		C10C0	110630		$HELP1	113144		FSCLKR	114254	
	C10DN2	107266		C10CX	110634		$DT	113150		FSMSG	114424	
	MTTYER	107276		C10C3	110640		$RXX	113176		FSLOSM	114462	
	MTTYOC	107302		C10BCR	110654		$DTX	113202		PWORD	114474	
	MTTYO	107324		C10C1	110660		$DTC	113206		$HU	114500	
	MTTYP	107342		C10CX1	110664		$GO	113212		$$ILOA	114522	
	MTTYX	107346		C10C2	110714		$$GO	113216		$SBRIN	114570	
	MTTYC	107350		C10COP	110742		LDSTRT	113226		NOPAR	115154	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 409
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$CMCLR	115156		$PNTOS	117374		$TI36C	122044		$DPOST	124234	
	$CKSUM	115174		$PNTO	117376		$MULTP	122060		$DPOS	124240	
	$EOP	115220		$PNTDE	117476		$TTIBR	122166		$DPOSX	124246	
	$EOPSE	115220		$$PEX1	117616		$$PEX5	122176		$DPSX1	124304	
	$ERREO	115220		$TTICH	117622		$TTSDL	122202		$EXAMT	124314	
	$PRGHL	115222		$TTIX1	117644		$TTSDX	122322		$EXAM	124322	
	$ERRHL	115232		$TTIX2	117652		$TTITR	122326		$EXAMX	124334	
	$PH2	115256		$TTLOO	117654		$TTBTR	122332		$EXDEP	124344	
	$PH1	115262		$TTALT	117702		$TTERM	122340		$$CLRF	125064	
	.HC	115466		$TTIYE	117746		TRMTAB	122400		$D10AD	125072	
	$PNTAL	115522		$PNTSP	117776		$TTCOC	122410		$EBPAR	125116	
	$PNTNB	115614		$TTBAC	120010		$TOCTE	122422		$DPSVT	125144	
	$PNTCH	115624		$SWITC	120026		$TTSDO	122434		$DPOSV	125150	
	$$PNTX	115630		$SWTSA	120040		$TTS36	122446		$DPVRY	125210	
	$PSPAC	115634		$PFORC	120046		$TICRA	122460		$DPVRX	125212	
	$PSLAS	115642		$PNORM	120054		$SHFTR	122474		$DPVRP	125220	
	$PCOMM	115650		$$PEX3	120060		$SHFTX	122506		$DPVRE	125232	
	$PTAB	115656		$TILRN	120064		$SHFTL	122512		$DPVRV	125242	
	$PLDBU	115664		$TILN3	120106		$$PMSR	122526		$CMP36	125316	
	$PNTBA	115770		$TTILN	120142		$$PMSG	122534		$10ADR	125352	
	$TTPIN	116006		$TTILI	120150		$PNTCI	122544		$SM	125400	
	$PNTRS	116022		$TILNX	120154		$DELAY	122564		$SMERR	125456	
	$PRINT	116040		$TIRUB	120374		.TD	122600		$SMTAB	125462	
	$PTTY	116174		$TICU	120442		$REGSA	122630		$XCT	125474	
	$PTTY1	116516		$TICR	120454		$REGRS	122644		$ECLOK	125544	
	$PTTY2	116532		$TIBEL	120462		$FATLE	122702		$TENSP	125616	
	$PTTYC	116546		$TIEXT	120464		$TIMOT	122712		CLKSTA	125746	
	$PTCO	116734		$TIALT	120506		$RESVD	122722		CLKINT	126054	
	$PCRLF	116742		$TIBKS	120520		$EOR	122730		$EC	126244	
	$PBELL	116750		$TICC	120524		$STUF	122754		$ECGET	126452	
	$PODT	116760		$TICL	120534		$NOTAS	123000		$PCRAM	126502	
	$PNTOD	116772		$TILF	120550		$EOR2	123004		$DCTPC	126522	
	$PODCD	117040		$TICO	120556		$FATAL	123014		$DCTP1	126526	
	$PADR	117046		$TICX	120570		$EMTRP	123024		$NEXT	126574	
	$$P23	117072		TILINC	120612		$EMTAD	123110		$END	126610	
	$PNT18	117114		TILINA	120632		$ESYNC	123610		$RC	126660	
	$PNT23	117130		$TIRDY	120670		$PWRDN	123616		$RCP	127010	
	$P23Y	117134		$TORDY	120776		$ILLUP	123624		$$ECA	127026	
	$P36B	117144		$TOOUT	121040		$PWRUP	123630		$DDNPR	127042	
	$PNT36	117154		$TTIOC	121074		$EXITE	124036		$DD	127046	
	$P36BX	117160		$$PEX6	121160		$SETFL	124046		$DRAMO	127210	
	$$PEX	117220		$$PEX7	121164		$EXITS	124056		$DDA	127434	
	$PRT36	117224		$TMINU	121170		$EXIT	124064		$DDB	127450	
	$P36MV	117306		$TTIDE	121232		MEMPE	124100		$EDNOA	127464	
	$PODMV	117326		$TTI36	121344		$D10ZR	124144		$EDODD	127470	
	$PROL3	117346		SHFT36	121766		$D10ZX	124200		$ED	127474	
	$PNTOC	117366		NEG36	122010		$D10MO	124204		$PDRAM	127600	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 410
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$DCNCL	127732		LDELVN	131776		$DTXF3	134610		$QUEUE	137502	
	$DC	127736		LD11DN	132230		DTSRA	134710		QMPINI	137542	
	$CRMD0	130062		LDBIN	132242		DTSRE	134726		$RLCB	137722	
	$FJ	130160		LDBIN1	132244		DTSRF	134750		$RQCB	140046	
	$FT	130174		LDBIN2	132302		$DTXF4	134756		$SAVAL	140200	
	$FAR	130200		LDBINE	132320		DTER	135000		$SAVRG	140242	
	$FAD	130210		$LDBNE	132324		DTERA	135014		$SAVVR	140266	
	$FBR	130224		LDBIN3	132330		DTERB	135034		ACTLD2	140312	
	$FMQ	130230		LJMP	132432		DTERC	135044		ACTDON	140474	
	$FFM	130232		LDDRAM	132452		DTHDER	135054		$$C2	140516	
	$FSCAD	130236		LDCZRO	132610		DTREV	135066		ACTLDC	140522	
	$FSC	130250		LDCRAM	132642		DTREVC	135074		ACTBCK	140530	
	$FFE	130252		LDTEN	133052		DATINT	135114		ACTLDF	140536	
	$FSH	130254		LDTENZ	133076		$ASCR5	135124		ACTERR	140542	
	$FNUM	130260		LDRDIN	133150		LDBOOT	135266		IFILEP	140560	
	$FVMA	130272		LD10VR	133246		LDBLD2	135404		DTEINI	140620	
	$FMEM	130276		LD10V	133312		LDBDAT	135410		$PAGDF	140722	
	$FCOND	130304		LD10ER	133332		LDBXFR	135460		$STJRS	140730	
	DVLOAD	130314		DEVFIL	133350		$DS	135474		$DTEBA	140736	
	DEFEXT	130644		DTFIL	133402		DSVER	135666		$DFRDT	140746	
	$NAMEX	130700		$DTAFI	133430		ENOINT	135676		$DFRD	140760	
	$$NAM	131106		DTAFL1	133432		SNDEN	136010		$DFXX	141000	
	DTRPLD	131124		$DTDI1	133654		SNDENR	136016		$DFTIM	141044	
	LLD1	131140		$DI	133726		ENIINT	136102		$DFTMX	141070	
	LLD2	131150		$DTDIR	133746		ENISET	136270		$ECTIM	141100	
	LLD3	131160		$DVFRA	133772		ENICOP	136314		$DFTM1	141104	
	LLD4	131170		$DVDAT	134032		DTEINT	136356		$DXCTT	141114	
	LLDONE	131244		DVEOF	134066		DTE10D	136444		$DFSCL	141130	
	LDPROC	131306		$DVWRD	134110		DTE11D	136516		$DFXCT	141144	
	LDPRO1	131376		$DTINI	134134		REQLST	136574		$$DFX1	141210	
	LDPRO2	131446		$$DVX	134142		T11MSE	136612		$DFXFS	141250	
	LDPRO3	131452		$NONXF	134146		$DTNOP	136634		$KLCK1	141266	
	LDCLR	131470		$R50UP	134170		$ECHRY	136634		$$DFXD	141302	
	LDCNV	131474		$$$DVX	134366		$11ECH	136642		$KLCK3	141302	
	LDOCT	131574		$DTRDF	134370		$11ETH	136660		$KLCK4	141336	
	LDERR	131602		$$DTXE	134376		$11ADR	136676		$KLCK2	141340	
	LDEOL	131606		$DTRFL	134402		$ENBCC	136740		FFDEP	141356	
	LDCKSM	131610		$$DTX	134434		QGIVE	136766		$DFWIR	141360	
	LDTYPE	131654		$$DTXC	134440		QGET	137006		$DFWRT	141400	
	LDLTR	131672		$DTWTF	134444		QMPCMD	137034		$DFRDM	141570	
	$$LD11	131701		$DTINF	134466		$99	137044		$DWRTT	141620	
	$$COR	131715		$DTBAS	134472		QMPRY1	137110		LLIST	141640	
	$$ACT	131722		$DTREA	134500		QMPCXT	137162		$MRESE	141656	
	$$RAM	131727		$DTWRT	134506		QMPRTY	137170		$WWADR	142122	
	$$TEN	131745		$DTXFR	134512		SND10	137216		WRLIST	142250	
	$LINER	131762		$DTXF1	134524		QINI	137370		$WCRAM	142254	
	LDDONE	131772		$DTXF2	134576		$QCLR	137466		$STRCH	142422	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 411
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$SPCMR	142506		R4	000004R		BUFCLR	147422H		$PCSAV	147656H	
	$SMRLS	142554		R5	000005R		SWTDEP	147422H		KASIM	147660H	
	$RCRAM	142564		SP	000006R		$TADSP	147424H		$TTYTI	147662H	
	$RDLST	143040		R6	000006R		CLKCNT	147426H		MTTYOF	147664H	
	$SQASH	143044		PC	000007R		C10CW	147434H		MONMOD	147666H	
	$MICNU	143132		RXASB	000000U		TENAC0	147442H		TENRUN	147670H	
	FLST	143212		PCKASB	000000U		TENDAT	147446H		$TEMP0	147672H	
	$MICFI	143220		MONASB	000000U		KLCLKR	147454H		L10ADR	147700H	
	$WDRAM	143270		UTLASB	000000U		$STDAT	147456H		.DPXAD	147704H	
	$RDRAM	143340		LPTASB	000000U		$DDRMS	147460H		.DFRDA	147710H	
	$DRAMA	143510		RPASB	000000U		$DRAM	147462H		$ADR1	147716H	
	WIRAR	143620		%%EOP	000000U		RDRTMP	147476H		$ADR	147720H	
	WIRAR1	143624		DVASB	000000U		DDRAM	147502H		$EDADR	147722H	
	DATCOM	143634		LPASB	000000U		SIGNL3	147510H		$ECADR	147724H	
	DATODD	143646		DTEBBD	000000U		SIGNL2	147512H		.EADR	147726H	
	DATEVE	143662		TAASB	000000U		$BUFRC	147514H		VERIFY	147730H	
	CON1	143674		FSCASB	000000U		SIGNL	147530H		RPTFLG	147732H	
	CON2	143716		BPTASB	000000U		WREADY	147532H		ALLFLG	147734H	
	$CLKPR	143732		DHASB	000000U		MMDAT	147540H		$KONSP	147736H	
	$BURST	143742		MCNVER	000000H		XXDAT	147546H		DDTFLG	147740H	
	$LODAR	144132		%%DDT	000001H		VMADAT	147550H		$TOCHR	147742H	
	$SETMP	144226		$$BARG	000001H		ZEROS	147556H		$TICHR	147744H	
	$STMTB	144256		CLKASB	000001H		VRBFLG	147564H		$SVM	147746H	
	$STMT1	144262		TELASB	000001H		$SAV20	147566H		$SVH	147750H	
	$MBPHS	144266		EPTREL	000001H		$ECMD	147574H		$NEG	147752H	
	$DFVMH	144432		BOOASB	000001H		DDTTM2	147602H		$0FLG	147754H	
	$DFPC	144440		%%QMP	000001H		DDTTM1	147604H		$TTYFL	147756H	
	$DFPC1	144444		PWLEN	000004H		.HCADR	147606H		$FORCE	147760H	
	$DFVMA	144456		SAILVR	000007H		.HCFLG	147610H		TILNWF	147762H	
	$DFADB	144464		DECVER	000010H		MEMPEF	147612H		$TTLKF	147764H	
	$VMPC1	144470		QENMSG	000010H		PRGRUN	147614H		$EOLFL	147766H	
	$VMPC	144476		LLISTL	000012H		JFINP	147616H		CTRLOF	147770H	
	$DTBL0	144636		FSRLEN	000012H		JFILEF	147620H		$XOFLG	147772H	
	$LF	144636		REQMAX	000016H		IFINP	147622H		$TPLIT	147774H	
	$CR	144637		CPUPR	000140H		IFILEF	147624H		$TPLIN	147776H	
	$BELL	144640		BOOTWD	000620H		TEMP	147626H		$PGWID	150000H	
	$DTBL1	144642		XMEMSZ	001000H		$$SVSP	147630H		$PRNTH	150002H	
	$LFTBL	144650		BOOTSZ	002260H		$SWTCH	147632H		$TTSAV	150004H	
	$CRTBL	144656		FREEAD	003000H		$EMADR	147634H		$TTYIN	150020H	
	$BELLT	144664		FREESZ	020000H		$R0SAV	147636H		TENTTY	150022H	
	$DTBL	144672		FREEND	023000H		$R1SAV	147640H		$TNCHR	150024H	
	$TBLL	144704		%DDTS	077766H		$R2SAV	147642H		$TNBUF	150032H	
	$$FF	144716		CONSOL	100000H		$R3SAV	147644H		$TNPTC	150250H	
	R0	000000R		$RP	100574H		$R4SAV	147646H		$TNPTR	150252H	
	R1	000001R		RPFIL	100574H		$R5SAV	147650H		$OUTBF	150254H	
	R2	000002R		PATEND	147306H		$SPSAV	147652H		$OUTPP	150472H	
	R3	000003R		$$BUF	147422H		$PSSAV	147654H		$OUTPT	150474H	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 412
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      

	$OUTPC	150476H		$PASS	152174H		TIMADR	157144H		.DIAG3	157356H	
	$INBUF	150500H		$ERFLG	152176H		TIMTMP	157152H		$$STKM	157360H	
	$INPTC	150716H		$ERTTL	152200H		CLKFLG	157160H		STACK	157776H	
	$INPTR	150720H		$ERRPC	152202H		KTIMBS	157162H		FUQ	000000H	
	HLPPNT	150722H		$EOPCT	152204H		TIMBAS	157164H	
	DEVLC	150724H		$ENDCT	152206H		TIM11	157172H	
	SRTFLG	150726H		$ITERA	152210H		SEADR	157200H	
	LDZBLK	150730H		PCMDNF	152212H		PGOCTL	157202H	
	LDOVRD	150732H		PCMDFL	152214H		PGOADR	157204H	
	LDCNTL	150734H		TENCLK	152216H		TGOADR	157210H	
	LDOCTF	150736H		TENSWD	152220H		$MPHDF	157214H	
	LDCNT	150740H		MONCTL	152222H		$MPHMK	157216H	
	LDADR	150742H		$SWMON	152224H		$STODD	157220H	
	LDATA	150744H		FSRTIM	152226H		$$STJR	157222H	
	LDATAE	151050H		FSCLKA	152234H		$$SWR	157230H	
	DTBLK	151052H		FSFLG	152236H		$SWS10	157232H	
	CASAV	151054H		FSRPTR	152240H		SWS10	157240H	
	WCSAV	151056H		FSRBUF	152242H		CLKDFL	157246H	
	DTXCMD	151060H		FSTYPR	152254H		PAGDFL	157254H	
	TRYCTR	151062H		FSTPTR	152256H		PEBITS	157262H	
	LBC	151064H		FSSTAT	152260H		CLKPE	157264H	
	LTMP	151066H		BOOTBG	152262H		$BKFLG	157272H	
	$CKS11	151070H		BOOTSA	152266H		RPUNIT	157274H	
	INTSW	151072H		BOOTBF	152272H		DTUNIT	157276H	
	REVCNT	151074H		ENIHAD	157032H		RXUNIT	157300H	
	NAMRAD	151076H		QMPRQS	157034H		LPTYPE	157302H	
	$RPINF	151104H		FREEQ	157036H		LPTFLG	157304H	
	WRTBAK	151110H		FR10Q	157042H		FLOPPY	157306H	
	RPEOF	151116H		ENETQ	157046H		DEVTYP	157310H	
	DIAFLG	151120H		TO10Q	157052H		$PWRCN	157312H	
	CDADR	151122H		EN0DLY	157056H		$ILDSU	157314H	
	DVDIRF	151124H		COUN10	157076H		$ONETM	157316H	
	DVCNT	151126H		ENBCCF	157104H		.DELAY	157320H	
	DVADR	151130H		EN0IND	157106H		.DAT3	157322H	
	DTSTRT	151132H		EN0BUF	157110H		.DAT2	157324H	
	DTLNGT	151134H		EN0TRY	157114H		.DAT1	157326H	
	DTEXTS	151136H		EN0MEM	157116H		.TENA1	157330H	
	DTEXT	151144H		EN0ER2	157120H		.TENA2	157332H	
	DIRST0	151146H		EN0PKI	157122H		.BC10	157334H	
	DIRST1	151150H		EN0PER	157124H		.BC11	157336H	
	DIRST2	151152H		EN0ER1	157126H		.T10AD	157340H	
	DIRST3	151154H		EN0PKO	157130H		.T11AD	157342H	
	DIRST4	151156H		DTEBCT	157132H		.T10DT	157344H	
	NAMBF	151160H		DTEBSY	157134H		.T11DT	157346H	
	EXTBF	151166H		T11DBF	157136H		.DIAG1	157350H	
	DVBUF	151172H		TMSFLG	157140H		.DIAG2	157352H	
	$CMTAG	152172H		TIMFLG	157142H		.STDTE	157354H	
	KLDCP	WAITS KL10/PDP-11 CONSOLE PROGRAM, VER 0.10	PALX 251	02/16/82  17:00:01	Page 413
	KLDCP PAL[KL,SYS]	Page 5 	***Symbol Table***      


1.5 Words Average Instruction Length

20 Seconds Runtime