Google
 

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





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

	PRODUCT CODE:	MAINDEC-10-DAKBD-B-D

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

	FUNCTION:	MEMORY AND BOTH MODES & PC SENSITIVE INSTRUCTIONS

	VERSION:	0.2

	DATE RELEASED:	JANUARY 1977

	MAINTAINED BY:	DIAGNOSTIC ENGINEERING GROUP

	AUTHOR:		JOHN R. KIRCHOFF

COPYRIGHT(C) 1977
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-DAKBD.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-DAKBD.TXT
							PAGE 3                                                             SEQ 0003

1.0	ABSTRACT

	THIS PDP-10 KA10 BASIC INSTRUCTION RELIABILITY TEST
	IS THE FOURTH IN A SERIES OF PDP-10 KA10 PROCESSOR
	RANDOM NUMBER DIAGNOSTICS.

	THE DIAGNOSTIC 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 EACH INSTRUCTION IS TESTED BY
	SIMULATING THE INSTRUCTION, WITH SIMPLER INSTRUCTIONS, AND
	THEN EXECUTING THE INSTRUCTION.  RANDOM NUMBERS ARE USED AS
	THE OPERANDS IN AC AND/OR C(E).  THE RESULTS OF THE
	SIMULATION AND EXECUTION ARE COMPARED AND AN ERROR MESSAGE
	IS PRINTED IF THE RESULTS ARE NOT EQUAL.

	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 END
	OF 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 INCREMENTED AND THE PC SENSITIVE INSTRUCTION REPEATED TO
	THE NEXT ADDRESS.  THE PROGRAM ALSO INCLUDES A DEFER TEST AND
	INDEXING IS TESTED.

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A PDP-10 KA10 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-DAKBD.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-DAKBD.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.

	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-DAKBD.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		NOT USED

	12   MODDVC		NOT USED

	13   INHCSH		NOT USED

	14   OPRSEL	0	RUN IN 32K UNLESS RELIABILITY
			1	USE ALL AVAILABLE MEMORY
							MAINDEC-10-DAKBD.TXT
							PAGE 7                                                             SEQ 0007

	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:
	EXEC MODE:	SW 27-35 = 0, USE ALL MEMORY
			SW 27-35 NE 0, INDICATES SIZE OF MEMORY (32KK=77).
	USER MODE:	CONTENTS OF JOBREL (LOC 44) DETERMINE SIZE
			SELECT 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-DAKBD.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-DAKBD.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-DAKBD.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-DAKBD.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-DAKBD.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

	A.  NORMAL OPERATION - APPROXIMATELY 1 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-DAKBD.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 'DAKBD.TMP'

	    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-DAKBD
                                                                                                                           SEQ 0014
************************************************************************

PRODUCT CODE:		MAINDEC-10-DAKBD

PRODUCT NAME:		KA10 BASIC INSTRUCTION RELIABILITY # 4

DATE RELEASED:		JANUARY 1977

VERSION:		0.2

UPDATE AUTHOR:		JOHN R. KIRCHOFF

CHANGES MADE:

	1. UPGRADE TO ALLOW COMPATABILITY WITH THE SUBROUTINE PACKAGE.
	2. PROGRAM REPLACES OLD D0XX KA10 SERIES DIAGNOSTIC

************************************************************************
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1
DAKBDT	MAC	21-JAN-77 16:46		DIAGNOSTIC PARAMETERS                                                              SEQ 0015

     1					;MAINDEC-10-DAKBD
     2
     3			000002		DECVER==002
     4			000000		MCNVER==000
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	DAKBD  PDP-10  KA10 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 1977
    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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 2
DAKBDT	MAC	21-JAN-77 16:46		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			033740		LUUO1=ERRMES
    43			033740		LUUO2=ERRMES
    44			033740		LUUO3=ERRMES
    45			033740		LUUO4=ERRMES
    46			033740		LUUO5=ERRMES
    47			033740		LUUO6=ERRMES
    48			033740		LUUO7=ERRMES
    49			033740		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		KA10==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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 3
DAKBDT	MAC	21-JAN-77 16:46		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		444153	424400		PAREA3=SIXBIT/DAKBD/
    89		645560	000000		PAREA4=SIXBIT/TMP/
    90			000000		PAREA5=0
    91			000000		PAREA6=0
    92
    93			000001		ITERAT=1
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 4
DAKBDT	MAC	21-JAN-77 16:46		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 >
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1
PARAM	KLM	18-JAN-77 11:38		*PARAM*	CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977                               SEQ 0019

   141					SUBTTL	*PARAM*	CONSOLE DATA SWITCH ASSIGNMENTS, JAN 18,1977
   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 !!!
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 2
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 SEQ 0020

   176					SUBTTL	*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977
   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^;*********************************************************************^
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 3
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 4
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 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
   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)
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 4-1
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 SEQ 0023

   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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 5
