Google
 

Trailing-Edge - PDP-10 Archives - tops10_tools_bb-fp64b-sb - 10,7/rsx20f/rsxtol/parser.lst
There are 2 other files named parser.lst in the archive. Click here to see a list.
DEFINE -- LOCAL DEFINITION MODU	MACRO V05.04  Tuesday 17-May-88 14:31
Table of contents

     2-   57	DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
     3-  105	DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
     4-  115	DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
     7-  230	DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
     9-  303	DEFINE -- LOCAL DEFINITIONS 7709.20
    33- 1408	COPYRIGHT PAGE
    35- 1475	DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20
    36- 1619	.SSTTB -- SYNCHRONOUS SYSTEM TRAP VECTOR TABLE 7709.20
    37- 1670	DATAB  -- DTE-20 OPERATION BUFFERS 7709.20
    38- 1689	DATAB  -- INPUT / OUTPUT BUFFERS 7709.20
    39- 1705	DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20
    40- 1745	.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14
    47- 2066	.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP 7607.15
    48- 2122	.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21
    49- 2161	.CKCOL -- CHECK FOR A EQUAL 7709.21
    50- 2196	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
    51- 2226	.CKEOC -- CHECK END OF COMMAND 7602.16
    52- 2264	.CKEOS -- CHECK END OF SYMBOL 7709.21
    53- 2292	.CKOBJ -- CHECK FOR A TRAILING OBJECT 7709.21
    54- 2319	.CKRUN -- SUBROUTINE TO CHECK IF THE KL IS RUNNING 7601.12
    55- 2370	.CKSYM -- FIND THE FIRST CHARACTER IN A SYMBOL 7709.21
    56- 2399	.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR 7512.03
    57- 2464	.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24
    59- 2544	.PARER -- SPECIAL ERROR ROUTINES 7609.24
    64- 2688	.PTDIE -- RECURSIVE TRAP HANDLER 7609.24
    65- 2725	.PTTRP -- "TRAP" INSTRUCTION TRAP HANDLER 7609.24
    68- 2845	.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15
    69- 2939	FILE INTERFACE DATA
    70- 3037	.FNDIR -- ROUTINE TO FIND DIRECTORY FILE ID
    71- 3100	.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID
    72- 3164	.ENTER -- ROUTINE TO ENTER A FILE
    73- 3214	.OPEN -- ROUTINE TO OPEN A FILE
    74- 3269	.EXTND -- ROUTINE TO EXTEND A FILE
    75- 3318	.CLOSE -- ROUTINE TO CLOSE A FILE
    76- 3382	.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK
    77- 3421	.READR -- ROUTINE TO READ A RECORD
    78- 3477	.READW -- READ A WORD FROM A FILE
    79- 3514	.READB -- READ A BYTE FROM A FILE
    80- 3547	.READ -- ROUTINE TO READ A BLOCK
    81- 3595	.WRITR -- ROUTINE TO WRITE A RECORD
    82- 3651	.WRITW -- WRITE A WORD TO A FILE
    83- 3687	.WRITB -- WRITE A BYTE TO A FILE
    84- 3718	.WRITZ -- WRITE OUT CURRENT BLOCK
    85- 3759	.WRITE -- ROUTINE TO WRITE A BLOCK
    88- 3841	.BURST -- MBOX CLOCK BURST SUBROUTINE 7601.02
    89- 3881	.CLDFB -- DTE-20 OPERATION BUFFER CLEAR SUBROUTINE 7508.26
    90- 3920	.CLRFF -- CLEAR KL RUN FLOP SUBROUTINE 7609.10
    92- 3977	.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05
    96- 4117	.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK 7512.01
    98- 4181	.EXDPM -- KL MEMORY EXAMINE / DEPOSIT SUBROUTINE 7702.24
   103- 4369	.EXCTF -- FAST INTERNAL EXECUTE 7602.17
   105- 4459	.FREAD -- DIAGNOSTIC FUNCTION READ SUBROUTINE 7609.15
   107- 4536	.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15
   109- 4633	.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15
   112- 4735	.KLCON -- KL CONTINUE SUBROUTINE 7710.11
   114- 4800	.KLHLT -- SUBROUTINE TO STOP THE KL IN THE HALT LOOP 7601.09
   116- 4890	.KLST  -- SUBROUTINE TO START THE KL 7512.08
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31
Table of contents

   117- 4935	.KLSTP -- SUBROUTINE TO GET THE KL INTO THE HALT LOOP 7512.19
   118- 4994	.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22
   120- 5053	.KLXCT -- KL INSTRUCTION EXECUTE SUBROUTINE 7509.10
   121- 5092	.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE 7601.02
   123- 5138	.LDCPC -- KL CLOCK AND PARITY LOAD SUBROUTINES 7509.30
   125- 5219	.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE 7511.19
   127- 5273	.MRCLR -- KL MASTER RESET SUBROUTINE 7607.15
   129- 5344	.RDCPP -- SUBOUTINE TO READ THE KL CLOCK AND PARITY ENABLES 7510.09
   132- 5474	.RDCRD -- SUBROUTINE TO READ THE KL CRAM DISP FIELD 7511.22
   133- 5507	.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19
   135- 5600	.RDCRO -- SUBROUTINE TO READ THE KL CRAM OUTPUT 7511.05
   136- 5633	.RDFMA -- SUBROUTINE TO READ THE KL FM ADDRESS 7511.14
   137- 5681	.RDFMO -- SUBROUTINE TO READ KL FAST MEMORY OUTPUT 7708.30
   138- 5714	.RDFMP -- READ FM PARITY ERROR BIT
   139- 5747	.RDIPE -- READ KL INTERNAL PARITY ERROR FLAGS 7511.13
   140- 5798	.RESET -- KL RESET SUBROUTINES 7511.18
   142- 5871	.RESTD -- DTE-20 RESET SUBROUTINE 7607.20
   143- 5914	.RESTI -- RESET KL AND ENABLE NORMAL CLOCK AND PARITY 7607.19
   144- 5960	.RESTP -- RESET KL AND SAVE CURRENT CLOCK AND PARITY 7511.19
   146- 6010	.RSTKL -- SUBROUTINE TO RESTART THE KL 7611.17
   147- 6040	.STCLK -- START KL CLOCK SUBROUTINE 7607.15
   148- 6071	.STPKL -- SUBROUTINE TO STOP THE KL 7602.25
   149- 6101	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
   150- 6135	.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09
   151- 6167	.STUCD -- START KL MICROCODE SUBROUTINE 7511.22
   153- 6238	.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE 7509.03
   154- 6269	.WRTAR -- SUBROUTINE TO WRITE THE KL AR REGISTER 7511.05
   155- 6315	.WRCRM -- WRITE CONTROL RAM SUBROUTINE 7511.03
   156- 6437	.NULLC -- THE NULL COMMAND 7602.10
   158- 6481	.DOCMD -- DECODE A SINGLE COMMAND 7602.03
   160- 6555	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   161- 6608	.START -- COMMAND PARSER MAIN LOOP 7602.02
   162- 6634	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
   164- 6703	.TSCAN -- ROUTINE TO SCAN A SYMBOL TABLE 7703.25
   168- 6820	.SSCAN -- ROUTINE TO SCAN A SYMBOL 7601.14
   172- 6913	.REPTC -- THE "REPEAT" COMMAND 7703.25
   174- 7008	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   175- 7090	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   176- 7105	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
   177- 7126	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
   178- 7141	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
   179- 7214	.KLMTB -- THE KLINIK MODE TABLE 7702.16
   180- 7232	.MONTB -- THE MONTH TABLE 7702.16
   181- 7263	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
   182- 7363	.RSTTB -- THE RESTORE COMMAND TABLE 8306.09
   183- 7370	.SAVTB -- THE SAVE COMMAND TABLE 8306.09
   184- 7379	.RESTB -- THE RESET COMMAND TABLE 7602.18
   185- 7400	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
   186- 7427	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
   187- 7436	.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
   188- 7449	.SCOTT -- THE "SET OUTPUT" COMMAND TABLE
   189- 7460	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
   190- 7479	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
   191- 7520	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
   192- 7539	.STRTB -- THE START COMMAND TABLE 7602.26
   193- 7548	.WHATB -- THE WHAT COMMAND TABLE 7703.25
   196- 7627	.SHIFT -- 16 BIT BY 16 BIT SHIFT OPERATIONS 7603.30
TPSIM -- TRIPLE PRECISION ARITH	MACRO V05.04  Tuesday 17-May-88 14:31
Table of contents

   197- 7668	.TPDIV -- 48 BIT INTEGER DIVIDE SUBROUTINE 7601.19
   200- 7764	.TPCLR -- SUBROUTINE TO CLEAR A 48 BIT NUMBER 7601.19
   201- 7816	.TPCMP -- SUBROUTINE TO COMPARE TWO 48 BIT NUMBERS 7610.19
   202- 7856	.TPTST -- TEST A 48 BIT NUMBER FOR ZERO 7601.19
   203- 7892	.TPADD -- SUBROUTINE TO ADD TWO 48 BIT NUMBERS 7601.15
   204- 7926	.TPINC -- SUBROUTINE TO INCREMENT A 48 BIT NUMBER 7601.19
   205- 7963	.TPSUB -- SUBROUTINE TO SUBTRACT TWO 48 BIT NUMBERS 7601.15
   206- 8003	.TPMUL -- 48 BIT INTEGER MULTPLY SUBROUTINE 7601.19
   209- 8081	.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19
   210- 8131	.TPSHL -- SHIFT A 48 BIT NUMBER BY A 48 BIT NUMBER 7601.19
   213- 8230	.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE 7512.09
   215- 8313	.DTTRK -- SUBROUTINE TO TRACK DTE-20 OPERATIONS 7512.11
   218- 8402	.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09
   222- 8543	.GTCMD -- SUBROUTINE TO GET A COMMAND LINE 7601.22
   223- 8586	.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22
   225- 8716	.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01
   226- 8758	.GTELN -- SUBROUTINE TO GET A PDP-11 NUMBER 7602.05
   227- 8789	.GTKLA -- SUBROUTINE TO GET A 22 BIT KL ADDRESS 7602.05
   228- 8822	.GTNUM -- SUBROUTINE TO EVALUATE A NUMERIC EXPRESSION 7608.09
   230- 8907	.GTOPC -- KL I/O OPCODE DECODER FOR ".GTNUM"
   231- 9010	.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03
   233- 9070	.GTTRM -- TERM EVALUATOR FOR ".GTNUM" 7603.03
   235- 9138	.GTFCT -- FACTOR EVALUATOR FOR ".GTNUM" 7603.03
   238- 9259	.GTNBR -- NUMBER EVALUATOR FOR ".GTNUM" 7603.03
   242- 9362	.TYAST -- SPECIAL CHARACTER OUTPUT SUBROUTINES 7601.23
   244- 9426	.TYACE -- TYPE AC ADDR AND CONTENTS
   245- 9499	.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23
   246- 9543	.TYP3D -- SUBROUTINE TO TYPE A THREE DIGIT NUMBER 7601.23
   247- 9589	.TYKLA -- SUBROUTINE TO TYPE A KL ADDRESS 7608.02
   248- 9631	.TYKLN -- SUBROUTINE TO TYPE A KL NUMBER 7608.02
   249- 9678	.TYNCM -- COMMON ENTRY POINT FOR ".TYNUM" 7601.23
   251- 9751	.TYNUM -- GENERAL SUBROUTINE TO TYPE A FORMATTED NUMBER 7601.23
   253- 9832	.TYLIN -- SUBROUTINE TO OUTPUT AN .ASCIZ MESSAGE AND A <CRLF> 7601.23
   254- 9879	.TFCHR -- SUBROUTINE TO FORCE A CHARACTER TO THE CONSOLE DEVICE 7601.23
   255- 9908	.TYCHR -- CONSOLE DEVICE OUTPUT SUBROUTINE 7601.23
   257- 9963	.TYOUT -- CONSOLE OUTPUT SUBROUTINE 7601.23
   259-10033	.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18
TYOUT -- GENERAL TERMINAL OUTPU	MACRO V05.04  Tuesday 17-May-88 14:31  Page 1


      1					.IIF NDF	FTLCMN,.NLIST
      2					.TITLE	DEFINE -- LOCAL DEFINITION MODULE 7709.20
      3
      4						.IDENT	"016000"
      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: 16-00
     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					;	003	27-Jan-88	A. Puchrik	bump to version 16
     48					; SET VERSION OF THE PARSER HERE
     49					;
     50		000016 			PAR$$V	=	16		; VERSION 16
     51		000000 			PAR$$E	=	00		; EDIT 00
     52					;
     53					; THIS IS BEING EXPERIMENTED
     54					;
     55		000126 			PAR$$K	=	'V		; KEY FOR RELEASE
DEFINE -- LOCAL DEFINITION MODU	MACRO V05.04  Tuesday 17-May-88 14:31  Page 2
DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20

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

    105					.SBTTL	DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
    106
    107						.LIST	MEB, SYM
    108						.NLIST	CND
    109						.ENABL	AMA
    110
DEFINE -- LOCAL DEFINITION MODU	MACRO V05.04  Tuesday 17-May-88 14:31  Page 4
DEFINE -- LOCAL MACRO DEFINITIONS 7709.20

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   1450						.MACRO	PARVR$ KEY,FRM,VER,EDT,NUM
   1451						.IF	B,NUM
   1452						.IF	NB,FRM
   1453						PARVR$	\KEY,\FRM,\VER,\EDT,0
   1454						.IFF
   1455						PARVR$	\KEY,200,\VER,\EDT,0
   1456						.ENDC
   1457						.MEXIT
   1458						.IFF
   1459						.IF	GE,VER-10
   1460						.IF	GE,EDT-10
   1461						.ASCIZ	<KEY><FRM>\'VER'-'EDT'\<200>
   1462						.IFF
   1463						.ASCIZ	<KEY><FRM>\'VER'-0'EDT'\<200>
   1464						.ENDC
   1465						.IFF
   1466						.IF	GE,EDT-10
   1467						.ASCIZ	<KEY><FRM>\0'VER'-'EDT'\<200>
   1468						.IFF
   1469						.ASCIZ	<KEY><FRM>\0'VER'-0'EDT'\<200>
   1470						.ENDC
   1471						.ENDC
   1472						.ENDC
   1473						.ENDM	PARVR$
DATAB  -- COMMAND PARSER DATA B	MACRO V05.04  Tuesday 17-May-88 14:31  Page 35
DATAB  -- COMMAND PARSER IMPURE DATA BASE 7709.20

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

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

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

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

   1670					.SBTTL	DATAB  -- DTE-20 OPERATION BUFFERS 7709.20
   1671
   1672	000336				.DFBLK::
   1673	000336				.DFWB::
   1674	000336	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION WRITE BUFFER
   1675	000344				.DFRB::
   1676	000344	000000 	000000 	000000 		.WORD	0,0,0		; FUNCTION READ BUFFER
   1677
   1678	000352				.DREG::
   1679	000352				.DTDI1::
   1680	000352	000000 				.WORD	0		; DTE-20 DIAG WORD 1 BUFFER
   1681	000354				.DTDI2::
   1682	000354	000000 				.WORD	0		; DTE-20 DIAG WORD 2 BUFFER
   1683	000356				.DTSTS::
   1684	000356	000000 				.WORD	0		; DTE-20 STATUS WORD BUFFER
   1685	000360				.DTDI3::
   1686	000360	000000 				.WORD	0		; DTE-20 DIAG WORD 3 BUFFER
   1687		000362'			DFBEND==.
DATAB  -- COMMAND PARSER DATA B	MACRO V05.04  Tuesday 17-May-88 14:31  Page 38
DATAB  -- INPUT / OUTPUT BUFFERS 7709.20

   1689					.SBTTL	DATAB  -- INPUT / OUTPUT BUFFERS 7709.20
   1690
   1691					; THESE ARE THE I/O BUFFERS
   1692
   1693	000362				.CIBFR::
   1694	000362					.BLKW	^D70		; CONSOLE DEVICE INPUT BUFFER
   1695		000214 			.CIBFL==.-.CIBFR
   1696
   1697	000576				.COBFR::
   1698	000576					.BLKW	^D70		; CONSOLE DEVICE OUTPUT BUFFER
   1699		000204 			.COBFL==^D132
   1700
   1701	001012				.COMND::
   1702	001012					.BLKW	^D140		; COMMAND BUFFER
   1703		000430 			.CMNDL==.-.COMND
DATAB  -- COMMAND PARSER DATA B	MACRO V05.04  Tuesday 17-May-88 14:31  Page 39
DATAB  -- ASCII MESSAGES AND .RAD50 TABLES 7709.20

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

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

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

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

   1916
   1917					.TITLE	DEB880 -- DEBUG PARSER DATA BASE
   1918
   1919						.IDENT	"006110"
   1920
   1921					;
CHECK -- GENERAL ARGUMENT CHECK	MACRO V05.04  Tuesday 17-May-88 14:31  Page 46
.CHTAB -- THE CHARACTER PROPERTY TABLE 7601.14

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

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

   2120						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO V05.04  Tuesday 17-May-88 14:31  Page 48
.CKARG -- CHECK FOR ALPHANUMERIC ARGUMENT 7709.21

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

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

   2196					.SBTTL	.CKCTC -- CHECK FOR CONTROL-C TYPED 7601.28
   2197
   2198					;+
   2199					; .CKCTC -- CHECK FOR CONTROL-C TYPED
   2200					;
   2201					; THIS SUBROUTINE CHECKS THE CONTROL-C EVENT FLAG, "E.FCTC" AND WILL
   2202					; RETURN TO THE CALLING ROUTINE IF IT IS CLEAR OR TRAP IF IT IS SET.
   2203					;
   2204					; INPUT ARGUMENTS:
   2205					;
   2206					;	NONE.
   2207					;
   2208					; OUTPUT ARGUMENTS:
   2209					;
   2210					;	NONE
   2211					;
   2212					; ERROR CODES RETURNED:
   2213					;
   2214					;	NONE.
   2215					;-
   2216
   2217	000166				.CKCTC::
   2218	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
   2219	000200	022737 	000000G	000000G		CMP	#IS.SET,$DSW	; WAS IT SET?
   2220	000206	001401 				BEQ	10$		; YES -- TRAP OUT
   2221	000210					RETURN			; NO -- JUST RETURN
	000210	000207 				 RTS	PC
   2222	000212				10$:				; PC OF CALL WILL BE IN ".TRPEC"
   2223	000212	104402 				TRAP	TC.CTC		; .TRAP AND RESTART
   2224						;
CHECK -- GENERAL ARGUMENT CHECK	MACRO V05.04  Tuesday 17-May-88 14:31  Page 51
.CKEOC -- CHECK END OF COMMAND 7602.16

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

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

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

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

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

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

   2454					;		VERSION: 06-02
   2455					;
   2456					;		AUTHOR: R. BELANGER
   2457					;
   2458					;		DATE: 7609.24
   2459					;
   2460					;	THIS MODULE CONTAINS:
   2461					;
   2462					;	1) ERROR DECODER
ERROR -- PARSER ERROR HANDLER M	MACRO V05.04  Tuesday 17-May-88 14:31  Page 57
.PARER -- ERROR DECODE AND PRINT ROUTINE 7609.24

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

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

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

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

   2603					; THIS IS THE COMMON ERROR CODE ROUTINE
   2604
   2605	000662				PARERC:
   2606	000662	012700 	000011'			MOV	#PARMSG,R0	; ...PREAMBLE
   2607	000666					CALL	.TYMSG		; ...PRINT IT
	000666	004737 	015462'			 JSR	PC,.TYMSG
   2608	000672	012700 	000133 			MOV	#'[,R0		; ...LEFT BRACKET
   2609	000676					CALL	.TYCHR		; ...PRINT IT
	000676	004737 	015520'			 JSR	PC,.TYCHR
   2610	000702	013700 	000004'			MOV	.CCMDN,R0	; ...CURRENT COMMAND NAME
   2611	000706					CALL	.TYMSG		; ...PRINT IT
	000706	004737 	015462'			 JSR	PC,.TYMSG
   2612	000712	012700 	000135 			MOV	#'],R0		; ...RIGHT BRACKET
   2613	000716					CALL	.TYCHR		; ...PRINT IT
	000716	004737 	015520'			 JSR	PC,.TYCHR
   2614	000722					CALL	.TYSPC		; ...<SPACE>
	000722	004737 	014602'			 JSR	PC,.TYSPC
   2615	000726	011100 				MOV	(R1),R0		; ...ERROR MESSAGE
   2616	000730					CALLR	.TYMSG		; ...PRINT IT AND RETURN
	000730	000137 	015462'			 JMP	.TYMSG
   2617						;
   2618	000734				PARUEC:
   2619	000734					PUSH	R0		; ...SAVE THE ERROR CODE
	000734	010046 				 MOV	R0,-(SP)
   2620	000736	012701 	001644'			MOV	#UECMSP,R1	; ...."UEC" MESSAGE POINTER TO R1
   2621	000742					CALL	PARERC		; ....DO COMMON CODE
	000742	004737 	000662'			 JSR	PC,PARERC
   2622	000746					POP	R0		; ....RESTORE THE ERROR CODE
	000746	012600 				 MOV	(SP)+,R0
   2623	000750					CALL	.TYR50		; ...PRINT IT
	000750	004737 	015772'			 JSR	PC,.TYR50
   2624	000754	000707 				BR	30$		; ...AND EXIT
   2625						;
   2626
   2627						.DSABL	LSB
   2628
   2629	001644				.PSECT	DATA
   2630
   2631	001644				UECMSP:
   2632	001644	000060'				.WORD	UECMSG
   2633
   2634	000060				.PSECT	MESSAG
   2635
   2636	000060				UECMSG:
   2637	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
   2638
   2639	000756				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO V05.04  Tuesday 17-May-88 14:31  Page 62
.PARER -- SPECIAL ERROR ROUTINES 7609.24

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

   2679	000107				.PSECT	MESSAG
   2680
   2681	000107				ERSMSG:
   2682	000107	   105 	   122 	   122 		.ASCIZ	%ERROR STOP%
	000112	   117 	   122 	   040
	000115	   123 	   124 	   117
	000120	   120 	   000
   2683	000122				NEBMSG:
   2684	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
   2685
   2686	001046				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO V05.04  Tuesday 17-May-88 14:31  Page 64
.PTDIE -- RECURSIVE TRAP HANDLER 7609.24

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

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

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

   2820					;	[CONTINUED FROM THE PREVIOUS PAGE]
   2821
   2822	001320				30$:				; .....HERE ON RECURSIVE TRAP
   2823	001320	012700 	000221'			MOV	#PTRTHM,R0	; .....MESSAGE POINTER
   2824	001324					CALL	.TYLIN		; .....PRINT IT
	001324	004737 	015446'			 JSR	PC,.TYLIN
   2825	001330					CALL	.TCRLF		; .....END THE LINE
	001330	004737 	015552'			 JSR	PC,.TCRLF
   2826	001334	000004 				IOT			; .....AND GO "RIBIT"
   2827						;
   2828	001336				40$:				; .....HERE TO RECOVER THE ERROR
   2829	001336	005237 	000272'			INC	.TRPIP		; .....DECREMENT THE INTERLOCK
   2830	001342					POP	R0		; .....RESTORE R0
	001342	012600 				 MOV	(SP)+,R0
   2831	001344					CALL	@(SP)+		; ....AND THE OTHER REGISTERS
	001344	004736 				 JSR	PC,@(SP)+
   2832	001346	005726 				TST	(SP)+		; ....GET OVER THE TRAP STATUS BYTE
   2833	001350	000002 				RTI			; ...TO WHEREVER WE WERE CALLED FROM
   2834						;
   2835
   2836	000151				.PSECT	MESSAG
   2837
   2838	000151				PTRTEM:
   2839	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
   2840	000221				PTRTHM:
   2841	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
   2842
   2843	001352				.PSECT
ERROR -- PARSER ERROR HANDLER M	MACRO V05.04  Tuesday 17-May-88 14:31  Page 68
.PTOAT -- TRAP AT 4 TRAP HANDLER 7601.15

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

   2894
   2895	000270				PTOATM:
   2896	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
   2897
   2898	001452				.PSECT
   2899
   2900					.TITLE	FILIO -- FILE INTERFACE ROUTINES
   2901
   2902						.IDENT	"006150"
   2903
   2904					;                             COPYRIGHT (C) 1975, 1984, 1985 BY
   2905					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   2906					;			ALL RIGHTS RESERVED.
   2907					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
   2908					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
   2909					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
   2910					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
   2911					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2912					;
   2913					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2914					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2915					;       CORPORATION.
   2916					;
   2917					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2918					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2919					;
   2920					;		MODULE: PARSER FILE INTERFACE ROUTINES
   2921					;
   2922					;		VERSION: 06-15
   2923					;
   2924					;		AUTHOR: K. LEFEBVRE
   2925					;
   2926					;		DATE: 29-AUG-79
   2927					;
   2928					;	THIS MODULE CONTAINS:
   2929					;
   2930					;	1) FILE ACCESSING ROUTINES
   2931					;	2) FILE READ ROUTINES
   2932					;	3) FILE WRITE ROUTINES
   2933					;
   2934					;
   2935					;		THESE ROUTINES WERE ADDED FOR TCO 5.1000
   2936
   2937						.MCALL	DIR$,ALUN$,QIOW$,QIOW$S
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 69
FILE INTERFACE DATA

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

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

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

   3085	000000				.PSECT	DPBS
   3086
   3087	000000				FNDALN:				; ASSIGN LUN DIRECTIVE
   3088	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
   3089
   3090		000002'			FNDALU=FNDALN+A.LULU
   3091
   3092	000010				FNDFNA:				; FIND FID DIRECTIVE
   3093	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
   3094
   3095		000014'			FNDLUN=FNDFNA+Q.IOLU
   3096		000036'			FNDFNB=FNDFNA+Q.IOPL+12
   3097
   3098	001564				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 71
.LOKUP -- ROUTINE TO LOOK UP A FILE TO GET ITS FID

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

   3164					.SBTTL	.ENTER -- ROUTINE TO ENTER A FILE
   3165
   3166					;+
   3167					; .ENTER -- ROUTINE TO ENTER A FILE INTO A DIRECTORY
   3168					;
   3169					; THIS ROUTINE WILL CREATE A FILE OF A GIVEN NAME AND THEN ENTER IT
   3170					; INTO A DIRECTORY.
   3171					;
   3172					; INPUT ARGUMENTS:
   3173					;
   3174					;	NONE
   3175					;
   3176					; OUTPUT ARGUMENTS:
   3177					;
   3178					;	NONE
   3179					;
   3180					; ERROR CODES RETURNED:
   3181					;
   3182					;	FEN -- FILE ENTER FAILURE
   3183					;-
   3184
   3185	001664				.ENTER::
   3186	001664					DIR$	#ENTCRE		; CREATE THE FILE
	001664	012746 	000070'			MOV	#ENTCRE,-(SP)
	001670	104375 				EMT	375
   3187	001672	103416 				BCS	ENTFEN		; ERROR IF CC-C IS SET
   3188	001674	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3189	001700	002413 				BLT	ENTFEN		; NO -- ERROR
   3190	001702					DIR$	#ENTENA		; YES -- ENTER THE FILE IN A DIRECTORY
	001702	012746 	000114'			MOV	#ENTENA,-(SP)
	001706	104375 				EMT	375
   3191	001710	103404 				BCS	10$		; ERROR IF CC-C IS SET
   3192	001712	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED
   3193	001716	002401 				BLT	10$		; NO -- ERROR
   3194	001720					RETURN			; RETURN
	001720	000207 				 RTS	PC
   3195	001722				10$:	DIR$	#ENTDEL		; DELETE NEW FILE
	001722	012746 	000144'			MOV	#ENTDEL,-(SP)
	001726	104375 				EMT	375
   3196						;
   3197	001730				ENTFEN:
   3198	001730					ERROR$	FEN		; ERROR -- FILE ENTER FAILURE
	001730	012746 	023126 			 MOV	#^RFEN,-(SP)
	001734	104400 				 TRAP	TC.ERR
   3199						;
   3200
   3201	000070				.PSECT	DPBS
   3202
   3203	000070				ENTCRE:				; CREATE FILE DIRECTIVE
   3204	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 V05.04  Tuesday 17-May-88 14:31  Page 72-1
.ENTER -- ROUTINE TO ENTER A FILE

	000106	000000 				.WORD
	000110	100000 				.WORD	BIT15
	000112	000001 				.WORD	1
   3205
   3206	000114				ENTENA:				; ENTER FILE DIRECTIVE
   3207	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
   3208
   3209	000144				ENTDEL:				; DELETE FILE DIRECTIVE
   3210	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
   3211
   3212	001736				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 73
.OPEN -- ROUTINE TO OPEN A FILE

   3214					.SBTTL	.OPEN -- ROUTINE TO OPEN A FILE
   3215
   3216					;+
   3217					; .OPEN -- ROUTINE TO OPEN A FILE WITH SOME ACCESS FUNCTION
   3218					;
   3219					; THIS ROUTINE WILL OPEN A FILE WITH SOME SPECIFIED ACCESS RIGHTS.
   3220					; IT WILL ALSO READ THE FILE ATTRIBUTES.
   3221					;
   3222					; INPUT ARGUMENTS:
   3223					;
   3224					;	R1=FILE NAME BLOCK (FIRST 2 WORDS ARE FILE ID)
   3225					;	R2=LUN
   3226					;	R4=ACCESS FUNCTION
   3227					;
   3228					; OUTPUT ARGUMENTS:
   3229					;
   3230					;	NONE
   3231					;
   3232					; ERROR CODES RETURNED:
   3233					;
   3234					;	FOF -- FILE OPEN FAILURE
   3235					;-
   3236
   3237	001736				.OPEN::
   3238	001736	010437 	000162'			MOV	R4,OPEFUN	; SET FUNCTION
   3239	001742	010237 	000164'			MOV	R2,OPELUN	; SET LUN
   3240	001746	010137 	000174'			MOV	R1,OPEFID	; SET FID
   3241	001752	010137 	000210'			MOV	R1,OPEATT	; SET FILE ATTRIBUTES
   3242	001756	062737 	000032 	000210'		ADD	#32,OPEATT	; POINT TO CORRECT ADDR
   3243	001764					DIR$	#OPEACC		; OPEN THE FILE WITH SOME ACCESS
	001764	012746 	000160'			MOV	#OPEACC,-(SP)
	001770	104375 				EMT	375
   3244	001772	103401 				BCS	OPEFOF		; ERROR IF CC-C IS SET
   3245	001774					RETURN
	001774	000207 				 RTS	PC
   3246						;
   3247	001776				OPEFOF:
   3248	001776					ERROR$	FOF		; ERROR -- FILE OPEN FAILURE
	001776	012746 	023736 			 MOV	#^RFOF,-(SP)
	002002	104400 				 TRAP	TC.ERR
   3249						;
   3250
   3251	000160				.PSECT	DPBS
   3252
   3253	000160				OPEACC:				; OPEN FILE DIRECTIVE
   3254	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 V05.04  Tuesday 17-May-88 14:31  Page 73-1
.OPEN -- ROUTINE TO OPEN A FILE

   3255
   3256		000162'			OPEFUN=OPEACC+Q.IOFN
   3257		000164'			OPELUN=OPEACC+Q.IOLU
   3258		000174'			OPEFID=OPEACC+Q.IOPL
   3259
   3260	000206				OPERAT:
   3261	000206	   374 	   016 			.BYTE	-4,16
   3262	000210	000000 				.WORD	0
   3263	000212	   000 	   000 			.BYTE	0,0
   3264
   3265		000210'			OPEATT=OPERAT+2
   3266
   3267	002004				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 74
.EXTND -- ROUTINE TO EXTEND A FILE

   3269					.SBTTL	.EXTND -- ROUTINE TO EXTEND A FILE
   3270
   3271					;+
   3272					; .EXTND -- ROUTINE TO EXTEND A FILE BY ONE BLOCK
   3273					;
   3274					; THIS ROUTINE WILL EXTEND A CURRENTLY OPEN FILE WITH EXTEND ACCESS
   3275					; BY ONE BLOCK.
   3276					;
   3277					; INPUT ARGUMENTS:
   3278					;
   3279					;	NONE
   3280					;
   3281					; OUTPUT ARGUMENTS:
   3282					;
   3283					;	NONE
   3284					;
   3285					; ERROR CODES RETURNED:
   3286					;
   3287					;	FEF -- FILE EXTEND FAILURE
   3288					;-
   3289
   3290	002004				.EXTND::
   3291	002004					DIR$	#EXTEXT		; EXTEND THE FILE
	002004	012746 	000214'			MOV	#EXTEXT,-(SP)
	002010	104375 				EMT	375
   3292	002012	103411 				BCS	EXTFEF		; ERROR IF CC-C IS SET
   3293	002014	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3294	002020	002406 				BLT	EXTFEF		; NO -- ERROR
   3295	002022	062737 	000001 	004056'		ADD	#1,.OTATT+6	; INCREASE BLOCKS ALLOCATED
   3296	002030	005537 	004054'			ADC	.OTATT+4	; PROPAGATE CARRY
   3297	002034					RETURN			; DONE
	002034	000207 				 RTS	PC
   3298						;
   3299	002036				EXTFEF:
   3300	002036	013737 	003014'	004064'		MOV	.OTPOS,.OTATT+14	; SET NEXT FREE BYTE
   3301	002044	162737 	003016'	004064'		SUB	#.OTBUF,.OTATT+14	; MAKE RELATIVE
   3302	002052	012701 	004050'			MOV	#.OTATT,R1		; SET ATTRIBUTE ADDR
   3303	002056	012702 	000004 			MOV	#LOGLUN,R2		; SET LUN
   3305	002062	105037 	000206'			CLRB	.OUTLG			; INDICATE FILE CLOSED
   3307	002066					CALL	.CLOSE			; CLOSE FILE
	002066	004737 	002114'			 JSR	PC,.CLOSE
   3308	002072					ERROR$	FEF		; ERROR -- FILE EXTEND FAILURE
	002072	012746 	023116 			 MOV	#^RFEF,-(SP)
	002076	104400 				 TRAP	TC.ERR
   3309						;
   3310
   3311	000214				.PSECT	DPBS
   3312
   3313	000214				EXTEXT:				; FILE EXTEND DIRECTIVE
   3314	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 V05.04  Tuesday 17-May-88 14:31  Page 74-1
.EXTND -- ROUTINE TO EXTEND A FILE

	000232	000000 				.WORD
	000234	100000 				.WORD	BIT15
	000236	000001 				.WORD	1
   3315
   3316	002100				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 75
.CLOSE -- ROUTINE TO CLOSE A FILE

   3318					.SBTTL	.CLOSE -- ROUTINE TO CLOSE A FILE
   3319
   3320					;+
   3321					; .CLOSE -- ROUTINE TO CLOSE A SPECIFIED FILE
   3322					;
   3323					; THIS ROUTINE WILL CLOSE AND DEACCESS A SPECIFIED FILE.
   3324					; IT WILL ALSO WRITE OUT THE CURRENT ATTRIBUTES.
   3325					;
   3326					; INPUT ARGUMENTS:
   3327					;
   3328					;	R1=ATTRIBUTE BLOCK
   3329					;	R2=LUN
   3330					;
   3331					; OUTPUT ARGUMENTS:
   3332					;
   3333					;	NONE
   3334					;
   3335					; ERROR CODES RETURNED:
   3336					;
   3337					;	FCF -- FILE CLOSE FAILURE
   3338					;-
   3339
   3340						.ENABL	LSB
   3341
   3342	002100				.DELET::
   3343	002100	012737 	000000G	000242'		MOV	#IO.DEL,CLOIOF	; I/O FUNCTION FOR DELETE
   3344	002106	005037 	000256'			CLR	CLOATR		; NO ATTRIBUTES
   3345	002112	000406 				BR	5$		; DO IT
   3346	002114				.CLOSE::
   3347	002114	012737 	000000G	000242'		MOV	#IO.DAC,CLOIOF	; I/O FUNCTION FOR DEACCESS
   3348	002122	012737 	000260'	000256'		MOV	#CLOWAT,CLOATR	; WRITE ATTRIBUTES
   3349	002130	010237 	000244'		5$:	MOV	R2,CLOLUN	; SET LUN
   3350	002134	010137 	000262'			MOV	R1,CLOATT	; SET FILE ATTRIBUTES
   3351	002140					DIR$	#CLODAC		; CLOSE FILE
	002140	012746 	000240'			MOV	#CLODAC,-(SP)
	002144	104375 				EMT	375
   3352	002146	103404 				BCS	CLOFCF		; ERROR IF CC-C IS SET
   3353	002150	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3354	002154	002401 				BLT	CLOFCF		; NO -- ERROR
   3355	002156					RETURN			; YES -- DONE
	002156	000207 				 RTS	PC
   3356						;
   3357
   3358						.DSABL	LSB
   3359
   3360	002160				CLOFCF:
   3361	002160					ERROR$	FCF		; ERROR -- FILE CLOSE FAILURE
	002160	012746 	022776 			 MOV	#^RFCF,-(SP)
	002164	104400 				 TRAP	TC.ERR
   3362						;
   3363
   3364	000240				.PSECT	DPBS
   3365
   3366	000240				CLODAC:				; FILE CLOSE DIRECTIVE
   3367	000240					QIOW$	0,0,E.FFIL,,.FISTS,,<0,0>
	000240	   003 	   010 			.BYTE	3,$$$ARG
	000242	000000 				.WORD	0
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  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
   3368
   3369		000242'			CLOIOF=CLODAC+Q.IOFN
   3370		000244'			CLOLUN=CLODAC+Q.IOLU
   3371		000256'			CLOATR=CLODAC+Q.IOPL+2
   3372
   3373	000260				CLOWAT:
   3374	000260	   004 	   016 			.BYTE	4,16
   3375	000262	000000 				.WORD	0
   3376	000264	   000 	   000 			.BYTE	0,0
   3377
   3378		000262'			CLOATT=CLOWAT+2
   3379
   3380	002166				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 76
