Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dbkbd.seq
There are no other files named dbkbd.seq in the archive.
MAINDEC-10-DBKBD.TXT
                                                                                                                           SEQ 0001





 
				IDENTIFICATION
				--------------


	PRODUCT CODE:	MAINDEC-10-DBKBD

	PRODUCT NAME:	DECSYSTEM10 PDP-10 KI10 BASIC
			INSTRUCTION RELIABILITY TEST (4)

	FUNCTION:	MEMORY AND BOTH MODE & PC SENSITIVE INSTRUCTIONS

	VERSION:	0.2

	DATE RELEASED:	AUGUST,1976

	MAINTAINED BY:	DIAGNOSTIC ENGINEERING GROUP

	AUTHOR:		JOHN R. KIRCHOFF

COPYRIGHT(C) 1976
DIGITAL EQUIPMENT CORPORATION
MARLBORO, MASS. 01752

THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY
ON A SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH
THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE,
OR ANY OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE
MADE AVAILABLE TO ANY OTHER PERSON EXECPT FOR USE ON SUCH SYSTEM
AND TO ONE WHO AGREES TO THESE LICENSE TERMS.  TITLE TO AND
OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC.

THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT
NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
EQUIPMENT CORPORATION.

DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC.
							MAINDEC-10-DBKBD.TXT
							PAGE 2                                                             SEQ 0002

			TABLE OF CONTENTS
			-----------------

1.0	ABSTRACT

2.0	REQUIREMENTS

2.1	EQUIPMENT

2.2	STORAGE

2.3	PRELIMINARY PROGRAMS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

3.2	STARTING PROCEDURE

3.3	OPERATING PROCEDURE

4.0	DATA SWITCH FUNCTIONS

5.0	ERRORS

6.0	ITERATION COUNTER

7.0	CYCLE TIME

8.0	OPERATIONAL VARIATIONS

9.0	MISCELLANEOUS

10.0	LISTING
							MAINDEC-10-DBKBD.TXT
							PAGE 3                                                             SEQ 0003

1.0	ABSTRACT

	THIS PDP-10 KI10 BASIC INSTRUCTION RELIABILITY TEST
	IS THE FOURTH IN A SERIES OF PDP-10 KI10 PROCESSOR
	RANDOM NUMBER DIAGNOSTICS.
	THIS PROGRAM TESTS EVERY INSTRUCTION IN THE MEMORY AND BOTH MODE
	WITH THE EXCEPTION OF FIXED POINT MULTIPLY/DIVIDE, FLOATING 
	POINT AND BYTE.
	IN THE MAJORITY OF CASES A RANDOM NUMBER IS PLACED
	IN THE AC AND C(E) AND A SERIES OF 4 OR 5 INSTRUCTIONS
	ARE EXECUTED.  THE ANSWER IN THE AC AND/OR C(E) IS
	CHECKED AND AN ERROR MESSAGE IS PRINTED IF THE NUMBER
	IS NOT CORRECT.  EACH SET OF 4 OR 5 INSTRUCTIONS ACTS
	ON EACH MEMORY LOCATION FROM THE END OF THE PROGRAM
	TO THE DESIGNATED END OF MEMORY.

	ALSO TESTED ARE ALL OF THE PC SENSITIVE INSTRUCTIONS.  THESE
	INSTRUCTIONS ARE:  JSR, JSA, JSP, JRA, PUSH, POP, PUSHJ
	AND POPJ.  IN THE MAJORITY OF CASES A JRST OR JSP
	BACK TO THE PROGRAM IS PLACED IN EVERY LOCATION FROM
	THE END OF THE PROGRAM TO THE DESIGNATED END OF
	MEMORY.  THE PROGRAM THEN DOES A PC SENSITIVE
	INSTRUCTION TO THE FIRST TESTING LOCATION.  WHEN
	THE PROGRAM RETURNS, A CHECK IS MADE TO SEE THAT
	THE PC SENSITIVE INSTRUCTION WENT TO THE RIGHT ADDRESS.
	IF IT DIDN'T, AN ERROR MESSAGE IS PRINTED.  THE
	MEMORY ADDRESS IS THEN INCREMENTED AND THE PC
	SENSITIVE INSTRUCTION REPEATED.  THE PROGRAM ALSO
	INCLUDES A DEFER TEST AND BOTH INDIRECT AND INDEXING
	ARE TESTED.

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A PDP-10 KI10 EQUIPPED WITH A MINIMUM OF 32K OF MEMORY

	CONSOLE TELETYPE
	DECTAPE
	LINE PRINTER (OPTIONAL)

2.2	STORAGE

	THE PROGRAM RUNS WITHIN 32K OF MEMORY.

2.3	PRELIMINARY PROGRAMS

	PREVIOUS PROCESSOR DIAGNOSTICS
							MAINDEC-10-DBKBD.TXT
							PAGE 4                                                             SEQ 0004

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

	THIS DIAGNOSTIC REQUIRES THAT THE DECSYSTEM10 SUBROUTINE
	PROGRAM BE RESIDENT IN THE PDP-10.

	DECTAPE - LOAD WITH DIAMON (DECTAPE DEVICE CODE 320)
	TIME SHARING - RUN UNDER DIAMON.

3.2	STARTING PROCEDURE

	A.  SELECT OPERATIONAL CONSOLE DATA SWITCH SETTINGS (REFER TO
	    4.0 DATA SWITCH FUNCTIONS).

	B.  EXEC MODE

	    STAND-ALONE STARTING ADDRESS IS 30000.

	C.  USER MODE

	    RUN UNDER "DIAMON".
	    IN USER MODE THE FOLLOWING QUESTIONS WILL BE ASKED TO 
	    SELECT THE OPERATIONAL SWITCHES:

		    TELETYPE SWITCH CONTROL ? 0,S,Y OR N (CR) -

		    IF THE OPERATOR TYPES "N", THE ACTUAL CONSOLE
		    SWITCHES ARE USED.

		    IF THE OPERATOR TYPES "Y", THE FOLLOWING QUESTIONS
		    ARE ASKED AND THE OPERATOR RESPONDS BY TYPING
		    THE ANSWER AS SIX OCTAL DIGITS REPRESENTING
		    THE DESIRED SWITCH SETTINGS.

		    SPECIFY LH SWITCHES IN OCTAL-

		    SPECIFY RH SWITCHES IN OCTAL-

		    IF THE OPERATOR TYPES "0", ZERO'S ARE USED FOR
		    THE SWITCH SETTINGS.

		    IF THE OPERATOR TYPES "S", PREVIOUSLY SET SWITCHES
		    ARE USED.  THIS IS ONLY VALID UPON RESTARTING
		    OF AN INTERRUPTED PROGRAM.
							MAINDEC-10-DBKBD.TXT
							PAGE 5                                                             SEQ 0005

3.3	OPERATING PROCEDURE

	NORMAL OPERATION WITH ALL SWITCHES SET TO ZERO IS QUICK
	VERIFY MODE.  TO RELIABILITY TEST SET THE "RELIAB" SWITCH.
	WITHOUT EITHER THE OPRSEL SWITCH OR THE RELIAB SWITCH SET OR
	THE MEMORY SIZE SELECTED VIA THE SWITCHES THE PROGRAM WILL
	RUN USING ONLY 32K.  SETTING JUST THE OPRSEL SWITCH ALLOWS
	THE PROGRAM TO RUN IN QUICK VERIFY MODE USING ALL AVAILABLE
	MEMORY.

	A.  TO THROUGHLY TEST ALL HARDWARE, ALL TEST CONTROL DATA 
	    SWITCHES SHOULD BE SET TO 0.

	B.  WHEN DEBUGGING HARDWARE, SET SWITCHES TO 0.  ALLOW THE 
	    TELETYPE TO PRINT THE ERROR MESSAGES.  THIS ALLOWS THE 
	    PROGRAM TO RUN A COMPLETE PASS AND THEN THE ERROR MESSAGES
	    MAY BE CORRELATED TO QUICKLY DIAGNOSE THE FAILURE.  IF A
	    HARDWARE PROBLEM IS SUCH THAT THE ERROR MESSAGES, AFTER THE
	    FIRST ONE, HAVE NO MEANING (FIRST ERROR CAUSES ALL FOLLOWING
	    TESTS TO FAIL) SET THE LOOP ON ERROR SWITCH AND RESTART THE
	    TEST FROM THE BEGINNING.  THE FIRST FAILURE WILL THEN CAUSE
	    THE PROGRAM TO ENTER A LOOP SUITABLE FOR SCOPING.

	    THE ERROR MESSAGE USED IN CONJUNCTION WITH THE LISTING AND
	    SCOPING IF NECESSARY SHOULD ALLOW THE FAILING CONPONENT 
	    TO BE ISOLATED AND REPLACED AND/OR REPAIRED.

	C.  WHEN TAKING MARGINS, SET DATA SWITCHES 'NOPNT' AND 'DING'.
	    THIS WILL INHIBIT PRINTOUT BUT WILL ALLOW THE TELETYPE
	    BELL TO BE RUNG WHEN A ERROR OCCURS.  IF THE MARGIN OBTAINED
	    IS UNACCEPTABLE, THE OPERATOR MAY REVERT TO STANDARD SWITCH
	    SETTINGS FOR DEBUGGING PURPOSES.

	D.  ERROR INFORMATION MAY BE OBTAINED QUICKLY BY PRINTING 
	    ERRORS ON THE LINE PRINTER.

	E.  IN THE EVENT OF A PRINT ROUTINE FAILURE THE 'NOPNT' SWITCH
	    AND THE 'ERSTOP' SWITCH MAY BE SET TO INHIBIT PRINTOUT 
	    BUT HALT THE PROGRAM POINTING TO THE ERROR.
							MAINDEC-10-DBKBD.TXT
							PAGE 6                                                             SEQ 0006

4.0	DATA SWITCH FUNCTIONS

	SWITCH		STATE	FUNCTION
	------		-----	--------

	0    ABORT	0	NORMAL OPERATION
			1	ABORT AT END OF PASS

	1    RSTART		NOT USED
	2    TOTALS		NOT USED

	3    NOPNT	0	NORMAL TYPEOUT
			1	INHIBIT ALL PRINT/TYPEOUT (EXCEPT FORCED)

	4    PNTLPT	0	NORMAL OUTPUT TO TTY
			1	PRINT ALL DATA ON LPT

	5    DING	0	NO FUNCTION
			1	RING TTY BELL ON ERROR

	6    LOOPER	0	PROCEED TO NEXT TEST
			1	ENTER SCOPE LOOP ON TEST ERROR

	7    ERSTOP	0	NO FUNCTION
			1	HALT ON TEST ERROR

	8    PALERS	0	PRINT ONLY FIRST ERROR WHEN LOOPING
			1	PRINT ALL ERRORS, EVEN IF SAME ERROR

	9    RELIAB	0	FAST CYCLE OPERATION
			1	RELIABILITY MODE - USE ALL OF MEMORY

	10   TXTINH	0	PRINT FULL ERROR MESSAGES.
			1	INHIBIT COMMENT PORTION OF ERROR MESSAGES.

	11   INHPAG	0	ALLOW PAGING AND TRAP ENABLE
			1	INHIBIT PAGING AND TRAPPING

	12   MODDVC		NOT USED

	13   INHCSH		NOT USED

	14   OPRSEL	0	RUN IN 32K UNLESS RELIAB MODE
			1	USE ALL AVAILABLE MEMORY
							MAINDEC-10-DBKBD.TXT
							PAGE 7                                                             SEQ 0007