PARAM	KLM	18-JAN-77 11:38		*PARAM* PROGRAM/SUBROUTINE PARAMETERS, JAN 18,1977                                 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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            SEQ 0025

   381					SUBTTL	*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977
   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			; "
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 2
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            SEQ 0026

   418					S^;*********************************************************************^
   419					;*PROGRAM FIXED PARAMETER AREA
   420					S^;*********************************************************************^
   421
   422	030020	444153	424400		PNTNAM:	PAREA3		;SIXBIT PROGRAM NAME
   423	030021	645560	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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 3
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 4
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            SEQ 0028

   509					S^;*********************************************************************^
   510					;*UUO DISPATCH TABLE
   511					S^;*********************************************************************^
   512						XLIST
   513						LIST
   514	030124	033740	030070		UUODIS:	LUUO1,,$UUOER
   515	030125	033740	033740			LUUO3,,LUUO2
   516	030126	033740	033740			LUUO5,,LUUO4
   517	030127	033740	033740			LUUO7,,LUUO6
   518	030130	030070	030070			LUUO11,,LUUO10
   519	030131	033740	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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 5
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 6
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 7
FIXED	KLM	18-JAN-77 11:39		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1
DAKBDM	MAC	21-JAN-77 16:55		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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 034202 		CALL	0,[SIXBIT/TIMER/]
   709	030604	202 00 0 00 034401 		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 034203 	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 034212 		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 034214 		PSIXM	[SIXBIT\K^_\]^
   749	030644	254 00 0 00 030645 		JRST	STARTA
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 2
DAKBDM	MAC	21-JAN-77 16:55		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 3
DAKBDM	MAC	21-JAN-77 16:55		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            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 034372 		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 034377 		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 034406 		MOVEM	1,WCBUF#	;SAVE
   817	030736	274 01 0 00 034215 		SUB	1,[1,,0]
   818	030737	202 01 0 00 034373 		MOVEM	1,BUFSIZ#
   819	030740	254 00 0 00 030773 		JRST	MSADT		;GO PERFORM DIAGNOSTIC
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 4
DAKBDM	MAC	21-JAN-77 16:55		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, JAN 18,1977                            SEQ 0035

   820	030741	037 05 0 00 000002 	RENTR1:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
   821	030742	040 00 0 00 034216 		CALL	[SIXBIT .EXIT.]
   822
   823	030743				PGMNAM:	ASCIZ/
   824	030743	015 012 120 104 120 	PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4 (DAKBD)
   825	030744	055 061 060 040 040 
   826	030745	113 101 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 101 
   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 	/
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 5
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		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 034372 		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 004 30 0 00 200000 		CONSZ	PI,APARER	;PARITY ERROR ?
   869	031012	005 01 0 00 034217 		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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 6
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   895	031032	200 11 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
   896	031033				TST1A:	RANDOM^
   897	031033	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 7
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   932	031063	200 02 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
   933	031064				TST2A:	RANDOM^
   934	031064	270 10 0 00 034220 		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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 8
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   969	031113	200 03 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
   970	031114				TST3A:	RANDOM^
   971	031114	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 9
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1006	031144	200 04 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1007	031145				TST4A:	RANDOM^
  1008	031145	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 10
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1043	031174	200 05 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1044	031175				TST5A:	RANDOM^
  1045	031175	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 11
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1080	031224	200 06 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1081	031225				TST6A:	RANDOM^
  1082	031225	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 12
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1118	031255	200 07 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1119	031256				TST7A:	RANDOM^
  1120	031256	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 13
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1155	031305	200 13 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1156	031306				TST10A:	RANDOM^
  1157	031306	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 14
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1192	031335	200 13 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1193	031336				TST11A:	RANDOM^
  1194	031336	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 15
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1229	031365	200 14 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1230	031366				TST12A:	RANDOM^
  1231	031366	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 16
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1265	031414	200 02 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1266	031415				TST13A:	RANDOM^
  1267	031415	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 17
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1310	031455	200 15 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1311	031456				TST14A:	RANDOM^
  1312	031456	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 18
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1353	031513	200 16 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1354	031514				TST15A:	RANDOM^
  1355	031514	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 19
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1396	031551	200 02 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1397	031552				TST16A:	RANDOM^
  1398	031552	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 20
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1443	031613	200 03 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1444	031614				TST17A:	RANDOM^
  1445	031614	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 21
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1491	031655	200 02 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1492	031656				TST20A:	RANDOM^
  1493	031656	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 22
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1542	031724	200 03 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1543	031725				TST21A:	RANDOM^
  1544	031725	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 23
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1596	031776	200 04 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1597	031777				TST22A:	RANDOM^
  1598	031777	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 24
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1639	032035	200 13 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1640	032036				TST23A:	RANDOM^
  1641	032036	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 25
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1682	032074	200 13 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1683	032075				TST24A:	RANDOM^
  1684	032075	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 26
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1725	032133	200 04 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1726	032134				TST25A:	RANDOM^
  1727	032134	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 27
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1767	032172	200 05 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1768	032173				TST26A:	RANDOM^
  1769	032173	270 10 0 00 034220 		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 034221 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 28
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1823	032246	200 06 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1824	032247				TST27A:	RANDOM^
  1825	032247	270 10 0 00 034220 		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 034222 		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 034223 		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 034223 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 29
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1868	032307	200 04 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1869	032310				TST30A:	RANDOM^
  1870	032310	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 30
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1911	032346	200 02 0 00 034372 		MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. ^
  1912	032347				TST31A:	RANDOM^
  1913	032347	270 10 0 00 034220 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 31
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		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 034373 		MOVE	AC,BUFSIZ	;PUT A
  1964	032411	200 05 0 00 034224 		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 034406 	JRST1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  1970	032417	200 03 0 00 034225 		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 034226 		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
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 32
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		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 034373 		MOVE	AC,BUFSIZ	;PUT A
  2008	032444	200 03 0 00 034227 		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 034406 	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 010000 	JSP3:	TLZ	AC,USERF	;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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 33
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		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 034373 		MOVE	AC,BUFSIZ	;PUT A
  2052	032500	200 05 0 00 034230 		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 034406 	JSPA1:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2058	032506	270 04 0 00 034215 		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.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 34