.SETFN -- ROUTINE TO SET A FILE NAME IN A FILE NAME BLOCK

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

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

   3468						;
   3469
   3470	000335				.PSECT	MESSAG
   3471
   3472	000335				EOFMSG:
   3473	000335	   040 	   074 	   105 		.ASCIZ	% <EOF> %
	000340	   117 	   106 	   076
	000343	   040 	   000
   3474
   3475	002330				.PSECT
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 78
.READW -- READ A WORD FROM A FILE

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

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

   3547					.SBTTL	.READ -- ROUTINE TO READ A BLOCK
   3548
   3549					;+
   3550					; .READ -- ROUTINE TO READ A BLOCK FROM INDIRECT COMMAND FILE
   3551					;
   3552					; THIS ROUTINE WILL READ A BLOCK FROM THE CURRENTLY OPEN INDIRECT
   3553					; COMMAND FILE. THE BUFFER COUNTS AND POINTERS WILL THEN BE SET.
   3554					; IF AN E-O-F IS ENCOUNTERED THE CC-C BIT IS SET AND THE ROUTINE
   3555					; RETURNS.
   3556					;
   3557					; INPUT ARGUMENTS:
   3558					;
   3559					;	NONE
   3560					;
   3561					; OUTPUT ARGUMENTS:
   3562					;
   3563					;	NONE
   3564					;
   3565					; ERROR CODES RETURNED:
   3566					;
   3567					;	FRD -- FILE READ FAILURE
   3568					;-
   3569
   3570	002440				.READ::
   3571	002440	062737 	000001 	001710'		ADD	#1,.INVBN+2	; NEXT VIRTUAL BLOCK
   3572	002446	005537 	001706'			ADC	.INVBN		; PROPAGATE CARRY
   3573	002452	023737 	001710'	002762'		CMP	.INVBN+2,.INATT+12	; EOF?
   3574	002460	003041 				BGT	10$		; YES -- EXIT
   3575	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
   3576	002536	103414 				BCS	REAFRD		; ERROR IF CC-C IS SET
   3577	002540	105737 	001662'			TSTB	.FISTS		; SEE IF WE REALLY SUCCEEDED?
   3578	002544	002411 				BLT	REAFRD		; NO -- CHECK ERROR
   3579	002546	012737 	001716'	001714'		MOV	#.INBUF,.INPOS	; YES -- SET BUFFER POSITION PTR
   3580	002554	013737 	001664'	001712'		MOV	.FISTS+2,.INBBC	; SET BUFFER BYTE COUNT
   3581	002562					RETURN			; DONE
	002562	000207 				 RTS	PC
   3582	002564	000261 			10$:	SEC			; YES -- SET CC-C
   3583	002566					RETURN			; DONE
	002566	000207 				 RTS	PC
   3584						;
   3585	002570				REAFRD:
   3586	002570	012701 	002750'			MOV	#.INATT,R1	; SET ATTRIBUTE ADDR
   3587	002574	012702 	000005 			MOV	#INDLUN,R2	; SET LUN
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 80-1
.READ -- ROUTINE TO READ A BLOCK

   3588	002600	005037 	001660'			CLR	.INDFG		; INDICATE FILE CLOSED
   3589	002604					CALL	.CLOSE		; CLOSE FILE
	002604	004737 	002114'			 JSR	PC,.CLOSE
   3590	002610				20$:	ERROR$	FRD		; ERROR -- FILE READ FAILURE
	002610	012746 	024124 			 MOV	#^RFRD,-(SP)
	002614	104400 				 TRAP	TC.ERR
   3591						;
   3592
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 81
.WRITR -- ROUTINE TO WRITE A RECORD

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

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

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

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

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

   3759					.SBTTL	.WRITE -- ROUTINE TO WRITE A BLOCK
   3760
   3761					;+
   3762					; .WRITE -- ROUTINE TO WRITE A BLOCK TO A FILE
   3763					;
   3764					; THIS ROUTINE WILL WRITE A BLOCK TO A CURRENTLY OPEN FILE ON DISK.
   3765					; IF THE FILE SPACE IS FULL THE FILE WILL BE EXTENDED.
   3766					;
   3767					; INPUT ARGUMENTS:
   3768					;
   3769					;	NONE
   3770					;
   3771					; OUTPUT ARGUMENTS:
   3772					;
   3773					;	NONE
   3774					;
   3775					; ERROR CODES RETURNED:
   3776					;
   3777					;	FEF -- FILE EXTEND FAILURE
   3778					;	FWT -- FILE WRITE FAILURE
   3779					;-
   3780
   3781	003160				.WRITE::
   3782	003160	062737 	000001 	003010'		ADD	#1,.OTVBN+2	; NEXT VIRTUAL BLOCK
   3783	003166	005537 	003006'			ADC	.OTVBN		; PROPAGATE CARRY
   3784	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
   3785	003246	103427 				BCS	WRIFWT		; ERROR IF CC-C IS SET
   3786	003250	105737 	001662'			TSTB	.FISTS		; DID WE REALLY SUCCEED?
   3787	003254	002415 				BLT	20$		; NO -- SEE WHY
   3788	003256	013737 	003010'	004062'		MOV	.OTVBN+2,.OTATT+12	; SET HIGHEST USED BLOCK
   3789	003264	013737 	003006'	004060'		MOV	.OTVBN,.OTATT+10	; SET HIGHEST USED BLOCK
   3790	003272	012737 	003016'	003014'		MOV	#.OTBUF,.OTPOS	; YES -- SET BUFFER POINTER
   3791	003300	012737 	001000 	003012'		MOV	#.BUFSZ,.OTBBC	; SET BYTE COUNT
   3792	003306					RETURN			; DONE
	003306	000207 				 RTS	PC
   3793	003310	122737 	000000G	001662'	20$:	CMPB	#IE.EOF,.FISTS	; E-O-F FOUND?
   3794	003316	001003 				BNE	WRIFWT		; NO -- ERROR
   3795	003320					CALL	.EXTND		; YES -- EXTEND FILE
	003320	004737 	002004'			 JSR	PC,.EXTND
   3796	003324	000722 				BR	10$		; TRY AGAIN
   3797						;
   3798	003326				WRIFWT:
   3799	003326					ERROR$	FWT		; ERROR -- FILE WRITE FAILURE
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 85-1
.WRITE -- ROUTINE TO WRITE A BLOCK

	003326	012746 	024454 			 MOV	#^RFWT,-(SP)
	003332	104400 				 TRAP	TC.ERR
   3800						;
FILIO -- FILE INTERFACE ROUTINE	MACRO V05.04  Tuesday 17-May-88 14:31  Page 87
.WRITE -- ROUTINE TO WRITE A BLOCK

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

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

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

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

   3956					; DPB FOR MARK TIME DIRECTIVE
   3957
   3958					;	!===============================================!
   3959					; 00	!	DPB SIZE	!	  DIC		!
   3960					;	!-----------------------------------------------!
   3961					; 02	!		  EVENT FLAG			!
   3962					;	!-----------------------------------------------!
   3963					; 04	!	TIME INTERVAL IN CLOCK TICKS		!
   3964					;	!-----------------------------------------------!
   3965					; 06	!	RESCHEDULE INTERVAL IN CLOCK TICKS	!
   3966					;	!-----------------------------------------------!
   3967					; 10	!	     AST HANDLER ENTRY POINT		!
   3968					;	!===============================================!
   3969
   3970	000266				.PSECT	DPBS
   3971
   3972	000266				.MTDPB::
   3973	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
   3974
   3975	003454				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 92
.DTERW -- DTE-20 REGISTER READ / WRITE SUBROUTINES 7608.05

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

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

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

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

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

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

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

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

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

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

   4329					; DPB FOR PRIVILEGED DEPOSIT
   4330
   4331					;	!===============================================!
   4332					; 00	!	DPB SIZE	!	  DIC		!
   4333					;	!-----------------------------------------------!
   4334					; 02	!    DEPOSIT TYPE	!    DIRECTIVE CODE	!
   4335					;	!-----------------------------------------------!
   4336					; 04	!	  KL DEPOSIT ADDRESS POINTER		!
   4337					;	!-----------------------------------------------!
   4338					; 06	!	   KL DEPOSIT DATA POINTER		!
   4339					;	!-----------------------------------------------!
   4340					; 10	!		DTE-20 NUMBER			!
   4341					;	!===============================================!
   4342
   4343	000312				.PSECT	DPBS
   4344
   4345	000312				.DPDPB::
   4346	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
   4347		000322'			DPDTEN==.-2
   4348
   4349					; DPB FOR PRIVILEGED EXAMINE
   4350
   4351					;	!===============================================!
   4352					; 00	!	DPB SIZE	!	  DIC		!
   4353					;	!-----------------------------------------------!
   4354					; 02	!    EXAMINE TYPE	!    DIRECTIVE CODE	!
   4355					;	!-----------------------------------------------!
   4356					; 04	!	    KL ADDRESS WORD POINTER		!
   4357					;	!-----------------------------------------------!
   4358					; 06	!	     DATA DESTINATION POINTER		!
   4359					;	!-----------------------------------------------!
   4360					; 10	!		DTE-20 NUMBER			!
   4361					;	!===============================================!
   4362
   4363	000324				.EXDPB::
   4364	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
   4365		000334'			EXDTEN==.-2
   4366
   4367	004150				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 103
.EXCTF -- FAST INTERNAL EXECUTE 7602.17

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

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

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

   4486	004362				.FREAD::
   4487	004362	110037 	000341'			MOVB	R0,.KLDFR+3	; SET THE DFR# IN THE DPB
   4491	004366					DIR$	#.KLDFR		; CALL THE EXEC TO DO THE READ
	004366	012746 	000336'			MOV	#.KLDFR,-(SP)
	004372	104375 				EMT	375
   4493	004374	103420 				BCS	FRDFRF		; ERROR IF CC-C IS SET
   4494	004376	012700 	000344'			MOV	#.DFRB,R0	; POINT TO TOP OF READ BLOCK
   4495	004402	005701 				TST	R1		; TEST R1
   4496	004404	001405 				BEQ	10$		; EXIT IF R1 .EQ. 0
   4497	004406	012021 				MOV	(R0)+,(R1)+	; LOAD HIS BUFFER FROM OURS
   4498	004410	012021 				MOV	(R0)+,(R1)+
   4499	004412	011011 				MOV	(R0),(R1)
   4500	004414	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   4501	004416	024141 				CMP	-(R1),-(R1)
   4502	004420				10$:
   4504	004420	032737 	000002 	000264'		BIT	#TR.FRD,.TRKWD	; ARE WE TRACKING FUNCTION READS?
   4505	004426	001402 				BEQ	20$		; NO -- JUST EXIT
   4506	004430					CALL	.FRTRK		; YES -- DO IT
	004430	004737 	012172'			 JSR	PC,.FRTRK
   4507	004434				20$:
   4509	004434					RETURN			; TO CALLER
	004434	000207 				 RTS	PC
   4510	004436				FRDFRF:
   4511	004436					ERROR$	FRF		; ERROR -- FUNCTION READ FAILED
	004436	012746 	024126 			 MOV	#^RFRF,-(SP)
	004442	104400 				 TRAP	TC.ERR
   4512						;
   4513
   4514					; DPB FOR DIAGNOSTIC FUNCTION READ
   4515
   4516					;	!===============================================!
   4517					; 00	!	DPB SIZE	!	DIC		!
   4518					;	!-----------------------------------------------!
   4519					; 02	!	DFR OPCODE	!	DFR CODE	!
   4520					;	!-----------------------------------------------!
   4521					; 04	!	    TRANSFER BUFFER ADDRESS		!
   4522					;	!-----------------------------------------------!
   4523					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   4524					;	!-----------------------------------------------!
   4525					; 10	!		DTE-20 NUMBER			!
   4526					;	!===============================================!
   4527
   4528	000336				.PSECT	DPBS
   4529
   4530	000336				.KLDFR::
   4531	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
   4532		000346'			FRDTEN==.-2
   4533
   4534	004444				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 107
.FWRIT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE 7609.15

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

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

   4630
   4631	004566				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 109
.FXCT  -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE 7609.15

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

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

   4697					;	[CONTINUED FROM THE PREVIOUS PAGE]
   4698
   4699	004710				40$:
   4701	004710	032737 	000001 	000264'		BIT	#TR.FXC,.TRKWD	; .ARE WE TRACKING FUNCTION EXECUTES?
   4702	004716	001402 				BEQ	50$		; .NO -- JUST EXIT
   4703	004720					CALL	.FXTRK		; .YES -- DO IT
	004720	004737 	012232'			 JSR	PC,.FXTRK
   4704	004724				50$:
   4706	004724					POP	R0		; .RESTORE R0
	004724	012600 				 MOV	(SP)+,R0
   4707	004726					RETURN			; TO CALLER
	004726	000207 				 RTS	PC
   4708	004730				FXCFXF:
   4709	004730					ERROR$	FXF		; FUNCTION EXECUTE FAILED
	004730	012746 	024506 			 MOV	#^RFXF,-(SP)
	004734	104400 				 TRAP	TC.ERR
   4710						;
   4711
   4712					; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
   4713
   4714					;	!===============================================!
   4715					; 00	!	DPB SIZE	!	DIC		!
   4716					;	!-----------------------------------------------!
   4717					; 02	!	DFX OPCODE	!	DFX CODE	!
   4718					;	!-----------------------------------------------!
   4719					; 04	!	    TRANSFER BUFFER ADDRESS		!
   4720					;	!-----------------------------------------------!
   4721					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   4722					;	!-----------------------------------------------!
   4723					; 10	!		DTE-20 NUMBER			!
   4724					;	!===============================================!
   4725
   4726
   4727	000362				.PSECT	DPBS
   4728
   4729	000362				.KLDFX::
   4730	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
   4731		000372'			FXDTEN==.-2
   4732
   4733	004736				.PSECT
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 112
.KLCON -- KL CONTINUE SUBROUTINE 7710.11

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

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

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

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

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

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

   4986	004242					IOKL$	CONO	KLP,,400000
	004242	   000 	   000 			 .BYTE	$$A,$$B
	004244	   002 	   176 			 .BYTE	$$C,$$D
	004246	   017 	   000 			 .BYTE	$$E,$$F
   4987	005274				.PSECT
   4988	005274				KLPSTP::
   4989	005274					PUSH	R0
	005274	010046 				 MOV	R0,-(SP)
   4990	005276	012700 	004242'			MOV	#STPCI,R0
   4991	005302					CALL	.EXCTF
	005302	004737 	004150'			 JSR	PC,.EXCTF
   4992	005306					POP	R0
	005306	012600 				 MOV	(SP)+,R0
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 118
.KLRST -- SUBROUTINE TO RESTART THE KL 7512.22

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   5564					;-
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 134
.RDCRM -- KL CONTROL RAM READ SUBROUTINE 7511.19

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   6101					.SBTTL	.STPXC -- STOP KL CLOCK SUBROUTINE 7601.09
   6102
   6103					;+
   6104					; .STPXC -- SUBROUTINE TO STOP THE KL CLOCK.
   6105					;
   6106					; THIS SUBROUTINE STOPS THE KL CLOCK.
   6107					;
   6108					; INPUT ARGUMENTS:
   6109					;
   6110					;	NONE.
   6111					;
   6112					; OUTPUT ARGUMENTS:
   6113					;
   6114					;	NONE
   6115					;
   6116					; ERROR CODES RETURNED:
   6117					;
   6118					;	FXF -- FUNCTION EXECUTE FAILED
   6119					;-
   6120
   6121						.ENABL	LSB
   6122
   6123	007316				.STPXC::
   6124	007316	000241 				CLC			; CLEAR CC-C
   6126	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
   6128	007332					PUSH	R0		; SAVE R0
	007332	010046 				 MOV	R0,-(SP)
   6129	007334	112737 	000001 	000000G		MOVB	#1,.NOERR	; TELL RSX20F NOT TO PANIC ABOUT CLOCK STOP
   6130	007342	005000 				CLR	R0		; .SET UP TO STOP THE KL CLOCK
   6131									; .FUNCTION CODE IS ZERO
   6132	007344	000404 				BR	10$		; .DO IT
   6133						;
KL10F -- KL10 FUNCTION MODULE  	MACRO V05.04  Tuesday 17-May-88 14:31  Page 150
.STRUN -- SET KL RUN FLOP SUBROUTINE 7601.09

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

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

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

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

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

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

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

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

   6437					.SBTTL	.NULLC -- THE NULL COMMAND 7602.10
   6438
   6439	007716				.NULLC::
   6440	007716	012737 	000021'	000004'		MOV	#PARNAM,.CCMDN	; RESET THE COMMAND NAME
   6441	007724					CALLR	.CKEOC		; CHECK E-O-C CHARACTER
	007724	000137 	000214'			 JMP	.CKEOC
   6442						;
NULLC -- NULL COMMAND MODULE 76	MACRO V05.04  Tuesday 17-May-88 14:31  Page 157
.NULLC -- THE NULL COMMAND 7602.10

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

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

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

   6555					.SBTTL	.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17
   6556
   6557					;+
   6558					; .EXITP -- THE COMMAND PARSER EXIT POINT.
   6559					;
   6560					; THIS ROUTINE IS THE COMMAND PARSER EXIT POINT
   6561					;
   6562					; INPUT ARGUMENTS:
   6563					;
   6564					;	NONE.
   6565					;
   6566					; OUTPUT ARGUMENTS:
   6567					;
   6568					;	NONE.
   6569					;
   6570					; ERROR CODES RETURNED:
   6571					;
   6572					;	NONE.
   6573					;-
   6574
   6575	010110				.EXITP::
   6577	010110	005737 	000066'			TST	.DBGSW		; LOOK AT THE DEBUG SWITCH
   6578	010114	001401 				BEQ	5$		; CLEAR -- DON'T HALT
   6579	010116	000000 				HALT			; FOR DEBUGGING
   6580	010120				5$:
   6582	010120	005737 	001660'			TST	.INDFG		; [5.1000]INDIRECT FILE OPEN?
   6583	010124	001410 				BEQ	10$		; [5.1000]NO -- GO ON
   6584	010126	012701 	002750'			MOV	#.INATT,R1	; [5.1000]SET ATTRIBUTE ADDR
   6585	010132	012702 	000005 			MOV	#INDLUN,R2	; [5.1000]SET LUN
   6586	010136	005037 	001660'			CLR	.INDFG		; [5.1000]INDICATE FILE CLOSED
   6587	010142					CALL	.CLOSE		; [5.1000]CLOSE FILE
	010142	004737 	002114'			 JSR	PC,.CLOSE
   6588	010146	105737 	000206'		10$:	TSTB	.OUTLG		; [5.1000]LOG FILE OPEN?
   6589	010152	001412 				BEQ	20$		; [5.1000]NO -- GO NO
   6590	010154	105037 	000206'			CLRB	.OUTLG		; [5.1000]INDICATE FILE CLOSED
   6591	010160					CALL	.WRITZ		; [5.1000]WRITE OUT CURRENT BLOCK
	010160	004737 	003060'			 JSR	PC,.WRITZ
   6592	010164	012701 	004050'			MOV	#.OTATT,R1	; [5.1000]YES -- SET ATTRIBUTE ADDR
   6593	010170	012702 	000004 			MOV	#LOGLUN,R2	; [5.1000]SET LUN
   6594	010174					CALL	.CLOSE		; [5.1000]CLOSE FILE
	010174	004737 	002114'			 JSR	PC,.CLOSE
   6595	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
   6596	010234	005037 	000000G			CLR	.KLERQ		; [5.1006]CLEAR SNAPSHOT FLAG
   6597	010240	142737 	000000G	000000G		BICB	#M.PARQ,.MISC	; CLEAR THE PRIORITY FLAG
   6598	010246					.INH6			; DISALLOW INTERRUPTS
	010246	013746 	177776 			MOV	@#PS,-(SP)
	010252	112737 	000300 	177776 		MOVB	#300,@#PS
   6599	010260	013705 	000000G			MOV	CTYPTR,R5	; POINT TO THE CTY
PARSE -- TOP-LEVEL COMMAND DECO	MACRO V05.04  Tuesday 17-May-88 14:31  Page 160-1
.EXITP -- THE COMMAND PARSER EXIT POINT 7605.17

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

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

   6634					.SBTTL	.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16
   6635
   6636					;+
   6637					; .REGSV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
   6638					;
   6639					; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
   6640					;
   6641					;	RETURN			; RETURNS TO HIGHER LEVEL
   6642					;		-OR-
   6643					;	CALL	@(SP)+		; RETURNS TO SAME LEVEL
   6644					;
   6645					; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
   6646					; WILL NEST.
   6647					;
   6648					; CALLING SEQUENCE IS:
   6649					;
   6650					;	CALL	R5,.REGSV
   6651					;	ONLY RETURN
   6652					;-
   6653
   6654	010316				.REGSV::			; DEFINE AS GLOBAL
   6655	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)
   6656	010330	016605 	000012 			MOV	12(SP),R5	; .....RESTORE R5
   6657	010334	000241 				CLC			; .....CLEAR CC-C
   6658	010336					CALL	@(SP)+		; .....RETURN WITH RESTORE ADDRESS ON THE STACK
	010336	004736 				 JSR	PC,@(SP)+
   6659
   6660					; HERE TO RESTORE R1 - R5 AND RETURN
   6661
   6662	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
   6663	010352					RETURN			; RETURN
	010352	000207 				 RTS	PC
PARSE -- TOP-LEVEL COMMAND DECO	MACRO V05.04  Tuesday 17-May-88 14:31  Page 163
.RGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE 7509.16

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

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

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

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

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

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

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

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

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

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

   7008					.SBTTL	.CMDTB -- THE MAIN COMMAND TABLE 7703.25
   7009
   7010	004350					.PSECT	DATA
   7011
   7012	004350				.CMDTB::
   7013	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
   7014					;
   7015	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
   7016					;
   7017	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
   7018					;
   7019	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
   7020					;
   7021	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
   7022					;
   7023	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
   7024					;
   7025	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 V05.04  Tuesday 17-May-88 14:31  Page 174-1
.CMDTB -- THE MAIN COMMAND TABLE 7703.25

   7026					;
   7027	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
   7028					;
   7029	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
   7030					;
   7031	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
   7032					;
   7033	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
   7034					;
   7039	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
   7040					;
   7041	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
   7042					;
   7043	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
   7044					;
   7045	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 V05.04  Tuesday 17-May-88 14:31  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
   7046					;
   7047	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
   7048					;
   7049	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
   7050					;
   7051	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
   7052					;
   7053					;
   7054	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
   7055
   7056	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
   7057
   7058	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
   7059					;
   7060	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
   7061					;
   7062	004554					COMND$	RUN,LG.OPR,.RUNCM,RUN
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7063					;
   7064	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
   7065					;
   7066	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
   7067					;
   7068	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
   7069					;
   7070	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
   7071					;
   7072	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
   7073					;
   7074	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
   7075					;
   7076	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
   7077					;
   7078	004634					COMND$	UNMARK-MICROCODE,LG.MNT,.UMRKC,UNM
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7079					;
   7080	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
   7081					;
   7082	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
   7083					;
   7084	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
   7085					;
   7086	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
   7087					;
   7088	004672	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 175
.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23

   7090					.SBTTL	.DPETB -- THE DEPOSIT EXTENSION TABLE 7602.23
   7091
   7092	004674				.DPETB::
   7093	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
   7094					;
   7095	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
   7096					;
   7097	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
   7098					;
   7099	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
   7100					;
   7101	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
   7102					;
   7103	004732	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 176
.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23

   7105					.SBTTL	.DPOTB -- THE DEPOSIT COMMAND TABLE 7602.23
   7106
   7107	004734				.DPOTB::
   7108	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
   7109					;
   7110	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
   7111					;
   7112	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
   7113					;
   7114	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
   7115					;
   7116	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
   7117					;
   7118	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
   7119					;
   7120	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
   7121					;
   7122	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
   7123					;
   7124	005014	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 177
.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16

   7126					.SBTTL	.EXETB -- THE EXAMINE EXTENSION TABLE 7602.16
   7127
   7128	005016				.EXETB::
   7129	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
   7130					;
   7131	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
   7132					;
   7133	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
   7134					;
   7135	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
   7136					;
   7137	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
   7138					;
   7139	005054	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 178
.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25

   7141					.SBTTL	.EXMTB -- THE EXAMINE COMMAND TABLE 7703.25
   7142
   7143	005056				.EXMTB::
   7144	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
   7145					;
   7146	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
   7147					;
   7148	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
   7149					;
   7150	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
   7151					;
   7152	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
   7153					;
   7154	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
   7155					;
   7156	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
   7157					;
   7158					;
   7159	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
   7160					;
   7161	005136					COMND$	MQ,<LG.PRG!LG.RPT>,.EXMQR,MQ
	001043	   115 	   121 	   000 	MQMSG:: .ASCIZ	%MQ%
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7162					;
   7163	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
   7164					;
   7165					;
   7166		000012 			EXRTBL==<.-.EXMTB>/6
   7167	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
   7168					;
   7169	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
   7170					;
   7171	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
   7172					;
   7173	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
   7174					;
   7175	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
   7176					;
   7177	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
   7178
   7179	005216					COMND$	ELEVEN,<LG.OPR!LG.RPT>,.EXMEL,ELE
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7180					;
   7181	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
   7182					;
   7183	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
   7184					;
   7185	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
   7186					;
   7187	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
   7188					;
   7189	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
   7190					;
   7191	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
   7192					;
   7193	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
   7194	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
   7195					;
   7196	005304					COMND$	VMAH,<LG.PRG!LG.RPT>,.EXVMH,VMH
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7197					;
   7198	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
   7199					;
   7200	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
   7201					;
   7202	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
   7203					;
   7204	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
   7205					;
   7206	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
   7207					;
   7208	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
   7209					;
   7210	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
   7211					;
   7212	005364	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 179
.KLMTB -- THE KLINIK MODE TABLE 7702.16

   7214					.SBTTL	.KLMTB -- THE KLINIK MODE TABLE 7702.16
   7215
   7216	005366				.KLMTB::
   7217	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
   7218					;
   7219	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
   7220					;
   7221	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
   7222					;
   7223	005410	000000 				.WORD	0		; END OF TABLE MARKER
   7224
   7225	005412				.KLMT1::
   7226	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
   7227					;
   7228	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
   7229					;
   7230	005426	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 180
.MONTB -- THE MONTH TABLE 7702.16

   7232					.SBTTL	.MONTB -- THE MONTH TABLE 7702.16
   7233
   7234
   7235	005430				.MONTB::
   7236	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
   7237					;
   7238	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
   7239					;
   7240	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
   7241					;
   7242	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
   7243					;
   7244	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
   7245					;
   7246	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
   7247					;
   7248	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
   7249					;
   7250	005502					COMND$	AUGUST,LG.ALL,8.,AUG
	001317	   101 	   125 	   107 	AUGMSG:: .ASCIZ	%AUGUST%
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7251					;
   7252	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
   7253					;
   7254	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
   7255					;
   7256	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
   7257					;
   7258	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
   7259					;
   7260	005540	000000 				.WORD	0		; END OF TABLE MARKER
   7261
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 181
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

   7263					.SBTTL	.NSETB -- NORMAL ERROR CODE TABLE 7710.11
   7264
   7265	005542				.NSETB::
   7266	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
   7267						;
   7268	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
   7269						;
   7270	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
   7271	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
   7272	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 V05.04  Tuesday 17-May-88 14:31  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
   7273	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
   7274	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
   7275	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
   7276	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 V05.04  Tuesday 17-May-88 14:31  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
   7277	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
   7278	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
   7279	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
   7280						;
   7284	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 V05.04  Tuesday 17-May-88 14:31  Page 181-3
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	005622	014476 				 .RAD50	/DAV/		; "DAV" IN .RAD50
	005624	000531'				 .WORD	DAVERM		; POINTER TO MESSAGE
   7285	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
   7286	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
   7287	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
   7288	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
   7289	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 V05.04  Tuesday 17-May-88 14:31  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
   7290	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
   7291	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
   7292	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
   7293						;
   7294	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 V05.04  Tuesday 17-May-88 14:31  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
   7295	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
   7296	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
   7297	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
   7298	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
   7299	005712					NSERR$	ESE,<EBOX STOPPED - EXAMINE>
	001342	   105 	   123 	   105 	ESEERM:	 .ASCIZ	%ESE - EBOX STOPPED - EXAMINE%
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7300						;
   7301	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
   7302	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
   7303	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
   7304	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 V05.04  Tuesday 17-May-88 14:31  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
   7305	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
   7306	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
   7307	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
   7308	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
   7309						;
   7310	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 V05.04  Tuesday 17-May-88 14:31  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
   7311	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
   7312	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
   7313	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
   7314	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
   7315	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 V05.04  Tuesday 17-May-88 14:31  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
   7316	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
   7317	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
   7318						;
   7319	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
   7320	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
   7321	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 V05.04  Tuesday 17-May-88 14:31  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
   7322	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
   7323	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
   7324						;
   7325	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
   7326	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 V05.04  Tuesday 17-May-88 14:31  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
   7327						;
   7328	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
   7329	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
   7330	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
   7331	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 V05.04  Tuesday 17-May-88 14:31  Page 181-12
.NSETB -- NORMAL ERROR CODE TABLE 7710.11

	006070	002653'				 .WORD	NPIERM		; POINTER TO MESSAGE
   7332	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
   7333	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
   7334	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
   7335						;
   7336	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
   7337	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
   7338						;
   7339	006116					NSERR$	PTL,<PASSWORD TOO LONG>
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7340						;
   7341	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
   7342						;
   7343	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
   7344	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
   7345	006136					NSERR$	SPF,<SET PARITY FAILED>
	003261	   123 	   120 	   106 	SPFERM:	 .ASCIZ	%SPF - SET PARITY FAILED%
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7346	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
   7347						;
   7348	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
   7349	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
   7350						;
   7351	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 V05.04  Tuesday 17-May-88 14:31  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
   7352						;
   7353	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
   7354						;
   7355	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
   7356						;
   7357	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
   7358						;
   7359	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 V05.04  Tuesday 17-May-88 14:31  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
   7360						;
   7361	006202	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 182
.RSTTB -- THE RESTORE COMMAND TABLE 8306.09

   7363					.SBTTL	.RSTTB -- THE RESTORE COMMAND TABLE 8306.09
   7364
   7365	006204				.RSTTB::
   7366	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
   7367					;
   7368	006212	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 183
.SAVTB -- THE SAVE COMMAND TABLE 8306.09

   7370					.SBTTL	.SAVTB -- THE SAVE COMMAND TABLE 8306.09
   7371
   7372	006214				.SAVTB::
   7373	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
   7374					;
   7375	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
   7376					;
   7377	006230	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 184
.RESTB -- THE RESET COMMAND TABLE 7602.18

   7379					.SBTTL	.RESTB -- THE RESET COMMAND TABLE 7602.18
   7380
   7381	006232				.RESTB::
   7382	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
   7383					;
   7384	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
   7385					;
   7386	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
   7387					;
   7388	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
   7389					;
   7390	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
   7391					;
   7392	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
   7393					;
   7394	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
   7395					;
   7396	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
   7397					;
   7398	006312	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 185
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

   7400					.SBTTL	.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12
   7401
   7402	006314				.SCCTB::
   7403	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
   7404					;
   7405	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
   7406					;
   7407	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
   7408					;
   7409	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
   7410					;
   7411	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
   7412					;
   7413	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
   7414					;
   7415	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 V05.04  Tuesday 17-May-88 14:31  Page 185-1
.SCCTB -- THE "SET / CLEAR CLOCK" COMMAND TABLE 7603.12

	006364	000000G				 .WORD	.SCCSM		; ROUTINE TO CALL OR DATA
   7416					;
   7417	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
   7418					;
   7419	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
   7420					;
   7421	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
   7422					;
   7423	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
   7424					;
   7425	006416	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 186
.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18

   7427					.SBTTL	.SCMTB -- THE "SET / CLEAR MEMORY" COMMAND TABLE 7603.18
   7428
   7429	006420				.SCMTB::
   7430	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
   7431					;
   7432	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
   7433					;
   7434	006434	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 187
.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12

   7436					.SBTTL	.SCCOT -- THE "SET CONSOLE" COMMAND TABLE 7602.12
   7437
   7438	006436				.SCCOT::
   7439	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
   7440					;
   7441	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
   7442					;
   7443	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
   7444					;
   7445	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
   7446					;
   7447	006466	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 188
.SCOTT -- THE "SET OUTPUT" COMMAND TABLE

   7449					.SBTTL	.SCOTT -- THE "SET OUTPUT" COMMAND TABLE
   7450
   7451	006470				.SCOTT::
   7452	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
   7453					;
   7454	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
   7455					;
   7456	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
   7457					;
   7458	006512	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 189
.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10

   7460					.SBTTL	.SCPTB -- THE SET / CLEAR "PARITY-STOP" TABLE 7603.10
   7461
   7462	006514				.SCPTB::
   7463	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
   7464					;
   7465	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
   7466					;
   7467	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
   7468					;
   7469	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
   7470					;
   7471	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
   7472					;
   7473	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
   7474					;
   7475	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
   7476					;
   7477	006566	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 190
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

   7479					.SBTTL	.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25
   7480
   7481	006570				.SETTB::
   7482	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
   7483					;
   7484	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
   7485					;
   7486	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
   7487					;
   7488	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
   7489					;
   7490	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
   7491					;
   7492	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
   7493					;
   7494	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
   7495					;
   7496	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 V05.04  Tuesday 17-May-88 14:31  Page 190-1
.SETTB -- THE SET / CLEAR COMMAND TABLE 7703.25

   7497					;
   7498	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
   7499					;
   7500	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
   7501					;
   7502	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
   7503					;
   7504	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
   7505					;
   7506	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
   7507					;
   7508	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
   7509					;
   7510	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
   7511					;
   7512	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 V05.04  Tuesday 17-May-88 14:31  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
   7513					;
   7515	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
   7516					;
   7518	006736	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 191
.SPETB -- SPECIAL ERROR CODE TABLE 7702.16

   7520					.SBTTL	.SPETB -- SPECIAL ERROR CODE TABLE 7702.16
   7521
   7522	006740				.SPETB::
   7523	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
   7524						;
   7525	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
   7526						;
   7527	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
   7528	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
   7529	006770					SPERR$	FXF,<FUNCTION EXECUTE >
	004027	   106 	   130 	   106 		 .ASCIZ	%FXF - FUNCTION EXECUTE %
	004032	   040 	   055 	   040
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7530						;
   7531	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
   7532	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
   7533	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
   7534						;
   7535	007020					SPERR$	NSK,<NO SUCH KEYWORD ">
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7536						;
   7537	007026	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 192
.STRTB -- THE START COMMAND TABLE 7602.26

   7539					.SBTTL	.STRTB -- THE START COMMAND TABLE 7602.26
   7540
   7541	007030				.STRTB::
   7542	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
   7543					;
   7544	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
   7545					;
   7546	007044	000000 				.WORD	0		; END OF TABLE MARKER
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 193
.WHATB -- THE WHAT COMMAND TABLE 7703.25

   7548					.SBTTL	.WHATB -- THE WHAT COMMAND TABLE 7703.25
   7549
   7550	007046				.WHATB::
   7551	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
   7552					;
   7553	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
   7554					;
   7555	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
   7556					;
   7557	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
   7558					;
   7559	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
   7560					;
   7561	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
   7562					;
   7563	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
   7564					;
   7565	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
   7566					;
   7567	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
   7568					;
   7569	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
   7570					;
   7571	007142					COMND$	OUTPUT,LG.OPR,.WHOUT,OUT
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  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
   7572					;
   7573	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
   7574					;
   7575	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
   7576					;
   7577	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
   7578					;
   7579	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
   7580					;
   7582	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
   7583					;
   7585	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
   7586					;
   7587	007214	000000 				.WORD	0		; END OF TABLE MARKER
   7588	011130				.PSECT
   7589
   7590		000000 				$$PASS2=0
TABLE -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 195
.WHATB -- THE WHAT COMMAND TABLE 7703.25

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

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

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

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

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

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

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

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

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

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

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

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

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

   8069					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8070
   8071					; HERE TO RETURN PRODUCT AND EXIT
   8072
   8073	011742				40$:
   8074	011742					POP	R0		; ...........GET RID OF MULTIPLIER POINTER
	011742	012600 				 MOV	(SP)+,R0
   8075	011744					POP	<(R1)+,(R1)+,(R1)>
	011744	012621 				 MOV	(SP)+,(R1)+
	011746	012621 				 MOV	(SP)+,(R1)+
	011750	012611 				 MOV	(SP)+,(R1)
   8076	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)
   8077	011762				50$:
   8078	011762					POP	<R0,R1,R2>	; ...RESTORE REGISTERS
	011762	012600 				 MOV	(SP)+,R0
	011764	012601 				 MOV	(SP)+,R1
	011766	012602 				 MOV	(SP)+,R2
   8079	011770					RETURN			; TO CALLER
	011770	000207 				 RTS	PC
TPSIM -- TRIPLE PRECISION ARITH	MACRO V05.04  Tuesday 17-May-88 14:31  Page 209
.TPSHI -- SHIFT A 48 BIT NUMBER BY A 16 BIT NUMBER 7601.19

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

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

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

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

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

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

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

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

   8373	007240				.PSECT	DATA
   8374
   8375	007240				REGTAB:
   8376	007240	002104'				.WORD	DW1MSG		; MESSAGE POINTERS
   8377	007242	002114'				.WORD	DW2MSG
   8378	007244	002124'				.WORD	STAMSG
   8379	007246	002134'				.WORD	DW3MSG
   8380
   8381	002063				.PSECT	MESSAG
   8382	002063				DTRMSG:
   8383	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
   8384
   8385	002104				DW1MSG:
   8386	002104	   104 	   111 	   101 		.ASCIZ	%DIAG 1/%
	002107	   107 	   040 	   061
	002112	   057 	   000
   8387	002114				DW2MSG:
   8388	002114	   104 	   111 	   101 		.ASCIZ	%DIAG 2/%
	002117	   107 	   040 	   062
	002122	   057 	   000
   8389	002124				STAMSG:
   8390	002124	   123 	   124 	   101 		.ASCIZ	%STATUS/%
	002127	   124 	   125 	   123
	002132	   057 	   000
   8391	002134				DW3MSG:
   8392	002134	   104 	   111 	   101 		.ASCIZ	%DIAG 3/%
	002137	   107 	   040 	   063
	002142	   057 	   000
   8393
   8394	002144				DRDMSG:
   8395	002144	   040 	   122 	   104 		.ASCIZ	% RD%
	002147	   000
   8396	002150				DWRMSG:
   8397	002150	   040 	   127 	   122 		.ASCIZ	% WR%
	002153	   000
   8398	012442				.PSECT
   8399
