Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dskba.seq
There are no other files named dskba.seq in the archive.
;DSKBA







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

	PRODUCT CODE:		AH-E323A-DD

	DIAGNOSTIC CODE:	DSKBA

	PRODUCT NAME:	 	DSKBAA0 DECSYSTEM 2020 BASIC
				INSTRUCTION RELIABILITY DIAGNOSTIC (1)

	VERSION:		0.1

	DATE RELEASED:		MARCH 1978

	MAINTAINED BY:		DIAGNOSTIC ENGINEERING

	AUTHOR:			JOHN R. KIRCHOFF

		        COPYRIGHT (C) 1978

	        DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

	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 EXCEPT 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  DIGITAL  EQUIPMENT
	CORPORATION.

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

	DIGITAL EQUIPMENT CORPORATION ASSUMES NO  RESPONSIBILITY FOR THE
	USE  OR  RELIABILITY  OF  ITS SOFTWARE IN EQUIPMENT WHICH IS NOT
	SUPPLIED BY DIGITAL EQUIPMENT CORPORATION.
							MAINDEC-10-DSKBA.TXT
							PAGE 2                                                             SEQ 0003

			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-DSKBA.TXT
							PAGE 3                                                             SEQ 0004

1.0	ABSTRACT

	THIS DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST VERIFIES
	THE FUNCTIONALITY OF THE DECSYSTEM 2020 BASIC INSTRUCTIONS.
	THIS PROGRAM TESTS ALL OF THE BASIC INSTRUCTIONS 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.

	IN THE MEMORY AND BOTH MODES A RANDOM NUMBER IS PLACED
	IN THE AC AND C(E) AND A SERIES OF 4 OR 5 INSTRUCTIONS
	ARE EXECUTED.  THE ANSWER IN THE AC AND/OR C(E) IS
	CHECKED AND AN ERROR MESSAGE IS PRINTED IF THE NUMBER
	IS NOT CORRECT.  EACH SET OF 4 OR 5 INSTRUCTIONS ACTS
	ON EACH MEMORY LOCATION FROM THE END OF THE PROGRAM
	TO THE DESIGNATED END OF MEMORY.

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

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A DECSYSTEM 2020 EQUIPPED WITH A MINIMUM OF 32K OF MEMORY
	CONSOLE PROCESSOR
	CONSOLE TELETYPE
	LOAD DEVICE

2.2	STORAGE

	THE PROGRAM RUNS WITHIN 32K OF MEMORY.

2.3	PRELIMINARY PROGRAMS

	PREVIOUS PROCESSOR DIAGNOSTICS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

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

	FOLLOW THE APPROPRIATE DIAGNOSTIC LOADING PROCEDURES.
							MAINDEC-10-DSKBA.TXT
							PAGE 5                                                             SEQ 0006

3.2	STARTING PROCEDURE

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

	B.  THE FOLLOWING QUESTIONS WILL BE ASKED TO 
	    SELECT THE OPERATIONAL SWITCHES:

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

		    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-DSKBA.TXT
							PAGE 6                                                             SEQ 0007

3.3	OPERATING PROCEDURE

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

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

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

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

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

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

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

4.0	DATA SWITCH FUNCTIONS

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

	0    ABORT	0	NORMAL OPERATION
			1	ABORT AT END OF PASS

	1    RSTART		NOT USED
	2    TOTALS		NOT USED

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

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

	5    DING	0	NO FUNCTION
			1	RING TTY BELL ON ERROR

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

	7    ERSTOP	0	NO FUNCTION
			1	HALT ON TEST ERROR

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

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

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

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

	12   MODDVC		NOT USED

	13   INHCSH	0	ALLOW CACHE USE
			1	INHIBIT CACHE

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

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

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

5.0	ERRORS

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

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

	WHEN THE SCOPE LOOP MODE IS USED, 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-DSKBA.TXT
							PAGE 9                                                             SEQ 0010

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-DSKBA.TXT
							PAGE 10                                                            SEQ 0011

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-DSKBA.TXT
							PAGE 11                                                            SEQ 0012

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-DSKBA.TXT
							PAGE 12                                                            SEQ 0013

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-DSKBA.TXT
							PAGE 13                                                            SEQ 0014

6.0	ITERATION COUNTER

	THE PASS COUNT IS TYPED OUT ON THE CONSOLE TELETYPE.

7.0	CYCLE TIME

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

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

	B.  RELIABILITY MODE - APPROXIMATELY 3 TO 5 MINUTES.

8.0	OPERATIONAL VARIATIONS

	A.  DIAGNOSTIC MONITOR

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

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

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

			RH = RIGHT HALF OF CONSOLE SWITCHES IF UNDER
			     DIAGNOSTIC MONITOR CONTROL.
							MAINDEC-10-DSKBA.TXT
							PAGE 14                                                            SEQ 0015

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 'DSKBA.LPT'

	    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
		HISTORY FILE FOR DSKBA                                                                                     SEQ 0016
		----------------------

---------------------------------------------------------------

CODE:		MAINDEC-10-DSKBA

TITLE:		DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY DIAGNOSTIC (1)

VERSION:	0.1

DATE:		MARCH 1978

REASON:		ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
---------------------------------------------------------------
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 1
DSKBAT	MAC	29-Mar-78 12:26		CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978                                        SEQ 0017

     1					;MAINDEC-10-DSKBA
     2
     3			000000		MCNVER=0
     4			000001		DECVER=1
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 ^
    13
    14						XALL
    15
    16					;TEST DESIGNED FOR RANDOM NUMBER TESTING OF THE PDP-10 BASIC INSTRUCTIONS
    17
    18					;COPYRIGHT 1978
    19					;DIGITAL EQUIPMENT CORPORATION
    20					;MARLBORO, MASS. 01752
    21
    22					;JOHN R. KIRCHOFF
    23
    24	000137					LOC	137
    25	000137	000000	000001		MCNVER,,DECVER
    26						NOSYM
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 2
DSKBAT	MAC	29-Mar-78 12:26		TEST CONTROL SWITCHES                                                              SEQ 0018

    27					SUBTTL	TEST CONTROL SWITCHES
    28
    29					;OPRSEL OR RELIAB = ALLOW FULL MEMORY USAGE
    30					;OTHERWISE MEMORY LIMITED TO 32K UNLESS SWITCH SELECTED.
    31
    32					;SWITCHES 27-35 , SIZE OF MEMORY, HIGH ORDER 9 BITS
    33
    34					;ACCUMULATOR ASSIGNMENTS
    35
    36			000010		RA=10
    37
    38					SUBTTL	DIAGNOSTIC PARAMETERS
    39
    40					;LUUO DEFINITIONS
    41
    42		001000	000000		OPDEF	ERR	[1B8]
    43		002000	000000		OPDEF	ERRM	[2B8]
    44		003000	000000		OPDEF	ERRI	[3B8]
    45		004000	000000		OPDEF	ERROR	[4B8]
    46		005000	000000		OPDEF	ER	[5B8]
    47		006000	000000		OPDEF	ERM	[6B8]
    48		007000	000000		OPDEF	ERMM	[7B8]
    49		011000	000000		OPDEF	EERR	[11B8]
    50		012000	000000		OPDEF	EERRM	[12B8]
    51		013000	000000		OPDEF	EERRI	[13B8]
    52			060416		LUUO1=ERRMES
    53			060416		LUUO2=ERRMES
    54			060416		LUUO3=ERRMES
    55			060416		LUUO4=ERRMES
    56			060416		LUUO5=ERRMES
    57			060416		LUUO6=ERRMES
    58			060416		LUUO7=ERRMES
    59			060416		LUUO11=ERRMES
    60			060416		LUUO12=ERRMES
    61			060416		LUUO13=ERRMES
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3
DSKBAT	MAC	29-Mar-78 12:26		DIAGNOSTIC PARAMETERS                                                              SEQ 0019

    62					;SUBROUTINE ASSEMBLY DEFINITIONS
    63
    64			000001		EXCASB==1
    65			000001		USRASB==1
    66			000001		MEMMAP==1
    67			000040		DEBUG==40
    68			000001		EROLD==1
    69			000001		PGMEND==1
    70			000001		ERRELB==1
    71			030000		SADR1==BEGIN
    72			030076		SADR2==RESRT1
    73			030636		SADR3==RENTR1
    74			030000		SADR4==BEGIN
    75			030061		SADR5==$BEND2
    76			030000		SADR6==BEGIN
    77		254200	030000		SADR7==HALT BEGIN
    78		254200	030000		SADR8==HALT BEGIN
    79		254200	030000		SADR9==HALT BEGIN
    80		254200	030000		SADR10==HALT BEGIN
    81		254200	030000		SADR11==HALT BEGIN
    82		123457	654321		PAREA1==123457,,654321
    83			000000		PAREA2==0
    84		446353	424100		PAREA3==SIXBIT/DSKBA/
    85		546064	000000		PAREA4==SIXBIT/LPT/
    86			000000		PAREA5==0
    87			000000		PAREA6==0
    88			000001		ITERAT==1
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4
DSKBAT	MAC	29-Mar-78 12:26		DIAGNOSTIC PARAMETERS                                                              SEQ 0020

    89					;MACROS
    90
    91					DEFINE	SETUP	(A,B)<
    92						AC1=<AC+1>&17
    93						AC2=<AC+2>&17
    94						AC3=<AC+3>&17
    95						AC4=<AC+4>&17
    96						AC5=<AC+5>&17
    97						RAN1=<AC-2>&17
    98						MOVEI	AC-1,.
    99						MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   100						MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   101						MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   102						MOVEI	AC-1,A		;ROUTINE WEIGHTING
   103						ASH	AC-1,@CMPLXT+B	;ROUTINE COMPLEXITY
   104						ASH	AC-1,@RTIME	;RUN TIME CONTROLLER >
   105
   106					DEFINE	RANDOM	(A)<
   107						MOVE	AC,RAN#		;GENERATE A PSEUDO RANDOM NUMBER
   108						ADD	AC,[142536475076]
   109						ROT	AC,-1		;IN BOTH AC AND
   110						EQVB	AC,RAN		;REGISTER RAN >
   111
   112					DEFINE	LOOP	(A,B)<
   113						SOJG	AC-1,A		;ITERATION COUNTER
   114						MOVE	AC,RAN		;RESTORE RANDOM NUMBER
   115						JUMPL	AC-1,B		;LOOP ON ERROR SWITCH >
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5
DSKBAT	MAC	29-Mar-78 12:26		DIAGNOSTIC PARAMETERS                                                              SEQ 0021

   116					;MACROS
   117
   118					DEFINE	MSETUP	<
   119						AC1=<AC+1>&17
   120						AC2=<AC+2>&17
   121						AC3=<AC+3>&17
   122						AC4=<AC+4>&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						MOVE	AC1,BLOK#	;MOVE (-TOP+END,END) INTO AC1. >
   128
   129					DEFINE	MRANDOM	<
   130						ADD	RA,[142536475076]
   131						ROT	RA,-1		;GENERATE A PSEUDO RANDOM NUMBER
   132						EQVB	RA,AC		;IN BOTH RA AND AC.
   133						MOVE	AC,RA		;ON ERROR...RESTORE C(AC) AND C(E)
   134						MOVEM	RA,(AC1)	;PUT RANDOM # IN 1ST MEMORY LOC.
   135						CAME	RA,(AC1)	;DID IT MAKE IT ?
   136						ERRM	RA,RA		;NO...PRINT ERROR MESSAGE. >
   137
   138					DEFINE	SETUP1	(A,B)<
   139						AC1=<AC+1>&17
   140						AC2=<AC+2>&17
   141						AC3=<AC+3>&17
   142						AC4=<AC+4>&17
   143						AC5=<AC+5>&17
   144						RAN1=<AC-2>&17
   145						MOVEI	AC-1,.
   146						MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   147						MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   148						MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   149						MOVEI	AC-1,A		;ROUTINE WEIGHTING
   150						ASH	AC-1,@CMPLXT+B	;ROUTINE COMPLEXITY
   151						ASH	AC-1,@RTIME	;RUN TIME CONTROLLER >
   152
   153					DEFINE	RANDM1	(A)<
   154						MOVE	AC,RAN#		;GENERATE A PSEUDO RANDOM NUMBER
   155						ADD	AC,[142536475076]
   156						ROT	AC,-1
   157						EQVB	AC,RAN		;IN BOTH AC AND REGISTER RAN. >
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 1
PARAM	KSM	28-Mar-78 11:27		CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978                                        SEQ 0022

   158					SUBTTL	CONSOLE DATA SWITCH ASSIGNMENTS, MARCH 1978
   159
   160					DEFINE	S,<;*********************************************************************>
   161
   162					S^;*********************************************************************^
   163					;*DATA SWITCHES
   164					;*LEFT HALF SWITCHES ARE PRE-ASSIGNED FOR SUBROUTINE PACKAGE USE
   165					;*AND CONTROL LOOPING, PRINTING (TTY OR OTHER DEVICE) AND MISC. FUNCTIONS
   166					S^;*********************************************************************^
   167
   168			400000		ABORT==	400000			;ABORT PROGRAM ON PASS COMPLETION
   169			200000		RSTART==200000			;RESTART TEST, PRINT TOTALS
   170			100000		TOTALS==100000			;PRINT TOTALS, CONTINUE
   171
   172			040000		NOPNT==	040000			;INHIBIT ALL PRINT/TYPE OUT (EXCEPT FORCED)
   173			020000		PNTLPT==020000			;PRINT ALL DATA ON LPT (LOGICAL DEVICE, USER MODE)
   174			010000		DING==	010000			;RING BELL ON ERROR
   175
   176			004000		LOOPER==004000			;ENTER EXERCISE/CHECK LOOP ON ERROR
   177			002000		ERSTOP==002000			;HALT ON TEST ERROR
   178			001000		PALERS==001000			;PRINT ALL ERRORS
   179
   180			000400		RELIAB==000400			;RELIABILITY MODE
   181			000200		TXTINH==000200			;INHIBIT ERROR TEXT
   182			000100		INHPAG==000100			;INHIBIT PAGING
   183
   184			000040		MODDVC==000040			;MODIFY DEVICE CODE
   185			000020		INHCSH==000020			;INHIBIT CACHE
   186			000010		OPRSEL==000010			;OPERATOR SELECTION
   187
   188			000004		CHAIN==	000004			;CHAIN CONTROL SWITCH
   189
   190									;SWITCH 16 RESERVED
   191
   192									;SWITCH 17 RESERVED !!!
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 2
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0023

   193					SUBTTL	PROGRAM/SUBROUTINE PARAMETERS
   194
   195					S^;*********************************************************************^
   196					;*SPECIAL SUBPROGRAM LINKAGES
   197					S^;*********************************************************************^
   198
   199			027772		FSELNK=	27772	;FILE SELECT LINK
   200			027773		FRDLNK=	27773	;FILE READ LINK
   201			027774		LDLNK=	27774	;LOAD LINKAGE ADDRESS
   202			027775		DDTLNK=	27775	;DDT LINKAGE ADDRESS
   203			027776		MODLNK=	27776	;OPERATIONAL MODE CHECK LINKAGE ADDRESS
   204			027777		SUBLNK=	27777	;SUBROUTINE LINKAGE ADDRESS
   205
   206					S^;*********************************************************************^
   207					;*SPECIAL SUBROUTINE FATAL HALTS
   208					;*USED TO REPORT ERRORS THAT CAUSE THE SUBROUTINES TO BE UNUSABLE
   209					S^;*********************************************************************^
   210
   211					;ADDRESS   TAG	REASON
   212					;---------------------
   213
   214					; 1010 	NOEXEC	;PROGRAM NOT CODED FOR EXEC MODE OPERATION
   215					; 1011  PLERR	;FATAL PUSH LIST POINTER ERROR
   216					; 1012  PLERR1	;INITIAL PUSH LIST POINTER ERROR
   217					; 1013  MUOERR	;MUUO WITH LUUO HANDLER WIPED OUT
   218					; 1014  SMBER	;KS-10 INTERRUPT WITHOUT DOORBELL
   219					; 1015  SMCER	;KS-10 CLOCK INTERRUPT WITHOUT FLAG SET
   220					; 1016  CPIERR	;CPU INITIALIZATION ERROR
   221					; 1017  EOPERR	;END OF PROGRAM ERROR
   222					; 1020  LUOERR	;INTERRUPT WITH LUUO HANDLER WIPED OUT
   223
   224					S^;*********************************************************************^
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0024

   225					S^;*********************************************************************^
   226					;OPERATOR DEFINITIONS (NON-UUO'S)
   227					S^;*********************************************************************^
   228
   229		260740	000000		OPDEF	GO	[PUSHJ	P,]	;SUBROUTINE CALL
   230		263740	000000		OPDEF	RTN	[POPJ	P,]	;SUBROUTINE RETURN 
   231		261740	000000		OPDEF	PUT	[PUSH	P,]	;PUT DATA ON PUSH LIST
   232		262740	000000		OPDEF	GET	[POP	P,]	;GET DATA FROM PUSH LIST 
   233		254000	000000		OPDEF	PJRST	[JRST	]	;JRST TO ROUTINE THAT RTN'S
   234		254200	000000		OPDEF	HALT	[JRST	4,]	;DEFINITION FOR DDT
   235		254100	000000		OPDEF	JRSTF	[JRST	2,]	;DEFINITION FOR DDT
   236		254500	000000		OPDEF	JEN	[JRST	12,]	;DEFINITION FOR DDT
   237
   238					S^;*********************************************************************^
   239					;*SUBROUTINE INITIALIZATION CALL
   240					S^;*********************************************************************^
   241
   242		265000	030011		OPDEF	PGMINT	[JSP	0,SBINIT]	;SUBROUTINE INITIALIZATION
   243
   244					S^;*********************************************************************^
   245					;*HALTING UUO'S (A MORE GRACEFUL HALT THAN SIMPLY USING THE HALT INSTRUCTION).
   246					S^;*********************************************************************^
   247
   248		037640	000004		OPDEF	FATAL	[37B8!15B12!4]	;FATAL PROGRAMMING HALT
   249		037600	000004		OPDEF	ERRHLT	[37B8!14B12!4]	;PROGRAM ERROR HALT
   250
   251					S^;*********************************************************************^
   252					;*TERMINAL INPUT UUO'S
   253					;*ALWAYS COME FROM THE CONSOLE TERMINAL IN EXEC MODE OR THE
   254					;*CONTROLLING TERMINAL (REAL TERMINAL OR PTY) IN USER MODE.
   255					S^;*********************************************************************^
   256
   257		037000	000003		OPDEF	TTICHR 	[37B8!0B12!3]	;TTY, INPUT ANY CHARACTER
   258		037040	000003		OPDEF	TTIYES	[37B8!1B12!3]	;TTY, NORMAL RETURN Y
   259		037100	000003		OPDEF	TTINO	[37B8!2B12!3]	;TTY, NORMAL RETURN N
   260		037140	000003		OPDEF	TTIOCT	[37B8!3B12!3]	;TTY, INPUT OCTAL WORD
   261		037200	000003		OPDEF	TTIDEC	[37B8!4B12!3]	;TTY, INPUT DECIMAL WORD
   262		037240	000003		OPDEF	TTICNV	[37B8!5B12!3]	;TTY, INPUT CONVERTABLE WORD
   263		037300	000003		OPDEF	TTLOOK	[37B8!6B12!3]	;TTY, KEYBOARD CHECK
   264		037340	000003		OPDEF	TTALTM	[37B8!7B12!3]	;TTY, ALT-MODE CHECK
   265		037400	000003		OPDEF	TTSIXB	[37B8!10B12!3]	;TTY, INPUT SIXBIT WORD
   266		037440	000003		OPDEF	TTYINP	[37B8!11B12!3]	;TTY, IMAGE MODE INPUT
   267		037500	000003		OPDEF	TTICLR	[37B8!12B12!3]	;TTY, CLEAR INPUT
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0025

   268					;*TERMINAL OUTPUT UUO'S.
   269
   270		037000	000000		OPDEF	PNTA	[37B8!0B12!0]	;PRINT ASCII WORD
   271		037000	000001		OPDEF	PNTAF	[37B8!0B12!1]	;PRINT ASCII WORD FORCED
   272		037740	000000		OPDEF	PNTAL	[37B8!17B12!0]	;PRINT ASCIZ LINE
   273		037740	000001		OPDEF	PNTALF	[37B8!17B12!1]	;PRINT ASCIZ LINE FORCED
   274		037600	000003		OPDEF	PSIXL	[37B8!14B12!3]	;PRINT SIXBIT'Z LINE
   275		037640	000003		OPDEF	PSIXLF	[37B8!15B12!3]	;PRINT SIXBIT'Z LINE FORCED
   276		037000	000000		OPDEF	PNTMSG	[37B8!0B12!0]	;PRINT MESSAGE IMMEDIATE
   277		037040	000000		OPDEF	PNTMSF	[37B8!1B12!0]	;PRINT MESSAGE IMMEDIATE FORCED
   278		037100	000000		OPDEF	PSIXM	[37B8!2B12!0]	;PRINT SIXBIT'Z MSG IMMEDIATE
   279		037200	000000		OPDEF	PSIXMF	[37B8!4B12!0]	;PRINT SIXBIT'Z MSG IMM FORCED
   280		037000	000000		OPDEF	PNTCI	[37B8!0B12!0]	;PRINT CHARACTER IMMEDIATE
   281		037040	000000		OPDEF	PNTCIF	[37B8!1B12!0]	;PRINT CHARACTER IMMEDIATE FORCED
   282		037500	000000		OPDEF	PNTCHR	[37B8!12B12!0]	;PRINT CHARACTER
   283		037500	000001		OPDEF	PNTCHF	[37B8!12B12!1]	;PRINT CHARACTER FORCED
   284		037040	000000		OPDEF	PNT1	[37B8!1B12!0]	;PRINT ONE OCTAL DIGIT
   285		037040	000001		OPDEF	PNT1F	[37B8!1B12!1]	;PRINT 1 OCTAL DIGIT FORCED	
   286		037100	000000		OPDEF	PNT2	[37B8!2B12!0]	;PRINT TWO OCTAL DIGITS
   287		037100	000001		OPDEF	PNT2F	[37B8!2B12!1]	;PRINT 2 OCTAL DIGITS FORCED	
   288		037140	000000		OPDEF	PNT3	[37B8!3B12!0]	;PRINT THREE OCTAL DIGITS
   289		037140	000001		OPDEF	PNT3F	[37B8!3B12!1]	;PRINT THREE OCTAL DIGITS FORCED	
   290		037200	000000		OPDEF	PNT4	[37B8!4B12!0]	;PRINT FOUR OCTAL DIGITS
   291		037200	000001		OPDEF	PNT4F	[37B8!4B12!1]	;PRINT FOUR OCTAL DIGITS FORCED
   292		037240	000000		OPDEF	PNT5	[37B8!5B12!0]	;PRINT FIVE OCTAL DIGITS
   293		037240	000001		OPDEF	PNT5F	[37B8!5B12!1]	;PRINT FIVE OCTAL DIGITS FORCED
   294		037300	000000		OPDEF	PNT6	[37B8!6B12!0]	;PRINT SIX OCTAL DIGITS
   295		037300	000001		OPDEF	PNT6F	[37B8!6B12!1]	;PRINT SIX OCTAL DIGITS FORCED
   296		037340	000000		OPDEF	PNT7	[37B8!7B12!0]	;PRINT 7 OCTAL DIGITS
   297		037340	000001		OPDEF	PNT7F	[37B8!7B12!1]	;PRINT 7 OCTAL DIGITS FORCED
   298		037440	000000		OPDEF	PNT11	[37B8!11B12!0]	;PRINT 11 OCTAL DIGITS
   299		037440	000001		OPDEF	PNT11F	[37B8!11B12!1]	;PRINT 11 OCTAL DIGITS FORCED.
   300		037400	000000		OPDEF	PNTADR	[37B8!10B12!0]	;PRINT PHYSICAL ADDRESS
   301		037400	000001		OPDEF	PNTADF	[37B8!10B12!1]	;PRINT PHYSICAL ADDRESS FORCED
   302		037600	000000		OPDEF	PNTOCT  [37B8!14B12!0]	;PRINT FULL WORD OCTAL
   303		037600	000001		OPDEF	PNTOTF	[37B8!14B12!1]	;PRINT FULL WORD OCTAL FORCED
   304		037540	000000		OPDEF	PNTHW	[37B8!13B12!0]	;PRINT OCTAL HALF WORDS, 6 SP 6
   305		037540	000001		OPDEF	PNTHWF	[37B8!13B12!1]	;PRINT OCTAL HALF WORDS, 6 SP 6 FORCED
   306		037700	000003		OPDEF	PNTOCS	[37B8!16B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S
   307		037740	000003		OPDEF	PNTOCF	[37B8!17B12!3]	;PRINT OCTAL, SUPPRESS LEADING 0'S FORCED
   308		037640	000000		OPDEF	PNTDEC	[37B8!15B12!0]	;PRINT DECIMAL, SUPRESS LEADING 0'S
   309		037640	000001		OPDEF	PNTDCF	[37B8!15B12!1]	;PRINT DECIMAL, SUPRESS LEADING 0'S FORCED
   310		037700	000000		OPDEF	PNTDS	[37B8!16B12!0]	;PRINT DECIMAL, SPACES FOR LD 0'S
   311		037700	000001		OPDEF	PNTDSF	[37B8!16B12!1]	;PRINT DECIMAL, SPACES FOR LD 0'S FORCED
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0026

   312		037200	000002		OPDEF	PNTNM	[37B8!4B12!2]	;PRINT PROGRAM NAME
   313		037000	000002		OPDEF	PNTSIX	[37B8!0B12!2]	;PRINT SIXBIT WORD
   314		037040	000002		OPDEF	PNTSXF	[37B8!1B12!2]	;PRINT SIXBIT WORD FORCED
   315		037240	000002		OPDEF	DROPDV	[37B8!5B12!2]	;CLOSE LOGICAL FILE, USER MODE
   316		037100	000002		OPDEF	PNTCW	[37B8!2B12!2]	;PRINT DF10 CONTROL WORD
   317		037140	000002		OPDEF	PNTCWF	[37B8!3B12!2]	;PRINT DF10 CONTROL WORD FORCED
   318		037000	030242		OPDEF	PCRL	[37B8!0B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED
   319		037040	030242		OPDEF	PCRLF	[37B8!1B12!CRLF] ;PRINT CARRIAGE RETURN/LINE FEED FORCED
   320		037000	000040		OPDEF	PSP	[37B8!0B12!40]	;PRINT SPACE
   321		037040	000040		OPDEF	PSPF	[37B8!1B12!40]	;PRINT SPACE FORCED
   322		037000	030243		OPDEF	PCRL2	[37B8!0B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE)
   323		037040	030243		OPDEF	PCRL2F	[37B8!1B12!CRLF2] ;PRINT CARRIAGE RETURN/LINE FEED (TWICE) FORCED
   324		037040	000007		OPDEF	PBELL	[37B8!1B12!7]	;PRINT TTY BELL
   325
   326		037040	000026		OPDEF	PFORCE	[37B8!1B12!26]	;PRINT FORCE, CONTROL O OVERRIDE
   327
   328					DEFINE	PMSG	(ARG),<
   329						PSIXM	[SIXBIT\ARG'_\]>
   330
   331					DEFINE	PMSGF	(ARG),<
   332						PSIXMF	[SIXBIT\ARG'_\]>
   333
   334					;*SIXBTZ -- MACRO TO GENERATE SIXBIT DATA FOR PRINTING
   335					;*	CONSERVES CORE OVER ASCIZ
   336
   337					DEFINE	SIXBTZ	(ARG),<	[SIXBIT\ARG'_\]>
   338
   339					;*CONSOLE SWITCH INPUT UUO.
   340					;*READS CONSOLE SWITCHES IF IN EXEC MODE OR ASKS FOR THEM IF
   341					;* USER MODE.
   342
   343		037400	000002		OPDEF	SWITCH	[37B8!10B12!2]	;INPUT CONSOLE SWITCHES
   344
   345					;*CLOCK INITIALIZATION UUO - TO SET DESIRED CLOCK OPERATION
   346					;*EITHER IGNORE CLOCK, ONLY LET IT TICK OR CAUSE INTERRUPT TO OCCUR.
   347
   348		037540	000004		OPDEF	CLOKOP	[37B8!13B12!4]	;CLOCK OPERATION UUO - CLOCK
   349		037200	000004		OPDEF	MTROP	[37B8!4B12!4]	;CLOCK OPERATION UUO - METER
   350
   351					;*KS-10 CACHE OPERATION UUO'S
   352
   353		037040	000004		OPDEF	CINVAL	[37B8!1B12!4]	;CACHE INVALIDATE
   354		037100	000004		OPDEF	CFLUSH	[37B8!2B12!4]	;CACHE FLUSH
   355		037140	000004		OPDEF	CWRTBI	[37B8!3B12!4]	;CACHE WRITE-BACK & INVALIDATE
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6
PARAM	KSM	28-Mar-78 11:27		PROGRAM/SUBROUTINE PARAMETERS                                                      SEQ 0027

   356					;*END OF PASS/PROGRAM UUOS
   357
   358					;PERFORMS THE END OF PASS FUNCTIONS. INCREMENT PASS COUNT,
   359					;*DECREMENT ITERATION COUNT, CHECK IF FINISHED WITH THIS PROGRAM ETC.
   360
   361		037500	000004		OPDEF	ENDUUO	[37B8!12B12!4]	;UUO TO DISPLAY LIGHTS
   362		037700	000004		OPDEF	EOPUUO	[37B8!16B12!4]	;END OF PROGRAM UUO
   363
   364					;*MEMORY MANAGEMENT UUO'S
   365					;*UUO'S TO PERFORM VARIOUS MEMORY FUNCTIONS. MAPPING, ZEROING, PAGING,
   366					;*ADDRESS CONVERSION, ETC...
   367
   368		037000	000004		OPDEF	MAPMEM	[37B8!0B12!4]	;MAP MEMORY
   369		037500	000002		OPDEF	MEMZRO	[37B8!12B12!2]	;ZERO MEMORY
   370		037440	000002		OPDEF	MEMSEG	[37B8!11B12!2]	;SETUP MEMORY SEGMENT
   371		037540	000002		OPDEF	MAPADR	[37B8!13B12!2]	;VIRTUAL TO PHYSICAL ADR CONVERT
   372		037640	000002		OPDEF	MAPCNK	[37B8!15B12!2]	;MAP MEMORY CHUNK
   373		037600	000002		OPDEF	MAPSET	[37B8!14B12!2]	;SET KI10 EXEC PAGE MAP
   374		037740	000002		OPDEF	MAPPNT	[37B8!17B12!2]	;PRINT MEMORY MAP
   375
   376					;*DEVICE CODE MODIFICATION UUO
   377					;*ALLOWS THE MODIFICATION OF IOT'S TO ONE DEVICE TO BE CHANGED TO
   378					;*IOT'S TO A DIFFERENT DEVICE CODE.
   379
   380		037340	000002		OPDEF	MODPCU	[37B8!7B12!2]	;MODIFY PERHIPERAL CODE, USER
   381		037300	000002		OPDEF	MODPCP	[37B8!6B12!2]	;MODIFY PERHIPERAL CODE, PROGRAM
   382
   383			030000			IFNDEF	MODDVL,<MODDVL==BEGIN>
   384			030000			IFNDEF	MODDVU,<MODDVU==BEGIN>
   385
   386					;*"DIAMON" FILE SELECTION AND READ UUOS
   387
   388		037240	000004		OPDEF	FSELECT	[37B8!5B12!4]	;FILE SELECTION
   389		037300	000004		OPDEF	FREAD	[37B8!6B12!4]	;FILE READ - ASCII DATA
   390		037340	000004		OPDEF	FRD36	[37B8!7B12!4]	;FILE READ - 36 BIT DATA
   391		037400	000004		OPDEF	FRD8	[37B8!10B12!4]	;FILE READ - 8 BIT DATA
   392
   393						XLIST
   394						LIST
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 1
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0028

   395					SUBTTL	*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978
   396
   397	030000					LOC	30000
   398
   399					S^;*********************************************************************^
   400					;*PROGRAM STARTING ADDRESSES
   401					;*THESE ADDRESSES CALL VARIOUS SPECIAL START ROUTINES AND OR OPTIONS
   402					;*NORMAL START ADDRESS IS 30000 ALL OTHERS ARE SPECIAL. INVOKED BECAUSE
   403					;*OF END OF PASS, POWER FAILURE, DDT START, RE-ENTERING(TYPICALLY USER
   404					;*MODE), OR ANY NUMBER OF SPECIAL FEATURE TESTS.
   405					S^;*********************************************************************^
   406
   407	030000	254 00 1 00 027776 	BEGIN:	JRST	@MODLNK		;STAND-ALONE START
   408	030001	254 00 0 00 030600 	$START:	JRST	START		;MODE CHECK STARTING ADDRESS
   409
   410	030002	254 00 1 00 027774 	DIAGMN:	JRST	@LDLNK		;DIAGNOSTIC MONITOR START
   411
   412	030003	254 00 1 00 027774 	SYSEXR:	JRST	@LDLNK		;SYSTEM EXERCISER START
   413
   414	030004	254 00 0 00 030000 	SFSTRT:	JRST	SADR1		;SPECIAL FEATURE START
   415
   416	030005	254 00 0 00 030076 	PFSTRT:	JRST	SADR2		;POWER FAIL RESTART
   417
   418	030006	254 00 0 00 030636 	REENTR:	JRST	SADR3		;REENTER START(USUALLY USER MODE ONLY)
   419
   420	030007				SRTDDT:				;COMMONLY MISTAKEN NAME FOR "DDTSRT"
   421	030007	254 00 1 00 027775 	DDTSRT:	JRST	@DDTLNK		;DDT START
   422
   423	030010	254 00 0 00 030606 	BEGIN1:	JRST	STARTA		;LOOP START(END OF PASS COMES HERE)
   424	030011	254 00 1 00 027777 	SBINIT:	JRST	@SUBLNK		;PMGINT LINKAGE
   425	030012	000000	000000		RETURN:	0			;RETURN ADDRESS STORAGE
   426
   427	030013	254200	030000		START1:	SADR7			;OPTIONAL STARTING ADR/INSTRUCTIONS
   428	030014	254200	030000		START2:	SADR8			; "
   429	030015	254200	030000		START3:	SADR9			; "
   430	030016	254200	030000		START4:	SADR10			; "
   431	030017	254200	030000		START5:	SADR11			; "
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 2
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0029

   432					S^;*********************************************************************^
   433					;*PROGRAM FIXED PARAMETER AREA
   434					S^;*********************************************************************^
   435
   436	030020	446353	424100		PNTNAM:	PAREA3		;SIXBIT PROGRAM NAME
   437	030021	546064	000000		PNTEXT:	PAREA4		;SIXBIT PROGRAM EXTENSION
   438	030022	123457	654321		RANDBS:	PAREA1		;RANDOM BASE NUMBER
   439	030023	000000	000000		SWTEXR:	PAREA2		;SYSTEM EXERCISER SWITCHES
   440	030024	000000	000001		ITRCNT:	ITERAT		;PROGRAM ITERATIONS
   441	030025	000000	030640		$PNAME:	PGMNAM		;POINTER TO PROGRAMS NAME
   442	030026	000000	000001		$PVER:	MCNVER,,DECVER	;MCN & DEC VERSION LEVEL
   443	030027	000000	030000		$MODVL:	MODDVL		;DEVICE CODE CHANGE LOWER LIMIT
   444	030030	000000	030000		$MODVU:	MODDVU		;DEVICE CODE CHANGE UPPER LIMIT
   445	030031	777777	777777		$EMODE:	IFNDEF EXCASB,<0> IFDEF EXCASB,<-1>	;EXEC ALLOWED
   446	030032	777777	777777		$UMODE:	IFNDEF USRASB,<0> IFDEF USRASB,<-1>	;USER ALLOWED
   447	030033	000000	000000		$DSKUP:	IFNDEF DSKUPD,<0> IFDEF DSKUPD,<-1>	;DISK UPDATE MODE
   448	030034	777777	777777		$MMAP:	IFNDEF MEMMAP,<0> IFDEF MEMMAP,<-1>	;ALLOW MEMORY RTNS
   449	030035	000000	000000		PAREA7:	PAREA5		;OPTIONAL PARAMETER
   450	030036	000000	000000		PAREA8:	PAREA6		;OPTIONAL PARAMETER
   451
   452					S^;*********************************************************************^
   453					;*PROGRAM VARIABLE PARAMETER AREA
   454					S^;*********************************************************************^
   455
   456	030037	000000	000000		USER:	0		; 0 = EXEC, -1 = USER MODE FLAG
   457	030040	000000	000000		KAIFLG:	0		;PROCESSOR TYPE, 0 = KA10, -1 = KI10
   458	030041	000000	000000		KLFLG:	0		;PROCESSOR TYPE, 0 = KA/KI, -1 = KL10
   459	030042	777777	777777		MONFLG:	-1		;DIAG MONITOR SPECIAL USER FLAG
   460	030043	000000	000000		MONCTL:	0		;DIAG MON/SYS EXR FLAG
   461	030044	000000	000000		MONTEN:	0		;-1= LOADED BY 10
   462	030045	000000	000000		CLOCKF:	0		;CLOCK TICKED FLAG
   463	030046	000000	000000		CONSW:	0		;CONSOLE SWITCH SETTINGS
   464	030047	000000	000000		PASCNT:	0		;PROGRAM PASS COUNT
   465	030050	000000	000000		RUNFLG:	0		;PROGRAM RUN FLAG
   466	030051	000000	000000		TESTPC:	0		;SUBTEST PC
   467	030052	000000	000000		ERRPC:	0		;ERROR PC
   468	030053	000000	000000		ERRTLS:	0		;ERROR TOTALS
   469	030054	000000	000000		TICKS:	0		;PROGRAM RUNNING TIME
   470	030055	000000	000000		MARGIN:	0		;KI10 MARGIN WORD VALUE
   471	030056	000000	000000		$ONETM:	0		;SUBROUTINE INITIALIZATION FLAG
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0030

   472					S^;*********************************************************************^
   473					;*SPECIAL PROGRAM DISPATCH ADDRESSES
   474					S^;*********************************************************************^
   475
   476	030057	037 12 0 00 000004 	BEGEND:	ENDUUO		;END OF PASS
   477	030060	254 00 0 00 030010 	$BEND1:	JRST	BEGIN1	;KEEP RUNNING PROGRAM
   478	030061	037 16 0 00 000004 	$BEND2:	EOPUUO		;END OF PROGRAM - NO RETURN
   479	030062	000000	030061		CNTLC:	SADR5		;CONTROL C XFER ADDRESS
   480	030063	000000	030000		ALTMGO:	SADR6		;ALTMODE XFER ADDRESS
   481	030064				CPOPJ1:			;SKIP RETURN
   482	030064	350 00 0 17 000000 	UUOSKP:	AOS	(P)	;SKIP RETURN FROM UUO
   483	030065				CPOPJ:			;NON-SKIP REGULAR RETURN
   484	030065	263 17 0 00 000000 	UUOEXT:	RTN		;UUO RETURN
   485	030066	255 00 0 00 000000 	UUORTN:	JFCL		;ADDITIONAL USERS UUO ROUTINE
   486	030067	255 00 0 00 000000 	$UORTX:	JFCL		;ADDITIONAL UUO LINKAGE
   487	030070	255 00 0 00 000000 	$UUOER:	JFCL		;INITED AS (JRST $UOERX)
   488	030071	255 00 0 00 000000 	$ITRHL:	JFCL		;ADDITIONAL INTERRUPT LINKAGE
   489	030072	255 00 0 00 000000 	$ITRX1:	JFCL		; "
   490	030073	255 00 0 00 000000 	$USRHL:	JFCL		; "
   491	030074	255 00 0 00 000000 	$RSRTX:	JFCL		;ADDITIONAL POWER FAIL LINKAGE
   492	030075	255 00 0 00 000000 	$RSRTY:	JFCL		; "
   493	030076	255 00 0 00 000000 	RESRT1:	JFCL		; INITED AS (JRST RESRTX)
   494	030077	255 00 0 00 000000 	RESRT2:	JFCL		; "
   495	030100	255 00 0 00 000000 	$PARER:	JFCL		;ADDITIONAL PARITY ERROR LINKAGE
   496	030101	255 00 0 00 000000 	ERMORE:	JFCL		;ADDITIONAL ERROR HANDLER LINKAGE
   497	030102	254 04 0 00 030102 		HALT	.	;IMPROPER TRANSFER HALT
   498
   499	030103	000000	000000		$PSHER:	0		;INITED AS (JRST PSHERR)
   500	030104	000000	000000		ITRCH1:	0		;PC & FLAGS OF CURRENT INTERRUPT
   501	030105	000000	000000			0		;INITED AS (JRST $ITRC1)
   502
   503					S^;*********************************************************************^
   504					;*PROCESSOR CONTROL STORAGE
   505					S^;*********************************************************************^
   506
   507	030106	000000	000000		$ACC0:	0		;INTERRUPT SAVED AC0
   508	030107	000000	000000		$SVPI:	0		;INTERRUPT SAVED PI
   509	030110	000000	000000		$SVAPR:	0		;INTERRUPT SAVED APR
   510	030111	000000	000000		$SVPAG:	0		;INTERRUPT SAVED PAG (DATAI)
   511	030112	000000	000000		$SPAG1:	0		;INTERRUPT SAVED PAG (CONI)
   512
   513	030113	000000	000000		$SVUUO:	0		;CURRENT USERS UUO
   514	030114	000000	000000		$SVUPC:	0		;PC OF CURRENT USERS UUO
   515
   516	030115	000000	000000		REPTU:	0		;REPEAT UUO ITERATIONS
   517	030116	000000	000000		SCOPE:	0		;ERROR HANDLER SCOPE LOOP FLAG
   518	030117	000000	000000		%CORFLG:0		; " CORRECT FLAG
   519	030120	000000	000000		%COREC:	0		; " CORRECT DATA
   520	030121	000000	000000		%ACTFL:	0		; " ACTUAL FLAG
   521	030122	000000	000000		%ACTUL:	0		; " ACTUAL DATA
   522	030123	000000	000000		%DISCR:	0		; " DISCREPENCY DATA
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0031

   523					S^;*********************************************************************^
   524					;*UUO DISPATCH TABLE
   525					S^;*********************************************************************^
   526						XLIST
   527						LIST
   528	030124	060416	030070		UUODIS:	LUUO1,,$UUOER
   529	030125	060416	060416			LUUO3,,LUUO2
   530	030126	060416	060416			LUUO5,,LUUO4
   531	030127	060416	060416			LUUO7,,LUUO6
   532	030130	060416	030070			LUUO11,,LUUO10
   533	030131	060416	060416			LUUO13,,LUUO12
   534	030132	030070	030070			LUUO15,,LUUO14
   535	030133	030070	030070			LUUO17,,LUUO16
   536	030134	030070	030070			LUUO21,,LUUO20
   537	030135	030070	030070			LUUO23,,LUUO22
   538	030136	030070	030070			LUUO25,,LUUO24
   539	030137	030070	030070			LUUO27,,LUUO26
   540	030140	030070	030070			LUUO31,,LUUO30
   541	030141	030070	030070			LUUO33,,LUUO32
   542
   543					S^;*********************************************************************^
   544					;*MEMORY MANAGMENT STORAGE
   545					S^;*********************************************************************^
   546
   547	030142	000000	000000		DF22F:	0		;DF10 CONTROL FLAG, 0 = 18, -1 = 22 BIT
   548	030143	000000	000000		MAPNEW:	0		;MEMORY MAPPING CONTROL FLAG, -1 = 4096K MAPPING
   549	030144	000000	000000		MEMTOT:	0		;TOTAL MEMORY SIZE IN K (1024.)
   550	030145	000000	000000		MEMLOW:	0		;LOWEST USABLE MEMORY
   551	030146				MEMSIZ:	BLOCK ^D41	;MEMORY SEGMENT POINTER TABLE
   552
   553					S^;*********************************************************************^
   554					;*PRINT CONTROL STORAGE
   555					S^;*********************************************************************^
   556
   557	030217	000000	000000		PNTFLG:	0		;PRINT FLAG, -1 WHILE IN PRINT ROUTINE
   558	030220	000000	000000		PNTENB:	0		;PRINT ENABLE
   559	030221	000000	000000		PDISF:	0		;PRINT DISABLED FLAG
   560	030222	000000	000000		PNTINH:	0		;INHIBIT PRINT INPUT CHECKS
   561	030223	000000	000000		PNTSPC:	0		;PRINT SPACE CONTROL
   562	030224	000000	000000		OPTIME:	0		;TYPE-IN WAIT TIME
   563	030225	000000	000000		$TWCNT:	0		;TIME WAITED
   564	030226	000000	000000		$DVOFF:	0		;LOGICAL DEVICE INITED FLAG
   565	030227	000000	000000		TTYFIL:	0		;TTY EXEC FILLERS FLAG
   566	030230	000000	000000		TTYSPD:	0		;TTY EXEC BAUD RATE
   567	030231	000000	000000		$TTCHR:	0		;ACTUAL TYPED IN CHAR
   568	030232	000000	000000		$CHRIN:	0		;UPPER CASED & PARITY STRIPPED CHAR
   569	030233	000000	000000		$TYPNB:	0		;TYPED IN NUMBER
   570	030234	000000	000000		$CRLF:	0		;FREE CR/LF FLAG
   571	030235	000000	000000		$TABF:	0		;TAB CONVERSION FLAG
   572	030236	000000	000000		$FFF:	0		;FORM FEED CONVERSION FLAG
   573	030237	000000	000000		$VTF:	0		;VERTICAL TAB CONVERSION FLAG
   574	030240	000000	000000		USRLFF:	0		;USER LF FILLERS
   575	030241	000000	000000		USRCRF:	0		;USER CR FILLERS
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0032

   576					S^;*********************************************************************^
   577					;*THE FOLLOWING MISCELLANEOUS PRINT CHARACTERS ARE INCLUDED
   578					;*TO FACILITATE PRINTING AND ARE CALLED AS FOLLOWS:
   579					;*	MOVEI	NAME
   580					;*	PNTA		;OR PNTAF
   581					S^;*********************************************************************^
   582
   583	030242				CRLF:	ASCII/
   584	030242	015 012 000 000 000 	/
   585	030243				CRLF2:	ASCII/
   586
   587	030243	015 012 015 012 000 	/
   588	030244	054 000 000 000 000 	COMMA:	ASCII/,/
   589	030245	056 000 000 000 000 	PERIOD:	ASCII/./
   590	030246	040 000 000 000 000 	SPACE:	ASCII/ /
   591	030247	011 000 000 000 000 	TAB:	ASCII/	/
   592	030250				MINUS:
   593	030250	055 000 000 000 000 	HYPEN:	ASCII/-/
   594	030251	053 000 000 000 000 	PLUS:	ASCII/+/
   595	030252	052 000 000 000 000 	AST:	ASCII/*/
   596	030253	100 000 000 000 000 	ATSIN:	ASCII/@/
   597	030254	050 000 000 000 000 	LFP:	ASCII/(/
   598	030255	051 000 000 000 000 	RTP:	ASCII/)/
   599	030256	007 0000000000 		BELL:	BYTE (7) 007
   600	030257	077 000 000 000 000 	QUEST:	ASCII/?/
   601	030260	057 000 000 000 000 	SLASH:	ASCII!/!
   602	030261	044 000 000 000 000 	DOLLAR:	ASCII/$/
   603	030262	000000	000012		RADIX:	^D10			;DECIMAL PRINT RADIX
   604	030263	000000	000040		RADLSP:	40			;DECIMAL PRINT LEADING CHAR
   605	030264	000000	000012		RADLSC:	^D10			;DECIMAL PRINT LEADING CHAR COUNT
   606
   607					S^;*********************************************************************^
   608					;*USER MODE OUTPUT FILE INFORMATION
   609					S^;*********************************************************************^
   610
   611	030265				$OBUF:	BLOCK	3		;LOGICAL FILE OUTPUT BUFFER HEADER
   612	030270	60 62 51 56 64 00 	$OUTNM:	SIXBIT	/PRINT/		;FILE NAME
   613	030271	60 56 64 00 00 00 	$OUTEX:	SIXBIT	/PNT/		;FILE NAME EXTENSION
   614	030272					BLOCK	2
   615
   616					S^;*********************************************************************^
   617					;*DISK UPDATE MODE FILE INFORMATION
   618					S^;*********************************************************************^
   619
   620	030274				$IBUF:	BLOCK	3
   621	030277	60 62 51 56 64 00 	$INNM:	SIXBIT	/PRINT/
   622	030300	60 56 64 00 00 00 	$INEXT:	SIXBIT	/PNT/
   623	030301					BLOCK	2
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0033

   624					S^;*********************************************************************^
   625					;*PUSHDOWN LIST CONTROL INFORMATION
   626					S^;*********************************************************************^
   627
   628	030303	777577	030303		PLIST:	PLIST-PLISTE,,PLIST
   629	030304				PLISTS:	BLOCK	200
   630	030504	000000	000000		PLISTE:	0		;END OF PUSHDOWN LIST
   631
   632					S^;*********************************************************************^
   633					;*POWER LINE CLOCK FREQUENCY FLAG
   634					S^;*********************************************************************^
   635
   636	030505	000000	000000		CYCL60:	0	;0 = 60, -1 = 50 CYCLE
   637
   638					S^;*********************************************************************^
   639					;*KL10 CACHE CONTROL FLAGS
   640					S^;*********************************************************************^
   641
   642	030506	000000	000000		CSHFLG:	0	;ALLOW CACHE IF 0
   643	030507	000000	000000		CSHMEM:	0	;CACHE MEMORY SEGMENTS IF 0
   644
   645					S^;*********************************************************************^
   646					;*NUMBER INPUT DIGIT FLAG
   647					S^;*********************************************************************^
   648
   649	030510	000000	000000		TTNBRF:	0	;-1 IF ANY DIGIT TYPED
   650
   651					S^;*********************************************************************^
   652					;*KL10 & KI10 "INHPAG" SWITCH PAGING PREVENTION
   653					S^;*********************************************************************^
   654
   655	030511	000000	000000		PVPAGI:	0	;IF NON-ZERO, OVERRIDE "INHPAG" SWITCH ACTION
   656
   657					S^;*********************************************************************^
   658					;*ERROR REPORTING ROUTINE ADDITIONAL USERS CONTROL INSTRUCTIONS
   659					S^;*********************************************************************^
   660
   661	030512	000000	000000		%ERHI1:	0	;IF NON-ZERO, XCT'D AT START OF %ERUUO
   662	030513	000000	000000		%ERHI2:	0	;IF NON-ZERO, XCT'D AT END OF %ERUUO
   663	030514	000000	000000		%ERHI3:	0	;IF NON-ZERO, XCT'D AFTER "PC" OF %ERUUO
   664
   665					S^;*********************************************************************^
   666					;*SPECIAL USERS UUO INTERCEPT INSTRUCTION
   667					S^;*********************************************************************^
   668
   669	030515	000000	000000		$$UUO:	0	;IF NON-ZERO, XCT'D AT START OF $UORTN
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 7
FIXED	KSM	28-Mar-78 11:28		*FIXED* FIXED CONTROL AND DISPATCH STORAGE, MARCH 1978                             SEQ 0034

   670					S^;*********************************************************************^
   671					;*USER MODE MONITOR TYPE FLAG
   672					S^;*********************************************************************^
   673
   674	030516	000000	000000		MONTYP:	0	;0 = TOPS10, -1 = TOPS20
   675
   676					S^;*********************************************************************^
   677					;*SPECIAL USERS MUUO INTERCEPT INSTRUCTION
   678					S^;*********************************************************************^
   679
   680	030517	000000	000000		$$MUUO:	0	;IF NON-ZERO, XCT'D AT START OF MUUOER
   681
   682					S^;*********************************************************************^
   683					;*SPECIAL USERS USER MODE OUTPUT ERROR INTERCEPT INSTUCTION
   684					S^;*********************************************************************^
   685
   686	030520	000000	000000		$$OUTER:0	;IF NON-ZERO, XCT'D AT END OF USER MODE ERROR
   687
   688					S^;*********************************************************************^
   689					;*"SWITCH" CALL USAGE CONTROL
   690					S^;*********************************************************************^
   691
   692	030521	000000	000000		$$TOGGLE:0	;IF NON-ZERO, USE C(CONSW) FOR SWITCHES
   693
   694					S^;*********************************************************************^
   695					;*SPECIAL USERS ALTMODE SWITCH CALL INTERCEPT INSTRUCTIONS
   696					S^;*********************************************************************^
   697
   698	030522	000000	000000		$$TAX1:	0	;IF NON-ZERO, XCT'D AT START OF ALTMODE SWITCH CALL
   699	030523	000000	000000		$$TAX2:	0	;IF NON-ZERO, XCT'D AT END OF ALTMODE SWITCH CALL
   700
   701					S^;*********************************************************************^
   702					;*SM10 (KS-10) PROCESSOR TYPE FLAG
   703					S^;*********************************************************************^
   704
   705	030524	000000	000000		SM10:	0	;IF -1 THIS IS AN KS-10
   706
   707					S^;*********************************************************************^
   708					;*RIGHT HALF SWITCHES PROMPT TABLE ADDRESS
   709					S^;*********************************************************************^
   710
   711	030525	000000	000000		SWPTAB:	0	;0 = NO PROMPT, ADR = ADR OF SIXBIT PROMPT TABLE
   712
   713					S^;*********************************************************************^
   714					;*SPECIAL FUTURE EXPANSION ROOM
   715					S^;*********************************************************************^
   716
   717					S^;*********************************************************************^
   718					;*END OF FIXED STORAGE
   719					S^;*********************************************************************^
   720
   721	030577					LOC	30577
   722	030577	000000	000000		ENDFIX:	0		;END OF FIXED STORAGE
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 1
DSKBA1	MAC	29-Mar-78 12:27		INITIALIZE PROGRAM CONTROL                                                         SEQ 0035

   723					SUBTTL	INITIALIZE PROGRAM CONTROL
   724
   725	030600	265 00 0 00 030011 	START:	PGMINT			;INITIALIZE SUBROUTINES
   726	030601	402 00 0 00 061121 		SETZM	MEMONC#
   727	030602	200 00 0 00 030022 		MOVE	0,RANDBS	;EXEC, SETUP RANDOM BASE
   728	030603	332 00 0 00 030037 		SKIPE	USER		;USER, USE TIME OF DAY IN JIFFIES
   729	030604	040 00 0 00 060655 		CALL	0,[SIXBIT/TIMER/]
   730	030605	202 00 0 00 061125 		MOVEM	0,RAN		;SETUP RANDOM BASE
   731
   732					;INITIALIZE COMPLEXITY TABLE
   733			000000			A=0
   734	030606	402 00 0 00 030656 	STARTA:	SETZM	CMPLXT		;STORE A TABLE OF POWERS OF 2
   735	030607	201 01 0 00 000001 		MOVEI	1,1		;OR 0.
   736	030610	037 10 0 00 000002 		SWITCH
   737	030611	607 00 0 00 000400 		TLNN	RELIAB		;FAST CYCLE SWITCH SET ?
   738	030612	402 00 0 00 000001 		SETZM	1		;YES, STORE ZERO'S
   739						REPEAT	7,
   740					<	MOVEM	1,CMPLXT+1+A
   741						LSH	1,1
   742						A=A+1>
   743	030613	202 01 0 00 030657 		MOVEM	1,CMPLXT+1+A
   744	030614	242 01 0 00 000001 		LSH	1,1
   745			000001			A=A+1
   746	030615	202 01 0 00 030660 		MOVEM	1,CMPLXT+1+A
   747	030616	242 01 0 00 000001 		LSH	1,1
   748			000002			A=A+1
   749	030617	202 01 0 00 030661 		MOVEM	1,CMPLXT+1+A
   750	030620	242 01 0 00 000001 		LSH	1,1
   751			000003			A=A+1
   752	030621	202 01 0 00 030662 		MOVEM	1,CMPLXT+1+A
   753	030622	242 01 0 00 000001 		LSH	1,1
   754			000004			A=A+1
   755	030623	202 01 0 00 030663 		MOVEM	1,CMPLXT+1+A
   756	030624	242 01 0 00 000001 		LSH	1,1
   757			000005			A=A+1
   758	030625	202 01 0 00 030664 		MOVEM	1,CMPLXT+1+A
   759	030626	242 01 0 00 000001 		LSH	1,1
   760			000006			A=A+1
   761	030627	202 01 0 00 030665 		MOVEM	1,CMPLXT+1+A
   762	030630	242 01 0 00 000001 		LSH	1,1
   763			000007			A=A+1
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 2
DSKBA1	MAC	29-Mar-78 12:27		INITIALIZE PROGRAM CONTROL                                                         SEQ 0036

   764					;INITIALIZE RUN TIME
   765
   766	030631	201 01 0 00 000001 		MOVEI	1,1
   767	030632	603 00 0 00 000400 		TLNE	RELIAB		;FAST CYCLE SWITCH SET ?
   768	030633	201 01 0 00 000007 		MOVEI	1,7		;NO, MULTIPLY RUNNING TIME
   769	030634	202 01 0 00 030655 		MOVEM	1,RTIME		;STORE IN RTIME
   770
   771	030635	254 00 0 00 030676 		JRST	CAM1		;GO PERFORM DIAGNOSTIC
   772
   773	030636	037 05 0 00 000002 	RENTR1:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
   774	030637	040 00 0 00 060656 		CALL	[SIXBIT .EXIT.]
   775
   776	030640				PGMNAM:	ASCIZ/
   777	030640	015 012 104 105 103 	DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST 1 (DSKBA)
   778	030641	123 131 123 124 105 
   779	030642	115 040 062 060 062 
   780	030643	060 040 102 101 123 
   781	030644	111 103 040 111 116 
   782	030645	123 124 122 125 103 
   783	030646	124 111 117 116 040 
   784	030647	122 105 114 111 101 
   785	030650	102 111 114 111 124 
   786	030651	131 040 124 105 123 
   787	030652	124 040 061 040 050 
   788	030653	104 123 113 102 101 
   789	030654	051 015 012 000 000 	/
   790					;CONSTANTS
   791
   792	030655	000000	000000		RTIME:	0
   793	030656				CMPLXT:	BLOCK	20
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0037

   794					SUBTTL	DIAGNOSTIC SECTION ONE
   795						LALL
   796
   797					;TEST CAMN,CAME (SIMPLE)
   798					;THE CONTENTS OF THE AC IS COMPARED WITH ITSELF
   799					;AN ERROR WILL OCCUR IF CAMN SKIPS OR CAME FAILS TO SKIP
   800					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
   801					;15 ACS ARE USED IN THE TEST
   802
   803			000002			AC=2
   804	030676				CAM1:	SETUP 20,0^
   805			000003			AC1=<AC+1>&17
   806			000004			AC2=<AC+2>&17
   807			000005			AC3=<AC+3>&17
   808			000006			AC4=<AC+4>&17
   809			000007			AC5=<AC+5>&17
   810			000000			RAN1=<AC-2>&17
   811	030676	201 01 0 00 030676 		MOVEI	AC-1,.
   812	030677	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   813	030700	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   814	030701	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   815	030702	201 01 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
   816	030703	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
   817	030704	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
   818						RANDOM^
   819	030705	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
   820	030706	270 02 0 00 060657 		ADD	AC,[142536475076]
   821	030707	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
   822	030710	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
   823					CAMNE1:	REPEAT ^D10,
   824					<	MOVE	AC,RAN
   825						CAMN	AC,AC		;C(AC) = C(AC)
   826						CAME	AC,AC
   827						ERROR	AC,AC		;CHECK CAME,CAMN
   828						AC=<AC+1>&17
   829					>
   830	030711	200 02 0 00 061125 		MOVE	AC,RAN
   831	030712	316 02 0 00 000002 		CAMN	AC,AC		;C(AC) = C(AC)
   832	030713	312 02 0 00 000002 		CAME	AC,AC
   833	030714	004 02 0 00 000002 		ERROR	AC,AC		;CHECK CAME,CAMN
   834			000003			AC=<AC+1>&17
   835
   836	030715	200 03 0 00 061125 		MOVE	AC,RAN
   837	030716	316 03 0 00 000003 		CAMN	AC,AC		;C(AC) = C(AC)
   838	030717	312 03 0 00 000003 		CAME	AC,AC
   839	030720	004 03 0 00 000003 		ERROR	AC,AC		;CHECK CAME,CAMN
   840			000004			AC=<AC+1>&17
   841
   842	030721	200 04 0 00 061125 		MOVE	AC,RAN
   843	030722	316 04 0 00 000004 		CAMN	AC,AC		;C(AC) = C(AC)
   844	030723	312 04 0 00 000004 		CAME	AC,AC
   845	030724	004 04 0 00 000004 		ERROR	AC,AC		;CHECK CAME,CAMN
   846			000005			AC=<AC+1>&17
   847
   848	030725	200 05 0 00 061125 		MOVE	AC,RAN
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0038

   849	030726	316 05 0 00 000005 		CAMN	AC,AC		;C(AC) = C(AC)
   850	030727	312 05 0 00 000005 		CAME	AC,AC
   851	030730	004 05 0 00 000005 		ERROR	AC,AC		;CHECK CAME,CAMN
   852			000006			AC=<AC+1>&17
   853
   854	030731	200 06 0 00 061125 		MOVE	AC,RAN
   855	030732	316 06 0 00 000006 		CAMN	AC,AC		;C(AC) = C(AC)
   856	030733	312 06 0 00 000006 		CAME	AC,AC
   857	030734	004 06 0 00 000006 		ERROR	AC,AC		;CHECK CAME,CAMN
   858			000007			AC=<AC+1>&17
   859
   860	030735	200 07 0 00 061125 		MOVE	AC,RAN
   861	030736	316 07 0 00 000007 		CAMN	AC,AC		;C(AC) = C(AC)
   862	030737	312 07 0 00 000007 		CAME	AC,AC
   863	030740	004 07 0 00 000007 		ERROR	AC,AC		;CHECK CAME,CAMN
   864			000010			AC=<AC+1>&17
   865
   866	030741	200 10 0 00 061125 		MOVE	AC,RAN
   867	030742	316 10 0 00 000010 		CAMN	AC,AC		;C(AC) = C(AC)
   868	030743	312 10 0 00 000010 		CAME	AC,AC
   869	030744	004 10 0 00 000010 		ERROR	AC,AC		;CHECK CAME,CAMN
   870			000011			AC=<AC+1>&17
   871
   872	030745	200 11 0 00 061125 		MOVE	AC,RAN
   873	030746	316 11 0 00 000011 		CAMN	AC,AC		;C(AC) = C(AC)
   874	030747	312 11 0 00 000011 		CAME	AC,AC
   875	030750	004 11 0 00 000011 		ERROR	AC,AC		;CHECK CAME,CAMN
   876			000012			AC=<AC+1>&17
   877
   878	030751	200 12 0 00 061125 		MOVE	AC,RAN
   879	030752	316 12 0 00 000012 		CAMN	AC,AC		;C(AC) = C(AC)
   880	030753	312 12 0 00 000012 		CAME	AC,AC
   881	030754	004 12 0 00 000012 		ERROR	AC,AC		;CHECK CAME,CAMN
   882			000013			AC=<AC+1>&17
   883
   884	030755	200 13 0 00 061125 		MOVE	AC,RAN
   885	030756	316 13 0 00 000013 		CAMN	AC,AC		;C(AC) = C(AC)
   886	030757	312 13 0 00 000013 		CAME	AC,AC
   887	030760	004 13 0 00 000013 		ERROR	AC,AC		;CHECK CAME,CAMN
   888			000014			AC=<AC+1>&17
   889
   890			000002			AC=2
   891						LOOP CAMNE1-3,CAMNE1^
   892	030761	367 01 0 00 030706 		SOJG	AC-1,CAMNE1-3		;ITERATION COUNTER
   893	030762	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
   894	030763	321 01 0 00 030711 		JUMPL	AC-1,CAMNE1		;LOOP ON ERROR SWITCH ^
   895
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0039

   896
   897					;TEST MOVE TO AC,FURTHER TEST OF CAME
   898					;THE C(AC) IS COMPARED WITH THE CONTENTS OF THE RANDOM
   899					;NUMBER GENERATOR. 15 ACS ARE USED IN THE TEST
   900					;ERRORS ARE PRINTED IN THE FORM (PC,AC,C(AC),CORRECT)
   901
   902			000002			AC=2
   903	030764				MOVAC:	SETUP 20,0^
   904			000003			AC1=<AC+1>&17
   905			000004			AC2=<AC+2>&17
   906			000005			AC3=<AC+3>&17
   907			000006			AC4=<AC+4>&17
   908			000007			AC5=<AC+5>&17
   909			000000			RAN1=<AC-2>&17
   910	030764	201 01 0 00 030764 		MOVEI	AC-1,.
   911	030765	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
   912	030766	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
   913	030767	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
   914	030770	201 01 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
   915	030771	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
   916	030772	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
   917						RANDOM^
   918	030773	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
   919	030774	270 02 0 00 060657 		ADD	AC,[142536475076]
   920	030775	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
   921	030776	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
   922					MOVAC1:	REPEAT ^D10,
   923					<	MOVE AC,RAN		;MOVE RAN INTO AC.
   924						CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   925						ERROR AC,RAN		;IF NOT MOVE FAILED
   926						CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   927						ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   928						AC=<AC+1>&17		;AC ON CAME FAILED
   929					>
   930	030777	200 02 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   931	031000	312 02 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   932	031001	004 02 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   933	031002	312 02 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   934	031003	004 02 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   935			000003			AC=<AC+1>&17		;AC ON CAME FAILED
   936
   937	031004	200 03 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   938	031005	312 03 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   939	031006	004 03 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   940	031007	312 03 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   941	031010	004 03 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   942			000004			AC=<AC+1>&17		;AC ON CAME FAILED
   943
   944	031011	200 04 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   945	031012	312 04 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   946	031013	004 04 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   947	031014	312 04 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   948	031015	004 04 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   949			000005			AC=<AC+1>&17		;AC ON CAME FAILED
   950
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0040

   951	031016	200 05 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   952	031017	312 05 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   953	031020	004 05 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   954	031021	312 05 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   955	031022	004 05 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   956			000006			AC=<AC+1>&17		;AC ON CAME FAILED
   957
   958	031023	200 06 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   959	031024	312 06 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   960	031025	004 06 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   961	031026	312 06 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   962	031027	004 06 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   963			000007			AC=<AC+1>&17		;AC ON CAME FAILED
   964
   965	031030	200 07 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   966	031031	312 07 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   967	031032	004 07 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   968	031033	312 07 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   969	031034	004 07 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   970			000010			AC=<AC+1>&17		;AC ON CAME FAILED
   971
   972	031035	200 10 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   973	031036	312 10 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   974	031037	004 10 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   975	031040	312 10 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   976	031041	004 10 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   977			000011			AC=<AC+1>&17		;AC ON CAME FAILED
   978
   979	031042	200 11 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   980	031043	312 11 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   981	031044	004 11 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   982	031045	312 11 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   983	031046	004 11 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   984			000012			AC=<AC+1>&17		;AC ON CAME FAILED
   985
   986	031047	200 12 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   987	031050	312 12 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   988	031051	004 12 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   989	031052	312 12 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   990	031053	004 12 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   991			000013			AC=<AC+1>&17		;AC ON CAME FAILED
   992
   993	031054	200 13 0 00 061125 		MOVE AC,RAN		;MOVE RAN INTO AC.
   994	031055	312 13 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD EQUAL AC
   995	031056	004 13 0 00 061125 		ERROR AC,RAN		;IF NOT MOVE FAILED
   996	031057	312 13 0 00 061125 		CAME AC,RAN#		;IF  AC=RAN CAME FAILED
   997	031060	004 13 0 00 061125 		ERROR AC,RAN#		;IF PREVIOUS WORKED,INHIBIT STORE
   998			000014			AC=<AC+1>&17		;AC ON CAME FAILED
   999
  1000			000002			AC=2
  1001						LOOP MOVAC1-3,MOVAC1^
  1002	031061	367 01 0 00 030774 		SOJG	AC-1,MOVAC1-3		;ITERATION COUNTER
  1003	031062	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1004	031063	321 01 0 00 030777 		JUMPL	AC-1,MOVAC1		;LOOP ON ERROR SWITCH ^
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0041

  1005
  1006					;TEST THE SKIP INST FOR NO SKIP,ABILITY TO LOAD
  1007					;AN AC,AC SELECTION,AND AC0 LOGIC(NOT LOADING 0)
  1008					;ERRORS ARE PRESENTED IN THE FORM(PC,AC,C(AC),CORRECT)
  1009
  1010			000005			AC=5
  1011	031064				SKP:	SETUP 30,0^
  1012			000006			AC1=<AC+1>&17
  1013			000007			AC2=<AC+2>&17
  1014			000010			AC3=<AC+3>&17
  1015			000011			AC4=<AC+4>&17
  1016			000012			AC5=<AC+5>&17
  1017			000003			RAN1=<AC-2>&17
  1018	031064	201 04 0 00 031064 		MOVEI	AC-1,.
  1019	031065	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1020	031066	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1021	031067	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1022	031070	201 04 0 00 000030 		MOVEI	AC-1,30		;ROUTINE WEIGHTING
  1023	031071	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1024	031072	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1025						RANDOM^
  1026	031073	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1027	031074	270 05 0 00 060657 		ADD	AC,[142536475076]
  1028	031075	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1029	031076	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1030	031077	200 00 0 00 060660 	SKP1:	MOVE [0]		;DO NOT USE AC0 FOR SKIP
  1031						REPEAT ^D8,
  1032					<	SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1033						CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1034						ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1035						CAME [0]		;IF NOT= STORE CYCLE
  1036						ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1037						AC=<AC+1>&17
  1038						AC1=<AC+1>&17
  1039					>
  1040	031100	330 06 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1041	031101	312 06 0 00 000005 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1042	031102	004 06 0 00 000005 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1043	031103	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1044	031104	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1045			000006			AC=<AC+1>&17
  1046			000007			AC1=<AC+1>&17
  1047
  1048	031105	330 07 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1049	031106	312 07 0 00 000006 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1050	031107	004 07 0 00 000006 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1051	031110	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1052	031111	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1053			000007			AC=<AC+1>&17
  1054			000010			AC1=<AC+1>&17
  1055
  1056	031112	330 10 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1057	031113	312 10 0 00 000007 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1058	031114	004 10 0 00 000007 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1059	031115	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0042

  1060	031116	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1061			000010			AC=<AC+1>&17
  1062			000011			AC1=<AC+1>&17
  1063
  1064	031117	330 11 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1065	031120	312 11 0 00 000010 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1066	031121	004 11 0 00 000010 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1067	031122	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1068	031123	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1069			000011			AC=<AC+1>&17
  1070			000012			AC1=<AC+1>&17
  1071
  1072	031124	330 12 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1073	031125	312 12 0 00 000011 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1074	031126	004 12 0 00 000011 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1075	031127	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1076	031130	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1077			000012			AC=<AC+1>&17
  1078			000013			AC1=<AC+1>&17
  1079
  1080	031131	330 13 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1081	031132	312 13 0 00 000012 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1082	031133	004 13 0 00 000012 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1083	031134	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1084	031135	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1085			000013			AC=<AC+1>&17
  1086			000014			AC1=<AC+1>&17
  1087
  1088	031136	330 14 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1089	031137	312 14 0 00 000013 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1090	031140	004 14 0 00 000013 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1091	031141	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1092	031142	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1093			000014			AC=<AC+1>&17
  1094			000015			AC1=<AC+1>&17
  1095
  1096	031143	330 15 0 00 061125 		SKIP AC1,RAN#		;STORE IN AC,DO NOT SKIP,CHECK
  1097	031144	312 15 0 00 000014 		CAME AC1,AC		;NEW AC AGAINST PREVIOUSLY
  1098	031145	004 15 0 00 000014 		ERROR AC1,AC		;STORED AC. IF AC=AC+1(SKIP LOGIC)
  1099	031146	312 00 0 00 060660 		CAME [0]		;IF NOT= STORE CYCLE
  1100	031147	004 00 0 00 060660 		ERROR [0]		;IF 0 NONE ZERO ADDR/STORE
  1101			000015			AC=<AC+1>&17
  1102			000016			AC1=<AC+1>&17
  1103
  1104			000005			AC=5
  1105						LOOP SKP1-4,SKP1^
  1106	031150	367 04 0 00 031073 		SOJG	AC-1,SKP1-4		;ITERATION COUNTER
  1107	031151	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1108	031152	321 04 0 00 031077 		JUMPL	AC-1,SKP1		;LOOP ON ERROR SWITCH ^
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0043

  1109
  1110					;TEST SKIPA INST FOR PC INCREMENT,ABILITY TO LOAD AN AC,
  1111					;AC SELECTION AND AC0 LOGIC(NOT LOADING 0).ERRORS ARE
  1112					;PRESENTED IN THE FORM (PC,AC,C(AC),CORRECT)
  1113
  1114			000005			AC=5
  1115	031153				SKPA:	SETUP 30,0^
  1116			000006			AC1=<AC+1>&17
  1117			000007			AC2=<AC+2>&17
  1118			000010			AC3=<AC+3>&17
  1119			000011			AC4=<AC+4>&17
  1120			000012			AC5=<AC+5>&17
  1121			000003			RAN1=<AC-2>&17
  1122	031153	201 04 0 00 031153 		MOVEI	AC-1,.
  1123	031154	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1124	031155	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1125	031156	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1126	031157	201 04 0 00 000030 		MOVEI	AC-1,30		;ROUTINE WEIGHTING
  1127	031160	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1128	031161	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1129						RANDOM^
  1130	031162	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1131	031163	270 05 0 00 060657 		ADD	AC,[142536475076]
  1132	031164	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1133	031165	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1134	031166	200 00 0 00 060660 	SKPA1:	MOVE [0]		;DO NOT USE AC0 FOR SKIPA
  1135						REPEAT ^D8,
  1136					<	SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1137						ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1138						CAME AC,RAN		;C(E) GET CHANGED?
  1139						ERROR AC,RAN		;YES.
  1140						CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1141						ERROR AC1,RAN		;NO.
  1142						CAME 0,[0]		;C(AC0) STILL = 0?
  1143						ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1144						AC=<AC+1>&17
  1145						AC1=<AC+1>&17
  1146					>
  1147	031167	334 06 0 00 000005 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1148	031170	005 05 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1149	031171	312 05 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1150	031172	004 05 0 00 061125 		ERROR AC,RAN		;YES.
  1151	031173	312 06 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1152	031174	004 06 0 00 061125 		ERROR AC1,RAN		;NO.
  1153	031175	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1154	031176	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1155			000006			AC=<AC+1>&17
  1156			000007			AC1=<AC+1>&17
  1157
  1158	031177	334 07 0 00 000006 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1159	031200	005 06 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1160	031201	312 06 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1161	031202	004 06 0 00 061125 		ERROR AC,RAN		;YES.
  1162	031203	312 07 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1163	031204	004 07 0 00 061125 		ERROR AC1,RAN		;NO.
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0044

  1164	031205	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1165	031206	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1166			000007			AC=<AC+1>&17
  1167			000010			AC1=<AC+1>&17
  1168
  1169	031207	334 10 0 00 000007 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1170	031210	005 07 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1171	031211	312 07 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1172	031212	004 07 0 00 061125 		ERROR AC,RAN		;YES.
  1173	031213	312 10 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1174	031214	004 10 0 00 061125 		ERROR AC1,RAN		;NO.
  1175	031215	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1176	031216	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1177			000010			AC=<AC+1>&17
  1178			000011			AC1=<AC+1>&17
  1179
  1180	031217	334 11 0 00 000010 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1181	031220	005 10 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1182	031221	312 10 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1183	031222	004 10 0 00 061125 		ERROR AC,RAN		;YES.
  1184	031223	312 11 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1185	031224	004 11 0 00 061125 		ERROR AC1,RAN		;NO.
  1186	031225	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1187	031226	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1188			000011			AC=<AC+1>&17
  1189			000012			AC1=<AC+1>&17
  1190
  1191	031227	334 12 0 00 000011 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1192	031230	005 11 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1193	031231	312 11 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1194	031232	004 11 0 00 061125 		ERROR AC,RAN		;YES.
  1195	031233	312 12 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1196	031234	004 12 0 00 061125 		ERROR AC1,RAN		;NO.
  1197	031235	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1198	031236	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1199			000012			AC=<AC+1>&17
  1200			000013			AC1=<AC+1>&17
  1201
  1202	031237	334 13 0 00 000012 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1203	031240	005 12 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1204	031241	312 12 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1205	031242	004 12 0 00 061125 		ERROR AC,RAN		;YES.
  1206	031243	312 13 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1207	031244	004 13 0 00 061125 		ERROR AC1,RAN		;NO.
  1208	031245	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1209	031246	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1210			000013			AC=<AC+1>&17
  1211			000014			AC1=<AC+1>&17
  1212
  1213	031247	334 14 0 00 000013 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1214	031250	005 13 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1215	031251	312 13 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1216	031252	004 13 0 00 061125 		ERROR AC,RAN		;YES.
  1217	031253	312 14 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1218	031254	004 14 0 00 061125 		ERROR AC1,RAN		;NO.
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6-2
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0045

  1219	031255	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1220	031256	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1221			000014			AC=<AC+1>&17
  1222			000015			AC1=<AC+1>&17
  1223
  1224	031257	334 15 0 00 000014 		SKIPA AC1,AC		;LOAD AC1 AND SKIP
  1225	031260	005 14 0 00 060661 		ER AC,[ASCII /SKP/]	;FAILED TO SKIP.
  1226	031261	312 14 0 00 061125 		CAME AC,RAN		;C(E) GET CHANGED?
  1227	031262	004 14 0 00 061125 		ERROR AC,RAN		;YES.
  1228	031263	312 15 0 00 061125 		CAME AC1,RAN		;AC GET LOADED WITH RAN?
  1229	031264	004 15 0 00 061125 		ERROR AC1,RAN		;NO.
  1230	031265	312 00 0 00 060660 		CAME 0,[0]		;C(AC0) STILL = 0?
  1231	031266	004 00 0 00 060660 		ERROR [0]		;CHECK STORE CYCLE,AC ADDRESS
  1232			000015			AC=<AC+1>&17
  1233			000016			AC1=<AC+1>&17
  1234
  1235			000005			AC=5
  1236						LOOP SKPA1-4,SKPA1^
  1237	031267	367 04 0 00 031162 		SOJG	AC-1,SKPA1-4		;ITERATION COUNTER
  1238	031270	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1239	031271	321 04 0 00 031166 		JUMPL	AC-1,SKPA1		;LOOP ON ERROR SWITCH ^
  1240	
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 7
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0046

  1241
  1242					;TEST EXCH. BOTH AC AND E ARE AC'S. CHECK FOR
  1243					;CORRECT DATA IN AC AND C(E).
  1244					;C(E) = -1, C(AC) = RAN NUM.
  1245
  1246			000005			AC=5
  1247	031272				EXCH1:	SETUP 200,0^
  1248			000006			AC1=<AC+1>&17
  1249			000007			AC2=<AC+2>&17
  1250			000010			AC3=<AC+3>&17
  1251			000011			AC4=<AC+4>&17
  1252			000012			AC5=<AC+5>&17
  1253			000003			RAN1=<AC-2>&17
  1254	031272	201 04 0 00 031272 		MOVEI	AC-1,.
  1255	031273	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1256	031274	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1257	031275	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1258	031276	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  1259	031277	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1260	031300	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1261	031301				EXCH2:	RANDOM^
  1262	031301	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1263	031302	270 05 0 00 060657 		ADD	AC,[142536475076]
  1264	031303	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1265	031304	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1266	031305	477 06 0 00 000003 	EXCH3:	SETOB	AC1,RAN1	;MAKE C(E) = -1.
  1267	031306	250 05 0 00 000006 		EXCH	AC,AC1		;DO THE EXCH.
  1268	031307	312 05 0 00 000003 		CAME	AC,RAN1		;THE C(AC) SHOULD = ORIG C(E).
  1269	031310	001 03 0 00 061125 		ERR	RAN1,RAN	
  1270	031311	312 06 0 00 061125 		CAME	AC1,RAN		;THE C(E) SHOULD = ORIG C(AC).
  1271	031312	001 03 0 00 061125 		ERR	RAN1,RAN
  1272						LOOP	EXCH2,EXCH3^
  1273	031313	367 04 0 00 031301 		SOJG	AC-1,EXCH2		;ITERATION COUNTER
  1274	031314	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1275	031315	321 04 0 00 031305 		JUMPL	AC-1,EXCH3		;LOOP ON ERROR SWITCH ^
  1276
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 8
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0047

  1277
  1278					;TEST SETCA FOR COMPLEMENT AC AND NOT STORING IN C(E)
  1279					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1280					;SETCA DOES NOT NORMALLY CHANGE THE CONTENTS OF "E"
  1281
  1282			000010			AC=10
  1283					BOLCA:	REPEAT 2,
  1284					<	SETUP 100,2
  1285						RANDOM
  1286						MOVE AC2,[0]		;CLEAR AC2, USED TO INSURE
  1287						SETCA AC,AC2		;SETCA DOES NOT STORE IN C(E)
  1288						CAMN AC,RAN#		;IF AC UNCHANGED CNTL PULSES
  1289						ERROR AC,RAN		;FOR INST SETCA FAILED
  1290						REPEAT 3,
  1291					<	SETCA AC,AC2>
  1292						CAME AC,RAN#		;A TOTAL OF 4 COMPLEMENTS
  1293						ERROR AC,RAN		;SHOULD PRODUCE ORIGINAL NUM
  1294						CAME AC2,[0]		;IF SETCA STORED C(E)
  1295						ERROR AC2,[0]		;C(AC2) WILL NO LONGER BE 0.
  1296						LOOP .-16,.-15
  1297						AC=AC+17
  1298					>
  1299						SETUP 100,2^
  1300			000011			AC1=<AC+1>&17
  1301			000012			AC2=<AC+2>&17
  1302			000013			AC3=<AC+3>&17
  1303			000014			AC4=<AC+4>&17
  1304			000015			AC5=<AC+5>&17
  1305			000006			RAN1=<AC-2>&17
  1306	031316	201 07 0 00 031316 		MOVEI	AC-1,.
  1307	031317	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1308	031320	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1309	031321	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1310	031322	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  1311	031323	240 07 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  1312	031324	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1313						RANDOM^
  1314	031325	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1315	031326	270 10 0 00 060657 		ADD	AC,[142536475076]
  1316	031327	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1317	031330	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1318	031331	200 12 0 00 060660 		MOVE AC2,[0]		;CLEAR AC2, USED TO INSURE
  1319	031332	450 10 0 00 000012 		SETCA AC,AC2		;SETCA DOES NOT STORE IN C(E)
  1320	031333	316 10 0 00 061125 		CAMN AC,RAN#		;IF AC UNCHANGED CNTL PULSES
  1321	031334	004 10 0 00 061125 		ERROR AC,RAN		;FOR INST SETCA FAILED
  1322						REPEAT 3,
  1323	031335	450 10 0 00 000012 		SETCA AC,AC2
  1324	031336	450 10 0 00 000012 		SETCA AC,AC2
  1325	031337	450 10 0 00 000012 		SETCA AC,AC2
  1326	031340	312 10 0 00 061125 		CAME AC,RAN#		;A TOTAL OF 4 COMPLEMENTS
  1327	031341	004 10 0 00 061125 		ERROR AC,RAN		;SHOULD PRODUCE ORIGINAL NUM
  1328	031342	312 12 0 00 060660 		CAME AC2,[0]		;IF SETCA STORED C(E)
  1329	031343	004 12 0 00 060660 		ERROR AC2,[0]		;C(AC2) WILL NO LONGER BE 0.
  1330						LOOP .-16,.-15^
  1331	031344	367 07 0 00 031326 		SOJG	AC-1,.-16		;ITERATION COUNTER
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 8-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0048

  1332	031345	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1333	031346	321 07 0 00 031331 		JUMPL	AC-1,.-15		;LOOP ON ERROR SWITCH ^
  1334			000027			AC=AC+17
  1335
  1336						SETUP 100,2^
  1337			000010			AC1=<AC+1>&17
  1338			000011			AC2=<AC+2>&17
  1339			000012			AC3=<AC+3>&17
  1340			000013			AC4=<AC+4>&17
  1341			000014			AC5=<AC+5>&17
  1342			000005			RAN1=<AC-2>&17
  1343	031347	201 06 0 00 031347 		MOVEI	AC-1,.
  1344	031350	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1345	031351	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1346	031352	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1347	031353	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  1348	031354	240 06 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  1349	031355	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1350						RANDOM^
  1351	031356	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1352	031357	270 07 0 00 060657 		ADD	AC,[142536475076]
  1353	031360	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1354	031361	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1355	031362	200 11 0 00 060660 		MOVE AC2,[0]		;CLEAR AC2, USED TO INSURE
  1356	031363	450 07 0 00 000011 		SETCA AC,AC2		;SETCA DOES NOT STORE IN C(E)
  1357	031364	316 07 0 00 061125 		CAMN AC,RAN#		;IF AC UNCHANGED CNTL PULSES
  1358	031365	004 07 0 00 061125 		ERROR AC,RAN		;FOR INST SETCA FAILED
  1359						REPEAT 3,
  1360	031366	450 07 0 00 000011 		SETCA AC,AC2
  1361	031367	450 07 0 00 000011 		SETCA AC,AC2
  1362	031370	450 07 0 00 000011 		SETCA AC,AC2
  1363	031371	312 07 0 00 061125 		CAME AC,RAN#		;A TOTAL OF 4 COMPLEMENTS
  1364	031372	004 07 0 00 061125 		ERROR AC,RAN		;SHOULD PRODUCE ORIGINAL NUM
  1365	031373	312 11 0 00 060660 		CAME AC2,[0]		;IF SETCA STORED C(E)
  1366	031374	004 11 0 00 060660 		ERROR AC2,[0]		;C(AC2) WILL NO LONGER BE 0.
  1367						LOOP .-16,.-15^
  1368	031375	367 06 0 00 031357 		SOJG	AC-1,.-16		;ITERATION COUNTER
  1369	031376	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1370	031377	321 06 0 00 031362 		JUMPL	AC-1,.-15		;LOOP ON ERROR SWITCH ^
  1371			000046			AC=AC+17
  1372
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 9
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0049

  1373
  1374					;TEST SETCAI ABILITY TO COMPLEMENT AC AND FAILURE TO FETCH C(E)
  1375					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT
  1376					;SETCA IS INDEXED FOR NOISE PURPOSES
  1377
  1378			000005			AC=5
  1379	031400				BOLCAI:	SETUP 40,0^
  1380			000006			AC1=<AC+1>&17
  1381			000007			AC2=<AC+2>&17
  1382			000010			AC3=<AC+3>&17
  1383			000011			AC4=<AC+4>&17
  1384			000012			AC5=<AC+5>&17
  1385			000003			RAN1=<AC-2>&17
  1386	031400	201 04 0 00 031400 		MOVEI	AC-1,.
  1387	031401	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1388	031402	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1389	031403	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1390	031404	201 04 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  1391	031405	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1392	031406	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1393	031407				BOLCA1:	RANDOM^
  1394	031407	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1395	031410	270 05 0 00 060657 		ADD	AC,[142536475076]
  1396	031411	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1397	031412	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1398					BOLCA2:	REPEAT 4,
  1399					<	MOVE AC1,AC		;MOVE RANDOM TO AN AC
  1400						SETCAI AC1,-1(AC)	;TWO COMP SHOULD PRODUCE 
  1401						SETCAI AC1,777000(AC)	;ORIGINAL NUMBER
  1402						CAME AC1,AC		;SETCAI FAILED
  1403						ERROR AC1,AC
  1404						AC=<AC+1>&17
  1405						AC1=<AC+1>&17
  1406					>
  1407	031413	200 06 0 00 000005 		MOVE AC1,AC		;MOVE RANDOM TO AN AC
  1408	031414	451 06 0 05 777777 		SETCAI AC1,-1(AC)	;TWO COMP SHOULD PRODUCE 
  1409	031415	451 06 0 05 777000 		SETCAI AC1,777000(AC)	;ORIGINAL NUMBER
  1410	031416	312 06 0 00 000005 		CAME AC1,AC		;SETCAI FAILED
  1411	031417	004 06 0 00 000005 		ERROR AC1,AC
  1412			000006			AC=<AC+1>&17
  1413			000007			AC1=<AC+1>&17
  1414
  1415	031420	200 07 0 00 000006 		MOVE AC1,AC		;MOVE RANDOM TO AN AC
  1416	031421	451 07 0 06 777777 		SETCAI AC1,-1(AC)	;TWO COMP SHOULD PRODUCE 
  1417	031422	451 07 0 06 777000 		SETCAI AC1,777000(AC)	;ORIGINAL NUMBER
  1418	031423	312 07 0 00 000006 		CAME AC1,AC		;SETCAI FAILED
  1419	031424	004 07 0 00 000006 		ERROR AC1,AC
  1420			000007			AC=<AC+1>&17
  1421			000010			AC1=<AC+1>&17
  1422
  1423	031425	200 10 0 00 000007 		MOVE AC1,AC		;MOVE RANDOM TO AN AC
  1424	031426	451 10 0 07 777777 		SETCAI AC1,-1(AC)	;TWO COMP SHOULD PRODUCE 
  1425	031427	451 10 0 07 777000 		SETCAI AC1,777000(AC)	;ORIGINAL NUMBER
  1426	031430	312 10 0 00 000007 		CAME AC1,AC		;SETCAI FAILED
  1427	031431	004 10 0 00 000007 		ERROR AC1,AC
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 9-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0050

  1428			000010			AC=<AC+1>&17
  1429			000011			AC1=<AC+1>&17
  1430
  1431	031432	200 11 0 00 000010 		MOVE AC1,AC		;MOVE RANDOM TO AN AC
  1432	031433	451 11 0 10 777777 		SETCAI AC1,-1(AC)	;TWO COMP SHOULD PRODUCE 
  1433	031434	451 11 0 10 777000 		SETCAI AC1,777000(AC)	;ORIGINAL NUMBER
  1434	031435	312 11 0 00 000010 		CAME AC1,AC		;SETCAI FAILED
  1435	031436	004 11 0 00 000010 		ERROR AC1,AC
  1436			000011			AC=<AC+1>&17
  1437			000012			AC1=<AC+1>&17
  1438
  1439			000005			AC=5
  1440						LOOP BOLCA1,BOLCA2^
  1441	031437	367 04 0 00 031407 		SOJG	AC-1,BOLCA1		;ITERATION COUNTER
  1442	031440	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1443	031441	321 04 0 00 031413 		JUMPL	AC-1,BOLCA2		;LOOP ON ERROR SWITCH ^
  1444
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 10
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0051

  1445
  1446					;TEST XOR TO ZERO,XOR 0 TO N,N TO N,-1 TO N
  1447					;THREE ACS ARE USED IN THE TEST
  1448					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT
  1449
  1450			000001			AC=1
  1451					BOLX:	REPEAT 3,
  1452					<	SETUP 200,0
  1453						RANDOM
  1454						MOVE AC,[0]		;CLEAR THE AC
  1455						XOR AC,RAN		;0 EXCLUSIVE ORED WITH
  1456						CAME AC,RAN		;RANDOM SHOULD = RANDOM
  1457						ERROR AC,RAN		;XOR FAILED
  1458						XOR AC,[0]		;ANY NUMBER XORED
  1459						CAME AC,RAN		;WITH THE NUMBER 0
  1460						ERROR AC,RAN		;SHOULD  REMAIN UNCHANGED
  1461						XOR AC,RAN		;ANY NUMBER XORED
  1462						CAME AC,[0]		;WITH ITSELF SHOULD
  1463						ERROR AC,[0]		;EQUAL 0
  1464						XOR AC,[-1]		;SET AC TO ALL ONES
  1465						XOR AC,RAN		;AC SHOULD CONTAIN COMP OF RAN
  1466						XOR AC,[-1]		;RECOMPLEMENT AC TO ORIG
  1467						CAME AC,RAN		;CHECK FOR RANDOM
  1468						ERROR AC,RAN		;XOR FAILED
  1469						LOOP .-22,.-21
  1470						AC=AC+1
  1471					>
  1472						SETUP 200,0^
  1473			000002			AC1=<AC+1>&17
  1474			000003			AC2=<AC+2>&17
  1475			000004			AC3=<AC+3>&17
  1476			000005			AC4=<AC+4>&17
  1477			000006			AC5=<AC+5>&17
  1478			000017			RAN1=<AC-2>&17
  1479	031442	201 00 0 00 031442 		MOVEI	AC-1,.
  1480	031443	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1481	031444	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1482	031445	202 00 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1483	031446	201 00 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  1484	031447	240 00 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1485	031450	240 00 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1486						RANDOM^
  1487	031451	200 01 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1488	031452	270 01 0 00 060657 		ADD	AC,[142536475076]
  1489	031453	241 01 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1490	031454	447 01 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1491	031455	200 01 0 00 060660 		MOVE AC,[0]		;CLEAR THE AC
  1492	031456	430 01 0 00 061125 		XOR AC,RAN		;0 EXCLUSIVE ORED WITH
  1493	031457	312 01 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD = RANDOM
  1494	031460	004 01 0 00 061125 		ERROR AC,RAN		;XOR FAILED
  1495	031461	430 01 0 00 060660 		XOR AC,[0]		;ANY NUMBER XORED
  1496	031462	312 01 0 00 061125 		CAME AC,RAN		;WITH THE NUMBER 0
  1497	031463	004 01 0 00 061125 		ERROR AC,RAN		;SHOULD  REMAIN UNCHANGED
  1498	031464	430 01 0 00 061125 		XOR AC,RAN		;ANY NUMBER XORED
  1499	031465	312 01 0 00 060660 		CAME AC,[0]		;WITH ITSELF SHOULD
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 10-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0052

  1500	031466	004 01 0 00 060660 		ERROR AC,[0]		;EQUAL 0
  1501	031467	430 01 0 00 060662 		XOR AC,[-1]		;SET AC TO ALL ONES
  1502	031470	430 01 0 00 061125 		XOR AC,RAN		;AC SHOULD CONTAIN COMP OF RAN
  1503	031471	430 01 0 00 060662 		XOR AC,[-1]		;RECOMPLEMENT AC TO ORIG
  1504	031472	312 01 0 00 061125 		CAME AC,RAN		;CHECK FOR RANDOM
  1505	031473	004 01 0 00 061125 		ERROR AC,RAN		;XOR FAILED
  1506						LOOP .-22,.-21^
  1507	031474	367 00 0 00 031452 		SOJG	AC-1,.-22		;ITERATION COUNTER
  1508	031475	200 01 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1509	031476	321 00 0 00 031455 		JUMPL	AC-1,.-21		;LOOP ON ERROR SWITCH ^
  1510			000002			AC=AC+1
  1511
  1512						SETUP 200,0^
  1513			000003			AC1=<AC+1>&17
  1514			000004			AC2=<AC+2>&17
  1515			000005			AC3=<AC+3>&17
  1516			000006			AC4=<AC+4>&17
  1517			000007			AC5=<AC+5>&17
  1518			000000			RAN1=<AC-2>&17
  1519	031477	201 01 0 00 031477 		MOVEI	AC-1,.
  1520	031500	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1521	031501	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1522	031502	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1523	031503	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  1524	031504	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1525	031505	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1526						RANDOM^
  1527	031506	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1528	031507	270 02 0 00 060657 		ADD	AC,[142536475076]
  1529	031510	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1530	031511	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1531	031512	200 02 0 00 060660 		MOVE AC,[0]		;CLEAR THE AC
  1532	031513	430 02 0 00 061125 		XOR AC,RAN		;0 EXCLUSIVE ORED WITH
  1533	031514	312 02 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD = RANDOM
  1534	031515	004 02 0 00 061125 		ERROR AC,RAN		;XOR FAILED
  1535	031516	430 02 0 00 060660 		XOR AC,[0]		;ANY NUMBER XORED
  1536	031517	312 02 0 00 061125 		CAME AC,RAN		;WITH THE NUMBER 0
  1537	031520	004 02 0 00 061125 		ERROR AC,RAN		;SHOULD  REMAIN UNCHANGED
  1538	031521	430 02 0 00 061125 		XOR AC,RAN		;ANY NUMBER XORED
  1539	031522	312 02 0 00 060660 		CAME AC,[0]		;WITH ITSELF SHOULD
  1540	031523	004 02 0 00 060660 		ERROR AC,[0]		;EQUAL 0
  1541	031524	430 02 0 00 060662 		XOR AC,[-1]		;SET AC TO ALL ONES
  1542	031525	430 02 0 00 061125 		XOR AC,RAN		;AC SHOULD CONTAIN COMP OF RAN
  1543	031526	430 02 0 00 060662 		XOR AC,[-1]		;RECOMPLEMENT AC TO ORIG
  1544	031527	312 02 0 00 061125 		CAME AC,RAN		;CHECK FOR RANDOM
  1545	031530	004 02 0 00 061125 		ERROR AC,RAN		;XOR FAILED
  1546						LOOP .-22,.-21^
  1547	031531	367 01 0 00 031507 		SOJG	AC-1,.-22		;ITERATION COUNTER
  1548	031532	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1549	031533	321 01 0 00 031512 		JUMPL	AC-1,.-21		;LOOP ON ERROR SWITCH ^
  1550			000003			AC=AC+1
  1551
  1552						SETUP 200,0^
  1553			000004			AC1=<AC+1>&17
  1554			000005			AC2=<AC+2>&17
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 10-2
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0053

  1555			000006			AC3=<AC+3>&17
  1556			000007			AC4=<AC+4>&17
  1557			000010			AC5=<AC+5>&17
  1558			000001			RAN1=<AC-2>&17
  1559	031534	201 02 0 00 031534 		MOVEI	AC-1,.
  1560	031535	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1561	031536	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1562	031537	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1563	031540	201 02 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  1564	031541	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1565	031542	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1566						RANDOM^
  1567	031543	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1568	031544	270 03 0 00 060657 		ADD	AC,[142536475076]
  1569	031545	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1570	031546	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1571	031547	200 03 0 00 060660 		MOVE AC,[0]		;CLEAR THE AC
  1572	031550	430 03 0 00 061125 		XOR AC,RAN		;0 EXCLUSIVE ORED WITH
  1573	031551	312 03 0 00 061125 		CAME AC,RAN		;RANDOM SHOULD = RANDOM
  1574	031552	004 03 0 00 061125 		ERROR AC,RAN		;XOR FAILED
  1575	031553	430 03 0 00 060660 		XOR AC,[0]		;ANY NUMBER XORED
  1576	031554	312 03 0 00 061125 		CAME AC,RAN		;WITH THE NUMBER 0
  1577	031555	004 03 0 00 061125 		ERROR AC,RAN		;SHOULD  REMAIN UNCHANGED
  1578	031556	430 03 0 00 061125 		XOR AC,RAN		;ANY NUMBER XORED
  1579	031557	312 03 0 00 060660 		CAME AC,[0]		;WITH ITSELF SHOULD
  1580	031560	004 03 0 00 060660 		ERROR AC,[0]		;EQUAL 0
  1581	031561	430 03 0 00 060662 		XOR AC,[-1]		;SET AC TO ALL ONES
  1582	031562	430 03 0 00 061125 		XOR AC,RAN		;AC SHOULD CONTAIN COMP OF RAN
  1583	031563	430 03 0 00 060662 		XOR AC,[-1]		;RECOMPLEMENT AC TO ORIG
  1584	031564	312 03 0 00 061125 		CAME AC,RAN		;CHECK FOR RANDOM
  1585	031565	004 03 0 00 061125 		ERROR AC,RAN		;XOR FAILED
  1586						LOOP .-22,.-21^
  1587	031566	367 02 0 00 031544 		SOJG	AC-1,.-22		;ITERATION COUNTER
  1588	031567	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1589	031570	321 02 0 00 031547 		JUMPL	AC-1,.-21		;LOOP ON ERROR SWITCH ^
  1590			000004			AC=AC+1
  1591
  1592
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 11
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0054

  1593
  1594					;TEST SETZI AND IOR. SETZI ABILITY TO CLEAR,IOR RAN TO 0,
  1595					;RANDOM TO RANDOM,RANDOM TO COMP RANDOM,0 TO RANDOM
  1596					;ERROR IN THE FORM (PC,AC,C(AC),CORRECT)
  1597
  1598			000005			AC=5
  1599	031571				BOLZI:	SETUP 100,0^
  1600			000006			AC1=<AC+1>&17
  1601			000007			AC2=<AC+2>&17
  1602			000010			AC3=<AC+3>&17
  1603			000011			AC4=<AC+4>&17
  1604			000012			AC5=<AC+5>&17
  1605			000003			RAN1=<AC-2>&17
  1606	031571	201 04 0 00 031571 		MOVEI	AC-1,.
  1607	031572	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1608	031573	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1609	031574	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1610	031575	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  1611	031576	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1612	031577	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1613						RANDOM^
  1614	031600	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1615	031601	270 05 0 00 060657 		ADD	AC,[142536475076]
  1616	031602	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1617	031603	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1618					BOLZI1:	REPEAT 2,
  1619					<	MOVE AC,RAN#		;LOAD THE AC THEN
  1620						SETZI AC,(AC)		;TRY TO CLEAR IT,INDEX REDUNDANT
  1621						CAME AC,[0]		;IF NOT 0
  1622						ERROR AC,[0]		;SETZI FAILED
  1623						IOR AC,RAN		;INCLUSIVE OR OF A
  1624						CAME AC,RAN		;NUMBER TO 0 SHOULD PRODUCE
  1625						ERROR AC,RAN		;THE NUMBER
  1626						IOR AC,RAN		;IOR SAME NUMBERS
  1627						CAME AC,RAN		;SHOULD HAVE NO EFFECT
  1628						ERROR AC,RAN		;ON AC.IOR FAILED
  1629						IOR AC,[0]		;IOR OF NO BITS SHOULD DO NOTHING
  1630						CAME AC,RAN
  1631						ERROR AC,RAN		;IOR FAILED
  1632						SETCA AC,0
  1633						IOR AC,RAN		;INCLUSIVE OR OF COMP NUMBERS
  1634						CAME AC,[-1]		;SHOULD SET ALL BITS
  1635						ERROR AC,[-1]		;IOR FAILED
  1636						IOR AC,[-1]		;ALL BITS TO ALL BITS
  1637						CAME AC,[-1]		;PRODUCE ALL BITS
  1638						ERROR AC,[-1]
  1639						AC=<AC+1>&17
  1640					>
  1641	031604	200 05 0 00 061125 		MOVE AC,RAN#		;LOAD THE AC THEN
  1642	031605	401 05 0 05 000000 		SETZI AC,(AC)		;TRY TO CLEAR IT,INDEX REDUNDANT
  1643	031606	312 05 0 00 060660 		CAME AC,[0]		;IF NOT 0
  1644	031607	004 05 0 00 060660 		ERROR AC,[0]		;SETZI FAILED
  1645	031610	434 05 0 00 061125 		IOR AC,RAN		;INCLUSIVE OR OF A
  1646	031611	312 05 0 00 061125 		CAME AC,RAN		;NUMBER TO 0 SHOULD PRODUCE
  1647	031612	004 05 0 00 061125 		ERROR AC,RAN		;THE NUMBER
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 11-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0055

  1648	031613	434 05 0 00 061125 		IOR AC,RAN		;IOR SAME NUMBERS
  1649	031614	312 05 0 00 061125 		CAME AC,RAN		;SHOULD HAVE NO EFFECT
  1650	031615	004 05 0 00 061125 		ERROR AC,RAN		;ON AC.IOR FAILED
  1651	031616	434 05 0 00 060660 		IOR AC,[0]		;IOR OF NO BITS SHOULD DO NOTHING
  1652	031617	312 05 0 00 061125 		CAME AC,RAN
  1653	031620	004 05 0 00 061125 		ERROR AC,RAN		;IOR FAILED
  1654	031621	450 05 0 00 000000 		SETCA AC,0
  1655	031622	434 05 0 00 061125 		IOR AC,RAN		;INCLUSIVE OR OF COMP NUMBERS
  1656	031623	312 05 0 00 060662 		CAME AC,[-1]		;SHOULD SET ALL BITS
  1657	031624	004 05 0 00 060662 		ERROR AC,[-1]		;IOR FAILED
  1658	031625	434 05 0 00 060662 		IOR AC,[-1]		;ALL BITS TO ALL BITS
  1659	031626	312 05 0 00 060662 		CAME AC,[-1]		;PRODUCE ALL BITS
  1660	031627	004 05 0 00 060662 		ERROR AC,[-1]
  1661			000006			AC=<AC+1>&17
  1662
  1663	031630	200 06 0 00 061125 		MOVE AC,RAN#		;LOAD THE AC THEN
  1664	031631	401 06 0 06 000000 		SETZI AC,(AC)		;TRY TO CLEAR IT,INDEX REDUNDANT
  1665	031632	312 06 0 00 060660 		CAME AC,[0]		;IF NOT 0
  1666	031633	004 06 0 00 060660 		ERROR AC,[0]		;SETZI FAILED
  1667	031634	434 06 0 00 061125 		IOR AC,RAN		;INCLUSIVE OR OF A
  1668	031635	312 06 0 00 061125 		CAME AC,RAN		;NUMBER TO 0 SHOULD PRODUCE
  1669	031636	004 06 0 00 061125 		ERROR AC,RAN		;THE NUMBER
  1670	031637	434 06 0 00 061125 		IOR AC,RAN		;IOR SAME NUMBERS
  1671	031640	312 06 0 00 061125 		CAME AC,RAN		;SHOULD HAVE NO EFFECT
  1672	031641	004 06 0 00 061125 		ERROR AC,RAN		;ON AC.IOR FAILED
  1673	031642	434 06 0 00 060660 		IOR AC,[0]		;IOR OF NO BITS SHOULD DO NOTHING
  1674	031643	312 06 0 00 061125 		CAME AC,RAN
  1675	031644	004 06 0 00 061125 		ERROR AC,RAN		;IOR FAILED
  1676	031645	450 06 0 00 000000 		SETCA AC,0
  1677	031646	434 06 0 00 061125 		IOR AC,RAN		;INCLUSIVE OR OF COMP NUMBERS
  1678	031647	312 06 0 00 060662 		CAME AC,[-1]		;SHOULD SET ALL BITS
  1679	031650	004 06 0 00 060662 		ERROR AC,[-1]		;IOR FAILED
  1680	031651	434 06 0 00 060662 		IOR AC,[-1]		;ALL BITS TO ALL BITS
  1681	031652	312 06 0 00 060662 		CAME AC,[-1]		;PRODUCE ALL BITS
  1682	031653	004 06 0 00 060662 		ERROR AC,[-1]
  1683			000007			AC=<AC+1>&17
  1684
  1685			000005			AC=5
  1686						LOOP BOLZI1-4,BOLZI1^
  1687	031654	367 04 0 00 031600 		SOJG	AC-1,BOLZI1-4		;ITERATION COUNTER
  1688	031655	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1689	031656	321 04 0 00 031604 		JUMPL	AC-1,BOLZI1		;LOOP ON ERROR SWITCH ^
  1690
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 12
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0056

  1691					;TEST AND FOR 0 TO 0,1 TO 1,0 TO 1,1 TO 0
  1692					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1693
  1694			000010			AC=10
  1695	031657				BOLA:	SETUP 400,0^
  1696			000011			AC1=<AC+1>&17
  1697			000012			AC2=<AC+2>&17
  1698			000013			AC3=<AC+3>&17
  1699			000014			AC4=<AC+4>&17
  1700			000015			AC5=<AC+5>&17
  1701			000006			RAN1=<AC-2>&17
  1702	031657	201 07 0 00 031657 		MOVEI	AC-1,.
  1703	031660	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1704	031661	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1705	031662	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1706	031663	201 07 0 00 000400 		MOVEI	AC-1,400		;ROUTINE WEIGHTING
  1707	031664	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1708	031665	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1709						RANDOM^
  1710	031666	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1711	031667	270 10 0 00 060657 		ADD	AC,[142536475076]
  1712	031670	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1713	031671	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1714	031672	404 10 0 00 061125 	BOLA1:	AND AC,RAN		;NUMBER AND NUMBeR
  1715	031673	312 10 0 00 061125 		CAME AC,RAN		;SHOULD EQUAL NUMBER
  1716	031674	004 10 0 00 061125 		ERROR AC,RAN		;IF NOT, "AND" FAILED.
  1717	031675	404 10 0 00 060662 		AND AC,[-1]		;"AND" OF ALL BITS WITH
  1718	031676	312 10 0 00 061125 		CAME AC,RAN		;ANY NUMBER SHOULD 
  1719	031677	004 10 0 00 061125 		ERROR AC,RAN		;LEAVE THE NUMBER UNCHANGED
  1720	031700	450 10 0 00 000000 		SETCA AC,
  1721	031701	404 10 0 00 061125 		AND AC,RAN		;"AND" OF A NUMBER WITH ITS
  1722	031702	312 10 0 00 060660 		CAME AC,[0]		;COMPLEMENT SHOULD
  1723	031703	004 10 0 00 060660 		ERROR AC,[0]		;PRODUCE 0
  1724						LOOP BOLA1-4,BOLA1^
  1725	031704	367 07 0 00 031666 		SOJG	AC-1,BOLA1-4		;ITERATION COUNTER
  1726	031705	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1727	031706	321 07 0 00 031672 		JUMPL	AC-1,BOLA1		;LOOP ON ERROR SWITCH ^
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 13
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0057

  1728
  1729					;TEST ORCA AND SETO. 1 TO 0,1 TO 1, 0 TO 0, 1 TO 0,0 TO 1
  1730					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1731					;ONE AC IS USED FOR TESTING
  1732
  1733			000012			AC=12
  1734	031707				BOLOS:	SETUP 300,0^
  1735			000013			AC1=<AC+1>&17
  1736			000014			AC2=<AC+2>&17
  1737			000015			AC3=<AC+3>&17
  1738			000016			AC4=<AC+4>&17
  1739			000017			AC5=<AC+5>&17
  1740			000010			RAN1=<AC-2>&17
  1741	031707	201 11 0 00 031707 		MOVEI	AC-1,.
  1742	031710	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1743	031711	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1744	031712	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1745	031713	201 11 0 00 000300 		MOVEI	AC-1,300		;ROUTINE WEIGHTING
  1746	031714	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1747	031715	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1748						RANDOM^
  1749	031716	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1750	031717	270 12 0 00 060657 		ADD	AC,[142536475076]
  1751	031720	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1752	031721	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1753	031722	474 12 0 00 031722 	BOLOS1:	SETO AC,.		;WILL CHANGE THIS INST IF FETCH/STORE C(E).
  1754	031723	312 12 0 00 060662 		CAME AC,[-1]		;CHECK FOR ALL BITS SET
  1755	031724	004 12 0 00 060662 		ERROR AC,[-1]		;SETO FAILED
  1756	031725	454 12 0 00 061125 		ORCA AC,RAN		;-1 ORED TO RANDOM
  1757	031726	312 12 0 00 061125 		CAME AC,RAN		;SHOULD PRODUCE RANDOM
  1758	031727	004 12 0 00 061125 		ERROR AC,RAN		;IF AC COMP PROBELY
  1759	031730	454 12 0 00 061125 		ORCA AC,RAN		;RANDOM TO RANDOM SHOULD
  1760	031731	312 12 0 00 060662 		CAME AC,[-1]		;PRODUCE -1
  1761	031732	004 12 0 00 060662 		ERROR AC,[-1]		;IF AC COMPLEMENTED PROPERLY
  1762	031733	454 12 0 00 060660 		ORCA  AC,[0]		;WITH NO BITS EFFECT IC COMP AC
  1763	031734	454 12 0 00 061125 		ORCA AC,RAN
  1764	031735	312 12 0 00 060662 		CAME AC,[-1]		;NO BITS COMPLEMENTS TO PRODUCE
  1765	031736	004 12 0 00 060662 		ERROR AC,[-1]		;ALL ONES
  1766						LOOP BOLOS1-4,BOLOS1^
  1767	031737	367 11 0 00 031716 		SOJG	AC-1,BOLOS1-4		;ITERATION COUNTER
  1768	031740	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1769	031741	321 11 0 00 031722 		JUMPL	AC-1,BOLOS1		;LOOP ON ERROR SWITCH ^
  1770
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 14
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0058

  1771
  1772					;TEST ANDCA.1 TO 1,0 TO 0, 0 TO 1,0 TO 0,1 TO 1,1 TO 0
  1773					;ERRORS ARE IN THE FORM(PC,AC,C(AC),CORRECT
  1774					;ONE AC IS USED 
  1775
  1776			000013			AC=13
  1777	031742				BOLAC:	SETUP 200,1^
  1778			000014			AC1=<AC+1>&17
  1779			000015			AC2=<AC+2>&17
  1780			000016			AC3=<AC+3>&17
  1781			000017			AC4=<AC+4>&17
  1782			000000			AC5=<AC+5>&17
  1783			000011			RAN1=<AC-2>&17
  1784	031742	201 12 0 00 031742 		MOVEI	AC-1,.
  1785	031743	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1786	031744	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1787	031745	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1788	031746	201 12 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  1789	031747	240 12 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  1790	031750	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1791						RANDOM^
  1792	031751	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1793	031752	270 13 0 00 060657 		ADD	AC,[142536475076]
  1794	031753	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1795	031754	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1796	031755	410 13 0 00 061125 	BOLAC1:	ANDCA AC,RAN		;ANDCA OF LIKE NUMBERS
  1797	031756	312 13 0 00 060660 		CAME AC,[0]		;SHOULD PRODUCE 0
  1798	031757	004 13 0 00 060660 		ERROR AC,[0]		;ANDCA FAILED
  1799	031760	410 13 0 00 061125 		ANDCA AC,RAN
  1800	031761	312 13 0 00 061125 		CAME AC,RAN		;ANDCA OF ZERO AND NUMBER
  1801	031762	004 13 0 00 061125 		ERROR AC,RAN		;SHOULD PRODUCE NUMBER
  1802	031763	474 13 0 00 031763 		SETO AC,.		;SET ALL BITS
  1803	031764	410 13 0 00 061125 		ANDCA AC,RAN
  1804	031765	312 13 0 00 060660 		CAME AC,[0]		;ANDCA OF ALL BITS WITH NUMBER
  1805	031766	004 13 0 00 060660 		ERROR AC,[0]		;SHOULD PRODUCE 0
  1806						LOOP BOLAC1-4,BOLAC1^
  1807	031767	367 12 0 00 031751 		SOJG	AC-1,BOLAC1-4		;ITERATION COUNTER
  1808	031770	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1809	031771	321 12 0 00 031755 		JUMPL	AC-1,BOLAC1		;LOOP ON ERROR SWITCH ^
  1810
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 15
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0059

  1811
  1812					;TEST EQV,1 TO 1,0 TO 0,1 TO 0,0 TO 1. EQV =(SET ALL LIKE BITS)
  1813					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1814
  1815			000014			AC=14
  1816	031772				BOLEQ:	SETUP 200,2^
  1817			000015			AC1=<AC+1>&17
  1818			000016			AC2=<AC+2>&17
  1819			000017			AC3=<AC+3>&17
  1820			000000			AC4=<AC+4>&17
  1821			000001			AC5=<AC+5>&17
  1822			000012			RAN1=<AC-2>&17
  1823	031772	201 13 0 00 031772 		MOVEI	AC-1,.
  1824	031773	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1825	031774	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1826	031775	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1827	031776	201 13 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  1828	031777	240 13 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  1829	032000	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1830						RANDOM^
  1831	032001	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1832	032002	270 14 0 00 060657 		ADD	AC,[142536475076]
  1833	032003	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1834	032004	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1835	032005	444 14 0 00 061125 	BOLEQ1:	EQV AC,RAN		;WHEN NUMBERS ARE EQUAL
  1836	032006	312 14 0 00 060662 		CAME AC,[-1]		;EQV SHOULD PRODUCE ALL
  1837	032007	004 14 0 00 060662 		ERROR AC,[-1]		;BITS SET.EQV FAILED
  1838	032010	444 14 0 00 061125 		EQV AC,RAN#		
  1839	032011	312 14 0 00 061125 		CAME AC,RAN		;WITH AC SET,EQV SHOULD
  1840	032012	004 14 0 00 061125 		ERROR AC,RAN		;PRODUCE C(E) IN THE AC
  1841	032013	401 14 0 00 777777 		SETZI AC,-1
  1842	032014	444 14 0 00 061125 		EQV AC,RAN		;WHEN AC=0 EQV SHOULD
  1843	032015	450 14 0 00 032015 		SETCA AC,.		;PRODUCE COMPLEMENT OF
  1844	032016	312 14 0 00 061125 		CAME AC,RAN		;C(E)
  1845	032017	004 14 0 00 061125 		ERROR AC,RAN		;EQV FAILED
  1846						LOOP BOLEQ1-3,BOLEQ1^
  1847	032020	367 13 0 00 032002 		SOJG	AC-1,BOLEQ1-3		;ITERATION COUNTER
  1848	032021	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1849	032022	321 13 0 00 032005 		JUMPL	AC-1,BOLEQ1		;LOOP ON ERROR SWITCH ^
  1850
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 16
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0060

  1851
  1852					;TEST SETM. SET THE CONTENTS OF MEMORY TO THE AC
  1853					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1854
  1855			000010			AC=10
  1856	032023				BOLSM:	SETUP 100,0^
  1857			000011			AC1=<AC+1>&17
  1858			000012			AC2=<AC+2>&17
  1859			000013			AC3=<AC+3>&17
  1860			000014			AC4=<AC+4>&17
  1861			000015			AC5=<AC+5>&17
  1862			000006			RAN1=<AC-2>&17
  1863	032023	201 07 0 00 032023 		MOVEI	AC-1,.
  1864	032024	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1865	032025	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1866	032026	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1867	032027	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  1868	032030	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1869	032031	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1870						RANDOM^
  1871	032032	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1872	032033	270 10 0 00 060657 		ADD	AC,[142536475076]
  1873	032034	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1874	032035	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1875					BOLSM1:	REPEAT 2,
  1876					<	SETM AC1,RAN		;THE NET RESULT OF SETM
  1877						CAME AC1,AC		;IS THE SAME AS MOVE
  1878						ERROR AC1,RAN		;SETM FAILED
  1879						AC=<AC+1>&17
  1880						AC1=<AC+1>&17
  1881					>
  1882	032036	414 11 0 00 061125 		SETM AC1,RAN		;THE NET RESULT OF SETM
  1883	032037	312 11 0 00 000010 		CAME AC1,AC		;IS THE SAME AS MOVE
  1884	032040	004 11 0 00 061125 		ERROR AC1,RAN		;SETM FAILED
  1885			000011			AC=<AC+1>&17
  1886			000012			AC1=<AC+1>&17
  1887
  1888	032041	414 12 0 00 061125 		SETM AC1,RAN		;THE NET RESULT OF SETM
  1889	032042	312 12 0 00 000011 		CAME AC1,AC		;IS THE SAME AS MOVE
  1890	032043	004 12 0 00 061125 		ERROR AC1,RAN		;SETM FAILED
  1891			000012			AC=<AC+1>&17
  1892			000013			AC1=<AC+1>&17
  1893
  1894			000010			AC=10
  1895						LOOP BOLSM1-4,BOLSM1^
  1896	032044	367 07 0 00 032032 		SOJG	AC-1,BOLSM1-4		;ITERATION COUNTER
  1897	032045	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1898	032046	321 07 0 00 032036 		JUMPL	AC-1,BOLSM1		;LOOP ON ERROR SWITCH ^
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 17
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0061

  1899
  1900					;TEST SETCM. (MOVE THE COMPLEMENT OF MEMORY TO AC)
  1901					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1902
  1903			000014			AC=14
  1904	032047				BOLCM:	SETUP 100,0^
  1905			000015			AC1=<AC+1>&17
  1906			000016			AC2=<AC+2>&17
  1907			000017			AC3=<AC+3>&17
  1908			000000			AC4=<AC+4>&17
  1909			000001			AC5=<AC+5>&17
  1910			000012			RAN1=<AC-2>&17
  1911	032047	201 13 0 00 032047 		MOVEI	AC-1,.
  1912	032050	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1913	032051	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1914	032052	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1915	032053	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  1916	032054	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1917	032055	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1918						RANDOM^
  1919	032056	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1920	032057	270 14 0 00 060657 		ADD	AC,[142536475076]
  1921	032060	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1922	032061	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1923	032062	460 15 0 00 061125 	BOLCM1:	SETCM AC1,RAN		;COMP OF RANDOM TO AC
  1924	032063	460 16 0 00 000015 		SETCM AC2,AC1		;RECOMP TO AC2
  1925	032064	312 16 0 00 061125 		CAME AC2,RAN
  1926	032065	004 16 0 00 061125 		ERROR AC2,RAN		;SETCM 1 OR 2 FAILED
  1927						LOOP BOLCM1-3,BOLCM1^
  1928	032066	367 13 0 00 032057 		SOJG	AC-1,BOLCM1-3		;ITERATION COUNTER
  1929	032067	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1930	032070	321 13 0 00 032062 		JUMPL	AC-1,BOLCM1		;LOOP ON ERROR SWITCH ^
  1931
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 18
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0062

  1932
  1933					;TEST ORCM. (INCLUSIVE OR THE CONTENTS OF COMPLEMENTED MEMORY
  1934					;TO THE CONTENTS OF AC.) ERRORS ARE IN THE FORM (PC,AC,
  1935					;C(AC),CORRECT
  1936
  1937			000005			AC=5
  1938	032071				BOLOC:	SETUP 140,0^
  1939			000006			AC1=<AC+1>&17
  1940			000007			AC2=<AC+2>&17
  1941			000010			AC3=<AC+3>&17
  1942			000011			AC4=<AC+4>&17
  1943			000012			AC5=<AC+5>&17
  1944			000003			RAN1=<AC-2>&17
  1945	032071	201 04 0 00 032071 		MOVEI	AC-1,.
  1946	032072	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1947	032073	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1948	032074	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1949	032075	201 04 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
  1950	032076	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1951	032077	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1952						RANDOM^
  1953	032100	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1954	032101	270 05 0 00 060657 		ADD	AC,[142536475076]
  1955	032102	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1956	032103	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  1957	032104	464 05 0 00 061125 	BOLOC1:	ORCM AC,RAN		;LIKE NUMBERS SHOULD PRODUCE
  1958	032105	312 05 0 00 060662 		CAME AC,[-1]		;ALL BITS SET
  1959	032106	004 05 0 00 060662 		ERROR AC,[-1]
  1960	032107	464 05 0 00 061125 		ORCM AC,RAN		;ANY NUMBER ORED WITH ALL
  1961	032110	312 05 0 00 060662 		CAME AC,[-1]		;ONES SHOULD PRODUCE 
  1962	032111	004 05 0 00 060662 		ERROR AC,[-1]		;ALL ONES
  1963	032112	401 05 0 00 777777 		SETZI AC,-1
  1964	032113	464 05 0 00 061125 		ORCM AC,RAN		;THE RANDOM NUMBER IS
  1965	032114	450 05 0 00 032114 		SETCA AC,.		;ORED TO 0. THIS SHOULD
  1966	032115	312 05 0 00 061125 		CAME AC,RAN		;PRODUCE THE  COMPLEMENT
  1967	032116	004 05 0 00 061125 		ERROR AC,RAN		;OF RANDOM
  1968	032117	464 05 0 00 060662 		ORCM AC,[-1]
  1969	032120	312 05 0 00 061125 		CAME AC,RAN		;ORING -1 SHOULD LEAVE
  1970	032121	004 05 0 00 061125 		ERROR AC,RAN		;AC UNCHANGED
  1971						LOOP BOLOC1-3,BOLOC1^
  1972	032122	367 04 0 00 032101 		SOJG	AC-1,BOLOC1-3		;ITERATION COUNTER
  1973	032123	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  1974	032124	321 04 0 00 032104 		JUMPL	AC-1,BOLOC1		;LOOP ON ERROR SWITCH ^
  1975
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 19
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0063

  1976
  1977					;TEST ANDCM (AND WITH THE COMP OF MEMORY)
  1978					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  1979
  1980			000010			AC=10
  1981	032125				BOLAX:	SETUP 140,0^
  1982			000011			AC1=<AC+1>&17
  1983			000012			AC2=<AC+2>&17
  1984			000013			AC3=<AC+3>&17
  1985			000014			AC4=<AC+4>&17
  1986			000015			AC5=<AC+5>&17
  1987			000006			RAN1=<AC-2>&17
  1988	032125	201 07 0 00 032125 		MOVEI	AC-1,.
  1989	032126	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  1990	032127	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  1991	032130	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  1992	032131	201 07 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
  1993	032132	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  1994	032133	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  1995						RANDOM^
  1996	032134	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  1997	032135	270 10 0 00 060657 		ADD	AC,[142536475076]
  1998	032136	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  1999	032137	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2000	032140	420 10 0 00 061125 	BOLAX1:	ANDCM AC,RAN		;LIKE NUMBERS SHOULD
  2001	032141	312 10 0 00 060660 		CAME AC,[0]		;PRODUCE 0
  2002	032142	004 10 0 00 060660 		ERROR AC,[0]		;ANDCM FAILED
  2003	032143	420 10 0 00 061125 		ANDCM AC,RAN		;ANYTHING ANDED TO
  2004	032144	312 10 0 00 060660 		CAME AC,[0]		;ZERO SHOULD = 0
  2005	032145	004 10 0 00 060660 		ERROR AC,[0]
  2006	032146	474 10 0 00 000000 		SETO	AC,
  2007	032147	420 10 0 00 061125 		ANDCM AC,RAN		;AC SHOULD - COMP OF MEMORY
  2008	032150	420 10 0 00 060660 		ANDCM AC,[0]		;AC SHOULD REMAIN UNCHANGED
  2009	032151	430 10 0 00 060662 		XOR AC,[-1]		;COMP AC
  2010	032152	312 10 0 00 061125 		CAME AC,RAN		;AFTER COMP SHOULD EQUAL
  2011	032153	004 10 0 00 061125 		ERROR AC,RAN		;RANDOM. ANDCM FAILED
  2012						LOOP BOLAX1-3,BOLAX1^
  2013	032154	367 07 0 00 032135 		SOJG	AC-1,BOLAX1-3		;ITERATION COUNTER
  2014	032155	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2015	032156	321 07 0 00 032140 		JUMPL	AC-1,BOLAX1		;LOOP ON ERROR SWITCH ^
  2016
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 20
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0064

  2017
  2018					;TEST ORCB (INCLUSIVE OR THE COMPLEMENT OF AC AND C(E))
  2019					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2020
  2021			000001			AC=1
  2022	032157				BOLOB:	SETUP 140,0^
  2023			000002			AC1=<AC+1>&17
  2024			000003			AC2=<AC+2>&17
  2025			000004			AC3=<AC+3>&17
  2026			000005			AC4=<AC+4>&17
  2027			000006			AC5=<AC+5>&17
  2028			000017			RAN1=<AC-2>&17
  2029	032157	201 00 0 00 032157 		MOVEI	AC-1,.
  2030	032160	202 00 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2031	032161	201 00 0 00 000000 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2032	032162	202 00 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2033	032163	201 00 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
  2034	032164	240 00 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2035	032165	240 00 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2036						RANDOM^
  2037	032166	200 01 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2038	032167	270 01 0 00 060657 		ADD	AC,[142536475076]
  2039	032170	241 01 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2040	032171	447 01 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2041	032172	470 01 0 00 061125 	BOLOB1:	ORCB AC,RAN		;PRODUCE COMP OF RAN
  2042	032173	470 01 0 00 060662 		ORCB AC,[-1]		;COMP AC
  2043	032174	312 01 0 00 061125 		CAME AC,RAN		;CHECK ORCB
  2044	032175	004 01 0 00 061125 		ERROR AC,RAN
  2045	032176	470 01 0 00 060662 		ORCB AC,[-1]		;COMP AC
  2046	032177	470 01 0 00 061125 		ORCB AC,RAN		;ANY TWO COMPLEMENTED NUMBERS
  2047	032200	312 01 0 00 060662 		CAME AC,[-1]		;SHOULD PRODUCE ALL ONES
  2048	032201	004 01 0 00 060662 		ERROR AC,[-1]			
  2049	032202	470 01 0 00 060660 		ORCB AC,[0]		;AC COMPLEMENTS TO 0
  2050	032203	312 01 0 00 060662 		CAME AC,[-1]		
  2051	032204	004 01 0 00 060662 		ERROR AC,[-1]		;ORCB FAILED
  2052						LOOP BOLOB1-4,BOLOB1^
  2053	032205	367 00 0 00 032166 		SOJG	AC-1,BOLOB1-4		;ITERATION COUNTER
  2054	032206	200 01 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2055	032207	321 00 0 00 032172 		JUMPL	AC-1,BOLOB1		;LOOP ON ERROR SWITCH ^
  2056
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 21
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0065

  2057
  2058					;TEST ANDCB (AND WITH BOTH OPERANDS COMPLEMENTED)
  2059					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2060
  2061			000002			AC=2
  2062	032210				BOLAB:	SETUP 140,0^
  2063			000003			AC1=<AC+1>&17
  2064			000004			AC2=<AC+2>&17
  2065			000005			AC3=<AC+3>&17
  2066			000006			AC4=<AC+4>&17
  2067			000007			AC5=<AC+5>&17
  2068			000000			RAN1=<AC-2>&17
  2069	032210	201 01 0 00 032210 		MOVEI	AC-1,.
  2070	032211	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2071	032212	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2072	032213	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2073	032214	201 01 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
  2074	032215	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2075	032216	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2076						RANDOM^
  2077	032217	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2078	032220	270 02 0 00 060657 		ADD	AC,[142536475076]
  2079	032221	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2080	032222	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2081	032223	440 02 0 00 061125 	BOLAB1:	ANDCB AC,RAN		;PRODUCE COMP OF RAN
  2082	032224	440 02 0 00 060660 		ANDCB AC,[0]		;COMP AC
  2083	032225	312 02 0 00 061125 		CAME AC,RAN		;CHECK FOR ORIGIONAL NUMBER
  2084	032226	004 02 0 00 061125 		ERROR AC,RAN		;ANDCB FAILED
  2085	032227	440 02 0 00 060660 		ANDCB AC,[0]		;COMPLEMENT AC
  2086	032230	440 02 0 00 060660 		ANDCB AC,[0]		;RECOMPLEMENT AC
  2087	032231	312 02 0 00 061125 		CAME AC,RAN		;SHOULD PRODUCE ORIGIONAL
  2088	032232	004 02 0 00 061125 		ERROR AC,RAN		;ANDCB FAILED
  2089	032233	440 02 0 00 060662 		ANDCB AC,[-1]		;RESULT SHOULD BE 0 IF
  2090	032234	312 02 0 00 060660 		CAME AC,[0]		;CONTENTS OF E
  2091	032235	004 02 0 00 060660 		ERROR AC,[0]		;CONTAINS NO BITS AFTER COMP
  2092	032236	440 02 0 00 061125 		ANDCB AC,RAN		;AC SHOULD EQUAL COMP OF RAN
  2093	032237	440 02 0 00 060660 		ANDCB AC,[0]		;COMP AC
  2094	032240	312 02 0 00 061125 		CAME AC,RAN		;THE AND TO 0
  2095	032241	004 02 0 00 061125 		ERROR AC,RAN		;FAILED
  2096						LOOP BOLAB1-3,BOLAB1^
  2097	032242	367 01 0 00 032220 		SOJG	AC-1,BOLAB1-3		;ITERATION COUNTER
  2098	032243	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2099	032244	321 01 0 00 032223 		JUMPL	AC-1,BOLAB1		;LOOP ON ERROR SWITCH ^
  2100
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 22
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0066

  2101
  2102					;TEST SETA (EFFECTIVELY A NO OPERATION IN THIS MODE)
  2103					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2104
  2105			000003			AC=3
  2106	032245				BOLSA:	SETUP 100,0^
  2107			000004			AC1=<AC+1>&17
  2108			000005			AC2=<AC+2>&17
  2109			000006			AC3=<AC+3>&17
  2110			000007			AC4=<AC+4>&17
  2111			000010			AC5=<AC+5>&17
  2112			000001			RAN1=<AC-2>&17
  2113	032245	201 02 0 00 032245 		MOVEI	AC-1,.
  2114	032246	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2115	032247	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2116	032250	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2117	032251	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2118	032252	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2119	032253	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2120						RANDOM^
  2121	032254	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2122	032255	270 03 0 00 060657 		ADD	AC,[142536475076]
  2123	032256	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2124	032257	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2125					BOLSA1:	REPEAT 7,		;DO 7 SETA'S.
  2126					<	SETA AC,.>
  2127	032260	424 03 0 00 032260 		SETA AC,.
  2128	032261	424 03 0 00 032261 		SETA AC,.
  2129	032262	424 03 0 00 032262 		SETA AC,.
  2130	032263	424 03 0 00 032263 		SETA AC,.
  2131	032264	424 03 0 00 032264 		SETA AC,.
  2132	032265	424 03 0 00 032265 		SETA AC,.
  2133	032266	424 03 0 00 032266 		SETA AC,.
  2134	032267	312 03 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG. C(AC)
  2135	032270	004 03 0 00 061125 		ERROR AC,RAN
  2136						LOOP BOLSA1-3,BOLSA1^
  2137	032271	367 02 0 00 032255 		SOJG	AC-1,BOLSA1-3		;ITERATION COUNTER
  2138	032272	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2139	032273	321 02 0 00 032260 		JUMPL	AC-1,BOLSA1		;LOOP ON ERROR SWITCH ^
  2140
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 23
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0067

  2141
  2142					;TEST IORM, WHERE E IS AN AC. THE INST IS TESTED
  2143					;FOR NOT STORING IN AC AS WELL AS STORING PROPERLY
  2144					;IN E.
  2145					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2146
  2147			000011			AC=11
  2148	032274				BMIOR:	SETUP 100,1^
  2149			000012			AC1=<AC+1>&17
  2150			000013			AC2=<AC+2>&17
  2151			000014			AC3=<AC+3>&17
  2152			000015			AC4=<AC+4>&17
  2153			000016			AC5=<AC+5>&17
  2154			000007			RAN1=<AC-2>&17
  2155	032274	201 10 0 00 032274 		MOVEI	AC-1,.
  2156	032275	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2157	032276	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2158	032277	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2159	032300	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2160	032301	240 10 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2161	032302	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2162	032303				BMIOR1:	RANDOM^
  2163	032303	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2164	032304	270 11 0 00 060657 		ADD	AC,[142536475076]
  2165	032305	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2166	032306	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2167	032307	204 12 0 00 000011 	BMIOR2:	MOVS AC1,AC		;AC=C(E) ORIG
  2168	032310	316 11 0 00 000012 		CAMN AC,AC1		;HALVES SAME?
  2169	032311	254 00 0 00 032303 		JRST BMIOR1		;YES. REJECT.
  2170	032312	460 00 0 00 000011 		SETCM AC		;SIM AN
  2171	032313	404 00 0 00 000012 		AND AC1			;IOR
  2172	032314	430 00 0 00 000011 		XOR	AC		;INST
  2173	032315	436 11 0 00 000012 		IORM AC,AC1		;RESULT TO AC1
  2174	032316	316 11 0 00 000012 		CAMN AC,AC1		;BOTH SAME?
  2175	032317	004 11 0 00 000012 		ERROR AC,AC1		;YES. STORED IN AC.
  2176	032320	312 12 0 00 000000 		CAME AC1,0		;C(E) = SIM. ANS?
  2177	032321	004 11 0 00 000000 		ERROR AC,0		;NO. IORM FAILED.
  2178						LOOP BMIOR1,BMIOR2^
  2179	032322	367 10 0 00 032303 		SOJG	AC-1,BMIOR1		;ITERATION COUNTER
  2180	032323	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2181	032324	321 10 0 00 032307 		JUMPL	AC-1,BMIOR2		;LOOP ON ERROR SWITCH ^
  2182
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 24
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0068

  2183
  2184					;TEST ORCAM, WHERE E IS AN AC. THE INSTRUCTION IS TESTED
  2185					;FOR NOT STORING IN AC AS WELL AS STORING PROPERLY IN C(E).
  2186					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2187
  2188			000012			AC=12
  2189	032325				BMICA:	SETUP 100,1^
  2190			000013			AC1=<AC+1>&17
  2191			000014			AC2=<AC+2>&17
  2192			000015			AC3=<AC+3>&17
  2193			000016			AC4=<AC+4>&17
  2194			000017			AC5=<AC+5>&17
  2195			000010			RAN1=<AC-2>&17
  2196	032325	201 11 0 00 032325 		MOVEI	AC-1,.
  2197	032326	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2198	032327	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2199	032330	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2200	032331	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2201	032332	240 11 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2202	032333	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2203	032334				BMICA1:	RANDOM^
  2204	032334	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2205	032335	270 12 0 00 060657 		ADD	AC,[142536475076]
  2206	032336	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2207	032337	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2208	032340	204 13 0 00 000012 	BMICA2:	MOVS AC1,AC		;SECOND RANDOM NUMBER
  2209	032341	460 14 0 00 000013 		SETCM AC2,AC1		;MOVE COMPLEMENT OF NUMBER
  2210	032342	460 00 0 00 000012 		SETCM	AC		;SIMULATE
  2211	032343	404 00 0 00 000014 		AND	AC2		;THE INSTRUCTION
  2212	032344	430 00 0 00 000012 		XOR	AC		;IN AC0.
  2213	032345	456 13 0 00 000012 		ORCAM AC1,AC		;RESULT TO C(E)
  2214	032346	316 13 0 00 000012 		CAMN AC1,AC		;EQUAL?
  2215	032347	004 13 0 00 000012 		ERROR AC1,AC		;YES. STORED IN AC.
  2216	032350	312 12 0 00 000000 		CAME AC,0		;C(E) = SIM. ANS?
  2217	032351	004 12 0 00 000000 		ERROR AC,0		;NO. ORCAM FAILED.
  2218						LOOP BMICA1,BMICA2^
  2219	032352	367 11 0 00 032334 		SOJG	AC-1,BMICA1		;ITERATION COUNTER
  2220	032353	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2221	032354	321 11 0 00 032340 		JUMPL	AC-1,BMICA2		;LOOP ON ERROR SWITCH ^
  2222
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 25
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0069

  2223
  2224					;TEST ORCMM, WHERE E IS AN AC. THE INSTRUCTION
  2225					;IS TESTED FOR NOT STORING IN AC AS WELL AS THE
  2226					;CORRECT ANSWER IN C(E).
  2227					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2228
  2229			000013			AC=13
  2230	032355				BMICM:	SETUP 100,0^
  2231			000014			AC1=<AC+1>&17
  2232			000015			AC2=<AC+2>&17
  2233			000016			AC3=<AC+3>&17
  2234			000017			AC4=<AC+4>&17
  2235			000000			AC5=<AC+5>&17
  2236			000011			RAN1=<AC-2>&17
  2237	032355	201 12 0 00 032355 		MOVEI	AC-1,.
  2238	032356	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2239	032357	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2240	032360	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2241	032361	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2242	032362	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2243	032363	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2244	032364				BMICM1:	RANDOM^
  2245	032364	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2246	032365	270 13 0 00 060657 		ADD	AC,[142536475076]
  2247	032366	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2248	032367	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2249	032370	204 14 0 00 000013 	BMICM2:	MOVS AC1,AC		;SECOND RANDOM NUMBER
  2250	032371	460 15 0 00 000013 		SETCM AC2,AC		;SIMULATE
  2251	032372	460 00 0 00 000014 		SETCM	AC1		;THE
  2252	032373	404 00 0 00 000015 		AND	AC2		;INSTRUCTION
  2253	032374	430 00 0 00 000014 		XOR	AC1		;IN AC0
  2254	032375	316 00 0 00 000014 		CAMN	0,AC1		;IS SIMULATED ANS
  2255	032376	254 00 0 00 032364 		JRST	BMICM1		;= C(AC)?...REJECT.
  2256	032377	466 14 0 00 000013 		ORCMM AC1,AC		;IF AC1 = AC, STORE INHIBIT
  2257	032400	316 14 0 00 000013 		CAMN AC1,AC
  2258	032401	004 14 0 00 000013 		ERROR AC1,AC		;FAILED.
  2259	032402	312 13 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2260	032403	004 13 0 00 000000 		ERROR AC,0		;ORCMM FAILED.
  2261						LOOP BMICM1,BMICM2^
  2262	032404	367 12 0 00 032364 		SOJG	AC-1,BMICM1		;ITERATION COUNTER
  2263	032405	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2264	032406	321 12 0 00 032370 		JUMPL	AC-1,BMICM2		;LOOP ON ERROR SWITCH ^
  2265
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 26
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0070

  2266
  2267					;TEST ORCBM, WHERE E IS AN AC. THE INSTRUCTION
  2268					;IS TESTED FOR NOT STORING IN AC AS WELL AS THE
  2269					;CORRECT ANSWER IN C(E).
  2270					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2271
  2272			000014			AC=14
  2273	032407				BMICB:	SETUP 200,0^
  2274			000015			AC1=<AC+1>&17
  2275			000016			AC2=<AC+2>&17
  2276			000017			AC3=<AC+3>&17
  2277			000000			AC4=<AC+4>&17
  2278			000001			AC5=<AC+5>&17
  2279			000012			RAN1=<AC-2>&17
  2280	032407	201 13 0 00 032407 		MOVEI	AC-1,.
  2281	032410	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2282	032411	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2283	032412	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2284	032413	201 13 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  2285	032414	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2286	032415	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2287	032416				BMICB1:	RANDOM^
  2288	032416	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2289	032417	270 14 0 00 060657 		ADD	AC,[142536475076]
  2290	032420	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2291	032421	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2292	032422	204 15 0 00 000014 	BMICB2:	MOVS AC1,AC		;AC1= 0101,0011
  2293	032423	460 16 0 00 000014 		SETCM AC2,AC		;AC2= 1100,1010
  2294	032424	460 00 0 00 000016 		SETCM	AC2		;AC0 = 0011,0101
  2295	032425	420 00 0 00 000015 		ANDCM	AC1		;AC0 = 0010,0100
  2296	032426	430 00 0 00 000016 		XOR	AC2		;AC0 = 1110,1110
  2297	032427	472 15 0 00 000014 		ORCBM AC1,AC		;SHOULD PRODUCE SAME LOGIC
  2298	032430	316 15 0 00 000014 		CAMN AC1,AC		;EQUAL?
  2299	032431	004 15 0 00 000014 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2300	032432	312 14 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2301	032433	004 14 0 00 000000 		ERROR AC,0		;ORCBM FAILED.
  2302						LOOP BMICB1,BMICB2^
  2303	032434	367 13 0 00 032416 		SOJG	AC-1,BMICB1		;ITERATION COUNTER
  2304	032435	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2305	032436	321 13 0 00 032422 		JUMPL	AC-1,BMICB2		;LOOP ON ERROR SWITCH ^
  2306
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 27
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0071

  2307
  2308					;TEST XORM, WHERE E IS AN AC. THE INSTRUCTION IS
  2309					;TESTED FOR NOT STORING AC AS WELL AS CONTENTS
  2310					;OF E CORRECTNESS.
  2311					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2312
  2313			000010			AC=10
  2314	032437				BMX:	SETUP 200,1^
  2315			000011			AC1=<AC+1>&17
  2316			000012			AC2=<AC+2>&17
  2317			000013			AC3=<AC+3>&17
  2318			000014			AC4=<AC+4>&17
  2319			000015			AC5=<AC+5>&17
  2320			000006			RAN1=<AC-2>&17
  2321	032437	201 07 0 00 032437 		MOVEI	AC-1,.
  2322	032440	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2323	032441	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2324	032442	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2325	032443	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  2326	032444	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  2327	032445	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2328	032446				BMX1:	RANDOM^
  2329	032446	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2330	032447	270 10 0 00 060657 		ADD	AC,[142536475076]
  2331	032450	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2332	032451	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2333	032452	322 10 0 00 032446 	BMX2:	JUMPE AC,BMX1		;REJECT IF RAN = 0.
  2334	032453	204 11 0 00 000010 		MOVS AC1,AC		;SECOND RANDOM NUMBER.
  2335	032454	460 00 0 00 000010 		SETCM	AC
  2336	032455	410 00 0 00 000011 		ANDCA	AC1		;PERFORM
  2337	032456	200 12 0 00 000010 		MOVE AC2,AC		;A PSEUDO
  2338	032457	434 12 0 00 000011 		IOR AC2,AC1		;EXCLUSIVE
  2339	032460	410 00 0 00 000012 		ANDCA	AC2		;OR INSTRUCTION
  2340	032461	432 11 0 00 000010 		XORM AC1,AC		;DO THE XOR
  2341	032462	316 11 0 00 000010 		CAMN AC1,AC		;EQUAL?
  2342	032463	004 11 0 00 000010 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2343	032464	312 10 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2344	032465	004 10 0 00 000000 		ERROR AC,0		;XORM FAILED.
  2345						LOOP BMX1,BMX2^
  2346	032466	367 07 0 00 032446 		SOJG	AC-1,BMX1		;ITERATION COUNTER
  2347	032467	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2348	032470	321 07 0 00 032452 		JUMPL	AC-1,BMX2		;LOOP ON ERROR SWITCH ^
  2349
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 28
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0072

  2350
  2351					;TEST EQVM, WHERE E IS AN AC. THE INSTRUCTION
  2352					;IS TESTED FOR NOT STORING AC AS WELL AS
  2353					;CORRECTNESS OF C(E).
  2354					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2355
  2356			000010			AC=10
  2357	032471				BMEQ:	SETUP 100,0^
  2358			000011			AC1=<AC+1>&17
  2359			000012			AC2=<AC+2>&17
  2360			000013			AC3=<AC+3>&17
  2361			000014			AC4=<AC+4>&17
  2362			000015			AC5=<AC+5>&17
  2363			000006			RAN1=<AC-2>&17
  2364	032471	201 07 0 00 032471 		MOVEI	AC-1,.
  2365	032472	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2366	032473	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2367	032474	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2368	032475	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2369	032476	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2370	032477	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2371	032500				BMEQ1:	RANDOM^
  2372	032500	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2373	032501	270 10 0 00 060657 		ADD	AC,[142536475076]
  2374	032502	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2375	032503	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2376	032504	204 11 0 00 000010 	BMEQ2:	MOVS AC1,AC		;SECOND RANDOM NUMBER
  2377	032505	460 00 0 00 000011 		SETCM AC1		;EQV IS SAME LOGIC
  2378	032506	430 00 0 00 000010 		XOR AC			;AS XOR WITH COMP AC
  2379	032507	446 11 0 00 000010 		EQVM AC1,AC		;EQV SETS ALL LIKE BITS
  2380	032510	316 11 0 00 000010 		CAMN AC1,AC		;EQUAL?
  2381	032511	004 11 0 00 000010 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2382	032512	312 10 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2383	032513	004 10 0 00 000000 		ERROR AC,0		;EQVM FAILED.
  2384						LOOP BMEQ1,BMEQ2^
  2385	032514	367 07 0 00 032500 		SOJG	AC-1,BMEQ1		;ITERATION COUNTER
  2386	032515	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2387	032516	321 07 0 00 032504 		JUMPL	AC-1,BMEQ2		;LOOP ON ERROR SWITCH ^
  2388
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 29
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0073

  2389
  2390
  2391					;TEST ANDM, WHERE E IS AN AC. THE INSTRUCTION IS
  2392					;TESTED FOR NOT STORING IN AC AS WELL AS STORING
  2393					;PROPERLY IN C(E).
  2394					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2395
  2396			000003			AC=3
  2397	032517				BMAN:	SETUP 100,0^
  2398			000004			AC1=<AC+1>&17
  2399			000005			AC2=<AC+2>&17
  2400			000006			AC3=<AC+3>&17
  2401			000007			AC4=<AC+4>&17
  2402			000010			AC5=<AC+5>&17
  2403			000001			RAN1=<AC-2>&17
  2404	032517	201 02 0 00 032517 		MOVEI	AC-1,.
  2405	032520	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2406	032521	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2407	032522	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2408	032523	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2409	032524	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2410	032525	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2411	032526				BMAN1:	RANDOM^
  2412	032526	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2413	032527	270 03 0 00 060657 		ADD	AC,[142536475076]
  2414	032530	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2415	032531	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2416	032532	204 04 0 00 000003 	BMAN2:	MOVS AC1,AC		;SECOND RANDOM NUMBER
  2417	032533	200 00 0 00 000003 		MOVE	AC		;SIMULATE
  2418	032534	434 00 0 00 000004 		IOR	AC1		;AN "AND"
  2419	032535	430 00 0 00 000004 		XOR	AC1		;INSTRUCTION.
  2420	032536	430 00 0 00 000003 		XOR AC			;IN AC0
  2421	032537	316 04 0 00 000003 		CAMN AC1,AC		;REJECT THE NUMBER
  2422	032540	254 00 0 00 032526 		JRST BMAN1		;IF EQUAL.
  2423	032541	406 04 0 00 000003 		ANDM AC1,AC		;THE INSTRUCTION
  2424	032542	316 04 0 00 000003 		CAMN AC1,AC		;EQUAL?
  2425	032543	004 04 0 00 000003 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2426	032544	312 03 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2427	032545	004 03 0 00 000000 		ERROR AC,0		;AND FAILED.
  2428						LOOP BMAN1,BMAN2^
  2429	032546	367 02 0 00 032526 		SOJG	AC-1,BMAN1		;ITERATION COUNTER
  2430	032547	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2431	032550	321 02 0 00 032532 		JUMPL	AC-1,BMAN2		;LOOP ON ERROR SWITCH ^
  2432
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 30
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0074

  2433
  2434
  2435					;TEST ANDCAM, WHERE E IS AN AC. THE INSTRUCTION IS
  2436					;TESTED FOR NOT STORING IN AN AC AS WELL AS
  2437					;STORING C(E) PROPERLY.
  2438					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2439
  2440			000004			AC=4
  2441	032551				BMACA:	SETUP 100,0^
  2442			000005			AC1=<AC+1>&17
  2443			000006			AC2=<AC+2>&17
  2444			000007			AC3=<AC+3>&17
  2445			000010			AC4=<AC+4>&17
  2446			000011			AC5=<AC+5>&17
  2447			000002			RAN1=<AC-2>&17
  2448	032551	201 03 0 00 032551 		MOVEI	AC-1,.
  2449	032552	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2450	032553	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2451	032554	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2452	032555	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2453	032556	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2454	032557	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2455	032560				BMACA1:	RANDOM^
  2456	032560	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2457	032561	270 04 0 00 060657 		ADD	AC,[142536475076]
  2458	032562	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2459	032563	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2460	032564	322 04 0 00 032560 	BMACA2:	JUMPE AC,BMACA1		;REJECT IF RAN = 0.
  2461	032565	204 05 0 00 000004 		MOVS AC1,AC		;SECOND RANDOM NUMBER
  2462	032566	414 00 0 00 000004 		SETM	AC		;SIMULATE
  2463	032567	454 00 0 00 000005 		ORCA	AC1		;ANDCA
  2464	032570	450 00 0 00 000000 		SETCA			;LOGIC
  2465	032571	412 05 0 00 000004 		ANDCAM AC1,AC		;THE INSTRUCTION
  2466	032572	316 05 0 00 000004 		CAMN AC1,AC		;EQUAL?
  2467	032573	004 05 0 00 000004 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2468	032574	312 04 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2469	032575	004 04 0 00 000000 		ERROR AC,0		;ANDCA FAILED.
  2470						LOOP BMACA1,BMACA2^
  2471	032576	367 03 0 00 032560 		SOJG	AC-1,BMACA1		;ITERATION COUNTER
  2472	032577	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2473	032600	321 03 0 00 032564 		JUMPL	AC-1,BMACA2		;LOOP ON ERROR SWITCH ^
  2474
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 31
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0075

  2475
  2476					;TEST ANDCMM, WHERE E IS AN AC. THE INSTRUCTION IS
  2477					;TESTED FOR NOT STORING IN AN AC AS WELL AS
  2478					;STORING C(E) PROPERLY.
  2479					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2480
  2481			000005			AC=5
  2482	032601				BMACM:	SETUP 100,0^
  2483			000006			AC1=<AC+1>&17
  2484			000007			AC2=<AC+2>&17
  2485			000010			AC3=<AC+3>&17
  2486			000011			AC4=<AC+4>&17
  2487			000012			AC5=<AC+5>&17
  2488			000003			RAN1=<AC-2>&17
  2489	032601	201 04 0 00 032601 		MOVEI	AC-1,.
  2490	032602	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2491	032603	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2492	032604	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2493	032605	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2494	032606	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2495	032607	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2496	032610				BMACM1:	RANDOM^
  2497	032610	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2498	032611	270 05 0 00 060657 		ADD	AC,[142536475076]
  2499	032612	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2500	032613	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2501	032614	322 05 0 00 032610 	BMACM2:	JUMPE AC,BMACM1		;REJECT IF RAN = 0.
  2502	032615	204 06 0 00 000005 		MOVS AC1,AC		;SECOND RANDOM NUMBER
  2503	032616	426 06 0 00 000000 		SETAM AC1,0		;AC1 TO AC0.
  2504	032617	434 00 0 00 000005 		IOR	AC		;SIMULATE
  2505	032620	430 00 0 00 000005 		XOR	AC		;THE INSTUCTION
  2506	032621	316 00 0 00 000006 		CAMN	0,AC1		;SIM ANS = C(AC)?
  2507	032622	254 00 0 00 032610 		JRST	BMACM1		;YES. REJECT.
  2508	032623	422 06 0 00 000005 		ANDCMM AC1,AC		;DO AN ANDCMM INSTRUCTION.
  2509	032624	316 06 0 00 000005 		CAMN AC1,AC		;EQUAL?
  2510	032625	004 06 0 00 000005 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2511	032626	312 05 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2512	032627	004 05 0 00 000000 		ERROR AC,0		;ANDCMM FAILED.
  2513						LOOP BMACM1,BMACM2^
  2514	032630	367 04 0 00 032610 		SOJG	AC-1,BMACM1		;ITERATION COUNTER
  2515	032631	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2516	032632	321 04 0 00 032614 		JUMPL	AC-1,BMACM2		;LOOP ON ERROR SWITCH ^
  2517
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 32
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0076

  2518
  2519					;TEST ANDCBM, WHERE E IS AN AC. THE INSTRUCTION
  2520					;IS TESTED FOR NOT STORING IN AC AS WELL AS STORING
  2521					;PROPERLY IN C(E).
  2522					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2523
  2524			000007			AC=7
  2525	032633				BMACB:	SETUP 100,0^
  2526			000010			AC1=<AC+1>&17
  2527			000011			AC2=<AC+2>&17
  2528			000012			AC3=<AC+3>&17
  2529			000013			AC4=<AC+4>&17
  2530			000014			AC5=<AC+5>&17
  2531			000005			RAN1=<AC-2>&17
  2532	032633	201 06 0 00 032633 		MOVEI	AC-1,.
  2533	032634	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2534	032635	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2535	032636	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2536	032637	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2537	032640	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2538	032641	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2539	032642				BMACB1:	RANDOM^
  2540	032642	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2541	032643	270 07 0 00 060657 		ADD	AC,[142536475076]
  2542	032644	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2543	032645	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2544	032646	204 10 0 00 000007 	BMACB2:	MOVS AC1,AC		;SECOND RANDOM NUMBER.
  2545	032647	460 00 0 00 000010 		SETCM	AC1		;SIMULATE
  2546	032650	460 01 0 00 000007 		SETCM 1,AC		;AN
  2547	032651	404 00 0 00 000001 		AND	1		;ANDCBM INST.
  2548	032652	442 10 0 00 000007 		ANDCBM	AC1,AC		;DO AN ANDCBM.
  2549	032653	316 10 0 00 000007 		CAMN AC1,AC		;EQUAL?
  2550	032654	004 10 0 00 000007 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2551	032655	312 07 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2552	032656	004 07 0 00 000000 		ERROR AC,0		;ANDCBM FAILED.
  2553						LOOP BMACB1,BMACB2^
  2554	032657	367 06 0 00 032642 		SOJG	AC-1,BMACB1		;ITERATION COUNTER
  2555	032660	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2556	032661	321 06 0 00 032646 		JUMPL	AC-1,BMACB2		;LOOP ON ERROR SWITCH ^
  2557
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 33
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0077

  2558
  2559					;TEST SETCAM, WHERE E IS AN AC. THE INSTRUCTION
  2560					;IS TESTED FOR NOT STORING IN AC AS WELL AS
  2561					;PROPER C(E).
  2562					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2563
  2564			000010			AC=10
  2565	032662				BMCMM:	SETUP 200,0^
  2566			000011			AC1=<AC+1>&17
  2567			000012			AC2=<AC+2>&17
  2568			000013			AC3=<AC+3>&17
  2569			000014			AC4=<AC+4>&17
  2570			000015			AC5=<AC+5>&17
  2571			000006			RAN1=<AC-2>&17
  2572	032662	201 07 0 00 032662 		MOVEI	AC-1,.
  2573	032663	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2574	032664	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2575	032665	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2576	032666	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  2577	032667	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2578	032670	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2579	032671				BMCMM1:	RANDOM^
  2580	032671	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2581	032672	270 10 0 00 060657 		ADD	AC,[142536475076]
  2582	032673	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2583	032674	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2584	032675	204 11 0 00 000010 	BMCMM2:	MOVS AC1,AC		;CHECK FOR NO CHANGE
  2585	032676	316 11 0 00 000010 		CAMN	AC1,AC		;IN 8 COMPLEMENTS
  2586	032677	254 00 0 00 032671 		JRST BMCMM1		;REJECT IF HALF SAME.
  2587						REPEAT 10,
  2588					<	SETCMM AC1,AC>
  2589	032700	462 11 0 00 000010 		SETCMM AC1,AC
  2590	032701	462 11 0 00 000010 		SETCMM AC1,AC
  2591	032702	462 11 0 00 000010 		SETCMM AC1,AC
  2592	032703	462 11 0 00 000010 		SETCMM AC1,AC
  2593	032704	462 11 0 00 000010 		SETCMM AC1,AC
  2594	032705	462 11 0 00 000010 		SETCMM AC1,AC
  2595	032706	462 11 0 00 000010 		SETCMM AC1,AC
  2596	032707	462 11 0 00 000010 		SETCMM AC1,AC
  2597	032710	316 11 0 00 000010 		CAMN AC1,AC		;EQUAL?
  2598	032711	004 11 0 00 000010 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2599	032712	312 10 0 00 061125 		CAME AC,RAN		;C(E) SHOULD = ORIG. C(E).
  2600	032713	004 10 0 00 061125 		ERROR AC,RAN		;SETCMM FAILED.
  2601						LOOP BMCMM1,BMCMM2^
  2602	032714	367 07 0 00 032671 		SOJG	AC-1,BMCMM1		;ITERATION COUNTER
  2603	032715	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2604	032716	321 07 0 00 032675 		JUMPL	AC-1,BMCMM2		;LOOP ON ERROR SWITCH ^
  2605
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 34
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0078

  2606
  2607					 ;TEST SETCAM, WHERE E IS AN AC. TEST FOR NOT
  2608					;STORING IN AC AS WELL AS PROPER STORAGE IN C(E).
  2609					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2610
  2611			000011			AC=11
  2612	032717				BMCAM:	SETUP 100,0^
  2613			000012			AC1=<AC+1>&17
  2614			000013			AC2=<AC+2>&17
  2615			000014			AC3=<AC+3>&17
  2616			000015			AC4=<AC+4>&17
  2617			000016			AC5=<AC+5>&17
  2618			000007			RAN1=<AC-2>&17
  2619	032717	201 10 0 00 032717 		MOVEI	AC-1,.
  2620	032720	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2621	032721	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2622	032722	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2623	032723	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2624	032724	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2625	032725	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2626	032726				BMCAM1:	RANDOM^
  2627	032726	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2628	032727	270 11 0 00 060657 		ADD	AC,[142536475076]
  2629	032730	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2630	032731	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2631	032732	204 12 0 00 000011 	BMCAM2:	MOVS AC1,AC		;SECOND RANDOM NUMBER.
  2632	032733	460 00 0 00 000012 		SETCM	AC1		;SIMULATE SETCAM.
  2633	032734	452 12 0 00 000011 		SETCAM AC1,AC		;DO SETCAM.
  2634	032735	316 12 0 00 000011 		CAMN AC1,AC		;EQUAL?
  2635	032736	004 12 0 00 000011 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2636	032737	312 11 0 00 000000 		CAME AC,0		;C(E) SHOULD = SIM. ANS.
  2637	032740	004 11 0 00 000000 		ERROR AC,0		;SETCAM FAILED.
  2638						LOOP BMCAM1,BMACM2^
  2639	032741	367 10 0 00 032726 		SOJG	AC-1,BMCAM1		;ITERATION COUNTER
  2640	032742	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2641	032743	321 10 0 00 032614 		JUMPL	AC-1,BMACM2		;LOOP ON ERROR SWITCH ^
  2642
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 35
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0079

  2643
  2644					;TEST SETAM, WHERE E IS AN AC.
  2645					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2646
  2647			000010			AC=10
  2648	032744				BMSA:	SETUP 100,0^
  2649			000011			AC1=<AC+1>&17
  2650			000012			AC2=<AC+2>&17
  2651			000013			AC3=<AC+3>&17
  2652			000014			AC4=<AC+4>&17
  2653			000015			AC5=<AC+5>&17
  2654			000006			RAN1=<AC-2>&17
  2655	032744	201 07 0 00 032744 		MOVEI	AC-1,.
  2656	032745	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2657	032746	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2658	032747	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2659	032750	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2660	032751	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2661	032752	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2662	032753				BMSA1:	RANDOM^
  2663	032753	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2664	032754	270 10 0 00 060657 		ADD	AC,[142536475076]
  2665	032755	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2666	032756	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2667	032757	204 11 0 00 000010 	BMSA2:	MOVS AC1,AC		;SECOND RANDOM NUMBER
  2668	032760	316 11 0 00 000010 		CAMN AC1,AC
  2669	032761	254 00 0 00 032753 		JRST BMSA1		;REJECT IF SAME.
  2670	032762	426 10 0 00 000011 		SETAM AC,AC1		;C(AC) TO C(AC1)
  2671	032763	312 10 0 00 000011 		CAME AC,AC1		;EQUAL?
  2672	032764	004 10 0 00 000011 		ERROR AC,AC1		;NO.
  2673	032765	312 11 0 00 061125 		CAME AC1,RAN		;C(E) SHOULD = ORIG C(AC).
  2674	032766	004 11 0 00 061125 		ERROR AC1,RAN		;SETAM FAILED.
  2675						LOOP BMSA1,BMSA2^
  2676	032767	367 07 0 00 032753 		SOJG	AC-1,BMSA1		;ITERATION COUNTER
  2677	032770	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2678	032771	321 07 0 00 032757 		JUMPL	AC-1,BMSA2		;LOOP ON ERROR SWITCH ^
  2679
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 36
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0080

  2680
  2681					;TEST SETOM, WHERE E IS AN AC.
  2682					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2683
  2684			000010			AC=10
  2685	032772				BMSM:	SETUP 100,0^
  2686			000011			AC1=<AC+1>&17
  2687			000012			AC2=<AC+2>&17
  2688			000013			AC3=<AC+3>&17
  2689			000014			AC4=<AC+4>&17
  2690			000015			AC5=<AC+5>&17
  2691			000006			RAN1=<AC-2>&17
  2692	032772	201 07 0 00 032772 		MOVEI	AC-1,.
  2693	032773	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2694	032774	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2695	032775	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2696	032776	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2697	032777	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2698	033000	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2699	033001				BMSM1:	RANDOM^
  2700	033001	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2701	033002	270 10 0 00 060657 		ADD	AC,[142536475076]
  2702	033003	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2703	033004	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2704	033005	204 11 0 00 000010 	BMSM2:	MOVS AC1,AC		;SECOND RANDOM NUMBER
  2705	033006	476 11 0 00 000010 		SETOM AC1,AC		;DO SETOM INST.
  2706	033007	316 11 0 00 000010 		CAMN AC1,AC		;EQUAL?
  2707	033010	004 11 0 00 000010 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2708	033011	312 10 0 00 060662 		CAME AC,[-1]		;C(E) SHOULD = A -1.
  2709	033012	004 10 0 00 060662 		ERROR AC,[-1]		;SETOM FAILED.
  2710						LOOP BMSM1,BMSM2^
  2711	033013	367 07 0 00 033001 		SOJG	AC-1,BMSM1		;ITERATION COUNTER
  2712	033014	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2713	033015	321 07 0 00 033005 		JUMPL	AC-1,BMSM2		;LOOP ON ERROR SWITCH ^
  2714
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 37
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0081

  2715
  2716					;TEST SETMM, WHERE E IS AN AC.
  2717					;ERRORS ARE IN THE FORM (PC, AC,C(AC),CORRECT)
  2718
  2719			000010			AC=10
  2720	033016				BMSMM:	SETUP 100,0^
  2721			000011			AC1=<AC+1>&17
  2722			000012			AC2=<AC+2>&17
  2723			000013			AC3=<AC+3>&17
  2724			000014			AC4=<AC+4>&17
  2725			000015			AC5=<AC+5>&17
  2726			000006			RAN1=<AC-2>&17
  2727	033016	201 07 0 00 033016 		MOVEI	AC-1,.
  2728	033017	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2729	033020	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2730	033021	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2731	033022	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2732	033023	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2733	033024	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2734	033025				BMSMM1:	RANDOM^
  2735	033025	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2736	033026	270 10 0 00 060657 		ADD	AC,[142536475076]
  2737	033027	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2738	033030	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2739	033031	204 11 0 00 000010 	BMSMM2:	MOVS AC1,AC		;A SECOND RANDOM NUMBER
  2740	033032	316 10 0 00 000011 		CAMN AC,AC1		;REJECT IF
  2741	033033	254 00 0 00 033025 		JRST BMSMM1		;HALF SAME
  2742						REPEAT 10,		;DO 8 SETMM...SHOULD NOT CHANGE C(E).
  2743					<	SETMM AC1,AC>
  2744	033034	416 11 0 00 000010 		SETMM AC1,AC
  2745	033035	416 11 0 00 000010 		SETMM AC1,AC
  2746	033036	416 11 0 00 000010 		SETMM AC1,AC
  2747	033037	416 11 0 00 000010 		SETMM AC1,AC
  2748	033040	416 11 0 00 000010 		SETMM AC1,AC
  2749	033041	416 11 0 00 000010 		SETMM AC1,AC
  2750	033042	416 11 0 00 000010 		SETMM AC1,AC
  2751	033043	416 11 0 00 000010 		SETMM AC1,AC
  2752	033044	316 11 0 00 000010 		CAMN AC1,AC		;EQUAL?
  2753	033045	004 11 0 00 000010 		ERROR AC1,AC		;YES. INHIBIT STORE AC FAILED.
  2754	033046	312 10 0 00 061125 		CAME AC,RAN		;C(E) SHOULD = ORIG. C(E).
  2755	033047	004 10 0 00 061125 		ERROR AC,RAN		;SETMM FAILED.
  2756						LOOP BMSMM1,BMSMM2^
  2757	033050	367 07 0 00 033025 		SOJG	AC-1,BMSMM1		;ITERATION COUNTER
  2758	033051	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2759	033052	321 07 0 00 033031 		JUMPL	AC-1,BMSMM2		;LOOP ON ERROR SWITCH ^
  2760
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 38
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0082

  2761
  2762					;TEST SETZM, WHERE E IS AN AC. TESTS FOR NOT STORING
  2763					;IN AC AS WELL AS STORING IN C(E) PROPERLY.
  2764
  2765			000010			AC=10
  2766	033053				SETZM1:	SETUP 40,0^
  2767			000011			AC1=<AC+1>&17
  2768			000012			AC2=<AC+2>&17
  2769			000013			AC3=<AC+3>&17
  2770			000014			AC4=<AC+4>&17
  2771			000015			AC5=<AC+5>&17
  2772			000006			RAN1=<AC-2>&17
  2773	033053	201 07 0 00 033053 		MOVEI	AC-1,.
  2774	033054	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2775	033055	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2776	033056	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2777	033057	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  2778	033060	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  2779	033061	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2780	033062				SETZM2:	RANDOM^
  2781	033062	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2782	033063	270 10 0 00 060657 		ADD	AC,[142536475076]
  2783	033064	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2784	033065	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2785	033066	322 10 0 00 033062 	SETZM3:	JUMPE AC,SETZM2		;REJECT IF C(AC) = 0.
  2786	033067	477 11 0 00 000006 		SETOB AC1,RAN1		;SET C(AC) TO ALL ONES.
  2787	033070	402 11 0 00 000010 		SETZM AC1,AC		;DO SETZM
  2788	033071	312 10 0 00 060660 		CAME AC,[0]		;DID AC GET CLEARED?
  2789	033072	011 00 0 00 000006 		EERR	,RAN1		;NO.
  2790	033073	312 11 0 00 060662 		CAME AC1,[-1]		;DOES C(AC1) STILL = -1?
  2791	033074	011 00 0 00 000006 		EERR	,RAN1		;NO.
  2792						LOOP SETZM2,SETZM3^
  2793	033075	367 07 0 00 033062 		SOJG	AC-1,SETZM2		;ITERATION COUNTER
  2794	033076	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2795	033077	321 07 0 00 033066 		JUMPL	AC-1,SETZM3		;LOOP ON ERROR SWITCH ^
  2796
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 39
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0083

  2797
  2798					;TEST ROT LEFT 3X(2X18). CHECKING FOR AC1 NOT CHANGED
  2799					;AS WELL AS C(AC) BEING THE PROPER NUMBER.
  2800					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2801
  2802			000010			AC=10
  2803	033100				ROTL2:	SETUP 200,2^
  2804			000011			AC1=<AC+1>&17
  2805			000012			AC2=<AC+2>&17
  2806			000013			AC3=<AC+3>&17
  2807			000014			AC4=<AC+4>&17
  2808			000015			AC5=<AC+5>&17
  2809			000006			RAN1=<AC-2>&17
  2810	033100	201 07 0 00 033100 		MOVEI	AC-1,.
  2811	033101	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2812	033102	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2813	033103	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2814	033104	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  2815	033105	240 07 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  2816	033106	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2817	033107				ROTL2A:	RANDOM^
  2818	033107	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2819	033110	270 10 0 00 060657 		ADD	AC,[142536475076]
  2820	033111	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2821	033112	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2822	033113	477 11 0 00 000006 	ROTL2B:	SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  2823						REPEAT 3,		;DO 6 X (ROT LEFT 18 PLACES).
  2824					<	ROT AC,22
  2825						ROT AC,22>
  2826	033114	241 10 0 00 000022 		ROT AC,22
  2827	033115	241 10 0 00 000022 		ROT AC,22
  2828	033116	241 10 0 00 000022 		ROT AC,22
  2829	033117	241 10 0 00 000022 		ROT AC,22
  2830	033120	241 10 0 00 000022 		ROT AC,22
  2831	033121	241 10 0 00 000022 		ROT AC,22
  2832	033122	312 10 0 00 061125 		CAME AC,RAN		;C(AC)SHOULD = C(AC) BEFORE ROT.
  2833	033123	013 00 0 00 000022 		EERRI	,22
  2834	033124	312 11 0 00 060662 		CAME AC1,[-1]		;AC1 SHOULD NOT HAVE CHANGED.
  2835	033125	001 06 0 00 000022 		ERR	RAN1,22
  2836						LOOP ROTL2A,ROTL2B^
  2837	033126	367 07 0 00 033107 		SOJG	AC-1,ROTL2A		;ITERATION COUNTER
  2838	033127	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2839	033130	321 07 0 00 033113 		JUMPL	AC-1,ROTL2B		;LOOP ON ERROR SWITCH ^
  2840
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 40
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0084

  2841					;TEST ROT RIGHT 3X(2X18)..CHECKING FOR AC1 NOT
  2842					;CHANGED AS WELL AS C(AC) ENDING UP BEING
  2843					;THE SAME AS IT WAS BEFORE THE ROT.
  2844					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2845
  2846			000010			AC=10
  2847	033131				ROTR2:	SETUP 300,2^
  2848			000011			AC1=<AC+1>&17
  2849			000012			AC2=<AC+2>&17
  2850			000013			AC3=<AC+3>&17
  2851			000014			AC4=<AC+4>&17
  2852			000015			AC5=<AC+5>&17
  2853			000006			RAN1=<AC-2>&17
  2854	033131	201 07 0 00 033131 		MOVEI	AC-1,.
  2855	033132	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2856	033133	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2857	033134	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2858	033135	201 07 0 00 000300 		MOVEI	AC-1,300		;ROUTINE WEIGHTING
  2859	033136	240 07 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  2860	033137	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2861	033140				ROTR2A:	RANDOM^
  2862	033140	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2863	033141	270 10 0 00 060657 		ADD	AC,[142536475076]
  2864	033142	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2865	033143	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2866	033144	477 11 0 00 000006 	ROTR2B:	SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  2867						REPEAT 3,		;DO 6 X (ROT RIGHT 18 PLACES).
  2868					<	ROT AC,-22
  2869						ROT AC,-22>
  2870	033145	241 10 0 00 777756 		ROT AC,-22
  2871	033146	241 10 0 00 777756 		ROT AC,-22
  2872	033147	241 10 0 00 777756 		ROT AC,-22
  2873	033150	241 10 0 00 777756 		ROT AC,-22
  2874	033151	241 10 0 00 777756 		ROT AC,-22
  2875	033152	241 10 0 00 777756 		ROT AC,-22
  2876	033153	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = C(AC) BEFORE ROT.
  2877	033154	011 00 0 00 777756 		EERR	,-22
  2878	033155	312 11 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL = -1.
  2879	033156	003 06 0 00 777756 		ERRI	RAN1,-22
  2880						LOOP ROTR2A,ROTR2B^
  2881	033157	367 07 0 00 033140 		SOJG	AC-1,ROTR2A		;ITERATION COUNTER
  2882	033160	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2883	033161	321 07 0 00 033144 		JUMPL	AC-1,ROTR2B		;LOOP ON ERROR SWITCH ^
  2884
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 41
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0085

  2885
  2886					;TEST ROT LEFT 3X36. CHECKING FOR AC1 NOT
  2887					;CHANGED AND C(AC) = WHAT IT WAS BEFORE
  2888					;ROT.
  2889					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2890
  2891			000002			AC=2
  2892	033162				RTL36:	SETUP 300,2^
  2893			000003			AC1=<AC+1>&17
  2894			000004			AC2=<AC+2>&17
  2895			000005			AC3=<AC+3>&17
  2896			000006			AC4=<AC+4>&17
  2897			000007			AC5=<AC+5>&17
  2898			000000			RAN1=<AC-2>&17
  2899	033162	201 01 0 00 033162 		MOVEI	AC-1,.
  2900	033163	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2901	033164	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2902	033165	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2903	033166	201 01 0 00 000300 		MOVEI	AC-1,300		;ROUTINE WEIGHTING
  2904	033167	240 01 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  2905	033170	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2906	033171				RTL36A:	RANDOM^
  2907	033171	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2908	033172	270 02 0 00 060657 		ADD	AC,[142536475076]
  2909	033173	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2910	033174	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2911	033175	477 03 0 00 000000 	RTL36B:	SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  2912						REPEAT 3,		;DO 3 X (ROT LEFT 36 PLACES).
  2913					<	ROT AC,44>
  2914	033176	241 02 0 00 000044 		ROT AC,44
  2915	033177	241 02 0 00 000044 		ROT AC,44
  2916	033200	241 02 0 00 000044 		ROT AC,44
  2917	033201	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = C(AC) BEFORE ROT.
  2918	033202	013 00 0 00 000044 		EERRI	,44
  2919	033203	312 03 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL = -1.
  2920	033204	003 00 0 00 000044 		ERRI	RAN1,44
  2921						LOOP RTL36A,RTL36B^
  2922	033205	367 01 0 00 033171 		SOJG	AC-1,RTL36A		;ITERATION COUNTER
  2923	033206	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2924	033207	321 01 0 00 033175 		JUMPL	AC-1,RTL36B		;LOOP ON ERROR SWITCH ^
  2925
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 42
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0086

  2926
  2927					;TEST ROT RIGHT 3X36. CHECKING FOR AC1 NOT
  2928					;CHANGED AND C(AC) = WHAT IT DID BEFORE ROT.
  2929					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2930
  2931			000002			AC=2
  2932	033210				RTR36:	SETUP 300,2^
  2933			000003			AC1=<AC+1>&17
  2934			000004			AC2=<AC+2>&17
  2935			000005			AC3=<AC+3>&17
  2936			000006			AC4=<AC+4>&17
  2937			000007			AC5=<AC+5>&17
  2938			000000			RAN1=<AC-2>&17
  2939	033210	201 01 0 00 033210 		MOVEI	AC-1,.
  2940	033211	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2941	033212	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2942	033213	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2943	033214	201 01 0 00 000300 		MOVEI	AC-1,300		;ROUTINE WEIGHTING
  2944	033215	240 01 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  2945	033216	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2946	033217				RTR36A:	RANDOM^
  2947	033217	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2948	033220	270 02 0 00 060657 		ADD	AC,[142536475076]
  2949	033221	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2950	033222	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2951	033223	477 03 0 00 000000 	RTR36B:	SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  2952						REPEAT 3,		;DO 3 X (ROT RIGHT 36 PLACES).
  2953					<	ROT AC,-44>
  2954	033224	241 02 0 00 777734 		ROT AC,-44
  2955	033225	241 02 0 00 777734 		ROT AC,-44
  2956	033226	241 02 0 00 777734 		ROT AC,-44
  2957	033227	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = RAN.
  2958	033230	013 00 0 00 777734 		EERRI	,-44
  2959	033231	312 03 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL = -1.
  2960	033232	003 00 0 00 777734 		ERRI	RAN1,-44
  2961						LOOP RTR36A,RTR36B^
  2962	033233	367 01 0 00 033217 		SOJG	AC-1,RTR36A		;ITERATION COUNTER
  2963	033234	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  2964	033235	321 01 0 00 033223 		JUMPL	AC-1,RTR36B		;LOOP ON ERROR SWITCH ^
  2965
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 43
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0087

  2966
  2967					;TEST ROTC LEFT 3X36 THROUGH ALL AC'S CHECKING
  2968					;FOR C(AC) AND C(AC1) BEING EXCHANGED
  2969					;AFTER THE ROTC.
  2970					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  2971  
  2972			000002			AC=2
  2973	033236				RTCL:	SETUP 100,2^
  2974			000003			AC1=<AC+1>&17
  2975			000004			AC2=<AC+2>&17
  2976			000005			AC3=<AC+3>&17
  2977			000006			AC4=<AC+4>&17
  2978			000007			AC5=<AC+5>&17
  2979			000000			RAN1=<AC-2>&17
  2980	033236	201 01 0 00 033236 		MOVEI	AC-1,.
  2981	033237	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  2982	033240	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  2983	033241	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  2984	033242	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  2985	033243	240 01 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  2986	033244	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  2987	033245				RTCLA:	RANDOM^
  2988	033245	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  2989	033246	270 02 0 00 060657 		ADD	AC,[142536475076]
  2990	033247	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  2991	033250	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  2992					RTCLB:	REPEAT ^D10,
  2993					<	MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  2994						SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  2995						REPEAT 3,		;DO 3 X (ROTC LEFT 36 PLACES).
  2996					<	ROTC AC,44>
  2997						CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  2998						EERRI	,44
  2999						CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3000						ERRI	RAN1,44
  3001						AC=<AC+1>&17
  3002						AC1=<AC+1>&17
  3003					>
  3004	033251	200 02 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3005	033252	477 03 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3006						REPEAT 3,
  3007	033253	245 02 0 00 000044 		ROTC AC,44
  3008	033254	245 02 0 00 000044 		ROTC AC,44
  3009	033255	245 02 0 00 000044 		ROTC AC,44
  3010	033256	312 03 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3011	033257	013 00 0 00 000044 		EERRI	,44
  3012	033260	312 02 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3013	033261	003 00 0 00 000044 		ERRI	RAN1,44
  3014			000003			AC=<AC+1>&17
  3015			000004			AC1=<AC+1>&17
  3016
  3017	033262	200 03 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3018	033263	477 04 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3019						REPEAT 3,
  3020	033264	245 03 0 00 000044 		ROTC AC,44
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 43-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0088

  3021	033265	245 03 0 00 000044 		ROTC AC,44
  3022	033266	245 03 0 00 000044 		ROTC AC,44
  3023	033267	312 04 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3024	033270	013 00 0 00 000044 		EERRI	,44
  3025	033271	312 03 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3026	033272	003 00 0 00 000044 		ERRI	RAN1,44
  3027			000004			AC=<AC+1>&17
  3028			000005			AC1=<AC+1>&17
  3029
  3030	033273	200 04 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3031	033274	477 05 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3032						REPEAT 3,
  3033	033275	245 04 0 00 000044 		ROTC AC,44
  3034	033276	245 04 0 00 000044 		ROTC AC,44
  3035	033277	245 04 0 00 000044 		ROTC AC,44
  3036	033300	312 05 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3037	033301	013 00 0 00 000044 		EERRI	,44
  3038	033302	312 04 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3039	033303	003 00 0 00 000044 		ERRI	RAN1,44
  3040			000005			AC=<AC+1>&17
  3041			000006			AC1=<AC+1>&17
  3042
  3043	033304	200 05 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3044	033305	477 06 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3045						REPEAT 3,
  3046	033306	245 05 0 00 000044 		ROTC AC,44
  3047	033307	245 05 0 00 000044 		ROTC AC,44
  3048	033310	245 05 0 00 000044 		ROTC AC,44
  3049	033311	312 06 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3050	033312	013 00 0 00 000044 		EERRI	,44
  3051	033313	312 05 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3052	033314	003 00 0 00 000044 		ERRI	RAN1,44
  3053			000006			AC=<AC+1>&17
  3054			000007			AC1=<AC+1>&17
  3055
  3056	033315	200 06 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3057	033316	477 07 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3058						REPEAT 3,
  3059	033317	245 06 0 00 000044 		ROTC AC,44
  3060	033320	245 06 0 00 000044 		ROTC AC,44
  3061	033321	245 06 0 00 000044 		ROTC AC,44
  3062	033322	312 07 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3063	033323	013 00 0 00 000044 		EERRI	,44
  3064	033324	312 06 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3065	033325	003 00 0 00 000044 		ERRI	RAN1,44
  3066			000007			AC=<AC+1>&17
  3067			000010			AC1=<AC+1>&17
  3068
  3069	033326	200 07 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3070	033327	477 10 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3071						REPEAT 3,
  3072	033330	245 07 0 00 000044 		ROTC AC,44
  3073	033331	245 07 0 00 000044 		ROTC AC,44
  3074	033332	245 07 0 00 000044 		ROTC AC,44
  3075	033333	312 10 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 43-2
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0089

  3076	033334	013 00 0 00 000044 		EERRI	,44
  3077	033335	312 07 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3078	033336	003 00 0 00 000044 		ERRI	RAN1,44
  3079			000010			AC=<AC+1>&17
  3080			000011			AC1=<AC+1>&17
  3081
  3082	033337	200 10 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3083	033340	477 11 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3084						REPEAT 3,
  3085	033341	245 10 0 00 000044 		ROTC AC,44
  3086	033342	245 10 0 00 000044 		ROTC AC,44
  3087	033343	245 10 0 00 000044 		ROTC AC,44
  3088	033344	312 11 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3089	033345	013 00 0 00 000044 		EERRI	,44
  3090	033346	312 10 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3091	033347	003 00 0 00 000044 		ERRI	RAN1,44
  3092			000011			AC=<AC+1>&17
  3093			000012			AC1=<AC+1>&17
  3094
  3095	033350	200 11 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3096	033351	477 12 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3097						REPEAT 3,
  3098	033352	245 11 0 00 000044 		ROTC AC,44
  3099	033353	245 11 0 00 000044 		ROTC AC,44
  3100	033354	245 11 0 00 000044 		ROTC AC,44
  3101	033355	312 12 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3102	033356	013 00 0 00 000044 		EERRI	,44
  3103	033357	312 11 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3104	033360	003 00 0 00 000044 		ERRI	RAN1,44
  3105			000012			AC=<AC+1>&17
  3106			000013			AC1=<AC+1>&17
  3107
  3108	033361	200 12 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3109	033362	477 13 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3110						REPEAT 3,
  3111	033363	245 12 0 00 000044 		ROTC AC,44
  3112	033364	245 12 0 00 000044 		ROTC AC,44
  3113	033365	245 12 0 00 000044 		ROTC AC,44
  3114	033366	312 13 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3115	033367	013 00 0 00 000044 		EERRI	,44
  3116	033370	312 12 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3117	033371	003 00 0 00 000044 		ERRI	RAN1,44
  3118			000013			AC=<AC+1>&17
  3119			000014			AC1=<AC+1>&17
  3120
  3121	033372	200 13 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3122	033373	477 14 0 00 000000 		SETOB	AC1,RAN1	;SET AC+1 TO ALL ONES.
  3123						REPEAT 3,
  3124	033374	245 13 0 00 000044 		ROTC AC,44
  3125	033375	245 13 0 00 000044 		ROTC AC,44
  3126	033376	245 13 0 00 000044 		ROTC AC,44
  3127	033377	312 14 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = RAN.
  3128	033400	013 00 0 00 000044 		EERRI	,44
  3129	033401	312 13 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  3130	033402	003 00 0 00 000044 		ERRI	RAN1,44
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 43-3
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0090

  3131			000014			AC=<AC+1>&17
  3132			000015			AC1=<AC+1>&17
  3133
  3134			000002			AC=2
  3135						LOOP RTCLA,RTCLB^
  3136	033403	367 01 0 00 033245 		SOJG	AC-1,RTCLA		;ITERATION COUNTER
  3137	033404	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3138	033405	321 01 0 00 033251 		JUMPL	AC-1,RTCLB		;LOOP ON ERROR SWITCH ^
  3139
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 44
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0091

  3140
  3141					;TEST ROTC RIGHT 3X36 THROUGH ALL AC'S. CHECKING
  3142					;FOR C(AC) AND C(AC1) BEING EXCHANGED.
  3143					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  3144
  3145			000002			AC=2
  3146	033406				RTCR:	SETUP 100,2^
  3147			000003			AC1=<AC+1>&17
  3148			000004			AC2=<AC+2>&17
  3149			000005			AC3=<AC+3>&17
  3150			000006			AC4=<AC+4>&17
  3151			000007			AC5=<AC+5>&17
  3152			000000			RAN1=<AC-2>&17
  3153	033406	201 01 0 00 033406 		MOVEI	AC-1,.
  3154	033407	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3155	033410	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3156	033411	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3157	033412	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  3158	033413	240 01 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  3159	033414	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3160	033415				RTCRA:	RANDOM^
  3161	033415	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3162	033416	270 02 0 00 060657 		ADD	AC,[142536475076]
  3163	033417	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3164	033420	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3165					RTCRB:	REPEAT ^D10,
  3166					<	MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3167						SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3168						REPEAT 3,		;DO 3 X (ROTC RIGHT 36 PLACES).
  3169					<	ROTC AC,-44>
  3170						CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3171						EERRI	,-44
  3172						CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3173						ERRI	RAN1,-44
  3174						AC=<AC+1>&17
  3175						AC1=<AC+1>&17
  3176					>
  3177	033421	200 02 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3178	033422	477 03 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3179						REPEAT 3,
  3180	033423	245 02 0 00 777734 		ROTC AC,-44
  3181	033424	245 02 0 00 777734 		ROTC AC,-44
  3182	033425	245 02 0 00 777734 		ROTC AC,-44
  3183	033426	312 03 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3184	033427	013 00 0 00 777734 		EERRI	,-44
  3185	033430	312 02 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3186	033431	003 00 0 00 777734 		ERRI	RAN1,-44
  3187			000003			AC=<AC+1>&17
  3188			000004			AC1=<AC+1>&17
  3189
  3190	033432	200 03 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3191	033433	477 04 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3192						REPEAT 3,
  3193	033434	245 03 0 00 777734 		ROTC AC,-44
  3194	033435	245 03 0 00 777734 		ROTC AC,-44
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 44-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0092

  3195	033436	245 03 0 00 777734 		ROTC AC,-44
  3196	033437	312 04 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3197	033440	013 00 0 00 777734 		EERRI	,-44
  3198	033441	312 03 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3199	033442	003 00 0 00 777734 		ERRI	RAN1,-44
  3200			000004			AC=<AC+1>&17
  3201			000005			AC1=<AC+1>&17
  3202
  3203	033443	200 04 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3204	033444	477 05 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3205						REPEAT 3,
  3206	033445	245 04 0 00 777734 		ROTC AC,-44
  3207	033446	245 04 0 00 777734 		ROTC AC,-44
  3208	033447	245 04 0 00 777734 		ROTC AC,-44
  3209	033450	312 05 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3210	033451	013 00 0 00 777734 		EERRI	,-44
  3211	033452	312 04 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3212	033453	003 00 0 00 777734 		ERRI	RAN1,-44
  3213			000005			AC=<AC+1>&17
  3214			000006			AC1=<AC+1>&17
  3215
  3216	033454	200 05 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3217	033455	477 06 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3218						REPEAT 3,
  3219	033456	245 05 0 00 777734 		ROTC AC,-44
  3220	033457	245 05 0 00 777734 		ROTC AC,-44
  3221	033460	245 05 0 00 777734 		ROTC AC,-44
  3222	033461	312 06 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3223	033462	013 00 0 00 777734 		EERRI	,-44
  3224	033463	312 05 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3225	033464	003 00 0 00 777734 		ERRI	RAN1,-44
  3226			000006			AC=<AC+1>&17
  3227			000007			AC1=<AC+1>&17
  3228
  3229	033465	200 06 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3230	033466	477 07 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3231						REPEAT 3,
  3232	033467	245 06 0 00 777734 		ROTC AC,-44
  3233	033470	245 06 0 00 777734 		ROTC AC,-44
  3234	033471	245 06 0 00 777734 		ROTC AC,-44
  3235	033472	312 07 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3236	033473	013 00 0 00 777734 		EERRI	,-44
  3237	033474	312 06 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3238	033475	003 00 0 00 777734 		ERRI	RAN1,-44
  3239			000007			AC=<AC+1>&17
  3240			000010			AC1=<AC+1>&17
  3241
  3242	033476	200 07 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3243	033477	477 10 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3244						REPEAT 3,
  3245	033500	245 07 0 00 777734 		ROTC AC,-44
  3246	033501	245 07 0 00 777734 		ROTC AC,-44
  3247	033502	245 07 0 00 777734 		ROTC AC,-44
  3248	033503	312 10 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3249	033504	013 00 0 00 777734 		EERRI	,-44
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 44-2
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0093

  3250	033505	312 07 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3251	033506	003 00 0 00 777734 		ERRI	RAN1,-44
  3252			000010			AC=<AC+1>&17
  3253			000011			AC1=<AC+1>&17
  3254
  3255	033507	200 10 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3256	033510	477 11 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3257						REPEAT 3,
  3258	033511	245 10 0 00 777734 		ROTC AC,-44
  3259	033512	245 10 0 00 777734 		ROTC AC,-44
  3260	033513	245 10 0 00 777734 		ROTC AC,-44
  3261	033514	312 11 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3262	033515	013 00 0 00 777734 		EERRI	,-44
  3263	033516	312 10 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3264	033517	003 00 0 00 777734 		ERRI	RAN1,-44
  3265			000011			AC=<AC+1>&17
  3266			000012			AC1=<AC+1>&17
  3267
  3268	033520	200 11 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3269	033521	477 12 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3270						REPEAT 3,
  3271	033522	245 11 0 00 777734 		ROTC AC,-44
  3272	033523	245 11 0 00 777734 		ROTC AC,-44
  3273	033524	245 11 0 00 777734 		ROTC AC,-44
  3274	033525	312 12 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3275	033526	013 00 0 00 777734 		EERRI	,-44
  3276	033527	312 11 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3277	033530	003 00 0 00 777734 		ERRI	RAN1,-44
  3278			000012			AC=<AC+1>&17
  3279			000013			AC1=<AC+1>&17
  3280
  3281	033531	200 12 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3282	033532	477 13 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3283						REPEAT 3,
  3284	033533	245 12 0 00 777734 		ROTC AC,-44
  3285	033534	245 12 0 00 777734 		ROTC AC,-44
  3286	033535	245 12 0 00 777734 		ROTC AC,-44
  3287	033536	312 13 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3288	033537	013 00 0 00 777734 		EERRI	,-44
  3289	033540	312 12 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3290	033541	003 00 0 00 777734 		ERRI	RAN1,-44
  3291			000013			AC=<AC+1>&17
  3292			000014			AC1=<AC+1>&17
  3293
  3294	033542	200 13 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3295	033543	477 14 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3296						REPEAT 3,
  3297	033544	245 13 0 00 777734 		ROTC AC,-44
  3298	033545	245 13 0 00 777734 		ROTC AC,-44
  3299	033546	245 13 0 00 777734 		ROTC AC,-44
  3300	033547	312 14 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD = C(AC) BEFORE ROTC.
  3301	033550	013 00 0 00 777734 		EERRI	,-44
  3302	033551	312 13 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = C(AC1) BEFORE ROTC.
  3303	033552	003 00 0 00 777734 		ERRI	RAN1,-44
  3304			000014			AC=<AC+1>&17
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 44-3
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0094

  3305			000015			AC1=<AC+1>&17
  3306
  3307			000002			AC=2
  3308						LOOP RTCRA,RTCRB^
  3309	033553	367 01 0 00 033415 		SOJG	AC-1,RTCRA		;ITERATION COUNTER
  3310	033554	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3311	033555	321 01 0 00 033421 		JUMPL	AC-1,RTCRB		;LOOP ON ERROR SWITCH ^
  3312
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 45
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0095

  3313
  3314					;TEST ROT. ROT A RANDOM NUMBER A RANDOM NUMBER OF TIMES
  3315					;IN ONE DIRECTION AND THEN THE SAME NUMBER OF TIMES
  3316					;IN THE OPPOSITE DIRECTION.
  3317					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT).
  3318
  3319			000002			AC=2
  3320	033556				ROTLR:	SETUP 100,4^
  3321			000003			AC1=<AC+1>&17
  3322			000004			AC2=<AC+2>&17
  3323			000005			AC3=<AC+3>&17
  3324			000006			AC4=<AC+4>&17
  3325			000007			AC5=<AC+5>&17
  3326			000000			RAN1=<AC-2>&17
  3327	033556	201 01 0 00 033556 		MOVEI	AC-1,.
  3328	033557	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3329	033560	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3330	033561	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3331	033562	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  3332	033563	240 01 1 00 030662 		ASH	AC-1,@CMPLXT+4	;ROUTINE COMPLEXITY
  3333	033564	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3334	033565				ROTLR1:	RANDOM^
  3335	033565	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3336	033566	270 02 0 00 060657 		ADD	AC,[142536475076]
  3337	033567	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3338	033570	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3339	033571	200 05 0 00 061125 		MOVE AC3,RAN		;CHECK TO SEE
  3340	033572	404 05 0 00 060663 		AND AC3,[377]		;THAT THE RIGHT MOST 8 BITS
  3341	033573	322 05 0 00 033565 		JUMPE AC3,ROTLR1	;DO NOT = 0..REJECT IF THEY DO.
  3342	033574	210 04 0 00 061125 	ROTLR2:	MOVN AC2,RAN		;PUT 2'S COMP OF RAN INTO AC2.
  3343	033575	477 03 0 00 000000 		SETOB AC1,RAN1		;SET AC+1 TO ALL ONES.
  3344	033576	241 02 0 02 000000 		ROT AC,(AC)		;ROT AC A RANDOM NUMBER OF TIMES.
  3345	033577	241 02 0 04 000000 		ROT AC,(AC2)		;ROT AC THE SAME NUM OF TIMES
  3346									;IN THE OPPOSITE DIRECTION.
  3347	033600	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = C(RAN).
  3348	033601	004 02 0 00 061125 		ERROR AC,RAN
  3349	033602	312 03 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL = -1.
  3350	033603	004 03 0 00 060662 		ERROR AC1,[-1]
  3351						LOOP ROTLR1,ROTLR2^
  3352	033604	367 01 0 00 033565 		SOJG	AC-1,ROTLR1		;ITERATION COUNTER
  3353	033605	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3354	033606	321 01 0 00 033574 		JUMPL	AC-1,ROTLR2		;LOOP ON ERROR SWITCH ^
  3355
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 46
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0096

  3356
  3357					;TEST ROTC. DO A ROTC WITH A RANDOM NUMBER A RANDOM
  3358					;NUMBER OF TIMES IN ONE DIRECTION AND THEN THE SAME
  3359					;NUMBER OF TIMES IN THE OPPOSITE DIRECTION.
  3360					;REPEAT THIS TEST FOR ALL AC'S.
  3361					;ERRORS ARE IN THE FORM (PC,AC,C(AC),CORRECT)
  3362
  3363			000002			AC=2
  3364	033607				RTCLR:	SETUP 200,3^
  3365			000003			AC1=<AC+1>&17
  3366			000004			AC2=<AC+2>&17
  3367			000005			AC3=<AC+3>&17
  3368			000006			AC4=<AC+4>&17
  3369			000007			AC5=<AC+5>&17
  3370			000000			RAN1=<AC-2>&17
  3371	033607	201 01 0 00 033607 		MOVEI	AC-1,.
  3372	033610	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3373	033611	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3374	033612	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3375	033613	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3376	033614	240 01 1 00 030661 		ASH	AC-1,@CMPLXT+3	;ROUTINE COMPLEXITY
  3377	033615	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3378	033616				RTCLR1:	RANDOM^
  3379	033616	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3380	033617	270 02 0 00 060657 		ADD	AC,[142536475076]
  3381	033620	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3382	033621	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3383	033622	200 05 0 00 061125 		MOVE AC3,RAN		;CHECK TO SEE
  3384	033623	404 05 0 00 060663 		AND AC3,[377]		;THAT THE RIGHT MOST 8 BITS
  3385	033624	322 05 0 00 033616 		JUMPE AC3,RTCLR1	;DO NOT = 0..REJECT IF THEY DO.
  3386					RTCLR2:	REPEAT ^D10,
  3387					<	MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3388						MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3389						SETO AC1,		;SET AC1 TO ALL ONES.
  3390						ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3391									;TIMES IN ONE DIRECTION.
  3392						ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3393									;TIMES IN THE OPPOSITE DIRECTION.
  3394						CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3395						ERROR AC,RAN
  3396						CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3397						ERROR AC1,[-1]
  3398						AC=<AC+1>&17
  3399						AC1=<AC+1>&17
  3400						AC2=<AC+2>&17
  3401					
  3402					>
  3403	033625	200 02 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3404	033626	210 04 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3405	033627	474 03 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3406	033630	245 02 0 02 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3407									;TIMES IN ONE DIRECTION.
  3408	033631	245 02 0 04 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3409									;TIMES IN THE OPPOSITE DIRECTION.
  3410	033632	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 46-1
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0097

  3411	033633	004 02 0 00 061125 		ERROR AC,RAN
  3412	033634	312 03 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3413	033635	004 03 0 00 060662 		ERROR AC1,[-1]
  3414			000003			AC=<AC+1>&17
  3415			000004			AC1=<AC+1>&17
  3416			000005			AC2=<AC+2>&17
  3417
  3418
  3419	033636	200 03 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3420	033637	210 05 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3421	033640	474 04 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3422	033641	245 03 0 03 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3423									;TIMES IN ONE DIRECTION.
  3424	033642	245 03 0 05 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3425									;TIMES IN THE OPPOSITE DIRECTION.
  3426	033643	312 03 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3427	033644	004 03 0 00 061125 		ERROR AC,RAN
  3428	033645	312 04 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3429	033646	004 04 0 00 060662 		ERROR AC1,[-1]
  3430			000004			AC=<AC+1>&17
  3431			000005			AC1=<AC+1>&17
  3432			000006			AC2=<AC+2>&17
  3433
  3434
  3435	033647	200 04 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3436	033650	210 06 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3437	033651	474 05 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3438	033652	245 04 0 04 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3439									;TIMES IN ONE DIRECTION.
  3440	033653	245 04 0 06 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3441									;TIMES IN THE OPPOSITE DIRECTION.
  3442	033654	312 04 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3443	033655	004 04 0 00 061125 		ERROR AC,RAN
  3444	033656	312 05 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3445	033657	004 05 0 00 060662 		ERROR AC1,[-1]
  3446			000005			AC=<AC+1>&17
  3447			000006			AC1=<AC+1>&17
  3448			000007			AC2=<AC+2>&17
  3449
  3450
  3451	033660	200 05 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3452	033661	210 07 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3453	033662	474 06 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3454	033663	245 05 0 05 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3455									;TIMES IN ONE DIRECTION.
  3456	033664	245 05 0 07 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3457									;TIMES IN THE OPPOSITE DIRECTION.
  3458	033665	312 05 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3459	033666	004 05 0 00 061125 		ERROR AC,RAN
  3460	033667	312 06 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3461	033670	004 06 0 00 060662 		ERROR AC1,[-1]
  3462			000006			AC=<AC+1>&17
  3463			000007			AC1=<AC+1>&17
  3464			000010			AC2=<AC+2>&17
  3465
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 46-2
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0098

  3466
  3467	033671	200 06 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3468	033672	210 10 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3469	033673	474 07 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3470	033674	245 06 0 06 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3471									;TIMES IN ONE DIRECTION.
  3472	033675	245 06 0 10 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3473									;TIMES IN THE OPPOSITE DIRECTION.
  3474	033676	312 06 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3475	033677	004 06 0 00 061125 		ERROR AC,RAN
  3476	033700	312 07 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3477	033701	004 07 0 00 060662 		ERROR AC1,[-1]
  3478			000007			AC=<AC+1>&17
  3479			000010			AC1=<AC+1>&17
  3480			000011			AC2=<AC+2>&17
  3481
  3482
  3483	033702	200 07 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3484	033703	210 11 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3485	033704	474 10 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3486	033705	245 07 0 07 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3487									;TIMES IN ONE DIRECTION.
  3488	033706	245 07 0 11 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3489									;TIMES IN THE OPPOSITE DIRECTION.
  3490	033707	312 07 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3491	033710	004 07 0 00 061125 		ERROR AC,RAN
  3492	033711	312 10 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3493	033712	004 10 0 00 060662 		ERROR AC1,[-1]
  3494			000010			AC=<AC+1>&17
  3495			000011			AC1=<AC+1>&17
  3496			000012			AC2=<AC+2>&17
  3497
  3498
  3499	033713	200 10 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3500	033714	210 12 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3501	033715	474 11 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3502	033716	245 10 0 10 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3503									;TIMES IN ONE DIRECTION.
  3504	033717	245 10 0 12 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3505									;TIMES IN THE OPPOSITE DIRECTION.
  3506	033720	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3507	033721	004 10 0 00 061125 		ERROR AC,RAN
  3508	033722	312 11 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3509	033723	004 11 0 00 060662 		ERROR AC1,[-1]
  3510			000011			AC=<AC+1>&17
  3511			000012			AC1=<AC+1>&17
  3512			000013			AC2=<AC+2>&17
  3513
  3514
  3515	033724	200 11 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3516	033725	210 13 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3517	033726	474 12 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3518	033727	245 11 0 11 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3519									;TIMES IN ONE DIRECTION.
  3520	033730	245 11 0 13 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 46-3
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0099

  3521									;TIMES IN THE OPPOSITE DIRECTION.
  3522	033731	312 11 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3523	033732	004 11 0 00 061125 		ERROR AC,RAN
  3524	033733	312 12 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3525	033734	004 12 0 00 060662 		ERROR AC1,[-1]
  3526			000012			AC=<AC+1>&17
  3527			000013			AC1=<AC+1>&17
  3528			000014			AC2=<AC+2>&17
  3529
  3530
  3531	033735	200 12 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3532	033736	210 14 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3533	033737	474 13 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3534	033740	245 12 0 12 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3535									;TIMES IN ONE DIRECTION.
  3536	033741	245 12 0 14 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3537									;TIMES IN THE OPPOSITE DIRECTION.
  3538	033742	312 12 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3539	033743	004 12 0 00 061125 		ERROR AC,RAN
  3540	033744	312 13 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3541	033745	004 13 0 00 060662 		ERROR AC1,[-1]
  3542			000013			AC=<AC+1>&17
  3543			000014			AC1=<AC+1>&17
  3544			000015			AC2=<AC+2>&17
  3545
  3546
  3547	033746	200 13 0 00 061125 		MOVE AC,RAN		;MOVE A RAN NUM INTO AN AC.
  3548	033747	210 15 0 00 061125 		MOVN AC2,RAN		;MOVE THE 2'S COMP INTO ANOTHER AC.
  3549	033750	474 14 0 00 000000 		SETO AC1,		;SET AC1 TO ALL ONES.
  3550	033751	245 13 0 13 000000 		ROTC AC,(AC)		;ROTC AC A RANDOM NUMBER OF
  3551									;TIMES IN ONE DIRECTION.
  3552	033752	245 13 0 15 000000 		ROTC AC,(AC2)		;ROTC AC THE SAME NUMBER OF
  3553									;TIMES IN THE OPPOSITE DIRECTION.
  3554	033753	312 13 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3555	033754	004 13 0 00 061125 		ERROR AC,RAN
  3556	033755	312 14 0 00 060662 		CAME AC1,[-1]		;C(AC1) SHOULD STILL =-1
  3557	033756	004 14 0 00 060662 		ERROR AC1,[-1]
  3558			000014			AC=<AC+1>&17
  3559			000015			AC1=<AC+1>&17
  3560			000016			AC2=<AC+2>&17
  3561
  3562
  3563			000002			AC=2
  3564						LOOP RTCLR1,RTCLR2^
  3565	033757	367 01 0 00 033616 		SOJG	AC-1,RTCLR1		;ITERATION COUNTER
  3566	033760	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3567	033761	321 01 0 00 033625 		JUMPL	AC-1,RTCLR2		;LOOP ON ERROR SWITCH ^
  3568
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 47
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0100

  3569
  3570					;TEST OVERFLOW ON A ROT LEFT...AROV SHOULD NOT COME UP.
  3571
  3572			000002			AC=2
  3573	033762				ROTOV:	SETUP 20,0^
  3574			000003			AC1=<AC+1>&17
  3575			000004			AC2=<AC+2>&17
  3576			000005			AC3=<AC+3>&17
  3577			000006			AC4=<AC+4>&17
  3578			000007			AC5=<AC+5>&17
  3579			000000			RAN1=<AC-2>&17
  3580	033762	201 01 0 00 033762 		MOVEI	AC-1,.
  3581	033763	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3582	033764	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3583	033765	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3584	033766	201 01 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  3585	033767	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  3586	033770	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3587	033771				ROTOV1:	RANDOM^
  3588	033771	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3589	033772	270 02 0 00 060657 		ADD	AC,[142536475076]
  3590	033773	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3591	033774	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3592	033775	322 02 0 00 033771 	ROTOV2:	JUMPE AC,ROTOV1		;REJECT IF RAN = 0.
  3593	033776	316 02 0 00 060662 		CAMN AC,[-1]		;ALSO REJECT IF RAN = -1.
  3594	033777	254 00 0 00 033771 		JRST ROTOV1
  3595	034000	255 10 0 00 034001 		JFCL 10,.+1		;CLEAR OV FLAG.
  3596	034001	241 02 0 00 000256 		ROT AC,256		;ROT C(AC) 256 TIMES.
  3597	034002	255 10 0 00 034004 		JFCL 10,.+2		;OV FLAG GET SET?
  3598	034003	254 00 0 00 034005 		JRST .+2		;NO.
  3599	034004	005 02 0 00 060664 		ER AC,[ASCII /OV/]	;YES. SHOULD NOT SET ON A ROT.
  3600						LOOP ROTOV1,ROTOV2^
  3601	034005	367 01 0 00 033771 		SOJG	AC-1,ROTOV1		;ITERATION COUNTER
  3602	034006	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3603	034007	321 01 0 00 033775 		JUMPL	AC-1,ROTOV2		;LOOP ON ERROR SWITCH ^
  3604
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 48
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0101

  3605
  3606					;TEST OVERFLOW FLAG ON A ROT RIGHT...SHOULD NEVER GET SET.
  3607
  3608			000003			AC=3
  3609	034010				RTROV:	SETUP 20,0^
  3610			000004			AC1=<AC+1>&17
  3611			000005			AC2=<AC+2>&17
  3612			000006			AC3=<AC+3>&17
  3613			000007			AC4=<AC+4>&17
  3614			000010			AC5=<AC+5>&17
  3615			000001			RAN1=<AC-2>&17
  3616	034010	201 02 0 00 034010 		MOVEI	AC-1,.
  3617	034011	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3618	034012	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3619	034013	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3620	034014	201 02 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  3621	034015	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  3622	034016	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3623	034017				RTROV1:	RANDOM^
  3624	034017	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3625	034020	270 03 0 00 060657 		ADD	AC,[142536475076]
  3626	034021	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3627	034022	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3628	034023	322 03 0 00 034017 	RTROV2:	JUMPE AC,RTROV1		;REJECT IF RAN = 0.
  3629	034024	316 03 0 00 060662 		CAMN AC,[-1]		;ALSO REJECT IF RAN = -1.
  3630	034025	254 00 0 00 034017 		JRST RTROV1
  3631	034026	255 10 0 00 034027 		JFCL 10,.+1		;CLEAR OVERFLOW FLAG.
  3632	034027	241 03 0 00 777522 		ROT AC,-256		;ROT AC RIGHT 256 TIMES.
  3633	034030	255 10 0 00 034032 		JFCL 10,.+2		;OVERFLOW FALG GET SET?
  3634	034031	254 00 0 00 034033 		JRST .+2		;NO.
  3635	034032	005 03 0 00 060664 		ER AC,[ASCII /OV/]
  3636						LOOP RTROV1,RTROV2^
  3637	034033	367 02 0 00 034017 		SOJG	AC-1,RTROV1		;ITERATION COUNTER
  3638	034034	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3639	034035	321 02 0 00 034023 		JUMPL	AC-1,RTROV2		;LOOP ON ERROR SWITCH ^
  3640
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 49
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0102

  3641
  3642					;TEST MOVEM. AFTER <MOVEM AC,AC1> FOLLOWED BY
  3643					;<MOVEM AC1,AC>, C(AC) SHOULD = ORIG C(AC).
  3644					;RAN TO RAN1.
  3645
  3646			000002			AC=2
  3647	034036				MVEM1:	SETUP 30,0^
  3648			000003			AC1=<AC+1>&17
  3649			000004			AC2=<AC+2>&17
  3650			000005			AC3=<AC+3>&17
  3651			000006			AC4=<AC+4>&17
  3652			000007			AC5=<AC+5>&17
  3653			000000			RAN1=<AC-2>&17
  3654	034036	201 01 0 00 034036 		MOVEI	AC-1,.
  3655	034037	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3656	034040	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3657	034041	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3658	034042	201 01 0 00 000030 		MOVEI	AC-1,30		;ROUTINE WEIGHTING
  3659	034043	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  3660	034044	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3661	034045				MVEM2:	RANDOM^
  3662	034045	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3663	034046	270 02 0 00 060657 		ADD	AC,[142536475076]
  3664	034047	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3665	034050	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3666					MVEM3:	REPEAT 3,		;DO 3 SETS OF MOVEM'S.
  3667					<	MOVEM AC,AC1
  3668						MOVEM AC1,AC>
  3669	034051	202 02 0 00 000003 		MOVEM AC,AC1
  3670	034052	202 03 0 00 000002 		MOVEM AC1,AC
  3671	034053	202 02 0 00 000003 		MOVEM AC,AC1
  3672	034054	202 03 0 00 000002 		MOVEM AC1,AC
  3673	034055	202 02 0 00 000003 		MOVEM AC,AC1
  3674	034056	202 03 0 00 000002 		MOVEM AC1,AC
  3675	034057	312 02 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  3676	034060	004 02 0 00 061125 		ERROR	AC,RAN
  3677	034061	312 03 0 00 061125 		CAME AC1,RAN		;C(AC1) SHOULD ALSO = ORIG. C(AC).
  3678	034062	004 03 0 00 061125 		ERROR AC1,RAN
  3679						LOOP MVEM2,MVEM3^
  3680	034063	367 01 0 00 034045 		SOJG	AC-1,MVEM2		;ITERATION COUNTER
  3681	034064	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3682	034065	321 01 0 00 034051 		JUMPL	AC-1,MVEM3		;LOOP ON ERROR SWITCH ^
  3683
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 50
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0103

  3684
  3685					;TEST MOVES. AFTER 6 MOVES IN A ROW, THE C(E)
  3686					;SHOULD = ORIG C(E).
  3687
  3688			000002			AC=2
  3689	034066				MVES1:	SETUP 200,1^
  3690			000003			AC1=<AC+1>&17
  3691			000004			AC2=<AC+2>&17
  3692			000005			AC3=<AC+3>&17
  3693			000006			AC4=<AC+4>&17
  3694			000007			AC5=<AC+5>&17
  3695			000000			RAN1=<AC-2>&17
  3696	034066	201 01 0 00 034066 		MOVEI	AC-1,.
  3697	034067	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3698	034070	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3699	034071	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3700	034072	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3701	034073	240 01 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  3702	034074	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3703	034075				MVES2:	RANDOM^
  3704	034075	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3705	034076	270 02 0 00 060657 		ADD	AC,[142536475076]
  3706	034077	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3707	034100	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3708					MVES3:	REPEAT 3,		;DO 6 MOVE INSTRUCTIONS.
  3709					<	MOVES	AC1,AC
  3710						MOVES	AC1,AC>
  3711	034101	203 03 0 00 000002 		MOVES	AC1,AC
  3712	034102	203 03 0 00 000002 		MOVES	AC1,AC
  3713	034103	203 03 0 00 000002 		MOVES	AC1,AC
  3714	034104	203 03 0 00 000002 		MOVES	AC1,AC
  3715	034105	203 03 0 00 000002 		MOVES	AC1,AC
  3716	034106	203 03 0 00 000002 		MOVES	AC1,AC
  3717	034107	312 03 0 00 000002 		CAME	AC1,AC		;C(AC) SHOULD = C(E).
  3718	034110	004 03 0 00 000002 		ERROR	AC1,AC
  3719	034111	312 02 0 00 061125 		CAME	AC,RAN		;C(E) SHOULD = ORIG C(E).
  3720	034112	004 02 0 00 061125 		ERROR	AC,RAN
  3721						LOOP MVES2,MVES3^
  3722	034113	367 01 0 00 034075 		SOJG	AC-1,MVES2		;ITERATION COUNTER
  3723	034114	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3724	034115	321 01 0 00 034101 		JUMPL	AC-1,MVES3		;LOOP ON ERROR SWITCH ^
  3725
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 51
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0104

  3726
  3727					;TEST MOVS INSTRUCTION...TWO MOVS SHOULD GIVE SAME NUMBER.
  3728
  3729			000004			AC=4
  3730	034116				MOVSA:	SETUP 200,2^
  3731			000005			AC1=<AC+1>&17
  3732			000006			AC2=<AC+2>&17
  3733			000007			AC3=<AC+3>&17
  3734			000010			AC4=<AC+4>&17
  3735			000011			AC5=<AC+5>&17
  3736			000002			RAN1=<AC-2>&17
  3737	034116	201 03 0 00 034116 		MOVEI	AC-1,.
  3738	034117	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3739	034120	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3740	034121	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3741	034122	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3742	034123	240 03 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  3743	034124	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3744	034125				MOVSB:	RANDOM^
  3745	034125	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3746	034126	270 04 0 00 060657 		ADD	AC,[142536475076]
  3747	034127	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3748	034130	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3749					MOVSC:	REPEAT 3,		;DO 6 MOVS INSTRUCTIONS.
  3750					<	MOVS AC,AC
  3751						MOVS AC,AC>
  3752	034131	204 04 0 00 000004 		MOVS AC,AC
  3753	034132	204 04 0 00 000004 		MOVS AC,AC
  3754	034133	204 04 0 00 000004 		MOVS AC,AC
  3755	034134	204 04 0 00 000004 		MOVS AC,AC
  3756	034135	204 04 0 00 000004 		MOVS AC,AC
  3757	034136	204 04 0 00 000004 		MOVS AC,AC
  3758	034137	312 04 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  3759	034140	011 00 0 00 061125 		EERR	,RAN
  3760						LOOP MOVSB,MOVSC^
  3761	034141	367 03 0 00 034125 		SOJG	AC-1,MOVSB		;ITERATION COUNTER
  3762	034142	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3763	034143	321 03 0 00 034131 		JUMPL	AC-1,MOVSC		;LOOP ON ERROR SWITCH ^
  3764
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 52
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0105

  3765
  3766					;TEST MOVS INSTRUCTION...MOVS FOLLOWED BY ROT SHOULD GIVE
  3767					;SAME NUMBER.
  3768
  3769			000005			AC=5
  3770	034144				MOVS1:	SETUP 200,1^
  3771			000006			AC1=<AC+1>&17
  3772			000007			AC2=<AC+2>&17
  3773			000010			AC3=<AC+3>&17
  3774			000011			AC4=<AC+4>&17
  3775			000012			AC5=<AC+5>&17
  3776			000003			RAN1=<AC-2>&17
  3777	034144	201 04 0 00 034144 		MOVEI	AC-1,.
  3778	034145	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3779	034146	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3780	034147	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3781	034150	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3782	034151	240 04 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  3783	034152	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3784	034153				MOVS2:	RANDOM^
  3785	034153	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3786	034154	270 05 0 00 060657 		ADD	AC,[142536475076]
  3787	034155	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3788	034156	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3789	034157	204 05 0 00 000005 	MOVS3:	MOVS AC,AC		;DO MOVS INSTRUCTION.
  3790	034160	241 05 0 00 000022 		ROT AC,22		;ROT LEFT 18 PLACES.
  3791	034161	312 05 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD NOW = RAN.
  3792	034162	011 00 0 00 061125 		EERR	,RAN
  3793						LOOP MOVS2,MOVS3^
  3794	034163	367 04 0 00 034153 		SOJG	AC-1,MOVS2		;ITERATION COUNTER
  3795	034164	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3796	034165	321 04 0 00 034157 		JUMPL	AC-1,MOVS3		;LOOP ON ERROR SWITCH ^
  3797
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 53
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0106

  3798
  3799					;TEST MOVSM....TWO MOVSM SHOULD GIVE THE ORIG. NUM.
  3800
  3801			000006			AC=6
  3802	034166				MOVSMA:	SETUP 300,1^
  3803			000007			AC1=<AC+1>&17
  3804			000010			AC2=<AC+2>&17
  3805			000011			AC3=<AC+3>&17
  3806			000012			AC4=<AC+4>&17
  3807			000013			AC5=<AC+5>&17
  3808			000004			RAN1=<AC-2>&17
  3809	034166	201 05 0 00 034166 		MOVEI	AC-1,.
  3810	034167	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3811	034170	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3812	034171	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3813	034172	201 05 0 00 000300 		MOVEI	AC-1,300		;ROUTINE WEIGHTING
  3814	034173	240 05 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  3815	034174	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3816	034175				MOVSMB:	RANDOM^
  3817	034175	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3818	034176	270 06 0 00 060657 		ADD	AC,[142536475076]
  3819	034177	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3820	034200	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3821					MOVSMC:	REPEAT 3,
  3822					<	MOVSM AC,AC1
  3823						MOVSM AC1,AC>
  3824	034201	206 06 0 00 000007 		MOVSM AC,AC1
  3825	034202	206 07 0 00 000006 		MOVSM AC1,AC
  3826	034203	206 06 0 00 000007 		MOVSM AC,AC1
  3827	034204	206 07 0 00 000006 		MOVSM AC1,AC
  3828	034205	206 06 0 00 000007 		MOVSM AC,AC1
  3829	034206	206 07 0 00 000006 		MOVSM AC1,AC
  3830	034207	312 06 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD NOW BE = TO RAN.
  3831	034210	004 06 0 00 061125 		ERROR AC,RAN
  3832						LOOP MOVSMB,MOVSMC^
  3833	034211	367 05 0 00 034175 		SOJG	AC-1,MOVSMB		;ITERATION COUNTER
  3834	034212	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3835	034213	321 05 0 00 034201 		JUMPL	AC-1,MOVSMC		;LOOP ON ERROR SWITCH ^
  3836
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 54
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0107

  3837
  3838					;TEST MOVSS...TWO MOVSS SHOULD GIVE THE ORIGINAL NUMBER.
  3839
  3840			000007			AC=7
  3841	034214				MOVSSA:	SETUP 200,0^
  3842			000010			AC1=<AC+1>&17
  3843			000011			AC2=<AC+2>&17
  3844			000012			AC3=<AC+3>&17
  3845			000013			AC4=<AC+4>&17
  3846			000014			AC5=<AC+5>&17
  3847			000005			RAN1=<AC-2>&17
  3848	034214	201 06 0 00 034214 		MOVEI	AC-1,.
  3849	034215	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3850	034216	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3851	034217	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3852	034220	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3853	034221	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  3854	034222	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3855	034223				MOVSSB:	RANDOM^
  3856	034223	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3857	034224	270 07 0 00 060657 		ADD	AC,[142536475076]
  3858	034225	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3859	034226	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3860	034227	403 00 0 00 000005 	MOVSSC:	SETZB 0,RAN1		;CLEAR AC0.
  3861						REPEAT 3,
  3862					<	MOVSS	AC
  3863						MOVSS	AC>
  3864	034230	207 00 0 00 000007 		MOVSS	AC
  3865	034231	207 00 0 00 000007 		MOVSS	AC
  3866	034232	207 00 0 00 000007 		MOVSS	AC
  3867	034233	207 00 0 00 000007 		MOVSS	AC
  3868	034234	207 00 0 00 000007 		MOVSS	AC
  3869	034235	207 00 0 00 000007 		MOVSS	AC
  3870	034236	312 07 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD NOW BE = TO RAN.
  3871	034237	011 00 0 00 000005 		EERR	,RAN1
  3872	034240	312 00 0 00 060660 		CAME	[0]		;C(AC0) SHOULD STILL = 0.
  3873	034241	011 00 0 00 000005 		EERR	,RAN1
  3874						LOOP MOVSSB,MOVSSC^
  3875	034242	367 06 0 00 034223 		SOJG	AC-1,MOVSSB		;ITERATION COUNTER
  3876	034243	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3877	034244	321 06 0 00 034227 		JUMPL	AC-1,MOVSSC		;LOOP ON ERROR SWITCH ^
  3878
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 55
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0108

  3879
  3880					;TEST MOVSI.
  3881
  3882			000010			AC=10
  3883	034245				MOVSIA:	SETUP 100,0^
  3884			000011			AC1=<AC+1>&17
  3885			000012			AC2=<AC+2>&17
  3886			000013			AC3=<AC+3>&17
  3887			000014			AC4=<AC+4>&17
  3888			000015			AC5=<AC+5>&17
  3889			000006			RAN1=<AC-2>&17
  3890	034245	201 07 0 00 034245 		MOVEI	AC-1,.
  3891	034246	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3892	034247	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3893	034250	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3894	034251	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  3895	034252	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  3896	034253	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3897	034254				MOVSIB:	RANDOM^
  3898	034254	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3899	034255	270 10 0 00 060657 		ADD	AC,[142536475076]
  3900	034256	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3901	034257	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3902	034260	200 12 0 00 061125 		MOVE AC2,RAN		;PUT RAN INTO AN AC.
  3903	034261	405 10 0 00 777777 	MOVSIC:	ANDI AC,-1		;SIMULATE
  3904	034262	241 10 0 00 000022 		ROT AC,22		;A MOVSI INST.
  3905	034263	205 11 0 12 000000 		MOVSI AC1,(AC2)		;DO MOVSI.
  3906	034264	312 11 0 00 000010 		CAME AC1,AC		;C(AC1) SHOULD = SIM. ANS.
  3907	034265	004 11 0 00 000010 		ERROR AC1,AC
  3908						LOOP MOVSIB,MOVSIC^
  3909	034266	367 07 0 00 034254 		SOJG	AC-1,MOVSIB		;ITERATION COUNTER
  3910	034267	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3911	034270	321 07 0 00 034261 		JUMPL	AC-1,MOVSIC		;LOOP ON ERROR SWITCH ^
  3912
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 56
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0109

  3913
  3914					;TEST LSH. SIMULATE A LSH 18 PLACES WITH A MOVSI.
  3915
  3916			000011			AC=11
  3917	034271				LSHA:	SETUP 200,1^
  3918			000012			AC1=<AC+1>&17
  3919			000013			AC2=<AC+2>&17
  3920			000014			AC3=<AC+3>&17
  3921			000015			AC4=<AC+4>&17
  3922			000016			AC5=<AC+5>&17
  3923			000007			RAN1=<AC-2>&17
  3924	034271	201 10 0 00 034271 		MOVEI	AC-1,.
  3925	034272	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3926	034273	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3927	034274	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3928	034275	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3929	034276	240 10 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  3930	034277	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3931	034300				LSHB:	RANDOM^
  3932	034300	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3933	034301	270 11 0 00 060657 		ADD	AC,[142536475076]
  3934	034302	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3935	034303	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3936	034304	474 12 0 00 000000 	LSHC:	SETO	AC1,		;SET AC+1 TO ALL ONES.
  3937	034305	205 13 0 11 000000 		MOVSI AC2,(AC)		;SIMULATE LSH 18 PLACES.
  3938	034306	242 11 0 00 000022 		LSH AC,22		;DO LSH
  3939	034307	312 11 0 00 000013 		CAME AC,AC2		;C(AC) SHOULD = SIM. ANS.
  3940	034310	004 11 0 00 000013 		ERROR AC,AC2
  3941	034311	312 12 0 00 060662 		CAME AC1,[-1]		;AC1 GET CHANGED?
  3942	034312	004 12 0 00 060662 		ERROR AC1,[-1]		;YES.
  3943						LOOP LSHB,LSHC^
  3944	034313	367 10 0 00 034300 		SOJG	AC-1,LSHB		;ITERATION COUNTER
  3945	034314	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3946	034315	321 10 0 00 034304 		JUMPL	AC-1,LSHC		;LOOP ON ERROR SWITCH ^
  3947
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 57
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0110

  3948
  3949					;TEST LSH RIGHT 18 PLACES.
  3950
  3951			000010			AC=10
  3952	034316				LSH1:	SETUP 200,1^
  3953			000011			AC1=<AC+1>&17
  3954			000012			AC2=<AC+2>&17
  3955			000013			AC3=<AC+3>&17
  3956			000014			AC4=<AC+4>&17
  3957			000015			AC5=<AC+5>&17
  3958			000006			RAN1=<AC-2>&17
  3959	034316	201 07 0 00 034316 		MOVEI	AC-1,.
  3960	034317	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3961	034320	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3962	034321	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3963	034322	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  3964	034323	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  3965	034324	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  3966	034325				LSH2:	RANDOM^
  3967	034325	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  3968	034326	270 10 0 00 060657 		ADD	AC,[142536475076]
  3969	034327	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  3970	034330	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  3971	034331	477 11 0 00 000006 	LSH3:	SETOB AC1,RAN1		;SET C(AC+1) TO ALL ONES.
  3972	034332	242 10 0 00 777756 		LSH AC,-22		;DO LSH RIGHT 18 PLACES.
  3973	034333	204 12 0 00 061125 		MOVS AC2,RAN		;SIMULATE
  3974	034334	405 12 0 00 777777 		ANDI AC2,-1		;LSH.
  3975	034335	312 10 0 00 000012 		CAME AC,AC2		;C(AC) SHOULD = SIM. ANS.
  3976	034336	013 00 0 00 777756 		EERRI	,-22
  3977	034337	312 11 0 00 060662 		CAME AC1,[-1]		;C(AC+1) GET CHANGED?
  3978	034340	003 06 0 00 777756 		ERRI	RAN1,-22
  3979						LOOP LSH2,LSH3^
  3980	034341	367 07 0 00 034325 		SOJG	AC-1,LSH2		;ITERATION COUNTER
  3981	034342	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  3982	034343	321 07 0 00 034331 		JUMPL	AC-1,LSH3		;LOOP ON ERROR SWITCH ^
  3983
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 58
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0111

  3984
  3985					;TEST ASH ABILITY TO SET OR NOT SET OVERFLOW FLAG.
  3986
  3987			000010			AC=10
  3988	034344				ASHOV:	SETUP 30,0^
  3989			000011			AC1=<AC+1>&17
  3990			000012			AC2=<AC+2>&17
  3991			000013			AC3=<AC+3>&17
  3992			000014			AC4=<AC+4>&17
  3993			000015			AC5=<AC+5>&17
  3994			000006			RAN1=<AC-2>&17
  3995	034344	201 07 0 00 034344 		MOVEI	AC-1,.
  3996	034345	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  3997	034346	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  3998	034347	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  3999	034350	201 07 0 00 000030 		MOVEI	AC-1,30		;ROUTINE WEIGHTING
  4000	034351	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4001	034352	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4002	034353	474 10 0 00 000000 	ASHOV1:	SETO	AC,		;SET AC TO ALL ONES..1,1 CONDITION.
  4003	034354	255 10 0 00 034355 		JFCL	10,.+1		;CLEAR OV FLAG.
  4004	034355	240 10 0 00 000001 		ASH AC,1		;DO ASH.
  4005	034356	255 10 0 00 034360 		JFCL 10,.+2		;OVERFLOW FLAG GET SET?
  4006	034357	254 00 0 00 034361 		JRST .+2		;NO.
  4007	034360	005 10 0 00 060664 		ER AC,[ASCII /OV/]	;YES. 1,1 CONDITION SHOULD NOT SET IT.
  4008	034361	255 10 0 00 034362 		JFCL 10,.+1		;CLEAR OV FLAG.
  4009	034362	400 10 0 00 000000 		SETZ AC,		;CLEAR AC...0,0 CONDITION.
  4010	034363	240 10 0 00 000001 		ASH AC,1		;DO ASH.
  4011	034364	255 10 0 00 034366 		JFCL 10,.+2		;OVERFLOW FLAG GET SET?
  4012	034365	254 00 0 00 034367 		JRST .+2		;NO.
  4013	034366	005 10 0 00 060664 		ER AC,[ASCII /OV/]	;YES. 0,0 COND. SHOULDN'T SET IT.
  4014	034367	255 10 0 00 034370 		JFCL 10,.+1		;CLEAR OV FLAG.
  4015	034370	205 10 0 00 377777 		MOVSI AC,377777		;SET AC FOR 0,1 CONDITION.
  4016	034371	240 10 0 00 000001 		ASH AC,1		;DO ASH.
  4017	034372	255 10 0 00 034374 		JFCL 10,.+2		;OVERFLOW FLAG GET SET?
  4018	034373	005 10 0 00 060664 		ER AC,[ASCII /OV/]	;NO. 0,1 COND. SHOULD SET IT.
  4019	034374	255 10 0 00 034375 		JFCL 10,.+1		;CLEAR OV FLAG.
  4020	034375	205 10 0 00 400000 		MOVSI AC,400000		;SET AC FOR 1,0 CONDITION.
  4021	034376	240 10 0 00 000001 		ASH AC,1		;DO ASH.
  4022	034377	255 10 0 00 034401 		JFCL 10,.+2		;OV FLAG GET SET?
  4023	034400	005 10 0 00 060664 		ER AC,[ASCII /OV/]	;NO. 1,0 COND. SHOULD SET IT.
  4024						LOOP ASHOV1,ASHOV1^
  4025	034401	367 07 0 00 034353 		SOJG	AC-1,ASHOV1		;ITERATION COUNTER
  4026	034402	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4027	034403	321 07 0 00 034353 		JUMPL	AC-1,ASHOV1		;LOOP ON ERROR SWITCH ^
  4028
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 59
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0112

  4029
  4030					;TEST ASH. DO ASH RIGHT 36 PLACES WITH ORIG.
  4031					;C(AC) = 400000000000. AFTER ASH THE C(AC) SHOULD = A -1.
  4032
  4033			000010			AC=10
  4034	034404				ASH1:	SETUP 20,0^
  4035			000011			AC1=<AC+1>&17
  4036			000012			AC2=<AC+2>&17
  4037			000013			AC3=<AC+3>&17
  4038			000014			AC4=<AC+4>&17
  4039			000015			AC5=<AC+5>&17
  4040			000006			RAN1=<AC-2>&17
  4041	034404	201 07 0 00 034404 		MOVEI	AC-1,.
  4042	034405	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4043	034406	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4044	034407	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4045	034410	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4046	034411	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4047	034412	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4048	034413	200 10 0 00 060665 	ASH2:	MOVE AC,[XWD 400000,0]	;MAKE C(AC) = ALL 0'S WITH SIGN BIT SET.
  4049	034414	240 10 0 00 777734 		ASH AC,-44		;DO ASH RIGHT 36 PLACES...SIGN
  4050	034415	312 10 0 00 060662 		CAME AC,[-1]		;BIT SHOULD HAVE SET ALL BITS TO A ONE.
  4051	034416	004 10 0 00 060662 		ERROR AC,[-1]
  4052						LOOP ASH2,ASH2^
  4053	034417	367 07 0 00 034413 		SOJG	AC-1,ASH2		;ITERATION COUNTER
  4054	034420	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4055	034421	321 07 0 00 034413 		JUMPL	AC-1,ASH2		;LOOP ON ERROR SWITCH ^
  4056
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 60
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0113

  4057
  4058					;TEST ASH. DO ASH LEFT 36 PLACES WITH ORIG. C(AC) =
  4059					;TO A -1. AFTER ASH THE C(AC) SHOULD = THE SIGN
  4060					;BIT SET AND THE REST ZEROS.
  4061
  4062			000011			AC=11
  4063	034422				ASH3:	SETUP 20,0^
  4064			000012			AC1=<AC+1>&17
  4065			000013			AC2=<AC+2>&17
  4066			000014			AC3=<AC+3>&17
  4067			000015			AC4=<AC+4>&17
  4068			000016			AC5=<AC+5>&17
  4069			000007			RAN1=<AC-2>&17
  4070	034422	201 10 0 00 034422 		MOVEI	AC-1,.
  4071	034423	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4072	034424	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4073	034425	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4074	034426	201 10 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4075	034427	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4076	034430	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4077	034431	200 11 0 00 060662 	ASH4:	MOVE AC,[-1]		;MAKE C(AC) = A -1.
  4078	034432	240 11 0 00 000044 		ASH AC,44		;DO ASH LEFT 36 PLACES..0'S GOING
  4079	034433	312 11 0 00 060665 		CAME AC,[XWD 400000,0]	;INTO BIT 35 SHOULD JUST LEAVE SIGN BIT SET.
  4080	034434	004 11 0 00 060660 		ERROR AC,[0]
  4081						LOOP ASH4,ASH4^
  4082	034435	367 10 0 00 034431 		SOJG	AC-1,ASH4		;ITERATION COUNTER
  4083	034436	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4084	034437	321 10 0 00 034431 		JUMPL	AC-1,ASH4		;LOOP ON ERROR SWITCH ^
  4085
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 61
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0114

  4086
  4087					;TEST ADD. RAN TO 0 CONDITION.
  4088
  4089			000010			AC=10
  4090	034440				ADD1:	SETUP 100,0^
  4091			000011			AC1=<AC+1>&17
  4092			000012			AC2=<AC+2>&17
  4093			000013			AC3=<AC+3>&17
  4094			000014			AC4=<AC+4>&17
  4095			000015			AC5=<AC+5>&17
  4096			000006			RAN1=<AC-2>&17
  4097	034440	201 07 0 00 034440 		MOVEI	AC-1,.
  4098	034441	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4099	034442	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4100	034443	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4101	034444	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4102	034445	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4103	034446	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4104	034447				ADD2:	RANDOM^
  4105	034447	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4106	034450	270 10 0 00 060657 		ADD	AC,[142536475076]
  4107	034451	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4108	034452	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4109	034453	400 10 0 00 000000 	ADD3:	SETZ AC,		;CLEAR AC.
  4110	034454	270 10 0 00 061125 		ADD AC,RAN		;ADD RAN TO 0.
  4111	034455	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = RAN NUM.
  4112	034456	004 10 0 00 061125 		ERROR AC,RAN
  4113						LOOP ADD2,ADD3^
  4114	034457	367 07 0 00 034447 		SOJG	AC-1,ADD2		;ITERATION COUNTER
  4115	034460	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4116	034461	321 07 0 00 034453 		JUMPL	AC-1,ADD3		;LOOP ON ERROR SWITCH ^
  4117
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 62
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0115

  4118
  4119					; TEST ADD. 0 TO RAN CONDITION.
  4120
  4121			000010			AC=10
  4122	034462				ADD1A:	SETUP 100,0^
  4123			000011			AC1=<AC+1>&17
  4124			000012			AC2=<AC+2>&17
  4125			000013			AC3=<AC+3>&17
  4126			000014			AC4=<AC+4>&17
  4127			000015			AC5=<AC+5>&17
  4128			000006			RAN1=<AC-2>&17
  4129	034462	201 07 0 00 034462 		MOVEI	AC-1,.
  4130	034463	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4131	034464	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4132	034465	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4133	034466	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4134	034467	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4135	034470	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4136	034471				ADD2A:	RANDOM^
  4137	034471	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4138	034472	270 10 0 00 060657 		ADD	AC,[142536475076]
  4139	034473	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4140	034474	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4141					ADD3A:	REPEAT 5,		;ADD A CONSTANT 0 TO RAN 5 TIMES.
  4142					<	ADD AC,[0]>
  4143	034475	270 10 0 00 060660 		ADD AC,[0]
  4144	034476	270 10 0 00 060660 		ADD AC,[0]
  4145	034477	270 10 0 00 060660 		ADD AC,[0]
  4146	034500	270 10 0 00 060660 		ADD AC,[0]
  4147	034501	270 10 0 00 060660 		ADD AC,[0]
  4148	034502	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN NUM.
  4149	034503	004 10 0 00 061125 		ERROR AC,RAN
  4150						LOOP ADD2A,ADD3A^
  4151	034504	367 07 0 00 034471 		SOJG	AC-1,ADD2A		;ITERATION COUNTER
  4152	034505	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4153	034506	321 07 0 00 034475 		JUMPL	AC-1,ADD3A		;LOOP ON ERROR SWITCH ^
  4154
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 63
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0116

  4155
  4156					;TEST ADD. ADD 1'S COMP OF RAN TO RAN.
  4157					;SHOULD GET A -1.
  4158
  4159			000010			AC=10
  4160	034507				ADD1B:	SETUP 100,0^
  4161			000011			AC1=<AC+1>&17
  4162			000012			AC2=<AC+2>&17
  4163			000013			AC3=<AC+3>&17
  4164			000014			AC4=<AC+4>&17
  4165			000015			AC5=<AC+5>&17
  4166			000006			RAN1=<AC-2>&17
  4167	034507	201 07 0 00 034507 		MOVEI	AC-1,.
  4168	034510	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4169	034511	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4170	034512	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4171	034513	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4172	034514	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4173	034515	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4174	034516				ADD2B:	RANDOM^
  4175	034516	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4176	034517	270 10 0 00 060657 		ADD	AC,[142536475076]
  4177	034520	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4178	034521	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4179	034522	460 11 0 00 061125 	ADD3B:	SETCM AC1,RAN		;1'S COMP OF RAN TO AC1.
  4180	034523	270 10 0 00 000011 		ADD AC,AC1		;ADD IT TO RAN.
  4181	034524	312 10 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = -1.
  4182	034525	004 10 0 00 060662 		ERROR AC,[-1]
  4183						LOOP ADD2B,ADD3B^
  4184	034526	367 07 0 00 034516 		SOJG	AC-1,ADD2B		;ITERATION COUNTER
  4185	034527	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4186	034530	321 07 0 00 034522 		JUMPL	AC-1,ADD3B		;LOOP ON ERROR SWITCH ^
  4187
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 64
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0117

  4188
  4189					;TEST ADD. CHECK CRY0,CRY1,AND OV FLAGS.
  4190					;ADD, TO A RANDOM NUMBER, A -1 AND THEN A +1.
  4191					;CRY0 AND CRY1 SHOULD BOTH GET SET AND AROV SHOULD NOT GET SET.
  4192
  4193			000010			AC=10
  4194	034531				ADD1C:	SETUP 400,2^
  4195			000011			AC1=<AC+1>&17
  4196			000012			AC2=<AC+2>&17
  4197			000013			AC3=<AC+3>&17
  4198			000014			AC4=<AC+4>&17
  4199			000015			AC5=<AC+5>&17
  4200			000006			RAN1=<AC-2>&17
  4201	034531	201 07 0 00 034531 		MOVEI	AC-1,.
  4202	034532	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4203	034533	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4204	034534	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4205	034535	201 07 0 00 000400 		MOVEI	AC-1,400		;ROUTINE WEIGHTING
  4206	034536	240 07 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
  4207	034537	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4208	034540				ADD2C:	RANDOM^
  4209	034540	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4210	034541	270 10 0 00 060657 		ADD	AC,[142536475076]
  4211	034542	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4212	034543	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4213	034544	255 17 0 00 034545 	ADD3C:	JFCL 17,.+1		;CLEAR ALL FLAGS.
  4214	034545	270 10 0 00 060662 		ADD AC,[-1]		;ADD A -1 TO RAN.
  4215	034546	270 10 0 00 060666 		ADD AC,[1]		;ADD A +1 TO ANS OF ADDITION OF RAN AND A -1.
  4216	034547	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4217	034550	004 10 0 00 061125 		ERROR AC,RAN
  4218	034551	255 04 0 00 034555 		JFCL 4,CRY0A
  4219	034552	255 02 0 00 034554 		JFCL 2,.+2
  4220	034553	254 00 0 00 034560 		JRST	BOTHF
  4221	034554	005 10 0 00 060667 		ER	AC,[ASCII /CRY0/];CRY0 FAILED TO GET SET.
  4222	034555	255 02 0 00 034557 	CRY0A:	JFCL	2,.+2
  4223	034556	005 10 0 00 060670 		ER	AC,[ASCII /CRY1/];CRY1 FAILED TO GET SET.
  4224	034557	254 00 0 00 034561 		JRST	AROVA
  4225	034560	005 10 0 00 060671 	BOTHF:	ER	AC,[ASCII /CRY01/];BOTH CRY0 + CRY1 FAILED TO GET SET.
  4226	034561	255 10 0 00 034563 	AROVA:	JFCL	10,.+2
  4227	034562	254 00 0 00 034564 		JRST	ADD4C
  4228	034563	005 10 0 00 060664 		ER	AC,[ASCII /OV/]	;AROV GOT SET.
  4229	034564				ADD4C:	LOOP ADD2C,ADD3C^
  4230	034564	367 07 0 00 034540 		SOJG	AC-1,ADD2C		;ITERATION COUNTER
  4231	034565	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4232	034566	321 07 0 00 034544 		JUMPL	AC-1,ADD3C		;LOOP ON ERROR SWITCH ^
  4233
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 65
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0118

  4234
  4235					;TEST ADDM. WHERE E IS AN AC.
  4236					;RAN TO 0 CONDITION.
  4237
  4238			000004			AC=4
  4239	034567				ADDM1:	SETUP 100,0^
  4240			000005			AC1=<AC+1>&17
  4241			000006			AC2=<AC+2>&17
  4242			000007			AC3=<AC+3>&17
  4243			000010			AC4=<AC+4>&17
  4244			000011			AC5=<AC+5>&17
  4245			000002			RAN1=<AC-2>&17
  4246	034567	201 03 0 00 034567 		MOVEI	AC-1,.
  4247	034570	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4248	034571	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4249	034572	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4250	034573	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4251	034574	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4252	034575	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4253	034576				ADDM2:	RANDOM^
  4254	034576	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4255	034577	270 04 0 00 060657 		ADD	AC,[142536475076]
  4256	034600	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4257	034601	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4258	034602	200 06 0 00 061125 		MOVE AC2,RAN		;SAVE RAN IN AN AC.
  4259	034603	403 05 0 00 000002 	ADDM3:	SETZB AC1,RAN1		;MAKE C(E) = 0.
  4260	034604	272 04 0 00 000005 		ADDM AC,AC1		;DO ADDM.
  4261	034605	312 06 0 00 000005 		CAME AC2,AC1		;C(E) SHOULD =ORIG C(AC).
  4262	034606	002 02 0 00 061125 		ERRM RAN1,RAN
  4263						LOOP ADDM2,ADDM3^
  4264	034607	367 03 0 00 034576 		SOJG	AC-1,ADDM2		;ITERATION COUNTER
  4265	034610	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4266	034611	321 03 0 00 034603 		JUMPL	AC-1,ADDM3		;LOOP ON ERROR SWITCH ^
  4267
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 66
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0119

  4268
  4269					;TEST ADDM. WHERE E IS AN AC.
  4270					;0 TO RAN CONDITION.
  4271
  4272			000005			AC=5
  4273	034612				ADDM1A:	SETUP 100,0^
  4274			000006			AC1=<AC+1>&17
  4275			000007			AC2=<AC+2>&17
  4276			000010			AC3=<AC+3>&17
  4277			000011			AC4=<AC+4>&17
  4278			000012			AC5=<AC+5>&17
  4279			000003			RAN1=<AC-2>&17
  4280	034612	201 04 0 00 034612 		MOVEI	AC-1,.
  4281	034613	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4282	034614	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4283	034615	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4284	034616	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4285	034617	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4286	034620	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4287	034621				ADDM2A:	RANDOM^
  4288	034621	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4289	034622	270 05 0 00 060657 		ADD	AC,[142536475076]
  4290	034623	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4291	034624	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4292	034625	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
  4293	034626	403 06 0 00 000003 	ADDM3A:	SETZB AC1,RAN1		;MAKE C(AC) = 0.
  4294	034627	272 06 0 00 000005 		ADDM AC1,AC		;DO ADDM.
  4295	034630	312 07 0 00 000005 		CAME AC2,AC		;C(E) SHOULD = ORIG C(E).
  4296	034631	012 00 0 00 000003 		EERRM	,RAN1
  4297						LOOP ADDM2A,ADDM3A^
  4298	034632	367 04 0 00 034621 		SOJG	AC-1,ADDM2A		;ITERATION COUNTER
  4299	034633	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4300	034634	321 04 0 00 034626 		JUMPL	AC-1,ADDM3A		;LOOP ON ERROR SWITCH ^
  4301
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 67
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0120

  4302
  4303					;TEST ADDM. WHERE E IS AN AC.
  4304					;1'S COMP RAN TO RAN.
  4305
  4306			000006			AC=6
  4307	034635				ADDM1B:	SETUP 100,0^
  4308			000007			AC1=<AC+1>&17
  4309			000010			AC2=<AC+2>&17
  4310			000011			AC3=<AC+3>&17
  4311			000012			AC4=<AC+4>&17
  4312			000013			AC5=<AC+5>&17
  4313			000004			RAN1=<AC-2>&17
  4314	034635	201 05 0 00 034635 		MOVEI	AC-1,.
  4315	034636	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4316	034637	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4317	034640	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4318	034641	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4319	034642	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4320	034643	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4321	034644				ADDM2B:	RANDOM^
  4322	034644	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4323	034645	270 06 0 00 060657 		ADD	AC,[142536475076]
  4324	034646	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4325	034647	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4326	034650	460 07 0 00 000006 	ADDM3B:	SETCM AC1,AC		;MAKE C(AC) = 1'S COMP OF C(E).
  4327	034651	200 04 0 00 000007 		MOVE RAN1,AC1		;SAVE C(AC) IN CASE OF ERROR.
  4328	034652	272 07 0 00 000006 		ADDM AC1,AC		;DO ADDM.
  4329	034653	312 06 0 00 060662 		CAME AC,[-1]		;C(E) SHOULD = A -1.
  4330	034654	012 00 0 00 000004 		EERRM	,RAN1
  4331						LOOP ADDM2B,ADDM3B^
  4332	034655	367 05 0 00 034644 		SOJG	AC-1,ADDM2B		;ITERATION COUNTER
  4333	034656	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4334	034657	321 05 0 00 034650 		JUMPL	AC-1,ADDM3B		;LOOP ON ERROR SWITCH ^
  4335
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 68
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0121

  4336
  4337					;TEST ADDI. CHECK C(AC) FOR CORRECT DATA.
  4338					;0 TO RAN CONDITION.
  4339
  4340			000002			AC=2
  4341	034660				ADDI1:	SETUP 20,0^
  4342			000003			AC1=<AC+1>&17
  4343			000004			AC2=<AC+2>&17
  4344			000005			AC3=<AC+3>&17
  4345			000006			AC4=<AC+4>&17
  4346			000007			AC5=<AC+5>&17
  4347			000000			RAN1=<AC-2>&17
  4348	034660	201 01 0 00 034660 		MOVEI	AC-1,.
  4349	034661	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4350	034662	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4351	034663	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4352	034664	201 01 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4353	034665	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4354	034666	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4355	034667				ADDI2:	RANDOM^
  4356	034667	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4357	034670	270 02 0 00 060657 		ADD	AC,[142536475076]
  4358	034671	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4359	034672	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4360	034673	271 02 0 00 000000 	ADDI3:	ADDI AC,0		;DO ADDI.
  4361	034674	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4362	034675	013 00 0 00 000000 		EERRI	,0
  4363						LOOP ADDI2,ADDI3^
  4364	034676	367 01 0 00 034667 		SOJG	AC-1,ADDI2		;ITERATION COUNTER
  4365	034677	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4366	034700	321 01 0 00 034673 		JUMPL	AC-1,ADDI3		;LOOP ON ERROR SWITCH ^
  4367
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 69
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0122

  4368
  4369					;TEST ADDI. CHECK FOR CORRECT DATA IN AC.
  4370					;RAN TO 0 CONDITION.
  4371
  4372			000002			AC=2
  4373	034701				ADDI1A:	SETUP 100,0^
  4374			000003			AC1=<AC+1>&17
  4375			000004			AC2=<AC+2>&17
  4376			000005			AC3=<AC+3>&17
  4377			000006			AC4=<AC+4>&17
  4378			000007			AC5=<AC+5>&17
  4379			000000			RAN1=<AC-2>&17
  4380	034701	201 01 0 00 034701 		MOVEI	AC-1,.
  4381	034702	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4382	034703	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4383	034704	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4384	034705	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4385	034706	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4386	034707	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4387	034710				ADDI2A:	RANDOM^
  4388	034710	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4389	034711	270 02 0 00 060657 		ADD	AC,[142536475076]
  4390	034712	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4391	034713	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4392	034714	403 03 0 00 000000 	ADDI3A:	SETZB AC1,RAN1		;CLEAR C(AC).
  4393	034715	201 04 0 02 000000 		MOVEI AC2,(AC)		;SIMULATE ADDI.
  4394	034716	271 03 0 02 000000 		ADDI AC1,(AC)		;DO ADDI.
  4395	034717	312 03 0 00 000004 		CAME AC1,AC2		;C(AC) SHOULD = SIM. ANS.
  4396	034720	003 00 0 02 000000 		ERRI	RAN1,(AC)
  4397						LOOP ADDI2A,ADDI3A^
  4398	034721	367 01 0 00 034710 		SOJG	AC-1,ADDI2A		;ITERATION COUNTER
  4399	034722	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4400	034723	321 01 0 00 034714 		JUMPL	AC-1,ADDI3A		;LOOP ON ERROR SWITCH ^
  4401
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 70
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0123

  4402
  4403					;TEST ADDI. CHECK FOR CORRECT DATA IN AC.
  4404					;1'S COMP RAN TO RAN.
  4405
  4406			000003			AC=3
  4407	034724				ADDI1B:	SETUP 40,0^
  4408			000004			AC1=<AC+1>&17
  4409			000005			AC2=<AC+2>&17
  4410			000006			AC3=<AC+3>&17
  4411			000007			AC4=<AC+4>&17
  4412			000010			AC5=<AC+5>&17
  4413			000001			RAN1=<AC-2>&17
  4414	034724	201 02 0 00 034724 		MOVEI	AC-1,.
  4415	034725	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4416	034726	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4417	034727	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4418	034730	201 02 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  4419	034731	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4420	034732	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4421	034733				ADDI2B:	RANDOM^
  4422	034733	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4423	034734	270 03 0 00 060657 		ADD	AC,[142536475076]
  4424	034735	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4425	034736	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4426	034737	460 04 0 00 000003 	ADDI3B:	SETCM AC1,AC		;MAKE C(AC) = 1'S COMP OF E.
  4427	034740	200 05 0 00 000004 		MOVE AC2,AC1		;SIMULATE
  4428	034741	435 05 0 00 777777 		IORI AC2,-1		;ADDI INST.
  4429	034742	200 01 0 00 000004 		MOVE RAN1,AC1		;SAVE C(AC) IN CASE OF ERROR.
  4430	034743	271 04 0 03 000000 		ADDI AC1,(AC)		;DO ADDI.
  4431	034744	312 04 0 00 000005 		CAME AC1,AC2		;C(AC) SHOULD = SIM. ANS.
  4432	034745	003 01 0 03 000000 		ERRI RAN1,(AC)
  4433						LOOP ADDI2B,ADDI3B^
  4434	034746	367 02 0 00 034733 		SOJG	AC-1,ADDI2B		;ITERATION COUNTER
  4435	034747	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4436	034750	321 02 0 00 034737 		JUMPL	AC-1,ADDI3B		;LOOP ON ERROR SWITCH ^
  4437
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 71
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0124

  4438
  4439					;TEST ADDB. CHECK FOR C(AC) = C(E), AND CORRECT
  4440					;DATA IN AC FOR 0 TO RAN CONDITION.
  4441
  4442			000004			AC=4
  4443	034751				ADDB1:	SETUP 100,0^
  4444			000005			AC1=<AC+1>&17
  4445			000006			AC2=<AC+2>&17
  4446			000007			AC3=<AC+3>&17
  4447			000010			AC4=<AC+4>&17
  4448			000011			AC5=<AC+5>&17
  4449			000002			RAN1=<AC-2>&17
  4450	034751	201 03 0 00 034751 		MOVEI	AC-1,.
  4451	034752	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4452	034753	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4453	034754	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4454	034755	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4455	034756	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4456	034757	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4457	034760				ADDB2:	RANDOM^
  4458	034760	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4459	034761	270 04 0 00 060657 		ADD	AC,[142536475076]
  4460	034762	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4461	034763	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4462	034764	403 05 0 00 000002 	ADDB3:	SETZB AC1,RAN1		;CLEAR C(E).
  4463	034765	273 04 0 00 000005 		ADDB AC,AC1		;DO ADDB.
  4464	034766	312 04 0 00 000005 		CAME AC,AC1		;C(AC) SHOULLD = C(E).
  4465	034767	001 02 0 00 061125 		ERR RAN1,RAN
  4466	034770	312 04 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4467	034771	001 02 0 00 061125 		ERR RAN1,RAN
  4468						LOOP ADDB2,ADDB3^
  4469	034772	367 03 0 00 034760 		SOJG	AC-1,ADDB2		;ITERATION COUNTER
  4470	034773	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4471	034774	321 03 0 00 034764 		JUMPL	AC-1,ADDB3		;LOOP ON ERROR SWITCH ^
  4472
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 72
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0125

  4473
  4474					;TEST ADDB. CHECK FOR C(AC) = C(E), AND CORRECT
  4475					;DATA IN AC FOR RAN TO 0 CONDITION.
  4476
  4477			000005			AC=5
  4478	034775				ADDB1A:	SETUP 100,0^
  4479			000006			AC1=<AC+1>&17
  4480			000007			AC2=<AC+2>&17
  4481			000010			AC3=<AC+3>&17
  4482			000011			AC4=<AC+4>&17
  4483			000012			AC5=<AC+5>&17
  4484			000003			RAN1=<AC-2>&17
  4485	034775	201 04 0 00 034775 		MOVEI	AC-1,.
  4486	034776	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4487	034777	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4488	035000	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4489	035001	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4490	035002	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4491	035003	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4492	035004				ADDB2A:	RANDOM^
  4493	035004	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4494	035005	270 05 0 00 060657 		ADD	AC,[142536475076]
  4495	035006	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4496	035007	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4497	035010	403 06 0 00 000003 	ADDB3A:	SETZB AC1,RAN1		;CLEAR C(AC).
  4498	035011	273 06 0 00 000005 		ADDB AC1,AC		;DO ADDB.
  4499	035012	312 06 0 00 000005 		CAME AC1,AC		;C(AC) SHOULD = C(E).
  4500	035013	011 00 0 00 000003 		EERR	,RAN1
  4501	035014	312 06 0 00 061125 		CAME AC1,RAN		;C(AC) SHOULD = ORIG C(E).
  4502	035015	011 00 0 00 000003 		EERR	,RAN1
  4503						LOOP ADDB2A,ADDB3A^
  4504	035016	367 04 0 00 035004 		SOJG	AC-1,ADDB2A		;ITERATION COUNTER
  4505	035017	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4506	035020	321 04 0 00 035010 		JUMPL	AC-1,ADDB3A		;LOOP ON ERROR SWITCH ^
  4507
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 73
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0126

  4508
  4509					;TEST ADDB. CHECK FOR C(AC) = C(E), AND CORRECT DATA
  4510					;IN AC FOR NOT RAN TO RAN CONDITION.
  4511
  4512			000006			AC=6
  4513	035021				ADDB1B:	SETUP 100,0^
  4514			000007			AC1=<AC+1>&17
  4515			000010			AC2=<AC+2>&17
  4516			000011			AC3=<AC+3>&17
  4517			000012			AC4=<AC+4>&17
  4518			000013			AC5=<AC+5>&17
  4519			000004			RAN1=<AC-2>&17
  4520	035021	201 05 0 00 035021 		MOVEI	AC-1,.
  4521	035022	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4522	035023	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4523	035024	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4524	035025	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4525	035026	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4526	035027	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4527	035030				ADDB2B:	RANDOM^
  4528	035030	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4529	035031	270 06 0 00 060657 		ADD	AC,[142536475076]
  4530	035032	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4531	035033	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4532	035034	460 07 0 00 000006 	ADDB3B:	SETCM AC1,AC		;MAKE C(E) = 1'S COMP OF C(AC).
  4533	035035	200 04 0 00 000007 		MOVE RAN1,AC1		;SAVE C(E) IN CASE OF ERROR.
  4534	035036	273 06 0 00 000007 		ADDB AC,AC1		;DO ADDB.
  4535	035037	312 06 0 00 000007 		CAME AC,AC1		;C(AC) SHOULD = C(E).
  4536	035040	001 04 0 00 061125 		ERR	RAN1,RAN
  4537	035041	312 06 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  4538	035042	001 04 0 00 061125 		ERR RAN1,RAN
  4539						LOOP ADDB2B,ADDB3B^
  4540	035043	367 05 0 00 035030 		SOJG	AC-1,ADDB2B		;ITERATION COUNTER
  4541	035044	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4542	035045	321 05 0 00 035034 		JUMPL	AC-1,ADDB3B		;LOOP ON ERROR SWITCH ^
  4543
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 74
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0127

  4544
  4545					;TEST SUB. CHECK C(AC) FOR CORRECT DATA.
  4546					;0 TO RAN CONDITION.
  4547
  4548			000002			AC=2
  4549	035046				SUB1:	SETUP 100,0^
  4550			000003			AC1=<AC+1>&17
  4551			000004			AC2=<AC+2>&17
  4552			000005			AC3=<AC+3>&17
  4553			000006			AC4=<AC+4>&17
  4554			000007			AC5=<AC+5>&17
  4555			000000			RAN1=<AC-2>&17
  4556	035046	201 01 0 00 035046 		MOVEI	AC-1,.
  4557	035047	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4558	035050	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4559	035051	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4560	035052	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4561	035053	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4562	035054	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4563	035055				SUB2:	RANDOM^
  4564	035055	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4565	035056	270 02 0 00 060657 		ADD	AC,[142536475076]
  4566	035057	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4567	035060	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4568	035061	403 03 0 00 000000 	SUB3:	SETZB AC1,RAN1		;CLEAR C(E).
  4569						REPEAT 3,
  4570					<	SUB AC,AC1>
  4571	035062	274 02 0 00 000003 		SUB AC,AC1
  4572	035063	274 02 0 00 000003 		SUB AC,AC1
  4573	035064	274 02 0 00 000003 		SUB AC,AC1
  4574	035065	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = ORIG C(AC).
  4575	035066	001 00 0 00 061125 		ERR RAN1,RAN
  4576						LOOP SUB2,SUB3^
  4577	035067	367 01 0 00 035055 		SOJG	AC-1,SUB2		;ITERATION COUNTER
  4578	035070	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4579	035071	321 01 0 00 035061 		JUMPL	AC-1,SUB3		;LOOP ON ERROR SWITCH ^
  4580
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 75
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0128

  4581
  4582					;TEST SUB. CHECK C(AC) FOR CORRECT DATA.
  4583					;RAN TO 0 CONDITION.
  4584
  4585			000002			AC=2
  4586	035072				SUB1A:	SETUP 100,0^
  4587			000003			AC1=<AC+1>&17
  4588			000004			AC2=<AC+2>&17
  4589			000005			AC3=<AC+3>&17
  4590			000006			AC4=<AC+4>&17
  4591			000007			AC5=<AC+5>&17
  4592			000000			RAN1=<AC-2>&17
  4593	035072	201 01 0 00 035072 		MOVEI	AC-1,.
  4594	035073	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4595	035074	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4596	035075	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4597	035076	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4598	035077	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4599	035100	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4600	035101				SUB1B:	RANDOM^
  4601	035101	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4602	035102	270 02 0 00 060657 		ADD	AC,[142536475076]
  4603	035103	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4604	035104	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4605	035105	403 03 0 00 000000 	SUB1C:	SETZB AC1,RAN1		;CLEAR C(AC).
  4606	035106	210 04 0 00 061125 		MOVN AC2,RAN		;ANY NUM FROM 0 = 2'S COMP OF THAT NUM.
  4607	035107	274 03 0 00 000002 		SUB AC1,AC		;SUBTRACT RAN FROM 0.
  4608	035110	312 03 0 00 000004 		CAME AC1,AC2		;C(AC) SHOULD = SIM. ANS.
  4609	035111	011 00 0 00 000000 		EERR	,RAN1
  4610						LOOP SUB1B,SUB1C^
  4611	035112	367 01 0 00 035101 		SOJG	AC-1,SUB1B		;ITERATION COUNTER
  4612	035113	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4613	035114	321 01 0 00 035105 		JUMPL	AC-1,SUB1C		;LOOP ON ERROR SWITCH ^
  4614
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 76
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0129

  4615
  4616					;TEST SUB. CHECK C(AC) FOR CORRECT DATA.
  4617					;SUB RAN FROM RAN.
  4618
  4619			000002			AC=2
  4620	035115				SUB2A:	SETUP 100,0^
  4621			000003			AC1=<AC+1>&17
  4622			000004			AC2=<AC+2>&17
  4623			000005			AC3=<AC+3>&17
  4624			000006			AC4=<AC+4>&17
  4625			000007			AC5=<AC+5>&17
  4626			000000			RAN1=<AC-2>&17
  4627	035115	201 01 0 00 035115 		MOVEI	AC-1,.
  4628	035116	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4629	035117	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4630	035120	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4631	035121	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4632	035122	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4633	035123	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4634	035124				SUB2B:	RANDOM^
  4635	035124	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4636	035125	270 02 0 00 060657 		ADD	AC,[142536475076]
  4637	035126	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4638	035127	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4639	035130	200 03 0 00 000002 	SUB2C:	MOVE AC1,AC		;MAKE C(E) = C(AC).
  4640	035131	274 02 0 00 000003 		SUB AC,AC1		;SUB RAN FROM RAN.
  4641	035132	312 02 0 00 060660 		CAME AC,[0]		;C(AC) SHOULD = 0.
  4642	035133	011 00 0 00 061125 		EERR	,RAN
  4643						LOOP SUB2B,SUB2C^
  4644	035134	367 01 0 00 035124 		SOJG	AC-1,SUB2B		;ITERATION COUNTER
  4645	035135	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4646	035136	321 01 0 00 035130 		JUMPL	AC-1,SUB2C		;LOOP ON ERROR SWITCH ^
  4647
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 77
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0130

  4648
  4649					;TEST SUBM. WHERE E IS AN AC.
  4650					;RAN TO 0 CONDITION.
  4651
  4652			000007			AC=7
  4653	035137				SUBM1:	SETUP 100,0^
  4654			000010			AC1=<AC+1>&17
  4655			000011			AC2=<AC+2>&17
  4656			000012			AC3=<AC+3>&17
  4657			000013			AC4=<AC+4>&17
  4658			000014			AC5=<AC+5>&17
  4659			000005			RAN1=<AC-2>&17
  4660	035137	201 06 0 00 035137 		MOVEI	AC-1,.
  4661	035140	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4662	035141	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4663	035142	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4664	035143	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4665	035144	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4666	035145	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4667	035146				SUBM2:	RANDOM^
  4668	035146	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4669	035147	270 07 0 00 060657 		ADD	AC,[142536475076]
  4670	035150	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4671	035151	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4672	035152	403 10 0 00 000005 	SUBM3:	SETZB AC1,RAN1		;CLEAR C(AC).
  4673	035153	210 11 0 00 000007 		MOVN AC2,AC		;SIM SUB..RAN FROM 0 = 2'S COMP RAN.
  4674	035154	276 10 0 00 000007 		SUBM AC1,AC		;DO SUBM.
  4675	035155	312 11 0 00 000007 		CAME AC2,AC		;C(E) SHOULD = SIM. ANS.
  4676	035156	012 00 0 00 000005 		EERRM	,RAN1
  4677						LOOP SUBM2,SUBM3^
  4678	035157	367 06 0 00 035146 		SOJG	AC-1,SUBM2		;ITERATION COUNTER
  4679	035160	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4680	035161	321 06 0 00 035152 		JUMPL	AC-1,SUBM3		;LOOP ON ERROR SWITCH ^
  4681
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 78
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0131

  4682					;TEST SUBM. SHERE E IS AN AC.
  4683					;0 TO RAN CONDITION.
  4684
  4685			000010			AC=10
  4686	035162				SUBM1A:	SETUP 100,0^
  4687			000011			AC1=<AC+1>&17
  4688			000012			AC2=<AC+2>&17
  4689			000013			AC3=<AC+3>&17
  4690			000014			AC4=<AC+4>&17
  4691			000015			AC5=<AC+5>&17
  4692			000006			RAN1=<AC-2>&17
  4693	035162	201 07 0 00 035162 		MOVEI	AC-1,.
  4694	035163	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4695	035164	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4696	035165	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4697	035166	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4698	035167	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4699	035170	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4700	035171				SUBM2A:	RANDOM^
  4701	035171	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4702	035172	270 10 0 00 060657 		ADD	AC,[142536475076]
  4703	035173	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4704	035174	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4705	035175	200 12 0 00 061125 		MOVE AC2,RAN		;SAVE RAN IN AN AC.
  4706	035176	403 11 0 00 000006 	SUBM3A:	SETZB AC1,RAN1		;CLEAR C(E).
  4707	035177	276 10 0 00 000011 		SUBM AC,AC1		;DO SUBM...0 FROM RAN = RAN.
  4708	035200	312 12 0 00 000011 		CAME AC2,AC1		;C(E) SHOULD = ORIG C(AC).
  4709	035201	002 06 0 00 061125 		ERRM RAN1,RAN
  4710	035202	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4711	035203	002 06 0 00 061125 		ERRM RAN1,RAN
  4712						LOOP SUBM2A,SUBM3A^
  4713	035204	367 07 0 00 035171 		SOJG	AC-1,SUBM2A		;ITERATION COUNTER
  4714	035205	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4715	035206	321 07 0 00 035176 		JUMPL	AC-1,SUBM3A		;LOOP ON ERROR SWITCH ^
  4716
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 79
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0132

  4717
  4718					;TEST SUBM. WHERE E IS AN AC.
  4719					;RAN TO RAN CONDITION.
  4720
  4721			000011			AC=11
  4722	035207				SUBM1B:	SETUP 100,0^
  4723			000012			AC1=<AC+1>&17
  4724			000013			AC2=<AC+2>&17
  4725			000014			AC3=<AC+3>&17
  4726			000015			AC4=<AC+4>&17
  4727			000016			AC5=<AC+5>&17
  4728			000007			RAN1=<AC-2>&17
  4729	035207	201 10 0 00 035207 		MOVEI	AC-1,.
  4730	035210	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4731	035211	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4732	035212	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4733	035213	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  4734	035214	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4735	035215	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4736	035216				SUBM2B:	RANDOM^
  4737	035216	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4738	035217	270 11 0 00 060657 		ADD	AC,[142536475076]
  4739	035220	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4740	035221	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4741	035222	200 12 0 00 000011 	SUBM3B:	MOVE AC1,AC		;MAKE C(E) = C(AC).
  4742	035223	276 11 0 00 000012 		SUBM AC,AC1		;DO SUBM.
  4743	035224	312 12 0 00 060660 		CAME AC1,[0]		;C(E) SHOULD = 0.
  4744	035225	012 00 0 00 061125 		EERRM	,RAN
  4745	035226	312 11 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4746	035227	012 00 0 00 061125 		EERRM	,RAN
  4747						LOOP SUBM2B,SUBM3B^
  4748	035230	367 10 0 00 035216 		SOJG	AC-1,SUBM2B		;ITERATION COUNTER
  4749	035231	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4750	035232	321 10 0 00 035222 		JUMPL	AC-1,SUBM3B		;LOOP ON ERROR SWITCH ^
  4751
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 80
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0133

  4752
  4753					;TEST SUBI. CHECK C(AC) FOR CORRECT DATA.
  4754					;0 TO RAN CONDITION.
  4755
  4756			000010			AC=10
  4757	035233				SUBI1:	SETUP 20,0^
  4758			000011			AC1=<AC+1>&17
  4759			000012			AC2=<AC+2>&17
  4760			000013			AC3=<AC+3>&17
  4761			000014			AC4=<AC+4>&17
  4762			000015			AC5=<AC+5>&17
  4763			000006			RAN1=<AC-2>&17
  4764	035233	201 07 0 00 035233 		MOVEI	AC-1,.
  4765	035234	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4766	035235	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4767	035236	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4768	035237	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4769	035240	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4770	035241	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4771	035242				SUBI2:	RANDOM^
  4772	035242	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4773	035243	270 10 0 00 060657 		ADD	AC,[142536475076]
  4774	035244	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4775	035245	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4776	035246	275 10 0 00 000000 	SUBI3:	SUBI	AC,0		;DO SUBI..0 FROM RAN = RAN.
  4777	035247	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4778	035250	013 00 0 00 000000 		EERRI	,0
  4779						LOOP	SUBI2,SUBI3^
  4780	035251	367 07 0 00 035242 		SOJG	AC-1,SUBI2		;ITERATION COUNTER
  4781	035252	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4782	035253	321 07 0 00 035246 		JUMPL	AC-1,SUBI3		;LOOP ON ERROR SWITCH ^
  4783
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 81
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0134

  4784
  4785					;TEST SUBI. CHECK C(AC) FOR CORRECT DATA.
  4786					;RAN TO 0 CONDITION.
  4787
  4788			000010			AC=10
  4789	035254				SUBI1A:	SETUP 20,0^
  4790			000011			AC1=<AC+1>&17
  4791			000012			AC2=<AC+2>&17
  4792			000013			AC3=<AC+3>&17
  4793			000014			AC4=<AC+4>&17
  4794			000015			AC5=<AC+5>&17
  4795			000006			RAN1=<AC-2>&17
  4796	035254	201 07 0 00 035254 		MOVEI	AC-1,.
  4797	035255	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4798	035256	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4799	035257	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4800	035260	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4801	035261	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4802	035262	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4803	035263				SUBI2A:	RANDOM^
  4804	035263	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4805	035264	270 10 0 00 060657 		ADD	AC,[142536475076]
  4806	035265	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4807	035266	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4808	035267	403 11 0 00 000006 	SUBI3A:	SETZB	AC1,RAN1	;CLEAR C(AC).
  4809	035270	211 12 0 10 000000 		MOVNI	AC2,(AC)	;SIM SUB..RAN FROM 0 = 2'S COMP RAN.
  4810	035271	275 11 0 10 000000 		SUBI	AC1,(AC)	;DO SUBI.
  4811	035272	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC) SHOULD = SIM ANS.
  4812	035273	003 06 0 10 000000 		ERRI	RAN1,(AC)
  4813						LOOP	SUBI2A,SUBI3A^
  4814	035274	367 07 0 00 035263 		SOJG	AC-1,SUBI2A		;ITERATION COUNTER
  4815	035275	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4816	035276	321 07 0 00 035267 		JUMPL	AC-1,SUBI3A		;LOOP ON ERROR SWITCH ^
  4817
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 82
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0135

  4818
  4819					;TEST SUBI. CHECK C(AC) FOR CORRECT DATA.
  4820					;RAN TO RAN CONDITION.
  4821
  4822			000010			AC=10
  4823	035277				SUBI1B:	SETUP 20,0^
  4824			000011			AC1=<AC+1>&17
  4825			000012			AC2=<AC+2>&17
  4826			000013			AC3=<AC+3>&17
  4827			000014			AC4=<AC+4>&17
  4828			000015			AC5=<AC+5>&17
  4829			000006			RAN1=<AC-2>&17
  4830	035277	201 07 0 00 035277 		MOVEI	AC-1,.
  4831	035300	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4832	035301	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4833	035302	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4834	035303	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4835	035304	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4836	035305	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4837	035306				SUBI2B:	RANDOM^
  4838	035306	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4839	035307	270 10 0 00 060657 		ADD	AC,[142536475076]
  4840	035310	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4841	035311	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4842	035312	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
  4843	035313	200 11 0 00 000010 	SUBI3B:	MOVE	AC1,AC		;SIMULATE A
  4844	035314	404 11 0 00 060672 		AND	AC1,[XWD -1,0]	;SUBI RAN FROM RAN.
  4845	035315	275 10 0 10 000000 		SUBI	AC,(AC)		;DO SUBI.
  4846	035316	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = SIM. ANS.
  4847	035317	003 06 0 06 000000 		ERRI	RAN1,(RAN1)
  4848						LOOP	SUBI2B,SUBI3B^
  4849	035320	367 07 0 00 035306 		SOJG	AC-1,SUBI2B		;ITERATION COUNTER
  4850	035321	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4851	035322	321 07 0 00 035313 		JUMPL	AC-1,SUBI3B		;LOOP ON ERROR SWITCH ^
  4852
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 83
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0136

  4853
  4854					;TEST SUBB. CHECK THAT C(AC) = C(E) AND C(AC)
  4855					;= CORRECT DATA.
  4856					;0 TO RAN.
  4857
  4858			000010			AC=10
  4859	035323				SUBB1:	SETUP 20,0^
  4860			000011			AC1=<AC+1>&17
  4861			000012			AC2=<AC+2>&17
  4862			000013			AC3=<AC+3>&17
  4863			000014			AC4=<AC+4>&17
  4864			000015			AC5=<AC+5>&17
  4865			000006			RAN1=<AC-2>&17
  4866	035323	201 07 0 00 035323 		MOVEI	AC-1,.
  4867	035324	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4868	035325	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4869	035326	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4870	035327	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4871	035330	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4872	035331	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4873	035332				SUBB2:	RANDOM^
  4874	035332	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4875	035333	270 10 0 00 060657 		ADD	AC,[142536475076]
  4876	035334	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4877	035335	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4878	035336	403 11 0 00 000006 	SUBB3:	SETZB	AC1,RAN1	;CLEAR C(E).
  4879	035337	277 10 0 00 000011 		SUBB	AC,AC1		;DO SUBB..0 FROM RAN = RAN.
  4880	035340	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = C(E).
  4881	035341	001 06 0 00 061125 		ERR	RAN1,RAN
  4882	035342	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  4883	035343	001 06 0 00 061125 		ERR	RAN1,RAN
  4884						LOOP	SUBB2,SUBB3^
  4885	035344	367 07 0 00 035332 		SOJG	AC-1,SUBB2		;ITERATION COUNTER
  4886	035345	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4887	035346	321 07 0 00 035336 		JUMPL	AC-1,SUBB3		;LOOP ON ERROR SWITCH ^
  4888
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 84
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0137

  4889
  4890					;TEST SUBB. CHECK C(AC) = C(E) AND C(AC) FOR
  4891					;CORRECT DATA.
  4892					;RAN TO 0 CONDITION.
  4893
  4894			000010			AC=10
  4895	035347				SUBB1A:	SETUP 20,0^
  4896			000011			AC1=<AC+1>&17
  4897			000012			AC2=<AC+2>&17
  4898			000013			AC3=<AC+3>&17
  4899			000014			AC4=<AC+4>&17
  4900			000015			AC5=<AC+5>&17
  4901			000006			RAN1=<AC-2>&17
  4902	035347	201 07 0 00 035347 		MOVEI	AC-1,.
  4903	035350	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4904	035351	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4905	035352	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4906	035353	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4907	035354	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4908	035355	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4909	035356				SUBB2A:	RANDOM^
  4910	035356	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4911	035357	270 10 0 00 060657 		ADD	AC,[142536475076]
  4912	035360	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4913	035361	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4914	035362	403 11 0 00 000006 	SUBB3A:	SETZB	AC1,RAN1	;CLEAR C(AC).
  4915	035363	210 12 0 00 000010 		MOVN	AC2,AC		;SIMULATE SUB...RAN FROM 0 = 2'S COMP RAN.
  4916	035364	277 11 0 00 000010 		SUBB	AC1,AC		;DO SUBB.
  4917	035365	312 11 0 00 000010 		CAME	AC1,AC		;C(AC) SHOULD = C(E).
  4918	035366	011 00 0 00 000006 		EERR	,RAN1
  4919	035367	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC) SHOULD = SIM. ANS.
  4920	035370	011 00 0 00 000006 		EERR	,RAN1
  4921						LOOP	SUBB2A,SUBB3A^
  4922	035371	367 07 0 00 035356 		SOJG	AC-1,SUBB2A		;ITERATION COUNTER
  4923	035372	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4924	035373	321 07 0 00 035362 		JUMPL	AC-1,SUBB3A		;LOOP ON ERROR SWITCH ^
  4925
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 85
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0138

  4926
  4927					;TEST SUBB. CHECK C(AC) = C(E) AND FOR
  4928					;CORRECT DATA IN AC.
  4929					;RAN TO RAN CONDITION.
  4930
  4931			000010			AC=10
  4932	035374				SUBB1B:	SETUP 40,0^
  4933			000011			AC1=<AC+1>&17
  4934			000012			AC2=<AC+2>&17
  4935			000013			AC3=<AC+3>&17
  4936			000014			AC4=<AC+4>&17
  4937			000015			AC5=<AC+5>&17
  4938			000006			RAN1=<AC-2>&17
  4939	035374	201 07 0 00 035374 		MOVEI	AC-1,.
  4940	035375	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4941	035376	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4942	035377	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4943	035400	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  4944	035401	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4945	035402	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4946	035403				SUBB2B:	RANDOM^
  4947	035403	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4948	035404	270 10 0 00 060657 		ADD	AC,[142536475076]
  4949	035405	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4950	035406	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4951	035407	200 11 0 00 000010 	SUBB3B:	MOVE	AC1,AC		;MAKE C(E) = C(AC).
  4952	035410	277 10 0 00 000011 		SUBB	AC,AC1		;DO SUBB..RAN FROM RAN = 0.
  4953	035411	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = C(E).
  4954	035412	011 00 0 00 061125 		EERR	,RAN
  4955	035413	312 10 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD = 0.
  4956	035414	011 00 0 00 061125 		EERR	,RAN
  4957						LOOP	SUBB2B,SUBB3B^
  4958	035415	367 07 0 00 035403 		SOJG	AC-1,SUBB2B		;ITERATION COUNTER
  4959	035416	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4960	035417	321 07 0 00 035407 		JUMPL	AC-1,SUBB3B		;LOOP ON ERROR SWITCH ^
  4961
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 86
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0139

  4962
  4963
  4964					;TEST MOVEI. CHECK C(AC) FOR CORRECT DATA.
  4965					;RAN TO RAN1.
  4966
  4967			000002			AC=2
  4968	035420				MVEI1:	SETUP 20,0^
  4969			000003			AC1=<AC+1>&17
  4970			000004			AC2=<AC+2>&17
  4971			000005			AC3=<AC+3>&17
  4972			000006			AC4=<AC+4>&17
  4973			000007			AC5=<AC+5>&17
  4974			000000			RAN1=<AC-2>&17
  4975	035420	201 01 0 00 035420 		MOVEI	AC-1,.
  4976	035421	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  4977	035422	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  4978	035423	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  4979	035424	201 01 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  4980	035425	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  4981	035426	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  4982	035427				MVEI2:	RANDOM^
  4983	035427	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  4984	035430	270 02 0 00 060657 		ADD	AC,[142536475076]
  4985	035431	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  4986	035432	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  4987	035433	200 04 0 00 061125 		MOVE AC2,RAN		;SAVE RAN IN AN AC.
  4988	035434	207 00 0 00 000002 	MVEI3:	MOVSS RAN1,AC		;MAKE C(AC) = SEC RAN NUM.
  4989	035435	200 03 0 00 061125 		MOVE AC1,RAN		;SIMULATE
  4990	035436	242 03 0 00 000022 		LSH AC1,22		;A
  4991	035437	242 03 0 00 777756 		LSH AC1,-22		;MOVEI.
  4992	035440	201 02 0 04 000000 		MOVEI AC,(AC2)		;DO A MOVEI.
  4993	035441	312 02 0 00 000003 		CAME AC,AC1		;C(AC) SHOULD = SIM. ANS.
  4994	035442	003 00 0 04 000000 		ERRI RAN1,(AC2)
  4995						LOOP MVEI2,MVEI3^
  4996	035443	367 01 0 00 035427 		SOJG	AC-1,MVEI2		;ITERATION COUNTER
  4997	035444	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  4998	035445	321 01 0 00 035434 		JUMPL	AC-1,MVEI3		;LOOP ON ERROR SWITCH ^
  4999
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 87
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0140

  5000
  5001					;TEST MOVN. TWO MOVN INSTRUCTIONS SHOULD NOT CHANGE C(AC).
  5002
  5003			000002			AC=2
  5004	035446				MOVN1:	SETUP 200,0^
  5005			000003			AC1=<AC+1>&17
  5006			000004			AC2=<AC+2>&17
  5007			000005			AC3=<AC+3>&17
  5008			000006			AC4=<AC+4>&17
  5009			000007			AC5=<AC+5>&17
  5010			000000			RAN1=<AC-2>&17
  5011	035446	201 01 0 00 035446 		MOVEI	AC-1,.
  5012	035447	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5013	035450	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5014	035451	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5015	035452	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  5016	035453	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5017	035454	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5018	035455				MOVN2:	RANDOM^
  5019	035455	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5020	035456	270 02 0 00 060657 		ADD	AC,[142536475076]
  5021	035457	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5022	035460	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5023					MOVN3:	REPEAT 3,		;DO 6 X (MOVN RAN TO RAN).
  5024					<	MOVN AC,AC
  5025						MOVN AC,AC>
  5026	035461	210 02 0 00 000002 		MOVN AC,AC
  5027	035462	210 02 0 00 000002 		MOVN AC,AC
  5028	035463	210 02 0 00 000002 		MOVN AC,AC
  5029	035464	210 02 0 00 000002 		MOVN AC,AC
  5030	035465	210 02 0 00 000002 		MOVN AC,AC
  5031	035466	210 02 0 00 000002 		MOVN AC,AC
  5032	035467	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN NUM.
  5033	035470	004 02 0 00 061125 		ERROR AC,RAN
  5034						LOOP MOVN2,MOVN3^
  5035	035471	367 01 0 00 035455 		SOJG	AC-1,MOVN2		;ITERATION COUNTER
  5036	035472	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5037	035473	321 01 0 00 035461 		JUMPL	AC-1,MOVN3		;LOOP ON ERROR SWITCH ^
  5038
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 88
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0141

  5039
  5040					;TEST MOVNI. CHECK C(AC) FOR CORRECT DATA.
  5041					;RAN TO RAN1.
  5042
  5043			000002			AC=2
  5044	035474				MVNI1:	SETUP 40,0^
  5045			000003			AC1=<AC+1>&17
  5046			000004			AC2=<AC+2>&17
  5047			000005			AC3=<AC+3>&17
  5048			000006			AC4=<AC+4>&17
  5049			000007			AC5=<AC+5>&17
  5050			000000			RAN1=<AC-2>&17
  5051	035474	201 01 0 00 035474 		MOVEI	AC-1,.
  5052	035475	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5053	035476	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5054	035477	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5055	035500	201 01 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5056	035501	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5057	035502	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5058	035503				MVNI2:	RANDOM^
  5059	035503	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5060	035504	270 02 0 00 060657 		ADD	AC,[142536475076]
  5061	035505	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5062	035506	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5063	035507	200 04 0 00 061125 		MOVE AC2,RAN		;SAVE RAN IN AN AC.
  5064	035510	207 00 0 00 000002 	MVNI3:	MOVSS RAN1,AC		;C(AC) = SEC RAN NUM.
  5065	035511	201 03 0 04 000000 		MOVEI	AC1,(AC2)	;SIMULATE
  5066	035512	450 03 0 00 000000 		SETCA AC1,		;A
  5067	035513	270 03 0 00 060666 		ADD AC1,[1]		;MOVNI INST.
  5068	035514	211 02 0 04 000000 		MOVNI AC,(AC2)		;DO A MOVNI.
  5069	035515	312 02 0 00 000003 		CAME AC,AC1		;C(AC) SHOULD = SIM. ANS.
  5070	035516	003 00 0 04 000000 		ERRI RAN1,(AC2)
  5071						LOOP MVNI2,MVNI3^
  5072	035517	367 01 0 00 035503 		SOJG	AC-1,MVNI2		;ITERATION COUNTER
  5073	035520	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5074	035521	321 01 0 00 035510 		JUMPL	AC-1,MVNI3		;LOOP ON ERROR SWITCH ^
  5075
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 89
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0142

  5076
  5077					;TEST MOVNM. WHERE E IS AN AC.
  5078					;CHECK C(E) FOR CORRECT DATA.
  5079					;RAN TO RAN.
  5080
  5081			000002			AC=2
  5082	035522				MVNM1:	SETUP 100,0^
  5083			000003			AC1=<AC+1>&17
  5084			000004			AC2=<AC+2>&17
  5085			000005			AC3=<AC+3>&17
  5086			000006			AC4=<AC+4>&17
  5087			000007			AC5=<AC+5>&17
  5088			000000			RAN1=<AC-2>&17
  5089	035522	201 01 0 00 035522 		MOVEI	AC-1,.
  5090	035523	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5091	035524	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5092	035525	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5093	035526	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5094	035527	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5095	035530	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5096	035531				MVNM2:	RANDOM^
  5097	035531	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5098	035532	270 02 0 00 060657 		ADD	AC,[142536475076]
  5099	035533	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5100	035534	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5101	035535	200 00 0 00 061125 		MOVE RAN1,RAN		;SAVE RAN IN AN AC.
  5102	035536	200 03 0 00 000002 	MVNM3:	MOVE AC1,AC		;MAKE C(E) = C(AC).
  5103						REPEAT 3,		;DO 3 X 2(MOVNM).
  5104					<	MOVNM AC,AC1
  5105						MOVNM AC1,AC>
  5106	035537	212 02 0 00 000003 		MOVNM AC,AC1
  5107	035540	212 03 0 00 000002 		MOVNM AC1,AC
  5108	035541	212 02 0 00 000003 		MOVNM AC,AC1
  5109	035542	212 03 0 00 000002 		MOVNM AC1,AC
  5110	035543	212 02 0 00 000003 		MOVNM AC,AC1
  5111	035544	212 03 0 00 000002 		MOVNM AC1,AC
  5112	035545	312 00 0 00 000002 		CAME RAN1,AC		;C(E) SHOULD = ORIG C(E).
  5113	035546	012 00 0 00 061125 		EERRM	,RAN
  5114						LOOP MVNM2,MVNM3^
  5115	035547	367 01 0 00 035531 		SOJG	AC-1,MVNM2		;ITERATION COUNTER
  5116	035550	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5117	035551	321 01 0 00 035536 		JUMPL	AC-1,MVNM3		;LOOP ON ERROR SWITCH ^
  5118
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 90
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0143

  5119
  5120					;TEST MOVNS. WHERE E IS AN AC.
  5121					;CHECK PROPER STORING OF C(E) INTO AC.
  5122					;TWO MOVNS = ORIG NUMBER.
  5123					;C(E) = RAN.
  5124
  5125			000003			AC=3
  5126	035552				MVNS1:	SETUP 100,0^
  5127			000004			AC1=<AC+1>&17
  5128			000005			AC2=<AC+2>&17
  5129			000006			AC3=<AC+3>&17
  5130			000007			AC4=<AC+4>&17
  5131			000010			AC5=<AC+5>&17
  5132			000001			RAN1=<AC-2>&17
  5133	035552	201 02 0 00 035552 		MOVEI	AC-1,.
  5134	035553	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5135	035554	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5136	035555	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5137	035556	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5138	035557	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5139	035560	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5140	035561				MVNS2:	RANDOM^
  5141	035561	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5142	035562	270 03 0 00 060657 		ADD	AC,[142536475076]
  5143	035563	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5144	035564	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5145	035565	200 05 0 00 061125 		MOVE AC2,RAN		;PUT C(RAN) INTO AC2 FOR FUTURE COMPARE.
  5146	035566	477 04 0 00 000001 	MVNS3:	SETOB AC1,RAN1		;MAKE C(AC) = -1.
  5147						REPEAT 3,		;DO 3 X 2(MOVNS).
  5148					<	MOVNS AC1,AC
  5149						MOVNS AC1,AC>
  5150	035567	213 04 0 00 000003 		MOVNS AC1,AC
  5151	035570	213 04 0 00 000003 		MOVNS AC1,AC
  5152	035571	213 04 0 00 000003 		MOVNS AC1,AC
  5153	035572	213 04 0 00 000003 		MOVNS AC1,AC
  5154	035573	213 04 0 00 000003 		MOVNS AC1,AC
  5155	035574	213 04 0 00 000003 		MOVNS AC1,AC
  5156	035575	312 04 0 00 000003 		CAME AC1,AC		;C(AC) SHOULD = C(E).
  5157	035576	012 00 0 00 000001 		EERRM	,RAN1
  5158	035577	312 05 0 00 000003 		CAME AC2,AC		;C(E) SHOULD = ORIG. C(E).
  5159	035600	012 00 0 00 000001 		EERRM	,RAN1
  5160						LOOP MVNS2,MVNS3^
  5161	035601	367 02 0 00 035561 		SOJG	AC-1,MVNS2		;ITERATION COUNTER
  5162	035602	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5163	035603	321 02 0 00 035566 		JUMPL	AC-1,MVNS3		;LOOP ON ERROR SWITCH ^
  5164
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 91
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0144

  5165
  5166					;TEST MOVNS. WHERE E IS AN AC.
  5167					;CHECK FOR NOT LOADING C(E) INTO AC WHEN AC= 0.
  5168					;TWO MOVNS = ORIGINAL NUM.
  5169					;C(E) = RAN.
  5170
  5171			000010			AC=10
  5172	035604				MVNSA:	SETUP 40,0^
  5173			000011			AC1=<AC+1>&17
  5174			000012			AC2=<AC+2>&17
  5175			000013			AC3=<AC+3>&17
  5176			000014			AC4=<AC+4>&17
  5177			000015			AC5=<AC+5>&17
  5178			000006			RAN1=<AC-2>&17
  5179	035604	201 07 0 00 035604 		MOVEI	AC-1,.
  5180	035605	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5181	035606	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5182	035607	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5183	035610	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5184	035611	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5185	035612	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5186	035613				MVNSB:	RANDOM^
  5187	035613	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5188	035614	270 10 0 00 060657 		ADD	AC,[142536475076]
  5189	035615	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5190	035616	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5191	035617	200 12 0 00 061125 		MOVE AC2,RAN		;SAVE RAN IN AN AC.
  5192	035620	477 00 0 00 000006 	MVNSC:	SETOB RAN1		;MAKE C(AC) = -1.
  5193						REPEAT 3,		;DO 3 X 2(MOVNS).
  5194					<	MOVNS AC
  5195						MOVNS AC>
  5196	035621	213 00 0 00 000010 		MOVNS AC
  5197	035622	213 00 0 00 000010 		MOVNS AC
  5198	035623	213 00 0 00 000010 		MOVNS AC
  5199	035624	213 00 0 00 000010 		MOVNS AC
  5200	035625	213 00 0 00 000010 		MOVNS AC
  5201	035626	213 00 0 00 000010 		MOVNS AC
  5202	035627	316 00 0 00 000010 		CAMN AC		;C(AC) SHOULD NOT = C(E).
  5203	035630	012 00 0 00 000006 		EERRM	,RAN1
  5204	035631	312 12 0 00 000010 		CAME AC2,AC		;C(AC) SHOULD = ORIG C(AC).
  5205	035632	012 00 0 00 000006 		EERRM	,RAN1
  5206						LOOP MVNSB, MVNSC^
  5207	035633	367 07 0 00 035613 		SOJG	AC-1,MVNSB		;ITERATION COUNTER
  5208	035634	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5209	035635	321 07 0 00 035620 		JUMPL	AC-1,MVNSC		;LOOP ON ERROR SWITCH ^
  5210
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 92
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0145

  5211
  5212					;TEST MOVM. CHECK F(AC) FOR CORRECT DATA.
  5213					;RAN TO RAN1.
  5214
  5215			000007			AC=7
  5216	035636				MVM1:	SETUP 40,0^
  5217			000010			AC1=<AC+1>&17
  5218			000011			AC2=<AC+2>&17
  5219			000012			AC3=<AC+3>&17
  5220			000013			AC4=<AC+4>&17
  5221			000014			AC5=<AC+5>&17
  5222			000005			RAN1=<AC-2>&17
  5223	035636	201 06 0 00 035636 		MOVEI	AC-1,.
  5224	035637	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5225	035640	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5226	035641	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5227	035642	201 06 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5228	035643	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5229	035644	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5230	035645				MVM2:	RANDOM^
  5231	035645	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5232	035646	270 07 0 00 060657 		ADD	AC,[142536475076]
  5233	035647	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5234	035650	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5235	035651	207 05 0 00 000007 	MVM3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
  5236	035652	200 10 0 00 061125 		MOVE	AC1,RAN		;C(E) = 1ST RAN NUM.
  5237	035653	460 11 0 00 000010 		SETCM	AC2,AC1		;SIMULATE
  5238	035654	607 10 0 00 400000 		TLNN	AC1,400000	;A
  5239	035655	200 11 0 00 000010 		MOVE	AC2,AC1		;MOVM
  5240	035656	603 10 0 00 400000 		TLNE	AC1,400000	;INST.
  5241	035657	270 11 0 00 060666 		ADD	AC2,[1]
  5242	035660	214 07 0 00 000010 		MOVM	AC,AC1		;DO A MOVM.
  5243	035661	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD = SIM. ANS.
  5244	035662	011 00 0 00 000005 		EERR	,RAN1
  5245						LOOP	MVM2, MVM3^
  5246	035663	367 06 0 00 035645 		SOJG	AC-1,MVM2		;ITERATION COUNTER
  5247	035664	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5248	035665	321 06 0 00 035651 		JUMPL	AC-1,MVM3		;LOOP ON ERROR SWITCH ^
  5249
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 93
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0146

  5250
  5251					;TEST MOVMI. CHECK C(AC) FOR CORRECT DATA.
  5252					;RAN TO RAN1.
  5253
  5254			000010			AC=10
  5255	035666				MVMI1:	SETUP 40,0^
  5256			000011			AC1=<AC+1>&17
  5257			000012			AC2=<AC+2>&17
  5258			000013			AC3=<AC+3>&17
  5259			000014			AC4=<AC+4>&17
  5260			000015			AC5=<AC+5>&17
  5261			000006			RAN1=<AC-2>&17
  5262	035666	201 07 0 00 035666 		MOVEI	AC-1,.
  5263	035667	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5264	035670	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5265	035671	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5266	035672	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5267	035673	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5268	035674	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5269	035675				MVMI2:	RANDOM^
  5270	035675	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5271	035676	270 10 0 00 060657 		ADD	AC,[142536475076]
  5272	035677	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5273	035700	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5274	035701	201 11 0 00 000010 	MVMI3:	MOVEI	AC1,AC		;SIMULATE A MOVMI INST...MOVEI.
  5275	035702	207 06 0 00 000010 		MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
  5276	035703	215 10 0 11 000000 		MOVMI	AC,(AC1)	;DO MOVMI.
  5277	035704	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = SIM ANS.
  5278	035705	003 06 0 11 000000 		ERRI	RAN1,(AC1)
  5279						LOOP	MVMI2, MVMI3^
  5280	035706	367 07 0 00 035675 		SOJG	AC-1,MVMI2		;ITERATION COUNTER
  5281	035707	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5282	035710	321 07 0 00 035701 		JUMPL	AC-1,MVMI3		;LOOP ON ERROR SWITCH ^
  5283
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 94
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0147

  5284
  5285					;TEST MOVMM. CHECK C(AC) + C(E) FOR CORRECT DATA.
  5286					;RAN TO RAN1.
  5287
  5288			000011			AC=11
  5289	035711				MVMM1:	SETUP 200,0^
  5290			000012			AC1=<AC+1>&17
  5291			000013			AC2=<AC+2>&17
  5292			000014			AC3=<AC+3>&17
  5293			000015			AC4=<AC+4>&17
  5294			000016			AC5=<AC+5>&17
  5295			000007			RAN1=<AC-2>&17
  5296	035711	201 10 0 00 035711 		MOVEI	AC-1,.
  5297	035712	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5298	035713	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5299	035714	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5300	035715	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  5301	035716	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5302	035717	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5303	035720				MVMM2:	RANDOM^
  5304	035720	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5305	035721	270 11 0 00 060657 		ADD	AC,[142536475076]
  5306	035722	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5307	035723	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5308	035724	207 07 0 00 000011 	MVMM3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
  5309	035725	200 12 0 00 061125 		MOVE	AC1,RAN		;C(E) = RAN.
  5310	035726	460 13 0 00 000011 		SETCM	AC2,AC		;SIMULATE
  5311	035727	607 11 0 00 400000 		TLNN	AC,400000	;A
  5312	035730	200 13 0 00 000011 		MOVE	AC2,AC		;MOVMM
  5313	035731	603 11 0 00 400000 		TLNE	AC,400000	;INST
  5314	035732	270 13 0 00 060666 		ADD	AC2,[1]
  5315	035733	216 11 0 00 000012 		MOVMM	AC,AC1		;DO A MOVMM INST.
  5316	035734	312 11 0 00 000007 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  5317	035735	012 00 0 00 000007 		EERRM	,RAN1
  5318	035736	312 12 0 00 000013 		CAME	AC1,AC2		;C(E) SHOULD = SIM. ANS.
  5319	035737	012 00 0 00 000007 		EERRM	,RAN1
  5320						LOOP	MVMM2, MVMM3^
  5321	035740	367 10 0 00 035720 		SOJG	AC-1,MVMM2		;ITERATION COUNTER
  5322	035741	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5323	035742	321 10 0 00 035724 		JUMPL	AC-1,MVMM3		;LOOP ON ERROR SWITCH ^
  5324
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 95
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0148

  5325
  5326					;TEST MOVMS. CHECK C(E) FOR CORRECT DATA.
  5327					;RAN TO RAN1.
  5328
  5329			000010			AC=10
  5330	035743				MVMS1:	SETUP 200,0^
  5331			000011			AC1=<AC+1>&17
  5332			000012			AC2=<AC+2>&17
  5333			000013			AC3=<AC+3>&17
  5334			000014			AC4=<AC+4>&17
  5335			000015			AC5=<AC+5>&17
  5336			000006			RAN1=<AC-2>&17
  5337	035743	201 07 0 00 035743 		MOVEI	AC-1,.
  5338	035744	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5339	035745	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5340	035746	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5341	035747	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
  5342	035750	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5343	035751	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5344	035752				MVMS2:	RANDOM^
  5345	035752	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5346	035753	270 10 0 00 060657 		ADD	AC,[142536475076]
  5347	035754	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5348	035755	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5349	035756	207 06 0 00 000010 	MVMS3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
  5350	035757	200 11 0 00 061125 		MOVE	AC1,RAN		;C(E) = RAN.
  5351	035760	460 12 0 00 061125 		SETCM	AC2,RAN		;SIMULATE
  5352	035761	607 11 0 00 400000 		TLNN	AC1,400000	;A
  5353	035762	200 12 0 00 000011 		MOVE	AC2,AC1		;MOVMS
  5354	035763	603 11 0 00 400000 		TLNE	AC1,400000	;INST.
  5355	035764	270 12 0 00 060666 		ADD	AC2,[1]	
  5356	035765	217 10 0 00 000011 		MOVMS	AC,AC1		;DO A MOVMS.
  5357	035766	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = C(E).
  5358	035767	012 00 0 00 000006 		EERRM	,RAN1
  5359	035770	312 11 0 00 000012 		CAME	AC1,AC2		;C(E) SHOULD = SIM. ANS.
  5360	035771	012 00 0 00 000006 		EERRM	,RAN1
  5361						LOOP	MVMS2, MVMS3^
  5362	035772	367 07 0 00 035752 		SOJG	AC-1,MVMS2		;ITERATION COUNTER
  5363	035773	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5364	035774	321 07 0 00 035756 		JUMPL	AC-1,MVMS3		;LOOP ON ERROR SWITCH ^
  5365
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 96
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0149

  5366
  5367					;TEST LSH. A LSH LEFT AND A LSH RIGHT SHOULD
  5368					;GIVE THE SAME NUMBER WITH A ZERO SIGN BIT.
  5369
  5370			000002			AC=2
  5371	035775				LSH1P:	SETUP 40,0^
  5372			000003			AC1=<AC+1>&17
  5373			000004			AC2=<AC+2>&17
  5374			000005			AC3=<AC+3>&17
  5375			000006			AC4=<AC+4>&17
  5376			000007			AC5=<AC+5>&17
  5377			000000			RAN1=<AC-2>&17
  5378	035775	201 01 0 00 035775 		MOVEI	AC-1,.
  5379	035776	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5380	035777	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5381	036000	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5382	036001	201 01 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5383	036002	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5384	036003	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5385	036004				LSH1PA:	RANDOM^
  5386	036004	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5387	036005	270 02 0 00 060657 		ADD	AC,[142536475076]
  5388	036006	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5389	036007	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5390	036010	404 02 0 00 060673 	LSH1PB:	AND AC,[XWD 377777,-1]	;SIMULATE A LSH LEFT THEN RIGHT.
  5391	036011	200 03 0 00 061125 		MOVE AC1,RAN		;MOVE RANDOM NUM INTO AN AC
  5392						REPEAT 3,		;AND DO 3(LSH LEFT 1 PLACE THEN RIGHT 1 PLACE).
  5393					<	LSH AC1,1
  5394						LSH AC1,-1>
  5395	036012	242 03 0 00 000001 		LSH AC1,1
  5396	036013	242 03 0 00 777777 		LSH AC1,-1
  5397	036014	242 03 0 00 000001 		LSH AC1,1
  5398	036015	242 03 0 00 777777 		LSH AC1,-1
  5399	036016	242 03 0 00 000001 		LSH AC1,1
  5400	036017	242 03 0 00 777777 		LSH AC1,-1
  5401	036020	312 03 0 00 000002 		CAME AC1,AC		;C(AC1) = SIM. ANS?
  5402	036021	004 03 0 00 000002 		ERROR AC1,AC		;NO. LSH FAILED.
  5403						LOOP LSH1PA,LSH1PB^
  5404	036022	367 01 0 00 036004 		SOJG	AC-1,LSH1PA		;ITERATION COUNTER
  5405	036023	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5406	036024	321 01 0 00 036010 		JUMPL	AC-1,LSH1PB		;LOOP ON ERROR SWITCH ^
  5407
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 97
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0150

  5408
  5409					;TEST TDN,TDNA. CHECK FOR SKIP/NO SKIP AND
  5410					;NO DATA CHANGE IN AC FOR RAN1 TO RAN CONDITION.
  5411
  5412			000002			AC=2
  5413	036025				TDN1:	SETUP 100,0^
  5414			000003			AC1=<AC+1>&17
  5415			000004			AC2=<AC+2>&17
  5416			000005			AC3=<AC+3>&17
  5417			000006			AC4=<AC+4>&17
  5418			000007			AC5=<AC+5>&17
  5419			000000			RAN1=<AC-2>&17
  5420	036025	201 01 0 00 036025 		MOVEI	AC-1,.
  5421	036026	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5422	036027	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5423	036030	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5424	036031	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5425	036032	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5426	036033	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5427	036034				TDN2:	RANDOM^
  5428	036034	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5429	036035	270 02 0 00 060657 		ADD	AC,[142536475076]
  5430	036036	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5431	036037	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5432	036040	204 03 0 00 000002 	TDN3:	MOVS AC1,AC		;PUT SECOND RAN. NUM. INTO "E".
  5433	036041	610 02 0 00 000003 		TDN AC,AC1		;NO SKIP, NO DATA CHANGE.
  5434	036042	254 00 0 00 036044 		JRST	.+2		;HERE..GO AROUND ERR UUO.
  5435	036043	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TDN SKIPPED.
  5436	036044	614 02 0 00 000003 		TDNA AC,AC1		;SKIP, NO DATA CHANGE.
  5437	036045	005 02 0 00 060674 		ER AC,[ASCII /TST/]
  5438	036046	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  5439	036047	001 03 0 00 061125 		ERR	AC1,RAN
  5440						LOOP TDN2,TDN3^
  5441	036050	367 01 0 00 036034 		SOJG	AC-1,TDN2		;ITERATION COUNTER
  5442	036051	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5443	036052	321 01 0 00 036040 		JUMPL	AC-1,TDN3		;LOOP ON ERROR SWITCH ^
  5444
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 98
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0151

  5445
  5446					;TEST TDNN,TDNE. CHECK FOR SKIP/ NO SKIP AND
  5447					;NO DATA CHANGE IN AC FOR RAN TO 0 CONDITION.
  5448
  5449			000003			AC=3
  5450	036053				TDNE1A:	SETUP 100,0^
  5451			000004			AC1=<AC+1>&17
  5452			000005			AC2=<AC+2>&17
  5453			000006			AC3=<AC+3>&17
  5454			000007			AC4=<AC+4>&17
  5455			000010			AC5=<AC+5>&17
  5456			000001			RAN1=<AC-2>&17
  5457	036053	201 02 0 00 036053 		MOVEI	AC-1,.
  5458	036054	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5459	036055	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5460	036056	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5461	036057	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5462	036060	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5463	036061	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5464	036062				TDNE2A:	RANDOM^
  5465	036062	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5466	036063	270 03 0 00 060657 		ADD	AC,[142536475076]
  5467	036064	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5468	036065	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5469	036066	403 04 0 00 000001 	TDNE3A:	SETZB AC1,RAN1		;CLEAR C(AC).
  5470	036067	616 04 0 00 000003 		TDNN AC1,AC		;C(E) + C(AC) =0..NO SKIP.
  5471	036070	254 00 0 00 036072 		JRST	.+2
  5472	036071	005 04 0 00 060674 		ER	AC1,[ASCII /TST/];TDNN SKIPPED.
  5473	036072	612 04 0 00 000003 		TDNE AC1,AC		;C(E) + C(AC) = 0. SKIP.
  5474	036073	005 04 0 00 060674 		ER AC1,[ASCII /TST/]
  5475	036074	312 04 0 00 060660 		CAME AC1,[0]		;C(AC) SHOULD STILL = 0.
  5476	036075	001 03 0 00 000001 		ERR	AC,RAN1
  5477						LOOP TDNE2A,TDNE3A^
  5478	036076	367 02 0 00 036062 		SOJG	AC-1,TDNE2A		;ITERATION COUNTER
  5479	036077	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5480	036100	321 02 0 00 036066 		JUMPL	AC-1,TDNE3A		;LOOP ON ERROR SWITCH ^
  5481
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 99
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0152

  5482
  5483					;TEST TDNN,TDNE. CHECK FOR SKIP/ NO SKIP AND
  5484					;NO DATA CHANGE FOR 0 TO RAN CONDITION.
  5485
  5486			000004			AC=4
  5487	036101				TDNE1B:	SETUP 40,0^
  5488			000005			AC1=<AC+1>&17
  5489			000006			AC2=<AC+2>&17
  5490			000007			AC3=<AC+3>&17
  5491			000010			AC4=<AC+4>&17
  5492			000011			AC5=<AC+5>&17
  5493			000002			RAN1=<AC-2>&17
  5494	036101	201 03 0 00 036101 		MOVEI	AC-1,.
  5495	036102	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5496	036103	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5497	036104	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5498	036105	201 03 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5499	036106	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5500	036107	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5501	036110				TDNE2B:	RANDOM^
  5502	036110	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5503	036111	270 04 0 00 060657 		ADD	AC,[142536475076]
  5504	036112	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5505	036113	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5506	036114	400 05 0 00 000000 	TDNE3B:	SETZ AC1,		;CLEAR C(E).
  5507	036115	616 04 0 00 000005 		TDNN AC,AC1		;C(E) + C(AC) = 0. NO SKIP.
  5508	036116	254 00 0 00 036120 		JRST	.+2
  5509	036117	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TDNN SKIPPED.
  5510	036120	612 04 0 00 000005 		TDNE AC,AC1		;C(E) + C(AC) = 0. SKIP.
  5511	036121	005 04 0 00 060674 		ER AC,[ASCII /TST/]
  5512	036122	312 04 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  5513	036123	001 05 0 00 061125 		ERR	AC1,RAN
  5514						LOOP TDNE2B,TDNE3B^
  5515	036124	367 03 0 00 036110 		SOJG	AC-1,TDNE2B		;ITERATION COUNTER
  5516	036125	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5517	036126	321 03 0 00 036114 		JUMPL	AC-1,TDNE3B		;LOOP ON ERROR SWITCH ^
  5518
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 100
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0153

  5519
  5520					;TEST TDNN,TDNE. CHECK FOR SKIP/ NO SKIP AND
  5521					;NO DATA CHANGE IN AC FOR RAN TO -1 CONDITION.
  5522
  5523			000005			AC=5
  5524	036127				TDNE1C:	SETUP 40,0^
  5525			000006			AC1=<AC+1>&17
  5526			000007			AC2=<AC+2>&17
  5527			000010			AC3=<AC+3>&17
  5528			000011			AC4=<AC+4>&17
  5529			000012			AC5=<AC+5>&17
  5530			000003			RAN1=<AC-2>&17
  5531	036127	201 04 0 00 036127 		MOVEI	AC-1,.
  5532	036130	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5533	036131	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5534	036132	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5535	036133	201 04 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5536	036134	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5537	036135	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5538	036136				TDNE2C:	RANDOM^
  5539	036136	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5540	036137	270 05 0 00 060657 		ADD	AC,[142536475076]
  5541	036140	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5542	036141	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5543	036142	322 05 0 00 036136 		JUMPE AC,TDNE2C		;REJECT IF RAN = 0.
  5544	036143	477 06 0 00 000003 	TDNE3C:	SETOB AC1,RAN1		;SET C(AC) TO ALL ONES.
  5545	036144	612 06 0 00 000005 		TDNE AC1,AC		;C(E) + C(AC) NOT = 0..NO SKIP.
  5546	036145	254 00 0 00 036147 		JRST	.+2
  5547	036146	005 06 0 00 060674 		ER	AC1,[ASCII /TST/];TDNE SKIPPED.
  5548	036147	616 06 0 00 000005 		TDNN AC1,AC		;C(E) + C(AC) NOT = 0..SKIP.
  5549	036150	005 06 0 00 060674 		ER AC1,[ASCII /TST/]
  5550	036151	312 06 0 00 060662 		CAME AC1,[-1]		;C(AC) SHOULD = ORIG C(AC).
  5551	036152	001 05 0 00 000003 		ERR AC,RAN1
  5552						LOOP TDNE2C,TDNE3C^
  5553	036153	367 04 0 00 036136 		SOJG	AC-1,TDNE2C		;ITERATION COUNTER
  5554	036154	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5555	036155	321 04 0 00 036143 		JUMPL	AC-1,TDNE3C		;LOOP ON ERROR SWITCH ^
  5556
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 101
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0154

  5557
  5558					;TEST TDNE,TDNN. CHECK FOR SKIP/ NO SKIP AND
  5559					;NO DATA CHANGE IN AC FOR -1 TO RAN CONDITION.
  5560
  5561			000006			AC=6
  5562	036156				TDNE1D:	SETUP 40,0^
  5563			000007			AC1=<AC+1>&17
  5564			000010			AC2=<AC+2>&17
  5565			000011			AC3=<AC+3>&17
  5566			000012			AC4=<AC+4>&17
  5567			000013			AC5=<AC+5>&17
  5568			000004			RAN1=<AC-2>&17
  5569	036156	201 05 0 00 036156 		MOVEI	AC-1,.
  5570	036157	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5571	036160	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5572	036161	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5573	036162	201 05 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5574	036163	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5575	036164	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5576	036165				TDNE2D:	RANDOM^
  5577	036165	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5578	036166	270 06 0 00 060657 		ADD	AC,[142536475076]
  5579	036167	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5580	036170	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5581	036171	322 06 0 00 036165 		JUMPE AC,TDNE2D		;REJECT IF RAN = 0.
  5582	036172	474 07 0 00 000000 	TDNE3D:	SETO AC1,		;SET C(E) TO ALL ONES.
  5583	036173	612 06 0 00 000007 		TDNE AC,AC1		;C(E) + C(AC) NOT = 0..NO SKIP.
  5584	036174	254 00 0 00 036176 		JRST	.+2
  5585	036175	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TDNE SKIPPED.
  5586	036176	616 06 0 00 000007 		TDNN AC,AC1		;C(E) + C(AC) NOT = 0..SKIP.
  5587	036177	005 06 0 00 060674 		ER AC,[ASCII /TST/]
  5588	036200	312 06 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  5589	036201	001 07 0 00 061125 		ERR AC1,RAN
  5590						LOOP TDNE2D,TDNE3D^
  5591	036202	367 05 0 00 036165 		SOJG	AC-1,TDNE2D		;ITERATION COUNTER
  5592	036203	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5593	036204	321 05 0 00 036172 		JUMPL	AC-1,TDNE3D		;LOOP ON ERROR SWITCH ^
  5594
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 102
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0155

  5595
  5596					;TEST TDNE,TDNN. CHECK FOR SKIP/ NO SKIP AND
  5597					;NO DATA CHANGE IN AC FOR RAN TO RAN CONDITION.
  5598
  5599			000007			AC=7
  5600	036205				TDNE1E:	SETUP 20,0^
  5601			000010			AC1=<AC+1>&17
  5602			000011			AC2=<AC+2>&17
  5603			000012			AC3=<AC+3>&17
  5604			000013			AC4=<AC+4>&17
  5605			000014			AC5=<AC+5>&17
  5606			000005			RAN1=<AC-2>&17
  5607	036205	201 06 0 00 036205 		MOVEI	AC-1,.
  5608	036206	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5609	036207	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5610	036210	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5611	036211	201 06 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  5612	036212	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5613	036213	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5614	036214				TDNE2E:	RANDOM^
  5615	036214	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5616	036215	270 07 0 00 060657 		ADD	AC,[142536475076]
  5617	036216	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5618	036217	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5619	036220	322 07 0 00 036214 		JUMPE AC,TDNE2E		;REJECT IF RAN = 0.
  5620	036221	200 10 0 00 000007 	TDNE3E:	MOVE AC1,AC		;MAKE C(E) = C(AC).
  5621	036222	612 07 0 00 000010 		TDNE AC,AC1		;C(E) + C(AC) NOT = 0..NO SKIP.
  5622	036223	254 00 0 00 036225 		JRST	.+2
  5623	036224	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TDNE SKIPPED.
  5624	036225	616 07 0 00 000010 		TDNN AC,AC1		;C(E) + C(AC) NOT = 0. SKIP.
  5625	036226	005 07 0 00 060674 		ER AC,[ASCII /TST/]
  5626	036227	312 07 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  5627	036230	001 10 0 00 061125 		ERR AC1,RAN
  5628						LOOP TDNE2E,TDNE3E^
  5629	036231	367 06 0 00 036214 		SOJG	AC-1,TDNE2E		;ITERATION COUNTER
  5630	036232	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5631	036233	321 06 0 00 036221 		JUMPL	AC-1,TDNE3E		;LOOP ON ERROR SWITCH ^
  5632
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 103
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0156

  5633
  5634					;TEST TDNE,TDNN. CHECK FOR SKIP/ NO SKIP AND
  5635					;NO DATA CHANGE IN AC FOR NOT RAN TO RAN CONDITON.
  5636
  5637			000010			AC=10
  5638	036234				TDNE1F:	SETUP 20,0^
  5639			000011			AC1=<AC+1>&17
  5640			000012			AC2=<AC+2>&17
  5641			000013			AC3=<AC+3>&17
  5642			000014			AC4=<AC+4>&17
  5643			000015			AC5=<AC+5>&17
  5644			000006			RAN1=<AC-2>&17
  5645	036234	201 07 0 00 036234 		MOVEI	AC-1,.
  5646	036235	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5647	036236	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5648	036237	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5649	036240	201 07 0 00 000020 		MOVEI	AC-1,20		;ROUTINE WEIGHTING
  5650	036241	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5651	036242	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5652	036243				TDNE2F:	RANDOM^
  5653	036243	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5654	036244	270 10 0 00 060657 		ADD	AC,[142536475076]
  5655	036245	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5656	036246	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5657	036247	460 11 0 00 000010 	TDNE3F:	SETCM AC1,AC		;MAKE C(E) = 1'S COMP OF C(AC).
  5658	036250	616 10 0 00 000011 		TDNN AC,AC1		;C(E) + C(AC) = 0..NO SKIP.
  5659	036251	254 00 0 00 036253 		JRST	.+2
  5660	036252	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TDNN SKIPPED.
  5661	036253	612 10 0 00 000011 		TDNE AC,AC1		;C(E) + C(AC) = 0..SKIP.
  5662	036254	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  5663	036255	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  5664	036256	001 11 0 00 061125 		ERR AC1,RAN
  5665						LOOP TDNE2F,TDNE3F^
  5666	036257	367 07 0 00 036243 		SOJG	AC-1,TDNE2F		;ITERATION COUNTER
  5667	036260	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5668	036261	321 07 0 00 036247 		JUMPL	AC-1,TDNE3F		;LOOP ON ERROR SWITCH ^
  5669
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 104
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0157

  5670
  5671					;TEST TDZ,TDZA. CHECK FOR SKIP/ NO SKIP AND
  5672					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION.
  5673
  5674			000011			AC=11
  5675	036262				TDZA1:	SETUP 100,0^
  5676			000012			AC1=<AC+1>&17
  5677			000013			AC2=<AC+2>&17
  5678			000014			AC3=<AC+3>&17
  5679			000015			AC4=<AC+4>&17
  5680			000016			AC5=<AC+5>&17
  5681			000007			RAN1=<AC-2>&17
  5682	036262	201 10 0 00 036262 		MOVEI	AC-1,.
  5683	036263	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5684	036264	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5685	036265	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5686	036266	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5687	036267	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5688	036270	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5689	036271				TDZA2:	RANDOM^
  5690	036271	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5691	036272	270 11 0 00 060657 		ADD	AC,[142536475076]
  5692	036273	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5693	036274	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5694	036275	460 12 0 00 000011 	TDZA3:	SETCM AC1,AC		;MAKE C(E) 1'S COMP OF C(AC).
  5695	036276	630 11 0 00 000012 		TDZ AC,AC1		;SHOULD NOT SKIP.
  5696	036277	254 00 0 00 036301 		JRST	.+2
  5697	036300	005 11 0 00 060674 		ER	AC,[ASCII/TST/]	;TDZ SKIPPED.
  5698	036301	634 11 0 00 000012 		TDZA AC,AC1		;SHOULD SKIP.
  5699	036302	005 11 0 00 060674 		ER AC,[ASCII /TST/]
  5700	036303	312 11 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN NUM.
  5701	036304	001 12 0 00 061125 		ERR AC1,RAN
  5702	036305	316 12 0 00 061125 		CAMN AC1,RAN		;C(E) SHOULD NOT = RAN.
  5703	036306	001 12 0 00 061125 		ERR AC1,RAN
  5704						LOOP TDZA2,TDZA3^
  5705	036307	367 10 0 00 036271 		SOJG	AC-1,TDZA2		;ITERATION COUNTER
  5706	036310	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5707	036311	321 10 0 00 036275 		JUMPL	AC-1,TDZA3		;LOOP ON ERROR SWITCH ^
  5708
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 105
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0158

  5709
  5710					;TEST TDZ,TDZA. CHECK FOR SKIP/NO SKIP AND
  5711					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION.
  5712
  5713			000010			AC=10
  5714	036312				TDZAA:	SETUP 100,1^
  5715			000011			AC1=<AC+1>&17
  5716			000012			AC2=<AC+2>&17
  5717			000013			AC3=<AC+3>&17
  5718			000014			AC4=<AC+4>&17
  5719			000015			AC5=<AC+5>&17
  5720			000006			RAN1=<AC-2>&17
  5721	036312	201 07 0 00 036312 		MOVEI	AC-1,.
  5722	036313	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5723	036314	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5724	036315	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5725	036316	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5726	036317	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
  5727	036320	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5728	036321				TDZAB:	RANDOM^
  5729	036321	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5730	036322	270 10 0 00 060657 		ADD	AC,[142536475076]
  5731	036323	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5732	036324	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5733	036325	630 10 0 00 000010 	TDZAC:	TDZ AC,AC		;SHOULD NOT SKIP.
  5734	036326	312 10 0 00 060660 		CAME AC,[0]		;SHOULD CLEAR C(AC).
  5735	036327	011 00 0 00 061125 		EERR	,RAN
  5736	036330	200 10 0 00 061125 		MOVE AC,RAN		;RESTORE AC.
  5737	036331	634 10 0 00 000010 		TDZA AC,AC		;SHOULD SKIP.
  5738	036332	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  5739	036333	312 10 0 00 060660 		CAME AC,[0]		;C(AC) SHOULD BE CLEARED.
  5740	036334	011 00 0 00 061125 		EERR	,RAN
  5741						LOOP TDZAB,TDZAC^
  5742	036335	367 07 0 00 036321 		SOJG	AC-1,TDZAB		;ITERATION COUNTER
  5743	036336	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5744	036337	321 07 0 00 036325 		JUMPL	AC-1,TDZAC		;LOOP ON ERROR SWITCH ^
  5745
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 106
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0159

  5746
  5747
  5748					;TEST TDZ,TDZA. CHECK FOR SKIP/ NO SKIP AND
  5749					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION.
  5750
  5751			000010			AC=10
  5752	036340				TDZB1:	SETUP 100,0^
  5753			000011			AC1=<AC+1>&17
  5754			000012			AC2=<AC+2>&17
  5755			000013			AC3=<AC+3>&17
  5756			000014			AC4=<AC+4>&17
  5757			000015			AC5=<AC+5>&17
  5758			000006			RAN1=<AC-2>&17
  5759	036340	201 07 0 00 036340 		MOVEI	AC-1,.
  5760	036341	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5761	036342	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5762	036343	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5763	036344	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5764	036345	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5765	036346	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5766	036347				TDZB2:	RANDOM^
  5767	036347	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5768	036350	270 10 0 00 060657 		ADD	AC,[142536475076]
  5769	036351	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5770	036352	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5771	036353	204 11 0 00 000010 	TDZB3:	MOVS AC1,AC		;MAKE C(E) A DIFF. RAN. NUM.
  5772	036354	200 12 0 00 000011 		MOVE AC2,AC1		;SIMULATE
  5773	036355	430 12 0 00 000010 		XOR AC2,AC		;A
  5774	036356	404 12 0 00 000010 		AND AC2,AC		;TDZ.
  5775	036357	630 10 0 00 000011 		TDZ AC,AC1		;TDZ SHOULD NOT SKIP.
  5776	036360	312 10 0 00 000012 		CAME AC,AC2		;C(AC) SHOULD = SIM. ANS.
  5777	036361	001 11 0 00 061125 		ERR AC1,RAN
  5778	036362	200 10 0 00 061125 		MOVE AC,RAN		;RESTORE AC.
  5779	036363	634 10 0 00 000011 		TDZA AC,AC1		;SHOULD SKIP.
  5780	036364	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  5781	036365	312 10 0 00 000012 		CAME AC,AC2		;C(AC) SHOULD = SIM. ANS.
  5782	036366	001 11 0 00 061125 		ERR AC1,RAN
  5783						LOOP TDZB2,TDZB3^
  5784	036367	367 07 0 00 036347 		SOJG	AC-1,TDZB2		;ITERATION COUNTER
  5785	036370	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5786	036371	321 07 0 00 036353 		JUMPL	AC-1,TDZB3		;LOOP ON ERROR SWITCH ^
  5787
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 107
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0160

  5788					;TEST TDZE, TDZN. CHECK FOR SKIP/NO SKIP AND
  5789					;CORRECT DATA IN AC FOR FLOATING ONE IN C(E) AND
  5790					;THAT BIT CLEARED IN RANDOM NUM. IN AC.
  5791
  5792			000010			AC=10
  5793	036372				TDZE1:	SETUP 100,0^
  5794			000011			AC1=<AC+1>&17
  5795			000012			AC2=<AC+2>&17
  5796			000013			AC3=<AC+3>&17
  5797			000014			AC4=<AC+4>&17
  5798			000015			AC5=<AC+5>&17
  5799			000006			RAN1=<AC-2>&17
  5800	036372	201 07 0 00 036372 		MOVEI	AC-1,.
  5801	036373	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5802	036374	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5803	036375	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5804	036376	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5805	036377	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5806	036400	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5807	036401	201 11 0 00 000001 		MOVEI AC1,1		;SETUP AC1 TO CONTAIN A MASK BIT.
  5808	036402				TDZE2:	RANDOM^
  5809	036402	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5810	036403	270 10 0 00 060657 		ADD	AC,[142536475076]
  5811	036404	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5812	036405	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5813	036406	241 11 0 00 000001 		ROT AC1,1		;ROT TO TEST NEXT BIT.
  5814	036407	420 10 0 00 000011 	TDZE3:	ANDCM AC,AC1		;CLEAR MASK BIT IN AC.
  5815	036410	200 12 0 00 000010 		MOVE AC2,AC		;SAVE FOR FUTURE COMPARE.
  5816	036411	636 10 0 00 000011 		TDZN AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  5817	036412	254 00 0 00 036414 		JRST	.+2
  5818	036413	005 10 0 00 060674 		ER	AC,[ASCII /TST/]	;TDZN SKIPPED.
  5819	036414	632 10 0 00 000011 		TDZE AC,AC1		;C(E) + C(AC) = 0...SKIP.
  5820	036415	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  5821	036416	312 10 0 00 000012 		CAME AC,AC2		;C(AC) SHOULD = ORIG C(AC).
  5822	036417	001 11 0 00 000012 		ERR AC1,AC2
  5823						LOOP TDZE2,TDZE3^
  5824	036420	367 07 0 00 036402 		SOJG	AC-1,TDZE2		;ITERATION COUNTER
  5825	036421	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5826	036422	321 07 0 00 036407 		JUMPL	AC-1,TDZE3		;LOOP ON ERROR SWITCH ^
  5827
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 108
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0161

  5828
  5829					;TEST TDZE, TDZN. CHECK FOR SKIP/ NO SKIP AND
  5830					;CORRECT DATA IN AC FOR FLOATING ONE IN C(E)
  5831					;AND THAT BIT SET IN RAN. NUM. IN C(AC).
  5832
  5833			000010			AC=10
  5834	036423				TDZEA:	SETUP 100,0^
  5835			000011			AC1=<AC+1>&17
  5836			000012			AC2=<AC+2>&17
  5837			000013			AC3=<AC+3>&17
  5838			000014			AC4=<AC+4>&17
  5839			000015			AC5=<AC+5>&17
  5840			000006			RAN1=<AC-2>&17
  5841	036423	201 07 0 00 036423 		MOVEI	AC-1,.
  5842	036424	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5843	036425	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5844	036426	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5845	036427	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5846	036430	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5847	036431	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5848	036432	201 11 0 00 000001 		MOVEI AC1,1		;SET MASK BIT IN C(E).
  5849	036433				TDZEB:	RANDOM^
  5850	036433	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5851	036434	270 10 0 00 060657 		ADD	AC,[142536475076]
  5852	036435	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5853	036436	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5854	036437	241 11 0 00 000001 		ROT AC1,1		;ROT MASK BIT TO TEST NEXT BIT.
  5855	036440	434 10 0 00 000011 	TDZEC:	IOR AC,AC1		;SET MASK BIT IN AC.
  5856	036441	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
  5857	036442	200 12 0 00 000010 		MOVE AC2,AC		;SIMULATE
  5858	036443	420 12 0 00 000011 		ANDCM AC2,AC1		;A TDZ.
  5859	036444	632 10 0 00 000011 		TDZE AC,AC1		;C(E) + C(AC) NOT = 0...NO SKIP.
  5860	036445	312 10 0 00 000012 		CAME AC,AC2		;C(AC) SHOULD = SIM. ANS.
  5861	036446	001 11 0 00 000006 		ERR AC1,RAN1
  5862	036447	434 10 0 00 000011 		IOR AC,AC1		;RESET MASK BIT IN AC.
  5863	036450	636 10 0 00 000011 		TDZN AC,AC1		;C(E) + C(AC) NOT = 0...SKIP.
  5864	036451	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  5865	036452	312 10 0 00 000012 		CAME AC,AC2		;AND C(AC) SHOULD = SIM. ANS.
  5866	036453	001 11 0 00 000006 		ERR AC1,RAN1
  5867						LOOP TDZEB,TDZEC^
  5868	036454	367 07 0 00 036433 		SOJG	AC-1,TDZEB		;ITERATION COUNTER
  5869	036455	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5870	036456	321 07 0 00 036440 		JUMPL	AC-1,TDZEC		;LOOP ON ERROR SWITCH ^
  5871
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 109
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0162

  5872
  5873					;TEST TDZE,TDZN. SET AND ROT A MASK BIT IN AC
  5874					;AND CHECK SKIP/NO SKIP AND PROPER C(AC)
  5875					;FOR MASK BIT IN AC ANS RANDOM NUMBER IN E.
  5876
  5877			000010			AC=10
  5878	036457				TDZNA:	SETUP 100,0^
  5879			000011			AC1=<AC+1>&17
  5880			000012			AC2=<AC+2>&17
  5881			000013			AC3=<AC+3>&17
  5882			000014			AC4=<AC+4>&17
  5883			000015			AC5=<AC+5>&17
  5884			000006			RAN1=<AC-2>&17
  5885	036457	201 07 0 00 036457 		MOVEI	AC-1,.
  5886	036460	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5887	036461	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5888	036462	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5889	036463	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5890	036464	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5891	036465	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5892	036466	201 11 0 00 000001 		MOVEI AC1,1		;SETUP AC1 FOR MASK BIT.
  5893	036467				TDZNB:	RANDOM^
  5894	036467	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5895	036470	270 10 0 00 060657 		ADD	AC,[142536475076]
  5896	036471	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5897	036472	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5898	036473	241 11 0 00 000001 		ROT AC1,1		;ROT AC1 TO TEST NEXT BIT.
  5899	036474	200 12 0 00 000011 		MOVE AC2,AC1		;SAVE MASK BIT.
  5900	036475	200 11 0 00 000012 	TDZNC:	MOVE AC1,AC2		;RESTORE MASK BIT IF ERROR.
  5901	036476	420 10 0 00 000011 		ANDCM AC,AC1		;CLEAR MASK BIT IN RAN NUM.
  5902	036477	636 11 0 00 000010 		TDZN AC1,AC		;C(E) + C(AC) =0..SHOULDN'T SKIP.
  5903	036500	254 00 0 00 036502 		JRST	.+2
  5904	036501	005 11 0 00 060674 		ER	AC1,[ASCII /TST/];TDZN SKIPPED.
  5905	036502	632 11 0 00 000010 		TDZE AC1,AC		;C(E) + C(AC) = 0..SKIP.
  5906	036503	005 11 0 00 060674 		ER AC1,[ASCII /TST/]
  5907	036504	312 11 0 00 000012 		CAME AC1,AC2		;C(AC1) SHOULD NOT HAVE CHANGED.
  5908	036505	001 10 0 00 000012 		ERR AC,AC2
  5909						LOOP TDZNB,TDZNC^
  5910	036506	367 07 0 00 036467 		SOJG	AC-1,TDZNB		;ITERATION COUNTER
  5911	036507	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5912	036510	321 07 0 00 036475 		JUMPL	AC-1,TDZNC		;LOOP ON ERROR SWITCH ^
  5913
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 110
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0163

  5914
  5915					;TEST TDZE,TDZN. SET AND ROT A MASK BIT IN AC
  5916					;AND CHECK SKIP/NO SKIP AND PROPER C(AC)
  5917					;FOR MASK BIT IN AC AND RANDOM NUMBER IN E.
  5918					;RANDOM NUMBER HAS MASK BIT SET.
  5919
  5920			000010			AC=10
  5921	036511				TDZN1:	SETUP 40,0^
  5922			000011			AC1=<AC+1>&17
  5923			000012			AC2=<AC+2>&17
  5924			000013			AC3=<AC+3>&17
  5925			000014			AC4=<AC+4>&17
  5926			000015			AC5=<AC+5>&17
  5927			000006			RAN1=<AC-2>&17
  5928	036511	201 07 0 00 036511 		MOVEI	AC-1,.
  5929	036512	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5930	036513	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5931	036514	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5932	036515	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  5933	036516	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5934	036517	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5935	036520	201 11 0 00 000001 		MOVEI AC1,1		;SETUP AC1 FOR MASK BIT.
  5936	036521				TDZN2:	RANDOM^
  5937	036521	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5938	036522	270 10 0 00 060657 		ADD	AC,[142536475076]
  5939	036523	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5940	036524	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5941	036525	241 11 0 00 000001 		ROT AC1,1		;ROT AC1 TO TEST NEXT BIT.
  5942	036526	200 12 0 00 000011 	TDZN3:	MOVE AC2,AC1		;SAVE MASK BIT.
  5943	036527	434 10 0 00 000011 		IOR AC,AC1		;SET MASK BIT IN RAN.
  5944	036530	632 11 0 00 000010 		TDZE AC1,AC		;C(E) + C(AC) NOT = 0...NO SKIP.
  5945	036531	312 11 0 00 060660 		CAME AC1,[0]		;C(AC) SHOULD = 0.
  5946	036532	001 10 0 00 000012 		ERR AC,AC2
  5947	036533	200 11 0 00 000012 		MOVE AC1,AC2		;RESTORE MASK BIT.
  5948	036534	636 11 0 00 000010 		TDZN AC1,AC		;C(E) + C(AC) NOT = 0...SKIP.
  5949	036535	005 11 0 00 060674 		ER AC1,[ASCII /TST/]
  5950	036536	312 11 0 00 060660 		CAME AC1,[0]		;AC1 SHOULD HAVE GOTTEN CLEARED OUT.
  5951	036537	001 10 0 00 000012 		ERR AC,AC2
  5952	036540	200 11 0 00 000012 		MOVE AC1,AC2		;RESTORE MASK BIT.
  5953						LOOP TDZN2,TDZN3^
  5954	036541	367 07 0 00 036521 		SOJG	AC-1,TDZN2		;ITERATION COUNTER
  5955	036542	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5956	036543	321 07 0 00 036526 		JUMPL	AC-1,TDZN3		;LOOP ON ERROR SWITCH ^
  5957
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 111
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0164

  5958
  5959					;TEST TDO TDOA. CHECK FOR SKIP/NO SKIP ANS CORRECT DATA
  5960					;IN AC FOR RAN TO NOT RAN.
  5961
  5962			000010			AC=10
  5963	036544				TDOA1:	SETUP 100,0^
  5964			000011			AC1=<AC+1>&17
  5965			000012			AC2=<AC+2>&17
  5966			000013			AC3=<AC+3>&17
  5967			000014			AC4=<AC+4>&17
  5968			000015			AC5=<AC+5>&17
  5969			000006			RAN1=<AC-2>&17
  5970	036544	201 07 0 00 036544 		MOVEI	AC-1,.
  5971	036545	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  5972	036546	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  5973	036547	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  5974	036550	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  5975	036551	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  5976	036552	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  5977	036553				TDOA2:	RANDOM^
  5978	036553	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  5979	036554	270 10 0 00 060657 		ADD	AC,[142536475076]
  5980	036555	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  5981	036556	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  5982	036557	460 11 0 00 000010 	TDOA3:	SETCM AC1,AC		;MAKE "C(E)" = COMP OF RAN.
  5983	036560	670 10 0 00 000011 		TDO AC,AC1		;SHOULD NOT SKIP.
  5984	036561	312 10 0 00 060662 		CAME AC,[-1]		;AC SHOULD HAVE ALL BITS SET.
  5985	036562	001 11 0 00 061125 		ERR AC1,RAN
  5986	036563	200 10 0 00 061125 		MOVE AC,RAN		;RESTORE AC.
  5987	036564	674 10 0 00 000011 		TDOA AC,AC1		;SHOULD SKIP.
  5988	036565	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  5989	036566	312 10 0 00 060662 		CAME AC,[-1]		;AC SHOULD HAVE ALL BITS SET.
  5990	036567	001 11 0 00 061125 		ERR AC1,RAN
  5991						LOOP TDOA2,TDOA3^
  5992	036570	367 07 0 00 036553 		SOJG	AC-1,TDOA2		;ITERATION COUNTER
  5993	036571	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  5994	036572	321 07 0 00 036557 		JUMPL	AC-1,TDOA3		;LOOP ON ERROR SWITCH ^
  5995
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 112
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0165

  5996
  5997					;TEST TDO,TDOA. CHECK SKIP/NO SKIP AND
  5998					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION.
  5999
  6000			000002			AC=2
  6001	036573				TDOAA:	SETUP 40,0^
  6002			000003			AC1=<AC+1>&17
  6003			000004			AC2=<AC+2>&17
  6004			000005			AC3=<AC+3>&17
  6005			000006			AC4=<AC+4>&17
  6006			000007			AC5=<AC+5>&17
  6007			000000			RAN1=<AC-2>&17
  6008	036573	201 01 0 00 036573 		MOVEI	AC-1,.
  6009	036574	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6010	036575	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6011	036576	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6012	036577	201 01 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6013	036600	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6014	036601	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6015	036602				TDOAB:	RANDOM^
  6016	036602	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6017	036603	270 02 0 00 060657 		ADD	AC,[142536475076]
  6018	036604	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6019	036605	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6020	036606	670 02 0 00 000002 	TDOAC:	TDO AC,AC		;SHOULD NOT SKIP.
  6021	036607	254 00 0 00 036611 		JRST	.+2
  6022	036610	005 02 0 00 060674 		ER	AC,[ASCII /TST/] ;TDO SKIPPED.
  6023	036611	674 02 0 00 000002 		TDOA AC,AC		;SHOULD SKIP.
  6024	036612	005 02 0 00 060674 		ER AC,[ASCII /TST/]
  6025	036613	312 02 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD NOT HAVE CHANGED.
  6026	036614	011 00 0 00 061125 		EERR	,RAN
  6027						LOOP TDOAB,TDOAC^
  6028	036615	367 01 0 00 036602 		SOJG	AC-1,TDOAB		;ITERATION COUNTER
  6029	036616	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6030	036617	321 01 0 00 036606 		JUMPL	AC-1,TDOAC		;LOOP ON ERROR SWITCH ^
  6031
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 113
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0166

  6032
  6033					;TEST TDO, TDOA. CHECK FOR SKIP/NO SKIP
  6034					;AND CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION.
  6035
  6036			000002			AC=2
  6037	036620				TDOB1:	SETUP 400,3^
  6038			000003			AC1=<AC+1>&17
  6039			000004			AC2=<AC+2>&17
  6040			000005			AC3=<AC+3>&17
  6041			000006			AC4=<AC+4>&17
  6042			000007			AC5=<AC+5>&17
  6043			000000			RAN1=<AC-2>&17
  6044	036620	201 01 0 00 036620 		MOVEI	AC-1,.
  6045	036621	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6046	036622	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6047	036623	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6048	036624	201 01 0 00 000400 		MOVEI	AC-1,400		;ROUTINE WEIGHTING
  6049	036625	240 01 1 00 030661 		ASH	AC-1,@CMPLXT+3	;ROUTINE COMPLEXITY
  6050	036626	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6051	036627				TDOB2:	RANDOM^
  6052	036627	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6053	036630	270 02 0 00 060657 		ADD	AC,[142536475076]
  6054	036631	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6055	036632	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6056	036633	204 03 0 00 000002 	TDOB3:	MOVS AC1,AC		;MAKE AC1 ANOTHER RAN NUM.
  6057	036634	200 04 0 00 000002 		MOVE AC2,AC		;SIMULATE
  6058	036635	430 04 0 00 000003 		XOR AC2,AC1		;A
  6059	036636	434 04 0 00 000002 		IOR AC2,AC		;TDO INST.
  6060	036637	670 02 0 00 000003 		TDO AC,AC1		;SHOULD NOT SKIP.
  6061	036640	312 02 0 00 000004 		CAME AC,AC2		;C(AC) = SIM. ANS?
  6062	036641	001 03 0 00 061125 		ERR AC1,RAN		;NO.
  6063	036642	200 02 0 00 061125 		MOVE AC,RAN		;RESTORE AC.
  6064	036643	674 02 0 00 000003 		TDOA AC,AC1		;SHOULD SKIP.
  6065	036644	005 02 0 00 060674 		ER AC,[ASCII /TST/]
  6066	036645	312 02 0 00 000004 		CAME AC,AC2		;C(AC) = SIM ANS?
  6067	036646	001 03 0 00 061125 		ERR AC1,RAN		;NO.
  6068						LOOP TDOB2,TDOB3^
  6069	036647	367 01 0 00 036627 		SOJG	AC-1,TDOB2		;ITERATION COUNTER
  6070	036650	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6071	036651	321 01 0 00 036633 		JUMPL	AC-1,TDOB3		;LOOP ON ERROR SWITCH ^
  6072
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 114
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0167

  6073
  6074					;TEST TDOE,TDON. ROT A MASK BIT IN E AND SET THAT 
  6075					;BIT IN AC BEFORE TDO. CHECK FOR SKIP/NO SKIP
  6076					;AND PROPER DATA IN AC.
  6077
  6078			000002			AC=2
  6079	036652				TDOE1:	SETUP 40,0^
  6080			000003			AC1=<AC+1>&17
  6081			000004			AC2=<AC+2>&17
  6082			000005			AC3=<AC+3>&17
  6083			000006			AC4=<AC+4>&17
  6084			000007			AC5=<AC+5>&17
  6085			000000			RAN1=<AC-2>&17
  6086	036652	201 01 0 00 036652 		MOVEI	AC-1,.
  6087	036653	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6088	036654	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6089	036655	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6090	036656	201 01 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6091	036657	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6092	036660	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6093	036661	201 03 0 00 000001 		MOVEI AC1,1		;SETUP A MASK BIT IN "E".
  6094	036662				TDOE2:	RANDOM^
  6095	036662	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6096	036663	270 02 0 00 060657 		ADD	AC,[142536475076]
  6097	036664	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6098	036665	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6099	036666	241 03 0 00 000000 		ROT AC1,		;ROT MASK BIT TO TEST NEXT BIT.
  6100	036667	434 02 0 00 000003 	TDOE3:	IOR AC,AC1		;SET MASK BIT IN AC.
  6101	036670	200 04 0 00 000002 		MOVE AC2,AC		;SAVE AC IN AC2.
  6102	036671	672 02 0 00 000003 		TDOE AC,AC1		;C(E) + C(AC) NOT = 0. NO SKIP.
  6103	036672	254 00 0 00 036674 		JRST	.+2
  6104	036673	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TDOE SKIPPED.
  6105	036674	676 02 0 00 000003 		TDON AC,AC1		;C(E) + C(AC) NOT = 0..SKIP.
  6106	036675	005 02 0 00 060674 		ER AC,[ASCII /TST/]
  6107	036676	312 02 0 00 000004 		CAME AC,AC2		;C(AC) SHOULD NOT CHANGE.
  6108	036677	001 03 0 00 000004 		ERR AC1,AC2
  6109						LOOP TDOE2,TDOE3^
  6110	036700	367 01 0 00 036662 		SOJG	AC-1,TDOE2		;ITERATION COUNTER
  6111	036701	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6112	036702	321 01 0 00 036667 		JUMPL	AC-1,TDOE3		;LOOP ON ERROR SWITCH ^
  6113
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 115
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0168

  6114
  6115					;TEST TDOE,TDON. ROT A MASK BIT IN E AND CLEAR THAT
  6116					;BIT IN AC BEFORE TDO. CHECK FOR SKIP/NO SKIP
  6117					;AND PROPER DATA IN AC.
  6118
  6119			000003			AC=3
  6120	036703				TDOEA:	SETUP 40,0^
  6121			000004			AC1=<AC+1>&17
  6122			000005			AC2=<AC+2>&17
  6123			000006			AC3=<AC+3>&17
  6124			000007			AC4=<AC+4>&17
  6125			000010			AC5=<AC+5>&17
  6126			000001			RAN1=<AC-2>&17
  6127	036703	201 02 0 00 036703 		MOVEI	AC-1,.
  6128	036704	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6129	036705	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6130	036706	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6131	036707	201 02 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6132	036710	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6133	036711	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6134	036712	201 04 0 00 000001 		MOVEI AC1,1		;SETUP MASK BIT IN"E".
  6135	036713				TDOEB:	RANDOM^
  6136	036713	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6137	036714	270 03 0 00 060657 		ADD	AC,[142536475076]
  6138	036715	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6139	036716	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6140	036717	241 04 0 00 000001 		ROT AC1,1		;ROT MASK BIT TO TEST NEXT BIT.
  6141	036720	420 03 0 00 000004 	TDOEC:	ANDCM AC,AC1		;CLEAR MASK BIT IN AC.
  6142	036721	200 01 0 00 000003 		MOVE RAN1,AC		;SAVE AC.
  6143	036722	200 05 0 00 000003 		MOVE AC2,AC		;SIMULATE
  6144	036723	434 05 0 00 000004 		IOR AC2,AC1		;A TDO.
  6145	036724	672 03 0 00 000004 		TDOE AC,AC1		;C(E) + C(AC) = 0. SKIP.
  6146	036725	005 03 0 00 060674 		ER AC,[ASCII /TST/]
  6147	036726	312 03 0 00 000005 		CAME AC,AC2		;C(AC) = SIM ANS?
  6148	036727	001 04 0 00 000001 		ERR AC1,RAN1		;NO.
  6149	036730	200 03 0 00 000001 		MOVE AC,RAN1		;RESTORE AC.
  6150	036731	676 03 0 00 000004 		TDON AC,AC1		;C(E) + C(AC) = 0..NO SKIP.
  6151	036732	312 03 0 00 000005 	 	CAME AC,AC2		;C(AC) = SIM. ANS?
  6152	036733	001 04 0 00 000001 		ERR AC1,RAN1		;NO.
  6153						LOOP TDOEB,TDOEC^
  6154	036734	367 02 0 00 036713 		SOJG	AC-1,TDOEB		;ITERATION COUNTER
  6155	036735	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6156	036736	321 02 0 00 036720 		JUMPL	AC-1,TDOEC		;LOOP ON ERROR SWITCH ^
  6157
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 116
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0169

  6158
  6159					;TEST TDOE,TDON. ROT A MASK BIT IN AC AND CLEAR THAT
  6160					;BIT IN E BEFORE TDO. CHECK FOR SKIP/NO SKIP
  6161					;AND PROPER DATA IN AC.
  6162
  6163			000004			AC=4
  6164	036737				TDONA:	SETUP 40,0^
  6165			000005			AC1=<AC+1>&17
  6166			000006			AC2=<AC+2>&17
  6167			000007			AC3=<AC+3>&17
  6168			000010			AC4=<AC+4>&17
  6169			000011			AC5=<AC+5>&17
  6170			000002			RAN1=<AC-2>&17
  6171	036737	201 03 0 00 036737 		MOVEI	AC-1,.
  6172	036740	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6173	036741	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6174	036742	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6175	036743	201 03 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6176	036744	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6177	036745	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6178	036746	201 05 0 00 000001 		MOVEI AC1,1		;SETUP  A MASK BIT IN AC.
  6179	036747				TDONB:	RANDOM^
  6180	036747	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6181	036750	270 04 0 00 060657 		ADD	AC,[142536475076]
  6182	036751	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6183	036752	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6184	036753	241 05 0 00 000001 		ROT AC1,1		;ROT BIT TO TEST NEXT BIT.
  6185	036754	200 06 0 00 000005 		MOVE AC2,AC1		;SAVE MASK BIT SO IN CASE
  6186	036755	200 05 0 00 000006 	TDONC:	MOVE AC1,AC2		;OF ERROR IT CAN BE RESTORED.
  6187	036756	420 04 0 00 000005 		ANDCM AC,AC1		;CLEAR MASK BIT IN E.
  6188	036757	322 04 0 00 036747 		JUMPE AC,TDONB		;REJECT IF C(AC) = 0.
  6189	036760	200 07 0 00 000004 		MOVE AC3,AC		;SIMULATE
  6190	036761	434 07 0 00 000005 		IOR AC3,AC1		;TDO.
  6191	036762	672 05 0 00 000004 		TDOE AC1,AC		;C(E) + C(AC) = 0...SKIP.
  6192	036763	005 05 0 00 060674 		ER	AC1,[ASCII /TST/];TDOE DID NOT SKIP.
  6193	036764	312 05 0 00 000007 		CAME	AC1,AC3		;C(AC) SHOULD = SIM. ANS.
  6194	036765	001 04 0 00 000006 		ERR	AC,AC2
  6195	036766	676 05 0 00 000004 		TDON AC1,AC		;C(E) + C(AC) NOT = 0...SKIP.
  6196	036767	005 05 0 00 060674 		ER AC1,[ASCII /TST/]
  6197	036770	312 05 0 00 000007 		CAME AC1,AC3		;C(AC) SHOULD = SIM. ANS.
  6198	036771	001 04 0 00 000006 		ERR AC,AC2
  6199	036772	200 05 0 00 000006 		MOVE AC1,AC2		;RESTORE AC.
  6200						LOOP TDONB,TDONC^
  6201	036773	367 03 0 00 036747 		SOJG	AC-1,TDONB		;ITERATION COUNTER
  6202	036774	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6203	036775	321 03 0 00 036755 		JUMPL	AC-1,TDONC		;LOOP ON ERROR SWITCH ^
  6204
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 117
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0170

  6205
  6206					;TEST TDOE,TDON. ROT A MASK BIT IN AC  AND SET
  6207					;THAT BIT IN E BEFORE TDO. CHECK FOR SKIP/ NO SKIP
  6208					;AND CORRECT DATA IN AC.
  6209
  6210			000005			AC=5
  6211	036776				TDON1:	SETUP 40,0^
  6212			000006			AC1=<AC+1>&17
  6213			000007			AC2=<AC+2>&17
  6214			000010			AC3=<AC+3>&17
  6215			000011			AC4=<AC+4>&17
  6216			000012			AC5=<AC+5>&17
  6217			000003			RAN1=<AC-2>&17
  6218	036776	201 04 0 00 036776 		MOVEI	AC-1,.
  6219	036777	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6220	037000	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6221	037001	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6222	037002	201 04 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6223	037003	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6224	037004	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6225	037005	201 06 0 00 000001 		MOVEI AC1,1		;SETUP AC TO CONTAIN A MASK BIT.
  6226	037006				TDON2:	RANDOM^
  6227	037006	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6228	037007	270 05 0 00 060657 		ADD	AC,[142536475076]
  6229	037010	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6230	037011	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6231	037012	241 06 0 00 000001 		ROT AC1,1		;ROT TO TEST NEXT BIT.
  6232	037013	200 07 0 00 000006 		MOVE AC2,AC1		;SAVE C(AC) SO IT CAN BE
  6233	037014	200 06 0 00 000007 	TDON3:	MOVE AC1,AC2		;RESTORED IN CASE OF ERROR.
  6234	037015	434 05 0 00 000006 		IOR AC,AC1		;SET MASK BIT IN E.
  6235	037016	672 06 0 00 000005 		TDOE AC1,AC		;C(E) + C(AC) NOT = 0...NO SKIP.
  6236	037017	254 00 0 00 037021 		JRST	.+2
  6237	037020	005 06 0 00 060674 		ER	AC1,[ASCII /TST/];TDOE SKIPPED.
  6238	037021	676 06 0 00 000005 		TDON AC1,AC		;C(E) + C(AC) NOT = 0...SKIP.
  6239	037022	005 06 0 00 060674 		ER AC1,[ASCII /TST/]
  6240	037023	312 06 0 00 000005 		CAME AC1,AC		;C(AC) SHOULD = C(E).
  6241	037024	001 05 0 00 000007 		ERR AC,AC2
  6242	037025	200 06 0 00 000007 		MOVE AC1,AC2		;RESTORE AC.
  6243						LOOP TDON2,TDON3^
  6244	037026	367 04 0 00 037006 		SOJG	AC-1,TDON2		;ITERATION COUNTER
  6245	037027	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6246	037030	321 04 0 00 037014 		JUMPL	AC-1,TDON3		;LOOP ON ERROR SWITCH ^
  6247
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 118
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0171

  6248
  6249					;TEST TDC. CHECK FOR SKIP/NO SKIP AND CORRECT
  6250					;DATA FOR NOT RAN TO RAN CONDITION.
  6251
  6252			000006			AC=6
  6253	037031				TDC1:	SETUP 100,0^
  6254			000007			AC1=<AC+1>&17
  6255			000010			AC2=<AC+2>&17
  6256			000011			AC3=<AC+3>&17
  6257			000012			AC4=<AC+4>&17
  6258			000013			AC5=<AC+5>&17
  6259			000004			RAN1=<AC-2>&17
  6260	037031	201 05 0 00 037031 		MOVEI	AC-1,.
  6261	037032	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6262	037033	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6263	037034	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6264	037035	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6265	037036	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6266	037037	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6267	037040				TDC2:	RANDOM^
  6268	037040	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6269	037041	270 06 0 00 060657 		ADD	AC,[142536475076]
  6270	037042	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6271	037043	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6272	037044	460 07 0 00 061125 	TDC3:	SETCM AC1,RAN		;MAKE C("E") = COMP. OF RAN.
  6273	037045	650 06 0 00 000007 		TDC AC,AC1		;NO SKIP.
  6274	037046	312 06 0 00 060662 		CAME AC,[-1]		;C(AC) SHOULD = A -1.
  6275	037047	001 07 0 00 061125 		ERR AC1,RAN
  6276	037050	474 04 0 00 000000 		SETO RAN1,		;SET RAN1 FOR ERROR MESSAGE.
  6277	037051	650 06 0 00 000007 		TDC AC,AC1		;NO SKIP.
  6278	037052	312 06 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = RAN AGAIN.
  6279	037053	001 07 0 00 000004 		ERR AC1,RAN1
  6280						LOOP TDC2,TDC3^
  6281	037054	367 05 0 00 037040 		SOJG	AC-1,TDC2		;ITERATION COUNTER
  6282	037055	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6283	037056	321 05 0 00 037044 		JUMPL	AC-1,TDC3		;LOOP ON ERROR SWITCH ^
  6284
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 119
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0172

  6285
  6286					;TEST TDCA. CHECKING FOR SKIP/ NO SKIP AND
  6287					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION.
  6288
  6289			000010			AC=10
  6290	037057				TDCA1:	SETUP 100,0^
  6291			000011			AC1=<AC+1>&17
  6292			000012			AC2=<AC+2>&17
  6293			000013			AC3=<AC+3>&17
  6294			000014			AC4=<AC+4>&17
  6295			000015			AC5=<AC+5>&17
  6296			000006			RAN1=<AC-2>&17
  6297	037057	201 07 0 00 037057 		MOVEI	AC-1,.
  6298	037060	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6299	037061	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6300	037062	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6301	037063	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6302	037064	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6303	037065	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6304	037066				TDCA2:	RANDOM^
  6305	037066	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6306	037067	270 10 0 00 060657 		ADD	AC,[142536475076]
  6307	037070	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6308	037071	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6309	037072	460 11 0 00 061125 	TDCA3:	SETCM AC1,RAN		;MAKE C("E") = COMP OF RAN.
  6310	037073	650 10 0 00 000011 		TDC AC,AC1		;SHOULD NOT SKIP.
  6311	037074	254 00 0 00 037076 		JRST	.+2
  6312	037075	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TDC SKIPPED.
  6313	037076	654 10 0 00 000011 		TDCA AC,AC1		;SHOULD SKIP.
  6314	037077	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  6315	037100	312 10 0 00 061125 		CAME AC,RAN		;TWO TDC'S SHOULD RETURN C(AC)
  6316									;TO IT'S ORIGINAL VALUE.
  6317	037101	001 11 0 00 061125 		ERR AC1,RAN
  6318						LOOP TDCA2,TDCA3^
  6319	037102	367 07 0 00 037066 		SOJG	AC-1,TDCA2		;ITERATION COUNTER
  6320	037103	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6321	037104	321 07 0 00 037072 		JUMPL	AC-1,TDCA3		;LOOP ON ERROR SWITCH ^
  6322
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 120
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0173

  6323
  6324					;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND
  6325					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
  6326
  6327			000011			AC=11
  6328	037105				TDCE1:	SETUP 100,0^
  6329			000012			AC1=<AC+1>&17
  6330			000013			AC2=<AC+2>&17
  6331			000014			AC3=<AC+3>&17
  6332			000015			AC4=<AC+4>&17
  6333			000016			AC5=<AC+5>&17
  6334			000007			RAN1=<AC-2>&17
  6335	037105	201 10 0 00 037105 		MOVEI	AC-1,.
  6336	037106	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6337	037107	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6338	037110	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6339	037111	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6340	037112	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6341	037113	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6342	037114				TDCE2:	RANDOM^
  6343	037114	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6344	037115	270 11 0 00 060657 		ADD	AC,[142536475076]
  6345	037116	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6346	037117	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6347	037120	403 12 0 00 000007 	TDCE3:	SETZB AC1,RAN1		;CLEAR BOTH AC AND RAN1.
  6348	037121	652 12 0 00 000011 		TDCE AC1,AC		;C(E) + C(AC) = 0. SKIP.
  6349	037122	005 12 0 00 060674 		ER AC1,[ASCII /TST/]
  6350	037123	312 12 0 00 061125 		CAME AC1,RAN		;C(AC) SHOULD = RAN.
  6351	037124	011 00 0 00 000007 		EERR	,RAN1
  6352						LOOP TDCE2,TDCE3^
  6353	037125	367 10 0 00 037114 		SOJG	AC-1,TDCE2		;ITERATION COUNTER
  6354	037126	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6355	037127	321 10 0 00 037120 		JUMPL	AC-1,TDCE3		;LOOP ON ERROR SWITCH ^
  6356
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 121
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0174

  6357
  6358					;TEST TDCE,TDCN. CHECKING FOR SKIP/NO SKIP AND
  6359					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION.
  6360
  6361			000011			AC=11
  6362	037130				TDCEA:	SETUP 100,0^
  6363			000012			AC1=<AC+1>&17
  6364			000013			AC2=<AC+2>&17
  6365			000014			AC3=<AC+3>&17
  6366			000015			AC4=<AC+4>&17
  6367			000016			AC5=<AC+5>&17
  6368			000007			RAN1=<AC-2>&17
  6369	037130	201 10 0 00 037130 		MOVEI	AC-1,.
  6370	037131	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6371	037132	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6372	037133	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6373	037134	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6374	037135	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6375	037136	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6376	037137				TDCEB:	RANDOM^
  6377	037137	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6378	037140	270 11 0 00 060657 		ADD	AC,[142536475076]
  6379	037141	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6380	037142	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6381	037143	400 12 0 00 000000 	TDCEC:	SETZ AC1,		;CLEAR C(E).
  6382	037144	656 11 0 00 000012 		TDCN AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  6383	037145	254 00 0 00 037147 		JRST	.+2
  6384	037146	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TDCN SKIPPED.
  6385	037147	652 11 0 00 000012 		TDCE AC,AC1		;C(E) + C(AC) = 0. SKIP.
  6386	037150	005 11 0 00 060674 		ER AC,[ASCII /TST/]
  6387	037151	312 11 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD STILL = RAN.
  6388	037152	001 12 0 00 061125 		ERR AC1,RAN
  6389						LOOP TDCEB,TDCEC^
  6390	037153	367 10 0 00 037137 		SOJG	AC-1,TDCEB		;ITERATION COUNTER
  6391	037154	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6392	037155	321 10 0 00 037143 		JUMPL	AC-1,TDCEC		;LOOP ON ERROR SWITCH ^
  6393
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 122
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0175

  6394
  6395					;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND
  6396					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
  6397
  6398			000010			AC=10
  6399	037156				TDCE4:	SETUP 100,0^
  6400			000011			AC1=<AC+1>&17
  6401			000012			AC2=<AC+2>&17
  6402			000013			AC3=<AC+3>&17
  6403			000014			AC4=<AC+4>&17
  6404			000015			AC5=<AC+5>&17
  6405			000006			RAN1=<AC-2>&17
  6406	037156	201 07 0 00 037156 		MOVEI	AC-1,.
  6407	037157	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6408	037160	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6409	037161	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6410	037162	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6411	037163	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6412	037164	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6413	037165				TDCE5:	RANDOM^
  6414	037165	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6415	037166	270 10 0 00 060657 		ADD	AC,[142536475076]
  6416	037167	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6417	037170	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6418	037171	322 10 0 00 037165 		JUMPE AC,TDCE5		;REJECT IF RAN = 0.
  6419	037172	477 11 0 00 000006 	TDCE6:	SETOB AC1,RAN1		;SET C(AC) TO ALL ONES.
  6420	037173	460 12 0 00 000010 		SETCM AC2,AC		;SIMULATE A TDC.
  6421	037174	652 11 0 00 000010 		TDCE AC1,AC		;C(E) + C(AC) NOT = 0. NO SKIP.
  6422	037175	312 11 0 00 000012 		CAME  AC1,AC2		;C(AC) = SIM.. ANS?
  6423	037176	001 10 0 00 000006 		ERR AC,RAN1		;NO.
  6424						LOOP TDCE5,TDCE6^
  6425	037177	367 07 0 00 037165 		SOJG	AC-1,TDCE5		;ITERATION COUNTER
  6426	037200	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6427	037201	321 07 0 00 037172 		JUMPL	AC-1,TDCE6		;LOOP ON ERROR SWITCH ^
  6428
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 123
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0176

  6429
  6430					;TEST TDCE,TDCN. CHECKING FOR SKIP/NO SKIP AND
  6431					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION.
  6432
  6433			000010			AC=10
  6434	037202				TDCED:	SETUP 100,0^
  6435			000011			AC1=<AC+1>&17
  6436			000012			AC2=<AC+2>&17
  6437			000013			AC3=<AC+3>&17
  6438			000014			AC4=<AC+4>&17
  6439			000015			AC5=<AC+5>&17
  6440			000006			RAN1=<AC-2>&17
  6441	037202	201 07 0 00 037202 		MOVEI	AC-1,.
  6442	037203	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6443	037204	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6444	037205	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6445	037206	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6446	037207	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6447	037210	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6448	037211				TDCEE:	RANDOM^
  6449	037211	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6450	037212	270 10 0 00 060657 		ADD	AC,[142536475076]
  6451	037213	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6452	037214	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6453	037215	322 10 0 00 037211 		JUMPE AC,TDCEE		;REJECT IF RAN = 0.
  6454	037216	316 10 0 00 060662 		CAMN AC,[-1]		;C(AC) = -1?
  6455	037217	254 00 0 00 037211 		JRST	TDCEE		;YES. REJECT.
  6456	037220	477 11 0 00 000006 	TDCEF:	SETOB AC1,RAN1		;SET C(E) TO ALL ONES.
  6457	037221	652 10 0 00 000011 		TDCE AC,AC1		;C(E) + C(AC) NOT = 0. NO SKIP.
  6458	037222	254 00 0 00 037224 		JRST	.+2
  6459	037223	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TDCE SKIPPED.
  6460	037224	656 10 0 00 000011 		TDCN AC,AC1		;C(E) + C(AC) NOT = 0..SKIP.
  6461	037225	005 10 0 00 060674 		ER AC,[ASCII /TST/]
  6462	037226	312 10 0 00 061125 		CAME AC,RAN		;C(AC) SHOULD = ORIG C(AC).
  6463	037227	001 06 0 00 061125 		ERR RAN1,RAN
  6464						LOOP TDCEE,TDCEF^
  6465	037230	367 07 0 00 037211 		SOJG	AC-1,TDCEE		;ITERATION COUNTER
  6466	037231	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6467	037232	321 07 0 00 037220 		JUMPL	AC-1,TDCEF		;LOOP ON ERROR SWITCH ^
  6468
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 124
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0177

  6469
  6470					;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND
  6471					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION.
  6472
  6473			000010			AC=10
  6474	037233				TDCE7:	SETUP 100,0^
  6475			000011			AC1=<AC+1>&17
  6476			000012			AC2=<AC+2>&17
  6477			000013			AC3=<AC+3>&17
  6478			000014			AC4=<AC+4>&17
  6479			000015			AC5=<AC+5>&17
  6480			000006			RAN1=<AC-2>&17
  6481	037233	201 07 0 00 037233 		MOVEI	AC-1,.
  6482	037234	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6483	037235	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6484	037236	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6485	037237	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6486	037240	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6487	037241	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6488	037242				TDCE8:	RANDOM^
  6489	037242	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6490	037243	270 10 0 00 060657 		ADD	AC,[142536475076]
  6491	037244	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6492	037245	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6493	037246	322 10 0 00 037242 		JUMPE AC,TDCE8		;REJECT IF RAN = 0.
  6494	037247	200 11 0 00 061125 	TDCE9:	MOVE AC1,RAN		;MAKE C("AC") = C("E").
  6495	037250	652 11 0 00 000010 		TDCE AC1,AC		;C(E) + C(AC) NOT = 0. NO SKIP.
  6496	037251	312 11 0 00 060660 		CAME AC1,[0]		;C(AC) SHOULD = 0.
  6497	037252	001 10 0 00 000010 		ERR AC,AC
  6498						LOOP TDCE8,TDCE9^
  6499	037253	367 07 0 00 037242 		SOJG	AC-1,TDCE8		;ITERATION COUNTER
  6500	037254	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6501	037255	321 07 0 00 037247 		JUMPL	AC-1,TDCE9		;LOOP ON ERROR SWITCH ^
  6502
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 125
DSKBA1	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION ONE                                                             SEQ 0178

  6503
  6504					;TEST TDCE. CHECKING FOR SKIP/NO SKIP AND
  6505					;CORRECT DATA IN AC FOR RAN TO NOT RAN.
  6506
  6507			000010			AC=10
  6508	037256				TDCEG:	SETUP 100,0^
  6509			000011			AC1=<AC+1>&17
  6510			000012			AC2=<AC+2>&17
  6511			000013			AC3=<AC+3>&17
  6512			000014			AC4=<AC+4>&17
  6513			000015			AC5=<AC+5>&17
  6514			000006			RAN1=<AC-2>&17
  6515	037256	201 07 0 00 037256 		MOVEI	AC-1,.
  6516	037257	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6517	037260	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6518	037261	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6519	037262	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6520	037263	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6521	037264	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6522	037265				TDCEH:	RANDOM^
  6523	037265	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6524	037266	270 10 0 00 060657 		ADD	AC,[142536475076]
  6525	037267	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6526	037270	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6527	037271	460 11 0 00 000010 	TDCEI:	SETCM AC1,AC		;MAKE C("AC") = TO COMP OF RAN.
  6528	037272	200 06 0 00 000011 		MOVE RAN1,AC1		;SAVE C(AC) IN CASE OF ERROR.
  6529	037273	652 11 0 00 000010 		TDCE AC1,AC		;C(E) + C(AC) = 0. SKIP.
  6530	037274	005 11 0 00 060674 		ER AC1,[ASCII /TST/]
  6531	037275	312 11 0 00 060662 		CAME AC1,[-1]		;C(AC) SHOULD = -1.
  6532	037276	001 10 0 00 000006 		ERR AC,RAN1
  6533						LOOP TDCEH,TDCEI^
  6534	037277	367 07 0 00 037265 		SOJG	AC-1,TDCEH		;ITERATION COUNTER
  6535	037300	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6536	037301	321 07 0 00 037271 		JUMPL	AC-1,TDCEI		;LOOP ON ERROR SWITCH ^
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 1
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0179

  6537					SUBTTL	DIAGNOSTIC SECTION TWO
  6538						LALL
  6539
  6540					;TEST TDCN.  CHECK FOR SKIP /NO SKIP AND
  6541					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
  6542
  6543
  6544			000006			AC=6
  6545	037302				TDCN1:	SETUP	100,0^
  6546			000007			AC1=<AC+1>&17
  6547			000010			AC2=<AC+2>&17
  6548			000011			AC3=<AC+3>&17
  6549			000012			AC4=<AC+4>&17
  6550			000013			AC5=<AC+5>&17
  6551			000004			RAN1=<AC-2>&17
  6552	037302	201 05 0 00 037302 		MOVEI	AC-1,.
  6553	037303	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6554	037304	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6555	037305	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6556	037306	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6557	037307	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6558	037310	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6559	037311				TDCN2:	RANDOM^
  6560	037311	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6561	037312	270 06 0 00 060657 		ADD	AC,[142536475076]
  6562	037313	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6563	037314	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6564	037315	400 07 0 00 000000 	TDCN3:	SETZ	AC1,		;CLEAR C("AC").
  6565	037316	656 07 0 00 000006 		TDCN	AC1,AC		;C(E)+C(AC)=0. NO SKIP.
  6566	037317	312 07 0 00 061125 		CAME	AC1,RAN		;C(AC) SHOULD = C(E).
  6567	037320	001 06 0 00 060660 		ERR	AC,[0]
  6568						LOOP	TDCN2,TDCN3^
  6569	037321	367 05 0 00 037311 		SOJG	AC-1,TDCN2		;ITERATION COUNTER
  6570	037322	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6571	037323	321 05 0 00 037315 		JUMPL	AC-1,TDCN3		;LOOP ON ERROR SWITCH ^
  6572

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 2
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0180

  6573					;TEST TDCN. CHECKING FOR SKIP/NO SKIP AND
  6574					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
  6575
  6576
  6577			000010			AC=10
  6578	037324				TDCN4:	SETUP	100,0^
  6579			000011			AC1=<AC+1>&17
  6580			000012			AC2=<AC+2>&17
  6581			000013			AC3=<AC+3>&17
  6582			000014			AC4=<AC+4>&17
  6583			000015			AC5=<AC+5>&17
  6584			000006			RAN1=<AC-2>&17
  6585	037324	201 07 0 00 037324 		MOVEI	AC-1,.
  6586	037325	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6587	037326	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6588	037327	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6589	037330	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6590	037331	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6591	037332	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6592	037333				TDCN5:	RANDOM^
  6593	037333	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6594	037334	270 10 0 00 060657 		ADD	AC,[142536475076]
  6595	037335	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6596	037336	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6597	037337	322 10 0 00 037333 		JUMPE	AC,TDCN5	;REJECT IF RAN = 0.
  6598	037340	477 11 0 00 000006 	TDCN6:	SETOB	AC1,RAN1	;SET C(AC) TO A -1.
  6599	037341	460 12 0 00 000010 		SETCM	AC2,AC		;SIMULATE TDC
  6600	037342	656 11 0 00 000010 		TDCN	AC1,AC		;C(E)+C(AC) NOT=0. SKIP.
  6601	037343	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
  6602	037344	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC)SHOULD=SIM. ANS.
  6603	037345	001 10 0 00 060662 		ERR	AC,[-1]
  6604						LOOP	TDCN5,TDCN6^
  6605	037346	367 07 0 00 037333 		SOJG	AC-1,TDCN5		;ITERATION COUNTER
  6606	037347	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6607	037350	321 07 0 00 037340 		JUMPL	AC-1,TDCN6		;LOOP ON ERROR SWITCH ^
  6608
  6609
  6610

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0181

  6611
  6612
  6613					;TEST TDCN. CHECKING FOR SKIP /NO SKIP AND
  6614					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  6615
  6616
  6617			000002			AC=2
  6618	037351				TDCN7:	SETUP	100,0^
  6619			000003			AC1=<AC+1>&17
  6620			000004			AC2=<AC+2>&17
  6621			000005			AC3=<AC+3>&17
  6622			000006			AC4=<AC+4>&17
  6623			000007			AC5=<AC+5>&17
  6624			000000			RAN1=<AC-2>&17
  6625	037351	201 01 0 00 037351 		MOVEI	AC-1,.
  6626	037352	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6627	037353	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6628	037354	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6629	037355	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6630	037356	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6631	037357	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6632	037360				TDCN8:	RANDOM^
  6633	037360	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6634	037361	270 02 0 00 060657 		ADD	AC,[142536475076]
  6635	037362	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6636	037363	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6637	037364	322 02 0 00 037360 		JUMPE	AC,TDCN8	;REJECT IF RAN = 0.
  6638	037365	656 02 0 00 000002 	TDCN9:	TDCN	AC,AC		;C(E) + C(AC) NOT = 0...SKIP.
  6639	037366	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
  6640	037367	312 02 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD = 0.
  6641	037370	011 00 0 00 061125 		EERR	,RAN
  6642						LOOP	TDCN8,TDCN9^
  6643	037371	367 01 0 00 037360 		SOJG	AC-1,TDCN8		;ITERATION COUNTER
  6644	037372	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6645	037373	321 01 0 00 037365 		JUMPL	AC-1,TDCN9		;LOOP ON ERROR SWITCH ^
  6646

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0182

  6647
  6648
  6649					;TEST TDCN. CHECKING FOR SKIP /NO SKIP AND
  6650					;CORRECT DATA IN AC FOR RAN TO NOT RAN CONDITION
  6651
  6652
  6653			000003			AC=3
  6654	037374				TDCNG:	SETUP	100,0^
  6655			000004			AC1=<AC+1>&17
  6656			000005			AC2=<AC+2>&17
  6657			000006			AC3=<AC+3>&17
  6658			000007			AC4=<AC+4>&17
  6659			000010			AC5=<AC+5>&17
  6660			000001			RAN1=<AC-2>&17
  6661	037374	201 02 0 00 037374 		MOVEI	AC-1,.
  6662	037375	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6663	037376	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6664	037377	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6665	037400	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  6666	037401	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6667	037402	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6668	037403				TDCNH:	RANDOM^
  6669	037403	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6670	037404	270 03 0 00 060657 		ADD	AC,[142536475076]
  6671	037405	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6672	037406	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6673	037407	460 04 0 00 000003 	TDCNI:	SETCM	AC1,AC		;MAKE C("AC")=COMP OF RAN.
  6674	037410	200 01 0 00 000004 		MOVE	RAN1,AC1	;SAVE C(AC) IN CASE OF ERROR.
  6675	037411	656 04 0 00 000003 		TDCN	AC1,AC		;C(E)+C(AC)=0. NO SKIP.
  6676	037412	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD = A-1.
  6677	037413	001 03 0 00 000001 		ERR	AC,RAN1
  6678						LOOP	TDCNH,TDCNI^
  6679	037414	367 02 0 00 037403 		SOJG	AC-1,TDCNH		;ITERATION COUNTER
  6680	037415	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6681	037416	321 02 0 00 037407 		JUMPL	AC-1,TDCNI		;LOOP ON ERROR SWITCH ^
  6682

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0183

  6683
  6684
  6685					;TEST TDCE,TDCN. ROT A MASK BIT IN E AND
  6686					;CLEAR THAT BIT IN AC BEFORE TDC. CHECK SKIP/NO SKIP
  6687					;AND CORRECT DATA IN AC.
  6688
  6689
  6690			000004			AC=4
  6691	037417				TDCE10:	SETUP	40,0^
  6692			000005			AC1=<AC+1>&17
  6693			000006			AC2=<AC+2>&17
  6694			000007			AC3=<AC+3>&17
  6695			000010			AC4=<AC+4>&17
  6696			000011			AC5=<AC+5>&17
  6697			000002			RAN1=<AC-2>&17
  6698	037417	201 03 0 00 037417 		MOVEI	AC-1,.
  6699	037420	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6700	037421	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6701	037422	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6702	037423	201 03 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6703	037424	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6704	037425	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6705	037426	201 05 0 00 000001 		MOVEI	AC1,1		;SETUP AC1 TO CONTAIN ONE MASK BIT.
  6706	037427				TDCE11:	RANDOM^
  6707	037427	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6708	037430	270 04 0 00 060657 		ADD	AC,[142536475076]
  6709	037431	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6710	037432	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6711	037433	241 05 0 00 000001 		ROT	AC1,1		;ROT MASK TO TEST NEXT BIT
  6712	037434	420 04 0 00 000005 	TDCE12:	ANDCM	AC,AC1		;CLEAR MASK BIT IN AC.
  6713	037435	200 06 0 00 000004 		MOVE	AC2,AC		;SAVE AC IN AC2.
  6714	037436	656 04 0 00 000005 		TDCN	AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  6715	037437	254 00 0 00 037441 		JRST	.+2
  6716	037440	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TDCN SKIPPED.
  6717	037441	656 04 0 00 000005 		TDCN	AC,AC1		;C(E) + C(AC) NOT = 0...SKIP.
  6718	037442	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
  6719	037443	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD = ORIG. C(AC).
  6720	037444	001 05 0 00 000006 		ERR	AC1,AC2
  6721	037445	652 04 0 00 000005 		TDCE	AC,AC1		;C(E) + C(AC) = 0...SKIP.
  6722	037446	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
  6723	037447	652 04 0 00 000005 		TDCE	AC,AC1		;C(E) + C(AC) NOT = 0...NO SKIP.
  6724	037450	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD = ORIG. C(AC).
  6725	037451	001 05 0 00 000006 		ERR	AC1,AC2
  6726						LOOP	TDCE11,TDCE12^
  6727	037452	367 03 0 00 037427 		SOJG	AC-1,TDCE11		;ITERATION COUNTER
  6728	037453	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6729	037454	321 03 0 00 037434 		JUMPL	AC-1,TDCE12		;LOOP ON ERROR SWITCH ^
  6730

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0184

  6731
  6732
  6733					;TEST TDCE, TDCN. ROT A BIT IN E AND
  6734					;SET THAT BIT IN AC BEFORE TDC. CHECK FOR
  6735					;SKIP /NO SKIP AND CORRECT DATA IN AC.
  6736
  6737
  6738			000005			AC=5
  6739	037455				TDCE20:	SETUP	40,0^
  6740			000006			AC1=<AC+1>&17
  6741			000007			AC2=<AC+2>&17
  6742			000010			AC3=<AC+3>&17
  6743			000011			AC4=<AC+4>&17
  6744			000012			AC5=<AC+5>&17
  6745			000003			RAN1=<AC-2>&17
  6746	037455	201 04 0 00 037455 		MOVEI	AC-1,.
  6747	037456	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6748	037457	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6749	037460	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6750	037461	201 04 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6751	037462	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6752	037463	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6753	037464	201 06 0 00 000001 		MOVEI	AC1,1		;SETUP AC1 TO CONTAIN MASK BIT.
  6754	037465				TDCE21:	RANDOM^
  6755	037465	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6756	037466	270 05 0 00 060657 		ADD	AC,[142536475076]
  6757	037467	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6758	037470	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6759	037471	241 06 0 00 000001 		ROT	AC1,1		;ROT MASK TO TEST NEXT BIT.
  6760	037472	434 05 0 00 000006 	TDCE22:	IOR	AC,AC1		;SET MASK BIT IN AC.
  6761	037473	200 07 0 00 000005 		MOVE	AC2,AC		;SAVE AC IN AC2.
  6762	037474	652 05 0 00 000006 		TDCE	AC,AC1		;C(E) + C(AC) NOT = 0...NO SKIP.
  6763	037475	254 00 0 00 037477 		JRST	.+2
  6764	037476	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TDCE SKIPPED.
  6765	037477	652 05 0 00 000006 		TDCE	AC,AC1		;C(E) + C(AC) = 0...SKIP.
  6766	037500	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
  6767	037501	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD = ORIG. C(AC).
  6768	037502	001 06 0 00 000007 		ERR	AC1,AC2
  6769	037503	656 05 0 00 000006 		TDCN	AC,AC1		;C(E) + C(AC) NOT = 0...SKIP.
  6770	037504	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
  6771	037505	656 05 0 00 000006 		TDCN	AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  6772	037506	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD = ORIG. C(AC).
  6773	037507	001 06 0 00 000007 		ERR	AC1,AC2
  6774						LOOP	TDCE21,TDCE22^
  6775	037510	367 04 0 00 037465 		SOJG	AC-1,TDCE21		;ITERATION COUNTER
  6776	037511	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6777	037512	321 04 0 00 037472 		JUMPL	AC-1,TDCE22		;LOOP ON ERROR SWITCH ^
  6778

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 7
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0185

  6779
  6780
  6781					;TEST TDCE, TDCN. ROT A BIT IN AC
  6782					;AND CLEAR THAT BIT  E BEFORE TDC
  6783					;CHECK FOR SKIP /NO SKIP AND CORRECT DATA IN AC.
  6784
  6785
  6786			000006			AC=6
  6787	037513				TDCN1A:	SETUP	40,0^
  6788			000007			AC1=<AC+1>&17
  6789			000010			AC2=<AC+2>&17
  6790			000011			AC3=<AC+3>&17
  6791			000012			AC4=<AC+4>&17
  6792			000013			AC5=<AC+5>&17
  6793			000004			RAN1=<AC-2>&17
  6794	037513	201 05 0 00 037513 		MOVEI	AC-1,.
  6795	037514	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6796	037515	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6797	037516	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6798	037517	201 05 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6799	037520	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6800	037521	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6801	037522	201 07 0 00 000001 		MOVEI	AC1,1		;SETUP A BIT IN "AC".
  6802	037523				TDCN1B:	RANDOM^
  6803	037523	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6804	037524	270 06 0 00 060657 		ADD	AC,[142536475076]
  6805	037525	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6806	037526	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6807	037527	241 07 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT.
  6808	037530	200 10 0 00 000007 		MOVE	AC2,AC1		;SAVE IN AC2 FOR FUTURE COMPARE.
  6809	037531	200 07 0 00 000010 	TDCN1C:	MOVE	AC1,AC2		;COME HERE AND RESTORE C(AC) IF ERROR OCCURED.
  6810	037532	420 06 0 00 000007 		ANDCM	AC,AC1		;CLEAR BIT IN "E".
  6811	037533	322 06 0 00 037523 		JUMPE	AC,TDCN1B	;REJECT IF = 0.
  6812	037534	656 07 0 00 000006 		TDCN	AC1,AC		;C(E)+C(AC)=0. NO SKIP.
  6813	037535	254 00 0 00 037537 		JRST	.+2
  6814	037536	005 07 0 00 060674 		ER	AC1,[ASCII /TST/];TDCN SKIPPED.
  6815	037537	656 07 0 00 000006 		TDCN	AC1,AC		;C(E)+C(AC)NOT=0. SKIP.
  6816	037540	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
  6817	037541	312 07 0 00 000010 		CAME	AC1,AC2		;C(AC)SHOULD=C(AC)BEFORE TDC'S.
  6818	037542	001 06 0 00 000010 		ERR	AC,AC2
  6819	037543	652 07 0 00 000006 		TDCE	AC1,AC		;C(E)+C(AC)=0.SKIP.
  6820	037544	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
  6821	037545	652 07 0 00 000006 		TDCE	AC1,AC		;C(E)+C(AC)NOT=0. NO SKIP.
  6822	037546	312 07 0 00 000010 		CAME	AC1,AC2		;C(AC) SHOULD = C(AC) BEFORE TDC'S.
  6823	037547	001 06 0 00 000010 		ERR	AC,AC2
  6824						LOOP	TDCN1B,TDCN1C^
  6825	037550	367 05 0 00 037523 		SOJG	AC-1,TDCN1B		;ITERATION COUNTER
  6826	037551	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6827	037552	321 05 0 00 037531 		JUMPL	AC-1,TDCN1C		;LOOP ON ERROR SWITCH ^
  6828

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 8
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0186

  6829
  6830
  6831					;TEST TDCE, TDCN. ROT A BIT IN AC AND SET THAT BIT IN
  6832					;E BEFORE TDC. CHECK FOR SKIP /NO SKIP AND CORRECT DATA IN AC.
  6833
  6834
  6835			000007			AC=7
  6836	037553				TDCNA1:	SETUP	40,0^
  6837			000010			AC1=<AC+1>&17
  6838			000011			AC2=<AC+2>&17
  6839			000012			AC3=<AC+3>&17
  6840			000013			AC4=<AC+4>&17
  6841			000014			AC5=<AC+5>&17
  6842			000005			RAN1=<AC-2>&17
  6843	037553	201 06 0 00 037553 		MOVEI	AC-1,.
  6844	037554	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6845	037555	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6846	037556	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6847	037557	201 06 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6848	037560	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6849	037561	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6850	037562	201 10 0 00 000001 		MOVEI	AC1,1		;SET A BIT IN AC
  6851	037563				TDCNA2:	RANDOM^
  6852	037563	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6853	037564	270 07 0 00 060657 		ADD	AC,[142536475076]
  6854	037565	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6855	037566	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6856	037567	241 10 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT.
  6857	037570	200 11 0 00 000010 		MOVE	AC2,AC1		;SAVE "AC". IN CASE OF ERROR
  6858	037571	200 10 0 00 000011 	TDCNA3:	MOVE	AC1,AC2		;RESTORE "AC".
  6859	037572	434 07 0 00 000010 		IOR	AC,AC1		;SET BIT IN "E".
  6860	037573	200 12 0 00 000007 		MOVE	AC3,AC		;SIMULATE
  6861	037574	430 12 0 00 000010 		XOR	AC3,AC1		;A TDC.
  6862	037575	652 10 0 00 000007 		TDCE	AC1,AC		;C(E)+C(AC) NOT=0. NO SKIP.
  6863	037576	312 10 0 00 000012 		CAME	AC1,AC3		;C(AC) SHOULD = SIM. ANS.
  6864	037577	001 07 0 00 000011 		ERR	AC,AC2
  6865	037600	200 10 0 00 000011 		MOVE	AC1,AC2		;RESTORE "AC".
  6866	037601	656 10 0 00 000007 		TDCN	AC1,AC		;C(E)+C(AC) NOT=0. SKIP.
  6867	037602	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
  6868	037603	312 10 0 00 000012 		CAME	AC1,AC3		;C(AC) SHOULD = SIM. ANS.
  6869	037604	001 07 0 00 000011 		ERR	AC,AC2
  6870	037605	200 10 0 00 000011 		MOVE	AC1,AC2		;RESTORE "AC".
  6871						LOOP	TDCNA2,TDCNA3^
  6872	037606	367 06 0 00 037563 		SOJG	AC-1,TDCNA2		;ITERATION COUNTER
  6873	037607	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6874	037610	321 06 0 00 037571 		JUMPL	AC-1,TDCNA3		;LOOP ON ERROR SWITCH ^
  6875

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 9
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0187

  6876
  6877
  6878					;TEST TDNE, TDNN. ROT A BIT IN E AND
  6879					;CLEAR THAT BIT IN AC BEFORE TDN. CHECK FOR
  6880					;SKIP /NO SKIP AND CORRECT DATA IN AC.
  6881
  6882
  6883			000010			AC=10
  6884	037611				TDNN1:	SETUP	40,0^
  6885			000011			AC1=<AC+1>&17
  6886			000012			AC2=<AC+2>&17
  6887			000013			AC3=<AC+3>&17
  6888			000014			AC4=<AC+4>&17
  6889			000015			AC5=<AC+5>&17
  6890			000006			RAN1=<AC-2>&17
  6891	037611	201 07 0 00 037611 		MOVEI	AC-1,.
  6892	037612	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6893	037613	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6894	037614	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6895	037615	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6896	037616	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6897	037617	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6898	037620	201 11 0 00 000001 		MOVEI	AC1,1		;SET A BIT IN "E".
  6899	037621				TDNN2:	RANDOM^
  6900	037621	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6901	037622	270 10 0 00 060657 		ADD	AC,[142536475076]
  6902	037623	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6903	037624	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6904	037625	241 11 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT.
  6905	037626	420 10 0 00 000011 	TDNN3:	ANDCM	AC,AC1		;CLEAR BIT IN "AC".
  6906	037627	200 12 0 00 000010 		MOVE	AC2,AC		;SAVE C("AC") FOR FUTURE COMPARE.
  6907	037630	616 10 0 00 000011 		TDNN	AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  6908	037631	254 00 0 00 037633 		JRST	.+2
  6909	037632	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TDNN SKIPPED.
  6910	037633	612 10 0 00 000011 		TDNE	AC,AC1		;C(E)+C(AC)=0. SKIP.
  6911	037634	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
  6912	037635	312 10 0 00 000012 		CAME	AC,AC2		;C(AC)SHOULD NOT HAVE CHANGED.
  6913	037636	001 11 0 00 000012 		ERR	AC1,AC2
  6914						LOOP	TDNN2,TDNN3^
  6915	037637	367 07 0 00 037621 		SOJG	AC-1,TDNN2		;ITERATION COUNTER
  6916	037640	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6917	037641	321 07 0 00 037626 		JUMPL	AC-1,TDNN3		;LOOP ON ERROR SWITCH ^
  6918

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 10
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0188

  6919
  6920
  6921					;TEST TDNE, TDNN. ROT A BIT IN E AND SET THAT BIT IN AC BEFORE TDN. CHECK
  6922					;FOR SKIP /NO SKIP AND CORRECT DATA IN AC.
  6923
  6924
  6925			000011			AC=11
  6926	037642				TDNNA:	SETUP	40,0^
  6927			000012			AC1=<AC+1>&17
  6928			000013			AC2=<AC+2>&17
  6929			000014			AC3=<AC+3>&17
  6930			000015			AC4=<AC+4>&17
  6931			000016			AC5=<AC+5>&17
  6932			000007			RAN1=<AC-2>&17
  6933	037642	201 10 0 00 037642 		MOVEI	AC-1,.
  6934	037643	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6935	037644	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6936	037645	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6937	037646	201 10 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6938	037647	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6939	037650	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6940	037651	201 12 0 00 000001 		MOVEI	AC1,1		;SET A BIT IN "E"
  6941	037652				TDNNB:	RANDOM^
  6942	037652	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6943	037653	270 11 0 00 060657 		ADD	AC,[142536475076]
  6944	037654	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6945	037655	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6946	037656	241 12 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT.
  6947	037657	434 11 0 00 000012 	TDNNC:	IOR	AC,AC1		;SET BIT IN "AC".
  6948	037660	200 13 0 00 000011 		MOVE	AC2,AC		;SAVE FOR FUTURE COMPARE.
  6949	037661	612 11 0 00 000012 		TDNE	AC,AC1		;C(E)+(AC)NOT=0. NO SKIP.
  6950	037662	254 00 0 00 037664 		JRST	.+2
  6951	037663	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TDNE SKIPPED.
  6952	037664	616 11 0 00 000012 		TDNN	AC,AC1		;C(E)+C(AC)NOT=0. SKIP
  6953	037665	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
  6954	037666	312 11 0 00 000013 		CAME	AC,AC2		;C(AC)SHOULD NOT HAVE CHANGED.
  6955	037667	001 12 0 00 000013 		ERR	AC1,AC2
  6956						LOOP	TDNNB,TDNNC^
  6957	037670	367 10 0 00 037652 		SOJG	AC-1,TDNNB		;ITERATION COUNTER
  6958	037671	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  6959	037672	321 10 0 00 037657 		JUMPL	AC-1,TDNNC		;LOOP ON ERROR SWITCH ^
  6960

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 11
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0189

  6961
  6962
  6963					;TEST TDNE, TDNN. ROT A BIT IN AC AND
  6964					;CLEAR THAT BIT IN E BEFORE TDN. CHECK FOR
  6965					;SKIP /NO SKIP AND CORRECT DATA IN AC.
  6966
  6967
  6968			000012			AC=12
  6969	037673				TDNND:	SETUP	40,0^
  6970			000013			AC1=<AC+1>&17
  6971			000014			AC2=<AC+2>&17
  6972			000015			AC3=<AC+3>&17
  6973			000016			AC4=<AC+4>&17
  6974			000017			AC5=<AC+5>&17
  6975			000010			RAN1=<AC-2>&17
  6976	037673	201 11 0 00 037673 		MOVEI	AC-1,.
  6977	037674	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  6978	037675	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  6979	037676	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  6980	037677	201 11 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  6981	037700	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  6982	037701	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  6983	037702	201 13 0 00 000001 		MOVEI	AC1,1		;SET A BIT IN "AC"
  6984	037703				TDNNE:	RANDOM^
  6985	037703	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  6986	037704	270 12 0 00 060657 		ADD	AC,[142536475076]
  6987	037705	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  6988	037706	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  6989	037707	241 13 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
  6990	037710	200 14 0 00 000013 		MOVE	AC2,AC1		;SAVE C("AC") SO C("AC") CAN BE
  6991	037711	200 13 0 00 000014 	TDNNF:	MOVE	AC1,AC2		;RESTORED IN CASE OF ERROR.
  6992	037712	420 12 0 00 000013 		ANDCM	AC,AC1		;CLEAR BIT IN"E".
  6993	037713	616 13 0 00 000012 		TDNN	AC1,AC		;C(E)+C(AC)=0. NO SKIP.
  6994	037714	254 00 0 00 037716 		JRST	.+2
  6995	037715	005 13 0 00 060674 		ER	AC1,[ASCII /TST/];TDNN SKIPPED.
  6996	037716	612 13 0 00 000012 		TDNE	AC1,AC		;C(E)+C(AC)=0. SKIP.
  6997	037717	005 13 0 00 060674 		ER	AC1,[ASCII /TST/]
  6998	037720	312 13 0 00 000014 		CAME	AC1,AC2		;C(AC)SHOULD NOT CHANGE
  6999	037721	001 12 0 00 000014 		ERR	AC,AC2
  7000						LOOP	TDNNE,TDNNF^
  7001	037722	367 11 0 00 037703 		SOJG	AC-1,TDNNE		;ITERATION COUNTER
  7002	037723	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7003	037724	321 11 0 00 037711 		JUMPL	AC-1,TDNNF		;LOOP ON ERROR SWITCH ^
  7004

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 12
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0190

  7005
  7006
  7007					;TEST TDNE, TDNN. ROT A BIT IN AC AND SET THAT BIT IN E
  7008					;BEFORE TDN. CHECK FOR SKIP /NO SKIP AND CORRECT DATA IN AC.
  7009
  7010
  7011
  7012
  7013			000013			AC=13
  7014	037725				TDNN4:	SETUP	40,0^
  7015			000014			AC1=<AC+1>&17
  7016			000015			AC2=<AC+2>&17
  7017			000016			AC3=<AC+3>&17
  7018			000017			AC4=<AC+4>&17
  7019			000000			AC5=<AC+5>&17
  7020			000011			RAN1=<AC-2>&17
  7021	037725	201 12 0 00 037725 		MOVEI	AC-1,.
  7022	037726	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7023	037727	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7024	037730	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7025	037731	201 12 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
  7026	037732	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7027	037733	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7028	037734	201 14 0 00 000001 		MOVEI	AC1,1		;SET A BIT IN "AC".
  7029	037735				TDNN5:	RANDOM^
  7030	037735	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7031	037736	270 13 0 00 060657 		ADD	AC,[142536475076]
  7032	037737	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7033	037740	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7034	037741	241 14 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
  7035	037742	200 15 0 00 000014 		MOVE	AC2,AC1		;SAVE C("AC") SO C("AC") CAN BE
  7036	037743	200 14 0 00 000015 	TDNN6:	MOVE	AC1,AC2		;RESTORED IN CASE OF ERROR.
  7037	037744	434 13 0 00 000014 		IOR	AC,AC1		;SET BIT IN "E".
  7038	037745	612 14 0 00 000013 		TDNE	AC1,AC		;C(E)+C(AC)NOT=0. NO SKIP.
  7039	037746	254 00 0 00 037750 		JRST	.+2
  7040	037747	005 14 0 00 060674 		ER	AC1,[ASCII /TST/];TDNE SKIPPED.
  7041	037750	616 14 0 00 000013 		TDNN	AC1,AC		;C(E)+C(AC)NOT=0. SKIP.
  7042	037751	005 14 0 00 060674 		ER	AC1,[ASCII /TST/]
  7043	037752	312 14 0 00 000015 		CAME	AC1,AC2		;C(AC)SHOULD NOT CHANGE.
  7044	037753	001 13 0 00 000015 		ERR	AC,AC2
  7045						LOOP	TDNN5,TDNN6^
  7046	037754	367 12 0 00 037735 		SOJG	AC-1,TDNN5		;ITERATION COUNTER
  7047	037755	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7048	037756	321 12 0 00 037743 		JUMPL	AC-1,TDNN6		;LOOP ON ERROR SWITCH ^
  7049

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 13
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0191

  7050
  7051
  7052					;TEST TSC CHECK FOR SKIP /NO SKIP AND
  7053					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
  7054
  7055
  7056			000014			AC=14
  7057	037757				TSC1:	SETUP	100,0^
  7058			000015			AC1=<AC+1>&17
  7059			000016			AC2=<AC+2>&17
  7060			000017			AC3=<AC+3>&17
  7061			000000			AC4=<AC+4>&17
  7062			000001			AC5=<AC+5>&17
  7063			000012			RAN1=<AC-2>&17
  7064	037757	201 13 0 00 037757 		MOVEI	AC-1,.
  7065	037760	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7066	037761	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7067	037762	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7068	037763	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7069	037764	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7070	037765	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7071	037766				TSC2:	RANDOM^
  7072	037766	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7073	037767	270 14 0 00 060657 		ADD	AC,[142536475076]
  7074	037770	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7075	037771	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7076	037772	403 15 0 00 000012 	TSC3:	SETZB	AC1,RAN1	;CLEAR C(AC).
  7077	037773	200 16 0 00 000014 		MOVE	AC2,AC		;SIMULATE
  7078	037774	241 16 0 00 000022 		ROT	AC2,22		;A TSC.
  7079	037775	651 15 0 00 000014 		TSC	AC1,AC		;SHOULD NOT SKIP
  7080	037776	312 15 0 00 000016 		CAME	AC1,AC2		;C(AC) SHOULD = SIM. ANS.
  7081	037777	001 14 0 00 000012 		ERR	AC,RAN1
  7082						LOOP	TSC2,TSC3^
  7083	040000	367 13 0 00 037766 		SOJG	AC-1,TSC2		;ITERATION COUNTER
  7084	040001	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7085	040002	321 13 0 00 037772 		JUMPL	AC-1,TSC3		;LOOP ON ERROR SWITCH ^
  7086

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 14
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0192

  7087
  7088
  7089					;TEST TSC. CHECK FOR SKIP /NO SKIP AND
  7090					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION.
  7091
  7092
  7093			000015			AC=15
  7094
  7095	040003				TSC4:	SETUP	100,0^
  7096			000016			AC1=<AC+1>&17
  7097			000017			AC2=<AC+2>&17
  7098			000000			AC3=<AC+3>&17
  7099			000001			AC4=<AC+4>&17
  7100			000002			AC5=<AC+5>&17
  7101			000013			RAN1=<AC-2>&17
  7102	040003	201 14 0 00 040003 		MOVEI	AC-1,.
  7103	040004	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7104	040005	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7105	040006	202 14 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7106	040007	201 14 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7107	040010	240 14 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7108	040011	240 14 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7109	040012				TSC5:	RANDOM^
  7110	040012	200 15 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7111	040013	270 15 0 00 060657 		ADD	AC,[142536475076]
  7112	040014	241 15 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7113	040015	447 15 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7114	040016	400 16 0 00 000000 	TSC6:	SETZ	AC1,		;CLEAR "E".
  7115	040017	651 15 0 00 000016 		TSC	AC,AC1		;SHOULD NOT SKIP.
  7116	040020	312 15 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD NOT HAVE CHANGED
  7117	040021	001 16 0 00 061125 		ERR	AC1,RAN
  7118						LOOP	TSC5,TSC6^
  7119	040022	367 14 0 00 040012 		SOJG	AC-1,TSC5		;ITERATION COUNTER
  7120	040023	200 15 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7121	040024	321 14 0 00 040016 		JUMPL	AC-1,TSC6		;LOOP ON ERROR SWITCH ^
  7122

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 15
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0193

  7123
  7124
  7125					;TEST TSC.  CHECK FOR SKIP/NO SKIP AND
  7126					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION.
  7127
  7128
  7129			000006			AC=6
  7130	040025				TSC7:	SETUP	100,0^
  7131			000007			AC1=<AC+1>&17
  7132			000010			AC2=<AC+2>&17
  7133			000011			AC3=<AC+3>&17
  7134			000012			AC4=<AC+4>&17
  7135			000013			AC5=<AC+5>&17
  7136			000004			RAN1=<AC-2>&17
  7137	040025	201 05 0 00 040025 		MOVEI	AC-1,.
  7138	040026	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7139	040027	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7140	040030	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7141	040031	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7142	040032	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7143	040033	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7144	040034				TSC8:	RANDOM^
  7145	040034	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7146	040035	270 06 0 00 060657 		ADD	AC,[142536475076]
  7147	040036	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7148	040037	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7149	040040	200 04 0 00 000006 	TSC9:	MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
  7150	040041	204 07 0 00 000006 		MOVS	AC1,AC		;SIMULATE
  7151	040042	430 07 0 00 000006 		XOR	AC1,AC		;A TSC
  7152	040043	651 06 0 00 000006 		TSC	AC,AC		;SHOULD NOT SKIP
  7153	040044	312 06 0 00 000007 		CAME	AC,AC1		;C(AC)SHOULD=SIM. ANS.
  7154	040045	001 04 0 00 061125 		ERR	RAN1,RAN
  7155						LOOP	TSC8,TSC9^
  7156	040046	367 05 0 00 040034 		SOJG	AC-1,TSC8		;ITERATION COUNTER
  7157	040047	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7158	040050	321 05 0 00 040040 		JUMPL	AC-1,TSC9		;LOOP ON ERROR SWITCH ^
  7159

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 16
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0194

  7160
  7161
  7162					;TEST TSC, TSCA.  TWO TSC'S SHOULD PRODUCE ORIGINAL
  7163					;NUMBER IN AC.  CHECK FOR SKIP/NO SKIP AND
  7164					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  7165
  7166
  7167			000007			AC=7
  7168	040051				TSCA1:	SETUP	100,0^
  7169			000010			AC1=<AC+1>&17
  7170			000011			AC2=<AC+2>&17
  7171			000012			AC3=<AC+3>&17
  7172			000013			AC4=<AC+4>&17
  7173			000014			AC5=<AC+5>&17
  7174			000005			RAN1=<AC-2>&17
  7175	040051	201 06 0 00 040051 		MOVEI	AC-1,.
  7176	040052	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7177	040053	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7178	040054	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7179	040055	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7180	040056	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7181	040057	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7182	040060				TSCA2:	RANDOM^
  7183	040060	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7184	040061	270 07 0 00 060657 		ADD	AC,[142536475076]
  7185	040062	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7186	040063	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7187	040064	200 10 0 00 000007 	TSCA3:	MOVE	AC1,AC		;MAKE C("E")=C("AC").
  7188	040065	651 07 0 00 000010 		TSC	AC,AC1		;SHOULD NOT SKIP
  7189	040066	254 00 0 00 040070 		JRST	.+2
  7190	040067	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TSC SKIPPED.
  7191	040070	655 07 0 00 000010 		TSCA	AC,AC1		;SHOULD SKIP
  7192	040071	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
  7193	040072	312 07 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD BE BACK TO ORIG NUM
  7194	040073	001 10 0 00 061125 		ERR	AC1,RAN
  7195						LOOP	TSCA2,TSCA3^
  7196	040074	367 06 0 00 040060 		SOJG	AC-1,TSCA2		;ITERATION COUNTER
  7197	040075	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7198	040076	321 06 0 00 040064 		JUMPL	AC-1,TSCA3		;LOOP ON ERROR SWITCH ^
  7199
  7200
  7201

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 17
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0195

  7202
  7203
  7204					;TEST TSCE, TSCN.  CHECK FOR SKIP/NO SKIP
  7205					;AND CORRECT DATA IN AC FOR 0 TO RAN CONDITION.
  7206
  7207
  7208			000010			AC=10
  7209	040077				TSCE1:	SETUP	100,0^
  7210			000011			AC1=<AC+1>&17
  7211			000012			AC2=<AC+2>&17
  7212			000013			AC3=<AC+3>&17
  7213			000014			AC4=<AC+4>&17
  7214			000015			AC5=<AC+5>&17
  7215			000006			RAN1=<AC-2>&17
  7216	040077	201 07 0 00 040077 		MOVEI	AC-1,.
  7217	040100	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7218	040101	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7219	040102	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7220	040103	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7221	040104	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7222	040105	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7223	040106				TSCE2:	RANDOM^
  7224	040106	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7225	040107	270 10 0 00 060657 		ADD	AC,[142536475076]
  7226	040110	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7227	040111	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7228	040112	403 11 0 00 000006 	TSCE3:	SETZB	AC1,RAN1	;CLEAR C(E).
  7229	040113	657 10 0 00 000011 		TSCN	AC,AC1		;C(E)+C(AC)=0. NO SKIP
  7230	040114	254 00 0 00 040116 		JRST	.+2
  7231	040115	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TSCN SKIPPED.
  7232	040116	653 10 0 00 000011 		TSCE	AC,AC1		;C(E)+C(AC)=0, SKIP
  7233	040117	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
  7234	040120	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL = RAN
  7235	040121	001 06 0 00 061125 		ERR	RAN1,RAN
  7236						LOOP	TSCE2,TSCE3^
  7237	040122	367 07 0 00 040106 		SOJG	AC-1,TSCE2		;ITERATION COUNTER
  7238	040123	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7239	040124	321 07 0 00 040112 		JUMPL	AC-1,TSCE3		;LOOP ON ERROR SWITCH ^
  7240

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 18
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0196

  7241
  7242
  7243					;TEST TSCE, TSCN.  CHECK FOR SKIP/NO SKIP
  7244					;AND CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
  7245
  7246
  7247			000010			AC=10
  7248	040125				TSCEA:	SETUP	100,0^
  7249			000011			AC1=<AC+1>&17
  7250			000012			AC2=<AC+2>&17
  7251			000013			AC3=<AC+3>&17
  7252			000014			AC4=<AC+4>&17
  7253			000015			AC5=<AC+5>&17
  7254			000006			RAN1=<AC-2>&17
  7255	040125	201 07 0 00 040125 		MOVEI	AC-1,.
  7256	040126	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7257	040127	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7258	040130	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7259	040131	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7260	040132	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7261	040133	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7262	040134				TSCEB:	RANDOM^
  7263	040134	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7264	040135	270 10 0 00 060657 		ADD	AC,[142536475076]
  7265	040136	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7266	040137	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7267	040140	403 11 0 00 000006 	TSCEC:	SETZB	AC1,RAN1	;CLEAR C("AC").
  7268	040141	204 12 0 00 000010 		MOVS	AC2,AC		;SIMULATE TSC.
  7269	040142	657 11 0 00 000010 		TSCN	AC1,AC		;C(E)+C(AC)=0. NO SKIP
  7270	040143	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC) SHOULD = SIM ANS
  7271	040144	001 10 0 00 000006 		ERR	AC,RAN1
  7272	040145	400 11 0 00 000000 		SETZ	AC1,		;CLEAR C("AC").
  7273	040146	653 11 0 00 000010 		TSCE	AC1,AC		;C(E)+C(AC)=0. SKIP
  7274	040147	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
  7275	040150	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC) SHOULD = SIM ANS
  7276	040151	001 10 0 00 000006 		ERR	AC,RAN1
  7277						LOOP	TSCEB,TSCEC^
  7278	040152	367 07 0 00 040134 		SOJG	AC-1,TSCEB		;ITERATION COUNTER
  7279	040153	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7280	040154	321 07 0 00 040140 		JUMPL	AC-1,TSCEC		;LOOP ON ERROR SWITCH ^
  7281

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 19
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0197

  7282
  7283
  7284					;TEST TSCE, TSCN.  CHECK FOR SKIP/NO SKIP AND
  7285					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
  7286
  7287
  7288			000002			AC=2
  7289	040155				TSCE4:	SETUP	100,0^
  7290			000003			AC1=<AC+1>&17
  7291			000004			AC2=<AC+2>&17
  7292			000005			AC3=<AC+3>&17
  7293			000006			AC4=<AC+4>&17
  7294			000007			AC5=<AC+5>&17
  7295			000000			RAN1=<AC-2>&17
  7296	040155	201 01 0 00 040155 		MOVEI	AC-1,.
  7297	040156	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7298	040157	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7299	040160	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7300	040161	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7301	040162	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7302	040163	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7303	040164				TSCE5:	RANDOM^
  7304	040164	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7305	040165	270 02 0 00 060657 		ADD	AC,[142536475076]
  7306	040166	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7307	040167	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7308	040170	322 02 0 00 040164 		JUMPE	AC,TSCE5	;REJECT IF RAN = 0.
  7309	040171	316 02 0 00 060662 		CAMN	AC,[-1]		;C(AC) = -1?
  7310	040172	254 00 0 00 040164 		JRST	TSCE5		;YES. REJECT.
  7311	040173	477 03 0 00 000000 	TSCE6:	SETOB	AC1,RAN1	;SET C(E) TO ALL ONES.
  7312	040174	653 02 0 00 000003 		TSCE	AC,AC1		;C(E)+C(AC) NOT=0. NO SKIP
  7313	040175	254 00 0 00 040177 		JRST	.+2
  7314	040176	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TSCE SKIPPED.
  7315	040177	657 02 0 00 000003 		TSCN	AC,AC1		;C(E)+C(AC) NOT=0, SKIP
  7316	040200	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
  7317	040201	312 02 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIGINAL C(AC)
  7318	040202	001 00 0 00 061125 		ERR	RAN1,RAN
  7319						LOOP	TSCE5,TSCE6^
  7320	040203	367 01 0 00 040164 		SOJG	AC-1,TSCE5		;ITERATION COUNTER
  7321	040204	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7322	040205	321 01 0 00 040173 		JUMPL	AC-1,TSCE6		;LOOP ON ERROR SWITCH ^
  7323

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 20
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0198

  7324
  7325
  7326					;TEST TSCE, TSCN.  CHECK FOR SKIP/NO SKIP AND
  7327					;CORRECT DATA IN AC FOR RAN TO -1.
  7328
  7329
  7330			000003			AC=3
  7331	040206				TSCED:	SETUP	100,0^
  7332			000004			AC1=<AC+1>&17
  7333			000005			AC2=<AC+2>&17
  7334			000006			AC3=<AC+3>&17
  7335			000007			AC4=<AC+4>&17
  7336			000010			AC5=<AC+5>&17
  7337			000001			RAN1=<AC-2>&17
  7338	040206	201 02 0 00 040206 		MOVEI	AC-1,.
  7339	040207	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7340	040210	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7341	040211	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7342	040212	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7343	040213	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7344	040214	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7345	040215				TSCEE:	RANDOM^
  7346	040215	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7347	040216	270 03 0 00 060657 		ADD	AC,[142536475076]
  7348	040217	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7349	040220	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7350	040221	322 03 0 00 040215 		JUMPE	AC,TSCEE	;REJECT IF RAN = 0.
  7351	040222	477 04 0 00 000001 	TSCEF:	SETOB	AC1,RAN1	;SET C("AC") TO ALL ONES.
  7352	040223	653 04 0 00 000003 		TSCE	AC1,AC		;C(E)+C(AC) NOT=0,NO SKIP
  7353	040224	254 00 0 00 040226 		JRST	.+2
  7354	040225	005 04 0 00 060674 		ER	AC1,[ASCII /TST/];TSCE SKIPPED.
  7355	040226	653 04 0 00 000003 		TSCE	AC1,AC		;C(E) + C(AC) = 0. SKIP.
  7356	040227	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
  7357	040230	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD = ORIG. C(AC).
  7358	040231	001 03 0 00 000001 		ERR	AC,RAN1
  7359	040232	474 04 0 00 000000 		SETO	AC1,		;RESTORE C(AC).
  7360	040233	657 04 0 00 000003 		TSCN	AC1,AC		;C(E) + C(AC) NOT = 0..SKIP.
  7361	040234	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
  7362	040235	657 04 0 00 000003 		TSCN	AC1,AC		;C(E) + C(AC) = 0..NO SKIP.
  7363	040236	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD = ORIG. C(AC).
  7364	040237	001 03 0 00 000001 		ERR	AC,RAN1
  7365						LOOP	TSCEE,TSCEF^
  7366	040240	367 02 0 00 040215 		SOJG	AC-1,TSCEE		;ITERATION COUNTER
  7367	040241	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7368	040242	321 02 0 00 040222 		JUMPL	AC-1,TSCEF		;LOOP ON ERROR SWITCH ^
  7369

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 21
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0199

  7370
  7371
  7372					;TEST TSCE, TSCN.  CHECK FOR SKIP/NO SKIP
  7373					;AND CORRECT DATA IN AC FOR NOT RAN TO RAN
  7374					;CONDITION
  7375
  7376
  7377			000004			AC=4
  7378	040243				TSCN1:	SETUP	100,0^
  7379			000005			AC1=<AC+1>&17
  7380			000006			AC2=<AC+2>&17
  7381			000007			AC3=<AC+3>&17
  7382			000010			AC4=<AC+4>&17
  7383			000011			AC5=<AC+5>&17
  7384			000002			RAN1=<AC-2>&17
  7385	040243	201 03 0 00 040243 		MOVEI	AC-1,.
  7386	040244	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7387	040245	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7388	040246	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7389	040247	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7390	040250	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7391	040251	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7392	040252				TSCN2:	RANDOM^
  7393	040252	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7394	040253	270 04 0 00 060657 		ADD	AC,[142536475076]
  7395	040254	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7396	040255	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7397	040256	322 04 0 00 040252 		JUMPE	AC,TSCN2	;REJECT IF C("AC") = 0.
  7398	040257	204 05 0 00 000004 	TSCN3:	MOVS	AC1,AC		;MAKE C(E) =
  7399	040260	450 05 0 00 000000 		SETCA	AC1,		;COMP OF C(AC).
  7400	040261	322 05 0 00 040252 		JUMPE	AC1,TSCN2	;REJECT IF E = 0.
  7401	040262	657 04 0 00 000005 		TSCN	AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  7402	040263	254 00 0 00 040265 		JRST	.+2
  7403	040264	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TSCN SKIPPED.
  7404	040265	657 04 0 00 000005 		TSCN	AC,AC1		;C(E) + C(AC) NOT = 0...SKIP.
  7405	040266	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
  7406	040267	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD = ORIG. C(AC).
  7407	040270	001 05 0 00 061125 		ERR	AC1,RAN
  7408	040271	653 04 0 00 000005 		TSCE	AC,AC1		;C(E) + C(AC) = 0...SKIP.
  7409	040272	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
  7410	040273	653 04 0 00 000005 		TSCE	AC,AC1		;C(E) + C(AC) NOT = 0...NO SKIP.
  7411	040274	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIGINAL C(AC)
  7412	040275	001 05 0 00 061125 		ERR	AC1,RAN
  7413						LOOP	TSCN2,TSCN3^
  7414	040276	367 03 0 00 040252 		SOJG	AC-1,TSCN2		;ITERATION COUNTER
  7415	040277	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7416	040300	321 03 0 00 040257 		JUMPL	AC-1,TSCN3		;LOOP ON ERROR SWITCH ^
  7417

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 22
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0200

  7418
  7419
  7420					;TEST TSCE, TSCN.  CHECK FOR SKIP/NO SKIP
  7421					;AND CORRECT DATA IN AC FOR RAN TO RAN
  7422					;CONDITION
  7423
  7424
  7425			000005			AC=5
  7426	040301				TSCNA:	SETUP	100,0^
  7427			000006			AC1=<AC+1>&17
  7428			000007			AC2=<AC+2>&17
  7429			000010			AC3=<AC+3>&17
  7430			000011			AC4=<AC+4>&17
  7431			000012			AC5=<AC+5>&17
  7432			000003			RAN1=<AC-2>&17
  7433	040301	201 04 0 00 040301 		MOVEI	AC-1,.
  7434	040302	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7435	040303	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7436	040304	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7437	040305	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7438	040306	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7439	040307	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7440	040310				TSCNB:	RANDOM^
  7441	040310	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7442	040311	270 05 0 00 060657 		ADD	AC,[142536475076]
  7443	040312	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7444	040313	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7445	040314	322 05 0 00 040310 		JUMPE	AC,TSCNB	;REJECT IF RAN = 0.
  7446	040315	200 06 0 00 000005 	TSCNC:	MOVE	AC1,AC		;MAKE C("E") = C("AC").
  7447	040316	204 07 0 00 000005 		MOVS	AC2,AC		;MAKE SURE
  7448	040317	404 07 0 00 000005 		AND	AC2,AC		;AND CONDITION
  7449	040320	322 07 0 00 040310 		JUMPE	AC2,TSCNB	;DOESN'T = 0.
  7450	040321	430 07 0 00 000005 		XOR	AC2,AC		;ALSO HALVES NOT =.
  7451	040322	322 07 0 00 040310 		JUMPE	AC2,TSCNB	;REJECT IF 0.
  7452	040323	653 05 0 00 000006 		TSCE	AC,AC1		;C(E)+C(AC) NOT=0. NO SKIP
  7453	040324	254 00 0 00 040326 		JRST	.+2
  7454	040325	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TSCE SKIPPED.
  7455	040326	657 05 0 00 000006 		TSCN	AC,AC1		;C(E)+C(AC) NOT=0. SKIP
  7456	040327	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
  7457	040330	312 05 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIGINAL C(AC)
  7458	040331	001 06 0 00 061125 		ERR	AC1,RAN
  7459						LOOP	TSCNB,TSCNC^
  7460	040332	367 04 0 00 040310 		SOJG	AC-1,TSCNB		;ITERATION COUNTER
  7461	040333	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7462	040334	321 04 0 00 040315 		JUMPL	AC-1,TSCNC		;LOOP ON ERROR SWITCH ^
  7463

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 23
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0201

  7464
  7465
  7466					;TEST TSO,TSOA.  CHECK FOR SKIP/NO SKIP AND
  7467					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
  7468
  7469
  7470			000006			AC=6
  7471	040335				TSO1:	SETUP	100,0^
  7472			000007			AC1=<AC+1>&17
  7473			000010			AC2=<AC+2>&17
  7474			000011			AC3=<AC+3>&17
  7475			000012			AC4=<AC+4>&17
  7476			000013			AC5=<AC+5>&17
  7477			000004			RAN1=<AC-2>&17
  7478	040335	201 05 0 00 040335 		MOVEI	AC-1,.
  7479	040336	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7480	040337	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7481	040340	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7482	040341	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7483	040342	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7484	040343	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7485	040344				TSO2:	RANDOM^
  7486	040344	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7487	040345	270 06 0 00 060657 		ADD	AC,[142536475076]
  7488	040346	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7489	040347	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7490	040350	403 07 0 00 000004 	TSO3:	SETZB	AC1,RAN1	;CLEAR C("E").
  7491	040351	200 10 0 00 000006 		MOVE	AC2,AC		;SIMULATE
  7492	040352	241 10 0 00 000022 		ROT	AC2,22		;A TSO
  7493	040353	671 07 0 00 000006 		TSO	AC1,AC		;SHOULD NOT SKIP
  7494	040354	254 00 0 00 040356 		JRST	.+2
  7495	040355	005 07 0 00 060674 		ER	AC1,[ASCII /TST/];TSO SKIPPED.
  7496	040356	675 07 0 00 000006 		TSOA	AC1,AC		;SHOULD SKIP
  7497	040357	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
  7498	040360	312 07 0 00 000010 		CAME	AC1,AC2		;C(AC) SHOULD=SIM ANS
  7499	040361	001 06 0 00 000004 		ERR	AC,RAN1
  7500						LOOP	TSO2,TSO3^
  7501	040362	367 05 0 00 040344 		SOJG	AC-1,TSO2		;ITERATION COUNTER
  7502	040363	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7503	040364	321 05 0 00 040350 		JUMPL	AC-1,TSO3		;LOOP ON ERROR SWITCH ^
  7504

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 24
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0202

  7505
  7506
  7507					;TEST TSO, TSOA.  CHECK FOR SKIP/NO SKIP
  7508					;AND CORRECT DATA IN AC FOR 0 TO RAN CONDITION
  7509
  7510
  7511			000007			AC=7
  7512	040365				TSO4:	SETUP	100,0^
  7513			000010			AC1=<AC+1>&17
  7514			000011			AC2=<AC+2>&17
  7515			000012			AC3=<AC+3>&17
  7516			000013			AC4=<AC+4>&17
  7517			000014			AC5=<AC+5>&17
  7518			000005			RAN1=<AC-2>&17
  7519	040365	201 06 0 00 040365 		MOVEI	AC-1,.
  7520	040366	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7521	040367	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7522	040370	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7523	040371	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7524	040372	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7525	040373	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7526	040374				TSO5:	RANDOM^
  7527	040374	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7528	040375	270 07 0 00 060657 		ADD	AC,[142536475076]
  7529	040376	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7530	040377	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7531	040400	400 10 0 00 000000 	TSO6:	SETZ	AC1,		;CLEAR C(E).
  7532	040401	671 07 0 00 000010 		TSO	AC,AC1		;SHOULD NOT SKIP
  7533	040402	254 00 0 00 040404 		JRST	.+2
  7534	040403	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TSO SKIPPED.
  7535	040404	675 07 0 00 000010 		TSOA	AC,AC1		;SHOULD SKIP
  7536	040405	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
  7537	040406	312 07 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT HAVE CHANGED.
  7538	040407	001 10 0 00 061125 		ERR	AC1,RAN
  7539						LOOP	TSO5,TSO6^
  7540	040410	367 06 0 00 040374 		SOJG	AC-1,TSO5		;ITERATION COUNTER
  7541	040411	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7542	040412	321 06 0 00 040400 		JUMPL	AC-1,TSO6		;LOOP ON ERROR SWITCH ^
  7543

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 25
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0203

  7544
  7545
  7546					;TEST TSO,TSOA.  CHECK FOR SKIP/NO SKIP
  7547					;AND CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION
  7548					;C(RAN1)=C(RAN) SWAPPED
  7549
  7550
  7551			000010			AC=10
  7552	040413				TSO7:	SETUP	100,0^
  7553			000011			AC1=<AC+1>&17
  7554			000012			AC2=<AC+2>&17
  7555			000013			AC3=<AC+3>&17
  7556			000014			AC4=<AC+4>&17
  7557			000015			AC5=<AC+5>&17
  7558			000006			RAN1=<AC-2>&17
  7559	040413	201 07 0 00 040413 		MOVEI	AC-1,.
  7560	040414	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7561	040415	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7562	040416	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7563	040417	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7564	040420	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7565	040421	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7566	040422				TSO8:	RANDOM^
  7567	040422	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7568	040423	270 10 0 00 060657 		ADD	AC,[142536475076]
  7569	040424	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7570	040425	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7571	040426	204 11 0 00 000010 	TSO9:	MOVS	AC1,AC		;MAKE C("E")=C("AC") SWAPPED
  7572	040427	671 10 0 00 000011 		TSO	AC,AC1		;SHOULD NOT SKIP
  7573	040430	254 00 0 00 040432 		JRST	.+2
  7574	040431	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TSO SKIPPED.
  7575	040432	675 10 0 00 000011 		TSOA	AC,AC1		;SHOULD SKIP
  7576	040433	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
  7577	040434	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIGINAL C(AC)
  7578	040435	001 11 0 00 061125 		ERR	AC1,RAN
  7579						LOOP	TSO8,TSO9^
  7580	040436	367 07 0 00 040422 		SOJG	AC-1,TSO8		;ITERATION COUNTER
  7581	040437	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7582	040440	321 07 0 00 040426 		JUMPL	AC-1,TSO9		;LOOP ON ERROR SWITCH ^
  7583

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 26
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0204

  7584
  7585
  7586					;TEST TSO, TSOA.  CHECK FOR SKIP/NO SKIP AND
  7587					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  7588
  7589
  7590			000011			AC=11
  7591	040441				TSOA1:	SETUP	100,0^
  7592			000012			AC1=<AC+1>&17
  7593			000013			AC2=<AC+2>&17
  7594			000014			AC3=<AC+3>&17
  7595			000015			AC4=<AC+4>&17
  7596			000016			AC5=<AC+5>&17
  7597			000007			RAN1=<AC-2>&17
  7598	040441	201 10 0 00 040441 		MOVEI	AC-1,.
  7599	040442	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7600	040443	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7601	040444	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7602	040445	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7603	040446	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7604	040447	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7605	040450				TSOA2:	RANDOM^
  7606	040450	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7607	040451	270 11 0 00 060657 		ADD	AC,[142536475076]
  7608	040452	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7609	040453	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7610	040454	200 12 0 00 000011 	TSOA3:	MOVE	AC1,AC		;MAKE C("E")=C("AC")
  7611	040455	204 13 0 00 000012 		MOVS	AC2,AC1		;SIMULATE
  7612	040456	200 14 0 00 000011 		MOVE	AC3,AC		;A
  7613	040457	434 14 0 00 000013 		IOR	AC3,AC2		;TSO
  7614	040460	671 11 0 00 000012 		TSO	AC,AC1		;SHOULD NOT SKIP
  7615	040461	254 00 0 00 040463 		JRST	.+2
  7616	040462	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TSO SKIPPED.
  7617	040463	675 11 0 00 000012 		TSOA	AC,AC1		;SHOULD SKIP
  7618	040464	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
  7619	040465	312 11 0 00 000014 		CAME	AC,AC3		;C(AC) = SIM. ANS?
  7620	040466	001 12 0 00 000012 		ERR	AC1,AC1		;NO.
  7621						LOOP	TSOA2,TSOA3^
  7622	040467	367 10 0 00 040450 		SOJG	AC-1,TSOA2		;ITERATION COUNTER
  7623	040470	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7624	040471	321 10 0 00 040454 		JUMPL	AC-1,TSOA3		;LOOP ON ERROR SWITCH ^
  7625

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 27
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0205

  7626
  7627
  7628					;TEST TSOE, TSON.  CHECK FOR SKIP/NO SKIP
  7629					;AND CORRECT DATA IN AC FOR 0 TO RAN CONDITION
  7630
  7631
  7632			000012			AC=12
  7633	040472				TSOE1:	SETUP	100,0^
  7634			000013			AC1=<AC+1>&17
  7635			000014			AC2=<AC+2>&17
  7636			000015			AC3=<AC+3>&17
  7637			000016			AC4=<AC+4>&17
  7638			000017			AC5=<AC+5>&17
  7639			000010			RAN1=<AC-2>&17
  7640	040472	201 11 0 00 040472 		MOVEI	AC-1,.
  7641	040473	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7642	040474	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7643	040475	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7644	040476	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7645	040477	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7646	040500	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7647	040501				TSOE2:	RANDOM^
  7648	040501	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7649	040502	270 12 0 00 060657 		ADD	AC,[142536475076]
  7650	040503	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7651	040504	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7652	040505	403 13 0 00 000010 	TSOE3:	SETZB	AC1,RAN1	;CLEAR C(E).
  7653	040506	677 12 0 00 000013 		TSON	AC,AC1		;C(E)+C(AC)=0. NO SKIP
  7654	040507	254 00 0 00 040511 		JRST	.+2
  7655	040510	005 12 0 00 060674 		ER	AC,[ASCII /TST/];TSON SKIPPED.
  7656	040511	673 12 0 00 000013 		TSOE	AC,AC1		;C(E)+C(AC)=0. SKIP
  7657	040512	005 12 0 00 060674 		ER	AC,[ASCII /TST/]
  7658	040513	312 12 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIGINAL C(AC)
  7659	040514	001 10 0 00 061125 		ERR	RAN1,RAN
  7660						LOOP	TSOE2,TSOE3^
  7661	040515	367 11 0 00 040501 		SOJG	AC-1,TSOE2		;ITERATION COUNTER
  7662	040516	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7663	040517	321 11 0 00 040505 		JUMPL	AC-1,TSOE3		;LOOP ON ERROR SWITCH ^
  7664

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 28
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0206

  7665
  7666
  7667					;TEST TSOE, TSON.  CHECK FOR SKIP/NO SKIP AND
  7668					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
  7669
  7670
  7671			000013			AC=13
  7672	040520				TSOEA:	SETUP	100,0^
  7673			000014			AC1=<AC+1>&17
  7674			000015			AC2=<AC+2>&17
  7675			000016			AC3=<AC+3>&17
  7676			000017			AC4=<AC+4>&17
  7677			000000			AC5=<AC+5>&17
  7678			000011			RAN1=<AC-2>&17
  7679	040520	201 12 0 00 040520 		MOVEI	AC-1,.
  7680	040521	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7681	040522	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7682	040523	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7683	040524	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7684	040525	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7685	040526	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7686	040527				TSOEB:	RANDOM^
  7687	040527	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7688	040530	270 13 0 00 060657 		ADD	AC,[142536475076]
  7689	040531	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7690	040532	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7691	040533	322 13 0 00 040527 		JUMPE	AC,TSOEB	;REJECT IF RAN = 0.
  7692	040534	403 14 0 00 000011 	TSOEC:	SETZB	AC1,RAN1	;CLEAR C(AC).
  7693	040535	204 15 0 00 000013 		MOVS	AC2,AC		;SIMULATE TSO
  7694	040536	677 14 0 00 000013 		TSON	AC1,AC		;C(E)+C(AC)=0. NO SKIP
  7695	040537	254 00 0 00 040541 		JRST	.+2
  7696	040540	005 14 0 00 060674 		ER	AC1,[ASCII /TST/];TSON SKIPPED.
  7697	040541	677 14 0 00 000013 		TSON	AC1,AC		;C(E)+C(AC)NOT = 0. SKIP
  7698	040542	005 14 0 00 060674 		ER	AC1,[ASCII /TST/]
  7699	040543	312 14 0 00 000015 		CAME	AC1,AC2		;C(AC) SHOULD=SIM ANS
  7700	040544	001 13 0 00 000011 		ERR	AC,RAN1
  7701	040545	400 14 0 00 000000 		SETZ	AC1,		;CLEAR C(AC)
  7702	040546	673 14 0 00 000013 		TSOE	AC1,AC		;C(E)+C(AC)=0. SKIP
  7703	040547	005 14 0 00 060674 		ER	AC1,[ASCII /TST/]
  7704	040550	673 14 0 00 000013 		TSOE	AC1,AC		;C(E)+C(AC)NOT=0. NO SKIP
  7705	040551	312 14 0 00 000015 		CAME	AC1,AC2		;C(AC)=SIM ANS?
  7706	040552	001 13 0 00 000011 		ERR	AC,RAN1		;NO
  7707						LOOP	TSOEB,TSOEC^
  7708	040553	367 12 0 00 040527 		SOJG	AC-1,TSOEB		;ITERATION COUNTER
  7709	040554	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7710	040555	321 12 0 00 040534 		JUMPL	AC-1,TSOEC		;LOOP ON ERROR SWITCH ^
  7711

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 29
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0207

  7712
  7713
  7714					;TEST TSOE, TSON.  CHECK FOR SKIP/NO SKIP AND
  7715					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
  7716
  7717
  7718			000014			AC=14
  7719	040556				TSOE4:	SETUP	100,0^
  7720			000015			AC1=<AC+1>&17
  7721			000016			AC2=<AC+2>&17
  7722			000017			AC3=<AC+3>&17
  7723			000000			AC4=<AC+4>&17
  7724			000001			AC5=<AC+5>&17
  7725			000012			RAN1=<AC-2>&17
  7726	040556	201 13 0 00 040556 		MOVEI	AC-1,.
  7727	040557	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7728	040560	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7729	040561	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7730	040562	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7731	040563	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7732	040564	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7733	040565				TSOE5:	RANDOM^
  7734	040565	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7735	040566	270 14 0 00 060657 		ADD	AC,[142536475076]
  7736	040567	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7737	040570	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7738	040571	322 14 0 00 040565 		JUMPE	AC,TSOE5	;REJECT IF RAN= 0.
  7739	040572	477 15 0 00 000012 	TSOE6:	SETOB	AC1,RAN1	;MAKE C(E) = -1.
  7740	040573	673 14 0 00 000015 		TSOE	AC,AC1		;C(E)+C(AC) NOT=0. NO SKIP
  7741	040574	312 14 0 00 060662 		CAME	AC,[-1]		;C(AC) SHOULD=-1
  7742	040575	001 12 0 00 061125 		ERR	RAN1,RAN
  7743	040576	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE AC
  7744	040577	677 14 0 00 000015 		TSON	AC,AC1		;C(E)+C(AC) NOT=0. SKIP
  7745	040600	005 14 0 00 060674 		ER	AC,[ASCII /TST/]
  7746	040601	312 14 0 00 060662 		CAME	AC,[-1]		;C(AC) SHOULD=-1
  7747	040602	001 12 0 00 061125 		ERR	RAN1,RAN
  7748						LOOP	TSOE5,TSOE6^
  7749	040603	367 13 0 00 040565 		SOJG	AC-1,TSOE5		;ITERATION COUNTER
  7750	040604	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7751	040605	321 13 0 00 040572 		JUMPL	AC-1,TSOE6		;LOOP ON ERROR SWITCH ^
  7752

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 30
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0208

  7753
  7754
  7755					;TEST TSOE, TSON.  CHECK FOR SKIP/NO SKIP AND
  7756					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION
  7757
  7758
  7759			000015			AC=15
  7760	040606				TSOED:	SETUP	100,0^
  7761			000016			AC1=<AC+1>&17
  7762			000017			AC2=<AC+2>&17
  7763			000000			AC3=<AC+3>&17
  7764			000001			AC4=<AC+4>&17
  7765			000002			AC5=<AC+5>&17
  7766			000013			RAN1=<AC-2>&17
  7767	040606	201 14 0 00 040606 		MOVEI	AC-1,.
  7768	040607	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7769	040610	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7770	040611	202 14 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7771	040612	201 14 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7772	040613	240 14 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7773	040614	240 14 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7774	040615				TSOEE:	RANDOM^
  7775	040615	200 15 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7776	040616	270 15 0 00 060657 		ADD	AC,[142536475076]
  7777	040617	241 15 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7778	040620	447 15 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7779	040621	322 15 0 00 040615 		JUMPE	AC,TSOEE	;REJECT IF RAN = 0.
  7780	040622	477 16 0 00 000013 	TSOEF:	SETOB	AC1,RAN1	;SET C(AC) TO A -1.
  7781	040623	673 16 0 00 000015 		TSOE	AC1,AC		;C(E)+C(AC) NOT=0. NO SKIP
  7782	040624	254 00 0 00 040626 		JRST	.+2
  7783	040625	005 16 0 00 060674 		ER	AC1,[ASCII /TST/];TSOE SKIPPED.
  7784	040626	677 16 0 00 000015 		TSON	AC1,AC		;C(E)+C(AC) NOT=0. SKIP
  7785	040627	005 16 0 00 060674 		ER	AC1,[ASCII /TST/]
  7786	040630	312 16 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD STILL = -1.
  7787	040631	001 15 0 00 000013 		ERR	AC,RAN1
  7788						LOOP	TSOEE,TSOEF^
  7789	040632	367 14 0 00 040615 		SOJG	AC-1,TSOEE		;ITERATION COUNTER
  7790	040633	200 15 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7791	040634	321 14 0 00 040622 		JUMPL	AC-1,TSOEF		;LOOP ON ERROR SWITCH ^
  7792

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 31
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0209

  7793
  7794
  7795					;TEST TSOE, TSON.  CHECK FOR SKIP/NO SKIP AND
  7796					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION
  7797
  7798
  7799			000006			AC=6
  7800	040635				TSON1:	SETUP	100,0^
  7801			000007			AC1=<AC+1>&17
  7802			000010			AC2=<AC+2>&17
  7803			000011			AC3=<AC+3>&17
  7804			000012			AC4=<AC+4>&17
  7805			000013			AC5=<AC+5>&17
  7806			000004			RAN1=<AC-2>&17
  7807	040635	201 05 0 00 040635 		MOVEI	AC-1,.
  7808	040636	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7809	040637	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7810	040640	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7811	040641	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7812	040642	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7813	040643	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7814	040644				TSON2:	RANDOM^
  7815	040644	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7816	040645	270 06 0 00 060657 		ADD	AC,[142536475076]
  7817	040646	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7818	040647	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7819	040650	460 07 0 00 000006 	TSON3:	SETCM	AC1,AC		;MAKE C(E) = COMP OF C(AC)
  7820	040651	204 07 0 00 000007 		MOVS	AC1,AC1		;SWAPPED.
  7821	040652	677 06 0 00 000007 		TSON	AC,AC1		;C(E)+C(AC)=0. NO SKIP
  7822	040653	312 06 0 00 060662 		CAME	AC,[-1]		;C(AC) SHOULD=-1
  7823	040654	001 07 0 00 061125 		ERR	AC1,RAN
  7824	040655	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE AC.
  7825	040656	673 06 0 00 000007 		TSOE	AC,AC1		;C(E)+C(AC)=0. SKIP
  7826	040657	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
  7827	040660	312 06 0 00 060662 		CAME	AC,[-1]		;C(AC) SHOULD=-1
  7828	040661	001 07 0 00 061125 		ERR	AC1,RAN
  7829						LOOP	TSON2,TSON3^
  7830	040662	367 05 0 00 040644 		SOJG	AC-1,TSON2		;ITERATION COUNTER
  7831	040663	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7832	040664	321 05 0 00 040650 		JUMPL	AC-1,TSON3		;LOOP ON ERROR SWITCH ^
  7833

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 32
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0210

  7834
  7835
  7836					;TEST TSOE, TSON.  CHECK FOR SKIP/NO SKIP AND
  7837					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  7838
  7839
  7840			000007			AC=7
  7841	040665				TSONA:	SETUP	100,0^
  7842			000010			AC1=<AC+1>&17
  7843			000011			AC2=<AC+2>&17
  7844			000012			AC3=<AC+3>&17
  7845			000013			AC4=<AC+4>&17
  7846			000014			AC5=<AC+5>&17
  7847			000005			RAN1=<AC-2>&17
  7848	040665	201 06 0 00 040665 		MOVEI	AC-1,.
  7849	040666	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7850	040667	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7851	040670	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7852	040671	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7853	040672	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7854	040673	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7855	040674				TSONB:	RANDOM^
  7856	040674	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7857	040675	270 07 0 00 060657 		ADD	AC,[142536475076]
  7858	040676	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7859	040677	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7860	040700	322 07 0 00 040674 		JUMPE	AC,TSONB	;REJECT IF RAN = 0.
  7861	040701	204 10 0 00 000007 	TSONC:	MOVS	AC1,AC		;MAKE C(E) = C(AC) SWAPPED.
  7862	040702	673 07 0 00 000010 		TSOE	AC,AC1		;C(E)+C(AC) NOT=0 NO SKIP
  7863	040703	254 00 0 00 040705 		JRST	.+2
  7864	040704	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TSOE SKIPPED.
  7865	040705	677 07 0 00 000010 		TSON	AC,AC1		;C(E)+C(AC)) NOT=0 SKIP
  7866	040706	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
  7867	040707	312 07 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=C(ORIG. AC)
  7868	040710	001 10 0 00 061125 		ERR	AC1,RAN
  7869						LOOP	TSONB,TSONC^
  7870	040711	367 06 0 00 040674 		SOJG	AC-1,TSONB		;ITERATION COUNTER
  7871	040712	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7872	040713	321 06 0 00 040701 		JUMPL	AC-1,TSONC		;LOOP ON ERROR SWITCH ^
  7873

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 33
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0211

  7874
  7875
  7876					;TEST TSZ, TSZA.  CHECK FOR SKIP/NO SKIP AND
  7877					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
  7878
  7879
  7880			000010			AC=10
  7881	040714				TSZ1:	SETUP	100,0^
  7882			000011			AC1=<AC+1>&17
  7883			000012			AC2=<AC+2>&17
  7884			000013			AC3=<AC+3>&17
  7885			000014			AC4=<AC+4>&17
  7886			000015			AC5=<AC+5>&17
  7887			000006			RAN1=<AC-2>&17
  7888	040714	201 07 0 00 040714 		MOVEI	AC-1,.
  7889	040715	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7890	040716	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7891	040717	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7892	040720	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7893	040721	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7894	040722	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7895	040723				TSZ2:	RANDOM^
  7896	040723	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7897	040724	270 10 0 00 060657 		ADD	AC,[142536475076]
  7898	040725	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7899	040726	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7900	040727	400 11 0 00 000000 	TSZ3:	SETZ	AC1,		;CLEAR C(E)
  7901	040730	631 10 0 00 000011 		TSZ	AC,AC1		;SHOULD NOT SKIP
  7902	040731	254 00 0 00 040733 		JRST	.+2
  7903	040732	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TSZ SKIPPED.
  7904	040733	635 10 0 00 000011 		TSZA	AC,AC1		;SHOULD SKIP
  7905	040734	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
  7906	040735	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIGINAL C(AC)
  7907	040736	001 11 0 00 061125 		ERR	AC1,RAN
  7908						LOOP	TSZ2,TSZ3^
  7909	040737	367 07 0 00 040723 		SOJG	AC-1,TSZ2		;ITERATION COUNTER
  7910	040740	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7911	040741	321 07 0 00 040727 		JUMPL	AC-1,TSZ3		;LOOP ON ERROR SWITCH ^
  7912

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 34
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0212

  7913
  7914
  7915					;TEST TSZ, TSZA.  CHECK FOR SKIP/NO SKIP AND
  7916					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
  7917
  7918
  7919			000011			AC=11
  7920	040742				TSZ4:	SETUP	100,0^
  7921			000012			AC1=<AC+1>&17
  7922			000013			AC2=<AC+2>&17
  7923			000014			AC3=<AC+3>&17
  7924			000015			AC4=<AC+4>&17
  7925			000016			AC5=<AC+5>&17
  7926			000007			RAN1=<AC-2>&17
  7927	040742	201 10 0 00 040742 		MOVEI	AC-1,.
  7928	040743	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7929	040744	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7930	040745	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7931	040746	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7932	040747	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7933	040750	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7934	040751				TSZ5:	RANDOM^
  7935	040751	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7936	040752	270 11 0 00 060657 		ADD	AC,[142536475076]
  7937	040753	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7938	040754	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7939	040755	403 12 0 00 000007 	TSZ6:	SETZB	AC1,RAN1	;CLEAR C(AC).
  7940	040756	631 12 0 00 000011 		TSZ	AC1,AC		;SHOULD NOT SKIP
  7941	040757	254 00 0 00 040761 		JRST	.+2
  7942	040760	005 12 0 00 060674 		ER	AC1,[ASCII /TST/];TSZ SKIPPED.
  7943	040761	635 12 0 00 000011 		TSZA	AC1,AC		;SHOULD SKIP
  7944	040762	005 12 0 00 060674 		ER	AC1,[ASCII /TST/]
  7945	040763	312 12 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD STILL=0
  7946	040764	001 11 0 00 000007 		ERR	AC,RAN1
  7947						LOOP	TSZ5,TSZ6^
  7948	040765	367 10 0 00 040751 		SOJG	AC-1,TSZ5		;ITERATION COUNTER
  7949	040766	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7950	040767	321 10 0 00 040755 		JUMPL	AC-1,TSZ6		;LOOP ON ERROR SWITCH ^
  7951

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 35
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0213

  7952
  7953
  7954					;TEST TSZ, TSZA.  CHECK FOR SKIP/NO SKIP AND
  7955					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION
  7956					;RAN1=C(RAN) SWAPPED
  7957
  7958
  7959			000002			AC=2
  7960	040770				TSZ7:	SETUP	100,0^
  7961			000003			AC1=<AC+1>&17
  7962			000004			AC2=<AC+2>&17
  7963			000005			AC3=<AC+3>&17
  7964			000006			AC4=<AC+4>&17
  7965			000007			AC5=<AC+5>&17
  7966			000000			RAN1=<AC-2>&17
  7967	040770	201 01 0 00 040770 		MOVEI	AC-1,.
  7968	040771	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  7969	040772	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  7970	040773	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  7971	040774	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  7972	040775	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  7973	040776	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  7974	040777				TSZ8:	RANDOM^
  7975	040777	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  7976	041000	270 02 0 00 060657 		ADD	AC,[142536475076]
  7977	041001	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  7978	041002	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  7979	041003	204 03 0 00 000002 	TSZ9:	MOVS	AC1,AC		;MAKE C(E)=C(AC) SWAPPED
  7980	041004	631 02 0 00 000003 		TSZ	AC,AC1		;SHOULD NOT SKIP
  7981	041005	254 00 0 00 041007 		JRST	.+2
  7982	041006	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TSZ SKIPPED.
  7983	041007	635 02 0 00 000003 		TSZA	AC,AC1		;SHOULD SKIP
  7984	041010	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
  7985	041011	312 02 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
  7986	041012	001 03 0 00 061125 		ERR	AC1,RAN
  7987						LOOP	TSZ8,TSZ9^
  7988	041013	367 01 0 00 040777 		SOJG	AC-1,TSZ8		;ITERATION COUNTER
  7989	041014	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  7990	041015	321 01 0 00 041003 		JUMPL	AC-1,TSZ9		;LOOP ON ERROR SWITCH ^
  7991

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 36
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0214

  7992
  7993
  7994					;TEST TSZ, TSZA.  CHECK FOR SKIP/NO SKIP AND
  7995					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  7996
  7997
  7998			000003			AC=3
  7999	041016				TSZA1:	SETUP	100,0^
  8000			000004			AC1=<AC+1>&17
  8001			000005			AC2=<AC+2>&17
  8002			000006			AC3=<AC+3>&17
  8003			000007			AC4=<AC+4>&17
  8004			000010			AC5=<AC+5>&17
  8005			000001			RAN1=<AC-2>&17
  8006	041016	201 02 0 00 041016 		MOVEI	AC-1,.
  8007	041017	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8008	041020	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8009	041021	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8010	041022	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8011	041023	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8012	041024	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8013	041025				TSZA2:	RANDOM^
  8014	041025	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8015	041026	270 03 0 00 060657 		ADD	AC,[142536475076]
  8016	041027	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8017	041030	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8018	041031	200 04 0 00 000003 	TSZA3:	MOVE	AC1,AC		;MAKE C(E)=C(AC)
  8019	041032	200 05 0 00 000003 		MOVE	AC2,AC		;SIMULATE
  8020	041033	204 06 0 00 000003 		MOVS	AC3,AC		;A
  8021	041034	464 05 0 00 000006 		ORCM	AC2,AC3		;TSZ
  8022	041035	450 05 0 00 000000 		SETCA	AC2,		;INST
  8023	041036	204 05 0 00 000005 		MOVS	AC2,AC2
  8024	041037	631 03 0 00 000004 		TSZ	AC,AC1		;SHOULD NOT SKIP
  8025	041040	254 00 0 00 041042 		JRST	.+2
  8026	041041	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TSZ SKIPPED.
  8027	041042	635 03 0 00 000004 		TSZA	AC,AC1		;SHOULD SKIP
  8028	041043	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
  8029	041044	312 03 0 00 000005 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
  8030	041045	001 04 0 00 061125 		ERR	AC1,RAN
  8031						LOOP	TSZA2,TSZA3^
  8032	041046	367 02 0 00 041025 		SOJG	AC-1,TSZA2		;ITERATION COUNTER
  8033	041047	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8034	041050	321 02 0 00 041031 		JUMPL	AC-1,TSZA3		;LOOP ON ERROR SWITCH ^
  8035

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 37
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0215

  8036
  8037
  8038					;TEST TSZE,TSZN.  CHECK FOR SKIP/NO SKIP AND
  8039					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
  8040
  8041
  8042			000004			AC=4
  8043	041051				TSZE1:	SETUP	100,0^
  8044			000005			AC1=<AC+1>&17
  8045			000006			AC2=<AC+2>&17
  8046			000007			AC3=<AC+3>&17
  8047			000010			AC4=<AC+4>&17
  8048			000011			AC5=<AC+5>&17
  8049			000002			RAN1=<AC-2>&17
  8050	041051	201 03 0 00 041051 		MOVEI	AC-1,.
  8051	041052	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8052	041053	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8053	041054	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8054	041055	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8055	041056	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8056	041057	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8057	041060				TSZE2:	RANDOM^
  8058	041060	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8059	041061	270 04 0 00 060657 		ADD	AC,[142536475076]
  8060	041062	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8061	041063	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8062	041064	400 05 0 00 000000 	TSZE3:	SETZ	AC1,		;CLEAR C(E)
  8063	041065	637 04 0 00 000005 		TSZN	AC,AC1		;C(E)+C(AC)=0. NO SKIP
  8064	041066	254 00 0 00 041070 		JRST	.+2
  8065	041067	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TSZN SKIPPED.
  8066	041070	633 04 0 00 000005 		TSZE	AC,AC1		;C(E)+C(AC)=0. SKIP
  8067	041071	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
  8068	041072	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
  8069	041073	001 05 0 00 061125 		ERR	AC1,RAN
  8070						LOOP	TSZE2,TSZE3^
  8071	041074	367 03 0 00 041060 		SOJG	AC-1,TSZE2		;ITERATION COUNTER
  8072	041075	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8073	041076	321 03 0 00 041064 		JUMPL	AC-1,TSZE3		;LOOP ON ERROR SWITCH ^
  8074

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 38
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0216

  8075
  8076
  8077					;TEST TSZE,TSZN.  CHECK FOR SKIP/ NO SKIP AND
  8078					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
  8079
  8080
  8081			000005			AC=5
  8082	041077				TSZEA:	SETUP	100,0^
  8083			000006			AC1=<AC+1>&17
  8084			000007			AC2=<AC+2>&17
  8085			000010			AC3=<AC+3>&17
  8086			000011			AC4=<AC+4>&17
  8087			000012			AC5=<AC+5>&17
  8088			000003			RAN1=<AC-2>&17
  8089	041077	201 04 0 00 041077 		MOVEI	AC-1,.
  8090	041100	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8091	041101	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8092	041102	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8093	041103	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8094	041104	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8095	041105	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8096	041106				TSZEB:	RANDOM^
  8097	041106	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8098	041107	270 05 0 00 060657 		ADD	AC,[142536475076]
  8099	041110	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8100	041111	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8101	041112	403 06 0 00 000003 	TSZEC:	SETZB	AC1,RAN1	;CLEAR C(AC).
  8102	041113	637 06 0 00 000005 		TSZN	AC1,AC		;C(E)+C(AC)=0. NO SKIP
  8103	041114	254 00 0 00 041116 		JRST	.+2
  8104	041115	005 06 0 00 060674 		ER	AC1,[ASCII /TST/];TSZN SKIPPED.
  8105	041116	633 06 0 00 000005 		TSZE	AC1,AC		;C(E)+C(AC)=0 SKIP
  8106	041117	005 06 0 00 060674 		ER	AC1,[ASCII /TST/]
  8107	041120	312 06 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD STILL = 0
  8108	041121	001 05 0 00 000003 		ERR	AC,RAN1
  8109						LOOP	TSZEB,TSZEC^
  8110	041122	367 04 0 00 041106 		SOJG	AC-1,TSZEB		;ITERATION COUNTER
  8111	041123	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8112	041124	321 04 0 00 041112 		JUMPL	AC-1,TSZEC		;LOOP ON ERROR SWITCH ^
  8113

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 39
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0217

  8114
  8115
  8116					;TEST TSZE, TSZN.  CHECK FOR SKIP/NO SKIP AND
  8117					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION.
  8118
  8119
  8120			000006			AC=6
  8121	041125				TSZE4:	SETUP	100,0^
  8122			000007			AC1=<AC+1>&17
  8123			000010			AC2=<AC+2>&17
  8124			000011			AC3=<AC+3>&17
  8125			000012			AC4=<AC+4>&17
  8126			000013			AC5=<AC+5>&17
  8127			000004			RAN1=<AC-2>&17
  8128	041125	201 05 0 00 041125 		MOVEI	AC-1,.
  8129	041126	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8130	041127	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8131	041130	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8132	041131	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8133	041132	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8134	041133	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8135	041134				TSZE5:	RANDOM^
  8136	041134	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8137	041135	270 06 0 00 060657 		ADD	AC,[142536475076]
  8138	041136	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8139	041137	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8140	041140	322 06 0 00 041134 		JUMPE	AC,TSZE5	;REJECT IF RAN = 0.
  8141	041141	474 07 0 00 000000 	TSZE6:	SETO	AC1,		;SET C("E") TO ALL ONES.
  8142	041142	633 06 0 00 000007 		TSZE	AC,AC1		;C(E)+C(AC) NOT=0. NO SKIP
  8143	041143	312 06 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD HAVE BEEN CLEARED
  8144	041144	001 07 0 00 061125 		ERR	AC1,RAN
  8145	041145	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE AC
  8146	041146	637 06 0 00 000007 		TSZN	AC,AC1		;C(E)+C(AC) NOT=0. SKIP
  8147	041147	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
  8148	041150	312 06 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD HAVE BEEN CLEARED
  8149	041151	001 07 0 00 061125 		ERR	AC1,RAN
  8150						LOOP	TSZE5,TSZE6^
  8151	041152	367 05 0 00 041134 		SOJG	AC-1,TSZE5		;ITERATION COUNTER
  8152	041153	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8153	041154	321 05 0 00 041141 		JUMPL	AC-1,TSZE6		;LOOP ON ERROR SWITCH ^
  8154

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 40
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0218

  8155
  8156
  8157					;TEST TSZE, TSZN.  CHECK FOR SKIP/NO SKIP AND
  8158					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION
  8159
  8160
  8161			000007			AC=7
  8162	041155				TSZED:	SETUP	100,0^
  8163			000010			AC1=<AC+1>&17
  8164			000011			AC2=<AC+2>&17
  8165			000012			AC3=<AC+3>&17
  8166			000013			AC4=<AC+4>&17
  8167			000014			AC5=<AC+5>&17
  8168			000005			RAN1=<AC-2>&17
  8169	041155	201 06 0 00 041155 		MOVEI	AC-1,.
  8170	041156	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8171	041157	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8172	041160	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8173	041161	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8174	041162	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8175	041163	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8176	041164				TSZEE:	RANDOM^
  8177	041164	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8178	041165	270 07 0 00 060657 		ADD	AC,[142536475076]
  8179	041166	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8180	041167	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8181	041170	322 07 0 00 041164 		JUMPE	AC,TSZEE	;REJECT IF RAN = 0.
  8182	041171	477 10 0 00 000005 	TSZEF:	SETOB	AC1,RAN1	;SET C(AC) TO A -1.
  8183	041172	204 11 0 00 000007 		MOVS	AC2,AC		;SIMULATE
  8184	041173	430 11 0 00 000010 		XOR	AC2,AC1		;A TSZ
  8185	041174	633 10 0 00 000007 		TSZE	AC1,AC		;C(E)+C(AC) NOT=0. NO SKIP
  8186	041175	312 10 0 00 000011 		CAME	AC1,AC2		;C(AC) SHOULD=SIM ANS
  8187	041176	001 07 0 00 000005 		ERR	AC,RAN1
  8188	041177	474 10 0 00 000000 		SETO	AC1,		;RESTORE AC
  8189	041200	637 10 0 00 000007 		TSZN	AC1,AC		;(E)+C(AC) NOT=0 SKIP
  8190	041201	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
  8191	041202	312 10 0 00 000011 		CAME	AC1,AC2		;C(AC) SHOULD=SIM ANS
  8192	041203	001 07 0 00 000005 		ERR	AC,RAN1
  8193						LOOP	TSZEE,TSZEF^
  8194	041204	367 06 0 00 041164 		SOJG	AC-1,TSZEE		;ITERATION COUNTER
  8195	041205	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8196	041206	321 06 0 00 041171 		JUMPL	AC-1,TSZEF		;LOOP ON ERROR SWITCH ^
  8197

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 41
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0219

  8198
  8199
  8200					;TEST TSZE, TSZN, CHECK FOR SKIP/NO SKIP AND
  8201					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION
  8202
  8203
  8204			000010			AC=10
  8205	041207				TSZN1:	SETUP	100,0^
  8206			000011			AC1=<AC+1>&17
  8207			000012			AC2=<AC+2>&17
  8208			000013			AC3=<AC+3>&17
  8209			000014			AC4=<AC+4>&17
  8210			000015			AC5=<AC+5>&17
  8211			000006			RAN1=<AC-2>&17
  8212	041207	201 07 0 00 041207 		MOVEI	AC-1,.
  8213	041210	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8214	041211	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8215	041212	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8216	041213	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8217	041214	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8218	041215	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8219	041216				TSZN2:	RANDOM^
  8220	041216	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8221	041217	270 10 0 00 060657 		ADD	AC,[142536475076]
  8222	041220	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8223	041221	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8224	041222	460 11 0 00 000010 	TSZN3:	SETCM	AC1,AC		;MAKE C("E") = COMP C("AC").
  8225	041223	204 11 0 00 000011 		MOVS	AC1,AC1		;SWAPPED.
  8226	041224	637 10 0 00 000011 		TSZN	AC,AC1		;C(E)+C(AC)=0 NO. SKIP
  8227	041225	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=C(AC) BEFORE TOZ
  8228	041226	001 11 0 00 061125 		ERR	AC1,RAN
  8229	041227	633 10 0 00 000011 		TSZE	AC,AC1		;C(E) +C(AC)=0. SKIP
  8230	041230	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
  8231	041231	312 10 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD=C(AC)BEFORE TOZ
  8232	041232	001 11 0 00 061125 		ERR	AC1,RAN
  8233						LOOP	TSZN2,TSZN3^
  8234	041233	367 07 0 00 041216 		SOJG	AC-1,TSZN2		;ITERATION COUNTER
  8235	041234	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8236	041235	321 07 0 00 041222 		JUMPL	AC-1,TSZN3		;LOOP ON ERROR SWITCH ^
  8237

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 42
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0220

  8238
  8239
  8240					;TEST TSZE, TSZN.  CHECK FOR SKIP/NO SKIP AND
  8241					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  8242
  8243
  8244			000011			AC=11
  8245	041236				TSZNA:	SETUP	100,0^
  8246			000012			AC1=<AC+1>&17
  8247			000013			AC2=<AC+2>&17
  8248			000014			AC3=<AC+3>&17
  8249			000015			AC4=<AC+4>&17
  8250			000016			AC5=<AC+5>&17
  8251			000007			RAN1=<AC-2>&17
  8252	041236	201 10 0 00 041236 		MOVEI	AC-1,.
  8253	041237	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8254	041240	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8255	041241	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8256	041242	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8257	041243	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8258	041244	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8259	041245				TSZNB:	RANDOM^
  8260	041245	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8261	041246	270 11 0 00 060657 		ADD	AC,[142536475076]
  8262	041247	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8263	041250	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8264	041251	322 11 0 00 041245 		JUMPE	AC,TSZNB	;REJECT IF RAN = 0.
  8265	041252	204 12 0 00 000011 	TSZNC:	MOVS	AC1,AC		;MAKE C("E") = C("AC") SWAPPED.
  8266	041253	633 11 0 00 000012 		TSZE	AC,AC1		;C(E)+C(AC) NOT=0 NO SKIP.
  8267	041254	312 11 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD BE ZEROED OUT.
  8268	041255	001 12 0 00 061125 		ERR	AC1,RAN
  8269	041256	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE AC
  8270	041257	637 11 0 00 000012 		TSZN	AC,AC1		;C(E)+C(AC)NOT=0. SKIP.
  8271	041260	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
  8272	041261	312 11 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD BE ZEROED OUT.
  8273	041262	001 12 0 00 061125 		ERR	AC1,RAN
  8274						LOOP	TSZNB,TSZNC^
  8275	041263	367 10 0 00 041245 		SOJG	AC-1,TSZNB		;ITERATION COUNTER
  8276	041264	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8277	041265	321 10 0 00 041252 		JUMPL	AC-1,TSZNC		;LOOP ON ERROR SWITCH ^
  8278

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 43
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0221

  8279
  8280
  8281					;TEST TSN, TSNA.  CHECK FOR SKIP/NO SKIP AND
  8282					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION.
  8283
  8284
  8285			000012			AC=12
  8286	041266				TSN1:	SETUP	100,0^
  8287			000013			AC1=<AC+1>&17
  8288			000014			AC2=<AC+2>&17
  8289			000015			AC3=<AC+3>&17
  8290			000016			AC4=<AC+4>&17
  8291			000017			AC5=<AC+5>&17
  8292			000010			RAN1=<AC-2>&17
  8293	041266	201 11 0 00 041266 		MOVEI	AC-1,.
  8294	041267	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8295	041270	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8296	041271	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8297	041272	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8298	041273	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8299	041274	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8300	041275				TSN2:	RANDOM^
  8301	041275	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8302	041276	270 12 0 00 060657 		ADD	AC,[142536475076]
  8303	041277	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8304	041300	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8305	041301	400 13 0 00 000000 	TSN3:	SETZ	AC1,		;CLEAR C("E")
  8306	041302	611 12 0 00 000013 		TSN	AC,AC1		;SHOULD NOT SKIP
  8307	041303	254 00 0 00 041305 		JRST	.+2
  8308	041304	005 12 0 00 060674 		ER	AC,[ASCII /TST/];TSN SKIPPED.
  8309	041305	615 12 0 00 000013 		TSNA	AC,AC1		;SHOULD SKIP
  8310	041306	005 12 0 00 060674 		ER	AC,[ASCII /TST/]
  8311	041307	312 12 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD NOT CHANGE
  8312	041310	001 13 0 00 061125 		ERR	AC1,RAN
  8313						LOOP	TSN2,TSN3^
  8314	041311	367 11 0 00 041275 		SOJG	AC-1,TSN2		;ITERATION COUNTER
  8315	041312	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8316	041313	321 11 0 00 041301 		JUMPL	AC-1,TSN3		;LOOP ON ERROR SWITCH ^
  8317

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 44
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0222

  8318
  8319
  8320					;TEST TSN, TSNA CHECK FOR SKIP/NO SKIP AND
  8321					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
  8322
  8323
  8324			000013			AC=13
  8325	041314				TSN4:	SETUP	100,0^
  8326			000014			AC1=<AC+1>&17
  8327			000015			AC2=<AC+2>&17
  8328			000016			AC3=<AC+3>&17
  8329			000017			AC4=<AC+4>&17
  8330			000000			AC5=<AC+5>&17
  8331			000011			RAN1=<AC-2>&17
  8332	041314	201 12 0 00 041314 		MOVEI	AC-1,.
  8333	041315	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8334	041316	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8335	041317	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8336	041320	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8337	041321	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8338	041322	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8339	041323				TSN5:	RANDOM^
  8340	041323	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8341	041324	270 13 0 00 060657 		ADD	AC,[142536475076]
  8342	041325	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8343	041326	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8344	041327	403 14 0 00 000011 	TSN6:	SETZB	AC1,RAN1	;CLEAR C("AC").
  8345	041330	611 14 0 00 000013 		TSN	AC1,AC		;SHOULD NOT SKIP
  8346	041331	254 00 0 00 041333 		JRST	.+2
  8347	041332	005 14 0 00 060674 		ER	AC1,[ASCII /TST/];TSN SKIPPED.
  8348	041333	615 14 0 00 000013 		TSNA	AC1,AC		;SHOULD SKIP
  8349	041334	005 13 0 00 060674 		ER	AC,[ASCII /TST/]
  8350	041335	312 14 0 00 000011 		CAME	AC1,RAN1	;C(AC) SHOULD = ORIG. C(AC).
  8351	041336	001 13 0 00 000011 		ERR	AC,RAN1
  8352						LOOP	TSN5,TSN6^
  8353	041337	367 12 0 00 041323 		SOJG	AC-1,TSN5		;ITERATION COUNTER
  8354	041340	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8355	041341	321 12 0 00 041327 		JUMPL	AC-1,TSN6		;LOOP ON ERROR SWITCH ^
  8356

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 45
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0223

  8357
  8358
  8359					;TEST TSN, TSNA.  CHECK FOR SKIP/NO SKIP AND
  8360					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  8361
  8362
  8363			000014			AC=14
  8364	041342				TSN7:	SETUP	100,0^
  8365			000015			AC1=<AC+1>&17
  8366			000016			AC2=<AC+2>&17
  8367			000017			AC3=<AC+3>&17
  8368			000000			AC4=<AC+4>&17
  8369			000001			AC5=<AC+5>&17
  8370			000012			RAN1=<AC-2>&17
  8371	041342	201 13 0 00 041342 		MOVEI	AC-1,.
  8372	041343	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8373	041344	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8374	041345	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8375	041346	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8376	041347	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8377	041350	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8378	041351				TSN8:	RANDOM^
  8379	041351	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8380	041352	270 14 0 00 060657 		ADD	AC,[142536475076]
  8381	041353	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8382	041354	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8383	041355	204 15 0 00 000014 	TSN9:	MOVS	AC1,AC		;MAKE C("E")=C("AC") SWAPPED
  8384	041356	611 14 0 00 000015 		TSN	AC,AC1		;SHOULD NOT SKIP
  8385	041357	254 00 0 00 041361 		JRST	.+2
  8386	041360	005 14 0 00 060674 		ER	AC,[ASCII /TST/];TSN SKIPPED.
  8387	041361	615 14 0 00 000015 		TSNA	AC,AC1		;SHOULD SKIP
  8388	041362	005 14 0 00 060674 		ER	AC,[ASCII /TST/]
  8389	041363	312 14 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD NOT CHANGE
  8390	041364	001 15 0 00 061125 		ERR	AC1,RAN
  8391						LOOP	TSN8,TSN9^
  8392	041365	367 13 0 00 041351 		SOJG	AC-1,TSN8		;ITERATION COUNTER
  8393	041366	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8394	041367	321 13 0 00 041355 		JUMPL	AC-1,TSN9		;LOOP ON ERROR SWITCH ^
  8395

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 46
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0224

  8396
  8397
  8398					;TEST TSN, TSNA.  CHECK FOR SKIP/NO SKIP AND
  8399					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION
  8400					;RAN1=RAN BEFORE TSN
  8401
  8402
  8403			000015			AC=15
  8404	041370				TSNA1:	SETUP	100,0^
  8405			000016			AC1=<AC+1>&17
  8406			000017			AC2=<AC+2>&17
  8407			000000			AC3=<AC+3>&17
  8408			000001			AC4=<AC+4>&17
  8409			000002			AC5=<AC+5>&17
  8410			000013			RAN1=<AC-2>&17
  8411	041370	201 14 0 00 041370 		MOVEI	AC-1,.
  8412	041371	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8413	041372	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8414	041373	202 14 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8415	041374	201 14 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8416	041375	240 14 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8417	041376	240 14 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8418	041377				TSNA2:	RANDOM^
  8419	041377	200 15 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8420	041400	270 15 0 00 060657 		ADD	AC,[142536475076]
  8421	041401	241 15 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8422	041402	447 15 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8423	041403	200 16 0 00 000015 	TSNA3:	MOVE	AC1,AC		;MAKE C("E")=C("AC")
  8424	041404	611 15 0 00 000016 		TSN	AC,AC1		;SHOULD NOT SKIP
  8425	041405	254 00 0 00 041407 		JRST	.+2
  8426	041406	005 15 0 00 060674 		ER	AC,[ASCII /TST/];TSN SKIPPED.
  8427	041407	615 15 0 00 000016 		TSNA	AC,AC1		;SHOULD SKIP
  8428	041410	005 15 0 00 060674 		ER	AC,[ASCII /TST/]
  8429	041411	312 15 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
  8430	041412	001 16 0 00 061125 		ERR	AC1,RAN
  8431						LOOP	TSNA2,TSNA3^
  8432	041413	367 14 0 00 041377 		SOJG	AC-1,TSNA2		;ITERATION COUNTER
  8433	041414	200 15 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8434	041415	321 14 0 00 041403 		JUMPL	AC-1,TSNA3		;LOOP ON ERROR SWITCH ^
  8435

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 47
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0225

  8436
  8437
  8438					;TEST TSNE, TSNN.  CHECK FOR SKIP/NO SKIP AND
  8439					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
  8440
  8441
  8442			000006			AC=6
  8443	041416				TSNE1:	SETUP	100,0^
  8444			000007			AC1=<AC+1>&17
  8445			000010			AC2=<AC+2>&17
  8446			000011			AC3=<AC+3>&17
  8447			000012			AC4=<AC+4>&17
  8448			000013			AC5=<AC+5>&17
  8449			000004			RAN1=<AC-2>&17
  8450	041416	201 05 0 00 041416 		MOVEI	AC-1,.
  8451	041417	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8452	041420	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8453	041421	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8454	041422	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8455	041423	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8456	041424	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8457	041425				TSNE2:	RANDOM^
  8458	041425	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8459	041426	270 06 0 00 060657 		ADD	AC,[142536475076]
  8460	041427	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8461	041430	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8462	041431	400 07 0 00 000000 	TSNE3:	SETZ	AC1,		;CLEAR C("E").
  8463	041432	617 06 0 00 000007 		TSNN	AC,AC1		;C(E)+C(AC)=0.  NO SKIP.
  8464	041433	254 00 0 00 041435 		JRST	.+2
  8465	041434	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TSNN SKIPPED.
  8466	041435	613 06 0 00 000007 		TSNE	AC,AC1		;C(E)+C(AC)=0. SKIP
  8467	041436	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
  8468	041437	312 06 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
  8469	041440	001 07 0 00 061125 		ERR	AC1,RAN
  8470						LOOP	TSNE2,TSNE3^
  8471	041441	367 05 0 00 041425 		SOJG	AC-1,TSNE2		;ITERATION COUNTER
  8472	041442	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8473	041443	321 05 0 00 041431 		JUMPL	AC-1,TSNE3		;LOOP ON ERROR SWITCH ^
  8474

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 48
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0226

  8475
  8476
  8477					;TEST TSNE, TSNN.  CHECK FOR SKIP/NO SKIP AND
  8478					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
  8479
  8480
  8481			000007			AC=7
  8482	041444				TSNEA:	SETUP	100,0^
  8483			000010			AC1=<AC+1>&17
  8484			000011			AC2=<AC+2>&17
  8485			000012			AC3=<AC+3>&17
  8486			000013			AC4=<AC+4>&17
  8487			000014			AC5=<AC+5>&17
  8488			000005			RAN1=<AC-2>&17
  8489	041444	201 06 0 00 041444 		MOVEI	AC-1,.
  8490	041445	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8491	041446	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8492	041447	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8493	041450	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8494	041451	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8495	041452	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8496	041453				TSNEB:	RANDOM^
  8497	041453	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8498	041454	270 07 0 00 060657 		ADD	AC,[142536475076]
  8499	041455	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8500	041456	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8501	041457	403 10 0 00 000005 	TSNEC:	SETZB	AC1,RAN1	;CLEAR C("AC").
  8502	041460	617 10 0 00 000007 		TSNN	AC1,AC		;C(E)+C(AC)=0.  NO SKIP.
  8503	041461	254 00 0 00 041463 		JRST	.+2
  8504	041462	005 10 0 00 060674 		ER	AC1,[ASCII /TST/];TSNN SKIPPED.
  8505	041463	613 10 0 00 000007 		TSNE	AC1,AC		;C(E)+C(AC)=0.  SKIP
  8506	041464	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
  8507	041465	312 10 0 00 000005 		CAME	AC1,RAN1	;C(AC) SHOULD = ORIG. C(AC).
  8508	041466	001 07 0 00 000005 		ERR	AC,RAN1
  8509						LOOP	TSNEB,TSNEC^
  8510	041467	367 06 0 00 041453 		SOJG	AC-1,TSNEB		;ITERATION COUNTER
  8511	041470	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8512	041471	321 06 0 00 041457 		JUMPL	AC-1,TSNEC		;LOOP ON ERROR SWITCH ^
  8513

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 49
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0227

  8514
  8515
  8516					;TEST TSNE, TSNN.  CHECK FOR SKIP/NO SKIP AND
  8517					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
  8518
  8519
  8520			000010			AC=10
  8521	041472				TSNE4:	SETUP	100,0^
  8522			000011			AC1=<AC+1>&17
  8523			000012			AC2=<AC+2>&17
  8524			000013			AC3=<AC+3>&17
  8525			000014			AC4=<AC+4>&17
  8526			000015			AC5=<AC+5>&17
  8527			000006			RAN1=<AC-2>&17
  8528	041472	201 07 0 00 041472 		MOVEI	AC-1,.
  8529	041473	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8530	041474	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8531	041475	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8532	041476	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8533	041477	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8534	041500	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8535	041501				TSNE5:	RANDOM^
  8536	041501	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8537	041502	270 10 0 00 060657 		ADD	AC,[142536475076]
  8538	041503	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8539	041504	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8540	041505	322 10 0 00 041501 	TSNE6:	JUMPE	AC,TSNE5	;REJECT IF RAN = 0.
  8541	041506	474 11 0 00 000000 		SETO	AC1,		;SET C("E") TO A-1.
  8542	041507	613 10 0 00 000011 		TSNE	AC,AC1		;C(E)+C(AC) NOT=0. NO SKIP.
  8543	041510	254 00 0 00 041512 		JRST	.+2
  8544	041511	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TSNE SKIPPED.
  8545	041512	617 10 0 00 000011 		TSNN	AC,AC1		;C(E)+C(AC) NOT=0. SKIP.
  8546	041513	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
  8547	041514	312 10 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD NOT CHANGE.
  8548	041515	001 11 0 00 061125 		ERR	AC1,RAN
  8549						LOOP	TSNE5,TSNE6^
  8550	041516	367 07 0 00 041501 		SOJG	AC-1,TSNE5		;ITERATION COUNTER
  8551	041517	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8552	041520	321 07 0 00 041505 		JUMPL	AC-1,TSNE6		;LOOP ON ERROR SWITCH ^
  8553

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 50
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0228

  8554
  8555
  8556					;TEST TSNE, TSNN.  CHECK FOR SKIP/NO SKIP AND
  8557					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION
  8558
  8559
  8560			000011			AC=11
  8561	041521				TSNED:	SETUP	100,0^
  8562			000012			AC1=<AC+1>&17
  8563			000013			AC2=<AC+2>&17
  8564			000014			AC3=<AC+3>&17
  8565			000015			AC4=<AC+4>&17
  8566			000016			AC5=<AC+5>&17
  8567			000007			RAN1=<AC-2>&17
  8568	041521	201 10 0 00 041521 		MOVEI	AC-1,.
  8569	041522	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8570	041523	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8571	041524	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8572	041525	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8573	041526	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8574	041527	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8575	041530				TSNEE:	RANDOM^
  8576	041530	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8577	041531	270 11 0 00 060657 		ADD	AC,[142536475076]
  8578	041532	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8579	041533	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8580	041534	322 11 0 00 041530 		JUMPE	AC,TSNEE	;REJECT IF RAN = 0.
  8581	041535	477 12 0 00 000007 	TSNEF:	SETOB	AC1,RAN1	;SET C("AC") TO A -1.
  8582	041536	613 12 0 00 000011 		TSNE	AC1,AC		;C(E)+C(AC) NOT=0. NO SKIP.
  8583	041537	254 00 0 00 041541 		JRST	.+2
  8584	041540	005 12 0 00 060674 		ER	AC1,[ASCII /TST/];TSNE SKIPPED.
  8585	041541	617 12 0 00 000011 		TSNN	AC1,AC		;C(E)+C(AC) NOT=0. SKIP.
  8586	041542	005 12 0 00 060674 		ER	AC1,[ASCII /TST/]
  8587	041543	312 12 0 00 000007 		CAME	AC1,RAN1	;C(AC) SHOULD = ORIG. C(AC).
  8588	041544	001 11 0 00 000007 		ERR	AC,RAN1
  8589						LOOP	TSNEE,TSNEF^
  8590	041545	367 10 0 00 041530 		SOJG	AC-1,TSNEE		;ITERATION COUNTER
  8591	041546	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8592	041547	321 10 0 00 041535 		JUMPL	AC-1,TSNEF		;LOOP ON ERROR SWITCH ^
  8593

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 51
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0229

  8594
  8595
  8596					;TEST TSNE, TSNN  CHECK FOR SKIP/NO SKIP AND
  8597					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION
  8598
  8599
  8600			000002			AC=2
  8601	041550				TSNN1:	SETUP	100,0^
  8602			000003			AC1=<AC+1>&17
  8603			000004			AC2=<AC+2>&17
  8604			000005			AC3=<AC+3>&17
  8605			000006			AC4=<AC+4>&17
  8606			000007			AC5=<AC+5>&17
  8607			000000			RAN1=<AC-2>&17
  8608	041550	201 01 0 00 041550 		MOVEI	AC-1,.
  8609	041551	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8610	041552	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8611	041553	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8612	041554	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8613	041555	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8614	041556	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8615	041557				TSNN2:	RANDOM^
  8616	041557	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8617	041560	270 02 0 00 060657 		ADD	AC,[142536475076]
  8618	041561	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8619	041562	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8620	041563	322 02 0 00 041557 		JUMPE	AC,TSNN2	;REJECT IF RAN = 0.
  8621	041564	204 03 0 00 000002 	TSNN3:	MOVS	AC1,AC		;MAKE C(E) =
  8622	041565	450 03 0 00 000000 		SETCA	AC1,		;COMP C(AC).
  8623	041566	617 02 0 00 000003 		TSNN	AC,AC1		;C(E) + C(AC) = 0...NO SKIP.
  8624	041567	254 00 0 00 041571 		JRST	.+2
  8625	041570	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TSNN SKIPPED.
  8626	041571	613 02 0 00 000003 		TSNE	AC,AC1		;C(E) + C(AC) = 0...SKIP.
  8627	041572	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
  8628	041573	312 02 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD NOT CHANGE
  8629	041574	001 03 0 00 061125 		ERR	AC1,RAN
  8630						LOOP	TSNN2,TSNN3^
  8631	041575	367 01 0 00 041557 		SOJG	AC-1,TSNN2		;ITERATION COUNTER
  8632	041576	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8633	041577	321 01 0 00 041564 		JUMPL	AC-1,TSNN3		;LOOP ON ERROR SWITCH ^
  8634

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 52
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0230

  8635
  8636
  8637					;TEST TSNE, TSNN.  CHECK FOR SKIP/NO SKIP AND
  8638					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
  8639
  8640
  8641			000003			AC=3
  8642	041600				TSNNA:	SETUP	100,0^
  8643			000004			AC1=<AC+1>&17
  8644			000005			AC2=<AC+2>&17
  8645			000006			AC3=<AC+3>&17
  8646			000007			AC4=<AC+4>&17
  8647			000010			AC5=<AC+5>&17
  8648			000001			RAN1=<AC-2>&17
  8649	041600	201 02 0 00 041600 		MOVEI	AC-1,.
  8650	041601	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8651	041602	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8652	041603	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8653	041604	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8654	041605	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8655	041606	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8656	041607				TSNNB:	RANDOM^
  8657	041607	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8658	041610	270 03 0 00 060657 		ADD	AC,[142536475076]
  8659	041611	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8660	041612	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8661	041613	204 05 0 00 000003 		MOVS	AC2,AC		;MAKE SURE
  8662	041614	404 05 0 00 000003 		AND	AC2,AC		;AND CONDITION
  8663	041615	322 05 0 00 041607 		JUMPE	AC2,TSNNB	;DOESN'T = 0.
  8664	041616	200 04 0 00 000003 	TSNNC:	MOVE	AC1,AC		;MAKE C("E") = C("AC").
  8665	041617	613 03 0 00 000004 		TSNE	AC,AC1		;C(E)+C(AC)NOT=0. NO SKIP
  8666	041620	254 00 0 00 041622 		JRST	.+2
  8667	041621	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TSNE SKIPPED.
  8668	041622	617 03 0 00 000004 		TSNN	AC,AC1		;C(E)+C(AC)NOT=0. SKIP.
  8669	041623	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
  8670	041624	312 03 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
  8671	041625	001 04 0 00 061125 		ERR	AC1,RAN
  8672						LOOP	TSNNB,TSNNC^
  8673	041626	367 02 0 00 041607 		SOJG	AC-1,TSNNB		;ITERATION COUNTER
  8674	041627	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8675	041630	321 02 0 00 041616 		JUMPL	AC-1,TSNNC		;LOOP ON ERROR SWITCH ^
  8676

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 53
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0231

  8677
  8678
  8679					;TEST SKIP, SKIPA.  CHECK FOR SKIP/NO SKIP AND
  8680					;CORRECT DATA IN C(E) AND C(AC)=C(E) AFTER SKIP
  8681					;ALSO CHECK FOR OVERFLOW FLAG NOT BEING SET.
  8682
  8683
  8684			000004			AC=4
  8685	041631				SKIP1:	SETUP	100,0^
  8686			000005			AC1=<AC+1>&17
  8687			000006			AC2=<AC+2>&17
  8688			000007			AC3=<AC+3>&17
  8689			000010			AC4=<AC+4>&17
  8690			000011			AC5=<AC+5>&17
  8691			000002			RAN1=<AC-2>&17
  8692	041631	201 03 0 00 041631 		MOVEI	AC-1,.
  8693	041632	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8694	041633	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8695	041634	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8696	041635	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8697	041636	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8698	041637	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8699	041640				SKIP2:	RANDOM^
  8700	041640	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8701	041641	270 04 0 00 060657 		ADD	AC,[142536475076]
  8702	041642	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8703	041643	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8704	041644	255 10 0 00 041645 	SKIP3:	JFCL	10,.+1		;CLEAR OV FLAG
  8705	041645	200 02 0 00 000005 		MOVE	RAN1,AC1	;SAVE C(AC) IN CASE OF ERROR.
  8706	041646	330 05 0 00 000004 		SKIP	AC1,AC		;SHOULD NOT SKIP
  8707	041647	334 05 0 00 000004 		SKIPA	AC1,AC		;SHOULD SKIP
  8708	041650	005 04 0 00 060661 		ER	AC,[ASCII /SKP/]
  8709	041651	255 10 0 00 041653 		JFCL	10,.+2		;OV FLAG GET SET?
  8710	041652	254 00 0 00 041654 		JRST	.+2		;NO
  8711	041653	005 04 0 00 060675 		ER	AC,[ASCII /AROV/];YES..SHOULD NOT GET SET ON SKIP INST.
  8712	041654	312 04 0 00 061125 		CAME	AC,RAN		;C(E) SHOULD NOT HAVE CHANGED
  8713	041655	001 04 0 00 000002 		ERR	AC,RAN1
  8714	041656	312 05 0 00 061125 		CAME	AC1,RAN		;C(AC) SHOULD =C(E).
  8715	041657	001 04 0 00 000002 		ERR	AC,RAN1
  8716						LOOP	SKIP2,SKIP3^
  8717	041660	367 03 0 00 041640 		SOJG	AC-1,SKIP2		;ITERATION COUNTER
  8718	041661	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8719	041662	321 03 0 00 041644 		JUMPL	AC-1,SKIP3		;LOOP ON ERROR SWITCH ^
  8720

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 54
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0232

  8721
  8722
  8723					;TEST SKIPE, SKIPN. CHECK FOR SKIP/ NO SKIP,
  8724					;CORRECT DATA IN C(E) AND C(AC)=C(E) AFTER SKIP.
  8725
  8726
  8727			000005			AC=5
  8728	041663				SKIPE1:	SETUP	100,0^
  8729			000006			AC1=<AC+1>&17
  8730			000007			AC2=<AC+2>&17
  8731			000010			AC3=<AC+3>&17
  8732			000011			AC4=<AC+4>&17
  8733			000012			AC5=<AC+5>&17
  8734			000003			RAN1=<AC-2>&17
  8735	041663	201 04 0 00 041663 		MOVEI	AC-1,.
  8736	041664	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8737	041665	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8738	041666	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8739	041667	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8740	041670	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8741	041671	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8742	041672	201 06 0 00 000001 		MOVEI	AC1,1		;SETUP C(E) FOR A  FLOATING ONE
  8743	041673				SKIPE2:	RANDOM^
  8744	041673	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8745	041674	270 05 0 00 060657 		ADD	AC,[142536475076]
  8746	041675	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8747	041676	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8748	041677	241 06 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
  8749	041700	200 07 0 00 000006 		MOVE	AC2,AC1		;SAVE FLOATING ONE BIT
  8750	041701	200 06 0 00 000007 	SKIPE3:	MOVE	AC1,AC2		;RESTORE C(5) IN CASE OF ERROR
  8751	041702	332 05 0 00 000006 		SKIPE	AC,AC1		;SHOULD NOT SKIP
  8752	041703	336 05 0 00 000006 		SKIPN	AC,AC1		;SHOULD SKIP
  8753	041704	005 06 0 00 060661 		ER	AC1,[ASCII /SKP/]
  8754	041705	312 06 0 00 000007 		CAME	AC1,AC2		;C(E) SHOULD NOT CHANGE
  8755	041706	001 07 0 00 061125 		ERR	AC2,RAN
  8756	041707	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD= C(E)
  8757	041710	001 07 0 00 061125 		ERR	AC2,RAN
  8758						LOOP	SKIPE2,SKIPE3^
  8759	041711	367 04 0 00 041673 		SOJG	AC-1,SKIPE2		;ITERATION COUNTER
  8760	041712	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8761	041713	321 04 0 00 041701 		JUMPL	AC-1,SKIPE3		;LOOP ON ERROR SWITCH ^
  8762
  8763
  8764

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 55
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0233

  8765
  8766
  8767					;TEST SKIPN, SKIPE. CHECK FOR SKIP/ NO SKIP,
  8768					;CORRECT DATA IN C(E) AND C(AC) = C(E) AFTER SKIP.
  8769					;C(AC) = RAN. NUM. AND C(E) = 0.
  8770
  8771
  8772			000003			AC=3
  8773	041714				SKIPN1:	SETUP	100,0^
  8774			000004			AC1=<AC+1>&17
  8775			000005			AC2=<AC+2>&17
  8776			000006			AC3=<AC+3>&17
  8777			000007			AC4=<AC+4>&17
  8778			000010			AC5=<AC+5>&17
  8779			000001			RAN1=<AC-2>&17
  8780	041714	201 02 0 00 041714 		MOVEI	AC-1,.
  8781	041715	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8782	041716	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8783	041717	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8784	041720	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8785	041721	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8786	041722	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8787	041723				SKIPN2:	RANDOM^
  8788	041723	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8789	041724	270 03 0 00 060657 		ADD	AC,[142536475076]
  8790	041725	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8791	041726	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8792	041727	403 04 0 00 000001 	SKIPN3:	SETZB	AC1,RAN1	;CLEAR C(E).
  8793	041730	336 03 0 00 000004 		SKIPN	AC,AC1		;C(E) = 0...NO SKIP.
  8794	041731	332 03 0 00 000004 		SKIPE	AC,AC1		;C(E) = 0...SKIP.
  8795	041732	005 04 0 00 060661 		ER	AC1,[ASCII /SKP/]
  8796	041733	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD = C(E).
  8797	041734	001 01 0 00 061125 		ERR	RAN1,RAN
  8798	041735	312 04 0 00 000001 		CAME	AC1,RAN1	;C(E) SHOULD STILL = 0.
  8799	041736	001 01 0 00 061125 		ERR	RAN1,RAN
  8800						LOOP	SKIPN2,SKIPN3^
  8801	041737	367 02 0 00 041723 		SOJG	AC-1,SKIPN2		;ITERATION COUNTER
  8802	041740	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8803	041741	321 02 0 00 041727 		JUMPL	AC-1,SKIPN3		;LOOP ON ERROR SWITCH ^
  8804
  8805
  8806

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 56
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0234

  8807
  8808
  8809					;TEST SKIPG, SKIPL.  CHECK FOR SKIP/NO SKIP,
  8810					;CORRECT DATA IN C(E), AND C(AC)=C(E)AFTER SKIP,
  8811					;BY ROTATING A BIT IN E.
  8812
  8813
  8814			000006			AC=6
  8815	041742				SKIPG1:	SETUP	100,0^
  8816			000007			AC1=<AC+1>&17
  8817			000010			AC2=<AC+2>&17
  8818			000011			AC3=<AC+3>&17
  8819			000012			AC4=<AC+4>&17
  8820			000013			AC5=<AC+5>&17
  8821			000004			RAN1=<AC-2>&17
  8822	041742	201 05 0 00 041742 		MOVEI	AC-1,.
  8823	041743	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8824	041744	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8825	041745	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8826	041746	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8827	041747	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8828	041750	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8829	041751	201 07 0 00 000001 		MOVEI	AC1,1		;SETUP AC1 FOR FLOATING ONE.
  8830	041752				SKIPG2:	RANDOM^
  8831	041752	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8832	041753	270 06 0 00 060657 		ADD	AC,[142536475076]
  8833	041754	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8834	041755	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8835	041756	241 07 0 00 000001 		ROT	AC1,1		;ROT AC1 TO TEST NEXT BIT.
  8836	041757	316 07 0 00 060665 		CAMN	AC1,[XWD 400000,0];IS SIGN BIT SET?
  8837	041760	241 07 0 00 000001 		ROT	AC1,1		;YES.  ROT AGAIN
  8838	041761	200 10 0 00 000007 		MOVE	AC2,AC1		;SAVE FLOATING ONE IN AC2.
  8839	041762	200 07 0 00 000010 	SKIPG3:	MOVE	AC1,AC2		;RESTORE AC1 IN CASE OF ERROR
  8840	041763	331 06 0 00 000007 		SKIPL	AC,AC1		;SHOULD NOT SKIP.
  8841	041764	337 06 0 00 000007 		SKIPG	AC,AC1		;SKIPG SHOULD SKIP
  8842	041765	005 06 0 00 060661 		ER	AC,[ASCII /SKP/]
  8843	041766	312 07 0 00 000010 		CAME	AC1,AC2		;NOT CHANGE C(E),
  8844	041767	001 10 0 00 061125 		ERR	AC2,RAN
  8845	041770	312 06 0 00 000010 		CAME	AC,AC2		;AND PUT C(E) INTO AC.
  8846	041771	001 10 0 00 061125 		ERR	AC2,RAN
  8847						LOOP	SKIPG2,SKIPG3^
  8848	041772	367 05 0 00 041752 		SOJG	AC-1,SKIPG2		;ITERATION COUNTER
  8849	041773	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8850	041774	321 05 0 00 041762 		JUMPL	AC-1,SKIPG3		;LOOP ON ERROR SWITCH ^
  8851

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 57
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0235

  8852
  8853
  8854					;TEST SKIPG, SKIPL.  CHECK FOR SKIP/NO SKIP,
  8855					;CORRECT DATA IN C(E), AND C(AC)=C(E) AFTER SKIP,
  8856					;BY USEING A NEGATIVE RANDOM NUMBER IN E.
  8857
  8858
  8859			000007			AC=7
  8860	041775				SKIPL1:	SETUP	100,0^
  8861			000010			AC1=<AC+1>&17
  8862			000011			AC2=<AC+2>&17
  8863			000012			AC3=<AC+3>&17
  8864			000013			AC4=<AC+4>&17
  8865			000014			AC5=<AC+5>&17
  8866			000005			RAN1=<AC-2>&17
  8867	041775	201 06 0 00 041775 		MOVEI	AC-1,.
  8868	041776	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8869	041777	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8870	042000	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8871	042001	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8872	042002	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8873	042003	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8874	042004				SKIPL2:	RANDOM^
  8875	042004	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8876	042005	270 07 0 00 060657 		ADD	AC,[142536475076]
  8877	042006	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8878	042007	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8879	042010	311 07 0 00 060660 	SKIPL3:	CAML	AC,[0]		;RAN A POSITIVE NUMB
  8880	042011	450 07 0 00 000000 		SETCA	AC,		;YES, COMP TO MAKE IT NEG
  8881	042012	200 11 0 00 000007 		MOVE	AC2,AC		;SAVE AC FOR FUTURE COMPARE
  8882	042013	202 10 0 00 000005 		MOVEM	AC1,RAN1	;SAVE AC1 IN CASE OF ERROR.
  8883	042014	337 10 0 00 000007 		SKIPG	AC1,AC		;SHOULD NOT SKIP
  8884	042015	331 10 0 00 000007 		SKIPL	AC1,AC		;C(E)IS NEG. SHOULD SKIP
  8885	042016	005 07 0 00 060661 		ER	AC,[ASCII /SKP/]
  8886	042017	312 07 0 00 000011 		CAME	AC,AC2		;C(E) SHOULD NOT HAVE CHANGED
  8887	042020	001 11 0 00 000005 		ERR	AC2,RAN1
  8888	042021	312 10 0 00 000011 		CAME	AC1,AC2		;C(AC) SHOULD BE =TO C(E)
  8889	042022	001 11 0 00 000005 		ERR	AC2,RAN1
  8890						LOOP	SKIPL2,SKIPL3^
  8891	042023	367 06 0 00 042004 		SOJG	AC-1,SKIPL2		;ITERATION COUNTER
  8892	042024	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8893	042025	321 06 0 00 042010 		JUMPL	AC-1,SKIPL3		;LOOP ON ERROR SWITCH ^
  8894

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 58
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0236

  8895
  8896
  8897					;TEST SKIPGE, SKIPL. CHECK FOR SKIP/NO SKIP,
  8898					;C(E) NOT CHANGING, AND C(AC)=C(E) AFTER SKIP,
  8899					;BY MAKEING C(E) POSITIVE AND THEN 0
  8900
  8901
  8902			000010			AC=10
  8903	042026				SKPGE1:	SETUP	100,0^
  8904			000011			AC1=<AC+1>&17
  8905			000012			AC2=<AC+2>&17
  8906			000013			AC3=<AC+3>&17
  8907			000014			AC4=<AC+4>&17
  8908			000015			AC5=<AC+5>&17
  8909			000006			RAN1=<AC-2>&17
  8910	042026	201 07 0 00 042026 		MOVEI	AC-1,.
  8911	042027	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8912	042030	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8913	042031	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8914	042032	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8915	042033	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8916	042034	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8917	042035				SKPGE2:	RANDOM^
  8918	042035	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8919	042036	270 10 0 00 060657 		ADD	AC,[142536475076]
  8920	042037	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8921	042040	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8922	042041	315 10 0 00 060660 	SKPGE3:	CAMGE	AC,[0]		;RAN POSITIVE?
  8923	042042	450 10 0 00 000000 		SETCA	AC,		;NO.  COMP AND MAKE IT POSITIVE
  8924	042043	200 12 0 00 000010 		MOVE	AC2,AC		;SAVE FOR FUTURE COMPARE
  8925	042044	202 11 0 00 000006 		MOVEM	AC1,RAN1	;SAVE AC1 IN CASE OF ERROR.
  8926	042045	331 11 0 00 000010 		SKIPL	AC1,AC		;C(E) IS POS  SHOULD NOT SKIP
  8927	042046	335 11 0 00 000010 		SKIPGE	AC1,AC		;C(E) IS POSITIVE.  SHOULD SKIP
  8928	042047	005 10 0 00 060661 		ER	AC,[ASCII /SKP/]
  8929	042050	312 10 0 00 000012 		CAME	AC,AC2		;C(E) SHOULD NOT HAVE CHANGED
  8930	042051	001 12 0 00 000006 		ERR	AC2,RAN1
  8931	042052	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC)SHOULD=C(E)
  8932	042053	001 12 0 00 000006 		ERR	AC2,RAN1
  8933	042054	400 10 0 00 000000 		SETZ	AC,		;CLEAR C(E)
  8934	042055	331 11 0 00 000010 		SKIPL	AC1,AC		;C(E)=0...SHOULD NOT SKIP
  8935	042056	335 11 0 00 000010 		SKIPGE	AC1,AC		;C(E)=0...SHOULD SKIP
  8936	042057	005 10 0 00 060661 		ER	AC,[ASCII /SKP/]
  8937	042060	312 10 0 00 060660 		CAME	AC,[0]		;C(E) SHOULD STILL=0
  8938	042061	001 10 0 00 000012 		ERR	AC,AC2
  8939	042062	312 11 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD NOW=0
  8940	042063	001 10 0 00 000012 		ERR	AC,AC2
  8941						LOOP	SKPGE2,SKPGE3^
  8942	042064	367 07 0 00 042035 		SOJG	AC-1,SKPGE2		;ITERATION COUNTER
  8943	042065	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8944	042066	321 07 0 00 042041 		JUMPL	AC-1,SKPGE3		;LOOP ON ERROR SWITCH ^
  8945

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 59
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0237

  8946					;TEST SKIPG, SKIPLE.  CHECK FOR SKIP/NO SKIP,
  8947					;C(E) NOT CHANGING AND C(AC)=C(E) AFTER SKIP,
  8948					;BY MAKING C(E) NEGATIVE OR 0.
  8949
  8950
  8951			000011			AC=11
  8952	042067				SKPLE1:	SETUP	100,0^
  8953			000012			AC1=<AC+1>&17
  8954			000013			AC2=<AC+2>&17
  8955			000014			AC3=<AC+3>&17
  8956			000015			AC4=<AC+4>&17
  8957			000016			AC5=<AC+5>&17
  8958			000007			RAN1=<AC-2>&17
  8959	042067	201 10 0 00 042067 		MOVEI	AC-1,.
  8960	042070	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  8961	042071	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  8962	042072	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  8963	042073	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  8964	042074	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  8965	042075	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  8966	042076				SKPLE2:	RANDOM^
  8967	042076	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  8968	042077	270 11 0 00 060657 		ADD	AC,[142536475076]
  8969	042100	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  8970	042101	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  8971	042102	313 11 0 00 060660 	SKPLE3:	CAMLE	AC,[0]		;RAN NEG OR 0?
  8972	042103	450 11 0 00 000000 		SETCA	AC,		;NO. MAKE IT NEG
  8973	042104	200 07 0 00 000012 		MOVE	RAN1,AC1	;SAVE AC1 IN CASE OF ERROR.
  8974	042105	200 13 0 00 000011 		MOVE	AC2,AC		;SAVE FOR FUTURE COMPARE
  8975	042106	337 12 0 00 000011 		SKIPG	AC1,AC		;C(E) NEG OR 0...SHOULD NOT SKIP
  8976	042107	333 12 0 00 000011 		SKIPLE	AC1,AC		;C(E) NEG OR 0... SHOULD SKIP
  8977	042110	005 11 0 00 060661 		ER	AC,[ASCII /SKP/]
  8978	042111	312 11 0 00 000013 		CAME	AC,AC2		;C(E) SHOULD NOT CHANGE
  8979	042112	001 13 0 00 000007 		ERR	AC2,RAN1
  8980	042113	312 12 0 00 000013 		CAME	AC1,AC2		;C(AC) SHOULD=C(E)
  8981	042114	001 13 0 00 000007 		ERR	AC2,RAN1
  8982	042115	400 11 0 00 000000 		SETZ	AC,		;CLEAR C(E)
  8983	042116	337 12 0 00 000011 		SKIPG	AC1,AC		;C(E)=0...SHOULD NOT SKIP
  8984	042117	335 12 0 00 000011 		SKIPGE	AC1,AC		;C(E)=0.. SHOULD SKIP
  8985	042120	005 11 0 00 060661 		ER	AC,[ASCII /SKP/]
  8986	042121	312 11 0 00 060660 		CAME	AC,[0]		;C(E) SHOULD STILL=0
  8987	042122	001 11 0 00 000013 		ERR	AC,AC2
  8988	042123	312 12 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=0
  8989	042124	001 11 0 00 000013 		ERR	AC,AC2
  8990						LOOP	SKPLE2,SKPLE3^
  8991	042125	367 10 0 00 042076 		SOJG	AC-1,SKPLE2		;ITERATION COUNTER
  8992	042126	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  8993	042127	321 10 0 00 042102 		JUMPL	AC-1,SKPLE3		;LOOP ON ERROR SWITCH ^
  8994

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 60
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0238

  8995
  8996
  8997					;TEST SKIPLE, SKIPGE. CHECK FOR SKIP/ NO SKIP,
  8998					;C(E) NOT CHANGING, AND COORECT STORING
  8999					;OF C(E) INTO AC FOR C(E) = POSITIVE RAN. NUM.
  9000
  9001
  9002			000012			AC=12
  9003	042130				SKPLEA:	SETUP	100,0^
  9004			000013			AC1=<AC+1>&17
  9005			000014			AC2=<AC+2>&17
  9006			000015			AC3=<AC+3>&17
  9007			000016			AC4=<AC+4>&17
  9008			000017			AC5=<AC+5>&17
  9009			000010			RAN1=<AC-2>&17
  9010	042130	201 11 0 00 042130 		MOVEI	AC-1,.
  9011	042131	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9012	042132	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9013	042133	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9014	042134	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9015	042135	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9016	042136	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9017	042137				SKPLEB:	RANDOM^
  9018	042137	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9019	042140	270 12 0 00 060657 		ADD	AC,[142536475076]
  9020	042141	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9021	042142	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9022	042143	322 12 0 00 042137 		JUMPE	AC,SKPLEB	;REJECT IF RAN = 0.
  9023	042144	477 13 0 00 000010 	SKPLEC:	SETOB	AC1,RAN1	;SET C(AC) TO ALL ONES.
  9024	042145	404 12 0 00 060673 		AND	AC,[XWD 377777,-1];MAKE SURE C(E) IS POS.
  9025	042146	200 14 0 00 000012 		MOVE	AC2,AC		;SAVE C(E) FOR FUTURE COMPARE.
  9026	042147	333 13 0 00 000012 		SKIPLE	AC1,AC		;C(E) IS POS...NO SKIP.
  9027	042150	335 13 0 00 000012 		SKIPGE	AC1,AC		;C(E) IS POS...SKIP.
  9028	042151	005 12 0 00 060661 		ER	AC,[ASCII/SKP/]
  9029	042152	312 13 0 00 000012 		CAME	AC1,AC		;C(AC) SHOULD = C(E).
  9030	042153	001 14 0 00 000010 		ERR	AC2,RAN1
  9031	042154	312 12 0 00 000014 		CAME	AC,AC2		;C(E) SHOULD = ORIG C(E).
  9032	042155	001 14 0 00 000010 		ERR	AC2,RAN1
  9033						LOOP	SKPLEB,SKPLEC^
  9034	042156	367 11 0 00 042137 		SOJG	AC-1,SKPLEB		;ITERATION COUNTER
  9035	042157	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9036	042160	321 11 0 00 042144 		JUMPL	AC-1,SKPLEC		;LOOP ON ERROR SWITCH ^
  9037
  9038
  9039

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 61
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0239

  9040
  9041
  9042					;TEST JUMP, JUMPA. CHECK FOR JUMP/ NO JUMP AND
  9043					;NO MODIFICATION OF C(AC) FOR C(AC)=RANDOM NUMBER
  9044
  9045
  9046			000012			AC=12
  9047	042161				JMP1:	SETUP	100,0^
  9048			000013			AC1=<AC+1>&17
  9049			000014			AC2=<AC+2>&17
  9050			000015			AC3=<AC+3>&17
  9051			000016			AC4=<AC+4>&17
  9052			000017			AC5=<AC+5>&17
  9053			000010			RAN1=<AC-2>&17
  9054	042161	201 11 0 00 042161 		MOVEI	AC-1,.
  9055	042162	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9056	042163	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9057	042164	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9058	042165	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9059	042166	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9060	042167	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9061	042170				JMP2:	RANDOM^
  9062	042170	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9063	042171	270 12 0 00 060657 		ADD	AC,[142536475076]
  9064	042172	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9065	042173	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9066	042174	200 10 0 00 000012 	JMP3:	MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
  9067	042175	320 12 0 00 042177 		JUMP	AC,.+2		;SHOULD NOT JUMP.
  9068	042176	324 12 0 00 042200 		JUMPA	AC,.+2		;SHOULD JUMP.
  9069	042177	005 12 0 00 060676 		ER	AC,[ASCII /JMP/]
  9070	042200	312 12 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL=RAN.
  9071	042201	003 10 0 00 042200 		ERRI	RAN1,.-1
  9072						LOOP	JMP2,JMP3^
  9073	042202	367 11 0 00 042170 		SOJG	AC-1,JMP2		;ITERATION COUNTER
  9074	042203	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9075	042204	321 11 0 00 042174 		JUMPL	AC-1,JMP3		;LOOP ON ERROR SWITCH ^
  9076

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 62
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0240

  9077
  9078
  9079					;TEST JUMPE, JUMPN. CHECK FOR JUMP/ NO JUMP AND
  9080					;NO MODIFICATION OF C(AC) WITH C(AC) = TO A FLOATING ONE.
  9081
  9082
  9083			000013			AC=13
  9084	042205				JMPE1:	SETUP	100,0^
  9085			000014			AC1=<AC+1>&17
  9086			000015			AC2=<AC+2>&17
  9087			000016			AC3=<AC+3>&17
  9088			000017			AC4=<AC+4>&17
  9089			000000			AC5=<AC+5>&17
  9090			000011			RAN1=<AC-2>&17
  9091	042205	201 12 0 00 042205 		MOVEI	AC-1,.
  9092	042206	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9093	042207	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9094	042210	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9095	042211	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9096	042212	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9097	042213	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9098	042214	201 13 0 00 000001 		MOVEI	AC,1		;SETUP AC FOR FLOATING ONE.
  9099	042215	241 13 0 00 777777 	JMPE2:	ROT	AC,-1		;ROT TO TEST NEXT BIT
  9100	042216	200 11 0 00 000013 		MOVE	RAN1,AC		;SAVE FOR FUTURE COMPARE.
  9101	042217	200 13 0 00 000011 	JMPE3:	MOVE	AC,RAN1		;RESTORE C(AC) IN CASE OF ERROR.
  9102	042220	322 13 0 00 042222 		JUMPE	AC,.+2		;SHOULD NOT JUMP
  9103	042221	326 13 0 00 042223 		JUMPN	AC,.+2		;SHOULD JUMP
  9104	042222	005 13 0 00 060676 		ER	AC,[ASCII /JMP/]
  9105	042223	312 13 0 00 000011 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  9106	042224	003 11 0 00 042223 		ERRI	RAN1,.-1
  9107	042225	367 12 0 00 042215 		SOJG	AC-1,JMPE2	;ITERATION COUNTER.
  9108	042226	321 12 0 00 042217 		JUMPL	AC-1,JMPE3	;LOOP ON ERROR SWITCH.
  9109
  9110
  9111

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 63
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0241

  9112
  9113
  9114					;TEST JUMPN, JUMPE. CHECK FOR JUMP/ NO JUMP AND
  9115					;NO MODIFICATION OF C(AC) WITH C(AC) = 0.
  9116
  9117
  9118			000014			AC=14
  9119	042227				JMPN1:	SETUP	100,0^
  9120			000015			AC1=<AC+1>&17
  9121			000016			AC2=<AC+2>&17
  9122			000017			AC3=<AC+3>&17
  9123			000000			AC4=<AC+4>&17
  9124			000001			AC5=<AC+5>&17
  9125			000012			RAN1=<AC-2>&17
  9126	042227	201 13 0 00 042227 		MOVEI	AC-1,.
  9127	042230	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9128	042231	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9129	042232	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9130	042233	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9131	042234	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9132	042235	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9133	042236	403 14 0 00 000012 	JMPN2:	SETZB	AC,RAN1		;CLEAR C(AC).
  9134	042237	326 14 0 00 042241 		JUMPN	AC,.+2		;C(AC) = 0...NO JUMP.
  9135	042240	322 14 0 00 042242 		JUMPE	AC,.+2		;C(AC) = 0...JUMP.
  9136	042241	005 14 0 00 060676 		ER	AC,[ASCII /JMP/]
  9137	042242	312 14 0 00 000012 		CAME	AC,RAN1		;C(AC) SHOULD STILL = 0.
  9138	042243	367 13 0 00 042236 		SOJG	AC-1,JMPN2	;ITERATION COUNTER.
  9139	042244	321 13 0 00 042236 		JUMPL	AC-1,JMPN2	;LOOP ON ERROR SWITCH.
  9140
  9141
  9142

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 64
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0242

  9143
  9144
  9145					;TEST JUMPL, JUMPG. CHECK FOR JUMP/ NO JUMP 
  9146					;AND NO MODIFICATION OF C(AC) WITH C(AC)=TO A FLOATING ONE
  9147					;WITH SIGN BIT SET.
  9148
  9149
  9150			000014			AC=14
  9151	042245				JMPL1:	SETUP	100,0^
  9152			000015			AC1=<AC+1>&17
  9153			000016			AC2=<AC+2>&17
  9154			000017			AC3=<AC+3>&17
  9155			000000			AC4=<AC+4>&17
  9156			000001			AC5=<AC+5>&17
  9157			000012			RAN1=<AC-2>&17
  9158	042245	201 13 0 00 042245 		MOVEI	AC-1,.
  9159	042246	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9160	042247	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9161	042250	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9162	042251	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9163	042252	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9164	042253	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9165	042254	200 14 0 00 060677 		MOVE	AC,[XWD 400000,1];SETUP AC FOR FLOATING ONE BIT
  9166	042255	430 14 0 00 060665 	JMPL2:	XOR	AC,[XWD 400000,0];CLEAR SIGN BIT FOR ROT.
  9167	042256	241 14 0 00 000001 	JMPL3:	ROT	AC,1		;ROT TO TEST NEXT BIT.
  9168	042257	434 14 0 00 060665 		IOR	AC,[XWD 400000,0];SET SIGN BIT
  9169	042260	202 14 0 00 000012 		MOVEM	AC,RAN1		;SAVE AC FOR FUTURE COMPARE.
  9170	042261	200 14 0 00 000012 	JMPL4:	MOVE	AC,RAN1		;RESTORE C(AC) IN CASE OF ERROR.
  9171	042262	327 14 0 00 042264 		JUMPG	AC,.+2		;SHOULD NOT JUMP.
  9172	042263	321 14 0 00 042265 		JUMPL	AC,.+2		;SHOULD JUMP.
  9173	042264	005 14 0 00 060676 		ER	AC,[ASCII /JMP/]
  9174	042265	312 14 0 00 000012 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  9175	042266	003 12 0 00 042265 		ERRI	RAN1,.-1
  9176	042267	316 12 0 00 060665 		CAMN	RAN1,[XWD 400000,0];IS FLOATING ONE THE SIGN BIT?
  9177	042270	254 00 0 00 042256 		JRST	JMPL3		;YES. ROT AND SET SIGN BIT.
  9178	042271	367 13 0 00 042255 		SOJG	AC-1,JMPL2	;ITERATION COUNTER.
  9179	042272	321 13 0 00 042261 		JUMPL	AC-1,JMPL4	;LOOP ON ERROR SWITCH.
  9180

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 65
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0243

  9181
  9182
  9183					;TEST JUMPG, JUMPL. CHECK FOR JUMP/ NO JUMP
  9184					;AND NO MODIFICATION OF C(AC) WITH A FLOATING ONE
  9185					;AND SIGN BIT NEVER SET.
  9186
  9187
  9188			000015			AC=15
  9189	042273				JMPG1:	SETUP	100,0^
  9190			000016			AC1=<AC+1>&17
  9191			000017			AC2=<AC+2>&17
  9192			000000			AC3=<AC+3>&17
  9193			000001			AC4=<AC+4>&17
  9194			000002			AC5=<AC+5>&17
  9195			000013			RAN1=<AC-2>&17
  9196	042273	201 14 0 00 042273 		MOVEI	AC-1,.
  9197	042274	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9198	042275	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9199	042276	202 14 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9200	042277	201 14 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9201	042300	240 14 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9202	042301	240 14 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9203	042302	201 15 0 00 000001 		MOVEI	AC,1		;SETUP AC FOR FLOATING ONE BIT
  9204	042303	241 15 0 00 000001 	JMPG2:	ROT	AC,1		;ROT TO TEST NEXT BIT.
  9205	042304	316 15 0 00 060665 		CAMN	AC,[XWD 400000,0];IS BIT IN SIGN POSITION?
  9206	042305	241 15 0 00 000001 		ROT	AC,1		;YES, ROT AGAIN
  9207	042306	200 13 0 00 000015 		MOVE	RAN1,AC		;SAVE FOR FUTURE COMPARE.
  9208	042307	200 15 0 00 000013 	JMPG3:	MOVE	AC,RAN1		;RESTORE C(AC) IN CASE OF ERROR.
  9209	042310	321 15 0 00 042312 		JUMPL	AC,.+2		;SHOULD NOT JUMP.
  9210	042311	327 15 0 00 042313 		JUMPG	AC,.+2		;SHOULD JUMP.
  9211	042312	005 15 0 00 060676 		ER	AC,[ASCII /JMP/]
  9212	042313	312 15 0 00 000013 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  9213	042314	003 13 0 00 042313 		ERRI	RAN1,.-1
  9214	042315	367 14 0 00 042303 		SOJG	AC-1,JMPG2	;ITERATION COUNTER.
  9215	042316	321 14 0 00 042307 		JUMPL	AC-1,JMPG3	;LOOP ON ERROR SWITCH.
  9216

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 66
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0244

  9217
  9218
  9219					;TEST JUMPGE, JUMPL. CHECK FOR JUMP/ NO JUMP
  9220					;AND NO MODIFICATION OF C(AC) WITH C(AC)=TO A FLOATING
  9221					;ONE WITH SIGN BIT NEVER SET.
  9222
  9223
  9224			000006			AC=6
  9225	042317				JMPGE1:	SETUP	100,0^
  9226			000007			AC1=<AC+1>&17
  9227			000010			AC2=<AC+2>&17
  9228			000011			AC3=<AC+3>&17
  9229			000012			AC4=<AC+4>&17
  9230			000013			AC5=<AC+5>&17
  9231			000004			RAN1=<AC-2>&17
  9232	042317	201 05 0 00 042317 		MOVEI	AC-1,.
  9233	042320	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9234	042321	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9235	042322	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9236	042323	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9237	042324	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9238	042325	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9239	042326	201 06 0 00 000001 		MOVEI	AC,1		;SETUP AC FOR FLOATING ONE BIT
  9240	042327	241 06 0 00 000001 	JMPGE2:	ROT	AC,1		;ROT TO TEST NEXT BIT
  9241	042330	316 06 0 00 060665 		CAMN	AC,[XWD 400000,0];SIGN BIT SET?
  9242	042331	241 06 0 00 000001 		ROT	AC,1		;YES. ROT AGAIN
  9243	042332	202 06 0 00 000004 		MOVEM	AC,RAN1		;SAVE AC FOR FUTURE COMPARE.
  9244	042333	321 06 0 00 042335 		JUMPL	AC,.+2		;C(AC) IS POSITIVE AND SHOULD NOT JUMP.
  9245	042334	325 06 0 00 042336 	JMPGE3:	JUMPGE	AC,.+2		;SHOULD JUMP.
  9246	042335	005 06 0 00 060676 		ER	AC,[ASCII /JMP/]
  9247	042336	312 06 0 00 000004 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  9248	042337	003 04 0 00 042336 		ERRI	RAN1,.-1
  9249	042340	403 06 0 00 000007 		SETZB	AC,AC1		;CLEAR C(AC).
  9250	042341	321 06 0 00 042343 		JUMPL	AC,.+2		;C(E) IS POSITIVE...SHOULD NOT JUMP
  9251	042342	325 06 0 00 042344 		JUMPGE	AC,.+2		;SHOULD JUMP
  9252	042343	005 06 0 00 060676 		ER	AC,[ASCII /JMP/]
  9253	042344	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD STILL = 0.
  9254	042345	003 07 0 00 042344 		ERRI	AC1,.-1
  9255	042346	367 05 0 00 042327 		SOJG	AC-1,JMPGE2	;ITERATION COUNTER.
  9256	042347	200 06 0 00 000004 		MOVE	AC,RAN1		;RESTORE C(AC).
  9257	042350	321 05 0 00 042334 		JUMPL	AC-1,JMPGE3	;LOOP ON ERROR SWITCH.
  9258

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 67
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0245

  9259
  9260
  9261					;TEST JUMPG, JUMPLE. CHECK FOR JUMP/ NO JUMP
  9262					;AND NO MODIFICATION OF C(AC) WITH C(AC)=FLOATING ONE
  9263					;WITH SIGN BIT SET
  9264
  9265
  9266			000007			AC=7
  9267	042351				JMPLE1:	SETUP	100,0^
  9268			000010			AC1=<AC+1>&17
  9269			000011			AC2=<AC+2>&17
  9270			000012			AC3=<AC+3>&17
  9271			000013			AC4=<AC+4>&17
  9272			000014			AC5=<AC+5>&17
  9273			000005			RAN1=<AC-2>&17
  9274	042351	201 06 0 00 042351 		MOVEI	AC-1,.
  9275	042352	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9276	042353	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9277	042354	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9278	042355	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9279	042356	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9280	042357	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9281	042360	200 07 0 00 060677 		MOVE	AC,[XWD 400000,1];SETUP AC FOR FLOATING ONE AND SIGN BITS SET.
  9282	042361	430 07 0 00 060665 	JMPLE2:	XOR	AC,[XWD 400000,0];CLEAR SIGN BIT.
  9283	042362	241 07 0 00 000001 		ROT	AC,1		;ROT TO TEST NEXT BIT.
  9284	042363	434 07 0 00 060665 		IOR	AC,[XWD 400000,0];SET SIGN BIT
  9285	042364	202 07 0 00 000005 		MOVEM	AC,RAN1		;SAVE C(AC) FOR FUTURE COMPARE.
  9286	042365	327 07 0 00 042367 	JMPLE3:	JUMPG	AC,.+2		;C(AC) IS NEG...SHOULD NOT JUMP.
  9287	042366	323 07 0 00 042370 		JUMPLE	AC,.+2		;SHOULD JUMP.
  9288	042367	005 07 0 00 060676 		ER	AC,[ASCII /JMP/]
  9289	042370	312 07 0 00 000005 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  9290	042371	003 05 0 00 042370 		ERRI	RAN1,.-1
  9291	042372	403 07 0 00 000010 		SETZB	AC,AC1		;CLEAR C(AC).
  9292	042373	327 07 0 00 042375 		JUMPG	AC,.+2		;C(AC) =0.  SHOULD NOT JUMP
  9293	042374	323 07 0 00 042376 		JUMPLE	AC,.+2		;SHOULD JUMP
  9294	042375	005 07 0 00 060676 		ER	AC,[ASCII /JMP/]
  9295	042376	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD = ORIG C(AC).
  9296	042377	003 10 0 00 042376 		ERRI	AC1,.-1
  9297	042400	316 05 0 00 060665 		CAMN	RAN1,[XWD 400000,0];JUST THE SIGN BIT SET?
  9298	042401	200 07 0 00 060677 		MOVE	AC,[XWD 400000,1];YES. REINITIALIZE NUMBER.
  9299	042402	367 06 0 00 042361 		SOJG	AC-1,JMPLE2	;ITERATION COUNTER.
  9300	042403	200 07 0 00 000005 		MOVE	AC,RAN1		;RESTORE C(AC).
  9301	042404	321 06 0 00 042365 		JUMPL	AC-1,JMPLE3	;LOOP ON ERROR SWITCH.
  9302
  9303
  9304

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 68
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0246

  9305
  9306
  9307					;TEST JUMPLE, JUMPGE. CHECK FOR JUMP/ NO JUMP
  9308					;AND NO MODIFICATION OF C(AC) FOR C(AC) = POS. RAN. NUM.
  9309
  9310
  9311			000010			AC=10
  9312	042405				JMPLEA:	SETUP	100,0^
  9313			000011			AC1=<AC+1>&17
  9314			000012			AC2=<AC+2>&17
  9315			000013			AC3=<AC+3>&17
  9316			000014			AC4=<AC+4>&17
  9317			000015			AC5=<AC+5>&17
  9318			000006			RAN1=<AC-2>&17
  9319	042405	201 07 0 00 042405 		MOVEI	AC-1,.
  9320	042406	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9321	042407	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9322	042410	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9323	042411	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9324	042412	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9325	042413	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9326	042414				JMPLEB:	RANDOM^
  9327	042414	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9328	042415	270 10 0 00 060657 		ADD	AC,[142536475076]
  9329	042416	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9330	042417	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9331	042420	322 10 0 00 042414 		JUMPE	AC,JMPLEB	;REJECT IF RAN = 0.
  9332	042421	404 10 0 00 060673 	JMPLEC:	AND	AC,[XWD 377777,-1];MAKE SURE C(AC) IS POS.
  9333	042422	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
  9334	042423	323 10 0 00 042425 		JUMPLE	AC,.+2		;C(AC) IS POS...NO JUMP.
  9335	042424	325 10 0 00 042426 		JUMPGE	AC,.+2		;C(AC) IS POS...JUMP.
  9336	042425	005 10 0 00 060676 		ER	AC,[ASCII /JMP/]
  9337	042426	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
  9338	042427	003 06 0 00 042426 		ERRI	RAN1,.-1
  9339						LOOP	JMPLEB,JMPLEC^
  9340	042430	367 07 0 00 042414 		SOJG	AC-1,JMPLEB		;ITERATION COUNTER
  9341	042431	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9342	042432	321 07 0 00 042421 		JUMPL	AC-1,JMPLEC		;LOOP ON ERROR SWITCH ^
  9343

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 69
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0247

  9344
  9345
  9346					;TEST AOS,AOSA.  CHECK FOR SKIP/NO SKIP,
  9347					;CORRECT DATA IN C(E), AND PROPER LOADING OF C(E) INTO
  9348					;C(AC) FOR C(E)=TO RAN
  9349					;ALSO CHECK PROPER SETTING OF CRY0, CRY1, AND OVERFLOW FLAGS.
  9350
  9351
  9352			000011			AC=11
  9353	042433				AOS1:	SETUP	100,0^
  9354			000012			AC1=<AC+1>&17
  9355			000013			AC2=<AC+2>&17
  9356			000014			AC3=<AC+3>&17
  9357			000015			AC4=<AC+4>&17
  9358			000016			AC5=<AC+5>&17
  9359			000007			RAN1=<AC-2>&17
  9360	042433	201 10 0 00 042433 		MOVEI	AC-1,.
  9361	042434	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9362	042435	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9363	042436	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9364	042437	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9365	042440	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9366	042441	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9367	042442				AOS2:	RANDOM^
  9368	042442	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9369	042443	270 11 0 00 060657 		ADD	AC,[142536475076]
  9370	042444	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9371	042445	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9372	042446	200 14 0 00 061125 	AOS3:	MOVE	AC3,RAN		;SAVE C(E) IN CASE OF ERROR.
  9373	042447	255 17 0 00 042450 		JFCL	17,.+1		;CLEAR THE FLAGS.
  9374	042450	200 07 0 00 000012 		MOVE	RAN1,AC1	;SAVE C(AC) FOR FUTURE COMPARE.
  9375	042451	200 13 0 00 000011 		MOVE	AC2,AC		;SIMULATE
  9376	042452	270 13 0 00 060700 		ADD	AC2,[2]		;2 AOS INST.
  9377	042453	350 12 0 00 000011 		AOS	AC1,AC		;SHOULD NOT SKIP
  9378	042454	354 12 0 00 000011 		AOSA	AC1,AC		;SHOULD SKIP
  9379	042455	005 11 0 00 060701 		ER	AC,[ASCII /AOS/]
  9380	042456	312 11 0 00 000013 		CAME	AC,AC2		;C(E) SHOULD=RAN+2.
  9381	042457	001 14 0 00 000007 		ERR	AC3,RAN1
  9382	042460	312 12 0 00 000013 		CAME	AC1,AC2		;C(AC) SHOULD=C(E)
  9383	042461	001 14 0 00 000007 		ERR	AC3,RAN1
  9384	042462	255 04 0 00 042467 		JFCL	4,CRY0B
  9385	042463	255 02 0 00 042476 		JFCL	2,CRY1B
  9386	042464	255 10 0 00 042466 		JFCL	10,.+2
  9387	042465	254 00 0 00 042502 		JRST	AOS4
  9388	042466	005 12 0 00 060664 		ER	AC1,[ASCII /OV/];OV SET WITHOUT CRY0 OR CRY1 BEING SET.
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 70
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0248

  9389	042467	312 14 0 00 060662 	CRY0B:	CAME	AC3,[-1]
  9390	042470	005 12 0 00 060667 		ER	AC1,[ASCII /CRY0/];CRY0 SHOULD NOT BE SET IF RAN DOESN'T = A -1.
  9391	042471	255 02 0 00 042473 		JFCL	2,.+2		;IF RAN = A -1, BOTH CRY0 AND
  9392	042472	005 12 0 00 060670 		ER	AC1,[ASCII /CRY1/];CRY1 SHOULD BE SET.
  9393	042473	255 10 0 00 042475 		JFCL	10,.+2
  9394	042474	254 00 0 00 042502 		JRST	AOS4
  9395	042475	005 12 0 00 060664 		ER	AC1,[ASCII /OV/];IF BOTH CRY0 AND CRY1 ARE SET, OV SHOULD NOT.
  9396	042476	312 14 0 00 060673 	CRY1B:	CAME	AC3,[XWD 377777,-1]
  9397	042477	005 12 0 00 060670 		ER	AC1,[ASCII /CRY1/]
  9398	042500	255 10 0 00 042502 		JFCL	10,.+2
  9399	042501	005 12 0 00 060664 		ER	AC1,[ASCII /OV/];IF CRY1 ONLY IS SET, OV SHOULD BE SET.
  9400	042502				AOS4:	LOOP	AOS2,AOS3^
  9401	042502	367 10 0 00 042442 		SOJG	AC-1,AOS2		;ITERATION COUNTER
  9402	042503	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9403	042504	321 10 0 00 042446 		JUMPL	AC-1,AOS3		;LOOP ON ERROR SWITCH ^
  9404

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 71
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0249

  9405
  9406
  9407					;TEST AOSE, AOSN.  CHECK FOR SKIP/NO SKIP,
  9408					;CORRECT DATA IN C(E), AND PROPER LOADING OF
  9409					;AC WITH C(E).  TESTED WITH C(E)=1,3,7,17,37,+ETC.
  9410
  9411
  9412			000002			AC=2
  9413	042505				AOSE1:	SETUP	100,0^
  9414			000003			AC1=<AC+1>&17
  9415			000004			AC2=<AC+2>&17
  9416			000005			AC3=<AC+3>&17
  9417			000006			AC4=<AC+4>&17
  9418			000007			AC5=<AC+5>&17
  9419			000000			RAN1=<AC-2>&17
  9420	042505	201 01 0 00 042505 		MOVEI	AC-1,.
  9421	042506	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9422	042507	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9423	042510	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9424	042511	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9425	042512	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9426	042513	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9427	042514	201 02 0 00 000001 		MOVEI	AC,1		;SETUP C("E") TO =1.
  9428	042515	200 05 0 00 000002 	AOSE2:	MOVE	AC3,AC		;SAVE C(E) IN CASE OF ERROR.
  9429	042516	200 02 0 00 000005 	AOSE3:	MOVE	AC,AC3		;RESTORE AC IN CASE OF ERROR.
  9430	042517	200 04 0 00 000002 		MOVE	AC2,AC		;SIMULATE
  9431	042520	270 04 0 00 060700 		ADD	AC2,[2]		;TWO AOS INST
  9432	042521	200 00 0 00 000003 		MOVE	RAN1,AC1	;SAVE C(AC).
  9433	042522	352 03 0 00 000002 		AOSE	AC1,AC		;C(E)=A POSITIVE NON ZERO NUMBER..DON'T SKIP
  9434	042523	356 03 0 00 000002 		AOSN	AC1,AC		;C(E)=A POSITIVE NON ZERO NUMBER ..SKIP
  9435	042524	005 02 0 00 060701 		ER	AC,[ASCII /AOS/]
  9436	042525	312 02 0 00 000004 		CAME	AC,AC2		;C(E) SHOULD=SIM ANS
  9437	042526	001 05 0 00 000000 		ERR	AC3,RAN1
  9438	042527	312 03 0 00 000004 		CAME	AC1,AC2		;C(AC) SHOULD=C(E)
  9439	042530	001 05 0 00 000000 		ERR	AC3,RAN1
  9440	042531	200 02 0 00 061125 		MOVE	AC,RAN		;RESTOR C(E)
  9441	042532	241 02 0 00 000001 		ROT	AC,1		;ROT TO TEST NEXT BIT.
  9442	042533	434 02 0 00 060666 		IOR	AC,[1]		;SET BIT 35
  9443	042534	367 01 0 00 042515 		SOJG	AC-1,AOSE2	;ITERATION COUNTER.
  9444	042535	321 01 0 00 042516 		JUMPL	AC-1,AOSE3	;LOOP ON ERROR SWITCH.
  9445
  9446
  9447

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 72
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0250

  9448
  9449
  9450					;TEST AOSG, AOSE. CHECK FOR SKIP/ NO SKIP,
  9451					;CORRECT DATA IN C(E), AND PROPER LOADING
  9452					;OR AC WITCH C(E). C(E) = -2 AND C(AC) = RAN. NUM.
  9453
  9454
  9455			000011			AC=11
  9456	042536				AOSGA:	SETUP	100,0^
  9457			000012			AC1=<AC+1>&17
  9458			000013			AC2=<AC+2>&17
  9459			000014			AC3=<AC+3>&17
  9460			000015			AC4=<AC+4>&17
  9461			000016			AC5=<AC+5>&17
  9462			000007			RAN1=<AC-2>&17
  9463	042536	201 10 0 00 042536 		MOVEI	AC-1,.
  9464	042537	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9465	042540	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9466	042541	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9467	042542	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9468	042543	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9469	042544	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9470	042545				AOSGB:	RANDOM^
  9471	042545	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9472	042546	270 11 0 00 060657 		ADD	AC,[142536475076]
  9473	042547	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9474	042550	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9475	042551	200 12 0 00 060702 	AOSGC:	MOVE	AC1,[XWD -1,-2]	;MAKE C(E) = -2.
  9476	042552	200 07 0 00 000012 		MOVE	RAN1,AC1	;SAVE C(E) IN CASE OF ERR.
  9477	042553	357 11 0 00 000012 		AOSG	AC,AC1		;C(E) + 1 = -1...NO SKIP.
  9478	042554	352 11 0 00 000012 		AOSE	AC,AC1		;C(E) + 1 = 0...SKIP.
  9479	042555	005 12 0 00 060701 		ER	AC1,[ASCII /AOS/]
  9480	042556	312 12 0 00 000011 		CAME	AC1,AC		;C(AC) SHOULD = C(E)
  9481	042557	001 07 0 00 061125 		ERR	RAN1,RAN
  9482	042560	312 12 0 00 060660 		CAME	AC1,[0]		;C(E) SHOULD = 0.
  9483	042561	001 07 0 00 061125 		ERR	RAN1,RAN
  9484						LOOP	AOSGB,AOSGC^
  9485	042562	367 10 0 00 042545 		SOJG	AC-1,AOSGB		;ITERATION COUNTER
  9486	042563	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9487	042564	321 10 0 00 042551 		JUMPL	AC-1,AOSGC		;LOOP ON ERROR SWITCH ^
  9488
  9489
  9490

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 73
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0251

  9491
  9492
  9493					;TEST AOSL, AOSG.  CHECK FOR SKIP/NO SKIP,
  9494					;CORRECT DATA IN C(E) AND PROPER STORING
  9495					;OF C(E) INTO AC FOR C(E)=+RAN.
  9496
  9497
  9498			000010			AC=10
  9499	042565				AOSL1:	SETUP	100,0^
  9500			000011			AC1=<AC+1>&17
  9501			000012			AC2=<AC+2>&17
  9502			000013			AC3=<AC+3>&17
  9503			000014			AC4=<AC+4>&17
  9504			000015			AC5=<AC+5>&17
  9505			000006			RAN1=<AC-2>&17
  9506	042565	201 07 0 00 042565 		MOVEI	AC-1,.
  9507	042566	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9508	042567	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9509	042570	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9510	042571	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9511	042572	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9512	042573	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9513	042574				AOSL2:	RANDOM^
  9514	042574	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9515	042575	270 10 0 00 060657 		ADD	AC,[142536475076]
  9516	042576	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9517	042577	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9518	042600	630 10 0 00 060703 	AOSL3:	TDZ	AC,[XWD 600000,0];MAKE C(E) SO TWO AOS'S WON'T CHANGE SIGN.
  9519	042601	200 13 0 00 000010 		MOVE	AC3,AC		;SAVE C(E) IN CASE OF ERROR
  9520	042602	200 12 0 00 000010 		MOVE	AC2,AC		;SIMULATE
  9521	042603	270 12 0 00 060700 		ADD	AC2,[2]		;2 AOS'S
  9522	042604	200 06 0 00 000011 		MOVE	RAN1,AC1	;SAVE C(AC) IN CASE OF ERROR.
  9523	042605	351 11 0 00 000010 		AOSL	AC1,AC		;C(E) POSITIVE...NO SKIP
  9524	042606	357 11 0 00 000010 		AOSG	AC1,AC		;C(E) POSITIVE...SKIP
  9525	042607	005 11 0 00 060701 		ER	AC1,[ASCII /AOS/]
  9526	042610	312 11 0 00 000010 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER AOS.
  9527	042611	001 13 0 00 000006 		ERR	AC3,RAN1
  9528	042612	312 12 0 00 000010 		CAME	AC2,AC		;C(E) SHOULD=SIM ANS
  9529	042613	001 13 0 00 000006 		ERR	AC3,RAN1
  9530						LOOP	AOSL2,AOSL3^
  9531	042614	367 07 0 00 042574 		SOJG	AC-1,AOSL2		;ITERATION COUNTER
  9532	042615	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9533	042616	321 07 0 00 042600 		JUMPL	AC-1,AOSL3		;LOOP ON ERROR SWITCH ^
  9534

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 74
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0252

  9535
  9536
  9537					;TEST AOSG, AOSL.  CHECK FOR SKIP/NO SKIP,
  9538					;CORRECT DATA IN C(E) AND PROPER STORING
  9539					;OF C(E) INTO AC FOR C(E) = -RAN NUM WITH END 2 BITS CLEARED
  9540
  9541
  9542			000002			AC=2
  9543	042617				AOSG1:	SETUP	100,0^
  9544			000003			AC1=<AC+1>&17
  9545			000004			AC2=<AC+2>&17
  9546			000005			AC3=<AC+3>&17
  9547			000006			AC4=<AC+4>&17
  9548			000007			AC5=<AC+5>&17
  9549			000000			RAN1=<AC-2>&17
  9550	042617	201 01 0 00 042617 		MOVEI	AC-1,.
  9551	042620	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9552	042621	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9553	042622	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9554	042623	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9555	042624	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9556	042625	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9557	042626				AOSG2:	RANDOM^
  9558	042626	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9559	042627	270 02 0 00 060657 		ADD	AC,[142536475076]
  9560	042630	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9561	042631	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9562	042632	670 02 0 00 060665 	AOSG3:	TDO	AC,[XWD 400000,0];MAKE C(E) BEG.
  9563	042633	630 02 0 00 060704 		TDZ	AC,[3]		;CLEAR 2 END BITS SO AOSL WILL ALWAYS SKIP.
  9564	042634	200 05 0 00 000002 		MOVE	AC3,AC		;SAVE C(E) IN CASE OF ERROR
  9565	042635	200 04 0 00 000002 		MOVE	AC2,AC		;SIMULATE
  9566	042636	270 04 0 00 060700 		ADD	AC2,[2]		;2 AOS'S
  9567	042637	200 00 0 00 000003 		MOVE	RAN1,AC1	;SAVE C(AC) IN CASE OF ERROR.
  9568	042640	357 03 0 00 000002 		AOSG	AC1,AC		;C(E) IS NEG...SHOULD NOT SKIP
  9569	042641	351 03 0 00 000002 		AOSL	AC1,AC		;C(E) IS NEG...SHOULD SKIP
  9570	042642	005 03 0 00 060701 		ER	AC1,[ASCII /AOS/]
  9571	042643	312 03 0 00 000002 		CAME	AC1,AC		;C(AC) SHOULD = C(E) AFTER AOS
  9572	042644	001 05 0 00 000000 		ERR	AC3,RAN1
  9573	042645	312 04 0 00 000002 		CAME	AC2,AC		;C(E) SHOULD = SIM ANS.
  9574	042646	001 05 0 00 000000 		ERR	AC3,RAN1
  9575						LOOP	AOSG2,AOSG3^
  9576	042647	367 01 0 00 042626 		SOJG	AC-1,AOSG2		;ITERATION COUNTER
  9577	042650	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9578	042651	321 01 0 00 042632 		JUMPL	AC-1,AOSG3		;LOOP ON ERROR SWITCH ^
  9579

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 75
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0253

  9580
  9581
  9582					;TEST AOSLE, AOSG.  CHECK FOR SKIP/NO SKIP,
  9583					;PROPER STORING OF C(E) INTO AC, AND CORRECT
  9584					;DATA IN E FOR C(E) = FLOATING ONE
  9585
  9586
  9587			000003			AC=3
  9588	042652				AOSLE1:	SETUP	100,0^
  9589			000004			AC1=<AC+1>&17
  9590			000005			AC2=<AC+2>&17
  9591			000006			AC3=<AC+3>&17
  9592			000007			AC4=<AC+4>&17
  9593			000010			AC5=<AC+5>&17
  9594			000001			RAN1=<AC-2>&17
  9595	042652	201 02 0 00 042652 		MOVEI	AC-1,.
  9596	042653	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9597	042654	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9598	042655	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9599	042656	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9600	042657	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9601	042660	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9602	042661	201 03 0 00 000001 	AOSLE2:	MOVEI	AC,1		;SETUP C(E)=FLOATING ONE
  9603	042662	316 03 0 00 060705 	AOSLE3:	CAMN	AC,[XWD 200000,0];C(E) = BIT 1 SET?
  9604	042663	201 03 0 00 000001 		MOVEI	AC,1		;YES. REINITIALIZE C(E).
  9605	042664	241 03 0 00 000001 		ROT	AC,1		;ROT TO TEST NEXT BIT.
  9606	042665	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
  9607	042666	200 06 0 00 000004 	AOSLE4:	MOVE	AC3,AC1		;SAVE C(AC) IN CASE OF ERROR.
  9608	042667	200 05 0 00 000003 		MOVE	AC2,AC		;SIMULATE
  9609	042670	270 05 0 00 060700 		ADD	AC2,[2]		;2 AOS'S
  9610	042671	353 04 0 00 000003 		AOSLE	AC1,AC		;C(E) IS POSITIVE...NO SKIP
  9611	042672	357 04 0 00 000003 		AOSG	AC1,AC		;C(E) IS POSITIVE...SKIP
  9612	042673	005 04 0 00 060701 		ER	AC1,[ASCII /AOS/]
  9613	042674	312 04 0 00 000003 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER AOS
  9614	042675	001 01 0 00 000006 		ERR	RAN1,AC3
  9615	042676	312 03 0 00 000005 		CAME	AC,AC2		;C(E) SHOULD=SIM ANS
  9616	042677	001 01 0 00 000006 		ERR	RAN1,AC3
  9617	042700	200 03 0 00 000001 		MOVE	AC,RAN1		;RESTORE FLOATING ONE.
  9618	042701	367 02 0 00 042662 		SOJG	AC-1,AOSLE3	;ITERATION COUNTER.
  9619	042702	321 02 0 00 042666 		JUMPL	AC-1,AOSLE4	;LOOP ON ERROR SWITCH.
  9620

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 76
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0254

  9621
  9622
  9623					;TEST AOSG, AOSGE.  CHECK FOR SKIP/NO SKIP,
  9624					;CORRECT LOADING OF C(E) INTO AC, AND C(E)=
  9625					;CORRECT DATA.
  9626					;RAN TO RAN1
  9627
  9628
  9629			000004			AC=4
  9630	042703				AOSGE1:	SETUP	100,0^
  9631			000005			AC1=<AC+1>&17
  9632			000006			AC2=<AC+2>&17
  9633			000007			AC3=<AC+3>&17
  9634			000010			AC4=<AC+4>&17
  9635			000011			AC5=<AC+5>&17
  9636			000002			RAN1=<AC-2>&17
  9637	042703	201 03 0 00 042703 		MOVEI	AC-1,.
  9638	042704	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9639	042705	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9640	042706	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9641	042707	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9642	042710	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9643	042711	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9644	042712	200 04 0 00 060702 	AOSGE2:	MOVE	AC,[XWD -1,-2]	;MAKE C(E) = -2.
  9645	042713	200 06 0 00 000005 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR.
  9646	042714	357 05 0 00 000004 		AOSG	AC1,AC		;C(E)+1=-1...NO SKIP
  9647	042715	355 05 0 00 000004 		AOSGE	AC1,AC		;C(E)+1=0...SKIP
  9648	042716	005 05 0 00 060701 		ER	AC1,[ASCII /AOS/]
  9649	042717	312 05 0 00 000004 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER AOS
  9650	042720	001 06 0 00 060702 		ERR	AC2,[XWD -1,-2]
  9651	042721	312 04 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
  9652	042722	001 06 0 00 060702 		ERR	AC2,[XWD -1,-2]
  9653	042723	367 03 0 00 042712 		SOJG	AC-1,AOSGE2	;ITERATION COUNTER.
  9654	042724	321 03 0 00 042712 		JUMPL	AC-1,AOSGE2	;LOOP ON ERROR SWITCH.
  9655

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 77
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0255

  9656
  9657
  9658					;TEST AOJ, AOJA. CHECK FOR JUMP/ NO JUMP AND
  9659					;CORRECT DATA IN AC FOR C(AC)=RAN.
  9660
  9661
  9662			000006			AC=6
  9663	042725				AOJ1:	SETUP	100,0^
  9664			000007			AC1=<AC+1>&17
  9665			000010			AC2=<AC+2>&17
  9666			000011			AC3=<AC+3>&17
  9667			000012			AC4=<AC+4>&17
  9668			000013			AC5=<AC+5>&17
  9669			000004			RAN1=<AC-2>&17
  9670	042725	201 05 0 00 042725 		MOVEI	AC-1,.
  9671	042726	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9672	042727	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9673	042730	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9674	042731	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9675	042732	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9676	042733	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9677	042734				AOJ2:	RANDOM^
  9678	042734	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9679	042735	270 06 0 00 060657 		ADD	AC,[142536475076]
  9680	042736	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9681	042737	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9682	042740	200 07 0 00 000006 	AOJ3:	MOVE	AC1,AC		;SIMULATE
  9683	042741	270 07 0 00 060700 		ADD	AC1,[2]		;2 AOJ'S
  9684	042742	340 06 0 00 042744 		AOJ	AC,.+2		;SHOULD NOT SKIP
  9685	042743	344 06 0 00 042745 		AOJA	AC,.+2		;SHOULD SKIP
  9686	042744	005 06 0 00 060706 		ER	AC,[ASCII /AOJ/]
  9687	042745	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
  9688	042746	013 00 0 00 777777 		EERRI	,-1
  9689						LOOP	AOJ2,AOJ3^
  9690	042747	367 05 0 00 042734 		SOJG	AC-1,AOJ2		;ITERATION COUNTER
  9691	042750	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9692	042751	321 05 0 00 042740 		JUMPL	AC-1,AOJ3		;LOOP ON ERROR SWITCH ^
  9693

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 78
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0256

  9694
  9695
  9696					;TEST AOJE, AOJN. CHECK FOR JUMP/ NO JUMP AND
  9697					;C(AC) FOR CORRECT DATA WITH C(AC) = TO A FLOATING ONE
  9698
  9699
  9700			000007			AC=7
  9701	042752				AOJE1:	SETUP	100,0^
  9702			000010			AC1=<AC+1>&17
  9703			000011			AC2=<AC+2>&17
  9704			000012			AC3=<AC+3>&17
  9705			000013			AC4=<AC+4>&17
  9706			000014			AC5=<AC+5>&17
  9707			000005			RAN1=<AC-2>&17
  9708	042752	201 06 0 00 042752 		MOVEI	AC-1,.
  9709	042753	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9710	042754	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9711	042755	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9712	042756	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9713	042757	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9714	042760	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9715	042761	201 07 0 00 000001 		MOVEI	AC,1		;SETUP AC TO CONTAIN A FLOATING ONE
  9716	042762	241 07 0 00 000001 	AOJE2:	ROT	AC,1		;ROT TO TEST NEXT BIT
  9717	042763	200 10 0 00 000007 		MOVE	AC1,AC		;SAVE SO C(AC) CAN BE RESTORED
  9718	042764	200 07 0 00 000010 	AOJE3:	MOVE	AC,AC1		;COME HERE AND RESTORE C(AC) IF ERROR
  9719	042765	200 11 0 00 000007 		MOVE	AC2,AC		;SIMULATE
  9720	042766	270 11 0 00 060700 		ADD	AC2,[2]		;2 AOJ'S
  9721	042767	342 07 0 00 042771 		AOJE	AC,.+2		;C(AC) NOT=0...NO SKIP
  9722	042770	346 07 0 00 042772 		AOJN	AC,.+2		;C(AC) NOT=0...SKIP
  9723	042771	005 07 0 00 060706 		ER	AC,[ASCII /AOJ/]		;
  9724	042772	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
  9725	042773	003 10 0 00 042772 		ERRI	AC1,.-1
  9726	042774	200 07 0 00 000010 		MOVE	AC,AC1		;RESTORE C(AC) BEFORE ROTATE
  9727	042775	367 06 0 00 042762 		SOJG	AC-1,AOJE2	;ITERATION COUNTER.
  9728	042776	321 06 0 00 042764 		JUMPL	AC-1,AOJE3	;LOOP ON ERROR SWITCH.
  9729
  9730
  9731

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 79
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0257

  9732
  9733
  9734					;TEST AOJG, AOJE. CHECK FOR JUMP/ NO JUMP AND
  9735					;C(AC) = CORRECT DATA WITH C(AC) = -2.
  9736
  9737
  9738			000006			AC=6
  9739	042777				AOJGA:	SETUP	100,0^
  9740			000007			AC1=<AC+1>&17
  9741			000010			AC2=<AC+2>&17
  9742			000011			AC3=<AC+3>&17
  9743			000012			AC4=<AC+4>&17
  9744			000013			AC5=<AC+5>&17
  9745			000004			RAN1=<AC-2>&17
  9746	042777	201 05 0 00 042777 		MOVEI	AC-1,.
  9747	043000	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9748	043001	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9749	043002	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9750	043003	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9751	043004	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9752	043005	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9753	043006	200 06 0 00 060702 	AOJGB:	MOVE	AC,[XWD -1,-2]	;MAKE C(AC) = -2.
  9754	043007	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
  9755	043010	347 06 0 00 043012 		AOJG	AC,.+2		;C(AC) + 1 = -1...NO JUMP.
  9756	043011	342 06 0 00 043013 		AOJE	AC,.+2		;C(AC) + 1 = 0...JUMP.
  9757	043012	005 06 0 00 060706 		ER	AC,[ASCII /AOJ/]
  9758	043013	312 06 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD = 0.
  9759	043014	003 04 0 00 043013 		ERRI	RAN1,.-1
  9760	043015	367 05 0 00 043006 		SOJG	AC-1,AOJGB	;ITERATION COUNTER.
  9761	043016	321 05 0 00 043006 		JUMPL	AC-1,AOJGB	;LOOP ON ERROR SWITCH.
  9762
  9763
  9764

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 80
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0258

  9765
  9766
  9767					;TEST AOJL, AOJG.  CHECK FOR JUMP/NO JUMP AND
  9768					;C(AC)=CORRECT DATA FOR C(AC)=RAN
  9769
  9770
  9771			000010			AC=10
  9772	043017				AOJL1:	SETUP	100,0^
  9773			000011			AC1=<AC+1>&17
  9774			000012			AC2=<AC+2>&17
  9775			000013			AC3=<AC+3>&17
  9776			000014			AC4=<AC+4>&17
  9777			000015			AC5=<AC+5>&17
  9778			000006			RAN1=<AC-2>&17
  9779	043017	201 07 0 00 043017 		MOVEI	AC-1,.
  9780	043020	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9781	043021	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9782	043022	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9783	043023	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9784	043024	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9785	043025	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9786	043026				AOJL2:	RANDOM^
  9787	043026	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9788	043027	270 10 0 00 060657 		ADD	AC,[142536475076]
  9789	043030	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9790	043031	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9791	043032	630 10 0 00 060703 	AOJL3:	TDZ	AC,[XWD 600000,0];MAKE C(AC) SO 2 AOJ'S WON'T CHANGE SIGN.
  9792	043033	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
  9793	043034	200 11 0 00 000010 		MOVE	AC1,AC		;SIMULATE 
  9794	043035	270 11 0 00 060700 		ADD	AC1,[2]		;2 AOJ'S.
  9795	043036	341 10 0 00 043040 		AOJL	AC,.+2		;C(AC) IS POS...NO JUMP.
  9796	043037	347 10 0 00 043041 		AOJG	AC,.+2		;C(AC) IS POS...JUMP.
  9797	043040	005 10 0 00 060706 		ER	AC,[ASCII /AOJ/]
  9798	043041	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = SIM. ANS.
  9799	043042	003 06 0 00 043040 		ERRI	RAN1,.-2
  9800						LOOP	AOJL2,AOJL3^
  9801	043043	367 07 0 00 043026 		SOJG	AC-1,AOJL2		;ITERATION COUNTER
  9802	043044	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9803	043045	321 07 0 00 043032 		JUMPL	AC-1,AOJL3		;LOOP ON ERROR SWITCH ^
  9804

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 81
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0259

  9805
  9806
  9807					;TEST AOJG, AOJL.  CHECK FOR JUMP/NO JUMP AND
  9808					;C(AC)=CORRECT DATA FOR C(AC)=-RAN.
  9809
  9810
  9811			000011			AC=11
  9812	043046				AOJG1:	SETUP	100,0^
  9813			000012			AC1=<AC+1>&17
  9814			000013			AC2=<AC+2>&17
  9815			000014			AC3=<AC+3>&17
  9816			000015			AC4=<AC+4>&17
  9817			000016			AC5=<AC+5>&17
  9818			000007			RAN1=<AC-2>&17
  9819	043046	201 10 0 00 043046 		MOVEI	AC-1,.
  9820	043047	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9821	043050	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9822	043051	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9823	043052	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9824	043053	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9825	043054	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9826	043055				AOJG2:	RANDOM^
  9827	043055	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9828	043056	270 11 0 00 060657 		ADD	AC,[142536475076]
  9829	043057	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9830	043060	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9831	043061	670 11 0 00 060665 	AOJG3:	TDO	AC,[XWD 400000,0];MAKE C(AC) NEG.
  9832	043062	630 11 0 00 060704 		TDZ	AC,[3]		;CLEAR TWO END BITS SO AOJL WILL ALWAYS SKIP.
  9833	043063	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
  9834	043064	200 12 0 00 000011 		MOVE	AC1,AC		;SIMULATE
  9835	043065	270 12 0 00 060700 		ADD	AC1,[2]		;2 AOJ'S
  9836	043066	347 11 0 00 043070 		AOJG	AC,.+2		;C(AC) IS NEG...NO SKIP
  9837	043067	341 11 0 00 043071 		AOJL	AC,.+2		;C(AC) IS NEG...SKIP
  9838	043070	005 11 0 00 060706 		ER	AC,[ASCII /AOJ/]
  9839	043071	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
  9840	043072	003 07 0 00 043070 		ERRI	RAN1,.-2
  9841						LOOP	AOJG2,AOJG3^
  9842	043073	367 10 0 00 043055 		SOJG	AC-1,AOJG2		;ITERATION COUNTER
  9843	043074	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9844	043075	321 10 0 00 043061 		JUMPL	AC-1,AOJG3		;LOOP ON ERROR SWITCH ^
  9845

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 82
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0260

  9846
  9847
  9848					;TEST AOJG, AOJGE.  CHECK FOR JUMP/NO JUMP AND
  9849					;CORRECT DATA IN AC FOR C(AC)=-2
  9850
  9851
  9852			000012			AC=12
  9853	043076				AOJGE1:	SETUP	100,0^
  9854			000013			AC1=<AC+1>&17
  9855			000014			AC2=<AC+2>&17
  9856			000015			AC3=<AC+3>&17
  9857			000016			AC4=<AC+4>&17
  9858			000017			AC5=<AC+5>&17
  9859			000010			RAN1=<AC-2>&17
  9860	043076	201 11 0 00 043076 		MOVEI	AC-1,.
  9861	043077	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9862	043100	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9863	043101	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9864	043102	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9865	043103	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9866	043104	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9867	043105	200 12 0 00 060702 	AOJGE2:	MOVE	AC,[XWD -1,-2]	;MAKE C(AC) = -2.
  9868	043106	200 10 0 00 000012 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
  9869	043107	347 12 0 00 043111 		AOJG	AC,.+2		;C(AC)+1=-1. NO SKIP
  9870	043110	345 12 0 00 043112 		AOJGE	AC,.+2		;C(AC)+1=0. SKIP
  9871	043111	005 12 0 00 060706 		ER	AC,[ASCII /AOJ/]
  9872	043112	312 12 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
  9873	043113	003 10 0 00 043111 		ERRI	RAN1,.-2
  9874						LOOP	AOJGE2,AOJGE2^
  9875	043114	367 11 0 00 043105 		SOJG	AC-1,AOJGE2		;ITERATION COUNTER
  9876	043115	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9877	043116	321 11 0 00 043105 		JUMPL	AC-1,AOJGE2		;LOOP ON ERROR SWITCH ^
  9878

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 83
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0261

  9879
  9880
  9881					;TEST AOJG, AOJLE.  CHECK FOR JUMP/NO JUMP AND
  9882					;CORRECT DATA IN AC FOR C(AC)=-2
  9883
  9884
  9885			000013			AC=13
  9886	043117				AOJLE1:	SETUP	100,0^
  9887			000014			AC1=<AC+1>&17
  9888			000015			AC2=<AC+2>&17
  9889			000016			AC3=<AC+3>&17
  9890			000017			AC4=<AC+4>&17
  9891			000000			AC5=<AC+5>&17
  9892			000011			RAN1=<AC-2>&17
  9893	043117	201 12 0 00 043117 		MOVEI	AC-1,.
  9894	043120	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9895	043121	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9896	043122	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9897	043123	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9898	043124	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9899	043125	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9900	043126	200 13 0 00 060702 	AOJLE2:	MOVE	AC,[XWD -1,-2]	;MAKE C(AC) = -2.
  9901	043127	200 11 0 00 000013 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
  9902	043130	347 13 0 00 043132 		AOJG	AC,.+2		;C(AC)+1=-1. NO SKIP
  9903	043131	343 13 0 00 043133 		AOJLE	AC,.+2		;C(AC)+1=0. SKIP
  9904	043132	005 13 0 00 060706 		ER	AC,[ASCII /AOJ/]
  9905	043133	312 13 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
  9906	043134	003 11 0 00 043132 		ERRI	RAN1,.-2
  9907	043135	367 12 0 00 043126 		SOJG	AC-1,AOJLE2	;ITERATION COUNTER.
  9908	043136	321 12 0 00 043126 		JUMPL	AC-1,AOJLE2	;LOOP ON ERROR SWITCH.
  9909

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 84
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0262

  9910
  9911
  9912					;TEST SOS, SOSA.  CHECK FOR SKIP/NO SKIP,
  9913					;PROPER STORING OF C(E) INTO AC, AND CORRECT
  9914					;DATA IN E FOR C(E)=RAN
  9915
  9916
  9917			000007			AC=7
  9918	043137				SOS1:	SETUP	100,0^
  9919			000010			AC1=<AC+1>&17
  9920			000011			AC2=<AC+2>&17
  9921			000012			AC3=<AC+3>&17
  9922			000013			AC4=<AC+4>&17
  9923			000014			AC5=<AC+5>&17
  9924			000005			RAN1=<AC-2>&17
  9925	043137	201 06 0 00 043137 		MOVEI	AC-1,.
  9926	043140	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9927	043141	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9928	043142	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9929	043143	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9930	043144	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9931	043145	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9932	043146				SOS2:	RANDOM^
  9933	043146	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
  9934	043147	270 07 0 00 060657 		ADD	AC,[142536475076]
  9935	043150	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
  9936	043151	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
  9937	043152	200 11 0 00 000010 	SOS3:	MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR
  9938	043153	200 12 0 00 000007 		MOVE	AC3,AC		;SIMULATE
  9939	043154	274 12 0 00 060700 		SUB	AC3,[2]		;2 SOS'S
  9940	043155	370 10 0 00 000007 		SOS	AC1,AC		;SHOULD NOT SKIP
  9941	043156	374 10 0 00 000007 		SOSA	AC1,AC		;SHOULD SKIP
  9942	043157	005 10 0 00 060707 		ER	AC1,[ASCII /SOS/]
  9943	043160	312 10 0 00 000007 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
  9944	043161	011 00 0 00 000011 		EERR	,AC2
  9945	043162	312 12 0 00 000007 		CAME	AC3,AC		;C(E) SHOULD=SIM ANS
  9946	043163	011 00 0 00 000011 		EERR	,AC2
  9947						LOOP	SOS2,SOS3^
  9948	043164	367 06 0 00 043146 		SOJG	AC-1,SOS2		;ITERATION COUNTER
  9949	043165	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
  9950	043166	321 06 0 00 043152 		JUMPL	AC-1,SOS3		;LOOP ON ERROR SWITCH ^
  9951

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 85
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0263

  9952
  9953
  9954					;TEST SOSE, SOSN.  CHECK FOR SKIP/NO SKIP,
  9955					;PROPER STORING C(E) INTO AC, AND CORRECT
  9956					;DATA IN E FOR  C(E) = (3,7,17,37,+ETC.).
  9957
  9958
  9959			000010			AC=10
  9960	043167				SOSE1:	SETUP	100,0^
  9961			000011			AC1=<AC+1>&17
  9962			000012			AC2=<AC+2>&17
  9963			000013			AC3=<AC+3>&17
  9964			000014			AC4=<AC+4>&17
  9965			000015			AC5=<AC+5>&17
  9966			000006			RAN1=<AC-2>&17
  9967	043167	201 07 0 00 043167 		MOVEI	AC-1,.
  9968	043170	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
  9969	043171	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
  9970	043172	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
  9971	043173	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
  9972	043174	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
  9973	043175	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
  9974	043176	201 10 0 00 000001 	SOSE2:	MOVEI	AC,1		;SETUP E TO
  9975	043177	241 10 0 00 000001 	SOSE3:	ROT	AC,1		;CONTAIN
  9976	043200	434 10 0 00 060666 		IOR	AC,[1]		;3,7,17,37,+ETC.
  9977	043201	200 10 0 00 000006 	SOSE4:	MOVE	AC,RAN1		;RESTORE C(E) IN CASE OF ERROR.
  9978	043202	200 12 0 00 000011 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR
  9979	043203	200 13 0 00 000010 		MOVE	AC3,AC		;SIMULATE
  9980	043204	274 13 0 00 060700 		SUB	AC3,[2]		;2 SOS'S
  9981	043205	372 11 0 00 000010 		SOSE	AC1,AC		;SHOULD NOT SKIP
  9982	043206	376 11 0 00 000010 		SOSN	AC1,AC		;SHOULD SKIP
  9983	043207	005 11 0 00 060707 		ER	AC1,[ASCII /SOS/]
  9984	043210	312 11 0 00 000010 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
  9985	043211	011 00 0 00 000012 		EERR	,AC2
  9986	043212	312 13 0 00 000010 		CAME	AC3,AC		;C(E) SHOULD=SIM ANS
  9987	043213	011 00 0 00 000012 		EERR	,AC2
  9988	043214	316 06 0 00 060662 		CAMN	RAN1,[-1]	;C(RAN1) = -1?
  9989	043215	254 00 0 00 043176 		JRST	SOSE2		;YES. REINITIALIZE E.
  9990	043216	367 07 0 00 043177 		SOJG	AC-1,SOSE3	;ITERATION COUNTER.
  9991	043217	321 07 0 00 043201 		JUMPL	AC-1,SOSE4	;LOOP ON ERROR SWITCH
  9992
  9993
  9994

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 86
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0264

  9995
  9996
  9997					;TEST SOSL, SOSE. CHECK FOR SKIP/ NO SKIP,
  9998					;PROPER STORING C(E) INTO AC, AND CORRECT
  9999					;DATA IN E FOR C(E) = 2.
 10000
 10001
 10002			000007			AC=7
 10003	043220				SOSLA:	SETUP	100,0^
 10004			000010			AC1=<AC+1>&17
 10005			000011			AC2=<AC+2>&17
 10006			000012			AC3=<AC+3>&17
 10007			000013			AC4=<AC+4>&17
 10008			000014			AC5=<AC+5>&17
 10009			000005			RAN1=<AC-2>&17
 10010	043220	201 06 0 00 043220 		MOVEI	AC-1,.
 10011	043221	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10012	043222	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10013	043223	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10014	043224	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10015	043225	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10016	043226	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10017	043227				SOSLB:	RANDOM^
 10018	043227	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10019	043230	270 07 0 00 060657 		ADD	AC,[142536475076]
 10020	043231	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10021	043232	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10022	043233	200 10 0 00 060700 	SOSLC:	MOVE	AC1,[2]		;MAKE C(E) = 2.
 10023	043234	200 05 0 00 000010 		MOVE	RAN1,AC1	;SAVE C(E) IN CASE OF ERROR.
 10024	043235	371 07 0 00 000010 		SOSL	AC,AC1		;C(E) -1 = 1...NO SKIP.
 10025	043236	372 07 0 00 000010 		SOSE	AC,AC1		;C(E) -1 = 0...SKIP.
 10026	043237	005 10 0 00 060707 		ER	AC1,[ASCII /SOS/]
 10027	043240	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD = C(E).
 10028	043241	001 05 0 00 061125 		ERR	RAN1,RAN
 10029	043242	312 10 0 00 060660 		CAME	AC1,[0]		;C(E) SHOULD = 0.
 10030	043243	001 05 0 00 061125 		ERR	RAN1,RAN
 10031						LOOP	SOSLB, SOSLC^
 10032	043244	367 06 0 00 043227 		SOJG	AC-1,SOSLB		;ITERATION COUNTER
 10033	043245	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10034	043246	321 06 0 00 043233 		JUMPL	AC-1,SOSLC		;LOOP ON ERROR SWITCH ^
 10035
 10036
 10037

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 87
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0265

 10038
 10039
 10040					;TEST SOSE,SOSL. CHECK FOR SKIP/NO SKIP,
 10041					;PROPER STORING C(E) INTO AC, AND
 10042					;CORRECT DATA IN E FOR C(E)=2
 10043
 10044
 10045			000011			AC=11
 10046	043247				SOSL1:	SETUP	100,0^
 10047			000012			AC1=<AC+1>&17
 10048			000013			AC2=<AC+2>&17
 10049			000014			AC3=<AC+3>&17
 10050			000015			AC4=<AC+4>&17
 10051			000016			AC5=<AC+5>&17
 10052			000007			RAN1=<AC-2>&17
 10053	043247	201 10 0 00 043247 		MOVEI	AC-1,.
 10054	043250	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10055	043251	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10056	043252	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10057	043253	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10058	043254	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10059	043255	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10060	043256	201 11 0 00 000002 	SOSL2:	MOVEI	AC,2		;SETUP C(E) TO = 2.
 10061	043257	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR.
 10062	043260	200 13 0 00 000012 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR.
 10063	043261	371 12 0 00 000011 		SOSL	AC1,AC		;C(E)=1...NO SKIP.
 10064	043262	372 12 0 00 000011 		SOSE	AC1,AC		;C(E)=0...SHOULD SKIP
 10065	043263	005 12 0 00 060707 		ER	AC1,[ASCII /SOS/]
 10066	043264	312 12 0 00 000011 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
 10067	043265	001 07 0 00 000013 		ERR	RAN1,AC2
 10068	043266	312 11 0 00 060660 		CAME	AC,[0]		;C(E) SHOULD NOW=0
 10069	043267	001 07 0 00 000013 		ERR	RAN1,AC2
 10070	043270	367 10 0 00 043256 		SOJG	AC-1,SOSL2	;ITERATION COUNTER.
 10071	043271	321 10 0 00 043256 		JUMPL	AC-1,SOSL2	;LOOP ON ERROR SWITCH.
 10072

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 88
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0266

 10073
 10074
 10075					;TEST SOSG, SOSL. CHECK FOR SKIP/ NO SKIP,
 10076					;PROPER STORING OF C(E) INTO AC, AND CORRECT
 10077					;DATA IN E FOR C(E)=+RAN.
 10078
 10079
 10080			000012			AC=12
 10081	043272				SOSG1:	SETUP	100,0^
 10082			000013			AC1=<AC+1>&17
 10083			000014			AC2=<AC+2>&17
 10084			000015			AC3=<AC+3>&17
 10085			000016			AC4=<AC+4>&17
 10086			000017			AC5=<AC+5>&17
 10087			000010			RAN1=<AC-2>&17
 10088	043272	201 11 0 00 043272 		MOVEI	AC-1,.
 10089	043273	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10090	043274	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10091	043275	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10092	043276	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10093	043277	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10094	043300	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10095	043301				SOSG2:	RANDOM^
 10096	043301	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10097	043302	270 12 0 00 060657 		ADD	AC,[142536475076]
 10098	043303	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10099	043304	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10100	043305	630 12 0 00 060665 	SOSG3:	TDZ	AC,[XWD 400000,0];MAKE C(E) POSITIVE.
 10101	043306	435 12 0 00 000003 		IORI	AC,3		;MAKE SURE C(E)=3.
 10102	043307	200 10 0 00 000012 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR.
 10103	043310	200 14 0 00 000013 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR.
 10104	043311	200 15 0 00 000012 		MOVE	AC3,AC		;SIMULATE
 10105	043312	274 15 0 00 060700 		SUB	AC3,[2]		;2 SOS'S
 10106	043313	371 13 0 00 000012 		SOSL	AC1,AC		;C(E) IS POSITIVE. SHOULD NOT SKIP
 10107	043314	377 13 0 00 000012 		SOSG	AC1,AC		;C(E) IS POSITIVE. SHOULD SKIP
 10108	043315	005 13 0 00 060707 		ER	AC1,[ASCII /SOS/]
 10109	043316	312 13 0 00 000012 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
 10110	043317	001 10 0 00 000014 		ERR	RAN1,AC2
 10111	043320	312 12 0 00 000015 		CAME	AC,AC3		;C(E) SHOULD=SIM ANS
 10112	043321	001 10 0 00 000014 		ERR	RAN1,AC2
 10113						LOOP	SOSG2,SOSG3^
 10114	043322	367 11 0 00 043301 		SOJG	AC-1,SOSG2		;ITERATION COUNTER
 10115	043323	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10116	043324	321 11 0 00 043305 		JUMPL	AC-1,SOSG3		;LOOP ON ERROR SWITCH ^
 10117

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 89
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0267

 10118
 10119
 10120					;TEST SOSG, SOSL. CHECK FOR SKIP/ NO SKIP,
 10121					;PROPER STORING C(E) INTO AC, AND CORRECT
 10122					;DATA IN E FOR C(E)=-RAN
 10123
 10124
 10125			000013			AC=13
 10126	043325				SOSL1A:	SETUP	100,0^
 10127			000014			AC1=<AC+1>&17
 10128			000015			AC2=<AC+2>&17
 10129			000016			AC3=<AC+3>&17
 10130			000017			AC4=<AC+4>&17
 10131			000000			AC5=<AC+5>&17
 10132			000011			RAN1=<AC-2>&17
 10133	043325	201 12 0 00 043325 		MOVEI	AC-1,.
 10134	043326	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10135	043327	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10136	043330	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10137	043331	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10138	043332	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10139	043333	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10140	043334				SOSL2A:	RANDOM^
 10141	043334	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10142	043335	270 13 0 00 060657 		ADD	AC,[142536475076]
 10143	043336	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10144	043337	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10145	043340	670 13 0 00 060665 	SOSL3A:	TDO	AC,[XWD 400000,0];MAKE C(E) NEG.
 10146	043341	200 11 0 00 000013 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 10147	043342	200 15 0 00 000014 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR
 10148	043343	200 16 0 00 000013 		MOVE	AC3,AC		;SIMULATE
 10149	043344	274 16 0 00 060700 		SUB	AC3,[2]		;2 SOS'S
 10150	043345	377 14 0 00 000013 		SOSG	AC1,AC		;C(E) IS NEG. NO SKIP
 10151	043346	371 14 0 00 000013 		SOSL	AC1,AC		;C(E) IS NEG. SKIP
 10152	043347	005 14 0 00 060707 		ER	AC1,[ASCII /SOS/]
 10153	043350	312 14 0 00 000013 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
 10154	043351	001 11 0 00 000015 		ERR	RAN1,AC2
 10155	043352	312 13 0 00 000016 		CAME	AC,AC3		;C(E) SHOULD=SIM ANS
 10156	043353	001 11 0 00 000015 		ERR	RAN1,AC2
 10157						LOOP	SOSL2A, SOSL3A^
 10158	043354	367 12 0 00 043334 		SOJG	AC-1,SOSL2A		;ITERATION COUNTER
 10159	043355	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10160	043356	321 12 0 00 043340 		JUMPL	AC-1,SOSL3A		;LOOP ON ERROR SWITCH ^
 10161

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 90
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0268

 10162
 10163
 10164					;TEST SOSL, SOSLE.  CHECK FOR SKIP/NO SKIP,
 10165					;PROPER STORING OF C(E) INTO AC, AND CORRECT
 10166					;DATA IN E FOR C(E)=2
 10167
 10168
 10169			000014			AC=14
 10170	043357				SOSLE1:	SETUP	100,0^
 10171			000015			AC1=<AC+1>&17
 10172			000016			AC2=<AC+2>&17
 10173			000017			AC3=<AC+3>&17
 10174			000000			AC4=<AC+4>&17
 10175			000001			AC5=<AC+5>&17
 10176			000012			RAN1=<AC-2>&17
 10177	043357	201 13 0 00 043357 		MOVEI	AC-1,.
 10178	043360	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10179	043361	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10180	043362	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10181	043363	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10182	043364	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10183	043365	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10184	043366	201 14 0 00 000002 	SOSLE2:	MOVEI	AC,2		;MAKE C(E)=2
 10185	043367	200 12 0 00 000014 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 10186	043370	200 16 0 00 000015 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR
 10187	043371	371 15 0 00 000014 		SOSL	AC1,AC		;C(E)-1=1...NO SKIP
 10188	043372	373 15 0 00 000014 		SOSLE	AC1,AC		;C(E)-1=0...SKIP
 10189	043373	005 15 0 00 060707 		ER	AC1,[ASCII /SOS/]
 10190	043374	312 15 0 00 000014 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
 10191	043375	001 12 0 00 000016 		ERR	RAN1,AC2
 10192	043376	312 14 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD = 0
 10193	043377	001 12 0 00 000016 		ERR	RAN1,AC2
 10194	043400	367 13 0 00 043366 		SOJG	AC-1,SOSLE2	;ITERATION COUNTER.
 10195	043401	321 13 0 00 043366 		JUMPL	AC-1,SOSLE2	;LOOP ON ERROR SWITCH.
 10196

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 91
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0269

 10197
 10198
 10199					;TEST SOSLE, SOSGE.  CHECK FOR SKIP/NO SKIP,
 10200					;PROPER STORING OF C(E) INTO AC, AND CORRECT
 10201					;DATA IN E FOR C(E)=2
 10202
 10203
 10204			000005			AC=5
 10205	043402				SOSGE1:	SETUP	100,0^
 10206			000006			AC1=<AC+1>&17
 10207			000007			AC2=<AC+2>&17
 10208			000010			AC3=<AC+3>&17
 10209			000011			AC4=<AC+4>&17
 10210			000012			AC5=<AC+5>&17
 10211			000003			RAN1=<AC-2>&17
 10212	043402	201 04 0 00 043402 		MOVEI	AC-1,.
 10213	043403	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10214	043404	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10215	043405	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10216	043406	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10217	043407	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10218	043410	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10219	043411	201 05 0 00 000002 	SOSGE2:	MOVEI	AC,2		;MAKE C(E)=2
 10220	043412	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 10221	043413	200 07 0 00 000006 		MOVE	AC2,AC1		;SAVE C(AC) IN CASE OF ERROR
 10222	043414	373 06 0 00 000005 		SOSLE	AC1,AC		;C(E)-1=1...NO SKIP
 10223	043415	375 06 0 00 000005 		SOSGE	AC1,AC		;C(E)-1=0...SKIP
 10224	043416	005 06 0 00 060707 		ER	AC1,[ASCII /SOS/]
 10225	043417	312 06 0 00 000005 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER SOS
 10226	043420	001 03 0 00 000007 		ERR	RAN1,AC2
 10227	043421	312 05 0 00 060660 		CAME	AC,[0]		;C(E) SHOULD=0
 10228	043422	001 03 0 00 000007 		ERR	RAN1,AC2
 10229	043423	367 04 0 00 043411 		SOJG	AC-1,SOSGE2	;ITERATION COUNTER.
 10230	043424	321 04 0 00 043411 		JUMPL	AC-1,SOSGE2	;LOOP ON ERROR SWITCH.
 10231

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 92
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0270

 10232
 10233
 10234					;TEST SOJ, SOJA.  CHECK JUMP/NO JUMP AND
 10235					;CORRECT DATA IIN AC FOR C(AC)=RAN.
 10236
 10237
 10238			000002			AC=2
 10239	043425				SOJ1:	SETUP	100,0^
 10240			000003			AC1=<AC+1>&17
 10241			000004			AC2=<AC+2>&17
 10242			000005			AC3=<AC+3>&17
 10243			000006			AC4=<AC+4>&17
 10244			000007			AC5=<AC+5>&17
 10245			000000			RAN1=<AC-2>&17
 10246	043425	201 01 0 00 043425 		MOVEI	AC-1,.
 10247	043426	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10248	043427	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10249	043430	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10250	043431	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10251	043432	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10252	043433	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10253	043434				SOJ2:	RANDOM^
 10254	043434	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10255	043435	270 02 0 00 060657 		ADD	AC,[142536475076]
 10256	043436	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10257	043437	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10258	043440	200 03 0 00 000002 	SOJ3:	MOVE	AC1,AC		;SIMULATE
 10259	043441	274 03 0 00 060700 		SUB	AC1,[2]		;2 SOJ'S
 10260	043442	360 02 0 00 043444 		SOJ	AC,.+2		;SHOULD NOT JUMP
 10261	043443	364 02 0 00 043445 		SOJA	AC,.+2		;SHOULD JUMP
 10262	043444	005 02 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10263	043445	312 02 0 00 000003 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 10264	043446	013 00 0 00 043444 		EERRI	,.-2
 10265						LOOP	SOJ2,SOJ3^
 10266	043447	367 01 0 00 043434 		SOJG	AC-1,SOJ2		;ITERATION COUNTER
 10267	043450	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10268	043451	321 01 0 00 043440 		JUMPL	AC-1,SOJ3		;LOOP ON ERROR SWITCH ^
 10269

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 93
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0271

 10270
 10271
 10272					;TEST SOJE,SOJN.  CHECK JUMP/NO JUMP AND
 10273					;CORRECT DATA IN AC FOR C(AC)=MAGIC NUMBERS (7,17,37,ETC.)
 10274
 10275
 10276			000003			AC=3
 10277	043452				SOJE1:	SETUP	100,0^
 10278			000004			AC1=<AC+1>&17
 10279			000005			AC2=<AC+2>&17
 10280			000006			AC3=<AC+3>&17
 10281			000007			AC4=<AC+4>&17
 10282			000010			AC5=<AC+5>&17
 10283			000001			RAN1=<AC-2>&17
 10284	043452	201 02 0 00 043452 		MOVEI	AC-1,.
 10285	043453	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10286	043454	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10287	043455	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10288	043456	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10289	043457	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10290	043460	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10291	043461	201 03 0 00 000002 	SOJE2:	MOVEI	AC,2		;SETUP AC
 10292	043462	241 03 0 00 000001 	SOJE3:	ROT	AC,1		;TO CONTAIN
 10293	043463	435 03 0 00 000003 		IORI	AC,3		;7,17,37,+ETC
 10294	043464	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE FOR FUTURE COMPARE.
 10295	043465	200 03 0 00 000001 	SOJE4:	MOVE	AC,RAN1		;COME HERE AND RESTORE IF THERE IS AN ERROR.
 10296	043466	200 04 0 00 000001 		MOVE	AC1,RAN1	;SIMULATE
 10297	043467	274 04 0 00 060700 		SUB	AC1,[2]		;2 SOJ'S
 10298	043470	362 03 0 00 043472 		SOJE	AC,.+2		;SHOULD NOT SKIP
 10299	043471	366 03 0 00 043473 		SOJN	AC,.+2		;SHOULD SKIP.
 10300	043472	005 03 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10301	043473	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 10302	043474	003 01 0 00 043472 		ERRI	RAN1,.-2
 10303	043475	316 01 0 00 060662 		CAMN	RAN1,[-1]	;C(RAN1) = -1?
 10304	043476	254 00 0 00 043461 		JRST	SOJE2		;YES, REINITIALIZE C(AC)
 10305	043477	367 02 0 00 043462 		SOJG	AC-1,SOJE3	;ITERATION COUNTER.
 10306	043500	321 02 0 00 043465 		JUMPL	AC-1,SOJE4	;LOOP ON ERROR SWITCH.
 10307

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 94
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0272

 10308
 10309
 10310					;TEST SOJE, SOJL. CHECK FOR JUMP/ NO JUMP AND
 10311					;CORRECT DATA IN AC FOR ORIG. C(AC)=2
 10312
 10313
 10314			000004			AC=4
 10315	043501				SOJL1:	SETUP	100,0^
 10316			000005			AC1=<AC+1>&17
 10317			000006			AC2=<AC+2>&17
 10318			000007			AC3=<AC+3>&17
 10319			000010			AC4=<AC+4>&17
 10320			000011			AC5=<AC+5>&17
 10321			000002			RAN1=<AC-2>&17
 10322	043501	201 03 0 00 043501 		MOVEI	AC-1,.
 10323	043502	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10324	043503	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10325	043504	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10326	043505	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10327	043506	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10328	043507	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10329	043510	201 04 0 00 000002 	SOJL2:	MOVEI	AC,2		;SETUP C(AC) TO = 2.
 10330	043511	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 10331	043512	361 04 0 00 043514 		SOJL	AC,.+2		;C(AC) = 1...NO JUMP.
 10332	043513	362 04 0 00 043515 		SOJE	AC,.+2		;C(AC)=0...SHOULD SKIP
 10333	043514	005 04 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10334	043515	312 04 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
 10335	043516	003 02 0 00 043514 		ERRI	RAN1,.-2
 10336	043517	367 03 0 00 043510 		SOJG	AC-1,SOJL2	;ITERATION COUNTER.
 10337	043520	321 03 0 00 043510 		JUMPL	AC-1,SOJL2	;LOOP ON ERROR SWITCH.
 10338

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 95
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0273

 10339
 10340
 10341					;TEST SOJG, SOJL. CHECK FOR JUMP/ NO JUMP AND
 10342					;CORRECT DATA IN AC FOR C(AC)=+RAN
 10343
 10344
 10345			000005			AC=5
 10346	043521				SOJG1:	SETUP	100,0^
 10347			000006			AC1=<AC+1>&17
 10348			000007			AC2=<AC+2>&17
 10349			000010			AC3=<AC+3>&17
 10350			000011			AC4=<AC+4>&17
 10351			000012			AC5=<AC+5>&17
 10352			000003			RAN1=<AC-2>&17
 10353	043521	201 04 0 00 043521 		MOVEI	AC-1,.
 10354	043522	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10355	043523	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10356	043524	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10357	043525	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10358	043526	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10359	043527	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10360	043530				SOJG2:	RANDOM^
 10361	043530	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10362	043531	270 05 0 00 060657 		ADD	AC,[142536475076]
 10363	043532	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10364	043533	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10365	043534	630 05 0 00 060665 	SOJG3:	TDZ	AC,[XWD 400000,0];MAKE C(AC) POSITIVE.
 10366	043535	434 05 0 00 060704 		IOR	AC,[3]		;MAKE SURE SOJ'S SKIP..SET LAST TWO BITS.
 10367	043536	200 06 0 00 000005 		MOVE	AC1,AC		;SAVE C(AC) IN CASE OF ERROR
 10368	043537	200 07 0 00 000005 		MOVE	AC2,AC		;SIMULATE
 10369	043540	274 07 0 00 060700 		SUB	AC2,[2]		;2 SOJ'S
 10370	043541	361 05 0 00 043543 		SOJL	AC,.+2		;C(AC) IS POSITIVE...SHOULD NOT SKIP
 10371	043542	367 05 0 00 043544 		SOJG	AC,.+2		;C(AC) IS POSITIVE...SHOULD SKIP
 10372	043543	005 05 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10373	043544	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 10374	043545	003 06 0 00 043543 		ERRI	AC1,.-2
 10375						LOOP	SOJG2,SOJG3^
 10376	043546	367 04 0 00 043530 		SOJG	AC-1,SOJG2		;ITERATION COUNTER
 10377	043547	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10378	043550	321 04 0 00 043534 		JUMPL	AC-1,SOJG3		;LOOP ON ERROR SWITCH ^
 10379

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 96
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0274

 10380
 10381
 10382					;TEST SOJG, SOJL. CHECK FOR JUMP/ NO JUMP AND
 10383					;CORRECT DATA IN AC FOR C(AC)=-RAN
 10384
 10385
 10386			000006			AC=6
 10387	043551				SOJL1A:	SETUP	100,0^
 10388			000007			AC1=<AC+1>&17
 10389			000010			AC2=<AC+2>&17
 10390			000011			AC3=<AC+3>&17
 10391			000012			AC4=<AC+4>&17
 10392			000013			AC5=<AC+5>&17
 10393			000004			RAN1=<AC-2>&17
 10394	043551	201 05 0 00 043551 		MOVEI	AC-1,.
 10395	043552	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10396	043553	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10397	043554	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10398	043555	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10399	043556	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10400	043557	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10401	043560				SOJL2A:	RANDOM^
 10402	043560	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10403	043561	270 06 0 00 060657 		ADD	AC,[142536475076]
 10404	043562	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10405	043563	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10406	043564	670 06 0 00 060665 	SOJL3A:	TDO	AC,[XWD 400000,0];MAKE C(AC) NEG.
 10407	043565	200 07 0 00 000006 		MOVE	AC1,AC		;SAVE C(AC) IN CASE OF ERROR
 10408	043566	200 10 0 00 000006 		MOVE	AC2,AC		;SIMULATE
 10409	043567	274 10 0 00 060700 		SUB	AC2,[2]		;2 SOJ'S
 10410	043570	367 06 0 00 043572 		SOJG	AC,.+2		;C(AC) IS NEG. SHOULD NOT SKIP
 10411	043571	361 06 0 00 043573 		SOJL	AC,.+2		;C(AC) IS NEG. SHOULD SKIP
 10412	043572	005 06 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10413	043573	312 06 0 00 000010 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 10414	043574	003 07 0 00 043572 		ERRI	AC1,.-2
 10415						LOOP	SOJL2A, SOJL3A^
 10416	043575	367 05 0 00 043560 		SOJG	AC-1,SOJL2A		;ITERATION COUNTER
 10417	043576	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10418	043577	321 05 0 00 043564 		JUMPL	AC-1,SOJL3A		;LOOP ON ERROR SWITCH ^
 10419

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 97
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0275

 10420
 10421
 10422					;TEST SOJL, SOJLE.  CHECK FOR JUMP/NO JUMP AND
 10423					;CORRECT DATA IN AC FOR C(AC)=2.
 10424
 10425
 10426			000015			AC=15
 10427	043600				SOJLE1:	SETUP	100,0^
 10428			000016			AC1=<AC+1>&17
 10429			000017			AC2=<AC+2>&17
 10430			000000			AC3=<AC+3>&17
 10431			000001			AC4=<AC+4>&17
 10432			000002			AC5=<AC+5>&17
 10433			000013			RAN1=<AC-2>&17
 10434	043600	201 14 0 00 043600 		MOVEI	AC-1,.
 10435	043601	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10436	043602	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10437	043603	202 14 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10438	043604	201 14 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10439	043605	240 14 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10440	043606	240 14 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10441	043607	201 15 0 00 000002 	SOJLE2:	MOVEI	AC,2		;MAKE C(AC)=2
 10442	043610	200 13 0 00 000015 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 10443	043611	361 15 0 00 043613 		SOJL	AC,.+2		;C(AC)-1=1...NO SKIP
 10444	043612	363 15 0 00 043614 		SOJLE	AC,.+2		;C(AC)-1=0...SKIP
 10445	043613	005 15 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10446	043614	312 15 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
 10447	043615	003 13 0 00 043613 		ERRI	RAN1,.-2
 10448	043616	367 14 0 00 043607 		SOJG	AC-1,SOJLE2	;ITERATION COUNTER.
 10449	043617	321 14 0 00 043607 		JUMPL	AC-1,SOJLE2	;LOOP ON ERROR SWITCH.
 10450

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 98
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0276

 10451
 10452
 10453					;TEST SOJLE, SOJGE.  CHECK FOR JUMP/NO JUMP AND
 10454					;CORRECT DATA IN AC FOR  C(AC)=2
 10455
 10456
 10457			000006			AC=6
 10458	043620				SOJGE1:	SETUP	100,0^
 10459			000007			AC1=<AC+1>&17
 10460			000010			AC2=<AC+2>&17
 10461			000011			AC3=<AC+3>&17
 10462			000012			AC4=<AC+4>&17
 10463			000013			AC5=<AC+5>&17
 10464			000004			RAN1=<AC-2>&17
 10465	043620	201 05 0 00 043620 		MOVEI	AC-1,.
 10466	043621	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10467	043622	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10468	043623	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10469	043624	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10470	043625	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10471	043626	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10472	043627	201 06 0 00 000002 	SOJGE2:	MOVEI	AC,2		;MAKE C(AC)=2
 10473	043630	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 10474	043631	363 06 0 00 043633 		SOJLE	AC,.+2		;C(AC)-1=1...NO SKIP
 10475	043632	365 06 0 00 043634 		SOJGE	AC,.+2		;C(AC)-1=0...SKIP
 10476	043633	005 06 0 00 060710 		ER	AC,[ASCII /SOJ/]
 10477	043634	312 06 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
 10478	043635	003 04 0 00 043633 		ERRI	RAN1,.-2
 10479	043636	367 05 0 00 043627 		SOJG	AC-1,SOJGE2	;ITERATION COUNTER.
 10480	043637	321 05 0 00 043627 		JUMPL	AC-1,SOJGE2	;LOOP ON ERROR SWITCH.
 10481

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 99
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0277

 10482
 10483
 10484					;TEST AOS, SOSA.  CHECK FOR SKIP/NO SKIP,
 10485					;CORRECT LOADING OF C(E) INTO AC, AND C(E)
 10486					;=ORIG. C(E) FOR C(E)=RAN
 10487
 10488
 10489			000005			AC=5
 10490	043640				ASSS1:	SETUP	100,0^
 10491			000006			AC1=<AC+1>&17
 10492			000007			AC2=<AC+2>&17
 10493			000010			AC3=<AC+3>&17
 10494			000011			AC4=<AC+4>&17
 10495			000012			AC5=<AC+5>&17
 10496			000003			RAN1=<AC-2>&17
 10497	043640	201 04 0 00 043640 		MOVEI	AC-1,.
 10498	043641	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10499	043642	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10500	043643	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10501	043644	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10502	043645	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10503	043646	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10504	043647				ASSS2:	RANDOM^
 10505	043647	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10506	043650	270 05 0 00 060657 		ADD	AC,[142536475076]
 10507	043651	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10508	043652	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10509	043653	200 03 0 00 000006 	ASSS3:	MOVE	RAN1,AC1	;SAVE C(AC) IN CASE OF ERROR.
 10510	043654	350 06 0 00 000005 		AOS	AC1,AC		;SHOULD NOT SKIP
 10511	043655	374 06 0 00 000005 		SOSA	AC1,AC		;SHOULD SKIP
 10512	043656	005 06 0 00 060701 		ER	AC1,[ASCII /AOS/]
 10513	043657	312 06 0 00 000005 		CAME	AC1,AC		;C(AC) SHOULD=C(E)
 10514	043660	011 00 0 00 000003 		EERR	,RAN1
 10515	043661	312 05 0 00 061125 		CAME	AC,RAN		;C(E) SHOULD=ORIG. C(E)
 10516	043662	011 00 0 00 000003 		EERR	,RAN1
 10517						LOOP	ASSS2,ASSS3^
 10518	043663	367 04 0 00 043647 		SOJG	AC-1,ASSS2		;ITERATION COUNTER
 10519	043664	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10520	043665	321 04 0 00 043653 		JUMPL	AC-1,ASSS3		;LOOP ON ERROR SWITCH ^
 10521

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 100
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0278

 10522
 10523
 10524					;TEST AOJ, SOJA.  CHECK FOR JUMP/NO JUMP AND
 10525					;C(AC)=ORIG C(AC) FOR C(AC) = RAN
 10526
 10527
 10528			000006			AC=6
 10529	043666				AJSJ1:	SETUP	100,0^
 10530			000007			AC1=<AC+1>&17
 10531			000010			AC2=<AC+2>&17
 10532			000011			AC3=<AC+3>&17
 10533			000012			AC4=<AC+4>&17
 10534			000013			AC5=<AC+5>&17
 10535			000004			RAN1=<AC-2>&17
 10536	043666	201 05 0 00 043666 		MOVEI	AC-1,.
 10537	043667	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10538	043670	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10539	043671	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10540	043672	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10541	043673	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10542	043674	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10543	043675				AJSJ2:	RANDOM^
 10544	043675	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10545	043676	270 06 0 00 060657 		ADD	AC,[142536475076]
 10546	043677	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10547	043700	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10548	043701	340 06 0 00 043703 	AJSJ3:	AOJ	AC,.+2		;SHOULD NOT SKIP
 10549	043702	364 06 0 00 043704 		SOJA	AC,.+2		;SHOULD SKIP
 10550	043703	005 06 0 00 060706 		ER	AC,[ASCII /AOJ/]
 10551	043704	312 06 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 10552	043705	013 00 0 00 043703 		EERRI	,.-2
 10553						LOOP	AJSJ2,AJSJ3^
 10554	043706	367 05 0 00 043675 		SOJG	AC-1,AJSJ2		;ITERATION COUNTER
 10555	043707	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10556	043710	321 05 0 00 043701 		JUMPL	AC-1,AJSJ3		;LOOP ON ERROR SWITCH ^
 10557

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 101
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0279

 10558
 10559
 10560					;TEST CAM, CAMA.  CHECK FOR SKIP/NO SKIP AND
 10561					;C(AC) + C(E) NOT CHANGING WITH A FLOATING ONE
 10562					;IN C(E)
 10563
 10564
 10565			000010			AC=10
 10566	043711				CAM10:	SETUP	100,0^
 10567			000011			AC1=<AC+1>&17
 10568			000012			AC2=<AC+2>&17
 10569			000013			AC3=<AC+3>&17
 10570			000014			AC4=<AC+4>&17
 10571			000015			AC5=<AC+5>&17
 10572			000006			RAN1=<AC-2>&17
 10573	043711	201 07 0 00 043711 		MOVEI	AC-1,.
 10574	043712	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10575	043713	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10576	043714	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10577	043715	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10578	043716	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10579	043717	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10580	043720	201 11 0 00 000001 		MOVEI	AC1,1		;SETUP C(E) TO=A FLOATING ONE
 10581	043721				CAM11:	RANDOM^
 10582	043721	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10583	043722	270 10 0 00 060657 		ADD	AC,[142536475076]
 10584	043723	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10585	043724	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10586	043725	241 11 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
 10587	043726	200 12 0 00 000011 		MOVE	AC2,AC1		;SAVE FOR FUTURE COMPARE
 10588	043727	200 11 0 00 000012 	CAM12:	MOVE	AC1,AC2		;RESTORE C(E) IF ERROR.
 10589	043730	310 10 0 00 000011 		CAM	AC,AC1		;SHOULD NOT SKIP.
 10590	043731	314 10 0 00 000011 		CAMA	AC,AC1		;SHOULD SKIP.
 10591	043732	005 10 0 00 060711 		ER	AC,[ASCII /CAM/]
 10592	043733	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC).
 10593	043734	001 12 0 00 061125 		ERR	AC2,RAN
 10594	043735	312 11 0 00 000012 		CAME	AC1,AC2		;C(E) SHOULD=ORIG C(E).
 10595	043736	001 12 0 00 061125 		ERR	AC2,RAN
 10596						LOOP	CAM11,CAM12^
 10597	043737	367 07 0 00 043721 		SOJG	AC-1,CAM11		;ITERATION COUNTER
 10598	043740	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10599	043741	321 07 0 00 043727 		JUMPL	AC-1,CAM12		;LOOP ON ERROR SWITCH ^
 10600

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 102
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0280

 10601
 10602
 10603					;TEST CAML,CAMG.  CHECK FOR SKIP/NO SKIP AND
 10604					;C(AC)+C(E) NOT BEING CHANGED FOR+RAN1 TO -RAN CONDITION.
 10605
 10606
 10607			000011			AC=11
 10608	043742				CAML1:	SETUP	100,0^
 10609			000012			AC1=<AC+1>&17
 10610			000013			AC2=<AC+2>&17
 10611			000014			AC3=<AC+3>&17
 10612			000015			AC4=<AC+4>&17
 10613			000016			AC5=<AC+5>&17
 10614			000007			RAN1=<AC-2>&17
 10615	043742	201 10 0 00 043742 		MOVEI	AC-1,.
 10616	043743	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10617	043744	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10618	043745	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10619	043746	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10620	043747	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10621	043750	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10622	043751				CAML2:	RANDOM^
 10623	043751	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10624	043752	270 11 0 00 060657 		ADD	AC,[142536475076]
 10625	043753	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10626	043754	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10627	043755	241 11 0 00 000011 	CAML3:	ROT	AC,11		;C(AC)=SECOND RAN. NUM.
 10628	043756	200 12 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM
 10629	043757	670 12 0 00 060665 		TDO	AC1,[XWD 400000,0];MAKE C(E) A NEG NUM.
 10630	043760	630 11 0 00 060665 		TDZ	AC,[XWD 400000,0];MAKE C(AC) A POS. NUM.
 10631	043761	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE
 10632	043762	200 13 0 00 000012 		MOVE	AC2,AC1		;SAVE C(E) FOr FUTURE COMPARE
 10633	043763	311 11 0 00 000012 		CAML	AC,AC1		;C(AC)>C(E)...NO SKIP.
 10634	043764	317 11 0 00 000012 		CAMG	AC,AC1		;C(AC)>C(E)...SKIP
 10635	043765	005 11 0 00 060711 		ER	AC,[ASCII /CAM/]
 10636	043766	312 11 0 00 000007 		CAME	AC,RAN1		;C(AC) SHOULD=ORIG. C(AC)
 10637	043767	001 13 0 00 000007 		ERR	AC2,RAN1
 10638	043770	312 12 0 00 000013 		CAME	AC1,AC2		;C(E) SHOULD=ORIG. C(E)
 10639	043771	001 13 0 00 000007 		ERR	AC2,RAN1
 10640						LOOP	CAML2,CAML3^
 10641	043772	367 10 0 00 043751 		SOJG	AC-1,CAML2		;ITERATION COUNTER
 10642	043773	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10643	043774	321 10 0 00 043755 		JUMPL	AC-1,CAML3		;LOOP ON ERROR SWITCH ^
 10644

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 103
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0281

 10645
 10646
 10647					;TEST CAMLE,CAMG.  CHECK FOR SKIP/NO SKIP AND
 10648					;C(AC)+C(E) NOT BEING CHANGED FOR +RAN1 TO -RAN CONDITION.
 10649
 10650
 10651			000002			AC=2
 10652	043775				CAMLE1:	SETUP	100,0^
 10653			000003			AC1=<AC+1>&17
 10654			000004			AC2=<AC+2>&17
 10655			000005			AC3=<AC+3>&17
 10656			000006			AC4=<AC+4>&17
 10657			000007			AC5=<AC+5>&17
 10658			000000			RAN1=<AC-2>&17
 10659	043775	201 01 0 00 043775 		MOVEI	AC-1,.
 10660	043776	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10661	043777	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10662	044000	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10663	044001	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10664	044002	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10665	044003	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10666	044004				CAMLE2:	RANDOM^
 10667	044004	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10668	044005	270 02 0 00 060657 		ADD	AC,[142536475076]
 10669	044006	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10670	044007	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10671	044010	241 02 0 00 000011 	CAMLE3:	ROT	AC,11		;C(AC)=SECOND RAN. NUM.
 10672	044011	200 03 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM.
 10673	044012	670 03 0 00 060665 		TDO	AC1,[XWD 400000,0];MAKE C(E) A NEG NUM.
 10674	044013	630 02 0 00 060665 		TDZ	AC,[XWD 400000,0];MAKE C(AC) A POS. NUM.
 10675	044014	200 00 0 00 000002 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 10676	044015	200 04 0 00 000003 		MOVE	AC2,AC1		;SAVE C(E) FOR FUTURE COMPARE
 10677	044016	313 02 0 00 000003 		CAMLE	AC,AC1		;C(AC)>C(E). NO SKIP.
 10678	044017	317 02 0 00 000003 		CAMG	AC,AC1		;C(AC)>C(E). SKIP
 10679	044020	005 02 0 00 060711 		ER	AC,[ASCII /CAM/]
 10680	044021	312 02 0 00 000000 		CAME	AC,RAN1		;C(AC) SHOULD=ORIG. C(AC).
 10681	044022	001 04 0 00 000000 		ERR	AC2,RAN1
 10682	044023	312 03 0 00 000004 		CAME	AC1,AC2		;C(E) SHOULD=ORIG C(E)
 10683	044024	001 04 0 00 000000 		ERR	AC2,RAN1
 10684						LOOP	CAMLE2,CAMLE3^
 10685	044025	367 01 0 00 044004 		SOJG	AC-1,CAMLE2		;ITERATION COUNTER
 10686	044026	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10687	044027	321 01 0 00 044010 		JUMPL	AC-1,CAMLE3		;LOOP ON ERROR SWITCH ^
 10688

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 104
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0282

 10689
 10690
 10691					;TEST CAML, CAMGE. CHECK FOR SKIP/ NO SKIP AND
 10692					;C(AC)+C(E) NOT BEING CHANGED FOR -RAN TO +RAN1 CONDITION
 10693
 10694
 10695			000003			AC=3
 10696	044030				CAMGE1:	SETUP	100,0^
 10697			000004			AC1=<AC+1>&17
 10698			000005			AC2=<AC+2>&17
 10699			000006			AC3=<AC+3>&17
 10700			000007			AC4=<AC+4>&17
 10701			000010			AC5=<AC+5>&17
 10702			000001			RAN1=<AC-2>&17
 10703	044030	201 02 0 00 044030 		MOVEI	AC-1,.
 10704	044031	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10705	044032	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10706	044033	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10707	044034	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10708	044035	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10709	044036	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10710	044037				CAMGE2:	RANDOM^
 10711	044037	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10712	044040	270 03 0 00 060657 		ADD	AC,[142536475076]
 10713	044041	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10714	044042	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10715	044043	241 03 0 00 000011 	CAMGE3:	ROT	AC,11		;C(E)=SECOND RAN. NUM
 10716	044044	200 04 0 00 061125 		MOVE	AC1,RAN		;C(AC)=1'ST RAN NUM
 10717	044045	670 04 0 00 060665 		TDO	AC1,[XWD 400000,0];MAKE C(AC) A NEG NUM.
 10718	044046	630 03 0 00 060665 		TDZ	AC,[XWD 400000,0];MAKE C(E) A POS. NUM.
 10719	044047	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE C(E) FOR FUTURE COMPARE
 10720	044050	200 05 0 00 000004 		MOVE	AC2,AC1		;SAVE C(AC) FOR FUTURE COMPARE
 10721	044051	315 04 0 00 000003 		CAMGE	AC1,AC		;C(AC)<C(E)...NO SKIP
 10722	044052	311 04 0 00 000003 		CAML	AC1,AC		;C(AC)<C(E)...SKIP
 10723	044053	005 04 0 00 060711 		ER	AC1,[ASCII /CAM/]
 10724	044054	312 04 0 00 000005 		CAME	AC1,AC2		;C(AC) SHOULD=ORIG. C(AC)
 10725	044055	001 01 0 00 000005 		ERR	RAN1,AC2
 10726	044056	312 01 0 00 000003 		CAME	RAN1,AC		;C(E) SHOULD=ORIG. C(E)
 10727	044057	001 05 0 00 000001 		ERR	AC2,RAN1
 10728						LOOP	CAMGE2,CAMGE3^
 10729	044060	367 02 0 00 044037 		SOJG	AC-1,CAMGE2		;ITERATION COUNTER
 10730	044061	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10731	044062	321 02 0 00 044043 		JUMPL	AC-1,CAMGE3		;LOOP ON ERROR SWITCH ^
 10732

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 105
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0283

 10733
 10734
 10735					;TEST CAMG, CAMGE.  CHECK FOR SKIP/NO SKIP AND
 10736					;C(AC) NOT BEING CHANGED FOR RAN TO RAN CONDITION
 10737
 10738
 10739			000004			AC=4
 10740	044063				CAMG1:	SETUP	100,0^
 10741			000005			AC1=<AC+1>&17
 10742			000006			AC2=<AC+2>&17
 10743			000007			AC3=<AC+3>&17
 10744			000010			AC4=<AC+4>&17
 10745			000011			AC5=<AC+5>&17
 10746			000002			RAN1=<AC-2>&17
 10747	044063	201 03 0 00 044063 		MOVEI	AC-1,.
 10748	044064	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10749	044065	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10750	044066	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10751	044067	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10752	044070	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10753	044071	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10754	044072				CAMG2:	RANDOM^
 10755	044072	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10756	044073	270 04 0 00 060657 		ADD	AC,[142536475076]
 10757	044074	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10758	044075	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10759	044076	317 04 0 00 061125 	CAMG3:	CAMG	AC,RAN		;C(AC)=C(E)...NO SKIP.
 10760	044077	315 04 0 00 061125 		CAMGE	AC,RAN		;C(AC)=C(E)...SKIP
 10761	044100	005 04 0 00 060711 		ER	AC,[ASCII /CAM/]
 10762	044101	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG.C(AC).
 10763	044102	011 00 0 00 061125 		EERR	,RAN
 10764						LOOP	CAMG2,CAMG3^
 10765	044103	367 03 0 00 044072 		SOJG	AC-1,CAMG2		;ITERATION COUNTER
 10766	044104	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10767	044105	321 03 0 00 044076 		JUMPL	AC-1,CAMG3		;LOOP ON ERROR SWITCH ^
 10768

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 106
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0284

 10769
 10770
 10771					;TEST CAML,CAMLE.  CHECK FOR SKIP/NO SKIP AND
 10772					;C(AC)+C(E) NOT BEING CHANGED FOR RAN TO RAN CONDITION
 10773
 10774
 10775			000005			AC=5
 10776	044106				CAMLA:	SETUP	100,0^
 10777			000006			AC1=<AC+1>&17
 10778			000007			AC2=<AC+2>&17
 10779			000010			AC3=<AC+3>&17
 10780			000011			AC4=<AC+4>&17
 10781			000012			AC5=<AC+5>&17
 10782			000003			RAN1=<AC-2>&17
 10783	044106	201 04 0 00 044106 		MOVEI	AC-1,.
 10784	044107	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10785	044110	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10786	044111	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10787	044112	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10788	044113	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10789	044114	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10790	044115				CAMLB:	RANDOM^
 10791	044115	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10792	044116	270 05 0 00 060657 		ADD	AC,[142536475076]
 10793	044117	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10794	044120	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10795	044121	311 05 0 00 061125 	CAMLC:	CAML	AC,RAN		;C(AC)=C(E)...NO SKIP.
 10796	044122	313 05 0 00 061125 		CAMLE	AC,RAN		;C(AC)=C(E)...SKIP
 10797	044123	005 05 0 00 060711 		ER	AC,[ASCII /CAM/]
 10798	044124	312 05 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG.C(AC).
 10799	044125	011 00 0 00 061125 		EERR	,RAN
 10800						LOOP	CAMLB,CAMLC^
 10801	044126	367 04 0 00 044115 		SOJG	AC-1,CAMLB		;ITERATION COUNTER
 10802	044127	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10803	044130	321 04 0 00 044121 		JUMPL	AC-1,CAMLC		;LOOP ON ERROR SWITCH ^
 10804

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 107
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0285

 10805
 10806
 10807					;TEST CAI,CAIA.  CHECK FOR SKIP/NO SKIP AND
 10808					;C(AC) NOT BEING CHANGED FOR RAN TO RAN1 CONDITION
 10809
 10810
 10811			000006			AC=6
 10812	044131				CAI1:	SETUP	100,0^
 10813			000007			AC1=<AC+1>&17
 10814			000010			AC2=<AC+2>&17
 10815			000011			AC3=<AC+3>&17
 10816			000012			AC4=<AC+4>&17
 10817			000013			AC5=<AC+5>&17
 10818			000004			RAN1=<AC-2>&17
 10819	044131	201 05 0 00 044131 		MOVEI	AC-1,.
 10820	044132	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10821	044133	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10822	044134	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10823	044135	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10824	044136	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10825	044137	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10826	044140				CAI2:	RANDOM^
 10827	044140	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10828	044141	270 06 0 00 060657 		ADD	AC,[142536475076]
 10829	044142	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10830	044143	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10831	044144	200 07 0 00 000006 		MOVE	AC1,AC		;SAVE E.
 10832	044145	241 06 0 00 000011 	CAI3:	ROT	AC,11		;C(AC)=SECOND RAN.NUM
 10833	044146	201 06 0 06 000000 		MOVEI	AC,(AC)		;CLEAR LEFT HALF FOR CAI INST.
 10834	044147	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE
 10835	044150	300 06 0 07 000000 		CAI	AC,(AC1)	;SHOULD NOT SKIP.
 10836	044151	304 06 0 07 000000 		CAIA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 10837	044152	005 06 0 00 060712 		ER	AC,[ASCII /CAI/]
 10838	044153	312 06 0 00 000004 		CAME	AC,RAN1		;C(AC) SHOULD =ORIG. C(AC)
 10839	044154	003 04 0 07 000000 		ERRI	RAN1,(AC1)
 10840						LOOP	CAI2,CAI3^
 10841	044155	367 05 0 00 044140 		SOJG	AC-1,CAI2		;ITERATION COUNTER
 10842	044156	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10843	044157	321 05 0 00 044145 		JUMPL	AC-1,CAI3		;LOOP ON ERROR SWITCH ^
 10844

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 108
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0286

 10845
 10846
 10847					;TEST CAIE, CAIN.  CHECK FOR SKIP/NO SKIP AND
 10848					;C(AC) NOT BEING CHANGED FOR RAN TO RAN1 CONDITION.
 10849
 10850
 10851			000007			AC=7
 10852	044160				CAIE1:	SETUP	100,0^
 10853			000010			AC1=<AC+1>&17
 10854			000011			AC2=<AC+2>&17
 10855			000012			AC3=<AC+3>&17
 10856			000013			AC4=<AC+4>&17
 10857			000014			AC5=<AC+5>&17
 10858			000005			RAN1=<AC-2>&17
 10859	044160	201 06 0 00 044160 		MOVEI	AC-1,.
 10860	044161	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10861	044162	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10862	044163	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10863	044164	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10864	044165	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10865	044166	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10866	044167				CAIE2:	RANDOM^
 10867	044167	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10868	044170	270 07 0 00 060657 		ADD	AC,[142536475076]
 10869	044171	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10870	044172	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10871	044173	200 10 0 00 061125 		MOVE	AC1,RAN		;SAVE E.
 10872	044174	201 07 0 07 000000 	CAIE3:	MOVEI	AC,(AC)		;CLEAR LEFT SIDE FOR CAI INST.
 10873	044175	430 07 0 00 060713 		XOR	AC,[3154]	;MAKE SURE C(AC) AND E ARE DIFFERENT.
 10874	044176	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE FOR FUTURE COMPARE
 10875	044177	302 07 0 10 000000 		CAIE	AC,(AC1)	;C(AC) NOT = E...NO SKIP.
 10876	044200	306 07 0 10 000000 		CAIN	AC,(AC1)	;C(AC) NOT = E...SKIP.
 10877	044201	005 07 0 00 060712 		ER	AC,[ASCII /CAI/]
 10878	044202	312 07 0 00 000005 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG. C(AC).
 10879	044203	003 05 0 10 000000 		ERRI	RAN1,(AC1)
 10880						LOOP	CAIE2,CAIE3^
 10881	044204	367 06 0 00 044167 		SOJG	AC-1,CAIE2		;ITERATION COUNTER
 10882	044205	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10883	044206	321 06 0 00 044174 		JUMPL	AC-1,CAIE3		;LOOP ON ERROR SWITCH ^
 10884

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 109
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0287

 10885
 10886
 10887					;TEST CAIE, CAIN.  CHECK FOR SKIP/NO SKIP AND
 10888					;C(AC) NOT BEING CHANGED FOR  RAN TO RAN CONDITION.
 10889
 10890
 10891			000010			AC=10
 10892	044207				CAIN1:	SETUP	100,0^
 10893			000011			AC1=<AC+1>&17
 10894			000012			AC2=<AC+2>&17
 10895			000013			AC3=<AC+3>&17
 10896			000014			AC4=<AC+4>&17
 10897			000015			AC5=<AC+5>&17
 10898			000006			RAN1=<AC-2>&17
 10899	044207	201 07 0 00 044207 		MOVEI	AC-1,.
 10900	044210	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10901	044211	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10902	044212	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10903	044213	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10904	044214	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10905	044215	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10906	044216				CAIN2:	RANDOM^
 10907	044216	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 10908	044217	270 10 0 00 060657 		ADD	AC,[142536475076]
 10909	044220	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 10910	044221	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 10911	044222	200 11 0 00 061125 		MOVE	AC1,RAN		;SAVE E.
 10912	044223	201 10 0 10 000000 	CAIN3:	MOVEI	AC,(AC)		;MAKE C(AC) = E.
 10913	044224	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE FOR FUTURE COMPARE
 10914	044225	306 10 0 11 000000 		CAIN	AC,(AC1)	;C(AC) = E...NO SKIP.
 10915	044226	302 10 0 11 000000 		CAIE	AC,(AC1)	;C(AC) = E...SKIP.
 10916	044227	005 10 0 00 060712 		ER	AC,[ASCII /CAI/]
 10917	044230	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD=ORIG. C(AC).
 10918	044231	003 06 0 11 000000 		ERRI	RAN1,(AC1)
 10919						LOOP	CAIN2,CAIN3^
 10920	044232	367 07 0 00 044216 		SOJG	AC-1,CAIN2		;ITERATION COUNTER
 10921	044233	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 10922	044234	321 07 0 00 044223 		JUMPL	AC-1,CAIN3		;LOOP ON ERROR SWITCH ^
 10923

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 110
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0288

 10924
 10925
 10926					;TEST CAIL,CAIG.  CHECK FOR SKIP/NO SKIP AND
 10927					;C(AC) NOT BEING CHANGED FOR C(AC) = 2,4,10,20, AND ETC,
 10928					;AND E = 1,3,7,17,37,AND ETC.
 10929
 10930
 10931			000011			AC=11
 10932	044235				CAIL1:	SETUP	100,0^
 10933			000012			AC1=<AC+1>&17
 10934			000013			AC2=<AC+2>&17
 10935			000014			AC3=<AC+3>&17
 10936			000015			AC4=<AC+4>&17
 10937			000016			AC5=<AC+5>&17
 10938			000007			RAN1=<AC-2>&17
 10939	044235	201 10 0 00 044235 		MOVEI	AC-1,.
 10940	044236	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10941	044237	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10942	044240	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10943	044241	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10944	044242	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10945	044243	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10946	044244	201 11 0 00 000001 		MOVEI	AC,1		;SETUP E TO = 1 LESS
 10947	044245	201 12 0 00 000002 		MOVEI	AC1,2		;THAN C(AC).
 10948	044246	245 11 0 00 000001 	CAIL2:	ROTC	AC,1		;ROT TO TEST NEXT BITS.
 10949	044247	434 11 0 00 060666 		IOR	AC,[1]		;SET SO E WILL = 1,3,7,17,AND ETC.
 10950	044250	612 12 0 00 060714 		TDNE	AC1,[XWD 1,0]	;BIT INTO LEFT HAND SIDE?
 10951	044251	254 00 0 00 044244 		JRST	.-5		;YES. REINITIALIZE NUMBERS.
 10952	044252	200 07 0 00 000012 		MOVE	RAN1,AC1	;SAVE C(AC) SO IT CAN BE RESTORED
 10953	044253	200 13 0 00 000011 		MOVE	AC2,AC		;SAVE C(E) SO IT CAN BE RESTORED
 10954	044254	200 12 0 00 000007 	CAIL3:	MOVE	AC1,RAN1	;IN CASE OF ERROR.
 10955	044255	301 12 0 11 000000 		CAIL	AC1,(AC)	;C(AC) > E...NO SKIP.
 10956	044256	307 12 0 11 000000 		CAIG	AC1,(AC)	;C(AC) > E...SKIP.
 10957	044257	005 12 0 00 060712 		ER	AC1,[ASCII /CAI/]
 10958	044260	312 12 0 00 000007 		CAME	AC1,RAN1	;C(AC) SHOULD = ORIG. C(AC).
 10959	044261	003 07 0 11 000000 		ERRI	RAN1,(AC)
 10960	044262	367 10 0 00 044246 		SOJG	AC-1,CAIL2	;ITERATION COUNTER.
 10961	044263	200 11 0 00 000013 		MOVE	AC,AC2		;RESTORE C(E).
 10962	044264	321 10 0 00 044254 		JUMPL	AC-1,CAIL3	;LOOP ON ERROR SWITCH.
 10963
 10964
 10965

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 111
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0289

 10966
 10967
 10968					;TEST CAIG, CAIL.  CHECK FOR SKIP/NO SKIP AND
 10969					;C(AC) NOT BEING CHANGED FOR C(AC) = 1,3,7,17,37,AND ETC,
 10970					;AND E = 2,4,10,20,AND ETC.
 10971
 10972
 10973			000012			AC=12
 10974	044265				CAIG1:	SETUP	100,0^
 10975			000013			AC1=<AC+1>&17
 10976			000014			AC2=<AC+2>&17
 10977			000015			AC3=<AC+3>&17
 10978			000016			AC4=<AC+4>&17
 10979			000017			AC5=<AC+5>&17
 10980			000010			RAN1=<AC-2>&17
 10981	044265	201 11 0 00 044265 		MOVEI	AC-1,.
 10982	044266	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 10983	044267	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 10984	044270	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 10985	044271	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 10986	044272	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 10987	044273	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 10988	044274	201 12 0 00 000001 		MOVEI	AC,1		;SETUP C(AC) TO = 1.
 10989	044275	201 13 0 00 000002 		MOVEI	AC1,2		;SETUP E TO = 2.
 10990	044276	245 12 0 00 000001 	CAIG2:	ROTC	AC,1		;ROT SO C(AC)=2, E=4.
 10991	044277	434 12 0 00 060666 		IOR	AC,[1]		;SET BIT 35 SO C(AC) = 3,7,17.
 10992	044300	612 13 0 00 060714 		TDNE	AC1,[XWD 1,0]	;BIT INTO LEFT HAND SIDE?
 10993	044301	254 00 0 00 044274 		JRST	.-5		;YES. REINITIALIZE NUMBERS.
 10994	044302	200 10 0 00 000012 		MOVE	RAN1,AC		;SAVE C(AC) SO IT CAN
 10995	044303	200 14 0 00 000013 		MOVE	AC2,AC1		;AND C(E) CAN
 10996	044304	200 12 0 00 000010 	CAIG3:	MOVE	AC,RAN1		;BE RESTORED IN CASE OF ERROR.
 10997	044305	307 12 0 13 000000 		CAIG	AC,(AC1)	;C(AC) < E...NO SKIP.
 10998	044306	301 12 0 13 000000 		CAIL	AC,(AC1)	;C(AC) < E...SKIP.
 10999	044307	005 12 0 00 060712 		ER	AC,[ASCII /CAI/]
 11000	044310	312 12 0 00 000010 		CAME	AC,RAN1
 11001	044311	003 10 0 13 000000 		ERRI	RAN1,(AC1)
 11002	044312	367 11 0 00 044276 		SOJG	AC-1,CAIG2	;ITERATION COUNTER.
 11003	044313	200 12 0 00 000014 		MOVE	AC,AC2		;RESTORE C(E).
 11004	044314	321 11 0 00 044304 		JUMPL	AC-1,CAIG3	;LOOP ON ERROR SWITCH.
 11005
 11006
 11007

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 112
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0290

 11008
 11009
 11010					;TEST CAIG, CAIGE.  CHECK FOR SKIP/NO SKIP AND
 11011					;C(AC) NOT BEING CHANGED FOR RAN TO RAN CONDITION.
 11012
 11013
 11014			000013			AC=13
 11015	044315				CAIGE1:	SETUP	100,0^
 11016			000014			AC1=<AC+1>&17
 11017			000015			AC2=<AC+2>&17
 11018			000016			AC3=<AC+3>&17
 11019			000017			AC4=<AC+4>&17
 11020			000000			AC5=<AC+5>&17
 11021			000011			RAN1=<AC-2>&17
 11022	044315	201 12 0 00 044315 		MOVEI	AC-1,.
 11023	044316	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11024	044317	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11025	044320	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11026	044321	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11027	044322	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11028	044323	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11029	044324				CAIGE2:	RANDOM^
 11030	044324	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11031	044325	270 13 0 00 060657 		ADD	AC,[142536475076]
 11032	044326	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11033	044327	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11034	044330	200 14 0 00 061125 		MOVE	AC1,RAN		;SAVE E.
 11035	044331	201 13 0 14 000000 	CAIGE3:	MOVEI	AC,(AC1)	;MAKE C(AC) = E.
 11036	044332	200 11 0 00 000013 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE
 11037	044333	307 13 0 14 000000 		CAIG	AC,(AC1)	;C(AC) = E...NO SKIP.
 11038	044334	305 13 0 14 000000 		CAIGE	AC,(AC1)	;C(AC) = E...SKIP.
 11039	044335	005 13 0 00 060712 		ER	AC,[ASCII /CAI/]
 11040	044336	312 13 0 00 000011 		CAME	AC,RAN1		;C(AC) SHOULD=ORIG. C(AC)
 11041	044337	003 11 0 14 000000 		ERRI	RAN1,(AC1)
 11042	044340	367 12 0 00 044324 		SOJG	AC-1,CAIGE2	;ITERATION COUNTER.
 11043	044341	321 12 0 00 044331 		JUMPL	AC-1,CAIGE3	;LOOP ON ERROR SWITCH.
 11044

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 113
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0291

 11045
 11046
 11047					;TEST CAIL, CAILE.  CHECK FOR SKIP/NO SKIP AND
 11048					;C(AC) NOT CHANGEING FOR RAN TO RAN CONDITION
 11049
 11050
 11051			000014			AC=14
 11052	044342				CAILE1:	SETUP	100,0^
 11053			000015			AC1=<AC+1>&17
 11054			000016			AC2=<AC+2>&17
 11055			000017			AC3=<AC+3>&17
 11056			000000			AC4=<AC+4>&17
 11057			000001			AC5=<AC+5>&17
 11058			000012			RAN1=<AC-2>&17
 11059	044342	201 13 0 00 044342 		MOVEI	AC-1,.
 11060	044343	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11061	044344	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11062	044345	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11063	044346	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11064	044347	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11065	044350	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11066	044351				CAILE2:	RANDOM^
 11067	044351	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11068	044352	270 14 0 00 060657 		ADD	AC,[142536475076]
 11069	044353	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11070	044354	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11071	044355	200 15 0 00 061125 		MOVE	AC1,RAN		;SAVE E.
 11072	044356	201 14 0 15 000000 	CAILE3:	MOVEI	AC,(AC1)	;MAKE C(AC) = E.
 11073	044357	200 12 0 00 000014 		MOVE	RAN1,AC		;SAVE FOR FUTURE COMPARE
 11074	044360	301 14 0 15 000000 		CAIL	AC,(AC1)	;C(AC) = E...NO SKIP.
 11075	044361	303 14 0 15 000000 		CAILE	AC,(AC1)	;C(AC) = E...SKIP.
 11076	044362	005 14 0 00 060712 		ER	AC,[ASCII /CAI/]
 11077	044363	312 14 0 00 000012 		CAME	AC,RAN1		;C(AC) SHOULD=ORIG. C(AC).
 11078	044364	003 12 0 15 000000 		ERRI	RAN1,(AC1)
 11079	044365	367 13 0 00 044351 		SOJG	AC-1,CAILE2	;ITERATION COUNTER.
 11080	044366	321 13 0 00 044356 		JUMPL	AC-1,CAILE3	;LOOP ON ERROR SWITCH.
 11081

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 114
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0292

 11082
 11083
 11084					;TEST CAIGE, CAIL.  CHECK FOR SKIP/NO SKIP AND
 11085					;C(AC) NOT CHANGING FOR C(AC) = 1,3,7,17,AND ETC,
 11086					;AND E = 2,4,10,20,AND ETC.
 11087
 11088
 11089			000015			AC=15
 11090	044367				CAILA:	SETUP	100,0^
 11091			000016			AC1=<AC+1>&17
 11092			000017			AC2=<AC+2>&17
 11093			000000			AC3=<AC+3>&17
 11094			000001			AC4=<AC+4>&17
 11095			000002			AC5=<AC+5>&17
 11096			000013			RAN1=<AC-2>&17
 11097	044367	201 14 0 00 044367 		MOVEI	AC-1,.
 11098	044370	202 14 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11099	044371	201 14 0 00 000014 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11100	044372	202 14 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11101	044373	201 14 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11102	044374	240 14 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11103	044375	240 14 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11104	044376	201 15 0 00 000001 		MOVEI	AC,1		;SETUP C(AC) TO = 1 LESS
 11105	044377	201 16 0 00 000002 		MOVEI	AC1,2		;THAN E.
 11106	044400	245 15 0 00 000001 	CAILB:	ROTC	AC,1		;ROT TO TEST NEXT BITS.
 11107	044401	434 15 0 00 060666 		IOR	AC,[1]		;SET SO C(AC) = 1,3,7,17,AND ETC.
 11108	044402	612 16 0 00 060714 		TDNE	AC1,[XWD 1,0]	;BIT GONE INTO LEFT HAND SIDE?
 11109	044403	254 00 0 00 044376 		JRST	.-5		;YES. REINITIALIZE NUMBERS.
 11110	044404	200 13 0 00 000015 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 11111	044405	200 15 0 00 000013 	CAILC:	MOVE	AC,RAN1		;RESTORE AC IN CASE OF ERROR.
 11112	044406	305 15 0 16 000000 		CAIGE	AC,(AC1)	;C(AC) < E...NO SKIP.
 11113	044407	301 15 0 16 000000 		CAIL	AC,(AC1)	;C(AC) < E...SKIP.
 11114	044410	005 15 0 00 060712 		ER	AC,[ASCII /CAI/]
 11115	044411	312 15 0 00 000013 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG. C(AC).
 11116	044412	003 13 0 16 000000 		ERRI	RAN1,(AC1)
 11117	044413	367 14 0 00 044400 		SOJG	AC-1,CAILB	;ITERATION COUNTER.
 11118	044414	321 14 0 00 044405 		JUMPL	AC-1,CAILC	;LOOP ON ERROR SWITCH.
 11119
 11120
 11121

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 115
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0293

 11122
 11123
 11124					;TEST CAILE, CAIG.  CHECK FOR SKIP/NO SKIP AND
 11125					;C(AC) NOT BEING CHANGED FOR C(AC) =2,4,10,20, AND ETC,
 11126					;AND E = 1,3,7,17,AND ETC.
 11127
 11128
 11129			000006			AC=6
 11130	044415				CAIGA:	SETUP	100,0^
 11131			000007			AC1=<AC+1>&17
 11132			000010			AC2=<AC+2>&17
 11133			000011			AC3=<AC+3>&17
 11134			000012			AC4=<AC+4>&17
 11135			000013			AC5=<AC+5>&17
 11136			000004			RAN1=<AC-2>&17
 11137	044415	201 05 0 00 044415 		MOVEI	AC-1,.
 11138	044416	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11139	044417	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11140	044420	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11141	044421	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11142	044422	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11143	044423	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11144	044424	201 06 0 00 000001 		MOVEI	AC,1		;SETUP E TO = 1 LESS
 11145	044425	201 07 0 00 000002 		MOVEI	AC1,2		;THAN C(AC).
 11146	044426	245 06 0 00 000001 	CAIGB:	ROTC	AC,1		;ROT TO TEST NEXT BITS.
 11147	044427	434 06 0 00 060666 		IOR	AC,[1]		;SET SO E WILL = 1,3,7,AND ETC.
 11148	044430	612 07 0 00 060714 		TDNE	AC1,[XWD 1,0]	;BIT INTO LEFT HAND SIDE?
 11149	044431	254 00 0 00 044424 		JRST	.-5		;YES. REINITIALIZE NUMBERS.
 11150	044432	200 04 0 00 000007 		MOVE	RAN1,AC1	;SAVE C(AC) FOR FUTURE COMPARE.
 11151	044433	200 07 0 00 000004 	CAIGC:	MOVE	AC1,RAN1	;RESTORE IN CASE OF ERROR.
 11152	044434	303 07 0 06 000000 		CAILE	AC1,(AC)	;C(AC) > E...NO SKIP.
 11153	044435	307 07 0 06 000000 		CAIG	AC1,(AC)	;C(AC) > E...SKIP.
 11154	044436	005 07 0 00 060712 		ER	AC1,[ASCII /CAI/]
 11155	044437	312 07 0 00 000004 		CAME	AC1,RAN1	;C(AC) SHOULD = ORIG. C(AC).
 11156	044440	003 04 0 06 000000 		ERRI	RAN1,(AC)
 11157	044441	367 05 0 00 044426 		SOJG	AC-1,CAIGB	;ITERATION COUNTER.
 11158	044442	321 05 0 00 044433 		JUMPL	AC-1,CAIGC	;LOOP ON ERROR SWITCH.
 11159

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 116
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0294

 11160
 11161
 11162					;TEST ANDI.   CHECK FOR CORRECT DATA IN AC.
 11163					;RAN TO RAN1
 11164
 11165
 11166			000010			AC=10
 11167	044443				ANDI4:	SETUP	200,1^
 11168			000011			AC1=<AC+1>&17
 11169			000012			AC2=<AC+2>&17
 11170			000013			AC3=<AC+3>&17
 11171			000014			AC4=<AC+4>&17
 11172			000015			AC5=<AC+5>&17
 11173			000006			RAN1=<AC-2>&17
 11174	044443	201 07 0 00 044443 		MOVEI	AC-1,.
 11175	044444	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11176	044445	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11177	044446	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11178	044447	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11179	044450	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11180	044451	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11181	044452				ANDI5:	RANDOM^
 11182	044452	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11183	044453	270 10 0 00 060657 		ADD	AC,[142536475076]
 11184	044454	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11185	044455	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11186	044456	200 12 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11187	044457	207 06 0 00 000010 	ANDI6:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11188	044460	201 11 0 12 000000 		MOVEI	AC1,(AC2)	;SIMULTE
 11189	044461	470 11 0 00 000010 		ORCB	AC1,AC		;AN
 11190	044462	450 11 0 00 000000 		SETCA	AC1,		;ANDI
 11191	044463	405 10 0 12 000000 		ANDI	AC,(AC2)	;DO ANDI.
 11192	044464	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11193	044465	003 06 0 12 000000 		ERRI	RAN1,(AC2)
 11194						LOOP	ANDI5,ANDI6^
 11195	044466	367 07 0 00 044452 		SOJG	AC-1,ANDI5		;ITERATION COUNTER
 11196	044467	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11197	044470	321 07 0 00 044457 		JUMPL	AC-1,ANDI6		;LOOP ON ERROR SWITCH ^
 11198

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 117
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0295

 11199
 11200
 11201					;TEST ANDCAI.  CHECK C(AC) FOR CORRECT DATA
 11202					;RAN TO RAN1
 11203
 11204
 11205			000011			AC=11
 11206	044471				ANCAI4:	SETUP	200,1^
 11207			000012			AC1=<AC+1>&17
 11208			000013			AC2=<AC+2>&17
 11209			000014			AC3=<AC+3>&17
 11210			000015			AC4=<AC+4>&17
 11211			000016			AC5=<AC+5>&17
 11212			000007			RAN1=<AC-2>&17
 11213	044471	201 10 0 00 044471 		MOVEI	AC-1,.
 11214	044472	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11215	044473	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11216	044474	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11217	044475	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11218	044476	240 10 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11219	044477	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11220	044500				ANCAI5:	RANDOM^
 11221	044500	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11222	044501	270 11 0 00 060657 		ADD	AC,[142536475076]
 11223	044502	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11224	044503	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11225	044504	200 13 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11226	044505	207 07 0 00 000011 	ANCAI6:	MOVSS	RAN1,AC		;MAKE C(AC) A DIFF. RAN. NUM.
 11227	044506	201 12 0 13 000000 		MOVEI	AC1,(AC2)	;SIMULTE AN
 11228	044507	454 12 0 00 000011 		ORCA	AC1,AC		;ANDCAI
 11229	044510	450 12 0 00 000000 		SETCA	AC1,		;INST
 11230	044511	411 11 0 12 000000 		ANDCAI	AC,(AC1)	;DO ANDCAI.
 11231	044512	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11232	044513	003 07 0 13 000000 		ERRI	RAN1,(AC2)
 11233						LOOP	ANCAI5,ANCAI6^
 11234	044514	367 10 0 00 044500 		SOJG	AC-1,ANCAI5		;ITERATION COUNTER
 11235	044515	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11236	044516	321 10 0 00 044505 		JUMPL	AC-1,ANCAI6		;LOOP ON ERROR SWITCH ^
 11237

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 118
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0296

 11238
 11239
 11240					;TEST SETMI,  CHECK C(AC) FOR CORRECT DATA
 11241					;RAN TO RAN1
 11242
 11243
 11244			000002			AC=2
 11245	044517				STMI4:	SETUP	100,0^
 11246			000003			AC1=<AC+1>&17
 11247			000004			AC2=<AC+2>&17
 11248			000005			AC3=<AC+3>&17
 11249			000006			AC4=<AC+4>&17
 11250			000007			AC5=<AC+5>&17
 11251			000000			RAN1=<AC-2>&17
 11252	044517	201 01 0 00 044517 		MOVEI	AC-1,.
 11253	044520	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11254	044521	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11255	044522	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11256	044523	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11257	044524	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11258	044525	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11259	044526				STMI5:	RANDOM^
 11260	044526	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11261	044527	270 02 0 00 060657 		ADD	AC,[142536475076]
 11262	044530	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11263	044531	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11264	044532	200 04 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11265	044533	207 00 0 00 000002 	STMI6:	MOVSS	RAN1,AC		;MAKE C(AC) A DIFF. RAN. NUM.
 11266	044534	201 03 0 04 000000 		MOVEI	AC1,(AC2)	;SETMI = MOVEI.
 11267	044535	415 02 0 04 000000 		SETMI	AC,(AC2)	;DO SETMI.
 11268	044536	312 02 0 00 000003 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11269	044537	003 00 0 04 000000 		ERRI	RAN1,(AC2)
 11270						LOOP	STMI5,STMI6^
 11271	044540	367 01 0 00 044526 		SOJG	AC-1,STMI5		;ITERATION COUNTER
 11272	044541	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11273	044542	321 01 0 00 044533 		JUMPL	AC-1,STMI6		;LOOP ON ERROR SWITCH ^
 11274

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 119
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0297

 11275
 11276
 11277					;TEST ANDCMI.  CHECK FOR CORRECT DATA IN C(AC)
 11278					;RAN TO RAN1
 11279
 11280
 11281			000004			AC=4
 11282	044543				ANCMIA:	SETUP	200,1^
 11283			000005			AC1=<AC+1>&17
 11284			000006			AC2=<AC+2>&17
 11285			000007			AC3=<AC+3>&17
 11286			000010			AC4=<AC+4>&17
 11287			000011			AC5=<AC+5>&17
 11288			000002			RAN1=<AC-2>&17
 11289	044543	201 03 0 00 044543 		MOVEI	AC-1,.
 11290	044544	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11291	044545	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11292	044546	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11293	044547	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11294	044550	240 03 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11295	044551	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11296	044552				ANCMIB:	RANDOM^
 11297	044552	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11298	044553	270 04 0 00 060657 		ADD	AC,[142536475076]
 11299	044554	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11300	044555	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11301	044556	200 06 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11302	044557	207 02 0 00 000004 	ANCMIC:	MOVSS	RAN1,AC		;MAKE C(AC) A DIFF. RAN. NUM.
 11303	044560	201 05 0 06 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11304	044561	464 05 0 00 000004 		ORCM	AC1,AC		;AN
 11305	044562	450 05 0 00 000000 		SETCA	AC1,		;ANDCMI
 11306	044563	421 04 0 06 000000 		ANDCMI	AC,(AC2)	;DO ANDCMI.
 11307	044564	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD = SIM ANS.
 11308	044565	003 02 0 06 000000 		ERRI	RAN1,(AC2)
 11309						LOOP	ANCMIB,ANCMIC^
 11310	044566	367 03 0 00 044552 		SOJG	AC-1,ANCMIB		;ITERATION COUNTER
 11311	044567	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11312	044570	321 03 0 00 044557 		JUMPL	AC-1,ANCMIC		;LOOP ON ERROR SWITCH ^
 11313

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 120
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0298

 11314
 11315
 11316					;TEST SETAI.  CHECK C(AC) FOR CORRECT DATA
 11317					;RAN TO RAN1
 11318
 11319
 11320			000004			AC=4
 11321	044571				SETAIA:	SETUP	100,0^
 11322			000005			AC1=<AC+1>&17
 11323			000006			AC2=<AC+2>&17
 11324			000007			AC3=<AC+3>&17
 11325			000010			AC4=<AC+4>&17
 11326			000011			AC5=<AC+5>&17
 11327			000002			RAN1=<AC-2>&17
 11328	044571	201 03 0 00 044571 		MOVEI	AC-1,.
 11329	044572	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11330	044573	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11331	044574	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11332	044575	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11333	044576	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11334	044577	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11335	044600				SETAIB:	RANDOM^
 11336	044600	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11337	044601	270 04 0 00 060657 		ADD	AC,[142536475076]
 11338	044602	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11339	044603	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11340	044604	200 06 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11341	044605	207 02 0 00 000004 	SETAIC:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11342	044606	425 04 0 06 000000 		SETAI	AC,(AC2)	;DO SETAI.
 11343	044607	312 04 0 00 000002 		CAME	AC,RAN1		;C(AC) SHOULD NOT CHANGE
 11344	044610	003 02 0 06 000000 		ERRI	RAN1,(AC2)
 11345						LOOP	SETAIB,SETAIC^
 11346	044611	367 03 0 00 044600 		SOJG	AC-1,SETAIB		;ITERATION COUNTER
 11347	044612	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11348	044613	321 03 0 00 044605 		JUMPL	AC-1,SETAIC		;LOOP ON ERROR SWITCH ^
 11349

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 121
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0299

 11350
 11351
 11352					;TEST XORI.  CHECK C(AC) FOR CORRECT DATA.
 11353					;RAN TO RAN1
 11354
 11355
 11356			000005			AC=5
 11357	044614				XORIA:	SETUP	200,1^
 11358			000006			AC1=<AC+1>&17
 11359			000007			AC2=<AC+2>&17
 11360			000010			AC3=<AC+3>&17
 11361			000011			AC4=<AC+4>&17
 11362			000012			AC5=<AC+5>&17
 11363			000003			RAN1=<AC-2>&17
 11364	044614	201 04 0 00 044614 		MOVEI	AC-1,.
 11365	044615	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11366	044616	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11367	044617	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11368	044620	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11369	044621	240 04 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11370	044622	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11371	044623				XORIB:	RANDOM^
 11372	044623	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11373	044624	270 05 0 00 060657 		ADD	AC,[142536475076]
 11374	044625	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11375	044626	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11376	044627	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11377	044630	207 03 0 00 000005 	XORIC:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11378	044631	201 06 0 07 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11379	044632	444 06 0 00 000005 		EQV	AC1,AC		;AN
 11380	044633	450 06 0 00 000000 		SETCA	AC1,		;XORI
 11381	044634	431 05 0 07 000000 		XORI	AC,(AC2)	;DO XORI.
 11382	044635	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11383	044636	003 03 0 07 000000 		ERRI	RAN1,(AC2)
 11384						LOOP	XORIB,XORIC^
 11385	044637	367 04 0 00 044623 		SOJG	AC-1,XORIB		;ITERATION COUNTER
 11386	044640	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11387	044641	321 04 0 00 044630 		JUMPL	AC-1,XORIC		;LOOP ON ERROR SWITCH ^
 11388

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 122
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0300

 11389
 11390
 11391					;TEST IORI.  CHECK C(AC) FOR CORRECT DATA
 11392					;RAN TO RAN1
 11393
 11394
 11395			000006			AC=6
 11396	044642				IORIA:	SETUP	200,1^
 11397			000007			AC1=<AC+1>&17
 11398			000010			AC2=<AC+2>&17
 11399			000011			AC3=<AC+3>&17
 11400			000012			AC4=<AC+4>&17
 11401			000013			AC5=<AC+5>&17
 11402			000004			RAN1=<AC-2>&17
 11403	044642	201 05 0 00 044642 		MOVEI	AC-1,.
 11404	044643	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11405	044644	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11406	044645	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11407	044646	201 05 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11408	044647	240 05 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11409	044650	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11410	044651				IORIB:	RANDOM^
 11411	044651	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11412	044652	270 06 0 00 060657 		ADD	AC,[142536475076]
 11413	044653	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11414	044654	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11415	044655	200 10 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11416	044656	207 04 0 00 000006 	IORIC:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11417	044657	201 07 0 10 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11418	044660	420 07 0 00 000006 		ANDCM	AC1,AC		;AN
 11419	044661	430 07 0 00 000006 		XOR	AC1,AC		;IORI
 11420	044662	435 06 0 10 000000 		IORI	AC,(AC2)	;DO IORI.
 11421	044663	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11422	044664	003 04 0 10 000000 		ERRI	RAN1,(AC2)
 11423						LOOP	IORIB,IORIC^
 11424	044665	367 05 0 00 044651 		SOJG	AC-1,IORIB		;ITERATION COUNTER
 11425	044666	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11426	044667	321 05 0 00 044656 		JUMPL	AC-1,IORIC		;LOOP ON ERROR SWITCH ^
 11427

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 123
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0301

 11428
 11429
 11430					;TEST ANDCBI.  CHECK C(AC) FOR CORRECT DATA
 11431					;RAN TO RAN1
 11432
 11433
 11434			000007			AC=7
 11435	044670				ANCBIA:	SETUP	200,1^
 11436			000010			AC1=<AC+1>&17
 11437			000011			AC2=<AC+2>&17
 11438			000012			AC3=<AC+3>&17
 11439			000013			AC4=<AC+4>&17
 11440			000014			AC5=<AC+5>&17
 11441			000005			RAN1=<AC-2>&17
 11442	044670	201 06 0 00 044670 		MOVEI	AC-1,.
 11443	044671	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11444	044672	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11445	044673	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11446	044674	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11447	044675	240 06 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11448	044676	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11449	044677				ANCBIB:	RANDOM^
 11450	044677	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11451	044700	270 07 0 00 060657 		ADD	AC,[142536475076]
 11452	044701	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11453	044702	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11454	044703	200 11 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11455	044704	207 05 0 00 000007 	ANCBIC:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11456	044705	201 10 0 11 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11457	044706	434 10 0 00 000007 		IOR	AC1,AC		;AN
 11458	044707	450 10 0 00 000000 		SETCA	AC1,		;ANDCBI
 11459	044710	441 07 0 11 000000 		ANDCBI	AC,(AC2)	;DO ANDCBI.
 11460	044711	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11461	044712	003 05 0 11 000000 		ERRI	RAN1,(AC2)
 11462						LOOP	ANCBIB, ANCBIC^
 11463	044713	367 06 0 00 044677 		SOJG	AC-1,ANCBIB		;ITERATION COUNTER
 11464	044714	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11465	044715	321 06 0 00 044704 		JUMPL	AC-1,ANCBIC		;LOOP ON ERROR SWITCH ^
 11466

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 124
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0302

 11467
 11468
 11469					;TEST EQVI.  CHECK C(AC) FOR CORRECT DATA
 11470					;RAN TO RAN1
 11471
 11472
 11473			000010			AC=10
 11474	044716				EQVIA:	SETUP	200,1^
 11475			000011			AC1=<AC+1>&17
 11476			000012			AC2=<AC+2>&17
 11477			000013			AC3=<AC+3>&17
 11478			000014			AC4=<AC+4>&17
 11479			000015			AC5=<AC+5>&17
 11480			000006			RAN1=<AC-2>&17
 11481	044716	201 07 0 00 044716 		MOVEI	AC-1,.
 11482	044717	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11483	044720	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11484	044721	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11485	044722	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11486	044723	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11487	044724	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11488	044725				EQVIB:	RANDOM^
 11489	044725	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11490	044726	270 10 0 00 060657 		ADD	AC,[142536475076]
 11491	044727	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11492	044730	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11493	044731	200 12 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11494	044732	207 06 0 00 000010 	EQVIC:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11495	044733	201 11 0 12 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11496	044734	430 11 0 00 000010 		XOR	AC1,AC		;AN
 11497	044735	450 11 0 00 000000 		SETCA	AC1,		;EQVI
 11498	044736	445 10 0 12 000000 		EQVI	AC,(AC2)	;DO EQVI.
 11499	044737	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11500	044740	003 06 0 12 000000 		ERRI	RAN1,(AC2)
 11501						LOOP	EQVIB,EQVIC^
 11502	044741	367 07 0 00 044725 		SOJG	AC-1,EQVIB		;ITERATION COUNTER
 11503	044742	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11504	044743	321 07 0 00 044732 		JUMPL	AC-1,EQVIC		;LOOP ON ERROR SWITCH ^
 11505

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 125
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0303

 11506
 11507
 11508					;TEST SETCAI.  CHECK C(AC) FOR CORRECT DATA
 11509					;RAN TO RAN1
 11510
 11511
 11512			000011			AC=11
 11513	044744				STCAI1:	SETUP	200,1^
 11514			000012			AC1=<AC+1>&17
 11515			000013			AC2=<AC+2>&17
 11516			000014			AC3=<AC+3>&17
 11517			000015			AC4=<AC+4>&17
 11518			000016			AC5=<AC+5>&17
 11519			000007			RAN1=<AC-2>&17
 11520	044744	201 10 0 00 044744 		MOVEI	AC-1,.
 11521	044745	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11522	044746	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11523	044747	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11524	044750	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11525	044751	240 10 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11526	044752	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11527	044753				STCAI2:	RANDOM^
 11528	044753	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11529	044754	270 11 0 00 060657 		ADD	AC,[142536475076]
 11530	044755	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11531	044756	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11532	044757	200 13 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11533	044760	207 07 0 00 000011 	STCAI3:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11534	044761	460 12 0 00 000011 		SETCM	AC1,AC		;SIMULATE SETCAI
 11535	044762	451 11 0 13 000000 		SETCAI	AC,(AC2)	;DO SETCAI.
 11536	044763	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11537	044764	003 07 0 13 000000 		ERRI	RAN1,(AC2)
 11538						LOOP	STCAI2,STCAI3^
 11539	044765	367 10 0 00 044753 		SOJG	AC-1,STCAI2		;ITERATION COUNTER
 11540	044766	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11541	044767	321 10 0 00 044760 		JUMPL	AC-1,STCAI3		;LOOP ON ERROR SWITCH ^
 11542

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 126
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0304

 11543
 11544
 11545					;TEST ORCAI.  CHECK C(AC) FOR CORRECT DATA
 11546					;RAN TO RAN1
 11547
 11548
 11549			000012			AC=12
 11550	044770				ORCAI1:	SETUP	200,1^
 11551			000013			AC1=<AC+1>&17
 11552			000014			AC2=<AC+2>&17
 11553			000015			AC3=<AC+3>&17
 11554			000016			AC4=<AC+4>&17
 11555			000017			AC5=<AC+5>&17
 11556			000010			RAN1=<AC-2>&17
 11557	044770	201 11 0 00 044770 		MOVEI	AC-1,.
 11558	044771	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11559	044772	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11560	044773	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11561	044774	201 11 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11562	044775	240 11 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11563	044776	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11564	044777				ORCAI2:	RANDOM^
 11565	044777	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11566	045000	270 12 0 00 060657 		ADD	AC,[142536475076]
 11567	045001	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11568	045002	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11569	045003	200 14 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11570	045004	207 10 0 00 000012 	ORCAI3:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11571	045005	201 13 0 14 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11572	045006	404 13 0 00 000012 		AND	AC1,AC		;AN
 11573	045007	430 13 0 00 000012 		XOR	AC1,AC		;ORCAI
 11574	045010	450 13 0 00 000000 		SETCA	AC1,		;INST.
 11575	045011	455 12 0 14 000000 		ORCAI	AC,(AC2)	;DO ORCAI.
 11576	045012	312 12 0 00 000013 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11577	045013	003 10 0 14 000000 		ERRI	RAN1,(AC2)
 11578						LOOP	ORCAI2,ORCAI3^
 11579	045014	367 11 0 00 044777 		SOJG	AC-1,ORCAI2		;ITERATION COUNTER
 11580	045015	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11581	045016	321 11 0 00 045004 		JUMPL	AC-1,ORCAI3		;LOOP ON ERROR SWITCH ^
 11582

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 127
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0305

 11583
 11584
 11585					;TEST SETCMI.  CHECK C(AC) FOR CORRECT DATA
 11586					;RAN TO RAN1
 11587
 11588
 11589			000013			AC=13
 11590	045017				STCMI1:	SETUP	200,1^
 11591			000014			AC1=<AC+1>&17
 11592			000015			AC2=<AC+2>&17
 11593			000016			AC3=<AC+3>&17
 11594			000017			AC4=<AC+4>&17
 11595			000000			AC5=<AC+5>&17
 11596			000011			RAN1=<AC-2>&17
 11597	045017	201 12 0 00 045017 		MOVEI	AC-1,.
 11598	045020	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11599	045021	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11600	045022	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11601	045023	201 12 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11602	045024	240 12 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11603	045025	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11604	045026				STCMI2:	RANDOM^
 11605	045026	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11606	045027	270 13 0 00 060657 		ADD	AC,[142536475076]
 11607	045030	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11608	045031	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11609	045032	200 15 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11610	045033	207 11 0 00 000013 	STCMI3:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11611	045034	201 14 0 15 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11612	045035	450 14 0 00 000000 		SETCA	AC1,		;A SETCMI
 11613	045036	461 13 0 15 000000 		SETCMI	AC,(AC2)	;DO SETCMI.
 11614	045037	312 13 0 00 000014 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11615	045040	003 11 0 15 000000 		ERRI	RAN1,(AC2)
 11616						LOOP	STCMI2,STCMI3^
 11617	045041	367 12 0 00 045026 		SOJG	AC-1,STCMI2		;ITERATION COUNTER
 11618	045042	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11619	045043	321 12 0 00 045033 		JUMPL	AC-1,STCMI3		;LOOP ON ERROR SWITCH ^
 11620

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 128
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0306

 11621
 11622
 11623					;TEST ORCMI.  CHECK C(AC) FOR CORRECT DATA
 11624					;RAN TO RAN1
 11625
 11626
 11627			000014			AC=14
 11628	045044				ORCMI1:	SETUP	200,1^
 11629			000015			AC1=<AC+1>&17
 11630			000016			AC2=<AC+2>&17
 11631			000017			AC3=<AC+3>&17
 11632			000000			AC4=<AC+4>&17
 11633			000001			AC5=<AC+5>&17
 11634			000012			RAN1=<AC-2>&17
 11635	045044	201 13 0 00 045044 		MOVEI	AC-1,.
 11636	045045	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11637	045046	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11638	045047	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11639	045050	201 13 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11640	045051	240 13 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11641	045052	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11642	045053				ORCMI2:	RANDOM^
 11643	045053	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11644	045054	270 14 0 00 060657 		ADD	AC,[142536475076]
 11645	045055	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11646	045056	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11647	045057	201 16 0 00 061125 		MOVEI	AC2,RAN		;SAVE E.
 11648	045060	207 12 0 00 000014 	ORCMI3:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11649	045061	201 15 0 16 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11650	045062	420 15 0 00 000014 		ANDCM	AC1,AC		;AN
 11651	045063	450 15 0 00 000000 		SETCA	AC1,		;ORCMI
 11652	045064	465 14 0 16 000000 		ORCMI	AC,(AC2)	;DO ORCMI.
 11653	045065	312 14 0 00 000015 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11654	045066	003 12 0 16 000000 		ERRI	RAN1,(AC2)
 11655						LOOP	ORCMI2,ORCMI3^
 11656	045067	367 13 0 00 045053 		SOJG	AC-1,ORCMI2		;ITERATION COUNTER
 11657	045070	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11658	045071	321 13 0 00 045060 		JUMPL	AC-1,ORCMI3		;LOOP ON ERROR SWITCH ^
 11659

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 129
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0307

 11660
 11661
 11662					;TEST ORCBI.  CHECK C(AC) FOR CORRECT DATA
 11663					;RAN TO RAN1
 11664
 11665
 11666			000005			AC=5
 11667	045072				ORCBI1:	SETUP	200,1^
 11668			000006			AC1=<AC+1>&17
 11669			000007			AC2=<AC+2>&17
 11670			000010			AC3=<AC+3>&17
 11671			000011			AC4=<AC+4>&17
 11672			000012			AC5=<AC+5>&17
 11673			000003			RAN1=<AC-2>&17
 11674	045072	201 04 0 00 045072 		MOVEI	AC-1,.
 11675	045073	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11676	045074	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11677	045075	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11678	045076	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 11679	045077	240 04 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 11680	045100	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11681	045101				ORCBI2:	RANDOM^
 11682	045101	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11683	045102	270 05 0 00 060657 		ADD	AC,[142536475076]
 11684	045103	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11685	045104	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11686	045105	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11687	045106	207 03 0 00 000005 	ORCBI3:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11688	045107	201 06 0 07 000000 		MOVEI	AC1,(AC2)	;SIMULATE
 11689	045110	410 06 0 00 000005 		ANDCA	AC1,AC		;AN
 11690	045111	430 06 0 00 000005 		XOR	AC1,AC		;ORCBI
 11691	045112	450 06 0 00 000000 		SETCA	AC1,		;INST.
 11692	045113	471 05 0 07 000000 		ORCBI	AC,(AC2)	;DO ORCBI.
 11693	045114	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=SIM ANS
 11694	045115	003 03 0 07 000000 		ERRI	RAN1,(AC2)
 11695						LOOP	ORCBI2,ORCBI3^
 11696	045116	367 04 0 00 045101 		SOJG	AC-1,ORCBI2		;ITERATION COUNTER
 11697	045117	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11698	045120	321 04 0 00 045106 		JUMPL	AC-1,ORCBI3		;LOOP ON ERROR SWITCH ^
 11699

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 130
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0308

 11700
 11701
 11702					;TEST SETOI.  CHECK C(AC) FOR CORRECT DATA
 11703					;RAN TO RAN1
 11704
 11705
 11706			000006			AC=6
 11707	045121				STOI1:	SETUP	100,0^
 11708			000007			AC1=<AC+1>&17
 11709			000010			AC2=<AC+2>&17
 11710			000011			AC3=<AC+3>&17
 11711			000012			AC4=<AC+4>&17
 11712			000013			AC5=<AC+5>&17
 11713			000004			RAN1=<AC-2>&17
 11714	045121	201 05 0 00 045121 		MOVEI	AC-1,.
 11715	045122	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11716	045123	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11717	045124	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11718	045125	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11719	045126	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11720	045127	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11721	045130				STOI2:	RANDOM^
 11722	045130	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11723	045131	270 06 0 00 060657 		ADD	AC,[142536475076]
 11724	045132	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11725	045133	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11726	045134	200 10 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 11727	045135	207 04 0 00 000006 	STOI3:	MOVSS	RAN1,AC		;MAKE C(AC) = SEC. RAN. NUM.
 11728	045136	475 06 0 10 000000 		SETOI	AC,(AC2)	;DO SETOI.
 11729	045137	312 06 0 00 060662 		CAME	AC,[-1]		;C(AC) SHOULD=-1
 11730	045140	003 04 0 10 000000 		ERRI	RAN1,(AC2)
 11731						LOOP	STOI2,STOI3^
 11732	045141	367 05 0 00 045130 		SOJG	AC-1,STOI2		;ITERATION COUNTER
 11733	045142	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11734	045143	321 05 0 00 045135 		JUMPL	AC-1,STOI3		;LOOP ON ERROR SWITCH ^
 11735

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 131
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0309

 11736
 11737
 11738					;TEST TRN, TRNA.  CHECK FOR SKIP/NO SKIP AND
 11739					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 11740
 11741
 11742			000010			AC=10
 11743	045144				TRN1:	SETUP	100,0^
 11744			000011			AC1=<AC+1>&17
 11745			000012			AC2=<AC+2>&17
 11746			000013			AC3=<AC+3>&17
 11747			000014			AC4=<AC+4>&17
 11748			000015			AC5=<AC+5>&17
 11749			000006			RAN1=<AC-2>&17
 11750	045144	201 07 0 00 045144 		MOVEI	AC-1,.
 11751	045145	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11752	045146	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11753	045147	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11754	045150	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11755	045151	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11756	045152	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11757	045153				TRN2:	RANDOM^
 11758	045153	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11759	045154	270 10 0 00 060657 		ADD	AC,[142536475076]
 11760	045155	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11761	045156	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11762	045157	600 10 0 00 000000 	TRN3:	TRN	AC,0		;SHOULD NOT SKIP
 11763	045160	254 00 0 00 045162 		JRST	.+2
 11764	045161	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TRN SKIPPED.
 11765	045162	604 10 0 00 000000 		TRNA	AC,0		;SHOULD SKIP
 11766	045163	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 11767	045164	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL=RAN
 11768	045165	013 00 0 00 000000 		EERRI	,0
 11769						LOOP	TRN2,TRN3^
 11770	045166	367 07 0 00 045153 		SOJG	AC-1,TRN2		;ITERATION COUNTER
 11771	045167	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11772	045170	321 07 0 00 045157 		JUMPL	AC-1,TRN3		;LOOP ON ERROR SWITCH ^
 11773

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 132
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0310

 11774
 11775
 11776					;TEST TRN, TRNA.  CHECK FOR SKIP/NO SKIP AND
 11777					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
 11778
 11779
 11780			000011			AC=11
 11781	045171				TRN4:	SETUP	100,0^
 11782			000012			AC1=<AC+1>&17
 11783			000013			AC2=<AC+2>&17
 11784			000014			AC3=<AC+3>&17
 11785			000015			AC4=<AC+4>&17
 11786			000016			AC5=<AC+5>&17
 11787			000007			RAN1=<AC-2>&17
 11788	045171	201 10 0 00 045171 		MOVEI	AC-1,.
 11789	045172	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11790	045173	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11791	045174	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11792	045175	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11793	045176	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11794	045177	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11795	045200				TRN5:	RANDOM^
 11796	045200	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11797	045201	270 11 0 00 060657 		ADD	AC,[142536475076]
 11798	045202	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11799	045203	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11800	045204	403 12 0 00 000007 	TRN6:	SETZB	AC1,RAN1	;CLEAR C(AC).
 11801	045205	600 12 0 11 000000 		TRN	AC1,(AC)	;SHOULD NOT SKIP.
 11802	045206	254 00 0 00 045210 		JRST	.+2
 11803	045207	005 12 0 00 060674 		ER	AC1,[ASCII /TST/];TRN SKIPPED.
 11804	045210	604 12 0 11 000000 		TRNA	AC1,(AC)	;SHOULD SKIP.
 11805	045211	005 12 0 00 060674 		ER	AC1,[ASCII /TST/]
 11806	045212	312 12 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD STILL=0
 11807	045213	003 07 0 11 000000 		ERRI	RAN1,(AC)
 11808						LOOP	TRN5,TRN6^
 11809	045214	367 10 0 00 045200 		SOJG	AC-1,TRN5		;ITERATION COUNTER
 11810	045215	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11811	045216	321 10 0 00 045204 		JUMPL	AC-1,TRN6		;LOOP ON ERROR SWITCH ^
 11812

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 133
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0311

 11813
 11814
 11815					;TEST TRN, TRNA.  CHECK FOR SKIP/NO SKIP AND
 11816					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 11817
 11818
 11819			000002			AC=2
 11820	045217				TRN7:	SETUP	100,0^
 11821			000003			AC1=<AC+1>&17
 11822			000004			AC2=<AC+2>&17
 11823			000005			AC3=<AC+3>&17
 11824			000006			AC4=<AC+4>&17
 11825			000007			AC5=<AC+5>&17
 11826			000000			RAN1=<AC-2>&17
 11827	045217	201 01 0 00 045217 		MOVEI	AC-1,.
 11828	045220	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11829	045221	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11830	045222	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11831	045223	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11832	045224	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11833	045225	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11834	045226				TRN8:	RANDOM^
 11835	045226	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11836	045227	270 02 0 00 060657 		ADD	AC,[142536475076]
 11837	045230	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11838	045231	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11839	045232	200 03 0 00 000002 	TRN9:	MOVE	AC1,AC		;MAKE "E"=C(AC)
 11840	045233	600 02 0 03 000000 		TRN	AC,(AC1)	;SHOULD NOT SKIP.
 11841	045234	254 00 0 00 045236 		JRST	.+2
 11842	045235	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TRN SKIPPED.
 11843	045236	604 02 0 03 000000 		TRNA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 11844	045237	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 11845	045240	312 02 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
 11846	045241	003 03 0 03 000000 		ERRI	AC1,(AC1)
 11847						LOOP	TRN8,TRN9^
 11848	045242	367 01 0 00 045226 		SOJG	AC-1,TRN8		;ITERATION COUNTER
 11849	045243	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11850	045244	321 01 0 00 045232 		JUMPL	AC-1,TRN9		;LOOP ON ERROR SWITCH ^
 11851

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 134
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0312

 11852
 11853
 11854					;TEST TRN,TRNA.  CHECK FOR SKIP/NO SKIP AND
 11855					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION
 11856
 11857
 11858			000003			AC=3
 11859	045245				TRNA1:	SETUP	100,0^
 11860			000004			AC1=<AC+1>&17
 11861			000005			AC2=<AC+2>&17
 11862			000006			AC3=<AC+3>&17
 11863			000007			AC4=<AC+4>&17
 11864			000010			AC5=<AC+5>&17
 11865			000001			RAN1=<AC-2>&17
 11866	045245	201 02 0 00 045245 		MOVEI	AC-1,.
 11867	045246	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11868	045247	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11869	045250	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11870	045251	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11871	045252	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11872	045253	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11873	045254				TRNA2:	RANDOM^
 11874	045254	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11875	045255	270 03 0 00 060657 		ADD	AC,[142536475076]
 11876	045256	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11877	045257	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11878	045260	204 04 0 00 000003 	TRNA3:	MOVS	AC1,AC		;MAKE "E"=DIFFERENT RAN NUM
 11879	045261	600 03 0 04 000000 		TRN	AC,(AC1)	;SHOULD NOT SKIP.
 11880	045262	254 00 0 00 045264 		JRST	.+2
 11881	045263	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TRN SKIPPED.
 11882	045264	604 03 0 04 000000 		TRNA	AC,(AC1)	;SHOULD SKIP.
 11883	045265	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 11884	045266	312 03 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
 11885	045267	013 00 0 04 000000 		EERRI	,(AC1)
 11886						LOOP	TRNA2,TRNA3^
 11887	045270	367 02 0 00 045254 		SOJG	AC-1,TRNA2		;ITERATION COUNTER
 11888	045271	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11889	045272	321 02 0 00 045260 		JUMPL	AC-1,TRNA3		;LOOP ON ERROR SWITCH ^
 11890

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 135
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0313

 11891
 11892
 11893					;TEST TRNE,TRNN.  CHECK FOR SKIP/NO SKIP AND
 11894					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 11895
 11896
 11897			000004			AC=4
 11898	045273				TRNE1A:	SETUP	100,0^
 11899			000005			AC1=<AC+1>&17
 11900			000006			AC2=<AC+2>&17
 11901			000007			AC3=<AC+3>&17
 11902			000010			AC4=<AC+4>&17
 11903			000011			AC5=<AC+5>&17
 11904			000002			RAN1=<AC-2>&17
 11905	045273	201 03 0 00 045273 		MOVEI	AC-1,.
 11906	045274	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11907	045275	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11908	045276	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11909	045277	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11910	045300	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11911	045301	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11912	045302				TRNE2A:	RANDOM^
 11913	045302	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11914	045303	270 04 0 00 060657 		ADD	AC,[142536475076]
 11915	045304	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11916	045305	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11917	045306	606 04 0 00 000000 	TRNE3A:	TRNN	AC,0		;E+C(AC)R=0.  NO SKIP
 11918	045307	254 00 0 00 045311 		JRST	.+2
 11919	045310	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TRNN SKIPPED.
 11920	045311	602 04 0 00 000000 		TRNE	AC,0		;E+C(AC)R = 0...SKIP.
 11921	045312	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
 11922	045313	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
 11923	045314	013 00 0 00 000000 		EERRI	,0
 11924						LOOP	TRNE2A,TRNE3A^
 11925	045315	367 03 0 00 045302 		SOJG	AC-1,TRNE2A		;ITERATION COUNTER
 11926	045316	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11927	045317	321 03 0 00 045306 		JUMPL	AC-1,TRNE3A		;LOOP ON ERROR SWITCH ^
 11928

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 136
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0314

 11929
 11930
 11931					;TEST TRNE, TRNN.  CHECK FOR SKIP/NO SKIP AND
 11932					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
 11933
 11934
 11935			000005			AC=5
 11936	045320				TRNE1B:	SETUP	100,0^
 11937			000006			AC1=<AC+1>&17
 11938			000007			AC2=<AC+2>&17
 11939			000010			AC3=<AC+3>&17
 11940			000011			AC4=<AC+4>&17
 11941			000012			AC5=<AC+5>&17
 11942			000003			RAN1=<AC-2>&17
 11943	045320	201 04 0 00 045320 		MOVEI	AC-1,.
 11944	045321	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11945	045322	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11946	045323	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11947	045324	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11948	045325	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11949	045326	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11950	045327				TRNE2B:	RANDOM^
 11951	045327	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11952	045330	270 05 0 00 060657 		ADD	AC,[142536475076]
 11953	045331	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11954	045332	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11955	045333	403 06 0 00 000003 	TRNE3B:	SETZB	AC1,RAN1	;CLEAR C(AC).
 11956	045334	606 06 0 05 000000 		TRNN	AC1,(AC)	;E+C(AC)R = 0...NO SKIP.
 11957	045335	254 00 0 00 045337 		JRST	.+2
 11958	045336	005 06 0 00 060674 		ER	AC1,[ASCII /TST/];TRNN SKIPPED.
 11959	045337	602 06 0 05 000000 		TRNE	AC1,(AC)	;E+C(AC)R = 0...SKIP.
 11960	045340	005 06 0 00 060674 		ER	AC1,[ASCII /TST/]
 11961	045341	312 06 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD STILL=0
 11962	045342	003 03 0 05 000000 		ERRI	RAN1,(AC)
 11963						LOOP	TRNE2B,TRNE3B^
 11964	045343	367 04 0 00 045327 		SOJG	AC-1,TRNE2B		;ITERATION COUNTER
 11965	045344	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 11966	045345	321 04 0 00 045333 		JUMPL	AC-1,TRNE3B		;LOOP ON ERROR SWITCH ^
 11967

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 137
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0315

 11968
 11969
 11970					;TEST TRNE, TRNN.  CHECK FOR SKIP/NO SKIP AND
 11971					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 11972
 11973
 11974			000006			AC=6
 11975	045346				TRNE1C:	SETUP	100,0^
 11976			000007			AC1=<AC+1>&17
 11977			000010			AC2=<AC+2>&17
 11978			000011			AC3=<AC+3>&17
 11979			000012			AC4=<AC+4>&17
 11980			000013			AC5=<AC+5>&17
 11981			000004			RAN1=<AC-2>&17
 11982	045346	201 05 0 00 045346 		MOVEI	AC-1,.
 11983	045347	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 11984	045350	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 11985	045351	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 11986	045352	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 11987	045353	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 11988	045354	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 11989	045355				TRNE2C:	RANDOM^
 11990	045355	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 11991	045356	270 06 0 00 060657 		ADD	AC,[142536475076]
 11992	045357	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 11993	045360	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 11994	045361	435 06 0 00 000002 	TRNE3C:	IORI	AC,2		;MAKE SURE C(AC)R HAS A BIT SET
 11995	045362	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 11996	045363	602 06 0 00 777777 		TRNE	AC,-1		;E+C(AC)R NOT=0. NO SKIP
 11997	045364	254 00 0 00 045366 		JRST	.+2
 11998	045365	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TRNE SKIPPED.
 11999	045366	606 06 0 00 777777 		TRNN	AC,-1		;E+C(AC)R NOT=0. SKIP
 12000	045367	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
 12001	045370	312 06 0 00 000004 		CAME	AC,RAN1		;C(AC) SHOULD NEVER CHANGE.
 12002	045371	003 04 0 00 777777 		ERRI	RAN1,-1
 12003						LOOP	TRNE2C,TRNE3C^
 12004	045372	367 05 0 00 045355 		SOJG	AC-1,TRNE2C		;ITERATION COUNTER
 12005	045373	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12006	045374	321 05 0 00 045361 		JUMPL	AC-1,TRNE3C		;LOOP ON ERROR SWITCH ^
 12007

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 138
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0316

 12008
 12009
 12010					;TEST TRNE, TRNN.  CHECK FOR SKIP/NO SKIP AND
 12011					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
 12012
 12013
 12014			000007			AC=7
 12015	045375				TRNE1D:	SETUP	100,0^
 12016			000010			AC1=<AC+1>&17
 12017			000011			AC2=<AC+2>&17
 12018			000012			AC3=<AC+3>&17
 12019			000013			AC4=<AC+4>&17
 12020			000014			AC5=<AC+5>&17
 12021			000005			RAN1=<AC-2>&17
 12022	045375	201 06 0 00 045375 		MOVEI	AC-1,.
 12023	045376	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12024	045377	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12025	045400	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12026	045401	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12027	045402	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12028	045403	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12029	045404				TRNE2D:	RANDOM^
 12030	045404	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12031	045405	270 07 0 00 060657 		ADD	AC,[142536475076]
 12032	045406	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12033	045407	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12034	045410	435 07 0 00 000001 	TRNE3D:	IORI	AC,1		;MAKE SURE E HAS A BIT.
 12035	045411	477 10 0 00 000005 		SETOB	AC1,RAN1	;MAKE C(AC) = -1.
 12036	045412	602 10 0 07 000000 		TRNE	AC1,(AC)	;E+C(AC)R NOT = 0...NO SKIP.
 12037	045413	254 00 0 00 045415 		JRST	.+2
 12038	045414	005 10 0 00 060674 		ER	AC1,[ASCII /TST/];TRNE SKIPPED.
 12039	045415	606 10 0 07 000000 		TRNN	AC1,(AC)	;E+C(AC)R NOT = 0...SKIP.
 12040	045416	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
 12041	045417	312 10 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD STILL = A -1.
 12042	045420	003 05 0 07 000000 		ERRI	RAN1,(AC)
 12043						LOOP	TRNE2D,TRNE3D^
 12044	045421	367 06 0 00 045404 		SOJG	AC-1,TRNE2D		;ITERATION COUNTER
 12045	045422	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12046	045423	321 06 0 00 045410 		JUMPL	AC-1,TRNE3D		;LOOP ON ERROR SWITCH ^
 12047

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 139
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0317

 12048
 12049
 12050					;TEST TRNE,TRNN.  CHECK FOR SKIP/NO SKIP AND
 12051					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 12052
 12053
 12054			000010			AC=10
 12055	045424				TRNE1E:	SETUP	100,0^
 12056			000011			AC1=<AC+1>&17
 12057			000012			AC2=<AC+2>&17
 12058			000013			AC3=<AC+3>&17
 12059			000014			AC4=<AC+4>&17
 12060			000015			AC5=<AC+5>&17
 12061			000006			RAN1=<AC-2>&17
 12062	045424	201 07 0 00 045424 		MOVEI	AC-1,.
 12063	045425	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12064	045426	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12065	045427	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12066	045430	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12067	045431	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12068	045432	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12069	045433				TRNE2E:	RANDOM^
 12070	045433	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12071	045434	270 10 0 00 060657 		ADD	AC,[142536475076]
 12072	045435	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12073	045436	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12074	045437	435 10 0 00 000004 	TRNE3E:	IORI	AC,4		;MAKE SURE C(AC)R HAS A BIT
 12075	045440	200 11 0 00 000010 		MOVE	AC1,AC		;MAKE E=C(AC).
 12076	045441	602 10 0 11 000000 		TRNE	AC,(AC1)	;E + C(AC)R NOT = 0...NO SKIP.
 12077	045442	254 00 0 00 045444 		JRST	.+2
 12078	045443	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TRNE SKIPPED.
 12079	045444	606 10 0 11 000000 		TRNN	AC,(AC1)	;E + C(AC)R NOT = 0...SKIP.
 12080	045445	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 12081	045446	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD = ORIG C(AC).
 12082	045447	003 11 0 11 000000 		ERRI	AC1,(AC1)
 12083						LOOP	TRNE2E,TRNE3E^
 12084	045450	367 07 0 00 045433 		SOJG	AC-1,TRNE2E		;ITERATION COUNTER
 12085	045451	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12086	045452	321 07 0 00 045437 		JUMPL	AC-1,TRNE3E		;LOOP ON ERROR SWITCH ^
 12087

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 140
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0318

 12088
 12089
 12090					;TEST TRNE,TRNN.  CHECK FOR SKIP/NO SKIP AND
 12091					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION.
 12092
 12093
 12094			000011			AC=11
 12095	045453				TRNE1F:	SETUP	100,0^
 12096			000012			AC1=<AC+1>&17
 12097			000013			AC2=<AC+2>&17
 12098			000014			AC3=<AC+3>&17
 12099			000015			AC4=<AC+4>&17
 12100			000016			AC5=<AC+5>&17
 12101			000007			RAN1=<AC-2>&17
 12102	045453	201 10 0 00 045453 		MOVEI	AC-1,.
 12103	045454	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12104	045455	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12105	045456	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12106	045457	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12107	045460	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12108	045461	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12109	045462				TRNE2F:	RANDOM^
 12110	045462	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12111	045463	270 11 0 00 060657 		ADD	AC,[142536475076]
 12112	045464	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12113	045465	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12114	045466	460 12 0 00 000011 	TRNE3F:	SETCM	AC1,AC		;MAKE "E" = 1'S COMP OF C(AC).
 12115	045467	606 11 0 12 000000 		TRNN	AC,(AC1)	;E+C(AC)R = 0...NO SKIP.
 12116	045470	254 00 0 00 045472 		JRST	.+2
 12117	045471	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TRNN SKIPPED.
 12118	045472	602 11 0 12 000000 		TRNE	AC,(AC1)	;E + C(AC)R = 0...SKIP.
 12119	045473	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 12120	045474	312 11 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD = ORIG C(AC).
 12121	045475	013 00 0 12 000000 		EERRI	,(AC1)
 12122						LOOP	TRNE2F,TRNE3F^
 12123	045476	367 10 0 00 045462 		SOJG	AC-1,TRNE2F		;ITERATION COUNTER
 12124	045477	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12125	045500	321 10 0 00 045466 		JUMPL	AC-1,TRNE3F		;LOOP ON ERROR SWITCH ^
 12126

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 141
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0319

 12127
 12128
 12129					;TEST TRZ, TRZA.  CHECK FOR SKIP/NO SKIP AND
 12130					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION
 12131
 12132
 12133			000012			AC=12
 12134	045501				TRZA1:	SETUP	100,0^
 12135			000013			AC1=<AC+1>&17
 12136			000014			AC2=<AC+2>&17
 12137			000015			AC3=<AC+3>&17
 12138			000016			AC4=<AC+4>&17
 12139			000017			AC5=<AC+5>&17
 12140			000010			RAN1=<AC-2>&17
 12141	045501	201 11 0 00 045501 		MOVEI	AC-1,.
 12142	045502	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12143	045503	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12144	045504	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12145	045505	201 11 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12146	045506	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12147	045507	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12148	045510				TRZA2:	RANDOM^
 12149	045510	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12150	045511	270 12 0 00 060657 		ADD	AC,[142536475076]
 12151	045512	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12152	045513	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12153	045514	460 13 0 00 000012 	TRZA3:	SETCM	AC1,AC		;MAKE "E"=COMP OF C(AC)
 12154	045515	620 12 0 13 000000 		TRZ	AC,(AC1)	;SHOULD NOT SKIP.
 12155	045516	254 00 0 00 045520 		JRST	.+2
 12156	045517	005 12 0 00 060674 		ER	AC,[ASCII /TST/];TRZ SKIPPED.
 12157	045520	624 12 0 13 000000 		TRZA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 12158	045521	005 12 0 00 060674 		ER	AC,[ASCII /TST/]
 12159	045522	312 12 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
 12160	045523	013 00 0 13 000000 		EERRI	,(AC1)
 12161						LOOP	TRZA2,TRZA3^
 12162	045524	367 11 0 00 045510 		SOJG	AC-1,TRZA2		;ITERATION COUNTER
 12163	045525	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12164	045526	321 11 0 00 045514 		JUMPL	AC-1,TRZA3		;LOOP ON ERROR SWITCH ^
 12165

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 142
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0320

 12166
 12167
 12168					;TEST TRZ,TRZA.  CHECK FOR SKIP/NO SKIP AND
 12169					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 12170
 12171
 12172			000013			AC=13
 12173	045527				TRZAA:	SETUP	100,0^
 12174			000014			AC1=<AC+1>&17
 12175			000015			AC2=<AC+2>&17
 12176			000016			AC3=<AC+3>&17
 12177			000017			AC4=<AC+4>&17
 12178			000000			AC5=<AC+5>&17
 12179			000011			RAN1=<AC-2>&17
 12180	045527	201 12 0 00 045527 		MOVEI	AC-1,.
 12181	045530	202 12 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12182	045531	201 12 0 00 000012 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12183	045532	202 12 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12184	045533	201 12 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12185	045534	240 12 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12186	045535	240 12 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12187	045536				TRZAB:	RANDOM^
 12188	045536	200 13 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12189	045537	270 13 0 00 060657 		ADD	AC,[142536475076]
 12190	045540	241 13 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12191	045541	447 13 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12192	045542	200 14 0 00 000013 		MOVE	AC1,AC		;MAKE "E"=C(AC)
 12193	045543	200 15 0 00 000013 	TRZAC:	MOVE	AC2,AC		;SIMULATE
 12194	045544	404 15 0 00 060672 		AND	AC2,[XWD -1,0]	;A (TRZ AC,-1).
 12195	045545	620 13 0 14 000000 		TRZ	AC,(AC1)	;SHOULD NOT SKIP.
 12196	045546	254 00 0 00 045550 		JRST	.+2
 12197	045547	005 13 0 00 060674 		ER	AC,[ASCII /TST/];TRZ SKIPPED.
 12198	045550	624 13 0 14 000000 		TRZA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 12199	045551	005 13 0 00 060674 		ER	AC,[ASCII /TST/]
 12200	045552	312 13 0 00 000015 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 12201	045553	003 14 0 14 000000 		ERRI	AC1,(AC1)
 12202						LOOP	TRZAB,TRZAC^
 12203	045554	367 12 0 00 045536 		SOJG	AC-1,TRZAB		;ITERATION COUNTER
 12204	045555	200 13 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12205	045556	321 12 0 00 045543 		JUMPL	AC-1,TRZAC		;LOOP ON ERROR SWITCH ^
 12206

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 143
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0321

 12207
 12208
 12209					;TEST TRZ,TRZA.  CHECK FOR SKIP/NO SKIP AND
 12210					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION
 12211
 12212
 12213			000014			AC=14
 12214	045557				TRZB1:	SETUP	100,0^
 12215			000015			AC1=<AC+1>&17
 12216			000016			AC2=<AC+2>&17
 12217			000017			AC3=<AC+3>&17
 12218			000000			AC4=<AC+4>&17
 12219			000001			AC5=<AC+5>&17
 12220			000012			RAN1=<AC-2>&17
 12221	045557	201 13 0 00 045557 		MOVEI	AC-1,.
 12222	045560	202 13 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12223	045561	201 13 0 00 000013 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12224	045562	202 13 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12225	045563	201 13 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12226	045564	240 13 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12227	045565	240 13 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12228	045566				TRZB2:	RANDOM^
 12229	045566	200 14 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12230	045567	270 14 0 00 060657 		ADD	AC,[142536475076]
 12231	045570	241 14 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12232	045571	447 14 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12233	045572	204 15 0 00 000014 	TRZB3:	MOVS	AC1,AC		;MAKE "E"=DIFFERENT RAN NUM
 12234	045573	201 16 0 15 000000 		MOVEI	AC2,(AC1)	;SIMULATE
 12235	045574	464 16 0 00 000014 		ORCM	AC2,AC		;A
 12236	045575	450 16 0 00 000000 		SETCA	AC2,		;TRZ
 12237	045576	620 14 0 15 000000 		TRZ	AC,(AC1)	;SHOULD NOT SKIP.
 12238	045577	312 14 0 00 000016 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 12239	045600	013 00 0 15 000000 		EERRI	,(AC1)
 12240	045601	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE AC
 12241	045602	624 14 0 15 000000 		TRZA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 12242	045603	005 14 0 00 060674 		ER	AC,[ASCII /TST/]
 12243	045604	312 14 0 00 000016 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 12244	045605	013 00 0 15 000000 		EERRI	,(AC1)
 12245						LOOP	TRZB2,TRZB3^
 12246	045606	367 13 0 00 045566 		SOJG	AC-1,TRZB2		;ITERATION COUNTER
 12247	045607	200 14 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12248	045610	321 13 0 00 045572 		JUMPL	AC-1,TRZB3		;LOOP ON ERROR SWITCH ^
 12249

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 144
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0322

 12250
 12251
 12252					;TEST TRZE, TRZN.  CHECK FOR SKIP/NO SKIP AND
 12253					;CORRECT DATA IN AC FOR A ROTATING MASK BIT WITH SAME BIT
 12254					;CLEARED IN AC.
 12255
 12256
 12257			000005			AC=5
 12258	045611				TRZE1:	SETUP	40,0^
 12259			000006			AC1=<AC+1>&17
 12260			000007			AC2=<AC+2>&17
 12261			000010			AC3=<AC+3>&17
 12262			000011			AC4=<AC+4>&17
 12263			000012			AC5=<AC+5>&17
 12264			000003			RAN1=<AC-2>&17
 12265	045611	201 04 0 00 045611 		MOVEI	AC-1,.
 12266	045612	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12267	045613	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12268	045614	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12269	045615	201 04 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12270	045616	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12271	045617	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12272	045620	201 06 0 00 000001 		MOVEI	AC1,1		;SETUP E TO HAVE A MASK BIT.
 12273	045621				TRZE2:	RANDOM^
 12274	045621	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12275	045622	270 05 0 00 060657 		ADD	AC,[142536475076]
 12276	045623	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12277	045624	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12278	045625	241 06 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT
 12279	045626	316 06 0 00 060714 		CAMN	AC1,[XWD 1,0]	;HAS THE BIT GONE TO THE LEFT SIDE?
 12280	045627	201 06 0 00 000001 		MOVEI	AC1,1		;YES, RESTORE E
 12281	045630	420 05 0 00 000006 	TRZE3:	ANDCM	AC,AC1		;CLEAR MASK BIT IN AC
 12282	045631	200 07 0 00 000005 		MOVE	AC2,AC		;SAVE FOR COMPARE
 12283	045632	626 05 0 06 000000 		TRZN	AC,(AC1)	;E+C(AC)R = 0...NO SKIP.
 12284	045633	254 00 0 00 045635 		JRST	.+2
 12285	045634	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TRZN SKIPPED.
 12286	045635	622 05 0 06 000000 		TRZE	AC,(AC1)	;E+C(AC)R = 0...SKIP.
 12287	045636	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 12288	045637	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD NOT HAVE CHANGED
 12289	045640	003 07 0 06 000000 		ERRI	AC2,(AC1)
 12290						LOOP	TRZE2,TRZE3^
 12291	045641	367 04 0 00 045621 		SOJG	AC-1,TRZE2		;ITERATION COUNTER
 12292	045642	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12293	045643	321 04 0 00 045630 		JUMPL	AC-1,TRZE3		;LOOP ON ERROR SWITCH ^
 12294

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 145
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0323

 12295
 12296
 12297					;TEST TRZE,TRZN.  CHECK FOR SKIP/NO SKIP AND
 12298					;CORRECT DATA IN AC FOR A ROTATING MASK BIT WITH
 12299					;SAME BIT SET IN AC.
 12300
 12301
 12302			000006			AC=6
 12303	045644				TRZEA:	SETUP	40,0^
 12304			000007			AC1=<AC+1>&17
 12305			000010			AC2=<AC+2>&17
 12306			000011			AC3=<AC+3>&17
 12307			000012			AC4=<AC+4>&17
 12308			000013			AC5=<AC+5>&17
 12309			000004			RAN1=<AC-2>&17
 12310	045644	201 05 0 00 045644 		MOVEI	AC-1,.
 12311	045645	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12312	045646	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12313	045647	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12314	045650	201 05 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12315	045651	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12316	045652	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12317	045653	201 07 0 00 000001 		MOVEI	AC1,1		;SETUP "E" FOR ONE MASK BIT
 12318	045654				TRZEB:	RANDOM^
 12319	045654	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12320	045655	270 06 0 00 060657 		ADD	AC,[142536475076]
 12321	045656	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12322	045657	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12323	045660	241 07 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT
 12324	045661	316 07 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 12325	045662	201 07 0 00 000001 		MOVEI	AC1,1		;YES, RESTORE.
 12326	045663	434 06 0 00 000007 	TRZEC:	IOR	AC,AC1		;SET MASK BIT IN AC
 12327	045664	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE FOR PRINT IN CASE OF ERROR.
 12328	045665	200 10 0 00 000006 		MOVE	AC2,AC		;SIMULATE
 12329	045666	420 10 0 00 000007 		ANDCM	AC2,AC1		;TRZ.
 12330	045667	622 06 0 07 000000 		TRZE	AC,(AC1)	;E+C(AC)R NOT = 0...NO SKIP.
 12331	045670	312 06 0 00 000010 		CAME	AC,AC2		;C(AC) SHOULD = SIM. ANS.
 12332	045671	003 04 0 07 000000 		ERRI	RAN1,(AC1)
 12333	045672	200 06 0 00 000004 		MOVE	AC,RAN1		;RESTORE AC.
 12334	045673	626 06 0 07 000000 		TRZN	AC,(AC1)	;E+C(AC)R NOT = 0...SKIP.
 12335	045674	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
 12336	045675	312 06 0 00 000010 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 12337	045676	003 04 0 07 000000 		ERRI	RAN1,(AC1)
 12338						LOOP	TRZEB,TRZEC^
 12339	045677	367 05 0 00 045654 		SOJG	AC-1,TRZEB		;ITERATION COUNTER
 12340	045700	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12341	045701	321 05 0 00 045663 		JUMPL	AC-1,TRZEC		;LOOP ON ERROR SWITCH ^
 12342

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 146
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0324

 12343
 12344
 12345					;TEST TRZE,TRZN.  CHECK FOR SKIP/NO SKIP AND
 12346					;CORRECT DATA IN AC FOR A ROTATING MASK BIT IN AC
 12347					;AND SAME BIT CLEARED IN E.
 12348
 12349
 12350			000007			AC=7
 12351	045702				TRZNA:	SETUP	40,0^
 12352			000010			AC1=<AC+1>&17
 12353			000011			AC2=<AC+2>&17
 12354			000012			AC3=<AC+3>&17
 12355			000013			AC4=<AC+4>&17
 12356			000014			AC5=<AC+5>&17
 12357			000005			RAN1=<AC-2>&17
 12358	045702	201 06 0 00 045702 		MOVEI	AC-1,.
 12359	045703	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12360	045704	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12361	045705	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12362	045706	201 06 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12363	045707	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12364	045710	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12365	045711	201 10 0 00 000001 		MOVEI	AC1,1		;SETUP A MASK BIT
 12366	045712				TRZNB:	RANDOM^
 12367	045712	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12368	045713	270 07 0 00 060657 		ADD	AC,[142536475076]
 12369	045714	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12370	045715	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12371	045716	241 10 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT
 12372	045717	316 10 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 12373	045720	201 10 0 00 000001 		MOVEI	AC1,1		;YES, RESTORE AC
 12374	045721	200 11 0 00 000010 		MOVE	AC2,AC1		;SAVE FOR FUTURE COMPARE.
 12375	045722	200 10 0 00 000011 	TRZNC:	MOVE	AC1,AC2		;RESTORE "AC" IN CASE OF ERROR
 12376	045723	420 07 0 00 000010 		ANDCM	AC,AC1		;CLEAR BIT IN "E"
 12377	045724	626 10 0 07 000000 		TRZN	AC1,(AC)	;E+C(AC)R = 0...NO SKIP.
 12378	045725	254 00 0 00 045727 		JRST	.+2
 12379	045726	005 10 0 00 060674 		ER	AC1,[ASCII /TST/];TRZN SKIPPED.
 12380	045727	622 10 0 07 000000 		TRZE	AC1,(AC)	;E+C(AC)R = 0...SKIP.
 12381	045730	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
 12382	045731	312 10 0 00 000011 		CAME	AC1,AC2		;C(AC) SHOULD NOT CHANGE
 12383	045732	003 11 0 07 000000 		ERRI	AC2,(AC)
 12384						LOOP	TRZNB,TRZNC^
 12385	045733	367 06 0 00 045712 		SOJG	AC-1,TRZNB		;ITERATION COUNTER
 12386	045734	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12387	045735	321 06 0 00 045722 		JUMPL	AC-1,TRZNC		;LOOP ON ERROR SWITCH ^
 12388

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 147
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0325

 12389
 12390
 12391					;TEST TRZE,TRZN.  CHECK FOR SKIP/NO SKIP AND
 12392					;CORRECT DATA IN AC FOR A ROTATING MASK BIT
 12393					;IN AC AND SAME BIT SET IN E.
 12394
 12395
 12396			000011			AC=11
 12397	045736				TRZN1:	SETUP	40,0^
 12398			000012			AC1=<AC+1>&17
 12399			000013			AC2=<AC+2>&17
 12400			000014			AC3=<AC+3>&17
 12401			000015			AC4=<AC+4>&17
 12402			000016			AC5=<AC+5>&17
 12403			000007			RAN1=<AC-2>&17
 12404	045736	201 10 0 00 045736 		MOVEI	AC-1,.
 12405	045737	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12406	045740	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12407	045741	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12408	045742	201 10 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12409	045743	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12410	045744	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12411	045745	201 12 0 00 000001 		MOVEI	AC1,1		;SETUP A MASK BIT
 12412	045746				TRZN2:	RANDOM^
 12413	045746	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12414	045747	270 11 0 00 060657 		ADD	AC,[142536475076]
 12415	045750	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12416	045751	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12417	045752	241 12 0 00 000001 		ROT	AC1,1		;ROT BIT TO TEST NEXT BIT
 12418	045753	316 12 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 12419	045754	201 12 0 00 000001 		MOVEI	AC1,1		;YES, RESTORE
 12420	045755	200 13 0 00 000012 		MOVE	AC2,AC1		;SAVE FOR FUTURE COMPARE
 12421	045756	434 11 0 00 000012 	TRZN3:	IOR	AC,AC1		;SET MASK BIT IN E
 12422	045757	622 12 0 11 000000 		TRZE	AC1,(AC)	;E+C(AC)R NOT = 0...NO SKIP.
 12423	045760	312 12 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=0
 12424	045761	003 13 0 11 000000 		ERRI	AC2,(AC)
 12425	045762	200 12 0 00 000013 		MOVE	AC1,AC2		;RESTORE MASK BIT
 12426	045763	626 12 0 11 000000 		TRZN	AC1,(AC)	;E+C(AC)R NOT = 0...SKIP.
 12427	045764	005 12 0 00 060674 		ER	AC1,[ASCII /TST/]
 12428	045765	312 12 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=0
 12429	045766	003 13 0 11 000000 		ERRI	AC2,(AC)
 12430	045767	200 12 0 00 000013 		MOVE	AC1,AC2		;RESTORE MASK BIT
 12431						LOOP	TRZN2,TRZN3^
 12432	045770	367 10 0 00 045746 		SOJG	AC-1,TRZN2		;ITERATION COUNTER
 12433	045771	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12434	045772	321 10 0 00 045756 		JUMPL	AC-1,TRZN3		;LOOP ON ERROR SWITCH ^
 12435

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 148
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0326

 12436
 12437
 12438					;TEST TRO,TROA.  CHECK FOR SKIP/NO SKIP AND
 12439					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 12440
 12441
 12442			000011			AC=11
 12443	045773				TRO1:	SETUP	100,0^
 12444			000012			AC1=<AC+1>&17
 12445			000013			AC2=<AC+2>&17
 12446			000014			AC3=<AC+3>&17
 12447			000015			AC4=<AC+4>&17
 12448			000016			AC5=<AC+5>&17
 12449			000007			RAN1=<AC-2>&17
 12450	045773	201 10 0 00 045773 		MOVEI	AC-1,.
 12451	045774	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12452	045775	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12453	045776	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12454	045777	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12455	046000	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12456	046001	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12457	046002				TRO2:	RANDOM^
 12458	046002	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12459	046003	270 11 0 00 060657 		ADD	AC,[142536475076]
 12460	046004	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12461	046005	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12462	046006	660 11 0 00 000000 	TRO3:	TRO	AC,0		;SHOULD NOT SKIP
 12463	046007	254 00 0 00 046011 		JRST	.+2
 12464	046010	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TRO SKIPPED.
 12465	046011	664 11 0 00 000000 		TROA	AC,0		;SHOULD SKIP
 12466	046012	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 12467	046013	312 11 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL=RAN NUM
 12468	046014	013 00 0 00 000000 		EERRI	,0
 12469						LOOP	TRO2,TRO3^
 12470	046015	367 10 0 00 046002 		SOJG	AC-1,TRO2		;ITERATION COUNTER
 12471	046016	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12472	046017	321 10 0 00 046006 		JUMPL	AC-1,TRO3		;LOOP ON ERROR SWITCH ^
 12473

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 149
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0327

 12474
 12475
 12476					;TEST TRO, TROA.  CHECK FOR SKIP/NO SKIP AND
 12477					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
 12478
 12479
 12480			000002			AC=2
 12481	046020				TRO4:	SETUP	100,0^
 12482			000003			AC1=<AC+1>&17
 12483			000004			AC2=<AC+2>&17
 12484			000005			AC3=<AC+3>&17
 12485			000006			AC4=<AC+4>&17
 12486			000007			AC5=<AC+5>&17
 12487			000000			RAN1=<AC-2>&17
 12488	046020	201 01 0 00 046020 		MOVEI	AC-1,.
 12489	046021	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12490	046022	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12491	046023	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12492	046024	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12493	046025	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12494	046026	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12495	046027				TRO5:	RANDOM^
 12496	046027	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12497	046030	270 02 0 00 060657 		ADD	AC,[142536475076]
 12498	046031	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12499	046032	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12500	046033	403 03 0 00 000000 	TRO6:	SETZB	AC1,RAN1	;CLEAR C(AC).
 12501	046034	200 04 0 00 000002 		MOVE	AC2,AC		;SIMULATE
 12502	046035	405 04 0 00 777777 		ANDI	AC2,-1		;A TRO
 12503	046036	660 03 0 02 000000 		TRO	AC1,(AC)	;SHOULD NOT SKIP.
 12504	046037	254 00 0 00 046041 		JRST	.+2
 12505	046040	005 03 0 00 060674 		ER	AC1,[ASCII /TST/];TRO SKIPPED.
 12506	046041	664 03 0 02 000000 		TROA	AC1,(AC)	;SHOULD ALWAYS SKIP.
 12507	046042	005 03 0 00 060674 		ER	AC1,[ASCII /TST/]
 12508	046043	312 03 0 00 000004 		CAME	AC1,AC2		;C(AC) SHOULD=SIM ANS
 12509	046044	003 00 0 02 000000 		ERRI	RAN1,(AC)
 12510						LOOP	TRO5,TRO6^
 12511	046045	367 01 0 00 046027 		SOJG	AC-1,TRO5		;ITERATION COUNTER
 12512	046046	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12513	046047	321 01 0 00 046033 		JUMPL	AC-1,TRO6		;LOOP ON ERROR SWITCH ^
 12514

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 150
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0328

 12515
 12516
 12517					;TEST TRO, TROA.  CHECK FOR SKIP/NO SKIP AND
 12518					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 12519
 12520
 12521			000003			AC=3
 12522	046050				TRO1A:	SETUP	100,0^
 12523			000004			AC1=<AC+1>&17
 12524			000005			AC2=<AC+2>&17
 12525			000006			AC3=<AC+3>&17
 12526			000007			AC4=<AC+4>&17
 12527			000010			AC5=<AC+5>&17
 12528			000001			RAN1=<AC-2>&17
 12529	046050	201 02 0 00 046050 		MOVEI	AC-1,.
 12530	046051	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12531	046052	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12532	046053	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12533	046054	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12534	046055	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12535	046056	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12536	046057				TRO1B:	RANDOM^
 12537	046057	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12538	046060	270 03 0 00 060657 		ADD	AC,[142536475076]
 12539	046061	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12540	046062	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12541	046063	200 05 0 00 000003 	TRO1C:	MOVE	AC2,AC		;SIMULATE
 12542	046064	435 05 0 00 777777 		IORI	AC2,-1		;ATRO
 12543	046065	660 03 0 00 777777 		TRO	AC,-1		;SHOULD NOT SKIP
 12544	046066	254 00 0 00 046070 		JRST	.+2
 12545	046067	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TRO SKIPPED.
 12546	046070	664 03 0 00 777777 		TROA	AC,-1		;SHOULD SKIP
 12547	046071	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 12548	046072	312 03 0 00 000005 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 12549	046073	013 00 0 00 777777 		EERRI	,-1
 12550						LOOP	TRO1B,TRO1C^
 12551	046074	367 02 0 00 046057 		SOJG	AC-1,TRO1B		;ITERATION COUNTER
 12552	046075	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12553	046076	321 02 0 00 046063 		JUMPL	AC-1,TRO1C		;LOOP ON ERROR SWITCH ^
 12554

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 151
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0329

 12555
 12556
 12557					;TEST TRO,TROA.  CHECK FOR SKIP/NO SKIP AND
 12558					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
 12559
 12560
 12561			000004			AC=4
 12562	046077				TRO1D:	SETUP	100,0^
 12563			000005			AC1=<AC+1>&17
 12564			000006			AC2=<AC+2>&17
 12565			000007			AC3=<AC+3>&17
 12566			000010			AC4=<AC+4>&17
 12567			000011			AC5=<AC+5>&17
 12568			000002			RAN1=<AC-2>&17
 12569	046077	201 03 0 00 046077 		MOVEI	AC-1,.
 12570	046100	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12571	046101	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12572	046102	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12573	046103	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12574	046104	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12575	046105	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12576	046106				TRO1E:	RANDOM^
 12577	046106	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12578	046107	270 04 0 00 060657 		ADD	AC,[142536475076]
 12579	046110	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12580	046111	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12581	046112	477 05 0 00 000002 	TRO1F:	SETOB	AC1,RAN1	;SET C(AC) TO ALL ONES.
 12582	046113	660 05 0 04 000000 		TRO	AC1,(AC)	;SHOULD NOT SKIP.
 12583	046114	254 00 0 00 046116 		JRST	.+2
 12584	046115	005 05 0 00 060674 		ER	AC1,[ASCII /TST/];TRO SKIPPED.
 12585	046116	664 05 0 04 000000 		TROA	AC1,(AC)	;SHOULD ALWAYS SKIP.
 12586	046117	005 05 0 00 060674 		ER	AC1,[ASCII /TST/]
 12587	046120	312 05 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD STILL = -1.
 12588	046121	003 02 0 04 000000 		ERRI	RAN1,(AC)
 12589						LOOP	TRO1E,TRO1F^
 12590	046122	367 03 0 00 046106 		SOJG	AC-1,TRO1E		;ITERATION COUNTER
 12591	046123	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12592	046124	321 03 0 00 046112 		JUMPL	AC-1,TRO1F		;LOOP ON ERROR SWITCH ^
 12593

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 152
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0330

 12594
 12595
 12596					;TEST TRO, TROA.  CHECK FOR SKIP/NO SKIP AND
 12597					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION
 12598
 12599
 12600			000005			AC=5
 12601	046125				TROA1:	SETUP	100,0^
 12602			000006			AC1=<AC+1>&17
 12603			000007			AC2=<AC+2>&17
 12604			000010			AC3=<AC+3>&17
 12605			000011			AC4=<AC+4>&17
 12606			000012			AC5=<AC+5>&17
 12607			000003			RAN1=<AC-2>&17
 12608	046125	201 04 0 00 046125 		MOVEI	AC-1,.
 12609	046126	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12610	046127	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12611	046130	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12612	046131	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12613	046132	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12614	046133	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12615	046134				TROA2:	RANDOM^
 12616	046134	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12617	046135	270 05 0 00 060657 		ADD	AC,[142536475076]
 12618	046136	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12619	046137	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12620	046140	460 06 0 00 000005 	TROA3:	SETCM	AC1,AC		;MAKE "E" = COM C(AC)
 12621	046141	200 07 0 00 000005 		MOVE	AC2,AC		;SIMULATE
 12622	046142	410 07 0 00 060672 		ANDCA	AC2,[XWD-1,0]	;A
 12623	046143	450 07 0 00 000000 		SETCA	AC2,		;TRO
 12624	046144	660 05 0 06 000000 		TRO	AC,(AC1)	;SHOULD NOT SKIP.
 12625	046145	254 00 0 00 046147 		JRST	.+2
 12626	046146	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TRO SKIPPED.
 12627	046147	664 05 0 06 000000 		TROA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 12628	046150	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 12629	046151	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD=SIM ANS
 12630	046152	013 00 0 06 000000 		EERRI	,(AC1)
 12631						LOOP	TROA2,TROA3^
 12632	046153	367 04 0 00 046134 		SOJG	AC-1,TROA2		;ITERATION COUNTER
 12633	046154	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12634	046155	321 04 0 00 046140 		JUMPL	AC-1,TROA3		;LOOP ON ERROR SWITCH ^
 12635

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 153
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0331

 12636
 12637
 12638					;TEST TRO, TROA.  CHECK FOR SKIP/NO SKIP AND
 12639					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 12640
 12641
 12642			000006			AC=6
 12643	046156				TROA4:	SETUP	100,0^
 12644			000007			AC1=<AC+1>&17
 12645			000010			AC2=<AC+2>&17
 12646			000011			AC3=<AC+3>&17
 12647			000012			AC4=<AC+4>&17
 12648			000013			AC5=<AC+5>&17
 12649			000004			RAN1=<AC-2>&17
 12650	046156	201 05 0 00 046156 		MOVEI	AC-1,.
 12651	046157	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12652	046160	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12653	046161	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12654	046162	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12655	046163	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12656	046164	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12657	046165				TROA5:	RANDOM^
 12658	046165	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12659	046166	270 06 0 00 060657 		ADD	AC,[142536475076]
 12660	046167	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12661	046170	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12662	046171	200 07 0 00 000006 	TROA6:	MOVE	AC1,AC		;MAKE E = C(AC)R.
 12663	046172	660 06 0 07 000000 		TRO	AC,(AC1)	;SHOULD NOT SKIP.
 12664	046173	254 00 0 00 046175 		JRST	.+2
 12665	046174	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TRO SKIPPED.
 12666	046175	664 06 0 07 000000 		TROA	AC,(AC1)	;SHOULD ALWAYS SKIP.
 12667	046176	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
 12668	046177	312 06 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT CHANGE
 12669	046200	003 07 0 07 000000 		ERRI	AC1,(AC1)
 12670						LOOP	TROA5,TROA6^
 12671	046201	367 05 0 00 046165 		SOJG	AC-1,TROA5		;ITERATION COUNTER
 12672	046202	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12673	046203	321 05 0 00 046171 		JUMPL	AC-1,TROA6		;LOOP ON ERROR SWITCH ^
 12674
 12675
 12676

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 154
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0332

 12677
 12678
 12679					;TEST TROE, TRON. CHECK FOR SKIP/ NO SKIP AND
 12680					;CORRECT DATA IN AC FOR A FLOATING MASK BIT
 12681					;WITH SAME BIT CLEARED IN AC.
 12682
 12683
 12684			000007			AC=7
 12685	046204				TROE1:	SETUP	40,0^
 12686			000010			AC1=<AC+1>&17
 12687			000011			AC2=<AC+2>&17
 12688			000012			AC3=<AC+3>&17
 12689			000013			AC4=<AC+4>&17
 12690			000014			AC5=<AC+5>&17
 12691			000005			RAN1=<AC-2>&17
 12692	046204	201 06 0 00 046204 		MOVEI	AC-1,.
 12693	046205	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12694	046206	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12695	046207	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12696	046210	201 06 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12697	046211	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12698	046212	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12699	046213	201 10 0 00 000001 		MOVEI	AC1,1		;SETUP E TO HAVE A MASK BIT.
 12700	046214				TROE2:	RANDOM^
 12701	046214	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12702	046215	270 07 0 00 060657 		ADD	AC,[142536475076]
 12703	046216	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12704	046217	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12705	046220	241 10 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
 12706	046221	316 10 0 00 060714 		CAMN	AC1,[XWD 1,0]	;BIT IN LEFT SIDE?
 12707	046222	201 10 0 00 000001 		MOVEI	AC1,1		;YES. REINITIALIZE E.
 12708	046223	420 07 0 00 000010 	TROE3:	ANDCM	AC,AC1		;CLEAR MASK BIT IN AC.
 12709	046224	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE AC IN CASE OF ERROR.
 12710	046225	200 11 0 00 000007 		MOVE	AC2,AC		;SIMULATE
 12711	046226	434 11 0 00 000010 		IOR	AC2,AC1		;A TRO INST.
 12712	046227	662 07 0 10 000000 		TROE	AC,(AC1)	;E + C(AC)R = 0...SKIP.
 12713	046230	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 12714	046231	666 07 0 10 000000 		TRON	AC,(AC1)	;E + C(AC)R NOT = 0...SKIP.
 12715	046232	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 12716	046233	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD = SIM. ANS.
 12717	046234	003 05 0 10 000000 		ERRI	RAN1,(AC1)
 12718						LOOP	TROE2,TROE3^
 12719	046235	367 06 0 00 046214 		SOJG	AC-1,TROE2		;ITERATION COUNTER
 12720	046236	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12721	046237	321 06 0 00 046223 		JUMPL	AC-1,TROE3		;LOOP ON ERROR SWITCH ^
 12722
 12723
 12724

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 155
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0333

 12725
 12726
 12727					;TEST TROE, TRON. CHECK FOR SKIP/ NO SKIP AND
 12728					;CORRECT DATA IN AC FOR A FLOATING MASK BIT IN E
 12729					;AND WITH SAME BIT SET IN AC.
 12730
 12731
 12732			000010			AC=10
 12733	046240				TROEA:	SETUP	40,0^
 12734			000011			AC1=<AC+1>&17
 12735			000012			AC2=<AC+2>&17
 12736			000013			AC3=<AC+3>&17
 12737			000014			AC4=<AC+4>&17
 12738			000015			AC5=<AC+5>&17
 12739			000006			RAN1=<AC-2>&17
 12740	046240	201 07 0 00 046240 		MOVEI	AC-1,.
 12741	046241	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12742	046242	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12743	046243	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12744	046244	201 07 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12745	046245	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12746	046246	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12747	046247	201 11 0 00 000001 		MOVEI	AC1,1		;SETUP E TO HAVE A MASK BIT.
 12748	046250				TROEB:	RANDOM^
 12749	046250	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12750	046251	270 10 0 00 060657 		ADD	AC,[142536475076]
 12751	046252	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12752	046253	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12753	046254	241 11 0 00 000001 		ROT	AC1,1		;ROT ATO TEST NEST BIT.
 12754	046255	316 11 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 12755	046256	201 11 0 00 000001 		MOVEI	AC1,1		;YES. REINITIALIZE E.
 12756	046257	434 10 0 00 000011 	TROEC:	IOR	AC,AC1		;SET MASK BIT IN AC.
 12757	046260	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE FOR COMPARE.
 12758	046261	662 10 0 11 000000 		TROE	AC,(AC1)	;E + C(AC) R NOT = 0...NO SKIP.
 12759	046262	254 00 0 00 046264 		JRST	.+2
 12760	046263	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TROE SKIPPED.
 12761	046264	666 10 0 11 000000 		TRON	AC,(AC1)	;E + C(AC)R NOT = 0...SKIP.
 12762	046265	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 12763	046266	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG. C(AC).
 12764	046267	003 06 0 11 000000 		ERRI	RAN1,(AC1)
 12765						LOOP	TROEB, TROEC^
 12766	046270	367 07 0 00 046250 		SOJG	AC-1,TROEB		;ITERATION COUNTER
 12767	046271	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12768	046272	321 07 0 00 046257 		JUMPL	AC-1,TROEC		;LOOP ON ERROR SWITCH ^
 12769
 12770
 12771

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 156
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0334

 12772					;TEST TROE, TRON. CHECK FOR SKIP/ NO SKIP AND
 12773					;CORRECT DATA IN AC FOR A FLOATING MASK BIT IN AC
 12774					;AND SAME BIT CLEARED IN E.
 12775
 12776
 12777			000011			AC=11
 12778	046273				TRON1:	SETUP	40,0^
 12779			000012			AC1=<AC+1>&17
 12780			000013			AC2=<AC+2>&17
 12781			000014			AC3=<AC+3>&17
 12782			000015			AC4=<AC+4>&17
 12783			000016			AC5=<AC+5>&17
 12784			000007			RAN1=<AC-2>&17
 12785	046273	201 10 0 00 046273 		MOVEI	AC-1,.
 12786	046274	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12787	046275	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12788	046276	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12789	046277	201 10 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12790	046300	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12791	046301	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12792	046302	201 12 0 00 000001 		MOVEI	AC1,1		;SETUP AC TO HAVE A FLOATING MASK BIT.
 12793	046303				TRON2:	RANDOM^
 12794	046303	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12795	046304	270 11 0 00 060657 		ADD	AC,[142536475076]
 12796	046305	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12797	046306	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12798	046307	241 12 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
 12799	046310	316 12 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 12800	046311	201 12 0 00 000001 		MOVEI	AC1,1		;YES. REINITIALIZE AC.
 12801	046312	200 07 0 00 000012 		MOVE	RAN1,AC1	;SAVE C(AC) SO IT CAN BE
 12802	046313	420 11 0 00 000012 	TRON3:	ANDCM	AC,AC1		;CLEAR BIT IN E.
 12803	046314	201 13 0 11 000000 		MOVEI	AC2,(AC)	;SIMULATE
 12804	046315	322 13 0 00 046303 		JUMPE	AC2,TRON2	;REJECT IF "E" = 0.
 12805	046316	434 13 0 00 000012 		IOR	AC2,AC1		;A TRO INST.
 12806	046317	666 12 0 11 000000 		TRON	AC1,(AC)	;E + C(AC)R = 0...NO SKIP.
 12807	046320	254 00 0 00 046322 		JRST	.+2
 12808	046321	005 12 0 00 060674 		ER	AC1,[ASCII /TST/];TRON SKIPPED.
 12809	046322	666 12 0 11 000000 		TRON	AC1,(AC)	;E + C(AC)R NOT = 0...SKIP.
 12810	046323	005 12 0 00 060674 		ER	AC1,[ASCII /TST/]
 12811	046324	312 12 0 00 000013 		CAME	AC1,AC2		;C(AC) SHOULD = SIM. ANS.
 12812	046325	003 07 0 11 000000 		ERRI	RAN1,(AC)
 12813	046326	200 12 0 00 000007 		MOVE	AC1,RAN1	;RESTORE C(AC).
 12814	046327	662 12 0 11 000000 		TROE	AC1,(AC)	;E + C(AC)R = 0...SKIP.
 12815	046330	005 12 0 00 060674 		ER	AC1,[ASCII /TST/]
 12816	046331	662 12 0 11 000000 		TROE	AC1,(AC)	;E + C(AC)R NOT = 0...NO SKIP.
 12817	046332	312 12 0 00 000013 		CAME	AC1,AC2		;C(AC) SHOULD = SIM. ANS.
 12818	046333	003 07 0 11 000000 		ERRI	RAN1,(AC)
 12819	046334	200 12 0 00 000007 		MOVE	AC1,RAN1	;RESTORE C(AC).
 12820						LOOP	TRON2, TRON3^
 12821	046335	367 10 0 00 046303 		SOJG	AC-1,TRON2		;ITERATION COUNTER
 12822	046336	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12823	046337	321 10 0 00 046313 		JUMPL	AC-1,TRON3		;LOOP ON ERROR SWITCH ^
 12824

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 157
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0335

 12825
 12826
 12827					;TEST TROE, TRON. CHECK FOR SKIP/ NO SKIP AND
 12828					;CORRECT DATA IN AC FOR A FLOATING ONE IN AC
 12829					;AND SAME BIT SET IN E.
 12830
 12831
 12832			000012			AC=12
 12833	046340				TRONA:	SETUP	40,0^
 12834			000013			AC1=<AC+1>&17
 12835			000014			AC2=<AC+2>&17
 12836			000015			AC3=<AC+3>&17
 12837			000016			AC4=<AC+4>&17
 12838			000017			AC5=<AC+5>&17
 12839			000010			RAN1=<AC-2>&17
 12840	046340	201 11 0 00 046340 		MOVEI	AC-1,.
 12841	046341	202 11 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12842	046342	201 11 0 00 000011 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12843	046343	202 11 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12844	046344	201 11 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 12845	046345	240 11 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12846	046346	240 11 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12847	046347	201 13 0 00 000001 		MOVEI	AC1,1		;SETUP AC TO HAVE A FLOATING ONE.
 12848	046350				TRONB:	RANDOM^
 12849	046350	200 12 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12850	046351	270 12 0 00 060657 		ADD	AC,[142536475076]
 12851	046352	241 12 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12852	046353	447 12 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12853	046354	241 13 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
 12854	046355	316 13 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 12855	046356	201 13 0 00 000001 		MOVEI	AC1,1		;YES. REINITIALIZE AC.
 12856	046357	200 10 0 00 000013 		MOVE	RAN1,AC1	;SAVE C(AC) SO IT CAN BE
 12857	046360	434 12 0 00 000013 	TRONC:	IOR	AC,AC1		;SET BIT IN E.
 12858	046361	201 14 0 12 000000 		MOVEI	AC2,(AC)	;SIMULATE A TRO INST.
 12859	046362	662 13 0 12 000000 		TROE	AC1,(AC)	;E + C(AC)R NOT = 0...NO SKIP.
 12860	046363	254 00 0 00 046365 		JRST	.+2
 12861	046364	005 13 0 00 060674 		ER	AC1,[ASCII /TST/];TROE SKIPPED.
 12862	046365	666 13 0 12 000000 		TRON	AC1,(AC)	;E + C(AC)R NOT = 0...SKIP.
 12863	046366	005 13 0 00 060674 		ER	AC1,[ASCII /TST/]
 12864	046367	312 13 0 00 000014 		CAME	AC1,AC2		;C(AC) SHOULD = SIM. ANS.
 12865	046370	003 10 0 12 000000 		ERRI	RAN1,(AC)
 12866	046371	200 13 0 00 000010 		MOVE	AC1,RAN1	;RESTORE C(AC).
 12867						LOOP	TRONB, TRONC^
 12868	046372	367 11 0 00 046350 		SOJG	AC-1,TRONB		;ITERATION COUNTER
 12869	046373	200 12 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12870	046374	321 11 0 00 046360 		JUMPL	AC-1,TRONC		;LOOP ON ERROR SWITCH ^
 12871
 12872
 12873

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 158
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0336

 12874
 12875
 12876
 12877
 12878					;TEST TRC,TRCA.  CHECK FOR SKIP/NO SKIP AND
 12879					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 12880
 12881
 12882			000007			AC=7
 12883	046375				TRC1:	SETUP	100,0^
 12884			000010			AC1=<AC+1>&17
 12885			000011			AC2=<AC+2>&17
 12886			000012			AC3=<AC+3>&17
 12887			000013			AC4=<AC+4>&17
 12888			000014			AC5=<AC+5>&17
 12889			000005			RAN1=<AC-2>&17
 12890	046375	201 06 0 00 046375 		MOVEI	AC-1,.
 12891	046376	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12892	046377	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12893	046400	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12894	046401	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12895	046402	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12896	046403	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12897	046404				TRC2:	RANDOM^
 12898	046404	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12899	046405	270 07 0 00 060657 		ADD	AC,[142536475076]
 12900	046406	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12901	046407	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12902	046410	640 07 0 00 000000 	TRC3:	TRC	AC,0		;SHOULD NOT SKIP.
 12903	046411	254 00 0 00 046413 		JRST	.+2
 12904	046412	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TRC SKIPPED.
 12905	046413	644 07 0 00 000000 		TRCA	AC,0		;SHOULD SKIP
 12906	046414	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 12907	046415	312 07 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL=RAN NUM
 12908	046416	013 00 0 00 000000 		EERRI
 12909						LOOP	TRC2,TRC3^
 12910	046417	367 06 0 00 046404 		SOJG	AC-1,TRC2		;ITERATION COUNTER
 12911	046420	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12912	046421	321 06 0 00 046410 		JUMPL	AC-1,TRC3		;LOOP ON ERROR SWITCH ^
 12913

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 159
DSKBA2	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION TWO                                                             SEQ 0337

 12914					;TEST TRC,TRCA.  CHECK FOR SKIP/NO SKIP AND
 12915					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
 12916
 12917
 12918			000010			AC=10
 12919	046422				TRCA1:	SETUP	100,0^
 12920			000011			AC1=<AC+1>&17
 12921			000012			AC2=<AC+2>&17
 12922			000013			AC3=<AC+3>&17
 12923			000014			AC4=<AC+4>&17
 12924			000015			AC5=<AC+5>&17
 12925			000006			RAN1=<AC-2>&17
 12926	046422	201 07 0 00 046422 		MOVEI	AC-1,.
 12927	046423	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12928	046424	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12929	046425	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12930	046426	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12931	046427	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12932	046430	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12933	046431				TRCA2:	RANDOM^
 12934	046431	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12935	046432	270 10 0 00 060657 		ADD	AC,[142536475076]
 12936	046433	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12937	046434	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12938	046435	403 11 0 00 000006 	TRCA3:	SETZB	AC1,RAN1	;CLEAR C(AC).
 12939	046436	640 11 0 10 000000 		TRC	AC1,(AC)	;SHOULD NOT SKIP.
 12940	046437	254 00 0 00 046441 		JRST	.+2
 12941	046440	005 11 0 00 060674 		ER	AC1,[ASCII /TST/];TRC SKIPPED.
 12942	046441	644 11 0 10 000000 		TRCA	AC1,(AC)	;SHOULD ALWAYS SKIP.
 12943	046442	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
 12944	046443	312 11 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD STILL=0
 12945	046444	003 06 0 10 000000 		ERRI	RAN1,(AC)
 12946						LOOP	TRCA2,TRCA3^
 12947	046445	367 07 0 00 046431 		SOJG	AC-1,TRCA2		;ITERATION COUNTER
 12948	046446	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12949	046447	321 07 0 00 046435 		JUMPL	AC-1,TRCA3		;LOOP ON ERROR SWITCH ^
 12950
 12951	046450	254 00 0 00 046454 		JRST	PART3
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 1
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0338

 12952					SUBTTL	DIAGNOSTIC SECTION THREE
 12953						LALL
 12954
 12955	046451	002000	000000		TSTLFT:	2000000000
 12956	046452	004000	000000		TLFT1:	4000000000
 12957	046453	010000	000000		TLFT2:	10000000000
 12958
 12959
 12960	046454				PART3:
 12961
 12962					;TEST TRC, TRCA.  CHECK FOR SKIP/NO SKIP AND
 12963					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION.
 12964
 12965
 12966			000011			AC=11
 12967	046454				TRC4:	SETUP	100,0^
 12968			000012			AC1=<AC+1>&17
 12969			000013			AC2=<AC+2>&17
 12970			000014			AC3=<AC+3>&17
 12971			000015			AC4=<AC+4>&17
 12972			000016			AC5=<AC+5>&17
 12973			000007			RAN1=<AC-2>&17
 12974	046454	201 10 0 00 046454 		MOVEI	AC-1,.
 12975	046455	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 12976	046456	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 12977	046457	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 12978	046460	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 12979	046461	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 12980	046462	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 12981	046463				TRC5:	RANDOM^
 12982	046463	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 12983	046464	270 11 0 00 060657 		ADD	AC,[142536475076]
 12984	046465	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 12985	046466	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 12986	046467	640 11 0 00 777777 	TRC6:	TRC	AC,-1		;SHOULD NOT SKIP.
 12987	046470	254 00 0 00 046472 		JRST	.+2
 12988	046471	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TRC SKIPPED.
 12989	046472	644 11 0 00 777777 		TRCA	AC,-1		;SHOULD SKIP.
 12990	046473	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 12991	046474	312 11 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD  STILL=RAN NUM.
 12992	046475	013 00 0 00 777777 		EERRI	,-1
 12993						LOOP 	TRC5,TRC6^
 12994	046476	367 10 0 00 046463 		SOJG	AC-1,TRC5		;ITERATION COUNTER
 12995	046477	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 12996	046500	321 10 0 00 046467 		JUMPL	AC-1,TRC6		;LOOP ON ERROR SWITCH ^
 12997

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 2
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0339

 12998
 12999
 13000					;TEST TRC, TRCA.  CHECK FOR SKIP/NO SKIP AND
 13001					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
 13002
 13003
 13004			000004			AC=4
 13005	046501				TRCA4:	SETUP	100,0^
 13006			000005			AC1=<AC+1>&17
 13007			000006			AC2=<AC+2>&17
 13008			000007			AC3=<AC+3>&17
 13009			000010			AC4=<AC+4>&17
 13010			000011			AC5=<AC+5>&17
 13011			000002			RAN1=<AC-2>&17
 13012	046501	201 03 0 00 046501 		MOVEI	AC-1,.
 13013	046502	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13014	046503	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13015	046504	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13016	046505	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13017	046506	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13018	046507	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13019	046510				TRCA5:	RANDOM^
 13020	046510	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13021	046511	270 04 0 00 060657 		ADD	AC,[142536475076]
 13022	046512	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13023	046513	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13024	046514	477 05 0 00 000002 	TRCA6:	SETOB	AC1,RAN1	;SET C(AC) TO -1.
 13025	046515	640 05 0 04 000000 		TRC	AC1,(AC)	;SHOULD NOT SKIP.
 13026	046516	254 00 0 00 046520 		JRST	.+2
 13027	046517	005 05 0 00 060674 		ER	AC1,[ASCII /TST/];TRC SKIPPED.
 13028	046520	644 05 0 04 000000 		TRCA	AC1,(AC)	;SHOULD SKIP.
 13029	046521	005 05 0 00 060674 		ER	AC1,[ASCII /TST/]
 13030	046522	312 05 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD STILL=-1
 13031	046523	003 02 0 04 000000 		ERRI	RAN1,(AC)
 13032						LOOP	TRCA5,TRCA6^
 13033	046524	367 03 0 00 046510 		SOJG	AC-1,TRCA5		;ITERATION COUNTER
 13034	046525	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13035	046526	321 03 0 00 046514 		JUMPL	AC-1,TRCA6		;LOOP ON ERROR SWITCH ^
 13036

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 3
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0340

 13037
 13038
 13039					;TEST TRC, TRCA.  CHECK FOR SKIP/NO SKIP AND
 13040					;CORRECT DATA IN AC FOR NOT RAN TO RAN CONDITION.
 13041
 13042
 13043			000005			AC=5
 13044	046527				TRC7:	SETUP	100,0^
 13045			000006			AC1=<AC+1>&17
 13046			000007			AC2=<AC+2>&17
 13047			000010			AC3=<AC+3>&17
 13048			000011			AC4=<AC+4>&17
 13049			000012			AC5=<AC+5>&17
 13050			000003			RAN1=<AC-2>&17
 13051	046527	201 04 0 00 046527 		MOVEI	AC-1,.
 13052	046530	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13053	046531	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13054	046532	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13055	046533	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13056	046534	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13057	046535	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13058	046536				TRC8:	RANDOM^
 13059	046536	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13060	046537	270 05 0 00 060657 		ADD	AC,[142536475076]
 13061	046540	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13062	046541	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13063	046542	460 06 0 00 000005 	TRC9:	SETCM	AC1,AC		;MAKE "E"=COMP OF C(AC)
 13064	046543	640 05 0 06 000000 		TRC	AC,(AC1)	;SHOULD NOT SKIP
 13065	046544	254 00 0 00 046546 		JRST	.+2
 13066	046545	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TRC SKIPPED.
 13067	046546	644 05 0 06 000000 		TRCA	AC,(AC1)	;SHOULD SKIP
 13068	046547	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 13069	046550	312 05 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=RAN NUM.
 13070	046551	013 00 0 06 000000 		EERRI	,(AC1)
 13071						LOOP	TRC8,TRC9^
 13072	046552	367 04 0 00 046536 		SOJG	AC-1,TRC8		;ITERATION COUNTER
 13073	046553	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13074	046554	321 04 0 00 046542 		JUMPL	AC-1,TRC9		;LOOP ON ERROR SWITCH ^
 13075

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 4
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0341

 13076
 13077
 13078					;TEST TRC, TRCA.  CHECK FOR SKIP/NO SKIP AND
 13079					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 13080
 13081
 13082			000006			AC=6
 13083	046555				TRCA7:	SETUP	100,0^
 13084			000007			AC1=<AC+1>&17
 13085			000010			AC2=<AC+2>&17
 13086			000011			AC3=<AC+3>&17
 13087			000012			AC4=<AC+4>&17
 13088			000013			AC5=<AC+5>&17
 13089			000004			RAN1=<AC-2>&17
 13090	046555	201 05 0 00 046555 		MOVEI	AC-1,.
 13091	046556	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13092	046557	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13093	046560	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13094	046561	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13095	046562	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13096	046563	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13097	046564				TRCA8:	RANDOM^
 13098	046564	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13099	046565	270 06 0 00 060657 		ADD	AC,[142536475076]
 13100	046566	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13101	046567	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13102	046570	200 07 0 00 000006 	TRCA9:	MOVE	AC1,AC		;MAKE "E"=C(AC).
 13103	046571	640 06 0 07 000000 		TRC	AC,(AC1)	;SHOULD NOT SKIP
 13104	046572	254 00 0 00 046574 		JRST	.+2
 13105	046573	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TRC SKIPPED.
 13106	046574	644 06 0 07 000000 		TRCA	AC,(AC1)	;SHOULD SKIP
 13107	046575	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
 13108	046576	312 06 0 00 061125 		CAME	AC,RAN		;C(AC)SHOULD=RAN NUM
 13109	046577	003 07 0 07 000000 		ERRI	AC1,(AC1)
 13110						LOOP	TRCA8,TRCA9^
 13111	046600	367 05 0 00 046564 		SOJG	AC-1,TRCA8		;ITERATION COUNTER
 13112	046601	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13113	046602	321 05 0 00 046570 		JUMPL	AC-1,TRCA9		;LOOP ON ERROR SWITCH ^
 13114

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 5
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0342

 13115
 13116
 13117					;TEST TRCE, TRCN.  CHECK FOR SKIP/NO SKIP AND
 13118					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 13119
 13120
 13121			000007			AC=7
 13122	046603				TRCE1:	SETUP	100,0^
 13123			000010			AC1=<AC+1>&17
 13124			000011			AC2=<AC+2>&17
 13125			000012			AC3=<AC+3>&17
 13126			000013			AC4=<AC+4>&17
 13127			000014			AC5=<AC+5>&17
 13128			000005			RAN1=<AC-2>&17
 13129	046603	201 06 0 00 046603 		MOVEI	AC-1,.
 13130	046604	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13131	046605	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13132	046606	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13133	046607	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13134	046610	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13135	046611	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13136	046612				TRCE2:	RANDOM^
 13137	046612	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13138	046613	270 07 0 00 060657 		ADD	AC,[142536475076]
 13139	046614	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13140	046615	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13141	046616	646 07 0 00 000000 	TRCE3:	TRCN	AC,0		;E+C(AC)R=0. NO SKIP
 13142	046617	254 00 0 00 046621 		JRST	.+2
 13143	046620	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TRCN SKIPPED.
 13144	046621	642 07 0 00 000000 		TRCE	AC,0		;E+C(AC)R=0. SKIP
 13145	046622	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 13146	046623	312 07 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL=RAN.
 13147	046624	013 00 0 00 000000 		EERRI	,0
 13148						LOOP	TRCE2,TRCE3^
 13149	046625	367 06 0 00 046612 		SOJG	AC-1,TRCE2		;ITERATION COUNTER
 13150	046626	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13151	046627	321 06 0 00 046616 		JUMPL	AC-1,TRCE3		;LOOP ON ERROR SWITCH ^
 13152

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 6
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0343

 13153
 13154
 13155					;TEST TRCE, TRCN.  CHECK FOR SKIP/NO SKIP AND
 13156					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
 13157
 13158
 13159			000010			AC=10
 13160	046630				TRCEA1:	SETUP	100,0^
 13161			000011			AC1=<AC+1>&17
 13162			000012			AC2=<AC+2>&17
 13163			000013			AC3=<AC+3>&17
 13164			000014			AC4=<AC+4>&17
 13165			000015			AC5=<AC+5>&17
 13166			000006			RAN1=<AC-2>&17
 13167	046630	201 07 0 00 046630 		MOVEI	AC-1,.
 13168	046631	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13169	046632	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13170	046633	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13171	046634	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13172	046635	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13173	046636	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13174	046637				TRCEA2:	RANDOM^
 13175	046637	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13176	046640	270 10 0 00 060657 		ADD	AC,[142536475076]
 13177	046641	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13178	046642	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13179	046643	606 10 0 00 777777 		TRNN	AC,-1		;RIGHT HALF OF AC CLR?
 13180	046644	254 00 0 00 046637 		JRST	TRCEA2		;YES. GO GEN A NEW RAN NUM.
 13181	046645	403 11 0 00 000006 	TRCEA3:	SETZB	AC1,RAN1	;CLEAR C(AC).
 13182	046646	646 11 0 10 000000 		TRCN	AC1,(AC)	;E+C(AC)R=0.  NO SKIP
 13183	046647	254 00 0 00 046651 		JRST	.+2
 13184	046650	005 11 0 00 060674 		ER	AC1,[ASCII /TST/];TRCN SKIPPED.
 13185	046651	646 11 0 10 000000 		TRCN	AC1,(AC)	;E+C(AC)R NOT=0.  SKIP
 13186	046652	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
 13187	046653	312 11 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=0 AGAIN
 13188	046654	003 06 0 10 000000 		ERRI	RAN1,(AC)
 13189	046655	642 11 0 10 000000 		TRCE	AC1,(AC)	;E+C(AC)R=0 .SKIP
 13190	046656	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
 13191	046657	642 11 0 10 000000 		TRCE	AC1,(AC)	;E+C(AC)R NOT=0  NO SKIP
 13192	046660	312 11 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=0 AGAIN
 13193	046661	003 06 0 10 000000 		ERRI	RAN1,(AC)
 13194						LOOP	TRCEA2,TRCEA3^
 13195	046662	367 07 0 00 046637 		SOJG	AC-1,TRCEA2		;ITERATION COUNTER
 13196	046663	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13197	046664	321 07 0 00 046645 		JUMPL	AC-1,TRCEA3		;LOOP ON ERROR SWITCH ^
 13198

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 7
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0344

 13199
 13200
 13201					;TEST TRCE, TRCN.  CHECK FOR SKIP/NO SKIP AND
 13202					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 13203
 13204
 13205			000010			AC=10
 13206	046665				TRCE4:	SETUP	100,0^
 13207			000011			AC1=<AC+1>&17
 13208			000012			AC2=<AC+2>&17
 13209			000013			AC3=<AC+3>&17
 13210			000014			AC4=<AC+4>&17
 13211			000015			AC5=<AC+5>&17
 13212			000006			RAN1=<AC-2>&17
 13213	046665	201 07 0 00 046665 		MOVEI	AC-1,.
 13214	046666	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13215	046667	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13216	046670	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13217	046671	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13218	046672	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13219	046673	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13220	046674				TRCE5:	RANDOM^
 13221	046674	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13222	046675	270 10 0 00 060657 		ADD	AC,[142536475076]
 13223	046676	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13224	046677	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13225	046700	435 10 0 00 000002 	TRCE6:	IORI	AC,2		;MAKE C(AC) HAVE AT LEAST ONE BIT.
 13226	046701	201 11 0 10 000000 		MOVEI	AC1,(AC)	;CHECK TO MAKE
 13227	046702	306 11 0 00 777777 		CAIN	AC1,-1		;SURE C(AC)R DOES NOT = -1.
 13228	046703	254 00 0 00 046674 		JRST	TRCE5		;REJECT IF IT DOES.
 13229	046704	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 13230	046705	642 10 0 00 777777 		TRCE	AC,-1		;E+C(AC)R NOT = 0...NO SKIP.
 13231	046706	254 00 0 00 046710 		JRST	.+2
 13232	046707	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TRCE SKIPPED.
 13233	046710	646 10 0 00 777777 		TRCN	AC,-1		;E+C(AC)R NOT=0.  SKIP
 13234	046711	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 13235	046712	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13236	046713	003 06 0 00 777777 		ERRI	RAN1,-1
 13237						LOOP	TRCE5,TRCE6^
 13238	046714	367 07 0 00 046674 		SOJG	AC-1,TRCE5		;ITERATION COUNTER
 13239	046715	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13240	046716	321 07 0 00 046700 		JUMPL	AC-1,TRCE6		;LOOP ON ERROR SWITCH ^
 13241

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 8
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0345

 13242
 13243
 13244					;TEST TRCE, TRCN.  CHECK FOR SKIP/NO SKIP AND
 13245					;CORRECT DATA IN AC FOR RAN TO-1 CONDITION.
 13246
 13247
 13248			000003			AC=3
 13249	046717				TRCEA4:	SETUP	100,0^
 13250			000004			AC1=<AC+1>&17
 13251			000005			AC2=<AC+2>&17
 13252			000006			AC3=<AC+3>&17
 13253			000007			AC4=<AC+4>&17
 13254			000010			AC5=<AC+5>&17
 13255			000001			RAN1=<AC-2>&17
 13256	046717	201 02 0 00 046717 		MOVEI	AC-1,.
 13257	046720	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13258	046721	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13259	046722	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13260	046723	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13261	046724	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13262	046725	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13263	046726				TRCEA5:	RANDOM^
 13264	046726	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13265	046727	270 03 0 00 060657 		ADD	AC,[142536475076]
 13266	046730	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13267	046731	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13268	046732	435 03 0 00 000004 	TRCEA6:	IORI	AC,4		;MAKE E HAVE AT LEAST ONE BIT.
 13269	046733	477 04 0 00 000001 		SETOB	AC1,RAN1	;SET C(AC) TO A -1.
 13270	046734	642 04 0 03 000000 		TRCE	AC1,(AC)	;E+C(AC)R NOT=0  NO SKIP
 13271	046735	254 00 0 00 046737 		JRST	.+2
 13272	046736	005 04 0 00 060674 		ER	AC1,[ASCII /TST/];TRCE SKIPPED.
 13273	046737	642 04 0 03 000000 		TRCE	AC1,(AC)	;E+C(AC)R=0.  SKIP
 13274	046740	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 13275	046741	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD=ORIG C(AC)
 13276	046742	003 01 0 03 000000 		ERRI	RAN1,(AC)
 13277	046743	646 04 0 03 000000 		TRCN	AC1,(AC)	;E+C(AC)R NOT=0. SKIP
 13278	046744	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 13279	046745	646 04 0 03 000000 		TRCN	AC1,(AC)	;E+C(AC)R=0 NO SKIP
 13280	046746	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD=ORIG. C(AC).
 13281	046747	003 01 0 03 000000 		ERRI	RAN1,(AC)
 13282						LOOP	TRCEA5,TRCEA6^
 13283	046750	367 02 0 00 046726 		SOJG	AC-1,TRCEA5		;ITERATION COUNTER
 13284	046751	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13285	046752	321 02 0 00 046732 		JUMPL	AC-1,TRCEA6		;LOOP ON ERROR SWITCH ^
 13286

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 9
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0346

 13287
 13288
 13289					;TEST TRCE, TRCN.  CHECK FOR SKIP/NO SKIP AND
 13290					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 13291
 13292
 13293			000003			AC=3
 13294	046753				TRCN1:	SETUP	100,0^
 13295			000004			AC1=<AC+1>&17
 13296			000005			AC2=<AC+2>&17
 13297			000006			AC3=<AC+3>&17
 13298			000007			AC4=<AC+4>&17
 13299			000010			AC5=<AC+5>&17
 13300			000001			RAN1=<AC-2>&17
 13301	046753	201 02 0 00 046753 		MOVEI	AC-1,.
 13302	046754	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13303	046755	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13304	046756	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13305	046757	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13306	046760	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13307	046761	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13308	046762				TRCN2:	RANDOM^
 13309	046762	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13310	046763	270 03 0 00 060657 		ADD	AC,[142536475076]
 13311	046764	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13312	046765	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13313	046766	435 03 0 00 000040 	TRCN3:	IORI	AC,40		;MAKE C(AC) HAVE AT LEAST ONE BIT.
 13314	046767	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR.
 13315	046770	200 04 0 00 000003 		MOVE	AC1,AC		;MAKE "E" = C(AC).
 13316	046771	642 03 0 04 000000 		TRCE	AC,(AC1)	;E+C (AC) R NOT=0  NO SKIP
 13317	046772	254 00 0 00 046774 		JRST	.+2
 13318	046773	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TRCE SKIPPED.
 13319	046774	642 03 0 04 000000 		TRCE	AC,(AC1)	;E+C (AC)R=0  SKIP
 13320	046775	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 13321	046776	312 03 0 00 000001 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13322	046777	003 04 0 04 000000 		ERRI	AC1,(AC1)
 13323	047000	646 03 0 04 000000 		TRCN	AC,(AC1)	;E+C(AC)R NOT=0  SKIP
 13324	047001	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 13325	047002	646 03 0 04 000000 		TRCN	AC,(AC1)	;E+C (AC)R=0. NO SKIP
 13326	047003	312 03 0 00 000001 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13327	047004	003 04 0 04 000000 		ERRI	AC1,(AC1)
 13328						LOOP	TRCN2,TRCN3^
 13329	047005	367 02 0 00 046762 		SOJG	AC-1,TRCN2		;ITERATION COUNTER
 13330	047006	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13331	047007	321 02 0 00 046766 		JUMPL	AC-1,TRCN3		;LOOP ON ERROR SWITCH ^
 13332

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 10
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0347

 13333					;TEST TRCE, TRCN. CHECK FOR SKIP/NO SKIP AND
 13334					;CORRECT DATA IN AC WITH E = TO A FLOATING
 13335					;ONE AND C(AC) = RAN. NUM. WITH THAT BIT CLEAR.
 13336
 13337
 13338			000002			AC=2
 13339	047010				TRCNA:	SETUP	40,0^
 13340			000003			AC1=<AC+1>&17
 13341			000004			AC2=<AC+2>&17
 13342			000005			AC3=<AC+3>&17
 13343			000006			AC4=<AC+4>&17
 13344			000007			AC5=<AC+5>&17
 13345			000000			RAN1=<AC-2>&17
 13346	047010	201 01 0 00 047010 		MOVEI	AC-1,.
 13347	047011	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13348	047012	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13349	047013	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13350	047014	201 01 0 00 000040 		MOVEI	AC-1,40		;ROUTINE WEIGHTING
 13351	047015	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13352	047016	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13353	047017	201 03 0 00 000001 		MOVEI	AC1,1		;SETUP E TO HAVE ONE BIT.
 13354	047020				TRCNB:	RANDOM^
 13355	047020	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13356	047021	270 02 0 00 060657 		ADD	AC,[142536475076]
 13357	047022	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13358	047023	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13359	047024	241 03 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
 13360	047025	316 03 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 13361	047026	201 03 0 00 000001 		MOVEI	AC1,1		;YES. REINITIALIZE E.
 13362	047027	420 02 0 00 000003 	TRCNC:	ANDCM	AC,AC1		;CLEAR BIT IN AC.
 13363	047030	200 00 0 00 000002 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 13364	047031	646 02 0 03 000000 		TRCN	AC,(AC1)	;E + C(AC)R = 0...NO SKIP.
 13365	047032	254 00 0 00 047034 		JRST	.+2
 13366	047033	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TRCN SKIPPED.
 13367	047034	646 02 0 03 000000 		TRCN	AC,(AC1)	;E + C(AC)R NOT = 0...SKIP.
 13368	047035	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 13369	047036	312 02 0 00 000000 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13370	047037	003 00 0 03 000000 		ERRI	RAN1,(AC1)
 13371	047040	642 02 0 03 000000 		TRCE	AC,(AC1)	;E + C(AC)R = 0...SKIP.
 13372	047041	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 13373	047042	642 02 0 03 000000 		TRCE	AC,(AC1)	;E + C(AC)R NOT = 0...NO SKIP.
 13374	047043	312 02 0 00 000000 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13375	047044	003 00 0 03 000000 		ERRI	RAN1,(AC1)
 13376						LOOP	TRCNB,TRCNC^
 13377	047045	367 01 0 00 047020 		SOJG	AC-1,TRCNB		;ITERATION COUNTER
 13378	047046	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13379	047047	321 01 0 00 047027 		JUMPL	AC-1,TRCNC		;LOOP ON ERROR SWITCH ^
 13380

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 11
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0348

 13381
 13382
 13383					;TEST TLN, TLNA  CHECK FOR SKIP/NO SKIP AND
 13384					;NO DATA CHANGE IN AC FOR 0 TO RAN CONDITION.
 13385
 13386
 13387			000003			AC=3
 13388	047050				TLN1:	SETUP	100,0^
 13389			000004			AC1=<AC+1>&17
 13390			000005			AC2=<AC+2>&17
 13391			000006			AC3=<AC+3>&17
 13392			000007			AC4=<AC+4>&17
 13393			000010			AC5=<AC+5>&17
 13394			000001			RAN1=<AC-2>&17
 13395	047050	201 02 0 00 047050 		MOVEI	AC-1,.
 13396	047051	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13397	047052	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13398	047053	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13399	047054	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13400	047055	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13401	047056	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13402	047057				TLN2:	RANDOM^
 13403	047057	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13404	047060	270 03 0 00 060657 		ADD	AC,[142536475076]
 13405	047061	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13406	047062	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13407	047063	601 03 0 00 000000 	TLN3:	TLN	AC,0		;SHOULD NOT SKIP.
 13408	047064	254 00 0 00 047066 		JRST	.+2
 13409	047065	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TLN SKIPPED.
 13410	047066	605 03 0 00 000000 		TLNA	AC,0		;SHOULD SKIP
 13411	047067	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 13412	047070	312 03 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 13413	047071	013 00 0 00 000000 		EERRI	,0
 13414						LOOP	TLN2,TLN3^
 13415	047072	367 02 0 00 047057 		SOJG	AC-1,TLN2		;ITERATION COUNTER
 13416	047073	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13417	047074	321 02 0 00 047063 		JUMPL	AC-1,TLN3		;LOOP ON ERROR SWITCH ^
 13418

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 12
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0349

 13419
 13420
 13421					;TEST TLN, TLNA  CHECK FOR SKIP/NO SKIP AND
 13422					;NO DATA CHANGE IN AC FOR RAN TO 0 CONDITION
 13423
 13424
 13425			000004			AC=4
 13426	047075				TLN4:	SETUP	100,0^
 13427			000005			AC1=<AC+1>&17
 13428			000006			AC2=<AC+2>&17
 13429			000007			AC3=<AC+3>&17
 13430			000010			AC4=<AC+4>&17
 13431			000011			AC5=<AC+5>&17
 13432			000002			RAN1=<AC-2>&17
 13433	047075	201 03 0 00 047075 		MOVEI	AC-1,.
 13434	047076	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13435	047077	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13436	047100	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13437	047101	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13438	047102	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13439	047103	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13440	047104				TLN5:	RANDOM^
 13441	047104	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13442	047105	270 04 0 00 060657 		ADD	AC,[142536475076]
 13443	047106	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13444	047107	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13445	047110	403 05 0 00 000002 	TLN6:	SETZB	AC1,RAN1	;CLEAR C(AC)
 13446	047111	601 05 0 04 000000 		TLN	AC1,(AC)	;SHOULD NOT SKIP
 13447	047112	254 00 0 00 047114 		JRST	.+2
 13448	047113	005 05 0 00 060674 		ER	AC1,[ASCII /TST/];TLN SKIPPED.
 13449	047114	605 05 0 04 000000 		TLNA	AC1,(AC)	;SHOULD SKIP
 13450	047115	005 05 0 00 060674 		ER	AC1,[ASCII /TST/]
 13451	047116	312 05 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=ORIG C(AC)
 13452	047117	003 02 0 04 000000 		ERRI	RAN1,(AC)
 13453						LOOP	TLN5,TLN6^
 13454	047120	367 03 0 00 047104 		SOJG	AC-1,TLN5		;ITERATION COUNTER
 13455	047121	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13456	047122	321 03 0 00 047110 		JUMPL	AC-1,TLN6		;LOOP ON ERROR SWITCH ^
 13457

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 13
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0350

 13458
 13459
 13460					;TEST TLN, TLNA.  CHECK FOR SKIP/NO SKIP AND
 13461					;NO DATA CHANGE IN AC FOR -1 TO RAN CONDITION
 13462
 13463
 13464			000005			AC=5
 13465	047123				TLN7:	SETUP	100,0^
 13466			000006			AC1=<AC+1>&17
 13467			000007			AC2=<AC+2>&17
 13468			000010			AC3=<AC+3>&17
 13469			000011			AC4=<AC+4>&17
 13470			000012			AC5=<AC+5>&17
 13471			000003			RAN1=<AC-2>&17
 13472	047123	201 04 0 00 047123 		MOVEI	AC-1,.
 13473	047124	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13474	047125	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13475	047126	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13476	047127	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13477	047130	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13478	047131	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13479	047132				TLN8:	RANDOM^
 13480	047132	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13481	047133	270 05 0 00 060657 		ADD	AC,[142536475076]
 13482	047134	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13483	047135	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13484	047136	601 05 0 00 777777 	TLN9:	TLN	AC,-1		;SHOULD NOT SKIP
 13485	047137	254 00 0 00 047141 		JRST	.+2
 13486	047140	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TLN SKIPPED.
 13487	047141	605 05 0 00 777777 		TLNA	AC,-1		;SHOULD SKIP
 13488	047142	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 13489	047143	312 05 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG.  C(AC)
 13490	047144	013 00 0 00 777777 		EERRI	,-1
 13491						LOOP	TLN8,TLN9^
 13492	047145	367 04 0 00 047132 		SOJG	AC-1,TLN8		;ITERATION COUNTER
 13493	047146	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13494	047147	321 04 0 00 047136 		JUMPL	AC-1,TLN9		;LOOP ON ERROR SWITCH ^
 13495

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 14
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0351

 13496
 13497
 13498					;TEST TLN, TLNA.  CHECK FOR SKIP/NO SKIP AND
 13499					;NO DATA CHANGE IN AC FOR RAN  TO -1 CONDITION
 13500
 13501
 13502			000006			AC=6
 13503	047150				TLNA1:	SETUP	100,0^
 13504			000007			AC1=<AC+1>&17
 13505			000010			AC2=<AC+2>&17
 13506			000011			AC3=<AC+3>&17
 13507			000012			AC4=<AC+4>&17
 13508			000013			AC5=<AC+5>&17
 13509			000004			RAN1=<AC-2>&17
 13510	047150	201 05 0 00 047150 		MOVEI	AC-1,.
 13511	047151	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13512	047152	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13513	047153	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13514	047154	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13515	047155	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13516	047156	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13517	047157				TLNA2:	RANDOM^
 13518	047157	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13519	047160	270 06 0 00 060657 		ADD	AC,[142536475076]
 13520	047161	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13521	047162	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13522	047163	477 07 0 00 000004 	TLNA3:	SETOB	AC1,RAN1	;SET C(AC) TO=-1
 13523	047164	601 07 0 06 000000 		TLN	AC1,(AC)	;SHOULD NOT SKIP
 13524	047165	254 00 0 00 047167 		JRST	.+2
 13525	047166	005 07 0 00 060674 		ER	AC1,[ASCII /TST/];TLN SKIPPED.
 13526	047167	605 07 0 06 000000 		TLNA	AC1,(AC)	;SHOULD SKIP.
 13527	047170	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
 13528	047171	312 07 0 00 000004 		CAME	AC1,RAN1	;C(AC) SHOULD=ORIG C(AC)
 13529	047172	003 04 0 06 000000 		ERRI	RAN1,(AC)
 13530						LOOP	TLNA2,TLNA3^
 13531	047173	367 05 0 00 047157 		SOJG	AC-1,TLNA2		;ITERATION COUNTER
 13532	047174	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13533	047175	321 05 0 00 047163 		JUMPL	AC-1,TLNA3		;LOOP ON ERROR SWITCH ^
 13534

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 15
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0352

 13535
 13536
 13537					;TEST TLN, TLNA.  CHECK FOR SKIP/NO SKIP AND
 13538					;NO DATA CHANGE IN AC FOR RAN TO RAN CONDITION
 13539
 13540
 13541			000007			AC=7
 13542	047176				TLNA4:	SETUP	100,0^
 13543			000010			AC1=<AC+1>&17
 13544			000011			AC2=<AC+2>&17
 13545			000012			AC3=<AC+3>&17
 13546			000013			AC4=<AC+4>&17
 13547			000014			AC5=<AC+5>&17
 13548			000005			RAN1=<AC-2>&17
 13549	047176	201 06 0 00 047176 		MOVEI	AC-1,.
 13550	047177	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13551	047200	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13552	047201	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13553	047202	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13554	047203	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13555	047204	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13556	047205				TLNA5:	RANDOM^
 13557	047205	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13558	047206	270 07 0 00 060657 		ADD	AC,[142536475076]
 13559	047207	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13560	047210	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13561	047211	200 10 0 00 000007 	TLNA6:	MOVE	AC1,AC		;MAKE "E"=C(AC)
 13562	047212	601 07 0 10 000000 		TLN	AC,(AC1)	;SHOULD NOT SKIP
 13563	047213	254 00 0 00 047215 		JRST	.+2
 13564	047214	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TLN SKIPPED.
 13565	047215	605 07 0 10 000000 		TLNA	AC,(AC1)	;SHOULD SKIP
 13566	047216	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 13567	047217	312 07 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 13568	047220	003 10 0 10 000000 		ERRI	AC1,(AC1)
 13569						LOOP	TLNA5,TLNA6^
 13570	047221	367 06 0 00 047205 		SOJG	AC-1,TLNA5		;ITERATION COUNTER
 13571	047222	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13572	047223	321 06 0 00 047211 		JUMPL	AC-1,TLNA6		;LOOP ON ERROR SWITCH ^
 13573

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 16
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0353

 13574
 13575
 13576					;TEST TLN, TLNA.  CHECK FOR SKIP/NO SKIP AND
 13577					;NO DATA  CHANGE IN AC FOR RAN1 TO RAN CONDITION.
 13578
 13579
 13580			000010			AC=10
 13581	047224				TLNA7:	SETUP	100,0^
 13582			000011			AC1=<AC+1>&17
 13583			000012			AC2=<AC+2>&17
 13584			000013			AC3=<AC+3>&17
 13585			000014			AC4=<AC+4>&17
 13586			000015			AC5=<AC+5>&17
 13587			000006			RAN1=<AC-2>&17
 13588	047224	201 07 0 00 047224 		MOVEI	AC-1,.
 13589	047225	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13590	047226	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13591	047227	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13592	047230	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13593	047231	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13594	047232	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13595	047233				TLNA8:	RANDOM^
 13596	047233	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13597	047234	270 10 0 00 060657 		ADD	AC,[142536475076]
 13598	047235	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13599	047236	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13600	047237	200 11 0 00 000010 	TLNA9:	MOVE	AC1,AC		;MAKE "E"
 13601	047240	241 11 0 00 000011 		ROT	AC1,11		;A DIFFERENT RANDOM NUM
 13602	047241	601 10 0 11 000000 		TLN	AC,(AC1)	;SHOULD NOT SKIP
 13603	047242	254 00 0 00 047244 		JRST	.+2
 13604	047243	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TLN SKIPPED.
 13605	047244	605 10 0 11 000000 		TLNA	AC,(AC1)	;SHOULD SKIP
 13606	047245	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 13607	047246	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 13608	047247	013 00 0 11 000000 		EERRI	,(AC1)
 13609						LOOP	TLNA8,TLNA9^
 13610	047250	367 07 0 00 047233 		SOJG	AC-1,TLNA8		;ITERATION COUNTER
 13611	047251	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13612	047252	321 07 0 00 047237 		JUMPL	AC-1,TLNA9		;LOOP ON ERROR SWITCH ^
 13613

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 17
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0354

 13614
 13615
 13616					;TEST TLNE, TLNN  CHECK FOR SKIP/NO SKIP AND
 13617					;NO DATA CHANGE IN AC FOR 0 TO RAN CONDITION
 13618
 13619
 13620			000011			AC=11
 13621	047253				TLNE1:	SETUP	100,0^
 13622			000012			AC1=<AC+1>&17
 13623			000013			AC2=<AC+2>&17
 13624			000014			AC3=<AC+3>&17
 13625			000015			AC4=<AC+4>&17
 13626			000016			AC5=<AC+5>&17
 13627			000007			RAN1=<AC-2>&17
 13628	047253	201 10 0 00 047253 		MOVEI	AC-1,.
 13629	047254	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13630	047255	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13631	047256	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13632	047257	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13633	047260	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13634	047261	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13635	047262				TLNE2:	RANDOM^
 13636	047262	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13637	047263	270 11 0 00 060657 		ADD	AC,[142536475076]
 13638	047264	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13639	047265	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13640	047266	607 11 0 00 000000 	TLNE3:	TLNN	AC,0		;E+C(AC)L=0.  NO SKIP
 13641	047267	254 00 0 00 047271 		JRST	.+2
 13642	047270	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TLNN SKIPPED.
 13643	047271	603 11 0 00 000000 		TLNE	AC,0		;E+C(AC)L=0. SKIP
 13644	047272	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 13645	047273	312 11 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 13646	047274	013 00 0 00 000000 		EERRI	,0
 13647						LOOP	TLNE2,TLNE3^
 13648	047275	367 10 0 00 047262 		SOJG	AC-1,TLNE2		;ITERATION COUNTER
 13649	047276	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13650	047277	321 10 0 00 047266 		JUMPL	AC-1,TLNE3		;LOOP ON ERROR SWITCH ^
 13651

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 18
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0355

 13652
 13653
 13654					;TEST TLNE, TLNN.  CHECK FOR SKIP/NO SKIP AND
 13655					;NO DATA CHANGE IN AC FOR RAN TO 0 CONDITION
 13656
 13657
 13658			000004			AC=4
 13659	047300				TLNE4:	SETUP	100,0^
 13660			000005			AC1=<AC+1>&17
 13661			000006			AC2=<AC+2>&17
 13662			000007			AC3=<AC+3>&17
 13663			000010			AC4=<AC+4>&17
 13664			000011			AC5=<AC+5>&17
 13665			000002			RAN1=<AC-2>&17
 13666	047300	201 03 0 00 047300 		MOVEI	AC-1,.
 13667	047301	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13668	047302	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13669	047303	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13670	047304	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13671	047305	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13672	047306	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13673	047307				TLNE5:	RANDOM^
 13674	047307	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13675	047310	270 04 0 00 060657 		ADD	AC,[142536475076]
 13676	047311	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13677	047312	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13678	047313	403 05 0 00 000002 	TLNE6:	SETZB	AC1,RAN1	;CLEAR C(AC)
 13679	047314	607 05 0 04 000000 		TLNN	AC1,(AC)	;E+C(AC)L=0  NO SKIP
 13680	047315	254 00 0 00 047317 		JRST	.+2
 13681	047316	005 05 0 00 060674 		ER	AC1,[ASCII /TST/];TLNN SKIPPED.
 13682	047317	603 05 0 04 000000 		TLNE	AC1,(AC)	;E+C(AC)L=0.  SKIP
 13683	047320	005 05 0 00 060674 		ER	AC1,[ASCII /TST/]
 13684	047321	312 05 0 00 000002 		CAME	AC1,RAN1	;C(AC) SHOULD=ORIG. C(AC)
 13685	047322	003 02 0 04 000000 		ERRI	RAN1,(AC)
 13686						LOOP	TLNE5,TLNE6^
 13687	047323	367 03 0 00 047307 		SOJG	AC-1,TLNE5		;ITERATION COUNTER
 13688	047324	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13689	047325	321 03 0 00 047313 		JUMPL	AC-1,TLNE6		;LOOP ON ERROR SWITCH ^
 13690

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 19
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0356

 13691
 13692
 13693					;TEST TLNE, TLNN, CHECK FOR SKIP/NO SKIP AND
 13694					;NO DATA CHANGE IN AC FOR -1 TO RAN CONDITION
 13695
 13696
 13697			000005			AC=5
 13698	047326				TLNE7:	SETUP	100,0^
 13699			000006			AC1=<AC+1>&17
 13700			000007			AC2=<AC+2>&17
 13701			000010			AC3=<AC+3>&17
 13702			000011			AC4=<AC+4>&17
 13703			000012			AC5=<AC+5>&17
 13704			000003			RAN1=<AC-2>&17
 13705	047326	201 04 0 00 047326 		MOVEI	AC-1,.
 13706	047327	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13707	047330	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13708	047331	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13709	047332	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13710	047333	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13711	047334	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13712	047335				TLNE8:	RANDOM^
 13713	047335	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13714	047336	270 05 0 00 060657 		ADD	AC,[142536475076]
 13715	047337	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13716	047340	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13717	047341	434 05 0 00 046451 	TLNE9:	IOR	AC,TSTLFT	;MAKE C(AC)L HAVE A BIT
 13718	047342	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 13719	047343	603 05 0 00 777777 		TLNE	AC,-1		;E+C(AC)L NOT=0 NO SKIP
 13720	047344	254 00 0 00 047346 		JRST	.+2
 13721	047345	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TLNE SKIPPED.
 13722	047346	607 05 0 00 777777 		TLNN	AC,-1		;E+C(AC)L NOT = 0...SKIP.
 13723	047347	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 13724	047350	312 05 0 00 000003 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13725	047351	003 03 0 00 777777 		ERRI	RAN1,-1
 13726						LOOP	TLNE8,TLNE9^
 13727	047352	367 04 0 00 047335 		SOJG	AC-1,TLNE8		;ITERATION COUNTER
 13728	047353	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13729	047354	321 04 0 00 047341 		JUMPL	AC-1,TLNE9		;LOOP ON ERROR SWITCH ^
 13730

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 20
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0357

 13731
 13732
 13733					;TEST TLNE, TLNN.  CHECK FOR SKIP/NO SKIP AND
 13734					;NO DATA CHANGE IN AC FOR RAN TO -1 CONDITION
 13735
 13736
 13737			000006			AC=6
 13738	047355				TLNN1:	SETUP	100,0^
 13739			000007			AC1=<AC+1>&17
 13740			000010			AC2=<AC+2>&17
 13741			000011			AC3=<AC+3>&17
 13742			000012			AC4=<AC+4>&17
 13743			000013			AC5=<AC+5>&17
 13744			000004			RAN1=<AC-2>&17
 13745	047355	201 05 0 00 047355 		MOVEI	AC-1,.
 13746	047356	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13747	047357	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13748	047360	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13749	047361	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13750	047362	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13751	047363	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13752	047364				TLNN2:	RANDOM^
 13753	047364	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13754	047365	270 06 0 00 060657 		ADD	AC,[142536475076]
 13755	047366	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13756	047367	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13757	047370	435 06 0 00 000002 		IORI	AC,2		;MAKE "E" HAVE A BIT.
 13758	047371	477 07 0 00 000004 	TLNN3:	SETOB	AC1,RAN1	;MAKE C(AC)=-1
 13759	047372	603 07 0 06 000000 		TLNE	AC1,(AC)	;E+C(AC)L NOT=0 NO SKIP.
 13760	047373	254 00 0 00 047375 		JRST	.+2
 13761	047374	005 07 0 00 060674 		ER	AC1,[ASCII /TST/];TLNE SKIPPED.
 13762	047375	607 07 0 06 000000 		TLNN	AC1,(AC)	;E+C(AC)L NOT=0. SKIP
 13763	047376	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
 13764	047377	312 07 0 00 000004 		CAME	AC1,RAN1	;C(AC) SHOULD=ORIG C(AC)
 13765	047400	003 04 0 06 000000 		ERRI	RAN1,(AC)
 13766						LOOP	TLNN2,TLNN3^
 13767	047401	367 05 0 00 047364 		SOJG	AC-1,TLNN2		;ITERATION COUNTER
 13768	047402	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13769	047403	321 05 0 00 047371 		JUMPL	AC-1,TLNN3		;LOOP ON ERROR SWITCH ^
 13770

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 21
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0358

 13771
 13772
 13773					;TEST TLNE, TLNN.  CHECK FOR SKIP/NO SKIP AND
 13774					;NO DATA CHANGE IN AC FOR RAN TO RAN CONDITION
 13775
 13776
 13777			000007			AC=7
 13778	047404				TLNN4:	SETUP	100,0^
 13779			000010			AC1=<AC+1>&17
 13780			000011			AC2=<AC+2>&17
 13781			000012			AC3=<AC+3>&17
 13782			000013			AC4=<AC+4>&17
 13783			000014			AC5=<AC+5>&17
 13784			000005			RAN1=<AC-2>&17
 13785	047404	201 06 0 00 047404 		MOVEI	AC-1,.
 13786	047405	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13787	047406	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13788	047407	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13789	047410	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13790	047411	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13791	047412	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13792	047413				TLNN5:	RANDOM^
 13793	047413	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13794	047414	270 07 0 00 060657 		ADD	AC,[142536475076]
 13795	047415	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13796	047416	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13797	047417	434 07 0 00 046451 	TLNN6:	IOR	AC,TSTLFT	;MAKE C(AC)L HAVE A BIT
 13798	047420	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 13799	047421	204 10 0 00 000007 		MOVS	AC1,AC		;MAKE "E"=C(AC)L.
 13800	047422	603 07 0 10 000000 		TLNE	AC,(AC1)	;E+C(AC)L NOT=0. NO SKIP
 13801	047423	254 00 0 00 047425 		JRST	.+2
 13802	047424	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TLNE SKIPPED.
 13803	047425	607 07 0 10 000000 		TLNN	AC,(AC1)	;E+C(AC)L NOT=0.  SKIP
 13804	047426	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 13805	047427	312 07 0 00 000005 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13806	047430	003 05 0 10 000000 		ERRI	RAN1,(AC1)
 13807						LOOP	TLNN5,TLNN6^
 13808	047431	367 06 0 00 047413 		SOJG	AC-1,TLNN5		;ITERATION COUNTER
 13809	047432	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13810	047433	321 06 0 00 047417 		JUMPL	AC-1,TLNN6		;LOOP ON ERROR SWITCH ^
 13811

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 22
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0359

 13812
 13813
 13814					;TEST TLNE, TLNN.  CHECK FOR SKIP/NO SKIP AND
 13815					;NO DATA CHANGE IN AC FOR RAN1 TO RAN CONDITION
 13816
 13817
 13818			000010			AC=10
 13819	047434				TLNN7:	SETUP	100,0^
 13820			000011			AC1=<AC+1>&17
 13821			000012			AC2=<AC+2>&17
 13822			000013			AC3=<AC+3>&17
 13823			000014			AC4=<AC+4>&17
 13824			000015			AC5=<AC+5>&17
 13825			000006			RAN1=<AC-2>&17
 13826	047434	201 07 0 00 047434 		MOVEI	AC-1,.
 13827	047435	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13828	047436	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13829	047437	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13830	047440	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13831	047441	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13832	047442	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13833	047443				TLNN8:	RANDOM^
 13834	047443	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13835	047444	270 10 0 00 060657 		ADD	AC,[142536475076]
 13836	047445	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13837	047446	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13838	047447	434 10 0 00 060715 	TLNN9:	IOR	AC,[XWD 100,100];MAKE C(AC) + E HAVE A BIT.
 13839	047450	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 13840	047451	200 11 0 00 000010 		MOVE	AC1,AC		;MAKE E A DIFF. RAN. NUM.
 13841	047452	603 10 0 11 000000 		TLNE	AC,(AC1)	;E+C (AC)L NOT=0. NO SKIP,
 13842	047453	254 00 0 00 047455 		JRST	.+2
 13843	047454	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TLNE SKIPPED.
 13844	047455	607 10 0 11 000000 		TLNN	AC,(AC1)	;E+C(AC)L NOT=0. SKIP
 13845	047456	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 13846	047457	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 13847	047460	003 06 0 11 000000 		ERRI	RAN1,(AC1)
 13848						LOOP	TLNN8,TLNN9^
 13849	047461	367 07 0 00 047443 		SOJG	AC-1,TLNN8		;ITERATION COUNTER
 13850	047462	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13851	047463	321 07 0 00 047447 		JUMPL	AC-1,TLNN9		;LOOP ON ERROR SWITCH ^
 13852

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 23
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0360

 13853
 13854
 13855					;TEST TLZ, TLZA.  CHECK FOR SKIP/NO SKIP AND
 13856					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 13857
 13858
 13859			000010			AC=10
 13860	047464				TLZ1:	SETUP	100,0^
 13861			000011			AC1=<AC+1>&17
 13862			000012			AC2=<AC+2>&17
 13863			000013			AC3=<AC+3>&17
 13864			000014			AC4=<AC+4>&17
 13865			000015			AC5=<AC+5>&17
 13866			000006			RAN1=<AC-2>&17
 13867	047464	201 07 0 00 047464 		MOVEI	AC-1,.
 13868	047465	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13869	047466	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13870	047467	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13871	047470	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13872	047471	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13873	047472	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13874	047473				TLZ2:	RANDOM^
 13875	047473	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13876	047474	270 10 0 00 060657 		ADD	AC,[142536475076]
 13877	047475	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13878	047476	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13879	047477	621 10 0 00 000000 	TLZ3:	TLZ	AC,0		;SHOULD NOT SKIP
 13880	047500	254 00 0 00 047502 		JRST	.+2
 13881	047501	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TLZ SKIPPED.
 13882	047502	625 10 0 00 000000 		TLZA	AC,0		;SHOULD SKIP
 13883	047503	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 13884	047504	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD STILL=RAN NUM
 13885	047505	013 00 0 00 000000 		EERRI	,0
 13886						LOOP	TLZ2,TLZ3^
 13887	047506	367 07 0 00 047473 		SOJG	AC-1,TLZ2		;ITERATION COUNTER
 13888	047507	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13889	047510	321 07 0 00 047477 		JUMPL	AC-1,TLZ3		;LOOP ON ERROR SWITCH ^
 13890

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 24
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0361

 13891
 13892
 13893					;TEST TLZ, TLZA.  CHECK FOR SKIP/NO SKIP AND
 13894					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
 13895
 13896
 13897			000003			AC=3
 13898	047511				TLZ4:	SETUP	100,0^
 13899			000004			AC1=<AC+1>&17
 13900			000005			AC2=<AC+2>&17
 13901			000006			AC3=<AC+3>&17
 13902			000007			AC4=<AC+4>&17
 13903			000010			AC5=<AC+5>&17
 13904			000001			RAN1=<AC-2>&17
 13905	047511	201 02 0 00 047511 		MOVEI	AC-1,.
 13906	047512	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13907	047513	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13908	047514	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13909	047515	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13910	047516	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13911	047517	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13912	047520				TLZ5:	RANDOM^
 13913	047520	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13914	047521	270 03 0 00 060657 		ADD	AC,[142536475076]
 13915	047522	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13916	047523	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13917	047524	403 04 0 00 000001 	TLZ6:	SETZB	AC1,RAN1	;CLEAR C(AC).
 13918	047525	621 04 0 03 000000 		TLZ	AC1,(AC)	;SHOULD NOT SKIP
 13919	047526	254 00 0 00 047530 		JRST	.+2
 13920	047527	005 04 0 00 060674 		ER	AC1,[ASCII /TST/];TLZ SKIPPED.
 13921	047530	625 04 0 03 000000 		TLZA	AC1,(AC)	;SHOULD SKIP
 13922	047531	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 13923	047532	312 04 0 00 000001 		CAME	AC1,RAN1	;C(AC) SHOULD STILL=0
 13924	047533	003 01 0 03 000000 		ERRI	RAN1,(AC)
 13925						LOOP	TLZ5,TLZ6^
 13926	047534	367 02 0 00 047520 		SOJG	AC-1,TLZ5		;ITERATION COUNTER
 13927	047535	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13928	047536	321 02 0 00 047524 		JUMPL	AC-1,TLZ6		;LOOP ON ERROR SWITCH ^
 13929

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 25
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0362

 13930
 13931
 13932					;TEST TLZ, TLZA CHECK FOR SKIP/NO SKIP AND
 13933					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 13934
 13935
 13936			000003			AC=3
 13937	047537				TLZ7:	SETUP	100,0^
 13938			000004			AC1=<AC+1>&17
 13939			000005			AC2=<AC+2>&17
 13940			000006			AC3=<AC+3>&17
 13941			000007			AC4=<AC+4>&17
 13942			000010			AC5=<AC+5>&17
 13943			000001			RAN1=<AC-2>&17
 13944	047537	201 02 0 00 047537 		MOVEI	AC-1,.
 13945	047540	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13946	047541	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13947	047542	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13948	047543	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13949	047544	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13950	047545	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13951	047546				TLZ8:	RANDOM^
 13952	047546	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13953	047547	270 03 0 00 060657 		ADD	AC,[142536475076]
 13954	047550	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13955	047551	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13956	047552	200 04 0 00 000003 	TLZ9:	MOVE	AC1,AC		;SIMULATE
 13957	047553	405 04 0 00 777777 		ANDI	AC1,-1		;A TLZ AC,-1.
 13958	047554	621 03 0 00 777777 		TLZ	AC,-1		;SHOULD NOT SKIP
 13959	047555	254 00 0 00 047557 		JRST	.+2
 13960	047556	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TLZ SKIPPED.
 13961	047557	625 03 0 00 777777 		TLZA	AC,-1		;SHOULD SKIP
 13962	047560	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 13963	047561	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD = SIM. ANS.
 13964	047562	013 00 0 00 777777 		EERRI	,-1
 13965						LOOP	TLZ8,TLZ9^
 13966	047563	367 02 0 00 047546 		SOJG	AC-1,TLZ8		;ITERATION COUNTER
 13967	047564	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 13968	047565	321 02 0 00 047552 		JUMPL	AC-1,TLZ9		;LOOP ON ERROR SWITCH ^
 13969

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 26
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0363

 13970
 13971
 13972					;TEST TLZ, TLZA.  CHECK FOR SKIP/NO SKIP AND
 13973					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION
 13974
 13975
 13976			000002			AC=2
 13977	047566				TLZA1:	SETUP	100,0^
 13978			000003			AC1=<AC+1>&17
 13979			000004			AC2=<AC+2>&17
 13980			000005			AC3=<AC+3>&17
 13981			000006			AC4=<AC+4>&17
 13982			000007			AC5=<AC+5>&17
 13983			000000			RAN1=<AC-2>&17
 13984	047566	201 01 0 00 047566 		MOVEI	AC-1,.
 13985	047567	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 13986	047570	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 13987	047571	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 13988	047572	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 13989	047573	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 13990	047574	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 13991	047575				TLZA2:	RANDOM^
 13992	047575	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 13993	047576	270 02 0 00 060657 		ADD	AC,[142536475076]
 13994	047577	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 13995	047600	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 13996	047601	477 03 0 00 000000 	TLZA3:	SETOB	AC1,RAN1	;MAKE C(AC)=-1
 13997	047602	205 04 0 02 000000 		MOVSI	AC2,(AC)	;SIMULATE A
 13998	047603	450 04 0 00 000000 		SETCA	AC2,		;TLZ
 13999	047604	621 03 0 02 000000 		TLZ	AC1,(AC)	;SHOULD NOT SKIP
 14000	047605	254 00 0 00 047607 		JRST	.+2
 14001	047606	005 03 0 00 060674 		ER	AC1,[ASCII /TST/]
 14002					;CORRECT DATA IN AC FOR NOT RAN1 TO RAN CONDITION.
 14003
 14004
 14005			000004			AC=4
 14006	047607				TLZA7:	SETUP	100,0^
 14007			000005			AC1=<AC+1>&17
 14008			000006			AC2=<AC+2>&17
 14009			000007			AC3=<AC+3>&17
 14010			000010			AC4=<AC+4>&17
 14011			000011			AC5=<AC+5>&17
 14012			000002			RAN1=<AC-2>&17
 14013	047607	201 03 0 00 047607 		MOVEI	AC-1,.
 14014	047610	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14015	047611	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14016	047612	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14017	047613	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14018	047614	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14019	047615	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14020	047616				TLZA8:	RANDOM^
 14021	047616	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14022	047617	270 04 0 00 060657 		ADD	AC,[142536475076]
 14023	047620	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 26-1
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0364

 14024	047621	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14025	047622	200 05 0 00 000004 	TLZA9:	MOVE	AC1,AC		;MAKE "E"
 14026	047623	241 05 0 00 000011 		ROT	AC1,11		;=A DIFFEREND VAND NUM
 14027	047624	205 06 0 05 000000 		MOVSI	AC2,(AC1)	;SIMULATE
 14028	047625	410 06 0 00 000004 		ANDCA	AC2,AC		;A TLZ
 14029	047626	621 04 0 05 000000 		TLZ	AC,(AC1)	;SHOULD NOT SKIP,
 14030	047627	254 00 0 00 047631 		JRST	.+2
 14031	047630	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TLZ SKIPPED.
 14032	047631	625 04 0 05 000000 		TLZA	AC,(AC1)	;SHOULD SKIP.
 14033	047632	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
 14034	047633	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 14035	047634	013 00 0 05 000000 		EERRI	,(AC1)
 14036						LOOP	TLZA8,TLZA9^
 14037	047635	367 03 0 00 047616 		SOJG	AC-1,TLZA8		;ITERATION COUNTER
 14038	047636	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14039	047637	321 03 0 00 047622 		JUMPL	AC-1,TLZA9		;LOOP ON ERROR SWITCH ^
 14040

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 27
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0365

 14041
 14042
 14043					;TEST TLZE, TLZN.  CHECK FOR SKIP/NO SKIP AND
 14044					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 14045
 14046
 14047			000005			AC=5
 14048	047640				TLZE1:	SETUP	100,0^
 14049			000006			AC1=<AC+1>&17
 14050			000007			AC2=<AC+2>&17
 14051			000010			AC3=<AC+3>&17
 14052			000011			AC4=<AC+4>&17
 14053			000012			AC5=<AC+5>&17
 14054			000003			RAN1=<AC-2>&17
 14055	047640	201 04 0 00 047640 		MOVEI	AC-1,.
 14056	047641	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14057	047642	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14058	047643	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14059	047644	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14060	047645	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14061	047646	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14062	047647				TLZE2:	RANDOM^
 14063	047647	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14064	047650	270 05 0 00 060657 		ADD	AC,[142536475076]
 14065	047651	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14066	047652	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14067	047653	627 05 0 00 000000 	TLZE3:	TLZN	AC,0		;E+C(AC)L=0.  NO SKIP
 14068	047654	254 00 0 00 047656 		JRST	.+2
 14069	047655	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TLZN SKIPPED.
 14070	047656	623 05 0 00 000000 		TLZE	AC,0		;E+C(AC)L=0. SKIP
 14071	047657	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 14072	047660	312 05 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG. C(AC).
 14073	047661	013 00 0 00 000000 		EERRI	,0
 14074						LOOP	TLZE2,TLZE3^
 14075	047662	367 04 0 00 047647 		SOJG	AC-1,TLZE2		;ITERATION COUNTER
 14076	047663	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14077	047664	321 04 0 00 047653 		JUMPL	AC-1,TLZE3		;LOOP ON ERROR SWITCH ^
 14078

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 28
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0366

 14079
 14080
 14081					;TEST TLZE, TLZN.  CHECK FOR SKIP/NO SKIP AND
 14082					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
 14083
 14084
 14085			000006			AC=6
 14086	047665				TLZE4:	SETUP	100,0^
 14087			000007			AC1=<AC+1>&17
 14088			000010			AC2=<AC+2>&17
 14089			000011			AC3=<AC+3>&17
 14090			000012			AC4=<AC+4>&17
 14091			000013			AC5=<AC+5>&17
 14092			000004			RAN1=<AC-2>&17
 14093	047665	201 05 0 00 047665 		MOVEI	AC-1,.
 14094	047666	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14095	047667	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14096	047670	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14097	047671	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14098	047672	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14099	047673	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14100	047674				TLZE5:	RANDOM^
 14101	047674	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14102	047675	270 06 0 00 060657 		ADD	AC,[142536475076]
 14103	047676	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14104	047677	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14105	047700	403 07 0 00 000004 	TLZE6:	SETZB	AC1,RAN1	;CLEAR C(AC)
 14106	047701	627 07 0 06 000000 		TLZN	AC1,(AC)	;E+C(AC)L=0. NO SKIP
 14107	047702	254 00 0 00 047704 		JRST	.+2
 14108	047703	005 07 0 00 060674 		ER	AC1,[ASCII /TST/];TLZN SKIPPED.
 14109	047704	623 07 0 06 000000 		TLZE	AC1,(AC)	;E+C(AC)L=0. SKIP
 14110	047705	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
 14111	047706	312 07 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=ORIG. C(AC)
 14112	047707	003 04 0 06 000000 		ERRI	RAN1,(AC)
 14113						LOOP	TLZE5,TLZE6^
 14114	047710	367 05 0 00 047674 		SOJG	AC-1,TLZE5		;ITERATION COUNTER
 14115	047711	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14116	047712	321 05 0 00 047700 		JUMPL	AC-1,TLZE6		;LOOP ON ERROR SWITCH ^
 14117

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 29
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0367

 14118
 14119
 14120					;TEST TLZE, TLZN.  CHECK FOR SKIP/NO SKIP AND
 14121					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION.
 14122
 14123
 14124			000007			AC=7
 14125	047713				TLZE7:	SETUP	100,0^
 14126			000010			AC1=<AC+1>&17
 14127			000011			AC2=<AC+2>&17
 14128			000012			AC3=<AC+3>&17
 14129			000013			AC4=<AC+4>&17
 14130			000014			AC5=<AC+5>&17
 14131			000005			RAN1=<AC-2>&17
 14132	047713	201 06 0 00 047713 		MOVEI	AC-1,.
 14133	047714	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14134	047715	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14135	047716	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14136	047717	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14137	047720	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14138	047721	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14139	047722				TLZE8:	RANDOM^
 14140	047722	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14141	047723	270 07 0 00 060657 		ADD	AC,[142536475076]
 14142	047724	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14143	047725	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14144	047726	434 07 0 00 046452 	TLZE9:	IOR	AC,TLFT1	;SET A BIT IN LEFT SIDE OF AC.
 14145	047727	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 14146	047730	200 11 0 00 000007 		MOVE	AC2,AC		;SIMULATE
 14147	047731	405 11 0 00 777777 		ANDI	AC2,-1		;A TLZ AC,-1
 14148	047732	623 07 0 00 777777 		TLZE	AC,-1		;E+C(AC)L NOT = 0..NO SKIP.
 14149	047733	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 14150	047734	003 05 0 00 777777 		ERRI	RAN1,-1
 14151	047735	200 07 0 00 000005 		MOVE	AC,RAN1		;RESTORE AC.
 14152	047736	627 07 0 00 777777 		TLZN	AC,-1		;E+C(AC)L NOT = 0...SKIP.
 14153	047737	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 14154	047740	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 14155	047741	003 05 0 00 777777 		ERRI	RAN1,-1
 14156						LOOP	TLZE8,TLZE9^
 14157	047742	367 06 0 00 047722 		SOJG	AC-1,TLZE8		;ITERATION COUNTER
 14158	047743	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14159	047744	321 06 0 00 047726 		JUMPL	AC-1,TLZE9		;LOOP ON ERROR SWITCH ^
 14160

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 30
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0368

 14161
 14162
 14163					;TEST TLZE, TLZN.  CHECK FOR SKIP/NO SKIP AND
 14164					;CORRECT DATA IN AC FOR RAN TO-1 CONDITION
 14165
 14166
 14167			000010			AC=10
 14168	047745				TLZN1:	SETUP	100,0^
 14169			000011			AC1=<AC+1>&17
 14170			000012			AC2=<AC+2>&17
 14171			000013			AC3=<AC+3>&17
 14172			000014			AC4=<AC+4>&17
 14173			000015			AC5=<AC+5>&17
 14174			000006			RAN1=<AC-2>&17
 14175	047745	201 07 0 00 047745 		MOVEI	AC-1,.
 14176	047746	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14177	047747	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14178	047750	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14179	047751	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14180	047752	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14181	047753	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14182	047754				TLZN2:	RANDOM^
 14183	047754	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14184	047755	270 10 0 00 060657 		ADD	AC,[142536475076]
 14185	047756	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14186	047757	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14187	047760	435 10 0 00 000400 	TLZN3:	IORI	AC,400		;SET A BIT IN E.
 14188	047761	477 11 0 00 000006 		SETOB	AC1,RAN1	;MAKE C(AC) =-1
 14189	047762	205 12 0 10 000000 		MOVSI	AC2,(AC)	;SIMULATE
 14190	047763	450 12 0 00 000000 		SETCA	AC2,		;A TLZ
 14191	047764	623 11 0 10 000000 		TLZE	AC1,(AC)	;E+C(AC) L NOT=0  NO SKIP
 14192	047765	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC) SHOULD=SIM. ANS
 14193	047766	003 06 0 10 000000 		ERRI	RAN1,(AC)
 14194	047767	474 11 0 00 000000 		SETO	AC1,		;RESTORE AC TO A-1
 14195	047770	627 11 0 10 000000 		TLZN	AC1,(AC)
 14196	047771	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
 14197	047772	312 11 0 00 000012 		CAME	AC1,AC2		;C(AC) SHOULD=SIM. ANS
 14198	047773	003 06 0 10 000000 		ERRI	RAN1,(AC)
 14199						LOOP	TLZN2,TLZN3^
 14200	047774	367 07 0 00 047754 		SOJG	AC-1,TLZN2		;ITERATION COUNTER
 14201	047775	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14202	047776	321 07 0 00 047760 		JUMPL	AC-1,TLZN3		;LOOP ON ERROR SWITCH ^
 14203

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 31
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0369

 14204
 14205
 14206					;TEST TLZE, TLZN CHECK FOR SKIP/NO SKIP AND
 14207					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION.
 14208
 14209
 14210			000011			AC=11
 14211	047777				TLZN4:	SETUP	100,0^
 14212			000012			AC1=<AC+1>&17
 14213			000013			AC2=<AC+2>&17
 14214			000014			AC3=<AC+3>&17
 14215			000015			AC4=<AC+4>&17
 14216			000016			AC5=<AC+5>&17
 14217			000007			RAN1=<AC-2>&17
 14218	047777	201 10 0 00 047777 		MOVEI	AC-1,.
 14219	050000	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14220	050001	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14221	050002	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14222	050003	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14223	050004	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14224	050005	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14225	050006				TLZN5:	RANDOM^
 14226	050006	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14227	050007	270 11 0 00 060657 		ADD	AC,[142536475076]
 14228	050010	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14229	050011	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14230	050012	434 11 0 00 046453 	TLZN6:	IOR	AC,TLFT2	;SET A BIT IN LEFT SIDE OF AC.
 14231	050013	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 14232	050014	204 12 0 00 000011 		MOVS	AC1,AC		;MAKE E = C(AC)L.
 14233	050015	200 13 0 00 000011 		MOVE	AC2,AC		;SIMULATE
 14234	050016	405 13 0 00 777777 		ANDI	AC2,-1		;A TLZ
 14235	050017	623 11 0 12 000000 		TLZE	AC,(AC1)	;E+C(AC)L NOT=0.  NO SKIP.
 14236	050020	312 11 0 00 000013 		CAME	AC,AC2		;C(AC) SHOULD=SIM.  ANS
 14237	050021	003 07 0 12 000000 		ERRI	RAN1,(AC1)
 14238	050022	204 11 0 00 000012 		MOVS	AC,AC1		;RESTORE AC.
 14239	050023	627 11 0 12 000000 		TLZN	AC,(AC1)	;E+C(AC)L NOT=0  SKIP.
 14240	050024	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 14241	050025	312 11 0 00 000013 		CAME	AC,AC2		;C(AC) SHOULD=SIM.  ANS
 14242	050026	003 07 0 12 000000 		ERRI	RAN1,(AC1)
 14243						LOOP	TLZN5,TLZN6^
 14244	050027	367 10 0 00 050006 		SOJG	AC-1,TLZN5		;ITERATION COUNTER
 14245	050030	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14246	050031	321 10 0 00 050012 		JUMPL	AC-1,TLZN6		;LOOP ON ERROR SWITCH ^
 14247

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 32
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0370

 14248
 14249
 14250					;TEST TLZE, TLZN.  CHECK FOR SKIP/NO SKIP AND
 14251					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION.
 14252
 14253
 14254			000004			AC=4
 14255	050032				TLZN7:	SETUP	100,1^
 14256			000005			AC1=<AC+1>&17
 14257			000006			AC2=<AC+2>&17
 14258			000007			AC3=<AC+3>&17
 14259			000010			AC4=<AC+4>&17
 14260			000011			AC5=<AC+5>&17
 14261			000002			RAN1=<AC-2>&17
 14262	050032	201 03 0 00 050032 		MOVEI	AC-1,.
 14263	050033	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14264	050034	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14265	050035	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14266	050036	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14267	050037	240 03 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 14268	050040	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14269	050041				TLZN8:	RANDOM^
 14270	050041	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14271	050042	270 04 0 00 060657 		ADD	AC,[142536475076]
 14272	050043	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14273	050044	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14274	050045	434 04 0 00 060716 	TLZN9:	IOR	AC,[XWD 10000,10000];SET A BIT IN C(AC) + E.
 14275	050046	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 14276	050047	200 05 0 00 000004 		MOVE	AC1,AC		;MAKE E = A DIFF. RAN NUM.
 14277	050050	205 06 0 05 000000 		MOVSI	AC2,(AC1)	;SIMULATE
 14278	050051	410 06 0 00 000004 		ANDCA	AC2,AC		;A TLZ.
 14279	050052	623 04 0 05 000000 		TLZE	AC,(AC1)	;E+C(AC)L NOT = 0...NO SKIP.
 14280	050053	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 14281	050054	003 02 0 05 000000 		ERRI	RAN1,(AC1)
 14282	050055	200 04 0 00 000002 		MOVE	AC,RAN1		;RESTORE AC.
 14283	050056	627 04 0 05 000000 		TLZN	AC,(AC1)	;E+C(AC)L NOT=0. SKIP.
 14284	050057	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
 14285	050060	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 14286	050061	003 02 0 05 000000 		ERRI	RAN1,(AC1)
 14287						LOOP	TLZN8,TLZN9^
 14288	050062	367 03 0 00 050041 		SOJG	AC-1,TLZN8		;ITERATION COUNTER
 14289	050063	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14290	050064	321 03 0 00 050045 		JUMPL	AC-1,TLZN9		;LOOP ON ERROR SWITCH ^
 14291

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 33
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0371

 14292
 14293
 14294					;TEST TLO, TLOA  CHECK FOR SKIP/NO SKIP AND
 14295					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION.
 14296
 14297
 14298			000005			AC=5
 14299	050065				TLO1:	SETUP	100,0^
 14300			000006			AC1=<AC+1>&17
 14301			000007			AC2=<AC+2>&17
 14302			000010			AC3=<AC+3>&17
 14303			000011			AC4=<AC+4>&17
 14304			000012			AC5=<AC+5>&17
 14305			000003			RAN1=<AC-2>&17
 14306	050065	201 04 0 00 050065 		MOVEI	AC-1,.
 14307	050066	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14308	050067	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14309	050070	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14310	050071	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14311	050072	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14312	050073	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14313	050074				TLO2:	RANDOM^
 14314	050074	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14315	050075	270 05 0 00 060657 		ADD	AC,[142536475076]
 14316	050076	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14317	050077	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14318	050100	661 05 0 00 000000 	TLO3:	TLO	AC,0		;SHOULD NOT SKIP.
 14319	050101	254 00 0 00 050103 		JRST	.+2
 14320	050102	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TLO SKIPPED.
 14321	050103	665 05 0 00 000000 		TLOA	AC,0		;SHOULD SKIP
 14322	050104	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 14323	050105	312 05 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 14324	050106	013 00 0 00 000000 		EERRI
 14325						LOOP	TLO2,TLO3^
 14326	050107	367 04 0 00 050074 		SOJG	AC-1,TLO2		;ITERATION COUNTER
 14327	050110	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14328	050111	321 04 0 00 050100 		JUMPL	AC-1,TLO3		;LOOP ON ERROR SWITCH ^
 14329

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 34
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0372

 14330
 14331
 14332					;TEST TLO, TLOA.  CHECK FOR SKIP/NO SKIP AND
 14333					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION
 14334
 14335
 14336			000006			AC=6
 14337	050112				TLO4:	SETUP	100,0^
 14338			000007			AC1=<AC+1>&17
 14339			000010			AC2=<AC+2>&17
 14340			000011			AC3=<AC+3>&17
 14341			000012			AC4=<AC+4>&17
 14342			000013			AC5=<AC+5>&17
 14343			000004			RAN1=<AC-2>&17
 14344	050112	201 05 0 00 050112 		MOVEI	AC-1,.
 14345	050113	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14346	050114	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14347	050115	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14348	050116	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14349	050117	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14350	050120	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14351	050121				TLO5:	RANDOM^
 14352	050121	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14353	050122	270 06 0 00 060657 		ADD	AC,[142536475076]
 14354	050123	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14355	050124	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14356	050125	403 07 0 00 000004 	TLO6:	SETZB	AC1,RAN1	;CLEAR C(AC).
 14357	050126	205 10 0 06 000000 		MOVSI	AC2,(AC)	;SIMULATE TLO.
 14358	050127	661 07 0 06 000000 		TLO	AC1,(AC)	;SHOULD NOT SKIP
 14359	050130	254 00 0 00 050132 		JRST	.+2
 14360	050131	005 07 0 00 060674 		ER	AC1,[ASCII /TST/];TLO SKIPPED.
 14361	050132	665 07 0 06 000000 		TLOA	AC1,(AC)	;SHOULD SKIP
 14362	050133	005 07 0 00 060674 		ER	AC1,[ASCII /TST/]
 14363	050134	312 07 0 00 000010 		CAME	AC1,AC2		;C(AC) SHOULD=SIM. ANS
 14364	050135	003 04 0 06 000000 		ERRI	RAN1,(AC)
 14365						LOOP	TLO5,TLO6^
 14366	050136	367 05 0 00 050121 		SOJG	AC-1,TLO5		;ITERATION COUNTER
 14367	050137	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14368	050140	321 05 0 00 050125 		JUMPL	AC-1,TLO6		;LOOP ON ERROR SWITCH ^
 14369

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 35
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0373

 14370
 14371
 14372					;TEST TLO, TLOA  CHECK FOR SKIP/NO SKIP AND
 14373					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 14374
 14375
 14376			000007			AC=7
 14377	050141				TLO7:	SETUP	100,0^
 14378			000010			AC1=<AC+1>&17
 14379			000011			AC2=<AC+2>&17
 14380			000012			AC3=<AC+3>&17
 14381			000013			AC4=<AC+4>&17
 14382			000014			AC5=<AC+5>&17
 14383			000005			RAN1=<AC-2>&17
 14384	050141	201 06 0 00 050141 		MOVEI	AC-1,.
 14385	050142	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14386	050143	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14387	050144	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14388	050145	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14389	050146	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14390	050147	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14391	050150				TLO8:	RANDOM^
 14392	050150	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14393	050151	270 07 0 00 060657 		ADD	AC,[142536475076]
 14394	050152	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14395	050153	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14396	050154	200 10 0 00 000007 	TLO9:	MOVE	AC1,AC		;SIMULATE
 14397	050155	434 10 0 00 060672 		IOR	AC1,[XWD -1,0]	;A TLO AC,-1.
 14398	050156	661 07 0 00 777777 		TLO	AC,-1		;SHOULD NOT SKIP
 14399	050157	254 00 0 00 050161 		JRST	.+2
 14400	050160	005 07 0 00 060674 		ER	AC,[ASCII /TST/];TLO SKIPPED.
 14401	050161	665 07 0 00 777777 		TLOA	AC,-1		;SHOULD SKIP
 14402	050162	005 07 0 00 060674 		ER	AC,[ASCII /TST/]
 14403	050163	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 14404	050164	013 00 0 00 777777 		EERRI	,-1
 14405						LOOP	TLO8,TLO9^
 14406	050165	367 06 0 00 050150 		SOJG	AC-1,TLO8		;ITERATION COUNTER
 14407	050166	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14408	050167	321 06 0 00 050154 		JUMPL	AC-1,TLO9		;LOOP ON ERROR SWITCH ^
 14409

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 36
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0374

 14410
 14411
 14412					;TEST TLO, TLOA.  CHECK FOR SKIP/NO SKIP AND
 14413					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
 14414
 14415
 14416			000010			AC=10
 14417	050170				TLOA1:	SETUP	100,0^
 14418			000011			AC1=<AC+1>&17
 14419			000012			AC2=<AC+2>&17
 14420			000013			AC3=<AC+3>&17
 14421			000014			AC4=<AC+4>&17
 14422			000015			AC5=<AC+5>&17
 14423			000006			RAN1=<AC-2>&17
 14424	050170	201 07 0 00 050170 		MOVEI	AC-1,.
 14425	050171	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14426	050172	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14427	050173	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14428	050174	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14429	050175	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14430	050176	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14431	050177				TLOA2:	RANDOM^
 14432	050177	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14433	050200	270 10 0 00 060657 		ADD	AC,[142536475076]
 14434	050201	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14435	050202	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14436	050203	477 11 0 00 000006 	TLOA3:	SETOB	AC1,RAN1	;MAKE C(AC)=-1.
 14437	050204	661 11 0 10 000000 		TLO	AC1,(AC)	;SHOULD NOT SKIP
 14438	050205	254 00 0 00 050207 		JRST	.+2
 14439	050206	005 11 0 00 060674 		ER	AC1,[ASCII /TST/];TLO SKIPPED.
 14440	050207	665 11 0 10 000000 		TLOA	AC1,(AC)	;SHOULD SKIP.
 14441	050210	005 11 0 00 060674 		ER	AC1,[ASCII /TST/]
 14442	050211	312 11 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD STILL=-1
 14443	050212	003 06 0 10 000000 		ERRI	RAN1,(AC)
 14444						LOOP	 TLOA2,TLOA3^
 14445	050213	367 07 0 00 050177 		SOJG	AC-1,TLOA2		;ITERATION COUNTER
 14446	050214	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14447	050215	321 07 0 00 050203 		JUMPL	AC-1,TLOA3		;LOOP ON ERROR SWITCH ^
 14448

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 37
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0375

 14449
 14450
 14451					;TEST TLO, TLOA.  CHECK FOR SKIP/NO SKIP AND
 14452					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION.
 14453
 14454
 14455			000002			AC=2
 14456	050216				TLOA4:	SETUP	100,0^
 14457			000003			AC1=<AC+1>&17
 14458			000004			AC2=<AC+2>&17
 14459			000005			AC3=<AC+3>&17
 14460			000006			AC4=<AC+4>&17
 14461			000007			AC5=<AC+5>&17
 14462			000000			RAN1=<AC-2>&17
 14463	050216	201 01 0 00 050216 		MOVEI	AC-1,.
 14464	050217	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14465	050220	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14466	050221	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14467	050222	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14468	050223	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14469	050224	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14470	050225				TLOA5:	RANDOM^
 14471	050225	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14472	050226	270 02 0 00 060657 		ADD	AC,[142536475076]
 14473	050227	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14474	050230	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14475	050231	204 03 0 00 000002 	TLOA6:	MOVS	AC1,AC		;MAKE "E"=C(AC)L.
 14476	050232	661 02 0 03 000000 		TLO	AC,(AC1)	;SHOULD NOT SKIP
 14477	050233	254 00 0 00 050235 		JRST	.+2
 14478	050234	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TLO SKIPPED.
 14479	050235	665 02 0 03 000000 		TLOA	AC,(AC1)	;SHOULD SKIP
 14480	050236	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 14481	050237	312 02 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG. C(AC)
 14482	050240	013 00 0 03 000000 		EERRI	,(AC1)
 14483						LOOP	TLOA5,TLOA6^
 14484	050241	367 01 0 00 050225 		SOJG	AC-1,TLOA5		;ITERATION COUNTER
 14485	050242	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14486	050243	321 01 0 00 050231 		JUMPL	AC-1,TLOA6		;LOOP ON ERROR SWITCH ^
 14487

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 38
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0376

 14488
 14489
 14490					;TEST TLO, TLOA.  CHECK FOR SKIPNO SKIP AND
 14491					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION
 14492
 14493
 14494			000002			AC=2
 14495	050244				TLOA7:	SETUP	100,0^
 14496			000003			AC1=<AC+1>&17
 14497			000004			AC2=<AC+2>&17
 14498			000005			AC3=<AC+3>&17
 14499			000006			AC4=<AC+4>&17
 14500			000007			AC5=<AC+5>&17
 14501			000000			RAN1=<AC-2>&17
 14502	050244	201 01 0 00 050244 		MOVEI	AC-1,.
 14503	050245	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14504	050246	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14505	050247	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14506	050250	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14507	050251	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14508	050252	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14509	050253				TLOA8:	RANDOM^
 14510	050253	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14511	050254	270 02 0 00 060657 		ADD	AC,[142536475076]
 14512	050255	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14513	050256	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14514	050257	200 03 0 00 000002 	TLOA9:	MOVE	AC1,AC		;MAKE "E"
 14515	050260	241 03 0 00 000011 		ROT	AC1,11		;=A DIFFERENT RAN  NUM
 14516	050261	205 04 0 03 000000 		MOVSI	AC2,(AC1)	;SIMULATE
 14517	050262	434 04 0 00 000002 		IOR	AC2,AC		;A TLO
 14518	050263	661 02 0 03 000000 		TLO	AC,(AC1)	;SHOULD NOT SKIP
 14519	050264	254 00 0 00 050266 		JRST	.+2
 14520	050265	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TLO SKIPPED.
 14521	050266	665 02 0 03 000000 		TLOA	AC,(AC1)	;SHOULD SKIP
 14522	050267	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 14523	050270	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 14524	050271	013 00 0 03 000000 		EERRI	,(AC1)
 14525						LOOP	TLOA8,TLOA9^
 14526	050272	367 01 0 00 050253 		SOJG	AC-1,TLOA8		;ITERATION COUNTER
 14527	050273	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14528	050274	321 01 0 00 050257 		JUMPL	AC-1,TLOA9		;LOOP ON ERROR SWITCH ^
 14529

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 39
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0377

 14530
 14531
 14532					;TEST TLOE, TLON.  CHECK FOR SKIP/NO SKIP AND
 14533					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION.
 14534
 14535
 14536			000002			AC=2
 14537	050275				TLOE1:	SETUP	100,0^
 14538			000003			AC1=<AC+1>&17
 14539			000004			AC2=<AC+2>&17
 14540			000005			AC3=<AC+3>&17
 14541			000006			AC4=<AC+4>&17
 14542			000007			AC5=<AC+5>&17
 14543			000000			RAN1=<AC-2>&17
 14544	050275	201 01 0 00 050275 		MOVEI	AC-1,.
 14545	050276	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14546	050277	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14547	050300	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14548	050301	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14549	050302	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14550	050303	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14551	050304				TLOE2:	RANDOM^
 14552	050304	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14553	050305	270 02 0 00 060657 		ADD	AC,[142536475076]
 14554	050306	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14555	050307	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14556	050310	667 02 0 00 000000 	TLOE3:	TLON	AC,0		;E+C(AC)=0.  NO SKIP.
 14557	050311	254 00 0 00 050313 		JRST	.+2
 14558	050312	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TLON SKIPPED.
 14559	050313	663 02 0 00 000000 		TLOE	AC,0		;E+C(AC)=0. SKIP
 14560	050314	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 14561	050315	312 02 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG. C(AC)
 14562	050316	013 00 0 00 000000 		EERRI
 14563						LOOP	TLOE2,TLOE3^
 14564	050317	367 01 0 00 050304 		SOJG	AC-1,TLOE2		;ITERATION COUNTER
 14565	050320	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14566	050321	321 01 0 00 050310 		JUMPL	AC-1,TLOE3		;LOOP ON ERROR SWITCH ^
 14567

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 40
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0378

 14568
 14569
 14570					;TEST TLOE, TLON.  CHECK FOR SKIP/NO SKIP AND
 14571					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
 14572
 14573
 14574			000003			AC=3
 14575	050322				TLOE4:	SETUP	100,0^
 14576			000004			AC1=<AC+1>&17
 14577			000005			AC2=<AC+2>&17
 14578			000006			AC3=<AC+3>&17
 14579			000007			AC4=<AC+4>&17
 14580			000010			AC5=<AC+5>&17
 14581			000001			RAN1=<AC-2>&17
 14582	050322	201 02 0 00 050322 		MOVEI	AC-1,.
 14583	050323	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14584	050324	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14585	050325	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14586	050326	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14587	050327	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14588	050330	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14589	050331				TLOE5:	RANDOM^
 14590	050331	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14591	050332	270 03 0 00 060657 		ADD	AC,[142536475076]
 14592	050333	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14593	050334	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14594	050335	435 03 0 00 020000 	TLOE6:	IORI	AC,20000	;SET A BIT IN E.
 14595	050336	403 04 0 00 000001 		SETZB	AC1,RAN1	;CLEAR AC.
 14596	050337	205 05 0 03 000000 		MOVSI	AC2,(AC)	;SIMULATE A TLO
 14597	050340	663 04 0 03 000000 		TLOE	AC1,(AC)	;E+C(AC)L=0.  SKIP
 14598	050341	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 14599	050342	667 04 0 03 000000 		TLON	AC1,(AC)	;E+C(AC)L NOT=0. SKIP
 14600	050343	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 14601	050344	312 04 0 00 000005 		CAME	AC1,AC2		;C(AC) SHOULD=SIM. ANS
 14602	050345	003 01 0 03 000000 		ERRI	RAN1,(AC)
 14603						LOOP	TLOE5,TLOE6^
 14604	050346	367 02 0 00 050331 		SOJG	AC-1,TLOE5		;ITERATION COUNTER
 14605	050347	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14606	050350	321 02 0 00 050335 		JUMPL	AC-1,TLOE6		;LOOP ON ERROR SWITCH ^
 14607

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 41
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0379

 14608
 14609
 14610					;TEST TLOE, TLON.  CHECK FOR SKIP/NO SKIP AND
 14611					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION.
 14612
 14613
 14614			000002			AC=2
 14615	050351				TLOE7:	SETUP	100,0^
 14616			000003			AC1=<AC+1>&17
 14617			000004			AC2=<AC+2>&17
 14618			000005			AC3=<AC+3>&17
 14619			000006			AC4=<AC+4>&17
 14620			000007			AC5=<AC+5>&17
 14621			000000			RAN1=<AC-2>&17
 14622	050351	201 01 0 00 050351 		MOVEI	AC-1,.
 14623	050352	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14624	050353	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14625	050354	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14626	050355	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14627	050356	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14628	050357	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14629	050360				TLOE8:	RANDOM^
 14630	050360	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14631	050361	270 02 0 00 060657 		ADD	AC,[142536475076]
 14632	050362	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14633	050363	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14634	050364	434 02 0 00 046451 	TLOE9:	IOR	AC,TSTLFT	;SET A BIT IN LEFT SIDE OF AC.
 14635	050365	200 00 0 00 000002 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 14636	050366	205 03 0 00 777777 		MOVSI	AC1,-1		;SIMULATE
 14637	050367	434 03 0 00 000002 		IOR	AC1,AC		;A TLO.
 14638	050370	663 02 0 00 777777 		TLOE	AC,-1		;E+C(AC)L NOT=0. NO SKIP.
 14639	050371	254 00 0 00 050373 		JRST	.+2
 14640	050372	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TLOE SKIPPED.
 14641	050373	667 02 0 00 777777 		TLON	AC,-1		;E+C(AC)L NOT=0. SKIP
 14642	050374	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 14643	050375	312 02 0 00 000003 		CAME	AC,AC1
 14644	050376	003 00 0 00 777777 		ERRI	RAN1,-1
 14645						LOOP	TLOE8,TLOE9^
 14646	050377	367 01 0 00 050360 		SOJG	AC-1,TLOE8		;ITERATION COUNTER
 14647	050400	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14648	050401	321 01 0 00 050364 		JUMPL	AC-1,TLOE9		;LOOP ON ERROR SWITCH ^
 14649

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 42
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0380

 14650
 14651
 14652					;TEST TLOE, TLON.  CHECK FOR SKIP/NO SKIP AND
 14653					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION.
 14654
 14655
 14656			000003			AC=3
 14657	050402				TLON1:	SETUP	100,0^
 14658			000004			AC1=<AC+1>&17
 14659			000005			AC2=<AC+2>&17
 14660			000006			AC3=<AC+3>&17
 14661			000007			AC4=<AC+4>&17
 14662			000010			AC5=<AC+5>&17
 14663			000001			RAN1=<AC-2>&17
 14664	050402	201 02 0 00 050402 		MOVEI	AC-1,.
 14665	050403	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14666	050404	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14667	050405	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14668	050406	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14669	050407	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14670	050410	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14671	050411				TLON2:	RANDOM^
 14672	050411	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14673	050412	270 03 0 00 060657 		ADD	AC,[142536475076]
 14674	050413	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14675	050414	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14676	050415	435 03 0 00 000010 	TLON3:	IORI	AC,10		;SET A BIT IN E
 14677	050416	477 04 0 00 000001 		SETOB	AC1,RAN1	;SET C(AC) TO=-1.
 14678	050417	663 04 0 03 000000 		TLOE	AC1,(AC)	;E+C(AC)L NOT =0.  NO SKIP
 14679	050420	254 00 0 00 050422 		JRST	.+2
 14680	050421	005 04 0 00 060674 		ER	AC1,[ASCII /TST/];TLOE SKIPPED.
 14681	050422	667 04 0 03 000000 		TLON	AC1,(AC)	;E+C(AC)L NOT=0  SKIP
 14682	050423	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 14683	050424	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD STILL=-1.
 14684	050425	003 01 0 03 000000 		ERRI	RAN1,(AC)
 14685						LOOP	TLON2,TLON3^
 14686	050426	367 02 0 00 050411 		SOJG	AC-1,TLON2		;ITERATION COUNTER
 14687	050427	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14688	050430	321 02 0 00 050415 		JUMPL	AC-1,TLON3		;LOOP ON ERROR SWITCH ^
 14689

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 43
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0381

 14690
 14691
 14692					;TEST TLOE, TLON.  CHECK FOR SKIP/NO SKIP
 14693					;AND CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 14694
 14695
 14696			000004			AC=4
 14697	050431				TLON4:	SETUP	100,0^
 14698			000005			AC1=<AC+1>&17
 14699			000006			AC2=<AC+2>&17
 14700			000007			AC3=<AC+3>&17
 14701			000010			AC4=<AC+4>&17
 14702			000011			AC5=<AC+5>&17
 14703			000002			RAN1=<AC-2>&17
 14704	050431	201 03 0 00 050431 		MOVEI	AC-1,.
 14705	050432	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14706	050433	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14707	050434	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14708	050435	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14709	050436	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14710	050437	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14711	050440				TLON5:	RANDOM^
 14712	050440	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14713	050441	270 04 0 00 060657 		ADD	AC,[142536475076]
 14714	050442	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14715	050443	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14716	050444	434 04 0 00 046452 	TLON6:	IOR	AC,TLFT1	;SET A BIT IN LEFT SIDE OF AC.
 14717	050445	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 14718	050446	204 05 0 00 000004 		MOVS	AC1,AC		;MAKE E = C(AC)L.
 14719	050447	663 04 0 05 000000 		TLOE	AC,(AC1)	;E+C(AC)L NOT=0.  NO SKIP.
 14720	050450	254 00 0 00 050452 		JRST	.+2
 14721	050451	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TLOE SKIPPED.
 14722	050452	667 04 0 05 000000 		TLON	AC,(AC1)	;E+C(AC)L NOT=0  SKIP
 14723	050453	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
 14724	050454	312 04 0 00 000002 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 14725	050455	003 02 0 05 000000 		ERRI	RAN1,(AC1)
 14726						LOOP	TLON5,TLON6^
 14727	050456	367 03 0 00 050440 		SOJG	AC-1,TLON5		;ITERATION COUNTER
 14728	050457	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14729	050460	321 03 0 00 050444 		JUMPL	AC-1,TLON6		;LOOP ON ERROR SWITCH ^
 14730

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 44
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0382

 14731
 14732
 14733					;TEST TLOE, TLON.  CHECK FOR SKIP/NO SKIP AND
 14734					;CORRECT DATA IN AC FOR RAN1 TO RAN CONDITION.
 14735
 14736
 14737			000005			AC=5
 14738	050461					TLON7:	SETUP	100,1^
 14739			000006			AC1=<AC+1>&17
 14740			000007			AC2=<AC+2>&17
 14741			000010			AC3=<AC+3>&17
 14742			000011			AC4=<AC+4>&17
 14743			000012			AC5=<AC+5>&17
 14744			000003			RAN1=<AC-2>&17
 14745	050461	201 04 0 00 050461 		MOVEI	AC-1,.
 14746	050462	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14747	050463	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14748	050464	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14749	050465	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14750	050466	240 04 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 14751	050467	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14752	050470				TLON8:	RANDOM^
 14753	050470	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14754	050471	270 05 0 00 060657 		ADD	AC,[142536475076]
 14755	050472	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14756	050473	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14757	050474	434 05 0 00 060717 	TLON9:	IOR	AC,[XWD 400000,400000];SET A BIT IN AC + E.
 14758	050475	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 14759	050476	200 06 0 00 000005 		MOVE	AC1,AC		;MAKE E A DIFF RAN NUM.
 14760	050477	205 07 0 06 000000 		MOVSI	AC2,(AC1)	;SIMULATE
 14761	050500	434 07 0 00 000005 		IOR	AC2,AC		;A TLO
 14762	050501	663 05 0 06 000000 		TLOE	AC,(AC1)	;E+C(AC)L NOT = 0...NO SKIP.
 14763	050502	254 00 0 00 050504 		JRST	.+2
 14764	050503	005 05 0 00 060674 		ER	AC,[ASCII /TST/];TLOE SKIPPED.
 14765	050504	667 05 0 06 000000 		TLON	AC,(AC1)	;E+C(AC)L NOT=0. SKIP
 14766	050505	005 05 0 00 060674 		ER	AC,[ASCII /TST/]
 14767	050506	312 05 0 00 000007 		CAME	AC,AC2
 14768	050507	003 03 0 06 000000 		ERRI	RAN1,(AC1)	;C(AC) SHOULD=SIM. ANS
 14769						LOOP	TLON8,TLON9^
 14770	050510	367 04 0 00 050470 		SOJG	AC-1,TLON8		;ITERATION COUNTER
 14771	050511	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14772	050512	321 04 0 00 050474 		JUMPL	AC-1,TLON9		;LOOP ON ERROR SWITCH ^
 14773

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 45
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0383

 14774
 14775
 14776					;TEST TLC, TLCA.  CHECK FOR SKIP/NO SKIP AND
 14777					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 14778
 14779
 14780			000006			AC=6
 14781	050513				TLC1:	SETUP	100,0^
 14782			000007			AC1=<AC+1>&17
 14783			000010			AC2=<AC+2>&17
 14784			000011			AC3=<AC+3>&17
 14785			000012			AC4=<AC+4>&17
 14786			000013			AC5=<AC+5>&17
 14787			000004			RAN1=<AC-2>&17
 14788	050513	201 05 0 00 050513 		MOVEI	AC-1,.
 14789	050514	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14790	050515	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14791	050516	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14792	050517	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14793	050520	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14794	050521	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14795	050522				TLC2:	RANDOM^
 14796	050522	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14797	050523	270 06 0 00 060657 		ADD	AC,[142536475076]
 14798	050524	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14799	050525	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14800	050526	641 06 0 00 000000 	TLC3:	TLC	AC,0		;SHOULD NOT SKIP,.
 14801	050527	254 00 0 00 050531 		JRST	.+2
 14802	050530	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TLC SKIPPED.
 14803	050531	645 06 0 00 000000 		TLCA	AC,0		;SHOULD SKIP
 14804	050532	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
 14805	050533	312 06 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD NOT HAVE CHANGED
 14806	050534	013 00 0 00 000000 		EERRI
 14807						LOOP	TLC2,TLC3^
 14808	050535	367 05 0 00 050522 		SOJG	AC-1,TLC2		;ITERATION COUNTER
 14809	050536	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14810	050537	321 05 0 00 050526 		JUMPL	AC-1,TLC3		;LOOP ON ERROR SWITCH ^
 14811

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 46
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0384

 14812
 14813
 14814					;TEST TLC, TLCA.  CHECK FOR SKIP/NO SKIP AND
 14815					;CORRECT DATA IN AC FOR RAN TO 0. CONDITION.
 14816
 14817
 14818			000007			AC=7
 14819	050540				TLC4:	SETUP	100,0^
 14820			000010			AC1=<AC+1>&17
 14821			000011			AC2=<AC+2>&17
 14822			000012			AC3=<AC+3>&17
 14823			000013			AC4=<AC+4>&17
 14824			000014			AC5=<AC+5>&17
 14825			000005			RAN1=<AC-2>&17
 14826	050540	201 06 0 00 050540 		MOVEI	AC-1,.
 14827	050541	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14828	050542	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14829	050543	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14830	050544	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14831	050545	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14832	050546	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14833	050547				TLC5:	RANDOM^
 14834	050547	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14835	050550	270 07 0 00 060657 		ADD	AC,[142536475076]
 14836	050551	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14837	050552	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14838	050553	403 10 0 00 000005 	TLC6:	SETZB	AC1,RAN1	;CLEAR AC
 14839	050554	641 10 0 07 000000 		TLC	AC1,(AC)	;SHOULD NOT SKIP
 14840	050555	254 00 0 00 050557 		JRST	.+2
 14841	050556	005 10 0 00 060674 		ER	AC1,[ASCII /TST/];TLC SKIPPED.
 14842	050557	645 10 0 07 000000 		TLCA	AC1,(AC)	;SHOULD SKIP
 14843	050560	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
 14844	050561	312 10 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=ORIG C(AC)
 14845	050562	003 05 0 07 000000 		ERRI	RAN1,(AC)
 14846						LOOP	TLC5,TLC6^
 14847	050563	367 06 0 00 050547 		SOJG	AC-1,TLC5		;ITERATION COUNTER
 14848	050564	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14849	050565	321 06 0 00 050553 		JUMPL	AC-1,TLC6		;LOOP ON ERROR SWITCH ^
 14850

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 47
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0385

 14851					;TEST TLC, TLCA.  CHECK FOR SKIP/NO SKIP AND
 14852					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 14853
 14854
 14855			000010			AC=10
 14856	050566				TLC7:	SETUP	100,0^
 14857			000011			AC1=<AC+1>&17
 14858			000012			AC2=<AC+2>&17
 14859			000013			AC3=<AC+3>&17
 14860			000014			AC4=<AC+4>&17
 14861			000015			AC5=<AC+5>&17
 14862			000006			RAN1=<AC-2>&17
 14863	050566	201 07 0 00 050566 		MOVEI	AC-1,.
 14864	050567	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14865	050570	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14866	050571	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14867	050572	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14868	050573	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14869	050574	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14870	050575				TLC8:	RANDOM^
 14871	050575	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14872	050576	270 10 0 00 060657 		ADD	AC,[142536475076]
 14873	050577	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14874	050600	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14875	050601	641 10 0 00 777777 	TLC9:	TLC	AC,-1		;SHOULD NOT SKIP
 14876	050602	254 00 0 00 050604 		JRST	.+2
 14877	050603	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TLC SKIPPED.
 14878	050604	645 10 0 00 777777 		TLCA	AC,-1
 14879	050605	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 14880	050606	312 10 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 14881	050607	013 00 0 00 777777 		EERRI	,-1
 14882						LOOP	TLC8,TLC9^
 14883	050610	367 07 0 00 050575 		SOJG	AC-1,TLC8		;ITERATION COUNTER
 14884	050611	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14885	050612	321 07 0 00 050601 		JUMPL	AC-1,TLC9		;LOOP ON ERROR SWITCH ^
 14886

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 48
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0386

 14887
 14888
 14889					;TEST TLC, TLCA.  CHECK FOR SKIP/NO SKIP AND
 14890					;CORRECT DATA IN AC FOR RAN TO -1 CONDITION
 14891
 14892
 14893			000003			AC=3
 14894	050613				TLCA1:	SETUP	100,0^
 14895			000004			AC1=<AC+1>&17
 14896			000005			AC2=<AC+2>&17
 14897			000006			AC3=<AC+3>&17
 14898			000007			AC4=<AC+4>&17
 14899			000010			AC5=<AC+5>&17
 14900			000001			RAN1=<AC-2>&17
 14901	050613	201 02 0 00 050613 		MOVEI	AC-1,.
 14902	050614	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14903	050615	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14904	050616	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14905	050617	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14906	050620	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14907	050621	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14908	050622				TLCA2:	RANDOM^
 14909	050622	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14910	050623	270 03 0 00 060657 		ADD	AC,[142536475076]
 14911	050624	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14912	050625	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14913	050626	477 04 0 00 000001 	TLCA3:	SETOB	AC1,RAN1	;MAKE C(AC) = -1.
 14914	050627	641 04 0 03 000000 		TLC	AC1,(AC)	;SHOULD NOT SKIP
 14915	050630	254 00 0 00 050632 		JRST	.+2
 14916	050631	005 04 0 00 060674 		ER	AC1,[ASCII /TST/];TLC SKIPPED.
 14917	050632	645 04 0 03 000000 		TLCA	AC1,(AC)	;SHOULD SKIP
 14918	050633	005 04 0 00 060674 		ER	AC1,[ASCII /TST/]
 14919	050634	312 04 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD=ORIG. C(AC)
 14920	050635	003 01 0 03 000000 		ERRI	RAN1,(AC)
 14921						LOOP	TLCA2,TLCA3^
 14922	050636	367 02 0 00 050622 		SOJG	AC-1,TLCA2		;ITERATION COUNTER
 14923	050637	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14924	050640	321 02 0 00 050626 		JUMPL	AC-1,TLCA3		;LOOP ON ERROR SWITCH ^
 14925

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 49
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0387

 14926
 14927
 14928					;TEST TLC, TLCA.  CHECK FOR SKIP/NO SKIP AND
 14929					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 14930
 14931
 14932			000002			AC=2
 14933	050641				TLCA4:	SETUP	100,0^
 14934			000003			AC1=<AC+1>&17
 14935			000004			AC2=<AC+2>&17
 14936			000005			AC3=<AC+3>&17
 14937			000006			AC4=<AC+4>&17
 14938			000007			AC5=<AC+5>&17
 14939			000000			RAN1=<AC-2>&17
 14940	050641	201 01 0 00 050641 		MOVEI	AC-1,.
 14941	050642	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14942	050643	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14943	050644	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14944	050645	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14945	050646	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14946	050647	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14947	050650				TLCA5:	RANDOM^
 14948	050650	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14949	050651	270 02 0 00 060657 		ADD	AC,[142536475076]
 14950	050652	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14951	050653	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14952	050654	204 03 0 00 000002 	TLCA6:	MOVS	AC1,AC		;MAKE "E"=C(AC)L.
 14953	050655	641 02 0 03 000000 		TLC	AC,(AC1)	;SHOULD NOT SKIP.
 14954	050656	254 00 0 00 050660 		JRST	.+2
 14955	050657	005 02 0 00 060674 		ER	AC,[ASCII /TST/];TLC SKIPPED.
 14956	050660	645 02 0 03 000000 		TLCA	AC,(AC1)	;SHOULD SKIP
 14957	050661	005 02 0 00 060674 		ER	AC,[ASCII /TST/]
 14958	050662	312 02 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 14959	050663	013 00 0 03 000000 		EERRI	,(AC1)
 14960						LOOP	TLCA5,TLCA6^
 14961	050664	367 01 0 00 050650 		SOJG	AC-1,TLCA5		;ITERATION COUNTER
 14962	050665	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 14963	050666	321 01 0 00 050654 		JUMPL	AC-1,TLCA6		;LOOP ON ERROR SWITCH ^
 14964

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 50
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0388

 14965
 14966
 14967					;TEST TLC, TLCA.  CHECK FOR SKIP/NO SKIP AND
 14968					;CORRECT DATA IN AC FOR NOT RAN TO RAN
 14969
 14970
 14971			000003			AC=3
 14972	050667				TLCA7:	SETUP	100,0^
 14973			000004			AC1=<AC+1>&17
 14974			000005			AC2=<AC+2>&17
 14975			000006			AC3=<AC+3>&17
 14976			000007			AC4=<AC+4>&17
 14977			000010			AC5=<AC+5>&17
 14978			000001			RAN1=<AC-2>&17
 14979	050667	201 02 0 00 050667 		MOVEI	AC-1,.
 14980	050670	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 14981	050671	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 14982	050672	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 14983	050673	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 14984	050674	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 14985	050675	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 14986	050676				TLCA8:	RANDOM^
 14987	050676	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 14988	050677	270 03 0 00 060657 		ADD	AC,[142536475076]
 14989	050700	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 14990	050701	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 14991	050702	460 04 0 00 000003 	TLCA9:	SETCM	AC1,AC		;MAKE "E"=
 14992	050703	204 04 0 00 000004 		MOVS	AC1,AC1		;1'S COMP OF C(AC)L.
 14993	050704	641 03 0 04 000000 		TLC	AC,(AC1)	;SHOULD NOT SKIP
 14994	050705	254 00 0 00 050707 		JRST	.+2
 14995	050706	005 03 0 00 060674 		ER	AC,[ASCII /TST/];TLC SKIPPED.
 14996	050707	645 03 0 04 000000 		TLCA	AC,(AC1)	;SHOULD SKIP
 14997	050710	005 03 0 00 060674 		ER	AC,[ASCII /TST/]
 14998	050711	312 03 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC)
 14999	050712	013 00 0 04 000000 		EERRI	,(AC1)
 15000						LOOP	TLCA8,TLCA9^
 15001	050713	367 02 0 00 050676 		SOJG	AC-1,TLCA8		;ITERATION COUNTER
 15002	050714	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15003	050715	321 02 0 00 050702 		JUMPL	AC-1,TLCA9		;LOOP ON ERROR SWITCH ^
 15004

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 51
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0389

 15005
 15006
 15007					;TEST TLCE, TLCN.  CHECK FOR SKIP/NO SKIP AND
 15008					;CORRECT DATA IN AC FOR 0 TO RAN CONDITION
 15009
 15010
 15011			000004			AC=4
 15012	050716				TLCE1:	SETUP	100,0^
 15013			000005			AC1=<AC+1>&17
 15014			000006			AC2=<AC+2>&17
 15015			000007			AC3=<AC+3>&17
 15016			000010			AC4=<AC+4>&17
 15017			000011			AC5=<AC+5>&17
 15018			000002			RAN1=<AC-2>&17
 15019	050716	201 03 0 00 050716 		MOVEI	AC-1,.
 15020	050717	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15021	050720	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15022	050721	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15023	050722	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15024	050723	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15025	050724	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15026	050725				TLCE2:	RANDOM^
 15027	050725	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15028	050726	270 04 0 00 060657 		ADD	AC,[142536475076]
 15029	050727	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15030	050730	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15031	050731	647 04 0 00 000000 	TLCE3:	TLCN	AC,0		;E+C(AC)L=0. NO SKIP
 15032	050732	254 00 0 00 050734 		JRST	.+2
 15033	050733	005 04 0 00 060674 		ER	AC,[ASCII /TST/];TLCN SKIPPED.
 15034	050734	643 04 0 00 000000 		TLCE	AC,0		;E+C(AC)L=0. SKIP
 15035	050735	005 04 0 00 060674 		ER	AC,[ASCII /TST/]
 15036	050736	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG C(AC).
 15037	050737	013 00 0 00 000000 		EERRI	,0
 15038						LOOP	TLCE2,TLCE3^
 15039	050740	367 03 0 00 050725 		SOJG	AC-1,TLCE2		;ITERATION COUNTER
 15040	050741	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15041	050742	321 03 0 00 050731 		JUMPL	AC-1,TLCE3		;LOOP ON ERROR SWITCH ^
 15042

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 52
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0390

 15043
 15044
 15045					;TEST TLCE, TLCN.  CHECK FOR SKIP/NO SKIP AND
 15046					;CORRECT DATA IN AC FOR RAN TO 0 CONDITION.
 15047
 15048
 15049			000005			AC=5
 15050	050743				TLCE4:	SETUP	100,0^
 15051			000006			AC1=<AC+1>&17
 15052			000007			AC2=<AC+2>&17
 15053			000010			AC3=<AC+3>&17
 15054			000011			AC4=<AC+4>&17
 15055			000012			AC5=<AC+5>&17
 15056			000003			RAN1=<AC-2>&17
 15057	050743	201 04 0 00 050743 		MOVEI	AC-1,.
 15058	050744	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15059	050745	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15060	050746	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15061	050747	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15062	050750	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15063	050751	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15064	050752				TLCE5:	RANDOM^
 15065	050752	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15066	050753	270 05 0 00 060657 		ADD	AC,[142536475076]
 15067	050754	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15068	050755	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15069	050756	435 05 0 00 000001 	TLCE6:	IORI	AC,1		;MAKE SURE A BIT IS SET IN E.
 15070	050757	403 06 0 00 000003 		SETZB	AC1,RAN1	;CLEAR C(AC).
 15071	050760	647 06 0 05 000000 		TLCN	AC1,(AC)	;E+C(AC)L=0.  NO SKIP.
 15072	050761	254 00 0 00 050763 		JRST	.+2
 15073	050762	005 06 0 00 060674 		ER	AC1,[ASCII /TST/];TLCN SKIPPED.
 15074	050763	647 06 0 05 000000 		TLCN	AC1,(AC)	;E+C(AC)L NOT=0.  SKIP
 15075	050764	005 06 0 00 060674 		ER	AC1,[ASCII /TST/]
 15076	050765	312 06 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=ORIG C(AC).
 15077	050766	003 03 0 05 000000 		ERRI	RAN1,(AC)
 15078	050767	643 06 0 05 000000 		TLCE	AC1,(AC)	;E+C(AC)L=0. SKIP
 15079	050770	005 06 0 00 060674 		ER	AC1,[ASCII /TST/]
 15080	050771	643 06 0 05 000000 		TLCE	AC1,(AC)	;E+C(AC)L NOT=0  NO SKIP
 15081	050772	312 06 0 00 060660 		CAME	AC1,[0]		;C(AC) SHOULD=ORIG. C(AC)
 15082	050773	003 03 0 05 000000 		ERRI	RAN1,(AC)
 15083						LOOP	TLCE5,TLCE6^
 15084	050774	367 04 0 00 050752 		SOJG	AC-1,TLCE5		;ITERATION COUNTER
 15085	050775	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15086	050776	321 04 0 00 050756 		JUMPL	AC-1,TLCE6		;LOOP ON ERROR SWITCH ^
 15087

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 53
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0391

 15088
 15089
 15090					;TEST TLCE, TLCN  CHECK FOR SKIP/NO SKIP AND
 15091					;CORRECT DATA IN AC FOR -1 TO RAN CONDITION
 15092
 15093
 15094			000006			AC=6
 15095	050777				TLCE7:	SETUP	100,0^
 15096			000007			AC1=<AC+1>&17
 15097			000010			AC2=<AC+2>&17
 15098			000011			AC3=<AC+3>&17
 15099			000012			AC4=<AC+4>&17
 15100			000013			AC5=<AC+5>&17
 15101			000004			RAN1=<AC-2>&17
 15102	050777	201 05 0 00 050777 		MOVEI	AC-1,.
 15103	051000	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15104	051001	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15105	051002	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15106	051003	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15107	051004	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15108	051005	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15109	051006				TLCE8:	RANDOM^
 15110	051006	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15111	051007	270 06 0 00 060657 		ADD	AC,[142536475076]
 15112	051010	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15113	051011	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15114	051012	434 06 0 00 046451 	TLCE9:	IOR	AC,TSTLFT	;SET A BIT IN AC LEFT.
 15115	051013	204 07 0 00 000006 		MOVS	AC1,AC		;CHECK TO MAKE
 15116	051014	201 07 0 07 000000 		MOVEI	AC1,(AC1)	;SURE C(AC)L DOES
 15117	051015	306 07 0 00 777777 		CAIN	AC1,-1		;NOT = -1.
 15118	051016	254 00 0 00 051006 		JRST	TLCE8		;REJECT IF IT DOES.
 15119	051017	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 15120	051020	643 06 0 00 777777 		TLCE	AC,-1		;E+C(AC) L NOT=0.  NO SKIP
 15121	051021	254 00 0 00 051023 		JRST	.+2
 15122	051022	005 06 0 00 060674 		ER	AC,[ASCII /TST/];TLCE SKIPPED.
 15123	051023	647 06 0 00 777777 		TLCN	AC,-1		;E+C(AC)L NOT=0.  SKIP
 15124	051024	005 06 0 00 060674 		ER	AC,[ASCII /TST/]
 15125	051025	312 06 0 00 000004 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 15126	051026	003 04 0 00 777777 		ERRI	RAN1,-1
 15127						LOOP	TLCE8,TLCE9^
 15128	051027	367 05 0 00 051006 		SOJG	AC-1,TLCE8		;ITERATION COUNTER
 15129	051030	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15130	051031	321 05 0 00 051012 		JUMPL	AC-1,TLCE9		;LOOP ON ERROR SWITCH ^
 15131

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 54
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0392

 15132
 15133
 15134					;TEST TLCE, TLCN.  CHECK FOR SKIP/NO SKIP AND
 15135					;CORRECT DATA IN AC FOR RAN TO-1 CONDITION
 15136
 15137
 15138			000007			AC=7
 15139	051032				TLCN1:	SETUP	100,0^
 15140			000010			AC1=<AC+1>&17
 15141			000011			AC2=<AC+2>&17
 15142			000012			AC3=<AC+3>&17
 15143			000013			AC4=<AC+4>&17
 15144			000014			AC5=<AC+5>&17
 15145			000005			RAN1=<AC-2>&17
 15146	051032	201 06 0 00 051032 		MOVEI	AC-1,.
 15147	051033	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15148	051034	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15149	051035	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15150	051036	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15151	051037	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15152	051040	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15153	051041				TLCN2:	RANDOM^
 15154	051041	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15155	051042	270 07 0 00 060657 		ADD	AC,[142536475076]
 15156	051043	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15157	051044	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15158	051045	435 07 0 00 000004 	TLCN3:	IORI	AC,4		;SET A BIT IN E.
 15159	051046	477 10 0 00 000005 		SETOB	AC1,RAN1	;MAKE C(AC)=-1
 15160	051047	647 10 0 07 000000 		TLCN	AC1,(AC)	;E+C(AC)L NOT=0. SKIP
 15161	051050	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
 15162	051051	643 10 0 07 000000 		TLCE	AC1,(AC)	;E+C(AC)L=0. SKIP
 15163	051052	005 10 0 00 060674 		ER	AC1,[ASCII /TST/]
 15164	051053	312 10 0 00 060662 		CAME	AC1,[-1]	;C(AC) SHOULD=ORIG C(AC).
 15165	051054	003 05 0 07 000000 		ERRI	RAN1,(AC)
 15166						LOOP	TLCN2,TLCN3^
 15167	051055	367 06 0 00 051041 		SOJG	AC-1,TLCN2		;ITERATION COUNTER
 15168	051056	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15169	051057	321 06 0 00 051045 		JUMPL	AC-1,TLCN3		;LOOP ON ERROR SWITCH ^
 15170

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 55
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0393

 15171
 15172
 15173					;TEST TLCE, TLCN.  CHECK FOR SKIP/NO SKIP AND
 15174					;CORRECT DATA IN AC FOR RAN TO RAN CONDITION
 15175
 15176
 15177			000010			AC=10
 15178	051060				TLCN4:	SETUP	100,0^
 15179			000011			AC1=<AC+1>&17
 15180			000012			AC2=<AC+2>&17
 15181			000013			AC3=<AC+3>&17
 15182			000014			AC4=<AC+4>&17
 15183			000015			AC5=<AC+5>&17
 15184			000006			RAN1=<AC-2>&17
 15185	051060	201 07 0 00 051060 		MOVEI	AC-1,.
 15186	051061	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15187	051062	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15188	051063	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15189	051064	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15190	051065	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15191	051066	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15192	051067				TLCN5:	RANDOM^
 15193	051067	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15194	051070	270 10 0 00 060657 		ADD	AC,[142536475076]
 15195	051071	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15196	051072	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15197	051073	434 10 0 00 046452 	TLCN6:	IOR	AC,TLFT1	;MAKE SURE A BIT IS SET IN AC LEFT.
 15198	051074	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 15199	051075	204 11 0 00 000010 		MOVS	AC1,AC		;MAKE "E"=C(AC)L
 15200	051076	643 10 0 11 000000 		TLCE	AC,(AC1)	;E+C(AC)L NOT=0. NO SKIP
 15201	051077	254 00 0 00 051101 		JRST	.+2
 15202	051100	005 10 0 00 060674 		ER	AC,[ASCII /TST/];TLCE SKIPPED.
 15203	051101	643 10 0 11 000000 		TLCE	AC,(AC1)	;E+C(AC)L=0 SKIP
 15204	051102	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 15205	051103	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 15206	051104	003 06 0 11 000000 		ERRI	RAN1,(AC1)
 15207	051105	647 10 0 11 000000 		TLCN	AC,(AC1)	;E+C(AC)L NOT=0. SKIP
 15208	051106	005 10 0 00 060674 		ER	AC,[ASCII /TST/]
 15209	051107	647 10 0 11 000000 		TLCN	AC,(AC1)	;E+C(AC)L=0. NO SKIP
 15210	051110	312 10 0 00 000006 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 15211	051111	003 06 0 11 000000 		ERRI	RAN1,(AC1)
 15212						LOOP	TLCN5,TLCN6^
 15213	051112	367 07 0 00 051067 		SOJG	AC-1,TLCN5		;ITERATION COUNTER
 15214	051113	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15215	051114	321 07 0 00 051073 		JUMPL	AC-1,TLCN6		;LOOP ON ERROR SWITCH ^
 15216

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 56
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0394

 15217
 15218
 15219					;TEST TLCE, TLCN.  CHECK FOR SKIP/NO SKIP AND
 15220					;CORRECT DATA IN AC FOR E = TO A FLOATING ONE
 15221					;AND C(AC) = RAN. NUM. WITH THAT BIT CLEAR.
 15222
 15223
 15224			000011			AC=11
 15225	051115				TLCN7:	SETUP	100,0^
 15226			000012			AC1=<AC+1>&17
 15227			000013			AC2=<AC+2>&17
 15228			000014			AC3=<AC+3>&17
 15229			000015			AC4=<AC+4>&17
 15230			000016			AC5=<AC+5>&17
 15231			000007			RAN1=<AC-2>&17
 15232	051115	201 10 0 00 051115 		MOVEI	AC-1,.
 15233	051116	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15234	051117	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15235	051120	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15236	051121	201 10 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15237	051122	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15238	051123	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15239	051124	201 12 0 00 000001 		MOVEI	AC1,1		;SETUP E TO HAVE ONE BIT.
 15240	051125				TLCN8:	RANDOM^
 15241	051125	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15242	051126	270 11 0 00 060657 		ADD	AC,[142536475076]
 15243	051127	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15244	051130	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15245	051131	241 12 0 00 000001 		ROT	AC1,1		;ROT TO TEST NEXT BIT.
 15246	051132	316 12 0 00 060714 		CAMN	AC1,[XWD 1,0]	;IS BIT ON LEFT SIDE?
 15247	051133	201 12 0 00 000001 		MOVEI	AC1,1		;YES. REINITAILIZE E.
 15248	051134	204 13 0 00 000012 	TLCN9:	MOVS	AC2,AC1		;CLEAR THAT
 15249	051135	420 11 0 00 000013 		ANDCM	AC,AC2		;BIT IN AC.
 15250	051136	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(AC) FOR FUTURE COMPARE.
 15251	051137	647 11 0 12 000000 		TLCN	AC,(AC1)	;E + C(AC)L = 0...NO SKIP.
 15252	051140	254 00 0 00 051142 		JRST	.+2
 15253	051141	005 11 0 00 060674 		ER	AC,[ASCII /TST/];TLCN SKIPPED.
 15254	051142	647 11 0 12 000000 		TLCN	AC,(AC1)	;E + C(AC)L NOT = 0...SKIP.
 15255	051143	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 15256	051144	312 11 0 00 000007 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 15257	051145	003 07 0 12 000000 		ERRI	RAN1,(AC1)
 15258	051146	643 11 0 12 000000 		TLCE	AC,(AC1)	;E + C(AC)L = 0...SKIP.
 15259	051147	005 11 0 00 060674 		ER	AC,[ASCII /TST/]
 15260	051150	643 11 0 12 000000 		TLCE	AC,(AC1)	;E + C(AC)L NOT = 0...NO SKIP.
 15261	051151	312 11 0 00 000007 		CAME	AC,RAN1		;C(AC) SHOULD = ORIG C(AC).
 15262	051152	003 07 0 12 000000 		ERRI	RAN1,(AC1)
 15263						LOOP	TLCN8,TLCN9^
 15264	051153	367 10 0 00 051125 		SOJG	AC-1,TLCN8		;ITERATION COUNTER
 15265	051154	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15266	051155	321 10 0 00 051134 		JUMPL	AC-1,TLCN9		;LOOP ON ERROR SWITCH ^
 15267
 15268
 15269

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 57
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0395

 15270
 15271
 15272					;TEST SETZB.  CHECK C(AC)=C(E), AND C(AC)=CORRECT DATA
 15273					;RAN TO RAN1.
 15274
 15275
 15276			000002			AC=2
 15277	051156				SETZB1:	SETUP	100,0^
 15278			000003			AC1=<AC+1>&17
 15279			000004			AC2=<AC+2>&17
 15280			000005			AC3=<AC+3>&17
 15281			000006			AC4=<AC+4>&17
 15282			000007			AC5=<AC+5>&17
 15283			000000			RAN1=<AC-2>&17
 15284	051156	201 01 0 00 051156 		MOVEI	AC-1,.
 15285	051157	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15286	051160	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15287	051161	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15288	051162	201 01 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15289	051163	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15290	051164	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15291	051165				SETZB2:	RANDOM^
 15292	051165	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15293	051166	270 02 0 00 060657 		ADD	AC,[142536475076]
 15294	051167	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15295	051170	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15296	051171	207 00 0 00 000002 	SETZB3:	MOVSS	RAN1,AC		;C(AC) = SEC. RAN. NUM.
 15297	051172	200 03 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN NUM
 15298	051173	403 02 0 00 000003 		SETZB	AC,AC1		;DO A SETZB INST.
 15299	051174	312 02 0 00 000003 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15300	051175	011 00 0 00 000000 		EERR	,RAN1
 15301	051176	312 02 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0.
 15302	051177	011 00 0 00 000000 		EERR	,RAN1
 15303						LOOP	SETZB2,SETZB3^
 15304	051200	367 01 0 00 051165 		SOJG	AC-1,SETZB2		;ITERATION COUNTER
 15305	051201	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15306	051202	321 01 0 00 051171 		JUMPL	AC-1,SETZB3		;LOOP ON ERROR SWITCH ^
 15307

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 58
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0396

 15308
 15309
 15310					;TEST ANDB.  CHECK C(AC)=C(E), AND C(AC)=CORRECT DATA
 15311					;RAN TO RAN1
 15312
 15313
 15314			000003			AC=3
 15315	051203				ANDB1:	SETUP	200,1^
 15316			000004			AC1=<AC+1>&17
 15317			000005			AC2=<AC+2>&17
 15318			000006			AC3=<AC+3>&17
 15319			000007			AC4=<AC+4>&17
 15320			000010			AC5=<AC+5>&17
 15321			000001			RAN1=<AC-2>&17
 15322	051203	201 02 0 00 051203 		MOVEI	AC-1,.
 15323	051204	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15324	051205	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15325	051206	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15326	051207	201 02 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15327	051210	240 02 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15328	051211	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15329	051212				ANDB2:	RANDOM^
 15330	051212	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15331	051213	270 03 0 00 060657 		ADD	AC,[142536475076]
 15332	051214	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15333	051215	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15334	051216	207 01 0 00 000003 	ANDB3:	MOVSS	RAN1,AC		;C(AC) = SEC. RAN. NUM.
 15335	051217	200 04 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN NUM
 15336	051220	200 05 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15337	051221	470 05 0 00 000003 		ORCB	AC2,AC		;AN
 15338	051222	450 05 0 00 000000 		SETCA	AC2,		;"AND" INST.
 15339	051223	407 03 0 00 000004 		ANDB	AC,AC1		;DO AN ANDB INST.
 15340	051224	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD=C(E)
 15341	051225	011 00 0 00 000001 		EERR	,RAN1
 15342	051226	312 03 0 00 000005 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
 15343	051227	011 00 0 00 000001 		EERR	,RAN1
 15344						LOOP	ANDB2,ANDB3^
 15345	051230	367 02 0 00 051212 		SOJG	AC-1,ANDB2		;ITERATION COUNTER
 15346	051231	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15347	051232	321 02 0 00 051216 		JUMPL	AC-1,ANDB3		;LOOP ON ERROR SWITCH ^
 15348

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 59
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0397

 15349
 15350
 15351					;TEST ANDCAB.  CHECK FOR C(AC)=C(E) AND C(AC)=CORRECT DATA.
 15352					;RAN TO RAN1
 15353
 15354
 15355			000002			AC=2
 15356	051233				ANCAB1:	SETUP	200,1^
 15357			000003			AC1=<AC+1>&17
 15358			000004			AC2=<AC+2>&17
 15359			000005			AC3=<AC+3>&17
 15360			000006			AC4=<AC+4>&17
 15361			000007			AC5=<AC+5>&17
 15362			000000			RAN1=<AC-2>&17
 15363	051233	201 01 0 00 051233 		MOVEI	AC-1,.
 15364	051234	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15365	051235	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15366	051236	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15367	051237	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15368	051240	240 01 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15369	051241	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15370	051242				ANCAB2:	RANDOM^
 15371	051242	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15372	051243	270 02 0 00 060657 		ADD	AC,[142536475076]
 15373	051244	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15374	051245	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15375	051246	207 00 0 00 000002 	ANCAB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15376	051247	200 03 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM
 15377	051250	200 04 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15378	051251	454 04 0 00 000002 		ORCA	AC2,AC		;AN
 15379	051252	450 04 0 00 000000 		SETCA	AC2,		;ANDCA INST.
 15380	051253	413 02 0 00 000003 		ANDCAB	AC,AC1		;DO AN ANDCAB INST.
 15381	051254	312 02 0 00 000003 		CAME	AC,AC1		;C(AC) SHOULD=C(E)
 15382	051255	011 00 0 00 000000 		EERR	,RAN1
 15383	051256	312 02 0 00 000004 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15384	051257	011 00 0 00 000000 		EERR	,RAN1
 15385						LOOP	ANCAB2,ANCAB3^
 15386	051260	367 01 0 00 051242 		SOJG	AC-1,ANCAB2		;ITERATION COUNTER
 15387	051261	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15388	051262	321 01 0 00 051246 		JUMPL	AC-1,ANCAB3		;LOOP ON ERROR SWITCH ^
 15389

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 60
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0398

 15390
 15391
 15392					;TEST SETMB. CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA.
 15393					;RAN TO RAN1.
 15394
 15395
 15396			000004			AC=4
 15397	051263				SETMB1:	SETUP	100,0^
 15398			000005			AC1=<AC+1>&17
 15399			000006			AC2=<AC+2>&17
 15400			000007			AC3=<AC+3>&17
 15401			000010			AC4=<AC+4>&17
 15402			000011			AC5=<AC+5>&17
 15403			000002			RAN1=<AC-2>&17
 15404	051263	201 03 0 00 051263 		MOVEI	AC-1,.
 15405	051264	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15406	051265	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15407	051266	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15408	051267	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15409	051270	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15410	051271	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15411	051272				SETMB2:	RANDOM^
 15412	051272	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15413	051273	270 04 0 00 060657 		ADD	AC,[142536475076]
 15414	051274	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15415	051275	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15416	051276	207 02 0 00 000004 	SETMB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15417	051277	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 15418	051300	200 05 0 00 061125 		MOVE	AC1,RAN
 15419	051301	417 04 0 00 000005 		SETMB	AC,AC1		;DO SETMB INST.
 15420	051302	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD=C(E)
 15421	051303	011 00 0 00 000002 		EERR	,RAN1
 15422	051304	312 04 0 00 061125 		CAME	AC,RAN		;C(AC) SHOULD=ORIG. C(E)
 15423	051305	011 00 0 00 000002 		EERR	,RAN1
 15424						LOOP	SETMB2,SETMB3^
 15425	051306	367 03 0 00 051272 		SOJG	AC-1,SETMB2		;ITERATION COUNTER
 15426	051307	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15427	051310	321 03 0 00 051276 		JUMPL	AC-1,SETMB3		;LOOP ON ERROR SWITCH ^
 15428

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 61
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0399

 15429
 15430
 15431					;TEST ANDCMB  CHECK FOR C(AC)=C(E), AND CORRECT DATA IN AC.
 15432					;RAN TO RAN1.
 15433
 15434
 15435			000004			AC=4
 15436	051311				ANCMB1:	SETUP	200,1^
 15437			000005			AC1=<AC+1>&17
 15438			000006			AC2=<AC+2>&17
 15439			000007			AC3=<AC+3>&17
 15440			000010			AC4=<AC+4>&17
 15441			000011			AC5=<AC+5>&17
 15442			000002			RAN1=<AC-2>&17
 15443	051311	201 03 0 00 051311 		MOVEI	AC-1,.
 15444	051312	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15445	051313	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15446	051314	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15447	051315	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15448	051316	240 03 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15449	051317	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15450	051320				ANCMB2:	RANDOM^
 15451	051320	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15452	051321	270 04 0 00 060657 		ADD	AC,[142536475076]
 15453	051322	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15454	051323	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15455	051324	207 02 0 00 000004 	ANCMB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15456	051325	200 05 0 00 061125 		MOVE	AC1,RAN		;C(E)-1'ST RAN NUM
 15457	051326	200 06 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15458	051327	464 06 0 00 000004 		ORCM	AC2,AC		;AN
 15459	051330	450 06 0 00 000000 		SETCA	AC2,		;ANDCM INST.
 15460	051331	423 04 0 00 000005 		ANDCMB	AC,AC1		;DO ANDCMB INST.
 15461	051332	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15462	051333	011 00 0 00 000002 		EERR	,RAN1
 15463	051334	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15464	051335	011 00 0 00 000002 		EERR	,RAN1
 15465						LOOP	ANCMB2,ANCMB3^
 15466	051336	367 03 0 00 051320 		SOJG	AC-1,ANCMB2		;ITERATION COUNTER
 15467	051337	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15468	051340	321 03 0 00 051324 		JUMPL	AC-1,ANCMB3		;LOOP ON ERROR SWITCH ^
 15469

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 62
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0400

 15470
 15471
 15472					;TEST SETAB.  CHECK FOR C(AC)=C(E), AND C(E)=CORRECT DATA
 15473					;RAN TO RAN1.
 15474
 15475
 15476			000005			AC=5
 15477	051341				SETAB1:	SETUP	100,0^
 15478			000006			AC1=<AC+1>&17
 15479			000007			AC2=<AC+2>&17
 15480			000010			AC3=<AC+3>&17
 15481			000011			AC4=<AC+4>&17
 15482			000012			AC5=<AC+5>&17
 15483			000003			RAN1=<AC-2>&17
 15484	051341	201 04 0 00 051341 		MOVEI	AC-1,.
 15485	051342	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15486	051343	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15487	051344	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15488	051345	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15489	051346	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15490	051347	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15491	051350				SETAB2:	RANDOM^
 15492	051350	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15493	051351	270 05 0 00 060657 		ADD	AC,[142536475076]
 15494	051352	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15495	051353	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15496	051354	207 03 0 00 000005 	SETAB3:	MOVSS	RAN1,AC		;C(AC) =SEC RAN NUM.
 15497	051355	200 06 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM.
 15498	051356	427 05 0 00 000006 		SETAB	AC,AC1		;DO A SETAB INST.
 15499	051357	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15500	051360	011 00 0 00 000003 		EERR	,RAN1
 15501	051361	312 06 0 00 000003 		CAME	AC1,RAN1	;C(E) SHOULD=ORIG. C(AC).
 15502	051362	011 00 0 00 000003 		EERR	,RAN1
 15503						LOOP	SETAB2,SETAB3^
 15504	051363	367 04 0 00 051350 		SOJG	AC-1,SETAB2		;ITERATION COUNTER
 15505	051364	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15506	051365	321 04 0 00 051354 		JUMPL	AC-1,SETAB3		;LOOP ON ERROR SWITCH ^
 15507

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 63
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0401

 15508
 15509
 15510					;TEST XORB.  CHECK FOR C(AC)=C(E),AND CORRECT DATA IN AC.
 15511					;RAN TO RAN1.
 15512
 15513
 15514			000006			AC=6
 15515	051366				XORB1:	SETUP	200,1^
 15516			000007			AC1=<AC+1>&17
 15517			000010			AC2=<AC+2>&17
 15518			000011			AC3=<AC+3>&17
 15519			000012			AC4=<AC+4>&17
 15520			000013			AC5=<AC+5>&17
 15521			000004			RAN1=<AC-2>&17
 15522	051366	201 05 0 00 051366 		MOVEI	AC-1,.
 15523	051367	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15524	051370	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15525	051371	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15526	051372	201 05 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15527	051373	240 05 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15528	051374	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15529	051375				XORB2:	RANDOM^
 15530	051375	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15531	051376	270 06 0 00 060657 		ADD	AC,[142536475076]
 15532	051377	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15533	051400	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15534	051401	207 04 0 00 000006 	XORB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15535	051402	200 07 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM
 15536	051403	200 10 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15537	051404	444 10 0 00 000006 		EQV	AC2,AC		;AN
 15538	051405	450 10 0 00 000000 		SETCA	AC2,		;XOR INST.
 15539	051406	433 06 0 00 000007 		XORB	AC,AC1		;DO AN XORB INST
 15540	051407	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15541	051410	011 00 0 00 000004 		EERR	,RAN1
 15542	051411	312 06 0 00 000010 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15543	051412	011 00 0 00 000004 		EERR	,RAN1
 15544						LOOP	XORB2,XORB3^
 15545	051413	367 05 0 00 051375 		SOJG	AC-1,XORB2		;ITERATION COUNTER
 15546	051414	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15547	051415	321 05 0 00 051401 		JUMPL	AC-1,XORB3		;LOOP ON ERROR SWITCH ^
 15548

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 64
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0402

 15549
 15550
 15551					;TEST IORB.  CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA.
 15552					;RAN TO RAN1.
 15553
 15554
 15555			000007			AC=7
 15556	051416				IORB1:	SETUP	200,1^
 15557			000010			AC1=<AC+1>&17
 15558			000011			AC2=<AC+2>&17
 15559			000012			AC3=<AC+3>&17
 15560			000013			AC4=<AC+4>&17
 15561			000014			AC5=<AC+5>&17
 15562			000005			RAN1=<AC-2>&17
 15563	051416	201 06 0 00 051416 		MOVEI	AC-1,.
 15564	051417	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15565	051420	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15566	051421	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15567	051422	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15568	051423	240 06 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15569	051424	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15570	051425				IORB2:	RANDOM^
 15571	051425	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15572	051426	270 07 0 00 060657 		ADD	AC,[142536475076]
 15573	051427	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15574	051430	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15575	051431	207 05 0 00 000007 	IORB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15576	051432	200 10 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM.
 15577	051433	200 11 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15578	051434	420 11 0 00 000007 		ANDCM	AC2,AC		;AN
 15579	051435	430 11 0 00 000007 		XOR	AC2,AC		;IOR INST.
 15580	051436	437 07 0 00 000010 		IORB	AC,AC1		;DO AN IORB INST
 15581	051437	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15582	051440	011 00 0 00 000005 		EERR	,RAN1
 15583	051441	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
 15584	051442	011 00 0 00 000005 		EERR	,RAN1
 15585						LOOP	IORB2,IORB3^
 15586	051443	367 06 0 00 051425 		SOJG	AC-1,IORB2		;ITERATION COUNTER
 15587	051444	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15588	051445	321 06 0 00 051431 		JUMPL	AC-1,IORB3		;LOOP ON ERROR SWITCH ^
 15589

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 65
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0403

 15590
 15591
 15592					;TEST ANDCBB.  CHECK C(AC)=C(E), AND C(AC)=CORRECT DATA.
 15593					;RAN TO RAN1
 15594
 15595
 15596			000010			AC=10
 15597	051446				ANCBB1:	SETUP	200,1^
 15598			000011			AC1=<AC+1>&17
 15599			000012			AC2=<AC+2>&17
 15600			000013			AC3=<AC+3>&17
 15601			000014			AC4=<AC+4>&17
 15602			000015			AC5=<AC+5>&17
 15603			000006			RAN1=<AC-2>&17
 15604	051446	201 07 0 00 051446 		MOVEI	AC-1,.
 15605	051447	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15606	051450	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15607	051451	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15608	051452	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15609	051453	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15610	051454	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15611	051455				ANCBB2:	RANDOM^
 15612	051455	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15613	051456	270 10 0 00 060657 		ADD	AC,[142536475076]
 15614	051457	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15615	051460	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15616	051461	207 06 0 00 000010 	ANCBB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15617	051462	200 11 0 00 061125 		MOVE	AC1,RAN		;C(AC)=1'ST RAN. NUM
 15618	051463	200 12 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15619	051464	434 12 0 00 000010 		IOR	AC2,AC		;AN
 15620	051465	450 12 0 00 000000 		SETCA	AC2,		;ANDCB INST
 15621	051466	443 10 0 00 000011 		ANDCBB	AC,AC1		;DO AN ANDCBB INST
 15622	051467	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=C(E)
 15623	051470	011 00 0 00 000006 		EERR	,RAN1
 15624	051471	312 10 0 00 000012 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15625	051472	011 00 0 00 000006 		EERR	,RAN1
 15626						LOOP	ANCBB2,ANCBB3^
 15627	051473	367 07 0 00 051455 		SOJG	AC-1,ANCBB2		;ITERATION COUNTER
 15628	051474	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15629	051475	321 07 0 00 051461 		JUMPL	AC-1,ANCBB3		;LOOP ON ERROR SWITCH ^
 15630

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 66
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0404

 15631
 15632
 15633					;TEST EQVB.  CHECK FOR C(AC)=C(E), AND CORRECT DATA IN AC.
 15634					;RAN TO RAN1
 15635
 15636
 15637			000011			AC=11
 15638	051476				EQVB1:	SETUP	200,1^
 15639			000012			AC1=<AC+1>&17
 15640			000013			AC2=<AC+2>&17
 15641			000014			AC3=<AC+3>&17
 15642			000015			AC4=<AC+4>&17
 15643			000016			AC5=<AC+5>&17
 15644			000007			RAN1=<AC-2>&17
 15645	051476	201 10 0 00 051476 		MOVEI	AC-1,.
 15646	051477	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15647	051500	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15648	051501	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15649	051502	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15650	051503	240 10 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15651	051504	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15652	051505				EQVB2:	RANDOM^
 15653	051505	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15654	051506	270 11 0 00 060657 		ADD	AC,[142536475076]
 15655	051507	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15656	051510	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15657	051511	207 07 0 00 000011 	EQVB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15658	051512	200 12 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM.
 15659	051513	200 13 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15660	051514	430 13 0 00 000011 		XOR	AC2,AC		;AN
 15661	051515	450 13 0 00 000000 		SETCA	AC2,		;EQV INST1
 15662	051516	447 11 0 00 000012 		EQVB	AC,AC1		;NO AN EQVB INST.
 15663	051517	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15664	051520	011 00 0 00 000007 		EERR	,RAN1
 15665	051521	312 11 0 00 000013 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15666	051522	011 00 0 00 000007 		EERR	,RAN1
 15667						LOOP	EQVB2,EQVB3^
 15668	051523	367 10 0 00 051505 		SOJG	AC-1,EQVB2		;ITERATION COUNTER
 15669	051524	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15670	051525	321 10 0 00 051511 		JUMPL	AC-1,EQVB3		;LOOP ON ERROR SWITCH ^
 15671

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 67
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0405

 15672
 15673
 15674					;TEST SETCAB.  CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA.
 15675					;RAN TO RAN1
 15676
 15677
 15678			000004			AC=4
 15679	051526				STCAB1:	SETUP	100,0^
 15680			000005			AC1=<AC+1>&17
 15681			000006			AC2=<AC+2>&17
 15682			000007			AC3=<AC+3>&17
 15683			000010			AC4=<AC+4>&17
 15684			000011			AC5=<AC+5>&17
 15685			000002			RAN1=<AC-2>&17
 15686	051526	201 03 0 00 051526 		MOVEI	AC-1,.
 15687	051527	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15688	051530	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15689	051531	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15690	051532	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15691	051533	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15692	051534	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15693	051535				STCAB2:	RANDOM^
 15694	051535	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15695	051536	270 04 0 00 060657 		ADD	AC,[142536475076]
 15696	051537	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15697	051540	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15698	051541	207 02 0 00 000004 	STCAB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15699	051542	200 05 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM
 15700	051543	460 06 0 00 000004 		SETCM	AC2,AC		;SIMULATE A SETCA INST.
 15701	051544	453 04 0 00 000005 		SETCAB	AC,AC1		;DO SETCAB INST
 15702	051545	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15703	051546	011 00 0 00 000002 		EERR	,RAN1
 15704	051547	312 04 0 00 000006 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15705	051550	011 00 0 00 000002 		EERR	,RAN1
 15706						LOOP	STCAB2,STCAB3^
 15707	051551	367 03 0 00 051535 		SOJG	AC-1,STCAB2		;ITERATION COUNTER
 15708	051552	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15709	051553	321 03 0 00 051541 		JUMPL	AC-1,STCAB3		;LOOP ON ERROR SWITCH ^
 15710

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 68
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0406

 15711
 15712
 15713					;TEST ORCAB.  CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA
 15714					;RAN TO RAN1
 15715
 15716
 15717			000005			AC=5
 15718	051554				ORCAB1:	SETUP	200,1^
 15719			000006			AC1=<AC+1>&17
 15720			000007			AC2=<AC+2>&17
 15721			000010			AC3=<AC+3>&17
 15722			000011			AC4=<AC+4>&17
 15723			000012			AC5=<AC+5>&17
 15724			000003			RAN1=<AC-2>&17
 15725	051554	201 04 0 00 051554 		MOVEI	AC-1,.
 15726	051555	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15727	051556	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15728	051557	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15729	051560	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15730	051561	240 04 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15731	051562	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15732	051563				ORCAB2:	RANDOM^
 15733	051563	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15734	051564	270 05 0 00 060657 		ADD	AC,[142536475076]
 15735	051565	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15736	051566	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15737	051567	207 03 0 00 000005 	ORCAB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15738	051570	200 06 0 00 061125 		MOVE	AC1,RAN		;C(E) =1'ST RAN. NUM
 15739	051571	460 07 0 00 000005 		SETCM	AC2,AC		;SIMULATE
 15740	051572	434 07 0 00 061125 		IOR	AC2,RAN		;AN ORCA INST.
 15741	051573	457 05 0 00 000006 		ORCAB	AC,AC1		;DO AN ORCAB INST
 15742	051574	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15743	051575	011 00 0 00 000003 		EERR	,RAN1
 15744	051576	312 05 0 00 000007 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15745	051577	011 00 0 00 000003 		EERR	,RAN1
 15746						LOOP	ORCAB2,ORCAB3^
 15747	051600	367 04 0 00 051563 		SOJG	AC-1,ORCAB2		;ITERATION COUNTER
 15748	051601	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15749	051602	321 04 0 00 051567 		JUMPL	AC-1,ORCAB3		;LOOP ON ERROR SWITCH ^
 15750

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 69
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0407

 15751
 15752
 15753					;TEST SETCMB.  CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA
 15754					;RAN TO RAN1
 15755
 15756
 15757			000006			AC=6
 15758	051603				STCMB1:	SETUP	100,0^
 15759			000007			AC1=<AC+1>&17
 15760			000010			AC2=<AC+2>&17
 15761			000011			AC3=<AC+3>&17
 15762			000012			AC4=<AC+4>&17
 15763			000013			AC5=<AC+5>&17
 15764			000004			RAN1=<AC-2>&17
 15765	051603	201 05 0 00 051603 		MOVEI	AC-1,.
 15766	051604	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15767	051605	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15768	051606	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15769	051607	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15770	051610	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15771	051611	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15772	051612				STCMB2:	RANDOM^
 15773	051612	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15774	051613	270 06 0 00 060657 		ADD	AC,[142536475076]
 15775	051614	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15776	051615	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15777	051616	207 04 0 00 000006 	STCMB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15778	051617	200 07 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN NUM.
 15779	051620	200 10 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15780	051621	450 10 0 00 000000 		SETCA	AC2,		;A SETCM INST.
 15781	051622	463 06 0 00 000007 		SETCMB	AC,AC1		;DO A SETCMB INST.
 15782	051623	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15783	051624	011 00 0 00 000004 		EERR	,RAN1
 15784	051625	312 06 0 00 000010 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
 15785	051626	011 00 0 00 000004 		EERR	,RAN1
 15786						LOOP	STCMB2,STCMB3^
 15787	051627	367 05 0 00 051612 		SOJG	AC-1,STCMB2		;ITERATION COUNTER
 15788	051630	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15789	051631	321 05 0 00 051616 		JUMPL	AC-1,STCMB3		;LOOP ON ERROR SWITCH ^
 15790

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 70
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0408

 15791
 15792
 15793					;TEST ORCMB.  CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA.
 15794					;RAN TO RAN1
 15795
 15796
 15797			000007			AC=7
 15798	051632				ORCMB1:	SETUP	200,1^
 15799			000010			AC1=<AC+1>&17
 15800			000011			AC2=<AC+2>&17
 15801			000012			AC3=<AC+3>&17
 15802			000013			AC4=<AC+4>&17
 15803			000014			AC5=<AC+5>&17
 15804			000005			RAN1=<AC-2>&17
 15805	051632	201 06 0 00 051632 		MOVEI	AC-1,.
 15806	051633	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15807	051634	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15808	051635	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15809	051636	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15810	051637	240 06 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15811	051640	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15812	051641				ORCMB2:	RANDOM^
 15813	051641	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15814	051642	270 07 0 00 060657 		ADD	AC,[142536475076]
 15815	051643	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15816	051644	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15817	051645	207 05 0 00 000007 	ORCMB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15818	051646	200 10 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM
 15819	051647	200 11 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15820	051650	420 11 0 00 000007 		ANDCM	AC2,AC		;AN
 15821	051651	450 11 0 00 000000 		SETCA	AC2,		;ORCM INST.
 15822	051652	467 07 0 00 000010 		ORCMB	AC,AC1		;DO AN ORCMB INST.
 15823	051653	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15824	051654	011 00 0 00 000005 		EERR	,RAN1
 15825	051655	312 07 0 00 000011 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS.
 15826	051656	011 00 0 00 000005 		EERR	,RAN1
 15827						LOOP	ORCMB2,ORCMB3^
 15828	051657	367 06 0 00 051641 		SOJG	AC-1,ORCMB2		;ITERATION COUNTER
 15829	051660	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15830	051661	321 06 0 00 051645 		JUMPL	AC-1,ORCMB3		;LOOP ON ERROR SWITCH ^
 15831

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 71
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0409

 15832
 15833
 15834					;TEST ORCBB. CHECK FOR C(AC)=C(E), AND C(AC)=CORRECT DATA
 15835					;RAN TO RAN1.
 15836
 15837
 15838			000010			AC=10
 15839	051662				ORCBB1:	SETUP	200,1^
 15840			000011			AC1=<AC+1>&17
 15841			000012			AC2=<AC+2>&17
 15842			000013			AC3=<AC+3>&17
 15843			000014			AC4=<AC+4>&17
 15844			000015			AC5=<AC+5>&17
 15845			000006			RAN1=<AC-2>&17
 15846	051662	201 07 0 00 051662 		MOVEI	AC-1,.
 15847	051663	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15848	051664	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15849	051665	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15850	051666	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 15851	051667	240 07 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 15852	051670	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15853	051671				ORCBB2:	RANDOM^
 15854	051671	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15855	051672	270 10 0 00 060657 		ADD	AC,[142536475076]
 15856	051673	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15857	051674	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15858	051675	207 06 0 00 000010 	ORCBB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15859	051676	200 11 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN NUM
 15860	051677	200 12 0 00 061125 		MOVE	AC2,RAN		;SIMULATE
 15861	051700	404 12 0 00 000010 		AND	AC2,AC		;AN
 15862	051701	450 12 0 00 000000 		SETCA	AC2,		;ORCB INST.
 15863	051702	473 10 0 00 000011 		ORCBB	AC,AC1		;DO AN ORCBB INST.
 15864	051703	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15865	051704	011 00 0 00 000006 		EERR	,RAN1
 15866	051705	312 10 0 00 000012 		CAME	AC,AC2		;C(AC) SHOULD=SIM. ANS
 15867	051706	011 00 0 00 000006 		EERR	,RAN1
 15868						LOOP	ORCBB2,ORCBB3^
 15869	051707	367 07 0 00 051671 		SOJG	AC-1,ORCBB2		;ITERATION COUNTER
 15870	051710	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15871	051711	321 07 0 00 051675 		JUMPL	AC-1,ORCBB3		;LOOP ON ERROR SWITCH ^
 15872

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 72
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0410

 15873
 15874
 15875					;TEST SETOB.  CHECK FOR C(AC)=C(E), AND C(AC)=-1.
 15876					;RAN TO RAN1
 15877
 15878
 15879			000010			AC=10
 15880	051712				STOB1:	SETUP	100,0^
 15881			000011			AC1=<AC+1>&17
 15882			000012			AC2=<AC+2>&17
 15883			000013			AC3=<AC+3>&17
 15884			000014			AC4=<AC+4>&17
 15885			000015			AC5=<AC+5>&17
 15886			000006			RAN1=<AC-2>&17
 15887	051712	201 07 0 00 051712 		MOVEI	AC-1,.
 15888	051713	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15889	051714	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15890	051715	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15891	051716	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15892	051717	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15893	051720	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15894	051721				STOB2:	RANDOM^
 15895	051721	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15896	051722	270 10 0 00 060657 		ADD	AC,[142536475076]
 15897	051723	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15898	051724	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15899	051725	207 06 0 00 000010 	STOB3:	MOVSS	RAN1,AC		;C(AC) = SEC RAN NUM.
 15900	051726	200 11 0 00 061125 		MOVE	AC1,RAN		;C(E)=1'ST RAN. NUM
 15901	051727	477 10 0 00 000011 		SETOB	AC,AC1		;DO A SETOB INST.
 15902	051730	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=C(E).
 15903	051731	011 00 0 00 000006 		EERR	,RAN1
 15904	051732	312 10 0 00 060662 		CAME	AC,[-1]		;C(AC) SHOULD=-1
 15905	051733	011 00 0 00 000006 		EERR	,RAN1
 15906						LOOP	STOB2,STOB3^
 15907	051734	367 07 0 00 051721 		SOJG	AC-1,STOB2		;ITERATION COUNTER
 15908	051735	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15909	051736	321 07 0 00 051725 		JUMPL	AC-1,STOB3		;LOOP ON ERROR SWITCH ^
 15910

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 73
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0411

 15911
 15912
 15913					;TEST HLL. CHECK C(AC) FOR CORRECT DATA
 15914					;RAN TO RAN1.
 15915
 15916
 15917			000003			AC=3
 15918	051737				HLL1:	SETUP	100,0^
 15919			000004			AC1=<AC+1>&17
 15920			000005			AC2=<AC+2>&17
 15921			000006			AC3=<AC+3>&17
 15922			000007			AC4=<AC+4>&17
 15923			000010			AC5=<AC+5>&17
 15924			000001			RAN1=<AC-2>&17
 15925	051737	201 02 0 00 051737 		MOVEI	AC-1,.
 15926	051740	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15927	051741	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15928	051742	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15929	051743	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15930	051744	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15931	051745	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15932	051746				HLL2:	RANDOM^
 15933	051746	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15934	051747	270 03 0 00 060657 		ADD	AC,[142536475076]
 15935	051750	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15936	051751	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15937	051752	241 03 0 00 000011 	HLL3:	ROT	AC,11		;MAKE C(AC) A DIFFERENT RAN NUM.
 15938	051753	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 15939	051754	201 04 0 03 000000 		MOVEI	AC1,(AC)	;SIMULATE
 15940	051755	204 05 0 00 061125 		MOVS	AC2,RAN		;A
 15941	051756	661 04 0 05 000000 		TLO	AC1,(AC2)	;HLL.
 15942	051757	500 03 0 00 061125 		HLL	AC,RAN		;DO HLL.
 15943	051760	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 15944	051761	001 04 0 00 000001 		ERR	AC1,RAN1
 15945						LOOP	HLL2,HLL3^
 15946	051762	367 02 0 00 051746 		SOJG	AC-1,HLL2		;ITERATION COUNTER
 15947	051763	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15948	051764	321 02 0 00 051752 		JUMPL	AC-1,HLL3		;LOOP ON ERROR SWITCH ^
 15949

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 74
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0412

 15950
 15951
 15952					;TEST HLLI.  CHECK C(AC) FOR CORRECT DATA
 15953					;RAN TO RAN1.
 15954
 15955
 15956			000003			AC=3
 15957	051765				HLLI1:	SETUP	100,0^
 15958			000004			AC1=<AC+1>&17
 15959			000005			AC2=<AC+2>&17
 15960			000006			AC3=<AC+3>&17
 15961			000007			AC4=<AC+4>&17
 15962			000010			AC5=<AC+5>&17
 15963			000001			RAN1=<AC-2>&17
 15964	051765	201 02 0 00 051765 		MOVEI	AC-1,.
 15965	051766	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 15966	051767	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 15967	051770	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 15968	051771	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 15969	051772	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 15970	051773	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 15971	051774				HLLI2:	RANDOM^
 15972	051774	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 15973	051775	270 03 0 00 060657 		ADD	AC,[142536475076]
 15974	051776	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 15975	051777	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 15976	052000	200 05 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 15977	052001	241 03 0 00 000011 	HLLI3:	ROT	AC,11		;MAKE C(AC) DIFF. RAN. NUM.
 15978	052002	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 15979	052003	201 04 0 03 000000 		MOVEI	AC1,(AC)	;SIMULATE A HLLI.
 15980	052004	501 03 0 05 000000 		HLLI	AC,(AC2)	;DO HLLI.
 15981	052005	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 15982	052006	003 01 0 05 000000 		ERRI	RAN1,(AC2)
 15983						LOOP	HLLI2,HLLI3^
 15984	052007	367 02 0 00 051774 		SOJG	AC-1,HLLI2		;ITERATION COUNTER
 15985	052010	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 15986	052011	321 02 0 00 052001 		JUMPL	AC-1,HLLI3		;LOOP ON ERROR SWITCH ^
 15987

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 75
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0413

 15988
 15989
 15990					;TEST HLLM.  CHECK C(E) FOR CORRECT DATA.
 15991					;RAN1 TO RAN1.
 15992
 15993
 15994			000003			AC=3
 15995	052012				HLLM1:	SETUP	100,0^
 15996			000004			AC1=<AC+1>&17
 15997			000005			AC2=<AC+2>&17
 15998			000006			AC3=<AC+3>&17
 15999			000007			AC4=<AC+4>&17
 16000			000010			AC5=<AC+5>&17
 16001			000001			RAN1=<AC-2>&17
 16002	052012	201 02 0 00 052012 		MOVEI	AC-1,.
 16003	052013	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16004	052014	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16005	052015	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16006	052016	201 02 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16007	052017	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16008	052020	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16009	052021				HLLM2:	RANDOM^
 16010	052021	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16011	052022	270 03 0 00 060657 		ADD	AC,[142536475076]
 16012	052023	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16013	052024	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16014	052025	200 06 0 00 061125 		MOVE	AC3,RAN		;SAVE C(AC) IN CASE OF ERROR.
 16015	052026	241 03 0 00 000011 	HLLM3:	ROT	AC,11		;MAKE C (E) A DIFFERENT RAN NUM
 16016	052027	202 03 0 00 000001 		MOVEM	AC,RAN1		;SAVE IN CASE OF ERROR
 16017	052030	201 04 0 03 000000 		MOVEI	AC1,(AC)	;SIMULATE
 16018	052031	204 05 0 00 061125 		MOVS	AC2,RAN		;A
 16019	052032	661 04 0 05 000000 		TLO	AC1,(AC2)	;HLLM
 16020	052033	502 06 0 00 000003 		HLLM	AC3,AC		;DO HLLM.
 16021	052034	312 04 0 00 000003 		CAME	AC1,AC		;C(E) SHOULD=SIM ANS
 16022	052035	002 01 0 00 000006 		ERRM	RAN1,AC3
 16023						LOOP	HLLM2,HLLM3^
 16024	052036	367 02 0 00 052021 		SOJG	AC-1,HLLM2		;ITERATION COUNTER
 16025	052037	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16026	052040	321 02 0 00 052026 		JUMPL	AC-1,HLLM3		;LOOP ON ERROR SWITCH ^
 16027
 16028
 16029

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 76
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0414

 16030
 16031
 16032					;TEST HLLS.
 16033					;CHECK C(E), C(E) SHOULD NOT CHANGE, AND CORRECT
 16034					;LOADING OF C(E) INTO AC.
 16035					;RAN TO RAN.
 16036
 16037
 16038			000004			AC=4
 16039	052041				HLLS1:	SETUP	100,0^
 16040			000005			AC1=<AC+1>&17
 16041			000006			AC2=<AC+2>&17
 16042			000007			AC3=<AC+3>&17
 16043			000010			AC4=<AC+4>&17
 16044			000011			AC5=<AC+5>&17
 16045			000002			RAN1=<AC-2>&17
 16046	052041	201 03 0 00 052041 		MOVEI	AC-1,.
 16047	052042	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16048	052043	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16049	052044	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16050	052045	201 03 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16051	052046	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16052	052047	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16053	052050				HLLS2:	RANDOM^
 16054	052050	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16055	052051	270 04 0 00 060657 		ADD	AC,[142536475076]
 16056	052052	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16057	052053	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16058	052054	200 06 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN FOR FUTURE COMPARE.
 16059	052055	477 05 0 00 000002 	HLLS3:	SETOB	AC1,RAN1	;MAKE C (AC)=-1
 16060	052056	503 05 0 00 000004 		HLLS	AC1,AC		;DO HLLS
 16061	052057	312 05 0 00 000004 		CAME	AC1,AC		;C(AC) SHOULD=C(E)
 16062	052060	012 00 0 00 000002 		EERRM	,RAN1
 16063	052061	312 06 0 00 000004 		CAME	AC2,AC		;C(E) SHOULD = ORIG C(AC).
 16064	052062	012 00 0 00 000002 		EERRM	,RAN1
 16065						LOOP	HLLS2,HLLS3^
 16066	052063	367 03 0 00 052050 		SOJG	AC-1,HLLS2		;ITERATION COUNTER
 16067	052064	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16068	052065	321 03 0 00 052055 		JUMPL	AC-1,HLLS3		;LOOP ON ERROR SWITCH ^
 16069

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 77
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0415

 16070
 16071
 16072					;TEST HRR. CHECK C(AC) FOR CORRECT DATA
 16073					;RAN TO RAN1.
 16074
 16075
 16076			000005			AC=5
 16077	052066				HRR1:	SETUP	100,0^
 16078			000006			AC1=<AC+1>&17
 16079			000007			AC2=<AC+2>&17
 16080			000010			AC3=<AC+3>&17
 16081			000011			AC4=<AC+4>&17
 16082			000012			AC5=<AC+5>&17
 16083			000003			RAN1=<AC-2>&17
 16084	052066	201 04 0 00 052066 		MOVEI	AC-1,.
 16085	052067	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16086	052070	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16087	052071	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16088	052072	201 04 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16089	052073	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16090	052074	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16091	052075				HRR2:	RANDOM^
 16092	052075	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16093	052076	270 05 0 00 060657 		ADD	AC,[142536475076]
 16094	052077	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16095	052100	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16096	052101	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN ANOTHER AC.
 16097	052102	241 05 0 00 000011 	HRR3:	ROT	AC,11		;MAKE C(AC) A DIFFERENT RAN NUM
 16098	052103	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 16099	052104	200 06 0 00 000005 		MOVE	AC1,AC		;SIMULATE
 16100	052105	620 06 0 00 777777 		TRZ	AC1,-1		;A
 16101	052106	660 06 0 07 000000 		TRO	AC1,(AC2)	;HRR.
 16102	052107	540 05 0 00 061125 		HRR	AC,RAN		;DO HRR
 16103	052110	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16104	052111	001 07 0 00 000003 		ERR	AC2,RAN1
 16105						LOOP	HRR2,HRR3^
 16106	052112	367 04 0 00 052075 		SOJG	AC-1,HRR2		;ITERATION COUNTER
 16107	052113	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16108	052114	321 04 0 00 052102 		JUMPL	AC-1,HRR3		;LOOP ON ERROR SWITCH ^
 16109

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 78
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0416

 16110
 16111
 16112					;TEST HRRI. CHECK C(AC) FOR CORRECT DATA
 16113					;RAN TO RAN1
 16114
 16115
 16116			000006			AC=6
 16117	052115				HRRI1:	SETUP	100,0^
 16118			000007			AC1=<AC+1>&17
 16119			000010			AC2=<AC+2>&17
 16120			000011			AC3=<AC+3>&17
 16121			000012			AC4=<AC+4>&17
 16122			000013			AC5=<AC+5>&17
 16123			000004			RAN1=<AC-2>&17
 16124	052115	201 05 0 00 052115 		MOVEI	AC-1,.
 16125	052116	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16126	052117	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16127	052120	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16128	052121	201 05 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16129	052122	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16130	052123	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16131	052124				HRRI2:	RANDOM^
 16132	052124	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16133	052125	270 06 0 00 060657 		ADD	AC,[142536475076]
 16134	052126	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16135	052127	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16136	052130	200 10 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 16137	052131	241 06 0 00 000011 	HRRI3:	ROT	AC,11		;MAKE C(AC)=DIFFERENT RAN. NUM
 16138	052132	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF AN ERROR
 16139	052133	200 07 0 00 000006 		MOVE	AC1,AC		;SIMULATE
 16140	052134	620 07 0 00 777777 		TRZ	AC1,-1		;A
 16141	052135	660 07 0 10 000000 		TRO	AC1,(AC2)	;HRRI.
 16142	052136	541 06 0 10 000000 		HRRI	AC,(AC2)	;DO HRRI.
 16143	052137	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16144	052140	003 04 0 10 000000 		ERRI	RAN1,(AC2)
 16145						LOOP	HRRI2,HRRI3^
 16146	052141	367 05 0 00 052124 		SOJG	AC-1,HRRI2		;ITERATION COUNTER
 16147	052142	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16148	052143	321 05 0 00 052131 		JUMPL	AC-1,HRRI3		;LOOP ON ERROR SWITCH ^
 16149

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 79
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0417

 16150
 16151
 16152					;TEST HRRM. CHECK C(E) FOR CORRECT DATA.
 16153					;RAN TO RAN1
 16154
 16155
 16156			000007			AC=7
 16157	052144				HRRM1:	SETUP	100,0^
 16158			000010			AC1=<AC+1>&17
 16159			000011			AC2=<AC+2>&17
 16160			000012			AC3=<AC+3>&17
 16161			000013			AC4=<AC+4>&17
 16162			000014			AC5=<AC+5>&17
 16163			000005			RAN1=<AC-2>&17
 16164	052144	201 06 0 00 052144 		MOVEI	AC-1,.
 16165	052145	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16166	052146	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16167	052147	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16168	052150	201 06 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16169	052151	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16170	052152	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16171	052153				HRRM2:	RANDOM^
 16172	052153	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16173	052154	270 07 0 00 060657 		ADD	AC,[142536475076]
 16174	052155	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16175	052156	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16176	052157	200 11 0 00 061125 		MOVE	AC2,RAN		;SAVE C(AC).
 16177	052160	241 07 0 00 000011 	HRRM3:	ROT	AC,11		;MAKE C(E)=DIFFERENT RAN. NUM
 16178	052161	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16179	052162	200 10 0 00 000007 		MOVE	AC1,AC		;SIMULATE
 16180	052163	620 10 0 00 777777 		TRZ	AC1,-1		;A
 16181	052164	660 10 0 11 000000 		TRO	AC1,(AC2)	;HRRM.
 16182	052165	542 11 0 00 000007 		HRRM	AC2,AC		;DO HRRM.
 16183	052166	312 10 0 00 000007 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS.
 16184	052167	002 05 0 00 061125 		ERRM	RAN1,RAN
 16185						LOOP	HRRM2,HRRM3^
 16186	052170	367 06 0 00 052153 		SOJG	AC-1,HRRM2		;ITERATION COUNTER
 16187	052171	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16188	052172	321 06 0 00 052160 		JUMPL	AC-1,HRRM3		;LOOP ON ERROR SWITCH ^
 16189

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 80
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0418

 16190
 16191
 16192					;TEST HRRS.  CHECK C(E) FOR NOT CHANGING, AND
 16193					;CORRECT STORING OF C(E) INTO AC.
 16194					;RAN TO RAN
 16195
 16196
 16197			000010			AC=10
 16198	052173				HRRS1:	SETUP	100,0^
 16199			000011			AC1=<AC+1>&17
 16200			000012			AC2=<AC+2>&17
 16201			000013			AC3=<AC+3>&17
 16202			000014			AC4=<AC+4>&17
 16203			000015			AC5=<AC+5>&17
 16204			000006			RAN1=<AC-2>&17
 16205	052173	201 07 0 00 052173 		MOVEI	AC-1,.
 16206	052174	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16207	052175	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16208	052176	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16209	052177	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16210	052200	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16211	052201	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16212	052202				HRRS2:	RANDOM^
 16213	052202	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16214	052203	270 10 0 00 060657 		ADD	AC,[142536475076]
 16215	052204	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16216	052205	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16217	052206	200 12 0 00 061125 		MOVE	AC2,RAN		;SAVE C(AC).
 16218	052207	477 11 0 00 000006 	HRRS3:	SETOB	AC1,RAN1	;SET C(AC)=-1
 16219	052210	543 11 0 00 000010 		HRRS	AC1,AC		;DO HRRS
 16220	052211	312 11 0 00 000010 		CAME	AC1,AC		;C(AC) SHOULD=C(E)
 16221	052212	002 12 0 00 000006 		ERRM	AC2,RAN1
 16222	052213	312 12 0 00 000010 		CAME	AC2,AC		;C(E) SHOULD = ORIG. C(E).
 16223	052214	002 12 0 00 000006 		ERRM	AC2,RAN1
 16224						LOOP	HRRS2,HRRS3^
 16225	052215	367 07 0 00 052202 		SOJG	AC-1,HRRS2		;ITERATION COUNTER
 16226	052216	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16227	052217	321 07 0 00 052207 		JUMPL	AC-1,HRRS3		;LOOP ON ERROR SWITCH ^
 16228

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 81
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0419

 16229
 16230
 16231					;TEST HRL.  CHECK C(AC) FOR CORRECT DATA
 16232					;RAN TO RAN1.
 16233
 16234
 16235			000011			AC=11
 16236	052220				HRL1:	SETUP	140,0^
 16237			000012			AC1=<AC+1>&17
 16238			000013			AC2=<AC+2>&17
 16239			000014			AC3=<AC+3>&17
 16240			000015			AC4=<AC+4>&17
 16241			000016			AC5=<AC+5>&17
 16242			000007			RAN1=<AC-2>&17
 16243	052220	201 10 0 00 052220 		MOVEI	AC-1,.
 16244	052221	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16245	052222	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16246	052223	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16247	052224	201 10 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16248	052225	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16249	052226	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16250	052227				HRL2:	RANDOM^
 16251	052227	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16252	052230	270 11 0 00 060657 		ADD	AC,[142536475076]
 16253	052231	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16254	052232	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16255	052233	200 13 0 00 061125 		MOVE	AC2,RAN		;SAVE C(E).
 16256	052234	241 11 0 00 000011 	HRL3:	ROT	AC,11		;C(AC)=SECOND RANDOM NUM
 16257	052235	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR.
 16258	052236	205 12 0 13 000000 		MOVSI	AC1,(AC2)	;SIMULATE
 16259	052237	660 12 0 11 000000 		TRO	AC1,(AC)	;A HRL
 16260	052240	504 11 0 00 061125 		HRL	AC,RAN		;DO HRL
 16261	052241	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16262	052242	001 13 0 00 000007 		ERR	AC2,RAN1
 16263						LOOP	HRL2,HRL3^
 16264	052243	367 10 0 00 052227 		SOJG	AC-1,HRL2		;ITERATION COUNTER
 16265	052244	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16266	052245	321 10 0 00 052234 		JUMPL	AC-1,HRL3		;LOOP ON ERROR SWITCH ^
 16267

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 82
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0420

 16268
 16269
 16270					;TEST HRLI.  CHECK C(AC)FOR CORRECT DATA.
 16271					;RAN TO RAN1
 16272
 16273
 16274			000004			AC=4
 16275	052246				HRLI1:	SETUP	140,0^
 16276			000005			AC1=<AC+1>&17
 16277			000006			AC2=<AC+2>&17
 16278			000007			AC3=<AC+3>&17
 16279			000010			AC4=<AC+4>&17
 16280			000011			AC5=<AC+5>&17
 16281			000002			RAN1=<AC-2>&17
 16282	052246	201 03 0 00 052246 		MOVEI	AC-1,.
 16283	052247	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16284	052250	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16285	052251	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16286	052252	201 03 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16287	052253	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16288	052254	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16289	052255				HRLI2:	RANDOM^
 16290	052255	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16291	052256	270 04 0 00 060657 		ADD	AC,[142536475076]
 16292	052257	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16293	052260	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16294	052261	200 06 0 00 061125 		MOVE	AC2,RAN		;SAVE E.
 16295	052262	241 04 0 00 000011 	HRLI3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16296	052263	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR.
 16297	052264	205 05 0 06 000000 		MOVSI	AC1,(AC2)	;SIMULATE
 16298	052265	660 05 0 04 000000 		TRO	AC1,(AC)	;A HRLI
 16299	052266	505 04 0 06 000000 		HRLI	AC,(AC2)	;DO HRLI.
 16300	052267	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16301	052270	003 02 0 06 000000 		ERRI	RAN1,(AC2)
 16302						LOOP	HRLI2,HRLI3^
 16303	052271	367 03 0 00 052255 		SOJG	AC-1,HRLI2		;ITERATION COUNTER
 16304	052272	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16305	052273	321 03 0 00 052262 		JUMPL	AC-1,HRLI3		;LOOP ON ERROR SWITCH ^
 16306

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 83
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0421

 16307
 16308
 16309					;TEST HRLM.  CHECK C(E) FOR CORRECT DATA.
 16310					;RAN TO RAN1
 16311
 16312
 16313			000005			AC=5
 16314	052274				HRLM1:	SETUP	140,0^
 16315			000006			AC1=<AC+1>&17
 16316			000007			AC2=<AC+2>&17
 16317			000010			AC3=<AC+3>&17
 16318			000011			AC4=<AC+4>&17
 16319			000012			AC5=<AC+5>&17
 16320			000003			RAN1=<AC-2>&17
 16321	052274	201 04 0 00 052274 		MOVEI	AC-1,.
 16322	052275	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16323	052276	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16324	052277	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16325	052300	201 04 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16326	052301	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16327	052302	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16328	052303				HRLM2:	RANDOM^
 16329	052303	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16330	052304	270 05 0 00 060657 		ADD	AC,[142536475076]
 16331	052305	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16332	052306	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16333	052307	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16334	052310	241 05 0 00 000011 	HRLM3:	ROT	AC,11		;C(E)=SECOND RAN NUM
 16335	052311	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16336	052312	205 06 0 07 000000 		MOVSI	AC1,(AC2)	;SIMULATE
 16337	052313	660 06 0 05 000000 		TRO	AC1,(AC)	;A HRLM
 16338	052314	506 07 0 00 000005 		HRLM	AC2,AC		;DO HRLM.
 16339	052315	312 06 0 00 000005 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS.
 16340	052316	002 03 0 00 061125 		ERRM	RAN1,RAN
 16341						LOOP	HRLM2,HRLM3^
 16342	052317	367 04 0 00 052303 		SOJG	AC-1,HRLM2		;ITERATION COUNTER
 16343	052320	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16344	052321	321 04 0 00 052310 		JUMPL	AC-1,HRLM3		;LOOP ON ERROR SWITCH ^
 16345

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 84
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0422

 16346
 16347
 16348					;TEST HRLS.  CHECK C(E) FOR CORRECT DATA, AND
 16349					;CORRECT STORING OF C(E) INTO AC.
 16350					;RAN TO RAN
 16351
 16352
 16353			000006			AC=6
 16354	052322				HRLS1:	SETUP	140,0^
 16355			000007			AC1=<AC+1>&17
 16356			000010			AC2=<AC+2>&17
 16357			000011			AC3=<AC+3>&17
 16358			000012			AC4=<AC+4>&17
 16359			000013			AC5=<AC+5>&17
 16360			000004			RAN1=<AC-2>&17
 16361	052322	201 05 0 00 052322 		MOVEI	AC-1,.
 16362	052323	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16363	052324	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16364	052325	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16365	052326	201 05 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16366	052327	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16367	052330	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16368	052331				HRLS2:	RANDOM^
 16369	052331	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16370	052332	270 06 0 00 060657 		ADD	AC,[142536475076]
 16371	052333	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16372	052334	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16373	052335	477 07 0 00 000004 	HRLS3:	SETOB	AC1,RAN1	;SET C(AC) TO -1
 16374	052336	205 10 0 06 000000 		MOVSI	AC2,(AC)	;SIMULATE
 16375	052337	660 10 0 06 000000 		TRO	AC2,(AC)	;A HRLS
 16376	052340	507 07 0 00 000006 		HRLS	AC1,AC		;DO HRLS
 16377	052341	312 07 0 00 000006 		CAME	AC1,AC		;C(AC) SHOULD=C(F) AFTER HRLS
 16378	052342	012 00 0 00 000004 		EERRM	,RAN1
 16379	052343	312 10 0 00 000006 		CAME	AC2,AC		;C(E) SHOULD=SIM. ANS
 16380	052344	012 00 0 00 000004 		EERRM	,RAN1
 16381						LOOP	HRLS2,HRLS3^
 16382	052345	367 05 0 00 052331 		SOJG	AC-1,HRLS2		;ITERATION COUNTER
 16383	052346	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16384	052347	321 05 0 00 052335 		JUMPL	AC-1,HRLS3		;LOOP ON ERROR SWITCH ^
 16385

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 85
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0423

 16386
 16387
 16388					;TEST HLR.  CHECK C(AC) FOR CORRECT DATA
 16389					;RAN TO RAN1
 16390
 16391
 16392			000007			AC=7
 16393	052350				HLR1:	SETUP	140,0^
 16394			000010			AC1=<AC+1>&17
 16395			000011			AC2=<AC+2>&17
 16396			000012			AC3=<AC+3>&17
 16397			000013			AC4=<AC+4>&17
 16398			000014			AC5=<AC+5>&17
 16399			000005			RAN1=<AC-2>&17
 16400	052350	201 06 0 00 052350 		MOVEI	AC-1,.
 16401	052351	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16402	052352	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16403	052353	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16404	052354	201 06 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16405	052355	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16406	052356	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16407	052357				HLR2:	RANDOM^
 16408	052357	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16409	052360	270 07 0 00 060657 		ADD	AC,[142536475076]
 16410	052361	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16411	052362	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16412	052363	241 07 0 00 000011 	HLR3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16413	052364	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16414	052365	200 10 0 00 000007 		MOVE	AC1,AC		;SIMULATE
 16415	052366	620 10 0 00 777777 		TRZ	AC1,-1		;A
 16416	052367	204 11 0 00 061125 		MOVS	AC2,RAN		;HLR
 16417	052370	660 10 0 11 000000 		TRO	AC1,(AC2)	;INST
 16418	052371	544 07 0 00 061125 		HLR	AC,RAN		;DO HLR
 16419	052372	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16420	052373	011 00 0 00 000005 		EERR	,RAN1
 16421						LOOP	HLR2,HLR3^
 16422	052374	367 06 0 00 052357 		SOJG	AC-1,HLR2		;ITERATION COUNTER
 16423	052375	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16424	052376	321 06 0 00 052363 		JUMPL	AC-1,HLR3		;LOOP ON ERROR SWITCH ^
 16425

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 86
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0424

 16426
 16427
 16428					;TEST HLRI.  CHECK C(AC) FOR CORRECT DATA
 16429					;RAN TO RAN1
 16430
 16431
 16432			000010			AC=10
 16433	052377				HLRI1:	SETUP	140,0^
 16434			000011			AC1=<AC+1>&17
 16435			000012			AC2=<AC+2>&17
 16436			000013			AC3=<AC+3>&17
 16437			000014			AC4=<AC+4>&17
 16438			000015			AC5=<AC+5>&17
 16439			000006			RAN1=<AC-2>&17
 16440	052377	201 07 0 00 052377 		MOVEI	AC-1,.
 16441	052400	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16442	052401	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16443	052402	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16444	052403	201 07 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16445	052404	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16446	052405	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16447	052406				HLRI2:	RANDOM^
 16448	052406	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16449	052407	270 10 0 00 060657 		ADD	AC,[142536475076]
 16450	052410	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16451	052411	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16452	052412	200 13 0 00 061125 		MOVE	AC3,RAN		;SAVE RAN IN AN AC.
 16453	052413	241 10 0 00 000011 	HLRI3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16454	052414	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16455	052415	200 11 0 00 000010 		MOVE	AC1,AC		;SIMULATE
 16456	052416	620 11 0 00 777777 		TRZ	AC1,-1		;A HLRI
 16457	052417	545 10 0 13 000000 		HLRI	AC,(AC3)	;DO HLRI.
 16458	052420	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=SIMULATED ANS
 16459	052421	003 06 0 13 000000 		ERRI	RAN1,(AC3)
 16460						LOOP	HLRI2,HLRI3^
 16461	052422	367 07 0 00 052406 		SOJG	AC-1,HLRI2		;ITERATION COUNTER
 16462	052423	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16463	052424	321 07 0 00 052413 		JUMPL	AC-1,HLRI3		;LOOP ON ERROR SWITCH ^
 16464

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 87
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0425

 16465
 16466
 16467					;TEST HLRM  CHECK C(E) FOR CORRECT DATA
 16468					;RAN TO RAN1.
 16469
 16470
 16471			000010			AC=10
 16472	052425				HLRM1:	SETUP	100,0^
 16473			000011			AC1=<AC+1>&17
 16474			000012			AC2=<AC+2>&17
 16475			000013			AC3=<AC+3>&17
 16476			000014			AC4=<AC+4>&17
 16477			000015			AC5=<AC+5>&17
 16478			000006			RAN1=<AC-2>&17
 16479	052425	201 07 0 00 052425 		MOVEI	AC-1,.
 16480	052426	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16481	052427	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16482	052430	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16483	052431	201 07 0 00 000100 		MOVEI	AC-1,100		;ROUTINE WEIGHTING
 16484	052432	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16485	052433	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16486	052434				HLRM2:	RANDOM^
 16487	052434	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16488	052435	270 10 0 00 060657 		ADD	AC,[142536475076]
 16489	052436	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16490	052437	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16491	052440	200 13 0 00 061125 		MOVE	AC3,RAN		;SAVE RAN IN AN AC.
 16492	052441	241 10 0 00 000011 	HLRM3:	ROT	AC,11		;C(AC)=SECOND RAN. NUM
 16493	052442	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16494	052443	200 11 0 00 000010 		MOVE	AC1,AC		;SIMULATE
 16495	052444	620 11 0 00 777777 		TRZ	AC1,-1		;A
 16496	052445	204 12 0 00 061125 		MOVS	AC2,RAN		;HLRM
 16497	052446	660 11 0 12 000000 		TRO	AC1,(AC2)	;INST
 16498	052447	546 13 0 00 000010 		HLRM	AC3,AC		;DO HLRM.
 16499	052450	312 11 0 00 000010 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 16500	052451	002 06 0 00 061125 		ERRM	RAN1,RAN
 16501						LOOP	HLRM2,HLRM3^
 16502	052452	367 07 0 00 052434 		SOJG	AC-1,HLRM2		;ITERATION COUNTER
 16503	052453	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16504	052454	321 07 0 00 052441 		JUMPL	AC-1,HLRM3		;LOOP ON ERROR SWITCH ^
 16505

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 88
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0426

 16506
 16507
 16508					;TEST HLRS.  CHECK C(E) FOR CORRECT DATA, AND
 16509					;CORRECT STORING OF C(E) INTO AC
 16510					;RAN TO RAN.
 16511
 16512
 16513			000002			AC=2
 16514	052455				HLRS1:	SETUP	140,0^
 16515			000003			AC1=<AC+1>&17
 16516			000004			AC2=<AC+2>&17
 16517			000005			AC3=<AC+3>&17
 16518			000006			AC4=<AC+4>&17
 16519			000007			AC5=<AC+5>&17
 16520			000000			RAN1=<AC-2>&17
 16521	052455	201 01 0 00 052455 		MOVEI	AC-1,.
 16522	052456	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16523	052457	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16524	052460	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16525	052461	201 01 0 00 000140 		MOVEI	AC-1,140		;ROUTINE WEIGHTING
 16526	052462	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16527	052463	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16528	052464				HLRS2:	RANDOM^
 16529	052464	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16530	052465	270 02 0 00 060657 		ADD	AC,[142536475076]
 16531	052466	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16532	052467	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16533	052470	477 03 0 00 000000 	HLRS3:	SETOB	AC1,RAN1	;SAVE IN CASE OF ERROR
 16534	052471	200 04 0 00 000002 		MOVE	AC2,AC		;SIMULATE
 16535	052472	620 04 0 00 777777 		TRZ	AC2,-1		;A
 16536	052473	204 05 0 00 000002 		MOVS	AC3,AC		;HLRS
 16537	052474	621 05 0 00 777777 		TLZ	AC3,-1
 16538	052475	434 04 0 00 000005 		IOR	AC2,AC3		;INST
 16539	052476	547 03 0 00 000002 		HLRS	AC1,AC		;DO HLRS
 16540	052477	312 03 0 00 000002 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER HLRS
 16541	052500	012 00 0 00 000000 		EERRM	,RAN1
 16542	052501	312 04 0 00 000002 		CAME	AC2,AC		;C(E) SHOULD=SIM. ANS.
 16543	052502	012 00 0 00 000000 		EERRM	,RAN1
 16544						LOOP	HLRS2,HLRS3^
 16545	052503	367 01 0 00 052464 		SOJG	AC-1,HLRS2		;ITERATION COUNTER
 16546	052504	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16547	052505	321 01 0 00 052470 		JUMPL	AC-1,HLRS3		;LOOP ON ERROR SWITCH ^
 16548

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 89
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0427

 16549
 16550
 16551					;TEST HLLZ.  CHECK C(AC) FOR  CORRECT DATA
 16552					;RAN TO RAN1.
 16553
 16554
 16555			000003			AC=3
 16556	052506				HLLZ1:	SETUP	200,0^
 16557			000004			AC1=<AC+1>&17
 16558			000005			AC2=<AC+2>&17
 16559			000006			AC3=<AC+3>&17
 16560			000007			AC4=<AC+4>&17
 16561			000010			AC5=<AC+5>&17
 16562			000001			RAN1=<AC-2>&17
 16563	052506	201 02 0 00 052506 		MOVEI	AC-1,.
 16564	052507	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16565	052510	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16566	052511	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16567	052512	201 02 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16568	052513	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16569	052514	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16570	052515				HLLZ2:	RANDOM^
 16571	052515	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16572	052516	270 03 0 00 060657 		ADD	AC,[142536475076]
 16573	052517	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16574	052520	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16575	052521	241 03 0 00 000011 	HLLZ3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16576	052522	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16577	052523	200 04 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 16578	052524	620 04 0 00 777777 		TRZ	AC1,-1		;A HLLZ
 16579	052525	510 03 0 00 061125 		HLLZ	AC,RAN		;DO HLLZ
 16580	052526	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16581	052527	011 00 0 00 000001 		EERR	,RAN1
 16582						LOOP	HLLZ2,HLLZ3^
 16583	052530	367 02 0 00 052515 		SOJG	AC-1,HLLZ2		;ITERATION COUNTER
 16584	052531	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16585	052532	321 02 0 00 052521 		JUMPL	AC-1,HLLZ3		;LOOP ON ERROR SWITCH ^
 16586

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 90
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0428

 16587
 16588
 16589					;TEST HLLZI.  CHECK C(AC) FOR 0
 16590					;RAN TO RAN1
 16591
 16592
 16593			000002			AC=2
 16594	052533				HLLZI1:	SETUP	200,0^
 16595			000003			AC1=<AC+1>&17
 16596			000004			AC2=<AC+2>&17
 16597			000005			AC3=<AC+3>&17
 16598			000006			AC4=<AC+4>&17
 16599			000007			AC5=<AC+5>&17
 16600			000000			RAN1=<AC-2>&17
 16601	052533	201 01 0 00 052533 		MOVEI	AC-1,.
 16602	052534	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16603	052535	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16604	052536	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16605	052537	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16606	052540	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16607	052541	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16608	052542				HLLZI2:	RANDOM^
 16609	052542	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16610	052543	270 02 0 00 060657 		ADD	AC,[142536475076]
 16611	052544	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16612	052545	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16613	052546	200 03 0 00 061125 		MOVE	AC1,RAN		;SAVE RAN IN AN AC.
 16614	052547	241 02 0 00 000011 	HLLZI3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16615	052550	200 00 0 00 000002 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16616	052551	511 02 0 03 000000 		HLLZI	AC,(AC1)	;DO HLLZI.
 16617	052552	312 02 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
 16618	052553	003 00 0 03 000000 		ERRI	RAN1,(AC1)
 16619						LOOP	HLLZI2,HLLZI3^
 16620	052554	367 01 0 00 052542 		SOJG	AC-1,HLLZI2		;ITERATION COUNTER
 16621	052555	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16622	052556	321 01 0 00 052547 		JUMPL	AC-1,HLLZI3		;LOOP ON ERROR SWITCH ^
 16623

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 91
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0429

 16624
 16625
 16626					;TEST HLLZM.  CHECK C(E) FOR CORRECT DATA
 16627					;RAN TO RAN1
 16628
 16629
 16630			000003			AC=3
 16631	052557				HLLZM1:	SETUP	200,0^
 16632			000004			AC1=<AC+1>&17
 16633			000005			AC2=<AC+2>&17
 16634			000006			AC3=<AC+3>&17
 16635			000007			AC4=<AC+4>&17
 16636			000010			AC5=<AC+5>&17
 16637			000001			RAN1=<AC-2>&17
 16638	052557	201 02 0 00 052557 		MOVEI	AC-1,.
 16639	052560	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16640	052561	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16641	052562	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16642	052563	201 02 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16643	052564	240 02 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16644	052565	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16645	052566				HLLZM2:	RANDOM^
 16646	052566	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16647	052567	270 03 0 00 060657 		ADD	AC,[142536475076]
 16648	052570	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16649	052571	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16650	052572	200 05 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16651	052573	241 03 0 00 000011 	HLLZM3:	ROT	AC,11		;C(E)=SECOND RAN NUM
 16652	052574	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16653	052575	200 04 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 16654	052576	620 04 0 00 777777 		TRZ	AC1,-1		;A HLLZM
 16655	052577	512 05 0 00 000003 		HLLZM	AC2,AC		;DO HLLZM.
 16656	052600	312 04 0 00 000003 		CAME	AC1,AC		;C(E) SHOULD=SIM.ANS
 16657	052601	002 01 0 00 061125 		ERRM	RAN1,RAN
 16658						LOOP	HLLZM2,HLLZM3^
 16659	052602	367 02 0 00 052566 		SOJG	AC-1,HLLZM2		;ITERATION COUNTER
 16660	052603	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16661	052604	321 02 0 00 052573 		JUMPL	AC-1,HLLZM3		;LOOP ON ERROR SWITCH ^
 16662

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 92
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0430

 16663
 16664
 16665					;TEST HLLZS.  CHECK C(E) FOR CORRECT DATA, AND
 16666					;CORRECT STORING OF C(E) INTO AC.
 16667					;RAN TO RAN.
 16668
 16669
 16670			000004			AC=4
 16671	052605				HLLZS1:	SETUP	200,0^
 16672			000005			AC1=<AC+1>&17
 16673			000006			AC2=<AC+2>&17
 16674			000007			AC3=<AC+3>&17
 16675			000010			AC4=<AC+4>&17
 16676			000011			AC5=<AC+5>&17
 16677			000002			RAN1=<AC-2>&17
 16678	052605	201 03 0 00 052605 		MOVEI	AC-1,.
 16679	052606	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16680	052607	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16681	052610	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16682	052611	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16683	052612	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16684	052613	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16685	052614				HLLZS2:	RANDOM^
 16686	052614	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16687	052615	270 04 0 00 060657 		ADD	AC,[142536475076]
 16688	052616	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16689	052617	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16690	052620	477 05 0 00 000002 	HLLZS3:	SETOB	AC1,RAN1	;SET C(AC) TO A -1
 16691	052621	200 06 0 00 000004 		MOVE	AC2,AC		;SIMULATE
 16692	052622	620 06 0 00 777777 		TRZ	AC2,-1		;A HLLZS
 16693	052623	513 05 0 00 000004 		HLLZS	AC1,AC		;DO HLLZS
 16694	052624	312 05 0 00 000004 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER HLLZS
 16695	052625	012 00 0 00 000002 		EERRM	,RAN1
 16696	052626	312 05 0 00 000004 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 16697	052627	012 00 0 00 000002 		EERRM	,RAN1
 16698						LOOP	HLLZS2,HLLZS3^
 16699	052630	367 03 0 00 052614 		SOJG	AC-1,HLLZS2		;ITERATION COUNTER
 16700	052631	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16701	052632	321 03 0 00 052620 		JUMPL	AC-1,HLLZS3		;LOOP ON ERROR SWITCH ^
 16702

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 93
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0431

 16703
 16704
 16705					;TEST HRRZ.  CHECK C(AC) FOR CORRECT DATA.
 16706					;RAN TO RAN1
 16707
 16708
 16709			000005			AC=5
 16710	052633				HRRZ1:	SETUP	200,0^
 16711			000006			AC1=<AC+1>&17
 16712			000007			AC2=<AC+2>&17
 16713			000010			AC3=<AC+3>&17
 16714			000011			AC4=<AC+4>&17
 16715			000012			AC5=<AC+5>&17
 16716			000003			RAN1=<AC-2>&17
 16717	052633	201 04 0 00 052633 		MOVEI	AC-1,.
 16718	052634	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16719	052635	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16720	052636	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16721	052637	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16722	052640	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16723	052641	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16724	052642				HRRZ2:	RANDOM^
 16725	052642	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16726	052643	270 05 0 00 060657 		ADD	AC,[142536475076]
 16727	052644	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16728	052645	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16729	052646	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16730	052647	241 05 0 00 000011 	HRRZ3:	ROT	AC,11		;C(AC)=SECOND RAND NUM
 16731	052650	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16732	052651	201 06 0 07 000000 		MOVEI	AC1,(AC2)	;SIMULATE A HRRZ INST.
 16733	052652	550 05 0 00 061125 		HRRZ	AC,RAN		;DO HRRZ
 16734	052653	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16735	052654	001 07 0 00 000003 		ERR	AC2,RAN1
 16736						LOOP	HRRZ2,HRRZ3^
 16737	052655	367 04 0 00 052642 		SOJG	AC-1,HRRZ2		;ITERATION COUNTER
 16738	052656	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16739	052657	321 04 0 00 052647 		JUMPL	AC-1,HRRZ3		;LOOP ON ERROR SWITCH ^
 16740

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 94
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0432

 16741
 16742
 16743					;TEST HRRZI.  CHECK C(AC) FOR CORRECT DATA
 16744					;RAN TO RAN1
 16745
 16746
 16747			000006			AC=6
 16748	052660				HRRZI1:	SETUP	200,0^
 16749			000007			AC1=<AC+1>&17
 16750			000010			AC2=<AC+2>&17
 16751			000011			AC3=<AC+3>&17
 16752			000012			AC4=<AC+4>&17
 16753			000013			AC5=<AC+5>&17
 16754			000004			RAN1=<AC-2>&17
 16755	052660	201 05 0 00 052660 		MOVEI	AC-1,.
 16756	052661	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16757	052662	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16758	052663	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16759	052664	201 05 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16760	052665	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16761	052666	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16762	052667				HRRZI2:	RANDOM^
 16763	052667	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16764	052670	270 06 0 00 060657 		ADD	AC,[142536475076]
 16765	052671	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16766	052672	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16767	052673	200 10 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16768	052674	241 06 0 00 000011 	HRRZI3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16769	052675	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16770	052676	201 07 0 10 000000 		MOVEI	AC1,(AC2)	;SIMULATE A HRRZI INST.
 16771	052677	551 06 0 10 000000 		HRRZI	AC,(AC2)	;DO HRRZI.
 16772	052700	312 06 0 00 000007 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16773	052701	003 04 0 10 000000 		ERRI	RAN1,(AC2)
 16774						LOOP	HRRZI2,HRRZI3^
 16775	052702	367 05 0 00 052667 		SOJG	AC-1,HRRZI2		;ITERATION COUNTER
 16776	052703	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16777	052704	321 05 0 00 052674 		JUMPL	AC-1,HRRZI3		;LOOP ON ERROR SWITCH ^
 16778

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 95
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0433

 16779
 16780
 16781					;TEST HRRZM.  CHECK C(E) FOR CORRECT DATA
 16782					;RAN TO RAN1
 16783
 16784
 16785			000007			AC=7
 16786	052705				HRRZM1:	SETUP	200,0^
 16787			000010			AC1=<AC+1>&17
 16788			000011			AC2=<AC+2>&17
 16789			000012			AC3=<AC+3>&17
 16790			000013			AC4=<AC+4>&17
 16791			000014			AC5=<AC+5>&17
 16792			000005			RAN1=<AC-2>&17
 16793	052705	201 06 0 00 052705 		MOVEI	AC-1,.
 16794	052706	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16795	052707	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16796	052710	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16797	052711	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16798	052712	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16799	052713	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16800	052714				HRRZM2:	RANDOM^
 16801	052714	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16802	052715	270 07 0 00 060657 		ADD	AC,[142536475076]
 16803	052716	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16804	052717	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16805	052720	200 11 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16806	052721	241 07 0 00 000011 	HRRZM3:	ROT	AC,11		;C(E)=SECOND RAN. NUM
 16807	052722	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE IN CASE OF ERROR
 16808	052723	201 10 0 11 000000 		MOVEI	AC1,(AC2)	;SIMULATE A HRRZM INST.
 16809	052724	552 11 0 00 000007 		HRRZM	AC2,AC		;DO HRRZM.
 16810	052725	312 10 0 00 000007 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 16811	052726	002 05 0 00 061125 		ERRM	RAN1,RAN
 16812						LOOP	HRRZM2,HRRZM3^
 16813	052727	367 06 0 00 052714 		SOJG	AC-1,HRRZM2		;ITERATION COUNTER
 16814	052730	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16815	052731	321 06 0 00 052721 		JUMPL	AC-1,HRRZM3		;LOOP ON ERROR SWITCH ^
 16816

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 96
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0434

 16817
 16818
 16819					;TEST HRRZS.  CHECK C(E) FOR CORRECT DATA, AND
 16820					;CORRECT STORING OF C(E) INTO AC.
 16821					;RAN TO RAN.
 16822
 16823
 16824			000010			AC=10
 16825	052732				HRRZS1:	SETUP	200,0^
 16826			000011			AC1=<AC+1>&17
 16827			000012			AC2=<AC+2>&17
 16828			000013			AC3=<AC+3>&17
 16829			000014			AC4=<AC+4>&17
 16830			000015			AC5=<AC+5>&17
 16831			000006			RAN1=<AC-2>&17
 16832	052732	201 07 0 00 052732 		MOVEI	AC-1,.
 16833	052733	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16834	052734	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16835	052735	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16836	052736	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16837	052737	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16838	052740	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16839	052741				HRRZS2:	RANDOM^
 16840	052741	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16841	052742	270 10 0 00 060657 		ADD	AC,[142536475076]
 16842	052743	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16843	052744	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16844	052745	477 11 0 00 000006 	HRRZS3:	SETOB	AC1,RAN1	;SETC(AC) TO A-1
 16845	052746	201 12 0 10 000000 		MOVEI	AC2,(AC)	;SIMULATE A HRRZS
 16846	052747	553 11 0 00 000010 		HRRZS	AC1,AC		;DO HRRZS
 16847	052750	312 11 0 00 000010 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER HRRZS
 16848	052751	012 00 0 00 000006 		EERRM	,RAN1
 16849	052752	312 12 0 00 000010 		CAME	AC2,AC		;C(E) SHOULD=SIM. ANS
 16850	052753	012 00 0 00 000006 		EERRM	,RAN1
 16851						LOOP	HRRZS2,HRRZS3^
 16852	052754	367 07 0 00 052741 		SOJG	AC-1,HRRZS2		;ITERATION COUNTER
 16853	052755	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16854	052756	321 07 0 00 052745 		JUMPL	AC-1,HRRZS3		;LOOP ON ERROR SWITCH ^
 16855

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 97
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0435

 16856
 16857
 16858					;TEST HLLO. CHECK C(AC) FOR CORRECT DATA
 16859					;RAN TO RAN1
 16860
 16861
 16862			000011			AC=11
 16863	052757				HLLO1:	SETUP	200,0^
 16864			000012			AC1=<AC+1>&17
 16865			000013			AC2=<AC+2>&17
 16866			000014			AC3=<AC+3>&17
 16867			000015			AC4=<AC+4>&17
 16868			000016			AC5=<AC+5>&17
 16869			000007			RAN1=<AC-2>&17
 16870	052757	201 10 0 00 052757 		MOVEI	AC-1,.
 16871	052760	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16872	052761	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16873	052762	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16874	052763	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16875	052764	240 10 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16876	052765	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16877	052766				HLLO2:	RANDOM^
 16878	052766	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16879	052767	270 11 0 00 060657 		ADD	AC,[142536475076]
 16880	052770	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16881	052771	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16882	052772	241 11 0 00 000011 	HLLO3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 16883	052773	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR.
 16884	052774	200 12 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 16885	052775	660 12 0 00 777777 		TRO	AC1,-1		;A HLLO
 16886	052776	520 11 0 00 061125 		HLLO	AC,RAN		;DO HLLO
 16887	052777	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16888	053000	011 00 0 00 000007 		EERR	,RAN1
 16889						LOOP	HLLO2,HLLO3^
 16890	053001	367 10 0 00 052766 		SOJG	AC-1,HLLO2		;ITERATION COUNTER
 16891	053002	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16892	053003	321 10 0 00 052772 		JUMPL	AC-1,HLLO3		;LOOP ON ERROR SWITCH ^
 16893

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 98
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0436

 16894
 16895
 16896
 16897
 16898					;TEST HLLOI  CHECK C(AC) FOR CORRECT DATA
 16899					;RAN TO RAN1
 16900
 16901
 16902			000004			AC=4
 16903	053004				HLLOI1:	SETUP	200,0^
 16904			000005			AC1=<AC+1>&17
 16905			000006			AC2=<AC+2>&17
 16906			000007			AC3=<AC+3>&17
 16907			000010			AC4=<AC+4>&17
 16908			000011			AC5=<AC+5>&17
 16909			000002			RAN1=<AC-2>&17
 16910	053004	201 03 0 00 053004 		MOVEI	AC-1,.
 16911	053005	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16912	053006	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16913	053007	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16914	053010	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16915	053011	240 03 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16916	053012	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16917	053013				HLLOI2:	RANDOM^
 16918	053013	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16919	053014	270 04 0 00 060657 		ADD	AC,[142536475076]
 16920	053015	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16921	053016	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16922	053017	200 06 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16923	053020	241 04 0 00 000011 	HLLOI3:	ROT	AC,11		;C(AC)=SECOND RAN. NUM
 16924	053021	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 16925	053022	400 05 0 00 000000 		SETZ	AC1,		;SIMULATE
 16926	053023	660 05 0 00 777777 		TRO	AC1,-1		;A HLLOI
 16927	053024	521 04 0 06 000000 		HLLOI	AC,(AC2)	;DO HLLOI.
 16928	053025	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 16929	053026	003 02 0 06 000000 		ERRI	RAN1,(AC2)
 16930						LOOP	HLLOI2,HLLOI3^
 16931	053027	367 03 0 00 053013 		SOJG	AC-1,HLLOI2		;ITERATION COUNTER
 16932	053030	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16933	053031	321 03 0 00 053020 		JUMPL	AC-1,HLLOI3		;LOOP ON ERROR SWITCH ^
 16934

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 99
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0437

 16935
 16936
 16937					;TEST HLLOM. CHECK C(E) FOR CORRECT DATA
 16938					;RAN TO RAO1
 16939
 16940
 16941			000005			AC=5
 16942	053032				HLLOM1:	SETUP	200,0^
 16943			000006			AC1=<AC+1>&17
 16944			000007			AC2=<AC+2>&17
 16945			000010			AC3=<AC+3>&17
 16946			000011			AC4=<AC+4>&17
 16947			000012			AC5=<AC+5>&17
 16948			000003			RAN1=<AC-2>&17
 16949	053032	201 04 0 00 053032 		MOVEI	AC-1,.
 16950	053033	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16951	053034	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16952	053035	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16953	053036	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16954	053037	240 04 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16955	053040	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16956	053041				HLLOM2:	RANDOM^
 16957	053041	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16958	053042	270 05 0 00 060657 		ADD	AC,[142536475076]
 16959	053043	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 16960	053044	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 16961	053045	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 16962	053046	241 05 0 00 000011 	HLLOM3:	ROT	AC,11		;C(E) =SECOND RANDOM NUM.
 16963	053047	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 16964	053050	200 06 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 16965	053051	660 06 0 00 777777 		TRO	AC1,-1		;A HLLOM
 16966	053052	522 07 0 00 000005 		HLLOM	AC2,AC		;DO A HLLOM.
 16967	053053	312 06 0 00 000005 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 16968	053054	002 03 0 00 061125 		ERRM	RAN1,RAN
 16969						LOOP	HLLOM2,HLLOM3^
 16970	053055	367 04 0 00 053041 		SOJG	AC-1,HLLOM2		;ITERATION COUNTER
 16971	053056	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 16972	053057	321 04 0 00 053046 		JUMPL	AC-1,HLLOM3		;LOOP ON ERROR SWITCH ^
 16973

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 100
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0438

 16974
 16975
 16976					;TEST HLLOS.  CHECK C(E) FOR CORRECT DATA, AND
 16977					;CORRECT STORING OF C(E) INTO AC.
 16978					;RAN TO RAN
 16979
 16980
 16981			000006			AC=6
 16982	053060				HLLOS1:	SETUP	200,0^
 16983			000007			AC1=<AC+1>&17
 16984			000010			AC2=<AC+2>&17
 16985			000011			AC3=<AC+3>&17
 16986			000012			AC4=<AC+4>&17
 16987			000013			AC5=<AC+5>&17
 16988			000004			RAN1=<AC-2>&17
 16989	053060	201 05 0 00 053060 		MOVEI	AC-1,.
 16990	053061	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 16991	053062	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 16992	053063	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 16993	053064	201 05 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 16994	053065	240 05 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 16995	053066	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 16996	053067				HLLOS2:	RANDOM^
 16997	053067	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 16998	053070	270 06 0 00 060657 		ADD	AC,[142536475076]
 16999	053071	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17000	053072	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17001	053073	477 07 0 00 000004 	HLLOS3:	SETOB	AC1,RAN1	;SET C(AC) TO A -1
 17002	053074	200 10 0 00 000006 		MOVE	AC2,AC		;SIMULATE
 17003	053075	660 10 0 00 777777 		TRO	AC2,-1		;A HLLOS
 17004	053076	523 07 0 00 000006 		HLLOS	AC1,AC		;DO HLLOS
 17005	053077	312 07 0 00 000006 		CAME	AC1,AC		;C(AC) SHOULD=C(AC) AFTER HLLOS
 17006	053100	012 00 0 00 000004 		EERRM	,RAN1
 17007	053101	312 10 0 00 000006 		CAME	AC2,AC		;C(E) SHOULD=SIM ANS
 17008	053102	012 00 0 00 000004 		EERRM	,RAN1
 17009						LOOP	HLLOS2,HLLOS3^
 17010	053103	367 05 0 00 053067 		SOJG	AC-1,HLLOS2		;ITERATION COUNTER
 17011	053104	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17012	053105	321 05 0 00 053073 		JUMPL	AC-1,HLLOS3		;LOOP ON ERROR SWITCH ^
 17013

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 101
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0439

 17014
 17015
 17016					;TEST HRRO.  CHECK C(AC) FOR CORRECT DATA
 17017					;RAN TO RAN1
 17018
 17019
 17020			000007			AC=7
 17021	053106				HRRO1:	SETUP	200,0^
 17022			000010			AC1=<AC+1>&17
 17023			000011			AC2=<AC+2>&17
 17024			000012			AC3=<AC+3>&17
 17025			000013			AC4=<AC+4>&17
 17026			000014			AC5=<AC+5>&17
 17027			000005			RAN1=<AC-2>&17
 17028	053106	201 06 0 00 053106 		MOVEI	AC-1,.
 17029	053107	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17030	053110	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17031	053111	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17032	053112	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17033	053113	240 06 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 17034	053114	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17035	053115				HRRO2:	RANDOM^
 17036	053115	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17037	053116	270 07 0 00 060657 		ADD	AC,[142536475076]
 17038	053117	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17039	053120	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17040	053121	241 07 0 00 000011 	HRRO3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 17041	053122	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17042	053123	200 10 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17043	053124	661 10 0 00 777777 		TLO	AC1,-1		;A HRRO
 17044	053125	560 07 0 00 061125 		HRRO	AC,RAN		;DO HRRO
 17045	053126	312 07 0 00 000010 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17046	053127	011 00 0 00 000005 		EERR	,RAN1
 17047						LOOP	HRRO2,HRRO3^
 17048	053130	367 06 0 00 053115 		SOJG	AC-1,HRRO2		;ITERATION COUNTER
 17049	053131	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17050	053132	321 06 0 00 053121 		JUMPL	AC-1,HRRO3		;LOOP ON ERROR SWITCH ^
 17051

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 102
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0440

 17052
 17053
 17054					;TEST HRROI.  CHECK C(AC) FOR CORRECT DATA
 17055					;RAN TO RAN1
 17056
 17057
 17058			000010			AC=10
 17059	053133				HRROI1:	SETUP	200,0^
 17060			000011			AC1=<AC+1>&17
 17061			000012			AC2=<AC+2>&17
 17062			000013			AC3=<AC+3>&17
 17063			000014			AC4=<AC+4>&17
 17064			000015			AC5=<AC+5>&17
 17065			000006			RAN1=<AC-2>&17
 17066	053133	201 07 0 00 053133 		MOVEI	AC-1,.
 17067	053134	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17068	053135	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17069	053136	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17070	053137	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17071	053140	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 17072	053141	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17073	053142				HRROI2:	RANDOM^
 17074	053142	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17075	053143	270 10 0 00 060657 		ADD	AC,[142536475076]
 17076	053144	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17077	053145	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17078	053146	200 13 0 00 061125 		MOVE	AC3,RAN		;SAVE RAN IN AN AC.
 17079	053147	241 10 0 00 000011 	HRROI3:	ROT	AC,11		;C(AC)=SECOND RAN. NUM
 17080	053150	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17081	053151	200 11 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17082	053152	661 11 0 00 777777 		TLO	AC1,-1		;A HRROI
 17083	053153	561 10 0 13 000000 		HRROI	AC,(AC3)	;DO HRROI.
 17084	053154	312 10 0 00 000011 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17085	053155	003 06 0 13 000000 		ERRI	RAN1,(AC3)
 17086						LOOP	HRROI2,HRROI3^
 17087	053156	367 07 0 00 053142 		SOJG	AC-1,HRROI2		;ITERATION COUNTER
 17088	053157	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17089	053160	321 07 0 00 053147 		JUMPL	AC-1,HRROI3		;LOOP ON ERROR SWITCH ^
 17090

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 103
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0441

 17091
 17092
 17093					;TEST HRROM.  CHECK C(E) FOR CORRECT DATA.
 17094					;RAN TO RAN1
 17095
 17096
 17097			000010			AC=10
 17098	053161				HRROM1:	SETUP	200,0^
 17099			000011			AC1=<AC+1>&17
 17100			000012			AC2=<AC+2>&17
 17101			000013			AC3=<AC+3>&17
 17102			000014			AC4=<AC+4>&17
 17103			000015			AC5=<AC+5>&17
 17104			000006			RAN1=<AC-2>&17
 17105	053161	201 07 0 00 053161 		MOVEI	AC-1,.
 17106	053162	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17107	053163	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17108	053164	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17109	053165	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17110	053166	240 07 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 17111	053167	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17112	053170				HRROM2:	RANDOM^
 17113	053170	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17114	053171	270 10 0 00 060657 		ADD	AC,[142536475076]
 17115	053172	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17116	053173	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17117	053174	200 12 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17118	053175	241 10 0 00 000011 	HRROM3:	ROT	AC,11		;C(E)=SECOND RAN NUM
 17119	053176	200 06 0 00 000010 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 17120	053177	200 11 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17121	053200	661 11 0 00 777777 		TLO	AC1,-1		;A HRROM
 17122	053201	562 12 0 00 000010 		HRROM	AC2,AC		;DO HRROM.
 17123	053202	312 11 0 00 000010 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 17124	053203	002 06 0 00 061125 		ERRM	RAN1,RAN
 17125						LOOP	HRROM2,HRROM3^
 17126	053204	367 07 0 00 053170 		SOJG	AC-1,HRROM2		;ITERATION COUNTER
 17127	053205	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17128	053206	321 07 0 00 053175 		JUMPL	AC-1,HRROM3		;LOOP ON ERROR SWITCH ^
 17129

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 104
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0442

 17130
 17131
 17132					;TEST HRROS.  CHECK C(E) FOR CORRECT DATA, AND
 17133					;CORRECT STORING OF C(E) INTO AC.
 17134					;RAN TO RAN
 17135
 17136
 17137			000002			AC=2
 17138	053207				HRROS1:	SETUP	200,0^
 17139			000003			AC1=<AC+1>&17
 17140			000004			AC2=<AC+2>&17
 17141			000005			AC3=<AC+3>&17
 17142			000006			AC4=<AC+4>&17
 17143			000007			AC5=<AC+5>&17
 17144			000000			RAN1=<AC-2>&17
 17145	053207	201 01 0 00 053207 		MOVEI	AC-1,.
 17146	053210	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17147	053211	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17148	053212	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17149	053213	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17150	053214	240 01 1 00 030656 		ASH	AC-1,@CMPLXT+0	;ROUTINE COMPLEXITY
 17151	053215	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17152	053216				HRROS2:	RANDOM^
 17153	053216	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17154	053217	270 02 0 00 060657 		ADD	AC,[142536475076]
 17155	053220	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17156	053221	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17157	053222	477 03 0 00 000000 	HRROS3:	SETOB	AC1,RAN1	;SET C(AC) TO A -1
 17158	053223	200 04 0 00 000002 		MOVE	AC2,AC		;SIMULATE
 17159	053224	661 04 0 00 777777 		TLO	AC2,-1		;A HRROS
 17160	053225	563 03 0 00 000002 		HRROS	AC1,AC		;DO HRROS
 17161	053226	312 03 0 00 000002 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER HRROS
 17162	053227	012 00 0 00 000000 		EERRM	,RAN1
 17163	053230	312 04 0 00 000002 		CAME	AC2,AC		;C(E) SHOULD=SIM. ANS
 17164	053231	012 00 0 00 000000 		EERRM	,RAN1
 17165						LOOP	HRROS2,HRROS3^
 17166	053232	367 01 0 00 053216 		SOJG	AC-1,HRROS2		;ITERATION COUNTER
 17167	053233	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17168	053234	321 01 0 00 053222 		JUMPL	AC-1,HRROS3		;LOOP ON ERROR SWITCH ^
 17169

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 105
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0443

 17170
 17171
 17172					;TEST HRLO.  CHECK C(AC) FOR CORRECT DATA
 17173					;RAN TO RAN1
 17174
 17175
 17176			000003			AC=3
 17177	053235				HRLO1:	SETUP	200,1^
 17178			000004			AC1=<AC+1>&17
 17179			000005			AC2=<AC+2>&17
 17180			000006			AC3=<AC+3>&17
 17181			000007			AC4=<AC+4>&17
 17182			000010			AC5=<AC+5>&17
 17183			000001			RAN1=<AC-2>&17
 17184	053235	201 02 0 00 053235 		MOVEI	AC-1,.
 17185	053236	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17186	053237	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17187	053240	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17188	053241	201 02 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17189	053242	240 02 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 17190	053243	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17191	053244				HRLO2:	RANDOM^
 17192	053244	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17193	053245	270 03 0 00 060657 		ADD	AC,[142536475076]
 17194	053246	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17195	053247	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17196	053250	200 05 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17197	053251	241 03 0 00 000011 	HRLO3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 17198	053252	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17199	053253	205 04 0 05 000000 		MOVSI	AC1,(AC2)	;SIMULATE
 17200	053254	660 04 0 00 777777 		TRO	AC1,-1		;A HRLO
 17201	053255	524 03 0 00 061125 		HRLO	AC,RAN		;DO HRLO
 17202	053256	312 03 0 00 000004 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17203	053257	001 05 0 00 000001 		ERR	AC2,RAN1
 17204						LOOP	HRLO2,HRLO3^
 17205	053260	367 02 0 00 053244 		SOJG	AC-1,HRLO2		;ITERATION COUNTER
 17206	053261	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17207	053262	321 02 0 00 053251 		JUMPL	AC-1,HRLO3		;LOOP ON ERROR SWITCH ^
 17208

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 106
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0444

 17209
 17210
 17211					;TEST HRLOI.  CHECK C(AC) FOR CORRECT DATA
 17212					;RAN TO RAN1
 17213
 17214
 17215			000002			AC=2
 17216	053263				HRLOI1:	SETUP	200,1^
 17217			000003			AC1=<AC+1>&17
 17218			000004			AC2=<AC+2>&17
 17219			000005			AC3=<AC+3>&17
 17220			000006			AC4=<AC+4>&17
 17221			000007			AC5=<AC+5>&17
 17222			000000			RAN1=<AC-2>&17
 17223	053263	201 01 0 00 053263 		MOVEI	AC-1,.
 17224	053264	202 01 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17225	053265	201 01 0 00 000001 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17226	053266	202 01 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17227	053267	201 01 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17228	053270	240 01 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 17229	053271	240 01 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17230	053272				HRLOI2:	RANDOM^
 17231	053272	200 02 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17232	053273	270 02 0 00 060657 		ADD	AC,[142536475076]
 17233	053274	241 02 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17234	053275	447 02 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17235	053276	200 04 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17236	053277	241 02 0 00 000011 	HRLOI3:	ROT	AC,11		;C(AC)=SECOND RANDOM NUM
 17237	053300	200 00 0 00 000002 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17238	053301	205 03 0 04 000000 		MOVSI	AC1,(AC2)	;SIMULATE
 17239	053302	660 03 0 00 777777 		TRO	AC1,-1		;A HRLOI
 17240	053303	525 02 0 04 000000 		HRLOI	AC,(AC2)	;DO HRLOI.
 17241	053304	312 02 0 00 000003 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17242	053305	003 00 0 04 000000 		ERRI	RAN1,(AC2)
 17243						LOOP	HRLOI2,HRLOI3^
 17244	053306	367 01 0 00 053272 		SOJG	AC-1,HRLOI2		;ITERATION COUNTER
 17245	053307	200 02 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17246	053310	321 01 0 00 053277 		JUMPL	AC-1,HRLOI3		;LOOP ON ERROR SWITCH ^
 17247

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 107
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0445

 17248
 17249
 17250					;TEST HRLOM.  CHECK C(E) FOR CORRECT DATA
 17251					;RAN TO RAN1
 17252
 17253
 17254			000003			AC=3
 17255	053311				HRLOM1:	SETUP	200,1^
 17256			000004			AC1=<AC+1>&17
 17257			000005			AC2=<AC+2>&17
 17258			000006			AC3=<AC+3>&17
 17259			000007			AC4=<AC+4>&17
 17260			000010			AC5=<AC+5>&17
 17261			000001			RAN1=<AC-2>&17
 17262	053311	201 02 0 00 053311 		MOVEI	AC-1,.
 17263	053312	202 02 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17264	053313	201 02 0 00 000002 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17265	053314	202 02 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17266	053315	201 02 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17267	053316	240 02 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 17268	053317	240 02 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17269	053320				HRLOM2:	RANDOM^
 17270	053320	200 03 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17271	053321	270 03 0 00 060657 		ADD	AC,[142536475076]
 17272	053322	241 03 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17273	053323	447 03 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17274	053324	200 05 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17275	053325	241 03 0 00 000011 	HRLOM3:	ROT	AC,11		;C(E)=SECOND RAN. NUM
 17276	053326	200 01 0 00 000003 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 17277	053327	205 04 0 05 000000 		MOVSI	AC1,(AC2)	;SIMULATE
 17278	053330	660 04 0 00 777777 		TRO	AC1,-1		;A HRLOM
 17279	053331	526 05 0 00 000003 		HRLOM	AC2,AC		;DO HRLOM.
 17280	053332	312 04 0 00 000003 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 17281	053333	002 01 0 00 061125 		ERRM	RAN1,RAN
 17282						LOOP	HRLOM2,HRLOM3^
 17283	053334	367 02 0 00 053320 		SOJG	AC-1,HRLOM2		;ITERATION COUNTER
 17284	053335	200 03 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17285	053336	321 02 0 00 053325 		JUMPL	AC-1,HRLOM3		;LOOP ON ERROR SWITCH ^
 17286

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 108
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0446

 17287
 17288
 17289					;TEST HRLOS.  CHECK C(E) FOR CORRECT DATA AND IF
 17290					;C(AC) IS BEING LOADED WITH C(E) FOR RAN TO RAN CONDITION.
 17291
 17292
 17293			000004			AC=4
 17294	053337				HRLOS1:	SETUP	200,1^
 17295			000005			AC1=<AC+1>&17
 17296			000006			AC2=<AC+2>&17
 17297			000007			AC3=<AC+3>&17
 17298			000010			AC4=<AC+4>&17
 17299			000011			AC5=<AC+5>&17
 17300			000002			RAN1=<AC-2>&17
 17301	053337	201 03 0 00 053337 		MOVEI	AC-1,.
 17302	053340	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17303	053341	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17304	053342	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17305	053343	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17306	053344	240 03 1 00 030657 		ASH	AC-1,@CMPLXT+1	;ROUTINE COMPLEXITY
 17307	053345	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17308	053346				HRLOS2:	RANDOM^
 17309	053346	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17310	053347	270 04 0 00 060657 		ADD	AC,[142536475076]
 17311	053350	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17312	053351	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17313	053352	477 05 0 00 000002 	HRLOS3:	SETOB	AC1,RAN1	;SET C(AC) TO A -1
 17314	053353	205 06 0 04 000000 		MOVSI	AC2,(AC)	;SIMULATE
 17315	053354	660 06 0 00 777777 		TRO	AC2,-1		;A HRLOS
 17316	053355	527 05 0 00 000004 		HRLOS	AC1,AC		;DO HRLOS
 17317	053356	312 05 0 00 000004 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER HRLOS
 17318	053357	012 00 0 00 000002 		EERRM	,RAN1
 17319	053360	312 06 0 00 000004 		CAME	AC2,AC		;C(E) SHOULD=SIM. ANS
 17320	053361	012 00 0 00 000002 		EERRM	,RAN1
 17321						LOOP	HRLOS2,HRLOS3^
 17322	053362	367 03 0 00 053346 		SOJG	AC-1,HRLOS2		;ITERATION COUNTER
 17323	053363	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17324	053364	321 03 0 00 053352 		JUMPL	AC-1,HRLOS3		;LOOP ON ERROR SWITCH ^
 17325

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 109
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0447

 17326
 17327
 17328					;TEST HLLE.  CHECK C(AC) FOR CORRECT DATA
 17329					;RAN TO RAN1.
 17330
 17331
 17332			000005			AC=5
 17333	053365				HLLE1:	SETUP	200,2^
 17334			000006			AC1=<AC+1>&17
 17335			000007			AC2=<AC+2>&17
 17336			000010			AC3=<AC+3>&17
 17337			000011			AC4=<AC+4>&17
 17338			000012			AC5=<AC+5>&17
 17339			000003			RAN1=<AC-2>&17
 17340	053365	201 04 0 00 053365 		MOVEI	AC-1,.
 17341	053366	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17342	053367	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17343	053370	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17344	053371	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17345	053372	240 04 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17346	053373	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17347	053374				HLLE2:	RANDOM^
 17348	053374	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17349	053375	270 05 0 00 060657 		ADD	AC,[142536475076]
 17350	053376	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17351	053377	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17352	053400	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17353	053401	241 05 0 00 000011 	HLLE3:	ROT	AC,11		;C(AC)=SECOND RAN. NUM
 17354	053402	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17355	053403	200 06 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17356	053404	620 06 0 00 777777 		TRZ	AC1,-1		;A
 17357	053405	603 07 0 00 400000 		TLNE	AC2,400000	;HLLE
 17358	053406	660 06 0 00 777777 		TRO	AC1,-1		;INST
 17359	053407	530 05 0 00 061125 		HLLE	AC,RAN		;DO HLLE
 17360	053410	312 05 0 00 000006 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17361	053411	001 07 0 00 000003 		ERR	AC2,RAN1
 17362						LOOP	HLLE2,HLLE3^
 17363	053412	367 04 0 00 053374 		SOJG	AC-1,HLLE2		;ITERATION COUNTER
 17364	053413	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17365	053414	321 04 0 00 053401 		JUMPL	AC-1,HLLE3		;LOOP ON ERROR SWITCH ^
 17366

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 110
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0448

 17367
 17368
 17369					;TEST HLLEI.  CHECK C(AC) FOR 0
 17370					;RAN TO RAN1
 17371
 17372
 17373			000006			AC=6
 17374	053415				HLLEI1:	SETUP	200,2^
 17375			000007			AC1=<AC+1>&17
 17376			000010			AC2=<AC+2>&17
 17377			000011			AC3=<AC+3>&17
 17378			000012			AC4=<AC+4>&17
 17379			000013			AC5=<AC+5>&17
 17380			000004			RAN1=<AC-2>&17
 17381	053415	201 05 0 00 053415 		MOVEI	AC-1,.
 17382	053416	202 05 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17383	053417	201 05 0 00 000005 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17384	053420	202 05 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17385	053421	201 05 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17386	053422	240 05 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17387	053423	240 05 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17388	053424				HLLEI2:	RANDOM^
 17389	053424	200 06 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17390	053425	270 06 0 00 060657 		ADD	AC,[142536475076]
 17391	053426	241 06 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17392	053427	447 06 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17393	053430	200 07 0 00 061125 		MOVE	AC1,RAN		;SAVE RAN IN AN AC.
 17394	053431	241 06 0 00 000011 	HLLEI3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 17395	053432	200 04 0 00 000006 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17396	053433	531 06 0 07 000000 		HLLEI	AC,(AC1)	;DO HLLEI.
 17397	053434	312 06 0 00 060660 		CAME	AC,[0]		;C(AC) SHOULD=0
 17398	053435	003 04 0 07 000000 		ERRI	RAN1,(AC1)
 17399						LOOP	HLLEI2,HLLEI3^
 17400	053436	367 05 0 00 053424 		SOJG	AC-1,HLLEI2		;ITERATION COUNTER
 17401	053437	200 06 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17402	053440	321 05 0 00 053431 		JUMPL	AC-1,HLLEI3		;LOOP ON ERROR SWITCH ^
 17403

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 111
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0449

 17404
 17405
 17406					;TEST HLLEM.  CHECK C(E) FOR CORRECT DATA
 17407					;RAN TO RAN1.
 17408
 17409
 17410			000007			AC=7
 17411	053441				HLLEM1:	SETUP	200,2^
 17412			000010			AC1=<AC+1>&17
 17413			000011			AC2=<AC+2>&17
 17414			000012			AC3=<AC+3>&17
 17415			000013			AC4=<AC+4>&17
 17416			000014			AC5=<AC+5>&17
 17417			000005			RAN1=<AC-2>&17
 17418	053441	201 06 0 00 053441 		MOVEI	AC-1,.
 17419	053442	202 06 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17420	053443	201 06 0 00 000006 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17421	053444	202 06 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17422	053445	201 06 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17423	053446	240 06 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17424	053447	240 06 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17425	053450				HLLEM2:	RANDOM^
 17426	053450	200 07 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17427	053451	270 07 0 00 060657 		ADD	AC,[142536475076]
 17428	053452	241 07 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17429	053453	447 07 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17430	053454	200 11 0 00 061125 		MOVE	AC2,RAN		;SAVE AC IN AN AC.
 17431	053455	241 07 0 00 000011 	HLLEM3:	ROT	AC,11		;C(E)=SECOND RANDOM NUMBER
 17432	053456	200 05 0 00 000007 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 17433	053457	200 10 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17434	053460	620 10 0 00 777777 		TRZ	AC1,-1		;A
 17435	053461	603 11 0 00 400000 		TLNE	AC2,400000	;HLLEM
 17436	053462	660 10 0 00 777777 		TRO	AC1,-1		;INST
 17437	053463	532 11 0 00 000007 		HLLEM	AC2,AC		;DO HLLEM.
 17438	053464	312 10 0 00 000007 		CAME	AC1,AC		;C(E) SHOULD=SIM ANS
 17439	053465	002 05 0 00 061125 		ERRM	RAN1,RAN
 17440						LOOP	HLLEM2,HLLEM3^
 17441	053466	367 06 0 00 053450 		SOJG	AC-1,HLLEM2		;ITERATION COUNTER
 17442	053467	200 07 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17443	053470	321 06 0 00 053455 		JUMPL	AC-1,HLLEM3		;LOOP ON ERROR SWITCH ^
 17444

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 112
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0450

 17445
 17446
 17447					;TEST HLLES.  CHECK C(E) FOR CORRECT DATA AND
 17448					;PROPER STORING THE C(E) INTO C(AC) FOR RAN TO RAN CONDITION
 17449
 17450
 17451			000010			AC=10
 17452	053471				HLLES1:	SETUP	200,2^
 17453			000011			AC1=<AC+1>&17
 17454			000012			AC2=<AC+2>&17
 17455			000013			AC3=<AC+3>&17
 17456			000014			AC4=<AC+4>&17
 17457			000015			AC5=<AC+5>&17
 17458			000006			RAN1=<AC-2>&17
 17459	053471	201 07 0 00 053471 		MOVEI	AC-1,.
 17460	053472	202 07 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17461	053473	201 07 0 00 000007 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17462	053474	202 07 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17463	053475	201 07 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17464	053476	240 07 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17465	053477	240 07 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17466	053500				HLLES2:	RANDOM^
 17467	053500	200 10 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17468	053501	270 10 0 00 060657 		ADD	AC,[142536475076]
 17469	053502	241 10 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17470	053503	447 10 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17471	053504	477 11 0 00 000006 	HLLES3:	SETOB	AC1,RAN1	;SET C(AC)=-1
 17472	053505	200 12 0 00 000010 		MOVE	AC2,AC		;SIMULATE
 17473	053506	620 12 0 00 777777 		TRZ	AC2,-1		;A
 17474	053507	603 10 0 00 400000 		TLNE	AC,400000	;HLLES
 17475	053510	660 12 0 00 777777 		TRO	AC2,-1		;INST
 17476	053511	533 11 0 00 000010 		HLLES	AC1,AC		;DO HLLES
 17477	053512	312 11 0 00 000010 		CAME	AC1,AC		;C(AC) SHOULD=C(E) AFTER HLLES
 17478	053513	012 00 0 00 000006 		EERRM	,RAN1
 17479	053514	312 12 0 00 000010 		CAME	AC2,AC		;C(E) SHOULD= SIM. ANS
 17480	053515	012 00 0 00 000006 		EERRM	,RAN1
 17481						LOOP	HLLES2,HLLES3^
 17482	053516	367 07 0 00 053500 		SOJG	AC-1,HLLES2		;ITERATION COUNTER
 17483	053517	200 10 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17484	053520	321 07 0 00 053504 		JUMPL	AC-1,HLLES3		;LOOP ON ERROR SWITCH ^
 17485

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 113
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0451

 17486
 17487
 17488					;TEST HRRE.  CHECK C(AC) FOR CORRECT DATA
 17489					;RAN TO RAN1.
 17490
 17491
 17492			000011			AC=11
 17493	053521				HRRE1:	SETUP	200,2^
 17494			000012			AC1=<AC+1>&17
 17495			000013			AC2=<AC+2>&17
 17496			000014			AC3=<AC+3>&17
 17497			000015			AC4=<AC+4>&17
 17498			000016			AC5=<AC+5>&17
 17499			000007			RAN1=<AC-2>&17
 17500	053521	201 10 0 00 053521 		MOVEI	AC-1,.
 17501	053522	202 10 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17502	053523	201 10 0 00 000010 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17503	053524	202 10 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17504	053525	201 10 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17505	053526	240 10 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17506	053527	240 10 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17507	053530				HRRE2:	RANDOM^
 17508	053530	200 11 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17509	053531	270 11 0 00 060657 		ADD	AC,[142536475076]
 17510	053532	241 11 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17511	053533	447 11 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17512	053534	200 13 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17513	053535	241 11 0 00 000011 	HRRE3:	ROT	AC,11		;C(AC)=SECOND RAN NUM
 17514	053536	200 07 0 00 000011 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17515	053537	200 12 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17516	053540	621 12 0 00 777777 		TLZ	AC1,-1		;A
 17517	053541	602 13 0 00 400000 		TRNE	AC2,400000	;HRRE
 17518	053542	661 12 0 00 777777 		TLO	AC1,-1		;INST
 17519	053543	570 11 0 00 061125 		HRRE	AC,RAN		;DO HRRE
 17520	053544	312 11 0 00 000012 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17521	053545	001 13 0 00 000007 		ERR	AC2,RAN1
 17522						LOOP	HRRE2,HRRE3^
 17523	053546	367 10 0 00 053530 		SOJG	AC-1,HRRE2		;ITERATION COUNTER
 17524	053547	200 11 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17525	053550	321 10 0 00 053535 		JUMPL	AC-1,HRRE3		;LOOP ON ERROR SWITCH ^
 17526

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 114
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0452

 17527
 17528
 17529					;TEST HRREI. CHECK C(AC) FOR CORRECT DATA
 17530					;RAN TO RAN1
 17531
 17532
 17533			000004			AC=4
 17534	053551				HRREI1:	SETUP	200,2^
 17535			000005			AC1=<AC+1>&17
 17536			000006			AC2=<AC+2>&17
 17537			000007			AC3=<AC+3>&17
 17538			000010			AC4=<AC+4>&17
 17539			000011			AC5=<AC+5>&17
 17540			000002			RAN1=<AC-2>&17
 17541	053551	201 03 0 00 053551 		MOVEI	AC-1,.
 17542	053552	202 03 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17543	053553	201 03 0 00 000003 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17544	053554	202 03 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17545	053555	201 03 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17546	053556	240 03 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17547	053557	240 03 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17548	053560				HRREI2:	RANDOM^
 17549	053560	200 04 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17550	053561	270 04 0 00 060657 		ADD	AC,[142536475076]
 17551	053562	241 04 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17552	053563	447 04 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17553	053564	200 06 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17554	053565	241 04 0 00 000011 	HRREI3:	ROT	AC,11		;C(AC)=SECOND RANDOM NUM
 17555	053566	200 02 0 00 000004 		MOVE	RAN1,AC		;SAVE C(AC) IN CASE OF ERROR
 17556	053567	200 05 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17557	053570	621 05 0 00 777777 		TLZ	AC1,-1		;A
 17558	053571	602 06 0 00 400000 		TRNE	AC2,400000	;HRREI
 17559	053572	661 05 0 00 777777 		TLO	AC1,-1		;INST
 17560	053573	571 04 0 06 000000 		HRREI	AC,(AC2)	;DO HRREI.
 17561	053574	312 04 0 00 000005 		CAME	AC,AC1		;C(AC) SHOULD=SIM. ANS
 17562	053575	003 02 0 06 000000 		ERRI	RAN1,(AC2)
 17563						LOOP	HRREI2,HRREI3^
 17564	053576	367 03 0 00 053560 		SOJG	AC-1,HRREI2		;ITERATION COUNTER
 17565	053577	200 04 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17566	053600	321 03 0 00 053565 		JUMPL	AC-1,HRREI3		;LOOP ON ERROR SWITCH ^
 17567

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 115
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0453

 17568
 17569
 17570					;TEST HRREM  CHECK C(E) FOR CORRECT DATA
 17571					;RAN TO RAN1
 17572
 17573
 17574			000005			AC=5
 17575	053601				HRREM1:	SETUP	200,2^
 17576			000006			AC1=<AC+1>&17
 17577			000007			AC2=<AC+2>&17
 17578			000010			AC3=<AC+3>&17
 17579			000011			AC4=<AC+4>&17
 17580			000012			AC5=<AC+5>&17
 17581			000003			RAN1=<AC-2>&17
 17582	053601	201 04 0 00 053601 		MOVEI	AC-1,.
 17583	053602	202 04 0 00 030051 		MOVEM	AC-1,TESTPC	;SETUP SUBTEST PC
 17584	053603	201 04 0 00 000004 		MOVEI	AC-1,<AC-1>&17	;INFORM ERROR ROUTINE
 17585	053604	202 04 0 00 061117 		MOVEM	AC-1,ERRLOP#	;WHICH AC IS USED FOR ITERATION
 17586	053605	201 04 0 00 000200 		MOVEI	AC-1,200		;ROUTINE WEIGHTING
 17587	053606	240 04 1 00 030660 		ASH	AC-1,@CMPLXT+2	;ROUTINE COMPLEXITY
 17588	053607	240 04 1 00 030655 		ASH	AC-1,@RTIME	;RUN TIME CONTROLLER ^
 17589	053610				HRREM2:	RANDOM^
 17590	053610	200 05 0 00 061125 		MOVE	AC,RAN#		;GENERATE  PSEUDO RANDOM NUMBER
 17591	053611	270 05 0 00 060657 		ADD	AC,[142536475076]
 17592	053612	241 05 0 00 777777 		ROT	AC,-1		;IN BOTH AC AND
 17593	053613	447 05 0 00 061125 		EQVB	AC,RAN		;REGISTER RAN ^
 17594	053614	200 07 0 00 061125 		MOVE	AC2,RAN		;SAVE RAN IN AN AC.
 17595	053615	241 05 0 00 000011 	HRREM3:	ROT	AC,11		;C(E)=SECOND RAN NUMBER
 17596	053616	200 03 0 00 000005 		MOVE	RAN1,AC		;SAVE C(E) IN CASE OF ERROR
 17597	053617	200 06 0 00 061125 		MOVE	AC1,RAN		;SIMULATE
 17598	053620	621 06 0 00 777777 		TLZ	AC1,-1		;A
 17599	053621	602 07 0 00 400000 		TRNE	AC2,400000	;HRREM
 17600	053622	661 06 0 00 777777 		TLO	AC1,-1		;INST
 17601	053623	572 07 0 00 000005 		HRREM	AC2,AC		;DO HRREM.
 17602	053624	312 06 0 00 000005 		CAME	AC1,AC		;C(E) SHOULD=SIM. ANS
 17603	053625	002 03 0 00 061125 		ERRM	RAN1,RAN
 17604						LOOP	HRREM2,HRREM3^
 17605	053626	367 04 0 00 053610 		SOJG	AC-1,HRREM2		;ITERATION COUNTER
 17606	053627	200 05 0 00 061125 		MOVE	AC,RAN		;RESTORE RANDOM NUMBER
 17607	053630	321 04 0 00 053615 		JUMPL	AC-1,HRREM3		;LOOP ON ERROR SWITCH ^
 17608

DSKBA DECSYSTEM 2020 BASIC INSTRUCTION RELIABILITY TEST (1), VER 0,1 	MACRO %53(1020) 12:59 29-Mar-78 Page 116
DSKBA3	MAC	29-Mar-78 12:27		DIAGNOSTIC SECTION THREE                                                           SEQ 0454

 17609
 17610
 17611					;TEST HRRES.  CHECK C(E) FOR CORRECT DATA AND
 17612					;PROPER STORING OF C(E) INTO AC FOR RAN TO RAN CONDITION
 17613
 17614
 17615			000006			AC=6
 17616	053631				HRRES1:	SETUP	200,2^