DAKBDM	MAC	21-JAN-77 16:55		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 034375 		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 034373 		MOVE	AC,BUFSIZ	;PUT A
  2098	032534	200 10 0 00 034231 		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 034406 	JSR1A:	MOVE	AC1,WCBUF	;MOVE (-TOP+END,END) INTO AC1.
  2104	032542	270 05 0 00 034215 		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	477 04 0 00 000002 	JSR2:	SETOB	AC,RAN1		;SET C(AC) TO ALL ONES.
  2111	032551	541 06 0 05 000002 	JSR3:	HRRI	AC2,2(AC1)	;SETUP RIGHT SIDE OF  AC TO=PC+1... SIM. ANS.
  2112	032552	264 04 0 05 000000 		JSR	AC,(AC1)	;DO A JSR TO MEM.
  2113	032553	000000	000000		JSR4:	0			;JSR IN MEM COMES HERE AND STORES (FLAGS, PC+2)
  2114	032554	312 04 0 00 000002 		CAME	AC,RAN1		;C(AC) SHOULD STILL= -1.
  2115	032555	001 10 0 00 000002 		ERR	AC4,RAN1	;C(AC) GOT MODIFIED.
  2116	032556	312 06 0 00 032553 		CAME	AC2,JSR4	;C(JSR4) SHOULD=SIM. ANS.
  2117	032557	002 10 0 00 000002 		ERRM	AC4,RAN1	;JSR WENT TO WRONG LOC OR FLAGS CHANGED.
  2118	032560	321 03 0 00 032550 		JUMPL	AC-1,JSR2	;LOOP ON ERROR SWITCH
  2119	032561	202 10 0 05 000000 		MOVEM	AC4,(AC1)	;RESTORE JSR IN MEM.
  2120	032562	253 05 0 00 032563 		AOBJN	AC1,.+1
  2121	032563	603 05 0 00 770000 		TLNE	AC1,770000
  2122	032564	254 00 0 00 032551 		JRST	JSR3		;INC TO TEST NEXT LOC.
  2123	032565	367 03 0 00 032541 		SOJG	AC-1,JSR1A	;ITERATION COUNTER.
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 35
DAKBDM	MAC	21-JAN-77 16:55		DIAGNOSTIC SECTION                                                                 SEQ 0066

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  3052					;RELIABILITY FORMAT ERROR PRINTER
  3053
  3054	034007	402 00 0 00 034421 	%ERMS2:	SETZM	%RAND#		;CLEAR PNT C(RAN) FLAG
  3055	034010	200 01 0 00 034407 		MOVE	1,%ACS1A
  3056	034011	301 01 0 00 000011 		CAIL	1,11		;UUO # 11-13
  3057	034012	476 00 0 00 034421 		SETOM	%RAND		;YES, SET PNT C(RAN) FLAG
  3058	034013	620 01 0 00 000010 		TRZ	1,10		;MAKE UUO # 1-7
  3059	034014	202 01 0 00 034407 		MOVEM	1,%ACS1A
  3060	034015	200 02 0 00 030052 		MOVE	2,ERRPC		;GET UUO ADDRESS
  3061	034016	200 02 0 02 777777 		MOVE	2,-1(2)		;GET INST IN UUO-1
  3062	034017	301 01 0 00 000004 		CAIL	1,4		;UUO # < THAN 4 ?
  3063	034020	200 02 0 00 030113 		MOVE	2,$SVUUO	;YES, GET UUO
  3064	034021	202 02 0 00 034410 		MOVEM	2,%CNTE#	;SAVE E ADDRESS
  3065	034022	200 02 0 00 034417 		MOVE	2,%ERAC2
  3066	034023	200 01 0 00 034416 		MOVE	1,%ERAC1
  3067	034024	200 00 0 00 034415 		MOVE	0,%ERAC0
  3068	034025	201 01 1 00 034410 		MOVEI	1,@%CNTE	;GET ADRS FIELD OF UUO OR UUO-1
  3069	034026	202 01 0 00 034411 		MOVEM	1,%EE1#
  3070	034027	200 01 0 00 034416 		MOVE	1,%ERAC1
  3071	034030	200 01 1 00 034411 		MOVE	1,@%EE1		;GET C(E)
  3072	034031	202 01 0 00 034412 		MOVEM	1,%EE1A#
  3073	034032	200 01 0 00 034416 		MOVE	1,%ERAC1
  3074	034033	201 01 1 00 030113 		MOVEI	1,@$SVUUO	;GET ADDRESS FIELD OF UUO
  3075	034034	202 01 0 00 034413 		MOVEM	1,%EE2#
  3076	034035	200 01 0 00 034407 		MOVE	1,%ACS1A
  3077	034036	306 01 0 00 000003 		CAIN	1,3		;UUO # 3 ?
  3078	034037	254 00 0 00 034043 		JRST	.+4		;YES
  3079	034040	200 01 0 00 034416 		MOVE	1,%ERAC1
  3080	034041	200 01 1 00 034413 		MOVE	1,@%EE2		;GET C(E) OF UUO
  3081	034042	202 01 0 00 034414 		MOVEM	1,%EE2A#
  3082	034043	200 02 0 00 034407 		MOVE	2,%ACS1A	;GET UUO #
  3083	034044	200 01 0 00 034410 		MOVE	1,%CNTE
  3084	034045	242 01 0 00 777751 		LSH	1,-27		;GET AC NUMBER
  3085	034046	405 01 0 00 000017 		ANDI	1,17
  3086	034047	307 02 0 00 000005 		CAIG	2,5		;UUO # 6,7 OR 2
  3087	034050	306 02 0 00 000002 		CAIN	2,2
  3088	034051	254 00 0 00 034120 		JRST	%ERR2		;YES, GO PNT E AND C(E)
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 5
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0090

  3089					;PRINT ERROR AC
  3090
  3091						PMSG	<^AC =   >^
  3092	034052	037 02 0 00 034313 		PSIXM	[SIXBIT\^AC =   _\]^
  3093	034053	200 00 0 00 000001 		MOVE	0,1
  3094	034054	037 02 0 00 000000 		PNT2			;PRINT AC NUMBER
  3095						PMSG	<^C(AC)= >^
  3096	034055	037 02 0 00 034315 		PSIXM	[SIXBIT\^C(AC)= _\]^
  3097	034056	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
  3098	034057	307 01 0 00 000002 		CAIG	1,2		;IS AC # = SAVED AC ?
  3099	034060	200 00 0 01 034415 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
  3100	034061	037 13 0 00 000000 	%ERRB:	PNTHW			;PRINT C(AC) OR UUO2 (E)
  3101
  3102					;PRINT ERROR INFO
  3103
  3104	034062	306 02 0 00 000005 		CAIN	2,5		;UUO # 5
  3105	034063	254 00 0 00 034134 		JRST	%ERR4		;YES, GO PNT 'TST','SKP', OR ETC.
  3106
  3107						PMSG	<^COR =  >^
  3108	034064	037 02 0 00 034317 		PSIXM	[SIXBIT\^COR =  _\]^
  3109	034065	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
  3110	034066	307 01 0 00 000002 		CAIG	1,2		;IS AC # = SAVED AC ?
  3111	034067	200 00 0 01 034415 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
  3112	034070	302 02 0 00 000002 		CAIE	2,2
  3113	034071	200 00 0 00 034412 		MOVE	0,%EE1A		;UUO # 2, GET C(E)
  3114	034072	037 13 0 00 000000 		PNTHW			;PRINT C(E) OR UUO2 C(AC)
  3115	034073	301 02 0 00 000004 		CAIL	2,4		;UUO # >3 ?
  3116	034074	254 00 0 00 034137 		JRST	%ERRC		;YES, RESTORE AC'S AND RETURN
  3117
  3118						PMSG	<^    ORIGINAL>^
  3119	034075	037 02 0 00 034321 		PSIXM	[SIXBIT\^    ORIGINAL_\]^
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 6
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0091

  3120	034076	200 01 0 00 030113 	%ERRB1:	MOVE	1,$SVUUO
  3121	034077	242 01 0 00 777751 		LSH	1,-27		;GET AC # OF UUO
  3122	034100	405 01 0 00 000017 		ANDI	1,17
  3123						PMSG	<^C(AC)= >^
  3124	034101	037 02 0 00 034315 		PSIXM	[SIXBIT\^C(AC)= _\]^
  3125	034102	200 00 0 01 000000 		MOVE	0,(1)		;GET C(AC)
  3126	034103	307 01 0 00 000002 		CAIG	1,2		;IS AC # = SAVED AC ?
  3127	034104	200 00 0 01 034415 		MOVE	0,%ERAC0(1)	;YES, GET SAVED AC
  3128	034105	332 00 0 00 034421 		SKIPE	%RAND		;PRINT C(RAN) FLAG SET ?
  3129	034106	200 00 0 00 034401 		MOVE	0,RAN#		;YES
  3130	034107	037 13 0 00 000000 		PNTHW			;PRINT C(AC) OR C(RAN)
  3131	034110	306 02 0 00 000003 		CAIN	2,3		;UUO # 3 ?
  3132	034111	254 00 0 00 034120 		JRST	%ERR2		;YES, PRINT E, RESTORE AC'S AND RETURN
  3133	034112	306 02 0 00 000007 		CAIN	2,7		;UUO # 7 ?
  3134	034113	254 00 0 00 034137 		JRST	%ERRC		;YES, BYPASS PRINTING C(E)
  3135						PMSG	<^C(E) = >^
  3136	034114	037 02 0 00 034324 		PSIXM	[SIXBIT\^C(E) = _\]^
  3137	034115	200 00 0 00 034414 		MOVE	0,%EE2A
  3138	034116	037 13 0 00 000000 		PNTHW			;PRINT C(E)
  3139	034117	254 00 0 00 034137 		JRST	%ERRC
  3140
  3141	034120				%ERR2:	PMSG	<^E =    >^
  3142	034120	037 02 0 00 034326 		PSIXM	[SIXBIT\^E =    _\]^
  3143	034121	200 00 0 00 034413 		MOVE	0,%EE2
  3144	034122	306 02 0 00 000002 		CAIN	2,2		;UUO # 2 ?
  3145	034123	200 00 0 00 034411 		MOVE	0,%EE1
  3146	034124	037 06 0 00 000000 		PNT6			;PRINT E OF UUO OR UUO-1
  3147	034125	301 02 0 00 000006 		CAIL	2,6		;UUO 6 OR 7 ?
  3148	034126	254 00 0 00 034076 		JRST	%ERRB1		;YES, GO PNT C(AC), C(E) AND RETURN
  3149	034127	306 02 0 00 000003 		CAIN	2,3		;UUO # 3 ?
  3150	034130	254 00 0 00 034137 		JRST	%ERRC		;YES, RESTORE AC'S AND RETURN
  3151
  3152						PMSG	<^C(E) = >^
  3153	034131	037 02 0 00 034324 		PSIXM	[SIXBIT\^C(E) = _\]^
  3154	034132	200 00 0 00 034412 		MOVE	0,%EE1A		;GET C(E)
  3155	034133	254 00 0 00 034061 		JRST	%ERRB
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 7
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0092

  3156					;PRINT ASCII COMMENT
  3157
  3158	034134	551 00 1 00 030113 	%ERR4:	HRRZI	0,@$SVUUO
  3159	034135	037 00 0 00 000000 		PNTA			;PRINT 'TST','SKP', OR ETC.
  3160	034136	254 00 0 00 034137 		JRST	%ERRC
  3161
  3162					;COMPLETE PRINTOUT
  3163
  3164	034137	037 00 0 00 030242 	%ERRC:	PCRL
  3165
  3166						XLIST
  3167						LIST
  3168	034140	254 00 0 00 034141 		JRST	%ERMORE
  3169
  3170					>
  3171						LIST
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 8
UUOERR	KLM	22-APR-75 01:42		*UUOERR* OLD-UUO ERROR HANDLER SUBROUTINE, V75B, APR 22,1975                       SEQ 0093

  3172					;RESTORE AC'S AND RETURN OR HALT
  3173
  3174	034141	256 00 0 00 030101 	%ERMORE:XCT	ERMORE
  3175	034142	037 16 0 00 000002 		PNTMGN			;PRINT MARGINS	
  3176	034143	037 10 0 00 000002 		SWITCH
  3177
  3178	034144	037 07 0 00 000003 	%ERRS1:	TTALTM			;ALTMODE CHECK
  3179	034145	254 00 0 00 034151 		JRST	.+4		;NONE
  3180	034146	201 00 0 00 034151 		MOVEI	.+3		;SAVE CONT ADDRESS
  3181	034147	202 00 0 00 000130 		MOVEM	JOBOPC
  3182	034150	254 00 1 00 030063 		JRST	@ALTMGO		;PERFORM TRANSFER
  3183	034151	200 00 0 00 030046 		MOVE	CONSW
  3184	034152	603 00 0 00 002000 		TLNE	0,ERSTOP	;HALT ON ERROR SWITCH SET ?
  3185	034153	037 14 0 00 000004 		ERRHLT			;YES
  3186	034154	607 00 0 00 004000 		TLNN	0,LOOPER	;LOOP ON ERROR SWITCH SET ?
  3187	034155	476 00 0 00 034400 		SETOM	PROCED		;NO, SET THE PROCEED FLAG
  3188	034156	603 00 0 00 010000 		TLNE	0,DING		;RING BELL SWITCH SET ?
  3189	034157	037 01 0 00 000007 		PBELL			;YES, GO RING BELL
  3190
  3191	034160	200 02 0 00 034417 	%ERRS2:	MOVE	2,%ERAC2	;RESTORE AC'S
  3192	034161	200 01 0 00 034416 		MOVE	1,%ERAC1
  3193	034162	476 00 1 00 034375 		SETOM	@ERRLOP		;SET C(ERR LOOP AC) TO -1
  3194	034163	336 00 0 00 034400 		SKIPN	PROCED		;LOOP ON ERROR ?
  3195	034164	254 00 0 00 034174 		JRST	%ERRS5		;YES
  3196	034165	350 00 1 00 034375 		AOS	@ERRLOP		;NO, INC C(ERR LOOP AC)
  3197	034166	350 00 1 00 034375 		AOS	@ERRLOP		;SO IT ='S 1
  3198	034167	331 00 0 00 030043 		SKIPL	MONCTL		;UNDER DIAGNOSTIC MONITOR ?
  3199	034170	254 00 0 00 034174 		JRST	%ERRS5		;NO, CONTINUE PROGRAM
  3200	034171	200 00 0 00 030053 		MOVE	0,ERRTLS	;YES
  3201	034172	301 00 0 00 000005 		CAIL	0,5		;PRINTED ALLOWED ERRORS ?
  3202	034173	254 00 0 00 030061 		JRST	$BEND2
  3203
  3204	034174	200 00 0 00 034415 	%ERRS5:	MOVE	0,%ERAC0	;NO, CONTINUE PROGRAM
  3205						IFDEF	EXCASB,<IFDEF KI10,<
  3206						SKIPN	KAIFLG
  3207						JRST	.+5
  3208						SKIPE	USER
  3209						JRST	.+3
  3210						SKIPE	MARGIN
  3211						DATAO	APR,MARGIN	;RESET MARGIN SYSTEM >>
  3212	034175	254 00 0 00 030065 		JRST	UUOEXT
  3213
  3214	034176	200 00 0 00 030046 	%ERRS4:	MOVE	0,CONSW
  3215	034177	607 00 0 00 001000 		TLNN	PALERS		;PRINT ALL ERRORS ?
  3216	034200	254 00 0 00 034144 		JRST	%ERRS1		;NO
  3217	034201	254 00 0 00 033770 		JRST	%ERMS1		;YES
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0094

  3218					SUBTTL	*STOR* RESERVED STORAGE, JAN 18,1977
  3219
  3220					;PROGRAM LITERALS
  3221
  3222						XLIST
  3223					IFNDEF	$LPAPER,<LIST>
  3224	034202					LIT
  3225	034202	64 51 55 45 62 00 
  3226	034203	015 012 115 105 115 
  3227	034204	117 122 131 040 123 
  3228	034205	111 132 105 040 123 
  3229	034206	105 114 105 103 124 
  3230	034207	105 104 040 124 117 
  3231	034210	117 040 123 115 101 
  3232	034211	114 114 000 000 000 
  3233	034212	64 45 63 64 51 56 
  3234	034213	47 00 77 00 00 00 
  3235	034214	53 76 77 00 00 00 
  3236	034215	000001	000000
  3237	034216	45 70 51 64 00 00 
  3238	034217	120 101 122 000 000 
  3239	034220	142536	475076
  3240	034221	777777	777777
  3241	034222	101 117 123 000 000 
  3242	034223	124 123 124 000 000 
  3243	034224	265 04 0 00 032424 
  3244	034225	254 00 0 00 032423 
  3245	034226	112 122 123 124 000 
  3246	034227	265 02 0 00 032460 
  3247	034230	265 07 0 00 032511 
  3248	034231	264 00 0 00 032553 
  3249	034232	265 10 0 00 032614 
  3250	034233	266 11 0 00 032657 
  3251	034234	265 12 0 00 032713 
  3252	034235	267 10 0 00 032752 
  3253	034236	265 15 0 00 033010 
  3254	034237	334 16 0 00 000000 
  3255	034240	254 00 0 00 033012 
  3256	034241	265 14 0 00 033041 
  3257	034242	334 15 0 00 000001 
  3258	034243	254 00 0 00 033043 
  3259	034244	000001	000011
  3260	034245	000001	000001
  3261	034246	265 10 0 00 033551 
  3262	034247	000001	000006
  3263	034250	260 12 0 00 033546 
  3264	034251	265 11 0 00 033604 
  3265	034252	263 07 0 00 000000 
  3266	034253	60 43 00 35 00 00 
  3267	034254	00 77 00 00 00 00 
  3268	034255	76 44 45 46 45 62 
  3269	034256	00 64 45 63 64 00 
  3270	034257	46 41 51 54 65 62 
  3271	034260	45 16 76 43 57 62 
  3272	034261	00 35 00 00 77 00 
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1-1
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0095

  3273	034262	76 45 62 62 00 35 
  3274	034263	00 77 00 00 00 00 
  3275	034264	015 012 124 110 105 
  3276	034265	040 106 117 114 114 
  3277	034266	117 127 111 116 107 
  3278	034267	040 111 123 040 101 
  3279	034270	040 114 111 123 124 
  3280	034271	040 117 106 040 101 
  3281	034272	114 114 040 124 110 
  3282	034273	105 015 012 114 117 
  3283	034274	103 101 124 111 117 
  3284	034275	116 123 040 127 110 
  3285	034276	105 122 105 040 124 
  3286	034277	110 105 040 111 116 
  3287	034300	104 111 122 105 103 
  3288	034301	124 040 102 111 124 
  3289	034302	040 127 101 123 040 
  3290	034303	123 105 124 056 015 
  3291	034304	012 000 000 000 000 
  3292	034305	76 64 45 63 64 00 
  3293	034306	60 41 63 63 00 43 
  3294	034307	57 65 56 64 00 35 
  3295	034310	00 77 00 00 00 00 
  3296	034311	76 60 43 00 35 00 
  3297	034312	00 00 77 00 00 00 
  3298	034313	76 41 43 00 35 00 
  3299	034314	00 00 77 00 00 00 
  3300	034315	76 43 10 41 43 11 
  3301	034316	35 00 77 00 00 00 
  3302	034317	76 43 57 62 00 35 
  3303	034320	00 00 77 00 00 00 
  3304	034321	76 00 00 00 00 57 
  3305	034322	62 51 47 51 56 41 
  3306	034323	54 77 00 00 00 00 
  3307	034324	76 43 10 45 11 00 
  3308	034325	35 00 77 00 00 00 
  3309	034326	76 45 00 35 00 00 
  3310	034327	00 00 77 00 00 00 
  3311						LIST
  3312	034330	000000	000000		ENDSLD:	0
  3313
  3314					IFDEF	DEBUG,<
  3315	034331				PATCH:	BLOCK DEBUG		;PATCHING AREA
  3316					>
  3317
  3318					;PROGRAM VARIABLES
  3319	034371					VAR
  3320
  3321					IFDEF	PGMEND,<
  3322	034422	000000	000000		END:	0
  3323			030000			END	BEGIN	>

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
DAKBD  PDP-10  KA10 BASIC INSTRUCTION RELIABILITY TEST 4,VER 0,2	MACRO %52(537) 17:27 21-JAN-77 PAGE 1-2
STOR	KLM	18-JAN-77 11:42		*STOR* RESERVED STORAGE, JAN 18,1977                                               SEQ 0096