TRACK -- DIAGNOSTIC FUNCTION TR	MACRO V05.04  Tuesday 17-May-88 14:31  Page 218
.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE 7512.09

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

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

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

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

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

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

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

   8660					;	[CONTINUED FROM THE PREVIOUS PAGE]
   8661
   8662	013042				30$:
   8663	013042	110421 				MOVB	R4,(R1)+	; ...PUT IT INTO THE OUTPUT BUFFER
   8664	013044	005237 	000164'			INC	.INCHC		; ...INCREMENT THE CHARACTER COUNT
   8665	013050	023727 	000164'	000430 		CMP	.INCHC,#.CMNDL	; ...HAVE WE OVERFLOWED?
   8666	013056	003024 				BGT	GTLCBO		; ...YES -- GIVE ERROR
   8667	013060	077315 				SOB	R3,20$		; ...NO -- LOOP TILL DONE THIS LINE
   8668	013062				40$:
   8669	013062	105011 				CLRB	(R1)		; ...MARK THE END OF LINE
   8670	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
   8671	013074	005737 	000164'			TST	.INCHC		; TEST THE INPUT BYTE COUNT
   8672	013100					RETURN			; TO CALLER
	013100	000207 				 RTS	PC
   8673	013102				50$:				; ...HERE TO CHECK ILLEGAL CHARACTERS
   8674	013102	122704 	000041 			CMPB	#'!,R4		; ...WAS IT A COMMENT?
   8675	013106	001765 				BEQ	40$		; ...YES -- JUST EXIT
   8676	013110	122704 	000011 			CMPB	#11,R4		; ...NO -- WAS IT A <TAB>?
   8680	013114	001010 				BNE	GTLILC		; ...NO -- GIVE "ILC" ERROR
   8682	013116	112704 	000040 			MOVB	#.SPACE,R4	; ...YES -- MAKE IT A <SPACE>
   8683	013122	000747 				BR	30$		; ...AND PUT IT IN THE BUFFER
   8684						;
   8695	013124				70$:
   8696	013124					CALLR	.EXITP		; EXIT GRACEFULLY
	013124	000137 	010110'			 JMP	.EXITP
   8697						;
   8698	013130				GTLCBO:
   8699	013130					ERROR$	CBO		; ERROR -- COMMAND BUFFER OVERFLOW
	013130	012746 	011437 			 MOV	#^RCBO,-(SP)
	013134	104400 				 TRAP	TC.ERR
   8700						;
   8701	013136				GTLILC:
   8702	013136					ERROR$	ILC		; ERROR -- ILLEGAL CHARACTER
	013136	012746 	035043 			 MOV	#^RILC,-(SP)
	013142	104400 				 TRAP	TC.ERR
   8703						;
   8704					; THIS IS THE CONSOLE INPUT DPB
   8705
   8706	000374				.PSECT	DPBS
   8707
   8708	000374				.CDINP::
   8709	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
   8710
   8711		000410'			.CDIBP=.CDINP+Q.IOPL		; CONSOLE INPUT BYTE POINTER
   8712		000412'			.CDIBC=.CDINP+Q.BYCT		; CONSOLE INPUT BYTE COUNT
TYINP -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 224-1
.GTLIN -- SUBROUTINE TO INPUT A LINE FROM THE CONSOLE 7601.22

   8713
   8714	013144				.PSECT
TYINP -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 225
.ELNCK -- TEST FOR A LEGAL PDP-11 NUMBER 7611.01

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

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

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

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

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

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

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

	002270	   111 	   000
   9005	002272	   103 	   117 	   116 	CONSZS:	.ASCIZ	/CONSZ/
	002275	   123 	   132 	   000
   9006	002300	   103 	   117 	   116 	CONSOS:	.ASCIZ	/CONSO/
	002303	   123 	   117 	   000
   9007
   9008	013706				.PSECT
TYINP -- COMMAND PARSER COMMAND	MACRO V05.04  Tuesday 17-May-88 14:31  Page 231
.GTEXP -- EXPRESSION EVALUATOR FOR ".GTNUM" 7603.03

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

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

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

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

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

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

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

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

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

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

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

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

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

   9477	014724	012700 	007320'			MOV	#ADRTMP,R0	; PTR TO AC ADDR
   9478	014730					CALL	.TYKLA		; TYPE KL ADDR
	014730	004737 	015106'			 JSR	PC,.TYKLA
   9479	014734					CALL	.TYSLS		; TYPE SLASH
	014734	004737 	014572'			 JSR	PC,.TYSLS
   9480	014740					CALL	.TYSPC		; TYPE SPACE
	014740	004737 	014602'			 JSR	PC,.TYSPC
   9481	014744	010200 				MOV	R2,R0		; PTR TO AC DATA
   9482	014746					CALL	.TYKLN		; TYPE KL DATA
	014746	004737 	015156'			 JSR	PC,.TYKLN
   9483	014752					CALL	.TCRLF		; TYPE CR-LF
	014752	004737 	015552'			 JSR	PC,.TCRLF
   9484	014756					POP	R2		; RESTORE R2
	014756	012602 				 MOV	(SP)+,R2
   9485	014760					RETURN
	014760	000207 				 RTS	PC
   9486
   9487	007320				.PSECT	DATA
   9488
   9489	007320	000000 			ADRTMP:	.WORD	0		; TEMPORARY ADDR LOCATION
   9490	007322	000000 				.WORD	0
   9491	007324	000000 				.WORD	0
   9492
   9493	002306				.PSECT	MESSAG
   9494
   9495	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
   9496
   9497	014762				.PSECT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO V05.04  Tuesday 17-May-88 14:31  Page 245
.TYELA -- SUBROUTINE TO TYPE A PDP-11 ADDRESS 7601.23

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10075					; THIS IS A PICTURE OF THE "QIOW$" DPB, NOT ALL OF THE ARGUMENTS
  10076					; IN THE DPB ARE USED BY SOME FORMS OF THE "QIOW$" DIRECTIVE.
  10077					;
  10078					;	!===============================================!
  10079					; 00	!	DPB SIZE	!	    DIC		!
  10080					;	!-----------------------------------------------!
  10081					; 02	!	  INPUT / OUTPUT FUNCTION CODE		!
  10082					;	!-----------------------------------------------!
  10083					; 04	!	       LOGICAL UNIT NUMBER		!
  10084					;	!-----------------------------------------------!
  10085					; 06	!	PRIORITY	!   EVENT FLAG NUMBER	!
  10086					;	!-----------------------------------------------!
  10087					; 10	!	     I/O STATUS BLOCK ADDRESS		!
  10088					;	!-----------------------------------------------!
  10089					; 12	!	  AST ROUTINE ADDRESS (NOT USED)	!
  10090					;	!-----------------------------------------------!
  10091					; 14	!	      DATA BUFFER ADDRESS		!
  10092					;	!-----------------------------------------------!
  10093					; 16	!		  BYTE COUNT			!
  10094					;	!-----------------------------------------------!
  10095					; 20	!	OUTPUT FORMAT CONTROL CHARACTER		!
  10096					;	!===============================================!
  10097
  10098					; THIS IS THE CONSOLE OUTPUT DPB
  10099
  10100	000414				.PSECT	DPBS
  10101
  10102	000414				.CDOUT::
  10103	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
  10104
  10105		000430'			.CDOBP==.CDOUT+Q.IOPL		; CONSOLE OUTPUT BYTE POINTER
  10106		000432'			.CDOBC==.CDOUT+Q.BYCT		; CONSOLE OUTPUT BYTE COUNT
  10107		000434'			.CDOFC==.CDOUT+Q.OVFC		; CONSOLE OUTPUT FORMAT CHARACTER
  10108
  10109					; THIS IS THE LIST DEVICE OUTPUT DPB
  10110
  10111	000436				.LDOUT::
  10112	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
  10113
TYOUT -- GENERAL TERMINAL OUTPU	MACRO V05.04  Tuesday 17-May-88 14:31  Page 260-1
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  10114		000452'			.LDOBP==.LDOUT+Q.IOPL		; LIST DEVICE BYTE POINTER
  10115		000454'			.LDOBC==.LDOUT+Q.BYCT		; LIST DEVICE BYTE COUNT
  10116		000456'			.LDOFC=.LDOUT+Q.OVFC		; LIST DEVICE FORMAT CHARACTER
  10117
  10118					; ATTACH CONSOLE INPUT DEVICE EXCLUSIVELY TO PARSER TASK
  10119
  10120	000460				.ATCID::
  10121	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
  10122
  10123					; DETACH THE CONSOLE INPUT DEVICE FROM THE PARSER TASK
  10124
  10125	000474				.DTCID::
  10126	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
  10127
  10128	016044				.PSECT
TYOUT -- GENERAL TERMINAL OUTPU	MACRO V05.04  Tuesday 17-May-88 14:31  Page 262
.TYR50 -- TYPE A .RAD50 SYMBOL 7602.18

  10131
  10132		000001 			FTLCMN==1
  10133
  10134		000312'			.END	DATABX
TYOUT -- GENERAL TERMINAL OUTPU	MACRO V05.04  Tuesday 17-May-88 14:31  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 V05.04  Tuesday 17-May-88 14:31  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 V05.04  Tuesday 17-May-88 14:31  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 V05.04  Tuesday 17-May-88 14:31  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= 000000   	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= 000016   	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 V05.04  Tuesday 17-May-88 14:31  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 V05.04  Tuesday 17-May-88 14:31  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 V05.04  Tuesday 17-May-88 14:31  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 V05.04  Tuesday 17-May-88 14:31  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	(RW,I,GBL,ABS,OVR)
      	016044    001	(RW,I,LCL,REL,CON)
DATA  	007366    002	(RW,D,LCL,REL,CON)
MESSAG	002327    003	(RW,I,LCL,REL,CON)
DPBS  	000510    004	(RW,I,LCL,REL,CON)
ERRMSG	004250    005	(RW,I,LCL,REL,CON)
Errors detected:  0

*** Assembler statistics


Work  file  reads: 0
Work  file writes: 0
Size of work file: 16688 Words  ( 66 Pages)
Size of core pool: 17948 Words  ( 69 Pages)
Operating  system: RSX-11M/PLUS

Elapsed time: 00:05:33.10
,[51,20]PAROOT/CR/-SP=[51,30]PAROOT.TMP
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

ABMSG 	  001051 RG	 178-7167  #178-7167   178-7167  
ABOMSG	  000365 RG	 174-7015  #174-7015   174-7015  
ACBMSG	  001372 RG	 182-7366  #182-7366   182-7366   183-7375   183-7375   190-7482   190-7482   193-7551   193-7551  
ADD   	= 000270	#23-879    
ADDB  	= 000273	#23-880    
ADDI  	= 000271	#23-881    
ADDM  	= 000272	#23-882    
ADH   	= 000004	#117-4986  #117-4986   117-4986   117-4986  
ADL   	= 000000	#117-4986   117-4986   117-4986  #117-4986   117-4986   117-4986  #117-4986   117-4986   117-4986  
                        #117-4986   117-4986   117-4986  #117-4986   117-4986   117-4986  #117-4986   117-4986   117-4986  
                         117-4986  #117-4986   117-4986   117-4986  
ADMSG 	  001011 RG	 178-7144  #178-7144   178-7144  
ADRTMP	  007320 R	*244-9475  *244-9476   244-9477  #244-9489  
ADXMSG	  001014 RG	 178-7146  #178-7146   178-7146  
ALLMSG	  001414 RG	 184-7382  #184-7382   184-7382   189-7463   189-7463  
AMBERM	  003670 R	#191-7523   191-7523  
AND   	= 000404	#23-884    
ANDB  	= 000407	#23-885    
ANDCA 	= 000410	#23-886    
ANDCAB	= 000413	#23-887    
ANDCAI	= 000411	#23-888    
ANDCAM	= 000412	#23-889    
ANDCB 	= 000440	#23-890    
ANDCBB	= 000443	#23-891    
ANDCBI	= 000441	#23-892    
ANDCBM	= 000442	#23-893    
ANDCM 	= 000420	#23-894    
ANDCMB	= 000423	#23-895    
ANDCMI	= 000421	#23-896    
ANDCMM	= 000422	#23-897    
ANDI  	= 000405	#23-898    
ANDM  	= 000406	#23-899    
AOBJN 	= 000253	#23-901    
AOBJP 	= 000252	#23-902    
AOJ   	= 000340	#23-904    
AOJA  	= 000344	#23-905    
AOJE  	= 000342	#23-906    
AOJG  	= 000347	#23-907    
AOJGE 	= 000345	#23-908    
AOJL  	= 000341	#23-909    
AOJLE 	= 000343	#23-910    
AOJN  	= 000346	#23-911    
AOS   	= 000350	#23-913    
AOSA  	= 000354	#23-914    
AOSE  	= 000352	#23-915    
AOSG  	= 000357	#23-916    
AOSGE 	= 000355	#23-917    
AOSL  	= 000351	#23-918    
AOSLE 	= 000353	#23-919    
AOSN  	= 000356	#23-920    
APEERM	  000000 R	#181-7266   181-7266  
APR   	= 000000	#7-245     
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

APRMSG	  001273 RG	 180-7242  #180-7242   180-7242  
AP.ALL	= 000177	#9-350     
AP.ARP	= 001000	#16-635     16-639     131-5461  
AP.CDP	= 000004	#9-345      9-350     
AP.EIP	= 000400	#16-637     16-639     131-5469  
AP.IPF	= 000020	#9-347      9-350     
AP.MPE	= 000010	#9-346      9-350     
AP.NRM	= 001400	#16-639     16-641    
AP.NXM	= 000040	#9-348      9-350     
AP.PWF	= 000001	#9-343      9-350     
AP.SAP	= 000002	#9-344      9-350     
AP.SBE	= 000100	#9-349      9-350     
ARMSG 	  000773 RG	 176-7108  #176-7108   176-7108   178-7148   178-7148   189-7465   189-7465  
ARXMSG	  001020 RG	 178-7150  #178-7150   178-7150  
ASH   	= 000240	#23-922    
ASHC  	= 000244	#23-923    
AUGMSG	  001317 RG	 180-7250  #180-7250   180-7250  
A.LULU	= 000002	#70-3088    70-3090   
A.LUNA	= 000004	#70-3088   
A.LUNU	= 000006	#70-3088   
BAEERM	  000023 R	#181-7268   181-7268  
BCCTER	  003362 R	 88-3872   #88-3877   
BIT0  	= 000001	#87-3839   
BIT00 	= 000001	#9-307      10-385     11-411     11-431     12-468     12-469     13-492     13-515     22-844    
                         22-858     62-2648    130-5422   139-5779  
BIT01 	= 000002	#9-308      10-388     11-407     11-429     12-466     12-467     13-493     13-514     22-845    
                         22-859     130-5421  
BIT02 	= 000004	#9-309      10-380     11-406     11-428     11-433     12-464     12-465     13-494     13-513    
                         22-846     22-860     97-4165    130-5420  
BIT03 	= 000010	#9-310      10-379     11-405     11-425     12-461     12-463     13-495     13-512     22-847    
                         22-861     128-5327   130-5419  
BIT04 	= 000020	#9-311      10-377     10-378     11-404     11-423     11-424     12-459     13-496     13-511    
                         22-848     22-862    
BIT05 	= 000040	#9-312      10-375     11-411     11-422     12-457     12-458     13-497     13-510     22-849    
                         22-863     139-5776  
BIT06 	= 000100	#9-313      10-374     11-400     11-433     12-455     12-456     13-486     13-509     22-850    
                         22-864    
BIT07 	= 000200	#9-314      10-372     10-373     11-411     11-433     12-453     13-485     13-508     22-851    
                         22-865    
BIT08 	= 000400	#9-315      10-371     11-411     11-433     12-451     13-484     13-507     22-866    
BIT09 	= 001000	#9-316      10-367     10-370     11-411     11-433     12-449     13-483     13-506    
BIT1  	= 000002	#87-3839   
BIT10 	= 002000	#9-317      10-366     10-369     11-411     11-433     12-448     13-482     13-505    #87-3839   
BIT11 	= 004000	#9-318      10-365     10-368     11-411     11-433     12-446     13-481     13-504    #87-3839   
BIT12 	= 010000	#9-319      10-364     11-411     11-433     12-444     12-445     13-480     13-503    #87-3839   
BIT13 	= 020000	#9-320      10-363     11-396     11-411     11-433     12-442     13-479    #87-3839   
BIT14 	= 040000	#9-321      10-362     11-393     11-394     11-411     11-416     11-433     12-441     13-478    
                        #87-3839   
BIT15 	= 100000	#9-322      10-361     11-392     11-411     11-415     11-433     12-439     13-477     35-1490   
                         35-1575    72-3204    73-3254    74-3314   #87-3839   
BIT2  	= 000004	#87-3839   
BIT3  	= 000010	#87-3839   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

BIT4  	= 000020	#87-3839   
BIT5  	= 000040	#87-3839   
BIT6  	= 000100	#87-3839   
BIT7  	= 000200	#87-3839   
BIT8  	= 000400	#87-3839   
BIT9  	= 001000	#87-3839   
BLKI  	= 000000	#7-234     
BLKIS 	  002232 R	 230-8987  #230-8999  
BLKO  	= 000002	#7-236     
BLKOS 	  002245 R	 230-8989  #230-9001  
BLT   	= 000251	#23-925    
BPARER	= 000020	#87-3839   
BRMSG 	  001024 RG	 178-7152  #178-7152   178-7152  
BRXMSG	  001027 RG	 178-7154  #178-7154   178-7154  
CAEERM	  000052 R	#181-7270   181-7270  
CAI   	= 000300	#24-927    
CAIA  	= 000304	#24-928    
CAIE  	= 000302	#24-929    
CAIG  	= 000307	#24-930    
CAIGE 	= 000305	#24-931    
CAIL  	= 000301	#24-932    
CAILE 	= 000303	#24-933    
CAIN  	= 000306	#24-934    
CALERM	  000104 R	#181-7271   181-7271  
CALL  	= 000040	#24-936    
CALLI 	= 000047	#24-937    
CAM   	= 000310	#24-939    
CAMA  	= 000314	#24-940    
CAME  	= 000312	#24-941    
CAMG  	= 000317	#24-942    
CAMGE 	= 000315	#24-943    
CAML  	= 000311	#24-944    
CAMLE 	= 000313	#24-945    
CAMN  	= 000316	#24-946    
CAPERM	  000133 R	#181-7272   181-7272  
CBOERM	  000166 R	#181-7273   181-7273  
CCA   	= 000014	#7-248     
CC.ALL	= 003417	#15-613    
CC.NRM	= 000000	#15-612     143-5952  
CDD   	= 000020	#87-3839   
CDIERM	  000224 R	#181-7274   181-7274  
CD.ALL	= 003400	#15-610     15-613    
CD.CLC	= 000400	#15-608     131-5465  
CD.CRC	= 002000	#15-606     131-5450  
CD.DPC	= 001000	#15-607     131-5457  
CD.NRM	= 000000	#15-609    
CESCES	  000016 R	 47-2105   #47-2108   
CESERM	  003722 R	#191-7525   191-7525  
CFHERM	  000305 R	#181-7275   181-7275  
CHNPNT	= 000001	#87-3839   
CH.ALP	= 000001	#22-844     22-853     41-1842    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    42-1859   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

                         42-1860    42-1861    42-1862    42-1863    42-1864    42-1865    42-1866    42-1867    42-1868   
                         42-1869    42-1870    48-2147   
CH.ANM	= 000003	#22-853    
CH.AOP	= 000100	#22-850     41-1817    41-1818    41-1819    41-1820    41-1822    41-1824    42-1846    42-1847   
                         42-1848    42-1859    42-1875    42-1876   
CH.END	= 000034	#22-852     59-2553    169-6868  
CH.EOC	= 000010	#22-847     22-852     40-1776    40-1777    41-1821    41-1837    41-1838    49-2184    51-2249   
                         53-2315   
CH.EOL	= 000004	#22-846     22-852     40-1776   
CH.EOS	= 000020	#22-848     22-852     40-1776    40-1777    41-1809    41-1811    41-1816    41-1819    41-1820   
                         41-1821    41-1822    41-1824    41-1837    41-1838    41-1840    41-1841    42-1876    52-2286   
CH.ILL	= 000200	#22-851     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    40-1799    41-1801    41-1802    41-1803    41-1804   
                         41-1805    41-1806    41-1807    41-1808    41-1810    41-1812    41-1813    41-1814    41-1815   
                         41-1823    41-1839    41-1843    42-1872    42-1873    42-1874    42-1877   
CH.NUL	= 000000	#22-843    
CH.NUM	= 000002	#22-845     22-853     41-1826    41-1827    41-1828    41-1829    41-1830    41-1831    41-1832   
                         41-1833    41-1834    41-1835    48-2154    238-9288  
CH.PFX	= 000040	#22-849     41-1817    41-1820    41-1822    41-1842    42-1875    48-2154   
CIDLUN	= 000001	#21-820     160-6595   224-8709   260-10121  260-10126 
CKCILS	  000152 R	 49-2187   #49-2189    51-2258    52-2287    52-2289   
CKCMRA	  000160 R	 48-2155    49-2185   #49-2192    53-2316   
CKEEOC	  000250 R	 51-2256   #51-2260   
CKRKLR	  000366 R	 54-2358   #54-2366   
CLEAR 	= 000400	#24-948    
CLEARB	= 000403	#24-949    
CLEARI	= 000401	#24-950    
CLEARM	= 000402	#24-951    
CLEERM	  000343 R	#181-7276   181-7276  
CLKMSG	  001617 RG	 190-7484  #190-7484   190-7484   193-7553   193-7553  
CLOATR	= 000256 R	*75-3344   *75-3348   #75-3371   
CLOATT	= 000262 R	*75-3350   #75-3378   
CLODAC	  000240 R	 75-3351   #75-3366    75-3369    75-3370    75-3371   
CLOFCF	  002160 R	 75-3352    75-3354   #75-3360   
CLOIOF	= 000242 R	*75-3343   *75-3347   #75-3369   
CLOLUN	= 000244 R	*75-3349   #75-3370   
CLOSE 	= 000070	#24-953    
CLOWAT	  000260 R	 75-3348   #75-3373    75-3378   
CLRMSG	  000373 RG	 174-7017  #174-7017   174-7017  
CNRERM	  000400 R	#181-7277   181-7277  
CNTMSG	  000401 RG	 174-7019  #174-7019   174-7019  
CNUPE 	= 000002	#87-3839   
CODLUN	= 000002	#21-821     260-10103 
CONI  	= 000005	#7-239     
CONIS 	  002265 R	 230-8992  #230-9004  
CONMSG	  001625 RG	 190-7486  #190-7486   190-7486   193-7555   193-7555  
CONO  	= 000004	#7-238      117-4986   117-4986  
CONOS 	  002260 R	 230-8991  #230-9003  
CONSO 	= 000007	#7-241     
CONSOS	  002300 R	 230-8994  #230-9006  
CONSZ 	= 000006	#7-240     
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 5

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

CONSZS	  002272 R	 230-8993  #230-9005  
CPEERM	  000440 R	#181-7278   181-7278  
CPUMSG	  001420 RG	 184-7384  #184-7384   184-7384  
CPUNUM	= 000002	#87-3839   
CPVMSG	  000000 RG	#39-1729   
CRAMSG	  001054 RG	 178-7169  #178-7169   178-7169  
CRHERM	  000467 R	#181-7279   181-7279  
CRLMSG	  001063 RG	 178-7171  #178-7171   178-7171  
CRMMSG	  001450 RG	 62-2673    185-7405  #185-7405   185-7405   189-7467   189-7467  
CR.ALL	= 000003	#15-598     15-613    
CR.CR1	= 000001	#15-592     15-598     131-5463  
CR.CR2	= 000002	#15-593     15-598     131-5455  
CR.FUL	= 000000	#15-594    
CR.HLF	= 000001	#15-595    
CR.NRM	= 000000	#15-591    
CR.QTR	= 000002	#15-596    
CR.SLO	= 000003	#15-597    
CS.ALL	= 000014	#15-589     15-613    
CS.CS1	= 000004	#15-583     15-589     131-5448  
CS.CS2	= 000010	#15-584     15-589     131-5442  
CS.EXP	= 177670	#87-3839   
CS.EXT	= 000010	#15-587    
CS.FST	= 000004	#15-585     15-586    
CS.MGN	= 000004	#15-586    
CS.NRM	= 000000	#15-582    
CS.UDF	= 000014	#15-588    
CTLMSG	  001467 RG	 185-7409  #185-7409   185-7409  
CTYPTR	= ******  GX	 160-6599  
DATABX	  000312 RG	#35-1616    262-10134 
DATAI 	= 000001	#7-235     
DATAIS	  002237 R	 230-8988  #230-9000  
DATAO 	= 000003	#7-237     
DATAOS	  002252 R	 230-8990  #230-9002  
DATMSG	  001635 RG	 190-7488  #190-7488   190-7488   193-7557   193-7557  
DAVERM	  000531 R	#181-7284   181-7284  
DBTERM	  000562 R	#181-7285   181-7285  
DCKERM	  000612 R	#181-7286   181-7286  
DCOMST	= 000001	#87-3839   
DCRMSG	  000724 RG	 175-7093  #175-7093   175-7093   176-7114   176-7114   177-7129   177-7129   178-7202   178-7202  
DEB880	= ******	 44-1922    47-2100    56-2424    90-3943    94-4057    97-4166    99-4235    99-4251    100-4277  
                         104-4422   104-4430   106-4488   108-4584   110-4660   114-4839   115-4852   115-4881   117-4971  
                         128-5328   139-5792   149-6125   152-6221  
DECMSG	  001361 RG	 180-7258  #180-7258   180-7258  
DEP   	= 010000	#87-3839   
DEPMSG	  000412 RG	 174-7021  #174-7021   174-7021  
DEX   	= 000400	#87-3839   
DEXDON	= 000004	#87-3839   
DEXWD1	= 174406	#87-3839   
DEXWD2	= 174404	#87-3839   
DEXWD3	= 174402	#87-3839   
DFAD  	= 000110	#24-955    
DFBEND	= 000362 RG	#37-1687   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 6

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

DFDV  	= 000113	#24-956    
DFMP  	= 000112	#24-957    
DFN   	= 000131	#24-958    
DFSB  	= 000111	#24-959    
DFUNC 	= 000200	#87-3839   
DF.DMG	= 000004	#87-3839   
DF.DMN	= 000007	#87-3839   
DF.DOR	= 000001	#87-3839   
DF.EHG	= 000010	#87-3839   
DF.EHM	= 000011	#87-3839   
DF.EMG	= 000005	#87-3839   
DF.EMN	= 000006	#87-3839   
DF.KLR	= 000012	#87-3839    106-4531  
DF.KLW	= 000013	#87-3839    108-4628  
DF.KLX	= 000014	#87-3839    111-4730  
DF.OFF	= 000002	#87-3839   
DF.ON 	= 000003	#87-3839   
DF.PDP	= 000016	#87-3839    102-4346  
DF.PEX	= 000015	#87-3839    102-4364  
DIAG1 	= 174430	#87-3839   
DIAG2 	= 174432	#87-3839   
DIAG3 	= 174436	#87-3839   
DIKL10	= 000010	#87-3839   
DISMSG	  000422 RG	 174-7023  #174-7023   174-7023  
DIV   	= 000234	#24-961    
DIVB  	= 000237	#24-962    
DIVI  	= 000235	#24-963    
DIVM  	= 000236	#24-964    
DLYCNT	= 174400	#87-3839   
DMFERM	  000635 R	#181-7287   181-7287  
DMOVE 	= 000120	#24-966    
DMOVEM	= 000124	#24-967    
DMOVN 	= 000121	#24-968    
DMOVNM	= 000125	#24-969    
DNFERM	  000724 R	#181-7289   181-7289  
DNPERM	  000763 R	#181-7290   181-7290  
DOCCNR	  010102 R	 159-6528  #159-6551  
DON10C	= 040000	#87-3839   
DON10S	= 100000	#87-3839   
DON11C	= 000100	#87-3839   
DON11S	= 000200	#87-3839   
DORERM	  000674 R	#181-7288   181-7288  
DPB   	= 000137	#24-971    
DPDTEN	= 000322 RG	#102-4347  
DPS4  	= 040000	#87-3839   
DPTMSG	  001455 RG	 185-7407  #185-7407   185-7407  
DRAMSG	  001071 RG	 178-7173  #178-7173   178-7173  
DRDMSG	  002144 R	 216-8364  #217-8394  
DRESET	= 000100	#87-3839   
DRMMSG	  001573 RG	 62-2672    189-7469  #189-7469   189-7469  
DR.DTE	= 000011	#87-3839    102-4346   102-4364   106-4531   108-4628   111-4730  
DSEND 	= 000004	#87-3839   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 7

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

DSFERM	  001022 R	#181-7291   181-7291  
DS04  	= 004000	#87-3839   
DS05  	= 002000	#87-3839   
DS06  	= 001000	#87-3839   
DTCERM	  001055 R	#181-7292   181-7292  
DTECMD	= 000451	#87-3839   
DTEDSF	  003626 R	 94-4062   #94-4075   
DTEFLG	= 000444	#87-3839   
DTEF11	= 000450	#87-3839   
DTEMSG	  001100 RG	 178-7175  #178-7175   178-7175   184-7386   184-7386  
DTEMTD	= 000455	#87-3839   
DTEMTI	= 000456	#87-3839   
DTKMSG	  002215 R	 218-8436  #220-8502  
DTRMSG	  002063 R	 216-8349  #217-8382  
DUPE  	= 000020	#87-3839   
DURE  	= 000004	#87-3839   
DWRMSG	  002150 R	 216-8367  #217-8396  
DW1MSG	  002104 R	 217-8376  #217-8385  
DW2MSG	  002114 R	 217-8377  #217-8387  
DW3MSG	  002134 R	 217-8379  #217-8391  
DXWRD1	= 002000	#87-3839   
D.CDLS	= ******  GX	 160-6601  
D1.CES	= 004000	#10-368     47-2104    114-4838  
D1.DCS	= 000001	#10-385    
D1.DDT	= 000040	#10-375     10-388    
D1.DEX	= 000400	#10-371     10-388    
D1.DFM	= 000010	#10-379    
D1.DS0	= 100000	#10-361    
D1.DS1	= 040000	#10-362    
D1.DS2	= 020000	#10-363    
D1.DS3	= 010000	#10-364    
D1.DS4	= 004000	#10-365    
D1.DS5	= 002000	#10-366    
D1.DS6	= 001000	#10-367    
D1.HLP	= 001000	#10-370     104-4421   104-4429   115-4851   115-4880   117-4970   152-6220  
D1.LBK	= 000200	#10-373    
D1.MBZ	= 000442	#10-388     94-4084   
D1.PLS	= 000020	#10-378    
D1.RUN	= 002000	#10-369    
D1.T10	= 000200	#10-372    
D1.T11	= 000100	#10-374    
D1.V04	= 000020	#10-377    
D1.XFR	= 000004	#10-380    
D1011 	= 000040	#87-3839   
D2RST 	  004344 R	 142-5899  #142-5907  
D2.EBD	= 040000	#11-394    
D2.MBZ	= 177641	#11-411     94-4085   
D2.MS1	= 000002	#11-407    
D2.MS2	= 000004	#11-406    
D2.MS4	= 000010	#11-405    
D2.MS8	= 000020	#11-404    
D2.RA0	= 100000	#11-392    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 8

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

D2.RA1	= 040000	#11-393    
D2.RA2	= 020000	#11-396    
D2.RST	= 000100	#11-400     142-5908  
D3RST 	  004346 R	 142-5901  #142-5909  
D3.CDD	= 000020	#11-424    
D3.MBZ	= 177704	#11-433     94-4087   
D3.NPE	= 000002	#11-429    
D3.PAR	= 040000	#11-416    
D3.RST	= 000001	#11-435     142-5910  
D3.SCD	= 000040	#11-422    
D3.SSL	= 100000	#11-415    
D3.TXB	= 000001	#11-431     11-435    
D3.UPE	= 000020	#11-423    
D3.URE	= 000004	#11-428    
D3.WEP	= 000010	#11-425    
EBCECT	  003722 R	 97-4173   #97-4177   
EBPEPE	  000424 R	 56-2425   #56-2428   
EBRMSG	  001107 RG	 178-7177  #178-7177   178-7177  
EBSEL 	= 000100	#87-3839   
EBSMSG	  001033 RG	 178-7156  #178-7156   178-7156  
EBUSPC	= 000020	#87-3839   
EBUSPS	= 000004	#87-3839   
ECTERM	  001127 R	#181-7294   181-7294  
EDEPT 	  002154 R	 220-8483  #220-8490  
EDEXV 	  002160 R	 220-8484  #220-8492  
EDONES	= 040000	#87-3839   
EDPHY 	  002174 R	 220-8487  #220-8498  
EDTYTB	  007264 R	 219-8469  #220-8482  
EDUPT 	  002164 R	 220-8485  #220-8494  
EDUSV 	  002170 R	 220-8486  #220-8496  
ED.EPT	= 000000	#9-326     
ED.EXV	= 000040	#9-327     
ED.PHY	= 000200	#9-330      102-4346   102-4364  
ED.UPT	= 000100	#9-328     
ED.USV	= 000140	#9-329     
EF.CRI	= ******  GX	 141-5851  
ELBBIN	  007350 RG	 246-9574  #250-9735  
ELBOCT	  007354 RG	 246-9578  #250-9738  
ELEMSG	  000776 RG	 176-7110  #176-7110   176-7110   178-7179   178-7179   186-7430   186-7430  
ELNBIN	  007342 RG	 245-9535  #250-9731  
ELNNOR	  013214 R	 225-8742   225-8744   225-8749   225-8751  #225-8754  
ELNOCT	  007360 RG	 245-9539  #250-9743  
EMFERM	  001160 R	#181-7295   181-7295  
ENBMSG	  001600 RG	 189-7471  #189-7471   189-7471  
ENTCRE	  000070 R	 72-3186   #72-3203   
ENTDEL	  000144 R	 72-3195   #72-3209   
ENTENA	  000114 R	 72-3190   #72-3206   
ENTER 	= 000077	#25-973    
ENTFEN	  001730 R	 72-3187    72-3189   #72-3197   
EOCERM	  001217 R	#181-7296   181-7296  
EOFMSG	  000335 R	 77-3463   #77-3472   
EPEERM	  001255 R	#181-7297   181-7297  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 9

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

EPTR  	= 000000	#87-3839   
EQV   	= 000444	#25-975    
EQVB  	= 000447	#25-976    
EQVI  	= 000445	#25-977    
EQVM  	= 000446	#25-978    
ERRMSG	  001424 RG	 184-7388  #184-7388   184-7388  
ERR10C	= 010000	#87-3839   
ERR10S	= 020000	#87-3839   
ERR11C	= 000001	#87-3839   
ERR11S	= 000002	#87-3839   
ERSMSG	  000107 R	 62-2671   #63-2681   
ESDERM	  001305 R	#181-7298   181-7298  
ESEERM	  001342 R	#181-7299   181-7299  
ETRMSG	  002200 R	 218-8431  #220-8500  
EXAMSG	  000435 RG	 174-7025  #174-7025   174-7025  
EXCH  	= 000250	#25-980    
EXDDMF	  004134 R	 101-4310  #101-4322  
EXDEMF	  004142 R	 101-4304  #101-4325  
EXDESD	  004104 R	 101-4309  #101-4314  
EXDESE	  004120 R	 101-4303  #101-4318  
EXDTEN	= 000334 RG	#102-4365  
EXECTO	  004354 R	 104-4435  #104-4455  
EXRTBL	= 000012  G	#178-7166  
EXTEND	= 000123	#25-981    
EXTEXT	  000214 R	 74-3291   #74-3313   
EXTFEF	  002036 R	 74-3292    74-3294   #74-3299   
EXTMSG	  001477 RG	 185-7411  #185-7411   185-7411  
E.FCID	= 000002	#21-804     160-6595   224-8709   260-10121 
E.FCOD	= 000003	#21-805     260-10103  260-10126 
E.FCTC	= ******  GX	 50-2218   
E.FFIL	= 000006	#21-808     70-3093    71-3156    72-3204    72-3207    72-3210    73-3254    74-3314    75-3367   
                         80-3575    85-3784   
E.FHTO	= 000001	#21-803     91-3973    149-6126  
E.FKLN	= 000004	#21-806    
E.FLOD	= 000005	#21-807     260-10112 
FAD   	= 000140	#25-983    
FADB  	= 000143	#25-984    
FADL  	= 000141	#25-985    
FADM  	= 000142	#25-986    
FADR  	= 000144	#25-988    
FADRB 	= 000147	#25-989    
FADRI 	= 000145	#25-990    
FADRM 	= 000146	#25-991    
FCFERM	  001377 R	#181-7301   181-7301  
FDV   	= 000170	#25-993    
FDVB  	= 000173	#25-994    
FDVL  	= 000171	#25-995    
FDVM  	= 000172	#25-996    
FDVR  	= 000174	#25-998    
FDVRB 	= 000177	#25-999    
FDVRI 	= 000175	#25-1000   
FDVRM 	= 000176	#25-1001   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 10

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

