Google
 

Trailing-Edge - PDP-10 Archives - bb-x141b-bb - parser.lst
There are 2 other files named parser.lst in the archive. Click here to see a list.
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51
TABLE OF CONTENTS

    35- 1474	DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20
    36- 1618	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
    37- 1669	DATAB  -- DTE-20 OPERATION BUFFERS 7709.20
    38- 1688	DATAB  -- INPUT / OUTPUT BUFFERS 7709.20
    39- 1704	DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
    40- 1744	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
    47- 2065	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
    48- 2121	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
    49- 2160	.CKCOL -- CHECK FOR A EQUAL 7709.21
    50- 2195	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
    51- 2225	.CKEOC -- CHECK END OF COMMAND 7602.16
    52- 2263	.CKEOS -- CHECK END OF SYMBOL 7709.21
    53- 2291	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
    54- 2318	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
    55- 2369	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
    56- 2398	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
    57- 2463	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
    59- 2543	.PARER -- SPECIAL ERROR ROUTINES 7609.24
    64- 2687	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
    65- 2724	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
    68- 2844	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
    69- 2938	FILE INTERFACE DATA
    70- 3036	.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
    71- 3099	.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
    72- 3163	.ENTER -- ROUTINE TO ENTER A FILE
    73- 3213	.OPEN -- ROUTINE TO OPEN A FILE
    74- 3268	.EXTND -- ROUTINE TO EXTEND A FILE
    75- 3317	.CLOSE -- ROUTINE TO CLOSE A FILE
    76- 3381	.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
    77- 3420	.READR -- ROUTINE TO READ A RECORD
    78- 3476	.READW -- READ A WORD FROM A FILE
    79- 3513	.READB -- READ A BYTE FROM A FILE
    80- 3546	.READ -- ROUTINE TO READ A BLOCK
    81- 3594	.WRITR -- ROUTINE TO WRITE A RECORD
    82- 3650	.WRITW -- WRITE A WORD TO A FILE
    83- 3686	.WRITB -- WRITE A BYTE TO A FILE
    84- 3717	.WRITZ -- WRITE OUT CURRENT BLOCK
    85- 3758	.WRITE -- ROUTINE TO WRITE A BLOCK
    88- 3840	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
    89- 3880	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
    90- 3919	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
    92- 3976	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
    96- 4116	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
    98- 4180	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
   103- 4368	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
   105- 4458	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
   107- 4535	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
   109- 4632	.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
   112- 4734	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
   114- 4799	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
   116- 4889	.KLST  -- SUBROUTINE TO START THE KL 7512.08
   117- 4934	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
   118- 4993	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
   120- 5052	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
   121- 5091	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
   123- 5137	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
   125- 5218	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51
TABLE OF CONTENTS

   127- 5272	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
   129- 5343	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
   132- 5473	.RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
   133- 5506	.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
   135- 5599	.RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
   136- 5632	.RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
   137- 5680	.RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
   138- 5713	.RDFMP -- READ FM PARITY ERROR BIT
   139- 5746	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
   140- 5797	.RESET -- KL RESET SUBROUTINES 7511.18
   142- 5870	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
   143- 5913	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
   144- 5959	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
   146- 6009	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
   147- 6039	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
   148- 6070	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
   149- 6100	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
   150- 6134	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
   151- 6166	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
   153- 6237	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
   154- 6268	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
   155- 6314	.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
   156- 6436	.NULLC -- THE NULL COMMAND 7602.10
   158- 6480	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   160- 6554	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   161- 6607	.START -- COMMAND PARSER MAIN LOOP 7602.02
   162- 6633	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
   164- 6702	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
   168- 6819	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
   172- 6912	.REPTC -- THE "REPEAT" COMMAND 7703.25
   174- 7007	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   175- 7089	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   176- 7104	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
   177- 7125	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
   178- 7140	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
   179- 7213	.KLMTB -- THE KLINIK MODE TABLE 7702.16
   180- 7231	.MONTB -- THE MONTH TABLE 7702.16
   181- 7262	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
   182- 7362	.RSTTB -- THE RESTORE COMMAND TABLE 8306.09
   183- 7369	.SAVTB -- THE SAVE COMMAND TABLE 8306.09
   184- 7378	.RESTB -- THE RESET COMMAND TABLE 7602.18
   185- 7399	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
   186- 7426	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
   187- 7435	.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
   188- 7448	.SCOTT -- THE "SET OUTPUT" COMMAND TABLE
   189- 7459	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
   190- 7478	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
   191- 7519	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
   192- 7538	.STRTB -- THE START COMMAND TABLE 7602.26
   193- 7547	.WHATB -- THE WHAT COMMAND TABLE 7703.25
   196- 7626	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
   197- 7667	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
   200- 7763	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
   201- 7815	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
   202- 7855	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
   203- 7891	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
   204- 7925	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51
TABLE OF CONTENTS

   205- 7962	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
   206- 8002	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
   209- 8080	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
   210- 8130	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
   213- 8229	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
   215- 8312	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
   218- 8401	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
   222- 8542	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
   223- 8585	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
   225- 8715	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
   226- 8757	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
   227- 8788	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
   228- 8821	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
   230- 8906	.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
   231- 9009	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
   233- 9069	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
   235- 9137	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
   238- 9258	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
   242- 9361	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
   244- 9425	.TYACE -- TYPE AC ADDR AND CONTENTS
   245- 9498	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
   246- 9542	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
   247- 9588	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
   248- 9630	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
   249- 9677	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
   251- 9750	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
   253- 9831	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
   254- 9878	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
   255- 9907	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
   257- 9962	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
   259-10032	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 1


      1					.IIF NDF	FTLCMN,.NLIST
      2					.TITLE	DEFINE -- LOCAL DEFINITION MODULE 7709.20
      3
      4						.IDENT	"015500"
      5
      6					;
      7					;                             COPYRIGHT (C) 1977, 1984,1985 BY
      8					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      9					;			ALL RIGHTS RESERVED
     10					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
     11					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
     12					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     13					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     14					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     15					;
     16					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     17					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     18					;       CORPORATION.
     19					;
     20					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     21					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     22					;
     23					;		MODULE: LOCAL DEFINITIONS
     24					;
     25					;		VERSION: 15-50
     26					;
     27					;		AUTHOR: R. BELANGER
     28					;
     29					;		DATE: 7905.10
     30					;
     31					;	THIS MODULE CONTAINS:
     32					;
     33					;	1) LOCAL MACRO DEFINITIONS
     34					;	2) LOCAL ASSEMBLY SWITCHES
     35					;	3) LOCAL DEFINITIONS
     36					;	4) LOCAL EQUATED SYMBOLS
     37					;
     38					;	MODIFICATIONS:
     39					;
     40					;	NO.	DATE		PROGRAMMER	REASON
     41					;	---	----		----------	------
     42					;	001	11-DEC-77	A. PECKHAM	DELETE LOCAL DEFINITIONS
     43					;						OF PROTOCOL CHANGE AND
     44					;						CONTROL-C EVENT FLAGS
     45					;	002	16-FEB-77	R. BELANGER	REMOVE KLINIK CONDITIONALS
     46					;
     47					; SET VERSION OF THE PARSER HERE
     48					;
     49		000015 			PAR$$V	=	15		; VERSION 15
     50		000050 			PAR$$E	=	50		; EDIT 50
     51					;
     52					; THIS IS BEING EXPERIMENTED
     53					;
     54		000126 			PAR$$K	=	'V		; KEY FOR RELEASE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20

     56					.SBTTL	DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
     57
     58		000000 			FT1145=0			; ASSEMBLE FOR PDP-11/45 IF .NE. 0
     59		000001 			FT1140=1			; ASSEMBLE FOR PDP-11/40 IF .NE. 0
     60		000000 			FT1135=0			; ASSEMBLE FOR PDP-11/35 IF .NE. 0
     61		000000 			FT1120=0			; ASSEMBLE FOR PDP-11/20 IF .NE. 0
     62		000000 			FT1115=0			; ASSEMBLE FOR PDP-11/15 IF .NE. 0
     63		000000 			FT1110=0			; ASSEMBLE FOR PDP-11/10 IF .NE. 0
     64		000000 			FT1105=0			; ASSEMBLE FOR PDP-11/05 IF .NE. 0
     65		000000 			FTBYTE=0			; ASSEMBLE BYTE SUPPORT IF .NE 0
     66		000000 			FTCRAM=0			; ASSEMBLE CRAM FEATURES IF .NE. 0
     67		000001 			FTDEBUG=1			; ASSEMBLE DEBUG FEATURES IF .NE. 0
     68		000000 			FTDISP=0			; ASSEMBLE DISPATCH TABLE IF .NE 0
     69		000000 			FTDRAM=0			; ASSEMBLE DRAM FEATURES IF .NE. 0
     70		000000 			FTHELP=0			; ASSEMBLE HELP FEATURE IF .NE. 0
     71		000000 			FTKLER=0			; ASSEMBLE "KLERR" SUPPORT IF .NE. 0
     72		000000 			FTLCVT=0			; ASSEMBLE LOWER CASE SUPPORT IF .NE. 0
     73		000001 			FTLIST=1			; ASSEMBLE LPT SUPPORT IF .NE. 0
     74		000001 			FTTRAK=1			; ASSEMBLE TRACK FEATURE IF .NE. 0
     75		000001 			FTTRP4=1			; ASSEMBLE TRAP AT 4 CODE IF .NE. 0
     76		000130 			FTUCVR=130			; MICROCODE FEATURE SWITCH
     77		000001 			FTKLE=1				; KLERR SNAPSHOT SUPPORT FLAG
     78					;DEB880=0			; DEFINED IF DEBUGGING ON RSX-11M SYS880
     79
     80					.IF NE FT1145
     81						FT1140=1
     82					.ENDC		; FT1145
     83
     84					.IF NE FT1140
     85		000001 				FT1135=1
     86					.ENDC		; FT1140
     87
     88					.IF NE FT1135
     89		000001 				FT1120=1
     90					.ENDC		; FT1135
     91
     92					.IF NE FT1120
     93		000001 				FT1115=1
     94					.ENDC		; FT1135
     95
     96					.IF NE FT1115
     97		000001 				FT1110=1
     98					.ENDC		; FT1115
     99
    100					.IF NE FT1110
    101		000001 				FT1105=1
    102					.ENDC		; FT1110
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 3
DEFINE -- COMMAND PARSER MACRO CALLS 7709.20

    104					.SBTTL	DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
    105
    106						.LIST	MEB, SYM
    107						.NLIST	CND
    108						.ENABL	AMA
    109
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 4
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    114					.SBTTL	DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
    115
    116					; SUBROUTINE CALL MACROS
    117
    118					.MACRO	CALL	REG,DEST
    119					.NTYPE	$$,REG
    120					.IF EQ	$$&70
    121						 JSR	REG,DEST
    122					.IFF
    123						 JSR	PC,REG
    124					.ENDC		; IF EQ
    125					.ENDM	CALL
    126
    127					.MACRO	CALLR	DEST
    128						 JMP	DEST
    129					.ENDM	CALLR
    130
    131					; STACK OPERATION MACROS
    132
    133					.MACRO	POP	ARG
    134					.IRP	A,<ARG>
    135						 MOV	(SP)+,A
    136					.ENDR
    137					.ENDM	POP
    138
    139					.MACRO	PUSH	ARG
    140					.IRP	A,<ARG>
    141						 MOV	A,-(SP)
    142					.ENDR
    143					.ENDM	PUSH
    144
    145					; SUBROUTINE RETURN MACRO
    146
    147					.MACRO	RETURN	REG
    148					.IF NB	<REG>
    149						 RTS	REG
    150					.IFF
    151						 RTS	PC
    152					.ENDC		; IF NB
    153					.ENDM	RETURN
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 5
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    155					; DEFINE THE ERROR TRAP MACRO FOR ".PTTRP"
    156
    157					.MACRO	ERROR$	CODE
    158						 PUSH	#^R'CODE
    159						 TRAP	TC.ERR
    160					.ENDM	ERROR$
    161
    162					; DEFINE THE FATAL TRAP MACRO FOR ".PTTRP"
    163
    164					.MACRO	FATAL$	CODE
    165					FA$'CODE=.
    166						 PUSH	#^R'CODE
    167						 TRAP	TC.RST
    168					.ENDM	FATAL$
    169
    170					; DEFINE THE CONTINUE TRAP MACRO FOR ".PTTRP"
    171
    172					.MACRO	ERCON$	CODE
    173					EC$'CODE=.
    174						 PUSH	#^R'CODE
    175						 TRAP	TC.CON
    176						 TST	(SP)+
    177					.ENDM	ERCON$
    178
    179					; DEFINE THE COMMAND TABLE MACRO
    180
    181					.MACRO	COMND$	COMMAND,LGLBTS,DISPAT,NAM
    182					.PSECT	MESSAG
    183					.IF	NDF,NAM'MSG
    184					$$$'NAM=0
    185					NAM'MSG:: .ASCIZ	%COMMAND%
    186					.ENDC
    187					.IF	DF,$$PASS2
    188					$$$'NAM=$$$'NAM+1
    189					.IF	EQ,$$$'NAM-1
    190					NAM'MSG:: .ASCIZ	%COMMAND%
    191					.ENDC
    192					.ENDC
    193					.PSECT	DATA
    194						 .WORD	NAM'MSG		; POINTER TO "COMMAND" SYMBOL
    195						 .WORD	LGLBTS		; LEGAL BITS
    196						 .WORD	DISPAT		; ROUTINE TO CALL OR DATA
    197					.ENDM	COMND$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 6
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

    199					; DEFINE THE NORMAL ERROR CODE MACRO
    200
    201					.MACRO	NSERR$	COD,STRING
    202					.PSECT	ERRMSG
    203					COD'ERM:	 .ASCIZ	%COD - STRING%
    204					.PSECT	DATA
    205						 .RAD50	/COD/		; "COD" IN .RAD50
    206						 .WORD	COD'ERM		; POINTER TO MESSAGE
    207					.ENDM	NSERR$
    208
    209					; DEFINE THE SPECIAL ERROR CODE MACRO
    210
    211					.MACRO	SPERR$	COD,STRING
    212					.PSECT	ERRMSG
    213					COD'ERM:
    214						 .ASCIZ	%COD - STRING%
    215					.PSECT	DATA
    216						 .RAD50	/COD/		; "COD" IN .RAD50
    217						 .WORD	.SE'COD		; DISPATCH TO HANDLER
    218						 .WORD	COD'ERM		; POINTER TO MESSAGE
    219					.ENDM	SPERR$
    220
    221					; DEFINE AN "EXCHANGE" MACRO
    222
    223					.MACRO	EXCH$	ARG1,ARG2
    224						 MOV	ARG1,-(SP)
    225						 MOV	ARG2,ARG1
    226						 MOV	(SP)+,ARG2
    227					.ENDM	EXCH$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 7
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20

    229					.SBTTL	DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
    230
    231					; DEFINE KL I/O OPCODES
    232
    233		000000 			BLKI=0			; BLOCK IN
    234		000001 			DATAI=1			; DATA IN
    235		000002 			BLKO=2			; BLOCK OUT
    236		000003 			DATAO=3			; DATA OUT
    237		000004 			CONO=4			; CONDITIONS OUT
    238		000005 			CONI=5			; CONDITIONS IN
    239		000006 			CONSZ=6			;      "     "  SKIP IF ZERO
    240		000007 			CONSO=7			;      "     "   "   "  ONES
    241
    242					; DEFINE KL INTERNAL I/O DEVICES
    243
    244		000000 			APR=0			; ARITHMETIC PROCESSOR (ALU)
    245		000004 			PI=4			; PRIORITY INTERRUPT SYSTEM
    246		000010 			PAG=10			; PAGING SYSTEM
    247		000014 			CCA=14			; CACHE CONTROL
    248		000574 			KLP=574			; [**]
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 8
DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20

    250					; DEFINE KL INSTRUCTION MACRO
    251
    252					.MACRO	IKL$	OP,DAC,DI,DAD,DXR
    253						ADH=0
    254						ADL=0
    255						.IF NB,DAD
    256							.IRPC AD1,DAD
    257								.IIF GE,<ADL-10000>,ADH=ADL/10000
    258							ADL=10*<ADL&7777>+AD1
    259							.ENDR
    260						.ENDC		; .IF NB
    261						.IIF B,DAC,AC=0
    262						.IIF NB,DAC,AC=DAC
    263						.IIF B,DI,I=0
    264						.IIF NB,DI,I=DI
    265						.IIF B,DXR,XR=0
    266						.IIF NB,DXR,XR=DXR
    267						$$A=<ADL&377>
    268						$$B=<<ADL/400>!<ADH*200&377>>
    269						$$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
    270						$$D=<OP&37*10+<AC/2>>
    271						$$E=<OP/40>
    272						$$F=0
    273						 .BYTE	$$A,$$B
    274						 .BYTE	$$C,$$D
    275						 .BYTE	$$E,$$F
    276					.ENDM	IKL$
    277
    278					; DEFINE KL I/O INSTRUCTION MACRO
    279
    280					.MACRO	IOKL$	OP,DDV,DI,DAD,DXR
    281						.IIF B,DI,I=0
    282						.IIF NB,DI,I=DI
    283						.IIF B,DXR,XR=0
    284						.IIF NB,DXR,XR=DXR
    285						ADH = 0
    286						ADL = 0
    287						.IRPC AD1,DAD
    288							.IIF GE,<ADL-10000>, ADH=ADL/10000
    289							ADL=10*<ADL&7777>+AD1
    290						.ENDR
    291						$$A=<ADL&377>
    292						$$B=<<ADL/400>!<ADH*200&377>>
    293						$$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
    294						$$D=<DDV&374+<OP/2>>
    295						$$E=<DDV/400+16>
    296						$$F=0
    297						 .BYTE	$$A,$$B
    298						 .BYTE	$$C,$$D
    299						 .BYTE	$$E,$$F
    300					.ENDM	IOKL$
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 9
DEFINE -- LOCAL DEFINITIONS 7709.20

    302					.SBTTL	DEFINE -- LOCAL DEFINITIONS 7709.20
    303
    304					; LOCAL DEFINITIONS
    305
    306		000001 			BIT00=000001			; DEFINE LOW BITS FOR SYMMETRY
    307		000002 			BIT01=000002
    308		000004 			BIT02=000004
    309		000010 			BIT03=000010
    310		000020 			BIT04=000020
    311		000040 			BIT05=000040
    312		000100 			BIT06=000100
    313		000200 			BIT07=000200
    314		000400 			BIT08=000400
    315		001000 			BIT09=001000
    316		002000 			BIT10=002000
    317		004000 			BIT11=004000
    318		010000 			BIT12=010000
    319		020000 			BIT13=020000
    320		040000 			BIT14=040000
    321		100000 			BIT15=100000
    322
    323					; DEFINE EXAMINE DEPOSIT MODE BYTES
    324
    325		000000 			ED.EPT=0*40			; EXEC PROCESS TABLE (RELATIVE)
    326		000040 			ED.EXV=1*40			; EXEC VIRTUAL SPACE
    327		000100 			ED.UPT=2*40			; USER PROCESS TABLE (RELATIVE)
    328		000140 			ED.USV=3*40			; USER VIRTUAL SPACE
    329		000200 			ED.PHY=4*40			; PHYSICAL ADDRESSES
    330
    331					; DEFINE BITS IN ".PEWRD"
    332
    333		000001 			PE.CES=1			; CLOCK ERROR STOP
    334		000002 			PE.DRM=2			; DRAM PARITY ERROR
    335		000004 			PE.CRM=4			; CRAM PARITY ERROR
    336		000010 			PE.FMP=10			; FAST MEMORY PARITY ERROR
    337		000020 			PE.FSS=20			; FIELD SERVICE STOP
    338		000037 			PE.ALL=PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
    339
    340					; DEFINE BITS IN ".APRWD"
    341
    342		000001 			AP.PWF=1			; APR POWER FAIL
    343		000002 			AP.SAP=2			; APR SBUS ADDRESS PARITY ERROR
    344		000004 			AP.CDP=4			; APR CACHE DIRECTORY PARITY ERROR
    345		000010 			AP.MPE=10			; APR MB (MEMORY) PARITY ERROR
    346		000020 			AP.IPF=20			; APR I/O PAGE FAIL ERROR
    347		000040 			AP.NXM=40			; APR NON-EX-MEM ERROR
    348		000100 			AP.SBE=100			; APR SBUS ERROR
    349		000177 			AP.ALL=AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 10
DEFINE -- LOCAL DEFINITIONS 7709.20

    351					; DEFINE OFFSETS INTO DTE-20 DIAG REGISTERS
    352
    353		000000 			.DIAG1=0			; DTE-20 DIAG1 WORD
    354		000002 			.DIAG2=2			; DTE-20 DIAG2 WORD
    355		000004 			.DTSTW=4			; DTE-20 STATUS WORD
    356		000006 			.DIAG3=6			; DTE-20 DIAG3 WORD
    357
    358					; DEFINE DTE-20 DIAG1 BITS
    359
    360		100000 			D1.DS0=BIT15			; DIAGNOSTIC SELECT CODE 00 [WRITE]
    361		040000 			D1.DS1=BIT14			;     "        "     "   01    "
    362		020000 			D1.DS2=BIT13			;     "	       "     "   02    "
    363		010000 			D1.DS3=BIT12			;     "	       "     "   03    "
    364		004000 			D1.DS4=BIT11			;     "	       "     "   04    "
    365		002000 			D1.DS5=BIT10			;     "        "     "   05    "
    366		001000 			D1.DS6=BIT09			;     "        "     "   06    "
    367		004000 			D1.CES=BIT11			; KL CLOCK ERROR STOP [READ]
    368		002000 			D1.RUN=BIT10			; KL RUN FLAG [READ]
    369		001000 			D1.HLP=BIT09			; KL IS IN HALT LOOP [READ]
    370		000400 			D1.DEX=BIT08			; DTE-20 IS IN DEPOSIT / EXAMINE STATE [READ]
    371		000200 			D1.T10=BIT07			; DTE-20 IS IN TO KL STATE [READ]
    372		000200 			D1.LBK=BIT07			; PUT DTE-20 IN LOOPBACK MODE [WRITE]
    373		000100 			D1.T11=BIT06			; DTE-20 IS IN TO 11 STATE [READ]
    374		000040 			D1.DDT=BIT05			; SET DTE-20 DIAGNOSTIC MODE [WRITE]
    375									; DTE-20 IS IN DIAGNOSTIC MODE [READ]
    376		000020 			D1.V04=BIT04			; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
    377		000020 			D1.PLS=BIT04			; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
    378		000010 			D1.DFM=BIT03			; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
    379		000004 			D1.XFR=BIT02			; SEND DATA TO KL IF = 1 [READ]
    380									; RECEIVE DATA FROM KL IF = 0 [READ]
    381
    382					; BIT 01 IS UNUSED [MBZ]
    383
    384		000001 			D1.DCS=BIT00			; DIAG COMMAND IN PROGRESS [READ]
    385									; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
    386									; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
    387		000442 			D1.MBZ=D1.DEX!D1.DDT!BIT01	; MUST BE ZERO ON WRITE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 11
DEFINE -- LOCAL DEFINITIONS 7709.20

    389					; DEFINE DTE-20 DIAG2 BITS
    390
    391		100000 			D2.RA0=BIT15			; RFM ADDRESS BIT 0 [READ]
    392		040000 			D2.RA1=BIT14			; RFM ADDRESS BIT 1 [READ]
    393		040000 			D2.EBD=BIT14			; SET EBUS DONE IF = 1 [WRITE]
    394									; CLEAR EBUS DONE IF = 0 [WRITE]
    395		020000 			D2.RA2=BIT13			; RFM ADDRESS BIT 2 [READ]
    396
    397					; BITS 11 THRU 7 ARE UNUSED [MBZ]
    398
    399		000100 			D2.RST=BIT06			; RESET THE DTE-20 IF = 1 [WRITE]
    400
    401					; BIT 5 IS UNUSED [MBZ]
    402
    403		000020 			D2.MS8=BIT04			; MINOR STATE COUNTER BIT 8 [WRITE]
    404		000010 			D2.MS4=BIT03			;   "	  "	 "     "  4    "
    405		000004 			D2.MS2=BIT02			;   "	  "	 "     "  2    "
    406		000002 			D2.MS1=BIT01			;   "     "	 "     "  1    "
    407
    408					; BIT 0 IS UNUSED [MBZ]
    409
    410		177641 			D2.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
    411
    412					; DEFINE DTE-20 DIAG3 BITS
    413
    414		100000 			D3.SSL=BIT15			; SWAP SELECT LEFT [READ]
    415		040000 			D3.PAR=BIT14			; PARITY FLOP [READ]
    416
    417					; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
    418
    419					; BITS 07 AND 06 ARE UNUSED [MBZ]
    420
    421		000040 			D3.SCD=BIT05			; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
    422		000020 			D3.UPE=BIT04			; DATO UNIBUS PARITY ERROR (DUPE) [READ]
    423		000020 			D3.CDD=BIT04			; CLEAR DUPE AND DURE FLAGS
    424		000010 			D3.WEP=BIT03			; WRITE EVEN UNIBUS PARITY FLOP [READ]
    425									; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
    426									; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
    427		000004 			D3.URE=BIT02			; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
    428		000002 			D3.NPE=BIT01			; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
    429									; CLEAR NUPE [WRITE]
    430		000001 			D3.TXB=BIT00			; SET TO KL BYTE TRANSFER MODE [WRITE]
    431
    432		177704 			D3.MBZ=BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
    433
    434		000001 			D3.RST=D3.TXB			; DIAG WORD 3 RESET BIT
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 12
DEFINE -- LOCAL DEFINITIONS 7709.20

    436					; DEFINE DTE-20 STATUS BITS
    437
    438		100000 			ST.TXD=BIT15			; TO KL TRANSFER DONE FLAG [READ]
    439									; SET TO KL TRANSFER DONE [WRITE]
    440		040000 			ST.CTD=BIT14			; CLEAR TO KL TRANSFER DONE FLAG [WRITE]
    441		020000 			ST.TXE=BIT13			; TO KL ERROR DONE FLAG [READ]
    442									; SET TO KL ERROR DONE FLAG [WRITE]
    443		010000 			ST.RIZ=BIT12			; DTE-20 RAM LOCATION IS ZEROES [READ]
    444		010000 			ST.CTE=BIT12			; CLEAR TO KL ERROR DONE FLAG [WRITE]
    445		004000 			ST.EDB=BIT11			; 11 DOORBELL FLAG [READ]
    446									; SET THE 11 DOORBELL FLAG [WRITE]
    447		002000 			ST.DW1=BIT10			; YES, THIS BIT IS HERE
    448		001000 			ST.MPE=BIT09			; 11 MEMORY PARITY ERROR DURING TO KL XFER [READ]
    449									; CLEAR ST.MPE [WRITE]
    450		000400 			ST.XDB=BIT08			; KL DOORBELL FLAG [READ]
    451									; RING THE KL DOORBELL [WRITE]
    452		000200 			ST.TED=BIT07			; TO 11 TRANSFER DONE FLAG [READ]
    453									; SET ST.TED [WRITE]
    454		000100 			ST.EBS=BIT06			; E BUFFER SELECT [READ]
    455		000100 			ST.CED=BIT06			; CLEAR ST.TED [WRITE]
    456		000040 			ST.NST=BIT05			; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
    457		000040 			ST.IEN=BIT05			; ENABLE DTE-20 TO GENERATE BR REQUESTS IF = 1
    458		000020 			ST.EPE=BIT04			; EBUS PARITY ERROR FLAG [READ]
    459									; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
    460		000010 			ST.MOD=BIT03			; DTE-20 IS PRIVILEGED IF = 0 [READ]
    461									;    "	 "  RESTRICTED "  " 1   "
    462		000010 			ST.IDS=BIT03			; DISABLE DTE-20 BR REQUESTS [WRITE]
    463		000004 			ST.DXD=BIT02			; DEPOSIT / EXAMINE DONE FLAG [READ]
    464		000004 			ST.SEP=BIT02			; SET EBUS PARITY ERROR IF = 1 [WRITE]
    465		000002 			ST.TER=BIT01			; TO 11 BYTE XFER ERROR FLAG [READ]
    466		000002 			ST.STE=BIT01			; SET ST.TER IF = 1 [WRITE]
    467		000001 			ST.ION=BIT00			; 11 CAN GENERATE BR REQUESTS [READ]
    468		000001 			ST.CLE=BIT00			; CLEAR ST.TER IF = 1 [WRITE]
    469
    470		011121 			ST.RST=ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
    471
    472		000000 			ST.MBZ=0			; BIT MASK FOR WRITE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 13
DEFINE -- LOCAL DEFINITIONS 7709.20

    474					; DEFINE FLAG BITS IN ".KLFLG"
    475
    476		100000 			KF.CLK=BIT15			; KL CLOCK IS RUNNING IF .NE. 0
    477		040000 			KF.RUN=BIT14			; KL RUN FLOP IS ON IF .NE. 0
    478		020000 			KF.MRS=BIT13			; KL MASTER RESET FLOP IS ON IF .NE. 0
    479		010000 			KF.SIM=BIT12			; KL IS IN SINGLE INSTRUCTION MODE IF .NE. 0
    480		004000 			KF.SMC=BIT11			; KL IS IN SINGLE PULSE MBOX MODE IF .NE. 0
    481		002000 			KF.SPM=BIT10			;  "   "  "    "      "   EBOX	"   "   "   "
    482		001000 			KF.BRM=BIT09			; KL IS IN BURST MODE IF .NE. 0
    483		000400 			KF.KLO=BIT08			; KL IS IN KL INSTRUCTION MODE IF .NE. 0
    484		000200 			KF.CON=BIT07			; KL IS CONTINUABLE IF .NE. 0
    485		000100 			KF.CES=BIT06			; KL IS IN CLOCK ERROR STOP STATE IF .NE. 0
    486		000200 			KF.DEF=KF.CON			; DEFAULT FLAGS (SEE ".INKLF")
    487
    488					; DEFINE BITS IN ".TRKWD"
    489
    491		000001 			TR.FXC=BIT00			; TRACK FUNCTION EXECUTES IF .NE. 0
    492		000002 			TR.FRD=BIT01			; TRACK FUNCTION READS IF .NE. 0
    493		000004 			TR.FWR=BIT02			; TRACK FUNCTION EXECUTES IF .NE. 0
    494		000010 			TR.EXM=BIT03			; TRACK MEMORY EXAMINES IF .NE. 0
    495		000020 			TR.DEP=BIT04			; TRACK MEMORY DEPOSITS IF .NE. 0
    496		000040 			TR.DTE=BIT05			; TRACK DTE-20 OPERATIONS IF .NE. 0
    497		000077 			TR.ALL=TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
    499
    500					; DEFINE KL PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
    501
    502		010000 			PC.OVF=BIT12			; KL OVERFLOW FLAG (BIT 00)
    503		004000 			PC.CY0=BIT11			; KL CARRY 0 FLAG (BIT 01)
    504		002000 			PC.CY1=BIT10			; KL CARRY 1 FLAG (BIT 02)
    505		001000 			PC.FOV=BIT09			; KL FLOATING OVERFLOW FLAG (BIT 03)
    506		000400 			PC.BIS=BIT08			; KL BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
    507		000200 			PC.USR=BIT07			; KL USER MODE FLAG (BIT 05)
    508		000100 			PC.UIO=BIT06			; KL USER IOT MODE FLAG (BIT 06)
    509		000040 			PC.LIP=BIT05			; KL LAST INSTRUCTION PUBLIC FLAG (BIT 07)
    510		000020 			PC.AFI=BIT04			; KL ADDRESS FAILURE INHIBIT FLAG (BIT 08)
    511		000010 			PC.AT1=BIT03			; KL APR TRAP 1 FLAG (BIT 09)
    512		000004 			PC.AT0=BIT02			; KL APR TRAP 0 FLAG (BIT 10)
    513		000002 			PC.FUF=BIT01			; KL FLOATING UNDERFLOW FLAG (BIT 11)
    514		000001 			PC.NDV=BIT00			; KL NO DIVIDE FLAG (BIT 12)
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 14
DEFINE -- LOCAL DEFINITIONS 7709.20

    516					; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
    517
    518		000000 			FX.000=0
    519		000000 				FX.CSP=FX.000		; STOP THE KL CLOCK
    520		000002 			FX.001=1*2
    521		000002 				FX.CST=FX.001		; START THE KL CLOCK
    522		000004 			FX.002=2*2
    523		000004 				FX.MBC=FX.002		; PULSE THE MBOX CLOCK
    524		000006 			FX.003=3*2
    525		000006 				FX.EBC=FX.003		; PULSE THE EBOX CLOCK
    526		000010 			FX.004=4*2
    527		000010 				FX.SYC=FX.004		; SYNCH THE EBOX CLOCK LOW
    528		000012 			FX.005=5*2
    529		000012 				FX.BMC=FX.005		; BURST THE MBOX CLOCK
    530		000014 			FX.006=6*2
    531		000014 				FX.CMR=FX.006		; CLEAR MASTER RESET STATE
    532		000016 			FX.007=7*2
    533		000016 				FX.SMR=FX.007		; SET MASTER RESET STATE
    534
    535		000020 			FX.010=10*2
    536		000020 				FX.CRF=FX.010		; CLEAR THE KL RUN FLOP
    537		000022 			FX.011=11*2
    538		000022 				FX.SRF=FX.011		; SET THE KL RUN FLOP
    539		000024 			FX.012=12*2
    540		000024 				FX.CON=FX.012		; SET THE KL CONTINUE FLOP
    541		000026 			FX.013=13*2
    542		000030 			FX.014=14*2
    543		000030 				FX.UIR=FX.014		; UNLATCH THE IR
    544		000032 			FX.015=15*2
    545		000032 				FX.UDR=FX.015		; UNLATCH THE DRAM REGISTER
    546		000034 			FX.016=16*2
    547		000036 			FX.017=17*2
    548
    549		000040 			FX.020=20*2
    550		000042 			FX.021=21*2
    551		000044 			FX.022=22*2
    552		000046 			FX.023=23*2
    553		000050 			FX.024=24*2
    554		000052 			FX.025=25*2
    555		000054 			FX.026=26*2
    556		000056 			FX.027=27*2
    557
    558		000060 			FX.030=30*2
    559		000062 			FX.031=31*2
    560		000064 			FX.032=32*2
    561		000066 			FX.033=33*2
    562		000070 			FX.034=34*2
    563		000072 			FX.035=35*2
    564		000074 			FX.036=36*2
    565		000076 			FX.037=37*2
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 15
DEFINE -- LOCAL DEFINITIONS 7709.20

    567					; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
    568
    569		000100 			FW.040=40*2
    570		000102 			FW.041=41*2
    571		000104 			FW.042=42*2
    572		000104 				FW.LBR=FW.042		; LOAD BURST COUNTER RIGHT 4 BITS
    573		000106 			FW.043=43*2
    574		000106 				FW.LBL=FW.043		; LOAD BURST COUNTER LEFT 4 BITS
    575		000110 			FW.044=44*2
    576		000110 				FW.CSR=FW.044		; LOAD THE KL CLOCK SOURCE AND RATE
    577
    578					; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
    579					; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
    580
    581		000000 				CS.NRM=0&14		; KL NORMAL CLOCK SOURCE (EBUS 32-33)
    582		000004 				CS.CS1=4&14		; KL CLOCK SOURCE 1
    583		000010 				CS.CS2=10&14		; KL CLOCK SOURCE 2
    584		000004 				CS.FST=4&14		; KL FAST CLOCK SOURCE
    585		000004 				CS.MGN=CS.FST		; KL MARGIN CLOCK SOURCE
    586		000010 				CS.EXT=10&14		; KL EXTERNAL CLOCK SOURCE
    587		000014 				CS.UDF=14&14		; UNDEFINED (DEFAULT TO FAST)
    588		000014 				CS.ALL=CS.CS1!CS.CS2	; CLOCK SOURCE BIT MASK
    589
    590		000000 				CR.NRM=0&3		; KL NORMAL CLOCK SOURCE (EBUS 34-35)
    591		000001 				CR.CR1=1&3		; KL CLOCK RATE 1
    592		000002 				CR.CR2=2&3		; KL CLOCK RATE 2
    593		000000 				CR.FUL=0&3		; KL CLOCK FULL SPEED
    594		000001 				CR.HLF=1&3		;  "	 "   HALF   "
    595		000002 				CR.QTR=2&3		;  "	 "   QRTR   "
    596		000003 				CR.SLO=3&3		;  "	 "   SLOW   "
    597		000003 				CR.ALL=CR.CR1!CR.CR2	; CLOCK RATE BIT MASK
    598
    599		000112 			FW.045=45*2
    600		000112 				FW.CDR=FW.045		; LOAD THE KL CLOCK DISTRIBUTION REGISTER
    601
    602					; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO THE KL, ALSO IN
    603					; THE HIGH BYTE OF THE CLOCK CONTROL WORD (".CLKWD").
    604
    605		002000 				CD.CRC=<4&7>*400	; DISABLE CONTROL RAM CLOCKS
    606		001000 				CD.DPC=<2&7>*400	; DISABLE DATA PATHS CLOCKS
    607		000400 				CD.CLC=<1&7>*400	; DISABLE CONTROL LOGIC CLOCKS
    608		000000 				CD.NRM=<0&7>*400	; NORMAL CLOCK ENABLES
    609		003400 				CD.ALL=<7&7>*400	; CLOCK DISABLE BIT MASK
    610
    611		000000 			CC.NRM=0			; NORMAL CLOCK CONTROL WORD
    612		003417 			CC.ALL=CS.ALL!CR.ALL!CD.ALL	; CLOCK CONTROL BIT MASK
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 16
DEFINE -- LOCAL DEFINITIONS 7709.20

    614		000114 			FW.046=46*2
    615		000114 				FW.IPE=FW.046		; LOAD INTERNAL PARITY ENABLES
    616
    617					; INTERNAL KL PARITY ENABLE CODES, EBUS 32 - 35 TO THE KL,
    618					; ALSO IN LOW BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
    619
    620		000010 				IP.FMP=10&17		; FAST MEMORY PARITY STOP ENABLE
    621		000004 				IP.CRP=4&17		; CRAM PARITY STOP ENABLE
    622		000002 				IP.DRP=2&17		; DRAM PARITY STOP ENABLE
    623		000001 				IP.FSS=1&17		; FIELD SERVICE STOP ENABLE
    624		000016 				IP.NRM=IP.FMP!IP.CRP!IP.DRP
    625		000017 				IP.ALL=IP.NRM!IP.FSS
    626
    627		000116 			FW.047=47*2
    628		000116 				FW.APE=FW.047		; LOAD AR/ARX PARITY ENABLES (ET AL.)
    629
    630					; INTERNAL KL PARITY STOP CODES, EBUS 32 - 35 TO KL, "AP.EIP" MUST
    631					; BE SET TO ALLOW "IP.XXX" CONDITIONS TO STOP THE KL CLOCK
    632					; MAINTAINED IN HIGH BYTE OF THE PARITY STOP CONTROL WORD (".PSCWD").
    633
    634		001000 				AP.ARP=<2&17>*400	; ALLOW AR/ARX PARITY TO CAUSE A
    635									; PAGE FAIL TRAP IN THE KL
    636		000400 				AP.EIP=<1&17>*400	; ENABLE INTERNAL PARITY ENABLES TO
    637									; STOP THE KL CLOCK
    638		001400 				AP.NRM=AP.EIP!AP.ARP	; NORMAL PARITY STOP ENABLES
    639
    640		001416 			PS.NRM=AP.NRM!IP.NRM		; NORMAL PARITY STOP CONTROL WORD
    641
    642		000120 			FW.050=50*2
    643		000122 			FW.051=51*2
    644		000122 				FW.CA1=FW.051		; LOAD LOW CRAM ADDRESS
    645		000124 			FW.052=52*2
    646		000124 				FW.CA2=FW.052		; LOAD HIGH CRAM ADDRESS
    647		000126 			FW.053=53*2
    648		000126 				FW.CRD=FW.053		; LOAD CRAM DISPATCH
    649		000130 			FW.054=54*2
    650		000130 				FW.CR4=FW.054		; LOAD CRAM BITS 60 THRU 78
    651		000132 			FW.055=55*2
    652		000132 				FW.CR3=FW.055		; LOAD CRAM BITS 40 THRU 59
    653		000134 			FW.056=56*2
    654		000134 				FW.CR2=FW.056		; LOAD CRAM BITS 20 THRU 39
    655		000136 			FW.057=57*2
    656		000136 				FW.CR1=FW.057		; LOAD CRAM BITS 00 THRU 19
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 17
DEFINE -- LOCAL DEFINITIONS 7709.20

    658		000140 			FW.060=60*2
    659		000140 				FW.DR1=FW.060		; LOAD DRAM A AND B EVEN
    660		000142 			FW.061=61*2
    661		000142 				FW.DR2=FW.061		; LOAD DRAM A AND B ODD
    662		000144 			FW.062=62*2
    663		000144 				FW.DR3=FW.062		; LOAD DRAM J COMMON
    664		000146 			FW.063=63*2
    665		000146 				FW.DJE=FW.063		; LOAD DRAM J EVEN
    666		000150 			FW.064=64*2
    667		000150 				FW.DJO=FW.064		; LOAD DRAM J ODD
    668		000152 			FW.065=65*2
    669		000152 				FW.IOJ=FW.065		; DISABLE SPECIAL DECODE OF I/O AND JRST
    670		000154 			FW.066=66*2
    671		000154 				FW.IAC=FW.066		; DISABLE IR AC OUTPUTS
    672		000156 			FW.067=67*2
    673		000156 				FW.KLO=FW.067		; ENABLE KL OPCODES AND ACS
    674
    675		000160 			FW.070=70*2
    676		000160 				FW.CHN=FW.070		; CHANNEL CONTROL FUNCTIONS
    677		000162 			FW.071=71*2
    678		000162 				FW.MBX=FW.071		; MBOX CONTROL FUNCTIONS
    679		000164 			FW.072=72*2
    680		000166 			FW.073=73*2
    681		000170 			FW.074=74*2
    682		000172 			FW.075=75*2
    683		000174 			FW.076=76*2
    684		000174 				FW.EBL=FW.076		; EBUS REGISTER LOAD FUNCTION
    685		000174 				FW.SBR=FW.076		; SBUS RESET FUNCTION
    686		000176 			FW.077=77*2
    687		000176 				FW.LAR=FW.077		; LOAD AR REGISTER
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 18
DEFINE -- LOCAL DEFINITIONS 7709.20

    689					; DEFINE DIAGNOSTIC FUNCTION READ CODES
    690
    691		000200 			FR.100=100*2
    692		000200 				FR.PI0=FR.100		; PI BOARD READ 0
    693		000202 			FR.101=101*2
    694		000202 				FR.PI1=FR.101		; PI BOARD READ 1
    695		000204 			FR.102=102*2
    696		000206 			FR.103=103*2
    697		000210 			FR.104=104*2
    698		000212 			FR.105=105*2
    699		000214 			FR.106=106*2
    700		000216 			FR.107=107*2
    701
    702		000220 			FR.110=110*2
    703		000220 				FR.APR=FR.110		; APR STATUS
    704		000222 			FR.111=111*2
    705		000224 			FR.112=112*2
    706		000226 			FR.113=113*2
    707		000230 			FR.114=114*2
    708		000232 			FR.115=115*2
    709		000234 			FR.116=116*2
    710		000236 			FR.117=117*2
    711
    712		000240 			FR.120=120*2
    713		000240 				FR.RAR=FR.120		; ARITHMETIC REGISTER [AR 00 - 35]
    714		000242 			FR.121=121*2
    715		000242 				FR.RBR=FR.121		; BUFFER REGISTER [BR 00 - 35]
    716		000244 			FR.122=122*2
    717		000244 				FR.RMQ=FR.122		; MQ REGISTER [MQ 00 - 35]
    718		000246 			FR.123=123*2
    719		000246 				FR.RFM=FR.123		; FM REGISTER [FM 00 - 35]
    720		000250 			FR.124=124*2
    721		000250 				FR.BRX=FR.124		; BR EXTENSION REGISTER [BRX 00 - 35]
    722		000252 			FR.125=125*2
    723		000252 				FR.ARX=FR.125		; AR EXTENSION REGISTER [ARX 00 - 35]
    724		000254 			FR.126=126*2
    725		000254 				FR.ADX=FR.126		; AD EXTENSION REGISTER [ADX 00 - 35]
    726		000256 			FR.127=127*2
    727		000256 				FR.RAD=FR.127		; ADDER REGISTER [AD 00 - 35]
    728
    729		000260 			FR.130=130*2
    730		000260 				FR.SC2=FR.130		; SHIFT COUNT REGISTER 2
    731		000260 				FR.DA1=FR.130		; DRAM ADDR 1
    732		000262 			FR.131=131*2
    733		000262 				FR.SC1=FR.131		; SHIFT COUNT REGISTER 1
    734		000262 				FR.DA2=FR.131		; DRAM ADDR 2
    735		000264 			FR.132=132*2
    736		000264 				FR.FE2=FR.132		; FLOATING EXPONENT REGISTER 2
    737		000266 			FR.133=133*2
    738		000266 				FR.FE1=FR.133		; FLOATING EXPONENT REGISTER 1
    739		000270 			FR.134=134*2
    740		000272 			FR.135=135*2
    741		000274 			FR.136=136*2
    742		000276 			FR.137=137*2
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 19
DEFINE -- LOCAL DEFINITIONS 7709.20

    744		000300 			FR.140=140*2
    745		000302 			FR.141=141*2
    746		000302 				FR.CRD=FR.141		; READ CRAM DISP FIELD
    747		000304 			FR.142=142*2
    748		000304 				FR.SR2=FR.142		; CRAM SBR RET 2
    749		000306 			FR.143=143*2
    750		000306 				FR.SR1=FR.143		; CRAM SBR RET 1
    751		000310 			FR.144=144*2
    752		000310 				FR.CA2=FR.144		; READ CRAM ADDRESS LOW
    753		000310 				FR.CR4=FR.CA2		; CRAM DATA 60 - 78
    754		000312 			FR.145=145*2
    755		000312 				FR.CA1=FR.145		; READ CRAM ADDRESS HIGH
    756		000312 				FR.CR3=FR.CA1		; CRAM DATA 40 - 59
    757		000314 			FR.146=146*2
    758		000314 				FR.CR2=FR.146		; CRAM DATA 20 - 39
    759		000314 				FR.CL2=FR.CR2		; CRAM LOC 05 - 10
    760		000316 			FR.147=147*2
    761		000316 				FR.CR1=FR.147		; CRAM DATA 00 - 19
    762		000316 				FR.CL1=FR.CR1		; CRAM LOC 00 - 04
    763
    764		000320 			FR.150=150*2
    765		000320 				FR.VM0=FR.150		; VMA REGISTER 0
    766		000322 			FR.151=151*2
    767		000322 				FR.VM1=FR.151		; VMA REGISTER 1
    768		000324 			FR.152=152*2
    769		000324 				FR.VM2=FR.152		; VMA REGISTER 2
    770		000326 			FR.153=153*2
    771		000326 				FR.VM3=FR.153		; VMA REGISTER 3
    772		000330 			FR.154=154*2
    773		000330 				FR.VM4=FR.154		; VMA REGISTER 4
    774		000332 			FR.155=155*2
    775		000332 				FR.VM5=FR.155		; VMA REGISTER 5
    776		000334 			FR.156=156*2
    777		000334 				FR.VM6=FR.156		; VMA REGISTER 6
    778		000336 			FR.157=157*2
    779		000336 				FR.VM7=FR.157		; VMA REGISTER 7
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 20
DEFINE -- LOCAL DEFINITIONS 7709.20

    781		000340 			FR.160=160*2
    782		000342 			FR.161=161*2
    783		000344 			FR.162=162*2
    784		000346 			FR.163=163*2
    785		000350 			FR.164=164*2
    786		000352 			FR.165=165*2
    787		000354 			FR.166=166*2
    788		000356 			FR.167=167*2
    789		000356 				FR.EBS=FR.167		; [EBUS REG 00 THRU 35]
    790
    791		000360 			FR.170=170*2
    792		000362 			FR.171=171*2
    793		000364 			FR.172=172*2
    794		000366 			FR.173=173*2
    795		000370 			FR.174=174*2
    796		000372 			FR.175=175*2
    797		000374 			FR.176=176*2
    798		000376 			FR.177=177*2
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 21
DEFINE -- LOCAL DEFINITIONS 7709.20

    800					; DEFINE EVENT FLAG CODES
    801
    802		000001 			E.FHTO=^D1			; KL HALT TIMEOUT EVENT FLAG
    803		000002 			E.FCID=^D2			; CONSOLE DEVICE INPUT DONE EVENT FLAG
    804		000003 			E.FCOD=^D3			; CONSOLE DEVICE OUTPUT DONE EVENT FLAG
    805		000004 			E.FKLN=^D4			; KLINIK EVENT LOG DONE FLAG
    806		000005 			E.FLOD=^D5			; LIST DEVICE OUTPUT DONE FLAG
    807		000006 			E.FFIL=^D6				; FILE I/O DONE FLAG
    808
    809					; DEFINE LOCAL OFFSETS FOR "QIOW$" DPBS
    810
    811		000014 			Q.IOPL=14			; **TEMPORARY**
    812		000014 			Q.IBUF=Q.IOPL			; INPUT BUFFER ADDRESS
    813		000014 			Q.OBUF=Q.IOPL			; OUTPUT BUFFER ADDRESS
    814		000016 			Q.BYCT=Q.IOPL+2		; BUFFER BYTE COUNT (INPUT AND OUTPUT)
    815		000020 			Q.OVFC=Q.IOPL+4		; OUTPUT CARRIAGE CONTROL CHARACTER
    816
    817					; DEFINE THE LOGICAL UNIT NUMBERS
    818
    819		000001 			CIDLUN=1			; CONSOLE INPUT DEVICE LUN
    820		000002 			CODLUN=2			; CONSOLE OUTPUT DEVICE LUN
    821		000003 			LSTLUN=3			; LIST DEVICE LUN
    822		000004 			LOGLUN=4			; LOG DEVICE LUN
    823		000005 			INDLUN=5			; INDIRECT COMMAND FILE LUN
    824
    825					; DEFINE THE VERTICAL FORMAT CODES FOR "QIOW$"
    826
    827		000000 			VF.INT=000			; <NULL> INTERNAL FORMAT CONTROL
    828		000040 			VF.SSP=040			; <SPACE> SINGLE SPACE ALL LINES
    829		000060 			VF.DSP=060			; "0" DOUBLE SPACE ALL LINES
    830		000061 			VF.FFD=061			; "1" FORM FEED BEFORE OUTPUT
    831		000053 			VF.OVR=053			; "+" OVER PRINT THE LINE
    832		000044 			VF.PRM=044			; "$" PRINT LINE AS A PROMPT
    833
    834					; DEFINE SOME SPECIAL CHARACTERS
    835
    836		000054 			.COMMA=54			; COMMA
    837		000040 			.SPACE=40			; SPACE
    838		000033 			.ATLMD=33			; ALT-MODE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 22
DEFINE -- LOCAL DEFINITIONS 7709.20

    840					; DEFINE THE BITS IN THE CHARACTER PROPERTY TABLE ".CHTAB" (Q.V.)
    841
    842		000000 			CH.NUL=0			; CHARACTER IS NULL
    843		000001 			CH.ALP=BIT00			; CHARACTER IS ALPHABETIC
    844		000002 			CH.NUM=BIT01			; CHARACTER IS NUMERIC
    845		000004 			CH.EOL=BIT02			; CHARACTER MAY END A LINE
    846		000010 			CH.EOC=BIT03			; CHARACTER MAY END A COMMAND
    847		000020 			CH.EOS=BIT04			; CHARACTER MAY END A SYMBOL
    848		000040 			CH.PFX=BIT05			; CHARACTER MAY PREFIX A SYMBOL
    849		000100 			CH.AOP=BIT06			; CHARACTER IS AN ARITHMETIC OPERATOR
    850		000200 			CH.ILL=BIT07			; CHARACTER IS ILLEGAL
    851		000034 			CH.END=CH.EOL!CH.EOC!CH.EOS	; CHARACTER IS AN END CHARACTER
    852		000003 			CH.ANM=CH.ALP!CH.NUM		; CHARACTER IS ALPHANUMERIC
    853
    854					; DEFINE THE LEGAL BITS IN THE COMMAND TABLES (Q.V.)
    855
    856		000000 			LG.NUL=0			; NULL
    857		000001 			LG.OPR=BIT00			; COMMAND IS LEGAL IN OPERATOR MODE
    858		000002 			LG.PRG=BIT01			; COMMAND IS LEGAL IN PROGRAMMER MODE
    859		000004 			LG.MNT=BIT02			; COMMAND IS LEGAL IN MAINTENANACE MODE
    860		000010 			LG.ARG=BIT03			; COMMAND MAY ACCEPT ARGUMENTS
    861		000020 			LG.MAR=BIT04			; COMMAND MAY ACCEPT MULTIPLE ARGUMENTS
    862		000040 			LG.MOD=BIT05			; COMMAND MAY ACCEPT MODIFIERS
    863		000100 			LG.RNG=BIT06			; COMMAND MAY ACCEPT RANGE ARGUMENTS
    864		000200 			LG.STR=BIT07			; COMMAND MAY ACCEPT STRING ARGUMENTS
    865		000400 			LG.RPT=BIT08			; COMMAND MAY BE REPEATED
    866		000003 			LG.PRM=LG.OPR!LG.PRG		; INSURE COMMAND IS LEGAL IN BOTH MODES
    867		000007 			LG.ALL=LG.PRM!LG.MNT		; INSURE COMMAND IS LEGAL IN ALL MODES
    868
    869					; DEFINE THE TRAP STATUS CODES
    870
    871		000002 			TC.CTC=2			; CONTROL-C TRAP, ABORT, RESTART, AND RETURN
    872		000001 			TC.RST=1			; ABORT PROCESS AND RESTART THE KL
    873		000000 			TC.ERR=0			; ABORT PROCESS AND RETURN TO PARSER
    874		000377 			TC.CON=377			; REPORT ERROR AND ATTEMPT RECOVERY
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 23
DEFINE -- LOCAL DEFINITIONS 7709.20

    876					; DEFINE KL OPCODES
    877
    878		000270 			ADD=270			; ADD
    879		000273 			ADDB=273		; ADD TO BOTH
    880		000271 			ADDI=271		; ADD IMMEDIATE
    881		000272 			ADDM=272		; ADD TO MEMORY
    882					;
    883		000404 			AND=404			; AND
    884		000407 			ANDB=407		; AND TO BOTH
    885		000410 			ANDCA=410		; AND COMPLEMENT OF AC
    886		000413 			ANDCAB=413		; AND COMPLEMENT OF AC TO BOTH
    887		000411 			ANDCAI=411		; AND COMPLEMENT OF AC IMMEDIATE
    888		000412 			ANDCAM=412		; AND COMPLEMENT OF AC TO MEMORY
    889		000440 			ANDCB=440		; AND COMPLEMENT OF BOTH
    890		000443 			ANDCBB=443		; AND COMPLEMENT OF BOTH TO BOTH
    891		000441 			ANDCBI=441		; AND COMPLEMENT OF BOTH IMMEDIATE
    892		000442 			ANDCBM=442		; AND COMPLEMENT OF BOTH TO MEMORY
    893		000420 			ANDCM=420		; AND COMPLEMENT OF MEMORY
    894		000423 			ANDCMB=423		; AND COMPLEMENT OF MEMORY TO BOTH
    895		000421 			ANDCMI=421		; AND COMPLEMENT OF MEMORY IMMEDIATE
    896		000422 			ANDCMM=422		; AND COMPLEMENT OF MEMORY TO MEMORY
    897		000405 			ANDI=405		; AND IMMEDIATE
    898		000406 			ANDM=406		; AND TO MEMORY
    899					;
    900		000253 			AOBJN=253		; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
    901		000252 			AOBJP=252		; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
    902					;
    903		000340 			AOJ=340			; ADD 1 AND (DON'T) JUMP
    904		000344 			AOJA=344		; ADD 1 AND JUMP ALWAYS
    905		000342 			AOJE=342		; ADD 1 AND JUMP IF .EQ. 0
    906		000347 			AOJG=347		; ADD 1 AND JUMP IF .GT. 0
    907		000345 			AOJGE=345		; ADD 1 AND JUMP IF .GE. 0
    908		000341 			AOJL=341		; ADD 1 AND JUMP IF .LT. 0
    909		000343 			AOJLE=343		; ADD 1 AND JUMP IF .LE. 0
    910		000346 			AOJN=346		; ADD 1 AND JUMP IF .NE. 0
    911					;
    912		000350 			AOS=350			; ADD 1 AND (DON'T) SKIP
    913		000354 			AOSA=354		; ADD 1 AND SKIP ALWAYS
    914		000352 			AOSE=352		; ADD 1 AND SKIP IF .EQ. 0
    915		000357 			AOSG=357		; ADD 1 AND SKIP IF .GT. 0
    916		000355 			AOSGE=355		; ADD 1 AND SKIP IF .GT. 0
    917		000351 			AOSL=351		; ADD 1 AND SKIP IF .LT. 0
    918		000353 			AOSLE=353		; ADD 1 AND SKIP IF .LE. 0
    919		000356 			AOSN=356		; ADD 1 AND SKIP IF .NE. 0
    920					;
    921		000240 			ASH=240			; ARITHMETIC SHIFT
    922		000244 			ASHC=244		; ARITHMETIC SHIFT COMBINED
    923					;
    924		000251 			BLT=251			; BLOCK TRANSFER
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 24
DEFINE -- LOCAL DEFINITIONS 7709.20

    926		000300 			CAI=300			; COMPARE AC IMMEDIATE, DON'T SKIP
    927		000304 			CAIA=304		; COMPARE AC IMMEDIATE, SKIP ALWAYS
    928		000302 			CAIE=302		; COMPARE AC IMMEDIATE, SKIP IF .EQ.
    929		000307 			CAIG=307		; COMPARE AC IMMEDIATE, SKIP IF .GT.
    930		000305 			CAIGE=305		; COMPARE AC IMMDEIATE, SKIP IF .GE.
    931		000301 			CAIL=301		; COMAPRE AC IMMEDIATE, SKIP IF .LT.
    932		000303 			CAILE=303		; COMPARE AC IMMEDIATE, SKIP IF .LE.
    933		000306 			CAIN=306		; COMPARE AC IMMEDIATE, SKIP IF .NE.
    934					;
    935		000040 			CALL=040		; "CALL" UUO
    936		000047 			CALLI=047		; "CALLI" UUO
    937					;
    938		000310 			CAM=310			; COMPARE AC TO MEMORY, DON'T SKIP
    939		000314 			CAMA=314		; COMPARE AC TO MEMORY, ALWAYS SKIP
    940		000312 			CAME=312		; COMPARE AC TO MEMORY, SKIP IF .EQ.
    941		000317 			CAMG=317		; COMPARE AC TO MEMORY, SKIP IF .GT.
    942		000315 			CAMGE=315		; COMPARE AC TO MEMORY, SKIP IF .GE.
    943		000311 			CAML=311		; COMPARE AC TO MEMORY, SKIP IF .LT.
    944		000313 			CAMLE=313		; COMPARE AC TO MEMORY, SKIP IF .LE.
    945		000316 			CAMN=316		; COMPARE AC TO MEMORY, SKIP IF .NE.
    946					;
    947		000400 			CLEAR=400		; CLEAR AC
    948		000403 			CLEARB=403		; CLEAR BOTH
    949		000401 			CLEARI=401		; CLEAR IMMEDIATE
    950		000402 			CLEARM=402		; CLEAR MEMORY
    951					;
    952		000070 			CLOSE=070		; "CLOSE" UUO
    953					;
    954		000110 			DFAD=110		; DOUBLE FLOATING ADD
    955		000113 			DFDV=113		; DOUBLE FLOATING DIVIDE
    956		000112 			DFMP=112		; DOUBLE FLOATING MULTIPLY
    957		000131 			DFN=131			; DOUBLE FLOATING NEGATE
    958		000111 			DFSB=111		; DOUBLE FLOATING SUBTRACT
    959					;
    960		000234 			DIV=234			; DIVIDE
    961		000237 			DIVB=237		; DIVIDE BOTH
    962		000235 			DIVI=235		; DIVIDE IMMEDIATE
    963		000236 			DIVM=236		; DIVIDE MEMORY
    964					;
    965		000120 			DMOVE=120		; DOUBLE MOVE
    966		000124 			DMOVEM=124		; DOUBLE MOVE TO MEMORY
    967		000121 			DMOVN=121		; DOUBLE MOVE NEGATED
    968		000125 			DMOVNM=125		; DOUBLE MOVE NEGATED TO MEMORY
    969					;
    970		000137 			DPB=137			; DEPOSIT BYTE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 25
DEFINE -- LOCAL DEFINITIONS 7709.20

    972		000077 			ENTER=077		; "ENTER" UUO
    973					;
    974		000444 			EQV=444			; EQUIVALENCE TO AC
    975		000447 			EQVB=447		; EQUIVALENCE TO BOTH
    976		000445 			EQVI=445		; EQUIVALENCE IMMEDIATE
    977		000446 			EQVM=446		; EQUIVALENCE TO MEMORY
    978					;
    979		000250 			EXCH=250		; EXCHANGE
    980		000123 			EXTEND=123		; EXTEND
    981					;
    982		000140 			FAD=140			; FLOATING ADD
    983		000143 			FADB=143		; FLOATING ADD BOTH
    984		000141 			FADL=141		; FLOATING ADD LONG
    985		000142 			FADM=142		; FLOATING ADD MEMORY
    986					;
    987		000144 			FADR=144		; FLOATING ADD, ROUNDED
    988		000147 			FADRB=147		; FLOATING ADD, ROUNDED TO BOTH
    989		000145 			FADRI=145		; FLOATING ADD, ROUNDED IMMEDIATE
    990		000146 			FADRM=146		; FLOATING ADD, ROUNDED TO MEMORY
    991					;
    992		000170 			FDV=170			; FLOATING DIVIDE
    993		000173 			FDVB=173		; FLOATING DIVIDE TO BOTH
    994		000171 			FDVL=171		; FLOATING DIVIDE LONG
    995		000172 			FDVM=172		; FLOATING DIVIDE TO MEMORY
    996					;
    997		000174 			FDVR=174		; FLOATING DIVIDE, ROUNDED
    998		000177 			FDVRB=177		; FLOATING DIVIDE, ROUNDED TO BOTH
    999		000175 			FDVRI=175		; FLOATING DIVIDE, ROUNDED IMMMEDIATE
   1000		000176 			FDVRM=176		; FLOATING DIVIDE, ROUNDED TO MEMORY
   1001					;
   1002		000122 			FIX=122			; FIX
   1003		000126 			FIXR=126		; FIX AND ROUND
   1004					;
   1005		000127 			FLTR=127		; FLOAT AND ROUND
   1006					;
   1007		000160 			FMP=160			; FLOATING MULTIPLY
   1008		000163 			FMPB=163		; FLOATING MULTIPLY TO BOTH
   1009		000161 			FMPL=161		; FLOATING MULTIPLY LONG
   1010		000162 			FMPM=162		; FLOATING MULTIPLY TO MEMORY
   1011					;
   1012		000164 			FMPR=164		; FLOATING MUTIPLY ROUNDED
   1013		000167 			FMPRB=167		; FLOATING MULTIPLY ROUNDED, TO BOTH
   1014		000165 			FMPRI=165		; FLOATING MULTIPLY ROUNDED, IMMEDIATE
   1015		000166 			FMPRM=166		; FLOATING MULTIPLY ROUNDED, TO MEMORY
   1016					;
   1017		000150 			FSB=150			; FLOATING SUBTRACT
   1018		000153 			FSBB=153		; FLOATING SUBTRACT TO BOTH
   1019		000151 			FSBL=151		; FLOATING SUBTRACT LONG
   1020		000152 			FSBM=152		; FLOATING SUBTRACT TO MEMORY
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 26
DEFINE -- LOCAL DEFINITIONS 7709.20

   1022		000154 			FSBR=154		; FLOATING SUBTRACT ROUNDED
   1023		000157 			FSBRB=157		; FLOATING SUBTRACT ROUNDED, TO BOTH
   1024		000155 			FSBRI=155		; FLOATING SUBTRACT ROUNDED, IMMEDIATE
   1025		000156 			FSBRM=156		; FLOATING SUBTRACT ROUNDED, TO MEMORY
   1026					;
   1027		000132 			FSC=132			; FLOATING SCALE
   1028					;
   1029		000062 			GETSTS=062		; "GETSTS" UUO
   1030					;
   1031		000500 			HLL=500			; HALFWORD LEFT TO LEFT
   1032		000530 			HLLE=530		;    "      "   "   "	EXTEND
   1033		000531 			HLLEI=531		;    "      "   "   "     "    IMMEDIATE
   1034		000532 			HLLEM=532		;    "      "   "   "     "    TO MEMORY
   1035		000533 			HLLES=533		;    "      "   "   "     "    TO SELF
   1036					;
   1037		000501 			HLLI=501		; HALFWORD LEFT TO LEFT IMMEDIATE
   1038		000502 			HLLM=502		;    "      "   "   "   TO MEMORY
   1039					;
   1040		000520 			HLLO=520		;    "      "   "   "   ONES
   1041		000521 			HLLOI=521		;    "      "   "   "    "   IMMEDIATE
   1042		000522 			HLLOM=522		;    "	    "	"   "	 "   MEMORY
   1043		000523 			HLLOS=523		;    "	    "	"   "	 "   SELF
   1044					;
   1045		000503 			HLLS=503		; HALFWORD LEFT TO LEFT SELF
   1046					;
   1047		000510 			HLLZ=510		; HALFWORD LEFT TO LEFT ZERO, ET AL.
   1048		000511 			HLLZI=511
   1049		000512 			HLLZM=512
   1050		000513 			HLLZS=513
   1051					;
   1052		000544 			HLR=544			; HALFWORD LEFT TO RIGHT
   1053					;
   1054		000574 			HLRE=574		; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
   1055		000575 			HLREI=575
   1056		000576 			HLREM=576
   1057		000577 			HLRES=577
   1058					;
   1059		000564 			HLRO=564		; HALFWORD LEFT TO RIGHT ONES, ET AL.
   1060		000565 			HLROI=565
   1061		000566 			HLROM=566
   1062		000567 			HLROS=567
   1063					;
   1064		000547 			HLRS=547		; HALFWORD LEFT TO RIGHT SELF
   1065					;
   1066		000554 			HLRZ=554		; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
   1067		000555 			HLRZI=555
   1068		000556 			HLRZM=556
   1069		000557 			HLRZS=557
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 27
DEFINE -- LOCAL DEFINITIONS 7709.20

   1071		000504 			HRL=504			; HALFWORD RIGHT TO LEFT
   1072					;
   1073		000534 			HRLE=534		; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
   1074		000535 			HRLEI=535
   1075		000536 			HRLEM=536
   1076		000537 			HRLES=537
   1077					;
   1078		000505 			HRLI=505		; HALFWORD RIGHT TO LEFT IMMEDIATE
   1079		000506 			HRLM=506		;    "	     "	 "   "	 MEMORY
   1080					;
   1081		000564 			HRLO=564		; HALFWORD RIGHT TO LEFT ONES, ET AL.
   1082		000565 			HRLOI=565
   1083		000566 			HRLOM=566
   1084		000567 			HRLOS=567
   1085					;
   1086		000507 			HRLS=507		; HALFWORD RIGHT TO LEFT SELF
   1087					;
   1088		000514 			HRLZ=514		; HALFWORD RIGHT TO LEFT ZERO, ET AL.
   1089		000515 			HRLZI=515
   1090		000516 			HRLZM=516
   1091		000517 			HRLZS=517
   1092					;
   1093		000540 			HRR=540			; HALFWORD RIGHT TO RIGHT
   1094					;
   1095		000570 			HRRE=570		; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
   1096		000571 			HRREI=571
   1097		000572 			HRREM=572
   1098		000573 			HRRES=573
   1099					;
   1100		000541 			HRRI=541		; HALFWORD RIGHT TO RIGHT IMMEDIATE
   1101		000542 			HRRM=542		;    "	     "	 "    "	  MEMORY
   1102					;
   1103		000560 			HRRO=560		; HALFWORD RIGHT TO RIGHT ONES, ET AL.
   1104		000561 			HRROI=561
   1105		000562 			HRROM=562
   1106		000563 			HRROS=563
   1107					;
   1108		000543 			HRRS=543
   1109					;
   1110		000550 			HRRZ=550		; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
   1111		000551 			HRRZI=551
   1112		000552 			HRRZM=552
   1113		000553 			HRRZS=553
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 28
DEFINE -- LOCAL DEFINITIONS 7709.20

   1115		000133 			IBP=133			; INCREMENT BYTE POINTER
   1116					;
   1117		000230 			IDIV=230		; INTEGER DIVIDE
   1118		000233 			IDIVB=233		;    "	    "	 BOTH
   1119		000231 			IDIVI=231		;    "	    "	 IMMEDIATE
   1120		000232 			IDIVM=232		;    "	    "	 MEMORY
   1121					;
   1122		000136 			IDPB=136		; INCREMENT AND DEPOSIT BYTE
   1123					;
   1124		000134 			ILDB=134		; DECREMENT AND LOAD BYTE
   1125					;
   1126		000220 			IMUL=220		; INTEGER MULTIPLY
   1127		000223 			IMULB=223		;    "	     "	   BOTH
   1128		000221 			IMULI=221		;    "	     "	   IMMEDIATE
   1129		000222 			IMULM=222		;    "	     "     MEMORY
   1130					;
   1131		000056 			IN=056			; "IN" UUO
   1132		000064 			INBUF=064		; "INBUF" UUO
   1133		000041 			INIT=041		; "INIT" UUO
   1134		000066 			INPUT=066		; "INPUT" UUO
   1135					;
   1136		000434 			IOR=434			; INCLUSIVE OR, ET AL.
   1137		000437 			IORB=437
   1138		000435 			IORI=435
   1139		000436 			IORM=436
   1140					;
   1141		000255 			JFCL=255		; JUMP ON FLAGS AND CLEAR
   1142					;
   1143		000243 			JFFO=243		; JUMP IF FOUND FIRST 1
   1144					;
   1145		000267 			JRA=267			; JUMP AND RESTORE AC
   1146					;
   1147		000254 			JRST=254		; JUMP AND RESTORE (PC FLAGS)
   1148					;
   1149		000266 			JSA=266			; JUMP AND SAVE AC
   1150					;
   1151		000265 			JSP=265			; JUMP AND SAVE PC
   1152					;
   1153		000264 			JSR=264			; JUMP TO SUBROUTINE
   1154					;
   1155		000104 			JSYS=104		; JSYS CALL
   1156					;
   1157		000320 			JUMP=320		; JUMP (NEVER)
   1158		000324 			JUMPA=324		; JUMP ALWAYS
   1159		000322 			JUMPE=322		; JUMP IF AC .EQ. 0
   1160		000327 			JUMPG=327		; JUMP IF AC .GT. 0
   1161		000325 			JUMPGE=325		; JUMP IF AC .GE. 0
   1162		000321 			JUMPL=321		; JUMP IF AC .LT. 0
   1163		000323 			JUMPLE=323		; JUMP IF AC .LE. 0
   1164		000326 			JUMPN=326		; JUMP IF AC .NE. 0
   1165					;
   1166		000700 			KLIOT=700		; KL I/O INSTRUCTION BASE
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 29
DEFINE -- LOCAL DEFINITIONS 7709.20

   1168		000135 			LDB=135			; LOAD BYTE
   1169					;
   1170		000076 			LOOKUP=076		; "LOOKUP" UUO
   1171					;
   1172		000242 			LSH=242			; LOGICAL SHIFT
   1173		000246 			LSHC=246		; LOGICAL SHIFT COMBINED
   1174					;
   1175		000257 			MAP=257			; MAP PAGED ADDRESS
   1176					;
   1177		000200 			MOVE=200		; MOVE
   1178		000201 			MOVEI=201		; MOVE IMMEDIATE
   1179		000202 			MOVEM=202		; MOVE TO MEMORY
   1180		000203 			MOVES=203		; MOVE TO SELF
   1181					;
   1182		000214 			MOVM=214		; MOVE MAGNITUDE, ET AL.
   1183		000215 			MOVMI=215
   1184		000216 			MOVMM=216
   1185		000217 			MOVMS=217
   1186					;
   1187		000210 			MOVN=210		; MOVE NEGATED, ET AL.
   1188		000211 			MOVNI=211
   1189		000212 			MOVNM=212
   1190		000213 			MOVNS=213
   1191					;
   1192		000204 			MOVS=204		; MOVE SWAPPED, ET AL.
   1193		000205 			MOVSI=205
   1194		000206 			MOVSM=206
   1195		000207 			MOVSS=207
   1196					;
   1197		000224 			MUL=224			; MULTIPLY
   1198		000227 			MULB=227		; MULTIPLY BOTH
   1199		000225 			MULI=225		; MULTIPLY IMMEDIATE
   1200		000226 			MULM=226		; MULTIPLY MEMORY
   1201					;
   1202		000050 			OPEN=050		; "OPEN" UUO
   1203					;
   1204		000434 			OR=IOR			; (INCLUSIVE) OR, ET AL.
   1205		000437 			ORB=IORB
   1206					;
   1207		000454 			ORCA=454		; OR WITH COMPLEMENT OF AC
   1208		000457 			ORCAB=457		; "   "	      "	     "	"  BOTH
   1209		000455 			ORCAI=455		; "   "	      "	     "	"  IMMEDIATE
   1210		000456 			ORCAM=456		; "   "       "	     "	"  MEMORY
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 30
DEFINE -- LOCAL DEFINITIONS 7709.20

   1212		000470 			ORCB=470		; OR WITH COMPLEMENT OF BOTH, ET AL.
   1213		000473 			ORCBB=473
   1214		000471 			ORCBI=471
   1215		000472 			ORCBM=472
   1216					;
   1217		000464 			ORCM=464		; OR WITH COMPLEMENT OF MEMORY, ET AL.
   1218		000467 			ORCMB=467
   1219		000465 			ORCMI=465
   1220		000466 			ORCMM=466
   1221					;
   1222		000435 			ORI=IORI		; (INCLUSIVE) OR, ET AL.
   1223		000436 			ORM=IORM
   1224					;
   1225		000057 			OUT=057			; "OUT" UUO
   1226		000065 			OUTBUF=065		; "OUTBUF" UUO
   1227		000067 			OUTPUT=067		; "OUTPUT" UUO
   1228					;
   1229		000262 			POP=262			; POP
   1230		000263 			POPJ=263		; POP (RETURN) AND JUMP
   1231					;
   1232		000261 			PUSH=261		; PUSH
   1233		000260 			PUSHJ=260		; PUSH (RETURN) AND JUMP
   1234					;
   1235		000071 			RELEAS=071		; "RELEAS(E)" UUO
   1236		000055 			RENAME=055		; "RENAME" UUO
   1237					;
   1238		000241 			ROT=241			; ROTATE
   1239		000245 			ROTC=245		; ROTATE COMBINED
   1240					;
   1241		000424 			SETA=424		; SET TO AC
   1242		000427 			SETAB=427		;  "  "	 "  BOTH
   1243		000425 			SETAI=425		;  "  "	 "  IMMEDIATE
   1244		000426 			SETAM=426		;  "  "  "  MEMORY
   1245					;
   1246		000450 			SETCA=450		; SET TO COMPLEMENT OF AC, ET AL.
   1247		000453 			SETCAB=453
   1248		000451 			SETCAI=451
   1249		000452 			SETCAM=452
   1250					;
   1251		000460 			SETCM=460		; SET TO COMLEMENT OF MEMORY, ET AL.
   1252		000463 			SETCMB=463
   1253		000461 			SETCMI=461
   1254		000462 			SETCMM=462
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 31
DEFINE -- LOCAL DEFINITIONS 7709.20

   1256		000414 			SETM=414		; SET TO MEMORY, ET AL
   1257		000417 			SETMB=417
   1258		000415 			SETMI=415
   1259		000416 			SETMM=416
   1260					;
   1261		000474 			SETO=474		; SET TO ONES, ET AL.
   1262		000477 			SETOB=477
   1263		000475 			SETOI=475
   1264		000476 			SETOM=476
   1265					;
   1266		000060 			SETSTS=060		; "SETSTS" UUO
   1267					;
   1268		000400 			SETZ=400		; SET TO ZEROS, ET AL
   1269		000403 			SETZB=403
   1270		000401 			SETZI=401
   1271		000402 			SETZM=402
   1272					;
   1273		000330 			SKIP=330		; SKIP (NEVER)
   1274		000334 			SKIPA=334		; SKIP ALWAYS
   1275		000332 			SKIPE=332		; SKIP IF MEMORY .EQ. 0
   1276		000337 			SKIPG=337		; SKIP IF MEMORY .GT. 0
   1277		000335 			SKIPGE=335		; SKIP IF MEMORY .GE. 0
   1278		000331 			SKIPL=331		; SKIP IF MEMORY .LT. 0
   1279		000333 			SKIPLE=333		; SKIP OF MEMORY .LE. 0
   1280		000336 			SKIPN=336		; SKIP IF MEMORY .NE. 0
   1281					;
   1282		000360 			SOJ=360			; SUBTRACT 1 AND NEVER JUMP
   1283		000364 			SOJA=364		; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
   1284		000362 			SOJE=362		; SUBTRACT 1 AND JUMP IF AC .EQ. 0
   1285		000367 			SOJG=367		; SUBTRACT 1 AND JUMP IF AC .GT. 0
   1286		000365 			SOJGE=365		; SUBTRACT 1 AND JUMP IF AC .GE. 0
   1287		000361 			SOJL=361		; SUBTRACT 1 AND JUMP IF AC .LT. 0
   1288		000363 			SOJLE=363		; SUBTRACT 1 AND JUMP IF AC .LE. 0
   1289		000366 			SOJN=366		; SUBTRACT 1 AND JUMP IF AC .NE. 0
   1290					;
   1291		000370 			SOS=370			; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
   1292		000374 			SOSA=374		; SUBTRACT 1 AND ALWAYS SKIP
   1293		000372 			SOSE=372		; SUBTRACT 1 AND SKIP IF .EQ. 0
   1294		000377 			SOSG=377		; SUBTRACT 1 AND SKIP IF .GT. 0
   1295		000375 			SOSGE=375		; SUBTRACT 1 AND SKIP IF .GE. 0
   1296		000371 			SOSL=371		; SUBTRACT 1 AND SKIP IF .LT. 0
   1297		000373 			SOSLE=373		; SUBTRACT 1 AND SKIP IF .LE. 0
   1298		000376 			SOSN=376		; SUBTRACT 1 AND SKIP IF .NE. 0
   1299					;
   1300		000061 			STATO=061		; "STATO" UUO
   1301		000062 			STATUS=062		; "STATUS" UUO
   1302		000063 			STATZ=063		; "STATZ" UUO
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 32
DEFINE -- LOCAL DEFINITIONS 7709.20

   1304		000274 			SUB=274			; SUBTRACT
   1305		000277 			SUBB=277		; SUBTRACT BOTH
   1306		000275 			SUBI=275		; SUBTRACT IMMEDIATE
   1307		000276 			SUBM=276		; SUBTRACT MEMORY
   1308					;
   1309		000106 			SXCT=106		; SECTION EXECUTE
   1310					;
   1311		000650 			TDC=650			; TEST DIRECT COMPLEMENT NEVER SKIP
   1312		000654 			TDCA=654		;  "	 "	  "	 SKIP ALWAYS
   1313		000652 			TDCE=652		;  "	 "	  "	  "   ON ZERO
   1314		000656 			TDCN=656		;  "     "	  "	  "   ON NON-ZERO
   1315					;
   1316		000610 			TDN=610			; TEST DIRECT NO MODIFICATION, ET AL.
   1317		000614 			TDNA=614
   1318		000612 			TDNE=612
   1319		000616 			TDNN=616
   1320					;
   1321		000670 			TDO=670			; TEST DIRECT ONES, ET AL.
   1322		000674 			TDOA=674
   1323		000672 			TDOE=672
   1324		000676 			TDON=676
   1325					;
   1326		000630 			TDZ=630			; TEST DIRECT ZEROS, ET AL.
   1327		000634 			TDZA=634
   1328		000632 			TDZE=632
   1329		000636 			TDZN=636
   1330					;
   1331		000641 			TLC=641			; TEST LEFT COMPLEMENT, ET AL.
   1332		000645 			TLCA=645
   1333		000643 			TLCE=643
   1334		000647 			TLCN=647
   1335					;
   1336		000601 			TLN=601			; TEST LEFT NO MODIFICATION, ET AL.
   1337		000605 			TLNA=605
   1338		000603 			TLNE=603
   1339		000607 			TLNN=607
   1340					;
   1341		000661 			TLO=661			; TEST LEFT ONES, ET AL.
   1342		000665 			TLOA=665
   1343		000663 			TLOE=663
   1344		000667 			TLON=667
   1345					;
   1346		000621 			TLZ=621			; TEST LEFT ZEROS, ET AL.
   1347		000625 			TLZA=625
   1348		000623 			TLZE=623
   1349		000627 			TLZN=627
   1350					;
   1351		000640 			TRC=640			; TEST RIGHT COMPLEMENT, ET AL.
   1352		000644 			TRCA=644
   1353		000642 			TRCE=642
   1354		000646 			TRCN=646
DEFINE -- LOCAL DEFINITION MODU	MACRO M1113  03-APR-86 22:51  PAGE 33
DEFINE -- LOCAL DEFINITIONS 7709.20

   1356		000600 			TRN=600			; TEST RIGHT NO MODIFICATION, ET AL.
   1357		000604 			TRNA=604
   1358		000602 			TRNE=602
   1359		000606 			TRNN=606
   1360					;
   1361		000660 			TRO=660			; TEST RIGHT ONES, ET AL.
   1362		000664 			TROA=664
   1363		000662 			TROE=662
   1364		000666 			TRON=666
   1365					;
   1366		000620 			TRZ=620			; TEST RIGHT ZEROS, ET AL.
   1367		000624 			TRZA=624
   1368		000622 			TRZE=622
   1369		000626 			TRZN=626
   1370					;
   1371		000651 			TSC=651			; TEST SWAPPED COMLEMENT, ET AL.
   1372		000655 			TSCA=655
   1373		000653 			TSCE=653
   1374		000657 			TSCN=657
   1375					;
   1376		000611 			TSN=611			; TEST SWAPPED NO MODIFICATION, ET AL.
   1377		000615 			TSNA=615
   1378		000613 			TSNE=613
   1379		000617 			TSNN=617
   1380					;
   1381		000671 			TSO=671			; TEST SWAPPED ONES, ET AL.
   1382		000675 			TSOA=675
   1383		000673 			TSOE=673
   1384		000677 			TSON=677
   1385					;
   1386		000631 			TSZ=631			; TEST SWAPPED ZEROS, ET AL.
   1387		000635 			TSZA=635
   1388		000633 			TSZE=633
   1389		000637 			TSZN=637
   1390					;
   1391		000051 			TTCALL=051		; "TTCALL" UUO
   1392					;
   1393		000073 			UGETF=073		; "UGETF" UUO
   1394					;
   1395		000100 			UJEN=100		; "UJEN" CALL
   1396					;
   1397		000074 			USETI=074		; "USETI" UUO
   1398		000075 			USETO=075		; "USETO" UUO
   1399					;
   1400		000256 			XCT=256			; EXECUTE
   1401					;
   1402		000430 			XOR=430			; EXCLUSIVE OR, ET AL.
   1403		000433 			XORB=433
   1404		000431 			XORI=431
   1405		000432 			XORM=432
   1406
   1407					.SBTTL	COPYRIGHT PAGE
   1408
   1410					.TITLE	DATAB  -- COMMAND PARSER DATA BASE 7709.20
   1411
   1412						.IDENT	"007030"
   1413
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 33-1
COPYRIGHT PAGE

   1414					;
   1415					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   1416					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1417					;			ALL RIGHTS RESERVED.
   1418					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1419					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1420					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1421					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1422					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1423					;
   1424					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1425					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1426					;       CORPORATION.
   1427					;
   1428					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1429					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1430					;
   1431					;		MODULE: COMMAND PARSER DATA BASE
   1432					;
   1433					;		VERSION: 06-13
   1434					;
   1435					;		AUTHOR: R. BELANGER
   1436					;
   1437					;		DATE: 7709.20
   1438					;
   1439					;	THIS MODULE CONTAINS:
   1440					;
   1441					;	1) THE IMPURE DATA BASE FOR THE COMMAND PARSER
   1442					;
   1443					;		EDIT HISTORY
   1444					;
   1445					;20-JUN-83  TCO 6.1675	D. WEAVER
   1446					;	ADD STORAGE FOR SAVE AC-BLOCK COMMAND.
   1447					;
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 34
COPYRIGHT PAGE

   1449						.MACRO	PARVR$ KEY,FRM,VER,EDT,NUM
   1450						.IF	B,NUM
   1451						.IF	NB,FRM
   1452						PARVR$	\KEY,\FRM,\VER,\EDT,0
   1453						.IFF
   1454						PARVR$	\KEY,200,\VER,\EDT,0
   1455						.ENDC
   1456						.MEXIT
   1457						.IFF
   1458						.IF	GE,VER-10
   1459						.IF	GE,EDT-10
   1460						.ASCIZ	<KEY><FRM>\'VER'-'EDT'\<200>
   1461						.IFF
   1462						.ASCIZ	<KEY><FRM>\'VER'-0'EDT'\<200>
   1463						.ENDC
   1464						.IFF
   1465						.IF	GE,EDT-10
   1466						.ASCIZ	<KEY><FRM>\0'VER'-'EDT'\<200>
   1467						.IFF
   1468						.ASCIZ	<KEY><FRM>\0'VER'-0'EDT'\<200>
   1469						.ENDC
   1470						.ENDC
   1471						.ENDC
   1472						.ENDM	PARVR$
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 35
DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20

   1474					.SBTTL	DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20
   1475
   1476					; COMMAND PARSER VARIABLES ARE MAINTAINED IN THIS AREA
   1477
   1478	000000					.PSECT	DATA
   1479
   1480	000000				.ACBLK::
   1481	000000	000000 				.WORD	0		; [6.1675] STORAGE FOR SAVE/RESTORE AC-BLOCK
   1482	000002				.APRWD::
   1483	000002	000000 				.WORD	0		; KL APR ERROR STATUS WORD
   1484	000004				.CCMDN::
   1485	000004	000021'				.WORD	PARNAM		; POINTER TO CURRENT COMMAND NAME
   1486	000006				.CISTS::
   1487	000006	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR CONSOLE INPUT
   1488	000012				.CLKWD::
   1489	000012	100000 				.WORD	BIT15		; KL CLOCK CONTROL WORD
   1490	000014				.COSTS::
   1491	000014	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR CONSOLE OUTPUT
   1492	000020				.CRAMA::
   1493	000020	000000 				.WORD	0		; KL CRAM ADDRESSS
   1494	000022				.CRAMR::
   1495	000022	000000 	000000 	000000 		.WORD	0,0,0		; BLOCK FOR KL CRAM READ
   1496	000030	000000 	000000 	000000 		.WORD	0,0,0
   1497	000036	000000 	000000 	000000 		.WORD	0,0,0
   1498	000044				.CRAMW::
   1499	000044	000000 	000000 	000000 		.WORD	0,0,0		; BLOCK FOR CRAM WRITE
   1500	000052	000000 	000000 	000000 		.WORD	0,0,0
   1501	000060	000000 	000000 	000000 		.WORD	0,0,0
   1503	000066				.DBGSW::
   1504	000066	000000 				.WORD	0		; DEBUG SWITCH
   1506	000070				.DPBFR::
   1507	000070	000000 	000000 	000000 		.WORD	0,0,0		; KL DEPOSIT DATA BUFFER
   1508	000076				.DPBFX::
   1509	000076	000000 	000000 	000000 		.WORD	0,0,0		; KL AUXILLIARY DEPOSIT DATA BUFFER
   1518	000104				.EDELA::
   1519	000104	000000 				.WORD	0		; LAST PDP-11 EXAMINE / DEPOSIT ADDRESS
   1520	000106				.EDKLA::
   1521	000106	000000 	000000 	000000 		.WORD	0,0,0		; KL EXAMINE / DEPOSIT ADDRESS BUFFER
   1522	000114				.EDKLX::
   1523	000114	000000 	000000 	000000 		.WORD	0,0,0		; KL AUXILLIARY EXAM / DEPOS ADDRESS BUFFER
   1524	000122				.ELDDW::
   1525	000122	000000 				.WORD	0		; LAST PDP-11 DEPOSIT DATA
   1526	000124				.ELEDW::
   1527	000124	000000 				.WORD	0		; LAST PDP-11 EXAMINE DATA
   1528	000126	000000 	000000 	000000 	Q0::	.WORD	0,0,0		; [**]
   1529	000134	000000 	000000 	000000 	Q1::	.WORD	0,0,0		; [**]
   1530	000142	000000 	000000 	000000 	Q2::	.WORD	0,0,0		; [**]
   1531	000150	000000 	000000 	000000 	Q3::	.WORD	0,0,0		; [**]
   1532	000156				.EXBFR::
   1533	000156	000000 	000000 	000000 		.WORD	0,0,0		; KL EXAMINE DATA BUFFER
   1534	000164				.INCHC::
   1535	000164	000000 				.WORD	0		; INPUT CHARACTER COUNT
   1536	000166				.IRADX::
   1537	000166	000010 				.WORD	^D8		; INPUT RADIX
   1538	000170				.KLINC::
   1539	000170	000001 	000000 	000000 		.WORD	^D1,0,0		; KL EXAMINE DEPOSIT INCREMENT
   1540	000176				.KLEDF::			; [5.1006]KLE DEFAULT COMMAND FLAG
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 35-1
DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20

   1541	000176	000001 				.WORD	1
   1542	000200				.KLEPT::			; [5.1006]DEFAULT COMMAND TABLE POINTER
   1543	000200	000000 				.WORD	0
   1544	000202				.KLEVL::			; [5.1006]POINTER VALID FLAG
   1545	000202	   000 				.BYTE	0
   1546	000203				.KLSNP::			; [5.1006]SNAPSHOT COMMAND IN PROGRESS
   1547	000203	   000 				.BYTE	0
   1548	000204				.PASS::				; [4.1.1049]FM SWEEP PASS FLAG
   1549	000204	000000 				.WORD	0
   1550	000206				.OUTLG::
   1551	000206	   000 				.BYTE	0		; [5.1000]LOG OUTPUT FLAG
   1552	000207				.OUTLP::
   1553	000207	   000 				.BYTE	0		; [5.1000]PRINT OUTPUT FLAG
   1554	000210				.OUTTY::
   1555	000210	   001 				.BYTE	1		; [5.1000]TYPE OUTPUT FLAG
   1556						.EVEN
   1557	000212				.LDSTS::
   1558	000212	000000 	000000 			.WORD	0,0		; I/O STATUS BLOCK FOR LIST DEVICE
   1559	000216				.LGLWD::
   1560	000216	000000 				.WORD	0		; LEGAL BITS OF CURRENT COMMAND
   1561	000220				.LDZFL::
   1562	000220	177777 				.WORD	-^D1		; PRINT LEADING ZEROES FLAG
   1563	000222				.MEMFL::
   1564	000222	000000 				.WORD	0		; EXAMINE DEPOSIT MEMORY OFFSET
   1565	000224				.NOTSW::
   1566	000224	000000 				.WORD	0		; "NOT" SWITCH
   1567	000226				.ORADX::
   1568	000226	000010 				.WORD	^D8		; OUTPUT RADIX
   1569	000230				.PEWRD::
   1570	000230	000000 				.WORD	0		; KL PARITY ERROR FLAGS
   1571	000232				.PITAB::
   1572	000232	000000 	000000 			.WORD	0,0		; EXAMINE PI DATA BLOCK
   1573	000236				.PSCWD::
   1574	000236	100000 				.WORD	BIT15		; KL PARITY STOP CONTROL WORD
   1575	000240				.RDXSV::
   1576	000240	000010 				.WORD	^D8		; SAVED RADIX
   1577	000242				.RELWD::
   1578	000242	000002'				.WORD	.APRWD		; RELOCATION VALUE
   1579	000244				.RPTCT::
   1580	000244	000000 	000000 	000000 		.WORD	0,0,0		; REPEAT COUNT
   1581	000252				.RPTPT::
   1582	000252	000000 				.WORD	0		; POINTER TO STACKED REPEAT COUNT
   1583	000254				.STRTV::
   1584	000254	010354'				.WORD	.START		; START VECTOR
   1585	000256				.SVESP::
   1586	000256	000000 				.WORD	0		; TO REINIT STACK POINTER
   1587	000260				.SVKLF::
   1588	000260	000000 				.WORD	0		; SAVED COPY OF ".KLFLG"
   1589	000262				.SWPIP::			; SWEEP IN PROGRESS FLAG
   1590	000262	000000 				.WORD	0
   1592	000264				.TRKWD::
   1593	000264	000000 				.WORD	0		; "TRACK" FLAGS
   1595	000266				.TRP4V::
   1596	000266	001352'				.WORD	.PTOAT		; TRAP AT 4 VECTOR
   1597	000270				.TRPEC::
   1598	000270	000000 				.WORD	0		; ERROR CODE RETURNED FROM TRAP
   1599	000272				.TRPIP::
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 35-2
DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20

   1600	000272	000002 				.WORD	^D2		; TRAP IN PROGRESS INTERLOCK
   1601	000274				.TRPPC::
   1602	000274	000000 				.WORD	0		; TRAP PC
   1603	000276				.TRPPS::
   1604	000276	000000 				.WORD	0		; TRAP PSW
   1605	000300				.TRPSB::
   1606	000300	000000 				.WORD	0		; TRAP STATUS BYTE
   1607	000302				.TRPTV::
   1608	000302	000000 				.WORD	0		; TRAP TRAP VECTOR
   1609	000304				.TYOBC::
   1610	000304	000204 				.WORD	^D132		; CONSOLE OUTPUT BYTE COUNT
   1611	000306				.TYOBP::
   1612	000306	000576'				.WORD	.COBFR		; CONSOLE OUTPUT BYTE POINTER
   1613	000310				.VFYFL::
   1614	000310	000000 				.WORD	0		; DEPOSIT VERIFY FLAG
   1615	000312				DATABX::
   1616	000312	000137 	000000G			JMP	.INICP		; EXIT TO INIT
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 36
.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20

   1618					.SBTTL	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
   1619
   1620					; +
   1621					; .SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE.
   1622					;
   1623					; THESE ARE THE ENTRY POINTS FOR ALL SYNCHRONOUS TRAPS IN THE KL FRONT
   1624					; END COMMAND PARSER. THE PARSER USES SYNCHRONOUS TRAPS, (SST'S),
   1625					; PRIMARILY TO HANDLE INTERNAL ERRORS VIA THE "TRAP" INSTRUCTION. SST'S
   1626					; MAY ALSO BE USED TO HANDLE ODD ADDRESS TRAPS, BREAKPOINTS, AND OTHER
   1627					; ERROR CONDITIONS, AS WELL AS THE PREVIOUSLY MENTIONED ERROR TRAPS.
   1628					;
   1629					; SYNCHRONOUS TRAPS ARE ENABLED BY THE "SVTK$" DIRECTIVE (Q.V.) AS
   1630					; ALLOWED BY THE ENTRIES IN ".SSTTB", THE SST VECTOR TABLE, BELOW.
   1631					; A NON-ZERO ENTRY IN ".SSTTB" INDICATES THAT CONTROL IS TO BE PASSED
   1632					; TO THE ADDRESS IN THAT ENTRY UPON OCCURANCE OF THE ASSOCIATED
   1633					; CONDITION. A ZERO ENTRY IN THE VECTOR TABLE INDICATES THAT THE
   1634					; SYSTEM IS TO HANDLE THE ASSOCIATED CONDITION.
   1635					;
   1636					; THE FORMAT OF THE SST VECTOR TABLE IS AS FOLLOWS:
   1637					;
   1638					;	!===============================================!
   1639					; 00	!	ODD ADDRESS TRAP HANDLER ADDRESS	!
   1640					;	!-----------------------------------------------!
   1641					; 02	!  MEMORY PROTECTION VIOLATION HANDLER ADDRESS	!
   1642					;	!-----------------------------------------------!
   1643					; 04	!	    T-BIT TRAP HANDLER ADDRESS		!
   1644					;	!-----------------------------------------------!
   1645					; 06	!	     IOT TRAP HANDLER ADDRESS		!
   1646					;	!-----------------------------------------------!
   1647					; 10	!   RESERVED INSTRUCTION TRAP HANDLER ADDRESS	!
   1648					;	!-----------------------------------------------!
   1649					; 12	!	ILLEGAL EMT TRAP HANDLER ADDRESS	!
   1650					;	!-----------------------------------------------!
   1651					; 14	!     TRAP INSTRUCTION TRAP HANDLER ADDRESS	!
   1652					;	!-----------------------------------------------!
   1653					; 16	!	FLOATING POINT TRAP HANDLER ADDRESS	!
   1654					;	!===============================================!
   1655					;-
   1656
   1657	000316				.SSTTB::
   1658	000316	000000 				.WORD	0		; ODD ADDRESS TRAP HANDLER
   1659	000320	000000 				.WORD	0		; MEMORY PROTECTION VIOLATION
   1660	000322	000000 				.WORD	0		; BREAKPOINT TRAP HANDLER
   1661	000324	000000 				.WORD	0		; "IOT" INSTRUCTION TRAP
   1662	000326	000000 				.WORD	0		; RESERVED INSTRUCTION TRAP
   1663	000330	000000 				.WORD	0		; NON-STANDARD EMT TRAP
   1664	000332	001124'				.WORD	.PTTRP		; "TRAP" INSTRUCTION TRAP
   1665	000334	000000 				.WORD	0		; FLOATING POINT TRAP
   1666		000010 			SSTLEN==.-.SSTTB/2		; LENGTH OF THIS TABLE
   1667		000334'			SSTTBE==.-2
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 37
DATAB  -- DTE-20 OPERATION BUFFERS 7709.20

   1669					.SBTTL	DATAB  -- DTE-20 OPERATION BUFFERS 7709.20
   1670
   1671	000336				.DFBLK::
   1672	000336				.DFWB::
   1673	000336	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION WRITE BUFFER
   1674	000344				.DFRB::
   1675	000344	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION READ BUFFER
   1676
   1677	000352				.DREG::
   1678	000352				.DTDI1::
   1679	000352	000000 				.WORD	0		; DTE-20 DIAG WORD 1 BUFFER
   1680	000354				.DTDI2::
   1681	000354	000000 				.WORD	0		; DTE-20 DIAG WORD 2 BUFFER
   1682	000356				.DTSTS::
   1683	000356	000000 				.WORD	0		; DTE-20 STATUS WORD BUFFER
   1684	000360				.DTDI3::
   1685	000360	000000 				.WORD	0		; DTE-20 DIAG WORD 3 BUFFER
   1686		000362'			DFBEND==.
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 38
DATAB  -- INPUT / OUTPUT BUFFERS 7709.20

   1688					.SBTTL	DATAB  -- INPUT / OUTPUT BUFFERS 7709.20
   1689
   1690					; THESE ARE THE I/O BUFFERS
   1691
   1692	000362				.CIBFR::
   1693	000362					.BLKW	^D70		; CONSOLE DEVICE INPUT BUFFER
   1694		000214 			.CIBFL==.-.CIBFR
   1695
   1696	000576				.COBFR::
   1697	000576					.BLKW	^D70		; CONSOLE DEVICE OUTPUT BUFFER
   1698		000204 			.COBFL==^D132
   1699
   1700	001012				.COMND::
   1701	001012					.BLKW	^D140		; COMMAND BUFFER
   1702		000430 			.CMNDL==.-.COMND
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 39
DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20

   1704					.SBTTL	DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
   1705
   1706	001442				.R50TB::
   1707	001442	000022 				.WORD	<'0-36>-<50-50>
   1708	001444	   060 	   000 			.ASCIZ	%0%
   1709	001446	177766 				.WORD	<'%-35>-<'0-36>
   1710	001450	   045 	   000 			.ASCIZ	/%/
   1711	001452	000012 				.WORD	<'.-34>-<'%-35>
   1712	001454	   056 	   000 			.ASCIZ	%.%
   1713	001456	177767 				.WORD	<'$-33>-<'.-34>
   1714	001460	   044 	   000 			.ASCIZ	%$%
   1715	001462	000067 				.WORD	<'A-01>-<'$-33>
   1716	001464	   101 	   000 			.ASCIZ	%A%
   1717	001466	177740 				.WORD	<' -00>-<'A-01>
   1718	001470	000040 				.WORD	.SPACE
   1719
   1720	001472				.T50TB::
   1721	001472	003100 				.WORD	50*50
   1722	001474	000050 				.WORD	50
   1723	001476	000001 				.WORD	1
   1724	001500	000000 				.WORD	0
   1725
   1726	000000				.PSECT	MESSAG
   1727
   1728	000000				CPVMSG::
   1729	000000					PARVR$	PAR$$K,,PAR$$V,PAR$$E
	000000	   126 	   200 	   061 		.ASCIZ	<126><200>\15-50\<200>
	000003	   065 	   055 	   065
	000006	   060 	   200 	   000
   1730	000011				PARMSG::
   1731	000011	   120 	   101 	   122 		.ASCIZ	%PAR -- %
	000014	   040 	   055 	   055
	000017	   040 	   000
   1732	000021				PARNAM::
   1733	000021	   120 	   101 	   122 		.ASCIZ	%PARSER%
	000024	   123 	   105 	   122
	000027	   000
   1734	000030				PROMPT::
   1735	000030	   120 	   101 	   122 		.ASCIZ	%PAR%
	000033	   000
   1736	000034				KLEPRM::
   1737	000034	   113 	   114 	   105 		.ASCIZ	%KLE>%
	000037	   076 	   000
   1738	000041				ONMSG::
   1739	000041	   117 	   116 	   000 		.ASCIZ	%ON%
   1740	000044				OFFMSG::
   1741	000044	   117 	   106 	   106 		.ASCIZ	%OFF%
	000047	   000
   1742	000000				.PSECT
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 40
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1744					.SBTTL	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
   1745
   1746					;+
   1747					; .CHTAB -- THE CHARACTER PROPERTY TABLE
   1748					;
   1749					; THIS IS A TABLE OF ASCII CHARACTER PROPERTIES. THERE IS ONE ENTRY
   1750					; FOR EACH CHARACTER IN THE ASCII STANDARD CHARACTER SET. EACH ENTRY
   1751					; IS ONE BYTE LONG, AND CONTAINS BITS ASSOCIATED WITH THE GENERAL
   1752					; PROPETIES OF THE ASCII CHARACTER IT REPRESENTS. ".CHTAB" IS
   1753					; REFERENCED BY USING THE ASCII CHARACTER UNDER TEST AS AN OFFSET
   1754					; INTO THE TABLE. ONE ASCII CHARACTER MAY HAVE MULTIPLE CHARACTERISTICS.
   1755					; THE DEFINITIONS FOR THE CHARACTERISTIC BITS ARE IN "COMMON.MAC",
   1756					; (Q.V.), WHICH ARE:
   1757					;
   1758					;	"CH.ALP" -- (BIT00) -- CHARACTER IS ALPHABETIC,
   1759					;	"CH.NUM" -- (BIT01) -- CHARACTER IS NUMERIC,
   1760					;	"CH.EOL" -- (BIT02) -- CHARACTER MAY END A LINE,
   1761					;	"CH.EOC" -- (BIT03) -- CHARACTER MAY END A COMMAND,
   1762					;	"CH.EOS" -- (BIT04) -- CHARACTER MAY SUFFIX A SYMBOL,
   1763					;	"CH.PFX" -- (BIT05) -- CHARACTER MAY PREFIX A SYMBOL,
   1764					;	"CH.AOP" -- (BIT06) -- CHARACTER MAY PREFIX AN ARITHMETIC OPERATOR,
   1765					;	"CH.ILL" -- (BIT07) -- CHARACTER IS ILLEGAL.
   1766					;
   1767					; TABS, (ASCII 011), AND LOWER CASE ALPHABETICS ARE ILLEGAL CHARACTERS
   1768					; SINCE THE INPUT ROUTINES CONVERT THESE CHARACTERS TO SPACES AND
   1769					; UPPER CASE ALPHABETICS, RESPECTIVELY.
   1770					;-
   1771
   1772	001502					.PSECT	DATA
   1773
   1774	001502				.CHTAB::
   1775	001502	   034 				.BYTE	CH.EOL!CH.EOC!CH.EOS	; <NULL> (000)
   1776	001503	   030 				.BYTE	CH.EOS!CH.EOC			; ^A (001)
   1777	001504	   200 				.BYTE	CH.ILL			; ^B (002)
   1778	001505	   200 				.BYTE	CH.ILL			; ^C (003)
   1779	001506	   200 				.BYTE	CH.ILL			; ^D (004)
   1780	001507	   200 				.BYTE	CH.ILL			; ^E (005)
   1781	001510	   200 				.BYTE	CH.ILL			; ^F (006)
   1782	001511	   200 				.BYTE	CH.ILL			; ^G <BELL> (007)
   1783	001512	   200 				.BYTE	CH.ILL			; ^H (010)
   1784	001513	   200 				.BYTE	CH.ILL			; ^I <HORIZONTAL-TAB> (011)
   1785	001514	   200 				.BYTE	CH.ILL			; ^J <NEW-LINE> (012)
   1786	001515	   200 				.BYTE	CH.ILL			; ^K <VERTICAL-TAB> (013)
   1787	001516	   200 				.BYTE	CH.ILL			; ^L <FORM-FEED> (014)
   1788	001517	   200 				.BYTE	CH.ILL			; ^M <CARRIAGE-RETURN> (015)
   1789	001520	   200 				.BYTE	CH.ILL			; ^N (016)
   1790	001521	   200 				.BYTE	CH.ILL			; ^O (017)
   1791	001522	   200 				.BYTE	CH.ILL			; ^P (020)
   1792	001523	   200 				.BYTE	CH.ILL			; ^Q (021)
   1793	001524	   200 				.BYTE	CH.ILL			; ^R (022)
   1794	001525	   200 				.BYTE	CH.ILL			; ^S (023)
   1795	001526	   200 				.BYTE	CH.ILL			; ^T (024)
   1796	001527	   200 				.BYTE	CH.ILL			; ^U (025)
   1797	001530	   200 				.BYTE	CH.ILL			; ^V (026)
   1798	001531	   200 				.BYTE	CH.ILL			; ^W (027)
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 41
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1800	001532	   200 				.BYTE	CH.ILL			; ^X (030)
   1801	001533	   200 				.BYTE	CH.ILL			; ^Y (031)
   1802	001534	   200 				.BYTE	CH.ILL			; ^Z (032)
   1803	001535	   200 				.BYTE	CH.ILL			; <ALT-MODE> (033)
   1804	001536	   200 				.BYTE	CH.ILL			; ^\ (034)
   1805	001537	   200 				.BYTE	CH.ILL			; ^] (035)
   1806	001540	   200 				.BYTE	CH.ILL			; ^^ (036)
   1807	001541	   200 				.BYTE	CH.ILL			; ^_ (037)
   1808	001542	   020 				.BYTE	CH.EOS			; <SPACE> (040)
   1809	001543	   200 				.BYTE	CH.ILL			; ! (041)
   1810	001544	   020 				.BYTE	CH.EOS			; " (042)
   1811	001545	   200 				.BYTE	CH.ILL			; # (043)
   1812	001546	   200 				.BYTE	CH.ILL			; $ (044)
   1813	001547	   200 				.BYTE	CH.ILL			; % (045)
   1814	001550	   200 				.BYTE	CH.ILL			; & (046)
   1815	001551	   020 				.BYTE	CH.EOS			; ' (047)
   1816	001552	   140 				.BYTE	CH.AOP!CH.PFX		; ( (050)
   1817	001553	   100 				.BYTE	CH.AOP			; ) (051)
   1818	001554	   120 				.BYTE	CH.AOP!CH.EOS		; * (052)
   1819	001555	   160 				.BYTE	CH.AOP!CH.EOS!CH.PFX	; + (053)
   1820	001556	   030 				.BYTE	CH.EOS!CH.EOC		; , (054)
   1821	001557	   160 				.BYTE	CH.AOP!CH.EOS!CH.PFX	; - (055)
   1822	001560	   200 				.BYTE	CH.ILL			; . (056)
   1823	001561	   120 				.BYTE	CH.AOP!CH.EOS		; / (057)
   1824						;
   1825	001562	   002 				.BYTE	CH.NUM			; 0 (060)
   1826	001563	   002 				.BYTE	CH.NUM			; 1 (061)
   1827	001564	   002 				.BYTE	CH.NUM			; 2 (062)
   1828	001565	   002 				.BYTE	CH.NUM			; 3 (063)
   1829	001566	   002 				.BYTE	CH.NUM			; 4 (064)
   1830	001567	   002 				.BYTE	CH.NUM			; 5 (065)
   1831	001570	   002 				.BYTE	CH.NUM			; 6 (066)
   1832	001571	   002 				.BYTE	CH.NUM			; 7 (067)
   1833	001572	   002 				.BYTE	CH.NUM			; 8 (070)
   1834	001573	   002 				.BYTE	CH.NUM			; 9 (071)
   1835						;
   1836	001574	   030 				.BYTE	CH.EOS!CH.EOC		; : (072)
   1837	001575	   030 				.BYTE	CH.EOS!CH.EOC		; ; (073)
   1838	001576	   200 				.BYTE	CH.ILL			; < (074)
   1839	001577	   020 				.BYTE	CH.EOS			; = (075)
   1840	001600	   020 				.BYTE	CH.EOS			; > (076)
   1841	001601	   041 				.BYTE	CH.PFX!CH.ALP		; ? (077)
   1842	001602	   200 				.BYTE	CH.ILL			; @ (100)
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 42
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1844	001603	   001 				.BYTE	CH.ALP			; A (101)
   1845	001604	   101 				.BYTE	CH.ALP!CH.AOP		; B (102)
   1846	001605	   101 				.BYTE	CH.ALP!CH.AOP		; C (103)
   1847	001606	   101 				.BYTE	CH.ALP!CH.AOP		; D (104)
   1848	001607	   001 				.BYTE	CH.ALP			; E (105)
   1849	001610	   001 				.BYTE	CH.ALP			; F (106)
   1850	001611	   001 				.BYTE	CH.ALP			; G (107)
   1851	001612	   001 				.BYTE	CH.ALP			; H (110)
   1852	001613	   001 				.BYTE	CH.ALP			; I (111)
   1853	001614	   001 				.BYTE	CH.ALP			; J (112)
   1854	001615	   001 				.BYTE	CH.ALP			; K (113)
   1855	001616	   001 				.BYTE	CH.ALP			; L (114)
   1856	001617	   001 				.BYTE	CH.ALP			; M (115)
   1857	001620	   001 				.BYTE	CH.ALP			; N (116)
   1858	001621	   101 				.BYTE	CH.ALP!CH.AOP		; O (117)
   1859	001622	   001 				.BYTE	CH.ALP			; P (120)
   1860	001623	   001 				.BYTE	CH.ALP			; Q (121)
   1861	001624	   001 				.BYTE	CH.ALP			; R (122)
   1862	001625	   001 				.BYTE	CH.ALP			; S (123)
   1863	001626	   001 				.BYTE	CH.ALP			; T (124)
   1864	001627	   001 				.BYTE	CH.ALP			; U (125)
   1865	001630	   001 				.BYTE	CH.ALP			; V (126)
   1866	001631	   001 				.BYTE	CH.ALP			; W (127)
   1867	001632	   001 				.BYTE	CH.ALP			; X (130)
   1868	001633	   001 				.BYTE	CH.ALP			; Y (131)
   1869	001634	   001 				.BYTE	CH.ALP			; Z (132)
   1870						;
   1871	001635	   200 				.BYTE	CH.ILL			; [ (133)
   1872	001636	   200 				.BYTE	CH.ILL			; \ (134)
   1873	001637	   200 				.BYTE	CH.ILL			; ] (135)
   1874	001640	   140 				.BYTE	CH.AOP!CH.PFX		; ^ (136)
   1875	001641	   120 				.BYTE	CH.AOP!CH.EOS		; _ (137)
   1876	001642	   200 				.BYTE	CH.ILL			; @ (140)
   1911					.EVEN
   1912	000000					.PSECT
DATAB  -- COMMAND PARSER DATA B	MACRO M1113  03-APR-86 22:51  PAGE 44
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   1915
   1916					.TITLE	DEB880 -- DEBUG PARSER DATA BASE
   1917
   1918						.IDENT	"006110"
   1919
   1920					;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 46
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

   2019					.TITLE	CHECK -- GENERAL ARGUMENT CHECK MODULE 7709.21
   2020
   2021						.IDENT	"006020"
   2022
   2023					;
   2024					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2025					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2026					;			ALL RIGHTS RESERVED.
   2027					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2028					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2029					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2030					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2031					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2032					;
   2033					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2034					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2035					;       CORPORATION.
   2036					;
   2037					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2038					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2039					;
   2040					;		MODULE: ALPANUMERIC ARGUMENT CHECK
   2041					;
   2042					;		VERSION: 06-02
   2043					;
   2044					;		AUTHOR: R. BELANGER
   2045					;
   2046					;		DATE: 709.21
   2047					;
   2048					;	THIS MODULE CONTAINS:
   2049					;
   2050					;	1) ALPHANUMERIC ARGUMENT CHECK CODE
   2051					;	2) TRAILING COLON CHECK CODE
   2052					;	3) END OF COMMAND CHECK CODE
   2053					;	4) END OF SYMBOL CHECK CODE
   2054					;	5) TRAILING OBJECT CHECK CODE
   2055					;	6) TRAILING SYMBOL CHECK CODE
   2056					;
   2057					;	MODIFICATION:
   2058					;
   2059					;	NO.	DATE		PROGRAMMER	REASON
   2060					;	---	----		----------	------
   2061					;   TCO 5.1002	18-SEP-79	K. LEFEBVRE	ADD RETURN TO CES ON SWEEP
   2062
   2063						.MCALL	CLEF$S
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 47
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15

   2065					.SBTTL	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
   2066
   2067					;+
   2068					; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
   2069					;	    DTE-20 DIAG WORD 1.
   2070					;
   2071					; THIS SUBROUTINE CHECKS FOR THE KL CLOCK ERROR STOP ("D1.CES") FLAG
   2072					; IN THE DTE-20 DIAG1 REGISTER, AND WILL RETURN NORMALLY IF THE BIT IS OFF.
   2073					;
   2074					; SEQUENCE OF OPERATION:
   2075					;
   2076					;	(A) READ DTE-20 DIAG WORD 1,
   2077					;	(B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
   2078					;	(C) IF THE FLAG IS CLEAR, EXIT, ELSE GO TO (D),
   2079					;	(D) RESET THE STATE OF ".KLFLG" AND ".SVKLF" (Q.V.),
   2080					;	(E) FORCE A CONTEXT SWITCH INTO SECONDARY PROTOCOL,
   2081					;	(F) RETURN A .RAD50 "CES" ERROR CODE VIA ERROR TRAP.
   2082					;
   2083					; INPUT ARGUMENTS:
   2084					;
   2085					;	NONE.
   2086					;
   2087					; OUTPUT ARGUMENTS:
   2088					;
   2089					;	R0 CONTAINS A COPY OF DTE-20 DIAG WORD 1.
   2090					;	CC-C IS SET IF CES AND SWEEP IN PROGRESS
   2091					;
   2092					; ERROR CODES RETURNED:
   2093					;
   2094					;	CES -- KL CLOCK ERROR STOP.
   2095					;	DSF -- DTE-20 STATUS FAILURE.
   2096					;-
   2097
   2098	000000				.CESCK::
   2102	000000					CALL	.DTDW1		; READ DIAG WORD 1
	000000	004737 	003530'			 JSR	PC,.DTDW1
   2103	000004	032700 	004000 			BIT	#D1.CES,R0	; IS CLOCK ERROR STOP LIT?
   2104	000010	001002 				BNE	CESCES		; YES -- GIVE "CES" ERROR
   2105	000012	000241 				CLC			; [5.1002]NO -- CLEAR CARRY
   2106	000014					RETURN			; JUST RETURN
	000014	000207 				 RTS	PC
   2107	000016				CESCES:
   2108	000016					CALL	..DTSP		; [5.1002]STOP ALL PROTOCOLS
	000016	004737 	000000G			 JSR	PC,..DTSP
   2109	000022	112737 	000001 	000000G		MOVB	#1,.NOERR	; AND DISABLE ERROR INTERRUPT
   2110	000030	005037 	000260'			CLR	.SVKLF		; DISALLOW RESTARTS
   2111	000034	042737 	140200 	000000G		BIC	#KF.CON!KF.RUN!KF.CLK,.KLFLG
   2112									; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
   2113	000042	052737 	000100 	000000G		BIS	#KF.CES,.KLFLG	; FLAG THE CLOCK ERROR STOP
   2114	000050	005737 	000262'			TST	.SWPIP		; [5.1002]SWEEP IN PROGRESS?
   2115	000054	001402 				BEQ	10$		; [5.1002]NO -- TAKE ERROR TRAP
   2116	000056	000261 				SEC			; [5.1002]YES -- SET CARRY
   2117	000060					RETURN			; [5.1002]EXIT
	000060	000207 				 RTS	PC
   2118	000062				10$:	ERROR$	CES		; ERROR -- CLOCK ERROR STOP
	000062	012746 	011633 			 MOV	#^RCES,-(SP)
	000066	104400 				 TRAP	TC.ERR
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 47-1
.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15

   2119						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 48
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21

   2121					.SBTTL	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
   2122
   2123					;+
   2124					; .CKARG -- CHECK FOR AN ALPHANUMERIC ARGUMENT
   2125					;
   2126					; THIS ROUTINE WILL CHECK THE FIRST CHARACTER OF THE NEXT SYMBOL
   2127					; IN THE INPUT STREAM TO SEE IF IT IS ALPHABETIC OR NUMERIC.
   2128					;
   2129					; INPUT ARGUMENTS:
   2130					;
   2131					;	R5 POINTS TO THE INPUT STREAM
   2132					;
   2133					; OUTPUT ARGUMENTS:
   2134					;
   2135					;	R5 POINTS TO THE FIRST CHARACTER IN THE SYMBOL
   2136					;	CC-N IS SET IF IT IS NUMERIC
   2137					;	CC-Z IS SET IF IT IS ALPHABETIC
   2138					;
   2139					; ERROR CODES RETURNED:
   2140					;
   2141					;	MRA -- MISSING REQUIRED ARGUMENT
   2142					;-
   2143
   2144	000070				.CKARG::
   2145	000070					CALL	.CKSYM		; GET OVER LEADING BLANKS
	000070	004737 	000374'			 JSR	PC,.CKSYM
   2146	000074	132764 	000001 	001502'		BITB	#CH.ALP,.CHTAB(R4)
   2147	000102	001403 				BEQ	10$		; SEE IF IT IS NUMERIC
   2148	000104	000250 				CLN			; CLEAR CC-N
   2149	000106	000264 				SEZ			; SET CC-Z TO SAY ALPHABETIC
   2150	000110	000406 				BR	20$		; AND EXIT
   2151						;
   2152	000112				10$:
   2153	000112	132764 	000042 	001502'		BITB	#CH.NUM!CH.PFX,.CHTAB(R4)
   2154	000120	001417 				BEQ	CKCMRA		; NOT NUMERIC -- GIVE ERROR
   2155	000122	000244 				CLZ			; CLEAR CC-Z
   2156	000124	000270 				SEN			; SET CC-N TO SAY NUMERIC
   2157	000126				20$:
   2158	000126					RETURN			; TO CALLER
	000126	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 49
.CKCOL -- CHECK FOR A EQUAL 7709.21

   2160					.SBTTL	.CKCOL -- CHECK FOR A EQUAL 7709.21
   2161
   2162					;+
   2163					; .CKCOL -- CHECK FOR A EQUAL
   2164					;
   2165					; THIS ROUTINE CHECKS FOR A EQUAL AFTER A SYMBOL
   2166					;
   2167					; INPUT ARGUMENTS:
   2168					;
   2169					;	R5 POINTS TO THE INPUT STREAM
   2170					;
   2171					; OUTPUT ARGUMENTS:
   2172					;
   2173					;	R5 POINTS TO THE FIRST CHARACTER AFTER THE EQUAL.
   2174					;
   2175					; ERROR CODES RETURNED:
   2176					;
   2177					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
   2178					;	MRA -- MISSING REQUIRED ARGUMENT
   2179					;-
   2180
   2181	000130				.CKCOL::
   2182	000130	112504 				MOVB	(R5)+,R4	; GET THE CHARACTER
   2183	000132	132764 	000010 	001502'		BITB	#CH.EOC,.CHTAB(R4)
   2184	000140	001007 				BNE	CKCMRA		; MISSING ARGUMENT IF E-O-C
   2185	000142	122704 	000075 			CMPB	#'=,R4		; IS IT A EQUAL?
   2186	000146	001001 				BNE	CKCILS		; NO -- GIVE "ILS" ERROR
   2187	000150					RETURN			; YES -- JUST RETURN
	000150	000207 				 RTS	PC
   2188	000152				CKCILS:
   2189	000152					ERROR$	ILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
	000152	012746 	035063 			 MOV	#^RILS,-(SP)
	000156	104400 				 TRAP	TC.ERR
   2190						;
   2191	000160				CKCMRA:
   2192	000160					ERROR$	MRA		; ERROR -- MISSING REQUIRED ARGUMENT
	000160	012746 	052021 			 MOV	#^RMRA,-(SP)
	000164	104400 				 TRAP	TC.ERR
   2193						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 50
.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28

   2195					.SBTTL	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
   2196
   2197					;+
   2198					; .CKCTC -- CHECK FOR CONTROL-C TYPED
   2199					;
   2200					; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
   2201					; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
   2202					;
   2203					; INPUT ARGUMENTS:
   2204					;
   2205					;	NONE.
   2206					;
   2207					; OUTPUT ARGUMENTS:
   2208					;
   2209					;	NONE
   2210					;
   2211					; ERROR CODES RETURNED:
   2212					;
   2213					;	NONE.
   2214					;-
   2215
   2216	000166				.CKCTC::
   2217	000166					CLEF$S	#E.FCTC		; CLEAR THE EVENT FLAG
	000166	012746 	000000G			MOV	#E.FCTC,-(SP)
	000172	012746 				MOV	(PC)+,-(SP)
	000174	   037 	   002 			.BYTE	31.,2
	000176	104375 				EMT	375
   2218	000200	022737 	000000G	000000G		CMP	#IS.SET,$DSW	; WAS IT SET?
   2219	000206	001401 				BEQ	10$		; YES -- TRAP OUT
   2220	000210					RETURN			; NO -- JUST RETURN
	000210	000207 				 RTS	PC
   2221	000212				10$:				; PC OF CALL WILL BE IN ".TRPEC"
   2222	000212	104402 				TRAP	TC.CTC		; .TRAP AND RESTART
   2223						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 51
.CKEOC -- CHECK END OF COMMAND 7602.16

   2225					.SBTTL	.CKEOC -- CHECK END OF COMMAND 7602.16
   2226
   2227					;+
   2228					; .CKEOC -- CHECK FOR END OF COMMAND
   2229					;
   2230					; THIS ROUTINE CHECKS FOR AN END OF COMMAND CHARACTER
   2231					;
   2232					; INPUT ARGUMENTS:
   2233					;
   2234					;	R5 POINTS TO THE INPUT STREAM
   2235					;
   2236					; OUTPUT ARGUMENTS:
   2237					;
   2238					;	R5 IS UNCHANGED
   2239					;
   2240					; ERROR CODES RETURNED:
   2241					;
   2242					;	EOC -- END OF COMMAND REQUIRED
   2243					;	ILS -- ILLEGAL SEPARATOR CHARACTER
   2244					;-
   2245
   2246	000214				.CKEOC::
   2247	000214	111504 				MOVB	(R5),R4		; GET THE CHARACTER
   2248	000216	132764 	000010 	001502'		BITB	#CH.EOC,.CHTAB(R4)
   2249	000224	001401 				BEQ	10$		; MAY BE ERROR IF NOT E-O-C
   2250	000226					RETURN			; TO CALLER
	000226	000207 				 RTS	PC
   2251	000230				10$:
   2252	000230					PUSH	R4		; SAVE THE CHARACTER
	000230	010446 				 MOV	R4,-(SP)
   2253	000232					CALL	.CKSYM		; .LOOK FOR A NON-BLANK CHARACTER
	000232	004737 	000374'			 JSR	PC,.CKSYM
   2254	000236	122704 	000077 			CMPB	#'?,R4		; .IS THIS AN INQUIRY?
   2255	000242	001402 				BEQ	CKEEOC		; .YES -- GIVE "EOC" ERROR
   2256	000244					POP	R4		; .NO -- GIVE "ILS" ERROR
	000244	012604 				 MOV	(SP)+,R4
   2257	000246	000741 				BR	CKCILS		; ERROR -- ILLEGAL SEPARATOR CHARACTER
   2258						;
   2259	000250				CKEEOC:
   2260	000250					ERROR$	EOC		; ERROR -- END OF COMMAND
	000250	012746 	020633 			 MOV	#^REOC,-(SP)
	000254	104400 				 TRAP	TC.ERR
   2261						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 52
.CKEOS -- CHECK END OF SYMBOL 7709.21

   2263					.SBTTL	.CKEOS -- CHECK END OF SYMBOL 7709.21
   2264
   2265					;+
   2266					; .CKEOS -- CHECK FOR A NON-BLANK END OF SYMBOL
   2267					;
   2268					; THIS ROUTINE CHECKS FOR A NON-BLANK END-OF-SYMBOL CHARACTER
   2269					;
   2270					; INPUT ARGUMENTS:
   2271					;
   2272					;	R5 POINTS TO THE END-OF-SYMBOL CHARACTER
   2273					;
   2274					; OUTPUT ARGUMENTS:
   2275					;
   2276					;	R5 IS UNCHANGED
   2277					;
   2278					; ERROR CODES RETURNED:
   2279					;
   2280					;	ILS -- ILLEGAL SEPARATOR CHRARACTER
   2281					;-
   2282
   2283	000256				.CKEOS::
   2284	000256	111504 				MOVB	(R5),R4		; GET THE CHARACTER INTO R4
   2285	000260	132764 	000020 	001502'		BITB	#CH.EOS,.CHTAB(R4)
   2286	000266	001731 				BEQ	CKCILS		; ILLEGAL IF NOT E-O-S
   2287	000270	122704 	000040 			CMPB	#.SPACE,R4	; IS IS A <SPACE>?
   2288	000274	001726 				BEQ	CKCILS		; YES -- COMPLAIN
   2289	000276					RETURN			; NO -- JUST RETURN
	000276	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 53
.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21

   2291					.SBTTL	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
   2292
   2293					;+
   2294					; .CKOBJ -- CHECK FOR A TRAILING OBJECT.
   2295					;
   2296					; THIS SUBROUTINE CHECKS TO SEE IF AN OBJECT SYMBOL FOLLOWS THE
   2297					; CURRENT SYMBOL.
   2298					;
   2299					; INPUT ARGUMENTS:
   2300					;
   2301					;	NONE.
   2302					;
   2303					; OUTPUT ARGUMENTS:
   2304					;
   2305					;	NONE.
   2306					;
   2307					; ERROR CODES RETURNED:
   2308					;
   2309					;	MRA -- MISSING REQUIRED ARGUMENT.
   2310					;-
   2311
   2312	000300				.CKOBJ::
   2313	000300					CALL	.CKSYM		; GET OVER LEADING BLANKS
	000300	004737 	000374'			 JSR	PC,.CKSYM
   2314	000304	132764 	000010 	001502'		BITB	#CH.EOC,.CHTAB(R4)
   2315	000312	001322 				BNE	CKCMRA		; ILLEGAL IF E-O-C
   2316	000314					RETURN			; NOT E-O-C -- RETURN
	000314	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 54
.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12

   2318					.SBTTL	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
   2319
   2320					;+
   2321					; .CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING
   2322					; .CKRNP -- SPECIAL RUN CHECK FOR PROGRAMMER MODE
   2323					;
   2324					; THIS SUBROUTINE WILL CHECK IF THE KL IS RUNNING FROM ".KLFLG"
   2325					; OR IF THE FRONT END IS IN MAINTENANCE MODE.
   2326					;
   2327					; INPUT ARGUMENTS:
   2328					;
   2329					;	NONE.
   2330					;
   2331					; OUTPUT ARGUMENTS:
   2332					;
   2333					;	NONE.
   2334					;
   2335					; ERROR CODES RETURNED:
   2336					;
   2337					;	KLR -- KL IS RUNNING.
   2338					;-
   2339
   2340						.ENABL	LSB
   2341
   2342	000316				.CKRNP::
   2343	000316					PUSH	R0		; SAVE R0
	000316	010046 				 MOV	R0,-(SP)
   2344	000320	012700 	000002 			MOV	#LG.PRG,R0	; .SET PROGRAMMER ALLOWED
   2345	000324	000402 				BR	10$		; .AND CONTINUE TEST
   2346						;
   2347	000326				.CKRUN::
   2348	000326					PUSH	R0		; SAVE R0
	000326	010046 				 MOV	R0,-(SP)
   2349	000330	005000 				CLR	R0		; .CLEAR R0
   2350	000332				10$:
   2351	000332	052700 	000004 			BIS	#LG.MNT,R0	; .SET MAINTENANCE ALLOWED
   2352	000336					PUSH	.KLFLG		; .SAVE ".KLFLG"
	000336	013746 	000000G			 MOV	.KLFLG,-(SP)
   2353	000342	005116 				COM	(SP)		; ..INVERT ".KLFLG"
   2354	000344	032716 	140000 			BIT	#KF.RUN!KF.CLK,(SP)
   2355	000350	001003 				BNE	20$		; ..BRANCH IF THE KL IS NOT RUNNING
   2356	000352	030037 	000000G			BIT	R0,.FEMOD	; ..ARE WE IN ALLOWED MODE?
   2357	000356	001403 				BEQ	CKRKLR		; ..NO -- GIVE "KLR" ERROR
   2358	000360				20$:
   2359	000360	005726 				TST	(SP)+		; ..YES -- RESET THE STACK
   2360	000362					POP	R0		; .RESTORE R0
	000362	012600 				 MOV	(SP)+,R0
   2361	000364					RETURN			; TO CALLER
	000364	000207 				 RTS	PC
   2362
   2363						.DSABL	LSB
   2364
   2365	000366				CKRKLR:
   2366	000366					ERROR$	KLR		; ..ERROR -- KL IS RUNNING
	000366	012746 	043262 			 MOV	#^RKLR,-(SP)
	000372	104400 				 TRAP	TC.ERR
   2367						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 55
.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21

   2369					.SBTTL	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
   2370
   2371					;+
   2372					; .CKSYM -- SUBROUTINE TO FIND THE FIRST CHARACTER IN A SYMBOL.
   2373					;
   2374					; THIS SUBROUTINE WILL FIND THE FIRST NON-BLANK CHARACTER IN AN INPUT
   2375					; SYMBOL POINTED TO BY R5. THE SYMBOL IS THEN CHECKED TO SEE IF IT IS
   2376					; ALPAHBETIC, NUMERIC, OR A LEGAL PREFIX CHARACTER.
   2377					;
   2378					; INPUT ARGUMENTS:
   2379					;
   2380					;	R5 POINTS TO THE INPUT STREAM.
   2381					;
   2382					; OUTPUT ARGUMENTS:
   2383					;
   2384					;	R5 POINTS TO THE FIRST NON-BLANK CHARACTER.
   2385					;
   2386					; ERROR CODES RETURNED:
   2387					;
   2388					;	NONE.
   2389					;-
   2390
   2391	000374				.CKSYM::
   2392	000374	112504 				MOVB	(R5)+,R4	; GET THE CHARACTER
   2393	000376	122704 	000040 			CMPB	#.SPACE,R4	; IS IT A <SPACE>?
   2394	000402	001774 				BEQ	.CKSYM		; YES -- DO NEXT CHARACTER
   2395	000404	105745 				TSTB	-(R5)		; NO -- BACK THE POINTER UP
   2396	000406					RETURN			; TO CALLER
	000406	000207 				 RTS	PC
CHECK -- GENERAL ARGUMENT CHECK	MACRO M1113  03-APR-86 22:51  PAGE 56
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03

   2398					.SBTTL	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
   2399
   2400					;+
   2401					; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
   2402					;
   2403					; THIS SUBROUTINE WILL CAUSE AN ERROR TRAP IF THE EBUS PARITY ERROR
   2404					; FLAG IS TRUE IN THE DTE-20 STATUS WORD.
   2405					;
   2406					; INPUT ARGUMENTS:
   2407					;
   2408					;	NONE.
   2409					;
   2410					; OUTPUT ARGUMENTS:
   2411					;
   2412					;	R0 CONTAINS A COPY OF THE DTE-20 STATUS WORD
   2413					;
   2414					; ERROR CODES RETURNED:
   2415					;
   2416					;	DSF -- DTE-20 STATUS FAILURE.
   2417					;	EPE -- EBUS PARITY ERROR.
   2418					;-
   2419
   2420	000410				.EBPCK::
   2421	000410					CALL	.DTSTA		; READ DTE-20 STATUS WORD
	000410	004737 	003546'			 JSR	PC,.DTSTA
   2422	000414	032700 	000020 			BIT	#ST.EPE,R0	; EBUS PARITY ERROR?
   2424	000420	001001 				BNE	EBPEPE		; YES -- GIVE "EPE" ERROR
   2426	000422					RETURN			; NO -- JUST RETURN
	000422	000207 				 RTS	PC
   2427	000424				EBPEPE:
   2428	000424					ERROR$	EPE		; ERROR -- EBUS PARITY ERROR
	000424	012746 	020705 			 MOV	#^REPE,-(SP)
	000430	104400 				 TRAP	TC.ERR
   2429						;
   2430
   2431					.TITLE	ERROR -- PARSER ERROR HANDLER MODULE 7609.24
   2432
   2433						.IDENT	"006020"
   2434					;
   2435					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2436					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2437					;			ALL RIGHTS RESERVED.
   2438					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2439					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2440					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2441					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2442					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2443					;
   2444					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2445					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2446					;       CORPORATION.
   2447					;
   2448					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2449					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2450					;
   2451					;		MODULE: ERROR HANDLER
   2452					;
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 56-1
.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03

   2453					;		VERSION: 06-02
   2454					;
   2455					;		AUTHOR: R. BELANGER
   2456					;
   2457					;		DATE: 7609.24
   2458					;
   2459					;	THIS MODULE CONTAINS:
   2460					;
   2461					;	1) ERROR DECODER
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 57
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

   2463					.SBTTL	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
   2464
   2465					;+
   2466					; .PARER -- ERROR DECODE AND PRINT ROUTINE.
   2467					;
   2468					; THIS ROUTINE WILL DECODE THE .RAD50 ERROR CODE PASSED TO IT IN R0
   2469					; AND PRINT AN APPROPRIATE ENGLISH ERROR MESSAGE. THIS ROUTINE IS
   2470					; CALLED FROM THE TRAP HANDLER, ".PTTRP".
   2471					;
   2472					; TWO ERROR CODE TABLES ARE SCANNED, ONE FOR SPECIAL ERRORS AND ONE FOR
   2473					; NORMAL ERRORS, UNTIL A MATCH IS FOUND. IF NO MATCH IS FOUND, ".PARER"
   2474					; WILL ISSUE A "UEC" ERROR CODE.
   2475					;
   2476					; THE SPECIAL ERROR CODES REQUIRE SPECIAL HANDLING BY SEPARATE ROUTINES,
   2477					; THIER ENTRIES LOOK LIKE THIS:
   2478					;
   2479					;	!===============================!
   2480					;	!	.RAD50 ERROR CODE	!
   2481					;	!-------------------------------!
   2482					;	!	DISPATCH ADDRESS	!
   2483					;	!-------------------------------!
   2484					;	!	MESSAGE POINTER		!
   2485					;	!===============================!
   2486					;
   2487					; THE NORMAL ERRORS SIMPLY REQUIRE THAT THE ERROR MESSAGE BE PRINTED
   2488					; AND THE ENTRIES IN THIER TABLE LOOK LIKE THIS:
   2489					;
   2490					;	!===============================!
   2491					;	!	.RAD50 ERROR CODE	!
   2492					;	!-------------------------------!
   2493					;	!	MESSAGE POINTER		!
   2494					;	!===============================!
   2495					;
   2496					; INPUT ARGUMENTS:
   2497					;
   2498					;	R0 HOLDS THE .RAD50 ERROR CODE
   2499					;
   2500					; OUTPUT ARGUMENTS:
   2501					;
   2502					;	NONE.
   2503					;
   2504					; ERROR MESSAGES RETURNED:
   2505					;
   2506					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DEATCHED,
   2507					;	THE PARSER EXITS.
   2508					;
   2509					;	UEC -- UNMATCHED ERROR CODE.
   2510					;-
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 58
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

   2512	000432				.PARER::
   2513	000432					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	000432	010046 				 MOV	R0,-(SP)
	000434	010146 				 MOV	R1,-(SP)
	000436	010246 				 MOV	R2,-(SP)
   2514	000440	012701 	006740'			MOV	#.SPETB,R1	; ...SPECIAL ERRORS GET CHECKED FIRST
   2515	000444				10$:
   2516	000444	012102 				MOV	(R1)+,R2	; ...ERROR CODE TO R2
   2517	000446	001405 				BEQ	30$		; ...END-OF-TABLE TRY OTHER ERROR CODES
   2518	000450	020002 				CMP	R0,R2		; ...DO THEY MATCH?
   2519	000452	001402 				BEQ	20$		; ...YES -- DISPATCH TO SPECIAL HANDLER
   2520	000454	022121 				CMP	(R1)+,(R1)+	; ...NO -- GET OVER DISPATCH
   2521	000456	000772 				BR	10$		; ...AND TRY THE NEXT ONE
   2522						;
   2523	000460				20$:
   2524	000460	000131 				JMP	@(R1)+		; ...AWAY TO SPECIAL ROUTINE
   2525						;
   2526	000462				30$:
   2527	000462	012701 	005542'			MOV	#.NSETB,R1	; ...TABLE POINTER TO R1
   2528	000466				40$:
   2529	000466	012102 				MOV	(R1)+,R2	; ...ERROR CODE TO R2
   2530	000470	001521 				BEQ	PARUEC		; ...END-OF-TABLE -- GIVE UEC ERROR
   2531	000472	020002 				CMP	R0,R2		; ...DO THEY MATCH?
   2532	000474	001402 				BEQ	50$		; ...YES -- PRINT THE MESSAGE
   2533	000476	005721 				TST	(R1)+		; ...NO -- GET OVER MESSAGE POINTER
   2534	000500	000772 				BR	40$		; ...AND TRY NEXT CODE
   2535						;
   2536	000502				50$:
   2537	000502					CALL	PARERC		; ...DO COMMON OUTPUT CODE
	000502	004737 	000662'			 JSR	PC,PARERC
   2538	000506				PARERX:
   2539	000506					POP	<R2,R1,R0>	; ...RESTORE THE REGISTERS
	000506	012602 				 MOV	(SP)+,R2
	000510	012601 				 MOV	(SP)+,R1
	000512	012600 				 MOV	(SP)+,R0
   2540	000514					CALLR	.TCRLF		; END THE LINE AND RETURN
	000514	000137 	015552'			 JMP	.TCRLF
   2541						;
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 59
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   2543					.SBTTL	.PARER -- SPECIAL ERROR ROUTINES 7609.24
   2544
   2545						.ENABL	LSB
   2546
   2547	000520				.SEAMB::
   2548	000520				.SENSK::
   2549	000520					CALL	PARERC		; ...DO COMMON CODE
	000520	004737 	000662'			 JSR	PC,PARERC
   2550	000524				10$:
   2551	000524	112500 				MOVB	(R5)+,R0	; ...LOAD THE OFFENDING SYMBOL
   2552	000526	132760 	000034 	001502'		BITB	#CH.END,.CHTAB(R0)
   2553	000534	001017 				BNE	30$		; ...UNTIL THE END
   2554	000536					CALL	.TYCHR		; ...OUTPUT THE CHARACTER
	000536	004737 	015520'			 JSR	PC,.TYCHR
   2555	000542	000770 				BR	10$		; ...CONTINUE
   2556						;
   2557	000544				.SEILC::
   2558	000544				.SEILS::
   2559	000544				.SEIPC::
   2560	000544					CALL	PARERC		; ...DO COMMON CODE
	000544	004737 	000662'			 JSR	PC,PARERC
   2561	000550	110400 				MOVB	R4,R0		; ...GET THE CHARACTER
   2562	000552	122700 	000040 			CMPB	#.SPACE,R0	; ...IS IT A CONTROL CHARACTER?
   2563	000556	003404 				BLE	20$		; ...NO -- JUST PRINT IT
   2564	000560					CALL	.TYUPA		; ...YES -- TYPE AN <UPARROW>
	000560	004737 	014612'			 JSR	PC,.TYUPA
   2565	000564	052700 	000100 			BIS	#100,R0		; ...MAKE IT A PRINTING CHARACTER
   2566	000570				20$:
   2567	000570					CALL	.TYCHR		; ...PRINT THE CHARACTER
	000570	004737 	015520'			 JSR	PC,.TYCHR
   2568	000574				30$:
   2569	000574	112700 	000042 			MOVB	#'",R0		; ...END QUOTE
   2570	000600					CALL	.TYCHR		; ...PRINT THAT
	000600	004737 	015520'			 JSR	PC,.TYCHR
   2571	000604	000740 				BR	PARERX		; ...AND EXIT
   2572						;
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 60
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   2574	000606				.SEFRF::
   2575	000606					PUSH	.KLDFR+2	; ...SAVE THE READ CODE
	000606	013746 	000340'			 MOV	.KLDFR+2,-(SP)
   2576	000612	000405 				BR	40$		; ....TO COMMON CODE
   2577						;
   2578	000614				.SEFWF::
   2579	000614					PUSH	.KLDFW+2	; ...SAVE THE WRITE CODE
	000614	013746 	000352'			 MOV	.KLDFW+2,-(SP)
   2580	000620	000402 				BR	40$		; ....TO COMMON CODE
   2581						;
   2582	000622				.SEFXF::
   2583	000622					PUSH	.KLDFX+2	; ...SAVE THE EXECUTE CODE
	000622	013746 	000364'			 MOV	.KLDFX+2,-(SP)
   2584	000626				40$:
   2585	000626					CALL	PARERC		; ....DO COMMON STUFF
	000626	004737 	000662'			 JSR	PC,PARERC
   2586	000632					POP	R0		; ....GET THE CODE
	000632	012600 				 MOV	(SP)+,R0
   2587	000634	000300 				SWAB	R0		; ...SWAP THE BYTES
   2588	000636	042700 	177400 			BIC	#^C377,R0	; ...CLEAR JUNK
   2589	000642	006200 				ASR	R0		; ...DIVIDE BY 2
   2590	000644					CALL	.TYP3D		; ...PRINT CODE
	000644	004737 	015032'			 JSR	PC,.TYP3D
   2591	000650	012700 	000050'			MOV	#FLDMSG,R0	; ...END MESSAGE
   2592	000654					CALL	.TYMSG		; ...PRINT IT
	000654	004737 	015462'			 JSR	PC,.TYMSG
   2593	000660	000712 				BR	PARERX		; ...AND EXIT
   2594						;
   2595
   2596	000050				.PSECT	MESSAG
   2597
   2598	000050				FLDMSG:
   2599	000050	   040 	   106 	   101 		.ASCIZ	% FAILED%
	000053	   111 	   114 	   105
	000056	   104 	   000
   2600	000662				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 61
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   2602					; THIS IS THE COMMON ERROR CODE ROUTINE
   2603
   2604	000662				PARERC:
   2605	000662	012700 	000011'			MOV	#PARMSG,R0	; ...PREAMBLE
   2606	000666					CALL	.TYMSG		; ...PRINT IT
	000666	004737 	015462'			 JSR	PC,.TYMSG
   2607	000672	012700 	000133 			MOV	#'[,R0		; ...LEFT BRACKET
   2608	000676					CALL	.TYCHR		; ...PRINT IT
	000676	004737 	015520'			 JSR	PC,.TYCHR
   2609	000702	013700 	000004'			MOV	.CCMDN,R0	; ...CURRENT COMMAND NAME
   2610	000706					CALL	.TYMSG		; ...PRINT IT
	000706	004737 	015462'			 JSR	PC,.TYMSG
   2611	000712	012700 	000135 			MOV	#'],R0		; ...RIGHT BRACKET
   2612	000716					CALL	.TYCHR		; ...PRINT IT
	000716	004737 	015520'			 JSR	PC,.TYCHR
   2613	000722					CALL	.TYSPC		; ...<SPACE>
	000722	004737 	014602'			 JSR	PC,.TYSPC
   2614	000726	011100 				MOV	(R1),R0		; ...ERROR MESSAGE
   2615	000730					CALLR	.TYMSG		; ...PRINT IT AND RETURN
	000730	000137 	015462'			 JMP	.TYMSG
   2616						;
   2617	000734				PARUEC:
   2618	000734					PUSH	R0		; ...SAVE THE ERROR CODE
	000734	010046 				 MOV	R0,-(SP)
   2619	000736	012701 	001644'			MOV	#UECMSP,R1	; ...."UEC" MESSAGE POINTER TO R1
   2620	000742					CALL	PARERC		; ....DO COMMON CODE
	000742	004737 	000662'			 JSR	PC,PARERC
   2621	000746					POP	R0		; ....RESTORE THE ERROR CODE
	000746	012600 				 MOV	(SP)+,R0
   2622	000750					CALL	.TYR50		; ...PRINT IT
	000750	004737 	015772'			 JSR	PC,.TYR50
   2623	000754	000707 				BR	30$		; ...AND EXIT
   2624						;
   2625
   2626						.DSABL	LSB
   2627
   2628	001644				.PSECT	DATA
   2629
   2630	001644				UECMSP:
   2631	001644	000060'				.WORD	UECMSG
   2632
   2633	000060				.PSECT	MESSAG
   2634
   2635	000060				UECMSG:
   2636	000060	   125 	   116 	   115 		.ASCIZ	%UNMATCHED ERROR CODE "%
	000063	   101 	   124 	   103
	000066	   110 	   105 	   104
	000071	   040 	   105 	   122
	000074	   122 	   117 	   122
	000077	   040 	   103 	   117
	000102	   104 	   105 	   040
	000105	   042 	   000
   2637
   2638	000756				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 62
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   2640	000756				.SECES::
   2641	000756					CALL	PARERC		; ...DO COMMON CODE
	000756	004737 	000662'			 JSR	PC,PARERC
   2642	000762					CALL	.RDIPE		; ...READ THE ERROR BITS
	000762	004737 	006704'			 JSR	PC,.RDIPE
   2643	000766					PUSH	R0		; ....SAVE THEM
	000766	010046 				 MOV	R0,-(SP)
   2644	000770	001420 				BEQ	30$		; ....BAD NEWS IF NONE THERE
   2645	000772	012701 	001646'			MOV	#SPCEST,R1	; ....TABLE POINTER TO R1
   2646	000776				10$:
   2647	000776	032716 	000001 			BIT	#BIT00,(SP)	; ....IS THE BIT ON
   2648	001002	001407 				BEQ	20$		; ....NO -- GO ON
   2649	001004	011100 				MOV	(R1),R0		; ....YES -- SAY SO
   2650	001006					CALL	.TYMSG		; ....PRINT IT
	001006	004737 	015462'			 JSR	PC,.TYMSG
   2651	001012					CALL	.TYCOM		; ....PRINT A COMMA
	001012	004737 	014552'			 JSR	PC,.TYCOM
   2652	001016					CALL	.TYSPC		; ....AND A SPACE
	001016	004737 	014602'			 JSR	PC,.TYSPC
   2653	001022				20$:
   2654	001022	005721 				TST	(R1)+		; ....ADVANCE THE POINTER
   2655	001024	006216 				ASR	(SP)		; ....SHIFT THE ERROR BITS
   2656	001026	001363 				BNE	10$		; ....AND KEEP GOING
   2657	001030	000404 				BR	40$		; ....FINISHED -- EXIT
   2658						;
   2659	001032				30$:
   2660	001032	012700 	000122'			MOV	#NEBMSG,R0	; ....NO ERROR BIT ARE SET
   2661	001036					CALL	.TYMSG		; ....SAY SO
	001036	004737 	015462'			 JSR	PC,.TYMSG
   2662	001042				40$:
   2663	001042	005726 				TST	(SP)+		; ....FLUSH THE STACK
   2664	001044	000620 				BR	PARERX		; ...AND EXIT
   2665						;
   2666
   2667	001646				.PSECT	DATA
   2668
   2669	001646				SPCEST:
   2670	001646	000107'				.WORD	ERSMSG
   2671	001650	001573'				.WORD	DRMMSG
   2672	001652	001450'				.WORD	CRMMSG
   2673	001654	001040'				.WORD	FMMSG
   2674	001656	001607'				.WORD	FSSMSG
   2675
   2676	001046				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 63
.PARER -- SPECIAL ERROR ROUTINES 7609.24

   2678	000107				.PSECT	MESSAG
   2679
   2680	000107				ERSMSG:
   2681	000107	   105 	   122 	   122 		.ASCIZ	%ERROR STOP%
	000112	   117 	   122 	   040
	000115	   123 	   124 	   117
	000120	   120 	   000
   2682	000122				NEBMSG:
   2683	000122	   116 	   117 	   040 		.ASCIZ	%NO ERROR STOP BITS SET%
	000125	   105 	   122 	   122
	000130	   117 	   122 	   040
	000133	   123 	   124 	   117
	000136	   120 	   040 	   102
	000141	   111 	   124 	   123
	000144	   040 	   123 	   105
	000147	   124 	   000
   2684
   2685	001046				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 64
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24

   2687					.SBTTL	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
   2688
   2689					;+
   2690					; .PTDIE -- RECURSIVE TRAP HANDLER.
   2691					;
   2692					; THIS ROUTINE HANDLES RECURSIVE TRAPS, WHICH ARE FATAL ERRORS. THE
   2693					; OTHER TRAP HANDLERS IN "PARTRP" ENABLE THIS HANDLER BY PLACING ITS
   2694					; ENTRY POINT IN THE APPROPRIATE PLACE IN THE SST VECTOR TABLE.
   2695					; ".PTDIE" WILL PRINT A MESSAGE WITH THE PC OF THE RECURSIVE TRAP AND
   2696					; EXIT TO THE SYSTEM VIA AN "IOT" TRAP. THIS ROUTINE IS ENTERED WITH
   2697					; THE TRAP PC AND PSW ON THE STACK IN THE NORMAL MANNER.
   2698					;
   2699					; ERROR CODES RETURNED:
   2700					;
   2701					;	NONE.
   2702					;-
   2703
   2704
   2705	001046				.PTDIE::
   2706	001046	005337 	000272'			DEC	.TRPIP		; ..DECREMENT THE INTERLOCK
   2707	001052	001423 				BEQ	20$		; ..KILL NOW IF RECURSIVE
   2708	001054					PUSH	R0		; ..SAVE R0
	001054	010046 				 MOV	R0,-(SP)
   2709	001056	012700 	000316'			MOV	#.SSTTB,R0	; ...TABLE POINTER TO R0
   2710	001062				10$:
   2711	001062	005020 				CLR	(R0)+		; ...CLEAR THIS ENTRY
   2712	001064	020027 	000334'			CMP	R0,#SSTTBE	; ...ARE WE DONE?
   2713	001070	003774 				BLE	10$		; ...NO -- KEEP GOING
   2714	001072					CALL	.TCRLF		; ...START THE LINE
	001072	004737 	015552'			 JSR	PC,.TCRLF
   2715	001076	012700 	000151'			MOV	#PTRTEM,R0	; ...RECURSIVE ERROR MESSAGE
   2716	001102					CALL	.TYLIN		; ...PRINT IT
	001102	004737 	015446'			 JSR	PC,.TYLIN
   2717	001106	016600 	000002 			MOV	2(SP),R0	; ...GET THE TRAP PC
   2718	001112					CALL	.TYELN		; ...TYPE THAT
	001112	004737 	014766'			 JSR	PC,.TYELN
   2719	001116					CALL	.TCRLF		; ...END THE LINE
	001116	004737 	015552'			 JSR	PC,.TCRLF
   2720	001122				20$:
   2721	001122	000004 				IOT			; ...AND GO AWAY
   2722						;
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 65
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   2724					.SBTTL	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
   2725
   2726					;+
   2727					; .PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER.
   2728					;
   2729					; THIS ROUTINE HANDLES TRAPS FROM THE "TRAP" INSTRUCTION, WHICH IS USED
   2730					; BY THE RSX20F COMMAND PARSER TO HANDLE INTERNAL ERRORS. THE ACTION
   2731					; TAKEN BY THIS ROUTINE IS DICTATED BY THE TRAP STATUS BYTE, WHICH IS
   2732					; THE FIRST ITEM ON THE STACK UPON ENTRY. THERE ARE FOUR STATUS CODES
   2733					; WHICH ARE RETURNED IN THE TRAP STATUS BYTE:
   2734					;
   2735					; (A) "TC.CTC" -- CONTROL-C TRAP -- SAME EFFECT AS "TC.RST", EXCEPT THAT NO
   2736					;		  ERROR MESSAGE IS TYPED. THE VALUE OF "TC.CTC" IS +2.
   2737					;
   2738					; (B) "TC.RST" -- ABORT THE CURRENT PROCESS AND ATTEMPT TO RESTORE THE
   2739					;		  STATE OF THE KL. THE "ABORT$" MACRO (Q.V.) GENERATES
   2740					;		  THIS CODE. THE PREVIOUS STATE OF THE KL MAY BE
   2741					;		  RECOVERED FROM THESE ERRORS. THE VALUE OF "TC.RST" IS +1.
   2742					;
   2743					; (C) "TC.ERR" -- SIMPLY ABORT THE CURRENT PROCESS AND RETURN TO THE MAIN
   2744					;		  THE MAIN PARSER. THE "ERROR$" MACRO (Q.V.) GENERATES
   2745					;		  THIS CODE. THESE ERRORS DO NOT USUALLY AFFECT THE STATE
   2746					;		  OF THE KL. THE VALUE OF "TC.ERR" IS 0.
   2747					;
   2748					; (D) "TC.CON" -- SIMPLY REPORT THE ERROR AND CONTINUE THE PROCESS.
   2749					;		  THIS CODE IS GENERATED BY THE "ERCON$" MACRO (Q.V.)
   2750					;		  THESE ERRORS ALLOW ERROR SPECIFIC RECOVERY TO BE
   2751					;		  ATTEMPTED. THE VALUE OF "TC.CON" IS -1.
   2752					;
   2753					; THE DECISION TO RECOVER OR NOT IS MADE BASED ON THE TRAP STATUS BYTE,
   2754					; AFTER WHICH THE ERROR CODE IS PICKED UP, DECODED AND PRINTED BY ".PARER".
   2755					;
   2756					; UPON ENTRY TO THE TRAP INSTRUCTION TRAP HANDLER, THE STACK CONTAINS
   2757					; THE FOLLOWING INFORMATION:
   2758					;
   2759					;		!=======================================!
   2760					; 6(SP)==>	!	    TRAP ERROR CODE		!
   2761					;		!---------------------------------------!
   2762					; 4(SP)==>	!      TRAP PROCESSOR STATUS WORD	!
   2763					;		!---------------------------------------!
   2764					; 2(SP)==>	!	  TRAP PROGRAM COUNTER		!
   2765					;		!---------------------------------------!
   2766					; (SP)==>	!	  TRAP STATUS BYTE * 2		!
   2767					;		!=======================================!
   2768					;
   2769					; EXECUTION MAY BE RESUMED AFTER THE TRAP BY ISSUING AN "RTI" INSTRUCTION.
   2770					;
   2771					; ERROR CODES RETURNED:
   2772					;
   2773					;	RTH -- RECURSION IN TRAP HANDLER.
   2774					;	UEC -- UNMATCHED ERROR CODE.
   2775					;-
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 66
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   2777	001124				.PTTRP::
   2778	001124	005037 	000262'			CLR	.SWPIP		; [5.1002]CLEAR SWEEP IN PROGRESS FLAG
   2779	001130	005337 	000272'			DEC	.TRPIP		; ....DECREMENT THE TRAP IN PROGRESS FLAG
   2780	001134	002471 				BLT	30$		; ....SECOND RECURSION -- KILL TASK
   2781	001136	011637 	000300'			MOV	(SP),.TRPSB	; ....SAVE THE TRAP STATUS BYTE
   2782	001142	016637 	000002 	000274'		MOV	2(SP),.TRPPC	; ....SAVE THE TRAP PC
   2783	001150	016637 	000004 	000276'		MOV	4(SP),.TRPPS	; ....SAVE THE TRAP PSW
   2784	001156	016637 	000006 	000270'		MOV	6(SP),.TRPEC	; ....SAVE THE TRAP ERROR CODE
   2785	001164					CALL	R5,.REGSV	; ....SAVE TRAP REGISTERS
	001164	004537 	010316'			 JSR	R5,.REGSV
   2786	001170					PUSH	R0		; ....SAVE R0 TOO
	001170	010046 				 MOV	R0,-(SP)
   2787	001172	105737 	000300'			TSTB	.TRPSB		; .....TEST THE TRAP STATUS BYTE
   2788	001176	003405 				BLE	10$		; .....DON'T TRY TO RECOVER THE KL
   2789	001200	005737 	000260'			TST	.SVKLF		; .....DID WE SAVE THE PREVIOUS STATE?
   2790	001204	001402 				BEQ	10$		; .....NO -- FORGET RECOVERY
   2791	001206					CALL	.RSTKL		; .....RESTORE THE KL
	001206	004737 	007220'			 JSR	PC,.RSTKL
   2792	001212				10$:
   2793	001212	013737 	000240'	000166'		MOV	.RDXSV,.IRADX	; .....RESET THE INPUT RADIX
   2794	001220	013737 	000240'	000226'		MOV	.RDXSV,.ORADX	; .....AND OUTPUT RADIX
   2795	001226	122737 	000004 	000300'		CMPB	#TC.CTC*2,.TRPSB; .....WAS THIS A CONTROL-C TRAP?
   2796	001234	001425 				BEQ	20$		; .....YES -- JUST RESTART THE PARSER
   2797	001236	013700 	000302'			MOV	.TRPTV,R0	; .....NO -- IS THIS A NORMAL TRAP??
   2798	001242	001406 				BEQ	15$		; .....YES -- GO ON
   2799	001244	010006 				MOV	R0,SP		; .....NO -- RESET THE STACK
   2800	001246	005237 	000272'			INC	.TRPIP		; .....RESET TRAP IN PROGRESS FLAG
   2801	001252	005037 	000302'			CLR	.TRPTV		; .....RESET THE TRAP TRAP VECTOR
   2802	001256					CALLR	@(SP)+		; .....AND GO AWAY TO OTHER ROUTINE
	001256	000136 				 JMP	@(SP)+
   2803						;
   2804	001260				15$:
   2805	001260					CALL	.TCRLF		; .....GIVE A FREE <CRLF>
	001260	004737 	015552'			 JSR	PC,.TCRLF
   2806	001264	013700 	000270'			MOV	.TRPEC,R0	; .....GET THE ERROR CODE IN R0
   2807	001270					CALL	.PARER		; .....DECODE AND PRINT THE ERROR
	001270	004737 	000432'			 JSR	PC,.PARER
   2808	001274	005737 	000272'			TST	.TRPIP		; .....IS THIS A RECURSIVE TRAP?
   2809	001300	001407 				BEQ	30$		; .....YES -- GIVE UP
   2810	001302	105737 	000300'			TSTB	.TRPSB		; .....TEST THE TRAP STATUS BYTE
   2811	001306	002413 				BLT	40$		; .....RECOVER THE ERROR
   2812	001310				20$:
   2813	001310	005237 	000272'			INC	.TRPIP		; .....RESET TRAP IN PROGRESS FLAG
   2814	001314	000177 	000254'			JMP	@.STRTV		; .....RESTART THE PARSER
   2815						;
   2816
   2817					;	[CONTINUED ON THE FOLLOWING PAGE]
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 67
.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24

   2819					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2820
   2821	001320				30$:				; .....HERE ON RECURSIVE TRAP
   2822	001320	012700 	000221'			MOV	#PTRTHM,R0	; .....MESSAGE POINTER
   2823	001324					CALL	.TYLIN		; .....PRINT IT
	001324	004737 	015446'			 JSR	PC,.TYLIN
   2824	001330					CALL	.TCRLF		; .....END THE LINE
	001330	004737 	015552'			 JSR	PC,.TCRLF
   2825	001334	000004 				IOT			; .....AND GO "RIBIT"
   2826						;
   2827	001336				40$:				; .....HERE TO RECOVER THE ERROR
   2828	001336	005237 	000272'			INC	.TRPIP		; .....DECREMENT THE INTERLOCK
   2829	001342					POP	R0		; .....RESTORE R0
	001342	012600 				 MOV	(SP)+,R0
   2830	001344					CALL	@(SP)+		; ....AND THE OTHER REGISTERS
	001344	004736 				 JSR	PC,@(SP)+
   2831	001346	005726 				TST	(SP)+		; ....GET OVER THE TRAP STATUS BYTE
   2832	001350	000002 				RTI			; ...TO WHEREVER WE WERE CALLED FROM
   2833						;
   2834
   2835	000151				.PSECT	MESSAG
   2836
   2837	000151				PTRTEM:
   2838	000151	   120 	   101 	   122 		.ASCIZ	%PAR -- *FATAL* RECURSIVE TRAP FROM PC: %
	000154	   040 	   055 	   055
	000157	   040 	   052 	   106
	000162	   101 	   124 	   101
	000165	   114 	   052 	   040
	000170	   122 	   105 	   103
	000173	   125 	   122 	   123
	000176	   111 	   126 	   105
	000201	   040 	   124 	   122
	000204	   101 	   120 	   040
	000207	   106 	   122 	   117
	000212	   115 	   040 	   120
	000215	   103 	   072 	   040
	000220	   000
   2839	000221				PTRTHM:
   2840	000221	   120 	   101 	   122 		.ASCIZ	%PAR -- RTH - RECURSION IN TRAP HANDLER%
	000224	   040 	   055 	   055
	000227	   040 	   122 	   124
	000232	   110 	   040 	   055
	000235	   040 	   122 	   105
	000240	   103 	   125 	   122
	000243	   123 	   111 	   117
	000246	   116 	   040 	   111
	000251	   116 	   040 	   124
	000254	   122 	   101 	   120
	000257	   040 	   110 	   101
	000262	   116 	   104 	   114
	000265	   105 	   122 	   000
   2841
   2842	001352				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 68
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   2844					.SBTTL	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
   2845
   2846					;+
   2847					; .PTOAT -- TRAP AT 4 TRAP HANDLER.
   2848					;
   2849					; THIS ROUTINE HANDLES TRAP AT 4 TRAPS FOR THE RSX20F COMMAND PARSER.
   2850					; AN ERROR MESSAGE WITH THE PC OF THE TRAP AT 4 TRAP IS PRINTED ON THE
   2851					; CONSOLE AND THE CURRENT OPERATION IS ABORTED. IF THE TRAP IS RECURSIVE,
   2852					; CONTROL IS PASSED TO ".PTDIE", AS THE TASK IS HOPELESSLY CONFUSED.
   2853					;
   2854					; UPON ENTRY TO THE TRAP AT 4 TRAP HANDLER, THE STACK CONTAINS
   2855					; THE FOLLOWING INFORMATION:
   2856					;
   2857					;		!=======================================!
   2858					; 2(SP)==>	!      TRAP PROCESSOR STATUS WORD	!
   2859					;		!---------------------------------------!
   2860					; (SP)==>	!	  TRAP PROGRAM COUNTER		!
   2861					;		!=======================================!
   2862					;
   2863					; ERROR CODES RETURNED:
   2864					;
   2865					;	NONE.
   2866					;-
   2867
   2868	001352				.PTOAT::
   2869	001352					POP	.TRPPC		; ..SAVE THE TRAP PC
	001352	012637 	000274'			 MOV	(SP)+,.TRPPC
   2870	001356					POP	.TRPPS		; .AND THE TRAP PSW
	001356	012637 	000276'			 MOV	(SP)+,.TRPPS
   2871	001362					CALL	R5,.REGSV	; SAVE THE REGISTERS FROM TRAP
	001362	004537 	010316'			 JSR	R5,.REGSV
   2872	001366					PUSH	R0		; AND R0
	001366	010046 				 MOV	R0,-(SP)
   2873	001370	012737 	001046'	000316'		MOV	#.PTDIE,.SSTTB	; .SET UP TO DIE ON RECURSION
   2874	001376					CALL	.TCRLF		; .GIVE A FREE <CRLF>
	001376	004737 	015552'			 JSR	PC,.TCRLF
   2875	001402	012700 	000270'			MOV	#PTOATM,R0	; .GET THE MESSAGE POINTER
   2876	001406					CALL	.TYMSG		; .TYPE IT
	001406	004737 	015462'			 JSR	PC,.TYMSG
   2877	001412	013700 	000104'			MOV	.EDELA,R0	; .ADDRESS TO R0
   2878	001416					CALL	.TYELN		; .TYPE THAT
	001416	004737 	014766'			 JSR	PC,.TYELN
   2879	001422					CALL	.TCRLF		; .AND A CRLF
	001422	004737 	015552'			 JSR	PC,.TCRLF
   2881	001426	005737 	000066'			TST	.DBGSW		; .IS THE DEBUG SWITCH SET?
   2882	001432	001403 				BEQ	10$		; .NO -- JUST RESTART
   2883	001434					POP	R0		; .RESTORE R0
	001434	012600 				 MOV	(SP)+,R0
   2884	001436					CALL	@(SP)+		; .AND THE REGISTERS
	001436	004736 				 JSR	PC,@(SP)+
   2885	001440	000000 				HALT			; SO WE CAN LOOK
   2886	001442				10$:
   2888	001442	005037 	000316'			CLR	.SSTTB		; RESET THE TRAP VECTOR
   2889	001446	000177 	000254'			JMP	@.STRTV		; .AND START OVER
   2890						;
   2891
   2892	000270				.PSECT	MESSAG
ERROR -- PARSER ERROR HANDLER M	MACRO M1113  03-APR-86 22:51  PAGE 68-1
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

   2893
   2894	000270				PTOATM:
   2895	000270	   120 	   101 	   122 		.ASCIZ	%PAR -- ILLEGAL MEMORY REFERENCE TO: %
	000273	   040 	   055 	   055
	000276	   040 	   111 	   114
	000301	   114 	   105 	   107
	000304	   101 	   114 	   040
	000307	   115 	   105 	   115
	000312	   117 	   122 	   131
	000315	   040 	   122 	   105
	000320	   106 	   105 	   122
	000323	   105 	   116 	   103
	000326	   105 	   040 	   124
	000331	   117 	   072 	   040
	000334	   000
   2896
   2897	001452				.PSECT
   2898
   2899					.TITLE	FILIO -- FILE INTERFACE ROUTINES
   2900
   2901						.IDENT	"006150"
   2902
   2903					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2904					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2905					;			ALL RIGHTS RESERVED.
   2906					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2907					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2908					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2909					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2910					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2911					;
   2912					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2913					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2914					;       CORPORATION.
   2915					;
   2916					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2917					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2918					;
   2919					;		MODULE: PARSER FILE INTERFACE ROUTINES
   2920					;
   2921					;		VERSION: 06-15
   2922					;
   2923					;		AUTHOR: K. LEFEBVRE
   2924					;
   2925					;		DATE: 29-AUG-79
   2926					;
   2927					;	THIS MODULE CONTAINS:
   2928					;
   2929					;	1) FILE ACCESSING ROUTINES
   2930					;	2) FILE READ ROUTINES
   2931					;	3) FILE WRITE ROUTINES
   2932					;
   2933					;
   2934					;		THESE ROUTINES WERE ADDED FOR TCO 5.1000
   2935
   2936						.MCALL	DIR$,ALUN$,QIOW$,QIOW$S
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 69
FILE INTERFACE DATA

   2938					.SBTTL	FILE INTERFACE DATA
   2939
   2940	001660				.PSECT	DATA
   2941
   2943
   2944	001660				.INDFG::			; INDIRECT COMMAND FILE FLAG
   2945	001660	000000 				.WORD	0
   2946
   2948	001662				.FISTS::			; FILE I/O STATUS BLOCK
   2949	001662	000000 	000000 			.WORD	0,0
   2950
   2951		001000 			.BUFSZ==1000			; BUFFER SIZE
   2952
   2954
   2955	001666				.INFN::				; INDIRECT COMMAND FILE NAME
   2956	001666	000000 	000000 	000000 		.WORD	0,0,0			; FILE NAME
   2957	001674	012314 				.RAD50	/CMD/			; EXTENSION
   2958	001676	000000 				.WORD	0			; VERSION
   2959	001700	   005 	   005 			.BYTE	5,5			; OWNER
   2960	001702	054523 				.WORD	"SY			; DEVICE
   2961	001704	000000 				.WORD	0			; UNIT
   2962
   2963	001706				.INVBN::			; CURRENT VIRTUAL BLOCK NO.
   2964	001706	000000 	000000 			.WORD	0,0
   2965	001712				.INBBC::			; INPUT BUFFER BYTE COUNT
   2966	001712	000000 				.WORD	0
   2967	001714				.INPOS::			; INPUT BUFFER CURRENT POSITION
   2968	001714	000000 				.WORD	0
   2969	001716				.INBUF::			; INPUT BUFFER
   2970	001716					.BLKW	.BUFSZ/2
   2971
   2972	002716				.INFNB::			; INPUT FILE NAME BLOCK
   2973	002716	000000 	000000 	000000 		.WORD	0,0,0			; N.FID
   2974	002724	140123 	140123 	000000 		.RAD50	/005005   /		; N.FNAM
   2975	002732	015172 				.RAD50	/DIR/			; N.FTYP
   2976	002734	000000 				.WORD	0			; N.FVER
   2977	002736	000000 				.WORD	0			; N.STAT
   2978	002740	000000 				.WORD	0			; N.NEXT
   2979	002742	177777 	177777 			.WORD	-1,-1			; DIRECTORY FID
   2980	002746	   005 	   005 			.BYTE	5,5			; OWNER
   2981
   2982	002750				.INATT::			; FILE ATTRIBUTES
   2983	002750	   000 				.BYTE	0			; RECORD TYPE
   2984	002751	   000 				.BYTE	0			; RECORD ATTRIBUTES
   2985	002752	000000 				.WORD	0			; LARGEST RECORD SIZE
   2986	002754	000000 	000000 			.WORD	0,0			; HIGHEST ALLOCATED BLOCK
   2987	002760	000000 	000000 			.WORD	0,0			; HIGHEST USED BLOCK
   2988	002764	000000 				.WORD	0			; FIRST FREE BYTE
   2989
   2991
   2992	002766				.OTFN::				; LOG FILE NAME
   2993	002766	062072 	073632 	000000 		.RAD50	/PARSER   /		; FILE NAME
   2994	002774	046537 				.RAD50	/LOG/			; EXTENSION
   2995	002776	000000 				.WORD	0			; VERSION
   2996	003000	   005 	   005 			.BYTE	5,5			; OWNER
   2997	003002	054523 				.WORD	"SY			; DEVICE
   2998	003004	000000 				.WORD	0			; UNIT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 69-1
FILE INTERFACE DATA

   2999
   3000	003006				.OTVBN::			; CURRENT VIRTUAL BLOCK NO.
   3001	003006	000000 	000000 			.WORD	0,0
   3002	003012				.OTBBC::			; OUTPUT BUFFER BYTE COUNT
   3003	003012	000000 				.WORD	0
   3004	003014				.OTPOS::			; OUTPUT BUFFER CURRENT POSITION
   3005	003014	000000 				.WORD	0
   3006	003016				.OTBUF::			; OUTPUT BUFFER
   3007	003016					.BLKW	.BUFSZ/2
   3008
   3009	004016				.OTFNB::			; OUTPUT FILE NAME BLOCK
   3010	004016	000000 	000000 	000000 		.WORD	0,0,0			; N.FID
   3011	004024	140123 	140123 	000000 		.RAD50	/005005   /		; N.FNAM
   3012	004032	015172 				.RAD50	/DIR/			; N.FTYP
   3013	004034	000000 				.WORD	0			; N.FVER
   3014	004036	000000 				.WORD	0			; N.STAT
   3015	004040	000000 				.WORD	0			; N.NEXT
   3016	004042	177777 	177777 			.WORD	-1,-1			; DIRECTORY FID
   3017	004046	   005 	   005 			.BYTE	5,5			; OWNER
   3018
   3019	004050				.OTATT::			; FILE ATTRIBUTES
   3020	004050	   000 				.BYTE	0			; RECORD TYPE
   3021	004051	   000 				.BYTE	0			; RECORD ATTRIBUTES
   3022	004052	000000 				.WORD	0			; LARGEST RECORD SIZE
   3023	004054	000000 	000000 			.WORD	0,0			; HIGHEST ALLOCATED BLOCK
   3024	004060	000000 	000000 			.WORD	0,0			; HIGHEST USED BLOCK
   3025	004064	000000 				.WORD	0			; FIRST FREE BYTE
   3026
   3027	004066				.RECNT::			; CURRENT RECORD SIZE
   3028	004066	000000 				.WORD	0
   3029	004070				.RECPT::			; CURRENT RECORD POSITION POINTER
   3030	004070	004072'				.WORD	.RECRD
   3031	004072				.RECRD::
   3032	004072					.BLKB	80.		; CURRENT RECORD
   3033
   3034	001452				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 70
.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID

   3036					.SBTTL	.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
   3037
   3038					;+
   3039					;
   3040					; .FNDIR -- ROUTINE TO FIND THE [5,5] DIRECTORY FILE ID
   3041					;
   3042					; THIS ROUTINE WILL FIND THE FILE ID FOR THE [5,5] DIRECTORY IF
   3043					; IT HAS NOT ALREADY BEEN FOUND. IT WILL ALSO ASSIGN A LUN TO THE
   3044					; SYSTEM DEVICE.
   3045					;
   3046					; INPUT ARGUMENTS:
   3047					;
   3048					;	R1=FILE NAME BLOCK
   3049					;	R2=LUN
   3050					;
   3051					; OUTPUT ARGUMENTS:
   3052					;
   3053					;	NONE
   3054					;
   3055					; ERROR CODES RETURNED:
   3056					;
   3057					;	CAL -- CAN'T ASSIGN LUN
   3058					;	DNF -- DIRECTORY FILE NOT FOUND
   3059					;-
   3060
   3061	001452				.FNDIR::
   3062	001452	026127 	000024 	177777 		CMP	24(R1),#-1	; DIRECTORY FID ALREADY FOUND?
   3063	001460	001032 				BNE	10$		; YES -- EXIT
   3064	001462	010237 	000002'			MOV	R2,FNDALU	; NO -- SET UP LUN
   3065	001466					DIR$	#FNDALN		; ASSIGN LUN
	001466	012746 	000000'			MOV	#FNDALN,-(SP)
	001472	104375 				EMT	375
   3066	001474	103425 				BCS	FNDCAL		; ERROR IF CC-C IS SET
   3067	001476	010237 	000014'			MOV	R2,FNDLUN	; SET LUN
   3068	001502	010137 	000036'			MOV	R1,FNDFNB	; SET FNB
   3069	001506					DIR$	#FNDFNA		; GET FID
	001506	012746 	000010'			MOV	#FNDFNA,-(SP)
	001512	104375 				EMT	375
   3070	001514	103420 				BCS	FNDDNF		; ERROR IF CC-C IS SET
   3071	001516	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3072	001522	002415 				BLT	FNDDNF		; NO -- ERROR
   3073	001524	016161 	000000 	000024 		MOV	0(R1),24(R1)	; SAVE DIRECTORY FID
   3074	001532	016161 	000002 	000026 		MOV	2(R1),26(R1)	; SAVE DIRECTORY FID
   3075	001540	016161 	000004 	000030 		MOV	4(R1),30(R1)	; SAVE DIRECTORY FID
   3076	001546				10$:	RETURN			; DONE
	001546	000207 				 RTS	PC
   3077						;
   3078	001550				FNDCAL:
   3079	001550					ERROR$	CAL		; ERROR -- CAN'T ASSIGN LUN
	001550	012746 	011364 			 MOV	#^RCAL,-(SP)
	001554	104400 				 TRAP	TC.ERR
   3080	001556				FNDDNF:
   3081	001556					ERROR$	DNF		; ERROR -- DIRECTORY FILE NOT FOUND
	001556	012746 	015466 			 MOV	#^RDNF,-(SP)
	001562	104400 				 TRAP	TC.ERR
   3082						;
   3083
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 70-1
.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID

   3084	000000				.PSECT	DPBS
   3085
   3086	000000				FNDALN:				; ASSIGN LUN DIRECTIVE
   3087	000000					ALUN$	0,SY,0
	000000	   007 	   004 			.BYTE	7,4
	000002	000000 				.WORD	0
	000004	   123 				.ASCII	/S/
	000005	   131 				.ASCII	/Y/
	000006	000000 				.WORD	0
   3088
   3089		000002'			FNDALU=FNDALN+A.LULU
   3090
   3091	000010				FNDFNA:				; FIND FID DIRECTIVE
   3092	000010					QIOW$	IO.FNA,,E.FFIL,,.FISTS,,<,,,,,0>
	000010	   003 	   014 			.BYTE	3,$$$ARG
	000012	000000G				.WORD	IO.FNA
	000014	000000 				.WORD
	000016	   006 	   000 			.BYTE	E.FFIL,
	000020	001662'				.WORD	.FISTS
	000022	000000 				.WORD
	000024	000000 				.WORD
	000026	000000 				.WORD
	000030	000000 				.WORD
	000032	000000 				.WORD
	000034	000000 				.WORD
	000036	000000 				.WORD	0
   3093
   3094		000014'			FNDLUN=FNDFNA+Q.IOLU
   3095		000036'			FNDFNB=FNDFNA+Q.IOPL+12
   3096
   3097	001564				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 71
.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID

   3099					.SBTTL	.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
   3100
   3101					;+
   3102					; .LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FILE ID
   3103					;
   3104					; THIS ROUTINE WILL LOOK UP A FILE TO GET ITS FILE ID SO THAT ALL
   3105					; FUTURE OPERATIONS CAN BE DONE BY FILE ID. IF THE FILE IS NOT
   3106					; FOUND THEN THE CC-C BIT IS SET AND THE ROUTINE RETURNS.
   3107					;
   3108					; INPUT ARGUMENTS:
   3109					;
   3110					;	R0=FILE NAME
   3111					;	R1=FILE NAME BLOCK
   3112					;	R2=LUN
   3113					;
   3114					; OUTPUT ARGUMENTS:
   3115					;
   3116					;	CC-C IS SET IF FILE NOT FOUND
   3117					;
   3118					; ERROR CODES RETURNED:
   3119					;
   3120					;	CAL -- CAN'T ASSIGN LUN
   3121					;	DNF -- DIRECTORY FILE NOT FOUND
   3122					;	FLF -- FILE LOOKUP FAILURE
   3123					;-
   3124
   3125						.ENABL	LSB
   3126
   3127	001564				.REMOV::
   3128	001564	012737 	000000G	000042'		MOV	#IO.RNA,LOKIOF	; REMOVE FROM DIRECTORY
   3129	001572	000403 				BR	3$		; GO ON
   3130	001574				.LOKUP::
   3131	001574	012737 	000000G	000042'		MOV	#IO.FNA,LOKIOF	; FIND DIRECTORY
   3132	001602				3$:	CALL	.FNDIR		; FIND THE DIRECTORY FID
	001602	004737 	001452'			 JSR	PC,.FNDIR
   3133	001606					CALL	.SETFN		; SET THE FILE NAME IN THE FNB
	001606	004737 	002166'			 JSR	PC,.SETFN
   3134	001612	010237 	000044'			MOV	R2,LOKLUN	; SET LUN
   3135	001616	010137 	000066'			MOV	R1,LOKFNB	; SET FNB
   3136	001622					DIR$	#LOKFNA		; GET FID
	001622	012746 	000040'			MOV	#LOKFNA,-(SP)
	001626	104375 				EMT	375
   3137	001630	103412 				BCS	LOKFLF		; ERROR IF CC-C IS SET
   3138	001632	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3139	001636	002401 				BLT	10$		; NO -- SEE WHY
   3140	001640				5$:	RETURN			; YES -- RETURN
	001640	000207 				 RTS	PC
   3141	001642	122737 	000000G	001662'	10$:	CMPB	#IE.NSF,.FISTS	; NO SUCH FILE?
   3142	001650	001002 				BNE	LOKFLF		; NO -- ERROR
   3143	001652	000261 				SEC			; YES -- SET CC-C
   3144	001654					RETURN			; DONE
	001654	000207 				 RTS	PC
   3145
   3146						.DSABL	LSB
   3147						;
   3148	001656				LOKFLF:
   3149	001656					ERROR$	FLF		; ERROR -- FILE LOOKUP FAILURE
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 71-1
.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID

	001656	012746 	023546 			 MOV	#^RFLF,-(SP)
	001662	104400 				 TRAP	TC.ERR
   3150						;
   3151
   3152	000040				.PSECT	DPBS
   3153
   3154	000040				LOKFNA:				; GET FID DIRECTIVE
   3155	000040					QIOW$	0,,E.FFIL,,.FISTS,,<,,,,,0>
	000040	   003 	   014 			.BYTE	3,$$$ARG
	000042	000000 				.WORD	0
	000044	000000 				.WORD
	000046	   006 	   000 			.BYTE	E.FFIL,
	000050	001662'				.WORD	.FISTS
	000052	000000 				.WORD
	000054	000000 				.WORD
	000056	000000 				.WORD
	000060	000000 				.WORD
	000062	000000 				.WORD
	000064	000000 				.WORD
	000066	000000 				.WORD	0
   3156
   3157		000042'			LOKIOF=LOKFNA+Q.IOFN
   3158		000044'			LOKLUN=LOKFNA+Q.IOLU
   3159		000066'			LOKFNB=LOKFNA+Q.IOPL+12
   3160
   3161	001664				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 72
.ENTER -- ROUTINE TO ENTER A FILE

   3163					.SBTTL	.ENTER -- ROUTINE TO ENTER A FILE
   3164
   3165					;+
   3166					; .ENTER -- ROUTINE TO ENTER A FILE INTO A DIRECTORY
   3167					;
   3168					; THIS ROUTINE WILL CREATE A FILE OF A GIVEN NAME AND THEN ENTER IT
   3169					; INTO A DIRECTORY.
   3170					;
   3171					; INPUT ARGUMENTS:
   3172					;
   3173					;	NONE
   3174					;
   3175					; OUTPUT ARGUMENTS:
   3176					;
   3177					;	NONE
   3178					;
   3179					; ERROR CODES RETURNED:
   3180					;
   3181					;	FEN -- FILE ENTER FAILURE
   3182					;-
   3183
   3184	001664				.ENTER::
   3185	001664					DIR$	#ENTCRE		; CREATE THE FILE
	001664	012746 	000070'			MOV	#ENTCRE,-(SP)
	001670	104375 				EMT	375
   3186	001672	103416 				BCS	ENTFEN		; ERROR IF CC-C IS SET
   3187	001674	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3188	001700	002413 				BLT	ENTFEN		; NO -- ERROR
   3189	001702					DIR$	#ENTENA		; YES -- ENTER THE FILE IN A DIRECTORY
	001702	012746 	000114'			MOV	#ENTENA,-(SP)
	001706	104375 				EMT	375
   3190	001710	103404 				BCS	10$		; ERROR IF CC-C IS SET
   3191	001712	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED
   3192	001716	002401 				BLT	10$		; NO -- ERROR
   3193	001720					RETURN			; RETURN
	001720	000207 				 RTS	PC
   3194	001722				10$:	DIR$	#ENTDEL		; DELETE NEW FILE
	001722	012746 	000144'			MOV	#ENTDEL,-(SP)
	001726	104375 				EMT	375
   3195						;
   3196	001730				ENTFEN:
   3197	001730					ERROR$	FEN		; ERROR -- FILE ENTER FAILURE
	001730	012746 	023126 			 MOV	#^RFEN,-(SP)
	001734	104400 				 TRAP	TC.ERR
   3198						;
   3199
   3200	000070				.PSECT	DPBS
   3201
   3202	000070				ENTCRE:				; CREATE FILE DIRECTIVE
   3203	000070					QIOW$	IO.CRE,LOGLUN,E.FFIL,,.FISTS,,<.OTFNB,,BIT15,1>
	000070	   003 	   012 			.BYTE	3,$$$ARG
	000072	000000G				.WORD	IO.CRE
	000074	000004 				.WORD	LOGLUN
	000076	   006 	   000 			.BYTE	E.FFIL,
	000100	001662'				.WORD	.FISTS
	000102	000000 				.WORD
	000104	004016'				.WORD	.OTFNB
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 72-1
.ENTER -- ROUTINE TO ENTER A FILE

	000106	000000 				.WORD
	000110	100000 				.WORD	BIT15
	000112	000001 				.WORD	1
   3204
   3205	000114				ENTENA:				; ENTER FILE DIRECTIVE
   3206	000114					QIOW$	IO.ENA,LOGLUN,E.FFIL,,.FISTS,,<,,,,,.OTFNB>
	000114	   003 	   014 			.BYTE	3,$$$ARG
	000116	000000G				.WORD	IO.ENA
	000120	000004 				.WORD	LOGLUN
	000122	   006 	   000 			.BYTE	E.FFIL,
	000124	001662'				.WORD	.FISTS
	000126	000000 				.WORD
	000130	000000 				.WORD
	000132	000000 				.WORD
	000134	000000 				.WORD
	000136	000000 				.WORD
	000140	000000 				.WORD
	000142	004016'				.WORD	.OTFNB
   3207
   3208	000144				ENTDEL:				; DELETE FILE DIRECTIVE
   3209	000144					QIOW$	IO.DEL,LOGLUN,E.FFIL
	000144	   003 	   006 			.BYTE	3,$$$ARG
	000146	000000G				.WORD	IO.DEL
	000150	000004 				.WORD	LOGLUN
	000152	   006 	   000 			.BYTE	E.FFIL,
	000154	000000 				.WORD
	000156	000000 				.WORD
   3210
   3211	001736				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 73
.OPEN -- ROUTINE TO OPEN A FILE

   3213					.SBTTL	.OPEN -- ROUTINE TO OPEN A FILE
   3214
   3215					;+
   3216					; .OPEN -- ROUTINE TO OPEN A FILE WITH SOME ACCESS FUNCTION
   3217					;
   3218					; THIS ROUTINE WILL OPEN A FILE WITH SOME SPECIFIED ACCESS RIGHTS.
   3219					; IT WILL ALSO READ THE FILE ATTRIBUTES.
   3220					;
   3221					; INPUT ARGUMENTS:
   3222					;
   3223					;	R1=FILE NAME BLOCK (FIRST 2 WORDS ARE FILE ID)
   3224					;	R2=LUN
   3225					;	R4=ACCESS FUNCTION
   3226					;
   3227					; OUTPUT ARGUMENTS:
   3228					;
   3229					;	NONE
   3230					;
   3231					; ERROR CODES RETURNED:
   3232					;
   3233					;	FOF -- FILE OPEN FAILURE
   3234					;-
   3235
   3236	001736				.OPEN::
   3237	001736	010437 	000162'			MOV	R4,OPEFUN	; SET FUNCTION
   3238	001742	010237 	000164'			MOV	R2,OPELUN	; SET LUN
   3239	001746	010137 	000174'			MOV	R1,OPEFID	; SET FID
   3240	001752	010137 	000210'			MOV	R1,OPEATT	; SET FILE ATTRIBUTES
   3241	001756	062737 	000032 	000210'		ADD	#32,OPEATT	; POINT TO CORRECT ADDR
   3242	001764					DIR$	#OPEACC		; OPEN THE FILE WITH SOME ACCESS
	001764	012746 	000160'			MOV	#OPEACC,-(SP)
	001770	104375 				EMT	375
   3243	001772	103401 				BCS	OPEFOF		; ERROR IF CC-C IS SET
   3244	001774					RETURN
	001774	000207 				 RTS	PC
   3245						;
   3246	001776				OPEFOF:
   3247	001776					ERROR$	FOF		; ERROR -- FILE OPEN FAILURE
	001776	012746 	023736 			 MOV	#^RFOF,-(SP)
	002002	104400 				 TRAP	TC.ERR
   3248						;
   3249
   3250	000160				.PSECT	DPBS
   3251
   3252	000160				OPEACC:				; OPEN FILE DIRECTIVE
   3253	000160					QIOW$	0,0,E.FFIL,,.FISTS,,<0,OPERAT,,,BIT15>
	000160	   003 	   013 			.BYTE	3,$$$ARG
	000162	000000 				.WORD	0
	000164	000000 				.WORD	0
	000166	   006 	   000 			.BYTE	E.FFIL,
	000170	001662'				.WORD	.FISTS
	000172	000000 				.WORD
	000174	000000 				.WORD	0
	000176	000206'				.WORD	OPERAT
	000200	000000 				.WORD
	000202	000000 				.WORD
	000204	100000 				.WORD	BIT15
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 73-1
.OPEN -- ROUTINE TO OPEN A FILE

   3254
   3255		000162'			OPEFUN=OPEACC+Q.IOFN
   3256		000164'			OPELUN=OPEACC+Q.IOLU
   3257		000174'			OPEFID=OPEACC+Q.IOPL
   3258
   3259	000206				OPERAT:
   3260	000206	   374 	   016 			.BYTE	-4,16
   3261	000210	000000 				.WORD	0
   3262	000212	   000 	   000 			.BYTE	0,0
   3263
   3264		000210'			OPEATT=OPERAT+2
   3265
   3266	002004				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 74
.EXTND -- ROUTINE TO EXTEND A FILE

   3268					.SBTTL	.EXTND -- ROUTINE TO EXTEND A FILE
   3269
   3270					;+
   3271					; .EXTND -- ROUTINE TO EXTEND A FILE BY ONE BLOCK
   3272					;
   3273					; THIS ROUTINE WILL EXTEND A CURRENTLY OPEN FILE WITH EXTEND ACCESS
   3274					; BY ONE BLOCK.
   3275					;
   3276					; INPUT ARGUMENTS:
   3277					;
   3278					;	NONE
   3279					;
   3280					; OUTPUT ARGUMENTS:
   3281					;
   3282					;	NONE
   3283					;
   3284					; ERROR CODES RETURNED:
   3285					;
   3286					;	FEF -- FILE EXTEND FAILURE
   3287					;-
   3288
   3289	002004				.EXTND::
   3290	002004					DIR$	#EXTEXT		; EXTEND THE FILE
	002004	012746 	000214'			MOV	#EXTEXT,-(SP)
	002010	104375 				EMT	375
   3291	002012	103411 				BCS	EXTFEF		; ERROR IF CC-C IS SET
   3292	002014	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3293	002020	002406 				BLT	EXTFEF		; NO -- ERROR
   3294	002022	062737 	000001 	004056'		ADD	#1,.OTATT+6	; INCREASE BLOCKS ALLOCATED
   3295	002030	005537 	004054'			ADC	.OTATT+4	; PROPAGATE CARRY
   3296	002034					RETURN			; DONE
	002034	000207 				 RTS	PC
   3297						;
   3298	002036				EXTFEF:
   3299	002036	013737 	003014'	004064'		MOV	.OTPOS,.OTATT+14	; SET NEXT FREE BYTE
   3300	002044	162737 	003016'	004064'		SUB	#.OTBUF,.OTATT+14	; MAKE RELATIVE
   3301	002052	012701 	004050'			MOV	#.OTATT,R1		; SET ATTRIBUTE ADDR
   3302	002056	012702 	000004 			MOV	#LOGLUN,R2		; SET LUN
   3304	002062	105037 	000206'			CLRB	.OUTLG			; INDICATE FILE CLOSED
   3306	002066					CALL	.CLOSE			; CLOSE FILE
	002066	004737 	002114'			 JSR	PC,.CLOSE
   3307	002072					ERROR$	FEF		; ERROR -- FILE EXTEND FAILURE
	002072	012746 	023116 			 MOV	#^RFEF,-(SP)
	002076	104400 				 TRAP	TC.ERR
   3308						;
   3309
   3310	000214				.PSECT	DPBS
   3311
   3312	000214				EXTEXT:				; FILE EXTEND DIRECTIVE
   3313	000214					QIOW$	IO.EXT,LOGLUN,E.FFIL,,.FISTS,,<,,BIT15,1>
	000214	   003 	   012 			.BYTE	3,$$$ARG
	000216	000000G				.WORD	IO.EXT
	000220	000004 				.WORD	LOGLUN
	000222	   006 	   000 			.BYTE	E.FFIL,
	000224	001662'				.WORD	.FISTS
	000226	000000 				.WORD
	000230	000000 				.WORD
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 74-1
.EXTND -- ROUTINE TO EXTEND A FILE

	000232	000000 				.WORD
	000234	100000 				.WORD	BIT15
	000236	000001 				.WORD	1
   3314
   3315	002100				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 75
.CLOSE -- ROUTINE TO CLOSE A FILE

   3317					.SBTTL	.CLOSE -- ROUTINE TO CLOSE A FILE
   3318
   3319					;+
   3320					; .CLOSE -- ROUTINE TO CLOSE A SPECIFIED FILE
   3321					;
   3322					; THIS ROUTINE WILL CLOSE AND DEACCESS A SPECIFIED FILE.
   3323					; IT WILL ALSO WRITE OUT THE CURRENT ATTRIBUTES.
   3324					;
   3325					; INPUT ARGUMENTS:
   3326					;
   3327					;	R1=ATTRIBUTE BLOCK
   3328					;	R2=LUN
   3329					;
   3330					; OUTPUT ARGUMENTS:
   3331					;
   3332					;	NONE
   3333					;
   3334					; ERROR CODES RETURNED:
   3335					;
   3336					;	FCF -- FILE CLOSE FAILURE
   3337					;-
   3338
   3339						.ENABL	LSB
   3340
   3341	002100				.DELET::
   3342	002100	012737 	000000G	000242'		MOV	#IO.DEL,CLOIOF	; I/O FUNCTION FOR DELETE
   3343	002106	005037 	000256'			CLR	CLOATR		; NO ATTRIBUTES
   3344	002112	000406 				BR	5$		; DO IT
   3345	002114				.CLOSE::
   3346	002114	012737 	000000G	000242'		MOV	#IO.DAC,CLOIOF	; I/O FUNCTION FOR DEACCESS
   3347	002122	012737 	000260'	000256'		MOV	#CLOWAT,CLOATR	; WRITE ATTRIBUTES
   3348	002130	010237 	000244'		5$:	MOV	R2,CLOLUN	; SET LUN
   3349	002134	010137 	000262'			MOV	R1,CLOATT	; SET FILE ATTRIBUTES
   3350	002140					DIR$	#CLODAC		; CLOSE FILE
	002140	012746 	000240'			MOV	#CLODAC,-(SP)
	002144	104375 				EMT	375
   3351	002146	103404 				BCS	CLOFCF		; ERROR IF CC-C IS SET
   3352	002150	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3353	002154	002401 				BLT	CLOFCF		; NO -- ERROR
   3354	002156					RETURN			; YES -- DONE
	002156	000207 				 RTS	PC
   3355						;
   3356
   3357						.DSABL	LSB
   3358
   3359	002160				CLOFCF:
   3360	002160					ERROR$	FCF		; ERROR -- FILE CLOSE FAILURE
	002160	012746 	022776 			 MOV	#^RFCF,-(SP)
	002164	104400 				 TRAP	TC.ERR
   3361						;
   3362
   3363	000240				.PSECT	DPBS
   3364
   3365	000240				CLODAC:				; FILE CLOSE DIRECTIVE
   3366	000240					QIOW$	0,0,E.FFIL,,.FISTS,,<0,0>
	000240	   003 	   010 			.BYTE	3,$$$ARG
	000242	000000 				.WORD	0
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 75-1
.CLOSE -- ROUTINE TO CLOSE A FILE

	000244	000000 				.WORD	0
	000246	   006 	   000 			.BYTE	E.FFIL,
	000250	001662'				.WORD	.FISTS
	000252	000000 				.WORD
	000254	000000 				.WORD	0
	000256	000000 				.WORD	0
   3367
   3368		000242'			CLOIOF=CLODAC+Q.IOFN
   3369		000244'			CLOLUN=CLODAC+Q.IOLU
   3370		000256'			CLOATR=CLODAC+Q.IOPL+2
   3371
   3372	000260				CLOWAT:
   3373	000260	   004 	   016 			.BYTE	4,16
   3374	000262	000000 				.WORD	0
   3375	000264	   000 	   000 			.BYTE	0,0
   3376
   3377		000262'			CLOATT=CLOWAT+2
   3378
   3379	002166				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 76
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK

   3381					.SBTTL	.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
   3382
   3383					;+
   3384					; .SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
   3385					;
   3386					; THIS ROUTINE WILL INITIALIZE A FILE NAME BLOCK WITH A FILE NAME,
   3387					; VERSION NUMBER, AND STATUS VALUES.
   3388					;
   3389					; INPUT ARGUMENTS:
   3390					;
   3391					;	R0=FILE NAME PTR
   3392					;	R1=FILE NAME BLOCK ADDR
   3393					;
   3394					; OUTPUT ARGUMENTS:
   3395					;
   3396					;	NONE
   3397					;
   3398					; ERROR CODES RETURNED:
   3399					;
   3400					;	NONE
   3401					;-
   3402
   3403	002166				.SETFN::
   3404	002166					PUSH	<R1,R0>		; SAVE R0,R1
	002166	010146 				 MOV	R1,-(SP)
	002170	010046 				 MOV	R0,-(SP)
   3405	002172	005021 				CLR	(R1)+		; CLEAR FID
   3406	002174	005021 				CLR	(R1)+		; CLEAR FID
   3407	002176	005021 				CLR	(R1)+		; CLEAR FID
   3408	002200	012021 				MOV	(R0)+,(R1)+	; FILE NAME
   3409	002202	012021 				MOV	(R0)+,(R1)+	; FILE NAME
   3410	002204	012021 				MOV	(R0)+,(R1)+	; FILE NAME
   3411	002206	012021 				MOV	(R0)+,(R1)+	; EXTENSION
   3412	002210	012021 				MOV	(R0)+,(R1)+	; VERSION
   3413	002212	005021 				CLR	(R1)+		; STATUS
   3414	002214	005011 				CLR	(R1)		; NEXT PTR
   3415	002216					POP	<R0,R1>		; RESTORE R0,R1
	002216	012600 				 MOV	(SP)+,R0
	002220	012601 				 MOV	(SP)+,R1
   3416	002222					RETURN			; DONE
	002222	000207 				 RTS	PC
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 77
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK

   3419
   3420					.SBTTL	.READR -- ROUTINE TO READ A RECORD
   3421
   3422					;+
   3423					; .READR -- ROUTINE TO READ A RECORD FROM THE INDIRECT COMMAND FILE.
   3424					;
   3425					; THIS ROUTINE WILL GET A RECORD (EQUIVILENT TO A TYPED COMMAND) FROM
   3426					; THE CURRENTLY OPEN INDIRECT COMMAND FILE. IT WILL INVISIBLY READ
   3427					; VIRTUAL BLOCKS INORDER TO BLOCK THE RECORDS. IF AN E-O-F IS
   3428					; ENCOUNTERED THE OPEN FILE IS CLOSED AND INPUT IS REDIRECTED TO CTY.
   3429					;
   3430					; INPUT ARGUMENTS:
   3431					;
   3432					;	R2=OUTPUT BUFFER
   3433					;	R3=STATUS BLOCK
   3434					;
   3435					; OUTPUT ARGUMENTS:
   3436					;	R2 POINTS TO END OF RECORD
   3437					;	2(R3) CONTAINS BYTE COUNT OF RECORD
   3438					;
   3439					; ERROR CODES RETURNED:
   3440					;
   3441					;	FRD -- FILE READ FAILURE
   3442					;-
   3443
   3444	002224				.READR::
   3445	002224					PUSH	<R0,R1>		; SAVE R1 AND R0
	002224	010046 				 MOV	R0,-(SP)
	002226	010146 				 MOV	R1,-(SP)
   3446	002230				10$:	CALL	.READW		; READ RECORD LENGTH FROM FILE
	002230	004737 	002330'			 JSR	PC,.READW
   3447	002234	103415 				BCS	30$		; EOF IF CC-C IS SET
   3448	002236	005700 				TST	R0		; SEE IF A NULL RECORD?
   3449	002240	001773 				BEQ	10$		; YES -- READ NEXT RECORD
   3450	002242	010001 				MOV	R0,R1		; NO -- SAVE BYTE COUNT
   3451	002244	010063 	000002 			MOV	R0,2(R3)	; SET RETURNED BYTE COUNT
   3452	002250				20$:	CALL	.READB		; READ CHARACTER
	002250	004737 	002406'			 JSR	PC,.READB
   3453	002254	103405 				BCS	30$		; EOF IF CC-C IS SET
   3454	002256	110022 				MOVB	R0,(R2)+	; SAVE CHARACTER
   3455	002260	077105 				SOB	R1,20$		; DONE?
   3456	002262				25$:	POP	<R1,R0>		; YES -- RESTORE R1 AND R0
	002262	012601 				 MOV	(SP)+,R1
	002264	012600 				 MOV	(SP)+,R0
   3457	002266					RETURN			; RETURN
	002266	000207 				 RTS	PC
   3458	002270	005037 	001660'		30$:	CLR	.INDFG		; REDIRECT INPUT TO CTY
   3459	002274	012701 	002716'			MOV	#.INFNB,R1	; INPUT FILE NAME BLOCK
   3460	002300	012702 	000005 			MOV	#INDLUN,R2	; FILE LUN
   3461	002304					CALL	.CLOSE		; CLOSE FILE AND DEACCESS
	002304	004737 	002114'			 JSR	PC,.CLOSE
   3462	002310	012700 	000335'			MOV	#EOFMSG,R0	; E-O-F MESSAGE PTR
   3463	002314					CALL	.TYMSG		; OUTPUT MESSAGE
	002314	004737 	015462'			 JSR	PC,.TYMSG
   3464	002320	005063 	000002 		40$:	CLR	2(R3)		; CLEAR BYTE COUNT
   3465	002324	000261 				SEC			; SET CC-C BIT
   3466	002326	000755 				BR	25$		; DONE
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 77-1
.READR -- ROUTINE TO READ A RECORD

   3467						;
   3468
   3469	000335				.PSECT	MESSAG
   3470
   3471	000335				EOFMSG:
   3472	000335	   040 	   074 	   105 		.ASCIZ	% <EOF> %
	000340	   117 	   106 	   076
	000343	   040 	   000
   3473
   3474	002330				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 78
.READW -- READ A WORD FROM A FILE

   3476					.SBTTL	.READW -- READ A WORD FROM A FILE
   3477
   3478					;+
   3479					; .READW -- ROUTINE TO READ A WORD FROM A FILE
   3480					;
   3481					; THIS ROUTINE WILL READ A WORD FROM THE CURRENTLY OPEN INDIRECT
   3482					; COMMAND FILE. IF THE CURRENT BLOCK IS EMPTY IT WILL READ IN THE
   3483					; NEXT ONE. THE WORD READ MUST BE WORD ALIGNED. IF AN E-O-F IS
   3484					; ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE RETURNS.
   3485					;
   3486					; INPUT ARGUMENTS:
   3487					;
   3488					;	NONE
   3489					;
   3490					; OUTPUT ARGUMENTS:
   3491					;
   3492					;	R0 CONTAINS WORD READ
   3493					;
   3494					; ERROR CODES RETURNED:
   3495					;
   3496					;	FRD -- FILE READ FAILURE
   3497					;-
   3498
   3499	002330				.READW::
   3500	002330	032737 	000001 	001714'		BIT	#1,.INPOS	; ARE WE ON A WORD BOUNDRY?
   3501	002336	001404 				BEQ	10$		; YES -- GO ON
   3502	002340	005237 	001714'			INC	.INPOS		; NO -- GET ON A WORD BOUNDRY
   3503	002344	005337 	001712'			DEC	.INBBC		; DECREMENT BYTE COUNT
   3504	002350	005737 	001712'		10$:	TST	.INBBC		; IS CURRENT BUFFER EMPTY?
   3505	002354	003003 				BGT	20$		; NO -- GO ON
   3506	002356					CALL	.READ		; YES -- READ NEXT BLOCK
	002356	004737 	002440'			 JSR	PC,.READ
   3507	002362	103410 				BCS	30$		; EOF IF CC-C IS SET
   3508	002364	017700 	001714'		20$:	MOV	@.INPOS,R0	; GET WORD INTO R0
   3509	002370	062737 	000002 	001714'		ADD	#2,.INPOS	; UPDATE BUFFER POSITION PTR
   3510	002376	162737 	000002 	001712'		SUB	#2,.INBBC	; UPDATE BUFFER BYTE COUNT
   3511	002404				30$:	RETURN			; DONE
	002404	000207 				 RTS	PC
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 79
.READB -- READ A BYTE FROM A FILE

   3513					.SBTTL	.READB -- READ A BYTE FROM A FILE
   3514
   3515					;+
   3516					; .READB -- ROUTINE TO READ A BYTE FROM A FILE
   3517					;
   3518					; THIS ROUTINE WILL READ A BYTE FROM THE CURRENTLY OPEN INDIRECT
   3519					; COMMAND FILE. IF THE CURRENT BLOCK IS EMPTY IT WILL READ IN THE
   3520					; NEXT ONE. IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE
   3521					; ROUTINE RETURNS.
   3522					;
   3523					; INPUT ARGUMENTS:
   3524					;
   3525					;	NONE
   3526					;
   3527					; OUTPUT ARGUMENTS:
   3528					;
   3529					;	R0 CONTAINS BYTE READ
   3530					;
   3531					; ERROR CODES RETURNED:
   3532					;
   3533					;	FRD -- FILE READ FAILURE
   3534					;-
   3535
   3536	002406				.READB::
   3537	002406	005737 	001712'			TST	.INBBC		; IS CURRENT BUFFER EMPTY?
   3538	002412	003003 				BGT	10$		; NO -- GO ON
   3539	002414					CALL	.READ		; YES -- READ NEXT BLOCK
	002414	004737 	002440'			 JSR	PC,.READ
   3540	002420	103406 				BCS	20$		; EOF IF CC-C IS SET
   3541	002422	117700 	001714'		10$:	MOVB	@.INPOS,R0	; GET WORD INTO R0
   3542	002426	005237 	001714'			INC	.INPOS		; UPDATE BUFFER POSITION PTR
   3543	002432	005337 	001712'			DEC	.INBBC		; UPDATE BUFFER BYTE COUNT
   3544	002436				20$:	RETURN			; DONE
	002436	000207 				 RTS	PC
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 80
.READ -- ROUTINE TO READ A BLOCK

   3546					.SBTTL	.READ -- ROUTINE TO READ A BLOCK
   3547
   3548					;+
   3549					; .READ -- ROUTINE TO READ A BLOCK FROM INDIRECT COMMAND FILE
   3550					;
   3551					; THIS ROUTINE WILL READ A BLOCK FROM THE CURRENTLY OPEN INDIRECT
   3552					; COMMAND FILE. THE BUFFER COUNTS AND POINTERS WILL THEN BE SET.
   3553					; IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE
   3554					; RETURNS.
   3555					;
   3556					; INPUT ARGUMENTS:
   3557					;
   3558					;	NONE
   3559					;
   3560					; OUTPUT ARGUMENTS:
   3561					;
   3562					;	NONE
   3563					;
   3564					; ERROR CODES RETURNED:
   3565					;
   3566					;	FRD -- FILE READ FAILURE
   3567					;-
   3568
   3569	002440				.READ::
   3570	002440	062737 	000001 	001710'		ADD	#1,.INVBN+2	; NEXT VIRTUAL BLOCK
   3571	002446	005537 	001706'			ADC	.INVBN		; PROPAGATE CARRY
   3572	002452	023737 	001710'	002762'		CMP	.INVBN+2,.INATT+12	; EOF?
   3573	002460	003041 				BGT	10$		; YES -- EXIT
   3574	002462					QIOW$S	#IO.RVB,#INDLUN,#E.FFIL,,#.FISTS,,<#.INBUF,#.BUFSZ,,.INVBN,.INVBN+2>
	002462	013746 	001710'			MOV	.INVBN+2,-(SP)
	002466	013746 	001706'			MOV	.INVBN,-(SP)
	002472	005046 				CLR	-(SP)
	002474	012746 	001000 			MOV	#.BUFSZ,-(SP)
	002500	012746 	001716'			MOV	#.INBUF,-(SP)
	002504	005046 				CLR	-(SP)
	002506	012746 	001662'			MOV	#.FISTS,-(SP)
	002512	005046 				CLR	-(SP)
	002514	112716 	000006 			MOVB	#E.FFIL,(SP)
	002520	012746 	000005 			MOV	#INDLUN,-(SP)
	002524	012746 	000000G			MOV	#IO.RVB,-(SP)
	002530	012746 				MOV	(PC)+,-(SP)
	002532	   003 	   013 			.BYTE	3,$$$T1
	002534	104375 				EMT	375
   3575	002536	103414 				BCS	REAFRD		; ERROR IF CC-C IS SET
   3576	002540	105737 	001662'			TSTB	.FISTS		; SEE IF WE REALLY SUCCEEDED?
   3577	002544	002411 				BLT	REAFRD		; NO -- CHECK ERROR
   3578	002546	012737 	001716'	001714'		MOV	#.INBUF,.INPOS	; YES -- SET BUFFER POSITION PTR
   3579	002554	013737 	001664'	001712'		MOV	.FISTS+2,.INBBC	; SET BUFFER BYTE COUNT
   3580	002562					RETURN			; DONE
	002562	000207 				 RTS	PC
   3581	002564	000261 			10$:	SEC			; YES -- SET CC-C
   3582	002566					RETURN			; DONE
	002566	000207 				 RTS	PC
   3583						;
   3584	002570				REAFRD:
   3585	002570	012701 	002750'			MOV	#.INATT,R1	; SET ATTRIBUTE ADDR
   3586	002574	012702 	000005 			MOV	#INDLUN,R2	; SET LUN
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 80-1
.READ -- ROUTINE TO READ A BLOCK

   3587	002600	005037 	001660'			CLR	.INDFG		; INDICATE FILE CLOSED
   3588	002604					CALL	.CLOSE		; CLOSE FILE
	002604	004737 	002114'			 JSR	PC,.CLOSE
   3589	002610				20$:	ERROR$	FRD		; ERROR -- FILE READ FAILURE
	002610	012746 	024124 			 MOV	#^RFRD,-(SP)
	002614	104400 				 TRAP	TC.ERR
   3590						;
   3591
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 81
.WRITR -- ROUTINE TO WRITE A RECORD

   3594					.SBTTL	.WRITR -- ROUTINE TO WRITE A RECORD
   3595
   3596					;+
   3597					; .WRITR -- ROUTINE TO WRITE A RECORD TO THE LOG FILE
   3598					;
   3599					; THIS ROUTINE WILL WRITE A RECORD TO THE FILE PARSER.LOG WHEN
   3600					; OUTPUT IS DIRECTED TO THE LOG FILE.
   3601					;
   3602					; INPUT ARGUMENTS:
   3603					;
   3604					;	R2=RECORD PTR
   3605					;	R1=BYTE COUNT
   3606					;
   3607					; OUTPUT ARGUMENTS:
   3608					;
   3609					;	NONE
   3610					;
   3611					; ERROR CODES RETURNED:
   3612					;
   3613					;	FEF -- FILE EXTEND FAILURE
   3614					;	FWT -- FILE WRITE FAILURE
   3615					;-
   3616
   3617	002616				.WRITR::
   3618	002616					PUSH	R0		; SAVE R0
	002616	010046 				 MOV	R0,-(SP)
   3619	002620	121227 	000012 		5$:	CMPB	(R2),#12	; CHARACTER A <LF>?
   3620	002624	001414 				BEQ	7$		; YES -- WRITE OUT RECORD
   3621	002626	121227 	000015 			CMPB	(R2),#15	; NO -- CHARACTER A <CR>?
   3622	002632	001444 				BEQ	40$		; YES -- PROCESS IT
   3623	002634	112277 	004070'			MOVB	(R2)+,@.RECPT	; NO -- WRITE CHAR TO RECORD
   3624	002640	005237 	004070'			INC	.RECPT		; UPDATE POINTER
   3625	002644	005237 	004066'			INC	.RECNT		; INCREMENT COUNT
   3626	002650	077115 				SOB	R1,5$		; DONE?
   3627	002652				6$:	POP	R0		; YES -- RESTORE R0
	002652	012600 				 MOV	(SP)+,R0
   3628	002654					RETURN			; EXIT
	002654	000207 				 RTS	PC
   3629	002656				7$:	PUSH	<R2,R1>		; SAVE R2,R1
	002656	010246 				 MOV	R2,-(SP)
	002660	010146 				 MOV	R1,-(SP)
   3630	002662	012702 	004072'			MOV	#.RECRD,R2	; R2 POINTS TO RECORD
   3631	002666	013701 	004066'			MOV	.RECNT,R1	; R1 HAS RECORD COUNT
   3632	002672	020137 	004052'			CMP	R1,.OTATT+2	; IS THIS THE BIGGEST RECORD?
   3633	002676	101402 				BLOS	10$		; NO -- GO ON
   3634	002700	010137 	004052'			MOV	R1,.OTATT+2	; YES -- SAVE IT
   3635	002704	010100 			10$:	MOV	R1,R0		; WRITE OUT RECORD BYTE COUNT
   3636	002706					CALL	.WRITW		; WRITE IT
	002706	004737 	002754'			 JSR	PC,.WRITW
   3637	002712	005701 				TST	R1		; IS THIS A NULL RECORD?
   3638	002714	001404 				BEQ	30$		; YES -- DONE
   3639	002716	112200 			20$:	MOVB	(R2)+,R0	; NO -- GET NEXT BYTE OF RECORD
   3640	002720					CALL	.WRITB		; WRITE IT
	002720	004737 	003030'			 JSR	PC,.WRITB
   3641	002724	077104 				SOB	R1,20$		; ALL BYTES WRITTEN?
   3642	002726				30$:	POP	<R1,R2>		; YES -- RESTORE R2,R1
	002726	012601 				 MOV	(SP)+,R1
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 81-1
.WRITR -- ROUTINE TO WRITE A RECORD

	002730	012602 				 MOV	(SP)+,R2
   3643	002732	012737 	004072'	004070'		MOV	#.RECRD,.RECPT	; RESET RECORD POINTER
   3644	002740	005037 	004066'			CLR	.RECNT		; CLEAR RECORD COUNT
   3645	002744	105722 			40$:	TSTB	(R2)+		; REMOVE NEW LINE CHARACTER
   3646	002746	005301 				DEC	R1		; REMOVE FROM COUNT
   3647	002750	001323 				BNE	5$		; NO -- GO ON
   3648	002752	000737 				BR	6$		; YES -- EXIT
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 82
.WRITW -- WRITE A WORD TO A FILE

   3650					.SBTTL	.WRITW -- WRITE A WORD TO A FILE
   3651
   3652					;+
   3653					; .WRITW -- ROUTINE TO WRITE A WORD TO A FILE
   3654					;
   3655					; THIS ROUTINE WILL WRITE A WORD TO A CURRENTLY OPEN FILE. IF THE
   3656					; CURRENT BLOCK IS FULL THEN THE BLOCK WILL BE WRITTEN TO DISK AND
   3657					; THE WORD WILL BE WRITTEN TO THE NEW BLOCK.
   3658					;
   3659					; INPUT ARGUMENTS:
   3660					;
   3661					;	R0=WORD TO WRITE
   3662					;
   3663					; OUTPUT ARGUMENTS:
   3664					;
   3665					;	NONE
   3666					;
   3667					; ERROR CODES RETURNED:
   3668					;
   3669					;	FEF -- FILE EXTEND FAILURE
   3670					;	FWT -- FILE WRITE FAILURE
   3671					;-
   3672
   3673	002754				.WRITW::
   3674	002754	032737 	000001 	003014'		BIT	#1,.OTPOS	; ARE WE ON A WORD BOUNDRY?
   3675	002762	001404 				BEQ	10$		; YES -- GO ON
   3676	002764	005237 	003014'			INC	.OTPOS		; NO -- POSITION TO WORD BOUNDRY
   3677	002770	005337 	003012'			DEC	.OTBBC		; DECREMENT FREE BYTE COUNT
   3678	002774	005737 	003012'		10$:	TST	.OTBBC		; BLOCK FULL?
   3679	003000	003002 				BGT	20$		; NO -- GO ON
   3680	003002					CALL	.WRITE		; YES -- WRITE OUT BLOCK
	003002	004737 	003160'			 JSR	PC,.WRITE
   3681	003006	010077 	003014'		20$:	MOV	R0,@.OTPOS	; WRITE WORD TO BUFFER
   3682	003012	062737 	000002 	003014'		ADD	#2,.OTPOS	; UPDATE BUFFER POINTER
   3683	003020	162737 	000002 	003012'		SUB	#2,.OTBBC	; UPDATE BYTE COUNT
   3684	003026					RETURN			; DONE
	003026	000207 				 RTS	PC
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 83
.WRITB -- WRITE A BYTE TO A FILE

   3686					.SBTTL	.WRITB -- WRITE A BYTE TO A FILE
   3687
   3688					;+
   3689					; .WRITB -- ROUTINE TO WRITE A BYTE TO A FILE
   3690					;
   3691					; THIS ROUTINE WILL WRITE A BYTE TO A BUFFER THAT WILL THEN BE WRITTEN
   3692					; TO DISK WHEN IT IS FULL.
   3693					;
   3694					; INPUT ARGUMENTS:
   3695					;
   3696					;	R0=BYTE TO WRITE
   3697					;
   3698					; OUTPUT ARGUMENTS:
   3699					;
   3700					;	NONE
   3701					;
   3702					; ERROR CODES RETURNED:
   3703					;
   3704					;	FEF -- FILE EXTEND FAILURE
   3705					;	FWT -- FILE WRITE FAILURE
   3706					;-
   3707
   3708	003030				.WRITB::
   3709	003030	005737 	003012'			TST	.OTBBC		; BUFFER FULL?
   3710	003034	003002 				BGT	10$		; NO -- GO ON
   3711	003036					CALL	.WRITE		; YES -- WRITE OUT BLOCK
	003036	004737 	003160'			 JSR	PC,.WRITE
   3712	003042	110077 	003014'		10$:	MOVB	R0,@.OTPOS	; WRITE BYE TO BUFFER
   3713	003046	005237 	003014'			INC	.OTPOS		; UPDATE POSITION
   3714	003052	005337 	003012'			DEC	.OTBBC		; UPDATE BYTE COUNT
   3715	003056					RETURN			; DONE
	003056	000207 				 RTS	PC
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 84
.WRITZ -- WRITE OUT CURRENT BLOCK

   3717					.SBTTL	.WRITZ -- WRITE OUT CURRENT BLOCK
   3718
   3719					;+
   3720					; .WRITZ -- ROUTINE TO WRITE OUT CURRENT BUFFER
   3721					;
   3722					; THIS ROUTINE WILL WRITE OUT THE CURRENT BUFFER TO THE DISK FILE.
   3723					; IF THE BUFFER IS NOT FULL THE THE EXCESS SPACE IS ZEROED.
   3724					;
   3725					; INPUT ARGUMENTS:
   3726					;
   3727					;	NONE
   3728					;
   3729					; OUTPUT ARGUMENTS:
   3730					;
   3731					;	NONE
   3732					;
   3733					; ERROR CODES RETURNED:
   3734					;
   3735					;	FEF -- FILE EXTEND FAILURE
   3736					;	FWT -- FILE WRITE FAILURE
   3737					;-
   3738
   3739	003060				.WRITZ::
   3740	003060	013737 	003014'	004064'		MOV	.OTPOS,.OTATT+14	; NEXT FREE BYTE
   3741	003066	162737 	003016'	004064'		SUB	#.OTBUF,.OTATT+14	; MAKE RELATIVE ADDR
   3742	003074	023727 	003012'	000002 		CMP	.OTBBC,#2	; MORE THAN 1 BYTE LEFT?
   3743	003102	002413 				BLT	10$		; NO -- JUST ZERO BUFFER
   3744	003104	013700 	003012'			MOV	.OTBBC,R0	; YES -- WRITE ZERO RECORD
   3745	003110	032737 	000001 	003014'		BIT	#1,.OTPOS	; ON WORD BOUNDRY?
   3746	003116	001401 				BEQ	5$		; YES -- GO ON
   3747	003120	005300 				DEC	R0		; NO -- DECREMENT COUNT
   3748	003122	162700 	000002 		5$:	SUB	#2,R0		; DISCOUNT RECORD COUNT FIELD
   3749	003126					CALL	.WRITW		; WRITE COUNT
	003126	004737 	002754'			 JSR	PC,.WRITW
   3750	003132	005737 	003012'		10$:	TST	.OTBBC		; BUFFER FULL?
   3751	003136	001405 				BEQ	20$		; YES -- DONE
   3752	003140	112700 	000000 			MOVB	#0,R0		; WRITE OUT ZEROS
   3753	003144				12$:	CALL	.WRITB		; NO -- FILL BUFFER
	003144	004737 	003030'			 JSR	PC,.WRITB
   3754	003150	000770 				BR	10$		; NEXT
   3755	003152				20$:	CALL	.WRITE		; WRITE OUT BUFFER
	003152	004737 	003160'			 JSR	PC,.WRITE
   3756	003156					RETURN			; DONE
	003156	000207 				 RTS	PC
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 85
.WRITE -- ROUTINE TO WRITE A BLOCK

   3758					.SBTTL	.WRITE -- ROUTINE TO WRITE A BLOCK
   3759
   3760					;+
   3761					; .WRITE -- ROUTINE TO WRITE A BLOCK TO A FILE
   3762					;
   3763					; THIS ROUTINE WILL WRITE A BLOCK TO A CURRENTLY OPEN FILE ON DISK.
   3764					; IF THE FILE SPACE IS FULL THE FILE WILL BE EXTENDED.
   3765					;
   3766					; INPUT ARGUMENTS:
   3767					;
   3768					;	NONE
   3769					;
   3770					; OUTPUT ARGUMENTS:
   3771					;
   3772					;	NONE
   3773					;
   3774					; ERROR CODES RETURNED:
   3775					;
   3776					;	FEF -- FILE EXTEND FAILURE
   3777					;	FWT -- FILE WRITE FAILURE
   3778					;-
   3779
   3780	003160				.WRITE::
   3781	003160	062737 	000001 	003010'		ADD	#1,.OTVBN+2	; NEXT VIRTUAL BLOCK
   3782	003166	005537 	003006'			ADC	.OTVBN		; PROPAGATE CARRY
   3783	003172				10$:	QIOW$S	#IO.WVB,#LOGLUN,#E.FFIL,,#.FISTS,,<#.OTBUF,#.BUFSZ,,.OTVBN,.OTVBN+2>
	003172	013746 	003010'			MOV	.OTVBN+2,-(SP)
	003176	013746 	003006'			MOV	.OTVBN,-(SP)
	003202	005046 				CLR	-(SP)
	003204	012746 	001000 			MOV	#.BUFSZ,-(SP)
	003210	012746 	003016'			MOV	#.OTBUF,-(SP)
	003214	005046 				CLR	-(SP)
	003216	012746 	001662'			MOV	#.FISTS,-(SP)
	003222	005046 				CLR	-(SP)
	003224	112716 	000006 			MOVB	#E.FFIL,(SP)
	003230	012746 	000004 			MOV	#LOGLUN,-(SP)
	003234	012746 	000000G			MOV	#IO.WVB,-(SP)
	003240	012746 				MOV	(PC)+,-(SP)
	003242	   003 	   013 			.BYTE	3,$$$T1
	003244	104375 				EMT	375
   3784	003246	103427 				BCS	WRIFWT		; ERROR IF CC-C IS SET
   3785	003250	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3786	003254	002415 				BLT	20$		; NO -- SEE WHY
   3787	003256	013737 	003010'	004062'		MOV	.OTVBN+2,.OTATT+12	; SET HIGHEST USED BLOCK
   3788	003264	013737 	003006'	004060'		MOV	.OTVBN,.OTATT+10	; SET HIGHEST USED BLOCK
   3789	003272	012737 	003016'	003014'		MOV	#.OTBUF,.OTPOS	; YES -- SET BUFFER POINTER
   3790	003300	012737 	001000 	003012'		MOV	#.BUFSZ,.OTBBC	; SET BYTE COUNT
   3791	003306					RETURN			; DONE
	003306	000207 				 RTS	PC
   3792	003310	122737 	000000G	001662'	20$:	CMPB	#IE.EOF,.FISTS	; E-O-F FOUND?
   3793	003316	001003 				BNE	WRIFWT		; NO -- ERROR
   3794	003320					CALL	.EXTND		; YES -- EXTEND FILE
	003320	004737 	002004'			 JSR	PC,.EXTND
   3795	003324	000722 				BR	10$		; TRY AGAIN
   3796						;
   3797	003326				WRIFWT:
   3798	003326					ERROR$	FWT		; ERROR -- FILE WRITE FAILURE
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 85-1
.WRITE -- ROUTINE TO WRITE A BLOCK

	003326	012746 	024454 			 MOV	#^RFWT,-(SP)
	003332	104400 				 TRAP	TC.ERR
   3799						;
FILIO -- FILE INTERFACE ROUTINE	MACRO M1113  03-APR-86 22:51  PAGE 87
.WRITE -- ROUTINE TO WRITE A BLOCK

   3802
   3803					.TITLE	KL10F -- KL10 FUNCTION MODULE  7812.21
   3804
   3805						.IDENT	"007050"
   3806
   3807					;
   3808					;                             COPYRIGHT (C) 1975, 1984 BY
   3809					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3810					;
   3811					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3812					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3813					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3814					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3815					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3816					;
   3817					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3818					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3819					;       CORPORATION.
   3820					;
   3821					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3822					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3823					;
   3824					;		MODULE: KL10 FUNCTIONS
   3825					;
   3826					;		VERSION: 07-05
   3827					;
   3828					;		AUTHOR: R. BELANGER
   3829					;
   3830					;		DATE: 7812.21
   3831					;
   3832					;	THIS MODULE CONTAINS:
   3833					;
   3834					;	1) KL MBOX CLOCK BURST CODE
   3835
   3836						.MCALL	$DEF,DIR$,MRKT$,PREX$,PRDP$,KLDR$,KLDW$,KLDX$,WTSE$S
   3837
   3838	003334					$DEF
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 88
.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02

   3840					.SBTTL	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
   3841
   3842					;+
   3843					; .BRMBC -- SUBROUTINE TO STOP THE KL CLOCK AND BURST THE MBOX
   3844					;	    CLOCK AS IN ".BURST".
   3845					; .BURST -- SUBROUTINE TO BURST THE KL MBOX CLOCK
   3846					;	    A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
   3847					;
   3848					; THIS SUBROUTINE LOADS THE KL BURST COUNT REGISTER
   3849					; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
   3850					; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
   3851					;
   3852					; INPUT ARGUMENTS:
   3853					;
   3854					;	R0 CONTAINS THE BURST COUNT
   3855					;
   3856					; OUTPUT ARGUMENTS:
   3857					;
   3858					;	NONE.
   3859					;
   3860					; ERROR CODES RETURNED:
   3861					;
   3862					;	BAE -- BURST ARGUMENT ERROR.
   3863					;	FWF -- FUNCTION WRITE FAILED.
   3864					;	FXF -- FUNCTION EXECUTE FAILED.
   3865					;-
   3866
   3867	003334				.BRMBC::
   3868	003334					CALL	.STPXC		; STOP THE KL CLOCK
	003334	004737 	007316'			 JSR	PC,.STPXC
   3869	003340				.BURST::
   3870	003340	022700 	000377 			CMP	#^D255,R0	; IS ARGUMENT .GT. 255 DECIMAL?
   3871	003344	103406 				BLO	BCCTER		; YES -- ERROR
   3872	003346					CALL	.LDBRG		; NO -- LOAD THE BURST COUNTER
	003346	004737 	005472'			 JSR	PC,.LDBRG
   3873	003352	012700 	000012 			MOV	#FX.BMC,R0	; SET UP TO BURST THE MBOX CLOCK
   3874	003356					CALLR	.FXCT		; DO IT
	003356	000137 	004566'			 JMP	.FXCT
   3875						;
   3876	003362				BCCTER:
   3877	003362					ERROR$	BAE		; ERROR -- ARGUMENT OUT OF RANGE
	003362	012746 	006255 			 MOV	#^RBAE,-(SP)
	003366	104400 				 TRAP	TC.ERR
   3878						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 89
.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26

   3880					.SBTTL	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
   3881
   3882					;+
   3883					; .CLDFB -- SUBROUTINE TO CLEAR THE DTE-20 TRANSFER BUFFERS
   3884					; .CLDFR -- SUBROUTINE TO CLEAR THE DTE-20 READ BUFFER
   3885					; .CLDFW -- SUBROUTINE TO CLEAR THE DTE-20 WRITE BUFFER
   3886					;
   3887					; THE SUBROUTINES CLEAR THE INDICATED BUFFERS
   3888					;
   3889					; INPUT ARGUMENTS:
   3890					;
   3891					;	NONE.
   3892					;
   3893					; OUTPUT ARGUMENTS:
   3894					;
   3895					;	NONE.
   3896					;
   3897					; ERROR CODES RETURNED:
   3898					;
   3899					;	NONE.
   3900					;-
   3901
   3902						.ENABL	LSB
   3903
   3904	003370				.CLDFB::
   3905	003370					CALL	.CLDFW		; CLEAR THE WRITE HALF OF THE BUFFER
	003370	004737 	003404'			 JSR	PC,.CLDFW
   3906	003374				.CLDFR::
   3907	003374					PUSH	R0		; SAVE R0
	003374	010046 				 MOV	R0,-(SP)
   3908	003376	012700 	000344'			MOV	#.DFRB,R0	; .CLEAR THE FUNCTION READ BUFFER
   3909	003402	000403 				BR	10$		; .
   3910						;
   3911	003404				.CLDFW::
   3912	003404					PUSH	R0		; SAVE R0
	003404	010046 				 MOV	R0,-(SP)
   3913	003406	012700 	000336'			MOV	#.DFWB,R0	; .CLEAR THE FUNCTION WRITE BUFFER
   3914	003412				10$:
   3915	003412					CALL	.TPCLR		; .CLEAR THE BUFFER
	003412	004737 	011372'			 JSR	PC,.TPCLR
   3916	003416	000414 				BR	20$		; .RESTORE R0 AND EXIT
   3917						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 90
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   3919					.SBTTL	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
   3920
   3921					;+
   3922					; .CLRFF -- SUBROUTINE TO CLEAR THE KL RUN FLOP.
   3923					;
   3924					; THIS SUBROUTINE CLEARS THE KL RUN FLOP AND ISSUES A
   3925					; "MARK TIME" DIRECTIVE FOR THE CLOCK SHUTDOWN IN ".KLHLT".
   3926					;
   3927					; INPUT ARGUMENTS:
   3928					;
   3929					;	NONE.
   3930					;
   3931					; OUTPUT ARGUMENTS:
   3932					;
   3933					;	NONE
   3934					;
   3935					; ERROR CODES RETURNED:
   3936					;
   3937					;	FXF -- FUNCTION EXECUTE FAILED.
   3938					;-
   3939
   3940	003420				.CLRFF::
   3941	003420	000241 				CLC			; CLEAR CC-C
   3943	003422					DIR$	#.MTDPB		; REQUEST MARK TIME (FOR ".KLHLT")
	003422	012746 	000266'			MOV	#.MTDPB,-(SP)
	003426	104375 				EMT	375
   3945	003430					PUSH	R0		; SAVE R0
	003430	010046 				 MOV	R0,-(SP)
   3946	003432	112737 	000001 	000000G		MOVB	#1,.NOHLT	; TELL RSX20F NOT TO WORRY ABOUT THIS
   3947	003440	012700 	000020 			MOV	#FX.CRF,R0	; .SET UP TO CLEAR KL RUN FLOP
   3948	003444					CALL	.FXCT		; .DO IT
	003444	004737 	004566'			 JSR	PC,.FXCT
   3949	003450				20$:
   3950	003450					POP	R0		; .RESTORE R0
	003450	012600 				 MOV	(SP)+,R0
   3951	003452					RETURN			; TO CALLER
	003452	000207 				 RTS	PC
   3952
   3953						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 91
.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10

   3955					; DPB FOR MARK TIME DIRECTIVE
   3956
   3957					;	!===============================================!
   3958					; 00	!	DPB SIZE	!	  DIC		!
   3959					;	!-----------------------------------------------!
   3960					; 02	!		  EVENT FLAG			!
   3961					;	!-----------------------------------------------!
   3962					; 04	!	TIME INTERVAL IN CLOCK TICKS		!
   3963					;	!-----------------------------------------------!
   3964					; 06	!	RESCHEDULE INTERVAL IN CLOCK TICKS	!
   3965					;	!-----------------------------------------------!
   3966					; 10	!	     AST HANDLER ENTRY POINT		!
   3967					;	!===============================================!
   3968
   3969	000266				.PSECT	DPBS
   3970
   3971	000266				.MTDPB::
   3972	000266					MRKT$	E.FHTO,30.,0,0
	000266	   027 	   005 			.BYTE	23.,5
	000270	000001 				.WORD	E.FHTO
	000272	000036 				.WORD	30.
	000274	000000 				.WORD	0
	000276	000000 				.WORD	0
   3973
   3974	003454				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 92
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   3976					.SBTTL	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
   3977
   3978					;+
   3979					; .DTDW1 -- SUBROUTINE TO READ DTE-20 DIAG WORD 1.
   3980					; .DTDW2 -- SUBROUTINE TO READ DTE-20 DIAG WORD 2.
   3981					; .DTSTA -- SUBROUTINE TO READ DTE-20 STATUS WORD.
   3982					; .DTDW3 -- SUBROUTINE TO READ DTE-20 DIAG WORD 3.
   3983					; .DWDW1 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 1.
   3984					; .DWDW2 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 2.
   3985					; .DWSTA -- SUBROUTINE TO WRITE DTE-20 STATUS WORD.
   3986					; .DWDW3 -- SUBROUTINE TO WRITE DTE-20 DIAG WORD 3.
   3987					;
   3988					; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
   3989					; DTE-20 REGISTER.
   3990					;
   3991					; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
   3992					; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
   3993					; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
   3994					;
   3995					; INPUT ARGUMENTS:
   3996					;
   3997					;	(READ) NONE.
   3998					;	(WRITE) R0 POINTS TO THE DATA TO BE WRITTEN.
   3999					;
   4000					; OUTPUT ARGUMENTS:
   4001					;
   4002					;	R0 CONTAINS THE DATA FROM THE REGISTER WHICH WAS
   4003					;	READ OR WRITTEN.
   4004					;
   4005					; ERROR CODES RETURNED:
   4006					;
   4007					;	DSF -- DTE-20 STATUS FAILURE.
   4008					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 93
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4010						.ENABL	LSB
   4011
   4012	003454				.DWDW1::			; DIAG WORD 1 WRITE ENTRY
   4013	003454	105037 	000303'			CLRB	.REGRW+3	; SET DIAG1 OFFSET
   4014	003460	000413 				BR	10$		; DO COMMON WRITE CODE
   4015						;
   4016	003462				.DWDW2::			; DIAG WORD 2 WRITE ENTRY
   4017	003462	112737 	000002 	000303'		MOVB	#.DIAG2,.REGRW+3; DIAG2 OFFSET
   4018	003470	000407 				BR	10$		; DO COMMON WRITE CODE
   4019						;
   4020	003472				.DWSTA::			; STATUS WRITE ENTRY
   4021	003472	112737 	000004 	000303'		MOVB	#.DTSTW,.REGRW+3; OFFSET FOR STATUS
   4022	003500	000403 				BR	10$		; DO COMMON WRITE CODE
   4023						;
   4024	003502				.DWDW3::			; DIAG WORD 3 WRITE ENTRY
   4025	003502	112737 	000006 	000303'		MOVB	#.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
   4026	003510				10$:				; COMMON WRITE CODE
   4027	003510	010037 	000304'			MOV	R0,.REGRW+4	; SET THE DATA POINTER IN THE DPB
   4028	003514	113700 	000303'			MOVB	.REGRW+3,R0	; GET THE REGISTER OFFSET
   4029	003520	046077 	004212'	000304'		BIC	MBZTAB(R0),@.REGRW+4
   4030									; ZERO THE MBZ BITS
   4031	003526	000420 				BR	30$		; WRITE IT
   4032						;
   4033	003530				.DTDW1::			; DIAG WORD 1 READ ENTRY
   4034	003530	105037 	000303'			CLRB	.REGRW+3	; DIAG WORD 1 OFFSET IS 0
   4035	003534	000413 				BR	20$		; GO READ IT
   4036						;
   4037	003536				.DTDW2::			; DIAG WORD 2 READ ENTRY
   4038	003536	112737 	000002 	000303'		MOVB	#.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
   4039	003544	000407 				BR	20$		; GO READ IT
   4040						;
   4041	003546				.DTSTA::			; STATUS WORD READ ENTRY
   4042	003546	112737 	000004 	000303'		MOVB	#.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
   4043	003554	000403 				BR	20$		; GO READ THE DTE-20 STATUS REGISTER
   4044						;
   4045	003556				.DTDW3::			; DIAG WORD 3 READ ENTRY
   4046	003556	112737 	000006 	000303'		MOVB	#.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
   4047
   4048					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 94
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4050					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4051
   4052	003564				20$:
   4053	003564	005037 	000304'			CLR	.REGRW+4	; THIS IS NOT A WRITE
   4054	003570				30$:				; DATA BUFFER ALREADY LOADED FOR WRITE
   4055	003570	005037 	000352'			CLR	.DREG		; CLEAR RETURNED DATA BUFFER
   4059	003574					DIR$	#.REGRW		; READ OR WRITE THE REGISTER
	003574	012746 	000300'			MOV	#.REGRW,-(SP)
	003600	104375 				EMT	375
   4061	003602	103411 				BCS	DTEDSF		; ERROR IF CC-C IS SET
   4062	003604	013700 	000352'			MOV	.DREG,R0	; PUT A COPY IN R0
   4064	003610	032737 	000040 	000264'		BIT	#TR.DTE,.TRKWD	; NO -- ARE WE TRACKING DTE-20 OPS?
   4065	003616	001402 				BEQ	40$		; NO -- JUST RETURN
   4066	003620					CALLR	.DTTRK		; YES -- TRACK IT AND RETURN
	003620	000137 	012332'			 JMP	.DTTRK
   4067						;
   4068	003624				40$:
   4070	003624					RETURN			; GO AWAY
	003624	000207 				 RTS	PC
   4071
   4072						.DSABL	LSB
   4073
   4074	003626				DTEDSF:
   4075	003626					ERROR$	DSF		; ERROR -- DTE-20 REGISTER READ OR WRITE FAILED
	003626	012746 	015776 			 MOV	#^RDSF,-(SP)
	003632	104400 				 TRAP	TC.ERR
   4076						;
   4077
   4078					; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
   4079
   4080	004212				.PSECT	DATA
   4081
   4082	004212				MBZTAB:
   4083	004212	000442 				.WORD	D1.MBZ
   4084	004214	177641 				.WORD	D2.MBZ
   4085	004216	000000 				.WORD	ST.MBZ
   4086	004220	177704 				.WORD	D3.MBZ
   4087
   4088	003634				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 95
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

   4090					; DPB TO READ OR WRITE THE DTE-20 REGISTERS
   4091
   4092					;	!===============================================!
   4093					; 00	!	DPB SIZE	!	  DIC		!
   4094					;	!-----------------------------------------------!
   4095					; 02	!   REGISTER OFFSET	!    DIRECTIVE CODE	!
   4096					;	!-----------------------------------------------!
   4097					; 04	!	  POINTER TO DATA TO BE WRITTEN		!
   4098					;	!-----------------------------------------------!
   4099					; 06	!	DESTINATION ADDRESS FOR DATA READ	!
   4100					;	!-----------------------------------------------!
   4101					; 10	!		DTE-20 NUMBER			!
   4102					;	!===============================================!
   4103
   4104	000300				.PSECT	DPBS
   4105
   4106	000300				.REGRW::
   4107	000300	002411 				.WORD	2411
   4108	000302	   017 	   000 			.BYTE	17,0
   4109	000304	000000 				.WORD	0
   4110	000306	000352'				.WORD	.DREG
   4111	000310	000000 				.WORD	0
   4112		000310'			RGDTEN==.-2
   4113
   4114	003634				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 96
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   4116					.SBTTL	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
   4117
   4118					;+
   4119					; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
   4120					;
   4121					; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
   4122					; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
   4123					; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
   4124					;
   4125					; SEQUENCE OF OPERATION:
   4126					;
   4127					;	(A) AN MBOX CLOCK IS ISSUED (FX.002),
   4128					;	(B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
   4129					;		(1) IF FALSE GO TO (A),
   4130					;		(2) IF TRUE GO TO (C),
   4131					;	(C) THE EBOX CLOCK IS SYNCHED LOW.
   4132					;
   4133					; INPUT ARGUMENTS:
   4134					;
   4135					;	NONE.
   4136					;
   4137					; OUTPUT ARGUMENTS:
   4138					;
   4139					;	NONE.
   4140					;
   4141					; ERROR CODES RETURNED:
   4142					;
   4143					;	CES -- CLOCK ERROR STOP.
   4144					;	DSF -- DTE-20 STATUS FAILURE.
   4145					;	ECT -- EBOX CLOCK TIMEOUT.
   4146					;	FRF -- FUNCTION READ FAILED.
   4147					;	FXF -- FUNCTION EXECUTE FAILED.
   4148					;
   4149					; NOTE:
   4150					;
   4151					;	THIS SUBROUTINE ASSUMES THAT THE KL CLOCK IS OFF.
   4152					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 97
.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01

   4154	003634				.EBCLK::
   4155	003634					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	003634	010246 				 MOV	R2,-(SP)
	003636	010146 				 MOV	R1,-(SP)
	003640	010046 				 MOV	R0,-(SP)
   4156	003642					CALL	.CESCK		; ...SEE IF CLOCK ERROR STOP IS UP
	003642	004737 	000000'			 JSR	PC,.CESCK
   4157	003646	012702 	000310 			MOV	#^D200,R2	; ...TIMEOUT COUNT TO R2
   4158	003652				10$:
   4159	003652	005001 				CLR	R1		; ...CLEAR R1
   4160	003654	012700 	000004 			MOV	#FX.MBC,R0	; ...DO ONE MBOX CLOCK
   4161	003660					CALL	.FXCT		; ...DO IT
	003660	004737 	004566'			 JSR	PC,.FXCT
   4162	003664	012700 	000210 			MOV	#FR.104,R0	; ...READ STATE OF [CLK EBX SRC H]
   4163	003670					CALL	.FREAD		; ...DO IT
	003670	004737 	004362'			 JSR	PC,.FREAD
   4164	003674	032710 	000004 			BIT	#BIT02,(R0)	; ...IS IT THERE?
   4168	003700	001001 				BNE	20$		; ...YES -- SYNCH THE CLOCK AND EXIT
   4169	003702	077215 				SOB	R2,10$		; ...NO -- LOOP TILL COUNT EXHAUSTED
   4170	003704				20$:
   4171	003704	005702 				TST	R2		; ...WHAT'S IN R2?
   4172	003706	003405 				BLE	EBCECT		; ...TIMED OUT IF .LE. 0
   4173	003710					POP	<R0,R1,R2>	; ...RESTORE CALLER'S REGISTERS
	003710	012600 				 MOV	(SP)+,R0
	003712	012601 				 MOV	(SP)+,R1
	003714	012602 				 MOV	(SP)+,R2
   4174	003716					CALLR	.SYNXC		; FORCE SYNCH THE CLOCK AND EXIT
	003716	000137 	007470'			 JMP	.SYNXC
   4175						;
   4176	003722				EBCECT:
   4177	003722					ERROR$	ECT		; ERROR -- EBOX CLOCK TIME OUT
	003722	012746 	017714 			 MOV	#^RECT,-(SP)
	003726	104400 				 TRAP	TC.ERR
   4178						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 98
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4180					.SBTTL	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
   4181
   4182					;+
   4183					; .EXKLM -- SUBROUTINE TO EXAMINE KL MEMORY.
   4184					; .DPKLM -- SUBROUTINE TO DEPOSIT KL MEMORY.
   4185					;
   4186					; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL MEMORY.
   4187					;
   4188					; INPUT ARGUMENTS:
   4189					;
   4190					; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
   4191					;
   4192					;	(A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
   4193					;	(B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
   4194					;	(C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
   4195					;	(D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
   4196					;	(E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
   4197					;
   4198					; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
   4199					;
   4200					;		!===================================!
   4201					;	00	!      POINTER TO KL ADDRESS	    !
   4202					;		!-----------------------------------!
   4203					;	02	!       POINTER TO KL DATA	    !
   4204					;		!===================================!
   4205					;
   4206					; THE KL ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
   4207					;
   4208					;		!===================================!
   4209					;	00	!	  KL ADDRESS 20 - 35	    !
   4210					;		!-----------------------------------!
   4211					;	02	!	  KL ADDRESS 19 - 14	    !
   4212					;		!===================================!
   4213					;
   4214					; THE KL DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
   4215					;
   4216					; OUTPUT ARGUMENTS:
   4217					;
   4218					;	SAME AS INPUT ARGUMENTS.
   4219					;
   4220					; ERROR CODES RETURNED:
   4221					;
   4222					;	ESD -- EBOX STOPPED - DEPOSIT.
   4223					;	ESE -- EBOX STOPPED - EXAMINE.
   4224					;	EMF -- EXAMINE KL MEMORY FAILED.
   4225					;	DMF -- DEPOSIT KL MEMORY FAILED.
   4226					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 99
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4228						.ENABL	LSB
   4229
   4230	003730				.EXKLM::
   4231	003730					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	003730	010246 				 MOV	R2,-(SP)
	003732	010346 				 MOV	R3,-(SP)
   4232	003734	012702 	004222'			MOV	#.ETAB,R2	; ..POINTER TO EXAMINE TABLE
   4233	003740					CALL	.EXDPM		; ..GO DO EXAMINE
	003740	004737 	004020'			 JSR	PC,.EXDPM
   4240	003744	032737 	000010 	000264'		BIT	#TR.EXM,.TRKWD	; ..ARE WE TRACKING EXAMINES?
   4241	003752	001417 				BEQ	10$		; ..NO -- GO ON
   4242	003754					CALL	.EXTRK		; ..YES -- TRACK IT
	003754	004737 	012442'			 JSR	PC,.EXTRK
   4244	003760	000414 				BR	10$		; ..AND GO AWAY
   4245						;
   4246	003762				.DPKLM::
   4247	003762					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	003762	010246 				 MOV	R2,-(SP)
	003764	010346 				 MOV	R3,-(SP)
   4248	003766	012702 	004232'			MOV	#.DTAB,R2	; ..POINTER TO DEPOSIT TABLE
   4249	003772					CALL	.EXDPM		; ..DO THE DEPOSIT
	003772	004737 	004020'			 JSR	PC,.EXDPM
   4256	003776	032737 	000020 	000264'		BIT	#TR.DEP,.TRKWD	; ..ARE WE TRACKING DEPOSITS?
   4257	004004	001402 				BEQ	10$		; ..NO -- GO ON
   4258	004006					CALL	.DPTRK		; ..YES -- TRACK THE DEPOSIT
	004006	004737 	012454'			 JSR	PC,.DPTRK
   4260	004012				10$:
   4261	004012					POP	<R3,R2>		; ..RESTORE R2 AND R3
	004012	012603 				 MOV	(SP)+,R3
	004014	012602 				 MOV	(SP)+,R2
   4262	004016					RETURN			; RETURN TO CALLER
	004016	000207 				 RTS	PC
   4263
   4264						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 100
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4266					; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
   4267
   4268	004020				.EXDPM::
   4269	004020	000241 				CLC			; CLEAR CC-C
   4270	004022	012203 				MOV	(R2)+,R3	; GET THE DPB POINTER INTO R3
   4271	004024	110023 				MOVB	R0,(R3)+	; PUT THE MODE INTO THE DPB
   4272	004026	011123 				MOV	(R1),(R3)+	; PUT THE POINTER TO THE KL ADDRESS IN THE DPB
   4273	004030	016113 	000002 			MOV	2(R1),(R3)	; AND DESTINATION POINTER TOO
   4274	004034	011303 				MOV	(R3),R3		; GET ADDRESS OF CALLER'S DATA BLOCK
   4275	004036	042763 	177760 	000004 		BIC	#177760,4(R3)	; CLEAR EXTRANEOUS BITS
   4279	004044					DIR$	(R2)+		; DO THE EXAMINE OR DEPOSIT
	004044	012246 				MOV	(R2)+,-(SP)
	004046	104375 				EMT	375
   4281	004050	103401 				BCS	10$		; ERROR IF CC-C IS SET
   4282	004052					RETURN			; TO CALLER
	004052	000207 				 RTS	PC
   4283	004054				10$:
   4284	004054	022737 	000000G	000000G		CMP	#IE.EBX,$DSW	; IS THE EBOX STOPPED?
   4285	004062	001401 				BEQ	20$		; YES -- EBOX IS STOPPED
   4286	004064	005722 				TST	(R2)+		; NO -- OTHER ERROR
   4287	004066				20$:
   4288	004066					CALL	.CESCK		; SEE IF CLOCK ERROR STOP IS UP
	004066	004737 	000000'			 JSR	PC,.CESCK
   4289	004072	103001 				BCC	25$		; [5.1002]CES SWEEP RETURN?
   4290	004074					RETURN			; [5.1002]YES -- EXIT
	004074	000207 				 RTS	PC
   4291	004076				25$:	CALL	.RESTD		; RESET THE DTE-20 SINCE IT MAY BE CONFUSED
	004076	004737 	007102'			 JSR	PC,.RESTD
   4292	004102	000132 				JMP	@(R2)+		; GIVE THE EXAMINE ERROR TRAP
   4293						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 101
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4295					; TABLES FOR EXAMINE / DEPOSIT KL MEMORY
   4296
   4297	004222				.PSECT	DATA
   4298
   4299	004222				.ETAB:
   4300	004222	000327'				.WORD	.EXDPB+3	; POINTER FOR EXAMINE MODE IN DPB
   4301	004224	000324'				.WORD	.EXDPB		; EXAMINE DPB POINTER
   4302	004226	004120'				.WORD	EXDESE		; EBOX STOPPED - EXAMINE
   4303	004230	004142'				.WORD	EXDEMF		; EXAMINE KL FAILED
   4304
   4305	004232				.DTAB:
   4306	004232	000315'				.WORD	.DPDPB+3	; POINTER FOR DEPOSIT MODE IN DPB
   4307	004234	000312'				.WORD	.DPDPB		; DEPOSIT DPB POINTER
   4308	004236	004104'				.WORD	EXDESD		; EBOX STOPPED - DEPOSIT
   4309	004240	004134'				.WORD	EXDDMF		; DEPOSIT KL FAILED
   4310
   4311	004104				.PSECT
   4312
   4313	004104				EXDESD:
   4314	004104	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; FLAG THE EBOX STOP
   4315	004112					ERROR$	ESD		; ERROR -- EBOX STOPPED - DEPOSIT
	004112	012746 	021074 			 MOV	#^RESD,-(SP)
	004116	104400 				 TRAP	TC.ERR
   4316						;
   4317	004120				EXDESE:
   4318	004120	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; FLAG THE EBOX STOP
   4319	004126					ERROR$	ESE		; ERROR -- EBOX STOPPED - EXAMINE
	004126	012746 	021075 			 MOV	#^RESE,-(SP)
	004132	104400 				 TRAP	TC.ERR
   4320						;
   4321	004134				EXDDMF:
   4322	004134					ERROR$	DMF		; ERROR -- DEPOSIT MEMORY FAILED
	004134	012746 	015416 			 MOV	#^RDMF,-(SP)
	004140	104400 				 TRAP	TC.ERR
   4323						;
   4324	004142				EXDEMF:
   4325	004142					ERROR$	EMF		; ERROR -- EXAMINE MEMORY FAILED
	004142	012746 	020516 			 MOV	#^REMF,-(SP)
	004146	104400 				 TRAP	TC.ERR
   4326						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 102
.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24

   4328					; DPB FOR PRIVILEGED DEPOSIT
   4329
   4330					;	!===============================================!
   4331					; 00	!	DPB SIZE	!	  DIC		!
   4332					;	!-----------------------------------------------!
   4333					; 02	!    DEPOSIT TYPE	!    DIRECTIVE CODE	!
   4334					;	!-----------------------------------------------!
   4335					; 04	!	  KL DEPOSIT ADDRESS POINTER		!
   4336					;	!-----------------------------------------------!
   4337					; 06	!	   KL DEPOSIT DATA POINTER		!
   4338					;	!-----------------------------------------------!
   4339					; 10	!		DTE-20 NUMBER			!
   4340					;	!===============================================!
   4341
   4342	000312				.PSECT	DPBS
   4343
   4344	000312				.DPDPB::
   4345	000312					PRDP$	0,.EDKLA,.DPBFR,ED.PHY
	000312	   011 	   005 			.BYTE	DR.DTE,5
	000314	   016 	   200 			.BYTE	DF.PDP,ED.PHY
	000316	000106'				.WORD	.EDKLA
	000320	000070'				.WORD	.DPBFR
	000322	000000 				.WORD	0
   4346		000322'			DPDTEN==.-2
   4347
   4348					; DPB FOR PRIVILEGED EXAMINE
   4349
   4350					;	!===============================================!
   4351					; 00	!	DPB SIZE	!	  DIC		!
   4352					;	!-----------------------------------------------!
   4353					; 02	!    EXAMINE TYPE	!    DIRECTIVE CODE	!
   4354					;	!-----------------------------------------------!
   4355					; 04	!	    KL ADDRESS WORD POINTER		!
   4356					;	!-----------------------------------------------!
   4357					; 06	!	     DATA DESTINATION POINTER		!
   4358					;	!-----------------------------------------------!
   4359					; 10	!		DTE-20 NUMBER			!
   4360					;	!===============================================!
   4361
   4362	000324				.EXDPB::
   4363	000324					PREX$	0,.EDKLA,.EXBFR,ED.PHY
	000324	   011 	   005 			.BYTE	DR.DTE,5
	000326	   015 	   200 			.BYTE	DF.PEX,ED.PHY
	000330	000106'				.WORD	.EDKLA
	000332	000156'				.WORD	.EXBFR
	000334	000000 				.WORD	0
   4364		000334'			EXDTEN==.-2
   4365
   4366	004150				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 103
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   4368					.SBTTL	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
   4369
   4370					;+
   4371					; .EXCTF -- FST INTERNAL EXECUTE.
   4372					;
   4373					; THIS SUBROUTINE WILL EXECUTE A KL INSTRUCTION WITHOUT
   4374					; CLOCKING THE KL OUT THE HALT LOOP; THE KL IS SIMPLY
   4375					; CONTINUED
   4376					;
   4377					; INPUT ARGUMENTS:
   4378					;
   4379					;	NONE.
   4380					;
   4381					; OUTPUT ARGUMENTS:
   4382					;
   4383					;	NONE.
   4384					;
   4385					; ERROR CODES RETURNED:
   4386					;
   4387					;	NONE
   4388					;-
   4389
   4390	004150				.EXCTF::
   4391	004150					PUSH	.KLFLG		; SAVE ".KLFLG"
	004150	013746 	000000G			 MOV	.KLFLG,-(SP)
   4392	004154	005116 				COM	(SP)		; .INVERT IT
   4393	004156	032716 	140000 			BIT	#KF.CLK!KF.RUN,(SP)
   4394	004162	001013 				BNE	10$		; .NOT REALLY RUNNING -- DO OTHER XCT
   4395	004164	005116 				COM	(SP)		; .RESET SAVED ".KLFLG"
   4396	004166					PUSH	R0		; .SAVE R0
	004166	010046 				 MOV	R0,-(SP)
   4397	004170					CALL	.STPKL		; ..STOP THE KL
	004170	004737 	007272'			 JSR	PC,.STPKL
   4398	004174					POP	R1		; ..INSTRUCTION POINTER TO R1
	004174	012601 				 MOV	(SP)+,R1
   4399	004176					CALL	.KLXCT		; .EXECUTE THE INSTRUCTION
	004176	004737 	005442'			 JSR	PC,.KLXCT
   4400	004202					POP	.SVKLF		; .SET UP ".SVKLF"
	004202	012637 	000260'			 MOV	(SP)+,.SVKLF
   4401	004206					CALLR	.RSTKL		; RESTART THE KL
	004206	000137 	007220'			 JMP	.RSTKL
   4402						;
   4403	004212				10$:
   4404	004212	005726 				TST	(SP)+		; .FLUSH THE STACK
   4405	004214	022020 				CMP	(R0)+,(R0)+	; ADVANCE THE POINTER
   4406	004216					PUSH	<(R0),-(R0),-(R0)>
	004216	011046 				 MOV	(R0),-(SP)
	004220	014046 				 MOV	-(R0),-(SP)
	004222	014046 				 MOV	-(R0),-(SP)
   4407	004224	010600 				MOV	SP,R0		; ...POINT TO STACKED INSTRUCTION
   4408
   4409					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 104
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

   4411					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4412
   4413	004226				.EXECT::
   4414	004226	010001 				MOV	R0,R1		; ...POINTER TO R1
   4415	004230					PUSH	.KLFLG		; ...SAVE ".KLFLG"
	004230	013746 	000000G			 MOV	.KLFLG,-(SP)
   4416	004234					CALL	.KLXCT		; ....START THE EXECUTE
	004234	004737 	005442'			 JSR	PC,.KLXCT
   4417	004240				10$:
   4418	004240					CALL	.EBCLK		; ....GIVE ONE EBOX CLOCK
	004240	004737 	003634'			 JSR	PC,.EBCLK
   4419	004244					CALL	.DTDW1		; ....READ DTE-20 DIAG WORD 1
	004244	004737 	003530'			 JSR	PC,.DTDW1
   4420	004250	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP UP?
   4422	004254	001371 				BNE	10$		; ....YES -- WAIT TILL IT ISN'T
   4424	004256					CALL	.STCLK		; ....OUT OF HALT LOOP -- START THE CLOCK
	004256	004737 	007246'			 JSR	PC,.STCLK
   4425	004262	012701 	005000 			MOV	#5000,R1	; ....WAIT COUNT TO R1
   4426	004266				20$:
   4427	004266					CALL	.DTDW1		; ....READ DTE-20 DIAG WORD 1
	004266	004737 	003530'			 JSR	PC,.DTDW1
   4428	004272	032700 	001000 			BIT	#D1.HLP,R0	; ....LOOK FOR THE HALT LOOP AGAIN
   4432	004276	001002 				BNE	30$		; ....IN THE HALT LOOP -- FINISH UP
   4433	004300	077106 				SOB	R1,20$		; ....NOT YET -- TRY AGAIN
   4434	004302	000424 				BR	EXECTO		; ....EXECUTE TIMED OUT
   4435						;
   4436	004304				30$:
   4437	004304	005116 				COM	(SP)		; ....INVERT OLD ".KLFLG"
   4438	004306	032716 	140000 			BIT	#KF.CLK!KF.RUN,(SP) ; ....WAS THE KL RUNNING??
   4439	004312	001003 				BNE	40$		; ....NO -- GO ON
   4440	004314					CALL	.KLCON		; ....YES -- CONTINUE THE KL
	004314	004737 	004736'			 JSR	PC,.KLCON
   4441	004320	000412 				BR	60$		; ....AND EXIT
   4442						;
   4443	004322				40$:
   4444	004322	032716 	100000 			BIT	#KF.CLK,(SP)	; ....WAS THE CLOCK ON?
   4445	004326	001402 				BEQ	50$		; ....YES -- GO ON
   4446	004330					CALL	.STPXC		; ....NO -- STOP IT
	004330	004737 	007316'			 JSR	PC,.STPXC
   4447	004334				50$:
   4448	004334	032716 	040000 			BIT	#KF.RUN,(SP)	; ....WAS THE RUN FLOP ON??
   4449	004340	001002 				BNE	60$		; ....NO -- GO ON
   4450	004342					CALL	.STRUN		; ....YES -- SET IT
	004342	004737 	007346'			 JSR	PC,.STRUN
   4451	004346				60$:
   4452	004346	062706 	000010 			ADD	#^D8,SP		; ....RESET THE STACK
   4453	004352					RETURN			; AND EXIT
	004352	000207 				 RTS	PC
   4454	004354				EXECTO:
   4455	004354					ERROR$	XTO		; ERROR -- EXECUTE TIMED OUT
	004354	012746 	114457 			 MOV	#^RXTO,-(SP)
	004360	104400 				 TRAP	TC.ERR
   4456						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 105
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   4458					.SBTTL	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
   4459
   4460					;+
   4461					; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
   4462					;
   4463					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
   4464					;
   4465					; SEQUENCE OF OPERATION:
   4466					;
   4467					;	THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
   4468					;	IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
   4469					;
   4470					; INPUT ARGUMENTS:
   4471					;
   4472					;	R0 HOLDS THE FUNCTION READ CODE
   4473					;	R1 POINTS TO A DESTINATION BUFFER
   4474					;
   4475					; OUTPUT ARGUMENTS:
   4476					;
   4477					;	R0 POINTS TO THE SUBROUTINE DATA BLOCK
   4478					;	R1 POINTS TO THE CALLER'S READ BLOCK
   4479					;
   4480					; ERROR CODES RETURNED:
   4481					;
   4482					;	FRF -- FUNCTION READ FAILED.
   4483					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 106
.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15

   4485	004362				.FREAD::
   4486	004362	110037 	000341'			MOVB	R0,.KLDFR+3	; SET THE DFR# IN THE DPB
   4490	004366					DIR$	#.KLDFR		; CALL THE EXEC TO DO THE READ
	004366	012746 	000336'			MOV	#.KLDFR,-(SP)
	004372	104375 				EMT	375
   4492	004374	103420 				BCS	FRDFRF		; ERROR IF CC-C IS SET
   4493	004376	012700 	000344'			MOV	#.DFRB,R0	; POINT TO TOP OF READ BLOCK
   4494	004402	005701 				TST	R1		; TEST R1
   4495	004404	001405 				BEQ	10$		; EXIT IF R1 .EQ. 0
   4496	004406	012021 				MOV	(R0)+,(R1)+	; LOAD HIS BUFFER FROM OURS
   4497	004410	012021 				MOV	(R0)+,(R1)+
   4498	004412	011011 				MOV	(R0),(R1)
   4499	004414	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   4500	004416	024141 				CMP	-(R1),-(R1)
   4501	004420				10$:
   4503	004420	032737 	000002 	000264'		BIT	#TR.FRD,.TRKWD	; ARE WE TRACKING FUNCTION READS?
   4504	004426	001402 				BEQ	20$		; NO -- JUST EXIT
   4505	004430					CALL	.FRTRK		; YES -- DO IT
	004430	004737 	012172'			 JSR	PC,.FRTRK
   4506	004434				20$:
   4508	004434					RETURN			; TO CALLER
	004434	000207 				 RTS	PC
   4509	004436				FRDFRF:
   4510	004436					ERROR$	FRF		; ERROR -- FUNCTION READ FAILED
	004436	012746 	024126 			 MOV	#^RFRF,-(SP)
	004442	104400 				 TRAP	TC.ERR
   4511						;
   4512
   4513					; DPB FOR DIAGNOSTIC FUNCTION READ
   4514
   4515					;	!===============================================!
   4516					; 00	!	DPB SIZE	!	DIC		!
   4517					;	!-----------------------------------------------!
   4518					; 02	!	DFR OPCODE	!	DFR CODE	!
   4519					;	!-----------------------------------------------!
   4520					; 04	!	    TRANSFER BUFFER ADDRESS		!
   4521					;	!-----------------------------------------------!
   4522					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   4523					;	!-----------------------------------------------!
   4524					; 10	!		DTE-20 NUMBER			!
   4525					;	!===============================================!
   4526
   4527	000336				.PSECT	DPBS
   4528
   4529	000336				.KLDFR::
   4530	000336					KLDR$	.-.,.DFBLK,.DREG,0
	000336	002411 				.WORD	400*5.+DR.DTE
	000340	   012 	   000 			.BYTE	DF.KLR,.-./400
	000342	000336'				.WORD	.DFBLK
	000344	000352'				.WORD	.DREG
	000346	000000 				.WORD	0
   4531		000346'			FRDTEN==.-2
   4532
   4533	004444				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 107
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   4535					.SBTTL	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
   4536
   4537					;+
   4538					; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   4539					;
   4540					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   4541					;
   4542					; SEQUENCE OF OPERATION:
   4543					;
   4544					; .FWRIT:
   4545					;
   4546					;	(A) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
   4547					;	    IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
   4548					;	(B) THE FUNCTION WRITE IS EXECUTED.
   4549					;
   4550					; INPUT ARGUMENTS:
   4551					;
   4552					;	R0 HOLDS THE FUNCTION WRITE CODE
   4553					;	R1 POINTS TO A SOURCE BUFFER
   4554					;
   4555					; OUTPUT ARGUMENTS:
   4556					;
   4557					;	R0 POINTS TO THE SUBROUTINE DATA BLOCK
   4558					;	R1 POINTS TO THE CALLER'S WRITE BLOCK
   4559					;
   4560					; ERROR CODES RETURNED:
   4561					;
   4562					;	FWF -- FUNCTION WRITE FAILED.
   4563					;-
   4564
   4565	004444				.FWRIT::
   4566	004444	110037 	000353'			MOVB	R0,.KLDFW+3	; SET THE DFW# IN THE DPB
   4567	004450	012700 	000336'			MOV	#.DFWB,R0	; POINT TO TOP OF WRITE BLOCK
   4568	004454	005701 				TST	R1		; TEST R1
   4569	004456	001405 				BEQ	10$		; ALREADY IN ".DFWB" IF R1 .EQ. 0
   4570	004460	012120 				MOV	(R1)+,(R0)+	; LOAD THE DATA BLOCK
   4571	004462	012120 				MOV	(R1)+,(R0)+
   4572	004464	011110 				MOV	(R1),(R0)
   4573	004466	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   4574	004470	024141 				CMP	-(R1),-(R1)
   4575
   4576
   4577					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 108
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   4579					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4580
   4581	004472				10$:
   4582	004472	042760 	177760 	000004 		BIC	#177760,4(R0)	; FLUSH EXTRANEOUS BITS
   4586	004500					DIR$	#.KLDFW		; CALL THE EXEC TO DO THE WRITE
	004500	012746 	000350'			MOV	#.KLDFW,-(SP)
	004504	104375 				EMT	375
   4588	004506	103424 				BCS	FWRFWF		; ERROR IF CC-C IS SET
   4589	004510					PUSH	R0		; SAVE THE BUFFER POINTER
	004510	010046 				 MOV	R0,-(SP)
   4590	004512	113700 	000353'			MOVB	.KLDFW+3,R0	; .GET THE WRITE CODE
   4591	004516	120027 	000110 			CMPB	R0,#FW.044	; .DID WE WRITE THE CLOCK BOARD?
   4592	004522	002406 				BLT	20$		; .NO -- JUST EXIT
   4593	004524	120027 	000116 			CMPB	R0,#FW.047	; .MAYBE -- DID WE REALLY?
   4594	004530	003003 				BGT	20$		; .NO -- JUST EXIT
   4595	004532	042737 	100000 	000000G		BIC	#KF.CLK,.KLFLG	; .YES -- TURN THE CLOCK BIT OFF
   4596	004540				20$:
   4598	004540	032737 	000004 	000264'		BIT	#TR.FWR,.TRKWD	; .ARE WE TRACKING FUNCTION WRITES?
   4599	004546	001402 				BEQ	30$		; .NO -- GO ON
   4600	004550					CALL	.FWTRK		; .YES -- LEAVE TRACKS ON CONSOLE
	004550	004737 	012212'			 JSR	PC,.FWTRK
   4601	004554				30$:
   4603	004554					POP	R0		; .RESTORE THE BUFFER POINTER
	004554	012600 				 MOV	(SP)+,R0
   4604	004556					RETURN			; YES -- RETURN TO CALLER
	004556	000207 				 RTS	PC
   4605
   4606	004560				FWRFWF:
   4607	004560					ERROR$	FWF		; ERROR -- FUNCTION WRITE FAILED
	004560	012746 	024436 			 MOV	#^RFWF,-(SP)
	004564	104400 				 TRAP	TC.ERR
   4608						;
   4609
   4610					; DPB FOR DIAGNOSTIC FUNCTION WRITE
   4611
   4612					;	!===============================================!
   4613					; 00	!	DPB SIZE	!	DIC		!
   4614					;	!-----------------------------------------------!
   4615					; 02	!	DFW OPCODE	!	DFW CODE	!
   4616					;	!-----------------------------------------------!
   4617					; 04	!	   TRANSFER BUFFER ADDRESS		!
   4618					;	!-----------------------------------------------!
   4619					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   4620					;	!-----------------------------------------------!
   4621					; 10	!		DTE-20 NUMBER			!
   4622					;	!===============================================!
   4623
   4624	000350				.PSECT	DPBS
   4625
   4626	000350				.KLDFW::
   4627	000350					KLDW$	.-.,.DFBLK,.DREG,0
	000350	002411 				.WORD	400*5.+DR.DTE
	000352	   013 	   000 			.BYTE	DF.KLW,.-./400
	000354	000336'				.WORD	.DFBLK
	000356	000352'				.WORD	.DREG
	000360	000000 				.WORD		0
   4628		000360'			FWDTEN==.-2
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 108-1
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

   4629
   4630	004566				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 109
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   4632					.SBTTL	.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
   4633					;+
   4634					; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   4635					;
   4636					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
   4637					; THE STATE OF THE KL CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
   4638					; IN THE KL STATE FLAG WORD, ".KLFLG".
   4639					;
   4640					; SEQUENCE OF OPERATION:
   4641					;
   4642					;	THE DFX IS SIMPLY EXECUTED.
   4643					;
   4644					; INPUT ARGUMENTS:
   4645					;
   4646					;	R0 CONTAINS THE FUNCTION EXECUTE CODE
   4647					;
   4648					; OUTPUT ARGUMENTS:
   4649					;
   4650					;	NONE.
   4651					;
   4652					; ERROR CODES RETURNED:
   4653					;
   4654					;	FXF -- FUNCTION EXECUTE FAILED.
   4655					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 110
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   4657	004566				.FXCT::
   4658	004566	110037 	000365'			MOVB	R0,.KLDFX+3	; SET THE EXECUTE CODE IN THE DPB
   4662	004572					DIR$	#.KLDFX		; CALL THE EXEC TO DO THE DFX
	004572	012746 	000362'			MOV	#.KLDFX,-(SP)
	004576	104375 				EMT	375
   4664	004600	103453 				BCS	FXCFXF		; ERROR IF CC-C IS SET
   4665	004602	113746 	000365'			MOVB	.KLDFX+3,-(SP)	; PUT THE EXECUTE CODE ON THE STACK
   4666	004606	012700 	100000 			MOV	#KF.CLK,R0	; .FLAG BIT TO R0
   4667	004612	121627 	000002 			CMPB	(SP),#FX.CST	; .IS DFX CODE .EQ. 1?
   4668	004616	001411 				BEQ	10$		; .YES -- DO CLOCK STARTED STUFF
   4669	004620	121627 	000016 			CMPB	(SP),#FX.SMR	; .NO -- IS DFX CODE .GT. 7?
   4670	004624	101014 				BHI	20$		; .YES -- LEAVE NOW
   4671	004626	030037 	000000G			BIT	R0,.KLFLG	; .NO -- IS THE FLAG OFF ALREADY?
   4672	004632	001426 				BEQ	40$		; .YES -- LEAVE NOW
   4673	004634	040037 	000000G			BIC	R0,.KLFLG	; .NO -- TURN IF OFF
   4674	004640	000423 				BR	40$		; .AND GO AWAY
   4675						;
   4676	004642				10$:
   4677	004642	030037 	000000G			BIT	R0,.KLFLG	; .IS THE FLAG ON ALREADY?
   4678	004646	001020 				BNE	40$		; .YES -- LEAVE NOW
   4679	004650	050037 	000000G			BIS	R0,.KLFLG	; .NO -- LIGHT IT UP
   4680	004654	000415 				BR	40$		; .AND EXIT
   4681						;
   4682	004656				20$:
   4683	004656	012700 	040000 			MOV	#KF.RUN,R0	; .DO RUN FLAG STUFF
   4684	004662	121627 	000022 			CMPB	(SP),#FX.SRF	; .SET THE RUN FLOP?
   4685	004666	001003 				BNE	30$		; .NO -- GO ON
   4686	004670	050037 	000000G			BIS	R0,.KLFLG	; .YES -- SET THE FLAG
   4687	004674	000405 				BR	40$		; .AND GO AWAY
   4688						;
   4689	004676				30$:
   4690	004676	121627 	000020 			CMPB	(SP),#FX.CRF	; .CLEAR RUN FLOP?
   4691	004702	001002 				BNE	40$		; .NO  -- JUST GO AWAY
   4692	004704	040037 	000000G			BIC	R0,.KLFLG	; .YES -- CLEAR THE FLAG
   4693
   4694					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 111
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

   4696					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4697
   4698	004710				40$:
   4700	004710	032737 	000001 	000264'		BIT	#TR.FXC,.TRKWD	; .ARE WE TRACKING FUNCTION EXECUTES?
   4701	004716	001402 				BEQ	50$		; .NO -- JUST EXIT
   4702	004720					CALL	.FXTRK		; .YES -- DO IT
	004720	004737 	012232'			 JSR	PC,.FXTRK
   4703	004724				50$:
   4705	004724					POP	R0		; .RESTORE R0
	004724	012600 				 MOV	(SP)+,R0
   4706	004726					RETURN			; TO CALLER
	004726	000207 				 RTS	PC
   4707	004730				FXCFXF:
   4708	004730					ERROR$	FXF		; FUNCTION EXECUTE FAILED
	004730	012746 	024506 			 MOV	#^RFXF,-(SP)
	004734	104400 				 TRAP	TC.ERR
   4709						;
   4710
   4711					; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
   4712
   4713					;	!===============================================!
   4714					; 00	!	DPB SIZE	!	DIC		!
   4715					;	!-----------------------------------------------!
   4716					; 02	!	DFX OPCODE	!	DFX CODE	!
   4717					;	!-----------------------------------------------!
   4718					; 04	!	    TRANSFER BUFFER ADDRESS		!
   4719					;	!-----------------------------------------------!
   4720					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   4721					;	!-----------------------------------------------!
   4722					; 10	!		DTE-20 NUMBER			!
   4723					;	!===============================================!
   4724
   4725
   4726	000362				.PSECT	DPBS
   4727
   4728	000362				.KLDFX::
   4729	000362					KLDX$	.-.,.DFBLK,.DREG,0
	000362	002411 				.WORD	400*5.+DR.DTE
	000364	   014 	   000 			.BYTE	DF.KLX,.-./400
	000366	000336'				.WORD	.DFBLK
	000370	000352'				.WORD	.DREG
	000372	000000 				.WORD	0
   4730		000372'			FXDTEN==.-2
   4731
   4732	004736				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 112
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   4734					.SBTTL	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
   4735
   4736					;+
   4737					; .KLCON -- SUBROUTINE TO CONTINUE THE KL.
   4738					; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL.
   4739					;
   4740					; THIS SUBROUTINE STARTS THE KL CLOCK AND SETS THE KL
   4741					; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
   4742					;
   4743					; SEQUENCE OF OPERATION:
   4744					;
   4745					; .KLCON:
   4746					;
   4747					;	(A) THE KL CONTINUE FLOP IS SET,
   4748					;
   4749					; .KLGO:
   4750					;
   4751					;	(A) THE KL CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
   4752					;	(B) THE KL RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
   4753					;	    OR SINGLE PULSE MODE.
   4754					;
   4755					; INPUT ARGUMENTS:
   4756					;
   4757					;	NONE.
   4758					;
   4759					; OUTPUT ARGUMENTS:
   4760					;
   4761					;	NONE.
   4762					;
   4763					; ERROR CODES RETURNED:
   4764					;
   4765					;	CFH -- CAN'T FIND KL HALT LOOP.
   4766					;	CSK -- CAN'T START KL.
   4767					;	DSF -- DTE-20 STATUS FAILURE.
   4768					;	FRF -- FUNCTION READ FAILED.
   4769					;	FWF -- FUNCTION WRITE FAILED.
   4770					;	FXF -- FUNCTION EXECUTE FAILED.
   4771					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 113
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

   4773	004736				.KLCON::
   4774	004736					PUSH	R1		; SAVE R1 ON THE STACK
	004736	010146 				 MOV	R1,-(SP)
   4775	004740	012701 	000000G			MOV	#.KLFLG,R1	; .FLAG WORD POINTER TO R1
   4776	004744				.KLGO::
   4777	004744	032711 	002000 			BIT	#KF.SPM,(R1)	; .SINGLE PULSE MODE?
   4778	004750	001027 				BNE	30$		; .YES -- JUST EXIT
   4779	004752	032711 	010000 			BIT	#KF.SIM,(R1)	; .NO -- SINGLE INSTRUCTION MODE?
   4780	004756	001002 				BNE	10$		; .YES -- GO ON
   4781	004760					CALL	.STRUN		; .NO -- SET THE KL RUN FLOP
	004760	004737 	007346'			 JSR	PC,.STRUN
   4782	004764				10$:
   4783	004764	012700 	000024 			MOV	#FX.CON,R0	; .SET THE CONTINUE BUTTON
   4784	004770					CALL	.FXCT		; .DO IT
	004770	004737 	004566'			 JSR	PC,.FXCT
   4785	004774	032711 	100000 			BIT	#KF.CLK,(R1)	; .IS THE CLOCK RUNNING?
   4786	005000	001002 				BNE	20$		; .YES -- EXIT
   4787	005002					CALL	.STCLK		; .NO -- START THE KL CLOCK
	005002	004737 	007246'			 JSR	PC,.STCLK
   4788	005006				20$:
   4789	005006	011100 				MOV	(R1),R0		; .GET ".KLFLG" INTO R0
   4790	005010	005100 				COM	R0		; .INVERT IT
   4791	005012	032700 	140000 			BIT	#KF.CLK!KF.RUN,R0 ; .IS THE KL RUNNING??
   4792	005016	001004 				BNE	30$		; .NO -- JUST EXIT
   4793	005020	052711 	000200 			BIS	#KF.CON,(R1)	; .YES -- KL IS NOW CONTINUEABLE
   4794	005024	105037 	000000G			CLRB	.NOHLT		; .LET RSX20F CATCH KL HALTS
   4795	005030				30$:
   4796	005030					POP	R1		; .RESTORE R1
	005030	012601 				 MOV	(SP)+,R1
   4797	005032					RETURN			; EXIT
	005032	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 114
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   4799					.SBTTL	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
   4800
   4801					;+
   4802					; .KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP
   4803					;	    AND SYNCH THE EBOX CLOCK LOW.
   4804					;
   4805					; THIS SUBROUTINE CLEARS THE KL RUN FLOP, GETS THE KL INTO
   4806					; THE MICROCODE HALT LOOP, AND TURNS THE KL CLOCK OFF.
   4807					;
   4808					; SEQUENCE OF OPERATION:
   4809					;
   4810					;	(A) THE KL RUN FLOP IS TURNED OFF,
   4811					;	(B) THE KL IS MOVED INTO THE UCODE HALT LOOP,
   4812					;	(C) A SMALL WAIT IS TIMED OUT (TO LET KL I/O SETTLE)
   4813					;	(D) THE KL CLOCK IS TURNED OFF,
   4814					;	(E) THE KL CLOCK IS SYNCHED LOW.
   4815					;
   4816					; INPUT ARGUMENTS:
   4817					;
   4818					;	NONE.
   4819					;
   4820					; OUTPUT ARGUMENTS:
   4821					;
   4822					;	NONE.
   4823					;
   4824					; ERROR CODES RETURNED:
   4825					;
   4826					;	CFH -- CAN'T FIND KL HALT LOOP.
   4827					;	DSF -- DTE-20 STATUS FAILURE.
   4828					;	FWF -- FUNCTION WRITE FAILED.
   4829					;	FXF -- FUNCTION EXECUTE FAILED.
   4830					;
   4831					; NOTE: THIS SUBROUTINE EXITS WITH THE KL CLOCK OFF.
   4832					;-
   4833
   4834	005034				.KLHLT::
   4835	005034					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	005034	010046 				 MOV	R0,-(SP)
	005036	010146 				 MOV	R1,-(SP)
	005040	010246 				 MOV	R2,-(SP)
   4836	005042					CALL	.DTDW1		; ...READ DIAG WORD 1
	005042	004737 	003530'			 JSR	PC,.DTDW1
   4837	005046	032700 	004000 			BIT	#D1.CES,R0	; ...IS CLOCK ERROR STOP UP?
   4839	005052	001016 				BNE	40$		; ...YES -- JUST EXIT
   4841	005054					CALL	.CLRFF		; ...NO -- CLEAR THE RUN FLOP
	005054	004737 	003420'			 JSR	PC,.CLRFF
   4842	005060	012701 	000024 			MOV	#^D20,R1	; ...SET UP WAIT COUNT
   4843
   4844					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 115
.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09

   4846					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4847
   4848	005064				10$:
   4849	005064					CALL	.DTDW1		; ...READ THE DTE-20 DIAG WORD 1
	005064	004737 	003530'			 JSR	PC,.DTDW1
   4850	005070	032700 	001000 			BIT	#D1.HLP,R0	; ...IN THE HALT LOOP YET?
   4854	005074	001001 				BNE	20$		; ...YES -- EXIT
   4855	005076	077106 				SOB	R1,10$		; ...NO -- TRY TILL COUNT EXHAUSTED
   4856	005100				20$:
   4857	005100	005701 				TST	R1		; ...IS R1 .GT. 0?
   4858	005102	003407 				BLE	50$		; ...NO -- GO MOVE THE CLOCK MANUALLY
   4859	005104				30$:
   4860	005104					CALL	.STPXC		; ...STOP THE KL CLOCK
	005104	004737 	007316'			 JSR	PC,.STPXC
   4861	005110				40$:
   4862	005110					POP	<R2,R1,R0>	; ...RESTORE CALLER'S REGISTERS
	005110	012602 				 MOV	(SP)+,R2
	005112	012601 				 MOV	(SP)+,R1
	005114	012600 				 MOV	(SP)+,R0
   4863	005116					CALLR	.SYNXC		; SYNCH THE EBOX CLOCK LOW AND EXIT
	005116	000137 	007470'			 JMP	.SYNXC
   4864						;
   4865
   4866					; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
   4867					; THIS MEANS THAT:
   4868					;
   4869					;	(A) MICROCODE WASN'T RUNNING, OR
   4870					;	(B) MICROCODE WASN'T LOADED.
   4871
   4872	005122				50$:
   4873	005122					CALL	.STPXC		; ...MAKE SURE THE CLOCK IS OFF
	005122	004737 	007316'			 JSR	PC,.STPXC
   4874	005126	012702 	000012 			MOV	#^D10,R2	; ...ITERATION COUNT TO R2
   4875	005132				60$:
   4876	005132	012700 	000310 			MOV	#^D200,R0	; ...200 (DECIMAL) CLOCKS PER PASS
   4877	005136					CALL	.BURST		; ...BURST THE CLOCK
	005136	004737 	003340'			 JSR	PC,.BURST
   4878	005142					CALL	.DTDW1		; ...READ DTE-20 DIAG WORD 1
	005142	004737 	003530'			 JSR	PC,.DTDW1
   4879	005146	032700 	001000 			BIT	#D1.HLP,R0	; ...ARE WE IN HALT LOOP NOW?
   4883	005152	001354 				BNE	30$		; ...YES -- GO STOP AND SYNCH THE CLOCK
   4884	005154	077212 				SOB	R2,60$		; ...NO -- LOOP TILL COUNT EXHAUSTED
   4885	005156				KLHCFH:
   4886	005156					ERROR$	CFH		; ERROR -- CAN'T FIND HALT LOOP
	005156	012746 	011670 			 MOV	#^RCFH,-(SP)
	005162	104400 				 TRAP	TC.ERR
   4887						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 116
.KLST  -- SUBROUTINE TO START THE KL 7512.08

   4889					.SBTTL	.KLST  -- SUBROUTINE TO START THE KL 7512.08
   4890
   4891					; .KLST -- SUBROUTINE TO START THE KL.
   4892					;
   4893					; THIS SUBROUTINE STARTS THE KL FROM THE HALT LOOP AT THE ADDRESS
   4894					; POINTED T0 BY R1 IN THE CALL.
   4895					;
   4896					; SEQUENCE OF OPERATION:
   4897					;
   4898					;	(A) THE KL IS STOPPED IN THE HALT LOOP,
   4899					;	(B) THE PC WORD IS LOADED INTO THE AR REGISTER,
   4900					;	(C) THE KL IS ALLOWED TO RUN THRU ".KLCON".
   4901					;
   4902					; INPUT ARGUMENTS:
   4903					;
   4904					;	R1 POINTS TO A 23 BIT KL ADDRESS
   4905					;
   4906					; OUTPUT ARGUMENTS:
   4907					;
   4908					;	NONE.
   4909					;
   4910					; ERROR CODES RETURNED:
   4911					;
   4912					;	CFH -- CAN'T FIND KL HALT LOOP.
   4913					;	CSK -- CAN'T START KL.
   4914					;	DSF -- DTE-20 STATUS FAILURE.
   4915					;	FRF -- FUNCTION READ FAILED.
   4916					;	FWF -- FUNCTION WRITE FAILED.
   4917					;	FXF -- FUNCTION EXECUTE FAILED.
   4918					;
   4919					; NOTE:
   4920					;
   4921					;	THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
   4922					;-
   4923
   4924	005164				.KLST::
   4925	005164					PUSH	R1		; SAVE POINTER ON THE STACK
	005164	010146 				 MOV	R1,-(SP)
   4926	005166					CALL	.KLHLT		; .HALT THE KL
	005166	004737 	005034'			 JSR	PC,.KLHLT
   4927	005172	011601 				MOV	(SP),R1		; .GET THE POINTER
   4928	005174	012700 	000176 			MOV	#FW.LAR,R0	; .LOAD THE AR REGISTER
   4929	005200					CALL	.FWRIT		; .DO IT
	005200	004737 	004444'			 JSR	PC,.FWRIT
   4930	005204	012701 	000000G			MOV	#.KLFLG,R1	; .POINT TO ".KLFLG"
   4931	005210	000655 				BR	.KLGO		; .AND FINISH THE START
   4932						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 117
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19

   4934					.SBTTL	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
   4935
   4936					;+
   4937					; .KLSTP -- SUBROUTINE TO PUT THE KL INTO THE HALT LOOP.
   4938					;
   4939					; THIS SUBROUTINE WILL PUT THE KL INTO THE MICROCODE HALT LOOP
   4940					; AND EXIT WITH THE KL CLOCK RUNNING.
   4941					;
   4942					; INPUT ARGUMENTS:
   4943					;
   4944					;	NONE.
   4945					;
   4946					; OUTPUT ARGUMENTS:
   4947					;
   4948					;	NONE.
   4949					;
   4950					; ERROR CODES RETURNED:
   4951					;
   4952					;	CFH -- CAN'T FIND HALT LOOP.
   4953					;	DSF -- DTE-20 STATUS FAILURE.
   4954					;	FXF -- FUNCTION EXECUTE FAILED.
   4955					;-
   4956
   4957
   4958	005212				.KLSTP::
   4959	005212	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK OFF?
   4960	005220	001001 				BNE	10$		; NO -- GO ON
   4961	005222	000704 				BR	.KLHLT		; YES -- HALT THE KL
   4962						;
   4963	005224				10$:
   4964	005224					PUSH	<R0,R1>		; SAVE R0 AND R1 ON THE STACK
	005224	010046 				 MOV	R0,-(SP)
	005226	010146 				 MOV	R1,-(SP)
   4965	005230	012701 	000144 			MOV	#^D100,R1	; ..SETUP WAIT COUNT
   4966	005234					CALL	.CLRFF		; ..CLEAR THE RUN FLOP
	005234	004737 	003420'			 JSR	PC,.CLRFF
   4967	005240				20$:
   4968	005240					CALL	.DTDW1		; ..READ DIAG WORD 1
	005240	004737 	003530'			 JSR	PC,.DTDW1
   4969	005244	032700 	001000 			BIT	#D1.HLP,R0	; ..ARE WE IN THE HALT LOOP?
   4973	005250	001001 				BNE	30$		; ..YES -- GO ON
   4974	005252	077106 				SOB	R1,20$		; ..NO -- KEEP TRYING
   4975	005254				30$:
   4976	005254	005701 				TST	R1		; ..IS R1 .GT. 0?
   4977	005256	003403 				BLE	KLSCFH		; ..NO -- GIVE "CFH" ERROR
   4978	005260					POP	<R1,R0>		; ..YES -- RESTORE REGISTERS
	005260	012601 				 MOV	(SP)+,R1
	005262	012600 				 MOV	(SP)+,R0
   4979	005264					RETURN			; TO CALLER
	005264	000207 				 RTS	PC
   4980	005266				KLSCFH:
   4981	005266					ERROR$	CFH		; ERROR -- CAN'T FIND KL HALT LOOP
	005266	012746 	011670 			 MOV	#^RCFH,-(SP)
	005272	104400 				 TRAP	TC.ERR
   4982						;
   4983	004242				.PSECT	DATA
   4984	004242				STPCI:
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 117-1
.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19

   4985	004242					IOKL$	CONO	KLP,,400000
	004242	   000 	   000 			 .BYTE	$$A,$$B
	004244	   002 	   176 			 .BYTE	$$C,$$D
	004246	   017 	   000 			 .BYTE	$$E,$$F
   4986	005274				.PSECT
   4987	005274				KLPSTP::
   4988	005274					PUSH	R0
	005274	010046 				 MOV	R0,-(SP)
   4989	005276	012700 	004242'			MOV	#STPCI,R0
   4990	005302					CALL	.EXCTF
	005302	004737 	004150'			 JSR	PC,.EXCTF
   4991	005306					POP	R0
	005306	012600 				 MOV	(SP)+,R0
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 118
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   4993					.SBTTL	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
   4994
   4995					;+
   4996					; .KLRST -- SUBROUTINE TO RESTART THE KL.
   4997					;
   4998					; THIS SUBROUTINE WILL RESTART THE KL AS DIRECTED BY ".SVKLF",
   4999					; THE SAVED KL STATE FLAG WORD.
   5000					;
   5001					; INPUT ARGUMENTS:
   5002					;
   5003					;	THE SAVED COPY OF ".KLFLG" IS IN ".SVKLF"
   5004					;
   5005					; OUTPUT ARGUMENTS:
   5006					;
   5007					;	".SVKLF" IS CLEARED.
   5008					;
   5009					; ERROR CODES RETURNED:
   5010					;
   5011					;	CFH -- CAN'T FIND KL HALT LOOP.
   5012					;	DSF -- DTE-20 STATUS FAILURE.
   5013					;	FRF -- FUNCTION READ FAILED.
   5014					;	FWF -- FUNCTION WRITE FAILED.
   5015					;	FXF -- FUNCTION EXECUTE FAILED.
   5016					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 119
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

   5018	005310				.KLRST::
   5019	005310					PUSH	<R1,R0>		; SAVE R0 AND R1
	005310	010146 				 MOV	R1,-(SP)
	005312	010046 				 MOV	R0,-(SP)
   5020	005314	013701 	000260'			MOV	.SVKLF,R1	; ..GET COPY OF OLD FLAGS
   5021	005320	032701 	013000 			BIT	#KF.SPM!KF.SIM!KF.BRM,R1
   5022	005324	001016 				BNE	20$		; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
   5023	005326	005101 				COM	R1		; ..INVERT R1
   5024	005330	032701 	140000 			BIT	#KF.RUN!KF.CLK,R1
   5025	005334	001011 				BNE	10$		; ..BRANCH IF NOT RUNNING
   5026	005336					CALL	.STRUN		; ..SET THE RUN FLOP
	005336	004737 	007346'			 JSR	PC,.STRUN
   5027	005342	012700 	000024 			MOV	#FX.CON,R0	; ..NOW DO THE CONTINUE BUTTON
   5028	005346					CALL	.FXCT		; ..SO
	005346	004737 	004566'			 JSR	PC,.FXCT
   5029	005352	013701 	000260'			MOV	.SVKLF,R1	; ..ELSE GET THE WORD AGAIN
   5030	005356	000406 				BR	30$		; ..AND GO AWAY
   5031						;
   5032	005360				10$:
   5033	005360	005101 				COM	R1		; ..STRAIGHTEN R1 OUT
   5034	005362				20$:
   5035	005362	032701 	040000 			BIT	#KF.RUN,R1	; ..WAS RUN FLOP SET?
   5036	005366	001402 				BEQ	30$		; ..NO -- GO ON
   5037	005370					CALL	.STRUN		; ..YES -- SET THE RUN FLOP
	005370	004737 	007346'			 JSR	PC,.STRUN
   5038	005374				30$:
   5039	005374	032701 	100000 			BIT	#KF.CLK,R1	; ..WAS CLOCK RUNNING?
   5040	005400	001413 				BEQ	40$		; ..NO -- JUST EXIT
   5041	005402	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; ..YES -- IS THE CLOCK ALREADY ON?
   5042	005410	001007 				BNE	40$		; ..YES -- JUST EXIT
   5043	005412					CALL	.STCLK		; ..NO -- START THE CLOCK
	005412	004737 	007246'			 JSR	PC,.STCLK
   5044	005416	032701 	040000 			BIT	#KF.RUN,R1	; ..DID WE LET IT RUN ?
   5045	005422	001402 				BEQ	40$		; ..NO -- JUST EXIT
   5046	005424	105037 	000000G			CLRB	.NOHLT		; ..YES -- LET RSX20F CHECK FOR HALTS
   5047	005430				40$:
   5048	005430					POP	<R0,R1>		; ..RESTORE R0 AND R1
	005430	012600 				 MOV	(SP)+,R0
	005432	012601 				 MOV	(SP)+,R1
   5049	005434	005037 	000260'			CLR	.SVKLF		; RESET ".SVKLF"
   5050	005440					RETURN			; AND EXIT
	005440	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 120
.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10

   5052					.SBTTL	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
   5053
   5054					;+
   5055					; .KLXCT -- SUBROUTINE TO EXECUTE A KL INSTRUCTION.
   5056					;
   5057					; THIS SUBROUTINE LOADS A KL INSTRUCTION INTO THE AR REGISTER
   5058					; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
   5059					;
   5060					; SEQUENCE OF OPERATION:
   5061					;
   5062					;	(A) THE KL IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
   5063					;	(B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
   5064					;	(C) THE KL CONTINUE FLOP IS SET.
   5065					;
   5066					; INPUT ARGUMENTS:
   5067					;
   5068					;	R1 POINTS TO A 36 BIT KL INSTRUCTION WORD
   5069					;
   5070					; OUTPUT ARGUMENTS:
   5071					;
   5072					;	NONE.
   5073					;
   5074					; ERROR CODES RETURNED:
   5075					;
   5076					;	CFH -- CAN'T FIND KL HALT LOOP.
   5077					;	DSF -- DTE-20 STATUS FAILURE.
   5078					;	FRF -- FUNCTION READ FAILED.
   5079					;	FWF -- FUNCTION WRITE FAILED.
   5080					;	FXF -- FUNCTION EXECUTE FAILED.
   5081					;-
   5082
   5083	005442				.KLXCT::
   5084	005442					CALL	.KLHLT		; STOP THE KL IN THE HALT LOOP
	005442	004737 	005034'			 JSR	PC,.KLHLT
   5085	005446	012700 	000176 			MOV	#FW.LAR,R0	; LOAD THE AR REGISTER
   5086	005452					CALL	.FWRIT		; DO IT
	005452	004737 	004444'			 JSR	PC,.FWRIT
   5087	005456	012700 	000024 			MOV	#FX.CON,R0	; SET THE "CONTINUE BUTTON"
   5088	005462					CALLR	.FXCT		; DO IT AND RETURN
	005462	000137 	004566'			 JMP	.FXCT
   5089						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 121
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   5091					.SBTTL	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
   5092
   5093					;+
   5094					; .LDBRC -- SUBROUTINE TO STOP THE KL CLOCK AND LOAD THE
   5095					;	    MBOX BURST COUNT REGISTER AS IN ".LDBRG".
   5096					; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
   5097					;
   5098					; THIS SUBROUTINE LOADS THE KL MBOX BURST COUNT REGISTER
   5099					; WITH THE COUNT PASSED TO IT IN R0.
   5100					;
   5101					; INPUT ARGUMENTS:
   5102					;
   5103					;	R0 CONTAINS THE CLOCK COUNT
   5104					;
   5105					; OUTPUT ARGUMENTS:
   5106					;
   5107					;	NONE.
   5108					;
   5109					; ERROR CODES RETURNED:
   5110					;
   5111					;	FWF -- FUNCTION WRITE FAILED.
   5112					;	FXF -- FUNCTION EXECUTE FAILED.
   5113					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 122
.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02

   5115	005466				.LDBRC::
   5116	005466					CALL	.STPXC		; STOP THE KL CLOCK
	005466	004737 	007316'			 JSR	PC,.STPXC
   5117	005472				.LDBRG::
   5118	005472					PUSH	<R1,R0>		; SAVE R1 AND R0 ON THE STACK
	005472	010146 				 MOV	R1,-(SP)
	005474	010046 				 MOV	R0,-(SP)
   5119	005476					CALL	.CLDFB		; ..CLEAR THE DFW BUFFERS
	005476	004737 	003370'			 JSR	PC,.CLDFB
   5120	005502	011600 				MOV	(SP),R0		; ..GET THE BURST COUNT FROM THE STACK
   5121	005504	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   5122	005510	010037 	000336'			MOV	R0,.DFWB	; ..SET RIGHT COUNT IN THE BUFFER
   5123	005514	012700 	000104 			MOV	#FW.LBR,R0	; ..SET UP TO LOAD THE RIGHT HALF
   5124	005520	005001 				CLR	R1		; ..CLEAR R1
   5125	005522					CALL	.FWRIT		; ..DO IT
	005522	004737 	004444'			 JSR	PC,.FWRIT
   5126	005526	011600 				MOV	(SP),R0		; ..GET THE ORIGINAL COUNT FROM THE STACK
   5127	005530	012701 	177774 			MOV	#-^D4,R1	; ..SHIFT COUNT TO R1
   5128	005534					CALL	.SHIFT		; ..SHIFT IT RIGHT 4 PLACES
	005534	004737 	011130'			 JSR	PC,.SHIFT
   5129	005540	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   5130	005544	010037 	000336'			MOV	R0,.DFWB	; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
   5131	005550	005001 				CLR	R1		; ..CLEAR R1
   5132	005552	012700 	000106 			MOV	#FW.LBL,R0	; ..SET UP TO LOAD THE LEFT HALF
   5133	005556					CALL	.FWRIT		; ..DO IT
	005556	004737 	004444'			 JSR	PC,.FWRIT
   5134	005562					POP	<R0,R1>		; ..RESTORE R0 AND R1
	005562	012600 				 MOV	(SP)+,R0
	005564	012601 				 MOV	(SP)+,R1
   5135	005566					RETURN			; AND LEAVE
	005566	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 123
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   5137					.SBTTL	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
   5138
   5139					;+
   5140					; .LDCLK -- SUBROUTINE TO LOAD THE KL CLOCK CONTROL REGISTERS.
   5141					; .LDPAR -- SUBROUTINE TO LOAD THE KL PARITY CONTROL REGISTERS.
   5142					;
   5143					; THESE SUBROUTINES SET UP THE KL CLOCK SOURCE, RATE, AND
   5144					; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
   5145					;
   5146					; SEQUENCE OF OPERATION:
   5147					;
   5148					; .LDCLK:
   5149					;
   5150					;	(A) THE KL CLOCK SOURCE, RATE, AND DISTRIBUTION
   5151					;	    PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
   5152					;	(B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
   5153					;	    CLOCK STATUS WORD (".CLKWD").
   5154					;
   5155					; .LDPAR:
   5156					;
   5157					;	(A) THE KL INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
   5158					;	    PARITY CONTROL REGISTER,
   5159					;	(B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
   5160					;	    CONTROL WORD (".PSCWD").
   5161					;
   5162					; INPUT ARGUMENTS:
   5163					;
   5164					;	R1 POINTS TO A PARAMETER WORD
   5165					;
   5166					; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   5167					;
   5168					;		!========================================!
   5169					;		!   DISTRIBUTION   !   SOURCE AND RATE   !
   5170					;		!========================================!
   5171					;
   5172					; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   5173					;
   5174					;		!========================================!
   5175					;		!   CONTROL BITS   !   CLOCK STOP BITS	 !
   5176					;		!========================================!
   5177					;
   5178					; OUTPUT ARGUMENTS:
   5179					;
   5180					;	R0 CONTAINS A COPY OF THE UPDATED PARAMTER WORD
   5181					;
   5182					; ERROR CODES RETURNED:
   5183					;
   5184					;	FWF -- FUNCTION WRITE FAILED.
   5185					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 124
.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30

   5187						.ENABL	LSB
   5188
   5189	005570				.LDCLK::
   5190	005570					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	005570	004537 	010316'			 JSR	R5,.REGSV
   5191	005574	012703 	000012'			MOV	#.CLKWD,R3	; CONTROL WORD POINTER TO R3
   5192	005600	012704 	000110 			MOV	#FW.CSR,R4	; BASE CLOCK WRITE TO R4
   5193	005604	000406 				BR	10$		; DO COMMON CODE
   5194						;
   5195	005606				.LDPAR::
   5196	005606					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	005606	004537 	010316'			 JSR	R5,.REGSV
   5197	005612	012703 	000236'			MOV	#.PSCWD,R3	; CONTROL WORD POINTER TO R3
   5198	005616	012704 	000114 			MOV	#FW.IPE,R4	; BASE PARITY WRITE TO R4
   5199									; FALL INTO COMMON CODE
   5200	005622				10$:
   5201	005622	010102 				MOV	R1,R2		; CALLER'S PARAMETER POINTER TO R2
   5202	005624					CALL	.CLDFW		; CLEAR THE WRITE BUFFER
	005624	004737 	003404'			 JSR	PC,.CLDFW
   5203	005630	005001 				CLR	R1		; CLEAR R1
   5204	005632	111237 	000336'			MOVB	(R2),.DFWB	; SET LOW BYTE PARAMETER
   5205	005636	010400 				MOV	R4,R0		; DFW CODE TO R0
   5206	005640					CALL	.FWRIT		; DO IT
	005640	004737 	004444'			 JSR	PC,.FWRIT
   5207	005644	112223 				MOVB	(R2)+,(R3)+	; MARK THE NEW LOW BYTE CODE
   5208	005646	005724 				TST	(R4)+		; NEXT WRITE CODE
   5209	005650	111210 				MOVB	(R2),(R0)	; SET THE HIGH BYTE PARAMETERS
   5210	005652	010400 				MOV	R4,R0		; DFW CODE TO R0
   5211	005654					CALL	.FWRIT		; DO IT
	005654	004737 	004444'			 JSR	PC,.FWRIT
   5212	005660	111223 				MOVB	(R2),(R3)+	; MARK THE NEW HIGH BYTE CODE
   5213	005662	014300 				MOV	-(R3),R0	; PUT A COPY IN R0
   5214	005664					RETURN			; EXIT
	005664	000207 				 RTS	PC
   5215
   5216						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 125
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   5218					.SBTTL	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
   5219
   5220					;+
   5221					; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
   5222					;	    KL CRAM ADDRESS REGISTER.
   5223					;
   5224					; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
   5225					; KL CRAM ADDRESS REGISTER.
   5226					;
   5227					; SEQUENCE OF OPERATION:
   5228					;
   5229					;	(A) THE KL CLOCK IS TURNED OFF (BY (B)),
   5230					;	(B) THE KL CRAM ADDRESS IS CLEARED BY ".RESET",
   5231					;	(C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
   5232					;
   5233					; INPUT ARGUMENTS:
   5234					;
   5235					;	R0 CONTAINS THE CRAM ADDRESS TO BE LOADED
   5236					;
   5237					; OUTPUT ARGUMENTS:
   5238					;
   5239					;	NONE.
   5240					;
   5241					; ERROR CODES RETURNED:
   5242					;
   5243					;	FWF -- FUNCTION WRITE FAILED.
   5244					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 126
.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19

   5246	005666				.LDCRA::
   5247	005666	042700 	170000 			BIC	#170000,R0	; CLEAR UNUSED BITS
   5248	005672					PUSH	<R1,R0>		; PUT R0 AND R1 ON THE STACK
	005672	010146 				 MOV	R1,-(SP)
	005674	010046 				 MOV	R0,-(SP)
   5249	005676					CALL	.RESTP		; ..CLEAR CRAM DIAG ADDR AND CRAM ADDR
	005676	004737 	007146'			 JSR	PC,.RESTP
   5250									; ..ALSO RETAIN CLOCK AND PARITY CONTROL
   5251	005702					CALL	.CLDFW		; ..CLEAR THE FW BUFFER
	005702	004737 	003404'			 JSR	PC,.CLDFW
   5252	005706	012700 	000336'			MOV	#.DFWB,R0	; ..SET UP THE BUFFER ADDRESS
   5253	005712	011610 				MOV	(SP),(R0)	; ..LOAD THE ADDRESS FROM THE STACK
   5254	005714	001427 				BEQ	10$		; ..LEAVE NOW IF ZERO
   5255	005716	042710 	174077 			BIC	#174077,(R0)	; ..CLEAR UNWANTED BITS
   5256	005722	012701 	000030 			MOV	#^D24,R1	; ..SHIFT COUNT TO R1
   5257	005726					CALL	.TPSHI		; ..SHIFT IT OVER
	005726	004737 	011772'			 JSR	PC,.TPSHI
   5258	005732	005001 				CLR	R1		; ..CLEAR R1
   5259	005734	012700 	000124 			MOV	#FW.CA2,R0	; ..SET UP TO WRITE IT
   5260	005740					CALL	.FWRIT		; ..DO IT
	005740	004737 	004444'			 JSR	PC,.FWRIT
   5261	005744	011610 				MOV	(SP),(R0)	; ..GET ADDRESS FROM THE STACK AGAIN
   5262	005746	042710 	177700 			BIC	#177700,(R0)	; ..CLEAR UNWANTED BITS
   5263	005752	012701 	000036 			MOV	#^D30,R1	; ..SHIFT COUNT TO R1
   5264	005756					CALL	.TPSHI		; ..SHIFT THAT OVER
	005756	004737 	011772'			 JSR	PC,.TPSHI
   5265	005762	005001 				CLR	R1		; ..CLEAR R1
   5266	005764	012700 	000122 			MOV	#FW.CA1,R0	; ..SET UP TO WRITE IT
   5267	005770					CALL	.FWRIT		; ..DO IT
	005770	004737 	004444'			 JSR	PC,.FWRIT
   5268	005774				10$:
   5269	005774					POP	<R0,R1>		; ..RESTORE REGISTERS
	005774	012600 				 MOV	(SP)+,R0
	005776	012601 				 MOV	(SP)+,R1
   5270	006000					RETURN			; EXIT TO CALLER
	006000	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 127
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   5272					.SBTTL	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
   5273
   5274					;+
   5275					; .MRCLR -- SUBROUTINE TO CLEAR THE KL IN THE MASTER RESET STATE.
   5276					;
   5277					; THIS SUBROUTINE SETS THE KL MASTER RESET FLOP AND ALLOWS THE
   5278					; KL CLOCK TO RUN, CLEARING THE KL.
   5279					;
   5280					; SEQUENCE OF OPERATION:
   5281					;
   5282					;	(A) THE MASTER RESET FLOP IS SET,
   5283					;	(B) THE KL CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
   5284					;	(C) THE NXM TIMERS ARE RESYNCHRONIZED,
   5285					;	(D) THE KL CLOCK IS STOPPED AND SYNCHED,
   5286					;	(E) THE MASTER RESET FLOP IS CLEARED.
   5287					;
   5288					; INPUT ARGUMENTS:
   5289					;
   5290					;	NONE.
   5291					;
   5292					; OUTPUT ARGUMENTS:
   5293					;
   5294					;	NONE.
   5295					;
   5296					; ERROR CODES RETURNED:
   5297					;
   5298					;	FRF -- FUNCTION READ FAILED.
   5299					;	FWF -- FUNCTION WRITE FAILED.
   5300					;	FXF -- FUNCTION EXECUTE FAILED.
   5301					;-
   5302
   5303	006002				.MRCLR::
   5304	006002					PUSH	<R0,R1,R2>	; SAVE REGISTERS
	006002	010046 				 MOV	R0,-(SP)
	006004	010146 				 MOV	R1,-(SP)
	006006	010246 				 MOV	R2,-(SP)
   5305	006010	012700 	000016 			MOV	#FX.SMR,R0	; ...SET MASTER RESET FLOP
   5306	006014					CALL	.FXCT		; ...DO IT
	006014	004737 	004566'			 JSR	PC,.FXCT
   5307	006020	052737 	020000 	000000G		BIS	#KF.MRS,.KLFLG	; ...SET THE FLAG
   5308	006026					CALL	.STCLF		; ...FORCE START THE KL CLOCK
	006026	004737 	007254'			 JSR	PC,.STCLF
   5309	006032	012701 	000764 			MOV	#^D500,R1	; ...SET UP WAIT COUNT
   5310
   5311					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 128
.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15

   5313					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5314
   5315	006036				10$:
   5316	006036	077101 				SOB	R1,10$		; ...STALL A WHILE
   5317	006040					CALL	.STPXC		; ...STOP THE KL CLOCK
	006040	004737 	007316'			 JSR	PC,.STPXC
   5318	006044					CALL	.CLDFB		; ...CLEAR THE FUNCTION BUFFERS
	006044	004737 	003370'			 JSR	PC,.CLDFB
   5319	006050	012700 	000160 			MOV	#FW.CHN,R0	; ...CLEAR THE CHANNELS
   5320	006054					CALL	.FWRIT		; ...DO IT
	006054	004737 	004444'			 JSR	PC,.FWRIT
   5321	006060	012702 	000003 			MOV	#^D3,R2		; ...LOOP COUNT TO R2
   5322	006064				20$:				; ...HERE TO RESYNCH THE NXM TIMERS
   5323	006064	005001 				CLR	R1		; ...CLEAR R1
   5324	006066	012700 	000344 			MOV	#FR.162,R0	; ...LOOK FOR [A CHANGE COMING L]
   5325	006072					CALL	.FREAD		; ...DO THE READ
	006072	004737 	004362'			 JSR	PC,.FREAD
   5326	006076	032710 	000010 			BIT	#BIT03,(R0)	; ...IS IT THERE?
   5330	006102	001405 				BEQ	30$		; ...YES -- GO ON
   5331	006104	012700 	000004 			MOV	#FX.MBC,R0	; ...NO -- STEP THE CLOCK
   5332	006110					CALL	.FXCT		; ...DO IT
	006110	004737 	004566'			 JSR	PC,.FXCT
   5333	006114	077215 				SOB	R2,20$		; ...LOOP THREE TIMES MAX
   5334	006116				30$:
   5335	006116					CALL	.SYNXC		; ...SYNCH THE CLOCK
	006116	004737 	007470'			 JSR	PC,.SYNXC
   5336	006122	012700 	000014 			MOV	#FX.CMR,R0	; ...CLEAR MASTER RESET FLOP
   5337	006126					CALL	.FXCT		; ...DO IT
	006126	004737 	004566'			 JSR	PC,.FXCT
   5338	006132	042737 	020300 	000000G		BIC	#KF.MRS!KF.CON!KF.CES,.KLFLG
   5339									; ...CLEAR THE FLAGS
   5340	006140					POP	<R2,R1,R0>	; ...RESTORE REGISTERS
	006140	012602 				 MOV	(SP)+,R2
	006142	012601 				 MOV	(SP)+,R1
	006144	012600 				 MOV	(SP)+,R0
   5341	006146					RETURN			; EXIT TO CALLER
	006146	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 129
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

   5343					.SBTTL	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
   5344
   5345					;+
   5346					; .RDCPP -- SUBROUTINE TO READ THE KL CLOCK AND INTERNAL PARITY
   5347					;	    CHECKING PARAMETERS.
   5348					;
   5349					; THIS SUBROUTINE READS THE KL CLOCK SOURCE, RATE AND DISTRIBUTION
   5350					; ENABLES AS WELL AS THE KL INTERNAL PARITY ENABLES AND MAINTAINS
   5351					; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
   5352					;
   5353					; INPUT ARGUMENTS:
   5354					;
   5355					;	NONE.
   5356					;
   5357					; OUTPUT ARGUMENTS:
   5358					;
   5359					;	".CLKWD" AND ".PSCWD" CONTAIN THE UPDATED CLOCK AND
   5360					;	PARITY ENABLES.
   5361					;
   5362					; ERROR CODES RETURNED:
   5363					;
   5364					;	FRF -- FUNCTION READ FAILED.
   5365					;-
   5366
   5367	006150				.RDCPP::
   5368	006150					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	006150	004537 	010316'			 JSR	R5,.REGSV
   5369	006154					PUSH	R0		; R0 TOO
	006154	010046 				 MOV	R0,-(SP)
   5370	006156	012704 	000004 			MOV	#^D4,R4		; .USE R4 AS A COUNTER
   5371	006162	012703 	004270'			MOV	#RDCPT1,R3	; .BIT TEST TABLE POINTER TO R3
   5372	006166	012705 	004260'			MOV	#RDCPT3,R5	; .SAVE AREA POINTER TO R5
   5373	006172				10$:
   5374	006172	112300 				MOVB	(R3)+,R0	; .FR CODE TO R0
   5375	006174	005001 				CLR	R1		; .CLEAR R1
   5376	006176					CALL	.FREAD		; .READ A WORD
	006176	004737 	004362'			 JSR	PC,.FREAD
   5377	006202	011025 				MOV	(R0),(R5)+	; .SAVE BITS 20 THRU 35 IN TABLE
   5378	006204	077406 				SOB	R4,10$		; .READ ALL FOUR OF THEM
   5379	006206	005037 	000012'			CLR	.CLKWD		; .CLEAR THE OLD CLOCK PARAMETERS
   5380	006212	005037 	000236'			CLR	.PSCWD		; .AND THE OLD PARITY STOP PARAMETERS
   5381
   5382					;	[CONTINUED ON THE FOLLOWING PAGE]
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 130
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

   5384					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5385
   5386	006216	012700 	000004 			MOV	#^D4,R0		; .DO OUTER LOOP 4 TIMES
   5387	006222	012705 	004260'			MOV	#RDCPT3,R5	; .KL SAVE AREA POINTER TO R5
   5388	006226				20$:
   5389	006226	012704 	000004 			MOV	#^D4,R4		; .DO INNER LOOP 4 TIMES
   5390	006232	012702 	004250'			MOV	#RDCPT2,R2	; .KL MASK POINTER TO R2
   5391	006236				30$:
   5392	006236	012701 	000012'			MOV	#.CLKWD,R1	; .CLOCK WORD POINTER TO R1
   5393	006242	020427 	000002 			CMP	R4,#^D2		; .IS INNER LOOP COUNT .GT. 2?
   5394	006246	101004 				BHI	50$		; .YES -- CONTINUE
   5395	006250	001001 				BNE	40$		; .NO -- IS IT  .LT. 2?
   5396	006252	005115 				COM	(R5)		; .NO -- INVERT THE WORD SO REST OF CODE WORKS
   5397	006254				40$:
   5398	006254	012701 	000236'			MOV	#.PSCWD,R1	; .DO PARITY WORD
   5399	006260				50$:
   5400	006260	041311 				BIC	(R3),(R1)	; .FLUSH THE BIT IN THE FLAG WORD
   5401	006262	031215 				BIT	(R2),(R5)	; .TEST THE BIT WE READ IN THIS WORD
   5402	006264	001401 				BEQ	60$		; .BRANCH IF BIT IS OFF
   5403	006266	051311 				BIS	(R3),(R1)	; .TURN THE BIT ON IN THE FLAG WORD
   5404	006270				60$:
   5405	006270	022322 				CMP	(R3)+,(R2)+	; .ADVANCE THE MASK POINTERS
   5406	006272	077417 				SOB	R4,30$		; .DO INNER LOOP 4 TIMES
   5407	006274	005125 				COM	(R5)+		; .ADVANCE THE SAVE AREA POINTER
   5408									; .AND STRAIGHTEN THE WORD OUT
   5409	006276	077025 				SOB	R0,20$		; .DO OUTER LOOP 4 TIMES
   5410	006300					POP	R0		; .GIVE R0 BACK
	006300	012600 				 MOV	(SP)+,R0
   5411	006302					RETURN			; AND GO AWAY
	006302	000207 				 RTS	PC
   5412
   5413					; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
   5414
   5415	004250				.PSECT	DATA
   5416
   5417	004250				RDCPT2:
   5418	004250	000010 				.WORD	BIT03		; KL BIT 32
   5419	004252	000004 				.WORD	BIT02		; KL BIT 33
   5420	004254	000002 				.WORD	BIT01		; KL BIT 34
   5421	004256	000001 				.WORD	BIT00		; KL BIT 35
   5422
   5423					; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
   5424
   5425	004260				RDCPT3:
   5426	004260	000000 				.WORD	0		; FR.104 BITS 20 - 35
   5427	004262	000000 				.WORD	0		; FR.105 BITS 20 - 35
   5428	004264	000000 				.WORD	0		; FR.106 BITS 20 - 35
   5429	004266	000000 				.WORD	0		; FR.107 BITS 20 - 35
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 131
.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 75

   5431					; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
   5432					; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
   5433					; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
   5434					; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
   5435
   5436	004270				RDCPT1:
   5437	004270	   210 				.BYTE	FR.104
   5438	004271	   212 				.BYTE	FR.105
   5439	004272	   214 				.BYTE	FR.106
   5440	004273	   216 				.BYTE	FR.107
   5441	004274	000010 				.WORD	CS.CS2		; CLK SOURCE 2 H [FR.104 - BIT 32]
   5442									; [FW 44 - BIT 32]
   5443	004276	000000 				.WORD	0		; BLANK [FR.104 - BIT 33]
   5444	004300	000010 				.WORD	IP.FMP		; FM PAR EN L [FR.104 - BIT 34]
   5445									; [FW 46 - BIT 32]
   5446	004302	000000 				.WORD	0		; BLANK [FR.104 - BIT 35]
   5447	004304	000004 				.WORD	CS.CS1		; CLK SOURCE 1 H [FR.105 - BIT 32]
   5448									; [FW 44 - BIT 33]
   5449	004306	002000 				.WORD	CD.CRC		; CLK CRAM DIS H [FR.105 - BIT 33]
   5450									; [FW 45 - BIT 33]
   5451	004310	000004 				.WORD	IP.CRP		; CRAM PAR EN L [FR.105 - BIT 34]
   5452									; [FW 46 - BIT 33]
   5453	004312	000000 				.WORD	0		; BLANK [FR.105 BIT - 35]
   5454	004314	000002 				.WORD	CR.CR2		; CLK RATE 2 H [FR.106 - BIT 32]
   5455									; [FW 44 - BIT 34]
   5456	004316	001000 				.WORD	CD.DPC		; CLK EDP DIS H [FR.106 - BIT 33]
   5457									; [FW 45 - BIT 34]
   5458	004320	000002 				.WORD	IP.DRP		; DRAM PAR EN L [FR.106 - BIT 34]
   5459									; [FW 46 - BIT 34]
   5460	004322	001000 				.WORD	AP.ARP		; AR/ARX PAR EN L [FR.106 - BIT 35]
   5461									; [FW 47 - BIT 34]
   5462	004324	000001 				.WORD	CR.CR1		; CLK RATE 1 H [FR.107 - BIT 32]
   5463									; [FW 44 - BIT 35]
   5464	004326	000400 				.WORD	CD.CLC		; CLK CTL DIS H [FR.107 - BIT 33]
   5465									; [FW 45 - BIT 35]
   5466	004330	000001 				.WORD	IP.FSS		; FS STOP EN L [FR.107 -BIT 34]
   5467									; [FW 46 - BIT 35]
   5468	004332	000400 				.WORD	AP.EIP		; CLK ERR STOP EN L [FR.107 - BIT 35]
   5469									; [FW 47 - BIT 35]
   5470
   5471	006304				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 132
.RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22

   5473					.SBTTL	.RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
   5474
   5475					;+
   5476					; .RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD.
   5477					;
   5478					; THIS SUBROUTINE READS AND RETURNS THE CONTENT OF THE CRAM DISP FIELD
   5479					; IN R0.
   5480					;
   5481					; INPUT ARGUMENTS:
   5482					;
   5483					;	NONE.
   5484					;
   5485					; OUTPUT ARGUMENTS:
   5486					;
   5487					;	R0 CONTAINS THE CURRENT CRAM DISP FIELD
   5488					;
   5489					; ERROR CODES RETURNED:
   5490					;
   5491					;	FRF -- FUNCTION READ FAILED.
   5492					;-
   5493
   5494	006304				.RDCRD::
   5495	006304					PUSH	R1		; SAVE R1 ON THE STACK
	006304	010146 				 MOV	R1,-(SP)
   5496	006306	005001 				CLR	R1		; .CLEAR R1
   5497	006310	012700 	000302 			MOV	#FR.CRD,R0	; .FR CODE TO R0
   5498	006314					CALL	.FREAD		; .READ IT
	006314	004737 	004362'			 JSR	PC,.FREAD
   5499	006320	012701 	177742 			MOV	#-^D30,R1	; .SHIFT COUNT TO R1
   5500	006324					CALL	.TPSHI		; .SHIFT IT
	006324	004737 	011772'			 JSR	PC,.TPSHI
   5501	006330	042710 	177700 			BIC	#^C77,(R0)	; .MASK UNWANTED BITS
   5502	006334	011000 				MOV	(R0),R0		; .COPY TO R0
   5503	006336					POP	R1		; .RESTORE R1
	006336	012601 				 MOV	(SP)+,R1
   5504	006340					RETURN			; AND GO AWAY
	006340	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 133
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19

   5506					.SBTTL	.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
   5507
   5508					;+
   5509					; .RDCRM -- SUBROUTINE TO READ A LOCATION IN THE KL CONTROL RAM.
   5510					; .RDCRR -- SUBROUTINE TO READ THE OUTPUT OF THE CRAM REGISTER.
   5511					;
   5512					; THIS SUBROUTINE WILL READ ONE LOCATION IN THE KL CONTROL RAM.
   5513					;
   5514					; SEQUENCE OF OPERATION:
   5515					;
   5516					; .RDCRM:
   5517					;
   5518					;	(A) THE KL IS HALTED IN THE HALT LOOP,
   5519					;	(B) THE CONTROL RAM ADDRESS IS LOADED,
   5520					;
   5521					; .RDCRR:
   5522					;
   5523					;	(C) THE CONTENT OF THE CURRENT CRAM ADDRESS IS READ.
   5524					;
   5525					; INPUT ARGUMENTS:
   5526					;
   5527					;	R0 CONTAINS THE CRAM ADDRESS TO BE READ IN THE CALL TO ".RDCRM".
   5528					;
   5529					; OUTPUT ARGUMENTS:
   5530					;
   5531					;	 R0 CONTAINS A POINTER TO THE RAM DATA.
   5532					;
   5533					; THE FOLLOWING IS A PICTURE OF THRE DATA RETURNED BY THIS SUBROUTINE:
   5534					;
   5535					;	WORD		CRAM DATA
   5536					;	----		---------
   5537					;		+==================================+
   5538					;	00	|	CRAM BITS 68 THRU 78	   |
   5539					;		+----------------------------------+
   5540					;	01	|	CRAM BITS 60 THRU 66       |
   5541					;		+----------------------------------+
   5542					;	02	|	CRAM BITS 48 THRU 59	   |
   5543					;		+----------------------------------+
   5544					;	03	|	CRAM BITS 40 THRU 47	   |
   5545					;		+----------------------------------+
   5546					;	04	|	CRAM BITS 28 THRU 39	   |
   5547					;		+----------------------------------+
   5548					;	05	|	CRAM BITS 20 THRU 27	   |
   5549					;		+----------------------------------+
   5550					;	06	|	CRAM BITS 08 THRU 19	   |
   5551					;		+----------------------------------+
   5552					;	07	|	CRAM BITS 00 THRU 07	   |
   5553					;		+----------------------------------+
   5554					;	08	|    CRAM DISP BITS 00 THRU 04	   |
   5555					;		+==================================+
   5556					;
   5557					; ERROR CODES RETURNED:
   5558					;
   5559					;	CAE -- CRAM ADDRESS ERROR.
   5560					;	FRF -- FUNCTION READ FAILED.
   5561					;	FWF -- FUNCTION WRITE FAILED.
   5562					;	FXF -- FUNCTION EXECUTE FAILED.
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 133-1
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19

   5563					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 134
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19

   5565	006342				.RDCRM::
   5566	006342					PUSH	<R1,R2,R3,R4>	; SAVE CALLER'S REGISTERS
	006342	010146 				 MOV	R1,-(SP)
	006344	010246 				 MOV	R2,-(SP)
	006346	010346 				 MOV	R3,-(SP)
	006350	010446 				 MOV	R4,-(SP)
   5567	006352	020027 	003777 			CMP	R0,#3777	; ....[TCO 6.????]IS THE ADDRESS IN RANGE?
   5568	006356	101052 				BHI	RDCRME		; ....NO -- GIVE "CRA" ERROR
   5569	006360					CALL	.LDCRA		; ....YES -- LOAD THE CRAM ADDRESS
	006360	004737 	005666'			 JSR	PC,.LDCRA
   5570	006364	012700 	000006 			MOV	#FX.EBC,R0	; ....NOW CLOCK THE DATA OUT OF THE RAM
   5571	006370					CALL	.FXCT		; ....DO IT
	006370	004737 	004566'			 JSR	PC,.FXCT
   5572	006374				.RDCRR::			; ....HERE TO READ THE CRAM REGISTER
   5573	006374	012702 	000022'			MOV	#.CRAMR,R2	; ....SAVE AREA POINTER TO R2
   5574	006400	012704 	000310 			MOV	#FR.CR4,R4	; ....BASE READ TO R4
   5575	006404	012703 	000004 			MOV	#^D4,R3		; ....USE R3 AS A COUNTER
   5576	006410				10$:
   5577	006410	005001 				CLR	R1		; ....CLEAR R1
   5578	006412	010400 				MOV	R4,R0		; ....PASS THE FREAD CODE
   5579	006414					CALL	.FREAD		; ....DO IT
	006414	004737 	004362'			 JSR	PC,.FREAD
   5580	006420	012022 				MOV	(R0)+,(R2)+	; ....LOAD CALLER'S BUFFER FROM OURS
   5581	006422	012022 				MOV	(R0)+,(R2)+	; ....
   5582	006424	062704 	000002 			ADD	#^D2,R4		; ....INCREMENT THE FREAD CODE
   5583	006430	077311 				SOB	R3,10$		; ....LOOP TILL DONE
   5584	006432					CALL	.RDCRD		; ....READ THE DISPATCH FIELD
	006432	004737 	006304'			 JSR	PC,.RDCRD
   5585	006436	010012 				MOV	R0,(R2)		; ....PUT IT IN THE DATA BLOCK
   5586	006440					CALL	.CLDFW		; ....CLEAR THE FUNCTION WRITE BUFFER
	006440	004737 	003404'			 JSR	PC,.CLDFW
   5587	006444	005001 				CLR	R1		; ....CLEAR R1
   5588	006446	012700 	000122 			MOV	#FW.CA1,R0	; ....CLEAR CRAM DIAG ADDR
   5589	006452					CALL	.FWRIT		; ....SO
	006452	004737 	004444'			 JSR	PC,.FWRIT
   5590	006456	012700 	000124 			MOV	#FW.CA2,R0	; ....NOW THE OTHER HALF
   5591	006462					CALL	.FWRIT		; ....SO
	006462	004737 	004444'			 JSR	PC,.FWRIT
   5592	006466	012700 	000022'			MOV	#.CRAMR,R0	; ....POINT TO SAVE AREA
   5593	006472					POP	<R4,R3,R2,R1>	; ....RESTORE THE REGISTERS
	006472	012604 				 MOV	(SP)+,R4
	006474	012603 				 MOV	(SP)+,R3
	006476	012602 				 MOV	(SP)+,R2
	006500	012601 				 MOV	(SP)+,R1
   5594	006502					RETURN			; TO CALLER
	006502	000207 				 RTS	PC
   5595	006504				RDCRME:
   5596	006504					ERROR$	CAE		; ERROR -- CRAM ADDRESS ERROR
	006504	012746 	011355 			 MOV	#^RCAE,-(SP)
	006510	104400 				 TRAP	TC.ERR
   5597						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 135
.RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05

   5599					.SBTTL	.RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
   5600
   5601					;+
   5602					; .RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT.
   5603					;
   5604					; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL CRAM
   5605					; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
   5606					; CRAM PARITY ERRORS.
   5607					;
   5608					; INPUT ARGUMENTS:
   5609					;
   5610					;	NONE.
   5611					;
   5612					; OUTPUT ARGUMENTS:
   5613					;
   5614					;	R0 CONTAINS A POINTER TO A TEN WORD BLOCK WHICH CONTAINS THE
   5615					;	CURRENT CRAM ADDRESS FOLLOWED BY THE CURRENT CRAM CONTENTS
   5616					;
   5617					; ERROR CODES RETURNED:
   5618					;
   5619					;	CAE -- CRAM ADDRESS ERROR.
   5620					;	FRF -- FUNCTION READ FAILED.
   5621					;	FWF -- FUNCTION WRITE FAILED.
   5622					;	FXF -- FUNCTION EXECUTE FAILED.
   5623					;-
   5624
   5625	006512				.RDCRO:
   5626	006512					CALL	.RDCRA		; READ THE CRAM ADDRESS
	006512	004737 	000000G			 JSR	PC,.RDCRA
   5627	006516	010037 	000020'			MOV	R0,.CRAMA	; SAVE THE ADDRESS
   5628	006522					CALL	.RDCRR		; READ THE CRAM DATA
	006522	004737 	006374'			 JSR	PC,.RDCRR
   5629	006526	005740 				TST	-(R0)		; RETURN POINTER
   5630	006530					RETURN			; TO CALLER
	006530	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 136
.RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14

   5632					.SBTTL	.RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
   5633
   5634					;+
   5635					; .RDFMA -- SUBROUTINE TO READ THE KL FAST MEMORY ADDRESS REGISTER.
   5636					;
   5637					; THIS SUBROUTINE WILL READ AND RETURN THE KL FAST MEMORY ADDRESS
   5638					; A LOCATION POINTED TO BY R1 IN THE CALL. IF R1 IS ZERO, THE DATA
   5639					; IS RETURNED ONLY IN R0.
   5640					;
   5641					; INPUT ARGUMENTS:
   5642					;
   5643					;	R1 POINTS TO A BUFFER FOR THE DATA
   5644					;
   5645					; OUTPUT ARGUMENTS:
   5646					;
   5647					;	R0 CONTAINS THE DATA
   5648					;	THE BUFFER POINTED TO BY R1 CONTAINS THE DATA
   5649					;
   5650					; THE FORMAT OF THE DATA RETURNED IS:
   5651					;
   5652					;	!===============================================!
   5653					;	!	FM BLOCK	!      FM ADDRESS	!
   5654					;	!===============================================!
   5655					;
   5656					; ERROR CODES RETURNED:
   5657					;
   5658					;	FRF -- FUNCTION READ FAILED.
   5659					;-
   5660
   5661	006532				.RDFMA::
   5662	006532					PUSH	R1		; SAVE R1 ON THE STACK
	006532	010146 				 MOV	R1,-(SP)
   5663	006534	005001 				CLR	R1		; .CLEAR R1
   5664	006536	012700 	000230 			MOV	#FR.114,R0	; .FR CODE TO READ FM ADDRESS
   5665	006542					CALL	.FREAD		; .READ IT
	006542	004737 	004362'			 JSR	PC,.FREAD
   5666	006546	012701 	177753 			MOV	#-^D21,R1	; .SHIFT COUNT TO R1
   5667	006552					CALL	.TPSHI		; .SHIFT IT
	006552	004737 	011772'			 JSR	PC,.TPSHI
   5668	006556					PUSH	(R0)		; .SAVE THE WORD ON THE STACK
	006556	011046 				 MOV	(R0),-(SP)
   5669	006560	042716 	177760 			BIC	#177760,(SP)	; ..MASK FM ADDRESS
   5670	006564	042710 	176017 			BIC	#176017,(R0)	; ..MASK OUT THE FM BLOCK NUMBER
   5671	006570	012701 	000004 			MOV	#^D4,R1		; ..SHIFT IT INTO THE HIGH BYTE
   5672	006574					CALL	.TPSHI		; ..SO
	006574	004737 	011772'			 JSR	PC,.TPSHI
   5673	006600	052610 				BIS	(SP)+,(R0)	; ..SET IN THE FAST MEMORY ADDRESS
   5674	006602	011000 				MOV	(R0),R0		; .GET IT INTO R0
   5675	006604					POP	R1		; .DO WE HAVE A POINTER?
	006604	012601 				 MOV	(SP)+,R1
   5676	006606	001401 				BEQ	10$		; NO -- JUST EXIT
   5677	006610	010011 				MOV	R0,(R1)		; YES -- PUT IT WHERE HE WANTS IT
   5678	006612				10$:	RETURN			; AND LEAVE
	006612	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 137
.RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30

   5680					.SBTTL	.RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
   5681
   5682					;+
   5683					; .RDFMO -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTERS
   5684					;
   5685					; THIS SUBROUTINE WILL READ AND STORE THE FAST MEMORY ADDRESS AND
   5686					; OUTPUT IN A FOUR WORD BLOCK STARTING AT ".FMADR", AND IS USEFUL
   5687					; FOR GATHERING DATA ON FAST MEMORY PARITY ERRORS.
   5688					;
   5689					; INPUT ARGUMENTS:
   5690					;
   5691					;	R0 POINTS TO OUTPUT BUFFER
   5692					;
   5693					; OUTPUT ARGUMENTS:
   5694					;
   5695					;	R0 POINTS TO OUTPUT BUFFER
   5696					;
   5697					; ERROR CODES RETURNED:
   5698					;
   5699					;	FRF -- FUNCTION READ FAILED.
   5700					;-
   5701
   5702	006614				.RDFMO::
   5703	006614					PUSH	<R1,R0>		; SAVE R0,R1 ON THE STACK
	006614	010146 				 MOV	R1,-(SP)
	006616	010046 				 MOV	R0,-(SP)
   5704	006620	005001 				CLR	R1		; ..CLEAR R1
   5705	006622					CALL	.RDFMA		; ..READ THE FAST MEMORY ADDRESS
	006622	004737 	006532'			 JSR	PC,.RDFMA
   5706	006626	011601 				MOV	(SP),R1		; ..SET UP POINTER
   5707	006630	010021 				MOV	R0,(R1)+	; ..SAVE FM ADDRESS
   5708	006632	012700 	000246 			MOV	#FR.RFM,R0	; ..READ FM REGISTER FUNCTION READ
   5709	006636					CALL	.FREAD		; ..READ IT
	006636	004737 	004362'			 JSR	PC,.FREAD
   5710	006642					POP	<R0,R1>		; ..RESTORE R1,R0
	006642	012600 				 MOV	(SP)+,R0
	006644	012601 				 MOV	(SP)+,R1
   5711	006646					RETURN			; TO CALLER
	006646	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 138
.RDFMP -- READ FM PARITY ERROR BIT

   5713					.SBTTL	.RDFMP -- READ FM PARITY ERROR BIT
   5714
   5715					;+
   5716					; .RDFMP -- SUBROUTINE TO READ FM PARITY BIT
   5717					;
   5718					; THIS ROUTINE WILL:
   5719					;	1. READ FM BLOCK,ADDR,AND PARITY
   5720					;	2. SHIFT PARITY BIT INTO R0
   5721					;
   5722					; INPUT ARGUMENTS:
   5723					;
   5724					;	NONE
   5725					;
   5726					; OUTPUT ARGUMENTS:
   5727					;
   5728					;	R0-PARITY ERROR BIT VALUE
   5729					;
   5730					; ERROR CODES RETURNED:
   5731					;
   5732					;	FRF -- FUNCTION READ FAILED
   5733					;-
   5734
   5735	006650				.RDFMP::
   5736	006650	005001 				CLR	R1		; NO BUFFER FOR .FREAD OUTPUT
   5737	006652	012700 	000230 			MOV	#FR.114,R0	; FUNCTION READ 114
   5738	006656					CALL	.FREAD		; DO READ
	006656	004737 	004362'			 JSR	PC,.FREAD
   5739	006662	103407 				BCS	10$		; ERROR
   5740	006664	012701 	177756 			MOV	#-^D18,R1	; SHIFT KL BIT 17 TO ELEVEN BIT 0
   5741	006670					CALL	.TPSHI		; SHIFT IT
	006670	004737 	011772'			 JSR	PC,.TPSHI
   5742	006674	011000 				MOV	(R0),R0		; GET VALUE
   5743	006676	042700 	177776 			BIC	#177776,R0	; CLEAR ALL BUT BIT 0
   5744	006702				10$:	RETURN
	006702	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 139
.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13

   5746					.SBTTL	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
   5747
   5748					;+
   5749					; .RDIPE -- SUBROUTINE TO READ THE KL INTERNAL PARITY ERROR FLAGS.
   5750					;
   5751					; THIS SUBROUTINE READS THE INTERNAL KL PARITY ERROR FLAGS AND
   5752					; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
   5753					;
   5754					;	(A) BIT00 ("PE.CES") [CLK ERROR STOP H],
   5755					;	(B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
   5756					;	(C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
   5757					;	(D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
   5758					;	(E) BIT04 ("PE.FSS") [CLK FS ERROR H].
   5759					;
   5760					; INPUT ARGUMENTS:
   5761					;
   5762					;	NONE.
   5763					;
   5764					; OUTPUT ARGUMENTS:
   5765					;	R0 CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
   5766					;
   5767					; ERROR CODES RETURNED:
   5768					;
   5769					;	FRF -- FUNCTION READ FAILED.
   5770					;-
   5771
   5772	006704				.RDIPE::
   5773	006704					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	006704	004537 	010316'			 JSR	R5,.REGSV
   5774	006710	012702 	000204 			MOV	#FR.102,R2	; BASE FUNCTION READ TO R2
   5775	006714	012703 	000040 			MOV	#BIT05,R3	; MASK BIT TO R3
   5776	006720	012704 	000230'			MOV	#.PEWRD,R4	; WORD POINTER TO R4
   5777	006724	005014 				CLR	(R4)		; CLEAR THE WORD
   5778	006726	012705 	000001 			MOV	#BIT00,R5	; BASE WORD MASK TO R5
   5779	006732	005001 				CLR	R1		; CLEAR R1
   5780	006734				10$:
   5781	006734	010200 				MOV	R2,R0		; GET THE FR NUMBER
   5782	006736					CALL	.FREAD		; DO THE READ
	006736	004737 	004362'			 JSR	PC,.FREAD
   5783	006742	030310 				BIT	R3,(R0)		; IS THE BIT ON?
   5784	006744	001401 				BEQ	20$		; NO -- GO ON
   5785	006746	050514 				BIS	R5,(R4)		; YES -- SET THE BIT IN THE WORD
   5786	006750				20$:
   5787	006750	062702 	000002 			ADD	#^D2,R2		; NEXT FUNCTION READ
   5788	006754	006305 				ASL	R5		; SHIFT THE WORD MASK
   5789	006756	020503 				CMP	R5,R3		; ARE WE DONE?
   5790	006760	001365 				BNE	10$		; NO -- KEEP GOING
   5794	006762	011400 				MOV	(R4),R0		; YES -- PUT THE WORD IN R0
   5795	006764					RETURN			; AND GO AWAY
	006764	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 140
.RESET -- KL RESET SUBROUTINES 7511.18

   5797					.SBTTL	.RESET -- KL RESET SUBROUTINES 7511.18
   5798
   5799					;+
   5800					; .RESET -- SUBROUTINE TO RESET THE KL.
   5801					;
   5802					; THIS SUBROUTINE PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   5803					; THE KL MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS.
   5804					;
   5805					; SEQUENCE OF OPERATION:
   5806					;
   5807					;	(A) THE DTE-20 IS CLEARED,
   5808					;	(B) THE MASTER RESET SUBROUTINE IS INVOKED,
   5809					;	(C) THE MAJOR KL CONTROL REGISTERS ARE CLEARED
   5810					;	    (THIS IS A FULL KL MASTER RESET).
   5811					;
   5812					; INPUT ARGUMENTS:
   5813					;
   5814					;	NONE.
   5815					;
   5816					; OUTPUT ARGUMENTS:
   5817					;
   5818					;	NONE.
   5819					;
   5820					; ERROR CODES RETURNED:
   5821					;
   5822					;	DSF -- DTE-20 STATUS FAILURE.
   5823					;	FRF -- FUNCTION READ FAILED.
   5824					;	FWF -- FUNCTION WRITE FAILED.
   5825					;	FXF -- FUNCTION EXECUTE FAILED.
   5826					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 141
.RESET -- KL RESET SUBROUTINES 7511.18

   5828	006766				.RESET::
   5829	006766					PUSH	<R0,R1,R2>	; SAVE CALLER'S REGISTERS
	006766	010046 				 MOV	R0,-(SP)
	006770	010146 				 MOV	R1,-(SP)
	006772	010246 				 MOV	R2,-(SP)
   5830	006774					CALL	.RESTD		; ...RESET THE DTE-20
	006774	004737 	007102'			 JSR	PC,.RESTD
   5831	007000	012702 	004334'			MOV	#RESETT,R2	; ...FUNCTION TABLE POINTER TO R2
   5832	007004					CALL	.STPXC		; ...STOP THE KL CLOCK
	007004	004737 	007316'			 JSR	PC,.STPXC
   5833	007010	005046 				CLR	-(SP)		; ...CLEAR A TEMP BUFFER
   5834	007012	010601 				MOV	SP,R1		; ....POINT TO TEMP BUFFER
   5835	007014					CALL	.LDCLK		; ....CLEAR THE CLOCKS OUT
	007014	004737 	005570'			 JSR	PC,.LDCLK
   5836	007020					CALL	.LDPAR		; ....RESET THE PARITY REGISTERS
	007020	004737 	005606'			 JSR	PC,.LDPAR
   5837	007024					CALL	.MRCLR		; ....DO MASTER RESET STUFF
	007024	004737 	006002'			 JSR	PC,.MRCLR
   5838	007030					CALL	.CLDFB		; ....CLEAR THE FUNCTION BUFFERS
	007030	004737 	003370'			 JSR	PC,.CLDFB
   5839	007034				10$:
   5840	007034	005001 				CLR	R1		; ....CLEAR R1
   5841	007036	112200 				MOVB	(R2)+,R0	; ....FUNCTION WRITE CODE TO R0
   5842	007040					CALL	.FWRIT		; ....DO THE WRITE
	007040	004737 	004444'			 JSR	PC,.FWRIT
   5843	007044	022702 	004342'			CMP	#RSTEND,R2	; ....ARE WE CLOSE TO END?
   5844	007050	101371 				BHI	10$		; ....NO -- KEEP GOING
   5845	007052	112210 				MOVB	(R2)+,(R0)	; ....YES -- GET THE DATA
   5846	007054	111200 				MOVB	(R2),R0		; ....FOR LAST WRITE
   5847	007056					CALL	.FWRIT		; ....DO IT
	007056	004737 	004444'			 JSR	PC,.FWRIT
   5848	007062	005726 				TST	(SP)+		; ....CLEAR THE STACK
   5849	007064					POP	<R2,R1,R0>	; ...RESTORE REGISTERS
	007064	012602 				 MOV	(SP)+,R2
	007066	012601 				 MOV	(SP)+,R1
	007070	012600 				 MOV	(SP)+,R0
   5850	007072	052737 	000000G	000002G		BIS	#EF.CRI,.COMEF+2 ; DECLARE THE COMM REGION INVALID
   5851	007100					RETURN			; TO CALLER
	007100	000207 				 RTS	PC
   5852
   5853					; TABLE OF FUNCTION WRITE CODES FOR RESET
   5854
   5855	004334				.PSECT	DATA
   5856
   5857	004334				RESETT:
   5858	004334	   104 				.BYTE	FW.LBR		; CLEAR BURST COUNTER - RIGHT
   5859	004335	   106 				.BYTE	FW.LBL		; CLEAR BURST COUNTER - LEFT
   5860	004336	   124 				.BYTE	FW.CA2		; CLEAR CRAM DIAG ADDR - LEFT
   5861	004337	   122 				.BYTE	FW.CA1		; CLEAR CRAM DIAG ADDR - RIGHT
   5862	004340	   156 				.BYTE	FW.KLO		; ENABLE KL OPCODES
   5863	004341	   174 				.BYTE	FW.EBL		; EBUS LOAD
   5864		004342'			RSTEND=.
   5865	004342	   012 				.BYTE	12		; DATA FOR
   5866	004343	   162 				.BYTE	FW.MBX		; MBOX CONTROL
   5867					.EVEN
   5868	007102				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 142
.RESTD -- DTE-20 RESET SUBROUTINE 7607.20

   5870					.SBTTL	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
   5871
   5872					;+
   5873					; .RESTD -- SUBROUTINE TO RESET THE DTE-20.
   5874					;
   5875					; THIS SUBROUTINE RESETS THE DTE-20.
   5876					;
   5877					; SEQUENCE OF OPERATION:
   5878					;
   5879					;	(A) THE DTE-20 IS CLEARED.
   5880					;
   5881					; INPUT ARGUMENTS:
   5882					;
   5883					;	NONE.
   5884					;
   5885					; OUTPUT ARGUMENTS:
   5886					;
   5887					;	NONE.
   5888					;
   5889					; ERROR CODES RETURNED:
   5890					;
   5891					;	DSF -- DTE-20 STATUS FAILURE.
   5892					;	FRF -- FUNCTION READ FAILED.
   5893					;	FWF -- FUNCTION WRITE FAILED.
   5894					;	FXF -- FUNCTION EXECUTE FAILED.
   5895					;-
   5896
   5897	007102				.RESTD::
   5898	007102	012700 	004344'			MOV	#D2RST,R0	; DIAG WORD 2 RESET
   5899	007106					CALL	.DWDW2		; WRITE IT
	007106	004737 	003462'			 JSR	PC,.DWDW2
   5900	007112	012700 	004346'			MOV	#D3RST,R0	; DIAG WORD 3 RESET
   5901	007116					CALLR	.DWDW3		; WRITE IT
	007116	000137 	003502'			 JMP	.DWDW3
   5902						;
   5903
   5904	004344				.PSECT	DATA
   5905
   5906	004344				D2RST:
   5907	004344	000100 				.WORD	D2.RST		; DIAG WORD 2 RESET
   5908	004346				D3RST:
   5909	004346	000001 				.WORD	D3.RST		; DIAG WORD 3 RESET
   5910
   5911	007122				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 143
.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19

   5913					.SBTTL	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
   5914
   5915					;+
   5916					; .RESTI -- SUBROUTINE TO RESET THE KL AND SET UP NORMAL
   5917					;	    KL CLOCK ENABLES AND PARITY STOPS.
   5918					;
   5919					; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   5920					; THE KL MICROPROCESSOR AND SET UP NORMAL CLOCK ENABLES AND PARITY STOPS
   5921					;
   5922					; SEQUENCE OF OPERATION:
   5923					;
   5924					;	(A) ".RESET" IS INVOKED,
   5925					;	(B) NORMAL KL CLOCKS ARE ENABLED,
   5926					;	(C) NORMAL KL PARITY STOPS ARE ENABLED.
   5927					;
   5928					; INPUT ARGUMENTS:
   5929					;
   5930					;	NONE.
   5931					;
   5932					; OUTPUT ARGUMENTS:
   5933					;
   5934					;	NONE.
   5935					;
   5936					; ERROR CODES RETURNED:
   5937					;
   5938					;	DSF -- DTE-20 STATUS FAILURE.
   5939					;	FRF -- FUNCTION READ FAILED.
   5940					;	FWF -- FUNCTION WRITE FAILED.
   5941					;	FXF -- FUNCTION EXECUTE FAILED.
   5942					;-
   5943
   5944						.ENABL	LSB
   5945
   5946	007122				.RESTI::
   5947	007122					PUSH	R1		; SAVE R1
	007122	010146 				 MOV	R1,-(SP)
   5948	007124	005046 				CLR	-(SP)		; .CLEAR A LOCATION ON THE STACK
   5949	007126					CALL	.RESET		; ..RESET THE KL
	007126	004737 	006766'			 JSR	PC,.RESET
   5950	007132	010601 				MOV	SP,R1		; ..POINT TO SCRATCH BUFFER
   5954	007134					CALL	.LDCLK		; ..SET NORMAL CLOCK ENABLES
	007134	004737 	005570'			 JSR	PC,.LDCLK
   5955	007140	012716 	001416 			MOV	#PS.NRM,(SP)	; ..SET UP NORMAL PARITY ENABLES
   5956	007144	000417 				BR	10$		; ..AND GO SET THEM
   5957						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 144
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

   5959					.SBTTL	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
   5960
   5961					;+
   5962					; .RESTP -- SUBROUTINE TO RESET THE KL AND RESTORE THE
   5963					;	    PREVIOUS KL PARITY STOPS.
   5964					;
   5965					; THIS SUBROUTINE PERFORMS ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   5966					; THE KL MICROPROCESSOR AND SET UP CURRENT CLOCK ENABLES AND PARITY STOPS
   5967					;
   5968					; SEQUENCE OF OPERATION:
   5969					;
   5970					;	(A) ".RESET" IS INVOKED.
   5971					;	(B) THE PREVIOUSLY ENABLED CLOCK AND PARITY CONTROLS ARE
   5972					;	    REENABLED.
   5973					;
   5974					; INPUT ARGUMENTS:
   5975					;
   5976					;	NONE.
   5977					;
   5978					; OUTPUT ARGUMENTS:
   5979					;
   5980					;	NONE.
   5981					;
   5982					; ERROR CODES RETURNED:
   5983					;
   5984					;	DSF -- DTE-20 STATUS FAILURE.
   5985					;	FRF -- FUNCTION READ FAILED.
   5986					;	FWF -- FUNCTION WRITE FAILED.
   5987					;	FXF -- FUNCTION EXECUTE FAILED.
   5988					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 145
.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19

   5990	007146				.RESTP::
   5991	007146					PUSH	R1		; SAVE R1
	007146	010146 				 MOV	R1,-(SP)
   5992	007150					CALL	.STPXC		; .STOP THE KL CLOCK
	007150	004737 	007316'			 JSR	PC,.STPXC
   5993	007154					CALL	.RDCPP		; .READ CURRENT CLOCK AND PARITY ENABLES
	007154	004737 	006150'			 JSR	PC,.RDCPP
   5994	007160					PUSH	.PSCWD		; .SAVE THE PARITY CONTROL WORD
	007160	013746 	000236'			 MOV	.PSCWD,-(SP)
   5995	007164					PUSH	.CLKWD		; ..SAVE THE CLOCK CONTROL WORD
	007164	013746 	000012'			 MOV	.CLKWD,-(SP)
   5996	007170					CALL	.RESET		; ...DO A MASTER RESET
	007170	004737 	006766'			 JSR	PC,.RESET
   5997	007174	010601 				MOV	SP,R1		; ...POINT TO THE CLOCK WORD
   5998	007176					CALL	.LDCLK		; ...LOAD THE CLOCKS AGAIN
	007176	004737 	005570'			 JSR	PC,.LDCLK
   5999	007202	005726 				TST	(SP)+		; ...FLUSH SAVED CLOCK WORD
   6000	007204				10$:
   6001	007204	010601 				MOV	SP,R1		; ..POINT TO THE PARITY WORD
   6002	007206					CALL	.LDPAR		; ..LOAD THE PARITY STOPS
	007206	004737 	005606'			 JSR	PC,.LDPAR
   6003	007212	005726 				TST	(SP)+		; ..FLUSH THE PARITY WORD
   6004	007214					POP	R1		; .RESTORE R1
	007214	012601 				 MOV	(SP)+,R1
   6005	007216					RETURN			; AND GO AWAY
	007216	000207 				 RTS	PC
   6006
   6007						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 146
.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17

   6009					.SBTTL	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
   6010
   6011					;+
   6012					; .RSTKL -- SUBROUTINE TO RESTART THE KL
   6013					;
   6014					; THIS SUBROUTINE WILL RESTART THE KL, IF IT WAS STOPPED BY ".STPKL".
   6015					;
   6016					; INPUT ARGUMENTS:
   6017					;
   6018					;	THE STATE FLAGS IN ".SVKLF" REPRESENT THE STATE TO WHICH
   6019					;	THE KL IS TO BE RESTORED.
   6020					;
   6021					; OUTPUT ARGUMENTS:
   6022					;
   6023					;	".SVKLF" IS CLEARED.
   6024					;
   6025					; ERROR CODES RETURNED:
   6026					;
   6027					;	NONE.
   6028					;-
   6029
   6030	007220				.RSTKL::
   6031	007220	032737 	040000 	000260'		BIT	#KF.RUN,.SVKLF	; DID WE STOP THE KL?
   6032	007226	001404 				BEQ	10$		; NO -- JUST RETURN
   6033	007230					CALL	.KLRST		; YES -- RESTART THE KL
	007230	004737 	005310'			 JSR	PC,.KLRST
   6034	007234	105037 	000000G			CLRB	.NOHLT		; LET RSX20F DETECT HALTS
   6035	007240				10$:
   6036	007240	005037 	000260'			CLR	.SVKLF		; CLEAR SAVED FLAGS
   6037	007244					RETURN			; TO CALLER
	007244	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 147
.STCLK -- START KL CLOCK SUBROUTINE 7607.15

   6039					.SBTTL	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
   6040
   6041					;+
   6042					; .STCLK -- SUBROUTINE TO START THE KL CLOCK.
   6043					;
   6044					; THIS SUBROUTINE WILL START THE KL CLOCK.
   6045					;
   6046					; INPUT ARGUMENTS:
   6047					;
   6048					;	NONE.
   6049					;
   6050					; OUTPUT ARGUMENTS:
   6051					;
   6052					;	NONE.
   6053					;
   6054					; ERROR CODES RETURNED:
   6055					;
   6056					;	CES -- CLOCK ERROR STOP.
   6057					;	FXF -- FUNCTION EXECUTE FAILED.
   6058					;-
   6059
   6060	007246				.STCLK::
   6061	007246	000241 				CLC			; CLEAR CC-C
   6062	007250					CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	007250	004737 	000000'			 JSR	PC,.CESCK
   6063	007254				.STCLF::			; HERE TO START THE CLOCK ANYWAY
   6064	007254					PUSH	R0		; SAVE R0
	007254	010046 				 MOV	R0,-(SP)
   6065	007256	012700 	000002 			MOV	#FX.CST,R0	; .SET UP TO START THE KL CLOCK
   6066	007262					CALL	.FXCT		; .DO IT
	007262	004737 	004566'			 JSR	PC,.FXCT
   6067	007266					POP	R0		; .RESTORE R0
	007266	012600 				 MOV	(SP)+,R0
   6068	007270					RETURN			; RETURN TO CALLER
	007270	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 148
.STPKL -- SUBROUTINE TO STOP THE KL 7602.25

   6070					.SBTTL	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
   6071
   6072					;+
   6073					; .STPKL -- SUBROUTINE TO STOP THE KL.
   6074					;
   6075					; THIS SUBROUTINE WILL STOP THE KL HALT LOOP IF IT BELIEVES THAT
   6076					; THE KL RUN FLOP IS SET ("KF.RUN" IN ".KLFLG").
   6077					;
   6078					; INPUT ARGUMENTS:
   6079					;
   6080					;	THE STATE OF THE KL IS IN ".KLFLG"
   6081					;
   6082					; OUTPUT ARGUMENTS:
   6083					;
   6084					;	THE CURRENT STATE OF THE KL IS IN ".KLFLG"
   6085					;	THE PREVIOUS STATE OF THE KL IS IN ".SVKLF"
   6086					;
   6087					; ERROR CODES RETURNED:
   6088					;
   6089					;	NONE.
   6090					;-
   6091
   6092	007272				.STPKL::
   6093	007272	032737 	040000 	000000G		BIT	#KF.RUN,.KLFLG	; IS THE KL RUNNING?
   6094	007300	001405 				BEQ	10$		; NO -- JUST EXIT
   6095	007302	013737 	000000G	000260'		MOV	.KLFLG,.SVKLF	; YES -- SAVE CURRENT KL STATE
   6096	007310					CALL	.KLSTP		; STOP THE KL
	007310	004737 	005212'			 JSR	PC,.KLSTP
   6097	007314				10$:
   6098	007314					RETURN			; TO CALLER
	007314	000207 				 RTS	PC
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 149
.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09

   6100					.SBTTL	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
   6101
   6102					;+
   6103					; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
   6104					;
   6105					; THIS SUBROUTINE STOPS THE KL CLOCK.
   6106					;
   6107					; INPUT ARGUMENTS:
   6108					;
   6109					;	NONE.
   6110					;
   6111					; OUTPUT ARGUMENTS:
   6112					;
   6113					;	NONE
   6114					;
   6115					; ERROR CODES RETURNED:
   6116					;
   6117					;	FXF -- FUNCTION EXECUTE FAILED
   6118					;-
   6119
   6120						.ENABL	LSB
   6121
   6122	007316				.STPXC::
   6123	007316	000241 				CLC			; CLEAR CC-C
   6125	007320					WTSE$S	#E.FHTO		; WAIT FOR KL I/O TO SETTLE FROM ".CLRFF"
	007320	012746 	000001 			MOV	#E.FHTO,-(SP)
	007324	012746 				MOV	(PC)+,-(SP)
	007326	   051 	   002 			.BYTE	41.,2
	007330	104375 				EMT	375
   6127	007332					PUSH	R0		; SAVE R0
	007332	010046 				 MOV	R0,-(SP)
   6128	007334	112737 	000001 	000000G		MOVB	#1,.NOERR	; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
   6129	007342	005000 				CLR	R0		; .SET UP TO STOP THE KL CLOCK
   6130									; .FUNCTION CODE IS ZERO
   6131	007344	000404 				BR	10$		; .DO IT
   6132						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 150
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09

   6134					.SBTTL	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
   6135
   6136					;+
   6137					; .STRUN -- SUBROUTINE TO SET THE KL RUN FLOP.
   6138					;
   6139					; THIS SUBROUTINE SETS THE KL RUN FLOP.
   6140					;
   6141					;
   6142					; INPUT ARGUMENTS:
   6143					;
   6144					;	NONE.
   6145					;
   6146					; OUTPUT ARGUMENTS:
   6147					;
   6148					;	NONE
   6149					;
   6150					; ERROR CODES RETURNED:
   6151					;
   6152					;	FXF -- FUNCTION EXECUTE FAILED
   6153					;-
   6154
   6155	007346				.STRUN::
   6156	007346	000241 				CLC			; CLEAR CC-C
   6157	007350					PUSH	R0		; SAVE R0
	007350	010046 				 MOV	R0,-(SP)
   6158	007352	012700 	000022 			MOV	#FX.SRF,R0	; .SET UP TO SET KL RUN FLOP
   6159	007356				10$:
   6160	007356					CALL	.FXCT		; .DO IT
	007356	004737 	004566'			 JSR	PC,.FXCT
   6161	007362					POP	R0		; .RESTORE R0
	007362	012600 				 MOV	(SP)+,R0
   6162	007364					RETURN			; TO CALLER
	007364	000207 				 RTS	PC
   6163
   6164						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 151
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

   6166					.SBTTL	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
   6167
   6168					;+
   6169					; .STUCD -- SUBROUTINE TO START THE KL MICROCODE AT THE
   6170					;	    ADDRESS SPECIFIED IN R0.
   6171					;
   6172					; SEQUENCE OF OPERATION:
   6173					;
   6174					;	(A) THE KL RUN FLOP IS CLEARED,
   6175					;	(B) THE KL RUN FLOP IS TURNED OFF,
   6176					;	(C) THE KL IS CLEARED,
   6177					;	(D) THE CRAM ADDRESS IS LOADED,
   6178					;	(E) THE KL CLOCK IS RESTARTED.
   6179					;
   6180					; THE SUBROUTINE EXITS WHEN THE KL HAS FOUND THE HALT LOOP.
   6181					; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
   6182					;
   6183					; INPUT ARGUMENTS:
   6184					;
   6185					;	R0 CONTAINS THE CRAM ADDRESS
   6186					;
   6187					; OUTPUT ARGUMENTS:
   6188					;
   6189					;	NONE.
   6190					;
   6191					; ERROR CODES RETURNED:
   6192					;
   6193					;	CAE -- CRAM ADDRESS ERROR.
   6194					;	FRF -- FUNCTION READ FAILED.
   6195					;	FWF -- FUNCTION WRITE FAILED.
   6196					;	FXF -- FUNCTION EXECUTE FAILED
   6197					;	UNL -- UCODE NOT LOADED.
   6198					;
   6199					; NOTE:
   6200					;
   6201					;	THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
   6202					;	START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
   6203					;	PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
   6204					;	CONSIDER YOURSELF WARNED.
   6205					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 152
.STUCD -- START KL MICROCODE SUBROUTINE 7511.22

   6207	007366				.STUCD::
   6208	007366	020027 	003777 			CMP	R0,#3777	; [TCO 6.????]IS IT IN RANGE?
   6209	007372	101030 				BHI	STUCAE		; NO -- GIVE "CAE" ERROR
   6210	007374					PUSH	<R1,R0>		; YES -- SAVE THE ADDRESS ON THE STACK
	007374	010146 				 MOV	R1,-(SP)
	007376	010046 				 MOV	R0,-(SP)
   6211	007400					CALL	.CLRFF		; ..CLEAR THE KL RUN FLOP
	007400	004737 	003420'			 JSR	PC,.CLRFF
   6212	007404					CALL	.STPXC		; ..STOP THE KL CLOCK
	007404	004737 	007316'			 JSR	PC,.STPXC
   6213	007410	011600 				MOV	(SP),R0		; ..CRAM ADDRESS TO R0
   6214	007412					CALL	.LDCRA		; ..LOAD IT
	007412	004737 	005666'			 JSR	PC,.LDCRA
   6215	007416					CALL	.STCLK		; ..START THE KL CLOCK
	007416	004737 	007246'			 JSR	PC,.STCLK
   6216	007422	012701 	000310 			MOV	#^D200,R1	; ..SETUP WAIT LOOP
   6217	007426				10$:
   6218	007426					CALL	.DTDW1		; ..READ DTE-20 DIAG WORD 1
	007426	004737 	003530'			 JSR	PC,.DTDW1
   6219	007432	032700 	001000 			BIT	#D1.HLP,R0	; ..ARE WE IN THE HALT LOOP?
   6223	007436	001001 				BNE	20$		; ..YES -- EXIT
   6224	007440	077106 				SOB	R1,10$		; ..NO -- TRY TILL COUNT EXHAUSTED
   6225	007442				20$:
   6226	007442	005701 				TST	R1		; ..DID COUNT GET EXHAUSTED?
   6227	007444	003406 				BLE	STUUNL		; ..YES -- WE LOST
   6228	007446					POP	<R0,R1>		; ..NO -- RESTORE R0 AND R1
	007446	012600 				 MOV	(SP)+,R0
	007450	012601 				 MOV	(SP)+,R1
   6229	007452					RETURN			; TO CALLER
	007452	000207 				 RTS	PC
   6230	007454				STUCAE:
   6231	007454					ERROR$	CAE		; ERROR -- CRAM ADDRESSING ERROR
	007454	012746 	011355 			 MOV	#^RCAE,-(SP)
	007460	104400 				 TRAP	TC.ERR
   6232						;
   6233	007462				STUUNL:
   6234	007462					ERROR$	UNL		; ERROR -- UCODE NOT LOADED
	007462	012746 	102574 			 MOV	#^RUNL,-(SP)
	007466	104400 				 TRAP	TC.ERR
   6235						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 153
.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03

   6237					.SBTTL	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
   6238
   6239					;+
   6240					; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
   6241					;
   6242					; THIS SUBROUTINE SYNCHS THE KL EBOX CLOCK LOW
   6243					;
   6244					;
   6245					; INPUT ARGUMENTS:
   6246					;
   6247					;	NONE.
   6248					;
   6249					; OUTPUT ARGUMENTS:
   6250					;
   6251					;	NONE
   6252					;
   6253					; ERROR CODES RETURNED:
   6254					;
   6255					;	FXF -- FUNCTION EXECUTE FAILED
   6256					;-
   6257
   6258						.ENABL	LSB
   6259
   6260	007470				.SYNXC::
   6261	007470	000241 				CLC			; CLEAR CC-C
   6262	007472					PUSH	R0		; SAVE R0
	007472	010046 				 MOV	R0,-(SP)
   6263	007474	012700 	000010 			MOV	#FX.SYC,R0	; .SET UP TO SYNCH EBOX CLOCK
   6264	007500					CALL	.FXCT		; .DO IT
	007500	004737 	004566'			 JSR	PC,.FXCT
   6265	007504	000411 				BR	10$		; .RESTORE R0 AND EXIT
   6266						;
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 154
.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05

   6268					.SBTTL	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
   6269
   6270					;+
   6271					; .WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER.
   6272					; .WRAR1 -- SUBROUTINE TO WRITE THE KL AR REGISTER WITHOUT
   6273					;	    STOPPING THE KL CLOCK.
   6274					;
   6275					; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL AR REGISTER.
   6276					;
   6277					; SEQUENCE OF OPERATION:
   6278					;
   6279					; .WRTAR:
   6280					;
   6281					;	(A) THE KL CLOCK IS STOPPED,
   6282					;
   6283					; .WRAR1:
   6284					;
   6285					;	(B) THE EBOX CLOCK IS SYNCHED LOW,
   6286					;	(C) THE DATA IS WRITTEN INTO THE KL AR REGISTER.
   6287					;
   6288					; INPUT ARGUMENTS:
   6289					;
   6290					;	R1 POINTS TO THE DATA TO BE WRITTEN
   6291					;
   6292					; OUTPUT ARGUMENTS:
   6293					;
   6294					;	NONE.
   6295					;
   6296					; ERROR CODES RETURNED:
   6297					;
   6298					;	FWF -- FUNCTION WRITE FAILED.
   6299					;-
   6300
   6301	007506				.WRTAR::
   6302	007506					CALL	.STPXC		; STOP THE KL CLOCK
	007506	004737 	007316'			 JSR	PC,.STPXC
   6303	007512				.WRAR1::
   6304	007512					CALL	.SYNXC		; FORCE THE EBOX CLOCK LOW
	007512	004737 	007470'			 JSR	PC,.SYNXC
   6305	007516					PUSH	R0		; SAVE R0
	007516	010046 				 MOV	R0,-(SP)
   6306	007520	012700 	000176 			MOV	#FW.LAR,R0	; .FUNCTION WRITE CODE TO R0
   6307	007524					CALL	.FWRIT		; .LOAD THE AR
	007524	004737 	004444'			 JSR	PC,.FWRIT
   6308	007530				10$:
   6309	007530					POP	R0		; .RESTORE R0
	007530	012600 				 MOV	(SP)+,R0
   6310	007532					RETURN			; RETURN TO CALLER
	007532	000207 				 RTS	PC
   6311
   6312						.DSABL	LSB
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 155
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03

   6314					.SBTTL	.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
   6315
   6316					;+
   6317					; .WRCRM -- SUBROUTINE TO WRITE A LOCATION IN THE KL CONTROL RAM.
   6318					;
   6319					; THIS SUBROUTINE WILL WRITE ONE LOCATION IN THE KL CONTROL RAM.
   6320					; THE CRAM ADDRESS TO BE WRITTEN IS SPECIFIED IN R0.
   6321					;
   6322					; SEQUENCE OF OPERATION:
   6323					;
   6324					;	(A) THE KL IS HALTED IN THE HALT LOOP,
   6325					;	(B) THE CONTROL RAM ADDRESS IS LOADED,
   6326					;	(C) THE CONTENT OF THAT CRAM ADDRESS IS WRITTEN.
   6327					;
   6328					; INPUT ARGUMENTS:
   6329					;
   6330					;	R0 CONTAINS THE CRAM ADDRESS TO BE WRITTEN.
   6331					;	R1 POINTS TO A NINE WORD DATA BLOCK TO BE WRITTEN.
   6332					;
   6333					; OUTPUT ARGUMENTS:
   6334					;
   6335					;	NONE.
   6336					;
   6337					; THE FOLLOWING IS A PICTURE OF THE DATA WRITTEN BY THIS SUBROUTINE:
   6338					;
   6339					;	WORD		CRAM DATA
   6340					;	----		---------
   6341					;		+==================================+
   6342					;	00	|	CRAM BITS 68 THRU 78	   |
   6343					;		+----------------------------------+
   6344					;	01	|	CRAM BITS 60 THRU 66       |
   6345					;		+----------------------------------+
   6346					;	02	|	CRAM BITS 48 THRU 59	   |
   6347					;		+----------------------------------+
   6348					;	03	|	CRAM BITS 40 THRU 47	   |
   6349					;		+----------------------------------+
   6350					;	04	|	CRAM BITS 28 THRU 39	   |
   6351					;		+----------------------------------+
   6352					;	05	|	CRAM BITS 20 THRU 27	   |
   6353					;		+----------------------------------+
   6354					;	06	|	CRAM BITS 08 THRU 19	   |
   6355					;		+----------------------------------+
   6356					;	07	|	CRAM BITS 00 THRU 07	   |
   6357					;		+----------------------------------+
   6358					;	08	|    CRAM DISP BITS 00 THRU 04	   |
   6359					;		+==================================+
   6360					;
   6361					; ERROR CODES RETURNED:
   6362					;
   6363					;	CAE -- CRAM ADDRESS ERROR.
   6364					;	FRF -- FUNCTION READ FAILED.
   6365					;	FWF -- FUNCTION WRITE FAILED.
   6366					;	FXF -- FUNCTION EXECUTE FAILED.
   6367					;-
   6368
   6369	007534				.WRCRM::
   6370	007534	020027 	003777 			CMP	R0,#3777	; [TCO 6.????]IS THE ADDRESS IN RANGE?
KL10F -- KL10 FUNCTION MODULE  	MACRO M1113  03-APR-86 22:51  PAGE 155-1
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03

   6371	007540	101063 				BHI	WRCRME		; NO -- GIVE "CAE" ERROR
   6372	007542					PUSH	<R4,R3,R2,R1,R0>; YES -- SAVE CALLER'S REGISTERS
	007542	010446 				 MOV	R4,-(SP)
	007544	010346 				 MOV	R3,-(SP)
	007546	010246 				 MOV	R2,-(SP)
	007550	010146 				 MOV	R1,-(SP)
	007552	010046 				 MOV	R0,-(SP)
   6373	007554	010102 				MOV	R1,R2		; .....CALLER'S POINTER TO R2
   6374	007556	012704 	000130 			MOV	#FW.CR4,R4	; .....BASE WRITE TO R4
   6375	007562	011600 				MOV	(SP),R0		; .....GET CRAM ADDRESS FROM THE STACK
   6376	007564					CALL	.LDCRA		; .....LOAD IT
	007564	004737 	005666'			 JSR	PC,.LDCRA
   6377	007570	012703 	000004 			MOV	#^D4,R3		; .....USE R3 AS A COUNTER
   6378	007574	012700 	000336'		10$:	MOV	#.DFWB,R0	; .....POINT TO THE WRITE BUFFER
   6379	007600	012220 				MOV	(R2)+,(R0)+	; .....LOAD OUR BUFFER FROM CALLER'S
   6380	007602	012220 				MOV	(R2)+,(R0)+	; .....
   6381	007604	005010 				CLR	(R0)		; .....
   6382	007606	005001 				CLR	R1		; .....CLEAR R1
   6383	007610	010400 				MOV	R4,R0		; .....PASS THE FWRITE CODE
   6384	007612					CALL	.FWRIT		; .....DO IT
	007612	004737 	004444'			 JSR	PC,.FWRIT
   6385	007616	062704 	000002 			ADD	#^D2,R4		; .....INCREMENT THE FWRITE CODE
   6386	007622	077314 				SOB	R3,10$		; .....LOOP TILL DONE
   6387	007624	011210 				MOV	(R2),(R0)	; .....LOAD THE CRAM DISP BITS
   6388	007626	012701 	000036 			MOV	#^D30,R1	; .....SHIFT COUNT
   6389	007632					CALL	.TPSHI		; .....SHIFT IT
	007632	004737 	011772'			 JSR	PC,.TPSHI
   6390	007636	005001 				CLR	R1		; .....CLEAR R1
   6391	007640	012700 	000126 			MOV	#FW.CRD,R0	; .....WRITE CODE
   6392	007644					CALL	.FWRIT		; .....WRITE IT
	007644	004737 	004444'			 JSR	PC,.FWRIT
   6393	007650					CALL	.CLDFW		; .....CLEAR THE FUNCTION WRITE BUFFER
	007650	004737 	003404'			 JSR	PC,.CLDFW
   6394	007654	012700 	000122 			MOV	#FW.CA1,R0	; .....CLEAR CRAM DIAG ADDR
   6395	007660					CALL	.FWRIT		; .....SO
	007660	004737 	004444'			 JSR	PC,.FWRIT
   6396	007664	012700 	000124 			MOV	#FW.CA2,R0	; .....NOW FOR THE OTHER HALF
   6397	007670					CALL	.FWRIT		; .....SO
	007670	004737 	004444'			 JSR	PC,.FWRIT
   6398	007674					POP	<R0,R1,R2,R3,R4>; .....RESTORE REGISTERS
	007674	012600 				 MOV	(SP)+,R0
	007676	012601 				 MOV	(SP)+,R1
	007700	012602 				 MOV	(SP)+,R2
	007702	012603 				 MOV	(SP)+,R3
	007704	012604 				 MOV	(SP)+,R4
   6399	007706					RETURN			; TO CALLER
	007706	000207 				 RTS	PC
   6400	007710				WRCRME:
   6401	007710					ERROR$	CAE		; ERROR -- CRAM ADDRESSING ERROR
	007710	012746 	011355 			 MOV	#^RCAE,-(SP)
	007714	104400 				 TRAP	TC.ERR
   6402						;
   6403					.TITLE	NULLC -- NULL COMMAND MODULE 7603.30
   6404
   6405						.IDENT	"005000"
   6406
   6407					;
NULLC -- NULL COMMAND MODULE 76	MACRO M1113  03-APR-86 22:51  PAGE 155-2
.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03

   6408					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   6409					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   6410					;			ALL RIGHTS RESERVED.
   6411					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   6412					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   6413					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   6414					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   6415					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   6416					;
   6417					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   6418					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   6419					;       CORPORATION.
   6420					;
   6421					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   6422					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   6423					;
   6424					;		MODULE: NULL COMMAND
   6425					;
   6426					;		VERSION: 01-01
   6427					;
   6428					;		AUTHOR: R. BELANGER
   6429					;
   6430					;		DATE: 7603.30
   6431					;
   6432					;	THIS MODULE CONTAINS:
   6433					;
   6434					;	1) NULL COMMAND CODE
NULLC -- NULL COMMAND MODULE 76	MACRO M1113  03-APR-86 22:51  PAGE 156
.NULLC -- THE NULL COMMAND 7602.10

   6436					.SBTTL	.NULLC -- THE NULL COMMAND 7602.10
   6437
   6438	007716				.NULLC::
   6439	007716	012737 	000021'	000004'		MOV	#PARNAM,.CCMDN	; RESET THE COMMAND NAME
   6440	007724					CALLR	.CKEOC		; CHECK E-O-C CHARACTER
	007724	000137 	000214'			 JMP	.CKEOC
   6441						;
NULLC -- NULL COMMAND MODULE 76	MACRO M1113  03-APR-86 22:51  PAGE 157
.NULLC -- THE NULL COMMAND 7602.10

   6443
   6444
   6445					.TITLE	PARSE -- TOP-LEVEL COMMAND DECODER MODULE 7603.30
   6446
   6447						.IDENT	"006270"
   6448
   6449					;
   6450					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   6451					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   6452					;			ALL RIGHTS RESERVED.
   6453					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   6454					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   6455					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   6456					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   6457					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   6458					;
   6459					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   6460					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   6461					;       CORPORATION.
   6462					;
   6463					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   6464					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   6465					;
   6466					;		MODULE: TOP-LEVEL COMMAND DECODER
   6467					;
   6468					;		VERSION: 06-27
   6469					;
   6470					;		AUTHOR: R. BELANGER
   6471					;
   6472					;		DATE: 7603.30
   6473					;
   6474					;	THIS MODULE CONTAINS:
   6475					;
   6476					;	1) COMMAND DECODER
   6477
   6478						.MCALL	DIR$,EXIT$S,QIOW$S,.ENB6,.INH6
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 158
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   6480					.SBTTL	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   6481
   6482					;+
   6483					; .DOCMD -- DECODE AND DISPATCH FOR A SINGLE COMMAND
   6484					;
   6485					; THIS SUBROUTINE WILL DECODE THE INPUT STREAM FROM THE MAIN COMMAND
   6486					; SYMBOL TABLE, ".CMDTB", SET UP THE LEGAL BITS FOR EACH COMMAND
   6487					; DECODED, AND PERFORM THE DISPATCH FOR THAT COMMAND.
   6488					;
   6489					; INPUT ARGUMENTS:
   6490					;
   6491					;	R0 POINTS TO A REPEAT COUNT
   6492					;	R5 POINTS TO THE INPUT STREAM.
   6493					;
   6494					; OUTPUT ARGUMENTS:
   6495					;
   6496					;	R0 POINTS TO THE COMMAND NAME POINTER IN THE COMMAND TABLE
   6497					;
   6498					; ERROR CODES RETURNED:
   6499					;
   6500					;	CNR -- COMMAND IS NOT REPEATABLE
   6501					;-
   6502
   6503	007730				.DOCMD::
   6504	007730	022020 				CMP	(R0)+,(R0)+	; POINT TO THE END OF THE REPEAT COUNT
   6505	007732					PUSH	<(R0),-(R0),-(R0)>
	007732	011046 				 MOV	(R0),-(SP)
	007734	014046 				 MOV	-(R0),-(SP)
	007736	014046 				 MOV	-(R0),-(SP)
   6506	007740	010600 				MOV	SP,R0		; ...POINT TO THE REPEAT COUNT
   6507	007742					PUSH	R5		; ...SAVE COMMAND LINE POINTER
	007742	010546 				 MOV	R5,-(SP)
   6508	007744					PUSH	R0		; ....SAVE THE REPEAT COUNT POINTER
	007744	010046 				 MOV	R0,-(SP)
   6509	007746	010037 	000252'			MOV	R0,.RPTPT	; .....FOR "CLEAR REPEAT"
   6510	007752				10$:
   6511	007752	012700 	004350'			MOV	#.CMDTB,R0	; .....POINT TO THE COMMAND TABLE
   6512	007756	012737 	000021'	000004'		MOV	#PARNAM,.CCMDN	; ....."PARSER" IS CURRENT COMMAND
   6513	007764					CALL	.TSCAN		; .....SCAN THE TABLE
	007764	004737 	010524'			 JSR	PC,.TSCAN
   6514	007770	011037 	000216'			MOV	(R0),.LGLWD	; .....SET UP THE LEGAL BITS FOR COMMAND
   6515	007774	014037 	000004'			MOV	-(R0),.CCMDN	; .....SET THE POINTER TO THIS NAME
   6516
   6517					;	[CONTINUED ON THE FOLLOWING PAGE]
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 159
.DOCMD -- DECODE A SINGLE COMMAND 7602.03

   6519					;	[CONTINUED FROM THE PREVIOUS PAGE]
   6520
   6521	010000				20$:
   6522	010000					CALL	@4(R0)		; .....DO THE COMMAND
	010000	004770 	000004 			 JSR	PC,@4(R0)
   6523	010004	011600 				MOV	(SP),R0		; .....POINT TO THE REPEAT COUNT
   6524	010006					CALL	.TPTST		; .....IS THERE REALLY ONE THERE
	010006	004737 	011474'			 JSR	PC,.TPTST
   6525	010012	001404 				BEQ	30$		; .....NO -- JUST GO ON
   6526	010014	032737 	000400 	000216'		BIT	#LG.RPT,.LGLWD	; .....YES -- IS THIS COMMAND REPEATABLE?
   6527	010022	001427 				BEQ	DOCCNR		; .....NO -- GIVE "CNR" ERROR
   6528	010024				30$:
   6529	010024	105725 				TSTB	(R5)+		; .....YES -- IS THIS THE END??
   6530	010026	001010 				BNE	40$		; .....NO -- GO ON SCANNING THIS LINE
   6531	010030	105745 				TSTB	-(R5)		; .....YES -- BACK THE POINTER UP
   6532	010032					CALL	.TPDEC		; .....DECREMENT STACKED REPEAT COUNT
	010032	004737 	011550'			 JSR	PC,.TPDEC
   6533	010036					CALL	.TPTST		; .....SEE WHAT THE COUNT IS
	010036	004737 	011474'			 JSR	PC,.TPTST
   6534	010042	003405 				BLE	50$		; .....DONE IF .LE. 0
   6535	010044	016605 	000002 			MOV	2(SP),R5	; .....RESTORE INPUT STREAM POINTER
   6536	010050				40$:
   6537	010050	005037 	000216'			CLR	.LGLWD		; .....CLEAR THE LEGAL BITS
   6538	010054	000736 				BR	10$		; .....AND REITERATE OR CONTINUE
   6539						;
   6540	010056				50$:
   6541	010056	062706 	000012 			ADD	#^D10,SP	; .....FLUSH THE STACK
   6543	010062	005737 	000000G			TST	.KLERQ		; [5.1006]SNAPSHOT IN PROGRESS?
   6544	010066	001401 				BEQ	55$		; [5.1006]NO -- DO ERROR CHECKS
   6545	010070					RETURN			; [5.1006]YES -- DONE
	010070	000207 				 RTS	PC
   6547	010072				55$:	CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	010072	004737 	000000'			 JSR	PC,.CESCK
   6548	010076					CALLR	.EBPCK		; AND EBUS PARITY ERROR
	010076	000137 	000410'			 JMP	.EBPCK
   6549						;
   6550	010102				DOCCNR:
   6551	010102					ERROR$	CNR		; ERROR -- COMMAND IS NOT REPEATABLE
	010102	012746 	012402 			 MOV	#^RCNR,-(SP)
	010106	104400 				 TRAP	TC.ERR
   6552						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 160
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17

   6554					.SBTTL	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   6555
   6556					;+
   6557					; .EXITP -- THE COMMAND PARSER EXIT POINT.
   6558					;
   6559					; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
   6560					;
   6561					; INPUT ARGUMENTS:
   6562					;
   6563					;	NONE.
   6564					;
   6565					; OUTPUT ARGUMENTS:
   6566					;
   6567					;	NONE.
   6568					;
   6569					; ERROR CODES RETURNED:
   6570					;
   6571					;	NONE.
   6572					;-
   6573
   6574	010110				.EXITP::
   6576	010110	005737 	000066'			TST	.DBGSW		; LOOK AT THE DEBUG SWITCH
   6577	010114	001401 				BEQ	5$		; CLEAR -- DON'T HALT
   6578	010116	000000 				HALT			; FOR DEBUGGING
   6579	010120				5$:
   6581	010120	005737 	001660'			TST	.INDFG		; [5.1000]INDIRECT FILE OPEN?
   6582	010124	001410 				BEQ	10$		; [5.1000]NO -- GO ON
   6583	010126	012701 	002750'			MOV	#.INATT,R1	; [5.1000]SET ATTRIBUTE ADDR
   6584	010132	012702 	000005 			MOV	#INDLUN,R2	; [5.1000]SET LUN
   6585	010136	005037 	001660'			CLR	.INDFG		; [5.1000]INDICATE FILE CLOSED
   6586	010142					CALL	.CLOSE		; [5.1000]CLOSE FILE
	010142	004737 	002114'			 JSR	PC,.CLOSE
   6587	010146	105737 	000206'		10$:	TSTB	.OUTLG		; [5.1000]LOG FILE OPEN?
   6588	010152	001412 				BEQ	20$		; [5.1000]NO -- GO NO
   6589	010154	105037 	000206'			CLRB	.OUTLG		; [5.1000]INDICATE FILE CLOSED
   6590	010160					CALL	.WRITZ		; [5.1000]WRITE OUT CURRENT BLOCK
	010160	004737 	003060'			 JSR	PC,.WRITZ
   6591	010164	012701 	004050'			MOV	#.OTATT,R1	; [5.1000]YES -- SET ATTRIBUTE ADDR
   6592	010170	012702 	000004 			MOV	#LOGLUN,R2	; [5.1000]SET LUN
   6593	010174					CALL	.CLOSE		; [5.1000]CLOSE FILE
	010174	004737 	002114'			 JSR	PC,.CLOSE
   6594	010200				20$:	QIOW$S	#IO.DET,#CIDLUN,#E.FCID,#0,#0,#0
	010200	005046 				CLR	-(SP)
	010202	005046 				CLR	-(SP)
	010204	112746 	000002 			MOVB	#E.FCID,-(SP)
	010210	112766 	000000 	000001 		MOVB	#0,1(SP)
	010216	012746 	000001 			MOV	#CIDLUN,-(SP)
	010222	012746 	000000G			MOV	#IO.DET,-(SP)
	010226	012746 				MOV	(PC)+,-(SP)
	010230	   003 	   006 			.BYTE	3,$$$T1
	010232	104375 				EMT	375
   6595	010234	005037 	000000G			CLR	.KLERQ		; [5.1006]CLEAR SNAPSHOT FLAG
   6596	010240	142737 	000000G	000000G		BICB	#M.PARQ,.MISC	; CLEAR THE PRIORITY FLAG
   6597	010246					.INH6			; DISALLOW INTERRUPTS
	010246	013746 	177776 			MOV	@#PS,-(SP)
	010252	112737 	000300 	177776 		MOVB	#300,@#PS
   6598	010260	013705 	000000G			MOV	CTYPTR,R5	; POINT TO THE CTY
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 160-1
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17

   6599	010264	042765 	000000G	000000G		BIC	#TT.OUT,STSW1(R5) ; CLEAR ANY I/O IN PROGRESS WE MAY HAVE SCREWED
   6600	010272	012703 	000000G			MOV	#D.CDLS,R3	;;; SEND A FREE ACK FOR THE CTY
   6601	010276					CALL	..SACK		;;;
	010276	004737 	000000G			 JSR	PC,..SACK
   6602	010302					.ENB6			; ALLOW INTERRUPTS
	010302	012637 	177776 			MOV	(SP)+,@#PS
   6603	010306					EXIT$S			; EXIT
	010306	012746 				MOV	(PC)+,-(SP)
	010310	   063 	   001 			.BYTE	51.,1
	010312	104375 				EMT	375
   6604	010314	000004 				IOT			; HELP....
   6605						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 161
.START -- COMMAND PARSER MAIN LOOP 7602.02

   6607					.SBTTL	.START -- COMMAND PARSER MAIN LOOP 7602.02
   6608
   6609					;+
   6610					; .START -- COMMAND PARSER MAIN LOOP.
   6611					;
   6612					; THIS IS THE MAIN LOOP AND TOPMOST LEVEL OF THE RSX20F CONSOLE
   6613					; COMMAND PARSER. CONTROL IS PASSED HERE ON STARTUP AND ON ERROR
   6614					; RESTARTS FROM ".PTTRP". THE PROMPT STRING IS OUTPUT TO THE CONSOLE
   6615					; OUTPUT DEVICE AND THE NEXT COMMAND STRING IS SOLICITED FROM
   6616					; THE OPERATOR.
   6617					;
   6618					; INPUT ARGUMENTS:
   6619					;
   6620					;	NONE.
   6621					;
   6622					; OUTPUT ARGUMENTS:
   6623					;
   6624					;	R0 POINTS TO THE REPEAT COUNT
   6625					;	R5 POINTS TO THE INPUT STREAM
   6626					;
   6627					; ERROR CODES RETURNED:
   6628					;
   6629					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED OR DETACHED, THE
   6630					;	PARSER EXITS.
   6631					;-
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 162
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

   6633					.SBTTL	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
   6634
   6635					;+
   6636					; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
   6637					;
   6638					; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
   6639					;
   6640					;	RETURN			; RETURNS TO HIGHER LEVEL
   6641					;		-OR-
   6642					;	CALL	@(SP)+		; RETURNS TO SAME LEVEL
   6643					;
   6644					; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
   6645					; WILL NEST.
   6646					;
   6647					; CALLING SEQUENCE IS:
   6648					;
   6649					;	CALL	R5,.REGSV
   6650					;	ONLY RETURN
   6651					;-
   6652
   6653	010316				.REGSV::			; DEFINE AS GLOBAL
   6654	010316					PUSH	<R4,R3,R2,R1,R5>
	010316	010446 				 MOV	R4,-(SP)
	010320	010346 				 MOV	R3,-(SP)
	010322	010246 				 MOV	R2,-(SP)
	010324	010146 				 MOV	R1,-(SP)
	010326	010546 				 MOV	R5,-(SP)
   6655	010330	016605 	000012 			MOV	12(SP),R5	; .....RESTORE R5
   6656	010334	000241 				CLC			; .....CLEAR CC-C
   6657	010336					CALL	@(SP)+		; .....RETURN WITH RESTORE ADDRESS ON THE STACK
	010336	004736 				 JSR	PC,@(SP)+
   6658
   6659					; HERE TO RESTORE R1 - R5 AND RETURN
   6660
   6661	010340					POP	<R1,R2,R3,R4,R5>
	010340	012601 				 MOV	(SP)+,R1
	010342	012602 				 MOV	(SP)+,R2
	010344	012603 				 MOV	(SP)+,R3
	010346	012604 				 MOV	(SP)+,R4
	010350	012605 				 MOV	(SP)+,R5
   6662	010352					RETURN			; RETURN
	010352	000207 				 RTS	PC
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 163
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

   6664	010354				.START::
   6665	010354	013706 	000256'			MOV	.SVESP,SP	; INIT THE STACK POINTER
   6666	010360				10$:
   6667	010360	005037 	000260'			CLR	.SVKLF		; RESET ".SVKLF"
   6668	010364	012737 	000021'	000004'		MOV	#PARNAM,.CCMDN	; SET UP PARSER NAME
   6669	010372					CALL	.TYINI		; INIT OUTPUT POINTERS
	010372	004737 	015736'			 JSR	PC,.TYINI
   6670	010376	012701 	000000G			MOV	#.KLFLG,R1	; POINT TO ".KLFLG"
   6672	010402	012700 	000034'			MOV	#KLEPRM,R0	; [5.1006]KLE PROMPT
   6673	010406	005737 	000000G			TST	.KLERQ		; [5.1006]KL CRASH?
   6674	010412	001003 				BNE	12$		; [5.1006]YES -- GET KLE INPUT
   6675	010414	005037 	000176'			CLR	.KLEDF		; [5.1006]NO -- CLEAR DEFAULT FLAG
   6676	010420	000403 				BR	15$		; [5.1006]GO ON
   6677	010422				12$:	CALL	.TYMSF		; [5.1006]YES -- OUTPUT PROMPT
	010422	004737 	015454'			 JSR	PC,.TYMSF
   6678	010426	000423 				BR	35$		; [5.1006]GET COMMANDS
   6680	010430	012700 	000030'		15$:	MOV	#PROMPT,R0	; POINT TO THE PROMPT STRING
   6681	010434					CALL	.TYMSG		; PRINT IT
	010434	004737 	015462'			 JSR	PC,.TYMSG
   6682	010440	012700 	000076 			MOV	#'>,R0		; ASSUME THE KL IS RUNNING
   6683	010444	032711 	100000 			BIT	#KF.CLK,(R1)	; IS THE CLOCK ON?
   6684	010450	001406 				BEQ	20$		; NO -- PRINT "#"
   6685	010452	032711 	040000 			BIT	#KF.RUN,(R1)	; YES -- IS THE RUN FLOP ON?
   6686	010456	001005 				BNE	30$		; YES -- PRINT ">"
   6687	010460	012700 	000045 			MOV	#'%,R0		; NO -- PRINT "%"
   6688	010464	000402 				BR	30$		; GO DO IT
   6689						;
   6690	010466				20$:
   6691	010466	012700 	000043 			MOV	#'#,R0		; KL CLOCK IS OFF
   6692	010472				30$:
   6693	010472					CALL	.TFCHR		; FORCE PRINT THE PROMPT CHARACTER
	010472	004737 	015504'			 JSR	PC,.TFCHR
   6694	010476	012705 	001012'		35$:	MOV	#.COMND,R5	; SET UP COMMAND BUFFER POINTER
   6695	010502					CALL	.GTCMD		; GO READ A COMMAND LINE
	010502	004737 	012610'			 JSR	PC,.GTCMD
   6696	010506	005037 	000216'			CLR	.LGLWD		; FLUSH OLD LEGAL BITS
   6697	010512	012700 	000244'			MOV	#.RPTCT,R0	; GET THE REPEAT COUNT POINTER
   6698	010516					CALL	.DOCMD		; NOW GO EXECUTE A COMMAND
	010516	004737 	007730'			 JSR	PC,.DOCMD
   6699	010522	000716 				BR	10$		; AND START OVER AGAIN
   6700						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 164
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   6702					.SBTTL	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
   6703
   6704					;+
   6705					; .TSCAN -- ROUTINE TO SCAN AN ".ASCIZ" SYMBOL TABLE.
   6706					;
   6707					; THIS ROUTINE WILL SCAN A SYMBOL TABLE AND RETURN THE DISPATCH
   6708					; ADDRESS ASSOCIATED WITH THE SYMBOL IN R0.
   6709					;
   6710					; THE ENTRIES IN THE SYMBOL TABLE ARE OF THE FORM:
   6711					;
   6712					;	!=======================================!
   6713					;	!	POINTER TO ".ASCIZ" SYMBOL	!
   6714					;	!---------------------------------------!
   6715					;	!	  LEGAL BITS FOR OBJECT		!
   6716					;	!---------------------------------------!
   6717					;	!	   DISPATCH FOR OBJECT		!
   6718					;	!=======================================!
   6719					;
   6720					; INPUT ARGUMENTS:
   6721					;
   6722					;	R0 POINTS TO THE SYMBOL TABLE
   6723					;
   6724					; OUTPUT ARGUMENTS:
   6725					;
   6726					;	R0 POINTS TO THE "LEGAL" BITS OF THE MATCHED SYMBOL
   6727					;
   6728					; ERROR CODES RETURNED:
   6729					;
   6730					;	AMB -- AMBIGUOUS KEYWORD.
   6731					;	NSK -- NON-EXISTENT KEYWORD.
   6732					;	WRM -- WRONG MODE FOR COMMAND.
   6733					;-
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 165
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   6735	010524				.TSCAN::
   6736	010524					CALL	.CKCTC		; SEE IF "^C" WAS TYPED
	010524	004737 	000166'			 JSR	PC,.CKCTC
   6737	010530					CALL	.CKSYM		; GET OVER LEADING BLANKS
	010530	004737 	000374'			 JSR	PC,.CKSYM
   6738	010534	122704 	000077 			CMPB	#'?,R4		; IS THIS AN INQUIRY?
   6739	010540	001442 				BEQ	50$		; YES -- DISPLAY THE TABLE
   6740	010542					PUSH	R1		; NO -- SAVE R1 ON THE STACK
	010542	010146 				 MOV	R1,-(SP)
   6741	010544					PUSH	R5		; .SAVE THE INPUT POINTER
	010544	010546 				 MOV	R5,-(SP)
   6742	010546	010001 				MOV	R0,R1		; ..TABLE POINTER TO R1
   6743	010550					PUSH	R5		; ..SAVE THE INPUT POINTER AGAIN
	010550	010546 				 MOV	R5,-(SP)
   6744	010552	005046 				CLR	-(SP)		; ...CLEAR A SCRATCH AREA
   6745	010554				10$:
   6746	010554	012100 				MOV	(R1)+,R0	; ....GET THE ADDRESS OF THE SYMBOL
   6747	010556					CALL	.SSCAN		; ....SCAN IT
	010556	004737 	010774'			 JSR	PC,.SSCAN
   6748	010562	103412 				BCS	30$		; ....NO MATCH -- TRY NEXT ENTRY
   6749	010564	001004 				BNE	20$		; ....MATCH -- SAVE POINTER AND CONTINUE
   6750	010566	010100 				MOV	R1,R0		; ....EXACT MATCH -- PUT THE POINTER IN R0
   6751	010570	010566 	000004 			MOV	R5,4(SP)	; ....FIX THE INPUT POINTER
   6752	010574	000414 				BR	40$		; ....AND SET UP FOR EXIT
   6753						;
   6754	010576				20$:
   6755	010576	005716 				TST	(SP)		; ....HAVE WE ALREADY FOUND A MATCH?
   6756	010600	001062 				BNE	TSCAMB		; ....YES -- GIVE "AMB" ERROR
   6757	010602	010116 				MOV	R1,(SP)		; ....NO -- SAVE POINTER AND GO ON
   6758	010604	010566 	000004 			MOV	R5,4(SP)	; ....SAVE THE BUFFER POINTER
   6759	010610				30$:
   6760	010610	016605 	000002 			MOV	2(SP),R5	; ....RESET THE INPUT POINTER
   6761	010614	022121 				CMP	(R1)+,(R1)+	; ....ADVANCE THE POINTER
   6762	010616	005711 				TST	(R1)		; ....IS THIS THE END OF THE TABLE?
   6763	010620	001355 				BNE	10$		; ....NO -- TRY THIS SYMBOL
   6764	010622	011600 				MOV	(SP),R0		; ....YES -- DID WE FIND A MATCH?
   6765	010624	001455 				BEQ	TSCNSK		; ....NO -- GIVE "NSK" ERROR
   6766	010626				40$:
   6767	010626	033710 	000000G			BIT	.FEMOD,(R0)	; ....YES -- CAN WE DO THIS COMMAND?
   6768	010632	001455 				BEQ	TSCWRM		; ....NO -- GIVE "WRM" ERROR
   6769	010634	022626 				CMP	(SP)+,(SP)+	; ....YES -- CLEAR THE STACK
   6770	010636					POP	R5		; ..RETURN UPDATED LINE POINTER
	010636	012605 				 MOV	(SP)+,R5
   6771	010640	111504 				MOVB	(R5),R4		; .PUT THE DELIMITER IN R4
   6772	010642					POP	R1		; .RESTORE R1
	010642	012601 				 MOV	(SP)+,R1
   6773	010644					RETURN			; WITH POINTER TO LEGAL BITS IN R0
	010644	000207 				 RTS	PC
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 166
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   6775	010646				50$:
   6776	010646	105725 				TSTB	(R5)+		; GET OVER THE "?"
   6777	010650					CALL	.CKEOC		; CHECK FOR E-O-C
	010650	004737 	000214'			 JSR	PC,.CKEOC
   6778	010654	010001 				MOV	R0,R1		; TABLE POINTER TO R1
   6779	010656					CALL	.TCRLF		; TYPE A <CRLF>
	010656	004737 	015552'			 JSR	PC,.TCRLF
   6780	010662	013700 	000004'			MOV	.CCMDN,R0	; CURRENT COMMAND NAME
   6781	010666					CALL	.TYMSG		; PRINT THAT
	010666	004737 	015462'			 JSR	PC,.TYMSG
   6782	010672	012700 	000345'			MOV	#TDMSG0,R0	; REST OF LINE
   6783	010676					CALL	.TYLIN		; PRINT IT
	010676	004737 	015446'			 JSR	PC,.TYLIN
   6784	010702				60$:
   6785	010702	012100 				MOV	(R1)+,R0	; NAME POINTER TO R0
   6786	010704	001414 				BEQ	80$		; EXIT IF NULL
   6787	010706	031137 	000000G			BIT	(R1),.FEMOD	; COMMAND LEGAL IN THIS MODE?
   6788	010712	001407 				BEQ	70$		; NO -- GO ON
   6789	010714	105760 	000001 			TSTB	1(R0)		; [5.1012]ONE CHAR COMMAND?
   6790	010720	001404 				BEQ	70$		; [5.1012]YES -- SKIP IT
   6791	010722					CALL	.TYSPC		; YES -- SPACE OVER
	010722	004737 	014602'			 JSR	PC,.TYSPC
   6792	010726					CALL	.TYLIN		; PRINT THIS NAME
	010726	004737 	015446'			 JSR	PC,.TYLIN
   6793	010732				70$:
   6794	010732	022121 				CMP	(R1)+,(R1)+	; POINT TO THE NEXT NAME
   6795	010734	000762 				BR	60$		; AND GO ON
   6796						;
   6797	010736				80$:
   6798	010736	013706 	000256'			MOV	.SVESP,SP	; RESET THE STACK
   6799	010742	000177 	000254'			JMP	@.STRTV		; AND START OVER
   6800						;
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 167
.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25

   6802	010746				TSCAMB:
   6803	010746	016605 	000002 			MOV	2(SP),R5	; RESET INPUT POINTER
   6804	010752					ERROR$	AMB		; .ERROR -- MULTIPLE MATCH
	010752	012746 	004112 			 MOV	#^RAMB,-(SP)
	010756	104400 				 TRAP	TC.ERR
   6805						;
   6806	010760				TSCNSK:
   6807	010760					ERROR$	NSK		; .ERROR -- NON-EXISTENT KEYWORD
	010760	012746 	055203 			 MOV	#^RNSK,-(SP)
	010764	104400 				 TRAP	TC.ERR
   6808						;
   6809	010766				TSCWRM:
   6810	010766					ERROR$	WRM		; .ERROR -- WRONG MODE FOR COMMAND
	010766	012746 	111235 			 MOV	#^RWRM,-(SP)
	010772	104400 				 TRAP	TC.ERR
   6811						;
   6812
   6813	000345				.PSECT	MESSAG
   6814
   6815	000345				TDMSG0:
   6816	000345	   040 	   103 	   117 		.ASCIZ	% COMMANDS ARE:%
	000350	   115 	   115 	   101
	000353	   116 	   104 	   123
	000356	   040 	   101 	   122
	000361	   105 	   072 	   000
   6817	010774				.PSECT
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 168
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

   6819					.SBTTL	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
   6820
   6821					;+
   6822					; .SSCAN -- ROUTINE TO SCAN A SYMBOL IN THE INPUT STREAM FOR A MATCH
   6823					;	    WITH AN ".ASCIZ" SYMBOL IN A TABLE.
   6824					;
   6825					; THIS ROUTINE WILL FIND A MATCH OR NON-MATCH ON A SYMBOL POINTED TO
   6826					; BY R5 WITH THE ".ASCIZ" SYMBOLS IN THE TABLE POINTED TO BY R0.
   6827					;
   6828					; INPUT ARGUMENTS:
   6829					;
   6830					;	R0 POINTS TO AN ".ASCIZ" SYMBOL IN A TABLE DESCRIBED IN
   6831					;	".TSCAN" (Q.V.).
   6832					;	R5 POINTS TO THE INPUT STREAM, OR THE OTHER SYMBOL TO BE
   6833					;	MATCHED.
   6834					;
   6835					; OUTPUT ARGUMENTS:
   6836					;
   6837					;  ON FAILURE, (NO MATCH):
   6838					;	R5 POINTS TO THE BEGINNING OF THE SYMBOL IN THE INPUT STREAM
   6839					;	R4 CONTAINS THE LAST CHARACTER PROCESSED IN THE INPUT STREAM
   6840					;	CC-C IS SET.
   6841					;
   6842					;  ON SUCCESS, (MATCH):
   6843					;	R5 POINTS TO THE DELIMITER AFTER THE SYMBOL
   6844					;	R4 CONTAINS THAT DELIMITER CHARACTER
   6845					;	CC-C IS CLEAR
   6846					;	IF CC-Z IS SET, THE MATCH WAS EXACT.
   6847					;
   6848					; ERROR CODES RETURNED:
   6849					;
   6850					;	ILS -- ILLEGAL SEPARATOR CHARCATER.
   6851					;-
PARSE -- TOP-LEVEL COMMAND DECO	MACRO M1113  03-APR-86 22:51  PAGE 169
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

   6853	010774				.SSCAN::
   6854	010774	121510 				CMPB	(R5),(R0)	; TEST CHARACTERS FOR MATCH
   6855	010776	001006 				BNE	20$		; NO MATCH -- CHECK DELIMITER
   6856	011000	105720 				TSTB	(R0)+		; ADVANCE THE POINTERS
   6857	011002	001402 				BEQ	10$		; MATCH ON ".ASCIZ" SYMBOLS?
   6858	011004	105725 				TSTB	(R5)+		; NO -- ADVANCE OTHER POINTER
   6859	011006	000772 				BR	.SSCAN		; AND TRY NEXT TWO CHARACTERS
   6860						;
   6861	011010				10$:
   6862	011010	105740 				TSTB	-(R0)		; BACK THE POINTER UP
   6863	011012	000405 				BR	30$		; AND EXIT
   6864						;
   6865	011014				20$:
   6866	011014	111504 				MOVB	(R5),R4		; GET LAST CHARACTER FROM INPUT
   6867	011016	132764 	000034 	001502'		BITB	#CH.END,.CHTAB(R4)
   6868	011024	001402 				BEQ	40$		; NOT LEGAL DELIMITER -- GIVE NO MATCH
   6869	011026				30$:
   6870	011026	105710 				TSTB	(R0)		; LOOK AT THE LAST CHARACTER IN OUR SYMBOL
   6871	011030	000401 				BR	50$		; AND EXIT
   6872						;
   6873	011032				40$:
   6874	011032	000261 				SEC			; SET CC-C TO SAY "NO MATCH"
   6875	011034				50$:
   6876	011034					RETURN			; TO CALLER
	011034	000207 				 RTS	PC
REPTC -- REPEAT COMMAND MODULE 	MACRO M1113  03-APR-86 22:51  PAGE 171
.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14

   6879					.TITLE	REPTC -- REPEAT COMMAND MODULE 7703.25
   6880
   6881						.IDENT	"005000"
   6882
   6883					;
   6884					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   6885					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   6886					;			ALL RIGHTS RESERVED.
   6887					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   6888					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   6889					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   6890					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   6891					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   6892					;
   6893					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   6894					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   6895					;       CORPORATION.
   6896					;
   6897					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   6898					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   6899					;
   6900					;		MODULE: REPEAT COMMAND
   6901					;
   6902					;		VERSION: 05-00
   6903					;
   6904					;		AUTHOR: R. BELANGER
   6905					;
   6906					;		DATE: 7703.25
   6907					;
   6908					;	THIS MODULE CONTAINS:
   6909					;
   6910					;	1) REPEAT COMMAND CODE
REPTC -- REPEAT COMMAND MODULE 	MACRO M1113  03-APR-86 22:51  PAGE 172
.REPTC -- THE "REPEAT" COMMAND 7703.25

   6912					.SBTTL	.REPTC -- THE "REPEAT" COMMAND 7703.25
   6913
   6914					;+
   6915					; .REPTC -- THE "REPEAT" COMMAND
   6916					;
   6917					; THIS ROUTINE WILL ACCEPT AND CHECK A 36 BIT REPEAT COUNT BEFORE
   6918					; CALLING THE TOP LEVEL OF THE COMMAND PARSER.
   6919					;
   6920					; INPUT ARGUMENTS:
   6921					;
   6922					;	NONE.
   6923					;
   6924					; OUTPUT ARGUMENTS:
   6925					;
   6926					;	R0 POINTS TO A 36 BIT REPEAT COUNT
   6927					;
   6928					; ERROR CODES RETURNED:
   6929					;
   6930					;	IRC -- ILLEGAL REPEAT COUNT
   6931					;-
   6932
   6933	011036				.REPTC::
   6934	011036	013737 	000166'	000240'		MOV	.IRADX,.RDXSV	; SAVE CURRENT INPUT RADIX
   6935	011044	012737 	000012 	000166'		MOV	#^D10,.IRADX	; SET IT TO DECIMAL
   6936	011052	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   6937	011054	005046 				CLR	-(SP)		; .
   6938	011056	005046 				CLR	-(SP)		; ..
   6939	011060	010600 				MOV	SP,R0		; ...POINT TO IT
   6940	011062					CALL	.GTKLN		; ...READ THE NUMBER
	011062	004737 	013302'			 JSR	PC,.GTKLN
   6941	011066	013737 	000240'	000166'		MOV	.RDXSV,.IRADX	; ...RESET INPUT RADIX
   6942	011074					CALL	.TPTST		; ...SEE WHAT WE GOT
	011074	004737 	011474'			 JSR	PC,.TPTST
   6943	011100	003410 				BLE	REPIRC		; ...ILLEGAL IF .LE. 0
   6944	011102					CALL	.CKEOC		; ...CHECK E-O-C
	011102	004737 	000214'			 JSR	PC,.CKEOC
   6945	011106	105725 				TSTB	(R5)+		; ...GET OVER THE E-O-C CHARACTER
   6946	011110					CALL	.DOCMD		; ...CONTINUE PROCESSING THE LINE
	011110	004737 	007730'			 JSR	PC,.DOCMD
   6947	011114	062706 	000006 			ADD	#^D6,SP		; ...FLUSH THE STACK
   6948	011120					RETURN			; TO CALLER
	011120	000207 				 RTS	PC
   6949	011122				REPIRC:
   6950	011122					ERROR$	IRC		; ERROR -- ILLEGAL REPEAT COUNT
	011122	012746 	035423 			 MOV	#^RIRC,-(SP)
	011126	104400 				 TRAP	TC.ERR
   6951						;
REPTC -- REPEAT COMMAND MODULE 	MACRO M1113  03-APR-86 22:51  PAGE 173
.REPTC -- THE "REPEAT" COMMAND 7703.25

   6953
   6954					.TITLE	TABLE -- COMMAND PARSER COMMAND TABLES 7812.20
   6955
   6956						.IDENT	"007030"
   6957
   6958					;
   6959					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   6960					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   6961					;			ALL RIGHTS RESERVED.
   6962					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   6963					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   6964					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   6965					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   6966					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   6967					;
   6968					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   6969					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   6970					;       CORPORATION.
   6971					;
   6972					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   6973					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   6974					;
   6975					;		MODULE: MAIN COMMAND PARSER TABLES
   6976					;
   6977					;		VERSION: 07-03
   6978					;
   6979					;		AUTHOR: R. BELANGER
   6980					;
   6981					;		DATE: 7812.20
   6982					;
   6983					;	THIS MODULE CONTAINS:
   6984					;
   6985					;	1) THE MAIN COMMAND TABLES
   6986					;
   6987					;  MODIFICATIONS:
   6988					;
   6989					;	NO.	DATE		PROGRAMMER	REASON
   6990					;	---	----		----------	------
   6991					;	001	28-FEB-77	R. BELANGER	ADD DISCONNECT COMMAND
   6992					;
   6993					;    [5.1000]	24-AUG-79	K. LEFEBVRE	ADD "TAKE" COMMAND
   6994					;						ADD "SET OUTPUT" COMMAND
   6995					;    [5.1002]	14-SEP-79	K. LEFEBVRE	ADD "SET AC-BLOCK" COMMAND
   6996					;						ADD "SWEEP" COMMAND
   6997					;    [5.1010]	17-OCT-79	K.LEFEBVRE	ADD "SHOW" COMMAND
   6998					;    [5.1011]	19-OCT-79	R.BELANGER	ADD "WHAT HARDWARE" COMMAND
   6999					;    [5.1012]	19-OCT-79	R.BELANGER	ADD "MARK-MICROCODE" COMMAND
   7000					;						ADD "UNMARK-MICROCODE" COMMAND
   7001					;	002	05-NOV-80	S. LEAPLINE	ADD "AUTO-TAKE" COMMAND
   7002					;
   7003					;09-JUN-83  TCO 6.1675	D. WEAVER
   7004					;	REMOVE THE "SET/CLEAR/WHAT AUTO-TAKE" COMMANDS.
   7005					;
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 174
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

   7007					.SBTTL	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   7008
   7009	004350					.PSECT	DATA
   7010
   7011	004350				.CMDTB::
   7012	004350					COMND$	,<LG.OPR!LG.RPT>,.NULLC,NUL
	000364	   000 			NULMSG:: .ASCIZ	%%
	004350	000364'				 .WORD	NULMSG		; POINTER TO "" SYMBOL
	004352	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	004354	007716'				 .WORD	.NULLC		; ROUTINE TO CALL OR DATA
   7013					;
   7014	004356					COMND$	ABORT,LG.OPR,.ABRTC,ABO
	000365	   101 	   102 	   117 	ABOMSG:: .ASCIZ	%ABORT%
	000370	   122 	   124 	   000
	004356	000365'				 .WORD	ABOMSG		; POINTER TO "ABORT" SYMBOL
	004360	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004362	000000G				 .WORD	.ABRTC		; ROUTINE TO CALL OR DATA
   7015					;
   7016	004364					COMND$	CLEAR,<LG.OPR!LG.RPT>,.CLRCM,CLR
	000373	   103 	   114 	   105 	CLRMSG:: .ASCIZ	%CLEAR%
	000376	   101 	   122 	   000
	004364	000373'				 .WORD	CLRMSG		; POINTER TO "CLEAR" SYMBOL
	004366	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	004370	000000G				 .WORD	.CLRCM		; ROUTINE TO CALL OR DATA
   7017					;
   7018	004372					COMND$	CONTINUE,<LG.PRG!LG.RPT>,.CONTC,CNT
	000401	   103 	   117 	   116 	CNTMSG:: .ASCIZ	%CONTINUE%
	000404	   124 	   111 	   116
	000407	   125 	   105 	   000
	004372	000401'				 .WORD	CNTMSG		; POINTER TO "CONTINUE" SYMBOL
	004374	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004376	000000G				 .WORD	.CONTC		; ROUTINE TO CALL OR DATA
   7019					;
   7020	004400					COMND$	DEPOSIT,<LG.PRG!LG.RPT>,.DPOSC,DEP
	000412	   104 	   105 	   120 	DEPMSG:: .ASCIZ	%DEPOSIT%
	000415	   117 	   123 	   111
	000420	   124 	   000
	004400	000412'				 .WORD	DEPMSG		; POINTER TO "DEPOSIT" SYMBOL
	004402	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004404	000000G				 .WORD	.DPOSC		; ROUTINE TO CALL OR DATA
   7021					;
   7022	004406					COMND$	DISCONNECT,LG.ALL,.DISCC,DIS
	000422	   104 	   111 	   123 	DISMSG:: .ASCIZ	%DISCONNECT%
	000425	   103 	   117 	   116
	000430	   116 	   105 	   103
	000433	   124 	   000
	004406	000422'				 .WORD	DISMSG		; POINTER TO "DISCONNECT" SYMBOL
	004410	000007 				 .WORD	LG.ALL		; LEGAL BITS
	004412	000000G				 .WORD	.DISCC		; ROUTINE TO CALL OR DATA
   7023					;
   7024	004414					COMND$	EXAMINE,<LG.OPR!LG.RPT>,.EXAMC,EXA
	000435	   105 	   130 	   101 	EXAMSG:: .ASCIZ	%EXAMINE%
	000440	   115 	   111 	   116
	000443	   105 	   000
	004414	000435'				 .WORD	EXAMSG		; POINTER TO "EXAMINE" SYMBOL
	004416	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	004420	000000G				 .WORD	.EXAMC		; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 174-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

   7025					;
   7026	004422					COMND$	FREAD,<LG.MNT!LG.RPT>,.DFRED,FRD
	000445	   106 	   122 	   105 	FRDMSG:: .ASCIZ	%FREAD%
	000450	   101 	   104 	   000
	004422	000445'				 .WORD	FRDMSG		; POINTER TO "FREAD" SYMBOL
	004424	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004426	000000G				 .WORD	.DFRED		; ROUTINE TO CALL OR DATA
   7027					;
   7028	004430					COMND$	FWRITE,<LG.MNT!LG.RPT>,.DFWRT,FWR
	000453	   106 	   127 	   122 	FWRMSG:: .ASCIZ	%FWRITE%
	000456	   111 	   124 	   105
	000461	   000
	004430	000453'				 .WORD	FWRMSG		; POINTER TO "FWRITE" SYMBOL
	004432	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004434	000000G				 .WORD	.DFWRT		; ROUTINE TO CALL OR DATA
   7029					;
   7030	004436					COMND$	FXCT,<LG.MNT!LG.RPT>,.DFXCT,FXC
	000462	   106 	   130 	   103 	FXCMSG:: .ASCIZ	%FXCT%
	000465	   124 	   000
	004436	000462'				 .WORD	FXCMSG		; POINTER TO "FXCT" SYMBOL
	004440	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004442	000000G				 .WORD	.DFXCT		; ROUTINE TO CALL OR DATA
   7031					;
   7032	004444					COMND$	HALT,<LG.PRG!LG.RPT>,.HALTC,HLT
	000467	   110 	   101 	   114 	HLTMSG:: .ASCIZ	%HALT%
	000472	   124 	   000
	004444	000467'				 .WORD	HLTMSG		; POINTER TO "HALT" SYMBOL
	004446	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004450	000000G				 .WORD	.HALTC		; ROUTINE TO CALL OR DATA
   7033					;
   7038	004452					COMND$	INITIALIZE,<LG.PRG!LG.RPT>,.INITC,INI
	000474	   111 	   116 	   111 	INIMSG:: .ASCIZ	%INITIALIZE%
	000477	   124 	   111 	   101
	000502	   114 	   111 	   132
	000505	   105 	   000
	004452	000474'				 .WORD	INIMSG		; POINTER TO "INITIALIZE" SYMBOL
	004454	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004456	000000G				 .WORD	.INITC		; ROUTINE TO CALL OR DATA
   7039					;
   7040	004460					COMND$	JUMP,LG.OPR,.JUMPC,JMP
	000507	   112 	   125 	   115 	JMPMSG:: .ASCIZ	%JUMP%
	000512	   120 	   000
	004460	000507'				 .WORD	JMPMSG		; POINTER TO "JUMP" SYMBOL
	004462	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004464	000000G				 .WORD	.JUMPC		; ROUTINE TO CALL OR DATA
   7041					;
   7042	004466					COMND$	M,LG.OPR,.RUNCM,M
	000514	   115 	   000 		MMSG:: .ASCIZ	%M%
	004466	000514'				 .WORD	MMSG		; POINTER TO "M" SYMBOL
	004470	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004472	000000G				 .WORD	.RUNCM		; ROUTINE TO CALL OR DATA
   7043					;
   7044	004474					COMND$	MARK-MICROCODE,LG.MNT,.MARKC,MRK
	000516	   115 	   101 	   122 	MRKMSG:: .ASCIZ	%MARK-MICROCODE%
	000521	   113 	   055 	   115
	000524	   111 	   103 	   122
	000527	   117 	   103 	   117
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 174-2
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	000532	   104 	   105 	   000
	004474	000516'				 .WORD	MRKMSG		; POINTER TO "MARK-MICROCODE" SYMBOL
	004476	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004500	000000G				 .WORD	.MARKC		; ROUTINE TO CALL OR DATA
   7045					;
   7046	004502					COMND$	MCR,LG.OPR,.RUNCM,MCR
	000535	   115 	   103 	   122 	MCRMSG:: .ASCIZ	%MCR%
	000540	   000
	004502	000535'				 .WORD	MCRMSG		; POINTER TO "MCR" SYMBOL
	004504	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004506	000000G				 .WORD	.RUNCM		; ROUTINE TO CALL OR DATA
   7047					;
   7048	004510					COMND$	R,LG.OPR,.RUNCM,R
	000541	   122 	   000 		RMSG:: .ASCIZ	%R%
	004510	000541'				 .WORD	RMSG		; POINTER TO "R" SYMBOL
	004512	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004514	000000G				 .WORD	.RUNCM		; ROUTINE TO CALL OR DATA
   7049					;
   7050	004516					COMND$	REPEAT,<LG.OPR!LG.RPT>,.REPTC,RPT
	000543	   122 	   105 	   120 	RPTMSG:: .ASCIZ	%REPEAT%
	000546	   105 	   101 	   124
	000551	   000
	004516	000543'				 .WORD	RPTMSG		; POINTER TO "REPEAT" SYMBOL
	004520	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	004522	011036'				 .WORD	.REPTC		; ROUTINE TO CALL OR DATA
   7051					;
   7052					;
   7053	004524					COMND$	QREST,LG.OPR,.RESQ,QRES
	000552	   121 	   122 	   105 	QRESMSG:: .ASCIZ	%QREST%
	000555	   123 	   124 	   000
	004524	000552'				 .WORD	QRESMSG		; POINTER TO "QREST" SYMBOL
	004526	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004530	000000G				 .WORD	.RESQ		; ROUTINE TO CALL OR DATA
   7054
   7055	004532					COMND$	QSAVE,LG.OPR,.SAVQ,QSAV
	000560	   121 	   123 	   101 	QSAVMSG:: .ASCIZ	%QSAVE%
	000563	   126 	   105 	   000
	004532	000560'				 .WORD	QSAVMSG		; POINTER TO "QSAVE" SYMBOL
	004534	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004536	000000G				 .WORD	.SAVQ		; ROUTINE TO CALL OR DATA
   7056
   7057	004540					COMND$	RESET,<LG.PRG!LG.RPT>,.RESTC,RES
	000566	   122 	   105 	   123 	RESMSG:: .ASCIZ	%RESET%
	000571	   105 	   124 	   000
	004540	000566'				 .WORD	RESMSG		; POINTER TO "RESET" SYMBOL
	004542	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004544	000000G				 .WORD	.RESTC		; ROUTINE TO CALL OR DATA
   7058					;
   7059	004546					COMND$	RESTORE,LG.MNT,.RSTRC,RST
	000574	   122 	   105 	   123 	RSTMSG:: .ASCIZ	%RESTORE%
	000577	   124 	   117 	   122
	000602	   105 	   000
	004546	000574'				 .WORD	RSTMSG		; POINTER TO "RESTORE" SYMBOL
	004550	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004552	000000G				 .WORD	.RSTRC		; ROUTINE TO CALL OR DATA
   7060					;
   7061	004554					COMND$	RUN,LG.OPR,.RUNCM,RUN
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 174-3
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	000604	   122 	   125 	   116 	RUNMSG:: .ASCIZ	%RUN%
	000607	   000
	004554	000604'				 .WORD	RUNMSG		; POINTER TO "RUN" SYMBOL
	004556	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004560	000000G				 .WORD	.RUNCM		; ROUTINE TO CALL OR DATA
   7062					;
   7063	004562					COMND$	SAVE,LG.MNT,.SAVEC,SAV
	000610	   123 	   101 	   126 	SAVMSG:: .ASCIZ	%SAVE%
	000613	   105 	   000
	004562	000610'				 .WORD	SAVMSG		; POINTER TO "SAVE" SYMBOL
	004564	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004566	000000G				 .WORD	.SAVEC		; ROUTINE TO CALL OR DATA
   7064					;
   7065	004570					COMND$	SET,<LG.OPR!LG.RPT>,.SETCM,SET
	000615	   123 	   105 	   124 	SETMSG:: .ASCIZ	%SET%
	000620	   000
	004570	000615'				 .WORD	SETMSG		; POINTER TO "SET" SYMBOL
	004572	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	004574	000000G				 .WORD	.SETCM		; ROUTINE TO CALL OR DATA
   7066					;
   7067	004576					COMND$	SHOW,LG.OPR,.WHATC,SHO
	000621	   123 	   110 	   117 	SHOMSG:: .ASCIZ	%SHOW%
	000624	   127 	   000
	004576	000621'				 .WORD	SHOMSG		; POINTER TO "SHOW" SYMBOL
	004600	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004602	000000G				 .WORD	.WHATC		; ROUTINE TO CALL OR DATA
   7068					;
   7069	004604					COMND$	SHUTDOWN,LG.OPR,.SHUTC,SHU
	000626	   123 	   110 	   125 	SHUMSG:: .ASCIZ	%SHUTDOWN%
	000631	   124 	   104 	   117
	000634	   127 	   116 	   000
	004604	000626'				 .WORD	SHUMSG		; POINTER TO "SHUTDOWN" SYMBOL
	004606	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004610	000000G				 .WORD	.SHUTC		; ROUTINE TO CALL OR DATA
   7070					;
   7071	004612					COMND$	START,<LG.PRG!LG.RPT>,.STRTC,STR
	000637	   123 	   124 	   101 	STRMSG:: .ASCIZ	%START%
	000642	   122 	   124 	   000
	004612	000637'				 .WORD	STRMSG		; POINTER TO "START" SYMBOL
	004614	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004616	000000G				 .WORD	.STRTC		; ROUTINE TO CALL OR DATA
   7072					;
   7073	004620					COMND$	SWEEP,<LG.MNT!LG.RPT>,.SWPC,SWP
	000645	   123 	   127 	   105 	SWPMSG:: .ASCIZ	%SWEEP%
	000650	   105 	   120 	   000
	004620	000645'				 .WORD	SWPMSG		; POINTER TO "SWEEP" SYMBOL
	004622	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	004624	000000G				 .WORD	.SWPC		; ROUTINE TO CALL OR DATA
   7074					;
   7075	004626					COMND$	TAKE,<LG.OPR>,.TAKEC,TAK
	000653	   124 	   101 	   113 	TAKMSG:: .ASCIZ	%TAKE%
	000656	   105 	   000
	004626	000653'				 .WORD	TAKMSG		; POINTER TO "TAKE" SYMBOL
	004630	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004632	000000G				 .WORD	.TAKEC		; ROUTINE TO CALL OR DATA
   7076					;
   7077	004634					COMND$	UNMARK-MICROCODE,LG.MNT,.UMRKC,UNM
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 174-4
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

	000660	   125 	   116 	   115 	UNMMSG:: .ASCIZ	%UNMARK-MICROCODE%
	000663	   101 	   122 	   113
	000666	   055 	   115 	   111
	000671	   103 	   122 	   117
	000674	   103 	   117 	   104
	000677	   105 	   000
	004634	000660'				 .WORD	UNMMSG		; POINTER TO "UNMARK-MICROCODE" SYMBOL
	004636	000004 				 .WORD	LG.MNT		; LEGAL BITS
	004640	000000G				 .WORD	.UMRKC		; ROUTINE TO CALL OR DATA
   7078					;
   7079	004642					COMND$	QUIT,LG.OPR,.QUITC,QUT
	000701	   121 	   125 	   111 	QUTMSG:: .ASCIZ	%QUIT%
	000704	   124 	   000
	004642	000701'				 .WORD	QUTMSG		; POINTER TO "QUIT" SYMBOL
	004644	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004646	000000G				 .WORD	.QUITC		; ROUTINE TO CALL OR DATA
   7080					;
   7081	004650					COMND$	WHAT,LG.OPR,.WHATC,WHA
	000706	   127 	   110 	   101 	WHAMSG:: .ASCIZ	%WHAT%
	000711	   124 	   000
	004650	000706'				 .WORD	WHAMSG		; POINTER TO "WHAT" SYMBOL
	004652	000001 				 .WORD	LG.OPR		; LEGAL BITS
	004654	000000G				 .WORD	.WHATC		; ROUTINE TO CALL OR DATA
   7082					;
   7083	004656					COMND$	XCT,<LG.PRG!LG.RPT>,.EXCTC,XCT
	000713	   130 	   103 	   124 	XCTMSG:: .ASCIZ	%XCT%
	000716	   000
	004656	000713'				 .WORD	XCTMSG		; POINTER TO "XCT" SYMBOL
	004660	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004662	000000G				 .WORD	.EXCTC		; ROUTINE TO CALL OR DATA
   7084					;
   7085	004664					COMND$	ZERO,LG.PRG,.ZEROC,ZER
	000717	   132 	   105 	   122 	ZERMSG:: .ASCIZ	%ZERO%
	000722	   117 	   000
	004664	000717'				 .WORD	ZERMSG		; POINTER TO "ZERO" SYMBOL
	004666	000002 				 .WORD	LG.PRG		; LEGAL BITS
	004670	000000G				 .WORD	.ZEROC		; ROUTINE TO CALL OR DATA
   7086					;
   7087	004672	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 175
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23

   7089					.SBTTL	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   7090
   7091	004674				.DPETB::
   7092	004674					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
	000724	   104 	   105 	   103 	DCRMSG:: .ASCIZ	%DECREMENT%
	000727	   122 	   105 	   115
	000732	   105 	   116 	   124
	000735	   000
	004674	000724'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	004676	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004700	000000G				 .WORD	.DPOSD		; ROUTINE TO CALL OR DATA
   7093					;
   7094	004702					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
	000736	   111 	   116 	   103 	INCMSG:: .ASCIZ	%INCREMENT%
	000741	   122 	   105 	   115
	000744	   105 	   116 	   124
	000747	   000
	004702	000736'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	004704	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004706	000000G				 .WORD	.DPOSI		; ROUTINE TO CALL OR DATA
   7095					;
   7096	004710					COMND$	NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
	000750	   116 	   105 	   130 	NXTMSG:: .ASCIZ	%NEXT%
	000753	   124 	   000
	004710	000750'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	004712	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004714	000000G				 .WORD	.DPOSN		; ROUTINE TO CALL OR DATA
   7097					;
   7098	004716					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
	000755	   120 	   122 	   105 	PRVMSG:: .ASCIZ	%PREVIOUS%
	000760	   126 	   111 	   117
	000763	   125 	   123 	   000
	004716	000755'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	004720	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004722	000000G				 .WORD	.DPOSP		; ROUTINE TO CALL OR DATA
   7099					;
   7100	004724					COMND$	THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
	000766	   124 	   110 	   111 	THSMSG:: .ASCIZ	%THIS%
	000771	   123 	   000
	004724	000766'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	004726	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004730	000000G				 .WORD	.DPOSZ		; ROUTINE TO CALL OR DATA
   7101					;
   7102	004732	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 176
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23

   7104					.SBTTL	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
   7105
   7106	004734				.DPOTB::
   7107	004734					COMND$	AR,<LG.PRG!LG.RPT>,.DEPAR,AR
	000773	   101 	   122 	   000 	ARMSG:: .ASCIZ	%AR%
	004734	000773'				 .WORD	ARMSG		; POINTER TO "AR" SYMBOL
	004736	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004740	000000G				 .WORD	.DEPAR		; ROUTINE TO CALL OR DATA
   7108					;
   7109	004742					COMND$	ELEVEN,<LG.PRG!LG.RPT>,.DPOEL,ELE
	000776	   105 	   114 	   105 	ELEMSG:: .ASCIZ	%ELEVEN%
	001001	   126 	   105 	   116
	001004	   000
	004742	000776'				 .WORD	ELEMSG		; POINTER TO "ELEVEN" SYMBOL
	004744	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004746	000000G				 .WORD	.DPOEL		; ROUTINE TO CALL OR DATA
   7110					;
   7111	004750					COMND$	TEN,<LG.PRG!LG.RPT>,.DPOKL,TEN
	001005	   124 	   105 	   116 	TENMSG:: .ASCIZ	%TEN%
	001010	   000
	004750	001005'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	004752	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	004754	000000G				 .WORD	.DPOKL		; ROUTINE TO CALL OR DATA
   7112					;
   7113	004756					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.DPOSD,DCR
	004756	000724'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	004760	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004762	000000G				 .WORD	.DPOSD		; ROUTINE TO CALL OR DATA
   7114					;
   7115	004764					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.DPOSI,INC
	004764	000736'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	004766	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004770	000000G				 .WORD	.DPOSI		; ROUTINE TO CALL OR DATA
   7116					;
   7117	004772					COMND$	NEXT,<LG.RPT!LG.OPR>,.DPOSN,NXT
	004772	000750'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	004774	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	004776	000000G				 .WORD	.DPOSN		; ROUTINE TO CALL OR DATA
   7118					;
   7119	005000					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.DPOSP,PRV
	005000	000755'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	005002	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005004	000000G				 .WORD	.DPOSP		; ROUTINE TO CALL OR DATA
   7120					;
   7121	005006					COMND$	THIS,<LG.RPT!LG.OPR>,.DPOSZ,THS
	005006	000766'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	005010	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005012	000000G				 .WORD	.DPOSZ		; ROUTINE TO CALL OR DATA
   7122					;
   7123	005014	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 177
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16

   7125					.SBTTL	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
   7126
   7127	005016				.EXETB::
   7128	005016					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
	005016	000724'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	005020	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005022	000000G				 .WORD	.EXAMD		; ROUTINE TO CALL OR DATA
   7129					;
   7130	005024					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
	005024	000736'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	005026	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005030	000000G				 .WORD	.EXAMI		; ROUTINE TO CALL OR DATA
   7131					;
   7132	005032					COMND$	NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
	005032	000750'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	005034	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005036	000000G				 .WORD	.EXAMN		; ROUTINE TO CALL OR DATA
   7133					;
   7134	005040					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
	005040	000755'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	005042	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005044	000000G				 .WORD	.EXAMP		; ROUTINE TO CALL OR DATA
   7135					;
   7136	005046					COMND$	THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
	005046	000766'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	005050	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005052	000000G				 .WORD	.EXAMZ		; ROUTINE TO CALL OR DATA
   7137					;
   7138	005054	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 178
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

   7140					.SBTTL	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
   7141
   7142	005056				.EXMTB::
   7143	005056					COMND$	AD,<LG.PRG!LG.RPT>,.EXAD,AD
	001011	   101 	   104 	   000 	ADMSG:: .ASCIZ	%AD%
	005056	001011'				 .WORD	ADMSG		; POINTER TO "AD" SYMBOL
	005060	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005062	000000G				 .WORD	.EXAD		; ROUTINE TO CALL OR DATA
   7144					;
   7145	005064					COMND$	ADX,<LG.PRG!LG.RPT>,.EXADX,ADX
	001014	   101 	   104 	   130 	ADXMSG:: .ASCIZ	%ADX%
	001017	   000
	005064	001014'				 .WORD	ADXMSG		; POINTER TO "ADX" SYMBOL
	005066	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005070	000000G				 .WORD	.EXADX		; ROUTINE TO CALL OR DATA
   7146					;
   7147	005072					COMND$	AR,<LG.PRG!LG.RPT>,.EXARR,AR
	005072	000773'				 .WORD	ARMSG		; POINTER TO "AR" SYMBOL
	005074	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005076	000000G				 .WORD	.EXARR		; ROUTINE TO CALL OR DATA
   7148					;
   7149	005100					COMND$	ARX,<LG.PRG!LG.RPT>,.EXARX,ARX
	001020	   101 	   122 	   130 	ARXMSG:: .ASCIZ	%ARX%
	001023	   000
	005100	001020'				 .WORD	ARXMSG		; POINTER TO "ARX" SYMBOL
	005102	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005104	000000G				 .WORD	.EXARX		; ROUTINE TO CALL OR DATA
   7150					;
   7151	005106					COMND$	BR,<LG.PRG!LG.RPT>,.EXBRR,BR
	001024	   102 	   122 	   000 	BRMSG:: .ASCIZ	%BR%
	005106	001024'				 .WORD	BRMSG		; POINTER TO "BR" SYMBOL
	005110	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005112	000000G				 .WORD	.EXBRR		; ROUTINE TO CALL OR DATA
   7152					;
   7153	005114					COMND$	BRX,<LG.PRG!LG.RPT>,.EXBRX,BRX
	001027	   102 	   122 	   130 	BRXMSG:: .ASCIZ	%BRX%
	001032	   000
	005114	001027'				 .WORD	BRXMSG		; POINTER TO "BRX" SYMBOL
	005116	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005120	000000G				 .WORD	.EXBRX		; ROUTINE TO CALL OR DATA
   7154					;
   7155	005122					COMND$	EBUS,<LG.PRG!LG.RPT>,.EXEBS,EBS
	001033	   105 	   102 	   125 	EBSMSG:: .ASCIZ	%EBUS%
	001036	   123 	   000
	005122	001033'				 .WORD	EBSMSG		; POINTER TO "EBUS" SYMBOL
	005124	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005126	000000G				 .WORD	.EXEBS		; ROUTINE TO CALL OR DATA
   7156					;
   7157					;
   7158	005130					COMND$	FM,<LG.PRG!LG.RPT>,.EXFMR,FM
	001040	   106 	   115 	   000 	FMMSG:: .ASCIZ	%FM%
	005130	001040'				 .WORD	FMMSG		; POINTER TO "FM" SYMBOL
	005132	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005134	000000G				 .WORD	.EXFMR		; ROUTINE TO CALL OR DATA
   7159					;
   7160	005136					COMND$	MQ,<LG.PRG!LG.RPT>,.EXMQR,MQ
	001043	   115 	   121 	   000 	MQMSG:: .ASCIZ	%MQ%
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 178-1
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

	005136	001043'				 .WORD	MQMSG		; POINTER TO "MQ" SYMBOL
	005140	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005142	000000G				 .WORD	.EXMQR		; ROUTINE TO CALL OR DATA
   7161					;
   7162	005144					COMND$	PC,<LG.ALL!LG.RPT>,.EXVPC,PC
	001046	   120 	   103 	   000 	PCMSG:: .ASCIZ	%PC%
	005144	001046'				 .WORD	PCMSG		; POINTER TO "PC" SYMBOL
	005146	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	005150	000000G				 .WORD	.EXVPC		; ROUTINE TO CALL OR DATA
   7163					;
   7164					;
   7165		000012 			EXRTBL==<.-.EXMTB>/6
   7166	005152					COMND$	AB,<LG.PRG!LG.RPT>,.EXVAB,AB
	001051	   101 	   102 	   000 	ABMSG:: .ASCIZ	%AB%
	005152	001051'				 .WORD	ABMSG		; POINTER TO "AB" SYMBOL
	005154	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005156	000000G				 .WORD	.EXVAB		; ROUTINE TO CALL OR DATA
   7167					;
   7168	005160					COMND$	CRADDR,<LG.PRG!LG.RPT>,.EXCRA,CRA
	001054	   103 	   122 	   101 	CRAMSG:: .ASCIZ	%CRADDR%
	001057	   104 	   104 	   122
	001062	   000
	005160	001054'				 .WORD	CRAMSG		; POINTER TO "CRADDR" SYMBOL
	005162	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005164	000000G				 .WORD	.EXCRA		; ROUTINE TO CALL OR DATA
   7169					;
   7170	005166					COMND$	CRLOC,<LG.PRG!LG.RPT>,.EXCRL,CRL
	001063	   103 	   122 	   114 	CRLMSG:: .ASCIZ	%CRLOC%
	001066	   117 	   103 	   000
	005166	001063'				 .WORD	CRLMSG		; POINTER TO "CRLOC" SYMBOL
	005170	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005172	000000G				 .WORD	.EXCRL		; ROUTINE TO CALL OR DATA
   7171					;
   7172	005174					COMND$	DRADDR,<LG.PRG!LG.RPT>,.EXDRA,DRA
	001071	   104 	   122 	   101 	DRAMSG:: .ASCIZ	%DRADDR%
	001074	   104 	   104 	   122
	001077	   000
	005174	001071'				 .WORD	DRAMSG		; POINTER TO "DRADDR" SYMBOL
	005176	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005200	000000G				 .WORD	.EXDRA		; ROUTINE TO CALL OR DATA
   7173					;
   7174	005202					COMND$	DTE-20,<LG.PRG!LG.RPT>,.EXDTE,DTE
	001100	   104 	   124 	   105 	DTEMSG:: .ASCIZ	%DTE-20%
	001103	   055 	   062 	   060
	001106	   000
	005202	001100'				 .WORD	DTEMSG		; POINTER TO "DTE-20" SYMBOL
	005204	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005206	000000G				 .WORD	.EXDTE		; ROUTINE TO CALL OR DATA
   7175					;
   7176	005210					COMND$	EBR,<LG.PRG!LG.RPT>,.EXEBR,EBR
	001107	   105 	   102 	   122 	EBRMSG:: .ASCIZ	%EBR%
	001112	   000
	005210	001107'				 .WORD	EBRMSG		; POINTER TO "EBR" SYMBOL
	005212	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005214	000000G				 .WORD	.EXEBR		; ROUTINE TO CALL OR DATA
   7177
   7178	005216					COMND$	ELEVEN,<LG.OPR!LG.RPT>,.EXMEL,ELE
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 178-2
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

	005216	000776'				 .WORD	ELEMSG		; POINTER TO "ELEVEN" SYMBOL
	005220	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	005222	000000G				 .WORD	.EXMEL		; ROUTINE TO CALL OR DATA
   7179					;
   7180	005224					COMND$	FE,<LG.PRG!LG.RPT>,.EXFER,FER
	001113	   106 	   105 	   000 	FERMSG:: .ASCIZ	%FE%
	005224	001113'				 .WORD	FERMSG		; POINTER TO "FE" SYMBOL
	005226	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005230	000000G				 .WORD	.EXFER		; ROUTINE TO CALL OR DATA
   7181					;
   7182	005232					COMND$	FLAGS,<LG.PRG!LG.RPT>,.EXAMF,FLG
	001116	   106 	   114 	   101 	FLGMSG:: .ASCIZ	%FLAGS%
	001121	   107 	   123 	   000
	005232	001116'				 .WORD	FLGMSG		; POINTER TO "FLAGS" SYMBOL
	005234	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005236	000000G				 .WORD	.EXAMF		; ROUTINE TO CALL OR DATA
   7183					;
   7184	005240					COMND$	KL,<LG.ALL!LG.RPT>,.EXAMK,KL
	001124	   113 	   114 	   000 	KLMSG:: .ASCIZ	%KL%
	005240	001124'				 .WORD	KLMSG		; POINTER TO "KL" SYMBOL
	005242	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	005244	000000G				 .WORD	.EXAMK		; ROUTINE TO CALL OR DATA
   7185					;
   7186	005246					COMND$	PI,<LG.PRG!LG.RPT>,.EXMPI,PI
	001127	   120 	   111 	   000 	PIMSG:: .ASCIZ	%PI%
	005246	001127'				 .WORD	PIMSG		; POINTER TO "PI" SYMBOL
	005250	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005252	000000G				 .WORD	.EXMPI		; ROUTINE TO CALL OR DATA
   7187					;
   7188	005254					COMND$	REGISTERS,<LG.PRG!LG.RPT>,.EXREG,REG
	001132	   122 	   105 	   107 	REGMSG:: .ASCIZ	%REGISTERS%
	001135	   111 	   123 	   124
	001140	   105 	   122 	   123
	001143	   000
	005254	001132'				 .WORD	REGMSG		; POINTER TO "REGISTERS" SYMBOL
	005256	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005260	000000G				 .WORD	.EXREG		; ROUTINE TO CALL OR DATA
   7189					;
   7190	005262					COMND$	TEN,<LG.OPR!LG.RPT>,.EXMKL,TEN
	005262	001005'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	005264	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	005266	000000G				 .WORD	.EXMKL		; ROUTINE TO CALL OR DATA
   7191					;
   7192	005270					COMND$	UBR,<LG.PRG!LG.RPT>,.EXUBR,UBR
	001144	   125 	   102 	   122 	UBRMSG:: .ASCIZ	%UBR%
	001147	   000
	005270	001144'				 .WORD	UBRMSG		; POINTER TO "UBR" SYMBOL
	005272	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005274	000000G				 .WORD	.EXUBR		; ROUTINE TO CALL OR DATA
   7193	005276					COMND$	VMA,<LG.PRG!LG.RPT>,.EXVMA,VMA
	001150	   126 	   115 	   101 	VMAMSG:: .ASCIZ	%VMA%
	001153	   000
	005276	001150'				 .WORD	VMAMSG		; POINTER TO "VMA" SYMBOL
	005300	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005302	000000G				 .WORD	.EXVMA		; ROUTINE TO CALL OR DATA
   7194					;
   7195	005304					COMND$	VMAH,<LG.PRG!LG.RPT>,.EXVMH,VMH
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 178-3
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

	001154	   126 	   115 	   101 	VMHMSG:: .ASCIZ	%VMAH%
	001157	   110 	   000
	005304	001154'				 .WORD	VMHMSG		; POINTER TO "VMAH" SYMBOL
	005306	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005310	000000G				 .WORD	.EXVMH		; ROUTINE TO CALL OR DATA
   7196					;
   7197	005312					COMND$	SBR,<LG.PRG!LG.RPT>,.EXSBR,SBR
	001161	   123 	   102 	   122 	SBRMSG:: .ASCIZ	%SBR%
	001164	   000
	005312	001161'				 .WORD	SBRMSG		; POINTER TO "SBR" SYMBOL
	005314	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005316	000000G				 .WORD	.EXSBR		; ROUTINE TO CALL OR DATA
   7198					;
   7199	005320					COMND$	SC,<LG.PRG!LG.RPT>,.EXSCR,SCR
	001165	   123 	   103 	   000 	SCRMSG:: .ASCIZ	%SC%
	005320	001165'				 .WORD	SCRMSG		; POINTER TO "SC" SYMBOL
	005322	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	005324	000000G				 .WORD	.EXSCR		; ROUTINE TO CALL OR DATA
   7200					;
   7201	005326					COMND$	DECREMENT,<LG.RPT!LG.OPR>,.EXAMD,DCR
	005326	000724'				 .WORD	DCRMSG		; POINTER TO "DECREMENT" SYMBOL
	005330	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005332	000000G				 .WORD	.EXAMD		; ROUTINE TO CALL OR DATA
   7202					;
   7203	005334					COMND$	INCREMENT,<LG.RPT!LG.OPR>,.EXAMI,INC
	005334	000736'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	005336	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005340	000000G				 .WORD	.EXAMI		; ROUTINE TO CALL OR DATA
   7204					;
   7205	005342					COMND$	NEXT,<LG.RPT!LG.OPR>,.EXAMN,NXT
	005342	000750'				 .WORD	NXTMSG		; POINTER TO "NEXT" SYMBOL
	005344	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005346	000000G				 .WORD	.EXAMN		; ROUTINE TO CALL OR DATA
   7206					;
   7207	005350					COMND$	PREVIOUS,<LG.RPT!LG.OPR>,.EXAMP,PRV
	005350	000755'				 .WORD	PRVMSG		; POINTER TO "PREVIOUS" SYMBOL
	005352	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005354	000000G				 .WORD	.EXAMP		; ROUTINE TO CALL OR DATA
   7208					;
   7209	005356					COMND$	THIS,<LG.RPT!LG.OPR>,.EXAMZ,THS
	005356	000766'				 .WORD	THSMSG		; POINTER TO "THIS" SYMBOL
	005360	000401 				 .WORD	LG.RPT!LG.OPR		; LEGAL BITS
	005362	000000G				 .WORD	.EXAMZ		; ROUTINE TO CALL OR DATA
   7210					;
   7211	005364	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 179
.KLMTB -- THE KLINIK MODE TABLE 7702.16

   7213					.SBTTL	.KLMTB -- THE KLINIK MODE TABLE 7702.16
   7214
   7215	005366				.KLMTB::
   7216	005366					COMND$	MAINTENANCE,LG.ALL,LG.ALL,MNT
	001170	   115 	   101 	   111 	MNTMSG:: .ASCIZ	%MAINTENANCE%
	001173	   116 	   124 	   105
	001176	   116 	   101 	   116
	001201	   103 	   105 	   000
	005366	001170'				 .WORD	MNTMSG		; POINTER TO "MAINTENANCE" SYMBOL
	005370	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005372	000007 				 .WORD	LG.ALL		; ROUTINE TO CALL OR DATA
   7217					;
   7218	005374					COMND$	OPERATOR,LG.ALL,LG.OPR,OPR
	001204	   117 	   120 	   105 	OPRMSG:: .ASCIZ	%OPERATOR%
	001207	   122 	   101 	   124
	001212	   117 	   122 	   000
	005374	001204'				 .WORD	OPRMSG		; POINTER TO "OPERATOR" SYMBOL
	005376	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005400	000001 				 .WORD	LG.OPR		; ROUTINE TO CALL OR DATA
   7219					;
   7220	005402					COMND$	PROGRAMMER,LG.ALL,LG.PRM,PRG
	001215	   120 	   122 	   117 	PRGMSG:: .ASCIZ	%PROGRAMMER%
	001220	   107 	   122 	   101
	001223	   115 	   115 	   105
	001226	   122 	   000
	005402	001215'				 .WORD	PRGMSG		; POINTER TO "PROGRAMMER" SYMBOL
	005404	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005406	000003 				 .WORD	LG.PRM		; ROUTINE TO CALL OR DATA
   7221					;
   7222	005410	000000 				.WORD	0		; END OF TABLE MARKER
   7223
   7224	005412				.KLMT1::
   7225	005412					COMND$	REMOTE,LG.ALL,1,REM
	001230	   122 	   105 	   115 	REMMSG:: .ASCIZ	%REMOTE%
	001233	   117 	   124 	   105
	001236	   000
	005412	001230'				 .WORD	REMMSG		; POINTER TO "REMOTE" SYMBOL
	005414	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005416	000001 				 .WORD	1		; ROUTINE TO CALL OR DATA
   7226					;
   7227	005420					COMND$	USER,LG.ALL,-1,USR
	001237	   125 	   123 	   105 	USRMSG:: .ASCIZ	%USER%
	001242	   122 	   000
	005420	001237'				 .WORD	USRMSG		; POINTER TO "USER" SYMBOL
	005422	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005424	177777 				 .WORD	-1		; ROUTINE TO CALL OR DATA
   7228					;
   7229	005426	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 180
.MONTB -- THE MONTH TABLE 7702.16

   7231					.SBTTL	.MONTB -- THE MONTH TABLE 7702.16
   7232
   7233
   7234	005430				.MONTB::
   7235	005430					COMND$	JANUARY,LG.ALL,1.,JAN
	001244	   112 	   101 	   116 	JANMSG:: .ASCIZ	%JANUARY%
	001247	   125 	   101 	   122
	001252	   131 	   000
	005430	001244'				 .WORD	JANMSG		; POINTER TO "JANUARY" SYMBOL
	005432	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005434	000001 				 .WORD	1.		; ROUTINE TO CALL OR DATA
   7236					;
   7237	005436					COMND$	FEBRUARY,LG.ALL,2.,FEB
	001254	   106 	   105 	   102 	FEBMSG:: .ASCIZ	%FEBRUARY%
	001257	   122 	   125 	   101
	001262	   122 	   131 	   000
	005436	001254'				 .WORD	FEBMSG		; POINTER TO "FEBRUARY" SYMBOL
	005440	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005442	000002 				 .WORD	2.		; ROUTINE TO CALL OR DATA
   7238					;
   7239	005444					COMND$	MARCH,LG.ALL,3.,MAR
	001265	   115 	   101 	   122 	MARMSG:: .ASCIZ	%MARCH%
	001270	   103 	   110 	   000
	005444	001265'				 .WORD	MARMSG		; POINTER TO "MARCH" SYMBOL
	005446	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005450	000003 				 .WORD	3.		; ROUTINE TO CALL OR DATA
   7240					;
   7241	005452					COMND$	APRIL,LG.ALL,4.,APR
	001273	   101 	   120 	   122 	APRMSG:: .ASCIZ	%APRIL%
	001276	   111 	   114 	   000
	005452	001273'				 .WORD	APRMSG		; POINTER TO "APRIL" SYMBOL
	005454	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005456	000004 				 .WORD	4.		; ROUTINE TO CALL OR DATA
   7242					;
   7243	005460					COMND$	MAY,LG.ALL,5.,MAY
	001301	   115 	   101 	   131 	MAYMSG:: .ASCIZ	%MAY%
	001304	   000
	005460	001301'				 .WORD	MAYMSG		; POINTER TO "MAY" SYMBOL
	005462	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005464	000005 				 .WORD	5.		; ROUTINE TO CALL OR DATA
   7244					;
   7245	005466					COMND$	JUNE,LG.ALL,6.,JUN
	001305	   112 	   125 	   116 	JUNMSG:: .ASCIZ	%JUNE%
	001310	   105 	   000
	005466	001305'				 .WORD	JUNMSG		; POINTER TO "JUNE" SYMBOL
	005470	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005472	000006 				 .WORD	6.		; ROUTINE TO CALL OR DATA
   7246					;
   7247	005474					COMND$	JULY,LG.ALL,7.,JUL
	001312	   112 	   125 	   114 	JULMSG:: .ASCIZ	%JULY%
	001315	   131 	   000
	005474	001312'				 .WORD	JULMSG		; POINTER TO "JULY" SYMBOL
	005476	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005500	000007 				 .WORD	7.		; ROUTINE TO CALL OR DATA
   7248					;
   7249	005502					COMND$	AUGUST,LG.ALL,8.,AUG
	001317	   101 	   125 	   107 	AUGMSG:: .ASCIZ	%AUGUST%
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 180-1
.MONTB -- THE MONTH TABLE 7702.16

	001322	   125 	   123 	   124
	001325	   000
	005502	001317'				 .WORD	AUGMSG		; POINTER TO "AUGUST" SYMBOL
	005504	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005506	000010 				 .WORD	8.		; ROUTINE TO CALL OR DATA
   7250					;
   7251	005510					COMND$	SEPTEMBER,LG.ALL,9.,SEP
	001326	   123 	   105 	   120 	SEPMSG:: .ASCIZ	%SEPTEMBER%
	001331	   124 	   105 	   115
	001334	   102 	   105 	   122
	001337	   000
	005510	001326'				 .WORD	SEPMSG		; POINTER TO "SEPTEMBER" SYMBOL
	005512	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005514	000011 				 .WORD	9.		; ROUTINE TO CALL OR DATA
   7252					;
   7253	005516					COMND$	OCTOBER,LG.ALL,10.,OCT
	001340	   117 	   103 	   124 	OCTMSG:: .ASCIZ	%OCTOBER%
	001343	   117 	   102 	   105
	001346	   122 	   000
	005516	001340'				 .WORD	OCTMSG		; POINTER TO "OCTOBER" SYMBOL
	005520	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005522	000012 				 .WORD	10.		; ROUTINE TO CALL OR DATA
   7254					;
   7255	005524					COMND$	NOVEMBER,LG.ALL,11.,NOV
	001350	   116 	   117 	   126 	NOVMSG:: .ASCIZ	%NOVEMBER%
	001353	   105 	   115 	   102
	001356	   105 	   122 	   000
	005524	001350'				 .WORD	NOVMSG		; POINTER TO "NOVEMBER" SYMBOL
	005526	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005530	000013 				 .WORD	11.		; ROUTINE TO CALL OR DATA
   7256					;
   7257	005532					COMND$	DECEMBER,LG.ALL,12.,DEC
	001361	   104 	   105 	   103 	DECMSG:: .ASCIZ	%DECEMBER%
	001364	   105 	   115 	   102
	001367	   105 	   122 	   000
	005532	001361'				 .WORD	DECMSG		; POINTER TO "DECEMBER" SYMBOL
	005534	000007 				 .WORD	LG.ALL		; LEGAL BITS
	005536	000014 				 .WORD	12.		; ROUTINE TO CALL OR DATA
   7258					;
   7259	005540	000000 				.WORD	0		; END OF TABLE MARKER
   7260
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

   7262					.SBTTL	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
   7263
   7264	005542				.NSETB::
   7265	005542					NSERR$	APE,<KL APR ERROR>
	000000	   101 	   120 	   105 	APEERM:	 .ASCIZ	%APE - KL APR ERROR%
	000003	   040 	   055 	   040
	000006	   113 	   114 	   040
	000011	   101 	   120 	   122
	000014	   040 	   105 	   122
	000017	   122 	   117 	   122
	000022	   000
	005542	004305 				 .RAD50	/APE/		; "APE" IN .RAD50
	005544	000000'				 .WORD	APEERM		; POINTER TO MESSAGE
   7266						;
   7267	005546					NSERR$	BAE,<BURST ARG  ERROR>
	000023	   102 	   101 	   105 	BAEERM:	 .ASCIZ	%BAE - BURST ARG  ERROR%
	000026	   040 	   055 	   040
	000031	   102 	   125 	   122
	000034	   123 	   124 	   040
	000037	   101 	   122 	   107
	000042	   040 	   040 	   105
	000045	   122 	   122 	   117
	000050	   122 	   000
	005546	006255 				 .RAD50	/BAE/		; "BAE" IN .RAD50
	005550	000023'				 .WORD	BAEERM		; POINTER TO MESSAGE
   7268						;
   7269	005552					NSERR$	CAE,<KL CRAM ADDR. ERROR>
	000052	   103 	   101 	   105 	CAEERM:	 .ASCIZ	%CAE - KL CRAM ADDR. ERROR%
	000055	   040 	   055 	   040
	000060	   113 	   114 	   040
	000063	   103 	   122 	   101
	000066	   115 	   040 	   101
	000071	   104 	   104 	   122
	000074	   056 	   040 	   105
	000077	   122 	   122 	   117
	000102	   122 	   000
	005552	011355 				 .RAD50	/CAE/		; "CAE" IN .RAD50
	005554	000052'				 .WORD	CAEERM		; POINTER TO MESSAGE
   7270	005556					NSERR$	CAL,<CAN'T ASSIGN LUN>
	000104	   103 	   101 	   114 	CALERM:	 .ASCIZ	%CAL - CAN'T ASSIGN LUN%
	000107	   040 	   055 	   040
	000112	   103 	   101 	   116
	000115	   047 	   124 	   040
	000120	   101 	   123 	   123
	000123	   111 	   107 	   116
	000126	   040 	   114 	   125
	000131	   116 	   000
	005556	011364 				 .RAD50	/CAL/		; "CAL" IN .RAD50
	005560	000104'				 .WORD	CALERM		; POINTER TO MESSAGE
   7271	005562					NSERR$	CAP,<CAN'T ATTACH PRINTER>
	000133	   103 	   101 	   120 	CAPERM:	 .ASCIZ	%CAP - CAN'T ATTACH PRINTER%
	000136	   040 	   055 	   040
	000141	   103 	   101 	   116
	000144	   047 	   124 	   040
	000147	   101 	   124 	   124
	000152	   101 	   103 	   110
	000155	   040 	   120 	   122
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-1
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	000160	   111 	   116 	   124
	000163	   105 	   122 	   000
	005562	011370 				 .RAD50	/CAP/		; "CAP" IN .RAD50
	005564	000133'				 .WORD	CAPERM		; POINTER TO MESSAGE
   7272	005566					NSERR$	CBO,<COMMAND BUFFER OVERFLOW>
	000166	   103 	   102 	   117 	CBOERM:	 .ASCIZ	%CBO - COMMAND BUFFER OVERFLOW%
	000171	   040 	   055 	   040
	000174	   103 	   117 	   115
	000177	   115 	   101 	   116
	000202	   104 	   040 	   102
	000205	   125 	   106 	   106
	000210	   105 	   122 	   040
	000213	   117 	   126 	   105
	000216	   122 	   106 	   114
	000221	   117 	   127 	   000
	005566	011437 				 .RAD50	/CBO/		; "CBO" IN .RAD50
	005570	000166'				 .WORD	CBOERM		; POINTER TO MESSAGE
   7273	005572					NSERR$	CDI,<SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL>
	000224	   103 	   104 	   111 	CDIERM:	 .ASCIZ	%CDI - SET/CLEAR DATE ILLEGAL IN PRIMARY PROTOCOL%
	000227	   040 	   055 	   040
	000232	   123 	   105 	   124
	000235	   057 	   103 	   114
	000240	   105 	   101 	   122
	000243	   040 	   104 	   101
	000246	   124 	   105 	   040
	000251	   111 	   114 	   114
	000254	   105 	   107 	   101
	000257	   114 	   040 	   111
	000262	   116 	   040 	   120
	000265	   122 	   111 	   115
	000270	   101 	   122 	   131
	000273	   040 	   120 	   122
	000276	   117 	   124 	   117
	000301	   103 	   117 	   114
	000304	   000
	005572	011551 				 .RAD50	/CDI/		; "CDI" IN .RAD50
	005574	000224'				 .WORD	CDIERM		; POINTER TO MESSAGE
   7274	005576					NSERR$	CFH,<CAN'T FIND KL HALT LOOP>
	000305	   103 	   106 	   110 	CFHERM:	 .ASCIZ	%CFH - CAN'T FIND KL HALT LOOP%
	000310	   040 	   055 	   040
	000313	   103 	   101 	   116
	000316	   047 	   124 	   040
	000321	   106 	   111 	   116
	000324	   104 	   040 	   113
	000327	   114 	   040 	   110
	000332	   101 	   114 	   124
	000335	   040 	   114 	   117
	000340	   117 	   120 	   000
	005576	011670 				 .RAD50	/CFH/		; "CFH" IN .RAD50
	005600	000305'				 .WORD	CFHERM		; POINTER TO MESSAGE
   7275	005602					NSERR$	CLE,<CONSOLE LIMIT EXCEEDED>
	000343	   103 	   114 	   105 	CLEERM:	 .ASCIZ	%CLE - CONSOLE LIMIT EXCEEDED%
	000346	   040 	   055 	   040
	000351	   103 	   117 	   116
	000354	   123 	   117 	   114
	000357	   105 	   040 	   114
	000362	   111 	   115 	   111
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-2
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	000365	   124 	   040 	   105
	000370	   130 	   103 	   105
	000373	   105 	   104 	   105
	000376	   104 	   000
	005602	012245 				 .RAD50	/CLE/		; "CLE" IN .RAD50
	005604	000343'				 .WORD	CLEERM		; POINTER TO MESSAGE
   7276	005606					NSERR$	CNR,<COMMAND IS NOT REPEATABLE>
	000400	   103 	   116 	   122 	CNRERM:	 .ASCIZ	%CNR - COMMAND IS NOT REPEATABLE%
	000403	   040 	   055 	   040
	000406	   103 	   117 	   115
	000411	   115 	   101 	   116
	000414	   104 	   040 	   111
	000417	   123 	   040 	   116
	000422	   117 	   124 	   040
	000425	   122 	   105 	   120
	000430	   105 	   101 	   124
	000433	   101 	   102 	   114
	000436	   105 	   000
	005606	012402 				 .RAD50	/CNR/		; "CNR" IN .RAD50
	005610	000400'				 .WORD	CNRERM		; POINTER TO MESSAGE
   7277	005612					NSERR$	CPE,<CAN'T PHASE EBOX>
	000440	   103 	   120 	   105 	CPEERM:	 .ASCIZ	%CPE - CAN'T PHASE EBOX%
	000443	   040 	   055 	   040
	000446	   103 	   101 	   116
	000451	   047 	   124 	   040
	000454	   120 	   110 	   101
	000457	   123 	   105 	   040
	000462	   105 	   102 	   117
	000465	   130 	   000
	005612	012505 				 .RAD50	/CPE/		; "CPE" IN .RAD50
	005614	000440'				 .WORD	CPEERM		; POINTER TO MESSAGE
   7278	005616					NSERR$	CRH,<CAN'T READ HARDWARE OPTIONS>
	000467	   103 	   122 	   110 	CRHERM:	 .ASCIZ	%CRH - CAN'T READ HARDWARE OPTIONS%
	000472	   040 	   055 	   040
	000475	   103 	   101 	   116
	000500	   047 	   124 	   040
	000503	   122 	   105 	   101
	000506	   104 	   040 	   110
	000511	   101 	   122 	   104
	000514	   127 	   101 	   122
	000517	   105 	   040 	   117
	000522	   120 	   124 	   111
	000525	   117 	   116 	   123
	000530	   000
	005616	012630 				 .RAD50	/CRH/		; "CRH" IN .RAD50
	005620	000467'				 .WORD	CRHERM		; POINTER TO MESSAGE
   7279						;
   7283	005622					NSERR$	DAV,<DATE ALREADY VALID>
	000531	   104 	   101 	   126 	DAVERM:	 .ASCIZ	%DAV - DATE ALREADY VALID%
	000534	   040 	   055 	   040
	000537	   104 	   101 	   124
	000542	   105 	   040 	   101
	000545	   114 	   122 	   105
	000550	   101 	   104 	   131
	000553	   040 	   126 	   101
	000556	   114 	   111 	   104
	000561	   000
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	005622	014476 				 .RAD50	/DAV/		; "DAV" IN .RAD50
	005624	000531'				 .WORD	DAVERM		; POINTER TO MESSAGE
   7284	005626					NSERR$	DBT,<DATE BEFORE TODAY>
	000562	   104 	   102 	   124 	DBTERM:	 .ASCIZ	%DBT - DATE BEFORE TODAY%
	000565	   040 	   055 	   040
	000570	   104 	   101 	   124
	000573	   105 	   040 	   102
	000576	   105 	   106 	   117
	000601	   122 	   105 	   040
	000604	   124 	   117 	   104
	000607	   101 	   131 	   000
	005626	014544 				 .RAD50	/DBT/		; "DBT" IN .RAD50
	005630	000562'				 .WORD	DBTERM		; POINTER TO MESSAGE
   7285	005632					NSERR$	DCK,<DIVIDE CHECK>
	000612	   104 	   103 	   113 	DCKERM:	 .ASCIZ	%DCK - DIVIDE CHECK%
	000615	   040 	   055 	   040
	000620	   104 	   111 	   126
	000623	   111 	   104 	   105
	000626	   040 	   103 	   110
	000631	   105 	   103 	   113
	000634	   000
	005632	014603 				 .RAD50	/DCK/		; "DCK" IN .RAD50
	005634	000612'				 .WORD	DCKERM		; POINTER TO MESSAGE
   7286	005636					NSERR$	DMF,<DEPOSIT KL MEMORY FAILED>
	000635	   104 	   115 	   106 	DMFERM:	 .ASCIZ	%DMF - DEPOSIT KL MEMORY FAILED%
	000640	   040 	   055 	   040
	000643	   104 	   105 	   120
	000646	   117 	   123 	   111
	000651	   124 	   040 	   113
	000654	   114 	   040 	   115
	000657	   105 	   115 	   117
	000662	   122 	   131 	   040
	000665	   106 	   101 	   111
	000670	   114 	   105 	   104
	000673	   000
	005636	015416 				 .RAD50	/DMF/		; "DMF" IN .RAD50
	005640	000635'				 .WORD	DMFERM		; POINTER TO MESSAGE
   7287	005642					NSERR$	DOR,<DATE OUT OF RANGE>
	000674	   104 	   117 	   122 	DORERM:	 .ASCIZ	%DOR - DATE OUT OF RANGE%
	000677	   040 	   055 	   040
	000702	   104 	   101 	   124
	000705	   105 	   040 	   117
	000710	   125 	   124 	   040
	000713	   117 	   106 	   040
	000716	   122 	   101 	   116
	000721	   107 	   105 	   000
	005642	015552 				 .RAD50	/DOR/		; "DOR" IN .RAD50
	005644	000674'				 .WORD	DORERM		; POINTER TO MESSAGE
   7288	005646					NSERR$	DNF,<DIRECTORY FILE NOT FOUND>
	000724	   104 	   116 	   106 	DNFERM:	 .ASCIZ	%DNF - DIRECTORY FILE NOT FOUND%
	000727	   040 	   055 	   040
	000732	   104 	   111 	   122
	000735	   105 	   103 	   124
	000740	   117 	   122 	   131
	000743	   040 	   106 	   111
	000746	   114 	   105 	   040
	000751	   116 	   117 	   124
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-4
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	000754	   040 	   106 	   117
	000757	   125 	   116 	   104
	000762	   000
	005646	015466 				 .RAD50	/DNF/		; "DNF" IN .RAD50
	005650	000724'				 .WORD	DNFERM		; POINTER TO MESSAGE
   7289	005652					NSERR$	DNP,<DTE-20 IS NOT PRIVILEGED>
	000763	   104 	   116 	   120 	DNPERM:	 .ASCIZ	%DNP - DTE-20 IS NOT PRIVILEGED%
	000766	   040 	   055 	   040
	000771	   104 	   124 	   105
	000774	   055 	   062 	   060
	000777	   040 	   111 	   123
	001002	   040 	   116 	   117
	001005	   124 	   040 	   120
	001010	   122 	   111 	   126
	001013	   111 	   114 	   105
	001016	   107 	   105 	   104
	001021	   000
	005652	015500 				 .RAD50	/DNP/		; "DNP" IN .RAD50
	005654	000763'				 .WORD	DNPERM		; POINTER TO MESSAGE
   7290	005656					NSERR$	DSF,<DTE-20 STATUS FAILED>
	001022	   104 	   123 	   106 	DSFERM:	 .ASCIZ	%DSF - DTE-20 STATUS FAILED%
	001025	   040 	   055 	   040
	001030	   104 	   124 	   105
	001033	   055 	   062 	   060
	001036	   040 	   123 	   124
	001041	   101 	   124 	   125
	001044	   123 	   040 	   106
	001047	   101 	   111 	   114
	001052	   105 	   104 	   000
	005656	015776 				 .RAD50	/DSF/		; "DSF" IN .RAD50
	005660	001022'				 .WORD	DSFERM		; POINTER TO MESSAGE
   7291	005662					NSERR$	DTC,<DTE-20 CONFUSED - RUN AND HALT LOOP>
	001055	   104 	   124 	   103 	DTCERM:	 .ASCIZ	%DTC - DTE-20 CONFUSED - RUN AND HALT LOOP%
	001060	   040 	   055 	   040
	001063	   104 	   124 	   105
	001066	   055 	   062 	   060
	001071	   040 	   103 	   117
	001074	   116 	   106 	   125
	001077	   123 	   105 	   104
	001102	   040 	   055 	   040
	001105	   122 	   125 	   116
	001110	   040 	   101 	   116
	001113	   104 	   040 	   110
	001116	   101 	   114 	   124
	001121	   040 	   114 	   117
	001124	   117 	   120 	   000
	005662	016043 				 .RAD50	/DTC/		; "DTC" IN .RAD50
	005664	001055'				 .WORD	DTCERM		; POINTER TO MESSAGE
   7292						;
   7293	005666					NSERR$	ECT,<EBOX CLOCK TIMEOUT>
	001127	   105 	   103 	   124 	ECTERM:	 .ASCIZ	%ECT - EBOX CLOCK TIMEOUT%
	001132	   040 	   055 	   040
	001135	   105 	   102 	   117
	001140	   130 	   040 	   103
	001143	   114 	   117 	   103
	001146	   113 	   040 	   124
	001151	   111 	   115 	   105
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-5
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001154	   117 	   125 	   124
	001157	   000
	005666	017714 				 .RAD50	/ECT/		; "ECT" IN .RAD50
	005670	001127'				 .WORD	ECTERM		; POINTER TO MESSAGE
   7294	005672					NSERR$	EMF,<EXAMINE KL MEMORY FAILED>
	001160	   105 	   115 	   106 	EMFERM:	 .ASCIZ	%EMF - EXAMINE KL MEMORY FAILED%
	001163	   040 	   055 	   040
	001166	   105 	   130 	   101
	001171	   115 	   111 	   116
	001174	   105 	   040 	   113
	001177	   114 	   040 	   115
	001202	   105 	   115 	   117
	001205	   122 	   131 	   040
	001210	   106 	   101 	   111
	001213	   114 	   105 	   104
	001216	   000
	005672	020516 				 .RAD50	/EMF/		; "EMF" IN .RAD50
	005674	001160'				 .WORD	EMFERM		; POINTER TO MESSAGE
   7295	005676					NSERR$	EOC,<END OF COMMAND REQUIRED>
	001217	   105 	   117 	   103 	EOCERM:	 .ASCIZ	%EOC - END OF COMMAND REQUIRED%
	001222	   040 	   055 	   040
	001225	   105 	   116 	   104
	001230	   040 	   117 	   106
	001233	   040 	   103 	   117
	001236	   115 	   115 	   101
	001241	   116 	   104 	   040
	001244	   122 	   105 	   121
	001247	   125 	   111 	   122
	001252	   105 	   104 	   000
	005676	020633 				 .RAD50	/EOC/		; "EOC" IN .RAD50
	005700	001217'				 .WORD	EOCERM		; POINTER TO MESSAGE
   7296	005702					NSERR$	EPE,<EBUS PARITY ERROR>
	001255	   105 	   120 	   105 	EPEERM:	 .ASCIZ	%EPE - EBUS PARITY ERROR%
	001260	   040 	   055 	   040
	001263	   105 	   102 	   125
	001266	   123 	   040 	   120
	001271	   101 	   122 	   111
	001274	   124 	   131 	   040
	001277	   105 	   122 	   122
	001302	   117 	   122 	   000
	005702	020705 				 .RAD50	/EPE/		; "EPE" IN .RAD50
	005704	001255'				 .WORD	EPEERM		; POINTER TO MESSAGE
   7297	005706					NSERR$	ESD,<EBOX STOPPED - DEPOSIT>
	001305	   105 	   123 	   104 	ESDERM:	 .ASCIZ	%ESD - EBOX STOPPED - DEPOSIT%
	001310	   040 	   055 	   040
	001313	   105 	   102 	   117
	001316	   130 	   040 	   123
	001321	   124 	   117 	   120
	001324	   120 	   105 	   104
	001327	   040 	   055 	   040
	001332	   104 	   105 	   120
	001335	   117 	   123 	   111
	001340	   124 	   000
	005706	021074 				 .RAD50	/ESD/		; "ESD" IN .RAD50
	005710	001305'				 .WORD	ESDERM		; POINTER TO MESSAGE
   7298	005712					NSERR$	ESE,<EBOX STOPPED - EXAMINE>
	001342	   105 	   123 	   105 	ESEERM:	 .ASCIZ	%ESE - EBOX STOPPED - EXAMINE%
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-6
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001345	   040 	   055 	   040
	001350	   105 	   102 	   117
	001353	   130 	   040 	   123
	001356	   124 	   117 	   120
	001361	   120 	   105 	   104
	001364	   040 	   055 	   040
	001367	   105 	   130 	   101
	001372	   115 	   111 	   116
	001375	   105 	   000
	005712	021075 				 .RAD50	/ESE/		; "ESE" IN .RAD50
	005714	001342'				 .WORD	ESEERM		; POINTER TO MESSAGE
   7299						;
   7300	005716					NSERR$	FCF,<FILE CLOSE FAILURE>
	001377	   106 	   103 	   106 	FCFERM:	 .ASCIZ	%FCF - FILE CLOSE FAILURE%
	001402	   040 	   055 	   040
	001405	   106 	   111 	   114
	001410	   105 	   040 	   103
	001413	   114 	   117 	   123
	001416	   105 	   040 	   106
	001421	   101 	   111 	   114
	001424	   125 	   122 	   105
	001427	   000
	005716	022776 				 .RAD50	/FCF/		; "FCF" IN .RAD50
	005720	001377'				 .WORD	FCFERM		; POINTER TO MESSAGE
   7301	005722					NSERR$	FEF,<FILE EXTEND FAILURE>
	001430	   106 	   105 	   106 	FEFERM:	 .ASCIZ	%FEF - FILE EXTEND FAILURE%
	001433	   040 	   055 	   040
	001436	   106 	   111 	   114
	001441	   105 	   040 	   105
	001444	   130 	   124 	   105
	001447	   116 	   104 	   040
	001452	   106 	   101 	   111
	001455	   114 	   125 	   122
	001460	   105 	   000
	005722	023116 				 .RAD50	/FEF/		; "FEF" IN .RAD50
	005724	001430'				 .WORD	FEFERM		; POINTER TO MESSAGE
   7302	005726					NSERR$	FEN,<FILE ENTER FAILURE>
	001462	   106 	   105 	   116 	FENERM:	 .ASCIZ	%FEN - FILE ENTER FAILURE%
	001465	   040 	   055 	   040
	001470	   106 	   111 	   114
	001473	   105 	   040 	   105
	001476	   116 	   124 	   105
	001501	   122 	   040 	   106
	001504	   101 	   111 	   114
	001507	   125 	   122 	   105
	001512	   000
	005726	023126 				 .RAD50	/FEN/		; "FEN" IN .RAD50
	005730	001462'				 .WORD	FENERM		; POINTER TO MESSAGE
   7303	005732					NSERR$	FLF,<FILE LOOKUP FAILURE>
	001513	   106 	   114 	   106 	FLFERM:	 .ASCIZ	%FLF - FILE LOOKUP FAILURE%
	001516	   040 	   055 	   040
	001521	   106 	   111 	   114
	001524	   105 	   040 	   114
	001527	   117 	   117 	   113
	001532	   125 	   120 	   040
	001535	   106 	   101 	   111
	001540	   114 	   125 	   122
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-7
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001543	   105 	   000
	005732	023546 				 .RAD50	/FLF/		; "FLF" IN .RAD50
	005734	001513'				 .WORD	FLFERM		; POINTER TO MESSAGE
   7304	005736					NSERR$	FOF,<FILE OPEN FAILURE>
	001545	   106 	   117 	   106 	FOFERM:	 .ASCIZ	%FOF - FILE OPEN FAILURE%
	001550	   040 	   055 	   040
	001553	   106 	   111 	   114
	001556	   105 	   040 	   117
	001561	   120 	   105 	   116
	001564	   040 	   106 	   101
	001567	   111 	   114 	   125
	001572	   122 	   105 	   000
	005736	023736 				 .RAD50	/FOF/		; "FOF" IN .RAD50
	005740	001545'				 .WORD	FOFERM		; POINTER TO MESSAGE
   7305	005742					NSERR$	FRD,<FILE READ FAILURE>
	001575	   106 	   122 	   104 	FRDERM:	 .ASCIZ	%FRD - FILE READ FAILURE%
	001600	   040 	   055 	   040
	001603	   106 	   111 	   114
	001606	   105 	   040 	   122
	001611	   105 	   101 	   104
	001614	   040 	   106 	   101
	001617	   111 	   114 	   125
	001622	   122 	   105 	   000
	005742	024124 				 .RAD50	/FRD/		; "FRD" IN .RAD50
	005744	001575'				 .WORD	FRDERM		; POINTER TO MESSAGE
   7306	005746					NSERR$	FSW,<FM SWEEP ERROR>
	001625	   106 	   123 	   127 	FSWERM:	 .ASCIZ	%FSW - FM SWEEP ERROR%
	001630	   040 	   055 	   040
	001633	   106 	   115 	   040
	001636	   123 	   127 	   105
	001641	   105 	   120 	   040
	001644	   105 	   122 	   122
	001647	   117 	   122 	   000
	005746	024217 				 .RAD50	/FSW/		; "FSW" IN .RAD50
	005750	001625'				 .WORD	FSWERM		; POINTER TO MESSAGE
   7307	005752					NSERR$	FWT,<FILE WRITE FAILURE>
	001652	   106 	   127 	   124 	FWTERM:	 .ASCIZ	%FWT - FILE WRITE FAILURE%
	001655	   040 	   055 	   040
	001660	   106 	   111 	   114
	001663	   105 	   040 	   127
	001666	   122 	   111 	   124
	001671	   105 	   040 	   106
	001674	   101 	   111 	   114
	001677	   125 	   122 	   105
	001702	   000
	005752	024454 				 .RAD50	/FWT/		; "FWT" IN .RAD50
	005754	001652'				 .WORD	FWTERM		; POINTER TO MESSAGE
   7308						;
   7309	005756					NSERR$	IDF,<ILLEGAL DATE FORMAT>
	001703	   111 	   104 	   106 	IDFERM:	 .ASCIZ	%IDF - ILLEGAL DATE FORMAT%
	001706	   040 	   055 	   040
	001711	   111 	   114 	   114
	001714	   105 	   107 	   101
	001717	   114 	   040 	   104
	001722	   101 	   124 	   105
	001725	   040 	   106 	   117
	001730	   122 	   115 	   101
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-8
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	001733	   124 	   000
	005756	034346 				 .RAD50	/IDF/		; "IDF" IN .RAD50
	005760	001703'				 .WORD	IDFERM		; POINTER TO MESSAGE
   7310	005762					NSERR$	IFC,<ILLEGAL FUNCTION CODE>
	001735	   111 	   106 	   103 	IFCERM:	 .ASCIZ	%IFC - ILLEGAL FUNCTION CODE%
	001740	   040 	   055 	   040
	001743	   111 	   114 	   114
	001746	   105 	   107 	   101
	001751	   114 	   040 	   106
	001754	   125 	   116 	   103
	001757	   124 	   111 	   117
	001762	   116 	   040 	   103
	001765	   117 	   104 	   105
	001770	   000
	005762	034463 				 .RAD50	/IFC/		; "IFC" IN .RAD50
	005764	001735'				 .WORD	IFCERM		; POINTER TO MESSAGE
   7311	005766					NSERR$	ILI,<ILLEGAL INSTR>
	001771	   111 	   114 	   111 	ILIERM:	 .ASCIZ	%ILI - ILLEGAL INSTR%
	001774	   040 	   055 	   040
	001777	   111 	   114 	   114
	002002	   105 	   107 	   101
	002005	   114 	   040 	   111
	002010	   116 	   123 	   124
	002013	   122 	   000
	005766	035051 				 .RAD50	/ILI/		; "ILI" IN .RAD50
	005770	001771'				 .WORD	ILIERM		; POINTER TO MESSAGE
   7312	005772					NSERR$	IOC,<ILLEGAL KL OPCODE>
	002015	   111 	   117 	   103 	IOCERM:	 .ASCIZ	%IOC - ILLEGAL KL OPCODE%
	002020	   040 	   055 	   040
	002023	   111 	   114 	   114
	002026	   105 	   107 	   101
	002031	   114 	   040 	   113
	002034	   114 	   040 	   117
	002037	   120 	   103 	   117
	002042	   104 	   105 	   000
	005772	035233 				 .RAD50	/IOC/		; "IOC" IN .RAD50
	005774	002015'				 .WORD	IOCERM		; POINTER TO MESSAGE
   7313	005776					NSERR$	IRC,<ILLEGAL REPEAT COUNT>
	002045	   111 	   122 	   103 	IRCERM:	 .ASCIZ	%IRC - ILLEGAL REPEAT COUNT%
	002050	   040 	   055 	   040
	002053	   111 	   114 	   114
	002056	   105 	   107 	   101
	002061	   114 	   040 	   122
	002064	   105 	   120 	   105
	002067	   101 	   124 	   040
	002072	   103 	   117 	   125
	002075	   116 	   124 	   000
	005776	035423 				 .RAD50	/IRC/		; "IRC" IN .RAD50
	006000	002045'				 .WORD	IRCERM		; POINTER TO MESSAGE
   7314	006002					NSERR$	IRE,<ILLEGAL RECURSION>
	002100	   111 	   122 	   105 	IREERM:	 .ASCIZ	%IRE - ILLEGAL RECURSION%
	002103	   040 	   055 	   040
	002106	   111 	   114 	   114
	002111	   105 	   107 	   101
	002114	   114 	   040 	   122
	002117	   105 	   103 	   125
	002122	   122 	   123 	   111
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-9
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002125	   117 	   116 	   000
	006002	035425 				 .RAD50	/IRE/		; "IRE" IN .RAD50
	006004	002100'				 .WORD	IREERM		; POINTER TO MESSAGE
   7315	006006					NSERR$	ITF,<ILLEGAL TIME FORMAT>
	002130	   111 	   124 	   106 	ITFERM:	 .ASCIZ	%ITF - ILLEGAL TIME FORMAT%
	002133	   040 	   055 	   040
	002136	   111 	   114 	   114
	002141	   105 	   107 	   101
	002144	   114 	   040 	   124
	002147	   111 	   115 	   105
	002152	   040 	   106 	   117
	002155	   122 	   115 	   101
	002160	   124 	   000
	006006	035546 				 .RAD50	/ITF/		; "ITF" IN .RAD50
	006010	002130'				 .WORD	ITFERM		; POINTER TO MESSAGE
   7316	006012					NSERR$	ITN,<ILLEGAL TASK NAME>
	002162	   111 	   124 	   116 	ITNERM:	 .ASCIZ	%ITN - ILLEGAL TASK NAME%
	002165	   040 	   055 	   040
	002170	   111 	   114 	   114
	002173	   105 	   107 	   101
	002176	   114 	   040 	   124
	002201	   101 	   123 	   113
	002204	   040 	   116 	   101
	002207	   115 	   105 	   000
	006012	035556 				 .RAD50	/ITN/		; "ITN" IN .RAD50
	006014	002162'				 .WORD	ITNERM		; POINTER TO MESSAGE
   7317						;
   7318	006016					NSERR$	KCN,<KL CLOCK IS OFF>
	002212	   113 	   103 	   116 	KCNERM:	 .ASCIZ	%KCN - KL CLOCK IS OFF%
	002215	   040 	   055 	   040
	002220	   113 	   114 	   040
	002223	   103 	   114 	   117
	002226	   103 	   113 	   040
	002231	   111 	   123 	   040
	002234	   117 	   106 	   106
	002237	   000
	006016	042506 				 .RAD50	/KCN/		; "KCN" IN .RAD50
	006020	002212'				 .WORD	KCNERM		; POINTER TO MESSAGE
   7319	006022					NSERR$	KLA,<KL ADDR. ERROR>
	002240	   113 	   114 	   101 	KLAERM:	 .ASCIZ	%KLA - KL ADDR. ERROR%
	002243	   040 	   055 	   040
	002246	   113 	   114 	   040
	002251	   101 	   104 	   104
	002254	   122 	   056 	   040
	002257	   105 	   122 	   122
	002262	   117 	   122 	   000
	006022	043241 				 .RAD50	/KLA/		; "KLA" IN .RAD50
	006024	002240'				 .WORD	KLAERM		; POINTER TO MESSAGE
   7320	006026					NSERR$	KLR,<ILLEGAL WHILE KL IS RUNNING>
	002265	   113 	   114 	   122 	KLRERM:	 .ASCIZ	%KLR - ILLEGAL WHILE KL IS RUNNING%
	002270	   040 	   055 	   040
	002273	   111 	   114 	   114
	002276	   105 	   107 	   101
	002301	   114 	   040 	   127
	002304	   110 	   111 	   114
	002307	   105 	   040 	   113
	002312	   114 	   040 	   111
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-10
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002315	   123 	   040 	   122
	002320	   125 	   116 	   116
	002323	   111 	   116 	   107
	002326	   000
	006026	043262 				 .RAD50	/KLR/		; "KLR" IN .RAD50
	006030	002265'				 .WORD	KLRERM		; POINTER TO MESSAGE
   7321	006032					NSERR$	KNC,<KL IS NOT CONTINUABLE>
	002327	   113 	   116 	   103 	KNCERM:	 .ASCIZ	%KNC - KL IS NOT CONTINUABLE%
	002332	   040 	   055 	   040
	002335	   113 	   114 	   040
	002340	   111 	   123 	   040
	002343	   116 	   117 	   124
	002346	   040 	   103 	   117
	002351	   116 	   124 	   111
	002354	   116 	   125 	   101
	002357	   102 	   114 	   105
	002362	   000
	006032	043363 				 .RAD50	/KNC/		; "KNC" IN .RAD50
	006034	002327'				 .WORD	KNCERM		; POINTER TO MESSAGE
   7322	006036					NSERR$	KWE,<KLINIK WINDOW ERROR>
	002363	   113 	   127 	   105 	KWEERM:	 .ASCIZ	%KWE - KLINIK WINDOW ERROR%
	002366	   040 	   055 	   040
	002371	   113 	   114 	   111
	002374	   116 	   111 	   113
	002377	   040 	   127 	   111
	002402	   116 	   104 	   117
	002405	   127 	   040 	   105
	002410	   122 	   122 	   117
	002413	   122 	   000
	006036	044135 				 .RAD50	/KWE/		; "KWE" IN .RAD50
	006040	002363'				 .WORD	KWEERM		; POINTER TO MESSAGE
   7323						;
   7324	006042					NSERR$	MRA,<MISSING REQUIRED ARGUMENT>
	002415	   115 	   122 	   101 	MRAERM:	 .ASCIZ	%MRA - MISSING REQUIRED ARGUMENT%
	002420	   040 	   055 	   040
	002423	   115 	   111 	   123
	002426	   123 	   111 	   116
	002431	   107 	   040 	   122
	002434	   105 	   121 	   125
	002437	   111 	   122 	   105
	002442	   104 	   040 	   101
	002445	   122 	   107 	   125
	002450	   115 	   105 	   116
	002453	   124 	   000
	006042	052021 				 .RAD50	/MRA/		; "MRA" IN .RAD50
	006044	002415'				 .WORD	MRAERM		; POINTER TO MESSAGE
   7325	006046					NSERR$	MRH,<HARDWARE OPTIONS MUST BE READ>
	002455	   115 	   122 	   110 	MRHERM:	 .ASCIZ	%MRH - HARDWARE OPTIONS MUST BE READ%
	002460	   040 	   055 	   040
	002463	   110 	   101 	   122
	002466	   104 	   127 	   101
	002471	   122 	   105 	   040
	002474	   117 	   120 	   124
	002477	   111 	   117 	   116
	002502	   123 	   040 	   115
	002505	   125 	   123 	   124
	002510	   040 	   102 	   105
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-11
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	002513	   040 	   122 	   105
	002516	   101 	   104 	   000
	006046	052030 				 .RAD50	/MRH/		; "MRH" IN .RAD50
	006050	002455'				 .WORD	MRHERM		; POINTER TO MESSAGE
   7326						;
   7327	006052					NSERR$	NDI,<NULL DATE ILLEGAL>
	002521	   116 	   104 	   111 	NDIERM:	 .ASCIZ	%NDI - NULL DATE ILLEGAL%
	002524	   040 	   055 	   040
	002527	   116 	   125 	   114
	002532	   114 	   040 	   104
	002535	   101 	   124 	   105
	002540	   040 	   111 	   114
	002543	   114 	   105 	   107
	002546	   101 	   114 	   000
	006052	054051 				 .RAD50	/NDI/		; "NDI" IN .RAD50
	006054	002521'				 .WORD	NDIERM		; POINTER TO MESSAGE
   7328	006056					NSERR$	NER,<NUMERIC EXPRESSION REQUIRED>
	002551	   116 	   105 	   122 	NERERM:	 .ASCIZ	%NER - NUMERIC EXPRESSION REQUIRED%
	002554	   040 	   055 	   040
	002557	   116 	   125 	   115
	002562	   105 	   122 	   111
	002565	   103 	   040 	   105
	002570	   130 	   120 	   122
	002573	   105 	   123 	   123
	002576	   111 	   117 	   116
	002601	   040 	   122 	   105
	002604	   121 	   125 	   111
	002607	   122 	   105 	   104
	002612	   000
	006056	054132 				 .RAD50	/NER/		; "NER" IN .RAD50
	006060	002551'				 .WORD	NERERM		; POINTER TO MESSAGE
   7329	006062					NSERR$	NOR,<INPUT NUMBER OUT OF RANGE>
	002613	   116 	   117 	   122 	NORERM:	 .ASCIZ	%NOR - INPUT NUMBER OUT OF RANGE%
	002616	   040 	   055 	   040
	002621	   111 	   116 	   120
	002624	   125 	   124 	   040
	002627	   116 	   125 	   115
	002632	   102 	   105 	   122
	002635	   040 	   117 	   125
	002640	   124 	   040 	   117
	002643	   106 	   040 	   122
	002646	   101 	   116 	   107
	002651	   105 	   000
	006062	054752 				 .RAD50	/NOR/		; "NOR" IN .RAD50
	006064	002613'				 .WORD	NORERM		; POINTER TO MESSAGE
   7330	006066					NSERR$	NPI,<NULL PASSWORD ILLEGAL>
	002653	   116 	   120 	   111 	NPIERM:	 .ASCIZ	%NPI - NULL PASSWORD ILLEGAL%
	002656	   040 	   055 	   040
	002661	   116 	   125 	   114
	002664	   114 	   040 	   120
	002667	   101 	   123 	   123
	002672	   127 	   117 	   122
	002675	   104 	   040 	   111
	002700	   114 	   114 	   105
	002703	   107 	   101 	   114
	002706	   000
	006066	055011 				 .RAD50	/NPI/		; "NPI" IN .RAD50
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	006070	002653'				 .WORD	NPIERM		; POINTER TO MESSAGE
   7331	006072					NSERR$	NSF,<NO SUCH FILE>
	002707	   116 	   123 	   106 	NSFERM:	 .ASCIZ	%NSF - NO SUCH FILE%
	002712	   040 	   055 	   040
	002715	   116 	   117 	   040
	002720	   123 	   125 	   103
	002723	   110 	   040 	   106
	002726	   111 	   114 	   105
	002731	   000
	006072	055176 				 .RAD50	/NSF/		; "NSF" IN .RAD50
	006074	002707'				 .WORD	NSFERM		; POINTER TO MESSAGE
   7332	006076					NSERR$	NST,<NO SUCH TASK>
	002732	   116 	   123 	   124 	NSTERM:	 .ASCIZ	%NST - NO SUCH TASK%
	002735	   040 	   055 	   040
	002740	   116 	   117 	   040
	002743	   123 	   125 	   103
	002746	   110 	   040 	   124
	002751	   101 	   123 	   113
	002754	   000
	006076	055214 				 .RAD50	/NST/		; "NST" IN .RAD50
	006100	002732'				 .WORD	NSTERM		; POINTER TO MESSAGE
   7333	006102					NSERR$	NTI,<NULL TIME ILLEGAL>
	002755	   116 	   124 	   111 	NTIERM:	 .ASCIZ	%NTI - NULL TIME ILLEGAL%
	002760	   040 	   055 	   040
	002763	   116 	   125 	   114
	002766	   114 	   040 	   124
	002771	   111 	   115 	   105
	002774	   040 	   111 	   114
	002777	   114 	   105 	   107
	003002	   101 	   114 	   000
	006102	055251 				 .RAD50	/NTI/		; "NTI" IN .RAD50
	006104	002755'				 .WORD	NTIERM		; POINTER TO MESSAGE
   7334						;
   7335	006106					NSERR$	OAI,<ODD ADDR. ILLEGAL>
	003005	   117 	   101 	   111 	OAIERM:	 .ASCIZ	%OAI - ODD ADDR. ILLEGAL%
	003010	   040 	   055 	   040
	003013	   117 	   104 	   104
	003016	   040 	   101 	   104
	003021	   104 	   122 	   056
	003024	   040 	   111 	   114
	003027	   114 	   105 	   107
	003032	   101 	   114 	   000
	006106	056761 				 .RAD50	/OAI/		; "OAI" IN .RAD50
	006110	003005'				 .WORD	OAIERM		; POINTER TO MESSAGE
   7336	006112					NSERR$	OFC,<ODD FUNCTION CODE>
	003035	   117 	   106 	   103 	OFCERM:	 .ASCIZ	%OFC - ODD FUNCTION CODE%
	003040	   040 	   055 	   040
	003043	   117 	   104 	   104
	003046	   040 	   106 	   125
	003051	   116 	   103 	   124
	003054	   111 	   117 	   116
	003057	   040 	   103 	   117
	003062	   104 	   105 	   000
	006112	057263 				 .RAD50	/OFC/		; "OFC" IN .RAD50
	006114	003035'				 .WORD	OFCERM		; POINTER TO MESSAGE
   7337						;
   7338	006116					NSERR$	PTL,<PASSWORD TOO LONG>
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-13
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003065	   120 	   124 	   114 	PTLERM:	 .ASCIZ	%PTL - PASSWORD TOO LONG%
	003070	   040 	   055 	   040
	003073	   120 	   101 	   123
	003076	   123 	   127 	   117
	003101	   122 	   104 	   040
	003104	   124 	   117 	   117
	003107	   040 	   114 	   117
	003112	   116 	   107 	   000
	006116	063454 				 .RAD50	/PTL/		; "PTL" IN .RAD50
	006120	003065'				 .WORD	PTLERM		; POINTER TO MESSAGE
   7339						;
   7340	006122					NSERR$	RPM,<RIGHT PARENTHESES MISSING>
	003115	   122 	   120 	   115 	RPMERM:	 .ASCIZ	%RPM - RIGHT PARENTHESES MISSING%
	003120	   040 	   055 	   040
	003123	   122 	   111 	   107
	003126	   110 	   124 	   040
	003131	   120 	   101 	   122
	003134	   105 	   116 	   124
	003137	   110 	   105 	   123
	003142	   105 	   123 	   040
	003145	   115 	   111 	   123
	003150	   123 	   111 	   116
	003153	   107 	   000
	006122	071415 				 .RAD50	/RPM/		; "RPM" IN .RAD50
	006124	003115'				 .WORD	RPMERM		; POINTER TO MESSAGE
   7341						;
   7342	006126					NSERR$	SCF,<SET CLOCK FAILED>
	003155	   123 	   103 	   106 	SCFERM:	 .ASCIZ	%SCF - SET CLOCK FAILED%
	003160	   040 	   055 	   040
	003163	   123 	   105 	   124
	003166	   040 	   103 	   114
	003171	   117 	   103 	   113
	003174	   040 	   106 	   101
	003177	   111 	   114 	   105
	003202	   104 	   000
	006126	073476 				 .RAD50	/SCF/		; "SCF" IN .RAD50
	006130	003155'				 .WORD	SCFERM		; POINTER TO MESSAGE
   7343	006132					NSERR$	SKI,<SET KLINIK ILLEGAL WHILE KLINIK ACTIVE>
	003204	   123 	   113 	   111 	SKIERM:	 .ASCIZ	%SKI - SET KLINIK ILLEGAL WHILE KLINIK ACTIVE%
	003207	   040 	   055 	   040
	003212	   123 	   105 	   124
	003215	   040 	   113 	   114
	003220	   111 	   116 	   111
	003223	   113 	   040 	   111
	003226	   114 	   114 	   105
	003231	   107 	   101 	   114
	003234	   040 	   127 	   110
	003237	   111 	   114 	   105
	003242	   040 	   113 	   114
	003245	   111 	   116 	   111
	003250	   113 	   040 	   101
	003253	   103 	   124 	   111
	003256	   126 	   105 	   000
	006132	074201 				 .RAD50	/SKI/		; "SKI" IN .RAD50
	006134	003204'				 .WORD	SKIERM		; POINTER TO MESSAGE
   7344	006136					NSERR$	SPF,<SET PARITY FAILED>
	003261	   123 	   120 	   106 	SPFERM:	 .ASCIZ	%SPF - SET PARITY FAILED%
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-14
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003264	   040 	   055 	   040
	003267	   123 	   105 	   124
	003272	   040 	   120 	   101
	003275	   122 	   111 	   124
	003300	   131 	   040 	   106
	003303	   101 	   111 	   114
	003306	   105 	   104 	   000
	006136	074506 				 .RAD50	/SPF/		; "SPF" IN .RAD50
	006140	003261'				 .WORD	SPFERM		; POINTER TO MESSAGE
   7345	006142					NSERR$	SZI,<START AT ZERO ILLEGAL>
	003311	   123 	   132 	   111 	SZIERM:	 .ASCIZ	%SZI - START AT ZERO ILLEGAL%
	003314	   040 	   055 	   040
	003317	   123 	   124 	   101
	003322	   122 	   124 	   040
	003325	   101 	   124 	   040
	003330	   132 	   105 	   122
	003333	   117 	   040 	   111
	003336	   114 	   114 	   105
	003341	   107 	   101 	   114
	003344	   000
	006142	075331 				 .RAD50	/SZI/		; "SZI" IN .RAD50
	006144	003311'				 .WORD	SZIERM		; POINTER TO MESSAGE
   7346						;
   7347	006146					NSERR$	TAA,<TASK IS ALREADY ACTIVE>
	003345	   124 	   101 	   101 	TAAERM:	 .ASCIZ	%TAA - TASK IS ALREADY ACTIVE%
	003350	   040 	   055 	   040
	003353	   124 	   101 	   123
	003356	   113 	   040 	   111
	003361	   123 	   040 	   101
	003364	   114 	   122 	   105
	003367	   101 	   104 	   131
	003372	   040 	   101 	   103
	003375	   124 	   111 	   126
	003400	   105 	   000
	006146	076451 				 .RAD50	/TAA/		; "TAA" IN .RAD50
	006150	003345'				 .WORD	TAAERM		; POINTER TO MESSAGE
   7348	006152					NSERR$	TOR,<TIME OUT OF RANGE>
	003402	   124 	   117 	   122 	TORERM:	 .ASCIZ	%TOR - TIME OUT OF RANGE%
	003405	   040 	   055 	   040
	003410	   124 	   111 	   115
	003413	   105 	   040 	   117
	003416	   125 	   124 	   040
	003421	   117 	   106 	   040
	003424	   122 	   101 	   116
	003427	   107 	   105 	   000
	006152	077552 				 .RAD50	/TOR/		; "TOR" IN .RAD50
	006154	003402'				 .WORD	TORERM		; POINTER TO MESSAGE
   7349						;
   7350	006156					NSERR$	UNL,<KL MICROCODE NOT LOADED>
	003432	   125 	   116 	   114 	UNLERM:	 .ASCIZ	%UNL - KL MICROCODE NOT LOADED%
	003435	   040 	   055 	   040
	003440	   113 	   114 	   040
	003443	   115 	   111 	   103
	003446	   122 	   117 	   103
	003451	   117 	   104 	   105
	003454	   040 	   116 	   117
	003457	   124 	   040 	   114
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-15
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003462	   117 	   101 	   104
	003465	   105 	   104 	   000
	006156	102574 				 .RAD50	/UNL/		; "UNL" IN .RAD50
	006160	003432'				 .WORD	UNLERM		; POINTER TO MESSAGE
   7351						;
   7352	006162					NSERR$	VFY,<DEPOSIT VERIFY FAILED>
	003470	   126 	   106 	   131 	VFYERM:	 .ASCIZ	%VFY - DEPOSIT VERIFY FAILED%
	003473	   040 	   055 	   040
	003476	   104 	   105 	   120
	003501	   117 	   123 	   111
	003504	   124 	   040 	   126
	003507	   105 	   122 	   111
	003512	   106 	   131 	   040
	003515	   106 	   101 	   111
	003520	   114 	   105 	   104
	003523	   000
	006162	105211 				 .RAD50	/VFY/		; "VFY" IN .RAD50
	006164	003470'				 .WORD	VFYERM		; POINTER TO MESSAGE
   7353						;
   7354	006166					NSERR$	WRM,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
	003524	   127 	   122 	   115 	WRMERM:	 .ASCIZ	%WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
	003527	   040 	   055 	   040
	003532	   103 	   117 	   115
	003535	   115 	   101 	   116
	003540	   104 	   040 	   116
	003543	   117 	   124 	   040
	003546	   101 	   126 	   101
	003551	   111 	   114 	   101
	003554	   102 	   114 	   105
	003557	   040 	   111 	   116
	003562	   040 	   124 	   110
	003565	   111 	   123 	   040
	003570	   103 	   117 	   116
	003573	   123 	   117 	   114
	003576	   105 	   040 	   115
	003601	   117 	   104 	   105
	003604	   000
	006166	111235 				 .RAD50	/WRM/		; "WRM" IN .RAD50
	006170	003524'				 .WORD	WRMERM		; POINTER TO MESSAGE
   7355						;
   7356	006172					NSERR$	YOR,<YEAR OUT OF RANGE>
	003605	   131 	   117 	   122 	YORERM:	 .ASCIZ	%YOR - YEAR OUT OF RANGE%
	003610	   040 	   055 	   040
	003613	   131 	   105 	   101
	003616	   122 	   040 	   117
	003621	   125 	   124 	   040
	003624	   117 	   106 	   040
	003627	   122 	   101 	   116
	003632	   107 	   105 	   000
	006172	117252 				 .RAD50	/YOR/		; "YOR" IN .RAD50
	006174	003605'				 .WORD	YORERM		; POINTER TO MESSAGE
   7357						;
   7358	006176					NSERR$	XTO,<KL EXECUTE TIMED OUT>
	003635	   130 	   124 	   117 	XTOERM:	 .ASCIZ	%XTO - KL EXECUTE TIMED OUT%
	003640	   040 	   055 	   040
	003643	   113 	   114 	   040
	003646	   105 	   130 	   105
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 181-16
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	003651	   103 	   125 	   124
	003654	   105 	   040 	   124
	003657	   111 	   115 	   105
	003662	   104 	   040 	   117
	003665	   125 	   124 	   000
	006176	114457 				 .RAD50	/XTO/		; "XTO" IN .RAD50
	006200	003635'				 .WORD	XTOERM		; POINTER TO MESSAGE
   7359						;
   7360	006202	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 182
.RSTTB -- THE RESTORE COMMAND TABLE 8306.09

   7362					.SBTTL	.RSTTB -- THE RESTORE COMMAND TABLE 8306.09
   7363
   7364	006204				.RSTTB::
   7365	006204					COMND$	AC-BLOCK,LG.MNT,.RSACB,ACB
	001372	   101 	   103 	   055 	ACBMSG:: .ASCIZ	%AC-BLOCK%
	001375	   102 	   114 	   117
	001400	   103 	   113 	   000
	006204	001372'				 .WORD	ACBMSG		; POINTER TO "AC-BLOCK" SYMBOL
	006206	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006210	000000G				 .WORD	.RSACB		; ROUTINE TO CALL OR DATA
   7366					;
   7367	006212	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 183
.SAVTB -- THE SAVE COMMAND TABLE 8306.09

   7369					.SBTTL	.SAVTB -- THE SAVE COMMAND TABLE 8306.09
   7370
   7371	006214				.SAVTB::
   7372	006214					COMND$	PC-FLAGS,LG.MNT,.SVPC,SPC
	001403	   120 	   103 	   055 	SPCMSG:: .ASCIZ	%PC-FLAGS%
	001406	   106 	   114 	   101
	001411	   107 	   123 	   000
	006214	001403'				 .WORD	SPCMSG		; POINTER TO "PC-FLAGS" SYMBOL
	006216	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006220	000000G				 .WORD	.SVPC		; ROUTINE TO CALL OR DATA
   7373					;
   7374	006222					COMND$	AC-BLOCK,LG.MNT,.SVACB,ACB
	006222	001372'				 .WORD	ACBMSG		; POINTER TO "AC-BLOCK" SYMBOL
	006224	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006226	000000G				 .WORD	.SVACB		; ROUTINE TO CALL OR DATA
   7375					;
   7376	006230	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 184
.RESTB -- THE RESET COMMAND TABLE 7602.18

   7378					.SBTTL	.RESTB -- THE RESET COMMAND TABLE 7602.18
   7379
   7380	006232				.RESTB::
   7381	006232					COMND$	ALL,<LG.PRG!LG.RPT>,.RSALL,ALL
	001414	   101 	   114 	   114 	ALLMSG:: .ASCIZ	%ALL%
	001417	   000
	006232	001414'				 .WORD	ALLMSG		; POINTER TO "ALL" SYMBOL
	006234	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006236	000000G				 .WORD	.RSALL		; ROUTINE TO CALL OR DATA
   7382					;
   7383	006240					COMND$	APR,<LG.PRG!LG.RPT>,.RSAPR,CPU
	001420	   101 	   120 	   122 	CPUMSG:: .ASCIZ	%APR%
	001423	   000
	006240	001420'				 .WORD	CPUMSG		; POINTER TO "APR" SYMBOL
	006242	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006244	000000G				 .WORD	.RSAPR		; ROUTINE TO CALL OR DATA
   7384					;
   7385	006246					COMND$	DTE-20,<LG.PRG!LG.RPT>,.RSDTE,DTE
	006246	001100'				 .WORD	DTEMSG		; POINTER TO "DTE-20" SYMBOL
	006250	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006252	000000G				 .WORD	.RSDTE		; ROUTINE TO CALL OR DATA
   7386					;
   7387	006254					COMND$	ERROR,<LG.RPT!LG.PRG>,.RSERR,ERR
	001424	   105 	   122 	   122 	ERRMSG:: .ASCIZ	%ERROR%
	001427	   117 	   122 	   000
	006254	001424'				 .WORD	ERRMSG		; POINTER TO "ERROR" SYMBOL
	006256	000402 				 .WORD	LG.RPT!LG.PRG		; LEGAL BITS
	006260	000000G				 .WORD	.RSERR		; ROUTINE TO CALL OR DATA
   7388					;
   7389	006262					COMND$	INITIALIZE,<LG.PRG!LG.RPT>,.RSTIN,INI
	006262	000474'				 .WORD	INIMSG		; POINTER TO "INITIALIZE" SYMBOL
	006264	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006266	000000G				 .WORD	.RSTIN		; ROUTINE TO CALL OR DATA
   7390					;
   7391	006270					COMND$	IO,<LG.PRG!LG.RPT>,.RSTIO,IO
	001432	   111 	   117 	   000 	IOMSG:: .ASCIZ	%IO%
	006270	001432'				 .WORD	IOMSG		; POINTER TO "IO" SYMBOL
	006272	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006274	000000G				 .WORD	.RSTIO		; ROUTINE TO CALL OR DATA
   7392					;
   7393	006276					COMND$	PAG,<LG.PRG!LG.RPT>,.RSPAG,PAG
	001435	   120 	   101 	   107 	PAGMSG:: .ASCIZ	%PAG%
	001440	   000
	006276	001435'				 .WORD	PAGMSG		; POINTER TO "PAG" SYMBOL
	006300	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006302	000000G				 .WORD	.RSPAG		; ROUTINE TO CALL OR DATA
   7394					;
   7395	006304					COMND$	PI,<LG.PRG!LG.RPT>,.RSTPI,PI
	006304	001127'				 .WORD	PIMSG		; POINTER TO "PI" SYMBOL
	006306	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	006310	000000G				 .WORD	.RSTPI		; ROUTINE TO CALL OR DATA
   7396					;
   7397	006312	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 185
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

   7399					.SBTTL	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
   7400
   7401	006314				.SCCTB::
   7402	006314					COMND$	NORMAL,<LG.MNT!LG.RPT>,.SCCLN,NRM
	001441	   116 	   117 	   122 	NRMMSG:: .ASCIZ	%NORMAL%
	001444	   115 	   101 	   114
	001447	   000
	006314	001441'				 .WORD	NRMMSG		; POINTER TO "NORMAL" SYMBOL
	006316	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006320	000000G				 .WORD	.SCCLN		; ROUTINE TO CALL OR DATA
   7403					;
   7404	006322					COMND$	CRAM,<LG.MNT!LG.RPT>,.SCCEC,CRM
	001450	   103 	   122 	   101 	CRMMSG:: .ASCIZ	%CRAM%
	001453	   115 	   000
	006322	001450'				 .WORD	CRMMSG		; POINTER TO "CRAM" SYMBOL
	006324	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006326	000000G				 .WORD	.SCCEC		; ROUTINE TO CALL OR DATA
   7405					;
   7406	006330					COMND$	DATA-PATH,<LG.MNT!LG.RPT>,.SCCED,DPT
	001455	   104 	   101 	   124 	DPTMSG:: .ASCIZ	%DATA-PATH%
	001460	   101 	   055 	   120
	001463	   101 	   124 	   110
	001466	   000
	006330	001455'				 .WORD	DPTMSG		; POINTER TO "DATA-PATH" SYMBOL
	006332	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006334	000000G				 .WORD	.SCCED		; ROUTINE TO CALL OR DATA
   7407					;
   7408	006336					COMND$	CONTROL,<LG.MNT!LG.RPT>,.SCCEE,CTL
	001467	   103 	   117 	   116 	CTLMSG:: .ASCIZ	%CONTROL%
	001472	   124 	   122 	   117
	001475	   114 	   000
	006336	001467'				 .WORD	CTLMSG		; POINTER TO "CONTROL" SYMBOL
	006340	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006342	000000G				 .WORD	.SCCEE		; ROUTINE TO CALL OR DATA
   7409					;
   7410	006344					COMND$	EXTERNAL,<LG.MNT!LG.RPT>,.SCCSE,EXT
	001477	   105 	   130 	   124 	EXTMSG:: .ASCIZ	%EXTERNAL%
	001502	   105 	   122 	   116
	001505	   101 	   114 	   000
	006344	001477'				 .WORD	EXTMSG		; POINTER TO "EXTERNAL" SYMBOL
	006346	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006350	000000G				 .WORD	.SCCSE		; ROUTINE TO CALL OR DATA
   7411					;
   7412	006352					COMND$	INTERNAL,<LG.MNT!LG.RPT>,.SCCSI,INT
	001510	   111 	   116 	   124 	INTMSG:: .ASCIZ	%INTERNAL%
	001513	   105 	   122 	   116
	001516	   101 	   114 	   000
	006352	001510'				 .WORD	INTMSG		; POINTER TO "INTERNAL" SYMBOL
	006354	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006356	000000G				 .WORD	.SCCSI		; ROUTINE TO CALL OR DATA
   7413					;
   7414	006360					COMND$	MARGIN,<LG.MNT!LG.RPT>,.SCCSM,MGN
	001521	   115 	   101 	   122 	MGNMSG:: .ASCIZ	%MARGIN%
	001524	   107 	   111 	   116
	001527	   000
	006360	001521'				 .WORD	MGNMSG		; POINTER TO "MARGIN" SYMBOL
	006362	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 185-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

	006364	000000G				 .WORD	.SCCSM		; ROUTINE TO CALL OR DATA
   7415					;
   7416	006366					COMND$	FULL,<LG.MNT!LG.RPT>,.SCCRF,FUL
	001530	   106 	   125 	   114 	FULMSG:: .ASCIZ	%FULL%
	001533	   114 	   000
	006366	001530'				 .WORD	FULMSG		; POINTER TO "FULL" SYMBOL
	006370	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006372	000000G				 .WORD	.SCCRF		; ROUTINE TO CALL OR DATA
   7417					;
   7418	006374					COMND$	HALF,<LG.MNT!LG.RPT>,.SCCRH,HLF
	001535	   110 	   101 	   114 	HLFMSG:: .ASCIZ	%HALF%
	001540	   106 	   000
	006374	001535'				 .WORD	HLFMSG		; POINTER TO "HALF" SYMBOL
	006376	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006400	000000G				 .WORD	.SCCRH		; ROUTINE TO CALL OR DATA
   7419					;
   7420	006402					COMND$	QUARTER,<LG.MNT!LG.RPT>,.SCCRQ,QTR
	001542	   121 	   125 	   101 	QTRMSG:: .ASCIZ	%QUARTER%
	001545	   122 	   124 	   105
	001550	   122 	   000
	006402	001542'				 .WORD	QTRMSG		; POINTER TO "QUARTER" SYMBOL
	006404	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006406	000000G				 .WORD	.SCCRQ		; ROUTINE TO CALL OR DATA
   7421					;
   7422	006410					COMND$	SLOW,<LG.MNT!LG.RPT>,.SCCRS,SLO
	001552	   123 	   114 	   117 	SLOMSG:: .ASCIZ	%SLOW%
	001555	   127 	   000
	006410	001552'				 .WORD	SLOMSG		; POINTER TO "SLOW" SYMBOL
	006412	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006414	000000G				 .WORD	.SCCRS		; ROUTINE TO CALL OR DATA
   7423					;
   7424	006416	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 186
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18

   7426					.SBTTL	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
   7427
   7428	006420				.SCMTB::
   7429	006420					COMND$	ELEVEN,LG.OPR,.SCMEL,ELE
	006420	000776'				 .WORD	ELEMSG		; POINTER TO "ELEVEN" SYMBOL
	006422	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006424	000000G				 .WORD	.SCMEL		; ROUTINE TO CALL OR DATA
   7430					;
   7431	006426					COMND$	TEN,LG.OPR,.SCMKL,TEN
	006426	001005'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	006430	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006432	000000G				 .WORD	.SCMKL		; ROUTINE TO CALL OR DATA
   7432					;
   7433	006434	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 187
.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12

   7435					.SBTTL	.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
   7436
   7437	006436				.SCCOT::
   7438	006436					COMND$	MAINTENANCE,LG.OPR,.SCCOM,MNT
	006436	001170'				 .WORD	MNTMSG		; POINTER TO "MAINTENANCE" SYMBOL
	006440	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006442	000000G				 .WORD	.SCCOM		; ROUTINE TO CALL OR DATA
   7439					;
   7440	006444					COMND$	OPERATOR,LG.OPR,.SCCOO,OPR
	006444	001204'				 .WORD	OPRMSG		; POINTER TO "OPERATOR" SYMBOL
	006446	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006450	000000G				 .WORD	.SCCOO		; ROUTINE TO CALL OR DATA
   7441					;
   7442	006452					COMND$	PROGRAMMER,LG.OPR,.SCCOP,PRG
	006452	001215'				 .WORD	PRGMSG		; POINTER TO "PROGRAMMER" SYMBOL
	006454	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006456	000000G				 .WORD	.SCCOP		; ROUTINE TO CALL OR DATA
   7443					;
   7444	006460					COMND$	USER,LG.OPR,.SCCOU,USR
	006460	001237'				 .WORD	USRMSG		; POINTER TO "USER" SYMBOL
	006462	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006464	000000G				 .WORD	.SCCOU		; ROUTINE TO CALL OR DATA
   7445					;
   7446	006466	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 188
.SCOTT -- THE "SET OUTPUT" COMMAND TABLE

   7448					.SBTTL	.SCOTT -- THE "SET OUTPUT" COMMAND TABLE
   7449
   7450	006470				.SCOTT::
   7451	006470					COMND$	LOG,LG.OPR,.SCOTL,LOG
	001557	   114 	   117 	   107 	LOGMSG:: .ASCIZ	%LOG%
	001562	   000
	006470	001557'				 .WORD	LOGMSG		; POINTER TO "LOG" SYMBOL
	006472	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006474	000000G				 .WORD	.SCOTL		; ROUTINE TO CALL OR DATA
   7452					;
   7453	006476					COMND$	LPT,LG.OPR,.SCOTP,LPT
	001563	   114 	   120 	   124 	LPTMSG:: .ASCIZ	%LPT%
	001566	   000
	006476	001563'				 .WORD	LPTMSG		; POINTER TO "LPT" SYMBOL
	006500	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006502	000000G				 .WORD	.SCOTP		; ROUTINE TO CALL OR DATA
   7454					;
   7455	006504					COMND$	TTY,LG.OPR,.SCOTY,TTY
	001567	   124 	   124 	   131 	TTYMSG:: .ASCIZ	%TTY%
	001572	   000
	006504	001567'				 .WORD	TTYMSG		; POINTER TO "TTY" SYMBOL
	006506	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006510	000000G				 .WORD	.SCOTY		; ROUTINE TO CALL OR DATA
   7456					;
   7457	006512	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 189
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10

   7459					.SBTTL	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
   7460
   7461	006514				.SCPTB::
   7462	006514					COMND$	ALL,LG.MNT,.SCPAL,ALL
	006514	001414'				 .WORD	ALLMSG		; POINTER TO "ALL" SYMBOL
	006516	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006520	000000G				 .WORD	.SCPAL		; ROUTINE TO CALL OR DATA
   7463					;
   7464	006522					COMND$	AR,LG.MNT,.SCPAR,AR
	006522	000773'				 .WORD	ARMSG		; POINTER TO "AR" SYMBOL
	006524	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006526	000000G				 .WORD	.SCPAR		; ROUTINE TO CALL OR DATA
   7465					;
   7466	006530					COMND$	CRAM,LG.MNT,.SCPCR,CRM
	006530	001450'				 .WORD	CRMMSG		; POINTER TO "CRAM" SYMBOL
	006532	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006534	000000G				 .WORD	.SCPCR		; ROUTINE TO CALL OR DATA
   7467					;
   7468	006536					COMND$	DRAM,LG.MNT,.SCPDR,DRM
	001573	   104 	   122 	   101 	DRMMSG:: .ASCIZ	%DRAM%
	001576	   115 	   000
	006536	001573'				 .WORD	DRMMSG		; POINTER TO "DRAM" SYMBOL
	006540	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006542	000000G				 .WORD	.SCPDR		; ROUTINE TO CALL OR DATA
   7469					;
   7470	006544					COMND$	ENABLE,LG.MNT,.SCPEN,ENB
	001600	   105 	   116 	   101 	ENBMSG:: .ASCIZ	%ENABLE%
	001603	   102 	   114 	   105
	001606	   000
	006544	001600'				 .WORD	ENBMSG		; POINTER TO "ENABLE" SYMBOL
	006546	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006550	000000G				 .WORD	.SCPEN		; ROUTINE TO CALL OR DATA
   7471					;
   7472	006552					COMND$	FM,LG.MNT,.SCPFM,FM
	006552	001040'				 .WORD	FMMSG		; POINTER TO "FM" SYMBOL
	006554	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006556	000000G				 .WORD	.SCPFM		; ROUTINE TO CALL OR DATA
   7473					;
   7474	006560					COMND$	FS-STOP,LG.MNT,.SCPFS,FSS
	001607	   106 	   123 	   055 	FSSMSG:: .ASCIZ	%FS-STOP%
	001612	   123 	   124 	   117
	001615	   120 	   000
	006560	001607'				 .WORD	FSSMSG		; POINTER TO "FS-STOP" SYMBOL
	006562	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006564	000000G				 .WORD	.SCPFS		; ROUTINE TO CALL OR DATA
   7475					;
   7476	006566	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 190
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

   7478					.SBTTL	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
   7479
   7480	006570				.SETTB::
   7481	006570					COMND$	AC-BLOCK,<LG.MNT>,.SCACB,ACB
	006570	001372'				 .WORD	ACBMSG		; POINTER TO "AC-BLOCK" SYMBOL
	006572	000004 				 .WORD	LG.MNT		; LEGAL BITS
	006574	000000G				 .WORD	.SCACB		; ROUTINE TO CALL OR DATA
   7482					;
   7483	006576					COMND$	CLOCK,<LG.MNT!LG.RPT>,.SCCLK,CLK
	001617	   103 	   114 	   117 	CLKMSG:: .ASCIZ	%CLOCK%
	001622	   103 	   113 	   000
	006576	001617'				 .WORD	CLKMSG		; POINTER TO "CLOCK" SYMBOL
	006600	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006602	000000G				 .WORD	.SCCLK		; ROUTINE TO CALL OR DATA
   7484					;
   7485	006604					COMND$	CONSOLE,LG.OPR,.SCCON,CON
	001625	   103 	   117 	   116 	CONMSG:: .ASCIZ	%CONSOLE%
	001630	   123 	   117 	   114
	001633	   105 	   000
	006604	001625'				 .WORD	CONMSG		; POINTER TO "CONSOLE" SYMBOL
	006606	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006610	000000G				 .WORD	.SCCON		; ROUTINE TO CALL OR DATA
   7486					;
   7487	006612					COMND$	DATE,LG.PRG,.SCDAT,DAT
	001635	   104 	   101 	   124 	DATMSG:: .ASCIZ	%DATE%
	001640	   105 	   000
	006612	001635'				 .WORD	DATMSG		; POINTER TO "DATE" SYMBOL
	006614	000002 				 .WORD	LG.PRG		; LEGAL BITS
	006616	000000G				 .WORD	.SCDAT		; ROUTINE TO CALL OR DATA
   7488					;
   7489	006620					COMND$	FAULT-CONTINUE,LG.PRG,.SFREC,FLT
	001642	   106 	   101 	   125 	FLTMSG:: .ASCIZ	%FAULT-CONTINUE%
	001645	   114 	   124 	   055
	001650	   103 	   117 	   116
	001653	   124 	   111 	   116
	001656	   125 	   105 	   000
	006620	001642'				 .WORD	FLTMSG		; POINTER TO "FAULT-CONTINUE" SYMBOL
	006622	000002 				 .WORD	LG.PRG		; LEGAL BITS
	006624	000000G				 .WORD	.SFREC		; ROUTINE TO CALL OR DATA
   7490					;
   7491	006626					COMND$	FS-STOP,<LG.MNT!LG.RPT>,.SCFSS,FSS
	006626	001607'				 .WORD	FSSMSG		; POINTER TO "FS-STOP" SYMBOL
	006630	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006632	000000G				 .WORD	.SCFSS		; ROUTINE TO CALL OR DATA
   7492					;
   7493	006634					COMND$	INCREMENT,LG.OPR,.SCINC,INC
	006634	000736'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	006636	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006640	000000G				 .WORD	.SCINC		; ROUTINE TO CALL OR DATA
   7494					;
   7495	006642					COMND$	KLINIK,LG.ALL,.SCKLN,KLI
	001661	   113 	   114 	   111 	KLIMSG:: .ASCIZ	%KLINIK%
	001664	   116 	   111 	   113
	001667	   000
	006642	001661'				 .WORD	KLIMSG		; POINTER TO "KLINIK" SYMBOL
	006644	000007 				 .WORD	LG.ALL		; LEGAL BITS
	006646	000000G				 .WORD	.SCKLN		; ROUTINE TO CALL OR DATA
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 190-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

   7496					;
   7497	006650					COMND$	MEMORY,LG.OPR,.SCMEM,MEM
	001670	   115 	   105 	   115 	MEMMSG:: .ASCIZ	%MEMORY%
	001673	   117 	   122 	   131
	001676	   000
	006650	001670'				 .WORD	MEMMSG		; POINTER TO "MEMORY" SYMBOL
	006652	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006654	000000G				 .WORD	.SCMEM		; ROUTINE TO CALL OR DATA
   7498					;
   7499	006656					COMND$	NOT,<LG.OPR!LG.RPT>,.SCNOT,NOT
	001677	   116 	   117 	   124 	NOTMSG:: .ASCIZ	%NOT%
	001702	   000
	006656	001677'				 .WORD	NOTMSG		; POINTER TO "NOT" SYMBOL
	006660	000401 				 .WORD	LG.OPR!LG.RPT		; LEGAL BITS
	006662	000000G				 .WORD	.SCNOT		; ROUTINE TO CALL OR DATA
   7500					;
   7501	006664					COMND$	OFFSET,LG.PRG,.SCOFS,OFS
	001703	   117 	   106 	   106 	OFSMSG:: .ASCIZ	%OFFSET%
	001706	   123 	   105 	   124
	001711	   000
	006664	001703'				 .WORD	OFSMSG		; POINTER TO "OFFSET" SYMBOL
	006666	000002 				 .WORD	LG.PRG		; LEGAL BITS
	006670	000000G				 .WORD	.SCOFS		; ROUTINE TO CALL OR DATA
   7502					;
   7503	006672					COMND$	OUTPUT,LG.OPR,.SCOUT,OUT
	001712	   117 	   125 	   124 	OUTMSG:: .ASCIZ	%OUTPUT%
	001715	   120 	   125 	   124
	001720	   000
	006672	001712'				 .WORD	OUTMSG		; POINTER TO "OUTPUT" SYMBOL
	006674	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006676	000000G				 .WORD	.SCOUT		; ROUTINE TO CALL OR DATA
   7504					;
   7505	006700					COMND$	PARITY-STOP,<LG.MNT!LG.RPT>,.SCPST,PST
	001721	   120 	   101 	   122 	PSTMSG:: .ASCIZ	%PARITY-STOP%
	001724	   111 	   124 	   131
	001727	   055 	   123 	   124
	001732	   117 	   120 	   000
	006700	001721'				 .WORD	PSTMSG		; POINTER TO "PARITY-STOP" SYMBOL
	006702	000404 				 .WORD	LG.MNT!LG.RPT		; LEGAL BITS
	006704	000000G				 .WORD	.SCPST		; ROUTINE TO CALL OR DATA
   7506					;
   7507	006706					COMND$	RELOAD,LG.PRG,.SCRLD,RLD
	001735	   122 	   105 	   114 	RLDMSG:: .ASCIZ	%RELOAD%
	001740	   117 	   101 	   104
	001743	   000
	006706	001735'				 .WORD	RLDMSG		; POINTER TO "RELOAD" SYMBOL
	006710	000002 				 .WORD	LG.PRG		; LEGAL BITS
	006712	000000G				 .WORD	.SCRLD		; ROUTINE TO CALL OR DATA
   7508					;
   7509	006714					COMND$	REPEAT,LG.OPR,.SCRPT,RPT
	006714	000543'				 .WORD	RPTMSG		; POINTER TO "REPEAT" SYMBOL
	006716	000001 				 .WORD	LG.OPR		; LEGAL BITS
	006720	000000G				 .WORD	.SCRPT		; ROUTINE TO CALL OR DATA
   7510					;
   7511	006722					COMND$	RETRY,<LG.PRG!LG.MNT>,.SCRTY,RTY
	001744	   122 	   105 	   124 	RTYMSG:: .ASCIZ	%RETRY%
	001747	   122 	   131 	   000
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 190-2
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

	006722	001744'				 .WORD	RTYMSG		; POINTER TO "RETRY" SYMBOL
	006724	000006 				 .WORD	LG.PRG!LG.MNT		; LEGAL BITS
	006726	000000G				 .WORD	.SCRTY		; ROUTINE TO CALL OR DATA
   7512					;
   7514	006730					COMND$	TRACKS,LG.PRG,.SCTRK,TRK
	001752	   124 	   122 	   101 	TRKMSG:: .ASCIZ	%TRACKS%
	001755	   103 	   113 	   123
	001760	   000
	006730	001752'				 .WORD	TRKMSG		; POINTER TO "TRACKS" SYMBOL
	006732	000002 				 .WORD	LG.PRG		; LEGAL BITS
	006734	000000G				 .WORD	.SCTRK		; ROUTINE TO CALL OR DATA
   7515					;
   7517	006736	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 191
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

   7519					.SBTTL	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
   7520
   7521	006740				.SPETB::
   7522	006740					SPERR$	AMB,<AMBIGUOUS KEYWORD ">
	003670	   101 	   115 	   102 		 .ASCIZ	%AMB - AMBIGUOUS KEYWORD "%
	003673	   040 	   055 	   040
	003676	   101 	   115 	   102
	003701	   111 	   107 	   125
	003704	   117 	   125 	   123
	003707	   040 	   113 	   105
	003712	   131 	   127 	   117
	003715	   122 	   104 	   040
	003720	   042 	   000
	006740	004112 				 .RAD50	/AMB/		; "AMB" IN .RAD50
	006742	000520'				 .WORD	.SEAMB		; DISPATCH TO HANDLER
	006744	003670'				 .WORD	AMBERM		; POINTER TO MESSAGE
   7523						;
   7524	006746					SPERR$	CES,<CLOCK ERROR STOP - >
	003722	   103 	   105 	   123 		 .ASCIZ	%CES - CLOCK ERROR STOP - %
	003725	   040 	   055 	   040
	003730	   103 	   114 	   117
	003733	   103 	   113 	   040
	003736	   105 	   122 	   122
	003741	   117 	   122 	   040
	003744	   123 	   124 	   117
	003747	   120 	   040 	   055
	003752	   040 	   000
	006746	011633 				 .RAD50	/CES/		; "CES" IN .RAD50
	006750	000756'				 .WORD	.SECES		; DISPATCH TO HANDLER
	006752	003722'				 .WORD	CESERM		; POINTER TO MESSAGE
   7525						;
   7526	006754					SPERR$	FRF,<FUNCTION READ >
	003754	   106 	   122 	   106 		 .ASCIZ	%FRF - FUNCTION READ %
	003757	   040 	   055 	   040
	003762	   106 	   125 	   116
	003765	   103 	   124 	   111
	003770	   117 	   116 	   040
	003773	   122 	   105 	   101
	003776	   104 	   040 	   000
	006754	024126 				 .RAD50	/FRF/		; "FRF" IN .RAD50
	006756	000606'				 .WORD	.SEFRF		; DISPATCH TO HANDLER
	006760	003754'				 .WORD	FRFERM		; POINTER TO MESSAGE
   7527	006762					SPERR$	FWF,<FUNCTION WRITE >
	004001	   106 	   127 	   106 		 .ASCIZ	%FWF - FUNCTION WRITE %
	004004	   040 	   055 	   040
	004007	   106 	   125 	   116
	004012	   103 	   124 	   111
	004015	   117 	   116 	   040
	004020	   127 	   122 	   111
	004023	   124 	   105 	   040
	004026	   000
	006762	024436 				 .RAD50	/FWF/		; "FWF" IN .RAD50
	006764	000614'				 .WORD	.SEFWF		; DISPATCH TO HANDLER
	006766	004001'				 .WORD	FWFERM		; POINTER TO MESSAGE
   7528	006770					SPERR$	FXF,<FUNCTION EXECUTE >
	004027	   106 	   130 	   106 		 .ASCIZ	%FXF - FUNCTION EXECUTE %
	004032	   040 	   055 	   040
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 191-1
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

	004035	   106 	   125 	   116
	004040	   103 	   124 	   111
	004043	   117 	   116 	   040
	004046	   105 	   130 	   105
	004051	   103 	   125 	   124
	004054	   105 	   040 	   000
	006770	024506 				 .RAD50	/FXF/		; "FXF" IN .RAD50
	006772	000622'				 .WORD	.SEFXF		; DISPATCH TO HANDLER
	006774	004027'				 .WORD	FXFERM		; POINTER TO MESSAGE
   7529						;
   7530	006776					SPERR$	ILC,<ILLEGAL CHARACTER ">
	004057	   111 	   114 	   103 		 .ASCIZ	%ILC - ILLEGAL CHARACTER "%
	004062	   040 	   055 	   040
	004065	   111 	   114 	   114
	004070	   105 	   107 	   101
	004073	   114 	   040 	   103
	004076	   110 	   101 	   122
	004101	   101 	   103 	   124
	004104	   105 	   122 	   040
	004107	   042 	   000
	006776	035043 				 .RAD50	/ILC/		; "ILC" IN .RAD50
	007000	000544'				 .WORD	.SEILC		; DISPATCH TO HANDLER
	007002	004057'				 .WORD	ILCERM		; POINTER TO MESSAGE
   7531	007004					SPERR$	ILS,<ILLEGAL SEPARATOR CHARACTER ">
	004111	   111 	   114 	   123 		 .ASCIZ	%ILS - ILLEGAL SEPARATOR CHARACTER "%
	004114	   040 	   055 	   040
	004117	   111 	   114 	   114
	004122	   105 	   107 	   101
	004125	   114 	   040 	   123
	004130	   105 	   120 	   101
	004133	   122 	   101 	   124
	004136	   117 	   122 	   040
	004141	   103 	   110 	   101
	004144	   122 	   101 	   103
	004147	   124 	   105 	   122
	004152	   040 	   042 	   000
	007004	035063 				 .RAD50	/ILS/		; "ILS" IN .RAD50
	007006	000544'				 .WORD	.SEILS		; DISPATCH TO HANDLER
	007010	004111'				 .WORD	ILSERM		; POINTER TO MESSAGE
   7532	007012					SPERR$	IPC,<ILLEGAL PASSWORD CHARACTER ">
	004155	   111 	   120 	   103 		 .ASCIZ	%IPC - ILLEGAL PASSWORD CHARACTER "%
	004160	   040 	   055 	   040
	004163	   111 	   114 	   114
	004166	   105 	   107 	   101
	004171	   114 	   040 	   120
	004174	   101 	   123 	   123
	004177	   127 	   117 	   122
	004202	   104 	   040 	   103
	004205	   110 	   101 	   122
	004210	   101 	   103 	   124
	004213	   105 	   122 	   040
	004216	   042 	   000
	007012	035303 				 .RAD50	/IPC/		; "IPC" IN .RAD50
	007014	000544'				 .WORD	.SEIPC		; DISPATCH TO HANDLER
	007016	004155'				 .WORD	IPCERM		; POINTER TO MESSAGE
   7533						;
   7534	007020					SPERR$	NSK,<NO SUCH KEYWORD ">
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 191-2
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

	004220	   116 	   123 	   113 		 .ASCIZ	%NSK - NO SUCH KEYWORD "%
	004223	   040 	   055 	   040
	004226	   116 	   117 	   040
	004231	   123 	   125 	   103
	004234	   110 	   040 	   113
	004237	   105 	   131 	   127
	004242	   117 	   122 	   104
	004245	   040 	   042 	   000
	007020	055203 				 .RAD50	/NSK/		; "NSK" IN .RAD50
	007022	000520'				 .WORD	.SENSK		; DISPATCH TO HANDLER
	007024	004220'				 .WORD	NSKERM		; POINTER TO MESSAGE
   7535						;
   7536	007026	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 192
.STRTB -- THE START COMMAND TABLE 7602.26

   7538					.SBTTL	.STRTB -- THE START COMMAND TABLE 7602.26
   7539
   7540	007030				.STRTB::
   7541	007030					COMND$	TEN,<LG.PRG!LG.RPT>,.STRTT,TEN
	007030	001005'				 .WORD	TENMSG		; POINTER TO "TEN" SYMBOL
	007032	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	007034	000000G				 .WORD	.STRTT		; ROUTINE TO CALL OR DATA
   7542					;
   7543	007036					COMND$	MICROCODE,<LG.PRG!LG.RPT>,.STRTU,UCD
	001761	   115 	   111 	   103 	UCDMSG:: .ASCIZ	%MICROCODE%
	001764	   122 	   117 	   103
	001767	   117 	   104 	   105
	001772	   000
	007036	001761'				 .WORD	UCDMSG		; POINTER TO "MICROCODE" SYMBOL
	007040	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	007042	000000G				 .WORD	.STRTU		; ROUTINE TO CALL OR DATA
   7544					;
   7545	007044	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 193
.WHATB -- THE WHAT COMMAND TABLE 7703.25

   7547					.SBTTL	.WHATB -- THE WHAT COMMAND TABLE 7703.25
   7548
   7549	007046				.WHATB::
   7550	007046					COMND$	AC-BLOCK,<LG.MNT>,.WHACB,ACB
	007046	001372'				 .WORD	ACBMSG		; POINTER TO "AC-BLOCK" SYMBOL
	007050	000004 				 .WORD	LG.MNT		; LEGAL BITS
	007052	000000G				 .WORD	.WHACB		; ROUTINE TO CALL OR DATA
   7551					;
   7552	007054					COMND$	CLOCK,<LG.PRG!LG.RPT>,.WHTCL,CLK
	007054	001617'				 .WORD	CLKMSG		; POINTER TO "CLOCK" SYMBOL
	007056	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	007060	000000G				 .WORD	.WHTCL		; ROUTINE TO CALL OR DATA
   7553					;
   7554	007062					COMND$	CONSOLE,LG.OPR,.WHCON,CON
	007062	001625'				 .WORD	CONMSG		; POINTER TO "CONSOLE" SYMBOL
	007064	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007066	000000G				 .WORD	.WHCON		; ROUTINE TO CALL OR DATA
   7555					;
   7556	007070					COMND$	DATE,<LG.ALL!LG.RPT>,.WHDAT,DAT
	007070	001635'				 .WORD	DATMSG		; POINTER TO "DATE" SYMBOL
	007072	000407 				 .WORD	LG.ALL!LG.RPT		; LEGAL BITS
	007074	000000G				 .WORD	.WHDAT		; ROUTINE TO CALL OR DATA
   7557					;
   7558	007076					COMND$	FAULT-CONTINUE,LG.ALL,.WHREC,FLT
	007076	001642'				 .WORD	FLTMSG		; POINTER TO "FAULT-CONTINUE" SYMBOL
	007100	000007 				 .WORD	LG.ALL		; LEGAL BITS
	007102	000000G				 .WORD	.WHREC		; ROUTINE TO CALL OR DATA
   7559					;
   7560	007104					COMND$	HARDWARE,LG.OPR,.WHRDW,HAR
	001773	   110 	   101 	   122 	HARMSG:: .ASCIZ	%HARDWARE%
	001776	   104 	   127 	   101
	002001	   122 	   105 	   000
	007104	001773'				 .WORD	HARMSG		; POINTER TO "HARDWARE" SYMBOL
	007106	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007110	000000G				 .WORD	.WHRDW		; ROUTINE TO CALL OR DATA
   7561					;
   7562	007112					COMND$	INCREMENT,LG.OPR,.WHINC,INC
	007112	000736'				 .WORD	INCMSG		; POINTER TO "INCREMENT" SYMBOL
	007114	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007116	000000G				 .WORD	.WHINC		; ROUTINE TO CALL OR DATA
   7563					;
   7564	007120					COMND$	KLINIK,LG.ALL,.WHKLN,KLI
	007120	001661'				 .WORD	KLIMSG		; POINTER TO "KLINIK" SYMBOL
	007122	000007 				 .WORD	LG.ALL		; LEGAL BITS
	007124	000000G				 .WORD	.WHKLN		; ROUTINE TO CALL OR DATA
   7565					;
   7566	007126					COMND$	MEMORY,LG.OPR,.WHMEM,MEM
	007126	001670'				 .WORD	MEMMSG		; POINTER TO "MEMORY" SYMBOL
	007130	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007132	000000G				 .WORD	.WHMEM		; ROUTINE TO CALL OR DATA
   7567					;
   7568	007134					COMND$	OFFSET,LG.PRG,.WHOFS,OFS
	007134	001703'				 .WORD	OFSMSG		; POINTER TO "OFFSET" SYMBOL
	007136	000002 				 .WORD	LG.PRG		; LEGAL BITS
	007140	000000G				 .WORD	.WHOFS		; ROUTINE TO CALL OR DATA
   7569					;
   7570	007142					COMND$	OUTPUT,LG.OPR,.WHOUT,OUT
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 193-1
.WHATB -- THE WHAT COMMAND TABLE 7703.25

	007142	001712'				 .WORD	OUTMSG		; POINTER TO "OUTPUT" SYMBOL
	007144	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007146	000000G				 .WORD	.WHOUT		; ROUTINE TO CALL OR DATA
   7571					;
   7572	007150					COMND$	PARITY-STOP,<LG.PRG!LG.RPT>,.WHTPS,PST
	007150	001721'				 .WORD	PSTMSG		; POINTER TO "PARITY-STOP" SYMBOL
	007152	000402 				 .WORD	LG.PRG!LG.RPT		; LEGAL BITS
	007154	000000G				 .WORD	.WHTPS		; ROUTINE TO CALL OR DATA
   7573					;
   7574	007156					COMND$	RELOAD,LG.PRG,.WHRLD,RLD
	007156	001735'				 .WORD	RLDMSG		; POINTER TO "RELOAD" SYMBOL
	007160	000002 				 .WORD	LG.PRG		; LEGAL BITS
	007162	000000G				 .WORD	.WHRLD		; ROUTINE TO CALL OR DATA
   7575					;
   7576	007164					COMND$	REPEAT,LG.OPR,.WHRPT,RPT
	007164	000543'				 .WORD	RPTMSG		; POINTER TO "REPEAT" SYMBOL
	007166	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007170	000000G				 .WORD	.WHRPT		; ROUTINE TO CALL OR DATA
   7577					;
   7578	007172					COMND$	RETRY,<LG.PRG!LG.MNT>,.WHRTY,RTY
	007172	001744'				 .WORD	RTYMSG		; POINTER TO "RETRY" SYMBOL
	007174	000006 				 .WORD	LG.PRG!LG.MNT		; LEGAL BITS
	007176	000000G				 .WORD	.WHRTY		; ROUTINE TO CALL OR DATA
   7579					;
   7581	007200					COMND$	TRACKS,LG.PRG,.WHTRK,TRK
	007200	001752'				 .WORD	TRKMSG		; POINTER TO "TRACKS" SYMBOL
	007202	000002 				 .WORD	LG.PRG		; LEGAL BITS
	007204	000000G				 .WORD	.WHTRK		; ROUTINE TO CALL OR DATA
   7582					;
   7584	007206					COMND$	VERSION,LG.OPR,.WHATV,VER
	002004	   126 	   105 	   122 	VERMSG:: .ASCIZ	%VERSION%
	002007	   123 	   111 	   117
	002012	   116 	   000
	007206	002004'				 .WORD	VERMSG		; POINTER TO "VERSION" SYMBOL
	007210	000001 				 .WORD	LG.OPR		; LEGAL BITS
	007212	000000G				 .WORD	.WHATV		; ROUTINE TO CALL OR DATA
   7585					;
   7586	007214	000000 				.WORD	0		; END OF TABLE MARKER
   7587	011130				.PSECT
   7588
   7589		000000 				$$PASS2=0
TABLE -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 195
.WHATB -- THE WHAT COMMAND TABLE 7703.25

   7592
   7593					.TITLE	TPSIM -- TRIPLE PRECISION ARITHMETIC SIMULATOR MODULE 7603.30
   7594
   7595						.IDENT	"005000"
   7596
   7597					;
   7598					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   7599					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   7600					;			ALL RIGHTS RESERVED.
   7601					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   7602					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   7603					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   7604					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   7605					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   7606					;
   7607					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   7608					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   7609					;       CORPORATION.
   7610					;
   7611					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   7612					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   7613					;
   7614					;		MODULE: TRIPLE PRECISION ARITHMETIC SIMULATOR
   7615					;
   7616					;		VERSION: 05-00
   7617					;
   7618					;		AUTHOR: R. BELANGER
   7619					;
   7620					;		DATE: 7603.30
   7621					;
   7622					;	THIS MODULE CONTAINS:
   7623					;
   7624					;	1) TRIPLE PRECISION ARITHMETIC SIMULATOR
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 196
.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30

   7626					.SBTTL	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
   7627
   7628					;+
   7629					; .SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS
   7630					;
   7631					; THIS SUBROUTINE SHIFTS THE NUMBER IN R0 AS SPECIFIED BY THE SHIFT
   7632					; COUNT IN R1.
   7633					;
   7634					; INPUT ARGUMENTS:
   7635					;
   7636					;	R0 HOLDS THE NUMBER TO BE SHIFTED
   7637					;	R1 HOLDS A 16 BIT SHIFT COUNT
   7638					;
   7639					; OUTPUT ARGUMENTS:
   7640					;
   7641					;	R0 HOLDS THE SHIFTED NUMBER
   7642					;	R1 HOLDS THE SHIFT COUNT
   7643					;
   7644					; ERROR CODES RETURNED:
   7645					;
   7646					;	NONE
   7647					;-
   7648
   7649	011130				.SHIFT::
   7650	011130					PUSH	R1		; SAVE R1 ON THE STACK
	011130	010146 				 MOV	R1,-(SP)
   7651	011132	001407 				BEQ	30$		; .EXIT IF .EQ. 0
   7652	011134	002403 				BLT	20$		; .SHIFT RIGHT IF NEGATIVE
   7653	011136				10$:
   7654	011136	006300 				ASL	R0		; .SHIFT IT LEFT
   7655	011140	077102 				SOB	R1,10$		; .TILL COUNT IS EXHAUSTED
   7656	011142	000403 				BR	30$		; .EXIT
   7657						;
   7658	011144				20$:
   7659	011144	006200 				ASR	R0		; .SHIFT IT RIGHT
   7660	011146	005201 				INC	R1		; .COUNT THE SHIFT
   7661	011150	001375 				BNE	20$		; .TILL COUNT EXHAUSTED
   7662	011152				30$:
   7663	011152					POP	R1		; .RESTORE R1 FROM THE STACK
	011152	012601 				 MOV	(SP)+,R1
   7664	011154	000241 				CLC			; CLEAR CC-C
   7665	011156					RETURN			; RETURN
	011156	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 197
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

   7667					.SBTTL	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
   7668
   7669					;+
   7670					; .TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE.
   7671					;
   7672					; THIS SUBROUTINE WILL DIVIDE THE 48 BIT DIVIDEND POINTED TO BY R0
   7673					; BY THE 48 BIT DIVISOR POINTED TO BY R1 IN THE CALL. ON RETURN,
   7674					; R0 POINTS TO A 48 BIT QUOTIENT, AND R2 POINTS TO A 48 BIT REMAINDER.
   7675					;
   7676					; INPUT ARGUMENTS:
   7677					;
   7678					;	R0 POINTS TO THE DIVIDEND
   7679					;	R1 POINTS TO THE DIVISOR
   7680					;
   7681					; OUTPUT ARGUMENTS:
   7682					;
   7683					;	R0 POINTS TO THE QUOTIENT
   7684					;	R1 POINTS TO THE REMAINDER
   7685					;	THE DIVISOR AND DIVIDEND ARE DESTROYED
   7686					;
   7687					; ERROR CODES RETURNED:
   7688					;
   7689					;	DCK -- DIVIDE CHECK.
   7690					;-
   7691
   7692	007216				.PSECT	DATA
   7693
   7694	007216				TPDRMN:
   7695	007216	000000 	000000 	000000 		.WORD	0,0,0	; SPACE FOR  REMAINDER
   7696	007224				TPDDVS:
   7697	007224	000000 	000000 	000000 		.WORD	0,0,0	; SPACE FOR DIVISOR
   7698	007232				TPDDVD:
   7699	007232	000000 	000000 	000000 		.WORD	0,0,0	; SPACE FOR DIVIDEND / QUOTIENT
   7700
   7701	011160				.PSECT
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 198
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

   7703						.ENABL	LSB
   7704
   7705	011160				.TPDIV::
   7706	011160					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	011160	010346 				 MOV	R3,-(SP)
	011162	010246 				 MOV	R2,-(SP)
	011164	010146 				 MOV	R1,-(SP)
	011166	010046 				 MOV	R0,-(SP)
   7707	011170					CALL	.TPXTN		; ....SIGN EXTEND THE DIVIDEND
	011170	004737 	011420'			 JSR	PC,.TPXTN
   7708	011174	010100 				MOV	R1,R0		; ....POINT TO THE DIVISOR
   7709	011176					CALL	.TPXTN		; ....AND SIGN EXTEND IT
	011176	004737 	011420'			 JSR	PC,.TPXTN
   7710	011202					CALL	.TPTST		; ....SEE IF IT IS ZERO OR NEGATIVE
	011202	004737 	011474'			 JSR	PC,.TPTST
   7711	011206	003466 				BLE	TPDDCK		; ....YES -- GIVE "DCK" ERROR
   7712	011210	011600 				MOV	(SP),R0		; ....NO -- RESTORE DIVIDEND POINTER
   7713	011212	012703 	000060 			MOV	#^D48,R3	; ....ITERATION COUNT TO R3
   7714	011216	012702 	007216'			MOV	#TPDRMN,R2	; ....DATA BLOCK POINTER TO R2
   7715	011222	005022 				CLR	(R2)+		; ....CLEAR THE REMAINDER
   7716	011224	005022 				CLR	(R2)+		; ....
   7717	011226	005022 				CLR	(R2)+		; ....
   7718	011230	012122 				MOV	(R1)+,(R2)+	; ....LOAD THE DIVISOR
   7719	011232	012122 				MOV	(R1)+,(R2)+	; ....
   7720	011234	012122 				MOV	(R1)+,(R2)+	; ....
   7721	011236	012022 				MOV	(R0)+,(R2)+	; ....LOAD THE DIVIDEND
   7722	011240	012022 				MOV	(R0)+,(R2)+	; ....
   7723	011242	012022 				MOV	(R0)+,(R2)+	; ....
   7724	011244	012700 	007216'			MOV	#TPDRMN,R0	; ....REMAINDER POINTER TO R0
   7725	011250	012701 	007224'			MOV	#TPDDVS,R1	; ....DIVISOR POINTER TO R1
   7726	011254	012702 	007232'			MOV	#TPDDVD,R2	; ....DIVIDEND POINTER TO R2
   7727
   7728					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 199
.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19

   7730					;	[CONTINUED FROM THE PREVIOUS PAGE]
   7731
   7732	011260				10$:
   7733	011260	006312 				ASL	(R2)		; ....SHIFT THE DIVIDEND LEFT
   7734	011262	006162 	000002 			ROL	2(R2)		; ....
   7735	011266	006162 	000004 			ROL	4(R2)		; ....
   7736	011272	006110 				ROL	(R0)		; ....INTO THE REMAINDER
   7737	011274	006160 	000002 			ROL	2(R0)		; ....
   7738	011300	006160 	000004 			ROL	4(R0)		; ....
   7739	011304					CALL	.TPCMP		; ....SEE IF REMAINDER IS .GE. DIVISOR
	011304	004737 	011440'			 JSR	PC,.TPCMP
   7740	011310	103407 				BLO	20$		; ....NO -- JUST KEEP GOING
   7741	011312					CALL	.TPSUB		; ....YES -- SUBTRACT DIVISOR FROM REMAINDER
	011312	004737 	011562'			 JSR	PC,.TPSUB
   7742	011316					PUSH	R0		; ....SAVE REMAINDER POINTER
	011316	010046 				 MOV	R0,-(SP)
   7743	011320	010200 				MOV	R2,R0		; .....QUOTIENT POINTER TO R0
   7744	011322					CALL	.TPINC		; .....INCREMENT THE QUOTIENT
	011322	004737 	011536'			 JSR	PC,.TPINC
   7745	011326					POP	R0		; .....RESTORE REMAINDER POINTER
	011326	012600 				 MOV	(SP)+,R0
   7746	011330				20$:
   7747	011330	077325 				SOB	R3,10$		; ....LOOP TILL COUNT IS EXHAUSTED
   7748	011332					POP	<R0,R1>		; ....GET R0 AND R1 FROM THE STACK
	011332	012600 				 MOV	(SP)+,R0
	011334	012601 				 MOV	(SP)+,R1
   7749	011336	012220 				MOV	(R2)+,(R0)+	; ..UNLOAD THE QUOTIENT
   7750	011340	012220 				MOV	(R2)+,(R0)+	; ..
   7751	011342	011210 				MOV	(R2),(R0)	; ..
   7752	011344	012702 	007216'			MOV	#TPDRMN,R2	; ..POINT TO THE REMAINDER
   7753	011350	012221 				MOV	(R2)+,(R1)+	; ..UNLOAD THE REMAINDER
   7754	011352	012221 				MOV	(R2)+,(R1)+	; ..
   7755	011354	011211 				MOV	(R2),(R1)	; ..
   7756	011356					POP	<R2,R3>		; ..RESTORE OTHER REGISTERS
	011356	012602 				 MOV	(SP)+,R2
	011360	012603 				 MOV	(SP)+,R3
   7757	011362	000506 				BR	50$		; AND GO AWAY
   7758						;
   7759	011364				TPDDCK:
   7760	011364					ERROR$	DCK		; ERROR -- DIVIDE CHECK
	011364	012746 	014603 			 MOV	#^RDCK,-(SP)
	011370	104400 				 TRAP	TC.ERR
   7761						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 200
.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19

   7763					.SBTTL	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
   7764
   7765					;+
   7766					; .TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER
   7767					; .TPCOM -- SUBROUTINE TO COMPLEMENT A 48 BIT NUMBER.
   7768					; .TPNEG -- SUBROUTINE TO NEGATE A 48 BIT NUMBER.
   7769					; .TPXTN -- SUBROUTINE TO SIGN EXTEND A 36 BIT NUMBER INTO A 48 BIT NUMBER
   7770					;
   7771					; THESE SUBROUTINE PERFORM THE FUNCTIONS INDICATED. ALL SUBROUTINES
   7772					; ACCEPT A DESTINATION POINTER IN R0. ALL SUBROUTINES
   7773					; RETURN THE POINTER UNALTERED. NO OTHER REGISTERS ARE ALTERED
   7774					; BY THESE ROUTINES.
   7775					;
   7776					; INPUT ARGUMENTS:
   7777					;
   7778					;	R0 POINTS TO THE DESTINATION OPERAND
   7779					;
   7780					; OUTPUT ARGUMENTS:
   7781					;
   7782					;	R0 POINTS TO THE DESINATION OPERAND
   7783					;
   7784					; ERROR CODES RETURNED:
   7785					;
   7786					;	NONE.
   7787					;-
   7788
   7789	011372				.TPCLR::			; CLEAR A 48 BIT WORD
   7790	011372	005020 				CLR	(R0)+		; SO
   7791	011374	005020 				CLR	(R0)+
   7792	011376	005010 				CLR	(R0)
   7793	011400	000500 				BR	60$		; RESET R0 AND RETURN
   7794						;
   7795
   7796	011402				.TPCOM::			; COMPLEMENT A 48 BIT NUMBER
   7797	011402	005120 				COM	(R0)+		; COMPLEMENT
   7798	011404	005120 				COM	(R0)+		; EACH WORD
   7799	011406	005110 				COM	(R0)		; IN THE TRIPLET
   7800	011410	000474 				BR	60$		; RESET R0 AND RETURN
   7801						;
   7802
   7803	011412				.TPNEG::			; NEGATE A 48 BIT NUMBER
   7804	011412					CALL	.TPCOM		; FIRST COMPLEMENT THE NUMBER
	011412	004737 	011402'			 JSR	PC,.TPCOM
   7805	011416	000447 				BR	.TPINC		; -0 + NOT(0)+1 AND RETURN
   7806						;
   7807
   7808	011420				.TPXTN::
   7809	011420	032760 	000010 	000004 		BIT	#10,4(R0)	; TEST THE SIGN BIT
   7810	011426	001466 				BEQ	70$		; EXIT IF POSITIVE
   7811	011430	052760 	177760 	000004 		BIS	#^C17,4(R0)	; SIGN EXTEND IF NEGATIVE
   7812	011436	000462 				BR	70$		; EXIT
   7813						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 201
.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19

   7815					.SBTTL	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
   7816
   7817					;+
   7818					; .TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS.
   7819					;
   7820					; THIS SUBROUTINE WILL COMPARE THE 48 BIT NUMBER POINTED TO BY
   7821					; R0 AND THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL.
   7822					;
   7823					; INPUT ARGUMENTS:
   7824					;
   7825					;	R0 POINTS TO THE FIRST NUMBER
   7826					;	R1 POINTS TO THE SECOND NUMBER
   7827					;
   7828					; OUTPUT ARGUMENTS:
   7829					;
   7830					;	R0 POINTS TO THE FIRST NUMBER
   7831					;	R1 POINTS TO THE SECOND NUMBER
   7832					;	CC-N IS SET IF (R0) .LT. (R1)
   7833					;	CC-Z IS SET IF (R0) .EQ. (R1)
   7834					;	CC-Z IS CLEAR IF (R0) .GT. (R1)
   7835					;
   7836					; ERROR CODES RETURNED:
   7837					;
   7838					;	NONE.
   7839					;-
   7840
   7841	011440				.TPCMP::			; COMPARE TWO 48 BIT NUMBERS
   7842	011440	026061 	000004 	000004 		CMP	4(R0),4(R1)	; COMPARE THE HIGH WORDS
   7843	011446	001056 				BNE	70$		; NOT EQUAL -- EXIT
   7844	011450	026061 	000002 	000002 		CMP	2(R0),2(R1)	; COMPARE THE MIDDLE WORDS
   7845	011456	001001 				BNE	30$		; NOT EQUAL -- EXIT
   7846	011460	021011 				CMP	(R0),(R1)	; COMPARE THE LOW WORDS
   7847	011462				30$:
   7848	011462	000250 				CLN			; CLEAR CC-N
   7849	011464	000242 				CLV			; CLEAR CC-V
   7850	011466	103046 				BCC	70$		; BRANCH IF NON-NEGATIVE
   7851	011470	000270 				SEN			; NEGATIVE -- SET CC-N
   7852	011472	000444 				BR	70$		; EXIT
   7853						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 202
.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19

   7855					.SBTTL	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
   7856
   7857					;+
   7858					; .TPTST -- TEST A 48 BIT NUMBER FOR ZERO.
   7859					;
   7860					; THIS SUBROUTINE WILL TEST THE 48 BIT NUMBER POINTED TO BY R0 TO
   7861					; SEE IF IT ZERO OR NON-ZERO. IF THE NUMBER IS ZERO, CC-Z IS SET
   7862					; ON RETURN, IF NON-ZERO, CC-Z IS CLEAR SET ON RETURN.
   7863					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   7864					;
   7865					; INPUT ARGUMENTS:
   7866					;
   7867					;	R0 POINTS TO THE NUMBER TO BE TESTED
   7868					;
   7869					; OUTPUT ARGUMENTS:
   7870					;
   7871					;	R0 POINTS TO THE TESTED NUMBER
   7872					;	CC-Z IS SET IF THE NUMBER IS ZERO
   7873					;	CC-Z IS CLEAR IF THE NUMBER IS NON-ZERO
   7874					;
   7875					; ERROR CODES RETURNED:
   7876					;
   7877					;	NONE.
   7878					;-
   7879
   7880	011474				.TPTST::			; TEST A TRIPLE PRECISION NUMBER FOR ZERO
   7881	011474	005760 	000004 			TST	4(R0)		; TEST THE HIGH WORD
   7882	011500	001041 				BNE	70$		; NON ZERO?
   7883	011502	005760 	000002 			TST	2(R0)		; TEST THE MIDDLE WORD
   7884	011506	001001 				BNE	40$		; NON ZERO?
   7885	011510	005710 				TST	(R0)		; TEST THE LOW WORD
   7886	011512				40$:
   7887	011512	000250 				CLN			; CLEAR CC-N
   7888	011514	000433 				BR	70$		; EXIT
   7889						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 203
.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15

   7891					.SBTTL	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
   7892
   7893					;+
   7894					; .TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS.
   7895					;
   7896					; THIS SUBROUTINE ADDS TWO 48 BIT ADDENDS WHICH ARE POINTED TO BY
   7897					; R0 AND R1 IN THE CALL, AND RETURNS A POINTER TO THE SUM IN R0.
   7898					; THE ADDEND POINTED TO BY R1 IS ADDED TO THAT POINTED TO BY R0.
   7899					;
   7900					; INPUT ARGUMENTS:
   7901					;
   7902					;	R0 POINTS TO THE FIRST ADDEND
   7903					;	R1 POINTS TO THE SECOND ADDEND
   7904					;
   7905					; OUTPUT ARGUMENTS:
   7906					;
   7907					;	R0 POINTS TO THE SUM
   7908					;	R1 POINTS TO THE SECOND ADDEND
   7909					;
   7910					; ERROR CODES RETURNED:
   7911					;
   7912					;	NONE.
   7913					;-
   7914
   7915	011516				.TPADD::
   7916	011516	062120 				ADD	(R1)+,(R0)+	; ADD LOW ORDER PARTS
   7917	011520	005510 				ADC	(R0)		; CARRY ANY OVERFLOW
   7918	011522	005560 	000002 			ADC	2(R0)		; AND ANY OVER FLOW FROM THAT
   7919	011526	062120 				ADD	(R1)+,(R0)+	; ADD MIDDLE WORD
   7920	011530	005510 				ADC	(R0)		; FIX CARRIES
   7921	011532	061110 				ADD	(R1),(R0)	; ADD HIGH ORDER PARTS
   7922	011534	000421 				BR	50$		; RESET REGISTERS ANS EXIT
   7923						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 204
.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19

   7925					.SBTTL	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
   7926
   7927					;+
   7928					; .TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER.
   7929					; .TPDEC -- SUBROUTINE TO DECREMENT A 48 BIT NUMBER.
   7930					;
   7931					; THESE SUBROUTINES WILL INCREMENT OR DECREMENT A 48 BIT NUMBER
   7932					; POINTED TO BY R0 IN THE CALL. ON RETURN, THE POINTER IN R0 IS
   7933					; UNCHANGED. NO OTHER REGISTERS ARE ALTERED BY THESE SUBROUTINES.
   7934					;
   7935					; INPUT ARGUMENTS:
   7936					;
   7937					;	R0 POINTS TO THE OPERAND
   7938					;
   7939					; OUTPUT ARGUMENTS:
   7940					;
   7941					;	R0 POINTS TO THE OPERAND
   7942					;
   7943					; ERROR CODES RETURNED:
   7944					;
   7945					;	NONE.
   7946					;-
   7947
   7948	011536				.TPINC::			; INCREMENT A 48 BIT NUMBER
   7949	011536	062720 	000001 			ADD	#1,(R0)+	; DO THE INCREMENT
   7950	011542	005520 				ADC	(R0)+		; AND CARRY THE CARRIES
   7951	011544	005510 				ADC	(R0)
   7952	011546	000415 				BR	60$		; AND EXIT
   7953						;
   7954
   7955	011550				.TPDEC::			; DECREMENT A 48 BIT NUMBER
   7956	011550	162720 	000001 			SUB	#1,(R0)+	; DO THE DECREMENT
   7957	011554	005620 				SBC	(R0)+		; AND STRAIGHTEN OUT THE CARRIES
   7958	011556	005610 				SBC	(R0)
   7959	011560	000410 				BR	60$		; ADJUST R0 AND RETURN
   7960						;
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 205
.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15

   7962					.SBTTL	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
   7963
   7964					;+
   7965					; .TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS.
   7966					;
   7967					; THIS SUBROUTINE WILL SUBTRACT TWO 48 BIT NUMBERS POINTED TO BY R0,
   7968					; (MINUEND), AND R1 (SUBTRAHEND) IN THE CALL, AND WILL RETURN A
   7969					; POINTER TO THE DIFFERENCE IN R0.
   7970					;
   7971					; INPUT ARGUMENTS:
   7972					;
   7973					;	R0 POINTS TO THE MINUEND
   7974					;	R1 POINTS TO THE SUBTRAHEND
   7975					;
   7976					; OUTPUT ARGUMENTS:
   7977					;
   7978					;	R0 POINTS TO THE DIFFERENCE
   7979					;	R1 POINTS TO THE SUBTRAHEND
   7980					;
   7981					; ERROR CODES RETURNED:
   7982					;
   7983					;	NONE.
   7984					;-
   7985
   7986	011562				.TPSUB::
   7987	011562	162120 				SUB	(R1)+,(R0)+	; SUBTRACT LOW ORDER PARTS
   7988	011564	005610 				SBC	(R0)		; CARRY ANY OVERFLOW
   7989	011566	005660 	000002 			SBC	2(R0)		; AND ANY OVERFLOWS FROM THAT
   7990	011572	162120 				SUB	(R1)+,(R0)+
   7991	011574	005610 				SBC	(R0)		; FIX CARRIES
   7992	011576	161110 				SUB	(R1),(R0)	; SUBTRACT HIGH ORDER PARTS
   7993	011600				50$:
   7994	011600	024141 				CMP	-(R1),-(R1)	; RESET R1
   7995	011602				60$:
   7996	011602	024040 				CMP	-(R0),-(R0)	; RESET R0
   7997	011604				70$:
   7998	011604					RETURN			; AND EXIT
	011604	000207 				 RTS	PC
   7999
   8000						.DSABL	LSB
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 206
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

   8002					.SBTTL	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
   8003
   8004					;+
   8005					; .TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE.
   8006					;
   8007					; THIS SUBROUTINE WILL MULTIPLY THE 48 BIT MULTIPLICAND POINTED
   8008					; TO BY R0 BY THE 48 BIT MULTIPLIER POINTER IN R1, AND RETURN A
   8009					; POINTER TO THE 48 BIT PRODUCT IN R0. THE MULTIPLIER IS UNCHANGED,
   8010					; AND NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   8011					;
   8012					; INPUT ARGUMENTS:
   8013					;
   8014					;	R0 POINTS TO THE MULTIPLICAND
   8015					;	R1 POINTS TO THE MULTIPLIER
   8016					;
   8017					; OUTPUT ARGUMENTS:
   8018					;
   8019					;	R0 POINTS TO THE PRODUCT
   8020					;	R1 POINTS TO THE MULTIPLIER
   8021					;
   8022					; ERROR CODES RETURNED:
   8023					;
   8024					;	NONE.
   8025					;-
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 207
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

   8027	011606				.TPMUL::
   8028	011606					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	011606	010246 				 MOV	R2,-(SP)
	011610	010146 				 MOV	R1,-(SP)
	011612	010046 				 MOV	R0,-(SP)
   8029	011614					CALL	.TPTST		; ...SEE IF MULTIPLICAND .EQ. 0
	011614	004737 	011474'			 JSR	PC,.TPTST
   8030	011620	001460 				BEQ	50$		; ...YES -- QUIT NOW
   8031	011622	010100 				MOV	R1,R0		; ...NO -- POINT TO MULTIPLIER
   8032	011624					CALL	.TPTST		; ...SEE IF IT IS .EQ. 0
	011624	004737 	011474'			 JSR	PC,.TPTST
   8033	011630	001004 				BNE	10$		; ...NO -- ALL OK
   8034	011632	011600 				MOV	(SP),R0		; ...YES -- GET MULTIPLICAND POINTER
   8035	011634					CALL	.TPCLR		; ...AND MAKE IT .EQ. 0
	011634	004737 	011372'			 JSR	PC,.TPCLR
   8036	011640	000450 				BR	50$		; ...RETURN TO CALLER
   8037						;
   8038	011642				10$:
   8039	011642	011600 				MOV	(SP),R0		; ...R0 POINTS TO MULTIPLCAND
   8040	011644					PUSH	<(R1)+,(R1)+,(R1),R1>
	011644	012146 				 MOV	(R1)+,-(SP)
	011646	012146 				 MOV	(R1)+,-(SP)
	011650	011146 				 MOV	(R1),-(SP)
	011652	010146 				 MOV	R1,-(SP)
   8041	011654	024141 				CMP	-(R1),-(R1)	; .......CALLER'S MULTIPLIER SAVED
   8042	011656	010102 				MOV	R1,R2		; .......R2 POINTS TO THE MULTIPLIER
   8043	011660	010001 				MOV	R0,R1		; .......R1 POINTS TO THE MULTIPLICAND
   8044	011662	005046 				CLR	-(SP)		; .......CLEAR A BUFFER ON THE STACK
   8045	011664	005046 				CLR	-(SP)		; ........
   8046	011666	005046 				CLR	-(SP)		; .........
   8047	011670	010600 				MOV	SP,R0		; ..........R0 POINTS TO TEMPORARY RESULT
   8048	011672				20$:
   8049	011672	006062 	000004 			ROR	4(R2)		; ..........SHIFT THE MULTIPLIER RIGHT
   8050	011676	006062 	000002 			ROR	2(R2)		; ..........
   8051	011702	006012 				ROR	(R2)		; ..........
   8052	011704	103002 				BCC	30$		; ..........DID WE GET A CARRY?
   8053	011706					CALL	.TPADD		; ..........YES -- ADD THE MULTIPLICAND
	011706	004737 	011516'			 JSR	PC,.TPADD
   8054	011712				30$:
   8055	011712	006311 				ASL	(R1)		; ..........DOUBLE MULTIPLICAND IN ANY CASE
   8056	011714	006161 	000002 			ROL	2(R1)		; ..........
   8057	011720	006161 	000004 			ROL	4(R1)		; ..........
   8058	011724					PUSH	R0		; ..........SAVE RESULT POINTER
	011724	010046 				 MOV	R0,-(SP)
   8059	011726	010200 				MOV	R2,R0		; ...........POINT TO MULTIPLIER
   8060	011730					CALL	.TPTST		; ...........IS IT .EQ. 0?
	011730	004737 	011474'			 JSR	PC,.TPTST
   8061	011734	001402 				BEQ	40$		; ...........YES -- SET UP FOR RETURN
   8062	011736					POP	R0		; ...........NO -- RESTORE R0
	011736	012600 				 MOV	(SP)+,R0
   8063	011740	000754 				BR	20$		; ..........AND CONTINUE
   8064						;
   8065
   8066					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 208
.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19

   8068					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8069
   8070					; HERE TO RETURN PRODUCT AND EXIT
   8071
   8072	011742				40$:
   8073	011742					POP	R0		; ...........GET RID OF MULTIPLIER POINTER
	011742	012600 				 MOV	(SP)+,R0
   8074	011744					POP	<(R1)+,(R1)+,(R1)>
	011744	012621 				 MOV	(SP)+,(R1)+
	011746	012621 				 MOV	(SP)+,(R1)+
	011750	012611 				 MOV	(SP)+,(R1)
   8075	011752					POP	<R1,(R1),-(R1),-(R1)>
	011752	012601 				 MOV	(SP)+,R1
	011754	012611 				 MOV	(SP)+,(R1)
	011756	012641 				 MOV	(SP)+,-(R1)
	011760	012641 				 MOV	(SP)+,-(R1)
   8076	011762				50$:
   8077	011762					POP	<R0,R1,R2>	; ...RESTORE REGISTERS
	011762	012600 				 MOV	(SP)+,R0
	011764	012601 				 MOV	(SP)+,R1
	011766	012602 				 MOV	(SP)+,R2
   8078	011770					RETURN			; TO CALLER
	011770	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 209
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19

   8080					.SBTTL	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
   8081
   8082					;+
   8083					; .TPSHI -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER.
   8084					;
   8085					; THIS SUBROUTINE SHIFTS THE 48 BIT NUMBER POINTED TO BY R0 BY THE
   8086					; 16 BIT NUMBER IN R1 IN THE CALL. ON RETURN R0 POINTS TO THE SHIFTED
   8087					; 48 BIT NUMBER. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
   8088					; OF THE 16 BIT NUMBER IN R1. NO REGISTERS ARE ALTERED BY THIS ROUTINE.
   8089					;
   8090					; INPUT ARGUMENTS:
   8091					;
   8092					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
   8093					;	R1 HOLDS THE 16 BIT SHIFT COUNT
   8094					;
   8095					; OUTPUT ARGUMENTS:
   8096					;
   8097					;	R0 POINTS TO THE SHIFTED NUMBER
   8098					;	R0 HOLDS THE 16 BIT SHIFT COUNT
   8099					;
   8100					; ERROR CODES RETURNED:
   8101					;
   8102					;	NONE.
   8103					;-
   8104
   8105	011772				.TPSHI::
   8106	011772					PUSH	R1		; SAVE R1 FROM DESTRUCTION
	011772	010146 				 MOV	R1,-(SP)
   8107	011774	001416 				BEQ	30$		; .ON ZERO DO NOTHING
   8108	011776	003002 				BGT	10$		; .REALLY MEANS LEFT
   8109	012000	005401 				NEG	R1		; .MEANS RIGHT, SO NEGATE
   8110	012002	000406 				BR	20$		; .AND GO RIGHT
   8111						;
   8112	012004				10$:
   8113	012004	006320 				ASL	(R0)+		; .CLEAR CC-C AND SHIFT
   8114	012006	006120 				ROL	(R0)+		; .USE CC-C AND SHIFT
   8115	012010	006110 				ROL	(R0)		; .
   8116	012012	024040 				CMP	-(R0),-(R0)	; .POINT BACK TO BEGINNING
   8117	012014	077105 				SOB	R1,10$		; .AND LOOP 'TILL DONE
   8118	012016	000405 				BR	30$		; .DONE -- EXIT
   8119						;
   8120	012020				20$:				; .HERE TO SHIFT RIGHT
   8121	012020	022020 				CMP	(R0)+,(R0)+	; .FIX POINTER TO POINT TO HIGH PART
   8122	012022	006210 				ASR	(R0)		; .SHIFT HIGH PART
   8123	012024	006040 				ROR	-(R0)		; .THEN MIDDLE PART
   8124	012026	006040 				ROR	-(R0)		; .THEN LOW PART
   8125	012030	077105 				SOB	R1,20$		; .UNTIL DONE
   8126	012032				30$:
   8127	012032					POP	R1		; .RESTORE R1
	012032	012601 				 MOV	(SP)+,R1
   8128	012034					RETURN			; AND RETURN TO CALLER
	012034	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 210
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

   8130					.SBTTL	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
   8131
   8132					;+
   8133					; .TPSHL -- SUBROUTINE TO SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER.
   8134					;
   8135					; THIS SUBROUTINE WILL SHIFT THE 48 BIT NUMBER POINTED TO BY R0 BY
   8136					; THE 48 BIT NUMBER POINTED TO BY R1 IN THE CALL. BOTH POINTERS ARE
   8137					; RETURNED UNALTERED, AND NO OTHER REGISTERS ARE ALTERED BY THE
   8138					; SUBROUTINE. THE DIRECTION OF THE SHIFT IS DETERMINED BY THE SIGN
   8139					; OF THE 48 BIT NUMBER POINTED TO BY R1.
   8140					;
   8141					; INPUT ARGUMENTS:
   8142					;
   8143					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
   8144					;	R1 POINTS TO THE SHIFT COUNT
   8145					;
   8146					; OUTPUT ARGUMENTS:
   8147					;
   8148					;	R0 POINTS TO THE SHIFTED NUMBER
   8149					;	R1 POINTS TO THE SHIFT COUNT
   8150					;
   8151					; ERROR CODES RETURNED:
   8152					;
   8153					;	NONE.
   8154					;-
   8155
   8156	012036				.TPSHL::
   8157	012036					PUSH	<(R1)+,(R1)+,(R1),R1>
	012036	012146 				 MOV	(R1)+,-(SP)
	012040	012146 				 MOV	(R1)+,-(SP)
	012042	011146 				 MOV	(R1),-(SP)
	012044	010146 				 MOV	R1,-(SP)
   8158	012046	024141 				CMP	-(R1),-(R1)	; ....BACK THE POINTER UP
   8159	012050					PUSH	<R2,R0>		; ....SAVE R2 AND R0
	012050	010246 				 MOV	R2,-(SP)
	012052	010046 				 MOV	R0,-(SP)
   8160	012054	010100 				MOV	R1,R0		; ......POINT TO THE SHIFT COUNT
   8161	012056					CALL	.TPXTN		; ......DO THE SIGN EXTENSION
	012056	004737 	011420'			 JSR	PC,.TPXTN
   8162	012062					CALL	.TPTST		; ......SEE WHAT IT IS
	012062	004737 	011474'			 JSR	PC,.TPTST
   8163	012066	001432 				BEQ	30$		; ......EXIT IF .EQ. ZERO
   8164	012070	002415 				BLT	20$		; ......SHIFT RIGHT IF .LT. ZERO
   8165
   8166					;	[CONTINUED ON THE FOLLOWING PAGE]
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 211
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

   8168					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8169
   8170	012072				10$:				; ......HERE TO SHIFT LEFT
   8171	012072	010002 				MOV	R0,R2		; ......SHIFT COUNT POINTER TO R2
   8172	012074	011600 				MOV	(SP),R0		; ......POINT TO THE NUMBER
   8173	012076	012701 	000001 			MOV	#^D1,R1		; ......SUBSTITUTE SHIFT COUNT
   8174	012102					CALL	.TPSHI		; ......SHIFT IT ONCE
	012102	004737 	011772'			 JSR	PC,.TPSHI
   8175	012106	010200 				MOV	R2,R0		; ......REAL SHIFT COUNT POINTER TO R0
   8176	012110					CALL	.TPDEC		; ......DECREMENT IT
	012110	004737 	011550'			 JSR	PC,.TPDEC
   8177	012114					CALL	.TPTST		; ......ARE WE DONE?
	012114	004737 	011474'			 JSR	PC,.TPTST
   8178	012120	001364 				BNE	10$		; ......NO -- KEEP GOING
   8179	012122	000414 				BR	30$		; ......YES -- EXIT
   8180						;
   8181	012124				20$:				; ......HERE TO SHIFT RIGHT
   8182	012124	010002 				MOV	R0,R2		; ......SHIFT COUNT TO R2
   8183	012126	011600 				MOV	(SP),R0		; ......POINT TO THE NUMBER
   8184	012130	012701 	177777 			MOV	#-^D1,R1	; ......SUBSTITUTE SHIFT COUNT
   8185	012134					CALL	.TPSHI		; ......SHIFT IT
	012134	004737 	011772'			 JSR	PC,.TPSHI
   8186	012140	010200 				MOV	R2,R0		; ......REAL SHIFT COUNT POINTER TO R0
   8187	012142					CALL	.TPINC		; ......INCREMENT IT
	012142	004737 	011536'			 JSR	PC,.TPINC
   8188	012146					CALL	.TPTST		; ......ARE WE DONE?
	012146	004737 	011474'			 JSR	PC,.TPTST
   8189	012152	001364 				BNE	20$		; ......NO -- KEEP GOING
   8190	012154				30$:
   8191	012154					POP	<R0,R2>		; ......RESTORE R0 AND R2
	012154	012600 				 MOV	(SP)+,R0
	012156	012602 				 MOV	(SP)+,R2
   8192	012160					POP	<R1,(R1),-(R1),-(R1)>
	012160	012601 				 MOV	(SP)+,R1
	012162	012611 				 MOV	(SP)+,(R1)
	012164	012641 				 MOV	(SP)+,-(R1)
	012166	012641 				 MOV	(SP)+,-(R1)
   8193	012170					RETURN			; RETURN TO CALLER
	012170	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO M1113  03-APR-86 22:51  PAGE 212
.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19

   8195
   8196					.TITLE	TRACK -- DIAGNOSTIC FUNCTION TRACK MODULE 7603.30
   8197
   8198						.IDENT	"005000"
   8199
   8200					;
   8201					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   8202					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   8203					;			ALL RIGHTS RESERVED.
   8204					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   8205					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   8206					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   8207					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   8208					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   8209					;
   8210					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   8211					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   8212					;       CORPORATION.
   8213					;
   8214					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   8215					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   8216					;
   8217					;		MODULE: DAIGNOSTIC FUNCTION TRACK
   8218					;
   8219					;		VERSION: 05-00
   8220					;
   8221					;		AUTHOR: R. BELANGER
   8222					;
   8223					;		DATE: 7603.30
   8224					;
   8225					;	THIS MODULE CONTAINS:
   8226					;
   8227					;	1) DIAGNOSTIC FUNCTION TRACK CODE
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 213
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

   8229					.SBTTL	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
   8230
   8231					;+
   8232					; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
   8233					; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
   8234					; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
   8235					;
   8236					; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
   8237					; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
   8238					; ON THE FRONT END OUTPUT DEVICE.
   8239					;
   8240					; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
   8241					; STATE OF THE SWITCHES IN ".TRKWD". THE ".TRKWD" SWITCHES ARE TURNED
   8242					; ON OR OFF BY THE "SET" AND "CLEAR TRACK" COMMANDS, RESPECTIVELY.
   8243					;
   8244					; ERROR CODES RETURNED:
   8245					;
   8246					;	NONE.
   8247					;-
   8248
   8250
   8251						.ENABL	LSB
   8252
   8253	012172				.FRTRK::
   8254	012172					PUSH	R0		; SAVE R0 ON THE STACK
	012172	010046 				 MOV	R0,-(SP)
   8255	012174					PUSH	.KLDFR+2	; .SAVE THE FR CODE TOO
	012174	013746 	000340'			 MOV	.KLDFR+2,-(SP)
   8256	012200					PUSH	#.DFRB		; ..AND THE BUFFER ADDRESS
	012200	012746 	000344'			 MOV	#.DFRB,-(SP)
   8257	012204	012700 	002014'			MOV	#TFRMSG,R0	; ...MESSAGE POINTER TO R0
   8258	012210	000416 				BR	10$		; ...DO THE TRACKING
   8259						;
   8260	012212				.FWTRK::
   8261	012212					PUSH	R0		; SAVE R0 ON THE STACK
	012212	010046 				 MOV	R0,-(SP)
   8262	012214					PUSH	.KLDFW+2	; .SAVE THE FW CODE
	012214	013746 	000352'			 MOV	.KLDFW+2,-(SP)
   8263	012220					PUSH	#.DFWB		; ..AND THE BUFFER ADDRESS
	012220	012746 	000336'			 MOV	#.DFWB,-(SP)
   8264	012224	012700 	002031'			MOV	#TFWMSG,R0	; ...MESSAGE POINTER TO R0
   8265	012230	000406 				BR	10$		; ...GO TRACK IT
   8266						;
   8267	012232				.FXTRK::
   8268	012232					PUSH	R0		; SAVE R0 ON THE STACK
	012232	010046 				 MOV	R0,-(SP)
   8269	012234					PUSH	.KLDFX+2	; .SAVE THE FX CODE
	012234	013746 	000364'			 MOV	.KLDFX+2,-(SP)
   8270	012240	005046 				CLR	-(SP)		; ..NO BUFFER ADDRESS
   8271	012242	012700 	002046'			MOV	#TFXMSG,R0	; ...MESSAGE POINTER TO R0
   8272					;	BR	10$		; ...AND FALL INTO COMMON CODE
   8273						;
   8274
   8275					;	[CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 214
.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09

   8277					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8278
   8279	012246				10$:
   8280	012246	012737 	177777 	000220'		MOV	#-^D1,.LDZFL	; ...PRINT LEADING ZEROES
   8281	012254					CALL	.TYMSG		; ...PRINT THE MESSAGE
	012254	004737 	015462'			 JSR	PC,.TYMSG
   8282	012260	016600 	000002 			MOV	2(SP),R0	; ...GET THE FUNCTION CODE
   8283	012264	000300 				SWAB	R0		; ...SWAP THE BYTES
   8284	012266	042700 	177400 			BIC	#177400,R0	; ...FLUSH JUNK FROM HIGH BYTE
   8285	012272	006200 				ASR	R0		; ...DIVIDE IT BY 2
   8286	012274					CALL	.TYP3D		; ...TYPE THAT
	012274	004737 	015032'			 JSR	PC,.TYP3D
   8287	012300	011600 				MOV	(SP),R0		; ...BUFFER ADDRESS?
   8288	012302	001406 				BEQ	20$		; ...NO -- JUST EXIT
   8289	012304					CALL	.TYSLS		; ...YES --  TYPE A SLASH AND
	012304	004737 	014572'			 JSR	PC,.TYSLS
   8290	012310					CALL	.TYSPC		; ...TYPE A <SPACE> AND
	012310	004737 	014602'			 JSR	PC,.TYSPC
   8291	012314					CALL	.TYKLN		; ...TYPE ITS CONTENT
	012314	004737 	015156'			 JSR	PC,.TYKLN
   8292	012320				20$:
   8293	012320					CALL	.TCRLF		; ...NOW A <CRLF>
	012320	004737 	015552'			 JSR	PC,.TCRLF
   8294	012324	022626 				CMP	(SP)+,(SP)+	; ...GET RID OF BUFFER POINTER AND CODE
   8295	012326					POP	R0		; .RESTORE R0
	012326	012600 				 MOV	(SP)+,R0
   8296	012330					RETURN			; AND GO AWAY
	012330	000207 				 RTS	PC
   8297
   8298						.DSABL	LSB
   8299
   8300	002014				.PSECT	MESSAG
   8301
   8302	002014				TFRMSG:
   8303	002014	   011 	   124 	   122 		.ASCIZ	%	TRACK > FR %
	002017	   101 	   103 	   113
	002022	   040 	   076 	   040
	002025	   106 	   122 	   040
	002030	   000
   8304	002031				TFWMSG:
   8305	002031	   011 	   124 	   122 		.ASCIZ	%	TRACK > FW %
	002034	   101 	   103 	   113
	002037	   040 	   076 	   040
	002042	   106 	   127 	   040
	002045	   000
   8306	002046				TFXMSG:
   8307	002046	   011 	   124 	   122 		.ASCIZ	%	TRACK > FX %
	002051	   101 	   103 	   113
	002054	   040 	   076 	   040
	002057	   106 	   130 	   040
	002062	   000
   8308	012332				.PSECT
   8309
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 215
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   8312					.SBTTL	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
   8313
   8314					;+
   8315					; .DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS
   8316					;
   8317					; THIS SUBROUTINE WILL TRACK DTE-20 OPERATIONS AND PRINT ALL DTE-20
   8318					; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
   8319					; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
   8320					; THE DTE-20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
   8321					;
   8322					; CALLING SEQUENCE IS:
   8323					;
   8324					;	CALL	.DTTRK		; TRACK THE DTE-20
   8325					;				; ONLY RETURN
   8326					;
   8327					; THE DTE-20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
   8328					;
   8329					;	(A) DIAG 1 - DIAG WORD 1,
   8330					;	(B) DIAG 2 - DIAG WORD 2,
   8331					;	(C) STATUS - STATUS WORD,
   8332					;	(D) DIAG 3 - DIAG WORD 3.
   8333					;
   8334					; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
   8335					;
   8336					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   8337					;
   8338					; ERROR CODES RETURNED:
   8339					;
   8340					;	NONE.
   8341					;-
   8342
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 216
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   8345	012332				.DTTRK::
   8346	012332	012737 	177777 	000220'		MOV	#-^D1,.LDZFL	; PRINT LEADING ZEROES
   8347	012340					PUSH	R0		; SAVE R0
	012340	010046 				 MOV	R0,-(SP)
   8348	012342	012700 	002063'			MOV	#DTRMSG,R0	; .MESSAGE POINTER TO R0
   8349	012346					CALL	.TYMSG		; .PRINT IT
	012346	004737 	015462'			 JSR	PC,.TYMSG
   8350	012352	113700 	000303'			MOVB	.REGRW+3,R0	; .GET THE REGISTER OFFSET
   8351	012356	016000 	007240'			MOV	REGTAB(R0),R0	; .REGISTER MESSAGE POINTER TO R0
   8352	012362					CALL	.TYMSG		; .TYPE IT
	012362	004737 	015462'			 JSR	PC,.TYMSG
   8353	012366					CALL	.TYSPC		; .NOW A <SPACE>
	012366	004737 	014602'			 JSR	PC,.TYSPC
   8354	012372	005737 	000304'			TST	.REGRW+4	; .IS THIS A WRITE?
   8355	012376	001002 				BNE	10$		; .YES -- GO ON
   8356	012400	011600 				MOV	(SP),R0		; .NO -- DATA TO R0
   8357	012402	000402 				BR	20$		; .GO PRINT IT
   8358						;
   8359	012404				10$:
   8360	012404	017700 	000304'			MOV	@.REGRW+4,R0	; .GET WRITTEN DATA
   8361	012410				20$:
   8362	012410					CALL	.TYELN		; .PRINT THE DATA
	012410	004737 	014766'			 JSR	PC,.TYELN
   8363	012414	012700 	002144'			MOV	#DRDMSG,R0	; .READ MESSAGE POINTER TO R0
   8364	012420	005737 	000304'			TST	.REGRW+4	; .WAS IT A WRITE?
   8365	012424	001402 				BEQ	30$		; .YES -- GO ON
   8366	012426	012700 	002150'			MOV	#DWRMSG,R0	; .NO -- WRITE MESSAGE POINTER TO R0
   8367	012432				30$:
   8368	012432					CALL	.TYLIN		; .PRINT IT AND A <CRLF>
	012432	004737 	015446'			 JSR	PC,.TYLIN
   8369	012436					POP	R0		; .RESTORE R0
	012436	012600 				 MOV	(SP)+,R0
   8370	012440					RETURN			; TO CALLER
	012440	000207 				 RTS	PC
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 217
.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11

   8372	007240				.PSECT	DATA
   8373
   8374	007240				REGTAB:
   8375	007240	002104'				.WORD	DW1MSG		; MESSAGE POINTERS
   8376	007242	002114'				.WORD	DW2MSG
   8377	007244	002124'				.WORD	STAMSG
   8378	007246	002134'				.WORD	DW3MSG
   8379
   8380	002063				.PSECT	MESSAG
   8381	002063				DTRMSG:
   8382	002063	   011 	   124 	   122 		.ASCIZ	%	TRACK > DTE-20 %
	002066	   101 	   103 	   113
	002071	   040 	   076 	   040
	002074	   104 	   124 	   105
	002077	   055 	   062 	   060
	002102	   040 	   000
   8383
   8384	002104				DW1MSG:
   8385	002104	   104 	   111 	   101 		.ASCIZ	%DIAG 1/%
	002107	   107 	   040 	   061
	002112	   057 	   000
   8386	002114				DW2MSG:
   8387	002114	   104 	   111 	   101 		.ASCIZ	%DIAG 2/%
	002117	   107 	   040 	   062
	002122	   057 	   000
   8388	002124				STAMSG:
   8389	002124	   123 	   124 	   101 		.ASCIZ	%STATUS/%
	002127	   124 	   125 	   123
	002132	   057 	   000
   8390	002134				DW3MSG:
   8391	002134	   104 	   111 	   101 		.ASCIZ	%DIAG 3/%
	002137	   107 	   040 	   063
	002142	   057 	   000
   8392
   8393	002144				DRDMSG:
   8394	002144	   040 	   122 	   104 		.ASCIZ	% RD%
	002147	   000
   8395	002150				DWRMSG:
   8396	002150	   040 	   127 	   122 		.ASCIZ	% WR%
	002153	   000
   8397	012442				.PSECT
   8398
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 218
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   8401					.SBTTL	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
   8402
   8403					;+
   8404					; .EXTRK -- SUBROUTINE TO TRACK A KL EXAMINE.
   8405					; .DPTRK -- SUBROUTINE TO TRACK A KL DEPOSIT.
   8406					;
   8407					; THESE SUBROUTINES WILL TRACK A KL EXAMINE OR DEPOSIT BY
   8408					; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
   8409					; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
   8410					;
   8411					; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
   8412					; THE TRACK CONTROL WORD ".TRKWD".
   8413					;
   8414					; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
   8415					; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
   8416					;
   8417					; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
   8418					;
   8419					; ERROR CODES RETURNED:
   8420					;
   8421					;	NONE.
   8422					;-
   8423
   8425
   8426						.ENABL	LSB
   8427
   8428	012442				.EXTRK::
   8429	012442					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	012442	004537 	010316'			 JSR	R5,.REGSV
   8430	012446	012705 	002200'			MOV	#ETRMSG,R5	; PREAMBLE TO TYPE
   8431	012452	000404 				BR	10$		; DO COMMON CODE
   8432						;
   8433	012454				.DPTRK::
   8434	012454					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	012454	004537 	010316'			 JSR	R5,.REGSV
   8435	012460	012705 	002215'			MOV	#DTKMSG,R5	; PREAMBLE TO TYPE
   8436									; AND FALL INTO COMMON CODE
   8437
   8438					;	[CONTINUED ON THE FOLLOWING PAGE]
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 219
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   8440					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8441
   8442	012464				10$:
   8443	012464					PUSH	R0		; SAVE R0 ON THE STACK
	012464	010046 				 MOV	R0,-(SP)
   8444	012466	011100 				MOV	(R1),R0		; .GET ADDRESS POINTER
   8445	012470	012702 	007250'			MOV	#TRADDR,R2	; .POINT TO OUR BLOCK
   8446	012474	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
   8447	012476	012022 				MOV	(R0)+,(R2)+	; .
   8448	012500	005012 				CLR	(R2)		; .ZERO THE LAST WORD
   8449	012502	016100 	000002 			MOV	2(R1),R0	; .GET DATA POINTER
   8450	012506	012702 	007256'			MOV	#TRDATA,R2	; .POINT TO OUR BLOCK
   8451	012512	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
   8452	012514	012022 				MOV	(R0)+,(R2)+	; .
   8453	012516	011012 				MOV	(R0),(R2)	; .
   8454	012520	010500 				MOV	R5,R0		; .PREAMBLE POINTER TO R0
   8455	012522					CALL	.TYMSG		; .PRINT IT
	012522	004737 	015462'			 JSR	PC,.TYMSG
   8456	012526	012700 	007250'			MOV	#TRADDR,R0	; .POINT TO ADDRESS
   8457	012532					CALL	.TYKLA		; .PRINT IT
	012532	004737 	015106'			 JSR	PC,.TYKLA
   8458	012536					CALL	.TYSLS		; .TYPE A SLASH
	012536	004737 	014572'			 JSR	PC,.TYSLS
   8459	012542					CALL	.TYSPC		; .AND A <SPACE>
	012542	004737 	014602'			 JSR	PC,.TYSPC
   8460	012546	012700 	007256'			MOV	#TRDATA,R0	; .POINT TO DATA
   8461	012552					CALL	.TYKLN		; .PRINT IT
	012552	004737 	015156'			 JSR	PC,.TYKLN
   8462	012556					CALL	.TYSPC		; .AND A <SPACE>
	012556	004737 	014602'			 JSR	PC,.TYSPC
   8463	012562	011600 				MOV	(SP),R0		; .GET TYPE
   8464	012564	006200 				ASR	R0		; .DIVIDE BY 16
   8465	012566	006200 				ASR	R0		; .
   8466	012570	006200 				ASR	R0		; .
   8467	012572	006200 				ASR	R0		; .
   8468	012574	016000 	007264'			MOV	EDTYTB(R0),R0	; .GET TYPE POINTER
   8469	012600					CALL	.TYLIN		; .PRINT IT AND A <CRLF>
	012600	004737 	015446'			 JSR	PC,.TYLIN
   8470	012604					POP	R0		; .AND R0
	012604	012600 				 MOV	(SP)+,R0
   8471	012606					RETURN			; TO CALLER
	012606	000207 				 RTS	PC
   8472
   8473						.DSABL	LSB
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 220
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   8475	007250				.PSECT	DATA
   8476
   8477	007250				TRADDR:
   8478	007250	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR ADDRESS
   8479	007256				TRDATA:
   8480	007256	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR DATA
   8481	007264				EDTYTB:				; POINTERS FOR TYPE MESSAGES
   8482	007264	002154'				.WORD	EDEPT		; EPT SPACE
   8483	007266	002160'				.WORD	EDEXV		; EXEC VIRTUAL SPACE
   8484	007270	002164'				.WORD	EDUPT		; UPT SPACE
   8485	007272	002170'				.WORD	EDUSV		; USER VIRTUAL
   8486	007274	002174'				.WORD	EDPHY		; PHYSICAL SPACE
   8487
   8488	002154				.PSECT	MESSAG
   8489	002154				EDEPT:
   8490	002154	   105 	   120 	   124 		.ASCIZ	%EPT%
	002157	   000
   8491	002160				EDEXV:
   8492	002160	   105 	   126 	   123 		.ASCIZ	%EVS%
	002163	   000
   8493	002164				EDUPT:
   8494	002164	   125 	   120 	   124 		.ASCIZ	%UPT%
	002167	   000
   8495	002170				EDUSV:
   8496	002170	   125 	   126 	   123 		.ASCIZ	%UVS%
	002173	   000
   8497	002174				EDPHY:
   8498	002174	   120 	   110 	   131 		.ASCIZ	%PHY%
	002177	   000
   8499	002200				ETRMSG:
   8500	002200	   011 	   124 	   122 		.ASCIZ	%	TRACK > EX %
	002203	   101 	   103 	   113
	002206	   040 	   076 	   040
	002211	   105 	   130 	   040
	002214	   000
   8501	002215				DTKMSG:
   8502	002215	   011 	   124 	   122 		.ASCIZ	%	TRACK > DP %
	002220	   101 	   103 	   113
	002223	   040 	   076 	   040
	002226	   104 	   120 	   040
	002231	   000
   8503	012610				.PSECT
   8504
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO M1113  03-APR-86 22:51  PAGE 221
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

   8507
   8508
   8509					.TITLE	TYINP -- COMMAND PARSER COMMAND INPUT MODULE 7603.30
   8510
   8511						.IDENT	"006110"
   8512
   8513					;
   8514					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   8515					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   8516					;			ALL RIGHTS RESERVED.
   8517					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   8518					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   8519					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   8520					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   8521					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   8522					;
   8523					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   8524					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   8525					;       CORPORATION.
   8526					;
   8527					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   8528					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   8529					;
   8530					;		MODULE: COMMAND PARSER COMMAND INPUT
   8531					;
   8532					;		VERSION: 06-11
   8533					;
   8534					;		AUTHOR: R. BELANGER
   8535					;
   8536					;		DATE: 7603.30
   8537					;
   8538					;	THIS MODULE CONTAINS:
   8539					;
   8540					;	1) COMMAND LINE INPUT CODE
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 222
.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22

   8542					.SBTTL	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
   8543
   8544					;+
   8545					; .GTCMD -- SUBROUTINE TO GET A COMMAND LINE FROM THE CONSOLE INPUT
   8546					;	    BUFFER.
   8547					;
   8548					; THIS SUBROUTINE WILL GET A COMMAND LINE FROM THE CONSOLE INPUT DEVICE
   8549					; BUFFER AND PLACE IT INTO THE COMMAND BUFFER.
   8550					;
   8551					; INPUT ARGUMENTS:
   8552					;
   8553					;	R5 POINTS TO THE DESTINATION BUFFER.
   8554					;
   8555					; OUTPUT ARGUMENTS:
   8556					;
   8557					;	R5 POINTS TO THE BEGINNING OF THE COMMAND BUFFER
   8558					;	".INCHC" HAS THE COUNT OF THE CHARACTERS IN THE COMMAND BUFFER
   8559					;	THE LAST CHARACTER IN THE COMMAND BUFFER IS A "<NULL>".
   8560					;
   8561					; ERROR CODES RETURNED:
   8562					;
   8563					;	IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
   8564					;
   8565					;	CBO -- COMMAND BUFFER OVERFLOW.
   8566					;	ILC -- ILLEGAL CHARACTER.
   8567					;-
   8568
   8569	012610				.GTCMD::
   8570	012610	010501 				MOV	R5,R1		; COMMAND BUFFER POINTER TO R1
   8571	012612				10$:
   8572	012612					PUSH	R1		; SAVE R1 ON THE STACK
	012612	010146 				 MOV	R1,-(SP)
   8573	012614					CALL	.GTLIN		; .GO GET THE COMMAND LINE
	012614	004737 	012644'			 JSR	PC,.GTLIN
   8574	012620	022601 				CMP	(SP)+,R1	; .DID THE POINTER CHANGE?
   8575	012622	001407 				BEQ	20$		; NO -- JUST EXIT
   8576	012624	122741 	000055 			CMPB	#'-,-(R1)	; YES -- WAS LAST CHARACTER LINE CONTINUATION?
   8577	012630	001004 				BNE	20$		; NO -- EXIT
   8578	012632	111100 				MOVB	(R1),R0		; YES -- PROMPT FOR CONTINUATION
   8579	012634					CALL	.TFCHR		; FORCE PRINT THE PROMPT
	012634	004737 	015504'			 JSR	PC,.TFCHR
   8580	012640	000764 				BR	10$		; AND GO GET THE REST OF THE LINE
   8581						;
   8582	012642				20$:
   8583	012642					RETURN			; TO CALLER
	012642	000207 				 RTS	PC
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 223
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   8585					.SBTTL	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
   8586
   8587					;+
   8588					; .GTLIN -- SUBROUTINE TO GET AN INPUT LINE FROM THE CONSOLE
   8589					;
   8590					; THIS SUBROUTINE WILL GET A LINE OF INPUT FROM THE CONSOLE DEVICE
   8591					; AND PERFORM THE FOLLOWING CHARACTER CONVERSIONS:
   8592					;
   8593					;	(A) LOWER CASE CHARACTERS ARE CONVERTED TO UPPER CASE
   8594					;	(B) "<TAB>" IS CONVERTED TO "<SPACE>"
   8595					;
   8596					; INPUT ARGUMENTS:
   8597					;
   8598					;	R1 POINTS TO THE BEGINNING OF THE DESTINATION BUFFER
   8599					;
   8600					; OUTPUT ARGUMENTS:
   8601					;
   8602					;	R1 POINTS TO THE END OF THE DESTINATION BUFFER
   8603					;
   8604					; ERROR CODES RETURNED:
   8605					;
   8606					;	IF THE CONSOLE INPUT FAILS, THE PARSER WILL EXIT.
   8607					;
   8608					;	CBO -- COMMAND BUFFER OVERFLOW.
   8609					;	FRD -- FILE READ FAILURE
   8610					;	ILC -- ILLEGAL CHARACTER.
   8611					;-
   8612
   8613						.MCALL	DIR$, QIOW$
   8614
   8615	012644				.GTLIN::
   8616	012644					PUSH	<R0,R2,R3,R4>	; SAVE SOME REGISTERS
	012644	010046 				 MOV	R0,-(SP)
	012646	010246 				 MOV	R2,-(SP)
	012650	010346 				 MOV	R3,-(SP)
	012652	010446 				 MOV	R4,-(SP)
   8617	012654	012700 	000362'			MOV	#.CIBFR,R0	; ...INPUT BUFFER POINTER TO R0
   8618	012660	005037 	000164'			CLR	.INCHC		; ...CLEAR THE CHARACTER COUNTER
   8619	012664	005737 	001660'			TST	.INDFG		; [5.1000]IS INPUT REDIRECTED TO FILE?
   8621	012670	001011 				BNE	10$		; [5.1000]YES -- GET INPUT FROM FILE
   8622	012672	005737 	000176'			TST	.KLEDF		; [5.1006]NO -- GET DEFAULT COMMANDS?
   8623	012676	001427 				BEQ	12$		; [5.1006]NO -- GET INPUT FROM CTY
   8624	012700					CALL	.KLE		; [5.1006]YES -- GET COMMANDS
	012700	004737 	000000G			 JSR	PC,.KLE
   8625	012704	005737 	000010'			TST	.CISTS+2	; [5.1006]ANY COMMAND?
   8626	012710	001442 				BEQ	15$		; [5.1006]NO -- DONE
   8627	012712	000407 				BR	11$		; [5.1006]YES -- ECHO COMMANDS
   8631	012714	012702 	000362'		10$:	MOV	#.CIBFR,R2	; [5.1000]YES -- SET UP INPUT BUFFER
   8632	012720	012703 	000006'			MOV	#.CISTS,R3	; [5.1000]STATUS PTR
   8633	012724					CALL	.READR		; [5.1000]GET THE COMMAND
	012724	004737 	002224'			 JSR	PC,.READR
   8634	012730	103432 				BCS	15$		; [5.1000]EOF ENCOUNTERED
   8635	012732	012737 	000362'	000430'	11$:	MOV	#.CIBFR,.CDOBP	; [5.1000]SET ECHO BUFFER
   8636	012740	013737 	000010'	000432'		MOV	.CISTS+2,.CDOBC	; [5.1000]SET BYTE COUNT
   8637	012746	001423 				BEQ	15$		; [5.1000]NULL COMMAND?
   8638	012750					CALL	.TYOUT		; [5.1000]NO -- ECHO IT
	012750	004737 	015600'			 JSR	PC,.TYOUT
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 223-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   8639	012754	000420 				BR	15$		; [5.1000]PROCESS COMMAND
   8640	012756				12$:	DIR$	#.CDINP		; ...READ THE LINE INTO INPUT BUFFER
	012756	012746 	000374'			MOV	#.CDINP,-(SP)
	012762	104375 				EMT	375
   8641	012764	103457 				BCS	70$		; ...GIVE CONSOLE INPUT FAILED ERROR
   8642	012766	105737 	000006'			TSTB	.CISTS		; ...TEST THE STATUS BYTE
   8643	012772	002454 				BLT	70$		; ...GIVE CONSOLE INPUT FAILED ERROR
   8644	012774	012737 	000362'	000452'		MOV	#.CIBFR,.LDOBP	; [5.1000]NO -- SET LOG,LPT OUTPUT BUFFER
   8645	013002	013737 	000010'	000454'		MOV	.CISTS+2,.LDOBC	; [5.1000]SET BYTE COUNT
   8646	013010	001402 				BEQ	15$		; [5.1000]NULL COMMAND?
   8647	013012					CALL	.TYOU1		; [5.1000]NO -- ECHO COMMAND TO LPT,LOG
	013012	004737 	015660'			 JSR	PC,.TYOU1
   8648	013016				15$:	CALL	.TCRLF		; ...ACKNOWLEDGE THE LINE
	013016	004737 	015552'			 JSR	PC,.TCRLF
   8649	013022	013703 	000010'			MOV	.CISTS+2,R3	; ...INPUT BYTE COUNT TO R3
   8650	013026	001415 				BEQ	40$		; ...NULL LINE IF .EQ. 0
   8651	013030				20$:
   8652	013030	112004 				MOVB	(R0)+,R4	; ...GET THE CHARACTER INTO R4
   8653	013032	001441 				BEQ	GTLILC		; ...ILLEGAL IF <NULL>
   8654	013034	105764 	001502'			TSTB	.CHTAB(R4)	; ...SEE IF IT IS A LEGAL CHARACTER
   8655	013040	002420 				BLT	50$		; ...NO -- SEE IF IT IS REALLY ILLEGAL
   8656
   8657					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 224
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   8659					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8660
   8661	013042				30$:
   8662	013042	110421 				MOVB	R4,(R1)+	; ...PUT IT INTO THE OUTPUT BUFFER
   8663	013044	005237 	000164'			INC	.INCHC		; ...INCREMENT THE CHARACTER COUNT
   8664	013050	023727 	000164'	000430 		CMP	.INCHC,#.CMNDL	; ...HAVE WE OVERFLOWED?
   8665	013056	003024 				BGT	GTLCBO		; ...YES -- GIVE ERROR
   8666	013060	077315 				SOB	R3,20$		; ...NO -- LOOP TILL DONE THIS LINE
   8667	013062				40$:
   8668	013062	105011 				CLRB	(R1)		; ...MARK THE END OF LINE
   8669	013064					POP	<R4,R3,R2,R0>	; ...RESTORE THE REGISTERS
	013064	012604 				 MOV	(SP)+,R4
	013066	012603 				 MOV	(SP)+,R3
	013070	012602 				 MOV	(SP)+,R2
	013072	012600 				 MOV	(SP)+,R0
   8670	013074	005737 	000164'			TST	.INCHC		; TEST THE INPUT BYTE COUNT
   8671	013100					RETURN			; TO CALLER
	013100	000207 				 RTS	PC
   8672	013102				50$:				; ...HERE TO CHECK ILLEGAL CHARACTERS
   8673	013102	122704 	000041 			CMPB	#'!,R4		; ...WAS IT A COMMENT?
   8674	013106	001765 				BEQ	40$		; ...YES -- JUST EXIT
   8675	013110	122704 	000011 			CMPB	#11,R4		; ...NO -- WAS IT A <TAB>?
   8679	013114	001010 				BNE	GTLILC		; ...NO -- GIVE "ILC" ERROR
   8681	013116	112704 	000040 			MOVB	#.SPACE,R4	; ...YES -- MAKE IT A <SPACE>
   8682	013122	000747 				BR	30$		; ...AND PUT IT IN THE BUFFER
   8683						;
   8694	013124				70$:
   8695	013124					CALLR	.EXITP		; EXIT GRACEFULLY
	013124	000137 	010110'			 JMP	.EXITP
   8696						;
   8697	013130				GTLCBO:
   8698	013130					ERROR$	CBO		; ERROR -- COMMAND BUFFER OVERFLOW
	013130	012746 	011437 			 MOV	#^RCBO,-(SP)
	013134	104400 				 TRAP	TC.ERR
   8699						;
   8700	013136				GTLILC:
   8701	013136					ERROR$	ILC		; ERROR -- ILLEGAL CHARACTER
	013136	012746 	035043 			 MOV	#^RILC,-(SP)
	013142	104400 				 TRAP	TC.ERR
   8702						;
   8703					; THIS IS THE CONSOLE INPUT DPB
   8704
   8705	000374				.PSECT	DPBS
   8706
   8707	000374				.CDINP::
   8708	000374					QIOW$	IO.RLB,CIDLUN,E.FCID,0,.CISTS,0,<.CIBFR,.CIBFL>
	000374	   003 	   010 			.BYTE	3,$$$ARG
	000376	000000G				.WORD	IO.RLB
	000400	000001 				.WORD	CIDLUN
	000402	   002 	   000 			.BYTE	E.FCID,0
	000404	000006'				.WORD	.CISTS
	000406	000000 				.WORD	0
	000410	000362'				.WORD	.CIBFR
	000412	000214 				.WORD	.CIBFL
   8709
   8710		000410'			.CDIBP=.CDINP+Q.IOPL		; CONSOLE INPUT BYTE POINTER
   8711		000412'			.CDIBC=.CDINP+Q.BYCT		; CONSOLE INPUT BYTE COUNT
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 224-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   8712
   8713	013144				.PSECT
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 225
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01

   8715					.SBTTL	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
   8716
   8717					;+
   8718					; .ELNCK -- SUBROUTINE TO TEST FOR A LEGAL PDP-11 NUMBER
   8719					;
   8720					; THIS SUBROUTINE WILL TEST A NUMBER TO SEE IF IT IS A LEGAL PDP-11
   8721					; NUMBER. THIS IS REQUIRED BECAUSE THE NUMERIC INPUT ROUTINES HANDLE
   8722					; ONLY 36 BIT NUMBERS.
   8723					;
   8724					; INPUT ARGUMENTS:
   8725					;
   8726					;	R0 POINTS TO THE PDP-11 NUMBER TO BE TESTED
   8727					;
   8728					; OUTPUT ARGUMENTS:
   8729					;
   8730					;	R0 POINTS TO THE PDP-11 NUMBER
   8731					;
   8732					; ERROR CODES RETURNED:
   8733					;
   8734					;	NOR -- INPUT NUMBER OUT OF RANGE.
   8735					;-
   8736
   8737	013144				.ELNCK::
   8738	013144	032760 	000010 	000004 		BIT	#10,4(R0)	; IS THIS A NEGATIVE NUMBER?
   8739	013152	001411 				BEQ	10$		; NO -- POSITIVE
   8740	013154	022760 	177777 	000004 		CMP	#-^D1,4(R0)	; YES -- ARE ALL THE BITS ON?
   8741	013162	001014 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   8742	013164	022760 	177777 	000002 		CMP	#-^D1,2(R0)	; YES -- HOW ABOUT THE SECOND WORD?
   8743	013172	001010 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   8744	013174	000406 				BR	20$		; YES -- ALL OK, EXIT
   8745						;
   8746	013176				10$:
   8747	013176	005760 	000004 			TST	4(R0)		; SEE IF HIGH WORD IS .EQ. ZERO
   8748	013202	001004 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   8749	013204	005760 	000002 			TST	2(R0)		; IS SECOND WORD .EQ. ZERO?
   8750	013210	001001 				BNE	ELNNOR		; NO -- GIVE "NOR" ERROR
   8751	013212				20$:
   8752	013212					RETURN			; TO CALLER
	013212	000207 				 RTS	PC
   8753	013214				ELNNOR:
   8754	013214	000137 	014534'			JMP	GTNNOR		; GIVE "NOR" ERROR
   8755						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 226
.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05

   8757					.SBTTL	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
   8758
   8759					;+
   8760					; .GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER
   8761					;
   8762					; THIS SUBROUTINE WILL RETURN A PDP-11 NUMBER IN R0.
   8763					;
   8764					; INPUT ARGUMENTS:
   8765					;
   8766					;	NONE.
   8767					;
   8768					; OUTPUT ARGUMENTS:
   8769					;
   8770					;	R0 HOLDS THE PDP-11 NUMBER.
   8771					;
   8772					; ERROR CODES RETURNED:
   8773					;
   8774					;	NOR -- INPUT NUMBER OUT OF RANGE.
   8775					;-
   8776
   8777	013220				.GTELN::
   8778	013220	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   8779	013222	005046 				CLR	-(SP)		; .
   8780	013224	005046 				CLR	-(SP)		; ..
   8781	013226	010600 				MOV	SP,R0		; ...
   8782	013230					CALL	.GTNUM		; ...GET A NUMBER
	013230	004737 	013302'			 JSR	PC,.GTNUM
   8783	013234					CALL	.ELNCK		; ...SEE IF IS REALLY A PDP-11 NUMBER
	013234	004737 	013144'			 JSR	PC,.ELNCK
   8784	013240	011000 				MOV	(R0),R0		; ...PUT THE NUMBER IN R0
   8785	013242	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   8786	013246					RETURN			; TO CALLER
	013246	000207 				 RTS	PC
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 227
.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05

   8788					.SBTTL	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
   8789
   8790					;+
   8791					; .GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS.
   8792					;
   8793					; THIS SUBROUTINE WILL READ AND RETURN A 36 BIT NUMBER AS A 22 BIT
   8794					; ADDRESS IN THE BUFFER POINTED TO BY R0 IN THE CALL.
   8795					;
   8796					; INPUT ARGUMENTS:
   8797					;
   8798					;	R0 POINTS TO A THREE WORD BUFFER
   8799					;
   8800					; OUTPUT ARGUMENTS:
   8801					;
   8802					;	R0 POINTS TO THE 22 BIT KL ADDRESS
   8803					;
   8804					; ERROR CODES RETURNED:
   8805					;
   8806					;	KLA -- KL ADDRESS ERROR.
   8807					;	NOR -- NUMBER OUT OF RANGE
   8808					;-
   8809
   8810	013250				.GTKLA::
   8811	013250					CALL	.GTNUM		; GET A NUMBER
	013250	004737 	013302'			 JSR	PC,.GTNUM
   8812	013254	005760 	000004 			TST	4(R0)		; CHECK FOR A LEGAL ADDRESS
   8813	013260	001005 				BNE	GTKKLA		; BAD NEWS -- OUT OF RANGE
   8814	013262	032760 	177600 	000002 		BIT	#^C177,2(R0)	; LOOK AT SECOND WORD
   8815	013270	001001 				BNE	GTKKLA		; SAME HERE -- OUT OF RANGE
   8816	013272					RETURN			; TO CALLER
	013272	000207 				 RTS	PC
   8817	013274				GTKKLA:
   8818	013274					ERROR$	KLA		; ERROR -- KL ADDRESS ERROR
	013274	012746 	043241 			 MOV	#^RKLA,-(SP)
	013300	104400 				 TRAP	TC.ERR
   8819						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 228
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09

   8821					.SBTTL	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
   8822
   8823					;+
   8824					; .GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION
   8825					; .GTKLN -- ".GTNUM" BY ANOTHER NAME
   8826					;
   8827					; THIS SUBROUTINE WILL READ AND CONVERT A NUMERIC EXPRESSION FROM
   8828					; THE INPUT STREAM AND RETURN A POINTER TO THE NUMBER IN R0
   8829					;
   8830					; INPUT ARGUMENTS:
   8831					;
   8832					;	R0 POINTS TO THE DESTINATION OF THE NUMBER
   8833					;	R5 POINTS TO THE INPUT STREAM
   8834					;
   8835					; OUTPUT ARGUMENTS:
   8836					;
   8837					;	R0 POINTS TO THE NUMBER
   8838					;	R5 POINTS TO THE FIRST CHARACTER AFTER THE NUMBER
   8839					;
   8840					; ERROR CODES RETURNED:
   8841					;
   8842					;	ILC -- ILLEGAL CHARACTER.
   8843					;	NOR -- NUMBER OUT OF RANGE.
   8844					;-
   8845
   8846	013302				.GTNUM::
   8847	013302				.GTKLN::
   8848	013302					PUSH	R1		; SAVE R1
	013302	010146 				 MOV	R1,-(SP)
   8849	013304					CALL	.CKSYM		; .GET OVER LEADING BLANKS
	013304	004737 	000374'			 JSR	PC,.CKSYM
   8850	013310	122715 	000077 			CMPB	#'?,(R5)	; .IS THIS AN INQUIRY?
   8851	013314	001474 				BEQ	GTNNER		; .YES -- SAY SO
   8852	013316					CALL	.TPCLR		; .NO -- CLEAR CALLER'S NUMBER
	013316	004737 	011372'			 JSR	PC,.TPCLR
   8853	013322					CALL	.CKARG		; [5.1018]IS ARGUMENT NUMERIC?
	013322	004737 	000070'			 JSR	PC,.CKARG
   8854	013326	100403 				BMI	5$		; [5.1018]YES -- GET IT
   8855	013330					CALL	.GTOPC		; <*>NO -- DECODE OPCODE
	013330	004737 	013514'			 JSR	PC,.GTOPC
   8856	013334	000405 				BR	7$		; [5.1018]GET RIGHT HALF
   8857	013336				5$:	CALL	.GTEXP		; .READ THIS EXPRESSION
	013336	004737 	013706'			 JSR	PC,.GTEXP
   8858	013342	122715 	000040 			CMPB	#.SPACE,(R5)	; .IS THE TERMINATOR A <SPACE>?
   8859	013346	001053 				BNE	30$		; .NO -- JUST EXIT
   8860	013350				7$:	CALL	.CKARG		; .YES -- SEE IF NUMERIC ARGUMENT FOLLOWS
	013350	004737 	000070'			 JSR	PC,.CKARG
   8861	013354	001454 				BEQ	GTNNER		; .NOT NUMERIC -- GIVE "NER" ERROR
   8862	013356					CALL	.TPTST		; .NUMERIC -- SEE IF PREVIOUS IS NEGATIVE
	013356	004737 	011474'			 JSR	PC,.TPTST
   8863	013362	002407 				BLT	10$		; .NEGATIVE -- DON'T DO RANGE CHECK
   8864	013364	032760 	177774 	000002 		BIT	#^C3,2(R0)	; .IS THE NUMBER IN RANGE?
   8865	013372	001043 				BNE	GTNORE		; .NO -- GIVE "NOR" ERROR
   8866	013374	005760 	000004 			TST	4(R0)		; .IS IT REALLY IN RANGE?
   8867	013400	001040 				BNE	GTNORE		; .NO -- GIVE "NOR" ERROR
   8868
   8869					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 229
.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09

   8871					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8872
   8873	013402				10$:
   8874	013402	012701 	000022 			MOV	#^D18,R1	; .SHIFT COUNT TO R1
   8875	013406					CALL	.TPSHI		; .SHIFT IT
	013406	004737 	011772'			 JSR	PC,.TPSHI
   8876	013412	010001 				MOV	R0,R1		; .SAVE THE POINTER TO THE CURRENT NUMBER
   8877	013414	005046 				CLR	-(SP)		; .CLEAR A NEW BUFFER
   8878	013416	005046 				CLR	-(SP)		; ..
   8879	013420	005046 				CLR	-(SP)		; ...
   8880	013422	010600 				MOV	SP,R0		; ....POINT TO THE BUFFER
   8881	013424					PUSH	R1		; ....SAVE THE OLD POINTER
	013424	010146 				 MOV	R1,-(SP)
   8882	013426					CALL	.GTEXP		; .....READ THE NEW EXPRESSION
	013426	004737 	013706'			 JSR	PC,.GTEXP
   8883	013432					CALL	.CKEOS		; .....MUST HAVE E-O-S AT THIS POINT
	013432	004737 	000256'			 JSR	PC,.CKEOS
   8884	013436					CALL	.TPTST		; .....SEE IF THIS NUMBER IS NEGATIVE
	013436	004737 	011474'			 JSR	PC,.TPTST
   8885	013442	003005 				BGT	20$		; .....YES -- GO ON
   8886	013444	005060 	000004 			CLR	4(R0)		; .....YES -- FIX IT UP
   8887	013450	042760 	177774 	000002 		BIC	#^C3,2(R0)	; .....SO
   8888	013456				20$:
   8889	013456					POP	R1		; .....GET THE POINTER TO THE FIRST PART
	013456	012601 				 MOV	(SP)+,R1
   8890	013460	052021 				BIS	(R0)+,(R1)+	; ....ASSEMBLE THE NEW NUMBER
   8891	013462	052021 				BIS	(R0)+,(R1)+	; ....FROM BOTH HALVES
   8892	013464	051011 				BIS	(R0),(R1)	; ....SO
   8893	013466	062706 	000006 			ADD	#^D6,SP		; ....RESET THE STACK
   8894	013472	024141 				CMP	-(R1),-(R1)	; .BACK THE POINTER UP
   8895	013474	010100 				MOV	R1,R0		; .PUT IT IN R0
   8896	013476				30$:
   8897	013476					POP	R1		; .RESTORE R1
	013476	012601 				 MOV	(SP)+,R1
   8898	013500					RETURN			; TO CALLER
	013500	000207 				 RTS	PC
   8899	013502				GTNORE:
   8900	013502	000137 	014534'			JMP	GTNNOR		; GIVE "NOR" ERROR
   8901						;
   8902	013506				GTNNER:
   8903	013506					ERROR$	NER		; ERROR -- NUMERIC EXPRESSION REQUIRED
	013506	012746 	054132 			 MOV	#^RNER,-(SP)
	013512	104400 				 TRAP	TC.ERR
   8904						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 230
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"

   8906					.SBTTL	.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
   8907
   8908					;+
   8909					; .GTOPC -- KL I/O OPCODE DECODER ROUTINE
   8910					;
   8911					; THIS ROUTINE WILL DECODE AN ARGUMENT OF THE FORM "FUNC DEV" WHERE
   8912					; FUNC IS ONE OF THE FOLLOWING "CONO,CONI,DATAO,DATAI,BLKO,BLKI,CONSO,
   8913					; CONSZ" AND DEV IS A DEVICE CODE. THE ROUTINE WILL RETURN IN THE THREE
   8914					; WORD BLOCK POINTED TO BY R0 THE LEFT HALF OF THE 36 BIT KL INSTRUCTION
   8915					; IN THE FIRST 18 BITS.
   8916
   8917					;	THIS ROUTINE ADDED FOR TCO 5.1018
   8918					;
   8919					; INPUT ARGUMENTS:
   8920					;
   8921					;	R0 POINTS TO THE 3 WORD DESTINATION BLOCK
   8922					;	R5 POINTS TO INPUT STREAM
   8923					;
   8924					; OUTPUT ARGUMENTS:
   8925					;
   8926					;	R0 POINTS TO NUMBER WITH LEFT HALF FILLED IN
   8927					;	R5 POINTS TO FIRST CHARACTER AFTER "FUNC DEV"
   8928					;
   8929					; ERROR CODES RETURNED:
   8930					;
   8931					;	ILI -- ILLEGAL INSTRUCTION
   8932					;	NER -- NUMERIC EXPRESSION REQUIRED
   8933					;	NOR -- NUMBER OUT OF RANGE
   8934					;-
   8935
   8936	013514				.GTOPC::
   8937	013514					PUSH	<R0,R1,R5>	; SAVE REGISTERS
	013514	010046 				 MOV	R0,-(SP)
	013516	010146 				 MOV	R1,-(SP)
	013520	010546 				 MOV	R5,-(SP)
   8938	013522	005010 				CLR	(R0)		; CLEAR BITS 20-35
   8939	013524	052710 	100000 			BIS	#100000,(R0)	; SET BIT 20 FOR I/O OPCODE
   8940	013530	052760 	000003 	000002 		BIS	#3,2(R0)	; SET BITS 18-19 FOR I/O OPCODE
   8941	013536	012701 	007276'			MOV	#IOTAB,R1	; TABLE PTR TO R1
   8942	013542	012100 			10$:	MOV	(R1)+,R0	; TEXT PTR TO R0
   8943	013544	001455 				BEQ	GTNILI		; TABLE DONE?
   8944	013546	011605 				MOV	(SP),R5		; RESTORE R5 (CHANGED ON PARTIAL MATCH)
   8945	013550					CALL	.SSCAN		; NO -- CHECK FOR MATCH
	013550	004737 	010774'			 JSR	PC,.SSCAN
   8946	013554	103772 				BCS	10$		; NO MATCH
   8947	013556	001371 				BNE	10$		; NOT EXACT MATCH
   8948	013560	005726 				TST	(SP)+		; R5 NO LONGER NEEDED
   8949	013562	162701 	007300'			SUB	#IOTAB+2,R1	; GET TABLE OFFSET
   8950	013566	006301 				ASL	R1		; PUT INSTR CODE IN POSITION
   8951	013570	006301 				ASL	R1
   8952	013572	006301 				ASL	R1
   8953	013574	006301 				ASL	R1
   8954	013576	016600 	000002 			MOV	2(SP),R0	; RESTORE R0
   8955	013602	050110 				BIS	R1,(R0)		; SET INSTR CODE
   8956	013604	122715 	000040 			CMPB	#' ,(R5)	; NEXT CHAR A SPACE?
   8957	013610	001033 				BNE	GTNILI		; NO -- ERROR
   8958	013612					CALL	.CKARG		; YES -- NEXT ARGUMENT NUMERIC?
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 230-1
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"

	013612	004737 	000070'			 JSR	PC,.CKARG
   8959	013616	100333 				BPL	GTNNER		; NO -- ERROR
   8960	013620					CALL	.GTELN		; YES -- GET DEVICE CODE
	013620	004737 	013220'			 JSR	PC,.GTELN
   8961	013624	020027 	000774 			CMP	R0,#774		; IN RANGE?
   8962	013630	101324 				BHI	GTNORE		; NO -- TOO LARGE ERROR
   8963	013632	032700 	000003 			BIT	#3,R0		; YES -- ILLEGAL BITS ON?
   8964	013636	001321 				BNE	GTNORE		; YES -- ERROR
   8965	013640	006300 				ASL	R0		; NO -- PUT DEVICE CODE IN POSITION
   8966	013642	006300 				ASL	R0
   8967	013644	006300 				ASL	R0
   8968	013646	006300 				ASL	R0
   8969	013650	006300 				ASL	R0
   8970	013652	006300 				ASL	R0
   8971	013654	010001 				MOV	R0,R1		; STORE VALUE IN R1
   8972	013656	016600 	000002 			MOV	2(SP),R0	; RESTORE R0
   8973	013662	050110 				BIS	R1,(R0)		; SET DEVICE CODE
   8974	013664	122725 	000054 			CMPB	#',,(R5)+	; NEXT CHAR A COMMA?
   8975	013670	001003 				BNE	GTNILI		; NO -- ERROR
   8976	013672					POP	<R1,R0>		; YES -- RESTORE REGISTERS
	013672	012601 				 MOV	(SP)+,R1
	013674	012600 				 MOV	(SP)+,R0
   8977	013676					RETURN
	013676	000207 				 RTS	PC
   8978						;
   8979	013700				GTNILI:
   8980	013700					ERROR$	ILI		; ERROR -- ILLEGAL INSTRUCTION
	013700	012746 	035051 			 MOV	#^RILI,-(SP)
	013704	104400 				 TRAP	TC.ERR
   8981						;
   8982
   8983	007276				.PSECT	DATA
   8984
   8985	007276				IOTAB:
   8986	007276	002232'				.WORD	BLKIS
   8987	007300	002237'				.WORD	DATAIS
   8988	007302	002245'				.WORD	BLKOS
   8989	007304	002252'				.WORD	DATAOS
   8990	007306	002260'				.WORD	CONOS
   8991	007310	002265'				.WORD	CONIS
   8992	007312	002272'				.WORD	CONSZS
   8993	007314	002300'				.WORD	CONSOS
   8994	007316	000000 				.WORD	0
   8995
   8996	002232				.PSECT	MESSAG
   8997
   8998	002232	   102 	   114 	   113 	BLKIS:	.ASCIZ	/BLKI/
	002235	   111 	   000
   8999	002237	   104 	   101 	   124 	DATAIS:	.ASCIZ	/DATAI/
	002242	   101 	   111 	   000
   9000	002245	   102 	   114 	   113 	BLKOS:	.ASCIZ	/BLKO/
	002250	   117 	   000
   9001	002252	   104 	   101 	   124 	DATAOS:	.ASCIZ	/DATAO/
	002255	   101 	   117 	   000
   9002	002260	   103 	   117 	   116 	CONOS:	.ASCIZ	/CONO/
	002263	   117 	   000
   9003	002265	   103 	   117 	   116 	CONIS:	.ASCIZ	/CONI/
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 230-2
.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"

	002270	   111 	   000
   9004	002272	   103 	   117 	   116 	CONSZS:	.ASCIZ	/CONSZ/
	002275	   123 	   132 	   000
   9005	002300	   103 	   117 	   116 	CONSOS:	.ASCIZ	/CONSO/
	002303	   123 	   117 	   000
   9006
   9007	013706				.PSECT
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 231
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

   9009					.SBTTL	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
   9010
   9011					;+
   9012					; .GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM"
   9013					;
   9014					; THIS ROUTINE EVALUATES NUMERIC EXPRESSIONS FOR ".GTNUM".
   9015					;
   9016					; DEFINITION OF AN EXPRESSION:
   9017					;
   9018					; EXP=TERM+TERM!TERM-TERM!TERM+TERM+....!TERM-TERM-....!TERM
   9019					;
   9020					; INPUT ARGUMENTS:
   9021					;
   9022					;	R0 POINTS TO A THREE WORD BUFFER
   9023					;
   9024					; OUTPUT ARGUMENTS:
   9025					;
   9026					;	R0 POINTS TO THE EVALUATED EXPRESSION
   9027					;
   9028					; ERROR CODES RETURNED:
   9029					;
   9030					;	NONE.
   9031					;-
   9032
   9033	013706				.GTEXP::
   9034	013706					CALL	.GTTRM		; GET THE NEXT TERM
	013706	004737 	014002'			 JSR	PC,.GTTRM
   9035	013712				10$:
   9036	013712	122715 	000053 			CMPB	#'+,(R5)	; DID HE SAY ADD?
   9037	013716	001404 				BEQ	20$		; YES -- GO DO THE ADDITION
   9038	013720	122715 	000055 			CMPB	#'-,(R5)	; NO -- DID HE SAY SUBTRACT?
   9039	013724	001404 				BEQ	30$		; YES -- GO DO THE SUBTRACTION
   9040	013726					RETURN			; NO -- JUST RETURN
	013726	000207 				 RTS	PC
   9041
   9042					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 232
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

   9044					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9045
   9046	013730				20$:
   9047	013730	012702 	011516'			MOV	#.TPADD,R2	; DISPATCH ADDRESS TO R2
   9048	013734	000402 				BR	40$		; TO COMMON ROUTINE
   9049						;
   9050	013736				30$:
   9051	013736	012702 	011562'			MOV	#.TPSUB,R2	; DISPATCH ADDRESS TO R2
   9052	013742				40$:
   9053	013742	112504 				MOVB	(R5)+,R4	; GET OVER THE OPERATOR CHARACTER
   9054	013744	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   9055	013746	005046 				CLR	-(SP)		; .
   9056	013750	005046 				CLR	-(SP)		; ..
   9057	013752	010601 				MOV	SP,R1		; ...SCRATCH POINTER TO R1
   9058	013754					PUSH	R2		; ...SAVE THE DISPATCH ADDRESS
	013754	010246 				 MOV	R2,-(SP)
   9059	013756					PUSH	R0		; ....AND PREVIOUS POINTER
	013756	010046 				 MOV	R0,-(SP)
   9060	013760	010100 				MOV	R1,R0		; .....CURRENT POINTER TO R0
   9061	013762					CALL	.GTTRM		; .....GET THE NEXT TERM
	013762	004737 	014002'			 JSR	PC,.GTTRM
   9062	013766	010001 				MOV	R0,R1		; .....CURRENT POINTER TO R1
   9063	013770					POP	R0		; .....RESTORE PREVIOUS POINTER
	013770	012600 				 MOV	(SP)+,R0
   9064	013772					CALL	@(SP)+		; ....DO THE ADDITION OR SUBTRACTION
	013772	004736 				 JSR	PC,@(SP)+
   9065	013774	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   9066	014000	000744 				BR	10$		; AND SEE IF THERE IS MORE
   9067						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 233
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03

   9069					.SBTTL	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
   9070
   9071					;+
   9072					; .GTTRM -- TERM EVALUATOR FOR ".GTNUM"
   9073					;
   9074					; THIS ROUTINE EVALUATES NUMERIC TERMS FOR ".GTNUM".
   9075					;
   9076					; DEFINITION OF A TERM:
   9077					;
   9078					; TERM=FACTOR*FACTOR!FACTOR/FACTOR!FACTOR*FACTOR*....!FACTOR/FACTOR/....!FACTOR
   9079					;
   9080					; INPUT ARGUMENTS:
   9081					;
   9082					;	R0 POINTS TO A THREE WORD BUFFER
   9083					;
   9084					; OUTPUT ARGUMENTS:
   9085					;
   9086					;	R0 POINTS TO THE EVALUATED TERM
   9087					;
   9088					; ERROR CODES RETURNED:
   9089					;
   9090					;	NONE.
   9091					;-
   9092
   9093	014002				.GTTRM::
   9094	014002					CALL	.GTFCT		; GET THE NEXT FACTOR
	014002	004737 	014114'			 JSR	PC,.GTFCT
   9095	014006	001411 				BEQ	20$		; EXIT IF NULL ARGUMENT
   9096	014010				10$:
   9097	014010	122715 	000137 			CMPB	#'_,(R5)	; DID HE SAY SHIFT?
   9098	014014	001407 				BEQ	30$		; YES -- GO DO THE SHIFT
   9099	014016	122715 	000052 			CMPB	#'*,(R5)	; NO -- DID HE SAY MULTIPLY?
   9100	014022	001412 				BEQ	50$		; YES -- GO DO THE MULTIPLICATION
   9101	014024	122715 	000057 			CMPB	#'/,(R5)	; NO -- DID HE SAY DIVIDE?
   9102	014030	001404 				BEQ	40$		; YES -- GO DO THE DIVISION
   9103	014032				20$:
   9104	014032					RETURN			; NO -- JUST RETURN
	014032	000207 				 RTS	PC
   9105
   9106					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 234
.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03

   9108					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9109
   9110	014034				30$:
   9111	014034	012702 	012036'			MOV	#.TPSHL,R2	; DISPATCH TO R2
   9112	014040	000405 				BR	60$		; TO COMMON CODE
   9113						;
   9114	014042				40$:
   9115	014042	012702 	011160'			MOV	#.TPDIV,R2	; DISPATCH TO R2
   9116	014046	000402 				BR	60$		; TO COMMON ROUTINE
   9117						;
   9118	014050				50$:
   9119	014050	012702 	011606'			MOV	#.TPMUL,R2	; DISPATCH TO R2
   9120	014054				60$:
   9121	014054	112504 				MOVB	(R5)+,R4	; GET OVER THE OPERATOR CHARACTER
   9122	014056	005046 				CLR	-(SP)		; CREATE A SCRATCH BUFFER ON THE STACK
   9123	014060	005046 				CLR	-(SP)		; .
   9124	014062	005046 				CLR	-(SP)		; ..
   9125	014064	010601 				MOV	SP,R1		; ...SCRATCH POINTER TO R1
   9126	014066					PUSH	R2		; ...SAVE THE DISPATCH POINTER
	014066	010246 				 MOV	R2,-(SP)
   9127	014070					PUSH	R0		; ....SAVE PREVIOUS NUMBER POINTER
	014070	010046 				 MOV	R0,-(SP)
   9128	014072	010100 				MOV	R1,R0		; .....CURRENT POINTER TO R0
   9129	014074					CALL	.GTFCT		; .....GET THE NEXT FACTOR
	014074	004737 	014114'			 JSR	PC,.GTFCT
   9130	014100	010001 				MOV	R0,R1		; .....POINTER TO R1
   9131	014102					POP	R0		; .....PREVIOUS POINTER TO R0
	014102	012600 				 MOV	(SP)+,R0
   9132	014104					CALL	@(SP)+		; ....DO DIVISION OR MULTIPLICATION
	014104	004736 				 JSR	PC,@(SP)+
   9133	014106	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   9134	014112	000736 				BR	10$		; AND SEE IF THERE IS MORE
   9135						;
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 235
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

   9137					.SBTTL	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
   9138
   9139					;+
   9140					; .GTFCT -- FACTOR EVALUATOR FOR ".GTNUM"
   9141					;
   9142					; THIS ROUTINE EVALUATES NUMERIC FACTORS FOR ".GTNUM".
   9143					;
   9144					; DEFINITION OF AN FACTOR:
   9145					;
   9146					; FACTOR=(EXP)!+FACTOR!-FACTOR!NUMBER
   9147					;
   9148					; INPUT ARGUMENTS:
   9149					;
   9150					;	R0 POINTS TO A THREE WORD BUFFER
   9151					;
   9152					; OUTPUT ARGUMENTS:
   9153					;
   9154					;	R0 POINTS TO THE EVALUATED FACTOR
   9155					;
   9156					; ERROR CODES RETURNED:
   9157					;
   9158					;	NONE.
   9159					;-
   9160
   9161						.ENABL	LSB
   9162
   9163	014114				.GTFCT::
   9164	014114	122715 	000136 			CMPB	#'^,(R5)	; SPECIAL RADIX?
   9165	014120	001435 				BEQ	30$		; YES -- GO HANDLE IT
   9166	014122	122715 	000050 			CMPB	#'(,(R5)	; NO -- DOES THE FIRST CHARACTER OPEN EXPRESSION?
   9167	014126	001517 				BEQ	65$		; YES -- GO HANDLE IT
   9168	014130	122715 	000053 			CMPB	#'+,(R5)	; NO -- IS IT A <PLUS>?
   9169	014134	001503 				BEQ	60$		; YES -- GO HANDLE <PLUS>
   9170	014136	122715 	000055 			CMPB	#'-,(R5)	; NO -- IS IT A <MINUS>?
   9171	014142	001500 				BEQ	60$		; YES -- GO HANDLE <MINUS>
   9172	014144					CALL	.GTNBR		; NO -- GO GET A NUMBER
	014144	004737 	014410'			 JSR	PC,.GTNBR
   9173	014150				10$:
   9174	014150	122715 	000047 			CMPB	#'',(R5)	; RELOCATE?
   9175	014154	001404 				BEQ	20$		; YES -- DO IT
   9176	014156	122715 	000042 			CMPB	#'",(R5)	; NO -- UNRELOCATE?
   9177	014162	001401 				BEQ	20$		; YES -- DO IT
   9178	014164				15$:
   9179	014164					RETURN			; TO CALLER
	014164	000207 				 RTS	PC
   9180
   9181					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 236
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

   9183					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9184
   9185	014166				20$:
   9186	014166					PUSH	R1		; SAVE R1
	014166	010146 				 MOV	R1,-(SP)
   9187	014170	013701 	000242'			MOV	.RELWD,R1	; .RELOCATION TO R1
   9188	014174	122715 	000042 			CMPB	#'",(R5)	; .UNRELOCATE?
   9189	014200	001001 				BNE	25$		; .NO -- GO ON
   9190	014202	005401 				NEG	R1		; .YES -- NEGATE IT
   9191	014204				25$:
   9192	014204	060110 				ADD	R1,(R0)		; .COMPUTE THE FACTOR
   9193	014206	105725 				TSTB	(R5)+		; .GET OVER THE SYMBOL
   9194	014210					POP	R1		; .RESTORE R1
	014210	012601 				 MOV	(SP)+,R1
   9195	014212	000764 				BR	15$		; AND EXIT
   9196						;
   9197	014214				30$:
   9198	014214	105725 				TSTB	(R5)+		; GET OVER THE UP-ARROW
   9199	014216	112546 				MOVB	(R5)+,-(SP)	; SAVE THE NEXT CHARACTER
   9200	014220					CALL	.CKARG		; .LOOK FOR A TRAILING ARGUMENT
	014220	004737 	000070'			 JSR	PC,.CKARG
   9201	014224	001417 				BEQ	GTFILC		; .ERROR IF CC-Z IS SET
   9202	014226					POP	R4		; .RESTORE THE CHARACTER
	014226	012604 				 MOV	(SP)+,R4
   9203	014230	122704 	000103 			CMPB	#'C,R4		; .COMPLEMENT?
   9204	014234	001436 				BEQ	55$		; .YES -- PROCESS COMPLEMENT
   9205	014236					PUSH	.IRADX		; .NO -- SAVE THE CURRENT RADIX
	014236	013746 	000166'			 MOV	.IRADX,-(SP)
   9206	014242	122704 	000104 			CMPB	#'D,R4		; .DECIMAL?
   9207	014246	001415 				BEQ	40$		; .YES -- PROCESS DECIMAL
   9208	014250	122704 	000102 			CMPB	#'B,R4		; .NO -- BINARY?
   9209	014254	001406 				BEQ	35$		; .YES -- PROCESS BINARY
   9210	014256	122704 	000117 			CMPB	#'O,R4		; .NO -- OCTAL?
   9211	014262	001413 				BEQ	45$		; .YES -- PROCESS OCTAL
   9212	014264				GTFILC:
   9213	014264					ERROR$	ILC		; .NO -- GIVE "ILC" ERROR
	014264	012746 	035043 			 MOV	#^RILC,-(SP)
	014270	104400 				 TRAP	TC.ERR
   9214						;
   9215
   9216					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 237
.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03

   9218					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9219
   9220	014272				35$:
   9221	014272	012737 	000002 	000166'		MOV	#^D2,.IRADX	; .SET THE RADIX TO BINARY
   9222	014300	000407 				BR	50$		; .TO COMMON CODE
   9223						;
   9224	014302				40$:
   9225	014302	012737 	000012 	000166'		MOV	#^D10,.IRADX	; .SET THE RADIX TO DECIMAL
   9226	014310	000403 				BR	50$		; .TO COMMON CODE
   9227						;
   9228	014312				45$:
   9229	014312	012737 	000010 	000166'		MOV	#^D8,.IRADX	; .SET THE RADIX TO OCTAL
   9230	014320				50$:
   9231	014320					CALL	.GTFCT		; .GET THE FACTOR
	014320	004737 	014114'			 JSR	PC,.GTFCT
   9232	014324					POP	.IRADX		; .RESTORE THE ORIGINAL RADIX
	014324	012637 	000166'			 MOV	(SP)+,.IRADX
   9233	014330	000707 				BR	10$		; AND EXIT
   9234						;
   9235	014332				55$:
   9236	014332					CALL	.GTFCT		; GET THE FACTOR
	014332	004737 	014114'			 JSR	PC,.GTFCT
   9237	014336					CALL	.TPCOM		; AND INVERT IT
	014336	004737 	011402'			 JSR	PC,.TPCOM
   9238	014342	000702 				BR	10$		; EXIT
   9239						;
   9240	014344				60$:
   9241	014344	112546 				MOVB	(R5)+,-(SP)	; SAVE THE NEXT CHARACTER
   9242	014346					CALL	.GTFCT		; .GO LOOK FOR MORE
	014346	004737 	014114'			 JSR	PC,.GTFCT
   9243	014352	122726 	000055 			CMPB	#'-,(SP)+	; .WAS THE PREFIX A <MINUS>?
   9244	014356	001274 				BNE	10$		; NO -- JUST EXIT
   9245	014360					CALL	.TPNEG		; YES -- NEGATE IT
	014360	004737 	011412'			 JSR	PC,.TPNEG
   9246	014364	000671 				BR	10$		; AND EXIT
   9247						;
   9248	014366				65$:
   9249	014366	112504 				MOVB	(R5)+,R4	; GET OVER THE PAREN
   9250	014370					CALL	.GTEXP		; READ THIS EXPRESSION
	014370	004737 	013706'			 JSR	PC,.GTEXP
   9251	014374	122725 	000051 			CMPB	#'),(R5)+	; DID WE END IT PROPERLY?
   9252	014400	001663 				BEQ	10$		; YES -- JUST EXIT
   9253	014402					ERROR$	RPM		; NO -- ERROR -- RIGHT PARENTHESES MISSING
	014402	012746 	071415 			 MOV	#^RRPM,-(SP)
	014406	104400 				 TRAP	TC.ERR
   9254						;
   9255
   9256						.DSABL	LSB
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 238
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

   9258					.SBTTL	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
   9259
   9260					;+
   9261					; .GTNBR -- NUMBER EVALUATOR FOR ".GTNUM"
   9262					;
   9263					; THIS ROUTINE EVALUATES NUMBERS FOR ".GTNUM".
   9264					;
   9265					; INPUT ARGUMENTS:
   9266					;
   9267					;	R0 POINTS TO A THREE WORD BUFFER
   9268					;
   9269					; OUTPUT ARGUMENTS:
   9270					;
   9271					;	R0 POINTS TO THE EVALUATED NUMBER
   9272					;
   9273					; ERROR CODES RETURNED:
   9274					;
   9275					;	NONE.
   9276					;-
   9277
   9278	014410				.GTNBR::
   9279	014410	005037 	000164'			CLR	.INCHC		; CLEAR THE CHARACTER COUNT
   9280	014414					PUSH	R1		; SAVE R1
	014414	010146 				 MOV	R1,-(SP)
   9281	014416	005046 				CLR	-(SP)		; .SET UP THE INPUT RADIX
   9282	014420	005046 				CLR	-(SP)		; ..
   9283	014422					PUSH	.IRADX		; ...SO
	014422	013746 	000166'			 MOV	.IRADX,-(SP)
   9284	014426	010601 				MOV	SP,R1		; ....POINT TO THE INPUT RADIX
   9285	014430				10$:
   9286	014430	112504 				MOVB	(R5)+,R4	; ....GET THE CHARACTER INTO R4
   9287	014432	132764 	000002 	001502'		BITB	#CH.NUM,.CHTAB(R4)
   9288	014440	001422 				BEQ	20$		; ....EXIT IF NON-NUMERIC
   9289	014442	005237 	000164'			INC	.INCHC		; ....INCREMENT THE CHARACTER COUNT
   9290	014446	142704 	177760 			BICB	#^C17,R4	; ....FLUSH ASCII
   9291	014452	120411 				CMPB	R4,(R1)		; ....DID WE EXCEED THE INPUT RADIX?
   9292	014454	002027 				BGE	GTNNOR		; ....YES -- GIVE "NOR" ERROR
   9293	014456					CALL	.TPMUL		; ....NO -- MAKE ROOM FOR THIS DIGIT
	014456	004737 	011606'			 JSR	PC,.TPMUL
   9294	014462					PUSH	(R1)		; ....SAVE THE RADIX
	014462	011146 				 MOV	(R1),-(SP)
   9295	014464	010411 				MOV	R4,(R1)		; .....SET UP TO ADD THIS DIGIT
   9296	014466					CALL	.TPADD		; .....TO THE CUMULATIVE RESULT
	014466	004737 	011516'			 JSR	PC,.TPADD
   9297	014472	032760 	177760 	000004 		BIT	#^C17,4(R0)	; .....HAVE WE OVERFLOWED THE NUMBER?
   9298	014500	001015 				BNE	GTNNOR		; .....YES -- GIVE "NOR" ERROR
   9299	014502					POP	(R1)		; .....NO -- RESTORE THE RADIX
	014502	012611 				 MOV	(SP)+,(R1)
   9300	014504	000751 				BR	10$		; ....AND CONTINUE
   9301						;
   9302
   9303					;	[CONTINUED ON THE FOLLOWING PAGE]
TYINP -- COMMAND PARSER COMMAND	MACRO M1113  03-APR-86 22:51  PAGE 239
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

   9305					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9306
   9307	014506				20$:
   9308	014506	062706 	000006 			ADD	#^D6,SP		; ....FLUSH THE STACK
   9309	014512					POP	R1		; .RESTORE R1
	014512	012601 				 MOV	(SP)+,R1
   9310	014514	105745 				TSTB	-(R5)		; BACK THE INPUT POINTER UP
   9311	014516	005737 	000164'			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   9312	014522	001401 				BEQ	GTNMRA		; GIVE "MRA" ERROR IF NONE THERE
   9313	014524					RETURN			; TO CALLER
	014524	000207 				 RTS	PC
   9314	014526				GTNMRA:
   9315	014526					ERROR$	MRA		; ERROR -- MISSING REQUIRED ARGUMENT
	014526	012746 	052021 			 MOV	#^RMRA,-(SP)
	014532	104400 				 TRAP	TC.ERR
   9316						;
   9317	014534				GTNNOR:
   9318	014534					ERROR$	NOR		; ERROR -- NUMBER OUT OF RANGE
	014534	012746 	054752 			 MOV	#^RNOR,-(SP)
	014540	104400 				 TRAP	TC.ERR
   9319						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 241
.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03

   9322					.TITLE	TYOUT -- GENERAL TERMINAL OUTPUT MODULE 7603.30
   9323
   9324						.IDENT	"006110"
   9325
   9326					;
   9327					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   9328					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   9329					;			ALL RIGHTS RESERVED.
   9330					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   9331					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   9332					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   9333					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   9334					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   9335					;
   9336					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   9337					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   9338					;       CORPORATION.
   9339					;
   9340					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   9341					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   9342					;
   9343					;		MODULE: GENERAL TERMINAL OUTPUT
   9344					;
   9345					;		VERSION: 06-11
   9346					;
   9347					;		AUTHOR: R. BELANGER
   9348					;
   9349					;		DATE: 7603.30
   9350					;
   9351					;	THIS MODULE CONTAINS:
   9352					;
   9353					;	1) GENERAL TERMINAL OUTPUT CODE
   9354					;
   9355					;  MODIFICATIONS:
   9356					;
   9357					;	NO.	DATE		PROGRAMMER	REASON
   9358					;	---	----		----------	------
   9359					;    [5.1000]	24-AUG-79	K. LEFEBVRE	ADD LINE PRINTER SUPPORT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 242
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23

   9361					.SBTTL	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
   9362
   9363					;+
   9364					; .TYAST -- SUBROUTINE TO TYPE AN <ASTERISK> ON THE CONSOLE OUTPUT DEVICE.
   9365					; .TYCOL -- SUBROUTINE TO TYPE A <COLON> ON THE CONSOLE OUTPUT DEVICE.
   9366					; .TYCOM -- SUBROUTINE TO TYPE A <COMMA> ON THE CONSOLE OUTPUT DEVICE.
   9367					; .TYMIN -- SUBROUTINE TO TYPE A <MINUS> ON THE CONSOLE OUTPUT DEVICE.
   9368					; .TYSLS -- SUBROUTINE TO TYPE A <SLASH> ON THE CONSOLE OUTPUT DEVICE.
   9369					; .TYSPC -- SUBROUTINE TO TYPE A <SPACE> ON THE CONSOLE OUTPUT DEVICE.
   9370					; .TYUPA -- SUBROUTINE TO TYPE AN <UP-ARROW> ON THE CONSOLE OUTPUT DEVICE.
   9371					;
   9372					; THESE SUBROUTINES TYPE THE INDICATED CHARACTER(S) ON THE CONSOLE
   9373					; OUTPUT DEVICE.
   9374					;
   9375					; INPUT ARGUMENTS:
   9376					;
   9377					;	NONE.
   9378					;
   9379					; OUTPUT ARGUMENTS:
   9380					;
   9381					;	NONE.
   9382					;
   9383					; ERROR CODES RETURNED:
   9384					;
   9385					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9386					;-
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 243
.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23

   9388						.ENABL	LSB
   9389
   9390	014542				.TYCOL::
   9391	014542					PUSH	R0		; SAVE R0
	014542	010046 				 MOV	R0,-(SP)
   9392	014544	012700 	000072 			MOV	#':,R0		; .<COLON> TO R0
   9393	014550	000423 				BR	10$		; .DO OUTPUT
   9394						;
   9395	014552				.TYCOM::
   9396	014552					PUSH	R0		; SAVE R0
	014552	010046 				 MOV	R0,-(SP)
   9397	014554	012700 	000054 			MOV	#',,R0		; .<COMMA> TO R0
   9398	014560	000417 				BR	10$		; .OUTPUT IT
   9399						;
   9400	014562				.TYMIN::
   9401	014562					PUSH	R0		; SAVE R0
	014562	010046 				 MOV	R0,-(SP)
   9402	014564	012700 	000055 			MOV	#'-,R0		; <HYPHEN> TO R0
   9403	014570	000413 				BR	10$		; .DO OUTPUT
   9404						;
   9405	014572				.TYSLS::
   9406	014572					PUSH	R0		; SAVE R0
	014572	010046 				 MOV	R0,-(SP)
   9407	014574	012700 	000057 			MOV	#'/,R0		; .<SLASH> TO R0
   9408	014600	000407 				BR	10$		; .OUTPUT IT
   9409						;
   9410	014602				.TYSPC::
   9411	014602					PUSH	R0		; SAVE R0
	014602	010046 				 MOV	R0,-(SP)
   9412	014604	012700 	000040 			MOV	#.SPACE,R0	; .<SPACE> TO R0
   9413	014610	000403 				BR	10$		; .OUTPUT IT
   9414						;
   9415	014612				.TYUPA::
   9416	014612					PUSH	R0		; SAVE R0
	014612	010046 				 MOV	R0,-(SP)
   9417	014614	012700 	000136 			MOV	#'^,R0		; .<UP-ARROW> TO R0
   9418	014620				10$:
   9419	014620					CALL	.TYCHR		; .OUTPUT IT
	014620	004737 	015520'			 JSR	PC,.TYCHR
   9420	014624					POP	R0		; .RESTORE R0
	014624	012600 				 MOV	(SP)+,R0
   9421	014626					RETURN			; TO CALLER
	014626	000207 				 RTS	PC
   9422
   9423						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 244
.TYACE -- TYPE AC ADDR AND CONTENTS

   9425					.SBTTL	.TYACE -- TYPE AC ADDR AND CONTENTS
   9426
   9427					;+
   9428					; .TYACE -- SUBROUTINE TO TYPE AC ADDR AND CONTENTS
   9429					;
   9430					; THIS ROUTINE WILL TYPE:
   9431					;	N:AAAAAA/ DDDDDD DDDDDD
   9432					;	   N-AC BLOCK NUMBER
   9433					;	   A-AC ADDR
   9434					;	   D-AC DATA
   9435					;
   9436					; INPUT ARGUMENTS:
   9437					;
   9438					;		+---------------+
   9439					;	R0=>	! BLOCK ! ADDR  !
   9440					;		+---------------+
   9441					;		! KL BITS 20-35 !
   9442					;		+---------------+
   9443					;		! KL BITS 4-19  !
   9444					;		+---------------+
   9445					;		! KL BITS 0-3   !
   9446					;		+---------------+
   9447					;
   9448					; OUTPUT ARGUMENTS:
   9449					;
   9450					;	NONE
   9451					;
   9452					; ERROR CODES RETURNED:
   9453					;
   9454					;	NONE
   9455					;-
   9456
   9457	014630				.TYACE::
   9458	014630					PUSH	R0		; SAVE R0
	014630	010046 				 MOV	R0,-(SP)
   9459	014632	113700 	000204'			MOVB	.PASS,R0	; PASS NO.
   9460	014636	005200 				INC	R0		; MAKE 1 OR 2
   9461	014640	062700 	000060 			ADD	#'0,R0		; MAKE ASCII
   9462	014644	110037 	002323'			MOVB	R0,PRMFM+13.	; PUT IN MESSAGE
   9463	014650	012700 	002306'			MOV	#PRMFM,R0	; FM SWEEP PROMPT
   9464	014654					CALL	.TYMSG		; TYPE IT
	014654	004737 	015462'			 JSR	PC,.TYMSG
   9465	014660					POP	R0		; RESTORE R0
	014660	012600 				 MOV	(SP)+,R0
   9466	014662				.TYAC1::PUSH	R2		; ALT. ENTRY PT., SAVE R2
	014662	010246 				 MOV	R2,-(SP)
   9467	014664	010002 				MOV	R0,R2		; SAVE R0
   9468	014666	011000 				MOV	(R0),R0		; GET FIRST WORD OF DATA
   9469	014670	000300 				SWAB	R0		; GET BLOCK NO. IN LOW BYTE
   9470	014672	042700 	177600 			BIC	#177600,R0	; CLEAR ADDR
   9471	014676	062700 	000060 			ADD	#'0,R0		; CONVERT TO ASCII
   9472	014702					CALL	.TYCHR		; TYPE IT
	014702	004737 	015520'			 JSR	PC,.TYCHR
   9473	014706					CALL	.TYCOL		; TYPE COLON
	014706	004737 	014542'			 JSR	PC,.TYCOL
   9474	014712	012237 	007320'			MOV	(R2)+,ADRTMP	; GET FIRST DATA VALUE
   9475	014716	042737 	177600 	007320'		BIC	#177600,ADRTMP	; CLEAR BLOCK NO.
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 244-1
.TYACE -- TYPE AC ADDR AND CONTENTS

   9476	014724	012700 	007320'			MOV	#ADRTMP,R0	; PTR TO AC ADDR
   9477	014730					CALL	.TYKLA		; TYPE KL ADDR
	014730	004737 	015106'			 JSR	PC,.TYKLA
   9478	014734					CALL	.TYSLS		; TYPE SLASH
	014734	004737 	014572'			 JSR	PC,.TYSLS
   9479	014740					CALL	.TYSPC		; TYPE SPACE
	014740	004737 	014602'			 JSR	PC,.TYSPC
   9480	014744	010200 				MOV	R2,R0		; PTR TO AC DATA
   9481	014746					CALL	.TYKLN		; TYPE KL DATA
	014746	004737 	015156'			 JSR	PC,.TYKLN
   9482	014752					CALL	.TCRLF		; TYPE CR-LF
	014752	004737 	015552'			 JSR	PC,.TCRLF
   9483	014756					POP	R2		; RESTORE R2
	014756	012602 				 MOV	(SP)+,R2
   9484	014760					RETURN
	014760	000207 				 RTS	PC
   9485
   9486	007320				.PSECT	DATA
   9487
   9488	007320	000000 			ADRTMP:	.WORD	0		; TEMPORARY ADDR LOCATION
   9489	007322	000000 				.WORD	0
   9490	007324	000000 				.WORD	0
   9491
   9492	002306				.PSECT	MESSAG
   9493
   9494	002306	   040 	   040 	   040 	PRMFM:	.ASCIZ	/    FM SWEEP X> /
	002311	   040 	   106 	   115
	002314	   040 	   123 	   127
	002317	   105 	   105 	   120
	002322	   040 	   130 	   076
	002325	   040 	   000
   9495
   9496	014762				.PSECT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 245
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23

   9498					.SBTTL	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
   9499
   9500					;+
   9501					; .TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS
   9502					; .TYELN -- SUBROUTINE TO TYPE A PDP-11 NUMBER
   9503					;
   9504					; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
   9505					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
   9506					;
   9507					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
   9508					;	(B) OCTAL:	6 DIGITS -- XXXXXX
   9509					;	(C) DECIMAL:	NO FORMATTING
   9510					;
   9511					; INPUT ARGUMENTS:
   9512					;
   9513					;	R0 HOLDS THE NUMBER TO BE PRINTED
   9514					;
   9515					; OUTPUT ARGUMENTS (TO ".TYNCM"):
   9516					;
   9517					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
   9518					;	R3 POINTS TO A FORMAT TABLE
   9519					;
   9520					; ERROR CODES RETURNED:
   9521					;
   9522					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9523					;-
   9524						.ENABL	LSB
   9525
   9526
   9527	014762				.TYELA::
   9528	014762	005037 	000220'			CLR	.LDZFL		; NO LEADING ZEROES
   9529	014766				.TYELN::
   9530	014766					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	014766	010346 				 MOV	R3,-(SP)
	014770	010246 				 MOV	R2,-(SP)
	014772	010146 				 MOV	R1,-(SP)
	014774	010046 				 MOV	R0,-(SP)
   9531	014776	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
   9532	015000	022737 	000002 	000226'		CMP	#^D2,.ORADX	; ....BINARY?
   9533	015006	001002 				BNE	10$		; ....NO
   9534	015010	012703 	007342'			MOV	#ELNBIN,R3	; ....BINARY FORMAT TABLE TO R3
   9535	015014				10$:
   9536	015014	022737 	000012 	000226'		CMP	#^D10,.ORADX	; ....DECIMAL?
   9537	015022	001424 				BEQ	30$		; ....YES
   9538	015024	012703 	007360'			MOV	#ELNOCT,R3	; ....OCTAL FORMAT TABLE TO R3
   9539	015030	000421 				BR	30$		; ....SET UP POINTERS AND EXIT
   9540						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 246
.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23

   9542					.SBTTL	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
   9543
   9544					;+
   9545					; .TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER
   9546					;
   9547					; THIS SUBROUTINE WILL TYPE AND FORMAT A PDP-11 NUMBER ACCORDING TO THE
   9548					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
   9549					;
   9550					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
   9551					;	(B) OCTAL:	3 DIGITS -- XXX
   9552					;	(C) DECIMAL:	NO FORMATTING
   9553					;
   9554					; INPUT ARGUMENTS:
   9555					;
   9556					;	R0 HOLDS THE NUMBER TO BE PRINTED
   9557					;
   9558					; OUTPUT ARGUMENTS (TO ".TYNCM"):
   9559					;
   9560					;	R0 POINTS TO THE BYTE TO BE PRINTED (ON THE STACK)
   9561					;	R3 POINTS TO A FORMAT TABLE
   9562					;
   9563					; ERROR CODES RETURNED:
   9564					;
   9565					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9566					;-
   9567
   9568	015032				.TYP3D::
   9569	015032					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	015032	010346 				 MOV	R3,-(SP)
	015034	010246 				 MOV	R2,-(SP)
	015036	010146 				 MOV	R1,-(SP)
	015040	010046 				 MOV	R0,-(SP)
   9570	015042	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
   9571	015044	022737 	000002 	000226'		CMP	#^D2,.ORADX	; ....BINARY?
   9572	015052	001002 				BNE	20$		; ....NO
   9573	015054	012703 	007350'			MOV	#ELBBIN,R3	; ....BINARY FORMAT TABLE TO R3
   9574	015060				20$:
   9575	015060	022737 	000012 	000226'		CMP	#^D10,.ORADX	; ....DECIMAL?
   9576	015066	001402 				BEQ	30$		; ....YES
   9577	015070	012703 	007354'			MOV	#ELBOCT,R3	; ....OCTAL FORMAT TABLE TO R3
   9578	015074				30$:
   9579	015074	005046 				CLR	-(SP)		; ....SET UP BUFFERS ON THE STACK
   9580	015076	005046 				CLR	-(SP)		; .....
   9581	015100					PUSH	R0		; ......NUMBER TO BE TYPED
	015100	010046 				 MOV	R0,-(SP)
   9582	015102	010600 				MOV	SP,R0		; .......POINT TO IT
   9583	015104	000455 				BR	.TYNCM		; .......AND GO TO COMMON ROUTINE
   9584						;
   9585
   9586						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 247
.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02

   9588					.SBTTL	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
   9589
   9590					;+
   9591					; .TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS
   9592					;
   9593					; THIS SUBROUTINE WILL TYPE AND FORMAT A KL ADDRESS ACCORDING TO THE
   9594					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
   9595					;
   9596					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
   9597					;	(B) OCTAL:	HALFWORD FORMAT -- XX<SP>XXXXXX
   9598					;	(C) DECIMAL:	NO FORMATTING
   9599					;
   9600					; INPUT ARGUMENTS:
   9601					;
   9602					;	R0 POINTS TO THE KL ADDRESS TO BE PRINTED
   9603					;
   9604					; OUTPUT ARGUMENTS (TO ".TYNCM"):
   9605					;
   9606					;	R0 POINTS TO THE ADDRESS TO BE PRINTED (ON THE STACK)
   9607					;	R3 POINTS TO A FORMAT TABLE
   9608					;
   9609					; ERROR CODES RETURNED:
   9610					;
   9611					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9612					;-
   9613
   9614						.ENABL	LSB
   9615
   9616	015106				.TYKLA::
   9617	015106	005037 	000220'			CLR	.LDZFL		; NO LEADING ZEROES
   9618	015112					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	015112	010346 				 MOV	R3,-(SP)
	015114	010246 				 MOV	R2,-(SP)
	015116	010146 				 MOV	R1,-(SP)
	015120	010046 				 MOV	R0,-(SP)
   9619	015122	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
   9620	015124	022737 	000002 	000226'		CMP	#^D2,.ORADX	; ....BINARY?
   9621	015132	001002 				BNE	10$		; ....NO
   9622	015134	012703 	007336'			MOV	#KLABIN,R3	; ....BINARY FORMAT TABLE TO R3
   9623	015140				10$:
   9624	015140	022737 	000012 	000226'		CMP	#^D10,.ORADX	; ....DECIMAL?
   9625	015146	001424 				BEQ	30$		; ....YES
   9626	015150	012703 	007362'			MOV	#KLAOCT,R3	; ....OCTAL FORMAT TABLE TO R3
   9627	015154	000421 				BR	30$		; ....GO DO COMMON CODE
   9628						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 248
.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02

   9630					.SBTTL	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
   9631
   9632					;+
   9633					; .TYKLN -- SUBROUTINE TO TYPE A KL NUMBER
   9634					;
   9635					; THIS SUBROUTINE WILL TYPE AND FORMAT A KL NUMBER ACCORDING TO THE
   9636					; CURRENT OUTPUT RADIX IN ".ORADX". STANDARD FORMATS ARE:
   9637					;
   9638					;	(A) BINARY:	3 DIGITS AND A SPACE -- XXX<SP>XXX<SP>.....
   9639					;	(B) OCTAL:	6 DIGITS AND A SPACE -- XXXXXX<SP>XXXXXX
   9640					;	(C) DECIMAL:	NO FORMATTING
   9641					;
   9642					; INPUT ARGUMENTS:
   9643					;
   9644					;	R0 POINTS TO THE NUMBER TO BE PRINTED
   9645					;
   9646					; OUTPUT ARGUMENTS (TO ".TYNCM"):
   9647					;
   9648					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
   9649					;	R3 POINTS TO A FORMAT TABLE
   9650					;
   9651					; ERROR CODES RETURNED:
   9652					;
   9653					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9654					;-
   9655
   9656	015156				.TYKLN::
   9657	015156					PUSH	<R3,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	015156	010346 				 MOV	R3,-(SP)
	015160	010246 				 MOV	R2,-(SP)
	015162	010146 				 MOV	R1,-(SP)
	015164	010046 				 MOV	R0,-(SP)
   9658	015166	005003 				CLR	R3		; ....ASSUME UNFORMATTED RADIX
   9659	015170	022737 	000002 	000226'		CMP	#^D2,.ORADX	; ....BINARY?
   9660	015176	001002 				BNE	20$		; ....NO
   9661	015200	012703 	007326'			MOV	#KLNBIN,R3	; ....BINARY FORMAT TABLE TO R3
   9662	015204				20$:
   9663	015204	022737 	000012 	000226'		CMP	#^D10,.ORADX	; ....DECIMAL?
   9664	015212	001402 				BEQ	30$		; ....YES
   9665	015214	012703 	007356'			MOV	#KLNOCT,R3	; ....OCTAL FORMAT TABLE TO R3
   9666	015220				30$:
   9667	015220	062700 	000006 			ADD	#^D6,R0		; ....POINT TO THE END OF THE NUMBER
   9668	015224					PUSH	-(R0)		; ....SET IT ON THE STACK
	015224	014046 				 MOV	-(R0),-(SP)
   9669	015226	042710 	177760 			BIC	#^C17,(R0)	; .....TRUNCATE TO 36 BITS
   9670	015232					PUSH	<-(R0),-(R0)>	; .....PUT THE REST ON THE STACK
	015232	014046 				 MOV	-(R0),-(SP)
	015234	014046 				 MOV	-(R0),-(SP)
   9671	015236	010600 				MOV	SP,R0		; .......POINT TO THE STACKED NUMBER
   9672					;	BR	.TYNCM		; .......AND GO TO COMMON ROUTINE
   9673						;
   9674
   9675						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 249
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23

   9677					.SBTTL	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
   9678
   9679					;+
   9680					; .TYNCM -- COMMON ENTRY POINT FOR ".TYNUM".
   9681					;
   9682					; THIS SUBROUTINE SETS UP THE REMAINDER OF THE ARGUMENTS REQUIRED
   9683					; BY ".TYNUM" FROM ".TYELN" AND ".TYKLN".
   9684					;
   9685					; INPUT ARGUMENTS:
   9686					;
   9687					;	R1, R2, AND R3 ARE ON THE STACK
   9688					;	R0 POINTS TO THE NUMBER TO BE PRINTED (ON THE STACK)
   9689					;	R3 POINTS TO A FORMAT TABLE
   9690					;
   9691					; OUTPUT ARGUMENTS:
   9692					;
   9693					;	R0 POINTS TO THE ORIGINAL NUMBER
   9694					;
   9695					; ERROR CODES RETURNED:
   9696					;
   9697					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9698					;-
   9699
   9700	015240				.TYNCM::
   9701	015240	005046 				CLR	-(SP)		; .......SPACE FOR DIVISOR
   9702	015242	005046 				CLR	-(SP)		; ........
   9703	015244	005046 				CLR	-(SP)		; .........
   9704	015246	010601 				MOV	SP,R1		; ..........POINT TO IT
   9705	015250	005002 				CLR	R2		; ..........CLEAR R2
   9706	015252	005737 	000220'			TST	.LDZFL		; ..........ARE WE PRINTING LEADING ZEROS/
   9707	015256	001006 				BNE	10$		; ..........YES -- GO ON
   9708	015260					CALL	.TPTST		; ..........NO -- IS THIS NUMBER .EQ. 0?
	015260	004737 	011474'			 JSR	PC,.TPTST
   9709	015264	001003 				BNE	10$		; ..........NO -- JUST PRINT IT
   9710	015266	005003 				CLR	R3		; ..........YES -- CALL IT UNFORMATTED
   9711	015270	005337 	000220'			DEC	.LDZFL		; ..........AND SAY WE PRINT ZEROES
   9712	015274				10$:
   9713	015274					CALL	.TYNUM		; ..........FORMAT AND PRINT THE NUMBER
	015274	004737 	015316'			 JSR	PC,.TYNUM
   9714	015300	062706 	000014 			ADD	#^D12,SP	; ..........FLUSH THE STACK
   9715	015304					POP	<R0,R1,R2,R3>	; ....RESTORE THE REGISTERS
	015304	012600 				 MOV	(SP)+,R0
	015306	012601 				 MOV	(SP)+,R1
	015310	012602 				 MOV	(SP)+,R2
	015312	012603 				 MOV	(SP)+,R3
   9716	015314					RETURN			; TO CALLER
	015314	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 250
.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23

   9718					; THESE ARE THE FORMAT TABLES
   9719
   9720	007326				.PSECT	DATA
   9721
   9722	007326				KLNBIN::		 	; KL BINARY TABLE
   9723	007326	   003 	   040 			.BYTE	3,.SPACE	; 3 DIGITS AND A SPACE
   9724	007330	   003 	   040 			.BYTE	3,.SPACE
   9725	007332	   003 	   040 			.BYTE	3,.SPACE
   9726	007334	   003 	   040 			.BYTE	3,.SPACE
   9727	007336				KLABIN::			; KL ADDRESS BINARY
   9728	007336	   003 	   040 			.BYTE	3,.SPACE
   9729	007340	   003 	   040 			.BYTE	3,.SPACE
   9730	007342				ELNBIN::			; ELEVEN BINARY TABLE
   9731	007342	   003 	   040 			.BYTE	3,.SPACE
   9732	007344	   003 	   040 			.BYTE	3,.SPACE
   9733	007346	   003 	   040 			.BYTE	3,.SPACE
   9734	007350				ELBBIN::			; PDP-11 BYTE BINARY TABLE
   9735	007350	   003 	   040 			.BYTE	3,.SPACE
   9736	007352	   003 	   040 			.BYTE	3,.SPACE
   9737	007354				ELBOCT::			; PDP-11 BYTE OCTAL TABLE
   9738	007354	   003 	   000 			.BYTE	3,0		; END OF TABLE
   9739
   9740	007356				KLNOCT::			; KL OCTAL TABLE
   9741	007356	   006 	   040 			.BYTE	6,.SPACE	; 6 DIGITS AND A SPACE
   9742	007360				ELNOCT::			; PDP-11 OCTAL TABLE
   9743	007360	   006 	   000 			.BYTE	6,0		; END OF TABLE
   9744	007362				KLAOCT::			; KL ADDRESS OCTAL
   9745	007362	   006 	   040 			.BYTE	6,.SPACE
   9746	007364	   002 	   000 			.BYTE	2,0
   9747					.EVEN
   9748	015316				.PSECT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 251
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2

   9750					.SBTTL	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
   9751
   9752					;+
   9753					; .TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER ON THE
   9754					;	    CONSOLE OUTPUT DEVICE.
   9755					;
   9756					; THIS SUBROUTINE WILL TYPE A FORMATTED NUMBER IN THE RADIX SPECIFIED
   9757					; IN ".ORADX" ON THE CONSOLE OUTPUT DEVICE.
   9758					;
   9759					; INPUT ARGUMENTS:
   9760					;
   9761					;	R0 POINTS TO THE 36 BIT NUMBER TO BE TYPED
   9762					;	R1 POINTS TO A TRIPLET TO BE USED AS A DIVISOR / REMAINDER BUFFER
   9763					;	R2 IS CLEAR
   9764					;	R3 POINTS TO A FORMAT CONTROL TABLE
   9765					;
   9766					; OUTPUT ARGUMENTS:
   9767					;
   9768					;	R0, R1, R2, AND R3 ARE CLOBBERED
   9769					;	THE NUMBER POINTED TO BY R0 IS CLOBBERED
   9770					;	THE FORMATTED NUMBER IS PLACED IN THE OUTPUT BUFFER
   9771					;
   9772					; ERROR CODES RETURNED:
   9773					;
   9774					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9775					;-
   9776
   9777	015316				.TYNUM::
   9778	015316	005703 				TST	R3		; CHECK THE FORMAT POINTER
   9779	015320	001422 				BEQ	50$		; UNFORMATTED IF .EQ. 0
   9780	015322	112302 				MOVB	(R3)+,R2	; ITERATION COUNT TO R2
   9781	015324	001410 				BEQ	40$		; JUST A FORMAT CHARACTER IF .EQ. 0
   9782	015326				10$:
   9783	015326	000417 				BR	50$		; CONVERT ONE DIGIT
   9784						;
   9785	015330				20$:
   9786	015330	005702 				TST	R2		; TEST ITERATION COUNT
   9787	015332	001004 				BNE	30$		; FORMATTED NUMBER -- DO ITERATION COUNT
   9788	015334					CALL	.TPTST		; HAS THE QUOTIENT GONE TO ZERO?
	015334	004737 	011474'			 JSR	PC,.TPTST
   9789	015340	001441 				BEQ	80$		; YES -- PRINT THE NUMBER
   9790	015342	000411 				BR	50$		; NO -- KEEP GOING UNTIL IT DOES
   9791						;
   9792	015344				30$:
   9793	015344	077210 				SOB	R2,10$		; LOOP THRU THIS SET OF ITERATIONS
   9794
   9795					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 252
.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.2

   9797					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9798
   9799	015346				40$:
   9800	015346	112302 				MOVB	(R3)+,R2	; FORMAT CONTROL CHARACTER TO R2
   9801	015350	001435 				BEQ	80$		; DONE IF .EQ. 0
   9802	015352	162702 	000060 			SUB	#60,R2		; SINCE OUTPUT ROUTINE WILL ADD 60
   9803	015356					PUSH	R2		; <PUSH>PUT THE FORMAT CHARACTER IN THE STACK
	015356	010246 				 MOV	R2,-(SP)
   9804	015360					PUSH	#60$		; <PUSH>FAKE THE PRINT ROUTINE OUT
	015360	012746 	015416'			 MOV	#60$,-(SP)
   9805	015364	000754 				BR	.TYNUM		; AND DO THE NEXT PART
   9806						;
   9807	015366				50$:				; HERE TO CONVERT ONE DIGIT
   9808	015366					PUSH	R0		; SAVE R0
	015366	010046 				 MOV	R0,-(SP)
   9809	015370	010100 				MOV	R1,R0		; MOVE R1 TO R0
   9810	015372					CALL	.TPCLR		; .CLEAR REMAINDER OUT
	015372	004737 	011372'			 JSR	PC,.TPCLR
   9811	015376					POP	R0		; .RESTORE R0
	015376	012600 				 MOV	(SP)+,R0
   9812	015400	013711 	000226'			MOV	.ORADX,(R1)	; OUTPUT RADIX AS DIVISOR
   9813	015404					CALL	.TPDIV		; DO THE DIVISION
	015404	004737 	011160'			 JSR	PC,.TPDIV
   9814	015410					PUSH	(R1)		; <PUSH> SAVE THE DIGIT
	015410	011146 				 MOV	(R1),-(SP)
   9815	015412					CALL	20$		; AND GO GET MORE
	015412	004737 	015330'			 JSR	PC,20$
   9816						;
   9817	015416				60$:				; HERE TO UNSTACK THE NUMBER
   9818	015416					POP	R0		; <POP>GET THE NUMBER OFF THE STACK
	015416	012600 				 MOV	(SP)+,R0
   9819	015420	005737 	000220'			TST	.LDZFL		; PRINT LEADING ZEROES?
   9820	015424	001004 				BNE	70$		; YES -- DO IT
   9821	015426	005700 				TST	R0		; NO -- SEE IF .EQ. 0 OR FORMAT
   9822	015430	003405 				BLE	80$		; YES -- DON'T PRINT IT
   9823	015432	005337 	000220'			DEC	.LDZFL		; NO -- SET THE FLAG AND PRINT
   9824	015436				70$:
   9825	015436	062700 	000060 			ADD	#60,R0		; ASCIIZE IT
   9826	015442	000426 				BR	.TYCHR		; PRINT IT
   9827						;
   9828	015444				80$:
   9829	015444					RETURN			; FOR NEXT NUMBER OR TO CALLER
	015444	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 253
.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF>

   9831					.SBTTL	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
   9832
   9833					;+
   9834					; .TYLIN -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE APPENDED BY A <CRLF>
   9835					; .TYMSG -- SUBROUTINE TO OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
   9836					;	    OUTPUT DEVICE.
   9837					;
   9838					; THESE SUBROUTINES WILL OUTPUT AN ".ASCIZ" MESSAGE TO THE CONSOLE
   9839					; OUTPUT DEVICE. ".TYLIN" WILL APPEND A <CRLF> SEQUENCE TO THE
   9840					; MESSAGE (FORCING THE BUFFER TO BE OUTPUT).
   9841					;
   9842					; INPUT ARGUMENTS:
   9843					;
   9844					;	R0 POINTS TO THE .ASCIZ MESSAGE
   9845					;
   9846					; OUTPUT ARGUMENTS:
   9847					;
   9848					;	NONE.
   9849					;
   9850					; ERROR CODES RETURNED:
   9851					;
   9852					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9853					;-
   9854
   9855						.ENABL	LSB
   9856
   9857	015446				.TYLIN::
   9858	015446					CALL	.TYMSG		; OUTPUT THE MESSAGE
	015446	004737 	015462'			 JSR	PC,.TYMSG
   9859	015452	000437 				BR	.TCRLF		; OUTPUT A <CRLF> AND EXIT
   9860						;
   9861	015454				.TYMSF::
   9862	015454					CALL	.TYMSG		; PRINT THE MESSAGE
	015454	004737 	015462'			 JSR	PC,.TYMSG
   9863	015460	000413 				BR	30$		; FORCE IT AND EXIT
   9864						;
   9865	015462				.TYMSG::
   9866	015462					PUSH	R1		; SAVE R1
	015462	010146 				 MOV	R1,-(SP)
   9867	015464	010001 				MOV	R0,R1		; .MESSAGE POINTER TO R1
   9868	015466				10$:
   9869	015466	112100 				MOVB	(R1)+,R0	; .GET THE CHARACTER INTO R0
   9870	015470	001403 				BEQ	20$		; .EXIT IF <NULL>
   9871	015472					CALL	.TYCHR		; .OUTPUT THE CHARACTER
	015472	004737 	015520'			 JSR	PC,.TYCHR
   9872	015476	000773 				BR	10$		; .AND GO GET THE NEXT CHARACTER
   9873						;
   9874	015500				20$:
   9875	015500					POP	R1		; .RESTORE R1
	015500	012601 				 MOV	(SP)+,R1
   9876	015502					RETURN			; TO CALLER
	015502	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 254
.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVIC

   9878					.SBTTL	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
   9879
   9880					;+
   9881					; .TFCHR -- FORCED CHARACTER OUTPUT SUBROUTINE
   9882					;
   9883					; THIS SUBROUTINE WILL FORCE PRINT ONE CHARACTER TO THE CONSOLE
   9884					; OUTPUT DEVICE.
   9885					;
   9886					; INPUT ARGUMENTS:
   9887					;
   9888					;	R0 CONTAINS THE CHARACTER TO BE FORCED TO THE OUTPUT DEVICE
   9889					;
   9890					; OUTPUT ARGUMENTS:
   9891					;
   9892					;	THE OUTPUT BYTE COUNTERS AND BYTE POINTER ARE UPDATED.
   9893					;
   9894					; ERROR CODES RETURNED:
   9895					;
   9896					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9897					;-
   9898
   9899	015504				.TFCHR::
   9900	015504					CALL	.TYCHR		; LOAD THE CHARACTER INTO THE BUFFER
	015504	004737 	015520'			 JSR	PC,.TYCHR
   9901	015510				30$:
   9902	015510	005737 	000432'			TST	.CDOBC		; WAS THE BUFFER DUMPED?
   9903	015514	001430 				BEQ	40$		; YES -- JUST EXIT
   9904	015516	000430 				BR	.TYOUT		; NO -- FORCE THE BUFFER OUT
   9905						;
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 255
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23

   9907					.SBTTL	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
   9908
   9909					;+
   9910					; .TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE
   9911					; .TCRLF -- OUTPUT A <CRLF>
   9912					;
   9913					; THIS SUBROUTINE WILL LOAD ON ASCII CHARACTER INTO THE CONSOLE
   9914					; DEVICE OUTPUT BUFFER AND WILL DUMP THE BUFFER TO THE CONSOLE
   9915					; OUTPUT DEVICE ON:
   9916					;
   9917					;	(A) APPEARANCE OF A <NEW-LINE> CHARACTER IN THE INPUT STREAM
   9918					;
   9919					;	(B) OUTPUT BUFFER OVERFLOW
   9920					;
   9921					; INPUT ARGUMENTS:
   9922					;
   9923					;	R0 CONTAINS THE CHARACTER TO BE OUTPUT.
   9924					;
   9925					; OUTPUT ARGUMENTS:
   9926					;
   9927					;	THE OUTPUT BYTE POINTER AND BYTE COUNTERS ARE UPDATED
   9928					;	OR REINITIALIZED IF THE BUFFER WAS DUMPED.
   9929					;
   9930					; ERROR CODES RETURNED:
   9931					;
   9932					;	IF THE CONSOLE OUTPUT FAILS, THE PARSER EXITS.
   9933					;-
   9934
   9935	015520				.TYCHR::
   9936	015520	110077 	000306'			MOVB	R0,@.TYOBP	; PUT THE CHARACTER IN THE BUFFER
   9937	015524	005237 	000306'			INC	.TYOBP		; POINT TO THE NEXT BYTE
   9938	015530	005237 	000432'			INC	.CDOBC		; INCREMENT THE OUTPUT BYTE COUNT
   9939	015534	005337 	000304'			DEC	.TYOBC		; DECREMENT THE LINE CONTROL COUNTER
   9940	015540	001404 				BEQ	.TCRLF		; END-OF-LINE -- FORCE OUTPUT
   9941	015542	122700 	000012 			CMPB	#12,R0		; WAS IT A "<NEW-LINE>"?
   9942	015546	001013 				BNE	40$		; NO -- JUST EXIT
   9943	015550	000413 				BR	.TYOUT		; YES -- OUTPUT THE LINE AND RETURN
   9944						;
   9945
   9946					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 256
.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23

   9948					;	[CONTINUED FROM THE PREVIOUS PAGE]
   9949
   9950	015552				.TCRLF::			; HERE ON OUTPUT BUFFER END
   9951	015552					PUSH	R0		; SAVE R0
	015552	010046 				 MOV	R0,-(SP)
   9952	015554	012700 	000015 			MOV	#15,R0		; .<CARRIAGE-RETURN>
   9953	015560					CALL	.TYCHR		; .TO BUFFER
	015560	004737 	015520'			 JSR	PC,.TYCHR
   9954	015564	012700 	000012 			MOV	#12,R0		; .<NEW-LINE>
   9955	015570					CALL	.TYCHR		; .TO BUFFER
	015570	004737 	015520'			 JSR	PC,.TYCHR
   9956	015574					POP	R0		; .RESTORE R0
	015574	012600 				 MOV	(SP)+,R0
   9957	015576				40$:
   9958	015576					RETURN			; AND EXIT
	015576	000207 				 RTS	PC
   9959
   9960						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 257
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

   9962					.SBTTL	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
   9963
   9964					;+
   9965					; .TYINI -- CONSOLE DEVICE INITIALIZATION
   9966					; .TYOUT -- CONSOLE OUTPUT SUBROUTINE
   9967					;
   9968					; THESE SUBROUTINES WILL OUTPUT THE BUFFER TO THE CONSOLE OUTPUT DEVICE.
   9969					;
   9970					; INPUT ARGUMENTS:
   9971					;
   9972					;	NONE.
   9973					;
   9974					; OUTPUT ARGUMENTS:
   9975					;
   9976					;	THE OUTPUT BUFFER POINTER AND BYTE COUNTS ARE RESET
   9977					;
   9978					; ERROR CODES RETURNED:
   9979					;
   9980					;	IF THE OUTPUT FAILS THE PARSER EXITS.
   9981					;-
   9982
   9983
   9984						.MCALL	DIR$, QIOW$
   9985
   9986						.ENABL	LSB
   9987
   9988	015600				.TYOUT::
   9989	015600	105737 	000210'			TSTB	.OUTTY		; [5.1000]TYPE OUTPUT?
   9990	015604	001417 				BEQ	10$		; [5.1000]NO -- NEXT DEVICE
   9991	015606					DIR$	#.ATCID		; YES -- ATTACH THE CONSOLE DEVICE
	015606	012746 	000460'			MOV	#.ATCID,-(SP)
	015612	104375 				EMT	375
   9992	015614	103464 				BCS	TYODIE		; ERROR IF CC-C IS SET
   9993	015616					DIR$	#.CDOUT		; OUTPUT THE BUFFER TO CONSOLE
	015616	012746 	000414'			MOV	#.CDOUT,-(SP)
	015622	104375 				EMT	375
   9994	015624	103460 				BCS	TYODIE		; ERROR IF CC-C IS SET
   9995	015626	105737 	000014'			TSTB	.COSTS		; DID WE REALLY SUCCEED?
   9996	015632	002455 				BLT	TYODIE		; NO -- COMPLAIN BITTERLY
   9997	015634					DIR$	#.DTCID		; DETACH CONSOLE
	015634	012746 	000474'			MOV	#.DTCID,-(SP)
	015640	104375 				EMT	375
   9998	015642	103451 				BCS	TYODIE		; ERROR IF CC-C IS SET
   9999	015644	013737 	000430'	000452'	10$:	MOV	.CDOBP,.LDOBP	; [5.1000]SET BUFFER POINTER
  10000	015652	013737 	000432'	000454'		MOV	.CDOBC,.LDOBC	; [5.1000]SET BYTE COUNT
  10001	015660				.TYOU1::			; [5.1000]ALT ENTRY POINT FOR CMD ECHO
  10002	015660	105737 	000207'			TSTB	.OUTLP		; [5.1000]PRINT OUTPUT?
  10003	015664	001407 				BEQ	20$		; [5.1000]NO -- NEXT DEVICE
  10004	015666					DIR$	#.LDOUT		; [5.1000]YES -- OUTPUT BUFFER
	015666	012746 	000436'			MOV	#.LDOUT,-(SP)
	015672	104375 				EMT	375
  10005	015674	103434 				BCS	TYODIE		; [5.1000]ERROR IF CC-C IS SET
  10006	015676	105737 	000212'			TSTB	.LDSTS		; [5.1000]DID WE REALLY SUCCEED
  10007	015702	002431 				BLT	TYODIE		; [5.1000]NO -- COMPLAIN BITTERLY
  10008	015704	105737 	000206'		20$:	TSTB	.OUTLG		; [5.1000]LOG OUTPUT?
  10009	015710	001412 				BEQ	30$		; [5.1000]NO -- DONE OUTPUTTING
  10010	015712					PUSH	<R1,R2>		; [5.1000]YES -- SAVE REGISTERS
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 257-1
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

	015712	010146 				 MOV	R1,-(SP)
	015714	010246 				 MOV	R2,-(SP)
  10011	015716	013702 	000452'			MOV	.LDOBP,R2	; [5.1000]SET BUFFER POINTER
  10012	015722	013701 	000454'			MOV	.LDOBC,R1	; [5.1000]SET BYTE COUNTER
  10013	015726					CALL	.WRITR		; [5.1000]LOG IT
	015726	004737 	002616'			 JSR	PC,.WRITR
  10014	015732					POP	<R2,R1>		; [5.1000]RESTORE REGISTERS
	015732	012602 				 MOV	(SP)+,R2
	015734	012601 				 MOV	(SP)+,R1
  10015	015736				30$:
  10016
  10017					;	[CONTINUED ON THE FOLLOWING PAGE]
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 258
.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23

  10019					;	[CONTINUED FROM THE PREVIOUS PAGE]
  10020
  10021	015736				.TYINI::			; HERE TO INIT OUTPUT POINTERS
  10022	015736	005037 	000432'			CLR	.CDOBC		; RESET BUFFER BYTE COUNT
  10023	015742	012737 	000576'	000430'		MOV	#.COBFR,.CDOBP	; [5.1000]RESET BUFFER PTR
  10024	015750	012737 	000204 	000304'		MOV	#.COBFL,.TYOBC	; RESET OUTPUT LINE CONTROL
  10025	015756	012737 	000576'	000306'		MOV	#.COBFR,.TYOBP	; RESET OUTPUT BYTE POINTER
  10026	015764					RETURN			; AND EXIT
	015764	000207 				 RTS	PC
  10027	015766				TYODIE:
  10028	015766					CALLR	.EXITP		; EXIT GRACEFULLY
	015766	000137 	010110'			 JMP	.EXITP
  10029						;
  10030						.DSABL	LSB
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 259
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  10032					.SBTTL	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
  10033
  10034					;+
  10035					; .TYR50 -- TYPE A .RAD50 SYMBOL
  10036					;
  10037					; THIS ROUTINE WILL CONVERT THE .RAD50 SYMBOL IN R0 TO ASCII
  10038					; AND PRINT IT ON THE CONSOLE DEVICE.
  10039					;
  10040					; INPUT ARGUMENTS:
  10041					;
  10042					;	R0 HOLDS THE .RAD50 SYMBOL TO BE PRINTED.
  10043					;
  10044					; OUTPUT ARGUMENTS:
  10045					;
  10046					;	NONE.
  10047					;
  10048					; ERROR CODES RETURNED:
  10049					;
  10050					;	NONE.
  10051					;-
  10052
  10053	015772				.TYR50::
  10054	015772					PUSH	<R1,R2>		; SAVE REGISTERS
	015772	010146 				 MOV	R1,-(SP)
	015774	010246 				 MOV	R2,-(SP)
  10055	015776	012702 	001472'			MOV	#.T50TB,R2	; ..TABLE OF DIVISORS TO R2
  10056	016002				10$:
  10057	016002	012201 				MOV	(R2)+,R1	; ..CURRENT DIVISOR TO R1
  10058	016004	001414 				BEQ	30$		; ..DONE IF .EQ. 0
  10059	016006					CALL	$DIV		; ..DO THE DIVISION
	016006	004737 	000000G			 JSR	PC,$DIV
  10060	016012					PUSH	R1		; ..SAVE THE REMAINDER
	016012	010146 				 MOV	R1,-(SP)
  10061	016014	012701 	001442'			MOV	#.R50TB,R1	; ...CONVERSION TABLE POINTER TO R1
  10062	016020				20$:
  10063	016020	062100 				ADD	(R1)+,R0	; ...CONVERT THIS CHARACTER
  10064	016022	020021 				CMP	R0,(R1)+	; ...FOUND IT YET?
  10065	016024	103775 				BLO	20$		; ...NO -- KEEP TRYING
  10066	016026					CALL	.TYCHR		; ...YES -- PUT IT IN THE BUFFER
	016026	004737 	015520'			 JSR	PC,.TYCHR
  10067	016032					POP	R0		; ...LAST REMAINDER IS NEW DIVIDEND
	016032	012600 				 MOV	(SP)+,R0
  10068	016034	000762 				BR	10$		; ..DO THE NEXT CHARACTER
  10069						;
  10070	016036				30$:
  10071	016036					POP	<R2,R1>		; ..RESTORE REGISTERS
	016036	012602 				 MOV	(SP)+,R2
	016040	012601 				 MOV	(SP)+,R1
  10072	016042					RETURN			; TO CALLER
	016042	000207 				 RTS	PC
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 260
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  10074					; THIS IS A PICTURE OF THE "QIOW$" DPB, NOT ALL OF THE ARGUMENTS
  10075					; IN THE DPB ARE USED BY SOME FORMS OF THE "QIOW$" DIRECTIVE.
  10076					;
  10077					;	!===============================================!
  10078					; 00	!	DPB SIZE	!	    DIC		!
  10079					;	!-----------------------------------------------!
  10080					; 02	!	  INPUT / OUTPUT FUNCTION CODE		!
  10081					;	!-----------------------------------------------!
  10082					; 04	!	       LOGICAL UNIT NUMBER		!
  10083					;	!-----------------------------------------------!
  10084					; 06	!	PRIORITY	!   EVENT FLAG NUMBER	!
  10085					;	!-----------------------------------------------!
  10086					; 10	!	     I/O STATUS BLOCK ADDRESS		!
  10087					;	!-----------------------------------------------!
  10088					; 12	!	  AST ROUTINE ADDRESS (NOT USED)	!
  10089					;	!-----------------------------------------------!
  10090					; 14	!	      DATA BUFFER ADDRESS		!
  10091					;	!-----------------------------------------------!
  10092					; 16	!		  BYTE COUNT			!
  10093					;	!-----------------------------------------------!
  10094					; 20	!	OUTPUT FORMAT CONTROL CHARACTER		!
  10095					;	!===============================================!
  10096
  10097					; THIS IS THE CONSOLE OUTPUT DPB
  10098
  10099	000414				.PSECT	DPBS
  10100
  10101	000414				.CDOUT::
  10102	000414					QIOW$	IO.WLB,CODLUN,E.FCOD,0,.COSTS,0,<.COBFR,0,VF.INT>
	000414	   003 	   011 			.BYTE	3,$$$ARG
	000416	000000G				.WORD	IO.WLB
	000420	000002 				.WORD	CODLUN
	000422	   003 	   000 			.BYTE	E.FCOD,0
	000424	000014'				.WORD	.COSTS
	000426	000000 				.WORD	0
	000430	000576'				.WORD	.COBFR
	000432	000000 				.WORD	0
	000434	000000 				.WORD	VF.INT
  10103
  10104		000430'			.CDOBP==.CDOUT+Q.IOPL		; CONSOLE OUTPUT BYTE POINTER
  10105		000432'			.CDOBC==.CDOUT+Q.BYCT		; CONSOLE OUTPUT BYTE COUNT
  10106		000434'			.CDOFC==.CDOUT+Q.OVFC		; CONSOLE OUTPUT FORMAT CHARACTER
  10107
  10108					; THIS IS THE LIST DEVICE OUTPUT DPB
  10109
  10110	000436				.LDOUT::
  10111	000436					QIOW$	IO.WLB,LSTLUN,E.FLOD,0,.LDSTS,0,<.COBFR,0,VF.INT>
	000436	   003 	   011 			.BYTE	3,$$$ARG
	000440	000000G				.WORD	IO.WLB
	000442	000003 				.WORD	LSTLUN
	000444	   005 	   000 			.BYTE	E.FLOD,0
	000446	000212'				.WORD	.LDSTS
	000450	000000 				.WORD	0
	000452	000576'				.WORD	.COBFR
	000454	000000 				.WORD	0
	000456	000000 				.WORD	VF.INT
  10112
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 260-1
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  10113		000452'			.LDOBP==.LDOUT+Q.IOPL		; LIST DEVICE BYTE POINTER
  10114		000454'			.LDOBC==.LDOUT+Q.BYCT		; LIST DEVICE BYTE COUNT
  10115		000456'			.LDOFC=.LDOUT+Q.OVFC		; LIST DEVICE FORMAT CHARACTER
  10116
  10117					; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
  10118
  10119	000460				.ATCID::
  10120	000460					QIOW$	IO.ATT,CIDLUN,E.FCID,0,0,0
	000460	   003 	   006 			.BYTE	3,$$$ARG
	000462	000000G				.WORD	IO.ATT
	000464	000001 				.WORD	CIDLUN
	000466	   002 	   000 			.BYTE	E.FCID,0
	000470	000000 				.WORD	0
	000472	000000 				.WORD	0
  10121
  10122					; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
  10123
  10124	000474				.DTCID::
  10125	000474					QIOW$	IO.DET,CIDLUN,E.FCOD,0,0,0
	000474	   003 	   006 			.BYTE	3,$$$ARG
	000476	000000G				.WORD	IO.DET
	000500	000001 				.WORD	CIDLUN
	000502	   003 	   000 			.BYTE	E.FCOD,0
	000504	000000 				.WORD	0
	000506	000000 				.WORD	0
  10126
  10127	016044				.PSECT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  10130
  10131		000001 			FTLCMN==1
  10132
  10133		000312'			.END	DATABX
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-1
SYMBOL TABLE

ABMSG   001051RG    003	AP.NRM= 001400   	CAIN  = 000306   	CLOWAT  000260R     004	DEXDON= 000004
ABOMSG  000365RG    003	AP.NXM= 000040   	CALERM  000104R     005	CLRMSG  000373RG    003	DEXWD1= 174406
ACBMSG  001372RG    003	AP.PWF= 000001   	CALL  = 000040   	CNRERM  000400R     005	DEXWD2= 174404
ADD   = 000270   	AP.SAP= 000002   	CALLI = 000047   	CNTMSG  000401RG    003	DEXWD3= 174402
ADDB  = 000273   	AP.SBE= 000100   	CAM   = 000310   	CNUPE = 000002   	DFAD  = 000110
ADDI  = 000271   	ARMSG   000773RG    003	CAMA  = 000314   	CODLUN= 000002   	DFBEND= 000362RG    002
ADDM  = 000272   	ARXMSG  001020RG    003	CAME  = 000312   	CONI  = 000005   	DFDV  = 000113
ADH   = 000004   	ASH   = 000240   	CAMG  = 000317   	CONIS   002265R     003	DFMP  = 000112
ADL   = 000000   	ASHC  = 000244   	CAMGE = 000315   	CONMSG  001625RG    003	DFN   = 000131
ADMSG   001011RG    003	AUGMSG  001317RG    003	CAML  = 000311   	CONO  = 000004   	DFSB  = 000111
ADRTMP  007320R     002	A.LULU= 000002   	CAMLE = 000313   	CONOS   002260R     003	DFUNC = 000200
ADXMSG  001014RG    003	A.LUNA= 000004   	CAMN  = 000316   	CONSO = 000007   	DF.DMG= 000004
ALLMSG  001414RG    003	A.LUNU= 000006   	CAPERM  000133R     005	CONSOS  002300R     003	DF.DMN= 000007
AMBERM  003670R     005	BAEERM  000023R     005	CBOERM  000166R     005	CONSZ = 000006   	DF.DOR= 000001
AND   = 000404   	BCCTER  003362R  	CCA   = 000014   	CONSZS  002272R     003	DF.EHG= 000010
ANDB  = 000407   	BIT0  = 000001   	CC.ALL= 003417   	CPEERM  000440R     005	DF.EHM= 000011
ANDCA = 000410   	BIT00 = 000001   	CC.NRM= 000000   	CPUMSG  001420RG    003	DF.EMG= 000005
ANDCAB= 000413   	BIT01 = 000002   	CDD   = 000020   	CPUNUM= 000002   	DF.EMN= 000006
ANDCAI= 000411   	BIT02 = 000004   	CDIERM  000224R     005	CPVMSG  000000RG    003	DF.KLR= 000012
ANDCAM= 000412   	BIT03 = 000010   	CD.ALL= 003400   	CRAMSG  001054RG    003	DF.KLW= 000013
ANDCB = 000440   	BIT04 = 000020   	CD.CLC= 000400   	CRHERM  000467R     005	DF.KLX= 000014
ANDCBB= 000443   	BIT05 = 000040   	CD.CRC= 002000   	CRLMSG  001063RG    003	DF.OFF= 000002
ANDCBI= 000441   	BIT06 = 000100   	CD.DPC= 001000   	CRMMSG  001450RG    003	DF.ON = 000003
ANDCBM= 000442   	BIT07 = 000200   	CD.NRM= 000000   	CR.ALL= 000003   	DF.PDP= 000016
ANDCM = 000420   	BIT08 = 000400   	CESCES  000016R  	CR.CR1= 000001   	DF.PEX= 000015
ANDCMB= 000423   	BIT09 = 001000   	CESERM  003722R     005	CR.CR2= 000002   	DIAG1 = 174430
ANDCMI= 000421   	BIT1  = 000002   	CFHERM  000305R     005	CR.FUL= 000000   	DIAG2 = 174432
ANDCMM= 000422   	BIT10 = 002000   	CHNPNT= 000001   	CR.HLF= 000001   	DIAG3 = 174436
ANDI  = 000405   	BIT11 = 004000   	CH.ALP= 000001   	CR.NRM= 000000   	DIKL10= 000010
ANDM  = 000406   	BIT12 = 010000   	CH.ANM= 000003   	CR.QTR= 000002   	DISMSG  000422RG    003
AOBJN = 000253   	BIT13 = 020000   	CH.AOP= 000100   	CR.SLO= 000003   	DIV   = 000234
AOBJP = 000252   	BIT14 = 040000   	CH.END= 000034   	CS.ALL= 000014   	DIVB  = 000237
AOJ   = 000340   	BIT15 = 100000   	CH.EOC= 000010   	CS.CS1= 000004   	DIVI  = 000235
AOJA  = 000344   	BIT2  = 000004   	CH.EOL= 000004   	CS.CS2= 000010   	DIVM  = 000236
AOJE  = 000342   	BIT3  = 000010   	CH.EOS= 000020   	CS.EXP= 177670   	DLYCNT= 174400
AOJG  = 000347   	BIT4  = 000020   	CH.ILL= 000200   	CS.EXT= 000010   	DMFERM  000635R     005
AOJGE = 000345   	BIT5  = 000040   	CH.NUL= 000000   	CS.FST= 000004   	DMOVE = 000120
AOJL  = 000341   	BIT6  = 000100   	CH.NUM= 000002   	CS.MGN= 000004   	DMOVEM= 000124
AOJLE = 000343   	BIT7  = 000200   	CH.PFX= 000040   	CS.NRM= 000000   	DMOVN = 000121
AOJN  = 000346   	BIT8  = 000400   	CIDLUN= 000001   	CS.UDF= 000014   	DMOVNM= 000125
AOS   = 000350   	BIT9  = 001000   	CKCILS  000152R  	CTLMSG  001467RG    003	DNFERM  000724R     005
AOSA  = 000354   	BLKI  = 000000   	CKCMRA  000160R  	CTYPTR= ****** GX	DNPERM  000763R     005
AOSE  = 000352   	BLKIS   002232R     003	CKEEOC  000250R  	DATABX  000312RG    002	DOCCNR  010102R
AOSG  = 000357   	BLKO  = 000002   	CKRKLR  000366R  	DATAI = 000001   	DON10C= 040000
AOSGE = 000355   	BLKOS   002245R     003	CLEAR = 000400   	DATAIS  002237R     003	DON10S= 100000
AOSL  = 000351   	BLT   = 000251   	CLEARB= 000403   	DATAO = 000003   	DON11C= 000100
AOSLE = 000353   	BPARER= 000020   	CLEARI= 000401   	DATAOS  002252R     003	DON11S= 000200
AOSN  = 000356   	BRMSG   001024RG    003	CLEARM= 000402   	DATMSG  001635RG    003	DORERM  000674R     005
APEERM  000000R     005	BRXMSG  001027RG    003	CLEERM  000343R     005	DAVERM  000531R     005	DPB   = 000137
APR   = 000000   	CAEERM  000052R     005	CLKMSG  001617RG    003	DBTERM  000562R     005	DPDTEN= 000322RG    004
APRMSG  001273RG    003	CAI   = 000300   	CLOATR= 000256R     004	DCKERM  000612R     005	DPS4  = 040000
AP.ALL= 000177   	CAIA  = 000304   	CLOATT= 000262R     004	DCOMST= 000001   	DPTMSG  001455RG    003
AP.ARP= 001000   	CAIE  = 000302   	CLODAC  000240R     004	DCRMSG  000724RG    003	DRAMSG  001071RG    003
AP.CDP= 000004   	CAIG  = 000307   	CLOFCF  002160R  	DECMSG  001361RG    003	DRDMSG  002144R     003
AP.EIP= 000400   	CAIGE = 000305   	CLOIOF= 000242R     004	DEP   = 010000   	DRESET= 000100
AP.IPF= 000020   	CAIL  = 000301   	CLOLUN= 000244R     004	DEPMSG  000412RG    003	DRMMSG  001573RG    003
AP.MPE= 000010   	CAILE = 000303   	CLOSE = 000070   	DEX   = 000400   	DR.DTE= 000011
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-2
SYMBOL TABLE

DSEND = 000004   	D3.CDD= 000020   	ERR11S= 000002   	FMPM  = 000162   	FR.101= 000202
DSFERM  001022R     005	D3.MBZ= 177704   	ERSMSG  000107R     003	FMPR  = 000164   	FR.102= 000204
DS04  = 004000   	D3.NPE= 000002   	ESDERM  001305R     005	FMPRB = 000167   	FR.103= 000206
DS05  = 002000   	D3.PAR= 040000   	ESEERM  001342R     005	FMPRI = 000165   	FR.104= 000210
DS06  = 001000   	D3.RST= 000001   	ETRMSG  002200R     003	FMPRM = 000166   	FR.105= 000212
DTCERM  001055R     005	D3.SCD= 000040   	EXAMSG  000435RG    003	FNDALN  000000R     004	FR.106= 000214
DTECMD= 000451   	D3.SSL= 100000   	EXCH  = 000250   	FNDALU= 000002R     004	FR.107= 000216
DTEDSF  003626R  	D3.TXB= 000001   	EXDDMF  004134R  	FNDCAL  001550R  	FR.110= 000220
DTEFLG= 000444   	D3.UPE= 000020   	EXDEMF  004142R  	FNDDNF  001556R  	FR.111= 000222
DTEF11= 000450   	D3.URE= 000004   	EXDESD  004104R  	FNDFNA  000010R     004	FR.112= 000224
DTEMSG  001100RG    003	D3.WEP= 000010   	EXDESE  004120R  	FNDFNB= 000036R     004	FR.113= 000226
DTEMTD= 000455   	EBCECT  003722R  	EXDTEN= 000334RG    004	FNDLUN= 000014R     004	FR.114= 000230
DTEMTI= 000456   	EBPEPE  000424R  	EXECTO  004354R  	FOFERM  001545R     005	FR.115= 000232
DTKMSG  002215R     003	EBRMSG  001107RG    003	EXRTBL= 000012 G 	FORPRO= 000020   	FR.116= 000234
DTRMSG  002063R     003	EBSEL = 000100   	EXTEND= 000123   	FRDERM  001575R     005	FR.117= 000236
DUPE  = 000020   	EBSMSG  001033RG    003	EXTEXT  000214R     004	FRDFRF  004436R  	FR.120= 000240
DURE  = 000004   	EBUSPC= 000020   	EXTFEF  002036R  	FRDMSG  000445RG    003	FR.121= 000242
DWRMSG  002150R     003	EBUSPS= 000004   	EXTMSG  001477RG    003	FRDTEN= 000346RG    004	FR.122= 000244
DW1MSG  002104R     003	ECTERM  001127R     005	E.FCID= 000002   	FRFERM  003754R     005	FR.123= 000246
DW2MSG  002114R     003	EDEPT   002154R     003	E.FCOD= 000003   	FR.ADX= 000254   	FR.124= 000250
DW3MSG  002134R     003	EDEXV   002160R     003	E.FCTC= ****** GX	FR.APR= 000220   	FR.125= 000252
DXWRD1= 002000   	EDONES= 040000   	E.FFIL= 000006   	FR.ARX= 000252   	FR.126= 000254
D.CDLS= ****** GX	EDPHY   002174R     003	E.FHTO= 000001   	FR.BRX= 000250   	FR.127= 000256
D1.CES= 004000   	EDTYTB  007264R     002	E.FKLN= 000004   	FR.CA1= 000312   	FR.130= 000260
D1.DCS= 000001   	EDUPT   002164R     003	E.FLOD= 000005   	FR.CA2= 000310   	FR.131= 000262
D1.DDT= 000040   	EDUSV   002170R     003	FAD   = 000140   	FR.CL1= 000316   	FR.132= 000264
D1.DEX= 000400   	ED.EPT= 000000   	FADB  = 000143   	FR.CL2= 000314   	FR.133= 000266
D1.DFM= 000010   	ED.EXV= 000040   	FADL  = 000141   	FR.CRD= 000302   	FR.134= 000270
D1.DS0= 100000   	ED.PHY= 000200   	FADM  = 000142   	FR.CR1= 000316   	FR.135= 000272
D1.DS1= 040000   	ED.UPT= 000100   	FADR  = 000144   	FR.CR2= 000314   	FR.136= 000274
D1.DS2= 020000   	ED.USV= 000140   	FADRB = 000147   	FR.CR3= 000312   	FR.137= 000276
D1.DS3= 010000   	EF.CRI= ****** GX	FADRI = 000145   	FR.CR4= 000310   	FR.140= 000300
D1.DS4= 004000   	ELBBIN  007350RG    002	FADRM = 000146   	FR.DA1= 000260   	FR.141= 000302
D1.DS5= 002000   	ELBOCT  007354RG    002	FCFERM  001377R     005	FR.DA2= 000262   	FR.142= 000304
D1.DS6= 001000   	ELEMSG  000776RG    003	FDV   = 000170   	FR.EBS= 000356   	FR.143= 000306
D1.HLP= 001000   	ELNBIN  007342RG    002	FDVB  = 000173   	FR.FE1= 000266   	FR.144= 000310
D1.LBK= 000200   	ELNNOR  013214R  	FDVL  = 000171   	FR.FE2= 000264   	FR.145= 000312
D1.MBZ= 000442   	ELNOCT  007360RG    002	FDVM  = 000172   	FR.PI0= 000200   	FR.146= 000314
D1.PLS= 000020   	EMFERM  001160R     005	FDVR  = 000174   	FR.PI1= 000202   	FR.147= 000316
D1.RUN= 002000   	ENBMSG  001600RG    003	FDVRB = 000177   	FR.RAD= 000256   	FR.150= 000320
D1.T10= 000200   	ENTCRE  000070R     004	FDVRI = 000175   	FR.RAR= 000240   	FR.151= 000322
D1.T11= 000100   	ENTDEL  000144R     004	FDVRM = 000176   	FR.RBR= 000242   	FR.152= 000324
D1.V04= 000020   	ENTENA  000114R     004	FEBMSG  001254RG    003	FR.RFM= 000246   	FR.153= 000326
D1.XFR= 000004   	ENTER = 000077   	FEFERM  001430R     005	FR.RMQ= 000244   	FR.154= 000330
D1011 = 000040   	ENTFEN  001730R  	FENERM  001462R     005	FR.SC1= 000262   	FR.155= 000332
D2RST   004344R     002	EOCERM  001217R     005	FERMSG  001113RG    003	FR.SC2= 000260   	FR.156= 000334
D2.EBD= 040000   	EOFMSG  000335R     003	FIX   = 000122   	FR.SR1= 000306   	FR.157= 000336
D2.MBZ= 177641   	EPEERM  001255R     005	FIXR  = 000126   	FR.SR2= 000304   	FR.160= 000340
D2.MS1= 000002   	EPTR  = 000000   	FLDMSG  000050R     003	FR.VM0= 000320   	FR.161= 000342
D2.MS2= 000004   	EQV   = 000444   	FLFERM  001513R     005	FR.VM1= 000322   	FR.162= 000344
D2.MS4= 000010   	EQVB  = 000447   	FLGMSG  001116RG    003	FR.VM2= 000324   	FR.163= 000346
D2.MS8= 000020   	EQVI  = 000445   	FLTMSG  001642RG    003	FR.VM3= 000326   	FR.164= 000350
D2.RA0= 100000   	EQVM  = 000446   	FLTR  = 000127   	FR.VM4= 000330   	FR.165= 000352
D2.RA1= 040000   	ERRMSG  001424RG    003	FMMSG   001040RG    003	FR.VM5= 000332   	FR.166= 000354
D2.RA2= 020000   	ERR10C= 010000   	FMP   = 000160   	FR.VM6= 000334   	FR.167= 000356
D2.RST= 000100   	ERR10S= 020000   	FMPB  = 000163   	FR.VM7= 000336   	FR.170= 000360
D3RST   004346R     002	ERR11C= 000001   	FMPL  = 000161   	FR.100= 000200   	FR.171= 000362
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-3
SYMBOL TABLE

FR.172= 000364   	FW.DR1= 000140   	FX.SMR= 000016   	HLLO  = 000520   	IBP   = 000133
FR.173= 000366   	FW.DR2= 000142   	FX.SRF= 000022   	HLLOI = 000521   	IDFERM  001703R     005
FR.174= 000370   	FW.DR3= 000144   	FX.SYC= 000010   	HLLOM = 000522   	IDIV  = 000230
FR.175= 000372   	FW.EBL= 000174   	FX.UDR= 000032   	HLLOS = 000523   	IDIVB = 000233
FR.176= 000374   	FW.IAC= 000154   	FX.UIR= 000030   	HLLS  = 000503   	IDIVI = 000231
FR.177= 000376   	FW.IOJ= 000152   	FX.000= 000000   	HLLZ  = 000510   	IDIVM = 000232
FSB   = 000150   	FW.IPE= 000114   	FX.001= 000002   	HLLZI = 000511   	IDPB  = 000136
FSBB  = 000153   	FW.KLO= 000156   	FX.002= 000004   	HLLZM = 000512   	IE.EBX= ****** GX
FSBL  = 000151   	FW.LAR= 000176   	FX.003= 000006   	HLLZS = 000513   	IE.EOF= ****** GX
FSBM  = 000152   	FW.LBL= 000106   	FX.004= 000010   	HLR   = 000544   	IE.NSF= ****** GX
FSBR  = 000154   	FW.LBR= 000104   	FX.005= 000012   	HLRE  = 000574   	IFCERM  001735R     005
FSBRB = 000157   	FW.MBX= 000162   	FX.006= 000014   	HLREI = 000575   	IFLOP = 100000
FSBRI = 000155   	FW.SBR= 000174   	FX.007= 000016   	HLREM = 000576   	ILCERM  004057R     005
FSBRM = 000156   	FW.040= 000100   	FX.010= 000020   	HLRES = 000577   	ILDB  = 000134
FSC   = 000132   	FW.041= 000102   	FX.011= 000022   	HLRO  = 000564   	ILIERM  001771R     005
FSSMSG  001607RG    003	FW.042= 000104   	FX.012= 000024   	HLROI = 000565   	ILSERM  004111R     005
FSWERM  001625R     005	FW.043= 000106   	FX.013= 000026   	HLROM = 000566   	IMUL  = 000220
FTBYTE= 000000   	FW.044= 000110   	FX.014= 000030   	HLROS = 000567   	IMULB = 000223
FTCRAM= 000000   	FW.045= 000112   	FX.015= 000032   	HLRS  = 000547   	IMULI = 000221
FTDEBU= 000001   	FW.046= 000114   	FX.016= 000034   	HLRZ  = 000554   	IMULM = 000222
FTDISP= 000000   	FW.047= 000116   	FX.017= 000036   	HLRZI = 000555   	IN    = 000056
FTDRAM= 000000   	FW.050= 000120   	FX.020= 000040   	HLRZM = 000556   	INBUF = 000064
FTHELP= 000000   	FW.051= 000122   	FX.021= 000042   	HLRZS = 000557   	INCMSG  000736RG    003
FTKLE = 000001   	FW.052= 000124   	FX.022= 000044   	HLTMSG  000467RG    003	INDLUN= 000005
FTKLER= 000000   	FW.053= 000126   	FX.023= 000046   	HRL   = 000504   	INIMSG  000474RG    003
FTLCMN= 000001 G 	FW.054= 000130   	FX.024= 000050   	HRLE  = 000534   	INIT  = 000041
FTLCVT= 000000   	FW.055= 000132   	FX.025= 000052   	HRLEI = 000535   	INPUT = 000066
FTLIST= 000001   	FW.056= 000134   	FX.026= 000054   	HRLEM = 000536   	INTMSG  001510RG    003
FTTRAK= 000001   	FW.057= 000136   	FX.027= 000056   	HRLES = 000537   	INTROF= 000010
FTTRP4= 000001   	FW.060= 000140   	FX.030= 000060   	HRLI  = 000505   	INTRON= 000040
FTUCVR= 000130   	FW.061= 000142   	FX.031= 000062   	HRLM  = 000506   	INTSON= 000001
FT1105= 000001   	FW.062= 000144   	FX.032= 000064   	HRLO  = 000564   	INT10S= 000400
FT1110= 000001   	FW.063= 000146   	FX.033= 000066   	HRLOI = 000565   	INT11C= 002000
FT1115= 000001   	FW.064= 000150   	FX.034= 000070   	HRLOM = 000566   	INT11S= 004000
FT1120= 000001   	FW.065= 000152   	FX.035= 000072   	HRLOS = 000567   	IOCERM  002015R     005
FT1135= 000001   	FW.066= 000154   	FX.036= 000074   	HRLS  = 000507   	IOMSG   001432RG    003
FT1140= 000001   	FW.067= 000156   	FX.037= 000076   	HRLZ  = 000514   	IOR   = 000434
FT1145= 000000   	FW.070= 000160   	GETSTS= 000062   	HRLZI = 000515   	IORB  = 000437
FULMSG  001530RG    003	FW.071= 000162   	GTFILC  014264R  	HRLZM = 000516   	IORI  = 000435
FWDTEN= 000360RG    004	FW.072= 000164   	GTKKLA  013274R  	HRLZS = 000517   	IORM  = 000436
FWFERM  004001R     005	FW.073= 000166   	GTLCBO  013130R  	HRR   = 000540   	IOTAB   007276R     002
FWRFWF  004560R  	FW.074= 000170   	GTLILC  013136R  	HRRE  = 000570   	IO.ATT= ****** GX
FWRMSG  000453RG    003	FW.075= 000172   	GTNILI  013700R  	HRREI = 000571   	IO.CRE= ****** GX
FWTERM  001652R     005	FW.076= 000174   	GTNMRA  014526R  	HRREM = 000572   	IO.DAC= ****** GX
FW.APE= 000116   	FW.077= 000176   	GTNNER  013506R  	HRRES = 000573   	IO.DEL= ****** GX
FW.CA1= 000122   	FXCFXF  004730R  	GTNNOR  014534R  	HRRI  = 000541   	IO.DET= ****** GX
FW.CA2= 000124   	FXCMSG  000462RG    003	GTNORE  013502R  	HRRM  = 000542   	IO.ENA= ****** GX
FW.CDR= 000112   	FXDTEN= 000372RG    004	HARMSG  001773RG    003	HRRO  = 000560   	IO.EXT= ****** GX
FW.CHN= 000160   	FXFERM  004027R     005	HIBYTE= 177400   	HRROI = 000561   	IO.FNA= ****** GX
FW.CRD= 000126   	FX.BMC= 000012   	HLFMSG  001535RG    003	HRROM = 000562   	IO.RLB= ****** GX
FW.CR1= 000136   	FX.CMR= 000014   	HLL   = 000500   	HRROS = 000563   	IO.RNA= ****** GX
FW.CR2= 000134   	FX.CON= 000024   	HLLE  = 000530   	HRRS  = 000543   	IO.RVB= ****** GX
FW.CR3= 000132   	FX.CRF= 000020   	HLLEI = 000531   	HRRZ  = 000550   	IO.WLB= ****** GX
FW.CR4= 000130   	FX.CSP= 000000   	HLLEM = 000532   	HRRZI = 000551   	IO.WVB= ****** GX
FW.CSR= 000110   	FX.CST= 000002   	HLLES = 000533   	HRRZM = 000552   	IPCERM  004155R     005
FW.DJE= 000146   	FX.EBC= 000006   	HLLI  = 000501   	HRRZS = 000553   	IP.ALL= 000017
FW.DJO= 000150   	FX.MBC= 000004   	HLLM  = 000502   	I     = 000000   	IP.CRP= 000004
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-4
SYMBOL TABLE

IP.DRP= 000002   	KWEERM  002363R     005	MUL   = 000224   	OUTBUF= 000065   	PSWW1 = 000005
IP.FMP= 000010   	LDB   = 000135   	MULB  = 000227   	OUTMSG  001712RG    003	PSWW10= 000014
IP.FSS= 000001   	LG.ALL= 000007   	MULI  = 000225   	OUTPUT= 000067   	PSWW11= 000015
IP.NRM= 000016   	LG.ARG= 000010   	MULM  = 000226   	PAG   = 000010   	PSWW12= 000016
IRCERM  002045R     005	LG.MAR= 000020   	M.KTAE= 000010   	PAGMSG  001435RG    003	PSWW13= 000017
IREERM  002100R     005	LG.MNT= 000004   	M.KTEF= 000002   	PARERC  000662R  	PSWW2 = 000006
IS.SET= ****** GX	LG.MOD= 000040   	M.KTMG= 000004   	PARERX  000506R  	PSWW3 = 000007
ITFERM  002130R     005	LG.NUL= 000000   	M.KTUN= 000006   	PARMSG  000011RG    003	PSWW4 = 000010
ITNERM  002162R     005	LG.OPR= 000001   	M.PARQ= ****** GX	PARNAM  000021RG    003	PSWW5 = 000011
JANMSG  001244RG    003	LG.PRG= 000002   	NDIERM  002521R     005	PARUEC  000734R  	PSWW6 = 000012
JFCL  = 000255   	LG.PRM= 000003   	NEBMSG  000122R     003	PAR$$E= 000050   	PSWW7 = 000013
JFFO  = 000243   	LG.RNG= 000100   	NERERM  002551R     005	PAR$$K= 000126   	PS.NRM= 001416
JMPMSG  000507RG    003	LG.RPT= 000400   	NORERM  002613R     005	PAR$$V= 000015   	PTLERM  003065R     005
JRA   = 000267   	LG.STR= 000200   	NOTMSG  001677RG    003	PCMSG   001046RG    003	PTOATM  000270R     003
JRST  = 000254   	LOAD11= 000004   	NOVMSG  001350RG    003	PC.AFI= 000020   	PTRTEM  000151R     003
JSA   = 000266   	LOGLUN= 000004   	NPIERM  002653R     005	PC.AT0= 000004   	PTRTHM  000221R     003
JSP   = 000265   	LOGMSG  001557RG    003	NRMMSG  001441RG    003	PC.AT1= 000010   	PULSE = 000020
JSR   = 000264   	LOKFLF  001656R  	NSFERM  002707R     005	PC.BIS= 000400   	PUSH  = 000261
JSYS  = 000104   	LOKFNA  000040R     004	NSKERM  004220R     005	PC.CY0= 004000   	PUSHJ = 000260
JULMSG  001312RG    003	LOKFNB= 000066R     004	NSTERM  002732R     005	PC.CY1= 002000   	QRESMS  000552RG    003
JUMP  = 000320   	LOKIOF= 000042R     004	NTIERM  002755R     005	PC.FOV= 001000   	QSAVMS  000560RG    003
JUMPA = 000324   	LOKLUN= 000044R     004	NULMSG  000364RG    003	PC.FUF= 000002   	QSIZE = 000023
JUMPE = 000322   	LOOKUP= 000076   	NULSTP= 000040   	PC.LIP= 000040   	QTRMSG  001542RG    003
JUMPG = 000327   	LPTMSG  001563RG    003	NUPE  = 000002   	PC.NDV= 000001   	QUTMSG  000701RG    003
JUMPGE= 000325   	LSH   = 000242   	NXTMSG  000750RG    003	PC.OVF= 010000   	Q.BYCT= 000016
JUMPL = 000321   	LSHC  = 000246   	OAIERM  003005R     005	PC.UIO= 000100   	Q.IBUF= 000014
JUMPLE= 000323   	LSTLUN= 000003   	OCTMSG  001340RG    003	PC.USR= 000200   	Q.IOAE= 000012
JUMPN = 000326   	MAP   = 000257   	OFCERM  003035R     005	PERCLR= 001000   	Q.IOEF= 000006
JUNMSG  001305RG    003	MARMSG  001265RG    003	OFFMSG  000044RG    003	PE.ALL= 000037   	Q.IOFN= 000002
KCNERM  002212R     005	MAYMSG  001301RG    003	OFSMSG  001703RG    003	PE.CES= 000001   	Q.IOLU= 000004
KF.BRM= 001000   	MBZTAB  004212R     002	ONMSG   000041RG    003	PE.CRM= 000004   	Q.IOPL= 000014
KF.CES= 000100   	MCRMSG  000535RG    003	OPEACC  000160R     004	PE.DRM= 000002   	Q.IOPR= 000007
KF.CLK= 100000   	MEMMSG  001670RG    003	OPEATT= 000210R     004	PE.FMP= 000010   	Q.IOSB= 000010
KF.CON= 000200   	MGNMSG  001521RG    003	OPEFID= 000174R     004	PE.FSS= 000020   	Q.OBUF= 000014
KF.DEF= 000200   	MMSG    000514RG    003	OPEFOF  001776R  	PHYS  = 100000   	Q.OVFC= 000020
KF.KLO= 000400   	MNTMSG  001170RG    003	OPEFUN= 000162R     004	PI    = 000004   	Q0      000126RG    002
KF.MRS= 020000   	MOVE  = 000200   	OPELUN= 000164R     004	PIDENT= 000000   	Q1      000134RG    002
KF.RUN= 040000   	MOVEI = 000201   	OPEN  = 000050   	PIMSG   001127RG    003	Q2      000142RG    002
KF.SIM= 010000   	MOVEM = 000202   	OPERAT  000206R     004	POP   = 000262   	Q3      000150RG    002
KF.SMC= 004000   	MOVES = 000203   	OPRMSG  001204RG    003	POPJ  = 000263   	RAMIS0= 010000
KF.SPM= 002000   	MOVM  = 000214   	OR    = 000434   	PRGMSG  001215RG    003	RDCPT1  004270R     002
KLABIN  007336RG    002	MOVMI = 000215   	ORB   = 000437   	PRI7  = 000340   	RDCPT2  004250R     002
KLAERM  002240R     005	MOVMM = 000216   	ORCA  = 000454   	PRMFM   002306R     003	RDCPT3  004260R     002
KLAOCT  007362RG    002	MOVMS = 000217   	ORCAB = 000457   	PROMPT  000030RG    003	RDCRME  006504R
KLEPRM  000034RG    003	MOVN  = 000210   	ORCAI = 000455   	PROPNT= 000021   	REAFRD  002570R
KLHCFH  005156R  	MOVNI = 000211   	ORCAM = 000456   	PRTOFF= 004000   	REGMSG  001132RG    003
KLIMSG  001661RG    003	MOVNM = 000212   	ORCB  = 000470   	PRVMSG  000755RG    003	REGTAB  007240R     002
KLIOT = 000700   	MOVNS = 000213   	ORCBB = 000473   	PR0   = 000000   	RELEAS= 000071
KLMSG   001124RG    003	MOVS  = 000204   	ORCBI = 000471   	PR1   = 000040   	REMMSG  001230RG    003
KLNBIN  007326RG    002	MOVSI = 000205   	ORCBM = 000472   	PR2   = 000100   	RENAME= 000055
KLNOCT  007356RG    002	MOVSM = 000206   	ORCM  = 000464   	PR3   = 000140   	REPIRC  011122R
KLP   = 000574   	MOVSS = 000207   	ORCMB = 000467   	PR4   = 000200   	RESETT  004334R     002
KLPSTP  005274RG 	MPE11 = 001000   	ORCMI = 000465   	PR5   = 000240   	RESMSG  000566RG    003
KLPWRF= 000010   	MQMSG   001043RG    003	ORCMM = 000466   	PR6   = 000300   	RFMAD0= 100000
KLRERM  002265R     005	MRAERM  002415R     005	ORI   = 000435   	PR7   = 000340   	RFMAD1= 040000
KLSCFH  005266R  	MRHERM  002455R     005	ORM   = 000436   	PS    = 177776   	RFMAD2= 020000
KNCERM  002327R     005	MRKMSG  000516RG    003	OUT   = 000057   	PSTMSG  001721RG    003	RFMAD3= 010000
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-5
SYMBOL TABLE

RGDTEN= 000310RG    004	SOJA  = 000364   	SUBI  = 000275   	TO10  = 000200   	TSO   = 000671
RLDMSG  001735RG    003	SOJE  = 000362   	SUBM  = 000276   	TO10AD= 174420   	TSOA  = 000675
RM    = 000010   	SOJG  = 000367   	SWPMSG  000645RG    003	TO10BC= 174414   	TSOE  = 000673
RMSG    000541RG    003	SOJGE = 000365   	SWR   = 177570   	TO10BM= 000001   	TSON  = 000677
ROT   = 000241   	SOJL  = 000361   	SWSLLT= 100000   	TO10DB= 000400   	TSZ   = 000631
ROTC  = 000245   	SOJLE = 000363   	SXCT  = 000106   	TO10DN= 100000   	TSZA  = 000635
RPMERM  003115R     005	SOJN  = 000366   	SZIERM  003311R     005	TO10DT= 174424   	TSZE  = 000633
RPTMSG  000543RG    003	SOS   = 000370   	TAAERM  003345R     005	TO10ER= 020000   	TSZN  = 000637
RSTEND= 004342R     002	SOSA  = 000374   	TAKMSG  000653RG    003	TO11  = 000100   	TTCALL= 000051
RSTMSG  000574RG    003	SOSE  = 000372   	TC.CON= 000377   	TO11AD= 174422   	TTYMSG  001567RG    003
RTYMSG  001744RG    003	SOSG  = 000377   	TC.CTC= 000002   	TO11BC= 174416   	TT.OUT= ****** GX
RUNMSG  000604RG    003	SOSGE = 000375   	TC.ERR= 000000   	TO11BM= 020000   	TYODIE  015766R
SAVMSG  000610RG    003	SOSL  = 000371   	TC.RST= 000001   	TO11DB= 004000   	UBRMSG  001144RG    003
SBRMSG  001161RG    003	SOSLE = 000373   	TDC   = 000650   	TO11DN= 000200   	UCDMSG  001761RG    003
SCD   = 000040   	SOSN  = 000376   	TDCA  = 000654   	TO11DT= 174426   	UECMSG  000060R     003
SCFERM  003155R     005	SPCEST  001646R     002	TDCE  = 000652   	TO11ER= 000002   	UECMSP  001644R     002
SCRMSG  001165RG    003	SPCMSG  001403RG    003	TDCN  = 000656   	TPDDCK  011364R  	UGETF = 000073
SEPMSG  001326RG    003	SPFERM  003261R     005	TDMSG0  000345R     003	TPDDVD  007232R     002	UJEN  = 000100
SETA  = 000424   	SSTLEN= 000010 G 	TDN   = 000610   	TPDDVS  007224R     002	UNASG1= 000032
SETAB = 000427   	SSTTBE= 000334RG    002	TDNA  = 000614   	TPDRMN  007216R     002	UNASG2= 000033
SETAI = 000425   	STAMSG  002124R     003	TDNE  = 000612   	TRADDR  007250R     002	UNASG3= 000034
SETAM = 000426   	STAT  = 174434   	TDNN  = 000616   	TRC   = 000640   	UNASG4= 000035
SETCA = 000450   	STATO = 000061   	TDO   = 000670   	TRCA  = 000644   	UNASG5= 000036
SETCAB= 000453   	STATUS= 000022   	TDOA  = 000674   	TRCE  = 000642   	UNASG6= 000037
SETCAI= 000451   	STATZ = 000063   	TDOE  = 000672   	TRCN  = 000646   	UNLERM  003432R     005
SETCAM= 000452   	STPCI   004242R     002	TDON  = 000676   	TRDATA  007256R     002	UNMMSG  000660RG    003
SETCM = 000460   	STRMSG  000637RG    003	TDZ   = 000630   	TRKMSG  001752RG    003	USETI = 000074
SETCMB= 000463   	STSW1 = ****** GX	TDZA  = 000634   	TRN   = 000600   	USETO = 000075
SETCMI= 000461   	STUCAE  007454R  	TDZE  = 000632   	TRNA  = 000604   	USRMSG  001237RG    003
SETCMM= 000462   	STUUNL  007462R  	TDZN  = 000636   	TRNE  = 000602   	VERMSG  002004RG    003
SETM  = 000414   	ST.CED= 000100   	TENAD1= 174410   	TRNN  = 000606   	VFYERM  003470R     005
SETMB = 000417   	ST.CLE= 000001   	TENAD2= 174412   	TRO   = 000660   	VF.DSP= 000060
SETMI = 000415   	ST.CTD= 040000   	TENMSG  001005RG    003	TROA  = 000664   	VF.FFD= 000061
SETMM = 000416   	ST.CTE= 010000   	TFRMSG  002014R     003	TROE  = 000662   	VF.INT= 000000
SETMSG  000615RG    003	ST.DW1= 002000   	TFWMSG  002031R     003	TRON  = 000666   	VF.OVR= 000053
SETO  = 000474   	ST.DXD= 000004   	TFXMSG  002046R     003	TRZ   = 000620   	VF.PRM= 000044
SETOB = 000477   	ST.EBS= 000100   	THSMSG  000766RG    003	TRZA  = 000624   	VF.SSP= 000040
SETOI = 000475   	ST.EDB= 004000   	TLC   = 000641   	TRZE  = 000622   	VMAMSG  001150RG    003
SETOM = 000476   	ST.EPE= 000020   	TLCA  = 000645   	TRZN  = 000626   	VMHMSG  001154RG    003
SETSTS= 000060   	ST.IDS= 000010   	TLCE  = 000643   	TR.ALL= 000077   	WEP   = 000010
SETZ  = 000400   	ST.IEN= 000040   	TLCN  = 000647   	TR.DEP= 000020   	WHAMSG  000706RG    003
SETZB = 000403   	ST.ION= 000001   	TLN   = 000601   	TR.DTE= 000040   	WRCRME  007710R
SETZI = 000401   	ST.MBZ= 000000   	TLNA  = 000605   	TR.EXM= 000010   	WRIFWT  003326R
SETZM = 000402   	ST.MOD= 000010   	TLNE  = 000603   	TR.FRD= 000002   	WRMERM  003524R     005
SHOMSG  000621RG    003	ST.MPE= 001000   	TLNN  = 000607   	TR.FWR= 000004   	XCT   = 000256
SHUMSG  000626RG    003	ST.NST= 000040   	TLO   = 000661   	TR.FXC= 000001   	XCTMSG  000713RG    003
SKIERM  003204R     005	ST.RIZ= 010000   	TLOA  = 000665   	TSC   = 000651   	XOR   = 000430
SKIP  = 000330   	ST.RST= 011121   	TLOE  = 000663   	TSCA  = 000655   	XORB  = 000433
SKIPA = 000334   	ST.SEP= 000004   	TLON  = 000667   	TSCAMB  010746R  	XORI  = 000431
SKIPE = 000332   	ST.STE= 000002   	TLZ   = 000621   	TSCE  = 000653   	XORM  = 000432
SKIPG = 000337   	ST.TED= 000200   	TLZA  = 000625   	TSCN  = 000657   	XR    = 000000
SKIPGE= 000335   	ST.TER= 000002   	TLZE  = 000623   	TSCNSK  010760R  	XTOERM  003635R     005
SKIPL = 000331   	ST.TXD= 100000   	TLZN  = 000627   	TSCWRM  010766R  	YORERM  003605R     005
SKIPLE= 000333   	ST.TXE= 020000   	TOBM  = 000004   	TSN   = 000611   	ZERMSG  000717RG    003
SKIPN = 000336   	ST.XDB= 000400   	TOIP  = 000002   	TSNA  = 000615   	ZSTOP = 040000
SLOMSG  001552RG    003	SUB   = 000274   	TOIT  = 000001   	TSNE  = 000613   	$DIV  = ****** GX
SOJ   = 000360   	SUBB  = 000277   	TORERM  003402R     005	TSNN  = 000617   	$DSW  = ****** GX
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-6
SYMBOL TABLE

$$    = 000037   	$$$HLF= 000001   	$$$SHO= 000001   	.CLKWD  000012RG    002	.DTDI3  000360RG    002
$$A   = 000000   	$$$HLT= 000001   	$$$SHU= 000001   	.CLOSE  002114RG 	.DTDW1  003530RG
$$B   = 000000   	$$$INC= 000006   	$$$SLO= 000001   	.CLRCM= ****** GX	.DTDW2  003536RG
$$C   = 000002   	$$$INI= 000002   	$$$SPC= 000001   	.CLRFF  003420RG 	.DTDW3  003556RG
$$D   = 000176   	$$$INT= 000001   	$$$STR= 000001   	.CLRMR= 006000   	.DTSTA  003546RG
$$E   = 000017   	$$$IO = 000001   	$$$SWP= 000001   	.CLRUN= 010000   	.DTSTS  000356RG    002
$$F   = 000000   	$$$JAN= 000001   	$$$TAK= 000001   	.CMDTB  004350RG    002	.DTSTW= 000004
$$PASS= 000000   	$$$JMP= 000001   	$$$TEN= 000004   	.CMNDL= 000430 G 	.DTTRK  012332RG
$$$AB = 000001   	$$$JUL= 000001   	$$$THS= 000004   	.COBFL= 000204 G 	.DWDW1  003454RG
$$$ABO= 000001   	$$$JUN= 000001   	$$$TRK= 000002   	.COBFR  000576RG    002	.DWDW2  003462RG
$$$ACB= 000004   	$$$KL = 000001   	$$$TTY= 000001   	.COMEF= ****** GX	.DWDW3  003502RG
$$$AD = 000001   	$$$KLI= 000002   	$$$T1 = 000006   	.COMMA= 000054   	.DWSTA  003472RG
$$$ADX= 000001   	$$$LOG= 000001   	$$$UBR= 000001   	.COMND  001012RG    002	.EBCLK  003634RG
$$$ALL= 000002   	$$$LPT= 000001   	$$$UCD= 000001   	.CONBT= 012000   	.EBPCK  000410RG
$$$APR= 000001   	$$$M  = 000001   	$$$UNM= 000001   	.CONTC= ****** GX	.EDELA  000104RG    002
$$$AR = 000003   	$$$MAR= 000001   	$$$USR= 000002   	.COSTS  000014RG    002	.EDKLA  000106RG    002
$$$ARG= 000006   	$$$MAY= 000001   	$$$VER= 000001   	.CRAMA  000020RG    002	.EDKLX  000114RG    002
$$$ARX= 000001   	$$$MCR= 000001   	$$$VMA= 000001   	.CRAMR  000022RG    002	.EIOJA= 067000
$$$AUG= 000001   	$$$MEM= 000002   	$$$VMH= 000001   	.CRAMW  000044RG    002	.ELDDW  000122RG    002
$$$BR = 000001   	$$$MGN= 000001   	$$$WHA= 000001   	.CSHRG= 164000   	.ELEDW  000124RG    002
$$$BRX= 000001   	$$$MNT= 000002   	$$$XCT= 000001   	.DBGSW  000066RG    002	.ELNCK  013144RG
$$$CLK= 000002   	$$$MQ = 000001   	$$$ZER= 000001   	.DELET  002100RG 	.ENTER  001664RG
$$$CLR= 000001   	$$$MRK= 000001   	.ABRTC= ****** GX	.DEPAR= ****** GX	.ETAB   004222R     002
$$$CNT= 000001   	$$$NOT= 000001   	.ACBLK  000000RG    002	.DFBLK  000336RG    002	.EXAD = ****** GX
$$$CON= 000002   	$$$NOV= 000001   	.APRWD  000002RG    002	.DFRB   000344RG    002	.EXADX= ****** GX
$$$CPU= 000001   	$$$NRM= 000001   	.ATCID  000460RG    004	.DFRED= ****** GX	.EXAMC= ****** GX
$$$CRA= 000001   	$$$NUL= 000001   	.ATLMD= 000033   	.DFWB   000336RG    002	.EXAMD= ****** GX
$$$CRL= 000001   	$$$NXT= 000004   	.BRCLK= 005000   	.DFWRT= ****** GX	.EXAMF= ****** GX
$$$CRM= 000002   	$$$OCT= 000001   	.BRMBC  003334RG 	.DFXCT= ****** GX	.EXAMI= ****** GX
$$$CTL= 000001   	$$$OFS= 000002   	.BUFSZ= 001000 G 	.DIAG1= 000000   	.EXAMK= ****** GX
$$$DAT= 000002   	$$$OPR= 000002   	.BURST  003340RG 	.DIAG2= 000002   	.EXAMN= ****** GX
$$$DCR= 000004   	$$$OST= 000014   	.CCMDN  000004RG    002	.DIAG3= 000006   	.EXAMP= ****** GX
$$$DEC= 000001   	$$$OUT= 000002   	.CDIBC= 000412R     004	.DISCC= ****** GX	.EXAMZ= ****** GX
$$$DEP= 000001   	$$$PAG= 000001   	.CDIBP= 000410R     004	.DOCMD  007730RG 	.EXARR= ****** GX
$$$DIS= 000001   	$$$PC = 000001   	.CDINP  000374RG    004	.DPBFR  000070RG    002	.EXARX= ****** GX
$$$DPT= 000001   	$$$PI = 000002   	.CDOBC= 000432RG    004	.DPBFX  000076RG    002	.EXBFR  000156RG    002
$$$DRA= 000001   	$$$PRG= 000002   	.CDOBP= 000430RG    004	.DPDPB  000312RG    004	.EXBRR= ****** GX
$$$DRM= 000001   	$$$PRV= 000004   	.CDOFC= 000434RG    004	.DPETB  004674RG    002	.EXBRX= ****** GX
$$$DTE= 000002   	$$$PST= 000002   	.CDOUT  000414RG    004	.DPKLM  003762RG 	.EXCRA= ****** GX
$$$EBR= 000001   	$$$QRE= 000001   	.CECLK= 004000   	.DPOEL= ****** GX	.EXCRL= ****** GX
$$$EBS= 000001   	$$$QSA= 000001   	.CESCK  000000RG 	.DPOKL= ****** GX	.EXCTC= ****** GX
$$$ELE= 000003   	$$$QTR= 000001   	.CHTAB  001502RG    002	.DPOSC= ****** GX	.EXCTF  004150RG
$$$ENB= 000001   	$$$QUT= 000001   	.CIBFL= 000214 G 	.DPOSD= ****** GX	.EXDPB  000324RG    004
$$$ERR= 000001   	$$$R  = 000001   	.CIBFR  000362RG    002	.DPOSI= ****** GX	.EXDPM  004020RG
$$$EXA= 000001   	$$$REG= 000001   	.CISTS  000006RG    002	.DPOSN= ****** GX	.EXDRA= ****** GX
$$$EXT= 000001   	$$$REM= 000001   	.CKARG  000070RG 	.DPOSP= ****** GX	.EXDTE= ****** GX
$$$FEB= 000001   	$$$RES= 000001   	.CKCOL  000130RG 	.DPOSZ= ****** GX	.EXEBR= ****** GX
$$$FER= 000001   	$$$RLD= 000002   	.CKCTC  000166RG 	.DPOTB  004734RG    002	.EXEBS= ****** GX
$$$FLG= 000001   	$$$RPT= 000003   	.CKEOC  000214RG 	.DPTRK  012454RG 	.EXECT  004226RG
$$$FLT= 000002   	$$$RST= 000001   	.CKEOS  000256RG 	.DREG   000352RG    002	.EXETB  005016RG    002
$$$FM = 000002   	$$$RTY= 000002   	.CKOBJ  000300RG 	.DRLTC= 015000   	.EXFER= ****** GX
$$$FRD= 000001   	$$$RUN= 000001   	.CKRNP  000316RG 	.DSACF= 066000   	.EXFMR= ****** GX
$$$FSS= 000002   	$$$SAV= 000001   	.CKRUN  000326RG 	.DSIOJ= 065000   	.EXITP  010110RG
$$$FUL= 000001   	$$$SBR= 000001   	.CKSYM  000374RG 	.DTAB   004232R     002	.EXKLM  003730RG
$$$FWR= 000001   	$$$SCR= 000001   	.CLDFB  003370RG 	.DTCID  000474RG    004	.EXMEL= ****** GX
$$$FXC= 000001   	$$$SEP= 000001   	.CLDFR  003374RG 	.DTDI1  000352RG    002	.EXMKL= ****** GX
$$$HAR= 000001   	$$$SET= 000001   	.CLDFW  003404RG 	.DTDI2  000354RG    002	.EXMPI= ****** GX
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-7
SYMBOL TABLE

.EXMQR= ****** GX	.KLEVL  000202RG    002	.ORADX  000226RG    002	.RESTB  006232RG    002	.SCOTY= ****** GX
.EXMTB  005056RG    002	.KLFLG= ****** GX	.OTATT  004050RG    002	.RESTC= ****** GX	.SCOUT= ****** GX
.EXREG= ****** GX	.KLGO   004744RG 	.OTBBC  003012RG    002	.RESTD  007102RG 	.SCPAL= ****** GX
.EXSBR= ****** GX	.KLHLT  005034RG 	.OTBUF  003016RG    002	.RESTI  007122RG 	.SCPAR= ****** GX
.EXSCR= ****** GX	.KLINC  000170RG    002	.OTFN   002766RG    002	.RESTP  007146RG 	.SCPCR= ****** GX
.EXTND  002004RG 	.KLMTB  005366RG    002	.OTFNB  004016RG    002	.RPTCT  000244RG    002	.SCPDR= ****** GX
.EXTRK  012442RG 	.KLMT1  005412RG    002	.OTPOS  003014RG    002	.RPTPT  000252RG    002	.SCPEN= ****** GX
.EXUBR= ****** GX	.KLRST  005310RG 	.OTVBN  003006RG    002	.RSACB= ****** GX	.SCPFM= ****** GX
.EXVAB= ****** GX	.KLSNP  000203RG    002	.OUTLG  000206RG    002	.RSALL= ****** GX	.SCPFS= ****** GX
.EXVMA= ****** GX	.KLST   005164RG 	.OUTLP  000207RG    002	.RSAPR= ****** GX	.SCPST= ****** GX
.EXVMH= ****** GX	.KLSTP  005212RG 	.OUTTY  000210RG    002	.RSDTE= ****** GX	.SCPTB  006514RG    002
.EXVPC= ****** GX	.KLXCT  005442RG 	.PARER  000432RG 	.RSERR= ****** GX	.SCRLD= ****** GX
.FEMOD= ****** GX	.LCRDL= 052000   	.PASS   000204RG    002	.RSPAG= ****** GX	.SCRPT= ****** GX
.FISTS  001662RG    002	.LCRDR= 051000   	.PCAB1= 150000   	.RSTIN= ****** GX	.SCRTY= ****** GX
.FNDIR  001452RG 	.LCRM1= 057000   	.PCAB2= 151000   	.RSTIO= ****** GX	.SCTRK= ****** GX
.FREAD  004362RG 	.LCRM2= 056000   	.PCAB3= 152000   	.RSTKL  007220RG 	.SEAMB  000520RG
.FRTRK  012172RG 	.LCRM3= 055000   	.PCAB4= 153000   	.RSTPI= ****** GX	.SECES  000756RG
.FWRIT  004444RG 	.LCRM4= 054000   	.PEWRD  000230RG    002	.RSTRC= ****** GX	.SECLK= 003000
.FWTRK  012212RG 	.LCRM5= 053000   	.PITAB  000232RG    002	.RSTTB  006204RG    002	.SEFRF  000606RG
.FXCT   004566RG 	.LDAR = 077000   	.PSCWD  000236RG    002	.RUNCM= ****** GX	.SEFWF  000614RG
.FXTRK  012232RG 	.LDBRC  005466RG 	.PTDIE  001046RG 	.R50TB  001442RG    002	.SEFXF  000622RG
.GFNR = 102000   	.LDBRG  005472RG 	.PTOAT  001352RG 	.SAVEC= ****** GX	.SEILC  000544RG
.GTCMD  012610RG 	.LDBRL= 043000   	.PTTRP  001124RG 	.SAVQ = ****** GX	.SEILS  000544RG
.GTELN  013220RG 	.LDBRR= 042000   	.QUITC= ****** GX	.SAVTB  006214RG    002	.SEIPC  000544RG
.GTEXP  013706RG 	.LDCK1= 046000   	.RCRM1= 147000   	.SCACB= ****** GX	.SENSK  000520RG
.GTFCT  014114RG 	.LDCK2= 047000   	.RCRM2= 146000   	.SCCEC= ****** GX	.SETCM= ****** GX
.GTKLA  013250RG 	.LDCLK  005570RG 	.RCRM3= 145000   	.SCCED= ****** GX	.SETFN  002166RG
.GTKLN  013302RG 	.LDCRA  005666RG 	.RCRM4= 144000   	.SCCEE= ****** GX	.SETMR= 007000
.GTLIN  012644RG 	.LDDIS= 045000   	.RCSPF= 141000   	.SCCLK= ****** GX	.SETRN= 011000
.GTNBR  014410RG 	.LDOBC= 000454RG    004	.RDCPP  006150RG 	.SCCLN= ****** GX	.SETTB  006570RG    002
.GTNUM  013302RG 	.LDOBP= 000452RG    004	.RDCRA= ****** GX	.SCCOM= ****** GX	.SFREC= ****** GX
.GTOPC  013514RG 	.LDOFC= 000456R     004	.RDCRD  006304RG 	.SCCON= ****** GX	.SHIFT  011130RG
.GTTRM  014002RG 	.LDOUT  000436RG    004	.RDCRM  006342RG 	.SCCOO= ****** GX	.SHUTC= ****** GX
.HALTC= ****** GX	.LDPAR  005606RG 	.RDCRO  006512R  	.SCCOP= ****** GX	.SPACE= 000040
.INATT  002750RG    002	.LDRJD= 064000   	.RDCRR  006374RG 	.SCCOT  006436RG    002	.SPETB  006740RG    002
.INBBC  001712RG    002	.LDRJV= 063000   	.RDFMA  006532RG 	.SCCOU= ****** GX	.SSCAN  010774RG
.INBUF  001716RG    002	.LDRM1= 060000   	.RDFMO  006614RG 	.SCCRF= ****** GX	.SSCLK= 002000
.INCHC  000164RG    002	.LDRM2= 061000   	.RDFMP  006650RG 	.SCCRH= ****** GX	.SSTTB  000316RG    002
.INDFG  001660RG    002	.LDRM3= 062000   	.RDIPE  006704RG 	.SCCRQ= ****** GX	.START  010354RG
.INFN   001666RG    002	.LDSEL= 044000   	.RDJ14= 134000   	.SCCRS= ****** GX	.STCLF  007254RG
.INFNB  002716RG    002	.LDSTS  000212RG    002	.RDJ71= 135000   	.SCCSE= ****** GX	.STCLK  007246RG
.INICL= 070000   	.LDZFL  000220RG    002	.RDMAB= 133000   	.SCCSI= ****** GX	.STPCL= 000000
.INICP= ****** GX	.LGLWD  000216RG    002	.RDXSV  000240RG    002	.SCCSM= ****** GX	.STPKL  007272RG
.INITC= ****** GX	.LOKUP  001574RG 	.READ   002440RG 	.SCCTB  006314RG    002	.STPXC  007316RG
.INPOS  001714RG    002	.MARKC= ****** GX	.READB  002406RG 	.SCDAT= ****** GX	.STRCL= 001000
.INVBN  001706RG    002	.MEMFL  000222RG    002	.READR  002224RG 	.SCFSS= ****** GX	.STRTB  007030RG    002
.IRADX  000166RG    002	.MEMRS= 076000   	.READW  002330RG 	.SCINC= ****** GX	.STRTC= ****** GX
.IRLTC= 014000   	.MISC = ****** GX	.RECNT  004066RG    002	.SCKLN= ****** GX	.STRTT= ****** GX
.JUMPC= ****** GX	.MONTB  005430RG    002	.RECPT  004070RG    002	.SCMEL= ****** GX	.STRTU= ****** GX
.KLCON  004736RG 	.MRCLR  006002RG 	.RECRD  004072RG    002	.SCMEM= ****** GX	.STRTV  000254RG    002
.KLDFR  000336RG    004	.MTDPB  000266RG    004	.REGRW  000300RG    004	.SCMKL= ****** GX	.STRUN  007346RG
.KLDFW  000350RG    004	.NOERR= ****** GX	.REGSV  010316RG 	.SCMTB  006420RG    002	.STUCD  007366RG
.KLDFX  000362RG    004	.NOHLT= ****** GX	.RELWD  000242RG    002	.SCNOT= ****** GX	.SVACB= ****** GX
.KLE  = ****** GX	.NOTSW  000224RG    002	.REMOV  001564RG 	.SCOFS= ****** GX	.SVESP  000256RG    002
.KLEDF  000176RG    002	.NSETB  005542RG    002	.REPTC  011036RG 	.SCOTL= ****** GX	.SVKLF  000260RG    002
.KLEPT  000200RG    002	.NULLC  007716RG 	.RESET  006766RG 	.SCOTP= ****** GX	.SVPC = ****** GX
.KLERQ= ****** GX	.OPEN   001736RG 	.RESQ = ****** GX	.SCOTT  006470RG    002	.SWPC = ****** GX
TYOUT -- GENERAL TERMINAL OUTPU	MACRO M1113  03-APR-86 22:51  PAGE 262-8
SYMBOL TABLE

.SWPIP  000262RG    002	.TPXTN  011420RG 	.TYKLA  015106RG 	.T50TB  001472RG    002	.WHRPT= ****** GX
.SYNXC  007470RG 	.TRKWD  000264RG    002	.TYKLN  015156RG 	.UMRKC= ****** GX	.WHRTY= ****** GX
.TAKEC= ****** GX	.TRPEC  000270RG    002	.TYLIN  015446RG 	.VFYFL  000310RG    002	.WHTCL= ****** GX
.TCRLF  015552RG 	.TRPIP  000272RG    002	.TYMIN  014562RG 	.WHACB= ****** GX	.WHTPS= ****** GX
.TFCHR  015504RG 	.TRPPC  000274RG    002	.TYMSF  015454RG 	.WHATB  007046RG    002	.WHTRK= ****** GX
.TPADD  011516RG 	.TRPPS  000276RG    002	.TYMSG  015462RG 	.WHATC= ****** GX	.WRAR1  007512RG
.TPCLR  011372RG 	.TRPSB  000300RG    002	.TYNCM  015240RG 	.WHATV= ****** GX	.WRCRM  007534RG
.TPCMP  011440RG 	.TRPTV  000302RG    002	.TYNUM  015316RG 	.WHCON= ****** GX	.WRITB  003030RG
.TPCOM  011402RG 	.TRP4V  000266RG    002	.TYOBC  000304RG    002	.WHDAT= ****** GX	.WRITE  003160RG
.TPDEC  011550RG 	.TSCAN  010524RG 	.TYOBP  000306RG    002	.WHINC= ****** GX	.WRITR  002616RG
.TPDIV  011160RG 	.TYACE  014630RG 	.TYOUT  015600RG 	.WHKLN= ****** GX	.WRITW  002754RG
.TPINC  011536RG 	.TYAC1  014662RG 	.TYOU1  015660RG 	.WHMEM= ****** GX	.WRITZ  003060RG
.TPMUL  011606RG 	.TYCHR  015520RG 	.TYP3D  015032RG 	.WHOFS= ****** GX	.WRMBX= 071000
.TPNEG  011412RG 	.TYCOL  014542RG 	.TYR50  015772RG 	.WHOUT= ****** GX	.WRTAR  007506RG
.TPSHI  011772RG 	.TYCOM  014552RG 	.TYSLS  014572RG 	.WHRDW= ****** GX	.ZEROC= ****** GX
.TPSHL  012036RG 	.TYELA  014762RG 	.TYSPC  014602RG 	.WHREC= ****** GX	..DTSP= ****** GX
.TPSUB  011562RG 	.TYELN  014766RG 	.TYUPA  014612RG 	.WHRLD= ****** GX	..SACK= ****** GX
.TPTST  011474RG 	.TYINI  015736RG

. ABS.	000000	   000
      	016044	   001
DATA  	007366	   002
MESSAG	002327	   003
DPBS  	000510	   004
ERRMSG	004250	   005
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  17193 WORDS  ( 68 PAGES)
DYNAMIC MEMORY:  18662 WORDS  ( 71 PAGES)
ELAPSED TIME:  00:04:46
,[51,20]PAROOT/CR/-SP=[51,30]PAROOT.TMP
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ABMSG 	  001051 RG	 178-7166  #178-7166   178-7166  
ABOMSG	  000365 RG	 174-7014  #174-7014   174-7014  
ACBMSG	  001372 RG	 182-7365  #182-7365   182-7365   183-7374   183-7374   190-7481   190-7481   193-7550   193-7550  
ADD   	= 000270	#23-878    
ADDB  	= 000273	#23-879    
ADDI  	= 000271	#23-880    
ADDM  	= 000272	#23-881    
ADH   	= 000004	#117-4985  #117-4985   117-4985   117-4985  
ADL   	= 000000	#117-4985   117-4985   117-4985  #117-4985   117-4985   117-4985  #117-4985   117-4985   117-4985  
                        #117-4985   117-4985   117-4985  #117-4985   117-4985   117-4985  #117-4985   117-4985   117-4985  
                         117-4985  #117-4985   117-4985   117-4985  
ADMSG 	  001011 RG	 178-7143  #178-7143   178-7143  
ADRTMP	  007320 R	*244-9474  *244-9475   244-9476  #244-9488  
ADXMSG	  001014 RG	 178-7145  #178-7145   178-7145  
ALLMSG	  001414 RG	 184-7381  #184-7381   184-7381   189-7462   189-7462  
AMBERM	  003670 R	#191-7522   191-7522  
AND   	= 000404	#23-883    
ANDB  	= 000407	#23-884    
ANDCA 	= 000410	#23-885    
ANDCAB	= 000413	#23-886    
ANDCAI	= 000411	#23-887    
ANDCAM	= 000412	#23-888    
ANDCB 	= 000440	#23-889    
ANDCBB	= 000443	#23-890    
ANDCBI	= 000441	#23-891    
ANDCBM	= 000442	#23-892    
ANDCM 	= 000420	#23-893    
ANDCMB	= 000423	#23-894    
ANDCMI	= 000421	#23-895    
ANDCMM	= 000422	#23-896    
ANDI  	= 000405	#23-897    
ANDM  	= 000406	#23-898    
AOBJN 	= 000253	#23-900    
AOBJP 	= 000252	#23-901    
AOJ   	= 000340	#23-903    
AOJA  	= 000344	#23-904    
AOJE  	= 000342	#23-905    
AOJG  	= 000347	#23-906    
AOJGE 	= 000345	#23-907    
AOJL  	= 000341	#23-908    
AOJLE 	= 000343	#23-909    
AOJN  	= 000346	#23-910    
AOS   	= 000350	#23-912    
AOSA  	= 000354	#23-913    
AOSE  	= 000352	#23-914    
AOSG  	= 000357	#23-915    
AOSGE 	= 000355	#23-916    
AOSL  	= 000351	#23-917    
AOSLE 	= 000353	#23-918    
AOSN  	= 000356	#23-919    
APEERM	  000000 R	#181-7265   181-7265  
APR   	= 000000	#7-244     
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

APRMSG	  001273 RG	 180-7241  #180-7241   180-7241  
AP.ALL	= 000177	#9-349     
AP.ARP	= 001000	#16-634     16-638     131-5460  
AP.CDP	= 000004	#9-344      9-349     
AP.EIP	= 000400	#16-636     16-638     131-5468  
AP.IPF	= 000020	#9-346      9-349     
AP.MPE	= 000010	#9-345      9-349     
AP.NRM	= 001400	#16-638     16-640    
AP.NXM	= 000040	#9-347      9-349     
AP.PWF	= 000001	#9-342      9-349     
AP.SAP	= 000002	#9-343      9-349     
AP.SBE	= 000100	#9-348      9-349     
ARMSG 	  000773 RG	 176-7107  #176-7107   176-7107   178-7147   178-7147   189-7464   189-7464  
ARXMSG	  001020 RG	 178-7149  #178-7149   178-7149  
ASH   	= 000240	#23-921    
ASHC  	= 000244	#23-922    
AUGMSG	  001317 RG	 180-7249  #180-7249   180-7249  
A.LULU	= 000002	#70-3087    70-3089   
A.LUNA	= 000004	#70-3087   
A.LUNU	= 000006	#70-3087   
BAEERM	  000023 R	#181-7267   181-7267  
BCCTER	  003362 R	 88-3871   #88-3876   
BIT0  	= 000001	#87-3838   
BIT00 	= 000001	#9-306      10-384     11-410     11-430     12-467     12-468     13-491     13-514     22-843    
                         22-857     62-2647    130-5421   139-5778  
BIT01 	= 000002	#9-307      10-387     11-406     11-428     12-465     12-466     13-492     13-513     22-844    
                         22-858     130-5420  
BIT02 	= 000004	#9-308      10-379     11-405     11-427     11-432     12-463     12-464     13-493     13-512    
                         22-845     22-859     97-4164    130-5419  
BIT03 	= 000010	#9-309      10-378     11-404     11-424     12-460     12-462     13-494     13-511     22-846    
                         22-860     128-5326   130-5418  
BIT04 	= 000020	#9-310      10-376     10-377     11-403     11-422     11-423     12-458     13-495     13-510    
                         22-847     22-861    
BIT05 	= 000040	#9-311      10-374     11-410     11-421     12-456     12-457     13-496     13-509     22-848    
                         22-862     139-5775  
BIT06 	= 000100	#9-312      10-373     11-399     11-432     12-454     12-455     13-485     13-508     22-849    
                         22-863    
BIT07 	= 000200	#9-313      10-371     10-372     11-410     11-432     12-452     13-484     13-507     22-850    
                         22-864    
BIT08 	= 000400	#9-314      10-370     11-410     11-432     12-450     13-483     13-506     22-865    
BIT09 	= 001000	#9-315      10-366     10-369     11-410     11-432     12-448     13-482     13-505    
BIT1  	= 000002	#87-3838   
BIT10 	= 002000	#9-316      10-365     10-368     11-410     11-432     12-447     13-481     13-504    #87-3838   
BIT11 	= 004000	#9-317      10-364     10-367     11-410     11-432     12-445     13-480     13-503    #87-3838   
BIT12 	= 010000	#9-318      10-363     11-410     11-432     12-443     12-444     13-479     13-502    #87-3838   
BIT13 	= 020000	#9-319      10-362     11-395     11-410     11-432     12-441     13-478    #87-3838   
BIT14 	= 040000	#9-320      10-361     11-392     11-393     11-410     11-415     11-432     12-440     13-477    
                        #87-3838   
BIT15 	= 100000	#9-321      10-360     11-391     11-410     11-414     11-432     12-438     13-476     35-1489   
                         35-1574    72-3203    73-3253    74-3313   #87-3838   
BIT2  	= 000004	#87-3838   
BIT3  	= 000010	#87-3838   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

BIT4  	= 000020	#87-3838   
BIT5  	= 000040	#87-3838   
BIT6  	= 000100	#87-3838   
BIT7  	= 000200	#87-3838   
BIT8  	= 000400	#87-3838   
BIT9  	= 001000	#87-3838   
BLKI  	= 000000	#7-233     
BLKIS 	  002232 R	 230-8986  #230-8998  
BLKO  	= 000002	#7-235     
BLKOS 	  002245 R	 230-8988  #230-9000  
BLT   	= 000251	#23-924    
BPARER	= 000020	#87-3838   
BRMSG 	  001024 RG	 178-7151  #178-7151   178-7151  
BRXMSG	  001027 RG	 178-7153  #178-7153   178-7153  
CAEERM	  000052 R	#181-7269   181-7269  
CAI   	= 000300	#24-926    
CAIA  	= 000304	#24-927    
CAIE  	= 000302	#24-928    
CAIG  	= 000307	#24-929    
CAIGE 	= 000305	#24-930    
CAIL  	= 000301	#24-931    
CAILE 	= 000303	#24-932    
CAIN  	= 000306	#24-933    
CALERM	  000104 R	#181-7270   181-7270  
CALL  	= 000040	#24-935    
CALLI 	= 000047	#24-936    
CAM   	= 000310	#24-938    
CAMA  	= 000314	#24-939    
CAME  	= 000312	#24-940    
CAMG  	= 000317	#24-941    
CAMGE 	= 000315	#24-942    
CAML  	= 000311	#24-943    
CAMLE 	= 000313	#24-944    
CAMN  	= 000316	#24-945    
CAPERM	  000133 R	#181-7271   181-7271  
CBOERM	  000166 R	#181-7272   181-7272  
CCA   	= 000014	#7-247     
CC.ALL	= 003417	#15-612    
CC.NRM	= 000000	#15-611     143-5951  
CDD   	= 000020	#87-3838   
CDIERM	  000224 R	#181-7273   181-7273  
CD.ALL	= 003400	#15-609     15-612    
CD.CLC	= 000400	#15-607     131-5464  
CD.CRC	= 002000	#15-605     131-5449  
CD.DPC	= 001000	#15-606     131-5456  
CD.NRM	= 000000	#15-608    
CESCES	  000016 R	 47-2104   #47-2107   
CESERM	  003722 R	#191-7524   191-7524  
CFHERM	  000305 R	#181-7274   181-7274  
CHNPNT	= 000001	#87-3838   
CH.ALP	= 000001	#22-843     22-852     41-1841    42-1844    42-1845    42-1846    42-1847    42-1848    42-1849   
                         42-1850    42-1851    42-1852    42-1853    42-1854    42-1855    42-1856    42-1857    42-1858   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         42-1859    42-1860    42-1861    42-1862    42-1863    42-1864    42-1865    42-1866    42-1867   
                         42-1868    42-1869    48-2146   
CH.ANM	= 000003	#22-852    
CH.AOP	= 000100	#22-849     41-1816    41-1817    41-1818    41-1819    41-1821    41-1823    42-1845    42-1846   
                         42-1847    42-1858    42-1874    42-1875   
CH.END	= 000034	#22-851     59-2552    169-6867  
CH.EOC	= 000010	#22-846     22-851     40-1775    40-1776    41-1820    41-1836    41-1837    49-2183    51-2248   
                         53-2314   
CH.EOL	= 000004	#22-845     22-851     40-1775   
CH.EOS	= 000020	#22-847     22-851     40-1775    40-1776    41-1808    41-1810    41-1815    41-1818    41-1819   
                         41-1820    41-1821    41-1823    41-1836    41-1837    41-1839    41-1840    42-1875    52-2285   
CH.ILL	= 000200	#22-850     40-1777    40-1778    40-1779    40-1780    40-1781    40-1782    40-1783    40-1784   
                         40-1785    40-1786    40-1787    40-1788    40-1789    40-1790    40-1791    40-1792    40-1793   
                         40-1794    40-1795    40-1796    40-1797    40-1798    41-1800    41-1801    41-1802    41-1803   
                         41-1804    41-1805    41-1806    41-1807    41-1809    41-1811    41-1812    41-1813    41-1814   
                         41-1822    41-1838    41-1842    42-1871    42-1872    42-1873    42-1876   
CH.NUL	= 000000	#22-842    
CH.NUM	= 000002	#22-844     22-852     41-1825    41-1826    41-1827    41-1828    41-1829    41-1830    41-1831   
                         41-1832    41-1833    41-1834    48-2153    238-9287  
CH.PFX	= 000040	#22-848     41-1816    41-1819    41-1821    41-1841    42-1874    48-2153   
CIDLUN	= 000001	#21-819     160-6594   224-8708   260-10120  260-10125 
CKCILS	  000152 R	 49-2186   #49-2188    51-2257    52-2286    52-2288   
CKCMRA	  000160 R	 48-2154    49-2184   #49-2191    53-2315   
CKEEOC	  000250 R	 51-2255   #51-2259   
CKRKLR	  000366 R	 54-2357   #54-2365   
CLEAR 	= 000400	#24-947    
CLEARB	= 000403	#24-948    
CLEARI	= 000401	#24-949    
CLEARM	= 000402	#24-950    
CLEERM	  000343 R	#181-7275   181-7275  
CLKMSG	  001617 RG	 190-7483  #190-7483   190-7483   193-7552   193-7552  
CLOATR	= 000256 R	*75-3343   *75-3347   #75-3370   
CLOATT	= 000262 R	*75-3349   #75-3377   
CLODAC	  000240 R	 75-3350   #75-3365    75-3368    75-3369    75-3370   
CLOFCF	  002160 R	 75-3351    75-3353   #75-3359   
CLOIOF	= 000242 R	*75-3342   *75-3346   #75-3368   
CLOLUN	= 000244 R	*75-3348   #75-3369   
CLOSE 	= 000070	#24-952    
CLOWAT	  000260 R	 75-3347   #75-3372    75-3377   
CLRMSG	  000373 RG	 174-7016  #174-7016   174-7016  
CNRERM	  000400 R	#181-7276   181-7276  
CNTMSG	  000401 RG	 174-7018  #174-7018   174-7018  
CNUPE 	= 000002	#87-3838   
CODLUN	= 000002	#21-820     260-10102 
CONI  	= 000005	#7-238     
CONIS 	  002265 R	 230-8991  #230-9003  
CONMSG	  001625 RG	 190-7485  #190-7485   190-7485   193-7554   193-7554  
CONO  	= 000004	#7-237      117-4985   117-4985  
CONOS 	  002260 R	 230-8990  #230-9002  
CONSO 	= 000007	#7-240     
CONSOS	  002300 R	 230-8993  #230-9005  
CONSZ 	= 000006	#7-239     
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 5

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CONSZS	  002272 R	 230-8992  #230-9004  
CPEERM	  000440 R	#181-7277   181-7277  
CPUMSG	  001420 RG	 184-7383  #184-7383   184-7383  
CPUNUM	= 000002	#87-3838   
CPVMSG	  000000 RG	#39-1728   
CRAMSG	  001054 RG	 178-7168  #178-7168   178-7168  
CRHERM	  000467 R	#181-7278   181-7278  
CRLMSG	  001063 RG	 178-7170  #178-7170   178-7170  
CRMMSG	  001450 RG	 62-2672    185-7404  #185-7404   185-7404   189-7466   189-7466  
CR.ALL	= 000003	#15-597     15-612    
CR.CR1	= 000001	#15-591     15-597     131-5462  
CR.CR2	= 000002	#15-592     15-597     131-5454  
CR.FUL	= 000000	#15-593    
CR.HLF	= 000001	#15-594    
CR.NRM	= 000000	#15-590    
CR.QTR	= 000002	#15-595    
CR.SLO	= 000003	#15-596    
CS.ALL	= 000014	#15-588     15-612    
CS.CS1	= 000004	#15-582     15-588     131-5447  
CS.CS2	= 000010	#15-583     15-588     131-5441  
CS.EXP	= 177670	#87-3838   
CS.EXT	= 000010	#15-586    
CS.FST	= 000004	#15-584     15-585    
CS.MGN	= 000004	#15-585    
CS.NRM	= 000000	#15-581    
CS.UDF	= 000014	#15-587    
CTLMSG	  001467 RG	 185-7408  #185-7408   185-7408  
CTYPTR	= ******  GX	 160-6598  
DATABX	  000312 RG	#35-1615    262-10133 
DATAI 	= 000001	#7-234     
DATAIS	  002237 R	 230-8987  #230-8999  
DATAO 	= 000003	#7-236     
DATAOS	  002252 R	 230-8989  #230-9001  
DATMSG	  001635 RG	 190-7487  #190-7487   190-7487   193-7556   193-7556  
DAVERM	  000531 R	#181-7283   181-7283  
DBTERM	  000562 R	#181-7284   181-7284  
DCKERM	  000612 R	#181-7285   181-7285  
DCOMST	= 000001	#87-3838   
DCRMSG	  000724 RG	 175-7092  #175-7092   175-7092   176-7113   176-7113   177-7128   177-7128   178-7201   178-7201  
DEB880	= ******	 44-1921    47-2099    56-2423    90-3942    94-4056    97-4165    99-4234    99-4250    100-4276  
                         104-4421   104-4429   106-4487   108-4583   110-4659   114-4838   115-4851   115-4880   117-4970  
                         128-5327   139-5791   149-6124   152-6220  
DECMSG	  001361 RG	 180-7257  #180-7257   180-7257  
DEP   	= 010000	#87-3838   
DEPMSG	  000412 RG	 174-7020  #174-7020   174-7020  
DEX   	= 000400	#87-3838   
DEXDON	= 000004	#87-3838   
DEXWD1	= 174406	#87-3838   
DEXWD2	= 174404	#87-3838   
DEXWD3	= 174402	#87-3838   
DFAD  	= 000110	#24-954    
DFBEND	= 000362 RG	#37-1686   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 6

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DFDV  	= 000113	#24-955    
DFMP  	= 000112	#24-956    
DFN   	= 000131	#24-957    
DFSB  	= 000111	#24-958    
DFUNC 	= 000200	#87-3838   
DF.DMG	= 000004	#87-3838   
DF.DMN	= 000007	#87-3838   
DF.DOR	= 000001	#87-3838   
DF.EHG	= 000010	#87-3838   
DF.EHM	= 000011	#87-3838   
DF.EMG	= 000005	#87-3838   
DF.EMN	= 000006	#87-3838   
DF.KLR	= 000012	#87-3838    106-4530  
DF.KLW	= 000013	#87-3838    108-4627  
DF.KLX	= 000014	#87-3838    111-4729  
DF.OFF	= 000002	#87-3838   
DF.ON 	= 000003	#87-3838   
DF.PDP	= 000016	#87-3838    102-4345  
DF.PEX	= 000015	#87-3838    102-4363  
DIAG1 	= 174430	#87-3838   
DIAG2 	= 174432	#87-3838   
DIAG3 	= 174436	#87-3838   
DIKL10	= 000010	#87-3838   
DISMSG	  000422 RG	 174-7022  #174-7022   174-7022  
DIV   	= 000234	#24-960    
DIVB  	= 000237	#24-961    
DIVI  	= 000235	#24-962    
DIVM  	= 000236	#24-963    
DLYCNT	= 174400	#87-3838   
DMFERM	  000635 R	#181-7286   181-7286  
DMOVE 	= 000120	#24-965    
DMOVEM	= 000124	#24-966    
DMOVN 	= 000121	#24-967    
DMOVNM	= 000125	#24-968    
DNFERM	  000724 R	#181-7288   181-7288  
DNPERM	  000763 R	#181-7289   181-7289  
DOCCNR	  010102 R	 159-6527  #159-6550  
DON10C	= 040000	#87-3838   
DON10S	= 100000	#87-3838   
DON11C	= 000100	#87-3838   
DON11S	= 000200	#87-3838   
DORERM	  000674 R	#181-7287   181-7287  
DPB   	= 000137	#24-970    
DPDTEN	= 000322 RG	#102-4346  
DPS4  	= 040000	#87-3838   
DPTMSG	  001455 RG	 185-7406  #185-7406   185-7406  
DRAMSG	  001071 RG	 178-7172  #178-7172   178-7172  
DRDMSG	  002144 R	 216-8363  #217-8393  
DRESET	= 000100	#87-3838   
DRMMSG	  001573 RG	 62-2671    189-7468  #189-7468   189-7468  
DR.DTE	= 000011	#87-3838    102-4345   102-4363   106-4530   108-4627   111-4729  
DSEND 	= 000004	#87-3838   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 7

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DSFERM	  001022 R	#181-7290   181-7290  
DS04  	= 004000	#87-3838   
DS05  	= 002000	#87-3838   
DS06  	= 001000	#87-3838   
DTCERM	  001055 R	#181-7291   181-7291  
DTECMD	= 000451	#87-3838   
DTEDSF	  003626 R	 94-4061   #94-4074   
DTEFLG	= 000444	#87-3838   
DTEF11	= 000450	#87-3838   
DTEMSG	  001100 RG	 178-7174  #178-7174   178-7174   184-7385   184-7385  
DTEMTD	= 000455	#87-3838   
DTEMTI	= 000456	#87-3838   
DTKMSG	  002215 R	 218-8435  #220-8501  
DTRMSG	  002063 R	 216-8348  #217-8381  
DUPE  	= 000020	#87-3838   
DURE  	= 000004	#87-3838   
DWRMSG	  002150 R	 216-8366  #217-8395  
DW1MSG	  002104 R	 217-8375  #217-8384  
DW2MSG	  002114 R	 217-8376  #217-8386  
DW3MSG	  002134 R	 217-8378  #217-8390  
DXWRD1	= 002000	#87-3838   
D.CDLS	= ******  GX	 160-6600  
D1.CES	= 004000	#10-367     47-2103    114-4837  
D1.DCS	= 000001	#10-384    
D1.DDT	= 000040	#10-374     10-387    
D1.DEX	= 000400	#10-370     10-387    
D1.DFM	= 000010	#10-378    
D1.DS0	= 100000	#10-360    
D1.DS1	= 040000	#10-361    
D1.DS2	= 020000	#10-362    
D1.DS3	= 010000	#10-363    
D1.DS4	= 004000	#10-364    
D1.DS5	= 002000	#10-365    
D1.DS6	= 001000	#10-366    
D1.HLP	= 001000	#10-369     104-4420   104-4428   115-4850   115-4879   117-4969   152-6219  
D1.LBK	= 000200	#10-372    
D1.MBZ	= 000442	#10-387     94-4083   
D1.PLS	= 000020	#10-377    
D1.RUN	= 002000	#10-368    
D1.T10	= 000200	#10-371    
D1.T11	= 000100	#10-373    
D1.V04	= 000020	#10-376    
D1.XFR	= 000004	#10-379    
D1011 	= 000040	#87-3838   
D2RST 	  004344 R	 142-5898  #142-5906  
D2.EBD	= 040000	#11-393    
D2.MBZ	= 177641	#11-410     94-4084   
D2.MS1	= 000002	#11-406    
D2.MS2	= 000004	#11-405    
D2.MS4	= 000010	#11-404    
D2.MS8	= 000020	#11-403    
D2.RA0	= 100000	#11-391    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 8

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

D2.RA1	= 040000	#11-392    
D2.RA2	= 020000	#11-395    
D2.RST	= 000100	#11-399     142-5907  
D3RST 	  004346 R	 142-5900  #142-5908  
D3.CDD	= 000020	#11-423    
D3.MBZ	= 177704	#11-432     94-4086   
D3.NPE	= 000002	#11-428    
D3.PAR	= 040000	#11-415    
D3.RST	= 000001	#11-434     142-5909  
D3.SCD	= 000040	#11-421    
D3.SSL	= 100000	#11-414    
D3.TXB	= 000001	#11-430     11-434    
D3.UPE	= 000020	#11-422    
D3.URE	= 000004	#11-427    
D3.WEP	= 000010	#11-424    
EBCECT	  003722 R	 97-4172   #97-4176   
EBPEPE	  000424 R	 56-2424   #56-2427   
EBRMSG	  001107 RG	 178-7176  #178-7176   178-7176  
EBSEL 	= 000100	#87-3838   
EBSMSG	  001033 RG	 178-7155  #178-7155   178-7155  
EBUSPC	= 000020	#87-3838   
EBUSPS	= 000004	#87-3838   
ECTERM	  001127 R	#181-7293   181-7293  
EDEPT 	  002154 R	 220-8482  #220-8489  
EDEXV 	  002160 R	 220-8483  #220-8491  
EDONES	= 040000	#87-3838   
EDPHY 	  002174 R	 220-8486  #220-8497  
EDTYTB	  007264 R	 219-8468  #220-8481  
EDUPT 	  002164 R	 220-8484  #220-8493  
EDUSV 	  002170 R	 220-8485  #220-8495  
ED.EPT	= 000000	#9-325     
ED.EXV	= 000040	#9-326     
ED.PHY	= 000200	#9-329      102-4345   102-4363  
ED.UPT	= 000100	#9-327     
ED.USV	= 000140	#9-328     
EF.CRI	= ******  GX	 141-5850  
ELBBIN	  007350 RG	 246-9573  #250-9734  
ELBOCT	  007354 RG	 246-9577  #250-9737  
ELEMSG	  000776 RG	 176-7109  #176-7109   176-7109   178-7178   178-7178   186-7429   186-7429  
ELNBIN	  007342 RG	 245-9534  #250-9730  
ELNNOR	  013214 R	 225-8741   225-8743   225-8748   225-8750  #225-8753  
ELNOCT	  007360 RG	 245-9538  #250-9742  
EMFERM	  001160 R	#181-7294   181-7294  
ENBMSG	  001600 RG	 189-7470  #189-7470   189-7470  
ENTCRE	  000070 R	 72-3185   #72-3202   
ENTDEL	  000144 R	 72-3194   #72-3208   
ENTENA	  000114 R	 72-3189   #72-3205   
ENTER 	= 000077	#25-972    
ENTFEN	  001730 R	 72-3186    72-3188   #72-3196   
EOCERM	  001217 R	#181-7295   181-7295  
EOFMSG	  000335 R	 77-3462   #77-3471   
EPEERM	  001255 R	#181-7296   181-7296  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 9

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

EPTR  	= 000000	#87-3838   
EQV   	= 000444	#25-974    
EQVB  	= 000447	#25-975    
EQVI  	= 000445	#25-976    
EQVM  	= 000446	#25-977    
ERRMSG	  001424 RG	 184-7387  #184-7387   184-7387  
ERR10C	= 010000	#87-3838   
ERR10S	= 020000	#87-3838   
ERR11C	= 000001	#87-3838   
ERR11S	= 000002	#87-3838   
ERSMSG	  000107 R	 62-2670   #63-2680   
ESDERM	  001305 R	#181-7297   181-7297  
ESEERM	  001342 R	#181-7298   181-7298  
ETRMSG	  002200 R	 218-8430  #220-8499  
EXAMSG	  000435 RG	 174-7024  #174-7024   174-7024  
EXCH  	= 000250	#25-979    
EXDDMF	  004134 R	 101-4309  #101-4321  
EXDEMF	  004142 R	 101-4303  #101-4324  
EXDESD	  004104 R	 101-4308  #101-4313  
EXDESE	  004120 R	 101-4302  #101-4317  
EXDTEN	= 000334 RG	#102-4364  
EXECTO	  004354 R	 104-4434  #104-4454  
EXRTBL	= 000012  G	#178-7165  
EXTEND	= 000123	#25-980    
EXTEXT	  000214 R	 74-3290   #74-3312   
EXTFEF	  002036 R	 74-3291    74-3293   #74-3298   
EXTMSG	  001477 RG	 185-7410  #185-7410   185-7410  
E.FCID	= 000002	#21-803     160-6594   224-8708   260-10120 
E.FCOD	= 000003	#21-804     260-10102  260-10125 
E.FCTC	= ******  GX	 50-2217   
E.FFIL	= 000006	#21-807     70-3092    71-3155    72-3203    72-3206    72-3209    73-3253    74-3313    75-3366   
                         80-3574    85-3783   
E.FHTO	= 000001	#21-802     91-3972    149-6125  
E.FKLN	= 000004	#21-805    
E.FLOD	= 000005	#21-806     260-10111 
FAD   	= 000140	#25-982    
FADB  	= 000143	#25-983    
FADL  	= 000141	#25-984    
FADM  	= 000142	#25-985    
FADR  	= 000144	#25-987    
FADRB 	= 000147	#25-988    
FADRI 	= 000145	#25-989    
FADRM 	= 000146	#25-990    
FCFERM	  001377 R	#181-7300   181-7300  
FDV   	= 000170	#25-992    
FDVB  	= 000173	#25-993    
FDVL  	= 000171	#25-994    
FDVM  	= 000172	#25-995    
FDVR  	= 000174	#25-997    
FDVRB 	= 000177	#25-998    
FDVRI 	= 000175	#25-999    
FDVRM 	= 000176	#25-1000   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 10

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FEBMSG	  001254 RG	 180-7237  #180-7237   180-7237  
FEFERM	  001430 R	#181-7301   181-7301  
FENERM	  001462 R	#181-7302   181-7302  
FERMSG	  001113 RG	 178-7180  #178-7180   178-7180  
FIX   	= 000122	#25-1002   
FIXR  	= 000126	#25-1003   
FLDMSG	  000050 R	 60-2591   #60-2598   
FLFERM	  001513 R	#181-7303   181-7303  
FLGMSG	  001116 RG	 178-7182  #178-7182   178-7182  
FLTMSG	  001642 RG	 190-7489  #190-7489   190-7489   193-7558   193-7558  
FLTR  	= 000127	#25-1005   
FMMSG 	  001040 RG	 62-2673    178-7158  #178-7158   178-7158   189-7472   189-7472  
FMP   	= 000160	#25-1007   
FMPB  	= 000163	#25-1008   
FMPL  	= 000161	#25-1009   
FMPM  	= 000162	#25-1010   
FMPR  	= 000164	#25-1012   
FMPRB 	= 000167	#25-1013   
FMPRI 	= 000165	#25-1014   
FMPRM 	= 000166	#25-1015   
FNDALN	  000000 R	 70-3065   #70-3086    70-3089   
FNDALU	= 000002 R	*70-3064   #70-3089   
FNDCAL	  001550 R	 70-3066   #70-3078   
FNDDNF	  001556 R	 70-3070    70-3072   #70-3080   
FNDFNA	  000010 R	 70-3069   #70-3091    70-3094    70-3095   
FNDFNB	= 000036 R	*70-3068   #70-3095   
FNDLUN	= 000014 R	*70-3067   #70-3094   
FOFERM	  001545 R	#181-7304   181-7304  
FORPRO	= 000020	#87-3838   
FRDERM	  001575 R	#181-7305   181-7305  
FRDFRF	  004436 R	 106-4492  #106-4509  
FRDMSG	  000445 RG	 174-7026  #174-7026   174-7026  
FRDTEN	= 000346 RG	#106-4531  
FRFERM	  003754 R	#191-7526   191-7526  
FR.ADX	= 000254	#18-725    
FR.APR	= 000220	#18-703    
FR.ARX	= 000252	#18-723    
FR.BRX	= 000250	#18-721    
FR.CA1	= 000312	#19-755     19-756    
FR.CA2	= 000310	#19-752     19-753    
FR.CL1	= 000316	#19-762    
FR.CL2	= 000314	#19-759    
FR.CRD	= 000302	#19-746     132-5497  
FR.CR1	= 000316	#19-761     19-762    
FR.CR2	= 000314	#19-758     19-759    
FR.CR3	= 000312	#19-756    
FR.CR4	= 000310	#19-753     134-5574  
FR.DA1	= 000260	#18-731    
FR.DA2	= 000262	#18-734    
FR.EBS	= 000356	#20-789    
FR.FE1	= 000266	#18-738    
FR.FE2	= 000264	#18-736    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 11

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.PI0	= 000200	#18-692    
FR.PI1	= 000202	#18-694    
FR.RAD	= 000256	#18-727    
FR.RAR	= 000240	#18-713    
FR.RBR	= 000242	#18-715    
FR.RFM	= 000246	#18-719     137-5708  
FR.RMQ	= 000244	#18-717    
FR.SC1	= 000262	#18-733    
FR.SC2	= 000260	#18-730    
FR.SR1	= 000306	#19-750    
FR.SR2	= 000304	#19-748    
FR.VM0	= 000320	#19-765    
FR.VM1	= 000322	#19-767    
FR.VM2	= 000324	#19-769    
FR.VM3	= 000326	#19-771    
FR.VM4	= 000330	#19-773    
FR.VM5	= 000332	#19-775    
FR.VM6	= 000334	#19-777    
FR.VM7	= 000336	#19-779    
FR.100	= 000200	#18-691     18-692    
FR.101	= 000202	#18-693     18-694    
FR.102	= 000204	#18-695     139-5774  
FR.103	= 000206	#18-696    
FR.104	= 000210	#18-697     97-4162    131-5437  
FR.105	= 000212	#18-698     131-5438  
FR.106	= 000214	#18-699     131-5439  
FR.107	= 000216	#18-700     131-5440  
FR.110	= 000220	#18-702     18-703    
FR.111	= 000222	#18-704    
FR.112	= 000224	#18-705    
FR.113	= 000226	#18-706    
FR.114	= 000230	#18-707     136-5664   138-5737  
FR.115	= 000232	#18-708    
FR.116	= 000234	#18-709    
FR.117	= 000236	#18-710    
FR.120	= 000240	#18-712     18-713    
FR.121	= 000242	#18-714     18-715    
FR.122	= 000244	#18-716     18-717    
FR.123	= 000246	#18-718     18-719    
FR.124	= 000250	#18-720     18-721    
FR.125	= 000252	#18-722     18-723    
FR.126	= 000254	#18-724     18-725    
FR.127	= 000256	#18-726     18-727    
FR.130	= 000260	#18-729     18-730     18-731    
FR.131	= 000262	#18-732     18-733     18-734    
FR.132	= 000264	#18-735     18-736    
FR.133	= 000266	#18-737     18-738    
FR.134	= 000270	#18-739    
FR.135	= 000272	#18-740    
FR.136	= 000274	#18-741    
FR.137	= 000276	#18-742    
FR.140	= 000300	#19-744    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 12

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.141	= 000302	#19-745     19-746    
FR.142	= 000304	#19-747     19-748    
FR.143	= 000306	#19-749     19-750    
FR.144	= 000310	#19-751     19-752    
FR.145	= 000312	#19-754     19-755    
FR.146	= 000314	#19-757     19-758    
FR.147	= 000316	#19-760     19-761    
FR.150	= 000320	#19-764     19-765    
FR.151	= 000322	#19-766     19-767    
FR.152	= 000324	#19-768     19-769    
FR.153	= 000326	#19-770     19-771    
FR.154	= 000330	#19-772     19-773    
FR.155	= 000332	#19-774     19-775    
FR.156	= 000334	#19-776     19-777    
FR.157	= 000336	#19-778     19-779    
FR.160	= 000340	#20-781    
FR.161	= 000342	#20-782    
FR.162	= 000344	#20-783     128-5324  
FR.163	= 000346	#20-784    
FR.164	= 000350	#20-785    
FR.165	= 000352	#20-786    
FR.166	= 000354	#20-787    
FR.167	= 000356	#20-788     20-789    
FR.170	= 000360	#20-791    
FR.171	= 000362	#20-792    
FR.172	= 000364	#20-793    
FR.173	= 000366	#20-794    
FR.174	= 000370	#20-795    
FR.175	= 000372	#20-796    
FR.176	= 000374	#20-797    
FR.177	= 000376	#20-798    
FSB   	= 000150	#25-1017   
FSBB  	= 000153	#25-1018   
FSBL  	= 000151	#25-1019   
FSBM  	= 000152	#25-1020   
FSBR  	= 000154	#26-1022   
FSBRB 	= 000157	#26-1023   
FSBRI 	= 000155	#26-1024   
FSBRM 	= 000156	#26-1025   
FSC   	= 000132	#26-1027   
FSSMSG	  001607 RG	 62-2674    189-7474  #189-7474   189-7474   190-7491   190-7491  
FSWERM	  001625 R	#181-7306   181-7306  
FTBYTE	= 000000	#2-65      
FTCRAM	= 000000	#2-66      
FTDEBU	= 000001	#2-67       35-1502    68-2880    160-6575  
FTDISP	= 000000	#2-68      
FTDRAM	= 000000	#2-69       35-1510    181-7280  
FTHELP	= 000000	#2-70       174-7034  
FTKLE 	= 000001	#2-77       159-6542   163-6671   223-8620  
FTKLER	= 000000	#2-71      
FTKLI 	= ******	 69-2942    69-2953    74-3303    77-3418   
FTLCMN	= 000001  G	 1-1        33-1409   #262-10131 
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 13

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FTLCVT	= 000000	#2-72       42-1877    224-8676  
FTLIST	= 000001	#2-73      
FTTRAK	= 000001	#2-74       13-490     35-1591    94-4063    99-4239    106-4502   108-4597   111-4699   190-7513  
                         193-7580   213-8249   215-8343   218-8424  
FTTRP4	= 000001	#2-75      
FTUCVR	= 000130	#2-76      
FT1105	= 000001	#2-64      #2-101     
FT1110	= 000001	#2-63      #2-97       2-100     
FT1115	= 000001	#2-62      #2-93       2-96      
FT1120	= 000001	#2-61      #2-89       2-92      
FT1135	= 000001	#2-60      #2-85       2-88      
FT1140	= 000001	#2-59       2-84       3-110     
FT1145	= 000000	#2-58       2-80      
FULMSG	  001530 RG	 185-7416  #185-7416   185-7416  
FWDTEN	= 000360 RG	#108-4628  
FWFERM	  004001 R	#191-7527   191-7527  
FWRFWF	  004560 R	 108-4588  #108-4606  
FWRMSG	  000453 RG	 174-7028  #174-7028   174-7028  
FWTERM	  001652 R	#181-7307   181-7307  
FW.APE	= 000116	#16-628    
FW.CA1	= 000122	#16-644     126-5266   134-5588   141-5861   155-6394  
FW.CA2	= 000124	#16-646     126-5259   134-5590   141-5860   155-6396  
FW.CDR	= 000112	#15-600    
FW.CHN	= 000160	#17-676     128-5319  
FW.CRD	= 000126	#16-648     155-6391  
FW.CR1	= 000136	#16-656    
FW.CR2	= 000134	#16-654    
FW.CR3	= 000132	#16-652    
FW.CR4	= 000130	#16-650     155-6374  
FW.CSR	= 000110	#15-576     124-5192  
FW.DJE	= 000146	#17-665    
FW.DJO	= 000150	#17-667    
FW.DR1	= 000140	#17-659    
FW.DR2	= 000142	#17-661    
FW.DR3	= 000144	#17-663    
FW.EBL	= 000174	#17-684     141-5863  
FW.IAC	= 000154	#17-671    
FW.IOJ	= 000152	#17-669    
FW.IPE	= 000114	#16-615     124-5198  
FW.KLO	= 000156	#17-673     141-5862  
FW.LAR	= 000176	#17-687     116-4928   120-5085   154-6306  
FW.LBL	= 000106	#15-574     122-5132   141-5859  
FW.LBR	= 000104	#15-572     122-5123   141-5858  
FW.MBX	= 000162	#17-678     141-5866  
FW.SBR	= 000174	#17-685    
FW.040	= 000100	#15-569    
FW.041	= 000102	#15-570    
FW.042	= 000104	#15-571     15-572    
FW.043	= 000106	#15-573     15-574    
FW.044	= 000110	#15-575     15-576     108-4591  
FW.045	= 000112	#15-599     15-600    
FW.046	= 000114	#16-614     16-615    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 14

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FW.047	= 000116	#16-627     16-628     108-4593  
FW.050	= 000120	#16-642    
FW.051	= 000122	#16-643     16-644    
FW.052	= 000124	#16-645     16-646    
FW.053	= 000126	#16-647     16-648    
FW.054	= 000130	#16-649     16-650    
FW.055	= 000132	#16-651     16-652    
FW.056	= 000134	#16-653     16-654    
FW.057	= 000136	#16-655     16-656    
FW.060	= 000140	#17-658     17-659    
FW.061	= 000142	#17-660     17-661    
FW.062	= 000144	#17-662     17-663    
FW.063	= 000146	#17-664     17-665    
FW.064	= 000150	#17-666     17-667    
FW.065	= 000152	#17-668     17-669    
FW.066	= 000154	#17-670     17-671    
FW.067	= 000156	#17-672     17-673    
FW.070	= 000160	#17-675     17-676    
FW.071	= 000162	#17-677     17-678    
FW.072	= 000164	#17-679    
FW.073	= 000166	#17-680    
FW.074	= 000170	#17-681    
FW.075	= 000172	#17-682    
FW.076	= 000174	#17-683     17-684     17-685    
FW.077	= 000176	#17-686     17-687    
FXCFXF	  004730 R	 110-4664  #111-4707  
FXCMSG	  000462 RG	 174-7030  #174-7030   174-7030  
FXDTEN	= 000372 RG	#111-4730  
FXFERM	  004027 R	#191-7528   191-7528  
FX.BMC	= 000012	#14-529     88-3873   
FX.CMR	= 000014	#14-531     128-5336  
FX.CON	= 000024	#14-540     113-4783   119-5027   120-5087  
FX.CRF	= 000020	#14-536     90-3947    110-4690  
FX.CSP	= 000000	#14-519    
FX.CST	= 000002	#14-521     110-4667   147-6065  
FX.EBC	= 000006	#14-525     134-5570  
FX.MBC	= 000004	#14-523     97-4160    128-5331  
FX.SMR	= 000016	#14-533     110-4669   127-5305  
FX.SRF	= 000022	#14-538     110-4684   150-6158  
FX.SYC	= 000010	#14-527     153-6263  
FX.UDR	= 000032	#14-545    
FX.UIR	= 000030	#14-543    
FX.000	= 000000	#14-518     14-519    
FX.001	= 000002	#14-520     14-521    
FX.002	= 000004	#14-522     14-523    
FX.003	= 000006	#14-524     14-525    
FX.004	= 000010	#14-526     14-527    
FX.005	= 000012	#14-528     14-529    
FX.006	= 000014	#14-530     14-531    
FX.007	= 000016	#14-532     14-533    
FX.010	= 000020	#14-535     14-536    
FX.011	= 000022	#14-537     14-538    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 15

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FX.012	= 000024	#14-539     14-540    
FX.013	= 000026	#14-541    
FX.014	= 000030	#14-542     14-543    
FX.015	= 000032	#14-544     14-545    
FX.016	= 000034	#14-546    
FX.017	= 000036	#14-547    
FX.020	= 000040	#14-549    
FX.021	= 000042	#14-550    
FX.022	= 000044	#14-551    
FX.023	= 000046	#14-552    
FX.024	= 000050	#14-553    
FX.025	= 000052	#14-554    
FX.026	= 000054	#14-555    
FX.027	= 000056	#14-556    
FX.030	= 000060	#14-558    
FX.031	= 000062	#14-559    
FX.032	= 000064	#14-560    
FX.033	= 000066	#14-561    
FX.034	= 000070	#14-562    
FX.035	= 000072	#14-563    
FX.036	= 000074	#14-564    
FX.037	= 000076	#14-565    
GETSTS	= 000062	#26-1029   
GTFILC	  014264 R	 236-9201  #236-9212  
GTKKLA	  013274 R	 227-8813   227-8815  #227-8817  
GTLCBO	  013130 R	 224-8665  #224-8697  
GTLILC	  013136 R	 223-8653   224-8679  #224-8700  
GTNILI	  013700 R	 230-8943   230-8957   230-8975  #230-8979  
GTNMRA	  014526 R	 239-9312  #239-9314  
GTNNER	  013506 R	 228-8851   228-8861  #229-8902   230-8959  
GTNNOR	  014534 R	 225-8754   229-8900   238-9292   238-9298  #239-9317  
GTNORE	  013502 R	 228-8865   228-8867  #229-8899   230-8962   230-8964  
HARMSG	  001773 RG	 193-7560  #193-7560   193-7560  
HIBYTE	= 177400	#87-3838   
HLFMSG	  001535 RG	 185-7418  #185-7418   185-7418  
HLL   	= 000500	#26-1031   
HLLE  	= 000530	#26-1032   
HLLEI 	= 000531	#26-1033   
HLLEM 	= 000532	#26-1034   
HLLES 	= 000533	#26-1035   
HLLI  	= 000501	#26-1037   
HLLM  	= 000502	#26-1038   
HLLO  	= 000520	#26-1040   
HLLOI 	= 000521	#26-1041   
HLLOM 	= 000522	#26-1042   
HLLOS 	= 000523	#26-1043   
HLLS  	= 000503	#26-1045   
HLLZ  	= 000510	#26-1047   
HLLZI 	= 000511	#26-1048   
HLLZM 	= 000512	#26-1049   
HLLZS 	= 000513	#26-1050   
HLR   	= 000544	#26-1052   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 16

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

HLRE  	= 000574	#26-1054   
HLREI 	= 000575	#26-1055   
HLREM 	= 000576	#26-1056   
HLRES 	= 000577	#26-1057   
HLRO  	= 000564	#26-1059   
HLROI 	= 000565	#26-1060   
HLROM 	= 000566	#26-1061   
HLROS 	= 000567	#26-1062   
HLRS  	= 000547	#26-1064   
HLRZ  	= 000554	#26-1066   
HLRZI 	= 000555	#26-1067   
HLRZM 	= 000556	#26-1068   
HLRZS 	= 000557	#26-1069   
HLTMSG	  000467 RG	 174-7032  #174-7032   174-7032  
HRL   	= 000504	#27-1071   
HRLE  	= 000534	#27-1073   
HRLEI 	= 000535	#27-1074   
HRLEM 	= 000536	#27-1075   
HRLES 	= 000537	#27-1076   
HRLI  	= 000505	#27-1078   
HRLM  	= 000506	#27-1079   
HRLO  	= 000564	#27-1081   
HRLOI 	= 000565	#27-1082   
HRLOM 	= 000566	#27-1083   
HRLOS 	= 000567	#27-1084   
HRLS  	= 000507	#27-1086   
HRLZ  	= 000514	#27-1088   
HRLZI 	= 000515	#27-1089   
HRLZM 	= 000516	#27-1090   
HRLZS 	= 000517	#27-1091   
HRR   	= 000540	#27-1093   
HRRE  	= 000570	#27-1095   
HRREI 	= 000571	#27-1096   
HRREM 	= 000572	#27-1097   
HRRES 	= 000573	#27-1098   
HRRI  	= 000541	#27-1100   
HRRM  	= 000542	#27-1101   
HRRO  	= 000560	#27-1103   
HRROI 	= 000561	#27-1104   
HRROM 	= 000562	#27-1105   
HRROS 	= 000563	#27-1106   
HRRS  	= 000543	#27-1108   
HRRZ  	= 000550	#27-1110   
HRRZI 	= 000551	#27-1111   
HRRZM 	= 000552	#27-1112   
HRRZS 	= 000553	#27-1113   
I     	= 000000	#117-4985   117-4985  
IBP   	= 000133	#28-1115   
IDFERM	  001703 R	#181-7309   181-7309  
IDIV  	= 000230	#28-1117   
IDIVB 	= 000233	#28-1118   
IDIVI 	= 000231	#28-1119   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 17

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

IDIVM 	= 000232	#28-1120   
IDPB  	= 000136	#28-1122   
IE.EBX	= ******  GX	 100-4284  
IE.EOF	= ******  GX	 85-3792   
IE.NSF	= ******  GX	 71-3141   
IFCERM	  001735 R	#181-7310   181-7310  
IFLOP 	= 100000	#87-3838   
ILCERM	  004057 R	#191-7530   191-7530  
ILDB  	= 000134	#28-1124   
ILIERM	  001771 R	#181-7311   181-7311  
ILSERM	  004111 R	#191-7531   191-7531  
IMUL  	= 000220	#28-1126   
IMULB 	= 000223	#28-1127   
IMULI 	= 000221	#28-1128   
IMULM 	= 000222	#28-1129   
IN    	= 000056	#28-1131   
INBUF 	= 000064	#28-1132   
INCMSG	  000736 RG	 175-7094  #175-7094   175-7094   176-7115   176-7115   177-7130   177-7130   178-7203   178-7203  
                         190-7493   190-7493   193-7562   193-7562  
INDLUN	= 000005	#21-823     77-3460    80-3574    80-3586    160-6584  
INIMSG	  000474 RG	 174-7038  #174-7038   174-7038   184-7389   184-7389  
INIT  	= 000041	#28-1133   
INPUT 	= 000066	#28-1134   
INTMSG	  001510 RG	 185-7412  #185-7412   185-7412  
INTROF	= 000010	#87-3838   
INTRON	= 000040	#87-3838   
INTSON	= 000001	#87-3838   
INT10S	= 000400	#87-3838   
INT11C	= 002000	#87-3838   
INT11S	= 004000	#87-3838   
IOCERM	  002015 R	#181-7312   181-7312  
IOMSG 	  001432 RG	 184-7391  #184-7391   184-7391  
IOR   	= 000434	#28-1136    29-1204   
IORB  	= 000437	#28-1137    29-1205   
IORI  	= 000435	#28-1138    30-1222   
IORM  	= 000436	#28-1139    30-1223   
IOTAB 	  007276 R	 230-8941   230-8949  #230-8985  
IO.ATT	= ******  GX	 260-10120 
IO.CRE	= ******  GX	 72-3203   
IO.DAC	= ******  GX	 75-3346   
IO.DEL	= ******  GX	 72-3209    75-3342   
IO.DET	= ******  GX	 160-6594   260-10125 
IO.ENA	= ******  GX	 72-3206   
IO.EXT	= ******  GX	 74-3313   
IO.FNA	= ******  GX	 70-3092    71-3131   
IO.RLB	= ******  GX	 224-8708  
IO.RNA	= ******  GX	 71-3128   
IO.RVB	= ******  GX	 80-3574   
IO.WLB	= ******  GX	 260-10102  260-10111 
IO.WVB	= ******  GX	 85-3783   
IPCERM	  004155 R	#191-7532   191-7532  
IP.ALL	= 000017	#16-625    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 18

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

IP.CRP	= 000004	#16-621     16-624     131-5451  
IP.DRP	= 000002	#16-622     16-624     131-5458  
IP.FMP	= 000010	#16-620     16-624     131-5444  
IP.FSS	= 000001	#16-623     16-625     131-5466  
IP.NRM	= 000016	#16-624     16-625     16-640    
IRCERM	  002045 R	#181-7313   181-7313  
IREERM	  002100 R	#181-7314   181-7314  
IS.SET	= ******  GX	 50-2218   
ITFERM	  002130 R	#181-7315   181-7315  
ITNERM	  002162 R	#181-7316   181-7316  
JANMSG	  001244 RG	 180-7235  #180-7235   180-7235  
JFCL  	= 000255	#28-1141   
JFFO  	= 000243	#28-1143   
JMPMSG	  000507 RG	 174-7040  #174-7040   174-7040  
JRA   	= 000267	#28-1145   
JRST  	= 000254	#28-1147   
JSA   	= 000266	#28-1149   
JSP   	= 000265	#28-1151   
JSR   	= 000264	#28-1153   
JSYS  	= 000104	#28-1155   
JULMSG	  001312 RG	 180-7247  #180-7247   180-7247  
JUMP  	= 000320	#28-1157   
JUMPA 	= 000324	#28-1158   
JUMPE 	= 000322	#28-1159   
JUMPG 	= 000327	#28-1160   
JUMPGE	= 000325	#28-1161   
JUMPL 	= 000321	#28-1162   
JUMPLE	= 000323	#28-1163   
JUMPN 	= 000326	#28-1164   
JUNMSG	  001305 RG	 180-7245  #180-7245   180-7245  
KCNERM	  002212 R	#181-7318   181-7318  
KF.BRM	= 001000	#13-482     119-5021  
KF.CES	= 000100	#13-485     47-2113    128-5338  
KF.CLK	= 100000	#13-476     47-2111    54-2354    101-4314   101-4318   103-4393   104-4438   104-4444   108-4595  
                         110-4666   113-4785   113-4791   117-4959   119-5024   119-5039   119-5041   163-6683  
KF.CON	= 000200	#13-484     13-486     47-2111    113-4793   128-5338  
KF.DEF	= 000200	#13-486    
KF.KLO	= 000400	#13-483    
KF.MRS	= 020000	#13-478     127-5307   128-5338  
KF.RUN	= 040000	#13-477     47-2111    54-2354    103-4393   104-4438   104-4448   110-4683   113-4791   119-5024  
                         119-5035   119-5044   146-6031   148-6093   163-6685  
KF.SIM	= 010000	#13-479     113-4779   119-5021  
KF.SMC	= 004000	#13-480    
KF.SPM	= 002000	#13-481     113-4777   119-5021  
KLABIN	  007336 RG	 247-9622  #250-9727  
KLAERM	  002240 R	#181-7319   181-7319  
KLAOCT	  007362 RG	 247-9626  #250-9744  
KLEPRM	  000034 RG	#39-1736    163-6672  
KLHCFH	  005156 R	#115-4885  
KLIMSG	  001661 RG	 190-7495  #190-7495   190-7495   193-7564   193-7564  
KLIOT 	= 000700	#28-1166   
KLMSG 	  001124 RG	 178-7184  #178-7184   178-7184  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 19

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

KLNBIN	  007326 RG	 248-9661  #250-9722  
KLNOCT	  007356 RG	 248-9665  #250-9740  
KLP   	= 000574	#7-248      117-4985   117-4985  
KLPSTP	  005274 RG	#117-4987  
KLPWRF	= 000010	#87-3838   
KLRERM	  002265 R	#181-7320   181-7320  
KLSCFH	  005266 R	 117-4977  #117-4980  
KNCERM	  002327 R	#181-7321   181-7321  
KWEERM	  002363 R	#181-7322   181-7322  
LDB   	= 000135	#29-1168   
LG.ALL	= 000007	#22-867     174-7022   178-7162   178-7184   179-7216   179-7216   179-7218   179-7220   179-7225  
                         179-7227   180-7235   180-7237   180-7239   180-7241   180-7243   180-7245   180-7247   180-7249  
                         180-7251   180-7253   180-7255   180-7257   190-7495   193-7556   193-7558   193-7564  
LG.ARG	= 000010	#22-860    
LG.MAR	= 000020	#22-861    
LG.MNT	= 000004	#22-859     22-867     54-2351    174-7026   174-7028   174-7030   174-7044   174-7059   174-7063  
                         174-7073   174-7077   182-7365   183-7372   183-7374   185-7402   185-7404   185-7406   185-7408  
                         185-7410   185-7412   185-7414   185-7416   185-7418   185-7420   185-7422   189-7462   189-7464  
                         189-7466   189-7468   189-7470   189-7472   189-7474   190-7481   190-7483   190-7491   190-7505  
                         190-7511   193-7550   193-7578  
LG.MOD	= 000040	#22-862    
LG.NUL	= 000000	#22-856    
LG.OPR	= 000001	#22-857     22-866     174-7012   174-7014   174-7016   174-7024   174-7040   174-7042   174-7046  
                         174-7048   174-7050   174-7053   174-7055   174-7061   174-7065   174-7067   174-7069   174-7075  
                         174-7079   174-7081   175-7092   175-7094   175-7096   175-7098   175-7100   176-7113   176-7115  
                         176-7117   176-7119   176-7121   177-7128   177-7130   177-7132   177-7134   177-7136   178-7178  
                         178-7190   178-7201   178-7203   178-7205   178-7207   178-7209   179-7218   186-7429   186-7431  
                         187-7438   187-7440   187-7442   187-7444   188-7451   188-7453   188-7455   190-7485   190-7493  
                         190-7497   190-7499   190-7503   190-7509   193-7554   193-7560   193-7562   193-7566   193-7570  
                         193-7576   193-7584  
LG.PRG	= 000002	#22-858     22-866     54-2344    174-7018   174-7020   174-7032   174-7038   174-7057   174-7071  
                         174-7083   174-7085   176-7107   176-7109   176-7111   178-7143   178-7145   178-7147   178-7149  
                         178-7151   178-7153   178-7155   178-7158   178-7160   178-7166   178-7168   178-7170   178-7172  
                         178-7174   178-7176   178-7180   178-7182   178-7186   178-7188   178-7192   178-7193   178-7195  
                         178-7197   178-7199   184-7381   184-7383   184-7385   184-7387   184-7389   184-7391   184-7393  
                         184-7395   190-7487   190-7489   190-7501   190-7507   190-7511   190-7514   192-7541   192-7543  
                         193-7552   193-7568   193-7572   193-7574   193-7578   193-7581  
LG.PRM	= 000003	#22-866     22-867     179-7220  
LG.RNG	= 000100	#22-863    
LG.RPT	= 000400	#22-865     159-6526   174-7012   174-7016   174-7018   174-7020   174-7024   174-7026   174-7028  
                         174-7030   174-7032   174-7038   174-7050   174-7057   174-7065   174-7071   174-7073   174-7083  
                         175-7092   175-7094   175-7096   175-7098   175-7100   176-7107   176-7109   176-7111   176-7113  
                         176-7115   176-7117   176-7119   176-7121   177-7128   177-7130   177-7132   177-7134   177-7136  
                         178-7143   178-7145   178-7147   178-7149   178-7151   178-7153   178-7155   178-7158   178-7160  
                         178-7162   178-7166   178-7168   178-7170   178-7172   178-7174   178-7176   178-7178   178-7180  
                         178-7182   178-7184   178-7186   178-7188   178-7190   178-7192   178-7193   178-7195   178-7197  
                         178-7199   178-7201   178-7203   178-7205   178-7207   178-7209   184-7381   184-7383   184-7385  
                         184-7387   184-7389   184-7391   184-7393   184-7395   185-7402   185-7404   185-7406   185-7408  
                         185-7410   185-7412   185-7414   185-7416   185-7418   185-7420   185-7422   190-7483   190-7491  
                         190-7499   190-7505   192-7541   192-7543   193-7552   193-7556   193-7572  
LG.STR	= 000200	#22-864    
LOAD11	= 000004	#87-3838   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 20

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

LOGLUN	= 000004	#21-822     72-3203    72-3206    72-3209    74-3302    74-3313    85-3783    160-6592  
LOGMSG	  001557 RG	 188-7451  #188-7451   188-7451  
LOKFLF	  001656 R	 71-3137    71-3142   #71-3148   
LOKFNA	  000040 R	 71-3136   #71-3154    71-3157    71-3158    71-3159   
LOKFNB	= 000066 R	*71-3135   #71-3159   
LOKIOF	= 000042 R	*71-3128   *71-3131   #71-3157   
LOKLUN	= 000044 R	*71-3134   #71-3158   
LOOKUP	= 000076	#29-1170   
LPTMSG	  001563 RG	 188-7453  #188-7453   188-7453  
LSH   	= 000242	#29-1172   
LSHC  	= 000246	#29-1173   
LSTLUN	= 000003	#21-821     260-10111 
MAP   	= 000257	#29-1175   
MARMSG	  001265 RG	 180-7239  #180-7239   180-7239  
MAYMSG	  001301 RG	 180-7243  #180-7243   180-7243  
MBZTAB	  004212 R	 93-4029   #94-4082   
MCRMSG	  000535 RG	 174-7046  #174-7046   174-7046  
MEMMSG	  001670 RG	 190-7497  #190-7497   190-7497   193-7566   193-7566  
MGNMSG	  001521 RG	 185-7414  #185-7414   185-7414  
MMSG  	  000514 RG	 174-7042  #174-7042   174-7042  
MNTMSG	  001170 RG	 179-7216  #179-7216   179-7216   187-7438   187-7438  
MOVE  	= 000200	#29-1177   
MOVEI 	= 000201	#29-1178   
MOVEM 	= 000202	#29-1179   
MOVES 	= 000203	#29-1180   
MOVM  	= 000214	#29-1182   
MOVMI 	= 000215	#29-1183   
MOVMM 	= 000216	#29-1184   
MOVMS 	= 000217	#29-1185   
MOVN  	= 000210	#29-1187   
MOVNI 	= 000211	#29-1188   
MOVNM 	= 000212	#29-1189   
MOVNS 	= 000213	#29-1190   
MOVS  	= 000204	#29-1192   
MOVSI 	= 000205	#29-1193   
MOVSM 	= 000206	#29-1194   
MOVSS 	= 000207	#29-1195   
MPE11 	= 001000	#87-3838   
MQMSG 	  001043 RG	 178-7160  #178-7160   178-7160  
MRAERM	  002415 R	#181-7324   181-7324  
MRHERM	  002455 R	#181-7325   181-7325  
MRKMSG	  000516 RG	 174-7044  #174-7044   174-7044  
MUL   	= 000224	#29-1197   
MULB  	= 000227	#29-1198   
MULI  	= 000225	#29-1199   
MULM  	= 000226	#29-1200   
M.KTAE	= 000010	#91-3972   
M.KTEF	= 000002	#91-3972   
M.KTMG	= 000004	#91-3972   
M.KTUN	= 000006	#91-3972   
M.PARQ	= ******  GX	 160-6596  
NDIERM	  002521 R	#181-7327   181-7327  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 21

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

NEBMSG	  000122 R	 62-2660   #63-2682   
NERERM	  002551 R	#181-7328   181-7328  
NORERM	  002613 R	#181-7329   181-7329  
NOTMSG	  001677 RG	 190-7499  #190-7499   190-7499  
NOVMSG	  001350 RG	 180-7255  #180-7255   180-7255  
NPIERM	  002653 R	#181-7330   181-7330  
NRMMSG	  001441 RG	 185-7402  #185-7402   185-7402  
NSFERM	  002707 R	#181-7331   181-7331  
NSKERM	  004220 R	#191-7534   191-7534  
NSTERM	  002732 R	#181-7332   181-7332  
NTIERM	  002755 R	#181-7333   181-7333  
NULMSG	  000364 RG	 174-7012  #174-7012   174-7012  
NULSTP	= 000040	#87-3838   
NUPE  	= 000002	#87-3838   
NXTMSG	  000750 RG	 175-7096  #175-7096   175-7096   176-7117   176-7117   177-7132   177-7132   178-7205   178-7205  
OAIERM	  003005 R	#181-7335   181-7335  
OCTMSG	  001340 RG	 180-7253  #180-7253   180-7253  
OFCERM	  003035 R	#181-7336   181-7336  
OFFMSG	  000044 RG	#39-1740   
OFSMSG	  001703 RG	 190-7501  #190-7501   190-7501   193-7568   193-7568  
ONMSG 	  000041 RG	#39-1738   
OPEACC	  000160 R	 73-3242   #73-3252    73-3255    73-3256    73-3257   
OPEATT	= 000210 R	*73-3240   *73-3241   #73-3264   
OPEFID	= 000174 R	*73-3239   #73-3257   
OPEFOF	  001776 R	 73-3243   #73-3246   
OPEFUN	= 000162 R	*73-3237   #73-3255   
OPELUN	= 000164 R	*73-3238   #73-3256   
OPEN  	= 000050	#29-1202   
OPERAT	  000206 R	 73-3253   #73-3259    73-3264   
OPRMSG	  001204 RG	 179-7218  #179-7218   179-7218   187-7440   187-7440  
OR    	= 000434	#29-1204   
ORB   	= 000437	#29-1205   
ORCA  	= 000454	#29-1207   
ORCAB 	= 000457	#29-1208   
ORCAI 	= 000455	#29-1209   
ORCAM 	= 000456	#29-1210   
ORCB  	= 000470	#30-1212   
ORCBB 	= 000473	#30-1213   
ORCBI 	= 000471	#30-1214   
ORCBM 	= 000472	#30-1215   
ORCM  	= 000464	#30-1217   
ORCMB 	= 000467	#30-1218   
ORCMI 	= 000465	#30-1219   
ORCMM 	= 000466	#30-1220   
ORI   	= 000435	#30-1222   
ORM   	= 000436	#30-1223   
OUT   	= 000057	#30-1225   
OUTBUF	= 000065	#30-1226   
OUTMSG	  001712 RG	 190-7503  #190-7503   190-7503   193-7570   193-7570  
OUTPUT	= 000067	#30-1227   
PAG   	= 000010	#7-246     
PAGMSG	  001435 RG	 184-7393  #184-7393   184-7393  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 22

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PARERC	  000662 R	 58-2537    58-2537    59-2549    59-2549    59-2560    59-2560    60-2585    60-2585   #61-2604   
                         61-2620    61-2620    62-2641    62-2641   
PARERX	  000506 R	#58-2538    59-2571    60-2593    62-2664   
PARMSG	  000011 RG	#39-1730    61-2605   
PARNAM	  000021 RG	 35-1485   #39-1732    156-6439   158-6512   163-6668  
PARUEC	  000734 R	 58-2530   #61-2617   
PAR$$E	= 000050	#1-50       39-1729   
PAR$$K	= 000126	#1-54       39-1729   
PAR$$V	= 000015	#1-49       39-1729   
PCMSG 	  001046 RG	 178-7162  #178-7162   178-7162  
PC.AFI	= 000020	#13-510    
PC.AT0	= 000004	#13-512    
PC.AT1	= 000010	#13-511    
PC.BIS	= 000400	#13-506    
PC.CY0	= 004000	#13-503    
PC.CY1	= 002000	#13-504    
PC.FOV	= 001000	#13-505    
PC.FUF	= 000002	#13-513    
PC.LIP	= 000040	#13-509    
PC.NDV	= 000001	#13-514    
PC.OVF	= 010000	#13-502    
PC.UIO	= 000100	#13-508    
PC.USR	= 000200	#13-507    
PERCLR	= 001000	#87-3838   
PE.ALL	= 000037	#9-338     
PE.CES	= 000001	#9-333      9-338     
PE.CRM	= 000004	#9-335      9-338     
PE.DRM	= 000002	#9-334      9-338     
PE.FMP	= 000010	#9-336      9-338     
PE.FSS	= 000020	#9-337      9-338     
PHYS  	= 100000	#87-3838   
PI    	= 000004	#7-245     
PIDENT	= 000000	#87-3838   
PIMSG 	  001127 RG	 178-7186  #178-7186   178-7186   184-7395   184-7395  
POP   	= 000262	#30-1229   
POPJ  	= 000263	#30-1230   
PRGMSG	  001215 RG	 179-7220  #179-7220   179-7220   187-7442   187-7442  
PRI7  	= 000340	#87-3838   
PRMFM 	  002306 R	*244-9462   244-9463  #244-9494  
PROMPT	  000030 RG	#39-1734    163-6680  
PROPNT	= 000021	#87-3838   
PRTOFF	= 004000	#87-3838   
PRVMSG	  000755 RG	 175-7098  #175-7098   175-7098   176-7119   176-7119   177-7134   177-7134   178-7207   178-7207  
PR0   	= 000000	#87-3838   
PR1   	= 000040	#87-3838   
PR2   	= 000100	#87-3838   
PR3   	= 000140	#87-3838   
PR4   	= 000200	#87-3838   
PR5   	= 000240	#87-3838   
PR6   	= 000300	#87-3838   
PR7   	= 000340	#87-3838   
PS    	= 177776	#87-3838    160-6597  *160-6597  *160-6602  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 23

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PSTMSG	  001721 RG	 190-7505  #190-7505   190-7505   193-7572   193-7572  
PSWW1 	= 000005	#87-3838   
PSWW10	= 000014	#87-3838   
PSWW11	= 000015	#87-3838   
PSWW12	= 000016	#87-3838   
PSWW13	= 000017	#87-3838   
PSWW2 	= 000006	#87-3838   
PSWW3 	= 000007	#87-3838   
PSWW4 	= 000010	#87-3838   
PSWW5 	= 000011	#87-3838   
PSWW6 	= 000012	#87-3838   
PSWW7 	= 000013	#87-3838   
PS.NRM	= 001416	#16-640     143-5955  
PTLERM	  003065 R	#181-7338   181-7338  
PTOATM	  000270 R	 68-2875   #68-2894   
PTRTEM	  000151 R	 64-2715   #67-2837   
PTRTHM	  000221 R	 67-2822   #67-2839   
PULSE 	= 000020	#87-3838   
PUSH  	= 000261	#30-1232   
PUSHJ 	= 000260	#30-1233   
QRESMS	  000552 RG	 174-7053  #174-7053   174-7053  
QSAVMS	  000560 RG	 174-7055  #174-7055   174-7055  
QSIZE 	= 000023	#87-3838   
QTRMSG	  001542 RG	 185-7420  #185-7420   185-7420  
QUTMSG	  000701 RG	 174-7079  #174-7079   174-7079  
Q.BYCT	= 000016	#21-814     224-8711   260-10105  260-10114 
Q.IBUF	= 000014	#21-812    
Q.IOAE	= 000012	#70-3092   #71-3155   #72-3203   #72-3206   #72-3209   #73-3253   #74-3313   #75-3366   #224-8708  
                        #260-10102 #260-10111 #260-10120 #260-10125 
Q.IOEF	= 000006	#70-3092   #71-3155   #72-3203   #72-3206   #72-3209   #73-3253   #74-3313   #75-3366   #224-8708  
                        #260-10102 #260-10111 #260-10120 #260-10125 
Q.IOFN	= 000002	#70-3092   #71-3155    71-3157   #72-3203   #72-3206   #72-3209   #73-3253    73-3255   #74-3313   
                        #75-3366    75-3368   #224-8708  #260-10102 #260-10111 #260-10120 #260-10125 
Q.IOLU	= 000004	#70-3092    70-3094   #71-3155    71-3158   #72-3203   #72-3206   #72-3209   #73-3253    73-3256   
                        #74-3313   #75-3366    75-3369   #224-8708  #260-10102 #260-10111 #260-10120 #260-10125 
Q.IOPL	= 000014	#21-811     21-812     21-813     21-814     21-815    #70-3092    70-3095   #71-3155    71-3159   
                        #72-3203   #72-3206   #72-3209   #73-3253    73-3257   #74-3313   #75-3366    75-3370   #224-8708  
                         224-8710  #260-10102  260-10104 #260-10111  260-10113 #260-10120 #260-10125 
Q.IOPR	= 000007	#70-3092   #71-3155   #72-3203   #72-3206   #72-3209   #73-3253   #74-3313   #75-3366   #224-8708  
                        #260-10102 #260-10111 #260-10120 #260-10125 
Q.IOSB	= 000010	#70-3092   #71-3155   #72-3203   #72-3206   #72-3209   #73-3253   #74-3313   #75-3366   #224-8708  
                        #260-10102 #260-10111 #260-10120 #260-10125 
Q.OBUF	= 000014	#21-813    
Q.OVFC	= 000020	#21-815     260-10106  260-10115 
Q0    	  000126 RG	#35-1528   
Q1    	  000134 RG	#35-1529   
Q2    	  000142 RG	#35-1530   
Q3    	  000150 RG	#35-1531   
RAMIS0	= 010000	#87-3838   
RDCPT1	  004270 R	 129-5371  #131-5436  
RDCPT2	  004250 R	 130-5390  #130-5417  
RDCPT3	  004260 R	 129-5372   130-5387  #130-5425  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 24

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

RDCRME	  006504 R	 134-5568  #134-5595  
REAFRD	  002570 R	 80-3575    80-3577   #80-3584   
REGMSG	  001132 RG	 178-7188  #178-7188   178-7188  
REGTAB	  007240 R	 216-8351  #217-8374  
RELEAS	= 000071	#30-1235   
REMMSG	  001230 RG	 179-7225  #179-7225   179-7225  
RENAME	= 000055	#30-1236   
REPIRC	  011122 R	 172-6943  #172-6949  
RESETT	  004334 R	 141-5831  #141-5857  
RESMSG	  000566 RG	 174-7057  #174-7057   174-7057  
RFMAD0	= 100000	#87-3838   
RFMAD1	= 040000	#87-3838   
RFMAD2	= 020000	#87-3838   
RFMAD3	= 010000	#87-3838   
RGDTEN	= 000310 RG	#95-4112   
RLDMSG	  001735 RG	 190-7507  #190-7507   190-7507   193-7574   193-7574  
RM    	= 000010	#87-3838   
RMSG  	  000541 RG	 174-7048  #174-7048   174-7048  
ROT   	= 000241	#30-1238   
ROTC  	= 000245	#30-1239   
RPMERM	  003115 R	#181-7340   181-7340  
RPTMSG	  000543 RG	 174-7050  #174-7050   174-7050   190-7509   190-7509   193-7576   193-7576  
RSTEND	= 004342 R	 141-5843  #141-5864  
RSTMSG	  000574 RG	 174-7059  #174-7059   174-7059  
RTYMSG	  001744 RG	 190-7511  #190-7511   190-7511   193-7578   193-7578  
RUNMSG	  000604 RG	 174-7061  #174-7061   174-7061  
SAVMSG	  000610 RG	 174-7063  #174-7063   174-7063  
SBRMSG	  001161 RG	 178-7197  #178-7197   178-7197  
SCD   	= 000040	#87-3838   
SCFERM	  003155 R	#181-7342   181-7342  
SCRMSG	  001165 RG	 178-7199  #178-7199   178-7199  
SEPMSG	  001326 RG	 180-7251  #180-7251   180-7251  
SETA  	= 000424	#30-1241   
SETAB 	= 000427	#30-1242   
SETAI 	= 000425	#30-1243   
SETAM 	= 000426	#30-1244   
SETCA 	= 000450	#30-1246   
SETCAB	= 000453	#30-1247   
SETCAI	= 000451	#30-1248   
SETCAM	= 000452	#30-1249   
SETCM 	= 000460	#30-1251   
SETCMB	= 000463	#30-1252   
SETCMI	= 000461	#30-1253   
SETCMM	= 000462	#30-1254   
SETM  	= 000414	#31-1256   
SETMB 	= 000417	#31-1257   
SETMI 	= 000415	#31-1258   
SETMM 	= 000416	#31-1259   
SETMSG	  000615 RG	 174-7065  #174-7065   174-7065  
SETO  	= 000474	#31-1261   
SETOB 	= 000477	#31-1262   
SETOI 	= 000475	#31-1263   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 25

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

SETOM 	= 000476	#31-1264   
SETSTS	= 000060	#31-1266   
SETZ  	= 000400	#31-1268   
SETZB 	= 000403	#31-1269   
SETZI 	= 000401	#31-1270   
SETZM 	= 000402	#31-1271   
SHOMSG	  000621 RG	 174-7067  #174-7067   174-7067  
SHUMSG	  000626 RG	 174-7069  #174-7069   174-7069  
SKIERM	  003204 R	#181-7343   181-7343  
SKIP  	= 000330	#31-1273   
SKIPA 	= 000334	#31-1274   
SKIPE 	= 000332	#31-1275   
SKIPG 	= 000337	#31-1276   
SKIPGE	= 000335	#31-1277   
SKIPL 	= 000331	#31-1278   
SKIPLE	= 000333	#31-1279   
SKIPN 	= 000336	#31-1280   
SLOMSG	  001552 RG	 185-7422  #185-7422   185-7422  
SOJ   	= 000360	#31-1282   
SOJA  	= 000364	#31-1283   
SOJE  	= 000362	#31-1284   
SOJG  	= 000367	#31-1285   
SOJGE 	= 000365	#31-1286   
SOJL  	= 000361	#31-1287   
SOJLE 	= 000363	#31-1288   
SOJN  	= 000366	#31-1289   
SOS   	= 000370	#31-1291   
SOSA  	= 000374	#31-1292   
SOSE  	= 000372	#31-1293   
SOSG  	= 000377	#31-1294   
SOSGE 	= 000375	#31-1295   
SOSL  	= 000371	#31-1296   
SOSLE 	= 000373	#31-1297   
SOSN  	= 000376	#31-1298   
SPCEST	  001646 R	 62-2645   #62-2669   
SPCMSG	  001403 RG	 183-7372  #183-7372   183-7372  
SPFERM	  003261 R	#181-7344   181-7344  
SSTLEN	= 000010  G	#36-1666   
SSTTBE	= 000334 RG	#36-1667    64-2712   
STAMSG	  002124 R	 217-8377  #217-8388  
STAT  	= 174434	#87-3838   
STATO 	= 000061	#31-1300   
STATUS	= 000022	#31-1301   #87-3838   
STATZ 	= 000063	#31-1302   
STPCI 	  004242 R	#117-4984   117-4989  
STRMSG	  000637 RG	 174-7071  #174-7071   174-7071  
STSW1 	= ******  GX	*160-6599  
STUCAE	  007454 R	 152-6209  #152-6230  
STUUNL	  007462 R	 152-6227  #152-6233  
ST.CED	= 000100	#12-455     12-470    
ST.CLE	= 000001	#12-468     12-470    
ST.CTD	= 040000	#12-440    
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 26

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ST.CTE	= 010000	#12-444     12-470    
ST.DW1	= 002000	#12-447    
ST.DXD	= 000004	#12-463    
ST.EBS	= 000100	#12-454    
ST.EDB	= 004000	#12-445    
ST.EPE	= 000020	#12-458     12-470     56-2422   
ST.IDS	= 000010	#12-462    
ST.IEN	= 000040	#12-457    
ST.ION	= 000001	#12-467    
ST.MBZ	= 000000	#12-472     94-4085   
ST.MOD	= 000010	#12-460    
ST.MPE	= 001000	#12-448     12-470    
ST.NST	= 000040	#12-456    
ST.RIZ	= 010000	#12-443    
ST.RST	= 011121	#12-470    
ST.SEP	= 000004	#12-464    
ST.STE	= 000002	#12-466    
ST.TED	= 000200	#12-452    
ST.TER	= 000002	#12-465    
ST.TXD	= 100000	#12-438    
ST.TXE	= 020000	#12-441    
ST.XDB	= 000400	#12-450    
SUB   	= 000274	#32-1304   
SUBB  	= 000277	#32-1305   
SUBI  	= 000275	#32-1306   
SUBM  	= 000276	#32-1307   
SWPMSG	  000645 RG	 174-7073  #174-7073   174-7073  
SWR   	= 177570	#87-3838   
SWSLLT	= 100000	#87-3838   
SXCT  	= 000106	#32-1309   
SZIERM	  003311 R	#181-7345   181-7345  
TAAERM	  003345 R	#181-7347   181-7347  
TAKMSG	  000653 RG	 174-7075  #174-7075   174-7075  
TC.CON	= 000377	#22-874    
TC.CTC	= 000002	#22-871     50-2222    66-2795   
TC.ERR	= 000000	#22-873     47-2118    49-2189    49-2192    51-2260    54-2366    56-2428    70-3079    70-3081   
                         71-3149    72-3197    73-3247    74-3307    75-3360    80-3589    85-3798    88-3877    94-4075   
                         97-4177    101-4315   101-4319   101-4322   101-4325   104-4455   106-4510   108-4607   111-4708  
                         115-4886   117-4981   134-5596   152-6231   152-6234   155-6401   159-6551   167-6804   167-6807  
                         167-6810   172-6950   199-7760   224-8698   224-8701   227-8818   229-8903   230-8980   236-9213  
                         237-9253   239-9315   239-9318  
TC.RST	= 000001	#22-872    
TDC   	= 000650	#32-1311   
TDCA  	= 000654	#32-1312   
TDCE  	= 000652	#32-1313   
TDCN  	= 000656	#32-1314   
TDMSG0	  000345 R	 166-6782  #167-6815  
TDN   	= 000610	#32-1316   
TDNA  	= 000614	#32-1317   
TDNE  	= 000612	#32-1318   
TDNN  	= 000616	#32-1319   
TDO   	= 000670	#32-1321   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 27

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TDOA  	= 000674	#32-1322   
TDOE  	= 000672	#32-1323   
TDON  	= 000676	#32-1324   
TDZ   	= 000630	#32-1326   
TDZA  	= 000634	#32-1327   
TDZE  	= 000632	#32-1328   
TDZN  	= 000636	#32-1329   
TENAD1	= 174410	#87-3838   
TENAD2	= 174412	#87-3838   
TENMSG	  001005 RG	 176-7111  #176-7111   176-7111   178-7190   178-7190   186-7431   186-7431   192-7541   192-7541  
TFRMSG	  002014 R	 213-8257  #214-8302  
TFWMSG	  002031 R	 213-8264  #214-8304  
TFXMSG	  002046 R	 213-8271  #214-8306  
THSMSG	  000766 RG	 175-7100  #175-7100   175-7100   176-7121   176-7121   177-7136   177-7136   178-7209   178-7209  
TLC   	= 000641	#32-1331   
TLCA  	= 000645	#32-1332   
TLCE  	= 000643	#32-1333   
TLCN  	= 000647	#32-1334   
TLN   	= 000601	#32-1336   
TLNA  	= 000605	#32-1337   
TLNE  	= 000603	#32-1338   
TLNN  	= 000607	#32-1339   
TLO   	= 000661	#32-1341   
TLOA  	= 000665	#32-1342   
TLOE  	= 000663	#32-1343   
TLON  	= 000667	#32-1344   
TLZ   	= 000621	#32-1346   
TLZA  	= 000625	#32-1347   
TLZE  	= 000623	#32-1348   
TLZN  	= 000627	#32-1349   
TOBM  	= 000004	#87-3838   
TOIP  	= 000002	#87-3838   
TOIT  	= 000001	#87-3838   
TORERM	  003402 R	#181-7348   181-7348  
TO10  	= 000200	#87-3838   
TO10AD	= 174420	#87-3838   
TO10BC	= 174414	#87-3838   
TO10BM	= 000001	#87-3838   
TO10DB	= 000400	#87-3838   
TO10DN	= 100000	#87-3838   
TO10DT	= 174424	#87-3838   
TO10ER	= 020000	#87-3838   
TO11  	= 000100	#87-3838   
TO11AD	= 174422	#87-3838   
TO11BC	= 174416	#87-3838   
TO11BM	= 020000	#87-3838   
TO11DB	= 004000	#87-3838   
TO11DN	= 000200	#87-3838   
TO11DT	= 174426	#87-3838   
TO11ER	= 000002	#87-3838   
TPDDCK	  011364 R	 198-7711  #199-7759  
TPDDVD	  007232 R	#197-7698   198-7726  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 28

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TPDDVS	  007224 R	#197-7696   198-7725  
TPDRMN	  007216 R	#197-7694   198-7714   198-7724   199-7752  
TRADDR	  007250 R	 219-8445   219-8456  #220-8477  
TRC   	= 000640	#32-1351   
TRCA  	= 000644	#32-1352   
TRCE  	= 000642	#32-1353   
TRCN  	= 000646	#32-1354   
TRDATA	  007256 R	 219-8450   219-8460  #220-8479  
TRKMSG	  001752 RG	 190-7514  #190-7514   190-7514   193-7581   193-7581  
TRN   	= 000600	#33-1356   
TRNA  	= 000604	#33-1357   
TRNE  	= 000602	#33-1358   
TRNN  	= 000606	#33-1359   
TRO   	= 000660	#33-1361   
TROA  	= 000664	#33-1362   
TROE  	= 000662	#33-1363   
TRON  	= 000666	#33-1364   
TRZ   	= 000620	#33-1366   
TRZA  	= 000624	#33-1367   
TRZE  	= 000622	#33-1368   
TRZN  	= 000626	#33-1369   
TR.ALL	= 000077	#13-497    
TR.DEP	= 000020	#13-495     13-497     99-4256   
TR.DTE	= 000040	#13-496     13-497     94-4064   
TR.EXM	= 000010	#13-494     13-497     99-4240   
TR.FRD	= 000002	#13-492     13-497     106-4503  
TR.FWR	= 000004	#13-493     13-497     108-4598  
TR.FXC	= 000001	#13-491     13-497     111-4700  
TSC   	= 000651	#33-1371   
TSCA  	= 000655	#33-1372   
TSCAMB	  010746 R	 165-6756  #167-6802  
TSCE  	= 000653	#33-1373   
TSCN  	= 000657	#33-1374   
TSCNSK	  010760 R	 165-6765  #167-6806  
TSCWRM	  010766 R	 165-6768  #167-6809  
TSN   	= 000611	#33-1376   
TSNA  	= 000615	#33-1377   
TSNE  	= 000613	#33-1378   
TSNN  	= 000617	#33-1379   
TSO   	= 000671	#33-1381   
TSOA  	= 000675	#33-1382   
TSOE  	= 000673	#33-1383   
TSON  	= 000677	#33-1384   
TSZ   	= 000631	#33-1386   
TSZA  	= 000635	#33-1387   
TSZE  	= 000633	#33-1388   
TSZN  	= 000637	#33-1389   
TTCALL	= 000051	#33-1391   
TTYMSG	  001567 RG	 188-7455  #188-7455   188-7455  
TT.OUT	= ******  GX	 160-6599  
TYODIE	  015766 R	 257-9992   257-9994   257-9996   257-9998   257-10005  257-10007 #258-10027 
UBRMSG	  001144 RG	 178-7192  #178-7192   178-7192  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 29

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

UCDMSG	  001761 RG	 192-7543  #192-7543   192-7543  
UECMSG	  000060 R	 61-2631   #61-2635   
UECMSP	  001644 R	 61-2619   #61-2630   
UGETF 	= 000073	#33-1393   
UJEN  	= 000100	#33-1395   
UNASG1	= 000032	#87-3838   
UNASG2	= 000033	#87-3838   
UNASG3	= 000034	#87-3838   
UNASG4	= 000035	#87-3838   
UNASG5	= 000036	#87-3838   
UNASG6	= 000037	#87-3838   
UNLERM	  003432 R	#181-7350   181-7350  
UNMMSG	  000660 RG	 174-7077  #174-7077   174-7077  
USETI 	= 000074	#33-1397   
USETO 	= 000075	#33-1398   
USRMSG	  001237 RG	 179-7227  #179-7227   179-7227   187-7444   187-7444  
VERMSG	  002004 RG	 193-7584  #193-7584   193-7584  
VFYERM	  003470 R	#181-7352   181-7352  
VF.DSP	= 000060	#21-829    
VF.FFD	= 000061	#21-830    
VF.INT	= 000000	#21-827     260-10102  260-10111 
VF.OVR	= 000053	#21-831    
VF.PRM	= 000044	#21-832    
VF.SSP	= 000040	#21-828    
VMAMSG	  001150 RG	 178-7193  #178-7193   178-7193  
VMHMSG	  001154 RG	 178-7195  #178-7195   178-7195  
WEP   	= 000010	#87-3838   
WHAMSG	  000706 RG	 174-7081  #174-7081   174-7081  
WRCRME	  007710 R	 155-6371  #155-6400  
WRIFWT	  003326 R	 85-3784    85-3793   #85-3797   
WRMERM	  003524 R	#181-7354   181-7354  
XCT   	= 000256	#33-1400   
XCTMSG	  000713 RG	 174-7083  #174-7083   174-7083  
XOR   	= 000430	#33-1402   
XORB  	= 000433	#33-1403   
XORI  	= 000431	#33-1404   
XORM  	= 000432	#33-1405   
XR    	= 000000	#117-4985   117-4985  
XTOERM	  003635 R	#181-7358   181-7358  
YORERM	  003605 R	#181-7356   181-7356  
ZERMSG	  000717 RG	 174-7085  #174-7085   174-7085  
ZSTOP 	= 040000	#87-3838   
$DIV  	= ******  GX	 259-10059  259-10059 
$DSW  	= ******  GX	 50-2218    100-4284  
$$    	= 000037	#47-2102    47-2102   #47-2108    47-2108   #48-2145    48-2145   #51-2253    51-2253   #53-2313   
                         53-2313   #56-2421    56-2421   #58-2537    58-2537   #59-2549    59-2549   #59-2554    59-2554   
                        #59-2560    59-2560   #59-2564    59-2564   #59-2567    59-2567   #59-2570    59-2570   #60-2585   
                         60-2585   #60-2590    60-2590   #60-2592    60-2592   #61-2606    61-2606   #61-2608    61-2608   
                        #61-2610    61-2610   #61-2612    61-2612   #61-2613    61-2613   #61-2620    61-2620   #61-2622   
                         61-2622   #62-2641    62-2641   #62-2642    62-2642   #62-2650    62-2650   #62-2651    62-2651   
                        #62-2652    62-2652   #62-2661    62-2661   #64-2714    64-2714   #64-2716    64-2716   #64-2718   
                         64-2718   #64-2719    64-2719   #66-2785    66-2785   #66-2791    66-2791   #66-2805    66-2805   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 30

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                        #66-2807    66-2807   #67-2823    67-2823   #67-2824    67-2824   #67-2830    67-2830   #68-2871   
                         68-2871   #68-2874    68-2874   #68-2876    68-2876   #68-2878    68-2878   #68-2879    68-2879   
                        #68-2884    68-2884   #71-3132    71-3132   #71-3133    71-3133   #74-3306    74-3306   #77-3446   
                         77-3446   #77-3452    77-3452   #77-3461    77-3461   #77-3463    77-3463   #78-3506    78-3506   
                        #79-3539    79-3539   #80-3588    80-3588   #81-3636    81-3636   #81-3640    81-3640   #82-3680   
                         82-3680   #83-3711    83-3711   #84-3749    84-3749   #84-3753    84-3753   #84-3755    84-3755   
                        #85-3794    85-3794   #88-3868    88-3868   #88-3872    88-3872   #89-3905    89-3905   #89-3915   
                         89-3915   #90-3948    90-3948   #97-4156    97-4156   #97-4161    97-4161   #97-4163    97-4163   
                        #99-4233    99-4233   #99-4242    99-4242   #99-4249    99-4249   #99-4258    99-4258   #100-4288  
                         100-4288  #100-4291   100-4291  #103-4397   103-4397  #103-4399   103-4399  #104-4416   104-4416  
                        #104-4418   104-4418  #104-4419   104-4419  #104-4424   104-4424  #104-4427   104-4427  #104-4440  
                         104-4440  #104-4446   104-4446  #104-4450   104-4450  #106-4505   106-4505  #108-4600   108-4600  
                        #111-4702   111-4702  #113-4781   113-4781  #113-4784   113-4784  #113-4787   113-4787  #114-4836  
                         114-4836  #114-4841   114-4841  #115-4849   115-4849  #115-4860   115-4860  #115-4873   115-4873  
                        #115-4877   115-4877  #115-4878   115-4878  #116-4926   116-4926  #116-4929   116-4929  #117-4966  
                         117-4966  #117-4968   117-4968  #117-4990   117-4990  #119-5026   119-5026  #119-5028   119-5028  
                        #119-5037   119-5037  #119-5043   119-5043  #120-5084   120-5084  #120-5086   120-5086  #122-5116  
                         122-5116  #122-5119   122-5119  #122-5125   122-5125  #122-5128   122-5128  #122-5133   122-5133  
                        #124-5190   124-5190  #124-5196   124-5196  #124-5202   124-5202  #124-5206   124-5206  #124-5211  
                         124-5211  #126-5249   126-5249  #126-5251   126-5251  #126-5257   126-5257  #126-5260   126-5260  
                        #126-5264   126-5264  #126-5267   126-5267  #127-5306   127-5306  #127-5308   127-5308  #128-5317  
                         128-5317  #128-5318   128-5318  #128-5320   128-5320  #128-5325   128-5325  #128-5332   128-5332  
                        #128-5335   128-5335  #128-5337   128-5337  #129-5368   129-5368  #129-5376   129-5376  #132-5498  
                         132-5498  #132-5500   132-5500  #134-5569   134-5569  #134-5571   134-5571  #134-5579   134-5579  
                        #134-5584   134-5584  #134-5586   134-5586  #134-5589   134-5589  #134-5591   134-5591  #135-5626  
                         135-5626  #135-5628   135-5628  #136-5665   136-5665  #136-5667   136-5667  #136-5672   136-5672  
                        #137-5705   137-5705  #137-5709   137-5709  #138-5738   138-5738  #138-5741   138-5741  #139-5773  
                         139-5773  #139-5782   139-5782  #141-5830   141-5830  #141-5832   141-5832  #141-5835   141-5835  
                        #141-5836   141-5836  #141-5837   141-5837  #141-5838   141-5838  #141-5842   141-5842  #141-5847  
                         141-5847  #142-5899   142-5899  #143-5949   143-5949  #143-5954   143-5954  #145-5992   145-5992  
                        #145-5993   145-5993  #145-5996   145-5996  #145-5998   145-5998  #145-6002   145-6002  #146-6033  
                         146-6033  #147-6062   147-6062  #147-6066   147-6066  #148-6096   148-6096  #150-6160   150-6160  
                        #152-6211   152-6211  #152-6212   152-6212  #152-6214   152-6214  #152-6215   152-6215  #152-6218  
                         152-6218  #153-6264   153-6264  #154-6302   154-6302  #154-6304   154-6304  #154-6307   154-6307  
                        #155-6376   155-6376  #155-6384   155-6384  #155-6389   155-6389  #155-6392   155-6392  #155-6393  
                         155-6393  #155-6395   155-6395  #155-6397   155-6397  #158-6513   158-6513  #159-6522   159-6522  
                        #159-6524   159-6524  #159-6532   159-6532  #159-6533   159-6533  #159-6547   159-6547  #160-6586  
                         160-6586  #160-6590   160-6590  #160-6593   160-6593  #160-6601   160-6601  #162-6657   162-6657  
                        #163-6669   163-6669  #163-6677   163-6677  #163-6681   163-6681  #163-6693   163-6693  #163-6695  
                         163-6695  #163-6698   163-6698  #165-6736   165-6736  #165-6737   165-6737  #165-6747   165-6747  
                        #166-6777   166-6777  #166-6779   166-6779  #166-6781   166-6781  #166-6783   166-6783  #166-6791  
                         166-6791  #166-6792   166-6792  #172-6940   172-6940  #172-6942   172-6942  #172-6944   172-6944  
                        #172-6946   172-6946  #198-7707   198-7707  #198-7709   198-7709  #198-7710   198-7710  #199-7739  
                         199-7739  #199-7741   199-7741  #199-7744   199-7744  #200-7804   200-7804  #207-8029   207-8029  
                        #207-8032   207-8032  #207-8035   207-8035  #207-8053   207-8053  #207-8060   207-8060  #210-8161  
                         210-8161  #210-8162   210-8162  #211-8174   211-8174  #211-8176   211-8176  #211-8177   211-8177  
                        #211-8185   211-8185  #211-8187   211-8187  #211-8188   211-8188  #214-8281   214-8281  #214-8286  
                         214-8286  #214-8289   214-8289  #214-8290   214-8290  #214-8291   214-8291  #214-8293   214-8293  
                        #216-8349   216-8349  #216-8352   216-8352  #216-8353   216-8353  #216-8362   216-8362  #216-8368  
                         216-8368  #218-8429   218-8429  #218-8434   218-8434  #219-8455   219-8455  #219-8457   219-8457  
                        #219-8458   219-8458  #219-8459   219-8459  #219-8461   219-8461  #219-8462   219-8462  #219-8469  
                         219-8469  #222-8573   222-8573  #222-8579   222-8579  #223-8624   223-8624  #223-8633   223-8633  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 31

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                        #223-8638   223-8638  #223-8647   223-8647  #223-8648   223-8648  #226-8782   226-8782  #226-8783  
                         226-8783  #227-8811   227-8811  #228-8849   228-8849  #228-8852   228-8852  #228-8853   228-8853  
                        #228-8855   228-8855  #228-8857   228-8857  #228-8860   228-8860  #228-8862   228-8862  #229-8875  
                         229-8875  #229-8882   229-8882  #229-8883   229-8883  #229-8884   229-8884  #230-8945   230-8945  
                        #230-8958   230-8958  #230-8960   230-8960  #231-9034   231-9034  #232-9061   232-9061  #232-9064  
                         232-9064  #233-9094   233-9094  #234-9129   234-9129  #234-9132   234-9132  #235-9172   235-9172  
                        #236-9200   236-9200  #237-9231   237-9231  #237-9236   237-9236  #237-9237   237-9237  #237-9242  
                         237-9242  #237-9245   237-9245  #237-9250   237-9250  #238-9293   238-9293  #238-9296   238-9296  
                        #243-9419   243-9419  #244-9464   244-9464  #244-9472   244-9472  #244-9473   244-9473  #244-9477  
                         244-9477  #244-9478   244-9478  #244-9479   244-9479  #244-9481   244-9481  #244-9482   244-9482  
                        #249-9708   249-9708  #249-9713   249-9713  #251-9788   251-9788  #252-9810   252-9810  #252-9813  
                         252-9813  #252-9815   252-9815  #253-9858   253-9858  #253-9862   253-9862  #253-9871   253-9871  
                        #254-9900   254-9900  #256-9953   256-9953  #256-9955   256-9955  #257-10013  257-10013 #259-10059 
                         259-10059 #259-10066  259-10066 
$$A   	= 000000	#117-4985   117-4985  
$$B   	= 000000	#117-4985   117-4985  
$$C   	= 000002	#117-4985   117-4985  
$$D   	= 000176	#117-4985   117-4985  
$$E   	= 000017	#117-4985   117-4985  
$$F   	= 000000	#117-4985   117-4985  
$$PASS	= 000000	 174-7012   174-7014   174-7016   174-7018   174-7020   174-7022   174-7024   174-7026   174-7028  
                         174-7030   174-7032   174-7038   174-7040   174-7042   174-7044   174-7046   174-7048   174-7050  
                         174-7053   174-7055   174-7057   174-7059   174-7061   174-7063   174-7065   174-7067   174-7069  
                         174-7071   174-7073   174-7075   174-7077   174-7079   174-7081   174-7083   174-7085   175-7092  
                         175-7094   175-7096   175-7098   175-7100   176-7107   176-7109   176-7111   176-7113   176-7115  
                         176-7117   176-7119   176-7121   177-7128   177-7130   177-7132   177-7134   177-7136   178-7143  
                         178-7145   178-7147   178-7149   178-7151   178-7153   178-7155   178-7158   178-7160   178-7162  
                         178-7166   178-7168   178-7170   178-7172   178-7174   178-7176   178-7178   178-7180   178-7182  
                         178-7184   178-7186   178-7188   178-7190   178-7192   178-7193   178-7195   178-7197   178-7199  
                         178-7201   178-7203   178-7205   178-7207   178-7209   179-7216   179-7218   179-7220   179-7225  
                         179-7227   180-7235   180-7237   180-7239   180-7241   180-7243   180-7245   180-7247   180-7249  
                         180-7251   180-7253   180-7255   180-7257   182-7365   183-7372   183-7374   184-7381   184-7383  
                         184-7385   184-7387   184-7389   184-7391   184-7393   184-7395   185-7402   185-7404   185-7406  
                         185-7408   185-7410   185-7412   185-7414   185-7416   185-7418   185-7420   185-7422   186-7429  
                         186-7431   187-7438   187-7440   187-7442   187-7444   188-7451   188-7453   188-7455   189-7462  
                         189-7464   189-7466   189-7468   189-7470   189-7472   189-7474   190-7481   190-7483   190-7485  
                         190-7487   190-7489   190-7491   190-7493   190-7495   190-7497   190-7499   190-7501   190-7503  
                         190-7505   190-7507   190-7509   190-7511   190-7514   192-7541   192-7543   193-7550   193-7552  
                         193-7554   193-7556   193-7558   193-7560   193-7562   193-7564   193-7566   193-7568   193-7570  
                         193-7572   193-7574   193-7576   193-7578   193-7581   193-7584  #193-7589  
$$$AB 	= 000001	 178-7166  #178-7166   178-7166  
$$$ABO	= 000001	 174-7014  #174-7014   174-7014  
$$$ACB	= 000004	 182-7365  #182-7365   182-7365   183-7374  #183-7374   183-7374   190-7481  #190-7481   190-7481  
                         193-7550  #193-7550   193-7550  
$$$AD 	= 000001	 178-7143  #178-7143   178-7143  
$$$ADX	= 000001	 178-7145  #178-7145   178-7145  
$$$ALL	= 000002	 184-7381  #184-7381   184-7381   189-7462  #189-7462   189-7462  
$$$APR	= 000001	 180-7241  #180-7241   180-7241  
$$$AR 	= 000003	 176-7107  #176-7107   176-7107   178-7147  #178-7147   178-7147   189-7464  #189-7464   189-7464  
$$$ARG	= 000006	#70-3087    70-3087   #70-3087    70-3087   #70-3087    70-3087   #70-3092    70-3092   #70-3092   
                         70-3092   #70-3092    70-3092   #70-3092    70-3092   #70-3092    70-3092   #70-3092    70-3092   
                        #70-3092    70-3092   #71-3155    71-3155   #71-3155    71-3155   #71-3155    71-3155   #71-3155   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 32

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         71-3155   #71-3155    71-3155   #71-3155    71-3155   #71-3155    71-3155   #72-3203    72-3203   
                        #72-3203    72-3203   #72-3203    72-3203   #72-3203    72-3203   #72-3203    72-3203   #72-3206   
                         72-3206   #72-3206    72-3206   #72-3206    72-3206   #72-3206    72-3206   #72-3206    72-3206   
                        #72-3206    72-3206   #72-3206    72-3206   #72-3209    72-3209   #73-3253    73-3253   #73-3253   
                         73-3253   #73-3253    73-3253   #73-3253    73-3253   #73-3253    73-3253   #73-3253    73-3253   
                        #74-3313    74-3313   #74-3313    74-3313   #74-3313    74-3313   #74-3313    74-3313   #74-3313   
                         74-3313   #75-3366    75-3366   #75-3366    75-3366   #75-3366    75-3366   #80-3574    80-3574   
                         80-3574    80-3574    80-3574    80-3574    80-3574    80-3574    80-3574    80-3574    80-3574   
                         80-3574   #85-3783    85-3783    85-3783    85-3783    85-3783    85-3783    85-3783    85-3783   
                         85-3783    85-3783    85-3783    85-3783   #160-6594   160-6594   160-6594   160-6594   160-6594  
                         160-6594   160-6594   160-6594   160-6594   160-6594   160-6594   160-6594  #224-8708   224-8708  
                        #224-8708   224-8708  #224-8708   224-8708  #260-10102  260-10102 #260-10102  260-10102 #260-10102 
                         260-10102 #260-10102  260-10102 #260-10111  260-10111 #260-10111  260-10111 #260-10111  260-10111 
                        #260-10111  260-10111 #260-10120  260-10120 #260-10125  260-10125 
$$$ARX	= 000001	 178-7149  #178-7149   178-7149  
$$$AUG	= 000001	 180-7249  #180-7249   180-7249  
$$$BR 	= 000001	 178-7151  #178-7151   178-7151  
$$$BRX	= 000001	 178-7153  #178-7153   178-7153  
$$$CLK	= 000002	 190-7483  #190-7483   190-7483   193-7552  #193-7552   193-7552  
$$$CLR	= 000001	 174-7016  #174-7016   174-7016  
$$$CNT	= 000001	 174-7018  #174-7018   174-7018  
$$$CON	= 000002	 190-7485  #190-7485   190-7485   193-7554  #193-7554   193-7554  
$$$CPU	= 000001	 184-7383  #184-7383   184-7383  
$$$CRA	= 000001	 178-7168  #178-7168   178-7168  
$$$CRL	= 000001	 178-7170  #178-7170   178-7170  
$$$CRM	= 000002	 185-7404  #185-7404   185-7404   189-7466  #189-7466   189-7466  
$$$CTL	= 000001	 185-7408  #185-7408   185-7408  
$$$DAT	= 000002	 190-7487  #190-7487   190-7487   193-7556  #193-7556   193-7556  
$$$DCR	= 000004	 175-7092  #175-7092   175-7092   176-7113  #176-7113   176-7113   177-7128  #177-7128   177-7128  
                         178-7201  #178-7201   178-7201  
$$$DEC	= 000001	 180-7257  #180-7257   180-7257  
$$$DEP	= 000001	 174-7020  #174-7020   174-7020  
$$$DIS	= 000001	 174-7022  #174-7022   174-7022  
$$$DPT	= 000001	 185-7406  #185-7406   185-7406  
$$$DRA	= 000001	 178-7172  #178-7172   178-7172  
$$$DRM	= 000001	 189-7468  #189-7468   189-7468  
$$$DTE	= 000002	 178-7174  #178-7174   178-7174   184-7385  #184-7385   184-7385  
$$$EBR	= 000001	 178-7176  #178-7176   178-7176  
$$$EBS	= 000001	 178-7155  #178-7155   178-7155  
$$$ELE	= 000003	 176-7109  #176-7109   176-7109   178-7178  #178-7178   178-7178   186-7429  #186-7429   186-7429  
$$$ENB	= 000001	 189-7470  #189-7470   189-7470  
$$$ERR	= 000001	 184-7387  #184-7387   184-7387  
$$$EXA	= 000001	 174-7024  #174-7024   174-7024  
$$$EXT	= 000001	 185-7410  #185-7410   185-7410  
$$$FEB	= 000001	 180-7237  #180-7237   180-7237  
$$$FER	= 000001	 178-7180  #178-7180   178-7180  
$$$FLG	= 000001	 178-7182  #178-7182   178-7182  
$$$FLT	= 000002	 190-7489  #190-7489   190-7489   193-7558  #193-7558   193-7558  
$$$FM 	= 000002	 178-7158  #178-7158   178-7158   189-7472  #189-7472   189-7472  
$$$FRD	= 000001	 174-7026  #174-7026   174-7026  
$$$FSS	= 000002	 189-7474  #189-7474   189-7474   190-7491  #190-7491   190-7491  
$$$FUL	= 000001	 185-7416  #185-7416   185-7416  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 33

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$$$FWR	= 000001	 174-7028  #174-7028   174-7028  
$$$FXC	= 000001	 174-7030  #174-7030   174-7030  
$$$GLB	= ******	 70-3087    70-3087    70-3087    70-3087    70-3092    70-3092    70-3092    70-3092    70-3092   
                         70-3092    70-3092    70-3092    71-3155    71-3155    71-3155    71-3155    71-3155    71-3155   
                         71-3155    71-3155    72-3203    72-3203    72-3203    72-3203    72-3203    72-3203    72-3203   
                         72-3203    72-3206    72-3206    72-3206    72-3206    72-3206    72-3206    72-3206    72-3206   
                         72-3209    72-3209    72-3209    72-3209    72-3209    72-3209    72-3209    72-3209    73-3253   
                         73-3253    73-3253    73-3253    73-3253    73-3253    73-3253    73-3253    74-3313    74-3313   
                         74-3313    74-3313    74-3313    74-3313    74-3313    74-3313    75-3366    75-3366    75-3366   
                         75-3366    75-3366    75-3366    75-3366    75-3366    91-3972    91-3972    91-3972    91-3972   
                         91-3972    224-8708   224-8708   224-8708   224-8708   224-8708   224-8708   224-8708   224-8708  
                         260-10102  260-10102  260-10102  260-10102  260-10102  260-10102  260-10102  260-10102  260-10111 
                         260-10111  260-10111  260-10111  260-10111  260-10111  260-10111  260-10111  260-10120  260-10120 
                         260-10120  260-10120  260-10120  260-10120  260-10120  260-10120  260-10125  260-10125  260-10125 
                         260-10125  260-10125  260-10125  260-10125  260-10125 
$$$HAR	= 000001	 193-7560  #193-7560   193-7560  
$$$HLF	= 000001	 185-7418  #185-7418   185-7418  
$$$HLT	= 000001	 174-7032  #174-7032   174-7032  
$$$INC	= 000006	 175-7094  #175-7094   175-7094   176-7115  #176-7115   176-7115   177-7130  #177-7130   177-7130  
                         178-7203  #178-7203   178-7203   190-7493  #190-7493   190-7493   193-7562  #193-7562   193-7562  
$$$INI	= 000002	 174-7038  #174-7038   174-7038   184-7389  #184-7389   184-7389  
$$$INT	= 000001	 185-7412  #185-7412   185-7412  
$$$IO 	= 000001	 184-7391  #184-7391   184-7391  
$$$JAN	= 000001	 180-7235  #180-7235   180-7235  
$$$JMP	= 000001	 174-7040  #174-7040   174-7040  
$$$JUL	= 000001	 180-7247  #180-7247   180-7247  
$$$JUN	= 000001	 180-7245  #180-7245   180-7245  
$$$KL 	= 000001	 178-7184  #178-7184   178-7184  
$$$KLI	= 000002	 190-7495  #190-7495   190-7495   193-7564  #193-7564   193-7564  
$$$LOG	= 000001	 188-7451  #188-7451   188-7451  
$$$LPT	= 000001	 188-7453  #188-7453   188-7453  
$$$M  	= 000001	 174-7042  #174-7042   174-7042  
$$$MAR	= 000001	 180-7239  #180-7239   180-7239  
$$$MAY	= 000001	 180-7243  #180-7243   180-7243  
$$$MCR	= 000001	 174-7046  #174-7046   174-7046  
$$$MEM	= 000002	 190-7497  #190-7497   190-7497   193-7566  #193-7566   193-7566  
$$$MGN	= 000001	 185-7414  #185-7414   185-7414  
$$$MNT	= 000002	 179-7216  #179-7216   179-7216   187-7438  #187-7438   187-7438  
$$$MQ 	= 000001	 178-7160  #178-7160   178-7160  
$$$MRK	= 000001	 174-7044  #174-7044   174-7044  
$$$NOT	= 000001	 190-7499  #190-7499   190-7499  
$$$NOV	= 000001	 180-7255  #180-7255   180-7255  
$$$NRM	= 000001	 185-7402  #185-7402   185-7402  
$$$NUL	= 000001	 174-7012  #174-7012   174-7012  
$$$NXT	= 000004	 175-7096  #175-7096   175-7096   176-7117  #176-7117   176-7117   177-7132  #177-7132   177-7132  
                         178-7205  #178-7205   178-7205  
$$$OCT	= 000001	 180-7253  #180-7253   180-7253  
$$$OFS	= 000002	 190-7501  #190-7501   190-7501   193-7568  #193-7568   193-7568  
$$$OPR	= 000002	 179-7218  #179-7218   179-7218   187-7440  #187-7440   187-7440  
$$$OST	= 000014	#70-3087    70-3087    70-3087   #70-3087    70-3087    70-3087   #70-3087    70-3087    70-3087   
                        #70-3087   #70-3092    70-3092    70-3092   #70-3092    70-3092    70-3092   #70-3092    70-3092   
                         70-3092   #70-3092    70-3092    70-3092   #70-3092    70-3092    70-3092   #70-3092    70-3092   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 34

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         70-3092   #70-3092    70-3092   #71-3155    71-3155    71-3155   #71-3155    71-3155    71-3155   
                        #71-3155    71-3155    71-3155   #71-3155    71-3155    71-3155   #71-3155    71-3155    71-3155   
                        #71-3155    71-3155    71-3155   #71-3155    71-3155   #72-3203    72-3203    72-3203   #72-3203   
                         72-3203    72-3203   #72-3203    72-3203    72-3203   #72-3203    72-3203    72-3203   #72-3203   
                         72-3203    72-3203   #72-3203    72-3203    72-3203   #72-3203    72-3203   #72-3206    72-3206   
                         72-3206   #72-3206    72-3206    72-3206   #72-3206    72-3206    72-3206   #72-3206    72-3206   
                         72-3206   #72-3206    72-3206    72-3206   #72-3206    72-3206    72-3206   #72-3206    72-3206   
                        #72-3209    72-3209    72-3209   #72-3209    72-3209    72-3209   #72-3209    72-3209    72-3209   
                        #72-3209    72-3209    72-3209   #72-3209    72-3209    72-3209   #72-3209    72-3209    72-3209   
                        #72-3209    72-3209   #73-3253    73-3253    73-3253   #73-3253    73-3253    73-3253   #73-3253   
                         73-3253    73-3253   #73-3253    73-3253    73-3253   #73-3253    73-3253    73-3253   #73-3253   
                         73-3253    73-3253   #73-3253    73-3253   #74-3313    74-3313    74-3313   #74-3313    74-3313   
                         74-3313   #74-3313    74-3313    74-3313   #74-3313    74-3313    74-3313   #74-3313    74-3313   
                         74-3313   #74-3313    74-3313    74-3313   #74-3313    74-3313   #75-3366    75-3366    75-3366   
                        #75-3366    75-3366    75-3366   #75-3366    75-3366    75-3366   #75-3366    75-3366    75-3366   
                        #75-3366    75-3366    75-3366   #75-3366    75-3366    75-3366   #75-3366    75-3366   #91-3972   
                         91-3972    91-3972   #91-3972    91-3972    91-3972   #91-3972    91-3972    91-3972   #91-3972   
                         91-3972    91-3972   #91-3972   #224-8708   224-8708   224-8708  #224-8708   224-8708   224-8708  
                        #224-8708   224-8708   224-8708  #224-8708   224-8708   224-8708  #224-8708   224-8708   224-8708  
                        #224-8708   224-8708   224-8708  #224-8708   224-8708  #260-10102  260-10102  260-10102 #260-10102 
                         260-10102  260-10102 #260-10102  260-10102  260-10102 #260-10102  260-10102  260-10102 #260-10102 
                         260-10102  260-10102 #260-10102  260-10102  260-10102 #260-10102  260-10102 #260-10111  260-10111 
                         260-10111 #260-10111  260-10111  260-10111 #260-10111  260-10111  260-10111 #260-10111  260-10111 
                         260-10111 #260-10111  260-10111  260-10111 #260-10111  260-10111  260-10111 #260-10111  260-10111 
                        #260-10120  260-10120  260-10120 #260-10120  260-10120  260-10120 #260-10120  260-10120  260-10120 
                        #260-10120  260-10120  260-10120 #260-10120  260-10120  260-10120 #260-10120  260-10120  260-10120 
                        #260-10120  260-10120 #260-10125  260-10125  260-10125 #260-10125  260-10125  260-10125 #260-10125 
                         260-10125  260-10125 #260-10125  260-10125  260-10125 #260-10125  260-10125  260-10125 #260-10125 
                         260-10125  260-10125 #260-10125  260-10125 
$$$OUT	= 000002	 190-7503  #190-7503   190-7503   193-7570  #193-7570   193-7570  
$$$PAG	= 000001	 184-7393  #184-7393   184-7393  
$$$PC 	= 000001	 178-7162  #178-7162   178-7162  
$$$PI 	= 000002	 178-7186  #178-7186   178-7186   184-7395  #184-7395   184-7395  
$$$PRG	= 000002	 179-7220  #179-7220   179-7220   187-7442  #187-7442   187-7442  
$$$PRV	= 000004	 175-7098  #175-7098   175-7098   176-7119  #176-7119   176-7119   177-7134  #177-7134   177-7134  
                         178-7207  #178-7207   178-7207  
$$$PST	= 000002	 190-7505  #190-7505   190-7505   193-7572  #193-7572   193-7572  
$$$QRE	= 000001	 174-7053  #174-7053   174-7053  
$$$QSA	= 000001	 174-7055  #174-7055   174-7055  
$$$QTR	= 000001	 185-7420  #185-7420   185-7420  
$$$QUT	= 000001	 174-7079  #174-7079   174-7079  
$$$R  	= 000001	 174-7048  #174-7048   174-7048  
$$$REG	= 000001	 178-7188  #178-7188   178-7188  
$$$REM	= 000001	 179-7225  #179-7225   179-7225  
$$$RES	= 000001	 174-7057  #174-7057   174-7057  
$$$RLD	= 000002	 190-7507  #190-7507   190-7507   193-7574  #193-7574   193-7574  
$$$RPT	= 000003	 174-7050  #174-7050   174-7050   190-7509  #190-7509   190-7509   193-7576  #193-7576   193-7576  
$$$RST	= 000001	 174-7059  #174-7059   174-7059  
$$$RTY	= 000002	 190-7511  #190-7511   190-7511   193-7578  #193-7578   193-7578  
$$$RUN	= 000001	 174-7061  #174-7061   174-7061  
$$$SAV	= 000001	 174-7063  #174-7063   174-7063  
$$$SBR	= 000001	 178-7197  #178-7197   178-7197  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 35

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

$$$SCR	= 000001	 178-7199  #178-7199   178-7199  
$$$SEP	= 000001	 180-7251  #180-7251   180-7251  
$$$SET	= 000001	 174-7065  #174-7065   174-7065  
$$$SHO	= 000001	 174-7067  #174-7067   174-7067  
$$$SHU	= 000001	 174-7069  #174-7069   174-7069  
$$$SLO	= 000001	 185-7422  #185-7422   185-7422  
$$$SPC	= 000001	 183-7372  #183-7372   183-7372  
$$$STR	= 000001	 174-7071  #174-7071   174-7071  
$$$SWP	= 000001	 174-7073  #174-7073   174-7073  
$$$TAK	= 000001	 174-7075  #174-7075   174-7075  
$$$TEN	= 000004	 176-7111  #176-7111   176-7111   178-7190  #178-7190   178-7190   186-7431  #186-7431   186-7431  
                         192-7541  #192-7541   192-7541  
$$$THS	= 000004	 175-7100  #175-7100   175-7100   176-7121  #176-7121   176-7121   177-7136  #177-7136   177-7136  
                         178-7209  #178-7209   178-7209  
$$$TRK	= 000002	 190-7514  #190-7514   190-7514   193-7581  #193-7581   193-7581  
$$$TTY	= 000001	 188-7455  #188-7455   188-7455  
$$$T1 	= 000006	#70-3087    70-3087    70-3087   #70-3087    70-3087    70-3087   #70-3087    70-3087    70-3087   
                        #80-3574    80-3574   #85-3783    85-3783   #160-6594   160-6594  
$$$UBR	= 000001	 178-7192  #178-7192   178-7192  
$$$UCD	= 000001	 192-7543  #192-7543   192-7543  
$$$UNM	= 000001	 174-7077  #174-7077   174-7077  
$$$USR	= 000002	 179-7227  #179-7227   179-7227   187-7444  #187-7444   187-7444  
$$$VER	= 000001	 193-7584  #193-7584   193-7584  
$$$VMA	= 000001	 178-7193  #178-7193   178-7193  
$$$VMH	= 000001	 178-7195  #178-7195   178-7195  
$$$WHA	= 000001	 174-7081  #174-7081   174-7081  
$$$XCT	= 000001	 174-7083  #174-7083   174-7083  
$$$ZER	= 000001	 174-7085  #174-7085   174-7085  
.ABRTC	= ******  GX	 174-7014  
.ACBLK	  000000 RG	#35-1480   
.APRWD	  000002 RG	#35-1482    35-1578   
.ATCID	  000460 RG	 257-9991  #260-10119 
.ATLMD	= 000033	#21-838    
.BRCLK	= 005000	#87-3838   
.BRMBC	  003334 RG	#88-3867   
.BUFSZ	= 001000  G	#69-2951    69-2970    69-3007    80-3574    85-3783    85-3790   
.BURST	  003340 RG	#88-3869    115-4877   115-4877  
.CCMDN	  000004 RG	#35-1484    61-2609   *156-6439  *158-6512  *158-6515  *163-6668   166-6780  
.CDIBC	= 000412 R	#224-8711  
.CDIBP	= 000410 R	#224-8710  
.CDINP	  000374 RG	 223-8640  #224-8707   224-8710   224-8711  
.CDOBC	= 000432 RG	*223-8636   254-9902  *255-9938   257-10000 *258-10022 #260-10105 
.CDOBP	= 000430 RG	*223-8635   257-9999  *258-10023 #260-10104 
.CDOFC	= 000434 RG	#260-10106 
.CDOUT	  000414 RG	 257-9993  #260-10101  260-10104  260-10105  260-10106 
.CECLK	= 004000	#87-3838   
.CESCK	  000000 RG	#47-2098    97-4156    97-4156    100-4288   100-4288   147-6062   147-6062   159-6547   159-6547  
.CHTAB	  001502 RG	#40-1774    48-2146    48-2153    49-2183    51-2248    52-2285    53-2314    59-2552    169-6867  
                         223-8654   238-9287  
.CIBFL	= 000214  G	#38-1694    224-8708  
.CIBFR	  000362 RG	#38-1692    38-1694    223-8617   223-8631   223-8635   223-8644   224-8708  
.CISTS	  000006 RG	#35-1486    223-8625   223-8632   223-8636   223-8642   223-8645   223-8649   224-8708  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 36

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.CKARG	  000070 RG	#48-2144    228-8853   228-8853   228-8860   228-8860   230-8958   230-8958   236-9200   236-9200  
.CKCOL	  000130 RG	#49-2181   
.CKCTC	  000166 RG	#50-2216    165-6736   165-6736  
.CKEOC	  000214 RG	#51-2246    156-6440   166-6777   166-6777   172-6944   172-6944  
.CKEOS	  000256 RG	#52-2283    229-8883   229-8883  
.CKOBJ	  000300 RG	#53-2312   
.CKRNP	  000316 RG	#54-2342   
.CKRUN	  000326 RG	#54-2347   
.CKSYM	  000374 RG	 48-2145    48-2145    51-2253    51-2253    53-2313    53-2313   #55-2391    55-2394    165-6737  
                         165-6737   228-8849   228-8849  
.CLDFB	  003370 RG	#89-3904    122-5119   122-5119   128-5318   128-5318   141-5838   141-5838  
.CLDFR	  003374 RG	#89-3906   
.CLDFW	  003404 RG	 89-3905    89-3905   #89-3911    124-5202   124-5202   126-5251   126-5251   134-5586   134-5586  
                         155-6393   155-6393  
.CLKWD	  000012 RG	#35-1488    124-5191  *129-5379   130-5392   145-5995  
.CLOSE	  002114 RG	 74-3306    74-3306   #75-3345    77-3461    77-3461    80-3588    80-3588    160-6586   160-6586  
                         160-6593   160-6593  
.CLRCM	= ******  GX	 174-7016  
.CLRFF	  003420 RG	#90-3940    114-4841   114-4841   117-4966   117-4966   152-6211   152-6211  
.CLRMR	= 006000	#87-3838   
.CLRUN	= 010000	#87-3838   
.CMDTB	  004350 RG	 158-6511  #174-7011  
.CMNDL	= 000430  G	#38-1702    224-8664  
.COBFL	= 000204  G	#38-1698    258-10024 
.COBFR	  000576 RG	 35-1612   #38-1696    258-10023  258-10025  260-10102  260-10111 
.COMEF	= ******  GX	*141-5850  
.COMMA	= 000054	#21-836    
.COMND	  001012 RG	#38-1700    38-1702    163-6694  
.CONBT	= 012000	#87-3838   
.CONTC	= ******  GX	 174-7018  
.COSTS	  000014 RG	#35-1490    257-9995   260-10102 
.CRAMA	  000020 RG	#35-1492   *135-5627  
.CRAMR	  000022 RG	#35-1494    134-5573   134-5592  
.CRAMW	  000044 RG	#35-1498   
.CSHRG	= 164000	#87-3838   
.DBGSW	  000066 RG	#35-1503    68-2881    160-6576  
.DELET	  002100 RG	#75-3341   
.DEPAR	= ******  GX	 176-7107  
.DFBLK	  000336 RG	#37-1671    106-4530   108-4627   111-4729  
.DFRB 	  000344 RG	#37-1674    89-3908    106-4493   213-8256  
.DFRED	= ******  GX	 174-7026  
.DFWB 	  000336 RG	#37-1672    89-3913    107-4567  *122-5122  *122-5130  *124-5204   126-5252   155-6378   213-8263  
.DFWRT	= ******  GX	 174-7028  
.DFXCT	= ******  GX	 174-7030  
.DIAG1	= 000000	#10-353    
.DIAG2	= 000002	#10-354     93-4017    93-4038   
.DIAG3	= 000006	#10-356     93-4025    93-4046   
.DISCC	= ******  GX	 174-7022  
.DOCMD	  007730 RG	#158-6503   163-6698   163-6698   172-6946   172-6946  
.DPBFR	  000070 RG	#35-1506    102-4345  
.DPBFX	  000076 RG	#35-1508   
.DPDPB	  000312 RG	 101-4306   101-4307  #102-4344  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 37

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.DPETB	  004674 RG	#175-7091  
.DPKLM	  003762 RG	#99-4246   
.DPOEL	= ******  GX	 176-7109  
.DPOKL	= ******  GX	 176-7111  
.DPOSC	= ******  GX	 174-7020  
.DPOSD	= ******  GX	 175-7092   176-7113  
.DPOSI	= ******  GX	 175-7094   176-7115  
.DPOSN	= ******  GX	 175-7096   176-7117  
.DPOSP	= ******  GX	 175-7098   176-7119  
.DPOSZ	= ******  GX	 175-7100   176-7121  
.DPOTB	  004734 RG	#176-7106  
.DPTRK	  012454 RG	 99-4258    99-4258   #218-8433  
.DREG 	  000352 RG	#37-1677   *94-4055    94-4062    95-4110    106-4530   108-4627   111-4729  
.DRLTC	= 015000	#87-3838   
.DSACF	= 066000	#87-3838   
.DSIOJ	= 065000	#87-3838   
.DTAB 	  004232 R	 99-4248   #101-4305  
.DTCID	  000474 RG	 257-9997  #260-10124 
.DTDI1	  000352 RG	#37-1678   
.DTDI2	  000354 RG	#37-1680   
.DTDI3	  000360 RG	#37-1684   
.DTDW1	  003530 RG	 47-2102    47-2102   #93-4033    104-4419   104-4419   104-4427   104-4427   114-4836   114-4836  
                         115-4849   115-4849   115-4878   115-4878   117-4968   117-4968   152-6218   152-6218  
.DTDW2	  003536 RG	#93-4037   
.DTDW3	  003556 RG	#93-4045   
.DTSTA	  003546 RG	 56-2421    56-2421   #93-4041   
.DTSTS	  000356 RG	#37-1682   
.DTSTW	= 000004	#10-355     93-4021    93-4042   
.DTTRK	  012332 RG	 94-4066   #216-8345  
.DWDW1	  003454 RG	#93-4012   
.DWDW2	  003462 RG	#93-4016    142-5899   142-5899  
.DWDW3	  003502 RG	#93-4024    142-5901  
.DWSTA	  003472 RG	#93-4020   
.EBCLK	  003634 RG	#97-4154    104-4418   104-4418  
.EBPCK	  000410 RG	#56-2420    159-6548  
.EDELA	  000104 RG	#35-1518    68-2877   
.EDKLA	  000106 RG	#35-1520    102-4345   102-4363  
.EDKLX	  000114 RG	#35-1522   
.EIOJA	= 067000	#87-3838   
.ELDDW	  000122 RG	#35-1524   
.ELEDW	  000124 RG	#35-1526   
.ELNCK	  013144 RG	#225-8737   226-8783   226-8783  
.ENTER	  001664 RG	#72-3184   
.ETAB 	  004222 R	 99-4232   #101-4299  
.EXAD 	= ******  GX	 178-7143  
.EXADX	= ******  GX	 178-7145  
.EXAMC	= ******  GX	 174-7024  
.EXAMD	= ******  GX	 177-7128   178-7201  
.EXAMF	= ******  GX	 178-7182  
.EXAMI	= ******  GX	 177-7130   178-7203  
.EXAMK	= ******  GX	 178-7184  
.EXAMN	= ******  GX	 177-7132   178-7205  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 38

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.EXAMP	= ******  GX	 177-7134   178-7207  
.EXAMZ	= ******  GX	 177-7136   178-7209  
.EXARR	= ******  GX	 178-7147  
.EXARX	= ******  GX	 178-7149  
.EXBFR	  000156 RG	#35-1532    102-4363  
.EXBRR	= ******  GX	 178-7151  
.EXBRX	= ******  GX	 178-7153  
.EXCRA	= ******  GX	 178-7168  
.EXCRL	= ******  GX	 178-7170  
.EXCTC	= ******  GX	 174-7083  
.EXCTF	  004150 RG	#103-4390   117-4990   117-4990  
.EXDPB	  000324 RG	 101-4300   101-4301  #102-4362  
.EXDPM	  004020 RG	 99-4233    99-4233    99-4249    99-4249   #100-4268  
.EXDRA	= ******  GX	 178-7172  
.EXDTE	= ******  GX	 178-7174  
.EXEBR	= ******  GX	 178-7176  
.EXEBS	= ******  GX	 178-7155  
.EXECT	  004226 RG	#104-4413  
.EXETB	  005016 RG	#177-7127  
.EXFER	= ******  GX	 178-7180  
.EXFMR	= ******  GX	 178-7158  
.EXITP	  010110 RG	#160-6574   224-8695   258-10028 
.EXKLM	  003730 RG	#99-4230   
.EXMEL	= ******  GX	 178-7178  
.EXMKL	= ******  GX	 178-7190  
.EXMPI	= ******  GX	 178-7186  
.EXMQR	= ******  GX	 178-7160  
.EXMTB	  005056 RG	#178-7142   178-7165  
.EXREG	= ******  GX	 178-7188  
.EXSBR	= ******  GX	 178-7197  
.EXSCR	= ******  GX	 178-7199  
.EXTND	  002004 RG	#74-3289    85-3794    85-3794   
.EXTRK	  012442 RG	 99-4242    99-4242   #218-8428  
.EXUBR	= ******  GX	 178-7192  
.EXVAB	= ******  GX	 178-7166  
.EXVMA	= ******  GX	 178-7193  
.EXVMH	= ******  GX	 178-7195  
.EXVPC	= ******  GX	 178-7162  
.FEMOD	= ******  GX	 54-2356    165-6767   166-6787  
.FISTS	  001662 RG	#69-2948    70-3071    70-3092    71-3138    71-3141    71-3155    72-3187    72-3191    72-3203   
                         72-3206    73-3253    74-3292    74-3313    75-3352    75-3366    80-3574    80-3576    80-3579   
                         85-3783    85-3785    85-3792   
.FNDIR	  001452 RG	#70-3061    71-3132    71-3132   
.FREAD	  004362 RG	 97-4163    97-4163   #106-4485   128-5325   128-5325   129-5376   129-5376   132-5498   132-5498  
                         134-5579   134-5579   136-5665   136-5665   137-5709   137-5709   138-5738   138-5738   139-5782  
                         139-5782  
.FRTRK	  012172 RG	 106-4505   106-4505  #213-8253  
.FWRIT	  004444 RG	#107-4565   116-4929   116-4929   120-5086   120-5086   122-5125   122-5125   122-5133   122-5133  
                         124-5206   124-5206   124-5211   124-5211   126-5260   126-5260   126-5267   126-5267   128-5320  
                         128-5320   134-5589   134-5589   134-5591   134-5591   141-5842   141-5842   141-5847   141-5847  
                         154-6307   154-6307   155-6384   155-6384   155-6392   155-6392   155-6395   155-6395   155-6397  
                         155-6397  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 39

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.FWTRK	  012212 RG	 108-4600   108-4600  #213-8260  
.FXCT 	  004566 RG	 88-3874    90-3948    90-3948    97-4161    97-4161   #110-4657   113-4784   113-4784   119-5028  
                         119-5028   120-5088   127-5306   127-5306   128-5332   128-5332   128-5337   128-5337   134-5571  
                         134-5571   147-6066   147-6066   150-6160   150-6160   153-6264   153-6264  
.FXTRK	  012232 RG	 111-4702   111-4702  #213-8267  
.GFNR 	= 102000	#87-3838   
.GTCMD	  012610 RG	 163-6695   163-6695  #222-8569  
.GTELN	  013220 RG	#226-8777   230-8960   230-8960  
.GTEXP	  013706 RG	 228-8857   228-8857   229-8882   229-8882  #231-9033   237-9250   237-9250  
.GTFCT	  014114 RG	 233-9094   233-9094   234-9129   234-9129  #235-9163   237-9231   237-9231   237-9236   237-9236  
                         237-9242   237-9242  
.GTKLA	  013250 RG	#227-8810  
.GTKLN	  013302 RG	 172-6940   172-6940  #228-8847  
.GTLIN	  012644 RG	 222-8573   222-8573  #223-8615  
.GTNBR	  014410 RG	 235-9172   235-9172  #238-9278  
.GTNUM	  013302 RG	 226-8782   226-8782   227-8811   227-8811  #228-8846  
.GTOPC	  013514 RG	 228-8855   228-8855  #230-8936  
.GTTRM	  014002 RG	 231-9034   231-9034   232-9061   232-9061  #233-9093  
.HALTC	= ******  GX	 174-7032  
.INATT	  002750 RG	#69-2982    80-3572    80-3585    160-6583  
.INBBC	  001712 RG	#69-2965   *78-3503    78-3504   *78-3510    79-3537   *79-3543   *80-3579   
.INBUF	  001716 RG	#69-2969    80-3574    80-3578   
.INCHC	  000164 RG	#35-1534   *223-8618  *224-8663   224-8664   224-8670  *238-9279  *238-9289   239-9311  
.INDFG	  001660 RG	#69-2944   *77-3458   *80-3587    160-6581  *160-6585   223-8619  
.INFN 	  001666 RG	#69-2955   
.INFNB	  002716 RG	#69-2972    77-3459   
.INICL	= 070000	#87-3838   
.INICP	= ******  GX	 35-1616   
.INITC	= ******  GX	 174-7038  
.INPOS	  001714 RG	#69-2967    78-3500   *78-3502    78-3508   *78-3509    79-3541   *79-3542   *80-3578   
.INVBN	  001706 RG	#69-2963   *80-3570   *80-3571    80-3572    80-3574    80-3574   
.IRADX	  000166 RG	#35-1536   *66-2793    172-6934  *172-6935  *172-6941   236-9205  *237-9221  *237-9225  *237-9229  
                        *237-9232   238-9283  
.IRLTC	= 014000	#87-3838   
.JUMPC	= ******  GX	 174-7040  
.KLCON	  004736 RG	 104-4440   104-4440  #113-4773  
.KLDFR	  000336 RG	 60-2575   *106-4486   106-4490  #106-4529   213-8255  
.KLDFW	  000350 RG	 60-2579   *107-4566   108-4586   108-4590  #108-4626   213-8262  
.KLDFX	  000362 RG	 60-2583   *110-4658   110-4662   110-4665  #111-4728   213-8269  
.KLE  	= ******  GX	 223-8624   223-8624  
.KLEDF	  000176 RG	#35-1540   *163-6675   223-8622  
.KLEPT	  000200 RG	#35-1542   
.KLERQ	= ******  GX	 159-6543  *160-6595   163-6673  
.KLEVL	  000202 RG	#35-1544   
.KLFLG	= ******  GX	*47-2111   *47-2113    54-2352   *101-4314  *101-4318   103-4391   104-4415  *108-4595   110-4671  
                        *110-4673   110-4677  *110-4679  *110-4686  *110-4692   113-4775   116-4930   117-4959   119-5041  
                        *127-5307  *128-5338   148-6093   148-6095   163-6670  
.KLGO 	  004744 RG	#113-4776   116-4931  
.KLHLT	  005034 RG	#114-4834   116-4926   116-4926   117-4961   120-5084   120-5084  
.KLINC	  000170 RG	#35-1538   
.KLMTB	  005366 RG	#179-7215  
.KLMT1	  005412 RG	#179-7224  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 40

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.KLRST	  005310 RG	#119-5018   146-6033   146-6033  
.KLSNP	  000203 RG	#35-1546   
.KLST 	  005164 RG	#116-4924  
.KLSTP	  005212 RG	#117-4958   148-6096   148-6096  
.KLXCT	  005442 RG	 103-4399   103-4399   104-4416   104-4416  #120-5083  
.LCRDL	= 052000	#87-3838   
.LCRDR	= 051000	#87-3838   
.LCRM1	= 057000	#87-3838   
.LCRM2	= 056000	#87-3838   
.LCRM3	= 055000	#87-3838   
.LCRM4	= 054000	#87-3838   
.LCRM5	= 053000	#87-3838   
.LDAR 	= 077000	#87-3838   
.LDBRC	  005466 RG	#122-5115  
.LDBRG	  005472 RG	 88-3872    88-3872   #122-5117  
.LDBRL	= 043000	#87-3838   
.LDBRR	= 042000	#87-3838   
.LDCK1	= 046000	#87-3838   
.LDCK2	= 047000	#87-3838   
.LDCLK	  005570 RG	#124-5189   141-5835   141-5835   143-5954   143-5954   145-5998   145-5998  
.LDCRA	  005666 RG	#126-5246   134-5569   134-5569   152-6214   152-6214   155-6376   155-6376  
.LDDIS	= 045000	#87-3838   
.LDOBC	= 000454 RG	*223-8645  *257-10000  257-10012 #260-10114 
.LDOBP	= 000452 RG	*223-8644  *257-9999   257-10011 #260-10113 
.LDOFC	= 000456 R	#260-10115 
.LDOUT	  000436 RG	 257-10004 #260-10110  260-10113  260-10114  260-10115 
.LDPAR	  005606 RG	#124-5195   141-5836   141-5836   145-6002   145-6002  
.LDRJD	= 064000	#87-3838   
.LDRJV	= 063000	#87-3838   
.LDRM1	= 060000	#87-3838   
.LDRM2	= 061000	#87-3838   
.LDRM3	= 062000	#87-3838   
.LDSEL	= 044000	#87-3838   
.LDSTS	  000212 RG	#35-1557    257-10006  260-10111 
.LDZFL	  000220 RG	#35-1561   *214-8280  *216-8346  *245-9528  *247-9617   249-9706  *249-9711   252-9819  *252-9823  
.LGLWD	  000216 RG	#35-1559   *158-6514   159-6526  *159-6537  *163-6696  
.LOKUP	  001574 RG	#71-3130   
.MARKC	= ******  GX	 174-7044  
.MEMFL	  000222 RG	#35-1563   
.MEMRS	= 076000	#87-3838   
.MISC 	= ******  GX	*160-6596  
.MONTB	  005430 RG	#180-7234  
.MRCLR	  006002 RG	#127-5303   141-5837   141-5837  
.MTDPB	  000266 RG	 90-3943   #91-3971   
.NOERR	= ******  GX	*47-2109   *149-6128  
.NOHLT	= ******  GX	*90-3946   *113-4794  *119-5046  *146-6034  
.NOTSW	  000224 RG	#35-1565   
.NSETB	  005542 RG	 58-2527   #181-7264  
.NULLC	  007716 RG	#156-6438   174-7012  
.OPEN 	  001736 RG	#73-3236   
.ORADX	  000226 RG	#35-1567   *66-2794    245-9532   245-9536   246-9571   246-9575   247-9620   247-9624   248-9659  
                         248-9663   252-9812  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 41

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.OTATT	  004050 RG	#69-3019   *74-3294   *74-3295   *74-3299   *74-3300    74-3301    81-3632   *81-3634   *84-3740   
                        *84-3741   *85-3787   *85-3788    160-6591  
.OTBBC	  003012 RG	#69-3002   *82-3677    82-3678   *82-3683    83-3709   *83-3714    84-3742    84-3744    84-3750   
                        *85-3790   
.OTBUF	  003016 RG	#69-3006    74-3300    84-3741    85-3783    85-3789   
.OTFN 	  002766 RG	#69-2992   
.OTFNB	  004016 RG	#69-3009    72-3203    72-3206   
.OTPOS	  003014 RG	#69-3004    74-3299    82-3674   *82-3676    82-3681   *82-3682    83-3712   *83-3713    84-3740   
                         84-3745   *85-3789   
.OTVBN	  003006 RG	#69-3000   *85-3781   *85-3782    85-3783    85-3783    85-3787    85-3788   
.OUTLG	  000206 RG	#35-1550   *74-3304    160-6587  *160-6589   257-10008 
.OUTLP	  000207 RG	#35-1552    257-10002 
.OUTTY	  000210 RG	#35-1554    257-9989  
.PARER	  000432 RG	#58-2512    66-2807    66-2807   
.PASS 	  000204 RG	#35-1548    244-9459  
.PCAB1	= 150000	#87-3838   
.PCAB2	= 151000	#87-3838   
.PCAB3	= 152000	#87-3838   
.PCAB4	= 153000	#87-3838   
.PEWRD	  000230 RG	#35-1569    139-5776  
.PITAB	  000232 RG	#35-1571   
.PSCWD	  000236 RG	#35-1573    124-5197  *129-5380   130-5398   145-5994  
.PTDIE	  001046 RG	#64-2705    68-2873   
.PTOAT	  001352 RG	 35-1596   #68-2868   
.PTTRP	  001124 RG	 36-1664   #66-2777   
.QUITC	= ******  GX	 174-7079  
.RCRM1	= 147000	#87-3838   
.RCRM2	= 146000	#87-3838   
.RCRM3	= 145000	#87-3838   
.RCRM4	= 144000	#87-3838   
.RCSPF	= 141000	#87-3838   
.RDCPP	  006150 RG	#129-5367   145-5993   145-5993  
.RDCRA	= ******  GX	 135-5626   135-5626  
.RDCRD	  006304 RG	#132-5494   134-5584   134-5584  
.RDCRM	  006342 RG	#134-5565  
.RDCRO	  006512 R	#135-5625  
.RDCRR	  006374 RG	#134-5572   135-5628   135-5628  
.RDFMA	  006532 RG	#136-5661   137-5705   137-5705  
.RDFMO	  006614 RG	#137-5702  
.RDFMP	  006650 RG	#138-5735  
.RDIPE	  006704 RG	 62-2642    62-2642   #139-5772  
.RDJ14	= 134000	#87-3838   
.RDJ71	= 135000	#87-3838   
.RDMAB	= 133000	#87-3838   
.RDXSV	  000240 RG	#35-1575    66-2793    66-2794   *172-6934   172-6941  
.READ 	  002440 RG	 78-3506    78-3506    79-3539    79-3539   #80-3569   
.READB	  002406 RG	 77-3452    77-3452   #79-3536   
.READR	  002224 RG	#77-3444    223-8633   223-8633  
.READW	  002330 RG	 77-3446    77-3446   #78-3499   
.RECNT	  004066 RG	#69-3027   *81-3625    81-3631   *81-3644   
.RECPT	  004070 RG	#69-3029    81-3623   *81-3624   *81-3643   
.RECRD	  004072 RG	 69-3030   #69-3031    81-3630    81-3643   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 42

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.REGRW	  000300 RG	*93-4013   *93-4017   *93-4021   *93-4025   *93-4027    93-4028    93-4029   *93-4034   *93-4038   
                        *93-4042   *93-4046   *94-4053    94-4059   #95-4106    216-8350   216-8354   216-8360   216-8364  
.REGSV	  010316 RG	 66-2785    68-2871    124-5190   124-5196   129-5368   139-5773  #162-6653   218-8429   218-8434  
.RELWD	  000242 RG	#35-1577    236-9187  
.REMOV	  001564 RG	#71-3127   
.REPTC	  011036 RG	#172-6933   174-7050  
.RESET	  006766 RG	#141-5828   143-5949   143-5949   145-5996   145-5996  
.RESQ 	= ******  GX	 174-7053  
.RESTB	  006232 RG	#184-7380  
.RESTC	= ******  GX	 174-7057  
.RESTD	  007102 RG	 100-4291   100-4291   141-5830   141-5830  #142-5897  
.RESTI	  007122 RG	#143-5946  
.RESTP	  007146 RG	 126-5249   126-5249  #145-5990  
.RPTCT	  000244 RG	#35-1579    163-6697  
.RPTPT	  000252 RG	#35-1581   *158-6509  
.RSACB	= ******  GX	 182-7365  
.RSALL	= ******  GX	 184-7381  
.RSAPR	= ******  GX	 184-7383  
.RSDTE	= ******  GX	 184-7385  
.RSERR	= ******  GX	 184-7387  
.RSPAG	= ******  GX	 184-7393  
.RSTIN	= ******  GX	 184-7389  
.RSTIO	= ******  GX	 184-7391  
.RSTKL	  007220 RG	 66-2791    66-2791    103-4401  #146-6030  
.RSTPI	= ******  GX	 184-7395  
.RSTRC	= ******  GX	 174-7059  
.RSTTB	  006204 RG	#182-7364  
.RUNCM	= ******  GX	 174-7042   174-7046   174-7048   174-7061  
.R50TB	  001442 RG	#39-1706    259-10061 
.SAVEC	= ******  GX	 174-7063  
.SAVQ 	= ******  GX	 174-7055  
.SAVTB	  006214 RG	#183-7371  
.SCACB	= ******  GX	 190-7481  
.SCCEC	= ******  GX	 185-7404  
.SCCED	= ******  GX	 185-7406  
.SCCEE	= ******  GX	 185-7408  
.SCCLK	= ******  GX	 190-7483  
.SCCLN	= ******  GX	 185-7402  
.SCCOM	= ******  GX	 187-7438  
.SCCON	= ******  GX	 190-7485  
.SCCOO	= ******  GX	 187-7440  
.SCCOP	= ******  GX	 187-7442  
.SCCOT	  006436 RG	#187-7437  
.SCCOU	= ******  GX	 187-7444  
.SCCRF	= ******  GX	 185-7416  
.SCCRH	= ******  GX	 185-7418  
.SCCRQ	= ******  GX	 185-7420  
.SCCRS	= ******  GX	 185-7422  
.SCCSE	= ******  GX	 185-7410  
.SCCSI	= ******  GX	 185-7412  
.SCCSM	= ******  GX	 185-7414  
.SCCTB	  006314 RG	#185-7401  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 43

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.SCDAT	= ******  GX	 190-7487  
.SCFSS	= ******  GX	 190-7491  
.SCINC	= ******  GX	 190-7493  
.SCKLN	= ******  GX	 190-7495  
.SCMEL	= ******  GX	 186-7429  
.SCMEM	= ******  GX	 190-7497  
.SCMKL	= ******  GX	 186-7431  
.SCMTB	  006420 RG	#186-7428  
.SCNOT	= ******  GX	 190-7499  
.SCOFS	= ******  GX	 190-7501  
.SCOTL	= ******  GX	 188-7451  
.SCOTP	= ******  GX	 188-7453  
.SCOTT	  006470 RG	#188-7450  
.SCOTY	= ******  GX	 188-7455  
.SCOUT	= ******  GX	 190-7503  
.SCPAL	= ******  GX	 189-7462  
.SCPAR	= ******  GX	 189-7464  
.SCPCR	= ******  GX	 189-7466  
.SCPDR	= ******  GX	 189-7468  
.SCPEN	= ******  GX	 189-7470  
.SCPFM	= ******  GX	 189-7472  
.SCPFS	= ******  GX	 189-7474  
.SCPST	= ******  GX	 190-7505  
.SCPTB	  006514 RG	#189-7461  
.SCRLD	= ******  GX	 190-7507  
.SCRPT	= ******  GX	 190-7509  
.SCRTY	= ******  GX	 190-7511  
.SCTRK	= ******  GX	 190-7514  
.SEAMB	  000520 RG	#59-2547    191-7522  
.SECES	  000756 RG	#62-2640    191-7524  
.SECLK	= 003000	#87-3838   
.SEFRF	  000606 RG	#60-2574    191-7526  
.SEFWF	  000614 RG	#60-2578    191-7527  
.SEFXF	  000622 RG	#60-2582    191-7528  
.SEILC	  000544 RG	#59-2557    191-7530  
.SEILS	  000544 RG	#59-2558    191-7531  
.SEIPC	  000544 RG	#59-2559    191-7532  
.SENSK	  000520 RG	#59-2548    191-7534  
.SETCM	= ******  GX	 174-7065  
.SETFN	  002166 RG	 71-3133    71-3133   #76-3403   
.SETMR	= 007000	#87-3838   
.SETRN	= 011000	#87-3838   
.SETTB	  006570 RG	#190-7480  
.SFREC	= ******  GX	 190-7489  
.SHIFT	  011130 RG	 122-5128   122-5128  #196-7649  
.SHUTC	= ******  GX	 174-7069  
.SPACE	= 000040	#21-837     39-1718    52-2287    55-2393    59-2562    224-8681   228-8858   243-9412   250-9723  
                         250-9724   250-9725   250-9726   250-9728   250-9729   250-9731   250-9732   250-9733   250-9735  
                         250-9736   250-9741   250-9745  
.SPETB	  006740 RG	 58-2514   #191-7521  
.SSCAN	  010774 RG	 165-6747   165-6747  #169-6853   169-6859   230-8945   230-8945  
.SSCLK	= 002000	#87-3838   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 44

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.SSTTB	  000316 RG	#36-1657    36-1666    64-2709   *68-2873   *68-2888   
.START	  010354 RG	 35-1584   #163-6664  
.STCLF	  007254 RG	 127-5308   127-5308  #147-6063  
.STCLK	  007246 RG	 104-4424   104-4424   113-4787   113-4787   119-5043   119-5043  #147-6060   152-6215   152-6215  
.STPCL	= 000000	#87-3838   
.STPKL	  007272 RG	 103-4397   103-4397  #148-6092  
.STPXC	  007316 RG	 88-3868    88-3868    104-4446   104-4446   115-4860   115-4860   115-4873   115-4873   122-5116  
                         122-5116   128-5317   128-5317   141-5832   141-5832   145-5992   145-5992  #149-6122   152-6212  
                         152-6212   154-6302   154-6302  
.STRCL	= 001000	#87-3838   
.STRTB	  007030 RG	#192-7540  
.STRTC	= ******  GX	 174-7071  
.STRTT	= ******  GX	 192-7541  
.STRTU	= ******  GX	 192-7543  
.STRTV	  000254 RG	#35-1583    66-2814    68-2889    166-6799  
.STRUN	  007346 RG	 104-4450   104-4450   113-4781   113-4781   119-5026   119-5026   119-5037   119-5037  #150-6155  
.STUCD	  007366 RG	#152-6207  
.SVACB	= ******  GX	 183-7374  
.SVESP	  000256 RG	#35-1585    163-6665   166-6798  
.SVKLF	  000260 RG	#35-1587   *47-2110    66-2789   *103-4400   119-5020   119-5029  *119-5049   146-6031  *146-6036  
                        *148-6095  *163-6667  
.SVPC 	= ******  GX	 183-7372  
.SWPC 	= ******  GX	 174-7073  
.SWPIP	  000262 RG	#35-1589    47-2114   *66-2778   
.SYNXC	  007470 RG	 97-4174    115-4863   128-5335   128-5335  #153-6260   154-6304   154-6304  
.TAKEC	= ******  GX	 174-7075  
.TCRLF	  015552 RG	 58-2540    64-2714    64-2714    64-2719    64-2719    66-2805    66-2805    67-2824    67-2824   
                         68-2874    68-2874    68-2879    68-2879    166-6779   166-6779   214-8293   214-8293   223-8648  
                         223-8648   244-9482   244-9482   253-9859   255-9940  #256-9950  
.TFCHR	  015504 RG	 163-6693   163-6693   222-8579   222-8579  #254-9899  
.TPADD	  011516 RG	#203-7915   207-8053   207-8053   232-9047   238-9296   238-9296  
.TPCLR	  011372 RG	 89-3915    89-3915   #200-7789   207-8035   207-8035   228-8852   228-8852   252-9810   252-9810  
.TPCMP	  011440 RG	 199-7739   199-7739  #201-7841  
.TPCOM	  011402 RG	#200-7796   200-7804   200-7804   237-9237   237-9237  
.TPDEC	  011550 RG	 159-6532   159-6532  #204-7955   211-8176   211-8176  
.TPDIV	  011160 RG	#198-7705   234-9115   252-9813   252-9813  
.TPINC	  011536 RG	 199-7744   199-7744   200-7805  #204-7948   211-8187   211-8187  
.TPMUL	  011606 RG	#207-8027   234-9119   238-9293   238-9293  
.TPNEG	  011412 RG	#200-7803   237-9245   237-9245  
.TPSHI	  011772 RG	 126-5257   126-5257   126-5264   126-5264   132-5500   132-5500   136-5667   136-5667   136-5672  
                         136-5672   138-5741   138-5741   155-6389   155-6389  #209-8105   211-8174   211-8174   211-8185  
                         211-8185   229-8875   229-8875  
.TPSHL	  012036 RG	#210-8156   234-9111  
.TPSUB	  011562 RG	 199-7741   199-7741  #205-7986   232-9051  
.TPTST	  011474 RG	 159-6524   159-6524   159-6533   159-6533   172-6942   172-6942   198-7710   198-7710  #202-7880  
                         207-8029   207-8029   207-8032   207-8032   207-8060   207-8060   210-8162   210-8162   211-8177  
                         211-8177   211-8188   211-8188   228-8862   228-8862   229-8884   229-8884   249-9708   249-9708  
                         251-9788   251-9788  
.TPXTN	  011420 RG	 198-7707   198-7707   198-7709   198-7709  #200-7808   210-8161   210-8161  
.TRKWD	  000264 RG	#35-1592    94-4064    99-4240    99-4256    106-4503   108-4598   111-4700  
.TRPEC	  000270 RG	#35-1597   *66-2784    66-2806   
.TRPIP	  000272 RG	#35-1599   *64-2706   *66-2779   *66-2800    66-2808   *66-2813   *67-2828   
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 45

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.TRPPC	  000274 RG	#35-1601   *66-2782   *68-2869   
.TRPPS	  000276 RG	#35-1603   *66-2783   *68-2870   
.TRPSB	  000300 RG	#35-1605   *66-2781    66-2787    66-2795    66-2810   
.TRPTV	  000302 RG	#35-1607    66-2797   *66-2801   
.TRP4V	  000266 RG	#35-1595   
.TSCAN	  010524 RG	 158-6513   158-6513  #165-6735  
.TYACE	  014630 RG	#244-9457  
.TYAC1	  014662 RG	#244-9466  
.TYCHR	  015520 RG	 59-2554    59-2554    59-2567    59-2567    59-2570    59-2570    61-2608    61-2608    61-2612   
                         61-2612    243-9419   243-9419   244-9472   244-9472   252-9826   253-9871   253-9871   254-9900  
                         254-9900  #255-9935   256-9953   256-9953   256-9955   256-9955   259-10066  259-10066 
.TYCOL	  014542 RG	#243-9390   244-9473   244-9473  
.TYCOM	  014552 RG	 62-2651    62-2651   #243-9395  
.TYELA	  014762 RG	#245-9527  
.TYELN	  014766 RG	 64-2718    64-2718    68-2878    68-2878    216-8362   216-8362  #245-9529  
.TYINI	  015736 RG	 163-6669   163-6669  #258-10021 
.TYKLA	  015106 RG	 219-8457   219-8457   244-9477   244-9477  #247-9616  
.TYKLN	  015156 RG	 214-8291   214-8291   219-8461   219-8461   244-9481   244-9481  #248-9656  
.TYLIN	  015446 RG	 64-2716    64-2716    67-2823    67-2823    166-6783   166-6783   166-6792   166-6792   216-8368  
                         216-8368   219-8469   219-8469  #253-9857  
.TYMIN	  014562 RG	#243-9400  
.TYMSF	  015454 RG	 163-6677   163-6677  #253-9861  
.TYMSG	  015462 RG	 60-2592    60-2592    61-2606    61-2606    61-2610    61-2610    61-2615    62-2650    62-2650   
                         62-2661    62-2661    68-2876    68-2876    77-3463    77-3463    163-6681   163-6681   166-6781  
                         166-6781   214-8281   214-8281   216-8349   216-8349   216-8352   216-8352   219-8455   219-8455  
                         244-9464   244-9464   253-9858   253-9858   253-9862   253-9862  #253-9865  
.TYNCM	  015240 RG	 246-9583  #249-9700  
.TYNUM	  015316 RG	 249-9713   249-9713  #251-9777   252-9805  
.TYOBC	  000304 RG	#35-1609   *255-9939  *258-10024 
.TYOBP	  000306 RG	#35-1611    255-9936  *255-9937  *258-10025 
.TYOUT	  015600 RG	 223-8638   223-8638   254-9904   255-9943  #257-9988  
.TYOU1	  015660 RG	 223-8647   223-8647  #257-10001 
.TYP3D	  015032 RG	 60-2590    60-2590    214-8286   214-8286  #246-9568  
.TYR50	  015772 RG	 61-2622    61-2622   #259-10053 
.TYSLS	  014572 RG	 214-8289   214-8289   219-8458   219-8458  #243-9405   244-9478   244-9478  
.TYSPC	  014602 RG	 61-2613    61-2613    62-2652    62-2652    166-6791   166-6791   214-8290   214-8290   216-8353  
                         216-8353   219-8459   219-8459   219-8462   219-8462  #243-9410   244-9479   244-9479  
.TYUPA	  014612 RG	 59-2564    59-2564   #243-9415  
.T50TB	  001472 RG	#39-1720    259-10055 
.UMRKC	= ******  GX	 174-7077  
.VFYFL	  000310 RG	#35-1613   
.WHACB	= ******  GX	 193-7550  
.WHATB	  007046 RG	#193-7549  
.WHATC	= ******  GX	 174-7067   174-7081  
.WHATV	= ******  GX	 193-7584  
.WHCON	= ******  GX	 193-7554  
.WHDAT	= ******  GX	 193-7556  
.WHINC	= ******  GX	 193-7562  
.WHKLN	= ******  GX	 193-7564  
.WHMEM	= ******  GX	 193-7566  
.WHOFS	= ******  GX	 193-7568  
.WHOUT	= ******  GX	 193-7570  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 46

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.WHRDW	= ******  GX	 193-7560  
.WHREC	= ******  GX	 193-7558  
.WHRLD	= ******  GX	 193-7574  
.WHRPT	= ******  GX	 193-7576  
.WHRTY	= ******  GX	 193-7578  
.WHTCL	= ******  GX	 193-7552  
.WHTPS	= ******  GX	 193-7572  
.WHTRK	= ******  GX	 193-7581  
.WRAR1	  007512 RG	#154-6303  
.WRCRM	  007534 RG	#155-6369  
.WRITB	  003030 RG	 81-3640    81-3640   #83-3708    84-3753    84-3753   
.WRITE	  003160 RG	 82-3680    82-3680    83-3711    83-3711    84-3755    84-3755   #85-3780   
.WRITR	  002616 RG	#81-3617    257-10013  257-10013 
.WRITW	  002754 RG	 81-3636    81-3636   #82-3673    84-3749    84-3749   
.WRITZ	  003060 RG	#84-3739    160-6590   160-6590  
.WRMBX	= 071000	#87-3838   
.WRTAR	  007506 RG	#154-6301  
.ZEROC	= ******  GX	 174-7085  
..DTSP	= ******  GX	 47-2108    47-2108   
..SACK	= ******  GX	 160-6601   160-6601  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 47

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ALUN$ 		#68-2936   #70-3087   
CALL  		#4-118     #47-2102   #47-2108   #48-2145   #51-2253   #53-2313   #56-2421   #58-2537   #59-2549   #59-2554   
                #59-2560   #59-2564   #59-2567   #59-2570   #60-2585   #60-2590   #60-2592   #61-2606   #61-2608   #61-2610   
                #61-2612   #61-2613   #61-2620   #61-2622   #62-2641   #62-2642   #62-2650   #62-2651   #62-2652   #62-2661   
                #64-2714   #64-2716   #64-2718   #64-2719   #66-2785   #66-2791   #66-2805   #66-2807   #67-2823   #67-2824   
                #67-2830   #68-2871   #68-2874   #68-2876   #68-2878   #68-2879   #68-2884   #71-3132   #71-3133   #74-3306   
                #77-3446   #77-3452   #77-3461   #77-3463   #78-3506   #79-3539   #80-3588   #81-3636   #81-3640   #82-3680   
                #83-3711   #84-3749   #84-3753   #84-3755   #85-3794   #88-3868   #88-3872   #89-3905   #89-3915   #90-3948   
                #97-4156   #97-4161   #97-4163   #99-4233   #99-4242   #99-4249   #99-4258   #100-4288  #100-4291  #103-4397  
                #103-4399  #104-4416  #104-4418  #104-4419  #104-4424  #104-4427  #104-4440  #104-4446  #104-4450  #106-4505  
                #108-4600  #111-4702  #113-4781  #113-4784  #113-4787  #114-4836  #114-4841  #115-4849  #115-4860  #115-4873  
                #115-4877  #115-4878  #116-4926  #116-4929  #117-4966  #117-4968  #117-4990  #119-5026  #119-5028  #119-5037  
                #119-5043  #120-5084  #120-5086  #122-5116  #122-5119  #122-5125  #122-5128  #122-5133  #124-5190  #124-5196  
                #124-5202  #124-5206  #124-5211  #126-5249  #126-5251  #126-5257  #126-5260  #126-5264  #126-5267  #127-5306  
                #127-5308  #128-5317  #128-5318  #128-5320  #128-5325  #128-5332  #128-5335  #128-5337  #129-5368  #129-5376  
                #132-5498  #132-5500  #134-5569  #134-5571  #134-5579  #134-5584  #134-5586  #134-5589  #134-5591  #135-5626  
                #135-5628  #136-5665  #136-5667  #136-5672  #137-5705  #137-5709  #138-5738  #138-5741  #139-5773  #139-5782  
                #141-5830  #141-5832  #141-5835  #141-5836  #141-5837  #141-5838  #141-5842  #141-5847  #142-5899  #143-5949  
                #143-5954  #145-5992  #145-5993  #145-5996  #145-5998  #145-6002  #146-6033  #147-6062  #147-6066  #148-6096  
                #150-6160  #152-6211  #152-6212  #152-6214  #152-6215  #152-6218  #153-6264  #154-6302  #154-6304  #154-6307  
                #155-6376  #155-6384  #155-6389  #155-6392  #155-6393  #155-6395  #155-6397  #158-6513  #159-6522  #159-6524  
                #159-6532  #159-6533  #159-6547  #160-6586  #160-6590  #160-6593  #160-6601  #162-6657  #163-6669  #163-6677  
                #163-6681  #163-6693  #163-6695  #163-6698  #165-6736  #165-6737  #165-6747  #166-6777  #166-6779  #166-6781  
                #166-6783  #166-6791  #166-6792  #172-6940  #172-6942  #172-6944  #172-6946  #198-7707  #198-7709  #198-7710  
                #199-7739  #199-7741  #199-7744  #200-7804  #207-8029  #207-8032  #207-8035  #207-8053  #207-8060  #210-8161  
                #210-8162  #211-8174  #211-8176  #211-8177  #211-8185  #211-8187  #211-8188  #214-8281  #214-8286  #214-8289  
                #214-8290  #214-8291  #214-8293  #216-8349  #216-8352  #216-8353  #216-8362  #216-8368  #218-8429  #218-8434  
                #219-8455  #219-8457  #219-8458  #219-8459  #219-8461  #219-8462  #219-8469  #222-8573  #222-8579  #223-8624  
                #223-8633  #223-8638  #223-8647  #223-8648  #226-8782  #226-8783  #227-8811  #228-8849  #228-8852  #228-8853  
                #228-8855  #228-8857  #228-8860  #228-8862  #229-8875  #229-8882  #229-8883  #229-8884  #230-8945  #230-8958  
                #230-8960  #231-9034  #232-9061  #232-9064  #233-9094  #234-9129  #234-9132  #235-9172  #236-9200  #237-9231  
                #237-9236  #237-9237  #237-9242  #237-9245  #237-9250  #238-9293  #238-9296  #243-9419  #244-9464  #244-9472  
                #244-9473  #244-9477  #244-9478  #244-9479  #244-9481  #244-9482  #249-9708  #249-9713  #251-9788  #252-9810  
                #252-9813  #252-9815  #253-9858  #253-9862  #253-9871  #254-9900  #256-9953  #256-9955  #257-10013 #259-10059 
                #259-10066 
CALLR 		#4-127     #58-2540   #61-2615   #66-2802   #88-3874   #94-4066   #97-4174   #103-4401  #115-4863  #120-5088  
                #142-5901  #156-6440  #159-6548  #224-8695  #258-10028 
CLEF$S		#46-2063   #50-2217   
COMND$		#5-181     #174-7012  #174-7014  #174-7016  #174-7018  #174-7020  #174-7022  #174-7024  #174-7026  #174-7028  
                #174-7030  #174-7032  #174-7038  #174-7040  #174-7042  #174-7044  #174-7046  #174-7048  #174-7050  #174-7053  
                #174-7055  #174-7057  #174-7059  #174-7061  #174-7063  #174-7065  #174-7067  #174-7069  #174-7071  #174-7073  
                #174-7075  #174-7077  #174-7079  #174-7081  #174-7083  #174-7085  #175-7092  #175-7094  #175-7096  #175-7098  
                #175-7100  #176-7107  #176-7109  #176-7111  #176-7113  #176-7115  #176-7117  #176-7119  #176-7121  #177-7128  
                #177-7130  #177-7132  #177-7134  #177-7136  #178-7143  #178-7145  #178-7147  #178-7149  #178-7151  #178-7153  
                #178-7155  #178-7158  #178-7160  #178-7162  #178-7166  #178-7168  #178-7170  #178-7172  #178-7174  #178-7176  
                #178-7178  #178-7180  #178-7182  #178-7184  #178-7186  #178-7188  #178-7190  #178-7192  #178-7193  #178-7195  
                #178-7197  #178-7199  #178-7201  #178-7203  #178-7205  #178-7207  #178-7209  #179-7216  #179-7218  #179-7220  
                #179-7225  #179-7227  #180-7235  #180-7237  #180-7239  #180-7241  #180-7243  #180-7245  #180-7247  #180-7249  
                #180-7251  #180-7253  #180-7255  #180-7257  #182-7365  #183-7372  #183-7374  #184-7381  #184-7383  #184-7385  
                #184-7387  #184-7389  #184-7391  #184-7393  #184-7395  #185-7402  #185-7404  #185-7406  #185-7408  #185-7410  
                #185-7412  #185-7414  #185-7416  #185-7418  #185-7420  #185-7422  #186-7429  #186-7431  #187-7438  #187-7440  
                #187-7442  #187-7444  #188-7451  #188-7453  #188-7455  #189-7462  #189-7464  #189-7466  #189-7468  #189-7470  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 48

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #189-7472  #189-7474  #190-7481  #190-7483  #190-7485  #190-7487  #190-7489  #190-7491  #190-7493  #190-7495  
                #190-7497  #190-7499  #190-7501  #190-7503  #190-7505  #190-7507  #190-7509  #190-7511  #190-7514  #192-7541  
                #192-7543  #193-7550  #193-7552  #193-7554  #193-7556  #193-7558  #193-7560  #193-7562  #193-7564  #193-7566  
                #193-7568  #193-7570  #193-7572  #193-7574  #193-7576  #193-7578  #193-7581  #193-7584  
DIR$  		#50-2217    50-2217   #68-2936    70-3065    70-3069    71-3136    72-3185    72-3189    72-3194    73-3242   
                 74-3290    75-3350   #80-3574    80-3574   #85-3783    85-3783   #87-3836    90-3943    94-4059    100-4279  
                 106-4490   108-4586   110-4662  #149-6125   149-6125  #157-6478  #160-6594   160-6594  #160-6603   160-6603  
                #223-8613   223-8640  #257-9984   257-9991   257-9993   257-9997   257-10004 
ERCON$		#5-172     
ERROR$		#5-157      47-2118    49-2189    49-2192    51-2260    54-2366    56-2428    70-3079    70-3081    71-3149   
                 72-3197    73-3247    74-3307    75-3360    80-3589    85-3798    88-3877    94-4075    97-4177    101-4315  
                 101-4319   101-4322   101-4325   104-4455   106-4510   108-4607   111-4708   115-4886   117-4981   134-5596  
                 152-6231   152-6234   155-6401   159-6551   167-6804   167-6807   167-6810   172-6950   199-7760   224-8698  
                 224-8701   227-8818   229-8903   230-8980   236-9213   237-9253   239-9315   239-9318  
ERR$  		#50-2217   #70-3065   #70-3069   #71-3136   #72-3185   #72-3189   #72-3194   #73-3242   #74-3290   #75-3350   
                #80-3574   #85-3783   #90-3943   #94-4059   #100-4279  #106-4490  #108-4586  #110-4662  #149-6125  #160-6594  
                #160-6603  #223-8640  #257-9991  #257-9993  #257-9997  #257-10004 
EXCH$ 		#6-223     
EXIT$S		#157-6478  #160-6603  
FATAL$		#5-164     
IKL$  		#8-252     
IOKL$ 		#8-280     #117-4985  
KLDR$ 		#87-3836    106-4530  
KLDW$ 		#87-3836    108-4627  
KLDX$ 		#87-3836    111-4729  
MOV$  		#50-2217   #50-2217   #80-3574   #80-3574   #80-3574   #80-3574   #80-3574   #80-3574   #80-3574   #80-3574   
                #80-3574   #80-3574   #80-3574   #85-3783   #85-3783   #85-3783   #85-3783   #85-3783   #85-3783   #85-3783   
                #85-3783   #85-3783   #85-3783   #85-3783   #149-6125  #149-6125  #160-6594  #160-6594  #160-6594  #160-6594  
                #160-6594  #160-6594  
MRKT$ 		#87-3836    91-3972   
MVB$  		#80-3574    80-3574   #85-3783    85-3783   #160-6594   160-6594  
NBL$  		#70-3087    70-3087   
NSERR$		#6-201      181-7265   181-7267   181-7269   181-7270   181-7271   181-7272   181-7273   181-7274   181-7275  
                 181-7276   181-7277   181-7278   181-7283   181-7284   181-7285   181-7286   181-7287   181-7288   181-7289  
                 181-7290   181-7291   181-7293   181-7294   181-7295   181-7296   181-7297   181-7298   181-7300   181-7301  
                 181-7302   181-7303   181-7304   181-7305   181-7306   181-7307   181-7309   181-7310   181-7311   181-7312  
                 181-7313   181-7314   181-7315   181-7316   181-7318   181-7319   181-7320   181-7321   181-7322   181-7324  
                 181-7325   181-7327   181-7328   181-7329   181-7330   181-7331   181-7332   181-7333   181-7335   181-7336  
                 181-7338   181-7340   181-7342   181-7343   181-7344   181-7345   181-7347   181-7348   181-7350   181-7352  
                 181-7354   181-7356   181-7358  
OFF$  		#70-3087   #70-3087   #70-3087   #70-3087   #70-3087   #70-3092   #70-3092   #70-3092   #70-3092   #70-3092   
                #70-3092   #70-3092   #70-3092   #70-3092   #71-3155   #71-3155   #71-3155   #71-3155   #71-3155   #71-3155   
                #71-3155   #71-3155   #71-3155   #72-3203   #72-3203   #72-3203   #72-3203   #72-3203   #72-3203   #72-3203   
                #72-3203   #72-3203   #72-3206   #72-3206   #72-3206   #72-3206   #72-3206   #72-3206   #72-3206   #72-3206   
                #72-3206   #72-3209   #72-3209   #72-3209   #72-3209   #72-3209   #72-3209   #72-3209   #72-3209   #72-3209   
                #73-3253   #73-3253   #73-3253   #73-3253   #73-3253   #73-3253   #73-3253   #73-3253   #73-3253   #74-3313   
                #74-3313   #74-3313   #74-3313   #74-3313   #74-3313   #74-3313   #74-3313   #74-3313   #75-3366   #75-3366   
                #75-3366   #75-3366   #75-3366   #75-3366   #75-3366   #75-3366   #75-3366   #91-3972   #91-3972   #91-3972   
                #91-3972   #91-3972   #91-3972   #224-8708  #224-8708  #224-8708  #224-8708  #224-8708  #224-8708  #224-8708  
                #224-8708  #224-8708  #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 #260-10102 
                #260-10102 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 #260-10111 
                #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10120 #260-10125 
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 49

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

                #260-10125 #260-10125 #260-10125 #260-10125 #260-10125 #260-10125 #260-10125 #260-10125 
PARVR$		#34-1449    39-1729    39-1729   
POP   		#4-133     #51-2256   #54-2360   #58-2539   #60-2586   #61-2621   #67-2829   #68-2869   #68-2870   #68-2883   
                #76-3415   #77-3456   #81-3627   #81-3642   #90-3950   #97-4173   #99-4261   #103-4398  #103-4400  #108-4603  
                #111-4705  #113-4796  #115-4862  #117-4978  #117-4991  #119-5048  #122-5134  #126-5269  #128-5340  #130-5410  
                #132-5503  #134-5593  #136-5675  #137-5710  #141-5849  #145-6004  #147-6067  #150-6161  #152-6228  #154-6309  
                #155-6398  #162-6661  #165-6770  #165-6772  #196-7663  #199-7745  #199-7748  #199-7756  #207-8062  #208-8073  
                #208-8074  #208-8075  #208-8077  #209-8127  #211-8191  #211-8192  #214-8295  #216-8369  #219-8470  #224-8669  
                #229-8889  #229-8897  #230-8976  #232-9063  #234-9131  #236-9194  #236-9202  #237-9232  #238-9299  #239-9309  
                #243-9420  #244-9465  #244-9483  #249-9715  #252-9811  #252-9818  #253-9875  #256-9956  #257-10014 #259-10067 
                #259-10071 
PRDP$ 		#87-3836   #102-4345  
PREX$ 		#87-3836   #102-4363  
PUSH  		#4-139      47-2118    49-2189    49-2192    51-2252    51-2260    54-2343    54-2348    54-2352    54-2366   
                 56-2428    58-2513    60-2575    60-2579    60-2583    61-2618    62-2643    64-2708    66-2786    68-2872   
                 70-3079    70-3081    71-3149    72-3197    73-3247    74-3307    75-3360    76-3404    77-3445    80-3589   
                 81-3618    81-3629    85-3798    88-3877    89-3907    89-3912    90-3945    94-4075    97-4155    97-4177   
                 99-4231    99-4247    101-4315   101-4319   101-4322   101-4325   103-4391   103-4396   103-4406   104-4415  
                 104-4455   106-4510   108-4589   108-4607   111-4708   113-4774   114-4835   115-4886   116-4925   117-4964  
                 117-4981   117-4988   119-5019   122-5118   126-5248   127-5304   129-5369   132-5495   134-5566   134-5596  
                 136-5662   136-5668   137-5703   141-5829   143-5947   145-5991   145-5994   145-5995   147-6064   149-6127  
                 150-6157   152-6210   152-6231   152-6234   153-6262   154-6305   155-6372   155-6401   158-6505   158-6507  
                 158-6508   159-6551   162-6654   165-6740   165-6741   165-6743   167-6804   167-6807   167-6810   172-6950  
                 196-7650   198-7706   199-7742   199-7760   207-8028   207-8040   207-8058   209-8106   210-8157   210-8159  
                 213-8254   213-8255   213-8256   213-8261   213-8262   213-8263   213-8268   213-8269   216-8347   219-8443  
                 222-8572   223-8616   224-8698   224-8701   227-8818   228-8848   229-8881   229-8903   230-8937   230-8980  
                 232-9058   232-9059   234-9126   234-9127   236-9186   236-9205   236-9213   237-9253   238-9280   238-9283  
                 238-9294   239-9315   239-9318   243-9391   243-9396   243-9401   243-9406   243-9411   243-9416   244-9458  
                 244-9466   245-9530   246-9569   246-9581   247-9618   248-9657   248-9668   248-9670   252-9803   252-9804  
                 252-9808   252-9814   253-9866   256-9951   257-10010  259-10054  259-10060 
QDPB$ 		#70-3092   #70-3092   #71-3155   #71-3155   #72-3203   #72-3203   #72-3206   #72-3206   #72-3209   #72-3209   
                #73-3253   #73-3253   #74-3313   #74-3313   #75-3366   #75-3366   #224-8708  #224-8708  #260-10102 #260-10102 
                #260-10111 #260-10111 #260-10120 #260-10120 #260-10125 #260-10125 
QDPB$S		#80-3574    80-3574   #85-3783    85-3783   #160-6594   160-6594  
QIOW$ 		#68-2936    70-3092    71-3155    72-3203    72-3206    72-3209    73-3253    74-3313    75-3366   #223-8613  
                 224-8708  #257-9984   260-10102  260-10111  260-10120  260-10125 
QIOW$S		#68-2936    80-3574    85-3783   #157-6478   160-6594  
RETURN		#4-147      47-2106    47-2117    48-2158    49-2187    50-2220    51-2250    52-2289    53-2316    54-2361   
                 55-2396    56-2426    70-3076    71-3140    71-3144    72-3193    73-3244    74-3296    75-3354    76-3416   
                 77-3457    78-3511    79-3544    80-3580    80-3582    81-3628    82-3684    83-3715    84-3756    85-3791   
                 90-3951    94-4070    99-4262    100-4282   100-4290   104-4453   106-4508   108-4604   111-4706   113-4797  
                 117-4979   119-5050   122-5135   124-5214   126-5270   128-5341   130-5411   132-5504   134-5594   135-5630  
                 136-5678   137-5711   138-5744   139-5795   141-5851   145-6005   146-6037   147-6068   148-6098   150-6162  
                 152-6229   154-6310   155-6399   159-6545   162-6662   165-6773   169-6876   172-6948   196-7665   205-7998  
                 208-8078   209-8128   211-8193   214-8296   216-8370   219-8471   222-8583   224-8671   225-8752   226-8786  
                 227-8816   229-8898   230-8977   231-9040   233-9104   235-9179   239-9313   243-9421   244-9484   249-9716  
                 252-9829   253-9876   256-9958   258-10026  259-10072 
RVP$  		#80-3574    80-3574   #85-3783    85-3783   #160-6594   160-6594  
SPERR$		#6-211     #191-7522  #191-7524  #191-7526  #191-7527  #191-7528  #191-7530  #191-7531  #191-7532  #191-7534  
WTSE$S		#87-3836    149-6125  
$DEF  		#87-3836    87-3838   
.ENB6 		#157-6478  #160-6602  
PAROOT     CREATED BY  MACRO  ON 3-APR-86 AT 22:53	PAGE 50

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

.INH6 		#157-6478  #160-6597  
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1113  03-APR-86 22:56
TABLE OF CONTENTS

    34- 1442	.ABRTC -- THE "ABORT" COMMAND 7602.23
    35- 1466	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
    38- 1561	.CONTC -- THE "CONTINUE" COMMAND 7611.17
    40- 1648	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
    41- 1686	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
    42- 1749	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
    43- 1789	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
    44- 1852	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
    45- 1890	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
    46- 1928	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    47- 1941	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
    49- 2029	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
    50- 2082	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
    51- 2171	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
    52- 2212	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
    53- 2246	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
    56- 2337	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
    57- 2412	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
    59- 2482	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    60- 2521	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
    62- 2614	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    65- 2676	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
    66- 2717	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
    69- 2831	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    70- 2869	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
    72- 2989	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
    73- 3016	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
    78- 3193	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
    80- 3270	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
    81- 3298	TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
    82- 3407	STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
    83- 3465	TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
    84- 3490	TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
    85- 3568	TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
    86- 3612	TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
    89- 3668	.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16
    90- 3709	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
    92- 3754	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
    94- 3815	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
    95- 3855	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
    98- 3907	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
   100- 3978	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
   101- 3995	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
   103- 4067	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
   105- 4134	.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16
   107- 4198	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
   110- 4331	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
   112- 4468	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
   114- 4623	.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
   115- 4734	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
   116- 4797	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
   118- 4883	.HALTC -- THE "HALT" COMMAND 7710.11
   120- 4948	.INITC -- THE "INITIALIZE" COMMAND 7602.16
   121- 4974	.INIT  -- INITIALIZATION SUBROUTINE 7509.26
   122- 5016	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
   125- 5129	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
   130- 5266	.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO M1113  03-APR-86 22:56
TABLE OF CONTENTS

   131- 5368	.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
   134- 5439	.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
   137- 5539	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
   138- 5579	.RSALL -- THE "RESET ALL" COMMAND 7602.18
   139- 5605	.RSTPI -- THE "RESET PI" COMMAND 7607.21
   140- 5642	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
   143- 5729	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
   146- 5810	.TAKEC -- THE "TAKE" COMMAND
   147- 5873	.GTR50 -- GET A .RAD50 WORD 7602.18
   149- 5928	.QUITC -- THE "QUIT" COMMAND 7602.16
   152- 5988	.RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
   153- 6017	.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
   154- 6081	.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
   155- 6110	.SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
   156- 6139	.SVPC -- THE "SAVE PC" COMMAND 8306.09
   157- 6171	.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
   159- 6238	.SAVPC -- PC READ SUBROUTINE 8306.17
   161- 6346	.SCACB -- SET AC-BLOCK COMMAND
   162- 6385	.SACBK -- SET AC BLOCK ROUTINE
   163- 6456	.WHACB -- WHAT AC BLOCK COMMAND
   164- 6486	.SWPC -- SWEEP AC BLOCK COMMAND
   165- 6576	.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
   166- 6665	.RSSWP -- RESET PARITY STOPS FOR FM SWEEP
   169- 6748	.SCOUT -- SET/CLEAR OUTPUT COMMAND
   170- 6799	.SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
   171- 6912	.SCOTP -- SET/CLEAR OUTPUT LPT COMMAND
   172- 6953	.SCOTY -- SET/CLEAR OUTPUT TTY COMMAND
   173- 6983	.SCOTC -- SET/CLEAR OUTPUT CHECK ROUTINE
   174- 7013	.WHOUT -- WHAT OUTPUT COMMAND
   178- 7125	.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
   179- 7172	.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
   180- 7201	.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
   182- 7243	.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
   184- 7319	.STRTC -- THE "START" COMMAND 7602.26
   185- 7348	.STRTT -- THE "START <TEN>" COMMAND 7710.11
   187- 7411	.STRTU -- THE "START MICROCODE" COMMAND 7602.26
   189- 7494	.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
   190- 7539	.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
   191- 7563	.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
   192- 7588	.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
   193- 7621	.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
   194- 7648	.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
   195- 7668	.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
   196- 7681	.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
   197- 7697	.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
   198- 7705	.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
   199- 7717	.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
   200- 7730	.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
   201- 7754	.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
   202- 7776	.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
   203- 7789	.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
   204- 7804	.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
   205- 7831	.WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
   206- 7929	.SFREC -- SET/CLEAR FAULT COMMAND
   207- 7939	WHAT FAULT CONTINUATION COMMAND
   208- 7996	.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
   211- 8118	.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
SWCPC -- SET / CLEAR CLOCK AND 	MACRO M1113  03-APR-86 22:56
TABLE OF CONTENTS

   213- 8207	.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
   214- 8249	.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
   217- 8339	.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
   220- 8413	.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
   223- 8514	.SCDAT -- "SET DATE" COMMAND 7703.04
   225- 8650	.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
   229- 8786	.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
   232- 9073	.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
   236- 9227	.ZEROC -- THE "ZERO" COMMAND 7609.15
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 33
COPYRIGHT PAGE

   1410					.TITLE	ABRTC -- ABORT COMMAND MODULE 7602.23
   1411
   1412						.IDENT	"005000"
   1413					;
   1414					;                             COPYRIGHT (C) 1975, 1984 BY
   1415					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1416					;
   1417					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1418					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1419					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1420					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1421					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1422					;
   1423					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1424					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1425					;       CORPORATION.
   1426					;
   1427					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1428					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1429					;
   1430					;		MODULE: ABORT COMMAND
   1431					;
   1432					;		VERSION: 05-00
   1433					;
   1434					;		AUTHOR: R. BELANGER
   1435					;
   1436					;		DATE: 7602.23
   1437					;
   1438					;	THIS MODULE CONTAINS:
   1439					;
   1440					;	1) ABORT COMMAND CODE
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 34
.ABRTC -- THE "ABORT" COMMAND 7602.23

   1442					.SBTTL	.ABRTC -- THE "ABORT" COMMAND 7602.23
   1443
   1444					;+
   1445					; .ABRTC -- THE "ABORT" COMMAND
   1446					;
   1447					; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
   1448					;
   1449					; INPUT ARGUMENTS:
   1450					;
   1451					;	NONE.
   1452					;
   1453					; OUTPUT ARGUMENTS:
   1454					;
   1455					;	NONE.
   1456					;
   1457					; ERROR CODES RETURNED:
   1458					;
   1459					;	NONE.
   1460					;-
   1461
   1462	000000				.ABRTC::
   1463	000000					CALL	.CKEOC		; MUST HAVE E-O-C
	000000	004737 	000000G			 JSR	PC,.CKEOC
   1464					;	CALLR	.ABORT		; ABORT CURRENT KL OPERATION AND EXIT
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 35
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1466					.SBTTL	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
   1467
   1468					;+
   1469					; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL PROCESS
   1470					;
   1471					; THIS SUBROUTINE ABORTS THE CURRENT KL PROCESS AND RETURNS WITH
   1472					; THE KL CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
   1473					; KL MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL IS
   1474					; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
   1475					;
   1476					; SEQUENCE OF OPERATION:
   1477					;
   1478					;	(A) THE KL IS HALTED,
   1479					;	(B) IF THE HALT WINS GO TO (E), OTHERWISE GO TO (C),
   1480					;	(C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
   1481					;	(D) SECONDARY PROTOCOL IS STARTED
   1482					;	(E) EXIT.
   1483					;
   1484					; INPUT ARGUMENTS:
   1485					;
   1486					;	NONE.
   1487					;
   1488					; OUTPUT ARGUMENTS:
   1489					;
   1490					;	NONE.
   1491					;
   1492					; ERROR CODES RETURNED:
   1493					;
   1494					;	CFH -- CAN'T FIND KL HALT LOOP.
   1495					;	FRF -- FUNCTION READ FAILED.
   1496					;	FWF -- FUNCTION WRITE FAILED.
   1497					;	FXF -- FUNCTION EXECUTE FAILED.
   1498					;	UNL -- UCODE NOT LOADED.
   1499					;
   1500					; NOTE:
   1501					;
   1502					;	THE CONTINUEABILITY OF THE KL IS NOT GUARANTEED BY THIS
   1503					;	SUBROUTINE.
   1504					;-
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 36
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1506						.ENABL	LSB
   1507
   1508	000004				.ABORT::
   1509	000004					PUSH	R0		; SAVE R0 ON THE STACK
	000004	010046 				 MOV	R0,-(SP)
   1510	000006					PUSH	#.ABRT0		; .IN CASE ".KLSTP" TRAPS
	000006	012746 	000032'			 MOV	#.ABRT0,-(SP)
   1511	000012	010637 	000000G			MOV	SP,.TRPTV	; ..STACK POINTER FOR RETURN
   1512	000016					CALL	.KLSTP		; ..HALT THE KL
	000016	004737 	000000G			 JSR	PC,.KLSTP
   1513	000022	005726 				TST	(SP)+		; ..CLEAR RETURN
   1514	000024	005037 	000000G			CLR	.TRPTV		; .AND TRAP VECTOR
   1515	000030	000410 				BR	10$		; .AND EXIT
   1516						;
   1517	000032				.ABRT0::			; .GET HERE IF ".KLSTP" TRAPPED
   1518	000032	005000 				CLR	R0		; .CLEAR R0 (STACK POPPED BY ".PTTRP")
   1519	000034					CALL	.STUCD		; .(RE)START THE UCODE
	000034	004737 	000000G			 JSR	PC,.STUCD
   1520	000040	052737 	000000G	000002G		BIS	#EF.CRI,.COMEF+2 ; .DECLARE THE COMM REGION INVALID
   1521	000046					CALL	..DTP2		; .START SECONDARY PROTOCOL
	000046	004737 	000000G			 JSR	PC,..DTP2
   1522	000052				10$:
   1523	000052					POP	R0		; .RESTORE R0
	000052	012600 				 MOV	(SP)+,R0
   1524	000054					CALL	KLPSTP		; [**]
	000054	004737 	000000G			 JSR	PC,KLPSTP
   1525	000060					RETURN			; TO CALLER
	000060	000207 				 RTS	PC
   1526
   1527						.DSABL	LSB
ABRTC -- ABORT COMMAND MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 37
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

   1529
   1530					.TITLE	CONTC -- CONTINUE COMMAND MODULE 7611.17
   1531
   1532						.IDENT	"005000"
   1533
   1534					;
   1535					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   1536					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1537					;			AL RIGHTS RESERVED.
   1538					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1539					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1540					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1541					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1542					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1543					;
   1544					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1545					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1546					;       CORPORATION.
   1547					;
   1548					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1549					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1550					;
   1551					;		VERSION: 05-00
   1552					;
   1553					;		AUTHOR: R. BELANGER
   1554					;
   1555					;		DATE: 7611.17
   1556					;
   1557					;	THIS MODULE CONTAINS:
   1558					;
   1559					;	1) CONTINUE COMMAND CODE
CONTC -- CONTINUE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 38
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   1561					.SBTTL	.CONTC -- THE "CONTINUE" COMMAND 7611.17
   1562
   1563					;+
   1564					; .CONTC -- THE "CONTINUE" COMMAND
   1565					;
   1566					; THIS ROUTINE EXECUTES THE "CONTINUE" CONSOLE FUNCTION
   1567					;
   1568					; INPUT ARGUMENTS:
   1569					;
   1570					;	NONE.
   1571					;
   1572					; OUTPUT ARGUMENTS:
   1573					;
   1574					;	NONE.
   1575					;
   1576					; ERROR CORES RETURNED:
   1577					;
   1578					;	KNC -- KL IS NOT CONTINUABLE
   1579					;-
   1580
   1581	000062				.CONTC::
   1582	000062					CALL	.CKEOC		; CHECK E-O-C
	000062	004737 	000000G			 JSR	PC,.CKEOC
   1583	000066					PUSH	.KLFLG		; SAVE ".KLFLG" ON THE STACK
	000066	013746 	000000G			 MOV	.KLFLG,-(SP)
   1584	000072	032716 	000200 			BIT	#KF.CON,(SP)	; .CAN WE CONTINUE THE KL?
   1585	000076	001427 				BEQ	CONKNC		; .NO -- GIVE "KNC" ERROR
   1586	000100	032716 	010000 			BIT	#KF.SIM,(SP)	; .YES -- ARE WE IN SINGLE INSTRUCTION MODE?
   1587	000104	001412 				BEQ	20$		; .NO -- JUST CONTINUE THE KL
   1588	000106	032716 	100000 			BIT	#KF.CLK,(SP)	; .YES -- IS THE CLOCK RUNNING?
   1589	000112	001002 				BNE	10$		; .YES -- DON'T START IT AGAIN
   1590	000114					CALL	.STCLK		; .NO -- START IT
	000114	004737 	000000G			 JSR	PC,.STCLK
   1591	000120				10$:
   1592	000120	012700 	000024 			MOV	#FX.CON,R0	; .SET THE "CONTINUE" BUTTON
   1593	000124					CALL	.FXCT		; .VIA FUNCTION EXECUTE
	000124	004737 	000000G			 JSR	PC,.FXCT
   1594	000130	000407 				BR	30$		; .AND EXIT
   1595						;
   1596	000132				20$:
   1597	000132					CALL	.KLCON		; .DO THE CONTINUE
	000132	004737 	000000G			 JSR	PC,.KLCON
   1598	000136	032716 	040000 			BIT	#KF.RUN,(SP)	; .WAS THE KL RUNNING BEFORE?
   1599	000142	001002 				BNE	30$		; .YES -- JUST EXIT
   1600	000144	005037 	000000G			CLR	.NOERR		; RE-ENABLE ERROR DETECTION
   1601	000150				30$:
   1602	000150	005726 				TST	(SP)+		; .CLEAR THE STACK
   1603	000152					CALLR	.EXITP
	000152	000137 	000000G			 JMP	.EXITP
   1604						;
   1605
   1606	000156				CONKNC:
   1607	000156					ERROR$	KNC		; ERROR -- KL NOT CONTINUEABLE
	000156	012746 	043363 			 MOV	#^RKNC,-(SP)
	000162	104400 				 TRAP	TC.ERR
   1608						;
CONTC -- CONTINUE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 39
.CONTC -- THE "CONTINUE" COMMAND 7611.17

   1610
   1611
   1612					.TITLE	DECMD -- DEPOSIT / EXAMINE COMMAND DISPATCH MODULE 7603.30
   1613
   1614						.IDENT	"005000"
   1615
   1616					;
   1617					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   1618					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1619					;			ALL RIGHTS RESERVED.
   1620					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1621					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1622					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1623					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   1624					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   1625					;
   1626					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   1627					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   1628					;       CORPORATION.
   1629					;
   1630					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   1631					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   1632					;
   1633					;		MODULE: DEPOSIT / EXAMINE COMMAND DISPATCH
   1634					;
   1635					;		VERSION: 05-00
   1636					;
   1637					;		AUTHOR: R. BELANGER
   1638					;
   1639					;		DATE: 7603.30
   1640					;
   1641					;	THIS MODULE CONTAINS:
   1642					;
   1643					;	1) DEPOSIT COMMAND DISPATCH CODE
   1644					;	2) DEPOSIT COMMAND DISPATCH TABLES
   1645					;	3) EXAMINE COMMAND DISPATCH CODE
   1646					;	4) EXAMINE COMMAND DISPATCH TABLES
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 40
.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23

   1648					.SBTTL	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
   1649
   1650					;+
   1651					; .DPOSC -- THE "DEPOSIT" COMMAND.
   1652					;
   1653					; THIS IS THE TOP LEVEL DEPOSIT ROUTINE WHICH DISPATCHES TO THE
   1654					; PROPER ROUTINE FOR THE OBJECT TO BE DEPOSITED.
   1655					;
   1656					; INPUT ARGUMENTS:
   1657					;
   1658					;	NONE.
   1659					;
   1660					; OUTPUT ARGUMENTS:
   1661					;
   1662					;	NONE.
   1663					;
   1664					; ERROR CODES RETURNED:
   1665					;
   1666					;	NSK -- NO SUCH KEYWORD
   1667					;-
   1668
   1669	000164				.DPOSC::
   1670	000164	013703 	000000G			MOV	.MEMFL,R3	; OFFSET FLAG TO R3
   1671	000170					CALL	.CKARG		; LOOK FOR THE ARGUMENT
	000170	004737 	000000G			 JSR	PC,.CKARG
   1672	000174	001435 				BEQ	.DPOBJ		; DISPATCH FOR OBJECT
   1673	000176				.DPOSA::			; HERE TO DISPATCH FOR MEMORY
   1674	000176					CALLR	@DPOATB(R3)	; DISPATCH
	000176	000173 	000000'			 JMP	@DPOATB(R3)
   1675						;
   1676
   1677	000000					.PSECT	DATA
   1678
   1679	000000				DPOATB:
   1680	000000	002244'				.WORD	.DPOST		; DEPOSIT TEN
   1681	000002	001372'				.WORD	.DPOSE		; DEPOSIT ELEVEN WORD
   1682
   1683	000202					.PSECT
   1684
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 41
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   1686					.SBTTL	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
   1687
   1688	000202				.DPOSD::			; DEPOSIT DECREMENT
   1689	000202					CALLR	@DPODTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000202	000173 	000004'			 JMP	@DPODTB(R3)
   1690						;
   1691
   1692	000004					.PSECT	DATA
   1693
   1694	000004				DPODTB:
   1695	000004	002572'				.WORD	.DPKLD		; KL WORD
   1696	000006	001562'				.WORD	.DPEWD		; PDP-11 WORD
   1697
   1698	000206					.PSECT
   1699
   1700	000206				.DPOSI::			; DEPOSIT INCREMENT
   1701	000206					CALLR	@DPOITB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000206	000173 	000010'			 JMP	@DPOITB(R3)
   1702						;
   1703
   1704	000010					.PSECT	DATA
   1705
   1706	000010				DPOITB:
   1707	000010	002600'				.WORD	.DPKLI		; KL WORD
   1708	000012	001570'				.WORD	.DPEWI		; PDP-11 WORD
   1709
   1710	000212					.PSECT
   1711
   1712	000212				.DPOSN::			; DEPOSIT NEXT
   1713	000212					CALLR	@DPONTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000212	000173 	000014'			 JMP	@DPONTB(R3)
   1714						;
   1715
   1716	000014					.PSECT	DATA
   1717
   1718	000014				DPONTB:
   1719	000014	002606'				.WORD	.DPKLN		; KL WORD
   1720	000016	001576'				.WORD	.DPEWN		; PDP-11 WORD
   1721
   1722	000216					.PSECT
   1723
   1724	000216				.DPOSP::			; DEPOSIT PREVIOUS
   1725	000216					CALLR	@DPOPTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000216	000173 	000020'			 JMP	@DPOPTB(R3)
   1726						;
   1727
   1728	000020					.PSECT	DATA
   1729
   1730	000020				DPOPTB:
   1731	000020	002614'				.WORD	.DPKLP		; KL WORD
   1732	000022	001604'				.WORD	.DPEWP		; PDP-11 WORD
   1733
   1734	000222					.PSECT
   1735
   1736	000222				.DPOSZ::			; DEPOSIT THIS
   1737	000222					CALLR	@DPOZTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000222	000173 	000024'			 JMP	@DPOZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 41-1
.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   1738						;
   1739
   1740	000024					.PSECT	DATA
   1741
   1742	000024				DPOZTB:
   1743	000024	002564'				.WORD	.DPKLT		; KL WORD
   1744	000026	001554'				.WORD	.DPEWT		; PDP-11 WORD
   1745
   1746	000226					.PSECT
   1747
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 42
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16

   1749					.SBTTL	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
   1750
   1751					;+
   1752					; .EXAMC -- THE "EXAMINE" COMMAND DISPATCH.
   1753					;
   1754					; THIS IS THE TOP LEVEL EXAMINE ROUTINE WHICH DETERMINES WHICH
   1755					; OBJECT IS TO BE EXAMINED.
   1756					;
   1757					; INPUT ARGUMENTS:
   1758					;
   1759					;	NONE.
   1760					;
   1761					; OUTPUT ARGUMENTS:
   1762					;
   1763					;	NONE, THIS ROUTINE DISPATCHES TO THE PROPER ROUTINE
   1764					;	FOR THE OBJECT SPECIFIED.
   1765					;
   1766					; ERROR CODES RETURNED:
   1767					;
   1768					;	NONE.
   1769					;-
   1770
   1771	000226				.EXAMC::
   1772	000226	013703 	000000G			MOV	.MEMFL,R3	; MEMORY FLAG TO R3
   1773	000232					CALL	.CKARG		; CHECK THE ARGUMENT
	000232	004737 	000000G			 JSR	PC,.CKARG
   1774	000236	001434 				BEQ	.EXOBJ		; EXAMINE THE OBJECT
   1775						;
   1776	000240				.EXAMA::			; HERE TO DISPATCH FOR MEMORY
   1777	000240					CALLR	@EXMDTB(R3)	; DISPATCH
	000240	000173 	000030'			 JMP	@EXMDTB(R3)
   1778						;
   1779
   1780	000030					.PSECT	DATA
   1781
   1782	000030				EXMDTB:
   1783	000030	002652'				.WORD	.EXAMT		; EXAMINE TEN
   1784	000032	001642'				.WORD	.EXAME		; EXAMINE ELEVEN WORD
   1785
   1786	000244					.PSECT
   1787
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 43
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   1789					.SBTTL	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
   1790
   1791	000244				.EXAMD::			; EXAMINE DECREMENT
   1792	000244					CALLR	@EXADTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000244	000173 	000034'			 JMP	@EXADTB(R3)
   1793						;
   1794
   1795	000034					.PSECT	DATA
   1796
   1797	000034				EXADTB:
   1798	000034	003244'				.WORD	.EXKLD		; KL WORD
   1799	000036	002124'				.WORD	.EXEWD		; PDP-11 WORD
   1800
   1801	000250					.PSECT
   1802
   1803	000250				.EXAMI::			; EXAMINE INCREMENT
   1804	000250					CALLR	@EXAITB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000250	000173 	000040'			 JMP	@EXAITB(R3)
   1805						;
   1806
   1807	000040					.PSECT	DATA
   1808
   1809	000040				EXAITB:
   1810	000040	003252'				.WORD	.EXKLI		; KL WORD
   1811	000042	002132'				.WORD	.EXEWI		; PDP-11 WORD
   1812
   1813	000254					.PSECT
   1814
   1815	000254				.EXAMN::			; EXAMINE NEXT
   1816	000254					CALLR	@EXANTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000254	000173 	000044'			 JMP	@EXANTB(R3)
   1817						;
   1818
   1819	000044					.PSECT	DATA
   1820
   1821	000044				EXANTB:
   1822	000044	003260'				.WORD	.EXKLN		; KL WORD
   1823	000046	002140'				.WORD	.EXEWN		; PDP-11 WORD
   1824
   1825	000260					.PSECT
   1826
   1827	000260				.EXAMP::			; EXAMINE PREVIOUS
   1828	000260					CALLR	@EXAPTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000260	000173 	000050'			 JMP	@EXAPTB(R3)
   1829						;
   1830
   1831	000050					.PSECT	DATA
   1832
   1833	000050				EXAPTB:
   1834	000050	003266'				.WORD	.EXKLP		; KL WORD
   1835	000052	002146'				.WORD	.EXEWP		; PDP-11 WORD
   1836
   1837	000264					.PSECT
   1838
   1839	000264				.EXAMZ::			; EXAMINE THIS
   1840	000264					CALLR	@EXAZTB(R3)	; DISPATCH ON MEMORY TYPE FLAG
	000264	000173 	000054'			 JMP	@EXAZTB(R3)
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 43-1
.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 76

   1841						;
   1842
   1843	000054					.PSECT	DATA
   1844
   1845	000054				EXAZTB:
   1846	000054	003236'				.WORD	.EXKLT		; KL WORD
   1847	000056	002116'				.WORD	.EXEWT		; PDP-11 WORD
   1848
   1849	000270					.PSECT
   1850
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 44
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29

   1852					.SBTTL	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
   1853
   1854					;+
   1855					; .DPOBJ -- DEPOSIT "OBJECT" COMMAND DISPATCH
   1856					;
   1857					; THIS SUBROUTINE PERFORMS THE DISPATCH FOR THE SPECIFIED DEPOSIT OBJECT
   1858					;
   1859					; INPUT ARGUMENTS:
   1860					;
   1861					;	R3 CONTAINS THE OLD MEMORY TYPE OFFSET
   1862					;
   1863					; OUTPUT ARGUMENTS:
   1864					;
   1865					;	R3 CONTAINS THE CURRENT MEMORY TYPE OFFSET
   1866					;
   1867					; ERROR CODES RETURNED:
   1868					;
   1869					;	NONE.
   1870					;-
   1871
   1872
   1873	000270				.DPOBJ::
   1874	000270	012700 	000000G			MOV	#.DPOTB,R0	; TABLE POINTER TO R0
   1875	000274					CALL	.TSCAN		; SCAN THE TABLE FOR OBJECT
	000274	004737 	000000G			 JSR	PC,.TSCAN
   1876	000300	012001 				MOV	(R0)+,R1	; LEGAL BITS TO R1
   1877	000302	005101 				COM	R1		; INVERT THEM
   1878	000304	040137 	000000G			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   1879	000310					CALLR	@(R0)+		; DISPATCH FOR OBJECT
	000310	000130 				 JMP	@(R0)+
   1880						;
   1881	000312				.DPOKL::
   1882	000312	005003 				CLR	R3		; TEN MEMORY OFFSET TO R3
   1883	000314					CALLR	.DPOST		; GO DO IT
	000314	000137 	002244'			 JMP	.DPOST
   1884						;
   1885	000320				.DPOEL::
   1886	000320	012703 	000002 			MOV	#^D2,R3		; PDP-11 WORD OFFSET TO R3
   1887	000324					CALLR	.DPOSE		; GO DO IT
	000324	000137 	001372'			 JMP	.DPOSE
   1888						;
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 45
.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16

   1890					.SBTTL	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
   1891
   1892					;+
   1893					; .EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH.
   1894					;
   1895					; THIS ROUTINE IS THE DISPATCH FOR ALL OF THE "EXAMINE <OBJECT>" COMMANDS.
   1896					;
   1897					; INPUT ARGUMENTS:
   1898					;
   1899					;	NONE.
   1900					;
   1901					; OUTPUT ARGUMENTS:
   1902					;
   1903					;	NONE.
   1904					;
   1905					; ERROR CODES RETURNED:
   1906					;
   1907					;	NSC -- NO SUCH COMMAND.
   1908					;-
   1909
   1910	000330				.EXOBJ::
   1911	000330	012700 	000000G			MOV	#.EXMTB,R0	; EXAMINE TABLE POINTER TO R0
   1912	000334					CALL	.TSCAN		; SCAN THE TABLE
	000334	004737 	000000G			 JSR	PC,.TSCAN
   1913	000340	011001 				MOV	(R0),R1		; LEGAL BITS TO R1
   1914	000342	005101 				COM	R1		; INVERT THEM
   1915	000344	040137 	000000G			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   1916	000350	014002 				MOV	-(R0),R2	; NAME POINTER TO R2
   1917	000352					CALLR	@4(R0)		; READ AND PRINT THE REGISTER
	000352	000170 	000004 			 JMP	@4(R0)
   1918						;
   1919	000356				.EXMEL::
   1920	000356	012703 	000002 			MOV	#^D2,R3		; PDP-11 OFFSET TO R3
   1921	000362					CALLR	.EXAME		; DO THE EXAMINE
	000362	000137 	001642'			 JMP	.EXAME
   1922						;
   1923	000366				.EXMKL::
   1924	000366	005003 				CLR	R3		; KL MEMORY OFFSET TO R3
   1925	000370					CALLR	.EXAMT		; DO THE EXAMINE
	000370	000137 	002652'			 JMP	.EXAMT
   1926						;
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 46
.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>"

   1928					.SBTTL	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   1929
   1930	000374				.EDEWD::
   1931	000374				.EDEWP::
   1932	000374	013700 	000000G			MOV	.EDELA,R0	; ADDRESS TO R0
   1933	000400	162700 	000002 			SUB	#^D2,R0		; PREVIOUS WORD ADDRESS
   1934	000404					RETURN			; TO CALLER
	000404	000207 				 RTS	PC
   1935	000406				.EDEWI::
   1936	000406				.EDEWN::
   1937	000406	013700 	000000G			MOV	.EDELA,R0	; ADDRESS TO R0
   1938	000412	062700 	000002 			ADD	#^D2,R0		; NEXT WORD ADDRESS
   1939	000416					RETURN			; TO CALLER
	000416	000207 				 RTS	PC
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 47
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   1941					.SBTTL	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
   1942
   1943						.ENABL	LSB
   1944
   1945	000420				.EDKLP::
   1946	000420					CALL	.EDKLC		; DO COMMON CODE
	000420	004737 	000516'			 JSR	PC,.EDKLC
   1947	000424					CALL	.TPDEC		; DECREMENT ONCE
	000424	004737 	000000G			 JSR	PC,.TPDEC
   1948	000430	000422 				BR	10$		; EXIT THRU COMMON CODE
   1949						;
   1950	000432				.EDKLN::
   1951	000432					CALL	.EDKLC		; DO COMMON CODE
	000432	004737 	000516'			 JSR	PC,.EDKLC
   1952	000436					CALL	.TPINC		; INCREMENT ONCE
	000436	004737 	000000G			 JSR	PC,.TPINC
   1953	000442	000415 				BR	10$		; EXIT THRU COMMON CODE
   1954						;
   1955	000444				.EDKLD::
   1956	000444					CALL	.EDKLC		; DO COMMON CODE
	000444	004737 	000516'			 JSR	PC,.EDKLC
   1957	000450	012701 	000000G			MOV	#.KLINC,R1	; POINT TO THE INCREMENT
   1958	000454					CALL	.TPSUB		; DO THE SUBTRACTION
	000454	004737 	000000G			 JSR	PC,.TPSUB
   1959	000460	000406 				BR	10$		; EXIT THRU COMMON CODE
   1960						;
   1961	000462				.EDKLI::
   1962	000462					CALL	.EDKLC		; DO COMMON CODE
	000462	004737 	000516'			 JSR	PC,.EDKLC
   1963	000466	012701 	000000G			MOV	#.KLINC,R1	; POINT TO THE INCREMENT
   1964	000472					CALL	.TPADD		; DO THE ADDITION
	000472	004737 	000000G			 JSR	PC,.TPADD
   1965	000476				10$:
   1966	000476	032760 	177600 	000002 		BIT	#^C177,2(R0)	; CHECK THE RESULT
   1967	000504	001015 				BNE	EDNKLA		; ERROR IF TOO LARGE
   1968	000506	005760 	000004 			TST	4(R0)		; HOW ABOUT HIGH BITS?
   1969	000512	001012 				BNE	EDNKLA		; TOO LARGE
   1970	000514	000410 				BR	20$		; ALL OK -- RETURN
   1971						;
   1972	000516				.EDKLC::
   1973	000516	012700 	000000G			MOV	#.EDKLX,R0	; AUX ADDRESS POINTER TO R0
   1974	000522	012701 	000000G			MOV	#.EDKLA,R1	; EXAM / DEPOS ADDRESS TO R1
   1975	000526	012120 				MOV	(R1)+,(R0)+	; LOAD CURRENT ADDRESS
   1976	000530	012120 				MOV	(R1)+,(R0)+	; INTO AUXILLIARY ADDRESS BUFFER
   1977	000532	011110 				MOV	(R1),(R0)	; SO
   1978	000534	024040 				CMP	-(R0),-(R0)	; BACK THE POINTER UP
   1979	000536				20$:
   1980	000536					RETURN			; AND GO ON
	000536	000207 				 RTS	PC
   1981
   1982						.DSABL	LSB
   1983
   1984	000540				EDNKLA:
   1985	000540					ERROR$	KLA		; ERROR -- KL ADDRESS ERROR
	000540	012746 	043241 			 MOV	#^RKLA,-(SP)
	000544	104400 				 TRAP	TC.ERR
   1986						;
DECMD -- DEPOSIT / EXAMINE COMM	MACRO M1113  03-APR-86 22:56  PAGE 48
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

   1988
   1989					.TITLE	DFUNC -- KL10 DIAGNOSTIC FUNCTION MODULE 7603.30
   1990
   1991						.IDENT	"007030"
   1992					;
   1993					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   1994					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1995					;			ALL RIGHTS RESERVED.
   1996					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   1997					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   1998					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   1999					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2000					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2001					;
   2002					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2003					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2004					;       CORPORATION.
   2005					;
   2006					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2007					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2008					;
   2009					;		MODULE: KL10 DIAGNOSTIC FUNCTION
   2010					;
   2011					;		VERSION: 06-13
   2012					;
   2013					;		AUTHOR: R. BELANGER
   2014					;
   2015					;		DATE: 7603.30
   2016					;
   2017					;	THIS MODULE CONTAINS:
   2018					;
   2019					;	1) KL10 DIAGNOSTIC FUNCTION CODE
   2020					;
   2021					;	EDIT HISTORY
   2022					;
   2023					;23-JUN-83  TCO 6.1675	D. WEAVER
   2024					;	DON'T HALT/RESTART KL WHEN DOING FUNCTION READS.
   2025					;
   2026
   2027
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 49
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30

   2029					.SBTTL	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
   2030
   2031					;+
   2032					; .DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE
   2033					;
   2034					; THIS ROUTINE WILL INPUT A DIAGNOSTIC FUNCTION READ, WRITE, OR
   2035					; EXECUTE CODE AND RETURN IT IN R0, AFTER CHECKING THAT THE KL
   2036					; IS NOT RUNNING, AND SEEING THAT THE FUNCTION CODE IS IN RANGE.
   2037					;
   2038					; INPUT ARGUMENTS:
   2039					;
   2040					;	NONE.
   2041					;
   2042					; OUTPUT ARGUMENTS:
   2043					;
   2044					;	R0 HOLDS THE FUNCTION CODE.
   2045					;
   2046					; ERROR CODES RETURNED:
   2047					;
   2048					;	IFC -- ILLEGAL FUNCTION CODE
   2049					;	MRA -- MISSING REQUIRED ARGUMENT.
   2050					;-
   2051
   2052	000546				.DFCOM::
   2053	000546					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	000546	004737 	000000G			 JSR	PC,.CKRUN
   2054	000552	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   2055	000554	005046 				CLR	-(SP)		; .
   2056	000556	005046 				CLR	-(SP)		; ..
   2057	000560	010600 				MOV	SP,R0		; ...POINT TO IT
   2058	000562					CALL	.GTKLN		; ...READ THE FUNCTION CODE
	000562	004737 	000000G			 JSR	PC,.GTKLN
   2059	000566	005760 	000004 			TST	4(R0)		; ...SEE IF WE HAVE A LEGAL CODE
   2060	000572	001031 				BNE	DFCIFC		; ...NO -- COMPLAIN
   2061	000574	005760 	000002 			TST	2(R0)		; ...
   2062	000600	001026 				BNE	DFCIFC		; ...
   2063	000602	105760 	000001 			TSTB	1(R0)		; ...
   2064	000606	001023 				BNE	DFCIFC		; ...
   2065	000610	132710 	177740 			BITB	#^C37,(R0)	; ...IS THIS AN EXECUTE?
   2066	000614	001414 				BEQ	10$		; ...NO -- CONTINUE
   2067	000616	005737 	000066'			TST	STPKL		; ...WANT TO STOP KL?
   2068	000622	001411 				BEQ	10$		; ...NO -- MOVE ON
   2069	000624	032737 	040000 	000000G		BIT	#KF.RUN,.KLFLG	; ...IS THE KL RUNNING?
   2070	000632	001405 				BEQ	10$		; ...NO -- JUST KEEP GOING
   2071	000634	013737 	000000G	000000G		MOV	.KLFLG,.SVKLF	; ...SAVE THE CURRENT FLAGS
   2072	000642					CALL	.KLHLT		; ...HALT THE KL
	000642	004737 	000000G			 JSR	PC,.KLHLT
   2073	000646				10$:
   2074	000646					POP	R0		; ...GET THE CODE INTO R0
	000646	012600 				 MOV	(SP)+,R0
   2075	000650	006300 				ASL	R0		; ..TIMES 2
   2076	000652	022626 				CMP	(SP)+,(SP)+	; ..CLEAR THE STACK
   2077	000654					RETURN			; TO CALLER
	000654	000207 				 RTS	PC
   2078	000656				DFCIFC:
   2079	000656					ERROR$	IFC		; ERROR -- ILLEGAL FUNCTION CODE
	000656	012746 	034463 			 MOV	#^RIFC,-(SP)
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 49-1
.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30

	000662	104400 				 TRAP	TC.ERR
   2080						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 50
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   2082					.SBTTL	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
   2083
   2084					;+
   2085					; .DFRED -- DIAGNOSTIC FUNCTION READ
   2086					;
   2087					; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION READ AND DISPLAY
   2088					; THE RESULT ON THE CONSOLE DEVICE.
   2089					;
   2090					; INPUT ARGUMENTS:
   2091					;
   2092					;	NONE.
   2093					;
   2094					; OUTPUT ARGUMENTS:
   2095					;
   2096					;	NONE.
   2097					;
   2098					; ERROR CODES RETURNED:
   2099					;
   2100					;	IFC -- ILLEGAL FUNCTION CODE.
   2101					;	FRF -- FUNCTION READ FAILED.
   2102					;-
   2103
   2104	000664				.DFRED::
   2105	000664	005037 	000066'			CLR	STPKL		; [6,1675]FLAG NOT TO STOP KL
   2106	000670					CALL	.DFCOM		; DO COMMON CODE
	000670	004737 	000546'			 JSR	PC,.DFCOM
   2107	000674	010037 	000060'			MOV	R0,STOPFR	; [5.1014]SAVE START FUNCTION CODE
   2108	000700					CALL	.CKEOS		; CHECK END OF SYMBOL
	000700	004737 	000000G			 JSR	PC,.CKEOS
   2109	000704				1$:	CALL	.XFRCK		; SEE THAT WE HAVE A LEGAL READ CODE
	000704	004737 	001260'			 JSR	PC,.XFRCK
   2110	000710	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   2111	000712	005046 				CLR	-(SP)		; .
   2112	000714	005046 				CLR	-(SP)		; ..
   2113	000716	010601 				MOV	SP,R1		; ...POINT TO THE BUFFER
   2114	000720					PUSH	R0		; ...SAVE THE READ CODE
	000720	010046 				 MOV	R0,-(SP)
   2115	000722					CALL	.FREAD		; ....DO THE READ
	000722	004737 	000000G			 JSR	PC,.FREAD
   2116	000726	012700 	000000'			MOV	#DFRMSG,R0	; ....MESSAGE POINTER TO R0
   2117	000732					CALL	.TYMSG		; ....TYPE IT
	000732	004737 	000000G			 JSR	PC,.TYMSG
   2118	000736	011600 				MOV	(SP),R0		; ....READ CODE TO R0
   2119	000740	006200 				ASR	R0		; ....DIVIDED BY 2
   2120	000742					CALL	.TYP3D		; ....PRINT IT
	000742	004737 	000000G			 JSR	PC,.TYP3D
   2121	000746					CALL	.TYSLS		; ....AND A SLASH
	000746	004737 	000000G			 JSR	PC,.TYSLS
   2122	000752					CALL	.TYSPC		; ....AND A SPACE
	000752	004737 	000000G			 JSR	PC,.TYSPC
   2123	000756	010100 				MOV	R1,R0		; ....POINT TO THE DATA
   2124	000760					CALL	.TYKLN		; ....PRINT IT
	000760	004737 	000000G			 JSR	PC,.TYKLN
   2125	000764					CALL	.TCRLF		; ....END THE LINE
	000764	004737 	000000G			 JSR	PC,.TCRLF
   2126	000770					POP	R0		; ....READ CODE INTO R0
	000770	012600 				 MOV	(SP)+,R0
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 50-1
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

   2127	000772	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   2128	000776	005737 	000062'		5$:	TST	RNGFR		; [5.1014]IS THIS A RANGE IN PROGRESS?
   2129	001002	001406 				BEQ	7$		; [5.1014]NO -- GO ON
   2130	001004	020037 	000060'			CMP	R0,STOPFR	; [5.1014]YES -- ARE WE DONE?
   2131	001010	001403 				BEQ	7$		; [5.1014]YES -- GO NO
   2132	001012	063700 	000064'			ADD	INCFR,R0	; [5.1014]NO -- NEXT READ
   2133	001016	000732 				BR	1$		; [5.1014]DO NEXT READ
   2134	001020	005037 	000062'		7$:	CLR	RNGFR		; [5.1014]RANGE DONE
   2135	001024	122715 	000054 			CMPB	#',,(R5)	; [5.1014]IS THIS A LIST?
   2136	001030	001002 				BNE	10$		; [5.1014]NO -- GO ON
   2137	001032	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COMMA
   2138	001034	000713 				BR	.DFRED		; [5.1014]DO NEXT
   2139	001036	122715 	000072 		10$:	CMPB	#':,(R5)	; [5.1014]IS THIS A LIST?
   2140	001042	001031 				BNE	30$		; [5.1014]NO -- GO ON
   2141	001044	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COMMA
   2142	001046					PUSH	R1		; [6,1675]SAVE R1
	001046	010146 				 MOV	R1,-(SP)
   2143	001050	005037 	000066'			CLR	STPKL		; [6,1675]DON'T STOP KL
   2144	001054					CALL	.DFCOM		; [5.1014]DO COMMON CODE
	001054	004737 	000546'			 JSR	PC,.DFCOM
   2145	001060					POP	R1		; [6,1675]RESTORE R1
	001060	012601 				 MOV	(SP)+,R1
   2146	001062					CALL	.CKEOS		; [5.1014]CHECK END OF SYMBOL
	001062	004737 	000000G			 JSR	PC,.CKEOS
   2147	001066	005237 	000062'			INC	RNGFR		; [5.1014]SET RANGE ON PROGRESS FLAG
   2148	001072	012737 	000002 	000064'		MOV	#2,INCFR	; [5.1014]SET FORWARD RANGE DEFAULT
   2149	001100	020037 	000060'			CMP	R0,STOPFR	; [5.1014]FORWARD RANGE
   2150	001104	003002 				BGT	20$		; [5.1014]YES -- GO ON
   2151	001106	005437 	000064'			NEG	INCFR		; [5.1014]NO -- NEGATE INCREMENT
   2152	001112				20$:	PUSH	STOPFR		; [5.1014]SAVE INITIAL FUNCTION READ
	001112	013746 	000060'			 MOV	STOPFR,-(SP)
   2153	001116	010037 	000060'			MOV	R0,STOPFR	; [5.1014]SET STOPFR CODE
   2154	001122					POP	R0		; [5.1014]SET R0 TO INITIAL READ
	001122	012600 				 MOV	(SP)+,R0
   2155	001124	000724 				BR	5$		; [5.1014]DO RANGE INCREMENT
   2156	001126				30$:	RETURN			; [5.1014]EXIT
	001126	000207 				 RTS	PC
   2157						;
   2158
   2159	000000				.PSECT	MESSAG
   2160	000000				DFRMSG:
   2161	000000	   106 	   122 	   040 		.ASCIZ	%FR %
	000003	   000
   2162	000060				.PSECT	DATA
   2163
   2164	000060	000000 			STOPFR:	.WORD	0		; [5.1014]FINAL/FIRST FUNCTION READ CODE
   2165	000062	000000 			RNGFR:	.WORD	0		; [5.1014]RANGE IN PROGRESS FLAG
   2166	000064	000000 			INCFR:	.WORD	0		; [5.1014]INCREMENT VALUE
   2167	000066	000000 			STPKL:	.WORD	0		; [6,1675]STOP KL FLAG
   2168
   2169	001130				.PSECT
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 51
.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20

   2171					.SBTTL	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
   2172
   2173					;+
   2174					; .DFWRT -- DIAGNOSTIC FUNCTION WRITE
   2175					;
   2176					; THIS ROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION WRITE
   2177					;
   2178					; INPUT ARGUMENTS:
   2179					;
   2180					;	NONE.
   2181					;
   2182					; OUTPUT ARGUMENTS:
   2183					;
   2184					;	NONE.
   2185					;
   2186					; ERROR CODES RETURNED:
   2187					;
   2188					;	IFC -- ILLEGAL FUNCTION CODE.
   2189					;	FWF -- FUNCTION WRITE FAILED.
   2190					;-
   2191
   2192	001130				.DFWRT::
   2193	001130	012737 	000001 	000066'		MOV	#1,STPKL	; [6.1675]STOP KL IF RUNNING
   2194	001136					CALL	.DFCOM		; DO COMMON CODE
	001136	004737 	000546'			 JSR	PC,.DFCOM
   2195	001142					CALL	.CKCOL		; CHECK END-OF-SYMBOL
	001142	004737 	000000G			 JSR	PC,.CKCOL
   2196	001146					CALL	.XFWCK		; SEE IF WE HAVE A GOOD WRITE CODE
	001146	004737 	001276'			 JSR	PC,.XFWCK
   2197	001152	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   2198	001154	005046 				CLR	-(SP)		; .
   2199	001156	005046 				CLR	-(SP)		; ..
   2200	001160	010601 				MOV	SP,R1		; ...SAVE THE BUFFER POINTER
   2201	001162					PUSH 	R0		; ...SAVE THE WRITE CODE
	001162	010046 				 MOV	R0,-(SP)
   2202	001164	010100 				MOV	R1,R0		; ....POINT TO THE BUFFER
   2203	001166					CALL	.GTKLN		; ....READ THE DATA
	001166	004737 	000000G			 JSR	PC,.GTKLN
   2204	001172					CALL	.CKEOS		; ....CHECK SYMBOL END
	001172	004737 	000000G			 JSR	PC,.CKEOS
   2205	001176	010001 				MOV	R0,R1		; ....DATA POINTER TO R1
   2206	001200					POP	R0		; ....GET THE WRITE CODE
	001200	012600 				 MOV	(SP)+,R0
   2207	001202					CALL	.FWRIT		; ...DO THE WRITE
	001202	004737 	000000G			 JSR	PC,.FWRIT
   2208	001206	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   2209	001212					CALLR	.RSTKL		; RESTORE THE KL AND EXIT
	001212	000137 	000000G			 JMP	.RSTKL
   2210						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 52
.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15

   2212					.SBTTL	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
   2213
   2214					;+
   2215					; .DFXCT -- DIAGNOSTIC FUNCTION EXECUTE
   2216					;
   2217					; THIS SUBROUTINE WILL EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   2218					;
   2219					; INPUT ARGUMENTS:
   2220					;
   2221					;	NONE.
   2222					;
   2223					; OUTPUT ARGUMENTS:
   2224					;
   2225					;	NONE.
   2226					;
   2227					; ERROR CODES RETURNED:
   2228					;
   2229					;	IFC -- ILLEGAL FUNCTION CODE.
   2230					;	FXF -- FUNCTION EXECUTE FAILED.
   2231					;-
   2232
   2233	001216				.DFXCT::
   2234	001216	012737 	000001 	000066'		MOV	#1,STPKL	; [6.1675]STOP KL IF RUNNING
   2235	001224					CALL	.DFCOM		; DO COMMON CODE
	001224	004737 	000546'			 JSR	PC,.DFCOM
   2236	001230					CALL	.CKEOS		; CHECK SYMBOL END
	001230	004737 	000000G			 JSR	PC,.CKEOS
   2237	001234					CALL	.XFXCK		; CHECK THE FXCT CODE OUT
	001234	004737 	001314'			 JSR	PC,.XFXCK
   2238	001240					CALL	.FXCT		; DO THE FUNCTION EXECUTE
	001240	004737 	000000G			 JSR	PC,.FXCT
   2239	001244	122715 	000054 			CMPB	#',,(R5)	; [5.1014]IS THIS A LIST
   2240	001250	001002 				BNE	10$		; [5.1014]NO -- GO ON
   2241	001252	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COMMA
   2242	001254	000760 				BR	.DFXCT		; [5.1014]DO NEXT
   2243	001256				10$:	RETURN			; [5.1014]EXIT
	001256	000207 				 RTS	PC
   2244						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 53
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

   2246					.SBTTL	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
   2247
   2248					;+
   2249					; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
   2250					; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
   2251					; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
   2252					;
   2253					; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
   2254					; READ, WRITE AND EXECUTE SUBROUTINES.
   2255					;
   2256					; INPUT ARGUMENTS:
   2257					;
   2258					;	R0 HOLDS THE FUNCTION CODE TO BE CHECKED
   2259					;
   2260					; OUTPUT ARGUMENTS:
   2261					;
   2262					;	NONE.
   2263					;
   2264					; ERROR CODES RETURNED:
   2265					;
   2266					;	IFC -- ILLEGAL FUNCTION CODE.
   2267					;	OFC -- ODD FUNCTION CODE.
   2268					;-
   2269
   2270						.ENABL	LSB
   2271
   2272	001260				.XFRCK::			; HERE TO CHECK FUNCTION READ CODE
   2273	001260	020027 	000200 			CMP	R0,#FR.100	; IS IT .LT. FR.100?
   2274	001264	103422 				BLO	FNCIFC		; NO -- ERROR
   2275	001266	020027 	000376 			CMP	R0,#FR.177	; YES -- IS IT .GT. FR.177?
   2276	001272	101017 				BHI	FNCIFC		; YES -- ERROR
   2277	001274	000412 				BR	10$		; NO -- SEE IF IT'S ODD
   2278						;
   2279	001276				.XFWCK::			; HERE TO CHECK FUNCTION WRITE CODE
   2280	001276	020027 	000100 			CMP	R0,#FW.040	; IS IT .LT. FW.040?
   2281	001302	103413 				BLO	FNCIFC		; NO -- ERROR
   2282	001304	020027 	000176 			CMP	R0,#FW.LAR	; YES -- IS IT .GT. FW.077?
   2283	001310	101010 				BHI	FNCIFC		; YES -- ERROR
   2284	001312	000403 				BR	10$		; NO -- SEE IF IT'S ODD
   2285						;
   2286	001314				.XFXCK::			; HERE TO CHECK FUNCTION EXECUTE CODE
   2287	001314	020027 	000076 			CMP	R0,#FX.037	; IS IT .GT. FX.037?
   2288	001320	101004 				BHI	FNCIFC		; YES -- ERROR
   2289	001322				10$:
   2290	001322	032700 	000001 			BIT	#BIT00,R0	; NO -- IS IT ODD?
   2291	001326	001004 				BNE	FNCOFC		; YES -- ERROR
   2292	001330					RETURN			; NO -- ALL OK, RETURN TO CALLER
	001330	000207 				 RTS	PC
   2293	001332				FNCIFC:
   2294	001332					ERROR$	IFC		; ERROR -- ILLEGAL FUNCTION CODE
	001332	012746 	034463 			 MOV	#^RIFC,-(SP)
	001336	104400 				 TRAP	TC.ERR
   2295						;
   2296	001340				FNCOFC:
   2297	001340					ERROR$	OFC		; ERROR -- ODD FUNCTION CODE
	001340	012746 	057263 			 MOV	#^ROFC,-(SP)
	001344	104400 				 TRAP	TC.ERR
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO M1113  03-APR-86 22:56  PAGE 53-1
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

   2298						;
   2299
   2300						.DSABL	LSB
DISCC -- DISCONNECT COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 55
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

   2303					.TITLE	DISCC -- DISCONNECT COMMAND MODULE 7702.28
   2304
   2305						.IDENT	"005000"
   2306					;
   2307					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2308					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2309					;			ALL RIGHTS RESERVED.
   2310					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2311					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2312					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2313					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2314					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2315					;
   2316					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2317					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2318					;       CORPORATION.
   2319					;
   2320					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2321					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2322					;
   2323					;		MODULE: DISCONNECT COMMAND
   2324					;
   2325					;		VERSION: 05-00
   2326					;
   2327					;		AUTHOR: R. BELANGER
   2328					;
   2329					;		DATE: 7702.28
   2330					;
   2331					;	THIS MODULE CONTAINS:
   2332					;
   2333					;	1) DISCONNECT COMMAND CODE
   2334
   2335						.MCALL	DIR$,RQST$
DISCC -- DISCONNECT COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 56
.DISCC -- THE "DISCONNECT" COMMAND 7702.28

   2337					.SBTTL	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
   2338
   2339					;+
   2340					;  .DISCC --  THE "DISCONNECT" COMMAND
   2341					;
   2342					; THIS SUBROUTINE CHECKS THE SYNTAX OF THE "DISCONNECT" COMMAND
   2343					; AND REQUESTS THE KLINIK DISCONNECT TASK, "KLDISC". THE KLINIK DISCONNECT
   2344					; TASK WILL THEN DISCONNECT THE KLINIK LINE, LOG THE DISCONNECT AND
   2345					; RETURN THE THE RSX20F COMMAND PARSER.
   2346					;
   2347					; INPUT ARGUMENTS:
   2348					;
   2349					;	NONE.
   2350					;
   2351					; OUTPUT ARGUMENTS:
   2352					;
   2353					;	NONE.
   2354					;
   2355					; ERROR CODES RETURNED:
   2356					;
   2357					;	NONE.
   2358					;-
   2359
   2360	001346				.DISCC::
   2361	001346					CALL	.CKEOC		; MUST HAVE E-O-C
	001346	004737 	000000G			 JSR	PC,.CKEOC
   2362	001352	112737 	000003 	000001G		MOVB	#3,.KLNSW+1	; FLAG DISCONNECT
   2364	001360					DIR$	#RQSKLD		; REQUEST DISCONNECT TASK
	001360	012746 	000000'			MOV	#RQSKLD,-(SP)
	001364	104375 				EMT	375
   2366	001366					CALLR	.EXITP		; GO AWAY FOR NOW
	001366	000137 	000000G			 JMP	.EXITP
   2367						;
   2368
   2369	000000					.PSECT	DPBS
   2370
   2371	000000				RQSKLD:
   2372	000000					RQST$	KLDISC,,10
	000000	   013 	   007 			.BYTE	11.,7
	000002	043244 	035473 			.RAD50	/KLDISC/
	000006	000000 	000000 			.WORD	0,0
	000012	000010 				.WORD	10
	000014	   000 	   000 			.BYTE	,
   2373
   2374	001372					.PSECT
   2375					.TITLE	EDELE -- DEPOSIT / EXAMINE ELEVEN COMMAND MODULE 7603.30
   2376
   2377						.IDENT	"006130"
   2378
   2379					;
   2380					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2381					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2382					;			ALL RIGHTS RESERVED.
   2383					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2384					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2385					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2386					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 56-1
.DISCC -- THE "DISCONNECT" COMMAND 7702.28

   2387					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2388					;
   2389					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2390					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2391					;       CORPORATION.
   2392					;
   2393					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2394					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2395					;
   2396					;		MODULE: DEPOSIT / EXAMINE ELEVEN COMMAND
   2397					;
   2398					;		VERSION: 06-13
   2399					;
   2400					;		AUTHOR: R. BELANGER
   2401					;
   2402					;		DATE: 7603.30
   2403					;
   2404					;	THIS MODULE CONTAINS:
   2405					;
   2406					;	1) DEPOSIT / EXAMINE ELEVEN COMMAND CODE
   2407					;
   2408					;29-APR-83  TCO 6.1599	DAVID WEAVER
   2409					;	EXAMINE ELEVEN ADDR1:ADDR2 CAN LOOP OVER MEMORY IF ADDR2 IS ODD OR
   2410					;	THE RANGE CROSSES 100000.
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 57
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   2412					.SBTTL	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
   2413
   2414					;+
   2415					; .DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND.
   2416					;
   2417					; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE PDP-11
   2418					; ADDRESS SPECIFIED.
   2419					;
   2420					; INPUT ARGUMENTS:
   2421					;
   2422					;	NONE.
   2423					;
   2424					; OUTPUT ARGUMENTS:
   2425					;
   2426					;	THE PDP-11 ADDRESS DEPOSITED IS IN ".EDELA"
   2427					;	THE DATA DEPOSITED IS IN ".ELDDW".
   2428					;
   2429					; ERROR CODES RETURNED:
   2430					;
   2431					;	NONE.
   2432					;-
   2433
   2434	001372				.DPOSE::
   2435	001372					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	001372	004737 	000000G			 JSR	PC,.CKARG
   2436	001376	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   2437	001400	012700 	000000G			MOV	#.DPETB,R0	; DEPOSIT EXTENSION TABLE POINTER TO R0
   2438	001404					CALL	.TSCAN		; SCAN IT
	001404	004737 	000000G			 JSR	PC,.TSCAN
   2439	001410					CALLR	@2(R0)		; DISPATCH FOR IT
	001410	000170 	000002 			 JMP	@2(R0)
   2440						;
   2441	001414				10$:
   2442	001414					CALL	.GTELN		; READ THE ADDRESS
	001414	004737 	000000G			 JSR	PC,.GTELN
   2443
   2444	001420	032700 	000001 			BIT	#BIT00,R0	; IS IT ODD?
   2445	001424	001050 				BNE	DPOOAI		; YES -- GIVE "OAI" ERROR
   2446	001426					PUSH	R0		; NO -- SAVE IT
	001426	010046 				 MOV	R0,-(SP)
   2447	001430					CALL	.CKCOL		; .CHECK SEPARATOR
	001430	004737 	000000G			 JSR	PC,.CKCOL
   2448	001434					CALL	.GTELN		; .READ THE DATA
	001434	004737 	000000G			 JSR	PC,.GTELN
   2449	001440	010001 				MOV	R0,R1		; .DATA TO R1
   2450	001442					POP	R0		; .ADDRESS TO R0
	001442	012600 				 MOV	(SP)+,R0
   2451
   2452					;	[CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 58
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

   2454					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2455
   2456	001444				.DPSEE::			; EXTENDED DEPOSIT ENTRY POINT
   2457	001444					CALL	.CKEOC		; CHECK FOR E-O-C
	001444	004737 	000000G			 JSR	PC,.CKEOC
   2458	001450	032700 	000001 			BIT	#BIT00,R0	; IS THE ADDRESS ODD?
   2459	001454	001034 				BNE	DPOOAI		; YES -- GIVE "OAI" ERROR
   2460	001456					PUSH	R0		; NO -- SAVE THE ADDRESS
	001456	010046 				 MOV	R0,-(SP)
   2461	001460					PUSH	R1		; .AND THE DEPOSIT DATA
	001460	010146 				 MOV	R1,-(SP)
   2462	001462	010037 	000000G			MOV	R0,.EDELA	; ..LEAVE TRACKS
   2463	001466	010137 	000000G			MOV	R1,.ELDDW	; ..MORE TRACKS
   2464	001472	013737 	000000G	000000G		MOV	.TRP4V,.SSTTB	; ..SET UP TRAP AT 4 TRAP
   2465	001500	011001 				MOV	(R0),R1		; ..READ ORIGINAL CONTENTS
   2466	001502					CALL	.TYELA		; ..PRINT THE ADDRESS
	001502	004737 	000000G			 JSR	PC,.TYELA
   2467	001506	112700 	000134 			MOVB	#'\,R0		; ..BACK SLASH
   2468	001512					CALL	.TYCHR		; ..PRINT IT
	001512	004737 	000000G			 JSR	PC,.TYCHR
   2469	001516					CALL	.TYSPC		; ..AND A SPACE
	001516	004737 	000000G			 JSR	PC,.TYSPC
   2470	001522	010100 				MOV	R1,R0		; ..DATA TO R0
   2471	001524					CALL	.TYELN		; ..PRINT THAT
	001524	004737 	000000G			 JSR	PC,.TYELN
   2472	001530					POP	R1		; ..RESTORE DATA
	001530	012601 				 MOV	(SP)+,R1
   2473	001532					POP	R0		; .AND ADDRESS
	001532	012600 				 MOV	(SP)+,R0
   2474	001534	010110 				MOV	R1,(R0)		; DO THE DEPOSIT
   2475	001536	005037 	000000G			CLR	.SSTTB		; RESET TRAP AT 4 TRAP
   2476	001542					CALLR	.TCRLF		; TO CALLER
	001542	000137 	000000G			 JMP	.TCRLF
   2477						;
   2478	001546				DPOOAI:
   2479	001546					ERROR$	OAI		; ERROR -- ODD ADDRESS ILLEGAL
	001546	012746 	056761 			 MOV	#^ROAI,-(SP)
	001552	104400 				 TRAP	TC.ERR
   2480						;
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 59
.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   2482					.SBTTL	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   2483
   2484						.ENABL	LSB
   2485
   2486	001554				.DPEWT::			; DEPOSIT <ELEVEN> THIS
   2487	001554	013700 	000000G			MOV	.EDELA,R0	; ADDRESS TO R0
   2488	001560	000413 				BR	10$		; CHECK FOR ARGUMENTS
   2489						;
   2490	001562				.DPEWD::			; DEPOSIT <ELEVEN> DECREMENT
   2491	001562					CALL	.EDEWD		; DECREMENT THE ADDRESS
	001562	004737 	000374'			 JSR	PC,.EDEWD
   2492	001566	000410 				BR	10$		; EXIT THRU COMMON CODE
   2493						;
   2494	001570				.DPEWI::			; DEPOSIT <ELEVEN> INCREMENT
   2495	001570					CALL	.EDEWI		; INCREMENT THE ADDRESS
	001570	004737 	000406'			 JSR	PC,.EDEWI
   2496	001574	000405 				BR	10$		; EXIT THRU COMMON CODE
   2497						;
   2498	001576				.DPEWN::			; DEPOSIT <ELEVEN> NEXT
   2499	001576					CALL	.EDEWN		; GET THE NEXT ADDRESS
	001576	004737 	000406'			 JSR	PC,.EDEWN
   2500	001602	000402 				BR	10$		; EXIT THRU COMMON CODE
   2501						;
   2502	001604				.DPEWP::			; DEPOSIT <ELEVEN> PREVIOUS
   2503	001604					CALL	.EDEWP		; GET THE PREVIOUS ADDRESS
	001604	004737 	000374'			 JSR	PC,.EDEWP
   2504	001610				10$:
   2505	001610	122715 	000075 			CMPB	#'=,(R5)	; DOES AN ARGUMENT FOLLOW?
   2506	001614	001403 				BEQ	20$		; YES -- GO GET IT
   2507	001616	013701 	000000G			MOV	.ELDDW,R1	; NO -- USE OLD DATA
   2508	001622	000710 				BR	.DPSEE		; AND DO THE DEPOSIT
   2509						;
   2510	001624				20$:
   2511	001624	105725 				TSTB	(R5)+		; GET OVER THE COLON
   2512	001626					PUSH	R0		; SAVE THE ADDRESS
	001626	010046 				 MOV	R0,-(SP)
   2513	001630					CALL	.GTELN		; .READ THE DATA
	001630	004737 	000000G			 JSR	PC,.GTELN
   2514	001634	010001 				MOV	R0,R1		; .DATA TO R1
   2515	001636					POP	R0		; .ADDRESS TO R0
	001636	012600 				 MOV	(SP)+,R0
   2516	001640	000701 				BR	.DPSEE		; DO THE DEPOSIT
   2517						;
   2518
   2519						.DSABL	LSB
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 60
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   2521					.SBTTL	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
   2522
   2523					;+
   2524					; .EXAME -- THE "EXAMINE <ELEVEN> COMMAND.
   2525					;
   2526					; THIS ROUTINE WILL EXAMINE AND DISPLAY THE CONTEN OF ONE PDP-11
   2527					; ELEVEN MEMORY LOCATION ON THE CONSOLE DEVICE.
   2528					;
   2529					; INPUT ARGUMENTS:
   2530					;
   2531					;	NONE.
   2532					;
   2533					; OUTPUT ARGUMENTS:
   2534					;
   2535					;	THE ADDRESS EXAMINED IS IN ".EDELA"
   2536					;	THE EXAMINED DATA IS IN ".ELEDW"
   2537					;
   2538					; ERROR CODES RETURNED:
   2539					;
   2540					;	NONE.
   2541					;-
   2542
   2543	001642				.EXAME::
   2544	001642					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	001642	004737 	000000G			 JSR	PC,.CKARG
   2545	001646	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   2546	001650	012700 	000000G			MOV	#.EXETB,R0	; EXTENSION TABLE POINTER TO R0
   2547	001654					CALL	.TSCAN		; SCAN IT
	001654	004737 	000000G			 JSR	PC,.TSCAN
   2548	001660					CALLR	@2(R0)		; DO WHAT IS SAYS TO
	001660	000170 	000002 			 JMP	@2(R0)
   2549						;
   2550	001664				10$:
   2551	001664					CALL	.GTELN		; READ THE ADDRESS
	001664	004737 	000000G			 JSR	PC,.GTELN
   2552
   2553					;	[CONTINUED ON THE FOLLOWING PAGE]
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 61
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

   2555					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2556
   2557	001670				.EXMEE::			; EXTENDED EXAMINE ENTRY POINT
   2558	001670	010037 	000070'			MOV	R0,STOPEX	; [5.1014]SAVE INITIAL ADDRESS
   2559	001674					CALL	.CKEOC		; CHECK FOR E-O-C
	001674	004737 	000000G			 JSR	PC,.CKEOC
   2560	001700	032700 	000001 		1$:	BIT	#BIT00,R0	; IS IT ODD?
   2561	001704	001101 				BNE	EXAOAI		; YES -- GIVE "OAI" ERROR
   2562	001706	013737 	000000G	000000G		MOV	.TRP4V,.SSTTB	; SET UP TRAP AT 4 TRAP
   2563	001714	010037 	000000G			MOV	R0,.EDELA	; .LEAVE SOME TRACKS
   2564	001720	011001 				MOV	(R0),R1		; DO THE EXAMINE
   2565	001722					PUSH	R0		; [5.1014]SAVE CURRENT ADDRESS
	001722	010046 				 MOV	R0,-(SP)
   2566	001724	005037 	000000G			CLR	.SSTTB		; RESET TRAP AT 4 TRAP
   2567	001730	010137 	000000G			MOV	R1,.ELEDW	; MORE TRACKS
   2568	001734					CALL	.TYELA		; TYPE THE ADDRESS
	001734	004737 	000000G			 JSR	PC,.TYELA
   2569	001740	112700 	000134 			MOVB	#'\,R0		; BACKSLASH
   2570	001744					CALL	.TYCHR		; TYPE IT
	001744	004737 	000000G			 JSR	PC,.TYCHR
   2571	001750					CALL	.TYSPC		; AND A SPACE
	001750	004737 	000000G			 JSR	PC,.TYSPC
   2572	001754	010100 				MOV	R1,R0		; DATA TO R0
   2573	001756					CALL	.TYELN		; TYPE THAT
	001756	004737 	000000G			 JSR	PC,.TYELN
   2574	001762					CALL	.TCRLF		; END THE LINE
	001762	004737 	000000G			 JSR	PC,.TCRLF
   2575	001766				5$:	POP	R0		; [5.1014]RESTORE ADDRESS
	001766	012600 				 MOV	(SP)+,R0
   2576	001770	005737 	000072'			TST	RNGEX		; [5.1014]RANGE IN PROGRESS?
   2577	001774	001406 				BEQ	7$		; [5.1014]NO -- GO ON
   2578	001776	020037 	000070'			CMP	R0,STOPEX	; [5.1014]YES -- DONE?
   2579	002002	103003 				BHIS	7$		; [6.1599]YES -- GO ON
   2580	002004	063700 	000074'			ADD	INCEX,R0	; [5.1014]NO -- NEXT ADDRESS
   2581	002010	000733 				BR	1$		; [5.1014]DO EXAMINE
   2582	002012	005037 	000072'		7$:	CLR	RNGEX		; [5.1014]CLEAR RANGE IN PROGRESS
   2583	002016	122715 	000054 			CMPB	#',,(R5)	; [5.1014]IS THIS A LIST?
   2584	002022	001002 				BNE	20$		; [5.1014]NO -- GO NO
   2585	002024	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COMMA
   2586	002026	000705 				BR	.EXAME		; [5.1014]DO NEXT
   2587	002030	122715 	000072 		20$:	CMPB	#':,(R5)	; [5.1014]IS THIS A RANGE?
   2588	002034	001024 				BNE	40$		; [5.1014]NO -- EXIT
   2589	002036	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COLON
   2590	002040					CALL	.GTELN		; [5.1014]GET FINAL ADDRESS
	002040	004737 	000000G			 JSR	PC,.GTELN
   2591	002044					CALL	.CKEOC		; [5.1014]CHECK END OF COMMAND
	002044	004737 	000000G			 JSR	PC,.CKEOC
   2592	002050	005237 	000072'			INC	RNGEX		; [5.1014]SET RANGE IN PROGRESS
   2593	002054	012737 	000002 	000074'		MOV	#2,INCEX	; [5.1014]SET FORWARD INCREMENT
   2594	002062	020037 	000070'			CMP	R0,STOPEX	; [5.1014]FORWARD INCREMENT?
   2595	002066	101002 				BHI	30$		; [6.1599]YES -- GO ON
   2596	002070	005437 	000074'			NEG	INCEX		; [5.1014]NO -- NEGATE INCREMENT
   2597	002074				30$:	PUSH	STOPEX		; [5.1014]SAVE INITIAL ADDRESS
	002074	013746 	000070'			 MOV	STOPEX,-(SP)
   2598	002100	010037 	000070'			MOV	R0,STOPEX	; [5.1014]SET FINAL VALUE
   2599	002104	000730 				BR	5$		; [5.1014]DO RANGE INCREMENT
   2600	002106				40$:	RETURN			; [5.1014]DONE
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 61-1
.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29

	002106	000207 				 RTS	PC
   2601						;
   2602	002110				EXAOAI:
   2603	002110					ERROR$	OAI		; ERROR -- ODD ADDRESS ILLEGAL
	002110	012746 	056761 			 MOV	#^ROAI,-(SP)
	002114	104400 				 TRAP	TC.ERR
   2604						;
   2605
   2606	000070				.PSECT	DATA
   2607
   2608	000070	000000 			STOPEX:	.WORD	0		; [5.1014]FINAL/FIRST EXAMINE ADDRESS
   2609	000072	000000 			RNGEX:	.WORD	0		; [5.1014]RANGE IN PROGRESS FLAG
   2610	000074	000000 			INCEX:	.WORD	0		; [5.1014]INCREMENT VALUE
   2611
   2612	002116				.PSECT
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 62
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   2614					.SBTTL	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   2615
   2616						.ENABL	LSB
   2617
   2618	002116				.EXEWT::			; EXAMINE <ELEVEN> THIS
   2619	002116	013700 	000000G			MOV	.EDELA,R0	; ADDRESS TO R0
   2620	002122	000662 				BR	.EXMEE		; DO THE EXAMINE
   2621						;
   2622	002124				.EXEWD::			; EXAMINE <ELEVEN> DECREMENT
   2623	002124					CALL	.EDEWD		; DECREMENT IT
	002124	004737 	000374'			 JSR	PC,.EDEWD
   2624	002130	000657 				BR	.EXMEE		; DO THE EXAMINE
   2625						;
   2626	002132				.EXEWI::			; EXAMINE <ELEVEN> INCREMENT
   2627	002132					CALL	.EDEWI		; INCREMENT IT
	002132	004737 	000406'			 JSR	PC,.EDEWI
   2628	002136	000654 				BR	.EXMEE		; DO THE EXAMINE
   2629						;
   2630	002140				.EXEWN::			; EXAMINE <ELEVEN> NEXT
   2631	002140					CALL	.EDEWN		; GET THE NEXT ADDRESS
	002140	004737 	000406'			 JSR	PC,.EDEWN
   2632	002144	000651 				BR	.EXMEE		; DO THE EXAMINE
   2633						;
   2634	002146				.EXEWP::			; EXAMINE <ELEVEN> PREVIOUS
   2635	002146					CALL	.EDEWP		; GET THE PREVIOUS ADDRESS
	002146	004737 	000374'			 JSR	PC,.EDEWP
   2636	002152	000646 				BR	.EXMEE		; DO THE EXAMINE
   2637						;
   2638
   2639						.DSABL	LSB
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO M1113  03-APR-86 22:56  PAGE 64
.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 76

   2642
   2643					.TITLE	EDTEN -- DEPOSIT / EXAMINE TEN COMMAND MODULE 7603.21
   2644
   2645						.IDENT	"006130"
   2646
   2647					;
   2648					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2649					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2650					;			ALL RIGHTS RESERVED.
   2651					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2652					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2653					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2654					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2655					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2656					;
   2657					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2658					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2659					;       CORPORATION.
   2660					;
   2661					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2662					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2663					;
   2664					;		MODULE: DEPOSIT / EXAMINE TEN COMMAND
   2665					;
   2666					;		VERSION: 06-13
   2667					;
   2668					;		AUTHOR: R. BELANGER
   2669					;
   2670					;		DATE: 7603.21
   2671					;
   2672					;	THIS MODULE CONTAINS:
   2673					;
   2674					;	1) DEPOSIT / EXAMINE TEN COMMAND CODE
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 65
.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21

   2676					.SBTTL	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
   2677
   2678					;+
   2679					; .DEPAR -- THE "DEPOSIT AR" COMMAND.
   2680					;
   2681					; THIS ROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE KL AR REGISTER.
   2682					;
   2683					; INPUT ARGUMENTS:
   2684					;
   2685					;	NONE.
   2686					;
   2687					; OUTPUT ARGUMENTS:
   2688					;
   2689					;	NONE.
   2690					;
   2691					; ERROR CODES RETURNED:
   2692					;
   2693					;	NONE.
   2694					;-
   2695
   2696	002154				.DEPAR::
   2697	002154					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	002154	004737 	000000G			 JSR	PC,.CKRUN
   2698	002160					CALL	.CKCOL		; CHECK FOR A COLON
	002160	004737 	000000G			 JSR	PC,.CKCOL
   2699	002164	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   2700	002166	005046 				CLR	-(SP)		; .
   2701	002170	005046 				CLR	-(SP)		; ..
   2702	002172	010600 				MOV	SP,R0		; ...POINT TO IT
   2703	002174					CALL	.GTNUM		; ...READ A NUMBER
	002174	004737 	000000G			 JSR	PC,.GTNUM
   2704	002200					CALL	.CKEOC		; ...CHECK FOR E-O-C
	002200	004737 	000000G			 JSR	PC,.CKEOC
   2705	002204					PUSH	.KLFLG		; ...SAVE ".KLFLG"
	002204	013746 	000000G			 MOV	.KLFLG,-(SP)
   2706	002210	032716 	100000 			BIT	#KF.CLK,(SP)	; ....IS THE CLOCK RUNNING?
   2707	002214	001402 				BEQ	10$		; ....NO -- GO ON
   2708	002216					CALL	.KLHLT		; ....STOP THE KL - DEAD
	002216	004737 	000000G			 JSR	PC,.KLHLT
   2709	002222				10$:
   2710	002222	010001 				MOV	R0,R1		; ....DATA POINTER TO R1
   2711	002224					CALL	.WRTAR		; ....WRITE THE AR
	002224	004737 	000000G			 JSR	PC,.WRTAR
   2712	002230					POP	.SVKLF		; ....SET UP ".SVKLF"
	002230	012637 	000000G			 MOV	(SP)+,.SVKLF
   2713	002234	062706 	000006 			ADD	#^D6,SP		; ...RESET THE STACK
   2714	002240					CALLR	.KLRST		; RESTART THE KL AND EXIT
	002240	000137 	000000G			 JMP	.KLRST
   2715						;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 66
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   2717					.SBTTL	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
   2718
   2719					;+
   2720					; .DPOST -- THE "DEPOSIT <TEN>" COMMAND.
   2721					;
   2722					; THIS SUBROUTINE WILL DEPOSIT THE DATA SPECIFIED INTO THE DESIRED
   2723					; KL MEMORY LOCATION.
   2724					;
   2725					; INPUT ARGUMENTS:
   2726					;
   2727					;	NONE.
   2728					;
   2729					; OUTPUT ARGUMENTS:
   2730					;
   2731					;	THE ADDRESS DEPOSITED IS IN ".EDKLA"
   2732					;	THE DATA DEPOSITED IS IN ".DPBFR"
   2733					;
   2734					; ERROR CODES RETURNED:
   2735					;
   2736					;	APE -- KL APR ERROR
   2737					;	DMF -- DEPOSIT KL MEMORY FAILED
   2738					;	ESD -- EBOX STOPPED - DEPOSIT
   2739					;	KLA -- KL ADDRESS ERROR
   2740					;	KCN -- KL CLOCK NOT RUNNING
   2741					;	MRA -- MISSING REQUIRED ARGUMENT
   2742					;	NOR -- NUMBER OUT OF RANGE.
   2743					;	VFY -- VERIFY FAILED
   2744					;-
   2745
   2746	002244				.DPOST::
   2747	002244					CALL	.CKARG		; SEE IF AN ARGUMENT FOLLOWS
	002244	004737 	000000G			 JSR	PC,.CKARG
   2748	002250	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   2749	002252	012700 	000000G			MOV	#.DPETB,R0	; EXTENSION TABLE POINTER TO R0
   2750	002256					CALL	.TSCAN		; SCAN IT
	002256	004737 	000000G			 JSR	PC,.TSCAN
   2751	002262					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	002262	000170 	000002 			 JMP	@2(R0)
   2752						;
   2753	002266				10$:
   2754	002266	012700 	000000G			MOV	#.EDKLX,R0	; ADDRESS POINTER TO R0
   2755	002272					CALL	.GTKLA		; READ THE ADDRESS
	002272	004737 	000000G			 JSR	PC,.GTKLA
   2756	002276					CALL	.CKCOL		; CHECK FOR A COLON
	002276	004737 	000000G			 JSR	PC,.CKCOL
   2757	002302	010001 				MOV	R0,R1		; GOT IT, SAVE THE POINTER
   2758	002304	012700 	000000G			MOV	#.DPBFX,R0	; DATA POINTER TO R0
   2759	002310					CALL	.GTKLN		; READ THE DATA
	002310	004737 	000000G			 JSR	PC,.GTKLN
   2760
   2761					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 67
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   2763					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2764
   2765	002314				.DPSTE::			; EXTENDED DEPOSIT ENTRY POINT
   2766	002314					CALL	.CKEOC		; CHECK E-O-C CHARACTER
	002314	004737 	000000G			 JSR	PC,.CKEOC
   2767	002320	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK RUNNING?
   2768	002326	001510 				BEQ	DPOKCN		; NO -- GIVE "KCN" ERROR
   2769	002330	012702 	000000G			MOV	#.EDKLA,R2	; ADDRESS BUFFER POINTER TO R2
   2770	002334	012122 				MOV	(R1)+,(R2)+	; LOAD THE NEW ADDRESS
   2771	002336	012122 				MOV	(R1)+,(R2)+	; INTO THE ADDRESS BUFFER
   2772	002340	011112 				MOV	(R1),(R2)	; SO
   2773	002342	024242 				CMP	-(R2),-(R2)	; BACK THE POINTER UP
   2774	002344	010201 				MOV	R2,R1		; PUT IT IN R1
   2775	002346	012702 	000000G			MOV	#.DPBFR,R2	; DEPOSIT DATA POINTER TO R2
   2776	002352	012022 				MOV	(R0)+,(R2)+	; LOAD THE NEW DATA
   2777	002354	012022 				MOV	(R0)+,(R2)+	; INTO THE DEPOSIT DATA BUFFER
   2778	002356	011012 				MOV	(R0),(R2)	; SO
   2779	002360	024242 				CMP	-(R2),-(R2)	; BACK THE POINTER UP
   2780	002362					PUSH	R2		; SAVE THE DATA POINTER
	002362	010246 				 MOV	R2,-(SP)
   2781	002364					PUSH	R1		; .AND THE ADDRESS POINTER
	002364	010146 				 MOV	R1,-(SP)
   2782	002366	010600 				MOV	SP,R0		; ..SAVE THE POINTER TO THE BLOCK
   2783	002370					PUSH	R0		; ..SO
	002370	010046 				 MOV	R0,-(SP)
   2784	002372					PUSH	#.EXBFR		; ...POINT TO EXAMINE BUFFER
	002372	012746 	000000G			 MOV	#.EXBFR,-(SP)
   2785	002376					PUSH	R1		; ....FOR THIS ADDRESS
	002376	010146 				 MOV	R1,-(SP)
   2786	002400	010601 				MOV	SP,R1		; .....POINT TO THE BLOCK
   2787	002402	012700 	000200 			MOV	#ED.PHY,R0	; .....PHYSICAL REFERENCE
   2788	002406					CALL	.EXKLM		; .....EXAMINE IT FIRST
	002406	004737 	000000G			 JSR	PC,.EXKLM
   2789	002412					POP	R0		; .....GET THE ADDRESS POINTER
	002412	012600 				 MOV	(SP)+,R0
   2790	002414					CALL	.TYKLA		; ....PRINT IT
	002414	004737 	000000G			 JSR	PC,.TYKLA
   2791	002420					CALL	.TYSLS		; ....AND A <SLASH>
	002420	004737 	000000G			 JSR	PC,.TYSLS
   2792	002424					CALL	.TYSPC		; ....NOW A <SPACE>
	002424	004737 	000000G			 JSR	PC,.TYSPC
   2793	002430					POP	R0		; ....GET THE DATA POINTER
	002430	012600 				 MOV	(SP)+,R0
   2794	002432					CALL	.TYKLN		; ...TYPE THE DATA
	002432	004737 	000000G			 JSR	PC,.TYKLN
   2795	002436					CALL	.TCRLF		; ...AND A <CRLF>
	002436	004737 	000000G			 JSR	PC,.TCRLF
   2796
   2797					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 68
.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15

   2799					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2800
   2801	002442					POP	R1		; ...POINT TO THE DEPOSIT BLOCK
	002442	012601 				 MOV	(SP)+,R1
   2802	002444	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   2803	002450					CALL	.DPKLM		; ..DO THE DEPOSIT
	002450	004737 	000000G			 JSR	PC,.DPKLM
   2804	002454	005737 	000000G			TST	.VFYFL		; ..VERIFY THE DEPOSIT?
   2805	002460	001426 				BEQ	20$		; ..NO -- JUST EXIT
   2806	002462	012766 	000000G	000002 		MOV	#.EXBFR,2(SP)	; ..YES -- CHANGE THE BUFFER POINTER
   2807	002470	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   2808	002474					CALL	.EXKLM		; ..EXAMINE IT
	002474	004737 	000000G			 JSR	PC,.EXKLM
   2809	002500	012700 	000000G			MOV	#.DPBFR,R0	; ..DEPOSITED DATA
   2810	002504	012701 	000000G			MOV	#.EXBFR,R1	; ..EXAMINED DATA
   2811	002510					CALL	.TPCMP		; ..SEE IF THEY COMPARE
	002510	004737 	000000G			 JSR	PC,.TPCMP
   2812	002514	001020 				BNE	DPOVFE		; ..NO -- COMPLAIN
   2813	002516					CALL	.STPKL		; ..STOP THE KL
	002516	004737 	000000G			 JSR	PC,.STPKL
   2814	002522					CALL	.RDAPR		; ..SEE IF THERE ARE ANY APR ERRORS
	002522	004737 	003274'			 JSR	PC,.RDAPR
   2815	002526					CALL	.RSTKL		; ..RESTART THE KL
	002526	004737 	000000G			 JSR	PC,.RSTKL
   2816	002532	005700 				TST	R0		; ..ARE THERE ANY ERRORS?
   2817	002534	001002 				BNE	DPOAPE		; ..YES -- COMPLAIN
   2818	002536				20$:
   2819	002536	022626 				CMP	(SP)+,(SP)+	; ..CLEAR THE STACK
   2820	002540					RETURN			; TO CALLER
	002540	000207 				 RTS	PC
   2821	002542				DPOAPE:
   2822	002542					ERROR$	APE		; ERROR -- KL APR ERROR
	002542	012746 	004305 			 MOV	#^RAPE,-(SP)
	002546	104400 				 TRAP	TC.ERR
   2823						;
   2824	002550				DPOKCN:
   2825	002550					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	002550	012746 	042506 			 MOV	#^RKCN,-(SP)
	002554	104400 				 TRAP	TC.ERR
   2826						;
   2827	002556				DPOVFE:
   2828	002556					ERROR$	VFY		; ERROR -- VERIFY FAILED
	002556	012746 	105211 			 MOV	#^RVFY,-(SP)
	002562	104400 				 TRAP	TC.ERR
   2829						;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 69
.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.

   2831					.SBTTL	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   2832
   2833						.ENABL	LSB
   2834
   2835	002564				.DPKLT::			; DEPOSIT <TEN> THIS
   2836	002564	012700 	000000G			MOV	#.EDKLX,R0	; ADDRESS POINTER TO R0
   2837	002570	000413 				BR	10$		; CHECK FOR ARGUMENTS
   2838						;
   2839	002572				.DPKLD::			; DEPOSIT <TEN> DECREMENT
   2840	002572					CALL	.EDKLD		; DO THE DECREMENT
	002572	004737 	000444'			 JSR	PC,.EDKLD
   2841	002576	000410 				BR	10$		; EXIT THRU COMMON CODE
   2842						;
   2843	002600				.DPKLI::			; DEPOSIT <TEN> INCREMENT
   2844	002600					CALL	.EDKLI		; DO THE INCREMENT
	002600	004737 	000462'			 JSR	PC,.EDKLI
   2845	002604	000405 				BR	10$		; EXIT THRU COMMON CODE
   2846						;
   2847	002606				.DPKLN::			; DEPOSIT <TEN> NEXT
   2848	002606					CALL	.EDKLN		; GO GET NEXT ADDRESS
	002606	004737 	000432'			 JSR	PC,.EDKLN
   2849	002612	000402 				BR	10$		; EXIT THRU COMMON CODE
   2850						;
   2851	002614				.DPKLP::			; DEPOSIT <TEN> PREVIOUS
   2852	002614					CALL	.EDKLP		; GO GET PREVIOUS ADDRESS
	002614	004737 	000420'			 JSR	PC,.EDKLP
   2853	002620				10$:
   2854	002620	010001 				MOV	R0,R1		; ADDRESS POINTER TO R1
   2855	002622	122715 	000075 			CMPB	#'=,(R5)	; IS THERE AN ARGUMENT FOLLOWING?
   2856	002626	001403 				BEQ	20$		; YES -- GO GET IT
   2857	002630	012700 	000000G			MOV	#.DPBFX,R0	; NO -- USE OLD DATA
   2858	002634	000627 				BR	.DPSTE		; AND DO THE DEPOSIT
   2859						;
   2860	002636				20$:
   2861	002636	105725 				TSTB	(R5)+		; GET OVER THE COLON
   2862	002640	012700 	000000G			MOV	#.DPBFX,R0	; POINT TO THE DATA BUFFER
   2863	002644					CALL	.GTKLN		; GET A NUMBER
	002644	004737 	000000G			 JSR	PC,.GTKLN
   2864	002650	000621 				BR	.DPSTE		; DO THE DEPOSIT
   2865						;
   2866
   2867						.DSABL	LSB
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 70
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   2869					.SBTTL	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
   2870
   2871					;+
   2872					; .EXAMT -- THE "EXAMINE <TEN>" COMMAND.
   2873					;
   2874					; THIS SUBROUTINE READS A KL ADDRESS, EXAMINES THAT ADDRESS,
   2875					; AND PRINTS THE CONTENT OF THAT ADDRESS.
   2876					;
   2877					; INPUT ARGUMENTS:
   2878					;
   2879					;	NONE.
   2880					;
   2881					; OUTPUT ARGUMENTS:
   2882					;
   2883					;	NONE.
   2884					;
   2885					; ERROR CODES RETURNED:
   2886					;
   2887					;	EMF -- EXAMINE MEMORY FAILED.
   2888					;	ESE -- EBOX STOPPED - EXAMINE
   2889					;	KLA -- KL ADDRESS ERROR
   2890					;	KCN -- KL CLOCK NOT RUNNING
   2891					;	MRA -- MISSING REQUIRED ARGUMENT
   2892					;-
   2893
   2894	002652				.EXAMT::
   2895	002652					CALL	.CKARG		; SEE IF WE HAVE AN ARGUMENT
	002652	004737 	000000G			 JSR	PC,.CKARG
   2896	002656	002406 				BLT	10$		; NUMERIC -- GO AROUND TABLE SCAN
   2897	002660	012700 	000000G			MOV	#.EXETB,R0	; EXTENSION TABLE POINTER TO R0
   2898	002664					CALL	.TSCAN		; SCAN THE TABLE
	002664	004737 	000000G			 JSR	PC,.TSCAN
   2899	002670					CALLR	@2(R0)		; DO WHAT IT SAYS TO
	002670	000170 	000002 			 JMP	@2(R0)
   2900						;
   2901	002674				10$:
   2902	002674	012700 	000000G			MOV	#.EDKLX,R0	; POINT TO ADDRESS BUFFER
   2903	002700					CALL	.GTKLA		; GO GET THE ADDRESS
	002700	004737 	000000G			 JSR	PC,.GTKLA
   2904
   2905					;	[CONTINUED ON THE FOLLOWING PAGE]
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 71
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   2907					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2908
   2909	002704				.EXMTE::			; EXTENDED EXAMINE ENTRY POINT
   2910	002704					CALL	.CKEOC		; CHECK E-O-C CHARACTER
	002704	004737 	000000G			 JSR	PC,.CKEOC
   2911	002710	012037 	000076'			MOV	(R0)+,STOPTX	; [5.1014]SAVE INITIAL ADDRESS
   2912	002714	012037 	000100'			MOV	(R0)+,STOPTX+2	; [5.1014]SAVE INITIAL ADDRESS
   2913	002720	011037 	000102'			MOV	(R0),STOPTX+4	; [5.1014]SAVE INITIAL ADDRESS
   2914	002724	024040 				CMP	-(R0),-(R0)	; [5.1014]RESTORE POINTER
   2915	002726	032737 	100000 	000000G	1$:	BIT	#KF.CLK,.KLFLG	; IS THE KL CLOCK ON?
   2916	002734	001535 				BEQ	EXTKCN		; NO -- GIVE "KCN" ERROR
   2917	002736					PUSH	R0		; [5.1014]YES -- SAVE ADDRESS POINTER
	002736	010046 				 MOV	R0,-(SP)
   2918	002740					PUSH	#.EXBFR		; SAVE THE DATA POINTER
	002740	012746 	000000G			 MOV	#.EXBFR,-(SP)
   2919	002744	012702 	000000G			MOV	#.EDKLA,R2	; .ADDRESS BUFFER POINTER TO R2
   2920	002750	012022 				MOV	(R0)+,(R2)+	; .LOAD THE NEW ADDRESS
   2921	002752	012022 				MOV	(R0)+,(R2)+	; .INTO THE ADDRESS BUFFER
   2922	002754	011012 				MOV	(R0),(R2)	; .SO
   2923	002756	024242 				CMP	-(R2),-(R2)	; .BACK THE POINTER UP
   2924	002760					PUSH	R2		; .ADDRESS POINTER
	002760	010246 				 MOV	R2,-(SP)
   2925	002762	010601 				MOV	SP,R1		; ..POINT TO THE DATA BLOCK
   2926	002764	012700 	000200 			MOV	#ED.PHY,R0	; ..PHYSICAL REFERENCE
   2927	002770					CALL	.EXKLM		; ..DO THE EXAMINE
	002770	004737 	000000G			 JSR	PC,.EXKLM
   2928	002774					POP	R0		; ..POINT TO THE ADDRESS
	002774	012600 				 MOV	(SP)+,R0
   2929	002776					CALL	.TYKLA		; .PRINT THE ADDRESS
	002776	004737 	000000G			 JSR	PC,.TYKLA
   2930	003002					CALL	.TYSLS		; .TYPE A SLASH
	003002	004737 	000000G			 JSR	PC,.TYSLS
   2931	003006					CALL	.TYSPC		; .AND A SPACE
	003006	004737 	000000G			 JSR	PC,.TYSPC
   2932	003012					POP	R0		; .POINT TO THE DATA
	003012	012600 				 MOV	(SP)+,R0
   2933	003014					CALL	.TYKLN		; PRINT THE DATA
	003014	004737 	000000G			 JSR	PC,.TYKLN
   2934	003020					CALL	.TCRLF		; AND END THE LINE
	003020	004737 	000000G			 JSR	PC,.TCRLF
   2935	003024					POP	R0		; [5.1014]RESTORE ADDRESS POINTER
	003024	012600 				 MOV	(SP)+,R0
   2936	003026	005737 	000112'		5$:	TST	RNGTX		; [5.1014]RANGE IN PROGRESS?
   2937	003032	001412 				BEQ	7$		; [5.1014]NO -- GO ON
   2938	003034	012701 	000076'			MOV	#STOPTX,R1	; [5.1014]YES -- FINAL ADDRESS
   2939	003040					CALL	.TPCMP		; [5.1014]DONE?
	003040	004737 	000000G			 JSR	PC,.TPCMP
   2940	003044	001405 				BEQ	7$		; [5.1014]YES -- GO ON
   2941	003046	012701 	000104'			MOV	#INCTX,R1	; [5.1014]NO -- POINT TO INCREMENT
   2942	003052					CALL	.TPADD		; [5.1014]INCREMENT ADDRESS
	003052	004737 	000000G			 JSR	PC,.TPADD
   2943	003056	000723 				BR	1$		; [5.1014]EXAMINE NEXT ADDRESS
   2944	003060	005037 	000112'		7$:	CLR	RNGTX		; [5.1014]CLEAR RANGE IN PROGRESS FLAG
   2945	003064	122715 	000054 			CMPB	#',,(R5)	; [5.1014]IS THIS A LIST?
   2946	003070	001002 				BNE	20$		; [5.1014]NO -- GO NO
   2947	003072	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COMMA
   2948	003074	000666 				BR	.EXAMT		; [5.1014]DO NEXT
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 71-1
.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05

   2949	003076	122715 	000072 		20$:	CMPB	#':,(R5)	; [5.1014]IS THIS A RANGE?
   2950	003102	001051 				BNE	40$		; [5.1014]NO -- GO ON
   2951	003104	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COLON
   2952	003106					CALL	.GTKLA		; [5.1014]GET FINAL ADDRESS
	003106	004737 	000000G			 JSR	PC,.GTKLA
   2953	003112					CALL	.CKEOC		; [5.1014]CHECK FOR END OF COMMAND
	003112	004737 	000000G			 JSR	PC,.CKEOC
   2954	003116	005237 	000112'			INC	RNGTX		; [5.1014]SET RANGE IN PROGRESS
   2955	003122	012737 	000001 	000104'		MOV	#1,INCTX	; [5.1014]SET FORWARD RANGE
   2956	003130	005037 	000106'			CLR	INCTX+2		; [5.1014]CLEAR INCREMENT
   2957	003134	005037 	000110'			CLR	INCTX+4		; [5.1014]CLEAR INCREMENT
   2958	003140	012701 	000076'			MOV	#STOPTX,R1	; [5.1014]INITIAL ADDRESS POINTER
   2959	003144					CALL	.TPCMP		; [5.1014]FORWARD RANGE?
	003144	004737 	000000G			 JSR	PC,.TPCMP
   2960	003150	003006 				BGT	30$		; [5.1014]YES -- GO ON
   2961	003152					PUSH	R0		; [5.1014]NO -- SAVE FINAL ADDRESS
	003152	010046 				 MOV	R0,-(SP)
   2962	003154	012700 	000104'			MOV	#INCTX,R0	; [5.1014]RANGE INCREMENT
   2963	003160					CALL	.TPNEG		; [5.1014]NEGATE IT
	003160	004737 	000000G			 JSR	PC,.TPNEG
   2964	003164					POP	R0		; [5.1014]RESTORE ADDRESS
	003164	012600 				 MOV	(SP)+,R0
   2965	003166				30$:	PUSH	STOPTX		; [5.1014]SAVE INITIAL ADDRESS
	003166	013746 	000076'			 MOV	STOPTX,-(SP)
   2966	003172					PUSH	STOPTX+2	; [5.1014]SAVE INITIAL ADDRESS
	003172	013746 	000100'			 MOV	STOPTX+2,-(SP)
   2967	003176					PUSH	STOPTX+4	; [5.1014]SAVE INITIAL ADDRESS
	003176	013746 	000102'			 MOV	STOPTX+4,-(SP)
   2968	003202	012037 	000076'			MOV	(R0)+,STOPTX	; [5.1014]SET FINAL ADDRESS
   2969	003206	012037 	000100'			MOV	(R0)+,STOPTX+2	; [5.1014]SET FINAL ADDRESS
   2970	003212	012037 	000102'			MOV	(R0)+,STOPTX+4	; [5.1014]SET FINAL ADDRESS
   2971	003216					POP	-(R0)		; [5.1014]SET INITIAL ADDRESS
	003216	012640 				 MOV	(SP)+,-(R0)
   2972	003220					POP	-(R0)		; [5.1014]SET INITIAL ADDRESS
	003220	012640 				 MOV	(SP)+,-(R0)
   2973	003222					POP	-(R0)		; [5.1014]SET INITIAL ADDRESS
	003222	012640 				 MOV	(SP)+,-(R0)
   2974	003224	000700 				BR	5$		; [5.1014]DO INCREMENT
   2975	003226				40$:	RETURN			; [5.1014]EXIT
	003226	000207 				 RTS	PC
   2976						;
   2977	003230				EXTKCN:
   2978	003230					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	003230	012746 	042506 			 MOV	#^RKCN,-(SP)
	003234	104400 				 TRAP	TC.ERR
   2979						;
   2980
   2981	000076				.PSECT	DATA
   2982
   2983	000076	000000 	000000 	000000 	STOPTX:	.WORD	0,0,0		; [5.1014]FINAL/FIRST ADDRESS
   2984	000104	000000 	000000 	000000 	INCTX:	.WORD	0,0,0		; [5.1014]RANGE INCREMENT
   2985	000112	000000 			RNGTX:	.WORD	0		; [5.1014]RANGE IN PROGRESS FLAG
   2986
   2987	003236				.PSECT
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 72
.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.

   2989					.SBTTL	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
   2990
   2991						.ENABL	LSB
   2992
   2993	003236				.EXKLT::			; EXAMINE <TEN> THIS
   2994	003236	012700 	000000G			MOV	#.EDKLA,R0	; ADDRESS POINTER TO R0
   2995	003242	000620 				BR	.EXMTE		; DO THE EXAMINE
   2996						;
   2997	003244				.EXKLD::			; EXAMINE <TEN> DECREMENT
   2998	003244					CALL	.EDKLD		; DECREMENT IT
	003244	004737 	000444'			 JSR	PC,.EDKLD
   2999	003250	000615 				BR	.EXMTE		; DO THE EXAMINE
   3000						;
   3001	003252				.EXKLI::			; EXAMINE <TEN> INCREMENT
   3002	003252					CALL	.EDKLI		; INCREMENT IT
	003252	004737 	000462'			 JSR	PC,.EDKLI
   3003	003256	000612 				BR	.EXMTE		; DO THE EXAMINE
   3004						;
   3005	003260				.EXKLN::			; EXAMINE <TEN> NEXT
   3006	003260					CALL	.EDKLN		; GET NEXT ADDRESS
	003260	004737 	000432'			 JSR	PC,.EDKLN
   3007	003264	000607 				BR	.EXMTE		; DO THE EXAMINE
   3008						;
   3009	003266				.EXKLP::			; EXAMINE <TEN> PREVIOUS
   3010	003266					CALL	.EDKLP		; GET THE PREVIOUS ADDDRESS
	003266	004737 	000420'			 JSR	PC,.EDKLP
   3011	003272	000604 				BR	.EXMTE		; DO THE EXAMINE
   3012						;
   3013
   3014						.DSABL	LSB
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 73
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

   3016					.SBTTL	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
   3017
   3018					;+
   3019					; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR.
   3020					;
   3021					; THIS SUBROUTINE READS THE ERROR STATE OF THE KL APR AND RETURNS
   3022					; THAT ERROR STATE IN R0 AND ".APRWD".
   3023					;
   3024					; THE FORMAT OF THE DATA RETURNED IS:
   3025					;
   3026					;	AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
   3027					;	AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
   3028					;	AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
   3029					;	AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
   3030					;	AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
   3031					;	AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
   3032					;	AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
   3033					;
   3034					; INPUT ARGUMENTS:
   3035					;
   3036					;	NONE.
   3037					;
   3038					; OUTPUT ARGUMENTS:
   3039					;
   3040					;	R0 CONTAINS A COPY OF THE KL APR ERROR FLAGS
   3041					;	".APRWD" CONTAINS A COPY OF THE KL APR ERROR FLAGS
   3042					;
   3043					; ERROR CODES RETURNED:
   3044					;
   3045					;	FRF -- FUNCTION READ FAILED.
   3046					;-
   3047
   3048	003274				.RDAPR::
   3049	003274					PUSH	R1		; SAVE R1 ON THE STACK
	003274	010146 				 MOV	R1,-(SP)
   3050	003276	005001 				CLR	R1		; .CLEAR R1
   3051	003300	012700 	000220 			MOV	#FR.APR,R0	; .FR TO READ APR ERRORS
   3052	003304					CALL	.FREAD		; .READ APR ERRORS
	003304	004737 	000000G			 JSR	PC,.FREAD
   3053	003310	012701 	177751 			MOV	#-^D23,R1	; .SHIFT COUNT TO R1
   3054	003314					CALL	.TPSHI		; .SHIFT ERROR BITS INTO POSITION
	003314	004737 	000000G			 JSR	PC,.TPSHI
   3055	003320	042710 	177600 			BIC	#177600,(R0)	; .FLUSH UNWANTED BITS
   3056	003324	011037 	000000G			MOV	(R0),.APRWD	; .SAVE THE WORD
   3057	003330	011000 				MOV	(R0),R0		; .PUT A COPY IN R0
   3058	003332					POP	R1		; .RESTORE R1
	003332	012601 				 MOV	(SP)+,R1
   3059	003334					RETURN			; AND GO AWAY
	003334	000207 				 RTS	PC
   3060						;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 75
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

   3063
   3064
   3065					;
   3066					;                             COPYRIGHT (C)  1985 BY
   3067					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3068					;			ALL RIGHTS RESERVED.
   3069					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3070					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3071					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3072					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3073					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3074					;
   3075					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3076					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3077					;       CORPORATION.
   3078					;
   3079					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3080					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3081					;
   3082					;		MODULE: EXAMINE EBR/UBR
   3083					;
   3084					;		VERSION: 01-00
   3085					;
   3086					;		AUTHOR: M. RUDENKO
   3087					;
   3088					;		DATE: 8504.02
   3089					;
   3090					;
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 76
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

   3092					; .EBRUBR -- EXAMINE EBR/UBR COMMAND
   3093
   3094					;+
   3095					; EBRUBR -- THE EXAMINE EBR/ EXAMINE UBR COMMAND
   3096					;
   3097					;
   3098					; INPUT ARGUMENTS:
   3099					;
   3100					; 	R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
   3101					;
   3102					; OUTPUT ARGUMENTS:
   3103					;
   3104					;	NONE.
   3105					;
   3106					; ERROR CODES RETURNED:
   3107					;
   3108					;	IOC -- ILLEGAL KL OPCODE.
   3109					;	MRA -- MISSING REQUIRED ARGUMENT.
   3110					;	XTO -- KL EXECUTE TIMED OUT.
   3111					;-
   3112	000114					.PSECT	DATA
   3113	000114	000000 			EPTUPT:	.WORD	0		; CONTROL FLAG
   3114	000116	000000 	000000 	000000 	OFFSET::	.WORD	0,0,0		; OFFSET INTO PAGE TABLE
   3115	000124				GETEBR::	IOKL$	CONI,PAG,,100
	000124	   100 	   000 			 .BYTE	$$A,$$B
	000126	   200 	   012 			 .BYTE	$$C,$$D
	000130	   016 	   000 			 .BYTE	$$E,$$F
   3116	000132				GETUBR::	IOKL$	DATAI,PAG,,100
	000132	   100 	   000 			 .BYTE	$$A,$$B
	000134	   200 	   010 			 .BYTE	$$C,$$D
	000136	   016 	   000 			 .BYTE	$$E,$$F
   3117
   3118	003336					.PSECT
   3119						.ENABL	LSB
   3120
   3121	003336	005237 	000114'		.EXEBR::	INC	EPTUPT
   3122	003342	000402 				BR	5$
   3123	003344	005037 	000114'		.EXUBR::	CLR	EPTUPT
   3124	003350				5$:		PUSH <R0,R1>
	003350	010046 				 MOV	R0,-(SP)
	003352	010146 				 MOV	R1,-(SP)
   3125	003354	012700 	000116'			MOV	#OFFSET,R0
   3126	003360					CALL	.GTKLA
	003360	004737 	000000G			 JSR	PC,.GTKLA
   3127	003364	012700 	000132'			MOV	#GETUBR,R0
   3128	003370	005737 	000114'			TST	EPTUPT
   3129	003374	001402 				BEQ	20$
   3130	003376	012700 	000124'			MOV	#GETEBR,R0
   3131	003402				20$:	CALL	.EXCTF
	003402	004737 	000000G			 JSR	PC,.EXCTF
   3132
   3133	003406	012737 	000100 	000000G		MOV	#100,.EDKLX
   3134	003414	005037 	000002G			CLR	.EDKLX+2
   3135	003420	005037 	000004G			CLR	.EDKLX+4
   3136	003424					PUSH	#.EXBFR
	003424	012746 	000000G			 MOV	#.EXBFR,-(SP)
   3137	003430					PUSH	#.EDKLX
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 76-1
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

	003430	012746 	000000G			 MOV	#.EDKLX,-(SP)
   3138	003434	010601 				MOV	SP,R1
   3139	003436	012700 	000200 			MOV	#ED.PHY,R0
   3140	003442					CALL	.EXKLM
	003442	004737 	000000G			 JSR	PC,.EXKLM
   3141	003446	005726 				TST	(SP)+
   3142	003450	005726 				TST	(SP)+
   3143	003452	012700 	000000G			MOV	#.EXBFR,R0
   3144	003456	012701 	000011 			MOV	#11,R1
   3145	003462					CALL	.TPSHI
	003462	004737 	000000G			 JSR	PC,.TPSHI
   3146	003466	012701 	000116'			MOV	#OFFSET,R1
   3147	003472					CALL	.TPADD
	003472	004737 	000000G			 JSR	PC,.TPADD
   3148	003476	012701 	000006G			MOV	#.EXBFR+6,R1
   3149	003502	012700 	000006G			MOV	#.EDKLX+6,R0
   3150	003506	014140 				MOV	-(R1),-(R0)
   3151	003510	014140 				MOV	-(R1),-(R0)
   3152	003512	014140 				MOV	-(R1),-(R0)
   3153	003514					CALL	.EXMTE
	003514	004737 	002704'			 JSR	PC,.EXMTE
   3154	003520					POP	<R1,R0>
	003520	012601 				 MOV	(SP)+,R1
	003522	012600 				 MOV	(SP)+,R0
   3155	003524					RETURN
	003524	000207 				 RTS	PC
   3156						.DSABL	LSB
   3157
EDTEN -- DEPOSIT / EXAMINE TEN 	MACRO M1113  03-APR-86 22:56  PAGE 77
.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24

   3159
   3160
   3161					.TITLE	EXCTC -- EXECUTE (XCT) COMMAND MODULE 7603.30
   3162
   3163						.IDENT	"005000"
   3164					;
   3165					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   3166					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3167					;			ALL RIGHTS RESERVED.
   3168					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3169					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3170					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3171					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3172					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3173					;
   3174					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3175					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3176					;       CORPORATION.
   3177					;
   3178					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3179					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3180					;
   3181					;		MODULE: EXECUTE COMMAND
   3182					;
   3183					;		VERSION: 05-00
   3184					;
   3185					;		AUTHOR: R. BELANGER
   3186					;
   3187					;		DATE: 7603.30
   3188					;
   3189					;	THIS MODULE CONTAINS:
   3190					;
   3191					;	1) EXECUTE COMMAND CODE
EXCTC -- EXECUTE (XCT) COMMAND 	MACRO M1113  03-APR-86 22:56  PAGE 78
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17

   3193					.SBTTL	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
   3194
   3195					;+
   3196					; .EXCTC -- THE "XCT" (EXECUTE) COMMAND
   3197					;
   3198					; THIS ROUTINE SIMULATES THE "XCT" SWITCH OF THE KL CONSOLE.
   3199					;
   3200					; INPUT ARGUMENTS:
   3201					;
   3202					; 	R0 POINTS TO THE KL INSTRUCTION TO BE EXECUTED.
   3203					;
   3204					; OUTPUT ARGUMENTS:
   3205					;
   3206					;	NONE.
   3207					;
   3208					; ERROR CODES RETURNED:
   3209					;
   3210					;	IOC -- ILLEGAL KL OPCODE.
   3211					;	MRA -- MISSING REQUIRED ARGUMENT.
   3212					;	XTO -- KL EXECUTE TIMED OUT.
   3213					;-
   3214
   3215	003526				.EXCTC::			; HERE FROM PARSER
   3216	003526	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3217	003530	005046 				CLR	-(SP)		; .
   3218	003532	005046 				CLR	-(SP)		; ..
   3219	003534	010600 				MOV	SP,R0		; ...POINT TO IT
   3220	003536					CALL	.GTKLN		; ...READ THE INSTRUCTION
	003536	004737 	000000G			 JSR	PC,.GTKLN
   3221	003542					CALL	.CKEOC		; ...CHECK E-O-C CHARACTER
	003542	004737 	000000G			 JSR	PC,.CKEOC
   3222	003546	032760 	000017 	000004 		BIT	#17,4(R0)	; ...CHECK HIGH PART OF OPCODE
   3223	003554	001005 				BNE	10$		; ...OK -- GO ON
   3224	003556	032760 	174000 	000002 		BIT	#^C3777,2(R0)	; ...CHECK LOW PART OF OPCODE
   3225	003564	001403 				BEQ	EXCIOC		; ...NONE THERE -- GIVE "IOC" ERROR
   3226	003566	010600 				MOV	SP,R0		; ...POINT TO THE INSTRUCTION
   3227	003570				10$:
   3228	003570					CALLR	.EXECT		; ...ALL OK -- GO DO IT
	003570	000137 	000000G			 JMP	.EXECT
   3229						;
   3230	003574				EXCIOC:
   3231	003574					ERROR$	IOC		; ERROR -- ILLEGAL OPCODE
	003574	012746 	035233 			 MOV	#^RIOC,-(SP)
	003600	104400 				 TRAP	TC.ERR
   3232						;
EXCTC -- EXECUTE (XCT) COMMAND 	MACRO M1113  03-APR-86 22:56  PAGE 79
.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17

   3234
   3235
   3236					.TITLE	EXDTE -- EXAMINE DTE-20 REGISTERS COMMAND
   3237
   3238						.IDENT	"006110"
   3239					;
   3240					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   3241					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3242					;			ALL RIGHTS RESERVED.
   3243					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3244					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3245					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3246					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3247					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3248					;
   3249					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3250					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3251					;       CORPORATION.
   3252					;
   3253					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3254					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3255					;
   3256					;		MODULE: EXAMINE DTE-20 COMMAND
   3257					;
   3258					;		VERSION: 06-11
   3259					;
   3260					;		AUTHOR: K. LEFEBVRE
   3261					;
   3262					;		DATE: 24-SEP-79
   3263					;
   3264					;	THIS MODULE CONTAINS:
   3265					;
   3266					;	1) EXAMINE DTE-20 REGISTERS COMMAND
   3267
   3268						.MCALL	.INH6,.ENB6
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 80
.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20

   3270					.SBTTL	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
   3271
   3272					;+
   3273					; .EXDTE -- THE "EXAMINE DTE-20" COMMAND.
   3274					;
   3275					; THIS ROUTINE WILL READ AND DISPLAY THE CONTENTS OF ALL THE DTE-20
   3276					; REGISTERS ON THE CONSOLE DEVICE.
   3277					;
   3278					;	THIS ROUTINE TYPES OUT ALL THE REGISTERS IN THE NEW FORMAT
   3279					;	AS WAS REQUIRED FOR TCO 5.1001
   3280					;
   3281					; INPUT ARGUMENTS:
   3282					;
   3283					;	NONE.
   3284					;
   3285					; OUTPUT ARGUMENTS:
   3286					;
   3287					;	NONE.
   3288					;
   3289					; ERROR CODES RETURNED:
   3290					;
   3291					;	NONE.
   3292					;-
   3293
   3294	003602				.EXDTE::
   3295	003602					CALL	.CKEOC		; CHECK E-O-C
	003602	004737 	000000G			 JSR	PC,.CKEOC
   3296	003606					CALLR	TYPDTE		; TYPE OUT DTE REGISTERS
	003606	000137 	003612'			 JMP	TYPDTE
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 81
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY

   3298					.SBTTL	TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
   3299
   3300					;+
   3301					; TYPDTE -- TYPE OUT DTE-20 REGISTERS SYMBOLLICALLY
   3302					;
   3303					; THIS ROUTINE WILL TYPE OUT THE CONTENTS OF ALL THE DTE-20 REGISTERS
   3304					; IN OCTAL AND WILL ALSO DECODE SOME OF THEM.
   3305					;
   3306					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3307					;
   3308					; INPUT ARGUMENTS:
   3309					;
   3310					;	NONE
   3311					;
   3312					; OUTPUT ARGUMENTS:
   3313					;
   3314					;	NONE
   3315					;
   3316					; ERROR CODES RETURNED:
   3317					;
   3318					;	NONE
   3319					;-
   3320
   3321	003612				TYPDTE:
   3322	003612	013700 	000000G			MOV	.PRDTE,R0	; DTE BASE REGISTER ADDRESS
   3323	003616	012701 	000140'			MOV	#DTEBUF,R1	; DTE REGISTER SAVE BUFFER
   3324	003622	012702 	000020 			MOV	#16.,R2		; REGISTER COUNT
   3326	003626					.INH6			; INHIBIT INTERRUPTS
	003626	013746 	177776 			MOV	@#PS,-(SP)
	003632	112737 	000300 	177776 		MOVB	#300,@#PS
   3328	003640	012021 			10$:	MOV	(R0)+,(R1)+	; SAVE DTE REGISTERS
   3329	003642	077202 				SOB	R2,10$		; DONE?
   3331	003644					.ENB6			; ENABLE INTERRUPTS
	003644	012637 	177776 			MOV	(SP)+,@#PS
   3333	003650	005002 				CLR	R2		; REGISTER COUNT
   3334	003652	016200 	000200'		20$:	MOV	DTEREG(R2),R0	; HEADER ADDRESS
   3335	003656					CALL	.TYMSG		; TYPE HEADER
	003656	004737 	000000G			 JSR	PC,.TYMSG
   3336	003662	016200 	000140'			MOV	DTEBUF(R2),R0	; REGISTER CONTENTS
   3337	003666					CALL	.TYELN		; TYPE VALUE
	003666	004737 	000000G			 JSR	PC,.TYELN
   3338	003672					CALL	@SYMTAB(R2)	; TYPE  CONTENTS SYMBOLLICALLY
	003672	004772 	000240'			 JSR	PC,@SYMTAB(R2)
   3339	003676	005722 				TST	(R2)+		; NEXT REGISTER
   3340	003700	020227 	000036 			CMP	R2,#30.		; DONE?
   3341	003704	003762 				BLE	20$		; NO
   3342	003706					RETURN			; YES
	003706	000207 				 RTS	PC
   3343
   3344	000140				.PSECT	DATA
   3345
   3346	000140				DTEBUF:	.BLKW	16.		; REGISTER BUFFER
   3347
   3348	000200				DTEREG:				; HEADER TEXT POINTERS
   3349	000200	000004'				.WORD	HDDLY
   3350	000202	000015'				.WORD	HDDEX3
   3351	000204	000030'				.WORD	HDDEX2
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 81-1
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY

   3352	000206	000043'				.WORD	HDDEX1
   3353	000210	000056'				.WORD	HDTAD1
   3354	000212	000071'				.WORD	HDTAD2
   3355	000214	000102'				.WORD	HDT10B
   3356	000216	000115'				.WORD	HDT11B
   3357	000220	000126'				.WORD	HDT10A
   3358	000222	000141'				.WORD	HDT11A
   3359	000224	000152'				.WORD	HDT10D
   3360	000226	000165'				.WORD	HDT11D
   3361	000230	000176'				.WORD	HDDAG1
   3362	000232	000211'				.WORD	HDDAG2
   3363	000234	000224'				.WORD	HDSTAT
   3364	000236	000237'				.WORD	HDDAG3
   3365
   3366	000240				SYMTAB:				; SYMBOLIC TYPE ROUTINES
   3367	000240	000300'				.WORD	NOOP			; DLYCNT
   3368	000242	000300'				.WORD	NOOP			; DEXWD3
   3369	000244	000300'				.WORD	NOOP			; DEXWD2
   3370	000246	003746'				.WORD	TYPDX1			; DEXWD1
   3371	000250	000300'				.WORD	NOOP			; TENAD1
   3372	000252	004016'				.WORD	TYPAD2			; TENAD2
   3373	000254	000300'				.WORD	NOOP			; TO10BC
   3374	000256	000300'				.WORD	NOOP			; TO11BC
   3375	000260	000300'				.WORD	NOOP			; TO10AD
   3376	000262	000300'				.WORD	NOOP			; TO11AD
   3377	000264	000300'				.WORD	NOOP			; TO10DT
   3378	000266	000300'				.WORD	NOOP			; TO11DT
   3379	000270	004240'				.WORD	TYPDG1			; DIAG1
   3380	000272	000300'				.WORD	NOOP			; DIAG2
   3381	000274	003710'				.WORD	STATYP			; STATUS
   3382	000276	004312'				.WORD	TYPDG3			; DIAG3
   3383
   3384	000300				NOOP:	RETURN			; NO SYMBOLIC TYPE OUT
	000300	000207 				 RTS	PC
   3385
   3386	000004				.PSECT	MESSAG
   3387
   3388	000004	   104 	   114 	   131 	HDDLY:	.ASCIZ/DLYCNT: /
	000007	   103 	   116 	   124
	000012	   072 	   040 	   000
   3389	000015	   015 	   012 	   104 	HDDEX3:	.ASCIZ<15><12>/DEXWD3: /
	000020	   105 	   130 	   127
	000023	   104 	   063 	   072
	000026	   040 	   000
   3390	000030	   015 	   012 	   104 	HDDEX2:	.ASCIZ<15><12>/DEXWD2: /
	000033	   105 	   130 	   127
	000036	   104 	   062 	   072
	000041	   040 	   000
   3391	000043	   015 	   012 	   104 	HDDEX1:	.ASCIZ<15><12>/DEXWD1: /
	000046	   105 	   130 	   127
	000051	   104 	   061 	   072
	000054	   040 	   000
   3392	000056	   015 	   012 	   124 	HDTAD1:	.ASCIZ<15><12>/TENAD1: /
	000061	   105 	   116 	   101
	000064	   104 	   061 	   072
	000067	   040 	   000
   3393	000071	   124 	   105 	   116 	HDTAD2:	.ASCIZ/TENAD2: /
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 81-2
TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY

	000074	   101 	   104 	   062
	000077	   072 	   040 	   000
   3394	000102	   015 	   012 	   124 	HDT10B:	.ASCIZ<15><12>/TO10BC: /
	000105	   117 	   061 	   060
	000110	   102 	   103 	   072
	000113	   040 	   000
   3395	000115	   124 	   117 	   061 	HDT11B:	.ASCIZ/TO11BC: /
	000120	   061 	   102 	   103
	000123	   072 	   040 	   000
   3396	000126	   015 	   012 	   124 	HDT10A:	.ASCIZ<15><12>/TO10AD: /
	000131	   117 	   061 	   060
	000134	   101 	   104 	   072
	000137	   040 	   000
   3397	000141	   124 	   117 	   061 	HDT11A:	.ASCIZ/TO11AD: /
	000144	   061 	   101 	   104
	000147	   072 	   040 	   000
   3398	000152	   015 	   012 	   124 	HDT10D:	.ASCIZ<15><12>/TO10DT: /
	000155	   117 	   061 	   060
	000160	   104 	   124 	   072
	000163	   040 	   000
   3399	000165	   124 	   117 	   061 	HDT11D:	.ASCIZ/TO11DT: /
	000170	   061 	   104 	   124
	000173	   072 	   040 	   000
   3400	000176	   015 	   012 	   104 	HDDAG1:	.ASCIZ<15><12>/DIAG1 : /
	000201	   111 	   101 	   107
	000204	   061 	   040 	   072
	000207	   040 	   000
   3401	000211	   015 	   012 	   104 	HDDAG2:	.ASCIZ<15><12>/DIAG2 : /
	000214	   111 	   101 	   107
	000217	   062 	   040 	   072
	000222	   040 	   000
   3402	000224	   015 	   012 	   123 	HDSTAT:	.ASCIZ<15><12>/STATUS: /
	000227	   124 	   101 	   124
	000232	   125 	   123 	   072
	000235	   040 	   000
   3403	000237	   015 	   012 	   104 	HDDAG3:	.ASCIZ<15><12>/DIAG3 : /
	000242	   111 	   101 	   107
	000245	   063 	   040 	   072
	000250	   040 	   000
   3404
   3405	003710				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 82
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT

   3407					.SBTTL	STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
   3408
   3409					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3410
   3411	003710				STATYP:
   3412	003710	016203 	000140'			MOV	DTEBUF(R2),R3	; DTE REGISTER CONTENTS
   3413	003714	012701 	000302'			MOV	#STATAB,R1	; FIRST MESSAGE PTR
   3414	003720	005703 			10$:	TST	R3		; REGISTER=0
   3415	003722	001410 				BEQ	30$		; YES-DONE
   3416	003724	006303 				ASL	R3		; SHIFT HIGH BIT TO CARRY
   3417	003726	103003 				BCC	20$		; BIT CLEAR?
   3418	003730	011100 				MOV	@R1,R0		; POINT TO MESSAGE
   3419	003732					CALL	.TYMSG		; NO-TYPE MESSAGE
	003732	004737 	000000G			 JSR	PC,.TYMSG
   3420	003736	062701 	000002 		20$:	ADD	#2,R1		; ADDRESS NEXT MESSAGE
   3421	003742	000766 				BR	10$		; CHECK NEXT BIT
   3422	003744				30$:	RETURN			; EXIT
	003744	000207 				 RTS	PC
   3423
   3424	000302				.PSECT	DATA
   3425
   3426	000302				STATAB:				; STATUS MESSAGE TABLE
   3427	000302	000252'				.WORD	STA15
   3428	000304	000306'				.WORD	STA14
   3429	000306	000327'				.WORD	STA13
   3430	000310	000362'				.WORD	STA12
   3431	000312	000402'				.WORD	STA11
   3432	000314	000432'				.WORD	STA10
   3433	000316	000450'				.WORD	STA9
   3434	000320	000502'				.WORD	STA8
   3435	000322	000532'				.WORD	STA7
   3436	000324	000561'				.WORD	STA6
   3437	000326	000604'				.WORD	STA5
   3438	000330	000643'				.WORD	STA4
   3439	000332	000671'				.WORD	STA3
   3440	000334	000714'				.WORD	STA2
   3441	000336	000744'				.WORD	STA1
   3442	000340	001004'				.WORD	STA0
   3443
   3444	000252				.PSECT	MESSAG
   3445
   3446	000252	   015 	   012 	   040 	STA15:	.ASCIZ<15><12>/ TO 10 NORMAL TERMINATION/
	000255	   124 	   117 	   040
	000260	   061 	   060 	   040
	000263	   116 	   117 	   122
	000266	   115 	   101 	   114
	000271	   040 	   124 	   105
	000274	   122 	   115 	   111
	000277	   116 	   101 	   124
	000302	   111 	   117 	   116
	000305	   000
   3447	000306	   015 	   012 	   040 	STA14:	.ASCIZ<15><12>/ BIT 14 UNUSED/
	000311	   102 	   111 	   124
	000314	   040 	   061 	   064
	000317	   040 	   125 	   116
	000322	   125 	   123 	   105
	000325	   104 	   000
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 82-1
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT

   3448	000327	   015 	   012 	   040 	STA13:	.ASCIZ<15><12>/ TO 10 ERROR TERMINATION/
	000332	   124 	   117 	   040
	000335	   061 	   060 	   040
	000340	   105 	   122 	   122
	000343	   117 	   122 	   040
	000346	   124 	   105 	   122
	000351	   115 	   111 	   116
	000354	   101 	   124 	   111
	000357	   117 	   116 	   000
   3449	000362	   015 	   012 	   040 	STA12:	.ASCIZ<15><12>/ RAM IS ZEROS/
	000365	   122 	   101 	   115
	000370	   040 	   111 	   123
	000373	   040 	   132 	   105
	000376	   122 	   117 	   123
	000401	   000
   3450	000402	   015 	   012 	   040 	STA11:	.ASCIZ<15><12>/ 10 REQUESTED 11 INTR/
	000405	   061 	   060 	   040
	000410	   122 	   105 	   121
	000413	   125 	   105 	   123
	000416	   124 	   105 	   104
	000421	   040 	   061 	   061
	000424	   040 	   111 	   116
	000427	   124 	   122 	   000
   3451	000432	   015 	   012 	   040 	STA10:	.ASCIZ<15><12>/ DEX WORD 1/
	000435	   104 	   105 	   130
	000440	   040 	   127 	   117
	000443	   122 	   104 	   040
	000446	   061 	   000
   3452	000450	   015 	   012 	   040 	STA9:	.ASCIZ<15><12>/ 11 MEMORY PARITY ERROR/
	000453	   061 	   061 	   040
	000456	   115 	   105 	   115
	000461	   117 	   122 	   131
	000464	   040 	   120 	   101
	000467	   122 	   111 	   124
	000472	   131 	   040 	   105
	000475	   122 	   122 	   117
	000500	   122 	   000
   3453	000502	   015 	   012 	   040 	STA8:	.ASCIZ<15><12>/ 11 REQUESTED 10 INTR/
	000505	   061 	   061 	   040
	000510	   122 	   105 	   121
	000513	   125 	   105 	   123
	000516	   124 	   105 	   104
	000521	   040 	   061 	   060
	000524	   040 	   111 	   116
	000527	   124 	   122 	   000
   3454	000532	   015 	   012 	   040 	STA7:	.ASCIZ<15><12>/ TO 11 TRANSFER DONE/
	000535	   124 	   117 	   040
	000540	   061 	   061 	   040
	000543	   124 	   122 	   101
	000546	   116 	   123 	   106
	000551	   105 	   122 	   040
	000554	   104 	   117 	   116
	000557	   105 	   000
   3455	000561	   015 	   012 	   040 	STA6:	.ASCIZ<15><12>/ E BUFFER SELECT/
	000564	   105 	   040 	   102
	000567	   125 	   106 	   106
	000572	   105 	   122 	   040
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 82-2
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT

	000575	   123 	   105 	   114
	000600	   105 	   103 	   124
	000603	   000
   3456	000604	   015 	   012 	   040 	STA5:	.ASCIZ<15><12>/ TO 11 TRANSFER STOP BY NULL/
	000607	   124 	   117 	   040
	000612	   061 	   061 	   040
	000615	   124 	   122 	   101
	000620	   116 	   123 	   106
	000623	   105 	   122 	   040
	000626	   123 	   124 	   117
	000631	   120 	   040 	   102
	000634	   131 	   040 	   116
	000637	   125 	   114 	   114
	000642	   000
   3457	000643	   015 	   012 	   040 	STA4:	.ASCIZ<15><12>/ E BUS PARITY ERROR/
	000646	   105 	   040 	   102
	000651	   125 	   123 	   040
	000654	   120 	   101 	   122
	000657	   111 	   124 	   131
	000662	   040 	   105 	   122
	000665	   122 	   117 	   122
	000670	   000
   3458	000671	   015 	   012 	   040 	STA3:	.ASCIZ<15><12>/ RESTRICTED MODE/
	000674	   122 	   105 	   123
	000677	   124 	   122 	   111
	000702	   103 	   124 	   105
	000705	   104 	   040 	   115
	000710	   117 	   104 	   105
	000713	   000
   3459	000714	   015 	   012 	   040 	STA2:	.ASCIZ<15><12>/ DEPOSIT-EXAMINE DONE/
	000717	   104 	   105 	   120
	000722	   117 	   123 	   111
	000725	   124 	   055 	   105
	000730	   130 	   101 	   115
	000733	   111 	   116 	   105
	000736	   040 	   104 	   117
	000741	   116 	   105 	   000
   3460	000744	   015 	   012 	   040 	STA1:	.ASCIZ<15><12>/ TO 11 BYTE ERROR TERMINATION/
	000747	   124 	   117 	   040
	000752	   061 	   061 	   040
	000755	   102 	   131 	   124
	000760	   105 	   040 	   105
	000763	   122 	   122 	   117
	000766	   122 	   040 	   124
	000771	   105 	   122 	   115
	000774	   111 	   116 	   101
	000777	   124 	   111 	   117
	001002	   116 	   000
   3461	001004	   015 	   012 	   040 	STA0:	.ASCIZ<15><12>/ INTERRUPTS ON/
	001007	   111 	   116 	   124
	001012	   105 	   122 	   122
	001015	   125 	   120 	   124
	001020	   123 	   040 	   117
	001023	   116 	   000
   3462
   3463	003746				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 83
TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT

   3465					.SBTTL	TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
   3466
   3467					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3468
   3469	003746				TYPDX1:
   3470	003746	012700 	001025'			MOV	#DX1MS1,R0	; DATA MESSAGE
   3471	003752					CALL	.TYMSG		; TYPE IT
	003752	004737 	000000G			 JSR	PC,.TYMSG
   3472	003756	012700 	000134'			MOV	#DTEBUF-4,R0	; ADDR OF REGISTERS
   3473	003762	060200 				ADD	R2,R0		; POINT TO DEX WORD 1
   3474	003764					CALL	.TYKLN		; TYPE IT
	003764	004737 	000000G			 JSR	PC,.TYKLN
   3475	003770	016203 	000140'			MOV	DTEBUF(R2),R3	; DEXWD1 VALUE
   3476	003774	042703 	000017 			BIC	#17,R3		; DEXWD1 BITS 4-15
   3477	004000	005703 				TST	R3		; BITS 4-15 MBZ
   3478	004002	001404 				BEQ	10$		; ARE THEY ZERO
   3479	004004	012700 	001045'			MOV	#DX1MS2,R0	; NO- MESSAGE
   3480	004010					CALL	.TYMSG		; TYPE IT
	004010	004737 	000000G			 JSR	PC,.TYMSG
   3481	004014				10$:	RETURN			; EXIT
	004014	000207 				 RTS	PC
   3482
   3483	001025				.PSECT	MESSAG
   3484
   3485	001025	   015 	   012 	   040 	DX1MS1:	.ASCIZ<15><12>/   KL10 DATA=/
	001030	   040 	   040 	   113
	001033	   114 	   061 	   060
	001036	   040 	   104 	   101
	001041	   124 	   101 	   075
	001044	   000
   3486	001045	   015 	   012 	   040 	DX1MS2:	.ASCIZ<15><12>/   DEXWD1 BITS 4-15 NON-ZERO/
	001050	   040 	   040 	   104
	001053	   105 	   130 	   127
	001056	   104 	   061 	   040
	001061	   102 	   111 	   124
	001064	   123 	   040 	   064
	001067	   055 	   061 	   065
	001072	   040 	   116 	   117
	001075	   116 	   055 	   132
	001100	   105 	   122 	   117
	001103	   000
   3487
   3488	004016				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 84
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT

   3490					.SBTTL	TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
   3491
   3492					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3493
   3494	004016				TYPAD2:
   3495	004016	012700 	001104'			MOV	#TA2MS1,R0	; ADDRESS SPACE MESSAGE
   3496	004022					CALL	.TYMSG		; TYPE IT
	004022	004737 	000000G			 JSR	PC,.TYMSG
   3497	004026	016203 	000136'			MOV	DTEBUF-2(R2),R3	; REGISTER CONTENTS
   3498	004032	000303 				SWAB	R3		; GET SPACE BITS
   3499		000004 				.REPT	4
   3500						ASR	R3
   3501						.ENDR
	004034	006203 				ASR	R3
	004036	006203 				ASR	R3
	004040	006203 				ASR	R3
	004042	006203 				ASR	R3
   3502	004044	042703 	177761 			BIC	#177761,R3	; SPACE BITS
   3503	004050	020327 	000012 			CMP	R3,#12		; RESERVED?
   3504	004054	003402 				BLE	10$		; NO
   3505	004056	012703 	000012 			MOV	#12,R3		; YES
   3506	004062	016300 	000342'		10$:	MOV	SPCTAB(R3),R0	; MESSAGE ADDR
   3507	004066					CALL	.TYMSG		; TYPE SPACE
	004066	004737 	000000G			 JSR	PC,.TYMSG
   3508	004072	012700 	001126'			MOV	#TA2MS2,R0	; OPERATION MESSAGE
   3509	004076					CALL	.TYMSG		; TYPE IT
	004076	004737 	000000G			 JSR	PC,.TYMSG
   3510	004102	016203 	000136'			MOV	DTEBUF-2(R2),R3	; REGISTER CONTENTS
   3511	004106	012700 	001343'			MOV	#DEPOS,R0	; DEPOSIT MESSAGE
   3512	004112	032703 	010000 			BIT	#10000,R3	; IS TI A DEPOSIT?
   3513	004116	001002 				BNE	40$		; YES
   3514	004120	012700 	001353'			MOV	#EXAM,R0	; NO-EXAMINE
   3515	004124				40$:	CALL	.TYMSG		; TYPE IT
	004124	004737 	000000G			 JSR	PC,.TYMSG
   3516	004130	012700 	001144'			MOV	#TA2MS3,R0	; PRO/REL MESSAGE
   3517	004134					CALL	.TYMSG		; TYPE IT
	004134	004737 	000000G			 JSR	PC,.TYMSG
   3518	004140	012700 	001363'			MOV	#PRON,R0	; PRO ON MESSAGE
   3519	004144	032703 	004000 			BIT	#4000,R3	; IS IT ON?
   3520	004150	001402 				BEQ	50$		; YES
   3521	004152	012700 	001367'			MOV	#PROFF,R0	; NO-OFF
   3522	004156				50$:	CALL	.TYMSG		; TYPE IT
	004156	004737 	000000G			 JSR	PC,.TYMSG
   3523	004162	032703 	003600 			BIT	#3600,R3	; CHECK MBZ BITS, ARE THEY?
   3524	004166	001404 				BEQ	60$		; YES
   3525	004170	012700 	001201'			MOV	#TA2MS4,R0	; NO-ERROR MESSAGE
   3526	004174					CALL	.TYMSG		; TYPE IT
	004174	004737 	000000G			 JSR	PC,.TYMSG
   3527	004200	012700 	001236'		60$:	MOV	#TA2MS5,R0	; ADDRESS MESSAGE
   3528	004204					CALL	.TYMSG		; TYPE IT
	004204	004737 	000000G			 JSR	PC,.TYMSG
   3529	004210	005046 				CLR	-(SP)		; ADDR BUFFER
   3530	004212	042703 	177600 			BIC	#177600,R3	; CLEAR EXTRA BITS
   3531	004216	010346 				MOV	R3,-(SP)	; ADDR BUFFER
   3532	004220	016246 	000140'			MOV	DTEBUF(R2),-(SP); ADDR BUFFER
   3533	004224	010600 				MOV	SP,R0		; BUFFER ADDRESS
   3534	004226					CALL	.TYKLA		; TYPE KL ADDR
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 84-1
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT

	004226	004737 	000000G			 JSR	PC,.TYKLA
   3535	004232	062706 	000006 			ADD	#6,SP		; POP OFF ADDR BUFFER
   3536	004236				80$:	RETURN			; EXIT
	004236	000207 				 RTS	PC
   3537
   3538	000342				.PSECT	DATA
   3539
   3540	000342				SPCTAB:
   3541	000342	001257'				.WORD	SPC1
   3542	000344	001263'				.WORD	SPC2
   3543	000346	001300'				.WORD	SPC3
   3544	000350	001304'				.WORD	SPC4
   3545	000352	001321'				.WORD	SPC5
   3546	000354	001332'				.WORD	SPC6
   3547
   3548	001104				.PSECT	MESSAG
   3549
   3550	001104	   015 	   012 	   040 	TA2MS1:	.ASCIZ<15><12>/ ADDRESS SPACE=/
	001107	   101 	   104 	   104
	001112	   122 	   105 	   123
	001115	   123 	   040 	   123
	001120	   120 	   101 	   103
	001123	   105 	   075 	   000
   3551	001126	   015 	   012 	   040 	TA2MS2:	.ASCIZ<15><12>/ OPERATION=/
	001131	   117 	   120 	   105
	001134	   122 	   101 	   124
	001137	   111 	   117 	   116
	001142	   075 	   000
   3552	001144	   015 	   012 	   040 	TA2MS3:	.ASCIZ<15><12>/ PROTECTION-RELOCATION IS /
	001147	   120 	   122 	   117
	001152	   124 	   105 	   103
	001155	   124 	   111 	   117
	001160	   116 	   055 	   122
	001163	   105 	   114 	   117
	001166	   103 	   101 	   124
	001171	   111 	   117 	   116
	001174	   040 	   111 	   123
	001177	   040 	   000
   3553	001201	   015 	   012 	   040 	TA2MS4:	.ASCIZ<15><12>/ TENAD1 BITS 7-10 NON-ZERO/
	001204	   124 	   105 	   116
	001207	   101 	   104 	   061
	001212	   040 	   102 	   111
	001215	   124 	   123 	   040
	001220	   067 	   055 	   061
	001223	   060 	   040 	   116
	001226	   117 	   116 	   055
	001231	   132 	   105 	   122
	001234	   117 	   000
   3554	001236	   015 	   012 	   040 	TA2MS5:	.ASCIZ<15><12>/ KL10 ADDRESS=/
	001241	   113 	   114 	   061
	001244	   060 	   040 	   101
	001247	   104 	   104 	   122
	001252	   105 	   123 	   123
	001255	   075 	   000
   3555	001257	   105 	   120 	   124 	SPC1:	.ASCIZ/EPT/
	001262	   000
   3556	001263	   105 	   130 	   105 	SPC2:	.ASCIZ/EXEC VIRTUAL/
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 84-2
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT

	001266	   103 	   040 	   126
	001271	   111 	   122 	   124
	001274	   125 	   101 	   114
	001277	   000
   3557	001300	   125 	   120 	   124 	SPC3:	.ASCIZ/UPT/
	001303	   000
   3558	001304	   125 	   123 	   105 	SPC4:	.ASCIZ/USER VIRTUAL/
	001307	   122 	   040 	   126
	001312	   111 	   122 	   124
	001315	   125 	   101 	   114
	001320	   000
   3559	001321	   120 	   110 	   131 	SPC5:	.ASCIZ/PHYSICAL/
	001324	   123 	   111 	   103
	001327	   101 	   114 	   000
   3560	001332	   122 	   105 	   123 	SPC6:	.ASCIZ/RESERVED/
	001335	   105 	   122 	   126
	001340	   105 	   104 	   000
   3561	001343	   104 	   105 	   120 	DEPOS:	.ASCIZ/DEPOSIT/
	001346	   117 	   123 	   111
	001351	   124 	   000
   3562	001353	   105 	   130 	   101 	EXAM:	.ASCIZ/EXAMINE/
	001356	   115 	   111 	   116
	001361	   105 	   000
   3563	001363	   117 	   116 	   040 	PRON:	.ASCIZ/ON /
	001366	   000
   3564	001367	   117 	   106 	   106 	PROFF:	.ASCIZ/OFF/
	001372	   000
   3565
   3566	004240				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 85
TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT

   3568					.SBTTL	TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
   3569
   3570					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3571
   3572	004240				TYPDG1:
   3573	004240	016203 	000140'			MOV	DTEBUF(R2),R3	; DIAG1
   3574	004244	042703 	170037 			BIC	#170037,R3	; GET STATUS BITS
   3575		000004 				.REPT	4		; LEFT JUSTIFY
   3576						ASL	R3
   3577						.ENDR
	004250	006303 				ASL	R3
	004252	006303 				ASL	R3
	004254	006303 				ASL	R3
	004256	006303 				ASL	R3
   3578	004260	012701 	000356'			MOV	#DIATAB,R1	; FIRST MESSAGE PTR
   3579	004264	005703 			10$:	TST	R3		; DONE?
   3580	004266	001410 				BEQ	30$		; YES-EXIT
   3581	004270	006303 				ASL	R3		; BIT SET?
   3582	004272	103003 				BCC	20$		; NO
   3583	004274	011100 				MOV	@R1,R0		; MESSAGE ADDR
   3584	004276					CALL	.TYMSG		; YES-TYPE MESSAGE
	004276	004737 	000000G			 JSR	PC,.TYMSG
   3585	004302	062701 	000002 		20$:	ADD	#2,R1		; NEXT MESSAGE
   3586	004306	000766 				BR	10$		; NEXT
   3587	004310				30$:	RETURN			; EXIT
	004310	000207 				 RTS	PC
   3588
   3589	000356				.PSECT	DATA
   3590
   3591	000356				DIATAB:
   3592	000356	001373'				.WORD	DG1B11
   3593	000360	001424'				.WORD	DG1B10
   3594	000362	001450'				.WORD	DG1B9
   3595	000364	001475'				.WORD	DG1B8
   3596	000366	001541'				.WORD	DG1B7
   3597	000370	001604'				.WORD	DG1B6
   3598	000372	001647'				.WORD	DG1B5
   3599
   3600	001373				.PSECT	MESSAG
   3601
   3602	001373	   015 	   012 	   040 	DG1B11:	.ASCIZ<15><12>/   KL CLOCK ERROR STOP/
	001376	   040 	   040 	   113
	001401	   114 	   040 	   103
	001404	   114 	   117 	   103
	001407	   113 	   040 	   105
	001412	   122 	   122 	   117
	001415	   122 	   040 	   123
	001420	   124 	   117 	   120
	001423	   000
   3603	001424	   015 	   012 	   040 	DG1B10:	.ASCIZ<15><12>/   KL IN RUN MODE/
	001427	   040 	   040 	   113
	001432	   114 	   040 	   111
	001435	   116 	   040 	   122
	001440	   125 	   116 	   040
	001443	   115 	   117 	   104
	001446	   105 	   000
   3604	001450	   015 	   012 	   040 	DG1B9:	.ASCIZ<15><12>/   KL IN HALT LOOP/
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 85-1
TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT

	001453	   040 	   040 	   113
	001456	   114 	   040 	   111
	001461	   116 	   040 	   110
	001464	   101 	   114 	   124
	001467	   040 	   114 	   117
	001472	   117 	   120 	   000
   3605	001475	   015 	   012 	   040 	DG1B8:	.ASCIZ<15><12>/   MAJOR STATE IS DEPOSIT-EXAMINE/
	001500	   040 	   040 	   115
	001503	   101 	   112 	   117
	001506	   122 	   040 	   123
	001511	   124 	   101 	   124
	001514	   105 	   040 	   111
	001517	   123 	   040 	   104
	001522	   105 	   120 	   117
	001525	   123 	   111 	   124
	001530	   055 	   105 	   130
	001533	   101 	   115 	   111
	001536	   116 	   105 	   000
   3606	001541	   015 	   012 	   040 	DG1B7:	.ASCIZ<15><12>/   MAJOR STATE IS TO-10 TRANSFER/
	001544	   040 	   040 	   115
	001547	   101 	   112 	   117
	001552	   122 	   040 	   123
	001555	   124 	   101 	   124
	001560	   105 	   040 	   111
	001563	   123 	   040 	   124
	001566	   117 	   055 	   061
	001571	   060 	   040 	   124
	001574	   122 	   101 	   116
	001577	   123 	   106 	   105
	001602	   122 	   000
   3607	001604	   015 	   012 	   040 	DG1B6:	.ASCIZ<15><12>/   MAJOR STATE IS TO-11 TRANSFER/
	001607	   040 	   040 	   115
	001612	   101 	   112 	   117
	001615	   122 	   040 	   123
	001620	   124 	   101 	   124
	001623	   105 	   040 	   111
	001626	   123 	   040 	   124
	001631	   117 	   055 	   061
	001634	   061 	   040 	   124
	001637	   122 	   101 	   116
	001642	   123 	   106 	   105
	001645	   122 	   000
   3608	001647	   015 	   012 	   040 	DG1B5:	.ASCIZ<15><12>/   DTE IN 10-11 DIAGNOSTIC MODE/
	001652	   040 	   040 	   104
	001655	   124 	   105 	   040
	001660	   111 	   116 	   040
	001663	   061 	   060 	   055
	001666	   061 	   061 	   040
	001671	   104 	   111 	   101
	001674	   107 	   116 	   117
	001677	   123 	   124 	   111
	001702	   103 	   040 	   115
	001705	   117 	   104 	   105
	001710	   000
   3609
   3610	004312				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO M1113  03-APR-86 22:56  PAGE 86
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT

   3612					.SBTTL	TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
   3613
   3614					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3615
   3616	004312				TYPDG3:
   3617	004312	016203 	000140'			MOV	DTEBUF(R2),R3	; DIAG3
   3618	004316	032703 	000002 			BIT	#2,R3		; NPR ERROR?
   3619	004322	001404 				BEQ	10$		; NO-EXIT
   3620	004324	012700 	001711'			MOV	#DG3B1,R0	; YES-MESSAGE
   3621	004330					CALL	.TYMSG		; TYPE IT
	004330	004737 	000000G			 JSR	PC,.TYMSG
   3622	004334				10$:	CALLR	.TCRLF		; EXIT
	004334	000137 	000000G			 JMP	.TCRLF
   3623
   3624	001711				.PSECT	MESSAG
   3625
   3626	001711	   015 	   012 	   040 	DG3B1:	.ASCIZ<15><12>/   NPR UNIBUS PARITY ERROR/
	001714	   040 	   040 	   116
	001717	   120 	   122 	   040
	001722	   125 	   116 	   111
	001725	   102 	   125 	   123
	001730	   040 	   120 	   101
	001733	   122 	   111 	   124
	001736	   131 	   040 	   105
	001741	   122 	   122 	   117
	001744	   122 	   000
   3627
   3628	004340				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 88
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT

   3631					.TITLE	EXREG -- EXAMINE 22 AND 36 BIT REGISTER COMMAND MODULE 7603.30
   3632
   3633						.IDENT	"007010"
   3634					;
   3635					;                             COPYRIGHT (C) 1979, 1984, 1985 BY
   3636					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   3637					;			ALL RIGHTS RESERVED.
   3638					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   3639					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   3640					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   3641					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   3642					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   3643					;
   3644					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   3645					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   3646					;       CORPORATION.
   3647					;
   3648					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   3649					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   3650					;
   3651					;		MODULE: EXAMINE 22 AND 36 BIT REGISTER COMMAND
   3652					;
   3653					;		VERSION: 06-01
   3654					;
   3655					;		AUTHOR: R. BELANGER
   3656					;
   3657					;		DATE: 7603.30
   3658					;
   3659					;	THIS MODULE CONTAINS:
   3660					;
   3661					;	1) EXAMINE 22 AND 36 BIT REGISTER COMMAND CODE
   3662					;
   3663					;09-NOV-82  TCO 6.1364	D. WEAVER
   3664					;	FIX DISPLAY FOR EXAMINE PI CODE, CHANGE BIS TO MOVB.
   3665					;	ROUTINE: .EXMPI
   3666					;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 89
.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16

   3668					.SBTTL	.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16
   3669
   3670						.ENABL	LSB
   3671
   3672	004340				.EXAD::				; ADDER REGISTER
   3673	004340	012700 	005254'			MOV	#.RDADR,R0	; DISPATCH POINTER TO R0
   3674	004344	000445 				BR	20$		; DO COMMON CODE
   3675						;
   3676	004346				.EXADX::			; ADDRER EXTENSION
   3677	004346	012700 	005262'			MOV	#.RDADX,R0	; DISPATCH POINTER TO R0
   3678	004352	000442 				BR	20$		; DO COMMON CODE
   3679						;
   3680	004354				.EXARR::			; ARITHMETIC REGISTER
   3681	004354	012700 	005270'			MOV	#.RDARR,R0	; DISPATCH POINTER TO R0
   3682	004360	000437 				BR	20$		; DO COMMON CODE
   3683						;
   3684	004362				.EXARX::			; AR EXTENSION
   3685	004362	012700 	005276'			MOV	#.RDARX,R0	; DISPATCH POINTER TO R0
   3686	004366	000434 				BR	20$		; DO COMMON CODE
   3687						;
   3688	004370				.EXBRR::			; BUFFER REGISTER
   3689	004370	012700 	005304'			MOV	#.RDBRR,R0	; DISPATCH POINTER TO R0
   3690	004374	000431 				BR	20$		; DO COMMON CODE
   3691						;
   3692	004376				.EXBRX::			; BR EXTENSION
   3693	004376	012700 	005312'			MOV	#.RDBRX,R0	; DISPATCH POINTER TO R0
   3694	004402	000426 				BR	20$		; DO COMMON CODE
   3695						;
   3696	004404				.EXEBS::			; EBUS REGISTER
   3697	004404	012700 	005320'			MOV	#.RDEBS,R0	; DISPATCH POINTER TO R0
   3698	004410	000423 				BR	20$		; DO COMMON CODE
   3699						;
   3700	004412				.EXFMR::			; FAST MEMORY REGISTER
   3701	004412	012700 	005326'			MOV	#.RDFMR,R0	; DISPATCH POINTER TO R0
   3702	004416	000420 				BR	20$		; DO COMMON CODE
   3703						;
   3704	004420				.EXMQR::			; MQ REGSITER
   3705	004420	012700 	005334'			MOV	#.RDMQR,R0	; DISPATCH POINTER TO R0
   3706	004424	000415 				BR	20$		; DO COMMON CODE
   3707						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 90
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   3709					.SBTTL	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
   3710
   3711	004426				.EXVAB::			; ADDRESS BREAK REGISTER
   3712	004426	012700 	005704'			MOV	#.RDVAB,R0	; DISPATCH POINTER TO R0
   3713	004432	000410 				BR	10$		; DO COMMON CODE
   3714						;
   3715	004434				.EXVMA::			; VMA REGISTER
   3716	004434	012700 	005712'			MOV	#.RDVMA,R0	; DISPATCH POINTER TO R0
   3717	004440	000405 				BR	10$		; DO COMMON CODE
   3718						;
   3719	004442				.EXVMH::			; VMA HELD REGISTER
   3720	004442	012700 	005720'			MOV	#.RDVMH,R0	; DISPATCH POINTER TO R0
   3721	004446	000402 				BR	10$		; DO COMMON CODE
   3722						;
   3723	004450				.EXVPC::			; PROGRAM COUNTER
   3724	004450	012700 	005676'			MOV	#.RDVPC,R0	; DISPATCH POINTER TO R0
   3725					;	BR	10$		; DO COMMON CODE
   3726						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 91
.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16

   3728					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3729
   3730	004454				10$:				; HERE FOR VMA BOARD EXAMINES
   3731	004454	005037 	000000G			CLR	.LDZFL		; DON'T PRINT LEADING ZEROES
   3732	004460				20$:				; HERE FOR DATA PATH BOARD EXAMINES
   3733	004460					CALL	.CKEOC		; CHECK E-O-C
	004460	004737 	000000G			 JSR	PC,.CKEOC
   3734	004464	005046 				CLR	-(SP)		; CLEAR A BUFFER ON THE STACK
   3735	004466	005046 				CLR	-(SP)		; .
   3736	004470	005046 				CLR	-(SP)		; ..
   3737	004472	010601 				MOV	SP,R1		; ...POINT TO THE BUFFER
   3738	004474					PUSH	R0		; ...SAVE THE DISPATCH ADDRESS
	004474	010046 				 MOV	R0,-(SP)
   3739	004476					CALL	.STPKL		; ....STOP THE KL
	004476	004737 	000000G			 JSR	PC,.STPKL
   3740	004502					CALL	@(SP)+		; ....READ THE REGISTER
	004502	004736 				 JSR	PC,@(SP)+
   3741	004504					CALL	.RSTKL		; ...YES -- RESTART THE KL
	004504	004737 	000000G			 JSR	PC,.RSTKL
   3742	004510	010200 				MOV	R2,R0		; ...MESSAGE POINTER TO R0
   3743	004512					CALL	.TYMSG		; ...PRINT IT
	004512	004737 	000000G			 JSR	PC,.TYMSG
   3744	004516					CALL	.TYSLS		; ...NOW A SLASH
	004516	004737 	000000G			 JSR	PC,.TYSLS
   3745	004522					CALL	.TYSPC		; ...AND A SPACE
	004522	004737 	000000G			 JSR	PC,.TYSPC
   3746	004526	010100 				MOV	R1,R0		; ...POINT TO THE DATA
   3747	004530					CALL	.TYKLN		; ...PRINT THAT
	004530	004737 	000000G			 JSR	PC,.TYKLN
   3748	004534	062706 	000006 			ADD	#^D6,SP		; ...CLEAR THE STACK
   3749	004540					CALLR	.TCRLF		; ...END THE LINE AND EXIT
	004540	000137 	000000G			 JMP	.TCRLF
   3750						;
   3751
   3752						.DSABL	LSB
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 92
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   3754					.SBTTL	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
   3755
   3756					;+
   3757					; .EXAMF -- THE "EXAMINE FLAGS" COMMAND.
   3758					;
   3759					; THIS ROUTINE WILL READ AND DISPLAY THE KL PC FLAGS ON THE
   3760					; CONSOLE DEVICE.
   3761					;
   3762					; INPUT ARGUMENTS:
   3763					;
   3764					;	NONE.
   3765					;
   3766					; OUTPUT ARGUMENTS:
   3767					;
   3768					;	NONE.
   3769					;
   3770					; ERROR CODES RETURNED:
   3771					;
   3772					;	NONE.
   3773					;-
   3774
   3775	004544				.EXAMF::
   3776	004544					CALL	.CKEOC		; CHECK E-O-C
	004544	004737 	000000G			 JSR	PC,.CKEOC
   3777	004550					CALL	.STPKL		; STOP THE KL
	004550	004737 	000000G			 JSR	PC,.STPKL
   3778	004554					CALL	.RDFLG		; READ THE FLAGS
	004554	004737 	005344'			 JSR	PC,.RDFLG
   3779	004560					CALL	.RSTKL		; RESTART THE KL
	004560	004737 	000000G			 JSR	PC,.RSTKL
   3780	004564	010001 				MOV	R0,R1		; FLAGS TO R1
   3781	004566	001422 				BEQ	30$		; NONE ON -- SAY SO
   3782	004570	012700 	002011'			MOV	#EXFMSG,R0	; HEADER
   3783	004574					CALL	.TYLIN		; PRINT IT
	004574	004737 	000000G			 JSR	PC,.TYLIN
   3784	004600				10$:
   3785	004600	012700 	001775'			MOV	#FONMSG,R0	; ASSUME IT IS ON
   3786	004604	032701 	010000 			BIT	#BIT12,R1	; IS THE FLAG ON?
   3787	004610	001002 				BNE	20$		; YES -- GO ON
   3788	004612	012700 	002003'			MOV	#FOFMSG,R0	; NO -- SAY SO
   3789	004616				20$:
   3790	004616					CALL	.TYMSG		; PRINT THE STATE OF THE BIT
	004616	004737 	000000G			 JSR	PC,.TYMSG
   3791	004622	042701 	010000 			BIC	#BIT12,R1	; CLEAR THIS BIT OUT
   3792	004626	006301 				ASL	R1		; MOVE NEXT BIT IN
   3793	004630	001363 				BNE	10$		; LOOP TILL R1 .EQ. 0
   3794	004632	000404 				BR	40$		; DONE -- EXIT
   3795	004634				30$:
   3796	004634	012700 	001746'			MOV	#NOFMSG,R0	; "NO FLAGS"
   3797	004640					CALL	.TYMSG		; PRINT IT
	004640	004737 	000000G			 JSR	PC,.TYMSG
   3798	004644				40$:
   3799	004644					CALLR	.TCRLF		; END LINE AND RETURN
	004644	000137 	000000G			 JMP	.TCRLF
   3800						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 93
.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23

   3802	001746				.PSECT	MESSAG
   3803
   3804	001746				NOFMSG:
   3805	001746	   116 	   117 	   040 		.ASCIZ	%NO KL PC FLAGS ARE SET%
	001751	   113 	   114 	   040
	001754	   120 	   103 	   040
	001757	   106 	   114 	   101
	001762	   107 	   123 	   040
	001765	   101 	   122 	   105
	001770	   040 	   123 	   105
	001773	   124 	   000
   3806	001775				FONMSG:
   3807	001775	   040 	   040 	   130 		.ASCIZ	%  X  %
	002000	   040 	   040 	   000
   3808	002003				FOFMSG:
   3809	002003	   040 	   040 	   040 		.ASCIZ	%     %
	002006	   040 	   040 	   000
   3810	002011				EXFMSG:
   3811	002011	   040 	   117 	   126 		.ASCIZ	% OVF  CY0  CY1  FOV  BIS  USR  UIO  LIP  AFI  AT1  AT0  FUF  NDV%
	002014	   106 	   040 	   040
	002017	   103 	   131 	   060
	002022	   040 	   040 	   103
	002025	   131 	   061 	   040
	002030	   040 	   106 	   117
	002033	   126 	   040 	   040
	002036	   102 	   111 	   123
	002041	   040 	   040 	   125
	002044	   123 	   122 	   040
	002047	   040 	   125 	   111
	002052	   117 	   040 	   040
	002055	   114 	   111 	   120
	002060	   040 	   040 	   101
	002063	   106 	   111 	   040
	002066	   040 	   101 	   124
	002071	   061 	   040 	   040
	002074	   101 	   124 	   060
	002077	   040 	   040 	   106
	002102	   125 	   106 	   040
	002105	   040 	   116 	   104
	002110	   126 	   000
   3812
   3813	004650				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 94
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23

   3815					.SBTTL	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
   3816
   3817					;+
   3818					; .EXAMK -- THE "EXAMINE KL" COMMAND
   3819					;
   3820					; THIS ROUTINE WILL EXAMINE AND DISPLAY THE FOLLOWING ITEMS ON THE
   3821					; CONSOLE DEVICE:
   3822					;
   3823					;	(A) KL PROGRAM COUNTER
   3824					;	(B) KL VMA REGISTER
   3825					;	(C) KL PI SYSTEM STATE
   3826					;	(D) KL PC FLAGS
   3827					;
   3828					; INPUT ARGUMENTS:
   3829					;
   3830					;	NONE.
   3831					;
   3832					; OUTPUT ARGUMENTS:
   3833					;
   3834					;	NONE.
   3835					;
   3836					; ERROR CODES RETURNED:
   3837					;
   3838					;	NONE.
   3839					;-
   3840
   3841	004650				.EXAMK::
   3842	004650					CALL	.CKEOC		; CHECK E-O-C
	004650	004737 	000000G			 JSR	PC,.CKEOC
   3843	004654					PUSH	.KLFLG		; SAVE ".KLFLG"
	004654	013746 	000000G			 MOV	.KLFLG,-(SP)
   3844	004660					CALL	.STPKL		; .STOP THE KL
	004660	004737 	000000G			 JSR	PC,.STPKL
   3845	004664	012702 	000000G			MOV	#PCMSG,R2	; .MESSAGE POINTER TO R2
   3846	004670					CALL	.EXVPC		; .READ AND PRINT THE KL PC
	004670	004737 	004450'			 JSR	PC,.EXVPC
   3847	004674	012702 	000000G			MOV	#VMAMSG,R2	; .MESSAGE POINTER TO R2
   3848	004700					CALL	.EXVMA		; .READ AND PRINT THE KL VMA
	004700	004737 	004434'			 JSR	PC,.EXVMA
   3849	004704					CALL	.EXMPI		; .DISPLAY THE PI SYSTEM
	004704	004737 	005040'			 JSR	PC,.EXMPI
   3850	004710					CALL	.EXAMF		; .DISPLAY THE KL PC FLAGS
	004710	004737 	004544'			 JSR	PC,.EXAMF
   3851	004714					POP	.SVKLF		; .SET UP ".SVKLF"
	004714	012637 	000000G			 MOV	(SP)+,.SVKLF
   3852	004720					CALLR	.RSTKL		; RESTART THE KL
	004720	000137 	000000G			 JMP	.RSTKL
   3853						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 95
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   3855					.SBTTL	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
   3856
   3857						.ENABL	LSB
   3858
   3859	004724				.EXCRA::			; CRAM ADDRESS REGISTER
   3860	004724	012700 	005550'			MOV	#.RDCRA,R0	; DISPATCH POINTER TO R0
   3861	004730	000416 				BR	10$		; DO COMMON CODE
   3862						;
   3863	004732				.EXCRL::			; CRAM LOC REGISTER
   3864	004732	012700 	005556'			MOV	#.RDCRL,R0	; DISPATCH POINTER TO R0
   3865	004736	000413 				BR	10$		; DO COMMON CODE
   3866						;
   3867	004740				.EXDRA::			; DRAM ADDRESS REGISTER
   3868	004740	012700 	005564'			MOV	#.RDDRA,R0	; DISPATCH POINTER TO R0
   3869	004744	000410 				BR	10$		; DO COMMON CODE
   3870						;
   3871	004746				.EXFER::			; FLOATING EXPONENT REGISTER
   3872	004746	012700 	005572'			MOV	#.RDFER,R0	; DISPATCH POINTER TO R0
   3873	004752	000405 				BR	10$		; DO COMMON CODE
   3874						;
   3875	004754				.EXSBR::			; CRAM SBR RET REGISTER
   3876	004754	012700 	005600'			MOV	#.RDSBR,R0	; DISPATCH POINTER TO R0
   3877	004760	000402 				BR	10$		; DO COMMON CODE
   3878						;
   3879	004762				.EXSCR::
   3880	004762	012700 	005606'			MOV	#.RDSCR,R0	; DISPATCH POINTER TO R0
   3881					;	BR	10$		; DO COMMON CODE
   3882						;
   3883
   3884					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 96
.EXCRA -- SMALL REGISTER EXAMINES 7609.10

   3886					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3887
   3888	004766				10$:				; HERE FOR SMALL REGISTER READS
   3889	004766					CALL	.CKEOC		; CHECK E-O-C
	004766	004737 	000000G			 JSR	PC,.CKEOC
   3890	004772					PUSH	R0		; SAVE DISPATCH ADDRESS
	004772	010046 				 MOV	R0,-(SP)
   3891	004774					CALL	.STPKL		; .STOP THE KL
	004774	004737 	000000G			 JSR	PC,.STPKL
   3892	005000					CALL	@(SP)+		; .READ THE REGISTER
	005000	004736 				 JSR	PC,@(SP)+
   3893	005002					PUSH	R0		; SAVE THE REGISTER DATA
	005002	010046 				 MOV	R0,-(SP)
   3894	005004					CALL	.RSTKL		; .YES -- RESTART THE KL
	005004	004737 	000000G			 JSR	PC,.RSTKL
   3895	005010	010200 				MOV	R2,R0		; .MESSAGE POINTER TO R0
   3896	005012					CALL	.TYMSG		; .PRINT IT
	005012	004737 	000000G			 JSR	PC,.TYMSG
   3897	005016					CALL	.TYSLS		; .AND A SLASH
	005016	004737 	000000G			 JSR	PC,.TYSLS
   3898	005022					CALL	.TYSPC		; .AND A SPACE
	005022	004737 	000000G			 JSR	PC,.TYSPC
   3899	005026					POP	R0		; .GET THE DATA
	005026	012600 				 MOV	(SP)+,R0
   3900	005030					CALL	.TYELN		; PRINT IT
	005030	004737 	000000G			 JSR	PC,.TYELN
   3901	005034					CALLR	.TCRLF		; END THE LINE AND EXIT
	005034	000137 	000000G			 JMP	.TCRLF
   3902						;
   3903
   3904						.DSABL	LSB
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 98
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   3907					.SBTTL	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
   3908
   3909					;+
   3910					; .EXMPI -- THE "EXAMINE PI" COMMAND
   3911					;
   3912					; THIS ROUTINE READS THE STATE OF THE KL PI SYSTEM AND DISPLAYS IT
   3913					; ON THE CONSOLE DEVICE.
   3914					;
   3915					; INPUT ARGUMENTS:
   3916					;
   3917					;	NONE.
   3918					;
   3919					; OUTPUT ARGUMENTS:
   3920					;
   3921					;	NONE.
   3922					;
   3923					; ERROR CODES RETURNED:
   3924					;
   3925					;	NONE.
   3926					;-
   3927
   3928	005040				.EXMPI::
   3929	005040					CALL	.CKEOC		; CHECK THE E-O-C CHARACTER
	005040	004737 	000000G			 JSR	PC,.CKEOC
   3930	005044	005002 				CLR	R2		; CLEAR R2
   3931	005046					CALL	.STPKL		; STOP THE KL
	005046	004737 	000000G			 JSR	PC,.STPKL
   3932	005052					CALL	.RDPI		; READ THE PI SYSTEM STATE
	005052	004737 	005470'			 JSR	PC,.RDPI
   3933	005056					CALL	.RSTKL		; RESTART THE KL
	005056	004737 	000000G			 JSR	PC,.RSTKL
   3934	005062	010001 				MOV	R0,R1		; DATA POINTER TO R1
   3935	005064	012700 	002112'			MOV	#EPMSG0,R0	; MESSAGE POINTER TO R0
   3936	005070					CALL	.TYMSG		; PRINT IT
	005070	004737 	000000G			 JSR	PC,.TYMSG
   3937	005074	012700 	000000G			MOV	#ONMSG,R0	; "ON"
   3938	005100	112102 				MOVB	(R1)+,R2	; [6.1364] PI ACTIVE + PI ON TO R2
   3939	005102	032702 	000200 			BIT	#200,R2		; IS IT ON?
   3940	005106	001002 				BNE	10$		; YES -- GO ON
   3941	005110	012700 	000000G			MOV	#OFFMSG,R0	; NO -- SO SAY "OFF"
   3942
   3943					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 99
.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23

   3945					;	[CONTINUED FROM THE PREVIOUS PAGE]
   3946
   3947	005114				10$:
   3948	005114					CALL	.TYMSG		; PRINT IT
	005114	004737 	000000G			 JSR	PC,.TYMSG
   3949	005120	012700 	002126'			MOV	#EPMSG1,R0	; "PI ON"
   3950	005124					CALL	.TYMSG		; PRINT IT
	005124	004737 	000000G			 JSR	PC,.TYMSG
   3951	005130	010200 				MOV	R2,R0		; GET ACTIVE BITS
   3952	005132	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   3953	005136					CALL	.TYP3D		; PRINT THEM
	005136	004737 	000000G			 JSR	PC,.TYP3D
   3954	005142	012700 	002140'			MOV	#EPMSG2,R0	; "PI HOLD"
   3955	005146					CALL	.TYMSG		; PRINT IT
	005146	004737 	000000G			 JSR	PC,.TYMSG
   3956	005152	112100 				MOVB	(R1)+,R0	; GET THE PI HOLD BITS
   3957	005154	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   3958	005160					CALL	.TYP3D		; PRINT THEM
	005160	004737 	000000G			 JSR	PC,.TYP3D
   3959	005164	012700 	002154'			MOV	#EPMSG3,R0	; "PI GEN"
   3960	005170					CALL	.TYMSG		; PRINT IT
	005170	004737 	000000G			 JSR	PC,.TYMSG
   3961	005174	112100 				MOVB	(R1)+,R0	; GET THE GEN BITS
   3962	005176	042700 	177600 			BIC	#^C177,R0	; FLUSH JUNK
   3963	005202					CALL	.TYP3D		; PRINT THEM
	005202	004737 	000000G			 JSR	PC,.TYP3D
   3964	005206					CALLR	.TCRLF		; END THE LINE AND RETURN
	005206	000137 	000000G			 JMP	.TCRLF
   3965						;
   3966	002112				.PSECT	MESSAG
   3967
   3968	002112				EPMSG0:
   3969	002112	   120 	   111 	   040 		.ASCIZ	%PI ACTIVE: %
	002115	   101 	   103 	   124
	002120	   111 	   126 	   105
	002123	   072 	   040 	   000
   3970	002126				EPMSG1:
   3971	002126	   054 	   040 	   120 		.ASCIZ	%, PI ON: %
	002131	   111 	   040 	   117
	002134	   116 	   072 	   040
	002137	   000
   3972	002140				EPMSG2:
   3973	002140	   054 	   040 	   120 		.ASCIZ	%, PI HOLD: %
	002143	   111 	   040 	   110
	002146	   117 	   114 	   104
	002151	   072 	   040 	   000
   3974	002154				EPMSG3:
   3975	002154	   054 	   040 	   120 		.ASCIZ	%, PI GEN: %
	002157	   111 	   040 	   107
	002162	   105 	   116 	   072
	002165	   040 	   000
   3976	005212				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 100
.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16

   3978					.SBTTL	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
   3979
   3980	005212				.EXREG::
   3981	005212					CALL	.CKEOC		; CHECK E-O-C
	005212	004737 	000000G			 JSR	PC,.CKEOC
   3982	005216					CALL	.STPKL		; STOP THE KL
	005216	004737 	000000G			 JSR	PC,.STPKL
   3983	005222	012701 	000000G			MOV	#.EXMTB,R1	; TABLE POINTER TO R1
   3984	005226	012703 	000000G			MOV	#EXRTBL,R3	; COUNT TO R3
   3985	005232				10$:
   3986	005232	012102 				MOV	(R1)+,R2	; MESSAGE ADDRESS TO R2
   3987	005234					PUSH	R1		; SAVE R1
	005234	010146 				 MOV	R1,-(SP)
   3988	005236					CALL	@2(R1)		; .READ AND PRINT THE REGISTER
	005236	004771 	000002 			 JSR	PC,@2(R1)
   3989	005242					POP	R1		; .RESTORE R1
	005242	012601 				 MOV	(SP)+,R1
   3990	005244	022121 				CMP	(R1)+,(R1)+	; ADVANCE THE POINTER
   3991	005246	077307 				SOB	R3,10$		; LOOP TILL COUNT EXHAUSTED
   3992	005250					CALLR	.RSTKL		; RESTART THE KL
	005250	000137 	000000G			 JMP	.RSTKL
   3993						;
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 101
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

   3995					.SBTTL	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
   3996
   3997					;+
   3998					; .RDADR -- SUBROUTINE TO READ THE KL ADDER REGISTER.
   3999					; .RDADX -- SUBROUTINE TO READ THE KL ADDER EXTENSION REGISTER.
   4000					; .RDARR -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER.
   4001					; .RDARX -- SUBROUTINE TO READ THE KL ARITHMETIC REGISTER EXTENSION.
   4002					; .RDBRR -- SUBROUTINE TO READ THE KL BUFFER REGISTER.
   4003					; .RDBRX -- SUBROUTINE TO READ THE KL BUFFER REGISTER EXTENSION.
   4004					; .RDEBS -- SUBROUTINE TO READ THE KL EBUS REGISTER.
   4005					; .RDFMR -- SUBROUTINE TO READ THE KL FAST MEMORY REGISTER.
   4006					; .RDMQR -- SUBROUTINE TO READ THE KL MULTIPLIER QUOTIENT REGISTER.
   4007					;
   4008					; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL
   4009					; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
   4010					;
   4011					; INPUT ARGUMENTS:
   4012					;
   4013					;	R1 CONTAINS A POINTER TO A 3 WORD DATA BUFFER
   4014					;
   4015					; OUTPUT ARGUMENTS:
   4016					;
   4017					;	R0 CONTAINS A POINTER TO THE DATA.
   4018					;
   4019					; ERROR CODES RETURNED:
   4020					;
   4021					;	FRF -- FUNCTION READ FAILED.
   4022					;-
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 102
.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23

   4024						.ENABL	LSB
   4025
   4026	005254				.RDADR::
   4027	005254	012700 	000256 			MOV	#FR.RAD,R0	; READ THE KL ADDER
   4028	005260	000427 				BR	10$		; COMMON CODE
   4029						;
   4030	005262				.RDADX::
   4031	005262	012700 	000254 			MOV	#FR.ADX,R0	; READ THE KL ADDER EXTENSION
   4032	005266	000424 				BR	10$		; COMMON CODE
   4033						;
   4034	005270				.RDARR::
   4035	005270	012700 	000240 			MOV	#FR.RAR,R0	; READ THE KL ARITHMETIC REGISTER
   4036	005274	000421 				BR	10$		; COMMON CODE
   4037						;
   4038	005276				.RDARX::
   4039	005276	012700 	000252 			MOV	#FR.ARX,R0	; READ THE KL AR EXTENSION REGISTER
   4040	005302	000416 				BR	10$		; COMMON CODE
   4041						;
   4042	005304				.RDBRR::
   4043	005304	012700 	000242 			MOV	#FR.RBR,R0	; READ THE KL BUFFER REGISTER
   4044	005310	000413 				BR	10$		; COMMON CODE
   4045						;
   4046	005312				.RDBRX::
   4047	005312	012700 	000250 			MOV	#FR.BRX,R0	; READ THE KL BR EXTENSION REGISTER
   4048	005316	000410 				BR	10$		; COMMON CODE
   4049						;
   4050	005320				.RDEBS::
   4051	005320	012700 	000356 			MOV	#FR.EBS,R0	; READ THE KL EBUS REGISTER
   4052	005324	000405 				BR	10$		; COMMON CODE
   4053						;
   4054	005326				.RDFMR::
   4055	005326	012700 	000246 			MOV	#FR.RFM,R0	; READ THE KL FAST MEMORY REGISTER
   4056	005332	000402 				BR	10$		; COMMON CODE
   4057						;
   4058	005334				.RDMQR::
   4059	005334	012700 	000244 			MOV	#FR.RMQ,R0	; READ THE KL MULTIPLIER QUOTIENT REGISTER
   4060									; FALL INTO COMMON CODE
   4061	005340				10$:
   4062	005340					CALLR	.FREAD		; READ IT AND EXIT
	005340	000137 	000000G			 JMP	.FREAD
   4063						;
   4064
   4065						.DSABL	LSB
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 103
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

   4067					.SBTTL	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
   4068
   4069					;+
   4070					; .RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS.
   4071					;
   4072					; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
   4073					;
   4074					; INPUT ARGUMENTS:
   4075					;
   4076					;	NONE.
   4077					;
   4078					; OUTPUT ARGUMENTS:
   4079					;
   4080					;	R0 CONTAINS THE KL PC FLAGS
   4081					;
   4082					; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
   4083					;
   4084					;	BIT #	PC FLAG BIT AND MEANING		KL BIT
   4085					;	-----	----------------------------	--------
   4086					;
   4087					;	12	PC.OVF -- KL OVERFLOW FLAG -- 00
   4088					;	11	PC.CY0 -- KL CARRY 0 FLAG -- 01
   4089					;	10	PC.CY1 -- KL CARRY 1 FLAG -- 02
   4090					;	09	PC.FOV -- KL FLOATING OVERFLOW FLAG -- 03
   4091					;	08	PC.BIS -- KL BYTE INCREMENT SUPPRESSION FLAG -- 04
   4092					;	07	PC.USR -- KL USER MODE FLAG -- 05
   4093					;	06	PC.UIO -- KL USER IOT MODE FLAG -- 06
   4094					;	05	PC.LIP -- KL LAST INSTRUCTION PUBLIC FLAG -- 07
   4095					;	04	PC.AFI -- KL ADDRESS FAILURE INHIBIT FLAG -- 08
   4096					;	03	PC.AT1 -- KL APR TRAP 1 FLAG -- 09
   4097					;	02	PC.AT0 -- KL APR TRAP 0 FLAG -- 10
   4098					;	01	PC.FUF -- KL FLOATING UNDERFLOW FLAG -- 11
   4099					;	00	PC.NDV -- KL NO DIVIDE FLAG -- 12
   4100					;
   4101					; ERROR CODES RETURNED:
   4102					;
   4103					;	FRF -- FUNCTION READ FAILED.
   4104					;-
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 104
.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24

   4106	005344				.RDFLG::
   4107	005344					PUSH	<R1,R2>		; SAVE R1 AND R2 ON THE STACK
	005344	010146 				 MOV	R1,-(SP)
	005346	010246 				 MOV	R2,-(SP)
   4108	005350	005001 				CLR	R1		; ..CLEAR R1
   4109	005352	005002 				CLR	R2		; ..AND R2
   4110	005354	012700 	000202 			MOV	#FR.101,R0	; ..FR CODE FOR LOW FLAGS
   4111	005360					CALL	.FREAD		; ..READ THEM
	005360	004737 	000000G			 JSR	PC,.FREAD
   4112	005364	012701 	177764 			MOV	#-^D12,R1	; ..SHIFT COUNT TO R1
   4113	005370					CALL	.TPSHI		; ..SHIFT OUR WORD
	005370	004737 	000000G			 JSR	PC,.TPSHI
   4114	005374	042710 	177700 			BIC	#177700,(R0)	; ..MASK OUT FLAG BITS
   4115	005400	051002 				BIS	(R0),R2		; ..PUT THE LOW FLAGS IN R2
   4116	005402	005001 				CLR	R1		; ..AGAIN
   4117	005404	012700 	000200 			MOV	#FR.100,R0	; ..FR CODE FOR MOST OF THE FLAGS
   4118	005410					CALL	.FREAD		; ..READ THEM
	005410	004737 	000000G			 JSR	PC,.FREAD
   4119	005414	012701 	177772 			MOV	#-^D6,R1	; ..SHIFT COUNT TO R1
   4120	005420					CALL	.TPSHI		; ..SHIFT THE DATA
	005420	004737 	000000G			 JSR	PC,.TPSHI
   4121	005424	042710 	170077 			BIC	#170077,(R0)	; ..JUST THE BITS WE WANT
   4122	005430	051002 				BIS	(R0),R2		; ..SAVE THE HIGH FLAGS IN R2
   4123	005432	005001 				CLR	R1		; ..CLEAR R1 AGAIN
   4124	005434	012700 	000264 			MOV	#FR.132,R0	; ..FR CODE FOR LAST FLAG BIT
   4125	005440					CALL	.FREAD		; ..READ IT
	005440	004737 	000000G			 JSR	PC,.FREAD
   4126	005444	032760 	000001 	000004 		BIT	#BIT00,4(R0)	; ..IS IT ON?
   4127	005452	001402 				BEQ	10$		; ..NO -- JUST EXIT
   4128	005454	052702 	010000 			BIS	#PC.OVF,R2	; ..YES -- SET IT IN OUR WORD
   4129	005460				10$:
   4130	005460	010200 				MOV	R2,R0		; ..PUT A COPY IN R0
   4131	005462					POP	<R2,R1>		; ..RESTORE REGISTERS
	005462	012602 				 MOV	(SP)+,R2
	005464	012601 				 MOV	(SP)+,R1
   4132	005466					RETURN			; TO CALLER
	005466	000207 				 RTS	PC
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 105
.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16

   4134					.SBTTL	.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16
   4135
   4136					;+
   4137					; .RDPI -- SUBROUTINE TO READ THE KL PI BOARDS.
   4138					;
   4139					; THIS SUBROUTINE READS THE KL PI BOARDS AND STORES THE STATUS IN
   4140					; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
   4141					; RETURN.
   4142					;
   4143					; WORD 0 OF ".PITAB" CONTAINS:
   4144					;
   4145					;	(A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
   4146					;	(B) PI ACTIVE (BIT 07),
   4147					;	(C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
   4148					;
   4149					; WORD 2 OF ".PITAB" CONTAINS:
   4150					;
   4151					;	(A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
   4152					;
   4153					; INPUT ARGUMENTS:
   4154					;
   4155					;	NONE.
   4156					;
   4157					; OUTPUT ARGUMENTS:
   4158					;
   4159					;	R0 POINTS TO ".PITAB".
   4160					;
   4161					; ERROR CODES RETURNED:
   4162					;
   4163					;	FRF -- FUNCTION READ FAILED.
   4164					;-
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 106
.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16

   4166	005470				.RDPI::
   4167	005470					PUSH	<R1,R2,R3>	; SAVE REGISTERS
	005470	010146 				 MOV	R1,-(SP)
	005472	010246 				 MOV	R2,-(SP)
	005474	010346 				 MOV	R3,-(SP)
   4168	005476	012703 	000374'			MOV	#RDPITB,R3	; ...TABLE POINTER TO R3
   4169	005502	012702 	000000G			MOV	#.PITAB,R2	; ...SAVE AREA POINTER TO R2
   4170	005506				10$:
   4171	005506	005001 				CLR	R1		; ...CLEAR R1
   4172	005510	012300 				MOV	(R3)+,R0	; ...FR CODE TO R0
   4173	005512					CALL	.FREAD		; ...READ IT
	005512	004737 	000000G			 JSR	PC,.FREAD
   4174	005516	012301 				MOV	(R3)+,R1	; ...SHIFT COUNT TO R1
   4175	005520					CALL	.TPSHI		; ...SHIFT IT
	005520	004737 	000000G			 JSR	PC,.TPSHI
   4176	005524	042310 				BIC	(R3)+,(R0)	; ...CLEAR UNWANTED BIT(S)
   4177	005526	011022 				MOV	(R0),(R2)+	; ...PUT IT IN SAVE AREA
   4178	005530	022703 	000410'			CMP	#RDPITE,R3	; ...ARE WE AT END OF TABLE?
   4179	005534	001364 				BNE	10$		; ...NO -- KEEP GOING
   4180	005536	011300 				MOV	(R3),R0		; ...YES -- POINT TO SAVE AREA
   4181	005540					POP	<R3,R2,R1>	; ...RESTORE REGISTERS
	005540	012603 				 MOV	(SP)+,R3
	005542	012602 				 MOV	(SP)+,R2
	005544	012601 				 MOV	(SP)+,R1
   4182	005546					RETURN			; TO CALLER
	005546	000207 				 RTS	PC
   4183
   4184	000374				.PSECT	DATA
   4185
   4186	000374				RDPITB:
   4187	000374	000200 				.WORD	FR.PI0		; FIRST READ CODE
   4188	000376	177756 				.WORD	-^D18		; SHIFT COUNT
   4189	000400	100000 				.WORD	BIT15		; MASK
   4190	000402	000202 				.WORD	FR.PI1		; SECOND READ CODE
   4191	000404	177756 				.WORD	-^D18		; SHIFT COUNT
   4192	000406	177600 				.WORD	177600		; MASK
   4193		000410'			RDPITE=.
   4194	000410	000000G				.WORD	.PITAB		; POINTER TO SAVE AREA
   4195
   4196	005550				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 107
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

   4198					.SBTTL	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
   4199
   4200					;+
   4201					; .RDCRA -- SUBROUTINE TO READ THE KL CRAM ADDR REGISTER.
   4202					; .RDCRL -- SUBROUTINE TO READ THE KL CRAM LOC REGISTER.
   4203					; .RDDRA -- SUBROUTINE TO READ THE KL DRAM ADDR REGISTER.
   4204					; .RDFER -- SUBROUTINE TO READ THE KL FLOATING EXPONENT REGISTER.
   4205					; .RDSCR -- SUBROUTINE TO READ THE KL SHIFT COUNT REGISTER.
   4206					; .RDSBR -- SUBROUTINE TO READ THE KL CRAM SUBROUTINE RETURN REGISTER.
   4207					;
   4208					; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
   4209					; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
   4210					; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
   4211					;
   4212					; INPUT ARGUMENTS:
   4213					;
   4214					;	NONE.
   4215					;
   4216					; OUTPUT ARGUMENTS:
   4217					;
   4218					;	R0 HOLDS THE CONTENT OF THE SPECIFIED REGISTER
   4219					;
   4220					; ERROR CODES RETURNED:
   4221					;
   4222					;	FRF -- FUNCTION READ FAILED.
   4223					;-
   4224
   4225						.ENABL	LSB
   4226
   4227	005550				.RDCRA::
   4228	005550	012700 	000412'			MOV	#CRATAB,R0	; POINT TO CRAM ADDRESS TABLE
   4229	005554	000416 				BR	10$		; DO COMMON CODE
   4230						;
   4231	005556				.RDCRL::
   4232	005556	012700 	000426'			MOV	#CRLTAB,R0	; POINT TO CR LOC TABLE
   4233	005562	000413 				BR	10$		; DO COMMON CODE
   4234						;
   4235	005564				.RDDRA::
   4236	005564	012700 	000442'			MOV	#DRATAB,R0	; POINT TO DRAM ADDR TABLE
   4237	005570	000410 				BR	10$		; DO COMMON CODE
   4238						;
   4239	005572				.RDFER::
   4240	005572	012700 	000456'			MOV	#FERTAB,R0	; POINT TO FE TABLE
   4241	005576	000405 				BR	10$		; DO COMMON CODE
   4242						;
   4243	005600				.RDSBR::
   4244	005600	012700 	000472'			MOV	#SBRTAB,R0	; POINT TO CRAM SBR RET TABLE
   4245	005604	000402 				BR	10$		; DO COMMON CODE
   4246						;
   4247	005606				.RDSCR::
   4248	005606	012700 	000506'			MOV	#SCRTAB,R0	; POINT TO SHIFT COUNT TABLE
   4249					;	BR	10$		; FALL INTO COMMON CODE
   4250
   4251					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 108
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

   4253					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4254
   4255	005612				10$:				; HERE FROM PREVIOUS PAGE
   4256	005612					PUSH	<R1,R2>		; SAVE CALLER'S REGISTERS
	005612	010146 				 MOV	R1,-(SP)
	005614	010246 				 MOV	R2,-(SP)
   4257	005616	010002 				MOV	R0,R2		; ..POINTER TO R2
   4258	005620	005001 				CLR	R1		; ..CLEAR R1
   4259	005622	012200 				MOV	(R2)+,R0	; ..READ THE HIGH ORDER BITS
   4260	005624					CALL	.FREAD		; ..DO IT
	005624	004737 	000000G			 JSR	PC,.FREAD
   4261	005630	012201 				MOV	(R2)+,R1	; ..SHIFT COUNT TO R1
   4262	005632					CALL	.TPSHI		; ..SHIFT IT
	005632	004737 	000000G			 JSR	PC,.TPSHI
   4263	005636	042210 				BIC	(R2)+,(R0)	; ..MASK OUT UNWANTED BITS
   4264	005640					PUSH	(R0)		; ..SAVE THE BITS
	005640	011046 				 MOV	(R0),-(SP)
   4265	005642	012200 				MOV	(R2)+,R0	; ...READ THE LOW ORDER BITS
   4266	005644	005001 				CLR	R1		; ...CLEAR R1
   4267	005646					CALL	.FREAD		; ...DO IT
	005646	004737 	000000G			 JSR	PC,.FREAD
   4268	005652	012201 				MOV	(R2)+,R1	; ...SHIFT COUNT TO R1
   4269	005654					CALL	.TPSHI		; ...SHIFT IT
	005654	004737 	000000G			 JSR	PC,.TPSHI
   4270	005660	042210 				BIC	(R2)+,(R0)	; ...MASK OUT UNWANTED BITS
   4271	005662	051610 				BIS	(SP),(R0)	; ...SET IN THE HIGH ORDER BITS
   4272	005664	011000 				MOV	(R0),R0		; ...PUT IT IN R0
   4273	005666	005726 				TST	(SP)+		; ...CLEAR THE STACK
   4274	005670					POP	<R2,R1>		; ..RESTORE REGISTERS
	005670	012602 				 MOV	(SP)+,R2
	005672	012601 				 MOV	(SP)+,R1
   4275	005674					RETURN			; TO CALLER
	005674	000207 				 RTS	PC
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 109
.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05

   4277					; TABLES FOR SMALL REGISTER READS
   4278
   4279	000412				.PSECT	DATA
   4280
   4281	000412				CRATAB:
   4282	000412	000312 				.WORD	FR.CA1		; FR FOR CRAM ADDR HIGH BITS
   4283	000414	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4284	000416	174077 				.WORD	174077		; BIT MASK FOR SAME
   4285	000420	000310 				.WORD	FR.CA2		; FR FOR CRAM ADDR LOW BITS
   4286	000422	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   4287	000424	177700 				.WORD	177700		; BIT MASK FOR SAME
   4288
   4289	000426				CRLTAB:
   4290	000426	000316 				.WORD	FR.CL1		; FR FOR CRAM LOC HIGH BITS
   4291	000430	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4292	000432	174077 				.WORD	174077		; BIT MASK FOR SAME
   4293	000434	000314 				.WORD	FR.CL2		; FR FOR CRAM LOC LOW BITS
   4294	000436	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   4295	000440	177700 				.WORD	177700		; BIT MASK FOR SAME
   4296
   4297	000442				DRATAB:
   4298	000442	000260 				.WORD	FR.DA1		; FR FOR DRAM ADDR HIGH BITS
   4299	000444	177764 				.WORD	-^D12		; SHIFT COUNT FOR SAME
   4300	000446	177077 				.WORD	177077		; BIT MASK FOR SAME
   4301	000450	000262 				.WORD	FR.DA2		; FR FOR DRAM ADDR LOW BITS
   4302	000452	177756 				.WORD	-^D18		; SHIFT COUNT FOR SAME
   4303	000454	177700 				.WORD	177700		; BIT MASK FOR SAME
   4304
   4305	000456				FERTAB:
   4306	000456	000266 				.WORD	FR.FE1		; FR FOR FE HIGH BITS
   4307	000460	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
   4308	000462	176037 				.WORD	176037		; BIT MASK FOR SAME
   4309	000464	000264 				.WORD	FR.FE2		; FR FOR FE LOW BITS
   4310	000466	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4311	000470	177740 				.WORD	177740		; BIT MASK FOR SAME
   4312
   4313	000472				SBRTAB:
   4314	000472	000306 				.WORD	FR.SR1		; FR FOR SBR RET HIGH BITS
   4315	000474	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4316	000476	174077 				.WORD	174077		; BIT MASK FOR SAME
   4317	000500	000304 				.WORD	FR.SR2		; FR FOR SBR RET LOW BITS
   4318	000502	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   4319	000504	177700 				.WORD	177700		; BIT MASK FOR SAME
   4320
   4321	000506				SCRTAB:
   4322	000506	000262 				.WORD	FR.SC1		; FR FOR SHIFT COUNT HIGH BITS
   4323	000510	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
   4324	000512	177417 				.WORD	177417		; BIT MASK FOR SAME
   4325	000514	000260 				.WORD	FR.SC2		; FR FOR SHIFT COUNT LOW BITS
   4326	000516	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4327	000520	177760 				.WORD	177760		; BIT MASK FOR SAME
   4328
   4329	005676				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 110
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

   4331					.SBTTL	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
   4332
   4333					;+
   4334					; .RDVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
   4335					; .RDVAB -- SUBROUTINE TO READ THE KL ADDRESS BREAK REGISTER.
   4336					; .RDVMA -- SUBROUTINE TO READ THE KL VMA REGISTER.
   4337					; .RDVMH -- SUBROUTINE TO READ THE KL VMAH REGISTER.
   4338					;
   4339					; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
   4340					; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
   4341					;
   4342					; INPUT ARGUMENTS:
   4343					;
   4344					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
   4345					;
   4346					; OUTPUT ARGUMENTS:
   4347					;
   4348					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
   4349					;
   4350					; ERROR CODES RETURNED:
   4351					;
   4352					;	FRF -- FUNCTION READ FAILED.
   4353					;-
   4354
   4355						.ENABL	LSB
   4356
   4357	005676				.RDVPC::
   4358	005676	012700 	000522'			MOV	#PCTAB,R0	; POINTER TO PC TABLE
   4359	005702	000410 				BR	10$
   4360						;
   4361	005704				.RDVAB::
   4362	005704	012700 	000530'			MOV	#ABTAB,R0	; POINTER TO ADDRESS BREAK TABLE
   4363	005710	000405 				BR	10$
   4364						;
   4365	005712				.RDVMA::
   4366	005712	012700 	000536'			MOV	#VMATB,R0	; POINTER TO VMA TABLE
   4367	005716	000402 				BR	10$
   4368						;
   4369	005720				.RDVMH::
   4370	005720	012700 	000544'			MOV	#VMHTB,R0	; POINTER TO VMAH TABLE
   4371	005724				10$:
   4372	005724					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	005724	004537 	000000G			 JSR	R5,.REGSV
   4373	005730	010005 				MOV	R0,R5		; TABLE POINTER TO R5
   4374	005732	012704 	000004 			MOV	#^D4,R4		; ITERATION COUNT TO R4
   4375	005736	010103 				MOV	R1,R3		; USER BUFFER ADDRESS TO R3
   4376	005740	012502 				MOV	(R5)+,R2	; FUNCTION READ BASE TO R2
   4377	005742					PUSH	(R5)+		; MASK WORD TO TOP OF THE STACK
	005742	012546 				 MOV	(R5)+,-(SP)
   4378	005744	011505 				MOV	(R5),R5		; .SHIFT BASE TO R5
   4379	005746	010100 				MOV	R1,R0		; .CLEAR CALLER'S AREA
   4380	005750					CALL	.TPCLR		; .SO
	005750	004737 	000000G			 JSR	PC,.TPCLR
   4381
   4382					;	[CONTINUED ON THE FOLLOWING PAGE]
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO M1113  03-APR-86 22:56  PAGE 111
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

   4384					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4385
   4386	005754				20$:				; .GET HERE FROM .RDVXX, ABOVE
   4387	005754	010200 				MOV	R2,R0		; .SET THE FUNCTION READ NUMBER
   4388	005756	006300 				ASL	R0		; .TIMES 2
   4389	005760	005001 				CLR	R1		; .CLEAR R1
   4390	005762					CALL	.FREAD		; .READ IT
	005762	004737 	000000G			 JSR	PC,.FREAD
   4391	005766	041620 				BIC	(SP),(R0)+	; .SP POINTS TO BIT MASK
   4392	005770	041610 				BIC	(SP),(R0)	; .R0 POINTS TO READ BLOCK
   4393	005772	005740 				TST	-(R0)		; .NOW BACK THE POINTER UP
   4394	005774	010501 				MOV	R5,R1		; .GET THE SHIFT COUNT INTO R1
   4395	005776					CALL	.TPSHI		; .AND SHIFT IT
	005776	004737 	000000G			 JSR	PC,.TPSHI
   4396	006002	052023 				BIS	(R0)+,(R3)+	; .SET THE BITS IN THE USER BUFFER
   4397	006004	051013 				BIS	(R0),(R3)	; .SO
   4398	006006	005743 				TST	-(R3)		; .BACK CALLER'S POINTER UP
   4403	006010	122225 				CMPB	(R2)+,(R5)+	; .INCREMENT READ NUMBER AND SHIFT COUNT
   4405	006012	077420 				SOB	R4,20$		; .DO THIS FOUR TIMES
   4406	006014	042763 	177600 	000002 		BIC	#177600,2(R3)	; .GET RID OF BITS HIGHER THAN 13
   4407	006022	005726 				TST	(SP)+		; CLEAR THE STACK
   4408	006024					RETURN			; RETURN TO CALLER
	006024	000207 				 RTS	PC
   4409
   4410						.DSABL	LSB
   4411
   4412					; TABLES FOR VMA BOARD READS
   4413
   4414	000522				.PSECT	DATA
   4415
   4416	000522				PCTAB:
   4417	000522	000150 				.WORD	FR.150/2	; BASE READ FOR PC REGISTER
   4418	000524	135673 				.WORD	135673		; BIT MASK   "  "     "
   4419	000526	177776 				.WORD	-^D2		; SHIFT CNT  "  "     "
   4420	000530				ABTAB:
   4421	000530	000150 				.WORD	FR.150/2	; BASE READ FOR ADDRESS BREAK REGISTER
   4422	000532	167356 				.WORD	167356		; BIT MASK   "	   "	  "	 "
   4423	000534	000000 				.WORD	0		; SHIFT CNT  "	   "	  "	 "
   4424	000536				VMATB:
   4425	000536	000154 				.WORD	FR.154/2	; BASE READ FOR VMA REGISTER
   4426	000540	135673 				.WORD	135673		; BIT MASK   "	 "     "
   4427	000542	177776 				.WORD	-^D2		; SHIFT CNT  "	 "     "
   4428	000544				VMHTB:
   4429	000544	000154 				.WORD	FR.154/2	; BASE READ FOR VMAH REGISTER
   4430	000546	167356 				.WORD	167356		; BIT MASK   "	 "	"
   4431	000550	000000 				.WORD	0		; SHIFT CNT  "	 "	"
   4432
   4433	006026				.PSECT
   4434					.TITLE	GTTIM -- INPUT AND DISPLAY DATE AND TIME MODULE 7703.04
   4435
   4436						.IDENT	"006060"
   4437
   4438					;
   4439					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   4440					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   4441					;			ALL RIGHTS RESERVED.
   4442					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 111-1
.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21

   4443					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   4444					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   4445					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   4446					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   4447					;
   4448					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   4449					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   4450					;       CORPORATION.
   4451					;
   4452					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   4453					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   4454					;
   4455					;		MODULE: INPUT AND DISPLAY DATE AND TIME
   4456					;
   4457					;		VERSION: 06-06
   4458					;
   4459					;		AUTHOR: R. BELANGER
   4460					;
   4461					;		DATE: 7703.04
   4462					;
   4463					;	THIS MODULE CONTAINS:
   4464					;
   4465					;	1) INPUT DATE AND TIME CODE
   4466					;	2) DISPLAY DATE AND TIME CODE
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 112
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   4468					.SBTTL	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
   4469
   4470					;+
   4471					; .GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE
   4472					;
   4473					; THIS SUBROUTINE WILL EVALUATE A PREVIOUSLY INPUT ASCII STRING OF THE
   4474					; FORM "DD-MMM-YYYY" AND RETURN THE VALUE OF THE YEAR, MONTH AND DAY
   4475					; IN A THREE BYTE BLOCK.
   4476					;
   4477					; INPUT ARGUMENTS:
   4478					;
   4479					;	R0 POINTS TO A THREE BYTE DATA BLOCK
   4480					;	R5 POINTS TO THE INPUT STREAM
   4481					;
   4482					; OUTPUT ARGUMENTS:
   4483					;
   4484					;	R0 POINTS TO THE THREE BYTE DATA BLOCK
   4485					;
   4486					; ERROR CODES RETURNED:
   4487					;
   4488					;	DBT -- DATE BEFORE TODAY
   4489					;	DOR -- DATE OUT OF RANGE
   4490					;	IDF -- ILLEGAL DATE FORMAT
   4491					;	YOR -- YEAR OUT OF RANGE
   4492					;-
   4493
   4494						.MCALL	DIR$, GTIM$S
   4495
   4496	006026				.GTDAT::
   4497	006026	013737 	000000G	000000G		MOV	.IRADX,.RDXSV	; SAVE THE CURRENT RADIX
   4498	006034	012737 	000012 	000000G		MOV	#^D10,.IRADX	; SET THE RADIX TO DECIMAL
   4499	006042					PUSH	<R5,R2,R1,R0>	; SAVE CALLER'S POINTER
	006042	010546 				 MOV	R5,-(SP)
	006044	010246 				 MOV	R2,-(SP)
	006046	010146 				 MOV	R1,-(SP)
	006050	010046 				 MOV	R0,-(SP)
   4500	006052	012701 	000552'			MOV	#.DTBUF,R1	; ....TIME BUFFER POINTER TO R1
   4501	006056					GTIM$S	R1		; ....READ CURRENT DATE AND TIME
	006056	010146 				MOV	R1,-(SP)
	006060	012746 				MOV	(PC)+,-(SP)
	006062	   073 	   002 			.BYTE	59.,2
	006064	104375 				EMT	375
   4502	006066	112120 				MOVB	(R1)+,(R0)+	; ....SET DEFAULT YEAR
   4503	006070	105721 				TSTB	(R1)+		; ....ADVANCE POINTER
   4504	006072	112120 				MOVB	(R1)+,(R0)+	; ....SET DEFAULT MONTH
   4505	006074	105721 				TSTB	(R1)+		; ....ADVANCE POINTER
   4506	006076	111120 				MOVB	(R1),(R0)+	; ....SET DEFAULT DAY
   4507	006100	010002 				MOV	R0,R2		; ....SAVE POINTER TO CALLER'S BUFFER
   4508	006102	012701 	000000G			MOV	#.CIBFR,R1	; ....BUFFER POINTER TO R1
   4509	006106	010105 				MOV	R1,R5		; ....AND R5
   4510	006110	012700 	002167'			MOV	#GTDMS0,R0	; ....PROMPT FOR DATE
   4511	006114					CALL	.TYMSF		; ....FORCE IT OUT
	006114	004737 	000000G			 JSR	PC,.TYMSF
   4512	006120					CALL	.GTLIN		; ....READ THE RESPONSE
	006120	004737 	000000G			 JSR	PC,.GTLIN
   4513	006124	001467 				BEQ	35$		; ....DEFAULT IF NULL
   4514	006126					CALL	.CKARG		; ....SEE WHAT KIND OF ARGUMENT FOLLOWS
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 112-1
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

	006126	004737 	000000G			 JSR	PC,.CKARG
   4515	006132	001551 				BEQ	GTDIDF		; ....ILLEGAL IF ALPHABETIC
   4516	006134					PUSH	R5		; ....SAVE THE BUFFER POINTER
	006134	010546 				 MOV	R5,-(SP)
   4517	006136				10$:
   4518	006136	111504 				MOVB	(R5),R4		; .....LOOK AT ONE CHARACTER
   4519	006140	001407 				BEQ	20$		; .....DONE IF NULL
   4520	006142	122704 	000055 			CMPB	#'-,R4		; .....IS IT A <HYPHEN>?
   4521	006146	001002 				BNE	15$		; .....NO -- GO ON
   4522	006150	112715 	000040 			MOVB	#.SPACE,(R5)	; .....YES -- MAKE IT A <SPACE>
   4523	006154				15$:
   4524	006154	105725 				TSTB	(R5)+		; .....ADVANCE THE POINTER
   4525	006156	000767 				BR	10$		; .....AND LOOK FOR MORE
   4526						;
   4527	006160				20$:
   4528	006160					POP	R5		; .....RESTORE THE POINTER
	006160	012605 				 MOV	(SP)+,R5
   4529	006162	005046 				CLR	-(SP)		; ....CLEAR A BUFFER ON THE STACK
   4530	006164	005046 				CLR	-(SP)		; .....
   4531	006166	005046 				CLR	-(SP)		; ......
   4532	006170	010600 				MOV	SP,R0		; .......POINT TO THE BUFFER
   4533	006172					CALL	.GTNBR		; .......READ THE DAY
	006172	004737 	000000G			 JSR	PC,.GTNBR
   4534	006176	111042 				MOVB	(R0),-(R2)	; .......AND SET IT
   4535	006200					PUSH	R0		; .......SAVE THE POINTER
	006200	010046 				 MOV	R0,-(SP)
   4536	006202					CALL	.CKARG		; .......SEE IF ALPHABETIC FOLLOWS
	006202	004737 	000000G			 JSR	PC,.CKARG
   4537	006206	002523 				BLT	GTDIDF		; .......NUMERIC -- GIVE "IDF" ERROR
   4538	006210	012700 	000000G			MOV	#.MONTB,R0	; ........MONTH TABLE POINTER TO R0
   4539	006214					CALL	.TSCAN		; ........SCAN FOR THE MONTH
	006214	004737 	000000G			 JSR	PC,.TSCAN
   4540	006220	116042 	000002 			MOVB	2(R0),-(R2)	; ........STASH THE MONTH AWAY
   4541	006224					POP	R0		; ........RESTORE THE BUFFER POINTER
	006224	012600 				 MOV	(SP)+,R0
   4542	006226	112504 				MOVB	(R5)+,R4	; .......GET THE LAST CHARACTER
   4543	006230	132764 	000010 	000000G		BITB	#CH.EOC,.CHTAB(R4)
   4544	006236	001020 				BNE	30$		; .......EXIT IF E-O-C
   4545	006240					CALL	.TPCLR		; .......RESET THE BUFFER
	006240	004737 	000000G			 JSR	PC,.TPCLR
   4546	006244					CALL	.CKARG		; .......SEE IF NUMERIC FOLLOWS
	006244	004737 	000000G			 JSR	PC,.CKARG
   4547	006250	001502 				BEQ	GTDIDF		; .......GIVE "IDF" ERROR IF NOT
   4548	006252					CALL	.GTNBR		; .......READ THE YEAR
	006252	004737 	000000G			 JSR	PC,.GTNBR
   4549	006256	022710 	003554 			CMP	#^D1900,(R0)	; .......DID HE SAY 19XX?
   4550	006262	003003 				BGT	25$		; .......NO -- GO ON
   4551	006264	162710 	003554 			SUB	#^D1900,(R0)	; .......YES -- FIX IT UP
   4552	006270	002475 				BLT	GTDYOR		; .......ERROR -- YOR
   4553	006272				25$:
   4554	006272	111042 				MOVB	(R0),-(R2)	; .......SET THE YEAR - 1900
   4555	006274					CALL	.CKEOC		; .......MUST HAVE E-O-C
	006274	004737 	000000G			 JSR	PC,.CKEOC
   4556	006300				30$:
   4557	006300	062706 	000006 			ADD	#^D6,SP		; .......RESET THE STACK
   4558	006304				35$:
   4559	006304	011600 				MOV	(SP),R0		; ....RESTORE CALLER'S POINTER
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 112-2
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   4560	006306	116002 	000001 			MOVB	1(R0),R2	; ....MONTH TO R2
   4561	006312	012701 	172452 			MOV	#^C5325,R1	; ....BIT MASK TO R1
   4562	006316	122702 	000002 			CMPB	#^D2,R2		; ....IS THIS FEBRUARY?
   4563	006322	001411 				BEQ	45$		; ....YES -- DO SPECIAL CKECKS
   4564	006324	126027 	000002 	000037 		CMPB	2(R0),#^D31	; ....NO -- HOW MANY DAYS?
   4565	006332	003046 				BGT	GTDDOR		; ....GIVE "DOR" ERROR IF .GT. ^D31
   4566	006334	002414 				BLT	50$		; ....ALL OK IF .LT. ^D31
   4567	006336				40$:
   4568	006336	006201 				ASR	R1		; ....SHIFT THE BIT MASK
   4569	006340	077202 				SOB	R2,40$		; ....BY THE MONTH
   4570	006342	103011 				BCC	50$		; ....ALL OK IF CC-C IS CLEAR
   4571	006344	000441 				BR	GTDDOR		; ....OTHERWISE GIVE "DOR" ERROR
   4572						;
   4573	006346				45$:
   4574	006346	126027 	000002 	000035 		CMPB	2(R0),#^D29	; ....HATH FEBRUARY 29 DAYS?
   4575	006354	003035 				BGT	GTDDOR		; ....NEVER MORE -- GIVE "DOR" ERROR
   4576	006356	002403 				BLT	50$		; ....ALWAYS LESS -- EXIT
   4577	006360	132710 	000003 			BITB	#3,(R0)		; ....IS THIS A LEAP YEAR?
   4578	006364	001031 				BNE	GTDDOR		; ....NO -- GIVE "DOR" ERROR
   4579	006366				50$:
   4580	006366	012701 	000552'			MOV	#.DTBUF,R1	; ....POINT TO THE DATE BUFFER
   4581	006372	122021 				CMPB	(R0)+,(R1)+	; ....SEE IF YEAR IS OK
   4582	006374	002422 				BLT	GTDDBT		; ....NO -- GIVE "DBT" ERROR
   4583	006376	003007 				BGT	55$		; ....YES -- BEYOND THIS YEAR??
   4584	006400	105721 				TSTB	(R1)+		; ....NO -- ADVANCE THE POINTER
   4585	006402	122021 				CMPB	(R0)+,(R1)+	; ....IS THE MONTH OK?
   4586	006404	002416 				BLT	GTDDBT		; ....NO -- GIVE "DBT" ERROR
   4587	006406	003003 				BGT	55$		; ....YES -- BEYOND THIS YEAR??
   4588	006410	105721 				TSTB	(R1)+		; ....NO -- ADVANCE THE POINTER
   4589	006412	121011 				CMPB	(R0),(R1)	; ....IS THE DAY OK?
   4590	006414	002412 				BLT	GTDDBT		; ....NO -- GIVE "DBT" ERROR
   4591	006416				55$:
   4592	006416					POP	<R0,R1,R2,R5>	; ....YES -- RESTORE REGISTERS
	006416	012600 				 MOV	(SP)+,R0
	006420	012601 				 MOV	(SP)+,R1
	006422	012602 				 MOV	(SP)+,R2
	006424	012605 				 MOV	(SP)+,R5
   4593	006426	013737 	000000G	000000G		MOV	.RDXSV,.IRADX	; RESET THE RADIX
   4594	006434	005737 	000000G			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   4595	006440					RETURN			; EXIT
	006440	000207 				 RTS	PC
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 113
.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15

   4597	006442				GTDDBT:				; +++001
   4598	006442					ERROR$	DBT		; ERROR -- DATE BEFORE TODAY
	006442	012746 	014544 			 MOV	#^RDBT,-(SP)
	006446	104400 				 TRAP	TC.ERR
   4599						;
   4600	006450				GTDDOR:				;  +++001
   4601	006450					ERROR$	DOR		; ERROR -- DATE OUT OF RANGE
	006450	012746 	015552 			 MOV	#^RDOR,-(SP)
	006454	104400 				 TRAP	TC.ERR
   4602						;
   4603	006456				GTDIDF:
   4604	006456					ERROR$	IDF		; ERROR -- ILLEGAL DATE FORMAT
	006456	012746 	034346 			 MOV	#^RIDF,-(SP)
	006462	104400 				 TRAP	TC.ERR
   4605						;
   4606	006464				GTDYOR:				;  +++001
   4607	006464					ERROR$	YOR		; ERROR -- YEAR OUT OF RANGE
	006464	012746 	117252 			 MOV	#^RYOR,-(SP)
	006470	104400 				 TRAP	TC.ERR
   4608						;
   4609
   4610	000552				.PSECT	DATA
   4611
   4612	000552				.DTBUF::
   4613	000552	000000 	000000 	000000 		.WORD	0,0,0,0,0,0,0,0
	000560	000000 	000000 	000000
	000566	000000 	000000
   4614
   4615	002167				.PSECT	MESSAG
   4616
   4617	002167				GTDMS0:
   4618	002167	   104 	   101 	   124 		.ASCIZ	%DATE: %
	002172	   105 	   072 	   040
	002175	   000
   4619
   4620	006472				.PSECT
   4621
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 114
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

   4623					.SBTTL	.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
   4624
   4625					;+
   4626					; .GTTIM -- SUBROUTINE TO INPUT A TIME VALUE
   4627					;
   4628					; THIS SUBROUTINE WILL ACCEPT A TIME VALUE FROM THE CONSOLE INPUT
   4629					; DEVICE OF THE FORMAT "HH:MM" OR "HHMM", AND RETURN IT EXPRESSED
   4630					; AS SECONDS-SINCE-MIDNIGHT / 2 (SSM).
   4631					;
   4632					; INPUT ARGUMENTS:
   4633					;
   4634					;	R0 POINTS TO THE DESTINATION FOR THE VALUE
   4635					;
   4636					; OUTPUT ARGUMENTS:
   4637					;
   4638					;	R0 POINTS TO THE TIME VALUE
   4639					;	CC-Z WILL BE SET TO INDICATE NO TIME WAS SPECIFIED (DEFAULT)
   4640					;
   4641					; ERROR CODES RETURNED:
   4642					;
   4643					;	ITF -- ILLEGAL TIME FORMAT
   4644					;	TOR -- TIME OUT OF RANGE
   4645					;-
   4646
   4647	006472				.GTTIM::
   4648	006472	013737 	000000G	000000G		MOV	.IRADX,.RDXSV	; SAVE THE CURRENT RADIX
   4649	006500	012737 	000012 	000000G		MOV	#^D10,.IRADX	; SET THE INPUT RADIX TO DECIMAL
   4650	006506					PUSH	<R5,R2,R1,R0>	; SAVE CALLER'S REGISTERS
	006506	010546 				 MOV	R5,-(SP)
	006510	010246 				 MOV	R2,-(SP)
	006512	010146 				 MOV	R1,-(SP)
	006514	010046 				 MOV	R0,-(SP)
   4651	006516	012702 	177777 			MOV	#-^D1,R2	; ....SET DEFAULT ARGUMENT
   4652	006522	012700 	002176'			MOV	#GTTMS0,R0	; ....PROMPT FOR TIME
   4653	006526					CALL	.TYMSF		; ....FORCE IT OUT
	006526	004737 	000000G			 JSR	PC,.TYMSF
   4654	006532	012701 	000000G			MOV	#.CIBFR,R1	; ....BUFFER POINTER TO R1
   4655	006536	010105 				MOV	R1,R5		; ....SET UP THE BUFFER POINTER
   4656	006540					CALL	.GTLIN		; ....READ THE INPUT
	006540	004737 	000000G			 JSR	PC,.GTLIN
   4657	006544	001514 				BEQ	30$		; ....EXIT IF NULL (DEFAULT)
   4658	006546					CALL	.CKSYM		; ....GET OVER LEADING BLANKS
	006546	004737 	000000G			 JSR	PC,.CKSYM
   4659	006552	132764 	000010 	000000G		BITB	#CH.EOC,.CHTAB(R4)
   4660	006560	001106 				BNE	30$		; ....EXIT IF E-O-C
   4661	006562					CALL	.CKARG		; ....SEE WHAT FOLLOWS
	006562	004737 	000000G			 JSR	PC,.CKARG
   4662	006566	001516 				BEQ	GTTITF		; ....ERROR IF NON-NUMERIC
   4663	006570	005046 				CLR	-(SP)		; ....CLEAR A BUFFER ON THE STACK
   4664	006572	005046 				CLR	-(SP)		; .....
   4665	006574	005046 				CLR	-(SP)		; ......
   4666	006576	010600 				MOV	SP,R0		; .......POINT TO THE BUFFER
   4667	006600					CALL	.GTNBR		; .......READ HOURS
	006600	004737 	000000G			 JSR	PC,.GTNBR
   4668	006604	122704 	000072 			CMPB	#':,R4		; .......IS NEXT CHARACTER A COLON?
   4669	006610	001437 				BEQ	10$		; .......YES -- GO READ MINUTE
   4670	006612					CALL	.CKEOC		; .......NO -- MUST HAVE E-O-C
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 114-1
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

	006612	004737 	000000G			 JSR	PC,.CKEOC
   4671	006616	005046 				CLR	-(SP)		; .......SET UP A DIVISOR ON THE STACK
   4672	006620	005046 				CLR	-(SP)		; ........
   4673	006622					PUSH	#^D100		; .........SO
	006622	012746 	000144 			 MOV	#^D100,-(SP)
   4674	006626	010601 				MOV	SP,R1		; ..........POINT TO THE DIVISOR
   4675	006630					CALL	.TPDIV		; ..........DO THE DIVISION
	006630	004737 	000000G			 JSR	PC,.TPDIV
   4676	006634	022711 	000073 			CMP	#^D59,(R1)	; ..........IS THE REMAINDER .LT. ^D59?
   4677	006640	002474 				BLT	GTTTOR		; .......... +++001 NO -- GIVE "TOR" ERROR
   4678	006642					PUSH	(R1)		; ..........YES -- SAVE THE REMAINDER
	006642	011146 				 MOV	(R1),-(SP)
   4679	006644	022710 	000027 			CMP	#^D23,(R0)	; ...........IS THE HOUR OK?
   4680	006650	002470 				BLT	GTTTOR		; ........... +++001 NO -- GIVE "TOR" ERROR
   4681	006652	011000 				MOV	(R0),R0		; ...........YES -- GET IT
   4682	006654	012701 	000074 			MOV	#^D60,R1	; ...........MULTIPLIER TO R1
   4683	006660					CALL	$MUL		; ...........DO THE MULTIPLICATION
	006660	004737 	000000G			 JSR	PC,$MUL
   4684	006664	010100 				MOV	R1,R0		; ...........PRODUCT TO R0
   4685	006666	062600 				ADD	(SP)+,R0	; ...........COMPUTE SECONDS SINCE MIDNIGHT
   4686	006670	012701 	000036 			MOV	#^D30,R1	; ..........MULTIPLIER
   4687	006674					CALL	$MUL		; ..........DO IT
	006674	004737 	000000G			 JSR	PC,$MUL
   4688	006700	010102 				MOV	R1,R2		; ..........SAVE IT IN R2
   4689	006702	062706 	000006 			ADD	#^D6,SP		; ..........RESET THE STACK
   4690	006706	000431 				BR	20$		; .......AND EXIT
   4691						;
   4692	006710				10$:
   4693	006710	105725 				TSTB	(R5)+		; .......GET OVER THE COLON
   4694	006712	011000 				MOV	(R0),R0		; .......GET THE HOUR
   4695	006714	022700 	000027 			CMP	#^D23,R0	; .......IS THE HOUR OK?
   4696	006720	002444 				BLT	GTTTOR		; ....... +++001 NO -- GIVE "TOR" ERROR
   4697	006722	012701 	000074 			MOV	#^D60,R1	; .......CONVERT TO MINUTES
   4698	006726					CALL	$MUL		; .......SO
	006726	004737 	000000G			 JSR	PC,$MUL
   4699	006732	010102 				MOV	R1,R2		; .......STASH IT AWAY
   4700	006734	010600 				MOV	SP,R0		; .......RESET POINTER
   4701	006736					CALL	.TPCLR		; .......FLUSH THE BUFFER
	006736	004737 	000000G			 JSR	PC,.TPCLR
   4702	006742					CALL	.GTNBR		; .......READ THE NEXT NUMBER
	006742	004737 	000000G			 JSR	PC,.GTNBR
   4703	006746	011000 				MOV	(R0),R0		; .......GET THE MINUTES
   4704	006750	022700 	000073 			CMP	#^D59,R0	; .......IS THE MINUTE OK?
   4705	006754	002426 				BLT	GTTTOR		; ....... +++001 NO -- GIVE "TOR" ERROR
   4706	006756	060200 				ADD	R2,R0		; .......ADD THE HOUR
   4707	006760	012701 	000036 			MOV	#^D30,R1	; .......CONVERT TO SECONDS
   4708	006764					CALL	$MUL		; .......SO
	006764	004737 	000000G			 JSR	PC,$MUL
   4709	006770	010102 				MOV	R1,R2		; .......SAVE IT IN R2
   4710	006772				20$:
   4711	006772	062706 	000006 			ADD	#^D6,SP		; .......RESET THE STACK
   4712	006776				30$:
   4713	006776					POP	R0		; ....RESTORE R0
	006776	012600 				 MOV	(SP)+,R0
   4714	007000	010210 				MOV	R2,(R0)		; ...SET THE TIME
   4715	007002					POP	<R1,R2,R5>	; ...RESTORE REGISTERS
	007002	012601 				 MOV	(SP)+,R1
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 114-2
.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15

	007004	012602 				 MOV	(SP)+,R2
	007006	012605 				 MOV	(SP)+,R5
   4716	007010	013737 	000000G	000000G		MOV	.RDXSV,.IRADX	; RESET THE RADIX
   4717	007016	005737 	000000G			TST	.INCHC		; LOOK AT THE CHARACTER COUNT
   4718	007022					RETURN			; AND EXIT
	007022	000207 				 RTS	PC
   4719	007024				GTTITF:
   4720	007024					ERROR$	ITF		; ERROR -- ILLEGAL TIME FORMAT
	007024	012746 	035546 			 MOV	#^RITF,-(SP)
	007030	104400 				 TRAP	TC.ERR
   4721						;
   4722	007032				GTTTOR:				;  +++001
   4723	007032					ERROR$	TOR		; +++001 ERROR -- TIME OUT OF RANGE
	007032	012746 	077552 			 MOV	#^RTOR,-(SP)
	007036	104400 				 TRAP	TC.ERR
   4724						;
   4725
   4726	002176				.PSECT	MESSAG
   4727
   4728	002176				GTTMS0:
   4729	002176	   124 	   111 	   115 		.ASCIZ	%TIME: %
	002201	   105 	   072 	   040
	002204	   000
   4730
   4731	007040				.PSECT
   4732
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 115
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

   4734					.SBTTL	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
   4735
   4736					;+
   4737					; .TYDAT -- SUBROUTINE TO TYPE A DATE
   4738					;
   4739					; THIS SUBROUTINE WILL OUTPUT A DATE ON THE CONSOLE DEVICE IN THE
   4740					; FOLLOWING FORMAT: "DD-MMM-YY".
   4741					;
   4742					; INPUT ARGUMENTS:
   4743					;
   4744					;	R0 POINTS TO A THREE BYTE BLOCK CONTAINING THE DATE
   4745					;
   4746					; OUTPUT ARGUMENTS:
   4747					;
   4748					;	NONE.
   4749					; ERROR CODES RETURNED:
   4750					;
   4751					;	NONE.
   4752					;-
   4753
   4754
   4755	007040				.TYDAT::
   4756	007040					PUSH	<.ORADX,R0,R2>	; SAVE CALLER'S REGISTERS
	007040	013746 	000000G			 MOV	.ORADX,-(SP)
	007044	010046 				 MOV	R0,-(SP)
	007046	010246 				 MOV	R2,-(SP)
   4757	007050	012737 	000012 	000000G		MOV	#^D10,.ORADX	; ...SET THE RADIX TO DECIMAL
   4758	007056	010002 				MOV	R0,R2		; ...CALLER'S POINTER TO R2
   4759	007060	122222 				CMPB	(R2)+,(R2)+	; ...ADVANCE THE POINTER
   4760	007062	111200 				MOVB	(R2),R0		; ...GET THE DAY
   4761	007064					CALL	.TYELA		; ...PRINT IT
	007064	004737 	000000G			 JSR	PC,.TYELA
   4762	007070					CALL	.TYMIN		; ...AND A <DASH>
	007070	004737 	000000G			 JSR	PC,.TYMIN
   4763	007074	114200 				MOVB	-(R2),R0	; ...GET THE MONTH
   4764	007076	006300 				ASL	R0		; ...MAKE IT AN EVEN INDEX
   4765	007100	016000 	000570'			MOV	TYDMTB-2(R0),R0	; ...POINT TO THE STRING
   4766	007104					CALL	.TYMSG		; ...PRINT IT
	007104	004737 	000000G			 JSR	PC,.TYMSG
   4767	007110					CALL	.TYMIN		; ...AND A <DASH>
	007110	004737 	000000G			 JSR	PC,.TYMIN
   4768	007114	122742 	000011 			CMPB	#^D9,-(R2)	; ...'09 OR EARLIER?
   4769	007120	002404 				BLT	10$		; ...NO -- GO ON
   4770	007122	012700 	000060 			MOV	#'0,R0		; ...YES -- FORCE THE LEADING ZERO
   4771	007126					CALL	.TYCHR		; ...SO
	007126	004737 	000000G			 JSR	PC,.TYCHR
   4772	007132				10$:
   4773	007132	111200 				MOVB	(R2),R0		; ...GET THE YEAR
   4774	007134					CALL	.TYELA		; ...PRINT IT
	007134	004737 	000000G			 JSR	PC,.TYELA
   4775	007140					POP	<R2,R0,.ORADX>	; ...RESTORE THE REGISTERS
	007140	012602 				 MOV	(SP)+,R2
	007142	012600 				 MOV	(SP)+,R0
	007144	012637 	000000G			 MOV	(SP)+,.ORADX
   4776	007150					CALLR	.TYSPC		; PRINT A <SPACE> AND EXIT
	007150	000137 	000000G			 JMP	.TYSPC
   4777						;
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 115-1
.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16

   4778
   4779	000572				.PSECT	DATA
   4780
   4781	000572				TYDMTB:
   4782	000572	000000G				.WORD	JANMSG
   4783	000574	000000G				.WORD	FEBMSG
   4784	000576	000000G				.WORD	MARMSG
   4785	000600	000000G				.WORD	APRMSG
   4786	000602	000000G				.WORD	MAYMSG
   4787	000604	000000G				.WORD	JUNMSG
   4788	000606	000000G				.WORD	JULMSG
   4789	000610	000000G				.WORD	AUGMSG
   4790	000612	000000G				.WORD	SEPMSG
   4791	000614	000000G				.WORD	OCTMSG
   4792	000616	000000G				.WORD	NOVMSG
   4793	000620	000000G				.WORD	DECMSG
   4794
   4795	007154				.PSECT
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 116
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

   4797					.SBTTL	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
   4798
   4799					;+
   4800					; .TYTIM -- TIME OUTPUT SUBROUTINE
   4801					;
   4802					; THIS SUBROUTINE WILL PRINT THE TIME ON THE CONSOLE OUTPUT DEVICE
   4803					; IN THE FOLLOWING FORMAT: "HH:MM"
   4804					;
   4805					; INPUT ARGUMENTS:
   4806					;
   4807					;	R0 POINTS TO THE TIME VALUE TO BE PRINTED
   4808					;	   IN SECONDS-SINCE-MIDNIGHT FORMAT (SSM).
   4809					;
   4810					; OUTPUT ARGUMENTS:
   4811					;
   4812					;	NONE.
   4813					;
   4814					; ERROR CODES RETURNED:
   4815					;
   4816					;	NONE.
   4817					;-
   4818
   4819
   4820	007154				.TYTIM::
   4821	007154					PUSH	<.ORADX,R0,R1>	; SAVE CALLER'S REGISTERS
	007154	013746 	000000G			 MOV	.ORADX,-(SP)
	007160	010046 				 MOV	R0,-(SP)
	007162	010146 				 MOV	R1,-(SP)
   4822	007164	012737 	000012 	000000G		MOV	#^D10,.ORADX	; ...SET OUTPUT RADIX TO DECIMAL
   4823	007172	011000 				MOV	(R0),R0		; ...GET THE TIME IN SSM/2
   4824	007174	012701 	003410 			MOV	#^D1800,R1	; ...DIVISOR FOR HOURS
   4825	007200					CALL	$DIV		; ...COMPUTE THE HOURS
	007200	004737 	000000G			 JSR	PC,$DIV
   4826	007204					PUSH	R0		; ...SAVE THEM
	007204	010046 				 MOV	R0,-(SP)
   4827	007206	010100 				MOV	R1,R0		; ....REMAINDER TO R0
   4828	007210	012701 	000036 			MOV	#^D30,R1	; ....DIVISOR FOR MINUTES
   4829	007214					CALL	$DIV		; ....COMPUTE THE MINUTES
	007214	004737 	000000G			 JSR	PC,$DIV
   4830	007220	010001 				MOV	R0,R1		; ....SAVE THEM IN R1
   4831	007222	022716 	000011 			CMP	#^D9,(SP)	; ....0900 OR EARLIER?
   4832	007226	002404 				BLT	10$		; ....NO -- GO ON
   4833	007230	012700 	000060 			MOV	#'0,R0		; ....YES -- FORCE THE LEADING ZERO
   4834	007234					CALL	.TYCHR		; ....SO
	007234	004737 	000000G			 JSR	PC,.TYCHR
   4835	007240				10$:
   4836	007240					POP	R0		; ....GET THE HOUR
	007240	012600 				 MOV	(SP)+,R0
   4837	007242					CALL	.TYELA		; ...PRINT IT
	007242	004737 	000000G			 JSR	PC,.TYELA
   4838	007246					CALL	.TYCOL		; ...TYPE A <COLON>
	007246	004737 	000000G			 JSR	PC,.TYCOL
   4839	007252	022701 	000011 			CMP	#^D9,R1		; ...9 MINUTES OR EARLIER?
   4840	007256	002404 				BLT	20$		; ...NO -- GO ON
   4841	007260	012700 	000060 			MOV	#'0,R0		; ...YES -- FORCE THE LEADING ZERO
   4842	007264					CALL	.TYCHR		; ...SO
	007264	004737 	000000G			 JSR	PC,.TYCHR
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 116-1
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

   4843	007270				20$:
   4844	007270	010100 				MOV	R1,R0		; ...GET THE MINUTE
   4845	007272					CALL	.TYELA		; ...PRINT IT
	007272	004737 	000000G			 JSR	PC,.TYELA
   4846	007276					POP	<R1,R0,.ORADX>	; ...RESTORE THE REGISTERS
	007276	012601 				 MOV	(SP)+,R1
	007300	012600 				 MOV	(SP)+,R0
	007302	012637 	000000G			 MOV	(SP)+,.ORADX
   4847	007306					CALLR	.TYSPC		; TYPE A <SPACE> AND EXIT
	007306	000137 	000000G			 JMP	.TYSPC
   4848						;
GTTIM -- INPUT AND DISPLAY DATE	MACRO M1113  03-APR-86 22:56  PAGE 117
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

   4850
   4851					.TITLE	HALTC -- HALT FUNCTION MODULE 7707.12
   4852
   4853						.IDENT	"005000"
   4854					;
   4855					;                             COPYRIGHT (C) 1975, 1984 BY
   4856					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   4857					;
   4858					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   4859					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   4860					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   4861					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   4862					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   4863					;
   4864					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   4865					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   4866					;       CORPORATION.
   4867					;
   4868					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   4869					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   4870					;
   4871					;		MODULE: HALT FUNCTION
   4872					;
   4873					;		VERSION: 03-06
   4874					;
   4875					;		AUTHOR: R. BELANGER
   4876					;
   4877					;		DATE: 7707.12
   4878					;
   4879					;	THIS MODULE CONTAINS:
   4880					;
   4881					;	1) HALT FUNCTION CODE
HALTC -- HALT FUNCTION MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 118
.HALTC -- THE "HALT" COMMAND 7710.11

   4883					.SBTTL	.HALTC -- THE "HALT" COMMAND 7710.11
   4884
   4885					;+
   4886					; .HALTC -- THE "HALT" COMMAND
   4887					;
   4888					; THIS ROUTINE HALTS THE KL WITH THE CLOCK RUNNING. (EXAMINE
   4889					; AND DEPOSIT ARE STILL SUPPORTED).
   4890					;
   4891					; INPUT ARGUMENTS:
   4892					;
   4893					;	NONE.
   4894					;
   4895					; OUTPUT ARGUMENTS:
   4896					;
   4897					;	NONE.
   4898					;
   4899					; ERROR CODES RETURNED:
   4900					;
   4901					;	ILS -- ILLEGAL SEPARATOR CHARACTER.
   4902					;-
   4903
   4904	007312				.HALTC::
   4905	007312					CALL	.CKEOC		; CHECK E-O-C
	007312	004737 	000000G			 JSR	PC,.CKEOC
   4906	007316					CALL	.KLSTP		; HALT THE KL AND RETURN
	007316	004737 	000000G			 JSR	PC,.KLSTP
   4907	007322					CALLR	KLPSTP		; [**]
	007322	000137 	000000G			 JMP	KLPSTP
   4908						;
HALTC -- HALT FUNCTION MODULE 7	MACRO M1113  03-APR-86 22:56  PAGE 119
.HALTC -- THE "HALT" COMMAND 7710.11

   4910
   4911					.TITLE	INITC -- INITIALIZE COMMAND MODULE 7602.16
   4912
   4913						.IDENT	"006110"
   4914
   4915					;
   4916					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   4917					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   4918					;			ALL RIGHTS RESERVED.
   4919					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   4920					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   4921					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   4922					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   4923					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   4924					;
   4925					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   4926					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   4927					;       CORPORATION.
   4928					;
   4929					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   4930					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   4931					;
   4932					;		MODULE: INITIALIZE COMMAND
   4933					;
   4934					;		VERSION: 06-11
   4935					;
   4936					;		AUTHOR: R. BELANGER
   4937					;
   4938					;		DATE: 7602.16
   4939					;
   4940					;	THIS MODULE CONTAINS:
   4941					;
   4942					;	1) INITIALIZE COMMAND CODE
   4943					;
   4944					;	MODIFIED BY A. PECKHAM 7612.10 TO DELETE REFERENCES TO .SECFL
   4945
   4946						.MCALL	ALUN$,CLEF$S,DIR$,SETF$S,SVTK$S
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 120
.INITC -- THE "INITIALIZE" COMMAND 7602.16

   4948					.SBTTL	.INITC -- THE "INITIALIZE" COMMAND 7602.16
   4949
   4950					;+
   4951					; .INITC -- THE "INITIALIZE" COMMAND
   4952					;
   4953					; THIS ROUTINE (RE)INITIALIZES THE COMMAND PARSER
   4954					;
   4955					; INPUT ARGUMENTS:
   4956					;
   4957					;	NONE.
   4958					;
   4959					; OUTPUT ARGUMENTS:
   4960					;
   4961					;	".KLFLG" IS SET UP
   4962					;
   4963					; ERROR CODES RETURNED:
   4964					;
   4965					;	NONE.
   4966					;-
   4967
   4968	007326				.INITC::
   4969	007326					CALL	.CKEOC		; CHECK FOR E-O-C
	007326	004737 	000000G			 JSR	PC,.CKEOC
   4970	007332				.INIC0::
   4971	007332	000414 				BR	.INKLF		; INIT THE PARSER AND RETURN
   4972						;
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 121
.INIT  -- INITIALIZATION SUBROUTINE 7509.26

   4974					.SBTTL	.INIT  -- INITIALIZATION SUBROUTINE 7509.26
   4975
   4976					;+
   4977					; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
   4978					;
   4979					; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
   4980					; THE FOLLOWING REGISTERS:
   4981					;
   4982					;	(A) ".KLFLG" -- THE KL STATUS FLAG WORD,
   4983					;	(B) ".CLKWD" -- THE KL CLOCK STATUS WORD,
   4984					;	(C) ".PSCWD" -- THE KL PARITY CONTROL WORD.
   4985					;
   4986					; INPUT ARGUMENTS:
   4987					;
   4988					;	NONE.
   4989					;
   4990					; OUTPUT ARGUMENTS:
   4991					;
   4992					;	".KLFLG" IS SET UP
   4993					;
   4994					; ERROR CODES RETURNED:
   4995					;
   4996					;	CES -- KL CLOCK ERROR STOP.
   4997					;	CFH -- CAN'T FIND KL HALT LOOP.
   4998					;	DSF -- DTE-20 STATUS FAILURE.
   4999					;	FRF -- FUNCTION READ FAILED.
   5000					;	FWF -- FUNCTION WRITE FAILED.
   5001					;-
   5002
   5003	007334				.INIT::
   5004	007334					PUSH	R0		; SAVE R0
	007334	010046 				 MOV	R0,-(SP)
   5005	007336	000257 				CCC			; .CLEAR N, Z, V, C BITS
   5006	007340	012700 	000000G			MOV	#.DFBLK,R0	; .CLEAR THE DF BUFFERS
   5007	007344				10$:
   5008	007344	005020 				CLR	(R0)+		; .CLEAR A WORD
   5009	007346	020027 	000000G			CMP	R0,#DFBEND	; .ARE WE DONE?
   5010	007352	103774 				BLO	10$		; .NO -- KEEP GOING
   5011	007354	012737 	000200 	000000G		MOV	#KF.DEF,.KLFLG	; .YES -- INIT ".KLFLG"
   5012	007362					POP	R0		; .RESTORE R0
	007362	012600 				 MOV	(SP)+,R0
   5013
   5014					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 122
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5016					.SBTTL	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
   5017
   5018					;+
   5019					; .INKLF -- SUBROUTINE TO SET UP THE KL STATE FLAG WORD, ".KLFLG".
   5020					;
   5021					; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
   5022					; FLAG BITS IN THE KL STATE FLAG WORD, ".KLFLG":
   5023					;
   5024					;	(A) "KF.CLK" -- KL CLOCK RUNNING FLAG,
   5025					;	(B) "KF.RUN" -- KL RUN FLOP SET FLAG,
   5026					;	(C) "KF.KLO" -- KL OPCODE ENABLED FLAG.
   5027					;
   5028					; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
   5029					; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
   5030					;
   5031					; INPUT ARGUMENTS:
   5032					;
   5033					;	NONE.
   5034					;
   5035					; OUTPUT ARGUMENTS:
   5036					;
   5037					;	".KLFLG" IS SET UP.
   5038					;
   5039					; ERROR CODES RETURNED:
   5040					;
   5041					;	CES -- KL CLOCK ERROR STOP.
   5042					;	CFH -- CAN'T FIND KL HALT LOOP.
   5043					;	DSF -- DTE-20 STATUS FAILURE.
   5044					;	DTC -- DTE-20 CONFUSED.
   5045					;	FRF -- FUNCTION READ FAILED.
   5046					;	FWF -- FUNCTION WRITE FAILED.
   5047					;-
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 123
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5049	007364				.INKLF::
   5050	007364					SETF$S	#E.FHTO		; SET THE HALT TIMEOUT EVENT FLAG
	007364	012746 	000001 			MOV	#E.FHTO,-(SP)
	007370	012746 				MOV	(PC)+,-(SP)
	007372	   041 	   002 			.BYTE	33.,2
	007374	104375 				EMT	375
   5051	007376	103461 				BCS	60$		; ERROR IF CC-C IS SET
   5053	007400	005737 	000000G			TST	.KLERQ		; [5.1006]KL CRASH?
   5054	007404	001055 				BNE	50$		; [5.1006]YES -- EXIT
   5056	007406					PUSH	<R0,R1,R2,R3>	; NO -- SAVE CALLER'S REGISTERS
	007406	010046 				 MOV	R0,-(SP)
	007410	010146 				 MOV	R1,-(SP)
	007412	010246 				 MOV	R2,-(SP)
	007414	010346 				 MOV	R3,-(SP)
   5057	007416					CALL	.DTSTA		; ....READ THE DTE-20 STATUS REGISTER
	007416	004737 	000000G			 JSR	PC,.DTSTA
   5058	007422	032700 	000010 			BIT	#ST.MOD,R0	; ....IS THE DTE-20 PRIVILEGED?
   5060	007426	001047 				BNE	INIDNP		; ....UGH, BLETCH -- NO
   5062	007430					CALL	.CESCK		; ....YES -- SEE IF CLOCK ERROR STOP IS UP
	007430	004737 	000000G			 JSR	PC,.CESCK
   5063	007434	012702 	000000G			MOV	#.KLFLG,R2	; ....FLAG POINTER TO R2
   5064	007440	042712 	140000 			BIC	#KF.CLK!KF.RUN,(R2)
   5065									; ....CLEAR THE CLOCK AND RUNNING FLAGS
   5066	007444	005037 	000000G			CLR	.EDKLX		; ....RESET THE ADDRESS TO ZERO
   5067	007450	005037 	000002G			CLR	.EDKLX+2	; ....
   5068	007454	012700 	000200 			MOV	#ED.PHY,R0	; ....PHYSICAL REFERENCE
   5069	007460	012701 	000622'			MOV	#.INEXT,R1	; ....POINT TO DATA BLOCK
   5070	007464					CALL	.EXKLM		; ....EXAMINE KL MEMORY
	007464	004737 	000000G			 JSR	PC,.EXKLM
   5071	007470	052712 	100600 			BIS	#KF.CON!KF.KLO!KF.CLK,(R2) ;*
   5072									; ....SET THE CLOCK RUNNING FLAG
   5073	007474	012703 	000144 			MOV	#^D100,R3	; ....LOOP COUNT TO R3
   5074	007500				10$:
   5075	007500					CALL	.DTDW1		; ....READ DIAG WORD 1
	007500	004737 	000000G			 JSR	PC,.DTDW1
   5076	007504	032700 	002000 			BIT	#D1.RUN,R0	; ....IS RUN ON?
   5080	007510	001002 				BNE	20$		; ....YES -- GO ON
   5081	007512	077306 				SOB	R3,10$		; ....NO -- LOOP TILL COUNT EXHAUSTED
   5082	007514	000405 				BR	30$		; ....CAN'T FIND IT, GIVE UP
   5083						;
   5084
   5085					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 124
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5087					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5088
   5089	007516				20$:
   5090	007516	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP THERE TOO?
   5092	007522	001014 				BNE	INIDTC		; ....YES -- GIVE "DTC" ERROR
   5094	007524	052712 	040000 			BIS	#KF.RUN,(R2)	; ....NO -- FOUND IT OK, SET THE FLAG
   5095	007530				30$:
   5109	007530					POP	<R3,R2,R1,R0>	; ....RESTORE CALLER'S REGISTERS
	007530	012603 				 MOV	(SP)+,R3
	007532	012602 				 MOV	(SP)+,R2
	007534	012601 				 MOV	(SP)+,R1
	007536	012600 				 MOV	(SP)+,R0
   5110	007540				50$:	RETURN			; TO CALLER
	007540	000207 				 RTS	PC
   5111	007542				60$:
   5112	007542	000137 	000000G			JMP	.EXITP		; ERROR EXIT
   5113						;
   5114	007546				INIDNP:
   5115	007546					ERROR$	DNP		; ERROR -- DTE-20 NOT PRIVILEGED
	007546	012746 	015500 			 MOV	#^RDNP,-(SP)
	007552	104400 				 TRAP	TC.ERR
   5116						;
   5117	007554				INIDTC:
   5118	007554					ERROR$	DTC		; ERROR --DTE-20 CONFUSED
	007554	012746 	016043 			 MOV	#^RDTC,-(SP)
	007560	104400 				 TRAP	TC.ERR
   5119						;
   5120
   5121	000622				.PSECT	DATA
   5122
   5123	000622				.INEXT:
   5124	000622	000000G				.WORD	.EDKLX		; ADDRESS 0
   5125	000624	000000G				.WORD	.EXBFR		; PLACE FOR DATA
   5126
   5127	007562				.PSECT
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 125
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5129					.SBTTL	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
   5130
   5131					;+
   5132					; .INICP -- ROUTINE TO INTIALIZE THE COMMAND PARSER.
   5133					;
   5134					; THIS SUBROUTINE WILL INITIALIZE THE RSX20F INTERFACE TO THE COMMAND
   5135					; PARSER. THE CONSOLE INPUT AND OUTPUT DEVICES ARE ASSIGNED AND ATTACHED,
   5136					; THE SST TRAPS ARE ENABLED, AND THE EVENT FLAGS ARE CLEARED.
   5137					;
   5138					; INPUT ARGUMENTS:
   5139					;
   5140					;	NONE.
   5141					;
   5142					; OUTPUT ARGUMENTS:
   5143					;
   5144					;	NONE.
   5145					;
   5146					; ERROR CODES RETURNED:
   5147					;
   5148					;	IF THE SST VECTORS CANNOT BE INITIALIZED THE PARSER EXITS.
   5149					;	IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
   5150					;	IF THE CONSOLE OUTPUT DEVICE CANNOT BE ASSIGNED, THE PARSER EXITS.
   5151					;	IF THE CONSOLE DEVICE CANNOT BE ATTACHED, THE PARSER EXITS.
   5152					;-
   5153
   5154	007562				.INICP::
   5155	007562	010637 	000000G			MOV	SP,.SVESP	; INIT THE STACK POINTER
   5156	007566	005005 				CLR	R5		; CLEAR THE GPR'S
   5157	007570	005004 				CLR	R4
   5158	007572	005003 				CLR	R3
   5159	007574	005002 				CLR	R2
   5160	007576	005001 				CLR	R1
   5161	007600	005000 				CLR	R0
   5162	007602					SVTK$S	#.SSTTB,#SSTLEN	; INIT SST'S
	007602	012746 	000000G			MOV	#SSTLEN,-(SP)
	007606	012746 	000000G			MOV	#.SSTTB,-(SP)
	007612	012746 				MOV	(PC)+,-(SP)
	007614	   071 	   003 			.BYTE	57.,3
	007616	104375 				EMT	375
   5163	007620	103452 				BCS	10$		; DIE IF WE CAN'T DO THAT MUCH
   5164	007622					DIR$	#.ASCOD		; ASSIGN THE CONSOLE OUTPUT DEVICE
	007622	012746 	000026'			MOV	#.ASCOD,-(SP)
	007626	104375 				EMT	375
   5165	007630	103446 				BCS	10$		; DIE IF WE CAN'T DO THAT, EITHER
   5166	007632					DIR$	#.ASCID		; ASSIGN THE CONSOLE INPUT DEVICE
	007632	012746 	000016'			MOV	#.ASCID,-(SP)
	007636	104375 				EMT	375
   5167	007640	103442 				BCS	10$		; GIVE ERROR TRAP IF CC-C IS SET
   5168	007642					DIR$	#.ASLST		; [5.1000]ASSIGN LP DEVICE
	007642	012746 	000036'			MOV	#.ASLST,-(SP)
	007646	104375 				EMT	375
   5169
   5170					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 126
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5172					; 	[CONTINUED FROM THE PREVIOUS PAGE]
   5173
   5174	007650					CLEF$S	#E.FCTC		; CLEAR CONTROL-C EVENT FLAG
	007650	012746 	000000G			MOV	#E.FCTC,-(SP)
	007654	012746 				MOV	(PC)+,-(SP)
	007656	   037 	   002 			.BYTE	31.,2
	007660	104375 				EMT	375
   5175	007662					CLEF$S	#E.FHTO		; CLEAR HALT TIMEOUT EVENT FLAG
	007662	012746 	000001 			MOV	#E.FHTO,-(SP)
	007666	012746 				MOV	(PC)+,-(SP)
	007670	   037 	   002 			.BYTE	31.,2
	007672	104375 				EMT	375
   5176	007674					CLEF$S	#E.FCID		; CLEAR CONSOLE INPUT DONE EVENT FLAG
	007674	012746 	000002 			MOV	#E.FCID,-(SP)
	007700	012746 				MOV	(PC)+,-(SP)
	007702	   037 	   002 			.BYTE	31.,2
	007704	104375 				EMT	375
   5177	007706					SETF$S	#E.FCOD		; SET CONSOLE OUTPUT DONE EVENT FLAG
	007706	012746 	000003 			MOV	#E.FCOD,-(SP)
	007712	012746 				MOV	(PC)+,-(SP)
	007714	   041 	   002 			.BYTE	33.,2
	007716	104375 				EMT	375
   5179	007720					SETF$S	#E.FLOD		; SET LIST DEVICE OUTPUT DONE EVENT FLAG
	007720	012746 	000005 			MOV	#E.FLOD,-(SP)
	007724	012746 				MOV	(PC)+,-(SP)
	007726	   041 	   002 			.BYTE	33.,2
	007730	104375 				EMT	375
   5181	007732					CALL	.TCRLF		; INIT CONSOLE
	007732	004737 	000000G			 JSR	PC,.TCRLF
   5182	007736					CALL	.INIC0		; INIT ".KLFLG"
	007736	004737 	007332'			 JSR	PC,.INIC0
   5183	007742	000177 	000000G			JMP	@.STRTV		; START THE PARSER
   5184						;
   5185	007746				10$:
   5186	007746					CALLR	.EXITP		; EXIT GRACEFULLY
	007746	000137 	000000G			 JMP	.EXITP
   5187						;
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 127
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5189					; ASSIGN CONSOLE INPUT DEVICE
   5190
   5191	000016				.PSECT	DPBS
   5192
   5193	000016				.ASCID::
   5197	000016					ALUN$	CIDLUN,TT,0
	000016	   007 	   004 			.BYTE	7,4
	000020	000001 				.WORD	CIDLUN
	000022	   124 				.ASCII	/T/
	000023	   124 				.ASCII	/T/
	000024	000000 				.WORD	0
   5199
   5200					; ASSIGN CONSOLE OUTPUT DEVICE
   5201
   5202	000026				.ASCOD::
   5206	000026					ALUN$	CODLUN,TT,0
	000026	   007 	   004 			.BYTE	7,4
	000030	000002 				.WORD	CODLUN
	000032	   124 				.ASCII	/T/
	000033	   124 				.ASCII	/T/
	000034	000000 				.WORD	0
   5208
   5209					; ASSIGN LINEPRINTER DEVICE
   5210
   5211	000036				.ASLST::
   5212	000036					ALUN$	LSTLUN,LP,0
	000036	   007 	   004 			.BYTE	7,4
	000040	000003 				.WORD	LSTLUN
	000042	   114 				.ASCII	/L/
	000043	   120 				.ASCII	/P/
	000044	000000 				.WORD	0
   5213
   5214	007752				.PSECT
INITC -- INITIALIZE COMMAND MOD	MACRO M1113  03-APR-86 22:56  PAGE 129
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5217
   5218					.TITLE	KLEDEF -- KLERR SNAPSHOT DEFAULT COMMANDS
   5219
   5220						.IDENT	"007030"
   5221
   5222					;
   5223					;                             COPYRIGHT (C) 1979, 1984, 1985 BY
   5224					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5225					;			ALL RIGHTS RESERVED.
   5226					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5227					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5228					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5229					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5230					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5231					;
   5232					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5233					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5234					;       CORPORATION.
   5235					;
   5236					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5237					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5238					;
   5239					;		MODULE: KLERR DEFAULT COMMANDS
   5240					;
   5241					;		VERSION: 07-03
   5242					;
   5243					;		AUTHOR: K. LEFEBVRE
   5244					;
   5245					;		DATE: 12-DEC-79
   5246					;
   5247					;		EDIT HISTORY
   5248					;
   5249					; SL9160  16-SEP-80	S. LEAPLINE	DON'T DO TAKE IF KL HALTED
   5250					;
   5251					;09-JUN-83  TCO 6.1675	D. WEAVER
   5252					;	TAKE .CMD FILES BASED ON KL ERROR CODE.
   5253					;
   5254					.MACRO	DEFCMD	NUM,COMMAND
   5255
   5256					.PSECT	DATA
   5257						.WORD	CMD'NUM
   5258
   5259					.PSECT	MESSAG
   5260					CMD'NUM:.ASCIZ	%COMMAND%
   5261
   5262					.PSECT	DATA
   5263
   5264					.ENDM	DEFCMD
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO M1113  03-APR-86 22:56  PAGE 130
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS

   5266					.SBTTL	.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
   5267
   5268					;+
   5269					; .KLE -- ROUTINE TO RETURN DEFAULT KLERR SNAPSHOT COMMANDS
   5270					;
   5271					; THIS ROUTINE CONTAINS BUILT INTO IT THE DEFAULT KLERR SNAPSHOT
   5272					; COMMANDS THAT ARE EXECUTED ANYTIME THE KL CRASHES. THEY ARE
   5273					; ASSEMBLED IN TO MAKE IT DIFFICULT FOR SITES TO MODIFY THEM AND
   5274					; CORRUPT THE SNAPSHOT.
   5275					;
   5276					;		THIS ROUTINE ADDED FOR TCO 4.1.1049
   5277					;
   5278					; INPUT ARGUMENTS:
   5279					;
   5280					;	NONE
   5281					;
   5282					; OUTPUT ARGUMENTS:
   5283					;
   5284					;	NONE
   5285					;
   5286					; ERROR CODES RETURNED:
   5287					;
   5288					;	NONE
   5289					;-
   5290
   5292	007752				.KLE::
   5293	007752					PUSH	<R1,R0>		; SAVE REGISTERS
	007752	010146 				 MOV	R1,-(SP)
	007754	010046 				 MOV	R0,-(SP)
   5294	007756	105737 	000000G			TSTB	.KLEVL		; POINTER VALID FLAG (FOR OVERLAY)
   5295	007762	001075 				BNE	30$		; YES -- WE MUST BE DONE
   5296	007764	122737 	000000G	000000G		CMPB	#ERRCES,.ERRCD	; CLOCK ERROR STOP?
   5297	007772	001042 				BNE	6$		; NO, KEEP GOING
   5298	007774	012701 	000626'			MOV	#FRDBUF,R1	; SET UP BUFFER FOR FUNCTION READS
   5299	010000	012700 	000206 			MOV	#FR.103,R0	; CHECK FOR DRAM PARITY ERROR
   5300	010004					CALL	.FREAD		; EXECUTE FUNCTION READ
	010004	004737 	000000G			 JSR	PC,.FREAD
   5301	010010	032711 	000040 			BIT	#40,(R1)	; SET?
   5302	010014	001404 				BEQ	2$		; NO, CHECK CRAM
   5303	010016	012737 	000000G	000000G		MOV	#ERRDPE,.ERRCD	; YES, SAY DRAM ERROR
   5304	010024	000425 				BR	6$		; GO EXECUTE CMD FILE
   5305	010026	012700 	000210 		2$:	MOV	#FR.104,R0	; CHECK FOR CRAM PARITY ERROR
   5306	010032					CALL	.FREAD		; EXECUTE FUNCTION READ
	010032	004737 	000000G			 JSR	PC,.FREAD
   5307	010036	032711 	000040 			BIT	#40,(R1)	; SET?
   5308	010042	001404 				BEQ	4$		; NO, CHECK FOR FAST MEMORY PARITY
   5309	010044	012737 	000000G	000000G		MOV	#ERRCPE,.ERRCD	; YES, SAY CRAM ERROR
   5310	010052	001412 			    	BEQ	6$		; GO EXECUTE CMD FILE
   5311	010054	012700 	000212 		4$:	MOV	#FR.105,R0	; CHECK FOR FM PARITY ERROR
   5312	010060					CALL	.FREAD		; EXECUTE FUNCTION READ
	010060	004737 	000000G			 JSR	PC,.FREAD
   5313	010064	032711 	000040 			BIT	#40,(R1)	; SET?
   5314	010070	001403 				BEQ	6$		; NO, MUST BE F-S PROBE
   5315	010072	012737 	000000G	000000G		MOV	#ERRFME,.ERRCD	; YES, SET THE ERROR CODE
   5316	010100	012701 	000000G		6$:	MOV	#.CIBFR,R1	; INPUT BUFFER POINTER
   5317	010104	012737 	000634'	000000G	 	MOV	#KLETAB,.KLEPT	; SET POINTER
   5318	010112	105237 	000000G			INCB	.KLEVL		; SET POINTER VALID
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO M1113  03-APR-86 22:56  PAGE 130-1
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS

   5319	010116	013700 	000000G			MOV	.ERRCD,R0	; GET ERROR CODE
   5320	010122	006300 				ASL	R0		; SHIFT IT ONE POSITION
   5321	010124	062700 	000632'			ADD	#KLETAB-2,R0	; POINT TO APPROPRIATE "TAKE" COMMAND
   5322	010130	011000 				MOV	(R0),R0		; GET COMMAND ADDRESS
   5323	010132	112021 			10$:	MOVB	(R0)+,(R1)+	; MOVE COMMAND TO INPUT BUFFER
   5324	010134	001376 				BNE	10$		; DONE?
   5325	010136	005301 				DEC	R1		; YES -- REMOVE LAST NULL
   5326	010140	162701 	000000G			SUB	#.CIBFR,R1	; GET COMMAND LENGTH
   5327	010144	010137 	000002G			MOV	R1,.CISTS+2	; SAVE LENGTH
   5328	010150				20$:	POP	<R0,R1>		; RESTORE REGISTERS
	010150	012600 				 MOV	(SP)+,R0
	010152	012601 				 MOV	(SP)+,R1
   5329	010154					RETURN			; EXIT
	010154	000207 				 RTS	PC
   5330	010156	005037 	000000G		30$:	CLR	.KLEDF		; CLEAR DEFAULT COMMAND FLAG
   5331	010162	012700 	002205'			MOV	#EOSMSG,R0	; END-OF-SNAPSHOT MESSAGE PTR
   5332	010166					CALL	.TYMSG		; TYPE IT
	010166	004737 	000000G			 JSR	PC,.TYMSG
   5333	010172	005037 	000002G			CLR	.CISTS+2	; CLEAR COMMAND LENGTH
   5334	010176	105737 	000000G			TSTB	.KLSNP		; SNAPSHOT COMMAND IN PROGRESS?
   5335	010202	001404 				BEQ	40$		; NO -- GO ON
   5336	010204	005037 	000000G			CLR	.KLERQ		; YES -- CLEAR SNAPSHOT FLAG
   5337	010210	105037 	000000G			CLRB	.KLSNP		; SAY SNAPSHOT COMMAND DONE
   5338	010214	032737 	000000G	000000G	40$:	BIT	#KL.REQ,.KLIWD	; KLI REQUESTED
   5339	010222	001752 				BEQ	20$		; NO -- GET INPUT FROM CTY
   5340	010224					CALL	.TCRLF		; YES -- OUTPUT EOS
	010224	004737 	000000G			 JSR	PC,.TCRLF
   5341	010230					CALLR	.EXITP		; EXIT TO KLI
	010230	000137 	000000G			 JMP	.EXITP
   5342
   5343	002205				.PSECT	MESSAG
   5344
   5345	002205				EOSMSG:
   5346	002205	   040 	   074 	   105 		.ASCIZ	% <END OF SNAPSHOT> %
	002210	   116 	   104 	   040
	002213	   117 	   106 	   040
	002216	   123 	   116 	   101
	002221	   120 	   123 	   110
	002224	   117 	   124 	   076
	002227	   040 	   000
   5347
   5348	000626				.PSECT	DATA
   5349
   5350	000626				FRDBUF::
   5351	000626	000000 	000000 	000000 		.WORD	0,0,0			;BUFFER FOR FUNCTION READS
   5352
   5353					;TABLE FOR .CMD FILES TO EXECUTE BASED ON ERROR CONDITION
   5354	000634				KLETAB::
   5355	000634					DEFCMD	K1,<TAKE CLOCK>
	000634	002231'				.WORD	CMDK1
	002231	   124 	   101 	   113 	CMDK1:.ASCIZ	%TAKE CLOCK%
	002234	   105 	   040 	   103
	002237	   114 	   117 	   103
	002242	   113 	   000
   5356	000636					DEFCMD	K2,<TAKE EBUS>
	000636	002244'				.WORD	CMDK2
	002244	   124 	   101 	   113 	CMDK2:.ASCIZ	%TAKE EBUS%
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO M1113  03-APR-86 22:56  PAGE 130-2
.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS

	002247	   105 	   040 	   105
	002252	   102 	   125 	   123
	002255	   000
   5357	000640					DEFCMD	K3,<TAKE DEX>
	000640	002256'				.WORD	CMDK3
	002256	   124 	   101 	   113 	CMDK3:.ASCIZ	%TAKE DEX%
	002261	   105 	   040 	   104
	002264	   105 	   130 	   000
   5358	000642					DEFCMD	K4,<TAKE KPALV>
	000642	002267'				.WORD	CMDK4
	002267	   124 	   101 	   113 	CMDK4:.ASCIZ	%TAKE KPALV%
	002272	   105 	   040 	   113
	002275	   120 	   101 	   114
	002300	   126 	   000
   5359	000644				  	DEFCMD	K5,<TAKE TIMEO>
	000644	002302'				.WORD	CMDK5
	002302	   124 	   101 	   113 	CMDK5:.ASCIZ	%TAKE TIMEO%
	002305	   105 	   040 	   124
	002310	   111 	   115 	   105
	002313	   117 	   000
   5360	000646					DEFCMD	K6,<TAKE FMPAR>
	000646	002315'				.WORD	CMDK6
	002315	   124 	   101 	   113 	CMDK6:.ASCIZ	%TAKE FMPAR%
	002320	   105 	   040 	   106
	002323	   115 	   120 	   101
	002326	   122 	   000
   5361	000650					DEFCMD	K7,<TAKE CRAM>
	000650	002330'				.WORD	CMDK7
	002330	   124 	   101 	   113 	CMDK7:.ASCIZ	%TAKE CRAM%
	002333	   105 	   040 	   103
	002336	   122 	   101 	   115
	002341	   000
   5362	000652					DEFCMD	K8,<TAKE DRAM>
	000652	002342'				.WORD	CMDK8
	002342	   124 	   101 	   113 	CMDK8:.ASCIZ	%TAKE DRAM%
	002345	   105 	   040 	   104
	002350	   122 	   101 	   115
	002353	   000
   5363	000654					DEFCMD	K9,<TAKE HALT>
	000654	002354'				.WORD	CMDK9
	002354	   124 	   101 	   113 	CMDK9:.ASCIZ	%TAKE HALT%
	002357	   105 	   040 	   110
	002362	   101 	   114 	   124
	002365	   000
   5364	000656					DEFCMD	K10,<TAKE RELOAD>
	000656	002366'				.WORD	CMDK10
	002366	   124 	   101 	   113 	CMDK10:.ASCIZ	%TAKE RELOAD%
	002371	   105 	   040 	   122
	002374	   105 	   114 	   117
	002377	   101 	   104 	   000
   5365	010234				.PSECT
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO M1113  03-APR-86 22:56  PAGE 131
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT

   5368					.SBTTL	.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
   5369
   5370					;+
   5371					; .SNAP -- ROUTINE TO MANUALLY TAKE A KL SNAPSHOT
   5372					;
   5373					; THIS ROUTINE WILL SET UP THE CONTROL FLAGS THAT WILL CAUSE THE PARSER
   5374					; TO AT IN THE KLERR FUNCTION OF TAKING A SNAPSHOT.
   5375					;
   5376					;		THIS ROUTINE ADDED FOR TCO 4.1.1049
   5377					;
   5378					; INPUT ARGUMENTS:
   5379					;
   5380					;	NONE
   5381					;
   5382					; OUTPUT ARGUMENTS:
   5383					;
   5384					;	NONE
   5385					;
   5386					; ERROR CODES RETURNED:
   5387					;
   5388					;	NONE
   5389					;-
   5390
   5392	010234				.SNAP::
   5393	010234					CALL	.CKEOC		; MUST HAVE E-O-C
	010234	004737 	000000G			 JSR	PC,.CKEOC
   5394	010240	005237 	000000G			INC	.KLERQ		; SET FLAG THAT SAYS SNAPSHOT REQUIRED
   5395	010244	005237 	000000G			INC	.KLEDF		; SET FLAG THAT CAUSES DEFAULT COMMANDS
   5396	010250	105037 	000000G			CLRB	.KLEVL		; CLEAR DEFAULT COMMAND VALID FLAG
   5397	010254	105237 	000000G			INCB	.KLSNP		; SAY SNAPSHOT COMMAND IN PROGRESS
   5398	010260					RETURN			; DONE
	010260	000207 				 RTS	PC
   5399
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO M1113  03-APR-86 22:56  PAGE 133
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT

   5403
   5404					.TITLE	MARKC -- KL MARK/UNMARK-MICROCODE COMMAND MODULE 7910.19
   5405
   5406						.IDENT	"006130"
   5407
   5408					;
   5409					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   5410					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5411					;			ALL RIGHTS RESERVED.
   5412					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5413					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5414					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5415					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5416					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5417					;
   5418					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5419					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5420					;       CORPORATION.
   5421					;
   5422					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5423					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5424					;
   5425					;
   5426					;		MODULE: KL CRAM DISPATCH FIELD READ
   5427					;
   5428					;		VERSION: 06-13
   5429					;
   5430					;		AUTHOR: R. BELANGER
   5431					;
   5432					;		DATE: 7910.19
   5433					;
   5434					;	THIS MODULE CONTAINS:
   5435					;
   5436					;	1) MARK MICROCODE COMMAND
   5437					;	2) UNMARK MICROCODE COMMAND
MARKC -- KL MARK/UNMARK-MICROCO	MACRO M1113  03-APR-86 22:56  PAGE 134
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19

   5439					.SBTTL	.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
   5440
   5441					;+
   5442					; .MARKC -- THE "MARK-MICROCODE" COMMAND
   5443					; .UMRKC -- THE "UNMARK-MICROCODE" COMMAND
   5444					;
   5445					; THESE SUBROUTINES WILL EITHER MARK OR UNMARK A SINGLE LOCATION IN THE
   5446					; KL CRAM.  NO CHECK IS MADE TO SEE WHETHER OR NOT THE LOCATION IS ALREADY
   5447					; IN THE DESIRED STATE; THE COMMAND IS SIMPLY EXECUTED
   5448					;
   5449					; INPUT ARGUMENTS:
   5450					;
   5451					;	NONE.
   5452					;
   5453					; OUTPUT ARGUMENTS:
   5454					;
   5455					;	NONE.
   5456					;	R0, R1, R2 -- ALTERED.
   5457					;
   5458					; ERROR CODES RETURNED:
   5459					;
   5460					;	NONE.
   5461					;
   5462					; NOTE:
   5463					;
   5464					;	NO ATTEMPT IS MADE TO RESTORE THE STATE OF THE KL CLOCK OR THE
   5465					;	KL RUN FLOP.  THIS ROUTINE ESSENTIALLY CLOBBERS ANY HARDWARE
   5466					;	CONTEXT THAT EXISTS WHEN IT IS CALLED AND EXITS WITH THE KL
   5467					;	CLOCK OFF.
   5468					;-
   5469						.ENABL	LSB
   5470
   5471	010262				.UMRKC::
   5472	010262	005046 				CLR	-(SP)		; SET THE "UNMARK" FLAG
   5473	010264	000402 				BR	10$		; .AND ENTER COMMON CODE
   5474						;
   5475	010266				.MARKC::
   5476	010266	012746 	000001 			MOV	#1,-(SP)	; SET THE "MARK" FLAG
   5477	010272				10$:
   5478	010272					CALL	.CKRUN		; .BETTER NOT BE RUNNING...
	010272	004737 	000000G			 JSR	PC,.CKRUN
   5479	010276					CALL	.GTELN		; .READ THE CRAM ADDRESS
	010276	004737 	000000G			 JSR	PC,.GTELN
   5480	010302	010002 				MOV	R0,R2		; .COPY ADDRESS TO R2
   5481	010304					CALL	.RDCRM		; .READ THE CRAM LOCATION SPECIFIED
	010304	004737 	000000G			 JSR	PC,.RDCRM
   5482	010310	012701 	000400 			MOV	#400,R1		; .MARK BIT TO R1
   5483	010314	005716 				TST	(SP)		; .TEST "MARK" FLAG
   5484	010316	001003 				BNE	20$		; .MARK -- GO DO IT
   5485	010320	040160 	000006 			BIC	R1,6(R0)	; .UNMARK -- DO IT NOW
   5486	010324	000402 				BR	30$		; .AND EXIT IN COMMON CODE
   5487						;
   5488	010326				20$:
   5489	010326	050160 	000006 			BIS	R1,6(R0)	; .MARK THE MICROCODE
   5490	010332				30$:
   5491	010332	010001 				MOV	R0,R1		; .COPY BUFFER POINTER TO R1
   5492	010334	010200 				MOV	R2,R0		; .COPY ADDRESS TO R0
MARKC -- KL MARK/UNMARK-MICROCO	MACRO M1113  03-APR-86 22:56  PAGE 134-1
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19

   5493	010336					CALL	.WRCRM		; .REWRITE THE CRAM
	010336	004737 	000000G			 JSR	PC,.WRCRM
   5494	010342	122715 	000054 			CMPB	#',,(R5)	; [5.1014]IS THIS A LIST?
   5495	010346	001004 				BNE	40$		; [5.1014]NO -- GO ON
   5496	010350	105725 				TSTB	(R5)+		; [5.1014]YES -- REMOVE COMMA
   5497	010352	005726 				TST	(SP)+		; [5.1014]REMOVE AND TEST "MARK" FLAG
   5498	010354	001344 				BNE	.MARKC		; [5.1014]MARK COMMAND
   5499	010356	000741 				BR	.UMRKC		; [5.1014]UNMARK COMMAND
   5500	010360	005726 			40$:	TST	(SP)+		; [5.1014]POP STACK
   5501	010362					RETURN			; [5.1014]EXIT
	010362	000207 				 RTS	PC
   5502						;
   5503
   5504						.DSABLE	LSB
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 136
.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19

   5507					.TITLE	RESTC -- RESET COMMAND DISPATCH 7707.12
   5508
   5509						.IDENT	"005000"
   5510					;
   5511					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   5512					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5513					;			ALL RIGHTS RESERVED.
   5514					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5515					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5516					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5517					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5518					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5519					;
   5520					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5521					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5522					;       CORPORATION.
   5523					;
   5524					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5525					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5526					;
   5527					;		MODULE: RESET COMMAND DISPATCH
   5528					;
   5529					;		VERSION: 05-00
   5530					;
   5531					;		AUTHOR: R. BELANGER
   5532					;
   5533					;		DATE: 7707.12
   5534					;
   5535					;	THIS MODULE CONTAINS:
   5536					;
   5537					;	1) RESET COMMAND DISPATCH
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 137
.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11

   5539					.SBTTL	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
   5540
   5541					;+
   5542					; .RESTC -- THE "RESET" COMMAND DISPATCH
   5543					;
   5544					; THIS ROUTINE IS THE TOP LEVEL OF THE RESET COMMAND. ".RESTC" CHECKS
   5545					; ARGUMENTS FOR RESET AND DISPATCHES TO THE PROPER ROUTINE
   5546					;
   5547					; INPUT ARGUMENTS:
   5548					;
   5549					;	NONE.
   5550					;
   5551					; OUTPUT ARGUMENTS:
   5552					;
   5553					;	R0 POINTS TO THE LEGAL BITS FOR THE RESET OBJECT.
   5554					;
   5555					; ERROR CODES RETURNED:
   5556					;
   5557					;	KLR -- ILLEGAL WHILE KL IS RUNNING.
   5558					;-
   5559
   5560	010364				.RESTC::
   5561	010364	111504 				MOVB	(R5),R4		; LOOK AT THIS CHARACTER
   5562	010366	132764 	000010 	000000G		BITB	#CH.EOC,.CHTAB(R4)
   5563	010374	001015 				BNE	10$		; DEFAULT RESET ON E-O-C
   5564	010376					CALL	.CKARG		; GET OVER LEADING BLANKS
	010376	004737 	000000G			 JSR	PC,.CKARG
   5565	010402	012700 	000000G			MOV	#.RESTB,R0	; TABLE POINTER TO R0
   5566	010406					CALL	.TSCAN		; SCAN THE TABLE
	010406	004737 	000000G			 JSR	PC,.TSCAN
   5567	010412	012001 				MOV	(R0)+,R1	; LEGAL BITS TO R1
   5568	010414	005101 				COM	R1		; INVERT THEM
   5569	010416	040137 	000000G			BIC	R1,.LGLWD	; SET UP NEW LEGAL WORD
   5570	010422					CALL	.CKEOC		; CHECK FOR E-O-C
	010422	004737 	000000G			 JSR	PC,.CKEOC
   5571	010426					CALLR	@(R0)+		; DO THE RESET
	010426	000130 				 JMP	@(R0)+
   5572						;
   5573	010430				10$:
   5574	010430					CALL	.CKRNP		; SEE IF THE KL IS RUNNING
	010430	004737 	000000G			 JSR	PC,.CKRNP
   5575	010434					CALL	.STPKL		; STOP THE KL
	010434	004737 	000000G			 JSR	PC,.STPKL
   5576	010440					CALLR	.RESTP		; RESET THE KL AND EXIT
	010440	000137 	000000G			 JMP	.RESTP
   5577						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 138
.RSALL -- THE "RESET ALL" COMMAND 7602.18

   5579					.SBTTL	.RSALL -- THE "RESET ALL" COMMAND 7602.18
   5580
   5581	010444				.RSALL::
   5582	010444					PUSH	.KLFLG		; SAVE ".KLFLG"
	010444	013746 	000000G			 MOV	.KLFLG,-(SP)
   5583	010450	032716 	100000 			BIT	#KF.CLK,(SP)	; .IS THE CLOCK ON?
   5584	010454	001426 				BEQ	RSAKCN		; .NO -- GIVE "KCN" ERROR
   5585	010456					CALL	.STPKL		; .STOP THE KL
	010456	004737 	000000G			 JSR	PC,.STPKL
   5586	010462					CALL	.RESTD		; .RESET THE DTE-20
	010462	004737 	000000G			 JSR	PC,.RESTD
   5587	010466					CALL	.RSAPR		; .RESET APR
	010466	004737 	010540'			 JSR	PC,.RSAPR
   5588	010472					CALL	.RSPAG		; .RESET PAG
	010472	004737 	010572'			 JSR	PC,.RSPAG
   5589	010476					CALL	.RSTPI		; .RESET PI
	010476	004737 	010562'			 JSR	PC,.RSTPI
   5590	010502					POP	.SVKLF		; .SET UP ".SVKLF"
	010502	012637 	000000G			 MOV	(SP)+,.SVKLF
   5591	010506					CALLR	.RSTKL		; RESTART THE KL
	010506	000137 	000000G			 JMP	.RSTKL
   5592						;
   5593	010512				.RSDTE::
   5594	010512					CALLR	.RESTD		; RESET THE DTE-20
	010512	000137 	000000G			 JMP	.RESTD
   5595						;
   5596	010516				.RSTIN::
   5597	010516					CALL	.CKRUN		; SEE IF THE KL IS RUNNING
	010516	004737 	000000G			 JSR	PC,.CKRUN
   5598	010522					CALL	.STPKL		; STOP THE KL
	010522	004737 	000000G			 JSR	PC,.STPKL
   5599	010526					CALLR	.RESTI		; RESET TO DEFAULTS AND EXIT
	010526	000137 	000000G			 JMP	.RESTI
   5600						;
   5601	010532				RSAKCN:
   5602	010532					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	010532	012746 	042506 			 MOV	#^RKCN,-(SP)
	010536	104400 				 TRAP	TC.ERR
   5603						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 139
.RSTPI -- THE "RESET PI" COMMAND 7607.21

   5605					 .SBTTL	.RSTPI -- THE "RESET PI" COMMAND 7607.21
   5606
   5607						.ENABL	LSB
   5608
   5609	010540				.RSAPR::			; RESET APR
   5610	010540	012700 	000660'			MOV	#RSAPRI,R0	; INSTRUCTION POINTER TO R0
   5611	010544	000410 				BR	10$		; DO COMMON CODE
   5612						;
   5613	010546				.RSERR::			; RESET ERROR
   5614	010546	012700 	000666'			MOV	#RSERRI,R0	; INSTRUCTION POINTER TO R0
   5615	010552	000405 				BR	10$		; DO COMMON CODE
   5616						;
   5617	010554				.RSTIO::			; RESET IO
   5618	010554	012700 	000674'			MOV	#RSTIOI,R0	; INSTRUCTION POINTER TO R0
   5619	010560	000402 				BR	10$		; DO COMMON CODE
   5620						;
   5621	010562				.RSTPI::			; RESET PI
   5622	010562	012700 	000702'			MOV	#RSTPII,R0	; INSTRUCTION POINTER TO R0
   5623	010566				10$:
   5624	010566					CALLR	.EXCTF		; EXECUTE IT
	010566	000137 	000000G			 JMP	.EXCTF
   5625						;
   5626
   5627						.DSABL	LSB
   5628
   5629	000660				.PSECT	DATA
   5630
   5631	000660				RSAPRI:
   5632	000660					IOKL$	CONO	APR,,267760
	000660	   360 	   157 			 .BYTE	$$A,$$B
	000662	   001 	   002 			 .BYTE	$$C,$$D
	000664	   016 	   000 			 .BYTE	$$E,$$F
   5633	000666				RSERRI:
   5634	000666					IOKL$	CONO	APR,,27760
	000666	   360 	   057 			 .BYTE	$$A,$$B
	000670	   000 	   002 			 .BYTE	$$C,$$D
	000672	   016 	   000 			 .BYTE	$$E,$$F
   5635	000674				RSTIOI:
   5636	000674					IOKL$	CONO	APR,,200000
	000674	   000 	   000 			 .BYTE	$$A,$$B
	000676	   001 	   002 			 .BYTE	$$C,$$D
	000700	   016 	   000 			 .BYTE	$$E,$$F
   5637	000702				RSTPII:
   5638	000702					IOKL$	CONO	PI,,10000
	000702	   000 	   020 			 .BYTE	$$A,$$B
	000704	   000 	   006 			 .BYTE	$$C,$$D
	000706	   016 	   000 			 .BYTE	$$E,$$F
   5639
   5640	010572				.PSECT
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 140
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

   5642					.SBTTL	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
   5643
   5644	010572				.RSPAG::
   5645	010572					PUSH	.KLFLG		; SAVE ".KLFLG"
	010572	013746 	000000G			 MOV	.KLFLG,-(SP)
   5646	010576	032716 	100000 			BIT	#KF.CLK,(SP)	; .IS THE CLOCK ON?
   5647	010602	001442 				BEQ	RSPKCN		; .NO -- GIVE "KCN" ERROR
   5648	010604					CALL	.STPKL		; .STOP THE KL
	010604	004737 	000000G			 JSR	PC,.STPKL
   5649	010610					PUSH	R1		; .SAVE R1
	010610	010146 				 MOV	R1,-(SP)
   5650	010612					PUSH	#16		; ..BUILD A CLEAR WORD ON THE STACK
	010612	012746 	000016 			 MOV	#16,-(SP)
   5651	010616	005046 				CLR	-(SP)		; ...
   5652	010620	005046 				CLR	-(SP)		; ....
   5653	010622	010601 				MOV	SP,R1		; .....GET THE POINTER
   5654	010624	005046 				CLR	-(SP)		; .....NOW SET UP
   5655	010626					PUSH	#100		; ......SCRATCH ADDRESS
	010626	012746 	000100 			 MOV	#100,-(SP)
   5656	010632	010600 				MOV	SP,R0		; .......GET THE POINTER
   5657	010634					PUSH	R1		; .......DATA POINTER TO STACK
	010634	010146 				 MOV	R1,-(SP)
   5658	010636					PUSH	R0		; ........ADDRESS POINTER TO STACK
	010636	010046 				 MOV	R0,-(SP)
   5659	010640	010601 				MOV	SP,R1		; .........BLOCK POINTER TO R1
   5660	010642	012700 	000040 			MOV	#ED.EXV,R0	; .........EXEC VIRTUAL SPACE
   5661	010646					CALL	.DPKLM		; .........DO THE DEPOSIT
	010646	004737 	000000G			 JSR	PC,.DPKLM
   5662	010652	062706 	000016 			ADD	#^D14,SP	; .........RESET THE STACK
   5663	010656	012700 	000710'			MOV	#RSPGI0,R0	; ..INSTRUCTION POINTER TO R0
   5664	010662					CALL	.EXCTF		; ..EXECUTE IT
	010662	004737 	000000G			 JSR	PC,.EXCTF
   5665	010666	012700 	000716'			MOV	#RSPGI1,R0	; ..NEXT INSTRUCTION
   5666	010672					CALL	.EXCTF		; ..EXECUTE IT
	010672	004737 	000000G			 JSR	PC,.EXCTF
   5667	010676					POP	R1		; ..RESTORE R1
	010676	012601 				 MOV	(SP)+,R1
   5668	010700					POP	.SVKLF		; .SET UP ".SVKLF"
	010700	012637 	000000G			 MOV	(SP)+,.SVKLF
   5669	010704					CALLR	.RSTKL		; RESART THE KL AND EXIT
	010704	000137 	000000G			 JMP	.RSTKL
   5670						;
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 141
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

   5672	010710				RSPKCN:
   5673	010710					ERROR$	KCN		; ERROR -- KL CLOCK NOT RUNNING
	010710	012746 	042506 			 MOV	#^RKCN,-(SP)
	010714	104400 				 TRAP	TC.ERR
   5674						;
   5675
   5676	000710				.PSECT	DATA
   5677
   5678	000710				RSPGI0:
   5679	000710					IOKL$	CONO	PAG,,0
	000710	   000 	   000 			 .BYTE	$$A,$$B
	000712	   000 	   012 			 .BYTE	$$C,$$D
	000714	   016 	   000 			 .BYTE	$$E,$$F
   5680	000716				RSPGI1:
   5681	000716					IOKL$	DATAO	PAG,,100
	000716	   100 	   000 			 .BYTE	$$A,$$B
	000720	   200 	   011 			 .BYTE	$$C,$$D
	000722	   016 	   000 			 .BYTE	$$E,$$F
   5682
   5683	010716				.PSECT
RESTC -- RESET COMMAND DISPATCH	MACRO M1113  03-APR-86 22:56  PAGE 142
.RSPAG -- THE "RESET PAG" COMMAND 7607.21

   5685
   5686
   5687					.TITLE	RUNCM -- RUN/TAKE COMMAND MODULE 7607.14
   5688
   5689						.IDENT	"006110"
   5690
   5691					;
   5692					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   5693					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5694					;			ALL RIGHTS RESERVED.
   5695					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5696					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5697					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5698					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5699					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5700					;
   5701					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5702					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5703					;       CORPORATION.
   5704					;
   5705					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5706					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5707					;
   5708					;		MODULE: RUN COMMAND
   5709					;
   5710					;		VERSION: 06-11
   5711					;
   5712					;		AUTHOR: R. BELANGER
   5713					;
   5714					;		DATE: 7607.14
   5715					;
   5716					;	THIS MODULE CONTAINS:
   5717					;
   5718					;	1) RUN COMMAND CODE
   5719					;	2) REQUEST DIRECTIVE PARAMETER BLOCK
   5720					;
   5721					;  MODIFICATIONS:
   5722					;
   5723					;	NO.	DATE		PROGRAMMER	REASON
   5724					;	---	----		----------	------
   5725					;    [5.1000]	24-AUG-79	K. LEFEBVRE	ADD "TAKE" COMMAND
   5726
   5727						.MCALL	DIR$, RQST$
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 143
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

   5729					.SBTTL	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
   5730
   5731					;+
   5732					; .RUNCM -- THE "RUN" AND "MCR" COMMANDS
   5733					;
   5734					; THIS ROUTINE REQUESTS THE TASK SPECIFIED IN THE COMMAND TO BE RUN
   5735					; AND EXITS THE COMMAND PARSER
   5736					;
   5737					; INPUT ARGUMENTS:
   5738					;
   5739					;	NONE.
   5740					;
   5741					; OUTPUT ARGUMENTS:
   5742					;
   5743					;	NONE.
   5744					;
   5745					; ERROR CODES RETURNED:
   5746					;
   5747					;	ITN -- ILLEGAL TASK NAME
   5748					;	NST -- NO SUCH TASK
   5749					;	TAA -- TASK IS ALREADY ACTIVE
   5750					;-
   5751
   5752	010716				.RUNCM::
   5753	010716					CALL	.CKSYM		; GET OVER LEADING BLANKS
	010716	004737 	000000G			 JSR	PC,.CKSYM
   5754	010722					CALL	.GTR50		; GET THE .RAD50 TASK NAME
	010722	004737 	011174'			 JSR	PC,.GTR50
   5755	010726	001425 				BEQ	RUNITN		; BAD NEWS IF NONE THERE
   5756	010730					PUSH	R0		; SAVE THE TASK NAME
	010730	010046 				 MOV	R0,-(SP)
   5757	010732					CALL	.GTR50		; .READ THE SECOND HALF
	010732	004737 	011174'			 JSR	PC,.GTR50
   5758	010736					CALL	.CKEOC		; .MUST HAVE E-O-C
	010736	004737 	000000G			 JSR	PC,.CKEOC
   5759	010742					POP	.RNDPB+4	; .SET THE TASK NAME IN THE DPB
	010742	012637 	000052'			 MOV	(SP)+,.RNDPB+4
   5760	010746					DIR$	#.RNDPB		; REQUEST THE TASK
	010746	012746 	000046'			MOV	#.RNDPB,-(SP)
	010752	104375 				EMT	375
   5761	010754	103402 				BCS	10$		; ERROR IF CC-C IS SET
   5762	010756					CALLR	.EXITP		; EXIT
	010756	000137 	000000G			 JMP	.EXITP
   5763						;
   5764
   5765					;	[CONTINUED ON THE FOLLOWING PAGE]
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 144
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

   5767					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5768
   5769	010762				10$:
   5770	010762	013700 	000000G			MOV	$DSW,R0		; LOOK AT THE DIRECTIVE STATUS
   5771	010766	022700 	000000G			CMP	#IE.INS,R0	; IS THERE SUCH A TASK?
   5772	010772	001406 				BEQ	RUNNST		; NO -- GIVE "NST" ERROR
   5773	010774	022700 	000000G			CMP	#IE.ACT,R0	; YES -- IS IT ALREADY ACTIVE?
   5774	011000	001406 				BEQ	RUNTAA		; YES -- GIVE "TAA" ERROR
   5775	011002				RUNITN:
   5776	011002					ERROR$	ITN		; ERROR -- ILLEGAL TASK NAME
	011002	012746 	035556 			 MOV	#^RITN,-(SP)
	011006	104400 				 TRAP	TC.ERR
   5777						;
   5778	011010				RUNNST:
   5779	011010					ERROR$	NST		; ERROR -- NO SUCH TASK
	011010	012746 	055214 			 MOV	#^RNST,-(SP)
	011014	104400 				 TRAP	TC.ERR
   5780						;
   5781	011016				RUNTAA:
   5782	011016					ERROR$	TAA		; ERROR -- TASK ALREADY ACTIVE
	011016	012746 	076451 			 MOV	#^RTAA,-(SP)
	011022	104400 				 TRAP	TC.ERR
   5783						;
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 145
.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14

   5785					; DPB FOR REQUEST DIRECTIVE
   5786
   5787					;	!===============================================!
   5788					; 00	!	DPB SIZE	!	  DIC		!
   5789					;	!-----------------------------------------------!
   5790					; 02	!	    TASK NAME IN .RAD50 (HIGH)		!
   5791					;	!-----------------------------------------------!
   5792					; 04	!	    TASK NAME IN .RAD50 (LOW)		!
   5793					;	!-----------------------------------------------!
   5794					; 06	!	     PARTITION NAME (IGNORED)		!
   5795					;	!-----------------------------------------------!
   5796					; 10	!	     PARTITION NAME (IGNORED)		!
   5797					;	!-----------------------------------------------!
   5798					; 12	!		TASK PRIORITY			!
   5799					;	!-----------------------------------------------!
   5800					; 14	!		UIC (IGNORED)			!
   5801					;	!===============================================!
   5802
   5803	000046				.PSECT	DPBS
   5804
   5805	000046				.RNDPB::
   5806	000046					RQST$	...TSK,,,,
	000046	   013 	   007 			.BYTE	11.,7
	000050	131574 	100003 			.RAD50	/...TSK/
	000054	000000 	000000 			.WORD	0,0
	000060	000000 				.WORD
	000062	   000 	   000 			.BYTE	,
   5807
   5808	011024				.PSECT
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 146
.TAKEC -- THE "TAKE" COMMAND

   5810					.SBTTL	.TAKEC -- THE "TAKE" COMMAND
   5811
   5812					;+
   5813					; .TAKEC -- THE "TAKE" COMMAND
   5814					;
   5815					; THIS ROUTINE REQUESTS AN INDIRECT COMMAND FILE, OPENS IT WITH
   5816					; READ ACCESS, AND INDICATES THAT FURTHER COMMAND INPUT SHOULD
   5817					; COME FROM THIS FILE.
   5818					;	THIS COMMAND WAS ADDED FOR TCO 5.1000
   5819					;
   5820					; INPUT ARGUMENTS:
   5821					;
   5822					;	NONE
   5823					;
   5824					; OUTPUT ARGUMENTS:
   5825					;
   5826					;	NONE
   5827					;
   5828					; ERROR CODES RETURNED:
   5829					;
   5830					;	CAL -- CAN'T ASSIGN LUN
   5831					;	DNF -- DIRECTORY FILE NOT FOUND
   5832					;	FLF -- FILE LOOKUP FAILURE
   5833					;	FOF -- FILE OPEN FAILURE
   5834					;	FRD -- FILE READ FAILURE
   5835					;	IFN -- ILLEGAL FILE NAME
   5836					;	IRE -- ILLEGAL RECURSION
   5837					;	NSF -- NO SUCH FILE
   5838					;-
   5839
   5840	011024				.TAKEC::
   5841	011024	012737 	062072 	000000G		MOV	#^RPAR,.INFN	; DEFAULT COMMAND FILE NAME
   5842	011032	012737 	073632 	000002G		MOV	#^RSER,.INFN+2	; PARSER.CMD
   5843	011040					CALL	.CKSYM		; GET OVER LEADING BLANKS
	011040	004737 	000000G			 JSR	PC,.CKSYM
   5844	011044					CALL	.GTR50		; GET THE RAD50 FILE NAME
	011044	004737 	011174'			 JSR	PC,.GTR50
   5845	011050	001406 				BEQ	10$		; DEFAULT NAME IF NONE GIVEN
   5846	011052	010037 	000000G			MOV	R0,.INFN	; SAVE 1ST HALF FILE NAME
   5847	011056					CALL	.GTR50		; GET 2ND HALF FILE NAME
	011056	004737 	011174'			 JSR	PC,.GTR50
   5848	011062	010037 	000002G			MOV	R0,.INFN+2	; SAVE 2ND HALF FILE NAME
   5849	011066				10$:	CALL	.CKEOC		; MUST HAVE E-O-C
	011066	004737 	000000G			 JSR	PC,.CKEOC
   5850	011072	005737 	000000G			TST	.INDFG		; ALREADY DOING INDIRECT FILE?
   5851	011076	001030 				BNE	TAKIRE		; YES -- ERROR
   5852	011100				.TAKE1::			; [5.1006]ALTERNATE ENTRY POINT FOR KLE
   5853	011100	012700 	000000G			MOV	#.INFN,R0	; NO -- INPUT FILE NAME PTR
   5854	011104	012701 	000000G			MOV	#.INFNB,R1	; INPUT FILE NAME BLOCK PTR
   5855	011110	012702 	000005 			MOV	#INDLUN,R2	; INPUT FILE LUN
   5856	011114					CALL	.LOKUP		; LOOK UP INPUT FILE
	011114	004737 	000000G			 JSR	PC,.LOKUP
   5857	011120	103422 				BCS	TAKNSF		; NO SUCH FILE IF CC-C IS SET
   5858	011122	012704 	000000G			MOV	#IO.ACR,R4	; READ ACCESS
   5859	011126					CALL	.OPEN		; OPEN FILE FOR READ
	011126	004737 	000000G			 JSR	PC,.OPEN
   5860	011132	005037 	000000G			CLR	.INBBC		; NOTHING READ IN YET
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 146-1
.TAKEC -- THE "TAKE" COMMAND

   5861	011136	005037 	000000G			CLR	.INPOS		; NO BUFFER YET
   5862	011142	005037 	000000G			CLR	.INVBN		; READ FIRST BLOCK
   5863	011146	005037 	000002G			CLR	.INVBN+2	; READ FIRST BLOCK
   5864	011152	005237 	000000G			INC	.INDFG		; REDIRECT INPUT TO FILE
   5865	011156					RETURN			; RETURN
	011156	000207 				 RTS	PC
   5866						;
   5867	011160				TAKIRE:
   5868	011160					ERROR$	IRE		; ERROR -- ILLEGAL RECURSION
	011160	012746 	035425 			 MOV	#^RIRE,-(SP)
	011164	104400 				 TRAP	TC.ERR
   5869	011166				TAKNSF:
   5870	011166				20$:	ERROR$	NSF		; ERROR -- NO SUCH FILE
	011166	012746 	055176 			 MOV	#^RNSF,-(SP)
	011172	104400 				 TRAP	TC.ERR
   5871						;
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 147
.GTR50 -- GET A .RAD50 WORD 7602.18

   5873					.SBTTL	.GTR50 -- GET A .RAD50 WORD 7602.18
   5874
   5875					;+
   5876					; .GTR50 -- GET A .RAD50 WORD
   5877					;
   5878					; THIS ROUTINE WILL CONVERT THE NEXT THREE ASCII CHARACTERS IN THE
   5879					; INPUT STREAM TO .RAD50 FORMAT.
   5880					;
   5881					; INPUT ARGUMENTS:
   5882					;
   5883					;	R5 POINTS TO THE INPUT STREAM.
   5884					;
   5885					; OUTPUT ARGUMENTS:
   5886					;
   5887					;	R0 HOLDS THE .RAD50 SYMBOL.
   5888					;
   5889					; ERROR CODES RETURNED:
   5890					;
   5891					;	NONE.
   5892					;	IF THE ROUTINE CANNOT CONVERT THE FIRST CHARACTER, CC-Z IS SET.
   5893					;-
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 148
.GTR50 -- GET A .RAD50 WORD 7602.18

   5895	011174				.GTR50::
   5896	011174					PUSH	<R1,R2>		; SAVE REGISTERS
	011174	010146 				 MOV	R1,-(SP)
	011176	010246 				 MOV	R2,-(SP)
   5897	011200	005046 				CLR	-(SP)		; ..SAVE A BUFFER
   5898	011202	012702 	000000G			MOV	#.T50TB,R2	; ...FACTOR TABLE POINTER TO R2
   5899	011206				10$:
   5900	011206	012201 				MOV	(R2)+,R1	; ...GET CURRENT MULTIPLIER
   5901	011210	001427 				BEQ	50$		; ...DONE IF .EQ. 0
   5902	011212	112500 				MOVB	(R5)+,R0	; ...GET THE CHARACTER INTO R0
   5903	011214	120027 	000101 			CMPB	R0,#'A		; ...IS IT ALPHABETIC?
   5904	011220	103403 				BLO	20$		; ...NO -- TRY NUMERIC
   5905	011222	120027 	000132 			CMPB	R0,#'Z		; ...IS IT REALLY ALPHABETIC?
   5906	011226	101410 				BLOS	30$		; ...YES -- ADD IT TO RESULT
   5907	011230				20$:
   5908	011230	120027 	000060 			CMPB	R0,#'0		; ...NO -- IS IT NUMERIC?
   5909	011234	103413 				BLO	40$		; ...NO -- EXIT
   5910	011236	120027 	000071 			CMPB	R0,#'9		; ...YES -- IS IT REALLY NUMERIC?
   5911	011242	101010 				BHI	40$		; ...NO -- EXIT
   5912	011244	162700 	177722 			SUB	#<<'0-36>-<'A-1>>,R0
   5913	011250				30$:
   5914	011250	162700 	000100 			SUB	#<'A-1>,R0	; ...CONVERT ALPHABETIC
   5915	011254					CALL	$MUL		; ...COMPUTE CHARACTER VALUE
	011254	004737 	000000G			 JSR	PC,$MUL
   5916	011260	060116 				ADD	R1,(SP)		; ...ACCUMULATE RESULT
   5917	011262	000751 				BR	10$		; ...AND GET NEXT CHARACTER
   5918						;
   5919	011264				40$:
   5920	011264	105745 				TSTB	-(R5)		; ...BACK UP THE BYTE POINTER
   5921	011266	010004 				MOV	R0,R4		; ...PUT THE CHARACTER IN R4
   5922	011270				50$:
   5923	011270					POP	R0		; ...RETURN THE RESULT
	011270	012600 				 MOV	(SP)+,R0
   5924	011272					POP	<R2,R1>		; ..RESTORE REGISTERS
	011272	012602 				 MOV	(SP)+,R2
	011274	012601 				 MOV	(SP)+,R1
   5925	011276	005700 				TST	R0		; LOOK AT R0
   5926	011300					RETURN			; TO CALLER
	011300	000207 				 RTS	PC
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 149
.QUITC -- THE "QUIT" COMMAND 7602.16

   5928					.SBTTL	.QUITC -- THE "QUIT" COMMAND 7602.16
   5929
   5930					;+
   5931					; .QUITC -- THE "QUIT" COMMAND.
   5932					;
   5933					; THIS ROUTINE EXECUTES THE "QUIT" (EXIT) FUNCTION.
   5934					;
   5935					; INPUT ARGUMENTS:
   5936					;
   5937					;	NONE.
   5938					;
   5939					; OUTPUT ARGUMENTS:
   5940					;
   5941					;	NONE.
   5942					;
   5943					; ERROR CODES RETURNED:
   5944					;
   5945					;	NONE.
   5946					;-
   5947
   5948	011302				.QUITC::
   5949	011302					CALL	.CKEOC		; MUST HAVE E-O-C
	011302	004737 	000000G			 JSR	PC,.CKEOC
   5950	011306					CALLR	.EXITP		; EXIT THE PARSER
	011306	000137 	000000G			 JMP	.EXITP
   5951						;
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO M1113  03-APR-86 22:56  PAGE 151
.QUITC -- THE "QUIT" COMMAND 7602.16

   5954
   5955					.TITLE	SAVEC -- SAVE/RESTORE COMMAND DISPATCH 8306.09
   5956
   5957						.IDENT	"007030"
   5958					;
   5959					;                             COPYRIGHT (C) 1983, 1984, 1985 BY
   5960					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   5961					;			ALL RIGHTS RESERVED.
   5962					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   5963					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   5964					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   5965					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   5966					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   5967					;
   5968					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   5969					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   5970					;       CORPORATION.
   5971					;
   5972					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   5973					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   5974					;
   5975					;		MODULE: SAVEC COMMAND DISPATCH
   5976					;
   5977					;		VERSION: 07-03
   5978					;
   5979					;		AUTHOR: D. WEAVER
   5980					;
   5981					;		DATE: 8306.09
   5982					;
   5983					;	THIS MODULE CONTAINS:
   5984					;
   5985					;	1) RESTORE COMMAND DISPATCH
   5986					;	2) SAVE COMMAND DISPATCH
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 152
.RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09

   5988					.SBTTL	.RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
   5989
   5990					;+
   5991					; .RSTRC -- THE "SAVE" COMMAND DISPATCH
   5992					;
   5993					; THIS ROUTINE IS THE TOP LEVEL OF THE RESTORE COMMAND. ".RSTRC" CHECKS
   5994					; ARGUMENTS FOR RESTORE AND DISPATCHES TO THE PROPER ROUTINE
   5995					;
   5996					; INPUT ARGUMENTS:
   5997					;
   5998					;	NONE.
   5999					;
   6000					; OUTPUT ARGUMENTS:
   6001					;
   6002					;	NONE.
   6003					;
   6004					; ERROR CODES RETURNED:
   6005					;
   6006					;	ILC -- ILLEGAL COMMAND.
   6007					;-
   6008
   6009	011312				.RSTRC::
   6010	011312	012700 	000000G			MOV	#.RSTTB,R0	; TABLE POINTER TO R0
   6011	011316					CALL	.CKOBJ		; GET OVER LEADING BLANKS
	011316	004737 	000000G			 JSR	PC,.CKOBJ
   6012	011322					CALL	.TSCAN		; SCAN THE TABLE
	011322	004737 	000000G			 JSR	PC,.TSCAN
   6013	011326					CALL	.CKEOC		; MUST HAVE E-O-C
	011326	004737 	000000G			 JSR	PC,.CKEOC
   6014	011332					CALLR	@2(R0)		; DO THE COMMAND
	011332	000170 	000002 			 JMP	@2(R0)
   6015						;
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 153
.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09

   6017					.SBTTL	.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
   6018					;+
   6019					; .RSACB  SUBROUTINE TO RESTORE THE FM ADDRESS REGISTER (AC BLOCK)
   6020					;
   6021					; THIS ROUTINE WILL:
   6022					;
   6023					;	1. INSERT INSTR OBJECT INTO KL LOC 100
   6024					;	2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
   6025					;
   6026					; INPUT ARGUMENTS:
   6027					;
   6028					;	.ACBLK CONTAINING THE FM ADDRESS REGISTER
   6029					;
   6030					; OUTPUT ARGUMENTS:
   6031					;
   6032					;	NONE.
   6033					;
   6034					; ERROR CODES RETURNED:
   6035					;
   6036					;	CCC -- CAN'T CLEAR KL10 CLOCK
   6037					;	CCR -- CAN'T CLEAR KL10 RUN FLOP
   6038					;	CCS -- KL10 CLOCK CAN'T START
   6039					;	CES -- CLOCK ERROR STOP
   6040					;	CFH -- CAN'T FIND KL10 HALT LOOP
   6041					;	CSC -- CAN'T SYNC KL10 CLOCK
   6042					;	DMF -- DEPOSIT KL10 MEMORY FAILED
   6043					;	DSF -- DTE20 STATUS FAILURE
   6044					;	ECT -- EBOX CLOCK TIME OUT
   6045					;	ESD -- EBOX STOPPED - DEPOSIT
   6046					;	FRF -- FUNCTION READ FAILED
   6047					;	FWF -- FUNCTION WRITE FAILED
   6048					;	FXF -- FUNCTION EXECUTE FAILED
   6049					;	MAE -- MODE ARGUMENT ERROR
   6050					;	XTO -- EXECUTE TIMED OUT
   6051					;-
   6052
   6053	011336				.RSACB::
   6054	011336	113702 	000001G			MOVB	.ACBLK+1,R2	; BUFFER FOR DATA
   6055	011342	006302 				ASL	R2		; POSITION AC BLOCK NO.
   6056	011344	006302 				ASL	R2		; POSITION AC BLOCK NO.
   6057	011346	006302 				ASL	R2		; POSITION AC BLOCK NO.
   6058	011350	110237 	000737'			MOVB	R2,RACDAT+3	; PUT BLOCK NO. INTO INSTR
   6059	011354	012701 	000724'			MOV	#RACBLK,R1	; SET UP DEPOSIT DATA BLOCK
   6060	011360	012700 	000200 			MOV	#ED.PHY,R0	; PUT IN PHYSICAL SPACE
   6061	011364					CALL	.DPKLM		; DEPOSIT INSTR OBJECT IN MEMORY
	011364	004737 	000000G			 JSR	PC,.DPKLM
   6062	011370	103404 				BCS	10$		; ERROR
   6063	011372	012700 	000742'			MOV	#SETACB,R0	; INSTR PTR
   6064	011376					CALL	.EXCTF		; EXECUTE INSTR
	011376	004737 	000000G			 JSR	PC,.EXCTF
   6065	011402				10$:	RETURN			; EXIT
	011402	000207 				 RTS	PC
   6066
   6067	000724				.PSECT	DATA
   6068
   6069	000724	000730'			RACBLK:	.WORD	RACADR		; OBJECT ADDR PTR
   6070	000726	000734'				.WORD	RACDAT		; DEPOSIT DATA PTR
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 153-1
.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09

   6071	000730	000100 			RACADR:	.WORD	100		; ADDR BITS 20-35
   6072	000732	000000 				.WORD	0		; ADDR BITS 14-19
   6073	000734	000000 			RACDAT:	.WORD	0		; DATA BITS 20-35
   6074	000736	000000 				.WORD	0		; DATA BITS 4-19
   6075	000740	000010 				.WORD	10		; DATA BITS 0-3
   6076
   6077	000742				SETACB:	IOKL$	DATAO	PAG,,100	; SET AC BLOCK INSTR
	000742	   100 	   000 			 .BYTE	$$A,$$B
	000744	   200 	   011 			 .BYTE	$$C,$$D
	000746	   016 	   000 			 .BYTE	$$E,$$F
   6078
   6079	011404				.PSECT
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 154
.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09

   6081					.SBTTL	.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
   6082
   6083					;+
   6084					; .SAVEC -- THE "SAVE" COMMAND DISPATCH
   6085					;
   6086					; THIS ROUTINE IS THE TOP LEVEL OF THE SAVE COMMAND. ".SAVEC" CHECKS
   6087					; ARGUMENTS FOR SAVE AND DISPATCHES TO THE PROPER ROUTINE
   6088					;
   6089					; INPUT ARGUMENTS:
   6090					;
   6091					;	NONE.
   6092					;
   6093					; OUTPUT ARGUMENTS:
   6094					;
   6095					;	NONE.
   6096					;
   6097					; ERROR CODES RETURNED:
   6098					;
   6099					;	ILC -- ILLEGAL COMMAND.
   6100					;-
   6101
   6102	011404				.SAVEC::
   6103	011404	012700 	000000G			MOV	#.SAVTB,R0	; TABLE POINTER TO R0
   6104	011410					CALL	.CKOBJ		; GET OVER LEADING BLANKS
	011410	004737 	000000G			 JSR	PC,.CKOBJ
   6105	011414					CALL	.TSCAN		; SCAN THE TABLE
	011414	004737 	000000G			 JSR	PC,.TSCAN
   6106	011420					CALL	.CKEOC		; MUST HAVE E-O-C
	011420	004737 	000000G			 JSR	PC,.CKEOC
   6107	011424					CALLR	@2(R0)		; DO THE COMMAND
	011424	000170 	000002 			 JMP	@2(R0)
   6108						;
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 155
.SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09

   6110					.SBTTL	.SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
   6111					;+
   6112					; .SVACB  SUBROUTINE TO SAVE THE FM ADDRESS REGISTER (AC BLOCK)
   6113					;
   6114					; INPUT ARGUMENTS:
   6115					;
   6116					;	NONE.
   6117					;
   6118					; OUTPUT ARGUMENTS:
   6119					;
   6120					;	.ACBLK WILL CONTAIN THE FM ADDRESS REGISTER
   6121					;
   6122					; ERROR CODES RETURNED:
   6123					;
   6124					;	FRF -- FUNCTION READ FAILED.
   6125					;-
   6126
   6127	011430				.SVACB::
   6128	011430	005001 				CLR	R1
   6129	011432	012700 	000222 			MOV	#FR.111,R0
   6130	011436					CALL	.FREAD
	011436	004737 	000000G			 JSR	PC,.FREAD
   6131	011442	012701 	000033 			MOV	#^D27,R1
   6132	011446					CALL	.TPSHI
	011446	004737 	000000G			 JSR	PC,.TPSHI
   6133	011452	042710 	177770 			BIC	#177770,(R0)
   6134	011456	012701 	000000G			MOV	#.ACBLK,R1		; BUFFER FOR DATA
   6135	011462	011011 				MOV	(R0),(R1)
   6136	011464					RETURN
	011464	000207 				 RTS	PC
   6137					;	CALLR	.RDFMA			; RESTORE AC BLOCK AND RETURN
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 156
.SVPC -- THE "SAVE PC" COMMAND 8306.09

   6139					.SBTTL	.SVPC -- THE "SAVE PC" COMMAND 8306.09
   6140					;+
   6141					; .SVPC   SUBROUTINE TO SAVE THE KL PC REGISTER
   6142					;
   6143					; INPUT ARGUMENTS:
   6144					;
   6145					;	NONE.
   6146					;
   6147					; OUTPUT ARGUMENTS:
   6148					;
   6149					;	.ERRPC WILL CONTAIN THE 23 BIT PC FROM THE KL
   6150					;	.ERRCD WILL CONTAIN <FLAGS,,ERRCOD> FROM THE KL'S PERSPECTIVE
   6151					;	NOTE THAT ERRCOD IS SUPPLIED BY TKTN
   6152					;
   6153					; ERROR CODES RETURNED:
   6154					;
   6155					;	FRF -- FUNCTION READ FAILED.
   6156					;-
   6157
   6158	011466				.SVPC::
   6159	011466					CALL	.SAVFL			; GET THE FLAGS IN R0
	011466	004737 	011542'			 JSR	PC,.SAVFL
   6160	011472					PUSH	.ERRCD			; SAVE THE ERROR CODE
	011472	013746 	000000G			 MOV	.ERRCD,-(SP)
   6161	011476	005037 	000000G			CLR	.ERRCD			; AND CLEAR IT (TEMPORARILY)
   6162	011502	010037 	000002G			MOV	R0,.ERRCD+2		; MOVE THEM INTO DEX WORD FOR FLAGS
   6163	011506	005037 	000004G			CLR	.ERRCD+4		; AND CLEAR ANY LEFT OVER
   6164	011512	012700 	000000G			MOV	#.ERRCD,R0		; ADDRESS OF DATA
   6165	011516	012701 	000007 			MOV	#^D7,R1			; SHIFT COUNT
   6166	011522					CALL	.TPSHI			; SHIFT BITS INTO POSITION
	011522	004737 	000000G			 JSR	PC,.TPSHI
   6167	011526					POP	.ERRCD			; RESTORE ERROR CODE
	011526	012637 	000000G			 MOV	(SP)+,.ERRCD
   6168	011532	012701 	000000G			MOV	#.ERRPC,R1		; WHERE TO STORE THE PC
   6169	011536					CALLR	.SAVPC			; GET THE PC
	011536	000137 	011666'			 JMP	.SAVPC
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 157
.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS

   6171					.SBTTL	.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
   6172
   6173					;+
   6174					; .SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS.
   6175					;
   6176					; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL PC FLAGS IN R0.
   6177					;
   6178					; INPUT ARGUMENTS:
   6179					;
   6180					;	NONE.
   6181					;
   6182					; OUTPUT ARGUMENTS:
   6183					;
   6184					;	R0 CONTAINS THE KL PC FLAGS
   6185					;
   6186					; THE FOLLOWING IS A LIST OF THE KL FLAGS RETURNED IN R0:
   6187					;
   6188					;	BIT #	KL PC FLAG BIT AND MEANING	KL BIT
   6189					;	-----	----------------------------	--------
   6190					;
   6191					;	12	PC.OVF -- OVERFLOW FLAG		-- 00
   6192					;	11	PC.CY0 -- CARRY 0 FLAG		-- 01
   6193					;	10	PC.CY1 -- CARRY 1 FLAG		-- 02
   6194					;	09	PC.FOV -- FLOATING OVERFLOW	-- 03
   6195					;	08	PC.BIS -- BYTE INCR SUPPRESSION	-- 04
   6196					;	07	PC.USR -- USER MODE		-- 05
   6197					;	06	PC.UIO -- USER IOT MODE		-- 06
   6198					;	05	PC.LIP -- LAST INS PUBLIC	-- 07
   6199					;	04	PC.AFI -- ADDR FAILURE INHIBIT	-- 08
   6200					;	03	PC.AT1 -- APR TRAP 1 FLAG	-- 09
   6201					;	02	PC.AT0 -- APR TRAP 0 FLAG	-- 10
   6202					;	01	PC.FUF -- FLOATING UNDERFLOW	-- 11
   6203					;	00	PC.NDV -- NO DIVIDE FLAG	-- 12
   6204					;
   6205					; ERROR CODES RETURNED:
   6206					;
   6207					;	FRF -- FUNCTION READ FAILED.
   6208					;-
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 158
.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS

   6210	011542				.SAVFL:
   6211	011542					PUSH	<R1,R2>		; SAVE R1 AND R2 ON THE STACK
	011542	010146 				 MOV	R1,-(SP)
	011544	010246 				 MOV	R2,-(SP)
   6212	011546	005001 				CLR	R1		; ..CLEAR R1
   6213	011550	005002 				CLR	R2		; ..AND R2
   6214	011552	012700 	000202 			MOV	#FR.101,R0	; ..FR CODE FOR LOW FLAGS
   6215	011556					CALL	.FREAD		; ..READ THEM
	011556	004737 	000000G			 JSR	PC,.FREAD
   6216	011562	012701 	177764 			MOV	#-^D12,R1	; ..SHIFT COUNT TO R1
   6217	011566					CALL	.TPSHI		; ..SHIFT OUR WORD
	011566	004737 	000000G			 JSR	PC,.TPSHI
   6218	011572	042710 	177700 			BIC	#177700,(R0)	; ..MASK OUT FLAG BITS
   6219	011576	051002 				BIS	(R0),R2		; ..PUT THE LOW FLAGS IN R2
   6220	011600	005001 				CLR	R1		; ..AGAIN
   6221	011602	012700 	000200 			MOV	#FR.100,R0	; ..FR CODE FOR MOST OF THE FLAGS
   6222	011606					CALL	.FREAD		; ..READ THEM
	011606	004737 	000000G			 JSR	PC,.FREAD
   6223	011612	012701 	177772 			MOV	#-^D6,R1	; ..SHIFT COUNT TO R1
   6224	011616					CALL	.TPSHI		; ..SHIFT THE DATA
	011616	004737 	000000G			 JSR	PC,.TPSHI
   6225	011622	042710 	170077 			BIC	#170077,(R0)	; ..JUST THE BITS WE WANT
   6226	011626	051002 				BIS	(R0),R2		; ..SAVE THE HIGH FLAGS IN R2
   6227	011630	005001 				CLR	R1		; ..CLEAR R1 AGAIN
   6228	011632	012700 	000264 			MOV	#FR.132,R0	; ..FR CODE FOR LAST FLAG BIT
   6229	011636					CALL	.FREAD		; ..READ IT
	011636	004737 	000000G			 JSR	PC,.FREAD
   6230	011642	032760 	000001 	000004 		BIT	#BIT00,4(R0)	; ..IS IT ON?
   6231	011650	001402 				BEQ	10$		; ..NO -- JUST EXIT
   6232	011652	052702 	010000 			BIS	#PC.OVF,R2	; ..YES -- SET IT IN OUR WORD
   6233	011656				10$:
   6234	011656	010200 				MOV	R2,R0		; ..PUT A COPY IN R0
   6235	011660					POP	<R2,R1>		; ..RESTORE REGISTERS
	011660	012602 				 MOV	(SP)+,R2
	011662	012601 				 MOV	(SP)+,R1
   6236	011664					RETURN			; TO CALLER
	011664	000207 				 RTS	PC
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 159
.SAVPC -- PC READ SUBROUTINE 8306.17

   6238					.SBTTL	.SAVPC -- PC READ SUBROUTINE 8306.17
   6239
   6240					;+
   6241					; .SAVPC -- SUBROUTINE TO READ THE KL PROGRAM COUNTER REGISTER
   6242					;
   6243					; THESE SUBROUTINES READ AND ASSEMBLE THE VMA PC BOARD REGISTER
   6244					; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
   6245					;
   6246					; INPUT ARGUMENTS:
   6247					;
   6248					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
   6249					;
   6250					; OUTPUT ARGUMENTS:
   6251					;
   6252					;	R1 POINTS TO A TWO WORD BUFFER FOR THE SPECIFIED REGISTER
   6253					;
   6254					; ERROR CODES RETURNED:
   6255					;
   6256					;	FRF -- FUNCTION READ FAILED.
   6257					;-
   6258
   6259						.ENABL	LSB
   6260
   6261	011666				.SAVPC:
   6262	011666	012700 	000750'			MOV	#SVPCTB,R0	; POINTER TO PC TABLE
   6263	011672					CALL	R5,.REGSV	; SAVE R5 - R1 ON THE STACK
	011672	004537 	000000G			 JSR	R5,.REGSV
   6264	011676	010005 				MOV	R0,R5		; TABLE POINTER TO R5
   6265	011700	012704 	000004 			MOV	#^D4,R4		; ITERATION COUNT TO R4
   6266	011704	010103 				MOV	R1,R3		; USER BUFFER ADDRESS TO R3
   6267	011706	012502 				MOV	(R5)+,R2	; FUNCTION READ BASE TO R2
   6268	011710					PUSH	(R5)+		; MASK WORD TO TOP OF THE STACK
	011710	012546 				 MOV	(R5)+,-(SP)
   6269	011712	011505 				MOV	(R5),R5		; .SHIFT BASE TO R5
   6270	011714	010100 				MOV	R1,R0		; .CLEAR CALLER'S AREA
   6271	011716					CALL	.TPCLR		; .SO
	011716	004737 	000000G			 JSR	PC,.TPCLR
   6272	011722				20$:
   6273	011722	010200 				MOV	R2,R0		; .SET THE FUNCTION READ NUMBER
   6274	011724	006300 				ASL	R0		; .TIMES 2
   6275	011726	005001 				CLR	R1		; .CLEAR R1
   6276	011730					CALL	.FREAD		; .READ IT
	011730	004737 	000000G			 JSR	PC,.FREAD
   6277	011734	041620 				BIC	(SP),(R0)+	; .SP POINTS TO BIT MASK
   6278	011736	041610 				BIC	(SP),(R0)	; .R0 POINTS TO READ BLOCK
   6279	011740	005740 				TST	-(R0)		; .NOW BACK THE POINTER UP
   6280	011742	010501 				MOV	R5,R1		; .GET THE SHIFT COUNT INTO R1
   6281	011744					CALL	.TPSHI		; .AND SHIFT IT
	011744	004737 	000000G			 JSR	PC,.TPSHI
   6282	011750	052023 				BIS	(R0)+,(R3)+	; .SET THE BITS IN THE USER BUFFER
   6283	011752	051013 				BIS	(R0),(R3)	; .SO
   6284	011754	005743 				TST	-(R3)		; .BACK CALLER'S POINTER UP
   6289	011756	122225 				CMPB	(R2)+,(R5)+	; .INCREMENT READ NUMBER AND SHIFT COUNT
   6291	011760	077420 				SOB	R4,20$		; .DO THIS FOUR TIMES
   6292	011762	042763 	177600 	000002 		BIC	#177600,2(R3)	; .GET RID OF BITS HIGHER THAN 13
   6293	011770	005726 				TST	(SP)+		; CLEAR THE STACK
   6294	011772					RETURN			; RETURN TO CALLER
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 159-1
.SAVPC -- PC READ SUBROUTINE 8306.17

	011772	000207 				 RTS	PC
   6295
   6296						.DSABL	LSB
   6297
   6298					; TABLE FOR VMA PC BOARD READS
   6299
   6300	000750				.PSECT	DATA
   6301	000750				SVPCTB:
   6302	000750	000150 				.WORD	FR.150/2	; BASE READ FOR PC REGISTER
   6303	000752	135673 				.WORD	135673		; BIT MASK   "  "     "
   6304	000754	177776 				.WORD	-^D2		; SHIFT CNT  "  "     "
   6305	011774				.PSECT
SAVEC -- SAVE/RESTORE COMMAND D	MACRO M1113  03-APR-86 22:56  PAGE 160
.SAVPC -- PC READ SUBROUTINE 8306.17

   6307
   6308
   6309					.TITLE	SCACB -- SET AC-BLOCK COMMAND MODULE
   6310
   6311						.IDENT	"006110"
   6312
   6313					;                             COPYRIGHT (C) 1979, 1984, 1985 BY
   6314					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   6315					;			ALL RIGHTS RESERVED.
   6316					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   6317					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   6318					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   6319					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   6320					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   6321					;
   6322					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   6323					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   6324					;       CORPORATION.
   6325					;
   6326					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   6327					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   6328					;
   6329					;		MODULE: SET AC-BLOCK
   6330					;
   6331					;		VERSION: 06-11
   6332					;
   6333					;		AUTHOR: K.LEFEBVRE
   6334					;
   6335					;		DATE: 12-SEP-79
   6336					;
   6337					;	THIS MODULE CONTAINS:
   6338					;
   6339					;		1) SET AC-BLOCK N COMMAND
   6340					;		2) SWEEP N COMMAND
   6341					;
   6342					;	THESE COMMANDS WERE ADDED FOR TCO 5.1002
   6343
   6344						.MCALL	SETF$S
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 161
.SCACB -- SET AC-BLOCK COMMAND

   6346					.SBTTL	.SCACB -- SET AC-BLOCK COMMAND
   6347
   6348					;+
   6349					; .SCACB -- SET AC-BLOCK COMMAND
   6350					;
   6351					; THIS ROUTINE WILL CAUSE THE SPECIFIED BLOCK TO BE THE CURRENT
   6352					; AC BLOCK REFERENCED BY THE KL.
   6353					;
   6354					; INPUT ARGUMENTS:
   6355					;
   6356					;	NONE
   6357					;
   6358					; OUTPUT ARGUMENTS:
   6359					;
   6360					;	NONE
   6361					;
   6362					; ERROR CODES RETURNED:
   6363					;
   6364					;	ILI -- ILLEGAL UNSTRUCTION
   6365					;	MRA -- MISSING REQUIRED ARGUMENT
   6366					;	NOR -- INPUT ARGUMENT NUMBER OUT OF RANGE
   6367					;-
   6368
   6369	011774				.SCACB::
   6370	011774	005737 	000000G			TST	.NOTSW		; IS THIS A CLEAR?
   6371	012000	001014 				BNE	SCAILI		; YES -- NOT ALLOWED
   6372	012002					CALL	.CKARG		; NO -- CHECK FOR AN ARGUMENT
	012002	004737 	000000G			 JSR	PC,.CKARG
   6373	012006					CALL	.GTELN		; GET THE ARGUMENT
	012006	004737 	000000G			 JSR	PC,.GTELN
   6374	012012	020027 	000007 			CMP	R0,#7		; IS THE ARGUMENT IN RANGE?
   6375	012016	101010 				BHI	SCANOR		; NO -- ERROR
   6376	012020					CALL	.CKRUN		; MAKE SURE KL NOT RUNNING
	012020	004737 	000000G			 JSR	PC,.CKRUN
   6377	012024	010002 				MOV	R0,R2		; SET BLOCK NO.
   6378	012026					CALLR	.SACBK		; YES -- SET AC BLOCK
	012026	000137 	012046'			 JMP	.SACBK
   6379
   6380	012032				SCAILI:
   6381	012032					ERROR$	ILI		; ERROR -- ILLEGAL INSTRUCTION
	012032	012746 	035051 			 MOV	#^RILI,-(SP)
	012036	104400 				 TRAP	TC.ERR
   6382	012040				SCANOR:
   6383	012040					ERROR$	NOR		; ERROR -- INPUT NUMBER OUT OF RANGE
	012040	012746 	054752 			 MOV	#^RNOR,-(SP)
	012044	104400 				 TRAP	TC.ERR
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 162
.SACBK -- SET AC BLOCK ROUTINE

   6385					.SBTTL	.SACBK -- SET AC BLOCK ROUTINE
   6386
   6387					;+
   6388					; .SACBK -- SUBROUTINE TO SET KL AC BLOCK
   6389					;
   6390					; THIS ROUTINE WILL:
   6391					;	1. INSERT INSTR OBJECT INTO KL LOC 100
   6392					;	2. EXECUTE DATAO PAG,,100 TO SET AC BLOCK
   6393					;
   6394					; INPUT ARGUMENTS:
   6395					;
   6396					;	R2=AC BLOCK NO. TO SET
   6397					;
   6398					; OUTPUT ARGUMENTS:
   6399					;
   6400					;	NONE
   6401					;
   6402					; ERROR CODES RETURNED:
   6403					;
   6404					;	CCC -- CAN'T CLEAR KL10 CLOCK
   6405					;	CCR -- CAN'T CLEAR KL10 RUN FLOP
   6406					;	CCS -- KL10 CLOCK CAN'T START
   6407					;	CES -- CLOCK ERROR STOP
   6408					;	CFH -- CAN'T FIND KL10 HALT LOOP
   6409					;	CSC -- CAN'T SYNC KL10 CLOCK
   6410					;	DMF -- DEPOSIT KL10 MEMORY FAILED
   6411					;	DSF -- DTE20 STATUS FAILURE
   6412					;	ECT -- EBOX CLOCK TIME OUT
   6413					;	ESD -- EBOX STOPPED - DEPOSIT
   6414					;	FRF -- FUNCTION READ FAILED
   6415					;	FWF -- FUNCTION WRITE FAILED
   6416					;	FXF -- FUNCTION EXECUTE FAILED
   6417					;	MAE -- MODE ARGUMENT ERROR
   6418					;	XTO -- EXECUTE TIMED OUT
   6419					;-
   6420
   6421	012046				.SACBK::
   6422	012046	005000 				CLR	R0		; CALL .WHACB ON EXIT FLAG
   6423	012050				.SACB1::			; ALTERNATE ENTRY POINT
   6424	012050					PUSH	<R0,R2>		; SAVE NEW AC BLOCK NO.
	012050	010046 				 MOV	R0,-(SP)
	012052	010246 				 MOV	R2,-(SP)
   6425	012054	006302 				ASL	R2		; POSITION AC BLOCK NO.
   6426	012056	006302 				ASL	R2		; POSITION AC BLOCK NO.
   6427	012060	006302 				ASL	R2		; POSITION AC BLOCK NO.
   6428	012062	110237 	000771'			MOVB	R2,ACDAT+3	; PUT BLOCK NO. INTO INSTR
   6429	012066	012701 	000756'			MOV	#DEPBLK,R1	; SET UP DEPOSIT DATA BLOCK
   6430	012072	012700 	000200 			MOV	#ED.PHY,R0	; PUT IN PHYSICAL SPACE
   6431					;	MOV	#ED.EXV,R0	; PUT IN EXEC VIRTUAL SPACE
   6432	012076					CALL	.DPKLM		; DEPOSIT INSTR OBJECT IN MEMORY
	012076	004737 	000000G			 JSR	PC,.DPKLM
   6433	012102	103404 				BCS	10$		; ERROR
   6434	012104	012700 	000774'			MOV	#SETACI,R0	; INSTR PTR
   6435	012110					CALL	.EXCTF		; EXECUTE INSTR
	012110	004737 	000000G			 JSR	PC,.EXCTF
   6436	012114				10$:	POP	<R2,R0>		; RESTORE R2
	012114	012602 				 MOV	(SP)+,R2
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 162-1
.SACBK -- SET AC BLOCK ROUTINE

	012116	012600 				 MOV	(SP)+,R0
   6437	012120	005700 				TST	R0		; PRINT AC BLOCK?
   6438	012122	001002 				BNE	20$		; NO -- EXIT
   6439	012124					CALL	.WHACB		; YES -- OUTPUT CURRENT AC BLOCK NO.
	012124	004737 	012132'			 JSR	PC,.WHACB
   6440	012130				20$:	RETURN			; EXIT
	012130	000207 				 RTS	PC
   6441
   6442	000756				.PSECT	DATA
   6443
   6444	000756	000762'			DEPBLK:	.WORD	TEMADR		; OBJECT ADDR PTR
   6445	000760	000766'				.WORD	ACDAT		; DEPOSIT DATA PTR
   6446	000762	000100 			TEMADR:	.WORD	100		; ADDR BITS 20-35
   6447	000764	000000 				.WORD	0		; ADDR BITS 14-19
   6448	000766	000000 			ACDAT:	.WORD	0		; DATA BITS 20-35
   6449	000770	000000 				.WORD	0		; DATA BITS 4-19
   6450	000772	000010 				.WORD	10		; DATA BITS 0-3
   6451
   6452	000774				SETACI:	IOKL$	DATAO	PAG,,100	; SET AC INSTR
	000774	   100 	   000 			 .BYTE	$$A,$$B
	000776	   200 	   011 			 .BYTE	$$C,$$D
	001000	   016 	   000 			 .BYTE	$$E,$$F
   6453
   6454	012132				.PSECT
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 163
.WHACB -- WHAT AC BLOCK COMMAND

   6456					.SBTTL	.WHACB -- WHAT AC BLOCK COMMAND
   6457
   6458	012132				.WHACB::
   6459	012132					PUSH	R1		; SAVE R1
	012132	010146 				 MOV	R1,-(SP)
   6460	012134	012700 	002402'			MOV	#WACMSG,R0	; WHAT AC BLOCK MESSAGE
   6461	012140					CALL	.TYMSG		; PRINT IT
	012140	004737 	000000G			 JSR	PC,.TYMSG
   6462	012144	005001 				CLR	R1		; NO FM ADDR BUFFER
   6463	012146					CALL	.RDFMA		; GET CURRENT AC BUFFER
	012146	004737 	000000G			 JSR	PC,.RDFMA
   6464	012152	000300 				SWAB	R0		; BLOCK NO. IN LOW BYTE NOW
   6465	012154	042700 	177600 			BIC	#177600,R0	; GET RID OF EXCESS BITS
   6469	012160	005046 				CLR	-(SP)		; NO. BUFFER ON STACK
   6470	012162	005046 				CLR	-(SP)		; BUFFER
   6471	012164	010046 				MOV	R0,-(SP)	; BUFFER
   6472	012166	010600 				MOV	SP,R0		; BUFFER PTR
   6473	012170	005037 	000000G			CLR	.LDZFL		; NO LEADING ZEROS
   6474	012174					CALL	.TYKLN		; OUTPUT VALUE
	012174	004737 	000000G			 JSR	PC,.TYKLN
   6475	012200	062706 	000006 			ADD	#6,SP		; POP OFF BUFFER
   6476	012204					CALL	.TCRLF		; TYPE CR-LF
	012204	004737 	000000G			 JSR	PC,.TCRLF
   6477	012210					POP	R1		; RESTORE R1
	012210	012601 				 MOV	(SP)+,R1
   6478	012212					RETURN			; DONE
	012212	000207 				 RTS	PC
   6479
   6480	002402				.PSECT	MESSAG
   6481
   6482	002402	   040 	   101 	   103 	WACMSG:	.ASCIZ	% AC-BLOCK: %
	002405	   055 	   102 	   114
	002410	   117 	   103 	   113
	002413	   072 	   040 	   000
   6483
   6484	012214				.PSECT
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 164
.SWPC -- SWEEP AC BLOCK COMMAND

   6486					.SBTTL	.SWPC -- SWEEP AC BLOCK COMMAND
   6487
   6488					;+
   6489					; .SWPC -- SWEEP AC BLOCK COMMAND ROUTINE
   6490					;
   6491					; THIS ROUTINE
   6492					;
   6493					; INPUT ARGUMENTS:
   6494					;
   6495					;	NONE
   6496					;
   6497					; OUTPUT ARGUMENTS:
   6498					;
   6499					;	NONE
   6500					;
   6501					; ERROR CODES RETURNED:
   6502					;
   6503					;	XXX
   6504					;-
   6505
   6506	012214				.SWPC::
   6507	012214	005037 	000000G			CLR	.PASS		; [4.1.1049]CLEAR PASS FLAG
   6508	012220	005037 	001002'			CLR	FMERR		; [4.1.1049]CLEAR ERROR COUNT
   6509	012224					PUSH	.NOERR		; SAVE ERROR,HALT STATUS
	012224	013746 	000000G			 MOV	.NOERR,-(SP)
   6510	012230	012737 	000401 	000000G		MOV	#401,.NOERR	; IGNORE KL ERRORS
   6511	012236	012737 	000001 	000000G		MOV	#1,.SWPIP	; SET SWEEP IN PROGRESS
   6512	012244	005001 				CLR	R1		; NO DATA BUFFER
   6513	012246					CALL	.RDFMA		; READ CURRENT BLOCK NO.
	012246	004737 	000000G			 JSR	PC,.RDFMA
   6514	012252	000300 				SWAB	R0		; GET BLOCK IN LOW BYTE
   6515	012254	042700 	177600 			BIC	#177600,R0	; CLEAR EXTRA BITS
   6516	012260	010037 	001014'			MOV	R0,SAVBLK	; SAVE BLOCK NO.
   6517	012264					CALL	.RDIPE		; READ PARITY FLAGS
	012264	004737 	000000G			 JSR	PC,.RDIPE
   6518	012270					PUSH	R0		; [4.1.1049]SAVE PARITY FLAG
	012270	010046 				 MOV	R0,-(SP)
   6519	012272	032700 	000010 			BIT	#10,R0		; FM ERROR?
   6520	012276	001416 				BEQ	10$		; NO -- GO ON
   6521	012300	012700 	002416'			MOV	#FMHED,R0	; YES -- FM ERROR MESSAGE HEADER
   6522	012304					CALL	.TYMSG		; TYPE IT
	012304	004737 	000000G			 JSR	PC,.TYMSG
   6523	012310	012700 	001004'			MOV	#FMBUF,R0	; DATA BUFFER
   6524	012314	013702 	001014'			MOV	SAVBLK,R2	; CURRENT BLOCK NO.
   6525	012320					CALL	.RDFMO		; READ CURRENT FM DATA
	012320	004737 	000000G			 JSR	PC,.RDFMO
   6526	012324					CALL	.TYAC1		; TYPE FM DATA
	012324	004737 	000000G			 JSR	PC,.TYAC1
   6527	012330					CALL	.RSSWP		; RESET KL
	012330	004737 	012652'			 JSR	PC,.RSSWP
   6528	012334				10$:	POP	R0		; [4.1.1049]RESTORE PARITY FLAG
	012334	012600 				 MOV	(SP)+,R0
   6529	012336	132764 	000010 	000000G		BITB	#CH.EOC,.CHTAB(R4)	; IS THERE AN ARGUMENT?
   6530	012344	001011 				BNE	15$		; NO -- SWEEP ALL BLOCKS
   6531	012346					CALL	.GTELN		; YES -- GET IT
	012346	004737 	000000G			 JSR	PC,.GTELN
   6532	012352	020027 	000007 			CMP	R0,#7		; IS ARGUMENT IN RANGE?
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 164-1
.SWPC -- SWEEP AC BLOCK COMMAND

   6533	012356	101230 				BHI	SCANOR		; NO -- ERROR
   6534	012360	010002 				MOV	R0,R2		; YES -- SET ARGUMENT
   6535	012362					CALL	.SWPAC		; SWEEP BLOCK
	012362	004737 	012514'			 JSR	PC,.SWPAC
   6536	012366	000437 				BR	30$		; DONE
   6537	012370	032700 	000010 		15$:	BIT	#10,R0		; [4.1.1049]FM ERROR?
   6538	012374	001442 				BEQ	40$		; [4.1.1049]NO -- DONE
   6539	012376	012702 	000007 		17$:	MOV	#7,R2		; YES -- START WITH LAST BLOCK
   6540	012402				20$:	CALL	.SWPAC		; SWEEP IT
	012402	004737 	012514'			 JSR	PC,.SWPAC
   6541	012406	005302 				DEC	R2		; NEXT AC BLOCK
   6542	012410	002374 				BGE	20$		; DONE?
   6543	012412	005737 	001002'			TST	FMERR		; [4.1.1049]ANY ERRORS?
   6544	012416	001423 				BEQ	30$		; [4.1.1049]NO -- GO ON
   6545	012420	005737 	000000G			TST	.PASS		; [4.1.1049]YES -- PASS 2?
   6546	012424	001005 				BNE	25$		; [4.1.1049]YES -- ABORT RELOAD
   6547	012426	005237 	000000G			INC	.PASS		; [4.1.1049]NO -- SET SECOND PASS
   6548	012432	005037 	001002'			CLR	FMERR		; [4.1.1049]CLEAR ERROR COUNT
   6549	012436	000757 				BR	17$		; [4.1.1049]RESWEEP
   6550	012440	012700 	002462'		25$:	MOV	#FMABO,R0	; [4.1.1049]ABORT MESSAGE
   6551	012444					CALL	.TYLIN		; [4.1.1049]TYPE IT
	012444	004737 	000000G			 JSR	PC,.TYLIN
   6552	012450	032737 	000000G	000000G		BIT	#KL.REQ,.KLIWD	; [4.1.1049]KLI REQUESTED
   6553	012456	001403 				BEQ	30$		; [4.1.1049]NO -- DONE
   6554	012460	052737 	000000G	000000G		BIS	#KL.ABO,.KLIWD	; [4.1.1049]YES -- ABORT RELOAD
   6555	012466	013702 	001014'		30$:	MOV	SAVBLK,R2	; YES -- RESTORE ORIGINAL AC BLOCK
   6556	012472	012700 	000001 			MOV	#1,R0		; SET NO WHAT AC FLAG
   6557	012476					CALL	.SACB1		; SET AC BLOCK
	012476	004737 	012050'			 JSR	PC,.SACB1
   6558	012502	005037 	000000G		40$:	CLR	.SWPIP		; CLEAR SWEEP IN PROGRESS
   6559	012506					POP	.NOERR		; RESTORE ERROR,HALT STATUS
	012506	012637 	000000G			 MOV	(SP)+,.NOERR
   6560	012512					RETURN			; EXIT
	012512	000207 				 RTS	PC
   6561
   6562	001002				.PSECT	DATA
   6563
   6564	001002	000000 			FMERR:	.WORD	0		; [4.1.1049]ERROR COUNT
   6565	001004	000000 	000000 	000000 	FMBUF:	.WORD	0,0,0,0
	001012	000000
   6566
   6567	001014	000000 			SAVBLK:	.WORD	0		; ORIGINAL AC BLOCK NO.
   6568
   6569	002416				.PSECT	MESSAG
   6570
   6571	002416	   040 	   106 	   115 	FMHED:	.ASCIZ	% FM PARITY ERROR-(BLOCK:ADDR/DATA) %
	002421	   040 	   120 	   101
	002424	   122 	   111 	   124
	002427	   131 	   040 	   105
	002432	   122 	   122 	   117
	002435	   122 	   055 	   050
	002440	   102 	   114 	   117
	002443	   103 	   113 	   072
	002446	   101 	   104 	   104
	002451	   122 	   057 	   104
	002454	   101 	   124 	   101
	002457	   051 	   040 	   000
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 164-2
.SWPC -- SWEEP AC BLOCK COMMAND

   6572	002462	   040 	   125 	   116 	FMABO:	.ASCIZ	% UNRECOVERABLE FM PARITY ERROR - RELOAD CANCELED%
	002465	   122 	   105 	   103
	002470	   117 	   126 	   105
	002473	   122 	   101 	   102
	002476	   114 	   105 	   040
	002501	   106 	   115 	   040
	002504	   120 	   101 	   122
	002507	   111 	   124 	   131
	002512	   040 	   105 	   122
	002515	   122 	   117 	   122
	002520	   040 	   055 	   040
	002523	   122 	   105 	   114
	002526	   117 	   101 	   104
	002531	   040 	   103 	   101
	002534	   116 	   103 	   105
	002537	   114 	   105 	   104
	002542	   000
   6573
   6574	012514				.PSECT
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 165
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR

   6576					.SBTTL	.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
   6577
   6578					;+
   6579					; .SWPAC -- SUBROUTINE TO READ ALL AC'S TO LOCATE FM PARITY ERRORS
   6580					;
   6581					; THIS ROUTINE WILL:
   6582					;	0. TYPE CURRENT LOCKED UP FM ADDR AND DATA
   6583					;	1. DISABLE PARITY ERROR STOPS AND CLEAR CLOCK ERROR STOP
   6584					;	2. PUT KL IN HALT LOOP
   6585					;	3. START KL CLOCK
   6586					;	4. SET AC BLOCK
   6587					;	5. READ AC'S
   6588					;	6. IF FM PARITY ERROR SET TYPE ERROR
   6589					;	7. REPEAT 4-6 FOR EACH BLOCK
   6590					;	8. RESTORE ORIGINAL AC BLOCK
   6591					;
   6592					; INPUT ARGUMENTS:
   6593					;
   6594					;	R2=AC BLOCK TO SWEEP
   6595					;
   6596					; OUTPUT ARGUMENTS:
   6597					;
   6598					;	NONE
   6599					;
   6600					; ERROR CODES RETURNED:
   6601					;
   6602					;	CCC -- CAN'T CLEAR KL10 CLOCK
   6603					;	CCR -- CAN'T CLEAR KL10 RUN FLOP
   6604					;	CCS -- KL10 CLOCK CAN'T START
   6605					;	CES -- CLOCK ERROR STOP
   6606					;	CFH -- CAN'T FIND KL10 HALT LOOP
   6607					;	CSC -- CAN'T SYNC KL10 CLOCK
   6608					;	DMF -- DEPOSIT KL10 MEMORY FAILED
   6609					;	DSF -- DTE20 STATUS FAILURE
   6610					;	ECT -- EBOX CLOCK TIME OUT
   6611					;	ESD -- EBOX STOPPED - DEPOSIT
   6612					;	EMF -- EXAMINE KL10 MEMORY FAILED
   6613					;	ESE -- EBOX STOPPED - EXAMINE
   6614					;	FRF -- FUNCTION READ FAILED
   6615					;	FSW -- FM SWEEP ERROR
   6616					;	FWF -- FUNCTION WRITE FAILED
   6617					;	FXF -- FUNCTION EXECUTE FAILED
   6618					;	XTO -- EXECUTE TIMED OUT
   6619					;-
   6620
   6621	012514				.SWPAC::
   6622	012514	012700 	000001 			MOV	#1,R0		; SET NO WHAT AC FLAG
   6623	012520					CALL	.SACB1		; SET AC BLOCK
	012520	004737 	012050'			 JSR	PC,.SACB1
   6624	012524	012737 	000020 	001026'		MOV	#20,ACADR	; SET UP FOR 16 AC'S
   6625	012532	005337 	001026'		10$:	DEC	ACADR		; DONE ALL AC'S
   6626	012536	002441 				BLT	20$		; YES -- EXIT
   6627	012540	012701 	001022'			MOV	#EXBLK,R1	; NO- SET EXAMINE DATA BLOCK
   6628	012544	012700 	000200 			MOV	#ED.PHY,R0	; EXAMINE PHYSICAL MEMORY
   6629	012550					CALL	.EXKLM		; EXAMINE AC
	012550	004737 	000000G			 JSR	PC,.EXKLM
   6630	012554	103366 				BCC	10$		; NO ERROR, NEXT AC
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 165-1
.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR

   6631	012556					CALL	.DTDW1		; GET DTE STATUS WORD 1
	012556	004737 	000000G			 JSR	PC,.DTDW1
   6632	012562	032700 	004000 			BIT	#D1.CES,R0	; CLOCK ERROR STOP?
   6633	012566	001426 				BEQ	SWPFSW		; NO -- OTHER ERROR
   6634	012570					CALL	.RDFMP		; YES -- CHECK	FOR FM PARITY ERROR
	012570	004737 	000000G			 JSR	PC,.RDFMP
   6635	012574	005700 				TST	R0		; PARITY ERROR? 0=ERROR, 1=OK
   6636	012576	001022 				BNE	SWPFSW		; NO -- ERROR
   6637	012600	005237 	001002'			INC	FMERR		; [4.1.1049]YES -- COUNT IT
   6638	012604	012700 	001004'			MOV	#FMBUF,R0	; FM REGISTER BUFFER
   6639	012610					CALL	.RDFMO		; READ FM INFO
	012610	004737 	000000G			 JSR	PC,.RDFMO
   6640	012614					CALL	.TYACE		; TYPE AC INFO
	012614	004737 	000000G			 JSR	PC,.TYACE
   6641	012620					CALL	.RSSWP		; RESET SWEEP PARITY STOPS
	012620	004737 	012652'			 JSR	PC,.RSSWP
   6642	012624	012701 	001016'			MOV	#GOOBLK,R1	; [4.1.1049]GOOD DATA BLOCK
   6643	012630	012700 	000200 			MOV	#ED.PHY,R0	; [4.1.1049]PHYSICAL SPACE
   6644	012634					CALL	.DPKLM		; [4.1.1049]WRITE BACK GOOD DATA
	012634	004737 	000000G			 JSR	PC,.DPKLM
   6645	012640	000734 				BR	10$		; NEXT AC
   6646	012642				20$:	RETURN			; EXIT
	012642	000207 				 RTS	PC
   6647						;
   6648	012644				SWPFSW:
   6649	012644					ERROR$	FSW		; ERROR -- FM SWEEP ERROR
	012644	012746 	024217 			 MOV	#^RFSW,-(SP)
	012650	104400 				 TRAP	TC.ERR
   6650
   6651	001016				.PSECT	DATA
   6652
   6653	001016	001026'			GOOBLK:	.WORD	ACADR
   6654	001020	001006'				.WORD	FMBUF+2
   6655	001022	001026'			EXBLK:	.WORD	ACADR		; AC ADDR PTR
   6656	001024	001032'				.WORD	EXDAT		; EXAMINE DATA BUFFER PTR
   6657	001026	000000 			ACADR::	.WORD	0		; AC ADDR BITS 20-35
   6658	001030	000000 				.WORD	0		; AC ADDR BITS 14-19
   6659	001032	000000 			EXDAT::	.WORD	0		; AC DATA BITS 20-35
   6660	001034	000000 				.WORD	0		; AC DATA BITS 4-19
   6661	001036	000000 				.WORD	0		; AC DATA BITS 0-3
   6662
   6663	012652				.PSECT
SCACB -- SET AC-BLOCK COMMAND M	MACRO M1113  03-APR-86 22:56  PAGE 166
.RSSWP -- RESET PARITY STOPS FOR FM SWEEP

   6665					.SBTTL	.RSSWP -- RESET PARITY STOPS FOR FM SWEEP
   6666
   6667					;+
   6668					; .RSSWP -- SUBROUTINE TO CLEAR CES, SET FM STOP, AND RESET AC BLOCK
   6669					;
   6670					; THIS ROUTINE WILL:
   6671					;	1. RESET KL
   6672					;	2. START CLOCK
   6673					;	3. RESET AC BLOCK
   6674					;
   6675					; INPUT ARGUMENTS:
   6676					;
   6677					;	R2- AC BLOCK NO. TO SET
   6678					;
   6679					; OUTPUT ARGUMENTS:
   6680					;
   6681					;	NONE
   6682					;
   6683