ABSLUTE BREAK IS 034423
CPU TIME USED 00:17.755

11K 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
AABCLR	   380#
AADRBK	   380#
AAPRC1	   380#
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	  2110	  2112	  2114	  2118	  2123	  2133#	  2135	  2136	  2137
	  2138	  2139	  2140	  2141	  2142	  2143	  2144	  2145	  2146	  2147	  2148	  2150	  2151	  2152
	  2157	  2158	  2159	  2160	  2164	  2165	  2170	  2175	  2187#	  2189	  2190	  2191	  2192	  2193
	  2194	  2195	  2196	  2197	  2198	  2199	  2200	  2201	  2202	  2204	  2205	  2206	  2211	  2212
	  2213	  2214	  2219	  2225	  2230	  2240#	  2242	  2243	  2244	  2245	  2246	  2247	  2248	  2249
	  2250	  2251	  2252	  2253	  2254	  2255	  2257	  2258	  2259	  2262	  2263	  2264	  2265	  2270
	  2274	  2285#	  2287	  2288	  2289	  2290	  2291	  2292	  2293	  2294	  2295	  2296	  2297	  2298
	  2299	  2300	  2301	  2302	  2303	  2304	  2309	  2310	  2311	  2312	  2313	  2314	  2315	  2317
	  2319	  2324	  2335#	  2337	  2338	  2339	  2340	  2341	  2342	  2343	  2344	  2345	  2346	  2347     SEQ 0098
	  2348	  2349	  2365	  2366	  2372#	  2374	  2375	  2376	  2377	  2378	  2379	  2380	  2381	  2382
	  2383	  2384	  2385	  2386	  2399	  2400	  2403	  2404	  2528#	  2530	  2531	  2532	  2533	  2534
	  2535	  2536	  2537	  2538	  2539	  2540	  2541	  2542	  2544	  2545	  2546	  2547	  2548	  2550
	  2551	  2553	  2554	  2555	  2564#	  2566	  2567	  2568	  2569	  2570	  2571	  2572	  2573	  2574
	  2575	  2576	  2577	  2578	  2580	  2581	  2582	  2583	  2584	  2585	  2587	  2589	  2590	  2592
	  2593	  2595	  2596	  2597	  2603#	  2605	  2606	  2607	  2608	  2609	  2610	  2611	  2612	  2613
	  2614	  2615	  2616	  2617	  2619	  2620	  2621	  2622	  2624	  2625	  2626	  2628	  2629	  2630
	  2637#	  2639	  2640	  2641	  2642	  2643	  2644	  2645	  2646	  2647	  2648	  2649	  2650	  2651
	  2653	  2654	  2655	  2656	  2657	  2658	  2659	  2662	  2663	  2670	  2671	  2673	  2674	  2675
	  2695#	  2701	  2702	  2703	  2704	  2705	  2706	  2707	  2708	  2709	  2710	  2711	  2712	  2713
	  2715	  2716	  2717	  2718	  2719	  2720	  2721	  2723	  2724	  2725	  2726	  2731	  2738	  2741
	  2742	  2745	  2748	  2749	  2750	  2751	  2752	  2767	  2768	  2769	  2770	  2776	  2777	  2778
	  2790#	  2795	  2796	  2797	  2798	  2799	  2800	  2801	  2802	  2803	  2804	  2805	  2806	  2807
	  2809	  2810	  2811	  2812	  2813	  2814	  2815	  2816	  2817	  2818	  2820	  2825	  2826	  2828
	  2829	  2830	  2831	  2832	  2838	  2839	  2840	  2846	  2847	  2848	  2855#	  2857	  2858	  2859
	  2860	  2861	  2862	  2863	  2864	  2865	  2866	  2867	  2868	  2869	  2870	  2872	  2873	  2874
	  2876	  2879	  2880	  2887	  2888	  2889	  2890	  2892	  2898#	  2900	  2901	  2902	  2903	  2904
	  2905	  2906	  2907	  2908	  2909	  2910	  2911	  2912	  2913	  2915	  2916	  2917	  2919	  2921
	  2922	  2928	  2930	  2931	  2933
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	  2111	  2112	  2119	  2120	  2121	  2135#	  2154	  2155	  2162	  2164
	  2166	  2168	  2169	  2171	  2172	  2173	  2189#	  2208	  2209	  2218	  2219	  2226	  2227	  2228
	  2242#	  2261	  2262	  2264	  2268	  2269	  2271	  2272	  2287#	  2306	  2307	  2314	  2317	  2320
	  2321	  2322	  2337#	  2352	  2353	  2354	  2355	  2356	  2357	  2358	  2374#	  2389	  2390	  2391
	  2392	  2393	  2394	  2395	  2530#	  2548	  2549	  2566#	  2589	  2591	  2592	  2593	  2605#	  2623
	  2624	  2639#	  2658	  2659	  2660	  2662	  2663	  2664	  2666	  2668	  2669	  2670	  2671	  2701#
	  2795#	  2857#	  2877	  2879	  2880	  2881	  2883	  2884	  2886	  2900#	  2920	  2921	  2922	  2924
	  2925	  2927	  2929
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     SEQ 0099
	  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
	  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	  2116	  2136#	  2190#	  2215	  2221	  2222	  2224
	  2243#	  2256	  2257	  2265	  2266	  2269	  2288#	  2301	  2302	  2316	  2318	  2320	  2338#	  2351
	  2356	  2359	  2360	  2361	  2375#	  2388	  2393	  2396	  2397	  2398	  2531#	  2549	  2550	  2551
	  2567#	  2591	  2606#	  2625	  2626	  2640#	  2669	  2702#	  2796#	  2858#	  2878	  2881	  2901#	  2920
	  2924
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	  2137#	  2149	  2167	  2168	  2169	  2191#	  2203
	  2216	  2223	  2244#	  2256	  2267	  2268	  2289#	  2339#	  2350	  2357	  2360	  2361	  2364	  2376#
	  2387	  2394	  2397	  2398	  2402	  2532#	  2568#	  2607#	  2641#	  2703#	  2797#	  2859#	  2871	  2886
	  2902#	  2914	  2927
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	  2115	  2117	  2119	  2138#	  2162	  2163	  2165	  2192#	  2203	  2204
	  2222	  2224	  2226	  2245#	  2263	  2266	  2290#	  2340#	  2351	  2363	  2377#	  2388	  2401	  2533#
	  2569#	  2608#	  2642#	  2704#	  2798#	  2860#	  2871	  2872	  2888	  2903#	  2914	  2915	  2929