FEBMSG	  001254 RG	 180-7238  #180-7238   180-7238  
FEFERM	  001430 R	#181-7302   181-7302  
FENERM	  001462 R	#181-7303   181-7303  
FERMSG	  001113 RG	 178-7181  #178-7181   178-7181  
FIX   	= 000122	#25-1003   
FIXR  	= 000126	#25-1004   
FLDMSG	  000050 R	 60-2592   #60-2599   
FLFERM	  001513 R	#181-7304   181-7304  
FLGMSG	  001116 RG	 178-7183  #178-7183   178-7183  
FLTMSG	  001642 RG	 190-7490  #190-7490   190-7490   193-7559   193-7559  
FLTR  	= 000127	#25-1006   
FMMSG 	  001040 RG	 62-2674    178-7159  #178-7159   178-7159   189-7473   189-7473  
FMP   	= 000160	#25-1008   
FMPB  	= 000163	#25-1009   
FMPL  	= 000161	#25-1010   
FMPM  	= 000162	#25-1011   
FMPR  	= 000164	#25-1013   
FMPRB 	= 000167	#25-1014   
FMPRI 	= 000165	#25-1015   
FMPRM 	= 000166	#25-1016   
FNDALN	  000000 R	 70-3066   #70-3087    70-3090   
FNDALU	= 000002 R	*70-3065   #70-3090   
FNDCAL	  001550 R	 70-3067   #70-3079   
FNDDNF	  001556 R	 70-3071    70-3073   #70-3081   
FNDFNA	  000010 R	 70-3070   #70-3092    70-3095    70-3096   
FNDFNB	= 000036 R	*70-3069   #70-3096   
FNDLUN	= 000014 R	*70-3068   #70-3095   
FOFERM	  001545 R	#181-7305   181-7305  
FORPRO	= 000020	#87-3839   
FRDERM	  001575 R	#181-7306   181-7306  
FRDFRF	  004436 R	 106-4493  #106-4510  
FRDMSG	  000445 RG	 174-7027  #174-7027   174-7027  
FRDTEN	= 000346 RG	#106-4532  
FRFERM	  003754 R	#191-7527   191-7527  
FR.ADX	= 000254	#18-726    
FR.APR	= 000220	#18-704    
FR.ARX	= 000252	#18-724    
FR.BRX	= 000250	#18-722    
FR.CA1	= 000312	#19-756     19-757    
FR.CA2	= 000310	#19-753     19-754    
FR.CL1	= 000316	#19-763    
FR.CL2	= 000314	#19-760    
FR.CRD	= 000302	#19-747     132-5498  
FR.CR1	= 000316	#19-762     19-763    
FR.CR2	= 000314	#19-759     19-760    
FR.CR3	= 000312	#19-757    
FR.CR4	= 000310	#19-754     134-5575  
FR.DA1	= 000260	#18-732    
FR.DA2	= 000262	#18-735    
FR.EBS	= 000356	#20-790    
FR.FE1	= 000266	#18-739    
FR.FE2	= 000264	#18-737    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 11

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

FR.PI0	= 000200	#18-693    
FR.PI1	= 000202	#18-695    
FR.RAD	= 000256	#18-728    
FR.RAR	= 000240	#18-714    
FR.RBR	= 000242	#18-716    
FR.RFM	= 000246	#18-720     137-5709  
FR.RMQ	= 000244	#18-718    
FR.SC1	= 000262	#18-734    
FR.SC2	= 000260	#18-731    
FR.SR1	= 000306	#19-751    
FR.SR2	= 000304	#19-749    
FR.VM0	= 000320	#19-766    
FR.VM1	= 000322	#19-768    
FR.VM2	= 000324	#19-770    
FR.VM3	= 000326	#19-772    
FR.VM4	= 000330	#19-774    
FR.VM5	= 000332	#19-776    
FR.VM6	= 000334	#19-778    
FR.VM7	= 000336	#19-780    
FR.100	= 000200	#18-692     18-693    
FR.101	= 000202	#18-694     18-695    
FR.102	= 000204	#18-696     139-5775  
FR.103	= 000206	#18-697    
FR.104	= 000210	#18-698     97-4163    131-5438  
FR.105	= 000212	#18-699     131-5439  
FR.106	= 000214	#18-700     131-5440  
FR.107	= 000216	#18-701     131-5441  
FR.110	= 000220	#18-703     18-704    
FR.111	= 000222	#18-705    
FR.112	= 000224	#18-706    
FR.113	= 000226	#18-707    
FR.114	= 000230	#18-708     136-5665   138-5738  
FR.115	= 000232	#18-709    
FR.116	= 000234	#18-710    
FR.117	= 000236	#18-711    
FR.120	= 000240	#18-713     18-714    
FR.121	= 000242	#18-715     18-716    
FR.122	= 000244	#18-717     18-718    
FR.123	= 000246	#18-719     18-720    
FR.124	= 000250	#18-721     18-722    
FR.125	= 000252	#18-723     18-724    
FR.126	= 000254	#18-725     18-726    
FR.127	= 000256	#18-727     18-728    
FR.130	= 000260	#18-730     18-731     18-732    
FR.131	= 000262	#18-733     18-734     18-735    
FR.132	= 000264	#18-736     18-737    
FR.133	= 000266	#18-738     18-739    
FR.134	= 000270	#18-740    
FR.135	= 000272	#18-741    
FR.136	= 000274	#18-742    
FR.137	= 000276	#18-743    
FR.140	= 000300	#19-745    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 12

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

FR.141	= 000302	#19-746     19-747    
FR.142	= 000304	#19-748     19-749    
FR.143	= 000306	#19-750     19-751    
FR.144	= 000310	#19-752     19-753    
FR.145	= 000312	#19-755     19-756    
FR.146	= 000314	#19-758     19-759    
FR.147	= 000316	#19-761     19-762    
FR.150	= 000320	#19-765     19-766    
FR.151	= 000322	#19-767     19-768    
FR.152	= 000324	#19-769     19-770    
FR.153	= 000326	#19-771     19-772    
FR.154	= 000330	#19-773     19-774    
FR.155	= 000332	#19-775     19-776    
FR.156	= 000334	#19-777     19-778    
FR.157	= 000336	#19-779     19-780    
FR.160	= 000340	#20-782    
FR.161	= 000342	#20-783    
FR.162	= 000344	#20-784     128-5325  
FR.163	= 000346	#20-785    
FR.164	= 000350	#20-786    
FR.165	= 000352	#20-787    
FR.166	= 000354	#20-788    
FR.167	= 000356	#20-789     20-790    
FR.170	= 000360	#20-792    
FR.171	= 000362	#20-793    
FR.172	= 000364	#20-794    
FR.173	= 000366	#20-795    
FR.174	= 000370	#20-796    
FR.175	= 000372	#20-797    
FR.176	= 000374	#20-798    
FR.177	= 000376	#20-799    
FSB   	= 000150	#25-1018   
FSBB  	= 000153	#25-1019   
FSBL  	= 000151	#25-1020   
FSBM  	= 000152	#25-1021   
FSBR  	= 000154	#26-1023   
FSBRB 	= 000157	#26-1024   
FSBRI 	= 000155	#26-1025   
FSBRM 	= 000156	#26-1026   
FSC   	= 000132	#26-1028   
FSSMSG	  001607 RG	 62-2675    189-7475  #189-7475   189-7475   190-7492   190-7492  
FSWERM	  001625 R	#181-7307   181-7307  
FTBYTE	= 000000	#2-66      
FTCRAM	= 000000	#2-67      
FTDEBU	= 000001	#2-68       35-1503    68-2881    160-6576  
FTDISP	= 000000	#2-69      
FTDRAM	= 000000	#2-70       35-1511    181-7281  
FTHELP	= 000000	#2-71       174-7035  
FTKLE 	= 000001	#2-78       159-6543   163-6672   223-8621  
FTKLER	= 000000	#2-72      
FTKLI 	= ******	 69-2943    69-2954    74-3304    77-3419   
FTLCMN	= 000001  G	 1-1        33-1410   #262-10132 
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 13

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

FTLCVT	= 000000	#2-73       42-1878    224-8677  
FTLIST	= 000001	#2-74      
FTTRAK	= 000001	#2-75       13-491     35-1592    94-4064    99-4240    106-4503   108-4598   111-4700   190-7514  
                         193-7581   213-8250   215-8344   218-8425  
FTTRP4	= 000001	#2-76      
FTUCVR	= 000130	#2-77      
FT1105	= 000001	#2-65      #2-102     
FT1110	= 000001	#2-64      #2-98       2-101     
FT1115	= 000001	#2-63      #2-94       2-97      
FT1120	= 000001	#2-62      #2-90       2-93      
FT1135	= 000001	#2-61      #2-86       2-89      
FT1140	= 000001	#2-60       2-85       3-111     
FT1145	= 000000	#2-59       2-81      
FULMSG	  001530 RG	 185-7417  #185-7417   185-7417  
FWDTEN	= 000360 RG	#108-4629  
FWFERM	  004001 R	#191-7528   191-7528  
FWRFWF	  004560 R	 108-4589  #108-4607  
FWRMSG	  000453 RG	 174-7029  #174-7029   174-7029  
FWTERM	  001652 R	#181-7308   181-7308  
FW.APE	= 000116	#16-629    
FW.CA1	= 000122	#16-645     126-5267   134-5589   141-5862   155-6395  
FW.CA2	= 000124	#16-647     126-5260   134-5591   141-5861   155-6397  
FW.CDR	= 000112	#15-601    
FW.CHN	= 000160	#17-677     128-5320  
FW.CRD	= 000126	#16-649     155-6392  
FW.CR1	= 000136	#16-657    
FW.CR2	= 000134	#16-655    
FW.CR3	= 000132	#16-653    
FW.CR4	= 000130	#16-651     155-6375  
FW.CSR	= 000110	#15-577     124-5193  
FW.DJE	= 000146	#17-666    
FW.DJO	= 000150	#17-668    
FW.DR1	= 000140	#17-660    
FW.DR2	= 000142	#17-662    
FW.DR3	= 000144	#17-664    
FW.EBL	= 000174	#17-685     141-5864  
FW.IAC	= 000154	#17-672    
FW.IOJ	= 000152	#17-670    
FW.IPE	= 000114	#16-616     124-5199  
FW.KLO	= 000156	#17-674     141-5863  
FW.LAR	= 000176	#17-688     116-4929   120-5086   154-6307  
FW.LBL	= 000106	#15-575     122-5133   141-5860  
FW.LBR	= 000104	#15-573     122-5124   141-5859  
FW.MBX	= 000162	#17-679     141-5867  
FW.SBR	= 000174	#17-686    
FW.040	= 000100	#15-570    
FW.041	= 000102	#15-571    
FW.042	= 000104	#15-572     15-573    
FW.043	= 000106	#15-574     15-575    
FW.044	= 000110	#15-576     15-577     108-4592  
FW.045	= 000112	#15-600     15-601    
FW.046	= 000114	#16-615     16-616    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 14

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

FW.047	= 000116	#16-628     16-629     108-4594  
FW.050	= 000120	#16-643    
FW.051	= 000122	#16-644     16-645    
FW.052	= 000124	#16-646     16-647    
FW.053	= 000126	#16-648     16-649    
FW.054	= 000130	#16-650     16-651    
FW.055	= 000132	#16-652     16-653    
FW.056	= 000134	#16-654     16-655    
FW.057	= 000136	#16-656     16-657    
FW.060	= 000140	#17-659     17-660    
FW.061	= 000142	#17-661     17-662    
FW.062	= 000144	#17-663     17-664    
FW.063	= 000146	#17-665     17-666    
FW.064	= 000150	#17-667     17-668    
FW.065	= 000152	#17-669     17-670    
FW.066	= 000154	#17-671     17-672    
FW.067	= 000156	#17-673     17-674    
FW.070	= 000160	#17-676     17-677    
FW.071	= 000162	#17-678     17-679    
FW.072	= 000164	#17-680    
FW.073	= 000166	#17-681    
FW.074	= 000170	#17-682    
FW.075	= 000172	#17-683    
FW.076	= 000174	#17-684     17-685     17-686    
FW.077	= 000176	#17-687     17-688    
FXCFXF	  004730 R	 110-4665  #111-4708  
FXCMSG	  000462 RG	 174-7031  #174-7031   174-7031  
FXDTEN	= 000372 RG	#111-4731  
FXFERM	  004027 R	#191-7529   191-7529  
FX.BMC	= 000012	#14-530     88-3874   
FX.CMR	= 000014	#14-532     128-5337  
FX.CON	= 000024	#14-541     113-4784   119-5028   120-5088  
FX.CRF	= 000020	#14-537     90-3948    110-4691  
FX.CSP	= 000000	#14-520    
FX.CST	= 000002	#14-522     110-4668   147-6066  
FX.EBC	= 000006	#14-526     134-5571  
FX.MBC	= 000004	#14-524     97-4161    128-5332  
FX.SMR	= 000016	#14-534     110-4670   127-5306  
FX.SRF	= 000022	#14-539     110-4685   150-6159  
FX.SYC	= 000010	#14-528     153-6264  
FX.UDR	= 000032	#14-546    
FX.UIR	= 000030	#14-544    
FX.000	= 000000	#14-519     14-520    
FX.001	= 000002	#14-521     14-522    
FX.002	= 000004	#14-523     14-524    
FX.003	= 000006	#14-525     14-526    
FX.004	= 000010	#14-527     14-528    
FX.005	= 000012	#14-529     14-530    
FX.006	= 000014	#14-531     14-532    
FX.007	= 000016	#14-533     14-534    
FX.010	= 000020	#14-536     14-537    
FX.011	= 000022	#14-538     14-539    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 15

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

FX.012	= 000024	#14-540     14-541    
FX.013	= 000026	#14-542    
FX.014	= 000030	#14-543     14-544    
FX.015	= 000032	#14-545     14-546    
FX.016	= 000034	#14-547    
FX.017	= 000036	#14-548    
FX.020	= 000040	#14-550    
FX.021	= 000042	#14-551    
FX.022	= 000044	#14-552    
FX.023	= 000046	#14-553    
FX.024	= 000050	#14-554    
FX.025	= 000052	#14-555    
FX.026	= 000054	#14-556    
FX.027	= 000056	#14-557    
FX.030	= 000060	#14-559    
FX.031	= 000062	#14-560    
FX.032	= 000064	#14-561    
FX.033	= 000066	#14-562    
FX.034	= 000070	#14-563    
FX.035	= 000072	#14-564    
FX.036	= 000074	#14-565    
FX.037	= 000076	#14-566    
GETSTS	= 000062	#26-1030   
GTFILC	  014264 R	 236-9202  #236-9213  
GTKKLA	  013274 R	 227-8814   227-8816  #227-8818  
GTLCBO	  013130 R	 224-8666  #224-8698  
GTLILC	  013136 R	 223-8654   224-8680  #224-8701  
GTNILI	  013700 R	 230-8944   230-8958   230-8976  #230-8980  
GTNMRA	  014526 R	 239-9313  #239-9315  
GTNNER	  013506 R	 228-8852   228-8862  #229-8903   230-8960  
GTNNOR	  014534 R	 225-8755   229-8901   238-9293   238-9299  #239-9318  
GTNORE	  013502 R	 228-8866   228-8868  #229-8900   230-8963   230-8965  
HARMSG	  001773 RG	 193-7561  #193-7561   193-7561  
HIBYTE	= 177400	#87-3839   
HLFMSG	  001535 RG	 185-7419  #185-7419   185-7419  
HLL   	= 000500	#26-1032   
HLLE  	= 000530	#26-1033   
HLLEI 	= 000531	#26-1034   
HLLEM 	= 000532	#26-1035   
HLLES 	= 000533	#26-1036   
HLLI  	= 000501	#26-1038   
HLLM  	= 000502	#26-1039   
HLLO  	= 000520	#26-1041   
HLLOI 	= 000521	#26-1042   
HLLOM 	= 000522	#26-1043   
HLLOS 	= 000523	#26-1044   
HLLS  	= 000503	#26-1046   
HLLZ  	= 000510	#26-1048   
HLLZI 	= 000511	#26-1049   
HLLZM 	= 000512	#26-1050   
HLLZS 	= 000513	#26-1051   
HLR   	= 000544	#26-1053   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 16

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

HLRE  	= 000574	#26-1055   
HLREI 	= 000575	#26-1056   
HLREM 	= 000576	#26-1057   
HLRES 	= 000577	#26-1058   
HLRO  	= 000564	#26-1060   
HLROI 	= 000565	#26-1061   
HLROM 	= 000566	#26-1062   
HLROS 	= 000567	#26-1063   
HLRS  	= 000547	#26-1065   
HLRZ  	= 000554	#26-1067   
HLRZI 	= 000555	#26-1068   
HLRZM 	= 000556	#26-1069   
HLRZS 	= 000557	#26-1070   
HLTMSG	  000467 RG	 174-7033  #174-7033   174-7033  
HRL   	= 000504	#27-1072   
HRLE  	= 000534	#27-1074   
HRLEI 	= 000535	#27-1075   
HRLEM 	= 000536	#27-1076   
HRLES 	= 000537	#27-1077   
HRLI  	= 000505	#27-1079   
HRLM  	= 000506	#27-1080   
HRLO  	= 000564	#27-1082   
HRLOI 	= 000565	#27-1083   
HRLOM 	= 000566	#27-1084   
HRLOS 	= 000567	#27-1085   
HRLS  	= 000507	#27-1087   
HRLZ  	= 000514	#27-1089   
HRLZI 	= 000515	#27-1090   
HRLZM 	= 000516	#27-1091   
HRLZS 	= 000517	#27-1092   
HRR   	= 000540	#27-1094   
HRRE  	= 000570	#27-1096   
HRREI 	= 000571	#27-1097   
HRREM 	= 000572	#27-1098   
HRRES 	= 000573	#27-1099   
HRRI  	= 000541	#27-1101   
HRRM  	= 000542	#27-1102   
HRRO  	= 000560	#27-1104   
HRROI 	= 000561	#27-1105   
HRROM 	= 000562	#27-1106   
HRROS 	= 000563	#27-1107   
HRRS  	= 000543	#27-1109   
HRRZ  	= 000550	#27-1111   
HRRZI 	= 000551	#27-1112   
HRRZM 	= 000552	#27-1113   
HRRZS 	= 000553	#27-1114   
I     	= 000000	#117-4986   117-4986  
IBP   	= 000133	#28-1116   
IDFERM	  001703 R	#181-7310   181-7310  
IDIV  	= 000230	#28-1118   
IDIVB 	= 000233	#28-1119   
IDIVI 	= 000231	#28-1120   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 17

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

IDIVM 	= 000232	#28-1121   
IDPB  	= 000136	#28-1123   
IE.EBX	= ******  GX	 100-4285  
IE.EOF	= ******  GX	 85-3793   
IE.NSF	= ******  GX	 71-3142   
IFCERM	  001735 R	#181-7311   181-7311  
IFLOP 	= 100000	#87-3839   
ILCERM	  004057 R	#191-7531   191-7531  
ILDB  	= 000134	#28-1125   
ILIERM	  001771 R	#181-7312   181-7312  
ILSERM	  004111 R	#191-7532   191-7532  
IMUL  	= 000220	#28-1127   
IMULB 	= 000223	#28-1128   
IMULI 	= 000221	#28-1129   
IMULM 	= 000222	#28-1130   
IN    	= 000056	#28-1132   
INBUF 	= 000064	#28-1133   
INCMSG	  000736 RG	 175-7095  #175-7095   175-7095   176-7116   176-7116   177-7131   177-7131   178-7204   178-7204  
                         190-7494   190-7494   193-7563   193-7563  
INDLUN	= 000005	#21-824     77-3461    80-3575    80-3587    160-6585  
INIMSG	  000474 RG	 174-7039  #174-7039   174-7039   184-7390   184-7390  
INIT  	= 000041	#28-1134   
INPUT 	= 000066	#28-1135   
INTMSG	  001510 RG	 185-7413  #185-7413   185-7413  
INTROF	= 000010	#87-3839   
INTRON	= 000040	#87-3839   
INTSON	= 000001	#87-3839   
INT10S	= 000400	#87-3839   
INT11C	= 002000	#87-3839   
INT11S	= 004000	#87-3839   
IOCERM	  002015 R	#181-7313   181-7313  
IOMSG 	  001432 RG	 184-7392  #184-7392   184-7392  
IOR   	= 000434	#28-1137    29-1205   
IORB  	= 000437	#28-1138    29-1206   
IORI  	= 000435	#28-1139    30-1223   
IORM  	= 000436	#28-1140    30-1224   
IOTAB 	  007276 R	 230-8942   230-8950  #230-8986  
IO.ATT	= ******  GX	 260-10121 
IO.CRE	= ******  GX	 72-3204   
IO.DAC	= ******  GX	 75-3347   
IO.DEL	= ******  GX	 72-3210    75-3343   
IO.DET	= ******  GX	 160-6595   260-10126 
IO.ENA	= ******  GX	 72-3207   
IO.EXT	= ******  GX	 74-3314   
IO.FNA	= ******  GX	 70-3093    71-3132   
IO.RLB	= ******  GX	 224-8709  
IO.RNA	= ******  GX	 71-3129   
IO.RVB	= ******  GX	 80-3575   
IO.WLB	= ******  GX	 260-10103  260-10112 
IO.WVB	= ******  GX	 85-3784   
IPCERM	  004155 R	#191-7533   191-7533  
IP.ALL	= 000017	#16-626    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 18

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

IP.CRP	= 000004	#16-622     16-625     131-5452  
IP.DRP	= 000002	#16-623     16-625     131-5459  
IP.FMP	= 000010	#16-621     16-625     131-5445  
IP.FSS	= 000001	#16-624     16-626     131-5467  
IP.NRM	= 000016	#16-625     16-626     16-641    
IRCERM	  002045 R	#181-7314   181-7314  
IREERM	  002100 R	#181-7315   181-7315  
IS.SET	= ******  GX	 50-2219   
ITFERM	  002130 R	#181-7316   181-7316  
ITNERM	  002162 R	#181-7317   181-7317  
JANMSG	  001244 RG	 180-7236  #180-7236   180-7236  
JFCL  	= 000255	#28-1142   
JFFO  	= 000243	#28-1144   
JMPMSG	  000507 RG	 174-7041  #174-7041   174-7041  
JRA   	= 000267	#28-1146   
JRST  	= 000254	#28-1148   
JSA   	= 000266	#28-1150   
JSP   	= 000265	#28-1152   
JSR   	= 000264	#28-1154   
JSYS  	= 000104	#28-1156   
JULMSG	  001312 RG	 180-7248  #180-7248   180-7248  
JUMP  	= 000320	#28-1158   
JUMPA 	= 000324	#28-1159   
JUMPE 	= 000322	#28-1160   
JUMPG 	= 000327	#28-1161   
JUMPGE	= 000325	#28-1162   
JUMPL 	= 000321	#28-1163   
JUMPLE	= 000323	#28-1164   
JUMPN 	= 000326	#28-1165   
JUNMSG	  001305 RG	 180-7246  #180-7246   180-7246  
KCNERM	  002212 R	#181-7319   181-7319  
KF.BRM	= 001000	#13-483     119-5022  
KF.CES	= 000100	#13-486     47-2114    128-5339  
KF.CLK	= 100000	#13-477     47-2112    54-2355    101-4315   101-4319   103-4394   104-4439   104-4445   108-4596  
                         110-4667   113-4786   113-4792   117-4960   119-5025   119-5040   119-5042   163-6684  
KF.CON	= 000200	#13-485     13-487     47-2112    113-4794   128-5339  
KF.DEF	= 000200	#13-487    
KF.KLO	= 000400	#13-484    
KF.MRS	= 020000	#13-479     127-5308   128-5339  
KF.RUN	= 040000	#13-478     47-2112    54-2355    103-4394   104-4439   104-4449   110-4684   113-4792   119-5025  
                         119-5036   119-5045   146-6032   148-6094   163-6686  
KF.SIM	= 010000	#13-480     113-4780   119-5022  
KF.SMC	= 004000	#13-481    
KF.SPM	= 002000	#13-482     113-4778   119-5022  
KLABIN	  007336 RG	 247-9623  #250-9728  
KLAERM	  002240 R	#181-7320   181-7320  
KLAOCT	  007362 RG	 247-9627  #250-9745  
KLEPRM	  000034 RG	#39-1737    163-6673  
KLHCFH	  005156 R	#115-4886  
KLIMSG	  001661 RG	 190-7496  #190-7496   190-7496   193-7565   193-7565  
KLIOT 	= 000700	#28-1167   
KLMSG 	  001124 RG	 178-7185  #178-7185   178-7185  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 19

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

KLNBIN	  007326 RG	 248-9662  #250-9723  
KLNOCT	  007356 RG	 248-9666  #250-9741  
KLP   	= 000574	#7-249      117-4986   117-4986  
KLPSTP	  005274 RG	#117-4988  
KLPWRF	= 000010	#87-3839   
KLRERM	  002265 R	#181-7321   181-7321  
KLSCFH	  005266 R	 117-4978  #117-4981  
KNCERM	  002327 R	#181-7322   181-7322  
KWEERM	  002363 R	#181-7323   181-7323  
LDB   	= 000135	#29-1169   
LG.ALL	= 000007	#22-868     174-7023   178-7163   178-7185   179-7217   179-7217   179-7219   179-7221   179-7226  
                         179-7228   180-7236   180-7238   180-7240   180-7242   180-7244   180-7246   180-7248   180-7250  
                         180-7252   180-7254   180-7256   180-7258   190-7496   193-7557   193-7559   193-7565  
LG.ARG	= 000010	#22-861    
LG.MAR	= 000020	#22-862    
LG.MNT	= 000004	#22-860     22-868     54-2352    174-7027   174-7029   174-7031   174-7045   174-7060   174-7064  
                         174-7074   174-7078   182-7366   183-7373   183-7375   185-7403   185-7405   185-7407   185-7409  
                         185-7411   185-7413   185-7415   185-7417   185-7419   185-7421   185-7423   189-7463   189-7465  
                         189-7467   189-7469   189-7471   189-7473   189-7475   190-7482   190-7484   190-7492   190-7506  
                         190-7512   193-7551   193-7579  
LG.MOD	= 000040	#22-863    
LG.NUL	= 000000	#22-857    
LG.OPR	= 000001	#22-858     22-867     174-7013   174-7015   174-7017   174-7025   174-7041   174-7043   174-7047  
                         174-7049   174-7051   174-7054   174-7056   174-7062   174-7066   174-7068   174-7070   174-7076  
                         174-7080   174-7082   175-7093   175-7095   175-7097   175-7099   175-7101   176-7114   176-7116  
                         176-7118   176-7120   176-7122   177-7129   177-7131   177-7133   177-7135   177-7137   178-7179  
                         178-7191   178-7202   178-7204   178-7206   178-7208   178-7210   179-7219   186-7430   186-7432  
                         187-7439   187-7441   187-7443   187-7445   188-7452   188-7454   188-7456   190-7486   190-7494  
                         190-7498   190-7500   190-7504   190-7510   193-7555   193-7561   193-7563   193-7567   193-7571  
                         193-7577   193-7585  
LG.PRG	= 000002	#22-859     22-867     54-2345    174-7019   174-7021   174-7033   174-7039   174-7058   174-7072  
                         174-7084   174-7086   176-7108   176-7110   176-7112   178-7144   178-7146   178-7148   178-7150  
                         178-7152   178-7154   178-7156   178-7159   178-7161   178-7167   178-7169   178-7171   178-7173  
                         178-7175   178-7177   178-7181   178-7183   178-7187   178-7189   178-7193   178-7194   178-7196  
                         178-7198   178-7200   184-7382   184-7384   184-7386   184-7388   184-7390   184-7392   184-7394  
                         184-7396   190-7488   190-7490   190-7502   190-7508   190-7512   190-7515   192-7542   192-7544  
                         193-7553   193-7569   193-7573   193-7575   193-7579   193-7582  
LG.PRM	= 000003	#22-867     22-868     179-7221  
LG.RNG	= 000100	#22-864    
LG.RPT	= 000400	#22-866     159-6527   174-7013   174-7017   174-7019   174-7021   174-7025   174-7027   174-7029  
                         174-7031   174-7033   174-7039   174-7051   174-7058   174-7066   174-7072   174-7074   174-7084  
                         175-7093   175-7095   175-7097   175-7099   175-7101   176-7108   176-7110   176-7112   176-7114  
                         176-7116   176-7118   176-7120   176-7122   177-7129   177-7131   177-7133   177-7135   177-7137  
                         178-7144   178-7146   178-7148   178-7150   178-7152   178-7154   178-7156   178-7159   178-7161  
                         178-7163   178-7167   178-7169   178-7171   178-7173   178-7175   178-7177   178-7179   178-7181  
                         178-7183   178-7185   178-7187   178-7189   178-7191   178-7193   178-7194   178-7196   178-7198  
                         178-7200   178-7202   178-7204   178-7206   178-7208   178-7210   184-7382   184-7384   184-7386  
                         184-7388   184-7390   184-7392   184-7394   184-7396   185-7403   185-7405   185-7407   185-7409  
                         185-7411   185-7413   185-7415   185-7417   185-7419   185-7421   185-7423   190-7484   190-7492  
                         190-7500   190-7506   192-7542   192-7544   193-7553   193-7557   193-7573  
LG.STR	= 000200	#22-865    
LOAD11	= 000004	#87-3839   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 20

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

LOGLUN	= 000004	#21-823     72-3204    72-3207    72-3210    74-3303    74-3314    85-3784    160-6593  
LOGMSG	  001557 RG	 188-7452  #188-7452   188-7452  
LOKFLF	  001656 R	 71-3138    71-3143   #71-3149   
LOKFNA	  000040 R	 71-3137   #71-3155    71-3158    71-3159    71-3160   
LOKFNB	= 000066 R	*71-3136   #71-3160   
LOKIOF	= 000042 R	*71-3129   *71-3132   #71-3158   
LOKLUN	= 000044 R	*71-3135   #71-3159   
LOOKUP	= 000076	#29-1171   
LPTMSG	  001563 RG	 188-7454  #188-7454   188-7454  
LSH   	= 000242	#29-1173   
LSHC  	= 000246	#29-1174   
LSTLUN	= 000003	#21-822     260-10112 
MAP   	= 000257	#29-1176   
MARMSG	  001265 RG	 180-7240  #180-7240   180-7240  
MAYMSG	  001301 RG	 180-7244  #180-7244   180-7244  
MBZTAB	  004212 R	 93-4030   #94-4083   
MCRMSG	  000535 RG	 174-7047  #174-7047   174-7047  
MEMMSG	  001670 RG	 190-7498  #190-7498   190-7498   193-7567   193-7567  
MGNMSG	  001521 RG	 185-7415  #185-7415   185-7415  
MMSG  	  000514 RG	 174-7043  #174-7043   174-7043  
MNTMSG	  001170 RG	 179-7217  #179-7217   179-7217   187-7439   187-7439  
MOVE  	= 000200	#29-1178   
MOVEI 	= 000201	#29-1179   
MOVEM 	= 000202	#29-1180   
MOVES 	= 000203	#29-1181   
MOVM  	= 000214	#29-1183   
MOVMI 	= 000215	#29-1184   
MOVMM 	= 000216	#29-1185   
MOVMS 	= 000217	#29-1186   
MOVN  	= 000210	#29-1188   
MOVNI 	= 000211	#29-1189   
MOVNM 	= 000212	#29-1190   
MOVNS 	= 000213	#29-1191   
MOVS  	= 000204	#29-1193   
MOVSI 	= 000205	#29-1194   
MOVSM 	= 000206	#29-1195   
MOVSS 	= 000207	#29-1196   
MPE11 	= 001000	#87-3839   
MQMSG 	  001043 RG	 178-7161  #178-7161   178-7161  
MRAERM	  002415 R	#181-7325   181-7325  
MRHERM	  002455 R	#181-7326   181-7326  
MRKMSG	  000516 RG	 174-7045  #174-7045   174-7045  
MUL   	= 000224	#29-1198   
MULB  	= 000227	#29-1199   
MULI  	= 000225	#29-1200   
MULM  	= 000226	#29-1201   
M.KTAE	= 000010	#91-3973   
M.KTEF	= 000002	#91-3973   
M.KTMG	= 000004	#91-3973   
M.KTUN	= 000006	#91-3973   
M.PARQ	= ******  GX	 160-6597  
NDIERM	  002521 R	#181-7328   181-7328  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 21

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

NEBMSG	  000122 R	 62-2661   #63-2683   
NERERM	  002551 R	#181-7329   181-7329  
NORERM	  002613 R	#181-7330   181-7330  
NOTMSG	  001677 RG	 190-7500  #190-7500   190-7500  
NOVMSG	  001350 RG	 180-7256  #180-7256   180-7256  
NPIERM	  002653 R	#181-7331   181-7331  
NRMMSG	  001441 RG	 185-7403  #185-7403   185-7403  
NSFERM	  002707 R	#181-7332   181-7332  
NSKERM	  004220 R	#191-7535   191-7535  
NSTERM	  002732 R	#181-7333   181-7333  
NTIERM	  002755 R	#181-7334   181-7334  
NULMSG	  000364 RG	 174-7013  #174-7013   174-7013  
NULSTP	= 000040	#87-3839   
NUPE  	= 000002	#87-3839   
NXTMSG	  000750 RG	 175-7097  #175-7097   175-7097   176-7118   176-7118   177-7133   177-7133   178-7206   178-7206  
OAIERM	  003005 R	#181-7336   181-7336  
OCTMSG	  001340 RG	 180-7254  #180-7254   180-7254  
OFCERM	  003035 R	#181-7337   181-7337  
OFFMSG	  000044 RG	#39-1741   
OFSMSG	  001703 RG	 190-7502  #190-7502   190-7502   193-7569   193-7569  
ONMSG 	  000041 RG	#39-1739   
OPEACC	  000160 R	 73-3243   #73-3253    73-3256    73-3257    73-3258   
OPEATT	= 000210 R	*73-3241   *73-3242   #73-3265   
OPEFID	= 000174 R	*73-3240   #73-3258   
OPEFOF	  001776 R	 73-3244   #73-3247   
OPEFUN	= 000162 R	*73-3238   #73-3256   
OPELUN	= 000164 R	*73-3239   #73-3257   
OPEN  	= 000050	#29-1203   
OPERAT	  000206 R	 73-3254   #73-3260    73-3265   
OPRMSG	  001204 RG	 179-7219  #179-7219   179-7219   187-7441   187-7441  
OR    	= 000434	#29-1205   
ORB   	= 000437	#29-1206   
ORCA  	= 000454	#29-1208   
ORCAB 	= 000457	#29-1209   
ORCAI 	= 000455	#29-1210   
ORCAM 	= 000456	#29-1211   
ORCB  	= 000470	#30-1213   
ORCBB 	= 000473	#30-1214   
ORCBI 	= 000471	#30-1215   
ORCBM 	= 000472	#30-1216   
ORCM  	= 000464	#30-1218   
ORCMB 	= 000467	#30-1219   
ORCMI 	= 000465	#30-1220   
ORCMM 	= 000466	#30-1221   
ORI   	= 000435	#30-1223   
ORM   	= 000436	#30-1224   
OUT   	= 000057	#30-1226   
OUTBUF	= 000065	#30-1227   
OUTMSG	  001712 RG	 190-7504  #190-7504   190-7504   193-7571   193-7571  
OUTPUT	= 000067	#30-1228   
PAG   	= 000010	#7-247     
PAGMSG	  001435 RG	 184-7394  #184-7394   184-7394  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 22

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

PARERC	  000662 R	 58-2538    58-2538    59-2550    59-2550    59-2561    59-2561    60-2586    60-2586   #61-2605   
                         61-2621    61-2621    62-2642    62-2642   
PARERX	  000506 R	#58-2539    59-2572    60-2594    62-2665   
PARMSG	  000011 RG	#39-1731    61-2606   
PARNAM	  000021 RG	 35-1486   #39-1733    156-6440   158-6513   163-6669  
PARUEC	  000734 R	 58-2531   #61-2618   
PAR$$E	= 000000	#1-51       39-1730   
PAR$$K	= 000126	#1-55       39-1730   
PAR$$V	= 000016	#1-50       39-1730   
PCMSG 	  001046 RG	 178-7163  #178-7163   178-7163  
PC.AFI	= 000020	#13-511    
PC.AT0	= 000004	#13-513    
PC.AT1	= 000010	#13-512    
PC.BIS	= 000400	#13-507    
PC.CY0	= 004000	#13-504    
PC.CY1	= 002000	#13-505    
PC.FOV	= 001000	#13-506    
PC.FUF	= 000002	#13-514    
PC.LIP	= 000040	#13-510    
PC.NDV	= 000001	#13-515    
PC.OVF	= 010000	#13-503    
PC.UIO	= 000100	#13-509    
PC.USR	= 000200	#13-508    
PERCLR	= 001000	#87-3839   
PE.ALL	= 000037	#9-339     
PE.CES	= 000001	#9-334      9-339     
PE.CRM	= 000004	#9-336      9-339     
PE.DRM	= 000002	#9-335      9-339     
PE.FMP	= 000010	#9-337      9-339     
PE.FSS	= 000020	#9-338      9-339     
PHYS  	= 100000	#87-3839   
PI    	= 000004	#7-246     
PIDENT	= 000000	#87-3839   
PIMSG 	  001127 RG	 178-7187  #178-7187   178-7187   184-7396   184-7396  
POP   	= 000262	#30-1230   
POPJ  	= 000263	#30-1231   
PRGMSG	  001215 RG	 179-7221  #179-7221   179-7221   187-7443   187-7443  
PRI7  	= 000340	#87-3839   
PRMFM 	  002306 R	*244-9463   244-9464  #244-9495  
PROMPT	  000030 RG	#39-1735    163-6681  
PROPNT	= 000021	#87-3839   
PRTOFF	= 004000	#87-3839   
PRVMSG	  000755 RG	 175-7099  #175-7099   175-7099   176-7120   176-7120   177-7135   177-7135   178-7208   178-7208  
PR0   	= 000000	#87-3839   
PR1   	= 000040	#87-3839   
PR2   	= 000100	#87-3839   
PR3   	= 000140	#87-3839   
PR4   	= 000200	#87-3839   
PR5   	= 000240	#87-3839   
PR6   	= 000300	#87-3839   
PR7   	= 000340	#87-3839   
PS    	= 177776	#87-3839    160-6598  *160-6598  *160-6603  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 23

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