4.0	DATA SWITCH FUNCTIONS (CON'T)

	RIGHT HALF SWITCHES
	-------------------
	27-35		SIZE OF MEMORY, HIGH ORDER 9 BITS
			LOW ORDER 9 BITS ARE APPENDED AS 1'S

	THE SIZE OF MEMORY IS DETERMINED BY:
	A.  EXEC MODE
	    1.  SWITCHES 27-35 = 0, USE AVAILABLE MEMORY
	    2.  SWITCHES 27-35 INDICATE SIZE OF TESTED MEMORY, (32K=77).
	B.  USER MODE
	    CONTENTS OF 'JOBREL', LOC 44, DETERMINE SIZE OF MEMORY.
	    SELECT DESIRED SIZE WHEN LOADING PROGRAM.

5.0	ERRORS

	ERRORS ARE PRINTED ON THE TTY OR LINE PRINTER.  THE ERROR 
	PRINTOUT CONTAINS THE TEST TITLE, THE PC OF THE FAILURE, AC
	NUMBER, ERROR WORD AND CORRECT WORD.

	THE PC VALUE IS USEFUL IN RELATING THE FAILURE TO THE LISTING.

	WHEN THE SCOPE LOOP MODE IS USED THE MI REGISTER WILL COUNT 
	FOR EACH OCCURANCE OF AN ERROR.  IF AN AUDIO INDICATION OF
	A CONTINUING ERROR IS DESIRED THE 'DING' SWITCH MAY BE SET.

	THE FOLLOWING IS THE DIFFERENT ERROR FORMATS WITH THEIR
	RESPECTIVE UUO'S AND ERROR MESSAGES.

	A.	ERROR #1  -  ERR   AC,E
	-------------------------------

	EXAMPLE:			AC		E
	2053 / CAME   AC1,AC2		;RESULT		CORRECT
	2054 / ERR    AC,RAN1		;ORIG  C(AC)	ORIG C(E)

	AC1=5				;TEST DATA
	C(AC1) = 201532107642
	C(AC2) = 201432107642
	C(RAN1)= 777777777777
	C(AC)  = 576345670135

	ERROR MESSAGE:
				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	AC =   05			;AC FIELD OF UUO-1
	C(AC)= 201532107642		;C(C(AC)) OF UUO-1
	COR =  201432107642		;C(C(ADDRESS FIELD)) OF UUO-1
	    ORIGINAL
	C(AC)= 777777777777		;C(C(ADDRESS FIELD)) OF UUO
	C(E) = 576345670135		;C(C(AC)) OF UUO
							MAINDEC-10-DBKBD.TXT
							PAGE 8                                                             SEQ 0008

5.0	ERRORS (CON'T)

	B.	ERROR #2  -  ERRM   AC,E
	--------------------------------

	EXAMPLE:			AC		E
	2053 / CAME   AC2,MUD		;CORRECT	RESULT
	2054 / ERRM   AC,RAN1		;ORIG  C(AC)	ORIG C(E)

	MUD=5033			;TEST DATA
	C(MUD) = 201532107642
	C(AC2) = 201432107642
	C(RAN1)= 777777777777
	C(AC)  = 576345670135

	ERROR MESSAGE:

				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	E  =   5033			;BITS 18-35 (E) OF UUO-1
	C(E) = 201532107642		;C(C(E)) OF UUO-1
	COR =  201432107642		;C(C(AC)) OF UUO-1
	    ORIGINAL
	C(AC)= 777777777777		;C(C(E)) OF UUO
	C(E) = 576345670135		;C(C(AC)) OF UUO
							MAINDEC-10-DBKBD.TXT
							PAGE 9                                                             SEQ 0009

5.0	ERRORS (CON'T)

	C.	ERROR #3  -  ERRI   AC,E
	--------------------------------

	EXAMPLE:			AC		E
	2053 / CAME   AC1,AC2		;RESULT		CORRECT
	2054 / ERRI   RAN1,(AC)		;ORIG C(AC)	ORIG E

	AC1=5				;TEST DATA
	C(AC1) = 107742670135
	C(AC2) = 107642670135
	C(RAN1)= 777777777777
	C(AC)  = 576345670135

	ERROR MESSAGE:

				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	AC =   5			;AC FIELD OF UUO-1
	C(AC)= 107742670135		;C(C(AC)) OF UUO-1
	COR =  107642670135		;C(C(E)) OF UUO-1
	    ORIGINAL
	C(AC)= 777777777777		;C(C(AC)) OF UUO
	E    = 670135			;C(ADDRESS FIELD) OF UUO

	D.	ERROR #4  -  ERROR   AC,E
	---------------------------------

	EXAMPLE:			AC		E
	2053 / CAME   AC,RAN	
	2054 / ERROR  AC,RAN		;RESULT		CORRECT

	AC=5				;TEST DATA
	C(AC)  = 201532107642
	C(RAN) = 201432107642

	ERROR MESSAGE:

				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	AC =   5			;AC FIELD OF UUO
	C(AC)= 201532107642		;C(C(AC)) OF UUO
	COR =  201432107642		;C(C(E)) OF UUO
							MAINDEC-10-DBKBD.TXT
							PAGE 10                                                            SEQ 0010

5.0	ERRORS (CON'T)

	E.	ERROR #5  -  ER   AC,[ASCII/MESSAGE/]
	---------------------------------------------

	EXAMPLE:			AC		E
	2053 / JFCL   10,.+2	
	2054 / ER     AC,[ASCII/OV/]	;RESULT		MESSAGE

	AC=5				;TEST DATA
	C(AC)  = 201432107642

	ERROR MESSAGE:

				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	AC =   5			;AC FIELD OF UUO
	C(AC)= 201432107642 OV		;C(C(AC)) OF UUO
					;ADDRESS FIELD OF UUO POINTS TO AN
					;ASCII MESSAGE

	F.	ERROR #6  -  ERM   AC,E
	-------------------------------

	EXAMPLE:			AC		E
	2053 / SOJ   AC2,	
	2054 / ERM    AC1,(AC2)		;C(AC)		RESULT

	C(AC2)=5033			;TEST DATA
	C(AC)  = 740000005756
	C(C(AC2)=254000004041

	ERROR MESSAGE:

				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	E  =   5033			;BITS 18-35 (E) OF UUO
	C(AC)= 740000005756		;C(AC) OF UUO
	C(E) = 254000004041		;C(C(E)) OF UUO
							MAINDEC-10-DBKBD.TXT
							PAGE 11                                                            SEQ 0011

5.0	ERRORS (CON'T)

	G.	ERROR #7  -  ERMM   AC,E
	--------------------------------

	EXAMPLE:			AC		E
	2053 / SOJ   AC2,	
	2054 / ERMM   AC1,(AC2)		;C(AC)		RESULT

	C(AC2)=5033			;TEST DATA
	C(AC1)  = 740000005756

	ERROR MESSAGE:

				   	(SOURCE OF NUMBERS PRINTED)
	PC =   002054			;PC OF ERROR UUO
	E  =   5033			;BITS 18-35 (E) OF UUO
	C(AC)= 740000005756		;C(AC) OF UUO


	H.	ERROR #11  -  EERR    ,E
	--------------------------------

	I.	ERROR #12  -  EERRM   ,E
	--------------------------------

	J.	ERROR #13  -  EERRI   ,E
	--------------------------------

	ERRORS 11,12 AND 13 ARE THE SAME AS ERRORS 1,2 AND 3 EXCEPT
	THAT THE AC OF THE UUO IS REPLACED BY C(RAN).  IN
	OTHER WORDS C(RAN) WILL BE PRINTED FOR THE ORIGINAL
	C(E).
							MAINDEC-10-DBKBD.TXT
							PAGE 12                                                            SEQ 0012

6.0	ITERATION COUNTER

	THE ITERATION COUNT OF THE PROGRAM IS DISPLAYED IN THE MEMORY
	INDICATORS (MI).  THIS COUNT IS A DECREMENTING COUNT AND 
	INITIALLY STARTS AT -1 IN STAND-ALONE OPERATION.

7.0	CYCLE TIME

	THE CYCLE TIME DEPENDS UPON MEMORY SIZE AND INCREASES AS
	MEMORY SIZE INCREASES.

	A.  NORMAL OPERATION - APPROXIMATELY ONE MINUTE IN 32K.

	B.  RELIABILITY MODE - APPROXIMATELY 3 TO 5 MINUTES.

8.0	OPERATIONAL VARIATIONS

	A.  DIAGNOSTIC MONITOR

	    THE PROGRAM IS USABLE WITH THE DIAGNOSTIC MONITOR TO PROVIDE
	    RELIABILITY TESTS, ACCEPTANCE TESTS, AND/OR TO PROVIDE A
	    QUICK METHOD OF ISOLATION OF A FAULT TO A PARTICULAR AREA
	    OF THE PROCESSOR.  CERTAIN PROCEDURES ARE USED WHEN THE
	    PROGRAM IS USED IN THIS MANNER.  THEY ARE:

	    1.	THE DIAGNOSTIC MONITOR TRANSFERS CONTROL TO THE PROGRAM
		AND STARTS IT AT LOCATION 30002.

	    2.	MONCTL - LOCATION 30043 IS USED AS THE DIAGNOSTIC MONITOR
		CONTROL WORD.
			LH = 0, STAND-ALONE OPERATION
			    -1, RUNNING UNDER DIAGNOSTIC MONITOR

			RH = RIGHT HALF OF CONSOLE SWITCHES IF UNDER
			     DIAGNOSTIC MONITOR CONTROL.
							MAINDEC-10-DBKBD.TXT
							PAGE 13                                                            SEQ 0013

8.0	OPERATIONAL VARIATIONS (CON'T)

	B.  USER MODE

	    TO OUTPUT THE PRINTED ERROR MESSAGES TO A USER SPECIFIED
	    DEVICE IN USER MODE, ASSIGN THE DESIRED OUTPUT DEVICE TO
	    DEVICE NAME 'DEV' AND SET SWITCH 'PNTLPT'.  THE PHYSICAL
	    DEVICE USED CAN BE ANY DEVICE THAT CAN ACCEPT ASCII OUTPUT
	    FORMAT SUCH AS LPT, DSK, DTA, ETC.  THE CORRESPONDING 
	    OUTPUT FILE IS 'DBKBD.PNT'

	    EXAMPLE DEVICE ASSIGNMENT:

	    .ASSIGN DSK DEV

	    IN USER MODE THE PROGRAM WILL MAKE 1000(8) PASSES AND THEN
	    RETURN TO DIAMON COMMAND MODE.

	THE OUTPUT FILE (IF USED) MAY THEN BE LISTED BY USING THE
	NORMAL MONITOR COMMANDS (PRINT, LIST, TYPE, PIP, ETC.).

	IF THE PROGRAM IS ABORTED BEFORE COMPLETION (BY ^C, ETC.) THE
	OUTPUT FILE MAY BE CLOSED BY USING THE MONITOR 'REENTER' 
	COMMAND.

	C.  SYSTEM EXERCISER

	    START ADDRESS IS 30003.  DATA SWITCHES ARE PRESTORED IN
	    'SWTEXR' LOC 30023.

9.0	MISCELLANEOUS

	THE NON-EX-MEMORY AND PARITY STOP SWITCHES SHOULD BE RESET 
	(0).  THESE ERRORS, ILLEGAL UUO'S AND OTHER ERRORS OF THIS
	TYPE ARE HANDLED BY PRINTOUT ON THE TELETYPE.

10.0	LISTING
	THIS IS A HISTORY OF THE DEVELOPMENT OF MAINDEC-10-DBKBD
                                                                                                                           SEQ 0014
************************************************************************

PRODUCT CODE:		MAINDEC-10-DBKBD

PRODUCT NAME:		BASIC INSTRUCTION RELIABILITY TEST #4

DATE RELEASED:		AUGUST,1976

VERSION:		0.2

UPDATE AUTHOR:		EDWARD G. PRENTICE

CHANGES MADE:

	1. UPGRADE TO ALLOW COMPATABILITY WITH THE SUBROUTINE PACKAGE.

	2. CORRECT ALGORITHM FOR SIMULATION OF PUSH/POP INSTRUCTION.

************************************************************************


VERSION:		1.1

UPDATE AUTHOR:		JOHN R. KIRCHOFF

DATE RELEASED:		07-MAR-73

REASON FOR UPDATE:	FIX POWER FAIL RESTART ROUTINE TO RESTORE FLAGS

************************************************************************

ORIGINAL VERSION:	0.1

ORIGINAL AUTHOR:	JOHN R. KIRCHOFF

ORIGINAL RELEASE:	16-MAR-72

************************************************************************
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1
DBKBDT	MAC	30-JUL-76		DIAGNOSTIC PARAMETERS                                                              SEQ 0015

     1					;MAINDEC-10-DBKBD
     2
     3			000002		DECVER==002
     4			000000		MCNVER==000
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2^
    13
    14						XALL
    15
    16					;TEST DESIGNED FOR RANDOM NUMBER TESTING OF THE PDP-10 BASIC INSTRUCTIONS
    17					;(MEMORY AND BOTH MODES) AND (PC SENSITIVE INSTRUCTIONS)
    18
    19					;COPYRIGHT 1975
    20					;DIGITAL EQUIPMENT CORPORATION
    21					;MARLBORO, MASS. 01752
    22
    23					;JOHN R. KIRCHOFF
    24
    25	000137					LOC	137
    26	000137	000000	000002		MCNVER,,DECVER
    27
    28						NOSYM
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 2
DBKBDT	MAC	30-JUL-76		DIAGNOSTIC PARAMETERS                                                              SEQ 0016

    29					SUBTTL	DIAGNOSTIC PARAMETERS
    30
    31					;OPERATOR DEFINITIONS
    32
    33		001000	000000		OPDEF	ERR	[1B8]
    34		002000	000000		OPDEF	ERRM	[2B8]
    35		003000	000000		OPDEF	ERRI	[3B8]
    36		004000	000000		OPDEF	ERROR	[4B8]
    37		005000	000000		OPDEF	ER	[5B8]
    38		006000	000000		OPDEF	ERM	[6B8]
    39		007000	000000		OPDEF	ERMM	[7B8]
    40		013000	000000		OPDEF	EERRI	[13B8]
    41
    42			033742		LUUO1=ERRMES
    43			033742		LUUO2=ERRMES
    44			033742		LUUO3=ERRMES
    45			033742		LUUO4=ERRMES
    46			033742		LUUO5=ERRMES
    47			033742		LUUO6=ERRMES
    48			033742		LUUO7=ERRMES
    49			033742		LUUO13=ERRMES
    50
    51					;SUBROUTINE ASSEMBLY DEFINITIONS
    52
    53			000001		EXCASB==1
    54			000001		USRASB==1
    55			000001		ERRELB=1
    56			000001		KLOLD==1
    57			000001		KI10==1
    58			000001		PGMEND==1
    59			000040		DEBUG==40
    60			000001		MEMMAP==1
    61
    62					;TEST CONTROL SWITCHES
    63
    64					;OPRSEL OR RELIAB = ALLOW FULL MEMORY USAGE
    65					;OTHERWISE MEMORY LIMITED TO 32K UNLESS SWITCH SELECTED.
    66
    67					;SWITCHES 27-35 , SIZE OF MEMORY, HIGH ORDER 9 BITS
    68
    69					;ACCUMULATOR ASSIGNMENTS
    70
    71			000010		RA=10
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 3
DBKBDT	MAC	30-JUL-76		DIAGNOSTIC PARAMETERS                                                              SEQ 0017

    72					;BEGIN ASSEMBLY PARAMETERS
    73
    74			030000		SADR1=BEGIN
    75			030076		SADR2=RESRT1
    76			030741		SADR3=RENTR1
    77			030000		SADR4=BEGIN
    78			030000		SADR5=BEGIN
    79			030000		SADR6=BEGIN
    80		254200	030000		SADR7=HALT BEGIN
    81		254200	030000		SADR8=HALT BEGIN
    82		254200	030000		SADR9=HALT BEGIN
    83		254200	030000		SADR10=HALT BEGIN
    84		254200	030000		SADR11=HALT BEGIN
    85
    86		123457	654321		PAREA1=123457,,654321
    87			000000		PAREA2=0
    88		444253	424400		PAREA3=SIXBIT/DBKBD/
    89		605664	000000		PAREA4=SIXBIT/PNT/
    90			000000		PAREA5=0
    91			000000		PAREA6=0
    92
    93			000001		ITERAT=1
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 4
DBKBDT	MAC	30-JUL-76		DIAGNOSTIC PARAMETERS                                                              SEQ 0018

    94					;MACROS
    95
    96					DEFINE	SETUP	<
    97						AC1=<AC+1>&17
    98						AC2=<AC+2>&17
    99						AC3=<AC+3>&17
   100						AC4=<AC+4>&17
   101						MOVEI	AC-1,.
   102						MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   103						MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   104						MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   105						MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. >
   106
   107					DEFINE	RANDOM	<
   108						ADD	RA,[142536475076]
   109						ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
   110						EQVB	RA,AC		;IN BOTH RA AND AC.
   111						MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
   112						MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
   113						CAME	RA,(AC1)	;DID IT MAKE IT ?
   114						ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. >
   115
   116					DEFINE	SETUP1	(A,B)<
   117						AC1=<AC+1>&17
   118						AC2=<AC+2>&17
   119						AC3=<AC+3>&17
   120						AC4=<AC+4>&17
   121						AC5=<AC+5>&17
   122						RAN1=<AC-2>&17
   123						MOVEI	AC-1,.
   124						MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   125						MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   126						MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   127						MOVEI	AC-1,A		;ROUTINE WEIGHTING
   128						ASH	AC-1,@CMPLXT+B	;ROUTINE COMPLEXITY
   129						ASH	AC-1,@RTIME	;RUN TIME CONTROLLER >
   130
   131					DEFINE	RANDM1	(A)<
   132						MOVE	AC,RAN#		;GENERATE A PSEUDO RANDOM NUMBER
   133						ADD	AC,[142536475076]
   134						ROT	AC,-1
   135						EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. >
   136
   137					DEFINE	LOOP	(A,B)<
   138						SOJG	AC-1,A		;ITERATION COUNTER
   139						MOVE	AC,RAN		;RESTORE RANDOM NUMBER
   140						JUMPL	AC-1,B		;LOOP ON ERROR SWITCH >
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1
PARAM	KLM	26-FEB-76		*PARAM*	CONSOLE DATA SWITCH ASSIGNMENTS, FEB 26,1976                               SEQ 0019

   141					SUBTTL	*PARAM*	CONSOLE DATA SWITCH ASSIGNMENTS, FEB 26,1976
   142
   143					DEFINE	S,<;*********************************************************************>
   144
   145					S^;*********************************************************************^
   146					;*DATA SWITCHES (READ FROM CONSOLE IN EXEC MODE OR TYPED IN IN USER MODE)
   147					;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
   148					;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
   149					S^;*********************************************************************^
   150
   151			400000		ABORT==	400000			;ABORT PROGRAM ON PASS COMPLETION
   152			200000		RSTART==200000			;RESTART TEST, PRINT TOTALS
   153			100000		TOTALS==100000			;PRINT TOTALS, CONTINUE
   154
   155			040000		NOPNT==	040000			;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
   156			020000		PNTLPT==020000			;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
   157			010000		DING==	010000			;RING BELL ON ERROR
   158
   159			004000		LOOPER==004000			;ENTER EXERCISE/CHECK LOOP ON ERROR
   160			002000		ERSTOP==002000			;HALT ON TEST ERROR
   161			001000		PALERS==001000			;PRINT ALL ERRORS
   162
   163			000400		RELIAB==000400			;RELIABILITY MODE
   164			000200		TXTINH==000200			;INHIBIT ERROR TEXT
   165			000100		INHPAG==000100			;INHIBIT PAGING
   166
   167			000040		MODDVC==000040			;MODIFY DEVICE CODE
   168			000020		INHCSH==000020			;INHIBIT CACHE
   169			000010		OPRSEL==000010			;OPERATOR SELECTION
   170
   171			000004		CHAIN==	000004			;CHAIN CONTROL SWITCH
   172
   173			000002		KAHZ50==000002			;KA10 50 HERTZ POWER
   174
   175									;SWITCH 17 RESERVED !!!
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 2
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0020

   176					SUBTTL	*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976
   177
   178					S^;*********************************************************************^
   179					;*SPECIAL SUBPROGRAM LINKAGES
   180					S^;*********************************************************************^
   181
   182			027772		FSELNK=	27772	;FILE SELECT LINK
   183			027773		FRDLNK=	27773	;FILE READ LINK
   184			027774		LDLNK=	27774	;LOAD LINKAGE ADDRESS
   185			027775		DDTLNK=	27775	;DDT LINKAGE ADDRESS
   186			027776		MODLNK=	27776	;OPERATIONAL MODE CHECK LINKAGE ADDRESS
   187			027777		SUBLNK=	27777	;SUBROUTINE LINKAGE ADDRESS
   188
   189					S^;*********************************************************************^
   190					;*SPECIAL SUBROUTINE FATAL HALTS
   191					;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
   192					S^;*********************************************************************^
   193
   194					;ADDRESS   TAG	REASON
   195					;---------------------
   196
   197					; 1010 	NOEXEC	;PROGRAM NOT CODED FOR EXEC MODE OPERATION
   198					; 1011  PLERR	;FATAL PUSH LIST POINTER ERROR
   199					; 1012  PLERR1	;INITIAL PUSH LIST POINTER ERROR
   200					; 1013  MUOERR	;MUUO WITH LUUO HANDLER WIPED OUT
   201					; 1014  DTEBER	;DTE20 INTERRUPT WITHOUT DOORBELL
   202					; 1015  DTECER	;DTE20 CLOCK INTERRUPT WITHOUT FLAG SET
   203					; 1016  CPIERR	;CPU INITIALIZATION ERROR
   204					; 1017  EOPERR	;END OF PROGRAM ERROR
   205					; 1020  LUOERR	;INTERRUPT WITH LUUO HANDLER WIPED OUT
   206
   207					S^;*********************************************************************^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 3
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0021

   208					S^;*********************************************************************^
   209					;OPERATOR DEFINITIONS (NON-UUO'S)
   210					S^;*********************************************************************^
   211
   212		260740	000000		OPDEF	GO	[PUSHJ	P,]	;SUBROUTINE CALL
   213		263740	000000		OPDEF	RTN	[POPJ	P,]	;SUBROUTINE RETURN 
   214		261740	000000		OPDEF	PUT	[PUSH	P,]	;PUT DATA ON PUSH LIST
   215		262740	000000		OPDEF	GET	[POP	P,]	;GET DATA FROM PUSH LIST 
   216		254000	000000		OPDEF	PJRST	[JRST	]	;JRST TO ROUTINE THAT RTN'S
   217		254200	000000		OPDEF	HALT	[JRST	4,]	;DEFINITION FOR DDT
   218		254100	000000		OPDEF	JRSTF	[JRST	2,]	;DEFINITION FOR DDT
   219		254500	000000		OPDEF	JEN	[JRST	12,]	;DEFINITION FOR DDT
   220
   221					S^;*********************************************************************^
   222					;*SUBROUTINE INITIALIZATION CALL
   223					S^;*********************************************************************^
   224
   225		265000	030011		OPDEF	PGMINT	[JSP	0,SBINIT]	;SUBROUTINE INITIALIZATION
   226
   227					S^;*********************************************************************^
   228					;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
   229					S^;*********************************************************************^
   230
   231		037640	000004		OPDEF	FATAL	[37B8!15B12!4]	;FATAL PROGRAMMING HALT
   232		037600	000004		OPDEF	ERRHLT	[37B8!14B12!4]	;PROGRAM ERROR HALT
   233
   234					S^;*********************************************************************^
   235					;*TERMINAL INPUT UUO'S
   236					;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
   237					;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
   238					S^;*********************************************************************^
   239
   240		037000	000003		OPDEF	TTICHR 	[37B8!0B12!3]	;TTY, INPUT ANY CHARACTER
   241		037040	000003		OPDEF	TTIYES	[37B8!1B12!3]	;TTY, NORMAL RETURN Y
   242		037100	000003		OPDEF	TTINO	[37B8!2B12!3]	;TTY, NORMAL RETURN N
   243		037140	000003		OPDEF	TTIOCT	[37B8!3B12!3]	;TTY, INPUT OCTAL WORD
   244		037200	000003		OPDEF	TTIDEC	[37B8!4B12!3]	;TTY, INPUT DECIMAL WORD
   245		037240	000003		OPDEF	TTICNV	[37B8!5B12!3]	;TTY, INPUT CONVERTABLE WORD
   246		037300	000003		OPDEF	TTLOOK	[37B8!6B12!3]	;TTY, KEYBOARD CHECK
   247		037340	000003		OPDEF	TTALTM	[37B8!7B12!3]	;TTY, ALT-MODE CHECK
   248		037400	000003		OPDEF	TTSIXB	[37B8!10B12!3]	;TTY, INPUT SIXBIT WORD
   249		037440	000003		OPDEF	TTYINP	[37B8!11B12!3]	;TTY, IMAGE MODE INPUT
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 4
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0022

   250					;*TERMINAL OUTPUT UUO'S.
   251
   252		037000	000000		OPDEF	PNTA	[37B8!0B12!0]	;PRINT ASCII WORD
   253		037000	000001		OPDEF	PNTAF	[37B8!0B12!1]	;PRINT ASCII WORD FORCED
   254		037740	000000		OPDEF	PNTAL	[37B8!17B12!0]	;PRINT ASCIZ LINE
   255		037740	000001		OPDEF	PNTALF	[37B8!17B12!1]	;PRINT ASCIZ LINE FORCED
   256		037600	000003		OPDEF	PSIXL	[37B8!14B12!3]	;PRINT SIXBIT'Z LINE
   257		037640	000003		OPDEF	PSIXLF	[37B8!15B12!3]	;PRINT SIXBIT'Z LINE FORCED
   258		037000	000000		OPDEF	PNTMSG	[37B8!0B12!0]	;PRINT MESSAGE IMMEDIATE
   259		037040	000000		OPDEF	PNTMSF	[37B8!1B12!0]	;PRINT MESSAGE IMMEDIATE FORCED
   260		037100	000000		OPDEF	PSIXM	[37B8!2B12!0]	;PRINT SIXBIT'Z MSG IMMEDIATE
   261		037200	000000		OPDEF	PSIXMF	[37B8!4B12!0]	;PRINT SIXBIT'Z MSG IMM FORCED
   262		037000	000000		OPDEF	PNTCI	[37B8!0B12!0]	;PRINT CHARACTER IMMEDIATE
   263		037040	000000		OPDEF	PNTCIF	[37B8!1B12!0]	;PRINT CHARACTER IMMEDIATE FORCED
   264		037500	000000		OPDEF	PNTCHR	[37B8!12B12!0]	;PRINT CHARACTER
   265		037500	000001		OPDEF	PNTCHF	[37B8!12B12!1]	;PRINT CHARACTER FORCED
   266		037040	000000		OPDEF	PNT1	[37B8!1B12!0]	;PRINT ONE OCTAL DIGIT
   267		037040	000001		OPDEF	PNT1F	[37B8!1B12!1]	;PRINT 1 OCTAL DIGIT FORCED	
   268		037100	000000		OPDEF	PNT2	[37B8!2B12!0]	;PRINT TWO OCTAL DIGITS
   269		037100	000001		OPDEF	PNT2F	[37B8!2B12!1]	;PRINT 2 OCTAL DIGITS FORCED	
   270		037140	000000		OPDEF	PNT3	[37B8!3B12!0]	;PRINT THREE OCTAL DIGITS
   271		037140	000001		OPDEF	PNT3F	[37B8!3B12!1]	;PRINT THREE OCTAL DIGITS FORCED	
   272		037200	000000		OPDEF	PNT4	[37B8!4B12!0]	;PRINT FOUR OCTAL DIGITS
   273		037200	000001		OPDEF	PNT4F	[37B8!4B12!1]	;PRINT FOUR OCTAL DIGITS FORCED
   274		037240	000000		OPDEF	PNT5	[37B8!5B12!0]	;PRINT FIVE OCTAL DIGITS
   275		037240	000001		OPDEF	PNT5F	[37B8!5B12!1]	;PRINT FIVE OCTAL DIGITS FORCED
   276		037300	000000		OPDEF	PNT6	[37B8!6B12!0]	;PRINT SIX OCTAL DIGITS
   277		037300	000001		OPDEF	PNT6F	[37B8!6B12!1]	;PRINT SIX OCTAL DIGITS FORCED
   278		037340	000000		OPDEF	PNT7	[37B8!7B12!0]	;PRINT 7 OCTAL DIGITS
   279		037340	000001		OPDEF	PNT7F	[37B8!7B12!1]	;PRINT 7 OCTAL DIGITS FORCED
   280		037440	000000		OPDEF	PNT11	[37B8!11B12!0]	;PRINT 11 OCTAL DIGITS
   281		037440	000001		OPDEF	PNT11F	[37B8!11B12!1]	;PRINT 11 OCTAL DIGITS FORCED.
   282		037400	000000		OPDEF	PNTADR	[37B8!10B12!0]	;PRINT PHYSICAL ADDRESS
   283		037400	000001		OPDEF	PNTADF	[37B8!10B12!1]	;PRINT PHYSICAL ADDRESS FORCED
   284		037600	000000		OPDEF	PNTOCT  [37B8!14B12!0]	;PRINT FULL WORD OCTAL
   285		037600	000001		OPDEF	PNTOTF	[37B8!14B12!1]	;PRINT FULL WORD OCTAL FORCED
   286		037540	000000		OPDEF	PNTHW	[37B8!13B12!0]	;PRINT OCTAL HALF WORDS, 6 SP 6
   287		037540	000001		OPDEF	PNTHWF	[37B8!13B12!1]	;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
   288		037700	000003		OPDEF	PNTOCS	[37B8!16B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S
   289		037740	000003		OPDEF	PNTOCF	[37B8!17B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
   290		037640	000000		OPDEF	PNTDEC	[37B8!15B12!0]	;PRINT DECIMAL, SUPRESS LEADING 0'S
   291		037640	000001		OPDEF	PNTDCF	[37B8!15B12!1]	;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
   292		037700	000000		OPDEF	PNTDS	[37B8!16B12!0]	;PRINT DECIMAL, SPACES FOR LD 0'S
   293		037700	000001		OPDEF	PNTDSF	[37B8!16B12!1]	;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 5
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0023

   294		037200	000002		OPDEF	PNTNM	[37B8!4B12!2]	;PRINT PROGRAM NAME
   295		037000	000002		OPDEF	PNTSIX	[37B8!0B12!2]	;PRINT SIXBIT WORD
   296		037040	000002		OPDEF	PNTSXF	[37B8!1B12!2]	;PRINT SIXBIT WORD FORCED
   297		037240	000002		OPDEF	DROPDV	[37B8!5B12!2]	;CLOSE LOGICAL FILE, USER MODE
   298		037100	000002		OPDEF	PNTCW	[37B8!2B12!2]	;PRINT DF10 CONTROL WORD
   299		037140	000002		OPDEF	PNTCWF	[37B8!3B12!2]	;PRINT DF10 CONTROL WORD FORCED
   300		037000	030242		OPDEF	PCRL	[37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
   301		037040	030242		OPDEF	PCRLF	[37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
   302		037000	000040		OPDEF	PSP	[37B8!0B12!40]	;PRINT SPACE
   303		037040	000040		OPDEF	PSPF	[37B8!1B12!40]	;PRINT SPACE FORCED
   304		037000	030243		OPDEF	PCRL2	[37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
   305		037040	030243		OPDEF	PCRL2F	[37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
   306		037040	000007		OPDEF	PBELL	[37B8!1B12!7]	;PRINT TTY BELL
   307
   308		037040	000026		OPDEF	PFORCE	[37B8!1B12!26]	;PRINT FORCE, CONTROL O OVERRIDE
   309
   310					DEFINE	PMSG	(ARG),<
   311						PSIXM	[SIXBIT\ARG'_\]>
   312
   313					DEFINE	PMSGF	(ARG),<
   314						PSIXMF	[SIXBIT\ARG'_\]>
   315
   316					;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
   317					;*	CONSERVES CORE OVER ASCIZ
   318
   319					DEFINE	SIXBTZ	(ARG),<	[SIXBIT\ARG'_\]>
   320
   321					;*CONSOLE SWITCH INPUT UUO.
   322					;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
   323					;* USER MODE.
   324
   325		037400	000002		OPDEF	SWITCH	[37B8!10B12!2]	;INPUT CONSOLE SWITCHES
   326
   327					;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
   328					;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
   329
   330		037540	000004		OPDEF	CLOKOP	[37B8!13B12!4]	;CLOCK OPERATION UUO - PDP-11 CLOCK
   331		037200	000004		OPDEF	MTROP	[37B8!4B12!4]	;CLOCK OPERATION UUO - DK20 METER
   332
   333					;*KL10 ONLY CACHE OPERATION UUO'S
   334
   335		037040	000004		OPDEF	CINVAL	[37B8!1B12!4]	;CACHE INVALIDATE
   336		037100	000004		OPDEF	CFLUSH	[37B8!2B12!4]	;CACHE FLUSH
   337		037140	000004		OPDEF	CWRTBI	[37B8!3B12!4]	;CACHE WRITE-BACK & INVALIDATE
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 6
PARAM	KLM	26-FEB-76		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, FEB 26,1976                                 SEQ 0024

   338					;*END OF PASS/PROGRAM UUOS
   339
   340					;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
   341					;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
   342
   343		037500	000004		OPDEF	ENDUUO	[37B8!12B12!4]	;UUO TO DISPLAY LIGHTS
   344		037700	000004		OPDEF	EOPUUO	[37B8!16B12!4]	;END OF PROGRAM UUO
   345
   346					;*MEMORY MANAGEMENT UUO'S
   347					;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
   348					;*ADDRESS CONVERSION, ETC...
   349
   350		037000	000004		OPDEF	MAPMEM	[37B8!0B12!4]	;MAP MEMORY
   351		037500	000002		OPDEF	MEMZRO	[37B8!12B12!2]	;ZERO MEMORY
   352		037440	000002		OPDEF	MEMSEG	[37B8!11B12!2]	;SETUP MEMORY SEGMENT
   353		037540	000002		OPDEF	MAPADR	[37B8!13B12!2]	;VIRTUAL TO PHYSICAL ADR CONVERT
   354		037640	000002		OPDEF	MAPCNK	[37B8!15B12!2]	;MAP MEMORY CHUNK
   355		037600	000002		OPDEF	MAPSET	[37B8!14B12!2]	;SET KI10 EXEC PAGE MAP
   356		037740	000002		OPDEF	MAPPNT	[37B8!17B12!2]	;PRINT MEMORY MAP
   357
   358					;*DEVICE CODE MODIFICATION UUO
   359					;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
   360					;*IOT'S TO A DIFFERENT DEVICE CODE.
   361
   362		037340	000002		OPDEF	MODPCU	[37B8!7B12!2]	;MODIFY PERHIPERAL CODE, USER
   363		037300	000002		OPDEF	MODPCP	[37B8!6B12!2]	;MODIFY PERHIPERAL CODE, PROGRAM
   364
   365			030000			IFNDEF	MODDVL,<MODDVL==BEGIN>
   366			030000			IFNDEF	MODDVU,<MODDVU==BEGIN>
   367
   368					;*"DIAMON" FILE SELECTION AND READ UUOS
   369
   370		037240	000004		OPDEF	FSELECT	[37B8!5B12!4]	;FILE SELECTION
   371		037300	000004		OPDEF	FREAD	[37B8!6B12!4]	;FILE READ - ASCII DATA
   372		037340	000004		OPDEF	FRD36	[37B8!7B12!4]	;FILE READ - 36 BIT DATA
   373		037400	000004		OPDEF	FRD8	[37B8!10B12!4]	;FILE READ - 8 BIT DATA
   374
   375					;*KI10 ONLY UUO FOR PRINTING MARGIN VALUES
   376
   377		037700	000002		OPDEF	PNTMGN	[37B8!16B12!2]	;PRINT MARGIN VALUE
   378
   379						XLIST
   380						LIST
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0025

   381					SUBTTL	*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976
   382
   383	030000					LOC	30000
   384
   385					S^;*********************************************************************^
   386					;*PROGRAM STARTING ADDRESSES
   387					;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
   388					;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
   389					;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
   390					;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
   391					S^;*********************************************************************^
   392
   393	030000	254 00 1 00 027776 	BEGIN:	JRST	@MODLNK		;STAND-ALONE START
   394	030001	254 00 0 00 030600 	$START:	JRST	START		;MODE CHECK STARTING ADDRESS
   395
   396	030002	254 00 1 00 027774 	DIAGMN:	JRST	@LDLNK		;DIAGNOSTIC MONITOR START
   397
   398	030003	254 00 1 00 027774 	SYSEXR:	JRST	@LDLNK		;SYSTEM EXERCISER START
   399
   400	030004	254 00 0 00 030000 	SFSTRT:	JRST	SADR1		;SPECIAL FEATURE START
   401
   402	030005	254 00 0 00 030076 	PFSTRT:	JRST	SADR2		;POWER FAIL RESTART
   403
   404	030006	254 00 0 00 030741 	REENTR:	JRST	SADR3		;REENTER START(USUALLY USER MODE ONLY)
   405
   406	030007				SRTDDT:				;COMMONLY MISTAKEN NAME FOR "DDTSRT"
   407	030007	254 00 1 00 027775 	DDTSRT:	JRST	@DDTLNK		;DDT START
   408
   409	030010	254 00 0 00 030645 	BEGIN1:	JRST	STARTA		;LOOP START(END OF PASS COMES HERE)
   410	030011	254 00 1 00 027777 	SBINIT:	JRST	@SUBLNK		;PMGINT LINKAGE
   411	030012	000000	000000		RETURN:	0			;RETURN ADDRESS STORAGE
   412
   413	030013	254200	030000		START1:	SADR7			;OPTIONAL STARTING ADR/INSTRUCTIONS
   414	030014	254200	030000		START2:	SADR8			; "
   415	030015	254200	030000		START3:	SADR9			; "
   416	030016	254200	030000		START4:	SADR10			; "
   417	030017	254200	030000		START5:	SADR11			; "
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 2
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0026

   418					S^;*********************************************************************^
   419					;*PROGRAM FIXED PARAMETER AREA
   420					S^;*********************************************************************^
   421
   422	030020	444253	424400		PNTNAM:	PAREA3		;SIXBIT PROGRAM NAME
   423	030021	605664	000000		PNTEXT:	PAREA4		;SIXBIT PROGRAM EXTENSION
   424	030022	123457	654321		RANDBS:	PAREA1		;RANDOM BASE NUMBER
   425	030023	000000	000000		SWTEXR:	PAREA2		;SYSTEM EXERCISER SWITCHES
   426	030024	000000	000001		ITRCNT:	ITERAT		;PROGRAM ITERATIONS
   427	030025	000000	030743		$PNAME:	PGMNAM		;POINTER TO PROGRAMS NAME
   428	030026	000000	000002		$PVER:	MCNVER,,DECVER	;MCN & DEC VERSION LEVEL
   429	030027	000000	030000		$MODVL:	MODDVL		;DEVICE CODE CHANGE LOWER LIMIT
   430	030030	000000	030000		$MODVU:	MODDVU		;DEVICE CODE CHANGE UPPER LIMIT
   431	030031	777777	777777		$EMODE:	IFNDEF EXCASB,<0> IFDEF EXCASB,<-1>	;EXEC ALLOWED
   432	030032	777777	777777		$UMODE:	IFNDEF USRASB,<0> IFDEF USRASB,<-1>	;USER ALLOWED
   433	030033	000000	000000		$DSKUP:	IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1>	;DISK UPDATE MODE
   434	030034	777777	777777		$MMAP:	IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1>	;ALLOW MEMORY RTNS
   435	030035	000000	000000		PAREA7:	PAREA5		;OPTIONAL PARAMETER
   436	030036	000000	000000		PAREA8:	PAREA6		;OPTIONAL PARAMETER
   437
   438					S^;*********************************************************************^
   439					;*PROGRAM VARIABLE PARAMETER AREA
   440					S^;*********************************************************************^
   441
   442	030037	000000	000000		USER:	0		; 0 = EXEC, -1 = USER MODE FLAG
   443	030040	000000	000000		KAIFLG:	0		;PROCESSOR TYPE, 0 = KA10, -1 = KI10
   444	030041	000000	000000		KLFLG:	0		;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
   445	030042	777777	777777		MONFLG:	-1		;DIAG MONITOR SPECIAL USER FLAG
   446	030043	000000	000000		MONCTL:	0		;DIAG MON/SYS EXR FLAG
   447	030044	000000	000000		MONTEN:	0		;-1= LOADED BY 10
   448	030045	000000	000000		CLOCKF:	0		;CLOCK TICKED FLAG
   449	030046	000000	000000		CONSW:	0		;CONSOLE SWITCH SETTINGS
   450	030047	000000	000000		PASCNT:	0		;PROGRAM PASS COUNT
   451	030050	000000	000000		RUNFLG:	0		;PROGRAM RUN FLAG
   452	030051	000000	000000		TESTPC:	0		;SUBTEST PC
   453	030052	000000	000000		ERRPC:	0		;ERROR PC
   454	030053	000000	000000		ERRTLS:	0		;ERROR TOTALS
   455	030054	000000	000000		TICKS:	0		;PROGRAM RUNNING TIME
   456	030055	000000	000000		MARGIN:	0		;KI10 MARGIN WORD VALUE
   457	030056	000000	000000		$ONETM:	0		;SUBROUTINE INITIALIZATION FLAG
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 3
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0027

   458					S^;*********************************************************************^
   459					;*SPECIAL PROGRAM DISPATCH ADDRESSES
   460					S^;*********************************************************************^
   461
   462	030057	037 12 0 00 000004 	BEGEND:	ENDUUO		;END OF PASS
   463	030060	254 00 0 00 030010 	$BEND1:	JRST	BEGIN1	;KEEP RUNNING PROGRAM
   464	030061	037 16 0 00 000004 	$BEND2:	EOPUUO		;END OF PROGRAM - NO RETURN
   465	030062	000000	030000		CNTLC:	SADR5		;CONTROL C XFER ADDRESS
   466	030063	000000	030000		ALTMGO:	SADR6		;ALTMODE XFER ADDRESS
   467	030064				CPOPJ1:			;SKIP RETURN
   468	030064	350 00 0 17 000000 	UUOSKP:	AOS	(P)	;SKIP RETURN FROM UUO
   469	030065				CPOPJ:			;NON-SKIP REGULAR RETURN
   470	030065	263 17 0 00 000000 	UUOEXT:	RTN		;UUO RETURN
   471	030066	255 00 0 00 000000 	UUORTN:	JFCL		;ADDITIONAL USERS UUO ROUTINE
   472	030067	255 00 0 00 000000 	$UORTX:	JFCL		;ADDITIONAL UUO LINKAGE
   473	030070	255 00 0 00 000000 	$UUOER:	JFCL		;INITED AS (JRST $UOERX)
   474	030071	255 00 0 00 000000 	$ITRHL:	JFCL		;ADDITIONAL INTERRUPT LINKAGE
   475	030072	255 00 0 00 000000 	$ITRX1:	JFCL		; "
   476	030073	255 00 0 00 000000 	$USRHL:	JFCL		; "
   477	030074	255 00 0 00 000000 	$RSRTX:	JFCL		;ADDITIONAL POWER FAIL LINKAGE
   478	030075	255 00 0 00 000000 	$RSRTY:	JFCL		; "
   479	030076	255 00 0 00 000000 	RESRT1:	JFCL		; INITED AS (JRST RESRTX)
   480	030077	255 00 0 00 000000 	RESRT2:	JFCL		; "
   481	030100	255 00 0 00 000000 	$PARER:	JFCL		;ADDITIONAL PARITY ERROR LINKAGE
   482	030101	255 00 0 00 000000 	ERMORE:	JFCL		;ADDITIONAL ERROR HANDLER LINKAGE
   483	030102	254 04 0 00 030102 		HALT	.	;IMPROPER TRANSFER HALT
   484
   485	030103	000000	000000		$PSHER:	0		;INITED AS (JRST PSHERR)
   486	030104	000000	000000		ITRCH1:	0		;PC & FLAGS OF CURRENT INTERRUPT
   487	030105	000000	000000			0		;INITED AS (JRST $ITRC1)
   488
   489					S^;*********************************************************************^
   490					;*PROCESSOR CONTROL STORAGE
   491					S^;*********************************************************************^
   492
   493	030106	000000	000000		$ACC0:	0		;INTERRUPT SAVED AC0
   494	030107	000000	000000		$SVPI:	0		;INTERRUPT SAVED PI
   495	030110	000000	000000		$SVAPR:	0		;INTERRUPT SAVED APR
   496	030111	000000	000000		$SVPAG:	0		;INTERRUPT SAVED PAG (DATAI)
   497	030112	000000	000000		$SPAG1:	0		;INTERRUPT SAVED PAG (CONI)
   498
   499	030113	000000	000000		$SVUUO:	0		;CURRENT USERS UUO
   500	030114	000000	000000		$SVUPC:	0		;PC OF CURRENT USERS UUO
   501
   502	030115	000000	000000		REPTU:	0		;REPEAT UUO ITERATIONS
   503	030116	000000	000000		SCOPE:	0		;ERROR HANDLER SCOPE LOOP FLAG
   504	030117	000000	000000		%CORFLG:0		; " CORRECT FLAG
   505	030120	000000	000000		%COREC:	0		; " CORRECT DATA
   506	030121	000000	000000		%ACTFL:	0		; " ACTUAL FLAG
   507	030122	000000	000000		%ACTUL:	0		; " ACTUAL DATA
   508	030123	000000	000000		%DISCR:	0		; " DISCREPENCY DATA
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 4
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0028

   509					S^;*********************************************************************^
   510					;*UUO DISPATCH TABLE
   511					S^;*********************************************************************^
   512						XLIST
   513						LIST
   514	030124	033742	030070		UUODIS:	LUUO1,,$UUOER
   515	030125	033742	033742			LUUO3,,LUUO2
   516	030126	033742	033742			LUUO5,,LUUO4
   517	030127	033742	033742			LUUO7,,LUUO6
   518	030130	030070	030070			LUUO11,,LUUO10
   519	030131	033742	030070			LUUO13,,LUUO12
   520	030132	030070	030070			LUUO15,,LUUO14
   521	030133	030070	030070			LUUO17,,LUUO16
   522	030134	030070	030070			LUUO21,,LUUO20
   523	030135	030070	030070			LUUO23,,LUUO22
   524	030136	030070	030070			LUUO25,,LUUO24
   525	030137	030070	030070			LUUO27,,LUUO26
   526	030140	030070	030070			LUUO31,,LUUO30
   527	030141	030070	030070			LUUO33,,LUUO32
   528
   529					S^;*********************************************************************^
   530					;*MEMORY MANAGMENT STORAGE
   531					S^;*********************************************************************^
   532
   533	030142	000000	000000		DF22F:	0		;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
   534	030143	000000	000000		MAPNEW:	0		;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
   535	030144	000000	000000		MEMTOT:	0		;TOTAL MEMORY SIZE IN K (1024.)
   536	030145	000000	000000		MEMLOW:	0		;LOWEST USABLE MEMORY
   537	030146				MEMSIZ:	BLOCK ^D41	;MEMORY SEGMENT POINTER TABLE
   538
   539					S^;*********************************************************************^
   540					;*PRINT CONTROL STORAGE
   541					S^;*********************************************************************^
   542
   543	030217	000000	000000		PNTFLG:	0		;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
   544	030220	000000	000000		PNTENB:	0		;PRINT ENABLE
   545	030221	000000	000000		PDISF:	0		;PRINT DISABLED FLAG
   546	030222	000000	000000		PNTINH:	0		;INHIBIT PRINT INPUT CHECKS
   547	030223	000000	000000		PNTSPC:	0		;PRINT SPACE CONTROL
   548	030224	000000	000000		OPTIME:	0		;TYPE-IN WAIT TIME
   549	030225	000000	000000		$TWCNT:	0		;TIME WAITED
   550	030226	000000	000000		$DVOFF:	0		;LOGICAL DEVICE INITED FLAG
   551	030227	000000	000000		TTYFIL:	0		;TTY EXEC FILLERS FLAG
   552	030230	000000	000000		TTYSPD:	0		;TTY EXEC BAUD RATE
   553	030231	000000	000000		$TTCHR:	0		;ACTUAL TYPED IN CHAR
   554	030232	000000	000000		$CHRIN:	0		;UPPER CASED & PARITY STRIPPED CHAR
   555	030233	000000	000000		$TYPNB:	0		;TYPED IN NUMBER
   556	030234	000000	000000		$CRLF:	0		;FREE CR/LF FLAG
   557	030235	000000	000000		$TABF:	0		;TAB CONVERSION FLAG
   558	030236	000000	000000		$FFF:	0		;FORM FEED CONVERSION FLAG
   559	030237	000000	000000		$VTF:	0		;VERTICAL TAB CONVERSION FLAG
   560	030240	000000	000000		USRLFF:	0		;USER LF FILLERS
   561	030241	000000	000000		USRCRF:	0		;USER CR FILLERS
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 5
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0029

   562					S^;*********************************************************************^
   563					;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
   564					;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
   565					;*	MOVEI	NAME
   566					;*	PNTA		;OR PNTAF
   567					S^;*********************************************************************^
   568
   569	030242				CRLF:	ASCII/
   570	030242	015 012 000 000 000 	/
   571	030243				CRLF2:	ASCII/
   572
   573	030243	015 012 015 012 000 	/
   574	030244	054 000 000 000 000 	COMMA:	ASCII/,/
   575	030245	056 000 000 000 000 	PERIOD:	ASCII/./
   576	030246	040 000 000 000 000 	SPACE:	ASCII/ /
   577	030247	011 000 000 000 000 	TAB:	ASCII/	/
   578	030250				MINUS:
   579	030250	055 000 000 000 000 	HYPEN:	ASCII/-/
   580	030251	053 000 000 000 000 	PLUS:	ASCII/+/
   581	030252	052 000 000 000 000 	AST:	ASCII/*/
   582	030253	100 000 000 000 000 	ATSIN:	ASCII/@/
   583	030254	050 000 000 000 000 	LFP:	ASCII/(/
   584	030255	051 000 000 000 000 	RTP:	ASCII/)/
   585	030256	007 0000000000 		BELL:	BYTE (7) 007
   586	030257	077 000 000 000 000 	QUEST:	ASCII/?/
   587	030260	057 000 000 000 000 	SLASH:	ASCII!/!
   588	030261	044 000 000 000 000 	DOLLAR:	ASCII/$/
   589	030262	000000	000012		RADIX:	^D10			;DECIMAL PRINT RADIX
   590	030263	000000	000040		RADLSP:	40			;DECIMAL PRINT LEADING CHAR
   591	030264	000000	000012		RADLSC:	^D10			;DECIMAL PRINT LEADING CHAR COUNT
   592
   593					S^;*********************************************************************^
   594					;*USER MODE OUTPUT FILE INFORMATION
   595					S^;*********************************************************************^
   596
   597	030265				$OBUF:	BLOCK	3		;LOGICAL FILE OUTPUT BUFFER HEADER
   598	030270	60 62 51 56 64 00 	$OUTNM:	SIXBIT	/PRINT/		;FILE NAME
   599	030271	60 56 64 00 00 00 	$OUTEX:	SIXBIT	/PNT/		;FILE NAME EXTENSION
   600	030272					BLOCK	2
   601
   602					S^;*********************************************************************^
   603					;*DISK UPDATE MODE FILE INFORMATION
   604					S^;*********************************************************************^
   605
   606	030274				$IBUF:	BLOCK	3
   607	030277	60 62 51 56 64 00 	$INNM:	SIXBIT	/PRINT/
   608	030300	60 56 64 00 00 00 	$INEXT:	SIXBIT	/PNT/
   609	030301					BLOCK	2
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 6
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0030

   610					S^;*********************************************************************^
   611					;*PUSHDOWN LIST CONTROL INFORMATION
   612					S^;*********************************************************************^
   613
   614	030303	777577	030303		PLIST:	PLIST-PLISTE,,PLIST
   615	030304				PLISTS:	BLOCK	200
   616	030504	000000	000000		PLISTE:	0		;END OF PUSHDOWN LIST
   617
   618					S^;*********************************************************************^
   619					;*POWER LINE CLOCK FREQUENCY FLAG
   620					S^;*********************************************************************^
   621
   622	030505	000000	000000		CYCL60:	0	;0 = 60, -1 = 50 CYCLE
   623
   624					S^;*********************************************************************^
   625					;*KL10 CACHE CONTROL FLAGS
   626					S^;*********************************************************************^
   627
   628	030506	000000	000000		CSHFLG:	0	;ALLOW CACHE IF 0
   629	030507	000000	000000		CSHMEM:	0	;CACHE MEMORY SEGMENTS IF 0
   630
   631					S^;*********************************************************************^
   632					;*NUMBER INPUT DIGIT FLAG
   633					S^;*********************************************************************^
   634
   635	030510	000000	000000		TTNBRF:	0	;-1 IF ANY DIGIT TYPED
   636
   637					S^;*********************************************************************^
   638					;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
   639					S^;*********************************************************************^
   640
   641	030511	000000	000000		PVPAGI:	0	;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
   642
   643					S^;*********************************************************************^
   644					;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
   645					S^;*********************************************************************^
   646
   647	030512	000000	000000		%ERHI1:	0	;IF NON-ZERO, XCT'D AT START OF %ERUUO
   648	030513	000000	000000		%ERHI2:	0	;IF NON-ZERO, XCT'D AT END OF %ERUUO
   649	030514	000000	000000		%ERHI3:	0	;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
   650
   651					S^;*********************************************************************^
   652					;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
   653					S^;*********************************************************************^
   654
   655	030515	000000	000000		$$UUO:	0	;IF NON-ZERO, XCT'D AT START OF $UORTN
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 7
FIXED	KLM	26-FEB-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0031

   656					S^;*********************************************************************^
   657					;*KL10 PROCESSOR TYPE FLAG, 0=P0, 1=BBD NEW, 2=BBD OLD
   658					S^;*********************************************************************^
   659
   660	030516	000000	000000		KLTYP:	0
   661
   662					S^;*********************************************************************^
   663					;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
   664					S^;*********************************************************************^
   665
   666	030517	000000	000000		$$MUUO:	0	;IF NON-ZERO, XCT'D AT START OF MUUOER
   667
   668					S^;*********************************************************************^
   669					;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
   670					S^;*********************************************************************^
   671
   672	030520	000000	000000		$$OUTER:0	;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
   673
   674					S^;*********************************************************************^
   675					;*"SWITCH" CALL USAGE CONTROL
   676					S^;*********************************************************************^
   677
   678	030521	000000	000000		$$TOGGLE:0	;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
   679
   680					S^;*********************************************************************^
   681					;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
   682					S^;*********************************************************************^
   683
   684	030522	000000	000000		$$TAX1:	0	;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
   685	030523	000000	000000		$$TAX2:	0	;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
   686
   687					S^;*********************************************************************^
   688					;*SPECIAL FUTURE EXPANSION ROOM
   689					;*IF ANY FIXED AREA TAGS ARE ADDED, REDUCE THE SIZE OF
   690					;*THIS BLOCK STATEMENT ACCORDINGLY.  THIS MUST BE DONE
   691					;*SO THAT PREVIOUS FIXED ASSIGNMENTS DO NOT CHANGE.
   692					S^;*********************************************************************^
   693
   694	030524					BLOCK	53	;HOPEFULLY THIS IS ENOUGH FOREVER
   695
   696					S^;*********************************************************************^
   697					;*END OF FIXED STORAGE
   698					S^;*********************************************************************^
   699
   700			030577			$ENDFX=<PLISTE+100>&<777700>-1
   701	030577					LOC	$ENDFX
   702	030577	000000	000000		ENDFIX:	0		;END OF FIXED STORAGE
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1
DBKBDM	MAC	 4-JUN-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0032

   703					;INITIALIZE PROGRAM
   704
   705	030600	265 00 0 00 030011 	START:	PGMINT			;INITIALIZE SUBROUTINES
   706	030601	200 00 0 00 030022 		MOVE	0,RANDBS	;EXEC, SETUP RANDOM
   707	030602	332 00 0 00 030037 		SKIPE	USER		;USER, USE TIME OF DAY IN JIFFIES
   708	030603	040 00 0 00 034220 		CALL	0,[SIXBIT/TIMER/]
   709	030604	202 00 0 00 034420 		MOVEM	0,RAN		;SETUP RANDOM BASE
   710	030605	202 00 0 00 000010 		MOVEM	0,RA
   711
   712					;COMPUTE MEMORY SIZE TO BE USED
   713
   714	030606	037 10 0 00 000002 	MEMFD1:	SWITCH
   715	030607	405 00 0 00 000777 		ANDI	0,777
   716	030610	336 00 0 00 000000 		SKIPN	0		;MEMORY SIZE SPECIFIED ?
   717	030611	254 00 0 00 030626 		JRST	MEMFD3		;NO, CHECK RELIAB & OPRSEL SWITCHES
   718	030612	242 00 0 00 000011 	MEMFD2:	LSH	0,9		;POSITION HIGH ORDER
   719	030613	660 00 0 00 000777 		TRO	0,777		;SET LOW ORDER BITS
   720	030614	404 00 0 00 030147 		AND	0,MEMSIZ+1	;AND WITH ACTUAL MEMORY
   721	030615	552 00 0 00 030147 		HRRZM	0,MEMSIZ+1	;SAVE
   722	030616	311 00 0 00 030145 		CAML	0,MEMLOW	;ENOUGH MEMORY FOR TEST ?
   723	030617	254 00 0 00 030633 		JRST	MEMFD4		;YES
   724						MOVEI	[ASCIZ/
   725	030620	201 00 0 00 034221 	MEMORY SIZE SELECTED TOO SMALL/]
   726	030621	037 17 0 00 000001 		PNTALF
   727	030622	201 00 0 00 030743 		MOVEI	PGMNAM
   728	030623	037 17 0 00 000001 		PNTALF
   729	030624	037 14 0 00 000004 		ERRHLT
   730	030625	254 00 0 00 030600 		JRST	START
   731
   732	030626	200 00 0 00 030046 	MEMFD3:	MOVE	0,CONSW
   733	030627	603 00 0 00 000410 		TLNE	RELIAB!OPRSEL	;IF EITHER RELIAB OR OPRSEL SWITCH SET
   734	030630	254 00 0 00 030633 		JRST	MEMFD4		;USE ALL OF MEMORY
   735	030631	201 00 0 00 000077 		MOVEI	77		;OTHERWISE LIMIT MEMORY TO 32K
   736	030632	254 00 0 00 030612 		JRST	MEMFD2
   737
   738	030633	200 00 0 00 030046 	MEMFD4:	MOVE	0,CONSW
   739	030634	603 00 0 00 000004 		TLNE	0,CHAIN		;RUNNING IN CHAIN MODE ?
   740	030635	254 00 0 00 030645 		JRST	STARTA		;YES
   741						PMSG	<TESTING >^
   742	030636	037 02 0 00 034230 		PSIXM	[SIXBIT\TESTING _\]^
   743	030637	200 00 0 00 030147 		MOVE	MEMSIZ+1
   744	030640	271 00 0 00 000001 		ADDI	0,1
   745	030641	231 00 0 00 002000 		IDIVI	^D1024
   746	030642	037 15 0 00 000000 		PNTDEC			;PRINT MEMORY SIZE BEING USED
   747						PMSG	<K^>^
   748	030643	037 02 0 00 034232 		PSIXM	[SIXBIT\K^_\]^
   749	030644	254 00 0 00 030645 		JRST	STARTA
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 2
DBKBDM	MAC	 4-JUN-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0033

   750					;INITIALIZE COMPLEXITY TABLE
   751
   752			000000			A=0
   753	030645	402 00 0 00 030677 	STARTA:	SETZM	CMPLXT		;STORE A TABLE OF
   754	030646	201 01 0 00 000001 		MOVEI	1,1		;POWERS OF 2 OR 0
   755	030647	037 10 0 00 000002 		SWITCH
   756	030650	607 00 0 00 000400 		TLNN	RELIAB		;RELIABILITY SWITCH SET
   757	030651	402 00 0 00 000001 		SETZM	1		;NO,STORE 0'S
   758						REPEAT	7,
   759					<	MOVEM	1,CMPLXT+1+A
   760						LSH	1,1
   761						A=A+1>
   762	030652	202 01 0 00 030700 		MOVEM	1,CMPLXT+1+A
   763	030653	242 01 0 00 000001 		LSH	1,1
   764			000001			A=A+1
   765	030654	202 01 0 00 030701 		MOVEM	1,CMPLXT+1+A
   766	030655	242 01 0 00 000001 		LSH	1,1
   767			000002			A=A+1
   768	030656	202 01 0 00 030702 		MOVEM	1,CMPLXT+1+A
   769	030657	242 01 0 00 000001 		LSH	1,1
   770			000003			A=A+1
   771	030660	202 01 0 00 030703 		MOVEM	1,CMPLXT+1+A
   772	030661	242 01 0 00 000001 		LSH	1,1
   773			000004			A=A+1
   774	030662	202 01 0 00 030704 		MOVEM	1,CMPLXT+1+A
   775	030663	242 01 0 00 000001 		LSH	1,1
   776			000005			A=A+1
   777	030664	202 01 0 00 030705 		MOVEM	1,CMPLXT+1+A
   778	030665	242 01 0 00 000001 		LSH	1,1
   779			000006			A=A+1
   780	030666	202 01 0 00 030706 		MOVEM	1,CMPLXT+1+A
   781	030667	242 01 0 00 000001 		LSH	1,1
   782			000007			A=A+1
   783
   784					;INITIALIZE RUN TIME
   785
   786	030670	201 01 0 00 000001 		MOVEI	1,1
   787	030671	603 00 0 00 000400 		TLNE	RELIAB		;RELIABILITY SWITCH SET ?
   788	030672	201 01 0 00 000004 		MOVEI	1,4		;YES, MULTIPLY RUNNING TIME
   789	030673	202 01 0 00 030676 		MOVEM	1,RTIME		;STORE IN RTIME
   790	030674	254 00 0 00 030717 		JRST	MST1
   791
   792					;CONSTANTS
   793
   794	030675	740000	000000		FLAGS:	XWD	AROV!CRY0!CRY1!FOV,0
   795
   796	030676	000000	000000		RTIME:	0
   797
   798	030677				CMPLXT:	BLOCK	20
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 3
DBKBDM	MAC	 4-JUN-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0034

   799					;COMPUTE BUFFER SIZE TO BE USED
   800
   801	030717	200 01 0 00 030147 	MST1:	MOVE	1,MEMSIZ+1	;GET MEMORY SIZE
   802	030720	210 01 0 00 000001 		MOVN	1,1		;MAKE (AC1) CONTAIN
   803	030721	270 01 0 00 030145 		ADD	1,MEMLOW	; - HIGHEST MEM LOC + END OF PROG
   804	030722	204 01 0 00 000001 		MOVS	1,1		;IN THE LEFT HALF
   805	030723	540 01 0 00 030145 		HRR	1,MEMLOW	;END OF PROG IN RIGHT HALF
   806	030724	202 01 0 00 034411 		MOVEM	1,BLOK#		;SAVE
   807
   808	030725	200 01 0 00 030147 	MST2:	MOVE	1,MEMSIZ+1
   809	030726	204 02 0 00 000001 		MOVS	2,1		;PUT HIGHEST MEMORY LOCATION
   810	030727	540 02 0 00 000001 		HRR	2,1		;IN LEFT AND RIGHT HALF
   811	030730	202 02 0 00 034416 		MOVEM	2,MODULO#	;OF MODULO
   812	030731	210 01 0 00 000001 		MOVN	1,1		;MAKE C(AC1) CONTAIN
   813	030732	270 01 0 00 030145 		ADD	1,MEMLOW	;-HIGHEST MEM LOC + END OF PROGRAM
   814	030733	204 01 0 00 000001 		MOVS	1,1		;IN THE LEFT HALF
   815	030734	540 01 0 00 030145 		HRR	1,MEMLOW	;END OF PROG IN RIGHT HALF
   816	030735	202 01 0 00 034425 		MOVEM	1,WCBUF#	;SAVE
   817	030736	274 01 0 00 034233 		SUB	1,[1,,0]
   818	030737	202 01 0 00 034412 		MOVEM	1,BUFSIZ#
   819	030740	254 00 0 00 030773 		JRST	MSADT		;GO PERFORM DIAGNOSTIC
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 4
DBKBDM	MAC	 4-JUN-76		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, FEB 26,1976                            SEQ 0035

   820	030741	037 05 0 00 000002 	RENTR1:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
   821	030742	040 00 0 00 034234 		CALL	[SIXBIT .EXIT.]
   822
   823	030743				PGMNAM:	ASCIZ/
   824	030743	015 012 120 104 120 	PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4 (DBKBD)
   825	030744	055 061 060 040 040 
   826	030745	113 111 061 060 040 
   827	030746	102 101 123 111 103 
   828	030747	040 111 116 123 124 
   829	030750	122 125 103 124 111 
   830	030751	117 116 040 122 105 
   831	030752	114 111 101 102 111 
   832	030753	114 111 124 131 040 
   833	030754	124 105 123 124 040 
   834	030755	064 040 050 104 102 
   835	030756	113 102 104 051 015 
   836	030757	012 050 115 105 115 	(MEMORY AND BOTH MODES) AND (PC SENSITIVE INSTRUCTIONS)
   837	030760	117 122 131 040 101 
   838	030761	116 104 040 102 117 
   839	030762	124 110 040 115 117 
   840	030763	104 105 123 051 040 
   841	030764	101 116 104 040 050 
   842	030765	120 103 040 123 105 
   843	030766	116 123 111 124 111 
   844	030767	126 105 040 111 116 
   845	030770	123 124 122 125 103 
   846	030771	124 111 117 116 123 
   847	030772	051 015 012 000 000 	/
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 5
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0036

   848					SUBTTL	DIAGNOSTIC SECTION
   849
   850						LALL
   851					;FAST ADDRESS TEST TO CHECK MEMORY(S)
   852
   853			000004			AC=4
   854	030773	201 03 0 00 030773 	MSADT:	MOVEI	AC-1,.
   855	030774	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   856	030775	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE WHICH AC IS
   857	030776	202 03 0 00 034414 		MOVEM	AC-1,ERRLOP#	;USED FOR KEEPING PROG IN LOOP.
   858	030777	400 02 0 00 000000 		SETZ	2,		;CLEAR AC2.
   859	031000	200 01 0 00 034411 		MOVE	1,BLOK		;MOVE(-TOP+END) END INTO AC1.
   860	031001	332 00 0 00 030037 	MSADT2:	SKIPE	USER
   861	031002	254 00 0 00 031004 		JRST	MSADT1
   862	031003	7 004 20 0 00 300000 		CONO	PI,PARCLR!PARDIS	;DISABLE PARITY
   863	031004	202 01 0 01 000000 	MSADT1:	MOVEM	1,(1)		;MOVE TO MEM.
   864	031005	312 01 0 01 000000 		CAME	1,(1)		;DOES IT COMPARE?
   865	031006	002 01 0 00 000001 		ERRM	1,1		;NO. PNT ERR MES.
   866	031007	332 00 0 00 030037 		SKIPE	USER
   867	031010	254 00 0 00 031014 		JRST	MSADT3
   868	031011	7 000 30 0 00 200000 		CONSZ	APR,IPARER	;PARITY ERROR ?
   869	031012	005 01 0 00 034235 		ER	1,[ASCII/PAR/]
   870	031013	7 004 20 0 00 200000 		CONO	PI,PARCLR
   871	031014	321 03 0 02 031004 	MSADT3:	JUMPL	AC-1,MSADT1(2)	;LOOP ON ERROR SWITCH.
   872	031015	253 01 0 00 031016 		AOBJN	1,.+1		;FIX FOR GREATER THAN 128K MEM
   873	031016	603 01 0 00 770000 		TLNE	1,770000
   874	031017	254 00 0 02 031004 		JRST	MSADT1(2)	;ADD ONE AND TRY NEXT MEM LOC.
   875	031020	431 02 0 00 000001 		XORI	2,1		;THIS MAKES C(AC2)=1 OR 0.
   876	031021	332 00 0 00 000002 		SKIPE	2		;C(AC2)=0?... GONE THROUGH 2 PASSES.
   877	031022	254 00 0 00 031001 		JRST	MSADT2		;NO..DO 2ND PASS...JUST COMPARE.
   878	031023	332 00 0 00 030037 		SKIPE	USER
   879	031024	254 00 0 00 031026 		JRST	TST1
   880	031025	7 004 20 0 00 242377 		CONO	PI,PARCLR!PARENB!CHNON!PION!PICHNA
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 6
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0037

   881					;TEST MOVE, MOVEM, MOVES, HLLM, EXCH.  AFTER EXECUTING
   882					;THESE 5 INSTRUCTIONS, THE C(AC) AND C(E) SHOULD STILL
   883					;=RANDOM NUM.
   884
   885			000010			AC=10
   886	031026				TST1:	SETUP^
   887			000011			AC1=<AC+1>&17
   888			000012			AC2=<AC+2>&17
   889			000013			AC3=<AC+3>&17
   890			000014			AC4=<AC+4>&17
   891	031026	201 07 0 00 031026 		MOVEI	AC-1,.
   892	031027	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   893	031030	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   894	031031	202 07 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   895	031032	200 11 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
   896	031033				TST1A:	RANDOM^
   897	031033	270 10 0 00 034236 		ADD	RA,[142536475076]
   898	031034	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
   899	031035	447 10 0 00 000010 		EQVB	RA,AC		;IN BOTH RA AND AC.
   900	031036	200 10 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
   901	031037	202 10 0 11 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
   902	031040	312 10 0 11 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
   903	031041	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
   904	031042	200 10 0 11 000000 	TST1B:	MOVE	AC,(AC1)	;DO A MOVE...C(AC)+C(E) STAY SAME.
   905	031043	202 10 0 11 000000 		MOVEM	AC,(AC1)	;DO A MOVEM...C(AC)+C(E) STAY SAME.
   906	031044	203 10 0 11 000000 		MOVES	AC,(AC1)	;DO A MOVES...C(AC)+C(E) STAY SAME.
   907	031045	502 10 0 11 000000 		HLLM	AC,(AC1)	;DO A HLLM...C(AC)+C(E) STAY SAME.
   908	031046	250 10 0 11 000000 		EXCH	AC,(AC1)	;DO AN EXCH...C(AC)+C(E) STAY SAME.
   909	031047	312 10 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM.
   910	031050	001 10 0 00 000010 		ERR	RA,RA
   911	031051	312 10 0 11 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN.NUM.
   912	031052	002 10 0 00 000010 		ERRM	RA,RA
   913	031053	321 07 0 00 031036 		JUMPL	AC-1,TST1B-4	;LOOP ON ERROR SWITCH
   914	031054	253 11 0 00 031055 		AOBJN	AC1,.+1
   915	031055	603 11 0 00 770000 		TLNE	AC1,770000
   916	031056	254 00 0 00 031033 		JRST	TST1A		;INC. TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 7
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0038

   917
   918					;TEST HLLS, HRRM, ANDM, SETAB.  AFTER
   919					;EXECUTING THESE 4 INSTRUCTIONS, THE C(AC)+C(E)
   920					;SHOULD STILL=RANDOM NUM.
   921
   922			000001			AC=1
   923	031057				TST2:	SETUP^
   924			000002			AC1=<AC+1>&17
   925			000003			AC2=<AC+2>&17
   926			000004			AC3=<AC+3>&17
   927			000005			AC4=<AC+4>&17
   928	031057	201 00 0 00 031057 		MOVEI	AC-1,.
   929	031060	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   930	031061	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   931	031062	202 00 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   932	031063	200 02 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
   933	031064				TST2A:	RANDOM^
   934	031064	270 10 0 00 034236 		ADD	RA,[142536475076]
   935	031065	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
   936	031066	447 10 0 00 000001 		EQVB	RA,AC		;IN BOTH RA AND AC.
   937	031067	200 01 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
   938	031070	202 10 0 02 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
   939	031071	312 10 0 02 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
   940	031072	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
   941	031073	503 01 0 02 000000 	TST2B:	HLLS	AC,(AC1)	;DO A HLLS INST...C(AC)+C(E) STAY SAME
   942	031074	542 01 0 02 000000 		HRRM	AC,(AC1)	;DO A HRRM INST...C(AC)+C(E) STAY SAME
   943	031075	406 01 0 02 000000 		ANDM	AC,(AC1)	;DO A HRRS INST...C(AC)+C(E) STAY SAME
   944	031076	427 01 0 02 000000 		SETAB	AC,(AC1)	;DO A SETMM INST...C(AC)+C(E) STAY SAME.
   945	031077	312 01 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM
   946	031100	001 10 0 00 000010 		ERR	RA,RA
   947	031101	312 10 0 02 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN NUM
   948	031102	002 10 0 00 000010 		ERRM	RA,RA
   949	031103	321 00 0 00 031067 		JUMPL	AC-1,TST2B-4	;LOOP ON ERROR SWITCH
   950	031104	253 02 0 00 031105 		AOBJN	AC1,.+1
   951	031105	603 02 0 00 770000 		TLNE	AC1,770000
   952	031106	254 00 0 00 031064 		JRST	TST2A		;INC TO TEST NEXT LOC.
   953
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 8
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0039

   954
   955					;TEST SETMB, HRRS, IORB, SETAM, SETMM.  AFTER
   956					;EXECUTING THESE 5 INSTRUCTIONS, THE C(AC)+C(E)
   957					;SHOULD STILL=RANDOM NUMBER
   958
   959			000002			AC=2
   960	031107				TST3:	SETUP^
   961			000003			AC1=<AC+1>&17
   962			000004			AC2=<AC+2>&17
   963			000005			AC3=<AC+3>&17
   964			000006			AC4=<AC+4>&17
   965	031107	201 01 0 00 031107 		MOVEI	AC-1,.
   966	031110	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   967	031111	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   968	031112	202 01 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   969	031113	200 03 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
   970	031114				TST3A:	RANDOM^
   971	031114	270 10 0 00 034236 		ADD	RA,[142536475076]
   972	031115	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
   973	031116	447 10 0 00 000002 		EQVB	RA,AC		;IN BOTH RA AND AC.
   974	031117	200 02 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
   975	031120	202 10 0 03 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
   976	031121	312 10 0 03 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
   977	031122	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
   978	031123	417 02 0 03 000000 	TST3B:	SETMB	AC,(AC1)	;DO A SETMB. INST...C(AC)+C(E) STAY SAME
   979	031124	543 02 0 03 000000 		HRRS	AC,(AC1)	;DO AN ANDM INST...C(AC)+C(E) STAY SAME
   980	031125	437 02 0 03 000000 		IORB	AC,(AC1)	;DO AN ANDB INST...C(AC)+C(E) STAY SAME
   981	031126	426 02 0 03 000000 		SETAM	AC,(AC1)	;DO A SETAM INST...C(AC)+C(E) STAY SAME
   982	031127	416 02 0 03 000000 		SETMM	AC,(AC1)	;DO A SETAB INST...C(AC)+C(E) STAY SAME
   983	031130	312 02 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM.
   984	031131	001 10 0 00 000010 		ERR	RA,RA
   985	031132	312 10 0 03 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
   986	031133	002 10 0 00 000010 		ERRM	RA,RA
   987	031134	321 01 0 00 031117 		JUMPL	AC-1,TST3B-4	;LOOP ON ERROR SWITCH
   988	031135	253 03 0 00 031136 		AOBJN	AC1,.+1
   989	031136	603 03 0 00 770000 		TLNE	AC1,770000
   990	031137	254 00 0 00 031114 		JRST	TST3A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 9
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0040

   991
   992					;TEST IORM, ANDB, SETCMM, SETCMB.  AFTER
   993					;EXECUTING THESE 4 INSTRUCTIONS, THE C(AC)+C(E)
   994					;SHOULD STILL=RANDOM NUMBER.
   995
   996			000003			AC=3
   997	031140				TST4:	SETUP^
   998			000004			AC1=<AC+1>&17
   999			000005			AC2=<AC+2>&17
  1000			000006			AC3=<AC+3>&17
  1001			000007			AC4=<AC+4>&17
  1002	031140	201 02 0 00 031140 		MOVEI	AC-1,.
  1003	031141	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1004	031142	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1005	031143	202 02 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1006	031144	200 04 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1007	031145				TST4A:	RANDOM^
  1008	031145	270 10 0 00 034236 		ADD	RA,[142536475076]
  1009	031146	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1010	031147	447 10 0 00 000003 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1011	031150	200 03 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1012	031151	202 10 0 04 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1013	031152	312 10 0 04 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1014	031153	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1015									;IF ORIGIN C(AC)=0011,C(E)=0011
  1016	031154	436 03 0 04 000000 	TST4B:	IORM	AC,(AC1)	;C(AC)=0011, C(E)=0011
  1017	031155	407 03 0 04 000000 		ANDB	AC,(AC1)	;C(AC)=0011, C(E)=0011
  1018	031156	462 03 0 04 000000 		SETCMM	AC,(AC1)	;C(AC)=0011, C(E)=1100
  1019	031157	463 03 0 04 000000 		SETCMB	AC,(AC1)	;C(AC)=0011, C(E)=0011
  1020	031160	312 03 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM.
  1021	031161	001 10 0 00 000010 		ERR	RA,RA
  1022	031162	312 10 0 04 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
  1023	031163	002 10 0 00 000010 		ERRM	RA,RA
  1024	031164	321 02 0 00 031150 		JUMPL	AC-1,TST4B-4	;LOOP ON ERROR SWITCH
  1025	031165	253 04 0 00 031166 		AOBJN	AC1,.+1
  1026	031166	603 04 0 00 770000 		TLNE	AC1,770000
  1027	031167	254 00 0 00 031145 		JRST	TST4A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 10
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0041

  1028
  1029					;TEST MOVSM, MOVSS, MOVNM, MOVNS. AFTER
  1030					;EXECUTING THESE 4 INSTRUCTIONS, THE C(AC)+C(E)
  1031					;SHOULD STILL=RANDOM NUMBER
  1032
  1033			000004			AC=4
  1034	031170				TST5:	SETUP^
  1035			000005			AC1=<AC+1>&17
  1036			000006			AC2=<AC+2>&17
  1037			000007			AC3=<AC+3>&17
  1038			000010			AC4=<AC+4>&17
  1039	031170	201 03 0 00 031170 		MOVEI	AC-1,.
  1040	031171	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1041	031172	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1042	031173	202 03 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1043	031174	200 05 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1044	031175				TST5A:	RANDOM^
  1045	031175	270 10 0 00 034236 		ADD	RA,[142536475076]
  1046	031176	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1047	031177	447 10 0 00 000004 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1048	031200	200 04 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1049	031201	202 10 0 05 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1050	031202	312 10 0 05 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1051	031203	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1052									;IF C(AC)+C(E)=(0011)0101
  1053	031204	206 04 0 05 000000 	TST5B:	MOVSM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0101)0011
  1054	031205	207 04 0 05 000000 		MOVSS	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1055	031206	212 04 0 05 000000 		MOVNM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(1100)1011
  1056	031207	213 04 0 05 000000 		MOVNS	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1057	031210	312 04 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM
  1058	031211	001 10 0 00 000010 		ERR	RA,RA
  1059	031212	312 10 0 05 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
  1060	031213	002 10 0 00 000010 		ERRM	RA,RA
  1061	031214	321 03 0 00 031200 		JUMPL	AC-1,TST5B-4	;LOOP ON ERROR SWITCH
  1062	031215	253 05 0 00 031216 		AOBJN	AC1,.+1
  1063	031216	603 05 0 00 770000 		TLNE	AC1,770000
  1064	031217	254 00 0 00 031175 		JRST	TST5A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 11
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0042

  1065
  1066					;TEST HRLM, HLRN, MOVSS, XORM, XORB.  AFTER
  1067					;EXECUTING THESE 5 INSTRUCTIONS, THE C(AC)+C(E)
  1068					;SHOULD STILL=RANDOM NUMBER.
  1069
  1070			000005			AC=5
  1071	031220				TST6:	SETUP^
  1072			000006			AC1=<AC+1>&17
  1073			000007			AC2=<AC+2>&17
  1074			000010			AC3=<AC+3>&17
  1075			000011			AC4=<AC+4>&17
  1076	031220	201 04 0 00 031220 		MOVEI	AC-1,.
  1077	031221	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1078	031222	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1079	031223	202 04 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1080	031224	200 06 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1081	031225				TST6A:	RANDOM^
  1082	031225	270 10 0 00 034236 		ADD	RA,[142536475076]
  1083	031226	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1084	031227	447 10 0 00 000005 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1085	031230	200 05 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1086	031231	202 10 0 06 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1087	031232	312 10 0 06 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1088	031233	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1089									;IF C(AC)+C(E)=(0011)0101
  1090	031234	506 05 0 06 000000 	TST6B:	HRLM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0101)0101
  1091	031235	546 05 0 06 000000 		HLRM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0101)0011
  1092	031236	207 05 0 06 000000 		MOVSS	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1093	031237	432 05 0 06 000000 		XORM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0000)0000
  1094	031240	433 05 0 06 000000 		XORB	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1095	031241	312 05 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM
  1096	031242	001 10 0 00 000010 		ERR	RA,RA
  1097	031243	312 10 0 06 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
  1098	031244	002 10 0 00 000010 		ERRM	RA,RA
  1099	031245	321 04 0 00 031230 		JUMPL	AC-1,TST6B-4	;LOOP ON ERROR SWITCH.
  1100	031246	253 06 0 00 031247 		AOBJN	AC1,.+1
  1101	031247	603 06 0 00 770000 		TLNE	AC1,770000
  1102	031250	254 00 0 00 031225 		JRST	TST6A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 12
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0043

  1103
  1104					;TEST EQVM, ORCMM, ORCAM, EQVB. AFTER
  1105					;EXECUTING THESE 4 INSTRUCTIONS, THE C(AC)+
  1106					;C(E) SHOULD STILL=RANDOM NUMBER
  1107
  1108			000006			AC=6
  1109	031251				TST7:	SETUP^
  1110			000007			AC1=<AC+1>&17
  1111			000010			AC2=<AC+2>&17
  1112			000011			AC3=<AC+3>&17
  1113			000012			AC4=<AC+4>&17
  1114	031251	201 05 0 00 031251 		MOVEI	AC-1,.
  1115	031252	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1116	031253	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1117	031254	202 05 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1118	031255	200 07 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1119	031256				TST7A:	RANDOM^
  1120	031256	270 10 0 00 034236 		ADD	RA,[142536475076]
  1121	031257	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1122	031260	447 10 0 00 000006 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1123	031261	200 06 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1124	031262	202 10 0 07 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1125	031263	312 10 0 07 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1126	031264	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1127									;IF C(AC)+C(E)=(0011)0101
  1128	031265	446 06 0 07 000000 	TST7B:	EQVM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(1111)1111
  1129	031266	466 06 0 07 000000 		ORCMM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1130	031267	456 06 0 07 000000 		ORCAM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(1111)1111
  1131	031270	447 06 0 07 000000 		EQVB	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1132	031271	312 06 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM
  1133	031272	001 10 0 00 000010 		ERR	RA,RA
  1134	031273	312 10 0 07 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM
  1135	031274	002 10 0 00 000010 		ERRM	RA,RA
  1136	031275	321 05 0 00 031261 		JUMPL	AC-1,TST7B-4	;LOOP ON ERROR SWITCH.
  1137	031276	253 07 0 00 031277 		AOBJN	AC1,.+1
  1138	031277	603 07 0 00 770000 		TLNE	AC1,770000
  1139	031300	254 00 0 00 031256 		JRST	TST7A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 13
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0044

  1140
  1141					;TEST ANDCAM, ANDCMM, ANDCBB, SETCAB.  AFTER
  1142					;EXECUTING THESE 4 INSTRUCTIONS, THE C(AC)+
  1143					;C(E) SHOULD STILL=RANDOM NUMBER.
  1144
  1145			000012			AC=12
  1146	031301				TST10:	SETUP^
  1147			000013			AC1=<AC+1>&17
  1148			000014			AC2=<AC+2>&17
  1149			000015			AC3=<AC+3>&17
  1150			000016			AC4=<AC+4>&17
  1151	031301	201 11 0 00 031301 		MOVEI	AC-1,.
  1152	031302	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1153	031303	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1154	031304	202 11 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1155	031305	200 13 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1156	031306				TST10A:	RANDOM^
  1157	031306	270 10 0 00 034236 		ADD	RA,[142536475076]
  1158	031307	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1159	031310	447 10 0 00 000012 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1160	031311	200 12 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1161	031312	202 10 0 13 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1162	031313	312 10 0 13 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1163	031314	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1164									;IF C(AC)+C(E)=(0011)0101,
  1165	031315	412 12 0 13 000000 	TST10B:	ANDCAM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0000)0000
  1166	031316	422 12 0 13 000000 		ANDCMM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1167	031317	443 12 0 13 000000 		ANDCBB	AC,(AC1)	;C(AC)=(1100)1010, C(E)=(1100)1010
  1168	031320	453 12 0 13 000000 		SETCAB	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1169	031321	312 12 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM.
  1170	031322	001 10 0 00 000010 		ERR	RA,RA
  1171	031323	312 10 0 13 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
  1172	031324	002 10 0 00 000010 		ERRM	RA,RA
  1173	031325	321 11 0 00 031311 		JUMPL	AC-1,TST10B-4	;LOOP ON ERROR SWITCH.
  1174	031326	253 13 0 00 031327 		AOBJN	AC1,.+1
  1175	031327	603 13 0 00 770000 		TLNE	AC1,770000
  1176	031330	254 00 0 00 031306 		JRST	TST10A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 14
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0045

  1177
  1178					;TEST SETCAM, ORCAB, ORCBM, AND CAB, AFTER
  1179					;EXECUTING THESE 4 INSTRUCTIONS, THE C(AC)+
  1180					;C(E) SHOULD STILL=RANDOM NUMBER.
  1181
  1182			000012			AC=12
  1183	031331				TST11:	SETUP^
  1184			000013			AC1=<AC+1>&17
  1185			000014			AC2=<AC+2>&17
  1186			000015			AC3=<AC+3>&17
  1187			000016			AC4=<AC+4>&17
  1188	031331	201 11 0 00 031331 		MOVEI	AC-1,.
  1189	031332	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1190	031333	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1191	031334	202 11 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1192	031335	200 13 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1193	031336				TST11A:	RANDOM^
  1194	031336	270 10 0 00 034236 		ADD	RA,[142536475076]
  1195	031337	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1196	031340	447 10 0 00 000012 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1197	031341	200 12 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1198	031342	202 10 0 13 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1199	031343	312 10 0 13 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1200	031344	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1201									;IF C(AC)+C(E)=(0011)0101,
  1202	031345	452 12 0 13 000000 	TST11B:	SETCAM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(1100)1010
  1203	031346	457 12 0 13 000000 		ORCAB	AC,(AC1)	;C(AC)=(1100)1010, C(E)=(1100)1010
  1204	031347	472 12 0 13 000000 		ORCBM	AC,(AC1)	;C(AC)=(1100)1010, C(E)=(0011)0101
  1205	031350	413 12 0 13 000000 		ANDCAB	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1206	031351	312 12 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM.
  1207	031352	001 10 0 00 000010 		ERR	RA,RA
  1208	031353	312 10 0 13 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
  1209	031354	002 10 0 00 000010 		ERRM	RA,RA
  1210	031355	321 11 0 00 031341 		JUMPL	AC-1,TST11B-4	;LOOP ON ERROR SWITCH.
  1211	031356	253 13 0 00 031357 		AOBJN	AC1,.+1
  1212	031357	603 13 0 00 770000 		TLNE	AC1,770000
  1213	031360	254 00 0 00 031336 		JRST	TST11A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 15
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0046

  1214
  1215					;TEST SETZM, ANDCBM, ORCMB. AFTER
  1216					;EXECUTING THESE 3 INSTRUCTIONS, THE C(AC)
  1217					;+C(E) SHOULD=RANDOM NUMBER.
  1218
  1219			000013			AC=13
  1220	031361				TST12:	SETUP^
  1221			000014			AC1=<AC+1>&17
  1222			000015			AC2=<AC+2>&17
  1223			000016			AC3=<AC+3>&17
  1224			000017			AC4=<AC+4>&17
  1225	031361	201 12 0 00 031361 		MOVEI	AC-1,.
  1226	031362	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1227	031363	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1228	031364	202 12 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1229	031365	200 14 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1230	031366				TST12A:	RANDOM^
  1231	031366	270 10 0 00 034236 		ADD	RA,[142536475076]
  1232	031367	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1233	031370	447 10 0 00 000013 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1234	031371	200 13 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1235	031372	202 10 0 14 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1236	031373	312 10 0 14 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1237	031374	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1238									;IF C(AC(+C(E)=(0011)0101
  1239	031375	402 13 0 14 000000 	TST12B:	SETZM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0000)0000
  1240	031376	442 13 0 14 000000 		ANDCBM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(1100)1010
  1241	031377	467 13 0 14 000000 		ORCMB	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1242	031400	312 13 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD STILL=RAN. NUM.
  1243	031401	001 10 0 00 000010 		ERR	RA,RA
  1244	031402	312 10 0 14 000000 		CAME	RA,(AC1)	;C(E) SHOULD STILL=RAN. NUM.
  1245	031403	002 10 0 00 000010 		ERRM	RA,RA
  1246	031404	321 12 0 00 031371 		JUMPL	AC-1,TST12B-4	;LOOP ON ERROR SWITCH.
  1247	031405	253 14 0 00 031406 		AOBJN	AC1,.+1
  1248	031406	603 14 0 00 770000 		TLNE	AC1,770000
  1249	031407	254 00 0 00 031366 		JRST	TST12A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 16
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0047

  1250
  1251					;TEST HRLS, HLRS. CHECK FOR
  1252					;CORRECT DATA IN THE C(AC) AND C(E).
  1253					;C(AC)+C(E)=RAN. NUM.
  1254
  1255			000001			AC=1
  1256	031410				TST13:	SETUP^
  1257			000002			AC1=<AC+1>&17
  1258			000003			AC2=<AC+2>&17
  1259			000004			AC3=<AC+3>&17
  1260			000005			AC4=<AC+4>&17
  1261	031410	201 00 0 00 031410 		MOVEI	AC-1,.
  1262	031411	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1263	031412	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1264	031413	202 00 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1265	031414	200 02 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1266	031415				TST13A:	RANDOM^
  1267	031415	270 10 0 00 034236 		ADD	RA,[142536475076]
  1268	031416	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1269	031417	447 10 0 00 000001 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1270	031420	200 01 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1271	031421	202 10 0 02 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1272	031422	312 10 0 02 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1273	031423	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1274	031424	205 03 0 10 000000 	TST13B:	MOVSI	AC2,(RA)	;SIMULAT A
  1275	031425	435 03 0 10 000000 		IORI	AC2,(RA)	;HRLS INST.
  1276	031426	507 01 0 02 000000 		HRLS	AC,(AC1)	;DO A HRLS
  1277	031427	312 01 0 02 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1278	031430	001 10 0 00 000010 		ERR	RA,RA
  1279	031431	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1280	031432	002 10 0 00 000010 		ERRM	RA,RA
  1281	031433	204 04 0 00 000010 		MOVS	AC3,RA		;SIMULATE
  1282	031434	205 03 0 04 000000 		MOVSI	AC2,(AC3)	;A
  1283	031435	435 03 0 04 000000 		IORI	AC2,(AC3)	;HLRS INST.
  1284	031436	200 01 0 00 000010 		MOVE	AC,RA		;RESTORE C(AC).
  1285	031437	202 01 0 02 000000 		MOVEM	AC,(AC1)	;RESTORE C(E).
  1286	031440	547 01 0 02 000000 		HLRS	AC,(AC1)	;DO A HLRS INST.
  1287	031441	312 01 0 02 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1288	031442	001 10 0 00 000010 		ERR	RA,RA
  1289	031443	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1290	031444	002 10 0 00 000010 		ERRM	RA,RA
  1291	031445	321 00 0 00 031420 		JUMPL	AC-1,TST13B-4	;LOOP ON ERROR SWITCH.
  1292	031446	253 02 0 00 031447 		AOBJN	AC1,.+1
  1293	031447	603 02 0 00 770000 		TLNE	AC1,770000
  1294	031450	254 00 0 00 031415 		JRST	TST13A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 17
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0048

  1295
  1296					;TEST HRLZM, HLRZS, HLRZM, HRLZS. CHECK
  1297					;FOR CORRECT DATA IN THE C(AC)+C(E).
  1298					;C(AC)+C(E)=RAN. NUM.
  1299
  1300			000014			AC=14
  1301	031451				TST14:	SETUP^
  1302			000015			AC1=<AC+1>&17
  1303			000016			AC2=<AC+2>&17
  1304			000017			AC3=<AC+3>&17
  1305			000000			AC4=<AC+4>&17
  1306	031451	201 13 0 00 031451 		MOVEI	AC-1,.
  1307	031452	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1308	031453	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1309	031454	202 13 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1310	031455	200 15 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1311	031456				TST14A:	RANDOM^
  1312	031456	270 10 0 00 034236 		ADD	RA,[142536475076]
  1313	031457	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1314	031460	447 10 0 00 000014 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1315	031461	200 14 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1316	031462	202 10 0 15 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1317	031463	312 10 0 15 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1318	031464	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1319									;IF C(AC)+C(E)=(0011)0101
  1320	031465	516 14 0 15 000000 	TST14B:	HRLZM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0101)000
  1321	031466	557 00 0 15 000000 		HLRZS	0,(AC1)		;C(AC)=(0011)0101,C(E)=(0000)0101
  1322	031467	502 14 0 15 000000 		HLLM	AC,(AC1)	;C(AC)=(0011)0101,C(E)=(0011)0101
  1323	031470	312 14 0 00 000010 		CAME	AC,RA		;C(AC)SHOULD=RAN. NUM.
  1324	031471	001 10 0 00 000010 		ERR	RA,RA
  1325	031472	312 10 0 15 000000 		CAME	RA,(AC1)	;C(E) SHOULD=RAN. NUM.
  1326	031473	002 10 0 00 000010 		ERRM	RA,RA
  1327	031474	556 14 0 15 000000 		HLRZM	AC,(AC1)	;C(AC)=(0011)0101,C(E)=(0000)0011
  1328	031475	517 00 0 15 000000 		HRLZS	0,(AC1)		;C(AC)=(0011)0101,C(E)=(0011)0000
  1329	031476	542 14 0 15 000000 		HRRM	AC,(AC1)	;C(AC)=(0011)0101,C(E)=)0011)0101
  1330	031477	312 14 0 00 000010 		CAME	AC,RA		;C(AC)SHOULD=RAN. NUM.
  1331	031500	001 10 0 00 000010 		ERR	RA,RA
  1332	031501	312 10 0 15 000000 		CAME	RA,(AC1)	;C(E)SHOULD=RAN. NUM.
  1333	031502	002 10 0 00 000010 		ERRM	RA,RA
  1334	031503	321 13 0 00 031461 		JUMPL	AC-1,TST14B-4	;LOOP ON ERROR SWITCH.
  1335	031504	253 15 0 00 031505 		AOBJN	AC1,.+1
  1336	031505	603 15 0 00 770000 		TLNE	AC1,770000
  1337	031506	254 00 0 00 031456 		JRST	TST14A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 18
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0049

  1338
  1339					;TEST HRLOM, HLROS, HLROM, HRLOS. CHECK FOR
  1340					;CORRECT DATA IN THE C(AC)+C(E).
  1341					;C(AC)+C(E)=RAN. NUM.
  1342
  1343			000015			AC=15
  1344	031507				TST15:	SETUP^
  1345			000016			AC1=<AC+1>&17
  1346			000017			AC2=<AC+2>&17
  1347			000000			AC3=<AC+3>&17
  1348			000001			AC4=<AC+4>&17
  1349	031507	201 14 0 00 031507 		MOVEI	AC-1,.
  1350	031510	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1351	031511	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1352	031512	202 14 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1353	031513	200 16 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1354	031514				TST15A:	RANDOM^
  1355	031514	270 10 0 00 034236 		ADD	RA,[142536475076]
  1356	031515	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1357	031516	447 10 0 00 000015 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1358	031517	200 15 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1359	031520	202 10 0 16 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1360	031521	312 10 0 16 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1361	031522	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1362									;IF C(AC)+C(E)=(0011)0101
  1363	031523	526 15 0 16 000000 	TST15B:	HRLOM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0101)1111
  1364	031524	567 00 0 16 000000 		HLROS	0,(AC1)		;C(AC)=)0011)0101, C(E)=(1111)0101
  1365	031525	502 15 0 16 000000 		HLLM	AC,(AC1)	;C(E)=(0011)0101, C(E)=(0011)0101
  1366	031526	312 15 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD=RAN. NUM.
  1367	031527	001 10 0 00 000010 		ERR	RA,RA
  1368	031530	312 10 0 16 000000 		CAME	RA,(AC1)	;C(E) SHOULD=RAN. NUM.
  1369	031531	002 10 0 00 000010 		ERRM	RA,RA
  1370	031532	566 15 0 16 000000 		HLROM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(1111)0011
  1371	031533	527 00 0 16 000000 		HRLOS	0,(AC1)		;C(E)=(0011)1111
  1372	031534	542 15 0 16 000000 		HRRM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1373	031535	312 15 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD=RAN. NUM.
  1374	031536	001 10 0 00 000010 		ERR	RA,RA
  1375	031537	312 10 0 16 000000 		CAME	RA,(AC1)	;C(E) SHOULD = RAN. NUM.
  1376	031540	002 10 0 00 000010 		ERRM	RA,RA
  1377	031541	321 14 0 00 031517 		JUMPL	AC-1,TST15B-4	;LOOP ON ERROR SWITCH.
  1378	031542	253 16 0 00 031543 		AOBJN	AC1,.+1
  1379	031543	603 16 0 00 770000 		TLNE	AC1,770000
  1380	031544	254 00 0 00 031514 		JRST	TST15A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 19
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0050

  1381
  1382					;TEST HRLEM, HLRES, HLREM, HRLES. CHECK
  1383					;FOR CORRECT DATA IN THE C(AC)+C(E).
  1384					;C(AC)+C(E)=RAN. NUM.
  1385
  1386			000001			AC=1
  1387	031545				TST16:	SETUP^
  1388			000002			AC1=<AC+1>&17
  1389			000003			AC2=<AC+2>&17
  1390			000004			AC3=<AC+3>&17
  1391			000005			AC4=<AC+4>&17
  1392	031545	201 00 0 00 031545 		MOVEI	AC-1,.
  1393	031546	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1394	031547	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1395	031550	202 00 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1396	031551	200 02 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1397	031552				TST16A:	RANDOM^
  1398	031552	270 10 0 00 034236 		ADD	RA,[142536475076]
  1399	031553	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1400	031554	447 10 0 00 000001 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1401	031555	200 01 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1402	031556	202 10 0 02 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1403	031557	312 10 0 02 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1404	031560	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1405	031561	620 01 0 00 400000 	TST16B:	TRZ	AC,400000	;CLEAR BIT 18 IN AC.
  1406	031562	200 03 0 00 000001 		MOVE	AC2,AC		;SAVE FOR FUTURE COMPARE.
  1407									;IF C(AC)+C(E)=(0011)0101
  1408	031563	536 01 0 02 000000 		HRLEM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1409	031564	577 00 0 02 000000 		HLRES	0,(AC1)		;C(AC)=(0011)0101, C(E)=(0000)0101
  1410	031565	502 01 0 02 000000 		HLLM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0011)0101
  1411	031566	312 01 0 00 000003 		CAME	AC,AC2		;C(AC)SHOULD=ORIG C(AC).
  1412	031567	001 10 0 00 000003 		ERR	RA,AC2
  1413	031570	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=ORIG C(AC).
  1414	031571	002 10 0 00 000003 		ERRM	RA,AC2
  1415	031572	621 01 0 00 400000 		TLZ	AC,400000	;CLEAR BIT 0.
  1416	031573	200 03 0 00 000001 		MOVE	AC2,AC		;SAVE FOR FUTURE COMPARE.
  1417	031574	576 01 0 02 000000 		HLREM	AC,(AC1)	;C(AC)=(0011)0101, C(E)=(0000)0011
  1418	031575	537 00 0 02 000000 		HRLES	0,(AC1)		;C(AC)=(0011)0101, C(E)=(0011)0000
  1419	031576	542 01 0 02 000000 		HRRM	AC,(AC1)	;C(AC) = (0011)0101, C(E) = (0011)0101.
  1420	031577	312 01 0 00 000003 		CAME	AC,AC2		;C(AC)SHOULD=ORIG C(AC).
  1421	031600	001 10 0 00 000003 		ERR	RA,AC2
  1422	031601	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=ORIG C(AC).
  1423	031602	002 10 0 00 000003 		ERRM	RA,AC2
  1424	031603	321 00 0 00 031555 		JUMPL	AC-1,TST16B-4	;LOOP ON ERROR SWITCH
  1425	031604	253 02 0 00 031605 		AOBJN	AC1,.+1
  1426	031605	603 02 0 00 770000 		TLNE	AC1,770000
  1427	031606	254 00 0 00 031552 		JRST	TST16A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 20
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0051

  1428
  1429					;TEST HRLEM, HLRES, HLREM, HRLES.   CHECK
  1430					;FOR CORRECT DATA IN AC AND C(E).
  1431					;C(AC)+C(E)=RAN. NUM.
  1432
  1433			000002			AC=2
  1434	031607				TST17:	SETUP^
  1435			000003			AC1=<AC+1>&17
  1436			000004			AC2=<AC+2>&17
  1437			000005			AC3=<AC+3>&17
  1438			000006			AC4=<AC+4>&17
  1439	031607	201 01 0 00 031607 		MOVEI	AC-1,.
  1440	031610	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1441	031611	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1442	031612	202 01 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1443	031613	200 03 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1444	031614				TST17A:	RANDOM^
  1445	031614	270 10 0 00 034236 		ADD	RA,[142536475076]
  1446	031615	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1447	031616	447 10 0 00 000002 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1448	031617	200 02 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1449	031620	202 10 0 03 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1450	031621	312 10 0 03 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1451	031622	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1452	031623	660 02 0 00 400000 	TST17B:	TRO	AC,400000	;SET BIT 18 IN AC.
  1453	031624	200 04 0 00 000002 		MOVE	AC2,AC		;SAVE C(AC) BOR FUTURE COMPARE
  1454									;IF C(AC)+C(E)=(0011)1101
  1455	031625	536 02 0 03 000000 		HRLEM	AC,(AC1)	;C(AC)=(0011)1101, C(E)=(1101)1111
  1456	031626	577 00 0 03 000000 		HLRES	0,(AC1)		;C(AC)=(0011)1101, C(E)=(0011)1101
  1457	031627	502 02 0 03 000000 		HLLM	AC,(AC1)	;C(AC)=(0011)1101, C(E)=(0011)1101
  1458	031630	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=ORIG C(AC).
  1459	031631	001 10 0 00 000004 		ERR	RA,AC2
  1460	031632	312 04 0 03 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=ORIG C(AC)
  1461	031633	002 10 0 00 000004 		ERRM	RA,AC2
  1462	031634	661 02 0 00 400000 		TLO	AC,400000	;SET BIT 0 IN AC.
  1463	031635	200 04 0 00 000002 		MOVE	AC2,AC		;SAVE FOR FUTURE COMPARE
  1464									;IF C(AC)+C(E)=(1010)1101
  1465	031636	576 02 0 03 000000 		HLREM	AC,(AC1)	;C(AC)=(1011)1101, C(E)=(1111)1011
  1466	031637	537 00 0 03 000000 		HRLES	0,(AC1)		;C(AC)=(1011)1101, C(E)=(1011)1111
  1467	031640	542 02 0 03 000000 		HRRM	AC,(AC1)	;C(AC)=(1011)1101, C(E)=(1011)1101
  1468	031641	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=ORIG C(AC).
  1469	031642	001 10 0 00 000004 		ERR	RA,AC2
  1470	031643	312 04 0 03 000000 		CAME	AC2,(AC1)	;C(E) SHOULD = ORIG C(AC).
  1471	031644	002 10 0 00 000004 		ERRM	RA,AC2
  1472	031645	321 01 0 00 031617 		JUMPL	AC-1,TST17B-4	;LOOP ON ERROR SWITCH.
  1473	031646	253 03 0 00 031647 		AOBJN	AC1,.+1
  1474	031647	603 03 0 00 770000 		TLNE	AC1,770000
  1475	031650	254 00 0 00 031614 		JRST	TST17A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 21
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0052

  1476
  1477					;TEST HLLOM, HLLZS, HRROM, HRRZS.  CHECK FOR
  1478					;CORRECT DATA IN AC AND C(E).
  1479					;C(AC)+C(E)=RAN. NUM.
  1480
  1481			000001			AC=1
  1482	031651				TST20:	SETUP^
  1483			000002			AC1=<AC+1>&17
  1484			000003			AC2=<AC+2>&17
  1485			000004			AC3=<AC+3>&17
  1486			000005			AC4=<AC+4>&17
  1487	031651	201 00 0 00 031651 		MOVEI	AC-1,.
  1488	031652	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1489	031653	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1490	031654	202 00 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1491	031655	200 02 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1492	031656				TST20A:	RANDOM^
  1493	031656	270 10 0 00 034236 		ADD	RA,[142536475076]
  1494	031657	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1495	031660	447 10 0 00 000001 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1496	031661	200 01 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1497	031662	202 10 0 02 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1498	031663	312 10 0 02 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1499	031664	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1500	031665	200 03 0 00 000001 	TST20B:	MOVE	AC2,AC		;SIMULATE A
  1501	031666	660 03 0 00 777777 		TRO	AC2,-1		;HLLOM INST
  1502	031667	522 01 0 02 000000 		HLLOM	AC,(AC1)	;DO HLLOM.
  1503	031670	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1504	031671	002 10 0 00 000010 		ERRM	RA,RA
  1505	031672	620 03 0 00 777777 		TRZ	AC2,-1		;SIMULATE A HLLSZ INST.
  1506	031673	513 01 0 02 000000 		HLLZS	AC,(AC1)	;DO A HLLZS.
  1507	031674	312 01 0 00 000003 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS.
  1508	031675	001 10 0 00 000010 		ERR	RA,RA
  1509	031676	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1510	031677	002 10 0 00 000010 		ERRM	RA,RA
  1511	031700	200 01 0 00 000010 		MOVE	AC,RA		;RESTOR C(AC)
  1512	031701	200 03 0 00 000010 		MOVE	AC2,RA		;SIMULATE A
  1513	031702	661 03 0 00 777777 		TLO	AC2,-1		;HRROM INST.
  1514	031703	562 01 0 02 000000 		HRROM	AC,(AC1)	;DO A HRROM.
  1515	031704	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1516	031705	001 10 0 00 000010 		ERR	RA,RA
  1517	031706	621 03 0 00 777777 		TLZ	AC2,-1		;SIMULATE A HRRZS INST.
  1518	031707	553 01 0 02 000000 		HRRZS	AC,(AC1)	;DO A HRRZS INST.
  1519	031710	312 01 0 00 000003 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
  1520	031711	001 10 0 00 000010 		ERR	RA,RA
  1521	031712	312 03 0 02 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1522	031713	002 10 0 00 000010 		ERRM	RA,RA
  1523	031714	321 00 0 00 031661 		JUMPL	AC-1,TST20B-4	;LOOP ON ERROR SWITCH.
  1524	031715	253 02 0 00 031716 		AOBJN	AC1,.+1
  1525	031716	603 02 0 00 770000 		TLNE	AC1,770000
  1526	031717	254 00 0 00 031656 		JRST	TST20A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 22
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0053

  1527
  1528					;TEST HLLOS, HLLZM, HRROS, HRRZM.  CHECK FOR
  1529					;CORRECT DATA IN AC AND C(E).
  1530					;C(AC)+C(E)=RAN. NUM.
  1531
  1532			000002			AC=2
  1533	031720				TST21:	SETUP^
  1534			000003			AC1=<AC+1>&17
  1535			000004			AC2=<AC+2>&17
  1536			000005			AC3=<AC+3>&17
  1537			000006			AC4=<AC+4>&17
  1538	031720	201 01 0 00 031720 		MOVEI	AC-1,.
  1539	031721	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1540	031722	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1541	031723	202 01 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1542	031724	200 03 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1543	031725				TST21A:	RANDOM^
  1544	031725	270 10 0 00 034236 		ADD	RA,[142536475076]
  1545	031726	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1546	031727	447 10 0 00 000002 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1547	031730	200 02 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1548	031731	202 10 0 03 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1549	031732	312 10 0 03 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1550	031733	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1551	031734	200 04 0 00 000002 	TST21B:	MOVE	AC2,AC		;SIMULATE A
  1552	031735	660 04 0 00 777777 		TRO	AC2,-1		;HLLOS INST.
  1553	031736	523 02 0 03 000000 		HLLOS	AC,(AC1)	;DO A HLLOS.
  1554	031737	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
  1555	031740	001 10 0 00 000010 		ERR	RA,RA
  1556	031741	312 04 0 03 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1557	031742	002 10 0 00 000010 		ERRM	RA,RA
  1558	031743	200 05 0 00 000002 		MOVE	AC3,AC		;SAVE C(AC) IN CASE OF ERR.
  1559	031744	620 04 0 00 777777 		TRZ	AC2,-1		;SIMULATE A HLLZM INST.
  1560	031745	512 02 0 03 000000 		HLLZM	AC,(AC1)	;DO A HLLZM
  1561	031746	312 04 0 03 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1562	031747	002 05 0 00 000005 		ERRM	AC3,AC3
  1563	031750	200 02 0 00 000010 		MOVE	AC,RA		;RESTORE C(AC).
  1564	031751	202 02 0 03 000000 		MOVEM	AC,(AC1)	;RESTORE C(E).
  1565	031752	200 04 0 00 000010 		MOVE	AC2,RA		;SIMULATE A
  1566	031753	661 04 0 00 777777 		TLO	AC2,-1		;HRROS INST.
  1567	031754	563 02 0 03 000000 		HRROS	AC,(AC1)	;DO A HRROS
  1568	031755	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
  1569	031756	001 10 0 00 000010 		ERR	RA,RA
  1570	031757	312 04 0 03 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1571	031760	002 10 0 00 000010 		ERRM	RA,RA
  1572	031761	200 05 0 00 000002 		MOVE	AC3,AC		;SAVE C(AC) IN CASE OF ERROR.
  1573	031762	621 04 0 00 777777 		TLZ	AC2,-1		;SIMULATE A HRRZM INST.
  1574	031763	552 02 0 03 000000 		HRRZM	AC,(AC1)	;DO A HRRZM.
  1575	031764	312 04 0 03 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1576	031765	002 05 0 00 000005 		ERRM	AC3,AC3
  1577	031766	321 01 0 00 031730 		JUMPL	AC-1,TST21B-4	;LOOP ON ERROR SWITCH
  1578	031767	253 03 0 00 031770 		AOBJN	AC1,.+1
  1579	031770	603 03 0 00 770000 		TLNE	AC1,770000
  1580	031771	254 00 0 00 031725 		JRST	TST21A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 23
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0054

  1581
  1582					;TEST HLLEM, HRRES.  CHECK C(AC)+C(E)
  1583					;FOR CORRECT DATA.
  1584					;C(AC) HAS SIGN BIT SET.
  1585
  1586			000003			AC=3
  1587	031772				TST22:	SETUP^
  1588			000004			AC1=<AC+1>&17
  1589			000005			AC2=<AC+2>&17
  1590			000006			AC3=<AC+3>&17
  1591			000007			AC4=<AC+4>&17
  1592	031772	201 02 0 00 031772 		MOVEI	AC-1,.
  1593	031773	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1594	031774	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1595	031775	202 02 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1596	031776	200 04 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1597	031777				TST22A:	RANDOM^
  1598	031777	270 10 0 00 034236 		ADD	RA,[142536475076]
  1599	032000	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1600	032001	447 10 0 00 000003 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1601	032002	200 03 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1602	032003	202 10 0 04 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1603	032004	312 10 0 04 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1604	032005	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1605	032006	661 03 0 00 400000 	TST22B:	TLO	AC,400000	;SET SIGN BIT IN AC.
  1606	032007	200 06 0 00 000003 		MOVE	AC3,AC		;SAVE FOR FUTURE COMPARE.
  1607	032010	200 05 0 00 000003 		MOVE	AC2,AC		;SIMULATE A HLLEM
  1608	032011	660 05 0 00 777777 		TRO	AC2,-1		;WITH SIGN BIT SET.
  1609	032012	532 03 0 04 000000 		HLLEM	AC,(AC1)	;DO A HLLEM.
  1610	032013	312 03 0 00 000006 		CAME	AC,AC3		;C(AC) SHOULD=ORIG. C(AC).
  1611	032014	001 10 0 00 000006 		ERR	RA,AC3		;C(AC) GOT MODIFIED.
  1612	032015	312 05 0 04 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1613	032016	002 10 0 00 000006 		ERRM	RA,AC3
  1614	032017	474 07 0 00 000000 		SETO	AC4,		;SIMULATE HRRES WITH BIT 18 A ONE.
  1615	032020	573 03 0 04 000000 		HRRES	AC,(AC1)	;DO A HRRES.
  1616	032021	312 07 0 04 000000 		CAME	AC4,(AC1)	;C(E) SHOULD=-1.
  1617	032022	002 05 0 00 000006 		ERRM	AC2,AC3
  1618	032023	312 03 0 04 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1619	032024	001 05 0 00 000006 		ERR	AC2,AC3
  1620	032025	321 02 0 00 032002 		JUMPL	AC-1,TST22B-4	;LOOP ON ERROR SWITCH.
  1621	032026	253 04 0 00 032027 		AOBJN	AC1,.+1
  1622	032027	603 04 0 00 770000 		TLNE	AC1,770000
  1623	032030	254 00 0 00 031777 		JRST	TST22A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 24
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0055

  1624
  1625					;TEST HLLEM, HRRES.  CHECK C(AC)+C(E)
  1626					;FOR CORRECT DATA
  1627					;C(AC) HAS SIGN BIT CLEAR.
  1628
  1629			000012			AC=12
  1630	032031				TST23:	SETUP^
  1631			000013			AC1=<AC+1>&17
  1632			000014			AC2=<AC+2>&17
  1633			000015			AC3=<AC+3>&17
  1634			000016			AC4=<AC+4>&17
  1635	032031	201 11 0 00 032031 		MOVEI	AC-1,.
  1636	032032	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1637	032033	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1638	032034	202 11 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1639	032035	200 13 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1640	032036				TST23A:	RANDOM^
  1641	032036	270 10 0 00 034236 		ADD	RA,[142536475076]
  1642	032037	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1643	032040	447 10 0 00 000012 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1644	032041	200 12 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1645	032042	202 10 0 13 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1646	032043	312 10 0 13 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1647	032044	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1648	032045	621 12 0 00 400000 	TST23B:	TLZ	AC,400000	;CLEAR SIGN BIT IN AC
  1649	032046	200 15 0 00 000012 		MOVE	AC3,AC		;SAVE FOR FUTURE COMPARE
  1650	032047	200 14 0 00 000012 		MOVE	AC2,AC		;SIMULATE A HLLEM
  1651	032050	620 14 0 00 777777 		TRZ	AC2,-1		;WITH SIGN BIT CLEAR.
  1652	032051	532 12 0 13 000000 		HLLEM	AC,(AC1)	;DO A HLLEM.
  1653	032052	312 12 0 00 000015 		CAME	AC,AC3		;C(AC) SHOULD=ORIG. C(AC)
  1654	032053	001 10 0 00 000015 		ERR	RA,AC3
  1655	032054	312 14 0 13 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1656	032055	002 10 0 00 000015 		ERRM	RA,AC3
  1657	032056	400 16 0 00 000000 		SETZ	AC4,		;SIMULATE HRRES WITH BIT 18 CLEAR.
  1658	032057	573 12 0 13 000000 		HRRES	AC,(AC1)	;DO A HRRES INST.
  1659	032060	312 16 0 13 000000 		CAME	AC4,(AC1)	;C(E) SHOULD=SIM. ANS.
  1660	032061	002 14 0 00 000015 		ERRM	AC2,AC3
  1661	032062	312 12 0 13 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1662	032063	001 14 0 00 000015 		ERR	AC2,AC3
  1663	032064	321 11 0 00 032041 		JUMPL	AC-1,TST23B-4	;LOOP ON ERROR SWITCH
  1664	032065	253 13 0 00 032066 		AOBJN	AC1,.+1
  1665	032066	603 13 0 00 770000 		TLNE	AC1,770000
  1666	032067	254 00 0 00 032036 		JRST	TST23A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 25
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0056

  1667
  1668					;TEST HRREM, HLLES.  CHECK C(AC)+C(E)
  1669					;FOR CORRECT DATA.
  1670					;C(AC) HAS BIT 18 SET.
  1671
  1672			000012			AC=12
  1673	032070				TST24:	SETUP^
  1674			000013			AC1=<AC+1>&17
  1675			000014			AC2=<AC+2>&17
  1676			000015			AC3=<AC+3>&17
  1677			000016			AC4=<AC+4>&17
  1678	032070	201 11 0 00 032070 		MOVEI	AC-1,.
  1679	032071	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1680	032072	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1681	032073	202 11 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1682	032074	200 13 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1683	032075				TST24A:	RANDOM^
  1684	032075	270 10 0 00 034236 		ADD	RA,[142536475076]
  1685	032076	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1686	032077	447 10 0 00 000012 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1687	032100	200 12 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1688	032101	202 10 0 13 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1689	032102	312 10 0 13 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1690	032103	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1691	032104	660 12 0 00 400000 	TST24B:	TRO	AC,400000	;SET BIT 18 IN AC.
  1692	032105	200 15 0 00 000012 		MOVE	AC3,AC		;SAVE C(AC) FOR FUTURE COMPARE
  1693	032106	200 14 0 00 000012 		MOVE	AC2,AC		;SIMULATE A HRREM
  1694	032107	661 14 0 00 777777 		TLO	AC2,-1		;WITH BIT 18 SET.
  1695	032110	572 12 0 13 000000 		HRREM	AC,(AC1)	;DO A HRREM
  1696	032111	312 12 0 00 000015 		CAME	AC,AC3		;C(AC) SHOULD=ORIG. C(AC)
  1697	032112	001 10 0 00 000015 		ERR	RA,AC3
  1698	032113	312 14 0 13 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1699	032114	002 10 0 00 000015 		ERRM	RA,AC3
  1700	032115	474 16 0 00 000000 		SETO	AC4,		;SIMULATE A HLLES WITH SIGN BIT SET.
  1701	032116	533 12 0 13 000000 		HLLES	AC,(AC1)	;DO A HLLES
  1702	032117	312 16 0 13 000000 		CAME	AC4,(AC1)	;C(E) SHOULD=-1.
  1703	032120	002 14 0 00 000015 		ERRM	AC2,AC3
  1704	032121	312 12 0 13 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1705	032122	001 14 0 00 000015 		ERR	AC2,AC3
  1706	032123	321 11 0 00 032100 		JUMPL	AC-1,TST24B-4	;LOOP ON ERROR SWITCH
  1707	032124	253 13 0 00 032125 		AOBJN	AC1,.+1
  1708	032125	603 13 0 00 770000 		TLNE	AC1,770000
  1709	032126	254 00 0 00 032075 		JRST	TST24A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 26
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0057

  1710
  1711					;TEST HRREM, HLLES.  CHECK C(AC)+C(E)
  1712					;FOR CORRECT DATA.
  1713					;C(AC) HAS BIT 18 CLEAR.
  1714
  1715			000003			AC=3
  1716	032127				TST25:	SETUP^
  1717			000004			AC1=<AC+1>&17
  1718			000005			AC2=<AC+2>&17
  1719			000006			AC3=<AC+3>&17
  1720			000007			AC4=<AC+4>&17
  1721	032127	201 02 0 00 032127 		MOVEI	AC-1,.
  1722	032130	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1723	032131	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1724	032132	202 02 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1725	032133	200 04 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1726	032134				TST25A:	RANDOM^
  1727	032134	270 10 0 00 034236 		ADD	RA,[142536475076]
  1728	032135	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1729	032136	447 10 0 00 000003 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1730	032137	200 03 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1731	032140	202 10 0 04 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1732	032141	312 10 0 04 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1733	032142	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1734	032143	620 03 0 00 400000 	TST25B:	TRZ	AC,400000	;CLEAR BIT 18 ON AC.
  1735	032144	200 06 0 00 000003 		MOVE	AC3,AC		;SAVE C(AC) FOR FUTURE COMPARE.
  1736	032145	200 05 0 00 000003 		MOVE	AC2,AC		;SIMULATE A HRREM
  1737	032146	621 05 0 00 777777 		TLZ	AC2,-1		;WITH BIT 18 CLEAR.
  1738	032147	572 03 0 04 000000 		HRREM	AC,(AC1)	;DO A HRREM
  1739	032150	312 03 0 00 000006 		CAME	AC,AC3		;C(AC) SHOULD=ORIG C(AC)
  1740	032151	001 10 0 00 000006 		ERR	RA,AC3
  1741	032152	312 05 0 04 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1742	032153	002 10 0 00 000006 		ERRM	RA,AC3
  1743	032154	400 07 0 00 000000 		SETZ	AC4,		;SIMULATE A HLLES WITH SIGN BIT CLEAR.
  1744	032155	533 03 0 04 000000 		HLLES	AC,(AC1)	;DO A HLLES
  1745	032156	312 07 0 04 000000 		CAME	AC4,(AC1)	;C(E) SHOULD=0
  1746	032157	002 05 0 00 000006 		ERRM	AC2,AC3
  1747	032160	312 03 0 04 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1748	032161	001 05 0 00 000006 		ERR	AC2,AC3
  1749	032162	321 02 0 00 032137 		JUMPL	AC-1,TST25B-4	;LOOP ON ERROR SWITCH
  1750	032163	253 04 0 00 032164 		AOBJN	AC1,.+1
  1751	032164	603 04 0 00 770000 		TLNE	AC1,770000
  1752	032165	254 00 0 00 032134 		JRST	TST25A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 27
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0058

  1753
  1754					;TEST ORCBB, ANDCMB, SETOM, SETZB, SETOB.  CHECK
  1755					;FOR CORRECT DATA IN AC AND C(E).
  1756
  1757			000004			AC=4
  1758	032166				TST26:	SETUP^
  1759			000005			AC1=<AC+1>&17
  1760			000006			AC2=<AC+2>&17
  1761			000007			AC3=<AC+3>&17
  1762			000010			AC4=<AC+4>&17
  1763	032166	201 03 0 00 032166 		MOVEI	AC-1,.
  1764	032167	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1765	032170	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1766	032171	202 03 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1767	032172	200 05 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1768	032173				TST26A:	RANDOM^
  1769	032173	270 10 0 00 034236 		ADD	RA,[142536475076]
  1770	032174	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1771	032175	447 10 0 00 000004 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1772	032176	200 04 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1773	032177	202 10 0 05 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1774	032200	312 10 0 05 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1775	032201	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1776	032202	460 06 0 00 000004 	TST26B:	SETCM	AC2,AC		;SIMULATE A ORCBB...1'S COMP.
  1777	032203	473 04 0 05 000000 		ORCBB	AC,(AC1)	;DO ORCBB
  1778	032204	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
  1779	032205	001 10 0 00 000010 		ERR	RA,RA
  1780	032206	312 06 0 05 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1781	032207	002 10 0 00 000010 		ERRM	RA,RA
  1782	032210	201 07 0 00 000000 		MOVEI	AC3,0		;SIMULATE ANDCMB...AND 1'S COMP
  1783	032211	423 04 0 05 000000 		ANDCMB	AC,(AC1)	;OF A NUMBER WITH THAT NUMBER
  1784	032212	312 04 0 00 000007 		CAME	AC,AC3		;SHOULD=0
  1785	032213	001 06 0 00 000006 		ERR	AC2,AC2
  1786	032214	312 07 0 05 000000 		CAME	AC3,(AC1)	;C(E) SHOULD=0
  1787	032215	002 06 0 00 000006 		ERRM	AC2,AC2
  1788	032216	200 06 0 00 034237 		MOVE	AC2,[-1]	;SIMULATE SETOM.
  1789	032217	476 04 0 05 000000 		SETOM	AC,(AC1)	;DO SETOM.
  1790	032220	312 04 0 00 000007 		CAME	AC,AC3		;C(AC)SHOULD STILL=0.
  1791	032221	001 07 0 00 000007 		ERR	AC3,AC3
  1792	032222	312 06 0 05 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=-1
  1793	032223	002 07 0 00 000007 		ERRM	AC3,AC3
  1794	032224	403 04 0 05 000000 		SETZB	AC,(AC1)	;DO SETZB
  1795	032225	312 04 0 00 000007 		CAME	AC,AC3		;C(AC) SHOULD=0
  1796	032226	001 06 0 00 000007 		ERR	AC2,AC3
  1797	032227	312 07 0 05 000000 		CAME	AC3,(AC1)	;C(E) SHOULD=0
  1798	032230	002 06 0 00 000007 		ERRM	AC2,AC3
  1799	032231	477 04 0 05 000000 		SETOB	AC,(AC1)	;DO A SETOB.
  1800	032232	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=-1
  1801	032233	001 07 0 00 000007 		ERR	AC3,AC3
  1802	032234	312 06 0 05 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=-1
  1803	032235	002 07 0 00 000007 		ERRM	AC3,AC3
  1804	032236	321 03 0 00 032176 		JUMPL	AC-1,TST26B-4	;LOOP ON ERROR SWITCH.
  1805	032237	253 05 0 00 032240 		AOBJN	AC1,.+1
  1806	032240	603 05 0 00 770000 		TLNE	AC1,770000
  1807	032241	254 00 0 00 032173 		JRST	TST26A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 28
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0059

  1808
  1809					;TEST AOS, SOA, TDC, TDCA, TSC, TSCA.  CHECK
  1810					;FOR CORRECT DATA IN AC AND C(E)
  1811					;C(AC) AND C(E)=RAN. NUM.
  1812
  1813			000005			AC=5
  1814	032242				TST27:	SETUP^
  1815			000006			AC1=<AC+1>&17
  1816			000007			AC2=<AC+2>&17
  1817			000010			AC3=<AC+3>&17
  1818			000011			AC4=<AC+4>&17
  1819	032242	201 04 0 00 032242 		MOVEI	AC-1,.
  1820	032243	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1821	032244	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1822	032245	202 04 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1823	032246	200 06 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1824	032247				TST27A:	RANDOM^
  1825	032247	270 10 0 00 034236 		ADD	RA,[142536475076]
  1826	032250	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1827	032251	447 10 0 00 000005 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1828	032252	200 05 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1829	032253	202 10 0 06 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1830	032254	312 10 0 06 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1831	032255	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1832	032256	350 05 0 06 000000 	TST27B:	AOS	AC,(AC1)	;ADD ONE TO AC+C(E) AND NO SKIP.
  1833	032257	374 05 0 06 000000 		SOSA	AC,(AC1)	;SUB ONE FROM AC+C(E) AND SKIP.
  1834	032260	005 05 0 00 034240 		ER	AC,[ASCII/AOS/]
  1835	032261	312 05 0 06 000000 		CAME	AC,(AC1)	;C(AC)SHOULD=C(E).
  1836	032262	001 10 0 00 000010 		ERR	RA,RA		;C(E) DID NOT GET STORED IN AC CORRECTLY
  1837	032263	312 05 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD=ORIG. C(AC).
  1838	032264	001 10 0 00 000010 		ERR	RA,RA
  1839	032265	650 05 0 06 000000 		TDC	AC,(AC1)	;SHOULD NOT SKIP
  1840	032266	654 05 0 06 000000 		TDCA	AC,(AC1)	;SHOULD ALWAYS SKIP.
  1841	032267	005 05 0 00 034241 		ER	AC,[ASCII/TST/]
  1842	032270	312 05 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD=ORIG C(AC).
  1843	032271	001 10 0 00 000010 		ERR	RA,RA
  1844	032272	651 05 0 06 000000 		TSC	AC,(AC1)	;SHOULD NOT SKIP.
  1845	032273	655 05 0 06 000000 		TSCA	AC,(AC1)	;SHOULD ALWAYS SKIP.
  1846	032274	005 05 0 00 034241 		ER	AC,[ASCII/TST/]
  1847	032275	312 05 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD=ORIG C(AC).
  1848	032276	001 10 0 00 000010 		ERR	RA,RA
  1849	032277	321 04 0 00 032252 		JUMPL	AC-1,TST27B-4	;LOOP ON ERROR SWITCH.
  1850	032300	253 06 0 00 032301 		AOBJN	AC1,.+1
  1851	032301	603 06 0 00 770000 		TLNE	AC1,770000
  1852	032302	254 00 0 00 032247 		JRST	TST27A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 29
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0060

  1853
  1854					;TEST MOVMM, MOVMS.  CHECK FOR
  1855					;CORRECT DATA IN AC AND C(E).
  1856					;C(AC)+C(E)=RAN. NUM.
  1857
  1858			000003			AC=3
  1859	032303				TST30:	SETUP^
  1860			000004			AC1=<AC+1>&17
  1861			000005			AC2=<AC+2>&17
  1862			000006			AC3=<AC+3>&17
  1863			000007			AC4=<AC+4>&17
  1864	032303	201 02 0 00 032303 		MOVEI	AC-1,.
  1865	032304	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1866	032305	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1867	032306	202 02 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1868	032307	200 04 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1869	032310				TST30A:	RANDOM^
  1870	032310	270 10 0 00 034236 		ADD	RA,[142536475076]
  1871	032311	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1872	032312	447 10 0 00 000003 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1873	032313	200 03 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1874	032314	202 10 0 04 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1875	032315	312 10 0 04 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1876	032316	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1877	032317	460 05 0 00 000003 	TST30B:	SETCM	AC2,AC		;SIMULATE A MOVM
  1878	032320	271 05 0 00 000001 		ADDI	AC2,1		;WITH SIGN BIT SET.
  1879	032321	607 03 0 00 400000 		TLNN	AC,400000	;SKIP IF SIGN BIT SET.
  1880	032322	200 05 0 00 000003 		MOVE	AC2,AC		;SIM. MOVM WITH SIGN BIT CLEAR.
  1881	032323	216 03 0 04 000000 		MOVMM	AC,(AC1)	;DO A MOVMM
  1882	032324	312 03 0 00 000010 		CAME	AC,RA		;C(AC) SHOULD=ORIG. C(AC)
  1883	032325	001 10 0 00 000010 		ERR	RA,RA		;C(AC) GOT MODIFIED.
  1884	032326	312 05 0 04 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1885	032327	002 10 0 00 000010 		ERRM	RA,RA
  1886	032330	202 10 0 04 000000 		MOVEM	RA,(AC1)	;RESTORE C(E).
  1887	032331	217 03 0 04 000000 		MOVMS	AC,(AC1)	;DO A MOVMS
  1888	032332	312 03 0 04 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1889	032333	001 10 0 00 000010 		ERR	RA,RA
  1890	032334	312 05 0 04 000000 		CAME	AC2,(AC1)	;C(E) SHOULD=SIM. ANS.
  1891	032335	002 10 0 00 000010 		ERRM	RA,RA
  1892	032336	321 02 0 00 032313 		JUMPL	AC-1,TST30B-4	;LOOP ON ERROR SWITCH
  1893	032337	253 04 0 00 032340 		AOBJN	AC1,.+1
  1894	032340	603 04 0 00 770000 		TLNE	AC1,770000
  1895	032341	254 00 0 00 032310 		JRST	TST30A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 30
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0061

  1896
  1897					;TEST ADDM, SUBB, ADDB, SUBM. CHECK FOR
  1898					;CORRECT DATA IN AC AND C(E)
  1899					;C(AC) AND C(E)=RAN. NUM.
  1900
  1901			000001			AC=1
  1902	032342				TST31:	SETUP^
  1903			000002			AC1=<AC+1>&17
  1904			000003			AC2=<AC+2>&17
  1905			000004			AC3=<AC+3>&17
  1906			000005			AC4=<AC+4>&17
  1907	032342	201 00 0 00 032342 		MOVEI	AC-1,.
  1908	032343	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1909	032344	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1910	032345	202 00 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1911	032346	200 02 0 00 034411 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1912	032347				TST31A:	RANDOM^
  1913	032347	270 10 0 00 034236 		ADD	RA,[142536475076]
  1914	032350	241 10 0 00 777777 		ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
  1915	032351	447 10 0 00 000001 		EQVB	RA,AC		;IN BOTH RA AND AC.
  1916	032352	200 01 0 00 000010 		MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
  1917	032353	202 10 0 02 000000 		MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
  1918	032354	312 10 0 02 000000 		CAME	RA,(AC1)	;DID IT MAKE IT ?
  1919	032355	002 10 0 00 000010 		ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. ^
  1920	032356	272 01 0 02 000000 	TST31B:	ADDM	AC,(AC1)	;DO AN ADDM.
  1921	032357	200 03 0 02 000000 		MOVE	AC2,(AC1)	;PUT ANS INTO AC2
  1922	032360	202 01 0 02 000000 		MOVEM	AC,(AC1)	;AND RESTORE C(E)
  1923	032361	277 03 0 02 000000 		SUBB	AC2,(AC1)	;DO A SUBB.
  1924	032362	312 03 0 00 000010 		CAME	AC2,RA		;C(AC2) SHOULD=ORIG C(AC).
  1925	032363	001 10 0 00 000010 		ERR	RA,RA
  1926	032364	312 10 0 02 000000 		CAME	RA,(AC1)	;C(E) SHOULD=ORIG. C(E)
  1927	032365	002 10 0 00 000010 		ERRM	RA,RA
  1928	032366	273 01 0 02 000000 		ADDB	AC,(AC1)	;DO AN ADDB.
  1929	032367	312 01 0 02 000000 		CAME	AC,(AC1)	;C(AC) SHOULD=C(E).
  1930	032370	001 10 0 00 000010 		ERR	RA,RA
  1931	032371	202 10 0 02 000000 		MOVEM	RA,(AC1)	;RESTORE C(E).
  1932	032372	276 01 0 02 000000 		SUBM	AC,(AC1)	;DO A SUBM.
  1933	032373	312 10 0 02 000000 		CAME	RA,(AC1)	;C(E) SHOULD=ORIG. C(E)
  1934	032374	002 10 0 00 000010 		ERRM	RA,RA
  1935	032375	321 00 0 00 032352 		JUMPL	AC-1,TST31B-4	;LOOP ON ERROR SWITCH
  1936	032376	253 02 0 00 032377 		AOBJN	AC1,.+1
  1937	032377	603 02 0 00 770000 		TLNE	AC1,770000
  1938	032400	254 00 0 00 032347 		JRST	TST31A		;INC TO TEST NEXT LOC.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 31
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0062

  1939					;TEST JRST. PUT A JSP BACK TO THE PROGRAM
  1940					;IN EVERY LOCATION FROM THE END OF PROGRAM TO
  1941					;THE DESIGNATED END OF MEMORY. PUT A JRST
  1942					;BACK TO PROGRAM IN EACH LOC THAT THE JRST,
  1943					;IN THE PROGRAM, POINTS TO. THIS WAY IF
  1944					;THE JRST DOES NOT GO TO THE RIGHT LOC
  1945					;IN MEMORY, A JSP WILL STORE THE LOC
  1946					;IT DID GO TO.
  1947
  1948			000001			AC=1
  1949	032401				JRST1:	SETUP1	1,1^
  1950			000002			AC1=<AC+1>&17
  1951			000003			AC2=<AC+2>&17
  1952			000004			AC3=<AC+3>&17
  1953			000005			AC4=<AC+4>&17
  1954			000006			AC5=<AC+5>&17
  1955			000017			RAN1=<AC-2>&17
  1956	032401	201 00 0 00 032401 		MOVEI	AC-1,.
  1957	032402	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1958	032403	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1959	032404	202 00 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1960	032405	201 00 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  1961	032406	240 00 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  1962	032407	240 00 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1963	032410	200 01 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  1964	032411	200 05 0 00 034242 		MOVE	AC4,[JSP AC3,JRST5]	;JSP AC3, JRST5
  1965	032412	202 05 0 01 000000 		MOVEM	AC4,(AC)	;FROM END OF PROG
  1966	032413	253 01 0 00 032414 		AOBJN	AC,.+1
  1967	032414	603 01 0 00 770000 		TLNE	AC,770000
  1968	032415	254 00 0 00 032412 		JRST	.-3
  1969	032416	200 02 0 00 034425 	JRST1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  1970	032417	200 03 0 00 034243 		MOVE	AC2,[JRST JRST4]	;PUT A JRST JRST4 INTO
  1971	032420	202 03 0 02 000000 	JRST2:	MOVEM	AC2,(AC1)	;CURRENT MEM LOC UNDER TEST.
  1972	032421	254 00 0 02 000000 	JRST3:	JRST	(AC1)		;DO THE JRST OUT TO MEM.
  1973	032422	005 00 0 00 034244 		ER	,[ASCII/JRST/]	;PC GOT INC INSTEAD OF MEM ADDRESS.
  1974	032423	254 00 0 00 032426 	JRST4:	JRST	.+3		;JRST FOUND A JRST AND CAME BACK OK
  1975	032424	360 04 0 00 000000 	JRST5:	SOJ	AC3,		;JRST WENT TO WRONG LOC AND
  1976	032425	007 04 0 02 000000 		ERMM	AC3,(AC1)	;A JSP CAME BACK HERE.
  1977	032426	321 00 0 00 032421 		JUMPL	AC-1,JRST3	;LOOP ON ERROR SWITCH.
  1978	032427	202 05 0 02 000000 		MOVEM	AC4,(AC1)	;REPLACE CURRENT LOC WITH JSP.
  1979	032430	253 02 0 00 032431 		AOBJN	AC1,.+1
  1980	032431	603 02 0 00 770000 		TLNE	AC1,770000
  1981	032432	254 00 0 00 032420 		JRST	JRST2		;INC TO TEST NEXT LOC.
  1982	032433	367 00 0 00 032416 		SOJG	AC-1,JRST1A	;ITERATION COUNTER.
  1983
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 32
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0063

  1984
  1985					;TEST JSP. PUT A JSP BACK TO PROGRAM IN EACH
  1986					;LOCATION FROM THE END OF PROGRAM TO THE DESIGNATED
  1987					;END OF MEMORY. IF THE JSP DOES NOT GO TO THE RIGHT
  1988					;LOC IN MEMORY, THE JSP BACK WILL STORE THE LOC IT
  1989					;DID GO TO. CHECK C(AC) FOR CORRECT FLAGS IN THE LEFT
  1990					;SIDE AND E+1 IN THE RIGHT.
  1991
  1992			000002			AC=2
  1993	032434				JSP1:	SETUP1	1,1^
  1994			000003			AC1=<AC+1>&17
  1995			000004			AC2=<AC+2>&17
  1996			000005			AC3=<AC+3>&17
  1997			000006			AC4=<AC+4>&17
  1998			000007			AC5=<AC+5>&17
  1999			000000			RAN1=<AC-2>&17
  2000	032434	201 01 0 00 032434 		MOVEI	AC-1,.
  2001	032435	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2002	032436	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2003	032437	202 01 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2004	032440	201 01 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2005	032441	240 01 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2006	032442	240 01 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2007	032443	200 02 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2008	032444	200 03 0 00 034245 		MOVE	AC1,[JSP AC,JSP3]	;JSP AC,JSP3
  2009	032445	202 03 0 02 000000 		MOVEM	AC1,(AC)	;FROM END OF PROG.
  2010	032446	253 02 0 00 032447 		AOBJN	AC,.+1
  2011	032447	603 02 0 00 770000 		TLNE	AC,770000
  2012	032450	254 00 0 00 032445 		JRST	.-3
  2013	032451	200 03 0 00 034425 	JSP1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2014	032452	200 04 0 00 030675 		MOVE	AC2,FLAGS	;MOVE ALL FLAGS BITS BUT USER MODE
  2015	032453	254 02 0 04 032454 		JRST	2,.+1(AC2)	;INTO AC2 AND SET THESE FLAGS.
  2016	032454	513 00 0 00 000004 	JSP2:	HLLZS	AC2		;SIMULATE JSP...
  2017	032455	541 04 0 03 000001 		HRRI	AC2,1(AC1)	;(FLAGS, MEM LOC+1).
  2018	032456	477 02 0 00 000000 		SETOB	AC,RAN1		;MAKE C(AC)=-1.
  2019	032457	265 02 0 03 000000 		JSP	AC,(AC1)	;DO A JSP TO MEM.
  2020	032460	621 02 0 00 012000 	JSP3:	TLZ	AC,USERF!LIP	;CLEAR USER MODE BIT IN AC IF ON.
  2021	032461	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
  2022	032462	003 00 0 03 000000 		ERRI	RAN1,(AC1)	;
  2023	032463	321 01 0 00 032454 		JUMPL	AC-1,JSP2	;LOOP ON ERROR SWITCH.
  2024	032464	253 03 0 00 032465 		AOBJN	AC1,.+1
  2025	032465	603 03 0 00 770000 		TLNE	AC1,770000
  2026	032466	254 00 0 00 032454 		JRST	JSP2		;INC TO TEST NEXT LOC.
  2027	032467	367 01 0 00 032451 		SOJG	AC-1,JSP1A	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 33
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0064

  2028
  2029					;TEST JSR.
  2030					;PUT A JSP BACK TO THE PROGRAM IN EVERY LOCATION
  2031					;FROM THE END OF THE PROGRAM TO THE DESIGNATED
  2032					;END OF MEMORY. IF THE JSR DOES NOT GO TO THE
  2033					;RIGHT LOC IN MEMORY, THE JSP WILL STORE THE LOC
  2034					;IT DID GO TO. ALSO CHECK FOR NO MODIFICATION OF AC.
  2035
  2036			000003			AC=3
  2037	032470				JSRA:	SETUP1	1,1^
  2038			000004			AC1=<AC+1>&17
  2039			000005			AC2=<AC+2>&17
  2040			000006			AC3=<AC+3>&17
  2041			000007			AC4=<AC+4>&17
  2042			000010			AC5=<AC+5>&17
  2043			000001			RAN1=<AC-2>&17
  2044	032470	201 02 0 00 032470 		MOVEI	AC-1,.
  2045	032471	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2046	032472	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2047	032473	202 02 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2048	032474	201 02 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2049	032475	240 02 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2050	032476	240 02 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2051	032477	200 03 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2052	032500	200 05 0 00 034246 		MOVE	AC2,[JSP AC4,JSRD]	;JSP AC4, JSRD
  2053	032501	202 05 0 03 000000 		MOVEM	AC2,(AC)	;FROM END OF PROG
  2054	032502	253 03 0 00 032503 		AOBJN	AC,.+1
  2055	032503	603 03 0 00 770000 		TLNE	AC,770000
  2056	032504	254 00 0 00 032501 		JRST	.-3
  2057	032505	200 04 0 00 034425 	JSPA1:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2058	032506	270 04 0 00 034233 		ADD	AC1,[XWD 1,0]	;ADD ONE TO LEFT...PREVENT NON EX MEM.
  2059	032507	477 03 0 00 000001 	JSRB:	SETOB	AC,RAN1		;SET C(AC) TO ALL ONES.
  2060	032510	264 03 0 04 000000 	JSRC:	JSR	AC,(AC1)	;DO THE JSR TO MEM.
  2061	032511	312 03 0 00 000001 	JSRD:	CAME	AC,RAN1		;C(AC) SHOULD STILL= -1.
  2062	032512	001 05 0 00 000001 		ERR	AC2,RAN1	;C(AC)GOT MODIFIED
  2063	032513	553 00 0 00 000007 		HRRZS	AC4		;JSP STORED PC IN AC4.
  2064	032514	302 07 0 04 000002 		CAIE	AC4,2(AC1)	;C(AC4) SHOULD=MEM LOC+2.
  2065	032515	007 07 0 04 000002 		ERMM	AC4,2(AC1)	;JSR WENT TO WRONG LOC.
  2066	032516	321 02 0 00 032507 		JUMPL	AC-1,JSRB	;LOOP ON ERROR SWITCH.
  2067	032517	202 05 0 04 000000 		MOVEM	AC2,(AC1)	;RESTORE JSP IN CURRENT LOC.
  2068	032520	253 04 0 00 032521 		AOBJN	AC1,.+1
  2069	032521	603 04 0 00 770000 		TLNE	AC1,770000
  2070	032522	254 00 0 00 032510 		JRST	JSRC		;INC TO TEST NEXT LOC.
  2071	032523	367 02 0 00 032505 		SOJG	AC-1,JSPA1	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 34
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0065

  2072
  2073					;TEST JSR.
  2074					;CHECK FOR NO MODIFICATION OF AC AND JSR GOING
  2075					;TO THE CORRECT LOCATION IN MEMORY. PUT A
  2076					;JSR BACK TO JSR+1,IN PROG,IN EVERY LOCATION
  2077					;IN MEMORY FROM THE END OF THE PROGRAM TO THE
  2078					;DESIGNATED END OF MEMORY. IF THE JSR GOES TO
  2079					;THE WRONG LOC IN MEMORY, THE JSR IN MEM WILL
  2080					;STORE THE LOC IT DID GO TO +2 IN THE PROG.
  2081
  2082			000004			AC=4
  2083	032524				JSR1:	SETUP1	 1,1^
  2084			000005			AC1=<AC+1>&17
  2085			000006			AC2=<AC+2>&17
  2086			000007			AC3=<AC+3>&17
  2087			000010			AC4=<AC+4>&17
  2088			000011			AC5=<AC+5>&17
  2089			000002			RAN1=<AC-2>&17
  2090	032524	201 03 0 00 032524 		MOVEI	AC-1,.
  2091	032525	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2092	032526	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2093	032527	202 03 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2094	032530	201 03 0 00 000001 		MOVEI	AC-1, 1		;ROUTINE WEIGHTING
  2095	032531	240 03 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2096	032532	240 03 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2097	032533	200 04 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2098	032534	200 10 0 00 034247 		MOVE	AC4,[JSR JSR4]	;JSR JSR4
  2099	032535	202 10 0 04 000000 		MOVEM	AC4,(AC)	;FROM END OF PROG
  2100	032536	253 04 0 00 032537 		AOBJN	AC,.+1
  2101	032537	603 04 0 00 770000 		TLNE	AC,770000
  2102	032540	254 00 0 00 032535 		JRST	.-3
  2103	032541	200 05 0 00 034425 	JSR1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2104	032542	270 05 0 00 034233 		ADD	AC1,[XWD 1,0]	;ADD ONE TO LEFT...PREVENT NONEX MEM.
  2105	032543	200 06 0 00 030675 		MOVE	AC2,FLAGS	;MOVE FLAGS, EXCEPT USER MODE, BITS
  2106	032544	254 02 0 06 032545 		JRST	2,.+1(AC2)	;INTO AC2 AND SET THESE FLAGS.
  2107	032545	265 07 0 00 032546 		JSP	AC3,.+1		;DO A JSP TO GET FLAGS
  2108	032546	603 07 0 00 010000 		TLNE	AC3,USERF	;USER MODE BIT ON?
  2109	032547	661 06 0 00 010000 		TLO	AC2,USERF	;YES. SET USER MODE BIT FOR COMPARE.
  2110	032550	603 07 0 00 002000 		TLNE	AC3,LIP		;LIP BIT ON ?
  2111	032551	661 06 0 00 002000 		TLO	AC2,LIP		;YES, SET LIP
  2112	032552	477 04 0 00 000002 	JSR2:	SETOB	AC,RAN1		;SET C(AC) TO ALL ONES.
  2113	032553	541 06 0 05 000002 	JSR3:	HRRI	AC2,2(AC1)	;SETUP RIGHT SIDE OF  AC TO=PC+1... SIM. ANS.
  2114	032554	264 04 0 05 000000 		JSR	AC,(AC1)	;DO A JSR TO MEM.
  2115	032555	000000	000000		JSR4:	0			;JSR IN MEM COMES HERE AND STORES (FLAGS, PC+2)
  2116	032556	312 04 0 00 000002 		CAME	AC,RAN1		;C(AC) SHOULD STILL= -1.
  2117	032557	001 10 0 00 000002 		ERR	AC4,RAN1	;C(AC) GOT MODIFIED.
  2118	032560	312 06 0 00 032555 		CAME	AC2,JSR4	;C(JSR4) SHOULD=SIM. ANS.
  2119	032561	002 10 0 00 000002 		ERRM	AC4,RAN1	;JSR WENT TO WRONG LOC OR FLAGS CHANGED.
  2120	032562	321 03 0 00 032552 		JUMPL	AC-1,JSR2	;LOOP ON ERROR SWITCH
  2121	032563	202 10 0 05 000000 		MOVEM	AC4,(AC1)	;RESTORE JSR IN MEM.
  2122	032564	253 05 0 00 032565 		AOBJN	AC1,.+1
  2123	032565	603 05 0 00 770000 		TLNE	AC1,770000
  2124	032566	254 00 0 00 032553 		JRST	JSR3		;INC TO TEST NEXT LOC.
  2125	032567	367 03 0 00 032541 		SOJG	AC-1,JSR1A	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 35
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0066

  2126
  2127					;TEST JSA.
  2128					;CHECK THAT THE JSA GOES TO THE CORRECT LOC
  2129					;IN MEM AND THAT THE C(AC)=(E,PC).
  2130					;PUT A JSP BACK TO THE PROGRAM IN EVERY LOCATION
  2131					;FROM THE END OF THE PROG TO THE END OF MEM.
  2132					;IF THE JSA GOES TO THE WRONG LOC, THE JSP WILL
  2133					;STORE THE LOC IT DID GO TO
  2134
  2135			000005			AC=5
  2136	032570				JSAA:	SETUP1	1,1^
  2137			000006			AC1=<AC+1>&17
  2138			000007			AC2=<AC+2>&17
  2139			000010			AC3=<AC+3>&17
  2140			000011			AC4=<AC+4>&17
  2141			000012			AC5=<AC+5>&17
  2142			000003			RAN1=<AC-2>&17
  2143	032570	201 04 0 00 032570 		MOVEI	AC-1,.
  2144	032571	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2145	032572	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2146	032573	202 04 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2147	032574	201 04 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2148	032575	240 04 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2149	032576	240 04 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2150	032577	200 05 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2151	032600	200 12 0 00 034250 		MOVE	AC5,[JSP AC3,JSAD]	;JSP AC3, JSAD
  2152	032601	202 12 0 05 000000 		MOVEM	AC5,(AC)	;FROM END OF PROG
  2153	032602	253 05 0 00 032603 		AOBJN	AC,.+1
  2154	032603	603 05 0 00 770000 		TLNE	AC,770000
  2155	032604	254 00 0 00 032601 		JRST	.-3
  2156	032605	200 06 0 00 034425 	JSA1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2157	032606	270 06 0 00 034233 		ADD	AC1,[XWD 1,0]	;ADD ONE TO LEFT...PREVENT NON EX MEM
  2158	032607				JSAB:	RANDM1^
  2159	032607	200 05 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2160	032610	270 05 0 00 034236 		ADD	AC,[142536475076]
  2161	032611	241 05 0 00 777777 		ROT	AC,-1
  2162	032612	447 05 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2163
  2164	032613	205 11 0 06 000000 		MOVSI	AC4,(AC1)	;SIMULATE THE
  2165	032614	541 11 0 00 032616 		HRRI	AC4,JSAD	;JSA INST.
  2166	032615	266 05 0 06 000000 	JSAC:	JSA	AC,(AC1)	;DO THE JSA INST.
  2167	032616	312 05 0 00 000011 	JSAD:	CAME	AC,AC4		;C(AC) SHOULD=SIM. ANS.
  2168	032617	013 00 0 06 000000 		EERRI	(AC1)
  2169	032620	553 00 0 00 000010 		HRRZS	AC3		;JSP IN MEM STORED PC+2
  2170	032621	302 10 0 06 000002 		CAIE	AC3,2(AC1)	;OF JSA DESTINATION IN AC3
  2171	032622	007 10 0 06 000002 		ERMM	AC3,2(AC1)	;JSA DID NOT GO TO CORRECT MEM LOC.
  2172	032623	321 04 0 00 032615 		JUMPL	AC-1,JSAC	;LOOP ON ERROR SWITCH
  2173	032624	202 12 0 06 000000 		MOVEM	AC5,(AC1)	;RESTORE JSP IN CURRENT LOC.
  2174	032625	253 06 0 00 032626 		AOBJN	AC1,.+1
  2175	032626	603 06 0 00 770000 		TLNE	AC1,770000
  2176	032627	254 00 0 00 032607 		JRST	JSAB		;INC TO TEST NEXT LOC.
  2177	032630	367 04 0 00 032605 		SOJG	AC-1,JSA1A	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 36
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0067

  2178
  2179					;TEST JSA.
  2180					;PUT A JSA BACK TO THE PROG IN EVERY LOCATION
  2181					;FROM THE END OF THE PROG TO THE DESIGNATED
  2182					;END OF MEMORY AFTER THE JSA TO MEM AND
  2183					;THE JSA BACK, THE CONTENTS OF THE DESTINATION
  2184					;OF THE JSA IN MEMORY SHOULD=ORIG C(AC) OF THE
  2185					;JSA IN THE PROG.  ALSO THE C(AC) OF THE JSA
  2186					;IN MEMORY SHOULD=(E OF JSA IN MEMORY, E+2 OF
  2187					;JSA IN PROG.)  ORIGINAL C(AC)= RAN. NUM.
  2188
  2189			000006			AC=6
  2190	032631				JSA1:	SETUP1	1,1^
  2191			000007			AC1=<AC+1>&17
  2192			000010			AC2=<AC+2>&17
  2193			000011			AC3=<AC+3>&17
  2194			000012			AC4=<AC+4>&17
  2195			000013			AC5=<AC+5>&17
  2196			000004			RAN1=<AC-2>&17
  2197	032631	201 05 0 00 032631 		MOVEI	AC-1,.
  2198	032632	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2199	032633	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2200	032634	202 05 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2201	032635	201 05 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2202	032636	240 05 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2203	032637	240 05 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2204	032640	200 06 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2205	032641	200 12 0 00 034251 		MOVE	AC4,[JSA AC3,JSA4]	;JSA AC3, JSA4
  2206	032642	202 12 0 06 000000 		MOVEM	AC4,(AC)	;FROM END OF PROG
  2207	032643	253 06 0 00 032644 		AOBJN	AC,.+1
  2208	032644	603 06 0 00 770000 		TLNE	AC,770000
  2209	032645	254 00 0 00 032642 		JRST	.-3
  2210	032646	200 07 0 00 034425 	JSAX:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2211	032647	270 07 0 00 034233 		ADD	AC1,[XWD 1,0]	;ADD ONE TO LEFT... PREVENT NON EX MOVEM
  2212	032650				JSA2:	RANDM1^
  2213	032650	200 06 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2214	032651	270 06 0 00 034236 		ADD	AC,[142536475076]
  2215	032652	241 06 0 00 777777 		ROT	AC,-1
  2216	032653	447 06 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2217	032654	200 10 0 00 034420 		MOVE	AC2,RAN		;SAVE C(AC) FOR FUTURE COMPARE.
  2218	032655	200 11 0 00 034420 	JSA3:	MOVE	AC3,RAN		;PUT RAN NUM INTO AC OF JSA IN MEM.
  2219	032656	205 13 0 00 032661 		MOVSI	AC5,JSA4	;SIMULATE THE
  2220	032657	541 13 0 07 000002 		HRRI	AC5,2(AC1)	;JSA IN MEM.
  2221	032660	266 06 0 07 000000 		JSA	AC,(AC1)	;DO THE JSA TO MEM
  2222	032661	000000	000000		JSA4:	0			;THE JSA IN MEM SHOULD POINT HERE.
  2223	032662	312 10 0 00 032661 		CAME	AC2,JSA4	;THE C(JSA4) SHOULD = RAN NUM.
  2224	032663	002 12 0 00 000010 		ERRM	AC4,AC2
  2225	032664	312 11 0 00 000013 		CAME	AC3,AC5		;THE MEM JSA AC SHOULD=SIM. ANS.
  2226	032665	001 12 0 00 000010 		ERR	AC4,AC2
  2227	032666	321 05 0 00 032655 		JUMPL	AC-1,JSA3	;LOOP ON ERROR SWITCH
  2228	032667	202 12 0 07 000000 		MOVEM	AC4,(AC1)	;RESTORE THE JSA IN MEM.
  2229	032670	253 07 0 00 032671 		AOBJN	AC1,.+1
  2230	032671	603 07 0 00 770000 		TLNE	AC1,770000
  2231	032672	254 00 0 00 032650 		JRST	JSA2		;INC TO TEST NEXT LOC
  2232	032673	367 05 0 00 032646 		SOJG	AC-1,JSAX	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 37
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0068

  2233
  2234					;TEST JRA
  2235					;PUT A JSP BACK TO THE PROG IN EVERY LOCATION
  2236					;FROM THE END OF PROG TO THE DESIGNATED
  2237					;END OF MEM.  IF THE JRA GOES TO THE WRONG LOC
  2238					;IN MEM, THE JSP WILL STORE THE LOC IT DID GO
  2239					;TO.  BEFORE THE JRA, THE C(AC)= (E,0). AFTER THE
  2240					;JRA, THE C(AC) SHOULD=C(E).
  2241
  2242			000007			AC=7
  2243	032674				JRA1:	SETUP1	1,1^
  2244			000010			AC1=<AC+1>&17
  2245			000011			AC2=<AC+2>&17
  2246			000012			AC3=<AC+3>&17
  2247			000013			AC4=<AC+4>&17
  2248			000014			AC5=<AC+5>&17
  2249			000005			RAN1=<AC-2>&17
  2250	032674	201 06 0 00 032674 		MOVEI	AC-1,.
  2251	032675	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2252	032676	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2253	032677	202 06 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2254	032700	201 06 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2255	032701	240 06 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2256	032702	240 06 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2257	032703	200 07 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2258	032704	200 11 0 00 034252 		MOVE	AC2,[JSP AC3,JRA3]	;JSP AC3,JRA3
  2259	032705	202 11 0 07 000000 		MOVEM	AC2,(AC)	;FROM END OF PROG
  2260	032706	253 07 0 00 032707 		AOBJN	AC,.+1
  2261	032707	603 07 0 00 770000 		TLNE	AC,770000
  2262	032710	254 00 0 00 032705 		JRST	.-3
  2263	032711	200 10 0 00 034425 	JRA1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2264	032712	205 07 0 10 000000 	JRA2:	MOVSI	AC,(AC1)	;PUT E INTO LEFT SIDE OF AC.
  2265	032713	200 13 0 00 000007 		MOVE	AC4,AC		;SAVE C(AC) FOR PNT IN CASE OF ERR.
  2266	032714	267 07 0 10 000000 		JRA	AC,(AC1)	;DO THE JRA TO MEM
  2267	032715	312 07 0 00 000011 	JRA3:	CAME	AC,AC2		;C(AC) SHOULD=ORIG C(E).
  2268	032716	001 11 0 00 000013 		ERR	AC2,AC4
  2269	032717	553 00 0 00 000012 		HRRZS	AC3		;JSP IN MEM STORED PC IN AC3
  2270	032720	302 12 0 10 000001 		CAIE	AC3,1(AC1)	;C(AC3) SHOULD = ADDRESS+1.
  2271	032721	007 11 0 10 000001 		ERMM	AC2,1(AC1)	;JRA WENT TO WRONG LOC.
  2272	032722	321 06 0 00 032712 		JUMPL	AC-1,JRA2	;LOOP ON ERROR SWITCH.
  2273	032723	253 10 0 00 032724 		AOBJN	AC1,.+1
  2274	032724	603 10 0 00 770000 		TLNE	AC1,770000
  2275	032725	254 00 0 00 032712 		JRST	JRA2		;INC TO TEST NEXT LOC.
  2276	032726	367 06 0 00 032711 		SOJG	AC-1,JRA1A	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 38
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0069

  2277
  2278					;TEST JRA, JSA.
  2279					;PUT A JRA BACK TO PROG IN EVERY LOC FROM
  2280					;THE END OF THE PROG TO THE DESIGNATED END
  2281					;OF MEM.  THE ORIGINAL C(AC)=RAN NUM. AFTER
  2282					;THE JSA THE C(AC) SHOULD=(E,PC) AND THE
  2283					;C(E) SHOULD=RAN. NUM. AFTER THE JRA THE
  2284					;C(AC) SHOULD=RAN. NUM. AGAIN. CHECK FOR RAN
  2285					;NUM IN AC AND C(E)
  2286
  2287			000010			AC=10
  2288	032727				JRAA:	SETUP1	1,1^
  2289			000011			AC1=<AC+1>&17
  2290			000012			AC2=<AC+2>&17
  2291			000013			AC3=<AC+3>&17
  2292			000014			AC4=<AC+4>&17
  2293			000015			AC5=<AC+5>&17
  2294			000006			RAN1=<AC-2>&17
  2295	032727	201 07 0 00 032727 		MOVEI	AC-1,.
  2296	032730	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2297	032731	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2298	032732	202 07 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2299	032733	201 07 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2300	032734	240 07 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2301	032735	240 07 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2302	032736	200 10 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2303	032737	200 12 0 00 034253 		MOVE	AC2,[JRA AC,JRAD]	;JRA AC,JRAD
  2304	032740	202 12 0 10 000000 		MOVEM	AC2,(AC)	;FROM END OF PROG
  2305	032741	253 10 0 00 032742 		AOBJN	AC,.+1
  2306	032742	603 10 0 00 770000 		TLNE	AC,770000
  2307	032743	254 00 0 00 032740 		JRST	.-3
  2308	032744	200 11 0 00 034425 	JRAA1:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2309	032745	270 11 0 00 034233 		ADD	AC1,[XWD 1,0]	;ADD ONE ON LEFT...PREVENT NON EX MEM
  2310	032746				JRAB:	RANDM1^
  2311	032746	200 10 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2312	032747	270 10 0 00 034236 		ADD	AC,[142536475076]
  2313	032750	241 10 0 00 777777 		ROT	AC,-1
  2314	032751	447 10 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2315	032752	200 10 0 00 034420 	JRAC:	MOVE	AC,RAN		;RESTORE C(AC) IN CASE OF ERROR
  2316	032753	266 10 0 11 000000 		JSA	AC,(AC1)	;DO THE JSA TO MEM.
  2317	032754	312 10 0 00 034420 	JRAD:	CAME	AC,RAN		;C(AC) SHOULD=ORIG. C(AC).
  2318	032755	001 12 0 00 034420 		ERR	AC2,RAN
  2319	032756	312 10 0 11 000000 		CAME	AC,(AC1)	;C(E) SHOULD=ORIG C(AC).
  2320	032757	001 12 0 00 034420 		ERR	AC2,RAN
  2321	032760	321 07 0 00 032752 		JUMPL	AC-1,JRAC	;LOOP ON ERROR SWITCH
  2322	032761	202 12 0 11 000000 		MOVEM	AC2,(AC1)	;RESTORE JRA IN MEM.
  2323	032762	253 11 0 00 032763 		AOBJN	AC1,.+1
  2324	032763	603 11 0 00 770000 		TLNE	AC1,770000
  2325	032764	254 00 0 00 032746 		JRST	JRAB		;INC TO TEST NEXT LOC.
  2326	032765	367 07 0 00 032744 		SOJG	AC-1,JRAA1	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 39
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0070

  2327
  2328					;TEST SKIPA.
  2329					;PUT A SKIPA . IN EVERY OTHER LOCATION FROM THE END OF
  2330					;THE PROG TO THE END OF DESIGNATED MEMORY. PUT A JSP BACK TO PROG
  2331					;IN ALL OTHER LOCATIONS FROM THE END OF PROG TO END OF MEM
  2332					;IF THE SKIPA GOES TO THE WRONG LOCATION IN MEM, THE JSP
  2333					;BACK WILL STORE THE PC+1 OF WHERE THE SKIPA WENT TO
  2334					;THE AC OF THE SKIPA INSTRUCTION WILL CONTAIN THE
  2335					;SKIPA THAT FAILED.
  2336
  2337			000011			AC=11
  2338	032766				SKPA:	SETUP1	5,1^
  2339			000012			AC1=<AC+1>&17
  2340			000013			AC2=<AC+2>&17
  2341			000014			AC3=<AC+3>&17
  2342			000015			AC4=<AC+4>&17
  2343			000016			AC5=<AC+5>&17
  2344			000007			RAN1=<AC-2>&17
  2345	032766	201 10 0 00 032766 		MOVEI	AC-1,.
  2346	032767	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2347	032770	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2348	032771	202 10 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2349	032772	201 10 0 00 000005 		MOVEI	AC-1,5		;ROUTINE WEIGHTING
  2350	032773	240 10 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2351	032774	240 10 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2352	032775	550 14 0 00 034416 		HRRZ	AC3,MODULO	;PUT TOP OF DESIGNATED MEM INTO AC3.
  2353	032776	200 13 0 00 034254 		MOVE	AC2,[JSP AC4,SKPA2];PUT A JSP BACK TO PROG INTO AC2.
  2354	032777	200 12 0 00 034255 		MOVE	AC1,[SKIPA AC5,0];PUT A SKIPA INST INTO AC1.
  2355	033000	541 12 1 00 030145 		HRRI	AC1,@MEMLOW
  2356	033001	202 12 0 12 000000 	SKPA1:	MOVEM	AC1,(AC1)	;STORE SKIPA IN MEM.
  2357	033002	340 12 0 00 000000 		AOJ	AC1,		;ADD ONE TO ADDRESS IN MEM.
  2358	033003	202 13 0 12 000000 		MOVEM	AC2,(AC1)	;STORE JSP INST.
  2359	033004	303 14 0 12 000002 		CAILE	AC3,2(AC1)	;ADDRESS > OR = TOP OF MEM?
  2360	033005	344 12 0 00 033001 		AOJA	AC1,SKPA1	;NO. ADD ONE AND CONTINUE.
  2361	033006	200 13 0 00 034256 		MOVE	AC2,[JRST SKPA3]	;PUT A JRST BACK INTO AC2.
  2362	033007	202 13 0 14 777777 		MOVEM	AC2,-1(AC3)	;STORE IN TOP -1.
  2363	033010	202 13 0 14 000000 		MOVEM	AC2,(AC3)	;STORE IN TOP.
  2364	033011	254 00 1 00 030145 		JRST	@MEMLOW		;GO DO SKIPA INSTRUCTIONS.
  2365	033012	201 15 0 15 777777 	SKPA2:	MOVEI	AC4,-1(AC4)	;PUT THE PC OF WHERE THE SKIPA WENT TO INTO AC4.
  2366	033013	007 16 0 14 000000 		ERMM	AC5,(AC3)	;C(AC5) = FAILING SKIPA INST.
  2367	033014	367 10 0 00 033011 	SKPA3:	SOJG	AC-1,SKPA2-1	;ITERATION COUNTER.
  2368	033015	321 10 0 00 033011 		JUMPL	AC-1,SKPA2-1	;LOOP ON ERROR SWITCH.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 40
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0071

  2369					;TEST SKIPA.
  2370					;THIS TEST IS LIKE THE PREVIOUS ONE EXCEPT THAT THE LOCATIONS
  2371					;IN MEM CONTAINING THE SKIPA AND THE ONES CONTAINING THE JSP BACK
  2372					;HAVE BEEN EXCHANGED.
  2373
  2374			000010			AC=10
  2375	033016				SKPB:	SETUP1	5,1^
  2376			000011			AC1=<AC+1>&17
  2377			000012			AC2=<AC+2>&17
  2378			000013			AC3=<AC+3>&17
  2379			000014			AC4=<AC+4>&17
  2380			000015			AC5=<AC+5>&17
  2381			000006			RAN1=<AC-2>&17
  2382	033016	201 07 0 00 033016 		MOVEI	AC-1,.
  2383	033017	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2384	033020	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2385	033021	202 07 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2386	033022	201 07 0 00 000005 		MOVEI	AC-1,5		;ROUTINE WEIGHTING
  2387	033023	240 07 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2388	033024	240 07 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2389	033025	550 13 0 00 034416 		HRRZ	AC3,MODULO	;PUT TOP OF MEM IN AC3.
  2390	033026	200 12 0 00 034257 		MOVE	AC2,[JSP AC4,SKPB2];PUT JSP BACK INTO AC2.
  2391	033027	200 11 0 00 034260 		MOVE	AC1,[SKIPA AC5,1];PUT SKIPA INST INTO AC1.
  2392	033030	271 11 1 00 030145 		ADDI	AC1,@MEMLOW
  2393	033031	202 11 0 11 000000 	SKPB1:	MOVEM	AC1,(AC1)	;PUT SKIPA INST INTO MEM.
  2394	033032	340 11 0 00 000000 		AOJ	AC1,		;INC ADDRESS.
  2395	033033	202 12 0 11 000000 		MOVEM	AC2,(AC1)	;PUT JSP INST INTO MEM.
  2396	033034	303 13 0 11 000001 		CAILE	AC3,1(AC1)	;MEM FILLED?
  2397	033035	344 11 0 00 033031 		AOJA	AC1,SKPB1	;NO. CONTINUE TO FILL MEM.
  2398	033036	200 12 0 00 034261 		MOVE	AC2,[JRST SKPB3];PUT A JRST  INTO AC2.
  2399	033037	202 12 0 13 777777 		MOVEM	AC2,-1(AC3)	;PUT A JRST BACK IN TOP -1.
  2400	033040	202 12 0 13 000000 		MOVEM	AC2,(AC3)	;PUT A JRST BACK INTO TOP.
  2401	033041	201 10 1 00 030145 		MOVEI	AC,@MEMLOW
  2402	033042	254 00 0 10 000001 		JRST	1(AC)		;GO DO SKIPA INSTRUCTIONS.
  2403	033043	201 14 0 14 777777 	SKPB2:	MOVEI	AC4,-1(AC4)	;PUT PC OF WHERE SKIPA INST WENT TO INTO AC4.
  2404	033044	007 15 0 13 000000 		ERMM	AC5,(AC3)	;C(AC5) = FAILING SKIPA INST.
  2405	033045	367 07 0 00 033042 	SKPB3:	SOJG	AC-1,SKPB2-1	;ITERATION COUNTER.
  2406	033046	321 07 0 00 033042 		JUMPL	AC-1,SKPB2-1	;LOOP ON ERROR SWITCH.
  2407
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 41
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0072

  2408					;TEST DEFER.
  2409					;FILL BUFFER WITH RAN NUM THAT = ADDRESSES FROM THE END OF
  2410					;THE PROG TO THE END OF DESIGNATED MEMORY. PICK A RANDOM ADDRESS
  2411					;AND SET BIT 13 IN THAT LOC. NOW GET THE LOC THAT THAT POINTS
  2412					;TO AND SET BIT 13 IN IT. KEEP DOING THIS FOR 30 TIMES OR
  2413					;UNTIL A LOC POINTS TO A LOC THAT ALREADY HAS BIT 13 SET.
  2414			000006			COUNT=6
  2415			000007			FINAL=7
  2416	033047	201 16 0 00 033047 	DFRTST:	MOVEI	16,.
  2417	033050	202 16 0 00 030051 		MOVEM	16,TESTPC	;SETUP SUBTEST PC
  2418	033051	201 16 0 00 000016 		MOVEI	16,16
  2419	033052	202 16 0 00 034414 		MOVEM	16,ERRLOP#	;WHICH AC IS USED FOR ITERATION.
  2420	033053	201 16 0 00 000005 		MOVEI	16,5		;ROUTINE WEIGHTING.
  2421	033054	550 05 0 00 034416 		HRRZ	5,MODULO	;PUT HIGHEST MEM LOC IN AC5.
  2422	033055	402 00 0 00 034413 		SETZM	DFRTFG#		;CLR "WHICH DEFER TEST " FLAG.
  2423	033056	201 01 1 00 030145 	DFRT1:	MOVEI	1,@MEMLOW	;PUT ADDRESS OF END OF PROG INTO AC1.
  2424	033057	402 00 0 00 000006 		SETZM	COUNT#		;CLR  CNT OF # OF DEFERS.
  2425	033060	200 10 0 00 034420 	DFRT2:	MOVE	10,RAN		;PRODUCE
  2426	033061	270 10 0 00 034236 		ADD	10,[142536475076];A
  2427	033062	241 10 0 00 000001 		ROT	10,1		;RANDOM
  2428	033063	447 10 0 00 034420 		EQVB	10,RAN		;NUMBER.
  2429	033064	404 10 0 00 000005 		AND	10,5		;AND WITH HIGHEST MEM LOC.
  2430	033065	305 10 1 00 030145 		CAIGE	10,@MEMLOW	;RAN NUM > OR = END OF PROG?
  2431	033066	254 00 0 00 033060 		JRST	DFRT2		;NO. GET ANOTHER NUM.
  2432	033067	303 01 1 00 000005 		CAILE	1,@5		;ADDRESS > HIGHEST MEM LOC?
  2433	033070	254 00 0 00 033073 		JRST	DFRT3		;YES. STOP FILLING MEM.
  2434	033071	202 10 0 01 000000 		MOVEM	10,(1)		;PUT RAN NUM INTO MEM.
  2435	033072	344 01 0 00 033060 		AOJA	1,DFRT2		;ADD 1 TO ADDRESS AND GET A NEW NUM.
  2436	033073	505 10 0 00 000020 	DFRT3:	HRLI	10,20		;SET INDIRECT BIT.
  2437	033074	202 10 0 06 033702 		MOVEM	10,TABL(COUNT)	;PUT IN TABLE.
  2438	033075	200 03 0 10 000000 		MOVE	3,(10)		;GET CONTENTS OF ADDRESS.
  2439	033076	505 03 0 00 000020 		HRLI	3,20		;SET DEFER BIT.
  2440	033077	200 02 0 00 000006 		MOVE	2,COUNT		;PUT COUNT INTO AC2.
  2441	033100	316 03 0 02 033702 		CAMN	3,TABL(2)	;C(C(ADDRESS)) = ANY IN TABLE?
  2442	033101	254 00 0 00 033110 		JRST	DFRT4		;YES. STOP SETTING DEFER BIT.
  2443	033102	365 02 0 00 033100 		SOJGE	2,.-2		;SUB 1 AND TEST NEXT IN TABLE.
  2444	033103	202 03 0 10 000000 		MOVEM	3,(10)		;NUMBER OK, STORE DEFER BIT.
  2445	033104	201 10 0 03 000000 		MOVEI	10,(3)
  2446	033105	350 02 0 00 000006 		AOS	2,COUNT		;INC COUNT.
  2447	033106	305 02 0 00 000030 		CAIGE	2,30		;COUNT = 30?
  2448	033107	254 00 0 00 033073 		JRST	DFRT3		;NO. CONTINUE.
  2449	033110	550 07 0 10 000000 	DFRT4:	HRRZ	7,(10)		;YES. STORE ADDRESS WHERE DEFER SHOULD STOP.
  2450	033111	201 02 1 00 033702 		MOVEI	2,@TABL		;DO DEFER INST.
  2451	033112	312 02 0 00 000007 		CAME	2,FINAL		;C(AC2) SHOULD = C(FINAL).
  2452	033113	260 17 0 00 033616 		GO	ERROUT		;DEFER STOPPED OR WENT TO WRONG LOC.
  2453	033114	367 16 0 00 033056 		SOJG	16,DFRT1	;ITERATION COUNT.
  2454	033115	321 16 0 00 033073 		JUMPL	16,DFRT3	;ERROR LOOP SWITCH.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 42
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0073

  2455					;TEST DEFER.
  2456					;THIS TEST IS LIKE THE PREVIOUS ONE EXCEPT IT USES
  2457					;INDEX REGISTERS BESIDES THE INDIRECT. INDEX REGISTERS
  2458					;10 - 16 ARE SET TO A -1.THE FLOW FROM ONE LOC TO ANOTHER
  2459					;IS FROM ONE LOC TO THE NEXT LOC -1.
  2460
  2461	033116	201 07 0 00 033116 	DFT:	MOVEI	7,.
  2462	033117	202 07 0 00 030051 		MOVEM	7,TESTPC	;SETUP SUBTEST PC
  2463	033120	201 07 0 00 000007 		MOVEI	7,7		;INFORM ERROR ROUTINE
  2464	033121	202 07 0 00 034414 		MOVEM	7,ERRLOP	;WHICH AC IS USED FOR ITERATION.
  2465	033122	201 07 0 00 000005 		MOVEI	7,5		;PUT ITERATION COUNT INTO AC7.
  2466	033123	202 07 0 00 034421 		MOVEM	7,TAMP#		;SAVE ITERATION COUNT IN TAMP.
  2467	033124	402 00 0 00 034424 		SETZM	TAMP3#		;CLR 
  2468	033125	476 00 0 00 034413 		SETOM	DFRTFG#		;SET "WHICH DEFER TEST" FLAG.
  2469	033126	477 10 0 00 000011 	DFT1:	SETOB	10,11		;SET C(AC10-AC16) TO A -1.
  2470	033127	477 12 0 00 000013 		SETOB	12,13
  2471	033130	477 14 0 00 000015 		SETOB	14,15
  2472	033131	474 16 0 00 000000 		SETO	16,
  2473	033132	550 07 0 00 034416 		HRRZ	7,MODULO	;PUT HIGHEST MEM LOC INTO AC7.
  2474	033133	201 01 1 00 030145 		MOVEI	1,@MEMLOW	;PUT ADDRESS OF END OF PROG INTO AC1.
  2475	033134	402 00 0 00 000006 		SETZM	COUNT		;CLR INDIRECT BIT COUNTER.
  2476	033135	200 04 0 00 034420 	DFT2:	MOVE	4,RAN		;PRODUCE
  2477	033136	270 04 0 00 034236 		ADD	4,[142536475076];A
  2478	033137	241 04 0 00 000001 		ROT	4,1		;RANDOM
  2479	033140	447 04 0 00 034420 		EQVB	4,RAN		;NUMBER.
  2480	033141	404 04 0 00 000007 		AND	4,7		;KEEP NUMBER WITHIN EX MEM.
  2481	033142	307 04 1 00 030145 		CAIG	4,@MEMLOW	;NUMBER > THAN END OF PROG?
  2482	033143	254 00 0 00 033135 		JRST	DFT2		;NO. GET ANOTHER NUMBER.
  2483	033144	303 01 1 00 000007 		CAILE	1,@7		;ADR OF WHERE NUM IS STORED > THAN MEM?
  2484	033145	254 00 0 00 033150 		JRST	DFT3		;YES. MEM HAS BEEN FILLED.
  2485	033146	202 04 0 01 000000 		MOVEM	4,(1)		;STORE THIS NUM IN MEM.
  2486	033147	344 01 0 00 033135 		AOJA	1,DFT2		;INC ADR.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 43
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0074

  2487	033150	200 05 0 00 000004 	DFT3:	MOVE	5,4		;GEN A
  2488	033151	405 05 0 00 000007 		ANDI	5,7		;NUM FROM 0-7.
  2489	033152	306 05 0 00 000007 		CAIN	5,7
  2490	033153	275 05 0 00 000001 		SUBI	5,1
  2491	033154	505 04 0 05 000030 		HRLI	4,30(5)		;SET INDIRECT BIT + INDEX FROM 10 TO 16.
  2492	033155	202 04 0 06 033702 		MOVEM	4,TABL(6)	;STORE IN TABLE.
  2493	033156	200 03 0 04 777777 		MOVE	3,-1(4)		;GET LOC -1.
  2494	033157	505 03 0 05 000030 		HRLI	3,30(5)		;SET INDIRECT BIT + INDEX.
  2495	033160	200 02 0 00 000006 		MOVE	2,COUNT		;PUT COUNT INTO AC2.
  2496	033161	202 03 0 00 034422 		MOVEM	3,TAMP1#	;SAVE C(AC3).
  2497	033162	202 04 0 00 034423 		MOVEM	4,TAMP2#	;SAVE C(AC4).
  2498	033163	550 04 0 00 000003 		HRRZ	4,3		;PUT CURRENT ADR INTO AC4.
  2499	033164	550 03 0 02 033702 		HRRZ	3,TABL(2)	;PUT ADR IN TABLE INTO AC3.
  2500	033165	306 03 0 04 000000 		CAIN	3,(4)		;ADR = ANY IN TABL?
  2501	033166	476 00 0 00 034424 		SETOM	TAMP3#		;YES. SET FLAG.
  2502	033167	365 02 0 00 033164 		SOJGE	2,.-3		;CONTINUE UNTIL CHECKED ALL OF TABLE.
  2503	033170	200 03 0 00 034422 		MOVE	3,TAMP1		;RESTORE AC3.
  2504	033171	200 04 0 00 034423 		MOVE	4,TAMP2		;RESTORE AC4.
  2505	033172	336 00 0 00 034424 		SKIPN	TAMP3		;ADR = ANY IN TABL?
  2506	033173	254 00 0 00 033177 		JRST	.+4		;NO.
  2507	033174	402 00 0 00 034424 		SETZM	TAMP3		;YES. CLR FLAG.
  2508	033175	201 07 0 03 000000 		MOVEI	7,(3)		;GET LAST ADR AND
  2509	033176	254 00 0 00 033205 		JRST	DFT4+1		;GO DO DEFER.
  2510	033177	202 03 0 04 777777 		MOVEM	3,-1(4)		;STORE INDIRECT AND INDEX.
  2511	033200	201 04 0 03 000000 		MOVEI	4,(3)		;GET NEXT ADR.
  2512	033201	350 02 0 00 000006 		AOS	2,COUNT		;INC COUNT.
  2513	033202	305 02 0 00 000030 		CAIGE	2,30		;30?
  2514	033203	254 00 0 00 033150 		JRST	DFT3		;NO. CONTINUE.
  2515	033204	550 07 0 04 777777 	DFT4:	HRRZ	7,-1(4)		;GET ADR WHERE DEFER SHOULD STOP.
  2516	033205	201 02 1 00 033702 		MOVEI	2,@TABL		;DO DEFER INST.
  2517	033206	316 02 0 00 000007 		CAMN	2,7		;=?
  2518	033207	254 00 0 00 033212 		JRST	.+3		;YES.
  2519	033210	260 17 0 00 033616 		GO	ERROUT		;NO. GO PNT ERR MESS.
  2520	033211	254 00 0 00 033214 		JRST	DFT4+10		;JUMP AROUND LOADING ITR CTR.
  2521	033212	370 07 0 00 034421 		SOS	7,TAMP		;GET ITER COUNT AND SUB 1.
  2522	033213	327 07 0 00 033126 		JUMPG	7,DFT1		;CONTINUE IF > 0.
  2523	033214	321 07 0 00 033150 		JUMPL	7,DFT3		;ERROR LOOP IF < 0.
  2524
  2525
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 44
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0075

  2526					;TEST POP.
  2527					;CHECK FOR ABILITY OF POP TO MOVE A RANDOM NUMBER
  2528					;FROM THE C(C(AC)R) TO THE C(E).
  2529
  2530			000011			AC=11
  2531	033215				TPOP:	SETUP1	1,1^
  2532			000012			AC1=<AC+1>&17
  2533			000013			AC2=<AC+2>&17
  2534			000014			AC3=<AC+3>&17
  2535			000015			AC4=<AC+4>&17
  2536			000016			AC5=<AC+5>&17
  2537			000007			RAN1=<AC-2>&17
  2538	033215	201 10 0 00 033215 		MOVEI	AC-1,.
  2539	033216	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2540	033217	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2541	033220	202 10 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2542	033221	201 10 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2543	033222	240 10 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2544	033223	240 10 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2545	033224				TPOP1:	RANDM1^
  2546	033224	200 11 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2547	033225	270 11 0 00 034236 		ADD	AC,[142536475076]
  2548	033226	241 11 0 00 777777 		ROT	AC,-1
  2549	033227	447 11 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2550	033230	200 12 0 00 034262 	TPOP2:	MOVE	AC1,[XWD 1,AC]	;SETUP POINTER TO GET DATA FROM AC.
  2551	033231	262 12 0 00 000013 		POP	AC1,AC2		;DO POP INST.
  2552	033232	312 13 0 00 000011 		CAME	AC2,AC		;C(E) SHOULD=RAN. NUM.
  2553	033233	004 13 0 00 000011 		ERROR	AC2,AC
  2554						LOOP	TPOP1,TPOP2^
  2555	033234	367 10 0 00 033224 		SOJG	AC-1,TPOP1		;ITERATION COUNTER
  2556	033235	200 11 0 00 034420 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2557	033236	321 10 0 00 033230 		JUMPL	AC-1,TPOP2		;LOOP ON ERROR SWITCH ^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 45
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0076

  2558
  2559					;TEST POP.
  2560					;CHECK POINTER DECREMENT.
  2561					;A RANDOM NUMBER WITH BOTH LEFT AND RIGHT SIDES
  2562					;LESS THAN MEMORY SIZE IS USED AS A POINTER WORD.  THE
  2563					;ONLY RESTRICTION ON THIS NUMBER IS THAT IT BE NON
  2564					;ZERO IN THE LEFT HALF...PREVENT PDL OVERFLOW.
  2565
  2566			000012			AC=12
  2567	033237				TPOP3:	SETUP1	1,1^
  2568			000013			AC1=<AC+1>&17
  2569			000014			AC2=<AC+2>&17
  2570			000015			AC3=<AC+3>&17
  2571			000016			AC4=<AC+4>&17
  2572			000017			AC5=<AC+5>&17
  2573			000010			RAN1=<AC-2>&17
  2574	033237	201 11 0 00 033237 		MOVEI	AC-1,.
  2575	033240	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2576	033241	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2577	033242	202 11 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2578	033243	201 11 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2579	033244	240 11 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2580	033245	240 11 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2581	033246				TPOP4:	RANDM1^
  2582	033246	200 12 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2583	033247	270 12 0 00 034236 		ADD	AC,[142536475076]
  2584	033250	241 12 0 00 777777 		ROT	AC,-1
  2585	033251	447 12 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2586	033252	404 12 0 00 034416 	TPOP5:	AND	AC,MODULO	;MAKE LEFT AND RHT=<MEM SIZ.
  2587	033253	607 12 0 00 777777 		TLNN	AC,-1		;IS LEFT SIDE=0?
  2588	033254	254 00 0 00 033246 		JRST	TPOP4		;YES.. REJECT..PREVENT PDL OV.
  2589	033255	606 12 0 00 777777 		TRNN	AC,-1		;IS RIGHT SIDE =0?
  2590	033256	254 00 0 00 033246 		JRST	TPOP4		;YES, PREVENT BORROW FROM LEFT SIDE
  2591	033257	200 13 0 00 000012 		MOVE	AC1,AC		;MOVE POINTER WORD INTO AC1.
  2592	033260	274 12 0 00 034263 		SUB	AC,[XWD 1,1]	;SIMULATE DECREMENTING POINTER.
  2593	033261	262 13 0 00 000014 		POP	AC1,AC2		;DO A POP INST.
  2594	033262	312 13 0 00 000012 		CAME	AC1,AC		;C(AC) SHOULD=SIM. ANS.
  2595	033263	004 13 0 00 000012 		ERROR	AC1,AC
  2596						LOOP	TPOP4,TPOP5^
  2597	033264	367 11 0 00 033246 		SOJG	AC-1,TPOP4		;ITERATION COUNTER
  2598	033265	200 12 0 00 034420 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2599	033266	321 11 0 00 033252 		JUMPL	AC-1,TPOP5		;LOOP ON ERROR SWITCH ^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 46
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0077

  2600
  2601					;TEST PUSH.
  2602					;CHECK THE ABILITY OF PUSH TO MOVE A RANDOM
  2603					;NUMBER FROM THE C(E) TO THE C(C(AC)R).
  2604
  2605			000013			AC=13
  2606	033267				TPUSH:	SETUP1	1,1^
  2607			000014			AC1=<AC+1>&17
  2608			000015			AC2=<AC+2>&17
  2609			000016			AC3=<AC+3>&17
  2610			000017			AC4=<AC+4>&17
  2611			000000			AC5=<AC+5>&17
  2612			000011			RAN1=<AC-2>&17
  2613	033267	201 12 0 00 033267 		MOVEI	AC-1,.
  2614	033270	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2615	033271	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2616	033272	202 12 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2617	033273	201 12 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2618	033274	240 12 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2619	033275	240 12 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2620	033276				TPUSH1:	RANDM1^
  2621	033276	200 13 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2622	033277	270 13 0 00 034236 		ADD	AC,[142536475076]
  2623	033300	241 13 0 00 777777 		ROT	AC,-1
  2624	033301	447 13 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2625	033302	201 14 0 00 000014 	TPUSH2:	MOVEI	AC1,AC1	;MAKE THE C(AC)R = AC2.
  2626	033303	261 14 0 00 000013 		PUSH	AC1,AC		;DO PUSH...C(AC) TO C(AC2)
  2627	033304	312 15 0 00 000013 		CAME	AC2,AC		;C(AC2) SHOULD=RAN. NUM.
  2628	033305	004 15 0 00 000013 		ERROR	AC2,AC
  2629						LOOP	TPUSH1,TPUSH2^
  2630	033306	367 12 0 00 033276 		SOJG	AC-1,TPUSH1		;ITERATION COUNTER
  2631	033307	200 13 0 00 034420 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2632	033310	321 12 0 00 033302 		JUMPL	AC-1,TPUSH2		;LOOP ON ERROR SWITCH ^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 47
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0078

  2633
  2634					;TEST PUSH
  2635					;CHECK POINTER INCREMENT.
  2636					;A RANDOM NUMBER WITH BOTH LEFT AND RIGHT SIDES
  2637					;LESS THAN MEMORY SIZE IS USED AS A POINTER WORD
  2638
  2639			000014			AC=14
  2640	033311				TPUSH3:	SETUP1	1,1^
  2641			000015			AC1=<AC+1>&17
  2642			000016			AC2=<AC+2>&17
  2643			000017			AC3=<AC+3>&17
  2644			000000			AC4=<AC+4>&17
  2645			000001			AC5=<AC+5>&17
  2646			000012			RAN1=<AC-2>&17
  2647	033311	201 13 0 00 033311 		MOVEI	AC-1,.
  2648	033312	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2649	033313	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2650	033314	202 13 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2651	033315	201 13 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2652	033316	240 13 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2653	033317	240 13 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2654	033320				TPUSH4:	RANDM1^
  2655	033320	200 14 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2656	033321	270 14 0 00 034236 		ADD	AC,[142536475076]
  2657	033322	241 14 0 00 777777 		ROT	AC,-1
  2658	033323	447 14 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2659	033324	404 14 0 00 034416 	TPUSH5:	AND	AC,MODULO	;MAKE LEFT+RHT=<MEM SIZE
  2660	033325	550 15 0 00 000014 		HRRZ	AC1,AC		;BUT > THAN END.
  2661	033326	312 15 0 00 000014 		CAME	AC1,AC		;BOTH HALVES EQUAL?..GEN NEW NUM.
  2662	033327	307 15 1 00 030145 		CAIG	AC1,@MEMLOW
  2663	033330	254 00 0 00 033320 		JRST	TPUSH4		;REJECT.
  2664	033331	500 15 0 00 000014 		HLL	AC1,AC
  2665	033332	540 14 0 00 000015 		HRR	AC,AC1
  2666	033333	607 15 0 00 777777 		TLNN	AC1,-1		;SEE IF LEFT SIDE ZERO
  2667	033334	254 00 0 00 033320 		JRST	TPUSH4		;YES,REJECT
  2668	033335	606 15 0 00 777777 		TRNN	AC1,-1		;SEE IF RIGHT SIDE ZERO
  2669	033336	254 00 0 00 033320 		JRST	TPUSH4		;YES,REJECT
  2670	033337	274 15 0 00 034263 		SUB	AC1,[XWD 1,1]	;SIMULATE INCREMENTING POINTER
  2671	033340	261 15 0 00 000016 		PUSH	AC1,AC2		;DO A PUSH INST.
  2672	033341	312 15 0 00 000014 		CAME	AC1,AC		;C(AC) SHOULD=SIM. ANS.
  2673	033342	004 15 0 00 000014 		ERROR	AC1,AC
  2674						LOOP	TPUSH4,TPUSH5^
  2675	033343	367 13 0 00 033320 		SOJG	AC-1,TPUSH4		;ITERATION COUNTER
  2676	033344	200 14 0 00 034420 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2677	033345	321 13 0 00 033324 		JUMPL	AC-1,TPUSH5		;LOOP ON ERROR SWITCH ^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 48
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0079

  2678
  2679					;POP TEST
  2680					;AN AREA OF CORE IS SET ASIDE AS A BUFFER. THE TOP(HIGH)
  2681					;LOCATIONS ARE CONSIDERED THE FROM AREA.  LOCATIONS BELOW THE "FROM"
  2682					;AREA ARE CONSIDERED THE "TO" AREA.  THE FROM AND TO LOCATIONS ARE
  2683					;CHOSEN FROM A RANDOM NUMBER GENERATORS.  THE TEST IS DESIGNED
  2684					;SUCH THAT A LARGE NUMBER OF POP INSTRUCTIONS MAY BE EXECUTED
  2685					;QUICKLY.  THE NUMBER OF ITERATIONS OF THE POP INSTRUCTION IS A FUNCTION
  2686					;OF THE FROM ADDRESS, AND TO ADDRESS.  THE NUMBER IS CHOSEN SUCH
  2687					;THAT THE FROM AND TO AREAS DO NOT OVERLAP.  THE POP INSTRUCTION TAKES
  2688					;DATA WORDS DECREMENTING THROUGH MEMORY TO THE TO AREA INCREMENTING
  2689					;THROUGH MEMORY.   IN ESSENCE EVERYTHING IS RANDOM.
  2690					;THIS TEST SHOULD NEVER SET THE PDL-OV FLAG.
  2691					;ERRORS ARE POSSIBLE FROM AN INCORRECT POINTER WORD OR DATA TRANSFERED
  2692					;INCORRECTLY, IN ANY CASE,  THE FIRST ERROR WILL BE PRINTED.
  2693					;THE LIST WILL RECYCLE WITH THE FAILED NUMBERS.
  2694					;IF THE PROBLEM IS TO DIFFICULT TO SCOPE SUGGEST MARGIN
  2695					;ON A SIMPLER POP TEST.
  2696
  2697			000010			AC=10
  2698			000012			POPOINT=12		;POP INST POINTER AC
  2699			000013			GDP=13			;GENERATE DATA POINTER
  2700			000014			CDP=14			;CHECK DATA POINTER
  2701			000015			POPE=15			;POP"E" POINTER TO CORE
  2702	033346				POPT:	SETUP1	1,1^
  2703			000011			AC1=<AC+1>&17
  2704			000012			AC2=<AC+2>&17
  2705			000013			AC3=<AC+3>&17
  2706			000014			AC4=<AC+4>&17
  2707			000015			AC5=<AC+5>&17
  2708			000006			RAN1=<AC-2>&17
  2709	033346	201 07 0 00 033346 		MOVEI	AC-1,.
  2710	033347	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2711	033350	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2712	033351	202 07 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2713	033352	201 07 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2714	033353	240 07 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2715	033354	240 07 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 49
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0080

  2716	033355				POPT1:	RANDM1^
  2717	033355	200 10 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2718	033356	270 10 0 00 034236 		ADD	AC,[142536475076]
  2719	033357	241 10 0 00 777777 		ROT	AC,-1
  2720	033360	447 10 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2721	033361	404 10 0 00 034416 		AND	AC,MODULO	;CONFINE TEST TO MEM SIZE
  2722	033362	550 00 0 00 000010 		HRRZ	0,AC		;AC = HIGH,,LOW = FROM,,TO
  2723	033363	554 01 0 00 000010 		HLRZ	1,AC		;AC+1 = LOW,,HIGH = TO,,FROM
  2724	033364	311 00 0 00 000001 		CAML	0,1		;0 = + NUMBER OF WORDS BETWEEN TO AND FROM
  2725	033365	204 10 0 00 000010 		MOVS	AC,AC
  2726	033366	204 11 0 00 000010 		MOVS	AC+1,AC
  2727	033367	201 00 0 11 000000 		MOVEI	(AC+1)		;SUB "TO" AREA FROM  "FROM" AREA
  2728	033370	275 00 0 10 000000 		SUBI	(AC)		;THIS LEAVES POSITIVE DIFF IN C(0)
  2729	033371	334 00 0 00 000000 		SKIPA			;IF THE NUMBERS WILL OVERLAP OR
  2730	033372	240 00 0 00 777777 		ASH	0,-1		;DESTROY PROGRAM SCALE SIZE OF BLOCK
  2731	033373	336 01 0 00 000000 		SKIPN	1,0		;MOVE 0 TO 1. IF THE BLOCK SIZE
  2732	033374	254 00 0 00 033355 		JRST	POPT1		;IS ZERO THEN GET OTHER NUMBERS
  2733	033375	275 01 0 10 000000 		SUBI	1,(AC)		;DO NOT ALLOW TO AREA TO
  2734	033376	271 01 1 00 030145 		ADDI	1,@MEMLOW	;OVERLAY PROGRAM. LOC0 CONTAINS
  2735	033377	327 01 0 00 033372 		JUMPG	1,.-5		;NUMBER OF WORDS IN BLOCK
  2736	033400	214 00 0 00 000000 	POPRET:	MOVM			;MAKE IT POSITIVE FOR ITERATION
  2737	033401	306 00 0 00 000001 		CAIN	0,1		;=1?
  2738	033402	254 00 0 00 033355 		JRST	POPT1		;YES. REJECT.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 50
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0081

  2739	033403	516 00 0 00 000012 	POPT2:	HRLZM	POPOINT		;MAKE POP POINTER WORD
  2740	033404	541 12 0 11 000000 		HRRI	POPOINT,(AC+1)	;(+WC, FROM LOC)
  2741	033405	213 13 0 00 000000 		MOVNS	GDP,0		;MAKE GEN DATA POINTER
  2742	033406	507 14 0 00 000013 		HRLS	CDP,GDP		;-WC+1,FROM-WC
  2743	033407	271 13 0 11 000000 		ADDI	GDP,(AC+1)	;MAKE CHECK DATA POINTER
  2744	033410	271 14 0 10 000000 		ADDI	CDP,(AC)	;-WC+1, TO -WC
  2745	033411	202 14 0 00 000015 		MOVEM	CDP,POPE	;MAKE A POINTER FOR POP (E)
  2746	033412	542 13 0 00 033430 		HRRM	GDP,POPT5
  2747	033413	321 07 0 00 033424 		JUMPL	AC-1,POPT4	;NO MORE RANDOM IF ERROR SET
  2748	033414				POPT3:	RANDM1			^;FILL THE FROM AREA
  2749
  2750	033414	200 10 0 00 034420 		MOVE	AC,RAN#		;GENERATE 		 PSEUDO RANDOM NUMBER
  2751	033415	270 10 0 00 034236 		ADD	AC,[142536475076]
  2752	033416	241 10 0 00 777777 		ROT	AC,-1
  2753	033417	447 10 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. 
  2754	033420	202 10 0 13 000000 		MOVEM	AC,(GDP)	;WHEN EXIT GDP=0,FROM
  2755	033421	253 13 0 00 033422 		AOBJN	GDP,.+1
  2756	033422	603 13 0 00 770000 		TLNE	GDP,770000
  2757	033423	254 00 0 00 033414 		JRST	POPT3
  2758
  2759	033424	262 12 0 15 000000 	POPT4:	POP	POPOINT,(POPE)	;TRANSFER N WORDS WITH THE
  2760	033425	253 15 0 00 033426 		AOBJN	POPE,.+1	;POP INSTRUCTION
  2761	033426	603 15 0 00 770000 		TLNE	POPE,770000
  2762	033427	254 00 0 00 033424 		JRST	POPT4
  2763
  2764	033430	201 01 0 00 000000 	POPT5:	MOVEI	1,0		;FILLED BY DATA FROM+WC
  2765	033431	271 01 0 00 000001 		ADDI	1,1
  2766	033432	505 01 0 00 000001 		HRLI	1,1		;CHECK THE POP POINTER
  2767	033433	312 01 0 00 000012 		CAME	1,POPOINT
  2768	033434	004 12 0 00 000001 		ERROR	POPOINT,1	;POP POINTER FAIL
  2769	033435	551 01 0 11 000000 		HRRZI	1,(AC+1)	;CHECK THE DATA
  2770	033436	200 10 0 01 000000 		MOVE	AC,(1)		;IN THE TO AREA
  2771	033437	312 10 0 14 000000 		CAME	AC,(CDP)	;AGAINST THE FROM AREA
  2772	033440	004 10 0 14 000000 		ERROR	AC,(CDP)	;DATA FAIL
  2773	033441	275 01 0 00 000001 		SUBI	1,1
  2774	033442	253 14 0 00 033443 		AOBJN	CDP,.+1
  2775	033443	603 14 0 00 770000 		TLNE	CDP,770000
  2776	033444	254 00 0 00 033436 		JRST	.-6
  2777						LOOP	POPT1,POPRET^
  2778	033445	367 07 0 00 033355 		SOJG	AC-1,POPT1		;ITERATION COUNTER
  2779	033446	200 10 0 00 034420 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2780	033447	321 07 0 00 033400 		JUMPL	AC-1,POPRET		;LOOP ON ERROR SWITCH ^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 51
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0082

  2781
  2782					;PUSH TEST
  2783					;A RANDOM SET OF ADDRESS ARE CHOSEN SUCH THAT A FROM AND TO
  2784					;AREA ARE FORMED.  THE "TO" AREA IS THE TOP OF CORE (HIGH ADDRESS)
  2785					;AND "FROM" AREA IS THE LOWER ADDRESSES.  A RANDOM NUMBER IS
  2786					;GENERATED IN THE FROM AREA.  IT IS TRANSFERED BY THE PUSH INST
  2787					;TOO THE TO AREA.  WORKS ARE STORED SEQUENTIALY INCREMENTING IN THE
  2788					;"TO" AREA.  THE WORDS ARE OBTAINED BY DECREMENTING THROUGH THE
  2789					;FROM AREA.  IN THE EVENT OF ERROR THE PUSH POINTER IS RESET
  2790					;AND THE FAILURES IS CYCLED
  2791
  2792			000005			AC=5
  2793			000002			PP=2
  2794			000003			CKPP=3
  2795
  2796	033450				PUSHT:	SETUP1	1,1^
  2797			000006			AC1=<AC+1>&17
  2798			000007			AC2=<AC+2>&17
  2799			000010			AC3=<AC+3>&17
  2800			000011			AC4=<AC+4>&17
  2801			000012			AC5=<AC+5>&17
  2802			000003			RAN1=<AC-2>&17
  2803	033450	201 04 0 00 033450 		MOVEI	AC-1,.
  2804	033451	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2805	033452	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2806	033453	202 04 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2807	033454	201 04 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2808	033455	240 04 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2809	033456	240 04 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2810	033457				PUSHT1:	RANDM1^
  2811	033457	200 05 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2812	033460	270 05 0 00 034236 		ADD	AC,[142536475076]
  2813	033461	241 05 0 00 777777 		ROT	AC,-1
  2814	033462	447 05 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2815	033463	404 05 0 00 034416 	PUSHT2:	AND	AC,MODULO
  2816	033464	204 06 0 00 000005 		MOVS	AC+1,AC
  2817	033465	317 05 0 00 000006 		CAMG	AC,AC+1		;C(AC)R IS SMALLER ADDR
  2818	033466	250 05 0 00 000006 		EXCH	AC,AC+1		;C(AC+1)R IS LARGER ADDRESS
  2819	033467	405 05 0 00 777777 		ANDI	AC,-1		;SMALLEST ADDRESS MUST
  2820	033470	307 05 1 00 030145 		CAIG	AC,@MEMLOW	;BE ABOVE PROGRAM OR REJECT
  2821	033471	254 00 0 00 033457 		JRST	PUSHT1		;THESE NUMBERS
  2822	033472	201 00 0 06 000000 		MOVEI	(AC+1)		;FIND THE DIFFERENCE BETWEEN
  2823	033473	274 00 0 00 034416 		SUB	MODULO		;THE HIGHEST ADDR IN THE
  2824	033474	573 01 0 00 000000 		HRRES	1,0		;"TO" AREA AND THE TOP OF MEMORY
  2825	033475	325 01 0 00 033457 		JUMPGE	1,PUSHT1	;IF NO ROOM AT TOP REJECT
  2826	033476	217 01 0 00 000000 		MOVMS	1,0		;MAKE DIFF A POSITIVE NUMBER
  2827	033477	542 05 0 00 033505 	PUSHT3:	HRRM	AC,PUSHT5	;THE FROM AREA ADDRESS
  2828	033500	550 03 0 00 000006 		HRRZ	CKPP,AC+1	;A WORD TO CHECK POINTER INC
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 52
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0083

  2829	033501				PUSHT4:	RANDM1^
  2830	033501	200 05 0 00 034420 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2831	033502	270 05 0 00 034236 		ADD	AC,[142536475076]
  2832	033503	241 05 0 00 777777 		ROT	AC,-1
  2833	033504	447 05 0 00 034420 		EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. ^
  2834	033505	202 05 0 01 000000 	PUSHT5:	MOVEM	AC,0(1)		;STORE A RANDOM NUMBER IN
  2835	033506	202 03 0 00 000002 		MOVEM	CKPP,PP		;THE FROM AREA
  2836	033507	261 02 1 00 033505 		PUSH	PP,@.-2		;C(E) TO C(C(ACRT))
  2837	033510	270 03 0 00 034263 		ADD	CKPP,[XWD 1,1]	;INC THE CHECK POINTER
  2838	033511	312 02 0 00 000003 		CAME	PP,CKPP		;CHECK FOR PROPER INCREMENT
  2839	033512	004 02 0 00 000003 		ERROR	PP,CKPP		;ERROR
  2840	033513	312 05 0 03 000000 		CAME	AC,(CKPP)	;DATA TRANSFER INCORRECT
  2841	033514	004 05 0 03 000000 		ERROR	AC,(CKPP)	;ERROR
  2842	033515	325 04 0 00 033520 		JUMPGE	AC-1,.+3	;IF ERROR SWITCH IS SET
  2843	033516	274 03 0 00 034263 		SUB	CKPP,[XWD 1,1]	;BACK UP THE POINTER
  2844	033517	254 00 0 00 033505 		JRST	PUSHT5		;AND REPEAT THE SEQ
  2845	033520	367 01 0 00 033501 		SOJG	1,PUSHT4	;GO UNTIL TOP OF CORE
  2846						LOOP	PUSHT1,PUSHT1	^;ITERATE TEST
  2847
  2848	033521	367 04 0 00 033457 		SOJG	AC-1,PUSHT1		;ITERATION COUNTER
  2849	033522	200 05 0 00 034420 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2850	033523	321 04 0 00 033457 		JUMPL	AC-1,PUSHT1			;LOOP ON ERROR SWITCH 
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 53
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0084

  2851
  2852					;TEST POPJ
  2853					;CHECK TO SEE THAT THE POPJ CAN LOAD THE PC WITH EVERY
  2854					;ADDRESS IN THE BUFFER AND THAT IT JUMPS TO THE RIGHT
  2855					;LOC IN THE BUFFER
  2856
  2857			000005			AC=5
  2858	033524				POPJ1:	SETUP1	1,1^
  2859			000006			AC1=<AC+1>&17
  2860			000007			AC2=<AC+2>&17
  2861			000010			AC3=<AC+3>&17
  2862			000011			AC4=<AC+4>&17
  2863			000012			AC5=<AC+5>&17
  2864			000003			RAN1=<AC-2>&17
  2865	033524	201 04 0 00 033524 		MOVEI	AC-1,.
  2866	033525	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2867	033526	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2868	033527	202 04 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2869	033530	201 04 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2870	033531	240 04 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2871	033532	240 04 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2872	033533	200 05 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2873	033534	200 11 0 00 034264 		MOVE	AC4,[JSP AC3,POPJ4]	;JSP AC3, POPJ4
  2874	033535	202 11 0 05 000000 		MOVEM	AC4,(AC)	;FROM THE END OF PROG
  2875	033536	253 05 0 00 033537 		AOBJN	AC,.+1
  2876	033537	603 05 0 00 770000 		TLNE	AC,770000
  2877	033540	254 00 0 00 033535 		JRST	.-3
  2878	033541	200 05 0 00 034425 	POPJ1A:	MOVE	AC,WCBUF	;MOVE (-TOP+END,END) INTO AC.
  2879	033542	200 12 0 00 034265 		MOVE	AC5,[XWD 1,AC1]	;MAKE POINTER=(1,AC1)
  2880	033543	200 07 0 00 034266 		MOVE	AC2,[PUSHJ AC5,POPJ3]	;PUT A PUSHJ IN AC2.
  2881	033544	205 06 0 05 000000 	POPJ2:	MOVSI	AC1,(AC)	;SETUP AC1 SO BOTH HALVES
  2882	033545	541 06 0 05 000000 		HRRI	AC1,(AC)	;HAVE CURRENT LOC UNDER TEST.
  2883	033546	202 07 0 06 000000 		MOVEM	AC2,(AC1)	;STORE PUSHJ INTO CURRENT LOC IN BUFFER.
  2884	033547	263 12 0 00 000000 		POPJ	AC5,0		;DO THE POPJ.
  2885	033550	312 12 0 00 034265 	POPJ3:	CAME	AC5,[XWD 1,AC1]	;PUSHJ IN MEM BROUGHT IT BACK HERE
  2886	033551	004 12 0 00 034265 		ERROR	AC5,[XWD 1,AC1]	;POINTER DIDN'T GET DEC+INC PROPERLY
  2887	033552	254 00 0 00 033554 		JRST	.+2		;GO AROUND ERROR UUO
  2888	033553	004 10 0 00 000006 	POPJ4:	ERROR	AC3,AC1		;POPJ WENT TO WRONG LOC.
  2889	033554	321 04 0 00 033544 		JUMPL	AC-1,POPJ2	;LOOP ON ERROR SWITCH
  2890	033555	202 11 0 05 000000 		MOVEM	AC4,(AC)	;PUT A JSP IN CURRENT LOC.
  2891	033556	253 05 0 00 033557 		AOBJN	AC,.+1
  2892	033557	603 05 0 00 770000 		TLNE	AC,770000
  2893	033560	254 00 0 00 033544 		JRST	POPJ2		;INC TO TEST NEXT LOC.
  2894	033561	367 04 0 00 033541 		SOJG	AC-1,POPJ1A	;ITERATION COUNTER.
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 54
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0085

  2895
  2896					;TEST PUSHJ.
  2897					;CHECK TO SEE THAT THE PUSHJ CAN GO TO EVERY LOC IN
  2898					;THE BUFFER AREA
  2899
  2900			000006			AC=6
  2901	033562				PUSHJ1:	SETUP1	1,1^
  2902			000007			AC1=<AC+1>&17
  2903			000010			AC2=<AC+2>&17
  2904			000011			AC3=<AC+3>&17
  2905			000012			AC4=<AC+4>&17
  2906			000013			AC5=<AC+5>&17
  2907			000004			RAN1=<AC-2>&17
  2908	033562	201 05 0 00 033562 		MOVEI	AC-1,.
  2909	033563	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2910	033564	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2911	033565	202 05 0 00 034414 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2912	033566	201 05 0 00 000001 		MOVEI	AC-1,1		;ROUTINE WEIGHTING
  2913	033567	240 05 1 00 030700 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2914	033570	240 05 1 00 030676 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2915	033571	200 06 0 00 034412 		MOVE	AC,BUFSIZ	;PUT A
  2916	033572	200 12 0 00 034267 		MOVE	AC4,[JSP AC3,PUSHJ4]	;JSP AC3, PUSHJ4
  2917	033573	202 12 0 06 000000 		MOVEM	AC4,(AC)	;FROM TH END OF PROG
  2918	033574	253 06 0 00 033575 		AOBJN	AC,.+1
  2919	033575	603 06 0 00 770000 		TLNE	AC,770000
  2920	033576	254 00 0 00 033573 		JRST	.-3
  2921	033577	200 06 0 00 034425 	PUSHJA:	MOVE	AC,WCBUF	;MOVE (-TOP+END,END) INTO AC.
  2922	033600	200 10 0 00 034270 		MOVE	AC2,[POPJ AC1,0];MOVE A POPJ INTO AC2.
  2923	033601	205 07 0 06 000000 	PUSHJ2:	MOVSI	AC1,(AC)	;MAKE BOTH HALVES OF POINTER
  2924	033602	541 07 0 06 000000 		HRRI	AC1,(AC)	;= CURRENT LOC UNDER TEST.
  2925
  2926	033603	202 10 0 07 000000 	PUSHJ3:	MOVEM	AC2,(AC1)	;STORE POPJ IN CURRENT BUFF LOC.
  2927	033604	260 07 0 07 000000 		PUSHJ	AC1,(AC1)	;DO A PUSHJ
  2928	033605	254 00 0 00 033607 		JRST	.+2		;PUSHJ WENT TO RIGHT LOC.
  2929	033606	004 11 0 00 000007 	PUSHJ4:	ERROR	AC3,AC1		;PUSHJ WENT TO WRONG LOC.
  2930	033607	321 05 0 00 033601 		JUMPL	AC-1,PUSHJ2	;LOOP ON ERROR SWITCH.
  2931	033610	202 12 0 07 000000 		MOVEM	AC4,(AC1)	;RESTORE JSP IN CURRENT LOC.
  2932	033611	253 06 0 00 033612 		AOBJN	AC,.+1
  2933	033612	603 06 0 00 770000 		TLNE	AC,770000
  2934	033613	254 00 0 00 033603 		JRST	PUSHJ3		;INC TO TEST NEXT LOC.
  2935	033614	367 05 0 00 033577 		SOJG	AC-1,PUSHJA	;ITERATION COUNTER.
  2936
  2937
  2938	033615	254 00 0 00 030057 		JRST	BEGEND		;REPEAT TEST
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 55
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0086

  2939	033616	202 00 0 00 034434 	ERROUT:	MOVEM	0,%ERAC0	;SAVE AC0.
  2940	033617	202 01 0 00 034435 		MOVEM	1,%ERAC1	;SAVE AC1.
  2941	033620	202 02 0 00 034436 		MOVEM	2,%ERAC2	;SAVE AC2.
  2942	033621	350 00 0 00 030053 		AOS	ERRTLS
  2943	033622	350 00 0 00 034415 		AOS	MICNT		;INC ERR COUNT.
  2944	033623	336 00 0 00 030041 		SKIPN	KLFLG
  2945	033624	332 00 0 00 030037 		SKIPE	USER		;USER MODE ?
  2946	033625	254 00 0 00 033627 		JRST	.+2
  2947	033626	7 004 14 0 00 034415 		DATAO	PI,MICNT	;EXEC MODE. PUT ER CNT INTO MI.
  2948	033627	402 00 0 00 034417 		SETZM	PROCED		;CLR PROCEED FLAG.
  2949	033630	335 00 1 00 034414 		SKIPGE	@ERRLOP		;1ST TIME THROUGH ERR PNT?
  2950	033631	254 00 0 00 033676 		JRST	EROUT2		;NO.  SEE IF PRINT ALL
  2951	033632	037 04 0 00 000002 		PNTNM
  2952	033633	037 10 0 00 000002 		SWITCH			;GO READ THE DATA SWITCHES.
  2953	033634	603 00 0 00 040000 	EROUT1:	TLNE	0,NOPNT		;NO PRINTOUT ?
  2954	033635	254 00 0 00 034151 		JRST	%ERMORE		;YES. DON'T PNT AND GO HALT.
  2955	033636	402 00 0 00 034415 		SETZM	MICNT		;CLR ERR CNT.
  2956						PMSG	<PC =   >^
  2957	033637	037 02 0 00 034271 		PSIXM	[SIXBIT\PC =   _\]^
  2958	033640	200 00 0 17 000000 		MOVE	0,(P)
  2959	033641	360 00 0 00 000000 		SOJ	0,
  2960	033642	037 06 0 00 000000 		PNT6
  2961	033643	402 00 0 00 034410 		SETZM	ASTF#		;CLR PNT * FLAG.
  2962						PMSG	<^DEFER TEST FAILURE.^COR =  >^
  2963	033644	037 02 0 00 034273 		PSIXM	[SIXBIT\^DEFER TEST FAILURE.^COR =  _\]^
  2964	033645	200 00 0 00 000007 		MOVE	0,FINAL
  2965	033646	037 06 0 00 000000 		PNT6			;PNT C(GOOD).
  2966						PMSG	<^ERR = >^
  2967	033647	037 02 0 00 034300 		PSIXM	[SIXBIT\^ERR = _\]^
  2968	033650	200 00 0 00 000002 		MOVE	0,2
  2969	033651	037 06 0 00 000000 		PNT6			;PNT C(BAD).
  2970						PNTMSG	[ASCIZ/
  2971					THE FOLLOWING IS A LIST OF ALL THE
  2972					LOCATIONS WHERE THE INDIRECT BIT WAS SET.
  2973	033652	037 00 0 00 034302 	/]
  2974	033653	400 01 0 00 000000 		SETZ	1,
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 56
DBKBDM	MAC	 4-JUN-76		DIAGNOSTIC SECTION                                                                 SEQ 0087

  2975	033654	037 00 0 00 030242 	ERRT1:	PCRL
  2976	033655	550 00 0 01 033702 		HRRZ	0,TABL(1)	;GET ADDRESS ON LIST.
  2977	033656	316 00 0 00 000002 		CAMN	0,2		;= FAILING ADDRESS?
  2978	033657	476 00 0 00 034410 		SETOM	ASTF		;YES. SET PNT * FLAG.
  2979	033660	037 06 0 00 000000 		PNT6			;PNT ADDRESS ON LIST.
  2980	033661	201 00 0 00 030252 		MOVEI	0,AST
  2981	033662	332 00 0 00 034410 		SKIPE	ASTF		;PNT * FLAG SET?
  2982	033663	037 00 0 00 000000 		PNTA
  2983	033664	402 00 0 00 034410 		SETZM	ASTF		;CLR PNT * FLAG.
  2984	033665	305 01 0 06 777777 		CAIGE	1,-1(COUNT)	;END OF LIST?
  2985	033666	344 01 0 00 033654 		AOJA	1,ERRT1		;NO.
  2986	033667	037 00 0 00 030242 		PCRL
  2987	033670	402 00 0 00 000006 		SETZM	COUNT		;CLR COUNT.
  2988	033671	332 00 0 00 034413 		SKIPE	DFRTFG		;1ST DEFER TEST?
  2989	033672	550 04 0 00 033702 		HRRZ	4,TABL		;NO. SECOND.
  2990	033673	336 00 0 00 034413 		SKIPN	DFRTFG		;1ST DEFER TEST?
  2991	033674	200 10 0 00 033702 		MOVE	10,TABL		;RESTORE NUMBER.
  2992	033675	254 00 0 00 034151 		JRST	%ERMORE		;GO RESTORE AC'S AND RETURN.
  2993
  2994	033676	037 10 0 00 000002 	EROUT2:	SWITCH
  2995	033677	607 00 0 00 001000 		TLNN	PALERS		;PRINT ALL ERRORS ?
  2996	033700	254 00 0 00 034151 		JRST	%ERMORE		;NO
  2997	033701	254 00 0 00 033634 		JRST	EROUT1		;YES
  2998
  2999	033702				TABL:	BLOCK 40
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0088

  3000					SUBTTL	*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975
  3001
  3002					;THIS SUBROUTINE PROVIDES ERROR REPORTING THRU THE USE OF UUO'S.
  3003
  3004	033742	202 00 0 00 034434 	ERRMES:	MOVEM	0,%ERAC0#	;SAVE AC0
  3005						IFDEF	EXCASB,<IFDEF	KI10,<
  3006	033743	336 00 0 00 030040 		SKIPN	KAIFLG
  3007	033744	254 00 0 00 033751 		JRST	.+5
  3008	033745	332 00 0 00 030037 		SKIPE	USER		;USER MODE ?
  3009	033746	254 00 0 00 033751 		JRST	.+3
  3010	033747	332 00 0 00 030055 		SKIPE	MARGIN
  3011	033750	7 000 14 0 00 034323 		DATAO	APR,[IMGNOF,,ISPDOF] ;CLR MARGINS >>
  3012	033751	202 01 0 00 034435 		MOVEM	1,%ERAC1#	;SAVE AC1
  3013	033752	202 02 0 00 034436 		MOVEM	2,%ERAC2#	;SAVE AC2
  3014	033753	350 00 0 00 030053 		AOS	ERRTLS		;INCREMENT ERROR TOTALS
  3015	033754	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
  3016	033755	316 00 0 00 030052 		CAMN	0,ERRPC		;PC = PC OF LAST ERROR ?
  3017	033756	350 00 0 00 034415 		AOS	MICNT#		;YES, ADD 1 TO ERROR COUNT
  3018	033757	200 00 0 00 034415 		MOVE	0,MICNT
  3019	033760	504 00 0 00 030114 		HRL	0,$SVUPC
  3020	033761	336 00 0 00 030041 		SKIPN	KLFLG		;NOT KL10
  3021	033762	332 00 0 00 030037 		SKIPE	USER		;AND NOT USER?
  3022	033763	254 00 0 00 033765 		JRST	.+2
  3023	033764	7 004 14 0 00 000000 		DATAO	PI,0		;YES, DISPLAY ERROR PC,ERROR COUNT
  3024	033765	402 00 0 00 034417 		SETZM	PROCED#		;CLEAR PROCEED FLAG
  3025	033766	037 10 0 00 000002 		SWITCH
  3026	033767	603 00 0 00 040000 		TLNE	NOPNT		;PRINTOUT ?
  3027	033770	254 00 0 00 034154 		JRST	%ERRS1		;NO, RESTORE AC'S AND RETURN
  3028	033771	200 01 0 00 030113 		MOVE	1,$SVUUO
  3029	033772	242 01 0 00 777745 		LSH	1,-^D27
  3030	033773	202 01 0 00 034426 		MOVEM	1,%ACS1A#	;SAVE UUO NUMBER
  3031	033774	200 00 0 00 034434 		MOVE	0,%ERAC0
  3032	033775	200 01 0 00 034435 		MOVE	1,%ERAC1
  3033	033776	335 00 1 00 034414 		SKIPGE	@ERRLOP		;ERR LOOP AC > OR = 0 ?
  3034	033777	254 00 0 00 034214 		JRST	%ERRS4		;NO, SEE IF PRINT ALL
  3035	034000	402 00 0 00 034415 	%ERMS1:	SETZM	MICNT		;CLEAR ERROR COUNT
  3036	034001	331 00 0 00 030043 		SKIPL	MONCTL		;DIAG MON OR SYS EXER ?
  3037	034002	254 00 0 00 034006 		JRST	.+4		;NO, DON'T NEED TITLE
  3038	034003	336 00 0 00 034437 		SKIPN	%ERFST#		;FIRST ERROR ?
  3039	034004	037 04 0 00 000002 		PNTNM			;YES, PRINT PROGRAM TITLE
  3040	034005	476 00 0 00 034437 		SETOM	%ERFST
  3041	034006	336 00 0 00 030047 		SKIPN	PASCNT		;FIRST PASS ?
  3042	034007	254 00 0 00 034013 		JRST	.+4		;YES
  3043						PMSG	<^TEST PASS COUNT = >^
  3044	034010	037 02 0 00 034324 		PSIXM	[SIXBIT\^TEST PASS COUNT = _\]^
  3045	034011	200 00 0 00 030047 		MOVE	PASCNT
  3046	034012	037 15 0 00 000000 		PNTDEC
  3047						PMSG	<^PC =   >^
  3048	034013	037 02 0 00 034330 		PSIXM	[SIXBIT\^PC =   _\]^
  3049	034014	550 00 0 00 030114 		HRRZ	0,$SVUPC	;GET PC OF UUO
  3050	034015	202 00 0 00 030052 		MOVEM	0,ERRPC		;SAVE FOR COMPARE
  3051	034016	037 06 0 00 000000 		PNT6			;PRINT UUO ADDRESS
  3052						XLIST
  3053						LIST
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 4
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0089

  3054					;RELIABILITY FORMAT ERROR PRINTER
  3055
  3056	034017	402 00 0 00 034440 	%ERMS2:	SETZM	%RAND#		;CLEAR PNT C(RAN) FLAG
  3057	034020	200 01 0 00 034426 		MOVE	1,%ACS1A
  3058	034021	301 01 0 00 000011 		CAIL	1,11		;UUO # 11-13
  3059	034022	476 00 0 00 034440 		SETOM	%RAND		;YES, SET PNT C(RAN) FLAG
  3060	034023	620 01 0 00 000010 		TRZ	1,10		;MAKE UUO # 1-7
  3061	034024	202 01 0 00 034426 		MOVEM	1,%ACS1A
  3062	034025	200 02 0 00 030052 		MOVE	2,ERRPC		;GET UUO ADDRESS
  3063	034026	200 02 0 02 777777 		MOVE	2,-1(2)		;GET INST IN UUO-1
  3064	034027	301 01 0 00 000004 		CAIL	1,4		;UUO # < THAN 4 ?
  3065	034030	200 02 0 00 030113 		MOVE	2,$SVUUO	;YES, GET UUO
  3066	034031	202 02 0 00 034427 		MOVEM	2,%CNTE#	;SAVE E ADDRESS
  3067	034032	200 02 0 00 034436 		MOVE	2,%ERAC2
  3068	034033	200 01 0 00 034435 		MOVE	1,%ERAC1
  3069	034034	200 00 0 00 034434 		MOVE	0,%ERAC0
  3070	034035	201 01 1 00 034427 		MOVEI	1,@%CNTE	;GET ADRS FIELD OF UUO OR UUO-1
  3071	034036	202 01 0 00 034430 		MOVEM	1,%EE1#
  3072	034037	200 01 0 00 034435 		MOVE	1,%ERAC1
  3073	034040	200 01 1 00 034430 		MOVE	1,@%EE1		;GET C(E)
  3074	034041	202 01 0 00 034431 		MOVEM	1,%EE1A#
  3075	034042	200 01 0 00 034435 		MOVE	1,%ERAC1
  3076	034043	201 01 1 00 030113 		MOVEI	1,@$SVUUO	;GET ADDRESS FIELD OF UUO
  3077	034044	202 01 0 00 034432 		MOVEM	1,%EE2#
  3078	034045	200 01 0 00 034426 		MOVE	1,%ACS1A
  3079	034046	306 01 0 00 000003 		CAIN	1,3		;UUO # 3 ?
  3080	034047	254 00 0 00 034053 		JRST	.+4		;YES
  3081	034050	200 01 0 00 034435 		MOVE	1,%ERAC1
  3082	034051	200 01 1 00 034432 		MOVE	1,@%EE2		;GET C(E) OF UUO
  3083	034052	202 01 0 00 034433 		MOVEM	1,%EE2A#
  3084	034053	200 02 0 00 034426 		MOVE	2,%ACS1A	;GET UUO #
  3085	034054	200 01 0 00 034427 		MOVE	1,%CNTE
  3086	034055	242 01 0 00 777751 		LSH	1,-27		;GET AC NUMBER
  3087	034056	405 01 0 00 000017 		ANDI	1,17
  3088	034057	307 02 0 00 000005 		CAIG	2,5		;UUO # 6,7 OR 2
  3089	034060	306 02 0 00 000002 		CAIN	2,2
  3090	034061	254 00 0 00 034130 		JRST	%ERR2		;YES, GO PNT E AND C(E)
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 5
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0090

  3091					;PRINT ERROR AC
  3092
  3093						PMSG	<^AC =   >^
  3094	034062	037 02 0 00 034332 		PSIXM	[SIXBIT\^AC =   _\]^
  3095	034063	200 00 0 00 000001 		MOVE	0,1
  3096	034064	037 02 0 00 000000 		PNT2			;PRINT AC NUMBER
  3097						PMSG	<^C(AC)= >^
  3098	034065	037 02 0 00 034334 		PSIXM	[SIXBIT\^C(AC)= _\]^
  3099	034066	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
  3100	034067	307 01 0 00 000002 		CAIG	1,2		;IS AC # = SAVED AC ?
  3101	034070	200 00 0 01 034434 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
  3102	034071	037 13 0 00 000000 	%ERRB:	PNTHW			;PRINT C(AC) OR UUO2 (E)
  3103
  3104					;PRINT ERROR INFO
  3105
  3106	034072	306 02 0 00 000005 		CAIN	2,5		;UUO # 5
  3107	034073	254 00 0 00 034144 		JRST	%ERR4		;YES, GO PNT 'TST','SKP', OR ETC.
  3108
  3109						PMSG	<^COR =  >^
  3110	034074	037 02 0 00 034336 		PSIXM	[SIXBIT\^COR =  _\]^
  3111	034075	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
  3112	034076	307 01 0 00 000002 		CAIG	1,2		;IS AC # = SAVED AC ?
  3113	034077	200 00 0 01 034434 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
  3114	034100	302 02 0 00 000002 		CAIE	2,2
  3115	034101	200 00 0 00 034431 		MOVE	0,%EE1A		;UUO # 2, GET C(E)
  3116	034102	037 13 0 00 000000 		PNTHW			;PRINT C(E) OR UUO2 C(AC)
  3117	034103	301 02 0 00 000004 		CAIL	2,4		;UUO # >3 ?
  3118	034104	254 00 0 00 034147 		JRST	%ERRC		;YES, RESTORE AC'S AND RETURN
  3119
  3120						PMSG	<^    ORIGINAL>^
  3121	034105	037 02 0 00 034340 		PSIXM	[SIXBIT\^    ORIGINAL_\]^
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 6
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0091

  3122	034106	200 01 0 00 030113 	%ERRB1:	MOVE	1,$SVUUO
  3123	034107	242 01 0 00 777751 		LSH	1,-27		;GET AC # OF UUO
  3124	034110	405 01 0 00 000017 		ANDI	1,17
  3125						PMSG	<^C(AC)= >^
  3126	034111	037 02 0 00 034334 		PSIXM	[SIXBIT\^C(AC)= _\]^
  3127	034112	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
  3128	034113	307 01 0 00 000002 		CAIG	1,2		;IS AC # = SAVED AC ?
  3129	034114	200 00 0 01 034434 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
  3130	034115	332 00 0 00 034440 		SKIPE	%RAND		;PRINT C(RAN) FLAG SET ?
  3131	034116	200 00 0 00 034420 		MOVE	0,RAN#		;YES
  3132	034117	037 13 0 00 000000 		PNTHW			;PRINT C(AC) OR C(RAN)
  3133	034120	306 02 0 00 000003 		CAIN	2,3		;UUO # 3 ?
  3134	034121	254 00 0 00 034130 		JRST	%ERR2		;YES, PRINT E, RESTORE AC'S AND RETURN
  3135	034122	306 02 0 00 000007 		CAIN	2,7		;UUO # 7 ?
  3136	034123	254 00 0 00 034147 		JRST	%ERRC		;YES, BYPASS PRINTING C(E)
  3137						PMSG	<^C(E) = >^
  3138	034124	037 02 0 00 034343 		PSIXM	[SIXBIT\^C(E) = _\]^
  3139	034125	200 00 0 00 034433 		MOVE	0,%EE2A
  3140	034126	037 13 0 00 000000 		PNTHW			;PRINT C(E)
  3141	034127	254 00 0 00 034147 		JRST	%ERRC
  3142
  3143	034130				%ERR2:	PMSG	<^E =    >^
  3144	034130	037 02 0 00 034345 		PSIXM	[SIXBIT\^E =    _\]^
  3145	034131	200 00 0 00 034432 		MOVE	0,%EE2
  3146	034132	306 02 0 00 000002 		CAIN	2,2		;UUO # 2 ?
  3147	034133	200 00 0 00 034430 		MOVE	0,%EE1
  3148	034134	037 06 0 00 000000 		PNT6			;PRINT E OF UUO OR UUO-1
  3149	034135	301 02 0 00 000006 		CAIL	2,6		;UUO 6 OR 7 ?
  3150	034136	254 00 0 00 034106 		JRST	%ERRB1		;YES, GO PNT C(AC), C(E) AND RETURN
  3151	034137	306 02 0 00 000003 		CAIN	2,3		;UUO # 3 ?
  3152	034140	254 00 0 00 034147 		JRST	%ERRC		;YES, RESTORE AC'S AND RETURN
  3153
  3154						PMSG	<^C(E) = >^
  3155	034141	037 02 0 00 034343 		PSIXM	[SIXBIT\^C(E) = _\]^
  3156	034142	200 00 0 00 034431 		MOVE	0,%EE1A		;GET C(E)
  3157	034143	254 00 0 00 034071 		JRST	%ERRB
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 7
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0092

  3158					;PRINT ASCII COMMENT
  3159
  3160	034144	551 00 1 00 030113 	%ERR4:	HRRZI	0,@$SVUUO
  3161	034145	037 00 0 00 000000 		PNTA			;PRINT 'TST','SKP', OR ETC.
  3162	034146	254 00 0 00 034147 		JRST	%ERRC
  3163
  3164					;COMPLETE PRINTOUT
  3165
  3166	034147	037 00 0 00 030242 	%ERRC:	PCRL
  3167
  3168						XLIST
  3169						LIST
  3170	034150	254 00 0 00 034151 		JRST	%ERMORE
  3171
  3172					>
  3173						LIST
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 8
UUOERR	KLM	22-APR-75		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0093

  3174					;RESTORE AC'S AND RETURN OR HALT
  3175
  3176	034151	256 00 0 00 030101 	%ERMORE:XCT	ERMORE
  3177	034152	037 16 0 00 000002 		PNTMGN			;PRINT MARGINS	
  3178	034153	037 10 0 00 000002 		SWITCH
  3179
  3180	034154	037 07 0 00 000003 	%ERRS1:	TTALTM			;ALTMODE CHECK
  3181	034155	254 00 0 00 034161 		JRST	.+4		;NONE
  3182	034156	201 00 0 00 034161 		MOVEI	.+3		;SAVE CONT ADDRESS
  3183	034157	202 00 0 00 000130 		MOVEM	JOBOPC
  3184	034160	254 00 1 00 030063 		JRST	@ALTMGO		;PERFORM TRANSFER
  3185	034161	200 00 0 00 030046 		MOVE	CONSW
  3186	034162	603 00 0 00 002000 		TLNE	0,ERSTOP	;HALT ON ERROR SWITCH SET ?
  3187	034163	037 14 0 00 000004 		ERRHLT			;YES
  3188	034164	607 00 0 00 004000 		TLNN	0,LOOPER	;LOOP ON ERROR SWITCH SET ?
  3189	034165	476 00 0 00 034417 		SETOM	PROCED		;NO, SET THE PROCEED FLAG
  3190	034166	603 00 0 00 010000 		TLNE	0,DING		;RING BELL SWITCH SET ?
  3191	034167	037 01 0 00 000007 		PBELL			;YES, GO RING BELL
  3192
  3193	034170	200 02 0 00 034436 	%ERRS2:	MOVE	2,%ERAC2	;RESTORE AC'S
  3194	034171	200 01 0 00 034435 		MOVE	1,%ERAC1
  3195	034172	476 00 1 00 034414 		SETOM	@ERRLOP		;SET C(ERR LOOP AC) TO -1
  3196	034173	336 00 0 00 034417 		SKIPN	PROCED		;LOOP ON ERROR ?
  3197	034174	254 00 0 00 034204 		JRST	%ERRS5		;YES
  3198	034175	350 00 1 00 034414 		AOS	@ERRLOP		;NO, INC C(ERR LOOP AC)
  3199	034176	350 00 1 00 034414 		AOS	@ERRLOP		;SO IT ='S 1
  3200	034177	331 00 0 00 030043 		SKIPL	MONCTL		;UNDER DIAGNOSTIC MONITOR ?
  3201	034200	254 00 0 00 034204 		JRST	%ERRS5		;NO, CONTINUE PROGRAM
  3202	034201	200 00 0 00 030053 		MOVE	0,ERRTLS	;YES
  3203	034202	301 00 0 00 000005 		CAIL	0,5		;PRINTED ALLOWED ERRORS ?
  3204	034203	254 00 0 00 030061 		JRST	$BEND2
  3205
  3206	034204	200 00 0 00 034434 	%ERRS5:	MOVE	0,%ERAC0	;NO, CONTINUE PROGRAM
  3207						IFDEF	EXCASB,<IFDEF KI10,<
  3208	034205	336 00 0 00 030040 		SKIPN	KAIFLG
  3209	034206	254 00 0 00 034213 		JRST	.+5
  3210	034207	332 00 0 00 030037 		SKIPE	USER
  3211	034210	254 00 0 00 034213 		JRST	.+3
  3212	034211	332 00 0 00 030055 		SKIPE	MARGIN
  3213	034212	7 000 14 0 00 030055 		DATAO	APR,MARGIN	;RESET MARGIN SYSTEM >>
  3214	034213	254 00 0 00 030065 		JRST	UUOEXT
  3215
  3216	034214	200 00 0 00 030046 	%ERRS4:	MOVE	0,CONSW
  3217	034215	607 00 0 00 001000 		TLNN	PALERS		;PRINT ALL ERRORS ?
  3218	034216	254 00 0 00 034154 		JRST	%ERRS1		;NO
  3219	034217	254 00 0 00 034000 		JRST	%ERMS1		;YES
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0094

  3220					SUBTTL	*STOR* RESERVED STORAGE, JAN 5,1976
  3221
  3222					;PROGRAM LITERALS
  3223
  3224						XLIST
  3225					IFNDEF	$LPAPER,<LIST>
  3226	034220					LIT
  3227	034220	64 51 55 45 62 00 
  3228	034221	015 012 115 105 115 
  3229	034222	117 122 131 040 123 
  3230	034223	111 132 105 040 123 
  3231	034224	105 114 105 103 124 
  3232	034225	105 104 040 124 117 
  3233	034226	117 040 123 115 101 
  3234	034227	114 114 000 000 000 
  3235	034230	64 45 63 64 51 56 
  3236	034231	47 00 77 00 00 00 
  3237	034232	53 76 77 00 00 00 
  3238	034233	000001	000000
  3239	034234	45 70 51 64 00 00 
  3240	034235	120 101 122 000 000 
  3241	034236	142536	475076
  3242	034237	777777	777777
  3243	034240	101 117 123 000 000 
  3244	034241	124 123 124 000 000 
  3245	034242	265 04 0 00 032424 
  3246	034243	254 00 0 00 032423 
  3247	034244	112 122 123 124 000 
  3248	034245	265 02 0 00 032460 
  3249	034246	265 07 0 00 032511 
  3250	034247	264 00 0 00 032555 
  3251	034250	265 10 0 00 032616 
  3252	034251	266 11 0 00 032661 
  3253	034252	265 12 0 00 032715 
  3254	034253	267 10 0 00 032754 
  3255	034254	265 15 0 00 033012 
  3256	034255	334 16 0 00 000000 
  3257	034256	254 00 0 00 033014 
  3258	034257	265 14 0 00 033043 
  3259	034260	334 15 0 00 000001 
  3260	034261	254 00 0 00 033045 
  3261	034262	000001	000011
  3262	034263	000001	000001
  3263	034264	265 10 0 00 033553 
  3264	034265	000001	000006
  3265	034266	260 12 0 00 033550 
  3266	034267	265 11 0 00 033606 
  3267	034270	263 07 0 00 000000 
  3268	034271	60 43 00 35 00 00 
  3269	034272	00 77 00 00 00 00 
  3270	034273	76 44 45 46 45 62 
  3271	034274	00 64 45 63 64 00 
  3272	034275	46 41 51 54 65 62 
  3273	034276	45 16 76 43 57 62 
  3274	034277	00 35 00 00 77 00 
DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1-1
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0095

  3275	034300	76 45 62 62 00 35 
  3276	034301	00 77 00 00 00 00 
  3277	034302	015 012 124 110 105 
  3278	034303	040 106 117 114 114 
  3279	034304	117 127 111 116 107 
  3280	034305	040 111 123 040 101 
  3281	034306	040 114 111 123 124 
  3282	034307	040 117 106 040 101 
  3283	034310	114 114 040 124 110 
  3284	034311	105 015 012 114 117 
  3285	034312	103 101 124 111 117 
  3286	034313	116 123 040 127 110 
  3287	034314	105 122 105 040 124 
  3288	034315	110 105 040 111 116 
  3289	034316	104 111 122 105 103 
  3290	034317	124 040 102 111 124 
  3291	034320	040 127 101 123 040 
  3292	034321	123 105 124 056 015 
  3293	034322	012 000 000 000 000 
  3294	034323	002000	010000
  3295	034324	76 64 45 63 64 00 
  3296	034325	60 41 63 63 00 43 
  3297	034326	57 65 56 64 00 35 
  3298	034327	00 77 00 00 00 00 
  3299	034330	76 60 43 00 35 00 
  3300	034331	00 00 77 00 00 00 
  3301	034332	76 41 43 00 35 00 
  3302	034333	00 00 77 00 00 00 
  3303	034334	76 43 10 41 43 11 
  3304	034335	35 00 77 00 00 00 
  3305	034336	76 43 57 62 00 35 
  3306	034337	00 00 77 00 00 00 
  3307	034340	76 00 00 00 00 57 
  3308	034341	62 51 47 51 56 41 
  3309	034342	54 77 00 00 00 00 
  3310	034343	76 43 10 45 11 00 
  3311	034344	35 00 77 00 00 00 
  3312	034345	76 45 00 35 00 00 
  3313	034346	00 00 77 00 00 00 
  3314						LIST
  3315	034347	000000	000000		ENDSLD:	0
  3316
  3317					IFDEF	DEBUG,<
  3318	034350				PATCH:	BLOCK DEBUG		;PATCHING AREA
  3319					>
  3320
  3321					;PROGRAM VARIABLES
  3322	034410					VAR
  3323
  3324					IFDEF	PGMEND,<
  3325	034441	000000	000000		END:	0
  3326			030000			END	BEGIN	>

NO ERRORS DETECTED

DBKBD  PDP-10  KI10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %50A(432) 16:46  6-AUG-76 PAGE 1-2
STOR	KLM	 5-JAN-76		*STOR* RESERVED STORAGE, JAN 5,1976                                                SEQ 0096

PROGRAM BREAK IS 000000
ABSLUTE BREAK IS 034442
CPU TIME USED 00:11.439

6K CORE USED

A	   752#	   762	   764	   764#	   765	   767	   767#	   768	   770	   770#	   771	   773	   773#	   774
	   776	   776#	   777	   779	   779#	   780	   782	   782#                                                    SEQ 0097
ABORT	   151#
AC	   853#	   854	   855	   856	   857	   871	   885#	   887	   888	   889	   890	   891	   892	   893
	   894	   899	   900	   904	   905	   906	   907	   908	   909	   913	   922#	   924	   925	   926
	   927	   928	   929	   930	   931	   936	   937	   941	   942	   943	   944	   945	   949	   959#
	   961	   962	   963	   964	   965	   966	   967	   968	   973	   974	   978	   979	   980	   981
	   982	   983	   987	   996#	   998	   999	  1000	  1001	  1002	  1003	  1004	  1005	  1010	  1011
	  1016	  1017	  1018	  1019	  1020	  1024	  1033#	  1035	  1036	  1037	  1038	  1039	  1040	  1041
	  1042	  1047	  1048	  1053	  1054	  1055	  1056	  1057	  1061	  1070#	  1072	  1073	  1074	  1075
	  1076	  1077	  1078	  1079	  1084	  1085	  1090	  1091	  1092	  1093	  1094	  1095	  1099	  1108#
	  1110	  1111	  1112	  1113	  1114	  1115	  1116	  1117	  1122	  1123	  1128	  1129	  1130	  1131
	  1132	  1136	  1145#	  1147	  1148	  1149	  1150	  1151	  1152	  1153	  1154	  1159	  1160	  1165
	  1166	  1167	  1168	  1169	  1173	  1182#	  1184	  1185	  1186	  1187	  1188	  1189	  1190	  1191
	  1196	  1197	  1202	  1203	  1204	  1205	  1206	  1210	  1219#	  1221	  1222	  1223	  1224	  1225
	  1226	  1227	  1228	  1233	  1234	  1239	  1240	  1241	  1242	  1246	  1255#	  1257	  1258	  1259
	  1260	  1261	  1262	  1263	  1264	  1269	  1270	  1276	  1277	  1284	  1285	  1286	  1287	  1291
	  1300#	  1302	  1303	  1304	  1305	  1306	  1307	  1308	  1309	  1314	  1315	  1320	  1322	  1323
	  1327	  1329	  1330	  1334	  1343#	  1345	  1346	  1347	  1348	  1349	  1350	  1351	  1352	  1357
	  1358	  1363	  1365	  1366	  1370	  1372	  1373	  1377	  1386#	  1388	  1389	  1390	  1391	  1392
	  1393	  1394	  1395	  1400	  1401	  1405	  1406	  1408	  1410	  1411	  1415	  1416	  1417	  1419
	  1420	  1424	  1433#	  1435	  1436	  1437	  1438	  1439	  1440	  1441	  1442	  1447	  1448	  1452
	  1453	  1455	  1457	  1458	  1462	  1463	  1465	  1467	  1468	  1472	  1481#	  1483	  1484	  1485
	  1486	  1487	  1488	  1489	  1490	  1495	  1496	  1500	  1502	  1506	  1507	  1511	  1514	  1518
	  1519	  1523	  1532#	  1534	  1535	  1536	  1537	  1538	  1539	  1540	  1541	  1546	  1547	  1551
	  1553	  1554	  1558	  1560	  1563	  1564	  1567	  1568	  1572	  1574	  1577	  1586#	  1588	  1589
	  1590	  1591	  1592	  1593	  1594	  1595	  1600	  1601	  1605	  1606	  1607	  1609	  1610	  1615
	  1618	  1620	  1629#	  1631	  1632	  1633	  1634	  1635	  1636	  1637	  1638	  1643	  1644	  1648
	  1649	  1650	  1652	  1653	  1658	  1661	  1663	  1672#	  1674	  1675	  1676	  1677	  1678	  1679
	  1680	  1681	  1686	  1687	  1691	  1692	  1693	  1695	  1696	  1701	  1704	  1706	  1715#	  1717
	  1718	  1719	  1720	  1721	  1722	  1723	  1724	  1729	  1730	  1734	  1735	  1736	  1738	  1739
	  1744	  1747	  1749	  1757#	  1759	  1760	  1761	  1762	  1763	  1764	  1765	  1766	  1771	  1772
	  1776	  1777	  1778	  1783	  1784	  1789	  1790	  1794	  1795	  1799	  1800	  1804	  1813#	  1815
	  1816	  1817	  1818	  1819	  1820	  1821	  1822	  1827	  1828	  1832	  1833	  1834	  1835	  1837
	  1839	  1840	  1841	  1842	  1844	  1845	  1846	  1847	  1849	  1858#	  1860	  1861	  1862	  1863
	  1864	  1865	  1866	  1867	  1872	  1873	  1877	  1879	  1880	  1881	  1882	  1887	  1888	  1892
	  1901#	  1903	  1904	  1905	  1906	  1907	  1908	  1909	  1910	  1915	  1916	  1920	  1922	  1928
	  1929	  1932	  1935	  1948#	  1950	  1951	  1952	  1953	  1954	  1955	  1956	  1957	  1958	  1959
	  1960	  1961	  1962	  1963	  1965	  1966	  1967	  1977	  1982	  1992#	  1994	  1995	  1996	  1997
	  1998	  1999	  2000	  2001	  2002	  2003	  2004	  2005	  2006	  2007	  2008	  2009	  2010	  2011
	  2018	  2019	  2020	  2021	  2023	  2027	  2036#	  2038	  2039	  2040	  2041	  2042	  2043	  2044
	  2045	  2046	  2047	  2048	  2049	  2050	  2051	  2053	  2054	  2055	  2059	  2060	  2061	  2066
	  2071	  2082#	  2084	  2085	  2086	  2087	  2088	  2089	  2090	  2091	  2092	  2093	  2094	  2095
	  2096	  2097	  2099	  2100	  2101	  2112	  2114	  2116	  2120	  2125	  2135#	  2137	  2138	  2139
	  2140	  2141	  2142	  2143	  2144	  2145	  2146	  2147	  2148	  2149	  2150	  2152	  2153	  2154
	  2159	  2160	  2161	  2162	  2166	  2167	  2172	  2177	  2189#	  2191	  2192	  2193	  2194	  2195
	  2196	  2197	  2198	  2199	  2200	  2201	  2202	  2203	  2204	  2206	  2207	  2208	  2213	  2214
	  2215	  2216	  2221	  2227	  2232	  2242#	  2244	  2245	  2246	  2247	  2248	  2249	  2250	  2251
	  2252	  2253	  2254	  2255	  2256	  2257	  2259	  2260	  2261	  2264	  2265	  2266	  2267	  2272
	  2276	  2287#	  2289	  2290	  2291	  2292	  2293	  2294	  2295	  2296	  2297	  2298	  2299	  2300
	  2301	  2302	  2303	  2304	  2305	  2306	  2311	  2312	  2313	  2314	  2315	  2316	  2317	  2319
	  2321	  2326	  2337#	  2339	  2340	  2341	  2342	  2343	  2344	  2345	  2346	  2347	  2348	  2349
	  2350	  2351	  2367	  2368	  2374#	  2376	  2377	  2378	  2379	  2380	  2381	  2382	  2383	  2384
	  2385	  2386	  2387	  2388	  2401	  2402	  2405	  2406	  2530#	  2532	  2533	  2534	  2535	  2536
	  2537	  2538	  2539	  2540	  2541	  2542	  2543	  2544	  2546	  2547	  2548	  2549	  2550	  2552     SEQ 0098
	  2553	  2555	  2556	  2557	  2566#	  2568	  2569	  2570	  2571	  2572	  2573	  2574	  2575	  2576
	  2577	  2578	  2579	  2580	  2582	  2583	  2584	  2585	  2586	  2587	  2589	  2591	  2592	  2594
	  2595	  2597	  2598	  2599	  2605#	  2607	  2608	  2609	  2610	  2611	  2612	  2613	  2614	  2615
	  2616	  2617	  2618	  2619	  2621	  2622	  2623	  2624	  2626	  2627	  2628	  2630	  2631	  2632
	  2639#	  2641	  2642	  2643	  2644	  2645	  2646	  2647	  2648	  2649	  2650	  2651	  2652	  2653
	  2655	  2656	  2657	  2658	  2659	  2660	  2661	  2664	  2665	  2672	  2673	  2675	  2676	  2677
	  2697#	  2703	  2704	  2705	  2706	  2707	  2708	  2709	  2710	  2711	  2712	  2713	  2714	  2715
	  2717	  2718	  2719	  2720	  2721	  2722	  2723	  2725	  2726	  2727	  2728	  2733	  2740	  2743
	  2744	  2747	  2750	  2751	  2752	  2753	  2754	  2769	  2770	  2771	  2772	  2778	  2779	  2780
	  2792#	  2797	  2798	  2799	  2800	  2801	  2802	  2803	  2804	  2805	  2806	  2807	  2808	  2809
	  2811	  2812	  2813	  2814	  2815	  2816	  2817	  2818	  2819	  2820	  2822	  2827	  2828	  2830
	  2831	  2832	  2833	  2834	  2840	  2841	  2842	  2848	  2849	  2850	  2857#	  2859	  2860	  2861
	  2862	  2863	  2864	  2865	  2866	  2867	  2868	  2869	  2870	  2871	  2872	  2874	  2875	  2876
	  2878	  2881	  2882	  2889	  2890	  2891	  2892	  2894	  2900#	  2902	  2903	  2904	  2905	  2906
	  2907	  2908	  2909	  2910	  2911	  2912	  2913	  2914	  2915	  2917	  2918	  2919	  2921	  2923
	  2924	  2930	  2932	  2933	  2935
AC1	   887#	   895	   901	   902	   904	   905	   906	   907	   908	   911	   914	   915	   924#	   932
	   938	   939	   941	   942	   943	   944	   947	   950	   951	   961#	   969	   975	   976	   978
	   979	   980	   981	   982	   985	   988	   989	   998#	  1006	  1012	  1013	  1016	  1017	  1018
	  1019	  1022	  1025	  1026	  1035#	  1043	  1049	  1050	  1053	  1054	  1055	  1056	  1059	  1062
	  1063	  1072#	  1080	  1086	  1087	  1090	  1091	  1092	  1093	  1094	  1097	  1100	  1101	  1110#
	  1118	  1124	  1125	  1128	  1129	  1130	  1131	  1134	  1137	  1138	  1147#	  1155	  1161	  1162
	  1165	  1166	  1167	  1168	  1171	  1174	  1175	  1184#	  1192	  1198	  1199	  1202	  1203	  1204
	  1205	  1208	  1211	  1212	  1221#	  1229	  1235	  1236	  1239	  1240	  1241	  1244	  1247	  1248
	  1257#	  1265	  1271	  1272	  1276	  1277	  1279	  1285	  1286	  1287	  1289	  1292	  1293	  1302#
	  1310	  1316	  1317	  1320	  1321	  1322	  1325	  1327	  1328	  1329	  1332	  1335	  1336	  1345#
	  1353	  1359	  1360	  1363	  1364	  1365	  1368	  1370	  1371	  1372	  1375	  1378	  1379	  1388#
	  1396	  1402	  1403	  1408	  1409	  1410	  1413	  1417	  1418	  1419	  1422	  1425	  1426	  1435#
	  1443	  1449	  1450	  1455	  1456	  1457	  1460	  1465	  1466	  1467	  1470	  1473	  1474	  1483#
	  1491	  1497	  1498	  1502	  1503	  1506	  1509	  1514	  1515	  1518	  1521	  1524	  1525	  1534#
	  1542	  1548	  1549	  1553	  1556	  1560	  1561	  1564	  1567	  1570	  1574	  1575	  1578	  1579
	  1588#	  1596	  1602	  1603	  1609	  1612	  1615	  1616	  1618	  1621	  1622	  1631#	  1639	  1645
	  1646	  1652	  1655	  1658	  1659	  1661	  1664	  1665	  1674#	  1682	  1688	  1689	  1695	  1698
	  1701	  1702	  1704	  1707	  1708	  1717#	  1725	  1731	  1732	  1738	  1741	  1744	  1745	  1747
	  1750	  1751	  1759#	  1767	  1773	  1774	  1777	  1780	  1783	  1786	  1789	  1792	  1794	  1797
	  1799	  1802	  1805	  1806	  1815#	  1823	  1829	  1830	  1832	  1833	  1835	  1839	  1840	  1844
	  1845	  1850	  1851	  1860#	  1868	  1874	  1875	  1881	  1884	  1886	  1887	  1888	  1890	  1893
	  1894	  1903#	  1911	  1917	  1918	  1920	  1921	  1922	  1923	  1926	  1928	  1929	  1931	  1932
	  1933	  1936	  1937	  1950#	  1969	  1971	  1972	  1976	  1978	  1979	  1980	  1994#	  2008	  2009
	  2013	  2017	  2019	  2022	  2024	  2025	  2038#	  2057	  2058	  2060	  2064	  2065	  2067	  2068
	  2069	  2084#	  2103	  2104	  2113	  2114	  2121	  2122	  2123	  2137#	  2156	  2157	  2164	  2166
	  2168	  2170	  2171	  2173	  2174	  2175	  2191#	  2210	  2211	  2220	  2221	  2228	  2229	  2230
	  2244#	  2263	  2264	  2266	  2270	  2271	  2273	  2274	  2289#	  2308	  2309	  2316	  2319	  2322
	  2323	  2324	  2339#	  2354	  2355	  2356	  2357	  2358	  2359	  2360	  2376#	  2391	  2392	  2393
	  2394	  2395	  2396	  2397	  2532#	  2550	  2551	  2568#	  2591	  2593	  2594	  2595	  2607#	  2625
	  2626	  2641#	  2660	  2661	  2662	  2664	  2665	  2666	  2668	  2670	  2671	  2672	  2673	  2703#
	  2797#	  2859#	  2879	  2881	  2882	  2883	  2885	  2886	  2888	  2902#	  2922	  2923	  2924	  2926
	  2927	  2929	  2931
AC2	   888#	   925#	   962#	   999#	  1036#	  1073#	  1111#	  1148#	  1185#	  1222#	  1258#	  1274	  1275	  1279
	  1282	  1283	  1289	  1303#	  1346#	  1389#	  1406	  1411	  1412	  1413	  1414	  1416	  1420	  1421
	  1422	  1423	  1436#	  1453	  1458	  1459	  1460	  1461	  1463	  1468	  1469	  1470	  1471	  1484#
	  1500	  1501	  1503	  1505	  1507	  1509	  1512	  1513	  1515	  1517	  1519	  1521	  1535#	  1551
	  1552	  1554	  1556	  1559	  1561	  1565	  1566	  1568	  1570	  1573	  1575	  1589#	  1607	  1608     SEQ 0099
	  1612	  1617	  1619	  1632#	  1650	  1651	  1655	  1660	  1662	  1675#	  1693	  1694	  1698	  1703
	  1705	  1718#	  1736	  1737	  1741	  1746	  1748	  1760#	  1776	  1778	  1780	  1785	  1787	  1788
	  1792	  1796	  1798	  1800	  1802	  1816#	  1861#	  1877	  1878	  1880	  1884	  1890	  1904#	  1921
	  1923	  1924	  1951#	  1970	  1971	  1995#	  2014	  2015	  2016	  2017	  2021	  2039#	  2052	  2053
	  2062	  2067	  2085#	  2105	  2106	  2109	  2111	  2113	  2118	  2138#	  2192#	  2217	  2223	  2224
	  2226	  2245#	  2258	  2259	  2267	  2268	  2271	  2290#	  2303	  2304	  2318	  2320	  2322	  2340#
	  2353	  2358	  2361	  2362	  2363	  2377#	  2390	  2395	  2398	  2399	  2400	  2533#	  2551	  2552
	  2553	  2569#	  2593	  2608#	  2627	  2628	  2642#	  2671	  2704#	  2798#	  2860#	  2880	  2883	  2903#
	  2922	  2926
AC3	   889#	   926#	   963#	  1000#	  1037#	  1074#	  1112#	  1149#	  1186#	  1223#	  1259#	  1281	  1282	  1283
	  1304#	  1347#	  1390#	  1437#	  1485#	  1536#	  1558	  1562	  1572	  1576	  1590#	  1606	  1610	  1611
	  1613	  1617	  1619	  1633#	  1649	  1653	  1654	  1656	  1660	  1662	  1676#	  1692	  1696	  1697
	  1699	  1703	  1705	  1719#	  1735	  1739	  1740	  1742	  1746	  1748	  1761#	  1782	  1784	  1786
	  1790	  1791	  1793	  1795	  1796	  1797	  1798	  1801	  1803	  1817#	  1862#	  1905#	  1952#	  1964
	  1975	  1976	  1996#	  2040#	  2086#	  2107	  2108	  2110	  2139#	  2151	  2169	  2170	  2171	  2193#
	  2205	  2218	  2225	  2246#	  2258	  2269	  2270	  2291#	  2341#	  2352	  2359	  2362	  2363	  2366
	  2378#	  2389	  2396	  2399	  2400	  2404	  2534#	  2570#	  2609#	  2643#	  2705#	  2799#	  2861#	  2873
	  2888	  2904#	  2916	  2929
AC4	   890#	   927#	   964#	  1001#	  1038#	  1075#	  1113#	  1150#	  1187#	  1224#	  1260#	  1305#	  1348#	  1391#
	  1438#	  1486#	  1537#	  1591#	  1614	  1616	  1634#	  1657	  1659	  1677#	  1700	  1702	  1720#	  1743
	  1745	  1762#	  1818#	  1863#	  1906#	  1953#	  1964	  1965	  1978	  1997#	  2041#	  2052	  2063	  2064
	  2065	  2087#	  2098	  2099	  2117	  2119	  2121	  2140#	  2164	  2165	  2167	  2194#	  2205	  2206
	  2224	  2226	  2228	  2247#	  2265	  2268	  2292#	  2342#	  2353	  2365	  2379#	  2390	  2403	  2535#
	  2571#	  2610#	  2644#	  2706#	  2800#	  2862#	  2873	  2874	  2890	  2905#	  2916	  2917	  2931
AC5	  1954#	  1998#	  2042#	  2088#	  2141#	  2151	  2152	  2173	  2195#	  2219	  2220	  2225	  2248#	  2293#
	  2343#	  2354	  2366	  2380#	  2391	  2404	  2536#	  2572#	  2611#	  2645#	  2707#	  2801#	  2863#	  2879
	  2880	  2884	  2885	  2886	  2906#
ALTMGO	   466#	  3184
AMCLRB	   380#
ANXM	   380#
APR	   868	  3011	  3213
AROV	   380#	   794
AROVTP	   380#
AROVU	   380#
AST	   581#	  2980
ASTF	  2961#	  2961	  2978	  2981	  2983
ATSIN	   582#
BEGEND	   462#	  2938
BEGIN	    74	    77	    78	    79	    80	    81	    82	    83	    84	   365	   366	   393#	  3326
BEGIN1	   409#	   463
BELL	   585#
BIS	   380#
BLOK	   806#	   806	   859	   895#	   895	   932#	   932	   969#	   969	  1006#	  1006	  1043#	  1043	  1080#
	  1080	  1118#	  1118	  1155#	  1155	  1192#	  1192	  1229#	  1229	  1265#	  1265	  1310#	  1310	  1353#
	  1353	  1396#	  1396	  1443#	  1443	  1491#	  1491	  1542#	  1542	  1596#	  1596	  1639#	  1639	  1682#
	  1682	  1725#	  1725	  1767#	  1767	  1823#	  1823	  1868#	  1868	  1911#	  1911
BUFSIZ	   818#	   818	  1963	  2007	  2051	  2097	  2150	  2204	  2257	  2302	  2872	  2915
CCA	   380#
CDP	  2700#	  2742	  2744	  2745	  2771	  2772	  2774	  2775
CHAIN	   171#	   739
CHNOFF	   380#
CHNON	   380#	   880
CKPP	  2794#	  2828	  2835	  2837	  2838	  2839	  2840	  2841	  2843                                             SEQ 0100
CLK	   380#
CLKCLR	   380#
CLKDIS	   380#
CLKENB	   380#
CLKU	   380#
CLOCKF	   448#
CMPLXT	   753	   762	   765	   768	   771	   774	   777	   780	   798#	  1961	  2005	  2049	  2095	  2148
	  2202	  2255	  2300	  2350	  2387	  2543	  2579	  2618	  2652	  2714	  2808	  2870	  2913
CNTLC	   465#
CNTRP	   380#
COMMA	   574#
CONSW	   449#	   732	   738	  3185	  3216
COUNT	  2414#	  2424#	  2424	  2437	  2440	  2446	  2475	  2495	  2512	  2984	  2987
CPOPJ	   469#
CPOPJ1	   467#
CRLF	   300	   301	   569#
CRLF2	   304	   305	   571#
CRY0	   380#	   794
CRY1	   380#	   794
CSHFLG	   628#
CSHMEM	   629#
CTRP	   380#
CYCL60	   622#
DCK	   380#
DDTLNK	   185#	   407
DDTSRT	   407#
DEBUG	    59#	  3317	  3318
DECVER	     3#	    10	    26	   428
DF22F	   533#
DFRT1	  2423#	  2453
DFRT2	  2425#	  2431	  2435
DFRT3	  2433	  2436#	  2448	  2454
DFRT4	  2442	  2449#
DFRTFG	  2422#	  2422	  2468#	  2468	  2988	  2990
DFRTST	  2416#
DFT	  2461#
DFT1	  2469#	  2522
DFT2	  2476#	  2482	  2486
DFT3	  2484	  2487#	  2514	  2523
DFT4	  2509	  2515#	  2520
DIAGMN	   396#
DING	   157#	  3190
DOLLAR	   588#
DSKUPD	   433
END	  3325#
ENDFIX	   702#
ENDSLD	  3315#
ERDIAG	  3053
ERMORE	   482#	  3176
EROUT1	  2953#	  2997
EROUT2	  2950	  2994#
ERRELB	    55#	  3053
ERRLOP	   857#	   857	   894#	   894	   931#	   931	   968#	   968	  1005#	  1005	  1042#	  1042	  1079#	  1079     SEQ 0101
	  1117#	  1117	  1154#	  1154	  1191#	  1191	  1228#	  1228	  1264#	  1264	  1309#	  1309	  1352#	  1352
	  1395#	  1395	  1442#	  1442	  1490#	  1490	  1541#	  1541	  1595#	  1595	  1638#	  1638	  1681#	  1681
	  1724#	  1724	  1766#	  1766	  1822#	  1822	  1867#	  1867	  1910#	  1910	  1959#	  1959	  2003#	  2003
	  2047#	  2047	  2093#	  2093	  2146#	  2146	  2200#	  2200	  2253#	  2253	  2298#	  2298	  2348#	  2348
	  2385#	  2385	  2419#	  2419	  2464	  2541#	  2541	  2577#	  2577	  2616#	  2616	  2650#	  2650	  2712#
	  2712	  2806#	  2806	  2868#	  2868	  2911#	  2911	  2949	  3033	  3195	  3198	  3199
ERRMES	    42	    43	    44	    45	    46	    47	    48	    49	  3004#
ERROUT	  2452	  2519	  2939#
ERRPC	   453#	  3016	  3050	  3062
ERRT1	  2975#	  2985
ERRTLS	   454#	  2942	  3014	  3202
ERSTOP	   160#	  3186
EXCASB	    53#	   431	  3005	  3207
EXCMEM	   380#
EXCPFW	   380#
EXIOT	   380#
FINAL	  2415#	  2451	  2964
FLAGS	   794#	  2014	  2105
FOV	   380#	   794
FOVU	   380#
FRDLNK	   183#
FSELNK	   182#
FXU	   380#
GDP	  2699#	  2741	  2742	  2743	  2746	  2754	  2755	  2756
HYPEN	   579#
IADBRK	   380#
IADEXC	   380#
IADSTP	   380#
IADUSR	   380#
IAPRC1	   380#
IAPRE1	   380#
IASRTC	   380#
IASRTE	   380#
IASRTS	   380#
ICNSLL	   380#
ICNSLR	   380#
IDATAF	   380#
IEVNPR	   380#
IFMMAN	   380#
IINSTF	   380#
IIOPFC	   380#
IIOPFL	   380#
IMAINT	   380#
IMGINM	   380#
IMGNLO	   380#
IMGNOF	   380#	  3011
IMGNON	   380#
IMIPGD	   380#
IMLAPD	   380#
INHCSH	   168#
INHPAG	   165#
INXCLR	   380#
INXM	   380#                                                                                                            SEQ 0102
INXSTP	   380#
IOCLR	   380#
IP50HZ	   380#
IPAREN	   380#
IPARER	   380#	   868
IPRSTP	   380#
IPWRFL	   380#
IPWRLO	   380#
IRQCLR	   380#
ISPDOF	   380#	  3011
ISPDON	   380#
ITERAT	    93#	   426
ITMDIS	   380#
ITMENB	   380#
ITMOEN	   380#
ITMOUT	   380#
ITMSET	   380#
ITRCH1	   486#
ITRCNT	   426#
IWRITE	   380#
JOB41	   380#
JOBAPR	   380#
JOBCNI	   380#
JOBDDT	   380#
JOBFF	   380#
JOBOPC	   380#	  3183
JOBREL	   380#
JOBREN	   380#
JOBSA	   380#
JOBSYM	   380#
JOBTPC	   380#
JOBUSY	   380#
JOBUUO	   380#
JOBVER	   380#
JRA1	  2243#
JRA1A	  2263#	  2276
JRA2	  2264#	  2272	  2275
JRA3	  2258	  2267#
JRAA	  2288#
JRAA1	  2308#	  2326
JRAB	  2310#	  2325
JRAC	  2315#	  2321
JRAD	  2303	  2317#
JRST1	  1949#
JRST1A	  1969#	  1982
JRST2	  1971#	  1981
JRST3	  1972#	  1977
JRST4	  1970	  1974#
JRST5	  1964	  1975#
JSA1	  2190#
JSA1A	  2156#	  2177
JSA2	  2212#	  2231
JSA3	  2218#	  2227                                                                                                     SEQ 0103
JSA4	  2205	  2219	  2222#	  2223
JSAA	  2136#
JSAB	  2158#	  2176
JSAC	  2166#	  2172
JSAD	  2151	  2165	  2167#
JSAX	  2210#	  2232
JSP1	  1993#
JSP1A	  2013#	  2027
JSP2	  2016#	  2023	  2026
JSP3	  2008	  2020#
JSPA1	  2057#	  2071
JSR1	  2083#
JSR1A	  2103#	  2125
JSR2	  2112#	  2120
JSR3	  2113#	  2124
JSR4	  2098	  2115#	  2118
JSRA	  2037#
JSRB	  2059#	  2066
JSRC	  2060#	  2070
JSRD	  2052	  2061#
KA10	   380
KAHZ50	   173#
KAIFLG	   443#	  3006	  3208
KI10	    57#	   380	  3005	  3207
KL10	   380
KLFLG	   444#	  2944	  3020
KLOLD	    56#	   380
KLTYP	   660#
KNTRP	   380#
KTRP	   380#
LDEXCB	   380#
LDLNK	   184#	   396	   398
LDUSRB	   380#
LFP	   583#
LIP	   380#	  2020	  2110	  2111
LOOPER	   159#	  3188
LUUO	   380#
LUUO1	    42#	   513	   514
LUUO10	   513	   518
LUUO11	   513	   518
LUUO12	   513	   519
LUUO13	    49#	   513	   519
LUUO14	   513	   520
LUUO15	   513	   520
LUUO16	   513	   521
LUUO17	   513	   521
LUUO2	    43#	   513	   515
LUUO20	   513	   522
LUUO21	   513	   522
LUUO22	   513	   523
LUUO23	   513	   523
LUUO24	   513	   524
LUUO25	   513	   524                                                                                                     SEQ 0104
LUUO26	   513	   525
LUUO27	   513	   525
LUUO3	    44#	   513	   515
LUUO30	   513	   526
LUUO31	   513	   526
LUUO32	   513	   527
LUUO33	   513	   527
LUUO4	    45#	   513	   516
LUUO5	    46#	   513	   516
LUUO6	    47#	   513	   517
LUUO7	    48#	   513	   517
LUUOI	   380#
MAPNEW	   534#
MARGIN	   456#	  3010	  3212	  3213
MCNVER	     4#	    10	    26	   428
MEMFD1	   714#
MEMFD2	   718#	   736
MEMFD3	   717	   732#
MEMFD4	   723	   734	   738#
MEMLOW	   536#	   722	   803	   805	   813	   815	  2355	  2364	  2392	  2401	  2423	  2430	  2474	  2481
	  2662	  2734	  2820
MEMMAP	    60#	   434
MEMSIZ	   537#	   720	   721	   743	   801	   808
MEMTOT	   535#
MICNT	  2943	  2947	  2955	  3017#	  3017	  3018	  3035
MINUS	   578#
MODDVC	   167#
MODDVL	   365	   365#	   429
MODDVU	   366	   366#	   430
MODLNK	   186#	   393
MODULO	   811#	   811	  2352	  2389	  2421	  2473	  2586	  2659	  2721	  2815	  2823
MONCTL	   446#	  3036	  3200
MONFLG	   445#
MONTEN	   447#
MPVU	   380#
MSADT	   819	   854#
MSADT1	   861	   863#	   871	   874
MSADT2	   860#	   877
MSADT3	   867	   871#
MST1	   790	   801#
MST2	   808#
MUUO	   380#
MUUOPC	   380#
NOPNT	   155#	  2953	  3026
NXMU	   380#
OPRSEL	   169#	   733
OPTIME	   548#
P	   212	   213	   214	   215	   380#	   468	  2958
PAG	   380#
PALERS	   161#	  2995	  3217
PARCLR	   380#	   862	   870	   880
PARDIS	   380#	   862
PAREA1	    86#	   424                                                                                                     SEQ 0105
PAREA2	    87#	   425
PAREA3	    88#	   422
PAREA4	    89#	   423
PAREA5	    90#	   435
PAREA6	    91#	   436
PAREA7	   435#
PAREA8	   436#
PARENB	   380#	   880
PARU	   380#
PASCNT	   450#	  3041	  3045
PATCH	  3318#
PDISF	   545#
PDLOVU	   380#
PDOVTP	   380#
PERIOD	   575#
PFSTRT	   402#
PGFTRP	   380#
PGMEND	    58#	  3324
PGMNAM	   427	   727	   823#
PI	   862	   870	   880	  2947	  3023
PICHN1	   380#
PICHN2	   380#
PICHN3	   380#
PICHN4	   380#
PICHN5	   380#
PICHN6	   380#
PICHN7	   380#
PICHNA	   380#	   880
PICLR	   380#
PIOFF	   380#
PION	   380#	   880
PLIST	   614#	   614
PLISTE	   614	   616#	   700
PLISTS	   615#
PLUS	   580#
PNTENB	   544#
PNTEXT	   423#
PNTFLG	   543#
PNTINH	   546#
PNTLPT	   156#
PNTNAM	   422#
PNTRP	   380#
PNTSPC	   547#
POPE	  2701#	  2745	  2759	  2760	  2761
POPJ1	  2858#
POPJ1A	  2878#	  2894
POPJ2	  2881#	  2889	  2893
POPJ3	  2880	  2885#
POPJ4	  2873	  2888#
POPOIN	  2698#	  2739	  2740	  2759	  2767	  2768
POPRET	  2736#	  2780
POPT	  2702#
POPT1	  2716#	  2732	  2738	  2778                                                                                     SEQ 0106
POPT2	  2739#
POPT3	  2748#	  2757
POPT4	  2747	  2759#	  2762
POPT5	  2746	  2764#
PP	  2793#	  2835	  2836	  2838	  2839
PROCED	  2948	  3024#	  3024	  3189	  3196
PTRP	   380#
PUSHJ1	  2901#
PUSHJ2	  2923#	  2930
PUSHJ3	  2926#	  2934
PUSHJ4	  2916	  2929#
PUSHJA	  2921#	  2935
PUSHT	  2796#
PUSHT1	  2810#	  2821	  2825	  2848	  2850
PUSHT2	  2815#
PUSHT3	  2827#
PUSHT4	  2829#	  2845
PUSHT5	  2827	  2834#	  2844
PVPAGI	   641#
PWFCLR	   380#
QUEST	   586#
RA	    71#	   710	   897	   898	   899	   900	   901	   902	   903	   909	   910	   911	   912	   934
	   935	   936	   937	   938	   939	   940	   945	   946	   947	   948	   971	   972	   973	   974
	   975	   976	   977	   983	   984	   985	   986	  1008	  1009	  1010	  1011	  1012	  1013	  1014
	  1020	  1021	  1022	  1023	  1045	  1046	  1047	  1048	  1049	  1050	  1051	  1057	  1058	  1059
	  1060	  1082	  1083	  1084	  1085	  1086	  1087	  1088	  1095	  1096	  1097	  1098	  1120	  1121
	  1122	  1123	  1124	  1125	  1126	  1132	  1133	  1134	  1135	  1157	  1158	  1159	  1160	  1161
	  1162	  1163	  1169	  1170	  1171	  1172	  1194	  1195	  1196	  1197	  1198	  1199	  1200	  1206
	  1207	  1208	  1209	  1231	  1232	  1233	  1234	  1235	  1236	  1237	  1242	  1243	  1244	  1245
	  1267	  1268	  1269	  1270	  1271	  1272	  1273	  1274	  1275	  1278	  1280	  1281	  1284	  1288
	  1290	  1312	  1313	  1314	  1315	  1316	  1317	  1318	  1323	  1324	  1325	  1326	  1330	  1331
	  1332	  1333	  1355	  1356	  1357	  1358	  1359	  1360	  1361	  1366	  1367	  1368	  1369	  1373
	  1374	  1375	  1376	  1398	  1399	  1400	  1401	  1402	  1403	  1404	  1412	  1414	  1421	  1423
	  1445	  1446	  1447	  1448	  1449	  1450	  1451	  1459	  1461	  1469	  1471	  1493	  1494	  1495
	  1496	  1497	  1498	  1499	  1504	  1508	  1510	  1511	  1512	  1516	  1520	  1522	  1544	  1545
	  1546	  1547	  1548	  1549	  1550	  1555	  1557	  1563	  1565	  1569	  1571	  1598	  1599	  1600
	  1601	  1602	  1603	  1604	  1611	  1613	  1641	  1642	  1643	  1644	  1645	  1646	  1647	  1654
	  1656	  1684	  1685	  1686	  1687	  1688	  1689	  1690	  1697	  1699	  1727	  1728	  1729	  1730
	  1731	  1732	  1733	  1740	  1742	  1769	  1770	  1771	  1772	  1773	  1774	  1775	  1779	  1781
	  1825	  1826	  1827	  1828	  1829	  1830	  1831	  1836	  1837	  1838	  1842	  1843	  1847	  1848
	  1870	  1871	  1872	  1873	  1874	  1875	  1876	  1882	  1883	  1885	  1886	  1889	  1891	  1913
	  1914	  1915	  1916	  1917	  1918	  1919	  1924	  1925	  1926	  1927	  1930	  1931	  1933	  1934
RADIX	   589#
RADLSC	   591#
RADLSP	   590#
RAN	   709	  2159#	  2159	  2162	  2213#	  2213	  2216	  2217	  2218	  2311#	  2311	  2314	  2315	  2317
	  2318	  2320	  2425	  2428	  2476	  2479	  2546#	  2546	  2549	  2556	  2582#	  2582	  2585	  2598
	  2621#	  2621	  2624	  2631	  2655#	  2655	  2658	  2676	  2717#	  2717	  2720	  2750#	  2750	  2753
	  2779	  2811#	  2811	  2814	  2830#	  2830	  2833	  2849	  3131#	  3131
RAN1	  1955#	  1999#	  2018	  2022	  2043#	  2059	  2061	  2062	  2089#	  2112	  2116	  2117	  2119	  2142#
	  2196#	  2249#	  2294#	  2344#	  2381#	  2537#	  2573#	  2612#	  2646#	  2708#	  2802#	  2864#	  2907#
RANDBS	   424#	   706
REENTR	   404#                                                                                                            SEQ 0107
RELIAB	   163#	   733	   756	   787
RENTR1	    76	   820#
REPT	   380#
REPT1	   380#
REPTU	   502#
REQSET	   380#
RESRT1	    75	   479#
RESRT2	   480#
RETURN	   411#
RSTART	   152#
RTIME	   789	   796#	  1962	  2006	  2050	  2096	  2149	  2203	  2256	  2301	  2351	  2388	  2544	  2580
	  2619	  2653	  2715	  2809	  2871	  2914
RTP	   584#
RUNFLG	   451#
SADR1	    74#	   400
SADR10	    83#	   416
SADR11	    84#	   417
SADR2	    75#	   402
SADR3	    76#	   404
SADR4	    77#
SADR5	    78#	   465
SADR6	    79#	   466
SADR7	    80#	   413
SADR8	    81#	   414
SADR9	    82#	   415
SBINIT	   225	   410#
SCOPE	   503#
SENSE1	   380#
SENSE2	   380#
SENSE3	   380#
SENSE4	   380#
SENSE5	   380#
SENSE6	   380#
SFSTRT	   400#
SKPA	  2338#
SKPA1	  2356#	  2360
SKPA2	  2353	  2365#	  2367	  2368
SKPA3	  2361	  2367#
SKPB	  2375#
SKPB1	  2393#	  2397
SKPB2	  2390	  2403#	  2405	  2406
SKPB3	  2398	  2405#
SLASH	   587#
SMLUSR	   380#
SNTRP	   380#
SPACE	   576#
SRTDDT	   406#
START	   394	   705#	   730
START1	   413#
START2	   414#
START3	   415#
START4	   416#
START5	   417#                                                                                                            SEQ 0108
STARTA	   409	   740	   749	   753#
STRP	   380#
SUBLNK	   187#	   410
SWTEXR	   425#
SYSEXR	   398#
TAB	   577#
TABL	  2437	  2441	  2450	  2492	  2499	  2516	  2976	  2989	  2991	  2999#
TAMP	  2466#	  2466	  2521
TAMP1	  2496#	  2496	  2503
TAMP2	  2497#	  2497	  2504
TAMP3	  2467#	  2467	  2501#	  2501	  2505	  2507
TESTPC	   452#	   855	   892	   929	   966	  1003	  1040	  1077	  1115	  1152	  1189	  1226	  1262	  1307
	  1350	  1393	  1440	  1488	  1539	  1593	  1636	  1679	  1722	  1764	  1820	  1865	  1908	  1957
	  2001	  2045	  2091	  2144	  2198	  2251	  2296	  2346	  2383	  2417	  2462	  2539	  2575	  2614
	  2648	  2710	  2804	  2866	  2909
TICKS	   455#
TN0	   380#
TN1	   380#
TOTALS	   153#
TPOP	  2531#
TPOP1	  2545#	  2555
TPOP2	  2550#	  2557
TPOP3	  2567#
TPOP4	  2581#	  2588	  2590	  2597
TPOP5	  2586#	  2599
TPUSH	  2606#
TPUSH1	  2620#	  2630
TPUSH2	  2625#	  2632
TPUSH3	  2640#
TPUSH4	  2654#	  2663	  2667	  2669	  2675
TPUSH5	  2659#	  2677
TRP3TP	   380#
TRPENB	   380#
TST1	   879	   886#
TST10	  1146#
TST10A	  1156#	  1176
TST10B	  1165#	  1173
TST11	  1183#
TST11A	  1193#	  1213
TST11B	  1202#	  1210
TST12	  1220#
TST12A	  1230#	  1249
TST12B	  1239#	  1246
TST13	  1256#
TST13A	  1266#	  1294
TST13B	  1274#	  1291
TST14	  1301#
TST14A	  1311#	  1337
TST14B	  1320#	  1334
TST15	  1344#
TST15A	  1354#	  1380
TST15B	  1363#	  1377
TST16	  1387#                                                                                                            SEQ 0109
TST16A	  1397#	  1427
TST16B	  1405#	  1424
TST17	  1434#
TST17A	  1444#	  1475
TST17B	  1452#	  1472
TST1A	   896#	   916
TST1B	   904#	   913
TST2	   923#
TST20	  1482#
TST20A	  1492#	  1526
TST20B	  1500#	  1523
TST21	  1533#
TST21A	  1543#	  1580
TST21B	  1551#	  1577
TST22	  1587#
TST22A	  1597#	  1623
TST22B	  1605#	  1620
TST23	  1630#
TST23A	  1640#	  1666
TST23B	  1648#	  1663
TST24	  1673#
TST24A	  1683#	  1709
TST24B	  1691#	  1706
TST25	  1716#
TST25A	  1726#	  1752
TST25B	  1734#	  1749
TST26	  1758#
TST26A	  1768#	  1807
TST26B	  1776#	  1804
TST27	  1814#
TST27A	  1824#	  1852
TST27B	  1832#	  1849
TST2A	   933#	   952
TST2B	   941#	   949
TST3	   960#
TST30	  1859#
TST30A	  1869#	  1895
TST30B	  1877#	  1892
TST31	  1902#
TST31A	  1912#	  1938
TST31B	  1920#	  1935
TST3A	   970#	   990
TST3B	   978#	   987
TST4	   997#
TST4A	  1007#	  1027
TST4B	  1016#	  1024
TST5	  1034#
TST5A	  1044#	  1064
TST5B	  1053#	  1061
TST6	  1071#
TST6A	  1081#	  1102
TST6B	  1090#	  1099
TST7	  1109#                                                                                                            SEQ 0110
TST7A	  1119#	  1139
TST7B	  1128#	  1136
TTNBRF	   635#
TTYFIL	   551#
TTYSPD	   552#
TXTINH	   164#
UOLIP	   380#
UOUSR	   380#
USER	   442#	   707	   860	   866	   878	  2945	  3008	  3021	  3210
USERF	   380#	  2020	  2108	  2109
USRASB	    54#	   432
USRCMP	   380#
USRCRF	   561#
USRLFF	   560#
USRPFW	   380#
UUODIS	   514#
UUOEXT	   470#	  3214
UUORTN	   471#
UUOSKP	   468#
UUOTXT	  3169
WCBUF	   816#	   816	  1969	  2013	  2057	  2103	  2156	  2210	  2263	  2308	  2878	  2921
$$MUUO	   666#
$$OUTE	   672#
$$TAX1	   684#
$$TAX2	   685#
$$TOGG	   678#
$$UUO	   655#
$ACC0	   493#
$BEND1	   463#
$BEND2	   464#	  3204
$CHRIN	   554#
$CRLF	   556#
$DEVCH	   380#
$DSKUP	   433#
$DVCH1	   380#
$DVOFF	   550#
$EMODE	   431#
$ENDFX	   700#	   701
$FFF	   558#
$IBUF	   606#
$INEXT	   608#
$INNM	   607#
$ITRHL	   474#
$ITRX1	   475#
$LPAPE	  3225
$MMAP	   434#
$MODVL	   429#
$MODVU	   430#
$OBUF	   597#
$ONETM	   457#
$OUTEX	   599#
$OUTNM	   598#
$PAPER	   380                                                                                                             SEQ 0111
$PARER	   481#
$PNAME	   427#
$PSHER	   485#
$PVER	   428#
$RSRTX	   477#
$RSRTY	   478#
$SPAG1	   497#
$START	   394#
$SVAPR	   495#
$SVPAG	   496#
$SVPI	   494#
$SVUPC	   500#	  3015	  3019	  3049
$SVUUO	   499#	  3028	  3065	  3076	  3122	  3160
$TABF	   557#
$TTCHR	   553#
$TWCNT	   549#
$TYPNB	   555#
$UMODE	   432#
$UORTX	   472#
$USRHL	   476#
$UUOER	   473#	   514
$VTF	   559#
%ACS1A	  3030#	  3030	  3057	  3061	  3078	  3084
%ACTFL	   506#
%ACTUL	   507#
%CNTE	  3066#	  3066	  3070	  3085
%COREC	   505#
%CORFL	   504#
%DISCR	   508#
%EE1	  3071#	  3071	  3073	  3147
%EE1A	  3074#	  3074	  3115	  3156
%EE2	  3077#	  3077	  3082	  3145
%EE2A	  3083#	  3083	  3139
%ERAC0	  2939	  3004#	  3004	  3031	  3069	  3101	  3113	  3129	  3206
%ERAC1	  2940	  3012#	  3012	  3032	  3068	  3072	  3075	  3081	  3194
%ERAC2	  2941	  3013#	  3013	  3067	  3193
%ERFST	  3038#	  3038	  3040
%ERHI1	   647#
%ERHI2	   648#
%ERHI3	   649#
%ERMOR	  2954	  2992	  2996	  3170	  3176#
%ERMS1	  3035#	  3219
%ERMS2	  3056#
%ERR2	  3090	  3134	  3143#
%ERR4	  3107	  3160#
%ERRB	  3102#	  3157
%ERRB1	  3122#	  3150
%ERRC	  3118	  3136	  3141	  3152	  3162	  3166#
%ERRS1	  3027	  3180#	  3218
%ERRS2	  3193#
%ERRS4	  3034	  3216#
%ERRS5	  3197	  3201	  3206#
%RAND	  3056#	  3056	  3059	  3130                                                                                     SEQ 0112
.JB41	   380#
.JBAPR	   380#
.JBCNI	   380#
.JBDDT	   380#
.JBFF	   380#
.JBOPC	   380#
.JBREL	   380#
.JBREN	   380#
.JBSA	   380#
.JBSYM	   380#
.JBTPC	   380#
.JBUSY	   380#
.JBUUO	   380#
.JBVER	   380#

CFLUSH	   336#
CINVAL	   335#                                                                                                            SEQ 0113
CLOKOP	   330#
CWRTBI	   337#
DROPDV	   297#	   820
EERRI	    40#	  2168
ENDUUO	   343#	   462
EOPUUO	   344#	   464
ER	    37#	   869	  1834	  1841	  1846	  1973
ERM	    38#
ERMM	    39#	  1976	  2065	  2171	  2271	  2366	  2404
ERR	    33#	   910	   946	   984	  1021	  1058	  1096	  1133	  1170	  1207	  1243	  1278	  1288	  1324
	  1331	  1367	  1374	  1412	  1421	  1459	  1469	  1508	  1516	  1520	  1555	  1569	  1611	  1619
	  1654	  1662	  1697	  1705	  1740	  1748	  1779	  1785	  1791	  1796	  1801	  1836	  1838	  1843
	  1848	  1883	  1889	  1925	  1930	  2062	  2117	  2226	  2268	  2318	  2320
ERRHLT	   232#	   729	  3187
ERRI	    35#	  2022
ERRM	    34#	   865	   903	   912	   940	   948	   977	   986	  1014	  1023	  1051	  1060	  1088	  1098
	  1126	  1135	  1163	  1172	  1200	  1209	  1237	  1245	  1273	  1280	  1290	  1318	  1326	  1333
	  1361	  1369	  1376	  1404	  1414	  1423	  1451	  1461	  1471	  1499	  1504	  1510	  1522	  1550
	  1557	  1562	  1571	  1576	  1604	  1613	  1617	  1647	  1656	  1660	  1690	  1699	  1703	  1733
	  1742	  1746	  1775	  1781	  1787	  1793	  1798	  1803	  1831	  1876	  1885	  1891	  1919	  1927
	  1934	  2119	  2224
ERROR	    36#	  2553	  2595	  2628	  2673	  2768	  2772	  2839	  2841	  2886	  2888	  2929
FATAL	   231#
FRD36	   372#
FRD8	   373#
FREAD	   371#
FSELEC	   370#
GET	   215#
GO	   212#	  2452	  2519
HALT	    80	    81	    82	    83	    84	   217#	   483
JEN	   219#
JRSTF	   218#
LOOP	   137#	  2554	  2596	  2629	  2674	  2777	  2846
MAPADR	   353#
MAPCNK	   354#
MAPMEM	   350#
MAPPNT	   356#
MAPSET	   355#
MEMSEG	   352#
MEMZRO	   351#
MODPCP	   363#
MODPCU	   362#
MTROP	   331#
NAME	     7#	    10
PBELL	   306#	  3191
PCRL	   300#	  2975	  2986	  3166
PCRL2	   304#
PCRL2F	   305#
PCRLF	   301#
PFORCE	   308#
PGMINT	   225#	   705
PJRST	   216#
PMSG	   310#	   741	   747	  2956	  2962	  2966	  3043	  3047	  3093	  3097	  3109	  3120	  3125	  3137     SEQ 0114
	  3143	  3154
PMSGF	   313#
PNT1	   266#
PNT11	   280#
PNT11F	   281#
PNT1F	   267#
PNT2	   268#	  3096
PNT2F	   269#
PNT3	   270#
PNT3F	   271#
PNT4	   272#
PNT4F	   273#
PNT5	   274#
PNT5F	   275#
PNT6	   276#	  2960	  2965	  2969	  2979	  3051	  3148
PNT6F	   277#
PNT7	   278#
PNT7F	   279#
PNTA	   252#	  2982	  3161
PNTADF	   283#
PNTADR	   282#
PNTAF	   253#
PNTAL	   254#
PNTALF	   255#	   726	   728
PNTCHF	   265#
PNTCHR	   264#
PNTCI	   262#
PNTCIF	   263#
PNTCW	   298#
PNTCWF	   299#
PNTDCF	   291#
PNTDEC	   290#	   746	  3046
PNTDS	   292#
PNTDSF	   293#
PNTHW	   286#	  3102	  3116	  3132	  3140
PNTHWF	   287#
PNTMGN	   377#	  3177
PNTMSF	   259#
PNTMSG	   258#	  2970
PNTNM	   294#	  2951	  3039
PNTOCF	   289#
PNTOCS	   288#
PNTOCT	   284#
PNTOTF	   285#
PNTSIX	   295#
PNTSXF	   296#
PSIXL	   256#
PSIXLF	   257#
PSIXM	   260#	   742	   748	  2957	  2963	  2967	  3044	  3048	  3094	  3098	  3110	  3121	  3126	  3138
	  3144	  3155
PSIXMF	   261#
PSP	   302#
PSPF	   303#                                                                                                            SEQ 0115
PUT	   214#
RANDM1	   131#	  2158	  2212	  2310	  2545	  2581	  2620	  2654	  2716	  2748	  2810	  2829
RANDOM	   107#	   896	   933	   970	  1007	  1044	  1081	  1119	  1156	  1193	  1230	  1266	  1311	  1354
	  1397	  1444	  1492	  1543	  1597	  1640	  1683	  1726	  1768	  1824	  1869	  1912
RTN	   213#	   470
S	   143#	   145	   149	   178	   180	   189	   192	   207	   208	   210	   221	   223	   227	   229
	   234	   238	   380	   385	   391	   418	   420	   438	   440	   458	   460	   489	   491	   509
	   511	   529	   531	   539	   541	   562	   567	   593	   595	   602	   604	   610	   612	   618
	   620	   624	   626	   631	   633	   637	   639	   643	   645	   651	   653	   656	   658	   662
	   664	   668	   670	   674	   676	   680	   682	   687	   692	   696	   698
SETUP	    96#	   886	   923	   960	   997	  1034	  1071	  1109	  1146	  1183	  1220	  1256	  1301	  1344
	  1387	  1434	  1482	  1533	  1587	  1630	  1673	  1716	  1758	  1814	  1859	  1902
SETUP1	   116#	  1949	  1993	  2037	  2083	  2136	  2190	  2243	  2288	  2338	  2375	  2531	  2567	  2606
	  2640	  2702	  2796	  2858	  2901
SIXBTZ	   319#
SWITCH	   325#	   714	   755	  2952	  2994	  3025	  3178
TTALTM	   247#	  3180
TTICHR	   240#
TTICNV	   245#
TTIDEC	   244#
TTINO	   242#
TTIOCT	   243#
TTIYES	   241#
TTLOOK	   246#
TTSIXB	   248#
TTYINP	   249#