AC5	  1954#	  1998#	  2042#	  2088#	  2139#	  2149	  2150	  2171	  2193#	  2217	  2218	  2223	  2246#	  2291#
	  2341#	  2352	  2364	  2378#	  2389	  2402	  2534#	  2570#	  2609#	  2643#	  2705#	  2799#	  2861#	  2877
	  2878	  2882	  2883	  2884	  2904#
AFOCLR	   380#
AFODIS	   380#
AFOENB	   380#
AFOV	   380#
ALTMGO	   466#	  3182
AMPCLR	   380#
AMPV	   380#
ANXCLR	   380#
ANXM	   380#
AOVCLR	   380#
AOVDIS	   380#
AOVENB	   380#
AOVFLO	   380#
APAREN	   380#
APARER	   380#	   868
APDCLR	   380#
APDLOV	   380#
APWRFL	   380#
AROV	   380#	   794
AROVU	   380#
AST	   581#	  2978
ASTF	  2959#	  2959	  2976	  2979	  2981
ATRPOS	   380#                                                                                                            SEQ 0100
ATSIN	   582#
AUSRIO	   380#
BEGEND	   462#	  2936
BEGIN	    74	    77	    78	    79	    80	    81	    82	    83	    84	   365	   366	   393#	  3323
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	  2148	  2202	  2255	  2300	  2870	  2913
CCA	   380#
CDP	  2698#	  2740	  2742	  2743	  2769	  2770	  2772	  2773
CHAIN	   171#	   739
CHNOFF	   380#
CHNON	   380#	   880
CKPP	  2792#	  2826	  2833	  2835	  2836	  2837	  2838	  2839	  2841
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	  2146
	  2200	  2253	  2298	  2348	  2385	  2541	  2577	  2616	  2650	  2712	  2806	  2868	  2911