PSTMSG	  001721 RG	 190-7506  #190-7506   190-7506   193-7573   193-7573  
PSWW1 	= 000005	#87-3839   
PSWW10	= 000014	#87-3839   
PSWW11	= 000015	#87-3839   
PSWW12	= 000016	#87-3839   
PSWW13	= 000017	#87-3839   
PSWW2 	= 000006	#87-3839   
PSWW3 	= 000007	#87-3839   
PSWW4 	= 000010	#87-3839   
PSWW5 	= 000011	#87-3839   
PSWW6 	= 000012	#87-3839   
PSWW7 	= 000013	#87-3839   
PS.NRM	= 001416	#16-641     143-5956  
PTLERM	  003065 R	#181-7339   181-7339  
PTOATM	  000270 R	 68-2876   #68-2895   
PTRTEM	  000151 R	 64-2716   #67-2838   
PTRTHM	  000221 R	 67-2823   #67-2840   
PULSE 	= 000020	#87-3839   
PUSH  	= 000261	#30-1233   
PUSHJ 	= 000260	#30-1234   
QRESMS	  000552 RG	 174-7054  #174-7054   174-7054  
QSAVMS	  000560 RG	 174-7056  #174-7056   174-7056  
QSIZE 	= 000023	#87-3839   
QTRMSG	  001542 RG	 185-7421  #185-7421   185-7421  
QUTMSG	  000701 RG	 174-7080  #174-7080   174-7080  
Q.BYCT	= 000016	#21-815     224-8712   260-10106  260-10115 
Q.IBUF	= 000014	#21-813    
Q.IOAE	= 000012	#70-3093   #71-3156   #72-3204   #72-3207   #72-3210   #73-3254   #74-3314   #75-3367   #224-8709  
                        #260-10103 #260-10112 #260-10121 #260-10126 
Q.IOEF	= 000006	#70-3093   #71-3156   #72-3204   #72-3207   #72-3210   #73-3254   #74-3314   #75-3367   #224-8709  
                        #260-10103 #260-10112 #260-10121 #260-10126 
Q.IOFN	= 000002	#70-3093   #71-3156    71-3158   #72-3204   #72-3207   #72-3210   #73-3254    73-3256   #74-3314   
                        #75-3367    75-3369   #224-8709  #260-10103 #260-10112 #260-10121 #260-10126 
Q.IOLU	= 000004	#70-3093    70-3095   #71-3156    71-3159   #72-3204   #72-3207   #72-3210   #73-3254    73-3257   
                        #74-3314   #75-3367    75-3370   #224-8709  #260-10103 #260-10112 #260-10121 #260-10126 
Q.IOPL	= 000014	#21-812     21-813     21-814     21-815     21-816    #70-3093    70-3096   #71-3156    71-3160   
                        #72-3204   #72-3207   #72-3210   #73-3254    73-3258   #74-3314   #75-3367    75-3371   #224-8709  
                         224-8711  #260-10103  260-10105 #260-10112  260-10114 #260-10121 #260-10126 
Q.IOPR	= 000007	#70-3093   #71-3156   #72-3204   #72-3207   #72-3210   #73-3254   #74-3314   #75-3367   #224-8709  
                        #260-10103 #260-10112 #260-10121 #260-10126 
Q.IOSB	= 000010	#70-3093   #71-3156   #72-3204   #72-3207   #72-3210   #73-3254   #74-3314   #75-3367   #224-8709  
                        #260-10103 #260-10112 #260-10121 #260-10126 
Q.OBUF	= 000014	#21-814    
Q.OVFC	= 000020	#21-816     260-10107  260-10116 
Q0    	  000126 RG	#35-1529   
Q1    	  000134 RG	#35-1530   
Q2    	  000142 RG	#35-1531   
Q3    	  000150 RG	#35-1532   
RAMIS0	= 010000	#87-3839   
RDCPT1	  004270 R	 129-5372  #131-5437  
RDCPT2	  004250 R	 130-5391  #130-5418  
RDCPT3	  004260 R	 129-5373   130-5388  #130-5426  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 24

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

RDCRME	  006504 R	 134-5569  #134-5596  
REAFRD	  002570 R	 80-3576    80-3578   #80-3585   
REGMSG	  001132 RG	 178-7189  #178-7189   178-7189  
REGTAB	  007240 R	 216-8352  #217-8375  
RELEAS	= 000071	#30-1236   
REMMSG	  001230 RG	 179-7226  #179-7226   179-7226  
RENAME	= 000055	#30-1237   
REPIRC	  011122 R	 172-6944  #172-6950  
RESETT	  004334 R	 141-5832  #141-5858  
RESMSG	  000566 RG	 174-7058  #174-7058   174-7058  
RFMAD0	= 100000	#87-3839   
RFMAD1	= 040000	#87-3839   
RFMAD2	= 020000	#87-3839   
RFMAD3	= 010000	#87-3839   
RGDTEN	= 000310 RG	#95-4113   
RLDMSG	  001735 RG	 190-7508  #190-7508   190-7508   193-7575   193-7575  
RM    	= 000010	#87-3839   
RMSG  	  000541 RG	 174-7049  #174-7049   174-7049  
ROT   	= 000241	#30-1239   
ROTC  	= 000245	#30-1240   
RPMERM	  003115 R	#181-7341   181-7341  
RPTMSG	  000543 RG	 174-7051  #174-7051   174-7051   190-7510   190-7510   193-7577   193-7577  
RSTEND	= 004342 R	 141-5844  #141-5865  
RSTMSG	  000574 RG	 174-7060  #174-7060   174-7060  
RTYMSG	  001744 RG	 190-7512  #190-7512   190-7512   193-7579   193-7579  
RUNMSG	  000604 RG	 174-7062  #174-7062   174-7062  
SAVMSG	  000610 RG	 174-7064  #174-7064   174-7064  
SBRMSG	  001161 RG	 178-7198  #178-7198   178-7198  
SCD   	= 000040	#87-3839   
SCFERM	  003155 R	#181-7343   181-7343  
SCRMSG	  001165 RG	 178-7200  #178-7200   178-7200  
SEPMSG	  001326 RG	 180-7252  #180-7252   180-7252  
SETA  	= 000424	#30-1242   
SETAB 	= 000427	#30-1243   
SETAI 	= 000425	#30-1244   
SETAM 	= 000426	#30-1245   
SETCA 	= 000450	#30-1247   
SETCAB	= 000453	#30-1248   
SETCAI	= 000451	#30-1249   
SETCAM	= 000452	#30-1250   
SETCM 	= 000460	#30-1252   
SETCMB	= 000463	#30-1253   
SETCMI	= 000461	#30-1254   
SETCMM	= 000462	#30-1255   
SETM  	= 000414	#31-1257   
SETMB 	= 000417	#31-1258   
SETMI 	= 000415	#31-1259   
SETMM 	= 000416	#31-1260   
SETMSG	  000615 RG	 174-7066  #174-7066   174-7066  
SETO  	= 000474	#31-1262   
SETOB 	= 000477	#31-1263   
SETOI 	= 000475	#31-1264   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 25

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

SETOM 	= 000476	#31-1265   
SETSTS	= 000060	#31-1267   
SETZ  	= 000400	#31-1269   
SETZB 	= 000403	#31-1270   
SETZI 	= 000401	#31-1271   
SETZM 	= 000402	#31-1272   
SHOMSG	  000621 RG	 174-7068  #174-7068   174-7068  
SHUMSG	  000626 RG	 174-7070  #174-7070   174-7070  
SKIERM	  003204 R	#181-7344   181-7344  
SKIP  	= 000330	#31-1274   
SKIPA 	= 000334	#31-1275   
SKIPE 	= 000332	#31-1276   
SKIPG 	= 000337	#31-1277   
SKIPGE	= 000335	#31-1278   
SKIPL 	= 000331	#31-1279   
SKIPLE	= 000333	#31-1280   
SKIPN 	= 000336	#31-1281   
SLOMSG	  001552 RG	 185-7423  #185-7423   185-7423  
SOJ   	= 000360	#31-1283   
SOJA  	= 000364	#31-1284   
SOJE  	= 000362	#31-1285   
SOJG  	= 000367	#31-1286   
SOJGE 	= 000365	#31-1287   
SOJL  	= 000361	#31-1288   
SOJLE 	= 000363	#31-1289   
SOJN  	= 000366	#31-1290   
SOS   	= 000370	#31-1292   
SOSA  	= 000374	#31-1293   
SOSE  	= 000372	#31-1294   
SOSG  	= 000377	#31-1295   
SOSGE 	= 000375	#31-1296   
SOSL  	= 000371	#31-1297   
SOSLE 	= 000373	#31-1298   
SOSN  	= 000376	#31-1299   
SPCEST	  001646 R	 62-2646   #62-2670   
SPCMSG	  001403 RG	 183-7373  #183-7373   183-7373  
SPFERM	  003261 R	#181-7345   181-7345  
SSTLEN	= 000010  G	#36-1667   
SSTTBE	= 000334 RG	#36-1668    64-2713   
STAMSG	  002124 R	 217-8378  #217-8389  
STAT  	= 174434	#87-3839   
STATO 	= 000061	#31-1301   
STATUS	= 000022	#31-1302   #87-3839   
STATZ 	= 000063	#31-1303   
STPCI 	  004242 R	#117-4985   117-4990  
STRMSG	  000637 RG	 174-7072  #174-7072   174-7072  
STSW1 	= ******  GX	*160-6600  
STUCAE	  007454 R	 152-6210  #152-6231  
STUUNL	  007462 R	 152-6228  #152-6234  
ST.CED	= 000100	#12-456     12-471    
ST.CLE	= 000001	#12-469     12-471    
ST.CTD	= 040000	#12-441    
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 26

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

ST.CTE	= 010000	#12-445     12-471    
ST.DW1	= 002000	#12-448    
ST.DXD	= 000004	#12-464    
ST.EBS	= 000100	#12-455    
ST.EDB	= 004000	#12-446    
ST.EPE	= 000020	#12-459     12-471     56-2423   
ST.IDS	= 000010	#12-463    
ST.IEN	= 000040	#12-458    
ST.ION	= 000001	#12-468    
ST.MBZ	= 000000	#12-473     94-4086   
ST.MOD	= 000010	#12-461    
ST.MPE	= 001000	#12-449     12-471    
ST.NST	= 000040	#12-457    
ST.RIZ	= 010000	#12-444    
ST.RST	= 011121	#12-471    
ST.SEP	= 000004	#12-465    
ST.STE	= 000002	#12-467    
ST.TED	= 000200	#12-453    
ST.TER	= 000002	#12-466    
ST.TXD	= 100000	#12-439    
ST.TXE	= 020000	#12-442    
ST.XDB	= 000400	#12-451    
SUB   	= 000274	#32-1305   
SUBB  	= 000277	#32-1306   
SUBI  	= 000275	#32-1307   
SUBM  	= 000276	#32-1308   
SWPMSG	  000645 RG	 174-7074  #174-7074   174-7074  
SWR   	= 177570	#87-3839   
SWSLLT	= 100000	#87-3839   
SXCT  	= 000106	#32-1310   
SZIERM	  003311 R	#181-7346   181-7346  
TAAERM	  003345 R	#181-7348   181-7348  
TAKMSG	  000653 RG	 174-7076  #174-7076   174-7076  
TC.CON	= 000377	#22-875    
TC.CTC	= 000002	#22-872     50-2223    66-2796   
TC.ERR	= 000000	#22-874     47-2119    49-2190    49-2193    51-2261    54-2367    56-2429    70-3080    70-3082   
                         71-3150    72-3198    73-3248    74-3308    75-3361    80-3590    85-3799    88-3878    94-4076   
                         97-4178    101-4316   101-4320   101-4323   101-4326   104-4456   106-4511   108-4608   111-4709  
                         115-4887   117-4982   134-5597   152-6232   152-6235   155-6402   159-6552   167-6805   167-6808  
                         167-6811   172-6951   199-7761   224-8699   224-8702   227-8819   229-8904   230-8981   236-9214  
                         237-9254   239-9316   239-9319  
TC.RST	= 000001	#22-873    
TDC   	= 000650	#32-1312   
TDCA  	= 000654	#32-1313   
TDCE  	= 000652	#32-1314   
TDCN  	= 000656	#32-1315   
TDMSG0	  000345 R	 166-6783  #167-6816  
TDN   	= 000610	#32-1317   
TDNA  	= 000614	#32-1318   
TDNE  	= 000612	#32-1319   
TDNN  	= 000616	#32-1320   
TDO   	= 000670	#32-1322   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 27

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

TDOA  	= 000674	#32-1323   
TDOE  	= 000672	#32-1324   
TDON  	= 000676	#32-1325   
TDZ   	= 000630	#32-1327   
TDZA  	= 000634	#32-1328   
TDZE  	= 000632	#32-1329   
TDZN  	= 000636	#32-1330   
TENAD1	= 174410	#87-3839   
TENAD2	= 174412	#87-3839   
TENMSG	  001005 RG	 176-7112  #176-7112   176-7112   178-7191   178-7191   186-7432   186-7432   192-7542   192-7542  
TFRMSG	  002014 R	 213-8258  #214-8303  
TFWMSG	  002031 R	 213-8265  #214-8305  
TFXMSG	  002046 R	 213-8272  #214-8307  
THSMSG	  000766 RG	 175-7101  #175-7101   175-7101   176-7122   176-7122   177-7137   177-7137   178-7210   178-7210  
TLC   	= 000641	#32-1332   
TLCA  	= 000645	#32-1333   
TLCE  	= 000643	#32-1334   
TLCN  	= 000647	#32-1335   
TLN   	= 000601	#32-1337   
TLNA  	= 000605	#32-1338   
TLNE  	= 000603	#32-1339   
TLNN  	= 000607	#32-1340   
TLO   	= 000661	#32-1342   
TLOA  	= 000665	#32-1343   
TLOE  	= 000663	#32-1344   
TLON  	= 000667	#32-1345   
TLZ   	= 000621	#32-1347   
TLZA  	= 000625	#32-1348   
TLZE  	= 000623	#32-1349   
TLZN  	= 000627	#32-1350   
TOBM  	= 000004	#87-3839   
TOIP  	= 000002	#87-3839   
TOIT  	= 000001	#87-3839   
TORERM	  003402 R	#181-7349   181-7349  
TO10  	= 000200	#87-3839   
TO10AD	= 174420	#87-3839   
TO10BC	= 174414	#87-3839   
TO10BM	= 000001	#87-3839   
TO10DB	= 000400	#87-3839   
TO10DN	= 100000	#87-3839   
TO10DT	= 174424	#87-3839   
TO10ER	= 020000	#87-3839   
TO11  	= 000100	#87-3839   
TO11AD	= 174422	#87-3839   
TO11BC	= 174416	#87-3839   
TO11BM	= 020000	#87-3839   
TO11DB	= 004000	#87-3839   
TO11DN	= 000200	#87-3839   
TO11DT	= 174426	#87-3839   
TO11ER	= 000002	#87-3839   
TPDDCK	  011364 R	 198-7712  #199-7760  
TPDDVD	  007232 R	#197-7699   198-7727  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 28

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

TPDDVS	  007224 R	#197-7697   198-7726  
TPDRMN	  007216 R	#197-7695   198-7715   198-7725   199-7753  
TRADDR	  007250 R	 219-8446   219-8457  #220-8478  
TRC   	= 000640	#32-1352   
TRCA  	= 000644	#32-1353   
TRCE  	= 000642	#32-1354   
TRCN  	= 000646	#32-1355   
TRDATA	  007256 R	 219-8451   219-8461  #220-8480  
TRKMSG	  001752 RG	 190-7515  #190-7515   190-7515   193-7582   193-7582  
TRN   	= 000600	#33-1357   
TRNA  	= 000604	#33-1358   
TRNE  	= 000602	#33-1359   
TRNN  	= 000606	#33-1360   
TRO   	= 000660	#33-1362   
TROA  	= 000664	#33-1363   
TROE  	= 000662	#33-1364   
TRON  	= 000666	#33-1365   
TRZ   	= 000620	#33-1367   
TRZA  	= 000624	#33-1368   
TRZE  	= 000622	#33-1369   
TRZN  	= 000626	#33-1370   
TR.ALL	= 000077	#13-498    
TR.DEP	= 000020	#13-496     13-498     99-4257   
TR.DTE	= 000040	#13-497     13-498     94-4065   
TR.EXM	= 000010	#13-495     13-498     99-4241   
TR.FRD	= 000002	#13-493     13-498     106-4504  
TR.FWR	= 000004	#13-494     13-498     108-4599  
TR.FXC	= 000001	#13-492     13-498     111-4701  
TSC   	= 000651	#33-1372   
TSCA  	= 000655	#33-1373   
TSCAMB	  010746 R	 165-6757  #167-6803  
TSCE  	= 000653	#33-1374   
TSCN  	= 000657	#33-1375   
TSCNSK	  010760 R	 165-6766  #167-6807  
TSCWRM	  010766 R	 165-6769  #167-6810  
TSN   	= 000611	#33-1377   
TSNA  	= 000615	#33-1378   
TSNE  	= 000613	#33-1379   
TSNN  	= 000617	#33-1380   
TSO   	= 000671	#33-1382   
TSOA  	= 000675	#33-1383   
TSOE  	= 000673	#33-1384   
TSON  	= 000677	#33-1385   
TSZ   	= 000631	#33-1387   
TSZA  	= 000635	#33-1388   
TSZE  	= 000633	#33-1389   
TSZN  	= 000637	#33-1390   
TTCALL	= 000051	#33-1392   
TTYMSG	  001567 RG	 188-7456  #188-7456   188-7456  
TT.OUT	= ******  GX	 160-6600  
TYODIE	  015766 R	 257-9993   257-9995   257-9997   257-9999   257-10006  257-10008 #258-10028 
UBRMSG	  001144 RG	 178-7193  #178-7193   178-7193  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 29

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

UCDMSG	  001761 RG	 192-7544  #192-7544   192-7544  
UECMSG	  000060 R	 61-2632   #61-2636   
UECMSP	  001644 R	 61-2620   #61-2631   
UGETF 	= 000073	#33-1394   
UJEN  	= 000100	#33-1396   
UNASG1	= 000032	#87-3839   
UNASG2	= 000033	#87-3839   
UNASG3	= 000034	#87-3839   
UNASG4	= 000035	#87-3839   
UNASG5	= 000036	#87-3839   
UNASG6	= 000037	#87-3839   
UNLERM	  003432 R	#181-7351   181-7351  
UNMMSG	  000660 RG	 174-7078  #174-7078   174-7078  
USETI 	= 000074	#33-1398   
USETO 	= 000075	#33-1399   
USRMSG	  001237 RG	 179-7228  #179-7228   179-7228   187-7445   187-7445  
VERMSG	  002004 RG	 193-7585  #193-7585   193-7585  
VFYERM	  003470 R	#181-7353   181-7353  
VF.DSP	= 000060	#21-830    
VF.FFD	= 000061	#21-831    
VF.INT	= 000000	#21-828     260-10103  260-10112 
VF.OVR	= 000053	#21-832    
VF.PRM	= 000044	#21-833    
VF.SSP	= 000040	#21-829    
VMAMSG	  001150 RG	 178-7194  #178-7194   178-7194  
VMHMSG	  001154 RG	 178-7196  #178-7196   178-7196  
WEP   	= 000010	#87-3839   
WHAMSG	  000706 RG	 174-7082  #174-7082   174-7082  
WRCRME	  007710 R	 155-6372  #155-6401  
WRIFWT	  003326 R	 85-3785    85-3794   #85-3798   
WRMERM	  003524 R	#181-7355   181-7355  
XCT   	= 000256	#33-1401   
XCTMSG	  000713 RG	 174-7084  #174-7084   174-7084  
XOR   	= 000430	#33-1403   
XORB  	= 000433	#33-1404   
XORI  	= 000431	#33-1405   
XORM  	= 000432	#33-1406   
XR    	= 000000	#117-4986   117-4986  
XTOERM	  003635 R	#181-7359   181-7359  
YORERM	  003605 R	#181-7357   181-7357  
ZERMSG	  000717 RG	 174-7086  #174-7086   174-7086  
ZSTOP 	= 040000	#87-3839   
$DIV  	= ******  GX	 259-10060  259-10060 
$DSW  	= ******  GX	 50-2219    100-4285  
$$    	= 000037	#47-2103    47-2103   #47-2109    47-2109   #48-2146    48-2146   #51-2254    51-2254   #53-2314   
                         53-2314   #56-2422    56-2422   #58-2538    58-2538   #59-2550    59-2550   #59-2555    59-2555   
                        #59-2561    59-2561   #59-2565    59-2565   #59-2568    59-2568   #59-2571    59-2571   #60-2586   
                         60-2586   #60-2591    60-2591   #60-2593    60-2593   #61-2607    61-2607   #61-2609    61-2609   
                        #61-2611    61-2611   #61-2613    61-2613   #61-2614    61-2614   #61-2621    61-2621   #61-2623   
                         61-2623   #62-2642    62-2642   #62-2643    62-2643   #62-2651    62-2651   #62-2652    62-2652   
                        #62-2653    62-2653   #62-2662    62-2662   #64-2715    64-2715   #64-2717    64-2717   #64-2719   
                         64-2719   #64-2720    64-2720   #66-2786    66-2786   #66-2792    66-2792   #66-2806    66-2806   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 30

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

                        #66-2808    66-2808   #67-2824    67-2824   #67-2825    67-2825   #67-2831    67-2831   #68-2872   
                         68-2872   #68-2875    68-2875   #68-2877    68-2877   #68-2879    68-2879   #68-2880    68-2880   
                        #68-2885    68-2885   #71-3133    71-3133   #71-3134    71-3134   #74-3307    74-3307   #77-3447   
                         77-3447   #77-3453    77-3453   #77-3462    77-3462   #77-3464    77-3464   #78-3507    78-3507   
                        #79-3540    79-3540   #80-3589    80-3589   #81-3637    81-3637   #81-3641    81-3641   #82-3681   
                         82-3681   #83-3712    83-3712   #84-3750    84-3750   #84-3754    84-3754   #84-3756    84-3756   
                        #85-3795    85-3795   #88-3869    88-3869   #88-3873    88-3873   #89-3906    89-3906   #89-3916   
                         89-3916   #90-3949    90-3949   #97-4157    97-4157   #97-4162    97-4162   #97-4164    97-4164   
                        #99-4234    99-4234   #99-4243    99-4243   #99-4250    99-4250   #99-4259    99-4259   #100-4289  
                         100-4289  #100-4292   100-4292  #103-4398   103-4398  #103-4400   103-4400  #104-4417   104-4417  
                        #104-4419   104-4419  #104-4420   104-4420  #104-4425   104-4425  #104-4428   104-4428  #104-4441  
                         104-4441  #104-4447   104-4447  #104-4451   104-4451  #106-4506   106-4506  #108-4601   108-4601  
                        #111-4703   111-4703  #113-4782   113-4782  #113-4785   113-4785  #113-4788   113-4788  #114-4837  
                         114-4837  #114-4842   114-4842  #115-4850   115-4850  #115-4861   115-4861  #115-4874   115-4874  
                        #115-4878   115-4878  #115-4879   115-4879  #116-4927   116-4927  #116-4930   116-4930  #117-4967  
                         117-4967  #117-4969   117-4969  #117-4991   117-4991  #119-5027   119-5027  #119-5029   119-5029  
                        #119-5038   119-5038  #119-5044   119-5044  #120-5085   120-5085  #120-5087   120-5087  #122-5117  
                         122-5117  #122-5120   122-5120  #122-5126   122-5126  #122-5129   122-5129  #122-5134   122-5134  
                        #124-5191   124-5191  #124-5197   124-5197  #124-5203   124-5203  #124-5207   124-5207  #124-5212  
                         124-5212  #126-5250   126-5250  #126-5252   126-5252  #126-5258   126-5258  #126-5261   126-5261  
                        #126-5265   126-5265  #126-5268   126-5268  #127-5307   127-5307  #127-5309   127-5309  #128-5318  
                         128-5318  #128-5319   128-5319  #128-5321   128-5321  #128-5326   128-5326  #128-5333   128-5333  
                        #128-5336   128-5336  #128-5338   128-5338  #129-5369   129-5369  #129-5377   129-5377  #132-5499  
                         132-5499  #132-5501   132-5501  #134-5570   134-5570  #134-5572   134-5572  #134-5580   134-5580  
                        #134-5585   134-5585  #134-5587   134-5587  #134-5590   134-5590  #134-5592   134-5592  #135-5627  
                         135-5627  #135-5629   135-5629  #136-5666   136-5666  #136-5668   136-5668  #136-5673   136-5673  
                        #137-5706   137-5706  #137-5710   137-5710  #138-5739   138-5739  #138-5742   138-5742  #139-5774  
                         139-5774  #139-5783   139-5783  #141-5831   141-5831  #141-5833   141-5833  #141-5836   141-5836  
                        #141-5837   141-5837  #141-5838   141-5838  #141-5839   141-5839  #141-5843   141-5843  #141-5848  
                         141-5848  #142-5900   142-5900  #143-5950   143-5950  #143-5955   143-5955  #145-5993   145-5993  
                        #145-5994   145-5994  #145-5997   145-5997  #145-5999   145-5999  #145-6003   145-6003  #146-6034  
                         146-6034  #147-6063   147-6063  #147-6067   147-6067  #148-6097   148-6097  #150-6161   150-6161  
                        #152-6212   152-6212  #152-6213   152-6213  #152-6215   152-6215  #152-6216   152-6216  #152-6219  
                         152-6219  #153-6265   153-6265  #154-6303   154-6303  #154-6305   154-6305  #154-6308   154-6308  
                        #155-6377   155-6377  #155-6385   155-6385  #155-6390   155-6390  #155-6393   155-6393  #155-6394  
                         155-6394  #155-6396   155-6396  #155-6398   155-6398  #158-6514   158-6514  #159-6523   159-6523  
                        #159-6525   159-6525  #159-6533   159-6533  #159-6534   159-6534  #159-6548   159-6548  #160-6587  
                         160-6587  #160-6591   160-6591  #160-6594   160-6594  #160-6602   160-6602  #162-6658   162-6658  
                        #163-6670   163-6670  #163-6678   163-6678  #163-6682   163-6682  #163-6694   163-6694  #163-6696  
                         163-6696  #163-6699   163-6699  #165-6737   165-6737  #165-6738   165-6738  #165-6748   165-6748  
                        #166-6778   166-6778  #166-6780   166-6780  #166-6782   166-6782  #166-6784   166-6784  #166-6792  
                         166-6792  #166-6793   166-6793  #172-6941   172-6941  #172-6943   172-6943  #172-6945   172-6945  
                        #172-6947   172-6947  #198-7708   198-7708  #198-7710   198-7710  #198-7711   198-7711  #199-7740  
                         199-7740  #199-7742   199-7742  #199-7745   199-7745  #200-7805   200-7805  #207-8030   207-8030  
                        #207-8033   207-8033  #207-8036   207-8036  #207-8054   207-8054  #207-8061   207-8061  #210-8162  
                         210-8162  #210-8163   210-8163  #211-8175   211-8175  #211-8177   211-8177  #211-8178   211-8178  
                        #211-8186   211-8186  #211-8188   211-8188  #211-8189   211-8189  #214-8282   214-8282  #214-8287  
                         214-8287  #214-8290   214-8290  #214-8291   214-8291  #214-8292   214-8292  #214-8294   214-8294  
                        #216-8350   216-8350  #216-8353   216-8353  #216-8354   216-8354  #216-8363   216-8363  #216-8369  
                         216-8369  #218-8430   218-8430  #218-8435   218-8435  #219-8456   219-8456  #219-8458   219-8458  
                        #219-8459   219-8459  #219-8460   219-8460  #219-8462   219-8462  #219-8463   219-8463  #219-8470  
                         219-8470  #222-8574   222-8574  #222-8580   222-8580  #223-8625   223-8625  #223-8634   223-8634  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 31

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

                        #223-8639   223-8639  #223-8648   223-8648  #223-8649   223-8649  #226-8783   226-8783  #226-8784  
                         226-8784  #227-8812   227-8812  #228-8850   228-8850  #228-8853   228-8853  #228-8854   228-8854  
                        #228-8856   228-8856  #228-8858   228-8858  #228-8861   228-8861  #228-8863   228-8863  #229-8876  
                         229-8876  #229-8883   229-8883  #229-8884   229-8884  #229-8885   229-8885  #230-8946   230-8946  
                        #230-8959   230-8959  #230-8961   230-8961  #231-9035   231-9035  #232-9062   232-9062  #232-9065  
                         232-9065  #233-9095   233-9095  #234-9130   234-9130  #234-9133   234-9133  #235-9173   235-9173  
                        #236-9201   236-9201  #237-9232   237-9232  #237-9237   237-9237  #237-9238   237-9238  #237-9243  
                         237-9243  #237-9246   237-9246  #237-9251   237-9251  #238-9294   238-9294  #238-9297   238-9297  
                        #243-9420   243-9420  #244-9465   244-9465  #244-9473   244-9473  #244-9474   244-9474  #244-9478  
                         244-9478  #244-9479   244-9479  #244-9480   244-9480  #244-9482   244-9482  #244-9483   244-9483  
                        #249-9709   249-9709  #249-9714   249-9714  #251-9789   251-9789  #252-9811   252-9811  #252-9814  
                         252-9814  #252-9816   252-9816  #253-9859   253-9859  #253-9863   253-9863  #253-9872   253-9872  
                        #254-9901   254-9901  #256-9954   256-9954  #256-9956   256-9956  #257-10014  257-10014 #259-10060 
                         259-10060 #259-10067  259-10067 
$$A   	= 000000	#117-4986   117-4986  
$$B   	= 000000	#117-4986   117-4986  
$$C   	= 000002	#117-4986   117-4986  
$$D   	= 000176	#117-4986   117-4986  
$$E   	= 000017	#117-4986   117-4986  
$$F   	= 000000	#117-4986   117-4986  
$$PASS	= 000000	 174-7013   174-7015   174-7017   174-7019   174-7021   174-7023   174-7025   174-7027   174-7029  
                         174-7031   174-7033   174-7039   174-7041   174-7043   174-7045   174-7047   174-7049   174-7051  
                         174-7054   174-7056   174-7058   174-7060   174-7062   174-7064   174-7066   174-7068   174-7070  
                         174-7072   174-7074   174-7076   174-7078   174-7080   174-7082   174-7084   174-7086   175-7093  
                         175-7095   175-7097   175-7099   175-7101   176-7108   176-7110   176-7112   176-7114   176-7116  
                         176-7118   176-7120   176-7122   177-7129   177-7131   177-7133   177-7135   177-7137   178-7144  
                         178-7146   178-7148   178-7150   178-7152   178-7154   178-7156   178-7159   178-7161   178-7163  
                         178-7167   178-7169   178-7171   178-7173   178-7175   178-7177   178-7179   178-7181   178-7183  
                         178-7185   178-7187   178-7189   178-7191   178-7193   178-7194   178-7196   178-7198   178-7200  
                         178-7202   178-7204   178-7206   178-7208   178-7210   179-7217   179-7219   179-7221   179-7226  
                         179-7228   180-7236   180-7238   180-7240   180-7242   180-7244   180-7246   180-7248   180-7250  
                         180-7252   180-7254   180-7256   180-7258   182-7366   183-7373   183-7375   184-7382   184-7384  
                         184-7386   184-7388   184-7390   184-7392   184-7394   184-7396   185-7403   185-7405   185-7407  
                         185-7409   185-7411   185-7413   185-7415   185-7417   185-7419   185-7421   185-7423   186-7430  
                         186-7432   187-7439   187-7441   187-7443   187-7445   188-7452   188-7454   188-7456   189-7463  
                         189-7465   189-7467   189-7469   189-7471   189-7473   189-7475   190-7482   190-7484   190-7486  
                         190-7488   190-7490   190-7492   190-7494   190-7496   190-7498   190-7500   190-7502   190-7504  
                         190-7506   190-7508   190-7510   190-7512   190-7515   192-7542   192-7544   193-7551   193-7553  
                         193-7555   193-7557   193-7559   193-7561   193-7563   193-7565   193-7567   193-7569   193-7571  
                         193-7573   193-7575   193-7577   193-7579   193-7582   193-7585  #193-7590  
$$$AB 	= 000001	 178-7167  #178-7167   178-7167  
$$$ABO	= 000001	 174-7015  #174-7015   174-7015  
$$$ACB	= 000004	 182-7366  #182-7366   182-7366   183-7375  #183-7375   183-7375   190-7482  #190-7482   190-7482  
                         193-7551  #193-7551   193-7551  
$$$AD 	= 000001	 178-7144  #178-7144   178-7144  
$$$ADX	= 000001	 178-7146  #178-7146   178-7146  
$$$ALL	= 000002	 184-7382  #184-7382   184-7382   189-7463  #189-7463   189-7463  
$$$APR	= 000001	 180-7242  #180-7242   180-7242  
$$$AR 	= 000003	 176-7108  #176-7108   176-7108   178-7148  #178-7148   178-7148   189-7465  #189-7465   189-7465  
$$$ARG	= 000006	#70-3088    70-3088   #70-3088    70-3088   #70-3088    70-3088   #70-3093    70-3093   #70-3093   
                         70-3093   #70-3093    70-3093   #70-3093    70-3093   #70-3093    70-3093   #70-3093    70-3093   
                        #70-3093    70-3093   #71-3156    71-3156   #71-3156    71-3156   #71-3156    71-3156   #71-3156   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 32

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

                         71-3156   #71-3156    71-3156   #71-3156    71-3156   #71-3156    71-3156   #72-3204    72-3204   
                        #72-3204    72-3204   #72-3204    72-3204   #72-3204    72-3204   #72-3204    72-3204   #72-3207   
                         72-3207   #72-3207    72-3207   #72-3207    72-3207   #72-3207    72-3207   #72-3207    72-3207   
                        #72-3207    72-3207   #72-3207    72-3207   #72-3210    72-3210   #73-3254    73-3254   #73-3254   
                         73-3254   #73-3254    73-3254   #73-3254    73-3254   #73-3254    73-3254   #73-3254    73-3254   
                        #74-3314    74-3314   #74-3314    74-3314   #74-3314    74-3314   #74-3314    74-3314   #74-3314   
                         74-3314   #75-3367    75-3367   #75-3367    75-3367   #75-3367    75-3367   #80-3575    80-3575   
                         80-3575    80-3575    80-3575    80-3575    80-3575    80-3575    80-3575    80-3575    80-3575   
                         80-3575   #85-3784    85-3784    85-3784    85-3784    85-3784    85-3784    85-3784    85-3784   
                         85-3784    85-3784    85-3784    85-3784   #160-6595   160-6595   160-6595   160-6595   160-6595  
                         160-6595   160-6595   160-6595   160-6595   160-6595   160-6595   160-6595  #224-8709   224-8709  
                        #224-8709   224-8709  #224-8709   224-8709  #260-10103  260-10103 #260-10103  260-10103 #260-10103 
                         260-10103 #260-10103  260-10103 #260-10112  260-10112 #260-10112  260-10112 #260-10112  260-10112 
                        #260-10112  260-10112 #260-10121  260-10121 #260-10126  260-10126 
$$$ARX	= 000001	 178-7150  #178-7150   178-7150  
$$$AUG	= 000001	 180-7250  #180-7250   180-7250  
$$$BR 	= 000001	 178-7152  #178-7152   178-7152  
$$$BRX	= 000001	 178-7154  #178-7154   178-7154  
$$$CLK	= 000002	 190-7484  #190-7484   190-7484   193-7553  #193-7553   193-7553  
$$$CLR	= 000001	 174-7017  #174-7017   174-7017  
$$$CNT	= 000001	 174-7019  #174-7019   174-7019  
$$$CON	= 000002	 190-7486  #190-7486   190-7486   193-7555  #193-7555   193-7555  
$$$CPU	= 000001	 184-7384  #184-7384   184-7384  
$$$CRA	= 000001	 178-7169  #178-7169   178-7169  
$$$CRL	= 000001	 178-7171  #178-7171   178-7171  
$$$CRM	= 000002	 185-7405  #185-7405   185-7405   189-7467  #189-7467   189-7467  
$$$CTL	= 000001	 185-7409  #185-7409   185-7409  
$$$DAT	= 000002	 190-7488  #190-7488   190-7488   193-7557  #193-7557   193-7557  
$$$DCR	= 000004	 175-7093  #175-7093   175-7093   176-7114  #176-7114   176-7114   177-7129  #177-7129   177-7129  
                         178-7202  #178-7202   178-7202  
$$$DEC	= 000001	 180-7258  #180-7258   180-7258  
$$$DEP	= 000001	 174-7021  #174-7021   174-7021  
$$$DIS	= 000001	 174-7023  #174-7023   174-7023  
$$$DPT	= 000001	 185-7407  #185-7407   185-7407  
$$$DRA	= 000001	 178-7173  #178-7173   178-7173  
$$$DRM	= 000001	 189-7469  #189-7469   189-7469  
$$$DTE	= 000002	 178-7175  #178-7175   178-7175   184-7386  #184-7386   184-7386  
$$$EBR	= 000001	 178-7177  #178-7177   178-7177  
$$$EBS	= 000001	 178-7156  #178-7156   178-7156  
$$$ELE	= 000003	 176-7110  #176-7110   176-7110   178-7179  #178-7179   178-7179   186-7430  #186-7430   186-7430  
$$$ENB	= 000001	 189-7471  #189-7471   189-7471  
$$$ERR	= 000001	 184-7388  #184-7388   184-7388  
$$$EXA	= 000001	 174-7025  #174-7025   174-7025  
$$$EXT	= 000001	 185-7411  #185-7411   185-7411  
$$$FEB	= 000001	 180-7238  #180-7238   180-7238  
$$$FER	= 000001	 178-7181  #178-7181   178-7181  
$$$FLG	= 000001	 178-7183  #178-7183   178-7183  
$$$FLT	= 000002	 190-7490  #190-7490   190-7490   193-7559  #193-7559   193-7559  
$$$FM 	= 000002	 178-7159  #178-7159   178-7159   189-7473  #189-7473   189-7473  
$$$FRD	= 000001	 174-7027  #174-7027   174-7027  
$$$FSS	= 000002	 189-7475  #189-7475   189-7475   190-7492  #190-7492   190-7492  
$$$FUL	= 000001	 185-7417  #185-7417   185-7417  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 33

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

