Google
 

Trailing-Edge - PDP-10 Archives - AP-4178E-RM - swskit-sources/klerr.lis
There is 1 other file named klerr.lis in the archive. Click here to see a list.
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46
TABLE OF CONTENTS

    2-  39	*RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09
    3-  58	*RSX20F COMMAND PARSER MACRO CALLS* 7601.09
    4-  81	*RSX20F LOCAL MACRO DEFINITIONS* 7511.11
    5- 109	*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
   20-  93	ROUTINE TO SETUP FIXED BLOCK
   21-   2	*LOCAL DEFINITIONS AND PARAMETERS* 7601.09
   23-  81	*COMSUB HISTORY OF EDITS* 7601.09
   30- 386	*LOCAL DEFINITIONS* 7511.24
   43- 909	*ERROR CODE LIST* 7511.24
   44- 973	*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
   46-1090	*.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05
   48-1144	*.BURST -- MBOX CLOCK BURST SUBROUTINE* 7601.02
   49-1190	*.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP* 7512.03
   50-1234	*.CLIPE -- SUBROUTINE TO CLEAR INTERNAL PARITY STOP* 7510.24
   51-1273	*.CLRFF -- CLEAR KL10 RUN FLOP SUBROUTINE* 7601.09
   52-1307	*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
   55-1408	*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
   58-1489	*.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01
   60-1560	*.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR* 7512.03
   61-1594	*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
   64-1689	*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
   68-1823	*.INIT -- INITIALIZATION SUBROUTINE* 7509.26
   69-1871	*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
   72-1973	*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.09
   75-2062	*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
   78-2136	*.KLST -- START KL10 SUBROUTINE* 7601.02
   80-2191	*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
   82-2242	*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
   84-2313	*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512.19
   87-2361	*.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
   88-2407	*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
   90-2459	*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
   92-2541	*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
   99-2779	*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
  105-2989	*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
  107-3035	*.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.24
  108-3082	*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES* 7510.09
  117-3400	*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509.23
  124-3635	*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
  126-3711	*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
  128-3762	*.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
  129-3799	*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
  131-3856	*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
  133-3909	*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
  135-3973	*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
  138-4095	*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
  141-4197	*.RESET -- KL10 RESET SUBROUTINES* 7511.18
  144-4297	*.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511.19
  145-4313	*.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.19
  146-4338	*.RESTD -- RESET THE DTE-20* 7511.19
  147-4368	*.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
  148-4403	*.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
  149-4437	*.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
  150-4469	*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
  152-4552	*.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
  153-4588	*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
  160-4869	*.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46
TABLE OF CONTENTS

  161-4916	*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
  163-4981	*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
  165-5046	*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
  168-5132	*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
  170-5186	*GENERAL SUPPORT SUBROUTINES* 7508.26
  172-5224	*REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
  173-5255	*DIRECTIVE PARAMETER BLOCKS* 7508.20
  177-5395	*PROGRAM STORAGE* 7508.20
  202-   2	KLNUM -- TITLE PAGE
  204-  52	EDIT HISTORY/RAB 7511.14
  205-  64	KLADD	ADD TWO KL NUMBERS
  206-  90	KLSUB	SUBTRACT ROUTINES
  207- 115	VARIOUS UTILITY ROUTINES/RAB 7509.05
  209- 164	16 & 36 BIT MANIPULATION ROUTINES
  210- 208	KLMULI - MULTIPLY 36 BITS BY 16 BITS
  211- 241	KLDIVI - DIVIDE 36 BITS BY 16 BITS
  212- 256	MORE 16 & 36 BIT MANIPULATION
  214- 310	KL10 LOGICAL OPERATOR SIMULATIONS
  215- 343	MORE KL10 LOGICAL OPERATORS
  216- 386	MORE MISC KL FUNCTIONS/RAB 7509.19
  217- 422	KLLSH - SHIFT A KL NUMBER
  218- 454	KLCLR - CLEAR A KL FORMAT NUMBER
  219- 473	KLRSH	SHIFT A NUMBER RIGHT
  222-   2	KLPERR -- TITLE PAGE
  223-  33	*ERROR SEVERITY RANGES* 7509.08
  224-  47	ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509.08
  225- 145	PRTERR -- COMMAND PARSER ERROR DECODER
  229-  95	DIRECTORY FILE NAME BLOCK
  229- 109	KLERRO.SNP FILE NAME BLOCK
  229- 114	FILE ID BLOCK
  229- 118	FILE ATTRIBUTE CONTROL BLOCK
  229- 129	START UP KLINIT
  229- 133	ASSIGN LUN1 TO CTY #0
  229- 137	ASSIGN LUN2 TO SY #0
  229- 147	DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
  229- 152	DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
  229- 178	INFORMATIONAL MESSAGES OUTPUT BY KLERR
  229- 262	ERROR MESSAGES OUTPUT BY KLERR
  229- 284	ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
  229- 298	OUTPUT KLERR RUNNING MSG
  229- 314	HALT -10, GET PC, PI, AND ERROR CODE
  229- 391	FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
  229- 404	ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
  229- 421	ROUTINE TO CREATE KLERRO.SNP FILE
  229- 436	ROUTINE TO ENTER FILE NAME INTO DIRECTORY
  229- 454	ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
  229- 467	ROUTINE TO EXTEND KLERRO.SNP FILE
  229- 481	ROUTINE TO WRITE A RECORD
  229- 529	SUBROUTINE TO PRINT ERROR HALT MSG
  229- 587	SUBROUTINE TO SET UP ERROR CODE
  229- 612	CONVERT RAD50 TO ASCII
  229- 644	SUBROUTINE TO SET UP PC
  229- 675	SUBROUTINE TO SET UP PI
  229- 724	SUBROUTINE TO SET UP FILE NAME
  229- 740	ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
  229- 792	ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
  229- 882	ROUTINE TO READ/WRITE FROM/TO CTY 0
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46
TABLE OF CONTENTS

  229- 944	COMMON ERROR AND EXIT ROUTINE
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 1


      1						.TITLE	KLERR	- KL10 ERROR RECORDER
      2						.IDENT	/002010/
      3
      4					;                             COPYRIGHT (C) 1975, 1978 BY
      5					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      6					;
      7					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
      8					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
      9					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     10					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     11					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     12					;
     13					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     14					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     15					;       CORPORATION.
     16					;
     17					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     18					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     19
     20					;
     21					;	VERSION:	02-01
     22					;
     23					;	AUTHORS:	R.A. BELANGER
     24					;			P.A. GAGNER
     25					;			T.C. PORCHER
     26					;			R.C. BEAVEN
     27					;
     28					;	DATE:		7601.09
     29					;
     30					; SET VERSION OF KLERR HERE:
     31					;
     32		000002 			KLE$$V	=	2		; VERSION 2
     33		000002 			KLE$$E	=	2		; EDIT 2
     34					;
     35					; RELEASE VERSION
     36					;
     37		000126 			KLE$$K	=	'V		; KEY FOR RELEASE
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 2
*RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09

     39						.SBTTL	*RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09
     40
     41		000001 			$AGAIN==1		; INCLUDE AGAIN COMMAND IF .NE. 0
     42		000001 			$AUTO==1		; INCLUDE AUTO COMMAND IF .NE.0
     43		000000 			$RAMSW==0		; INCLUDE CRAM / DRAM FEATURES IF .NE. 0
     44		000000 			$DISTB==0		; INCLUDE DISPATCH TBL IF .NE. 0
     45		000000 			$HLPSW==0		; INCLUDE HELP COMMAND IF .NE. 0
     46		000001 			$LPTSW==1		; INCLUDE LPT SUPPORT IF .NE. 0
     47		000000 			$MBPSW==0		; INCLUDE MBOX PHASE ROUTINE IF .NE. 0
     48		000001 			$MCRSW==1		; INCLUDE MCR COMMAND IF .NE.0
     49		000001 			$RSXSW==1		; RELY ON RSX FOR DTE-20 IF .NE. 0
     50		000001 			$SCLCK==1		; INCLUDE SET CLOCK IF .NE. 0
     51		000001 			$SPRSW==1		; INCLUDE PARITY FEATURES IF .NE. 0
     52		000000 			$T04SW==0		; INCLUDE TRAP AT 4 CODE IF .NE.0
     53		000001 			$TRKSW==1		; INCLUDE TRACK FEATURE IF .NE. 0
     54		000000 			$TRPSW==0		; INCLUDE CODE FOR TRAP INSTR IF .NE. 0
     55		000001 			$TKBSW==1		; RSX TASK BUILT IF .NE. 0
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 3
*RSX20F KL10 COMMAND PARSER ASSEMBLY SWITCHES* 7601.09

     57
     58					.SBTTL	*RSX20F COMMAND PARSER MACRO CALLS* 7601.09
     59
     60					.MCALL	$DEF, QIOSY$, SOB, .INH, .ENB
     61					.MCALL	ALUN$, QIO$, WTSE$S, SETF$S, QIOW$C, QIOW$
     62					.MCALL	SVTK$S, RQST$, GSSW$
     63					.MCALL	.STKM, EXIT$S, CLEF$S
     64					.MCALL	KLDX$, KLDR$, KLDW$, PREX$, PRDP$
     65					.MCALL	CALL, RETURN, PUSH, POP
     66					.MCALL	WTSE$S, MRKT$
     67
     68	000000				$DEF
     69	000000				QIOSY$
     70
     71		000100 			CF.CTC==^D64			; CONTROL-C TYPED EVENT FLAG
     72		000001 			CF.HTO==^D1			; KL10 HALT TIMEOUT EVENT FLAG
     73		000002 			CF.TID==^D2			; TERMINAL INPUT DONE EVENT FLAG
     74		000003 			CF.TOD==^D3			; TERMINAL OUTPUT DONE EVENT FLAG
     75		000004 			CF.LOD==^D4			; LIST DEVICE OUTPUT DONE FLAG
     76
     77					.ENABL	AMA
     78					.LIST	MEB
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 4
*RSX20F COMMAND PARSER MACRO CALLS* 7601.09

     80
     81					.SBTTL	*RSX20F LOCAL MACRO DEFINITIONS* 7511.11
     82
     83					.MACRO	CALLR	DEST
     84						JMP	DEST		; JUMP AND RETURN FROM "DEST"
     85					.ENDM	CALLR
     86
     87					.MACRO	ERROR$	ERR,DEST
     88					ER$'ERR=.
     89					.IF NB,DEST
     90						MOV	(PC)+,DEST	; MOVE .RAD50 ERROR CODE TO DEST
     91					.IFF
     92						MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
     93					.ENDC
     94						.RAD50	/ERR/		; "ERR" ERROR CODE IN .RAD50
     95					.ENDM	ERROR$
     96
     97
     98					.MACRO	CPERR	CODE,SEVERE,STRING
     99					.PSECT	SYMTAA			; ASCII AREA
    100					SYMA==.
    101					.ASCIZ %CODE - STRING%
    102					.PSECT	SYMTBS			; RIGHT SECTION
    103						.RAD50	/CODE/		; CODE ERROR
    104						.WORD	SEVERE		; SEVERITY WORD
    105						.WORD	SYMA		; LOCATION OF ASCII STRNG
    106					.ENDM	CPERR
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 5
*RSX20F LOCAL MACRO DEFINITIONS* 7511.11

    108
    109					.SBTTL	*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10
    110
    111					; DEFINE KL10 OPCODES
    112
    113		000270 			ADD=270			; ADD
    114		000273 			ADDB=273		; ADD TO BOTH
    115		000271 			ADDI=271		; ADD IMMEDIATE
    116		000272 			ADDM=272		; ADD TO MEMORY
    117
    118		000404 			AND=404			; AND
    119		000407 			ANDB=407		; AND TO BOTH
    120		000410 			ANDCA=410		; AND COMPLEMENT OF AC
    121		000413 			ANDCAB=413		; AND COMPLEMENT OF AC TO BOTH
    122		000411 			ANDCAI=411		; AND COMPLEMENT OF AC IMMEDIATE
    123		000412 			ANDCAM=412		; AND COMPLEMENT OF AC TO MEMORY
    124		000440 			ANDCB=440		; AND COMPLEMENT OF BOTH
    125		000443 			ANDCBB=443		; AND COMPLEMENT OF BOTH TO BOTH
    126		000441 			ANDCBI=441		; AND COMPLEMENT OF BOTH IMMEDIATE
    127		000442 			ANDCBM=442		; AND COMPLEMENT OF BOTH TO MEMORY
    128		000420 			ANDCM=420		; AND COMPLEMENT OF MEMORY
    129		000423 			ANDCMB=423		; AND COMPLEMENT OF MEMORY TO BOTH
    130		000421 			ANDCMI=421		; AND COMPLEMENT OF MEMORY IMMEDIATE
    131		000422 			ANDCMM=422		; AND COMPLEMENT OF MEMORY TO MEMORY
    132		000405 			ANDI=405		; AND IMMEDIATE
    133		000406 			ANDM=406		; AND TO MEMORY
    134
    135		000253 			AOBJN=253		; ADD 1 TO BOTH HALVES, JUMP IF NEGATIVE
    136		000252 			AOBJP=252		; ADD 1 TO BOTH HALVES, JUMP IF POSITIVE
    137
    138		000340 			AOJ=340			; ADD 1 AND (DON'T) JUMP
    139		000344 			AOJA=344		; ADD 1 AND JUMP ALWAYS
    140		000342 			AOJE=342		; ADD 1 AND JUMP IF .EQ. 0
    141		000347 			AOJG=347		; ADD 1 AND JUMP IF .GT. 0
    142		000345 			AOJGE=345		; ADD 1 AND JUMP IF .GE. 0
    143		000341 			AOJL=341		; ADD 1 AND JUMP IF .LT. 0
    144		000343 			AOJLE=343		; ADD 1 AND JUMP IF .LE. 0
    145		000346 			AOJN=346		; ADD 1 AND JUMP IF .NE. 0
    146
    147		000350 			AOS=350			; ADD 1 AND (DON'T) SKIP
    148		000354 			AOSA=354		; ADD 1 AND SKIP ALWAYS
    149		000352 			AOSE=352		; ADD 1 AND SKIP IF .EQ. 0
    150		000357 			AOSG=357		; ADD 1 AND SKIP IF .GT. 0
    151		000355 			AOSGE=355		; ADD 1 AND SKIP IF .GT. 0
    152		000351 			AOSL=351		; ADD 1 AND SKIP IF .LT. 0
    153		000353 			AOSLE=353		; ADD 1 AND SKIP IF .LE. 0
    154		000356 			AOSN=356		; ADD 1 AND SKIP IF .NE. 0
    155
    156		000240 			ASH=240			; ARITHMETIC SHIFT
    157		000244 			ASHC=244		; ARITHMETIC SHIFT COMBINED
    158
    159		000251 			BLT=251			; BLOCK TRANSFER
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 6
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    161
    162		000300 			CAI=300			; COMPARE AC IMMEDIATE, DON'T SKIP
    163		000304 			CAIA=304		; COMPARE AC IMMEDIATE, SKIP ALWAYS
    164		000302 			CAIE=302		; COMPARE AC IMMEDIATE, SKIP IF .EQ.
    165		000307 			CAIG=307		; COMPARE AC IMMEDIATE, SKIP IF .GT.
    166		000305 			CAIGE=305		; COMPARE AC IMMDEIATE, SKIP IF .GE.
    167		000301 			CAIL=301		; COMAPRE AC IMMEDIATE, SKIP IF .LT.
    168		000303 			CAILE=303		; COMPARE AC IMMEDIATE, SKIP IF .LE.
    169		000306 			CAIN=306		; COMPARE AC IMMEDIATE, SKIP IF .NE.
    170
    171		000040 			CALL=040		; "CALL" UUO
    172		000047 			CALLI=047		; "CALLI" UUO
    173
    174		000310 			CAM=310			; COMPARE AC TO MEMORY, DON'T SKIP
    175		000314 			CAMA=314		; COMPARE AC TO MEMORY, ALWAYS SKIP
    176		000312 			CAME=312		; COMPARE AC TO MEMORY, SKIP IF .EQ.
    177		000317 			CAMG=317		; COMPAFE AC TO MEMORY, SKIP IF .GT.
    178		000315 			CAMGE=315		; COMPARE AC TO MEMORY, SKIP IF .GE.
    179		000311 			CAML=311		; COMPARE AC TO MEMORY, SKIP IF .LT.
    180		000313 			CAMLE=313		; COMPARE AC TO MEMORY, SKIP IF .LE.
    181		000316 			CAMN=316		; COMPARE AC TO MEMORY, SKIP IF .NE.
    182
    183		000400 			CLEAR=400		; CLEAR AC
    184		000403 			CLEARB=403		; CLEAR BOTH
    185		000401 			CLEARI=401		; CLEAR IMMEDIATE
    186		000402 			CLEARM=402		; CLEAR MEMORY
    187
    188		000070 			CLOSE=070		; "CLOSE" UUO
    189
    190		000110 			DFAD=110		; DOUBLE FLOATING ADD
    191		000113 			DFDV=113		; DOUBLE FLOATING DIVIDE
    192		000112 			DFMP=112		; DOUBLE FLOATING MULTIPLY
    193		000131 			DFN=131			; DOUBLE FLOATING NEGATE
    194		000111 			DFSB=111		; DOUBLE FLATING SUBTRACT
    195
    196		000234 			DIV=234			; DIVIDE
    197		000237 			DIVB=237		; DIVIDE BOTH
    198		000235 			DIVI=235		; DIVIDE IMMEDIATE
    199		000236 			DIVM=236		; DIVIDE MEMORY
    200
    201		000120 			DMOVE=120		; DOUBLE MOVE
    202		000124 			DMOVEM=124		; DOUBLE MOVE TO MEMORY
    203		000121 			DMOVN=121		; DOUBLE MOVE NEGATED
    204		000125 			DMOVNM=125		; DOUBLE MOVE NEGATED TO MEMORY
    205
    206		000137 			DPB=137			; DEPOSIT BYTE
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 7
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    208
    209		000077 			ENTER=077		; "ENTER" UUO
    210
    211		000444 			EQV=444			; EQUIVALENCE TO AC
    212		000447 			EQVB=447		; EQUIVALENCE TO BOTH
    213		000445 			EQVI=445		; EQUIVALENCE IMMEDIATE
    214		000446 			EQVM=446		; EQUIVALENCE TO MEMORY
    215
    216		000250 			EXCH=250		; EXCHANGE
    217
    218		000140 			FAD=140			; FLOATING ADD
    219		000143 			FADB=143		; FLOATING ADD BOTH
    220		000141 			FADL=141		; FLOATING ADD LONG
    221		000142 			FADM=142		; FLOATING ADD MEMORY
    222
    223		000144 			FADR=144		; FLOATING ADD, ROUNDED
    224		000147 			FADRB=147		; FLOATING ADD, ROUNDED TO BOTH
    225		000145 			FADRI=145		; FLOATING ADD, ROUNDED IMMEDIATE
    226		000146 			FADRM=146		; FLOATING ADD, ROUNDED TO MEMORY
    227
    228		000170 			FDV=170			; FLOATING DIVIDE
    229		000173 			FDVB=173		; FLOATING DIVIDE TO BOTH
    230		000171 			FDVL=171		; FLOATING DIVIDE LONG
    231		000172 			FDVM=172		; FLOATING DIVIDE TO MEMORY
    232
    233		000174 			FDVR=174		; FLOATING DIVIDE, ROUNDED
    234		000177 			FDVRB=177		; FLOATING DIVIDE, ROUNDED TO BOTH
    235		000175 			FDVRI=175		; FLOATING DIVIDE, ROUNDED IMMMEDIATE
    236		000176 			FDVRM=176		; FLOATING DIVIDE, ROUNDED TO MEMORY
    237
    238		000122 			FIX=122			; FIX
    239		000126 			FIXR=126		; FIX AND ROUND
    240
    241		000127 			FLTR=127		; FLOAT AND ROUND
    242
    243		000160 			FMP=160			; FLOATING MULTIPLY
    244		000163 			FMPB=163		; FLOATING MULTIPLY TO BOTH
    245		000161 			FMPL=161		; FLOATING MULTIPLY LONG
    246		000162 			FMPM=162		; FLOATING MULTIPLY TO MEMORY
    247
    248		000164 			FMPR=164		; FLOATING MUTIPLY ROUNDED
    249		000167 			FMPRB=167		; FLOATING MULTIPLY ROUNDED, TO BOTH
    250		000165 			FMPRI=165		; FLOATING MULTIPLY ROUNDED, IMMEDIATE
    251		000166 			FMPRM=166		; FLOATING MULTIPLY ROUNDED, TO MEMORY
    252
    253		000150 			FSB=150			; FLOATING SUBTRACT
    254		000153 			FSBB=153		; FLOATING SUBTRACT TO BOTH
    255		000151 			FSBL=151		; FLOATING SUBTRACT LONG
    256		000152 			FSBM=152		; FLOATING SUBTRACT TO MEMORY
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 8
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    258
    259		000154 			FSBR=154		; FLOATING SUBTRACT ROUNDED
    260		000157 			FSBRB=157		; FLOATING SUBTRACT ROUNDED, TO BOTH
    261		000155 			FSBRI=155		; FLOATING SUBTRACT ROUNDED, IMMEDIATE
    262		000156 			FSBRM=156		; FLOATING SUBTRACT ROUNDED, TO MEMORY
    263
    264		000132 			FSC=132			; FLOATING SCALE
    265
    266		000062 			GETSTS=062		; "GETSTS" UUO
    267
    268		000500 			HLL=500			; HALFWORD LEFT TO LEFT
    269		000530 			HLLE=530		;    "      "   "   "	EXTEND
    270		000531 			HLLEI=531		;    "      "   "   "     "    IMMEDIATE
    271		000532 			HLLEM=532		;    "      "   "   "     "    TO MEMORY
    272		000533 			HLLES=533		;    "      "   "   "     "    TO SELF
    273
    274		000501 			HLLI=501		; HALFWORD LEFT TO LEFT IMMEDIATE
    275		000502 			HLLM=502		;    "      "   "   "   TO MEMORY
    276
    277		000520 			HLLO=520		;    "      "   "   "   ONES
    278		000521 			HLLOI=521		;    "      "   "   "    "   IMMEDIATE
    279		000522 			HLLOM=522		;    "	    "	"   "	 "   MEMORY
    280		000523 			HLLOS=523		;    "	    "	"   "	 "   SELF
    281
    282		000503 			HLLS=503		; HALFWORD LEFT TO LEFT SELF
    283
    284		000510 			HLLZ=510		; HALFWORD LEFT TO LEFT ZERO, ET AL.
    285		000511 			HLLZI=511
    286		000512 			HLLZM=512
    287		000513 			HLLZS=513
    288
    289		000544 			HLR=544			; HALFWORD LEFT TO RIGHT
    290
    291		000574 			HLRE=574		; HALFWORD LEFT TO RIGHT EXTEND, ET AL.
    292		000575 			HLREI=575
    293		000576 			HLREM=576
    294		000577 			HLRES=577
    295
    296		000564 			HLRO=564		; HALFWORD LEFT TO RIGHT ONES, ET AL.
    297		000565 			HLROI=565
    298		000566 			HLROM=566
    299		000567 			HLROS=567
    300
    301		000547 			HLRS=547		; HALFWORD LEFT TO RIGHT SELF
    302
    303		000554 			HLRZ=554		; HALFWORD LEFT TO RIGHT ZEROS, ET AL.
    304		000555 			HLRZI=555
    305		000556 			HLRZM=556
    306		000557 			HLRZS=557
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 9
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    308
    309		000504 			HRL=504			; HALFWORD RIGHT TO LEFT
    310
    311		000534 			HRLE=534		; HALFWORD RIGHT TO LEFT EXTEND, ET AL.
    312		000535 			HRLEI=535
    313		000536 			HRLEM=536
    314		000537 			HRLES=537
    315
    316		000505 			HRLI=505		; HALFWORD RIGHT TO LEFT IMMEDIATE
    317		000506 			HRLM=506		;    "	     "	 "   "	 MEMORY
    318
    319		000564 			HRLO=564		; HALFWORD RIGHT TO LEFT ONES, ET AL.
    320		000565 			HRLOI=565
    321		000566 			HRLOM=566
    322		000567 			HRLOS=567
    323
    324		000507 			HRLS=507		; HALFWORD RIGHT TO LEFT SELF
    325
    326		000514 			HRLZ=514		; HALFWORD RIGHT TO LEFT ZERO, ET AL.
    327		000515 			HRLZI=515
    328		000516 			HRLZM=516
    329		000517 			HRLZS=517
    330
    331		000540 			HRR=540			; HALFWORD RIGHT TO RIGHT
    332
    333		000570 			HRRE=570		; HALFWORD RIGHT TO RIGHT EXTEND, ET AL.
    334		000571 			HRREI=571
    335		000572 			HRREM=572
    336		000573 			HRRES=573
    337
    338		000541 			HRRI=541		; HALFWORD RIGHT TO RIGHT IMMEDIATE
    339		000542 			HRRM=542		;    "	     "	 "    "	  MEMORY
    340
    341		000560 			HRRO=560		; HALFWORD RIGHT TO RIGHT ONES, ET AL.
    342		000561 			HRROI=561
    343		000562 			HRROM=562
    344		000563 			HRROS=563
    345
    346		000543 			HRRS=543
    347
    348		000550 			HRRZ=550		; HALFWORD RIGHT TO RIGHT ZERO, ET AL.
    349		000551 			HRRZI=551
    350		000552 			HRRZM=552
    351		000553 			HRRZS=553
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 10
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    353
    354		000133 			IBP=133			; INCREMENT BYTE POINTER
    355
    356		000230 			IDIV=230		; INTEGER DIVIDE
    357		000233 			IDIVB=233		;    "	    "	 BOTH
    358		000231 			IDIVI=231		;    "	    "	 IMMEDIATE
    359		000232 			IDIVM=232		;    "	    "	 MEMORY
    360
    361		000136 			IDPB=136		; INCREMENT AND DEPOSIT BYTE
    362
    363		000134 			ILDB=134		; DECREMENT AND LOAD BYTE
    364
    365		000220 			IMUL=220		; INTEGER MULTIPLY
    366		000223 			IMULB=223		;    "	     "	   BOTH
    367		000221 			IMULI=221		;    "	     "	   IMMEDIATE
    368		000222 			IMULM=222		;    "	     "     MEMORY
    369
    370		000056 			IN=056			; "IN" UUO
    371		000064 			INBUF=064		; "INBUF" UUO
    372		000041 			INIT=041		; "INIT" UUO
    373		000066 			INPUT=066		; "INPUT" UUO
    374
    375		000434 			IOR=434			; INCLUSIVE OR, ET AL.
    376		000437 			IORB=437
    377		000435 			IORI=435
    378		000436 			IORM=436
    379
    380		000255 			JFCL=255		; JUMP ON FLAGS AND CLEAR
    381
    382		000243 			JFFO=243		; JUMP IF FOUND FIRST 1
    383
    384		000267 			JRA=267			; JUMP AND RESTORE AC
    385
    386		000254 			JRST=254		; JUMP AND RESTORE (PC FLAGS)
    387
    388		000266 			JSA=266			; JUMP AND SAVE AC
    389
    390		000265 			JSP=265			; JUMP AND SAVE PC
    391
    392		000264 			JSR=264			; JUMP TO SUBROUTINE
    393
    394		000320 			JUMP=320		; JUMP (NEVER)
    395		000324 			JUMPA=324		; JUMP ALWAYS
    396		000322 			JUMPE=322		; JUMP IF AC .EQ. 0
    397		000327 			JUMPG=327		; JUMP IF AC .GT. 0
    398		000325 			JUMPGE=325		; JUMP IF AC .GE. 0
    399		000321 			JUMPL=321		; JUMP IF AC .LT. 0
    400		000323 			JUMPLE=323		; JUMP IF AC .LE. 0
    401		000326 			JUMPN=326		; JUMP IF AC .NE. 0
    402
    403		000700 			KLIOT=700		; I/O INSTRUCTION BASE
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 11
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    405
    406		000135 			LDB=135			; LOAD BYTE
    407
    408		000076 			LOOKUP=076		; "LOOKUP" UUO
    409
    410		000242 			LSH=242			; LOGICAL SHIFT
    411		000246 			LSHC=246		; LOGICAL SHIFT COMBINED
    412
    413		000257 			MAP=257			; MAP PAGED ADDRESS
    414
    415		000200 			MOVE=200		; MOVE
    416		000201 			MOVEI=201		; MOVE IMMEDIATE
    417		000202 			MOVEM=202		; MOVE TO MEMORY
    418		000203 			MOVES=203		; MOVE TO SELF
    419
    420		000214 			MOVM=214		; MOVE MAGNITUDE, ET AL.
    421		000215 			MOVMI=215
    422		000216 			MOVMM=216
    423		000217 			MOVMS=217
    424
    425		000210 			MOVN=210		; MOVE NEGATED, ET AL.
    426		000211 			MOVNI=211
    427		000212 			MOVNM=212
    428		000213 			MOVNS=213
    429
    430		000204 			MOVS=204		; MOVE SWAPPED, ET AL.
    431		000205 			MOVSI=205
    432		000206 			MOVSM=206
    433		000207 			MOVSS=207
    434
    435		000224 			MUL=224			; MULTIPLY
    436		000227 			MULB=227		; MULTIPLY BOTH
    437		000225 			MULI=225		; MULTIPLY IMMEDIATE
    438		000226 			MULM=226		; MULTIPLY MEMORY
    439
    440		000050 			OPEN=050		; "OPEN" UUO
    441
    442		000434 			OR=IOR			; (INCLUSIVE) OR, ET AL.
    443		000437 			ORB=IORB
    444
    445		000454 			ORCA=454		; OR WITH COMPLEMENT OF AC
    446		000457 			ORCAB=457		; "   "	      "	     "	"  BOTH
    447		000455 			ORCAI=455		; "   "	      "	     "	"  IMMEDIATE
    448		000456 			ORCAM=456		; "   "       "	     "	"  MEMORY
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 12
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    450
    451		000470 			ORCB=470		; OR WITH COMPLEMENT OF BOTH, ET AL.
    452		000473 			ORCBB=473
    453		000471 			ORCBI=471
    454		000472 			ORCBM=472
    455
    456		000464 			ORCM=464		; OR WITH COMPLEMENT OF MEMORY, ET AL.
    457		000467 			ORCMB=467
    458		000465 			ORCMI=465
    459		000466 			ORCMM=466
    460
    461		000435 			ORI=IORI		; (INCLUSIVE) OR, ET AL.
    462		000436 			ORM=IORM
    463
    464		000057 			OUT=057			; "OUT" UUO
    465		000065 			OUTBUF=065		; "OUTBUF" UUO
    466		000067 			OUTPUT=067		; "OUTPUT" UUO
    467
    468		000262 			POP=262			; POP
    469		000263 			POPJ=263		; POP (RETURN) AND JUMP
    470
    471		000261 			PUSH=261		; PUSH
    472		000260 			PUSHJ=260		; PUSH (RETURN) AND JUMP
    473
    474		000071 			RELEAS=071		; "RELEAS(E)" UUO
    475		000055 			RENAME=055		; "RENAME" UUO
    476
    477		000241 			ROT=241			; ROTATE
    478		000245 			ROTC=245		; ROTATE COMBINED
    479
    480		000424 			SETA=424		; SET TO AC
    481		000427 			SETAB=427		;  "  "	 "  BOTH
    482		000425 			SETAI=425		;  "  "	 "  IMMEDIATE
    483		000426 			SETAM=426		;  "  "  "  MEMORY
    484
    485		000450 			SETCA=450		; SET TO COMPLEMENT OF AC, ET AL.
    486		000453 			SETCAB=453
    487		000451 			SETCAI=451
    488		000452 			SETCAM=452
    489
    490		000460 			SETCM=460		; SET TO COMLEMENT OF MEMORY, ET AL.
    491		000463 			SETCMB=463
    492		000461 			SETCMI=461
    493		000462 			SETCMM=462
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 13
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    495
    496		000414 			SETM=414		; SET TO MEMORY, ET AL
    497		000417 			SETMB=417
    498		000415 			SETMI=415
    499		000416 			SETMM=416
    500
    501		000474 			SETO=474		; SET TO ONES, ET AL.
    502		000477 			SETOB=477
    503		000475 			SETOI=475
    504		000476 			SETOM=476
    505
    506		000060 			SETSTS=060		; "SETSTS" UUO
    507
    508		000400 			SETZ=400		; SET TO ZEROS, ET AL
    509		000403 			SETZB=403
    510		000401 			SETZI=401
    511		000402 			SETZM=402
    512
    513		000330 			SKIP=330		; SKIP (NEVER)
    514		000334 			SKIPA=334		; SKIP ALWAYS
    515		000332 			SKIPE=332		; SKIP IF MEMORY .EQ. 0
    516		000337 			SKIPG=337		; SKIP IF MEMORY .GT. 0
    517		000335 			SKIPGE=335		; SKIP IF MEMORY .GE. 0
    518		000331 			SKIPL=331		; SKIP IF MEMORY .LT. 0
    519		000333 			SKIPLE=333		; SKIP OF MEMORY .LE. 0
    520		000336 			SKIPN=336		; SKIP IF MEMORY .NE. 0
    521
    522		000360 			SOJ=360			; SUBTRACT 1 AND NEVER JUMP
    523		000364 			SOJA=364		; SUBTRACT 1 (FROM AC) AND ALWAYS JUMP
    524		000362 			SOJE=362		; SUBTRACT 1 AND JUMP IF AC .EQ. 0
    525		000367 			SOJG=367		; SUBTRACT 1 AND JUMP IF AC .GT. 0
    526		000365 			SOJGE=365		; SUBTRACT 1 AND JUMP IF AC .GE. 0
    527		000361 			SOJL=361		; SUBTRACT 1 AND JUMP IF AC .LT. 0
    528		000363 			SOJLE=363		; SUBTRACT 1 AND JUMP IF AC .LE. 0
    529		000366 			SOJN=366		; SUBTRACT 1 AND JUMP IF AC .NE. 0
    530
    531		000370 			SOS=370			; SUBTRACT 1 (FROM MEMORY) AND NEVER SKIP
    532		000374 			SOSA=374		; SUBTRACT 1 AND ALWAYS SKIP
    533		000372 			SOSE=372		; SUBTRACT 1 AND SKIP IF .EQ. 0
    534		000377 			SOSG=377		; SUBTRACT 1 AND SKIP IF .GT. 0
    535		000375 			SOSGE=375		; SUBTRACT 1 AND SKIP IF .GE. 0
    536		000371 			SOSL=371		; SUBTRACT 1 AND SKIP IF .LT. 0
    537		000373 			SOSLE=373		; SUBTRACT 1 AND SKIP IF .LE. 0
    538		000376 			SOSN=376		; SUBTRACT 1 AND SKIP IF .NE. 0
    539
    540		000061 			STATO=061		; "STATO" UUO
    541		000062 			STATUS=062		; "STATUS" UUO
    542		000063 			STATZ=063		; "STATZ" UUO
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 14
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    544
    545		000274 			SUB=274			; SUBTRACT
    546		000277 			SUBB=277		; SUBTRACT BOTH
    547		000275 			SUBI=275		; SUBTRACT IMMEDIATE
    548		000276 			SUBM=276		; SUBTRACT MEMORY
    549
    550		000650 			TDC=650			; TEST DIRECT COMPLEMENT NEVER SKIP
    551		000654 			TDCA=654		;  "	 "	  "	 SKIP ALWAYS
    552		000652 			TDCE=652		;  "	 "	  "	  "   ON ZERO
    553		000656 			TDCN=656		;  "     "	  "	  "   ON NON-ZERO
    554
    555		000610 			TDN=610			; TEST DIRECT NO MODIFICATION, ET AL.
    556		000614 			TDNA=614
    557		000612 			TDNE=612
    558		000616 			TDNN=616
    559
    560		000670 			TDO=670			; TEST DIRECT ONES, ET AL.
    561		000674 			TDOA=674
    562		000672 			TDOE=672
    563		000676 			TDON=676
    564
    565		000630 			TDZ=630			; TEST DIRECT ZEROS, ET AL.
    566		000634 			TDZA=634
    567		000632 			TDZE=632
    568		000636 			TDZN=636
    569
    570		000641 			TLC=641			; TEST LEFT COMPLEMENT, ET AL.
    571		000645 			TLCA=645
    572		000643 			TLCE=643
    573		000647 			TLCN=647
    574
    575		000601 			TLN=601			; TEST LEFT NO MODIFICATION, ET AL.
    576		000605 			TLNA=605
    577		000603 			TLNE=603
    578		000607 			TLNN=607
    579
    580		000661 			TLO=661			; TEST LEFT ONES, ET AL.
    581		000665 			TLOA=665
    582		000663 			TLOE=663
    583		000667 			TLON=667
    584
    585		000621 			TLZ=621			; TEST LEFT ZEROS, ET AL.
    586		000625 			TLZA=625
    587		000623 			TLZE=623
    588		000627 			TLZN=627
    589
    590		000640 			TRC=640			; TEST RIGHT COMPLEMENT, ET AL.
    591		000644 			TRCA=644
    592		000642 			TRCE=642
    593		000646 			TRCN=646
    594
    595		000600 			TRN=600			; TEST RIGHT NO MODIFICATION, ET AL.
    596		000604 			TRNA=604
    597		000602 			TRNE=602
    598		000606 			TRNN=606
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 15
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    600
    601		000660 			TRO=660			; TEST RIGHT ONES, ET AL.
    602		000664 			TROA=664
    603		000662 			TROE=662
    604		000666 			TRON=666
    605
    606		000620 			TRZ=620			; TEST RIGHT ZEROS, ET AL.
    607		000624 			TRZA=624
    608		000622 			TRZE=622
    609		000626 			TRZN=626
    610
    611		000651 			TSC=651			; TEST SWAPPED COMLEMENT, ET AL.
    612		000655 			TSCA=655
    613		000653 			TSCE=653
    614		000657 			TSCN=657
    615
    616		000611 			TSN=611			; TEST SWAPPED NO MODIFICATION, ET AL.
    617		000615 			TSNA=615
    618		000613 			TSNE=613
    619		000617 			TSNN=617
    620
    621		000671 			TSO=671			; TEST SWAPPED ONES, ET AL.
    622		000675 			TSOA=675
    623		000673 			TSOE=673
    624		000677 			TSON=677
    625
    626		000631 			TSZ=631			; TEST SWAPPED ZEROS, ET AL.
    627		000635 			TSZA=635
    628		000633 			TSZE=633
    629		000637 			TSZN=637
    630
    631		000051 			TTCALL=051		; "TTCALL" UUO
    632
    633		000073 			UGETF=073		; "UGETF" UUO
    634
    635		000100 			UJEN=100		; "UJEN" CALL
    636
    637		000074 			USETI=074		; "USETI" UUO
    638		000075 			USETO=075		; "USETO" UUO
    639
    640		000256 			XCT=256			; EXECUTE
    641
    642		000430 			XOR=430			; EXCLUSIVE OR, ET AL.
    643		000433 			XORB=433
    644		000431 			XORI=431
    645		000432 			XORM=432
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 16
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    647
    648					; DEFINE KL10 I/O OPCODES
    649
    650		000000 			BLKI=0			; BLOCK IN
    651		000001 			DATAI=1			; DATA IN
    652		000002 			BLKO=2			; BLOCK OUT
    653		000003 			DATAO=3			; DATA OUT
    654		000004 			CONO=4			; CONDITIONS OUT
    655		000005 			CONI=5			; CONDITIONS IN
    656		000006 			CONSZ=6			;      "     "  SKIP IF ZERO
    657		000007 			CONSO=7			;      "     "   "   "  ONES
    658
    659					; DEFINE KL10 INTERNAL I/O DEVICES
    660
    661		000000 			APR=0			; ARITHMETIC PROCESSOR (ALU)
    662		000004 			PI=4			; PRIORITY INTERRUPT SYSTEM
    663		000010 			PAG=10			; PAGING SYSTEM
    664		000014 			CCA=14			; CACHE CONTROL
    665
    666					; DEFINE KL10 INSTRUCTION MACRO
    667
    668					.MACRO	I10$	OP,DAC,DI,DAD,DXR
    669						ADH=0
    670						ADL=0
    671						.IF NB,DAD
    672							.IRPC AD1,DAD
    673							.IIF GE,<ADL-10000>,ADH=ADL/10000
    674							ADL=10*<ADL&7777>+AD1
    675							.ENDR
    676						.ENDC		; .IF NB
    677						.IIF B,DAC,AC=0
    678						.IIF NB,DAC,AC=DAC
    679						.IIF B,DI,I=0
    680						.IIF NB,DI,I=DI
    681						.IIF B,DXR,XR=0
    682						.IIF NB,DXR,XR=DXR
    683						$$A=<ADL&377>
    684						$$B=<<ADL/400>!<ADH*200&377>>
    685						$$C=<AC&1*200+<I*100+<XR*4>>+<ADH/2>>
    686						$$D=<OP&37*10+<AC/2>>
    687						$$E=<OP/40>
    688						$$F=0
    689						.BYTE	$$A,$$B
    690						.BYTE	$$C,$$D
    691						.BYTE	$$E,$$F
    692					.ENDM	I10$
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 17
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    694
    695					; DEFINE KL10 I/O INSTRUCTION MACRO
    696
    697					.MACRO	IO10$	OP,DDV,DI,DAD,DXR
    698						.IIF B,DI,I=0
    699						.IIF NB,DI,I=DI
    700						.IIF B,DXR,XR=0
    701						.IIF NB,DXR,XR=DXR
    702						ADH = 0
    703						ADL = 0
    704						.IRPC AD1,DAD
    705							.IIF GE,<ADL-10000>, ADH=ADL/10000
    706							ADL=10*<ADL&7777>+AD1
    707						.ENDR
    708						$$A=<ADL&377>
    709						$$B=<<ADL/400>!<ADH*200&377>>
    710						$$C=<OP&1*200+<I*100+<XR*4>>+<ADH/2>>
    711						$$D=<DDV&374+<OP/2>>
    712						$$E=<DDV/400+16>
    713						$$F=0
    714						.BYTE	$$A,$$B
    715						.BYTE	$$C,$$D
    716						.BYTE	$$E,$$F
    717					.ENDM	IO10$
KLERR	- KL10 ERROR RECORDER	MACRO M1108  13-JAN-78 15:46  PAGE 18
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

    719
KLESUB	- CREATE SNAPSHOT RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 19
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

      1						.TITLE	KLESUB	- CREATE SNAPSHOT RECORD
      2
      3						.IDENT	/002000/
      4					;+
      5
      6					;                             COPYRIGHT (C) 1975, 1978 BY
      7					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      8					;
      9					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
     10					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
     11					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     12					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     13					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     14					;
     15					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     16					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     17					;       CORPORATION.
     18					;
     19					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     20					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     21
     22
     23
     24					;	THE FOLLOWING IS A PICTURE OF
     25					;	THE KLERR SNAPSHOT FILE RECORD.
     26					;
     27					; WORD			DATA
     28					;
     29					;
     30					;	------------------------------------------------
     31					; 0	!       KLERR FILE TYPE (VERSION NUMBER)       !	KR.FTY
     32					;	------------------------------------------------
     33					; 2	!           RECORD LENGTH IN WORDS             !	KR.RLC
     34					;	------------------------------------------------
     35					; 4	!                TIME OF DAY                   !	KR.TIM
     36					;	------------------------------------------------
     37					; 24	!               KL10 SERIAL NUMBER             !	KR.KSN
     38					;	------------------------------------------------
     39					; 26	!               FE SERIAL NUMBER               !	KR.ESN
     40					;	------------------------------------------------
     41					; 30	!           MICROCODE VERSION NUMBER           !	KR.UVN
     42					;	------------------------------------------------
     43					; 32	!             KL10 MONITOR VERSION             !	KR.MVN
     44					;	------------------------------------------------
     45					; 42	!              RSX VERSION NUMBER              !	KR.RVN
     46					;	------------------------------------------------
     47					; 46	!                  ERROR CODE                  !	KR.ECD
     48					;	------------------------------------------------
     49					; 50	!                  DTE DIAG 1                  !	KR.DG1
     50					;	------------------------------------------------
     51					; 52	!                  DTE DIAG 2                  !	KR.DG2
     52					;	------------------------------------------------
     53					; 54	!                DTE DIAG STATUS               !	KR.DGS
     54					;	------------------------------------------------
     55					; 56	!                  DTE DIAG 3                  !	KR.DG3
     56					;	------------------------------------------------
     57					; 60	.					       .	KR.FNR
KLESUB	- CREATE SNAPSHOT RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 19-1
*SPECIAL KL10 MACROS AND DEFINITIONS* 7510.10

     58					;	.					       .
     59					;	.					       .
     60					;	!             DATA FROM FR 100-177             !
     61					;	.					       .
     62					;	.					       .
     63					;	.					       .
     64					;	------------------------------------------------
     65					; 660	!          KLERR RAD50 ERROR (IF ANY)          !	KR.IPE
     66					;	------------------------------------------------
     67					;	!					       !
     68					;	.	RESERVED FOR EXPANSION BY DEC	       !
     69					;	!					       !
     70					;	------------------------------------------------
     71					; 676	!           CHECKSUM FOR ABOVE DATA            !	KR.CHK
     72					;	------------------------------------------------
     73					;
     74					;		[CURRENT END OF RECORD]
     75					;
     76					;
     77					;	THE FOLLOWING DATA IS NOT CURRENTLY WRITTEN.
     78					;	THE INTENT IS TO SOMEDAY SUPPLY DATA ON THE
     79					;	BAD PARITY CRAM, DRAM, AND FM WORDS IF THEY
     80					;	ARE DETECTED DURING A SWEEP.
     81					;
     82					;	------------------------------------------------
     83					; 1000	!           VARIABLE FORMAT DATA TYPE          !
     84					;	------------------------------------------------
     85					; 1002	.					       .
     86					;	.					       .
     87					;	.             VARIABLE FORMAT DATA             .
     88					;	.					       .
     89					;	.					       .
     90					;	------------------------------------------------
     91					;-
KLESUB	- CREATE SNAPSHOT RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 20
ROUTINE TO SETUP FIXED BLOCK

     93					.SBTTL	ROUTINE TO SETUP FIXED BLOCK
     94
     95					;
     96					;	THIS SETS UP A BLOCK AT (R0).
     97					;	THE FORMAT IS AS ABOVE
     98					;
     99						.MCALL	GTIM$S
    100	000000				.KLRSN::				;SNAPSHOT KL10
    101	000000					PUSH	<R1,R2,R3>		;WORKING REGS
	000000	010146 				MOV	R1,-(SP)
	000002	010246 				MOV	R2,-(SP)
	000004	010346 				MOV	R3,-(SP)
    102	000006	010001 				MOV	R0,R1			;PTR TO BLOCK
    103	000010	012721 	000001 			MOV	#1,(R1)+		;0 - KLERR FILE VERSION
    104	000014	012721 	001000 			MOV	#1000,(R1)+		;2 - FILE RECORD LENGTH
    105	000020					PUSH	R1			;SAVE R1
	000020	010146 				MOV	R1,-(SP)
    106	000022					GTIM$S	R1			;4 - TIME OF UNIVERSE
	000022	010146 				MOV	R1,-(SP)
	000024	012746 				MOV	(PC)+,-(SP)
	000026	   073 	   002 			.BYTE	59.,2
	000030	104375 				EMT	375
    107	000032					POP	R1			;RESTORE R1
	000032	012601 				MOV	(SP)+,R1
    108	000034	062701 	000020 			ADD	#20,R1			;PAST TIME
    109	000040	005021 				CLR	(R1)+			;24 - KL10 SERIAL #
    110	000042	005021 				CLR	(R1)+			;26 - FE SERIAL #
    111	000044	005021 				CLR	(R1)+			;30 - MICRO CODE VERS #
    112	000046	005021 				CLR	(R1)+			;32 - KL10 PROG NAME
    113	000050	005021 				CLR	(R1)+			;34
    114	000052	005021 				CLR	(R1)+			;36
    115	000054	005021 				CLR	(R1)+			;40
    116	000056	005021 				CLR	(R1)+			;42 - RSX VERSION #
    117	000060	005021 				CLR	(R1)+			;44 -    "
    118	000062					CALL	.RDIPE			;READ INTERNAL PARITY ERROR
	000062	004737 	004566'			JSR	PC,.RDIPE
    119	000066	103442 				BCS	7$			; ERROR?
    120	000070	010021 				MOV	R0,(R1)+		;INTO BLOCK
    121	000072					CALL	.DTDW1			;DIAG 1
	000072	004737 	000476'			JSR	PC,.DTDW1
    122	000076	103436 				BCS	7$
    123	000100	010021 				MOV	R0,(R1)+		;50
    124	000102					CALL	.DTDW2			;DIAG 2
	000102	004737 	000504'			JSR	PC,.DTDW2
    125	000106	103432 				BCS	7$
    126	000110	010021 				MOV	R0,(R1)+		;52
    127	000112					CALL	.DTSTA			;STATUS
	000112	004737 	000514'			JSR	PC,.DTSTA
    128	000116	103426 				BCS	7$
    129	000120	010021 				MOV	R0,(R1)+		;54
    130	000122					CALL	.DTDW3			;DIAG 3
	000122	004737 	000524'			JSR	PC,.DTDW3
    131	000126	103422 				BCS	7$
    132	000130	010021 				MOV	R0,(R1)+		;56
    133	000132	010100 				MOV	R1,R0			;POINT TO BLOCK
    134	000134					CALL	.RDALL			;60 - DO FR 100-177
	000134	004737 	003506'			JSR	PC,.RDALL
KLESUB	- CREATE SNAPSHOT RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 20-1
ROUTINE TO SETUP FIXED BLOCK

    135	000140	103415 				BCS	7$
    136	000142	062701 	000600 			ADD	#600,R1			;OFFSET
    137										;REST OF BLOCK IS BLANK,
    138										; SO IGNORE, EXCEPT THAT
    139										; WORD 676 IS CHECKSUM,
    140										; SO COMPUTE THAT
    141	000146	062701 	000016 			ADD	#16,R1			;BRING US TO 676 WITH R1
    142	000152	010100 				MOV	R1,R0			;NOW GET FIRST ADDR
    143	000154	162700 	000676 			SUB	#676,R0			;INTO R0
    144	000160	005003 				CLR	R3			;CHECKSUM CNTR
    145	000162				6$:
    146	000162	062003 				ADD	(R0)+,R3		;DO THIS UNTIL
    147	000164	020001 				CMP	R0,R1			;THE LAST WORD REACHED
    148	000166	001375 				BNE	6$			; WHEN DONE
    149	000170	010311 				MOV	R3,(R1)			;STORE THE RESULT
    150	000172	000241 				CLC
    151	000174				7$:	POP	<R3,R2,R1>
	000174	012603 				MOV	(SP)+,R3
	000176	012602 				MOV	(SP)+,R2
	000200	012601 				MOV	(SP)+,R1
    152	000202					RETURN
	000202	000207 				RTS	PC
    153
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 21
ROUTINE TO SETUP FIXED BLOCK

      1					.TITLE COMSUB	*KL10 COMMAND PARSER SUBROUTNES -- V. 75* R.A. BELANGER (RAB)/RAB/PAG
      2					.SBTTL	*LOCAL DEFINITIONS AND PARAMETERS* 7601.09
      3
      4						.IDENT	/002000/
      5
      6
      7					;                             COPYRIGHT (C) 1975, 1978 BY
      8					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      9					;
     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
     24					;	VERSION:	X01
     25					;
     26					;	AUTHORS:	R.A. BELANGER
     27					;			P.A. GAGNER
     28					;			T.C. PORCHER
     29					;			R.C. BEAVEN
     30					;
     31					;	DATE:		7601.09
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 22
*LOCAL DEFINITIONS AND PARAMETERS* 7601.09

     33					; AGMD
     34
     35					;+
     36					; COMSUB -- KL10 COMMAND PARSER SUBROUTINES -- V. 75
     37					;
     38					; DATE NOTATION:
     39					;
     40					;	DATES ARE OF THE FORMAT: "YYMM.DD", FOR THE YEAR, MONTH AND DATE.
     41					;
     42					; NAMING CONVENTIONS:
     43					;
     44					; .XXXXX -- INDICATES A GLOBAL SUBROUTINE OR VARIABLE NAME WITHIN
     45					;	    THE COMMAND PARSER SUBROUTINE MODULE. (COMSUB)
     46					;
     47					; ZXXXXX -- INDICATES A HIGHER LEVEL COMMAND ROUTINE IN THE COMMAND
     48					;	    PARSER MODULE. (PARISH)
     49					;
     50					; KLXXXX -- INDICATES A KL10 EMULATION ROUTINE IN THE KL10 EMULATOR
     51					;	    MODULE. (KLNUM).
     52					;
     53					; XX.YYY -- INDICATES A GLOBAL CONSTANT NAME IN THE COMMAND PARSER.
     54					;
     55					; CALL / RETURN CONVENTIONS:
     56					;
     57					;	SUBROUTINES ARE CALLED VIA THE "JSR" INSTRUCTION, AND RETURN
     58					;	VIA THE "RTS" INSTRUCTION. IN ALL CASES, SUBROUTINE FAILURE IS
     59					;	INDICATED BY THE C-BIT IN THE PSW SET ON RETURN.
     60					;
     61					; REGISTER CONVENTIONS:
     62					;
     63					; R0 -- CONTAINS AN ARGUMENT, OR, LESS FREQUENTLY A POINTER TO ARGUMENTS
     64					;	PASSED IN A SUBROOUTINE CALL.  ON RETURN, R0 CONTAINS A RETURNED
     65					;	ARGUMENT FROM THE SUBROUTINE OR AN ERROR CODE; R0 IS CONSIDERED
     66					;	A VOLATILE REGISTER.
     67					;
     68					; R1 -- CONTAINS A POINTER TO ARGUMENTS PASSED IN A SUBROUTINE CALL;
     69					;	R1 IS UNCHANGED ON RETURN AND IS SEMI-VOLATILE.
     70					;
     71					; R2 THRU R7 ARE NON VOLATILE REGISTERS.
     72					;
     73					; STACK DEPTH NOATATION:
     74					;
     75					;	THE FIRST NON-BLANK CHARACTER IN THE COMMENT FIELD (AFTER THE
     76					;	SEMI-COLON) INDICATES STACK DEPTH WITHIN THE SUBROUTINE. A
     77					;	PERIOD, ".", IS USED AS THE STACK DEPTH INDICATOR; EACH PERIOD
     78					;	IS ONE LOCATION ON THE STACK.
     79					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 23
*COMSUB HISTORY OF EDITS* 7601.09

     81					.SBTTL	*COMSUB HISTORY OF EDITS* 7601.09
     82
     83					.MACRO	VERC	Q
     84						VERSC = Q
     85					.PSECT	SYMTAA
     86					.EVEN
     87					VSUB:
     88						.ASCII	/Q/		; ASCII FOR INIT MESSAGE
     89					.EVEN
     90					.PSECT
     91					.ENDM	VERC
     92
     93	000204					VERC	75		; CURRENT VERSION
	000000	   067 	   065 			.ASCII	/75/		; ASCII FOR INIT MESSAGE
     94					; 75	7601.09	(RAB)
     95					;	MODIFIED ".KLFLG" MAINTENANCE IN ".CLRFF", ".STRUN", AND ".XFXCT".
     96					;	MADE ".EXKLM", ".DPKLM", ".FREAD", ".FWRIT", AND ".FXCT" RUN AT PRI 7 WHILE TRANSFERRING DATA.
     97					;	ADDED "MARK TIME" TO ".KLHLT", ".CLRFF", AND ".STPXC"..
     98					;
     99
    100					; 74	7601.06	(RAB)
    101					;	ADDED CHECK FOR "D1.RUN" + "D1.HLP" IN ".INIT".
    102					;	MADE ".STCLK" CHECK FOR CLOCK ERROR STOP.
    103					;
    104					; 73	7601.05	(RAB)
    105					;	CLEANED UP DOCUMENTATION.
    106					;	ADDED CRAM DIAG ADDR CLEAR TO READ AND WRITE CRAM SUBROUTINES.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 24
*COMSUB HISTORY OF EDITS* 7601.09

    108
    109					; 72	7601.02	(RAB)
    110					;	FIXED STACK MANAGEMENT BUG IN ".KLST".
    111					;	MODIFIED ".BURST" SUBROUTINE.
    112					;	MODIFIED ".LDBRG" SUBROUTINE.
    113					;
    114					; 71	7512.22	(RAB)
    115					;	MODIFIED ".KLRST" TO BE COMPATIBLE WITH ".KLSTP".
    116					;
    117					; 70	7512.19	(RAB)
    118					;	ADDED ".KLSTP" ROUTINE.
    119					;
    120					; 67	7512.17	(RAB)
    121					;	CHANGED DECIMAL NOTATION FROM "[NUMBER]." TO "^D[NUMBER]".
    122					;	MINOR BUG FIXES.
    123					;
    124					; 66	7512.15	(RAB)
    125					;	FIXED BUG IN DTE20 WRITE SUBROUTINE.
    126					;	REMOVED "DPBS" PSECT FOR "KLERR".
    127					;	MODIFIED ".ABORT" SUBROUTINE.
    128					;
    129					; 65	7512.11	(RAB)
    130					;	FIXED BUG IN DTE20 TRACK SUBROUTINE.
    131					;
    132					; 64	7512.10	(RAB)
    133					;	ADDED DTE20 TRACK SUBROUTINE.
    134					;
    135					; 63	7512.09	(RAB)
    136					;	FIXED LEADING ZEROES IN TRACK SUBROUTINES.
    137					;
    138					; 62	7512.08	(RAB)
    139					;	FIXED C-BIT BUGS IN ".KLRST".
    140					;	FIXED BUG IN ".INKLF"
    141					;	FIXED STACK MAINTENANCE BUGS IN ".KLST", ".KLCON", ".KLRST",
    142					;	AND ".KLSTN".
    143					;
    144					; 61	7512.05	(RAB)
    145					;	FIXED BUG IN LOAD BURST COUNT SUBROUTINE.
    146					;
    147					; 60	7512.04	(RAB/PAG)
    148					;	FIXED TYPOS IN DTE20 READ WRITE SUBROUTINE.
    149					;	FIXED "$RAMSW" CONDITIONALS SO ".LDCRA" ASSEMBLES PROPERLY.
    150					;	FIXED ".INKLF" TO FIND OUT IF DTE20 IS PRIVILEGED OR NOT.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 25
*COMSUB HISTORY OF EDITS* 7601.09

    152					; 57	7512.03	(RAB)
    153					;	MODIFIED ".KLCON" SUBROUTINE.
    154					;	MODIFIED ".CESCK" SUBROUTINE.
    155					;
    156					; 56	7512.02	(RAB)
    157					;	MODIFIED LOAD BURST COUNT SUBROUTINE.
    158					;	ADDED NEW STYLE KL10 START SUBROUTINE.
    159					;
    160					; 55	7512.01	(RAB)
    161					;	MODIFIED EBOX CLOCK SUBROUTINE.
    162					;	MODIFIED LOAD BURST COUNTER SUBROUTINE.
    163					;
    164					; 54	7511.26	(RAB)
    165					;	MODIFIED ".INKLF" TO SET "KF.CON" FLAG BIT.
    166					;	ADDED KL10 PC FLAG BIT DEFINITIONS FROM "C.MAC" V. 1, EDIT 24.
    167					;
    168					; 53	7511.22	(RAB)
    169					;	FIXED BUG IN CRAM DISPATCH READ.
    170					;	FIXED BUG IN CRAM DECODE TABLE.
    171					;
    172					; 52	7511.21	(RAB)
    173					;	FIXED BUG IN ".INIT".
    174					;	FIXED C-BIT BUG IN ".KLCON".
    175					;
    176					; 51	7511.20	(RAB)
    177					;	FIXED BUG IN CRAM READ SUBROUTINE.
    178					;	FIXED BUG IN CRAM ENCODE DECODE TABLE.
    179					;
    180					; 50	7511.19	(RAB)
    181					;	MODIFIED CRAM ADDRESS LOAD SUBROUTINE.
    182					;	MODIFIED TRACK SUBROUTINES.
    183					;	MODIFIED DEPOSIT SUBROUTINE.
    184					;
    185					; 47	7511.18	(RAB)
    186					;	FIXED BUG IN RAM FIELD DECODE AND ENCODE SUBROUTINES.
    187					;	FIXED BUG IN RESET CODE.
    188					;
    189					; 46	7511.17	(RAB)
    190					;	MODIFIED LOAD KL10 BURST COUNT SUBROUTINE.
    191					;	REMOVED ".SECFL" MAINTENANCE FROM FUNCTION EXECUTE PRIMITIVE.
    192					;
    193					; 45	7511.14	(RAB)
    194					;	MODIFIED FAST MEMORY ADDRESS READ SUBROUTINE.
    195					;
    196					; 44	7511.13	(RAB)
    197					;	FIXED BUG IN CRAM ADDRESS CHECK.
    198					;	FIXED BUG IN EXAMINE DEPOSIT SUBROUTINE.
    199					;	FIXED BUG IN READ PARITY ERROR SUBROUTINE.
    200					;	MODIFIED EXAMINE DEPOSIT TRACK SUBROUTINE.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 26
*COMSUB HISTORY OF EDITS* 7601.09

    202					; 43	7511.06	(RAB)
    203					;	FIXED BUG IN LOAD DRAM ADDRESS SUBROUTINE.
    204					;	ADDED CRAM AND DRAM OUTPUT READ SUBROUTINES.
    205					;	ADDED "KF.CON" FLAG.
    206					;
    207					; 42	7511.05	(RAB)
    208					;	FIXED BUG IN ".DRRAM".
    209					;	FIXED BUG IN ".EDTRK".
    210					;
    211					; 41	7511.04	(RAB)
    212					;	FIXED BUG IN EXAMINE DRAM.
    213					;	FIXED BUG IN EXAMINE DEPOSIT MEMORY.
    214					;
    215					; 40	7510.30	(RAB)
    216					;	ADDED RAM FIELD ENCODE AND DECODE SUBROUTINES.
    217					;	FIXED BUG IN .KLRST.
    218					;	CHANGED "KF.XCR" TO "KF.RUN".
    219					;
    220					; 37	7510.29	(RAB)
    221					;	FIXED BUG IN DTE20 WRITE SUBROUTINES.
    222					;
    223					; 36	7510.24	(RAB)
    224					;	FIXED BUG IN READ PC FLAGS SUBROUTINE.
    225					;
    226					; 35	7510.23	(RAB)
    227					;	ADDED CRAM FIELD DECODE SUBROUTINE AND TABLES.
    228					;
    229					; 34	7510.21	(RAB)
    230					;	FIXED BUG IN TEMP DTE20 RESET.
    231					;	FIXED BUG IN VMA BOARD READS.
    232					;
    233					; 33	7510.20	(RAB)
    234					;	ADDED KL10 RESTART SUBROUTINE.
    235					;	MODIFIED INIT SUBROUTINE.
    236					;
    237					; 32	7510.17 (RAB)
    238					;	MODIFIED CRAM READ AND WRITE SUBROUTINES.
    239					;	MODIFIED DTE20 RESET SUBROUTINE.
    240					;
    241					; 31	7510.16 (RAB)
    242					;	ADDED READ PI BOARD SUBROUTINE.
    243					;
    244					; 30	7510.15 (RAB)
    245					;	ADDED READ CRAM DISP SUBROUTINE.
    246					;
    247					; 27	7510.10 (RAB)
    248					;	ADDED FM ADDRESS READ SUBROUTINE.
    249					;	ADDED PC FLAG READ SUBROUTINE.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 27
*COMSUB HISTORY OF EDITS* 7601.09

    251					; 26	7510.09 (RAB)
    252					;	MODIFIED CLOCK AND PARITY READ TABLES.
    253					;	REMOVED DTE20 CLEAR SUBROUTINE.
    254					;	MODIFIED EXAMINE / DEPOSIT SUBROUTINE.
    255					;	MODIFIED INIT SUBROUTINE.
    256					;
    257					; 25	7510.08 (RAB/RCB)
    258					;	FIXED BUG IN CLOCK AND PARITY READ TABLES.
    259					;	MODIFIED LOAD BURST COUNT SUBROUTINE.
    260					;	MODIFIED LOAD CRAM ADDRESS SUBROUTINE.
    261					;	MODIFIED START SUBROUTINE.
    262					;
    263					; 24	7510.07 (RAB)
    264					;	FIXED BUG IN TRACK SUBROUTINES.
    265					;	FIXED BUG IN VMA READ SUBROUTINES.
    266					;	FIXED BUG IN CLOCK SUBROUTINES.
    267					;	MODIFIED INIT SUBROUTINE.
    268					;
    269					; 23	7510.06 (RAB)
    270					;	ADDED TRACK SUBROUTINE FOR FUNCTION READ, WRITE AND EXECUTE.
    271					;	MODIFIED FUNCTION READ, WRITE AND EXECUTE FOR TRACK FEATURE.
    272					;
    273					; 22	7510.02 (RAB)
    274					;	MODIFIED ".RESET" SUBROUTINE.
    275					;	MODIFIED ".MRCLR" SUBROUTINE.
    276					;
    277					; 21	7510.01 (RAB)
    278					;	MODIFIED .MRCLR AND RESET SUBROUTINES.
    279					;
    280					; 20	7509.30 (RAB)
    281					;	ADDED DTE20 RESET SUBROUTINE.
    282					;	CONSOLIDATED ".CLOCK" AND ".PAREN" INTO ".LDCPC".
    283					;
    284					; 17	7509.29 (RAB)
    285					;	MODIFIED ".LDCLK" AND ".LDPAR".
    286					;
    287					; 16	7509.26 (RAB)
    288					;	RENAMED ".STRTX" TO ".KLST".
    289					;	RENAMED ".HALTX" TO ".KLHLT".
    290					;	RENAMED ".XXCT" TO ".KLXCT".
    291					;	MODIFIED ".KLCON".
    292					;	MODIFIED ".KLST" TO REENABLE PARITY STOPS.
    293					;	MODIFIED ".INIT".
    294					;	MODIFIED ".CESCK".
    295					;
    296					; 15	7509.25 (RAB)
    297					;	FIXED BUG IN READ PARITY AND CLOCK SUBROUTINE.
    298					;
    299					; 14	7509.24 (RAB)
    300					;	ADDED APR ERROR READ SUBROUTINE.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 28
*COMSUB HISTORY OF EDITS* 7601.09

    302					; 13	7509.23 (RAB)
    303					;	ADDED DATA PATH READS.
    304					;	ADDED SMALL REGISTER READS.
    305					;
    306					; 12	7509.22 (RAB)
    307					;	MODIFIED DTE20 CLEAR SUBROUTINE TO CYCLE THE DTE20 TO MAKE CLEAR
    308					;	TAKE EFFECT.
    309					;
    310					; 11	7509.19 (RAB)
    311					;	MODIFIED READ DTE20 REGISTER SUBROUTINE TO BE READ / WRITE.
    312					;	ADDED DTE20 RESET SUBROUTINE.
    313					;	REDEFINED PRIMARY PROTOCOL FLAG TO MEAN SECONDARY PROTOCOL MAY RUN.
    314					;
    315					; 10	7509.18 (RAB)
    316					;	FIXED BUG IN EBOX CLOCK SUBROUTINE.
    317					;
    318					; 7	7509.17 (RAB)
    319					;	CHANGED "IS.EBX" ERROR CODE TO "IE.EBX".
    320					;
    321					; 6	7509.16 (RAB)
    322					;	FIXED BUG IN PARITY ERROR READ SUBROUTINE.
    323					;	MODIFIED DTE20 REGISTER READ SUBROUTINES.
    324					;	FIXED BUG IN FXCT SUBROUTINE.
    325					;	MODIFIED FREAD, FWRITE, AND FXCT SUBROUTINES.
    326					;	MODIFIED FXCT , FREAD, AND FWRITE RANGE CHECK SUBROUTINE.
    327					;	FIXED BUG IN READ PARITY AND CLOCK ENABLE SUBROUTINE.
    328					;	ADDED CLOCK ERROR STOP CLEAR SUBROUTINE.
    329					;	MODIFIED PARITY ENABLE SUBROUTINE.
    330					;	MODIFIED CLOCK ENABLE SUBROUTINE.
    331					;
    332					; 5	7509.15 (RAB)
    333					;	MODIFIED EXAMINE / DEPOSIT ERROR SUBROUTINE.
    334					;	ADDED READ PARITY ERROR SUBROUTINE.
    335					;
    336					; 4	7509.12 (RAB)
    337					;	MODIFIED ".INIT" AND ".INKLF" SUBROUTINES.
    338					;	MODIFIED ".FWRIT", ".FXCT", AND ".FREAD" FOR NEW RANGE CHECK.
    339					;	ADDED NEW DIAGNOSTIC FUNCTION CODE RANGE CHECK SUBROUTINE.
    340					;	MODIFIED CLOCK STOP AND START SUBROUTINES.
    341					;	MODIFIED CONTINUE TO STOP CLOCK FIRST.
    342					;	ADDED KL10 INTERNAL PARITY ERROR READ SUBROUTINE.
    343					;
    344					; 3	7509.11 (RAB)
    345					;	MODIFIED ".FXCT" SUBROUTINE TO MAINTAIN CLOCK RUNNING
    346					;	FLAG FOR FX.000 THRU FX.007.
    347					;	MODIFIED ".INIT2 SUBROUTINE.
    348					;
    349					; 2	7509.10 (RAB)
    350					;	REMOVED "CRE" ERROR CODE.
    351					;
    352					; 1	7509.10	(RAB)
    353					;	REARRANGED AND MODIFIED START, CONTINUE AND XCT SUBROUTINES.
    354					;	FIXED BUG IN RANGE CHECKING OF FR, FW AND FX CODES.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 29
*COMSUB HISTORY OF EDITS* 7601.09

    356					; 0	7509.05 (RAB/PAG)
    357					;	RESET VERSION TO 0 AND MADE ALL PREVIOUS VERSIONS NEGATIVE
    358					;		BECAUSE OF MAJOR CHANGES--
    359					;	STRIPPED 95% OF "DEFENSIVE LOGIC" FROM CLOCK CONTROL SUBROUTINES
    360					;		THIS LOGIC WILL BE REPLACED IN THE MAIN PARSER. "COMSUB"
    361					;		NOW MAINTAINS THE STATE OF THE KL10 AS A SECONDARY
    362					;		FUNCTION AND LEAVES PRIMARY DECISIONS TO STOP OR START
    363					;		THE KL10 CLOCK TO THE MAIN PARSER. THE CLOCK CONTROL
    364					;		ROUTINES WILL BE CALLED FROM THE MAIN PARSER IN THE
    365					;		FUTURE.
    366					;	FIXED MINOR BUG IN ".KLST".
    367					;	FIXED BUG IN EXAMINE / DEPOSIT KL10 MEMORY SUBROUTINE.
    368					;
    369					; -3	7509.04 (RAB)
    370					;	MODIFIED VMA BOARD READ SUBROUTINE.
    371					;	MODIFIED ".BURST" SUBROUTINE.
    372					;	MODIFIED ".FREAD" SUBROUTINE.
    373					;	MODIFIED .FWRIT SUBROUTINE
    374					;	MODIFIED ".RESET" SUBROUTINE.
    375					;	CLEANED UP DOCUMENTATION.
    376					;	MODIFIED ".LDCRA" SUBROUTINE.
    377					;
    378					; -2	7509.03 (RAB/RCB)
    379					;	MODIFIED CLOCK CONTROL SUBROUTINES TO BE NON DESTRUCTIVE TO R0.
    380					;	ADDED AR WRITE SUBROUTINE.
    381					;	FIXED BUG IN VMA BOARD READ SUBROUTINES.
    382					;	CLEANED UP DOCUMENTATION.
    383					;
    384					; -1	START OF HISTORY.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 30
*LOCAL DEFINITIONS* 7511.24

    386					.SBTTL	*LOCAL DEFINITIONS* 7511.24
    387
    388					; LOCAL DEFINITIONS
    389
    390		000001 			BIT00=BIT0			; DEFINE LOW BITS FOR SYMMETRY
    391		000002 			BIT01=BIT1
    392		000004 			BIT02=BIT2
    393		000010 			BIT03=BIT3
    394		000020 			BIT04=BIT4
    395		000040 			BIT05=BIT5
    396		000100 			BIT06=BIT6
    397		000200 			BIT07=BIT7
    398		000400 			BIT08=BIT8
    399		001000 			BIT09=BIT9
    400
    401					; DEFINE OFFSETS INTO DTE20 DIAG REGISTERS
    402
    403		000000 			.DIAG1==0			; DTE20 DIAG1 WORD
    404		000002 			.DIAG2==2			; DTE20 DIAG2 WORD
    405		000004 			.DTSTW==4			; DTE20 STATUS WORD
    406		000006 			.DIAG3==6			; DTE20 DIAG3 WORD
    407
    408					; DEFINE EXAMINE DEPOSIT MODE BYTES
    409
    410		000000 			ED.EPT==0*40			; EXEC PROCESS TABLE (RELATIVE)
    411		000040 			ED.EXV==1*40			; EXEC VIRTUAL SPACE
    412		000100 			ED.UPT==2*40			; USER PROCESS TABLE (RELATIVE)
    413		000140 			ED.USV==3*40			; USER VIRTUAL SPACE
    414		000200 			ED.PHY==4*40			; PHYSICAL ADDRESSES
    415
    416					; DEFINE BITS IN ".PEWRD"
    417
    418		000001 			PE.CES==1			; CLOCK ERROR STOP
    419		000002 			PE.DRM==2			; DRAM PARITY ERROR
    420		000004 			PE.CRM==4			; CRAM PARITY ERROR
    421		000010 			PE.FMP==10			; FAST MEMORY PARITY ERROR
    422		000020 			PE.FSS==20			; FIELD SERVICE STOP
    423		000037 			PE.ALL==PE.CES!PE.DRM!PE.CRM!PE.FMP!PE.FSS
    424
    425					; DEFINE BITS IN ".APRWD"
    426
    427		000001 			AP.PWF==1			; APR POWER FAIL
    428		000002 			AP.SAP==2			; APR SBUS ADDRESS PARITY ERROR
    429		000004 			AP.CDP==4			; APR CACHE DIRECTORY PARITY ERROR
    430		000010 			AP.MPE==10			; APR MB (MEMORY) PARITY ERROR
    431		000020 			AP.IPF==20			; APR I/O PAGE FAIL ERROR
    432		000040 			AP.NXM==40			; APR NON-EX-MEM ERROR
    433		000100 			AP.SBE==100			; APR SBUS ERROR
    434		000177 			AP.ALL==AP.PWF!AP.SAP!AP.CDP!AP.MPE!AP.IPF!AP.NXM!AP.SBE
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 31
*LOCAL DEFINITIONS* 7511.24

    436					; DEFINE DTE20 DIAG1 BITS
    437
    438		100000 			D1.DS0==BIT15			; DIAGNOSTIC SELECT CODE 00 [WRITE]
    439		040000 			D1.DS1==BIT14			;     "        "     "   01    "
    440		020000 			D1.DS2==BIT13			;     "	       "     "   02    "
    441		010000 			D1.DS3==BIT12			;     "	       "     "   03    "
    442		004000 			D1.DS4==BIT11			;     "	       "     "   04    "
    443		002000 			D1.DS5==BIT10			;     "        "     "   05    "
    444		001000 			D1.DS6==BIT09			;     "        "     "   06    "
    445		004000 			D1.CES==BIT11			; KL10 CLOCK ERROR STOP [READ]
    446		002000 			D1.RUN==BIT10			; KL10 RUN FLAG [READ]
    447		001000 			D1.HLP==BIT09			; KL10 IS IN HALT LOOP [READ]
    448		000400 			D1.DEX==BIT08			; DTE20 IS IN DEPOSIT / EXAMINE STATE [READ]
    449		000200 			D1.T10==BIT07			; DTE20 IS IN TO 10 STATE [READ]
    450		000200 			D1.LBK==BIT07			; PUT DTE20 IN LOOPBACK MODE [WRITE]
    451		000100 			D1.T11==BIT06			; DTE20 IS IN TO 11 STATE [READ]
    452		000040 			D1.DDT==BIT05			; SET DTE20 DIAGNOSTIC MODE [WRITE]
    453									; DTE20 IS IN DIAGNOSTIC MODE [READ]
    454		000020 			D1.V04==BIT04			; VECTOR INTERRUPT ADDRESS BIT 04 [READ]
    455		000020 			D1.PLS==BIT04			; GENERATE A CLOCK CYCLE IF D1.DDT SET [WRITE]
    456		000010 			D1.DFM==BIT03			; CHANGE EX / DEP TO DIAG FUNCTIONS IF PRIVILEGED [WRITE]
    457		000004 			D1.XFR==BIT02			; SEND DATA TO 10 IF = 1 [READ]
    458									; RECEIVE DATA FROM 10 IF = 0 [READ]
    459
    460					; BIT 01 IS UNUSED
    461
    462		000001 			D1.DCS==BIT00			; DIAG COMMAND IN PROGRESS [READ]
    463									; SET DIAGNOSTIC COMMAND START IF = 1 [WRITE]
    464									; CLEAR DIAGNOSTIC COMMAND START IF = 0 [WRITE]
    465		000442 			D1.MBZ==D1.DEX!D1.DDT!BIT01	; MUST BE ZERO ON WRITE
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 32
*LOCAL DEFINITIONS* 7511.24

    467					; DEFINE DTE20 DIAG2 BITS
    468
    469		100000 			D2.RA0==BIT15			; RFM ADDRESS BIT 0 [READ]
    470		040000 			D2.RA1==BIT14			; RFM ADDRESS BIT 1 [READ]
    471		040000 			D2.EBD==BIT14			; SET EBUS DONE IF = 1 [WRITE]
    472									; CLEAR EBUS DONE IF = 0 [WRITE]
    473		020000 			D2.RA2==BIT13			; RFM ADDRESS BIT 2 [READ]
    474
    475					; BITS 11 THRU 7 ARE UNUSED
    476
    477		000100 			D2.RST==BIT06			; RESET THE DTE20 IF = 1 [WRITE]
    478
    479					; BIT 5 IS UNUSED [MBZ]
    480
    481		000020 			D2.MS8==BIT04			; MINOR STATE COUNTER BIT 8 [WRITE]
    482		000010 			D2.MS4==BIT03			;   "	  "	 "     "  4    "
    483		000004 			D2.MS2==BIT02			;   "	  "	 "     "  2    "
    484		000002 			D2.MS1==BIT01			;   "     "	 "     "  1    "
    485
    486					; BIT 0 IS UNUSED
    487
    488		177641 			D2.MBZ==BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT05!BIT00
    489
    490					; DEFINE DTE20 DIAG3 BITS
    491
    492		100000 			D3.SSL==BIT15			; SWAP SELECT LEFT [READ]
    493		040000 			D3.PAR==BIT14			; PARITY FLOP [READ]
    494
    495					; BITS 13 THRU 08 ARE UNIBUS PARITY ERROR INFO [READ]
    496
    497					; BITS 07 AND 06 ARE UNUSED [MBZ]
    498
    499		000040 			D3.SCD==BIT05			; SHIFT DATA IN 13-08 FOR NEXT READ [WRITE]
    500		000020 			D3.UPE==BIT04			; DATO UNIBUS PARITY ERROR (DUPE) [READ]
    501		000020 			D3.CDD==BIT04			; CLEAR DUPE AND DURE FLAGS
    502		000010 			D3.WEP==BIT03			; WRITE EVEN UNIBUS PARITY FLOP [READ]
    503									; WRITE EVEN UNIBUS PARITY IF = 1 [WRITE]
    504									; WRITE ODD (GOOD) UNIBUS PARITY IF = 0 [WRITE]
    505		000004 			D3.URE==BIT02			; DATO UNIBUS RECEIVE ERROR FLAG (DURE) [READ]
    506		000002 			D3.NPE==BIT01			; NPR UNIBUS PARITY ERROR FLAG (NUPE) [READ]
    507									; CLEAR NUPE [WRITE]
    508		000001 			D3.TXB==BIT00			; SET TO 10 BYTE TRANSFER MODE [WRITE]
    509
    510		177704 			D3.MBZ==BIT15!BIT14!BIT13!BIT12!BIT11!BIT10!BIT09!BIT08!BIT07!BIT06!BIT02
    511
    512		000001 			D3.RST==D3.TXB			; DIAG WORD 3 RESET BIT
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 33
*LOCAL DEFINITIONS* 7511.24

    514					; DEFINE DTE20 STATUS BITS
    515
    516		100000 			ST.TXD==BIT15			; TO 10 TRANSFER DONE FLAG [READ]
    517									; SET TO 10 TRANSFER DONE [WRITE]
    518		040000 			ST.CTD==BIT14			; CLEAR TO 10 TRANSFER DONE FLAG [WRITE]
    519		020000 			ST.TXE==BIT13			; TO 10 ERROR DONE FLAG [READ]
    520									; SET TO 10 ERROR DONE FLAG [WRITE]
    521		010000 			ST.RIZ==BIT12			; DTE20 RAM LOCATION IS ZEROES [READ]
    522		010000 			ST.CTE==BIT12			; CLEAR TO 10 ERROR DONE FLAG [WRITE]
    523		004000 			ST.EDB==BIT11			; 11 DOORBELL FLAG [READ]
    524									; SET THE 11 DOORBELL FLAG [WRITE]
    525		002000 			ST.DW1==BIT10			; YES, THIS BIT IS HERE
    526		001000 			ST.MPE==BIT09			; 11 MEMORY PARITY ERROR DURING TO 10 XFER [READ]
    527									; CLEAR ST.MPE [WRITE]
    528		000400 			ST.XDB==BIT08			; 10 DOORBELL FLAG [READ]
    529									; RING THE 10 DOORBELL [WRITE]
    530		000200 			ST.TED==BIT07			; TO 11 TRANSFER DONE FLAG [READ]
    531									; SET ST.TED [WRITE]
    532		000100 			ST.EBS==BIT06			; E BUFFER SELECT [READ]
    533		000100 			ST.CED==BIT06			; CLEAR ST.TED [WRITE]
    534		000040 			ST.NST==BIT05			; TO 11 XFER STOPPED BECAUSE STOP BIT WAS SET [READ]
    535		000040 			ST.IEN==BIT05			; ENABLE DTE20 TO GENERATE BR REQUESTS IF = 1
    536		000020 			ST.EPE==BIT04			; EBUS PARITY ERROR FLAG [READ]
    537									; CLEAR EBUS PARITY ERROR FLAG IF = 1 [WRITE]
    538		000010 			ST.MOD==BIT03			; DTE20 IS PRIVILEGED IF = 0 [READ]
    539									;   "	"  RESTRICTED "  " 1   "
    540		000010 			ST.IDS==BIT03			; DISABLE DTE20 BR REQUESTS [WRITE]
    541		000004 			ST.DXD==BIT02			; DEPOSIT / EXAMINE DONE FLAG [READ]
    542		000004 			ST.SEP==BIT02			; SET EBUS PARITY ERROR IF = 1 [WRITE]
    543		000002 			ST.TER==BIT01			; TO 11 BYTE XFER ERROR FLAG [READ]
    544		000002 			ST.STE==BIT01			; SET ST.TER IF = 1 [WRITE]
    545		000001 			ST.ION==BIT00			; 11 CAN GENERATE BR REQUESTS [READ]
    546		000001 			ST.CLE==BIT00			; CLEAR ST.TER IF = 1 [WRITE]
    547
    548		011121 			ST.RST==ST.CTE!ST.MPE!ST.CED!ST.EPE!ST.CLE
    549
    550		000000 			ST.MBZ==0			; BIT MASK FOR WRITE
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 34
*LOCAL DEFINITIONS* 7511.24

    552					; DEFINE FLAG BITS IN ".KLFLG"
    553
    554		100000 			KF.CLK==BIT15			; KL10 CLOCK IS RUNNING IF .NE. 0
    555		040000 			KF.EMS==BIT14			; EBOX AND MBOX ARE IN SYNCH IF .NE. 0
    556		020000 			KF.RUN==BIT13			; KL10 RUN FLOP IS ON IF .NE. 0
    557		010000 			KF.MRS==BIT12			; KL10 MASTER RESET FLOP IS ON IF .NE. 0
    558		004000 			KF.SIM==BIT11			; KL10 IS IN SINGLE INSTRUCTION MODE IF .NE. 0
    559		002000 			KF.SMC==BIT10			; KL10 IS IN SINGLE PULSE MBOX MODE IF .NE. 0
    560		001000 			KF.SPM==BIT09			;  "   "  "    "      "   EBOX	"   "   "   "
    561		000400 			KF.BRM==BIT08			; KL10 IS IN BURST MODE IF .NE. 0
    562		000200 			KF.UCS==BIT07			; UCODE STARTED IF .NE. 0
    563		000100 			KF.KLO==BIT06			; KL10 IS IN KL10 MODE IF .NE. 0
    564		000040 			KF.CES==BIT05			; PROCESSING CLOCK ERROR STOP IF .NE. 0
    565		000020 			KF.CON==BIT04			; KL10 IS CONTINUABLE IF .NE. 0
    566		000001 			KF.WRN==BIT00			; SECONDARY PROTOCOL MAY RUN IF .NE. 0
    567		000021 			KF.DEF==KF.CON!KF.WRN		; DEFAULT FLAGS (SEE ".INKLF")
    568
    569					; DEFINE BITS IN ".TRKWD"
    570
    571		000001 			TR.FXC==BIT00			; TRACK FUNCTION EXECUTES IF .NE. 0
    572		000002 			TR.FRD==BIT01			; TRACK FUNCTION READS IF .NE. 0
    573		000004 			TR.FWR==BIT02			; TRACK FUNCTION EXECUTES IF .NE. 0
    574		000010 			TR.EXM==BIT03			; TRACK MEMORY EXAMINES IF .NE. 0
    575		000020 			TR.DEP==BIT04			; TRACK MEMORY DEPOSITS IF .NE. 0
    576		000040 			TR.DTE==BIT05			; TRACK DTE20 OPERATIONS IF .NE. 0
    577		000077 			TR.ALL==TR.FXC!TR.FRD!TR.FWR!TR.EXM!TR.DEP!TR.DTE
    578
    579					; DEFINE KL10 PC FLAGS (FROM "C.MAC" V. 1, EDIT 24 7511.25)
    580
    581		010000 			PC.OVF==BIT12			; KL10 OVERFLOW FLAG (BIT 00)
    582		004000 			PC.CY0==BIT11			; KL10 CARRY 0 FLAG (BIT 01)
    583		002000 			PC.CY1==BIT10			; KL10 CARRY 1 FLAG (BIT 02)
    584		001000 			PC.FOV==BIT09			; KL10 FLOATING OVERFLOW FLAG (BIT 03)
    585		000400 			PC.BIS==BIT08			; KL10 BYTE INCREMENT SUPPRESSION FLAG (BIT 04)
    586		000200 			PC.USR==BIT07			; KL10 USER MODE FLAG (BIT 05)
    587		000100 			PC.UIO==BIT06			; KL10 USER IOT MODE FLAG (BIT 06)
    588		000040 			PC.LIP==BIT05			; KL10 LAST INSTRUCTION PUBLIC FLAG (BIT 07)
    589		000020 			PC.AFI==BIT04			; KL10 ADDRESS FAILURE INHIBIT FLAG (BIT 08)
    590		000010 			PC.AT1==BIT03			; KL10 APR TRAP 1 FLAG (BIT 09)
    591		000004 			PC.AT0==BIT02			; KL10 APR TRAP 0 FLAG (BIT 10)
    592		000002 			PC.FUF==BIT01			; KL10 FLOATING UNDERFLOW FLAG (BIT 11)
    593		000001 			PC.NDV==BIT00			; KL10 NO DIVIDE FLAG (BIT 12)
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 35
*LOCAL DEFINITIONS* 7511.24

    595					; DEFINE DIAGNOSTIC FUNCTION EXECUTE CODES
    596
    597		000000 			FX.000==0
    598		000000 				FX.CSP==FX.000		; STOP THE KL10 CLOCK
    599		000002 			FX.001==1*2
    600		000002 				FX.CST==FX.001		; START THE KL10 CLOCK
    601		000004 			FX.002==2*2
    602		000004 				FX.MBC==FX.002		; PULSE THE MBOX CLOCK
    603		000006 			FX.003==3*2
    604		000006 				FX.EBC==FX.003		; PULSE THE EBOX CLOCK
    605		000010 			FX.004==4*2
    606		000010 				FX.SYC==FX.004		; SYNCH THE EBOX CLOCK LOW
    607		000012 			FX.005==5*2
    608		000012 				FX.BMC==FX.005		; BURST THE MBOX CLOCK
    609		000014 			FX.006==6*2
    610		000014 				FX.CMR==FX.006		; CLEAR MASTER RESET STATE
    611		000016 			FX.007==7*2
    612		000016 				FX.SMR==FX.007		; SET MASTER RESET STATE
    613
    614		000020 			FX.010==10*2
    615		000020 				FX.CRF==FX.010		; CLEAR THE KL10 RUN FLOP
    616		000022 			FX.011==11*2
    617		000022 				FX.SRF==FX.011		; SET THE KL10 RUN FLOP
    618		000024 			FX.012==12*2
    619		000024 				FX.CON==FX.012		; SET THE KL10 CONTINUE FLOP
    620		000026 			FX.013==13*2
    621		000030 			FX.014==14*2
    622		000030 				FX.UIR==FX.014		; UNLATCH THE IR
    623		000032 			FX.015==15*2
    624		000032 				FX.UDR==FX.015		; UNLATCH THE DRAM REGISTER
    625		000034 			FX.016==16*2
    626		000036 			FX.017==17*2
    627
    628		000040 			FX.020==20*2
    629		000042 			FX.021==21*2
    630		000044 			FX.022==22*2
    631		000046 			FX.023==23*2
    632		000050 			FX.024==24*2
    633		000052 			FX.025==25*2
    634		000054 			FX.026==26*2
    635		000056 			FX.027==27*2
    636
    637		000060 			FX.030==30*2
    638		000062 			FX.031==31*2
    639		000064 			FX.032==32*2
    640		000066 			FX.033==33*2
    641		000070 			FX.034==34*2
    642		000072 			FX.035==35*2
    643		000074 			FX.036==36*2
    644		000076 			FX.037==37*2
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 36
*LOCAL DEFINITIONS* 7511.24

    646					; DEFINE DIAGNOSTIC FUNCTION WRITE CODES
    647
    648		000100 			FW.040==40*2
    649		000102 			FW.041==41*2
    650		000104 			FW.042==42*2
    651		000104 				FW.LBR==FW.042		; LOAD BURST COUNTER RIGHT 4 BITS
    652		000106 			FW.043==43*2
    653		000106 				FW.LBL==FW.043		; LOAD BURST COUNTER LEFT 4 BITS
    654		000110 			FW.044==44*2
    655		000110 				FW.CSR==FW.044		; LOAD THE KL10 CLOCK SOURCE AND RATE
    656
    657					; CLOCK SOURCE AND RATE CODES, EBUS 32-33 AND 34-35, RESPECTIVELY,
    658					; IN LOW BYTE OF CLOCK CONTROL WORD (".CLKWD").
    659
    660		000000 				CS.NRM==0&14		; KL10 NORMAL CLOCK SOURCE (EBUS 32-33)
    661		000004 				CS.CS1==4&14		; KL10 CLOCK SOURCE 1
    662		000010 				CS.CS2==10&14		; KL10 CLOCK SOURCE 2
    663		000004 				CS.FST==4&14		; KL10 FAST CLOCK SOURCE
    664		000004 				CS.MGN==CS.FST		; KL10 MARGIN CLOCK SOURCE
    665		000010 				CS.EXT==10&14		; KL10 EXTERNAL CLOCK SOURCE
    666		000014 				CS.UDF==14&14		; UNDEFINED (DEFAULT TO FAST)
    667
    668		000000 				CR.NRM==0&3		; KL10 NORMAL CLOCK SOURCE (EBUS 34-35)
    669		000001 				CR.CR1==1&3		; KL10 CLOCK RATE 1
    670		000002 				CR.CR2==2&3		; KL10 CLOCK RATE 2
    671		000000 				CR.FUL==0&3		; KL10 CLOCK FULL SPEED
    672		000001 				CR.HLF==1&3		;  "	 "   HALF   "
    673		000002 				CR.QTR==2&3		;  "	 "   QRTR   "
    674		000003 				CR.SLO==3&3		;  "	 "   SLOW   "
    675
    676		000112 			FW.045==45*2
    677		000112 				FW.CDR==FW.045		; LOAD THE KL10 CLOCK DISTRIBUTION REGISTER
    678
    679					; CLOCK DISTRIBUTION DISABLE CODES, EBUS 33-35 TO KL10, ALSO IN
    680					; HIGH BYTE OF CLOCK CONTROL WORD (".CLKWD").
    681
    682		002000 				CD.CRC==<4&7>*400	; DISABLE CONTROL RAM CLOCKS
    683		001000 				CD.DPC==<2&7>*400	; DISABLE DATA PATHS CLOCKS
    684		000400 				CD.CLC==<1&7>*400	; DISABLE CONTROL LOGIC CLOCKS
    685		000000 				CD.NRM==<0&7>*400	; NORMAL CLOCK ENABLES
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 37
*LOCAL DEFINITIONS* 7511.24

    687		000114 			FW.046==46*2
    688		000114 				FW.IPE==FW.046		; LOAD INTERNAL PARITY ENABLES
    689
    690					; INTERNAL KL10 PARITY ENABLE CODES, EBUS 32 - 35 TO KL10,
    691					; ALSO IN LOW BYTE OF PARITY STOP CONTROL WORD (".PSCWD").
    692
    693		000010 				IP.FMP==10&17		; FAST MEMORY PARITY STOP ENABLE
    694		000004 				IP.CRP==4&17		; CRAM PARITY STOP ENABLE
    695		000002 				IP.DRP==2&17		; DRAM PARITY STOP ENABLE
    696		000001 				IP.FSS==1&17		; FIELD SERVICE STOP ENABLE
    697		000016 				IP.NRM==IP.FMP!IP.CRP!IP.DRP
    698		000017 				IP.ALL==IP.NRM!IP.FSS
    699
    700		000116 			FW.047==47*2
    701		000116 				FW.APE==FW.047		; LOAD AR/ARX PARITY ENABLES (ET AL.)
    702
    703					; INTERNAL KL10 PARITY STOP CODES, EBUS 32 - 35 TO KL10,
    704					; AP.EIP MUST BE SET TO ALLOW IP.XXX CONDITIONS TO STOP KL10 CLOCK
    705					; MAINTAINED IN HIGH BYTE OF PARITY STOP CONTROL WORD (".PSCWD").
    706
    707		001000 				AP.ARP==<2&17>*400	; ALLOW AR/ARX PARITY TO CAUSE A
    708									; PAGE FAIL TRAP IN THE KL10
    709		000400 				AP.EIP==<1&17>*400	; ENABLE INTERNAL PARITY ENABLES TO
    710									; STOP THE KL10 CLOCK
    711		001400 				AP.NRM==AP.EIP!AP.ARP	; NORMAL PARITY STOP ENABLES
    712
    713		000120 			FW.050==50*2
    714		000122 			FW.051==51*2
    715		000122 				FW.CA1==FW.051		; LOAD LOW CRAM ADDRESS
    716		000124 			FW.052==52*2
    717		000124 				FW.CA2==FW.052		; LOAD HIGH CRAM ADDRESS
    718		000126 			FW.053==53*2
    719		000126 				FW.CRD==FW.053		; LOAD CRAM DISPATCH
    720		000130 			FW.054==54*2
    721		000130 				FW.CR4==FW.054		; LOAD CRAM BITS 60 THRU 78
    722		000132 			FW.055==55*2
    723		000132 				FW.CR3==FW.055		; LOAD CRAM BITS 40 THRU 59
    724		000134 			FW.056==56*2
    725		000134 				FW.CR2==FW.056		; LOAD CRAM BITS 20 THRU 39
    726		000136 			FW.057==57*2
    727		000136 				FW.CR1==FW.057		; LOAD CRAM BITS 00 THRU 19
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 38
*LOCAL DEFINITIONS* 7511.24

    729		000140 			FW.060==60*2
    730		000140 				FW.DR1==FW.060		; LOAD DRAM A AND B EVEN
    731		000142 			FW.061==61*2
    732		000142 				FW.DR2==FW.061		; LOAD DRAM A AND B ODD
    733		000144 			FW.062==62*2
    734		000144 				FW.DR3==FW.062		; LOAD DRAM J COMMON
    735		000146 			FW.063==63*2
    736		000146 				FW.DJE==FW.063		; LOAD DRAM J EVEN
    737		000150 			FW.064==64*2
    738		000150 				FW.DJO==FW.064		; LOAD DRAM J ODD
    739		000152 			FW.065==65*2
    740		000152 				FW.IOJ==FW.065		; DISABLE SPECIAL DECODE OF I/O AND JRST
    741		000154 			FW.066==66*2
    742		000154 				FW.IAC==FW.066		; DISABLE IR AC OUTPUTS
    743		000156 			FW.067==67*2
    744		000156 				FW.KLO==FW.067		; ENABLE KL10 OPCODES AND ACS
    745
    746		000160 			FW.070==70*2
    747		000160 				FW.CHN==FW.070		; CHANNEL CONTROL FUNCTIONS
    748		000162 			FW.071==71*2
    749		000162 				FW.MBX==FW.071		; MBOX CONTROL FUNCTIONS
    750		000164 			FW.072==72*2
    751		000166 			FW.073==73*2
    752		000170 			FW.074==74*2
    753		000172 			FW.075==75*2
    754		000174 			FW.076==76*2
    755		000174 				FW.EBL==FW.076		; EBUS REGISTER LOAD FUNCTION
    756		000174 				FW.SBR==FW.076		; SBUS RESET FUNCTION
    757		000176 			FW.077==77*2
    758		000176 				FW.LAR==FW.077		; LOAD AR REGISTER
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 39
*LOCAL DEFINITIONS* 7511.24

    760					; DEFINE DIAGNOSTIC FUNCTION READ CODES
    761
    762		000200 			FR.100==100*2
    763		000200 				FR.PI0=FR.100		; PI BOARD READ 0
    764		000202 			FR.101==101*2
    765		000202 				FR.PI1=FR.101		; PI BOARD READ 1
    766		000204 			FR.102==102*2
    767		000206 			FR.103==103*2
    768		000210 			FR.104==104*2
    769		000212 			FR.105==105*2
    770		000214 			FR.106==106*2
    771		000216 			FR.107==107*2
    772
    773		000220 			FR.110==110*2
    774		000220 				FR.APR==FR.110		; APR STATUS
    775		000222 			FR.111==111*2
    776		000224 			FR.112==112*2
    777		000226 			FR.113==113*2
    778		000230 			FR.114==114*2
    779		000232 			FR.115==115*2
    780		000234 			FR.116==116*2
    781		000236 			FR.117==117*2
    782
    783		000240 			FR.120==120*2
    784		000240 				FR.RAR==FR.120		; ARITHMETIC REGISTER [AR 00 - 35]
    785		000242 			FR.121==121*2
    786		000242 				FR.RBR==FR.121		; BUFFER REGISTER [BR 00 - 35]
    787		000244 			FR.122==122*2
    788		000244 				FR.RMQ==FR.122		; MQ REGISTER [MQ 00 - 35]
    789		000246 			FR.123==123*2
    790		000246 				FR.RFM==FR.123		; FM REGISTER [FM 00 - 35]
    791		000250 			FR.124==124*2
    792		000250 				FR.BRX==FR.124		; BR EXTENSION REGISTER [BRX 00 - 35]
    793		000252 			FR.125==125*2
    794		000252 				FR.ARX==FR.125		; AR EXTENSION REGISTER [ARX 00 - 35]
    795		000254 			FR.126==126*2
    796		000254 				FR.ADX==FR.126		; AD EXTENSION REGISTER [ADX 00 - 35]
    797		000256 			FR.127==127*2
    798		000256 				FR.RAD==FR.127		; ADDER REGISTER [AD 00 - 35]
    799
    800		000260 			FR.130==130*2
    801		000260 				FR.SC2==FR.130		; SHIFT COUNT REGISTER 2
    802		000260 				FR.DA1==FR.130		; DRAM ADDR 1
    803		000262 			FR.131==131*2
    804		000262 				FR.SC1==FR.131		; SHIFT COUNT REGISTER 1
    805		000262 				FR.DA2==FR.131		; DRAM ADDR 2
    806		000264 			FR.132==132*2
    807		000264 				FR.FE2==FR.132		; FLOATING EXPONENT REGISTER 2
    808		000266 			FR.133==133*2
    809		000266 				FR.FE1==FR.133		; FLOATING EXPONENT REGISTER 1
    810		000270 			FR.134==134*2
    811		000272 			FR.135==135*2
    812		000274 			FR.136==136*2
    813		000276 			FR.137==137*2
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 40
*LOCAL DEFINITIONS* 7511.24

    815		000300 			FR.140==140*2
    816		000302 			FR.141==141*2
    817		000302 				FR.CRD==FR.141		; READ CRAM DISP FIELD
    818		000304 			FR.142==142*2
    819		000304 				FR.SR2==FR.142		; CRAM SBR RET 2
    820		000306 			FR.143==143*2
    821		000306 				FR.SR1==FR.143		; CRAM SBR RET 1
    822		000310 			FR.144==144*2
    823		000310 				FR.CA2==FR.144		; READ CRAM ADDRESS LOW
    824		000310 				FR.CR4==FR.CA2		; CRAM DATA 60 - 78
    825		000312 			FR.145==145*2
    826		000312 				FR.CA1==FR.145		; READ CRAM ADDRESS HIGH
    827		000312 				FR.CR3==FR.CA1		; CRAM DATA 40 - 59
    828		000314 			FR.146==146*2
    829		000314 				FR.CR2==FR.146		; CRAM DATA 20 - 39
    830		000314 				FR.CL2==FR.CR2		; CRAM LOC 05 - 10
    831		000316 			FR.147==147*2
    832		000316 				FR.CR1==FR.147		; CRAM DATA 00 - 19
    833		000316 				FR.CL1==FR.CR1		; CRAM LOC 00 - 04
    834
    835		000320 			FR.150==150*2
    836		000320 				FR.VM0==FR.150		; VMA REGISTER 0
    837		000322 			FR.151==151*2
    838		000322 				FR.VM1==FR.151		; VMA REGISTER 1
    839		000324 			FR.152==152*2
    840		000324 				FR.VM2==FR.152		; VMA REGISTER 2
    841		000326 			FR.153==153*2
    842		000326 				FR.VM3==FR.153		; VMA REGISTER 3
    843		000330 			FR.154==154*2
    844		000330 				FR.VM4==FR.154		; VMA REGISTER 4
    845		000332 			FR.155==155*2
    846		000332 				FR.VM5==FR.155		; VMA REGISTER 5
    847		000334 			FR.156==156*2
    848		000334 				FR.VM6==FR.156		; VMA REGISTER 6
    849		000336 			FR.157==157*2
    850		000336 				FR.VM7==FR.157		; VMA REGISTER 7
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 41
*LOCAL DEFINITIONS* 7511.24

    852		000340 			FR.160==160*2
    853		000342 			FR.161==161*2
    854		000344 			FR.162==162*2
    855		000346 			FR.163==163*2
    856		000350 			FR.164==164*2
    857		000352 			FR.165==165*2
    858		000354 			FR.166==166*2
    859		000356 			FR.167==167*2
    860		000356 				FR.EBS==FR.167		; [EBUS REG 00 THRU 35]
    861
    862		000360 			FR.170==170*2
    863		000362 			FR.171==171*2
    864		000364 			FR.172==172*2
    865		000366 			FR.173==173*2
    866		000370 			FR.174==174*2
    867		000372 			FR.175==175*2
    868		000374 			FR.176==176*2
    869		000376 			FR.177==177*2
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 42
*LOCAL DEFINITIONS* 7511.24

    871					; DEFINE LOCAL MACROS
    872
    873					; MACRO TO STOP THE KL10 CLOCK
    874
    875					.MACRO	XCSTP$	ERROR
    876						CALL	.STPXC		; STOP THE KL10 CLOCK
    877					.IF NB,ERROR
    878						BCS	ERROR		; GO TO ERROR IF C-BIT IS SET
    879					.ENDC
    880					.ENDM	XCSTP$
    881
    882					; MACRO TO START THE KL10 CLOCK
    883
    884					.MACRO	XCSTA$	ERROR
    885						CALL	.STCLK		; START THE KL10 CLOCK
    886					.IF NB,ERROR
    887						BCS	ERROR		; GO TO ERROR IF C-BIT IS SET
    888					.ENDC
    889					.ENDM	XCSTA$
    890
    891					; MACRO TO CLEAR THE KL10 RUN FLOP
    892
    893					.MACRO	XRCLR$	ERROR
    894						CALL	.CLRFF		; CLEAR THE KL10 RUN FLOP
    895					.IF NB,ERROR
    896						BCS	ERROR		; GO TO ERROR IF C-BIT IS SET
    897					.ENDC
    898					.ENDM	XRCLR$
    899
    900					; MACRO TO SET THE KL10 RUN FLOP
    901
    902					.MACRO	XRSET$	ERROR
    903						CALL	.STRUN		; SET THE KL10 RUN FLOP
    904					IF NB,ERROR
    905						BCS	ERROR		; GO TO ERROR IF C-BIT IS SET
    906					.ENDC
    907					.ENDM	XRSET$
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 43
*ERROR CODE LIST* 7511.24

    909					.SBTTL	*ERROR CODE LIST* 7511.24
    910
    911					;+
    912					; THE FOLLOWING IS A LIST OF THE .RAD50 ERROR CODES RETURNED
    913					; BY THE SUBROUTINES WITHIN COMSUB.
    914					;
    915					; ERROR CODE		SUBROUTINE	CAUSE
    916					;
    917					; 	BAE		.BRMBC		BURST ARGUMENT .GT. 255 DECIMAL.
    918					; 	BAE		.BURST		BURST ARGUMENT .GT. 255 DECIMAL.
    919					;
    920					;	CAE		.RDCRM		CRAM ADDRESS ERROR.
    921					;	CAE		.STUCD		CRAM ADDRESS ERROR.
    922					;	CAE		.WRCRM		CRAM ADDRESS ERROR.
    923					;	CCC		.STPXC		CAN'T CLEAR KL10 CLOCK.
    924					;	CCR		.CLRFF		CAN'T CLEAR KL10 RUN FLOP.
    925					;	CCS		.STCLK		CLOCK CAN'T START.
    926					;	CES		.CESCK		KL10 CLOCK ERROR STOP.
    927					;	CES		.INIT		KL10 CLOCK ERROR STOP.
    928					;	CFH		.KLHLT		CAN'T FIND HALT LOOP.
    929					;	CFH		.KLSTP		CAN'T FIND HALT LOOP.
    930					;	CSC		.SYNXC		CAN'T SYNCH KL10 CLOCK.
    931					;	CSR		.STRUN		CAN'T SET KL10 RUN FLOP.
    932					;
    933					;	DAE		.RDDRM		DRAM ADDRESS ERROR.
    934					;	DAE		.WRDRM		DRAM ADDRESS ERROR.
    935					;	DSF		.DTDW1		DTE20 STATUS FAILURE.
    936					;	DSF		.DTDW2		  "	"       "
    937					;	DSF		.DTDW3		  "	"       "
    938					;	DSF		.DTSTA		  "	"       "
    939					;	DSF		.DWDW1		  "	"	"
    940					;	DSF		.DWDW2		  "	"	"
    941					;	DSF		.DWSTA		  "	"	"
    942					;	DSF		.DWDW3		  "	"	"
    943					;	DTC		.INKLF		DTE20 CONFUSED.
    944					;	DMF		.DPKLM		DEPOSIT KL10 MEMORY FAILED.
    945					;
    946					;	ECT		.EBCLK		EBOX CLOCK TIMEOUT.
    947					;	EMF		.EXKLM		EXAMINE KL10 MEMORY FAILED.
    948					;	ESD		.DPKLM		EBOX STOPPED - DEPOSIT.
    949					;	ESE		.EXKLM		EBOX STOPPED - EXAMINE.
    950					;
    951					;	FRF		.FREAD		FUNCTION READ FAILED.
    952					;	FWF		.FWRIT		FUNCTION WRITE FAILED.
    953					;	FXF		.FXCT		FUNCTION EXECUTE FAILED.
    954					;
    955					;	IFC		.XFRED		ILLEGAL FUNCTION CODE.
    956					;	IFC		.XFWRT		ILLEGAL FUNCTION CODE.
    957					;	IFC		.XFXCT		ILLEGAL FUNCTION CODE.
    958					;	IPE		.RDVAB		NO BUFFER POINTER.
    959					;	IPE		.RDVMA		NO BUFFER POINTER.
    960					;	IPE		.RDVMH		NO BUFFER POINTER.
    961					;	IPE		.RDVPC		NO BUFFER POINTER.
    962					;
    963					;	MAE		.EXKLM		MODE ARGUMENT ERROR.
    964					;	MAE		.DPKLM		MODE ARGUMENT ERROR.
    965					;
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 43-1
*ERROR CODE LIST* 7511.24

    966					;	OFC		.XFRED		ODD FUNCTION CODE.
    967					;	OFC		.XFWRT		ODD FUNCTION CODE.
    968					;	OFC		.XFXCT		ODD FUNCTION CODE.
    969					;
    970					;	UNL		.STUCD		MICROCODE NOT LOADED.
    971					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 44
*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04

    973					.SBTTL	*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04
    974					.IF NE $DISTB
    975
    976					; COMMAND PARSER SUBROUTINE DISPATCH TABLE
    977
    978					.MACRO	DISTAB
    979						X	.ABORT,IABORT
    980						X	.BRMBC,IBRMBC
    981						X	.BURST,IBURST
    982						X	.CESCK,ICESCK
    983						X	.CLDFB,ICLDFB
    984						X	.CLDFR,ICLDFR
    985						X	.CLDFW,ICLDFW
    986						X	.CLIPE,ICLIPE
    987						X	.CLRFF,ICLRFF
    988						X	.DPKLM,IDPKLM
    989						X	.DTDW1,IDTDW1
    990						X	.DTDW2,IDTDW2
    991						X	.DTDW3,IDTDW3
    992						X	.DTERD,IDTERD
    993						X	.DTEWR,IDTEWR
    994						X	.DTSTA,IDTSTA
    995						X	.DWDW1,IDWDW1
    996						X	.DWDW2,IDWDW2
    997						X	.DWDW3,IDWDW3
    998						X	.DWSTA,IDWSTA
    999						X	.EBCLK,IEBCLK
   1000						X	.EBPCK,IEBPCK
   1001						X	.EXKLM,IEXKLM
   1002						X	.FREAD,IFREAD
   1003						X	.FWRIT,IFWRIT
   1004						X	.FXCT,IFXCT
   1005						X	.INIT,IINIT
   1006						X	.INKLF,IINKLF
   1007						X	.KLCON,IKLCON
   1008						X	.KLGO,IKLGO
   1009						X	.KLHLT,IKLHLT
   1010						X	.KLRST,IKLRST
   1011						X	.KLST,IKLST
   1012						X	.KLSTN,IKLSTN
   1013						X	.KLSTP,IKLSTP
   1014						X	.KLXCT,IKLXCT
   1015						X	.LDBRC,ILDBRC
   1016						X	.LDBRG,ILDBRG
   1017						X	.LDCLK,ILDCLK
   1018						X	.LDCRA,ILDCRA
   1019						X	.LDPAR,ILDPAR
   1020						X	.LDRAD,ILDRAD
   1021						X	.MBPHS,IMBPHS
   1022						X	.MRCLR,IMRCLR
   1023						X	.RAMFD,IRAMFD
   1024						X	.RAMFE,IRAMFE
   1025						X	.RDADR,IRDADR
   1026						X	.RDADX,IRDADX
   1027						X	.RDALL,IRDALL
   1028						X	.RDAPR,IRDAPR
   1029						X	.RDARR,IRDARR
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 44-1
*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04

   1030						X	.RDARX,IRDARX
   1031						X	.RDBRR,IRDBRR
   1032						X	.RDBRX,IRDBRX
   1033						X	.RDCPP,IRDCPP
   1034						X	.RDCRA,IRDCRA
   1035						X	.RDCRD,IRDCRD
   1036						X	.RDCRL,IRDCRL
   1037						X	.RDCRM,IRDCRM
   1038						X	.RDCRO,IRDCRO
   1039						X	.RDCRR,IRDCRR
   1040						X	.RDDRA,IRDDRA
   1041						X	.RDDRM,IRDDRM
   1042						X	.RDDRO,IRDDRO
   1043						X	.RDDRR,IRDDRR
   1044						X	.RDEBS,IRDEBS
   1045						X	.RDFER,IRDFER
   1046						X	.RDFLG,IRDFLG
   1047						X	.RDFMA,IRDFMA
   1048						X	.RDFMO,IRDFMO
   1049						X	.RDFMR,IRDFMR
   1050						X	.RDIPE,IRDIPE
   1051						X	.RDIRR,IRDIRR
   1052						X	.RDMQR,IRDMQR
   1053						X	.RDPI,IRDPI
   1054						X	.RDSBR,IRDSBR
   1055						X	.RDSCR,IRDSCR
   1056						X	.RDVAB,IRDVAB
   1057						X	.RDVMA,IRDVMA
   1058						X	.RDVMH,IRDVMH
   1059						X	.RDVPC,IRDVPC
   1060						X	.RESET,IRESET
   1061						X	.RESTD,IRESTD
   1062						X	.RESTI,IRESTI
   1063						X	.RESTP,IRESTP
   1064						X	.SHIFT,ISHIFT
   1065						X	.STCLK,ISTCLK
   1066						X	.STPXC,ISTPXC
   1067						X	.STRUN,ISTRUN
   1068						X	.STUCD,ISTUCD
   1069						X	.SYNXC,ISYNXC
   1070						X	.WRCRM,IWRCRM
   1071						X	.WRTAR,IWRTAR
   1072						X	.XFRED,IXFRED
   1073						X	.XFWRT,IXFWRT
   1074						X	.XFXCT,IXFXCT
   1075					.ENDM	DISTAB
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 45
*.CPDST -- COMMAND PARSER SUBROUTINE DISPATCH TABLE* 7512.04

   1077					$$$C=-2				; INIT COUNTER
   1078
   1079					.MACRO	X	A,B
   1080						.WORD	A		; ENTRY POINT FOR SUBROUTINE A
   1081					B==$$$C+2			; DEFINE OFFSET FOR SUBROUTINE A
   1082					$$$C=B
   1083					.ENDM	X
   1084
   1085					.CPSDT::
   1086						DISTAB
   1087					CPSDTL==.-.CPSDT		; DEFINE LENGTH OF DISPATCH TABLE
   1088					.ENDC				; $DISTB
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 46
*.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05

   1090					.SBTTL	*.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05
   1091
   1092					;+
   1093					; .ABORT -- SUBROUTINE TO ABORT THE CURRENT KL10 PROCESS
   1094					;
   1095					; THIS SUBROUTINE ABORTS THE CURRENT KL10 PROCESS AND RETURNS WITH
   1096					; THE KL10 CLOCK RUNNING IN THE HALT LOOP. IF THE "HALT" FAILS, THE
   1097					; KL10 MICROCODE IS RESTARTED. THE CONTINUEABILITY OF THE KL10 IS
   1098					; INDICATED BY THE STATE OF THE "KF.CON" FLAG BIT (Q.V.) IN ".KLFLG".
   1099					;
   1100					; SEQUENCE OF OPERATION:
   1101					;
   1102					;	(A) THE KL10 IS HALTED,
   1103					;	(B) IF THE HALT WINS GO TO (D), OTHERWISE GO TO (C),
   1104					;	(C) THE MICRO CODE IS RESTARTED AT CRAM ADDRESS 0000,
   1105					;	(D) EXIT.
   1106					;
   1107					; CALLING SEQUENCE IS:
   1108					;
   1109					;	CALL	.ABORT		; STOP THE KL10 (DAMMIT)
   1110					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1111					;
   1112					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, IS UNCHANGED ON SUCCESS;
   1113					; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   1114					;
   1115					; NOTE:
   1116					;
   1117					;	THE CONTINUEABILITY OF THE KL10 IS NOT GUARANTEED BY THIS
   1118					;	SUBROUTINE.
   1119					;
   1120					; ERROR CODES RETURNED:
   1121					;
   1122					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   1123					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   1124					;	FRF -- FUNCTION READ FAILED.
   1125					;	FWF -- FUNCTION WRITE FAILED.
   1126					;	FXF -- FUNCTION EXECUTE FAILED.
   1127					;	UNL -- UCODE NOT LOADED.
   1128					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 47
*.ABORT -- ABORT CURRENT OPERATION SUBROUTINE* 7601.05

   1130	000204				.ABORT::
   1131	000204					PUSH	R0		; SAVE R0 ON THE STACK
	000204	010046 				MOV	R0,-(SP)
   1132	000206					CALL	.KLSTP		; .HALT THE KL10
	000206	004737 	002646'			JSR	PC,.KLSTP
   1133	000212	103006 				BCC	ABORTX		; .AND EXIT IF C-BIT IS CLEAR
   1134	000214				ABORT1:
   1135	000214	005000 				CLR	R0		; .CLEAR R0
   1136	000216	000241 				CLC			; .AND THE C-BIT
   1137	000220					CALL	.STUCD		; .(RE)START THE UCODE
	000220	004737 	006020'			JSR	PC,.STUCD
   1138	000224	103001 				BCC	ABORTX		; .ALL OK IF C-BIT IS CLEAR
   1139	000226	010016 				MOV	R0,(SP)		; .ERROR CODE TO CALLER'S R0
   1140	000230				ABORTX:
   1141	000230					POP	R0		; RESTORE R0
	000230	012600 				MOV	(SP)+,R0
   1142	000232					RETURN			; TO CALLER
	000232	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 48
*.BURST -- MBOX CLOCK BURST SUBROUTINE* 7601.02

   1144					.SBTTL	*.BURST -- MBOX CLOCK BURST SUBROUTINE* 7601.02
   1145
   1146					;+
   1147					; .BRMBC -- SUBROUTINE TO STOP THE KL10 CLOCK AND BURST THE MBOX
   1148					;	    CLOCK AS IN ".BURST".
   1149					; .BURST -- SUBROUTINE TO BURST THE KL10 MBOX CLOCK
   1150					;	    A MAXIMUM OF 255 DECIMAL TICKS PER CALL.
   1151					;
   1152					; THIS SUBROUTINE LOADS THE KL10 BURST COUNT REGISTER
   1153					; AND RUNS THE MBOX CLOCK FROM THE BURST COUNT REGISTER. IT WILL
   1154					; FAIL IF A BURST COUNT .GT. 255 DECIMAL IS REQUESTED IN ONE CALL.
   1155					;
   1156					; CALLING SEQUENCE IS:
   1157					;
   1158					;	MOV	#TICKS,R0	; LOAD THE BURST COUNT
   1159					;	CALL	.BURST		; BURST THE MBOX CLOCK
   1160					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1161					;
   1162					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
   1163					; ALL OTHER REGISTERS ARE PRESERVED.
   1164					;
   1165					; ERROR CODES RETURNED:
   1166					;
   1167					;	BAE -- BURST ARGUMENT ERROR.
   1168					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   1169					;	FWF -- FUNCTION WRITE FAILED.
   1170					;	FXF -- FUNCTION EXECUTE FAILED.
   1171					;-
   1172
   1173	000234				.BRMBC::
   1174	000234					CALL	.STPXC		; STOP THE KL10 CLOCK
	000234	004737 	005734'			JSR	PC,.STPXC
   1175	000240	103416 				BCS	BRSTXX		; ERROR IF C-BIT IS SET
   1176	000242				.BURST::
   1177	000242	022700 	000377 			CMP	#^D255,R0	; IS ARGUMENT .GT. 255 DECIMAL?
   1178	000246	103410 				BLO	BCCTER		; YES, ERROR
   1179	000250					CALL	.LDBRG		; LOAD THE BURST COUNTER
	000250	004737 	002774'			JSR	PC,.LDBRG
   1180	000254	103410 				BCS	BRSTXX		; ERROR IF C-BIT IS SET
   1181	000256	012700 	000012 			MOV	#FX.BMC,R0	; SET UP TO BURST THE MBOX CLOCK
   1182	000262					CALL	.FXCT		; DO IT
	000262	004737 	006666'			JSR	PC,.FXCT
   1183	000266	000403 				BR	BRSTXX		; AND EXIT
   1184	000270				BCCTER:
   1185	000270					ERROR$	BAE		; ARGUMENT OUT OF RANGE
	000270	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	000272	006255 				.RAD50	/BAE/		; "BAE" ERROR CODE IN .RAD50
   1186	000274	000261 				SEC			; SET THE C-BIT
   1187	000276				BRSTXX:
   1188	000276					RETURN			; LEAVE
	000276	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 49
*.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP* 7512.03

   1190					.SBTTL	*.CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP* 7512.03
   1191
   1192					;+
   1193					; .CESCK -- SUBROUTINE TO CHECK FOR CLOCK ERROR STOP BY READING
   1194					;	    DTE20 DIAG WORD 1.
   1195					;
   1196					; THIS SUBROUTINE CHECKS FOR THE KL10 CLOCK ERROR STOP ("D1.CES") FLAG
   1197					; IN THE DTE20 DIAG1 REGISTER, AND WILL RETURN A .RAD50 "CES" ERROR
   1198					; CODE IN R0 IF THE CLOCK ERROR STOP FLAG IS ON.
   1199					;
   1200					; SEQUENCE OF OPERATION:
   1201					;
   1202					;	(A) READ DTE20 DIAG WORD 1,
   1203					;	(B) TEST THE CLOCK ERROR STOP FLAG FROM (A),
   1204					;	(C) RETURN A .RAD50 "CES" ERROR CODE IF THE FLAG IS ON.
   1205					;
   1206					; ".RDIPE" (Q.V.) WILL RETURN THE INTERNAL ERROR STATUS IN ".PEWRD".
   1207					;
   1208					; CALLING SEQUENCE IS:
   1209					;
   1210					;	CALL	.CESCK		; LOOK FOR CLOCK ERROR STOP
   1211					;	BCS	ERROR		; MAYBE "CES" OR "DSF" ERROR IF C-BIT IS SET
   1212					;
   1213					; ON RETURN, R0 WILL CONTAIN A .RAD50 ERROR CODE IF D1.CES IS ON,
   1214					; OTHERWISE, R0 WILL CONTAIN A COPY OF DTE20 DIAG WORD 1.
   1215					;
   1216					; ERROR CODES RETURNED:
   1217					;
   1218					;	CES -- KL10 CLOCK ERROR STOP.
   1219					;	DSF -- DTE20 STATUS FAILURE.
   1220					;-
   1221
   1222	000300				.CESCK::
   1223	000300					CALL	.DTDW1		; READ DIAG WORD 1
	000300	004737 	000476'			JSR	PC,.DTDW1
   1224	000304	103411 				BCS	CESCKX		; ERROR IF C-BIT IS SET
   1225	000306	032700 	004000 			BIT	#D1.CES,R0	; IS CLOCK ERROR STOP LIT?
   1226	000312	001406 				BEQ	CESCKX		; NO, JUST GO AWAY
   1227	000314					ERROR$	CES		; CLOCK ERROR STOP
	000314	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	000316	011633 				.RAD50	/CES/		; "CES" ERROR CODE IN .RAD50
   1228	000320	000261 				SEC			; SET THE C-BIT
   1229	000322	042737 	100020 	000000G		BIC	#KF.CON!KF.CLK,.KLFLG
   1230									; CLEAR THE CLOCK AND CONTINUEABLE FLAGS
   1231	000330				CESCKX:
   1232	000330					RETURN			; TO CALLER
	000330	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 50
*.CLIPE -- SUBROUTINE TO CLEAR INTERNAL PARITY STOP* 7510.24

   1234					.SBTTL	*.CLIPE -- SUBROUTINE TO CLEAR INTERNAL PARITY STOP* 7510.24
   1235
   1236					;+
   1237					; .CLIPE -- SUBROUTINE TO CLEAR KL10 INTERNAL PARITY STOP.
   1238					;
   1239					; THIS SUBROUTINE CLEARS THE INTERNAL KL10 PARITY STOP ENABLE BIT.
   1240					;
   1241					; SEQUENCE OF OPERATION:
   1242					;
   1243					;	(A) THE STATE OF THE KL10 PARITY ERROR FLAGS ARE READ,
   1244					;	(B) THE PARITY STOP ENABLE IS CLEARED (CLEARS CLOCK ERROR STOP).
   1245					;
   1246					; CALLING SEQUENCE IS:
   1247					;
   1248					;	CALL	.CLIPE		; CLEAR CLOCK ERROR STOP
   1249					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1250					;
   1251					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, R1 THRU R5 ARE PRESERVED.
   1252					; ".PSCWD" CONTAINS THE CURRENT PARITY ENABLES AND ".PEWRD" CONTAINS THE
   1253					; PARITY ERROR FLAGS FOUND BEFORE THEY WERE CLEARED.
   1254					;
   1255					; ERROR CODES RETURNED:
   1256					;
   1257					;	FRF -- FUNCTION READ FAILED.
   1258					;	FWF -- FUNCTION WRITE FAILED.
   1259					;-
   1260
   1261	000332				.CLIPE::
   1262	000332					PUSH	R1		; SAVE R1
	000332	010146 				MOV	R1,-(SP)
   1263	000334					CALL	.RDIPE		; .READ THE PARITY ERRORS
	000334	004737 	004566'			JSR	PC,.RDIPE
   1264	000340	103410 				BCS	CLIPEX		; .ERROR IF C-BIT IS SET
   1265	000342	012701 	000212'			MOV	#CPTMP,R1	; .SET UP POINTER
   1266	000346	013711 	000204'			MOV	.PSCWD,(R1)	; .MOVE CURRENT ENABLES THERE
   1267	000352	042711 	000400 			BIC	#AP.EIP,(R1)	; .WITHOUT THE ENABLE BIT
   1268	000356					CALL	.LDPAR		; .DISABLE THE ERROR STOPS
	000356	004737 	003112'			JSR	PC,.LDPAR
   1269	000362				CLIPEX:
   1270	000362					POP	R1		; RESTORE R1
	000362	012601 				MOV	(SP)+,R1
   1271	000364					RETURN			; TO CALLER
	000364	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 51
*.CLRFF -- CLEAR KL10 RUN FLOP SUBROUTINE* 7601.09

   1273					.SBTTL	*.CLRFF -- CLEAR KL10 RUN FLOP SUBROUTINE* 7601.09
   1274
   1275					;+
   1276					; .CLRFF -- SUBROUTINE TO CLEAR THE KL10 RUN FLOP.
   1277					;
   1278					; THIS SUBROUTINE CLEARS THE KL10 RUN FLOP.
   1279					;
   1280					; CALLING SEQUENCE IS:
   1281					;
   1282					;	CALL	.CLRFF		; CLEAR THE KL10 RUN FLOP
   1283					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1284					;
   1285					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
   1286					; ARE PRESERVED ACROSS THE CALL.
   1287					;
   1288					; ERROR CODES RETURNED:
   1289					;
   1290					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   1291					;-
   1292
   1293	000366				.CLRFF::
   1294	000366	000241 				CLC			; CLEAR THE C-BIT
   1295	000370					DIR$	#.MTDPB		; REQUEST MARK TIME (FOR ".KLHLT")
	000370	012746 	007346'			MOV	#.MTDPB,-(SP)
	000374	104375 				EMT	375
   1296	000376					PUSH	R0		; SAVE R0
	000376	010046 				MOV	R0,-(SP)
   1297	000400	012700 	000020 			MOV	#FX.CRF,R0	; .SET UP TO CLEAR KL10 RUN FLOP
   1298	000404					CALL	.FXCT		; .DO IT
	000404	004737 	006666'			JSR	PC,.FXCT
   1299	000410	103002 				BCC	CLRFEX		; .ALL OK IF C-BIT IS CLEAR
   1300	000412				CLRFFX:
   1301	000412					ERROR$	CCR,(SP)	; .CAN'T CLEAR RUN
	000412	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	000414	011512 				.RAD50	/CCR/		; "CCR" ERROR CODE IN .RAD50
   1302	000416				CLRFEX:
   1303	000416					POP	R0		; RESTORE R0
	000416	012600 				MOV	(SP)+,R0
   1304	000420				CLRFXX:
   1305	000420					RETURN
	000420	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 52
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09

   1307					.SBTTL	*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09
   1308
   1309					;+
   1310					; .DTDW1 -- SUBROUTINE TO READ DTE20 DIAG WORD 1.
   1311					; .DTDW2 -- SUBROUTINE TO READ DTE20 DIAG WORD 2.
   1312					; .DTSTA -- SUBROUTINE TO READ DTE20 STATUS WORD.
   1313					; .DTDW3 -- SUBROUTINE TO READ DTE20 DIAG WORD 3.
   1314					; .DWDW1 -- SUBROUTINE TO WRITE DTE20 DIAG WORD 1.
   1315					; .DWDW2 -- SUBROUTINE TO WRITE DTE20 DIAG WORD 2.
   1316					; .DWSTA -- SUBROUTINE TO WRITE DTE20 STATUS WORD.
   1317					; .DWDW3 -- SUBROUTINE TO WRITE DTE20 DIAG WORD 3.
   1318					;
   1319					; THESE SUBROUTINES READ OR WRITE THE CONTENT OF THE SPECIFIED
   1320					; DTE20 REGISTER.
   1321					;
   1322					; THE CONTENT OF THE REGISTER TO BE WRITTEN IS PASSED IN R0.
   1323					; WHETHER A READ OR WRITE IS SPECIFIED, THE CONTENT OF THE REGISTER
   1324					; AFTER THE READ OR WRITE IS ALWAYS RETURNED IN R0 AND IN ".DREG".
   1325					;
   1326					; READ CALLING SEQUENCE IS:
   1327					;
   1328					;	CALL	.DTXXX		; READ THE DESIRED REGISTER
   1329					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1330					;
   1331					; WRITE CALLING SEQUENCE IS:
   1332					;
   1333					;	MOV	#PNTR,R0	; DATA POINTER TO R0
   1334					;	CALL	.DWXXX		; WRITE THE DESIRED REGISTER
   1335					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1336					;
   1337					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND THE CURRENT CONTENT
   1338					; OF THE REGISTER ON SUCCESS; NO OTHER REGISTERS ARE ALTERED.
   1339					;
   1340					; ERROR CODES RETURNED:
   1341					;
   1342					;	DSF -- DTE20 STATUS FAILURE.
   1343					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 53
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09

   1345	000422				.DWDW1::			; DIAG WORD 1 WRITE ENTRY
   1346	000422	105037 	007313'			CLRB	.REGRW+3	; SET DIAG1 OFFSET
   1347	000426	000413 				BR	DTWRTC		; DO COMMON WRITE CODE
   1348
   1349	000430				.DWDW2::			; DIAG WORD 2 WRITE ENTRY
   1350	000430	112737 	000002 	007313'		MOVB	#.DIAG2,.REGRW+3; DIAG2 OFFSET
   1351	000436	000407 				BR	DTWRTC		; DO COMMON WRITE CODE
   1352
   1353	000440				.DWSTA::			; STATUS WRITE ENTRY
   1354	000440	112737 	000004 	007313'		MOVB	#.DTSTW,.REGRW+3; OFFSET FOR STATUS
   1355	000446	000403 				BR	DTWRTC		; DO COMMON WRITE CODE
   1356
   1357	000450				.DWDW3::			; DIAG WORD 3 WRITE ENTRY
   1358	000450	112737 	000006 	007313'		MOVB	#.DIAG3,.REGRW+3; SET DIAG WORD 3 OFFSET
   1359	000456				DTWRTC:				; COMMON WRITE CODE
   1360	000456	010037 	007314'			MOV	R0,.REGRW+4	; SET THE DATA POINTER IN THE DPB
   1361	000462	113700 	007313'			MOVB	.REGRW+3,R0	; GET THE REGISTER OFFSET
   1362	000466	046077 	000602'	006620 		BIC	MBZTAB(R0),@.REGRW+4
   1363									; ZERO THE MBZ BITS
   1364	000474	000420 				BR	.DTEWR		; WRITE IT
   1365
   1366	000476				.DTDW1::			; DIAG WORD 1 READ ENTRY
   1367	000476	105037 	007313'			CLRB	.REGRW+3	; DIAG WORD 1 OFFSET IS 0
   1368	000502	000413 				BR	.DTERD		; GO READ IT
   1369
   1370	000504				.DTDW2::			; DIAG WORD 2 READ ENTRY
   1371	000504	112737 	000002 	007313'		MOVB	#.DIAG2,.REGRW+3; DIAG WORD 2 OFFSET IS 2
   1372	000512	000407 				BR	.DTERD		; GO READ IT
   1373
   1374	000514				.DTSTA::			; STATUS WORD READ ENTRY
   1375	000514	112737 	000004 	007313'		MOVB	#.DTSTW,.REGRW+3; SET THE OFFSET FOR THE STATUS WORD
   1376	000522	000403 				BR	.DTERD		; GO READ THE DTE20 STATUS REGISTER
   1377
   1378	000524				.DTDW3::			; DIAG WORD 3 READ ENTRY
   1379	000524	112737 	000006 	007313'		MOVB	#.DIAG3,.REGRW+3; SET THE OFFSET FOR DIAG WORD 3
   1380									; FALL INTO THE READ CODE
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 54
*.DTERW -- DTE20 REGISTER READ / WRITE SUBROUTINES* 7601.09

   1382					; THIS IS THE COMMON DTE20 REGISTER READ WRITE CODE
   1383
   1384	000532				.DTERD::
   1385	000532	005037 	007314'			CLR	.REGRW+4	; THIS IS NOT A WRITE
   1386	000536				.DTEWR::			; DATA BUFFER ALREADY LOADED FOR WRITE
   1387	000536	005037 	000046'			CLR	.DREG		; CLEAR RETURNED DATA BUFFER
   1388	000542					DIR$	#.REGRW		; READ OR WRITE THE REGISTER
	000542	012746 	007310'			MOV	#.REGRW,-(SP)
	000546	104375 				EMT	375
   1389	000550	103411 				BCS	DTEREX		; ERROR IF C-BIT IS SET
   1390	000552	013700 	000046'			MOV	.DREG,R0	; PUT A COPY IN R0
   1391	000556	032737 	000040 	011706'		BIT	#TR.DTE,.TRKWD	; ARE WE TRACKING DTE20 OPS?
   1392	000564	001405 				BEQ	DTERDX		; BRANCH IF NOT
   1393	000566					CALL	.DTTRK		; YES, TRACK IT
	000566	004737 	000612'			JSR	PC,.DTTRK
   1394	000572	000402 				BR	DTERDX		; AND LEAVE
   1395	000574				DTEREX:
   1396	000574					ERROR$	DSF		; DTE20 REGISTER READ OR WRITE FAILED
	000574	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	000576	015776 				.RAD50	/DSF/		; "DSF" ERROR CODE IN .RAD50
   1397	000600				DTERDX:
   1398	000600					RETURN			; GO AWAY
	000600	000207 				RTS	PC
   1399
   1400					; TABLE TO CLEAR MBZ BITS ON REGISTER WRITE
   1401
   1402	000602				MBZTAB:
   1403	000602	000442 				.WORD	D1.MBZ
   1404	000604	177641 				.WORD	D2.MBZ
   1405	000606	000000 				.WORD	ST.MBZ
   1406	000610	177704 				.WORD	D3.MBZ
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 55
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11

   1408					.SBTTL	*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11
   1409
   1410					;+
   1411					; .DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS
   1412					;
   1413					; THIS SUBROUTINE WILL TRACK DTE20 OPERATIONS AND PRINT ALL DTE20
   1414					; REFERENCES BY THE COMMAND PARSER ON THE CONSOLE OUTPUT DEVICE.
   1415					; THIS SUBROUTINE IS CALLED INTERNALLY, DEPENDENT UPON THE STATE OF
   1416					; THE DTE20 TRACK FLAG ("TR.DTE") IN THE TRACK CONTROL WORD, ".TRKWD."
   1417					;
   1418					; CALLING SEQUENCE IS:
   1419					;
   1420					;	CALL	.DTTRK		; TRACK THE DTE20
   1421					;				; ONLY RETURN
   1422					;
   1423					; THE DTE20 REGISTER OPERATED UPON IS IDENTIFIED BY ONE OF THE FOLLOWING:
   1424					;
   1425					;	(A) DW1 - DIAG WORD 1,
   1426					;	(B) DW2 - DIAG WORD 2,
   1427					;	(C) STA - STATUS WORD,
   1428					;	(D) DW3 - DIAG WORD 3.
   1429					;
   1430					; A READ OPERATION IS IDENTIFIED BY "RD", AND A WRITE OPERATION BY "WR".
   1431					;
   1432					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   1433					;
   1434					; ERROR CODES RETURNED:
   1435					;
   1436					;	NONE.
   1437					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 56
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11

   1439	000612				.DTTRK::
   1440	000612	012737 	177777 	011706'		MOV	#-^D1,.LDZER	; PRINT LEADING ZEROES
   1441	000620					PUSH	R0		; SAVE R0
	000620	010046 				MOV	R0,-(SP)
   1442	000622	012700 	000732'			MOV	#DTRMSG,R0	; .MESSAGE POINTER TO R0
   1443	000626					CALL	TYPASZ		; .PRINT IT
	000626	004737 	016540'			JSR	PC,TYPASZ
   1444	000632	113700 	007313'			MOVB	.REGRW+3,R0	; .GET THE REGISTER OFFSET
   1445	000636	016000 	000722'			MOV	REGTAB(R0),R0	; .REGISTER MESSAGE POINTER TO R0
   1446	000642					CALL	TYPASZ		; .TYPE IT
	000642	004737 	016540'			JSR	PC,TYPASZ
   1447	000646					CALL	TYPTAB		; .NOW A <TAB>
	000646	004737 	016516'			JSR	PC,TYPTAB
   1448	000652	005737 	007314'			TST	.REGRW+4	; .READ OR WRITE?
   1449	000656	001002 				BNE	DTTRK1		; .BRANCH IF WRITE
   1450	000660	011600 				MOV	(SP),R0		; .DATA TO R0
   1451	000662	000402 				BR	DTTRK2		; .GO PRINT IT
   1452	000664				DTTRK1:
   1453	000664	017700 	006424 			MOV	@.REGRW+4,R0	; .GET WRITTEN DATA
   1454	000670				DTTRK2:
   1455	000670					CALL	EVTYP		; .PRINT THE DATA
	000670	004737 	016540'			JSR	PC,EVTYP
   1456	000674	012700 	000776'			MOV	#DRDMSG,R0	; .READ MESSAGE POINTER TO R0
   1457	000700	005737 	007314'			TST	.REGRW+4	; .WAS IT A WRITE?
   1458	000704	001402 				BEQ	DTTRK3		; .BRANCH IF SO
   1459	000706	012700 	001002'			MOV	#DWRMSG,R0	; .WRITE MESSAGE POINTER TO R0
   1460	000712				DTTRK3:
   1461	000712					CALL	TYPLIN		; .PRINT IT AND A <CRLF>
	000712	004737 	016540'			JSR	PC,TYPLIN
   1462	000716					POP	R0		; RESTORE R0
	000716	012600 				MOV	(SP)+,R0
   1463	000720					RETURN			; TO CALLER
	000720	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 57
*.DTTRK -- SUBROUTINE TO TRACK DTE20 OPERATIONS* 7512.11

   1465	000722				REGTAB:
   1466	000722	000752'				.WORD	DW1MSG		; MESSAGE POINTERS
   1467	000724	000757'				.WORD	DW2MSG
   1468	000726	000764'				.WORD	STAMSG
   1469	000730	000771'				.WORD	DW3MSG
   1470
   1471	000732				DTRMSG:
   1472	000732	   011 	   124 	   122 		.ASCIZ	%	TRACK > DTE20 %
	000735	   101 	   103 	   113
	000740	   040 	   076 	   040
	000743	   104 	   124 	   105
	000746	   062 	   060 	   040
	000751	   000
   1473
   1474	000752				DW1MSG:
   1475	000752	   104 	   127 	   061 		.ASCIZ	%DW1/%
	000755	   057 	   000
   1476	000757				DW2MSG:
   1477	000757	   104 	   127 	   062 		.ASCIZ	%DW2/%
	000762	   057 	   000
   1478	000764				STAMSG:
   1479	000764	   123 	   124 	   101 		.ASCIZ	%STA/%
	000767	   057 	   000
   1480	000771				DW3MSG:
   1481	000771	   104 	   127 	   063 		.ASCIZ	%DW3/%
	000774	   057 	   000
   1482
   1483	000776				DRDMSG:
   1484	000776	   040 	   122 	   104 		.ASCIZ	% RD%
	001001	   000
   1485	001002				DWRMSG:
   1486	001002	   040 	   127 	   122 		.ASCIZ	% WR%
	001005	   000
   1487					.EVEN
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 58
*.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01

   1489					.SBTTL	*.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01
   1490
   1491					;+
   1492					; .EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK VIA MBOX CLOCKS
   1493					;
   1494					; THIS SUBROUTINE WILL SIMULATE AN EBOX CLOCK WITH MBOX CLOCKS.
   1495					; DOING THIS PREVENTS THE EBOX AND MBOX FROM BECOMING UNSYNCHRONIZED.
   1496					; THE EBOX CLOCK IS SYNCHED LOW ON EXIT.
   1497					;
   1498					; SEQUENCE OF OPERATION:
   1499					;
   1500					;	(A) AN MBOX CLOCK IS ISSUED (FX.002),
   1501					;	(B) THE STATE OF [CLK EBOX SRC H] IS TESTED:
   1502					;		(1) IF FALSE GO TO (A),
   1503					;		(2) IF TRUE GO TO (C),
   1504					;	(C) THE EBOX CLOCK IS SYNCHED LOW.
   1505					;
   1506					; CALLING SEQUENCE IS:
   1507					;
   1508					;	CALL	.EBCLK		; DO AN "EBOX" CLOCK
   1509					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1510					;
   1511					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   1512					; ALL REGISTERS ARE PRESERVED BY THIS SUBROUTINE.
   1513					;
   1514					; ERROR CODES RETURNED:
   1515					;
   1516					;	CES -- CLOCK ERROR STOP.
   1517					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   1518					;	DSF -- DTE20 STATUS FAILURE.
   1519					;	ECT -- EBOX CLOCK TIMEOUT.
   1520					;	FRF -- FUNCTION READ FAILED.
   1521					;	FXF -- FUNCTION EXECUTE FAILED.
   1522					;
   1523					; NOTE:
   1524					;
   1525					;	THIS SUBROUTINE ASSUMES THAT THE KL10 CLOCK IS OFF.
   1526					;
   1527					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 59
*.EBCLK -- SUBROUTINE TO SIMULATE AN EBOX CLOCK* 7512.01

   1529	001006				.EBCLK::
   1530	001006					PUSH	<R2,R1,R0>	; SAVE CALLER'S REGISTERS
	001006	010246 				MOV	R2,-(SP)
	001010	010146 				MOV	R1,-(SP)
	001012	010046 				MOV	R0,-(SP)
   1531	001014					CALL	.CESCK		; ...SEE IF CLOCK ERROR STOP IS UP
	001014	004737 	000300'			JSR	PC,.CESCK
   1532	001020	103427 				BCS	EBCLKE		; ...BRANCH IF SO OR OTHER ERROR
   1533	001022	012702 	000310 			MOV	#^D200,R2	; ...TIMEOUT COUNT TO R2
   1534	001026				EBCLK1:
   1535	001026	005001 				CLR	R1		; ...CLEAR R1
   1536	001030	012700 	000004 			MOV	#FX.MBC,R0	; ...DO ONE MBOX CLOCK
   1537	001034					CALL	.FXCT		; ...DO IT
	001034	004737 	006666'			JSR	PC,.FXCT
   1538	001040	103417 				BCS	EBCLKE		; ...ERROR IF C-BIT IS SET
   1539	001042	012700 	000210 			MOV	#FR.104,R0	; ...READ STATE OF [CLK EBX SRC H]
   1540	001046					CALL	.FREAD		; ...DO IT
	001046	004737 	006472'			JSR	PC,.FREAD
   1541	001052	103412 				BCS	EBCLKE		; ...ERROR IF C-BIT IS SET
   1542	001054	032710 	000004 			BIT	#BIT02,(R0)	; ...IS IT THERE?
   1543	001060	001002 				BNE	EBCLK2		; ...YES, SYNCH THE CLOCK AND EXIT
   1544	001062					SOB	R2,EBCLK1	; ...LOOP TILL COUNT EXHAUSTED
	001062	005302 				DEC	R2
	001064	001360 				BNE	EBCLK1
   1545	001066				EBCLK2:
   1546	001066	005702 				TST	R2		; ...WHAT'S IN R2?
   1547	001070	003405 				BLE	EBCTOE		; ...TIMED OUT IF .LE. 0
   1548	001072					CALL	.SYNXC		; ...FORCE SYNCH THE CLOCK
	001072	004737 	006156'			JSR	PC,.SYNXC
   1549	001076	103005 				BCC	EBCLKX		; ...ALL OK IF C-BIT IS CLEAR
   1550	001100				EBCLKE:
   1551	001100	010016 				MOV	R0,(SP)		; ...PUT R0 IN CALLER'S R0
   1552	001102	000403 				BR	EBCLKX		; ...AND EXIT
   1553	001104				EBCTOE:
   1554	001104					ERROR$	ECT,(SP)	; ...EBOX CLOCK TIME OUT
	001104	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	001106	017714 				.RAD50	/ECT/		; "ECT" ERROR CODE IN .RAD50
   1555	001110	000261 				SEC			; ...SET THE ERROR BIT
   1556	001112				EBCLKX:
   1557	001112					POP	<R0,R1,R2>	; RESTORE CALLER'S REGISTERS
	001112	012600 				MOV	(SP)+,R0
	001114	012601 				MOV	(SP)+,R1
	001116	012602 				MOV	(SP)+,R2
   1558	001120					RETURN			; AND RETURN TO CALLER
	001120	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 60
*.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR* 7512.03

   1560					.SBTTL	*.EBPCK -- SUBROUTINE TO CHECK EBUS PARITY ERROR* 7512.03
   1561
   1562					;+
   1563					; .EBPCK -- SUBROUTINE TO CHECK FOR EBUS PARITY ERRORS
   1564					;
   1565					; THIS SUBROUTINE WILL RETURN AN ERROR CODE IN R0 IF THE EBUS PARITY
   1566					; ERROR FLAG IS TRUE.
   1567					;
   1568					; CALLING SEQUENCE IS:
   1569					;
   1570					;	CALL	.EBPCK		; CHECK FOR EBUS PARITY ERROR
   1571					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1572					;
   1573					; R0 WILL CONTAIN A .RAD50 ERROR CODE IF THE SUBROUTINE FAILS, OR
   1574					; IF THE EBUS PARITY ERROR FLAG IS SET, OTHERWISE R0 CONTAINS A COPY
   1575					; OF THE DTE20 STATUS REGISTER. NO OTHER REGISTERS ARE ALTERED BY
   1576					; THIS SUBROUTINE.
   1577					;
   1578					; ERROR CODES RETURNED:
   1579					;
   1580					;	DSF -- DTE20 STATUS FAILURE.
   1581					;	EPE -- EBUS PARITY ERROR.
   1582					;-
   1583
   1584	001122				.EBPCK::
   1585	001122					CALL	.DTSTA		; READ DTE20 STATUS WORD
	001122	004737 	000514'			JSR	PC,.DTSTA
   1586	001126	103406 				BCS	EBPCKX		; ERROR IF C-BIT IS SET
   1587	001130	032700 	000020 			BIT	#ST.EPE,R0	; EBUS PARITY ERROR?
   1588	001134	001403 				BEQ	EBPCKX		; BRANCH IF NOT
   1589	001136					ERROR$	EPE		; EBUS PARITY ERROR
	001136	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	001140	020705 				.RAD50	/EPE/		; "EPE" ERROR CODE IN .RAD50
   1590	001142	000261 				SEC			; SET THE C-BIT
   1591	001144				EBPCKX:
   1592	001144					RETURN			; TO CALLER
	001144	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 61
*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09

   1594					.SBTTL	*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09
   1595
   1596					;+
   1597					; .EXTRK -- SUBROUTINE TO TRACK A KL10 EXAMINE.
   1598					; .DPTRK -- SUBROUTINE TO TRACK A KL10 DEPOSIT.
   1599					;
   1600					; THESE SUBROUTINES WILL TRACK A KL10 EXAMINE OR DEPOSIT BY
   1601					; DISPLAYING THE ADDRESS, DATA, AND REFERENCE TYPE OF THE EXAMINE
   1602					; OR DEPOSIT ON THE CONSOLE DEVICE AS IT IS EXECUTED.
   1603					;
   1604					; THESE SUBROUTINES ARE CALLED INTERNALLY DEPENDENT ON THE STATE OF
   1605					; THE TRACK CONTROL WORD ".TRKWD".
   1606					;
   1607					; THE SWITCHES IN ".TRKWD" ARE TURNED ON OR OFF BY THE "SET" AND
   1608					; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
   1609					;
   1610					; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
   1611					;
   1612					; ERROR CODES RETURNED:
   1613					;
   1614					;	NONE.
   1615					;-
   1616
   1617	001146				.EXTRK::
   1618	001146					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	001146	004537 	007214'			JSR	R5,REGSAV
   1619	001152	012705 	001400'			MOV	#EXTMSG,R5	; PREAMBLE TO TYPE
   1620	001156	000404 				BR	.EDTRK		; DO COMMON CODE
   1621	001160				.DPTRK::
   1622	001160					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	001160	004537 	007214'			JSR	R5,REGSAV
   1623	001164	012705 	001415'			MOV	#DPTMSG,R5	; PREAMBLE TO TYPE
   1624									; AND FALL INTO COMMON CODE
   1625
   1626					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 62
*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09

   1628					;	[HERE FROM PREVIOUS PAGE]
   1629
   1630	001170				.EDTRK::
   1631	001170					PUSH	R0		; SAVE R0 ON THE STACK
	001170	010046 				MOV	R0,-(SP)
   1632	001172	011100 				MOV	(R1),R0		; .GET ADDRESS POINTER
   1633	001174	012702 	001326'			MOV	#TRADDR,R2	; .POINT TO OUR BLOCK
   1634	001200	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
   1635	001202	012022 				MOV	(R0)+,(R2)+	; .
   1636	001204	005012 				CLR	(R2)		; .ZERO THE LAST WORD
   1637	001206	016100 	000002 			MOV	2(R1),R0	; .GET DATA POINTER
   1638	001212	012702 	001334'			MOV	#TRDATA,R2	; .POINT TO OUR BLOCK
   1639	001216	012022 				MOV	(R0)+,(R2)+	; .AND LOAD IT
   1640	001220	012022 				MOV	(R0)+,(R2)+	; .
   1641	001222	011012 				MOV	(R0),(R2)	; .
   1642	001224	010500 				MOV	R5,R0		; .PREAMBLE POINTER TO R0
   1643	001226					CALL	TYPASZ		; .PRINT IT
	001226	004737 	016540'			JSR	PC,TYPASZ
   1644	001232	005037 	011706'			CLR	.LDZER		; .MAKE IT SAY NO LEADING ZEROS
   1645	001236	012700 	001326'			MOV	#TRADDR,R0	; .POINT TO ADDRESS
   1646	001242					CALL	KLNTYP		; .PRINT IT
	001242	004737 	016540'			JSR	PC,KLNTYP
   1647	001246					CALL	TYPSLS		; .TYPE A SLASH
	001246	004737 	016524'			JSR	PC,TYPSLS
   1648	001252					CALL	TYPTAB		; .AND A <TAB>
	001252	004737 	016516'			JSR	PC,TYPTAB
   1649	001256	012737 	177777 	011706'		MOV	#-^D1,.LDZER	; .PRINT LEADING ZEROES
   1650	001264	012700 	001334'			MOV	#TRDATA,R0	; .POINT TO DATA
   1651	001270					CALL	KLNTYP		; .PRINT IT
	001270	004737 	016540'			JSR	PC,KLNTYP
   1652	001274					CALL	TYPTAB		; .AND A <TAB>
	001274	004737 	016516'			JSR	PC,TYPTAB
   1653	001300	011600 				MOV	(SP),R0		; .GET TYPE
   1654	001302	006200 				ASR	R0		; .DIVIDE BY 16
   1655	001304	006200 				ASR	R0		; .
   1656	001306	006200 				ASR	R0		; .
   1657	001310	006200 				ASR	R0		; .
   1658	001312	016000 	001342'			MOV	EDTYTB(R0),R0	; .GET TYPE POINTER
   1659	001316					CALL	TYPLIN		; .PRINT IT AND A <CRLF>
	001316	004737 	016540'			JSR	PC,TYPLIN
   1660	001322					POP	R0		; .AND R0
	001322	012600 				MOV	(SP)+,R0
   1661	001324					RETURN			; TO CALLER
	001324	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 63
*.EDTRK -- EXAMINE / DEPOSIT TRACK SUBROUTINE* 7512.09

   1663	001326				TRADDR:
   1664	001326	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR ADDRESS
   1665	001334				TRDATA:
   1666	001334	000000 	000000 	000000 		.WORD	0,0,0		; SPACE FOR DATA
   1667	001342				EDTYTB:				; POINTERS FOR TYPE MESSAGES
   1668	001342	001354'				.WORD	EDEPT		; EPT SPACE
   1669	001344	001360'				.WORD	EDEXV		; EXEC VIRTUAL SPACE
   1670	001346	001364'				.WORD	EDUPT		; UPT SPACE
   1671	001350	001370'				.WORD	EDUSV		; USER VIRTUAL
   1672	001352	001374'				.WORD	EDPHY		; PHYSICAL SPACE
   1673	001354				EDEPT:
   1674	001354	   105 	   120 	   124 		.ASCIZ	%EPT%
	001357	   000
   1675	001360				EDEXV:
   1676	001360	   105 	   126 	   123 		.ASCIZ	%EVS%
	001363	   000
   1677	001364				EDUPT:
   1678	001364	   125 	   120 	   124 		.ASCIZ	%UPT%
	001367	   000
   1679	001370				EDUSV:
   1680	001370	   125 	   126 	   123 		.ASCIZ	%UVS%
	001373	   000
   1681	001374				EDPHY:
   1682	001374	   120 	   110 	   131 		.ASCIZ	%PHY%
	001377	   000
   1683	001400				EXTMSG:
   1684	001400	   011 	   124 	   122 		.ASCIZ	%	TRACK > EX %
	001403	   101 	   103 	   113
	001406	   040 	   076 	   040
	001411	   105 	   130 	   040
	001414	   000
   1685	001415				DPTMSG:
   1686	001415	   011 	   124 	   122 		.ASCIZ	%	TRACK > DP %
	001420	   101 	   103 	   113
	001423	   040 	   076 	   040
	001426	   104 	   120 	   040
	001431	   000
   1687					.EVEN
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 64
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09

   1689					.SBTTL	*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09
   1690
   1691					;+
   1692					; .EXKLM -- SUBROUTINE TO EXAMINE KL10 MEMORY.
   1693					; .DPKLM -- SUBROUTINE TO DEPOSIT KL10 MEMORY.
   1694					;
   1695					; THIS SUBROUTINE EXAMINES OR DEPOSITS ONE LOCATION OF KL10 MEMORY.
   1696					;
   1697					; CALLING SEQUENCE IS:
   1698					;
   1699					;	MOV	#TYPE,R0	; ADDRESS SPACE CODE
   1700					;	MOV	#PNTR,R1	; POINTER TO USER DATA BLOCK
   1701					;	CALL	.EXKLM (.DPKLM)	; EXAMINE (DEPOSIT) KL10 MEMORY
   1702					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1703					;
   1704					; R0 MUST CONTAIN ONE OF THE FOLLOWING ADDRESS SPACE CODES:
   1705					;
   1706					;	(A) ED.EPT (000) EXEC PROCESS TABLE (RELATIVE),
   1707					;	(B) ED.EXV (040) EXEC VIRTUAL ADDRESS SPACE,
   1708					;	(C) ED.UPT (100) USER PROCESS TABLE (RELATIVE),
   1709					;	(D) ED.USV (140) USER VIRTUAL ADDRESS SPACE,
   1710					;	(E) ED.PHY (200) PHYSICAL ADDRESS SPACE.
   1711					;
   1712					; THERE ARE NO DEFAULTS
   1713					;
   1714					; R1 MUST CONTAIN A POINTER TO A TWO WORD POINTER BLOCK OF THE FORM:
   1715					;
   1716					;		!===================================!
   1717					;	00	!      POINTER TO KL10 ADDRESS	    !
   1718					;		!-----------------------------------!
   1719					;	02	!        POINTER TO KL10 DATA	    !
   1720					;		!===================================!
   1721					;
   1722					; THE KL10 ADDRESS POINTER MUST POINT TO A TWO WORD BLOCK OF THE FORM:
   1723					;
   1724					;		!===================================!
   1725					;	00	!	KL10 ADDRESS 20 - 35	    !
   1726					;		!-----------------------------------!
   1727					;	02	!	KL10 ADDRESS 19 - 14	    !
   1728					;		!===================================!
   1729					;
   1730					; THE KL10 DATA POINTER POINTS TO A TRIPLET IN DEXWORD FORMAT.
   1731					;
   1732					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND IS UNDEFINED
   1733					; ON SUCCESS, ALL OTHER REGISTERS UNALTERED.
   1734					;
   1735					; ERROR CODES RETURNED:
   1736					;
   1737					;	ESD -- EBOX STOPPED - DEPOSIT.
   1738					;	ESE -- EBOX STOPPED - EXAMINE.
   1739					;	EMF -- EXAMINE KL10 MEMORY FAILED.
   1740					;	DMF -- DEPOSIT KL10 MEMORY FAILED.
   1741					;	MAE -- MODE ARGUMENT ERROR.
   1742					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 65
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09

   1744	001432				.EXKLM::
   1745	001432					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	001432	010246 				MOV	R2,-(SP)
	001434	010346 				MOV	R3,-(SP)
   1746	001436	012702 	001646'			MOV	#.ETAB,R2	; ..POINTER TO EXAMINE TABLE
   1747	001442					CALL	.EXDPM		; ..GO DO EXAMINE
	001442	004737 	001524'			JSR	PC,.EXDPM
   1748	001446	103423 				BCS	EDKLMX		; ..ERROR IF C-BIT IS SET
   1749	001450	032737 	000010 	011706'		BIT	#TR.EXM,.TRKWD	; ..ARE WE TRACKING EXAMINES?
   1750	001456	001417 				BEQ	EDKLMX		; ..NO
   1751	001460					CALL	.EXTRK		; ..YES, TRACK IT
	001460	004737 	001146'			JSR	PC,.EXTRK
   1752	001464	000414 				BR	EDKLMX		; ..AND GO AWAY
   1753	001466				.DPKLM::
   1754	001466	032737 	000020 	011706'		BIT	#TR.DEP,.TRKWD	; ARE WE TRACKING DEPOSITS?
   1755	001474	001402 				BEQ	DPKLM1		; NO
   1756	001476					CALL	.DPTRK		; TRACK THE DEPOSIT
	001476	004737 	001160'			JSR	PC,.DPTRK
   1757	001502				DPKLM1:
   1758	001502					PUSH	<R2,R3>		; SAVE R2 AND R3 ON THE STACK
	001502	010246 				MOV	R2,-(SP)
	001504	010346 				MOV	R3,-(SP)
   1759	001506	012702 	001656'			MOV	#.DTAB,R2	; ..POINTER TO DEPOSIT TABLE
   1760	001512					CALL	.EXDPM		; ..DO THE DEPOSIT
	001512	004737 	001524'			JSR	PC,.EXDPM
   1761	001516				EDKLMX:
   1762	001516					POP	<R3,R2>		; RESTORE R2 AND R3
	001516	012603 				MOV	(SP)+,R3
	001520	012602 				MOV	(SP)+,R2
   1763	001522					RETURN			; RETURN TO CALLER
	001522	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 66
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09

   1765					; THIS IS THE COMMON DEPOSIT / EXAMINE CODE
   1766
   1767	001524				.EXDPM::
   1768	001524	000241 				CLC			; CLEAR THE C-BIT
   1769	001526	012203 				MOV	(R2)+,R3	; GET THE DPB POINTER INTO R3
   1770	001530					CALL	.CKEDM		; CHECK THE MODE OUT
	001530	004737 	001622'			JSR	PC,.CKEDM
   1771	001534	103431 				BCS	EDKLMY		; MODE ERROR IF C-BIT IS SET
   1772	001536	110023 				MOVB	R0,(R3)+	; PUT THE MODE INTO THE DPB
   1773	001540	011123 				MOV	(R1),(R3)+	; PUT THE POINTER TO THE KL10 ADDRESS IN THE DPB
   1774	001542	016113 	000002 			MOV	2(R1),(R3)	; AND DESTINATION POINTER TOO
   1775	001546	011303 				MOV	(R3),R3		; GET ADDRESS OF CALLER'S DATA BLOCK
   1776	001550	042763 	177760 	000004 		BIC	#177760,4(R3)	; CLEAR EXTRANEOUS BITS
   1777	001556					DIR$	(R2)+		; DO THE EXAMINE OR DEPOSIT
	001556	012246 				MOV	(R2)+,-(SP)
	001560	104375 				EMT	375
   1778	001562	103016 				BCC	EDKLMY		; ALL'S WELL IF C-BIT IS CLEAR
   1779	001564	022737 	177776 	000000G		CMP	#IE.EBX,$DSW	; IS THE EBOX STOPPED?
   1780	001572	001401 				BEQ	EXDPM1		; YES, EBOX IS STOPPED
   1781	001574	005722 				TST	(R2)+		; NO, OTHER ERROR
   1782	001576				EXDPM1:
   1783	001576					CALL	.CESCK		; SEE IF CLOCK ERROR STOP IS UP
	001576	004737 	000300'			JSR	PC,.CESCK
   1784	001602	103406 				BCS	EDKLMY		; C-BIT IS SET IF SO OR OTHER ERROR
   1785	001604	000241 				CLC			; CLEAR THE C-BIT
   1786	001606					CALL	.RESTD		; RESET THE DTE20 SINCE IT MAY BE CONFUSED
	001606	004737 	005650'			JSR	PC,.RESTD
   1787	001612	103401 				BCS	EXDPM2		; ERROR IF C-BIT IS SET
   1788	001614	011200 				MOV	(R2),R0		; PUT THE ERROR CODE IN R0
   1789	001616				EXDPM2:
   1790	001616	000261 				SEC			; SET THE C-BIT
   1791	001620				EDKLMY:
   1792	001620					RETURN			; AND GO AWAY
	001620	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 67
*.EXDPM -- KL10 MEMORY EXAMINE / DEPOSIT SUBROUTINE* 7601.09

   1794					; HERE TO CHECK THE VALIDITY OF THE EXAMINE / DEPOSIT MODE IN R0
   1795
   1796	001622				.CKEDM:
   1797	001622	032700 	177437 			BIT	#177437,R0	; ANY EXTRANEOUS BITS ON?
   1798	001626	001003 				BNE	CKEDME		; YES, DON'T DO IT
   1799	001630	022700 	000200 			CMP	#ED.PHY,R0	; IS IT IN RANGE?
   1800	001634	103003 				BHIS	CKEDMX		; YES, LEAVE
   1801	001636				CKEDME:
   1802	001636					ERROR$	MAE		; MODE ARGUMENT ERROR
	001636	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	001640	050555 				.RAD50	/MAE/		; "MAE" ERROR CODE IN .RAD50
   1803	001642	000261 				SEC			; SET THE C-BIT
   1804	001644				CKEDMX:
   1805	001644					RETURN			; TO CALLER
	001644	000207 				RTS	PC
   1806
   1807					; TABLES FOR EXAMINE / DEPOSIT KL10 MEMORY
   1808
   1809	001646				.ETAB:
   1810	001646	007325'				.WORD	.EXDPB+3	; POINTER FOR EXAMINE MODE IN DPB
   1811	001650	007322'				.WORD	.EXDPB		; EXAMINE DPB POINTER
   1812	001652	021075 				.RAD50	/ESE/		; EBOX STOPPED - EXAMINE
   1813	001654	020516 				.RAD50	/EMF/		; EXAMINE KL10 FAILED
   1814					.EVEN
   1815
   1816	001656				.DTAB:
   1817	001656	007337'				.WORD	.DPDPB+3	; POINTER FOR DEPOSIT MODE IN DPB
   1818	001660	007334'				.WORD	.DPDPB		; DEPOSIT DPB POINTER
   1819	001662	021074 				.RAD50	/ESD/		; EBOX STOPPED - DEPOSIT
   1820	001664	015416 				.RAD50	/DMF/		; DEPOSIT KL10 FAILED
   1821					.EVEN
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 68
*.INIT -- INITIALIZATION SUBROUTINE* 7509.26

   1823					.SBTTL	*.INIT -- INITIALIZATION SUBROUTINE* 7509.26
   1824
   1825					;+
   1826					; .INIT -- SUBROUTINE TO INITIALIZE THE COMMAND PARSER.
   1827					;
   1828					; THIS SUBROUTINE CLEARS INTERNAL BUFFERS AND INITIALIZES
   1829					; THE FOLLOWING REGISTERS:
   1830					;
   1831					;	(A) ".KLFLG" -- THE KL10 STATUS FLAG WORD,
   1832					;	(B) ".CLKWD" -- THE KL10 CLOCK STATUS WORD,
   1833					;	(C) ".PSCWD" -- THE KL10 PARITY CONTROL WORD.
   1834					;
   1835					; CALLING SEQUENCE IS:
   1836					;
   1837					;	CALL	.INIT		; INIT THE COMMAND PARSER
   1838					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1839					;
   1840					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   1841					; ALL REGISTERS ARE PRESERVED ACROSS THE CALL.
   1842					;
   1843					; ERROR CODES RETURNED:
   1844					;
   1845					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   1846					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   1847					;	CCS -- KL10 CLOCK CAN'T START.
   1848					;	CES -- KL10 CLOCK ERROR STOP.
   1849					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   1850					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   1851					;	CSR -- CAN'T SET KL10 RUN FLOP.
   1852					;	DSF -- DTE20 STATUS FAILURE.
   1853					;	FRF -- FUNCTION READ FAILED.
   1854					;	FWF -- FUNCTION WRITE FAILED.
   1855					;-
   1856
   1857	001666				.INIT::
   1858	001666					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	001666	004537 	007214'			JSR	R5,REGSAV
   1859	001672					PUSH	R0		; R0 TOO
	001672	010046 				MOV	R0,-(SP)
   1860	001674	000257 				CCC			; .CLEAR N, Z, V, C BITS
   1861	001676	012702 	000032'			MOV	#.DFBLK,R2	; .CLEAR THE DF BUFFERS
   1862	001702				INITL1:
   1863	001702	005022 				CLR	(R2)+		; .CLEAR A WORD
   1864	001704	020227 	000176'			CMP	R2,#DFBEND	; .ARE WE DONE?
   1865	001710	103774 				BLO	INITL1		; .BRANCH IF NOT
   1866	001712	012737 	000021 	000000G		MOV	#KF.DEF,.KLFLG	; .INIT ".KLFLG"
   1867	001720	000410 				BR	INKLF1		; .GO AROUND REGISTER SAVE IN ".INKLF"
   1868
   1869					;	[CONTINUED ON FOLLOWING PAGES]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 69
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09

   1871					.SBTTL	*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09
   1872
   1873					;+
   1874					; .INKLF -- SUBROUTINE TO SET UP THE KL10 STATE FLAG WORD, ".KLFLG".
   1875					;
   1876					; THIS SUBROUTINE SETS UP THE STATE OF THE FOLLOWING
   1877					; FLAG BITS IN THE KL10 STATE FLAG WORD, ".KLFLG":
   1878					;
   1879					;	(A) "KF.CLK" -- KL10 CLOCK RUNNING FLAG,
   1880					;	(B) "KF.RUN" -- KL10 RUN FLOP SET FLAG,
   1881					;	(C) "KF.KLO" -- KL10 OPCODE ENABLED FLAG.
   1882					;
   1883					; .INKLF MAY BE CALLED DIRECTLY AS DESCRIBED IN THE CALLING SEQUENCE,
   1884					; OR BY ".INIT" WHICH FALLS INTO ".INKLF".
   1885					;
   1886					; CALLING SEQUENCE IS:
   1887					;
   1888					;	CALL	.INKLF		; SET UP ".KLFLG"
   1889					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1890					;
   1891					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS
   1892					; ARE ALTERED BY THIS SUBROUTINE.
   1893					;
   1894					; ERROR CODES RETURNED:
   1895					;
   1896					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   1897					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   1898					;	CCS -- KL10 CLOCK CAN'T START.
   1899					;	CES -- KL10 CLOCK ERROR STOP.
   1900					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   1901					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   1902					;	CSR -- CAN'T SET KL10 RUN FLOP.
   1903					;	DSF -- DTE20 STATUS FAILURE.
   1904					;	DTC -- DTE20 CONFUSED.
   1905					;	FRF -- FUNCTION READ FAILED.
   1906					;	FWF -- FUNCTION WRITE FAILED.
   1907					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 70
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09

   1909	001722				.INKLF::
   1910	001722					SETF$S	#CF.HTO		; SET THE HALT TIMEOUT EVENT FLAG
	001722	012746 	000001 			MOV	#CF.HTO,-(SP)
	001726	012746 				MOV	(PC)+,-(SP)
	001730	   041 	   002 			.BYTE	33.,2
	001732	104375 				EMT	375
   1911	001734					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	001734	004537 	007214'			JSR	R5,REGSAV
   1912	001740					PUSH	R0		; R0 TOO
	001740	010046 				MOV	R0,-(SP)
   1913	001742				INKLF1:				; .GET HERE FROM .INIT AS WELL
   1914	001742	005037 	007332'			CLR	EXDTEN		; .CLEAR OUT THE DTE20 POINTERS IN DPBS
   1915	001746	005037 	007344'			CLR	DPDTEN		; .
   1916	001752	005037 	007274'			CLR	FRDTEN		; .
   1917	001756	005037 	007306'			CLR	FWDTEN		; .
   1918	001762	005037 	007262'			CLR	FXDTEN		; .
   1919	001766	005037 	007320'			CLR	RGDTEN		; .
   1920	001772					CALL	.DTSTA		; .READ THE DTE20 STATUS REGISTER
	001772	004737 	000514'			JSR	PC,.DTSTA
   1921	001776	103450 				BCS	INITEX		; .ERROR IF C-BIT IS SET
   1922	002000	032700 	000010 			BIT	#ST.MOD,R0	; .IS THE DTE20 PRIVILEGED??
   1923	002004	001047 				BNE	INITDX		; .UGH, BLETCH -- NO
   1924	002006					CALL	.CESCK		; .SEE IF CLOCK ERROR STOP IS UP
	002006	004737 	000300'			JSR	PC,.CESCK
   1925	002012	103442 				BCS	INITEX		; .C-BIT IS SET IF SO OR OTHER ERROR
   1926	002014	012705 	000000G			MOV	#.KLFLG,R5	; .FLAG POINTER TO R5
   1927	002020	042715 	120000 			BIC	#KF.CLK!KF.RUN,(R5)
   1928									; .CLEAR THE CLOCK AND RUNNING FLAGS
   1929	002024	012700 	000200 			MOV	#ED.PHY,R0	; .PHYSICAL REFERENCE
   1930	002030	012701 	002142'			MOV	#.INEXT,R1	; .POINT TO DATA BLOCK
   1931	002034					CALL	.EXKLM		; .EXAMINE KL10 MEMORY
	002034	004737 	001432'			JSR	PC,.EXKLM
   1932	002040	012700 	000200 			MOV	#ED.PHY,R0	; .IGNORE ERROR AND TRY AGAIN
   1933	002044					CALL	.EXKLM		; .SO
	002044	004737 	001432'			JSR	PC,.EXKLM
   1934	002050	103402 				BCS	INKLFA		; .IGNORE EXAMINE FAILURE
   1935	002052	052715 	100000 			BIS	#KF.CLK,(R5)	; .SET THE CLOCK RUNNING FLAG
   1936	002056				INKLFA:
   1937	002056	000241 				CLC			; .CLEAR THE C-BIT
   1938	002060	012703 	000144 			MOV	#^D100,R3	; .LOOP COUNT TO R3
   1939	002064				INKLF2:
   1940	002064					CALL	.DTDW1		; .READ DIAG WORD 1
	002064	004737 	000476'			JSR	PC,.DTDW1
   1941	002070	103413 				BCS	INITEX		; .ERROR IF C-BIT IS SET
   1942	002072	032700 	002000 			BIT	#D1.RUN,R0	; .IS RUN ON?
   1943	002076	001003 				BNE	INKLF3		; .BRANCH IF YES
   1944	002100					SOB	R3,INKLF2	; .LOOP TILL COUNT EXHAUSTED
	002100	005303 				DEC	R3
	002102	001370 				BNE	INKLF2
   1945	002104	000405 				BR	INITEX		; .CAN'T FIND IT, GIVE UP
   1946
   1947					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 71
*.INKLF -- SUBROUTINE TO SET UP KL10 STATE WORD* 7601.09

   1949					;	[HERE FROM PREVIOUS PAGE TO RESTART THE KL10]
   1950
   1951	002106				INKLF3:
   1952	002106	032700 	001000 			BIT	#D1.HLP,R0	; .IS THE HALT LOOP THERE TOO?
   1953	002112	001010 				BNE	INITDT		; .BRANCH IF SO
   1954	002114	052715 	020000 			BIS	#KF.RUN,(R5)	; .FOUND IT OK, SET THE FLAG
   1955	002120				INITEX:
   1956	002120	005226 				INC	(SP)+		; CLEAR THE STACK (SAVE THE ERROR CODE)
   1957	002122					RETURN			; AND GO AWAY
	002122	000207 				RTS	PC
   1958
   1959	002124				INITDX:
   1960	002124					ERROR$	DNP		; .DTE-20 NOT PRIVILEGED
	002124	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	002126	015500 				.RAD50	/DNP/		; "DNP" ERROR CODE IN .RAD50
   1961	002130				INITER:
   1962	002130	000261 				SEC			; .SET THE C-BIT
   1963	002132	000772 				BR	INITEX		; .AND GO AWAY
   1964
   1965	002134				INITDT:
   1966	002134					ERROR$	DTC		; .DTE20 CONFUSED
	002134	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	002136	016043 				.RAD50	/DTC/		; "DTC" ERROR CODE IN .RAD50
   1967	002140	000773 				BR	INITER		; .EXIT
   1968
   1969	002142				.INEXT:
   1970	002142	000136'				.WORD	.EXADR		; ADDRESS 0
   1971	002144	000142'				.WORD	.EXBFR		; PLACE FOR DATA
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 72
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.

   1973					.SBTTL	*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.09
   1974
   1975					;+
   1976					; .KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP
   1977					;	    AND SYNCH THE EBOX CLOCK LOW.
   1978					;
   1979					; THIS SUBROUTINE CLEARS THE KL10 RUN FLOP, GETS THE KL10 INTO
   1980					; THE MICROCODE HALT LOOP, AND TURNS THE KL10 CLOCK OFF.
   1981					;
   1982					; SEQUENCE OF OPERATION:
   1983					;
   1984					;	(A) THE KL10 RUN FLOP IS TURNED OFF,
   1985					;	(B) THE KL10 IS MOVED INTO THE UCODE HALT LOOP,
   1986					;	(C) A SMALL WAIT IS TIMED OUT (TO LET KL10 I/O SETTLE)
   1987					;	(D) THE KL10 CLOCK IS TURNED OFF,
   1988					;	(E) THE KL10 CLOCK IS SYNCHED LOW.
   1989					;
   1990					; CALLING SEQUENCE IS:
   1991					;
   1992					;	CALL	.KLHLT		; STOP AND SYNCH EBOX CLOCK LOW
   1993					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   1994					;
   1995					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE.
   1996					; ALL OTHER REGISTERS ARE PRESERVED.
   1997					;
   1998					; ERROR CODES RETURNED:
   1999					;
   2000					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2001					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   2002					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   2003					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   2004					;	DSF -- DTE20 STATUS FAILURE.
   2005					;	FWF -- FUNCTION WRITE FAILED.
   2006					;
   2007					; NOTE:
   2008					;
   2009					;	THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
   2010					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 73
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.

   2012	002146				.KLHLT::
   2013	002146					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	002146	004537 	007214'			JSR	R5,REGSAV
   2014	002152					CALL	.CLRFF		; CLEAR THE RUN FLOP
	002152	004737 	000366'			JSR	PC,.CLRFF
   2015	002156	103447 				BCS	KLHLTX		; ERROR IF C-BIT IS SET
   2016	002160	012701 	000024 			MOV	#^D20,R1	; SET UP WAIT COUNT
   2017	002164				KLHLT1:
   2018	002164					CALL	.DTDW1		; READ THE DTE20 DIAG WORD 1
	002164	004737 	000476'			JSR	PC,.DTDW1
   2019	002170	103442 				BCS	KLHLTX		; ERROR IF C-BIT IS SET
   2020	002172	032700 	001000 			BIT	#D1.HLP,R0	; IN THE HALT LOOP YET?
   2021	002176	001002 				BNE	KLHLT2		; YES
   2022	002200					SOB	R1,KLHLT1	; NO, TRY TILL COUNT EXHAUSTED
	002200	005301 				DEC	R1
	002202	001370 				BNE	KLHLT1
   2023	002204				KLHLT2:
   2024	002204	005701 				TST	R1		; IS R1 .GT. 0 ?
   2025	002206	003406 				BLE	KLHLT5		; NO, GO MOVE THE CLOCK MANUALLY
   2026	002210				KLHLT3:
   2027	002210					CALL	.STPXC		; STOP THE KL10 CLOCK
	002210	004737 	005734'			JSR	PC,.STPXC
   2028	002214	103430 				BCS	KLHLTX		; ERROR IF C-BIT IS SET
   2029	002216				KLHLT4:
   2030	002216					CALL	.SYNXC		; SYNCH THE EBOX CLOCK LOW
	002216	004737 	006156'			JSR	PC,.SYNXC
   2031									; ERROR IF C-BIT IS SET
   2032	002222	000425 				BR	KLHLTX		; DONE
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 74
*.KLHLT -- SUBROUTINE TO STOP THE KL10 IN THE HALT LOOP* 7601.

   2034					; GET HERE IF WE CAN'T GET INTO HALT LOOP NORMALLY.
   2035					; THIS MEANS THAT:
   2036					;
   2037					;	(A) MICROCODE WASN'T RUNNING, OR
   2038					;	(B) MICROCODE WASN'T LOADED.
   2039					;
   2040					; THIS SUBROUTINE MOVES THE MBOX CLOCK IN AN ATTEMPT TO GET THE
   2041					; KL10 INTO THE HALT LOOP MANUALLY.
   2042
   2043	002224				KLHLT5:
   2044	002224					CALL	.STPXC		; MAKE SURE THE CLOCK IS OFF
	002224	004737 	005734'			JSR	PC,.STPXC
   2045	002230	103422 				BCS	KLHLTX		; ERROR IF C-BIT IS SET
   2046	002232	012705 	000012 			MOV	#^D10,R5	; ITERATION COUNT TO R5
   2047	002236				KLHLT6:
   2048	002236	012700 	000310 			MOV	#^D200,R0	; 200 (DECIMAL) CLOCKS PER PASS
   2049	002242					CALL	.BURST		; BURST THE CLOCK
	002242	004737 	000242'			JSR	PC,.BURST
   2050	002246	103413 				BCS	KLHLTX		; ERROR IF C-BIT IS SET
   2051	002250					CALL	.DTDW1		; READ DTE20 DIAG WORD 1
	002250	004737 	000476'			JSR	PC,.DTDW1
   2052	002254	103410 				BCS	KLHLTX		; ERROR IF C-BIT IS SET
   2053	002256	032700 	001000 			BIT	#D1.HLP,R0	; ARE WE IN HALT LOOP NOW?
   2054	002262	001352 				BNE	KLHLT3		; YES, GO STOP AND SYNCH THE CLOCK
   2055	002264					SOB	R5,KLHLT6	; LOOP TILL COUNT EXHAUSTED
	002264	005305 				DEC	R5
	002266	001363 				BNE	KLHLT6
   2056	002270				KLHCFH:
   2057	002270					ERROR$	CFH		; CAN'T FIND HALT LOOP
	002270	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	002272	011670 				.RAD50	/CFH/		; "CFH" ERROR CODE IN .RAD50
   2058	002274	000261 				SEC			; SET THE C-BIT
   2059	002276				KLHLTX:
   2060	002276					RETURN			; RESTORE REGISTERS AND RETURN
	002276	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 75
*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22

   2062					.SBTTL	*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22
   2063
   2064					;+
   2065					; .KLRST -- SUBROUTINE TO RESTART THE KL10.
   2066					;
   2067					; THIS SUBROUTINE WILL RESTART THE KL10 AS DIRECTED BY ".OKLF",
   2068					; THE OLD KL10 FLAG WORD.
   2069					;
   2070					; CALLING SEQUENCE IS:
   2071					;
   2072					;	CALL	.KLRST		; RESTART THE KL10
   2073					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2074					;
   2075					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO
   2076					; REGISTERS ARE ALTERED.
   2077					;
   2078					; ERROR CODES RETURNED:
   2079					;
   2080					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2081					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   2082					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   2083					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   2084					;	DSF -- DTE20 STATUS FAILURE.
   2085					;	FRF -- FUNCTION READ FAILED.
   2086					;	FWF -- FUNCTION WRITE FAILED.
   2087					;	FXF -- FUNCTION EXECUTE FAILED.
   2088					;
   2089					; NOTE:
   2090					;
   2091					;	THIS SUBROUTINE IS USED WITH MICROCODE EALIER THAN
   2092					;	VERSION 122.
   2093					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 76
*.KLRST -- SUBROUTINE TO RESTART THE KL10* 7512.22

   2095	002300				.KLRST::
   2096	002300					PUSH	<R1,R0>		; SAVE R0 AND R1
	002300	010146 				MOV	R1,-(SP)
	002302	010046 				MOV	R0,-(SP)
   2097	002304	013701 	011706'			MOV	.OKLF,R1	; ..GET COPY OF OLD FLAGS
   2098	002310	032701 	005400 			BIT	#KF.SPM!KF.SIM!KF.BRM,R1
   2099	002314	001022 				BNE	KLRST2		; ..BRANCH IF BURST, SINGLE INSTRUCTION OR PULSE MODE
   2100	002316	005101 				COM	R1		; ..INVERT R1
   2101	002320	000241 				CLC			; ..CLEAR THE C-BIT
   2102	002322	032701 	120000 			BIT	#KF.RUN!KF.CLK,R1
   2103	002326	001013 				BNE	KLRST1		; ..BRANCH IF NOT RUNNING
   2104	002330					CALL	.STRUN		; ..SET THE RUN FLOP
	002330	004737 	005772'			JSR	PC,.STRUN
   2105	002334	103432 				BCS	KLRSTE		; ..ERROR IF C-BIT IS SET
   2106	002336	012700 	000024 			MOV	#FX.CON,R0	; ..NOW DO THE CONTINUE BUTTON
   2107	002342					CALL	.FXCT		; ..SO
	002342	004737 	006666'			JSR	PC,.FXCT
   2108	002346	103425 				BCS	KLRSTE		; ..ERROR IF C-BIT SET
   2109	002350	013701 	011706'			MOV	.OKLF,R1	; ..ELSE GET THE WORD AGAIN
   2110	002354	000410 				BR	KLRST3		; ..AND GO AWAY
   2111	002356				KLRST1:
   2112	002356	005101 				COM	R1		; ..STRAIGHTEN R1 OUT
   2113	002360	000241 				CLC			; ..CLEAR THE C-BIT
   2114	002362				KLRST2:
   2115	002362	032701 	020000 			BIT	#KF.RUN,R1	; ..WAS RUN FLOP SET?
   2116	002366	001403 				BEQ	KLRST3		; ..BRANCH IF NOT
   2117	002370					CALL	.STRUN		; ..SET THE RUN FLOP
	002370	004737 	005772'			JSR	PC,.STRUN
   2118	002374	103412 				BCS	KLRSTE		; ..ERROR IF C-BIT IS SET
   2119	002376				KLRST3:
   2120	002376	032701 	100000 			BIT	#KF.CLK,R1	; ..WAS CLOCK RUNNING?
   2121	002402	001411 				BEQ	KLRSTX		; ..BRANCH IF NOT
   2122	002404	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; ..IS THE CLOCK ALREADY ON?
   2123	002412	001005 				BNE	KLRSTX		; ..BRANCH IF SO
   2124	002414					CALL	.STCLK		; ..START THE CLOCK
	002414	004737 	005700'			JSR	PC,.STCLK
   2125	002420	103002 				BCC	KLRSTX		; ..ALL OK IF BIT CLEAR
   2126	002422				KLRSTE:
   2127	002422	005226 				INC	(SP)+		; .RESET THE STACK
   2128	002424	000401 				BR	KLRSXX		; .GIVE ERROR RETURN
   2129	002426				KLRSTX:
   2130	002426					POP	R0		; RESTORE R0
	002426	012600 				MOV	(SP)+,R0
   2131	002430				KLRSXX:
   2132	002430					POP	R1		; RESTORE R1
	002430	012601 				MOV	(SP)+,R1
   2133	002432					RETURN			; AND EXIT
	002432	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 78
*.KLST -- START KL10 SUBROUTINE* 7601.02

   2136					.SBTTL	*.KLST -- START KL10 SUBROUTINE* 7601.02
   2137
   2138					;+
   2139					; .KLST -- SUBROUTINE TO START THE KL10 AT THE ADDRESS
   2140					;	   SPECIFIED IN THE 36 BIT PC WORD POINTED TO BY R1.
   2141					;
   2142					; THIS SUBROUTINE LOADS A KL10 PC WORD INTO THE AR REGISTER
   2143					; AND STARTS THE KL10 CRAM AT ADDRESS 0000.
   2144					;
   2145					; SEQUENCE OF OPERATION:
   2146					;
   2147					;	(A) THE KL10 IS STOPPED,
   2148					;	(B) THE CRAM ADDRESS REGISTER LOADED WITH ADDRESS 0,
   2149					;	(C) A 36 BIT KL10 PC WORD IS LOADED INTO THE AR REGISTER,
   2150					;	(D) THE KL10 IS ALLOWED TO RUN THRU ".KLCON".
   2151					;
   2152					; CALLING SEQUENCE IS:
   2153					;
   2154					;	MOV	#BUFADR,R1	; POINTER TO PC WORD
   2155					;	CALL	.KLST		; START THE KL10
   2156					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2157					;
   2158					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   2159					; R0 IS CLOBBERED, ALL OTHER REGISTERS ARE PRESERVED.
   2160					;
   2161					; ERROR CODES RETURNED:
   2162					;
   2163					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2164					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   2165					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   2166					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   2167					;	DSF -- DTE20 STATUS FAILURE.
   2168					;	FRF -- FUNCTION READ FAILED.
   2169					;	FWF -- FUNCTION WRITE FAILED.
   2170					;	FXF -- FUNCTION EXECUTE FAILED.
   2171					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 79
*.KLST -- START KL10 SUBROUTINE* 7601.02

   2173	002434				.KLST::
   2174	002434	005737 	000206'			TST	.STFLG		; IS THIS START ALLOWED?
   2175	002440	001020 				BNE	.KLSTN		; NO, DO OTHER START
   2176	002442					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	002442	004537 	007214'			JSR	R5,REGSAV
   2177	002446					CALL	.KLHLT		; STOP THE KL10
	002446	004737 	002146'			JSR	PC,.KLHLT
   2178	002452	103412 				BCS	KLSTXX		; ERROR IF C-BIT IS SET
   2179	002454					CALL	.RESTP		; RESET THE KL10
	002454	004737 	005554'			JSR	PC,.RESTP
   2180									; LOAD CRAM DIAG ADDR WITH 0
   2181									; SAVE AND RESTORE CLOCK AND PARITY CONTROLS
   2182	002460	103407 				BCS	KLSTXX		; ERROR IF C-BIT IS SET
   2183	002462	016601 	000002 			MOV	2(SP),R1	; GET POINTER TO PC WORD OFF THE STACK
   2184	002466					CALL	.WRTAR		; WRITE THE PC WORD IN THE AR
	002466	004737 	006436'			JSR	PC,.WRTAR
   2185	002472	103402 				BCS	KLSTXX		; ERROR IF C-BIT IS SET
   2186	002474					PUSH	R1		; SAVE R1 ON THE STACK
	002474	010146 				MOV	R1,-(SP)
   2187	002476	000416 				BR	KLSTN1		; .SET UP ".KLFLG" AND FINISH START
   2188	002500				KLSTXX:
   2189	002500					RETURN			; TO CALLER
	002500	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 80
*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08

   2191					.SBTTL	*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08
   2192
   2193					; .KLSTN -- SUBROUTINE TO START THE KL10.
   2194					;
   2195					; THIS SUBROUTINE STARTS THE KL10 FROM THE HALT LOOP AT THE ADDRESS
   2196					; POINTED T0 BY R1 IN THE CALL.
   2197					;
   2198					; SEQUENCE OF OPERATION:
   2199					;
   2200					;	(A) THE KL10 IS STOPPED IN THE HALT LOOP,
   2201					;	(B) THE PC WORD IS LOADED INTO THE AR REGISTER,
   2202					;	(C) THE KL10 IS ALLOWED TO RUN THRU ".KLCON".
   2203					;
   2204					; CALLING SEQUENCE IS:
   2205					;
   2206					;	MOV	#BUFADR,R1	; POINTER TO PC WORD TO R1
   2207					;	CALL	.KLSTN		; START THE KL10
   2208					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2209					;
   2210					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND IS UNDEFINED
   2211					; ON SUCCESS. ALL OTHER REGISTERS ARE PRESERVED.
   2212					;
   2213					; ERROR CODES RETURNED:
   2214					;
   2215					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2216					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   2217					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   2218					;	DSF -- DTE20 STATUS FAILURE.
   2219					;	FRF -- FUNCTION READ FAILED.
   2220					;	FWF -- FUNCTION WRITE FAILED.
   2221					;	FXF -- FUNCTION EXECUTE FAILED.
   2222					;
   2223					; NOTE:
   2224					;
   2225					;	THIS SUBROUTINE IS DEPENDENT UPON MICROCODE VERSION 122.
   2226					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 81
*.KLSTN -- SUBROUTINE TO START THE KL10* 7512.08

   2228	002502				.KLSTN::
   2229	002502	005737 	000206'			TST	.STFLG		; IS THIS START ALLOWED?
   2230	002506	001752 				BEQ	.KLST		; NO, DO THE OTHER START
   2231	002510					PUSH	R1		; SAVE POINTER ON THE STACK
	002510	010146 				MOV	R1,-(SP)
   2232	002512					CALL	.KLHLT		; .HALT THE KL10
	002512	004737 	002146'			JSR	PC,.KLHLT
   2233	002516	103451 				BCS	KLGOXX		; .ERROR IF C-BIT IS SET
   2234	002520	011601 				MOV	(SP),R1		; .GET THE POINTER
   2235	002522	012700 	000176 			MOV	#FW.LAR,R0	; .LOAD THE AR REGISTER
   2236	002526					CALL	.FWRIT		; .DO IT
	002526	004737 	006566'			JSR	PC,.FWRIT
   2237	002532	103443 				BCS	KLGOXX		; .ERROR IF C-BIT IS SET
   2238	002534				KLSTN1:
   2239	002534	012701 	000000G			MOV	#.KLFLG,R1	; .POINT TO ".KLFLG"
   2240	002540	000403 				BR	.KLGO		; .AND FINISH THE START
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 82
*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10

   2242					.SBTTL	*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10
   2243
   2244					;+
   2245					; .KLCON -- SUBROUTINE TO CONTINUE THE KL10.
   2246					; .KLGO -- SUBROUTINE TO FINISH STARTING THE KL10.
   2247					;
   2248					; THIS SUBROUTINE STARTS THE KL10 CLOCK AND SETS THE KL10
   2249					; RUN FLOP ".KLCON" SETS THE CONTINUE FLOP PRIOR TO THIS.
   2250					;
   2251					; SEQUENCE OF OPERATION:
   2252					;
   2253					; .KLCON:
   2254					;
   2255					;	(A) THE KL10 CONTINUE FLOP IS SET,
   2256					;
   2257					; .KLGO:
   2258					;
   2259					;	(A) THE KL10 CLOCK IS STARTED IF NOT IN SINGLE PULSE MODE,
   2260					;	(B) THE KL10 RUN FLOP IS SET IF NOT IN SINGLE INSTRUCTION MODE
   2261					;	    OR SINGLE PULSE MODE.
   2262					;
   2263					; CALLING SEQUENCE IS:
   2264					;
   2265					;	CALL	.KLCON		; CONTINUE THE KL10
   2266					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2267					;
   2268					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE; OTHERWISE NO
   2269					; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   2270					;
   2271					; ERROR CODES RETURNED:
   2272					;
   2273					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2274					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   2275					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   2276					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   2277					;	DSF -- DTE20 STATUS FAILURE.
   2278					;	FRF -- FUNCTION READ FAILED.
   2279					;	FWF -- FUNCTION WRITE FAILED.
   2280					;	FXF -- FUNCTION EXECUTE FAILED.
   2281					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 83
*.KLCON -- KL10 CONTINUE SUBROUTINE* 7512.10

   2283	002542				.KLCON::
   2284	002542					PUSH	R1		; SAVE R1 ON THE STACK
	002542	010146 				MOV	R1,-(SP)
   2285	002544	012701 	000000G			MOV	#.KLFLG,R1	; .FLAG WORD POINTER TO R1
   2286	002550				.KLGO::
   2287	002550	032711 	001000 			BIT	#KF.SPM,(R1)	; .SINGLE PULSE MODE?
   2288	002554	001032 				BNE	KLGOXX		; .BRANCH IF YES
   2289	002556	032711 	004000 			BIT	#KF.SIM,(R1)	; .SINGLE INSTRUCTION MODE?
   2290	002562	001003 				BNE	KLGO1		; .BRANCH IF YES
   2291	002564					CALL	.STRUN		; .SET THE KL10 RUN FLOP
	002564	004737 	005772'			JSR	PC,.STRUN
   2292	002570	103424 				BCS	KLGOXX		; .ERROR IF C-BIT IS SET
   2293	002572				KLGO1:
   2294	002572	012700 	000024 			MOV	#FX.CON,R0	; .SET THE CONTINUE BUTTON
   2295	002576					CALL	.FXCT		; .DO IT
	002576	004737 	006666'			JSR	PC,.FXCT
   2296	002602	103417 				BCS	KLGOXX		; .ERROR IF C-BIT IS SET
   2297	002604	032711 	100000 			BIT	#KF.CLK,(R1)	; .IS THE CLOCK RUNNING?
   2298	002610	001014 				BNE	KLGOXX		; .YES, EXIT
   2299	002612					CALL	.STCLK		; .START THE KL10 CLOCK
	002612	004737 	005700'			JSR	PC,.STCLK
   2300	002616	103411 				BCS	KLGOXX		; .ERROR IF C-BIT IS SET
   2301	002620				KLGO2:
   2302	002620	011101 				MOV	(R1),R1		; .GET ".KLFLG" INTO R1
   2303	002622	005101 				COM	R1		; .INVERT IT
   2304	002624	000241 				CLC			; .CLEAR THE C-BIT
   2305	002626	032701 	120000 			BIT	#KF.CLK!KF.RUN,R1
   2306									; .ARE CLOCK AND RUN ON?
   2307	002632	001003 				BNE	KLGOXX		; .BRANCH IF NOT
   2308	002634	052737 	000020 	000000G		BIS	#KF.CON,.KLFLG	; KL10 IS NOW CONTINUEABLE
   2309	002642				KLGOXX:
   2310	002642					POP	R1		; RESTORE R1
	002642	012601 				MOV	(SP)+,R1
   2311	002644					RETURN			; EXIT
	002644	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 84
*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512

   2313					.SBTTL	*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512.19
   2314
   2315					;+
   2316					; .KLSTP -- SUBROUTINE TO PUT THE KL10 INTO THE HALT LOOP.
   2317					;
   2318					; THIS SUBROUTINE WILL PUT THE KL10 INTO THE MICROCODE HALT LOOP
   2319					; AND EXIT WITH THE KL10 CLOCK RUNNING.
   2320					;
   2321					; CALLING SEQUENCE IS:
   2322					;
   2323					;	CALL	.KLSTP		; STOP THE KL10
   2324					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2325					;
   2326					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO
   2327					; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   2328					;
   2329					; ERROR CODES RETURNED:
   2330					;
   2331					;	CCR -- CAN'T CLEAR RUN FLOP.
   2332					;	CFH -- CAN'T FIND HALT LOOP.
   2333					;	DSF -- DTE20 STATUS FAILURE.
   2334					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 86
*.KLSTP -- SUBROUTINE TO GET THE KL10 INTO THE HALT LOOP* 7512

   2337	002646				.KLSTP::
   2338	002646	032737 	100000 	000000G		BIT	#KF.CLK,.KLFLG	; IS THE CLOCK OFF?
   2339	002654	001002 				BNE	KLSTP0		; BRANCH IF NOT
   2340	002656	000137 	002146'			JMP	.KLHLT		; HALT THE KL10
   2341	002662				KLSTP0:
   2342	002662					PUSH	R1		; SAVE R1 ON THE STACK
	002662	010146 				MOV	R1,-(SP)
   2343	002664	012701 	000144 			MOV	#^D100,R1	; .SETUP WAIT COUNT
   2344	002670					CALL	.CLRFF		; .CLEAR THE RUN FLOP
	002670	004737 	000366'			JSR	PC,.CLRFF
   2345	002674	103415 				BCS	KLSTPX		; .ERROR IF C-BIT SET
   2346	002676				KLSTP1:
   2347	002676					CALL	.DTDW1		; .READ DIAG WORD 1
	002676	004737 	000476'			JSR	PC,.DTDW1
   2348	002702	103412 				BCS	KLSTPX		; .ERROR IF C-BIT SET
   2349	002704	032700 	001000 			BIT	#D1.HLP,R0	; .ARE WE IN THE HALT LOOP?
   2350	002710	001002 				BNE	KLSTP2		; .BRANCH IF SO
   2351	002712					SOB	R1,KLSTP1	; .ELSE KEEP GOING
	002712	005301 				DEC	R1
	002714	001370 				BNE	KLSTP1
   2352	002716				KLSTP2:
   2353	002716	005701 				TST	R1		; .IS R1 .GT. 0?
   2354	002720	003003 				BGT	KLSTPX		; .YES, ALL OK
   2355	002722					ERROR$	CFH		; .CAN'T FIND HALT LOOP
	002722	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	002724	011670 				.RAD50	/CFH/		; "CFH" ERROR CODE IN .RAD50
   2356	002726	000261 				SEC			; .SET THE C-BIT
   2357	002730				KLSTPX:
   2358	002730					POP	R1		; RESTORE R1
	002730	012601 				MOV	(SP)+,R1
   2359	002732					RETURN			; TO CALLER
	002732	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 87
*.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10

   2361					.SBTTL	*.KLXCT -- KL10 INSTRUCTION EXECUTE SUBROUTINE* 7509.10
   2362
   2363					;+
   2364					; .KLXCT -- SUBROUTINE TO EXECUTE A KL10 INSTRUCTION.
   2365					;
   2366					; THIS SUBROUTINE LOADS A KL10 INSTRUCTION INTO THE AR REGISTER
   2367					; AND CAUSES THAT INSTRUCTION TO BE EXECUTED.
   2368					;
   2369					; SEQUENCE OF OPERATION:
   2370					;
   2371					;	(A) THE KL10 IS STOPPED IN THE HALT LOOP WITH THE CLOCK OFF,
   2372					;	(B) INSTRUCTION TO BE EXECUTED IS LOADED INTO THE AR,
   2373					;	(C) THE KL10 CONTINUE FLOP IS SET.
   2374					;
   2375					; CALLING SEQUENCE IS:
   2376					;
   2377					;	MOV	#BUFADR,R1	; INSTRUCTION POINTER TO R1
   2378					;	CALL	.KLXCT		; EXECUTE THE INSTRUCTION
   2379					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2380					;
   2381					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   2382					; R0 AND R1 ARE CLOBBERED.
   2383					;
   2384					; ERROR CODES RETURNED:
   2385					;
   2386					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2387					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   2388					;	CFH -- CAN'T FIND KL10 HALT LOOP.
   2389					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   2390					;	DSF -- DTE20 STATUS FAILURE.
   2391					;	FRF -- FUNCTION READ FAILED.
   2392					;	FWF -- FUNCTION WRITE FAILED.
   2393					;	FXF -- FUNCTION EXECUTE FAILED.
   2394					;-
   2395
   2396	002734				.KLXCT::
   2397	002734					CALL	.KLHLT		; STOP THE KL10 IN THE HALT LOOP
	002734	004737 	002146'			JSR	PC,.KLHLT
   2398	002740	103411 				BCS	KLXCTX		; ERROR IF C-BIT IS SET
   2399	002742	012700 	000176 			MOV	#FW.LAR,R0	; LOAD THE AR REGISTER
   2400	002746					CALL	.FWRIT		; DO IT
	002746	004737 	006566'			JSR	PC,.FWRIT
   2401	002752	103404 				BCS	KLXCTX		; ERROR IF C-BIT IS SET
   2402	002754	012700 	000024 			MOV	#FX.CON,R0	; SET THE "CONTINUE BUTTON"
   2403	002760					CALL	.FXCT		; DO IT
	002760	004737 	006666'			JSR	PC,.FXCT
   2404	002764				KLXCTX:
   2405	002764					RETURN			; TO CALLER
	002764	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 88
*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02

   2407					.SBTTL	*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02
   2408
   2409					;+
   2410					; .LDBRC -- SUBROUTINE TO STOP THE KL10 CLOCK AND LOAD THE
   2411					;	    MBOX BURST COUNT REGISTER AS IN ".LDBRG".
   2412					; .LDBRG -- SUBROUTINE TO LOAD THE MBOX CLOCK BURST COUNTER.
   2413					;
   2414					; THIS SUBROUTINE LOADS THE KL10 MBOX BURST COUNT REGISTER
   2415					; WITH THE COUNT PASSED TO IT IN R0.
   2416					;
   2417					; CALLING SEQUENCE IS:
   2418					;
   2419					;	MOV	#TICKS,R0	; TICK COUNT TO R0
   2420					;	CALL	.LDBRG		; LOAD IT
   2421					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2422					;
   2423					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
   2424					; ALL OTHER REGISTERS ARE PRESERVED.
   2425					;
   2426					; ERROR CODES RETURNED:
   2427					;
   2428					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2429					;	FWF -- FUNCTION WRITE FAILED.
   2430					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 89
*.LDBRG -- MBOX BURST COUNT LOAD SUBROUTINE* 7601.02

   2432	002766				.LDBRC::
   2433	002766					CALL	.STPXC		; STOP THE KL10 CLOCK
	002766	004737 	005734'			JSR	PC,.STPXC
   2434	002772	103437 				BCS	LDBREX		; ERROR IF C-BIT IS SET
   2435	002774				.LDBRG::
   2436	002774					PUSH	<R1,R0>		; SAVE R1 AND R0 ON THE STACK
	002774	010146 				MOV	R1,-(SP)
	002776	010046 				MOV	R0,-(SP)
   2437	003000					CALL	.CLDFB		; ..CLEAR THE DFW BUFFERS
	003000	004737 	007130'			JSR	PC,.CLDFB
   2438	003004	011600 				MOV	(SP),R0		; ..GET THE BURST COUNT FROM THE STACK
   2439	003006	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   2440	003012	010037 	000032'			MOV	R0,.DFWB	; ..SET RIGHT COUNT IN THE BUFFER
   2441	003016	012700 	000104 			MOV	#FW.LBR,R0	; ..SET UP TO LOAD THE RIGHT HALF
   2442	003022	005001 				CLR	R1		; ..CLEAR R1
   2443	003024					CALL	.FWRIT		; ..DO IT
	003024	004737 	006566'			JSR	PC,.FWRIT
   2444	003030	103416 				BCS	LDBRXX		; ..ERROR IF C-BIT IS SET
   2445	003032	011600 				MOV	(SP),R0		; ..GET THE ORIGINAL COUNT FROM THE STACK
   2446	003034	012701 	177774 			MOV	#-^D4,R1	; ..SHIFT COUNT TO R1
   2447	003040					CALL	.SHIFT		; ..SHIFT IT RIGHT 4 PLACES
	003040	004737 	007162'			JSR	PC,.SHIFT
   2448	003044	042700 	177760 			BIC	#177760,R0	; ..CLEAR UNUSED BITS
   2449	003050	010037 	000032'			MOV	R0,.DFWB	; ..PUT THE HIGH COUNT IN THE WRITE BUFFER
   2450	003054	005001 				CLR	R1		; ..CLEAR R1
   2451	003056	012700 	000106 			MOV	#FW.LBL,R0	; ..SET UP TO LOAD THE LEFT HALF
   2452	003062					CALL	.FWRIT		; ..DO IT
	003062	004737 	006566'			JSR	PC,.FWRIT
   2453	003066				LDBRXX:
   2454	003066	005226 				INC	(SP)+		; .CLEAR THE STACK
   2455	003070					POP	R1		; RESTORE R1
	003070	012601 				MOV	(SP)+,R1
   2456	003072				LDBREX:
   2457	003072					RETURN			; AND LEAVE
	003072	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 90
*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30

   2459					.SBTTL	*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30
   2460
   2461					;+
   2462					; .LDCLK -- SUBROUTINE TO LOAD THE KL10 CLOCK CONTROL REGISTERS.
   2463					; .LDPAR -- SUBROUTINE TO LOAD THE KL10 PARITY CONTROL REGISTERS.
   2464					;
   2465					; THESE SUBROUTINES SET UP THE KL10 CLOCK SOURCE, RATE, AND
   2466					; DISTRIBUTION REGISTERS OR THE PARITY CONTROL REGISTERS.
   2467					;
   2468					; SEQUENCE OF OPERATION:
   2469					;
   2470					; .LDCLK:
   2471					;
   2472					;	(A) THE KL10 CLOCK SOURCE, RATE, AND DISTRIBUTION
   2473					;	    PARAMETERS ARE SET IN THE CLOCK CONTROL REGISTERS,
   2474					;	(B) THE PARAMETERS WRITTEN IN (A) ARE SAVED IN THE
   2475					;	    CLOCK STATUS WORD (".CLKWD").
   2476					;
   2477					; .LDPAR:
   2478					;
   2479					;	(A) THE KL10 INTERNAL PARITY CONTROL BITS ARE WRITTEN INTO THE
   2480					;	    PARITY CONTROL REGISTER,
   2481					;	(B) THE CONTROL BITS WITTEN IN (A) ARE SAVED IN THE PARITY
   2482					;	    CONTROL WORD (".PSCWD").
   2483					;
   2484					; NOTE:	AR/ARX PARITY ERRORS MUST BE HANDLED INTERNALLY BY THE KL10.
   2485					;
   2486					; CALLING SEQUENCE IS:
   2487					;
   2488					;	MOV	#PNTR,R1	; PARAMETER POINTER TO R1
   2489					;	CALL	.LDCLK		; SET THE KL10 CLOCK UP
   2490					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2491					;
   2492					; THE CLOCK PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   2493					;
   2494					;		!========================================!
   2495					;		!   DISTRIBUTION   !   SOURCE AND RATE   !
   2496					;		!========================================!
   2497					;
   2498					; THE PARITY PARAMETER POINTER POINTS TO A WORD WITH FORMAT:
   2499					;
   2500					;		!========================================!
   2501					;		!   CONTROL BITS   !   CLOCK STOP BITS	 !
   2502					;		!========================================!
   2503					;
   2504					; R0 CONTAINS A COPY OF ".CLKWD" OR ".PSCWD" UPON SUCCESS, AND A
   2505					; .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS ARE PRESERVED.
   2506					;
   2507					; ERROR CODES RETURNED:
   2508					;
   2509					;	FWF -- FUNCTION WRITE FAILED.
   2510					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 91
*.LDCPC -- KL10 CLOCK AND PARITY LOAD SUBROUTINES* 7509.30

   2512	003074				.LDCLK::
   2513	003074					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	003074	004537 	007214'			JSR	R5,REGSAV
   2514	003100	012703 	000200'			MOV	#.CLKWD,R3	; CONTROL WORD POINTER TO R3
   2515	003104	012704 	000110 			MOV	#FW.CSR,R4	; BASE CLOCK WRITE TO R4
   2516	003110	000406 				BR	.LDCPC		; DO COMMON CODE
   2517	003112				.LDPAR::
   2518	003112					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	003112	004537 	007214'			JSR	R5,REGSAV
   2519	003116	012703 	000204'			MOV	#.PSCWD,R3	; CONTROL WORD POINTER TO R3
   2520	003122	012704 	000114 			MOV	#FW.IPE,R4	; BASE PARITY WRITE TO R4
   2521									; FALL INTO COMMON CODE
   2522	003126				.LDCPC::
   2523	003126	010102 				MOV	R1,R2		; CALLER'S PARAMETER POINTER TO R2
   2524	003130					CALL	.CLDFW		; CLEAR THE WRITE BUFFER
	003130	004737 	007144'			JSR	PC,.CLDFW
   2525	003134	005001 				CLR	R1		; CLEAR R1
   2526	003136	111237 	000032'			MOVB	(R2),.DFWB	; SET LOW BYTE PARAMETER
   2527	003142	010400 				MOV	R4,R0		; DFW CODE TO R0
   2528	003144					CALL	.FWRIT		; DO IT
	003144	004737 	006566'			JSR	PC,.FWRIT
   2529	003150	103412 				BCS	LDCPCX		; ERROR IF C-BIT IS SET
   2530	003152	112223 				MOVB	(R2)+,(R3)+	; MARK THE NEW LOW BYTE CODE
   2531	003154	005724 				TST	(R4)+		; NEXT WRITE CODE
   2532	003156	111237 	000032'			MOVB	(R2),.DFWB	; SET THE HIGH BYTE PARAMETERS
   2533	003162	010400 				MOV	R4,R0		; DFW CODE TO R0
   2534	003164					CALL	.FWRIT		; DO IT
	003164	004737 	006566'			JSR	PC,.FWRIT
   2535	003170	103402 				BCS	LDCPCX		; ERROR IF C-BIT IS SET
   2536	003172	111223 				MOVB	(R2),(R3)+	; MARK THE NEW HIGH BYTE CODE
   2537	003174	014300 				MOV	-(R3),R0	; PUT A COPY IN R0
   2538	003176				LDCPCX:
   2539	003176					RETURN			; EXIT
	003176	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 92
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2541					.SBTTL	*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19
   2542
   2543					;+
   2544					; .LDCRA -- SUBROUTINE TO LOAD A 12 BIT ADDRESS INTO THE
   2545					;	    KL10 CRAM ADDRESS REGISTER.
   2546					;
   2547					; THIS SUBROUTINE LOADS A 12 BIT CRAM ADDRESS INTO THE
   2548					; KL10 CRAM ADDRESS REGISTER.
   2549					;
   2550					; SEQUENCE OF OPERATION:
   2551					;
   2552					;	(A) THE KL10 CLOCK IS TURNED OFF (BY (B)),
   2553					;	(B) THE KL10 CRAM ADDRESS IS CLEARED BY ".RESET",
   2554					;	(C) THE ADDRESS IS LOADED INTO CRAM DIAG ADDR.
   2555					;
   2556					; CALLING SEQUENCE IS:
   2557					;
   2558					;	MOV	#CRADR,R0	; CRAM ADDRESS TO R0
   2559					;	CALL	.LDCRA		; WRITE THE ADDRESS
   2560					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2561					;
   2562					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS ARE PRESERVED.
   2563					;
   2564					; NOTE:
   2565					;
   2566					;	THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
   2567					;
   2568					; ERROR CODES RETURNED:
   2569					;
   2570					;	FWF -- FUNCTION WRITE FAILED.
   2571					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 93
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2573	003200				.LDCRA::
   2574	003200					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	003200	004537 	007214'			JSR	R5,REGSAV
   2575	003204	042700 	170000 			BIC	#170000,R0	; CLEAR UNUSED BITS
   2576	003210					PUSH	R0		; PUT R0 ON THE STACK
	003210	010046 				MOV	R0,-(SP)
   2577	003212					CALL	.RESTP		; .CLEAR CRAM DIAG ADDR AND CRAM ADDR
	003212	004737 	005554'			JSR	PC,.RESTP
   2578									; .ALSO RETAIN CLOCK AND PARITY CONTROL
   2579	003216	103436 				BCS	LDCRAX		; .ERROR IF C-BIT IS SET
   2580	003220					CALL	.CLDFW		; .CLEAR THE FW BUFFER
	003220	004737 	007144'			JSR	PC,.CLDFW
   2581	003224	012700 	000032'			MOV	#.DFWB,R0	; .SET UP THE BUFFER ADDRESS
   2582	003230	011610 				MOV	(SP),(R0)	; .LOAD THE ADDRESS FROM THE STACK
   2583	003232	001430 				BEQ	LDCRAX		; .LEAVE NOW IF ZERO
   2584	003234	042710 	174077 			BIC	#174077,(R0)	; .CLEAR UNWANTED BITS
   2585	003240	012701 	000030 			MOV	#^D24,R1	; .SHIFT COUNT TO R1
   2586	003244					CALL	KLLSHI		; .SHIFT IT OVER
	003244	004737 	007760'			JSR	PC,KLLSHI
   2587	003250	005001 				CLR	R1		; .CLEAR R1
   2588	003252	012700 	000124 			MOV	#FW.CA2,R0	; .SET UP TO WRITE IT
   2589	003256					CALL	.FWRIT		; .DO IT
	003256	004737 	006566'			JSR	PC,.FWRIT
   2590	003262	103414 				BCS	LDCRAX		; .ERROR IF C-BIT IS SET
   2591	003264	011610 				MOV	(SP),(R0)	; .GET ADDRESS FROM THE STACK AGAIN
   2592	003266	042710 	177700 			BIC	#177700,(R0)	; .CLEAR UNWANTED BITS
   2593	003272	012701 	000036 			MOV	#^D30,R1	; .SHIFT COUNT TO R1
   2594	003276					CALL	KLLSHI		; .SHIFT THAT OVER
	003276	004737 	007760'			JSR	PC,KLLSHI
   2595	003302	005001 				CLR	R1		; .CLEAR R1
   2596	003304	012700 	000122 			MOV	#FW.CA1,R0	; .SET UP TO WRITE IT
   2597	003310					CALL	.FWRIT		; .DO IT
	003310	004737 	006566'			JSR	PC,.FWRIT
   2598	003314				LDCRAX:
   2599	003314	005226 				INC	(SP)+		; .CLEAR THE STACK (NO EFFECT ON C-BIT)
   2600	003316					RETURN			; EXIT TO CALLER
	003316	000207 				RTS	PC
   2601
   2602					.IF NE $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 94
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2604					.SBTTL	*.LDRAD -- SUBROUTINE TO LOAD THE KL10 DISPATCH RAM ADDRESS* 7511.06
   2605
   2606					;+
   2607					; .LDRAD -- SUBROUTINE TO LOAD THE KL10 DISPATCH RAM ADDRESS REGISTER.
   2608					;
   2609					; THIS SUBROUTINE LOADS THE DISPATCH RAM ADDRESS REGISTER WITH THE
   2610					; DISPATCH RAM ADDRESS SUPPLIED TO IT IN R0.
   2611					;
   2612					; SEQUENCE OF OPERATION:
   2613					;
   2614					;	(A) THE KL10 IS RESET TO CLEAR THE RAM REGISTERS,
   2615					;	(B) KL10 DECODING OF I/O AND JRST INSTRUCTIONS IS DISABLED,
   2616					;	(C) THE IR (DRAM) ADDRESS IS LOADED AND LATCHED,
   2617					;	(D) THE SUBROUTINE EXITS WITH KL10 DECODING OF I/O AND
   2618					;	    JRST INSTRUCTIONS DISABLED
   2619					;
   2620					; CALLING SEQUENCE IS:
   2621					;
   2622					;	MOV	#ADDR,R0	; DRAM ADDRESS TO R0
   2623					;	CALL	.LDRAD		; LOAD IT
   2624					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2625					;
   2626					; R0 CONTAINS A .RAD50 ERROR ON FAILURE; OTHERWISE R0 IS CLOBBERED
   2627					; AND ALL OTHER REGISTERS ARE UNALTERED.
   2628					;
   2629					; ERROR CODES RETURNED:
   2630					;
   2631					;	FRF -- FUNCTION READ FAILED.
   2632					;	FWF -- FUNCTION WRITE FAILED.
   2633					;	FXF -- FUNCTION EXECUTE FAILED.
   2634					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 95
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2636					.LDRAD::
   2637						CALL	R5,REGSAV	; SAVE R1 - R5 ON THE STACK
   2638						PUSH	R0		; SAVE THE DRAM ADDRESS TOO
   2639						CALL	.RESET		; .RESET THE KL10
   2640						BCS	LDRADE		; .ERROR IF C-BIT IS SET
   2641						CALL	.CLDFB		; .CLEAR THE DIAG FUNCTION BUFFERS
   2642						CLR	R1		; .CLEAR R1
   2643						MOV	#FW.IOJ,R0	; .DISABLE DECODE OF I/O AND JRST
   2644						CALL	.FWRIT		; .DO IT
   2645						BCS	LDRADE		; .ERROR IF C-BIT IS SET
   2646						BIC	#KF.KLO,.KLFLG	; .KL10 I/O AND JRST OPCODES ARE NOT DECODED
   2647						MOV	#.DFWB,R0	; .MAKE R0 POINT TO BUFFER
   2648						MOV	(SP),(R0)	; .PUT THE DATA IN THE BUFFER
   2649						MOV	#^D27,R1	; .SHIFT COUNT TO R1
   2650						CALL	KLLSHI		; .POSITION THE ADDRESS AS AN OPCODE
   2651						CLR	R1		; .CLEAR R1
   2652						CALL	.WRAR1		; .LOAD THE OPCODE ADDRESS INTO THE AR
   2653						BCS	LDRADE		; .ERROR IF C-BIT IS SET
   2654						MOV	#FX.UIR,R0	; .LOAD THE IR FROM THE AR THRU THE AD
   2655						CALL	.FXCT		; .DO IT
   2656						BCC	LDRADX		; .ALL OK IF C-BIT IS CLEAR
   2657					LDRADE:
   2658						MOV	R0,(SP)		; .PUT ERROR CODE IN CALLER'S REGISTER
   2659					LDRADX:
   2660						POP	R0		; RESTORE R0
   2661						RETURN			; TO CALLER --
   2662									; WITH DECODE OF I/O AND JRST DISABLED
   2663
   2664					.ENDC				; $RAMSW
   2665
   2666					.IF NE $MBPSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 96
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2668					.SBTTL	*.MBPHS -- MBOX PHASE SUBROUTINE* 7509.08
   2669
   2670					;+
   2671					; .MBPHS -- SUBROUTINE TO GET THE EBOX IN PHASE WITH THE MBOX.
   2672					;
   2673					; THIS SUBROUTINE SYNCHS THE KL10 EBOX IN THE HALT LOOP AS SPECIFIED
   2674					; BY AN ARGUMENT PASSED TO IT IN R0.
   2675					;
   2676					; THIS SUBROUTINE ASSUMES THAT:
   2677					;
   2678					;	(A) THE KL10 HALT LOOP HAS TWO INSTRUCTIONS,
   2679					;	(B) THE FIRST INSTRUCTION IS AT AN EVEN ADDRESS; HAS TIME .EQ. 2,
   2680					;	(C) THE SECOND INSTRUCTION IS AT AN ODD ADDRESS; HAS TIME .EQ. 3.
   2681					;
   2682					; THIS SUBROUTINE SYNCHS THE EBOX ON:
   2683					;
   2684					;		(A) EVEN CRAM ADDRESS,
   2685					;		(B) [PHASE CHANGE COMING] TRUE,
   2686					;		(C) THE SELECTED PHASE [A OR B CHANGE COMING].
   2687					;
   2688					; THE SUBROUTINE IS DIRECTED WHERE TO SYNCH THE EBOX BY AN ARGUMENT
   2689					; PASSED TO IT IN R0 OF THE FORM:
   2690					;
   2691					;		!============================================!
   2692					;		!	POSITION	!	PHASE 	     !
   2693					;		!============================================!
   2694					;
   2695					; WHERE:
   2696					;
   2697					;	POSITION IS INDICATED BY THE CONTENT OF THE HIGH BYTE;
   2698					; 	IF THE POSITION BYTE IS .EQ. 2 THE EBOX WILL BE SYNCHED
   2699					;	JUST AFTER THE SPECIFIED PHASE; IF .EQ. 0, IT WILL BE SYNCHED ON
   2700					;	THE SPECIFIED PHASE.
   2701					;
   2702					;	PHASE IS INDICATED BY THE CONTENT OF THE LOW BYTE; IF THE PHASE
   2703					;	BYTE IS .EQ. 0, A PHASE IS DESIRED, IF .EQ. 1, B PHASE IS DESIRED.
   2704					;
   2705					; CALLING SEQUENCE IS:
   2706					;
   2707					;	MOV	#ARG,R0		; SET UP ARGUMENT ADDRESS
   2708					;	CALL	.MBPHS		; PHASE THE MBOX
   2709					;	BCS	ERROR		; ERROR IF CARRY SET
   2710					;
   2711					; R0 CONTAINS A .RAD50 ERROR CODE UPON FAILURE.
   2712					;
   2713					; ERROR CODES RETURNED:
   2714					;
   2715					;	FRF -- FUNCTION READ FAILED.
   2716					;	FWF -- FUNCTION WRITE FAILED.
   2717					;	FXF -- FUNCTION EXECUTE FAILED.
   2718					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 97
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2720					.MBPHS::
   2721						CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
   2722						MOVB	(R0)+,R5	; PUT PHASE INDICATOR IN R5
   2723						MOVB	(R0),R4		; PUT POSITION INDICATOR IN R4
   2724						MOV	#^D20,R2	; SET UP TIMEOUT COUNT
   2725					MBPHS1:
   2726						MOV	#^D1,R3		; SET UP CLOCK COUNT
   2727						MOV	#FR.102,R0	; SET UP TO READ [CLK SYNCH H]
   2728						CALL	.FREAD		; GO DO READ
   2729						BCS	MBPEXX		; ERROR IF C-BIT IS SET
   2730						BIT	#BIT02,.DFRB	; IS IT TRUE?
   2731						BEQ	MBPHS6		; NO, TRY ONE CLOCK
   2732						MOV	#FR.CA2,R0	; SET UP TO READ [CRA ADR 10 H]
   2733						CALL	.FREAD		; READ IT
   2734						BCS	MBPEXX		; ERROR IF C-BIT IS SET
   2735						BIT	#BIT14,.DFRB+4	; IS IT EVEN?
   2736						BNE	MBPHS5		; NO, TRY TWO CLOCKS
   2737						MOV	#FR.164,R0	; SET UP TO READ [PHASE CHANGE COMING L]
   2738						CALL	.FREAD		; READ IT
   2739						BCS	MBPEXX		; ERROR IF C-BIT IS SET
   2740						BIT	#BIT05,.DFRB	; IS IT FALSE?
   2741						BNE	MBPHS4		; NO, TRY FIVE CLOCKS
   2742						MOVB	PHDFR(R5),R0	; SET UP TO READ [X PHASE CHANGE COMING]
   2743						CALL	.FREAD		; READ IT
   2744						BCS	MBPEXX		; ERROR IF C-BIT IS SET
   2745						BIT	PHTST(R5),.DFRB	; IS IT SET?
   2746						BNE	MBPHS2		; YES
   2747						MOV	#^D10,R3	; NEED 10 CLOCKS
   2748					MBPHS2:
   2749						BIT	#BIT01,R4	; ON EVEN PHASE?
   2750						BEQ	MBPHS3		; NO
   2751						ADD	#^D5,R3		; YES, ADD FIVE MORE CLOCKS
   2752					MBPHS3:
   2753						MOV	R3,R0		; SET UP ARGUMENT FOR BURST SUBROUTINE
   2754						CALL	.BURST		; BURST IT
   2755									; ERROR IF C-BIT IS SET
   2756						BR	MBPEXX		; LEAVE
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 98
*.LDCRA -- LOAD CRAM ADDRESS SUBROUTINE* 7511.19

   2758					MBPHS4:				; HERE TO SET UP THE BURST COUNT
   2759						ADD	#^D3,R3		; MAKE IT FOUR CLOCKS
   2760					MBPHS5:
   2761						INC	R3		; ADD ONE MORE
   2762					MBPHS6:
   2763						MOV	R3,R0		; PUT COUNT IN R0
   2764						CALL	.BURST		; BURST IT
   2765						BCS	MBPEXX		; ERROR IF C-BIT IS SET
   2766						SOB	R2,MBPHS1	; EXHAUSTED THE ERROR COUNT?
   2767					MBPEXX:
   2768						RETURN			; EXIT
   2769
   2770					PHTST:
   2771						.WORD	BIT03		; DFR 162, BIT 32
   2772						.WORD	BIT08		; DFR 163, BIT 27
   2773
   2774					PHDFR:
   2775						.BYTE	FR.163,FR.162	; FUNCTION READ CODES FOR [X PHASE CHANGE COMING]
   2776
   2777					.ENDC				; $MBPSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 99
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06

   2779					.SBTTL	*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06
   2780
   2781					;+
   2782					; .MRCLR -- SUBROUTINE TO CLEAR THE KL10 IN THE MASTER RESET STATE.
   2783					;
   2784					; THIS SUBROUTINE SETS THE KL10 MASTER RESET FLOP AND ALLOWS THE
   2785					; KL10 CLOCK TO RUN, CLEARING THE KL10.
   2786					;
   2787					; SEQUENCE OF OPERATION:
   2788					;
   2789					;	(A) THE MASTER RESET FLOP IS SET,
   2790					;	(B) THE KL10 CLOCK IS ALLOWED TO RUN FOR A SHORT TIME,
   2791					;	(C) THE NXM TIMERS ARE RESYNCHRONIZED,
   2792					;	(D) THE KL10 CLOCK IS STOPPED AND SYNCHED,
   2793					;	(E) THE MASTER RESET FLOP IS CLEARED.
   2794					;
   2795					; CALLING SEQUENCE IS:
   2796					;
   2797					;	CALL	.MRCLR		; CALL MASTER RESET SUBROUTINE
   2798					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   2799					;
   2800					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE
   2801					; ALL OTHER REGISTERS ARE PRESERVED
   2802					;
   2803					; NOTE:
   2804					;
   2805					;	THIS SUBROUTINE ASSUMES THAT THE KL10 CLOCK IS OFF UPON ENTRY.
   2806					;	THIS SUBROUTINE EXITS WITH THE KL10 CLOCK OFF.
   2807					;
   2808					; ERROR CODES RETURNED:
   2809					;
   2810					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   2811					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   2812					;	FRF -- FUNCTION READ FAILED.
   2813					;	FWF -- FUNCTION WRITE FAILED.
   2814					;	FXF -- FUNCTION EXECUTE FAILED.
   2815					;-
   2816
   2817	003320				.MRCLR::
   2818	003320					PUSH	<R1,R2>		; SAVE R1 AND R2
	003320	010146 				MOV	R1,-(SP)
	003322	010246 				MOV	R2,-(SP)
   2819	003324	012700 	000016 			MOV	#FX.SMR,R0	; ..SET MASTER RESET FLOP
   2820	003330					CALL	.FXCT		; ..DO IT
	003330	004737 	006666'			JSR	PC,.FXCT
   2821	003334	103461 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2822	003336	052737 	010000 	000000G		BIS	#KF.MRS,.KLFLG	; ..SET THE FLAG
   2823	003344					CALL	.STCLK		; ..FORCE START THE KL10 CLOCK
	003344	004737 	005700'			JSR	PC,.STCLK
   2824	003350	103453 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2825	003352	012701 	000764 			MOV	#^D500,R1	; ..SET UP WAIT COUNT
   2826
   2827					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 100
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06

   2829					; HERE FROM PREVIOUS PAGE
   2830
   2831	003356				MRCLR1:
   2832	003356					SOB	R1,MRCLR1	; ..STALL A WHILE
	003356	005301 				DEC	R1
	003360	001376 				BNE	MRCLR1
   2833	003362					CALL	.STPXC		; ..STOP THE KL10 CLOCK
	003362	004737 	005734'			JSR	PC,.STPXC
   2834	003366	103444 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2835	003370					CALL	.CLDFB		; ..CLEAR THE FUNCTION BUFFERS
	003370	004737 	007130'			JSR	PC,.CLDFB
   2836	003374	012700 	000160 			MOV	#FW.CHN,R0	; ..CLEAR THE CHANNELS
   2837	003400					CALL	.FWRIT		; ..DO IT
	003400	004737 	006566'			JSR	PC,.FWRIT
   2838	003404	103435 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2839	003406	012702 	000003 			MOV	#^D3,R2		; ..LOOP COUNT TO R2
   2840	003412				MRCLR2:				; ..HERE TO RESYNCH THE NXM TIMERS
   2841	003412	005001 				CLR	R1		; ..CLEAR R1
   2842	003414	012700 	000344 			MOV	#FR.162,R0	; ..LOOK FOR [A CHANGE COMING L]
   2843	003420					CALL	.FREAD		; ..DO THE READ
	003420	004737 	006472'			JSR	PC,.FREAD
   2844	003424	103425 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2845	003426	032710 	000010 			BIT	#BIT03,(R0)	; ..IS IT THERE?
   2846	003432	001407 				BEQ	MRCLR3		; ..BRANCH IF YES
   2847	003434	012700 	000004 			MOV	#FX.MBC,R0	; ..NOT THERE, STEP THE CLOCK
   2848	003440					CALL	.FXCT		; ..DO IT
	003440	004737 	006666'			JSR	PC,.FXCT
   2849	003444	103415 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2850	003446					SOB	R2,MRCLR2	; ..LOOP THREE TIMES MAX
	003446	005302 				DEC	R2
	003450	001360 				BNE	MRCLR2
   2851	003452				MRCLR3:
   2852	003452					CALL	.SYNXC		; ..SYNCH THE CLOCK
	003452	004737 	006156'			JSR	PC,.SYNXC
   2853	003456	103410 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2854	003460	012700 	000014 			MOV	#FX.CMR,R0	; ..CLEAR MASTER RESET FLOP
   2855	003464					CALL	.FXCT		; ..DO IT
	003464	004737 	006666'			JSR	PC,.FXCT
   2856	003470	103403 				BCS	MRCLRX		; ..ERROR IF C-BIT IS SET
   2857	003472	042737 	010020 	000000G		BIC	#KF.MRS!KF.CON,.KLFLG
   2858									; ..CLEAR THE FLAGS
   2859	003500				MRCLRX:
   2860	003500					POP	<R2,R1>		; RESTORE R1 AND R2
	003500	012602 				MOV	(SP)+,R2
	003502	012601 				MOV	(SP)+,R1
   2861	003504					RETURN			; EXIT TO CALLER
	003504	000207 				RTS	PC
   2862
   2863					.IF NE $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 101
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06

   2865					.SBTTL	*.RAMFD -- KL10 RAM FIELD DECODER SUBROUTINE* 7511.18
   2866
   2867					;+
   2868					; .RAMFD -- KL10 RAM FIELD DECODER SUBROUTINE.
   2869					;
   2870					; THIS SUBROUTINE DECODES A CRAM OR DRAM WORD IN EBUS FORMAT
   2871					; INTO THE RESPECTIVE LOGICAL CRAM OR DRAM FIELDS.
   2872					;
   2873					; THE TABLES "CRAMFT" AND "DRAMFT" ARE CREATED VIA THE "CRMFD$"
   2874					; AND "DRMFD$" MACROS (Q.V.) AND CONSIST OF A THREE WORD ENTRY
   2875					; FOR EACH BYTE IN THE RAM WORD:
   2876					;
   2877					;		!=======================================!
   2878					;	00	!	  RAM SUBFIELD BIT MASK		!
   2879					;		!---------------------------------------!
   2880					;	02	!     WORD INDEX    !    SHIFT COUNT	!
   2881					;		!---------------------------------------!
   2882					;	04	!	   DESTINATION POINTER		!
   2883					;		!=======================================!
   2884					;
   2885					; CALLING SEQUENCE IS:
   2886					;
   2887					;	MOV	#PNTRA,R0	; POINTER TO DECODE TABLE
   2888					;	MOV	#PNTRB,R1	; POINTER TO READ BLOCK
   2889					;	CALL	.RAMFD		; DECODE THE RAM WORD
   2890					;				; ONLY RETURN
   2891					;
   2892					; R0 CONTAINS A POINTER TO THE TOP OF THE DECODED CRAM WORD BLOCK
   2893					; ON RETURN; ALL OTHER REGISTERS ARE PRESERVED.
   2894					;
   2895					; ERROR CODES RETURNED:
   2896					;
   2897					;	NONE.
   2898					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 102
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06

   2900					.RAMFD::
   2901						CALL	R5,REGSAV	; SAVE R1 THRU R5 ON THE STACK
   2902						MOV	R1,R2		; SOURCE POINTER TO R1
   2903						MOV	R0,R5		; TABLE POINTER TO R5
   2904					RAMFD1:
   2905						MOV	(R5)+,R4	; BIT MASK TO R4
   2906						BEQ	RAMFDX		; DONE IF BIT MASK .EQ. 0
   2907						BIT	#BIT15,R4	; IS THIS A NEW FIELD?
   2908						BEQ	RAMFD2		; BRANCH IF NOT
   2909						CLR	@2(R5)		; YES, CLEAR THE FIELD WORD
   2910						BIC	#BIT15,R4	; CLEAR THE NEW FIELD INDICATOR
   2911					RAMFD2:
   2912						MOVB	(R5)+,R1	; SHIFT COUNT TO R1
   2913						MOVB	(R5)+,R3	; WORD INDEX TO R3
   2914						ADD	R2,R3		; CREATE A POINTER IN R3
   2915						MOV	(R3),R0		; GET THE WORD FROM THE READ BLOCK
   2916						CALL	.SHIFT		; SHIFT IT
   2917						BIC	R4,@(R5)	; CLEAR THE SUBFIELD
   2918						COM	R4		; INVERT THE MASK
   2919						BIC	R4,R0		; MASK IT
   2920						BIS	R0,@(R5)+	; SET THE SUBFIELD
   2921						BR	RAMFD1		; AND KEEP GOING
   2922					RAMFDX:
   2923						MOV	(R5),R0		; POINT TO OUR BLOCK
   2924						RETURN			; AND GO AWAY
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 103
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06

   2926					.SBTTL	*.RAMFE -- KL10 RAM FIELD ENCODER SUBROUTINE* 7511.18
   2927
   2928					;+
   2929					; .RAMFE -- KL10 RAM FIELD ENCODER SUBROUTINE.
   2930					;
   2931					; THIS SUBROUTINE WILL CONVERT A FIELD ENCODED RAM WORD INTO EBUS FORMAT.
   2932					; IT USES TABLES GENERATED BY THE "CRMFD$" AND "DRMFD$" MACROS (Q.V.).
   2933					;
   2934					; THE ENCODING TABLE HAS THE FOLLOWING ENTRIES FOR EACH FIELD:
   2935					;
   2936					;		!=======================================!
   2937					;	00	!	    SUBFIELD BIT MASK     	!
   2938					;		!---------------------------------------!
   2939					;	02	!     WORD INDEX     !  - SHIFT COUNT	!
   2940					;		!---------------------------------------!
   2941					;	04	!	     SOURCE POINTER		!
   2942					;		!=======================================!
   2943					;
   2944					; CALLING SEQUENCE:
   2945					;
   2946					;	MOV	#PNTRA,R0	; ENCODE TABLE POINTER TO R0
   2947					;	MOV	#PNTRB,R1	; DESTINATION POINTER TO R1
   2948					;	CALL	.RAMFE		; ENCODE THE RAM WORD
   2949					;				; ONLY RETURN
   2950					;
   2951					; NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   2952					;
   2953					; ERROR CODES RETURNED:
   2954					;
   2955					;	NONE.
   2956					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 104
*.MRCLR -- KL10 MASTER RESET SUBROUTINE* 7511.06

   2958					.RAMFE::
   2959						CALL	R5,REGSAV	; SAVE R1 - R5 ON THE STACK
   2960						MOV	R1,R2		; DESTINATION POINTER TO R2
   2961						MOV	R0,R5		; TABLE POINTER TO R5
   2962					RAMFE1:
   2963						MOV	(R5)+,R0	; BIT MASK TO R0
   2964						BEQ	RAMFEX		; ALL DONE IF .EQ. 0
   2965						BIT	#BIT15,R0	; IS THIS A NEW FIELD?
   2966						BEQ	RAMFE2		; BRANCH IF NOT
   2967						CLR	@2(R5)		; YES, CLEAR THE RAM FIELD WORD
   2968						BIC	#BIT15,R0	; CLEAR THE NEW FIELD INDICATOR
   2969					RAMFE2:
   2970						MOVB	(R5)+,R1	; SHIFT COUNT TO R1
   2971						NEG	R1		; NEGATE THE SHIFT COUNT
   2972						CALL	.SHIFT		; SHIFT IT
   2973						MOV	R0,R4		; SHIFTED BIT MASK TO R4
   2974						MOVB	(R5)+,R3	; WORD INDEX TO R3
   2975						ADD	R2,R3		; CREATE A DESTINATION POINTER IN R3
   2976						MOV	@(R5)+,R0	; GET THE SOURCE BYTE IN R0
   2977						CALL	.SHIFT		; SHIFT IT OVER
   2978						BIC	R4,(R3)		; CLEAR THE DESTINATION BYTE
   2979						COM	R4		; INVERT THE MASK
   2980						BIC	R4,R0		; MASK THE BYTE
   2981						BIS	R0,(R3)		; SET IT IN DESTINATION BLOCK
   2982						BR	RAMFE1		; AND GO AGAIN
   2983					RAMFEX:
   2984						MOV	(R5),R0		; POINT TO TOP OF OUR BLOCK
   2985						RETURN			; TO CALLER
   2986
   2987					.ENDC				; $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 105
*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24

   2989					.SBTTL	*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24
   2990
   2991					;+
   2992					; .RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS (FOR "KLERR")
   2993					;
   2994					; THIS SUBROUTINE WILL EXECUTE 100 FUNCTION READS AND LOAD A 300
   2995					; WORD BLOCK POINTED TO BY R0 WITH THE RESULT.
   2996					;
   2997					; CALLING SEQUENCE IS:
   2998					;
   2999					;	MOV	#BUFADR,R0	; BUFFER ADDRESS TO R0
   3000					;	CALL	.RDALL		; DO THE FUNCTION READS
   3001					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3002					;
   3003					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS ARE
   3004					; ALTERED BY THIS SUBROUTINE.
   3005					;
   3006					; ERROR CODES RETURNED:
   3007					;
   3008					;	FRF -- FUNCTION READ FAILED.
   3009					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 106
*.RDALL -- SUBROUTINE TO EXECUTE 100 FUNCTION READS* 7511.24

   3011	003506				.RDALL:
   3012	003506					PUSH	<R1,R2,R3,R4>	; SAVE CALLER'S REGISTERS
	003506	010146 				MOV	R1,-(SP)
	003510	010246 				MOV	R2,-(SP)
	003512	010346 				MOV	R3,-(SP)
	003514	010446 				MOV	R4,-(SP)
   3013	003516					PUSH	R0		; ....AND CALLER'S POINTER
	003516	010046 				MOV	R0,-(SP)
   3014	003520	012703 	000100 			MOV	#^D64,R3	; .....SET UP ITERATION COUNT
   3015	003524	012702 	000200 			MOV	#FR.100,R2	; .....BASE READ CODE TO R2
   3016	003530	010004 				MOV	R0,R4		; .....CALLER'S POINTER TO R4
   3017	003532				RDALL1:
   3018	003532	010200 				MOV	R2,R0		; .....READ CODE TO R0
   3019	003534	005001 				CLR	R1		; .....CLEAR R1
   3020	003536					CALL	.FREAD		; .....DO THE READ
	003536	004737 	006472'			JSR	PC,.FREAD
   3021	003542	103411 				BCS	RDALLE		; .....ERROR IF C-BIT IS SET
   3022	003544	012024 				MOV	(R0)+,(R4)+	; .....LOAD CALLER'S BUFFER FROM OURS
   3023	003546	012024 				MOV	(R0)+,(R4)+	; .....
   3024	003550	011024 				MOV	(R0),(R4)+	; .....
   3025	003552	062702 	000002 			ADD	#^D2,R2		; .....INCREMEMENT THE FREAD CODE
   3026	003556					SOB	R3,RDALL1	; .....LOOP TILL DONE
	003556	005303 				DEC	R3
	003560	001364 				BNE	RDALL1
   3027	003562					POP	R0		; .....RESTORE R0
	003562	012600 				MOV	(SP)+,R0
   3028	003564	000401 				BR	RDALLX		; ....AND LEAVE
   3029	003566				RDALLE:
   3030	003566	005226 				INC	(SP)+		; .....GET RID OF R0
   3031	003570				RDALLX:
   3032	003570					POP	<R4,R3,R2,R1>	; ....RESTORE CALLER'S REGISTERS
	003570	012604 				MOV	(SP)+,R4
	003572	012603 				MOV	(SP)+,R3
	003574	012602 				MOV	(SP)+,R2
	003576	012601 				MOV	(SP)+,R1
   3033	003600					RETURN			; AND EXIT
	003600	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 107
*.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.

   3035					.SBTTL	*.RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR* 7509.24
   3036
   3037					;+
   3038					; .RDAPR -- SUBROUTINE TO READ THE STATE OF THE KL10 APR.
   3039					;
   3040					; THIS SUBROUTINE READS THE ERROR STATE OF THE KL10 APR AND RETURNS
   3041					; THAT ERROR STATE IN R0 AND ".APRWD".
   3042					;
   3043					; THE FORMAT OF THE DATA RETURNED IS:
   3044					;
   3045					;	AP.PWF -- BIT00 -- [APR PWR FAIL IN H] -- POWER FAIL
   3046					;	AP.SAP -- BIT01 -- [APR S ADR P ERR IN H] -- SBUS ADR PARITY ERROR
   3047					;	AP.CDP -- BIT02 -- [APR C DIR P ERR IN H] -- CACHE DIR PARITY ERROR
   3048					;	AP.MPE -- BIT03 -- [APR MB PAR ERR IN H] -- MB PARITY ERROR
   3049					;	AP.IPF -- BIT04 -- [APR I/O PF ERR IN H] -- I/O PAGE FAIL ERROR
   3050					;	AP.NXM -- BIT05 -- [APR NXM ERR IN H] -- NON-EX-MEMORY ERROR
   3051					;	AP.SBE -- BIT06 -- [APR SBUS ERR IN H] -- SBUS ERROR
   3052					;
   3053					; CALLING SEQUENCE IS:
   3054					;
   3055					;	CALL	.RDAPR		; READ APR ERRORS
   3056					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3057					;
   3058					; R0 WILL CONTAIN A COPY OF THE KL10 APR ERROR STATUS IN ".APRWD"
   3059					; ON SUCCESS OR A .RAD50 ERROR CODE ON FAILURE; NO OTHER REGISTERS
   3060					; ARE ALTERED.
   3061					;
   3062					; ERROR CODES RETURNED:
   3063					;
   3064					;	FRF -- FUNCTION READ FAILED.
   3065					;-
   3066
   3067	003602				.RDAPR::
   3068	003602					PUSH	R1		; SAVE R1 ON THE STACK
	003602	010146 				MOV	R1,-(SP)
   3069	003604	005001 				CLR	R1		; .CLEAR R1
   3070	003606	012700 	000220 			MOV	#FR.APR,R0	; .FR TO READ APR ERRORS
   3071	003612					CALL	.FREAD		; .READ APR ERRORS
	003612	004737 	006472'			JSR	PC,.FREAD
   3072	003616	103411 				BCS	RDAPRX		; .ERROR IF C-BIT IS SET
   3073	003620	012701 	177751 			MOV	#-^D23,R1	; .SHIFT COUNT TO R1
   3074	003624					CALL	KLLSHI		; .SHIFT ERROR BITS INTO POSITION
	003624	004737 	007760'			JSR	PC,KLLSHI
   3075	003630	042710 	177600 			BIC	#177600,(R0)	; .FLUSH UNWANTED BITS
   3076	003634	011037 	000176'			MOV	(R0),.APRWD	; .SAVE THE WORD
   3077	003640	011000 				MOV	(R0),R0		; .PUT A COPY IN R0
   3078	003642				RDAPRX:
   3079	003642					POP	R1		; RESTORE R1
	003642	012601 				MOV	(SP)+,R1
   3080	003644					RETURN			; AND GO AWAY
	003644	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 108
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3082					.SBTTL	*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES* 7510.09
   3083
   3084					;+
   3085					; .RDCPP -- SUBROUTINE TO READ THE KL10 CLOCK AND INTERNAL PARITY
   3086					;	    CHECKING PARAMETERS.
   3087					;
   3088					; THIS SUBROUTINE READS THE KL10 CLOCK SOURCE, RATE AND DISTRIBUTION
   3089					; ENABLES AS WELL AS THE KL10 INTERNAL PARITY ENABLES AND MAINTAINS
   3090					; THEM IN ".CLKWD" AND ".PSCWD", RESPECTIVELY.
   3091					;
   3092					; CALLING SEQUENCE IS:
   3093					;
   3094					;	CALL	.RDCPP		; READ CLOCK AND PARITY ENABLES
   3095					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3096					;
   3097					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE NO REGISTERS
   3098					; ARE ALTERED BY THIS SUBROUTINE.
   3099					;
   3100					; ERROR CODES RETURNED:
   3101					;
   3102					;	FRF -- FUNCTION READ FAILED.
   3103					;-
   3104
   3105	003646				.RDCPP::
   3106	003646					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	003646	004537 	007214'			JSR	R5,REGSAV
   3107	003652					PUSH	R0		; R0 TOO
	003652	010046 				MOV	R0,-(SP)
   3108	003654	012704 	000004 			MOV	#^D4,R4		; .USE R4 AS A COUNTER
   3109	003660	012703 	004010'			MOV	#RDCPT1,R3	; .BIT TEST TABLE POINTER TO R3
   3110	003664	012705 	000000'			MOV	#RDCPT3,R5	; .SAVE AREA POINTER TO R5
   3111	003670				RDCPP0:
   3112	003670	112300 				MOVB	(R3)+,R0	; .FR CODE TO R0
   3113	003672	005001 				CLR	R1		; .CLEAR R1
   3114	003674					CALL	.FREAD		; .READ A WORD
	003674	004737 	006472'			JSR	PC,.FREAD
   3115	003700	103440 				BCS	RDCPEX		; .ERROR IF C-BIT IS SET
   3116	003702	011025 				MOV	(R0),(R5)+	; .SAVE BITS 20 THRU 35 IN TABLE
   3117	003704					SOB	R4,RDCPP0	; .READ ALL FOUR OF THEM
	003704	005304 				DEC	R4
	003706	001370 				BNE	RDCPP0
   3118									; .NOW FALL INTO TEST ROUTINE
   3119
   3120					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 109
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3122									; .HERE FROM PREVIOUS PAGE
   3123	003710	012700 	000004 			MOV	#^D4,R0		; .DO OUTER LOOP 4 TIMES
   3124	003714	012705 	000000'			MOV	#RDCPT3,R5	; .KL10 SAVE AREA POINTER TO R5
   3125	003720				RDCPP1:
   3126	003720	012704 	000004 			MOV	#^D4,R4		; .DO INNER LOOP 4 TIMES
   3127	003724	012702 	004054'			MOV	#RDCPT2,R2	; .KL10 MASK POINTER TO R2
   3128	003730				RDCPP2:
   3129	003730	012701 	000200'			MOV	#.CLKWD,R1	; .CLOCK WORD POINTER TO R1
   3130	003734	020427 	000002 			CMP	R4,#^D2		; .IS INNER LOOP COUNT .GT. 2?
   3131	003740	101004 				BHI	RDCPP3		; .BRANCH IF YES
   3132	003742	001001 				BNE	RDCPPA		; .BRANCH IF .LT. 2
   3133	003744	005115 				COM	(R5)		; .INVERT THE WORD SO REST OF CODE WORKS
   3134	003746				RDCPPA:
   3135	003746	012701 	000204'			MOV	#.PSCWD,R1	; .DO PARITY WORD
   3136	003752				RDCPP3:
   3137	003752	041311 				BIC	(R3),(R1)	; .FLUSH THE BIT IN THE FLAG WORD
   3138	003754	031215 				BIT	(R2),(R5)	; .TEST THE BIT WE READ IN THIS WORD
   3139	003756	001401 				BEQ	RDCPP4		; .BRANCH IF BIT IS OFF
   3140	003760	051311 				BIS	(R3),(R1)	; .TURN THE BIT ON IN THE FLAG WORD
   3141	003762				RDCPP4:
   3142	003762	022322 				CMP	(R3)+,(R2)+	; .ADVANCE THE MASK POINTERS
   3143	003764					SOB	R4,RDCPP2	; .DO INNER LOOP 4 TIMES
	003764	005304 				DEC	R4
	003766	001360 				BNE	RDCPP2
   3144	003770	005125 				COM	(R5)+		; .ADVANCE THE SAVE AREA POINTER
   3145									; .AND STRAIGHTEN THE WORD OUT
   3146	003772					SOB	R0,RDCPP1	; .DO OUTER LOOP 4 TIMES
	003772	005300 				DEC	R0
	003774	001351 				BNE	RDCPP1
   3147	003776	000241 				CLC			; .CLEAR THE C-BIT
   3148	004000	000401 				BR	RDCPXX		; .AND EXIT
   3149	004002				RDCPEX:
   3150	004002	010016 				MOV	R0,(SP)		; .PUT ERROR CODE IN CALLER'S R0
   3151	004004				RDCPXX:
   3152	004004					POP	R0		; GIVE R0 BACK
	004004	012600 				MOV	(SP)+,R0
   3153	004006					RETURN			; AND GO AWAY
	004006	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 110
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3155					; TABLES USED TO READ AND SET CLOCK AND PARITY ENABLES
   3156
   3157					; THE FIRST FOUR BYTES IN THIS TABLE ARE THE FUNCTION READ CODES
   3158					; TO BE EXECUTED, THE REMAINING WORDS ARE USED TO SET OR CLEAR
   3159					; THE APPROPRIATE BITS IN ".CLKWD" AND ".PSCWD"
   3160
   3161	004010				RDCPT1:
   3162	004010	   210 				.BYTE	FR.104
   3163	004011	   212 				.BYTE	FR.105
   3164	004012	   214 				.BYTE	FR.106
   3165	004013	   216 				.BYTE	FR.107
   3166	004014	000010 				.WORD	CS.CS2		; CLK SOURCE 2 H [FR.104 - BIT 32]
   3167									; [FW 44 - BIT 32]
   3168	004016	000000 				.WORD	0		; BLANK [FR.104 - BIT 33]
   3169	004020	000010 				.WORD	IP.FMP		; FM PAR EN L [FR.104 - BIT 34]
   3170									; [FW 46 - BIT 32]
   3171	004022	000000 				.WORD	0		; BLANK [FR.104 - BIT 35]
   3172	004024	000004 				.WORD	CS.CS1		; CLK SOURCE 1 H [FR.105 - BIT 32]
   3173									; [FW 44 - BIT 33]
   3174	004026	002000 				.WORD	CD.CRC		; CLK CRAM DIS H [FR.105 - BIT 33]
   3175									; [FW 45 - BIT 33]
   3176	004030	000004 				.WORD	IP.CRP		; CRAM PAR EN L [FR.105 - BIT 34]
   3177									; [FW 46 - BIT 33]
   3178	004032	000000 				.WORD	0		; BLANK [FR.105 BIT - 35]
   3179	004034	000002 				.WORD	CR.CR2		; CLK RATE 2 H [FR.106 - BIT 32]
   3180									; [FW 44 - BIT 34]
   3181	004036	001000 				.WORD	CD.DPC		; CLK EDP DIS H [FR.106 - BIT 33]
   3182									; [FW 45 - BIT 34]
   3183	004040	000002 				.WORD	IP.DRP		; DRAM PAR EN L [FR.106 - BIT 34]
   3184									; [FW 46 - BIT 34]
   3185	004042	001000 				.WORD	AP.ARP		; AR/ARX PAR EN L [FR.106 - BIT 35]
   3186									; [FW 47 - BIT 34]
   3187	004044	000001 				.WORD	CR.CR1		; CLK RATE 1 H [FR.107 - BIT 32]
   3188									; [FW 44 - BIT 35]
   3189	004046	000400 				.WORD	CD.CLC		; CLK CTL DIS H [FR.107 - BIT 33]
   3190									; [FW 45 - BIT 35]
   3191	004050	000001 				.WORD	IP.FSS		; FS STOP EN L [FR.107 -BIT 34]
   3192									; [FW 46 - BIT 35]
   3193	004052	000400 				.WORD	AP.EIP		; CLK ERR STOP EN L [FR.107 - BIT 35]
   3194									; [FW 47 - BIT 35]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 111
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3196					; THESE BITS ARE USED TO MASK THE DATA FROM THE FUNCTION READS
   3197
   3198	004054				RDCPT2:
   3199	004054	000010 				.WORD	BIT03		; KL10 BIT 32
   3200	004056	000004 				.WORD	BIT02		; KL10 BIT 33
   3201	004060	000002 				.WORD	BIT01		; KL10 BIT 34
   3202	004062	000001 				.WORD	BIT00		; KL10 BIT 35
   3203
   3204					; THE DATA FROM THE FUNCTION READS ARE STORED IN THIS TABLE
   3205
   3206	000000				.PSECT	TABLES
   3207
   3208	000000				RDCPT3:
   3209	000000	000000 				.WORD	0		; FR.104 BITS 20 - 35
   3210	000002	000000 				.WORD	0		; FR.105 BITS 20 - 35
   3211	000004	000000 				.WORD	0		; FR.106 BITS 20 - 35
   3212	000006	000000 				.WORD	0		; FR.107 BITS 20 - 35
   3213
   3214	004064				.PSECT
   3215
   3216					.IF NE $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 112
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3218					.SBTTL	*.RDCRD -- SUBROUTINE TO READ THE KL10 CRAM DISP FIELD* 7511.22
   3219
   3220					;+
   3221					; .RDCRD -- SUBROUTINE TO READ THE KL10 CRAM DISP FIELD.
   3222					;
   3223					; THIS SUBROUTINE READS AND RETURNS THE CONTENT OF THE CRAM DISP FIELD
   3224					; IN R0.
   3225					;
   3226					; CALLING SEQUENCE IS:
   3227					;
   3228					;	CALL	.RDCRD		; READ CRAM DISP FIELD
   3229					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3230					;
   3231					; R0 CONTAINS A .RAD50 ERROR CODE ON ERROR, THE CONTENT OF CRAM DISP
   3232					; ON SUCCESS, NO OTHER REGISTERS ALTERED BY THIS SUBROUTINE.
   3233					;
   3234					; ERROR CODES RETURNED:
   3235					;
   3236					;	FRF -- FUNCTION READ FAILED.
   3237					;-
   3238
   3239					.RDCRD::
   3240						PUSH	R1		; SAVE R1 ON THE STACK
   3241						CLR	R1		; .CLEAR R1
   3242						MOV	#FR.CRD,R0	; .FR CODE TO R0
   3243						CALL	.FREAD		; .READ IT
   3244						BCS	RDCRDX		; .ERROR IF C-BIT IS SET
   3245						MOV	#-^D30,R1	; .SHIFT COUNT TO R1
   3246						CALL	KLLSHI		; .SHIFT IT
   3247						BIC	#177740,(R0)	; .MASK UNWANTED BITS
   3248						MOV	(R0),R0		; .COPY TO R0
   3249					RDCRDX:
   3250						POP	R1		; .RESTORE R1
   3251						RETURN			; AND GO AWAY
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 113
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3253					.SBTTL	*.RDCRM -- KL10 CONTROL RAM READ SUBROUTINE* 7511.19
   3254
   3255					;+
   3256					; .RDCRM -- SUBROUTINE TO READ A LOCATION IN THE KL10 CONTROL RAM.
   3257					; .RDCRR -- SUBROUTINE TO READ THE OUTPUT OF THE CRAM REGISTER.
   3258					;
   3259					; THIS SUBROUTINE WILL READ ONE LOCATION IN THE KL10 CONTROL RAM.
   3260					;
   3261					; SEQUENCE OF OPERATION:
   3262					;
   3263					; .RDCRM:
   3264					;
   3265					;	(A) THE KL10 IS HALTED IN THE HALT LOOP,
   3266					;	(B) THE CONTROL RAM ADDRESS IS LOADED,
   3267					;
   3268					; .RDCRR:
   3269					;
   3270					;	(C) THE CONTENT OF THE CURRENT CRAM ADDRESS IS READ.
   3271					;
   3272					; CALLING SEQUENCE IS:
   3273					;
   3274					;	MOV	#ADDR,R0	; CRAM ADDRESS TO R0
   3275					;	CALL	.RDCRM		; READ THE CRAM
   3276					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3277					;		-OR-
   3278					;	CALL	.RDCRR		; READ THE CRAM REGISTER
   3279					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3280					;
   3281					; R0 MUST CONTAIN THE CRAM ADDRESS TO BE READ IN THE CALL TO ".RDCRM".
   3282					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, AND A POINTER TO
   3283					; THE RAM DATA ON SUCCESS. OTHERWISE NO REGISTERS ARE ALTERED
   3284					; BY THIS SUBROUTINE.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 114
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3286					; THE FOLLOWING IS A PICTURE OF THRE DATA RETURNED BY THIS SUBROUTINE:
   3287					;
   3288					;	WORD		CRAM DATA
   3289					;	----		---------
   3290					;		!==================================!
   3291					;	00	!	CRAM BITS 68 THRU 78	   !
   3292					;		!----------------------------------!
   3293					;	01	!	CRAM BITS 60 THRU 66       !
   3294					;		!----------------------------------!
   3295					;	02	!	CRAM BITS 48 THRU 59	   !
   3296					;		!----------------------------------!
   3297					;	03	!	CRAM BITS 40 THRU 47	   !
   3298					;		!----------------------------------!
   3299					;	04	!	CRAM BITS 28 THRU 39	   !
   3300					;		!----------------------------------!
   3301					;	05	!	CRAM BITS 20 THRU 27	   !
   3302					;		!----------------------------------!
   3303					;	06	!	CRAM BITS 08 THRU 19	   !
   3304					;		!----------------------------------!
   3305					;	07	!	CRAM BITS 00 THRU 07	   !
   3306					;		!----------------------------------!
   3307					;	08	!    CRAM DISP BITS 00 THRU 04	   !
   3308					;		!==================================!
   3309					;
   3310					; ERROR CODES RETURNED:
   3311					;
   3312					;	CAE -- CRAM ADDRESS ERROR.
   3313					;	FRF -- FUNCTION READ FAILED.
   3314					;	FWF -- FUNCTION WRITE FAILED.
   3315					;	FXF -- FUNCTION EXECUTE FAILED.
   3316					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 115
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3318					.RDCRM::
   3319						CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
   3320						CMP	R0,#2377	; IS THE ADDRESS IN RANGE?
   3321						BHI	RDCRME		; BRANCH IF NOT
   3322						CALL	.LDCRA		; LOAD THE CRAM ADDRESS
   3323						BCS	RDCRMX		; ERROR IF C-BIT IS SET
   3324						MOV	#FX.EBC,R0	; NOW CLOCK THE DATA OUT OF THE RAM
   3325						CALL	.FXCT		; DO IT
   3326						BCS	RDCRMX		; ERROR IF C-BIT IS SET
   3327					.RDCRR::			; HERE TO READ THE CRAM REGISTER
   3328						MOV	#.CRAMR,R2	; SAVE AREA POINTER TO R2
   3329						MOV	#FR.CR4,R5	; BASE READ TO R5
   3330						MOV	#^D4,R3		; USE R3 AS A COUNTER
   3331					RDCRM1:
   3332						CLR	R1		; CLEAR R1
   3333						MOV	R5,R0		; PASS THE FREAD CODE
   3334						CALL	.FREAD		; DO IT
   3335						BCS	RDCRMX		; ERROR IF C-BIT IS SET
   3336						MOV	(R0)+,(R2)+	; LOAD CALLER'S BUFFER FROM OURS
   3337						MOV	(R0)+,(R2)+	;
   3338						TST	(R5)+		; INCREMENT THE FREAD CODE
   3339						SOB	R3,RDCRM1	; LOOP TILL DONE
   3340						CALL	.RDCRD		; READ THE DISPATCH FIELD
   3341						BCS	RDCRDX		; ERROR IF C-BIT IS SET
   3342						MOV	R0,(R2)		; PUT IT IN THE DATA BLOCK
   3343						CALL	.CLDFW		; CLEAR THE FUNCTION WRITE BUFFER
   3344						CLR	R1		; CLEAR R1
   3345						MOV	#FW.CA1,R0	; CLEAR CRAM DIAG ADDR
   3346						CALL	.FWRIT		; SO
   3347						BCS	RDCRMX		; ERROR IF C-BIT IS SET
   3348						MOV	#FW.CA2,R0	; NOW THE OTHER HALF
   3349						CALL	.FWRIT		; SO
   3350						BCS	RDCRMX		; ERROR IF C-BIT IS SET
   3351						MOV	#.CRAMR,R0	; POINT TO SAVE AREA
   3352					RDCRMX:
   3353						RETURN			; TO CALLER
   3354					.IFTF
   3355	004064				RDCRME:
   3356	004064					ERROR$	CAE		; CRAM ADDRESS ERROR
	004064	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	004066	011355 				.RAD50	/CAE/		; "CAE" ERROR CODE IN .RAD50
   3357	004070	000261 				SEC			; SET THE ERROR FLAG
   3358	004072					RETURN			; TO CALLER
	004072	000207 				RTS	PC
   3359					.IFT
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 116
*.RDCPP -- SUBOUTINE TO READ THE KL10 CLOCK AND PARITY ENABLES

   3361					.SBTTL	*.RDCRO -- SUBROUTINE TO READ THE KL10 CRAM OUTPUT* 7511.05
   3362
   3363					;+
   3364					; .RDCRO -- SUBROUTINE TO READ THE KL10 CRAM OUTPUT.
   3365					;
   3366					; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL10 CRAM
   3367					; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
   3368					; CRAM PARITY ERRORS.
   3369					;
   3370					; CALLING SEQUENCE IS:
   3371					;
   3372					;	CALL	.RDCRO		; READ THE CRAM OUTPUT
   3373					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3374					;
   3375					; R0 CONTAINS A POINTER TO A TEN WORD BLOCK WHICH CONTAINS THE
   3376					; CURRENT CRAM ADDRESS FOLLOWED BY THE CURRENT CRAM ADDRESS CONTENTS
   3377					; ON SUCCESS. ON FAILURE, R0 CONTAINS A .RAD50 ERROR CODE. NO OTHER
   3378					; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   3379					;
   3380					; ERROR CODES RETURNED:
   3381					;
   3382					;	CAE -- CRAM ADDRESS ERROR.
   3383					;	FRF -- FUNCTION READ FAILED.
   3384					;	FWF -- FUNCTION WRITE FAILED.
   3385					;	FXF -- FUNCTION EXECUTE FAILED.
   3386					;-
   3387
   3388					.RDCRO:
   3389						CALL	.RDCRA		; READ THE CRAM ADDRESS
   3390						BCS	RDCROX		; ERROR IF C-BIT IS SET
   3391						MOV	R0,.CRAMA	; SAVE THE ADDRESS
   3392						CALL	.RDCRR		; READ THE CRAM DATA
   3393						BCS	RDCROX		; ERROR IF C-BIT IS SET
   3394						TST	-(R0)		; RETURN POINTER
   3395					RDCROX:
   3396						RETURN			; TO CALLER
   3397
   3398					.ENDC				; $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 117
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3400					.SBTTL	*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509.23
   3401
   3402					;+
   3403					; .RDADR -- SUBROUTINE TO READ THE KL10 ADDER REGISTER.
   3404					; .RDADX -- SUBROUTINE TO READ THE KL10 ADDER EXTENSION REGISTER.
   3405					; .RDARR -- SUBROUTINE TO READ THE KL10 ARITHMETIC REGISTER.
   3406					; .RDARX -- SUBROUTINE TO READ THE KL10 ARITHMETIC REGISTER EXTENSION.
   3407					; .RDBRR -- SUBROUTINE TO READ THE KL10 BUFFER REGISTER.
   3408					; .RDBRX -- SUBROUTINE TO READ THE KL10 BUFFER REGISTER EXTENSION.
   3409					; .RDEBS -- SUBROUTINE TO READ THE KL10 EBUS REGISTER.
   3410					; .RDFMR -- SUBROUTINE TO READ THE KL10 FAST MEMORY REGISTER.
   3411					; .RDMQR -- SUBROUTINE TO READ THE KL10 MULTIPLIER QUOTIENT REGISTER.
   3412					;
   3413					; THESE SUBROUTINES READ AND RETURN THE CONTENT OF THE SPECIFIED KL10
   3414					; DATA PATH REGISTER IN A TRIPLET POINTED TO BY R1 IN THE CALL.
   3415					;
   3416					; CALLING SEQUENCE IS:
   3417					;
   3418					;	MOV	#BUFADR,R1	; BUFFER ADDRESS TO R1
   3419					;	CALL	.RDADR		; READ THE KL10 ADDER
   3420					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3421					;
   3422					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE AND POINTS TO THE TOP
   3423					; OF THE READ BLOCK ON SUCCESS; OTHERWISE NO REGISTERS ARE ALTERED
   3424					; BY THESE SUBROUTINES.
   3425					;
   3426					; ERROR CODES RETURNED:
   3427					;
   3428					;	FRF -- FUNCTION READ FAILED.
   3429					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 118
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3431	004074				.RDADR::
   3432	004074	012700 	000256 			MOV	#FR.RAD,R0	; READ THE KL10 ADDER
   3433	004100	000427 				BR	.RDDPB		; COMMON CODE
   3434	004102				.RDADX::
   3435	004102	012700 	000254 			MOV	#FR.ADX,R0	; READ THE KL10 ADDER EXTENSION
   3436	004106	000424 				BR	.RDDPB		; COMMON CODE
   3437	004110				.RDARR::
   3438	004110	012700 	000240 			MOV	#FR.RAR,R0	; READ THE KL10 ARITHMETIC REGISTER
   3439	004114	000421 				BR	.RDDPB		; COMMON CODE
   3440	004116				.RDARX::
   3441	004116	012700 	000252 			MOV	#FR.ARX,R0	; READ THE KL10 AR EXTENSION REGISTER
   3442	004122	000416 				BR	.RDDPB		; COMMON CODE
   3443	004124				.RDBRR::
   3444	004124	012700 	000242 			MOV	#FR.RBR,R0	; READ THE KL10 BUFFER REGISTER
   3445	004130	000413 				BR	.RDDPB		; COMMON CODE
   3446	004132				.RDBRX::
   3447	004132	012700 	000250 			MOV	#FR.BRX,R0	; READ THE KL10 BR EXTENSION REGISTER
   3448	004136	000410 				BR	.RDDPB		; COMMON CODE
   3449	004140				.RDEBS::
   3450	004140	012700 	000356 			MOV	#FR.EBS,R0	; READ THE KL10 EBUS REGISTER
   3451	004144	000405 				BR	.RDDPB		; COMMON CODE
   3452	004146				.RDFMR::
   3453	004146	012700 	000246 			MOV	#FR.RFM,R0	; READ THE KL10 FAST MEMORY REGISTER
   3454	004152	000402 				BR	.RDDPB		; COMMON CODE
   3455	004154				.RDMQR::
   3456	004154	012700 	000244 			MOV	#FR.RMQ,R0	; READ THE KL10 MULTIPLIER QUOTIENT REGISTER
   3457									; FALL INTO COMMON CODE
   3458	004160				.RDDPB::
   3459	004160					CALL	.FREAD		; READ IT
	004160	004737 	006472'			JSR	PC,.FREAD
   3460	004164					RETURN			; AND JUST GO AWAY
	004164	000207 				RTS	PC
   3461
   3462					.IF NE $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 119
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3464					.SBTTL	*.RDDRM -- SUBROUTINE TO READ THE KL10 DISPATCH RAM* 7511.05
   3465
   3466					;+
   3467					; .RDDRM -- SUBROUTINE TO READ THE KL10 DISPATCH RAM.
   3468					; .RDDRR -- SUBROUTINE TO READ THE OUTPUT OF THE DRAM REGISTER.
   3469					;
   3470					; THE ".RDDRM" SUBROUTINE WILL READ A PAIR OF LOCATIONS IN THE KL10 DRAM,
   3471					; BEGINNING WITH THE EVEN DRAM ADDRESS SPECIFIED IN R0.
   3472					;
   3473					; THE ".RDDRR" SUBROUTINE WILL READ THE DRAM REGISTER OUTPUT.
   3474					;
   3475					; SEQUENCE OF OPERATION:
   3476					;
   3477					; .RDDRM:
   3478					;
   3479					;	(A) THE FIRST (EVEN) DRAM ADDRESS IS LOADED,
   3480					;	(B) THE DATA FROM THE EVEN ADDRESS IS READ,
   3481					;	(C) THE SECOND (ODD) DRAM ADDRESS IS LOADED,
   3482					;	(D) THE DATA FROM THE ODD ADDRESS IS READ,
   3483					;	(E) KL10 OPCODES ARE REENABLED (TURNED OFF BY ADDRESS LOAD),
   3484					;
   3485					; .RDDRR:
   3486					;
   3487					;	(A) THE CURRENT OUTPUT OF THE DRAM REGISTER IS READ.
   3488					;
   3489					; CALLING SEQUENCE IS:
   3490					;
   3491					;	MOV	#ADR,R0		; DRAM ADDRESS TO R0
   3492					;	CALL	.RDDRM		; READ THE DRAM PAIR
   3493					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3494					;		-OR-
   3495					;	CALL	.RDRR		; READ THE DRAM REGISTER
   3496					;	BCS	ERROR		; ERROR IF C-BIT IS SET
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 120
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3498					; R0 CONTAINS A POINTER TO A 6 BYTE BLOCK WHICH CONTAINS THE DRAM
   3499					; DATA ON SUCCESS AND A .RAD50 ERROR CODE ON FAILURE. THE FORMAT
   3500					; OF THE DATA BLOCK IS:
   3501					;
   3502					;		!===============================!
   3503					;	00	!	 DRAM A + B EVEN	!
   3504					;		!-------------------------------!
   3505					;	01	!	DRAM J 1 - 4 EVEN	!
   3506					;		!-------------------------------!
   3507					;	02	!    DRAM J 7 - 10 + PAR EVEN	!
   3508					;		!-------------------------------!
   3509					;	03	!	  DRAM A + B ODD	!
   3510					;		!-------------------------------!
   3511					;	04	!	 DRAM J 1 - 4 ODD	!
   3512					;		!-------------------------------!
   3513					;	05	!    DRAM J 7 - 10 + PAR ODD	!
   3514					;		!===============================!
   3515					;
   3516					; THESE BYTES ARE RIGHT JUSTIFIED.
   3517					;
   3518					; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   3519					;
   3520					; ERROR CODES RETURNED:
   3521					;
   3522					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   3523					;	DAE -- KL10 DRAM ADDRESS ERROR.
   3524					;	FRF -- FUNCTION READ FAILED.
   3525					;	FWF -- FUNCTION WRITE FAILED.
   3526					;	FXF -- FUNCTION EXECUTE FAILED.
   3527					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 121
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3529					.RDDRR::
   3530						CALL	R5,REGSAV	; SAVE R1 - R5 ON THE STACK
   3531						PUSH	#^D1		; FAKE THE EXIT OUT
   3532						MOV	#.DRAMR,R3	; .SAVE AREA POINTER TO R3
   3533						BR	RDRAMA		; .DO THE READ
   3534					.RDDRM::
   3535						CALL	R5,REGSAV	; SAVE R1 - R5 ON THE STACK
   3536						PUSH	R0		; AND R0, TOO
   3537						BIT	#177001,R0	; .IS THE ADDRESS OK?
   3538						BNE	RDRAER		; .ERROR -- OUT OF RANGE OR ODD
   3539						MOV	#.DRAMR,R3	; .SAVE AREA POINTER TO R3
   3540					RDDRM1:
   3541						CALL	.LDRAD		; .LOAD THE ADDRESS
   3542						BCS	RDDRME		; .ERROR IF C-BIT IS SET
   3543						MOV	#FX.UDR,R0	; .GET THE DATA FROM THE RAM
   3544						CALL	.FXCT		; .DO IT
   3545						BCS	RDDRME		; .ERROR IF C-BIT IS SET
   3546					RDRAMA:
   3547						MOV	#DRAMT,R5	; .MASK TABLE POINTER
   3548						MOV	#FR.133,R4	; .BASE READ TO R4
   3549					RDDRM2:
   3550						MOV	R4,R0		; .GET THE READ CODE
   3551						CLR	R1		; .CLEAR R1
   3552						CALL	.FREAD		; .DO IT
   3553						BCS	RDDRME		; .ERROR IF C-BIT IS SET
   3554						MOVB	2(R0),(R3)	; .PICK UP THIS BYTE
   3555						ASRB	(R3)		; .DATA NEEDS TWO SHIFTS
   3556						ASRB	(R3)		; .SO
   3557						BICB	(R5)+,(R3)+	; .MASK IT OFF
   3558						CMP	#FR.135,R4	; .ARE WE DONE THIS SET OF READS?
   3559						BEQ	RDDRM3		; .BRANCH IF SO
   3560						CLC			; .CLEAR THE C-BIT
   3561						TST	(R4)+		; .NEXT READ
   3562						BR	RDDRM2		; .DO IT
   3563					RDDRM3:
   3564						BIT	#BIT00,(SP)	; .ARE WE ALL THROUGH READING?
   3565						BNE	RDDRMX		; .BRANCH IF SO
   3566						INC	(SP)		; .MAKE THE ADDRESS ODD
   3567						MOV	(SP),R0		; .PUT IT IN R0
   3568						BR	RDDRM1		; .AND DO ODD READ
   3569
   3570					;	[FALL THROUGH TO NEXT PAGE IF DONE READS]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 122
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3572					RDDRMX:
   3573						CLC			; .CLEAR THE C-BIT
   3574						MOV	#FW.KLO,R0	; .REENABLE KL10 OPCODES
   3575						CALL	.FWRIT		; .DO IT
   3576						BCS	RDDRME		; .ERROR IF C-BIT IS SET
   3577						BIS	#KF.KLO,.KLFLG	; .SET THE FLAG BIT
   3578						MOV	#.DRAMR,R0	; .POINT TO THE READ DATA
   3579					RDDRME:
   3580						INC	(SP)+		; CLEAR THE STACK
   3581						RETURN			; TO CALLER
   3582					RDRAER:
   3583						ERROR$	DAE		; .DRAM ADDRESSING ERROR
   3584						SEC			; .SET ERROR FLAG
   3585						BR	RDDRME		; .GIVE ERROR RETURN
   3586
   3587					; TABLE USED BY DRAM READ
   3588
   3589					DRAMT:
   3590						.BYTE	300		; BIT MASKS
   3591						.BYTE	360
   3592						.BYTE	300
   3593					.EVEN
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 123
*.RDDPB -- SUBROUTINES TO READ THE KL10 DATA PATH BOARDS* 7509

   3595					.SBTTL	*.RDDRO -- SUBROUTINE TO READ THE KL10 DRAM OUTPUT* 7511.05
   3596
   3597					;+
   3598					; .RDDRO -- SUBROUTINE TO READ THE KL10 DRAM OUTPUT.
   3599					;
   3600					; THIS SUBROUTINE WILL READ THE CURRENT OUTPUT OF THE KL10 DRAM
   3601					; AND IS USEFUL ON CLOCK ERROR STOPS (Q.V.) WHICH ARE CAUSED BY
   3602					; DRAM PARITY ERRORS.
   3603					;
   3604					; CALLING SEQUENCE IS:
   3605					;
   3606					;	CALL	.RDDRO		; READ THE DRAM OUTPUT
   3607					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3608					;
   3609					; R0 CONTAINS A POINTER TO A FOUR WORD BLOCK WHICH CONTAINS THE
   3610					; CURRENT DRAM ADDRESS FOLLOWED BY THE CURRENT DRAM ADDRESS CONTENTS
   3611					; ON SUCCESS. ON FAILURE, R0 CONTAINS A .RAD50 ERROR CODE. NO OTHER
   3612					; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   3613					;
   3614					; ERROR CODES RETURNED:
   3615					;
   3616					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   3617					;	DAE -- KL10 DRAM ADDRESS ERROR.
   3618					;	FRF -- FUNCTION READ FAILED.
   3619					;	FWF -- FUNCTION WRITE FAILED.
   3620					;	FXF -- FUNCTION EXECUTE FAILED.
   3621					;-
   3622
   3623					.RDDRO::
   3624						CALL	.RDDRA		; READ THE DRAM ADDRESS
   3625						BCS	RDDROX		; ERROR IF C-BIT IS SET
   3626						MOV	R0,.DRAMA	; SAVE THE DRAM ADDRESS
   3627						CALL	.RDDRR		; READ THE DRAM REGISTER
   3628						BCS	RDDROX		; ERROR IF C-BIT IS SET
   3629						TST	-(R0)		; RETURN POINTER
   3630					RDDROX:
   3631						RETURN			; TO CALLER
   3632
   3633					.ENDC				; $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 124
*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24

   3635					.SBTTL	*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24
   3636
   3637					;+
   3638					; .RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS.
   3639					;
   3640					; THIS SUBROUTINE READS AND RETURNS THE STATE OF THE KL10 PC FLAGS IN R0.
   3641					;
   3642					; CALLING SEQUENCE IS:
   3643					;
   3644					;	CALL	.RDFLG		; READ THE FLAGS
   3645					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3646					;
   3647					; R0 CONTAINS THE PC FLAGS ON SUCCESS, AND A .RAD50 ERROR CODE
   3648					; ON FAILURE, NO OTHER REGISTERS ARE ALTERED.
   3649					;
   3650					; THE FOLLOWING IS A LIST OF THE KL10 FLAGS RETURNED IN R0:
   3651					;
   3652					;	BIT #	PC FLAG BIT AND MEANING		KL10 BIT
   3653					;
   3654					;	-----	----------------------------	--------
   3655					;
   3656					;	12	PC.OVF -- KL10 OVERFLOW FLAG -- 00
   3657					;	11	PC.CY0 -- KL10 CARRY 0 FLAG -- 01
   3658					;	10	PC.CY1 -- KL10 CARRY 1 FLAG -- 02
   3659					;	09	PC.FOV -- KL10 FLOATING OVERFLOW FLAG -- 03
   3660					;	08	PC.BIS -- KL10 BYTE INCREMENT SUPPRESSION FLAG -- 04
   3661					;	07	PC.USR -- KL10 USER MODE FLAG -- 05
   3662					;	06	PC.UIO -- KL10 USER IOT MODE FLAG -- 06
   3663					;	05	PC.LIP -- KL10 LAST INSTRUCTION PUBLIC FLAG -- 07
   3664					;	04	PC.AFI -- KL10 ADDRESS FAILURE INHIBIT FLAG -- 08
   3665					;	03	PC.AT1 -- KL10 APR TRAP 1 FLAG -- 09
   3666					;	02	PC.AT0 -- KL10 APR TRAP 0 FLAG -- 10
   3667					;	01	PC.FUF -- KL10 FLOATING UNDERFLOW FLAG -- 11
   3668					;	00	PC.NDV -- KL10 NO DIVIDE FLAG -- 12
   3669					;
   3670					; NOTE:
   3671					;
   3672					;	THE KL10 MUST BE IN THE HALT LOOP BEFORE THIS SUBROUTINE IS CALLED.
   3673					;
   3674					; ERROR CODES RETURNED:
   3675					;
   3676					;	FRF -- FUNCTION READ FAILED.
   3677					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 125
*.RDFLG -- SUBROUTINE TO READ THE KL10 PC FLAGS* 7511.24

   3679	004166				.RDFLG::
   3680	004166					PUSH	<R1,R2>		; SAVE R1 AND R2 ON THE STACK
	004166	010146 				MOV	R1,-(SP)
	004170	010246 				MOV	R2,-(SP)
   3681	004172	005001 				CLR	R1		; ..CLEAR R1
   3682	004174	005002 				CLR	R2		; ..AND R2
   3683	004176	012700 	000202 			MOV	#FR.101,R0	; ..FR CODE FOR LOW FLAGS
   3684	004202					CALL	.FREAD		; ..READ THEM
	004202	004737 	006472'			JSR	PC,.FREAD
   3685	004206	103441 				BCS	RDFLGX		; ..ERROR IF C-BIT IS SET
   3686	004210	012701 	177764 			MOV	#-^D12,R1	; ..SHIFT COUNT TO R1
   3687	004214					CALL	KLLSHI		; ..SHIFT OUR WORD
	004214	004737 	007760'			JSR	PC,KLLSHI
   3688	004220	042710 	177700 			BIC	#177700,(R0)	; ..MASK OUT FLAG BITS
   3689	004224	051002 				BIS	(R0),R2		; ..PUT THE LOW FLAGS IN R2
   3690	004226	005001 				CLR	R1		; ..AGAIN
   3691	004230	012700 	000200 			MOV	#FR.100,R0	; ..FR CODE FOR MOST OF THE FLAGS
   3692	004234					CALL	.FREAD		; ..READ THEM
	004234	004737 	006472'			JSR	PC,.FREAD
   3693	004240	103424 				BCS	RDFLGX		; ..ERROR IF C-BIT IS SET
   3694	004242	012701 	177772 			MOV	#-^D6,R1	; ..SHIFT COUNT TO R1
   3695	004246					CALL	KLLSHI		; ..SHIFT THE DATA
	004246	004737 	007760'			JSR	PC,KLLSHI
   3696	004252	042710 	170077 			BIC	#170077,(R0)	; ..JUST THE BITS WE WANT
   3697	004256	051002 				BIS	(R0),R2		; ..SAVE THE HIGH FLAGS IN R2
   3698	004260	005001 				CLR	R1		; ..CLEAR R1 AGAIN
   3699	004262	012700 	000264 			MOV	#FR.132,R0	; ..FR CODE FOR LAST FLAG BIT
   3700	004266					CALL	.FREAD		; ..READ IT
	004266	004737 	006472'			JSR	PC,.FREAD
   3701	004272	103407 				BCS	RDFLGX		; ..ERROR IF C-BIT IS SET
   3702	004274	032760 	000001 	000004 		BIT	#BIT00,4(R0)	; ..IS IT ON?
   3703	004302	001402 				BEQ	RDFLG1		; ..BRANCH IF NOT
   3704	004304	052702 	010000 			BIS	#PC.OVF,R2	; ..IT IS, SET IT IN OUR WORD
   3705	004310				RDFLG1:
   3706	004310	010200 				MOV	R2,R0		; ..PUT A COPY IN R0
   3707	004312				RDFLGX:
   3708	004312					POP	<R2,R1>		; RESTORE REGISTERS
	004312	012602 				MOV	(SP)+,R2
	004314	012601 				MOV	(SP)+,R1
   3709	004316					RETURN			; TO CALLER
	004316	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 126
*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14

   3711					.SBTTL	*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14
   3712
   3713					;+
   3714					; .RDFMA -- SUBROUTINE TO READ THE KL10 FAST MEMORY ADDRESS REGISTER.
   3715					;
   3716					; THIS SUBROUTINE WILL READ AND RETURN THE KL10 FAST MEMORY ADDRESS
   3717					; A LOCATION POINTED TO BY R1 IN THE CALL. IF R1 IS ZERO, THE DATA
   3718					; IS RETURNED ONLY IN R0.
   3719					;
   3720					; THE FORMAT OF THE DATA RETURNED IS:
   3721					;
   3722					;	!===============================================!
   3723					;	!	FM BLOCK	!      FM ADDRESS	!
   3724					;	!===============================================!
   3725					;
   3726					; CALLING SEQUENCE IS:
   3727					;
   3728					;	MOV	#BUFADR,R1	; BUFFER POINTER TO R1
   3729					;	CALL	.RDFMA		; READ THE FAST MEMORY ADDRESS
   3730					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3731					;
   3732					; R0 WILL CONTAIN A RAD50 ERROR CODE IF THE SUBROUTINE FAILS,
   3733					; OTHERWISE NO REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   3734					;
   3735					; ERROR CODES RETURNED:
   3736					;
   3737					;	FRF -- FUNCTION READ FAILED.
   3738					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 127
*.RDFMA -- SUBROUTINE TO READ THE KL10 FM ADDRESS* 7511.14

   3740	004320				.RDFMA::
   3741	004320					PUSH	R1		; SAVE R1 ON THE STACK
	004320	010146 				MOV	R1,-(SP)
   3742	004322	005001 				CLR	R1		; .CLEAR R1
   3743	004324	012700 	000230 			MOV	#FR.114,R0	; .FR CODE TO READ FM ADDRESS
   3744	004330					CALL	.FREAD		; .READ IT
	004330	004737 	006472'			JSR	PC,.FREAD
   3745	004334	103423 				BCS	RDFMAX		; .ERROR IF C-BIT IS SET
   3746	004336	012701 	177753 			MOV	#-^D21,R1	; .SHIFT COUNT TO R1
   3747	004342					CALL	KLLSHI		; .SHIFT IT
	004342	004737 	007760'			JSR	PC,KLLSHI
   3748	004346					PUSH	(R0)		; .SAVE THE WORD ON THE STACK
	004346	011046 				MOV	(R0),-(SP)
   3749	004350	042716 	177760 			BIC	#177760,(SP)	; ..MASK FM ADDRESS
   3750	004354	042710 	176017 			BIC	#176017,(R0)	; ..MASK OUT THE FM BLOCK NUMBER
   3751	004360	012701 	000004 			MOV	#^D4,R1		; ..SHIFT IT INTO THE HIGH BYTE
   3752	004364					CALL	KLLSHI		; ..SO
	004364	004737 	007760'			JSR	PC,KLLSHI
   3753	004370	052610 				BIS	(SP)+,(R0)	; ..SET IN THE FAST MEMORY ADDRESS
   3754	004372	011000 				MOV	(R0),R0		; .GET IT INTO R0
   3755	004374	005716 				TST	(SP)		; .DO WE HAVE A POINTER?
   3756	004376	001402 				BEQ	RDFMAX		; .BRANCH IF NOT
   3757	004400	010076 	000000 			MOV	R0,@(SP)	; .PUT IT WHERE HE WANTS IT
   3758	004404				RDFMAX:
   3759	004404					POP	R1		; RESTORE R1
	004404	012601 				MOV	(SP)+,R1
   3760	004406					RETURN			; AND LEAVE
	004406	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 128
*.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06

   3762					.SBTTL	*.RDFMO -- SUBROUTINE TO READ KL10 FAST MEMORY OUTPUT* 7511.06
   3763
   3764					;+
   3765					; .RDFMO -- SUBROUTINE TO READ THE KL10 FAST MEMORY REGISTERS
   3766					;
   3767					; THIS SUBROUTINE WILL READ AND STORE THE FAST MEMORY ADDRESS AND
   3768					; OUTPUT IN A FOUR WORD BLOCK STARTING AT ".FMADR", AND IS USEFUL
   3769					; FOR GATHERING DATA ON FAST MEMORY PARITY ERRORS.
   3770					;
   3771					; CALLING SEQUENCE IS:
   3772					;
   3773					;	CALL	.RDFMO		; READ FAST MEMORRY REGISTERS
   3774					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3775					;
   3776					; R0 CONTAINS A POINTER TO THE FOUR WORD BLOCK ON SUCCESS, OR
   3777					; A .RAD50 ERROR CODE ON FAILURE. NO OTHER REGISTERS ARE
   3778					; ALTERED BY THIS ROUTINE.
   3779					;
   3780					; ERROR CODES RETURNED:
   3781					;
   3782					;	FRF -- FUNCTION READ FAILED.
   3783					;-
   3784
   3785	004410				.RDFMO::
   3786	004410					PUSH	R1		; SAVE R1 ON THE STACK
	004410	010146 				MOV	R1,-(SP)
   3787	004412	005001 				CLR	R1		; .CLEAR R1
   3788	004414					CALL	.RDFMA		; .READ THE FAST MEMORY ADDRESS
	004414	004737 	004320'			JSR	PC,.RDFMA
   3789	004420	103410 				BCS	RDFMOX		; .ERROR IF C-BIT IS SET
   3790	004422	012701 	000166'			MOV	#.FMADR,R1	; .SET UP POINTER
   3791	004426	010021 				MOV	R0,(R1)+	; .SAVE FM ADDRESS
   3792	004430					CALL	.RDFMR		; .READ THE FAST MEMORY REGISTER
	004430	004737 	004146'			JSR	PC,.RDFMR
   3793	004434	103402 				BCS	RDFMOX		; .ERROR IF C-BIT IS SET
   3794	004436	012700 	000166'			MOV	#.FMADR,R0	; .RETURN POINTER
   3795	004442				RDFMOX:
   3796	004442					POP	R1		; RESTORE R1
	004442	012601 				MOV	(SP)+,R1
   3797	004444					RETURN			; TO CALLER
	004444	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 129
*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04

   3799					.SBTTL	*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04
   3800
   3801					;+
   3802					; .RDIRR -- SUBROUTINE TO READ THE KL10 INSTRUCTION REGISTER.
   3803					;
   3804					; THIS SUBROUTINE WILL READ THE CONTENT OF THE KL10 INSTRUCTION REGISTER
   3805					; AND RETURN IT IN R0. IN THE CASE OF A "JRST", "JFCL", OR I/O OPCODE,
   3806					; 13 BITS OF DATA ARE RETURNED, LEFT JUSTIFIED ON BIT 15 (OPCODE + IR AC
   3807					; FIELD). ALL OTHER OPCODES RETURN 9 BITS OF DATA, RIGHT JUSTIFIED ON
   3808					; BIT 00.
   3809					;
   3810					; CALLING SEQUENCE IS:
   3811					;
   3812					;	CALL	.RDIRR		; READ THE KL10 IR
   3813					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3814					;
   3815					; R0 CONTAINS THE CURRENT KL10 OPCODE ON SUCCESS, OR A .RAD50 ERROR
   3816					; CODE ON FAILURE; NO OTHER REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   3817					;
   3818					; ERROR CODES RETURNED:
   3819					;
   3820					;	FRF -- FUNCTION READ FAILED.
   3821					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 130
*.RDIRR -- SUNROUTINE TO READ THE KL10 IR REGISTER* 7510.04

   3823	004446				.RDIRR::
   3824	004446					PUSH	R1		; SAVE R1 ON THE STACK
	004446	010146 				MOV	R1,-(SP)
   3825	004450					CALL	.RDDRA		; .READ THE DRAM ADDRESS (OPCODE)
	004450	004737 	004752'			JSR	PC,.RDDRA
   3826	004454	103442 				BCS	RDIRRX		; .ERROR IF C-BIT IS SET
   3827	004456	022700 	000254 			CMP	#JRST,R0	; .IS IT A "JRST"?
   3828	004462	001406 				BEQ	RDIRR1		; .BRANCH IF SO
   3829	004464	022700 	000255 			CMP	#JFCL,R0	; .IS IT A "JFCL"?
   3830	004470	001403 				BEQ	RDIRR1		; .BRANCH IF SO
   3831	004472	022700 	000700 			CMP	#KLIOT,R0	; .IS IT AN I/O OPCODE
   3832	004476	002430 				BLT	RDIRR3		; .BRANCH IF NOT
   3833	004500				RDIRR1:
   3834	004500	012701 	000004 			MOV	#^D4,R1		; .SHIFT THE OPCODE OVER
   3835	004504					CALL	.SHIFT		; .SO
	004504	004737 	007162'			JSR	PC,.SHIFT
   3836	004510					PUSH	R0		; .SAVE R0 ON THE STACK
	004510	010046 				MOV	R0,-(SP)
   3837	004512	012700 	000264 			MOV	#FR.132,R0	; ..SET UP TO READ AC FIELD
   3838	004516	005001 				CLR	R1		; ..CLEAR R1
   3839	004520					CALL	.FREAD		; ..READ IT
	004520	004737 	006472'			JSR	PC,.FREAD
   3840	004524	103414 				BCS	RDIRR2		; ..ERROR IF C-BIT IS SET
   3841	004526	012701 	177756 			MOV	#-^D18,R1	; ..SHIFT THE AC FIELD OVER
   3842	004532					CALL	KLLSHI		; ..SO
	004532	004737 	007760'			JSR	PC,KLLSHI
   3843	004536	042710 	177760 			BIC	#177760,(R0)	; ..CLEAR OUT UNWANTED BITS
   3844	004542	051610 				BIS	(SP),(R0)	; ..MAKE THE WHOLE OPCODE
   3845	004544	011000 				MOV	(R0),R0		; ..AND GET IT INTO R0
   3846	004546	012701 	000002 			MOV	#^D2,R1		; ..LEFT JUSTIFY IT
   3847	004552					CALL	.SHIFT		; ..SO
	004552	004737 	007162'			JSR	PC,.SHIFT
   3848	004556				RDIRR2:
   3849	004556	005226 				INC	(SP)+		; .CLEAR THE STACK
   3850	004560				RDIRR3:
   3851	004560	000241 				CLC			; .CLEAR THE C-BIT
   3852	004562				RDIRRX:
   3853	004562					POP	R1		; .RESTORE R1
	004562	012601 				MOV	(SP)+,R1
   3854	004564					RETURN			; TO CALLER
	004564	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 131
*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13

   3856					.SBTTL	*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13
   3857
   3858					;+
   3859					; .RDIPE -- SUBROUTINE TO READ THE KL10 INTERNAL PARITY ERROR FLAGS.
   3860					;
   3861					; THIS SUBROUTINE READS THE INTERNAL KL10 PARITY ERROR FLAGS AND
   3862					; STORES THEM IN ".PEWRD" IN THE FOLLOWING FORMAT:
   3863					;
   3864					;	(A) BIT00 ("PE.CES") [CLK ERROR STOP H],
   3865					;	(B) BIT01 ("PE.DRM") [CLK DRAM PAR ERR H],
   3866					;	(C) BIT02 ("PE.CRM") [CLK CRAM PAR ERR H],
   3867					;	(D) BIT03 ("PE.FMP") [CLK FM PAR ERR H],
   3868					;	(E) BIT04 ("PE.FSS") [CLK FS ERROR H].
   3869					;
   3870					; CALLING SEQUENCE IS:
   3871					;
   3872					;	CALL	.RDIPE		; READ THE KL10 PARITY ERRORS
   3873					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3874					;
   3875					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0
   3876					; CONTAINS A COPY OF THE FLAGS IN ".PEWRD".
   3877					; ALL OTHER REGISTERS ARE PRESERVED.
   3878					;
   3879					; ERROR CODES RETURNED:
   3880					;
   3881					;	FRF -- FUNCTION READ FAILED.
   3882					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 132
*.RDIPE -- READ KL10 PARITY ERROR FLAGS* 7511.13

   3884	004566				.RDIPE::
   3885	004566					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	004566	004537 	007214'			JSR	R5,REGSAV
   3886	004572	012702 	000204 			MOV	#FR.102,R2	; BASE FUNCTION READ TO R2
   3887	004576	012703 	000040 			MOV	#BIT05,R3	; MASK BIT TO R3
   3888	004602	012704 	000202'			MOV	#.PEWRD,R4	; WORD POINTER TO R4
   3889	004606	005014 				CLR	(R4)		; CLEAR THE WORD
   3890	004610	012705 	000001 			MOV	#BIT00,R5	; BASE WORD MASK TO R5
   3891	004614	005001 				CLR	R1		; CLEAR R1
   3892	004616				RDIPE1:
   3893	004616	010200 				MOV	R2,R0		; GET THE FR NUMBER
   3894	004620					CALL	.FREAD		; DO THE READ
	004620	004737 	006472'			JSR	PC,.FREAD
   3895	004624	103412 				BCS	RDIPEX		; ERROR IF C-BIT IS SET
   3896	004626	030310 				BIT	R3,(R0)		; IS THE BIT ON?
   3897	004630	001401 				BEQ	RDIPE2		; BRANCH IF NOT
   3898	004632	050514 				BIS	R5,(R4)		; SET THE BIT IN THE WORD
   3899	004634				RDIPE2:
   3900	004634	062702 	000002 			ADD	#^D2,R2		; NEXT FUNCTION READ
   3901	004640	006305 				ASL	R5		; SHIFT THE WORD MASK
   3902	004642	020503 				CMP	R5,R3		; ARE WE DONE?
   3903	004644	001364 				BNE	RDIPE1		; NO, KEEP GOING
   3904	004646	000241 				CLC			; JUST IN CASE
   3905	004650	011400 				MOV	(R4),R0		; PUT THE WORD IN R0
   3906	004652				RDIPEX:
   3907	004652					RETURN			; AND GO AWAY
	004652	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 133
*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16

   3909					.SBTTL	*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16
   3910
   3911					;+
   3912					; .RDPI -- SUBROUTINE TO READ THE KL10 PI BOARDS.
   3913					;
   3914					; THIS SUBROUTINE READS THE KL10 PI BOARDS AND STORES THE STATUS IN
   3915					; A TWO WORD TABLE, ".PITAB", WHICH IS POINTED TO BY R0 ON SUCCESSFUL
   3916					; RETURN.
   3917					;
   3918					; WORD 0 OF ".PITAB" CONTAINS:
   3919					;
   3920					;	(A) PIH 1 THRU PIH 7 (BITS 14 THRU 08),
   3921					;	(B) PI ACTIVE (BIT 07),
   3922					;	(C) PI ON 1 THRU PI ON 7 (BITS 06 THRU 00).
   3923					;
   3924					; WORD 2 OF ".PITAB" CONTAINS:
   3925					;
   3926					;	(A) PI GEN 1 THRU PI GEN 7 (BITS 06 THRU 00).
   3927					;
   3928					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, NO OTHER REGISTERS
   3929					; ARE ALTERED BY THIS SUBROUTINE.
   3930					;
   3931					; ERROR CODES RETURNED:
   3932					;
   3933					;	FRF -- FUNCTION READ FAILED.
   3934					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 134
*.RDPI -- SUBROUTINE TO READ THE PI BOARDS* 7510.16

   3936	004654				.RDPI::
   3937	004654					PUSH	<R1,R2,R3>	; SAVE REGISTERS
	004654	010146 				MOV	R1,-(SP)
	004656	010246 				MOV	R2,-(SP)
	004660	010346 				MOV	R3,-(SP)
   3938	004662	012703 	000014'			MOV	#RDPITB,R3	; ...TABLE POINTER TO R3
   3939	004666	012702 	000010'			MOV	#.PITAB,R2	; ...SAVE AREA POINTER TO R2
   3940	004672				RDPI1:
   3941	004672	005001 				CLR	R1		; ...CLEAR R1
   3942	004674	012300 				MOV	(R3)+,R0	; ...FR CODE TO R0
   3943	004676					CALL	.FREAD		; ...READ IT
	004676	004737 	006472'			JSR	PC,.FREAD
   3944	004702	103411 				BCS	RDPIX		; ...ERROR IF C-BIT IS SET
   3945	004704	012301 				MOV	(R3)+,R1	; ...SHIFT COUNT TO R1
   3946	004706					CALL	KLLSHI		; ...SHIFT IT
	004706	004737 	007760'			JSR	PC,KLLSHI
   3947	004712	042310 				BIC	(R3)+,(R0)	; ...CLEAR UNWANTED BIT(S)
   3948	004714	011022 				MOV	(R0),(R2)+	; ...PUT IT IN SAVE AREA
   3949	004716	022703 	000030'			CMP	#RDPITE,R3	; ...ARE WE AT END OF TABLE?
   3950	004722	001363 				BNE	RDPI1		; ...BRANCH IF NOT
   3951	004724	011300 				MOV	(R3),R0		; ...POINT TO SAVE AREA
   3952	004726				RDPIX:
   3953	004726					POP	<R3,R2,R1>	; RESTORE REGISTERS
	004726	012603 				MOV	(SP)+,R3
	004730	012602 				MOV	(SP)+,R2
	004732	012601 				MOV	(SP)+,R1
   3954	004734					RETURN			; TO CALLER
	004734	000207 				RTS	PC
   3955
   3956	000010				.PSECT	TABLES
   3957
   3958	000010				.PITAB::
   3959	000010	000000 	000000 			.WORD	0,0		; 2 WORDS TO SAVE
   3960
   3961	000014				RDPITB:
   3962	000014	000200 				.WORD	FR.PI0		; FIRST READ CODE
   3963	000016	177756 				.WORD	-^D18		; SHIFT COUNT
   3964	000020	100000 				.WORD	BIT15		; MASK
   3965	000022	000202 				.WORD	FR.PI1		; SECOND READ CODE
   3966	000024	177756 				.WORD	-^D18		; SHIFT COUNT
   3967	000026	177600 				.WORD	177600		; MASK
   3968		000030'			RDPITE=.
   3969	000030	000010'				.WORD	.PITAB		; POINTER TO SAVE AREA
   3970
   3971	004736				.PSECT	; COMPRS
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 135
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05

   3973					.SBTTL	*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05
   3974
   3975					;+
   3976					; .RDCRA -- SUBROUTINE TO READ THE KL10 CRAM ADDR REGISTER.
   3977					; .RDCRL -- SUBROUTINE TO READ THE KL10 CRAM LOC REGISTER.
   3978					; .RDDRA -- SUBROUTINE TO READ THE KL10 DRAM ADDR REGISTER.
   3979					; .RDFER -- SUBROUTINE TO READ THE KL10 FLOATING EXPONENT REGISTER.
   3980					; .RDSCR -- SUBROUTINE TO READ THE KL10 SHIFT COUNT REGISTER.
   3981					; .RDSBR -- SUBROUTINE TO READ THE KL10 CRAM SUBROUTINE RETURN REGISTER.
   3982					;
   3983					; THESE SUBROUTINES READ THE CONTENT OF THE SPECIFIED REGISTER
   3984					; AND RETURN IT IN R0. NOTE THAT THE CONTENT OF EACH REGISTER IS LESS
   3985					; THAN 16 BITS AND MUST BE READ USING TWO FUNCTION READS.
   3986					;
   3987					; CALLING SEQUENCE IS:
   3988					;
   3989					;	CALL	.RDCRL		; READ CR LOC REGISTER
   3990					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   3991					;
   3992					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE OR THE CONTENT OF THE
   3993					; SPECIFIED REGISTER ON SUCCESS; OTHERWISE NO REGISTERS ARE ALTERED.
   3994					;
   3995					; ERROR CODES RETURNED:
   3996					;
   3997					;	FRF -- FUNCTION READ FAILED.
   3998					;-
   3999
   4000	004736				.RDCRA::
   4001	004736	012700 	005062'			MOV	#CRATAB,R0	; POINT TO CRAM ADDRESS TABLE
   4002	004742	000416 				BR	.RDSMR		; DO COMMON CODE
   4003	004744				.RDCRL::
   4004	004744	012700 	005076'			MOV	#CRLTAB,R0	; POINT TO CR LOC TABLE
   4005	004750	000413 				BR	.RDSMR		; DO COMMON CODE
   4006	004752				.RDDRA::
   4007	004752	012700 	005112'			MOV	#DRATAB,R0	; POINT TO DRAM ADDR TABLE
   4008	004756	000410 				BR	.RDSMR		; DO COMMON CODE
   4009	004760				.RDFER::
   4010	004760	012700 	005126'			MOV	#FERTAB,R0	; POINT TO FE TABLE
   4011	004764	000405 				BR	.RDSMR		; DO COMMON CODE
   4012	004766				.RDSBR::
   4013	004766	012700 	005142'			MOV	#SBRTAB,R0	; POINT TO CRAM SBR RET TABLE
   4014	004772	000402 				BR	.RDSMR		; DO COMMON CODE
   4015	004774				.RDSCR::
   4016	004774	012700 	005156'			MOV	#SCRTAB,R0	; POINT TO SHIFT COUNT TABLE
   4017									; FALL INTO COMMON CODE
   4018
   4019					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 136
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05

   4021	005000				.RDSMR::			; HERE FROM PREVIOUS PAGE
   4022	005000					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	005000	004537 	007214'			JSR	R5,REGSAV
   4023	005004	010005 				MOV	R0,R5		; POINTER TO R5
   4024	005006	005001 				CLR	R1		; CLEAR R1
   4025	005010	012500 				MOV	(R5)+,R0	; READ THE HIGH ORDER BITS
   4026	005012					CALL	.FREAD		; DO IT
	005012	004737 	006472'			JSR	PC,.FREAD
   4027	005016	103420 				BCS	RDSMRX		; ERROR IF C-BIT IS SET
   4028	005020	012501 				MOV	(R5)+,R1	; SHIFT COUNT TO R1
   4029	005022					CALL	KLLSHI		; SHIFT IT
	005022	004737 	007760'			JSR	PC,KLLSHI
   4030	005026	042510 				BIC	(R5)+,(R0)	; MASK OUT UNWANTED BITS
   4031	005030					PUSH	(R0)		; SAVE THE BITS
	005030	011046 				MOV	(R0),-(SP)
   4032	005032	012500 				MOV	(R5)+,R0	; .READ THE LOW ORDER BITS
   4033	005034					CALL	.FREAD		; .DO IT
	005034	004737 	006472'			JSR	PC,.FREAD
   4034	005040	103406 				BCS	RDSMRE		; .ERROR IF C-BIT IS SET
   4035	005042	012501 				MOV	(R5)+,R1	; .SHIFT COUNT TO R1
   4036	005044					CALL	KLLSHI		; .SHIFT IT
	005044	004737 	007760'			JSR	PC,KLLSHI
   4037	005050	042510 				BIC	(R5)+,(R0)	; .MASK OUT UNWANTED BITS
   4038	005052	051610 				BIS	(SP),(R0)	; .SET IN THE HIGH ORDER BITS
   4039	005054	011000 				MOV	(R0),R0		; .PUT IT IN R0
   4040	005056				RDSMRE:
   4041	005056	005226 				INC	(SP)+		; CLEAR THE STACK
   4042	005060				RDSMRX:
   4043	005060					RETURN			; TO CALLER
	005060	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 137
*.RDSMR -- SUBROUTINE TO READ SMALL KL10 REGISTERS 7511.05

   4045					; TABLES FOR SMALL REGISTER READS
   4046
   4047	005062				CRATAB:
   4048	005062	000312 				.WORD	FR.CA1		; FR FOR CRAM ADDR HIGH BITS
   4049	005064	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4050	005066	174077 				.WORD	174077		; BIT MASK FOR SAME
   4051	005070	000310 				.WORD	FR.CA2		; FR FOR CRAM ADDR LOW BITS
   4052	005072	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   4053	005074	177700 				.WORD	177700		; BIT MASK FOR SAME
   4054
   4055	005076				CRLTAB:
   4056	005076	000316 				.WORD	FR.CL1		; FR FOR CRAM LOC HIGH BITS
   4057	005100	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4058	005102	174077 				.WORD	174077		; BIT MASK FOR SAME
   4059	005104	000314 				.WORD	FR.CL2		; FR FOR CRAM LOC LOW BITS
   4060	005106	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   4061	005110	177700 				.WORD	177700		; BIT MASK FOR SAME
   4062
   4063	005112				DRATAB:
   4064	005112	000260 				.WORD	FR.DA1		; FR FOR DRAM ADDR HIGH BITS
   4065	005114	177764 				.WORD	-^D12		; SHIFT COUNT FOR SAME
   4066	005116	177077 				.WORD	177077		; BIT MASK FOR SAME
   4067	005120	000262 				.WORD	FR.DA2		; FR FOR DRAM ADDR LOW BITS
   4068	005122	177756 				.WORD	-^D18		; SHIFT COUNT FOR SAME
   4069	005124	177700 				.WORD	177700		; BIT MASK FOR SAME
   4070
   4071	005126				FERTAB:
   4072	005126	000266 				.WORD	FR.FE1		; FR FOR FE HIGH BITS
   4073	005130	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
   4074	005132	176037 				.WORD	176037		; BIT MASK FOR SAME
   4075	005134	000264 				.WORD	FR.FE2		; FR FOR FE LOW BITS
   4076	005136	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4077	005140	177740 				.WORD	177740		; BIT MASK FOR SAME
   4078
   4079	005142				SBRTAB:
   4080	005142	000306 				.WORD	FR.SR1		; FR FOR SBR RET HIGH BITS
   4081	005144	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4082	005146	174077 				.WORD	174077		; BIT MASK FOR SAME
   4083	005150	000304 				.WORD	FR.SR2		; FR FOR SBR RET LOW BITS
   4084	005152	177742 				.WORD	-^D30		; SHIFT COUNT FOR SAME
   4085	005154	177700 				.WORD	177700		; BIT MASK FOR SAME
   4086
   4087	005156				SCRTAB:
   4088	005156	000262 				.WORD	FR.SC1		; FR FOR SHIFT COUNT HIGH BITS
   4089	005160	177755 				.WORD	-^D19		; SHIFT COUNT FOR SAME
   4090	005162	177417 				.WORD	177417		; BIT MASK FOR SAME
   4091	005164	000260 				.WORD	FR.SC2		; FR FOR SHIFT COUNT LOW BITS
   4092	005166	177750 				.WORD	-^D24		; SHIFT COUNT FOR SAME
   4093	005170	177760 				.WORD	177760		; BIT MASK FOR SAME
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 138
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21

   4095					.SBTTL	*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21
   4096
   4097					;+
   4098					; .RDVPC -- SUBROUTINE TO READ THE KL10 PROGRAM COUNTER REGISTER
   4099					; .RDVAB -- SUBROUTINE TO READ THE KL10 ADDRESS BREAK REGISTER.
   4100					; .RDVMA -- SUBROUTINE TO READ THE KL10 VMA REGISTER.
   4101					; .RDVMH -- SUBROUTINE TO READ THE KL10 VMAH REGISTER.
   4102					;
   4103					; THESE SUBROUTINES READ AND ASSEMBLE THE DESIRED VMA BOARD REGISTER
   4104					; INTO A THREE WORD BLOCK POINTED TO BY R1 IN THE CALL.
   4105					;
   4106					; CALLING SEQUENCE IS:
   4107					;
   4108					;	MOV	#BUFADR,R1	; BUFFER ADDRESS FOR RETURNED REGISTER
   4109					;	CALL	.RDVXX		; READ THE REGISTER
   4110					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4111					;
   4112					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
   4113					; ARE PRESERVED ACROSS THE CALL.
   4114					;
   4115					; NOTE:
   4116					;
   4117					;	THE CALLING ROUTINE MUST STOP THE KL10 CLOCK TO READ THE VMA
   4118					;	REGISTERS.               -------------------
   4119					;
   4120					; ERROR CODES RETURNED:
   4121					;
   4122					;	IPE -- INTERNAL PROGRAM ERROR - NO BUFFER POINTER.
   4123					;	FRF -- FUNCTION READ FAILED.
   4124					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 139
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21

   4126	005172				.RDVPC::
   4127	005172	012700 	005344'			MOV	#PCTAB,R0	; POINTER TO PC TABLE
   4128	005176	000410 				BR	.RDVMR
   4129	005200				.RDVAB::
   4130	005200	012700 	005352'			MOV	#ABTAB,R0	; POINTER TO ADDRESS BREAK TABLE
   4131	005204	000405 				BR	.RDVMR
   4132	005206				.RDVMA::
   4133	005206	012700 	005360'			MOV	#VMATB,R0	; POINTER TO VMA TABLE
   4134	005212	000402 				BR	.RDVMR
   4135	005214				.RDVMH::
   4136	005214	012700 	005366'			MOV	#VMHTB,R0	; POINTER TO VMAH TABLE
   4137	005220				.RDVMR::
   4138	005220	005701 				TST	R1		; DID CALLER GIVE US AN ADDRESS?
   4139	005222	001444 				BEQ	RDVMRE		; NO (BARF) COMPLAIN
   4140	005224					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	005224	004537 	007214'			JSR	R5,REGSAV
   4141	005230	010005 				MOV	R0,R5		; TABLE POINTER TO R5
   4142	005232	012704 	000004 			MOV	#^D4,R4		; ITERATION COUNT TO R4
   4143	005236	010103 				MOV	R1,R3		; USER BUFFER ADDRESS TO R3
   4144	005240	012502 				MOV	(R5)+,R2	; FUNCTION READ BASE TO R2
   4145	005242					PUSH	(R5)+		; MASK WORD TO TOP OF THE STACK
	005242	012546 				MOV	(R5)+,-(SP)
   4146	005244	011505 				MOV	(R5),R5		; .SHIFT BASE TO R5
   4147	005246	010100 				MOV	R1,R0		; .CLEAR CALLER'S AREA
   4148	005250					CALL	KLCLR		; .SO
	005250	004737 	010220'			JSR	PC,KLCLR
   4149
   4150					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 140
*.RDVXX -- KL10 VMA BOARD READ SUBROUTINES* 7510.21

   4152	005254				RVMRL1:				; .GET HERE FROM .RDVXX, ABOVE
   4153	005254	010200 				MOV	R2,R0		; .SET THE FUNCTION READ NUMBER
   4154	005256	006300 				ASL	R0		; .TIMES 2
   4155	005260	005001 				CLR	R1		; .CLEAR R1
   4156	005262					CALL	.FREAD		; .READ IT
	005262	004737 	006472'			JSR	PC,.FREAD
   4157	005266	103420 				BCS	RDVMRX		; .ERROR IF C-BIT IS SET
   4158	005270	041620 				BIC	(SP),(R0)+	; .SP POINTS TO BIT MASK
   4159	005272	041610 				BIC	(SP),(R0)	; .R0 POINTS TO READ BLOCK
   4160	005274	005740 				TST	-(R0)		; .NOW BACK THE POINTER UP
   4161	005276	010501 				MOV	R5,R1		; .GET THE SHIFT COUNT INTO R1
   4162	005300					CALL	KLLSHI		; .AND SHIFT IT
	005300	004737 	007760'			JSR	PC,KLLSHI
   4163	005304	052023 				BIS	(R0)+,(R3)+	; .SET THE BITS IN THE USER BUFFER
   4164	005306	051013 				BIS	(R0),(R3)	; .SO
   4165	005310	005743 				TST	-(R3)		; .BACK CALLER'S POINTER UP
   4166	005312	122225 				CMPB	(R2)+,(R5)+	; .INCREMENT READ NUMBER AND SHIFT COUNT
   4167	005314					SOB	R4,RVMRL1	; .DO THIS FOUR TIMES
	005314	005304 				DEC	R4
	005316	001356 				BNE	RVMRL1
   4168	005320	042763 	177600 	000002 		BIC	#177600,2(R3)	; .GET RID OF BITS HIGHER THAN 13
   4169	005326	000241 				CLC			; .CLEAR THE C-BIT
   4170	005330				RDVMRX:
   4171	005330	005226 				INC	(SP)+		; CLEAR THE STACK
   4172	005332					RETURN			; RETURN TO CALLER
	005332	000207 				RTS	PC
   4173	005334				RDVMRE:
   4174	005334					ERROR$	IPE		; NO BUFFER ADDRESS
	005334	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	005336	035305 				.RAD50	/IPE/		; "IPE" ERROR CODE IN .RAD50
   4175	005340	000261 				SEC			; SET THE C-BIT
   4176	005342					RETURN			; TO CALLER
	005342	000207 				RTS	PC
   4177
   4178					; TABLES FOR VMA BOARD READS
   4179
   4180	005344				PCTAB:
   4181	005344	000150 				.WORD	FR.150/2	; BASE READ FOR PC REGISTER
   4182	005346	135673 				.WORD	135673		; BIT MASK   "  "     "
   4183	005350	177776 				.WORD	-^D2		; SHIFT CNT  "  "     "
   4184	005352				ABTAB:
   4185	005352	000150 				.WORD	FR.150/2	; BASE READ FOR ADDRESS BREAK REGISTER
   4186	005354	167356 				.WORD	167356		; BIT MASK   "	   "	  "	 "
   4187	005356	000000 				.WORD	0		; SHIFT CNT  "	   "	  "	 "
   4188	005360				VMATB:
   4189	005360	000154 				.WORD	FR.154/2	; BASE READ FOR VMA REGISTER
   4190	005362	135673 				.WORD	135673		; BIT MASK   "	 "     "
   4191	005364	177776 				.WORD	-^D2		; SHIFT CNT  "	 "     "
   4192	005366				VMHTB:
   4193	005366	000154 				.WORD	FR.154/2	; BASE READ FOR VMAH REGISTER
   4194	005370	167356 				.WORD	167356		; BIT MASK   "	 "	"
   4195	005372	000000 				.WORD	0		; SHIFT CNT  "	 "	"
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 141
*.RESET -- KL10 RESET SUBROUTINES* 7511.18

   4197					.SBTTL	*.RESET -- KL10 RESET SUBROUTINES* 7511.18
   4198
   4199					;+
   4200					; .RESET -- SUBROUTINE TO RESET THE KL10.
   4201					; .RESTD -- SUBROUTINE TO RESET THE DTE20.
   4202					; .RESTI -- SUBROUTINE TO RESET THE KL10 AND SET UP NORMAL
   4203					;	    KL10 CLOCK ENABLES AND PARITY STOPS.
   4204					; .RESTP -- SUBROUTINE TO RESET THE KL10 AND RESTORE THE
   4205					;	    PREVIOUS KL10 PARITY STOPS.
   4206					;
   4207					; THESE SUBROUTINES PERFORM ALL DIAGNOSTIC FUNCTIONS REQUIRED TO RESET
   4208					; THE KL10 MICROPROCESSOR AND SET UP CLOCK ENABLES AND PARITY STOPS
   4209					; AS WELL AS ALL FUNCTIONS REQUIRED TO RESET THE DTE20.
   4210					;
   4211					; SEQUENCE OF OPERATION:
   4212					;
   4213					; .RESTI:
   4214					;
   4215					;	(A) ".RESET" IS INVOKED,
   4216					;	(B) NORMAL KL10 CLOCKS ARE ENABLED,
   4217					;	(C) NORMAL KL10 PARITY STOPS ARE ENABLED.
   4218					;
   4219					; .RESTP:
   4220					;
   4221					;	(A) ".RESET" IS INVOKED.
   4222					;
   4223					; .RESET:
   4224					;
   4225					;	(A) THE DTE20 IS CLEARED,
   4226					;	(B) THE MASTER RESET SUBROUTINE IS INVOKED,
   4227					;	(C) THE MAJOR KL10 CONTROL REGISTERS ARE CLEARED
   4228					;	    (THIS IS A FULL KL10 MASTER RESET).
   4229					;
   4230					; .RESTD:
   4231					;
   4232					;	(A) THE DTE20 IS CLEARED.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 142
*.RESET -- KL10 RESET SUBROUTINES* 7511.18

   4234					; CALLING SEQUENCE IS:
   4235					;
   4236					;	CALL	.RESET		; RESET THE KL10
   4237					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4238					;
   4239					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE,
   4240					; ALL OTHER REGISTERS ARE PRESERVED.
   4241					;
   4242					;
   4243					; ERROR CODES RETURNED:
   4244					;
   4245					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   4246					;	CCS -- KL10 CLOCK CAN'T START.
   4247					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   4248					;	DSF -- DTE20 STATUS FAILURE.
   4249					;	FRF -- FUNCTION READ FAILED.
   4250					;	FWF -- FUNCTION WRITE FAILED.
   4251					;	FXF -- FUNCTION EXECUTE FAILED.
   4252					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 143
*.RESET -- KL10 RESET SUBROUTINES* 7511.18

   4254	005374				.RESET::
   4255	005374					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	005374	004537 	007214'			JSR	R5,REGSAV
   4256	005400					CALL	.RESTD		; RESET THE DTE20
	005400	004737 	005650'			JSR	PC,.RESTD
   4257	005404	103437 				BCS	RESETX		; ERROR IF C-BIT IS SET
   4258	005406	012705 	005506'			MOV	#RESETT,R5	; FUNCTION TABLE POINTER TO R5
   4259	005412					CALL	.STPXC		; STOP THE KL10 CLOCK
	005412	004737 	005734'			JSR	PC,.STPXC
   4260	005416	103432 				BCS	RESETX		; ERROR IF C-BIT IS SET
   4261	005420	012701 	000212'			MOV	#CPTMP,R1	; POINT TO TEMP BUFFER
   4262	005424	005011 				CLR	(R1)		; CLEAR IT
   4263	005426					CALL	.LDCLK		; CLEAR THE CLOCKS OUT
	005426	004737 	003074'			JSR	PC,.LDCLK
   4264	005432	103424 				BCS	RESETX		; ERROR IF C-BIT IS SET
   4265	005434					CALL	.LDPAR		; RESET THE PARITY REGISTERS
	005434	004737 	003112'			JSR	PC,.LDPAR
   4266	005440	103421 				BCS	RESETX		; ERROR IF C-BIT IS SET
   4267	005442					CALL	.MRCLR		; DO MASTER RESET STUFF
	005442	004737 	003320'			JSR	PC,.MRCLR
   4268	005446	103416 				BCS	RESETX		; ERROR IF C-BIT IS SET
   4269	005450					CALL	.CLDFB		; CLEAR THE FUNCTION BUFFERS
	005450	004737 	007130'			JSR	PC,.CLDFB
   4270	005454				RESET1:
   4271	005454	005001 				CLR	R1		; CLEAR R1
   4272	005456	112500 				MOVB	(R5)+,R0	; FUNCTION WRITE CODE TO R0
   4273	005460					CALL	.FWRIT		; DO THE WRITE
	005460	004737 	006566'			JSR	PC,.FWRIT
   4274	005464	103407 				BCS	RESETX		; ERROR IF C-BIT IS SET
   4275	005466	022705 	005514'			CMP	#RSTEND,R5	; ARE WE CLOSE TO END?
   4276	005472	101370 				BHI	RESET1		; NOT YET
   4277	005474	112510 				MOVB	(R5)+,(R0)	; DATA
   4278	005476	111500 				MOVB	(R5),R0		; FOR LAST WRITE
   4279	005500					CALL	.FWRIT		; DO IT
	005500	004737 	006566'			JSR	PC,.FWRIT
   4280	005504				RESETX:
   4281	005504					RETURN			; TO CALLER
	005504	000207 				RTS	PC
   4282
   4283					; TABLE OF FUNCTION WRITE CODES FOR RESET
   4284
   4285	005506				RESETT:
   4286	005506	   104 				.BYTE	FW.LBR		; CLEAR BURST COUNTER - RIGHT
   4287	005507	   106 				.BYTE	FW.LBL		; CLEAR BURST COUNTER - LEFT
   4288	005510	   124 				.BYTE	FW.CA2		; CLEAR CRAM DIAG ADDR - LEFT
   4289	005511	   122 				.BYTE	FW.CA1		; CLEAR CRAM DIAG ADDR - RIGHT
   4290	005512	   156 				.BYTE	FW.KLO		; ENABLE KL10 OPCODES
   4291	005513	   174 				.BYTE	FW.EBL		; EBUS LOAD
   4292		005514'			RSTEND=.
   4293	005514	   012 				.BYTE	12		; DATA FOR
   4294	005515	   162 				.BYTE	FW.MBX		; MBOX CONTROL
   4295					.EVEN
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 144
*.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511

   4297					.SBTTL	*.RSETI -- RESET KL10 AND ENABLE NORMAL CLOCK AND PARITY* 7511.19
   4298
   4299					; HERE TO RESET THE KL10 AND SET UP NORMAL CLOCKS AND PARITY STOPS
   4300
   4301	005516				.RESTI::
   4302	005516					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	005516	004537 	007214'			JSR	R5,REGSAV
   4303	005522					CALL	.RESET		; RESET THE KL10
	005522	004737 	005374'			JSR	PC,.RESET
   4304	005526	103411 				BCS	RESTIX		; ERROR IF C-BIT IS SET
   4305	005530	012701 	000210'			MOV	#CLKNRM,R1	; POINT TO NORMAL CLOCK ENABLES
   4306	005534					CALL	.LDCLK		; SET THEM
	005534	004737 	003074'			JSR	PC,.LDCLK
   4307	005540	103404 				BCS	RESTIX		; ERROR IF C-BIT IS SET
   4308	005542	012701 	000216'			MOV	#PARNRM,R1	; POINT TO NORMAL PARITY ENABLES
   4309	005546					CALL	.LDPAR		; SET THEM
	005546	004737 	003112'			JSR	PC,.LDPAR
   4310	005552				RESTIX:
   4311	005552					RETURN			; TO CALLER
	005552	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 145
*.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.

   4313					.SBTTL	*.RESTP -- RESET KL10 AND SAVE CURRENT CLOCK AND PARITY* 7511.19
   4314
   4315					; HERE TO RESET THE KL10 AND RESTORE CURRENT PARITY STOPS
   4316
   4317	005554				.RESTP::
   4318	005554					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	005554	004537 	007214'			JSR	R5,REGSAV
   4319	005560					CALL	.STPXC		; STOP THE KL10 CLOCK
	005560	004737 	005734'			JSR	PC,.STPXC
   4320	005564	103430 				BCS	RESTPE		; ERROR IF C-BIT IS SET
   4321	005566					CALL	.RDCPP		; READ CURRENT CLOCK AND PARITY ENABLES
	005566	004737 	003646'			JSR	PC,.RDCPP
   4322	005572	103425 				BCS	RESTPE		; ERROR IF C-BIT IS SET
   4323	005574					PUSH	<.PSCWD,.CLKWD>	; SAVE CURRENT CLOCK AND PARITY CONTROL
	005574	013746 	000204'			MOV	.PSCWD,-(SP)
	005600	013746 	000200'			MOV	.CLKWD,-(SP)
   4324	005604					CALL	.RESET		; ..DO A MASTER RESET
	005604	004737 	005374'			JSR	PC,.RESET
   4325	005610	103414 				BCS	RESTPX		; ..ERROR IF C-BIT IS SET
   4326	005612	012701 	000212'			MOV	#CPTMP,R1	; ..POINT TO CLOCK AND PARITY WORD
   4327	005616	011637 	000212'			MOV	(SP),CPTMP	; ..GET THE CLOCK WORD OFF THE STACK
   4328	005622					CALL	.LDCLK		; ..RELOAD THE CLOCK REGISTERS
	005622	004737 	003074'			JSR	PC,.LDCLK
   4329	005626	103405 				BCS	RESTPX		; ..ERROR IF C-BIT IS SET
   4330	005630	016637 	000002 	000212'		MOV	2(SP),CPTMP	; ..NOW THE PARITY WORD
   4331	005636					CALL	.LDPAR		; ..RELOAD THE PARITY ENABLES
	005636	004737 	003112'			JSR	PC,.LDPAR
   4332	005642				RESTPX:
   4333	005642	005226 				INC	(SP)+		; .FIX UP THE STACK
   4334	005644	005226 				INC	(SP)+		; FOR THE RETURN
   4335	005646				RESTPE:
   4336	005646					RETURN			; AND GO AWAY
	005646	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 146
*.RESTD -- RESET THE DTE-20* 7511.19

   4338					.SBTTL	*.RESTD -- RESET THE DTE-20* 7511.19
   4339
   4340					; HERE TO RESET THE DTE20
   4341
   4342	005650				.RESTD::
   4343					.IF EQ $RSXSW
   4344						MOV	D2RST,@#174432
   4345					;	MOV	STRST,@#174434
   4346						MOV	D3RST,@#174436
   4347					.IFF
   4348	005650	012700 	005674'			MOV	#D2RST,R0	; DIAG WORD 2 RESET
   4349	005654					CALL	.DWDW2		; WRITE IT
	005654	004737 	000430'			JSR	PC,.DWDW2
   4350	005660	103404 				BCS	RESTDX		; ERROR IF C-BIT IS SET
   4351					;	MOV	#STRST,R0	; CLEAR THE STATUS WORD
   4352					;	CALL	.DWSTA		; DO IT
   4353					;	BCS	RESTDX		; ERROR IF C-BIT IS SET
   4354	005662	012700 	005676'			MOV	#D3RST,R0	; DIAG WORD 3 RESET
   4355	005666					CALL	.DWDW3		; WRITE IT
	005666	004737 	000450'			JSR	PC,.DWDW3
   4356					.IFTF
   4357	005672				RESTDX:
   4358	005672					RETURN			; TO CALLER
	005672	000207 				RTS	PC
   4359	005674				D2RST:
   4360	005674	000100 				.WORD	D2.RST		; DIAG WORD 2 RESET
   4361					;STRST:
   4362					;	.WORD	ST.RST		; STATUS RESET
   4363	005676				D3RST:
   4364	005676	000001 				.WORD	D3.RST		; DIAG WORD 3 RESET
   4365
   4366					.ENDC				; ON $RSXSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 147
*.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12

   4368					.SBTTL	*.STCLK -- START KL10 CLOCK SUBROUTINE* 7509.12
   4369
   4370					;+
   4371					; .STCLK -- SUBROUTINE TO START THE KL10 CLOCK.
   4372					;
   4373					; THIS SUBROUTINE WILL START THE KL10 CLOCK.
   4374					;
   4375					; CALLING SEQUENCE IS:
   4376					;
   4377					;	CALL	.STCLK		; START THE KL10 CLOCK
   4378					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4379					;
   4380					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
   4381					; ARE PRESERVED ACROSS THE CALL.
   4382					;
   4383					; ERROR CODES RETURNED:
   4384					;
   4385					;	CES -- CLOCK ERROR STOP.
   4386					;	CCS -- KL10 CLOCK CAN'T START.
   4387					;-
   4388
   4389	005700				.STCLK::
   4390	005700	000241 				CLC			; CLEAR THE C-BIT
   4391	005702					CALL	.CESCK		; CHECK FOR CLOCK ERROR STOP
	005702	004737 	000300'			JSR	PC,.CESCK
   4392	005706	103411 				BCS	STRCEX		; ERROR IF C-BIT SET
   4393	005710					PUSH	R0		; SAVE R0
	005710	010046 				MOV	R0,-(SP)
   4394	005712	012700 	000002 			MOV	#FX.CST,R0	; .SET UP TO START THE KL10 CLOCK
   4395	005716					CALL	.FXCT		; .DO IT
	005716	004737 	006666'			JSR	PC,.FXCT
   4396	005722	103002 				BCC	STRCXX		; .ALL OK IF C-BIT IS CLEAR
   4397	005724					ERROR$	CCS,(SP)	; .CLOCK CAN'T START
	005724	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	005726	011513 				.RAD50	/CCS/		; "CCS" ERROR CODE IN .RAD50
   4398	005730				STRCXX:
   4399	005730					POP	R0		; RESTORE R0
	005730	012600 				MOV	(SP)+,R0
   4400	005732				STRCEX:
   4401	005732					RETURN			; RETURN TO CALLER
	005732	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 148
*.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09

   4403					.SBTTL	*.STPXC -- STOP KL10 CLOCK SUBROUTINE* 7601.09
   4404
   4405					;+
   4406					; .STPXC -- SUBROUTINE TO STOP THE KL10 CLOCK.
   4407					;
   4408					; THIS SUBROUTINE STOPS THE KL10 CLOCK.
   4409					;
   4410					; CALLING SEQUENCE IS:
   4411					;
   4412					;	CALL	.SPTXC		; STOP THE KL10 CLOCK
   4413					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4414					;
   4415					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
   4416					; ARE PRESERVED ACCROSS THE CALL.
   4417					;
   4418					; ERROR CODES RETURNED:
   4419					;
   4420					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   4421					;-
   4422
   4423	005734				.STPXC::
   4424	005734	000241 				CLC			; CLEAR THE C-BIT
   4425	005736					WTSE$S	#CF.HTO		; WAIT FOR KL10 I/O TO SETTLE FROM ".CLRFF"
	005736	012746 	000001 			MOV	#CF.HTO,-(SP)
	005742	012746 				MOV	(PC)+,-(SP)
	005744	   051 	   002 			.BYTE	41.,2
	005746	104375 				EMT	375
   4426	005750					PUSH	R0		; SAVE R0
	005750	010046 				MOV	R0,-(SP)
   4427	005752	005000 				CLR	R0		; .SET UP TO STOP THE KL10 CLOCK
   4428									; .FUNCTION CODE IS ZERO
   4429	005754					CALL	.FXCT		; .DO IT
	005754	004737 	006666'			JSR	PC,.FXCT
   4430	005760	103002 				BCC	STPCXX		; .ALL OK IF C-BIT IS CLEAR
   4431	005762				STPXCX:
   4432	005762					ERROR$	CCC,(SP)	; .CAN'T CLEAR CLOCK
	005762	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	005764	011473 				.RAD50	/CCC/		; "CCC" ERROR CODE IN .RAD50
   4433	005766				STPCXX:
   4434	005766					POP	R0		; RESTORE R0
	005766	012600 				MOV	(SP)+,R0
   4435	005770					RETURN			; AND GO AWAY
	005770	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 149
*.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09

   4437					.SBTTL	*.STRUN -- SET KL10 RUN FLOP SUBROUTINE* 7601.09
   4438
   4439					;+
   4440					; .STRUN -- SUBROUTINE TO SET THE KL10 RUN FLOP.
   4441					;
   4442					; THIS SUBROUTINE SETS THE KL10 RUN FLOP.
   4443					;
   4444					; CALLING SEQUENCE IS:
   4445					;
   4446					;	CALL	.STRUN		; SET THE KL10 RUN FLOP
   4447					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4448					;
   4449					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
   4450					; ARE PRESERVED ACROSS THE CALL.
   4451					;
   4452					; ERROR CODES RETURNED:
   4453					;
   4454					;	CSR -- CAN'T SET KL10 RUN FLOP.
   4455					;-
   4456
   4457	005772				.STRUN::
   4458	005772	000241 				CLC			; CLEAR THE C-BIT
   4459	005774					PUSH	R0		; SAVE R0
	005774	010046 				MOV	R0,-(SP)
   4460	005776	012700 	000022 			MOV	#FX.SRF,R0	; .SET UP TO SET KL10 RUN FLOP
   4461	006002					CALL	.FXCT		; .DO IT
	006002	004737 	006666'			JSR	PC,.FXCT
   4462	006006	103002 				BCC	STRFEX		; .ALL OK IF C-BIT IS CLEAR
   4463	006010				STRUNX:
   4464	006010					ERROR$	CSR,(SP)	; .CAN'T SET RUN
	006010	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	006012	012712 				.RAD50	/CSR/		; "CSR" ERROR CODE IN .RAD50
   4465	006014				STRFEX:
   4466	006014					POP	R0		; RESTORE R0
	006014	012600 				MOV	(SP)+,R0
   4467	006016					RETURN
	006016	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 150
*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22

   4469					.SBTTL	*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22
   4470
   4471					;+
   4472					; .STUCD -- SUBROUTINE TO START THE KL10 MICROCODE AT THE
   4473					;	    ADDRESS SPECIFIED IN R0.
   4474					;
   4475					; SEQUENCE OF OPERATION:
   4476					;
   4477					;	(A) THE KL10 RUN FLOP IS CLEARED,
   4478					;	(B) THE KL10 RUN FLOP IS TURNED OFF,
   4479					;	(C) THE KL10 IS CLEARED,
   4480					;	(D) THE CRAM ADDRESS IS LOADED,
   4481					;	(E) THE KL10 CLOCK IS RESTARTED.
   4482					;
   4483					; THE SUBROUTINE EXITS WHEN THE KL10 HAS FOUND THE HALT LOOP.
   4484					; IF THE HALT LOOP IS NOT FOUND, AN ERROR RETURN IS GIVEN.
   4485					;
   4486					; CALLING SEQUENCE IS:
   4487					;
   4488					;	MOV	#ADDR,R0	; CRAM ADDRESS TO R0
   4489					;	CALL	.STUCD		; START THE MICROCODE AT ADDRESS
   4490					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4491					;
   4492					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0 IS
   4493					; CLOBBERED AND ALL OTHER REGISTERS UNCHANGED.
   4494					;
   4495					; ERROR CODES RETURNED:
   4496					;
   4497					;	CAE -- CRAM ADDRESS ERROR.
   4498					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   4499					;	CSR -- CAN'T SET KL10 RUN FLOP.
   4500					;	FRF -- FUNCTION READ FAILED.
   4501					;	FWF -- FUNCTION WRITE FAILED.
   4502					;	FXF -- FUNCTION EXECUTE FAILED
   4503					;	UNL -- UCODE NOT LOADED.
   4504					;
   4505					; NOTE:
   4506					;
   4507					;	THE NORMAL CRAM STARTING ADDRESS IS 0. ATTEMPTING TO
   4508					;	START THE CONTROL RAM AT AN ADDRESS OTHER THAN 0 CAN
   4509					;	PRODUCE STRANGE RESULTS. CAVEAT PROGRAMMATOR (OPERATOR).
   4510					;	CONSIDER YOURSELF WARNED.
   4511					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 151
*.STUCD -- START KL10 MICROCODE SUBROUTINE* 7511.22

   4513	006020				.STUCD::
   4514	006020					CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
	006020	004537 	007214'			JSR	R5,REGSAV
   4515	006024	020027 	002377 			CMP	R0,#2377	; IS IT IN RANGE?
   4516	006030	101050 				BHI	STUCAE		; BRANCH IF NOT
   4517	006032					PUSH	R0		; SAVE THE ADDRESS ON THE STACK
	006032	010046 				MOV	R0,-(SP)
   4518	006034	042737 	000200 	000000G		BIC	#KF.UCS,.KLFLG	; .CLEAR THE UCODE STARTED FLAG
   4519	006042					CALL	.CLRFF		; .CLEAR THE KL10 RUN FLOP
	006042	004737 	000366'			JSR	PC,.CLRFF
   4520	006046	103437 				BCS	STUCDX		; .ERROR IF C-BIT IS SET
   4521	006050					CALL	.STPXC		; .STOP THE KL10 CLOCK
	006050	004737 	005734'			JSR	PC,.STPXC
   4522	006054	103434 				BCS	STUCDX		; .ERROR IF C-BIT IS SET
   4523	006056	011600 				MOV	(SP),R0		; .CRAM ADDRESS TO R0
   4524	006060					CALL	.LDCRA		; .LOAD IT
	006060	004737 	003200'			JSR	PC,.LDCRA
   4525	006064	103430 				BCS	STUCDX		; .ERROR IF C-BIT IS SET
   4526	006066					CALL	.STCLK		; .START THE KL10 CLOCK
	006066	004737 	005700'			JSR	PC,.STCLK
   4527	006072	103425 				BCS	STUCDX		; .ERROR IF C-BIT IS SET
   4528	006074	012701 	000310 			MOV	#^D200,R1	; .SETUP WAIT LOOP
   4529	006100				STUCD1:
   4530	006100					CALL	.DTDW1		; .READ DTE20 DIAG WORD 1
	006100	004737 	000476'			JSR	PC,.DTDW1
   4531	006104	103002 				BCC	STUCD3		; .ALL OK IF C-BIT IS CLEAR
   4532	006106	010016 				MOV	R0,(SP)		; .ERROR CODE TO CALLER'S R0
   4533	006110	000416 				BR	STUCDX		; .LEAVE
   4534	006112				STUCD3:
   4535	006112	032700 	001000 			BIT	#D1.HLP,R0	; .ARE WE IN THE HALT LOOP?
   4536	006116	001002 				BNE	STUCD2		; .YES, EXIT
   4537	006120					SOB	R1,STUCD1	; .NO TRY TILL COUNT EXHAUSTED
	006120	005301 				DEC	R1
	006122	001366 				BNE	STUCD1
   4538	006124				STUCD2:
   4539	006124	005701 				TST	R1		; .DID COUNT GET EXHAUSTED?
   4540	006126	101004 				BHI	STUCEX		; .NO, WE WON
   4541	006130					ERROR$	UNL,(SP)	; .UCODE NOT LOADED
	006130	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	006132	102574 				.RAD50	/UNL/		; "UNL" ERROR CODE IN .RAD50
   4542	006134	000261 				SEC			; .SET THE C-BIT
   4543	006136	000403 				BR	STUCDX		; .LEAVE
   4544	006140				STUCEX:
   4545	006140	052737 	000200 	000000G		BIS	#KF.UCS,.KLFLG	; .SET THE UCODE STARTED FLAG
   4546	006146				STUCDX:
   4547	006146					POP	R0		; RESTORE R0
	006146	012600 				MOV	(SP)+,R0
   4548	006150					RETURN			; TO CALLER
	006150	000207 				RTS	PC
   4549	006152				STUCAE:
   4550	006152	000137 	004064'			JMP	RDCRME		; LET THE READ ROUTINE HANDLE ERROR
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 152
*.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03

   4552					.SBTTL	*.SYNXC -- SYNCH EBOX CLOCK SUBROUTINE* 7509.03
   4553
   4554					;+
   4555					; .SYNXC -- SUBROUTINE TO SYNCH THE EBOX CLOCK LOW.
   4556					;
   4557					; THIS SUBROUTINE SYNCHS THE KL10 EBOX CLOCK LOW AND MAINTAINS
   4558					; THE CLOCK SYNCHED FLAG ("KF.EMS") IN ".KLFLG".
   4559					;
   4560					; CALLING SEQUENCE IS:
   4561					;
   4562					;	CALL	.SYNXC		; SYNCH THE EBOX CLOCK
   4563					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4564					;
   4565					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER REGISTERS
   4566					; ARE PRESERVED ACROSS THE CALL.
   4567					;
   4568					; ERROR CODES RETURNED:
   4569					;
   4570					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   4571					;-
   4572
   4573	006156				.SYNXC::
   4574	006156	000241 				CLC			; CLEAR THE C-BIT
   4575	006160					PUSH	R0		; SAVE R0
	006160	010046 				MOV	R0,-(SP)
   4576	006162	012700 	000010 			MOV	#FX.SYC,R0	; .SET UP TO SYNCH EBOX CLOCK
   4577	006166					CALL	.FXCT		; .DO IT
	006166	004737 	006666'			JSR	PC,.FXCT
   4578	006172	103404 				BCS	SYNXCX		; .ERROR IF C-BIT IS SET
   4579	006174	052737 	040000 	000000G		BIS	#KF.EMS,.KLFLG	; .SET THE FLAG
   4580	006202	000402 				BR	SYNCEX		; .AND EXIT
   4581	006204				SYNXCX:
   4582	006204					ERROR$	CSC,(SP)	; .CAN'T SYNCH CLOCK
	006204	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	006206	012673 				.RAD50	/CSC/		; "CSC" ERROR CODE IN .RAD50
   4583	006210				SYNCEX:
   4584	006210					POP	R0		; RESTORE R0
	006210	012600 				MOV	(SP)+,R0
   4585	006212				SYNCXX:
   4586	006212					RETURN
	006212	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 153
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4588					.SBTTL	*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09
   4589
   4590					;+
   4591					; .FRTRK -- SUBROUTINE TO TRACK A FUNCTION READ.
   4592					; .FWTRK -- SUBROUTINE TO TRACK A FUNCTION WRITE.
   4593					; .FXTRK -- SUBROUTINE TO TRACK A FUNCTION EXECUTE.
   4594					;
   4595					; THESE SUBROUTINES TRACK A FUNCTION READ, WRITE, OR EXECUTE
   4596					; BY DISPLAYING THE FUNCTION CODE AND THE CONTENT OF THE BUFFER
   4597					; ON THE FRONT END OUTPUT DEVICE.
   4598					;
   4599					; THESE SUBROUTINES ARE CALLED INTERNALLY AND ARE DEPENDENT UPON THE
   4600					; STATE OF THE SWITCHES IN ".TRKWD".
   4601					;
   4602					; THE ".TRKWD" SWITCHES ARE TURNED ON OR OFF BY THE "SET" AND
   4603					; "CLEAR TRACK" COMMANDS, RESPECTIVELY.
   4604					;
   4605					; NO REGISTERS ARE ALTERED BY THESE SUBROUTINES.
   4606					;
   4607					; ERROR CODES RETURNED:
   4608					;
   4609					;	KLN -- KL10 NUMBER OUT OF RANGE.
   4610					;-
   4611
   4612	006214				.FRTRK::
   4613	006214					PUSH	R0		; SAVE R0 ON THE STACK
	006214	010046 				MOV	R0,-(SP)
   4614	006216					PUSH	.KLDFR+2	; .SAVE THE FR CODE TOO
	006216	013746 	007266'			MOV	.KLDFR+2,-(SP)
   4615	006222					PUSH	#.DFRB		; ..AND THE BUFFER ADDRESS
	006222	012746 	000040'			MOV	#.DFRB,-(SP)
   4616	006226	012700 	006366'			MOV	#TFRMSG,R0	; ...MESSAGE POINTER TO R0
   4617	006232	000416 				BR	.TRACK		; ...DO THE TRACKING
   4618	006234				.FWTRK::
   4619	006234					PUSH	R0		; SAVE R0 ON THE STACK
	006234	010046 				MOV	R0,-(SP)
   4620	006236					PUSH	.KLDFW+2	; .SAVE THE FW CODE
	006236	013746 	007300'			MOV	.KLDFW+2,-(SP)
   4621	006242					PUSH	#.DFWB		; ..AND THE BUFFER ADDRESS
	006242	012746 	000032'			MOV	#.DFWB,-(SP)
   4622	006246	012700 	006403'			MOV	#TFWMSG,R0	; ...MESSAGE POINTER TO R0
   4623	006252	000406 				BR	.TRACK		; ...GO TRACK IT
   4624	006254				.FXTRK::
   4625	006254					PUSH	R0		; SAVE R0 ON THE STACK
	006254	010046 				MOV	R0,-(SP)
   4626	006256					PUSH	.KLDFX+2	; .SAVE THE FX CODE
	006256	013746 	007254'			MOV	.KLDFX+2,-(SP)
   4627	006262	005046 				CLR	-(SP)		; ..NO BUFFER ADDRESS
   4628	006264	012700 	006420'			MOV	#TFXMSG,R0	; ...MESSAGE POINTER TO R0
   4629									; ...AND FALL INTO COMMON CODE
   4630
   4631					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 154
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4633					; THIS IS THE COMMON TRACKING CODE CONTINUED FROM PREVIOUS PAGE
   4634
   4635	006270				.TRACK::
   4636	006270	012737 	177777 	011706'		MOV	#-^D1,.LDZER	; ...PRINT LEADING ZEROES
   4637	006276					CALL	TYPASZ		; ...PRINT THE MESSAGE
	006276	004737 	016540'			JSR	PC,TYPASZ
   4638	006302	016600 	000002 			MOV	2(SP),R0	; ...GET THE FUNCTION CODE
   4639	006306	000300 				SWAB	R0		; ...SWAP THE BYTES
   4640	006310	042700 	177400 			BIC	#177400,R0	; ...FLUSH JUNK FROM HIGH BYTE
   4641	006314	006200 				ASR	R0		; ...DIVIDE IT BY 2
   4642	006316					CALL	TY3D		; ...TYPE THAT
	006316	004737 	015626'			JSR	PC,TY3D
   4643	006322	011600 				MOV	(SP),R0		; ...BUFFER ADDRESS?
   4644	006324	001407 				BEQ	TRACKX		; ...BRANCH IF NOT
   4645	006326					CALL	TYPSLS		; ...ELSE TYPE A SLASH AND
	006326	004737 	016524'			JSR	PC,TYPSLS
   4646	006332					CALL	TYPTAB		; ...TYPE A <TAB> AND
	006332	004737 	016516'			JSR	PC,TYPTAB
   4647	006336					CALL	KLNTYP		; ...TYPE ITS CONTENT
	006336	004737 	016540'			JSR	PC,KLNTYP
   4648	006342	103406 				BCS	TRACKQ		; ...ERROR IF C-BIT IS SET
   4649	006344				TRACKX:
   4650	006344					CALL	TYCRLF		; ...NOW A <CRLF>
	006344	004737 	016500'			JSR	PC,TYCRLF
   4651	006350	022626 				CMP	(SP)+,(SP)+	; .GET RID OF BUFFER POINTER AND CODE
   4652	006352					POP	R0		; RESTORE R0
	006352	012600 				MOV	(SP)+,R0
   4653	006354	000241 				CLC			; CLEAR THE C-BIT
   4654	006356					RETURN			; AND GO AWAY
	006356	000207 				RTS	PC
   4655	006360				TRACKQ:
   4656	006360	022626 				CMP	(SP)+,(SP)+	; .GET RID OF BUFFER POINTER AND CODE
   4657	006362					POP	R0		; RESTORE R0
	006362	012600 				MOV	(SP)+,R0
   4658	006364					RETURN			; AND GO AWAY
	006364	000207 				RTS	PC
   4659	006366				TFRMSG:
   4660	006366	   011 	   124 	   122 		.ASCIZ	%	TRACK > FR %
	006371	   101 	   103 	   113
	006374	   040 	   076 	   040
	006377	   106 	   122 	   040
	006402	   000
   4661	006403				TFWMSG:
   4662	006403	   011 	   124 	   122 		.ASCIZ	%	TRACK > FW %
	006406	   101 	   103 	   113
	006411	   040 	   076 	   040
	006414	   106 	   127 	   040
	006417	   000
   4663	006420				TFXMSG:
   4664	006420	   011 	   124 	   122 		.ASCIZ	%	TRACK > FX %
	006423	   101 	   103 	   113
	006426	   040 	   076 	   040
	006431	   106 	   130 	   040
	006434	   000
   4665					.EVEN
   4666
   4667					.IF NE $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 155
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4669					.SBTTL	*.WRCRM -- WRITE CONTROL RAM SUBROUTINE* 7511.03
   4670
   4671					;+
   4672					; .WRCRM -- SUBROUTINE TO WRITE A LOCATION IN THE KL10 CONTROL RAM.
   4673					;
   4674					; THIS SUBROUTINE WILL WRITE ONE LOCATION IN THE KL10 CONTROL RAM.
   4675					; THE CRAM ADDRESS TO BE WRITTEN IS SPECIFIED IN R0.
   4676					;
   4677					; SEQUENCE OF OPERATION:
   4678					;
   4679					;	(A) THE KL10 IS HALTED IN THE HALT LOOP,
   4680					;	(B) THE CONTROL RAM ADDRESS IS LOADED,
   4681					;	(C) THE CONTENT OF THAT CRAM ADDRESS IS WRITTEN.
   4682					;
   4683					; CALLING SEQUENCE IS:
   4684					;
   4685					;	MOV	#ADDR,R0	; CRAM ADDRESS TO R0
   4686					;	MOV	#BUFADR,R1	; BUFFER ADDRESS TO R1
   4687					;	CALL	.WRCRM		; WRITE THE CRAM
   4688					;	BCS	ERROR		; ERROR IF  C-BIT IS SET
   4689					;
   4690					; R0 MUST CONTAIN THE CRAM ADDRESS TO BE WRITTEN.
   4691					; R1 MUST POINT TO A NINE WORD BLOCK TO BE WRITTEN.
   4692					;
   4693					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, ALL OTHER
   4694					; REGISTERS ARE UNCHANGED.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 156
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4696					; THE FOLLOWING IS A PICTURE OF THRE DATA WRITTEN BY THIS SUBROUTINE:
   4697					;
   4698					;	WORD		CRAM DATA
   4699					;	----		---------
   4700					;		!==================================!
   4701					;	00	!	CRAM BITS 68 THRU 78	   !
   4702					;		!----------------------------------!
   4703					;	01	!	CRAM BITS 60 THRU 66       !
   4704					;		!----------------------------------!
   4705					;	02	!	CRAM BITS 48 THRU 59	   !
   4706					;		!----------------------------------!
   4707					;	03	!	CRAM BITS 40 THRU 47	   !
   4708					;		!----------------------------------!
   4709					;	04	!	CRAM BITS 28 THRU 39	   !
   4710					;		!----------------------------------!
   4711					;	05	!	CRAM BITS 20 THRU 27	   !
   4712					;		!----------------------------------!
   4713					;	06	!	CRAM BITS 08 THRU 19	   !
   4714					;		!----------------------------------!
   4715					;	07	!	CRAM BITS 00 THRU 07	   !
   4716					;		!----------------------------------!
   4717					;	08	!    CRAM DISP BITS 00 THRU 04	   !
   4718					;		!==================================!
   4719					;
   4720					; ERROR CODES RETURNED:
   4721					;
   4722					;	CAE -- CRAM ADDRESS ERROR.
   4723					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   4724					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   4725					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   4726					;	FRF -- FUNCTION READ FAILED.
   4727					;	FWF -- FUNCTION WRITE FAILED.
   4728					;	FXF -- FUNCTION EXECUTE FAILED.
   4729					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 157
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4731					.WRCRM::
   4732						CALL	R5,REGSAV	; SAVE R5 - R1 ON THE STACK
   4733						CMP	R0,#2377	; IS THE ADDRESS IN RANGE?
   4734						BHI	WRCRME		; BRANCH IF NOT
   4735						PUSH	R0		; R0 TOO
   4736						MOV	R1,R2		; .CALLER'S POINTER TO R2
   4737						MOV	#FW.CR4,R5	; .BASE WRITE TO R5
   4738						MOV	(SP),R0		; .GET CRAM ADDRESS FROM THE STACK
   4739						CALL	.LDCRA		; .LOAD IT
   4740						BCS	WRCRMX		; .ERROR IF C-BIT IS SET
   4741						MOV	#^D4,R3		; .USE R3 AS A COUNTER
   4742						MOV	#.DFWB,R0	; .POINT TO THE WRITE BUFFER
   4743						CALL	KLCLR		; .CLEAR THE WRITE BUFFER
   4744					WRCRM1:
   4745						MOV	(R2)+,(R0)+	; .LOAD OUR BUFFER FROM CALLER'S
   4746						MOV	(R2)+,(R0)+	; .
   4747						CLR	(R0)		; .
   4748						CLR	R1		; .CLEAR R1
   4749						MOV	R5,R0		; .PASS THE FWRITE CODE
   4750						CALL	.FWRIT		; .DO IT
   4751						BCS	WRCRMX		; .ERROR IF C-BIT IS SET
   4752						TST	(R5)+		; .INCREMENT THE FWRITE CODE
   4753						SOB	R3,WRCRM1	; .LOOP TILL DONE
   4754						MOV	(R2),(R0)	; .LOAD THE CRAM DISP BITS
   4755						MOV	#^D30,R1	; .SHIFT COUNT
   4756						CALL	KLLSHI		; .SHIFT IT
   4757						CLR	R1		; .CLEAR R1
   4758						MOV	#FW.CRD,R0	; .WRITE CODE
   4759						CALL	.FWRIT		; .WRITE IT
   4760						CALL	.CLDFW		; .CLEAR THE FUNCTION WRITE BUFFER
   4761						CLR	R1		; .CLEAR R1
   4762						MOV	#FW.CA1,R0	; .CLEAR CRAM DIAG ADDR
   4763						CALL	.FWRIT		; .SO
   4764						BCS	WRCRMX		; .ERROR IF C-BIT SET
   4765						MOV	#FW.CA2,R0	; .NOW FOR THE OTHER HALF
   4766						CALL	.FWRIT		; .SO
   4767					WRCRMX:
   4768						INC	(SP)+		; CLEAR THE STACK
   4769						RETURN			; TO CALLER
   4770					WRCRME:
   4771						JMP	RDCRME		; LET THE READ ROUTINE HANDLE THE ERROR
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 158
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4773					.SBTTL	*.WRDRM -- SUBROUTINE TO WRITE THE KL10 DISPATCH RAM* 7510.31
   4774
   4775					;+
   4776					; .WRDRM -- SUBROUTINE TO WRITE THE KL10 DISPATCH RAM.
   4777					;
   4778					; THIS SUBROUTINE WILL WRITE A PAIR OF LOCATIONS IN THE KL10 DRAM.
   4779					;
   4780					; SEQUENCE OF OPERATION:
   4781					;
   4782					;	(A) THE (EVEN) DISPATCH RAM ADDRESS IS LOADED,
   4783					;	(B) THE DATA IS WRITTEN INTO THE DRAM,
   4784					;	(C) KL10 OPCODES ARE REENABLED (TURNED OFF BY ADDRESS LOAD).
   4785					;
   4786					; CALLING SEQUENCE IS:
   4787					;
   4788					;	MOV	#ADR,R0		; DRAM ADDRESS TO R0
   4789					;	MOV	#PNTR,R1	; DATA POINTER TO R1
   4790					;	CALL	.WRDRM		; WRITE IT
   4791					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4792					;
   4793					; R1 MUST POINT TO A SIX BYTE DATA BLOCK OF THIS FORMAT:
   4794					;
   4795					;		!===============================!
   4796					;	00	!	 DRAM A + B EVEN	!
   4797					;		!-------------------------------!
   4798					;	01	!       DRAM J 1 - 4 EVEN	!
   4799					;		!-------------------------------!
   4800					;	02	!    DRAM J 7 - 10 + PAR EVEN	!
   4801					;		!-------------------------------!
   4802					;	03	!	  DRAM A + B ODD	!
   4803					;		!-------------------------------!
   4804					;	04	!	 DRAM J 1 - 4 ODD	!
   4805					;		!-------------------------------!
   4806					;	05	!    DRAM J 7 - 10 + PAR ODD	!
   4807					;		!===============================!
   4808					;
   4809					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE, NO
   4810					; REGISTERS ARE ALTERED BY THIS SUBROUTINE.
   4811					;
   4812					; ERROR CODES RETURNED:
   4813					;
   4814					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   4815					;	CCR -- CAN'T CLEAR KL10 RUN FLOP.
   4816					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   4817					;	DAE -- KL10 DRAM ADDRESS ERROR.
   4818					;	FRF -- FUNCTION READ FAILED.
   4819					;	FWF -- FUNCTION WRITE FAILED.
   4820					;	FXF -- FUNCTION EXECUTE FAILED.
   4821					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 159
*.TRACK -- DIAGNOSTIC FUNCTION TRACK SUBROUTINE* 7512.09

   4823					.WRDRM::
   4824						CALL	R5,REGSAV	; SAVE R1 - R5 ON THE STACK
   4825						PUSH	R0		; SAVE THE ADDRESS ON THE STACK
   4826						BIT	#177001,R0	; .IS THE ADDRESS OK??
   4827						BNE	WDRAMA		; .BRANCH IF NOT SO
   4828						MOV	R1,R2		; .CALLER'S POINTER TO R2
   4829						MOV	#WRDRMT,R3	; .TABLE POINTER TO R3
   4830						CALL	.LDRAD		; .LOAD THE DRAM ADDRESS
   4831						BCS	WRDRMX		; .ERROR IF C-BIT IS SET
   4832						MOV	#.DFWB,R0	; .CLEAR THE BUFFER
   4833						CALL	KLCLR		; .DO IT
   4834					WRDRM1:
   4835						MOVB	(R3)+,R4	; .GET WORD OFFSET INTO R4
   4836						ADD	R2,R4		; .CREATE A POINTER IN R4
   4837						MOVB	(R4),R1		; .GET THE BYTE IN R1
   4838						ASLB	R1		; .TIMES 4
   4839						ASLB	R1		; .
   4840						MOV	R1,2(R0)	; .PUT IT INTO WRITE BUFFER
   4841						CLR	R1		; .CLEAR R1
   4842						MOVB	(R3)+,R0	; .WRITE CODE TO R0
   4843						CALL	.FWRIT		; .WRITE IT
   4844						BCS	WRDRMX		; .ERROR IF C-BIT IS SET
   4845						CMP	#WDRMTE,R3	; .ARE WE DONE??
   4846						BNE	WRDRM1		; .BRANCH IF NOT
   4847						CLR	2(R0)		; .CLEAR THE BUFFER WORD
   4848						MOV	#FW.KLO,R0	; .REENABLE KL10 OPCODES
   4849						CALL	.FWRIT		; .DO IT
   4850						BCS	WRDRMX		; .ERROR IF C-BIT IS SET
   4851						BIS	#KF.KLO,.KLFLG	; .SET THE FLAG BIT
   4852						MOV	(SP),R0		; .RESTORE R0
   4853					WRDRMX:
   4854						INC	(SP)+		; CLEAR THE STACK
   4855						RETURN			; TO CALLER
   4856					WDRAMA:
   4857						JMP	RDRAER		; .LET READ SUBROUTINE HANDLE ERROR
   4858
   4859					WRDRMT:				; TABLE OF OFFSETS AND WRITE CODES
   4860						.BYTE	0,FW.DR1	; DRAM A + B EVEN
   4861						.BYTE	2,FW.DJE	; DRAM J 8 - 10 EVEN + PARITY EVEN
   4862						.BYTE	3,FW.DR2	; DRAM A + B ODD
   4863						.BYTE	5,FW.DJO	; DRAM J 7 CMN + J 8 - 10 ODD + PARITY ODD
   4864						.BYTE	4,FW.DR3	; DRAM J 1 - 4 COMMON
   4865					WDRMTE=.
   4866					.EVEN
   4867					.ENDC				; $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 160
*.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05

   4869					.SBTTL	*.WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER 7511.05
   4870
   4871					;+
   4872					; .WRTAR -- SUBROUTINE TO WRITE THE KL10 AR REGISTER.
   4873					; .WRAR1 -- SUBROUTINE TO WRITE THE KL10 AR REGISTER WITHOUT
   4874					;	    STOPPING THE KL10 CLOCK.
   4875					;
   4876					; THIS SUBROUTINE WILL WRITE A 36 BIT WORD TO THE KL10 AR REGISTER.
   4877					;
   4878					; SEQUENCE OF OPERATION:
   4879					;
   4880					; .WRTAR:
   4881					;
   4882					;	(A) THE KL10 CLOCK IS STOPPED,
   4883					;
   4884					; .WRAR1:
   4885					;
   4886					;	(B) THE EBOX CLOCK IS SYNCHED LOW,
   4887					;	(C) THE DATA IS WRITTEN INTO THE KL10 AR REGISTER.
   4888					;
   4889					; CALLING SEQUENCE IS:
   4890					;
   4891					;	MOV	#BUFADR,R1	; ADDRESS OF DATA TO BE WRITTEN
   4892					;	CALL	.WRTAR		; WRITE THE AR
   4893					; 	BCS	ERROR		; ERROR IF C-BIT IS SET
   4894					;
   4895					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   4896					; R0 AND R1 ARE CLOBBERED BY THIS SUBROUTINE.
   4897					;
   4898					; ERROR CODES RETURNED:
   4899					;
   4900					;	CCC -- CAN'T CLEAR KL10 CLOCK.
   4901					;	CSC -- CAN'T SYNCH KL10 CLOCK.
   4902					;	FWF -- FUNCTION WRITE FAILED.
   4903					;-
   4904
   4905	006436				.WRTAR::
   4906	006436					CALL	.STPXC		; STOP THE KL10 CLOCK
	006436	004737 	005734'			JSR	PC,.STPXC
   4907	006442	103407 				BCS	WRTARX		; ERROR IF C-BIT IS SET
   4908	006444				.WRAR1::
   4909	006444					CALL	.SYNXC		; FORCE THE EBOX CLOCK LOW
	006444	004737 	006156'			JSR	PC,.SYNXC
   4910	006450	103404 				BCS	WRTARX		; ERROR IF C-BIT IS SET
   4911	006452	012700 	000176 			MOV	#FW.LAR,R0	; FUNCTION WRITE CODE TO R0
   4912	006456					CALL	.FWRIT		; LOAD THE AR
	006456	004737 	006566'			JSR	PC,.FWRIT
   4913	006462				WRTARX:
   4914	006462					RETURN			; RETURN TO CALLER
	006462	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 161
*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19

   4916					.SBTTL	*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19
   4917
   4918					;+
   4919					; .FREAD -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION READ.
   4920					; .XFRED -- SUBROUTINE TO EXECUTE A DFR AFTER RANGE CHECKING THE FUNCTION CODE.
   4921					;
   4922					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION READ.
   4923					;
   4924					; SEQUENCE OF OPERATION:
   4925					;
   4926					; .XFRED:
   4927					;
   4928					;	(A) THE DFR CODE IN R0 IS CHECKED FOR LEGALITY,
   4929					;
   4930					; .FREAD:
   4931					;
   4932					;	(B) THE DFR IS EXECUTED AND DATA LOADED THRU R1 IF R1 .NE. 0,
   4933					;	    IF R1 IS .EQ. 0 THE DATA IS NOT MOVED FROM ".DFRB".
   4934					;
   4935					; CALLING SEQUENCE IS:
   4936					;
   4937					;	MOV	#BUFADR,R1	; BUFFER ADDRESS TO R1
   4938					;	MOVB	#DFRN,R0	; FUNCTION READ # TO R0
   4939					;	CALL	.FREAD		; DO THE READ
   4940					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   4941					;
   4942					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   4943					; R0 AND R1 POINT TO TOP OF READ BLOCKS ON EXIT.
   4944					;
   4945					; ERROR CODES RETURNED:
   4946					;
   4947					;	FRF -- FUNCTION READ FAILED.
   4948					;	IFC -- ILLEGAL FINCTION CODE.
   4949					;	KLN -- KL10 NUMBER OUT OF RANGE.
   4950					;	OFC -- ODD FUNCTION CODE.
   4951					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 162
*.XFRED -- DIAGNOSTIC FUNCTION READ SUBROUTINE* 7511.19

   4953	006464				.XFRED::			; HERE TO RANGE CHECK DFR #
   4954	006464					CALL	.XFRCK		; SEE IF ARGUMENT IS IN RANGE
	006464	004737 	007036'			JSR	PC,.XFRCK
   4955	006470	103432 				BCS	FRDXXX		; ERROR IF C-BIT IS SET
   4956	006472				.FREAD::
   4957	006472	110037 	007267'			MOVB	R0,.KLDFR+3	; SET THE DFR# IN THE DPB
   4958	006476					DIR$	#.KLDFR		; CALL RSX20F TO DO THE READ
	006476	012746 	007264'			MOV	#.KLDFR,-(SP)
	006502	104375 				EMT	375
   4959	006504	103422 				BCS	FRDERR		; ERROR IF C-BIT IS SET
   4960	006506	012700 	000040'			MOV	#.DFRB,R0	; POINT TO TOP OF READ BLOCK
   4961	006512	005701 				TST	R1		; TEST R1
   4962	006514	001405 				BEQ	FREAD1		; EXIT IF R1 .EQ. 0
   4963	006516	012021 				MOV	(R0)+,(R1)+	; LOAD HIS BUFFER FROM OURS
   4964	006520	012021 				MOV	(R0)+,(R1)+
   4965	006522	011011 				MOV	(R0),(R1)
   4966	006524	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   4967	006526	024141 				CMP	-(R1),-(R1)
   4968	006530				FREAD1:
   4969	006530	032737 	000002 	011706'		BIT	#TR.FRD,.TRKWD	; ARE WE TRACKING FUNCTION READS?
   4970	006536	001403 				BEQ	FREAD2		; NO, JUST EXIT
   4971	006540					CALL	.FRTRK		; YES, DO IT
	006540	004737 	006214'			JSR	PC,.FRTRK
   4972	006544	103404 				BCS	FRDXXX		; ERROR IF C-BIT IS SET
   4973	006546				FREAD2:
   4974	006546	000241 				CLC			; JUST IN CASE
   4975	006550	000402 				BR	FRDXXX		; EXIT
   4976	006552				FRDERR:
   4977	006552					ERROR$	FRF		; FUNCTION READ FAILED
	006552	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	006554	024126 				.RAD50	/FRF/		; "FRF" ERROR CODE IN .RAD50
   4978	006556				FRDXXX:
   4979	006556					RETURN			; RETURN
	006556	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 163
*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19

   4981					.SBTTL	*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19
   4982
   4983					;+
   4984					; .FWRIT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   4985					; .XFWRT -- SUBROUTINE TO EXECUTE A DFW AFTER RANGE CHECKING THE FUNCTION CODE.
   4986					;
   4987					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION WRITE.
   4988					;
   4989					; SEQUENCE OF OPERATION:
   4990					;
   4991					; .XFWRT:
   4992					;
   4993					;	(A) THE DFW CODE IN R0 IS CHECKED FOR LEGALITY,
   4994					;
   4995					; .FWRIT:
   4996					;
   4997					;	(B) THE DATA IS LOADED THRU R1 IF R1 .NE. 0,
   4998					;	    IF R1 IS .EQ. 0 THE DATA IS ASSUMED TO BE IN ".DFWB",
   4999					;	(C) THE FUNCTION WRITE IS EXECUTED.
   5000					;
   5001					; CALLLING SEQUENCE IS:
   5002					;
   5003					;	MOV	#BUFADR,R1	; BUFFER ADDRESS TO R1
   5004					;	MOVB	#DFWN,R0	; FUNCTION WRITE # TO R0
   5005					;	CALL	.FWRIT		; DO THE WRITE
   5006					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   5007					;
   5008					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE
   5009					; R0 AND R1 POINT TO THE TOP OF THE WRITE BLOCKS ON EXIT.
   5010					;
   5011					; ERROR CODES RETURNED:
   5012					;
   5013					;	FWF -- FUNCTION WRITE FAILED.
   5014					;	IFC -- ILLEGAL FUNCTION CODE.
   5015					;	KLN -- KL10 NUMBER OUT OF RANGE.
   5016					;	OFC -- ODD FUNCTION CODE.
   5017					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 164
*.XFWRT -- DIAGNOSTIC FUNCTION WRITE SUBROUTINE* 7511.19

   5019	006560				.XFWRT::
   5020	006560					CALL	.XFWCK		; CHECK IF ARGUMENT IS IN RANGE
	006560	004737 	007054'			JSR	PC,.XFWCK
   5021	006564	103434 				BCS	FWRTXX		; ERROR IF C-BIT IS SET
   5022	006566				.FWRIT::
   5023	006566	110037 	007301'			MOVB	R0,.KLDFW+3	; SET THE DFW# IN THE DPB
   5024	006572	012700 	000032'			MOV	#.DFWB,R0	; POINT TO TOP OF WRITE BLOCK
   5025	006576	005701 				TST	R1		; TEST R1
   5026	006600	001406 				BEQ	FWRTGO		; ALREADY IN ".DFWB" IF R1 .EQ. 0
   5027	006602	012120 				MOV	(R1)+,(R0)+	; LOAD THE DATA BLOCK
   5028	006604	012120 				MOV	(R1)+,(R0)+
   5029	006606	011110 				MOV	(R1),(R0)
   5030	006610	024040 				CMP	-(R0),-(R0)	; BACK THE POINTERS UP
   5031	006612	024141 				CMP	-(R1),-(R1)
   5032	006614	000241 				CLC			; CLEAR THE C-BIT JUST IN CASE
   5033	006616				FWRTGO:
   5034	006616	042760 	177760 	000004 		BIC	#177760,4(R0)	; FLUSH EXTRANEOUS BITS
   5035	006624	032737 	000004 	011706'		BIT	#TR.FWR,.TRKWD	; ARE WE TRACKING FUNCTION WRITES?
   5036	006632	001403 				BEQ	FWRIT1		; NO
   5037	006634					CALL	.FWTRK		; LEAVE TRACKS ON CONSOLE
	006634	004737 	006234'			JSR	PC,.FWTRK
   5038	006640	103406 				BCS	FWRTXX		; ERROR IF C-BIT IS SET
   5039	006642				FWRIT1:
   5040	006642					DIR$	#.KLDFW		; CALL RSX20F TO DO THE WRITE
	006642	012746 	007276'			MOV	#.KLDFW,-(SP)
	006646	104375 				EMT	375
   5041	006650	103002 				BCC	FWRTXX		; OK IF C-BIT IS CLEAR
   5042	006652					ERROR$	FWF		; FUNCTION WRITE FAILED
	006652	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	006654	024436 				.RAD50	/FWF/		; "FWF" ERROR CODE IN .RAD50
   5043	006656				FWRTXX:
   5044	006656					RETURN			; TO CALLER
	006656	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 165
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09

   5046					.SBTTL	*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09
   5047
   5048					;+
   5049					; .FXCT -- SUBROUTINE TO EXECUTE A DIAGNOSTIC FUNCTION EXECUTE.
   5050					; .XFXCT -- SUBROUTINE TO EXECUTE A DFX AFTER RANGE CHECKING THE DFX CODE.
   5051					;
   5052					; THESE SUBROUTINES EXECUTE A DIAGNOSTIC FUNCTION EXECUTE AND MAINTAIN
   5053					; THE STATE OF THE KL10 CLOCK ("KF.CLK") AND RUN FLOP ("KF.RUN") FLAGS
   5054					; IN THE KL10 STATE FLAG WORD, ".KLFLG".
   5055					;
   5056					; SEQUENCE OF OPERATION:
   5057					;
   5058					; .XFXCT:
   5059					;
   5060					;	(A) THE ARGUMENT IS RANGE CHECKED,
   5061					;
   5062					; .FXCT:
   5063					;
   5064					;	(B) THE DFX IS SIMPLY EXECUTED.
   5065					;
   5066					; CALLING SEQUENCE IS:
   5067					;
   5068					;	MOVB	#DFXN,R0	; FUNCTION EXECUTE # TO R0
   5069					;	CALL	.FXCT		; DO THE EXECUTE
   5070					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   5071					;
   5072					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE, OTHERWISE R0 IS
   5073					; CLOBBERED ON EXIT.
   5074					;
   5075					; ERROR CODES RETURNED:
   5076					;
   5077					;	FXF -- FUNCTION EXECUTE FAILED.
   5078					;	IFC -- ILLEGAL FUNCTION CODE.
   5079					;	OFC -- ODD FUNCTION CODE.
   5080					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 166
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09

   5082	006660				.XFXCT::
   5083	006660					CALL	.XFXCK		; SEE IF ARGUMENT IS IN RANGE
	006660	004737 	007072'			JSR	PC,.XFXCK
   5084	006664	103460 				BCS	FXCTEX		; ERROR IF C-BIT IS SET
   5085	006666				.FXCT::
   5086	006666					PUSH	R0		; SAVE R0 ON THE STACK
	006666	010046 				MOV	R0,-(SP)
   5087	006670	110037 	007255'			MOVB	R0,.KLDFX+3	; .SET THE DFX CODE IN THE DPB
   5088	006674					DIR$	#.KLDFX		; .CALL RSX20F TO DO THE DFX
	006674	012746 	007252'			MOV	#.KLDFX,-(SP)
	006700	104375 				EMT	375
   5089	006702	103452 				BCS	FXCTXF		; .ERROR IF C-BIT IS SET
   5090	006704	012700 	100000 			MOV	#KF.CLK,R0	; .FLAG BIT TO R0
   5091	006710	021627 	000002 			CMP	(SP),#FX.CST	; .IS DFX CODE .EQ. 1?
   5092	006714	001411 				BEQ	FXCT1		; .YES, DO CLOCK STARTED STUFF
   5093	006716	021627 	000016 			CMP	(SP),#FX.SMR	; .IS DFX CODE .GT. 7?
   5094	006722	101014 				BHI	FXCT2		; .YES, LEAVE NOW
   5095	006724	030037 	000000G			BIT	R0,.KLFLG	; .IS THE FLAG OFF ALREADY?
   5096	006730	001426 				BEQ	FXCTCX		; .YES, LEAVE NOW
   5097	006732	040037 	000000G			BIC	R0,.KLFLG	; .NO, TURN IF OFF
   5098	006736	000423 				BR	FXCTCX		; .AND GO AWAY
   5099	006740				FXCT1:
   5100	006740	030037 	000000G			BIT	R0,.KLFLG	; .IS THE FLAG ON ALREADY?
   5101	006744	001020 				BNE	FXCTCX		; .YES, LEAVE NOW
   5102	006746	050037 	000000G			BIS	R0,.KLFLG	; .LIGHT IT UP
   5103	006752	000415 				BR	FXCTCX		; .AND EXIT
   5104	006754				FXCT2:
   5105	006754	012700 	020000 			MOV	#KF.RUN,R0	; .DO RUN FLAG STUFF
   5106	006760	021627 	000022 			CMP	(SP),#FX.SRF	; .SET THE RUN FLOP?
   5107	006764	001003 				BNE	FXCT3		; .BRANCH IF NOT
   5108	006766	050037 	000000G			BIS	R0,.KLFLG	; .YES, SET THE FLAG
   5109	006772	000405 				BR	FXCTCX		; .AND GO AWAY
   5110	006774				FXCT3:
   5111	006774	021627 	000020 			CMP	(SP),#FX.CRF	; .CLEAR RUN FLOP?
   5112	007000	001002 				BNE	FXCTCX		; .NO, JUST GO AWAY
   5113	007002	040037 	000000G			BIC	R0,.KLFLG	; .YES, CLEAR THE FLAG
   5114
   5115					;	[CONTINUED ON NEXT PAGE]
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 167
*.XFXCT -- DIAGNOSTIC FUNCTION EXECUTE SUBROUTINE* 7601.09

   5117					;	[HERE FROM PREVIOUS PAGE]
   5118
   5119	007006				FXCTCX:
   5120	007006	000241 				CLC			; .JUST IN CASE
   5121	007010	032737 	000001 	011706'		BIT	#TR.FXC,.TRKWD	; .ARE WE TRACKING FUNCTION EXECUTES?
   5122	007016	001402 				BEQ	FXCTXX		; .BRANCH IF NOT
   5123	007020					CALL	.FXTRK		; .DO IT IF WE ARE
	007020	004737 	006254'			JSR	PC,.FXTRK
   5124	007024				FXCTXX:
   5125	007024					POP	R0		; RESTORE R0
	007024	012600 				MOV	(SP)+,R0
   5126	007026				FXCTEX:
   5127	007026					RETURN			; TO CALLER
	007026	000207 				RTS	PC
   5128	007030				FXCTXF:
   5129	007030					ERROR$	FXF,(SP)	; .FUNCTION EXECUTE FAILED
	007030	012716 				MOV	(PC)+,(SP)	; MOVE .RAD50 ERROR CODE TO (SP)
	007032	024506 				.RAD50	/FXF/		; "FXF" ERROR CODE IN .RAD50
   5130	007034	000773 				BR	FXCTXX		; .RETURN WITH ERROR CODE IN R0
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 168
*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26

   5132					.SBTTL	*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26
   5133
   5134					;+
   5135					; .XFRCK -- SUBROUTINE TO RANGE CHECK FUNCTION READ CODES.
   5136					; .XFWCK -- SUBROUTINE TO RANGE CHECK FUNCTION WRITE CODES.
   5137					; .XFXCK -- SUBROUTINE TO RANGE CHECK FUNCTION EXECUTE CODES.
   5138					;
   5139					; THESE SUBROUTINES RANGE CHECK THE ARGUMENT CODES FOR THE FUNCTION
   5140					; READ, WRITE AND EXECUTE SUBROUTINES.
   5141					;
   5142					; CALLING SEQUENCE IS:
   5143					;
   5144					;	CALL	.XFXCK		; CHECK FUNCTION CODE IN R0
   5145					;	BCS	ERROR		; ERROR IF C-BIT IS SET
   5146					;
   5147					; R0 CONTAINS A .RAD50 ERROR CODE ON FAILURE; UNCHANGED IF OK.
   5148					;
   5149					; ERROR CODES RETURNED:
   5150					;
   5151					;	IFC -- ILLEGAL FUNCTION CODE.
   5152					;	OFC -- ODD FUNCTION CODE.
   5153					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 169
*.XFXCK -- SUBROUTINES TO RANGE CHECK DIAG FUNCTIONS* 7509.26

   5155	007036				.XFRCK::			; HERE TO CHECK FUNCTION READ CODE
   5156	007036	020027 	000200 			CMP	R0,#FR.100	; IS IT .LT. FR.100?
   5157	007042	103423 				BLO	FNCIFC		; NO, ERROR
   5158	007044	020027 	000376 			CMP	R0,#FR.177	; IS IT .GT. FR.177
   5159	007050	101020 				BHI	FNCIFC		; YES, ERROR
   5160	007052	000412 				BR	FNCODD		; NO, SEE IF IT'S ODD
   5161
   5162	007054				.XFWCK::			; HERE TO CHECK FUNCTION WRITE CODE
   5163	007054	020027 	000100 			CMP	R0,#FW.040	; IS IT .LT. FW.040?
   5164	007060	103414 				BLO	FNCIFC		; NO, ERROR
   5165	007062	020027 	000176 			CMP	R0,#FW.LAR	; IS IT .GT. FW.077?
   5166	007066	101011 				BHI	FNCIFC		; YES, ERROR
   5167	007070	000403 				BR	FNCODD		; NO, SEE IF IT'S ODD
   5168
   5169	007072				.XFXCK::			; HERE TO CHECK FUNCTION EXECUTE CODE
   5170	007072	020027 	000076 			CMP	R0,#FX.037	; IS IT .GT. FX.037?
   5171	007076	101005 				BHI	FNCIFC		; YES, ERROR
   5172	007100				FNCODD:
   5173	007100	000241 				CLC			; CLEAR THE C-BIT
   5174	007102	032700 	000001 			BIT	#BIT00,R0	; IS IT ODD?
   5175	007106	001004 				BNE	FNCOFC		; YES, ERROR
   5176	007110					RETURN			; ALL OK, RETURN TO CALLER
	007110	000207 				RTS	PC
   5177	007112				FNCIFC:
   5178	007112					ERROR$	IFC		; ILLEGAL FUNCTION CODE
	007112	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	007114	034463 				.RAD50	/IFC/		; "IFC" ERROR CODE IN .RAD50
   5179	007116	000402 				BR	FNCOCX		; EXIT
   5180	007120				FNCOFC:
   5181	007120					ERROR$	OFC		; ODD FUNCTION CODE
	007120	012700 				MOV	(PC)+,R0	; MOVE .RAD50 ERROR CODE TO R0
	007122	057263 				.RAD50	/OFC/		; "OFC" ERROR CODE IN .RAD50
   5182	007124				FNCOCX:
   5183	007124	000261 				SEC			; SET THE C-BIT
   5184	007126					RETURN			; TO NEXT HIGHER LEVEL
	007126	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 170
*GENERAL SUPPORT SUBROUTINES* 7508.26

   5186					.SBTTL	*GENERAL SUPPORT SUBROUTINES* 7508.26
   5187
   5188					; HERE TO CLEAR THE INTERNAL BUFFERS.
   5189
   5190	007130				.CLDFB::
   5191	007130					CALL	.CLDFW		; CLEAR THE WRITE HALF OF THE BUFFER
	007130	004737 	007144'			JSR	PC,.CLDFW
   5192	007134				.CLDFR::
   5193	007134					PUSH	R0		; SAVE R0
	007134	010046 				MOV	R0,-(SP)
   5194	007136	012700 	000040'			MOV	#.DFRB,R0	; .CLEAR THE FUNCTION READ BUFFER
   5195	007142	000403 				BR	CLRGO		; .
   5196	007144				.CLDFW::
   5197	007144					PUSH	R0		; SAVE R0
	007144	010046 				MOV	R0,-(SP)
   5198	007146	012700 	000032'			MOV	#.DFWB,R0	; .CLEAR THE FUNCTION WRITE BUFFER
   5199	007152				CLRGO:
   5200	007152					CALL	KLCLR		; .CLEAR THE BUFFER
	007152	004737 	010220'			JSR	PC,KLCLR
   5201	007156				CLRXXX:
   5202	007156					POP	R0		; RESTORE R0
	007156	012600 				MOV	(SP)+,R0
   5203	007160					RETURN
	007160	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 171
*GENERAL SUPPORT SUBROUTINES* 7508.26

   5205					; SHIFT THE 16 BIT INTEGER IN R0 BY THE 16 BIT INTEGER IN R1.
   5206
   5207	007162				.SHIFT::
   5208	007162					PUSH	R1		; SAVE R1 ON THE STACK
	007162	010146 				MOV	R1,-(SP)
   5209	007164	001410 				BEQ	SHFTXX		; .EXIT IF .EQ. 0
   5210	007166	002404 				BLT	SHIFTR		; .SHIFT RIGHT IF NEGATIVE
   5211	007170				SHIFTL:
   5212	007170	006300 				ASL	R0		; .SHIFT IT LEFT
   5213	007172					SOB	R1,SHIFTL	; .TILL COUNT IS EXHAUSTED
	007172	005301 				DEC	R1
	007174	001375 				BNE	SHIFTL
   5214	007176	000403 				BR	SHFTXX		; .EXIT
   5215	007200				SHIFTR:
   5216	007200	006200 				ASR	R0		; .SHIFT IT RIGHT
   5217	007202	005201 				INC	R1		; .COUNT THE SHIFT
   5218	007204	001375 				BNE	SHIFTR		; .TILL COUNT EXHAUSTED
   5219	007206				SHFTXX:
   5220	007206					POP	R1		; RESTORE R1 FROM THE STACK
	007206	012601 				MOV	(SP)+,R1
   5221	007210	000241 				CLC			; CLEAR THE C-BIT
   5222	007212					RETURN			; RETURN
	007212	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 172
*REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16

   5224					.SBTTL	*REGSAV -- R1 - R5 SAVE AND RESTORE SUBROUTINE* 7509.16
   5225
   5226					;+
   5227					; REGSAV -- SUBROUTINE TO SAVE AND RESTORE R5 - R1 ON THE STACK.
   5228					;
   5229					; R1 - R5 ARE SAVED ON THE STACK, AND MAY BE RESTORED BY EITHER:
   5230					;
   5231					;	RETURN			; RETURNS TO HIGHER LEVEL
   5232					;		-OR-
   5233					;	CALL	@(SP)+		; RETURNS TO SAME LEVEL
   5234					;
   5235					; NO REGISTERS ARE DESTROYED BY THIS SUBROUTINE, AND SUBSEQUENT CALLS
   5236					; WILL NEST.
   5237					;
   5238					; CALLING SEQUENCE IS:
   5239					;
   5240					;	CALL	R5,REGSAV
   5241					;	ONLY RETURN
   5242					;-
   5243
   5244	007214				REGSAV::			; DEFINE AS GLOBAL
   5245	007214					PUSH	<R4,R3,R2,R1,R5>
	007214	010446 				MOV	R4,-(SP)
	007216	010346 				MOV	R3,-(SP)
	007220	010246 				MOV	R2,-(SP)
	007222	010146 				MOV	R1,-(SP)
	007224	010546 				MOV	R5,-(SP)
   5246	007226	016605 	000012 			MOV	12(SP),R5	; .....RESTORE R5
   5247	007232	000241 				CLC			; .....CLEAR THE C-BIT
   5248	007234					CALL	@(SP)+		; .....RETURN WITH RESTORE ADDRESS ON THE STACK
	007234	004736 				JSR	PC,@(SP)+
   5249
   5250					; HERE TO RESTORE R1 - R5 AND RETURN
   5251
   5252	007236					POP	<R1,R2,R3,R4,R5>
	007236	012601 				MOV	(SP)+,R1
	007240	012602 				MOV	(SP)+,R2
	007242	012603 				MOV	(SP)+,R3
	007244	012604 				MOV	(SP)+,R4
	007246	012605 				MOV	(SP)+,R5
   5253	007250					RETURN			; RETURN
	007250	000207 				RTS	PC
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 173
*DIRECTIVE PARAMETER BLOCKS* 7508.20

   5255					.SBTTL	*DIRECTIVE PARAMETER BLOCKS* 7508.20
   5256
   5257					; DIRECTIVE PARAMETER BLOCK DIAGNOSTIC FUNCTION EXECUTE
   5258
   5259					;	!===============================================!
   5260					; 00	!	DPB SIZE	!	DIC		!
   5261					;	!-----------------------------------------------!
   5262					; 02	!	DFX OPCODE	!	DFX CODE	!
   5263					;	!-----------------------------------------------!
   5264					; 04	!	    TRANSFER BUFFER ADDRESS		!
   5265					;	!-----------------------------------------------!
   5266					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   5267					;	!-----------------------------------------------!
   5268					; 10	!		DTE20 NUMBER			!
   5269					;	!===============================================!
   5270
   5271
   5272	007252				.KLDFX::
   5273	007252					KLDX$	FX.000,.DFBLK,.DREG,0
	007252	002411 				.WORD	400*5.+DR.DTE
	007254	   014 	   000 			.BYTE	DF.KLX,FX.000/400
	007256	000032'				.WORD	.DFBLK
	007260	000046'				.WORD	.DREG
	007262	000000 				.WORD	0
   5274		007262'			FXDTEN=.-2
   5275
   5276					; DPB FOR DIAGNOSTIC FUNCTION READ
   5277
   5278					;	!===============================================!
   5279					; 00	!	DPB SIZE	!	DIC		!
   5280					;	!-----------------------------------------------!
   5281					; 02	!	DFR OPCODE	!	DFR CODE	!
   5282					;	!-----------------------------------------------!
   5283					; 04	!	    TRANSFER BUFFER ADDRESS		!
   5284					;	!-----------------------------------------------!
   5285					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   5286					;	!-----------------------------------------------!
   5287					; 10	!		DTE20 NUMBER			!
   5288					;	!===============================================!
   5289
   5290	007264				.KLDFR::
   5291	007264					KLDR$	FR.100,.DFBLK,.DREG,0
	007264	002411 				.WORD	400*5.+DR.DTE
	007266	   012 	   000 			.BYTE	DF.KLR,FR.100/400
	007270	000032'				.WORD	.DFBLK
	007272	000046'				.WORD	.DREG
	007274	000000 				.WORD	0
   5292		007274'			FRDTEN=.-2
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 174
*DIRECTIVE PARAMETER BLOCKS* 7508.20

   5294					; DPB FOR DIAGNOSTIC FUNCTION WRITE
   5295
   5296					;	!===============================================!
   5297					; 00	!	DPB SIZE	!	DIC		!
   5298					;	!-----------------------------------------------!
   5299					; 02	!	DFW OPCODE	!	DFW CODE	!
   5300					;	!-----------------------------------------------!
   5301					; 04	!	   TRANSFER BUFFER ADDRESS		!
   5302					;	!-----------------------------------------------!
   5303					; 06	!	DIAGNOSTIC REGISTER BUFFER ADDRESS	!
   5304					;	!-----------------------------------------------!
   5305					; 10	!		DTE20 NUMBER			!
   5306					;	!===============================================!
   5307
   5308	007276				.KLDFW::
   5309	007276					KLDW$	FW.040,.DFBLK,.DREG,0
	007276	002411 				.WORD	400*5.+DR.DTE
	007300	   013 	   000 			.BYTE	DF.KLW,FW.040/400
	007302	000032'				.WORD	.DFBLK
	007304	000046'				.WORD	.DREG
	007306	000000 				.WORD		0
   5310		007306'			FWDTEN=.-2
   5311
   5312					; DPB TO READ OR WRITE THE DTE20 REGISTERS
   5313
   5314					;	!===============================================!
   5315					; 00	!	DPB SIZE	!	  DIC		!
   5316					;	!-----------------------------------------------!
   5317					; 02	!   REGISTER OFFSET	!    DIRECTIVE CODE	!
   5318					;	!-----------------------------------------------!
   5319					; 04	!	POINTER TO DATA TO BE WRITTEN		!
   5320					;	!-----------------------------------------------!
   5321					; 06	!	DESTINATION ADDRESS FOR DATA READ	!
   5322					;	!-----------------------------------------------!
   5323					; 10	!		DTE20 NUMBER			!
   5324					;	!===============================================!
   5325
   5326	007310				.REGRW::
   5327	007310	002411 				.WORD	2411
   5328	007312	   017 	   000 			.BYTE	17,0
   5329	007314	000000 				.WORD	0
   5330	007316	000046'				.WORD	.DREG
   5331	007320	000000 				.WORD	0
   5332		007320'			RGDTEN=.-2
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 175
*DIRECTIVE PARAMETER BLOCKS* 7508.20

   5334					; DPB FOR PRIVILEGED EXAMINE
   5335
   5336					;	!===============================================!
   5337					; 00	!	DPB SIZE	!	  DIC		!
   5338					;	!-----------------------------------------------!
   5339					; 02	!    EXAMINE TYPE	!    DIRECTIVE CODE	!
   5340					;	!-----------------------------------------------!
   5341					; 04	!	    KL10 ADDRESS WORD POINTER		!
   5342					;	!-----------------------------------------------!
   5343					; 06	!	     DATA DESTINATION POINTER		!
   5344					;	!-----------------------------------------------!
   5345					; 10	!		DTE20 NUMBER			!
   5346					;	!===============================================!
   5347
   5348	007322				.EXDPB::
   5349	007322	002411 				.WORD	2411
   5350	007324	   015 	   200 			.BYTE	DF.PEX,ED.PHY
   5351	007326	000136'				.WORD	.EXADR
   5352	007330	000142'				.WORD	.EXBFR
   5353	007332	000000 				.WORD	0
   5354		007332'			EXDTEN=.-2
   5355
   5356					; DPB FOR PRIVILEGED DEPOSIT
   5357
   5358					;	!===============================================!
   5359					; 00	!	DPB SIZE	!	  DIC		!
   5360					;	!-----------------------------------------------!
   5361					; 02	!    DEPOSIT TYPE	!    DIRECTIVE CODE	!
   5362					;	!-----------------------------------------------!
   5363					; 04	!	  KL10 DEPOSIT ADDRESS POINTER		!
   5364					;	!-----------------------------------------------!
   5365					; 06	!	   KL10 DEPOSIT DATA POINTER		!
   5366					;	!-----------------------------------------------!
   5367					; 10	!		DTE20 NUMBER			!
   5368					;	!===============================================!
   5369
   5370	007334				.DPDPB::
   5371	007334	002411 				.WORD	2411
   5372	007336	   016 	   200 			.BYTE	DF.PDP,ED.PHY
   5373	007340	000124'				.WORD	.DPADR
   5374	007342	000130'				.WORD	.DPBFR
   5375	007344	000000 				.WORD	0
   5376		007344'			DPDTEN=.-2
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 176
*DIRECTIVE PARAMETER BLOCKS* 7508.20

   5378					; DPB FOR MARK TIME DIRECTIVE
   5379
   5380					;	!===============================================!
   5381					; 00	!	DPB SIZE	!	  DIC		!
   5382					;	!-----------------------------------------------!
   5383					; 02	!		  EVENT FLAG			!
   5384					;	!-----------------------------------------------!
   5385					; 04	!	TIME INTERVAL IN CLOCK TICKS		!
   5386					;	!-----------------------------------------------!
   5387					; 06	!	RESCHEDULE INTERVAL IN CLOCK TICKS	!
   5388					;	!-----------------------------------------------!
   5389					; 10	!	     AST HANDLER ENTRY POINT		!
   5390					;	!===============================================!
   5391
   5392	007346				.MTDPB:
   5393	007346					MRKT$	CF.HTO,30.,0,0
	007346	   027 	   005 			.BYTE	23.,5
	007350	000001 				.WORD	CF.HTO
	007352	000036 				.WORD	30.
	007354	000000 				.WORD	0
	007356	000000 				.WORD	0
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 177
*PROGRAM STORAGE* 7508.20

   5395					.SBTTL	*PROGRAM STORAGE* 7508.20
   5396
   5397					; BUFFERS FOR DIAGNOSTIC FUNCTION READ AND WRITE
   5398
   5399	000032				.PSECT	TABLES
   5400
   5401	000032				.DFBLK::
   5402	000032				.DFWB::
   5403	000032	000000 	000000 	000000 		.WORD	0,0,0		; DEXWDS TO BE WRITTEN TO EBUS GO HERE
   5404
   5405		000006 			.EBUSR==.-.DFWB			; OFFSET TO GET AT READ DATA FROM TOP OF BLOCK
   5406
   5407	000040				.DFRB::
   5408	000040	000000 	000000 	000000 		.WORD	0,0,0		; DEXWDS READ FROM EBUS GO HERE
   5409
   5410		000014 			.DREGS==.-.DFWB			; OFFSET TO GET TO DIAG REGS
   5411
   5412	000046				.DREG::
   5413	000046				.DTDI1::
   5414	000046	000000 				.WORD	0		; DTE20 DIAG1 WORD STORED HERE
   5415	000050				.DTDI2::
   5416	000050	000000 				.WORD	0		; DTE20 DIAG2 WORD STORED HERE
   5417	000052				.DTSTS::
   5418	000052	000000 				.WORD	0		; DTE20 STATUS WORD STORED HERE
   5419	000054				.DTDI3::
   5420	000054	000000 				.WORD	0		; DTE20 DIAG3 WORD STORED HERE
   5421					.EVEN
   5422		000024 			BUFLEN=.-.DFWB
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 178
*PROGRAM STORAGE* 7508.20

   5424	000056				.CRAMA::
   5425	000056	000000 				.WORD	0		; CRAM ADDRESS
   5426
   5427	000060				.CRAMR::			; BLOCK FOR CRAM READ
   5428	000060	000000 	000000 	000000 		.WORD	0,0,0
   5429	000066	000000 	000000 	000000 		.WORD	0,0,0
   5430	000074	000000 	000000 	000000 		.WORD	0,0,0
   5431
   5432	000102				.CRAMW::			; BLOCK FOR CRAM WRITE
   5433	000102	000000 	000000 	000000 		.WORD	0,0,0
   5434	000110	000000 	000000 	000000 		.WORD	0,0,0
   5435	000116	000000 	000000 	000000 		.WORD	0,0,0
   5436
   5437	000124				.DPADR::
   5438	000124	000000 	000000 			.WORD	0,0		; KL10 DEPOSIT ADDRESS
   5439
   5440	000130				.DPBFR::
   5441	000130	000000 	000000 	000000 		.WORD	0,0,0		; KL10 DEPOSIT DATA
   5442
   5443	000136				.EXADR::
   5444	000136	000000 	000000 			.WORD	0,0		; KL10 EXAMINE ADDRESS
   5445
   5446	000142				.EXBFR::
   5447	000142	000000 	000000 	000000 		.WORD	0,0,0		; KL10 EXAMINE DATA
   5448
   5449	000150				.DRAMA:
   5450	000150	000000 				.WORD	0		; DRAM ADDRESS
   5451
   5452	000152				.DRAMR:
   5453	000152	000000 	000000 	000000 		.WORD	0,0,0		; BLOCK FOR DRAM READ
   5454
   5455	000160				.DRAMW::
   5456	000160	000000 	000000 	000000 		.WORD	0,0,0		; BLOCK FOR DRAM WRITE
   5457
   5458	000166				.FMADR::
   5459	000166	000000 				.WORD	0		; FAST MEMORY ADDRESS
   5460
   5461	000170				.FMDAT::
   5462	000170	000000 	000000 	000000 		.WORD	0,0,0		; FAST MEMORY DATA
   5463		000176'			DFBEND=.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 179
*PROGRAM STORAGE* 7508.20

   5465	000176				.APRWD::
   5466	000176	000000 				.WORD	0		; APR ERROR STATUS
   5467
   5468	000200				.CLKWD::
   5469	000200	000000 				.WORD	0		; SYSTEM CLOCK PARAMETER WORD
   5470
   5471	000202				.PEWRD::
   5472	000202	000000 				.WORD	0		; PARITY ERROR FLAGS
   5473
   5474	000204				.PSCWD::
   5475	000204	000000 				.WORD	0		; SYSTEM PARITY CONTROL WORD
   5476
   5477	000206				.STFLG::
   5478	000206	177777 				.WORD	-1		; START MODE FLAG
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 180
*PROGRAM STORAGE* 7508.20

   5480	000210				CLKNRM::
   5481	000210	000000 				.WORD	CS.NRM!CR.NRM!CD.NRM	; NORMAL CLOCK PARAMETER WORD
   5482
   5483	000212				CPTMP:
   5484	000212	000000 				.WORD	0		; TEMP STORAGE FOR CLOCK AND PARITY PARAMS
   5485
   5486	000214				PARTMP:
   5487	000214	000000 				.WORD	0		; MORE OF THE SAME
   5488
   5489	000216				PARNRM::
   5490	000216	001416 				.WORD	IP.NRM!AP.NRM	; NORMAL PARITY CONTROL WORD
   5491
   5492	007360				.PSECT
   5493					.IF NE $RAMSW
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 181
*PROGRAM STORAGE* 7508.20

   5495					.SBTTL	*CRAMFT -- KL10 CRAM FIELD DECODE TABLES AND STORAGE* 7511.20
   5496
   5497					;+
   5498					; CRAMFT -- KL10 FIELD DECODE TABLES AND STORAGE.
   5499					;
   5500					; THE KL10 CRAM FIELD DECODE TABLE IS BUILT BY THE "CRMFD$" MACRO
   5501					; AND THE DRAM FIELD DECODE TABLE IS BUILT BY THE "DRMFD$" MACRO.
   5502					; THESE MACROS CREATE A TABLE FOR ASSEMBLY AND DISASSEMBLY OF RAM
   5503					; BITS FROM THE EBUS. EACH TABLE ENTRY HAS THE FORMAT:
   5504					;
   5505					;		!=======================================!
   5506					;	00	!		BIT MASK		!
   5507					;		!---------------------------------------!
   5508					;	02	!     WORD INDEX    ! 	 SHIFT COUNT	!
   5509					;		!---------------------------------------!
   5510					;	04	!      	  DESTINATION POINTER		!
   5511					;		!=======================================!
   5512					;
   5513					;	MASK		IS THE MASK ON PDP11 WORD
   5514					;	WORD INDEX	IS THE LOCATION OF BYTE IN THE READ BLOCK
   5515					;	SHIFT COUNT	IS THE NUMBER OF BITS TO SHIFT TO GET
   5516					;			A PDP11 WORD POSITION
   5517					;
   5518					; THE IDEA IS TO GO THROUGH AND ASSEMBLE A PDP11 WORD BYTE BY BYTE
   5519					; UNTIL FINSIHED. EACH NEW TABLE ENTRY IS MARKED BY A SIGN BIT IN
   5520					; THE MASK WORD (NOTE THAT THE LARGEST CRAM FIELD IS 11 BITS WIDE),
   5521					; PUTTING EACH FIELD IN A DISTINCT PDP11 WORD.
   5522					;
   5523					;	TO CALL THE MACRO:
   5524					;
   5525					;	CRMFD$	<FIELD NAME>,<BITS IN EBUS BYTE>,<SHF CNT>,<IDX>
   5526					;
   5527					; THIS IS A PICTURE OF THE EXPANDED BUFFER FOR THE CRAM.
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 182
*PROGRAM STORAGE* 7508.20

   5529					; WORD		CONTENTS
   5530					; ----		--------
   5531					;
   5532					;		!===============================!
   5533					;	00	!     SCAD A ENABLE (1 BIT)	!
   5534					;		!-------------------------------!
   5535					;	02	!     SCAD ENABLE (3 BITS)	!
   5536					;		!-------------------------------!
   5537					;	04	!       FE ENABLE (1 BIT)	!
   5538					;		!-------------------------------!
   5539					;	06	!      J 00 - 10 (11 BITS)	!
   5540					;		!-------------------------------!
   5541					;	08	!       MQ ENABLE (1 BIT)	!
   5542					;		!-------------------------------!
   5543					;	10	!      COND FIELD (6 BITS)	!
   5544					;		!-------------------------------!
   5545					;	12	!       AD SELECT (4 BITS)	!
   5546					;		!-------------------------------!
   5547					;	14	!        AD BOOLE (1 BIT)	!
   5548					;		!-------------------------------!
   5549					;	16	!      ADA DISABLE (1 BIT)	!
   5550					;		!-------------------------------!
   5551					;	18	!      ADA SELECT (2 BITS)	!
   5552					;		!-------------------------------!
   5553					;	20	!      ADB SELECT (2 BITS)	!
   5554					;		!-------------------------------!
   5555					;	22	!    MAGIC # FIELD  (9 BITS) 	!
   5556					;		!-------------------------------!
   5557					;	24	!     ARXM SELECT (3 BITS)	!
   5558					;		!-------------------------------!
   5559					;	26	!    SCADA SELECT (2 BITS)	!
   5560					;		!-------------------------------!
   5561					;	28	!    SCADB SELECT (2 BITS)	!
   5562					;		!-------------------------------!
   5563					;	30	!         MARK (1 BIT)		!
   5564					;		!-------------------------------!
   5565					;	32	!      VMA SELECT (2 BITS)	!
   5566					;		!-------------------------------!
   5567					;	34	!      ARM SELECT (3 BITS)	!
   5568					;		!-------------------------------!
   5569					;	36	!    SH-ARMM SELECT (2 BITS)	!
   5570					;		!-------------------------------!
   5571					;	38	!      MEM FIELD (4 BITS)	!
   5572					;		!-------------------------------!
   5573					;	40	!        BR LOAD (1 BIT)	!
   5574					;		!-------------------------------!
   5575					;	42	!       BRX LOAD (1 BIT)	!
   5576					;		!-------------------------------!
   5577					;	44	!      FM ADDRESS (3 BITS)	!
   5578					;		!-------------------------------!
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 183
*PROGRAM STORAGE* 7508.20

   5580					;		!-------------------------------!
   5581					;	46	!       SCM FIELD (1 BIT)	!
   5582					;		!-------------------------------!
   5583					;	48	!         AD CRY (1 BIT)	!
   5584					;		!-------------------------------!
   5585					;	50	!         TIME (2 BITS)		!
   5586					;		!-------------------------------!
   5587					;	52	!      SPEC/DISP (5 BITS)	!
   5588					;		!===============================!
   5589					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 184
*PROGRAM STORAGE* 7508.20

   5591					; DEFINE THE CRAM FIELD DECODE TABLE MACRO.
   5592
   5593					.MACRO	CRMFD$	..DEST,..BITS,..SHF,..IDX
   5594					 .IF DF ..DEST
   5595					  .IF NE <..ODST-..DEST>
   5596					   ..MSK=0
   5597					   ..OMSK=0
   5598					   ..ODST= ..DEST
   5599					  .ENDC				; IF NE
   5600					 .IFF
   5601					  .PSECT	CRDF
   5602					  ..DEST::
   5603						.WORD	0
   5604					  .PSECT
   5605					 .ENDC				; IF DF
   5606					..OMSK=..MSK!..OMSK
   5607					..MSK=..OMSK+1
   5608					.REPT ..BITS
   5609					 ..MSK=..MSK*2
   5610					.ENDR
   5611					..MSK=..MSK-..OMSK-1
   5612					.IF EQ ..OMSK
   5613						.WORD	100000!..MSK
   5614					.IFF
   5615						.WORD	..MSK
   5616					.ENDC				; IF EQ
   5617						.BYTE	..SHF,..IDX
   5618						.WORD	..DEST
   5619					.IF EQ ..OMSK
   5620					 .PSECT	CRMASZ
   5621						.ASCIZ	%..DEST%
   5622					 .PSECT
   5623					.ENDC
   5624					.ENDM	CRMFD$
   5625
   5626					.PSECT	CRDF
   5627					CRAMFT::			; CRAM FIELD STORAGE STARTS HERE
   5628					..ODST= .+4			; INIT ODST TO NOT START OF PSECT
   5629					.PSECT	CRMASZ
   5630					CRMATB::
   5631					.PSECT
   5632
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 185
*PROGRAM STORAGE* 7508.20

   5634					CRMFDT::				; CRAM DECODE TABLE STARTS HERE
   5635						CRMFD$	SCDAEN,1,-^D11,16	; CRAM SCADA EN
   5636
   5637						CRMFD$	SCAD,3,-^D8,16		; CRAM SCAD
   5638
   5639						CRMFD$	FELOAD,1,-^D5,16	; CRAM FE
   5640
   5641						CRMFD$	J,4,-^D6,14		; CRAM J 07 - 10
   5642						CRMFD$	J,4,-^D8,14		; CRAM J 03 - 06
   5643						CRMFD$	J,3,^D6,16		; CRAM J 00 - 02
   5644
   5645						CRMFD$	MQEN,1,-^D3,14		; CRAM MQ
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 186
*PROGRAM STORAGE* 7508.20

   5647						CRMFD$	COND,1,0,4		; CRAM COND 05
   5648						CRMFD$	COND,1,-^D5,4		; CRAM COND 04
   5649						CRMFD$	COND,1,-^D6,4		; CRAM COND 03
   5650						CRMFD$	COND,3,^D3,14		; CRAM COND 00 - 02
   5651
   5652						CRMFD$	ADSEL,4,-^D8,12		; CRAM AD SEL
   5653
   5654						CRMFD$	ADBOOL,1,-^D5,12	; CRAM AD BOOLE
   5655
   5656						CRMFD$	ADADIS,1,-^D4,12	; CRAM ADA DIS
   5657
   5658						CRMFD$	ADASEL,2,-^D2,12	; CRAM ADA SEL
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 187
*PROGRAM STORAGE* 7508.20

   5660						CRMFD$	ADBSEL,1,-^D15,10	; CRAM ADB SEL 2
   5661						CRMFD$	ADBSEL,1,-^D8,10	; CRAM ADB SEL 1
   5662
   5663						CRMFD$	MAGIC,3,0,10		; CRAM MAGIC # 06 - 08
   5664						CRMFD$	MAGIC,3,-^D3,10		; CRAM MAGIC # 03 - 05
   5665						CRMFD$	MAGIC,3,-^D6,10		; CRAM MAGIC # 00 - 02
   5666
   5667						CRMFD$	ARXMSL,1,-^D1,10	; CRAM ARXM SEL 4
   5668						CRMFD$	ARXMSL,1,-^D14,0	; CRAM ARXM SEL 2
   5669						CRMFD$	ARXMSL,1,-^D13,0	; CRAM ARXM SEL 1
   5670
   5671						CRMFD$	SCADA,2,-^D10,6		; CRAM SCADA
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 188
*PROGRAM STORAGE* 7508.20

   5673						CRMFD$	SCADB,1,-^D8,6		; CRAM SCADB SEL 2
   5674						CRMFD$	SCADB,1,-^D11,2		; CRAM SCADB SEL 1
   5675
   5676						CRMFD$	MARK,1,-^D8,6		; CRAM MARK
   5677
   5678						CRMFD$	VMASEL,1,-^D4,6		; CRAM VMA SEL 2
   5679						CRMFD$	VMASEL,1,-^D9,0		; CRAM VMA SEL 1
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 189
*PROGRAM STORAGE* 7508.20

   5681						CRMFD$	ARMSEL,1,-^D2,6		; CRAM ARM SEL 4
   5682						CRMFD$	ARMSEL,1,-^D4,2		; CRAM ARM SEL 2
   5683						CRMFD$	ARMSEL,1,-^D3,2		; CRAM ARM SEL 1
   5684
   5685						CRMFD$	SHARMM,2,-^D2,6		; CRAM SH-ARMM
   5686
   5687						CRMFD$	MEM,4,-^D12,4		; CRAM MEM
   5688
   5689						CRMFD$	BRLOAD,1,-^D9,4		; CRAM BR LOAD
   5690
   5691						CRMFD$	BRXLOD,1,-^D7,4		; CRAM BRX LOAD
   5692
   5693						CRMFD$	FMADR,3,-^D1,4		; CRAM FM ADR
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 190
*PROGRAM STORAGE* 7508.20

   5695						CRMFD$	SCM,1,-^D9,2		; CRAM SCM
   5696						CRMFD$	ADCRY,1,-^D7,0		; CRAM AD CRY
   5697
   5698						CRMFD$	T,1,-^D1,0		; CRAM T01
   5699						CRMFD$	T,1,-^D2,0		; CRAM T00
   5700
   5701						CRMFD$	DISP,5,0,20		; CRAM DISP
   5702						.WORD	0			; END-OF-TABLE MARKER
   5703						.WORD	CRMFDT			; POINTER TO TOP OF BLOCK
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 191
*PROGRAM STORAGE* 7508.20

   5705					.SBTTL	*CRAMDT -- KL10 CRAM LOGICAL FIELD DECODE TABLES AND STORAGE* 7512.03
   5706
   5707					;+
   5708					; THIS IS A PICTURE OF THE CRAM LOGICAL FIELD TABLE:
   5709					;
   5710					;	WORD	CONTENTS
   5711					;	----	--------
   5712					;		!===============================!
   5713					;	00	!   LOGICAL WORD 0 (11 BITS)	!
   5714					;		!-------------------------------!
   5715					;	02	!   LOGICAL WORD 1 (9 BITS)	!
   5716					;		!-------------------------------!
   5717					;	04	!   LOGICAL WORD 2 (12 BITS)	!
   5718					;		!-------------------------------!
   5719					;	06	!   LOGICAL WORD 3 (10 BITS)	!
   5720					;		!-------------------------------!
   5721					;	10	!   LOGICAL WORD 4 (10 BITS)	!
   5722					;		!-------------------------------!
   5723					;	12	!   LOGICAL WORD 5 (11 BITS)	!
   5724					;		!-------------------------------!
   5725					;	14	!   LOGICAL WORD 6 (10 BITS)	!
   5726					;		!===============================!
   5727					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 192
*PROGRAM STORAGE* 7508.20

   5729					; DEFINE THE CRAM  LOGICAL FIELD DECODE TABLE MACRO.
   5730
   5731					.MACRO	CRMLD$	..DEST,..BITS,..SHF,..IDX
   5732					 .IF DF ..DEST
   5733					  .IF NE <..ODST-..DEST>
   5734					   ..MSK=0
   5735					   ..OMSK=0
   5736					   ..ODST= ..DEST
   5737					  .ENDC				; IF NE
   5738					 .IFF
   5739					  .PSECT	CRDF
   5740					  ..DEST::
   5741						.WORD	0
   5742					  .PSECT
   5743					 .ENDC				; IF DF
   5744					..OMSK=..MSK!..OMSK
   5745					..MSK=..OMSK+1
   5746					.REPT ..BITS
   5747					 ..MSK=..MSK*2
   5748					.ENDR
   5749					..MSK=..MSK-..OMSK-1
   5750					.IF EQ ..OMSK
   5751						.WORD	100000!..MSK
   5752					.IFF
   5753						.WORD	..MSK
   5754					.ENDC				; IF EQ
   5755						.BYTE	..SHF,..IDX
   5756						.WORD	..DEST
   5757					.ENDM	CRMLD$
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 193
*PROGRAM STORAGE* 7508.20

   5759					; THIS TABLE DECODES THE CRAM DATA INTO THE SAME FORMAT AS IN THE
   5760					; CRAM LISTING (Q.V.). THE LOGICAL WORDS ARE BUILT FROM TOP TO BOTTOM,
   5761					; AND THE LOCAL COMMENTS INDICATE WHICH FIELDS MAKE UP THOSE WORDS.
   5762
   5763					; WORD 0 IS THE "J" FIELD
   5764
   5765					CRMLDT:
   5766
   5767						CRMLD$	CRMLF0,4,-^D6,14	; J FIELD 07 - 10
   5768						CRMLD$	CRMLF0,4,-^D8,14	; J FIELD 03 - 06
   5769						CRMLD$	CRMLF0,3,^D6,16		; J FIELD 00 - 02
   5770
   5771					; LOGICAL WORD 1 CONTAINS THE AD/ADX CONTROLS
   5772
   5773						CRMLD$	CRMLF1,1,-^D9,10	; ADB SEL
   5774						CRMLD$	CRMLF1,2,-^D1,12	; ADA SEL
   5775						CRMLD$	CRMLF1,4,-^D6,12	; AD SEL
   5776						CRMLD$	CRMLF1,1,^D2,12		; AD BOOLE
   5777						CRMLD$	CRMLF1,1,^D1,0		; AD CRY
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 194
*PROGRAM STORAGE* 7508.20

   5779					; LOGICAL WORD 2 CONTAINS THE AR, ARX, BR, BRX, MQ, AND FM ADR CONTROLS
   5780
   5781						CRMLD$	CRMLF2,3,-^D1,4		; FM ADR
   5782						CRMLD$	CRMLF2,1,0,14		; MQ SEL
   5783						CRMLD$	CRMLF2,1,-^D3,4		; BRX LOAD
   5784						CRMLD$	CRMLF2,1,-^D4,4		; BR LOAD
   5785						CRMLD$	CRMLF2,1,-^D7,0		; ARXM SEL 1
   5786						CRMLD$	CRMLF2,1,-^D8,0		; ARXM SEL 2
   5787						CRMLD$	CRMLF2,1,^D5,10		; ARXM SEL 4
   5788						CRMLD$	CRMLF2,1,^D6,2		; ARM SEL 1
   5789						CRMLD$	CRMLF2,1,^D5,2		; ARM SEL 2
   5790						CRMLD$	CRMLF2,1,^D7,10		; ARM SEL 4
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 195
*PROGRAM STORAGE* 7508.20

   5792					; LOGICAL WORD 3 CONTAINS THE SCAD, FE, AND SHIFTER CONTROLS
   5793
   5794						CRMLD$	CRMLF3,1,-^D9,2		; SCM
   5795						CRMLD$	CRMLF3,1,-^D5,16	; FE LOAD
   5796						CRMLD$	CRMLF3,1,-^D9,2		; SCADB SEL 1
   5797						CRMLD$	CRMLF3,1,-^D6,6		; SCADB SEL 2
   5798						CRMLD$	CRMLF3,2,-^D6,6		; SCADA SEL 1 & 2
   5799						CRMLD$	CRMLF3,1,-^D5,16	; SCADA EN
   5800						CRMLD$	CRMLF3,3,-^D1,16	; SCAD SEL
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 196
*PROGRAM STORAGE* 7508.20

   5802					; LOGICAL WORD 4 HAS THE MEM, TIME AND VMA CONTROLS
   5803
   5804						CRMLD$	CRMLF4,4,-^D2,4		; MEM
   5805						CRMLD$	CRMLF4,1,^D3,0		; T01
   5806						CRMLD$	CRMLF4,1,^D2,0		; T00
   5807						CRMLD$	CRMLF4,1,-^D3,0		; VMA SEL 1
   5808						CRMLD$	CRMLF4,1,^D2,6		; VMA SEL 2
   5809						CRMLD$	CRMLF4,2,^D6,6		; SH/ARMM
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 197
*PROGRAM STORAGE* 7508.20

   5811					; LOGICAL WORD 5 HAS THE DISP/SPEC AND COND FIELDS
   5812
   5813						CRMLD$	CRMLF5,5,0,20		; DISP/SPEC
   5814						CRMLD$	CRMLF5,1,^D5,4		; COND 05
   5815						CRMLD$	CRMLF5,1,^D6,4		; COND 04
   5816						CRMLD$	CRMLF5,1,-^D1,4		; COND 03
   5817						CRMLD$	CRMLF5,3,^D8,14		; COND 00 - 02
   5818
   5819					; LOGICAL WORD 6 HAS THE MAGIC # AND MARK FIELDS
   5820
   5821						CRMLD$	CRMLF6,3,0,10		; MAGIC # 06 - 08
   5822						CRMLD$	CRMLF6,3,-^D3,10	; MAGIC # 03 - 05
   5823						CRMLD$	CRMLF6,3,-^D6,10	; MAGIC # 00 - 02
   5824						CRMLD$	CRMLF6,1,^D1,6		; MARK
   5825						.WORD	0			; END-OF-TABLE MARKER
   5826						.WORD	CRMLDT			; POINTER TO TOP OF BLOCK
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 198
*PROGRAM STORAGE* 7508.20

   5828					.SBTTL	*DRAMFT -- KL10 DRAM FIELD DECODE TABLES AND STORAGE* 7510.30
   5829
   5830					;+
   5831					; DRAMFT -- KL10 DRAM FIELD DECODE TABLES AND STORAGE.
   5832					;
   5833					; FOR INFORMATION ABOUT THIS MACRO, SEE "CRAMFT".
   5834					;
   5835					; THIS IS A PICTURE OF THE DRAM FIELD STORAGE BLOCK.
   5836					; NOTE THAT THE DRAM FIELDS ARE STORED IN WORDS, RATHER THAN
   5837					; IN BYTES AS IN THE MAIN LINE CODE!
   5838					;
   5839					;	WORD	CONTENTS
   5840					;	----	--------
   5841					;
   5842					;		!===============================!
   5843					;	00	!        A EVEN (3 BITS)	!
   5844					;	  	!-------------------------------!
   5845					;	02	!        B EVEN (3 BITS)	!
   5846					;	  	!-------------------------------!
   5847					;	04	!     J 01 - 04 EVEN (4 BITS)	!
   5848					;	  	!-------------------------------!
   5849					;	06	!     J 07 - 10 EVEN (4 BITS)	!
   5850					;	  	!-------------------------------!
   5851					;	08	!       PARITY EVEN (1 BIT)	!
   5852					;	  	!-------------------------------!
   5853					;	10	!         A ODD (3 BITS)	!
   5854					;	  	!-------------------------------!
   5855					;	12	!         B ODD (3 BITS)	!
   5856					;	  	!-------------------------------!
   5857					;	14	!     J 01 - 04 ODD (4 BITS)	!
   5858					;	  	!-------------------------------!
   5859					;	16	!     J 07 - 10 ODD (4 BITS)	!
   5860					;	  	!-------------------------------!
   5861					;	18	!      PARITY ODD (1 BIT)	!
   5862					;		!===============================!
   5863					;-
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 199
*PROGRAM STORAGE* 7508.20

   5865					; DEFINE THE DRAM FEILD DECODE TABLE MACRO
   5866
   5867					.MACRO	DRMFD$	..DEST,..BITS,..SHF,..IDX
   5868					 .IF DF ..DEST
   5869					  .IF NE <..ODST-..DEST>
   5870					   ..MSK=0
   5871					   ..OMSK=0
   5872					   ..ODST= ..DEST
   5873					  .ENDC			; IF NE
   5874					 .IFF
   5875					  .PSECT	DRDF
   5876					  ..DEST::
   5877						.WORD	0
   5878					  .PSECT
   5879					 .ENDC			; IF DF
   5880					..OMSK=..MSK!..OMSK
   5881					..MSK=..OMSK+1
   5882					.REPT ..BITS
   5883					 ..MSK=..MSK*2
   5884					.ENDR
   5885					..MSK=..MSK-..OMSK-1
   5886					.IF EQ ..OMSK
   5887						.WORD	100000!..MSK
   5888					.IFF
   5889						.WORD	..MSK
   5890					.ENDC			; IF EQ
   5891						.BYTE	..SHF,..IDX
   5892						.WORD	..DEST
   5893					.ENDM	DRMFD$
   5894
   5895					.PSECT	DRDF
   5896					DRAMFT::			; DRAM FIELD STORAGE STARTS HERE
   5897					..ODST=.+4			; INIT ODST TO NOT START OF PSECT
   5898					.PSECT
COMSUB	*KL10 COMMAND PARSER SU	MACRO M1108  13-JAN-78 15:46  PAGE 200
*PROGRAM STORAGE* 7508.20

   5900					DRMFDT::			; DRAM DECODE TABLE STARTS HERE
   5901						DRMFD$	AE,3,-^D3,0	; DRAM A EVEN
   5902
   5903						DRMFD$	BE,3,0,0	; DRAM B EVEN
   5904
   5905						DRMFD$	J1.4E,4,-^D8,0	; DRAM J1 - J4 EVEN
   5906
   5907						DRMFD$	J7.10E,4,0,2	; DRAM J7 - J10 EVEN
   5908
   5909						DRMFD$	PE,1,-^D5,2	; DRAM PARITY EVEN
   5910
   5911						DRMFD$	AO,3,-^D11,2	; DRAM A ODD
   5912
   5913						DRMFD$	BO,3,-^D8,2	; DRAM B ODD
   5914
   5915						DRMFD$	J1.4O,4,0,4	; DRAM J1 - J4 ODD
   5916
   5917						DRMFD$	J7.10O,4,-^D8,4	; DRAM J7 - J10 ODD
   5918
   5919						DRMFD$	PO,1,-^D13,4	; DRAM PARITY ODD
   5920						.WORD	0		; END-OF-TABLE MARKER
   5921						.WORD	AE		; POINTER TO TOP OF BLOCK
   5922					.ENDC				; $RAMSW
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 202
*PROGRAM STORAGE* 7508.20

      1						.TITLE	KLNUM KL-10 ARITHMETIC SIMULATION ROUTINES (PAG)/RAB/TCP
      2						.SBTTL	KLNUM -- TITLE PAGE
      3
      4						.IDENT	/002000/
      5
      6					;                             COPYRIGHT (C) 1975, 1978 BY
      7					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      8					;
      9					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
     10					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
     11					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     12					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     13					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     14					;
     15					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     16					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     17					;       CORPORATION.
     18					;
     19					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     20					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     21
     22
     23
     24					;
     25					;	VERSION:	02-00
     26					;
     27					;	AUTHORS:	R.A. BELANGER
     28					;			P.A. GAGNER
     29					;			T.C. PORCHER
     30					;			R.C. BEAVEN
     31					;
     32					;	DATE:		7601.09
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 203
KLNUM -- TITLE PAGE

     34
     35					;	KL10 FORMAT NUMBERS ARE REPRESENTED IN PDP11
     36					;	MEMORY IN THE FOLLOWING FORMAT:
     37					;
     38
     39					;	-------------------------------------------------
     40					; L:	:20:21:22:23:24:25:26:27:28:29:30:31:32:33:34:35:
     41					;	-------------------------------------------------
     42					; L+2:	: 4: 5: 6: 7: 8: 9:10:11:12:13:14:15:16:17:18:19:
     43					;	-------------------------------------------------
     44					; L+4:	:  :  :  :  :  :  :  :  :  :  :  :  : 0: 1: 2: 3:
     45					;	-------------------------------------------------
     46					;
     47					;	(NOTE - BLANK BITS ARE ALWAYS ZERO. BIT 0 IS THE
     48					;		KL10 SIGN BIT. THIS IS THE FORMAT USED BY
     49					;		THE DTE-20.)
     50					;
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 204
EDIT HISTORY/RAB 7511.14

     52					.SBTTL	EDIT HISTORY/RAB 7511.14
     53
     54		000007 			VERSN==7
     55
     56					; 7	(RAB/PAG)	FIXED BUG IN KLINC AND KLDEC
     57					; 6	(PAG)		FIXED BUG IN KLLSH
     58					; 5	(RAB)		FIXED BUG IN KLCMP
     59					; 4	(PAG)		MULTIPLY BUG FIXED
     60					; 3	(PAG)		FIX BUG IN KLTST WHICH DESTROYED R0
     61					; 2	(PAG)		FIX SHIFT LEFT AND RIGHT
     62					; 1			START OF HISTORY
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 205
KLADD	ADD TWO KL NUMBERS

     64					.SBTTL	KLADD	ADD TWO KL NUMBERS
     65
     66					;
     67					;INPUT ARGUMENTS
     68					;
     69					;	R0 CONTAINS A POINTER TO THE FIRST
     70					;	R1 CONTAINS A POINTER TO THE SECOND
     71					;
     72					;OUTPUT ARGUMENTS
     73					;
     74					;	R0 POINTS TO THE SUM ON RETURN, WHICH IS THE
     75					;	   FIRST NUMBER.
     76					;
     77					;CALLED BY:
     78					;
     79					;	CALL KLADD
     80					;
     81					;
     82	007360				KLADD::
     83	007360	062120 				ADD	(R1)+,(R0)+	;ADD LOW ORDER PARTS
     84	007362	005510 				ADC	(R0)		;CARRY ANY OVERFLOW
     85	007364	062120 				ADD	(R1)+,(R0)+
     86	007366	005510 				ADC	(R0)		;FIX CARRIES
     87	007370	061110 				ADD	(R1),(R0)	;ADD HIGH ORDER PARTS
     88	007372	000137 	007440'			JMP	KLADJ1		;AND SIGN EXTEND
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 206
KLSUB	SUBTRACT ROUTINES

     90					.SBTTL	KLSUB	SUBTRACT ROUTINES
     91
     92	007376				KLSUB::
     93					;
     94					;INPUT ARGUMENTS
     95					;
     96					;	R0 POINTS TO THE NUMBER FROM WHICH TO SUBTRACT
     97					;	R1 POINTS TO THE NUMBER TO SUBTRACT
     98					;
     99					;OUTPUT ARGUMENTS
    100					;
    101					;	R0 RETURNS POINTING TO THE ANSWER
    102					;
    103
    104	007376					PUSH	R0		;SAVE VALUE
	007376	010046 				MOV	R0,-(SP)
    105	007400	010100 				MOV	R1,R0		;.NEGATE SECOND AND THEN
    106	007402					CALL	KLNEG		;.NEGATE IT
	007402	004737 	010150'			JSR	PC,KLNEG
    107	007406	011600 				MOV	(SP),R0		;.GET OLD ADDRESS
    108	007410					CALL	KLADD		;AND JUST ADD THEM
	007410	004737 	007360'			JSR	PC,KLADD
    109	007414	010100 				MOV	R1,R0		;.FIX ARG AGAIN
    110	007416					CALL	KLNEG
	007416	004737 	010150'			JSR	PC,KLNEG
    111	007422					POP	R0		;RESTORE R0
	007422	012600 				MOV	(SP)+,R0
    112	007424					RETURN
	007424	000207 				RTS	PC
    113
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 207
VARIOUS UTILITY ROUTINES/RAB 7509.05

    115					.SBTTL	VARIOUS UTILITY ROUTINES/RAB 7509.05
    116
    117	007426				KLXTN::
    118					;	THIS ROUTINE CLEARS THE UNUSED BITS IN THE TRIPLET
    119					;	REPRESENTING A KL10 WORD
    120					;
    121	007426	042760 	177760 	000004 		BIC	#177760,4(R0)	;CLEAR GARBAGE
    122	007434	000241 				CLC			;CLEAR LEFTOVER CARRIES
    123	007436				KLXTX:
    124	007436					RETURN
	007436	000207 				RTS	PC
    125
    126	007440				KLADJ1::			;ADJUST R0 & R1
    127	007440	024141 				CMP	-(R1),-(R1)
    128	007442				KLADJ::				;ADJUST ONLY R0
    129	007442	024040 				CMP	-(R0),-(R0)
    130	007444	000770 				BR	KLXTN		;AND EXTEND IT
    131
    132	007446				KLTST::				;TEST KL NUMBER FOR ZERO
    133	007446	005710 				TST	(R0)		;TEST FIRST WORD
    134	007450	001010 				BNE	KLTST2		; NON ZERO?
    135	007452	005760 	000002 			TST	2(R0)		;TEST SECOND WORD
    136	007456	001005 				BNE	KLTST2		; NON ZERO?
    137	007460	005760 	000004 			TST	4(R0)		;TEST THIRD WORD
    138	007464	001002 				BNE	KLTST2		; NON ZERO?
    139	007466				KLTST1:				;HERE IF KL ZERO
    140	007466	000241 				CLC			;CLEAR C BIT
    141	007470	000401 				BR	KLTST3		;AND GO AWAY
    142
    143	007472				KLTST2:
    144	007472	000261 				SEC			;SET C BIT IF NON-ZERO
    145	007474				KLTST3:
    146	007474					RETURN			; TO CALLER
	007474	000207 				RTS	PC
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 208
VARIOUS UTILITY ROUTINES/RAB 7509.05

    148	007476				KLCMPR::			;COMPARE TWO KL10 NUMBERS
    149	007476					PUSH	<(R0)+,(R0)+,(R0),R0>
	007476	012046 				MOV	(R0)+,-(SP)
	007500	012046 				MOV	(R0)+,-(SP)
	007502	011046 				MOV	(R0),-(SP)
	007504	010046 				MOV	R0,-(SP)
    150	007506					CALL	KLADJ		; ....RESET POINTERS
	007506	004737 	007442'			JSR	PC,KLADJ
    151	007512					CALL	KLSUB		; ....SUBTRACT NUMBERS
	007512	004737 	007376'			JSR	PC,KLSUB
    152	007516					CALL	KLTST		; ....IS EQUAL TO ZERO?
	007516	004737 	007446'			JSR	PC,KLTST
    153	007522					POP	<R0,(R0),-(R0),-(R0)>
	007522	012600 				MOV	(SP)+,R0
	007524	012610 				MOV	(SP)+,(R0)
	007526	012640 				MOV	(SP)+,-(R0)
	007530	012640 				MOV	(SP)+,-(R0)
    154	007532	103007 				BCC	1$		; YES, DONE
    155	007534	032760 	000010 	000004 		BIT	#10,4(R0)	; LESS THAN ZERO?
    156	007542	001401 				BEQ	2$		; NO, POSITIVE
    157	007544	000270 				SEN			; YES -- NEGATIVE
    158	007546				2$:
    159	007546	000244 				CLZ
    160	007550	000241 				CLC			; NON-ZERO
    161	007552				1$:
    162	007552					RETURN			;AND RETURN TO USER
	007552	000207 				RTS	PC
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 209
16 & 36 BIT MANIPULATION ROUTINES

    164					.SBTTL	16 & 36 BIT MANIPULATION ROUTINES
    165
    166					;	KLADDI - ADD 16 BITS TO 36 BITS
    167
    168					;
    169					;	THIS ROUTINE ADDS A 16 BIT QUANTITY TO A 36 BIT Q
    170					;
    171					;INPUT ARGUMENTS
    172					;
    173					;	R0 POINTS TO THE 36 BIT QUANTITY
    174					;	R1 CONTAINS THE 16 BIT QUANTITY
    175					;
    176					;OUTPUT ARGUMENTS
    177					;
    178					;	R0 POINTS TO THE 36 BIT ANSWER
    179
    180	007554				KLADDI::
    181	007554	005701 				TST	R1		;CHECK SIGN OF R1
    182	007556	002405 				BLT	ADSBI		;REALLY SUBTRACTION
    183	007560	060120 				ADD	R1,(R0)+	;ADD LOWER PARTS
    184	007562	005520 				ADC	(R0)+		;MIGHT GET A CARRY
    185	007564	005510 				ADC	(R0)		;AND EVEN HERE WE MIGHT
    186	007566				KLADIX:
    187	007566	000137 	007442'			JMP	KLADJ		;AND ADJUST R0 BACK
    188
    189	007572				ADSBI:
    190	007572	005401 				NEG	R1		;TAKE THE NEGAVITE
    191					;	[FALLS THROUGH INTO KLSUBI]
    192
    193					;	KLSUBI - SUBTRACT 16 BITS FROM 36 BITS
    194					;
    195	007574				KLSUBI::
    196	007574	005701 				TST	R1		;CHECK SIGN OF R1
    197	007576	003404 				BLE	SBADI		; REALLY WANTS TO ADD
    198	007600	160120 				SUB	R1,(R0)+	;SUBTRACT LOW ORDER PARTS
    199	007602	005620 				SBC	(R0)+		;FIX ALL THE CARRIES
    200	007604	005610 				SBC	(R0)
    201	007606	000767 				BR	KLADIX		;AND GO AWAY
    202
    203	007610				SBADI:
    204	007610	005401 				NEG	R1		;MAKE SUB INTO ADD
    205	007612	000760 				BR	KLADDI		;AND JUST ADD TOGETHER
    206
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 210
KLMULI - MULTIPLY 36 BITS BY 16 BITS

    208					.SBTTL	KLMULI - MULTIPLY 36 BITS BY 16 BITS
    209
    210					;		THIS ROUTINE MULTIPLIES
    211					;
    212					;INPUT & OUTPUT ARGUMENTS
    213					; ARE AS IN KLADDI
    214					;
    215	007614				KLMULI::
    216	007614					PUSH	<R0,R1,R2,R3>	;SAVE A FEW REGS
	007614	010046 				MOV	R0,-(SP)
	007616	010146 				MOV	R1,-(SP)
	007620	010246 				MOV	R2,-(SP)
	007622	010346 				MOV	R3,-(SP)
    217	007624	010002 				MOV	R0,R2		;SAVE FROM $MUL
    218	007626	010103 				MOV	R1,R3		;  "   "    "
    219	007630	011200 				MOV	(R2),R0		;GET LOW ORDER PART
    220	007632					CALL	$MUL		;MULTIPLY LOW ORDER PART
	007632	004737 	000000G			JSR	PC,$MUL
    221	007636	010112 				MOV	R1,(R2)		;STORE LOW ORDER ANSWER
    222	007640					PUSH	R0		;SAVE HIGH ORDER ANSWER
	007640	010046 				MOV	R0,-(SP)
    223	007642	016200 	000002 			MOV	2(R2),R0	;GET MIDDLE ORDER PART
    224	007646	010301 				MOV	R3,R1		;GET BACK MULTIPLIER
    225	007650					CALL	$MUL		;DO MIDDLE PART MULTIPLY
	007650	004737 	000000G			JSR	PC,$MUL
    226	007654	010162 	000002 			MOV	R1,2(R2)	;SAVE MIDDLE LOW
    227	007660					PUSH	R0		;SAVE MIDDLE HIGH FOR LATER
	007660	010046 				MOV	R0,-(SP)
    228	007662	016200 	000004 			MOV	4(R2),R0	;GET HIGH PART
    229	007666	010301 				MOV	R3,R1		;GET BACK MULTIPLIER
    230	007670					CALL	$MUL		;AND MULTIPLY
	007670	004737 	000000G			JSR	PC,$MUL
    231	007674	010162 	000004 			MOV	R1,4(R2)	;STORE HIGH PART, DISCARD EXCESS
    232	007700					POP	R1		;2ND WORD CARRY OVER
	007700	012601 				MOV	(SP)+,R1
    233	007702					POP	R0		;LOW WORD CARRY OVER
	007702	012600 				MOV	(SP)+,R0
    234	007704	060062 	000002 			ADD	R0,2(R2)	;SO ADD IN
    235	007710	005562 	000004 			ADC	4(R2)		;ADD IN ARITHMETIC CARRY
    236	007714	060162 	000004 			ADD	R1,4(R2)	;ADD IN HIGH PART
    237	007720					POP	<R3,R2,R1,R0>
	007720	012603 				MOV	(SP)+,R3
	007722	012602 				MOV	(SP)+,R2
	007724	012601 				MOV	(SP)+,R1
	007726	012600 				MOV	(SP)+,R0
    238	007730	000137 	007426'			JMP	KLXTN		;AND EXTEND ANSWER
    239
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 211
KLDIVI - DIVIDE 36 BITS BY 16 BITS

    241					.SBTTL	KLDIVI - DIVIDE 36 BITS BY 16 BITS
    242
    243	007734				KLDIVI::
    244	007734					PUSH	R0
	007734	010046 				MOV	R0,-(SP)
    245	007736					PUSH	R1
	007736	010146 				MOV	R1,-(SP)
    246	007740	012701 	000003 			MOV	#3,R1
    247	007744					CALL	KLLSHI		;PRETEND ALWAYS 8
	007744	004737 	007760'			JSR	PC,KLLSHI
    248	007750					POP	R1
	007750	012601 				MOV	(SP)+,R1
    249	007752					POP	R0
	007752	012600 				MOV	(SP)+,R0
    250	007754					RETURN
	007754	000207 				RTS	PC
    251
    252
    253	007756					RETURN
	007756	000207 				RTS	PC
    254
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 212
MORE 16 & 36 BIT MANIPULATION

    256					.SBTTL	MORE 16 & 36 BIT MANIPULATION
    257
    258					;
    259					;	SHIFTS A 36 BIT QUANTITY BY A 16 BIT QUANTITY
    260					;
    261					;INPUT ARGUMENTS
    262					;
    263					;	R0 POINTS TO THE 36 BIT QUANTITY
    264					;	R1 CONTAINS THE 16 BIT QUANTITY
    265					;
    266					;OUTPUT ARGUMENTS
    267					;
    268					;	R0 POINTS TO THE 36 BIT ANSWER
    269					;
    270	007760				KLLSHI::
    271	007760					PUSH	R1		;SAVE FROM ROUTINE
	007760	010146 				MOV	R1,-(SP)
    272	007762	005701 				TST	R1		;TEST SIGN OF SHIFTER
    273	007764	002002 				BGE	KLLI0		;REALLY MEANS LEFT
    274	007766	005401 				NEG	R1		;MEANS RIGHT, SO NEGATE
    275	007770	000420 				BR	KLRI0		;AND GO RIGHT
    276
    277	007772				KLLI0:
    278	007772	001406 				BEQ	KLLI1		;ON ZERO DO NOTHING
    279	007774	006320 				ASL	(R0)+		;CLEAR C BIT AND SHIFT
    280	007776	006120 				ROL	(R0)+		;USE C BIT AND SHIFT
    281	010000	006110 				ROL	(R0)
    282	010002	024040 				CMP	-(R0),-(R0)	;POINT BACK TO BEGINNING
    283	010004					SOB	R1,KLLI0	;AND LOOP 'TILL DONE
	010004	005301 				DEC	R1
	010006	001371 				BNE	KLLI0
    284	010010				KLLI1:
    285	010010					POP	R1		;RESTORE R1
	010010	012601 				MOV	(SP)+,R1
    286	010012	000137 	007426'			JMP	KLXTN		;FIX EXTRA BITS AND RETURN
    287
    288					;
    289					;	THIS ROUTINE IS EXACTLY LIKE KLLSHI,
    290					;	EXCEPT IT SHIFTS RIGHT.
    291
    292	010016				KLRSHI::
    293	010016					PUSH	R1
	010016	010146 				MOV	R1,-(SP)
    294	010020	005701 				TST	R1		;TEST SIGN OF SHIFTER
    295	010022	001772 				BEQ	KLLI1		;DO NOTHING FOR ZERO
    296	010024	002002 				BGE	KLRI0
    297	010026	005401 				NEG	R1		;REALLY MEANT LEFT SHIFT
    298	010030	000760 				BR	KLLI0		; SO DO IT
    299
    300	010032				KLRI0:
    301	010032	022020 				CMP	(R0)+,(R0)+	;FIX PTR TO POINT TO HIGH PART
    302	010034	006210 				ASR	(R0)		;SHIFT HIGH PART
    303	010036	006040 				ROR	-(R0)		;THEN MIDDLE PART
    304	010040	006040 				ROR	-(R0)		;THEN LOW PART
    305	010042					SOB	R1,KLRI0	;UNTIL DONE
	010042	005301 				DEC	R1
	010044	001372 				BNE	KLRI0
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 212-1
MORE 16 & 36 BIT MANIPULATION

    306	010046	000760 				BR	KLLI1
    307
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 214
KL10 LOGICAL OPERATOR SIMULATIONS

    310					.SBTTL	KL10 LOGICAL OPERATOR SIMULATIONS
    311
    312	010050				KLIOR::
    313					;
    314					;	THIS FUNCTION PERFORMS THE LOGICAL OR OF TWO
    315					;	36 BIT NUMBERS
    316					;
    317					;INPUT ARGUMENTS
    318					;
    319					;	R0 POINTS TO ONE 36 BIT QUANTITY
    320					;	R1 POINTS TO THE OTHER
    321					;
    322					;OUTPUT ARGUMENTS
    323					;
    324					;	R0 POINTS TO THE ANSWER
    325					;
    326
    327	010050	052120 				BIS	(R1)+,(R0)+	;FIRST WORD
    328	010052	052120 				BIS	(R1)+,(R0)+	;SECOND WORD
    329	010054	051110 				BIS	(R1),(R0)	;LAST WORD
    330	010056				KLIORX:
    331	010056	000137 	007440'			JMP	KLADJ1		;AND ADJUST POINTERS
    332
    333	010062				KLAND::
    334					;	THIS PERFORMS LOGICAL AND
    335					;	ARGUMENTS ARE EXACTLY AS FOR KLIOR
    336					;
    337	010062					CALL	KLCMP		;PDP-11 LACKS AND
	010062	004737 	010136'			JSR	PC,KLCMP
    338	010066	042120 				BIC	(R1)+,(R0)+	;SO DO -(-A)+B
    339	010070	042120 				BIC	(R1)+,(R0)+	;FOR ALL THE WORDS
    340	010072	041110 				BIC	(R1),(R0)
    341	010074	000770 				BR	KLIORX		;TO SAVE THE JUMP WORD
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 215
MORE KL10 LOGICAL OPERATORS

    343					.SBTTL	MORE KL10 LOGICAL OPERATORS
    344
    345					;
    346					;	THIS ROUTINE INCREMENTS A 36 BIT QUANTITY
    347					;
    348					;INPUT ARGUMENTS
    349					;
    350					;	R0 POINTS TO THE NUMBER TO BE INCREMENTED
    351					;
    352					;OUTPUT ARGUMENTS
    353					;
    354					;	THE NUMBER POINTED TO IS INCREMENTED
    355					;
    356
    357	010076				KLINC::
    358	010076	062720 	000001 			ADD	#1,(R0)+	;DO THE INCREMENT
    359	010102	005520 				ADC	(R0)+		;AND CARRY THE CARRIES
    360	010104	005510 				ADC	(R0)
    361	010106				KLINCX:
    362	010106	000137 	007442'			JMP	KLADJ		;AND READJUST POINTERS
    363
    364					;
    365					;	THIS ROUTINE DECREMENTS A 36 BIT QUANTITY. ARGUMENTS
    366					;	ARE AS FOR KLINC.
    367					;
    368
    369	010112				KLDEC::
    370	010112	162720 	000001 			SUB	#1,(R0)+	;DO THE DECREMENT
    371	010116	005620 				SBC	(R0)+		;AND STRAIGHTEN OUT THE CARRIES
    372	010120	005610 				SBC	(R0)
    373	010122	000771 				BR	KLINCX		;TO SAVE THE JUMP WORD
    374
    375
    376					;
    377					; THIS ROUTINE SETS A 36 BIT QUANTITY TO MINUS ONE.
    378					; ARGUMENTS ARE AS FOR "KLINC" AND "KLDEC".
    379					;
    380
    381	010124				KLSETO::
    382	010124					CALL	KLCLR		; MAKE IT ZERO
	010124	004737 	010220'			JSR	PC,KLCLR
    383	010130					CALL	KLCMP		; NOW MAKE IT -1
	010130	004737 	010136'			JSR	PC,KLCMP
    384	010134					RETURN			; AND GO AWAY
	010134	000207 				RTS	PC
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 216
MORE MISC KL FUNCTIONS/RAB 7509.19

    386					.SBTTL	MORE MISC KL FUNCTIONS/RAB 7509.19
    387
    388	010136				KLCMP::
    389					;
    390					;	THIS ROUTINE COMPLEMENTS (2) THE 36 BIT
    391					;	QUANTITY
    392					;
    393					;INPUT ARGUMENTS
    394					;
    395					;	R0 POINTS TO THE QUANTITY
    396					;
    397					;OUTPUT ARGUMENTS
    398					;
    399					;	R0 POINTS TO THE ANSWER
    400					;
    401	010136	005120 				COM	(R0)+	;DO IT ONCE
    402	010140	005120 				COM	(R0)+	;FOR EACH
    403	010142	005110 				COM	(R0)	; *OF THE WORDS AND THEN
    404	010144				KLCMPX:
    405	010144	000137 	007442'			JMP	KLADJ	;SIGN EXTEND
    406
    407	010150				KLNEG::
    408					;	THIS ROUTINE NEGATES A 36 BIT QUANTITY
    409					;
    410					;INPUT ARGUMENTS
    411					;
    412					;	R0 POINTS TO THE QUANTITY
    413					;;
    414					;OUTPUT ARGUMENTS
    415					;
    416					;	R0 POINTS TO THE ANSWER
    417					;
    418	010150					CALL	KLCMP		;FIRST COMPLEMENT
	010150	004737 	010136'			JSR	PC,KLCMP
    419	010154					CALL	KLINC		;-0 + NOT(0)+1
	010154	004737 	010076'			JSR	PC,KLINC
    420	010160					RETURN			;TO CALLER
	010160	000207 				RTS	PC
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 217
KLLSH - SHIFT A KL NUMBER

    422					.SBTTL	KLLSH - SHIFT A KL NUMBER
    423
    424					;	THIS ROUTINE SHIFTS ONE KL FORMAT
    425					;	NUMBER BY ANOTHER
    426					;
    427					;INPUT ARGUMENTS
    428					;
    429					;	R0 POINTS TO THE NUMBER TO BE SHIFTED
    430					;	R1 POINTS TO THE NUMBER WHICH INDICATES
    431					;	   THE NUMBER OF POSITIONS TO SHIFT
    432					;
    433					;	OUTPUT ARGUMENTS
    434					;
    435					;	R0 STILL POINTS TO THE NUMBER, BUT SHIFTED
    436					;
    437	010162				KLLSH::
    438	010162					PUSH	R1		;SAVE FROM BELOW
	010162	010146 				MOV	R1,-(SP)
    439	010164	032761 	000010 	000004 		BIT	#10,4(R1)	;TEST SIGN BIT
    440	010172	001004 				BNE	KLLSHR		;IF NON-ZERO, NEGATIVE
    441	010174	011101 				MOV	(R1),R1		;PICK UP LOW PART
    442	010176					CALL	KLLSHI		;DO THE SHIFT
	010176	004737 	007760'			JSR	PC,KLLSHI
    443	010202	000404 				BR	KLLSHX		;AND RETURN
    444
    445	010204				KLLSHR:				;LEFT SHIFT, BUT RIGHT?
    446	010204	011101 				MOV	(R1),R1		;PICK UP LOW PART
    447	010206	005401 				NEG	R1		; NEGATE IT
    448	010210					CALL	KLRSHI		;SHIFT RIGHT
	010210	004737 	010016'			JSR	PC,KLRSHI
    449	010214				KLLSHX:
    450	010214					POP	R1		;RESTORE R1
	010214	012601 				MOV	(SP)+,R1
    451	010216					RETURN			;AND RETURN
	010216	000207 				RTS	PC
    452
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 218
KLCLR - CLEAR A KL FORMAT NUMBER

    454					.SBTTL	KLCLR - CLEAR A KL FORMAT NUMBER
    455
    456					;
    457					;INPUT ARGUMENTS
    458					;
    459					;	R0 POINTS TO THE KL NUMBER
    460					;
    461					;OUTPUT ARGUMENTS
    462					;
    463					;	THE NUMBER POINTED TO IS CLEARED
    464					;
    465
    466	010220				KLCLR::
    467	010220	005020 				CLR	(R0)+
    468	010222	005020 				CLR	(R0)+
    469	010224	005010 				CLR	(R0)
    470	010226	000137 	007442'			JMP	KLADJ		;AND RETURN
    471
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 219
KLRSH	SHIFT A NUMBER RIGHT

    473					.SBTTL	KLRSH	SHIFT A NUMBER RIGHT
    474
    475					;
    476					;INPUT AND OUTPUT ARGS ARE SAME AS KLLSH
    477					;
    478
    479	010232				KLRSH::
    480	010232	005401 				NEG	R1
    481	010234					CALL	KLLSH		;HACK HACK
	010234	004737 	010162'			JSR	PC,KLLSH
    482	010240	005401 				NEG	R1
    483	010242					RETURN
	010242	000207 				RTS	PC
    484
KLNUM KL-10 ARITHMETIC SIMULATI	MACRO M1108  13-JAN-78 15:46  PAGE 220
KLRSH	SHIFT A NUMBER RIGHT

    486					;	[THE END OF THE ARITHMETIC FUNCTIONS]
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 222
KLRSH	SHIFT A NUMBER RIGHT

      1						.TITLE	KLPERR	KL10 FRONT END ERROR DECODER (PAG)/RAB 7509.08
      2						.SBTTL	KLPERR -- TITLE PAGE
      3
      4						.IDENT	/002000/
      5
      6					;                             COPYRIGHT (C) 1975, 1978 BY
      7					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      8					;
      9					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
     10					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
     11					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     12					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     13					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     14					;
     15					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     16					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     17					;       CORPORATION.
     18					;
     19					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     20					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     21
     22
     23
     24					;	VERSION:	02-00
     25					;
     26					;	AUTHORS:	R.A. BELANGER
     27					;			P.A. GAGNER
     28					;			T.C. PORCHER
     29					;			R.C. BEAVEN
     30					;
     31					;	DATE:		7601.09
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 223
*ERROR SEVERITY RANGES* 7509.08

     33					.SBTTL	*ERROR SEVERITY RANGES* 7509.08
     34
     35					;	THE FOLLOWING ARE SUGGESTED "SEVERITY RANGES"
     36					;
     37					;	00-07	ERROR NOT VERY SEVERE, WARNING
     38					;			00 IS USUALLY DIAGNOSTIC WARNING MSG
     39					;	10-17	TRUE ERROR, BUT NOT FATAL
     40					;	20-27	ERROR WHICH WILL NOT PERFORM FUNCTION
     41					;	30-37	ERROR WHICH WILL AFFECT SOMETHING ELSE
     42					;			OR INVALIDATE STATE OF MACHINE
     43					;	40-47	ERROR WHICH WILL NOT LET KL10 RUN
     44					;	50-77	FATAL ERROR, PDP-11 PROBABLY DEAD, OR
     45					;			PDP-11 PROGRAM FATAL FLAW
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

     47					.SBTTL	ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509.08
     48
     49	000000				.PSECT	SYMTBS
     50
     51	000000				ERRTBL::
     52	000000				CPERR	APC,30,<CACHE DIRECTORY PARITY ERROR>
	000002	   101 	   120 	   103 	.ASCIZ %APC - CACHE DIRECTORY PARITY ERROR%
	000005	   040 	   055 	   040
	000010	   103 	   101 	   103
	000013	   110 	   105 	   040
	000016	   104 	   111 	   122
	000021	   105 	   103 	   124
	000024	   117 	   122 	   131
	000027	   040 	   120 	   101
	000032	   122 	   111 	   124
	000035	   131 	   040 	   105
	000040	   122 	   122 	   117
	000043	   122 	   000
	000000	004303 				.RAD50	/APC/		; APC ERROR
	000002	000030 				.WORD	30		; SEVERITY WORD
	000004	000002'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     53	000006				CPERR	APM,30,<MEMORY BUS PARITY ERROR>
	000045	   101 	   120 	   115 	.ASCIZ %APM - MEMORY BUS PARITY ERROR%
	000050	   040 	   055 	   040
	000053	   115 	   105 	   115
	000056	   117 	   122 	   131
	000061	   040 	   102 	   125
	000064	   123 	   040 	   120
	000067	   101 	   122 	   111
	000072	   124 	   131 	   040
	000075	   105 	   122 	   122
	000100	   117 	   122 	   000
	000006	004315 				.RAD50	/APM/		; APM ERROR
	000010	000030 				.WORD	30		; SEVERITY WORD
	000012	000045'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     54	000014				CPERR	APN,30,<KL10 NON EX MEMORY ERROR>
	000103	   101 	   120 	   116 	.ASCIZ %APN - KL10 NON EX MEMORY ERROR%
	000106	   040 	   055 	   040
	000111	   113 	   114 	   061
	000114	   060 	   040 	   116
	000117	   117 	   116 	   040
	000122	   105 	   130 	   040
	000125	   115 	   105 	   115
	000130	   117 	   122 	   131
	000133	   040 	   105 	   122
	000136	   122 	   117 	   122
	000141	   000
	000014	004316 				.RAD50	/APN/		; APN ERROR
	000016	000030 				.WORD	30		; SEVERITY WORD
	000020	000103'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     55	000022				CPERR	APP,30,<KL10 PAGE FAILURE>
	000142	   101 	   120 	   120 	.ASCIZ %APP - KL10 PAGE FAILURE%
	000145	   040 	   055 	   040
	000150	   113 	   114 	   061
	000153	   060 	   040 	   120
	000156	   101 	   107 	   105
	000161	   040 	   106 	   101
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-1
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000164	   111 	   114 	   125
	000167	   122 	   105 	   000
	000022	004320 				.RAD50	/APP/		; APP ERROR
	000024	000030 				.WORD	30		; SEVERITY WORD
	000026	000142'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     56	000030				CPERR	APR,30,<KL10 APR ERROR>
	000172	   101 	   120 	   122 	.ASCIZ %APR - KL10 APR ERROR%
	000175	   040 	   055 	   040
	000200	   113 	   114 	   061
	000203	   060 	   040 	   101
	000206	   120 	   122 	   040
	000211	   105 	   122 	   122
	000214	   117 	   122 	   000
	000030	004322 				.RAD50	/APR/		; APR ERROR
	000032	000030 				.WORD	30		; SEVERITY WORD
	000034	000172'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     57	000036				CPERR	APS,30,<KL10 S-BUS ERROR>
	000217	   101 	   120 	   123 	.ASCIZ %APS - KL10 S-BUS ERROR%
	000222	   040 	   055 	   040
	000225	   113 	   114 	   061
	000230	   060 	   040 	   123
	000233	   055 	   102 	   125
	000236	   123 	   040 	   105
	000241	   122 	   122 	   117
	000244	   122 	   000
	000036	004323 				.RAD50	/APS/		; APS ERROR
	000040	000030 				.WORD	30		; SEVERITY WORD
	000042	000217'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     58
     59	000044				CPERR	BAE,10,<ARGUMENT OUT OF RANGE (.GT. 255.)>
	000246	   102 	   101 	   105 	.ASCIZ %BAE - ARGUMENT OUT OF RANGE (.GT. 255.)%
	000251	   040 	   055 	   040
	000254	   101 	   122 	   107
	000257	   125 	   115 	   105
	000262	   116 	   124 	   040
	000265	   117 	   125 	   124
	000270	   040 	   117 	   106
	000273	   040 	   122 	   101
	000276	   116 	   107 	   105
	000301	   040 	   050 	   056
	000304	   107 	   124 	   056
	000307	   040 	   062 	   065
	000312	   065 	   056 	   051
	000315	   000
	000044	006255 				.RAD50	/BAE/		; BAE ERROR
	000046	000010 				.WORD	10		; SEVERITY WORD
	000050	000246'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     60	000052				CPERR	BAS,10,<THIS COMMAND IS NOT AVAILABLE>
	000316	   102 	   101 	   123 	.ASCIZ %BAS - THIS COMMAND IS NOT AVAILABLE%
	000321	   040 	   055 	   040
	000324	   124 	   110 	   111
	000327	   123 	   040 	   103
	000332	   117 	   115 	   115
	000335	   101 	   116 	   104
	000340	   040 	   111 	   123
	000343	   040 	   116 	   117
	000346	   124 	   040 	   101
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-2
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000351	   126 	   101 	   111
	000354	   114 	   101 	   102
	000357	   114 	   105 	   000
	000052	006273 				.RAD50	/BAS/		; BAS ERROR
	000054	000010 				.WORD	10		; SEVERITY WORD
	000056	000316'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     61
     62	000060				CPERR	CAE,40,<KL10 CRAM ADDRESS ERROR>
	000362	   103 	   101 	   105 	.ASCIZ %CAE - KL10 CRAM ADDRESS ERROR%
	000365	   040 	   055 	   040
	000370	   113 	   114 	   061
	000373	   060 	   040 	   103
	000376	   122 	   101 	   115
	000401	   040 	   101 	   104
	000404	   104 	   122 	   105
	000407	   123 	   123 	   040
	000412	   105 	   122 	   122
	000415	   117 	   122 	   000
	000060	011355 				.RAD50	/CAE/		; CAE ERROR
	000062	000040 				.WORD	40		; SEVERITY WORD
	000064	000362'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     63	000066				CPERR	CCC,30,<CANT CLEAR KL10 CLOCK>
	000420	   103 	   103 	   103 	.ASCIZ %CCC - CANT CLEAR KL10 CLOCK%
	000423	   040 	   055 	   040
	000426	   103 	   101 	   116
	000431	   124 	   040 	   103
	000434	   114 	   105 	   101
	000437	   122 	   040 	   113
	000442	   114 	   061 	   060
	000445	   040 	   103 	   114
	000450	   117 	   103 	   113
	000453	   000
	000066	011473 				.RAD50	/CCC/		; CCC ERROR
	000070	000030 				.WORD	30		; SEVERITY WORD
	000072	000420'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     64	000074				CPERR	CCR,30,<CANT CLEAR KL10 RUN FLOP>
	000454	   103 	   103 	   122 	.ASCIZ %CCR - CANT CLEAR KL10 RUN FLOP%
	000457	   040 	   055 	   040
	000462	   103 	   101 	   116
	000465	   124 	   040 	   103
	000470	   114 	   105 	   101
	000473	   122 	   040 	   113
	000476	   114 	   061 	   060
	000501	   040 	   122 	   125
	000504	   116 	   040 	   106
	000507	   114 	   117 	   120
	000512	   000
	000074	011512 				.RAD50	/CCR/		; CCR ERROR
	000076	000030 				.WORD	30		; SEVERITY WORD
	000100	000454'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     65	000102				CPERR	CCS,30,<CANT START KL10 CLOCK>
	000513	   103 	   103 	   123 	.ASCIZ %CCS - CANT START KL10 CLOCK%
	000516	   040 	   055 	   040
	000521	   103 	   101 	   116
	000524	   124 	   040 	   123
	000527	   124 	   101 	   122
	000532	   124 	   040 	   113
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-3
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000535	   114 	   061 	   060
	000540	   040 	   103 	   114
	000543	   117 	   103 	   113
	000546	   000
	000102	011513 				.RAD50	/CCS/		; CCS ERROR
	000104	000030 				.WORD	30		; SEVERITY WORD
	000106	000513'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     66	000110				CPERR	CCT,0,<CONTROL-C TYPED>
	000547	   103 	   103 	   124 	.ASCIZ %CCT - CONTROL-C TYPED%
	000552	   040 	   055 	   040
	000555	   103 	   117 	   116
	000560	   124 	   122 	   117
	000563	   114 	   055 	   103
	000566	   040 	   124 	   131
	000571	   120 	   105 	   104
	000574	   000
	000110	011514 				.RAD50	/CCT/		; CCT ERROR
	000112	000000 				.WORD	0		; SEVERITY WORD
	000114	000547'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     67	000116				CPERR	CES,47,<KL10 CLOCK ERROR STOP>
	000575	   103 	   105 	   123 	.ASCIZ %CES - KL10 CLOCK ERROR STOP%
	000600	   040 	   055 	   040
	000603	   113 	   114 	   061
	000606	   060 	   040 	   103
	000611	   114 	   117 	   103
	000614	   113 	   040 	   105
	000617	   122 	   122 	   117
	000622	   122 	   040 	   123
	000625	   124 	   117 	   120
	000630	   000
	000116	011633 				.RAD50	/CES/		; CES ERROR
	000120	000047 				.WORD	47		; SEVERITY WORD
	000122	000575'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     68	000124				CPERR	CFH,20,<CANT FIND KL10 HALT LOOP>
	000631	   103 	   106 	   110 	.ASCIZ %CFH - CANT FIND KL10 HALT LOOP%
	000634	   040 	   055 	   040
	000637	   103 	   101 	   116
	000642	   124 	   040 	   106
	000645	   111 	   116 	   104
	000650	   040 	   113 	   114
	000653	   061 	   060 	   040
	000656	   110 	   101 	   114
	000661	   124 	   040 	   114
	000664	   117 	   117 	   120
	000667	   000
	000124	011670 				.RAD50	/CFH/		; CFH ERROR
	000126	000020 				.WORD	20		; SEVERITY WORD
	000130	000631'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     69	000132				CPERR	CSC,20,<CANT SYNC KL10 CLOCK>
	000670	   103 	   123 	   103 	.ASCIZ %CSC - CANT SYNC KL10 CLOCK%
	000673	   040 	   055 	   040
	000676	   103 	   101 	   116
	000701	   124 	   040 	   123
	000704	   131 	   116 	   103
	000707	   040 	   113 	   114
	000712	   061 	   060 	   040
	000715	   103 	   114 	   117
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-4
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000720	   103 	   113 	   000
	000132	012673 				.RAD50	/CSC/		; CSC ERROR
	000134	000020 				.WORD	20		; SEVERITY WORD
	000136	000670'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     70	000140				CPERR	CSR,20,<CANT SET KL10 RUN FLOP>
	000723	   103 	   123 	   122 	.ASCIZ %CSR - CANT SET KL10 RUN FLOP%
	000726	   040 	   055 	   040
	000731	   103 	   101 	   116
	000734	   124 	   040 	   123
	000737	   105 	   124 	   040
	000742	   113 	   114 	   061
	000745	   060 	   040 	   122
	000750	   125 	   116 	   040
	000753	   106 	   114 	   117
	000756	   120 	   000
	000140	012712 				.RAD50	/CSR/		; CSR ERROR
	000142	000020 				.WORD	20		; SEVERITY WORD
	000144	000723'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     71
     72	000146				CPERR	DAE,37,<KL10 DRAM ADDRESS ERROR>
	000760	   104 	   101 	   105 	.ASCIZ %DAE - KL10 DRAM ADDRESS ERROR%
	000763	   040 	   055 	   040
	000766	   113 	   114 	   061
	000771	   060 	   040 	   104
	000774	   122 	   101 	   115
	000777	   040 	   101 	   104
	001002	   104 	   122 	   105
	001005	   123 	   123 	   040
	001010	   105 	   122 	   122
	001013	   117 	   122 	   000
	000146	014455 				.RAD50	/DAE/		; DAE ERROR
	000150	000037 				.WORD	37		; SEVERITY WORD
	000152	000760'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     73	000154				CPERR	DMF,47,<DEPOSIT KL10 MEMORY FAILED>
	001016	   104 	   115 	   106 	.ASCIZ %DMF - DEPOSIT KL10 MEMORY FAILED%
	001021	   040 	   055 	   040
	001024	   104 	   105 	   120
	001027	   117 	   123 	   111
	001032	   124 	   040 	   113
	001035	   114 	   061 	   060
	001040	   040 	   115 	   105
	001043	   115 	   117 	   122
	001046	   131 	   040 	   106
	001051	   101 	   111 	   114
	001054	   105 	   104 	   000
	000154	015416 				.RAD50	/DMF/		; DMF ERROR
	000156	000047 				.WORD	47		; SEVERITY WORD
	000160	001016'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     74	000162				CPERR	DNP,77,<DTE-20 NOT PRIVILEDGED, NO KL10 OPERATIONS ARE LEGAL>
	001057	   104 	   116 	   120 	.ASCIZ %DNP - DTE-20 NOT PRIVILEDGED, NO KL10 OPERATIONS ARE LEGAL%
	001062	   040 	   055 	   040
	001065	   104 	   124 	   105
	001070	   055 	   062 	   060
	001073	   040 	   116 	   117
	001076	   124 	   040 	   120
	001101	   122 	   111 	   126
	001104	   111 	   114 	   105
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-5
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	001107	   104 	   107 	   105
	001112	   104 	   054 	   040
	001115	   116 	   117 	   040
	001120	   113 	   114 	   061
	001123	   060 	   040 	   117
	001126	   120 	   105 	   122
	001131	   101 	   124 	   111
	001134	   117 	   116 	   123
	001137	   040 	   101 	   122
	001142	   105 	   040 	   114
	001145	   105 	   107 	   101
	001150	   114 	   000
	000162	015500 				.RAD50	/DNP/		; DNP ERROR
	000164	000077 				.WORD	77		; SEVERITY WORD
	000166	001057'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     75	000170				CPERR	DSF,50,<DTE-20 STATUS FAILURE>
	001152	   104 	   123 	   106 	.ASCIZ %DSF - DTE-20 STATUS FAILURE%
	001155	   040 	   055 	   040
	001160	   104 	   124 	   105
	001163	   055 	   062 	   060
	001166	   040 	   123 	   124
	001171	   101 	   124 	   125
	001174	   123 	   040 	   106
	001177	   101 	   111 	   114
	001202	   125 	   122 	   105
	001205	   000
	000170	015776 				.RAD50	/DSF/		; DSF ERROR
	000172	000050 				.WORD	50		; SEVERITY WORD
	000174	001152'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     76	000176				CPERR	DTC,77,<RUN AND HALT LOOP BOTH ON>
	001206	   104 	   124 	   103 	.ASCIZ %DTC - RUN AND HALT LOOP BOTH ON%
	001211	   040 	   055 	   040
	001214	   122 	   125 	   116
	001217	   040 	   101 	   116
	001222	   104 	   040 	   110
	001225	   101 	   114 	   124
	001230	   040 	   114 	   117
	001233	   117 	   120 	   040
	001236	   102 	   117 	   124
	001241	   110 	   040 	   117
	001244	   116 	   000
	000176	016043 				.RAD50	/DTC/		; DTC ERROR
	000200	000077 				.WORD	77		; SEVERITY WORD
	000202	001206'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     77
     78	000204				CPERR	ECT,77,<EBOX CLOCK TIMEOUT>
	001246	   105 	   103 	   124 	.ASCIZ %ECT - EBOX CLOCK TIMEOUT%
	001251	   040 	   055 	   040
	001254	   105 	   102 	   117
	001257	   130 	   040 	   103
	001262	   114 	   117 	   103
	001265	   113 	   040 	   124
	001270	   111 	   115 	   105
	001273	   117 	   125 	   124
	001276	   000
	000204	017714 				.RAD50	/ECT/		; ECT ERROR
	000206	000077 				.WORD	77		; SEVERITY WORD
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-6
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000210	001246'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     79	000212				CPERR	EOA,10,<PDP-11 ODD ADDRESS ILLEGAL>
	001277	   105 	   117 	   101 	.ASCIZ %EOA - PDP-11 ODD ADDRESS ILLEGAL%
	001302	   040 	   055 	   040
	001305	   120 	   104 	   120
	001310	   055 	   061 	   061
	001313	   040 	   117 	   104
	001316	   104 	   040 	   101
	001321	   104 	   104 	   122
	001324	   105 	   123 	   123
	001327	   040 	   111 	   114
	001332	   114 	   105 	   107
	001335	   101 	   114 	   000
	000212	020631 				.RAD50	/EOA/		; EOA ERROR
	000214	000010 				.WORD	10		; SEVERITY WORD
	000216	001277'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     80	000220				CPERR	ESD,47,<EBOX STOPPED - DEPOSIT>
	001340	   105 	   123 	   104 	.ASCIZ %ESD - EBOX STOPPED - DEPOSIT%
	001343	   040 	   055 	   040
	001346	   105 	   102 	   117
	001351	   130 	   040 	   123
	001354	   124 	   117 	   120
	001357	   120 	   105 	   104
	001362	   040 	   055 	   040
	001365	   104 	   105 	   120
	001370	   117 	   123 	   111
	001373	   124 	   000
	000220	021074 				.RAD50	/ESD/		; ESD ERROR
	000222	000047 				.WORD	47		; SEVERITY WORD
	000224	001340'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     81	000226				CPERR	EMF,47,<EXAMINE KL10 MEMORY FAILED>
	001375	   105 	   115 	   106 	.ASCIZ %EMF - EXAMINE KL10 MEMORY FAILED%
	001400	   040 	   055 	   040
	001403	   105 	   130 	   101
	001406	   115 	   111 	   116
	001411	   105 	   040 	   113
	001414	   114 	   061 	   060
	001417	   040 	   115 	   105
	001422	   115 	   117 	   122
	001425	   131 	   040 	   106
	001430	   101 	   111 	   114
	001433	   105 	   104 	   000
	000226	020516 				.RAD50	/EMF/		; EMF ERROR
	000230	000047 				.WORD	47		; SEVERITY WORD
	000232	001375'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     82	000234				CPERR	EPE,77,<EBUS PARITY ERROR>
	001436	   105 	   120 	   105 	.ASCIZ %EPE - EBUS PARITY ERROR%
	001441	   040 	   055 	   040
	001444	   105 	   102 	   125
	001447	   123 	   040 	   120
	001452	   101 	   122 	   111
	001455	   124 	   131 	   040
	001460	   105 	   122 	   122
	001463	   117 	   122 	   000
	000234	020705 				.RAD50	/EPE/		; EPE ERROR
	000236	000077 				.WORD	77		; SEVERITY WORD
	000240	001436'				.WORD	SYMA		; LOCATION OF ASCII STRNG
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-7
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

     83	000242				CPERR	ESE,47,<EBOX STOPPED - EXAMINE>
	001466	   105 	   123 	   105 	.ASCIZ %ESE - EBOX STOPPED - EXAMINE%
	001471	   040 	   055 	   040
	001474	   105 	   102 	   117
	001477	   130 	   040 	   123
	001502	   124 	   117 	   120
	001505	   120 	   105 	   104
	001510	   040 	   055 	   040
	001513	   105 	   130 	   101
	001516	   115 	   111 	   116
	001521	   105 	   000
	000242	021075 				.RAD50	/ESE/		; ESE ERROR
	000244	000047 				.WORD	47		; SEVERITY WORD
	000246	001466'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     84	000250				CPERR	EVN,30,<PDP-11 NUMBER ERROR>
	001523	   105 	   126 	   116 	.ASCIZ %EVN - PDP-11 NUMBER ERROR%
	001526	   040 	   055 	   040
	001531	   120 	   104 	   120
	001534	   055 	   061 	   061
	001537	   040 	   116 	   125
	001542	   115 	   102 	   105
	001545	   122 	   040 	   105
	001550	   122 	   122 	   117
	001553	   122 	   000
	000250	021276 				.RAD50	/EVN/		; EVN ERROR
	000252	000030 				.WORD	30		; SEVERITY WORD
	000254	001523'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     85
     86	000256				CPERR	FRF,20,<FUNCTION READ FAILED>
	001555	   106 	   122 	   106 	.ASCIZ %FRF - FUNCTION READ FAILED%
	001560	   040 	   055 	   040
	001563	   106 	   125 	   116
	001566	   103 	   124 	   111
	001571	   117 	   116 	   040
	001574	   122 	   105 	   101
	001577	   104 	   040 	   106
	001602	   101 	   111 	   114
	001605	   105 	   104 	   000
	000256	024126 				.RAD50	/FRF/		; FRF ERROR
	000260	000020 				.WORD	20		; SEVERITY WORD
	000262	001555'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     87	000264				CPERR	FWF,20,<FUNCTION WRITE FAILED>
	001610	   106 	   127 	   106 	.ASCIZ %FWF - FUNCTION WRITE FAILED%
	001613	   040 	   055 	   040
	001616	   106 	   125 	   116
	001621	   103 	   124 	   111
	001624	   117 	   116 	   040
	001627	   127 	   122 	   111
	001632	   124 	   105 	   040
	001635	   106 	   101 	   111
	001640	   114 	   105 	   104
	001643	   000
	000264	024436 				.RAD50	/FWF/		; FWF ERROR
	000266	000020 				.WORD	20		; SEVERITY WORD
	000270	001610'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     88	000272				CPERR	FXF,20,<FUNCTION XCT FAILED>
	001644	   106 	   130 	   106 	.ASCIZ %FXF - FUNCTION XCT FAILED%
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-8
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	001647	   040 	   055 	   040
	001652	   106 	   125 	   116
	001655	   103 	   124 	   111
	001660	   117 	   116 	   040
	001663	   130 	   103 	   124
	001666	   040 	   106 	   101
	001671	   111 	   114 	   105
	001674	   104 	   000
	000272	024506 				.RAD50	/FXF/		; FXF ERROR
	000274	000020 				.WORD	20		; SEVERITY WORD
	000276	001644'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     89
     90	000300				CPERR	IAS,10,<ILLEGAL ARGUMENT FOR SET/CLEAR COMMAND>
	001676	   111 	   101 	   123 	.ASCIZ %IAS - ILLEGAL ARGUMENT FOR SET/CLEAR COMMAND%
	001701	   040 	   055 	   040
	001704	   111 	   114 	   114
	001707	   105 	   107 	   101
	001712	   114 	   040 	   101
	001715	   122 	   107 	   125
	001720	   115 	   105 	   116
	001723	   124 	   040 	   106
	001726	   117 	   122 	   040
	001731	   123 	   105 	   124
	001734	   057 	   103 	   114
	001737	   105 	   101 	   122
	001742	   040 	   103 	   117
	001745	   115 	   115 	   101
	001750	   116 	   104 	   000
	000300	034173 				.RAD50	/IAS/		; IAS ERROR
	000302	000010 				.WORD	10		; SEVERITY WORD
	000304	001676'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     91	000306				CPERR	IFC,10,<ILLEGAL FUNCTION CODE>
	001753	   111 	   106 	   103 	.ASCIZ %IFC - ILLEGAL FUNCTION CODE%
	001756	   040 	   055 	   040
	001761	   111 	   114 	   114
	001764	   105 	   107 	   101
	001767	   114 	   040 	   106
	001772	   125 	   116 	   103
	001775	   124 	   111 	   117
	002000	   116 	   040 	   103
	002003	   117 	   104 	   105
	002006	   000
	000306	034463 				.RAD50	/IFC/		; IFC ERROR
	000310	000010 				.WORD	10		; SEVERITY WORD
	000312	001753'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     92	000314				CPERR	ILA,10,<ILLEGAL ARGUMENT FOR COMMAND>
	002007	   111 	   114 	   101 	.ASCIZ %ILA - ILLEGAL ARGUMENT FOR COMMAND%
	002012	   040 	   055 	   040
	002015	   111 	   114 	   114
	002020	   105 	   107 	   101
	002023	   114 	   040 	   101
	002026	   122 	   107 	   125
	002031	   115 	   105 	   116
	002034	   124 	   040 	   106
	002037	   117 	   122 	   040
	002042	   103 	   117 	   115
	002045	   115 	   101 	   116
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-9
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	002050	   104 	   000
	000314	035041 				.RAD50	/ILA/		; ILA ERROR
	000316	000010 				.WORD	10		; SEVERITY WORD
	000320	002007'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     93	000322				CPERR	ILC,10,<ILLEGAL CHARACTER IN STRING>
	002052	   111 	   114 	   103 	.ASCIZ %ILC - ILLEGAL CHARACTER IN STRING%
	002055	   040 	   055 	   040
	002060	   111 	   114 	   114
	002063	   105 	   107 	   101
	002066	   114 	   040 	   103
	002071	   110 	   101 	   122
	002074	   101 	   103 	   124
	002077	   105 	   122 	   040
	002102	   111 	   116 	   040
	002105	   123 	   124 	   122
	002110	   111 	   116 	   107
	002113	   000
	000322	035043 				.RAD50	/ILC/		; ILC ERROR
	000324	000010 				.WORD	10		; SEVERITY WORD
	000326	002052'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     94	000330				CPERR	ILL,10,<ILLEGAL LINE TO COMMAND PARSER>
	002114	   111 	   114 	   114 	.ASCIZ %ILL - ILLEGAL LINE TO COMMAND PARSER%
	002117	   040 	   055 	   040
	002122	   111 	   114 	   114
	002125	   105 	   107 	   101
	002130	   114 	   040 	   114
	002133	   111 	   116 	   105
	002136	   040 	   124 	   117
	002141	   040 	   103 	   117
	002144	   115 	   115 	   101
	002147	   116 	   104 	   040
	002152	   120 	   101 	   122
	002155	   123 	   105 	   122
	002160	   000
	000330	035054 				.RAD50	/ILL/		; ILL ERROR
	000332	000010 				.WORD	10		; SEVERITY WORD
	000334	002114'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     95	000336				CPERR	ILP,10,<CLEAR CLOCK/PARITY ARGUMENTS REQUIRED>
	002161	   111 	   114 	   120 	.ASCIZ %ILP - CLEAR CLOCK/PARITY ARGUMENTS REQUIRED%
	002164	   040 	   055 	   040
	002167	   103 	   114 	   105
	002172	   101 	   122 	   040
	002175	   103 	   114 	   117
	002200	   103 	   113 	   057
	002203	   120 	   101 	   122
	002206	   111 	   124 	   131
	002211	   040 	   101 	   122
	002214	   107 	   125 	   115
	002217	   105 	   116 	   124
	002222	   123 	   040 	   122
	002225	   105 	   121 	   125
	002230	   111 	   122 	   105
	002233	   104 	   000
	000336	035060 				.RAD50	/ILP/		; ILP ERROR
	000340	000010 				.WORD	10		; SEVERITY WORD
	000342	002161'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     96	000344				CPERR	ILS,10,<ILLEGAL SEPARATOR CHARACTER>
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-10
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	002235	   111 	   114 	   123 	.ASCIZ %ILS - ILLEGAL SEPARATOR CHARACTER%
	002240	   040 	   055 	   040
	002243	   111 	   114 	   114
	002246	   105 	   107 	   101
	002251	   114 	   040 	   123
	002254	   105 	   120 	   101
	002257	   122 	   101 	   124
	002262	   117 	   122 	   040
	002265	   103 	   110 	   101
	002270	   122 	   101 	   103
	002273	   124 	   105 	   122
	002276	   000
	000344	035063 				.RAD50	/ILS/		; ILS ERROR
	000346	000010 				.WORD	10		; SEVERITY WORD
	000350	002235'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     97	000352				CPERR	IOC,10,<ILLEGAL KL10 OPCODE>
	002277	   111 	   117 	   103 	.ASCIZ %IOC - ILLEGAL KL10 OPCODE%
	002302	   040 	   055 	   040
	002305	   111 	   114 	   114
	002310	   105 	   107 	   101
	002313	   114 	   040 	   113
	002316	   114 	   061 	   060
	002321	   040 	   117 	   120
	002324	   103 	   117 	   104
	002327	   105 	   000
	000352	035233 				.RAD50	/IOC/		; IOC ERROR
	000354	000010 				.WORD	10		; SEVERITY WORD
	000356	002277'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     98	000360				CPERR	IPE,77,<INTERNAL PROGRAMMING ERROR>
	002331	   111 	   120 	   105 	.ASCIZ %IPE - INTERNAL PROGRAMMING ERROR%
	002334	   040 	   055 	   040
	002337	   111 	   116 	   124
	002342	   105 	   122 	   116
	002345	   101 	   114 	   040
	002350	   120 	   122 	   117
	002353	   107 	   122 	   101
	002356	   115 	   115 	   111
	002361	   116 	   107 	   040
	002364	   105 	   122 	   122
	002367	   117 	   122 	   000
	000360	035305 				.RAD50	/IPE/		; IPE ERROR
	000362	000077 				.WORD	77		; SEVERITY WORD
	000364	002331'				.WORD	SYMA		; LOCATION OF ASCII STRNG
     99
    100	000366				CPERR	KLA,20,<KL10 ILLEGAL ADDRESS>
	002372	   113 	   114 	   101 	.ASCIZ %KLA - KL10 ILLEGAL ADDRESS%
	002375	   040 	   055 	   040
	002400	   113 	   114 	   061
	002403	   060 	   040 	   111
	002406	   114 	   114 	   105
	002411	   107 	   101 	   114
	002414	   040 	   101 	   104
	002417	   104 	   122 	   105
	002422	   123 	   123 	   000
	000366	043241 				.RAD50	/KLA/		; KLA ERROR
	000370	000020 				.WORD	20		; SEVERITY WORD
	000372	002372'				.WORD	SYMA		; LOCATION OF ASCII STRNG
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-11
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

    101	000374				CPERR	KLC,50,<KL10 CLOCK NOT RUNNING>
	002425	   113 	   114 	   103 	.ASCIZ %KLC - KL10 CLOCK NOT RUNNING%
	002430	   040 	   055 	   040
	002433	   113 	   114 	   061
	002436	   060 	   040 	   103
	002441	   114 	   117 	   103
	002444	   113 	   040 	   116
	002447	   117 	   124 	   040
	002452	   122 	   125 	   116
	002455	   116 	   111 	   116
	002460	   107 	   000
	000374	043243 				.RAD50	/KLC/		; KLC ERROR
	000376	000050 				.WORD	50		; SEVERITY WORD
	000400	002425'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    102	000402				CPERR	KLN,50,<KL10 NUMBER OUT OF RANGE>
	002462	   113 	   114 	   116 	.ASCIZ %KLN - KL10 NUMBER OUT OF RANGE%
	002465	   040 	   055 	   040
	002470	   113 	   114 	   061
	002473	   060 	   040 	   116
	002476	   125 	   115 	   102
	002501	   105 	   122 	   040
	002504	   117 	   125 	   124
	002507	   040 	   117 	   106
	002512	   040 	   122 	   101
	002515	   116 	   107 	   105
	002520	   000
	000402	043256 				.RAD50	/KLN/		; KLN ERROR
	000404	000050 				.WORD	50		; SEVERITY WORD
	000406	002462'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    103	000410				CPERR	KLR,20,<ILLEGAL WHILE KL10 RUNNING>
	002521	   113 	   114 	   122 	.ASCIZ %KLR - ILLEGAL WHILE KL10 RUNNING%
	002524	   040 	   055 	   040
	002527	   111 	   114 	   114
	002532	   105 	   107 	   101
	002535	   114 	   040 	   127
	002540	   110 	   111 	   114
	002543	   105 	   040 	   113
	002546	   114 	   061 	   060
	002551	   040 	   122 	   125
	002554	   116 	   116 	   111
	002557	   116 	   107 	   000
	000410	043262 				.RAD50	/KLR/		; KLR ERROR
	000412	000020 				.WORD	20		; SEVERITY WORD
	000414	002521'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    104	000416				CPERR	KLU,20,<KL10 MICROCODE NOT RUNNING>
	002562	   113 	   114 	   125 	.ASCIZ %KLU - KL10 MICROCODE NOT RUNNING%
	002565	   040 	   055 	   040
	002570	   113 	   114 	   061
	002573	   060 	   040 	   115
	002576	   111 	   103 	   122
	002601	   117 	   103 	   117
	002604	   104 	   105 	   040
	002607	   116 	   117 	   124
	002612	   040 	   122 	   125
	002615	   116 	   116 	   111
	002620	   116 	   107 	   000
	000416	043265 				.RAD50	/KLU/		; KLU ERROR
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-12
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000420	000020 				.WORD	20		; SEVERITY WORD
	000422	002562'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    105	000424				CPERR	KNC,40,<KL10 CAN'T BE CONTINUED>
	002623	   113 	   116 	   103 	.ASCIZ %KNC - KL10 CAN'T BE CONTINUED%
	002626	   040 	   055 	   040
	002631	   113 	   114 	   061
	002634	   060 	   040 	   103
	002637	   101 	   116 	   047
	002642	   124 	   040 	   102
	002645	   105 	   040 	   103
	002650	   117 	   116 	   124
	002653	   111 	   116 	   125
	002656	   105 	   104 	   000
	000424	043363 				.RAD50	/KNC/		; KNC ERROR
	000426	000040 				.WORD	40		; SEVERITY WORD
	000430	002623'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    106
    107	000432				CPERR	MAE,10,<EXAMINE DEPOSIT MODE ILLEGAL>
	002661	   115 	   101 	   105 	.ASCIZ %MAE - EXAMINE DEPOSIT MODE ILLEGAL%
	002664	   040 	   055 	   040
	002667	   105 	   130 	   101
	002672	   115 	   111 	   116
	002675	   105 	   040 	   104
	002700	   105 	   120 	   117
	002703	   123 	   111 	   124
	002706	   040 	   115 	   117
	002711	   104 	   105 	   040
	002714	   111 	   114 	   114
	002717	   105 	   107 	   101
	002722	   114 	   000
	000432	050555 				.RAD50	/MAE/		; MAE ERROR
	000434	000010 				.WORD	10		; SEVERITY WORD
	000436	002661'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    108	000440				CPERR	MUL,10,<AMBIGUOUS COMMAND>
	002724	   115 	   125 	   114 	.ASCIZ %MUL - AMBIGUOUS COMMAND%
	002727	   040 	   055 	   040
	002732	   101 	   115 	   102
	002735	   111 	   107 	   125
	002740	   117 	   125 	   123
	002743	   040 	   103 	   117
	002746	   115 	   115 	   101
	002751	   116 	   104 	   000
	000440	052224 				.RAD50	/MUL/		; MUL ERROR
	000442	000010 				.WORD	10		; SEVERITY WORD
	000444	002724'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    109
    110	000446				CPERR	NSC,10,<NO SUCH COMMAND>
	002754	   116 	   123 	   103 	.ASCIZ %NSC - NO SUCH COMMAND%
	002757	   040 	   055 	   040
	002762	   116 	   117 	   040
	002765	   123 	   125 	   103
	002770	   110 	   040 	   103
	002773	   117 	   115 	   115
	002776	   101 	   116 	   104
	003001	   000
	000446	055173 				.RAD50	/NSC/		; NSC ERROR
	000450	000010 				.WORD	10		; SEVERITY WORD
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-13
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000452	002754'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    111
    112	000454				CPERR	OFC,50,<ODD FUNCTION CODE>
	003002	   117 	   106 	   103 	.ASCIZ %OFC - ODD FUNCTION CODE%
	003005	   040 	   055 	   040
	003010	   117 	   104 	   104
	003013	   040 	   106 	   125
	003016	   116 	   103 	   124
	003021	   111 	   117 	   116
	003024	   040 	   103 	   117
	003027	   104 	   105 	   000
	000454	057263 				.RAD50	/OFC/		; OFC ERROR
	000456	000050 				.WORD	50		; SEVERITY WORD
	000460	003002'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    113
    114	000462				CPERR	RDI,40,<REGISTER DEPOSIT ILLEGAL>
	003032	   122 	   104 	   111 	.ASCIZ %RDI - REGISTER DEPOSIT ILLEGAL%
	003035	   040 	   055 	   040
	003040	   122 	   105 	   107
	003043	   111 	   123 	   124
	003046	   105 	   122 	   040
	003051	   104 	   105 	   120
	003054	   117 	   123 	   111
	003057	   124 	   040 	   111
	003062	   114 	   114 	   105
	003065	   107 	   101 	   114
	003070	   000
	000462	070451 				.RAD50	/RDI/		; RDI ERROR
	000464	000040 				.WORD	40		; SEVERITY WORD
	000466	003032'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    115	000470				CPERR	RPT,0,<REPEAT COUNT CHANGED>
	003071	   122 	   120 	   124 	.ASCIZ %RPT - REPEAT COUNT CHANGED%
	003074	   040 	   055 	   040
	003077	   122 	   105 	   120
	003102	   105 	   101 	   124
	003105	   040 	   103 	   117
	003110	   125 	   116 	   124
	003113	   040 	   103 	   110
	003116	   101 	   116 	   107
	003121	   105 	   104 	   000
	000470	071424 				.RAD50	/RPT/		; RPT ERROR
	000472	000000 				.WORD	0		; SEVERITY WORD
	000474	003071'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    116	000476				CPERR	RSX,77,<IMPOSSIBLE ERROR FROM RSX>
	003124	   122 	   123 	   130 	.ASCIZ %RSX - IMPOSSIBLE ERROR FROM RSX%
	003127	   040 	   055 	   040
	003132	   111 	   115 	   120
	003135	   117 	   123 	   123
	003140	   111 	   102 	   114
	003143	   105 	   040 	   105
	003146	   122 	   122 	   117
	003151	   122 	   040 	   106
	003154	   122 	   117 	   115
	003157	   040 	   122 	   123
	003162	   130 	   000
	000476	071620 				.RAD50	/RSX/		; RSX ERROR
	000500	000077 				.WORD	77		; SEVERITY WORD
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-14
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000502	003124'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    117
    118	000504				CPERR	SAZ,10,<STARTING ADDRESS OF ZERO ILLEGAL>
	003164	   123 	   101 	   132 	.ASCIZ %SAZ - STARTING ADDRESS OF ZERO ILLEGAL%
	003167	   040 	   055 	   040
	003172	   123 	   124 	   101
	003175	   122 	   124 	   111
	003200	   116 	   107 	   040
	003203	   101 	   104 	   104
	003206	   122 	   105 	   123
	003211	   123 	   040 	   117
	003214	   106 	   040 	   132
	003217	   105 	   122 	   117
	003222	   040 	   111 	   114
	003225	   114 	   105 	   107
	003230	   101 	   114 	   000
	000504	073402 				.RAD50	/SAZ/		; SAZ ERROR
	000506	000010 				.WORD	10		; SEVERITY WORD
	000510	003164'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    119
    120	000512				CPERR	TAA,47,<TASK ALREADY ACTIVE>
	003233	   124 	   101 	   101 	.ASCIZ %TAA - TASK ALREADY ACTIVE%
	003236	   040 	   055 	   040
	003241	   124 	   101 	   123
	003244	   113 	   040 	   101
	003247	   114 	   122 	   105
	003252	   101 	   104 	   131
	003255	   040 	   101 	   103
	003260	   124 	   111 	   126
	003263	   105 	   000
	000512	076451 				.RAD50	/TAA/		; TAA ERROR
	000514	000047 				.WORD	47		; SEVERITY WORD
	000516	003233'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    121	000520				CPERR	TIN,47,<ILLEGAL NAME FOR TASK>
	003265	   124 	   111 	   116 	.ASCIZ %TIN - ILLEGAL NAME FOR TASK%
	003270	   040 	   055 	   040
	003273	   111 	   114 	   114
	003276	   105 	   107 	   101
	003301	   114 	   040 	   116
	003304	   101 	   115 	   105
	003307	   040 	   106 	   117
	003312	   122 	   040 	   124
	003315	   101 	   123 	   113
	003320	   000
	000520	077166 				.RAD50	/TIN/		; TIN ERROR
	000522	000047 				.WORD	47		; SEVERITY WORD
	000524	003265'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    122	000526				CPERR	TNS,47,<NO SUCH TASK>
	003321	   124 	   116 	   123 	.ASCIZ %TNS - NO SUCH TASK%
	003324	   040 	   055 	   040
	003327	   116 	   117 	   040
	003332	   123 	   125 	   103
	003335	   110 	   040 	   124
	003340	   101 	   123 	   113
	003343	   000
	000526	077503 				.RAD50	/TNS/		; TNS ERROR
	000530	000047 				.WORD	47		; SEVERITY WORD
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-15
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	000532	003321'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    123
    124	000534				CPERR	UNL,47,<MICROCODE NOT LOADED>
	003344	   125 	   116 	   114 	.ASCIZ %UNL - MICROCODE NOT LOADED%
	003347	   040 	   055 	   040
	003352	   115 	   111 	   103
	003355	   122 	   117 	   103
	003360	   117 	   104 	   105
	003363	   040 	   116 	   117
	003366	   124 	   040 	   114
	003371	   117 	   101 	   104
	003374	   105 	   104 	   000
	000534	102574 				.RAD50	/UNL/		; UNL ERROR
	000536	000047 				.WORD	47		; SEVERITY WORD
	000540	003344'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    125
    126	000542				CPERR	VFY,37,<VERIFY CYCLE FAILED>
	003377	   126 	   106 	   131 	.ASCIZ %VFY - VERIFY CYCLE FAILED%
	003402	   040 	   055 	   040
	003405	   126 	   105 	   122
	003410	   111 	   106 	   131
	003413	   040 	   103 	   131
	003416	   103 	   114 	   105
	003421	   040 	   106 	   101
	003424	   111 	   114 	   105
	003427	   104 	   000
	000542	105211 				.RAD50	/VFY/		; VFY ERROR
	000544	000037 				.WORD	37		; SEVERITY WORD
	000546	003377'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    127
    128	000550				CPERR	WRM,10,<COMMAND NOT AVAILABLE IN THIS CONSOLE MODE>
	003431	   127 	   122 	   115 	.ASCIZ %WRM - COMMAND NOT AVAILABLE IN THIS CONSOLE MODE%
	003434	   040 	   055 	   040
	003437	   103 	   117 	   115
	003442	   115 	   101 	   116
	003445	   104 	   040 	   116
	003450	   117 	   124 	   040
	003453	   101 	   126 	   101
	003456	   111 	   114 	   101
	003461	   102 	   114 	   105
	003464	   040 	   111 	   116
	003467	   040 	   124 	   110
	003472	   111 	   123 	   040
	003475	   103 	   117 	   116
	003500	   123 	   117 	   114
	003503	   105 	   040 	   115
	003506	   117 	   104 	   105
	003511	   000
	000550	111235 				.RAD50	/WRM/		; WRM ERROR
	000552	000010 				.WORD	10		; SEVERITY WORD
	000554	003431'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    129
    130	000556				CPERR	XCR,10,<KL10 DID NOT RETURN TO HALT LOOP>
	003512	   130 	   103 	   122 	.ASCIZ %XCR - KL10 DID NOT RETURN TO HALT LOOP%
	003515	   040 	   055 	   040
	003520	   113 	   114 	   061
	003523	   060 	   040 	   104
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 224-16
ERRTBL -- *LIST OF ERROR CODES IN ALPHABETICAL ORDER*/RAB 7509

	003526	   111 	   104 	   040
	003531	   116 	   117 	   124
	003534	   040 	   122 	   105
	003537	   124 	   125 	   122
	003542	   116 	   040 	   124
	003545	   117 	   040 	   110
	003550	   101 	   114 	   124
	003553	   040 	   114 	   117
	003556	   117 	   120 	   000
	000556	113212 				.RAD50	/XCR/		; XCR ERROR
	000560	000010 				.WORD	10		; SEVERITY WORD
	000562	003512'				.WORD	SYMA		; LOCATION OF ASCII STRNG
    131
    132	000564				.PSECT	SYMTBS			;JUST IN CASE
    133	000564	000000 	000000 	000000 	.WORD	0,0,0			;ZERO ENTRY AT END
    134
    135	000572				PRTNER:
    136	000572	102515 				.RAD50	/UME/		;UNMATCHED ERROR?
    137	000574	000077 				.WORD	77		;VERY SERIOUS ERROR
    138	000576	003561'				.WORD PRTNEA		;ASCIZ STRING
    139	003561				.PSECT	SYMTAA
    140	003561				PRTNEA:
    141	003561	   125 	   115 	   105 		.ASCII "UME - UNMATCHED ERROR CODE - "
	003564	   040 	   055 	   040
	003567	   125 	   116 	   115
	003572	   101 	   124 	   103
	003575	   110 	   105 	   104
	003600	   040 	   105 	   122
	003603	   122 	   117 	   122
	003606	   040 	   103 	   117
	003611	   104 	   105 	   040
	003614	   055 	   040
    142	003616				PRTNEX:
    143	003616	   000 	   000 	   000 		.BYTE 0,0,0,0		;ASCIZ ERROR CODE GOES HERE
	003621	   000
KLPERR	KL10 FRONT END ERROR DE	MACRO M1108  13-JAN-78 15:46  PAGE 225
PRTERR -- COMMAND PARSER ERROR DECODER

    145					.SBTTL	PRTERR -- COMMAND PARSER ERROR DECODER
    146
    147	010244				.PSECT	;COMPRS
    148
    149					;	THIS ROUTINE RETURNS THE ASCIZ STRING
    150					;	ASSOCIATED WITH A RAD50 ERROR CODE.
    151					;
    152					; INPUT ARGUMENTS:
    153					;
    154					;	R0 HAS THE RAD50 CODE
    155					;
    156					; OUTPUT ARGUMENTS:
    157					;
    158					;	R0	POINTS TO THE ERROR SEVERITY.
    159					;		THE NEXT WORD IS THE ERROR ASCIZ STRING
    160					;
    161					;		RAD50 CODE
    162					;	R0 /	SEVERITY
    163					;		PTR TO STRING  / STRING
    164					;
    165					;	TYPICAL CALL (ERROR CODE IN R0)
    166					;
    167					;	CALL	PRTERR
    168					;	CMP	(R0)+,.ERLVL	; IS ERROR IN RANGE?
    169					;	BGE	NOT		; NO, NOT SERIOUS
    170					;	MOV	(R0),R0		; GET ADDRESS
    171					;	CALL	TYPLIN		; AND TYPE STRING
    172
    173	010244				PRTERR::
    174	010244					PUSH	R2		; SAVE REG
	010244	010246 				MOV	R2,-(SP)
    175	010246	012702 	000000'			MOV	#ERRTBL,R2	; .TABLE OF CODES
    176	010252				PRTER0:				; .TRY THIS ENTRY
    177	010252	005712 				TST	(R2)		; .IF ENTRY IS ZERO
    178	010254	001407 				BEQ	PRTER7		; .THEN NO MATCHES FOUND
    179	010256	022200 				CMP	(R2)+,R0	; .SEE IF SAME AS R0
    180	010260	001402 				BEQ	PRTER1		; .IF SO, GO AWAY
    181	010262	022222 				CMP	(R2)+,(R2)+	; .POINT TO NEXT ENTRY
    182	010264	000772 				BR	PRTER0		; .AND TRY AGAIN
    183	010266				PRTER1:				; .HERE IF MATCH
    184	010266	010200 				MOV	R2,R0		; .ERROR RETURN IN R0
    185	010270					POP	R2		; .RESTORE USER REG
	010270	012602 				MOV	(SP)+,R2
    186	010272					RETURN			; AND RETURN
	010272	000207 				RTS	PC
    187	010274				PRTER7:				; .NO MATCH
    188	010274	010001 				MOV	R0,R1		; GET RAD50 CODE
    189	010276	012700 	003616'			MOV	#PRTNEX,R0	; ADDRESS
    190	010302					CALL	.C5TA		; STICK IN ERROR CODE
	010302	004737 	015232'			JSR	PC,.C5TA
    191	010306	012702 	000574'			MOV	#PRTNER+2,R2	; HORRIBLE, NO MATCH
    192	010312	000765 				BR	PRTER1		; AND GO AWAY
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 228
PRTERR -- COMMAND PARSER ERROR DECODER

      1						.TITLE	KLERR - KL10 SYSTEM ERROR RECORDING PROGRAM
      2						.IDENT	/002020/
      3
      4					;                             COPYRIGHT (C) 1975, 1978 BY
      5					;                     DIGITAL EQUIPMENT CORPORATION, MAYNARD MASS.
      6					;
      7					;       THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE  USED  AND  COPIED
      8					;       ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE INCLUSION
      9					;       OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY OTHER COPIES THERE-
     10					;       OF  MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.
     11					;       NO TITLE TO OR OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
     12					;
     13					;       THE INFORMATION CONTAINED IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT
     14					;       NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
     15					;       CORPORATION.
     16					;
     17					;       DIGITAL ASSUMES NO RESPONSIBILITY FOR THE  USE  OR  RELIABILITY  OF  ITS
     18					;       SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPILED BY DIGITAL.
     19					;
     20					;
     21					;
     22					; DATE: NOVEMBER 17, 1975
     23					;
     24					; BY: JULIAN C. SHIH
     25					;
     26					; THIS PROGRAM IS CALLED BY RSX20F MONITOR TO RECORD KL10 ERROR
     27					; CONDITIONS WHICH STOP THE CLOCK AND THUS CANNOT BE HANDLED BY
     28					; THE KL10 ITSELF.  KLERR WILL RECORD INFORMATION ON FIVE
     29					; TYPES OF ERRORS, NAMELY;
     30					;
     31					;	1. FAST MEMORY PARITY CLOCK ERROR STOP
     32					;	2. C-RAM PARITY CLOCK ERROR STOP
     33					;	3. D-RAM PARITY CLOCK ERROR STOP
     34					;	4. FIELD SERVICE CLOCK ERROR STOP
     35					;	5. OTHERS
     36					;
     37
     38						.MACRO	KLEVR$ KEY,FRM,VER,EDT,NUM
     39						.IF	B,NUM
     40						.IF	NB,FRM
     41						KLEVR$	\KEY,\FRM,\VER,\EDT,0
     42						.IFF
     43						KLEVR$	\KEY,200,\VER,\EDT,0
     44						.ENDC
     45						.MEXIT
     46						.IFF
     47						.IF	GE,VER-10
     48						.IF	GE,EDT-10
     49						.ASCII	\VERSION \<KEY><FRM>\'VER'-'EDT'\<200>\ RUNNING\
     50						.IFF
     51						.ASCII	\VERSION \<KEY><FRM>\'VER'-0'EDT'\<200>\ RUNNING\
     52						.ENDC
     53						.IFF
     54						.IF	GE,EDT-10
     55						.ASCII	\VERSION \<KEY><FRM>\0'VER'-'EDT'\<200>\ RUNNING\
     56						.IFF
     57						.ASCII	\VERSION \<KEY><FRM>\0'VER'-0'EDT'\<200>\ RUNNING\
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 228-1
PRTERR -- COMMAND PARSER ERROR DECODER

     58						.ENDC
     59						.ENDC
     60						.ENDC
     61						.ENDM	KLEVR$
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229
PRTERR -- COMMAND PARSER ERROR DECODER

     63					;
     64					;	DEFINE SYSTEM MACROS
     65					;
     66						.MCALL	QIOSY$,GTIM$S,ALUN$,QIOW$,CALL,RETURN,POP,PUSH
     67						.MCALL	EXIT$S,DIR$,QIOW$S,$DEF,WTSE$S,$IO10,$I10
     68					;
     69	010314				$DEF
     70	010314				QIOSY$
     71					;
     72					; EQUATED SYMBLOS
     73					;
     74		000015 			CR=15			;CARRIAGE RETURN
     75		000012 			LF=12			;LINE FEED
     76		000011 			TAB=11			;TAB
     77		000057 			SLS=57			;SLASH
     78		000040 			SPC=40			;SPACE
     79		000001 			PRI1=1			;PRIORITY 1
     80		000001 			LUN1=1			;CTY LOGICAL UNIT
     81		000002 			LUN2=2			;FE DEVICE LOGICAL UNIT
     82		000011 			EFN1=11			;EVENT FLAG 1
     83		000012 			EFN2=12			;EVENT FLAG 2
     84					;
     85					;
     86					; EXTEND CONTROL BITS, I.EXTD+1 IN I/O PACKET
     87					;
     88		000001 			EX.AC1=1		;SET IF ALLOCATING CONTIGUOUS CHUNK
     89		000002 			EX.AC2=2		;SET IF SUPPOSED TO ALLOCATE LARGEST AVAILABLE
     90								;CONTIG CHUNK, IF CAN'T ALLOCATE DESIRED AMOUNT
     91		000004 			EX.FCO=4		;SET IF FILE IS TO BE CONTIGUOUS
     92		000010 			EX.ADF=10		;SET IF ALLOCATING DEFAULT NUMBER OF BLOCKS
     93		000200 			EX.ENA=200		;SET IF EXTEND IS ENABLED
     94					;
     95						.SBTTL	DIRECTORY FILE NAME BLOCK
     96					;
     97	010314	000000 	000000 	000000 	DIRFNB:: .WORD	0,0,0		;N.FID
     98	010322	140123 				.RAD50	/005/
     99	010324	140123 				.RAD50	/005/
    100	010326	000000 				.WORD	0		;N.FNAM
    101	010330	015172 				.RAD50	/DIR/		;N.FTYP
    102	010332	000000 				.WORD	0		;N.FVER
    103	010334	000000 				.WORD	0		;N.STAT
    104	010336	000000 				.WORD	0		;N.NEXT
    105	010340	177777 				.WORD	-1		;FILE ID
    106	010342	177777 				.WORD	-1		;FILE SEQ
    107	010344	   005 	   005 			.BYTE	5,5		;OWNER
    108					;
    109						.SBTTL	KLERRO.SNP FILE NAME BLOCK
    110					;
    111	010346				FILFNB:	.BLKB	32
    112		000032 			FNBSIZ=.-FILFNB
    113					;
    114						.SBTTL	FILE ID BLOCK
    115					;
    116	010400	000000 	000000 		FILFID:	.WORD	0,0		;FILE ID BLOCK
    117					;
    118						.SBTTL	FILE ATTRIBUTE CONTROL BLOCK
    119					;
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-1
FILE ATTRIBUTE CONTROL BLOCK

    120	010404	   005 			FILACB:	.BYTE	5		;FUNCTION (WRITE FILE NAME)
    121	010405	   012 				.BYTE	12		;FILE NAME SIZE
    122	010406	010472'				.WORD	FILNAM		;ADDR OF FILE NAME
    123	010410	   004 				.BYTE	4		;FUNCTION (FIXED LENGTH RECORD)
    124	010411	   014 				.BYTE	14		;SIZE
    125	010412	010420'				.WORD	ATTBLK		;ADDR OF ATTRIBUTES
    126	010414	000000 	000000 			.WORD	0,0		;LAST ENTRY
    127	010420	000001 	001000 	000000 	ATTBLK:	.WORD	1,1000,0,0,0,0
	010426	000000 	000000 	000000
    128					;
    129						.SBTTL	START UP KLINIT
    130					;
    131	010434				...KLI:	RQST$	...KLI
	010434	   013 	   007 			.BYTE	11.,7
	010436	131574 	043251 			.RAD50	/...KLI/
	010442	000000 	000000 			.WORD	0,0
	010446	000000 				.WORD
	010450	   000 	   000 			.BYTE	,
    132					;
    133						.SBTTL	ASSIGN LUN1 TO CTY #0
    134					;
    135	010452				ALUNTT:	ALUN$	LUN1,TT,0
	010452	   007 	   004 			.BYTE	7,4
	010454	000001 				.WORD	LUN1
	010456	   124 				.ASCII	/T/
	010457	   124 				.ASCII	/T/
	010460	000000 				.WORD	0
    136					;
    137						.SBTTL	ASSIGN LUN2 TO SY #0
    138					;
    139	010462				ALUNSY:	ALUN$	LUN2,SY,0
	010462	   007 	   004 			.BYTE	7,4
	010464	000002 				.WORD	LUN2
	010466	   123 				.ASCII	/S/
	010467	   131 				.ASCII	/Y/
	010470	000000 				.WORD	0
    140					;
    141					;
    142	010472	043245 	071537 		FILNAM:	.RAD50	/KLERRO/	;FILE NAME FOR KLERROR FILE
    143	010476	000000 				.WORD	0
    144	010500	074400 			SNP:	.RAD50	/SNP/		;FILE EXT
    145	010502	000000 				.WORD	0		;VERSION #
    146					;
    147						.SBTTL	DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE
    148					;
    149						.EVEN
    150	010504				KLDPB::	QIOW$	IO.WVB,LUN2,EFN2,,IOSTA,,<,,,,,>
	010504	   003 	   014 			.BYTE	3,$$$ARG
	010506	011000 				.WORD	IO.WVB
	010510	000002 				.WORD	LUN2
	010512	   012 	   000 			.BYTE	EFN2,
	010514	010564'				.WORD	IOSTA
	010516	000000 				.WORD
	010520	000000 				.WORD
	010522	000000 				.WORD
	010524	000000 				.WORD
	010526	000000 				.WORD
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-2
DPB FOR READ/WRITE VIRTUAL BLOCK FROM/TO FE DEVICE

	010530	000000 				.WORD
	010532	000000 				.WORD
    151					;
    152						.SBTTL	DPB FOR READ/WRITE MESSAGE FROM/TO CTY0
    153					;
    154						.EVEN
    155	010534				TTDPB::	QIOW$	IO.WLB,LUN1,EFN1,,IOTTY,,<,,,,,>
	010534	   003 	   014 			.BYTE	3,$$$ARG
	010536	000400 				.WORD	IO.WLB
	010540	000001 				.WORD	LUN1
	010542	   011 	   000 			.BYTE	EFN1,
	010544	010570'				.WORD	IOTTY
	010546	000000 				.WORD
	010550	000000 				.WORD
	010552	000000 				.WORD
	010554	000000 				.WORD
	010556	000000 				.WORD
	010560	000000 				.WORD
	010562	000000 				.WORD
    156					;
    157					;	WORK AND STORAGE AREA
    158					;
    159	010564	000000 	000000 		IOSTA:	.WORD	0,0		;I/O STATUS AREA FOR FE DEVCIE
    160	010570	000000 	000000 		IOTTY:	.WORD	0,0		;I/O STATUS AREA FOR CTY
    161	010574				TTYIPT:	.BLKW	40		;CTY INPUT BUFFER
    162		000100 			TTYL=.-TTYIPT
    163	010674				BUFFER:	.BLKW	256.		;FILE BUFFER
    164		001000 			BUFSIZ=.-BUFFER
    165	011674	000000 			RECORD:	.WORD	0		;RECORD COUNT
    166	011676	000000 			PRINTT:	.WORD	0		;RECORD PRINT CONTROL SW
    167	011700	000000 			FSWTCH:	.WORD	0		;FIELD SERVICE STOP SW
    168	011702	000000 			TRACE:	.WORD	0		;TRACE SWITCH
    169	011704	000000 			CRESW:	.WORD	0		;CREATE FILE SW
    170					;
    171					;	THE FOLLOWING 3 TAGS ARE NOT USED IN THIS PROGRAM BUT
    172					;	REQUIRED WHEN LINKED WITH OTHER MODULES (KLPERR.M11, ETC.)
    173					;
    174	011706				.OKLF::
    175	011706				.LDZER::
    176	011706	000000 			.TRKWD:: .WORD	0		;TRACK WORD
    177					;
    178						.SBTTL	INFORMATIONAL MESSAGES OUTPUT BY KLERR
    179					;
    180						.EVEN
    181	011710	   124 	   122 	   101 	CKMSG:	.ASCII	/TRACE # /
	011713	   103 	   105 	   040
	011716	   043 	   040
    182	011720	000000 			POINT:	.WORD	0
    183	011722	   015 	   012 			.ASCII	<CR><LF>
    184		000014 			CKMSGL=.-CKMSG
    185						.EVEN
    186	011724	   123 	   105 	   124 	TRMSG:	.ASCII	/SET TRACE [Y OR N]?/<CR><LF>
	011727	   040 	   124 	   122
	011732	   101 	   103 	   105
	011735	   040 	   133 	   131
	011740	   040 	   117 	   122
	011743	   040 	   116 	   135
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-3
INFORMATIONAL MESSAGES OUTPUT BY KLERR

	011746	   077 	   015 	   012
    187		000025 			TRMSGL=.-TRMSG
    188						.EVEN
    189	011752	   105 	   130 	   111 	LTMSG:	.ASCII	/EXIT FROM KLERR/<CR><LF>
	011755	   124 	   040 	   106
	011760	   122 	   117 	   115
	011763	   040 	   113 	   114
	011766	   105 	   122 	   122
	011771	   015 	   012
    190		000021 			LTMSGL=.-LTMSG
    191						.EVEN
    192	011774	   113 	   114 	   105 	READP:	.ASCII	/KLERR>/
	011777	   122 	   122 	   076
    193		000006 			READPL=.-READP
    194						.EVEN
    195	012002	   113 	   114 	   105 	WRITP:	.ASCII	/KLERR -- /
	012005	   122 	   122 	   040
	012010	   055 	   055 	   040
    196		000011 			WRITPL=.-WRITP
    197	012013					KLEVR$	KLE$$K,,KLE$$V,KLE$$E
	012013	   126 	   105 	   122 		.ASCII	\VERSION \<126><200>\02-02\<200>\ RUNNING\
	012016	   123 	   111 	   117
	012021	   116 	   040 	   126
	012024	   200 	   060 	   062
	012027	   055 	   060 	   062
	012032	   200 	   040 	   122
	012035	   125 	   116 	   116
	012040	   111 	   116 	   107
    198	012043	   015 	   012 		CRLF:	.ASCII	<CR><LF>
    199		000043 			RUINGL=.-WRITP
    200						.EVEN
    201	012046	   011 			TABB:	.ASCII	<TAB>
    202	012047	   057 			SLASH:	.ASCII	<SLS>
    203	012050	   117 	   116 		ON:	.ASCII	/ON/
    204	012052	   117 	   106 	   106 	OFF:	.ASCII	/OFF/
    205						.EVEN
    206	012056	   113 	   114 	   040 	HTMG1:	.ASCII	/KL IN HALT LOOP/<CR><LF>
	012061	   111 	   116 	   040
	012064	   110 	   101 	   114
	012067	   124 	   040 	   114
	012072	   117 	   117 	   120
	012075	   015 	   012
    207		000021 			HTMG1L=.-HTMG1
    208						.EVEN
    209	012100	   113 	   114 	   040 	HTMG2:	.ASCII	/KL NOT IN HALT LOOP/<CR><LF>
	012103	   116 	   117 	   124
	012106	   040 	   111 	   116
	012111	   040 	   110 	   101
	012114	   114 	   124 	   040
	012117	   114 	   117 	   117
	012122	   120 	   015 	   012
    210		000025 			HTMG2L=.-HTMG2
    211						.EVEN
    212	012126	   113 	   114 	   040 	PCMSG:	.ASCII	/KL VMA: /
	012131	   126 	   115 	   101
	012134	   072 	   040
    213	012136				VMA:	.BLKB	13.		;AREA CONTAINING VMA
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-4
INFORMATIONAL MESSAGES OUTPUT BY KLERR

    214	012153	   040 	   040 	   040 		.ASCII	/    PC: /
	012156	   040 	   120 	   103
	012161	   072 	   040
    215	012163				PCC:	.BLKB	13.		;AREA CONTAINING PC
    216	012200	   015 	   012 			.ASCII	<CR><LF>
    217		000054 			PCMSGL=.-PCMSG
    218						.EVEN
    219	012202	   120 	   111 	   040 	PIMSG:	.ASCII	/PI STATE: /
	012205	   123 	   124 	   101
	012210	   124 	   105 	   072
	012213	   040
    220	012214	   040 	   040 	   040 	PI0:	.BYTE	SPC,SPC,SPC,SPC	;AREA TO CONTAIN PI STATE
	012217	   040
    221	012220	   054 	   040 	   120 		.ASCII	/, PI ON: /
	012223	   111 	   040 	   117
	012226	   116 	   072 	   040
    222	012231	   040 	   040 	   040 	PI1:	.BYTE	SPC,SPC,SPC,SPC
	012234	   040
    223	012235	   054 	   040 	   120 		.ASCII	/, PI HLD: /
	012240	   111 	   040 	   110
	012243	   114 	   104 	   072
	012246	   040
    224	012247	   040 	   040 	   040 	PI2:	.BYTE	SPC,SPC,SPC,SPC
	012252	   040
    225	012253	   054 	   040 	   120 		.ASCII	/, PI GEN: /
	012256	   111 	   040 	   107
	012261	   105 	   116 	   072
	012264	   040
    226	012265	   040 	   040 	   040 	PI3:	.BYTE	SPC,SPC,SPC,SPC
	012270	   040
    227	012271	   015 	   012 			.ASCII	<CR><LF>
    228		000071 			PIMSGL=.-PIMSG
    229						.EVEN
    230	012274	   040 	   040 	   040 	ERCODE:	.BYTE	SPC,SPC,SPC,SPC	;AREA TO CONTAIN ERROR CODE
	012277	   040
    231						.BLKW	40
    232		000104 			ERCODL=.-ERCODE
    233					;
    234					;
    235					;
    236						.EVEN
    237	012400	   113 	   114 	   040 	NOCLK:	.ASCII	/KL ERROR OTHER THAN CLOCK ERROR STOP/<CR><LF>
	012403	   105 	   122 	   122
	012406	   117 	   122 	   040
	012411	   117 	   124 	   110
	012414	   105 	   122 	   040
	012417	   124 	   110 	   101
	012422	   116 	   040 	   103
	012425	   114 	   117 	   103
	012430	   113 	   040 	   105
	012433	   122 	   122 	   117
	012436	   122 	   040 	   123
	012441	   124 	   117 	   120
	012444	   015 	   012
    238		000046 			NOCLKL=.-NOCLK
    239						.EVEN
    240	012446	   103 	   114 	   117 	STOP:	.ASCII	/CLOCK ERROR STOP/<CR><LF>
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-5
INFORMATIONAL MESSAGES OUTPUT BY KLERR

	012451	   103 	   113 	   040
	012454	   105 	   122 	   122
	012457	   117 	   122 	   040
	012462	   123 	   124 	   117
	012465	   120 	   015 	   012
    241		000022 			STOPL=.-STOP
    242						.EVEN
    243	012470	   104 	   122 	   101 	DRAM:	.ASCII	/DRAM PARITY/<CR><LF>
	012473	   115 	   040 	   120
	012476	   101 	   122 	   111
	012501	   124 	   131 	   015
	012504	   012
    244		000015 			DRAML=.-DRAM
    245						.EVEN
    246	012506	   103 	   122 	   101 	CRAM:	.ASCII	/CRAM PARITY/<CR><LF>
	012511	   115 	   040 	   120
	012514	   101 	   122 	   111
	012517	   124 	   131 	   015
	012522	   012
    247		000015 			CRAML=.-CRAM
    248						.EVEN
    249	012524	   106 	   115 	   040 	FM:	.ASCII	/FM PARITY - /
	012527	   120 	   101 	   122
	012532	   111 	   124 	   131
	012535	   040 	   055 	   040
    250	012540	   102 	   114 	   113 		.ASCII	/BLK: /
	012543	   072 	   040
    251	012545				FMB:	.BLKB	3
    252	012550	   040 	   101 	   104 		.ASCII	/ ADDR: /
	012553	   104 	   122 	   072
	012556	   040
    253	012557				FMA:	.BLKB	3
    254	012562	   040 	   104 	   101 		.ASCII	/ DATA: /
	012565	   124 	   101 	   072
	012570	   040
    255	012571				FMD:	.BLKB	13.
    256	012606	   015 	   012 			.ASCII	<CR><LF>
    257		000064 			FML=.-FM
    258						.EVEN
    259	012610	   106 	   123 	   040 	FS:	.ASCII	/FS STOP/<CR><LF>
	012613	   123 	   124 	   117
	012616	   120 	   015 	   012
    260		000011 			FSL=.-FS
    261					;
    262						.SBTTL	ERROR MESSAGES OUTPUT BY KLERR
    263					;
    264						.EVEN
    265	012622	   077 	   104 	   111 	ERMG1:	.ASCII	/?DIRECTORY FILE NOT FOUND/<CR><LF>
	012625	   122 	   105 	   103
	012630	   124 	   117 	   122
	012633	   131 	   040 	   106
	012636	   111 	   114 	   105
	012641	   040 	   116 	   117
	012644	   124 	   040 	   106
	012647	   117 	   125 	   116
	012652	   104 	   015 	   012
    266		000033 			ERMG1L=.-ERMG1
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-6
ERROR MESSAGES OUTPUT BY KLERR

    267						.EVEN
    268	012656	   077 	   113 	   114 	ERMG2:	.ASCII	/?KLERRO.SNP FILE CREATION FAILED/<CR><LF>
	012661	   105 	   122 	   122
	012664	   117 	   056 	   123
	012667	   116 	   120 	   040
	012672	   106 	   111 	   114
	012675	   105 	   040 	   103
	012700	   122 	   105 	   101
	012703	   124 	   111 	   117
	012706	   116 	   040 	   106
	012711	   101 	   111 	   114
	012714	   105 	   104 	   015
	012717	   012
    269		000042 			ERMG2L=.-ERMG2
    270						.EVEN
    271	012720	   077 	   125 	   116 	ERMG3:	.ASCII	/?UNABLE TO ENTER KLERRO.SNP INTO DIRECTORY/<CR><LF>
	012723	   101 	   102 	   114
	012726	   105 	   040 	   124
	012731	   117 	   040 	   105
	012734	   116 	   124 	   105
	012737	   122 	   040 	   113
	012742	   114 	   105 	   122
	012745	   122 	   117 	   056
	012750	   123 	   116 	   120
	012753	   040 	   111 	   116
	012756	   124 	   117 	   040
	012761	   104 	   111 	   122
	012764	   105 	   103 	   124
	012767	   117 	   122 	   131
	012772	   015 	   012
    272		000054 			ERMG3L=.-ERMG3
    273						.EVEN
    274	012774	   077 	   125 	   116 	ERMG4:	.ASCII	/?UNABLE TO ACCESS FOR EXTENDING KLERRO.SNP FILE/<CR><LF>
	012777	   101 	   102 	   114
	013002	   105 	   040 	   124
	013005	   117 	   040 	   101
	013010	   103 	   103 	   105
	013013	   123 	   123 	   040
	013016	   106 	   117 	   122
	013021	   040 	   105 	   130
	013024	   124 	   105 	   116
	013027	   104 	   111 	   116
	013032	   107 	   040 	   113
	013035	   114 	   105 	   122
	013040	   122 	   117 	   056
	013043	   123 	   116 	   120
	013046	   040 	   106 	   111
	013051	   114 	   105 	   015
	013054	   012
    275		000061 			ERMG4L=.-ERMG4
    276						.EVEN
    277	013056	   077 	   125 	   116 	ERMG5:	.ASCII	/?UNABLE TO EXTEND KLERRO.SNP FILE/<CR><LF>
	013061	   101 	   102 	   114
	013064	   105 	   040 	   124
	013067	   117 	   040 	   105
	013072	   130 	   124 	   105
	013075	   116 	   104 	   040
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-7
ERROR MESSAGES OUTPUT BY KLERR

	013100	   113 	   114 	   105
	013103	   122 	   122 	   117
	013106	   056 	   123 	   116
	013111	   120 	   040 	   106
	013114	   111 	   114 	   105
	013117	   015 	   012
    278		000043 			ERMG5L=.-ERMG5
    279						.EVEN
    280	013122	   077 	   125 	   116 	ERMG6:	.ASCII	/?UNABLE TO WRITE KLERRO.SNP FILE/<CR><LF>
	013125	   101 	   102 	   114
	013130	   105 	   040 	   124
	013133	   117 	   040 	   127
	013136	   122 	   111 	   124
	013141	   105 	   040 	   113
	013144	   114 	   105 	   122
	013147	   122 	   117 	   056
	013152	   123 	   116 	   120
	013155	   040 	   106 	   111
	013160	   114 	   105 	   015
	013163	   012
    281		000042 			ERMG6L=.-ERMG6
    282						.EVEN
    283					;
    284						.SBTTL	ASSIGN LOGICAL UNIT NUMBER (LUN) TO SYS DEVICE
    285					;
    286	013164	005737 	000000G		START::	TST	.KLRLD		;IF RELOADING IS ALLOWED
    287	013170	001006 				BNE	1$		;AND
    288	013172	005737 	000000G			TST	.KLIWD		;KLINIT IS REQUESTED
    289	013176	001403 				BEQ	1$		;THEN SCHEDULE HIM
    290	013200					DIR$	#...KLI		;TO RUN AFTER US.
	013200	012746 	010434'			MOV	#...KLI,-(SP)
	013204	104375 				EMT	375
    291	013206	012737 	000401 	000000G	1$:	MOV	#401,.NOERR	;NO INTERRUPTIONS, PLEASE
    292	013214					CALL	.INIT
	013214	004737 	001666'			JSR	PC,.INIT
    293	013220	005037 	011702'			CLR	TRACE		;INIT TRACE SW
    294	013224	005037 	011674'			CLR	RECORD		;INIT RECORD COUNT
    295	013230					DIR$	#ALUNTT		;SET CTY 0 AS LUN1
	013230	012746 	010452'			MOV	#ALUNTT,-(SP)
	013234	104375 				EMT	375
    296	013236					DIR$	#ALUNSY		;SET SY 0 AS LUN2
	013236	012746 	010462'			MOV	#ALUNSY,-(SP)
	013242	104375 				EMT	375
    297					;
    298						.SBTTL	OUTPUT KLERR RUNNING MSG
    299					;
    300	013244	012700 	012002'			MOV	#WRITP,R0
    301	013250	012701 	000043 			MOV	#RUINGL,R1
    302	013254					CALL	TTCOMX		;SEND MSG TO CTY
	013254	004737 	016372'			JSR	PC,TTCOMX
    303	013260					CALL	.DTDW1		;READ DIAG WORD 1
	013260	004737 	000476'			JSR	PC,.DTDW1
    304	013264	103416 				BCS	TENFUN		;ERROR, FORGET IT
    305	013266	032700 	001000 			BIT	#D1.HLP,R0	;IS KL IN A HALT LOOP ?
    306	013272	001405 				BEQ	2$		;NO
    307	013274	012700 	012056'			MOV	#HTMG1,R0
    308	013300	012701 	000021 			MOV	#HTMG1L,R1
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-8
OUTPUT KLERR RUNNING MSG

    309	013304	000404 				BR	3$		;INDICATE -10 IN HALT LOOP
    310	013306	012700 	012100'		2$:	MOV	#HTMG2,R0
    311	013312	012701 	000025 			MOV	#HTMG2L,R1
    312	013316				3$:	CALL	TTWRIT		;INDICATE -10 NOT IN HALT LOOP
	013316	004737 	016352'			JSR	PC,TTWRIT
    313					;
    314						.SBTTL	HALT -10, GET PC, PI, AND ERROR CODE
    315					;
    316	013322	012700 	011724'		TENFUN:	MOV	#TRMSG,R0
    317	013326	000426 				BR	12$
    318	013330	012701 	000025 			MOV	#TRMSGL,R1
    319	013334					CALL	TTWRIT		;ASK IF TRACE SHOULD BE SET ?
	013334	004737 	016352'			JSR	PC,TTWRIT
    320	013340					CALL	TTREAD		;READ ANSWER
	013340	004737 	016306'			JSR	PC,TTREAD
    321	013344	105737 	010574'			TSTB	TTYIPT		;[CR]?
    322	013350	001410 				BEQ	10$		;TREAT AS [Y]
    323	013352	122737 	000116 	010574'		CMPB	#'N,TTYIPT	;[N]?
    324	013360	001407 				BEQ	11$		;YES
    325	013362	122737 	000131 	010574'		CMPB	#'Y,TTYIPT	;[Y]?
    326	013370	001354 				BNE	TENFUN		;ASK IT AGAIN
    327	013372	005237 	011702'		10$:	INC	TRACE		;TURN ON TRACE SW
    328	013376	000402 				BR	12$
    329	013400	005037 	011702'		11$:	CLR	TRACE		;TURN OFF TRACE SW
    330	013404	012737 	030060 	011720'	12$:	MOV	#"00,POINT
    331	013412					CALL	CKPNT		;TRACE 0
	013412	004737 	016252'			JSR	PC,CKPNT
    332	013416					CALL	.CESCK		;STOP CLOCK
	013416	004737 	000300'			JSR	PC,.CESCK
    333	013422	103005 				BCC	1$		;OK, WE MAY HALT -10
    334	013424	022700 				CMP	(PC)+,R0	;CHECK FOR CLOCK ERROR STOP
    335	013426	011633 				.RAD50	/CES/		;CLOCK ERROR STOP ERROR
    336	013430	001407 				BEQ	2$		;YES, IT IS STOPPED
    337	013432					CALL	EREXIT		;NO, FIND OUT WHY
	013432	004737 	013636'			JSR	PC,EREXIT
    338	013436				1$:	CALL	.KLHLT		;HALT THE -10
	013436	004737 	002146'			JSR	PC,.KLHLT
    339	013442	103002 				BCC	2$
    340	013444					CALL	EREXIT		;FIND OUT WHY
	013444	004737 	013636'			JSR	PC,EREXIT
    341	013450				2$:	CALL	CLRTTY		;ZERO TTYIPT & USE IT FOR INPUT
	013450	004737 	016206'			JSR	PC,CLRTTY
    342	013454	012701 	010574'			MOV	#TTYIPT,R1	;PASS POINTER TO .RDVMA
    343	013460					CALL	.RDVMA		;GET VMA
	013460	004737 	005206'			JSR	PC,.RDVMA
    344	013464	103002 				BCC	5$
    345	013466					CALL	EREXIT
	013466	004737 	013636'			JSR	PC,EREXIT
    346	013472	012700 	012136'		5$:	MOV	#VMA,R0
    347	013476					CALL	SETPC		;SET VMA
	013476	004737 	015342'			JSR	PC,SETPC
    348	013502	012701 	010574'			MOV	#TTYIPT,R1	;PASS POINTER TO .RDVPC
    349	013506					CALL	.RDVPC		;GET PC
	013506	004737 	005172'			JSR	PC,.RDVPC
    350	013512	103002 				BCC	3$
    351	013514					CALL	EREXIT
	013514	004737 	013636'			JSR	PC,EREXIT
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-9
HALT -10, GET PC, PI, AND ERROR CODE

    352	013520	012700 	012163'		3$:	MOV	#PCC,R0
    353	013524					CALL	SETPC		;SET PC
	013524	004737 	015342'			JSR	PC,SETPC
    354	013530					CALL	.RDPI		;GET PI
	013530	004737 	004654'			JSR	PC,.RDPI
    355	013534	103002 				BCC	4$
    356	013536					CALL	EREXIT
	013536	004737 	013636'			JSR	PC,EREXIT
    357	013542				4$:	CALL	SETPI		;SET PI
	013542	004737 	015500'			JSR	PC,SETPI
    358	013546					CALL	.RDFMO		; READ FAST MEMORY REGISTERS
	013546	004737 	004410'			JSR	PC,.RDFMO
    359	013552	103002 				BCC	6$		; ALL OK IF CC-C IS CLEAR
    360	013554					CALL	EREXIT		; ELSE COMPLAIN
	013554	004737 	013636'			JSR	PC,EREXIT
    361	013560				6$:	CALL	.RDIPE		;GET ERROR CODE
	013560	004737 	004566'			JSR	PC,.RDIPE
    362	013564	103402 				BCS	15$
    363	013566					CALL	FNHALT		;FIND REASON WHY HALT
	013566	004737 	014642'			JSR	PC,FNHALT
    364	013572	012700 	012126'		15$:	MOV	#PCMSG,R0
    365	013576	012701 	000054 			MOV	#PCMSGL,R1
    366	013602					CALL	TTWRIT		;OUTPUT KL HALT MSG
	013602	004737 	016352'			JSR	PC,TTWRIT
    367	013606	012700 	012202'			MOV	#PIMSG,R0
    368	013612	012701 	000071 			MOV	#PIMSGL,R1
    369	013616					CALL	TTWRIT		;OUTPUT KL HALT MSG
	013616	004737 	016352'			JSR	PC,TTWRIT
    370	013622	005737 	011700'			TST	FSWTCH		;FIELD SERVICE STOP ENABLED ?
    371	013626	001001 				BNE	20$		;YES
    372	013630	000421 				BR	DOMAS		;FIND DIR FILE FROM MFD
    373	013632	000137 	016546'		20$:	JMP	EXIT1		;EXIT WITHOUT WRITING FILES
    374	013636	012737 	030062 	011720'	EREXIT:	MOV	#"20,POINT
    375	013644					CALL	CKPNT		;TRACE 20
	013644	004737 	016252'			JSR	PC,CKPNT
    376	013650					CALL	SETEC		;GET ERROR CODE
	013650	004737 	015130'			JSR	PC,SETEC
    377	013654	012700 	012274'			MOV	#ERCODE,R0
    378	013660	010301 				MOV	R3,R1		;ACTUAL BYTE COUNT IN R1
    379	013662					CALL	TTWRIT		;INDICATE SOMETHING WRONG WITH -10
	013662	004737 	016352'			JSR	PC,TTWRIT
    380	013666					CALL	TYCRLF		;PROMPT WITH CR,LF
	013666	004737 	016500'			JSR	PC,TYCRLF
    381	013672					RETURN
	013672	000207 				RTS	PC
    382					;
    383					;	AFTER PRINTING -10 HALT MSG, THIS ROUTINE PROCEEDS TO
    384					;	FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY, THEN TRY
    385					;	TO FIND FILE ID FOR KLERRO.SNP FILE.  IF ID IS FOUND
    386					;	IT WILL TRY TO MAKE IT ACCESSIBLE FOR EXTEND.
    387					;	IF FILE ID IS NOT FOUND, IT ATTEMPTS TO CREATE KLERRO.SNP
    388					;	AND PROCEEDS TO WRITE THE FIRST RECORD....
    389					;
    390					;
    391						.SBTTL	FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY
    392					;
    393	013674	012737 	030460 	011720'	DOMAS::	MOV	#"01,POINT
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-10
FIND DIRECTORY FILE FROM MASTER FILE DIRECTORY

    394	013702					CALL	CKPNT		;TRACE 1
	013702	004737 	016252'			JSR	PC,CKPNT
    395	013706					CALL	CLRDPB		;ZERO PARAMETER WORDS IN KLDPB
	013706	004737 	016166'			JSR	PC,CLRDPB
    396	013712	012737 	010314'	010532'		MOV	#DIRFNB,KLDPB+Q.IOPL+12 ;ADR OF DIRFNB IN DPB
    397	013720					CALL	KLFNA		;FIND DIRECTORY FILE
	013720	004737 	015766'			JSR	PC,KLFNA
    398	013724	103010 				BCC	DODIR		;FOUND IT
    399	013726	012700 	012622'			MOV	#ERMG1,R0
    400	013732	012701 	000033 			MOV	#ERMG1L,R1
    401	013736					CALL	TTWRIT		;INDICATE DIR FILE NOT FOUND
	013736	004737 	016352'			JSR	PC,TTWRIT
    402	013742	000137 	016542'			JMP	EXIT		;EXIT FROM KLERR
    403					;
    404						.SBTTL	ROUTINE TO FIND FILE ID FOR KLERRO.SNP FILE
    405					;
    406	013746	012737 	031060 	011720'	DODIR::	MOV	#"02,POINT
    407	013754					CALL	CKPNT		;TRACE 2
	013754	004737 	016252'			JSR	PC,CKPNT
    408	013760					CALL	MVNAME		;MOVE FILE NAME INTO FILFNB
	013760	004737 	015710'			JSR	PC,MVNAME
    409	013764	013737 	010314'	010372'		MOV	DIRFNB,FILFNB+24 ;FILE ID OF DIR FILE
    410	013772	013737 	010316'	010374'		MOV	DIRFNB+2,FILFNB+26 ;FILE SQE OF DIR FILE
    411	014000	013737 	010320'	010376'		MOV	DIRFNB+4,FILFNB+30 ;AND OWNER
    412	014006	012737 	010346'	010532'		MOV	#FILFNB,KLDPB+Q.IOPL+12
    413	014014					CALL	KLFNA		;FIND KLERRO.SNP FROM DIR FILE
	014014	004737 	015766'			JSR	PC,KLFNA
    414	014020	103110 				BCC	DOACE		;ACCESS FOR EXTEND IF FILE ID FOUND
    415	014022	123727 	010564'	177746 		CMPB	IOSTA+0,#IE.NSF	;NO SUCH FILE ?
    416	014030	001406 				BEQ	DOCRE		;YES
    417	014032	012737 	054130 	011720'		MOV	#"XX,POINT
    418	014040					CALL	CKPNT		;TO MAKE A POINT
	014040	004737 	016252'			JSR	PC,CKPNT
    419	014044	000422 				BR	MSG2		;PRINT ERROR MSG 2
    420					;
    421						.SBTTL	ROUTINE TO CREATE KLERRO.SNP FILE
    422					;
    423	014046	005237 	011704'		DOCRE::	INC	CRESW		;SET FILE CREATE SW
    424	014052	012737 	031460 	011720'		MOV	#"03,POINT
    425	014060					CALL	CKPNT		;TRACE 3
	014060	004737 	016252'			JSR	PC,CKPNT
    426	014064					CALL	CLRDPB		;CLEAR PARAMETER WORDS
	014064	004737 	016166'			JSR	PC,CLRDPB
    427	014070	012737 	010400'	010520'		MOV	#FILFID,KLDPB+Q.IOPL ;ADDR OF FILE ID BLOCK
    428	014076	012737 	010404'	010522'		MOV	#FILACB,KLDPB+Q.IOPL+2 ;ADDR OF ATTRIBUTE BLOCK
    429	014104					CALL	KLCRE		;CREATE KLERRO.SNP FILE
	014104	004737 	016110'			JSR	PC,KLCRE
    430	014110	103010 				BCC	DOENA		;ENTER ITS NAME INTO DIR FILE
    431	014112	012700 	012656'		MSG2:	MOV	#ERMG2,R0
    432	014116	012701 	000042 			MOV	#ERMG2L,R1
    433	014122					CALL	TTWRIT		;INDICATE CREATION FAILURE
	014122	004737 	016352'			JSR	PC,TTWRIT
    434	014126	000137 	016542'			JMP	EXIT		;EXIT FROM KLERR
    435					;
    436						.SBTTL	ROUTINE TO ENTER FILE NAME INTO DIRECTORY
    437					;
    438	014132	012737 	032060 	011720'	DOENA::	MOV	#"04,POINT
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-11
ROUTINE TO ENTER FILE NAME INTO DIRECTORY

    439	014140					CALL	CKPNT		;TRACE 4
	014140	004737 	016252'			JSR	PC,CKPNT
    440	014144					CALL	MVNAME		;MOVE FILE NAME INTO FILFNB
	014144	004737 	015710'			JSR	PC,MVNAME
    441	014150	013737 	010400'	010346'		MOV	FILFID,FILFNB ;FILE ID FROM FILFID BLOCK
    442	014156	013737 	010402'	010350'		MOV	FILFID+2,FILFNB+2 ;AND FILE SQE
    443	014164	013737 	010314'	010372'		MOV	DIRFNB,FILFNB+24 ;FILE ID FOR DIR FILE
    444	014172	013737 	010316'	010374'		MOV	DIRFNB+2,FILFNB+26 ;FILE SQE OF DIR FILE
    445	014200	013737 	010320'	010376'		MOV	DIRFNB+4,FILFNB+30 ;AND OWNER
    446	014206	012737 	010346'	010532'		MOV	#FILFNB,KLDPB+Q.IOPL+12
    447	014214					CALL	KLENA		;ENTER FILE NAME INTO DIR FILE
	014214	004737 	016136'			JSR	PC,KLENA
    448	014220	103010 				BCC	DOACE		;DO ACCESS FOR EXTEND
    449	014222	012700 	012720'			MOV	#ERMG3,R0
    450	014226	012701 	000054 			MOV	#ERMG3L,R1
    451	014232					CALL	TTWRIT		;INDICATE FILENAME ENTERING FAILED
	014232	004737 	016352'			JSR	PC,TTWRIT
    452	014236	000137 	016542'			JMP	EXIT
    453					;
    454						.SBTTL	ROUTINE TO ACCESS FOR EXTEND FOR KLERRO.SNP
    455					;
    456	014242	012737 	032460 	011720'	DOACE::	MOV	#"05,POINT
    457	014250					CALL	CKPNT		;TRACE 5
	014250	004737 	016252'			JSR	PC,CKPNT
    458	014254	012737 	010346'	010520'		MOV	#FILFNB,KLDPB+Q.IOPL ;MAKE FID OF FILFNB AS FILFID
    459	014262	005037 	010532'			CLR	KLDPB+Q.IOPL+12	;CLEAR FILE NAME BLOCK ADDR
    460	014266					CALL	KLACE		;ACCESS FOR EXTEND
	014266	004737 	016120'			JSR	PC,KLACE
    461	014272	103037 				BCC	DOWRT		;GO WRITE A RECORD
    462	014274	012700 	012774'			MOV	#ERMG4,R0
    463	014300	012701 	000061 			MOV	#ERMG4L,R1
    464	014304					CALL	TTWRIT		;INDICATE IO.ACE FAILED
	014304	004737 	016352'			JSR	PC,TTWRIT
    465	014310	000137 	016542'			JMP	EXIT
    466					;
    467						.SBTTL	ROUTINE TO EXTEND KLERRO.SNP FILE
    468					;
    469	014314	012737 	033060 	011720'	DOEXT::	MOV	#"06,POINT
    470	014322					CALL	CKPNT		;TRACE 6
	014322	004737 	016252'			JSR	PC,CKPNT
    471	014326					CALL	CLRDPB		;CLEAR DPB PARAMETER WORDS
	014326	004737 	016166'			JSR	PC,CLRDPB
    472	014332	152737 	000200 	010525'		BISB	#EX.ENA,KLDPB+Q.IOPL+5 ;ENTER
    473	014340	005237 	010526'			INC	KLDPB+Q.IOPL+6	;ENTER ONE BLOCK AT A TIME
    474	014344					CALL	KLEXT
	014344	004737 	016146'			JSR	PC,KLEXT
    475	014350	103026 				BCC	WRITE		;WRITE THE RECORD
    476	014352	012700 	013056'			MOV	#ERMG5,R0
    477	014356	012701 	000043 			MOV	#ERMG5L,R1
    478	014362					CALL	TTWRIT		;INDICATE IO.EXT FAILED
	014362	004737 	016352'			JSR	PC,TTWRIT
    479	014366	000137 	016542'			JMP	EXIT
    480					;
    481						.SBTTL	ROUTINE TO WRITE A RECORD
    482					;
    483	014372	012737 	033460 	011720'	DOWRT::	MOV	#"07,POINT
    484	014400					CALL	CKPNT		;TRACE 7
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-12
ROUTINE TO WRITE A RECORD

	014400	004737 	016252'			JSR	PC,CKPNT
    485	014404	005037 	011676'			CLR	PRINTT		;INIT PRINT COUNT
    486	014410	005237 	011674'			INC	RECORD		;START FROM RECORD #1
    487	014414	005737 	011704'			TST	CRESW		;FILE JUST CREATED ?
    488	014420	001002 				BNE	WRITE		;YES
    489	014422	005237 	011674'			INC	RECORD		;START FROM RECORD #2
    490	014426				WRITE:	CALL	CLRDPB		;CLEAR DPB
	014426	004737 	016166'			JSR	PC,CLRDPB
    491	014432	013737 	011674'	010530'		MOV	RECORD,KLDPB+Q.IOPL+10 ;RECORD # IN DPB
    492	014440					CALL	INITBF		;ZERO BUFFER
	014440	004737 	016226'			JSR	PC,INITBF
    493	014444	012700 	010674'			MOV	#BUFFER,R0	;BUFFER ADR IN R0
    494	014450					CALL	.KLRSN		;GET INFORMATION INTO BUFFER
	014450	004737 	000000'			JSR	PC,.KLRSN
    495	014454	103002 				BCC	7$		;OK
    496	014456					CALL	EREXIT		;FIND OUT WHY
	014456	004737 	013636'			JSR	PC,EREXIT
    497	014462				7$:	CALL	KLWVB
	014462	004737 	016100'			JSR	PC,KLWVB
    498	014466	103005 				BCC	1$		;WRITE OK
    499	014470	123727 	010564'	177766 		CMPB	IOSTA,#IE.EOF	;EOF ?
    500	014476	001043 				BNE	2$		;NO, IT IS AN ERROR
    501	014500	000705 				BR	DOEXT		;TO EXTEND KLERRO.SNP FILE
    502	014502	005737 	011702'		1$:	TST	TRACE		;TRACE SET ?
    503	014506	001445 				BEQ	3$		;NO
    504	014510					CALL	CLRTTY		;CLEAR PRINT BUFFER
	014510	004737 	016206'			JSR	PC,CLRTTY
    505	014514	012703 	010674'			MOV	#BUFFER,R3	;INPUT BUFFER
    506	014520	012704 	010574'		5$:	MOV	#TTYIPT,R4	;OUTPUT BUFFER
    507	014524	012705 	000100 			MOV	#TTYL,R5	;BYTE COUNT
    508	014530	112302 			4$:	MOVB	(R3)+,R2	;GET ONE BYTE
    509	014532	042702 	177770 			BIC	#-10,R2		;SAVE ONLY BITS 0-2
    510	014536	052702 	000060 			BIS	#'0,R2		;CONVERT IT TO ASCII
    511	014542	110224 				MOVB	R2,(R4)+	;MOVE IT INTO PRINT BUFFER
    512	014544					SOB	R5,4$
	014544	005305 				DEC	R5
	014546	001370 				BNE	4$
    513	014550	012700 	010574'			MOV	#TTYIPT,R0	;PRINT BUFFER ADDRESS
    514	014554	012701 	000100 			MOV	#TTYL,R1	;LENGTH
    515	014560					CALL	TTCOMX		;SEE WHAT WE HAVE IN BUFFER
	014560	004737 	016372'			JSR	PC,TTCOMX
    516	014564					CALL	TYCRLF		;ALSO PRINT CR,LF
	014564	004737 	016500'			JSR	PC,TYCRLF
    517	014570	005237 	011676'			INC	PRINTT		;ADD 1 TO PRINT COUNT
    518	014574	022737 	000010 	011676'		CMP	#BUFSIZ/TTYL,PRINTT ;ALL PRINTED ?
    519	014602	001407 				BEQ	3$		;YES
    520	014604	000745 				BR	5$		;NOT YET
    521	014606	012700 	013122'		2$:	MOV	#ERMG6,R0
    522	014612	012701 	000042 			MOV	#ERMG6L,R1
    523	014616					CALL	TTWRIT		;INDICATE WRITE ERROR
	014616	004737 	016352'			JSR	PC,TTWRIT
    524	014622	012700 	011752'		3$:	MOV	#LTMSG,R0
    525	014626	012701 	000021 			MOV	#LTMSGL,R1
    526	014632					CALL	TTWRIT
	014632	004737 	016352'			JSR	PC,TTWRIT
    527	014636	000137 	016542'			JMP	EXIT		;EXIT FROM KLERR***********
    528					;
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-13
SUBROUTINE TO PRINT ERROR HALT MSG

    529						.SBTTL	SUBROUTINE TO PRINT ERROR HALT MSG
    530					;
    531	014642	012737 	030061 	011720'	FNHALT:	MOV	#"10,POINT
    532	014650					CALL	CKPNT		;TRACE 10
	014650	004737 	016252'			JSR	PC,CKPNT
    533	014654	005037 	011700'			CLR	FSWTCH		;INIT FS STOP SW
    534	014660	010005 				MOV	R0,R5		;SAVE ERROR INDICATOR
    535	014662	032705 	000001 			BIT	#BIT0,R5	;CLK ERR STOP ?
    536	014666	001427 				BEQ	111$		;NO
    537	014670					CALL	1$		;SEND CLOCK ERR STOP MSG
	014670	004737 	014764'			JSR	PC,1$
    538	014674	032705 	000002 		10$:	BIT	#BIT1,R5	;DRAM PARITY ERR ?
    539	014700	001402 				BEQ	11$		;NO
    540	014702					CALL	2$		;SEND DRAM PARITY MSG
	014702	004737 	014776'			JSR	PC,2$
    541	014706	032705 	000004 		11$:	BIT	#BIT2,R5	;CRAM PARITY ERR ?
    542	014712	001402 				BEQ	12$		;NO
    543	014714					CALL	3$		;SEND CRAM PARITY MSG
	014714	004737 	015010'			JSR	PC,3$
    544	014720	032705 	000010 		12$:	BIT	#BIT3,R5	;FM PARITY ERR ?
    545	014724	001402 				BEQ	13$		;NO
    546	014726					CALL	4$		;SEND FM PARITY MSG
	014726	004737 	015022'			JSR	PC,4$
    547	014732	032705 	000020 		13$:	BIT	#BIT4,R5	;FS ERR ?
    548	014736	001402 				BEQ	14$		;NO
    549	014740					CALL	5$		;SEND FS ERROR MSG
	014740	004737 	015106'			JSR	PC,5$
    550	014744				14$:	RETURN
	014744	000207 				RTS	PC
    551	014746	012700 	012400'		111$:	MOV	#NOCLK,R0
    552	014752	012701 	000046 			MOV	#NOCLKL,R1
    553	014756					CALL	COMMON		;INDICATE UNABLE TO FIND CLK ERR STOP
	014756	004737 	015122'			JSR	PC,COMMON
    554	014762	000744 				BR	10$		;CONTINUE
    555	014764	012700 	012446'		1$:	MOV	#STOP,R0
    556	014770	012701 	000022 			MOV	#STOPL,R1
    557	014774	000452 				BR	COMMON		;IT IS CLOCK ERROR STOP
    558	014776	012700 	012470'		2$:	MOV	#DRAM,R0
    559	015002	012701 	000015 			MOV	#DRAML,R1
    560	015006	000445 				BR	COMMON		;IT IS DRAM PARITY
    561	015010	012700 	012506'		3$:	MOV	#CRAM,R0
    562	015014	012701 	000015 			MOV	#CRAML,R1
    563	015020	000440 				BR	COMMON		;IT IS CRAM PARITY
    564	015022				4$:
    565	015022	012702 	012557'			MOV	#FMA,R2		; POINT TO ADDRESS BUFFER
    566	015026	012701 	000166'			MOV	#.FMADR,R1	; POINT TO FM ERROR DATA
    567	015032	112100 				MOVB	(R1)+,R0	; EXTRACT THE ADDRESS
    568	015034					CALL	TY3D		; PRINT IT
	015034	004737 	015626'			JSR	PC,TY3D
    569	015040	012702 	012545'			MOV	#FMB,R2	; POINT TO BLOCK BUFFER
    570	015044	112100 				MOVB	(R1)+,R0	; EXTRACT THE ADDRESS
    571	015046					CALL	TY3D		; PRINT THAT
	015046	004737 	015626'			JSR	PC,TY3D
    572	015052	012700 	010574'			MOV	#TTYIPT,R0	; PUT DATA WHERE SETPC EXPECTS IT
    573	015056	012120 				MOV	(R1)+,(R0)+		; SO
    574	015060	012120 				MOV	(R1)+,(R0)+
    575	015062	011110 				MOV	(R1),(R0)
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-14
SUBROUTINE TO PRINT ERROR HALT MSG

    576	015064	012700 	012571'			MOV	#FMD,R0		; POINT TO WHERE WE WANT IT
    577	015070					CALL	SETPC		; AND SET IT
	015070	004737 	015342'			JSR	PC,SETPC
    578	015074	012700 	012524'			MOV	#FM,R0
    579	015100	012701 	000064 			MOV	#FML,R1
    580	015104	000406 				BR	COMMON		;IT IS FM PARITY
    581	015106	012700 	012610'		5$:	MOV	#FS,R0
    582	015112	012701 	000011 			MOV	#FSL,R1
    583	015116	005237 	011700'			INC	FSWTCH		;TURN ON FS STOP SWITCH
    584	015122				COMMON:	CALL	TTWRIT
	015122	004737 	016352'			JSR	PC,TTWRIT
    585	015126					RETURN
	015126	000207 				RTS	PC
    586					;
    587						.SBTTL	SUBROUTINE TO SET UP ERROR CODE
    588					;
    589	015130	012737 	030461 	011720'	SETEC::	MOV	#"11,POINT
    590	015136					CALL	CKPNT		;TRACE 11
	015136	004737 	016252'			JSR	PC,CKPNT
    591	015142	012704 	012274'			MOV	#ERCODE,R4
    592	015146	012705 	000104 			MOV	#ERCODL,R5
    593	015152	112724 	000040 		3$:	MOVB	#SPC,(R4)+	;BLANK WHOLE AREA
    594	015156					SOB	R5,3$		;CONTINUE UNTIL DONE
	015156	005305 				DEC	R5
	015160	001374 				BNE	3$
    595	015162					CALL	PRTERR		;GET ASCII REPRESENTATION
	015162	004737 	010244'			JSR	PC,PRTERR
    596	015166	012702 	012274'			MOV	#ERCODE,R2	;WHERE THE ASCII REP. GO
    597	015172	005720 				TST	(R0)+		;BYPASS SEVERITY CODE
    598	015174	011000 				MOV	@R0,R0		;GET ACTUAL MSG
    599	015176	005003 				CLR	R3		;INIT COUNTER
    600	015200	112001 			1$:	MOVB	(R0)+,R1	;GET ONE CHAR
    601	015202	001412 				BEQ	2$		;BR IF NULL CHAR
    602	015204	042701 	177600 			BIC	#177600,R1	;MASK OUT HIGH BYTE
    603	015210	105701 				TSTB	R1		;TEST BYTE
    604	015212	001406 				BEQ	2$		;BR IF NULL
    605	015214	110122 				MOVB	R1,(R2)+	;SAVE BYTE IN MSG
    606	015216	005203 				INC	R3
    607	015220	022703 	000104 			CMP	#ERCODL,R3
    608	015224	001401 				BEQ	2$		;QUIT IF BUFFER FULL
    609	015226	000764 				BR	1$		;GET NEXT BYTE
    610	015230				2$:	RETURN
	015230	000207 				RTS	PC
    611					;
    612						.SBTTL	CONVERT RAD50 TO ASCII
    613					;
    614	015232				.C5TA::	PUSH	R0		;SAVE R0
	015232	010046 				MOV	R0,-(SP)
    615	015234					CALL	CVTC		;CONVERT 1ST
	015234	004737 	015266'			JSR	PC,CVTC
    616	015240					PUSH	R0		;STORE
	015240	010046 				MOV	R0,-(SP)
    617	015242					CALL	CVTC		;CONVERT 2ND
	015242	004737 	015266'			JSR	PC,CVTC
    618	015246					PUSH	R0		;STORE
	015246	010046 				MOV	R0,-(SP)
    619	015250					CALL	CVTC		;CONVERT 3RD
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-15
CONVERT RAD50 TO ASCII

	015250	004737 	015266'			JSR	PC,CVTC
    620	015254	110022 				MOVB	R0,(R2)+	;STORE 1ST
    621	015256	112622 				MOVB	(SP)+,(R2)+	;STORE 2ND
    622	015260	112622 				MOVB	(SP)+,(R2)+	;STORE 3RD
    623	015262					POP	R0		;RESTORE R0
	015262	012600 				MOV	(SP)+,R0
    624	015264					RETURN			;AND RETURN
	015264	000207 				RTS	PC
    625					;
    626					;	CONVERT RAD50 CHARACTER
    627					;
    628	015266	010100 			CVTC:	MOV	R1,R0		;DIVIDEND
    629	015270	012701 	000050 			MOV	#50,R1		;DIVISOR
    630	015274					CALL	$DIV		;DO DIVISION
	015274	004737 	000000G			JSR	PC,$DIV
    631	015300	010146 				MOV	R1,-(SP)	;SAVE REMAINDER
    632	015302	010001 				MOV	R0,R1		;QUOTIENT
    633	015304	012600 				MOV	(SP)+,R0	;RESTORE REMAINDER
    634	015306	001412 				BEQ	3$		;BR IF NO REMAINDER
    635	015310	020027 	000033 			CMP	R0,#33		;TEST MIDDLE
    636	015314	002405 				BLT	2$		;ALPHA IF LT
    637	015316	001402 				BEQ	1$		;DOLLAR IF EQ
    638	015320	062700 	000011 			ADD	#22-11,R0
    639	015324	062700 	177711 		1$:	ADD	#11-100,R0
    640	015330	062700 	000040 		2$:	ADD	#100-40,R0
    641	015334	062700 	000040 		3$:	ADD	#40,R0
    642	015340					RETURN
	015340	000207 				RTS	PC
    643					;
    644						.SBTTL	SUBROUTINE TO SET UP PC
    645					;
    646	015342	012737 	031061 	011720'	SETPC::	MOV	#"12,POINT
    647	015350					CALL	CKPNT		;TRACE 12
	015350	004737 	016252'			JSR	PC,CKPNT
    648	015354	012705 	010574'			MOV	#TTYIPT,R5	;ADDRESS CONTAINING PC
    649	015360	010002 				MOV	R0,R2		;ADDRESS CONTAINING PC IN MSG
    650	015362	016500 	000004 			MOV	4(R5),R0	;GET 1ST DIGIT
    651	015366	006200 				ASR	R0		;ONLY 3 BITS FOR 1 DIGIT
    652	015370					CALL	BNRASC		;CONVERT TO ASCII & MOVE INTO BUFFER
	015370	004737 	015464'			JSR	PC,BNRASC
    653	015374					CALL	10$		;GET THE REST OF HALFWORD
	015374	004737 	015416'			JSR	PC,10$
    654	015400	112722 	000040 			MOVB	#SPC,(R2)+	;INSERT SPACE
    655	015404					CALL	2$		;NEXT 2 DIGITS
	015404	004737 	015424'			JSR	PC,2$
    656	015410					CALL	1$		;LAST 4 DIGITS
	015410	004737 	015422'			JSR	PC,1$
    657	015414					RETURN
	015414	000207 				RTS	PC
    658	015416				10$:	CALL	3$		;GET 5 DIGIT
	015416	004737 	015426'			JSR	PC,3$
    659	015422				1$:	CALL	@PC		;GET 4 DIGITS
	015422	004717 				JSR	PC,@PC
    660	015424				2$:	CALL	@PC		;GET 2 DIGITS
	015424	004717 				JSR	PC,@PC
    661	015426	012701 	000002 		3$:	MOV	#2,R1		;AMOUNT TO SHIFT
    662	015432	010500 				MOV	R5,R0		;LOCATION OF NUMBER
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-16
SUBROUTINE TO SET UP PC

    663	015434					CALL	KLLSHI		;DO SHIFT
	015434	004737 	007760'			JSR	PC,KLLSHI
    664	015440	016500 	000004 			MOV	4(R5),R0	;GET LOW PART
    665	015444					CALL	BNRASC		;CONVERT TO ASCII & MOVE INTO BUFFER
	015444	004737 	015464'			JSR	PC,BNRASC
    666	015450	010500 				MOV	R5,R0		;NUMBER LOCATION
    667	015452	012701 	000001 			MOV	#1,R1		;SET UP FOR NEXT
    668	015456					CALL	KLLSHI
	015456	004737 	007760'			JSR	PC,KLLSHI
    669	015462					RETURN
	015462	000207 				RTS	PC
    670	015464	042700 	177770 		BNRASC:	BIC	#-10,R0		;SAVE BITS 0-2
    671	015470	052700 	000060 			BIS	#'0,R0		;ADD 60 TO IT
    672	015474	110022 				MOVB	R0,(R2)+	;MOVE CHARACTER INTO MSG
    673	015476					RETURN
	015476	000207 				RTS	PC
    674					;
    675						.SBTTL	SUBROUTINE TO SET UP PI
    676					;
    677	015500	012737 	031461 	011720'	SETPI::	MOV	#"13,POINT
    678	015506					CALL	CKPNT		;TRACE 13
	015506	004737 	016252'			JSR	PC,CKPNT
    679	015512	010004 				MOV	R0,R4		;POINTS TO PI DATA
    680	015514	112403 				MOVB	(R4)+,R3
    681	015516	012702 	012214'			MOV	#PI0,R2		;R2 POINTS TO PI STATE AREA
    682	015522	032703 	000200 			BIT	#BIT7,R3	;TEST PI ACTIVE
    683	015526	001006 				BNE	1$		;ON
    684	015530	012701 	012052'			MOV	#OFF,R1		;GET OFF MSG
    685	015534	112122 				MOVB	(R1)+,(R2)+
    686	015536	112122 			3$:	MOVB	(R1)+,(R2)+
    687	015540	112122 				MOVB	(R1)+,(R2)+
    688	015542	000403 				BR	2$
    689	015544	012701 	012050'		1$:	MOV	#ON,R1		;GET ON MSG
    690	015550	000772 				BR	3$
    691	015552	010300 			2$:	MOV	R3,R0		;GET PI
    692	015554	042700 	000600 			BIC	#BIT8+BIT7,R0	;FLUSH ACTIVE BIT
    693	015560	012702 	012231'			MOV	#PI1,R2
    694	015564					CALL	TY3D		;GET 3 DIGIT NUMBER
	015564	004737 	015626'			JSR	PC,TY3D
    695	015570	112400 				MOVB	(R4)+,R0	;PI HOLD
    696	015572	042700 	000600 			BIC	#BIT8+BIT7,R0
    697	015576	012702 	012247'			MOV	#PI2,R2
    698	015602					CALL	TY3D		;ANOTHER 3 DIGIT NUMBER
	015602	004737 	015626'			JSR	PC,TY3D
    699	015606	011400 				MOV	(R4),R0		;PI GEN
    700	015610	042700 	000600 			BIC	#BIT8+BIT7,R0	;FLUSH GARBAGE
    701	015614	012702 	012265'			MOV	#PI3,R2
    702	015620					CALL	TY3D		;ANOTHER 3 DIGIT NUMBER
	015620	004737 	015626'			JSR	PC,TY3D
    703	015624					RETURN
	015624	000207 				RTS	PC
    704	015626				TY3D::
    705	015626					PUSH	<R0,R1>
	015626	010046 				MOV	R0,-(SP)
	015630	010146 				MOV	R1,-(SP)
    706	015632	012701 	000007 			MOV	#7,R1		;SHIFT R0 7 PLACES
    707	015636					CALL	.SHIFT
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-17
SUBROUTINE TO SET UP PI

	015636	004737 	007162'			JSR	PC,.SHIFT
    708	015642	010001 				MOV	R0,R1		;NUMBER IN R1
    709	015644	005000 				CLR	R0
    710	015646					CALL	4$		;GET HIGH DIGIT
	015646	004737 	015666'			JSR	PC,4$
    711	015652					CALL	3$		;THEN 2 LOWER ONES
	015652	004737 	015664'			JSR	PC,3$
    712	015656					POP	<R1,R0>
	015656	012601 				MOV	(SP)+,R1
	015660	012600 				MOV	(SP)+,R0
    713	015662					RETURN
	015662	000207 				RTS	PC
    714	015664				3$:	CALL	@PC
	015664	004717 				JSR	PC,@PC
    715	015666	006101 			4$:	ROL	R1
    716	015670	006100 				ROL	R0
    717	015672	006101 				ROL	R1
    718	015674	006100 				ROL	R0
    719	015676	006101 				ROL	R1
    720	015700	006100 				ROL	R0
    721	015702					CALL	BNRASC		;CONVERT TO ASCII & MOVE INTO BUFFER
	015702	004737 	015464'			JSR	PC,BNRASC
    722	015706					RETURN
	015706	000207 				RTS	PC
    723					;
    724						.SBTTL	SUBROUTINE TO SET UP FILE NAME
    725					;
    726	015710				MVNAME:	CALL	CLRDPB		;CLEAR PARAMETER AREA
	015710	004737 	016166'			JSR	PC,CLRDPB
    727	015714					CALL	CLRFNB		;CLEAR FILFNB
	015714	004737 	016240'			JSR	PC,CLRFNB
    728	015720	012700 	010472'			MOV	#FILNAM,R0	;GET FILE NAME
    729	015724	012037 	010354'			MOV	(R0)+,FILFNB+6	;FILE NAME BODY
    730	015730	021037 	010500'			CMP	@R0,SNP		;FILE EXT ?
    731	015734	001407 				BEQ	1$		;BR IF FILENAME =/< 3 CHAR
    732	015736	012037 	010356'			MOV	(R0)+,FILFNB+10
    733	015742	021037 	010500'			CMP	@R0,SNP
    734	015746	001402 				BEQ	1$		;BR IF FILENAME =/< 6 CHAR
    735	015750	012037 	010360'			MOV	(R0)+,FILFNB+12
    736	015754	011037 	010362'		1$:	MOV	@R0,FILFNB+14	;MOVE FILE EXT
    737	015760	005037 	010364'			CLR	FILFNB+16	;ZERO VERSION #
    738	015764					RETURN
	015764	000207 				RTS	PC
    739					;
    740						.SBTTL	ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES
    741					;
    742					;++++++ ROUTINE TO READ A VIRTUAL BLOCK
    743					;
    744					; ENTRY:
    745					;
    746					;	CALL	KLRVB
    747					;
    748					;++++++ ROUTINE TO FIND FILE NAME IN DIRECTORY
    749					;
    750					; ENTRY:
    751					;
    752					;	CALL	KLFNA
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-18
ROUTINE TO HANDLE QIO READ AND FILE PRIMITIVES

    753					;
    754					;++++++ ROUTINE TO DO ACCESS FOR READ
    755					;
    756					; ENTRY:
    757					;
    758					;	CALL	KLACR
    759					;
    760					;++++++ ROUTINE TO DO DE-ACCESS OF FILE
    761					;
    762					; ENTRY:
    763					;
    764					;	CALL	KLDAC
    765					;
    766					; COMMON RETURN:
    767					;
    768					;	C-BIT	CLEAR - SUCCESSFUL RETURN
    769					;		SET - ERROR RETURN
    770					;
    771						.EVEN
    772	015766	012737 	004400 	010506'	KLFNA::	MOV	#IO.FNA,KLDPB+Q.IOFN ;FIND FILE NAME IN DIR
    773	015774	000426 				BR	KLCOMM		;GO TO COMMON CODE
    774	015776	012737 	006400 	010506'	KLACR::	MOV	#IO.ACR,KLDPB+Q.IOFN ;DO ACCESS FOR READ
    775	016004	052737 	100000 	010530'		BIS	#BIT15,KLDPB+Q.IOPL+10 ;SET ACCESS ENABLE BIT
    776	016012	000417 				BR	KLCOMM		;USE COMMON CODE
    777	016014				KLDAC::	CALL	CLRDPB		;ZERO PARAMETER WORDS
	016014	004737 	016166'			JSR	PC,CLRDPB
    778	016020	012737 	010000 	010506'		MOV	#IO.DAC,KLDPB+Q.IOFN ;DE-ACCESS FILE
    779	016026	000411 				BR	KLCOMM		;USE COMMON CODE
    780	016030	012737 	010400 	010506'	KLRVB::	MOV	#IO.RVB,KLDPB+Q.IOFN ;READ VIRTUAL BLOCK
    781	016036	012737 	010674'	010520'	KLIORW:	MOV	#BUFFER,KLDPB+Q.IOPL ;BUFFER ADDRESS
    782	016044	012737 	001000 	010522'		MOV	#BUFSIZ,KLDPB+Q.IOPL+2 ;BUFFER SIZE
    783	016052				KLCOMM:	DIR$	#KLDPB		;PERFORM GIVEN FUNCTION
	016052	012746 	010504'			MOV	#KLDPB,-(SP)
	016056	104375 				EMT	375
    784	016060	103405 				BCS	20$		;FAILED
    785	016062	105737 	010564'			TSTB	IOSTA		;CHECK I/O STATUS
    786	016066	002402 				BLT	20$		;AN ERROR
    787	016070	000241 				CLC			;NO ERROR
    788	016072					RETURN
	016072	000207 				RTS	PC
    789	016074	000261 			20$:	SEC			;SET C-BIT
    790	016076					RETURN
	016076	000207 				RTS	PC
    791					;
    792						.SBTTL	ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES
    793					;
    794					;++++++ ROUTINE TO WRITE A VIRTUAL BLOCK
    795					;
    796					; ENTRY:
    797					;
    798					;	CALL	KLWVB
    799					;
    800					;++++++ ROUTINE TO GET FILE ID FOR A NEW FILE
    801					;
    802					; ENTRY:
    803					;
    804					;	CALL	KLCRE
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-19
ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES

    805					;
    806					;++++++ ROUTINE TO DO ACCESS FOR EXTEND
    807					;
    808					; ENTRY:
    809					;
    810					;	CALL	KLACE
    811					;
    812					;++++++ ROUTINE TO EXTEND FILE
    813					;
    814					; ENTRY:
    815					;
    816					;	CALL	KLEXT
    817					;
    818					;++++++ ROUTINE TO READ STATISTICS BLOCK
    819					;
    820					; ENTRY:
    821					;
    822					;	CALL	KLRAT
    823					;
    824					;ALL RETURN:
    825					;
    826					;	C-BIT	CLEAR - SUCCESSFUL RETURN
    827					;		SET - ERROR RETURN
    828					;
    829	016100	012737 	011000 	010506'	KLWVB::	MOV	#IO.WVB,KLDPB+Q.IOFN ;WRITE VIRTUAL BLOCK
    830	016106	000753 				BR	KLIORW		;GO DO I/O
    831	016110	012737 	012000 	010506'	KLCRE::	MOV	#IO.CRE,KLDPB+Q.IOFN ;GET FILE ID FOR NEW FILE
    832	016116	000755 				BR	KLCOMM
    833	016120	012737 	007400 	010506'	KLACE:	MOV	#IO.ACE,KLDPB+Q.IOFN ;ACCESS FOR EXTEND
    834	016126	052737 	100000 	010530'		BIS	#BIT15,KLDPB+Q.IOPL+10 ;SET ACCESS ENABLE BIT
    835	016134	000746 				BR	KLCOMM
    836	016136	012737 	006000 	010506'	KLENA::	MOV	#IO.ENA,KLDPB+Q.IOFN ;ENABLE FOR ENTER NAME IN DIR
    837	016144	000742 				BR	KLCOMM
    838	016146	012737 	011400 	010506'	KLEXT::	MOV	#IO.EXT,KLDPB+Q.IOFN ;EXTEND FILE
    839	016154	000736 				BR	KLCOMM
    840	016156	012737 	013000 	010506'	KLRAT::	MOV	#IO.RAT,KLDPB+Q.IOFN ;READ STATISTICS BLOCK
    841	016164	000732 				BR	KLCOMM
    842					;
    843					;	CLEAR PARAMETER WORDS IN KLDPB
    844					;
    845	016166	012700 	010520'		CLRDPB:	MOV	#KLDPB+Q.IOPL,R0
    846	016172	012701 	000006 			MOV	#6,R1
    847	016176	005020 			1$:	CLR	(R0)+
    848	016200					SOB	R1,1$
	016200	005301 				DEC	R1
	016202	001375 				BNE	1$
    849	016204					RETURN
	016204	000207 				RTS	PC
    850					;
    851					;	CLEAR TTY INPUT BUFFER
    852					;
    853	016206	012700 	010574'		CLRTTY:	MOV	#TTYIPT,R0	;ADDRESS
    854	016212	012701 	000100 			MOV	#TTYL,R1	;LENGTH
    855	016216	105020 			LOOP:	CLRB	(R0)+
    856	016220					SOB	R1,LOOP
	016220	005301 				DEC	R1
	016222	001375 				BNE	LOOP
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-20
ROUTINE TO HANDLE QIO WRITE AND FILE PRIMITIVES

    857	016224					RETURN
	016224	000207 				RTS	PC
    858					;
    859					;	CLEAR DISK BUFFER
    860					;
    861	016226	012700 	010674'		INITBF:	MOV	#BUFFER,R0
    862	016232	012701 	001000 			MOV	#BUFSIZ,R1	;SIZE
    863	016236	000767 				BR	LOOP		;GO CLEAR BUFFER
    864					;
    865					;	CLEAR FNB FOR REGULAR FILE
    866					;
    867	016240	012700 	010346'		CLRFNB:	MOV	#FILFNB,R0	;FNB ADDRESS
    868	016244	012701 	000032 			MOV	#FNBSIZ,R1	;SIZE
    869	016250	000762 				BR	LOOP
    870					;
    871					;	PRINT OUT TRACE MSG
    872					;
    873	016252	005737 	011702'		CKPNT:	TST	TRACE		;TRACE SET ?
    874	016256	001412 				BEQ	1$		;NO
    875	016260					PUSH	<R0,R1>
	016260	010046 				MOV	R0,-(SP)
	016262	010146 				MOV	R1,-(SP)
    876	016264	012700 	011710'			MOV	#CKMSG,R0
    877	016270	012701 	000014 			MOV	#CKMSGL,R1
    878	016274					CALL	TTWRIT
	016274	004737 	016352'			JSR	PC,TTWRIT
    879	016300					POP	<R1,R0>
	016300	012601 				MOV	(SP)+,R1
	016302	012600 				MOV	(SP)+,R0
    880	016304				1$:	RETURN
	016304	000207 				RTS	PC
    881					;
    882						.SBTTL	ROUTINE TO READ/WRITE FROM/TO CTY 0
    883					;
    884					;
    885					;++++++ ROUTINE TO READ INPUT FROM CTY 0
    886					;
    887					; ENTRY:
    888					;
    889					;	CALL	TTREAD
    890					;
    891					;++++++ ROUTINE TO WRITE OUTPUT TO CTY 0
    892					;
    893					; ENTRY:
    894					;
    895					;	CALL	TTWRIT
    896					;
    897					; COMMON RETURN:
    898					;
    899					;	EITHER NSI OR EXIT$S
    900					;
    901						.EVEN
    902	016306	012700 	011774'		TTREAD:: MOV	#READP,R0
    903	016312	012701 	000006 			MOV	#READPL,R1
    904	016316					CALL	TTCOMX		;PROMPT WITH ERR>
	016316	004737 	016372'			JSR	PC,TTCOMX
    905	016322					CALL	CLRTTY		;ZERO TTYIPT
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-21
ROUTINE TO READ/WRITE FROM/TO CTY 0

	016322	004737 	016206'			JSR	PC,CLRTTY
    906	016326	012737 	001000 	010536'		MOV	#IO.RLB,TTDPB+Q.IOFN ;READ LINE BLOCK
    907	016334	012737 	010574'	010550'		MOV	#TTYIPT,TTDPB+Q.IOPL ;TTYIPT BUFFER ADR
    908	016342	012737 	000100 	010552'		MOV	#TTYL,TTDPB+Q.IOPL+2 ;BUFFER LENGTH
    909	016350	000417 				BR	TTCOMR		;GO READ
    910	016352	012737 	012002'	010550'	TTWRIT:: MOV	#WRITP,TTDPB+Q.IOPL
    911	016360	012737 	000011 	010552'		MOV	#WRITPL,TTDPB+Q.IOPL+2
    912	016366					CALL	TTCOMW		;PROMPT WITH ERR --
	016366	004737 	016402'			JSR	PC,TTCOMW
    913	016372	010037 	010550'		TTCOMX:: MOV	R0,TTDPB+Q.IOPL ;BUFFER ADR
    914	016376	010137 	010552'			MOV	R1,TTDPB+Q.IOPL+2 ;LENGTH
    915	016402	012737 	000400 	010536'	TTCOMW:	MOV	#IO.WLB,TTDPB+Q.IOFN ;WRITE LINE BLOCK
    916	016410				TTCOMR:	DIR$	#TTDPB		;PERFORM GIVEN FUNCTION
	016410	012746 	010534'			MOV	#TTDPB,-(SP)
	016414	104375 				EMT	375
    917	016416	103411 				BCS	TTERRO		;FAILED
    918	016420					WTSE$S	#EFN1		;WAIT FOR COMPLETION
	016420	012746 	000011 			MOV	#EFN1,-(SP)
	016424	012746 				MOV	(PC)+,-(SP)
	016426	   051 	   002 			.BYTE	41.,2
	016430	104375 				EMT	375
    919	016432	022737 	000400 	010536'		CMP	#IO.WLB,TTDPB+Q.IOFN
    920	016440	001425 				BEQ	TTEXIT		;EXIT IF WRITE FUNCTION
    921	016442	012700 	010574'		TTERRO:	MOV	#TTYIPT,R0	;TTY INPUT BUFFER ADDRESS
    922	016446	063700 	010572'			ADD	IOTTY+2,R0	;BYPASS VALID BYTES
    923	016452	105020 			1$:	CLRB	(R0)+		;ZERO REST OF BUFFER
    924	016454	120027 	010674'			CMPB	R0,#BUFFER	;WHOLE AREA CLEARED ?
    925	016460	001374 				BNE	1$		;NOT YET
    926	016462	105737 	010570'			TSTB	IOTTY		;ERROR ?
    927	016466	002425 				BLT	EXIT		;YES, EXIT
    928	016470	122737 	000003 	010571'		CMPB	#'C-100,IOTTY+1	;CONTROL-C ?
    929	016476	001421 				BEQ	EXIT		;YES, EXIT
    930	016500	012700 	012043'		TYCRLF:: MOV	#CRLF,R0
    931	016504	012701 	000002 			MOV	#2,R1
    932	016510					CALL	TTCOMX		;PROMPT WITH CR, LF
	016510	004737 	016372'			JSR	PC,TTCOMX
    933	016514				TTEXIT:	RETURN
	016514	000207 				RTS	PC
    934	016516	012700 	012046'		TYPTAB:: MOV	#TABB,R0	;OUTPUT TAB
    935	016522	000402 				BR	LENGTH
    936	016524	012700 	012047'		TYPSLS:: MOV	#SLASH,R0	;OUTPUT SLASH
    937	016530	012701 	000001 		LENGTH:	MOV	#1,R1
    938	016534					CALL	TTCOMX
	016534	004737 	016372'			JSR	PC,TTCOMX
    939	016540				EVTYP::
    940	016540				TYPLIN::
    941	016540				TYPASZ::
    942	016540				KLNTYP:: RETURN
	016540	000207 				RTS	PC
    943					;
    944						.SBTTL	COMMON ERROR AND EXIT ROUTINE
    945					;
    946	016542				EXIT::	CALL	KLDAC		;DE-ACCESS KLERRO.SNP FILE
	016542	004737 	016014'			JSR	PC,KLDAC
    947	016546				EXIT1:	EXIT$S			;EXIT FROM KLERR TASK
	016546	012746 				MOV	(PC)+,-(SP)
	016550	   063 	   001 			.BYTE	51.,1
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-22
COMMON ERROR AND EXIT ROUTINE

	016552	104375 				EMT	375
    948		013164'				.END	START
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-23
SYMBOL TABLE

ABORTX  000230R  	ASHC  = 000244   	CAMLE = 000313   	CS.CS2= 000010 G 	DOENA   014132RG
ABORT1  000214R  	ATTBLK  010420R  	CAMN  = 000316   	CS.EXP= 177670   	DOEXT   014314RG
ABTAB   005352R  	A.LULU= 000002   	CCA   = 000014   	CS.EXT= 000010 G 	DOMAS   013674RG
ADD   = 000270   	A.LUNA= 000004   	CDD   = 000020   	CS.FST= 000004 G 	DON10C= 040000
ADDB  = 000273   	A.LUNU= 000006   	CD.CLC= 000400 G 	CS.MGN= 000004 G 	DON10S= 100000
ADDI  = 000271   	BCCTER  000270R  	CD.CRC= 002000 G 	CS.NRM= 000000 G 	DON11C= 000100
ADDM  = 000272   	BIT0  = 000001   	CD.DPC= 001000 G 	CS.UDF= 000014 G 	DON11S= 000200
ADSBI   007572R  	BIT00 = 000001   	CD.NRM= 000000 G 	CVTC    015266R  	DOWRT   014372RG
ALUNSY  010462R  	BIT01 = 000002   	CESCKX  000330R  	CYCLS = 000002   	DPB   = 000137
ALUNTT  010452R  	BIT02 = 000004   	CF.CTC= 000100 G 	DATAI = 000001   	DPDTEN= 007344R
AND   = 000404   	BIT03 = 000010   	CF.HTO= 000001 G 	DATAO = 000003   	DPKLM1  001502R
ANDB  = 000407   	BIT04 = 000020   	CF.LOD= 000004 G 	DATE  = 000004   	DPS4  = 040000
ANDCA = 000410   	BIT05 = 000040   	CF.TID= 000002 G 	DCOMST= 000001   	DPTMSG  001415R
ANDCAB= 000413   	BIT06 = 000100   	CF.TOD= 000003 G 	DEP   = 010000   	DRAM    012470R
ANDCAI= 000411   	BIT07 = 000200   	CHNPNT= 000001   	DEX   = 000400   	DRAML = 000015
ANDCAM= 000412   	BIT08 = 000400   	CKEDME  001636R  	DEXDON= 000004   	DRATAB  005112R
ANDCB = 000440   	BIT09 = 001000   	CKEDMX  001644R  	DEXWD1= 174406   	DRDMSG  000776R
ANDCBB= 000443   	BIT1  = 000002   	CKMSG   011710R  	DEXWD2= 174404   	DRESET= 000100
ANDCBI= 000441   	BIT10 = 002000   	CKMSGL= 000014   	DEXWD3= 174402   	DR.DTE= 000011
ANDCBM= 000442   	BIT11 = 004000   	CKPNT   016252R  	DFAD  = 000110   	DSEND = 000004
ANDCM = 000420   	BIT12 = 010000   	CLEAR = 000400   	DFBEND= 000176R     003	DS04  = 004000
ANDCMB= 000423   	BIT13 = 020000   	CLEARB= 000403   	DFDV  = 000113   	DS05  = 002000
ANDCMI= 000421   	BIT14 = 040000   	CLEARI= 000401   	DFMP  = 000112   	DS06  = 001000
ANDCMM= 000422   	BIT15 = 100000   	CLEARM= 000402   	DFN   = 000131   	DTECMD= 000451
ANDI  = 000405   	BIT2  = 000004   	CLIPEX  000362R  	DFSB  = 000111   	DTEFLG= 000444
ANDM  = 000406   	BIT3  = 000010   	CLKNRM  000210RG    003	DFUNC = 000200   	DTEF11= 000450
AOBJN = 000253   	BIT4  = 000020   	CLOSE = 000070   	DF.DMG= 000004   	DTEMTD= 000455
AOBJP = 000252   	BIT5  = 000040   	CLRDPB  016166R  	DF.DMN= 000007   	DTEMTI= 000456
AOJ   = 000340   	BIT6  = 000100   	CLRFEX  000416R  	DF.DOR= 000001   	DTERDX  000600R
AOJA  = 000344   	BIT7  = 000200   	CLRFFX  000412R  	DF.EHG= 000010   	DTEREX  000574R
AOJE  = 000342   	BIT8  = 000400   	CLRFNB  016240R  	DF.EHM= 000011   	DTRMSG  000732R
AOJG  = 000347   	BIT9  = 001000   	CLRFXX  000420R  	DF.EMG= 000005   	DTTRK1  000664R
AOJGE = 000345   	BLKI  = 000000   	CLRGO   007152R  	DF.EMN= 000006   	DTTRK2  000670R
AOJL  = 000341   	BLKO  = 000002   	CLRTTY  016206R  	DF.KLR= 000012   	DTTRK3  000712R
AOJLE = 000343   	BLT   = 000251   	CLRXXX  007156R  	DF.KLW= 000013   	DTWRTC  000456R
AOJN  = 000346   	BNRASC  015464R  	CNUPE = 000002   	DF.KLX= 000014   	DUPE  = 000020
AOS   = 000350   	BPARER= 000020   	COMMON  015122R  	DF.OFF= 000002   	DURE  = 000004
AOSA  = 000354   	BRSTXX  000276R  	CONI  = 000005   	DF.ON = 000003   	DWRMSG  001002R
AOSE  = 000352   	BUFFER  010674R  	CONO  = 000004   	DF.PDP= 000016   	DW1MSG  000752R
AOSG  = 000357   	BUFLEN= 000024   	CONSO = 000007   	DF.PEX= 000015   	DW2MSG  000757R
AOSGE = 000355   	BUFSIZ= 001000   	CONSZ = 000006   	DIAG1 = 174430   	DW3MSG  000771R
AOSL  = 000351   	CAI   = 000300   	CPTMP   000212R     003	DIAG2 = 174432   	DXWRD1= 002000
AOSLE = 000353   	CAIA  = 000304   	CR    = 000015   	DIAG3 = 174436   	D1.CES= 004000 G
AOSN  = 000356   	CAIE  = 000302   	CRAM    012506R  	DIKL10= 000010   	D1.DCS= 000001 G
APR   = 000000   	CAIG  = 000307   	CRAML = 000015   	DIRFNB  010314RG 	D1.DDT= 000040 G
AP.ALL= 000177 G 	CAIGE = 000305   	CRATAB  005062R  	DIV   = 000234   	D1.DEX= 000400 G
AP.ARP= 001000 G 	CAIL  = 000301   	CRESW   011704R  	DIVB  = 000237   	D1.DFM= 000010 G
AP.CDP= 000004 G 	CAILE = 000303   	CRLF    012043R  	DIVI  = 000235   	D1.DS0= 100000 G
AP.EIP= 000400 G 	CAIN  = 000306   	CRLTAB  005076R  	DIVM  = 000236   	D1.DS1= 040000 G
AP.IPF= 000020 G 	CALL  = 000040   	CR.CR1= 000001 G 	DLYCNT= 174400   	D1.DS2= 020000 G
AP.MPE= 000010 G 	CALLI = 000047   	CR.CR2= 000002 G 	DMOVE = 000120   	D1.DS3= 010000 G
AP.NRM= 001400 G 	CAM   = 000310   	CR.FUL= 000000 G 	DMOVEM= 000124   	D1.DS4= 004000 G
AP.NXM= 000040 G 	CAMA  = 000314   	CR.HLF= 000001 G 	DMOVN = 000121   	D1.DS5= 002000 G
AP.PWF= 000001 G 	CAME  = 000312   	CR.NRM= 000000 G 	DMOVNM= 000125   	D1.DS6= 001000 G
AP.SAP= 000002 G 	CAMG  = 000317   	CR.QTR= 000002 G 	DOACE   014242RG 	D1.HLP= 001000 G
AP.SBE= 000100 G 	CAMGE = 000315   	CR.SLO= 000003 G 	DOCRE   014046RG 	D1.LBK= 000200 G
ASH   = 000240   	CAML  = 000311   	CS.CS1= 000004 G 	DODIR   013746RG 	D1.MBZ= 000442 G
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-24
SYMBOL TABLE

D1.PLS= 000020 G 	EQV   = 000444   	EX.ENA= 000200   	FR.CL1= 000316 G 	FR.132= 000264 G
D1.RUN= 002000 G 	EQVB  = 000447   	EX.FCO= 000004   	FR.CL2= 000314 G 	FR.133= 000266 G
D1.T10= 000200 G 	EQVI  = 000445   	FAD   = 000140   	FR.CRD= 000302 G 	FR.134= 000270 G
D1.T11= 000100 G 	EQVM  = 000446   	FADB  = 000143   	FR.CR1= 000316 G 	FR.135= 000272 G
D1.V04= 000020 G 	ERCODE  012274R  	FADL  = 000141   	FR.CR2= 000314 G 	FR.136= 000274 G
D1.XFR= 000004 G 	ERCODL= 000104   	FADM  = 000142   	FR.CR3= 000312 G 	FR.137= 000276 G
D1011 = 000040   	EREXIT  013636R  	FADR  = 000144   	FR.CR4= 000310 G 	FR.140= 000300 G
D2RST   005674R  	ERMG1   012622R  	FADRB = 000147   	FR.DA1= 000260 G 	FR.141= 000302 G
D2.EBD= 040000 G 	ERMG1L= 000033   	FADRI = 000145   	FR.DA2= 000262 G 	FR.142= 000304 G
D2.MBZ= 177641 G 	ERMG2   012656R  	FADRM = 000146   	FR.EBS= 000356 G 	FR.143= 000306 G
D2.MS1= 000002 G 	ERMG2L= 000042   	FDV   = 000170   	FR.FE1= 000266 G 	FR.144= 000310 G
D2.MS2= 000004 G 	ERMG3   012720R  	FDVB  = 000173   	FR.FE2= 000264 G 	FR.145= 000312 G
D2.MS4= 000010 G 	ERMG3L= 000054   	FDVL  = 000171   	FR.PI0= 000200   	FR.146= 000314 G
D2.MS8= 000020 G 	ERMG4   012774R  	FDVM  = 000172   	FR.PI1= 000202   	FR.147= 000316 G
D2.RA0= 100000 G 	ERMG4L= 000061   	FDVR  = 000174   	FR.RAD= 000256 G 	FR.150= 000320 G
D2.RA1= 040000 G 	ERMG5   013056R  	FDVRB = 000177   	FR.RAR= 000240 G 	FR.151= 000322 G
D2.RA2= 020000 G 	ERMG5L= 000043   	FDVRI = 000175   	FR.RBR= 000242 G 	FR.152= 000324 G
D2.RST= 000100 G 	ERMG6   013122R  	FDVRM = 000176   	FR.RFM= 000246 G 	FR.153= 000326 G
D3RST   005676R  	ERMG6L= 000042   	FERTAB  005126R  	FR.RMQ= 000244 G 	FR.154= 000330 G
D3.CDD= 000020 G 	ERRTBL  000000RG    004	FILACB  010404R  	FR.SC1= 000262 G 	FR.155= 000332 G
D3.MBZ= 177704 G 	ERR10C= 010000   	FILFID  010400R  	FR.SC2= 000260 G 	FR.156= 000334 G
D3.NPE= 000002 G 	ERR10S= 020000   	FILFNB  010346R  	FR.SR1= 000306 G 	FR.157= 000336 G
D3.PAR= 040000 G 	ERR11C= 000001   	FILNAM  010472R  	FR.SR2= 000304 G 	FR.160= 000340 G
D3.RST= 000001 G 	ERR11S= 000002   	FIX   = 000122   	FR.VM0= 000320 G 	FR.161= 000342 G
D3.SCD= 000040 G 	ER$BAE= 000270R  	FIXR  = 000126   	FR.VM1= 000322 G 	FR.162= 000344 G
D3.SSL= 100000 G 	ER$CAE= 004064R  	FLTR  = 000127   	FR.VM2= 000324 G 	FR.163= 000346 G
D3.TXB= 000001 G 	ER$CCC= 005762R  	FM      012524R  	FR.VM3= 000326 G 	FR.164= 000350 G
D3.UPE= 000020 G 	ER$CCR= 000412R  	FMA     012557R  	FR.VM4= 000330 G 	FR.165= 000352 G
D3.URE= 000004 G 	ER$CCS= 005724R  	FMB     012545R  	FR.VM5= 000332 G 	FR.166= 000354 G
D3.WEP= 000010 G 	ER$CES= 000314R  	FMD     012571R  	FR.VM6= 000334 G 	FR.167= 000356 G
EBCLKE  001100R  	ER$CFH= 002722R  	FML   = 000064   	FR.VM7= 000336 G 	FR.170= 000360 G
EBCLKX  001112R  	ER$CSC= 006204R  	FMP   = 000160   	FR.100= 000200 G 	FR.171= 000362 G
EBCLK1  001026R  	ER$CSR= 006010R  	FMPB  = 000163   	FR.101= 000202 G 	FR.172= 000364 G
EBCLK2  001066R  	ER$DNP= 002124R  	FMPL  = 000161   	FR.102= 000204 G 	FR.173= 000366 G
EBCTOE  001104R  	ER$DSF= 000574R  	FMPM  = 000162   	FR.103= 000206 G 	FR.174= 000370 G
EBPCKX  001144R  	ER$DTC= 002134R  	FMPR  = 000164   	FR.104= 000210 G 	FR.175= 000372 G
EBSEL = 000100   	ER$ECT= 001104R  	FMPRB = 000167   	FR.105= 000212 G 	FR.176= 000374 G
EBUSPC= 000020   	ER$EPE= 001136R  	FMPRI = 000165   	FR.106= 000214 G 	FR.177= 000376 G
EBUSPS= 000004   	ER$FRF= 006552R  	FMPRM = 000166   	FR.107= 000216 G 	FS      012610R
EDEPT   001354R  	ER$FWF= 006652R  	FNBSIZ= 000032   	FR.110= 000220 G 	FSB   = 000150
EDEXV   001360R  	ER$FXF= 007030R  	FNCIFC  007112R  	FR.111= 000222 G 	FSBB  = 000153
EDKLMX  001516R  	ER$IFC= 007112R  	FNCOCX  007124R  	FR.112= 000224 G 	FSBL  = 000151
EDKLMY  001620R  	ER$IPE= 005334R  	FNCODD  007100R  	FR.113= 000226 G 	FSBM  = 000152
EDONES= 040000   	ER$MAE= 001636R  	FNCOFC  007120R  	FR.114= 000230 G 	FSBR  = 000154
EDPHY   001374R  	ER$OFC= 007120R  	FNHALT  014642R  	FR.115= 000232 G 	FSBRB = 000157
EDTYTB  001342R  	ER$UNL= 006130R  	FORPRO= 000020   	FR.116= 000234 G 	FSBRI = 000155
EDUPT   001364R  	EVTYP   016540RG 	FRDERR  006552R  	FR.117= 000236 G 	FSBRM = 000156
EDUSV   001370R  	EXCH  = 000250   	FRDTEN= 007274R  	FR.120= 000240 G 	FSC   = 000132
ED.EPT= 000000 G 	EXDPM1  001576R  	FRDXXX  006556R  	FR.121= 000242 G 	FSL   = 000011
ED.EXV= 000040 G 	EXDPM2  001616R  	FREAD1  006530R  	FR.122= 000244 G 	FSWTCH  011700R
ED.PHY= 000200 G 	EXDTEN= 007332R  	FREAD2  006546R  	FR.123= 000246 G 	FWDTEN= 007306R
ED.UPT= 000100 G 	EXIT    016542RG 	FR.ADX= 000254 G 	FR.124= 000250 G 	FWRIT1  006642R
ED.USV= 000140 G 	EXIT1   016546R  	FR.APR= 000220 G 	FR.125= 000252 G 	FWRTGO  006616R
EFN1  = 000011   	EXTMSG  001400R  	FR.ARX= 000252 G 	FR.126= 000254 G 	FWRTXX  006656R
EFN2  = 000012   	EX.AC1= 000001   	FR.BRX= 000250 G 	FR.127= 000256 G 	FW.APE= 000116 G
ENTER = 000077   	EX.AC2= 000002   	FR.CA1= 000312 G 	FR.130= 000260 G 	FW.CA1= 000122 G
EPTR  = 000000   	EX.ADF= 000010   	FR.CA2= 000310 G 	FR.131= 000262 G 	FW.CA2= 000124 G
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-25
SYMBOL TABLE

FW.CDR= 000112 G 	FXCTXF  007030R  	G.TIMO= 000002   	HRRO  = 000560   	IE.IDU= 177644
FW.CHN= 000160 G 	FXCTXX  007024R  	G.TISC= 000012   	HRROI = 000561   	IE.IEF= 177637
FW.CRD= 000126 G 	FXCT1   006740R  	G.TIYR= 000000   	HRROM = 000562   	IE.IFC= 177776
FW.CR1= 000136 G 	FXCT2   006754R  	HIBYTE= 177400   	HRROS = 000563   	IE.IFU= 177747
FW.CR2= 000134 G 	FXCT3   006774R  	HLL   = 000500   	HRRS  = 000543   	IE.ILL= 177726
FW.CR3= 000132 G 	FXDTEN= 007262R  	HLLE  = 000530   	HRRZ  = 000550   	IE.ILU= 177640
FW.CR4= 000130 G 	FX.BMC= 000012 G 	HLLEI = 000531   	HRRZI = 000551   	IE.INS= 177776
FW.CSR= 000110 G 	FX.CMR= 000014 G 	HLLEM = 000532   	HRRZM = 000552   	IE.IPR= 177641
FW.DJE= 000146 G 	FX.CON= 000024 G 	HLLES = 000533   	HRRZS = 000553   	IE.ISQ= 177703
FW.DJO= 000150 G 	FX.CRF= 000020 G 	HLLI  = 000501   	HTMG1   012056R  	IE.ITI= 177643
FW.DR1= 000140 G 	FX.CSP= 000000 G 	HLLM  = 000502   	HTMG1L= 000021   	IE.ITS= 177770
FW.DR2= 000142 G 	FX.CST= 000002 G 	HLLO  = 000520   	HTMG2   012100R  	IE.LCK= 177745
FW.DR3= 000144 G 	FX.EBC= 000006 G 	HLLOI = 000521   	HTMG2L= 000025   	IE.LNL= 177646
FW.EBL= 000174 G 	FX.MBC= 000004 G 	HLLOM = 000522   	IBP   = 000133   	IE.MBK= 177721
FW.IAC= 000154 G 	FX.SMR= 000016 G 	HLLOS = 000523   	IDIV  = 000230   	IE.MOD= 177753
FW.IOJ= 000152 G 	FX.SRF= 000022 G 	HLLS  = 000503   	IDIVB = 000233   	IE.NBF= 177731
FW.IPE= 000114 G 	FX.SYC= 000010 G 	HLLZ  = 000510   	IDIVI = 000231   	IE.NBK= 177727
FW.KLO= 000156 G 	FX.UDR= 000032 G 	HLLZI = 000511   	IDIVM = 000232   	IE.NFI= 177704
FW.LAR= 000176 G 	FX.UIR= 000030 G 	HLLZM = 000512   	IDPB  = 000136   	IE.NLN= 177733
FW.LBL= 000106 G 	FX.000= 000000 G 	HLLZS = 000513   	IE.ABO= 177761   	IE.NNC= 177674
FW.LBR= 000104 G 	FX.001= 000002 G 	HLR   = 000544   	IE.ACT= 177771   	IE.NOD= 177751
FW.MBX= 000162 G 	FX.002= 000004 G 	HLRE  = 000574   	IE.ADP= 177636   	IE.NSF= 177746
FW.SBR= 000174 G 	FX.003= 000006 G 	HLREI = 000575   	IE.ALN= 177736   	IE.OFL= 177677
FW.040= 000100 G 	FX.004= 000010 G 	HLREM = 000576   	IE.AST= 177660   	IE.ONP= 177773
FW.041= 000102 G 	FX.005= 000012 G 	HLRES = 000577   	IE.BAD= 177777   	IE.OVR= 177756
FW.042= 000104 G 	FX.006= 000014 G 	HLRO  = 000564   	IE.BBE= 177710   	IE.PRI= 177760
FW.043= 000106 G 	FX.007= 000016 G 	HLROI = 000565   	IE.BDI= 177714   	IE.RAC= 177724
FW.044= 000110 G 	FX.010= 000020 G 	HLROM = 000566   	IE.BDR= 177716   	IE.RAT= 177723
FW.045= 000112 G 	FX.011= 000022 G 	HLROS = 000567   	IE.BDV= 177711   	IE.RBG= 177730
FW.046= 000114 G 	FX.012= 000024 G 	HLRS  = 000547   	IE.BHD= 177700   	IE.RCN= 177722
FW.047= 000116 G 	FX.013= 000026 G 	HLRZ  = 000554   	IE.BLK= 177754   	IE.RER= 177740
FW.050= 000120 G 	FX.014= 000030 G 	HLRZI = 000555   	IE.BNM= 177712   	IE.RNM= 177715
FW.051= 000122 G 	FX.015= 000032 G 	HLRZM = 000556   	IE.BTF= 177675   	IE.RSU= 177757
FW.052= 000124 G 	FX.016= 000034 G 	HLRZS = 000557   	IE.BTP= 177725   	IE.SDP= 177635
FW.053= 000126 G 	FX.017= 000036 G 	HRL   = 000504   	IE.BVR= 177701   	IE.SNC= 177735
FW.054= 000130 G 	FX.020= 000040 G 	HRLE  = 000534   	IE.BYT= 177755   	IE.SPC= 177772
FW.055= 000132 G 	FX.021= 000042 G 	HRLEI = 000535   	IE.CKP= 177766   	IE.SQC= 177734
FW.056= 000134 G 	FX.022= 000044 G 	HRLEM = 000536   	IE.CKS= 177742   	IE.SRE= 177762
FW.057= 000136 G 	FX.023= 000046 G 	HRLES = 000537   	IE.CLO= 177732   	IE.STK= 177706
FW.060= 000140 G 	FX.024= 000050 G 	HRLI  = 000505   	IE.CON= 177752   	IE.ULN= 177773
FW.061= 000142 G 	FX.025= 000052 G 	HRLM  = 000506   	IE.DAA= 177770   	IE.UPN= 177777
FW.062= 000144 G 	FX.026= 000054 G 	HRLO  = 000564   	IE.DAO= 177763   	IE.VER= 177774
FW.063= 000146 G 	FX.027= 000056 G 	HRLOI = 000565   	IE.DFU= 177750   	IE.WAC= 177743
FW.064= 000150 G 	FX.030= 000060 G 	HRLOM = 000566   	IE.DNA= 177771   	IE.WAT= 177741
FW.065= 000152 G 	FX.031= 000062 G 	HRLOS = 000567   	IE.DNR= 177775   	IE.WER= 177737
FW.066= 000154 G 	FX.032= 000064 G 	HRLS  = 000507   	IE.DUN= 177767   	IE.WLK= 177764
FW.067= 000156 G 	FX.033= 000066 G 	HRLZ  = 000514   	IE.DUP= 177707   	IE.2DV= 177720
FW.070= 000160 G 	FX.034= 000070 G 	HRLZI = 000515   	IE.EBX= 177776   	IFLOP = 100000
FW.071= 000162 G 	FX.035= 000072 G 	HRLZM = 000516   	IE.EOF= 177766   	ILDB  = 000134
FW.072= 000164 G 	FX.036= 000074 G 	HRLZS = 000517   	IE.EOT= 177702   	IMUL  = 000220
FW.073= 000166 G 	FX.037= 000076 G 	HRR   = 000540   	IE.EOV= 177765   	IMULB = 000223
FW.074= 000170 G 	GETSTS= 000062   	HRRE  = 000570   	IE.EXP= 177676   	IMULI = 000221
FW.075= 000172 G 	G.TICP= 000016   	HRREI = 000571   	IE.FEX= 177717   	IMULM = 000222
FW.076= 000174 G 	G.TICT= 000014   	HRREM = 000572   	IE.FHE= 177705   	IN    = 000056
FW.077= 000176 G 	G.TIDA= 000004   	HRRES = 000573   	IE.FOP= 177713   	INBUF = 000064
FXCTCX  007006R  	G.TIHR= 000006   	HRRI  = 000541   	IE.HFU= 177744   	INIT  = 000041
FXCTEX  007026R  	G.TIMI= 000010   	HRRM  = 000542   	IE.HWR= 177772   	INITBF  016226R
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-26
SYMBOL TABLE

INITDT  002134R  	IO.LTK= 000050   	IP.DRP= 000002 G 	KLDAC   016014RG 	KLTST   007446RG
INITDX  002124R  	IO.MCS= 013400   	IP.FMP= 000010 G 	KLDEC   010112RG 	KLTST1  007466R
INITER  002130R  	IO.MDA= 016000   	IP.FSS= 000001 G 	KLDIVI  007734RG 	KLTST2  007472R
INITEX  002120R  	IO.MDI= 014400   	IP.NRM= 000016 G 	KLDPB   010504RG 	KLTST3  007474R
INITL1  001702R  	IO.MDO= 015400   	IQ.Q  = 000002   	KLENA   016136RG 	KLWVB   016100RG
INKLFA  002056R  	IO.MLO= 006000   	IQ.X  = 000001   	KLEXT   016146RG 	KLXCTX  002764R
INKLF1  001742R  	IO.MOD= 003000   	IS.BV = 000005   	KLE$$E= 000002   	KLXTN   007426RG
INKLF2  002064R  	IO.MSO= 005000   	IS.CLR= 000000   	KLE$$K= 000126   	KLXTX   007436R
INKLF3  002106R  	IO.RAL= 001010   	IS.CR = 006401   	KLE$$V= 000002   	LDB   = 000135
INPUT = 000066   	IO.RAT= 013000   	IS.ESC= 015401   	KLFNA   015766RG 	LDBREX  003072R
INTROF= 000010   	IO.RBC= 003000   	IS.PND= 000000   	KLGOXX  002642R  	LDBRXX  003066R
INTRON= 000040   	IO.RCI= 015000   	IS.RDD= 000002   	KLGO1   002572R  	LDCPCX  003176R
INTSON= 000001   	IO.RCV= 015000   	IS.SET= 000002   	KLGO2   002620R  	LDCRAX  003314R
INT10S= 000400   	IO.RDB= 001200   	IS.SUC= 000001   	KLHCFH  002270R  	LENGTH  016530R
INT11C= 002000   	IO.RDN= 000022   	JFCL  = 000255   	KLHLTX  002276R  	LF    = 000012
INT11S= 004000   	IO.REL= 013400   	JFFO  = 000243   	KLHLT1  002164R  	LOAD11= 000004
IOR   = 000434   	IO.RHD= 001010   	JRA   = 000267   	KLHLT2  002204R  	LOOKUP= 000076
IORB  = 000437   	IO.RLB= 001000   	JRST  = 000254   	KLHLT3  002210R  	LOOP    016216R
IORI  = 000435   	IO.RLV= 001100   	JSA   = 000266   	KLHLT4  002216R  	LSH   = 000242
IORM  = 000436   	IO.RNA= 005400   	JSP   = 000265   	KLHLT5  002224R  	LSHC  = 000246
IOSTA   010564R  	IO.RNC= 001004   	JSR   = 000264   	KLHLT6  002236R  	LTMSG   011752R
IOTTY   010570R  	IO.RNE= 001020   	JUMP  = 000320   	KLINC   010076RG 	LTMSGL= 000021
IO.ACE= 007400   	IO.RTC= 003400   	JUMPA = 000324   	KLINCX  010106R  	LUN1  = 000001
IO.ACR= 006400   	IO.RTI= 016400   	JUMPE = 000322   	KLIOR   010050RG 	LUN2  = 000002
IO.ACW= 007000   	IO.RTK= 000060   	JUMPG = 000327   	KLIORW  016036R  	MAP   = 000257
IO.ADS= 014000   	IO.RVB= 010400   	JUMPGE= 000325   	KLIORX  010056R  	MBZTAB  000602R
IO.APC= 014000   	IO.RWD= 002400   	JUMPL = 000321   	KLIOT = 000700   	MOVE  = 000200
IO.APV= 014010   	IO.RWU= 002540   	JUMPLE= 000323   	KLLI0   007772R  	MOVEI = 000201
IO.ATT= 001400   	IO.R1C= 002400   	JUMPN = 000326   	KLLI1   010010R  	MOVEM = 000202
IO.CCI= 014000   	IO.SAO= 004000   	KF.BRM= 000400 G 	KLLSH   010162RG 	MOVES = 000203
IO.CCT= 002460   	IO.SCS= 013000   	KF.CES= 000040 G 	KLLSHI  007760RG 	MOVM  = 000214
IO.CLN= 003400   	IO.SDI= 013000   	KF.CLK= 100000 G 	KLLSHR  010204R  	MOVMI = 000215
IO.CON= 015400   	IO.SDO= 012400   	KF.CON= 000020 G 	KLLSHX  010214R  	MOVMM = 000216
IO.CRC= 001020   	IO.SEC= 002520   	KF.DEF= 000021 G 	KLMULI  007614RG 	MOVMS = 000217
IO.CRE= 012000   	IO.SEM= 002440   	KF.EMS= 040000 G 	KLNEG   010150RG 	MOVN  = 000210
IO.CTI= 015400   	IO.SHT= 002410   	KF.KLO= 000100 G 	KLNTYP  016540RG 	MOVNI = 000211
IO.CTL= 016400   	IO.SLO= 005400   	KF.MRS= 010000 G 	KLPWRF= 000010   	MOVNM = 000212
IO.DAC= 010000   	IO.SMO= 002560   	KF.RUN= 020000 G 	KLRAT   016156RG 	MOVNS = 000213
IO.DCI= 014400   	IO.SNM= 002450   	KF.SIM= 004000 G 	KLRI0   010032R  	MOVS  = 000204
IO.DCT= 002470   	IO.SPB= 002420   	KF.SMC= 002000 G 	KLRSH   010232RG 	MOVSI = 000205
IO.DEL= 012400   	IO.SPF= 002440   	KF.SPM= 001000 G 	KLRSHI  010016RG 	MOVSM = 000206
IO.DET= 002000   	IO.SSO= 004400   	KF.UCS= 000200 G 	KLRSTE  002422R  	MOVSS = 000207
IO.DIS= 016000   	IO.SST= 002430   	KF.WRN= 000001 G 	KLRSTX  002426R  	MPE11 = 001000
IO.DTI= 016000   	IO.STC= 002500   	KLACE   016120R  	KLRST1  002356R  	MRCLRX  003500R
IO.ENA= 006000   	IO.STP= 016400   	KLACR   015776RG 	KLRST2  002362R  	MRCLR1  003356R
IO.EOF= 003000   	IO.SYN= 003040   	KLADD   007360RG 	KLRST3  002376R  	MRCLR2  003412R
IO.ESA= 002500   	IO.TRM= 002410   	KLADDI  007554RG 	KLRSXX  002430R  	MRCLR3  003452R
IO.EXT= 011400   	IO.UNL= 000042   	KLADIX  007566R  	KLRVB   016030RG 	MSG2    014112R
IO.FDX= 003020   	IO.WAT= 013400   	KLADJ   007442RG 	KLSETO  010124RG 	MUL   = 000224
IO.FNA= 004400   	IO.WLB= 000400   	KLADJ1  007440RG 	KLSTN1  002534R  	MULB  = 000227
IO.HDX= 003010   	IO.WLS= 000410   	KLAND   010062RG 	KLSTPX  002730R  	MULI  = 000225
IO.HIS= 015000   	IO.WLV= 000500   	KLCLR   010220RG 	KLSTP0  002662R  	MULM  = 000226
IO.INL= 002400   	IO.WVB= 011000   	KLCMP   010136RG 	KLSTP1  002676R  	MVNAME  015710R
IO.ITI= 017000   	IO.XMT= 014400   	KLCMPR  007476RG 	KLSTP2  002716R  	M.KTAE= 000010
IO.KIL= 000012   	IO.XNA= 014410   	KLCMPX  010144R  	KLSTXX  002500R  	M.KTEF= 000002
IO.LED= 012000   	IP.ALL= 000017 G 	KLCOMM  016052R  	KLSUB   007376RG 	M.KTMG= 000004
IO.LOV= 001010   	IP.CRP= 000004 G 	KLCRE   016110RG 	KLSUBI  007574RG 	M.KTUN= 000006
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-27
SYMBOL TABLE

NOCLK   012400R  	PIMSGL= 000071   	RDCPPA  003746R  	R.QSPN= 000006   	SOS   = 000370
NOCLKL= 000046   	PI0     012214R  	RDCPP0  003670R  	R.QSPR= 000012   	SOSA  = 000374
NULSTP= 000040   	PI1     012231R  	RDCPP1  003720R  	R.QSTN= 000002   	SOSE  = 000372
NUPE  = 000002   	PI2     012247R  	RDCPP2  003730R  	SBADI   007610R  	SOSG  = 000377
OFF     012052R  	PI3     012265R  	RDCPP3  003752R  	SBRTAB  005142R  	SOSGE = 000375
ON      012050R  	POINT   011720R  	RDCPP4  003762R  	SCD   = 000040   	SOSL  = 000371
OPEN  = 000050   	POP   = 000262   	RDCPT1  004010R  	SCRTAB  005156R  	SOSLE = 000373
OR    = 000434   	POPJ  = 000263   	RDCPT2  004054R  	SETA  = 000424   	SOSN  = 000376
ORB   = 000437   	PRINTT  011676R  	RDCPT3  000000R     003	SETAB = 000427   	SPC   = 000040
ORCA  = 000454   	PRI1  = 000001   	RDCPXX  004004R  	SETAI = 000425   	STAMSG  000764R
ORCAB = 000457   	PRI7  = 000340   	RDCRME  004064R  	SETAM = 000426   	START   013164RG
ORCAI = 000455   	PROPNT= 000021   	RDFLGX  004312R  	SETCA = 000450   	STAT  = 174434
ORCAM = 000456   	PRTERR  010244RG 	RDFLG1  004310R  	SETCAB= 000453   	STATO = 000061
ORCB  = 000470   	PRTER0  010252R  	RDFMAX  004404R  	SETCAI= 000451   	STATUS= 000022
ORCBB = 000473   	PRTER1  010266R  	RDFMOX  004442R  	SETCAM= 000452   	STATZ = 000063
ORCBI = 000471   	PRTER7  010274R  	RDIPEX  004652R  	SETCM = 000460   	STOP    012446R
ORCBM = 000472   	PRTNEA  003561R     002	RDIPE1  004616R  	SETCMB= 000463   	STOPL = 000022
ORCM  = 000464   	PRTNER  000572R     004	RDIPE2  004634R  	SETCMI= 000461   	STPCXX  005766R
ORCMB = 000467   	PRTNEX  003616R     002	RDIRRX  004562R  	SETCMM= 000462   	STPXCX  005762R
ORCMI = 000465   	PRTOFF= 004000   	RDIRR1  004500R  	SETEC   015130RG 	STRCEX  005732R
ORCMM = 000466   	PR0   = 000000   	RDIRR2  004556R  	SETM  = 000414   	STRCXX  005730R
ORI   = 000435   	PR1   = 000040   	RDIRR3  004560R  	SETMB = 000417   	STRFEX  006014R
ORM   = 000436   	PR2   = 000100   	RDPITB  000014R     003	SETMI = 000415   	STRUNX  006010R
OUT   = 000057   	PR3   = 000140   	RDPITE= 000030R     003	SETMM = 000416   	STUCAE  006152R
OUTBUF= 000065   	PR4   = 000200   	RDPIX   004726R  	SETO  = 000474   	STUCDX  006146R
OUTPUT= 000067   	PR5   = 000240   	RDPI1   004672R  	SETOB = 000477   	STUCD1  006100R
PAG   = 000010   	PR6   = 000300   	RDSMRE  005056R  	SETOI = 000475   	STUCD2  006124R
PARNRM  000216RG    003	PR7   = 000340   	RDSMRX  005060R  	SETOM = 000476   	STUCD3  006112R
PARTMP  000214R     003	PS    = 177776   	RDVMRE  005334R  	SETPC   015342RG 	STUCEX  006140R
PCC     012163R  	PSWW1 = 000005   	RDVMRX  005330R  	SETPI   015500RG 	ST.CED= 000100 G
PCMSG   012126R  	PSWW10= 000014   	READP   011774R  	SETSTS= 000060   	ST.CLE= 000001 G
PCMSGL= 000054   	PSWW11= 000015   	READPL= 000006   	SETZ  = 000400   	ST.CTD= 040000 G
PCTAB   005344R  	PSWW12= 000016   	RECORD  011674R  	SETZB = 000403   	ST.CTE= 010000 G
PC.AFI= 000020 G 	PSWW13= 000017   	REGSAV  007214RG 	SETZI = 000401   	ST.DW1= 002000 G
PC.AT0= 000004 G 	PSWW2 = 000006   	REGTAB  000722R  	SETZM = 000402   	ST.DXD= 000004 G
PC.AT1= 000010 G 	PSWW3 = 000007   	RELEAS= 000071   	SHFTXX  007206R  	ST.EBS= 000100 G
PC.BIS= 000400 G 	PSWW4 = 000010   	RENAME= 000055   	SHIFTL  007170R  	ST.EDB= 004000 G
PC.CY0= 004000 G 	PSWW5 = 000011   	RESETT  005506R  	SHIFTR  007200R  	ST.EPE= 000020 G
PC.CY1= 002000 G 	PSWW6 = 000012   	RESETX  005504R  	SKIP  = 000330   	ST.IDS= 000010 G
PC.FOV= 001000 G 	PSWW7 = 000013   	RESET1  005454R  	SKIPA = 000334   	ST.IEN= 000040 G
PC.FUF= 000002 G 	PULSE = 000020   	RESTDX  005672R  	SKIPE = 000332   	ST.ION= 000001 G
PC.LIP= 000040 G 	PUSH  = 000261   	RESTIX  005552R  	SKIPG = 000337   	ST.MBZ= 000000 G
PC.NDV= 000001 G 	PUSHJ = 000260   	RESTPE  005646R  	SKIPGE= 000335   	ST.MOD= 000010 G
PC.OVF= 010000 G 	QSIZE = 000023   	RESTPX  005642R  	SKIPL = 000331   	ST.MPE= 001000 G
PC.UIO= 000100 G 	Q.IOAE= 000012   	RFMAD0= 100000   	SKIPLE= 000333   	ST.NST= 000040 G
PC.USR= 000200 G 	Q.IOEF= 000006   	RFMAD1= 040000   	SKIPN = 000336   	ST.RIZ= 010000 G
PERCLR= 001000   	Q.IOFN= 000002   	RFMAD2= 020000   	SLASH   012047R  	ST.RST= 011121 G
PE.ALL= 000037 G 	Q.IOLU= 000004   	RFMAD3= 010000   	SLS   = 000057   	ST.SEP= 000004 G
PE.CES= 000001 G 	Q.IOPL= 000014   	RGDTEN= 007320R  	SNP     010500R  	ST.STE= 000002 G
PE.CRM= 000004 G 	Q.IOPR= 000007   	RM    = 000010   	SOJ   = 000360   	ST.TED= 000200 G
PE.DRM= 000002 G 	Q.IOSB= 000010   	ROT   = 000241   	SOJA  = 000364   	ST.TER= 000002 G
PE.FMP= 000010 G 	RAMIS0= 010000   	ROTC  = 000245   	SOJE  = 000362   	ST.TXD= 100000 G
PE.FSS= 000020 G 	RDALLE  003566R  	RSTEND= 005514R  	SOJG  = 000367   	ST.TXE= 020000 G
PHYS  = 100000   	RDALLX  003570R  	RUINGL= 000043   	SOJGE = 000365   	ST.XDB= 000400 G
PI    = 000004   	RDALL1  003532R  	RVMRL1  005254R  	SOJL  = 000361   	SUB   = 000274
PIDENT= 000000   	RDAPRX  003642R  	R.QSGC= 000015   	SOJLE = 000363   	SUBB  = 000277
PIMSG   012202R  	RDCPEX  004002R  	R.QSPC= 000014   	SOJN  = 000366   	SUBI  = 000275
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-28
SYMBOL TABLE

SUBM  = 000276   	TO10DT= 174424   	TTCOMR  016410R  	$TKBSW= 000001 G 	.DTERD  000532RG
SWR   = 177570   	TO10ER= 020000   	TTCOMW  016402R  	$TRKSW= 000001 G 	.DTEWR  000536RG
SWSLLT= 100000   	TO11  = 000100   	TTCOMX  016372RG 	$TRPSW= 000000 G 	.DTSTA  000514RG
SYMA  = 003512RG    002	TO11AD= 174422   	TTDPB   010534RG 	$T04SW= 000000 G 	.DTSTS  000052RG    003
SYNCEX  006210R  	TO11BC= 174416   	TTERRO  016442R  	$$    = 000037   	.DTSTW= 000004 G
SYNCXX  006212R  	TO11BM= 020000   	TTEXIT  016514R  	$$MSG = 000000   	.DTTRK  000612RG
SYNXCX  006204R  	TO11DB= 004000   	TTREAD  016306RG 	$$$ARG= 000014   	.DWDW1  000422RG
TAB   = 000011   	TO11DN= 000200   	TTWRIT  016352RG 	$$$OST= 000014   	.DWDW2  000430RG
TABB    012046R  	TO11DT= 174426   	TTYIPT  010574R  	$$$T1 = 000002   	.DWDW3  000450RG
TDC   = 000650   	TO11ER= 000002   	TTYL  = 000100   	.ABORT  000204RG 	.DWSTA  000440RG
TDCA  = 000654   	TRACE   011702R  	TYCRLF  016500RG 	.APRWD  000176RG    003	.EBCLK  001006RG
TDCE  = 000652   	TRACKQ  006360R  	TYPASZ  016540RG 	.BRCLK= 005000   	.EBPCK  001122RG
TDCN  = 000656   	TRACKX  006344R  	TYPLIN  016540RG 	.BRMBC  000234RG 	.EBUSR= 000006 G
TDN   = 000610   	TRADDR  001326R  	TYPSLS  016524RG 	.BURST  000242RG 	.EDTRK  001170RG
TDNA  = 000614   	TRC   = 000640   	TYPTAB  016516RG 	.CECLK= 004000   	.EIOJA= 067000
TDNE  = 000612   	TRCA  = 000644   	TY3D    015626RG 	.CESCK  000300RG 	.ETAB   001646R
TDNN  = 000616   	TRCE  = 000642   	UGETF = 000073   	.CKEDM  001622R  	.EXADR  000136RG    003
TDO   = 000670   	TRCN  = 000646   	UJEN  = 000100   	.CLDFB  007130RG 	.EXBFR  000142RG    003
TDOA  = 000674   	TRDATA  001334R  	UNASG1= 000032   	.CLDFR  007134RG 	.EXDPB  007322RG
TDOE  = 000672   	TRMSG   011724R  	UNASG2= 000033   	.CLDFW  007144RG 	.EXDPM  001524RG
TDON  = 000676   	TRMSGL= 000025   	UNASG3= 000034   	.CLIPE  000332RG 	.EXKLM  001432RG
TDZ   = 000630   	TRN   = 000600   	UNASG4= 000035   	.CLKWD  000200RG    003	.EXTRK  001146RG
TDZA  = 000634   	TRNA  = 000604   	UNASG5= 000036   	.CLRFF  000366RG 	.FMADR  000166RG    003
TDZE  = 000632   	TRNE  = 000602   	UNASG6= 000037   	.CLRMR= 006000   	.FMDAT  000170RG    003
TDZN  = 000636   	TRNN  = 000606   	USETI = 000074   	.CLRUN= 010000   	.FREAD  006472RG
TENAD1= 174410   	TRO   = 000660   	USETO = 000075   	.CONBT= 012000   	.FRTRK  006214RG
TENAD2= 174412   	TROA  = 000664   	VERSC = 000075   	.CRAMA  000056RG    003	.FWRIT  006566RG
TENFUN  013322R  	TROE  = 000662   	VERSN = 000007 G 	.CRAMR  000060RG    003	.FWTRK  006234RG
TFRMSG  006366R  	TRON  = 000666   	VMA     012136R  	.CRAMW  000102RG    003	.FXCT   006666RG
TFWMSG  006403R  	TRZ   = 000620   	VMATB   005360R  	.CSHRG= 164000   	.FXTRK  006254RG
TFXMSG  006420R  	TRZA  = 000624   	VMHTB   005366R  	.C5TA   015232RG 	.GFNR = 102000
TLC   = 000641   	TRZE  = 000622   	VSUB    000000R     002	.DFBLK  000032RG    003	.INEXT  002142R
TLCA  = 000645   	TRZN  = 000626   	WEP   = 000010   	.DFRB   000040RG    003	.INICL= 070000
TLCE  = 000643   	TR.ALL= 000077 G 	WRITE   014426R  	.DFWB   000032RG    003	.INIT   001666RG
TLCN  = 000647   	TR.DEP= 000020 G 	WRITP   012002R  	.DIAG1= 000000 G 	.INKLF  001722RG
TLN   = 000601   	TR.DTE= 000040 G 	WRITPL= 000011   	.DIAG2= 000002 G 	.IRLTC= 014000
TLNA  = 000605   	TR.EXM= 000010 G 	WRTARX  006462R  	.DIAG3= 000006 G 	.KLCON  002542RG
TLNE  = 000603   	TR.FRD= 000002 G 	XCT   = 000256   	.DPADR  000124RG    003	.KLDFR  007264RG
TLNN  = 000607   	TR.FWR= 000004 G 	XOR   = 000430   	.DPBFR  000130RG    003	.KLDFW  007276RG
TLO   = 000661   	TR.FXC= 000001 G 	XORB  = 000433   	.DPDPB  007334RG 	.KLDFX  007252RG
TLOA  = 000665   	TSC   = 000651   	XORI  = 000431   	.DPKLM  001466RG 	.KLFLG= ****** GX
TLOE  = 000663   	TSCA  = 000655   	XORM  = 000432   	.DPTRK  001160RG 	.KLGO   002550RG
TLON  = 000667   	TSCE  = 000653   	ZSTOP = 040000   	.DRAMA  000150R     003	.KLHLT  002146RG
TLZ   = 000621   	TSCN  = 000657   	$AGAIN= 000001 G 	.DRAMR  000152R     003	.KLIWD= ****** GX
TLZA  = 000625   	TSN   = 000611   	$AUTO = 000001 G 	.DRAMW  000160RG    003	.KLRLD= ****** GX
TLZE  = 000623   	TSNA  = 000615   	$DISTB= 000000 G 	.DREG   000046RG    003	.KLRSN  000000RG
TLZN  = 000627   	TSNE  = 000613   	$DIV  = ****** GX	.DREGS= 000014 G 	.KLRST  002300RG
TOBM  = 000004   	TSNN  = 000617   	$DSW  = ****** GX	.DRLTC= 015000   	.KLST   002434RG
TOD   = 000003   	TSO   = 000671   	$HLPSW= 000000 G 	.DSACF= 066000   	.KLSTN  002502RG
TOIP  = 000002   	TSOA  = 000675   	$LPTSW= 000001 G 	.DSIOJ= 065000   	.KLSTP  002646RG
TOIT  = 000001   	TSOE  = 000673   	$MBPSW= 000000 G 	.DTAB   001656R  	.KLXCT  002734RG
TO10  = 000200   	TSON  = 000677   	$MCRSW= 000001 G 	.DTDI1  000046RG    003	.LCRDL= 052000
TO10AD= 174420   	TSZ   = 000631   	$MUL  = ****** GX	.DTDI2  000050RG    003	.LCRDR= 051000
TO10BC= 174414   	TSZA  = 000635   	$RAMSW= 000000 G 	.DTDI3  000054RG    003	.LCRM1= 057000
TO10BM= 000001   	TSZE  = 000633   	$RSXSW= 000001 G 	.DTDW1  000476RG 	.LCRM2= 056000
TO10DB= 000400   	TSZN  = 000637   	$SCLCK= 000001 G 	.DTDW2  000504RG 	.LCRM3= 055000
TO10DN= 100000   	TTCALL= 000051   	$SPRSW= 000001 G 	.DTDW3  000524RG 	.LCRM4= 054000
KLERR - KL10 SYSTEM ERROR RECOR	MACRO M1108  13-JAN-78 15:46  PAGE 229-29
SYMBOL TABLE

.LCRM5= 053000   	.MRCLR  003320RG 	.RDARX  004116RG 	.RDPI   004654RG 	.STFLG  000206RG    003
.LDAR = 077000   	.MTDPB  007346R  	.RDBRR  004124RG 	.RDSBR  004766RG 	.STPCL= 000000
.LDBRC  002766RG 	.NOERR= ****** GX	.RDBRX  004132RG 	.RDSCR  004774RG 	.STPXC  005734RG
.LDBRG  002774RG 	.OKLF   011706RG 	.RDCPP  003646RG 	.RDSMR  005000RG 	.STRCL= 001000
.LDBRL= 043000   	.PCAB1= 150000   	.RDCRA  004736RG 	.RDVAB  005200RG 	.STRUN  005772RG
.LDBRR= 042000   	.PCAB2= 151000   	.RDCRL  004744RG 	.RDVMA  005206RG 	.STUCD  006020RG
.LDCK1= 046000   	.PCAB3= 152000   	.RDDPB  004160RG 	.RDVMH  005214RG 	.SYNXC  006156RG
.LDCK2= 047000   	.PCAB4= 153000   	.RDDRA  004752RG 	.RDVMR  005220RG 	.TRACK  006270RG
.LDCLK  003074RG 	.PEWRD  000202RG    003	.RDEBS  004140RG 	.RDVPC  005172RG 	.TRKWD  011706RG
.LDCPC  003126RG 	.PITAB  000010RG    003	.RDFER  004760RG 	.REGRW  007310RG 	.WRAR1  006444RG
.LDCRA  003200RG 	.PSCWD  000204RG    003	.RDFLG  004166RG 	.RESET  005374RG 	.WRMBX= 071000
.LDDIS= 045000   	.RCRM1= 147000   	.RDFMA  004320RG 	.RESTD  005650RG 	.WRTAR  006436RG
.LDPAR  003112RG 	.RCRM2= 146000   	.RDFMO  004410RG 	.RESTI  005516RG 	.XFRCK  007036RG
.LDRJD= 064000   	.RCRM3= 145000   	.RDFMR  004146RG 	.RESTP  005554RG 	.XFRED  006464RG
.LDRJV= 063000   	.RCRM4= 144000   	.RDIPE  004566RG 	.SECLK= 003000   	.XFWCK  007054RG
.LDRM1= 060000   	.RCSPF= 141000   	.RDIRR  004446RG 	.SETMR= 007000   	.XFWRT  006560RG
.LDRM2= 061000   	.RDADR  004074RG 	.RDJ14= 134000   	.SETRN= 011000   	.XFXCK  007072RG
.LDRM3= 062000   	.RDADX  004102RG 	.RDJ71= 135000   	.SHIFT  007162RG 	.XFXCT  006660RG
.LDSEL= 044000   	.RDALL  003506R  	.RDMAB= 133000   	.SSCLK= 002000   	...GBL= 000000
.LDZER  011706RG 	.RDAPR  003602RG 	.RDMQR  004154RG 	.STCLK  005700RG 	...KLI  010434R
.MEMRS= 076000   	.RDARR  004110RG

. ABS.	000000	   000
      	016554	   001
SYMTAA	003622	   002
TABLES	000220	   003
SYMTBS	000600	   004
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  16173 WORDS  ( 64 PAGES)
DYNAMIC MEMORY:  17888 WORDS  ( 68 PAGES)
ELAPSED TIME:  00:15:56
,[57,20]KLERR.LIS/-SP/CRF=[57,30]SWITCH,KLESUB,COMSUB,KLNUM,KLPERR,KLERR
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 1

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ABORTX	  000230 R	 47-1133    47-1138   #47-1140   
ABORT1	  000214 R	#47-1134   
ABTAB 	  005352 R	 139-4130  #140-4184  
ADD   	= 000270	#5-113     
ADDB  	= 000273	#5-114     
ADDI  	= 000271	#5-115     
ADDM  	= 000272	#5-116     
ADSBI 	  007572 R	 209-182   #209-189   
ALUNSY	  010462 R	#229-139    229-296   
ALUNTT	  010452 R	#229-135    229-295   
AND   	= 000404	#5-118     
ANDB  	= 000407	#5-119     
ANDCA 	= 000410	#5-120     
ANDCAB	= 000413	#5-121     
ANDCAI	= 000411	#5-122     
ANDCAM	= 000412	#5-123     
ANDCB 	= 000440	#5-124     
ANDCBB	= 000443	#5-125     
ANDCBI	= 000441	#5-126     
ANDCBM	= 000442	#5-127     
ANDCM 	= 000420	#5-128     
ANDCMB	= 000423	#5-129     
ANDCMI	= 000421	#5-130     
ANDCMM	= 000422	#5-131     
ANDI  	= 000405	#5-132     
ANDM  	= 000406	#5-133     
AOBJN 	= 000253	#5-135     
AOBJP 	= 000252	#5-136     
AOJ   	= 000340	#5-138     
AOJA  	= 000344	#5-139     
AOJE  	= 000342	#5-140     
AOJG  	= 000347	#5-141     
AOJGE 	= 000345	#5-142     
AOJL  	= 000341	#5-143     
AOJLE 	= 000343	#5-144     
AOJN  	= 000346	#5-145     
AOS   	= 000350	#5-147     
AOSA  	= 000354	#5-148     
AOSE  	= 000352	#5-149     
AOSG  	= 000357	#5-150     
AOSGE 	= 000355	#5-151     
AOSL  	= 000351	#5-152     
AOSLE 	= 000353	#5-153     
AOSN  	= 000356	#5-154     
APR   	= 000000	#16-661    
AP.ALL	= 000177  G	#30-434    
AP.ARP	= 001000  G	#37-707     37-711     110-3185  
AP.CDP	= 000004  G	#30-429     30-434    
AP.EIP	= 000400  G	#37-709     37-711     50-1267    110-3193  
AP.IPF	= 000020  G	#30-431     30-434    
AP.MPE	= 000010  G	#30-430     30-434    
AP.NRM	= 001400  G	#37-711     180-5490  
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 2

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

AP.NXM	= 000040  G	#30-432     30-434    
AP.PWF	= 000001  G	#30-427     30-434    
AP.SAP	= 000002  G	#30-428     30-434    
AP.SBE	= 000100  G	#30-433     30-434    
ASH   	= 000240	#5-156     
ASHC  	= 000244	#5-157     
ATTBLK	  010420 R	 229-125   #229-127   
A.LULU	= 000002	#229-135   #229-139   
A.LUNA	= 000004	#229-135   #229-139   
A.LUNU	= 000006	#229-135   #229-139   
BCCTER	  000270 R	 48-1178   #48-1184   
BIT0  	= 000001	#3-68       30-390    #229-69     229-535   
BIT00 	= 000001	#30-390     31-462     32-488     32-508     33-545     33-546     34-566     34-571     34-593    
                         111-3202   125-3702   132-3890   169-5174  
BIT01 	= 000002	#30-391     31-465     32-484     32-506     33-543     33-544     34-572     34-592     111-3201  
BIT02 	= 000004	#30-392     31-457     32-483     32-505     32-510     33-541     33-542     34-573     34-591    
                         59-1542    111-3200  
BIT03 	= 000010	#30-393     31-456     32-482     32-502     33-538     33-540     34-574     34-590     100-2845  
                         111-3199  
BIT04 	= 000020	#30-394     31-454     31-455     32-481     32-500     32-501     33-536     34-565     34-575    
                         34-589    
BIT05 	= 000040	#30-395     31-452     32-488     32-499     33-534     33-535     34-564     34-576     34-588    
                         132-3887  
BIT06 	= 000100	#30-396     31-451     32-477     32-510     33-532     33-533     34-563     34-587    
BIT07 	= 000200	#30-397     31-449     31-450     32-488     32-510     33-530     34-562     34-586    
BIT08 	= 000400	#30-398     31-448     32-488     32-510     33-528     34-561     34-585    
BIT09 	= 001000	#30-399     31-444     31-447     32-488     32-510     33-526     34-560     34-584    
BIT1  	= 000002	#3-68       30-391    #229-69     229-538   
BIT10 	= 002000	#3-68       31-443     31-446     32-488     32-510     33-525     34-559     34-583    #229-69    
BIT11 	= 004000	#3-68       31-442     31-445     32-488     32-510     33-523     34-558     34-582    #229-69    
BIT12 	= 010000	#3-68       31-441     32-488     32-510     33-521     33-522     34-557     34-581    #229-69    
BIT13 	= 020000	#3-68       31-440     32-473     32-488     32-510     33-519     34-556    #229-69    
BIT14 	= 040000	#3-68       31-439     32-470     32-471     32-488     32-493     32-510     33-518     34-555    
                        #229-69    
BIT15 	= 100000	#3-68       31-438     32-469     32-488     32-492     32-510     33-516     34-554     134-3964  
                        #229-69     229-775    229-834   
BIT2  	= 000004	#3-68       30-392    #229-69     229-541   
BIT3  	= 000010	#3-68       30-393    #229-69     229-544   
BIT4  	= 000020	#3-68       30-394    #229-69     229-547   
BIT5  	= 000040	#3-68       30-395    #229-69    
BIT6  	= 000100	#3-68       30-396    #229-69    
BIT7  	= 000200	#3-68       30-397    #229-69     229-682    229-692    229-696    229-700   
BIT8  	= 000400	#3-68       30-398    #229-69     229-692    229-696    229-700   
BIT9  	= 001000	#3-68       30-399    #229-69    
BLKI  	= 000000	#16-650    
BLKO  	= 000002	#16-652    
BLT   	= 000251	#5-159     
BNRASC	  015464 R	 229-652    229-652    229-665    229-665   #229-670    229-721    229-721   
BPARER	= 000020	#3-68      #229-69    
BRSTXX	  000276 R	 48-1175    48-1180    48-1183   #48-1187   
BUFFER	  010674 R	#229-163    229-164    229-493    229-505    229-781    229-861    229-924   
BUFLEN	= 000024	#177-5422  
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 3

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

BUFSIZ	= 001000	#229-164    229-518    229-782    229-862   
CAI   	= 000300	#6-162     
CAIA  	= 000304	#6-163     
CAIE  	= 000302	#6-164     
CAIG  	= 000307	#6-165     
CAIGE 	= 000305	#6-166     
CAIL  	= 000301	#6-167     
CAILE 	= 000303	#6-168     
CAIN  	= 000306	#6-169     
CALL  	= 000040	#6-171     
CALLI 	= 000047	#6-172     
CAM   	= 000310	#6-174     
CAMA  	= 000314	#6-175     
CAME  	= 000312	#6-176     
CAMG  	= 000317	#6-177     
CAMGE 	= 000315	#6-178     
CAML  	= 000311	#6-179     
CAMLE 	= 000313	#6-180     
CAMN  	= 000316	#6-181     
CCA   	= 000014	#16-664    
CDD   	= 000020	#3-68      #229-69    
CD.CLC	= 000400  G	#36-684     110-3189  
CD.CRC	= 002000  G	#36-682     110-3174  
CD.DPC	= 001000  G	#36-683     110-3181  
CD.NRM	= 000000  G	#36-685     180-5481  
CESCKX	  000330 R	 49-1224    49-1226   #49-1231   
CF.CTC	= 000100  G	#3-71      
CF.HTO	= 000001  G	#3-72       70-1910    148-4425   176-5393  
CF.LOD	= 000004  G	#3-75      
CF.TID	= 000002  G	#3-73      
CF.TOD	= 000003  G	#3-74      
CHNPNT	= 000001	#3-68      #229-69    
CKEDME	  001636 R	 67-1798   #67-1801   
CKEDMX	  001644 R	 67-1800   #67-1804   
CKMSG 	  011710 R	#229-181    229-184    229-876   
CKMSGL	= 000014	#229-184    229-877   
CKPNT 	  016252 R	 229-331    229-331    229-375    229-375    229-394    229-394    229-407    229-407    229-418   
                         229-418    229-425    229-425    229-439    229-439    229-457    229-457    229-470    229-470   
                         229-484    229-484    229-532    229-532    229-590    229-590    229-647    229-647    229-678   
                         229-678   #229-873   
CLEAR 	= 000400	#6-183     
CLEARB	= 000403	#6-184     
CLEARI	= 000401	#6-185     
CLEARM	= 000402	#6-186     
CLIPEX	  000362 R	 50-1264   #50-1269   
CLKNRM	  000210 RG	 144-4305  #180-5480  
CLOSE 	= 000070	#6-188     
CLRDPB	  016166 R	 229-395    229-395    229-426    229-426    229-471    229-471    229-490    229-490    229-726   
                         229-726    229-777    229-777   #229-845   
CLRFEX	  000416 R	 51-1299   #51-1302   
CLRFFX	  000412 R	#51-1300   
CLRFNB	  016240 R	 229-727    229-727   #229-867   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 4

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

CLRFXX	  000420 R	#51-1304   
CLRGO 	  007152 R	 170-5195  #170-5199  
CLRTTY	  016206 R	 229-341    229-341    229-504    229-504   #229-853    229-905    229-905   
CLRXXX	  007156 R	#170-5201  
CNUPE 	= 000002	#3-68      #229-69    
COMMON	  015122 R	 229-553    229-553    229-557    229-560    229-563    229-580   #229-584   
CONI  	= 000005	#16-655    
CONO  	= 000004	#16-654    
CONSO 	= 000007	#16-657    
CONSZ 	= 000006	#16-656    
CPTMP 	  000212 R	 50-1265    143-4261   145-4326  *145-4327  *145-4330  #180-5483  
CR    	= 000015	#229-74     229-183    229-186    229-189    229-198    229-206    229-209    229-216    229-227   
                         229-237    229-240    229-243    229-246    229-256    229-259    229-265    229-268    229-271   
                         229-274    229-277    229-280   
CRAM  	  012506 R	#229-246    229-247    229-561   
CRAML 	= 000015	#229-247    229-562   
CRATAB	  005062 R	 135-4001  #137-4047  
CRESW 	  011704 R	#229-169   *229-423    229-487   
CRLF  	  012043 R	#229-198    229-930   
CRLTAB	  005076 R	 135-4004  #137-4055  
CR.CR1	= 000001  G	#36-669     110-3187  
CR.CR2	= 000002  G	#36-670     110-3179  
CR.FUL	= 000000  G	#36-671    
CR.HLF	= 000001  G	#36-672    
CR.NRM	= 000000  G	#36-668     180-5481  
CR.QTR	= 000002  G	#36-673    
CR.SLO	= 000003  G	#36-674    
CS.CS1	= 000004  G	#36-661     110-3172  
CS.CS2	= 000010  G	#36-662     110-3166  
CS.EXP	= 177670	#3-68      #229-69    
CS.EXT	= 000010  G	#36-665    
CS.FST	= 000004  G	#36-663     36-664    
CS.MGN	= 000004  G	#36-664    
CS.NRM	= 000000  G	#36-660     180-5481  
CS.UDF	= 000014  G	#36-666    
CVTC  	  015266 R	 229-615    229-615    229-617    229-617    229-619    229-619   #229-628   
CYCLS 	= 000002	#3-68      #229-69    
DATAI 	= 000001	#16-651    
DATAO 	= 000003	#16-653    
DATE  	= 000004	#3-68      #229-69    
DCOMST	= 000001	#3-68      #229-69    
DEP   	= 010000	#3-68      #229-69    
DEX   	= 000400	#3-68      #229-69    
DEXDON	= 000004	#3-68      #229-69    
DEXWD1	= 174406	#3-68      #229-69    
DEXWD2	= 174404	#3-68      #229-69    
DEXWD3	= 174402	#3-68      #229-69    
DFAD  	= 000110	#6-190     
DFBEND	= 000176 R	 68-1864   #178-5463  
DFDV  	= 000113	#6-191     
DFMP  	= 000112	#6-192     
DFN   	= 000131	#6-193     
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 5

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DFSB  	= 000111	#6-194     
DFUNC 	= 000200	#3-68      #229-69    
DF.DMG	= 000004	#3-68      #229-69    
DF.DMN	= 000007	#3-68      #229-69    
DF.DOR	= 000001	#3-68      #229-69    
DF.EHG	= 000010	#3-68      #229-69    
DF.EHM	= 000011	#3-68      #229-69    
DF.EMG	= 000005	#3-68      #229-69    
DF.EMN	= 000006	#3-68      #229-69    
DF.KLR	= 000012	#3-68       173-5291  #229-69    
DF.KLW	= 000013	#3-68       174-5309  #229-69    
DF.KLX	= 000014	#3-68       173-5273  #229-69    
DF.OFF	= 000002	#3-68      #229-69    
DF.ON 	= 000003	#3-68      #229-69    
DF.PDP	= 000016	#3-68       175-5372  #229-69    
DF.PEX	= 000015	#3-68       175-5350  #229-69    
DIAG1 	= 174430	#3-68      #229-69    
DIAG2 	= 174432	#3-68      #229-69    
DIAG3 	= 174436	#3-68      #229-69    
DIKL10	= 000010	#3-68      #229-69    
DIRFNB	  010314 RG	#229-97     229-396    229-409    229-410    229-411    229-443    229-444    229-445   
DIV   	= 000234	#6-196     
DIVB  	= 000237	#6-197     
DIVI  	= 000235	#6-198     
DIVM  	= 000236	#6-199     
DLYCNT	= 174400	#3-68      #229-69    
DMOVE 	= 000120	#6-201     
DMOVEM	= 000124	#6-202     
DMOVN 	= 000121	#6-203     
DMOVNM	= 000125	#6-204     
DOACE 	  014242 RG	 229-414    229-448   #229-456   
DOCRE 	  014046 RG	 229-416   #229-423   
DODIR 	  013746 RG	 229-398   #229-406   
DOENA 	  014132 RG	 229-430   #229-438   
DOEXT 	  014314 RG	#229-469    229-501   
DOMAS 	  013674 RG	 229-372   #229-393   
DON10C	= 040000	#3-68      #229-69    
DON10S	= 100000	#3-68      #229-69    
DON11C	= 000100	#3-68      #229-69    
DON11S	= 000200	#3-68      #229-69    
DOWRT 	  014372 RG	 229-461   #229-483   
DPB   	= 000137	#6-206     
DPDTEN	= 007344 R	*70-1915   #175-5376  
DPKLM1	  001502 R	 65-1755   #65-1757   
DPS4  	= 040000	#3-68      #229-69    
DPTMSG	  001415 R	 61-1623   #63-1685   
DRAM  	  012470 R	#229-243    229-244    229-558   
DRAML 	= 000015	#229-244    229-559   
DRATAB	  005112 R	 135-4007  #137-4063  
DRDMSG	  000776 R	 56-1456   #57-1483   
DRESET	= 000100	#3-68      #229-69    
DR.DTE	= 000011	#3-68       173-5273   173-5291   174-5309  #229-69    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 6

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

DSEND 	= 000004	#3-68      #229-69    
DS04  	= 004000	#3-68      #229-69    
DS05  	= 002000	#3-68      #229-69    
DS06  	= 001000	#3-68      #229-69    
DTECMD	= 000451	#3-68      #229-69    
DTEFLG	= 000444	#3-68      #229-69    
DTEF11	= 000450	#3-68      #229-69    
DTEMTD	= 000455	#3-68      #229-69    
DTEMTI	= 000456	#3-68      #229-69    
DTERDX	  000600 R	 54-1392    54-1394   #54-1397   
DTEREX	  000574 R	 54-1389   #54-1395   
DTRMSG	  000732 R	 56-1442   #57-1471   
DTTRK1	  000664 R	 56-1449   #56-1452   
DTTRK2	  000670 R	 56-1451   #56-1454   
DTTRK3	  000712 R	 56-1458   #56-1460   
DTWRTC	  000456 R	 53-1347    53-1351    53-1355   #53-1359   
DUPE  	= 000020	#3-68      #229-69    
DURE  	= 000004	#3-68      #229-69    
DWRMSG	  001002 R	 56-1459   #57-1485   
DW1MSG	  000752 R	 57-1466   #57-1474   
DW2MSG	  000757 R	 57-1467   #57-1476   
DW3MSG	  000771 R	 57-1469   #57-1480   
DXWRD1	= 002000	#3-68      #229-69    
D1.CES	= 004000  G	#31-445     49-1225   
D1.DCS	= 000001  G	#31-462    
D1.DDT	= 000040  G	#31-452     31-465    
D1.DEX	= 000400  G	#31-448     31-465    
D1.DFM	= 000010  G	#31-456    
D1.DS0	= 100000  G	#31-438    
D1.DS1	= 040000  G	#31-439    
D1.DS2	= 020000  G	#31-440    
D1.DS3	= 010000  G	#31-441    
D1.DS4	= 004000  G	#31-442    
D1.DS5	= 002000  G	#31-443    
D1.DS6	= 001000  G	#31-444    
D1.HLP	= 001000  G	#31-447     71-1952    73-2020    74-2053    86-2349    151-4535   229-305   
D1.LBK	= 000200  G	#31-450    
D1.MBZ	= 000442  G	#31-465     54-1403   
D1.PLS	= 000020  G	#31-455    
D1.RUN	= 002000  G	#31-446     70-1942   
D1.T10	= 000200  G	#31-449    
D1.T11	= 000100  G	#31-451    
D1.V04	= 000020  G	#31-454    
D1.XFR	= 000004  G	#31-457    
D1011 	= 000040	#3-68      #229-69    
D2RST 	  005674 R	 146-4348  #146-4359  
D2.EBD	= 040000  G	#32-471    
D2.MBZ	= 177641  G	#32-488     54-1404   
D2.MS1	= 000002  G	#32-484    
D2.MS2	= 000004  G	#32-483    
D2.MS4	= 000010  G	#32-482    
D2.MS8	= 000020  G	#32-481    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 7

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

D2.RA0	= 100000  G	#32-469    
D2.RA1	= 040000  G	#32-470    
D2.RA2	= 020000  G	#32-473    
D2.RST	= 000100  G	#32-477     146-4360  
D3RST 	  005676 R	 146-4354  #146-4363  
D3.CDD	= 000020  G	#32-501    
D3.MBZ	= 177704  G	#32-510     54-1406   
D3.NPE	= 000002  G	#32-506    
D3.PAR	= 040000  G	#32-493    
D3.RST	= 000001  G	#32-512     146-4364  
D3.SCD	= 000040  G	#32-499    
D3.SSL	= 100000  G	#32-492    
D3.TXB	= 000001  G	#32-508     32-512    
D3.UPE	= 000020  G	#32-500    
D3.URE	= 000004  G	#32-505    
D3.WEP	= 000010  G	#32-502    
EBCLKE	  001100 R	 59-1532    59-1538    59-1541   #59-1550   
EBCLKX	  001112 R	 59-1549    59-1552   #59-1556   
EBCLK1	  001026 R	#59-1534    59-1544   
EBCLK2	  001066 R	 59-1543   #59-1545   
EBCTOE	  001104 R	 59-1547   #59-1553   
EBPCKX	  001144 R	 60-1586    60-1588   #60-1591   
EBSEL 	= 000100	#3-68      #229-69    
EBUSPC	= 000020	#3-68      #229-69    
EBUSPS	= 000004	#3-68      #229-69    
EDEPT 	  001354 R	 63-1668   #63-1673   
EDEXV 	  001360 R	 63-1669   #63-1675   
EDKLMX	  001516 R	 65-1748    65-1750    65-1752   #65-1761   
EDKLMY	  001620 R	 66-1771    66-1778    66-1784   #66-1791   
EDONES	= 040000	#3-68      #229-69    
EDPHY 	  001374 R	 63-1672   #63-1681   
EDTYTB	  001342 R	 62-1658   #63-1667   
EDUPT 	  001364 R	 63-1670   #63-1677   
EDUSV 	  001370 R	 63-1671   #63-1679   
ED.EPT	= 000000  G	#30-410    
ED.EXV	= 000040  G	#30-411    
ED.PHY	= 000200  G	#30-414     67-1799    70-1929    70-1932    175-5350   175-5372  
ED.UPT	= 000100  G	#30-412    
ED.USV	= 000140  G	#30-413    
EFN1  	= 000011	#229-82     229-155    229-918   
EFN2  	= 000012	#229-83     229-150   
ENTER 	= 000077	#7-209     
EPTR  	= 000000	#3-68      #229-69    
EQV   	= 000444	#7-211     
EQVB  	= 000447	#7-212     
EQVI  	= 000445	#7-213     
EQVM  	= 000446	#7-214     
ERCODE	  012274 R	#229-230    229-232    229-377    229-591    229-596   
ERCODL	= 000104	#229-232    229-592    229-607   
EREXIT	  013636 R	 229-337    229-337    229-340    229-340    229-345    229-345    229-351    229-351    229-356   
                         229-356    229-360    229-360   #229-374    229-496    229-496   
ERMG1 	  012622 R	#229-265    229-266    229-399   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 8

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ERMG1L	= 000033	#229-266    229-400   
ERMG2 	  012656 R	#229-268    229-269    229-431   
ERMG2L	= 000042	#229-269    229-432   
ERMG3 	  012720 R	#229-271    229-272    229-449   
ERMG3L	= 000054	#229-272    229-450   
ERMG4 	  012774 R	#229-274    229-275    229-462   
ERMG4L	= 000061	#229-275    229-463   
ERMG5 	  013056 R	#229-277    229-278    229-476   
ERMG5L	= 000043	#229-278    229-477   
ERMG6 	  013122 R	#229-280    229-281    229-521   
ERMG6L	= 000042	#229-281    229-522   
ERRTBL	  000000 RG	#224-51     225-175   
ERR10C	= 010000	#3-68      #229-69    
ERR10S	= 020000	#3-68      #229-69    
ERR11C	= 000001	#3-68      #229-69    
ERR11S	= 000002	#3-68      #229-69    
ER$BAE	= 000270 R	#48-1185   
ER$CAE	= 004064 R	#115-3356  
ER$CCC	= 005762 R	#148-4432  
ER$CCR	= 000412 R	#51-1301   
ER$CCS	= 005724 R	#147-4397  
ER$CES	= 000314 R	#49-1227   
ER$CFH	= 002722 R	#74-2057   #86-2355   
ER$CSC	= 006204 R	#152-4582  
ER$CSR	= 006010 R	#149-4464  
ER$DNP	= 002124 R	#71-1960   
ER$DSF	= 000574 R	#54-1396   
ER$DTC	= 002134 R	#71-1966   
ER$ECT	= 001104 R	#59-1554   
ER$EPE	= 001136 R	#60-1589   
ER$FRF	= 006552 R	#162-4977  
ER$FWF	= 006652 R	#164-5042  
ER$FXF	= 007030 R	#167-5129  
ER$IFC	= 007112 R	#169-5178  
ER$IPE	= 005334 R	#140-4174  
ER$MAE	= 001636 R	#67-1802   
ER$OFC	= 007120 R	#169-5181  
ER$UNL	= 006130 R	#151-4541  
EVTYP 	  016540 RG	 56-1455    56-1455   #229-939   
EXCH  	= 000250	#7-216     
EXDPM1	  001576 R	 66-1780   #66-1782   
EXDPM2	  001616 R	 66-1787   #66-1789   
EXDTEN	= 007332 R	*70-1914   #175-5354  
EXIT  	  016542 RG	 229-402    229-434    229-452    229-465    229-479    229-527    229-927    229-929   #229-946   
EXIT1 	  016546 R	 229-373   #229-947   
EXTMSG	  001400 R	 61-1619   #63-1683   
EX.AC1	= 000001	#229-88    
EX.AC2	= 000002	#229-89    
EX.ADF	= 000010	#229-92    
EX.ENA	= 000200	#229-93     229-472   
EX.FCO	= 000004	#229-91    
FAD   	= 000140	#7-218     
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 9

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FADB  	= 000143	#7-219     
FADL  	= 000141	#7-220     
FADM  	= 000142	#7-221     
FADR  	= 000144	#7-223     
FADRB 	= 000147	#7-224     
FADRI 	= 000145	#7-225     
FADRM 	= 000146	#7-226     
FDV   	= 000170	#7-228     
FDVB  	= 000173	#7-229     
FDVL  	= 000171	#7-230     
FDVM  	= 000172	#7-231     
FDVR  	= 000174	#7-233     
FDVRB 	= 000177	#7-234     
FDVRI 	= 000175	#7-235     
FDVRM 	= 000176	#7-236     
FERTAB	  005126 R	 135-4010  #137-4071  
FILACB	  010404 R	#229-120    229-428   
FILFID	  010400 R	#229-116    229-427    229-441    229-442   
FILFNB	  010346 R	#229-111    229-112   *229-409   *229-410   *229-411    229-412   *229-441   *229-442   *229-443   
                        *229-444   *229-445    229-446    229-458   *229-729   *229-732   *229-735   *229-736   *229-737   
                         229-867   
FILNAM	  010472 R	 229-122   #229-142    229-728   
FIX   	= 000122	#7-238     
FIXR  	= 000126	#7-239     
FLTR  	= 000127	#7-241     
FM    	  012524 R	#229-249    229-257    229-578   
FMA   	  012557 R	#229-253    229-565   
FMB   	  012545 R	#229-251    229-569   
FMD   	  012571 R	#229-255    229-576   
FML   	= 000064	#229-257    229-579   
FMP   	= 000160	#7-243     
FMPB  	= 000163	#7-244     
FMPL  	= 000161	#7-245     
FMPM  	= 000162	#7-246     
FMPR  	= 000164	#7-248     
FMPRB 	= 000167	#7-249     
FMPRI 	= 000165	#7-250     
FMPRM 	= 000166	#7-251     
FNBSIZ	= 000032	#229-112    229-868   
FNCIFC	  007112 R	 169-5157   169-5159   169-5164   169-5166   169-5171  #169-5177  
FNCOCX	  007124 R	 169-5179  #169-5182  
FNCODD	  007100 R	 169-5160   169-5167  #169-5172  
FNCOFC	  007120 R	 169-5175  #169-5180  
FNHALT	  014642 R	 229-363    229-363   #229-531   
FORPRO	= 000020	#3-68      #229-69    
FRDERR	  006552 R	 162-4959  #162-4976  
FRDTEN	= 007274 R	*70-1916   #173-5292  
FRDXXX	  006556 R	 162-4955   162-4972   162-4975  #162-4978  
FREAD1	  006530 R	 162-4962  #162-4968  
FREAD2	  006546 R	 162-4970  #162-4973  
FR.ADX	= 000254  G	#39-796     118-3435  
FR.APR	= 000220  G	#39-774     107-3070  
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 10

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.ARX	= 000252  G	#39-794     118-3441  
FR.BRX	= 000250  G	#39-792     118-3447  
FR.CA1	= 000312  G	#40-826     40-827     137-4048  
FR.CA2	= 000310  G	#40-823     40-824     137-4051  
FR.CL1	= 000316  G	#40-833     137-4056  
FR.CL2	= 000314  G	#40-830     137-4059  
FR.CRD	= 000302  G	#40-817    
FR.CR1	= 000316  G	#40-832     40-833    
FR.CR2	= 000314  G	#40-829     40-830    
FR.CR3	= 000312  G	#40-827    
FR.CR4	= 000310  G	#40-824    
FR.DA1	= 000260  G	#39-802     137-4064  
FR.DA2	= 000262  G	#39-805     137-4067  
FR.EBS	= 000356  G	#41-860     118-3450  
FR.FE1	= 000266  G	#39-809     137-4072  
FR.FE2	= 000264  G	#39-807     137-4075  
FR.PI0	= 000200	#39-763     134-3962  
FR.PI1	= 000202	#39-765     134-3965  
FR.RAD	= 000256  G	#39-798     118-3432  
FR.RAR	= 000240  G	#39-784     118-3438  
FR.RBR	= 000242  G	#39-786     118-3444  
FR.RFM	= 000246  G	#39-790     118-3453  
FR.RMQ	= 000244  G	#39-788     118-3456  
FR.SC1	= 000262  G	#39-804     137-4088  
FR.SC2	= 000260  G	#39-801     137-4091  
FR.SR1	= 000306  G	#40-821     137-4080  
FR.SR2	= 000304  G	#40-819     137-4083  
FR.VM0	= 000320  G	#40-836    
FR.VM1	= 000322  G	#40-838    
FR.VM2	= 000324  G	#40-840    
FR.VM3	= 000326  G	#40-842    
FR.VM4	= 000330  G	#40-844    
FR.VM5	= 000332  G	#40-846    
FR.VM6	= 000334  G	#40-848    
FR.VM7	= 000336  G	#40-850    
FR.100	= 000200  G	#39-762     39-763     106-3015   125-3691   169-5156   173-5291  
FR.101	= 000202  G	#39-764     39-765     125-3683  
FR.102	= 000204  G	#39-766     132-3886  
FR.103	= 000206  G	#39-767    
FR.104	= 000210  G	#39-768     59-1539    110-3162  
FR.105	= 000212  G	#39-769     110-3163  
FR.106	= 000214  G	#39-770     110-3164  
FR.107	= 000216  G	#39-771     110-3165  
FR.110	= 000220  G	#39-773     39-774    
FR.111	= 000222  G	#39-775    
FR.112	= 000224  G	#39-776    
FR.113	= 000226  G	#39-777    
FR.114	= 000230  G	#39-778     127-3743  
FR.115	= 000232  G	#39-779    
FR.116	= 000234  G	#39-780    
FR.117	= 000236  G	#39-781    
FR.120	= 000240  G	#39-783     39-784    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 11

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FR.121	= 000242  G	#39-785     39-786    
FR.122	= 000244  G	#39-787     39-788    
FR.123	= 000246  G	#39-789     39-790    
FR.124	= 000250  G	#39-791     39-792    
FR.125	= 000252  G	#39-793     39-794    
FR.126	= 000254  G	#39-795     39-796    
FR.127	= 000256  G	#39-797     39-798    
FR.130	= 000260  G	#39-800     39-801     39-802    
FR.131	= 000262  G	#39-803     39-804     39-805    
FR.132	= 000264  G	#39-806     39-807     125-3699   130-3837  
FR.133	= 000266  G	#39-808     39-809    
FR.134	= 000270  G	#39-810    
FR.135	= 000272  G	#39-811    
FR.136	= 000274  G	#39-812    
FR.137	= 000276  G	#39-813    
FR.140	= 000300  G	#40-815    
FR.141	= 000302  G	#40-816     40-817    
FR.142	= 000304  G	#40-818     40-819    
FR.143	= 000306  G	#40-820     40-821    
FR.144	= 000310  G	#40-822     40-823    
FR.145	= 000312  G	#40-825     40-826    
FR.146	= 000314  G	#40-828     40-829    
FR.147	= 000316  G	#40-831     40-832    
FR.150	= 000320  G	#40-835     40-836     140-4181   140-4185  
FR.151	= 000322  G	#40-837     40-838    
FR.152	= 000324  G	#40-839     40-840    
FR.153	= 000326  G	#40-841     40-842    
FR.154	= 000330  G	#40-843     40-844     140-4189   140-4193  
FR.155	= 000332  G	#40-845     40-846    
FR.156	= 000334  G	#40-847     40-848    
FR.157	= 000336  G	#40-849     40-850    
FR.160	= 000340  G	#41-852    
FR.161	= 000342  G	#41-853    
FR.162	= 000344  G	#41-854     100-2842  
FR.163	= 000346  G	#41-855    
FR.164	= 000350  G	#41-856    
FR.165	= 000352  G	#41-857    
FR.166	= 000354  G	#41-858    
FR.167	= 000356  G	#41-859     41-860    
FR.170	= 000360  G	#41-862    
FR.171	= 000362  G	#41-863    
FR.172	= 000364  G	#41-864    
FR.173	= 000366  G	#41-865    
FR.174	= 000370  G	#41-866    
FR.175	= 000372  G	#41-867    
FR.176	= 000374  G	#41-868    
FR.177	= 000376  G	#41-869     169-5158  
FS    	  012610 R	#229-259    229-260    229-581   
FSB   	= 000150	#7-253     
FSBB  	= 000153	#7-254     
FSBL  	= 000151	#7-255     
FSBM  	= 000152	#7-256     
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 12

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FSBR  	= 000154	#8-259     
FSBRB 	= 000157	#8-260     
FSBRI 	= 000155	#8-261     
FSBRM 	= 000156	#8-262     
FSC   	= 000132	#8-264     
FSL   	= 000011	#229-260    229-582   
FSWTCH	  011700 R	#229-167    229-370   *229-533   *229-583   
FWDTEN	= 007306 R	*70-1917   #174-5310  
FWRIT1	  006642 R	 164-5036  #164-5039  
FWRTGO	  006616 R	 164-5026  #164-5033  
FWRTXX	  006656 R	 164-5021   164-5038   164-5041  #164-5043  
FW.APE	= 000116  G	#37-701    
FW.CA1	= 000122  G	#37-715     93-2596    143-4289  
FW.CA2	= 000124  G	#37-717     93-2588    143-4288  
FW.CDR	= 000112  G	#36-677    
FW.CHN	= 000160  G	#38-747     100-2836  
FW.CRD	= 000126  G	#37-719    
FW.CR1	= 000136  G	#37-727    
FW.CR2	= 000134  G	#37-725    
FW.CR3	= 000132  G	#37-723    
FW.CR4	= 000130  G	#37-721    
FW.CSR	= 000110  G	#36-655     91-2515   
FW.DJE	= 000146  G	#38-736    
FW.DJO	= 000150  G	#38-738    
FW.DR1	= 000140  G	#38-730    
FW.DR2	= 000142  G	#38-732    
FW.DR3	= 000144  G	#38-734    
FW.EBL	= 000174  G	#38-755     143-4291  
FW.IAC	= 000154  G	#38-742    
FW.IOJ	= 000152  G	#38-740    
FW.IPE	= 000114  G	#37-688     91-2520   
FW.KLO	= 000156  G	#38-744     143-4290  
FW.LAR	= 000176  G	#38-758     81-2235    87-2399    160-4911   169-5165  
FW.LBL	= 000106  G	#36-653     89-2451    143-4287  
FW.LBR	= 000104  G	#36-651     89-2441    143-4286  
FW.MBX	= 000162  G	#38-749     143-4294  
FW.SBR	= 000174  G	#38-756    
FW.040	= 000100  G	#36-648     169-5163   174-5309  
FW.041	= 000102  G	#36-649    
FW.042	= 000104  G	#36-650     36-651    
FW.043	= 000106  G	#36-652     36-653    
FW.044	= 000110  G	#36-654     36-655    
FW.045	= 000112  G	#36-676     36-677    
FW.046	= 000114  G	#37-687     37-688    
FW.047	= 000116  G	#37-700     37-701    
FW.050	= 000120  G	#37-713    
FW.051	= 000122  G	#37-714     37-715    
FW.052	= 000124  G	#37-716     37-717    
FW.053	= 000126  G	#37-718     37-719    
FW.054	= 000130  G	#37-720     37-721    
FW.055	= 000132  G	#37-722     37-723    
FW.056	= 000134  G	#37-724     37-725    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 13

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FW.057	= 000136  G	#37-726     37-727    
FW.060	= 000140  G	#38-729     38-730    
FW.061	= 000142  G	#38-731     38-732    
FW.062	= 000144  G	#38-733     38-734    
FW.063	= 000146  G	#38-735     38-736    
FW.064	= 000150  G	#38-737     38-738    
FW.065	= 000152  G	#38-739     38-740    
FW.066	= 000154  G	#38-741     38-742    
FW.067	= 000156  G	#38-743     38-744    
FW.070	= 000160  G	#38-746     38-747    
FW.071	= 000162  G	#38-748     38-749    
FW.072	= 000164  G	#38-750    
FW.073	= 000166  G	#38-751    
FW.074	= 000170  G	#38-752    
FW.075	= 000172  G	#38-753    
FW.076	= 000174  G	#38-754     38-755     38-756    
FW.077	= 000176  G	#38-757     38-758    
FXCTCX	  007006 R	 166-5096   166-5098   166-5101   166-5103   166-5109   166-5112  #167-5119  
FXCTEX	  007026 R	 166-5084  #167-5126  
FXCTXF	  007030 R	 166-5089  #167-5128  
FXCTXX	  007024 R	 167-5122  #167-5124   167-5130  
FXCT1 	  006740 R	 166-5092  #166-5099  
FXCT2 	  006754 R	 166-5094  #166-5104  
FXCT3 	  006774 R	 166-5107  #166-5110  
FXDTEN	= 007262 R	*70-1918   #173-5274  
FX.BMC	= 000012  G	#35-608     48-1181   
FX.CMR	= 000014  G	#35-610     100-2854  
FX.CON	= 000024  G	#35-619     76-2106    83-2294    87-2402   
FX.CRF	= 000020  G	#35-615     51-1297    166-5111  
FX.CSP	= 000000  G	#35-598    
FX.CST	= 000002  G	#35-600     147-4394   166-5091  
FX.EBC	= 000006  G	#35-604    
FX.MBC	= 000004  G	#35-602     59-1536    100-2847  
FX.SMR	= 000016  G	#35-612     99-2819    166-5093  
FX.SRF	= 000022  G	#35-617     149-4460   166-5106  
FX.SYC	= 000010  G	#35-606     152-4576  
FX.UDR	= 000032  G	#35-624    
FX.UIR	= 000030  G	#35-622    
FX.000	= 000000  G	#35-597     35-598     173-5273  
FX.001	= 000002  G	#35-599     35-600    
FX.002	= 000004  G	#35-601     35-602    
FX.003	= 000006  G	#35-603     35-604    
FX.004	= 000010  G	#35-605     35-606    
FX.005	= 000012  G	#35-607     35-608    
FX.006	= 000014  G	#35-609     35-610    
FX.007	= 000016  G	#35-611     35-612    
FX.010	= 000020  G	#35-614     35-615    
FX.011	= 000022  G	#35-616     35-617    
FX.012	= 000024  G	#35-618     35-619    
FX.013	= 000026  G	#35-620    
FX.014	= 000030  G	#35-621     35-622    
FX.015	= 000032  G	#35-623     35-624    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 14

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

FX.016	= 000034  G	#35-625    
FX.017	= 000036  G	#35-626    
FX.020	= 000040  G	#35-628    
FX.021	= 000042  G	#35-629    
FX.022	= 000044  G	#35-630    
FX.023	= 000046  G	#35-631    
FX.024	= 000050  G	#35-632    
FX.025	= 000052  G	#35-633    
FX.026	= 000054  G	#35-634    
FX.027	= 000056  G	#35-635    
FX.030	= 000060  G	#35-637    
FX.031	= 000062  G	#35-638    
FX.032	= 000064  G	#35-639    
FX.033	= 000066  G	#35-640    
FX.034	= 000070  G	#35-641    
FX.035	= 000072  G	#35-642    
FX.036	= 000074  G	#35-643    
FX.037	= 000076  G	#35-644     169-5170  
GETSTS	= 000062	#8-266     
G.TICP	= 000016	#20-106    
G.TICT	= 000014	#20-106    
G.TIDA	= 000004	#20-106    
G.TIHR	= 000006	#20-106    
G.TIMI	= 000010	#20-106    
G.TIMO	= 000002	#20-106    
G.TISC	= 000012	#20-106    
G.TIYR	= 000000	#20-106    
HIBYTE	= 177400	#3-68      #229-69    
HLL   	= 000500	#8-268     
HLLE  	= 000530	#8-269     
HLLEI 	= 000531	#8-270     
HLLEM 	= 000532	#8-271     
HLLES 	= 000533	#8-272     
HLLI  	= 000501	#8-274     
HLLM  	= 000502	#8-275     
HLLO  	= 000520	#8-277     
HLLOI 	= 000521	#8-278     
HLLOM 	= 000522	#8-279     
HLLOS 	= 000523	#8-280     
HLLS  	= 000503	#8-282     
HLLZ  	= 000510	#8-284     
HLLZI 	= 000511	#8-285     
HLLZM 	= 000512	#8-286     
HLLZS 	= 000513	#8-287     
HLR   	= 000544	#8-289     
HLRE  	= 000574	#8-291     
HLREI 	= 000575	#8-292     
HLREM 	= 000576	#8-293     
HLRES 	= 000577	#8-294     
HLRO  	= 000564	#8-296     
HLROI 	= 000565	#8-297     
HLROM 	= 000566	#8-298     
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 15

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

HLROS 	= 000567	#8-299     
HLRS  	= 000547	#8-301     
HLRZ  	= 000554	#8-303     
HLRZI 	= 000555	#8-304     
HLRZM 	= 000556	#8-305     
HLRZS 	= 000557	#8-306     
HRL   	= 000504	#9-309     
HRLE  	= 000534	#9-311     
HRLEI 	= 000535	#9-312     
HRLEM 	= 000536	#9-313     
HRLES 	= 000537	#9-314     
HRLI  	= 000505	#9-316     
HRLM  	= 000506	#9-317     
HRLO  	= 000564	#9-319     
HRLOI 	= 000565	#9-320     
HRLOM 	= 000566	#9-321     
HRLOS 	= 000567	#9-322     
HRLS  	= 000507	#9-324     
HRLZ  	= 000514	#9-326     
HRLZI 	= 000515	#9-327     
HRLZM 	= 000516	#9-328     
HRLZS 	= 000517	#9-329     
HRR   	= 000540	#9-331     
HRRE  	= 000570	#9-333     
HRREI 	= 000571	#9-334     
HRREM 	= 000572	#9-335     
HRRES 	= 000573	#9-336     
HRRI  	= 000541	#9-338     
HRRM  	= 000542	#9-339     
HRRO  	= 000560	#9-341     
HRROI 	= 000561	#9-342     
HRROM 	= 000562	#9-343     
HRROS 	= 000563	#9-344     
HRRS  	= 000543	#9-346     
HRRZ  	= 000550	#9-348     
HRRZI 	= 000551	#9-349     
HRRZM 	= 000552	#9-350     
HRRZS 	= 000553	#9-351     
HTMG1 	  012056 R	#229-206    229-207    229-307   
HTMG1L	= 000021	#229-207    229-308   
HTMG2 	  012100 R	#229-209    229-210    229-310   
HTMG2L	= 000025	#229-210    229-311   
IBP   	= 000133	#10-354    
IDIV  	= 000230	#10-356    
IDIVB 	= 000233	#10-357    
IDIVI 	= 000231	#10-358    
IDIVM 	= 000232	#10-359    
IDPB  	= 000136	#10-361    
IE.EBX	= 177776	 66-1779   
IE.EOF	= 177766	 229-499   
IE.NSF	= 177746	 229-415   
IFLOP 	= 100000	#3-68      #229-69    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 16

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

ILDB  	= 000134	#10-363    
IMUL  	= 000220	#10-365    
IMULB 	= 000223	#10-366    
IMULI 	= 000221	#10-367    
IMULM 	= 000222	#10-368    
IN    	= 000056	#10-370    
INBUF 	= 000064	#10-371    
INIT  	= 000041	#10-372    
INITBF	  016226 R	 229-492    229-492   #229-861   
INITDT	  002134 R	 71-1953   #71-1965   
INITDX	  002124 R	 70-1923   #71-1959   
INITER	  002130 R	#71-1961    71-1967   
INITEX	  002120 R	 70-1921    70-1925    70-1941    70-1945   #71-1955    71-1963   
INITL1	  001702 R	#68-1862    68-1865   
INKLFA	  002056 R	 70-1934   #70-1936   
INKLF1	  001742 R	 68-1867   #70-1913   
INKLF2	  002064 R	#70-1939    70-1944   
INKLF3	  002106 R	 70-1943   #71-1951   
INPUT 	= 000066	#10-373    
INTROF	= 000010	#3-68      #229-69    
INTRON	= 000040	#3-68      #229-69    
INTSON	= 000001	#3-68      #229-69    
INT10S	= 000400	#3-68      #229-69    
INT11C	= 002000	#3-68      #229-69    
INT11S	= 004000	#3-68      #229-69    
IOR   	= 000434	#10-375     11-442    
IORB  	= 000437	#10-376     11-443    
IORI  	= 000435	#10-377     12-461    
IORM  	= 000436	#10-378     12-462    
IOSTA 	  010564 R	 229-150   #229-159    229-415    229-499    229-785   
IOTTY 	  010570 R	 229-155   #229-160    229-922    229-926    229-928   
IO.ACE	= 007400	 229-833   
IO.ACR	= 006400	 229-774   
IO.CRE	= 012000	 229-831   
IO.DAC	= 010000	 229-778   
IO.ENA	= 006000	 229-836   
IO.EXT	= 011400	 229-838   
IO.FNA	= 004400	 229-772   
IO.RAT	= 013000	 229-840   
IO.RLB	= 001000	 229-906   
IO.RVB	= 010400	 229-780   
IO.WLB	= 000400	 229-155    229-915    229-919   
IO.WVB	= 011000	 229-150    229-829   
IP.ALL	= 000017  G	#37-698    
IP.CRP	= 000004  G	#37-694     37-697     110-3176  
IP.DRP	= 000002  G	#37-695     37-697     110-3183  
IP.FMP	= 000010  G	#37-693     37-697     110-3169  
IP.FSS	= 000001  G	#37-696     37-698     110-3191  
IP.NRM	= 000016  G	#37-697     37-698     180-5490  
JFCL  	= 000255	#10-380     130-3829  
JFFO  	= 000243	#10-382    
JRA   	= 000267	#10-384    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 17

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

JRST  	= 000254	#10-386     130-3827  
JSA   	= 000266	#10-388    
JSP   	= 000265	#10-390    
JSR   	= 000264	#10-392    
JUMP  	= 000320	#10-394    
JUMPA 	= 000324	#10-395    
JUMPE 	= 000322	#10-396    
JUMPG 	= 000327	#10-397    
JUMPGE	= 000325	#10-398    
JUMPL 	= 000321	#10-399    
JUMPLE	= 000323	#10-400    
JUMPN 	= 000326	#10-401    
KF.BRM	= 000400  G	#34-561     76-2098   
KF.CES	= 000040  G	#34-564    
KF.CLK	= 100000  G	#34-554     49-1229    70-1927    70-1935    76-2102    76-2120    76-2122    83-2297    83-2305   
                         86-2338    166-5090  
KF.CON	= 000020  G	#34-565     34-567     49-1229    83-2308    100-2857  
KF.DEF	= 000021  G	#34-567     68-1866   
KF.EMS	= 040000  G	#34-555     152-4579  
KF.KLO	= 000100  G	#34-563    
KF.MRS	= 010000  G	#34-557     99-2822    100-2857  
KF.RUN	= 020000  G	#34-556     70-1927    71-1954    76-2102    76-2115    83-2305    166-5105  
KF.SIM	= 004000  G	#34-558     76-2098    83-2289   
KF.SMC	= 002000  G	#34-559    
KF.SPM	= 001000  G	#34-560     76-2098    83-2287   
KF.UCS	= 000200  G	#34-562     151-4518   151-4545  
KF.WRN	= 000001  G	#34-566     34-567    
KLACE 	  016120 R	 229-460    229-460   #229-833   
KLACR 	  015776 RG	#229-774   
KLADD 	  007360 RG	#205-82     206-108    206-108   
KLADDI	  007554 RG	#209-180    209-205   
KLADIX	  007566 R	#209-186    209-201   
KLADJ 	  007442 RG	#207-128    208-150    208-150    209-187    215-362    216-405    218-470   
KLADJ1	  007440 RG	 205-88    #207-126    214-331   
KLAND 	  010062 RG	#214-333   
KLCLR 	  010220 RG	 139-4148   139-4148   170-5200   170-5200   215-382    215-382   #218-466   
KLCMP 	  010136 RG	 214-337    214-337    215-383    215-383   #216-388    216-418    216-418   
KLCMPR	  007476 RG	#208-148   
KLCMPX	  010144 R	#216-404   
KLCOMM	  016052 R	 229-773    229-776    229-779   #229-783    229-832    229-835    229-837    229-839    229-841   
KLCRE 	  016110 RG	 229-429    229-429   #229-831   
KLDAC 	  016014 RG	#229-777    229-946    229-946   
KLDEC 	  010112 RG	#215-369   
KLDIVI	  007734 RG	#211-243   
KLDPB 	  010504 RG	#229-150   *229-396   *229-412   *229-427   *229-428   *229-446   *229-458   *229-459   *229-472   
                        *229-473   *229-491   *229-772   *229-774   *229-775   *229-778   *229-780   *229-781   *229-782   
                         229-783   *229-829   *229-831   *229-833   *229-834   *229-836   *229-838   *229-840    229-845   
KLENA 	  016136 RG	 229-447    229-447   #229-836   
KLEXT 	  016146 RG	 229-474    229-474   #229-838   
KLE$$E	= 000002	#1-33       229-197   
KLE$$K	= 000126	#1-37       229-197   
KLE$$V	= 000002	#1-32       229-197   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 18

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

KLFNA 	  015766 RG	 229-397    229-397    229-413    229-413   #229-772   
KLGOXX	  002642 R	 81-2233    81-2237    83-2288    83-2292    83-2296    83-2298    83-2300    83-2307   #83-2309   
KLGO1 	  002572 R	 83-2290   #83-2293   
KLGO2 	  002620 R	#83-2301   
KLHCFH	  002270 R	#74-2056   
KLHLTX	  002276 R	 73-2015    73-2019    73-2028    73-2032    74-2045    74-2050    74-2052   #74-2059   
KLHLT1	  002164 R	#73-2017    73-2022   
KLHLT2	  002204 R	 73-2021   #73-2023   
KLHLT3	  002210 R	#73-2026    74-2054   
KLHLT4	  002216 R	#73-2029   
KLHLT5	  002224 R	 73-2025   #74-2043   
KLHLT6	  002236 R	#74-2047    74-2055   
KLINC 	  010076 RG	#215-357    216-419    216-419   
KLINCX	  010106 R	#215-361    215-373   
KLIOR 	  010050 RG	#214-312   
KLIORW	  016036 R	#229-781    229-830   
KLIORX	  010056 R	#214-330    214-341   
KLIOT 	= 000700	#10-403     130-3831  
KLLI0 	  007772 R	 212-273   #212-277    212-283    212-298   
KLLI1 	  010010 R	 212-278   #212-284    212-295    212-306   
KLLSH 	  010162 RG	#217-437    219-481    219-481   
KLLSHI	  007760 RG	 93-2586    93-2586    93-2594    93-2594    107-3074   107-3074   125-3687   125-3687   125-3695  
                         125-3695   127-3747   127-3747   127-3752   127-3752   130-3842   130-3842   134-3946   134-3946  
                         136-4029   136-4029   136-4036   136-4036   140-4162   140-4162   211-247    211-247   #212-270   
                         217-442    217-442    229-663    229-663    229-668    229-668   
KLLSHR	  010204 R	 217-440   #217-445   
KLLSHX	  010214 R	 217-443   #217-449   
KLMULI	  007614 RG	#210-215   
KLNEG 	  010150 RG	 206-106    206-106    206-110    206-110   #216-407   
KLNTYP	  016540 RG	 62-1646    62-1646    62-1651    62-1651    154-4647   154-4647  #229-942   
KLPWRF	= 000010	#3-68      #229-69    
KLRAT 	  016156 RG	#229-840   
KLRI0 	  010032 R	 212-275    212-296   #212-300    212-305   
KLRSH 	  010232 RG	#219-479   
KLRSHI	  010016 RG	#212-292    217-448    217-448   
KLRSTE	  002422 R	 76-2105    76-2108    76-2118   #76-2126   
KLRSTX	  002426 R	 76-2121    76-2123    76-2125   #76-2129   
KLRST1	  002356 R	 76-2103   #76-2111   
KLRST2	  002362 R	 76-2099   #76-2114   
KLRST3	  002376 R	 76-2110    76-2116   #76-2119   
KLRSXX	  002430 R	 76-2128   #76-2131   
KLRVB 	  016030 RG	#229-780   
KLSETO	  010124 RG	#215-381   
KLSTN1	  002534 R	 79-2187   #81-2238   
KLSTPX	  002730 R	 86-2345    86-2348    86-2354   #86-2357   
KLSTP0	  002662 R	 86-2339   #86-2341   
KLSTP1	  002676 R	#86-2346    86-2351   
KLSTP2	  002716 R	 86-2350   #86-2352   
KLSTXX	  002500 R	 79-2178    79-2182    79-2185   #79-2188   
KLSUB 	  007376 RG	#206-92     208-151    208-151   
KLSUBI	  007574 RG	#209-195   
KLTST 	  007446 RG	#207-132    208-152    208-152   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 19

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

KLTST1	  007466 R	#207-139   
KLTST2	  007472 R	 207-134    207-136    207-138   #207-143   
KLTST3	  007474 R	 207-141   #207-145   
KLWVB 	  016100 RG	 229-497    229-497   #229-829   
KLXCTX	  002764 R	 87-2398    87-2401   #87-2404   
KLXTN 	  007426 RG	#207-117    207-130    210-238    212-286   
KLXTX 	  007436 R	#207-123   
LDB   	= 000135	#11-406    
LDBREX	  003072 R	 89-2434   #89-2456   
LDBRXX	  003066 R	 89-2444   #89-2453   
LDCPCX	  003176 R	 91-2529    91-2535   #91-2538   
LDCRAX	  003314 R	 93-2579    93-2583    93-2590   #93-2598   
LENGTH	  016530 R	 229-935   #229-937   
LF    	= 000012	#229-75     229-183    229-186    229-189    229-198    229-206    229-209    229-216    229-227   
                         229-237    229-240    229-243    229-246    229-256    229-259    229-265    229-268    229-271   
                         229-274    229-277    229-280   
LOAD11	= 000004	#3-68      #229-69    
LOOKUP	= 000076	#11-408    
LOOP  	  016216 R	#229-855    229-856    229-863    229-869   
LSH   	= 000242	#11-410    
LSHC  	= 000246	#11-411    
LTMSG 	  011752 R	#229-189    229-190    229-524   
LTMSGL	= 000021	#229-190    229-525   
LUN1  	= 000001	#229-80     229-135    229-155   
LUN2  	= 000002	#229-81     229-139    229-150   
MAP   	= 000257	#11-413    
MBZTAB	  000602 R	 53-1362   #54-1402   
MOVE  	= 000200	#11-415    
MOVEI 	= 000201	#11-416    
MOVEM 	= 000202	#11-417    
MOVES 	= 000203	#11-418    
MOVM  	= 000214	#11-420    
MOVMI 	= 000215	#11-421    
MOVMM 	= 000216	#11-422    
MOVMS 	= 000217	#11-423    
MOVN  	= 000210	#11-425    
MOVNI 	= 000211	#11-426    
MOVNM 	= 000212	#11-427    
MOVNS 	= 000213	#11-428    
MOVS  	= 000204	#11-430    
MOVSI 	= 000205	#11-431    
MOVSM 	= 000206	#11-432    
MOVSS 	= 000207	#11-433    
MPE11 	= 001000	#3-68      #229-69    
MRCLRX	  003500 R	 99-2821    99-2824    100-2834   100-2838   100-2844   100-2849   100-2853   100-2856  #100-2859  
MRCLR1	  003356 R	#100-2831   100-2832  
MRCLR2	  003412 R	#100-2840   100-2850  
MRCLR3	  003452 R	 100-2846  #100-2851  
MSG2  	  014112 R	 229-419   #229-431   
MUL   	= 000224	#11-435    
MULB  	= 000227	#11-436    
MULI  	= 000225	#11-437    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 20

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

MULM  	= 000226	#11-438    
MVNAME	  015710 R	 229-408    229-408    229-440    229-440   #229-726   
M.KTAE	= 000010	#176-5393  
M.KTEF	= 000002	#176-5393  
M.KTMG	= 000004	#176-5393  
M.KTUN	= 000006	#176-5393  
NOCLK 	  012400 R	#229-237    229-238    229-551   
NOCLKL	= 000046	#229-238    229-552   
NULSTP	= 000040	#3-68      #229-69    
NUPE  	= 000002	#3-68      #229-69    
OFF   	  012052 R	#229-204    229-684   
ON    	  012050 R	#229-203    229-689   
OPEN  	= 000050	#11-440    
OR    	= 000434	#11-442    
ORB   	= 000437	#11-443    
ORCA  	= 000454	#11-445    
ORCAB 	= 000457	#11-446    
ORCAI 	= 000455	#11-447    
ORCAM 	= 000456	#11-448    
ORCB  	= 000470	#12-451    
ORCBB 	= 000473	#12-452    
ORCBI 	= 000471	#12-453    
ORCBM 	= 000472	#12-454    
ORCM  	= 000464	#12-456    
ORCMB 	= 000467	#12-457    
ORCMI 	= 000465	#12-458    
ORCMM 	= 000466	#12-459    
ORI   	= 000435	#12-461    
ORM   	= 000436	#12-462    
OUT   	= 000057	#12-464    
OUTBUF	= 000065	#12-465    
OUTPUT	= 000067	#12-466    
PAG   	= 000010	#16-663    
PARNRM	  000216 RG	 144-4308  #180-5489  
PARTMP	  000214 R	#180-5486  
PCC   	  012163 R	#229-215    229-352   
PCMSG 	  012126 R	#229-212    229-217    229-364   
PCMSGL	= 000054	#229-217    229-365   
PCTAB 	  005344 R	 139-4127  #140-4180  
PC.AFI	= 000020  G	#34-589    
PC.AT0	= 000004  G	#34-591    
PC.AT1	= 000010  G	#34-590    
PC.BIS	= 000400  G	#34-585    
PC.CY0	= 004000  G	#34-582    
PC.CY1	= 002000  G	#34-583    
PC.FOV	= 001000  G	#34-584    
PC.FUF	= 000002  G	#34-592    
PC.LIP	= 000040  G	#34-588    
PC.NDV	= 000001  G	#34-593    
PC.OVF	= 010000  G	#34-581     125-3704  
PC.UIO	= 000100  G	#34-587    
PC.USR	= 000200  G	#34-586    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 21

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PERCLR	= 001000	#3-68      #229-69    
PE.ALL	= 000037  G	#30-423    
PE.CES	= 000001  G	#30-418     30-423    
PE.CRM	= 000004  G	#30-420     30-423    
PE.DRM	= 000002  G	#30-419     30-423    
PE.FMP	= 000010  G	#30-421     30-423    
PE.FSS	= 000020  G	#30-422     30-423    
PHYS  	= 100000	#3-68      #229-69    
PI    	= 000004	#16-662    
PIDENT	= 000000	#3-68      #229-69    
PIMSG 	  012202 R	#229-219    229-228    229-367   
PIMSGL	= 000071	#229-228    229-368   
PI0   	  012214 R	#229-220    229-681   
PI1   	  012231 R	#229-222    229-693   
PI2   	  012247 R	#229-224    229-697   
PI3   	  012265 R	#229-226    229-701   
POINT 	  011720 R	#229-182   *229-330   *229-374   *229-393   *229-406   *229-417   *229-424   *229-438   *229-456   
                        *229-469   *229-483   *229-531   *229-589   *229-646   *229-677   
POP   	= 000262	#12-468    
POPJ  	= 000263	#12-469    
PRINTT	  011676 R	#229-166   *229-485   *229-517    229-518   
PRI1  	= 000001	#229-79    
PRI7  	= 000340	#3-68      #229-69    
PROPNT	= 000021	#3-68      #229-69    
PRTERR	  010244 RG	#225-173    229-595    229-595   
PRTER0	  010252 R	#225-176    225-182   
PRTER1	  010266 R	 225-180   #225-183    225-192   
PRTER7	  010274 R	 225-178   #225-187   
PRTNEA	  003561 R	 224-138   #224-140   
PRTNER	  000572 R	#224-135    225-191   
PRTNEX	  003616 R	#224-142    225-189   
PRTOFF	= 004000	#3-68      #229-69    
PR0   	= 000000	#3-68      #229-69    
PR1   	= 000040	#3-68      #229-69    
PR2   	= 000100	#3-68      #229-69    
PR3   	= 000140	#3-68      #229-69    
PR4   	= 000200	#3-68      #229-69    
PR5   	= 000240	#3-68      #229-69    
PR6   	= 000300	#3-68      #229-69    
PR7   	= 000340	#3-68      #229-69    
PS    	= 177776	#3-68      #229-69    
PSWW1 	= 000005	#3-68      #229-69    
PSWW10	= 000014	#3-68      #229-69    
PSWW11	= 000015	#3-68      #229-69    
PSWW12	= 000016	#3-68      #229-69    
PSWW13	= 000017	#3-68      #229-69    
PSWW2 	= 000006	#3-68      #229-69    
PSWW3 	= 000007	#3-68      #229-69    
PSWW4 	= 000010	#3-68      #229-69    
PSWW5 	= 000011	#3-68      #229-69    
PSWW6 	= 000012	#3-68      #229-69    
PSWW7 	= 000013	#3-68      #229-69    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 22

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

PULSE 	= 000020	#3-68      #229-69    
PUSH  	= 000261	#12-471    
PUSHJ 	= 000260	#12-472    
QSIZE 	= 000023	#3-68      #229-69    
Q.IOAE	= 000012	#229-150   #229-155   
Q.IOEF	= 000006	#229-150   #229-155   
Q.IOFN	= 000002	#229-150   #229-155   *229-772   *229-774   *229-778   *229-780   *229-829   *229-831   *229-833   
                        *229-836   *229-838   *229-840   *229-906   *229-915    229-919   
Q.IOLU	= 000004	#229-150   #229-155   
Q.IOPL	= 000014	#229-150   #229-155   *229-396   *229-412   *229-427   *229-428   *229-446   *229-458   *229-459   
                        *229-472   *229-473   *229-491   *229-775   *229-781   *229-782   *229-834    229-845   *229-907   
                        *229-908   *229-910   *229-911   *229-913   *229-914   
Q.IOPR	= 000007	#229-150   #229-155   
Q.IOSB	= 000010	#229-150   #229-155   
RAMIS0	= 010000	#3-68      #229-69    
RDALLE	  003566 R	 106-3021  #106-3029  
RDALLX	  003570 R	 106-3028  #106-3031  
RDALL1	  003532 R	#106-3017   106-3026  
RDAPRX	  003642 R	 107-3072  #107-3078  
RDCPEX	  004002 R	 108-3115  #109-3149  
RDCPPA	  003746 R	 109-3132  #109-3134  
RDCPP0	  003670 R	#108-3111   108-3117  
RDCPP1	  003720 R	#109-3125   109-3146  
RDCPP2	  003730 R	#109-3128   109-3143  
RDCPP3	  003752 R	 109-3131  #109-3136  
RDCPP4	  003762 R	 109-3139  #109-3141  
RDCPT1	  004010 R	 108-3109  #110-3161  
RDCPT2	  004054 R	 109-3127  #111-3198  
RDCPT3	  000000 R	 108-3110   109-3124  #111-3208  
RDCPXX	  004004 R	 109-3148  #109-3151  
RDCRME	  004064 R	#115-3355   151-4550  
RDFLGX	  004312 R	 125-3685   125-3693   125-3701  #125-3707  
RDFLG1	  004310 R	 125-3703  #125-3705  
RDFMAX	  004404 R	 127-3745   127-3756  #127-3758  
RDFMOX	  004442 R	 128-3789   128-3793  #128-3795  
RDIPEX	  004652 R	 132-3895  #132-3906  
RDIPE1	  004616 R	#132-3892   132-3903  
RDIPE2	  004634 R	 132-3897  #132-3899  
RDIRRX	  004562 R	 130-3826  #130-3852  
RDIRR1	  004500 R	 130-3828   130-3830  #130-3833  
RDIRR2	  004556 R	 130-3840  #130-3848  
RDIRR3	  004560 R	 130-3832  #130-3850  
RDPITB	  000014 R	 134-3938  #134-3961  
RDPITE	= 000030 R	 134-3949  #134-3968  
RDPIX 	  004726 R	 134-3944  #134-3952  
RDPI1 	  004672 R	#134-3940   134-3950  
RDSMRE	  005056 R	 136-4034  #136-4040  
RDSMRX	  005060 R	 136-4027  #136-4042  
RDVMRE	  005334 R	 139-4139  #140-4173  
RDVMRX	  005330 R	 140-4157  #140-4170  
READP 	  011774 R	#229-192    229-193    229-902   
READPL	= 000006	#229-193    229-903   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 23

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

RECORD	  011674 R	#229-165   *229-294   *229-486   *229-489    229-491   
REGSAV	  007214 RG	 61-1618    61-1622    68-1858    70-1911    73-2013    79-2176    91-2513    91-2518    93-2574   
                         108-3106   132-3885   136-4022   139-4140   143-4255   144-4302   145-4318   151-4514  #172-5244  
REGTAB	  000722 R	 56-1445   #57-1465   
RELEAS	= 000071	#12-474    
RENAME	= 000055	#12-475    
RESETT	  005506 R	 143-4258  #143-4285  
RESETX	  005504 R	 143-4257   143-4260   143-4264   143-4266   143-4268   143-4274  #143-4280  
RESET1	  005454 R	#143-4270   143-4276  
RESTDX	  005672 R	 146-4350  #146-4357  
RESTIX	  005552 R	 144-4304   144-4307  #144-4310  
RESTPE	  005646 R	 145-4320   145-4322  #145-4335  
RESTPX	  005642 R	 145-4325   145-4329  #145-4332  
RFMAD0	= 100000	#3-68      #229-69    
RFMAD1	= 040000	#3-68      #229-69    
RFMAD2	= 020000	#3-68      #229-69    
RFMAD3	= 010000	#3-68      #229-69    
RGDTEN	= 007320 R	*70-1919   #174-5332  
RM    	= 000010	#3-68      #229-69    
ROT   	= 000241	#12-477    
ROTC  	= 000245	#12-478    
RSTEND	= 005514 R	 143-4275  #143-4292  
RUINGL	= 000043	#229-199    229-301   
RVMRL1	  005254 R	#140-4152   140-4167  
R.QSGC	= 000015	#229-131   
R.QSPC	= 000014	#229-131   
R.QSPN	= 000006	#229-131   
R.QSPR	= 000012	#229-131   
R.QSTN	= 000002	#229-131   
SBADI 	  007610 R	 209-197   #209-203   
SBRTAB	  005142 R	 135-4013  #137-4079  
SCD   	= 000040	#3-68      #229-69    
SCRTAB	  005156 R	 135-4016  #137-4087  
SETA  	= 000424	#12-480    
SETAB 	= 000427	#12-481    
SETAI 	= 000425	#12-482    
SETAM 	= 000426	#12-483    
SETCA 	= 000450	#12-485    
SETCAB	= 000453	#12-486    
SETCAI	= 000451	#12-487    
SETCAM	= 000452	#12-488    
SETCM 	= 000460	#12-490    
SETCMB	= 000463	#12-491    
SETCMI	= 000461	#12-492    
SETCMM	= 000462	#12-493    
SETEC 	  015130 RG	 229-376    229-376   #229-589   
SETM  	= 000414	#13-496    
SETMB 	= 000417	#13-497    
SETMI 	= 000415	#13-498    
SETMM 	= 000416	#13-499    
SETO  	= 000474	#13-501    
SETOB 	= 000477	#13-502    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 24

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

SETOI 	= 000475	#13-503    
SETOM 	= 000476	#13-504    
SETPC 	  015342 RG	 229-347    229-347    229-353    229-353    229-577    229-577   #229-646   
SETPI 	  015500 RG	 229-357    229-357   #229-677   
SETSTS	= 000060	#13-506    
SETZ  	= 000400	#13-508    
SETZB 	= 000403	#13-509    
SETZI 	= 000401	#13-510    
SETZM 	= 000402	#13-511    
SHFTXX	  007206 R	 171-5209   171-5214  #171-5219  
SHIFTL	  007170 R	#171-5211   171-5213  
SHIFTR	  007200 R	 171-5210  #171-5215   171-5218  
SKIP  	= 000330	#13-513    
SKIPA 	= 000334	#13-514    
SKIPE 	= 000332	#13-515    
SKIPG 	= 000337	#13-516    
SKIPGE	= 000335	#13-517    
SKIPL 	= 000331	#13-518    
SKIPLE	= 000333	#13-519    
SKIPN 	= 000336	#13-520    
SLASH 	  012047 R	#229-202    229-936   
SLS   	= 000057	#229-77     229-202   
SNP   	  010500 R	#229-144    229-730    229-733   
SOJ   	= 000360	#13-522    
SOJA  	= 000364	#13-523    
SOJE  	= 000362	#13-524    
SOJG  	= 000367	#13-525    
SOJGE 	= 000365	#13-526    
SOJL  	= 000361	#13-527    
SOJLE 	= 000363	#13-528    
SOJN  	= 000366	#13-529    
SOS   	= 000370	#13-531    
SOSA  	= 000374	#13-532    
SOSE  	= 000372	#13-533    
SOSG  	= 000377	#13-534    
SOSGE 	= 000375	#13-535    
SOSL  	= 000371	#13-536    
SOSLE 	= 000373	#13-537    
SOSN  	= 000376	#13-538    
SPC   	= 000040	#229-78     229-220    229-220    229-220    229-220    229-222    229-222    229-222    229-222   
                         229-224    229-224    229-224    229-224    229-226    229-226    229-226    229-226    229-230   
                         229-230    229-230    229-230    229-593    229-654   
STAMSG	  000764 R	 57-1468   #57-1478   
START 	  013164 RG	#229-286    229-948   
STAT  	= 174434	#3-68      #229-69    
STATO 	= 000061	#13-540    
STATUS	= 000022	#3-68      #13-541    #229-69    
STATZ 	= 000063	#13-542    
STOP  	  012446 R	#229-240    229-241    229-555   
STOPL 	= 000022	#229-241    229-556   
STPCXX	  005766 R	 148-4430  #148-4433  
STPXCX	  005762 R	#148-4431  
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 25

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

STRCEX	  005732 R	 147-4392  #147-4400  
STRCXX	  005730 R	 147-4396  #147-4398  
STRFEX	  006014 R	 149-4462  #149-4465  
STRUNX	  006010 R	#149-4463  
STUCAE	  006152 R	 151-4516  #151-4549  
STUCDX	  006146 R	 151-4520   151-4522   151-4525   151-4527   151-4533   151-4543  #151-4546  
STUCD1	  006100 R	#151-4529   151-4537  
STUCD2	  006124 R	 151-4536  #151-4538  
STUCD3	  006112 R	 151-4531  #151-4534  
STUCEX	  006140 R	 151-4540  #151-4544  
ST.CED	= 000100  G	#33-533     33-548    
ST.CLE	= 000001  G	#33-546     33-548    
ST.CTD	= 040000  G	#33-518    
ST.CTE	= 010000  G	#33-522     33-548    
ST.DW1	= 002000  G	#33-525    
ST.DXD	= 000004  G	#33-541    
ST.EBS	= 000100  G	#33-532    
ST.EDB	= 004000  G	#33-523    
ST.EPE	= 000020  G	#33-536     33-548     60-1587   
ST.IDS	= 000010  G	#33-540    
ST.IEN	= 000040  G	#33-535    
ST.ION	= 000001  G	#33-545    
ST.MBZ	= 000000  G	#33-550     54-1405   
ST.MOD	= 000010  G	#33-538     70-1922   
ST.MPE	= 001000  G	#33-526     33-548    
ST.NST	= 000040  G	#33-534    
ST.RIZ	= 010000  G	#33-521    
ST.RST	= 011121  G	#33-548    
ST.SEP	= 000004  G	#33-542    
ST.STE	= 000002  G	#33-544    
ST.TED	= 000200  G	#33-530    
ST.TER	= 000002  G	#33-543    
ST.TXD	= 100000  G	#33-516    
ST.TXE	= 020000  G	#33-519    
ST.XDB	= 000400  G	#33-528    
SUB   	= 000274	#14-545    
SUBB  	= 000277	#14-546    
SUBI  	= 000275	#14-547    
SUBM  	= 000276	#14-548    
SWR   	= 177570	#3-68      #229-69    
SWSLLT	= 100000	#3-68      #229-69    
SYMA  	= 003512 RG	#224-52     224-52    #224-53     224-53    #224-54     224-54    #224-55     224-55    #224-56    
                         224-56    #224-57     224-57    #224-59     224-59    #224-60     224-60    #224-62     224-62    
                        #224-63     224-63    #224-64     224-64    #224-65     224-65    #224-66     224-66    #224-67    
                         224-67    #224-68     224-68    #224-69     224-69    #224-70     224-70    #224-72     224-72    
                        #224-73     224-73    #224-74     224-74    #224-75     224-75    #224-76     224-76    #224-78    
                         224-78    #224-79     224-79    #224-80     224-80    #224-81     224-81    #224-82     224-82    
                        #224-83     224-83    #224-84     224-84    #224-86     224-86    #224-87     224-87    #224-88    
                         224-88    #224-90     224-90    #224-91     224-91    #224-92     224-92    #224-93     224-93    
                        #224-94     224-94    #224-95     224-95    #224-96     224-96    #224-97     224-97    #224-98    
                         224-98    #224-100    224-100   #224-101    224-101   #224-102    224-102   #224-103    224-103   
                        #224-104    224-104   #224-105    224-105   #224-107    224-107   #224-108    224-108   #224-110   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 26

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         224-110   #224-112    224-112   #224-114    224-114   #224-115    224-115   #224-116    224-116   
                        #224-118    224-118   #224-120    224-120   #224-121    224-121   #224-122    224-122   #224-124   
                         224-124   #224-126    224-126   #224-128    224-128   #224-130    224-130   
SYNCEX	  006210 R	 152-4580  #152-4583  
SYNCXX	  006212 R	#152-4585  
SYNXCX	  006204 R	 152-4578  #152-4581  
TAB   	= 000011	#229-76     229-201   
TABB  	  012046 R	#229-201    229-934   
TDC   	= 000650	#14-550    
TDCA  	= 000654	#14-551    
TDCE  	= 000652	#14-552    
TDCN  	= 000656	#14-553    
TDN   	= 000610	#14-555    
TDNA  	= 000614	#14-556    
TDNE  	= 000612	#14-557    
TDNN  	= 000616	#14-558    
TDO   	= 000670	#14-560    
TDOA  	= 000674	#14-561    
TDOE  	= 000672	#14-562    
TDON  	= 000676	#14-563    
TDZ   	= 000630	#14-565    
TDZA  	= 000634	#14-566    
TDZE  	= 000632	#14-567    
TDZN  	= 000636	#14-568    
TENAD1	= 174410	#3-68      #229-69    
TENAD2	= 174412	#3-68      #229-69    
TENFUN	  013322 R	 229-304   #229-316    229-326   
TFRMSG	  006366 R	 153-4616  #154-4659  
TFWMSG	  006403 R	 153-4622  #154-4661  
TFXMSG	  006420 R	 153-4628  #154-4663  
TLC   	= 000641	#14-570    
TLCA  	= 000645	#14-571    
TLCE  	= 000643	#14-572    
TLCN  	= 000647	#14-573    
TLN   	= 000601	#14-575    
TLNA  	= 000605	#14-576    
TLNE  	= 000603	#14-577    
TLNN  	= 000607	#14-578    
TLO   	= 000661	#14-580    
TLOA  	= 000665	#14-581    
TLOE  	= 000663	#14-582    
TLON  	= 000667	#14-583    
TLZ   	= 000621	#14-585    
TLZA  	= 000625	#14-586    
TLZE  	= 000623	#14-587    
TLZN  	= 000627	#14-588    
TOBM  	= 000004	#3-68      #229-69    
TOD   	= 000003	#3-68      #229-69    
TOIP  	= 000002	#3-68      #229-69    
TOIT  	= 000001	#3-68      #229-69    
TO10  	= 000200	#3-68      #229-69    
TO10AD	= 174420	#3-68      #229-69    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 27

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TO10BC	= 174414	#3-68      #229-69    
TO10BM	= 000001	#3-68      #229-69    
TO10DB	= 000400	#3-68      #229-69    
TO10DN	= 100000	#3-68      #229-69    
TO10DT	= 174424	#3-68      #229-69    
TO10ER	= 020000	#3-68      #229-69    
TO11  	= 000100	#3-68      #229-69    
TO11AD	= 174422	#3-68      #229-69    
TO11BC	= 174416	#3-68      #229-69    
TO11BM	= 020000	#3-68      #229-69    
TO11DB	= 004000	#3-68      #229-69    
TO11DN	= 000200	#3-68      #229-69    
TO11DT	= 174426	#3-68      #229-69    
TO11ER	= 000002	#3-68      #229-69    
TRACE 	  011702 R	#229-168   *229-293   *229-327   *229-329    229-502    229-873   
TRACKQ	  006360 R	 154-4648  #154-4655  
TRACKX	  006344 R	 154-4644  #154-4649  
TRADDR	  001326 R	 62-1633    62-1645   #63-1663   
TRC   	= 000640	#14-590    
TRCA  	= 000644	#14-591    
TRCE  	= 000642	#14-592    
TRCN  	= 000646	#14-593    
TRDATA	  001334 R	 62-1638    62-1650   #63-1665   
TRMSG 	  011724 R	#229-186    229-187    229-316   
TRMSGL	= 000025	#229-187    229-318   
TRN   	= 000600	#14-595    
TRNA  	= 000604	#14-596    
TRNE  	= 000602	#14-597    
TRNN  	= 000606	#14-598    
TRO   	= 000660	#15-601    
TROA  	= 000664	#15-602    
TROE  	= 000662	#15-603    
TRON  	= 000666	#15-604    
TRZ   	= 000620	#15-606    
TRZA  	= 000624	#15-607    
TRZE  	= 000622	#15-608    
TRZN  	= 000626	#15-609    
TR.ALL	= 000077  G	#34-577    
TR.DEP	= 000020  G	#34-575     34-577     65-1754   
TR.DTE	= 000040  G	#34-576     34-577     54-1391   
TR.EXM	= 000010  G	#34-574     34-577     65-1749   
TR.FRD	= 000002  G	#34-572     34-577     162-4969  
TR.FWR	= 000004  G	#34-573     34-577     164-5035  
TR.FXC	= 000001  G	#34-571     34-577     167-5121  
TSC   	= 000651	#15-611    
TSCA  	= 000655	#15-612    
TSCE  	= 000653	#15-613    
TSCN  	= 000657	#15-614    
TSN   	= 000611	#15-616    
TSNA  	= 000615	#15-617    
TSNE  	= 000613	#15-618    
TSNN  	= 000617	#15-619    
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 28

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

TSO   	= 000671	#15-621    
TSOA  	= 000675	#15-622    
TSOE  	= 000673	#15-623    
TSON  	= 000677	#15-624    
TSZ   	= 000631	#15-626    
TSZA  	= 000635	#15-627    
TSZE  	= 000633	#15-628    
TSZN  	= 000637	#15-629    
TTCALL	= 000051	#15-631    
TTCOMR	  016410 R	 229-909   #229-916   
TTCOMW	  016402 R	 229-912    229-912   #229-915   
TTCOMX	  016372 RG	 229-302    229-302    229-515    229-515    229-904    229-904   #229-913    229-932    229-932   
                         229-938    229-938   
TTDPB 	  010534 RG	#229-155   *229-906   *229-907   *229-908   *229-910   *229-911   *229-913   *229-914   *229-915   
                         229-916    229-919   
TTERRO	  016442 R	 229-917   #229-921   
TTEXIT	  016514 R	 229-920   #229-933   
TTREAD	  016306 RG	 229-320    229-320   #229-902   
TTWRIT	  016352 RG	 229-312    229-312    229-319    229-319    229-366    229-366    229-369    229-369    229-379   
                         229-379    229-401    229-401    229-433    229-433    229-451    229-451    229-464    229-464   
                         229-478    229-478    229-523    229-523    229-526    229-526    229-584    229-584    229-878   
                         229-878   #229-910   
TTYIPT	  010574 R	#229-161    229-162    229-321    229-323    229-325    229-342    229-348    229-506    229-513   
                         229-572    229-648    229-853    229-907    229-921   
TTYL  	= 000100	#229-162    229-507    229-514    229-518    229-854    229-908   
TYCRLF	  016500 RG	 154-4650   154-4650   229-380    229-380    229-516    229-516   #229-930   
TYPASZ	  016540 RG	 56-1443    56-1443    56-1446    56-1446    62-1643    62-1643    154-4637   154-4637  #229-941   
TYPLIN	  016540 RG	 56-1461    56-1461    62-1659    62-1659   #229-940   
TYPSLS	  016524 RG	 62-1647    62-1647    154-4645   154-4645  #229-936   
TYPTAB	  016516 RG	 56-1447    56-1447    62-1648    62-1648    62-1652    62-1652    154-4646   154-4646  #229-934   
TY3D  	  015626 RG	 154-4642   154-4642   229-568    229-568    229-571    229-571    229-694    229-694    229-698   
                         229-698    229-702    229-702   #229-704   
UGETF 	= 000073	#15-633    
UJEN  	= 000100	#15-635    
UNASG1	= 000032	#3-68      #229-69    
UNASG2	= 000033	#3-68      #229-69    
UNASG3	= 000034	#3-68      #229-69    
UNASG4	= 000035	#3-68      #229-69    
UNASG5	= 000036	#3-68      #229-69    
UNASG6	= 000037	#3-68      #229-69    
USETI 	= 000074	#15-637    
USETO 	= 000075	#15-638    
VERSC 	= 000075	#23-93     
VERSN 	= 000007  G	#204-54    
VMA   	  012136 R	#229-213    229-346   
VMATB 	  005360 R	 139-4133  #140-4188  
VMHTB 	  005366 R	 139-4136  #140-4192  
VSUB  	  000000 R	#23-93     
WEP   	= 000010	#3-68      #229-69    
WRITE 	  014426 R	 229-475    229-488   #229-490   
WRITP 	  012002 R	#229-195    229-196    229-199    229-300    229-910   
WRITPL	= 000011	#229-196    229-911   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 29

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

WRTARX	  006462 R	 160-4907   160-4910  #160-4913  
XCT   	= 000256	#15-640    
XOR   	= 000430	#15-642    
XORB  	= 000433	#15-643    
XORI  	= 000431	#15-644    
XORM  	= 000432	#15-645    
ZSTOP 	= 040000	#3-68      #229-69    
$AGAIN	= 000001  G	#2-41      
$AUTO 	= 000001  G	#2-42      
$DISTB	= 000000  G	#2-44       44-974    
$DIV  	= ******  GX	 229-630    229-630   
$DSW  	= ******  GX	 66-1779   
$HLPSW	= 000000  G	#2-45      
$LPTSW	= 000001  G	#2-46      
$MBPSW	= 000000  G	#2-47       95-2666   
$MCRSW	= 000001  G	#2-48      
$MUL  	= ******  GX	 210-220    210-220    210-225    210-225    210-230    210-230   
$RAMSW	= 000000  G	#2-43       93-2602    100-2863   111-3216   118-3462   154-4667   180-5493  
$RSXSW	= 000001  G	#2-49       146-4343  
$SCLCK	= 000001  G	#2-50      
$SPRSW	= 000001  G	#2-51      
$TKBSW	= 000001  G	#2-55      
$TRKSW	= 000001  G	#2-53      
$TRPSW	= 000000  G	#2-54      
$T04SW	= 000000  G	#2-52      
$$    	= 000037	#20-118     20-118    #20-121     20-121    #20-124     20-124    #20-127     20-127    #20-130    
                         20-130    #20-134     20-134    #47-1132    47-1132   #47-1137    47-1137   #48-1174    48-1174   
                        #48-1179    48-1179   #48-1182    48-1182   #49-1223    49-1223   #50-1263    50-1263   #50-1268   
                         50-1268   #51-1298    51-1298   #54-1393    54-1393   #56-1443    56-1443   #56-1446    56-1446   
                        #56-1447    56-1447   #56-1455    56-1455   #56-1461    56-1461   #59-1531    59-1531   #59-1537   
                         59-1537   #59-1540    59-1540   #59-1548    59-1548   #60-1585    60-1585   #61-1618    61-1618   
                        #61-1622    61-1622   #62-1643    62-1643   #62-1646    62-1646   #62-1647    62-1647   #62-1648   
                         62-1648   #62-1651    62-1651   #62-1652    62-1652   #62-1659    62-1659   #65-1747    65-1747   
                        #65-1751    65-1751   #65-1756    65-1756   #65-1760    65-1760   #66-1770    66-1770   #66-1783   
                         66-1783   #66-1786    66-1786   #68-1858    68-1858   #70-1911    70-1911   #70-1920    70-1920   
                        #70-1924    70-1924   #70-1931    70-1931   #70-1933    70-1933   #70-1940    70-1940   #73-2013   
                         73-2013   #73-2014    73-2014   #73-2018    73-2018   #73-2027    73-2027   #73-2030    73-2030   
                        #74-2044    74-2044   #74-2049    74-2049   #74-2051    74-2051   #76-2104    76-2104   #76-2107   
                         76-2107   #76-2117    76-2117   #76-2124    76-2124   #79-2176    79-2176   #79-2177    79-2177   
                        #79-2179    79-2179   #79-2184    79-2184   #81-2232    81-2232   #81-2236    81-2236   #83-2291   
                         83-2291   #83-2295    83-2295   #83-2299    83-2299   #86-2344    86-2344   #86-2347    86-2347   
                        #87-2397    87-2397   #87-2400    87-2400   #87-2403    87-2403   #89-2433    89-2433   #89-2437   
                         89-2437   #89-2443    89-2443   #89-2447    89-2447   #89-2452    89-2452   #91-2513    91-2513   
                        #91-2518    91-2518   #91-2524    91-2524   #91-2528    91-2528   #91-2534    91-2534   #93-2574   
                         93-2574   #93-2577    93-2577   #93-2580    93-2580   #93-2586    93-2586   #93-2589    93-2589   
                        #93-2594    93-2594   #93-2597    93-2597   #99-2820    99-2820   #99-2823    99-2823   #100-2833  
                         100-2833  #100-2835   100-2835  #100-2837   100-2837  #100-2843   100-2843  #100-2848   100-2848  
                        #100-2852   100-2852  #100-2855   100-2855  #106-3020   106-3020  #107-3071   107-3071  #107-3074  
                         107-3074  #108-3106   108-3106  #108-3114   108-3114  #118-3459   118-3459  #125-3684   125-3684  
                        #125-3687   125-3687  #125-3692   125-3692  #125-3695   125-3695  #125-3700   125-3700  #127-3744  
                         127-3744  #127-3747   127-3747  #127-3752   127-3752  #128-3788   128-3788  #128-3792   128-3792  
                        #130-3825   130-3825  #130-3835   130-3835  #130-3839   130-3839  #130-3842   130-3842  #130-3847  
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 30

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         130-3847  #132-3885   132-3885  #132-3894   132-3894  #134-3943   134-3943  #134-3946   134-3946  
                        #136-4022   136-4022  #136-4026   136-4026  #136-4029   136-4029  #136-4033   136-4033  #136-4036  
                         136-4036  #139-4140   139-4140  #139-4148   139-4148  #140-4156   140-4156  #140-4162   140-4162  
                        #143-4255   143-4255  #143-4256   143-4256  #143-4259   143-4259  #143-4263   143-4263  #143-4265  
                         143-4265  #143-4267   143-4267  #143-4269   143-4269  #143-4273   143-4273  #143-4279   143-4279  
                        #144-4302   144-4302  #144-4303   144-4303  #144-4306   144-4306  #144-4309   144-4309  #145-4318  
                         145-4318  #145-4319   145-4319  #145-4321   145-4321  #145-4324   145-4324  #145-4328   145-4328  
                        #145-4331   145-4331  #146-4349   146-4349  #146-4355   146-4355  #147-4391   147-4391  #147-4395  
                         147-4395  #148-4429   148-4429  #149-4461   149-4461  #151-4514   151-4514  #151-4519   151-4519  
                        #151-4521   151-4521  #151-4524   151-4524  #151-4526   151-4526  #151-4530   151-4530  #152-4577  
                         152-4577  #154-4637   154-4637  #154-4642   154-4642  #154-4645   154-4645  #154-4646   154-4646  
                        #154-4647   154-4647  #154-4650   154-4650  #160-4906   160-4906  #160-4909   160-4909  #160-4912  
                         160-4912  #162-4954   162-4954  #162-4971   162-4971  #164-5020   164-5020  #164-5037   164-5037  
                        #166-5083   166-5083  #167-5123   167-5123  #170-5191   170-5191  #170-5200   170-5200  #172-5248  
                         172-5248  #206-106    206-106   #206-108    206-108   #206-110    206-110   #208-150    208-150   
                        #208-151    208-151   #208-152    208-152   #210-220    210-220   #210-225    210-225   #210-230   
                         210-230   #211-247    211-247   #214-337    214-337   #215-382    215-382   #215-383    215-383   
                        #216-418    216-418   #216-419    216-419   #217-442    217-442   #217-448    217-448   #219-481   
                         219-481   #225-190    225-190   #229-292    229-292   #229-302    229-302   #229-303    229-303   
                        #229-312    229-312   #229-319    229-319   #229-320    229-320   #229-331    229-331   #229-332   
                         229-332   #229-337    229-337   #229-338    229-338   #229-340    229-340   #229-341    229-341   
                        #229-343    229-343   #229-345    229-345   #229-347    229-347   #229-349    229-349   #229-351   
                         229-351   #229-353    229-353   #229-354    229-354   #229-356    229-356   #229-357    229-357   
                        #229-358    229-358   #229-360    229-360   #229-361    229-361   #229-363    229-363   #229-366   
                         229-366   #229-369    229-369   #229-375    229-375   #229-376    229-376   #229-379    229-379   
                        #229-380    229-380   #229-394    229-394   #229-395    229-395   #229-397    229-397   #229-401   
                         229-401   #229-407    229-407   #229-408    229-408   #229-413    229-413   #229-418    229-418   
                        #229-425    229-425   #229-426    229-426   #229-429    229-429   #229-433    229-433   #229-439   
                         229-439   #229-440    229-440   #229-447    229-447   #229-451    229-451   #229-457    229-457   
                        #229-460    229-460   #229-464    229-464   #229-470    229-470   #229-471    229-471   #229-474   
                         229-474   #229-478    229-478   #229-484    229-484   #229-490    229-490   #229-492    229-492   
                        #229-494    229-494   #229-496    229-496   #229-497    229-497   #229-504    229-504   #229-515   
                         229-515   #229-516    229-516   #229-523    229-523   #229-526    229-526   #229-532    229-532   
                        #229-537    229-537   #229-540    229-540   #229-543    229-543   #229-546    229-546   #229-549   
                         229-549   #229-553    229-553   #229-568    229-568   #229-571    229-571   #229-577    229-577   
                        #229-584    229-584   #229-590    229-590   #229-595    229-595   #229-615    229-615   #229-617   
                         229-617   #229-619    229-619   #229-630    229-630   #229-647    229-647   #229-652    229-652   
                        #229-653    229-653   #229-655    229-655   #229-656    229-656   #229-658    229-658   #229-659   
                         229-659   #229-660    229-660   #229-663    229-663   #229-665    229-665   #229-668    229-668   
                        #229-678    229-678   #229-694    229-694   #229-698    229-698   #229-702    229-702   #229-707   
                         229-707   #229-710    229-710   #229-711    229-711   #229-714    229-714   #229-721    229-721   
                        #229-726    229-726   #229-727    229-727   #229-777    229-777   #229-878    229-878   #229-904   
                         229-904   #229-905    229-905   #229-912    229-912   #229-932    229-932   #229-938    229-938   
                        #229-946    229-946   
$$$ARG	= 000014	#229-135    229-135   #229-135    229-135   #229-135    229-135   #229-139    229-139   #229-139   
                         229-139   #229-139    229-139   #229-150    229-150   #229-150    229-150   #229-150    229-150   
                        #229-150    229-150   #229-150    229-150   #229-150    229-150   #229-150    229-150   #229-155   
                         229-155   #229-155    229-155   #229-155    229-155   #229-155    229-155   #229-155    229-155   
                        #229-155    229-155   #229-155    229-155   
$$$GLB	= ******	 20-106     20-106     20-106     20-106     20-106     20-106     20-106     20-106     176-5393  
                         176-5393   176-5393   176-5393   176-5393   229-131    229-131    229-131    229-131    229-131   
                         229-131    229-135    229-135    229-135    229-135    229-139    229-139    229-139    229-139   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 31

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         229-150    229-150    229-150    229-150    229-150    229-150    229-150    229-150    229-155   
                         229-155    229-155    229-155    229-155    229-155    229-155    229-155   
$$$OST	= 000014	#20-106     20-106     20-106    #20-106     20-106     20-106    #20-106     20-106     20-106    
                        #20-106     20-106     20-106    #20-106     20-106     20-106    #20-106     20-106     20-106    
                        #20-106     20-106     20-106    #20-106     20-106     20-106    #20-106    #176-5393   176-5393  
                         176-5393  #176-5393   176-5393   176-5393  #176-5393   176-5393   176-5393  #176-5393   176-5393  
                         176-5393  #176-5393  #229-131    229-131    229-131   #229-131    229-131    229-131   #229-131   
                         229-131    229-131   #229-131    229-131    229-131   #229-131    229-131    229-131   #229-131   
                        #229-135    229-135    229-135   #229-135    229-135    229-135   #229-135    229-135    229-135   
                        #229-135   #229-139    229-139    229-139   #229-139    229-139    229-139   #229-139    229-139   
                         229-139   #229-139   #229-150    229-150    229-150   #229-150    229-150    229-150   #229-150   
                         229-150    229-150   #229-150    229-150    229-150   #229-150    229-150    229-150   #229-150   
                         229-150    229-150   #229-150    229-150   #229-155    229-155    229-155   #229-155    229-155   
                         229-155   #229-155    229-155    229-155   #229-155    229-155    229-155   #229-155    229-155   
                         229-155   #229-155    229-155    229-155   #229-155    229-155   
$$$T1 	= 000002	#229-131    229-131    229-131    229-131   #229-131    229-131   #229-135    229-135    229-135   
                        #229-135    229-135    229-135   #229-135    229-135    229-135   #229-139    229-139    229-139   
                        #229-139    229-139    229-139   #229-139    229-139    229-139   
.ABORT	  000204 RG	#47-1130   
.APRWD	  000176 RG	*107-3076  #179-5465  
.BRCLK	= 005000	#3-68      #229-69    
.BRMBC	  000234 RG	#48-1173   
.BURST	  000242 RG	#48-1176    74-2049    74-2049   
.CECLK	= 004000	#3-68      #229-69    
.CESCK	  000300 RG	#49-1222    59-1531    59-1531    66-1783    66-1783    70-1924    70-1924    147-4391   147-4391  
                         229-332    229-332   
.CKEDM	  001622 R	 66-1770    66-1770   #67-1796   
.CLDFB	  007130 RG	 89-2437    89-2437    100-2835   100-2835   143-4269   143-4269  #170-5190  
.CLDFR	  007134 RG	#170-5192  
.CLDFW	  007144 RG	 91-2524    91-2524    93-2580    93-2580    170-5191   170-5191  #170-5196  
.CLIPE	  000332 RG	#50-1261   
.CLKWD	  000200 RG	 91-2514    109-3129   145-4323  #179-5468  
.CLRFF	  000366 RG	#51-1293    73-2014    73-2014    86-2344    86-2344    151-4519   151-4519  
.CLRMR	= 006000	#3-68      #229-69    
.CLRUN	= 010000	#3-68      #229-69    
.CONBT	= 012000	#3-68      #229-69    
.CRAMA	  000056 RG	#178-5424  
.CRAMR	  000060 RG	#178-5427  
.CRAMW	  000102 RG	#178-5432  
.CSHRG	= 164000	#3-68      #229-69    
.C5TA 	  015232 RG	 225-190    225-190   #229-614   
.DFBLK	  000032 RG	 68-1861    173-5273   173-5291   174-5309  #177-5401  
.DFRB 	  000040 RG	 153-4615   162-4960   170-5194  #177-5407  
.DFWB 	  000032 RG	*89-2440   *89-2449   *91-2526   *91-2532    93-2581    153-4621   164-5024   170-5198  #177-5402  
                         177-5405   177-5410   177-5422  
.DIAG1	= 000000  G	#30-403    
.DIAG2	= 000002  G	#30-404     53-1350    53-1371   
.DIAG3	= 000006  G	#30-406     53-1358    53-1379   
.DPADR	  000124 RG	 175-5373  #178-5437  
.DPBFR	  000130 RG	 175-5374  #178-5440  
.DPDPB	  007334 RG	 67-1817    67-1818   #175-5370  
.DPKLM	  001466 RG	#65-1753   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 32

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.DPTRK	  001160 RG	#61-1621    65-1756    65-1756   
.DRAMA	  000150 R	#178-5449  
.DRAMR	  000152 R	#178-5452  
.DRAMW	  000160 RG	#178-5455  
.DREG 	  000046 RG	*54-1387    54-1390    173-5273   173-5291   174-5309   174-5330  #177-5412  
.DREGS	= 000014  G	#177-5410  
.DRLTC	= 015000	#3-68      #229-69    
.DSACF	= 066000	#3-68      #229-69    
.DSIOJ	= 065000	#3-68      #229-69    
.DTAB 	  001656 R	 65-1759   #67-1816   
.DTDI1	  000046 RG	#177-5413  
.DTDI2	  000050 RG	#177-5415  
.DTDI3	  000054 RG	#177-5419  
.DTDW1	  000476 RG	 20-121     20-121     49-1223    49-1223   #53-1366    70-1940    70-1940    73-2018    73-2018   
                         74-2051    74-2051    86-2347    86-2347    151-4530   151-4530   229-303    229-303   
.DTDW2	  000504 RG	 20-124     20-124    #53-1370   
.DTDW3	  000524 RG	 20-130     20-130    #53-1378   
.DTERD	  000532 RG	 53-1368    53-1372    53-1376   #54-1384   
.DTEWR	  000536 RG	 53-1364   #54-1386   
.DTSTA	  000514 RG	 20-127     20-127    #53-1374    60-1585    60-1585    70-1920    70-1920   
.DTSTS	  000052 RG	#177-5417  
.DTSTW	= 000004  G	#30-405     53-1354    53-1375   
.DTTRK	  000612 RG	 54-1393    54-1393   #56-1439   
.DWDW1	  000422 RG	#53-1345   
.DWDW2	  000430 RG	#53-1349    146-4349   146-4349  
.DWDW3	  000450 RG	#53-1357    146-4355   146-4355  
.DWSTA	  000440 RG	#53-1353   
.EBCLK	  001006 RG	#59-1529   
.EBPCK	  001122 RG	#60-1584   
.EBUSR	= 000006  G	#177-5405  
.EDTRK	  001170 RG	 61-1620   #62-1630   
.EIOJA	= 067000	#3-68      #229-69    
.ETAB 	  001646 R	 65-1746   #67-1809   
.EXADR	  000136 RG	 71-1970    175-5351  #178-5443  
.EXBFR	  000142 RG	 71-1971    175-5352  #178-5446  
.EXDPB	  007322 RG	 67-1810    67-1811   #175-5348  
.EXDPM	  001524 RG	 65-1747    65-1747    65-1760    65-1760   #66-1767   
.EXKLM	  001432 RG	#65-1744    70-1931    70-1931    70-1933    70-1933   
.EXTRK	  001146 RG	#61-1617    65-1751    65-1751   
.FMADR	  000166 RG	 128-3790   128-3794  #178-5458   229-566   
.FMDAT	  000170 RG	#178-5461  
.FREAD	  006472 RG	 59-1540    59-1540    100-2843   100-2843   106-3020   106-3020   107-3071   107-3071   108-3114  
                         108-3114   118-3459   118-3459   125-3684   125-3684   125-3692   125-3692   125-3700   125-3700  
                         127-3744   127-3744   130-3839   130-3839   132-3894   132-3894   134-3943   134-3943   136-4026  
                         136-4026   136-4033   136-4033   140-4156   140-4156  #162-4956  
.FRTRK	  006214 RG	#153-4612   162-4971   162-4971  
.FWRIT	  006566 RG	 81-2236    81-2236    87-2400    87-2400    89-2443    89-2443    89-2452    89-2452    91-2528   
                         91-2528    91-2534    91-2534    93-2589    93-2589    93-2597    93-2597    100-2837   100-2837  
                         143-4273   143-4273   143-4279   143-4279   160-4912   160-4912  #164-5022  
.FWTRK	  006234 RG	#153-4618   164-5037   164-5037  
.FXCT 	  006666 RG	 48-1182    48-1182    51-1298    51-1298    59-1537    59-1537    76-2107    76-2107    83-2295   
                         83-2295    87-2403    87-2403    99-2820    99-2820    100-2848   100-2848   100-2855   100-2855  
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 33

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                         147-4395   147-4395   148-4429   148-4429   149-4461   149-4461   152-4577   152-4577  #166-5085  
.FXTRK	  006254 RG	#153-4624   167-5123   167-5123  
.GFNR 	= 102000	#3-68      #229-69    
.INEXT	  002142 R	 70-1930   #71-1969   
.INICL	= 070000	#3-68      #229-69    
.INIT 	  001666 RG	#68-1857    229-292    229-292   
.INKLF	  001722 RG	#70-1909   
.IRLTC	= 014000	#3-68      #229-69    
.KLCON	  002542 RG	#83-2283   
.KLDFR	  007264 RG	 153-4614  *162-4957   162-4958  #173-5290  
.KLDFW	  007276 RG	 153-4620  *164-5023   164-5040  #174-5308  
.KLDFX	  007252 RG	 153-4626  *166-5087   166-5088  #173-5272  
.KLFLG	= ******  GX	*49-1229   *68-1866    70-1926    76-2122    81-2239    83-2285   *83-2308    86-2338   *99-2822   
                        *100-2857  *151-4518  *151-4545  *152-4579   166-5095  *166-5097   166-5100  *166-5102  *166-5108  
                        *166-5113  
.KLGO 	  002550 RG	 81-2240   #83-2286   
.KLHLT	  002146 RG	#73-2012    79-2177    79-2177    81-2232    81-2232    86-2340    87-2397    87-2397    229-338   
                         229-338   
.KLIWD	= ******  GX	 229-288   
.KLRLD	= ******  GX	 229-286   
.KLRSN	  000000 RG	#20-100     229-494    229-494   
.KLRST	  002300 RG	#76-2095   
.KLST 	  002434 RG	#79-2173    81-2230   
.KLSTN	  002502 RG	 79-2175   #81-2228   
.KLSTP	  002646 RG	 47-1132    47-1132   #86-2337   
.KLXCT	  002734 RG	#87-2396   
.LCRDL	= 052000	#3-68      #229-69    
.LCRDR	= 051000	#3-68      #229-69    
.LCRM1	= 057000	#3-68      #229-69    
.LCRM2	= 056000	#3-68      #229-69    
.LCRM3	= 055000	#3-68      #229-69    
.LCRM4	= 054000	#3-68      #229-69    
.LCRM5	= 053000	#3-68      #229-69    
.LDAR 	= 077000	#3-68      #229-69    
.LDBRC	  002766 RG	#89-2432   
.LDBRG	  002774 RG	 48-1179    48-1179   #89-2435   
.LDBRL	= 043000	#3-68      #229-69    
.LDBRR	= 042000	#3-68      #229-69    
.LDCK1	= 046000	#3-68      #229-69    
.LDCK2	= 047000	#3-68      #229-69    
.LDCLK	  003074 RG	#91-2512    143-4263   143-4263   144-4306   144-4306   145-4328   145-4328  
.LDCPC	  003126 RG	 91-2516   #91-2522   
.LDCRA	  003200 RG	#93-2573    151-4524   151-4524  
.LDDIS	= 045000	#3-68      #229-69    
.LDPAR	  003112 RG	 50-1268    50-1268   #91-2517    143-4265   143-4265   144-4309   144-4309   145-4331   145-4331  
.LDRJD	= 064000	#3-68      #229-69    
.LDRJV	= 063000	#3-68      #229-69    
.LDRM1	= 060000	#3-68      #229-69    
.LDRM2	= 061000	#3-68      #229-69    
.LDRM3	= 062000	#3-68      #229-69    
.LDSEL	= 044000	#3-68      #229-69    
.LDZER	  011706 RG	*56-1440   *62-1644   *62-1649   *154-4636  #229-175   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 34

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

.MEMRS	= 076000	#3-68      #229-69    
.MRCLR	  003320 RG	#99-2817    143-4267   143-4267  
.MTDPB	  007346 R	 51-1295   #176-5392  
.NOERR	= ******  GX	*229-291   
.OKLF 	  011706 RG	 76-2097    76-2109   #229-174   
.PCAB1	= 150000	#3-68      #229-69    
.PCAB2	= 151000	#3-68      #229-69    
.PCAB3	= 152000	#3-68      #229-69    
.PCAB4	= 153000	#3-68      #229-69    
.PEWRD	  000202 RG	 132-3888  #179-5471  
.PITAB	  000010 RG	 134-3939  #134-3958   134-3969  
.PSCWD	  000204 RG	 50-1266    91-2519    109-3135   145-4323  #179-5474  
.RCRM1	= 147000	#3-68      #229-69    
.RCRM2	= 146000	#3-68      #229-69    
.RCRM3	= 145000	#3-68      #229-69    
.RCRM4	= 144000	#3-68      #229-69    
.RCSPF	= 141000	#3-68      #229-69    
.RDADR	  004074 RG	#118-3431  
.RDADX	  004102 RG	#118-3434  
.RDALL	  003506 R	 20-134     20-134    #106-3011  
.RDAPR	  003602 RG	#107-3067  
.RDARR	  004110 RG	#118-3437  
.RDARX	  004116 RG	#118-3440  
.RDBRR	  004124 RG	#118-3443  
.RDBRX	  004132 RG	#118-3446  
.RDCPP	  003646 RG	#108-3105   145-4321   145-4321  
.RDCRA	  004736 RG	#135-4000  
.RDCRL	  004744 RG	#135-4003  
.RDDPB	  004160 RG	 118-3433   118-3436   118-3439   118-3442   118-3445   118-3448   118-3451   118-3454  #118-3458  
.RDDRA	  004752 RG	 130-3825   130-3825  #135-4006  
.RDEBS	  004140 RG	#118-3449  
.RDFER	  004760 RG	#135-4009  
.RDFLG	  004166 RG	#125-3679  
.RDFMA	  004320 RG	#127-3740   128-3788   128-3788  
.RDFMO	  004410 RG	#128-3785   229-358    229-358   
.RDFMR	  004146 RG	#118-3452   128-3792   128-3792  
.RDIPE	  004566 RG	 20-118     20-118     50-1263    50-1263   #132-3884   229-361    229-361   
.RDIRR	  004446 RG	#130-3823  
.RDJ14	= 134000	#3-68      #229-69    
.RDJ71	= 135000	#3-68      #229-69    
.RDMAB	= 133000	#3-68      #229-69    
.RDMQR	  004154 RG	#118-3455  
.RDPI 	  004654 RG	#134-3936   229-354    229-354   
.RDSBR	  004766 RG	#135-4012  
.RDSCR	  004774 RG	#135-4015  
.RDSMR	  005000 RG	 135-4002   135-4005   135-4008   135-4011   135-4014  #136-4021  
.RDVAB	  005200 RG	#139-4129  
.RDVMA	  005206 RG	#139-4132   229-343    229-343   
.RDVMH	  005214 RG	#139-4135  
.RDVMR	  005220 RG	 139-4128   139-4131   139-4134  #139-4137  
.RDVPC	  005172 RG	#139-4126   229-349    229-349   
.REGRW	  007310 RG	*53-1346   *53-1350   *53-1354   *53-1358   *53-1360    53-1361    53-1362   *53-1367   *53-1371   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 35

SYMBOL CROSS REFERENCE                                  CREF         

SYMBOL	VALUE		REFERENCES

                        *53-1375   *53-1379   *54-1385    54-1388    56-1444    56-1448    56-1453    56-1457   #174-5326  
.RESET	  005374 RG	#143-4254   144-4303   144-4303   145-4324   145-4324  
.RESTD	  005650 RG	 66-1786    66-1786    143-4256   143-4256  #146-4342  
.RESTI	  005516 RG	#144-4301  
.RESTP	  005554 RG	 79-2179    79-2179    93-2577    93-2577   #145-4317  
.SECLK	= 003000	#3-68      #229-69    
.SETMR	= 007000	#3-68      #229-69    
.SETRN	= 011000	#3-68      #229-69    
.SHIFT	  007162 RG	 89-2447    89-2447    130-3835   130-3835   130-3847   130-3847  #171-5207   229-707    229-707   
.SSCLK	= 002000	#3-68      #229-69    
.STCLK	  005700 RG	 76-2124    76-2124    83-2299    83-2299    99-2823    99-2823   #147-4389   151-4526   151-4526  
.STFLG	  000206 RG	 79-2174    81-2229   #179-5477  
.STPCL	= 000000	#3-68      #229-69    
.STPXC	  005734 RG	 48-1174    48-1174    73-2027    73-2027    74-2044    74-2044    89-2433    89-2433    100-2833  
                         100-2833   143-4259   143-4259   145-4319   145-4319  #148-4423   151-4521   151-4521   160-4906  
                         160-4906  
.STRCL	= 001000	#3-68      #229-69    
.STRUN	  005772 RG	 76-2104    76-2104    76-2117    76-2117    83-2291    83-2291   #149-4457  
.STUCD	  006020 RG	 47-1137    47-1137   #151-4513  
.SYNXC	  006156 RG	 59-1548    59-1548    73-2030    73-2030    100-2852   100-2852  #152-4573   160-4909   160-4909  
.TRACK	  006270 RG	 153-4617   153-4623  #154-4635  
.TRKWD	  011706 RG	 54-1391    65-1749    65-1754    162-4969   164-5035   167-5121  #229-176   
.WRAR1	  006444 RG	#160-4908  
.WRMBX	= 071000	#3-68      #229-69    
.WRTAR	  006436 RG	 79-2184    79-2184   #160-4905  
.XFRCK	  007036 RG	 162-4954   162-4954  #169-5155  
.XFRED	  006464 RG	#162-4953  
.XFWCK	  007054 RG	 164-5020   164-5020  #169-5162  
.XFWRT	  006560 RG	#164-5019  
.XFXCK	  007072 RG	 166-5083   166-5083  #169-5169  
.XFXCT	  006660 RG	#166-5082  
...KLI	  010434 R	#229-131    229-290   
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 36

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

ALUN$ 		#3-61      #229-66    #229-135   #229-139   
CALL  		#3-65       20-118     20-121     20-124     20-127     20-130     20-134     47-1132    47-1137    48-1174   
                 48-1179    48-1182    49-1223    50-1263    50-1268    51-1298    54-1393    56-1443    56-1446    56-1447   
                 56-1455    56-1461    59-1531    59-1537    59-1540    59-1548    60-1585    61-1618    61-1622    62-1643   
                 62-1646    62-1647    62-1648    62-1651    62-1652    62-1659    65-1747    65-1751    65-1756    65-1760   
                 66-1770    66-1783    66-1786    68-1858    70-1911    70-1920    70-1924    70-1931    70-1933    70-1940   
                 73-2013    73-2014    73-2018    73-2027    73-2030    74-2044    74-2049    74-2051    76-2104    76-2107   
                 76-2117    76-2124    79-2176    79-2177    79-2179    79-2184    81-2232    81-2236    83-2291    83-2295   
                 83-2299    86-2344    86-2347    87-2397    87-2400    87-2403    89-2433    89-2437    89-2443    89-2447   
                 89-2452    91-2513    91-2518    91-2524    91-2528    91-2534    93-2574    93-2577    93-2580    93-2586   
                 93-2589    93-2594    93-2597    99-2820    99-2823    100-2833   100-2835   100-2837   100-2843   100-2848  
                 100-2852   100-2855   106-3020   107-3071   107-3074   108-3106   108-3114   118-3459   125-3684   125-3687  
                 125-3692   125-3695   125-3700   127-3744   127-3747   127-3752   128-3788   128-3792   130-3825   130-3835  
                 130-3839   130-3842   130-3847   132-3885   132-3894   134-3943   134-3946   136-4022   136-4026   136-4029  
                 136-4033   136-4036   139-4140   139-4148   140-4156   140-4162   143-4255   143-4256   143-4259   143-4263  
                 143-4265   143-4267   143-4269   143-4273   143-4279   144-4302   144-4303   144-4306   144-4309   145-4318  
                 145-4319   145-4321   145-4324   145-4328   145-4331   146-4349   146-4355   147-4391   147-4395   148-4429  
                 149-4461   151-4514   151-4519   151-4521   151-4524   151-4526   151-4530   152-4577   154-4637   154-4642  
                 154-4645   154-4646   154-4647   154-4650   160-4906   160-4909   160-4912   162-4954   162-4971   164-5020  
                 164-5037   166-5083   167-5123   170-5191   170-5200   172-5248   206-106    206-108    206-110    208-150   
                 208-151    208-152    210-220    210-225    210-230    211-247    214-337    215-382    215-383    216-418   
                 216-419    217-442    217-448    219-481    225-190   #229-66     229-292    229-302    229-303    229-312   
                 229-319    229-320    229-331    229-332    229-337    229-338    229-340    229-341    229-343    229-345   
                 229-347    229-349    229-351    229-353    229-354    229-356    229-357    229-358    229-360    229-361   
                 229-363    229-366    229-369    229-375    229-376    229-379    229-380    229-394    229-395    229-397   
                 229-401    229-407    229-408    229-413    229-418    229-425    229-426    229-429    229-433    229-439   
                 229-440    229-447    229-451    229-457    229-460    229-464    229-470    229-471    229-474    229-478   
                 229-484    229-490    229-492    229-494    229-496    229-497    229-504    229-515    229-516    229-523   
                 229-526    229-532    229-537    229-540    229-543    229-546    229-549    229-553    229-568    229-571   
                 229-577    229-584    229-590    229-595    229-615    229-617    229-619    229-630    229-647    229-652   
                 229-653    229-655    229-656    229-658    229-659    229-660    229-663    229-665    229-668    229-678   
                 229-694    229-698    229-702    229-707    229-710    229-711    229-714    229-721    229-726    229-727   
                 229-777    229-878    229-904    229-905    229-912    229-932    229-938    229-946   
CALLR 		#4-83      
CLEF$S		#3-63      
CPERR 		#4-98       224-52     224-53     224-54     224-55     224-56     224-57     224-59     224-60     224-62    
                 224-63     224-64     224-65     224-66     224-67     224-68     224-69     224-70     224-72     224-73    
                 224-74     224-75     224-76     224-78     224-79     224-80     224-81     224-82     224-83     224-84    
                 224-86     224-87     224-88     224-90     224-91     224-92     224-93     224-94     224-95     224-96    
                 224-97     224-98     224-100    224-101    224-102    224-103    224-104    224-105    224-107    224-108   
                 224-110    224-112    224-114    224-115    224-116    224-118    224-120    224-121    224-122    224-124   
                 224-126    224-128    224-130   
DIR$  		#20-106    #20-106    #51-1295   #54-1388   #66-1777   #70-1910   #70-1910   #148-4425  #148-4425  #162-4958  
                #164-5040  #166-5088  #229-67    #229-290   #229-295   #229-296   #229-783   #229-916   #229-918   #229-918   
                #229-947   #229-947   
ERROR$		#4-87      #48-1185   #49-1227   #51-1301   #54-1396   #59-1554   #60-1589   #67-1802   #71-1960   #71-1966   
                #74-2057   #86-2355   #115-3356  #140-4174  #147-4397  #148-4432  #149-4464  #151-4541  #152-4582  #162-4977  
                #164-5042  #167-5129  #169-5178  #169-5181  
ERR$  		#20-106    #51-1295   #54-1388   #66-1777   #70-1910   #148-4425  #162-4958  #164-5040  #166-5088  #229-290   
                #229-295   #229-296   #229-783   #229-916   #229-918   #229-947   
EXIT$S		#3-63      #229-67     229-947   
GSSW$ 		#3-62      
KLERR      CREATED BY  MACRO  ON 13-JAN-78 AT 15:52	PAGE 37

MACRO CROSS REFERENCE                                   CREF         

MACRO NAME	REFERENCES

GTIM$S		#20-99      20-106    #229-66    
IO10$ 		#17-697    
I10$  		#16-668    
KLDR$ 		#3-64       173-5291  
KLDW$ 		#3-64       174-5309  
KLDX$ 		#3-64      #173-5273  
KLEVR$		#228-38     229-197    229-197   
MOV$  		#20-106     20-106    #70-1910    70-1910   #148-4425   148-4425  #229-918    229-918   
MRKT$ 		#3-66       176-5393  
NBL$  		#229-135   #229-135   #229-139   #229-139   
OFF$  		#20-106     20-106     20-106     20-106     20-106     20-106     20-106     20-106     20-106    #176-5393  
                 176-5393   176-5393   176-5393   176-5393   176-5393  #229-131    229-131    229-131    229-131    229-131   
                 229-131    229-131   #229-135    229-135    229-135    229-135    229-135   #229-139    229-139    229-139   
                 229-139    229-139   #229-150    229-150    229-150    229-150    229-150    229-150    229-150    229-150   
                 229-150   #229-155    229-155    229-155    229-155    229-155    229-155    229-155    229-155    229-155   
POP   		#3-65      #20-107    #20-151    #47-1141   #50-1270   #51-1303   #56-1462   #59-1557   #62-1660   #65-1762   
                #76-2130   #76-2132   #83-2310   #86-2358   #89-2455   #100-2860  #106-3027  #106-3032  #107-3079  #109-3152  
                #125-3708  #127-3759  #128-3796  #130-3853  #134-3953  #147-4399  #148-4434  #149-4466  #151-4547  #152-4584  
                #154-4652  #154-4657  #167-5125  #170-5202  #171-5220  #172-5252  #206-111   #208-153   #210-232   #210-233   
                #210-237   #211-248   #211-249   #212-285   #217-450   #225-185   #229-66    #229-623   #229-712   #229-879   
PRDP$ 		#3-64      
PREX$ 		#3-64      
PUSH  		#3-65      #20-101    #20-105    #47-1131   #50-1262   #51-1296   #56-1441   #59-1530   #62-1631   #65-1745   
                #65-1758   #68-1859   #70-1912   #76-2096   #79-2186   #81-2231   #83-2284   #86-2342   #89-2436   #93-2576   
                #99-2818   #106-3012  #106-3013  #107-3068  #108-3107  #125-3680  #127-3741  #127-3748  #128-3786  #130-3824  
                #130-3836  #134-3937  #136-4031  #139-4145  #145-4323  #147-4393  #148-4426  #149-4459  #151-4517  #152-4575  
                #153-4613  #153-4614  #153-4615  #153-4619  #153-4620  #153-4621  #153-4625  #153-4626  #166-5086  #170-5193