CNTLC	   465#
COMMA	   574#
CONSW	   449#	   732	   738	  3183	  3214
COUNT	  2412#	  2422#	  2422	  2435	  2438	  2444	  2473	  2493	  2510	  2982	  2985
CPOPJ	   469#
CPOPJ1	   467#
CRLF	   300	   301	   569#
CRLF2	   304	   305	   571#
CRY0	   380#	   794
CRY1	   380#	   794
CSHFLG	   628#
CSHMEM	   629#
CYCL60	   622#
DCK	   380#
DDTLNK	   185#	   407
DDTSRT	   407#
DEBUG	    59#	  3314	  3315
DECVER	     3#	    10	    26	   428
DF22F	   533#
DFRT1	  2421#	  2451
DFRT2	  2423#	  2429	  2433
DFRT3	  2431	  2434#	  2446	  2452
DFRT4	  2440	  2447#
DFRTFG	  2420#	  2420	  2466#	  2466	  2986	  2988
DFRTST	  2414#
DFT	  2459#
DFT1	  2467#	  2520                                                                                                     SEQ 0101
DFT2	  2474#	  2480	  2484
DFT3	  2482	  2485#	  2512	  2521
DFT4	  2507	  2513#	  2518
DIAGMN	   396#
DING	   157#	  3188
DOLLAR	   588#
DSKUPD	   433
END	  3322#
ENDFIX	   702#
ENDSLD	  3312#
ERDIAG	  3051
ERMORE	   482#	  3174
EROUT1	  2951#	  2995
EROUT2	  2948	  2992#
ERRELB	    55#	  3051
ERRLOP	   857#	   857	   894#	   894	   931#	   931	   968#	   968	  1005#	  1005	  1042#	  1042	  1079#	  1079
	  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	  2144#	  2144	  2198#	  2198	  2251#	  2251	  2296#	  2296	  2346#	  2346
	  2383#	  2383	  2417#	  2417	  2462	  2539#	  2539	  2575#	  2575	  2614#	  2614	  2648#	  2648	  2710#
	  2710	  2804#	  2804	  2866#	  2866	  2909#	  2909	  2947	  3031	  3193	  3196	  3197