$$$FWR	= 000001	 174-7029  #174-7029   174-7029  
$$$FXC	= 000001	 174-7031  #174-7031   174-7031  
$$$GLB	= ******	 70-3088    70-3088    70-3088    70-3088    70-3093    70-3093    70-3093    70-3093    70-3093   
                         70-3093    70-3093    70-3093    71-3156    71-3156    71-3156    71-3156    71-3156    71-3156   
                         71-3156    71-3156    72-3204    72-3204    72-3204    72-3204    72-3204    72-3204    72-3204   
                         72-3204    72-3207    72-3207    72-3207    72-3207    72-3207    72-3207    72-3207    72-3207   
                         72-3210    72-3210    72-3210    72-3210    72-3210    72-3210    72-3210    72-3210    73-3254   
                         73-3254    73-3254    73-3254    73-3254    73-3254    73-3254    73-3254    74-3314    74-3314   
                         74-3314    74-3314    74-3314    74-3314    74-3314    74-3314    75-3367    75-3367    75-3367   
                         75-3367    75-3367    75-3367    75-3367    75-3367    91-3973    91-3973    91-3973    91-3973   
                         91-3973    224-8709   224-8709   224-8709   224-8709   224-8709   224-8709   224-8709   224-8709  
                         260-10103  260-10103  260-10103  260-10103  260-10103  260-10103  260-10103  260-10103  260-10112 
                         260-10112  260-10112  260-10112  260-10112  260-10112  260-10112  260-10112  260-10121  260-10121 
                         260-10121  260-10121  260-10121  260-10121  260-10121  260-10121  260-10126  260-10126  260-10126 
                         260-10126  260-10126  260-10126  260-10126  260-10126 
$$$HAR	= 000001	 193-7561  #193-7561   193-7561  
$$$HLF	= 000001	 185-7419  #185-7419   185-7419  
$$$HLT	= 000001	 174-7033  #174-7033   174-7033  
$$$INC	= 000006	 175-7095  #175-7095   175-7095   176-7116  #176-7116   176-7116   177-7131  #177-7131   177-7131  
                         178-7204  #178-7204   178-7204   190-7494  #190-7494   190-7494   193-7563  #193-7563   193-7563  
$$$INI	= 000002	 174-7039  #174-7039   174-7039   184-7390  #184-7390   184-7390  
$$$INT	= 000001	 185-7413  #185-7413   185-7413  
$$$IO 	= 000001	 184-7392  #184-7392   184-7392  
$$$JAN	= 000001	 180-7236  #180-7236   180-7236  
$$$JMP	= 000001	 174-7041  #174-7041   174-7041  
$$$JUL	= 000001	 180-7248  #180-7248   180-7248  
$$$JUN	= 000001	 180-7246  #180-7246   180-7246  
$$$KL 	= 000001	 178-7185  #178-7185   178-7185  
$$$KLI	= 000002	 190-7496  #190-7496   190-7496   193-7565  #193-7565   193-7565  
$$$LOG	= 000001	 188-7452  #188-7452   188-7452  
$$$LPT	= 000001	 188-7454  #188-7454   188-7454  
$$$M  	= 000001	 174-7043  #174-7043   174-7043  
$$$MAR	= 000001	 180-7240  #180-7240   180-7240  
$$$MAY	= 000001	 180-7244  #180-7244   180-7244  
$$$MCR	= 000001	 174-7047  #174-7047   174-7047  
$$$MEM	= 000002	 190-7498  #190-7498   190-7498   193-7567  #193-7567   193-7567  
$$$MGN	= 000001	 185-7415  #185-7415   185-7415  
$$$MNT	= 000002	 179-7217  #179-7217   179-7217   187-7439  #187-7439   187-7439  
$$$MQ 	= 000001	 178-7161  #178-7161   178-7161  
$$$MRK	= 000001	 174-7045  #174-7045   174-7045  
$$$NOT	= 000001	 190-7500  #190-7500   190-7500  
$$$NOV	= 000001	 180-7256  #180-7256   180-7256  
$$$NRM	= 000001	 185-7403  #185-7403   185-7403  
$$$NUL	= 000001	 174-7013  #174-7013   174-7013  
$$$NXT	= 000004	 175-7097  #175-7097   175-7097   176-7118  #176-7118   176-7118   177-7133  #177-7133   177-7133  
                         178-7206  #178-7206   178-7206  
$$$OCT	= 000001	 180-7254  #180-7254   180-7254  
$$$OFS	= 000002	 190-7502  #190-7502   190-7502   193-7569  #193-7569   193-7569  
$$$OPR	= 000002	 179-7219  #179-7219   179-7219   187-7441  #187-7441   187-7441  
$$$OST	= 000014	#70-3088    70-3088    70-3088   #70-3088    70-3088    70-3088   #70-3088    70-3088    70-3088   
                        #70-3088   #70-3093    70-3093    70-3093   #70-3093    70-3093    70-3093   #70-3093    70-3093   
                         70-3093   #70-3093    70-3093    70-3093   #70-3093    70-3093    70-3093   #70-3093    70-3093   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 34

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

                         70-3093   #70-3093    70-3093   #71-3156    71-3156    71-3156   #71-3156    71-3156    71-3156   
                        #71-3156    71-3156    71-3156   #71-3156    71-3156    71-3156   #71-3156    71-3156    71-3156   
                        #71-3156    71-3156    71-3156   #71-3156    71-3156   #72-3204    72-3204    72-3204   #72-3204   
                         72-3204    72-3204   #72-3204    72-3204    72-3204   #72-3204    72-3204    72-3204   #72-3204   
                         72-3204    72-3204   #72-3204    72-3204    72-3204   #72-3204    72-3204   #72-3207    72-3207   
                         72-3207   #72-3207    72-3207    72-3207   #72-3207    72-3207    72-3207   #72-3207    72-3207   
                         72-3207   #72-3207    72-3207    72-3207   #72-3207    72-3207    72-3207   #72-3207    72-3207   
                        #72-3210    72-3210    72-3210   #72-3210    72-3210    72-3210   #72-3210    72-3210    72-3210   
                        #72-3210    72-3210    72-3210   #72-3210    72-3210    72-3210   #72-3210    72-3210    72-3210   
                        #72-3210    72-3210   #73-3254    73-3254    73-3254   #73-3254    73-3254    73-3254   #73-3254   
                         73-3254    73-3254   #73-3254    73-3254    73-3254   #73-3254    73-3254    73-3254   #73-3254   
                         73-3254    73-3254   #73-3254    73-3254   #74-3314    74-3314    74-3314   #74-3314    74-3314   
                         74-3314   #74-3314    74-3314    74-3314   #74-3314    74-3314    74-3314   #74-3314    74-3314   
                         74-3314   #74-3314    74-3314    74-3314   #74-3314    74-3314   #75-3367    75-3367    75-3367   
                        #75-3367    75-3367    75-3367   #75-3367    75-3367    75-3367   #75-3367    75-3367    75-3367   
                        #75-3367    75-3367    75-3367   #75-3367    75-3367    75-3367   #75-3367    75-3367   #91-3973   
                         91-3973    91-3973   #91-3973    91-3973    91-3973   #91-3973    91-3973    91-3973   #91-3973   
                         91-3973    91-3973   #91-3973   #224-8709   224-8709   224-8709  #224-8709   224-8709   224-8709  
                        #224-8709   224-8709   224-8709  #224-8709   224-8709   224-8709  #224-8709   224-8709   224-8709  
                        #224-8709   224-8709   224-8709  #224-8709   224-8709  #260-10103  260-10103  260-10103 #260-10103 
                         260-10103  260-10103 #260-10103  260-10103  260-10103 #260-10103  260-10103  260-10103 #260-10103 
                         260-10103  260-10103 #260-10103  260-10103  260-10103 #260-10103  260-10103 #260-10112  260-10112 
                         260-10112 #260-10112  260-10112  260-10112 #260-10112  260-10112  260-10112 #260-10112  260-10112 
                         260-10112 #260-10112  260-10112  260-10112 #260-10112  260-10112  260-10112 #260-10112  260-10112 
                        #260-10121  260-10121  260-10121 #260-10121  260-10121  260-10121 #260-10121  260-10121  260-10121 
                        #260-10121  260-10121  260-10121 #260-10121  260-10121  260-10121 #260-10121  260-10121  260-10121 
                        #260-10121  260-10121 #260-10126  260-10126  260-10126 #260-10126  260-10126  260-10126 #260-10126 
                         260-10126  260-10126 #260-10126  260-10126  260-10126 #260-10126  260-10126  260-10126 #260-10126 
                         260-10126  260-10126 #260-10126  260-10126 
$$$OUT	= 000002	 190-7504  #190-7504   190-7504   193-7571  #193-7571   193-7571  
$$$PAG	= 000001	 184-7394  #184-7394   184-7394  
$$$PC 	= 000001	 178-7163  #178-7163   178-7163  
$$$PI 	= 000002	 178-7187  #178-7187   178-7187   184-7396  #184-7396   184-7396  
$$$PRG	= 000002	 179-7221  #179-7221   179-7221   187-7443  #187-7443   187-7443  
$$$PRV	= 000004	 175-7099  #175-7099   175-7099   176-7120  #176-7120   176-7120   177-7135  #177-7135   177-7135  
                         178-7208  #178-7208   178-7208  
$$$PST	= 000002	 190-7506  #190-7506   190-7506   193-7573  #193-7573   193-7573  
$$$QRE	= 000001	 174-7054  #174-7054   174-7054  
$$$QSA	= 000001	 174-7056  #174-7056   174-7056  
$$$QTR	= 000001	 185-7421  #185-7421   185-7421  
$$$QUT	= 000001	 174-7080  #174-7080   174-7080  
$$$R  	= 000001	 174-7049  #174-7049   174-7049  
$$$REG	= 000001	 178-7189  #178-7189   178-7189  
$$$REM	= 000001	 179-7226  #179-7226   179-7226  
$$$RES	= 000001	 174-7058  #174-7058   174-7058  
$$$RLD	= 000002	 190-7508  #190-7508   190-7508   193-7575  #193-7575   193-7575  
$$$RPT	= 000003	 174-7051  #174-7051   174-7051   190-7510  #190-7510   190-7510   193-7577  #193-7577   193-7577  
$$$RST	= 000001	 174-7060  #174-7060   174-7060  
$$$RTY	= 000002	 190-7512  #190-7512   190-7512   193-7579  #193-7579   193-7579  
$$$RUN	= 000001	 174-7062  #174-7062   174-7062  
$$$SAV	= 000001	 174-7064  #174-7064   174-7064  
$$$SBR	= 000001	 178-7198  #178-7198   178-7198  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 35

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

$$$SCR	= 000001	 178-7200  #178-7200   178-7200  
$$$SEP	= 000001	 180-7252  #180-7252   180-7252  
$$$SET	= 000001	 174-7066  #174-7066   174-7066  
$$$SHO	= 000001	 174-7068  #174-7068   174-7068  
$$$SHU	= 000001	 174-7070  #174-7070   174-7070  
$$$SLO	= 000001	 185-7423  #185-7423   185-7423  
$$$SPC	= 000001	 183-7373  #183-7373   183-7373  
$$$STR	= 000001	 174-7072  #174-7072   174-7072  
$$$SWP	= 000001	 174-7074  #174-7074   174-7074  
$$$TAK	= 000001	 174-7076  #174-7076   174-7076  
$$$TEN	= 000004	 176-7112  #176-7112   176-7112   178-7191  #178-7191   178-7191   186-7432  #186-7432   186-7432  
                         192-7542  #192-7542   192-7542  
$$$THS	= 000004	 175-7101  #175-7101   175-7101   176-7122  #176-7122   176-7122   177-7137  #177-7137   177-7137  
                         178-7210  #178-7210   178-7210  
$$$TRK	= 000002	 190-7515  #190-7515   190-7515   193-7582  #193-7582   193-7582  
$$$TTY	= 000001	 188-7456  #188-7456   188-7456  
$$$T1 	= 000006	#70-3088    70-3088    70-3088   #70-3088    70-3088    70-3088   #70-3088    70-3088    70-3088   
                        #80-3575    80-3575   #85-3784    85-3784   #160-6595   160-6595  
$$$UBR	= 000001	 178-7193  #178-7193   178-7193  
$$$UCD	= 000001	 192-7544  #192-7544   192-7544  
$$$UNM	= 000001	 174-7078  #174-7078   174-7078  
$$$USR	= 000002	 179-7228  #179-7228   179-7228   187-7445  #187-7445   187-7445  
$$$VER	= 000001	 193-7585  #193-7585   193-7585  
$$$VMA	= 000001	 178-7194  #178-7194   178-7194  
$$$VMH	= 000001	 178-7196  #178-7196   178-7196  
$$$WHA	= 000001	 174-7082  #174-7082   174-7082  
$$$XCT	= 000001	 174-7084  #174-7084   174-7084  
$$$ZER	= 000001	 174-7086  #174-7086   174-7086  
.ABRTC	= ******  GX	 174-7015  
.ACBLK	  000000 RG	#35-1481   
.APRWD	  000002 RG	#35-1483    35-1579   
.ATCID	  000460 RG	 257-9992  #260-10120 
.ATLMD	= 000033	#21-839    
.BRCLK	= 005000	#87-3839   
.BRMBC	  003334 RG	#88-3868   
.BUFSZ	= 001000  G	#69-2952    69-2971    69-3008    80-3575    85-3784    85-3791   
.BURST	  003340 RG	#88-3870    115-4878   115-4878  
.CCMDN	  000004 RG	#35-1485    61-2610   *156-6440  *158-6513  *158-6516  *163-6669   166-6781  
.CDIBC	= 000412 R	#224-8712  
.CDIBP	= 000410 R	#224-8711  
.CDINP	  000374 RG	 223-8641  #224-8708   224-8711   224-8712  
.CDOBC	= 000432 RG	*223-8637   254-9903  *255-9939   257-10001 *258-10023 #260-10106 
.CDOBP	= 000430 RG	*223-8636   257-10000 *258-10024 #260-10105 
.CDOFC	= 000434 RG	#260-10107 
.CDOUT	  000414 RG	 257-9994  #260-10102  260-10105  260-10106  260-10107 
.CECLK	= 004000	#87-3839   
.CESCK	  000000 RG	#47-2099    97-4157    97-4157    100-4289   100-4289   147-6063   147-6063   159-6548   159-6548  
.CHTAB	  001502 RG	#40-1775    48-2147    48-2154    49-2184    51-2249    52-2286    53-2315    59-2553    169-6868  
                         223-8655   238-9288  
.CIBFL	= 000214  G	#38-1695    224-8709  
.CIBFR	  000362 RG	#38-1693    38-1695    223-8618   223-8632   223-8636   223-8645   224-8709  
.CISTS	  000006 RG	#35-1487    223-8626   223-8633   223-8637   223-8643   223-8646   223-8650   224-8709  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 36

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.CKARG	  000070 RG	#48-2145    228-8854   228-8854   228-8861   228-8861   230-8959   230-8959   236-9201   236-9201  
.CKCOL	  000130 RG	#49-2182   
.CKCTC	  000166 RG	#50-2217    165-6737   165-6737  
.CKEOC	  000214 RG	#51-2247    156-6441   166-6778   166-6778   172-6945   172-6945  
.CKEOS	  000256 RG	#52-2284    229-8884   229-8884  
.CKOBJ	  000300 RG	#53-2313   
.CKRNP	  000316 RG	#54-2343   
.CKRUN	  000326 RG	#54-2348   
.CKSYM	  000374 RG	 48-2146    48-2146    51-2254    51-2254    53-2314    53-2314   #55-2392    55-2395    165-6738  
                         165-6738   228-8850   228-8850  
.CLDFB	  003370 RG	#89-3905    122-5120   122-5120   128-5319   128-5319   141-5839   141-5839  
.CLDFR	  003374 RG	#89-3907   
.CLDFW	  003404 RG	 89-3906    89-3906   #89-3912    124-5203   124-5203   126-5252   126-5252   134-5587   134-5587  
                         155-6394   155-6394  
.CLKWD	  000012 RG	#35-1489    124-5192  *129-5380   130-5393   145-5996  
.CLOSE	  002114 RG	 74-3307    74-3307   #75-3346    77-3462    77-3462    80-3589    80-3589    160-6587   160-6587  
                         160-6594   160-6594  
.CLRCM	= ******  GX	 174-7017  
.CLRFF	  003420 RG	#90-3941    114-4842   114-4842   117-4967   117-4967   152-6212   152-6212  
.CLRMR	= 006000	#87-3839   
.CLRUN	= 010000	#87-3839   
.CMDTB	  004350 RG	 158-6512  #174-7012  
.CMNDL	= 000430  G	#38-1703    224-8665  
.COBFL	= 000204  G	#38-1699    258-10025 
.COBFR	  000576 RG	 35-1613   #38-1697    258-10024  258-10026  260-10103  260-10112 
.COMEF	= ******  GX	*141-5851  
.COMMA	= 000054	#21-837    
.COMND	  001012 RG	#38-1701    38-1703    163-6695  
.CONBT	= 012000	#87-3839   
.CONTC	= ******  GX	 174-7019  
.COSTS	  000014 RG	#35-1491    257-9996   260-10103 
.CRAMA	  000020 RG	#35-1493   *135-5628  
.CRAMR	  000022 RG	#35-1495    134-5574   134-5593  
.CRAMW	  000044 RG	#35-1499   
.CSHRG	= 164000	#87-3839   
.DBGSW	  000066 RG	#35-1504    68-2882    160-6577  
.DELET	  002100 RG	#75-3342   
.DEPAR	= ******  GX	 176-7108  
.DFBLK	  000336 RG	#37-1672    106-4531   108-4628   111-4730  
.DFRB 	  000344 RG	#37-1675    89-3909    106-4494   213-8257  
.DFRED	= ******  GX	 174-7027  
.DFWB 	  000336 RG	#37-1673    89-3914    107-4568  *122-5123  *122-5131  *124-5205   126-5253   155-6379   213-8264  
.DFWRT	= ******  GX	 174-7029  
.DFXCT	= ******  GX	 174-7031  
.DIAG1	= 000000	#10-354    
.DIAG2	= 000002	#10-355     93-4018    93-4039   
.DIAG3	= 000006	#10-357     93-4026    93-4047   
.DISCC	= ******  GX	 174-7023  
.DOCMD	  007730 RG	#158-6504   163-6699   163-6699   172-6947   172-6947  
.DPBFR	  000070 RG	#35-1507    102-4346  
.DPBFX	  000076 RG	#35-1509   
.DPDPB	  000312 RG	 101-4307   101-4308  #102-4345  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 37

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.DPETB	  004674 RG	#175-7092  
.DPKLM	  003762 RG	#99-4247   
.DPOEL	= ******  GX	 176-7110  
.DPOKL	= ******  GX	 176-7112  
.DPOSC	= ******  GX	 174-7021  
.DPOSD	= ******  GX	 175-7093   176-7114  
.DPOSI	= ******  GX	 175-7095   176-7116  
.DPOSN	= ******  GX	 175-7097   176-7118  
.DPOSP	= ******  GX	 175-7099   176-7120  
.DPOSZ	= ******  GX	 175-7101   176-7122  
.DPOTB	  004734 RG	#176-7107  
.DPTRK	  012454 RG	 99-4259    99-4259   #218-8434  
.DREG 	  000352 RG	#37-1678   *94-4056    94-4063    95-4111    106-4531   108-4628   111-4730  
.DRLTC	= 015000	#87-3839   
.DSACF	= 066000	#87-3839   
.DSIOJ	= 065000	#87-3839   
.DTAB 	  004232 R	 99-4249   #101-4306  
.DTCID	  000474 RG	 257-9998  #260-10125 
.DTDI1	  000352 RG	#37-1679   
.DTDI2	  000354 RG	#37-1681   
.DTDI3	  000360 RG	#37-1685   
.DTDW1	  003530 RG	 47-2103    47-2103   #93-4034    104-4420   104-4420   104-4428   104-4428   114-4837   114-4837  
                         115-4850   115-4850   115-4879   115-4879   117-4969   117-4969   152-6219   152-6219  
.DTDW2	  003536 RG	#93-4038   
.DTDW3	  003556 RG	#93-4046   
.DTSTA	  003546 RG	 56-2422    56-2422   #93-4042   
.DTSTS	  000356 RG	#37-1683   
.DTSTW	= 000004	#10-356     93-4022    93-4043   
.DTTRK	  012332 RG	 94-4067   #216-8346  
.DWDW1	  003454 RG	#93-4013   
.DWDW2	  003462 RG	#93-4017    142-5900   142-5900  
.DWDW3	  003502 RG	#93-4025    142-5902  
.DWSTA	  003472 RG	#93-4021   
.EBCLK	  003634 RG	#97-4155    104-4419   104-4419  
.EBPCK	  000410 RG	#56-2421    159-6549  
.EDELA	  000104 RG	#35-1519    68-2878   
.EDKLA	  000106 RG	#35-1521    102-4346   102-4364  
.EDKLX	  000114 RG	#35-1523   
.EIOJA	= 067000	#87-3839   
.ELDDW	  000122 RG	#35-1525   
.ELEDW	  000124 RG	#35-1527   
.ELNCK	  013144 RG	#225-8738   226-8784   226-8784  
.ENTER	  001664 RG	#72-3185   
.ETAB 	  004222 R	 99-4233   #101-4300  
.EXAD 	= ******  GX	 178-7144  
.EXADX	= ******  GX	 178-7146  
.EXAMC	= ******  GX	 174-7025  
.EXAMD	= ******  GX	 177-7129   178-7202  
.EXAMF	= ******  GX	 178-7183  
.EXAMI	= ******  GX	 177-7131   178-7204  
.EXAMK	= ******  GX	 178-7185  
.EXAMN	= ******  GX	 177-7133   178-7206  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 38

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.EXAMP	= ******  GX	 177-7135   178-7208  
.EXAMZ	= ******  GX	 177-7137   178-7210  
.EXARR	= ******  GX	 178-7148  
.EXARX	= ******  GX	 178-7150  
.EXBFR	  000156 RG	#35-1533    102-4364  
.EXBRR	= ******  GX	 178-7152  
.EXBRX	= ******  GX	 178-7154  
.EXCRA	= ******  GX	 178-7169  
.EXCRL	= ******  GX	 178-7171  
.EXCTC	= ******  GX	 174-7084  
.EXCTF	  004150 RG	#103-4391   117-4991   117-4991  
.EXDPB	  000324 RG	 101-4301   101-4302  #102-4363  
.EXDPM	  004020 RG	 99-4234    99-4234    99-4250    99-4250   #100-4269  
.EXDRA	= ******  GX	 178-7173  
.EXDTE	= ******  GX	 178-7175  
.EXEBR	= ******  GX	 178-7177  
.EXEBS	= ******  GX	 178-7156  
.EXECT	  004226 RG	#104-4414  
.EXETB	  005016 RG	#177-7128  
.EXFER	= ******  GX	 178-7181  
.EXFMR	= ******  GX	 178-7159  
.EXITP	  010110 RG	#160-6575   224-8696   258-10029 
.EXKLM	  003730 RG	#99-4231   
.EXMEL	= ******  GX	 178-7179  
.EXMKL	= ******  GX	 178-7191  
.EXMPI	= ******  GX	 178-7187  
.EXMQR	= ******  GX	 178-7161  
.EXMTB	  005056 RG	#178-7143   178-7166  
.EXREG	= ******  GX	 178-7189  
.EXSBR	= ******  GX	 178-7198  
.EXSCR	= ******  GX	 178-7200  
.EXTND	  002004 RG	#74-3290    85-3795    85-3795   
.EXTRK	  012442 RG	 99-4243    99-4243   #218-8429  
.EXUBR	= ******  GX	 178-7193  
.EXVAB	= ******  GX	 178-7167  
.EXVMA	= ******  GX	 178-7194  
.EXVMH	= ******  GX	 178-7196  
.EXVPC	= ******  GX	 178-7163  
.FEMOD	= ******  GX	 54-2357    165-6768   166-6788  
.FISTS	  001662 RG	#69-2949    70-3072    70-3093    71-3139    71-3142    71-3156    72-3188    72-3192    72-3204   
                         72-3207    73-3254    74-3293    74-3314    75-3353    75-3367    80-3575    80-3577    80-3580   
                         85-3784    85-3786    85-3793   
.FNDIR	  001452 RG	#70-3062    71-3133    71-3133   
.FREAD	  004362 RG	 97-4164    97-4164   #106-4486   128-5326   128-5326   129-5377   129-5377   132-5499   132-5499  
                         134-5580   134-5580   136-5666   136-5666   137-5710   137-5710   138-5739   138-5739   139-5783  
                         139-5783  
.FRTRK	  012172 RG	 106-4506   106-4506  #213-8254  
.FWRIT	  004444 RG	#107-4566   116-4930   116-4930   120-5087   120-5087   122-5126   122-5126   122-5134   122-5134  
                         124-5207   124-5207   124-5212   124-5212   126-5261   126-5261   126-5268   126-5268   128-5321  
                         128-5321   134-5590   134-5590   134-5592   134-5592   141-5843   141-5843   141-5848   141-5848  
                         154-6308   154-6308   155-6385   155-6385   155-6393   155-6393   155-6396   155-6396   155-6398  
                         155-6398  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 39

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.FWTRK	  012212 RG	 108-4601   108-4601  #213-8261  
.FXCT 	  004566 RG	 88-3875    90-3949    90-3949    97-4162    97-4162   #110-4658   113-4785   113-4785   119-5029  
                         119-5029   120-5089   127-5307   127-5307   128-5333   128-5333   128-5338   128-5338   134-5572  
                         134-5572   147-6067   147-6067   150-6161   150-6161   153-6265   153-6265  
.FXTRK	  012232 RG	 111-4703   111-4703  #213-8268  
.GFNR 	= 102000	#87-3839   
.GTCMD	  012610 RG	 163-6696   163-6696  #222-8570  
.GTELN	  013220 RG	#226-8778   230-8961   230-8961  
.GTEXP	  013706 RG	 228-8858   228-8858   229-8883   229-8883  #231-9034   237-9251   237-9251  
.GTFCT	  014114 RG	 233-9095   233-9095   234-9130   234-9130  #235-9164   237-9232   237-9232   237-9237   237-9237  
                         237-9243   237-9243  
.GTKLA	  013250 RG	#227-8811  
.GTKLN	  013302 RG	 172-6941   172-6941  #228-8848  
.GTLIN	  012644 RG	 222-8574   222-8574  #223-8616  
.GTNBR	  014410 RG	 235-9173   235-9173  #238-9279  
.GTNUM	  013302 RG	 226-8783   226-8783   227-8812   227-8812  #228-8847  
.GTOPC	  013514 RG	 228-8856   228-8856  #230-8937  
.GTTRM	  014002 RG	 231-9035   231-9035   232-9062   232-9062  #233-9094  
.HALTC	= ******  GX	 174-7033  
.INATT	  002750 RG	#69-2983    80-3573    80-3586    160-6584  
.INBBC	  001712 RG	#69-2966   *78-3504    78-3505   *78-3511    79-3538   *79-3544   *80-3580   
.INBUF	  001716 RG	#69-2970    80-3575    80-3579   
.INCHC	  000164 RG	#35-1535   *223-8619  *224-8664   224-8665   224-8671  *238-9280  *238-9290   239-9312  
.INDFG	  001660 RG	#69-2945   *77-3459   *80-3588    160-6582  *160-6586   223-8620  
.INFN 	  001666 RG	#69-2956   
.INFNB	  002716 RG	#69-2973    77-3460   
.INICL	= 070000	#87-3839   
.INICP	= ******  GX	 35-1617   
.INITC	= ******  GX	 174-7039  
.INPOS	  001714 RG	#69-2968    78-3501   *78-3503    78-3509   *78-3510    79-3542   *79-3543   *80-3579   
.INVBN	  001706 RG	#69-2964   *80-3571   *80-3572    80-3573    80-3575    80-3575   
.IRADX	  000166 RG	#35-1537   *66-2794    172-6935  *172-6936  *172-6942   236-9206  *237-9222  *237-9226  *237-9230  
                        *237-9233   238-9284  
.IRLTC	= 014000	#87-3839   
.JUMPC	= ******  GX	 174-7041  
.KLCON	  004736 RG	 104-4441   104-4441  #113-4774  
.KLDFR	  000336 RG	 60-2576   *106-4487   106-4491  #106-4530   213-8256  
.KLDFW	  000350 RG	 60-2580   *107-4567   108-4587   108-4591  #108-4627   213-8263  
.KLDFX	  000362 RG	 60-2584   *110-4659   110-4663   110-4666  #111-4729   213-8270  
.KLE  	= ******  GX	 223-8625   223-8625  
.KLEDF	  000176 RG	#35-1541   *163-6676   223-8623  
.KLEPT	  000200 RG	#35-1543   
.KLERQ	= ******  GX	 159-6544  *160-6596   163-6674  
.KLEVL	  000202 RG	#35-1545   
.KLFLG	= ******  GX	*47-2112   *47-2114    54-2353   *101-4315  *101-4319   103-4392   104-4416  *108-4596   110-4672  
                        *110-4674   110-4678  *110-4680  *110-4687  *110-4693   113-4776   116-4931   117-4960   119-5042  
                        *127-5308  *128-5339   148-6094   148-6096   163-6671  
.KLGO 	  004744 RG	#113-4777   116-4932  
.KLHLT	  005034 RG	#114-4835   116-4927   116-4927   117-4962   120-5085   120-5085  
.KLINC	  000170 RG	#35-1539   
.KLMTB	  005366 RG	#179-7216  
.KLMT1	  005412 RG	#179-7225  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 40

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.KLRST	  005310 RG	#119-5019   146-6034   146-6034  
.KLSNP	  000203 RG	#35-1547   
.KLST 	  005164 RG	#116-4925  
.KLSTP	  005212 RG	#117-4959   148-6097   148-6097  
.KLXCT	  005442 RG	 103-4400   103-4400   104-4417   104-4417  #120-5084  
.LCRDL	= 052000	#87-3839   
.LCRDR	= 051000	#87-3839   
.LCRM1	= 057000	#87-3839   
.LCRM2	= 056000	#87-3839   
.LCRM3	= 055000	#87-3839   
.LCRM4	= 054000	#87-3839   
.LCRM5	= 053000	#87-3839   
.LDAR 	= 077000	#87-3839   
.LDBRC	  005466 RG	#122-5116  
.LDBRG	  005472 RG	 88-3873    88-3873   #122-5118  
.LDBRL	= 043000	#87-3839   
.LDBRR	= 042000	#87-3839   
.LDCK1	= 046000	#87-3839   
.LDCK2	= 047000	#87-3839   
.LDCLK	  005570 RG	#124-5190   141-5836   141-5836   143-5955   143-5955   145-5999   145-5999  
.LDCRA	  005666 RG	#126-5247   134-5570   134-5570   152-6215   152-6215   155-6377   155-6377  
.LDDIS	= 045000	#87-3839   
.LDOBC	= 000454 RG	*223-8646  *257-10001  257-10013 #260-10115 
.LDOBP	= 000452 RG	*223-8645  *257-10000  257-10012 #260-10114 
.LDOFC	= 000456 R	#260-10116 
.LDOUT	  000436 RG	 257-10005 #260-10111  260-10114  260-10115  260-10116 
.LDPAR	  005606 RG	#124-5196   141-5837   141-5837   145-6003   145-6003  
.LDRJD	= 064000	#87-3839   
.LDRJV	= 063000	#87-3839   
.LDRM1	= 060000	#87-3839   
.LDRM2	= 061000	#87-3839   
.LDRM3	= 062000	#87-3839   
.LDSEL	= 044000	#87-3839   
.LDSTS	  000212 RG	#35-1558    257-10007  260-10112 
.LDZFL	  000220 RG	#35-1562   *214-8281  *216-8347  *245-9529  *247-9618   249-9707  *249-9712   252-9820  *252-9824  
.LGLWD	  000216 RG	#35-1560   *158-6515   159-6527  *159-6538  *163-6697  
.LOKUP	  001574 RG	#71-3131   
.MARKC	= ******  GX	 174-7045  
.MEMFL	  000222 RG	#35-1564   
.MEMRS	= 076000	#87-3839   
.MISC 	= ******  GX	*160-6597  
.MONTB	  005430 RG	#180-7235  
.MRCLR	  006002 RG	#127-5304   141-5838   141-5838  
.MTDPB	  000266 RG	 90-3944   #91-3972   
.NOERR	= ******  GX	*47-2110   *149-6129  
.NOHLT	= ******  GX	*90-3947   *113-4795  *119-5047  *146-6035  
.NOTSW	  000224 RG	#35-1566   
.NSETB	  005542 RG	 58-2528   #181-7265  
.NULLC	  007716 RG	#156-6439   174-7013  
.OPEN 	  001736 RG	#73-3237   
.ORADX	  000226 RG	#35-1568   *66-2795    245-9533   245-9537   246-9572   246-9576   247-9621   247-9625   248-9660  
                         248-9664   252-9813  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 41

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.OTATT	  004050 RG	#69-3020   *74-3295   *74-3296   *74-3300   *74-3301    74-3302    81-3633   *81-3635   *84-3741   
                        *84-3742   *85-3788   *85-3789    160-6592  
.OTBBC	  003012 RG	#69-3003   *82-3678    82-3679   *82-3684    83-3710   *83-3715    84-3743    84-3745    84-3751   
                        *85-3791   
.OTBUF	  003016 RG	#69-3007    74-3301    84-3742    85-3784    85-3790   
.OTFN 	  002766 RG	#69-2993   
.OTFNB	  004016 RG	#69-3010    72-3204    72-3207   
.OTPOS	  003014 RG	#69-3005    74-3300    82-3675   *82-3677    82-3682   *82-3683    83-3713   *83-3714    84-3741   
                         84-3746   *85-3790   
.OTVBN	  003006 RG	#69-3001   *85-3782   *85-3783    85-3784    85-3784    85-3788    85-3789   
.OUTLG	  000206 RG	#35-1551   *74-3305    160-6588  *160-6590   257-10009 
.OUTLP	  000207 RG	#35-1553    257-10003 
.OUTTY	  000210 RG	#35-1555    257-9990  
.PARER	  000432 RG	#58-2513    66-2808    66-2808   
.PASS 	  000204 RG	#35-1549    244-9460  
.PCAB1	= 150000	#87-3839   
.PCAB2	= 151000	#87-3839   
.PCAB3	= 152000	#87-3839   
.PCAB4	= 153000	#87-3839   
.PEWRD	  000230 RG	#35-1570    139-5777  
.PITAB	  000232 RG	#35-1572   
.PSCWD	  000236 RG	#35-1574    124-5198  *129-5381   130-5399   145-5995  
.PTDIE	  001046 RG	#64-2706    68-2874   
.PTOAT	  001352 RG	 35-1597   #68-2869   
.PTTRP	  001124 RG	 36-1665   #66-2778   
.QUITC	= ******  GX	 174-7080  
.RCRM1	= 147000	#87-3839   
.RCRM2	= 146000	#87-3839   
.RCRM3	= 145000	#87-3839   
.RCRM4	= 144000	#87-3839   
.RCSPF	= 141000	#87-3839   
.RDCPP	  006150 RG	#129-5368   145-5994   145-5994  
.RDCRA	= ******  GX	 135-5627   135-5627  
.RDCRD	  006304 RG	#132-5495   134-5585   134-5585  
.RDCRM	  006342 RG	#134-5566  
.RDCRO	  006512 R	#135-5626  
.RDCRR	  006374 RG	#134-5573   135-5629   135-5629  
.RDFMA	  006532 RG	#136-5662   137-5706   137-5706  
.RDFMO	  006614 RG	#137-5703  
.RDFMP	  006650 RG	#138-5736  
.RDIPE	  006704 RG	 62-2643    62-2643   #139-5773  
.RDJ14	= 134000	#87-3839   
.RDJ71	= 135000	#87-3839   
.RDMAB	= 133000	#87-3839   
.RDXSV	  000240 RG	#35-1576    66-2794    66-2795   *172-6935   172-6942  
.READ 	  002440 RG	 78-3507    78-3507    79-3540    79-3540   #80-3570   
.READB	  002406 RG	 77-3453    77-3453   #79-3537   
.READR	  002224 RG	#77-3445    223-8634   223-8634  
.READW	  002330 RG	 77-3447    77-3447   #78-3500   
.RECNT	  004066 RG	#69-3028   *81-3626    81-3632   *81-3645   
.RECPT	  004070 RG	#69-3030    81-3624   *81-3625   *81-3644   
.RECRD	  004072 RG	 69-3031   #69-3032    81-3631    81-3644   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 42

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.REGRW	  000300 RG	*93-4014   *93-4018   *93-4022   *93-4026   *93-4028    93-4029    93-4030   *93-4035   *93-4039   
                        *93-4043   *93-4047   *94-4054    94-4060   #95-4107    216-8351   216-8355   216-8361   216-8365  
.REGSV	  010316 RG	 66-2786    68-2872    124-5191   124-5197   129-5369   139-5774  #162-6654   218-8430   218-8435  
.RELWD	  000242 RG	#35-1578    236-9188  
.REMOV	  001564 RG	#71-3128   
.REPTC	  011036 RG	#172-6934   174-7051  
.RESET	  006766 RG	#141-5829   143-5950   143-5950   145-5997   145-5997  
.RESQ 	= ******  GX	 174-7054  
.RESTB	  006232 RG	#184-7381  
.RESTC	= ******  GX	 174-7058  
.RESTD	  007102 RG	 100-4292   100-4292   141-5831   141-5831  #142-5898  
.RESTI	  007122 RG	#143-5947  
.RESTP	  007146 RG	 126-5250   126-5250  #145-5991  
.RPTCT	  000244 RG	#35-1580    163-6698  
.RPTPT	  000252 RG	#35-1582   *158-6510  
.RSACB	= ******  GX	 182-7366  
.RSALL	= ******  GX	 184-7382  
.RSAPR	= ******  GX	 184-7384  
.RSDTE	= ******  GX	 184-7386  
.RSERR	= ******  GX	 184-7388  
.RSPAG	= ******  GX	 184-7394  
.RSTIN	= ******  GX	 184-7390  
.RSTIO	= ******  GX	 184-7392  
.RSTKL	  007220 RG	 66-2792    66-2792    103-4402  #146-6031  
.RSTPI	= ******  GX	 184-7396  
.RSTRC	= ******  GX	 174-7060  
.RSTTB	  006204 RG	#182-7365  
.RUNCM	= ******  GX	 174-7043   174-7047   174-7049   174-7062  
.R50TB	  001442 RG	#39-1707    259-10062 
.SAVEC	= ******  GX	 174-7064  
.SAVQ 	= ******  GX	 174-7056  
.SAVTB	  006214 RG	#183-7372  
.SCACB	= ******  GX	 190-7482  
.SCCEC	= ******  GX	 185-7405  
.SCCED	= ******  GX	 185-7407  
.SCCEE	= ******  GX	 185-7409  
.SCCLK	= ******  GX	 190-7484  
.SCCLN	= ******  GX	 185-7403  
.SCCOM	= ******  GX	 187-7439  
.SCCON	= ******  GX	 190-7486  
.SCCOO	= ******  GX	 187-7441  
.SCCOP	= ******  GX	 187-7443  
.SCCOT	  006436 RG	#187-7438  
.SCCOU	= ******  GX	 187-7445  
.SCCRF	= ******  GX	 185-7417  
.SCCRH	= ******  GX	 185-7419  
.SCCRQ	= ******  GX	 185-7421  
.SCCRS	= ******  GX	 185-7423  
.SCCSE	= ******  GX	 185-7411  
.SCCSI	= ******  GX	 185-7413  
.SCCSM	= ******  GX	 185-7415  
.SCCTB	  006314 RG	#185-7402  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 43

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.SCDAT	= ******  GX	 190-7488  
.SCFSS	= ******  GX	 190-7492  
.SCINC	= ******  GX	 190-7494  
.SCKLN	= ******  GX	 190-7496  
.SCMEL	= ******  GX	 186-7430  
.SCMEM	= ******  GX	 190-7498  
.SCMKL	= ******  GX	 186-7432  
.SCMTB	  006420 RG	#186-7429  
.SCNOT	= ******  GX	 190-7500  
.SCOFS	= ******  GX	 190-7502  
.SCOTL	= ******  GX	 188-7452  
.SCOTP	= ******  GX	 188-7454  
.SCOTT	  006470 RG	#188-7451  
.SCOTY	= ******  GX	 188-7456  
.SCOUT	= ******  GX	 190-7504  
.SCPAL	= ******  GX	 189-7463  
.SCPAR	= ******  GX	 189-7465  
.SCPCR	= ******  GX	 189-7467  
.SCPDR	= ******  GX	 189-7469  
.SCPEN	= ******  GX	 189-7471  
.SCPFM	= ******  GX	 189-7473  
.SCPFS	= ******  GX	 189-7475  
.SCPST	= ******  GX	 190-7506  
.SCPTB	  006514 RG	#189-7462  
.SCRLD	= ******  GX	 190-7508  
.SCRPT	= ******  GX	 190-7510  
.SCRTY	= ******  GX	 190-7512  
.SCTRK	= ******  GX	 190-7515  
.SEAMB	  000520 RG	#59-2548    191-7523  
.SECES	  000756 RG	#62-2641    191-7525  
.SECLK	= 003000	#87-3839   
.SEFRF	  000606 RG	#60-2575    191-7527  
.SEFWF	  000614 RG	#60-2579    191-7528  
.SEFXF	  000622 RG	#60-2583    191-7529  
.SEILC	  000544 RG	#59-2558    191-7531  
.SEILS	  000544 RG	#59-2559    191-7532  
.SEIPC	  000544 RG	#59-2560    191-7533  
.SENSK	  000520 RG	#59-2549    191-7535  
.SETCM	= ******  GX	 174-7066  
.SETFN	  002166 RG	 71-3134    71-3134   #76-3404   
.SETMR	= 007000	#87-3839   
.SETRN	= 011000	#87-3839   
.SETTB	  006570 RG	#190-7481  
.SFREC	= ******  GX	 190-7490  
.SHIFT	  011130 RG	 122-5129   122-5129  #196-7650  
.SHUTC	= ******  GX	 174-7070  
.SPACE	= 000040	#21-838     39-1719    52-2288    55-2394    59-2563    224-8682   228-8859   243-9413   250-9724  
                         250-9725   250-9726   250-9727   250-9729   250-9730   250-9732   250-9733   250-9734   250-9736  
                         250-9737   250-9742   250-9746  
.SPETB	  006740 RG	 58-2515   #191-7522  
.SSCAN	  010774 RG	 165-6748   165-6748  #169-6854   169-6860   230-8946   230-8946  
.SSCLK	= 002000	#87-3839   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 44

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.SSTTB	  000316 RG	#36-1658    36-1667    64-2710   *68-2874   *68-2889   
.START	  010354 RG	 35-1585   #163-6665  
.STCLF	  007254 RG	 127-5309   127-5309  #147-6064  
.STCLK	  007246 RG	 104-4425   104-4425   113-4788   113-4788   119-5044   119-5044  #147-6061   152-6216   152-6216  
.STPCL	= 000000	#87-3839   
.STPKL	  007272 RG	 103-4398   103-4398  #148-6093  
.STPXC	  007316 RG	 88-3869    88-3869    104-4447   104-4447   115-4861   115-4861   115-4874   115-4874   122-5117  
                         122-5117   128-5318   128-5318   141-5833   141-5833   145-5993   145-5993  #149-6123   152-6213  
                         152-6213   154-6303   154-6303  
.STRCL	= 001000	#87-3839   
.STRTB	  007030 RG	#192-7541  
.STRTC	= ******  GX	 174-7072  
.STRTT	= ******  GX	 192-7542  
.STRTU	= ******  GX	 192-7544  
.STRTV	  000254 RG	#35-1584    66-2815    68-2890    166-6800  
.STRUN	  007346 RG	 104-4451   104-4451   113-4782   113-4782   119-5027   119-5027   119-5038   119-5038  #150-6156  
.STUCD	  007366 RG	#152-6208  
.SVACB	= ******  GX	 183-7375  
.SVESP	  000256 RG	#35-1586    163-6666   166-6799  
.SVKLF	  000260 RG	#35-1588   *47-2111    66-2790   *103-4401   119-5021   119-5030  *119-5050   146-6032  *146-6037  
                        *148-6096  *163-6668  
.SVPC 	= ******  GX	 183-7373  
.SWPC 	= ******  GX	 174-7074  
.SWPIP	  000262 RG	#35-1590    47-2115   *66-2779   
.SYNXC	  007470 RG	 97-4175    115-4864   128-5336   128-5336  #153-6261   154-6305   154-6305  
.TAKEC	= ******  GX	 174-7076  
.TCRLF	  015552 RG	 58-2541    64-2715    64-2715    64-2720    64-2720    66-2806    66-2806    67-2825    67-2825   
                         68-2875    68-2875    68-2880    68-2880    166-6780   166-6780   214-8294   214-8294   223-8649  
                         223-8649   244-9483   244-9483   253-9860   255-9941  #256-9951  
.TFCHR	  015504 RG	 163-6694   163-6694   222-8580   222-8580  #254-9900  
.TPADD	  011516 RG	#203-7916   207-8054   207-8054   232-9048   238-9297   238-9297  
.TPCLR	  011372 RG	 89-3916    89-3916   #200-7790   207-8036   207-8036   228-8853   228-8853   252-9811   252-9811  
.TPCMP	  011440 RG	 199-7740   199-7740  #201-7842  
.TPCOM	  011402 RG	#200-7797   200-7805   200-7805   237-9238   237-9238  
.TPDEC	  011550 RG	 159-6533   159-6533  #204-7956   211-8177   211-8177  
.TPDIV	  011160 RG	#198-7706   234-9116   252-9814   252-9814  
.TPINC	  011536 RG	 199-7745   199-7745   200-7806  #204-7949   211-8188   211-8188  
.TPMUL	  011606 RG	#207-8028   234-9120   238-9294   238-9294  
.TPNEG	  011412 RG	#200-7804   237-9246   237-9246  
.TPSHI	  011772 RG	 126-5258   126-5258   126-5265   126-5265   132-5501   132-5501   136-5668   136-5668   136-5673  
                         136-5673   138-5742   138-5742   155-6390   155-6390  #209-8106   211-8175   211-8175   211-8186  
                         211-8186   229-8876   229-8876  
.TPSHL	  012036 RG	#210-8157   234-9112  
.TPSUB	  011562 RG	 199-7742   199-7742  #205-7987   232-9052  
.TPTST	  011474 RG	 159-6525   159-6525   159-6534   159-6534   172-6943   172-6943   198-7711   198-7711  #202-7881  
                         207-8030   207-8030   207-8033   207-8033   207-8061   207-8061   210-8163   210-8163   211-8178  
                         211-8178   211-8189   211-8189   228-8863   228-8863   229-8885   229-8885   249-9709   249-9709  
                         251-9789   251-9789  
.TPXTN	  011420 RG	 198-7708   198-7708   198-7710   198-7710  #200-7809   210-8162   210-8162  
.TRKWD	  000264 RG	#35-1593    94-4065    99-4241    99-4257    106-4504   108-4599   111-4701  
.TRPEC	  000270 RG	#35-1598   *66-2785    66-2807   
.TRPIP	  000272 RG	#35-1600   *64-2707   *66-2780   *66-2801    66-2809   *66-2814   *67-2829   
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 45

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.TRPPC	  000274 RG	#35-1602   *66-2783   *68-2870   
.TRPPS	  000276 RG	#35-1604   *66-2784   *68-2871   
.TRPSB	  000300 RG	#35-1606   *66-2782    66-2788    66-2796    66-2811   
.TRPTV	  000302 RG	#35-1608    66-2798   *66-2802   
.TRP4V	  000266 RG	#35-1596   
.TSCAN	  010524 RG	 158-6514   158-6514  #165-6736  
.TYACE	  014630 RG	#244-9458  
.TYAC1	  014662 RG	#244-9467  
.TYCHR	  015520 RG	 59-2555    59-2555    59-2568    59-2568    59-2571    59-2571    61-2609    61-2609    61-2613   
                         61-2613    243-9420   243-9420   244-9473   244-9473   252-9827   253-9872   253-9872   254-9901  
                         254-9901  #255-9936   256-9954   256-9954   256-9956   256-9956   259-10067  259-10067 
.TYCOL	  014542 RG	#243-9391   244-9474   244-9474  
.TYCOM	  014552 RG	 62-2652    62-2652   #243-9396  
.TYELA	  014762 RG	#245-9528  
.TYELN	  014766 RG	 64-2719    64-2719    68-2879    68-2879    216-8363   216-8363  #245-9530  
.TYINI	  015736 RG	 163-6670   163-6670  #258-10022 
.TYKLA	  015106 RG	 219-8458   219-8458   244-9478   244-9478  #247-9617  
.TYKLN	  015156 RG	 214-8292   214-8292   219-8462   219-8462   244-9482   244-9482  #248-9657  
.TYLIN	  015446 RG	 64-2717    64-2717    67-2824    67-2824    166-6784   166-6784   166-6793   166-6793   216-8369  
                         216-8369   219-8470   219-8470  #253-9858  
.TYMIN	  014562 RG	#243-9401  
.TYMSF	  015454 RG	 163-6678   163-6678  #253-9862  
.TYMSG	  015462 RG	 60-2593    60-2593    61-2607    61-2607    61-2611    61-2611    61-2616    62-2651    62-2651   
                         62-2662    62-2662    68-2877    68-2877    77-3464    77-3464    163-6682   163-6682   166-6782  
                         166-6782   214-8282   214-8282   216-8350   216-8350   216-8353   216-8353   219-8456   219-8456  
                         244-9465   244-9465   253-9859   253-9859   253-9863   253-9863  #253-9866  
.TYNCM	  015240 RG	 246-9584  #249-9701  
.TYNUM	  015316 RG	 249-9714   249-9714  #251-9778   252-9806  
.TYOBC	  000304 RG	#35-1610   *255-9940  *258-10025 
.TYOBP	  000306 RG	#35-1612    255-9937  *255-9938  *258-10026 
.TYOUT	  015600 RG	 223-8639   223-8639   254-9905   255-9944  #257-9989  
.TYOU1	  015660 RG	 223-8648   223-8648  #257-10002 
.TYP3D	  015032 RG	 60-2591    60-2591    214-8287   214-8287  #246-9569  
.TYR50	  015772 RG	 61-2623    61-2623   #259-10054 
.TYSLS	  014572 RG	 214-8290   214-8290   219-8459   219-8459  #243-9406   244-9479   244-9479  
.TYSPC	  014602 RG	 61-2614    61-2614    62-2653    62-2653    166-6792   166-6792   214-8291   214-8291   216-8354  
                         216-8354   219-8460   219-8460   219-8463   219-8463  #243-9411   244-9480   244-9480  
.TYUPA	  014612 RG	 59-2565    59-2565   #243-9416  
.T50TB	  001472 RG	#39-1721    259-10056 
.UMRKC	= ******  GX	 174-7078  
.VFYFL	  000310 RG	#35-1614   
.WHACB	= ******  GX	 193-7551  
.WHATB	  007046 RG	#193-7550  
.WHATC	= ******  GX	 174-7068   174-7082  
.WHATV	= ******  GX	 193-7585  
.WHCON	= ******  GX	 193-7555  
.WHDAT	= ******  GX	 193-7557  
.WHINC	= ******  GX	 193-7563  
.WHKLN	= ******  GX	 193-7565  
.WHMEM	= ******  GX	 193-7567  
.WHOFS	= ******  GX	 193-7569  
.WHOUT	= ******  GX	 193-7571  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 46

SYMBOL CROSS REFERENCE                                  CREF   04.00 

SYMBOL	VALUE		REFERENCES

.WHRDW	= ******  GX	 193-7561  
.WHREC	= ******  GX	 193-7559  
.WHRLD	= ******  GX	 193-7575  
.WHRPT	= ******  GX	 193-7577  
.WHRTY	= ******  GX	 193-7579  
.WHTCL	= ******  GX	 193-7553  
.WHTPS	= ******  GX	 193-7573  
.WHTRK	= ******  GX	 193-7582  
.WRAR1	  007512 RG	#154-6304  
.WRCRM	  007534 RG	#155-6370  
.WRITB	  003030 RG	 81-3641    81-3641   #83-3709    84-3754    84-3754   
.WRITE	  003160 RG	 82-3681    82-3681    83-3712    83-3712    84-3756    84-3756   #85-3781   
.WRITR	  002616 RG	#81-3618    257-10014  257-10014 
.WRITW	  002754 RG	 81-3637    81-3637   #82-3674    84-3750    84-3750   
.WRITZ	  003060 RG	#84-3740    160-6591   160-6591  
.WRMBX	= 071000	#87-3839   
.WRTAR	  007506 RG	#154-6302  
.ZEROC	= ******  GX	 174-7086  
..DTSP	= ******  GX	 47-2109    47-2109   
..SACK	= ******  GX	 160-6602   160-6602  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 47

MACRO CROSS REFERENCE                                   CREF   04.00 

MACRO NAME	REFERENCES

ALUN$ 		#68-2937    70-3088   
CALL  		#4-119      47-2103    47-2109    48-2146    51-2254    53-2314    56-2422    58-2538    59-2550    59-2555   
                 59-2561    59-2565    59-2568    59-2571    60-2586    60-2591    60-2593    61-2607    61-2609    61-2611   
                 61-2613    61-2614    61-2621    61-2623    62-2642    62-2643    62-2651    62-2652    62-2653    62-2662   
                 64-2715    64-2717    64-2719    64-2720    66-2786    66-2792    66-2806    66-2808    67-2824    67-2825   
                 67-2831    68-2872    68-2875    68-2877    68-2879    68-2880    68-2885    71-3133    71-3134    74-3307   
                 77-3447    77-3453    77-3462    77-3464    78-3507    79-3540    80-3589    81-3637    81-3641    82-3681   
                 83-3712    84-3750    84-3754    84-3756    85-3795    88-3869    88-3873    89-3906    89-3916    90-3949   
                 97-4157    97-4162    97-4164    99-4234    99-4243    99-4250    99-4259    100-4289   100-4292   103-4398  
                 103-4400   104-4417   104-4419   104-4420   104-4425   104-4428   104-4441   104-4447   104-4451   106-4506  
                 108-4601   111-4703   113-4782   113-4785   113-4788   114-4837   114-4842   115-4850   115-4861   115-4874  
                 115-4878   115-4879   116-4927   116-4930   117-4967   117-4969   117-4991   119-5027   119-5029   119-5038  
                 119-5044   120-5085   120-5087   122-5117   122-5120   122-5126   122-5129   122-5134   124-5191   124-5197  
                 124-5203   124-5207   124-5212   126-5250   126-5252   126-5258   126-5261   126-5265   126-5268   127-5307  
                 127-5309   128-5318   128-5319   128-5321   128-5326   128-5333   128-5336   128-5338   129-5369   129-5377  
                 132-5499   132-5501   134-5570   134-5572   134-5580   134-5585   134-5587   134-5590   134-5592   135-5627  
                 135-5629   136-5666   136-5668   136-5673   137-5706   137-5710   138-5739   138-5742   139-5774   139-5783  
                 141-5831   141-5833   141-5836   141-5837   141-5838   141-5839   141-5843   141-5848   142-5900   143-5950  
                 143-5955   145-5993   145-5994   145-5997   145-5999   145-6003   146-6034   147-6063   147-6067   148-6097  
                 150-6161   152-6212   152-6213   152-6215   152-6216   152-6219   153-6265   154-6303   154-6305   154-6308  
                 155-6377   155-6385   155-6390   155-6393   155-6394   155-6396   155-6398   158-6514   159-6523   159-6525  
                 159-6533   159-6534   159-6548   160-6587   160-6591   160-6594   160-6602   162-6658   163-6670   163-6678  
                 163-6682   163-6694   163-6696   163-6699   165-6737   165-6738   165-6748   166-6778   166-6780   166-6782  
                 166-6784   166-6792   166-6793   172-6941   172-6943   172-6945   172-6947   198-7708   198-7710   198-7711  
                 199-7740   199-7742   199-7745   200-7805   207-8030   207-8033   207-8036   207-8054   207-8061   210-8162  
                 210-8163   211-8175   211-8177   211-8178   211-8186   211-8188   211-8189   214-8282   214-8287   214-8290  
                 214-8291   214-8292   214-8294   216-8350   216-8353   216-8354   216-8363   216-8369   218-8430   218-8435  
                 219-8456   219-8458   219-8459   219-8460   219-8462   219-8463   219-8470   222-8574   222-8580   223-8625  
                 223-8634   223-8639   223-8648   223-8649   226-8783   226-8784   227-8812   228-8850   228-8853   228-8854  
                 228-8856   228-8858   228-8861   228-8863   229-8876   229-8883   229-8884   229-8885   230-8946   230-8959  
                 230-8961   231-9035   232-9062   232-9065   233-9095   234-9130   234-9133   235-9173   236-9201   237-9232  
                 237-9237   237-9238   237-9243   237-9246   237-9251   238-9294   238-9297   243-9420   244-9465   244-9473  
                 244-9474   244-9478   244-9479   244-9480   244-9482   244-9483   249-9709   249-9714   251-9789   252-9811  
                 252-9814   252-9816   253-9859   253-9863   253-9872   254-9901   256-9954   256-9956   257-10014  259-10060 
                 259-10067 
CALLR 		#4-128      58-2541    61-2616    66-2803    88-3875    94-4067    97-4175    103-4402   115-4864   120-5089  
                 142-5902   156-6441   159-6549   224-8696   258-10029 
CLEF$S		#46-2064    50-2218   
COMND$		#5-182      174-7013   174-7015   174-7017   174-7019   174-7021   174-7023   174-7025   174-7027   174-7029  
                 174-7031   174-7033   174-7039   174-7041   174-7043   174-7045   174-7047   174-7049   174-7051   174-7054  
                 174-7056   174-7058   174-7060   174-7062   174-7064   174-7066   174-7068   174-7070   174-7072   174-7074  
                 174-7076   174-7078   174-7080   174-7082   174-7084   174-7086   175-7093   175-7095   175-7097   175-7099  
                 175-7101   176-7108   176-7110   176-7112   176-7114   176-7116   176-7118   176-7120   176-7122   177-7129  
                 177-7131   177-7133   177-7135   177-7137   178-7144   178-7146   178-7148   178-7150   178-7152   178-7154  
                 178-7156   178-7159   178-7161   178-7163   178-7167   178-7169   178-7171   178-7173   178-7175   178-7177  
                 178-7179   178-7181   178-7183   178-7185   178-7187   178-7189   178-7191   178-7193   178-7194   178-7196  
                 178-7198   178-7200   178-7202   178-7204   178-7206   178-7208   178-7210   179-7217   179-7219   179-7221  
                 179-7226   179-7228   180-7236   180-7238   180-7240   180-7242   180-7244   180-7246   180-7248   180-7250  
                 180-7252   180-7254   180-7256   180-7258   182-7366   183-7373   183-7375   184-7382   184-7384   184-7386  
                 184-7388   184-7390   184-7392   184-7394   184-7396   185-7403   185-7405   185-7407   185-7409   185-7411  
                 185-7413   185-7415   185-7417   185-7419   185-7421   185-7423   186-7430   186-7432   187-7439   187-7441  
                 187-7443   187-7445   188-7452   188-7454   188-7456   189-7463   189-7465   189-7467   189-7469   189-7471  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 48

MACRO CROSS REFERENCE                                   CREF   04.00 

MACRO NAME	REFERENCES

                 189-7473   189-7475   190-7482   190-7484   190-7486   190-7488   190-7490   190-7492   190-7494   190-7496  
                 190-7498   190-7500   190-7502   190-7504   190-7506   190-7508   190-7510   190-7512   190-7515   192-7542  
                 192-7544   193-7551   193-7553   193-7555   193-7557   193-7559   193-7561   193-7563   193-7565   193-7567  
                 193-7569   193-7571   193-7573   193-7575   193-7577   193-7579   193-7582   193-7585  
DIR$  		#50-2218    50-2218   #68-2937    70-3066    70-3070    71-3137    72-3186    72-3190    72-3195    73-3243   
                 74-3291    75-3351   #80-3575    80-3575   #85-3784    85-3784   #87-3837    90-3944    94-4060    100-4280  
                 106-4491   108-4587   110-4663  #149-6126   149-6126  #157-6479  #160-6595   160-6595  #160-6604   160-6604  
                #223-8614   223-8641  #257-9985   257-9992   257-9994   257-9998   257-10005 
ERCON$		#5-173     
ERROR$		#5-158      47-2119    49-2190    49-2193    51-2261    54-2367    56-2429    70-3080    70-3082    71-3150   
                 72-3198    73-3248    74-3308    75-3361    80-3590    85-3799    88-3878    94-4076    97-4178    101-4316  
                 101-4320   101-4323   101-4326   104-4456   106-4511   108-4608   111-4709   115-4887   117-4982   134-5597  
                 152-6232   152-6235   155-6402   159-6552   167-6805   167-6808   167-6811   172-6951   199-7761   224-8699  
                 224-8702   227-8819   229-8904   230-8981   236-9214   237-9254   239-9316   239-9319  
ERR$  		#50-2218   #70-3066   #70-3070   #71-3137   #72-3186   #72-3190   #72-3195   #73-3243   #74-3291   #75-3351   
                #80-3575   #85-3784   #90-3944   #94-4060   #100-4280  #106-4491  #108-4587  #110-4663  #149-6126  #160-6595  
                #160-6604  #223-8641  #257-9992  #257-9994  #257-9998  #257-10005 
EXCH$ 		#6-224     
EXIT$S		#157-6479   160-6604  
FATAL$		#5-165     
IKL$  		#8-253     
IOKL$ 		#8-281      117-4986  
KLDR$ 		#87-3837    106-4531  
KLDW$ 		#87-3837    108-4628  
KLDX$ 		#87-3837    111-4730  
MOV$  		#50-2218    50-2218   #80-3575   #80-3575    80-3575    80-3575    80-3575    80-3575    80-3575    80-3575   
                 80-3575    80-3575    80-3575   #85-3784   #85-3784    85-3784    85-3784    85-3784    85-3784    85-3784   
                 85-3784    85-3784    85-3784    85-3784   #149-6126   149-6126  #160-6595  #160-6595   160-6595   160-6595  
                 160-6595   160-6595  
MRKT$ 		#87-3837    91-3973   
MVB$  		#80-3575    80-3575   #85-3784    85-3784   #160-6595   160-6595  
NBL$  		#70-3088    70-3088   
NSERR$		#6-202      181-7266   181-7268   181-7270   181-7271   181-7272   181-7273   181-7274   181-7275   181-7276  
                 181-7277   181-7278   181-7279   181-7284   181-7285   181-7286   181-7287   181-7288   181-7289   181-7290  
                 181-7291   181-7292   181-7294   181-7295   181-7296   181-7297   181-7298   181-7299   181-7301   181-7302  
                 181-7303   181-7304   181-7305   181-7306   181-7307   181-7308   181-7310   181-7311   181-7312   181-7313  
                 181-7314   181-7315   181-7316   181-7317   181-7319   181-7320   181-7321   181-7322   181-7323   181-7325  
                 181-7326   181-7328   181-7329   181-7330   181-7331   181-7332   181-7333   181-7334   181-7336   181-7337  
                 181-7339   181-7341   181-7343   181-7344   181-7345   181-7346   181-7348   181-7349   181-7351   181-7353  
                 181-7355   181-7357   181-7359  
OFF$  		#70-3088    70-3088    70-3088    70-3088    70-3088   #70-3093    70-3093    70-3093    70-3093    70-3093   
                 70-3093    70-3093    70-3093    70-3093   #71-3156    71-3156    71-3156    71-3156    71-3156    71-3156   
                 71-3156    71-3156    71-3156   #72-3204    72-3204    72-3204    72-3204    72-3204    72-3204    72-3204   
                 72-3204    72-3204   #72-3207    72-3207    72-3207    72-3207    72-3207    72-3207    72-3207    72-3207   
                 72-3207   #72-3210    72-3210    72-3210    72-3210    72-3210    72-3210    72-3210    72-3210    72-3210   
                #73-3254    73-3254    73-3254    73-3254    73-3254    73-3254    73-3254    73-3254    73-3254   #74-3314   
                 74-3314    74-3314    74-3314    74-3314    74-3314    74-3314    74-3314    74-3314   #75-3367    75-3367   
                 75-3367    75-3367    75-3367    75-3367    75-3367    75-3367    75-3367   #91-3973    91-3973    91-3973   
                 91-3973    91-3973    91-3973   #224-8709   224-8709   224-8709   224-8709   224-8709   224-8709   224-8709  
                 224-8709   224-8709  #260-10103  260-10103  260-10103  260-10103  260-10103  260-10103  260-10103  260-10103 
                 260-10103 #260-10112  260-10112  260-10112  260-10112  260-10112  260-10112  260-10112  260-10112  260-10112 
                #260-10121  260-10121  260-10121  260-10121  260-10121  260-10121  260-10121  260-10121  260-10121 #260-10126 
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 49

MACRO CROSS REFERENCE                                   CREF   04.00 

MACRO NAME	REFERENCES

                 260-10126  260-10126  260-10126  260-10126  260-10126  260-10126  260-10126  260-10126 
PARVR$		#34-1450    39-1730    39-1730   
POP   		#4-134      51-2257    54-2361    58-2540    60-2587    61-2622    67-2830    68-2870    68-2871    68-2884   
                 76-3416    77-3457    81-3628    81-3643    90-3951    97-4174    99-4262    103-4399   103-4401   108-4604  
                 111-4706   113-4797   115-4863   117-4979   117-4992   119-5049   122-5135   126-5270   128-5341   130-5411  
                 132-5504   134-5594   136-5676   137-5711   141-5850   145-6005   147-6068   150-6162   152-6229   154-6310  
                 155-6399   162-6662   165-6771   165-6773   196-7664   199-7746   199-7749   199-7757   207-8063   208-8074  
                 208-8075   208-8076   208-8078   209-8128   211-8192   211-8193   214-8296   216-8370   219-8471   224-8670  
                 229-8890   229-8898   230-8977   232-9064   234-9132   236-9195   236-9203   237-9233   238-9300   239-9310  
                 243-9421   244-9466   244-9484   249-9716   252-9812   252-9819   253-9876   256-9957   257-10015  259-10068 
                 259-10072 
PRDP$ 		#87-3837    102-4346  
PREX$ 		#87-3837    102-4364  
PUSH  		#4-140      47-2119    49-2190    49-2193    51-2253    51-2261    54-2344    54-2349    54-2353    54-2367   
                 56-2429    58-2514    60-2576    60-2580    60-2584    61-2619    62-2644    64-2709    66-2787    68-2873   
                 70-3080    70-3082    71-3150    72-3198    73-3248    74-3308    75-3361    76-3405    77-3446    80-3590   
                 81-3619    81-3630    85-3799    88-3878    89-3908    89-3913    90-3946    94-4076    97-4156    97-4178   
                 99-4232    99-4248    101-4316   101-4320   101-4323   101-4326   103-4392   103-4397   103-4407   104-4416  
                 104-4456   106-4511   108-4590   108-4608   111-4709   113-4775   114-4836   115-4887   116-4926   117-4965  
                 117-4982   117-4989   119-5020   122-5119   126-5249   127-5305   129-5370   132-5496   134-5567   134-5597  
                 136-5663   136-5669   137-5704   141-5830   143-5948   145-5992   145-5995   145-5996   147-6065   149-6128  
                 150-6158   152-6211   152-6232   152-6235   153-6263   154-6306   155-6373   155-6402   158-6506   158-6508  
                 158-6509   159-6552   162-6655   165-6741   165-6742   165-6744   167-6805   167-6808   167-6811   172-6951  
                 196-7651   198-7707   199-7743   199-7761   207-8029   207-8041   207-8059   209-8107   210-8158   210-8160  
                 213-8255   213-8256   213-8257   213-8262   213-8263   213-8264   213-8269   213-8270   216-8348   219-8444  
                 222-8573   223-8617   224-8699   224-8702   227-8819   228-8849   229-8882   229-8904   230-8938   230-8981  
                 232-9059   232-9060   234-9127   234-9128   236-9187   236-9206   236-9214   237-9254   238-9281   238-9284  
                 238-9295   239-9316   239-9319   243-9392   243-9397   243-9402   243-9407   243-9412   243-9417   244-9459  
                 244-9467   245-9531   246-9570   246-9582   247-9619   248-9658   248-9669   248-9671   252-9804   252-9805  
                 252-9809   252-9815   253-9867   256-9952   257-10011  259-10055  259-10061 
QDPB$ 		#70-3093    70-3093   #71-3156    71-3156   #72-3204    72-3204   #72-3207    72-3207   #72-3210    72-3210   
                #73-3254    73-3254   #74-3314    74-3314   #75-3367    75-3367   #224-8709   224-8709  #260-10103  260-10103 
                #260-10112  260-10112 #260-10121  260-10121 #260-10126  260-10126 
QDPB$S		#80-3575    80-3575   #85-3784    85-3784   #160-6595   160-6595  
QIOW$ 		#68-2937    70-3093    71-3156    72-3204    72-3207    72-3210    73-3254    74-3314    75-3367   #223-8614  
                 224-8709  #257-9985   260-10103  260-10112  260-10121  260-10126 
QIOW$S		#68-2937    80-3575    85-3784   #157-6479   160-6595  
RETURN		#4-148      47-2107    47-2118    48-2159    49-2188    50-2221    51-2251    52-2290    53-2317    54-2362   
                 55-2397    56-2427    70-3077    71-3141    71-3145    72-3194    73-3245    74-3297    75-3355    76-3417   
                 77-3458    78-3512    79-3545    80-3581    80-3583    81-3629    82-3685    83-3716    84-3757    85-3792   
                 90-3952    94-4071    99-4263    100-4283   100-4291   104-4454   106-4509   108-4605   111-4707   113-4798  
                 117-4980   119-5051   122-5136   124-5215   126-5271   128-5342   130-5412   132-5505   134-5595   135-5631  
                 136-5679   137-5712   138-5745   139-5796   141-5852   145-6006   146-6038   147-6069   148-6099   150-6163  
                 152-6230   154-6311   155-6400   159-6546   162-6663   165-6774   169-6877   172-6949   196-7666   205-7999  
                 208-8079   209-8129   211-8194   214-8297   216-8371   219-8472   222-8584   224-8672   225-8753   226-8787  
                 227-8817   229-8899   230-8978   231-9041   233-9105   235-9180   239-9314   243-9422   244-9485   249-9717  
                 252-9830   253-9877   256-9959   258-10027  259-10073 
RVP$  		#80-3575    80-3575   #85-3784    85-3784   #160-6595   160-6595  
SPERR$		#6-212      191-7523   191-7525   191-7527   191-7528   191-7529   191-7531   191-7532   191-7533   191-7535  
WTSE$S		#87-3837    149-6126  
$DEF  		#87-3837    87-3839   
.ENB6 		#157-6479   160-6603  
PAROOT     CREATED BY  MACRO  ON 17-MAY-88 AT 14:33	PAGE 50

MACRO CROSS REFERENCE                                   CREF   04.00 

MACRO NAME	REFERENCES

.INH6 		#157-6479   160-6598  
DEFINE -- LOCAL DEFINITION MODU	MACRO V05.04  Tuesday 17-May-88 14:36
Table of contents

     2-   57	DEFINE -- COMMAND PARSER ASSEMBLY SWITCHES 7709.20
     3-  105	DEFINE -- COMMAND PARSER MACRO CALLS 7709.20
     4-  115	DEFINE -- LOCAL MACRO DEFINITIONS 7709.20
     7-  230	DEFINE -- SPECIAL KL MACROS AND DEFINITIONS 7709.20
     9-  303	DEFINE -- LOCAL DEFINITIONS 7709.20
    33- 1408	COPYRIGHT PAGE
    34- 1443	.ABRTC -- THE "ABORT" COMMAND 7602.23
    35- 1467	.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12
    38- 1562	.CONTC -- THE "CONTINUE" COMMAND 7611.17
    40- 1649	.DPOSC -- THE "DEPOSIT" COMMAND DISPATCH 7602.23
    41- 1687	.DPOSD -- THE "DEPOSIT <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
    42- 1750	.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16
    43- 1790	.EXAMD -- THE "EXAMINE <NUMERICAL OBJECT>" COMMAND DISPATCH 7602.29
    44- 1853	.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29
    45- 1891	.EXOBJ -- THE "EXAMINE <OBJECT>" COMMAND DISPATCH 7602.16
    46- 1929	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    47- 1942	.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
    49- 2030	.DFCOM -- COMMON DIAGNOSTIC FUNCTION ROUTINE 7603.30
    50- 2083	.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15
    51- 2172	.DFWRT -- DIAGNOSTIC FUNCTION WRITE 7608.20
    52- 2213	.DFXCT -- DIAGNOSTIC FUNCTION EXECUTE 7602.15
    53- 2247	.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26
    56- 2338	.DISCC -- THE "DISCONNECT" COMMAND 7702.28
    57- 2413	.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29
    59- 2483	.DPEWD -- THE "DEPOSIT <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    60- 2522	.EXAME -- THE "EXAMINE <ELEVEN>" COMMAND 7602.29
    62- 2615	.EXEWD -- THE "EXAMINE <ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    65- 2677	.DEPAR -- THE "DEPOSIT AR" COMMAND 7603.21
    66- 2718	.DPOST -- THE "DEPOSIT <TEN>" COMMAND 7602.15
    69- 2832	.DPKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7602.29
    70- 2870	.EXAMT -- THE "EXAMINE <TEN>" COMMAND 7602.05
    72- 2990	.EXKLD -- THE "DEPOSIT <TEN> <NUMERICAL OBJECT>" COMMAND 7609.10
    73- 3017	.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL APR 7509.24
    78- 3194	.EXCTC -- THE "XCT" (EXECUTE) COMMAND 7602.17
    80- 3271	.EXDTE -- THE "EXAMINE DTE-20" COMMAND 7603.20
    81- 3299	TYPDTE -- TYPE OUT DTE REGISTERS SYMBOLICALLY
    82- 3408	STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
    83- 3466	TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
    84- 3491	TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT
    85- 3569	TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
    86- 3613	TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
    89- 3669	.EXAD  -- KL DATA PATH BOARD EXAMINES 7602.16
    90- 3710	.EXVAB -- KL PC BOARD AND SMALL REGISTER EXAMINES 7602.16
    92- 3755	.EXAMF -- THE "EXAMINE FLAGS" COMMAND 7602.23
    94- 3816	.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23
    95- 3856	.EXCRA -- SMALL REGISTER EXAMINES 7609.10
    98- 3908	.EXMPI -- THE "EXAMINE PI" COMMAND 7602.23
   100- 3979	.EXREG -- THE "EXAMINE REGISTERS" COMMAND 7602.16
   101- 3996	.RDDPB -- SUBROUTINES TO READ THE KL DATA PATH BOARDS 7509.23
   103- 4068	.RDFLG -- SUBROUTINE TO READ THE KL PC FLAGS 7511.24
   105- 4135	.RDPI  -- SUBROUTINE TO READ THE PI BOARDS 7510.16
   107- 4199	.RDSMR -- SUBROUTINE TO READ SMALL KL REGISTERS 7511.05
   110- 4332	.RDVXX -- KL VMA BOARD READ SUBROUTINES 7510.21
   112- 4469	.GTDAT -- SUBROUTINE TO INPUT THE CURRENT DATE 7702.15
   114- 4624	.GTTIM -- SUBROUTINE TO INPUT A TIME VALUE 7702.15
   115- 4735	.TYDAT -- SUBROUTINE TO TYPE A DATE 7702.16
   116- 4798	.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16