ERRMES	    42	    43	    44	    45	    46	    47	    48	    49	  3002#
ERROUT	  2450	  2517	  2937#
ERRPC	   453#	  3014	  3048	  3060
ERRT1	  2973#	  2983
ERRTLS	   454#	  2940	  3012	  3200
ERSTOP	   160#	  3184
EXCASB	    53#	   431	  3003	  3205
EXIOT	   380#
FINAL	  2413#	  2449	  2962
FLAGS	   794#	  2014	  2105
FOV	   380#	   794
FOVU	   380#
FRDLNK	   183#
FSELNK	   182#
FXU	   380#
GDP	  2697#	  2739	  2740	  2741	  2744	  2752	  2753	  2754
HYPEN	   579#
INHCSH	   168#
INHPAG	   165#
INXM	   380#
IOCLR	   380#
ITERAT	    93#	   426
ITRCH1	   486#
ITRCNT	   426#
JOB41	   380#
JOBAPR	   380#
JOBCNI	   380#
JOBDDT	   380#
JOBFF	   380#
JOBOPC	   380#	  3181
JOBREL	   380#                                                                                                            SEQ 0102
JOBREN	   380#
JOBSA	   380#
JOBSYM	   380#
JOBTPC	   380#
JOBUSY	   380#
JOBUUO	   380#
JOBVER	   380#
JRA1	  2241#
JRA1A	  2261#	  2274
JRA2	  2262#	  2270	  2273
JRA3	  2256	  2265#
JRAA	  2286#
JRAA1	  2306#	  2324
JRAB	  2308#	  2323
JRAC	  2313#	  2319
JRAD	  2301	  2315#
JRST1	  1949#
JRST1A	  1969#	  1982
JRST2	  1971#	  1981
JRST3	  1972#	  1977
JRST4	  1970	  1974#
JRST5	  1964	  1975#
JSA1	  2188#
JSA1A	  2154#	  2175
JSA2	  2210#	  2229
JSA3	  2216#	  2225
JSA4	  2203	  2217	  2220#	  2221
JSAA	  2134#
JSAB	  2156#	  2174
JSAC	  2164#	  2170
JSAD	  2149	  2163	  2165#
JSAX	  2208#	  2230
JSP1	  1993#
JSP1A	  2013#	  2027
JSP2	  2016#	  2023	  2026
JSP3	  2008	  2020#
JSPA1	  2057#	  2071
JSR1	  2083#
JSR1A	  2103#	  2123
JSR2	  2110#	  2118
JSR3	  2111#	  2122
JSR4	  2098	  2113#	  2116
JSRA	  2037#
JSRB	  2059#	  2066
JSRC	  2060#	  2070
JSRD	  2052	  2061#
KA10	    57#	   380
KAHZ50	   173#
KAIFLG	   443#
KI10	   380	  3003	  3205
KL10	   380
KLFLG	   444#	  2942	  3018
KLOLD	    56#	   380                                                                                                     SEQ 0103
KLTYP	   660#
LDLNK	   184#	   396	   398
LFP	   583#
LOOPER	   159#	  3186
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
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#
MCNVER	     4#	    10	    26	   428
MEMFD1	   714#
MEMFD2	   718#	   736
MEMFD3	   717	   732#
MEMFD4	   723	   734	   738#
MEMLOW	   536#	   722	   803	   805	   813	   815	  2353	  2362	  2390	  2399	  2421	  2428	  2472	  2479
	  2660	  2732	  2818
MEMMAP	    60#	   434
MEMSIZ	   537#	   720	   721	   743	   801	   808
MEMTOT	   535#
MICNT	  2941	  2945	  2953	  3015#	  3015	  3016	  3033
MINUS	   578#
MODDVC	   167#
MODDVL	   365	   365#	   429
MODDVU	   366	   366#	   430
MODLNK	   186#	   393
MODULO	   811#	   811	  2350	  2387	  2419	  2471	  2584	  2657	  2719	  2813	  2821
MONCTL	   446#	  3034	  3198                                                                                             SEQ 0104
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#
NOPNT	   155#	  2951	  3024
NXMU	   380#
OPRSEL	   169#	   733
OPTIME	   548#
P	   212	   213	   214	   215	   380#	   468	  2956
PAG	   380#
PALERS	   161#	  2993	  3215
PARCLR	   380#	   862	   870	   880
PARDIS	   380#	   862
PAREA1	    86#	   424
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#	  3039	  3043
PATCH	  3315#
PDISF	   545#
PDLOVU	   380#
PERIOD	   575#
PFSTRT	   402#
PGMEND	    58#	  3321
PGMNAM	   427	   727	   823#
PI	   862	   868	   870	   880	  2945	  3021
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#                                                                                                            SEQ 0105
PNTEXT	   423#
PNTFLG	   543#
PNTINH	   546#
PNTLPT	   156#
PNTNAM	   422#
PNTSPC	   547#
POPE	  2699#	  2743	  2757	  2758	  2759
POPJ1	  2856#
POPJ1A	  2876#	  2892
POPJ2	  2879#	  2887	  2891
POPJ3	  2878	  2883#
POPJ4	  2871	  2886#
POPOIN	  2696#	  2737	  2738	  2757	  2765	  2766
POPRET	  2734#	  2778
POPT	  2700#
POPT1	  2714#	  2730	  2736	  2776
POPT2	  2737#
POPT3	  2746#	  2755
POPT4	  2745	  2757#	  2760
POPT5	  2744	  2762#
PP	  2791#	  2833	  2834	  2836	  2837
PROCED	  2946	  3022#	  3022	  3187	  3194
PUSHJ1	  2899#
PUSHJ2	  2921#	  2928
PUSHJ3	  2924#	  2932
PUSHJ4	  2914	  2927#
PUSHJA	  2919#	  2933
PUSHT	  2794#
PUSHT1	  2808#	  2819	  2823	  2846	  2848
PUSHT2	  2813#
PUSHT3	  2825#
PUSHT4	  2827#	  2843
PUSHT5	  2825	  2832#	  2842
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     SEQ 0106
	  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	  2157#	  2157	  2160	  2211#	  2211	  2214	  2215	  2216	  2309#	  2309	  2312	  2313	  2315
	  2316	  2318	  2423	  2426	  2474	  2477	  2544#	  2544	  2547	  2554	  2580#	  2580	  2583	  2596
	  2619#	  2619	  2622	  2629	  2653#	  2653	  2656	  2674	  2715#	  2715	  2718	  2748#	  2748	  2751
	  2777	  2809#	  2809	  2812	  2828#	  2828	  2831	  2847	  3129#	  3129
RAN1	  1955#	  1999#	  2018	  2022	  2043#	  2059	  2061	  2062	  2089#	  2110	  2114	  2115	  2117	  2140#
	  2194#	  2247#	  2292#	  2342#	  2379#	  2535#	  2571#	  2610#	  2644#	  2706#	  2800#	  2862#	  2905#
RANDBS	   424#	   706
REENTR	   404#
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	  2147	  2201	  2254	  2299	  2349	  2386	  2542	  2578
	  2617	  2651	  2713	  2807	  2869	  2912
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#
SFSTRT	   400#
SKPA	  2336#
SKPA1	  2354#	  2358
SKPA2	  2351	  2363#	  2365	  2366
SKPA3	  2359	  2365#
SKPB	  2373#
SKPB1	  2391#	  2395
SKPB2	  2388	  2401#	  2403	  2404
SKPB3	  2396	  2403#
SLASH	   587#
SPACE	   576#                                                                                                            SEQ 0107
SRTDDT	   406#
START	   394	   705#	   730
START1	   413#
START2	   414#
START3	   415#
START4	   416#
START5	   417#
STARTA	   409	   740	   749	   753#
SUBLNK	   187#	   410
SWTEXR	   425#
SYSEXR	   398#
TAB	   577#
TABL	  2435	  2439	  2448	  2490	  2497	  2514	  2974	  2987	  2989	  2997#
TAMP	  2464#	  2464	  2519
TAMP1	  2494#	  2494	  2501
TAMP2	  2495#	  2495	  2502
TAMP3	  2465#	  2465	  2499#	  2499	  2503	  2505
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	  2142	  2196	  2249	  2294	  2344	  2381	  2415	  2460	  2537	  2573	  2612
	  2646	  2708	  2802	  2864	  2907