HALTC -- HALT FUNCTION MODULE 7	MACRO V05.04  Tuesday 17-May-88 14:36
Table of contents

   118- 4884	.HALTC -- THE "HALT" COMMAND 7710.11
   120- 4949	.INITC -- THE "INITIALIZE" COMMAND 7602.16
   121- 4975	.INIT  -- INITIALIZATION SUBROUTINE 7509.26
   122- 5017	.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09
   125- 5130	.INICP -- INITIALIZE THE COMMAND PARSER 7601.21
   130- 5267	.KLE -- ROUTINE TO RETURN DEFAULT KLERR COMMANDS
   131- 5369	.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT
   134- 5440	.MARKC -- THE "MARK/UNMARK-MICROCODE" COMMAND 7910.19
   137- 5540	.RESTC -- THE "RESET" COMMAND DISPATCH 7710.11
   138- 5580	.RSALL -- THE "RESET ALL" COMMAND 7602.18
   139- 5606	.RSTPI -- THE "RESET PI" COMMAND 7607.21
   140- 5643	.RSPAG -- THE "RESET PAG" COMMAND 7607.21
   143- 5730	.RUNCM -- THE "RUN" AND "MCR" COMMANDS 7607.14
   146- 5811	.TAKEC -- THE "TAKE" COMMAND
   147- 5874	.GTR50 -- GET A .RAD50 WORD 7602.18
   149- 5929	.QUITC -- THE "QUIT" COMMAND 7602.16
   152- 5989	.RSTRC -- THE "RESTORE" COMMAND DISPATCH 8306.09
   153- 6018	.RSACB-- THE "RESTORE AC-BLOCK" COMMAND 8306.09
   154- 6082	.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09
   155- 6111	.SVACB-- THE "SAVE AC-BLOCK" COMMAND 8306.09
   156- 6140	.SVPC -- THE "SAVE PC" COMMAND 8306.09
   157- 6172	.SAVFL -- SUBROUTINE TO READ THE KL PC FLAGS
   159- 6239	.SAVPC -- PC READ SUBROUTINE 8306.17
   161- 6347	.SCACB -- SET AC-BLOCK COMMAND
   162- 6386	.SACBK -- SET AC BLOCK ROUTINE
   163- 6457	.WHACB -- WHAT AC BLOCK COMMAND
   164- 6487	.SWPC -- SWEEP AC BLOCK COMMAND
   165- 6577	.SWPAC -- SWEEP ALL AC BLOCKS FOR FM PARITY ERROR
   166- 6666	.RSSWP -- RESET PARITY STOPS FOR FM SWEEP
   169- 6749	.SCOUT -- SET/CLEAR OUTPUT COMMAND
   170- 6800	.SCOTL -- SET/CLEAR OUTPUT LOG COMMAND
   171- 6913	.SCOTP -- SET/CLEAR OUTPUT LPT COMMAND
   172- 6954	.SCOTY -- SET/CLEAR OUTPUT TTY COMMAND
   173- 6984	.SCOTC -- SET/CLEAR OUTPUT CHECK ROUTINE
   174- 7014	.WHOUT -- WHAT OUTPUT COMMAND
   178- 7126	.SETCM -- THE "SET" AND "CLEAR" COMMAND DISPATCHES 7602.19
   179- 7173	.WHATC -- THE "WHAT" COMMAND DISPATCH 7607.14
   180- 7202	.SCNOT -- THE "SET / CLEAR NOT" COMMAND 7602.19
   182- 7244	.SHUTC -- THE "SHUTDOWN" COMMAND 7707.12
   184- 7320	.STRTC -- THE "START" COMMAND 7602.26
   185- 7349	.STRTT -- THE "START <TEN>" COMMAND 7710.11
   187- 7412	.STRTU -- THE "START MICROCODE" COMMAND 7602.26
   189- 7495	.SCCON -- THE " SET / CLEAR CONSOLE" COMMAND 7702.16
   190- 7540	.WHCON -- THE "WHAT CONSOLE" COMMAND 7607.14
   191- 7564	.SCINC -- THE "SET / CLEAR INCREMENT" COMMAND 7606.20
   192- 7589	.WHINC -- THE "WHAT INCREMENT" COMMAND 7703.25
   193- 7622	.SCMEM -- THE "SET / CLEAR MEMORY" COMMAND 7607.08
   194- 7649	.WHMEM -- THE "WHAT MEMORY" COMMAND 7603.21
   195- 7669	.SCOFS -- THE "SET / CLEAR OFFSET" COMMAND 7602.19
   196- 7682	.WHOFS -- THE "WHAT OFFSET" COMMAND 7603.20
   197- 7698	.SCRLD -- THE "SET / CLEAR RELOAD" COMMAND 7602.19
   198- 7706	.SCRTY -- THE "SET / CLEAR RETRY" COMMAND 7-DEC-78
   199- 7718	.WHRLD -- THE "WHAT RELOAD" COMMAND 7603.21
   200- 7731	.WHRTY -- THE "WHAT RETRY" COMMAND 7-DEC-78
   201- 7755	.SCRPT -- THE "SET / CLEAR REPEAT" COMMAND 7703.25
   202- 7777	.SCTRK -- THE "SET / CLEAR TRACK" COMMAND 7602.19
   203- 7790	.WHTRK -- THE "WHAT TRACKS" COMMAND 7603.20
SWCMD -- SET / CLEAR / WHAT COM	MACRO V05.04  Tuesday 17-May-88 14:36
Table of contents

   204- 7805	.WHATV -- THE "WHAT VERSION" COMMAND 7607.21
   205- 7832	.WHRDW -- DISPLAY KL10 HARDWARE ENVIRONMENT 7910.18
   206- 7930	.SFREC -- SET/CLEAR FAULT COMMAND
   207- 7940	WHAT FAULT CONTINUATION COMMAND
   208- 7997	.SCCLK -- THE "SET / CLEAR CLOCK" COMMAND DISPATCH 7608.19
   211- 8119	.SCCRF -- SET / CLEAR "CLOCK <OBJECT>" 7603.09
   213- 8208	.SCPAR -- SET / CLEAR PARITY-STOP "<OBJECT>" 7603.08
   214- 8250	.WHTCL -- THE "WHAT CLOCK" COMMAND 7608.17
   217- 8340	.WHTPS -- THE "WHAT PARITY-STOP" COMMAND 7608.19
   220- 8414	.YESNO -- SUBROUTINE TO ASK "YES OR NO" 7603.22
   223- 8515	.SCDAT -- "SET DATE" COMMAND 7703.04
   225- 8651	.WHDAT -- THE "WHAT" DATE COMMAND 7703.03
   229- 8787	.SCKLN -- THE "SET / CLEAR KLINIK" COMMAND 7709.20
   232- 9074	.WHKLN -- THE "WHAT KLINIK" COMMAND 7702.16
   236- 9228	.ZEROC -- THE "ZERO" COMMAND 7609.15
ABRTC -- ABORT COMMAND MODULE 7	MACRO V05.04  Tuesday 17-May-88 14:36  Page 33
COPYRIGHT PAGE

   1411					.TITLE	ABRTC -- ABORT COMMAND MODULE 7602.23
   1412
   1413						.IDENT	"005000"
   1414					;
   1415					;                             COPYRIGHT (C) 1975, 1984 BY
   1416					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
   1417					;
   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: ABORT COMMAND
   1432					;
   1433					;		VERSION: 05-00
   1434					;
   1435					;		AUTHOR: R. BELANGER
   1436					;
   1437					;		DATE: 7602.23
   1438					;
   1439					;	THIS MODULE CONTAINS:
   1440					;
   1441					;	1) ABORT COMMAND CODE
ABRTC -- ABORT COMMAND MODULE 7	MACRO V05.04  Tuesday 17-May-88 14:36  Page 34
.ABRTC -- THE "ABORT" COMMAND 7602.23

   1443					.SBTTL	.ABRTC -- THE "ABORT" COMMAND 7602.23
   1444
   1445					;+
   1446					; .ABRTC -- THE "ABORT" COMMAND
   1447					;
   1448					; THIS ROUTINE CALLS THE ABORT SUBROUTINE ".ABORT", Q.V.
   1449					;
   1450					; INPUT ARGUMENTS:
   1451					;
   1452					;	NONE.
   1453					;
   1454					; OUTPUT ARGUMENTS:
   1455					;
   1456					;	NONE.
   1457					;
   1458					; ERROR CODES RETURNED:
   1459					;
   1460					;	NONE.
   1461					;-
   1462
   1463	000000				.ABRTC::
   1464	000000					CALL	.CKEOC		; MUST HAVE E-O-C
	000000	004737 	000000G			 JSR	PC,.CKEOC
   1465					;	CALLR	.ABORT		; ABORT CURRENT KL OPERATION AND EXIT
ABRTC -- ABORT COMMAND MODULE 7	MACRO V05.04  Tuesday 17-May-88 14:36  Page 35
.ABORT -- ABORT CURRENT OPERATION SUBROUTINE 7707.12

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

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

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

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

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

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

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

   1739						;
   1740
   1741	000024					.PSECT	DATA
   1742
   1743	000024				DPOZTB:
   1744	000024	002564'				.WORD	.DPKLT		; KL WORD
   1745	000026	001554'				.WORD	.DPEWT		; PDP-11 WORD
   1746
   1747	000226					.PSECT
   1748
DECMD -- DEPOSIT / EXAMINE COMM	MACRO V05.04  Tuesday 17-May-88 14:36  Page 42
.EXAMC -- THE "EXAMINE" COMMAND DISPATCH 7602.16

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

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

   1842						;
   1843
   1844	000054					.PSECT	DATA
   1845
   1846	000054				EXAZTB:
   1847	000054	003236'				.WORD	.EXKLT		; KL WORD
   1848	000056	002116'				.WORD	.EXEWT		; PDP-11 WORD
   1849
   1850	000270					.PSECT
   1851
DECMD -- DEPOSIT / EXAMINE COMM	MACRO V05.04  Tuesday 17-May-88 14:36  Page 44
.DPOBJ -- THE "DEPOSIT <OBJECT>" COMMAND DISPATCH 7602.29

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

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

   1929					.SBTTL	.EDEWD -- THE EXAMINE / DEPOSIT "<ELEVEN> <NUMERICAL OBJECT>" COMMAND 7602.29
   1930
   1931	000374				.EDEWD::
   1932	000374				.EDEWP::
   1933	000374	013700 	000000G			MOV	.EDELA,R0	; ADDRESS TO R0
   1934	000400	162700 	000002 			SUB	#^D2,R0		; PREVIOUS WORD ADDRESS
   1935	000404					RETURN			; TO CALLER
	000404	000207 				 RTS	PC
   1936	000406				.EDEWI::
   1937	000406				.EDEWN::
   1938	000406	013700 	000000G			MOV	.EDELA,R0	; ADDRESS TO R0
   1939	000412	062700 	000002 			ADD	#^D2,R0		; NEXT WORD ADDRESS
   1940	000416					RETURN			; TO CALLER
	000416	000207 				 RTS	PC
DECMD -- DEPOSIT / EXAMINE COMM	MACRO V05.04  Tuesday 17-May-88 14:36  Page 47
.EDKLD -- THE EXAMINE / DEPOSIT "<TEN> <NUMERICAL OBJECT>" COM

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

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

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

	000662	104400 				 TRAP	TC.ERR
   2081						;
DFUNC -- KL10 DIAGNOSTIC FUNCTI	MACRO V05.04  Tuesday 17-May-88 14:36  Page 50
.DFRED -- DIAGNOSTIC FUNCTION READ 7602.15

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

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

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

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

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

   2299						;
   2300
   2301						.DSABL	LSB
DISCC -- DISCONNECT COMMAND MOD	MACRO V05.04  Tuesday 17-May-88 14:36  Page 55
.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS 7509.26

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

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

   2388					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
   2389					;
   2390					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
   2391					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
   2392					;       CORPORATION.
   2393					;
   2394					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
   2395					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
   2396					;
   2397					;		MODULE: DEPOSIT / EXAMINE ELEVEN COMMAND
   2398					;
   2399					;		VERSION: 06-13
   2400					;
   2401					;		AUTHOR: R. BELANGER
   2402					;
   2403					;		DATE: 7603.30
   2404					;
   2405					;	THIS MODULE CONTAINS:
   2406					;
   2407					;	1) DEPOSIT / EXAMINE ELEVEN COMMAND CODE
   2408					;
   2409					;29-Apr-83  TCO 6.1599	David Weaver
   2410					;	EXAMINE ELEVEN addr1:addr2 can loop over memory if addr2 is odd or
   2411					;	the range crosses 100000.
EDELE -- DEPOSIT / EXAMINE ELEV	MACRO V05.04  Tuesday 17-May-88 14:36  Page 57
.DPOSE -- THE "DEPOSIT <ELEVEN>" COMMAND 7602.29

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   3408					.SBTTL	STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT
   3409
   3410					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3411
   3412	003710				STATYP:
   3413	003710	016203 	000140'			MOV	DTEBUF(R2),R3	; DTE REGISTER CONTENTS
   3414	003714	012701 	000302'			MOV	#STATAB,R1	; FIRST MESSAGE PTR
   3415	003720	005703 			10$:	TST	R3		; REGISTER=0
   3416	003722	001410 				BEQ	30$		; YES-DONE
   3417	003724	006303 				ASL	R3		; SHIFT HIGH BIT TO CARRY
   3418	003726	103003 				BCC	20$		; BIT CLEAR?
   3419	003730	011100 				MOV	@R1,R0		; POINT TO MESSAGE
   3420	003732					CALL	.TYMSG		; NO-TYPE MESSAGE
	003732	004737 	000000G			 JSR	PC,.TYMSG
   3421	003736	062701 	000002 		20$:	ADD	#2,R1		; ADDRESS NEXT MESSAGE
   3422	003742	000766 				BR	10$		; CHECK NEXT BIT
   3423	003744				30$:	RETURN			; EXIT
	003744	000207 				 RTS	PC
   3424
   3425	000302				.PSECT	DATA
   3426
   3427	000302				STATAB:				; STATUS MESSAGE TABLE
   3428	000302	000252'				.WORD	STA15
   3429	000304	000306'				.WORD	STA14
   3430	000306	000327'				.WORD	STA13
   3431	000310	000362'				.WORD	STA12
   3432	000312	000402'				.WORD	STA11
   3433	000314	000432'				.WORD	STA10
   3434	000316	000450'				.WORD	STA9
   3435	000320	000502'				.WORD	STA8
   3436	000322	000532'				.WORD	STA7
   3437	000324	000561'				.WORD	STA6
   3438	000326	000604'				.WORD	STA5
   3439	000330	000643'				.WORD	STA4
   3440	000332	000671'				.WORD	STA3
   3441	000334	000714'				.WORD	STA2
   3442	000336	000744'				.WORD	STA1
   3443	000340	001004'				.WORD	STA0
   3444
   3445	000252				.PSECT	MESSAG
   3446
   3447	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
   3448	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 V05.04  Tuesday 17-May-88 14:36  Page 82-1
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT

   3449	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
   3450	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
   3451	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
   3452	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
   3453	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
   3454	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
   3455	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
   3456	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 V05.04  Tuesday 17-May-88 14:36  Page 82-2
STATYP -- SYMBOLIC STATUS REGISTER TYPE OUT

	000575	   123 	   105 	   114
	000600	   105 	   103 	   124
	000603	   000
   3457	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
   3458	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
   3459	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
   3460	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
   3461	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
   3462	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
   3463
   3464	003746				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO V05.04  Tuesday 17-May-88 14:36  Page 83
TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT

   3466					.SBTTL	TYPDX1 -- SYMBOLIC DEXWD1-DEXWD3 TYPE OUT
   3467
   3468					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3469
   3470	003746				TYPDX1:
   3471	003746	012700 	001025'			MOV	#DX1MS1,R0	; DATA MESSAGE
   3472	003752					CALL	.TYMSG		; TYPE IT
	003752	004737 	000000G			 JSR	PC,.TYMSG
   3473	003756	012700 	000134'			MOV	#DTEBUF-4,R0	; ADDR OF REGISTERS
   3474	003762	060200 				ADD	R2,R0		; POINT TO DEX WORD 1
   3475	003764					CALL	.TYKLN		; TYPE IT
	003764	004737 	000000G			 JSR	PC,.TYKLN
   3476	003770	016203 	000140'			MOV	DTEBUF(R2),R3	; DEXWD1 VALUE
   3477	003774	042703 	000017 			BIC	#17,R3		; DEXWD1 BITS 4-15
   3478	004000	005703 				TST	R3		; BITS 4-15 MBZ
   3479	004002	001404 				BEQ	10$		; ARE THEY ZERO
   3480	004004	012700 	001045'			MOV	#DX1MS2,R0	; NO- MESSAGE
   3481	004010					CALL	.TYMSG		; TYPE IT
	004010	004737 	000000G			 JSR	PC,.TYMSG
   3482	004014				10$:	RETURN			; EXIT
	004014	000207 				 RTS	PC
   3483
   3484	001025				.PSECT	MESSAG
   3485
   3486	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
   3487	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
   3488
   3489	004016				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO V05.04  Tuesday 17-May-88 14:36  Page 84
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT

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

	004226	004737 	000000G			 JSR	PC,.TYKLA
   3536	004232	062706 	000006 			ADD	#6,SP		; POP OFF ADDR BUFFER
   3537	004236				80$:	RETURN			; EXIT
	004236	000207 				 RTS	PC
   3538
   3539	000342				.PSECT	DATA
   3540
   3541	000342				SPCTAB:
   3542	000342	001257'				.WORD	SPC1
   3543	000344	001263'				.WORD	SPC2
   3544	000346	001300'				.WORD	SPC3
   3545	000350	001304'				.WORD	SPC4
   3546	000352	001321'				.WORD	SPC5
   3547	000354	001332'				.WORD	SPC6
   3548
   3549	001104				.PSECT	MESSAG
   3550
   3551	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
   3552	001126	   015 	   012 	   040 	TA2MS2:	.ASCIZ<15><12>/ OPERATION=/
	001131	   117 	   120 	   105
	001134	   122 	   101 	   124
	001137	   111 	   117 	   116
	001142	   075 	   000
   3553	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
   3554	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
   3555	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
   3556	001257	   105 	   120 	   124 	SPC1:	.ASCIZ/EPT/
	001262	   000
   3557	001263	   105 	   130 	   105 	SPC2:	.ASCIZ/EXEC VIRTUAL/
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO V05.04  Tuesday 17-May-88 14:36  Page 84-2
TYPAD2 -- SYMBOLIC TENAD1-TENAD2 TYPE OUT

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

   3569					.SBTTL	TYPDG1 -- SYMBOLIC DIAG1 TYPE OUT
   3570
   3571					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3572
   3573	004240				TYPDG1:
   3574	004240	016203 	000140'			MOV	DTEBUF(R2),R3	; DIAG1
   3575	004244	042703 	170037 			BIC	#170037,R3	; GET STATUS BITS
   3576		000004 				.REPT	4		; LEFT JUSTIFY
   3577						ASL	R3
   3578						.ENDR
	004250	006303 				ASL	R3
	004252	006303 				ASL	R3
	004254	006303 				ASL	R3
	004256	006303 				ASL	R3
   3579	004260	012701 	000356'			MOV	#DIATAB,R1	; FIRST MESSAGE PTR
   3580	004264	005703 			10$:	TST	R3		; DONE?
   3581	004266	001410 				BEQ	30$		; YES-EXIT
   3582	004270	006303 				ASL	R3		; BIT SET?
   3583	004272	103003 				BCC	20$		; NO
   3584	004274	011100 				MOV	@R1,R0		; MESSAGE ADDR
   3585	004276					CALL	.TYMSG		; YES-TYPE MESSAGE
	004276	004737 	000000G			 JSR	PC,.TYMSG
   3586	004302	062701 	000002 		20$:	ADD	#2,R1		; NEXT MESSAGE
   3587	004306	000766 				BR	10$		; NEXT
   3588	004310				30$:	RETURN			; EXIT
	004310	000207 				 RTS	PC
   3589
   3590	000356				.PSECT	DATA
   3591
   3592	000356				DIATAB:
   3593	000356	001373'				.WORD	DG1B11
   3594	000360	001424'				.WORD	DG1B10
   3595	000362	001450'				.WORD	DG1B9
   3596	000364	001475'				.WORD	DG1B8
   3597	000366	001541'				.WORD	DG1B7
   3598	000370	001604'				.WORD	DG1B6
   3599	000372	001647'				.WORD	DG1B5
   3600
   3601	001373				.PSECT	MESSAG
   3602
   3603	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
   3604	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
   3605	001450	   015 	   012 	   040 	DG1B9:	.ASCIZ<15><12>/   KL IN HALT LOOP/
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO V05.04  Tuesday 17-May-88 14:36  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
   3606	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
   3607	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
   3608	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
   3609	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
   3610
   3611	004312				.PSECT
EXDTE -- EXAMINE DTE-20 REGISTE	MACRO V05.04  Tuesday 17-May-88 14:36  Page 86
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT

   3613					.SBTTL	TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT
   3614
   3615					;	THIS ROUTINE WAS ADDED FOR TCO 5.1001
   3616
   3617	004312				TYPDG3:
   3618	004312	016203 	000140'			MOV	DTEBUF(R2),R3	; DIAG3
   3619	004316	032703 	000002 			BIT	#2,R3		; NPR ERROR?
   3620	004322	001404 				BEQ	10$		; NO-EXIT
   3621	004324	012700 	001711'			MOV	#DG3B1,R0	; YES-MESSAGE
   3622	004330					CALL	.TYMSG		; TYPE IT
	004330	004737 	000000G			 JSR	PC,.TYMSG
   3623	004334				10$:	CALLR	.TCRLF		; EXIT
	004334	000137 	000000G			 JMP	.TCRLF
   3624
   3625	001711				.PSECT	MESSAG
   3626
   3627	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
   3628
   3629	004340				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO V05.04  Tuesday 17-May-88 14:36  Page 88
TYPDG3 -- SYMBOLIC DIAG3 TYPE OUT

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

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

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

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

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

   3803	001746				.PSECT	MESSAG
   3804
   3805	001746				NOFMSG:
   3806	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
   3807	001775				FONMSG:
   3808	001775	   040 	   040 	   130 		.ASCIZ	%  X  %
	002000	   040 	   040 	   000
   3809	002003				FOFMSG:
   3810	002003	   040 	   040 	   040 		.ASCIZ	%     %
	002006	   040 	   040 	   000
   3811	002011				EXFMSG:
   3812	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
   3813
   3814	004650				.PSECT
EXREG -- EXAMINE 22 AND 36 BIT 	MACRO V05.04  Tuesday 17-May-88 14:36  Page 94
.EXAMK -- THE "EXAMINE KL" COMMAND 7602.23

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   4779
   4780	000572				.PSECT	DATA
   4781
   4782	000572				TYDMTB:
   4783	000572	000000G				.WORD	JANMSG
   4784	000574	000000G				.WORD	FEBMSG
   4785	000576	000000G				.WORD	MARMSG
   4786	000600	000000G				.WORD	APRMSG
   4787	000602	000000G				.WORD	MAYMSG
   4788	000604	000000G				.WORD	JUNMSG
   4789	000606	000000G				.WORD	JULMSG
   4790	000610	000000G				.WORD	AUGMSG
   4791	000612	000000G				.WORD	SEPMSG
   4792	000614	000000G				.WORD	OCTMSG
   4793	000616	000000G				.WORD	NOVMSG
   4794	000620	000000G				.WORD	DECMSG
   4795
   4796	007154				.PSECT
GTTIM -- INPUT AND DISPLAY DATE	MACRO V05.04  Tuesday 17-May-88 14:36  Page 116
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

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

   4844	007270				20$:
   4845	007270	010100 				MOV	R1,R0		; ...GET THE MINUTE
   4846	007272					CALL	.TYELA		; ...PRINT IT
	007272	004737 	000000G			 JSR	PC,.TYELA
   4847	007276					POP	<R1,R0,.ORADX>	; ...RESTORE THE REGISTERS
	007276	012601 				 MOV	(SP)+,R1
	007300	012600 				 MOV	(SP)+,R0
	007302	012637 	000000G			 MOV	(SP)+,.ORADX
   4848	007306					CALLR	.TYSPC		; TYPE A <SPACE> AND EXIT
	007306	000137 	000000G			 JMP	.TYSPC
   4849						;
GTTIM -- INPUT AND DISPLAY DATE	MACRO V05.04  Tuesday 17-May-88 14:36  Page 117
.TYTIM -- TIME OUTPUT SUBROUTINE 7702.16

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

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

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

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

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

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

   5050	007364				.INKLF::
   5051	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
   5052	007376	103461 				BCS	60$		; ERROR IF CC-C IS SET
   5054	007400	005737 	000000G			TST	.KLERQ		; [5.1006]KL CRASH?
   5055	007404	001055 				BNE	50$		; [5.1006]YES -- EXIT
   5057	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)
   5058	007416					CALL	.DTSTA		; ....READ THE DTE-20 STATUS REGISTER
	007416	004737 	000000G			 JSR	PC,.DTSTA
   5059	007422	032700 	000010 			BIT	#ST.MOD,R0	; ....IS THE DTE-20 PRIVILEGED?
   5061	007426	001047 				BNE	INIDNP		; ....UGH, BLETCH -- NO
   5063	007430					CALL	.CESCK		; ....YES -- SEE IF CLOCK ERROR STOP IS UP
	007430	004737 	000000G			 JSR	PC,.CESCK
   5064	007434	012702 	000000G			MOV	#.KLFLG,R2	; ....FLAG POINTER TO R2
   5065	007440	042712 	140000 			BIC	#KF.CLK!KF.RUN,(R2)
   5066									; ....CLEAR THE CLOCK AND RUNNING FLAGS
   5067	007444	005037 	000000G			CLR	.EDKLX		; ....RESET THE ADDRESS TO ZERO
   5068	007450	005037 	000002G			CLR	.EDKLX+2	; ....
   5069	007454	012700 	000200 			MOV	#ED.PHY,R0	; ....PHYSICAL REFERENCE
   5070	007460	012701 	000622'			MOV	#.INEXT,R1	; ....POINT TO DATA BLOCK
   5071	007464					CALL	.EXKLM		; ....EXAMINE KL MEMORY
	007464	004737 	000000G			 JSR	PC,.EXKLM
   5072	007470	052712 	100600 			BIS	#KF.CON!KF.KLO!KF.CLK,(R2) ;*
   5073									; ....SET THE CLOCK RUNNING FLAG
   5074	007474	012703 	000144 			MOV	#^D100,R3	; ....LOOP COUNT TO R3
   5075	007500				10$:
   5076	007500					CALL	.DTDW1		; ....READ DIAG WORD 1
	007500	004737 	000000G			 JSR	PC,.DTDW1
   5077	007504	032700 	002000 			BIT	#D1.RUN,R0	; ....IS RUN ON?
   5081	007510	001002 				BNE	20$		; ....YES -- GO ON
   5082	007512	077306 				SOB	R3,10$		; ....NO -- LOOP TILL COUNT EXHAUSTED
   5083	007514	000405 				BR	30$		; ....CAN'T FIND IT, GIVE UP
   5084						;
   5085
   5086					;	[CONTINUED ON THE FOLLOWING PAGE]
INITC -- INITIALIZE COMMAND MOD	MACRO V05.04  Tuesday 17-May-88 14:36  Page 124
.INKLF -- SUBROUTINE TO SET UP KL STATE WORD 7601.09

   5088					;	[CONTINUED FROM THE PREVIOUS PAGE]
   5089
   5090	007516				20$:
   5091	007516	032700 	001000 			BIT	#D1.HLP,R0	; ....IS THE HALT LOOP THERE TOO?
   5093	007522	001014 				BNE	INIDTC		; ....YES -- GIVE "DTC" ERROR
   5095	007524	052712 	040000 			BIS	#KF.RUN,(R2)	; ....NO -- FOUND IT OK, SET THE FLAG
   5096	007530				30$:
   5110	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
   5111	007540				50$:	RETURN			; TO CALLER
	007540	000207 				 RTS	PC
   5112	007542				60$:
   5113	007542	000137 	000000G			JMP	.EXITP		; ERROR EXIT
   5114						;
   5115	007546				INIDNP:
   5116	007546					ERROR$	DNP		; ERROR -- DTE-20 NOT PRIVILEGED
	007546	012746 	015500 			 MOV	#^RDNP,-(SP)
	007552	104400 				 TRAP	TC.ERR
   5117						;
   5118	007554				INIDTC:
   5119	007554					ERROR$	DTC		; ERROR --DTE-20 CONFUSED
	007554	012746 	016043 			 MOV	#^RDTC,-(SP)
	007560	104400 				 TRAP	TC.ERR
   5120						;
   5121
   5122	000622				.PSECT	DATA
   5123
   5124	000622				.INEXT:
   5125	000622	000000G				.WORD	.EDKLX		; ADDRESS 0
   5126	000624	000000G				.WORD	.EXBFR		; PLACE FOR DATA
   5127
   5128	007562				.PSECT
INITC -- INITIALIZE COMMAND MOD	MACRO V05.04  Tuesday 17-May-88 14:36  Page 125
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

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

   5173					; 	[CONTINUED FROM THE PREVIOUS PAGE]
   5174
   5175	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
   5176	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
   5177	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
   5178	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
   5180	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
   5182	007732					CALL	.TCRLF		; INIT CONSOLE
	007732	004737 	000000G			 JSR	PC,.TCRLF
   5183	007736					CALL	.INIC0		; INIT ".KLFLG"
	007736	004737 	007332'			 JSR	PC,.INIC0
   5184	007742	000177 	000000G			JMP	@.STRTV		; START THE PARSER
   5185						;
   5186	007746				10$:
   5187	007746					CALLR	.EXITP		; EXIT GRACEFULLY
	007746	000137 	000000G			 JMP	.EXITP
   5188						;
INITC -- INITIALIZE COMMAND MOD	MACRO V05.04  Tuesday 17-May-88 14:36  Page 127
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

   5190					; ASSIGN CONSOLE INPUT DEVICE
   5191
   5192	000016				.PSECT	DPBS
   5193
   5194	000016				.ASCID::
   5198	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
   5200
   5201					; ASSIGN CONSOLE OUTPUT DEVICE
   5202
   5203	000026				.ASCOD::
   5207	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
   5209
   5210					; ASSIGN LINEPRINTER DEVICE
   5211
   5212	000036				.ASLST::
   5213	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
   5214
   5215	007752				.PSECT
INITC -- INITIALIZE COMMAND MOD	MACRO V05.04  Tuesday 17-May-88 14:36  Page 129
.INICP -- INITIALIZE THE COMMAND PARSER 7601.21

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

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

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

	002247	   105 	   040 	   105
	002252	   102 	   125 	   123
	002255	   000
   5358	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
   5359	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
   5360	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
   5361	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
   5362	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
   5363	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
   5364	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
   5365	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
   5366	010234				.PSECT
KLEDEF -- KLERR SNAPSHOT DEFAUL	MACRO V05.04  Tuesday 17-May-88 14:36  Page 131
.SNAP -- ROUTINE TO MANUALLY PERFORM A SNAPSHOT

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

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

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

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

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

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

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

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

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

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

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

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

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

   5786					; DPB FOR REQUEST DIRECTIVE
   5787
   5788					;	!===============================================!
   5789					; 00	!	DPB SIZE	!	  DIC		!
   5790					;	!-----------------------------------------------!
   5791					; 02	!	    TASK NAME IN .RAD50 (HIGH)		!
   5792					;	!-----------------------------------------------!
   5793					; 04	!	    TASK NAME IN .RAD50 (LOW)		!
   5794					;	!-----------------------------------------------!
   5795					; 06	!	     PARTITION NAME (IGNORED)		!
   5796					;	!-----------------------------------------------!
   5797					; 10	!	     PARTITION NAME (IGNORED)		!
   5798					;	!-----------------------------------------------!
   5799					; 12	!		TASK PRIORITY			!
   5800					;	!-----------------------------------------------!
   5801					; 14	!		UIC (IGNORED)			!
   5802					;	!===============================================!
   5803
   5804	000046				.PSECT	DPBS
   5805
   5806	000046				.RNDPB::
   5807	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	,
   5808
   5809	011024				.PSECT
RUNCM -- RUN/TAKE COMMAND MODUL	MACRO V05.04  Tuesday 17-May-88 14:36  Page 146
.TAKEC -- THE "TAKE" COMMAND

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

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

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

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

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

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

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

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

   6072	000730	000100 			RACADR:	.WORD	100		; ADDR BITS 20-35
   6073	000732	000000 				.WORD	0		; ADDR BITS 14-19
   6074	000734	000000 			RACDAT:	.WORD	0		; DATA BITS 20-35
   6075	000736	000000 				.WORD	0		; DATA BITS 4-19
   6076	000740	000010 				.WORD	10		; DATA BITS 0-3
   6077
   6078	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
   6079
   6080	011404				.PSECT
SAVEC -- SAVE/RESTORE COMMAND D	MACRO V05.04  Tuesday 17-May-88 14:36  Page 154
.SAVEC -- THE "SAVE" COMMAND DISPATCH 8306.09

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

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

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

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

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

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

	011772	000207 				 RTS	PC
   6296
   6297						.DSABL	LSB
   6298
   6299					; TABLE FOR VMA PC BOARD READS
   6300
   6301	000750				.PSECT	DATA
   6302	000750				SVPCTB:
   6303	000750	000150 				.WORD	FR.150/2	; BASE READ FOR PC REGISTER
   6304	000752	135673 				.WORD	135673		; BIT MASK   "  "     "
   6305	000754	177776 				.WORD	-^D2		; SHIFT CNT  "  "     "
   6306	011774				.PSECT
SAVEC -- SAVE/RESTORE COMMAND D	MACRO V05.04  Tuesday 17-May-88 14:36  Page 160
.SAVPC -- PC READ SUBROUTINE 8306.17

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

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

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

	012116	012600 				 MOV	(SP)+,R0
   6438	012120	005700 				TST	R0		; PRINT AC BLOCK?
   6439	012122	001002 				BNE	20$		; NO -- EXIT
   6440	012124					CALL	.WHACB		; YES -- OUTPUT CURRENT AC BLOCK NO.
	012124	004737 	012132'			 JSR	PC,.WHACB
   6441	012130				20$:	RETURN			; EXIT
	012130	000207 				 RTS	PC
   6442
   6443	000756				.PSECT	DATA
   6444
   6445	000756	000762'			DEPBLK:	.WORD	TEMADR		; OBJECT ADDR PTR
   6446	000760	000766'				.WORD	ACDAT		; DEPOSIT DATA PTR
   6447	000762	000100 			TEMADR:	.WORD	100		; ADDR BITS 20-35
   6448	000764	000000 				.WORD	0		; ADDR BITS 14-19
   6449	000766	000000 			ACDAT:	.WORD	0		; DATA BITS 20-35
   6450	000770	000000 				.WORD	0		; DATA BITS 4-19
   6451	000772	000010 				.WORD	10		; DATA BITS 0-3
   6452
   6453	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
   6454
   6455	012132				.PSECT
SCACB -- SET AC-BLOCK COMMAND M	MACRO V05.04  Tuesday 17-May-88 14:36  Page 163
.WHACB -- WHAT AC BLOCK COMMAND

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

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

   6534	012356	101230 				BHI	SCANOR		; NO -- ERROR
   6535	012360	010002 				MOV	R0,R2		; YES -- SET ARGUMENT
   6536	012362					CALL	.SWPAC		; SWEEP BLOCK
	012362	004737 	012514'			 JSR	PC,.SWPAC
   6537	012366	000437 				BR	30$		; DONE
   6538	012370	032700 	000010 		15$:	BIT	#10,R0		; [4.1.1049]FM ERROR?
   6539	012374	001442 				BEQ	40$		; [4.1.1049]NO -- DONE
   6540	012376	012702 	000007 		17$:	MOV	#7,R2		; YES -- START WITH LAST BLOCK
   6541	012402				20$:	CALL	.SWPAC		; SWEEP IT
	012402	004737 	012514'			 JSR	PC,.SWPAC
   6542	012406	005302 				DEC	R2		; NEXT AC BLOCK
   6543	012410	002374 				BGE	20$		; DONE?
   6544	012412	005737 	001002'			TST	FMERR		; [4.1.1049]ANY ERRORS?
   6545	012416	001423 				BEQ	30$		; [4.1.1049]NO -- GO ON
   6546	012420	005737 	000000G			TST	.PASS		; [4.1.1049]YES -- PASS 2?
   6547	012424	001005 				BNE	25$		; [4.1.1049]YES -- ABORT RELOAD
   6548	012426	005237 	000000G			INC	.PASS		; [4.1.1049]NO -- SET SECOND PASS
   6549	012432	005037 	001002'			CLR	FMERR		; [4.1.1049]CLEAR ERROR COUNT
   6550	012436	000757 				BR	17$		; [4.1.1049]RESWEEP
   6551	012440	012700 	002462'		25$:	MOV	#FMABO,R0	; [4.1.1049]ABORT MESSAGE
   6552	012444					CALL	.TYLIN		; [4.1.1049]TYPE IT
	012444	004737 	000000G			 JSR	PC,.TYLIN
   6553	012450	032737 	000000G	000000G		BIT	#KL.REQ,.KLIWD	; [4.1.1049]KLI REQUESTED
   6554	012456	001403 				BEQ	30$		; [4.1.1049]NO -- DONE
   6555	012460	052737 	000000G	000000G		BIS	#KL.ABO,.KLIWD	; [4.1.1049]YES -- ABORT RELOAD
   6556	012466	013702 	001014'		30$:	MOV	SAVBLK,R2	; YES -- RESTORE ORIGINAL AC BLOCK
   6557	012472	012700 	000001 			MOV	#1,R0		; SET NO WHAT AC FLAG
   6558	012476					CALL	.SACB1		; SET AC BLOCK
	012476	004737 	012050'			 JSR	PC,.SACB1
   6559	012502	005037 	000000G		40$:	CLR	.SWPIP		; CLEAR SWEEP IN PROGRESS
   6560	012506					POP	.NOERR		; RESTORE ERROR,HALT STATUS
	012506	012637 	000000G			 MOV	(SP)+,.NOERR
   6561	012512					RETURN			; EXIT
	012512	000207 				 RTS	PC
   6562
   6563	001002				.PSECT	DATA
   6564
   6565	001002	000000 			FMERR:	.WORD	0		; [4.1.1049]ERROR COUNT
   6566	001004	000000 	000000 	000000 	FMBUF:	.WORD	0,0,0,0
	001012	000000
   6567
   6568	001014	000000 			SAVBLK:	.WORD	0		; ORIGINAL AC BLOCK NO.
   6569
   6570	002416				.PSECT	MESSAG
   6571
   6572	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 V05.04  Tuesday 17-May-88 14:36  Page 164-2
.SWPC -- SWEEP AC BLOCK COMMAND

   6573	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