TICKS	   455#
TOTALS	   153#
TPOP	  2529#
TPOP1	  2543#	  2553
TPOP2	  2548#	  2555
TPOP3	  2565#
TPOP4	  2579#	  2586	  2588	  2595
TPOP5	  2584#	  2597
TPUSH	  2604#
TPUSH1	  2618#	  2628
TPUSH2	  2623#	  2630
TPUSH3	  2638#
TPUSH4	  2652#	  2661	  2665	  2667	  2673
TPUSH5	  2657#	  2675
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                                                                                                     SEQ 0108
TST15B	  1363#	  1377
TST16	  1387#
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                                                                                                     SEQ 0109
TST6B	  1090#	  1099
TST7	  1109#
TST7A	  1119#	  1139
TST7B	  1128#	  1136
TTNBRF	   635#
TTYFIL	   551#
TTYSPD	   552#
TXTINH	   164#
USER	   442#	   707	   860	   866	   878	  2943	  3019
USERF	   380#	  2020	  2108	  2109
USRASB	    54#	   432
USRCRF	   561#
USRLFF	   560#
UUODIS	   514#
UUOEXT	   470#	  3212
UUORTN	   471#
UUOSKP	   468#
UUOTXT	  3167
WCBUF	   816#	   816	  1969	  2013	  2057	  2103	  2154	  2208	  2261	  2306	  2876	  2919
$$MUUO	   666#
$$OUTE	   672#
$$TAX1	   684#
$$TAX2	   685#
$$TOGG	   678#
$$UUO	   655#
$ACC0	   493#
$BEND1	   463#
$BEND2	   464#	  3202
$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	  3223
$MMAP	   434#
$MODVL	   429#
$MODVU	   430#
$OBUF	   597#
$ONETM	   457#
$OUTEX	   599#
$OUTNM	   598#
$PAPER	   380
$PARER	   481#
$PNAME	   427#                                                                                                            SEQ 0110
$PSHER	   485#
$PVER	   428#
$RSRTX	   477#
$RSRTY	   478#
$SPAG1	   497#
$START	   394#
$SVAPR	   495#
$SVPAG	   496#
$SVPI	   494#
$SVUPC	   500#	  3013	  3017	  3047
$SVUUO	   499#	  3026	  3063	  3074	  3120	  3158
$TABF	   557#
$TTCHR	   553#
$TWCNT	   549#
$TYPNB	   555#
$UMODE	   432#
$UORTX	   472#
$USRHL	   476#
$UUOER	   473#	   514
$VTF	   559#
%ACS1A	  3028#	  3028	  3055	  3059	  3076	  3082
%ACTFL	   506#
%ACTUL	   507#
%CNTE	  3064#	  3064	  3068	  3083
%COREC	   505#
%CORFL	   504#
%DISCR	   508#
%EE1	  3069#	  3069	  3071	  3145
%EE1A	  3072#	  3072	  3113	  3154
%EE2	  3075#	  3075	  3080	  3143
%EE2A	  3081#	  3081	  3137
%ERAC0	  2937	  3002#	  3002	  3029	  3067	  3099	  3111	  3127	  3204
%ERAC1	  2938	  3010#	  3010	  3030	  3066	  3070	  3073	  3079	  3192
%ERAC2	  2939	  3011#	  3011	  3065	  3191
%ERFST	  3036#	  3036	  3038
%ERHI1	   647#
%ERHI2	   648#
%ERHI3	   649#
%ERMOR	  2952	  2990	  2994	  3168	  3174#
%ERMS1	  3033#	  3217
%ERMS2	  3054#
%ERR2	  3088	  3132	  3141#
%ERR4	  3105	  3158#
%ERRB	  3100#	  3155
%ERRB1	  3120#	  3148
%ERRC	  3116	  3134	  3139	  3150	  3160	  3164#
%ERRS1	  3025	  3178#	  3216
%ERRS2	  3191#
%ERRS4	  3032	  3214#
%ERRS5	  3195	  3199	  3204#
%RAND	  3054#	  3054	  3057	  3128
.JB41	   380#
.JBAPR	   380#                                                                                                            SEQ 0111
.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 0112
CLOKOP	   330#
CWRTBI	   337#
DROPDV	   297#	   820
EERRI	    40#	  2166
ENDUUO	   343#	   462
EOPUUO	   344#	   464
ER	    37#	   869	  1834	  1841	  1846	  1973
ERM	    38#
ERMM	    39#	  1976	  2065	  2169	  2269	  2364	  2402
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	  2115	  2224	  2266	  2316	  2318
ERRHLT	   232#	   729	  3185
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	  2117	  2222
ERROR	    36#	  2551	  2593	  2626	  2671	  2766	  2770	  2837	  2839	  2884	  2886	  2927
FATAL	   231#
FRD36	   372#
FRD8	   373#
FREAD	   371#
FSELEC	   370#
GET	   215#
GO	   212#	  2450	  2517
HALT	    80	    81	    82	    83	    84	   217#	   483
JEN	   219#
JRSTF	   218#
LOOP	   137#	  2552	  2594	  2627	  2672	  2775	  2844
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#	  3189
PCRL	   300#	  2973	  2984	  3164
PCRL2	   304#
PCRL2F	   305#
PCRLF	   301#
PFORCE	   308#
PGMINT	   225#	   705
PJRST	   216#
PMSG	   310#	   741	   747	  2954	  2960	  2964	  3041	  3045	  3091	  3095	  3107	  3118	  3123	  3135     SEQ 0113
	  3141	  3152
PMSGF	   313#
PNT1	   266#
PNT11	   280#
PNT11F	   281#
PNT1F	   267#
PNT2	   268#	  3094
PNT2F	   269#
PNT3	   270#
PNT3F	   271#
PNT4	   272#
PNT4F	   273#
PNT5	   274#
PNT5F	   275#
PNT6	   276#	  2958	  2963	  2967	  2977	  3049	  3146
PNT6F	   277#
PNT7	   278#
PNT7F	   279#
PNTA	   252#	  2980	  3159
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	  3044
PNTDS	   292#
PNTDSF	   293#
PNTHW	   286#	  3100	  3114	  3130	  3138
PNTHWF	   287#
PNTMGN	   377#	  3175
PNTMSF	   259#
PNTMSG	   258#	  2968
PNTNM	   294#	  2949	  3037
PNTOCF	   289#
PNTOCS	   288#
PNTOCT	   284#
PNTOTF	   285#
PNTSIX	   295#
PNTSXF	   296#
PSIXL	   256#
PSIXLF	   257#
PSIXM	   260#	   742	   748	  2955	  2961	  2965	  3042	  3046	  3092	  3096	  3108	  3119	  3124	  3136
	  3142	  3153
PSIXMF	   261#
PSP	   302#
PSPF	   303#                                                                                                            SEQ 0114
PUT	   214#
RANDM1	   131#	  2156	  2210	  2308	  2543	  2579	  2618	  2652	  2714	  2746	  2808	  2827
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	  2134	  2188	  2241	  2286	  2336	  2373	  2529	  2565	  2604
	  2638	  2700	  2794	  2856	  2899
SIXBTZ	   319#
SWITCH	   325#	   714	   755	  2950	  2992	  3023	  3176
TTALTM	   247#	  3178
TTICHR	   240#
TTICNV	   245#
TTIDEC	   244#
TTINO	   242#
TTIOCT	   243#
TTIYES	   241#
TTLOOK	   246#
TTSIXB	   248#