Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/smbc2.seq
There are no other files named smbc2.seq in the archive.
;DSQDG
                                                                                                                           SEQ 0001






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

	PRODUCT CODE:		AH-F249A-DD

	DIAGNOSTIC CODE:	DSQDG

	PRODUCT NAME:	 	DSQDGA0 DECSYSTEM 2020 BOOT CHECK 2 DIAGNOSTIC

	VERSION:		0.1

	DATE RELEASED:		DECEMBER 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-SMBC2.TXT
							PAGE 2                                                             SEQ 0002


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

1.0	ABSTRACT

2.0	REQUIREMENTS

2.1	EQUIPMENT

2.2	STORAGE

2.3	PRELIMINARY PROGRAMS

3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

3.2	STARTING PROCEDURE

3.3	OPERATING PROCEDURE

4.0	ERRORS

5.0	ITERATION COUNTER

6.0	CYCLE TIME

7.0	OPERATIONAL VARIATIONS

8.0	MAGTAPE BOOTSTRAP FILE "SMMTPB"

9.0	DISK BOOTSTRAP FILE "SMPREB"

10.0	MISCELLANEOUS

11.0	LISTING
							MAINDEC-10-SMBC2.TXT
							PAGE 3                                                             SEQ 0003


1.0	ABSTRACT

	BOOT CHECK 2

	THE DIAGNOSTIC TESTS THE BASIC FUNCTIONALITY OF THE PROCESSOR
	AND MICRO-CODE.

	EXEC MODE
	---------

	DISK - WILL RUN ONE PASS AND HALT AT 3000.

	MAGTAPE - WILL RUN ONE PASS AND THEN GO BACK TO THE PRE-BOOT WHICH
		  WILL LOAD "SMMAG".

	USER MODE
	---------

	WILL RUN ONE PASS AND THEN RETURN TO MONITOR LEVEL.

2.0	REQUIREMENTS

2.1	EQUIPMENT

	A PDP-10 KS10 WITH A MINIMUM OF 32K OF MEMORY

	CONSOLE PROCESSOR
	CONSOLE TELETYPE

2.2	STORAGE

	THE PROGRAM RUNS WITHIN 32K OF MEMORY.

2.3	PRELIMINARY PROGRAMS

	CONSOLE FUNCTIONS WORKING PROPERLY
							MAINDEC-10-SMBC2.TXT
							PAGE 4                                                             SEQ 0004


3.0	PROGRAM PROCEDURES

3.1	LOADING PROCEDURE

	LOAD VIA CONSOLE PROCESSOR

3.2	STARTING PROCEDURE

	STAND-ALONE STARTING ADDRESS IS 3000.

	IF THE DIAGNOSTIC FAILS TO START CORRECTLY TRY STARTING AT THE
	FIRST TEST INSTEAD OF AT THE BEGINNING OF THE CONTROL SEQUENCE.
	(SEE LISTING).

3.3	OPERATING PROCEDURE

	ONCE STARTED THE PROGRAM WILL CYCLE CONTINUALLY UNTIL STOPPED
	OR AN ERROR OCCURS.

4.0	ERRORS

	ERRORS ARE IN THE FORM OF HALT INSTRUCTIONS.  THE LISTING
	SHOULD BE CONSULTED TO DETERMINE THE CAUSE OF THE ERROR.  A
	NO OPERATION (JUMP) INSTRUCTION FOLLOWS EACH HALT.  THIS
	MAY BE USEFUL IN CONSTRUCTING A SCOPE LOOP TO CYCLE ON THE
	FAILING INSTRUCTION.

5.0	ITERATION COUNTER

	SMBC2 WILL RUN ONE PASS ONLY.

6.0	CYCLE TIME

	THE CYCLE TIME OF THE PROGRAM IS IN THE MILLISECOND RANGE AND
	IS THEREFORE SUITABLE FOR TAKING MARGINS, VIBRATION TESTS, ETC.

7.0	OPERATIONAL VARIATIONS

	A.  USER MODE

	    THE PROGRAM WILL OPERATE IN USER MODE AND AS SUCH PROVIDES
	    ASSURANCE THAT THE PROCESSOR IS PERFORMING ALL FUNCTIONS
	    CORRECTLY.  USER MODE STARTING ADDRESS IS 3000.
							MAINDEC-10-SMBC2.TXT
							PAGE 5                                                             SEQ 0005

8.0	MAGTAPE BOOTSTRAP FILE "SMMTPB"
	-------------------------------

THE DECSYSTEM 2020 DIAGNOSTIC MAGTAPE CONTAINS A READ-IN BOOTSTRAP FILE
WHICH IS THE FIRST FILE ON THE FRONT OF EVERY DIAGNOSTIC MAGTAPE.
THIS FILE IS THE EXECUTABLE PDP-10 CODE TO PERFORM BASIC PROCESSOR TESTING
OF THE INSTRUCTIONS NECESSARY TO PERFORM THE PRE-BOOT TO LOAD AND START
THE "SMBC2" BOOTCHECK 2 PROCESSOR TEST CODE.  AFTER "SMBC2" RUNS TO
SUCCESSFUL COMPLETION IT WILL RETURN TO THE READ-IN BOOTSTRAP CODE WHICH
WILL THEN LOAD AND START THE "SMMAG" MAGTAPE DIAGNOSTIC MONITOR.

	BOOTSTRAP FILE SMTAPE.RDI ERRORS
	--------------------------------

	THE FOLLOWING HALT ADDRESSES DURING THE MAGTAPE PRE-BOOT
	OPERATION INDICATE THE FOLLOWING FAILURES:

	HALT 1001 - TRIED TO OVERLOAD PRE-BOOT
	HALT 1002 - MAGTAPE READ ERROR
	HALT 1003 - NO RH-11 BASE ADDRESS
	HALT 1004 - MAGTAPE SKIP ERROR

	THE FOLLOWING HALT STATUS BLOCK IS SAVED IF THE MAGTAPE
	PRE-BOOT FAILS:

	LOC	100 - 0
	LOC	101 - 0
	LOC	102 - 0
	LOC	103 - MTCS1, CONTROL AND STATUS 1 REG
	LOC	104 - MTCS2, CONTROL AND STATUS 2 REG
	LOC	105 - MTDS, DRIVE STATUS REG
	LOC	106 - MTER, ERROR REG
	LOC	107 - 0
	LOC	110 - 0
	LOC	111 - UBA PAGING RAM LOCATION 0
	LOC	112 - UBA STATUS REG
	LOC	113 - PRE-BOOT VERSION

	OTHER HALTS FROM THE MAGTAPE PRE-BOOT INDICATE PROCESSOR FAILURE IN
	THE BASIC BOOT-CHECK OPERATIONS AND REQUIRE REFERENCE TO THE "SMMTPB"
	OR THE "SMBC2" LISTING TO DETERMINE THE CAUSE OF THE FAILURE.
							MAINDEC-10-SMBC2.TXT
							PAGE 6                                                             SEQ 0006

9.0	DISK BOOTSTRAP FILE "SMPREB"
	----------------------------

THE DECSYSTEM 2020 DIAGNOSTIC DISK CONTAINS A READ-IN BOOTSTRAP FILE
WHICH IS THE EXECUTABLE PDP-10 CODE TO PERFORM BASIC PROCESSOR TESTING
OF THE INSTRUCTIONS NECESSARY TO PERFORM THE PRE-BOOT TO LOAD AND START
THE "SMBC2" BOOTCHECK 2 PROCESSOR TEST CODE.

	THE FOLLOWING HALT ADDRESSES DURING THE DISK PRE-BOOT
	OPERATION INDICATE THE FOLLOWING FAILURES:

	HALT 1001 - TRIED TO OVERLOAD PRE-BOOT
	HALT 1002 - DISK RETRY FAILURE
	HALT 1003 - NO RH-11 BASE ADDRESS

	THE FOLLOWING HALT STATUS BLOCK IS SAVED IF THE DISK
	PRE-BOOT FAILS:

	LOC	100 - 8080 DISK ADDRESS
	LOC	101 - MEMORY PAGE ADDRESS
	LOC	102 - T3, SELECTION PICKUP POINTER
	LOC	103 - RPCS1, CONTROL AND STATUS 1 REG
	LOC	104 - RPCS10, CONTROL AND STATUS 2 REG
	LOC	105 - RPDS, DRIVE STATUS REG
	LOC	106 - RPER1, ERROR 1 REG
	LOC	107 - RPER2, ERROR 2 REG
	LOC	110 - RPER3, ERROR 3 REG
	LOC	111 - UBA PAGING RAM LOCATION 0
	LOC	112 - UBA STATUS REG
	LOC	113 - PRE-BOOT VERSION

	OTHER HALTS FROM THE DISK PRE-BOOT INDICATE PROCESSOR FAILURE IN THE
	BASIC BOOT-CHECK OPERATIONS AND REQUIRE REFERENCE TO THE "SMPREB"
	OR THE "SMBC2" LISTING TO DETERMINE THE CAUSE OF THE FAILURE.

10.0	MISCELLANEOUS

	NONE

11.0	LISTINGS

	MAGTAPE PRE-BOOT "MTPREB"
	DISK PRE-BOOT "SMPREB"
	BOOTCHECK 2 "SMBC2"
		HISTORY FILE FOR SMBC2                                                                                     SEQ 0007
		----------------------

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

CODE:		MAINDEC-10-SMBC2

TITLE:		DECSYSTEM 2020 BOOT CHECK 2 DIAGNOSTIC

VERSION:	0.1

DATE:		DECEMBER 1978

REASON:		ORIGINAL RELEASE OF THIS PROGRAM FOR KS-10.
---------------------------------------------------------------
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 1
SMMTPB	MAC	12-Oct-78 16:50	                                                                                           SEQ 0008

     1					;*MAINDEC-10-SMMTPB
     2
     3			000000			MCNVER==0
     4			000002			DECVER==2
     5
     6													XLIST
     7													LIST
     8													LALL
     9						PTITL	\MCNVER,\DECVER^
    10
    11					TITLE	SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2^
    12
    13													SALL
    14
    15					;*JOHN R. KIRCHOFF
    16
    17					;*COPYRIGHT(C) 1978
    18					;*DIGITAL EQUIPMENT CORPORATION
    19					;*MARLBORO, MASS. 01752
    20
    21						NOSYM
    22
    23					INTERN	SMMTPB	;LET EXTERNAL PROGRAM KNOW WHERE THIS IS
    24	000000'				SMMTPB:		;INTERNAL REFERENCE ADDRESS
    25					INTERN	SMMTEND	;INTERNAL REFERENCE END ADDRESS
    26	001000				PHASE	1000	;THE PRE-BOOT IS REALLY AT LOC 1000
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 2
SMMTPB	MAC	12-Oct-78 16:50		PROGRAM PARAMETERS                                                                 SEQ 0009

    27					SUBTTL	PROGRAM PARAMETERS
    28
    29					;*ACCUMULATOR ASSIGNMENTS
    30
    31			000001			A=1				;GENERAL PURPOSE ACS
    32			000002			B=2
    33			000003			C=3
    34			000004			D=4
    35			000005			P1=5
    36
    37			000001		PBMADR=1
    38			000002		PBLIM=2
    39			000003		PBBITS=3
    40			000004		PBERR=4
    41
    42					;*MAGTAP DEFINITIONS
    43
    44			001000		RCDSIZ==^D512		;SIZE OF RECORDS ON TAPE
    45
    46			000000		MTCS1=	00		;CONTROL AND STATUS 1
    47			000002		MTWC=	02		;WORD COUNT REGISTER
    48			000004		MTBA=	04		;UNIBUS ADDRESS REGISTER
    49			000006		MTFC=	06		;FRAME COUNT REGISTER
    50			000010		MTCS2=	10		;CONTROL AND STATUS 2
    51			000012		MTDS=	12		;DRIVE STATUS
    52			000014		MTER=	14		;ERROR REGISTER
    53			000016		MTAS=	16		;ATTENTION SUMMARY
    54			000020		MTCK=	20		;CHARACTER CHECK REGISTER
    55			000022		MTDB=	22		;DATA BUFFER
    56			000024		MTMR=	24		;MAINTENANCE REGISTER
    57			000026		MTDT=	26		;DRIVE TYPE
    58			000030		MTSN=	30		;SERIAL NUMBER
    59			000032		MTTC=	32		;TAPE CONTROL REGISTER
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 3
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0010

    60					SUBTTL	EXEC MAGTAPE LOAD ROUTINES
    61
    62					;*I/O INSTRUCTION DEFINITIONS
    63
    64		701140	000000		OPDEF	WRUBR	[701B8+3B12]	;WRITE USER BASE REGISTER
    65		712000	000000		OPDEF	RDIO	[712B8]		;READ I/O
    66		713000	000000		OPDEF	WRIO	[713B8]		;WRITE I/O
    67
    68					;*MAGTAPE CONTROL COMMANDS
    69
    70			000001		MT.NOP=	01		;NO-OP
    71			000003		MT.RWO=	03		;REWIND OFF-LINE
    72			000007		MT.RW=	07		;REWIND
    73			000011		MT.DC=	11		;DRIVE CLEAR
    74			000025		MT.ERS=	25		;ERASE
    75			000027		MT.WTM=	27		;WRITE TAPE MARK
    76			000031		MT.SF=	31		;SPACE FORWARD
    77			000033		MT.SR=	33		;SPACE REVERSE
    78			000051		MT.WCF=	51		;WRITE CHECK FORWARD
    79			000057		MT.WCR=	57		;WRITE CHECK REVERSE
    80			000061		MT.WF=	61		;WRITE FORWARD
    81			000071		MT.RF=	71		;READ FORWARD
    82			000077		MT.RR=	77		;READ REVERSE
    83
    84					;*MAGTAPE CONTROL AND STATUS 1 BITS
    85
    86			100000		MTSC=	100000		;SPECIAL CONDITION
    87			040000		MTTRE=	40000		;TRANSFER ERROR
    88			020000		MTMCPE=	20000		;MASSBUS CONTROL PARITY ERROR
    89			004000		MTDVA=	4000		;DRIVE AVAILABLE
    90			002000		MTPSEL=	2000		;PORT SELECT
    91			000200		MTRDY=	200		;READY
    92			000100		MTIE=	100		;INTERRUPT ENABLE
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 4
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0011

    93					;*MAGTAPE CONTROL AND STATUS REG 2 BITS
    94
    95			100000		MTDLT=	100000		;DATA LATE
    96			040000		MTWCE=	40000		;WRITE CHECK ERROR
    97			020000		MTPE=	20000		;PARITY ERROR
    98			010000		MTNED=	10000		;NON-EXISTENT DRIVE
    99			004000		MTNEM=	4000		;NON-EXISTENT MEMORY
   100			002000		MTPGE=	2000		;PROGRAM ERROR
   101			001000		MTMXF=	1000		;MISSED TRANSFER
   102			000400		MTMDPE=	400		;MASSBUS DATA PARITY ERROR
   103			000200		MTOR=	200		;OUTPUT READY
   104			000100		MTIR=	100		;INPUT READY
   105			000040		MTCLR=	40		;CONTROLLER CLEAR
   106			000020		MTPAT=	20		;PARITY TEST
   107			000010		MTBAI=	10		;BUS ADR INCREMENT INHIBIT
   108
   109					;*MAGTAPE DRIVE STATUS REG BITS
   110
   111			100000		MTATA=	100000		;ATTENTION
   112			040000		MTERR=	40000		;ERROR
   113			020000		MTPIP=	20000		;POSITIONING IN PROGRESS
   114			010000		MTMOL=	10000		;MEDIUM ON-LINE
   115			004000		MTWRL=	4000		;WRITE LOCKED
   116			002000		MTEOT=	2000		;END OF TAPE
   117			000400		MTDPR=	400		;DRIVE PRESENT
   118			000200		MTDRY=	200		;DRIVE READY
   119			000100		MTSSC=	100		;SLAVE STATUS CHANGE
   120			000040		MTPES=	40		;PHASE ENCODED
   121			000020		MTSDWN=	20		;SLOWING DOWN
   122			000010		MTIDB=	10		;IDENTIFICATION BURST
   123			000004		MTTM=	4		;TAPE MARK
   124			000002		MTBOT=	2		;BEGINNING OF TAPE
   125			000001		MTSLA=	1		;SLAVE ATTENTION
   126
   127					;*MAGTAPE ERROR REG BITS
   128
   129			100000		MTCOR=	100000		;CORRECTABLE DATA ERROR
   130			040000		MTUNS=	40000		;UNSAFE
   131			020000		MTOPI=	20000		;OPERATION INCOMPLETE
   132			010000		MTDTE=	10000		;DRIVE TIMING ERROR
   133			004000		MTNEF=	4000		;NON-EXECUTABLE FUNCTION
   134			002000		MTCS=	2000		;CORRECTABLE SKEW
   135			001000		MTFCE=	1000		;FRAME COUNT ERROR
   136			000400		MTNSG=	400		;NON STANDARD GAP
   137			000200		MTPEF=	200		;PE FORMAT ERROR
   138			000100		MTINC=	100		;INCORRECTABLE DATA
   139			000040		MTDPAR=	40		;DATA BUS PARITY
   140			000020		MTFMT=	20		;FORMAT ERROR
   141			000010		MTCPAR=	10		;CONTROL BUS PARITY
   142			000004		MTRMR=	4		;REGISTER MODIFICATION REFUSED
   143			000002		MTILR=	2		;ILLEGAL REGISTER
   144			000001		MTILF=	1		;ILLEGAL FUNCTION
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 5
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0012

   145					;*MAGTAPE TAPE CONTROL BITS
   146
   147			100000		MTACCL=	100000		;ACCELERATION
   148			040000		MTFCS=	40000		;FRAME CONTROL STATUS
   149			020000		MTTCW=	20000		;TAPE CONTROL WRITE
   150			010000		MTEOA=	10000		;ENABLE ABORT ON DATA TRANSFER ERROR
   151
   152			000000		MT200=	0		;200 BPI
   153			000400		MT556=	400		;556 BPI
   154			001000		MT800=	1000		;800 BPI
   155			002000		MT1600=	2000		;1600 BPI
   156
   157			000000		MTFMT1=	0		;FORMAT ?????
   158
   159			000010		MTEVP=	10		;EVEN PARITY
   160
   161					;*UNIBUS DEFINITIONS
   162
   163			002000		MTPGSZ=	^D512*2			;PAGE SIZE FOR MAGTAPE TRANSFER
   164
   165			763000		UBAP0=	763000			;ADDRESS OF UNIBUS MAP
   166			763100		UBSTAT=	763100			;ADDRESS OF UNIBUS STATUS
   167			040000		UNVBIT=	40000			;VALID UNIBUS BIT
   168			100000		UNV36X=	100000			;36 BIT UNIBUS TRANSFER
   169			020000		UNVDPB=	20000			;DISABLE UNIBUS PARITY BITS
   170
   171			000031		KPALIVE=31			;KEEP ALIVE & STATUS WORD
   172			000036		MSRH=36				;RH-11 BASE ADDRESS
   173			000037		MSDRIVE=37			;DRIVE NUMBER
   174			000040		MSSLAVE=40			;SLAVE NUMBER, BPI & FORMAT
   175			002000		RDIBUF=	2000			;READ BUFFER
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 6
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0013

   176					;*RH-11 MAGTAPE READ-IN
   177
   178	001000	254 00 0 00 001007 	MTSTRT:!JRST	MTSTAR
   179	001001	254 04 0 00 001001 	MTHLT0:!HALT	.		;TRIED TO OVERLOAD PRE-BOOT PAGE
   180	001002	254 04 0 00 001002 	MTHLT1:!HALT	.		;MAGTAPE READ ERROR
   181	001003	254 04 0 00 001003 	MTHLT2:!HALT	.		;NO RH-11 BASE ADDRESS
   182	001004	254 04 0 00 001004 	MTHLT3:!HALT	.		;MAGTAPE SKIP  ERROR
   183
   184	001005	000000	000000		PBPAGP:	0			;THIS WORD 0 FOR MAGTAPE
   185	001006	254 00 0 00 001403 	BC2RES:	JRST	BC2S		;BC2 RESTART ADDRESS FOR "SMMAG"
   186
   187					;VERIFY ACCUMULATOR AC0
   188
   189	001007	402 00 0 00 000000 	MTSTAR:!SETZM	0		;SET AC 0 TO ALL ZEROS
   190	001010	332 00 0 00 000000 		SKIPE			;SHOULD CAUSE A SKIP
   191	001011	254 04 0 00 001011 		HALT	.		;ERROR, DIDN'T SKIP
   192	001012	336 00 0 00 000000 		SKIPN			;THIS SHOULD NOT SKIP
   193	001013	334 00 0 00 000000 		SKIPA			;WHICH COMES HERE AND THEN SKIPS
   194	001014	254 04 0 00 001014 		HALT	.		;ERROR, EITHER SKIPN OR SKIPA FAILED
   195	001015	312 00 0 00 001662 		CAME	0,PBZERO
   196	001016	254 04 0 00 001016 		HALT	.		;ERROR, DOES NOT COMPARE
   197
   198	001017	476 00 0 00 000000 		SETOM	0		;SET AC 0 TO ALL ONES
   199	001020	336 00 0 00 000000 		SKIPN			;SHOULD CAUSE A SKIP
   200	001021	254 04 0 00 001021 		HALT	.		;ERROR, DIDN'T SKIP
   201	001022	332 00 0 00 000000 		SKIPE			;THIS SHOULD NOT SKIP
   202	001023	326 00 0 00 001025 		JUMPN	0,.+2		;BUT THIS JUMP SHOULD JUMP
   203	001024	254 04 0 00 001024 		HALT	.		;ERROR, EITHER SKIPE OR JUMPN FAILED
   204	001025	327 00 0 00 001027 		JUMPG	0,.+2		;THIS SHOULD NOT JUMP
   205	001026	321 00 0 00 001030 		JUMPL	0,.+2		;THIS ONE SHOULD JUMP
   206	001027	254 04 0 00 001027 		HALT	.		;ERROR, EITHER JUMPG OR JUMPL FAILED
   207	001030	312 00 0 00 001663 		CAME	0,PBMONE
   208	001031	254 04 0 00 001031 		HALT	.		;ERROR, DOES NOT COMPARE
   209
   210	001032	462 00 0 00 000000 		SETCMM	0		;COMPLEMENT AC0
   211	001033	322 00 0 00 001035 		JUMPE	0,.+2		;THIS JUMP SHOULD JUMP
   212	001034	254 04 0 00 001034 		HALT	.		;ERROR, DATA WRONG OR JUMP DIDN'T JUMP
   213	001035	312 00 0 00 001662 		CAME	0,PBZERO
   214	001036	254 04 0 00 001036 		HALT	.		;ERROR, DOES NOT COMPARE
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 7
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0014

   215
   216					;VERIFY BASIC CPU OPERATION
   217
   218	001037	400 00 0 00 000000 		SETZ	0,		;CLEAR AC0
   219	001040	271 00 0 00 000001 		ADDI	0,1		;ADD ONE
   220	001041	302 00 0 00 000001 		CAIE	0,1		;DID IT ADD CORRECTLY ?
   221	001042	254 04 0 00 001042 		HALT	.		;ERROR, CPU CAN'T ADD
   222	001043	306 00 0 00 000001 		CAIN	0,1		;THIS COMPARE SHOULDN'T SKIP
   223	001044	326 00 0 00 001046 		JUMPN	0,.+2		;BUT THIS JUMP SHOULD
   224	001045	254 04 0 00 001045 		HALT	.		;ERROR, EITHER CAIN OR JUMPN FAILED
   225	001046	321 00 0 00 001050 		JUMPL	0,.+2		;THIS SHOULD NOT JUMP
   226	001047	327 00 0 00 001051 		JUMPG	0,.+2		;THIS ONE SHOULD JUMP
   227	001050	254 04 0 00 001050 		HALT	.		;ERROR, EITHER JUMPL OR JUMPG FAILED
   228
   229	001051	271 00 0 00 000001 		ADDI	0,1		;ADD ONE AGAIN
   230	001052	302 00 0 00 000002 		CAIE	0,2		;SHOULD NOW BE TWO
   231	001053	254 04 0 00 001053 		HALT	.		;ERROR, CPU CAN'T ADD
   232
   233	001054	275 00 0 00 000002 		SUBI	0,2		;SUBTRACT TWO
   234	001055	302 00 0 00 000000 		CAIE	0,0		;SHOULD NOW BE ZERO AGAIN
   235	001056	254 04 0 00 001056 		HALT	.		;ERROR, CPU CAN'T SUBTRACT EITHER
   236
   237	001057	350 00 0 00 000000 		AOS	0		;ADD ONE A DIFFERENT WAY
   238	001060	302 00 0 00 000001 		CAIE	0,1		;THIS SHOULD GIVE A ONE
   239	001061	254 04 0 00 001061 		HALT	.		;ERROR, CPU STILL CAN'T ADD
   240
   241	001062	207 00 0 00 000000 		MOVSS	0,0		;SWAP AC0
   242	001063	312 00 0 00 001664 		CAME	0,PBLONE	;DID IT SWAP CORRECTLY ?
   243	001064	254 04 0 00 001064 		HALT	.		;NO, ERROR
   244
   245	001065	211 00 0 00 002000 		MOVNI	0,2000		;GENERATE A NEGATIVE NUMBER (BOOT WORD COUNT)
   246	001066	312 00 0 00 001665 		CAME	0,PBNEG		;SHOULD GIVE A MINUS 2000
   247	001067	254 04 0 00 001067 		HALT	.		;DIDN'T, ERROR
   248
   249	001070	400 00 0 00 000000 		SETZ	0,		;ZERO AC0
   250	001071	435 00 0 00 140000 		IORI	0,140000	;OR IN SAME BITS AS UBVBIT AND UNV36X
   251	001072	312 00 0 00 001666 		CAME	0,PBIOR		;ARE THE CORRECT BIT SET ?
   252	001073	254 04 0 00 001073 		HALT	.		;NO, ERROR
   253
   254	001074	201 00 0 00 000002 		MOVEI	0,2		;START WITH A TWO
   255	001075	363 00 0 00 001077 		SOJLE	0,.+2		;SUBTRACT ONE BUT SHOULD NOT JUMP
   256	001076	334 00 0 00 000000 		SKIPA			;WHICH SHOULD COME HERE AND SKIP
   257	001077	254 04 0 00 001077 		HALT	.		;ERROR, SOJLE MUST HAVE JUMPED
   258	001100	302 00 0 00 000001 		CAIE	0,1		;DID SUBTRACT WORK ?
   259	001101	254 04 0 00 001101 		HALT	.		;NO, ERROR
   260	001102	363 00 0 00 001104 		SOJLE	0,.+2		;DO IT AGAIN, THIS SHOULD JUMP
   261	001103	254 04 0 00 001103 		HALT	.		;DIDN'T, ERROR
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 8
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0015

   262
   263					;VERIFY BASIC ADDITION
   264
   265	001104	400 00 0 00 000000 		SETZ	0,		;CLEAR AC 0
   266	001105	270 00 0 00 001667 		ADD	0,PBONES	;ADD A SET OF OCTAL ONES
   267	001106	312 00 0 00 001667 		CAME	0,PBONES	;DID IT ADD CORRECTLY ?
   268	001107	254 04 0 00 001107 		HALT	.		;ERROR, CPU CAN'T ADD
   269
   270	001110	270 00 0 00 001667 		ADD	0,PBONES	;ADD A SET OF OCTAL ONES AGAIN
   271	001111	312 00 0 00 001670 		CAME	0,PBTWOS	;SHOULD GIVE A SET OF OCTAL TWOS
   272	001112	254 04 0 00 001112 		HALT	.		;ERROR
   273
   274	001113	270 00 0 00 001667 		ADD	0,PBONES	;ADD AGAIN
   275	001114	312 00 0 00 001671 		CAME	0,PBTHRE	;SHOULD GIVE A SET OF OCTAL THREES
   276	001115	254 04 0 00 001115 		HALT	.		;ERROR
   277
   278	001116	270 00 0 00 001667 		ADD	0,PBONES	;ADD AGAIN
   279	001117	312 00 0 00 001672 		CAME	0,PBFOUR	;SHOULD GIVE A SET OF OCTAL FOURS
   280	001120	254 04 0 00 001120 		HALT	.		;ERROR
   281
   282	001121	270 00 0 00 001667 		ADD	0,PBONES	;ADD AGAIN
   283	001122	312 00 0 00 001673 		CAME	0,PBFIVE	;SHOULD GIVE A SET OF OCTAL FIVES
   284	001123	254 04 0 00 001123 		HALT	.		;ERROR
   285
   286	001124	270 00 0 00 001667 		ADD	0,PBONES	;ADD AGAIN
   287	001125	312 00 0 00 001674 		CAME	0,PBSIX		;SHOULD GIVE A SET OF OCTAL SIXES
   288	001126	254 04 0 00 001126 		HALT	.		;ERROR
   289
   290	001127	270 00 0 00 001667 		ADD	0,PBONES	;ADD AGAIN
   291	001130	312 00 0 00 001663 		CAME	0,PBMONE	;SHOULD GIVE A SET OF OCTAL SEVENS
   292	001131	254 04 0 00 001131 		HALT	.		;ERROR
   293
   294	001132	271 00 0 00 000001 		ADDI	0,1		;ADD JUST A ONE
   295	001133	322 00 0 00 001135 		JUMPE	0,.+2		;COMPARE IT A DIFFERENT WAY
   296	001134	254 04 0 00 001134 		HALT	.		;DIDN'T GIVE A FULL WORD OF ZEROS
   297
   298					;VERIFY AOBJN ADDITION AND JUMP TRANSFER
   299
   300	001135	253 00 0 00 001137 		AOBJN	0,.+2		;ADD 1 TO BOTH HALVES OF THE WORD
   301	001136	312 00 0 00 001675 		CAME	0,PB11		;GIVE THE RIGHT ANSWER AND NO JUMP ?
   302	001137	254 04 0 00 001137 		HALT	.		;NO, ERROR
   303
   304	001140	474 00 0 00 000000 		SETO	0,		;PRESET AC 0 TO -1
   305	001141	253 00 0 00 001143 		AOBJN	0,.+2		;GIVE THE RIGHT ANSWER AND NO JUMP ?
   306	001142	312 00 0 00 001662 		CAME	0,PBZERO
   307	001143	254 04 0 00 001143 		HALT	.		;NO, ERROR
   308
   309	001144	200 00 0 00 001674 		MOVE	0,PBSIX		;VERIFY THAT AOBJN DOES JUMP
   310	001145	253 00 0 00 001147 		AOBJN	0,.+2
   311	001146	254 04 0 00 001146 		HALT	.		;ERROR, DIDN'T DO THE JUMP
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 9
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0016

   312
   313					;VERIFY ACCUMULATOR ADDRESSING
   314
   315	001147	201 00 0 00 000000 		MOVEI	0,0		;LOAD EACH AC WITH ITS OWN ADDRESS
   316	001150	201 01 0 00 000001 		MOVEI	1,1
   317	001151	201 02 0 00 000002 		MOVEI	2,2
   318	001152	201 03 0 00 000003 		MOVEI	3,3
   319	001153	201 04 0 00 000004 		MOVEI	4,4
   320	001154	201 05 0 00 000005 		MOVEI	5,5
   321	001155	201 06 0 00 000006 		MOVEI	6,6
   322	001156	201 07 0 00 000007 		MOVEI	7,7
   323	001157	201 10 0 00 000010 		MOVEI	10,10
   324	001160	201 11 0 00 000011 		MOVEI	11,11
   325	001161	201 12 0 00 000012 		MOVEI	12,12
   326	001162	201 13 0 00 000013 		MOVEI	13,13
   327	001163	201 14 0 00 000014 		MOVEI	14,14
   328	001164	201 15 0 00 000015 		MOVEI	15,15
   329	001165	201 16 0 00 000016 		MOVEI	16,16
   330	001166	201 17 0 00 000017 		MOVEI	17,17
   331
   332	001167	302 17 0 00 000017 		CAIE	17,17		;VERIFY THAT EACH AC ADDRESSES CORRECTLY
   333	001170	254 04 0 00 001170 		HALT	.		;ERROR
   334	001171	302 16 0 00 000016 		CAIE	16,16
   335	001172	254 04 0 00 001172 		HALT	.
   336	001173	302 15 0 00 000015 		CAIE	15,15
   337	001174	254 04 0 00 001174 		HALT	.
   338	001175	302 14 0 00 000014 		CAIE	14,14
   339	001176	254 04 0 00 001176 		HALT	.
   340	001177	302 13 0 00 000013 		CAIE	13,13
   341	001200	254 04 0 00 001200 		HALT	.
   342	001201	302 12 0 00 000012 		CAIE	12,12
   343	001202	254 04 0 00 001202 		HALT	.
   344	001203	302 11 0 00 000011 		CAIE	11,11
   345	001204	254 04 0 00 001204 		HALT	.
   346	001205	302 10 0 00 000010 		CAIE	10,10
   347	001206	254 04 0 00 001206 		HALT	.
   348	001207	302 07 0 00 000007 		CAIE	7,7
   349	001210	254 04 0 00 001210 		HALT	.
   350	001211	302 06 0 00 000006 		CAIE	6,6
   351	001212	254 04 0 00 001212 		HALT	.
   352	001213	302 05 0 00 000005 		CAIE	5,5
   353	001214	254 04 0 00 001214 		HALT	.
   354	001215	302 04 0 00 000004 		CAIE	4,4
   355	001216	254 04 0 00 001216 		HALT	.
   356	001217	302 03 0 00 000003 		CAIE	3,3
   357	001220	254 04 0 00 001220 		HALT	.
   358	001221	302 02 0 00 000002 		CAIE	2,2
   359	001222	254 04 0 00 001222 		HALT	.
   360	001223	302 01 0 00 000001 		CAIE	1,1
   361	001224	254 04 0 00 001224 		HALT	.
   362	001225	302 00 0 00 000000 		CAIE	0,0
   363	001226	254 04 0 00 001226 		HALT	.
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 10
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0017

   364
   365					;VERIFY ACCUMULATOR INDEXING
   366
   367	001227	312 01 0 01 000000 		CAME	1,(1)		;SHOULD COMPARE AC1 AGAINST CONTENTS OF AC1
   368	001230	254 04 0 00 001230 		HALT	.		;ERROR
   369	001231	312 02 0 02 000000 		CAME	2,(2)
   370	001232	254 04 0 00 001232 		HALT	.
   371	001233	312 03 0 03 000000 		CAME	3,(3)
   372	001234	254 04 0 00 001234 		HALT	.
   373	001235	312 04 0 04 000000 		CAME	4,(4)
   374	001236	254 04 0 00 001236 		HALT	.
   375	001237	312 05 0 05 000000 		CAME	5,(5)
   376	001240	254 04 0 00 001240 		HALT	.
   377	001241	312 06 0 06 000000 		CAME	6,(6)
   378	001242	254 04 0 00 001242 		HALT	.
   379	001243	312 07 0 07 000000 		CAME	7,(7)
   380	001244	254 04 0 00 001244 		HALT	.
   381	001245	312 10 0 10 000000 		CAME	10,(10)
   382	001246	254 04 0 00 001246 		HALT	.
   383	001247	312 11 0 11 000000 		CAME	11,(11)
   384	001250	254 04 0 00 001250 		HALT	.
   385	001251	312 12 0 12 000000 		CAME	12,(12)
   386	001252	254 04 0 00 001252 		HALT	.
   387	001253	312 13 0 13 000000 		CAME	13,(13)
   388	001254	254 04 0 00 001254 		HALT	.
   389	001255	312 14 0 14 000000 		CAME	14,(14)
   390	001256	254 04 0 00 001256 		HALT	.
   391	001257	312 15 0 15 000000 		CAME	15,(15)
   392	001260	254 04 0 00 001260 		HALT	.
   393	001261	312 16 0 16 000000 		CAME	16,(16)
   394	001262	254 04 0 00 001262 		HALT	.
   395	001263	312 17 0 17 000000 		CAME	17,(17)
   396	001264	254 04 0 00 001264 		HALT	.
   397
   398					;VERIFY INDIRECT ADDRESSING
   399
   400	001265	200 00 1 00 000017 		MOVE	0,@17		;FETCH THE CONTENTS OF AC17
   401	001266	302 00 0 00 000017 		CAIE	0,17		;SHOULD BE 17
   402	001267	254 04 0 00 001267 		HALT	.		;WASN'T, ERROR
   403
   404					;VERIFY INDIRECT AND INDEXING
   405
   406	001270	200 00 1 03 000004 		MOVE	0,@4(3)		;SHOULD FETCH THE CONTENTS OF AC7
   407	001271	302 00 0 00 000007 		CAIE	0,7		;CONTENTS OF 4 PLUS CONTENTS OF 3
   408	001272	254 04 0 00 001272 		HALT	.		;DIDN'T, ERROR
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 11
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0018

   409
   410					;VERIFY ACCUMULATOR AC17
   411
   412	001273	402 00 0 00 000017 		SETZM	17		;SET ZEROS TO AC17
   413	001274	312 17 0 00 001662 		CAME	17,PBZERO	;IS IT CORRECT ?
   414	001275	254 04 0 00 001275 		HALT	.		;NO, COULD BE ABOUT ANYTHING
   415
   416	001276	476 00 0 00 000017 		SETOM	17		;SET ONES TO AC17
   417	001277	312 17 0 00 001663 		CAME	17,PBMONE	;IS IT CORRECT ?
   418	001300	254 04 0 00 001300 		HALT	.		;NO, COULD BE ABOUT ANYTHING
   419
   420					;VERIFY ACCUMULATOR DATA STORAGE
   421
   422	001301	205 17 0 00 777761 		MOVSI	17,-17
   423	001302	312 17 0 00 001676 		CAME	17,PB17		;DID MOVE SWAPPED IMMEDIATE WORK ?
   424	001303	254 04 0 00 001303 		HALT	.		;NO, ERROR
   425
   426	001304	476 00 0 17 000000 		SETOM	(17)		;SET ONES TO AC'S 0 TO 16
   427	001305	253 17 0 00 001304 		AOBJN	17,.-1
   428
   429	001306	205 17 0 00 777761 		MOVSI	17,-17
   430	001307	462 00 0 17 000000 		SETCMM	(17)		;COMPLEMENT AC, SHOULD THEN BE ZERO
   431	001310	332 00 0 17 000000 		SKIPE	(17)
   432	001311	254 04 0 00 001311 		HALT	.		;WASN'T, STILL COULD BE ABOUT ANYTHING
   433	001312	253 17 0 00 001307 		AOBJN	17,.-3
   434	001313	402 00 0 00 000017 		SETZM	17
   435
   436					;VERIFY SUBROUTINE CALLING
   437
   438	001314	254 02 1 00 001315 		JRSTF	@.+1		;CLEAR PROCESSOR FLAGS
   439	001315	000000	001316				0,,.+1
   440	001316	264 00 0 00 001321 		JSR	.+3		;TRANSFER TO SUBROUTINE
   441	001317	254 04 0 00 001317 	PBJSR:!	HALT	.		;DIDN'T TRANSFER
   442
   443	001320	254 00 0 00 001327 		JRST	.+7		;CONTINUE AFTER SUBROUTINE FROM HERE
   444
   445	001321	000000	000000			0			;SAVED PC STORAGE
   446	001322	200 00 0 00 001321 		MOVE	0,.-1		;GET SAVED PC
   447	001323	312 00 0 00 001677 		CAME	0,PBSPC		;DID CORRECT PC GET STORED ?
   448	001324	254 04 0 00 001324 		HALT	.		;NO, ERROR
   449	001325	350 00 0 00 001321 		AOS	PBJSR+2		;PLUS ONE TO PC TO SKIP HALT
   450	001326	254 02 1 00 001321 		JRSTF	@PBJSR+2	;NOW CONTINUE BACK IN MAINLINE
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 12
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0019

   451
   452					;VERIFY BIT TESTS USED IN PRE-BOOT
   453
   454	001327	201 00 0 00 000200 		MOVEI	0,200		;SAME BIT AS MAGTAPE READY
   455	001330	606 00 0 00 000200 		TRNN	0,200		;SHOULD SKIP
   456	001331	254 04 0 00 001331 		HALT	.		;ERROR, DIDN'T
   457	001332	602 00 0 00 000200 		TRNE	0,200		;SHOULD NOT SKIP
   458	001333	324 00 0 00 001335 		JUMPA	.+2		;WHICH COMES HERE AND JUMPA SHOULD JUMP
   459	001334	254 04 0 00 001334 		HALT	.		;EITHER TRNE OR JUMPA FAILED
   460	001335	302 00 0 00 000200 		CAIE	0,200		;DO IMMEDIATE MODE COMPARE
   461	001336	254 04 0 00 001336 		HALT	.		;ERROR, DOES NOT COMPARE
   462
   463	001337	201 00 0 00 040000 		MOVEI	0,40000		;SAME BIT AS TRE ERROR
   464	001340	606 00 0 00 040000 		TRNN	0,40000		;SHOULD SKIP
   465	001341	254 04 0 00 001341 		HALT	.		;ERROR, DIDN'T
   466	001342	602 00 0 00 040000 		TRNE	0,40000		;SHOULD NOT SKIP
   467	001343	324 00 0 00 001345 		JUMPA	.+2		;WHICH COMES HERE AND JUMPA SHOULD JUMP
   468	001344	254 04 0 00 001344 		HALT	.		;EITHER TRNE OR JUMPA FAILED
   469	001345	302 00 0 00 040000 		CAIE	0,40000		;DO IMMEDIATE MODE COMPARE
   470	001346	254 04 0 00 001346 		HALT	.		;ERROR, DOES NOT COMPARE
   471
   472					;SAVE BOOT MAGTAPE PARAMETERS
   473
   474	001347	200 00 0 00 000036 		MOVE	0,MSRH		;GET MAGTAPE ADDRESS
   475	001350	202 00 0 00 001711 		MOVEM	0,MTRHSV
   476	001351	336 00 0 00 000000 		SKIPN	0
   477	001352	254 00 0 00 001003 		JRST	MTHLT2		;NO RH-11 BASE ADDRESS ?
   478	001353	502 00 0 00 001715 		HLLM	UNBMP0		;SETUP UBA MAP POINTER
   479	001354	502 00 0 00 001716 		HLLM	MTUBST
   480
   481	001355	200 00 0 00 000040 		MOVE	0,MSSLAVE
   482	001356	202 00 0 00 001713 		MOVEM	0,MTSLSV	;SAVE SLAVE & FORMAT
   483
   484	001357	200 00 0 00 000031 		MOVE	0,KPALIVE
   485	001360	202 00 0 00 001710 		MOVEM	0,MTKPAL	;SAVE KEEP-ALIVE WORD
   486
   487	001361	200 00 0 00 000037 		MOVE	0,MSDRIVE
   488	001362	202 00 0 00 001712 		MOVEM	0,MTDRSV	;SAVE DRIVE SELECTION
   489
   490					;VERIFY XOR INSTRUCTION
   491
   492	001363	400 00 0 00 000000 		SETZ	0,		;XOR 0 WITH 0
   493	001364	430 00 0 00 000000 		XOR	0,0
   494	001365	302 00 0 00 000000 		CAIE	0,0		;SHOULD GIVE ALL ZEROS
   495	001366	254 04 0 00 001366 		HALT	.		;DIDN'T, ERROR
   496
   497	001367	474 00 0 00 000000 		SETO	0,		;XOR -1 WITH -1
   498	001370	430 00 0 00 000000 		XOR	0,0
   499	001371	302 00 0 00 000000 		CAIE	0,0		;SHOULD GIVE ALL ZEROS
   500	001372	254 04 0 00 001372 		HALT	.		;DIDN'T, ERROR
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 13
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0020

   501
   502	001373	474 01 0 00 000000 		SETO	1,		;ALL ONES TO AC1
   503	001374	430 00 0 00 000001 		XOR	0,1		;XOR 0 AND -1
   504	001375	312 00 0 00 001663 		CAME	0,PBMONE	;SHOULD GIVE ALL ONES
   505	001376	254 04 0 00 001376 		HALT	.		;DIDN'T, ERROR
   506
   507	001377	400 01 0 00 000000 		SETZ	1,		;ALL ZEROS TO AC1
   508	001400	430 00 0 00 000001 		XOR	0,1		;XOR -1 AND 0
   509	001401	312 00 0 00 001663 		CAME	0,PBMONE	;SHOULD GIVE ALL ONES
   510	001402	254 04 0 00 001402 		HALT	.		;DIDN'T, ERROR
   511
   512					;VERIFY MEMORY FROM 20 TO 777
   513					;	ALSO BOOT CHECK 2 RESTART ADDRESS, NOW LOAD SMMAG
   514
   515	001403	201 01 0 00 000020 	BC2S:	MOVEI	PBMADR,20	;TEST MEMORY 20 TO 777 FOR ONES
   516	001404	201 02 0 00 000777 		MOVEI	PBLIM,777
   517	001405	476 00 0 00 000003 		SETOM	PBBITS
   518	001406	264 00 0 00 001432 		JSR	PBTST1		;DO MEMORY TEST
   519
   520	001407	201 01 0 00 000020 		MOVEI	PBMADR,20	;TEST MEMORY 20 TO 777 FOR ADDRESS
   521	001410	201 02 0 00 000777 		MOVEI	PBLIM,777
   522	001411	264 00 0 00 001443 		JSR	PBTST2		;DO MEMORY TEST
   523
   524	001412	201 01 0 00 000020 		MOVEI	PBMADR,20	;TEST MEMORY 20 TO 777 FOR ZEROS
   525	001413	201 02 0 00 000777 		MOVEI	PBLIM,777
   526	001414	402 00 0 00 000003 		SETZM	PBBITS
   527	001415	264 00 0 00 001432 		JSR	PBTST1		;DO MEMORY TEST
   528
   529					;VERIFY MEMORY FROM 2000 TO END OF 32K
   530
   531	001416	201 01 0 00 002000 		MOVEI	PBMADR,2000	;TEST MEMORY 2000 TO 77777 FOR ONES
   532	001417	201 02 0 00 077777 		MOVEI	PBLIM,77777
   533	001420	476 00 0 00 000003 		SETOM	PBBITS
   534	001421	264 00 0 00 001432 		JSR	PBTST1		;DO MEMORY TEST
   535
   536	001422	201 01 0 00 002000 		MOVEI	PBMADR,2000	;TEST MEMORY 2000 TO 77777 FOR ADDRESS
   537	001423	201 02 0 00 077777 		MOVEI	PBLIM,77777
   538	001424	264 00 0 00 001443 		JSR	PBTST2		;DO MEMORY TEST
   539
   540	001425	201 01 0 00 002000 		MOVEI	PBMADR,2000	;TEST MEMORY 2000 TO 77777 FOR ZEROS
   541	001426	201 02 0 00 077777 		MOVEI	PBLIM,77777
   542	001427	402 00 0 00 000003 		SETZM	PBBITS
   543	001430	264 00 0 00 001432 		JSR	PBTST1		;DO MEMORY TEST
   544
   545	001431	254 00 0 00 001454 		JRST	PBSTA1		;NOW GO LOAD FROM MAGTAPE
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 14
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0021

   546
   547					;MEMORY DATA SUBROUTINE
   548
   549	001432	000000	000000		PBTST1:!	0
   550	001433	202 03 0 01 000000 		MOVEM	PBBITS,(PBMADR)	;MOVE DATA TO MEMORY
   551	001434	200 04 0 01 000000 		MOVE	PBERR,(PBMADR)	;READ DATA BACK FROM MEMORY
   552	001435	430 04 0 00 000003 		XOR	PBERR,PBBITS	;XOR DATA, WILL BE ZERO IF NO ERROR
   553	001436	322 04 0 00 001440 		JUMPE	PBERR,.+2
   554	001437	254 04 0 00 001437 		HALT	.		;MEMORY DATA ERROR
   555	001440	305 01 0 02 000000 		CAIGE	PBMADR,(PBLIM)	;COMPLETED MEMORY SECTION ?
   556	001441	344 01 0 00 001433 		AOJA	PBMADR,PBTST1+1	;NO, CONTINUE TO NEXT ADDRESS
   557	001442	254 02 1 00 001432 		JRSTF	@PBTST1		;YES, RETURN TO MAIN LINE
   558
   559					;MEMORY ADDRESS SUBROUTINE
   560
   561	001443	000000	000000		PBTST2:!	0
   562	001444	200 03 0 00 000001 		MOVE	PBBITS,PBMADR	;SETUP ADDRESS AS TEST DATA
   563	001445	202 03 0 01 000000 		MOVEM	PBBITS,(PBMADR)	;MOVE DATA TO MEMORY
   564	001446	200 04 0 01 000000 		MOVE	PBERR,(PBMADR)	;READ DATA BACK FROM MEMORY
   565	001447	312 03 0 00 000004 		CAME	PBBITS,PBERR	;DATA WILL BE THE SAME IF NO ERROR
   566	001450	254 04 0 00 001450 		HALT	.		;MEMORY DATA ERROR
   567	001451	305 01 0 02 000000 		CAIGE	PBMADR,(PBLIM)	;COMPLETED MEMORY SECTION ?
   568	001452	344 01 0 00 001444 		AOJA	PBMADR,PBTST2+1	;NO, CONTINUE TO NEXT ADDRESS
   569	001453	254 02 1 00 001443 		JRSTF	@PBTST2		;YES, RETURN TO MAIN LINE
   570
   571	001454	200 05 0 00 001711 	PBSTA1:!MOVE	P1,MTRHSV	;SETUP UNIBUS ADDRESS INDEX
   572
   573	001455	264 00 0 00 001514 	GORH:!	JSR	SETRH		;SETUP RH-11
   574
   575	001456	201 01 0 00 000031 		MOVEI	A,MT.SF		;SPACE FORWARD ONE FILE
   576	001457	713 01 0 05 000000 		WRIO	A,MTCS1(P1)
   577
   578	001460	264 00 0 00 001506 		JSR	MSRDY		;WAIT FOR TAPE TO STOP
   579	001461	606 01 0 00 000004 		TRNN	A,MTTM		;CHECK FOR TAPE MARK DETECTED
   580	001462	254 00 0 00 001617 		JRST	MTSERR		;SPACE FORWARD ERROR
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 15
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0022

   581
   582	001463	402 00 0 00 000002 		SETZM	B		;GET POINTER FIRST TIME
   583	001464	201 04 0 00 000144 		MOVEI	D,^D100		;RETRY 100 TIMES
   584
   585	001465	264 00 0 00 001514 	RDRH:!	JSR	SETRH
   586
   587	001466	201 01 0 00 040002 		MOVEI	A,<RDIBUF_-^D9>+UNVBIT
   588	001467	713 01 1 00 001715 		WRIO	A,@UNBMP0	;SET UNIBUS MAP
   589
   590	001470	400 01 0 00 000000 		SETZ	A,
   591	001471	713 01 0 05 000004 		WRIO	A,MTBA(P1)	;SET UNIBUS ADDRESS
   592
   593	001472	201 01 0 00 776000 		MOVEI	A,-MTPGSZ
   594	001473	713 01 0 05 000002 		WRIO	A,MTWC(P1)	;SET WORD COUNT
   595
   596	001474	201 01 0 00 000071 		MOVEI	A,MT.RF		;READ FORWARD
   597	001475	713 01 0 05 000000 		WRIO	A,MTCS1(P1)
   598
   599	001476	264 00 0 00 001506 		JSR	MSRDY		;WAIT FOR READY
   600	001477	602 01 0 00 000004 		TRNE	A,MTTM
   601	001500	254 00 0 00 001623 		JRST	MTFAIL		;READ ERROR, EOF DETECTED
   602
   603	001501	712 01 0 05 000014 		RDIO	A,MTER(P1)
   604	001502	602 01 0 00 176777 		TRNE	A,177777-MTFCE
   605	001503	254 00 0 00 001526 		JRST	MSRTRX		;ERROR OTHER THAN LENGTH ERROR
   606
   607	001504	264 00 0 00 001536 		JSR	LOADPG		;LOAD DATA FROM THIS RECORD
   608
   609	001505	254 00 0 00 001465 		JRST	RDRH		;READ NEXT RECORD
   610
   611	001506	000000	000000		MSRDY:!	0
   612	001507	712 01 0 05 000012 		RDIO	A,MTDS(P1)	;READ DRIVE STATUS
   613
   614	001510	606 01 0 00 020000 		TRNN	A,MTPIP		;IS DRIVE STOPPED ?
   615	001511	606 01 0 00 000200 		TRNN	A,MTDRY		;DRIVE READY ?
   616	001512	254 00 0 00 001507 		JRST	MSRDY+1
   617	001513	254 02 1 00 001506 		JRSTF	@MSRDY		;RETURN
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 16
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0023

   618
   619	001514	000000	000000		SETRH:!	0
   620	001515	201 01 0 00 000040 		MOVEI	A,MTCLR
   621	001516	713 01 0 05 000010 		WRIO	A,MTCS2(P1)	;CLEAR MAGTAPE
   622
   623	001517	200 01 0 00 001712 		MOVE	A,MTDRSV
   624	001520	713 01 0 05 000010 		WRIO	A,MTCS2(P1)	;SELECT DRIVE
   625
   626	001521	200 01 0 00 001713 		MOVE	A,MTSLSV
   627	001522	713 01 0 05 000032 		WRIO	A,MTTC(P1)	;LOAD TAPE CONTROL REGISTER
   628
   629	001523	400 01 0 00 000000 		SETZ	A,
   630	001524	713 01 0 05 000006 		WRIO	A,MTFC(P1)	;CLEAR FRAME COUNTER
   631
   632	001525	254 02 1 00 001514 		JRSTF	@SETRH		;RETURN
   633
   634	001526	361 04 0 00 001623 	MSRTRX:	SOJL	D,MTFAIL	;DONE ALL RETRIES ?
   635
   636	001527	264 00 0 00 001514 		JSR	SETRH		;SETUP RH-11
   637
   638	001530	211 01 0 00 000001 		MOVNI	A,1
   639	001531	713 01 0 05 000006 		WRIO	A,MTFC(P1)	;SET FRAME COUNT TO -1
   640
   641	001532	201 01 0 00 000033 		MOVEI	A,MT.SR
   642	001533	713 01 0 05 000000 		WRIO	A,MTCS1(P1)	;BACKSPACE THE TAPE
   643
   644	001534	264 00 0 00 001506 		JSR	MSRDY		;WAIT FOR TAPE TO STOP
   645
   646	001535	254 00 0 00 001465 		JRST	RDRH		;NOW TRY AGAIN
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 17
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0024

   647					;*LOADPG, LOAD THE DATA BUFFER INTO CORE AND START SMMAG AT END
   648
   649	001536	000000	000000		LOADPG:!0
   650	001537	205 01 0 00 777000 		MOVSI	A,-RCDSIZ	;GET COUNT OF WORDS IN BUFFER
   651	001540	541 01 0 00 002000 		HRRI	A,RDIBUF	;AND ADDRESS OF BUFFER
   652
   653	001541	200 00 0 01 000000 	LOADWD:!MOVE	(A)		;GET A WORD FROM BUFFER
   654	001542	325 02 0 00 001554 		JUMPGE	B,LOADPT	;JUMP IF LOOKING FOR POINTER
   655	001543	252 02 0 00 001544 		AOBJP	B,.+1		;INCREMENT POINTER
   656	001544	550 03 0 00 000002 		HRRZ	C,B		;STORE ADDRESS CAN'T BE
   657	001545	301 03 0 00 001000 		CAIL	C,1000		; 1000 TO 1777 - PRE-BOOT
   658	001546	303 03 0 00 002777 		CAILE	C,2777		; OR 2000 TO 2777 - READ BUFFER
   659	001547	254 00 0 00 001551 		JRST	.+2
   660	001550	254 00 0 00 001621 		JRST	MTBADR		;TRIED TO OVER-LOAD PRE-BOOT
   661	001551	202 00 0 02 000000 		MOVEM	(B)		;PUT WORD IN MEMORY
   662
   663	001552	253 01 0 00 001541 	LOADNX:!AOBJN	A,LOADWD	;COUNT AND GET NEXT WORD IN BUFFER
   664	001553	254 02 1 00 001536 		JRSTF	@LOADPG		;RETURN TO READ NEXT BUFFER
   665
   666	001554	325 00 0 00 001557 	LOADPT:!JUMPGE	PGMST		;START PROGRAM IF START WORD
   667	001555	202 00 0 00 000002 		MOVEM	B		;STORE POINTER IN B
   668	001556	254 00 0 00 001552 		JRST	LOADNX		;GET NEXT WORD FROM BUFFER
   669
   670	001557	202 00 0 00 000020 	PGMST:!	MOVEM	20		;SAVE START ADDRESS
   671	001560	200 00 0 00 001711 		MOVE	MTRHSV		;REINSTALL RH-11 ADDRESS
   672	001561	202 00 0 00 000036 		MOVEM	MSRH
   673	001562	200 00 0 00 001712 		MOVE	MTDRSV		;REINSTALL DRIVE NUMBER
   674	001563	202 00 0 00 000037 		MOVEM	MSDRIVE
   675	001564	200 00 0 00 001713 		MOVE	MTSLSV		;REINSTALL SLAVE NUMBER
   676	001565	202 00 0 00 000040 		MOVEM	MSSLAVE
   677	001566	200 00 0 00 001710 		MOVE	MTKPAL
   678	001567	202 00 0 00 000031 		MOVEM	KPALIVE		;REINSTALL KEEP-ALIVE
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 18
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0025

   679	001570	701 03 0 00 001700 		WRUBR	PBACB7
   680	001571	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 7
   681
   682	001572	701 03 0 00 001701 		WRUBR	PBACB6
   683	001573	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 6
   684
   685	001574	701 03 0 00 001702 		WRUBR	PBACB5
   686	001575	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 5
   687
   688	001576	701 03 0 00 001703 		WRUBR	PBACB4
   689	001577	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 4
   690
   691	001600	701 03 0 00 001704 		WRUBR	PBACB3
   692	001601	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 3
   693
   694	001602	701 03 0 00 001705 		WRUBR	PBACB2
   695	001603	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 2
   696
   697	001604	701 03 0 00 001706 		WRUBR	PBACB1
   698	001605	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 1
   699
   700	001606	701 03 0 00 001707 		WRUBR	PBACB0
   701	001607	264 00 0 00 001611 		JSR	PBWRAC		;CLEAR AC BLOCK 0
   702
   703	001610	254 00 1 00 000020 		JRST	@20		;START SMMAG
   704
   705					;AC BLOCK CLEAR SUBROUTINE
   706
   707	001611	000000	000000		PBWRAC:!0
   708	001612	205 17 0 00 777761 		MOVSI	17,-17
   709	001613	402 00 0 17 000000 		SETZM	(17)		;ZERO AC'S
   710	001614	253 17 0 00 001613 		AOBJN	17,.-1
   711	001615	402 00 0 00 000017 		SETZM	17
   712	001616	254 02 1 00 001611 		JRSTF	@PBWRAC
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 19
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0026

   713
   714	001617	201 17 0 00 001004 	MTSERR:!MOVEI	17,MTHLT3	;SET HALT ADDRESS
   715	001620	254 00 0 00 001625 		JRST	.+5
   716
   717	001621	201 17 0 00 001001 	MTBADR:!MOVEI	17,MTHLT0	;SET HALT ADDRESS
   718	001622	254 00 0 00 001624 		JRST	.+2
   719
   720	001623	201 17 0 00 001002 	MTFAIL:!MOVEI	17,MTHLT1	;SET HALT ADDRESS
   721
   722	001624	402 00 0 00 000100 		SETZM	100		;NO DEVICE ADDRESS
   723	001625	402 00 0 00 000101 		SETZM	101		;NO MEMORY PAGE ADDRESS
   724	001626	402 00 0 00 000103 		SETZM	103		;NO SELECTION PICKUP POINTER
   725
   726	001627	712 00 0 05 000000 		RDIO	MTCS1(P1)
   727	001630	202 00 0 00 000103 		MOVEM	103		;SAVE CONTROL AND STATUS 1
   728	001631	712 00 0 05 000010 		RDIO	MTCS2(P1)
   729	001632	202 00 0 00 000104 		MOVEM	104		;SAVE CONTROL AND STATUS 2
   730	001633	712 00 0 05 000012 		RDIO	MTDS(P1)
   731	001634	202 00 0 00 000105 		MOVEM	105		;SAVE DRIVE STATUS
   732	001635	712 00 0 05 000014 		RDIO	MTER(P1)
   733	001636	202 00 0 00 000106 		MOVEM	106		;SAVE ERROR 1
   734	001637	400 00 0 00 000000 		SETZ
   735	001640	202 00 0 00 000107 		MOVEM	107		;NO ERROR 2
   736	001641	400 00 0 00 000000 		SETZ
   737	001642	202 00 0 00 000110 		MOVEM	110		;NO ERROR 3
   738
   739	001643	712 00 1 00 001715 		RDIO	@UNBMP0
   740	001644	202 00 0 00 000111 		MOVEM	111		;SAVE UBA PAGING RAM LOC 0
   741	001645	712 00 1 00 001716 		RDIO	@MTUBST
   742	001646	202 00 0 00 000112 		MOVEM	112		;SAVE UBA STATUS REG
   743
   744	001647	200 00 0 00 001714 		MOVE	MTVER
   745	001650	202 00 0 00 000113 		MOVEM	113		;SAVE PRE-BOOT VERSION
   746
   747	001651	200 00 0 00 001711 		MOVE	MTRHSV
   748	001652	202 00 0 00 000036 		MOVEM	MSRH		;REINSTALL RH-11 BASE ADDRESS
   749	001653	200 00 0 00 001712 		MOVE	MTDRSV
   750	001654	202 00 0 00 000037 		MOVEM	MSDRIVE		;REINSTALL DRIVE NUMBER
   751	001655	200 00 0 00 001713 		MOVE	MTSLSV
   752	001656	202 00 0 00 000040 		MOVEM	MSSLAVE		;REINSTALL SLAVE NUMBER
   753	001657	200 00 0 00 001710 		MOVE	MTKPAL
   754	001660	202 00 0 00 000031 		MOVEM	KPALIVE		;REINSTALL KEEP-ALIVE
   755
   756	001661	254 00 1 00 000017 		JRST	@17		;HALT AT APPROPRIATE HALT
SMMTPB DECSYSTEM 2020 DIAGNOSTIC MAGTAPE PRE-BOOT, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 20
SMMTPB	MAC	12-Oct-78 16:50		EXEC MAGTAPE LOAD ROUTINES                                                         SEQ 0027

   757					;PRE-BOOT PARAMETERS AND STORAGE
   758
   759	001662	000000	000000		PBZERO:!0			;CONSTANT ZERO TEST WORD
   760	001663	777777	777777		PBMONE:!-1			;CONSTANT ONE TEST WORD
   761	001664	000001	000000		PBLONE:!1,,0			;CONSTANT LEFT HALF ONE
   762	001665	777777	776000		PBNEG:!	-2000			;CONSTANT MINUS 2000
   763	001666	000000	140000		PBIOR:!	0,,140000		;CONSTANT FOR IORI CHECK
   764	001667	111111	111111		PBONES:!111111,,111111		;CONSTANT ONES TEST WORD
   765	001670	222222	222222		PBTWOS:!222222,,222222		;CONSTANT TWOS TEST WORD
   766	001671	333333	333333		PBTHRE:!333333,,333333		;CONSTANT THREES TEST WORD
   767	001672	444444	444444		PBFOUR:!444444,,444444		;CONSTANT FOURS TEST WORD
   768	001673	555555	555555		PBFIVE:!555555,,555555		;CONSTANT FIVES TEST WORD
   769	001674	666666	666666		PBSIX:!	666666,,666666		;CONSTANT SIXES TEST WORD
   770	001675	000001	000001		PB11:!	1,,1			;CONSTANT ONE IN EACH HALF
   771	001676	777761	000000		PB17:!	-17,,0			;CONSTANT AC'S AOBJN POINTER
   772	001677	000000	001317		PBSPC:!	0,,PBJSR		;CONSTANT FOR SUBROUTINE TEST PC
   773
   774	001700	407000	000000		PBACB7:!	1B0!7B8		;WRUBR ARGUMENTS
   775	001701	406000	000000		PBACB6:!	1B0!6B8
   776	001702	405000	000000		PBACB5:!	1B0!5B8
   777	001703	404000	000000		PBACB4:!	1B0!4B8
   778	001704	403000	000000		PBACB3:!	1B0!3B8
   779	001705	402000	000000		PBACB2:!	1B0!2B8
   780	001706	401000	000000		PBACB1:!	1B0!1B8
   781	001707	400000	000000		PBACB0:!	1B0!0B8
   782
   783	001710	000000	000000		MTKPAL:!	0	;KEEP-ALIVE & STATUS WORD
   784	001711	000000	000000		MTRHSV:!	0	;RH-11 BASE ADDRESS
   785	001712	000000	000000		MTDRSV:!	0	;DRIVE NUMBER
   786	001713	000000	000000		MTSLSV:!	0	;SLAVE NUMBER
   787
   788	001714	000000	000002		MTVER:!	MCNVER,,DECVER		;PRE-BOOT VERSION
   789
   790	001715	000003	763000		UNBMP0:!	3,,763000	;UBA PAGE 0 ADDRESS
   791	001716	000003	763100		MTUBST:!	3,,763100	;UBA STATUS ADDRESS
   792
   793	000717'				DEPHASE
   794	000717'	000000	000000		SMMTEND:0			;ENDING REFERENCE ADDRESS
   795						END

NO ERRORS DETECTED

PROGRAM BREAK IS 000720
CPU TIME USED 00:02.283

18P CORE USED

A	    31#	   575	   576	   579	   587	   588	   590	   591	   593	   594	   596	   597	   600	   603
	   604	   612	   614	   615	   620	   621	   623	   624	   626	   627	   629	   630	   638	   639     SEQ 0028
	   641	   642	   650	   651	   653	   663
B	    32#	   582	   654	   655	   656	   661	   667
BC2RES	   185#
BC2S	   185	   515#
C	    33#	   656	   657	   658
D	    34#	   583	   634
DECVER	     4#	     9	   788
GORH	   573#
KPALIV	   171#	   484	   678	   754
LOADNX	   663#	   668
LOADPG	   607	   649#	   664
LOADPT	   654	   666#
LOADWD	   653#	   663
MCNVER	     3#	     9	   788
MSDRIV	   173#	   487	   674	   750
MSRDY	   578	   599	   611#	   616	   617	   644
MSRH	   172#	   474	   672	   748
MSRTRX	   605	   634#
MSSLAV	   174#	   481	   676	   752
MT.DC	    73#
MT.ERS	    74#
MT.NOP	    70#
MT.RF	    81#	   596
MT.RR	    82#
MT.RW	    72#
MT.RWO	    71#
MT.SF	    76#	   575
MT.SR	    77#	   641
MT.WCF	    78#
MT.WCR	    79#
MT.WF	    80#
MT.WTM	    75#
MT1600	   155#
MT200	   152#
MT556	   153#
MT800	   154#
MTACCL	   147#
MTAS	    53#
MTATA	   111#
MTBA	    48#	   591
MTBADR	   660	   717#
MTBAI	   107#
MTBOT	   124#
MTCK	    54#
MTCLR	   105#	   620
MTCOR	   129#
MTCPAR	   141#
MTCS	   134#
MTCS1	    46#	   576	   597	   642	   726
MTCS2	    50#	   621	   624	   728
MTDB	    55#
MTDLT	    95#
MTDPAR	   139#                                                                                                            SEQ 0029
MTDPR	   117#
MTDRSV	   488	   623	   673	   749	   785#
MTDRY	   118#	   615
MTDS	    51#	   612	   730
MTDT	    57#
MTDTE	   132#
MTDVA	    89#
MTEOA	   150#
MTEOT	   116#
MTER	    52#	   603	   732
MTERR	   112#
MTEVP	   159#
MTFAIL	   601	   634	   720#
MTFC	    49#	   630	   639
MTFCE	   135#	   604
MTFCS	   148#
MTFMT	   140#
MTFMT1	   157#
MTHLT0	   179#	   717
MTHLT1	   180#	   720
MTHLT2	   181#	   477
MTHLT3	   182#	   714
MTIDB	   122#
MTIE	    92#
MTILF	   144#
MTILR	   143#
MTINC	   138#
MTIR	   104#
MTKPAL	   485	   677	   753	   783#
MTMCPE	    88#
MTMDPE	   102#
MTMOL	   114#
MTMR	    56#
MTMXF	   101#
MTNED	    98#
MTNEF	   133#
MTNEM	    99#
MTNSG	   136#
MTOPI	   131#
MTOR	   103#
MTPAT	   106#
MTPE	    97#
MTPEF	   137#
MTPES	   120#
MTPGE	   100#
MTPGSZ	   163#	   593
MTPIP	   113#	   614
MTPSEL	    90#
MTRDY	    91#
MTRHSV	   475	   571	   671	   747	   784#
MTRMR	   142#
MTSC	    86#
MTSDWN	   121#                                                                                                            SEQ 0030
MTSERR	   580	   714#
MTSLA	   125#
MTSLSV	   482	   626	   675	   751	   786#
MTSN	    58#
MTSSC	   119#
MTSTAR	   178	   189#
MTSTRT	   178#
MTTC	    59#	   627
MTTCW	   149#
MTTM	   123#	   579	   600
MTTRE	    87#
MTUBST	   479	   741	   791#
MTUNS	   130#
MTVER	   744	   788#
MTWC	    47#	   594
MTWCE	    96#
MTWRL	   115#
P1	    35#	   571	   576	   591	   594	   597	   603	   612	   621	   624	   627	   630	   639	   642
	   726	   728	   730	   732
PB11	   301	   770#
PB17	   423	   771#
PBACB0	   700	   781#
PBACB1	   697	   780#
PBACB2	   694	   779#
PBACB3	   691	   778#
PBACB4	   688	   777#
PBACB5	   685	   776#
PBACB6	   682	   775#
PBACB7	   679	   774#
PBBITS	    39#	   517	   526	   533	   542	   550	   552	   562	   563	   565
PBERR	    40#	   551	   552	   553	   564	   565
PBFIVE	   283	   768#
PBFOUR	   279	   767#
PBIOR	   251	   763#
PBJSR	   441#	   449	   450	   772
PBLIM	    38#	   516	   521	   525	   532	   537	   541	   555	   567
PBLONE	   242	   761#
PBMADR	    37#	   515	   520	   524	   531	   536	   540	   550	   551	   555	   556	   562	   563	   564
	   567	   568
PBMONE	   207	   291	   417	   504	   509	   760#
PBNEG	   246	   762#
PBONES	   266	   267	   270	   274	   278	   282	   286	   290	   764#
PBPAGP	   184#
PBSIX	   287	   309	   769#
PBSPC	   447	   772#
PBSTA1	   545	   571#
PBTHRE	   275	   766#
PBTST1	   518	   527	   534	   543	   549#	   556	   557
PBTST2	   522	   538	   561#	   568	   569
PBTWOS	   271	   765#
PBWRAC	   680	   683	   686	   689	   692	   695	   698	   701	   707#	   712
PBZERO	   195	   213	   306	   413	   759#
PGMST	   666	   670#                                                                                                    SEQ 0031
RCDSIZ	    44#	   650
RDIBUF	   175#	   587	   651
RDRH	   585#	   609	   646
SETRH	   573	   585	   619#	   632	   636
SMMTEN	    25	   794#
SMMTPB	    23	    24#
UBAP0	   165#
UBSTAT	   166#
UNBMP0	   478	   588	   739	   790#
UNV36X	   168#
UNVBIT	   167#	   587
UNVDPB	   169#

PTITL	     7#	     9
RDIO	    65#	   603	   612	   726	   728	   730	   732	   739	   741                                             SEQ 0032
WRIO	    66#	   576	   588	   591	   594	   597	   621	   624	   627	   630	   639	   642
WRUBR	    64#	   679	   682	   685	   688	   691	   694	   697	   700
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 1
SMPREB	MAC	13-Oct-78 09:42	                                                                                           SEQ 0033

     1					;MAINDEC-10-SMPREB
     2
     3			000000		MCNVER=0
     4			000002		DECVER=2
     5
     6						XLIST
     7						LIST
     8						LALL
     9
    10					NAME	\MCNVER,\DECVER^
    11
    12					TITLE	SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2^
    13
    14	000137					LOC	137
    15	000137	000000	000002		MCNVER,,DECVER
    16
    17					;*JOHN R. KIRCHOFF
    18
    19						NOSYM
    20
    21					INTERN	SMPREB		;LET EXTERNAL PROGRAM KNOW WHERE THIS IS
    22	000140				SMPREB:			;INTERNAL REFERENCE ADDRESS
    23					INTERN	SMPEND		;INTERNAL REFERENCE END ADDRESS
    24					INTERN	PBPAGP		;INTERNAL REFERENCE FOR DISK ADR POINTERS
    25					INTERN	SMPBPG		;INTERNAL REFERENCE FOR DISK ADR POINTER BLOCK
    26	001000				PHASE	1000		;THE PRE-BOOT IS REALLY AT LOC 1000
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 2
SMPREB	MAC	13-Oct-78 09:42		PARAMETERS                                                                         SEQ 0034

    27					SUBTTL	PARAMETERS
    28
    29					; ********************************************************************
    30
    31					; THIS PROGRAM IS THE PRE-BOOT FOR THE DIAGNOSTICS DISK LOADER AND
    32					; FOR BOOTCHECK II.  THE PROGRAM PERFORMS A BASIC VERIFICATION OF THE
    33					; KS-10 CPU BEFORE TRYING TO LOAD THE PRIMARY LOADER OR BOOTCHECK II
    34					; CODE.
    35
    36					; THIS WILL ALSO GIVE A VERY PRESCRIBED SEQUENCE OF OPERATIONS TO BE
    37					; DEBUGGED IF THIS CODE DOES NOT RUN TO COMPLETION.
    38
    39					;DEFINITIONS FOR SM10
    40
    41			001000		BOORG=1000	;START OF HARDWARE BOOT
    42
    43		701140	000000		OPDEF	WRUBR	[701B8+3B12]	;WRITE USER BASE REGISTER
    44		712000	000000		OPDEF	RDIO	[712B8]		;READ I/O
    45		713000	000000		OPDEF	WRIO	[713B8]		;WRITE I/O
    46
    47			763000		UBAP0=	763000	;ADDRESS OF UNIBUS MAP
    48			763100		UBSTAT=	763100	;ADDRESS OF UNIBUS STATUS
    49
    50			000031		KPALIVE=31	;KEEP-ALIVE & STATUS WORD
    51			000036		MSRH=	36	;RH-11 BASE ADDRESS
    52			000037		MSDRIVE=37	;DRIVE NUMBER
    53			000040		MSSLAVE=40	;SLAVE & FORMAT
    54
    55			000021		RIPST=21	;READ IN PRESET
    56			000071		RDATA=71	;READ DATA
    57			000200		RDY=200		;READY
    58			020000		MCPE=20000	;MASS I/O CONTROL BUS PARITY ERROR
    59			040000		TRE=40000	;TRANSFER ERROR
    60			100000		SC=100000	;SPECIAL CONDITION
    61			010000		FMT22=10000	;FORMAT 22 (FORMAT BIT)
    62
    63			000040		RHCLR=	40	;CONTROLLER CLEAR
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 3
SMPREB	MAC	13-Oct-78 09:42		PARAMETERS                                                                         SEQ 0035

    64
    65					;REGISTER DEFINITIONS
    66
    67			000000		RPCS1=	00	;CONTROL AND STATUS 1
    68			000002		RPWC=	02	;WORD COUNT REGISTER
    69			000004		RPBA=	04	;UNIBUS ADDRESS REGISTER
    70			000006		RPDA=	06	;DESIRED SECTOR/TRACK ADDRESS REGISTER
    71			000010		RPCS2=	10	;CONTROL AND STATUS 2
    72			000012		RPDS=	12	;DRIVE STATUS
    73			000014		RPER1=	14	;ERROR 1
    74			000040		RPER2=	40	;ERROR 2
    75			000042		RPER3=	42	;ERROR 3
    76			000032		RPOF=	32	;OFFSET REGISTER
    77			000034		RPDC=	34	;DESIRED CYLINDER REGISTER
    78			000006		RPFC=	6	;MAGTAPE FRAME COUNTER
    79			000032		RPTC=	32	;MAGTAPE TAPE CONTROL
    80
    81			100000		UNV36X=100000	;UNIBUS 36 BIT TRANSFER BIT
    82			040000		UBVBIT==40000	;UNIBUS VALID BIT
    83
    84					;PRE-BOOT AC DEFINITIONS
    85
    86			000001		T1=1		;TEMPS
    87			000002		T2=2
    88			000003		T3=3
    89			000004		T4=4
    90			000005		T5=5
    91
    92			000006		P1=6
    93
    94			000001		PBMADR=1
    95			000002		PBLIM=2
    96			000003		PBBITS=3
    97			000004		PBERR=4
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 4
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0036

    98					SUBTTL	PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK
    99
   100	001000	254 00 0 00 001007 	PBSTRT:!JRST	PBSTAR
   101
   102	001001	254 04 0 00 001001 	PBHLT0:!HALT	.		;TRIED TO OVERLOAD PRE-BOOT
   103	001002	254 04 0 00 001002 	PBHLT1:!HALT	.		;DISK RETRY FAILURE
   104	001003	254 04 0 00 001003 	PBHLT2:!HALT	.		;NO RH-11 BASE ADDRESS
   105	001004	254 04 0 00 001004 	PBHLT3:!HALT	.		;RESERVED
   106
   107	001005	123456	001662		PBPAGP:!123456,,PBPAG		;CODE,,POINTER TO DISK ADR & MEM ADR POINTERS
   108	001006	000000	000000		BC2RES:	0			;BC2 RESTART ADDRESS, 0 FOR DISK
   109
   110					;VERIFY ACCUMULATOR AC0
   111
   112	001007	402 00 0 00 000000 	PBSTAR:!SETZM	0		;SET AC 0 TO ALL ZEROS
   113	001010	332 00 0 00 000000 		SKIPE			;SHOULD CAUSE A SKIP
   114	001011	254 04 0 00 001011 		HALT	.		;ERROR, DIDN'T SKIP
   115	001012	336 00 0 00 000000 		SKIPN			;THIS SHOULD NOT SKIP
   116	001013	334 00 0 00 000000 		SKIPA			;WHICH COMES HERE AND THEN SKIPS
   117	001014	254 04 0 00 001014 		HALT	.		;ERROR, EITHER SKIPN OR SKIPA FAILED
   118	001015	312 00 0 00 001626 		CAME	0,PBZERO
   119	001016	254 04 0 00 001016 		HALT	.		;ERROR, DOES NOT COMPARE
   120
   121	001017	476 00 0 00 000000 		SETOM	0		;SET AC 0 TO ALL ONES
   122	001020	336 00 0 00 000000 		SKIPN			;SHOULD CAUSE A SKIP
   123	001021	254 04 0 00 001021 		HALT	.		;ERROR, DIDN'T SKIP
   124	001022	332 00 0 00 000000 		SKIPE			;THIS SHOULD NOT SKIP
   125	001023	326 00 0 00 001025 		JUMPN	0,.+2		;BUT THIS JUMP SHOULD JUMP
   126	001024	254 04 0 00 001024 		HALT	.		;ERROR, EITHER SKIPE OR JUMPN FAILED
   127	001025	327 00 0 00 001027 		JUMPG	0,.+2		;THIS SHOULD NOT JUMP
   128	001026	321 00 0 00 001030 		JUMPL	0,.+2		;THIS ONE SHOULD JUMP
   129	001027	254 04 0 00 001027 		HALT	.		;ERROR, EITHER JUMPG OR JUMPL FAILED
   130	001030	312 00 0 00 001627 		CAME	0,PBMONE
   131	001031	254 04 0 00 001031 		HALT	.		;ERROR, DOES NOT COMPARE
   132
   133	001032	462 00 0 00 000000 		SETCMM	0		;COMPLEMENT AC0
   134	001033	322 00 0 00 001035 		JUMPE	0,.+2		;THIS JUMP SHOULD JUMP
   135	001034	254 04 0 00 001034 		HALT	.		;ERROR, DATA WRONG OR JUMP DIDN'T JUMP
   136	001035	312 00 0 00 001626 		CAME	0,PBZERO
   137	001036	254 04 0 00 001036 		HALT	.		;ERROR, DOES NOT COMPARE
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 5
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0037

   138
   139					;VERIFY BASIC CPU OPERATION
   140
   141	001037	400 00 0 00 000000 		SETZ	0,		;CLEAR AC0
   142	001040	271 00 0 00 000001 		ADDI	0,1		;ADD ONE
   143	001041	302 00 0 00 000001 		CAIE	0,1		;DID IT ADD CORRECTLY ?
   144	001042	254 04 0 00 001042 		HALT	.		;ERROR, CPU CAN'T ADD
   145	001043	306 00 0 00 000001 		CAIN	0,1		;THIS COMPARE SHOULDN'T SKIP
   146	001044	326 00 0 00 001046 		JUMPN	0,.+2		;BUT THIS JUMP SHOULD
   147	001045	254 04 0 00 001045 		HALT	.		;ERROR, EITHER CAIN OR JUMPN FAILED
   148	001046	321 00 0 00 001050 		JUMPL	0,.+2		;THIS SHOULD NOT JUMP
   149	001047	327 00 0 00 001051 		JUMPG	0,.+2		;THIS ONE SHOULD JUMP
   150	001050	254 04 0 00 001050 		HALT	.		;ERROR, EITHER JUMPL OR JUMPG FAILED
   151
   152	001051	271 00 0 00 000001 		ADDI	0,1		;ADD ONE AGAIN
   153	001052	302 00 0 00 000002 		CAIE	0,2		;SHOULD NOW BE TWO
   154	001053	254 04 0 00 001053 		HALT	.		;ERROR, CPU CAN'T ADD
   155
   156	001054	275 00 0 00 000002 		SUBI	0,2		;SUBTRACT TWO
   157	001055	302 00 0 00 000000 		CAIE	0,0		;SHOULD NOW BE ZERO AGAIN
   158	001056	254 04 0 00 001056 		HALT	.		;ERROR, CPU CAN'T SUBTRACT EITHER
   159
   160	001057	350 00 0 00 000000 		AOS	0		;ADD ONE A DIFFERENT WAY
   161	001060	302 00 0 00 000001 		CAIE	0,1		;THIS SHOULD GIVE A ONE
   162	001061	254 04 0 00 001061 		HALT	.		;ERROR, CPU STILL CAN'T ADD
   163
   164	001062	207 00 0 00 000000 		MOVSS	0,0		;SWAP AC0
   165	001063	312 00 0 00 001630 		CAME	0,PBLONE	;DID IT SWAP CORRECTLY ?
   166	001064	254 04 0 00 001064 		HALT	.		;NO, ERROR
   167
   168	001065	211 00 0 00 002000 		MOVNI	0,2000		;GENERATE A NEGATIVE NUMBER (BOOT WORD COUNT)
   169	001066	312 00 0 00 001631 		CAME	0,PBNEG		;SHOULD GIVE A MINUS 2000
   170	001067	254 04 0 00 001067 		HALT	.		;DIDN'T, ERROR
   171
   172	001070	400 00 0 00 000000 		SETZ	0,		;ZERO AC0
   173	001071	435 00 0 00 140000 		IORI	0,140000	;OR IN SAME BITS AS UBVBIT AND UNV36X
   174	001072	312 00 0 00 001632 		CAME	0,PBIOR		;ARE THE CORRECT BIT SET ?
   175	001073	254 04 0 00 001073 		HALT	.		;NO, ERROR
   176
   177	001074	201 00 0 00 000002 		MOVEI	0,2		;START WITH A TWO
   178	001075	363 00 0 00 001077 		SOJLE	0,.+2		;SUBTRACT ONE BUT SHOULD NOT JUMP
   179	001076	334 00 0 00 000000 		SKIPA			;WHICH SHOULD COME HERE AND SKIP
   180	001077	254 04 0 00 001077 		HALT	.		;ERROR, SOJLE MUST HAVE JUMPED
   181	001100	302 00 0 00 000001 		CAIE	0,1		;DID SUBTRACT WORK ?
   182	001101	254 04 0 00 001101 		HALT	.		;NO, ERROR
   183	001102	363 00 0 00 001104 		SOJLE	0,.+2		;DO IT AGAIN, THIS SHOULD JUMP
   184	001103	254 04 0 00 001103 		HALT	.		;DIDN'T, ERROR
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 6
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0038

   185
   186					;VERIFY BASIC ADDITION
   187
   188	001104	400 00 0 00 000000 		SETZ	0,		;CLEAR AC 0
   189	001105	270 00 0 00 001633 		ADD	0,PBONES	;ADD A SET OF OCTAL ONES
   190	001106	312 00 0 00 001633 		CAME	0,PBONES	;DID IT ADD CORRECTLY ?
   191	001107	254 04 0 00 001107 		HALT	.		;ERROR, CPU CAN'T ADD
   192
   193	001110	270 00 0 00 001633 		ADD	0,PBONES	;ADD A SET OF OCTAL ONES AGAIN
   194	001111	312 00 0 00 001634 		CAME	0,PBTWOS	;SHOULD GIVE A SET OF OCTAL TWOS
   195	001112	254 04 0 00 001112 		HALT	.		;ERROR
   196
   197	001113	270 00 0 00 001633 		ADD	0,PBONES	;ADD AGAIN
   198	001114	312 00 0 00 001635 		CAME	0,PBTHRE	;SHOULD GIVE A SET OF OCTAL THREES
   199	001115	254 04 0 00 001115 		HALT	.		;ERROR
   200
   201	001116	270 00 0 00 001633 		ADD	0,PBONES	;ADD AGAIN
   202	001117	312 00 0 00 001636 		CAME	0,PBFOUR	;SHOULD GIVE A SET OF OCTAL FOURS
   203	001120	254 04 0 00 001120 		HALT	.		;ERROR
   204
   205	001121	270 00 0 00 001633 		ADD	0,PBONES	;ADD AGAIN
   206	001122	312 00 0 00 001637 		CAME	0,PBFIVE	;SHOULD GIVE A SET OF OCTAL FIVES
   207	001123	254 04 0 00 001123 		HALT	.		;ERROR
   208
   209	001124	270 00 0 00 001633 		ADD	0,PBONES	;ADD AGAIN
   210	001125	312 00 0 00 001640 		CAME	0,PBSIX		;SHOULD GIVE A SET OF OCTAL SIXES
   211	001126	254 04 0 00 001126 		HALT	.		;ERROR
   212
   213	001127	270 00 0 00 001633 		ADD	0,PBONES	;ADD AGAIN
   214	001130	312 00 0 00 001627 		CAME	0,PBMONE	;SHOULD GIVE A SET OF OCTAL SEVENS
   215	001131	254 04 0 00 001131 		HALT	.		;ERROR
   216
   217	001132	271 00 0 00 000001 		ADDI	0,1		;ADD JUST A ONE
   218	001133	322 00 0 00 001135 		JUMPE	0,.+2		;COMPARE IT A DIFFERENT WAY
   219	001134	254 04 0 00 001134 		HALT	.		;DIDN'T GIVE A FULL WORD OF ZEROS
   220
   221					;VERIFY AOBJN ADDITION AND JUMP TRANSFER
   222
   223	001135	253 00 0 00 001137 		AOBJN	0,.+2		;ADD 1 TO BOTH HALVES OF THE WORD
   224	001136	312 00 0 00 001641 		CAME	0,PB11		;GIVE THE RIGHT ANSWER AND NO JUMP ?
   225	001137	254 04 0 00 001137 		HALT	.		;NO, ERROR
   226
   227	001140	474 00 0 00 000000 		SETO	0,		;PRESET AC 0 TO -1
   228	001141	253 00 0 00 001143 		AOBJN	0,.+2		;GIVE THE RIGHT ANSWER AND NO JUMP ?
   229	001142	312 00 0 00 001626 		CAME	0,PBZERO
   230	001143	254 04 0 00 001143 		HALT	.		;NO, ERROR
   231
   232	001144	200 00 0 00 001640 		MOVE	0,PBSIX		;VERIFY THAT AOBJN DOES JUMP
   233	001145	253 00 0 00 001147 		AOBJN	0,.+2
   234	001146	254 04 0 00 001146 		HALT	.		;ERROR, DIDN'T DO THE JUMP
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 7
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0039

   235
   236					;VERIFY ACCUMULATOR ADDRESSING
   237
   238	001147	201 00 0 00 000000 		MOVEI	0,0		;LOAD EACH AC WITH ITS OWN ADDRESS
   239	001150	201 01 0 00 000001 		MOVEI	1,1
   240	001151	201 02 0 00 000002 		MOVEI	2,2
   241	001152	201 03 0 00 000003 		MOVEI	3,3
   242	001153	201 04 0 00 000004 		MOVEI	4,4
   243	001154	201 05 0 00 000005 		MOVEI	5,5
   244	001155	201 06 0 00 000006 		MOVEI	6,6
   245	001156	201 07 0 00 000007 		MOVEI	7,7
   246	001157	201 10 0 00 000010 		MOVEI	10,10
   247	001160	201 11 0 00 000011 		MOVEI	11,11
   248	001161	201 12 0 00 000012 		MOVEI	12,12
   249	001162	201 13 0 00 000013 		MOVEI	13,13
   250	001163	201 14 0 00 000014 		MOVEI	14,14
   251	001164	201 15 0 00 000015 		MOVEI	15,15
   252	001165	201 16 0 00 000016 		MOVEI	16,16
   253	001166	201 17 0 00 000017 		MOVEI	17,17
   254
   255	001167	302 17 0 00 000017 		CAIE	17,17		;VERIFY THAT EACH AC ADDRESSES CORRECTLY
   256	001170	254 04 0 00 001170 		HALT	.		;ERROR
   257	001171	302 16 0 00 000016 		CAIE	16,16
   258	001172	254 04 0 00 001172 		HALT	.
   259	001173	302 15 0 00 000015 		CAIE	15,15
   260	001174	254 04 0 00 001174 		HALT	.
   261	001175	302 14 0 00 000014 		CAIE	14,14
   262	001176	254 04 0 00 001176 		HALT	.
   263	001177	302 13 0 00 000013 		CAIE	13,13
   264	001200	254 04 0 00 001200 		HALT	.
   265	001201	302 12 0 00 000012 		CAIE	12,12
   266	001202	254 04 0 00 001202 		HALT	.
   267	001203	302 11 0 00 000011 		CAIE	11,11
   268	001204	254 04 0 00 001204 		HALT	.
   269	001205	302 10 0 00 000010 		CAIE	10,10
   270	001206	254 04 0 00 001206 		HALT	.
   271	001207	302 07 0 00 000007 		CAIE	7,7
   272	001210	254 04 0 00 001210 		HALT	.
   273	001211	302 06 0 00 000006 		CAIE	6,6
   274	001212	254 04 0 00 001212 		HALT	.
   275	001213	302 05 0 00 000005 		CAIE	5,5
   276	001214	254 04 0 00 001214 		HALT	.
   277	001215	302 04 0 00 000004 		CAIE	4,4
   278	001216	254 04 0 00 001216 		HALT	.
   279	001217	302 03 0 00 000003 		CAIE	3,3
   280	001220	254 04 0 00 001220 		HALT	.
   281	001221	302 02 0 00 000002 		CAIE	2,2
   282	001222	254 04 0 00 001222 		HALT	.
   283	001223	302 01 0 00 000001 		CAIE	1,1
   284	001224	254 04 0 00 001224 		HALT	.
   285	001225	302 00 0 00 000000 		CAIE	0,0
   286	001226	254 04 0 00 001226 		HALT	.
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 8
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0040

   287
   288					;VERIFY ACCUMULATOR INDEXING
   289
   290	001227	312 01 0 01 000000 		CAME	1,(1)		;SHOULD COMPARE AC1 AGAINST CONTENTS OF AC1
   291	001230	254 04 0 00 001230 		HALT	.		;ERROR
   292	001231	312 02 0 02 000000 		CAME	2,(2)
   293	001232	254 04 0 00 001232 		HALT	.
   294	001233	312 03 0 03 000000 		CAME	3,(3)
   295	001234	254 04 0 00 001234 		HALT	.
   296	001235	312 04 0 04 000000 		CAME	4,(4)
   297	001236	254 04 0 00 001236 		HALT	.
   298	001237	312 05 0 05 000000 		CAME	5,(5)
   299	001240	254 04 0 00 001240 		HALT	.
   300	001241	312 06 0 06 000000 		CAME	6,(6)
   301	001242	254 04 0 00 001242 		HALT	.
   302	001243	312 07 0 07 000000 		CAME	7,(7)
   303	001244	254 04 0 00 001244 		HALT	.
   304	001245	312 10 0 10 000000 		CAME	10,(10)
   305	001246	254 04 0 00 001246 		HALT	.
   306	001247	312 11 0 11 000000 		CAME	11,(11)
   307	001250	254 04 0 00 001250 		HALT	.
   308	001251	312 12 0 12 000000 		CAME	12,(12)
   309	001252	254 04 0 00 001252 		HALT	.
   310	001253	312 13 0 13 000000 		CAME	13,(13)
   311	001254	254 04 0 00 001254 		HALT	.
   312	001255	312 14 0 14 000000 		CAME	14,(14)
   313	001256	254 04 0 00 001256 		HALT	.
   314	001257	312 15 0 15 000000 		CAME	15,(15)
   315	001260	254 04 0 00 001260 		HALT	.
   316	001261	312 16 0 16 000000 		CAME	16,(16)
   317	001262	254 04 0 00 001262 		HALT	.
   318	001263	312 17 0 17 000000 		CAME	17,(17)
   319	001264	254 04 0 00 001264 		HALT	.
   320
   321					;VERIFY INDIRECT ADDRESSING
   322
   323	001265	200 00 1 00 000017 		MOVE	0,@17		;FETCH THE CONTENTS OF AC17
   324	001266	302 00 0 00 000017 		CAIE	0,17		;SHOULD BE 17
   325	001267	254 04 0 00 001267 		HALT	.		;WASN'T, ERROR
   326
   327					;VERIFY INDIRECT AND INDEXING
   328
   329	001270	200 00 1 03 000004 		MOVE	0,@4(3)		;SHOULD FETCH THE CONTENTS OF AC7
   330	001271	302 00 0 00 000007 		CAIE	0,7		;CONTENTS OF 4 PLUS CONTENTS OF 3
   331	001272	254 04 0 00 001272 		HALT	.		;DIDN'T, ERROR
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 9
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0041

   332
   333					;VERIFY ACCUMULATOR AC17
   334
   335	001273	402 00 0 00 000017 		SETZM	17		;SET ZEROS TO AC17
   336	001274	312 17 0 00 001626 		CAME	17,PBZERO	;IS IT CORRECT ?
   337	001275	254 04 0 00 001275 		HALT	.		;NO, COULD BE ABOUT ANYTHING
   338
   339	001276	476 00 0 00 000017 		SETOM	17		;SET ONES TO AC17
   340	001277	312 17 0 00 001627 		CAME	17,PBMONE	;IS IT CORRECT ?
   341	001300	254 04 0 00 001300 		HALT	.		;NO, COULD BE ABOUT ANYTHING
   342
   343					;VERIFY ACCUMULATOR DATA STORAGE
   344
   345	001301	205 17 0 00 777761 		MOVSI	17,-17
   346	001302	312 17 0 00 001642 		CAME	17,PB17		;DID MOVE SWAPPED IMMEDIATE WORK ?
   347	001303	254 04 0 00 001303 		HALT	.		;NO, ERROR
   348
   349	001304	476 00 0 17 000000 		SETOM	(17)		;SET ONES TO AC'S 0 TO 16
   350	001305	253 17 0 00 001304 		AOBJN	17,.-1
   351
   352	001306	205 17 0 00 777761 		MOVSI	17,-17
   353	001307	462 00 0 17 000000 		SETCMM	(17)		;COMPLEMENT AC, SHOULD THEN BE ZERO
   354	001310	332 00 0 17 000000 		SKIPE	(17)
   355	001311	254 04 0 00 001311 		HALT	.		;WASN'T, STILL COULD BE ABOUT ANYTHING
   356	001312	253 17 0 00 001307 		AOBJN	17,.-3
   357	001313	402 00 0 00 000017 		SETZM	17
   358
   359					;VERIFY SUBROUTINE CALLING
   360
   361	001314	254 02 1 00 001315 		JRSTF	@.+1		;CLEAR PROCESSOR FLAGS
   362	001315	000000	001316				0,,.+1
   363	001316	264 00 0 00 001321 		JSR	.+3		;TRANSFER TO SUBROUTINE
   364	001317	254 04 0 00 001317 	PBJSR:!	HALT	.		;DIDN'T TRANSFER
   365
   366	001320	254 00 0 00 001327 		JRST	.+7		;CONTINUE AFTER SUBROUTINE FROM HERE
   367
   368	001321	000000	000000			0			;SAVED PC STORAGE
   369	001322	200 00 0 00 001321 		MOVE	0,.-1		;GET SAVED PC
   370	001323	312 00 0 00 001643 		CAME	0,PBSPC		;DID CORRECT PC GET STORED ?
   371	001324	254 04 0 00 001324 		HALT	.		;NO, ERROR
   372	001325	350 00 0 00 001321 		AOS	PBJSR+2		;PLUS ONE TO PC TO SKIP HALT
   373	001326	254 02 1 00 001321 		JRSTF	@PBJSR+2	;NOW CONTINUE BACK IN MAINLINE
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 10
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0042

   374
   375					;VERIFY BIT TESTS USED IN PRE-BOOT
   376
   377	001327	201 00 0 00 000200 		MOVEI	0,200		;SAME BIT AS DISK READY
   378	001330	606 00 0 00 000200 		TRNN	0,200		;SHOULD SKIP
   379	001331	254 04 0 00 001331 		HALT	.		;ERROR, DIDN'T
   380	001332	602 00 0 00 000200 		TRNE	0,200		;SHOULD NOT SKIP
   381	001333	324 00 0 00 001335 		JUMPA	.+2		;WHICH COMES HERE AND JUMPA SHOULD JUMP
   382	001334	254 04 0 00 001334 		HALT	.		;EITHER TRNE OR JUMPA FAILED
   383	001335	302 00 0 00 000200 		CAIE	0,200		;DO IMMEDIATE MODE COMPARE
   384	001336	254 04 0 00 001336 		HALT	.		;ERROR, DOES NOT COMPARE
   385
   386	001337	201 00 0 00 040000 		MOVEI	0,40000		;SAME BIT AS TRE ERROR
   387	001340	606 00 0 00 040000 		TRNN	0,40000		;SHOULD SKIP
   388	001341	254 04 0 00 001341 		HALT	.		;ERROR, DIDN'T
   389	001342	602 00 0 00 040000 		TRNE	0,40000		;SHOULD NOT SKIP
   390	001343	324 00 0 00 001345 		JUMPA	.+2		;WHICH COMES HERE AND JUMPA SHOULD JUMP
   391	001344	254 04 0 00 001344 		HALT	.		;EITHER TRNE OR JUMPA FAILED
   392	001345	302 00 0 00 040000 		CAIE	0,40000		;DO IMMEDIATE MODE COMPARE
   393	001346	254 04 0 00 001346 		HALT	.		;ERROR, DOES NOT COMPARE
   394
   395					;SAVE BOOT DISK PARAMETERS
   396
   397	001347	200 00 0 00 000036 		MOVE	0,MSRH		;GET DISK ADDRESS
   398	001350	202 00 0 00 001655 		MOVEM	0,PBRHSV
   399	001351	336 00 0 00 000000 		SKIPN	0
   400	001352	254 00 0 00 001003 		JRST	PBHLT2		;NO RH-11 BASE ADDRESS ?
   401	001353	502 00 0 00 001660 		HLLM	0,PBUBP0	;SETUP UBA MAP POINTER
   402	001354	502 00 0 00 001661 		HLLM	0,PBUBST	;SETUP UBA STATUS POINTER
   403
   404	001355	200 00 0 00 000031 		MOVE	0,KPALIVE
   405	001356	202 00 0 00 001654 		MOVEM	0,PBKPAL	;SAVE KEEP-ALIVE WORD
   406
   407	001357	200 00 0 00 000037 		MOVE	0,MSDRIVE
   408	001360	202 00 0 00 001656 		MOVEM	0,PBDRSV	;SAVE DRIVE SELECTION
   409
   410					;VERIFY XOR INSTRUCTION
   411
   412	001361	400 00 0 00 000000 		SETZ	0,		;XOR 0 WITH 0
   413	001362	430 00 0 00 000000 		XOR	0,0
   414	001363	302 00 0 00 000000 		CAIE	0,0		;SHOULD GIVE ALL ZEROS
   415	001364	254 04 0 00 001364 		HALT	.		;DIDN'T, ERROR
   416
   417	001365	474 00 0 00 000000 		SETO	0,		;XOR -1 WITH -1
   418	001366	430 00 0 00 000000 		XOR	0,0
   419	001367	302 00 0 00 000000 		CAIE	0,0		;SHOULD GIVE ALL ZEROS
   420	001370	254 04 0 00 001370 		HALT	.		;DIDN'T, ERROR
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 11
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0043

   421
   422	001371	474 01 0 00 000000 		SETO	1,		;ALL ONES TO AC1
   423	001372	430 00 0 00 000001 		XOR	0,1		;XOR 0 AND -1
   424	001373	312 00 0 00 001627 		CAME	0,PBMONE	;SHOULD GIVE ALL ONES
   425	001374	254 04 0 00 001374 		HALT	.		;DIDN'T, ERROR
   426
   427	001375	400 01 0 00 000000 		SETZ	1,		;ALL ZEROS TO AC1
   428	001376	430 00 0 00 000001 		XOR	0,1		;XOR -1 AND 0
   429	001377	312 00 0 00 001627 		CAME	0,PBMONE	;SHOULD GIVE ALL ONES
   430	001400	254 04 0 00 001400 		HALT	.		;DIDN'T, ERROR
   431
   432					;VERIFY MEMORY FROM 20 TO 777
   433
   434	001401	201 01 0 00 000020 		MOVEI	PBMADR,20	;TEST MEMORY 20 TO 777 FOR ONES
   435	001402	201 02 0 00 000777 		MOVEI	PBLIM,777
   436	001403	476 00 0 00 000003 		SETOM	PBBITS
   437	001404	264 00 0 00 001430 		JSR	PBTST1		;DO MEMORY TEST
   438
   439	001405	201 01 0 00 000020 		MOVEI	PBMADR,20	;TEST MEMORY 20 TO 777 FOR ADDRESS
   440	001406	201 02 0 00 000777 		MOVEI	PBLIM,777
   441	001407	264 00 0 00 001441 		JSR	PBTST2		;DO MEMORY TEST
   442
   443	001410	201 01 0 00 000020 		MOVEI	PBMADR,20	;TEST MEMORY 20 TO 777 FOR ZEROS
   444	001411	201 02 0 00 000777 		MOVEI	PBLIM,777
   445	001412	402 00 0 00 000003 		SETZM	PBBITS
   446	001413	264 00 0 00 001430 		JSR	PBTST1		;DO MEMORY TEST
   447
   448					;VERIFY MEMORY FROM 2000 TO END OF 32K
   449
   450	001414	201 01 0 00 002000 		MOVEI	PBMADR,2000	;TEST MEMORY 2000 TO 77777 FOR ONES
   451	001415	201 02 0 00 077777 		MOVEI	PBLIM,77777
   452	001416	476 00 0 00 000003 		SETOM	PBBITS
   453	001417	264 00 0 00 001430 		JSR	PBTST1		;DO MEMORY TEST
   454
   455	001420	201 01 0 00 002000 		MOVEI	PBMADR,2000	;TEST MEMORY 2000 TO 77777 FOR ADDRESS
   456	001421	201 02 0 00 077777 		MOVEI	PBLIM,77777
   457	001422	264 00 0 00 001441 		JSR	PBTST2		;DO MEMORY TEST
   458
   459	001423	201 01 0 00 002000 		MOVEI	PBMADR,2000	;TEST MEMORY 2000 TO 77777 FOR ZEROS
   460	001424	201 02 0 00 077777 		MOVEI	PBLIM,77777
   461	001425	402 00 0 00 000003 		SETZM	PBBITS
   462	001426	264 00 0 00 001430 		JSR	PBTST1		;DO MEMORY TEST
   463
   464	001427	254 00 0 00 001452 		JRST	PBSTA1		;NOW GO LOAD FROM DISK
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 12
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0044

   465
   466					;MEMORY DATA SUBROUTINE
   467
   468	001430	000000	000000		PBTST1:!	0
   469	001431	202 03 0 01 000000 		MOVEM	PBBITS,(PBMADR)	;MOVE DATA TO MEMORY
   470	001432	200 04 0 01 000000 		MOVE	PBERR,(PBMADR)	;READ DATA BACK FROM MEMORY
   471	001433	430 04 0 00 000003 		XOR	PBERR,PBBITS	;XOR DATA, WILL BE ZERO IF NO ERROR
   472	001434	322 04 0 00 001436 		JUMPE	PBERR,.+2
   473	001435	254 04 0 00 001435 		HALT	.		;MEMORY DATA ERROR
   474	001436	305 01 0 02 000000 		CAIGE	PBMADR,(PBLIM)	;COMPLETED MEMORY SECTION ?
   475	001437	344 01 0 00 001431 		AOJA	PBMADR,PBTST1+1	;NO, CONTINUE TO NEXT ADDRESS
   476	001440	254 02 1 00 001430 		JRSTF	@PBTST1		;YES, RETURN TO MAIN LINE
   477
   478					;MEMORY ADDRESS SUBROUTINE
   479
   480	001441	000000	000000		PBTST2:!	0
   481	001442	200 03 0 00 000001 		MOVE	PBBITS,PBMADR	;SETUP ADDRESS AS TEST DATA
   482	001443	202 03 0 01 000000 		MOVEM	PBBITS,(PBMADR)	;MOVE DATA TO MEMORY
   483	001444	200 04 0 01 000000 		MOVE	PBERR,(PBMADR)	;READ DATA BACK FROM MEMORY
   484	001445	312 03 0 00 000004 		CAME	PBBITS,PBERR	;DATA WILL BE THE SAME IF NO ERROR
   485	001446	254 04 0 00 001446 		HALT	.		;MEMORY DATA ERROR
   486	001447	305 01 0 02 000000 		CAIGE	PBMADR,(PBLIM)	;COMPLETED MEMORY SECTION ?
   487	001450	344 01 0 00 001442 		AOJA	PBMADR,PBTST2+1	;NO, CONTINUE TO NEXT ADDRESS
   488	001451	254 02 1 00 001441 		JRSTF	@PBTST2		;YES, RETURN TO MAIN LINE
   489
   490					;NOW GO LOAD LOAD FROM THE DISK
   491
   492	001452	200 06 0 00 001655 	PBSTA1:!MOVE	P1,PBRHSV
   493
   494	001453	201 01 0 00 000040 		MOVEI	T1,RHCLR
   495	001454	713 01 0 06 000010 		WRIO	T1,RPCS2(P1)	;CLEAR CONTROLLER
   496
   497	001455	200 01 0 00 001656 		MOVE	T1,PBDRSV
   498	001456	713 01 0 06 000010 		WRIO	T1,RPCS2(P1)	;SELECT DRIVE
   499
   500	001457	201 01 0 00 000021 		MOVEI	T1,RIPST	;DO READIN PRESET
   501	001460	713 01 0 06 000000 		WRIO	T1,RPCS1(P1)	;WRITE REGISTER
   502	001461	712 02 0 06 000012 		RDIO	T2,RPDS(P1)	;CHECK READY?
   503	001462	606 02 0 00 000200 		TRNN	T2,RDY		;WAIT FOR READY
   504	001463	254 00 0 00 001461 		JRST	.-2		;NO -- CONTINUE WAIT
   505
   506	001464	201 03 0 00 001662 		MOVEI	T3,PBPAG	;FIND THE OFFSET STUFF
   507	001465	201 05 0 00 000012 		MOVEI	T5,^D10		;SET RETRY COUNT
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 13
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0045

   508
   509					;READ BOOT PAGES FROM THE DISK INTO MEMORY
   510
   511	001466	200 04 0 03 000000 	PBREAD:!MOVE	T4,0(T3)	;FIND THE DISK ADDRESS
   512	001467	321 04 0 00 001566 		JUMPL	T4,PBDONE	;QUIT IF ALL DONE WITH PAGES
   513
   514	001470	350 00 0 00 000003 		AOS	T3		;POINT TO BLOCK ENTRIES
   515	001471	713 04 0 06 000006 		WRIO	T4,RPDA(P1)	;SET DISK ADDRESS
   516	001472	207 00 0 00 000004 		MOVSS	T4		;FIND CYL ADDRESS
   517	001473	713 04 0 06 000034 		WRIO	T4,RPDC(P1)	;SET CYL ADDRESS
   518
   519	001474	211 04 0 00 002000 		MOVNI	T4,2000		;READ A PAGE (WORD COUNT)
   520	001475	713 04 0 06 000002 		WRIO	T4,RPWC(P1)	;SET WORD COUNT
   521
   522	001476	400 04 0 00 000000 		SETZ	T4,		;CLEAR CURRENT ADDRESS REGISTER
   523	001477	713 04 0 06 000004 		WRIO	T4,RPBA(P1)	;SET UNIBUS ADDRESS TO 0
   524
   525	001500	200 04 0 03 000000 		MOVE	T4,0(T3)	;FIND THE CORE ADDRESS
   526	001501	350 00 0 00 000003 		AOS	T3		;POINT TO NEXT ENTRY
   527	001502	306 04 0 00 000001 		CAIN	T4,1		;CAN'T OVERLOAD PRE-BOOT
   528	001503	254 00 0 00 001524 		JRST	PBBADR		;PAGE 1 REQUESTED TO BE LOADED ?
   529
   530	001504	435 04 0 00 140000 		IORI	T4,UBVBIT!UNV36X
   531	001505	713 04 1 00 001660 		WRIO	T4,@PBUBP0	;SET UP UNIBUS ADAPTOR PAGE 0
   532
   533	001506	201 04 0 00 000071 		MOVEI	T4,RDATA	;SET GO
   534	001507	713 04 0 06 000000 		WRIO	T4,RPCS1(P1)	;WAIT FOR GO
   535	001510	712 04 0 06 000000 		RDIO	T4,RPCS1(P1)
   536	001511	606 04 0 00 000200 		TRNN	T4,RDY
   537	001512	254 00 0 00 001510 		JRST	.-2		;HO HUM WAIT
   538
   539	001513	606 04 0 00 060000 		TRNN	T4,TRE!MCPE	;CHECK ERROR CONDITION SUMMARY
   540	001514	254 00 0 00 001466 		JRST	PBREAD		;DO NEXT PAGE
   541
   542	001515	275 03 0 00 000002 		SUBI	T3,2		;BACKUP TO SAME ENTRY
   543	001516	363 05 0 00 001527 		SOJLE	T5,PBFAIL	;TRY AGAIN TILL RETRY RUNS OUT
   544
   545					;DISK ERROR RETRY
   546
   547	001517	201 01 0 00 000040 	PBRTRY:!MOVEI	T1,RHCLR	;ERROR, CLEAR & TRY AGAIN
   548	001520	713 01 0 06 000010 		WRIO	T1,RPCS2(P1)	;CLEAR CONTROLLER
   549
   550	001521	200 01 0 00 001656 		MOVE	T1,PBDRSV
   551	001522	713 01 0 06 000010 		WRIO	T1,RPCS2(P1)	;SELECT DRIVE
   552
   553	001523	254 00 0 00 001466 		JRST	PBREAD		;TRY AGAIN
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 14
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0046

   554
   555					;PRE-BOOT ERROR, TRIED TO OVERLOAD PAGE 1
   556
   557	001524	201 17 0 00 001001 	PBBADR:!MOVEI	17,PBHLT0	;SET HALT ADDRESS
   558	001525	275 03 0 00 000002 		SUBI	T3,2		;POINT TO FAILING ENTRY
   559	001526	254 00 0 00 001530 		JRST	.+2
   560
   561					;PRE-BOOT ERROR, DISK TRANSFER ERROR AND EXCEEDED RETRY LIMIT
   562
   563	001527	201 17 0 00 001002 	PBFAIL:!MOVEI	17,PBHLT1	;SET HALT ADDRESS
   564	001530	200 00 0 03 000000 		MOVE	(T3)
   565	001531	202 00 0 00 000100 		MOVEM	100		;SAVE 8080 DISK ADDRESS
   566	001532	200 00 0 03 000001 		MOVE	1(T3)
   567	001533	202 00 0 00 000101 		MOVEM	101		;SAVE MEMORY PAGE ADDRESS
   568
   569	001534	202 03 0 00 000102 		MOVEM	T3,102		;SAVE SELECTION PICKUP POINTER
   570
   571	001535	712 00 0 06 000000 		RDIO	RPCS1(P1)
   572	001536	202 00 0 00 000103 		MOVEM	103		;SAVE CONTROL AND STATUS 1
   573	001537	712 00 0 06 000010 		RDIO	RPCS2(P1)
   574	001540	202 00 0 00 000104 		MOVEM	104		;SAVE CONTROL AND STATUS 2
   575	001541	712 00 0 06 000012 		RDIO	RPDS(P1)
   576	001542	202 00 0 00 000105 		MOVEM	105		;SAVE DRIVE STATUS
   577	001543	712 00 0 06 000014 		RDIO	RPER1(P1)
   578	001544	202 00 0 00 000106 		MOVEM	106		;SAVE ERROR 1
   579	001545	712 00 0 06 000040 		RDIO	RPER2(P1)
   580	001546	202 00 0 00 000107 		MOVEM	107		;SAVE ERROR 2
   581	001547	712 00 0 06 000042 		RDIO	RPER3(P1)
   582	001550	202 00 0 00 000110 		MOVEM	110		;SAVE ERROR 3
   583
   584	001551	712 00 1 00 001660 		RDIO	@PBUBP0
   585	001552	202 00 0 00 000111 		MOVEM	111		;SAVE UBA PAGING RAM LOC 0
   586	001553	712 00 1 00 001661 		RDIO	@PBUBST
   587	001554	202 00 0 00 000112 		MOVEM	112		;SAVE UBA STATUS REG
   588
   589	001555	200 00 0 00 001657 		MOVE	PBVER
   590	001556	202 00 0 00 000113 		MOVEM	113		;SAVE PRE-BOOT VERSION
   591
   592	001557	200 00 0 00 001655 		MOVE	PBRHSV
   593	001560	202 00 0 00 000036 		MOVEM	MSRH		;REINSTALL RH-11 BASE ADDRESS
   594	001561	200 00 0 00 001656 		MOVE	PBDRSV
   595	001562	202 00 0 00 000037 		MOVEM	MSDRIVE		;REINSTALL DRIVE NUMBER
   596	001563	200 00 0 00 001654 		MOVE	PBKPAL
   597	001564	202 00 0 00 000031 		MOVEM	KPALIVE		;REINSTALL KEEP-ALIVE
   598
   599	001565	254 00 1 00 000017 		JRST	@17		;HALT AT APPROPRIATE HALT
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 15
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0047

   600
   601					;CLEAR ALL ACCUMULATOR BLOCKS
   602
   603	001566	200 00 0 03 000001 	PBDONE:!MOVE	1(T3)		;GET START ADDRESS
   604	001567	202 00 0 00 000020 		MOVEM	20		;SAVE
   605
   606	001570	701 03 0 00 001644 		WRUBR	PBACB7
   607	001571	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 7
   608
   609	001572	701 03 0 00 001645 		WRUBR	PBACB6
   610	001573	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 6
   611
   612	001574	701 03 0 00 001646 		WRUBR	PBACB5
   613	001575	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 5
   614
   615	001576	701 03 0 00 001647 		WRUBR	PBACB4
   616	001577	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 4
   617
   618	001600	701 03 0 00 001650 		WRUBR	PBACB3
   619	001601	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 3
   620
   621	001602	701 03 0 00 001651 		WRUBR	PBACB2
   622	001603	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 2
   623
   624	001604	701 03 0 00 001652 		WRUBR	PBACB1
   625	001605	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 1
   626
   627	001606	701 03 0 00 001653 		WRUBR	PBACB0
   628	001607	264 00 0 00 001620 		JSR	PBWRAC		;CLEAR AC BLOCK 0
   629
   630					;REINSTALL 8080 PARAMETERS
   631
   632	001610	200 00 0 00 001655 		MOVE	PBRHSV
   633	001611	202 00 0 00 000036 		MOVEM	MSRH		;REINSTALL RH-11 BASE ADDRESS
   634	001612	200 00 0 00 001656 		MOVE	PBDRSV
   635	001613	202 00 0 00 000037 		MOVEM	MSDRIVE		;REINSTALL DRIVE NUMBER
   636	001614	200 00 0 00 001654 		MOVE	PBKPAL
   637	001615	202 00 0 00 000031 		MOVEM	KPALIVE		;REINSTALL KEEP-ALIVE
   638
   639					;NOW START CODE JUST READ IN
   640
   641	001616	400 00 0 00 000000 		SETZ
   642	001617	254 00 1 00 000020 		JRST	@20		;NOW START BOOT
   643
   644					;AC BLOCK CLEAR SUBROUTINE
   645
   646	001620	000000	000000		PBWRAC:!0
   647	001621	205 17 0 00 777761 		MOVSI	17,-17
   648	001622	402 00 0 17 000000 		SETZM	(17)		;ZERO AC'S
   649	001623	253 17 0 00 001622 		AOBJN	17,.-1
   650	001624	402 00 0 00 000017 		SETZM	17
   651	001625	254 02 1 00 001620 		JRSTF	@PBWRAC
SMPREB	DECSYSTEM 2020 DIAGNOSTICS PRE-BOOT PROGRAM, VER 0,2	MACRO %53(1020) 09:38  1-Dec-78 Page 16
SMPREB	MAC	13-Oct-78 09:42		PRE-BOOT PROGRAM TO BE WRITTEN ON THE DISK                                         SEQ 0048

   652
   653					;PRE-BOOT PARAMETERS AND STORAGE
   654
   655	001626	000000	000000		PBZERO:!0			;CONSTANT ZERO TEST WORD
   656	001627	777777	777777		PBMONE:!-1			;CONSTANT ONE TEST WORD
   657	001630	000001	000000		PBLONE:!1,,0			;CONSTANT LEFT HALF ONE
   658	001631	777777	776000		PBNEG:!	-2000			;CONSTANT MINUS 2000
   659	001632	000000	140000		PBIOR:!	0,,140000		;CONSTANT FOR IORI CHECK
   660	001633	111111	111111		PBONES:!111111,,111111		;CONSTANT ONES TEST WORD
   661	001634	222222	222222		PBTWOS:!222222,,222222		;CONSTANT TWOS TEST WORD
   662	001635	333333	333333		PBTHRE:!333333,,333333		;CONSTANT THREES TEST WORD
   663	001636	444444	444444		PBFOUR:!444444,,444444		;CONSTANT FOURS TEST WORD
   664	001637	555555	555555		PBFIVE:!555555,,555555		;CONSTANT FIVES TEST WORD
   665	001640	666666	666666		PBSIX:!	666666,,666666		;CONSTANT SIXES TEST WORD
   666	001641	000001	000001		PB11:!	1,,1			;CONSTANT ONE IN EACH HALF
   667	001642	777761	000000		PB17:!	-17,,0			;CONSTANT AC'S AOBJN POINTER
   668	001643	000000	001317		PBSPC:!	0,,PBJSR		;CONSTANT FOR SUBROUTINE TEST PC
   669
   670	001644	407000	000000		PBACB7:!	1B0!7B8		;WRUBR ARGUMENTS
   671	001645	406000	000000		PBACB6:!	1B0!6B8
   672	001646	405000	000000		PBACB5:!	1B0!5B8
   673	001647	404000	000000		PBACB4:!	1B0!4B8
   674	001650	403000	000000		PBACB3:!	1B0!3B8
   675	001651	402000	000000		PBACB2:!	1B0!2B8
   676	001652	401000	000000		PBACB1:!	1B0!1B8
   677	001653	400000	000000		PBACB0:!	1B0!0B8
   678
   679	001654	000000	000000		PBKPAL:!	0		;KEEP-ALIVE & STATUS WORD
   680	001655	000000	000000		PBRHSV:!	0		;RH-11 BASE ADDRESS
   681	001656	000000	000000		PBDRSV:!	0		;DRIVE NUMBER
   682
   683	001657	000000	000002		PBVER:!	MCNVER,,DECVER		;PRE-BOOT VERSION
   684
   685	001660	000001	763000		PBUBP0:!	1,,763000	;ADDRESS OF FIRST WINDOW
   686	001661	000001	763100		PBUBST:!	1,,763100	;ADDRESS OF UBA STATUS
   687
   688	001662				SMPBPG:
   689	001662				PBPAG:!	BLOCK	100		;DISK ADDRESS AND MEMORY ADDRESS POINTERS
   690	001762	000000	000000		PBPAGX:!	0		;STORAGE BLOCK
   691
   692	001123				DEPHASE
   693	001123	000000	000000		SMPEND:	0			;ENDING REFERENCE ADDRESS
   694						END

NO ERRORS DETECTED

PROGRAM BREAK IS 000000
ABSOLUTE BREAK IS 001124
CPU TIME USED 00:01.949

18P CORE USED

BC2RES	   108#
BOORG	    41#                                                                                                            SEQ 0049
DECVER	     4#	    10	    15	   683
FMT22	    61#
KPALIV	    50#	   404	   597	   637
MCNVER	     3#	    10	    15	   683
MCPE	    58#	   539
MSDRIV	    52#	   407	   595	   635
MSRH	    51#	   397	   593	   633
MSSLAV	    53#
P1	    92#	   492	   495	   498	   501	   502	   515	   517	   520	   523	   534	   535	   548	   551
	   571	   573	   575	   577	   579	   581
PB11	   224	   666#
PB17	   346	   667#
PBACB0	   627	   677#
PBACB1	   624	   676#
PBACB2	   621	   675#
PBACB3	   618	   674#
PBACB4	   615	   673#
PBACB5	   612	   672#
PBACB6	   609	   671#
PBACB7	   606	   670#
PBBADR	   528	   557#
PBBITS	    96#	   436	   445	   452	   461	   469	   471	   481	   482	   484
PBDONE	   512	   603#
PBDRSV	   408	   497	   550	   594	   634	   681#
PBERR	    97#	   470	   471	   472	   483	   484
PBFAIL	   543	   563#
PBFIVE	   206	   664#
PBFOUR	   202	   663#
PBHLT0	   102#	   557
PBHLT1	   103#	   563
PBHLT2	   104#	   400
PBHLT3	   105#
PBIOR	   174	   659#
PBJSR	   364#	   372	   373	   668
PBKPAL	   405	   596	   636	   679#
PBLIM	    95#	   435	   440	   444	   451	   456	   460	   474	   486
PBLONE	   165	   657#
PBMADR	    94#	   434	   439	   443	   450	   455	   459	   469	   470	   474	   475	   481	   482	   483
	   486	   487
PBMONE	   130	   214	   340	   424	   429	   656#
PBNEG	   169	   658#
PBONES	   189	   190	   193	   197	   201	   205	   209	   213	   660#
PBPAG	   107	   506	   689#
PBPAGP	    24	   107#
PBPAGX	   690#
PBREAD	   511#	   540	   553
PBRHSV	   398	   492	   592	   632	   680#
PBRTRY	   547#
PBSIX	   210	   232	   665#
PBSPC	   370	   668#
PBSTA1	   464	   492#
PBSTAR	   100	   112#
PBSTRT	   100#                                                                                                            SEQ 0050
PBTHRE	   198	   662#
PBTST1	   437	   446	   453	   462	   468#	   475	   476
PBTST2	   441	   457	   480#	   487	   488
PBTWOS	   194	   661#
PBUBP0	   401	   531	   584	   685#
PBUBST	   402	   586	   686#
PBVER	   589	   683#
PBWRAC	   607	   610	   613	   616	   619	   622	   625	   628	   646#	   651
PBZERO	   118	   136	   229	   336	   655#
RDATA	    56#	   533
RDY	    57#	   503	   536
RHCLR	    63#	   494	   547
RIPST	    55#	   500
RPBA	    69#	   523
RPCS1	    67#	   501	   534	   535	   571
RPCS2	    71#	   495	   498	   548	   551	   573
RPDA	    70#	   515
RPDC	    77#	   517
RPDS	    72#	   502	   575
RPER1	    73#	   577
RPER2	    74#	   579
RPER3	    75#	   581
RPFC	    78#
RPOF	    76#
RPTC	    79#
RPWC	    68#	   520
SC	    60#
SMPBPG	    25	   688#
SMPEND	    23	   693#
SMPREB	    21	    22#
T1	    86#	   494	   495	   497	   498	   500	   501	   547	   548	   550	   551
T2	    87#	   502	   503
T3	    88#	   506	   511	   514	   525	   526	   542	   558	   564	   566	   569	   603
T4	    89#	   511	   512	   515	   516	   517	   519	   520	   522	   523	   525	   527	   530	   531
	   533	   534	   535	   536	   539
T5	    90#	   507	   543
TRE	    59#	   539
UBAP0	    47#
UBSTAT	    48#
UBVBIT	    82#	   530
UNV36X	    81#	   530

NAME	     7#	    10
RDIO	    44#	   502	   535	   571	   573	   575	   577	   579	   581	   584	   586                             SEQ 0051
WRIO	    45#	   495	   498	   501	   515	   517	   520	   523	   531	   534	   548	   551
WRUBR	    43#	   606	   609	   612	   615	   618	   621	   624	   627
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 1
SMBC2T	MAC	29-Nov-78 12:09		DIAGNOSTIC SECTION                                                                 SEQ 0052

     1					;SMBC2
     2
     3
     4			000000		MCNVER==0
     5			000001		DECVER==1
     6
     7
     8						XLIST
     9						LIST
    10						LALL
    11
    12						NAME	\MCNVER,\DECVER^
    13
    14					TITLE	SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1
    15					^
    16
    17					;TEST DESIGNED FOR INITIAL DEBUGGING OF PROCESSOR HARDWARE
    18					;AND TO DETECT (SOLID) FAILURES IN THE FIELD.
    19
    20					;COPYRIGHT 1978
    21					;DIGITAL EQUIPMENT CORPORATION
    22					;MARLBORO, MASS. 01752
    23
    24					;JOHN R. KIRCHOFF
    25
    26	000137					LOC	137
    27	000137	000000	000001			MCNVER,,DECVER
    28
    29						NOSYM
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 2
SMBC2T	MAC	29-Nov-78 12:09		DIAGNOSTIC PARAMETERS                                                              SEQ 0053

    30					SUBTTL	DIAGNOSTIC PARAMETERS
    31
    32					;PARAMETER DEFINITIONS
    33
    34			000001		EXCASB==1
    35			000001		USRASB==1
    36			000001		PGMEND==1
    37
    38			001006		BC2RES=	1006		;BC2 RESTART ADDRESS
    39
    40					;FLAG DEFINITIONS
    41
    42			010000		USERF=10000		;USER MODE FLAG
    43
    44
    45					;MACROS
    46
    47					; STOP - USED FOR SCOPE LOOP, IF INSTRUCTION FAILS, CHANGE (JUMPA .+1)
    48					;	 TO A (JUMPA .-X) TO CYCLE ON FAILING INSTRUCTION
    49
    50					DEFINE	STOP	(A)<
    51						HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
    52						JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
    53									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
    54									;IN THE SUBTEST) TO LOOP ON ERROR>
    55
    56					; SFLAG - USED TO CLEAR ALL FLAGS THEN TO SET SELECTED FLAG
    57
    58					DEFINE	SFLAG	(A)<
    59						MOVSI	1,A
    60						JFCL	17,.+1	;RESET ALL FLAGS
    61						JRST	2,.+1(1)		;SET A FLAG>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 3
SMBC2T	MAC	29-Nov-78 12:09		DIAGNOSTIC PARAMETERS                                                              SEQ 0054

    62					;SPECIAL FEATURE PARAMETERS
    63
    64			003030		SADR1=STARTA
    65			003030		SADR2=STARTA
    66			003030		SADR3=STARTA
    67			003030		SADR4=STARTA
    68		254000	003030		SADR5=JRST STARTA
    69		254000	003030		SADR6=JRST STARTA
    70		254000	003030		SADR7=JRST STARTA
    71		254000	003030		SADR8=JRST STARTA
    72		254000	003030		SADR9=JRST STARTA
    73		254000	003030		SADR10=JRST STARTA
    74		254000	003030		SADR11=JRST STARTA
    75
    76			000000		PAREA0=0
    77			000000		PAREA1=0
    78			000000		PAREA2=0
    79		635542	432200		PAREA3=SIXBIT/SMBC2/
    80		645560	000000		PAREA4=SIXBIT/TMP/
    81			000000		PAREA5=0
    82			000000		PAREA6=0
    83			000001		ITERAT==1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0055

    84					SUBTTL	STANDARD PROGRAM ASSIGNMENTS
    85
    86					DEFINE	S,<;*********************************************************************>
    87
    88					S^;*********************************************************************^
    89					;*ACCUMULATORS
    90					S^;*********************************************************************^
    91
    92			000017		P=	17			;PUSHDOWN POINTER AC (IF PUSH LIST USED)
    93
    94					S^;*********************************************************************^
    95					;*PDP-10 STANDARD PC CONTROL FLAGS (SAVED ON PUSHJ, JSR, ETC..)
    96					S^;*********************************************************************^
    97
    98			400000		AROV==	400000			;ARITHMETIC OVERFLOW
    99			200000		CRY0==	200000			;CARRY 0
   100			100000		CRY1==	100000			;CARRY 1
   101			040000		FOV==	40000			;FLOATING POINT OVERFLOW
   102			020000		BIS==	20000			;BYTE INTERRUPT
   103			010000		USERF==	10000			;USER MODE
   104			004000		EXIOT==	4000			;USER PRIV I/O
   105			000400		TN0==	400			;TRAP NUMBER BIT 0
   106			000200		TN1==	200			;TRAP NUMBER BIT 1
   107			000100		FXU==	100			;FLOATING POINT UNDERFLOW
   108			000040		DCK==	40			;DIVIDE CHECK
   109
   110					S^;*********************************************************************^
   111					;*PDP-10 STANDARD ADDRESS ASSIGNMENTS
   112					S^;*********************************************************************^
   113
   114			000040		LUUO==	40			;UUO STORAGE, UUO 1-37
   115			000041		LUUOI==	41			;UUO SERVICE INSTRUCTION
   116
   117					S^;*********************************************************************^
   118					;*JOB DATA AREA EXTERNALS
   119					S^;*********************************************************************^
   120
   121			000040		JOBUUO==40
   122			000041		JOB41==	41
   123			000044		JOBREL==44
   124			000074		JOBDDT==74
   125			000116		JOBSYM==116
   126			000117		JOBUSY==117
   127			000120		JOBSA==	120
   128			000121		JOBFF==	121
   129			000124		JOBREN==124
   130			000125		JOBAPR==125
   131			000126		JOBCNI==126
   132			000127		JOBTPC==127
   133			000130		JOBOPC==130
   134			000137		JOBVER==137
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 5
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0056

   135					S^;*********************************************************************^
   136					;*JOB DATA AREA EXTERNALS (NEW DEFINITIONS)
   137					S^;*********************************************************************^
   138
   139			000040		.JBUUO==40
   140			000041		.JB41==	41
   141			000044		.JBREL==44
   142			000074		.JBDDT==74
   143			000116		.JBSYM==116
   144			000117		.JBUSY==117
   145			000120		.JBSA==	120
   146			000121		.JBFF==	121
   147			000124		.JBREN==124
   148			000125		.JBAPR==125
   149			000126		.JBCNI==126
   150			000127		.JBTPC==127
   151			000130		.JBOPC==130
   152			000137		.JBVER==137
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0057

   153					S^;*********************************************************************^
   154					;*PDP-10 STANDARD APR CONO ASSIGNMENTS
   155					S^;*********************************************************************^
   156
   157			200000		IOCLR==	200000			;CLEAR ALL I/O DEVICES
   158
   159					S^;*********************************************************************^
   160					;*PDP-10 STANDARD PI CONO ASSIGNMENTS
   161					S^;*********************************************************************^
   162
   163			010000		PICLR==	10000			;CLEAR PI SYSTEM
   164			004000		REQSET==4000			;SET PROGRAM PI REQUEST
   165			002000		CHNON==	2000			;TURN ON CHANNEL
   166			001000		CHNOFF==1000			;TURN OFF CHANNEL
   167			000400		PIOFF==	400			;TURN OFF PI SYSTEM
   168			000200		PION==	200			;TURN ON PI SYSTEM
   169
   170					S^;*********************************************************************^
   171					;*PDP-10 STANDARD PI CONI ASSIGNMENTS
   172					S^;*********************************************************************^
   173
   174			000200		PION==	200			;PI SYSTEM ON
   175
   176					S^;*********************************************************************^
   177					;*PDP-10 STANDARD PI CHANNEL ASSIGNMENTS
   178					S^;*********************************************************************^
   179
   180			000100		PICHN1==100			;PI CHANNEL 1
   181			000040		PICHN2==40			;PI CHANNEL 2
   182			000020		PICHN3==20			;PI CHANNEL 3
   183			000010		PICHN4==10			;PI CHANNEL 4
   184			000004		PICHN5==4			;PI CHANNEL 5
   185			000002		PICHN6==2			;PI CHANNEL 6
   186			000001		PICHN7==1			;PI CHANNEL 7
   187			000177		PICHNA==177			;ALL PI CHANNELS, 1 THRU 7
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0058

   188					S^;*********************************************************************^
   189					;*KS10 CONO APR 000 ASSIGMENTS
   190					S^;*********************************************************************^
   191
   192			200000		LIOCLR==200000			;CLEAR ALL I/O DEVICES
   193			100000		LFLGEN==100000			;ENABLE SELECTED FLAG
   194			040000		LFLGDS==40000			;DISABLE SELECTED FLAG
   195			020000		LFLGCL==20000			;CLEAR SELECTED FLAG
   196			010000		LFLGST==10000			;SET SELECTED FLAG
   197			001000		LPWRFL==1000			;POWER FAIL FLAG
   198			000400		LNXMER==400			;NON-EXISTENT MEMORY FLAG
   199			000200		LPARER==200			;MB PARITY ERROR FLAG
   200			000100		LPSFT==	100			;SOFT MEMORY ERROR
   201			000040		LACLK==	40			;INTERVAL TIMER
   202			000007		LAPRP7==7			;APR PI CHANNEL 7
   203			000006		LAPRP6==6			;APR PI CHANNEL 6
   204			000005		LAPRP5==5			;APR PI CHANNEL 5
   205			000004		LAPRP4==4			;APR PI CHANNEL 4
   206			000003		LAPRP3==3			;APR PI CHANNEL 3
   207			000002		LAPRP2==2			;APR PI CHANNEL 2
   208			000001		LAPRP1==1			;APR PI CHANNEL 1
   209			101000		LEPWRF==101000			;ENABLE POWER FAIL
   210			041000		LDPWRF==041000			;DISABLE POWER FAIL
   211			021000		LCPWRF==021000			;CLR POWER FAIL
   212			011000		LSPWRF==011000			;SET POWER FAIL
   213			100400		LENXER==100400			;ENABLE NON-EXISTENT MEMORY
   214			040400		LDNXER==040400			;DISABLE NON-EXISTENT MEORY
   215			020400		LCNXER==020400			;CLR NON-EXISTENT MEMORY
   216			010400		LSNXER==010400			;SET NON-EXISTENT MEMORY
   217			100200		LEPAER==100200			;ENABLE PARITY ERRORS
   218			040200		LDPAER==040200			;DISABLE PARITY ERRORS
   219			020200		LCPAER==020200			;CLR PARITY ERROR
   220			010200		LSPAER==010200			;SET PARITY ERROR
   221			100100		LEPSFT==100100			;ENABLE SOFT MEMORY ERROR
   222			040100		LDPSFT==040100			;DISABLE SOFT MEMORY ERROR
   223			020100		LCPSFT==020100			;CLR SOFT MEMORY ERROR
   224			010100		LSPSFT==010100			;SET SOFT MEMORY ERROR
   225			121600		LAPRAL==121600			;CLR ALL ERROR FLAGS & ENABLE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 8
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0059

   226					S^;*********************************************************************^
   227					;*KS10 CONI APR 000 ASSIGMENTS (LEFT HALF)
   228					S^;*********************************************************************^
   229
   230			001000		LPWRFE==1000			;POWER FAILURES ENABLED
   231			000400		LNXMEN==400			;NON-EXISTENT MEMORY ERRORS ENABLED
   232			000200		LPAREN==200			;PARITY ERRORS ENABLED
   233			000100		LPSFTE==100			;SOFT MEMORY ERROR ENABLED
   234			000040		LACLKE==40			;INTERVAL TIMER ENABLED
   235
   236					S^;*********************************************************************^
   237					;*KS10 CONI APR 000 ASSIGMENTS (RIGHT HALF)
   238					S^;*********************************************************************^
   239
   240			001000		LPWRFL==1000			;POWER FAIL FLAG
   241			000400		LNXMER==400			;NON-EXISTENT MEMORY FLAG
   242			000200		LPARER==200			;PARITY ERROR FLAG
   243			000100		LPSFTER==100			;SOFT MEMORY ERROR FLAG
   244			000007		LAPRP7==7			;APR PI CHANNEL 7
   245			000006		LAPRP6==6			;APR PI CHANNEL 6
   246			000005		LAPRP5==5			;APR PI CHANNEL 5
   247			000004		LAPRP4==4			;APR PI CHANNEL 4
   248			000003		LAPRP3==3			;APR PI CHANNEL 3
   249			000002		LAPRP2==2			;APR PI CHANNEL 2
   250			000001		LAPRP1==1			;APR PI CHANNEL 1
   251			000010		LINT==10			;APR INTERRUPT
   252
   253					S^;*********************************************************************^
   254					;*KS10 DATAO APR 000 ASSIGMENTS (LEFT HALF)
   255					S^;*********************************************************************^
   256
   257			000400		LINSTF==400			;ADDRESS BREAK REQUEST FOR INST. FETCH
   258			000200		LDATAF==200			;ADDRESS BREAK REQUEST FOR DATA FETCH
   259			000100		LWRITE==100			;ADDRESS BREAK REQUEST FOR DATA WRITE
   260			000040		LUSCMP==40			;USER ADDRESS COMPARE
   261			000000		LEXCMP==0			;EXEC ADDRESS COMPARE
   262
   263					S^;*********************************************************************^
   264					;*KS10 DATAO APR 000 ASSIGMENTS (RIGHT HALF)
   265					S^;*********************************************************************^
   266
   267					;DATAO APR,ADDRESS SWITCHES=13-35
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 9
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0060

   268					S^;*********************************************************************^
   269					;*KS10 DATAI APR 000 ASSIGMENTS (LEFT HALF)
   270					S^;*********************************************************************^
   271
   272			000400		LINSTF==400			;ADDRESS BREAK REQUEST FOR INST. FETCH
   273			000200		LDATAF==200			;ADDRESS BREAK REQUEST FOR DATA FETCH
   274			000100		LWRITE==100			;ADDRESS BREAK REQUEST FOR DATA WRITE
   275			000040		LUSCMP==40			;USER ADDRESS COMPARE
   276			000000		LEXCMP==0			;EXEC ADDRESS COMPARE
   277
   278					S^;*********************************************************************^
   279					;*KS10 DATAI APR 000 ASSIGMENTS (RIGHT HALF)
   280					S^;*********************************************************************^
   281
   282					;DATAI APR,ADDRESS SWITCHES=13-35
   283
   284					S^;*********************************************************************^
   285					;*KS10 BLKO APR 000 ASSIGMENTS (IMMEDIATE MODE)
   286					S^;*********************************************************************^
   287
   288					;REFILL ALGORITHM BITS 18-20
   289					;REFILL ALGORITHM ADDRESS 27-33
   290
   291					S^;*********************************************************************^
   292					;*KS10 BLKI APR 000 ASSIGMENTS
   293					S^;*********************************************************************^
   294
   295					;MICRO-CODE OPTIONS = 0-8
   296					;MICRO-CODE VERSION NUMBER = 9-17
   297					;HARDWARE OPTIONS =18-20
   298					;PROCESSOR SERIAL NUMBER = 21-35
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 10
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0061

   299					S^;*********************************************************************^
   300					;*KS10 CONO PI 004 ASSIGMENTS
   301					S^;*********************************************************************^
   302
   303			020000		LRQCLR==20000			;DROP INTERRUPT ON SELECTED CHANNEL
   304			010000		LPICLR==10000			;CLEAR PI SYSTEM
   305			004000		LREQSE==4000			;REQUEST INTERRUPT ON SELECTED CHANNEL
   306			002000		LCHNON=2000			;TURN ON SELECTED CHANNEL
   307			001000		LCHNOF==1000			;TURN OFF SELECTED CHANNEL
   308			000400		LPIOFF==400			;TURN PI SYSTEM OFF
   309			000200		LPION==200			;TURN PI SYSTEM ON
   310			000100		LPICH1==100			;PI CHANNEL 1
   311			000040		LPICH2==40			;PI CHANNEL 2
   312			000020		LPICH3==20			;PI CHANNEL 3
   313			000010		LPICH4==10			;PI CHANNEL 4
   314			000004		LPICH5==4			;PI CHANNEL 5
   315			000002		LPICH6==2			;PI CHANNEL 6
   316			000001		LPICH7==1			;PI CHANNEL 7
   317			000177		LPICHA==177			;ALL PI CHANNELS
   318
   319					S^;*********************************************************************^
   320					;*KS10 CONI PI 004 ASSIGMENTS (LEFT HALF)
   321					S^;*********************************************************************^
   322
   323			000100		LPRCH1==100			;PROGRAM REQUEST ON CHANNEL 1
   324			000040		LPRCH2==40			;PROGRAM REQUEST ON CHANNEL 2
   325			000020		LPRCH3==20			;PROGRAM REQUEST ON CHANNEL 3
   326			000010		LPRCH4==10			;PROGRAM REQUEST ON CHANNEL 4
   327			000004		LPRCH5==4			;PROGRAM REQUEST ON CHANNEL 5
   328			000002		LPRCH6==2			;PROGRAM REQUEST ON CHANNEL 6
   329			000001		LPRCH7==1			;PROGRAM REQUEST ON CHANNEL 7
   330
   331					S^;*********************************************************************^
   332					;*KS10 CONI PI 004 ASSIGMENTS (RIGHT HALF)
   333					S^;*********************************************************************^
   334
   335			040000		LPIIP1==40000			;PI IN PROGRESS ON CHANNEL 1
   336			020000		LPIIP2==20000			;PI IN PROGRESS ON CHANNEL 2
   337			010000		LPIIP3==10000			;PI IN PROGRESS ON CHANNEL 3
   338			004000		LPIIP4==4000			;PI IN PROGRESS ON CHANNEL 4
   339			002000		LPIIP5==2000			;PI IN PROGRESS ON CHANNEL 5
   340			001000		LPIIP6==1000			;PI IN PROGRESS ON CHANNEL 6
   341			000400		LPIIP7==400			;PI IN PROGRESS ON CHANNEL 7
   342			000200		LPION==200			;PI SYSTEM ON
   343			000100		LPICH1==100			;PI CHANNEL 1 ON
   344			000040		LPICH2==40			;PI CHANNEL 2 ON
   345			000020		LPICH3==20			;PI CHANNEL 3 ON
   346			000010		LPICH4==10			;PI CHANNEL 4 ON
   347			000004		LPICH5==4			;PI CHANNEL 5 ON
   348			000002		LPICH6==2			;PI CHANNEL 6 ON
   349			000001		LPICH7==1			;PI CHANNEL 7 ON
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 11
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0062

   350					S^;*********************************************************************^
   351					;*KS10 DATAO PAG 010 ASSIGMENTS (LEFT HALF)
   352					S^;*********************************************************************^
   353
   354			400000		LLACBL==400000			;LOAD AC BLOCKS
   355			100000		LLDUSB==100000			;LOAD USER BASE REGISTER
   356					;CURRENT AC BLOCKS BITS 6 - 8
   357					;PREVIOUS AC BLOCKS BITS 9 - 11
   358
   359					S^;*********************************************************************^
   360					;*KS10 DATAO PAG 010 ASSIGMENTS (RIGHT HALF)
   361					S^;*********************************************************************^
   362
   363					;USER BASE REGISTER BITS 23 - 35
   364
   365					S^;*********************************************************************^
   366					;*KS10 DATAI PAG 010 ASSIGMENTS (LEFT HALF)
   367					S^;*********************************************************************^
   368
   369			400000		LLACBL==400000			;LOAD AC BLOCKS
   370			100000		LLDUSB==100000			;LOAD USER BASE REGISTER
   371					;CURRENT AC BLOCKS BITS 6 - 8
   372					;PREVIOUS AC BLOCKS BITS 9 - 11
   373
   374					S^;*********************************************************************^
   375					;*KS10 DATAI PAG 010 ASSIGMENTS (RIGHT HALF)
   376					S^;*********************************************************************^
   377
   378					;USER BASE REGISTER BITS 25 - 35
   379
   380					S^;*********************************************************************^
   381					;*KS10 CONO PAG 010 ASSIGMENTS
   382					S^;*********************************************************************^
   383
   384			040000		LSMODE==40000			;SECTION MODE
   385			020000		LTRPEN==20000			;TRAP AND PAGE CACHE ENABLE
   386
   387					;EXEC BASE REGISTER = 25-35
   388
   389					S^;*********************************************************************^
   390					;*KS10 CONI PAG 010 ASSIGMENTS
   391					S^;*********************************************************************^
   392
   393			040000		LSECMO==40000			;SECTION MODE
   394			020000		LTRPAE==20000			;TRAP AND PAGE CACHE ENABLE
   395
   396					;EXEC BASE REGISTER = 25-35
   397
   398					S^;*********************************************************************^
   399					;*KS10 BLKO PAG 010 ASSIGMENTS (IMMEDIATE MODE)
   400					S^;*********************************************************************^
   401
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0063

   402					S^;*********************************************************************^
   403					;*KS10 EXEC PAGE MAP PAGE ASSIGNMENTS
   404					S^;*********************************************************************^
   405
   406			000100		UBAVEC==100			;UNIBUS VECTOR TABLE ADDRESS
   407
   408			000421		AROVTP==421			;ARITHMETIC TRAP
   409			000422		PDOVTP==422			;PUSHDOWN OVERFLOW TRAP
   410			000423		TRP3TP==423			;TRAP 3 TRAP
   411
   412			000510		LTBASH==510			;TIME-BASE, HI
   413			000511		LTBASL==511			;TIME-BASE, LO
   414			000512		LPRFMH==512			;PERFORMANCE ANAYLYSIS, HI
   415			000513		LPRFML==513			;PERFORMANCE ANAYLYSIS, LO
   416
   417					S^;*********************************************************************^
   418					;*KS10 USER PAGE MAP PAGE ASSIGNMENTS
   419					S^;*********************************************************************^
   420
   421			000421		AROVTP==421			;ARITHMETIC TRAP
   422			000422		PDOVTP==422			;PUSHDOWN OVERFLOW TRAP
   423			000423		TRP3TP==423			;TRAP 3 TRAP
   424
   425			000424		MUUO==	424			;MUUO STORAGE
   426			000425		MUUOPC==425			;C(PC) OF MUUO STORAGE
   427			000426		LCNTXT==426			;PROCESS CONTEXT WORD
   428
   429			000430		KNTRP==430			;KERNAL	 	NO TRAP - NEW PC'S-
   430			000431		KTRP==	431			;"	 	TRAP
   431			000432		SNTRP==432			;SUPERVISOR	NO TRAP
   432			000433		STRP==	433			;"		TRAP
   433			000434		CNTRP==434			;CONCEAL 	NO TRAP
   434			000435		CTRP==	435			;"		TRAP
   435			000436		PNTRP==436			;PUBLIC		NO TRAP
   436			000437		PTRP==	437			;"		TRAP
   437
   438			000500		LEUPFW==500			;EXEC & USER PAGE FAIL WORD
   439			000501		LPFWPC==501			;C(PC) OF PAGE FAIL WORD
   440			000502		LPGFTR==502			;PAGE FAIL NEW PC
   441
   442			000504		LEBXMH==504			;E-BOX CLOCK TICK METER, HI
   443			000505		LEBXML==505			;E-BOX CLOCK TICK METER, LO
   444			000506		LMBXMH==506			;M-BOX CYCLE METER, HI
   445			000507		LMBXML==507			;M-BOX CYCLE METER, LO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 13
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0064

   446					S^;*********************************************************************^
   447					;*KS10 I/O INSTRUCTIONS
   448					S^;*********************************************************************^
   449
   450		700000	000000		OPDEF	APRID	[700B8+0B12]	;READ PROCESSOR ID
   451		700200	000000		OPDEF	WRAPR	[700B8+4B12]	;WRITE APR
   452		700240	000000		OPDEF	RDAPR	[700B8+5B12]	;READ APR
   453		700600	000000		OPDEF	WRPI	[700B8+14B12]	;WRITE PI
   454		700640	000000		OPDEF	RDPI	[700B8+15B12]	;READ PI
   455
   456		701040	000000		OPDEF	RDUBR	[701B8+1B12]	;READ USER BASE REGISTER
   457		701100	000000		OPDEF	CLRPT	[701B8+2B12]	;CLEAR HARDWARE PAGE TABLE
   458		701140	000000		OPDEF	WRUBR	[701B8+3B12]	;WRITE USER BASE REGISTER
   459		701240	000000		OPDEF	RDEBR	[701B8+5B12]	;READ EXEC BASE REGISTER
   460		701200	000000		OPDEF	WREBR	[701B8+4B12]	;WRITE EXEC BASE REGISTER
   461
   462		702000	000000		OPDEF	RDSPB	[702B8+0B12]	;READ SPT BASE REGISTER
   463		702040	000000		OPDEF	RDCSB	[702B8+1B12]	;READ CORE STATUS TABLE BASE REGISTER
   464		702100	000000		OPDEF	RDPUR	[702B8+2B12]	;READ PROCESS USE REGISTER
   465		702140	000000		OPDEF	RDCSTM	[702B8+3B12]	;READ CST MASK REGISTER
   466		702200	000000		OPDEF	RDTIM	[702B8+4B12]	;READ TIME BASE
   467		702240	000000		OPDEF	RDINT	[702B8+5B12]	;READ INTERVAL TIMER
   468		702300	000000		OPDEF	RDHSB	[702B8+6B12]	;READ HALT STATUS BLOCK ADDRESS
   469
   470		702400	000000		OPDEF	WRSPB	[702B8+10B12]	;WRITE SPT BASE REGISTER
   471		702440	000000		OPDEF	WRCSB	[702B8+11B12]	;WRITE CORE STATUS TABLE BASE REGISTER
   472		702500	000000		OPDEF	WRPUR	[702B8+12B12]	;WRITE PROCESS USE REGISTER
   473		702540	000000		OPDEF	WRCSTM	[702B8+13B12]	;WRITE CST MASK REGISTER
   474		702600	000000		OPDEF	WRTIM	[702B8+14B12]	;WRITE TIME BASE
   475		702640	000000		OPDEF	WRINT	[702B8+15B12]	;WRITE INTERVAL TIMER
   476		702700	000000		OPDEF	WRHSB	[702B8+16B12]	;WRITE HALT STATUS BLOCK ADDRESS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14
SMBC2T	MAC	29-Nov-78 12:09		STANDARD PROGRAM ASSIGNMENTS                                                       SEQ 0065

   477					S^;*********************************************************************^
   478					;*KS10 UNIBUS I/O INSTRUCTIONS
   479					S^;*********************************************************************^
   480
   481		710000	000000		OPDEF	TIOE	[710B8]		;TEST I/O, SKIP IF ZERO
   482		711000	000000		OPDEF	TION	[711B8]		;TEST I/O, SKIP IF NON-ZERO
   483		712000	000000		OPDEF	RDIO	[712B8]		;READ I/O
   484		713000	000000		OPDEF	WRIO	[713B8]		;WRITE I/O
   485		714000	000000		OPDEF	BSIO	[714B8]		;BIT SET I/O
   486		715000	000000		OPDEF	BCIO	[715B8]		;BIT CLEAR I/O
   487		720000	000000		OPDEF	TIOEB	[720B8]		;	BYTE MODE
   488		721000	000000		OPDEF	TIONB	[721B8]
   489		722000	000000		OPDEF	RDIOB	[722B8]
   490		723000	000000		OPDEF	WRIOB	[723B8]
   491		724000	000000		OPDEF	BSIOB	[724B8]
   492		725000	000000		OPDEF	BCIOB	[725B8]
   493
   494					S^;*********************************************************************^
   495					;*KS10 UNIBUS BIT NUMBERS
   496					S^;*********************************************************************^
   497
   498			000001		EBIT0==1
   499			000002		EBIT1==2
   500			000004		EBIT2==4
   501			000010		EBIT3==10
   502			000020		EBIT4==20
   503			000040		EBIT5==40
   504			000100		EBIT6==100
   505			000200		EBIT7==200
   506			000400		EBIT8==400
   507			001000		EBIT9==1000
   508			002000		EBIT10==2000
   509			004000		EBIT11==4000
   510			010000		EBIT12==10000
   511			020000		EBIT13==20000
   512			040000		EBIT14==40000
   513			100000		EBIT15==100000
   514
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 1
SMBC2A	MAC	29-Nov-78 12:07		DIAGNOSTIC SECTION                                                                 SEQ 0066

   515					SUBTTL	DIAGNOSTIC SECTION
   516
   517	003000					LOC	3000		;START AFTER PRE-BOOT & DATA BUFFER
   518
   519	003000				BEGIN:
   520	003000	402 00 0 00 042105 	START:	SETZM	USER#		;CLEAR USER CONTROL WORD
   521	003001	265 00 0 00 003002 		JSP	0,.+1		;GET FLAGS
   522	003002	603 00 0 00 010000 		TLNE	USERF		;IN USER MODE?
   523	003003	476 00 0 00 042105 		SETOM	USER		;YES, SET USER CONTROL WORD
   524	003004	336 00 0 00 042105 		SKIPN	USER
   525	003005	254 00 0 00 003030 		JRST	STARTA
   526	003006	051 03 0 00 003015 		TTCALL	3,PGMNAM
   527	003007	254 00 0 00 003030 		JRST	STARTA
   528
   529	003010	332 00 0 00 042105 	BEGEND:	SKIPE	USER		;USER MODE ?
   530	003011	047 00 0 00 000012 		EXIT			;YES, RETURN TO MONITOR
   531	003012	336 00 0 00 001006 		SKIPN	BC2RES		;EXEC, IS THERE A BC2 RESTART ADDRESS ?
   532	003013	254 04 0 00 003000 		HALT	START		;NO, HALT AT STARTING ADDRESS THEN
   533	003014	254 00 0 00 001006 		JRST	BC2RES		;YES, RESTART PRE-BOOT THEN
   534
   535	003015				PGMNAM:	ASCIZ/
   536	003015	015 012 104 105 103 	DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC [SMBC2]
   537	003016	123 131 123 124 105 
   538	003017	115 055 062 060 062 
   539	003020	060 040 102 117 117 
   540	003021	124 040 103 110 105 
   541	003022	103 113 040 062 040 
   542	003023	104 111 101 107 116 
   543	003024	117 123 124 111 103 
   544	003025	040 133 123 115 102 
   545	003026	103 062 135 015 012 	/
   546	003027	000 000 000 000 000 
   547
   548					;BASIC INSTRUCTION TEST (1)
   549					;THE TEST IS DESIGNED FOR INITIAL DEBUGGING OF
   550					;PROCESSOR HARDWARE AND TO DETECT (SOLID) FAILURES
   551					;IN THE FIELD.
   552
   553
   554	003030	254 00 0 00 003031 	STARTA:	JRST	.+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0067

   555					SUBTTL	TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS
   556
   557					;NOTE: AN "*" IN THE COMMENT FIELD OF AN INSTRUCTION INDICATES THAT IT IS THE TESTED
   558					;INSTRUCTION.
   559					;**********
   560
   561					;THIS TEST VERIFIES THAT SKIPA ALWAYS SKIPS THE NEXT INSTRUCTION
   562
   563			003031		A00=.
   564	003031	334 00 0 00 000000 	A12500:	SKIPA			;*SKIPA SHOULD ALWAYS SKIP THE NEXT INSTRUCTION
   565	003032	254 04 0 00 000000 		HALT			;IF PROGRAM HALTS, SKIPA DID NOT SKIP
   566
   567					;IF PROGRAM HANGS UP ON SKIPA INSTRUCTION, CHECK AB PC EN [ABC], AB PC F/F [ABC],
   568					;AB PC B [ABC OR AB], AB PC (FETCH) EN [ABC], IR SKIPS [IR3], IR SKIPX [IR1],
   569					;IR 3XX [IR1], IR BITS 00 - 08 [IR1], F CYC ACT EN C [FI], FT6 F/F [F2],
   570					;PC CLOCK EN [PCC],  ET2 J F/F [E], PC CLK (ET2) EN [PCC], ADZ COND P [ADZ] AND
   571					;ADZ COND R [ADZ], PC CLOCK A [PCC], PC CLOCK B [PCC]
   572
   573					;IF PROGRAM HALTED ON HALT INSTRUCTION, CHECK ST1 COND [ST2]
   574
   575					;**********
   576
   577					;THIS TEST VERIFIES THAT JUMP NEVER JUMPS
   578
   579	003033	320 00 0 00 003034 	A15000:	JUMP	.+1		;*JUMP SHOULD NEVER JUMP
   580	003034	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF JUMP IS SUCCESSFUL
   581	003035	254 04 0 00 000000 		HALT			;HALT IF JUMP FAILS
   582
   583					;IF PROGRAM HANGS UP ON JUMP .+1 INSTRUCTION, THE JUMP INSTRUCTION
   584					;MAY HAVE FAILED.  CHECK ST1 COND [ST2], ST INST FET ST1 EN [ST2], ET2 D F/F [E],
   585					;IR JUMPS [IR1], IR JUMPX [IR1]
   586
   587					;**********
   588					;THIS TEST VERIFIES THAT JUMP NEVER JUMPS
   589
   590	003036	320 00 0 00 003040 	A15100:	JUMP	.+2		;*JUMP SHOULD NEVER JUMP
   591	003037	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF JUMP IS SUCCESSFUL
   592	003040	254 04 0 00 000000 		HALT			;HALT IF JUMP FAILS
   593
   594					;AB PC EN [ABC]
   595
   596					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0068

   597
   598					;THIS TEST VERIFIES THAT JUMPA .+1 ALWAYS JUMPS TO THE NEXT INSTRUCTION
   599
   600	003041	324 00 0 00 003042 	A12700:	JUMPA	.+1		;*JUMPA .+1 SHOULD NEVER JUMP
   601	003042	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF JUMPA IS SUCCESSFUL
   602	003043	254 04 0 00 000000 		HALT			;HALT IF JUMPA .+1 FAILED
   603
   604					;**********
   605
   606					;THIS TEST VERIFIES THAT JUMPA JUMPS TO THE LOCATION SPECIFIED BY E WHEN E=.+2
   607
   608	003044	324 00 0 00 003046 	A12600:	JUMPA	.+2		;*JUMPA .+2 SHOULD ALWAYS SKIP THE NEXT INSTRUCTION
   609	003045	254 04 0 00 000000 		HALT			;PROGRAM HALTS HERE IF JUMPA .+2 FAILS
   610
   611					;ST1 COND [ST2]
   612
   613					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0069

   614					;THIS TEST VERIFIES THAT SKIPA IS DATA INDEPENDENT.  HENCE, IT ALWAYS SKIPS THE NEXT
   615					;INSTRUCTION.
   616					;THE MOVE [0] INSTRUCTION IS USED TO TEST THE DATA INDEPENDENCE OF SKIPA.
   617
   618	003046	200 00 0 00 041025 	A100:	MOVE	[0]		;PRESET LOCATION 0 TO ALL ZEROS
   619	003047	334 00 0 00 000000 		SKIPA			;*SKIPA SHOULD ALWAYS SKIP THE NEXT INSTRUCTION
   620						STOP^
   621	003050	254 04 0 00 003051 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   622	003051	324 00 0 00 003052 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   623									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   624									;IN THE SUBTEST) TO LOOP ON ERROR^
   625
   626					;**********
   627					;THIS TEST INSURES THAT SKIPA IS DATA INDEPENDENT.  HENCE, IT ALWAYS SKIPS THE NEXT
   628					;INSTRUCTION.
   629					;THE MOVE [-1] INSTRUCTION IS USED TO TEST THE DATA INDEPENDENCE OF SKIPA.
   630
   631	003052	200 00 0 00 041026 	A200:	MOVE	[-1]		;PRESET LOCATION 0 TO ALL ONES
   632	003053	334 00 0 00 000000 		SKIPA			;*SKIPA SKOULD ALWAYS SKIP THE NEXT INSTRUCTION
   633						STOP^
   634	003054	254 04 0 00 003055 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   635	003055	324 00 0 00 003056 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   636									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   637									;IN THE SUBTEST) TO LOOP ON ERROR^
   638
   639					;COND P [ADZ]
   640
   641					;**********
   642					;THIS TEST VERIFIES THAT SKIPGE SKIPS THE NEXT INSTRUCTION WHEN C(E)
   643					;IS ALL ZEROS.  THE MOVE INSTRUCTION IS USED TO LOAD E WITH ALL ZEROS.
   644
   645	003056	200 00 0 00 041025 	A300:	MOVE	[0]		;PRESET E TO ALL ZEROS
   646	003057	335 00 0 00 000000 		SKIPGE			;*SKIPGE SHOULD SKIP THE NEXT INSTRUCTION
   647						STOP^
   648	003060	254 04 0 00 003061 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   649	003061	324 00 0 00 003062 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   650									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   651									;IN THE SUBTEST) TO LOOP ON ERROR^
   652
   653					;COND R [ADZ], AD00 S-A-1, AD AR + EN [ADAP], AD LT AR + EN [ADAP],
   654					;AD RT AR + EN [ADAP], AD AR + EN C [ADAP], F CYC ACT EN A [F1]
   655
   656					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0070

   657
   658					;THIS TEST VERIFIES THAT SKIP IS DATA INDEPENDENT.  HENCE, SKIP NEVER SKIPS.  IT ALWAYS
   659					;CONTINUES ON TO THE NEXT INSTRUCTION.
   660
   661	003062	200 00 0 00 041026 	A400:	MOVE	[-1]		;PRESET E TO ALL ONES
   662	003063	330 00 0 00 000000 		SKIP			;*SKIP SHOULD NEVER SKIP THE NEXT INSTRUCTION
   663	003064	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   664						STOP^
   665	003065	254 04 0 00 003066 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   666	003066	324 00 0 00 003067 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   667									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   668									;IN THE SUBTEST) TO LOOP ON ERROR^
   669
   670					;PC CHANGE [PCC], PC CHANGE A [PCC], SEE MEMORY CONTROL DWGS [MC1-4]
   671
   672					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0071

   673					;THIS TEST VERIFIES THAT SKIPGE WILL NOT SKIP THE NEXT INSTRUCTION WHEN C(E) IS
   674					;NEGATIVE.  THE MOVE INSTRUCTION LOADS E WITH -1, A NEGATIVE NUMBER.
   675
   676	003067	200 00 0 00 041026 	A500:	MOVE	[-1]		;PRESET E WITH ALL ONES, A NEGATIVE NUMBER
   677	003070	335 00 0 00 000000 		SKIPGE			;*SKIPGE SHOULD NOT SKIP THE NEXT INSTRUCTION
   678	003071	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   679						STOP^
   680	003072	254 04 0 00 003073 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   681	003073	324 00 0 00 003074 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   682									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   683									;IN THE SUBTEST) TO LOOP ON ERROR^
   684
   685					;IF MOVE INSTRUCTION FAILED, CHECK MOVX-: FCE [F1], -IR XXXI [IR1], -IR XXXM [IR1], 
   686					;IR HWTFWT [IR3], IR FWT [IR2], IR2XX [IR1]
   687
   688					;IF SKIPGE FAILED, CHECK SKIPX: FCE [F1]
   689
   690					;**********
   691
   692					;THIS TEST VERIFIES THAT SKIPN WILL NOT SKIP THE NEXT INSTRUCTION WHEN
   693					;C(E) IS ZERO.  THE MOVE INSTRUCTION  LOADS E WITH ALL ZEROS.
   694
   695	003074	200 00 0 00 041025 	A600:	MOVE	[0]		;PRESET E WITH ALL ZEROS
   696	003075	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD NOT SKIP THE NEXT INSTRUCTION
   697	003076	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   698						STOP^
   699	003077	254 04 0 00 003100 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   700	003100	324 00 0 00 003101 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   701									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   702									;IN THE SUBTEST) TO LOOP ON ERROR^
   703
   704					;**********
   705
   706					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT SHOULD SKIP
   707					;THE NEXT INSTRUCTION WHEN C(E) IS NON-ZERO.  THE MOVE INSTRUCTION LOADS
   708					;E WITH -1, A NON-ZERO NUMBER.
   709
   710	003101	200 00 0 00 041026 	A700:	MOVE	[-1]		;PRESET E WITH ALL ONES, A NON-ZERO NUMBER
   711	003102	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   712						STOP^
   713	003103	254 04 0 00 003104 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   714	003104	324 00 0 00 003105 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   715									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   716									;IN THE SUBTEST) TO LOOP ON ERROR^
   717
   718					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0072

   719					;THIS TEST VERIFIES THAT SKIPE IS DATA DEPENDENT.  HENCE, IT SHOULD NOT
   720					;SKIP THE NEXT INSTRUCTION WHEN C(E) IS NON-ZERO.  THE MOVE INSTRUCTION LOADS E
   721					;WITH -1, A NON-ZERO NUMBER.
   722
   723	003105	200 00 0 00 041026 	A1000:	MOVE	[-1]		;PRESET E WITH ALL ONES, A NON-ZERO NUMBER
   724	003106	332 00 0 00 000000 		SKIPE			;*SKIPE SHOULD NOT SKIP THE NEXT INSTRUCTION
   725	003107	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   726						STOP^
   727	003110	254 04 0 00 003111 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   728	003111	324 00 0 00 003112 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   729									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   730									;IN THE SUBTEST) TO LOOP ON ERROR^
   731
   732					;**********
   733
   734					;THIS TEST VERIFIES THAT SKIPE IS DATA DEPENDENT.  HENCE, IT SHOULD SKIP
   735					;THE NEXT INSTRUCTION WHEN C(E) IS ZERO.  THE MOVE INSTRUCTION LOADS ALL
   736					;ZEROS INTO E.
   737
   738	003112	200 00 0 00 041025 	A1100:	MOVE	[0]		;PRESET E TO ALL ZEROS
   739	003113	332 00 0 00 000000 		SKIPE			;*SKIPE SHOULD SKIP THE NEXT INSTRUCTION
   740						STOP^
   741	003114	254 04 0 00 003115 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   742	003115	324 00 0 00 003116 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   743									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   744									;IN THE SUBTEST) TO LOOP ON ERROR^
   745
   746					;**********
   747
   748					;THIS TEST VERIFIES THAT SKIP IS DATA INDEPENDENT.  HENCE, IT NEVER SKIPS.  IT ALWAYS
   749					;CONTINUES ON TO THE NEXT INSTRUCTION.
   750
   751	003116	200 00 0 00 041025 	A1200:	MOVE	[0]		;PRESET E TO ALL ZEROS
   752	003117	330 00 0 00 000000 		SKIP			;*SKIP SHOULD NEVER SKIP THE NEXT INSTRUCTION
   753	003120	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   754						STOP^
   755	003121	254 04 0 00 003122 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   756	003122	324 00 0 00 003123 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   757									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   758									;IN THE SUBTEST) TO LOOP ON ERROR^
   759
   760					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0073

   761					;THIS TEST VERIFIES THAT SKIPL IS DATA DEPENDENT.  HENCE, IT WILL NOT SKIP THE NEXT
   762					;INSTRUCTION WHEN C(E) IS NOT NEGATIVE.  THE MOVE INSTRUCTION IS USED TO LOAD
   763					;E WITH ALL ZEROS, A NON-NEGATIVE NUMBER.
   764
   765	003123	200 00 0 00 041025 	A1300:	MOVE	[0]		;PRESET E T0 ZERO, A NON-NEGATIVE NUMBER
   766	003124	331 00 0 00 000000 		SKIPL			;*SKIPL SHOULD NOT SKIP THE NEXT INSTRUCTION
   767	003125	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   768						STOP^
   769	003126	254 04 0 00 003127 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   770	003127	324 00 0 00 003130 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   771									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   772									;IN THE SUBTEST) TO LOOP ON ERROR^
   773
   774					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0074

   775					;THIS TEST VERIFIES THAT SKIPL IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   776					;INSTRUCTION WHEN C(E) IS NEGATIVE.  THE MOVE INSTRUCTION IS USED TO LOAD E WITH -1,
   777					;A NEGATIVE NUMBER.
   778
   779	003130	200 00 0 00 041026 	A1400:	MOVE	[-1]		;PRESET E TO -1, A NEGATIVE NUMBER
   780	003131	331 00 0 00 000000 		SKIPL			;*SKIPL SHOULD SKIP THE NEXT INSTRUCTION
   781						STOP^
   782	003132	254 04 0 00 003133 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   783	003133	324 00 0 00 003134 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   784									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   785									;IN THE SUBTEST) TO LOOP ON ERROR^
   786
   787					;**********
   788
   789					;THIS TEST VERIFIES THAT SKIPG IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   790					;INSTRUCTION WHEN C(E) IS GREATER THAN ZERO.  THE MOVE INSTRUCTION IS USED TO LOAD
   791					;E WITH A NON-ZERO POSITIVE NUMBER.
   792
   793	003134	200 00 0 00 041027 	A1500:	MOVE	[XWD 377777,-1]	;PRESET E TO 377777777777, A NON-ZERO POSITIVE NUMBER
   794	003135	337 00 0 00 000000 		SKIPG			;*SKIPG SHOULD SKIP THE NEXT INSTRUCTION
   795						STOP^
   796	003136	254 04 0 00 003137 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   797	003137	324 00 0 00 003140 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   798									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   799									;IN THE SUBTEST) TO LOOP ON ERROR^
   800
   801					;**********
   802
   803					;THIS TEST VERIFIES THAT SKIPG IS DATA DEPENDENT.  HENCE, IT WILL NOT SKIP THE NEXT
   804					;INSTRUCTION WHEN C(E) IS NOT GREATER THAN ZERO.  THE MOVE INSTRUCTION IS USED TO
   805					;LOAD E WITH -1, A NUMBER NOT GREATER THAN ZERO.
   806
   807	003140	200 00 0 00 041026 	A1600:	MOVE	[-1]		;PRESET E TO -1, A NEGATIVE NUMBER
   808	003141	337 00 0 00 000000 		SKIPG			;*SKIPG SHOULD NOT SKIP THE NEXT INSTRUCTION
   809	003142	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   810						STOP^
   811	003143	254 04 0 00 003144 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   812	003144	324 00 0 00 003145 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   813									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   814									;IN THE SUBTEST) TO LOOP ON ERROR^
   815
   816					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0075

   817					;THIS TEST VERIFIES THAT SKIPL IS DATA  DEPENDENT.  HENCE, IT WILL NOT SKIP THE NEXT
   818					;INSTRUCTION WHEN C(E) IS NON-NEGATIVE.  THE MOVE INSTRUCTION IS USED TO LOAD E WITH
   819					;377777777777, A NON-NEGATIVE NUMBER.
   820
   821	003145	200 00 0 00 041027 	A1700:	MOVE	[XWD 377777,-1]	;PRESET E TO 377777777777, A NON-NEGATIVE NUMBER
   822	003146	331 00 0 00 000000 		SKIPL			;*SKIPL SHOULD NOT SKIP THE NEXT INSTRUCTION
   823	003147	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   824						STOP^
   825	003150	254 04 0 00 003151 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   826	003151	324 00 0 00 003152 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   827									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   828									;IN THE SUBTEST) TO LOOP ON ERROR^
   829
   830					;**********
   831
   832					;THIS TEST VERIFIES THAT SKIPLE IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   833					;INSTRUCTION WHEN C(E) IS ZERO.  THE MOVE INSTRUCTION LOADS E WITH ALL ZEROS.
   834
   835	003152	200 00 0 00 041025 	A2000:	MOVE	[0]		;PRESET E TO ALL ZEROS
   836	003153	333 00 0 00 000000 		SKIPLE			;*SKIPLE SHOULD SKIP THE NEXT INSTRUCTION
   837						STOP^
   838	003154	254 04 0 00 003155 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   839	003155	324 00 0 00 003156 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   840									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   841									;IN THE SUBTEST) TO LOOP ON ERROR^
   842
   843					;**********
   844
   845					;THIS TEST VERIFIES THAT SKIPLE IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   846					;INSTRUCTION WHEN E CONTAINS A NEGATIVE NUMBER.  THE MOVE INSTRUCTION IS USED TO LOAD
   847					;E WITH 400000000000, A NEGATIVE NUMBER.
   848
   849	003156	200 00 0 00 041030 	A2100:	MOVE	[XWD 400000,0]	;PRESET E TO 400000000000, A NEGATIVE NUMBER.
   850	003157	333 00 0 00 000000 		SKIPLE			;*SKIPLE SHOULD SKIP THE NEXT INSTRUCTION
   851						STOP^
   852	003160	254 04 0 00 003161 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   853	003161	324 00 0 00 003162 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   854									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   855									;IN THE SUBTEST) TO LOOP ON ERROR^
   856
   857					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0076

   858					;THIS TEST VERIFIES THAT SKIPLE IS DATA DEPENDENT.  HENCE, IT WILL NOT SKIP THE NEXT
   859					;INSTRUCTION WHEN E CONTAINS A POSITIVE NUMBER.  THE MOVE INSTRUCTION LOADS
   860					;E WITH 377777777777, A POSITIVE NUMBER.
   861
   862	003162	200 00 0 00 041027 	A2200:	MOVE	[XWD 377777,-1]	;PRESET E TO 377777777777, A POSITIVE NUMBER
   863	003163	333 00 0 00 000000 		SKIPLE			;*SKIPLE SHOULD NOT SKIP THE NEXT INSTRUCTION
   864	003164	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF TEST PASSES
   865						STOP^
   866	003165	254 04 0 00 003166 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   867	003166	324 00 0 00 003167 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   868									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   869									;IN THE SUBTEST) TO LOOP ON ERROR^
   870
   871					;*********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0077

   872					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   873					;INSTRUCTION ;WHEN E CONTAINS A NON-ZERO NUMBER.  THE MOVE INSTRUCTION IS USED TO
   874					;LOAD 777000000000, A NON-ZERO NUMBER INTO E.
   875
   876	003167	200 00 0 00 041031 	A2300:	MOVE	[XWD 777000,0]	;PRESET E WITH 777000000000, A NON-ZERO NUMBER
   877	003170	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   878						STOP^
   879	003171	254 04 0 00 003172 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   880	003172	324 00 0 00 003173 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   881									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   882									;IN THE SUBTEST) TO LOOP ON ERROR^
   883
   884					;**********
   885
   886					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   887					;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER.  THE MOVE INSTRUCTION IS USED TO
   888					;LOAD A NON-ZERO NUMBER, 377000000 INTO E.
   889
   890	003173	200 00 0 00 041032 	A2400:	MOVE	[XWD 377,0]	;PRESET E TO 377000000, A NON ZERO NUMBER
   891	003174	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   892						STOP^
   893	003175	254 04 0 00 003176 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   894	003176	324 00 0 00 003177 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   895									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   896									;IN THE SUBTEST) TO LOOP ON ERROR^
   897
   898					;**********
   899
   900					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   901					;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER.  THE MOVE INSTRUCTION IS USED TO
   902					;LOAD E WITH A NON-ZERO NUMBER, 177000.
   903
   904	003177	200 00 0 00 041033 	A2500:	MOVE	[177000]	;PRESET E WITH 177000, A NON ZERO NUMBER
   905	003200	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   906						STOP^
   907	003201	254 04 0 00 003202 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   908	003202	324 00 0 00 003203 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   909									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   910									;IN THE SUBTEST) TO LOOP ON ERROR^
   911
   912					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0078

   913					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   914					;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER.  THE MOVE INSTRUCTION IS USED TO
   915					;LOAD 777, A NON-ZERO NUMBER INTO E.
   916
   917	003203	200 00 0 00 041034 	A2600:	MOVE	[777]		;PRESET E WITH 777, A NON-ZERO NUMBER
   918	003204	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   919						STOP^
   920	003205	254 04 0 00 003206 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   921	003206	324 00 0 00 003207 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   922									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   923									;IN THE SUBTEST) TO LOOP ON ERROR^
   924
   925					;**********
   926
   927					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   928					;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER.  THE MOVE INSTRUCTION IS USED TO
   929					;LOAD E WITH 600000, A NON-ZERO NUMBER.
   930
   931	003207	200 00 0 00 041035 	A2700:	MOVE	[600000]	;PRESET E WITK 600000, A NON-ZERO NUMBER
   932	003210	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   933						STOP^
   934	003211	254 04 0 00 003212 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   935	003212	324 00 0 00 003213 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   936									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   937									;IN THE SUBTEST) TO LOOP ON ERROR^
   938
   939					;**********
   940
   941					;THIS TEST VERIFIES THAT SKIPN IS DATA DEPENDENT.  HENCE, IT WILL SKIP THE NEXT
   942					;INSTRUCTION WHEN E CONTAINS A NON-ZERO NUMBER.  THE MOVE INSTRUCTION IS USED TO
   943					;LOAD E WITH 400000000, A NON-ZERO NUMBER.
   944
   945	003213	200 00 0 00 041036 	A3000:	MOVE	[XWD 400,000]	;PRESET E WITH 400000000, A NON-ZERO NUMBER
   946	003214	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   947						STOP^
   948	003215	254 04 0 00 003216 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   949	003216	324 00 0 00 003217 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   950									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   951									;IN THE SUBTEST) TO LOOP ON ERROR^
   952
   953					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0079

   954			003100		SN=3100
   955			000000			ZZ=0
   956
   957					A3100:	REPEAT	^D36,
   958					<;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
   959					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
   960					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
   961					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
   962					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
   963					
   964					SN=SN+1
   965						ZZ=ZZ+ZZ
   966						IFE	ZZ,<ZZ=1>
   967						MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
   968						SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   969						STOP
   970					
   971					;**********
   972					>
   973					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
   974					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
   975					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
   976					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
   977					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
   978
   979			003101		SN=SN+1
   980			000000			ZZ=ZZ+ZZ
   981			000001			IFE	ZZ,<ZZ=1>
   982	003217	200 00 0 00 041037 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
   983	003220	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
   984						STOP^
   985	003221	254 04 0 00 003222 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
   986	003222	324 00 0 00 003223 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
   987									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
   988									;IN THE SUBTEST) TO LOOP ON ERROR^
   989
   990					;**********
   991
   992					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
   993					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
   994					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
   995					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
   996					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
   997
   998			003102		SN=SN+1
   999			000002			ZZ=ZZ+ZZ
  1000						IFE	ZZ,<ZZ=1>
  1001	003223	200 00 0 00 041040 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1002	003224	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1003						STOP^
  1004	003225	254 04 0 00 003226 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1005	003226	324 00 0 00 003227 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1006									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1007									;IN THE SUBTEST) TO LOOP ON ERROR^
  1008
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0080

  1009					;**********
  1010
  1011					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1012					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1013					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1014					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1015					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1016
  1017			003103		SN=SN+1
  1018			000004			ZZ=ZZ+ZZ
  1019						IFE	ZZ,<ZZ=1>
  1020	003227	200 00 0 00 041041 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1021	003230	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1022						STOP^
  1023	003231	254 04 0 00 003232 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1024	003232	324 00 0 00 003233 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1025									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1026									;IN THE SUBTEST) TO LOOP ON ERROR^
  1027
  1028					;**********
  1029
  1030					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1031					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1032					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1033					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1034					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1035
  1036			003104		SN=SN+1
  1037			000010			ZZ=ZZ+ZZ
  1038						IFE	ZZ,<ZZ=1>
  1039	003233	200 00 0 00 041042 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1040	003234	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1041						STOP^
  1042	003235	254 04 0 00 003236 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1043	003236	324 00 0 00 003237 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1044									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1045									;IN THE SUBTEST) TO LOOP ON ERROR^
  1046
  1047					;**********
  1048
  1049					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1050					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1051					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1052					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1053					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1054
  1055			003105		SN=SN+1
  1056			000020			ZZ=ZZ+ZZ
  1057						IFE	ZZ,<ZZ=1>
  1058	003237	200 00 0 00 041043 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1059	003240	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1060						STOP^
  1061	003241	254 04 0 00 003242 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1062	003242	324 00 0 00 003243 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1063									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0081

  1064									;IN THE SUBTEST) TO LOOP ON ERROR^
  1065
  1066					;**********
  1067
  1068					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1069					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1070					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1071					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1072					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1073
  1074			003106		SN=SN+1
  1075			000040			ZZ=ZZ+ZZ
  1076						IFE	ZZ,<ZZ=1>
  1077	003243	200 00 0 00 041044 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1078	003244	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1079						STOP^
  1080	003245	254 04 0 00 003246 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1081	003246	324 00 0 00 003247 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1082									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1083									;IN THE SUBTEST) TO LOOP ON ERROR^
  1084
  1085					;**********
  1086
  1087					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1088					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1089					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1090					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1091					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1092
  1093			003107		SN=SN+1
  1094			000100			ZZ=ZZ+ZZ
  1095						IFE	ZZ,<ZZ=1>
  1096	003247	200 00 0 00 041045 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1097	003250	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1098						STOP^
  1099	003251	254 04 0 00 003252 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1100	003252	324 00 0 00 003253 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1101									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1102									;IN THE SUBTEST) TO LOOP ON ERROR^
  1103
  1104					;**********
  1105
  1106					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1107					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1108					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1109					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1110					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1111
  1112			003110		SN=SN+1
  1113			000200			ZZ=ZZ+ZZ
  1114						IFE	ZZ,<ZZ=1>
  1115	003253	200 00 0 00 041046 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1116	003254	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1117						STOP^
  1118	003255	254 04 0 00 003256 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0082

  1119	003256	324 00 0 00 003257 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1120									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1121									;IN THE SUBTEST) TO LOOP ON ERROR^
  1122
  1123					;**********
  1124
  1125					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1126					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1127					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1128					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1129					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1130
  1131			003111		SN=SN+1
  1132			000400			ZZ=ZZ+ZZ
  1133						IFE	ZZ,<ZZ=1>
  1134	003257	200 00 0 00 041047 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1135	003260	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1136						STOP^
  1137	003261	254 04 0 00 003262 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1138	003262	324 00 0 00 003263 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1139									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1140									;IN THE SUBTEST) TO LOOP ON ERROR^
  1141
  1142					;**********
  1143
  1144					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1145					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1146					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1147					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1148					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1149
  1150			003112		SN=SN+1
  1151			001000			ZZ=ZZ+ZZ
  1152						IFE	ZZ,<ZZ=1>
  1153	003263	200 00 0 00 041050 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1154	003264	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1155						STOP^
  1156	003265	254 04 0 00 003266 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1157	003266	324 00 0 00 003267 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1158									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1159									;IN THE SUBTEST) TO LOOP ON ERROR^
  1160
  1161					;**********
  1162
  1163					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1164					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1165					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1166					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1167					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1168
  1169			003113		SN=SN+1
  1170			002000			ZZ=ZZ+ZZ
  1171						IFE	ZZ,<ZZ=1>
  1172	003267	200 00 0 00 041051 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1173	003270	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0083

  1174						STOP^
  1175	003271	254 04 0 00 003272 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1176	003272	324 00 0 00 003273 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1177									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1178									;IN THE SUBTEST) TO LOOP ON ERROR^
  1179
  1180					;**********
  1181
  1182					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1183					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1184					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1185					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1186					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1187
  1188			003114		SN=SN+1
  1189			004000			ZZ=ZZ+ZZ
  1190						IFE	ZZ,<ZZ=1>
  1191	003273	200 00 0 00 041052 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1192	003274	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1193						STOP^
  1194	003275	254 04 0 00 003276 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1195	003276	324 00 0 00 003277 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1196									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1197									;IN THE SUBTEST) TO LOOP ON ERROR^
  1198
  1199					;**********
  1200
  1201					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1202					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1203					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1204					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1205					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1206
  1207			003115		SN=SN+1
  1208			010000			ZZ=ZZ+ZZ
  1209						IFE	ZZ,<ZZ=1>
  1210	003277	200 00 0 00 041053 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1211	003300	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1212						STOP^
  1213	003301	254 04 0 00 003302 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1214	003302	324 00 0 00 003303 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1215									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1216									;IN THE SUBTEST) TO LOOP ON ERROR^
  1217
  1218					;**********
  1219
  1220					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1221					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1222					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1223					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1224					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1225
  1226			003116		SN=SN+1
  1227			020000			ZZ=ZZ+ZZ
  1228						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0084

  1229	003303	200 00 0 00 041054 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1230	003304	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1231						STOP^
  1232	003305	254 04 0 00 003306 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1233	003306	324 00 0 00 003307 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1234									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1235									;IN THE SUBTEST) TO LOOP ON ERROR^
  1236
  1237					;**********
  1238
  1239					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1240					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1241					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1242					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1243					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1244
  1245			003117		SN=SN+1
  1246			040000			ZZ=ZZ+ZZ
  1247						IFE	ZZ,<ZZ=1>
  1248	003307	200 00 0 00 041055 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1249	003310	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1250						STOP^
  1251	003311	254 04 0 00 003312 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1252	003312	324 00 0 00 003313 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1253									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1254									;IN THE SUBTEST) TO LOOP ON ERROR^
  1255
  1256					;**********
  1257
  1258					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1259					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1260					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1261					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1262					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1263
  1264			003120		SN=SN+1
  1265			100000			ZZ=ZZ+ZZ
  1266						IFE	ZZ,<ZZ=1>
  1267	003313	200 00 0 00 041056 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1268	003314	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1269						STOP^
  1270	003315	254 04 0 00 003316 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1271	003316	324 00 0 00 003317 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1272									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1273									;IN THE SUBTEST) TO LOOP ON ERROR^
  1274
  1275					;**********
  1276
  1277					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1278					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1279					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1280					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1281					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1282
  1283			003121		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0085

  1284			200000			ZZ=ZZ+ZZ
  1285						IFE	ZZ,<ZZ=1>
  1286	003317	200 00 0 00 041057 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1287	003320	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1288						STOP^
  1289	003321	254 04 0 00 003322 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1290	003322	324 00 0 00 003323 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1291									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1292									;IN THE SUBTEST) TO LOOP ON ERROR^
  1293
  1294					;**********
  1295
  1296					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1297					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1298					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1299					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1300					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1301
  1302			003122		SN=SN+1
  1303			400000			ZZ=ZZ+ZZ
  1304						IFE	ZZ,<ZZ=1>
  1305	003323	200 00 0 00 041060 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1306	003324	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1307						STOP^
  1308	003325	254 04 0 00 003326 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1309	003326	324 00 0 00 003327 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1310									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1311									;IN THE SUBTEST) TO LOOP ON ERROR^
  1312
  1313					;**********
  1314
  1315					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1316					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1317					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1318					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1319					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1320
  1321			003123		SN=SN+1
  1322		000001	000000			ZZ=ZZ+ZZ
  1323						IFE	ZZ,<ZZ=1>
  1324	003327	200 00 0 00 041061 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1325	003330	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1326						STOP^
  1327	003331	254 04 0 00 003332 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1328	003332	324 00 0 00 003333 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1329									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1330									;IN THE SUBTEST) TO LOOP ON ERROR^
  1331
  1332					;**********
  1333
  1334					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1335					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1336					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1337					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1338					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0086

  1339
  1340			003124		SN=SN+1
  1341		000002	000000			ZZ=ZZ+ZZ
  1342						IFE	ZZ,<ZZ=1>
  1343	003333	200 00 0 00 041062 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1344	003334	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1345						STOP^
  1346	003335	254 04 0 00 003336 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1347	003336	324 00 0 00 003337 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1348									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1349									;IN THE SUBTEST) TO LOOP ON ERROR^
  1350
  1351					;**********
  1352
  1353					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1354					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1355					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1356					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1357					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1358
  1359			003125		SN=SN+1
  1360		000004	000000			ZZ=ZZ+ZZ
  1361						IFE	ZZ,<ZZ=1>
  1362	003337	200 00 0 00 041063 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1363	003340	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1364						STOP^
  1365	003341	254 04 0 00 003342 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1366	003342	324 00 0 00 003343 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1367									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1368									;IN THE SUBTEST) TO LOOP ON ERROR^
  1369
  1370					;**********
  1371
  1372					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1373					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1374					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1375					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1376					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1377
  1378			003126		SN=SN+1
  1379		000010	000000			ZZ=ZZ+ZZ
  1380						IFE	ZZ,<ZZ=1>
  1381	003343	200 00 0 00 041064 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1382	003344	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1383						STOP^
  1384	003345	254 04 0 00 003346 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1385	003346	324 00 0 00 003347 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1386									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1387									;IN THE SUBTEST) TO LOOP ON ERROR^
  1388
  1389					;**********
  1390
  1391					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1392					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1393					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0087

  1394					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1395					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1396
  1397			003127		SN=SN+1
  1398		000020	000000			ZZ=ZZ+ZZ
  1399						IFE	ZZ,<ZZ=1>
  1400	003347	200 00 0 00 041065 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1401	003350	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1402						STOP^
  1403	003351	254 04 0 00 003352 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1404	003352	324 00 0 00 003353 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1405									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1406									;IN THE SUBTEST) TO LOOP ON ERROR^
  1407
  1408					;**********
  1409
  1410					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1411					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1412					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1413					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1414					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1415
  1416			003130		SN=SN+1
  1417		000040	000000			ZZ=ZZ+ZZ
  1418						IFE	ZZ,<ZZ=1>
  1419	003353	200 00 0 00 041066 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1420	003354	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1421						STOP^
  1422	003355	254 04 0 00 003356 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1423	003356	324 00 0 00 003357 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1424									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1425									;IN THE SUBTEST) TO LOOP ON ERROR^
  1426
  1427					;**********
  1428
  1429					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1430					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1431					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1432					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1433					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1434
  1435			003131		SN=SN+1
  1436		000100	000000			ZZ=ZZ+ZZ
  1437						IFE	ZZ,<ZZ=1>
  1438	003357	200 00 0 00 041067 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1439	003360	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1440						STOP^
  1441	003361	254 04 0 00 003362 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1442	003362	324 00 0 00 003363 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1443									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1444									;IN THE SUBTEST) TO LOOP ON ERROR^
  1445
  1446					;**********
  1447
  1448					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0088

  1449					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1450					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1451					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1452					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1453
  1454			003132		SN=SN+1
  1455		000200	000000			ZZ=ZZ+ZZ
  1456						IFE	ZZ,<ZZ=1>
  1457	003363	200 00 0 00 041070 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1458	003364	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1459						STOP^
  1460	003365	254 04 0 00 003366 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1461	003366	324 00 0 00 003367 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1462									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1463									;IN THE SUBTEST) TO LOOP ON ERROR^
  1464
  1465					;**********
  1466
  1467					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1468					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1469					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1470					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1471					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1472
  1473			003133		SN=SN+1
  1474		000400	000000			ZZ=ZZ+ZZ
  1475						IFE	ZZ,<ZZ=1>
  1476	003367	200 00 0 00 041036 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1477	003370	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1478						STOP^
  1479	003371	254 04 0 00 003372 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1480	003372	324 00 0 00 003373 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1481									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1482									;IN THE SUBTEST) TO LOOP ON ERROR^
  1483
  1484					;**********
  1485
  1486					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1487					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1488					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1489					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1490					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1491
  1492			003134		SN=SN+1
  1493		001000	000000			ZZ=ZZ+ZZ
  1494						IFE	ZZ,<ZZ=1>
  1495	003373	200 00 0 00 041071 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1496	003374	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1497						STOP^
  1498	003375	254 04 0 00 003376 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1499	003376	324 00 0 00 003377 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1500									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1501									;IN THE SUBTEST) TO LOOP ON ERROR^
  1502
  1503					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0089

  1504
  1505					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1506					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1507					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1508					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1509					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1510
  1511			003135		SN=SN+1
  1512		002000	000000			ZZ=ZZ+ZZ
  1513						IFE	ZZ,<ZZ=1>
  1514	003377	200 00 0 00 041072 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1515	003400	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1516						STOP^
  1517	003401	254 04 0 00 003402 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1518	003402	324 00 0 00 003403 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1519									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1520									;IN THE SUBTEST) TO LOOP ON ERROR^
  1521
  1522					;**********
  1523
  1524					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1525					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1526					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1527					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1528					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1529
  1530			003136		SN=SN+1
  1531		004000	000000			ZZ=ZZ+ZZ
  1532						IFE	ZZ,<ZZ=1>
  1533	003403	200 00 0 00 041073 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1534	003404	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1535						STOP^
  1536	003405	254 04 0 00 003406 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1537	003406	324 00 0 00 003407 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1538									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1539									;IN THE SUBTEST) TO LOOP ON ERROR^
  1540
  1541					;**********
  1542
  1543					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1544					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1545					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1546					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1547					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1548
  1549			003137		SN=SN+1
  1550		010000	000000			ZZ=ZZ+ZZ
  1551						IFE	ZZ,<ZZ=1>
  1552	003407	200 00 0 00 041074 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1553	003410	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1554						STOP^
  1555	003411	254 04 0 00 003412 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1556	003412	324 00 0 00 003413 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1557									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1558									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0090

  1559
  1560					;**********
  1561
  1562					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1563					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1564					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1565					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1566					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1567
  1568			003140		SN=SN+1
  1569		020000	000000			ZZ=ZZ+ZZ
  1570						IFE	ZZ,<ZZ=1>
  1571	003413	200 00 0 00 041075 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1572	003414	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1573						STOP^
  1574	003415	254 04 0 00 003416 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1575	003416	324 00 0 00 003417 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1576									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1577									;IN THE SUBTEST) TO LOOP ON ERROR^
  1578
  1579					;**********
  1580
  1581					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1582					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1583					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1584					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1585					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1586
  1587			003141		SN=SN+1
  1588		040000	000000			ZZ=ZZ+ZZ
  1589						IFE	ZZ,<ZZ=1>
  1590	003417	200 00 0 00 041076 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1591	003420	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1592						STOP^
  1593	003421	254 04 0 00 003422 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1594	003422	324 00 0 00 003423 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1595									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1596									;IN THE SUBTEST) TO LOOP ON ERROR^
  1597
  1598					;**********
  1599
  1600					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1601					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1602					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1603					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1604					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1605
  1606			003142		SN=SN+1
  1607		100000	000000			ZZ=ZZ+ZZ
  1608						IFE	ZZ,<ZZ=1>
  1609	003423	200 00 0 00 041077 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1610	003424	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1611						STOP^
  1612	003425	254 04 0 00 003426 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1613	003426	324 00 0 00 003427 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF JUMP, JUMPA AND SKIPX INSTRUCTIONS                                         SEQ 0091

  1614									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1615									;IN THE SUBTEST) TO LOOP ON ERROR^
  1616
  1617					;**********
  1618
  1619					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1620					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1621					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1622					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1623					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1624
  1625			003143		SN=SN+1
  1626		200000	000000			ZZ=ZZ+ZZ
  1627						IFE	ZZ,<ZZ=1>
  1628	003427	200 00 0 00 041100 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1629	003430	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1630						STOP^
  1631	003431	254 04 0 00 003432 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1632	003432	324 00 0 00 003433 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1633									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1634									;IN THE SUBTEST) TO LOOP ON ERROR^
  1635
  1636					;**********
  1637
  1638					;THIS TEST VERIFIES THAT SKIPN IS SENSITIVE TO A ONE IN EVERY BIT POSITION.  THIS TEST
  1639					;IS REPEATED 36 TIMES.  EACH TIME A WORD OF ALL ZEROS EXCEPT FOR A ONE IN ONE
  1640					;BIT POSITION IS MOVED INTO E.  THEN SKIPN IS EXECUTED.  THIS TEST ALSO
  1641					;CHECKS ADDER GATING.  IF THIS TEST FAILS, CHECK C(E).
  1642					;IF C(E)=0, MOVE FAILED; OTHERWISE SKIPN FAILED.
  1643
  1644			003144		SN=SN+1
  1645		400000	000000			ZZ=ZZ+ZZ
  1646						IFE	ZZ,<ZZ=1>
  1647	003433	200 00 0 00 041030 		MOVE	[ZZ]		;MOVE THE CURRENT VALUE OF ZZ INTO E. ZZ IS NON-ZERO
  1648	003434	336 00 0 00 000000 		SKIPN			;*SKIPN SHOULD SKIP THE NEXT INSTRUCTION
  1649						STOP^
  1650	003435	254 04 0 00 003436 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1651	003436	324 00 0 00 003437 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1652									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1653									;IN THE SUBTEST) TO LOOP ON ERROR^
  1654
  1655					;**********
  1656
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 15
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0092

  1657					SUBTTL	TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS
  1658
  1659					;THIS TEST VERIFIES THAT MOVEI LOADS E INTO THE AC.  SKIPG IS USED TO CHECK THAT
  1660					;THE AC WAS INDEED MODIFIED BY MOVEI.
  1661
  1662	003437	201 00 0 00 041026 	A3200:	MOVEI	[-1]		;*MOVEI SHOULD LOAD A POSITIVE NUMBER INTO AC0
  1663	003440	337 00 0 00 000000 		SKIPG			;SKIP HALT INSTRUCTION IF MOVEI LOADED AC CORRECTLY
  1664						STOP^
  1665	003441	254 04 0 00 003442 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1666	003442	324 00 0 00 003443 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1667									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1668									;IN THE SUBTEST) TO LOOP ON ERROR^
  1669
  1670					;IF PROGRAM HANGS UP ON MOVEI INSTRUCTION, CHECK AD FM +EN [ADFP], AD FM + EN A [ADFP],
  1671					;AD FM + F/F [ADFP], F CYC ACT EN C [F1]
  1672
  1673					;**********
  1674
  1675					;THIS TEST VERIFIES THAT SKIPL IS SENSITIVE TO THE DATA IN E AND NOT SENSITIVE TO
  1676					;THE DATA IN THE AC.  HENCE, SKIPL WILL SKIP THE NEXT INSTRUCTION ONLY IF
  1677					;C(E) IS LESS THAN ZERO.  E IS SET TO -1, A NEGATIVE NUMBER; AND
  1678					;THE AC IS SET TO 0 IN THIS TEST.  THEREFORE SKIPL SHOULD SKIP.
  1679
  1680	003443	200 00 0 00 041025 	A3300:	MOVE	[0]		;SET THE AC TO ALL ZEROS
  1681	003444	331 00 0 00 041026 		SKIPL	[-1]		;*SKIPL SHOULD SKIP BECAUSE C(E) IS NEGATIVE
  1682						STOP^
  1683	003445	254 04 0 00 003446 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1684	003446	324 00 0 00 003447 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1685									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1686									;IN THE SUBTEST) TO LOOP ON ERROR^
  1687
  1688					;**********
  1689
  1690					;THIS TEST VERIFIES THAT SKIPL IS SENSITIVE TO THE SIGN BIT IN E.  SKIPL SHOULD
  1691					;SKIP THE NEXT INSTRUCTION WHEN AND ONLY WHEN THE SIGN BIT IS SET.  IN THIS
  1692					;TEST, C(AC) IS PRESET TO ALL ZEROS, THEN SKIPL IS EXECUTED WITH C(E)=400000,,0.
  1693					;A FAILURE UCCURS IF SKIPL DOES NOT SKIP.
  1694
  1695	003447	200 00 0 00 041025 	A13100:	MOVE	[0]		;SET THE AC TO ALL ZEROS
  1696	003450	331 00 0 00 041030 		SKIPL	[400000,,0]	;*SKIPL SHOULD SKIP BECAUSE C(E) IS NEGATIVE
  1697						STOP^
  1698	003451	254 04 0 00 003452 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1699	003452	324 00 0 00 003453 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1700									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1701									;IN THE SUBTEST) TO LOOP ON ERROR^
  1702
  1703					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 16
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0093

  1704					;THIS TEST VERIFIES THAT THE CAM INSTRUCTION DOES NOT MODIFY C(AC).  THE AC IS
  1705					;INITIALLY LOADED WITH ALL ZEROS; THEN CAM IS EXECUTED WITH C(E) NON-ZERO.
  1706					;THE AC IS THEN CHECKED FOR ALL ZEROS.  THIS TEST FAILS IF THE AC WAS MODIFIED BY CAM.
  1707
  1708	003453	200 00 0 00 041025 	A3400:	MOVE	[0]		;PRESET THE AC TO ALL ZEROS
  1709	003454	310 00 0 00 041101 		CAM	[1234]		;*CAM SHOULD NOT MODIFY THE AC
  1710	003455	200 00 0 00 000000 		MOVE			;MOVE C(0) INTO 0 (THIS INSTRUCTION SERVES AS A NO-OP.
  1711									;IT IS A PROGRAM FILLER IN CASE CAM SKIPS.)
  1712	003456	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF AC WAS NOT MODIFIED BY CAM
  1713						STOP^
  1714	003457	254 04 0 00 003460 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1715	003460	324 00 0 00 003461 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1716									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1717									;IN THE SUBTEST) TO LOOP ON ERROR^
  1718
  1719					;IF TEST HANGS ON CAM INSTRUCTION, AB PC EN [ABC], AB PC (FETCH) EN [ABC],
  1720					;IR CAXX [IR3]
  1721
  1722					;IF TEST LOOPS ON CAM INSTRUCTION, MC INSTR FETCH EN [MC1], MC INST FET ET2 EN [MC1],
  1723					;ET2 J F/F [E], IR CAXX [IR3]
  1724
  1725					;IF TEST HALTS AT HALT INSTRUCTION, SAC INH [ST2], IR CAXX [IR3], IR CAMX [IR1]
  1726
  1727					;**********
  1728
  1729					;THIS TEST VERIFIES THAT THE CAI INSTRUCTION DOES NOT MODIFY C(AC).  THE AC IS
  1730					;INITIALLY LOADED WITH ALL ZEROS; THEN CAI IS EXECUTED WITH E NON-ZERO.  THE AC IS
  1731					;THEN CHECKED FOR ALL ZEROS.  THIS TEST FAILS IF THE AC WAS MODIFIED BY CAM.
  1732
  1733	003461	200 00 0 00 041025 	A3500:	MOVE	[0]		;PRESET THE AC TO ALL ZEROS
  1734	003462	300 00 0 00 041101 		CAI	[1234]		;*CAI SHOULD NOT MODIFY THE AC
  1735	003463	200 00 0 00 000000 		MOVE			;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A PROGRAM FILLER
  1736									;IN CASE CAI MODIFIES THE AC.  IT SERVES AS A NO-OP)
  1737	003464	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF CAI DID NOT MODIFY THE AC
  1738						STOP^
  1739	003465	254 04 0 00 003466 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1740	003466	324 00 0 00 003467 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1741									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1742									;IN THE SUBTEST) TO LOOP ON ERROR^
  1743
  1744					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 17
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0094

  1745					;THIS TEST VERIFIES THAT CAI DOES NOT MODIFY C(AC0) WHEN AN AC OTHER THAN AC0 IS
  1746					;SPECIFIED BY THE CAI INSTRUCTION.
  1747					;THIS IS THE FIRST TEST THAT USES AN AC OTHER THAN AC0.
  1748					;FIRST, AC0 IS LOADED WITH ALL ZEROS; THEN, THE CAI INSTRUCTION IS EXECUTED WITH
  1749					;A NON-ZERO E.  AC 0 IS THEN TESTED F0R ALL ZEROS.
  1750
  1751	003467	200 00 0 00 041025 	A3600:	MOVE	[0]		;LOAD AC0 WITH ALL ZEROS
  1752	003470	300 17 0 00 041101 		CAI	17,[1234]	;*CAI SHOULD NOT MODIFY AC0
  1753	003471	200 00 0 00 000000 		MOVE			;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A FILLER IN CASE
  1754									;CAI SKIPS THE NEXT INSTRUCTION.  IT ACTS AS A NO-OP)
  1755	003472	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF C(AC0) WAS NOT MODIFIED
  1756						STOP^
  1757	003473	254 04 0 00 003474 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1758	003474	324 00 0 00 003475 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1759									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1760									;IN THE SUBTEST) TO LOOP ON ERROR^
  1761
  1762					;**********
  1763
  1764					;THIS TEST VERIFIES THAT CAM DOES NOT MODIFY C(AC0) WHEN AN AC OTHER THAN AC0 IS
  1765					;SPECIFIED BY THE CAM INSTRUCTION.
  1766					;FIRST, AC0 IS LOADED WITH ALL ZEROS; THEN, THE CAM INSTRUCTION IS EXECUTED WITH
  1767					;A NON-ZERO E.  AC 0 IS THEN TESTED F0R ALL ZEROS.
  1768
  1769	003475	200 00 0 00 041025 	A3700:	MOVE	[0]		;PRESET C(AC0) TO ALL ZEROS
  1770	003476	310 17 0 00 041101 		CAM	17,[1234]	;*CAM SHOULD NOT MODIFY AC0
  1771	003477	200 00 0 00 000000 		MOVE			;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A FILLER IN CASE
  1772									;CAM SKIPS THE NEXT INSTRUCTION.  IT SERVES AS A NO-OP)
  1773	003500	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF AC0 WAS NOT MODIFIED BY CAM
  1774						STOP^
  1775	003501	254 04 0 00 003502 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1776	003502	324 00 0 00 003503 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1777									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1778									;IN THE SUBTEST) TO LOOP ON ERROR^
  1779
  1780					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 18
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0095

  1781					;THIS TEST VERIFIES THAT MOVE WILL PLACE C(E) INTO THE AC.  AC, E AND C(E) ARE NON-ZERO
  1782					;IN THIS TEST.  THIS TEST PASSES IF  FINAL C(AC) OF THE MOVE INSTRUCTION IS NON-ZERO.
  1783
  1784	003503	200 01 0 00 041025 	A4500:	MOVE	1,[0]		;LOAD THE AC WITH ALL ZEROS
  1785	003504	200 01 0 00 041026 		MOVE	1,[-1]		;*MOVE SHOULD PLACE ALL ONES IN THE AC
  1786	003505	336 00 0 00 000001 		SKIPN	1		;SKIP HALT INSTRUCTION IF MOVE MODIFIED THE AC
  1787						STOP^
  1788	003506	254 04 0 00 003507 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1789	003507	324 00 0 00 003510 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1790									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1791									;IN THE SUBTEST) TO LOOP ON ERROR^
  1792
  1793					;**********
  1794
  1795					;THIS TEST VERIFIES THAT THE MOVE INSTRUCTION WILL PLACE C(E) INTO THE AC.
  1796					;AC, E ARE NON-ZERO AND C(E)=0.
  1797					;THIS TEST FAILS IF THE FINAL C(AC) IS NOT EQUAL TO ZERO, THE ORIGINAL C(E)
  1798
  1799	003510	200 01 0 00 041025 	A4600:	MOVE	1,[0]		;*PLACE ALL ZEROS INTO THE AC
  1800	003511	332 00 0 00 000001 		SKIPE	1		;SKIP HALT INSTRUCTION IF MOVE PLACED ALL ZEROS INTO AC
  1801						STOP^
  1802	003512	254 04 0 00 003513 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1803	003513	324 00 0 00 003514 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1804									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1805									;IN THE SUBTEST) TO LOOP ON ERROR^
  1806
  1807					;IF JUMP .+1 OF PREVIOUS TEST FAILED, CHECK JUMPS: AD FM + EN [ADFP], IR JUMPS [IR1],
  1808					;IR JUMPX [IR1], AR AD EN [ARMA], AR AD EN A [ARMA], AR LT AD EN A [ARMA],
  1809					;AR LT ADD EN B [ARMA], AR RT AD EN A [ARMA],
  1810					;AR RT AD EN B [ARMA], AR A CLK INPUT [ARMA],
  1811					;ET2 C F/F [E], AR AD ET2 EN [ARMA], AR AD BR (ET2) B [ARMA]
  1812
  1813					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 19
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0096

  1814					;THIS TEST VERIFIES THAT SOS DOES NOT MODIFY C(AC) WHEN THE AC IS AC0.
  1815					;FIRST, AC0 IS LOADED WITH ALL ZEROS AND E IS LOADED WITH A POSITIVE NUMBER;
  1816					;THEN, SOS IS EXECUTED.  SOS SHOULD SUBTRACT ONE FROM C((E)
  1817					;AND EXECUTE THE NEXT INSTRUCTION.  IT SHOULD NOT MODIFY AC0.
  1818					;THE TEST PASSES IF AC0 WAS NOT MODIFIED.
  1819
  1820	003514	200 00 0 00 041025 	A4000:	MOVE	[0]		;PRESET AC0 TO ALL ZEROS
  1821	003515	200 07 0 00 041101 		MOVE	7,[1234]	;PRESET E WITH A POSITIVE NUMBER
  1822	003516	370 00 0 00 000007 		SOS	7		;*SOS SHOULD NOT MODIFY C(AC0)
  1823	003517	200 00 0 00 000000 		MOVE			;MOVE C(0) INTO 0 (THIS INSTRUCTION IS A FILLER IN CASE
  1824									;SOS SKIPS THE NEXT INSTRUCTION.  IT SERVES AS A NO-OP)
  1825	003520	332 00 0 00 000000 		SKIPE			;SKIP THE HALT INSTRUCTION IF C(AC0) WAS NOT MODIFIED
  1826						STOP^
  1827	003521	254 04 0 00 003522 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1828	003522	324 00 0 00 003523 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1829									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1830									;IN THE SUBTEST) TO LOOP ON ERROR^
  1831
  1832					;**********
  1833			004100		SN=4100
  1834			000000			AC=0
  1835
  1836					A4100:	REPEAT	4,		
  1837					<;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
  1838					;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
  1839					;FIRST, THE AC IS LOADED WITH ALL ZEROS;  THEN, THE SKIP INSTRUCTION IS EXECUTED
  1840					;WITH AC1, AC2, AC4 OR AC10.  C(E) IS EQUAL TO -1.  THE SKIP INSTRUCTION SHOULD CAUSE
  1841					;THE AC TO CONTAIN -1.  THE AC IS THEN CHECKED FOR
  1842					;NON-ZERO CONTENTS.  THE TEST FAILS IF C(AC)=0.
  1843					;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
  1844					
  1845					SN=SN+1
  1846						AC=AC+AC
  1847						IFE	AC,<AC=1>
  1848						MOVE	0,[0]		;PRESET AC0 TO ALL ZEROS
  1849						MOVE	AC,[0]		;PRESET THE AC TO ALL ZEROS
  1850						SKIP	AC,[-1]		;*SKIP SHOULD PLACE -1 INTO THE AC
  1851						SKIPN	AC		;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
  1852						STOP
  1853						SKIPE	0		;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
  1854						STOP
  1855					
  1856					;**********
  1857					>
  1858					;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
  1859					;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
  1860					;FIRST, THE AC IS LOADED WITH ALL ZEROS;  THEN, THE SKIP INSTRUCTION IS EXECUTED
  1861					;WITH AC1, AC2, AC4 OR AC10.  C(E) IS EQUAL TO -1.  THE SKIP INSTRUCTION SHOULD CAUSE
  1862					;THE AC TO CONTAIN -1.  THE AC IS THEN CHECKED FOR
  1863					;NON-ZERO CONTENTS.  THE TEST FAILS IF C(AC)=0.
  1864					;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
  1865
  1866			004101		SN=SN+1
  1867			000000			AC=AC+AC
  1868			000001			IFE	AC,<AC=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 19-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0097

  1869	003523	200 00 0 00 041025 		MOVE	0,[0]		;PRESET AC0 TO ALL ZEROS
  1870	003524	200 01 0 00 041025 		MOVE	AC,[0]		;PRESET THE AC TO ALL ZEROS
  1871	003525	330 01 0 00 041026 		SKIP	AC,[-1]		;*SKIP SHOULD PLACE -1 INTO THE AC
  1872	003526	336 00 0 00 000001 		SKIPN	AC		;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
  1873						STOP^
  1874	003527	254 04 0 00 003530 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1875	003530	324 00 0 00 003531 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1876									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1877									;IN THE SUBTEST) TO LOOP ON ERROR^
  1878	003531	332 00 0 00 000000 		SKIPE	0		;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
  1879						STOP^
  1880	003532	254 04 0 00 003533 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1881	003533	324 00 0 00 003534 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1882									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1883									;IN THE SUBTEST) TO LOOP ON ERROR^
  1884
  1885					;**********
  1886
  1887					;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
  1888					;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
  1889					;FIRST, THE AC IS LOADED WITH ALL ZEROS;  THEN, THE SKIP INSTRUCTION IS EXECUTED
  1890					;WITH AC1, AC2, AC4 OR AC10.  C(E) IS EQUAL TO -1.  THE SKIP INSTRUCTION SHOULD CAUSE
  1891					;THE AC TO CONTAIN -1.  THE AC IS THEN CHECKED FOR
  1892					;NON-ZERO CONTENTS.  THE TEST FAILS IF C(AC)=0.
  1893					;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
  1894
  1895			004102		SN=SN+1
  1896			000002			AC=AC+AC
  1897						IFE	AC,<AC=1>
  1898	003534	200 00 0 00 041025 		MOVE	0,[0]		;PRESET AC0 TO ALL ZEROS
  1899	003535	200 02 0 00 041025 		MOVE	AC,[0]		;PRESET THE AC TO ALL ZEROS
  1900	003536	330 02 0 00 041026 		SKIP	AC,[-1]		;*SKIP SHOULD PLACE -1 INTO THE AC
  1901	003537	336 00 0 00 000002 		SKIPN	AC		;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
  1902						STOP^
  1903	003540	254 04 0 00 003541 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1904	003541	324 00 0 00 003542 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1905									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1906									;IN THE SUBTEST) TO LOOP ON ERROR^
  1907	003542	332 00 0 00 000000 		SKIPE	0		;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
  1908						STOP^
  1909	003543	254 04 0 00 003544 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1910	003544	324 00 0 00 003545 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1911									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1912									;IN THE SUBTEST) TO LOOP ON ERROR^
  1913
  1914					;**********
  1915
  1916					;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
  1917					;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
  1918					;FIRST, THE AC IS LOADED WITH ALL ZEROS;  THEN, THE SKIP INSTRUCTION IS EXECUTED
  1919					;WITH AC1, AC2, AC4 OR AC10.  C(E) IS EQUAL TO -1.  THE SKIP INSTRUCTION SHOULD CAUSE
  1920					;THE AC TO CONTAIN -1.  THE AC IS THEN CHECKED FOR
  1921					;NON-ZERO CONTENTS.  THE TEST FAILS IF C(AC)=0.
  1922					;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
  1923
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 19-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF MOVE, SKIP AND COMPARE INSTRUCTIONS                                        SEQ 0098

  1924			004103		SN=SN+1
  1925			000004			AC=AC+AC
  1926						IFE	AC,<AC=1>
  1927	003545	200 00 0 00 041025 		MOVE	0,[0]		;PRESET AC0 TO ALL ZEROS
  1928	003546	200 04 0 00 041025 		MOVE	AC,[0]		;PRESET THE AC TO ALL ZEROS
  1929	003547	330 04 0 00 041026 		SKIP	AC,[-1]		;*SKIP SHOULD PLACE -1 INTO THE AC
  1930	003550	336 00 0 00 000004 		SKIPN	AC		;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
  1931						STOP^
  1932	003551	254 04 0 00 003552 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1933	003552	324 00 0 00 003553 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1934									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1935									;IN THE SUBTEST) TO LOOP ON ERROR^
  1936	003553	332 00 0 00 000000 		SKIPE	0		;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
  1937						STOP^
  1938	003554	254 04 0 00 003555 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1939	003555	324 00 0 00 003556 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1940									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1941									;IN THE SUBTEST) TO LOOP ON ERROR^
  1942
  1943					;**********
  1944
  1945					;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL PLACE THE CONTENTS OF E INTO THE AC
  1946					;WHEN THE AC IS NOT AC0. THIS TEST IS PERFORMED FOR AC1, AC2, AC4 AND AC10.
  1947					;FIRST, THE AC IS LOADED WITH ALL ZEROS;  THEN, THE SKIP INSTRUCTION IS EXECUTED
  1948					;WITH AC1, AC2, AC4 OR AC10.  C(E) IS EQUAL TO -1.  THE SKIP INSTRUCTION SHOULD CAUSE
  1949					;THE AC TO CONTAIN -1.  THE AC IS THEN CHECKED FOR
  1950					;NON-ZERO CONTENTS.  THE TEST FAILS IF C(AC)=0.
  1951					;THIS TEST ALSO VERIFIES THAT 'SKIP AC,[-1]' DOES NOT CLOBBER AC0.
  1952
  1953			004104		SN=SN+1
  1954			000010			AC=AC+AC
  1955						IFE	AC,<AC=1>
  1956	003556	200 00 0 00 041025 		MOVE	0,[0]		;PRESET AC0 TO ALL ZEROS
  1957	003557	200 10 0 00 041025 		MOVE	AC,[0]		;PRESET THE AC TO ALL ZEROS
  1958	003560	330 10 0 00 041026 		SKIP	AC,[-1]		;*SKIP SHOULD PLACE -1 INTO THE AC
  1959	003561	336 00 0 00 000010 		SKIPN	AC		;SKIP THE HALT INSTRUCTION IF THE AC IS NON-ZERO
  1960						STOP^
  1961	003562	254 04 0 00 003563 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1962	003563	324 00 0 00 003564 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1963									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1964									;IN THE SUBTEST) TO LOOP ON ERROR^
  1965	003564	332 00 0 00 000000 		SKIPE	0		;VERIFY THAT AC0 DID NOT GET CLOBBERED BY SKIP
  1966						STOP^
  1967	003565	254 04 0 00 003566 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1968	003566	324 00 0 00 003567 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1969									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1970									;IN THE SUBTEST) TO LOOP ON ERROR^
  1971
  1972					;**********
  1973
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 20
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0099

  1974					SUBTTL	TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS
  1975
  1976					;THIS TEST VERIFIES THAT THE SKIP INSTRUCTION WILL NOT MODIFY THE CONTENTS OF AC0.
  1977					;FIRST, AC0 IS LOADED WITH ALL ZEROS;  THEN,
  1978					;THE SKIP INSTRUCTION IS EXECUTED WITH C(E)=-1 AND AC0.  AC0 IS THEN TESTED FOR ALL
  1979					;ZEROS.  THE TEST FAILS IF AC0 WAS MODIFIED BY THE SKIP INSTRUCTION.
  1980
  1981	003567	200 00 0 00 041025 	A4200:	MOVE	[0]		;PRESET AC0 TO ALL ZEROS
  1982	003570	330 00 0 00 041026 		SKIP	[-1]		;*SKIP SHOULD NOT MODIFY AC0
  1983	003571	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF AC0 WAS NOT MODIFIED BY SKIP
  1984						STOP^
  1985	003572	254 04 0 00 003573 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  1986	003573	324 00 0 00 003574 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  1987									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  1988									;IN THE SUBTEST) TO LOOP ON ERROR^
  1989
  1990					;AC=0: SAC INH, IR BIT 9, 10, 11 OR 12 S-A-1
  1991
  1992					;**********
  1993
  1994					;THIS TEST VERIFIES THAT MOVSS DOES NOT MODIFY C(AC0) WHEN AC0 IS SPECIFIED AS THE AC.
  1995					;FIRST, E IS LOADED WITH ALL ONES AND THE AC (AC0)
  1996					;IS LOADED WITH ALL ZEROS; THEN, MOVSS IS EXECUTED.  MOVSS SHOULD NOT MODIFY AC0.
  1997					;AC0 IS THEN CHECKED TO INSURE THAT IT WAS NOT MODIFIED BY MOVSS.
  1998
  1999	003574	200 07 0 00 041026 	A4300:	MOVE	7,[-1]		;LOAD E OF THE MOVSS INSTRUCTION WITH ALL ONES
  2000	003575	200 00 0 00 041025 		MOVE	[0]		;PRESET AC0 TO ALL ZEROS
  2001	003576	207 00 0 00 000007 		MOVSS	7		;*MOVSS SHOULD NOT MODIFY AC0
  2002	003577	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF AC0 WAS INTACT
  2003						STOP^
  2004	003600	254 04 0 00 003601 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2005	003601	324 00 0 00 003602 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2006									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2007									;IN THE SUBTEST) TO LOOP ON ERROR^
  2008
  2009					;MOVX & AC=0: SAC INH [ST2], IR XXXS [IR1]
  2010
  2011					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 21
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0100

  2012					;THIS TEST VERIFIES THAT HRRS DOES NOT MODIFY C(AC0) WHEN AC0 IS THE SPECIFIED AC.
  2013					;FIRST, E IS LOADED WITH ALL ONES AND AC0 IS LOADED WITH ALL ZEROS;
  2014					;THEN, HRRS IS EXECUTED WITH AC=AC0.  AC0 IS THEN CHECKED FOR ALL ZEROS.
  2015					;IF AC0 WAS MODIFIED BY THE HRRS INSTRUCTION, THE TEST FAIL.
  2016
  2017	003602	200 07 0 00 041026 	A4400:	MOVE	7,[-1]		;PRESET E OF THE HRRS INSTRUCTION TO ALL ONES
  2018	003603	200 00 0 00 041025 		MOVE	[0]		;PRESET AC0 TO ALL ZEROS
  2019	003604	543 00 0 00 000007 		HRRS	7		;*HRRS SHOULD NOT MODIFY THE AC WHEN THE AC IS AC0
  2020	003605	332 00 0 00 000000 		SKIPE			;SKIP THE HALT INSTRUCTION IF AC0 WAS INTACT
  2021						STOP^
  2022	003606	254 04 0 00 003607 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2023	003607	324 00 0 00 003610 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2024									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2025									;IN THE SUBTEST) TO LOOP ON ERROR^
  2026
  2027					;(HXXXS&AC=0): SAC INH [ST2], IR HWTFWT [IR3], IR XXXS [IR1], IR HWT [IR1],
  2028					;IR BITS S-A-1
  2029
  2030					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0101

  2031					;THIS TEST VERIFIES THAT THE JUMP INSTRUCTION DOES NOT MODIFY C(AC).
  2032					;THE AC IS FIRST LOADED WITH ALL ZEROS;
  2033					;THEN JUMP .+1 IS EXECUTED.  THE AC IS THEN CHECKED TO INSURE THAT IT WAS NOT MODIFIED
  2034					;BY JUMP.  THE TEST FAILS IF THE AC WAS MODIFIED
  2035
  2036	003610	200 00 0 00 041025 	A4700:	MOVE	[0]		; PRESET THE AC TO ALL ZEROS
  2037	003611	320 00 0 00 003612 		JUMP	.+1		;*JUMP SHOULD NOT MODIFY THE AC
  2038	003612	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF AC WAS INTACT
  2039						STOP^
  2040	003613	254 04 0 00 003614 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2041	003614	324 00 0 00 003615 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2042									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2043									;IN THE SUBTEST) TO LOOP ON ERROR^
  2044
  2045					;**********
  2046
  2047					;THIS TEST VERIFIES THAT MOVS WILL NOT PICK UP ANY ONES WHEN SWAPPING A WORD
  2048					;OF ALL ZEROS.  FIRST, E IS LOADED WITH A WORD OF ALL ZEROS;
  2049					;THEN, MOVS IS EXECUTED.  THE AC IS THEN CHECKED TO INSURE THAT THE RESULT DOES NOT
  2050					;CONTAIN ANY ONES.
  2051
  2052	003615	200 00 0 00 041025 	A5000:	MOVE	[0]		;PRESET E WITH ALL ZEROS
  2053	003616	204 00 0 00 000000 		MOVS			;*MOVS SHOULD RESULT WITH AN AC 0F ALL ZEROS
  2054	003617	332 00 0 00 000000 		SKIPE			;SKIP HALT INSTRUCTION IF C(AC)=0
  2055						STOP^
  2056	003620	254 04 0 00 003621 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2057	003621	324 00 0 00 003622 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2058									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2059									;IN THE SUBTEST) TO LOOP ON ERROR^
  2060
  2061					;**********
  2062
  2063					;THIS TEST VERIFIES THAT A MOVS EXECUTED ON AN E CONTAINING A NON-ZERO NUMBER
  2064					;RESULTS IN A NON-ZERO NUMBER IN THE AC.  FIRST A NON-ZERO WORD
  2065					;IS LOADED INTO E; THEN, MOVS IS EXECUTED.  THE AC IS CHECKED FOR A NON-ZERO RESULT.
  2066					;IF C(AC)=0, THE TEST FAILS.
  2067
  2068	003622	200 00 0 00 041102 	A5100:	MOVE	[XWD 0,-1]	;LOAD E WITH A NON-ZERO VALUE
  2069	003623	204 00 0 00 000000 		MOVS			;*MOVS SHOULD RESULT IN C(AC) NON-ZERO
  2070	003624	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF C(AC) OF MOVS IS NON-ZERO
  2071						STOP^
  2072	003625	254 04 0 00 003626 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2073	003626	324 00 0 00 003627 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2074									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2075									;IN THE SUBTEST) TO LOOP ON ERROR^
  2076
  2077					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0102

  2078					;THIS TEST VERIFIES THAT A MOVS EXECUTED ON AN E CONTAINING A NON-ZERO NUMBER
  2079					;RESULTS IN A NON-ZERO NUMBER IN THE AC.  FIRST A NON-ZERO WORD
  2080					;IS LOADED INTO E; THEN, MOVS IS EXECUTED.  THE AC IS CHECKED FOR A NON-ZERO
  2081					;RESULT.  IF C(AC)=0, THE TEST FAILS.
  2082
  2083	003627	200 00 0 00 041103 	A5200:	MOVE	[XWD -1,0]	;LOAD E OF MOVS WITH A NON-ZERO NUMBER
  2084	003630	204 00 0 00 000000 		MOVS			;*MOVS SHOULD RESULT WITH C(AC) NON-ZERO
  2085	003631	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF C(AC) OF MOVS IS NON-ZERO
  2086						STOP^
  2087	003632	254 04 0 00 003633 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2088	003633	324 00 0 00 003634 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2089									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2090									;IN THE SUBTEST) TO LOOP ON ERROR^
  2091
  2092					;**********
  2093
  2094					;THIS TEST VERIFIES THAT THE MOVS INSTRUCTION SWAPS BITS 0 AND 188 OF E
  2095					;AND STORES THEM IN THE AC UNLESS AR BIT 0 IS S-A-0.  FIRST, A WORD
  2096					;WITH BIT 0 SET TO A ONE AND BIT 18 CLEARED IS LOADED INTO E.  THEN, MOVS
  2097					;IS EXECUTED.  THE AC IS THEN CHECKED FOR A 0 IN BIT 0, WHICH IS THE
  2098					;CORRECT RESULT.
  2099
  2100	003634	200 00 0 00 041103 	A5300:	MOVE	[XWD -1,0]	;LOAD E OF MOVS WITH 777777000000
  2101	003635	204 00 0 00 000000 		MOVS			;*MOVS SHOULD RESULT WITH AC BIT 0 EQUAL TO 0
  2102	003636	337 00 0 00 000000 		SKIPG			;SKIP HALT INSTRUCTION IF BIT 0 OF AC IS 0
  2103						STOP^
  2104	003637	254 04 0 00 003640 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2105	003640	324 00 0 00 003641 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2106									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2107									;IN THE SUBTEST) TO LOOP ON ERROR^
  2108
  2109					;MOVSX: AR SWAP [ARMB], AR LT AR RT A [ARMB], AR LT AR RT B [ARMB],
  2110					;AR RT AR LT A [ARMB], AR RT AR LT B [ARMB], ET2 A F/F [E], IR MOVSX [IR1],
  2111					;IR MOV(E,S)X [IR1]
  2112
  2113					;**********
  2114
  2115					;THIS TEST VERIFIES THAT THE MOVS INSTRUCTION SWAPS BITS 0 AND 18 OF E AND
  2116					;STORES THEM IN THE AC UNLESS AR BIT 0 IS S-A-1.  FIRST, A WORD WITH BIT 0
  2117					;SET TO A ONE AND BIT 18 CLEARED IS LOADED INTO E.  THEN, MOVS IS EXECUTED.
  2118					;THE AC IS CHECKED FOR A ZERO IN BIT ZERO, WHICH IS THE CORRECT RESULT.
  2119
  2120	003641	200 00 0 00 041102 	A5400:	MOVE	[XWD 0,-1]	;LOAD E OF MOVS WITH 777777
  2121	003642	204 00 0 00 000000 		MOVS			;*MOVS SHOULD RESULT WITH BIT 0 OF THE AC SET
  2122	003643	331 00 0 00 000000 		SKIPL			;PASS IF AC BIT 0 IS SET
  2123						STOP^
  2124	003644	254 04 0 00 003645 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2125	003645	324 00 0 00 003646 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2126									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2127									;IN THE SUBTEST) TO LOOP ON ERROR^
  2128
  2129					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0103

  2130			005500		SN=5500
  2131			000000			ZZ=0
  2132
  2133					A5500:	REPEAT	^D18,
  2134					<;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2135					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2136					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2137					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2138					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2139					SN=SN+1
  2140						ZZ=ZZ+ZZ
  2141						IFE	ZZ,<ZZ=1>
  2142						MOVE	[0]		;CLEAR AC
  2143						MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2144						SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2145						STOP
  2146					
  2147					;**********
  2148					>
  2149					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2150					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2151					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2152					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2153					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2154			005501		SN=SN+1
  2155			000000			ZZ=ZZ+ZZ
  2156			000001			IFE	ZZ,<ZZ=1>
  2157	003646	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2158	003647	204 00 0 00 041037 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2159	003650	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2160						STOP^
  2161	003651	254 04 0 00 003652 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2162	003652	324 00 0 00 003653 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2163									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2164									;IN THE SUBTEST) TO LOOP ON ERROR^
  2165
  2166					;**********
  2167
  2168					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2169					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2170					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2171					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2172					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2173			005502		SN=SN+1
  2174			000002			ZZ=ZZ+ZZ
  2175						IFE	ZZ,<ZZ=1>
  2176	003653	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2177	003654	204 00 0 00 041040 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2178	003655	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2179						STOP^
  2180	003656	254 04 0 00 003657 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2181	003657	324 00 0 00 003660 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2182									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2183									;IN THE SUBTEST) TO LOOP ON ERROR^
  2184
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0104

  2185					;**********
  2186
  2187					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2188					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2189					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2190					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2191					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2192			005503		SN=SN+1
  2193			000004			ZZ=ZZ+ZZ
  2194						IFE	ZZ,<ZZ=1>
  2195	003660	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2196	003661	204 00 0 00 041041 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2197	003662	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2198						STOP^
  2199	003663	254 04 0 00 003664 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2200	003664	324 00 0 00 003665 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2201									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2202									;IN THE SUBTEST) TO LOOP ON ERROR^
  2203
  2204					;**********
  2205
  2206					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2207					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2208					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2209					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2210					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2211			005504		SN=SN+1
  2212			000010			ZZ=ZZ+ZZ
  2213						IFE	ZZ,<ZZ=1>
  2214	003665	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2215	003666	204 00 0 00 041042 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2216	003667	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2217						STOP^
  2218	003670	254 04 0 00 003671 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2219	003671	324 00 0 00 003672 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2220									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2221									;IN THE SUBTEST) TO LOOP ON ERROR^
  2222
  2223					;**********
  2224
  2225					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2226					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2227					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2228					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2229					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2230			005505		SN=SN+1
  2231			000020			ZZ=ZZ+ZZ
  2232						IFE	ZZ,<ZZ=1>
  2233	003672	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2234	003673	204 00 0 00 041043 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2235	003674	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2236						STOP^
  2237	003675	254 04 0 00 003676 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2238	003676	324 00 0 00 003677 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2239									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0105

  2240									;IN THE SUBTEST) TO LOOP ON ERROR^
  2241
  2242					;**********
  2243
  2244					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2245					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2246					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2247					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2248					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2249			005506		SN=SN+1
  2250			000040			ZZ=ZZ+ZZ
  2251						IFE	ZZ,<ZZ=1>
  2252	003677	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2253	003700	204 00 0 00 041044 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2254	003701	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2255						STOP^
  2256	003702	254 04 0 00 003703 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2257	003703	324 00 0 00 003704 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2258									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2259									;IN THE SUBTEST) TO LOOP ON ERROR^
  2260
  2261					;**********
  2262
  2263					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2264					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2265					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2266					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2267					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2268			005507		SN=SN+1
  2269			000100			ZZ=ZZ+ZZ
  2270						IFE	ZZ,<ZZ=1>
  2271	003704	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2272	003705	204 00 0 00 041045 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2273	003706	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2274						STOP^
  2275	003707	254 04 0 00 003710 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2276	003710	324 00 0 00 003711 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2277									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2278									;IN THE SUBTEST) TO LOOP ON ERROR^
  2279
  2280					;**********
  2281
  2282					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2283					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2284					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2285					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2286					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2287			005510		SN=SN+1
  2288			000200			ZZ=ZZ+ZZ
  2289						IFE	ZZ,<ZZ=1>
  2290	003711	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2291	003712	204 00 0 00 041046 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2292	003713	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2293						STOP^
  2294	003714	254 04 0 00 003715 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0106

  2295	003715	324 00 0 00 003716 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2296									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2297									;IN THE SUBTEST) TO LOOP ON ERROR^
  2298
  2299					;**********
  2300
  2301					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2302					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2303					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2304					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2305					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2306			005511		SN=SN+1
  2307			000400			ZZ=ZZ+ZZ
  2308						IFE	ZZ,<ZZ=1>
  2309	003716	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2310	003717	204 00 0 00 041047 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2311	003720	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2312						STOP^
  2313	003721	254 04 0 00 003722 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2314	003722	324 00 0 00 003723 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2315									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2316									;IN THE SUBTEST) TO LOOP ON ERROR^
  2317
  2318					;**********
  2319
  2320					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2321					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2322					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2323					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2324					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2325			005512		SN=SN+1
  2326			001000			ZZ=ZZ+ZZ
  2327						IFE	ZZ,<ZZ=1>
  2328	003723	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2329	003724	204 00 0 00 041050 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2330	003725	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2331						STOP^
  2332	003726	254 04 0 00 003727 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2333	003727	324 00 0 00 003730 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2334									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2335									;IN THE SUBTEST) TO LOOP ON ERROR^
  2336
  2337					;**********
  2338
  2339					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2340					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2341					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2342					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2343					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2344			005513		SN=SN+1
  2345			002000			ZZ=ZZ+ZZ
  2346						IFE	ZZ,<ZZ=1>
  2347	003730	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2348	003731	204 00 0 00 041051 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2349	003732	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0107

  2350						STOP^
  2351	003733	254 04 0 00 003734 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2352	003734	324 00 0 00 003735 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2353									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2354									;IN THE SUBTEST) TO LOOP ON ERROR^
  2355
  2356					;**********
  2357
  2358					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2359					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2360					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2361					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2362					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2363			005514		SN=SN+1
  2364			004000			ZZ=ZZ+ZZ
  2365						IFE	ZZ,<ZZ=1>
  2366	003735	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2367	003736	204 00 0 00 041052 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2368	003737	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2369						STOP^
  2370	003740	254 04 0 00 003741 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2371	003741	324 00 0 00 003742 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2372									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2373									;IN THE SUBTEST) TO LOOP ON ERROR^
  2374
  2375					;**********
  2376
  2377					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2378					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2379					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2380					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2381					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2382			005515		SN=SN+1
  2383			010000			ZZ=ZZ+ZZ
  2384						IFE	ZZ,<ZZ=1>
  2385	003742	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2386	003743	204 00 0 00 041053 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2387	003744	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2388						STOP^
  2389	003745	254 04 0 00 003746 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2390	003746	324 00 0 00 003747 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2391									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2392									;IN THE SUBTEST) TO LOOP ON ERROR^
  2393
  2394					;**********
  2395
  2396					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2397					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2398					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2399					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2400					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2401			005516		SN=SN+1
  2402			020000			ZZ=ZZ+ZZ
  2403						IFE	ZZ,<ZZ=1>
  2404	003747	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0108

  2405	003750	204 00 0 00 041054 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2406	003751	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2407						STOP^
  2408	003752	254 04 0 00 003753 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2409	003753	324 00 0 00 003754 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2410									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2411									;IN THE SUBTEST) TO LOOP ON ERROR^
  2412
  2413					;**********
  2414
  2415					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2416					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2417					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2418					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2419					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2420			005517		SN=SN+1
  2421			040000			ZZ=ZZ+ZZ
  2422						IFE	ZZ,<ZZ=1>
  2423	003754	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2424	003755	204 00 0 00 041055 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2425	003756	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2426						STOP^
  2427	003757	254 04 0 00 003760 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2428	003760	324 00 0 00 003761 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2429									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2430									;IN THE SUBTEST) TO LOOP ON ERROR^
  2431
  2432					;**********
  2433
  2434					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2435					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2436					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2437					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2438					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2439			005520		SN=SN+1
  2440			100000			ZZ=ZZ+ZZ
  2441						IFE	ZZ,<ZZ=1>
  2442	003761	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2443	003762	204 00 0 00 041056 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2444	003763	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2445						STOP^
  2446	003764	254 04 0 00 003765 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2447	003765	324 00 0 00 003766 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2448									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2449									;IN THE SUBTEST) TO LOOP ON ERROR^
  2450
  2451					;**********
  2452
  2453					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2454					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2455					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2456					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2457					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2458			005521		SN=SN+1
  2459			200000			ZZ=ZZ+ZZ
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0109

  2460						IFE	ZZ,<ZZ=1>
  2461	003766	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2462	003767	204 00 0 00 041057 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2463	003770	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2464						STOP^
  2465	003771	254 04 0 00 003772 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2466	003772	324 00 0 00 003773 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2467									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2468									;IN THE SUBTEST) TO LOOP ON ERROR^
  2469
  2470					;**********
  2471
  2472					;THIS TEST VERIFIES THAT AR LT INPUT IS FUNCTIONING.  A WORD OF ALL ZER0S,
  2473					;EXCEPT FOR ONE ONE IN THE RIGHT HALF IS SWAPPED.
  2474					;THE AC IS CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES
  2475					;IF C(AC) IS NON-ZERO. THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT
  2476					;OF THE LEFT HALF OF THE AC IS TESTED WITH A 1.
  2477			005522		SN=SN+1
  2478			400000			ZZ=ZZ+ZZ
  2479						IFE	ZZ,<ZZ=1>
  2480	003773	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2481	003774	204 00 0 00 041060 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2482	003775	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2483						STOP^
  2484	003776	254 04 0 00 003777 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2485	003777	324 00 0 00 004000 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2486									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2487									;IN THE SUBTEST) TO LOOP ON ERROR^
  2488
  2489					;**********
  2490
  2491			005600		SN=5600
  2492
  2493					A5600:	REPEAT	^D18,
  2494					<;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2495					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2496					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2497					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2498					;HALF OF THE AC IS TESTED WITH A 1.
  2499					
  2500					SN=SN+1
  2501						ZZ=ZZ+ZZ
  2502						MOVE	[0]		;CLEAR AC
  2503						MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2504						SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2505						STOP
  2506					
  2507					;**********
  2508					>
  2509					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2510					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2511					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2512					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2513					;HALF OF THE AC IS TESTED WITH A 1.
  2514
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0110

  2515			005601		SN=SN+1
  2516		000001	000000			ZZ=ZZ+ZZ
  2517	004000	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2518	004001	204 00 0 00 041061 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2519	004002	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2520						STOP^
  2521	004003	254 04 0 00 004004 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2522	004004	324 00 0 00 004005 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2523									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2524									;IN THE SUBTEST) TO LOOP ON ERROR^
  2525
  2526					;**********
  2527
  2528					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2529					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2530					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2531					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2532					;HALF OF THE AC IS TESTED WITH A 1.
  2533
  2534			005602		SN=SN+1
  2535		000002	000000			ZZ=ZZ+ZZ
  2536	004005	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2537	004006	204 00 0 00 041062 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2538	004007	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2539						STOP^
  2540	004010	254 04 0 00 004011 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2541	004011	324 00 0 00 004012 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2542									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2543									;IN THE SUBTEST) TO LOOP ON ERROR^
  2544
  2545					;**********
  2546
  2547					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2548					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2549					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2550					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2551					;HALF OF THE AC IS TESTED WITH A 1.
  2552
  2553			005603		SN=SN+1
  2554		000004	000000			ZZ=ZZ+ZZ
  2555	004012	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2556	004013	204 00 0 00 041063 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2557	004014	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2558						STOP^
  2559	004015	254 04 0 00 004016 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2560	004016	324 00 0 00 004017 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2561									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2562									;IN THE SUBTEST) TO LOOP ON ERROR^
  2563
  2564					;**********
  2565
  2566					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2567					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2568					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2569					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0111

  2570					;HALF OF THE AC IS TESTED WITH A 1.
  2571
  2572			005604		SN=SN+1
  2573		000010	000000			ZZ=ZZ+ZZ
  2574	004017	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2575	004020	204 00 0 00 041064 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2576	004021	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2577						STOP^
  2578	004022	254 04 0 00 004023 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2579	004023	324 00 0 00 004024 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2580									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2581									;IN THE SUBTEST) TO LOOP ON ERROR^
  2582
  2583					;**********
  2584
  2585					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2586					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2587					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2588					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2589					;HALF OF THE AC IS TESTED WITH A 1.
  2590
  2591			005605		SN=SN+1
  2592		000020	000000			ZZ=ZZ+ZZ
  2593	004024	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2594	004025	204 00 0 00 041065 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2595	004026	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2596						STOP^
  2597	004027	254 04 0 00 004030 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2598	004030	324 00 0 00 004031 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2599									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2600									;IN THE SUBTEST) TO LOOP ON ERROR^
  2601
  2602					;**********
  2603
  2604					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2605					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2606					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2607					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2608					;HALF OF THE AC IS TESTED WITH A 1.
  2609
  2610			005606		SN=SN+1
  2611		000040	000000			ZZ=ZZ+ZZ
  2612	004031	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2613	004032	204 00 0 00 041066 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2614	004033	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2615						STOP^
  2616	004034	254 04 0 00 004035 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2617	004035	324 00 0 00 004036 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2618									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2619									;IN THE SUBTEST) TO LOOP ON ERROR^
  2620
  2621					;**********
  2622
  2623					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2624					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0112

  2625					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2626					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2627					;HALF OF THE AC IS TESTED WITH A 1.
  2628
  2629			005607		SN=SN+1
  2630		000100	000000			ZZ=ZZ+ZZ
  2631	004036	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2632	004037	204 00 0 00 041067 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2633	004040	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2634						STOP^
  2635	004041	254 04 0 00 004042 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2636	004042	324 00 0 00 004043 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2637									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2638									;IN THE SUBTEST) TO LOOP ON ERROR^
  2639
  2640					;**********
  2641
  2642					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2643					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2644					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2645					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2646					;HALF OF THE AC IS TESTED WITH A 1.
  2647
  2648			005610		SN=SN+1
  2649		000200	000000			ZZ=ZZ+ZZ
  2650	004043	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2651	004044	204 00 0 00 041070 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2652	004045	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2653						STOP^
  2654	004046	254 04 0 00 004047 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2655	004047	324 00 0 00 004050 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2656									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2657									;IN THE SUBTEST) TO LOOP ON ERROR^
  2658
  2659					;**********
  2660
  2661					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2662					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2663					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2664					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2665					;HALF OF THE AC IS TESTED WITH A 1.
  2666
  2667			005611		SN=SN+1
  2668		000400	000000			ZZ=ZZ+ZZ
  2669	004050	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2670	004051	204 00 0 00 041036 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2671	004052	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2672						STOP^
  2673	004053	254 04 0 00 004054 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2674	004054	324 00 0 00 004055 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2675									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2676									;IN THE SUBTEST) TO LOOP ON ERROR^
  2677
  2678					;**********
  2679
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0113

  2680					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2681					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2682					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2683					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2684					;HALF OF THE AC IS TESTED WITH A 1.
  2685
  2686			005612		SN=SN+1
  2687		001000	000000			ZZ=ZZ+ZZ
  2688	004055	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2689	004056	204 00 0 00 041071 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2690	004057	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2691						STOP^
  2692	004060	254 04 0 00 004061 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2693	004061	324 00 0 00 004062 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2694									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2695									;IN THE SUBTEST) TO LOOP ON ERROR^
  2696
  2697					;**********
  2698
  2699					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2700					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2701					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2702					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2703					;HALF OF THE AC IS TESTED WITH A 1.
  2704
  2705			005613		SN=SN+1
  2706		002000	000000			ZZ=ZZ+ZZ
  2707	004062	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2708	004063	204 00 0 00 041072 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2709	004064	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2710						STOP^
  2711	004065	254 04 0 00 004066 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2712	004066	324 00 0 00 004067 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2713									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2714									;IN THE SUBTEST) TO LOOP ON ERROR^
  2715
  2716					;**********
  2717
  2718					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2719					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2720					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2721					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2722					;HALF OF THE AC IS TESTED WITH A 1.
  2723
  2724			005614		SN=SN+1
  2725		004000	000000			ZZ=ZZ+ZZ
  2726	004067	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2727	004070	204 00 0 00 041073 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2728	004071	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2729						STOP^
  2730	004072	254 04 0 00 004073 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2731	004073	324 00 0 00 004074 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2732									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2733									;IN THE SUBTEST) TO LOOP ON ERROR^
  2734
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0114

  2735					;**********
  2736
  2737					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2738					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2739					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2740					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2741					;HALF OF THE AC IS TESTED WITH A 1.
  2742
  2743			005615		SN=SN+1
  2744		010000	000000			ZZ=ZZ+ZZ
  2745	004074	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2746	004075	204 00 0 00 041074 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2747	004076	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2748						STOP^
  2749	004077	254 04 0 00 004100 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2750	004100	324 00 0 00 004101 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2751									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2752									;IN THE SUBTEST) TO LOOP ON ERROR^
  2753
  2754					;**********
  2755
  2756					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2757					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2758					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2759					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2760					;HALF OF THE AC IS TESTED WITH A 1.
  2761
  2762			005616		SN=SN+1
  2763		020000	000000			ZZ=ZZ+ZZ
  2764	004101	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2765	004102	204 00 0 00 041075 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2766	004103	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2767						STOP^
  2768	004104	254 04 0 00 004105 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2769	004105	324 00 0 00 004106 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2770									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2771									;IN THE SUBTEST) TO LOOP ON ERROR^
  2772
  2773					;**********
  2774
  2775					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2776					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2777					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2778					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2779					;HALF OF THE AC IS TESTED WITH A 1.
  2780
  2781			005617		SN=SN+1
  2782		040000	000000			ZZ=ZZ+ZZ
  2783	004106	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2784	004107	204 00 0 00 041076 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2785	004110	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2786						STOP^
  2787	004111	254 04 0 00 004112 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2788	004112	324 00 0 00 004113 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2789									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0115

  2790									;IN THE SUBTEST) TO LOOP ON ERROR^
  2791
  2792					;**********
  2793
  2794					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2795					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2796					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2797					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2798					;HALF OF THE AC IS TESTED WITH A 1.
  2799
  2800			005620		SN=SN+1
  2801		100000	000000			ZZ=ZZ+ZZ
  2802	004113	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2803	004114	204 00 0 00 041077 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2804	004115	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2805						STOP^
  2806	004116	254 04 0 00 004117 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2807	004117	324 00 0 00 004120 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2808									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2809									;IN THE SUBTEST) TO LOOP ON ERROR^
  2810
  2811					;**********
  2812
  2813					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2814					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2815					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2816					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2817					;HALF OF THE AC IS TESTED WITH A 1.
  2818
  2819			005621		SN=SN+1
  2820		200000	000000			ZZ=ZZ+ZZ
  2821	004120	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2822	004121	204 00 0 00 041100 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2823	004122	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2824						STOP^
  2825	004123	254 04 0 00 004124 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2826	004124	324 00 0 00 004125 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2827									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2828									;IN THE SUBTEST) TO LOOP ON ERROR^
  2829
  2830					;**********
  2831
  2832					;THIS TEST VERIFIES THAT AR RT INPUT IS FUNCTIONING.  A WORD OF ALL
  2833					;ZEROS, EXCEPT FOR ONE ONE IN THE LEFT HALF IS SWAPPED.  THE AC IS
  2834					;CHECKED FOR ITS CONTENTS NON-ZERO.  THE TEST PASSES IF C(AC) IS
  2835					;NON-ZERO.  THIS TEST IS REPEATED 18 TIMES SO THAT EACH BIT OF THE RIGHT
  2836					;HALF OF THE AC IS TESTED WITH A 1.
  2837
  2838			005622		SN=SN+1
  2839		400000	000000			ZZ=ZZ+ZZ
  2840	004125	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  2841	004126	204 00 0 00 041030 		MOVS	[ZZ]		;*MOVS SHOULD RESULT WITH A NON-ZERO WORD IN THE AC
  2842	004127	336 00 0 00 000000 		SKIPN			;SKIP HALT INSTRUCTION IF SET BIT IS NOT LOST IN SWAP.
  2843						STOP^
  2844	004130	254 04 0 00 004131 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF SKIP, FULL WORD TRANSFER AND HALF WORD TRANSFER INSTRUCTIONS               SEQ 0116

  2845	004131	324 00 0 00 004132 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2846									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2847									;IN THE SUBTEST) TO LOOP ON ERROR^
  2848
  2849					;**********
  2850
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 25
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0117

  2851					SUBTTL	TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)
  2852
  2853					;THIS TEST VERIFIES THAT SETM LOADS AC FROM E.  THE AC IS FIRST SET
  2854					;TO ZERO; THEN, SETM IS EXECUTED WITH ALL ONES IN E.  BIT 0 OF THE AC
  2855					;IS THEN CHECKED FOR A 1.
  2856
  2857	004132	200 00 0 00 041025 	A5700:	MOVE	[0]		;PRELOAD AC WITH ALL ZEROS
  2858	004133	414 00 0 00 041026 		SETM	[-1]		;*SETM SHOULD LOAD AC WITH ALL ONES
  2859	004134	331 00 0 00 000000 		SKIPL			;PASS TEST IF AC BIT 0 IS A ONE
  2860						STOP^
  2861	004135	254 04 0 00 004136 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2862	004136	324 00 0 00 004137 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2863									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2864									;IN THE SUBTEST) TO LOOP ON ERROR^
  2865					;FCE [F1], IR BOOLE [IR1], IRXX(0,5,12,17) [IR2]
  2866					;**********
  2867
  2868					;THIS TEST VERIFIES THAT SETM LOADS AC FROM E.  THE AC IS FIRST SET TO
  2869					;ALL ONES; THEN, SETM IS EXECUTED WITH ALL ZEROS IN E.  THE AC IS CHECKED
  2870					;FOR ALL ZEROS
  2871
  2872	004137	200 00 0 00 041026 	A6000:	MOVE	[-1]		;PRESET AC TO ALL ONES
  2873	004140	414 00 0 00 041025 		SETM	[0]		;*SETM SHOULD LOAD AC WITH ALL ONES
  2874	004141	332 00 0 00 000000 		SKIPE			;PASSES TEST IF C(AC) = 0
  2875						STOP^
  2876	004142	254 04 0 00 004143 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2877	004143	324 00 0 00 004144 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2878									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2879									;IN THE SUBTEST) TO LOOP ON ERROR^
  2880
  2881					;AD AR + EN [ADAP], AD AR + EN C[ADAP],
  2882					;F CYC ACT EN A[F1], IR BOOLE AD A +F[IR2],
  2883					;IR BOOLE [IR1], IRXX(1-3,6,11,15,16) [IR2]
  2884					;**********
  2885
  2886					;THIS TEST VERIFIES THAT SETZ LOADS TH AC WITH ALL ZEROS.  FIRST, A WORD
  2887					;OF ALL ZEROS IS LOADED INTO THE AC VIA A MOVE INSTC. THEN, SETZ IS
  2888					;EXECUTED.  THE AC IS CHECKED FOR ALL ZEROS.
  2889					;IF ANY BITS IN THE AC ARE SET, THE TEST FAILS.
  2890
  2891	004144	200 00 0 00 041025 	A6100:	MOVE	[0]		;RESET AC TO ALL ZEROS
  2892	004145	400 00 0 00 000000 		SETZ			;*SETZ SHOULD CLEAR THE AC
  2893	004146	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC) = 0
  2894						STOP^
  2895	004147	254 04 0 00 004150 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2896	004150	324 00 0 00 004151 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2897									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2898									;IN THE SUBTEST) TO LOOP ON ERROR^
  2899
  2900					;AD MASK GEN EN [ADC1], AD MASK GEN F/F'S [ADC1]
  2901					;AD MASK EN B; F CYC ACT EN B[F1]; IRXX00 [IR1];
  2902					;IR BOOLE [IR1]
  2903					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0118

  2904					;THIS TEST VERIFIES THAT SETZ LOADS THE AC WITH ALL ZEROS.  FIRST,
  2905					;THE AC IS SET TO ALL ONES; THEN, SETZ IS EXECUTED.  THE AC IS THEN
  2906					;CHECKED FOR ALL ZEROS.  IF ANY BITS IN THE AC ARE SET, THE TEST FAILS.
  2907
  2908	004151	200 00 0 00 041026 	A6200:	MOVE	[-1]		;PRESET AC TO ALL ONES
  2909	004152	400 00 0 00 004152 		SETZ	.		;*SETZ SHOULD CLEAR THE AC
  2910	004153	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC) = 0
  2911						STOP^
  2912	004154	254 04 0 00 004155 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2913	004155	324 00 0 00 004156 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2914									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2915									;IN THE SUBTEST) TO LOOP ON ERROR^
  2916
  2917					;AR AD EN [ARMA], AR AD ET2 EN [ARMA], IR BOOLE [IR]
  2918
  2919					;**********
  2920
  2921					;THIS TEST VERIFIES THAT THE AND INSTRUCTION OPERATING ON AN AC
  2922					;CONTAINING ALL ZEROS AND AN E CONTAINING ALL ZEROS RESULTS IN AN AC
  2923					;OF ALL ZEROS.  THE AC AND E ARE THE SAME IN THIS TEST.
  2924					;AC, E ARE LOADED WITH ZEROS; THEN, AND IS EXECUTED.  THE AC IS THEN
  2925					;CHECKED FOR ALL ZEROS.  IF ANY BITS IN THE AC ARE SET BY THE AND INSTRUCTION,
  2926					;THE TEST FAILS.
  2927
  2928
  2929	004156	200 00 0 00 041025 	A6300:	MOVE	[0]		;PRESET AC, E TO ALL ZEROS
  2930	004157	404 00 0 00 000000 		AND			;*AND SHOULD RESULT IN C(AC) = 0
  2931	004160	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC) = 0
  2932						STOP^
  2933	004161	254 04 0 00 004162 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2934	004162	324 00 0 00 004163 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2935									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2936									;IN THE SUBTEST) TO LOOP ON ERROR^
  2937
  2938					;**********
  2939			006400		SN=6400
  2940			000000			ZZ=0
  2941
  2942					A6400:	REPEAT	^D36,
  2943					<;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  2944					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  2945					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  2946					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  2947					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  2948					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  2949					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  2950					
  2951					SN=SN+1
  2952						ZZ=ZZ+ZZ
  2953						IFE	ZZ,<ZZ=1>
  2954						SETZ			;PRESET E TO ALL ZEROS
  2955						MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  2956									;WHERE X VARIES FROM 0 THRU 35
  2957						AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  2958						SKIPE	1		;FAIL IF C(AC) NON-ZERO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0119

  2959						STOP
  2960						SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  2961						STOP
  2962					;**********
  2963					>
  2964					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  2965					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  2966					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  2967					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  2968					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  2969					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  2970					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  2971
  2972			006401		SN=SN+1
  2973			000000			ZZ=ZZ+ZZ
  2974			000001			IFE	ZZ,<ZZ=1>
  2975	004163	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  2976	004164	200 01 0 00 041037 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  2977									;WHERE X VARIES FROM 0 THRU 35
  2978	004165	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  2979	004166	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  2980						STOP^
  2981	004167	254 04 0 00 004170 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2982	004170	324 00 0 00 004171 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2983									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2984									;IN THE SUBTEST) TO LOOP ON ERROR^
  2985	004171	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  2986						STOP^
  2987	004172	254 04 0 00 004173 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  2988	004173	324 00 0 00 004174 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  2989									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  2990									;IN THE SUBTEST) TO LOOP ON ERROR^
  2991					;**********
  2992
  2993					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  2994					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  2995					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  2996					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  2997					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  2998					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  2999					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3000
  3001			006402		SN=SN+1
  3002			000002			ZZ=ZZ+ZZ
  3003						IFE	ZZ,<ZZ=1>
  3004	004174	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3005	004175	200 01 0 00 041040 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3006									;WHERE X VARIES FROM 0 THRU 35
  3007	004176	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3008	004177	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3009						STOP^
  3010	004200	254 04 0 00 004201 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3011	004201	324 00 0 00 004202 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3012									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3013									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0120

  3014	004202	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3015						STOP^
  3016	004203	254 04 0 00 004204 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3017	004204	324 00 0 00 004205 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3018									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3019									;IN THE SUBTEST) TO LOOP ON ERROR^
  3020					;**********
  3021
  3022					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3023					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3024					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3025					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3026					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3027					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3028					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3029
  3030			006403		SN=SN+1
  3031			000004			ZZ=ZZ+ZZ
  3032						IFE	ZZ,<ZZ=1>
  3033	004205	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3034	004206	200 01 0 00 041041 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3035									;WHERE X VARIES FROM 0 THRU 35
  3036	004207	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3037	004210	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3038						STOP^
  3039	004211	254 04 0 00 004212 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3040	004212	324 00 0 00 004213 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3041									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3042									;IN THE SUBTEST) TO LOOP ON ERROR^
  3043	004213	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3044						STOP^
  3045	004214	254 04 0 00 004215 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3046	004215	324 00 0 00 004216 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3047									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3048									;IN THE SUBTEST) TO LOOP ON ERROR^
  3049					;**********
  3050
  3051					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3052					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3053					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3054					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3055					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3056					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3057					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3058
  3059			006404		SN=SN+1
  3060			000010			ZZ=ZZ+ZZ
  3061						IFE	ZZ,<ZZ=1>
  3062	004216	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3063	004217	200 01 0 00 041042 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3064									;WHERE X VARIES FROM 0 THRU 35
  3065	004220	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3066	004221	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3067						STOP^
  3068	004222	254 04 0 00 004223 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0121

  3069	004223	324 00 0 00 004224 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3070									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3071									;IN THE SUBTEST) TO LOOP ON ERROR^
  3072	004224	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3073						STOP^
  3074	004225	254 04 0 00 004226 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3075	004226	324 00 0 00 004227 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3076									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3077									;IN THE SUBTEST) TO LOOP ON ERROR^
  3078					;**********
  3079
  3080					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3081					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3082					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3083					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3084					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3085					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3086					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3087
  3088			006405		SN=SN+1
  3089			000020			ZZ=ZZ+ZZ
  3090						IFE	ZZ,<ZZ=1>
  3091	004227	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3092	004230	200 01 0 00 041043 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3093									;WHERE X VARIES FROM 0 THRU 35
  3094	004231	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3095	004232	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3096						STOP^
  3097	004233	254 04 0 00 004234 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3098	004234	324 00 0 00 004235 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3099									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3100									;IN THE SUBTEST) TO LOOP ON ERROR^
  3101	004235	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3102						STOP^
  3103	004236	254 04 0 00 004237 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3104	004237	324 00 0 00 004240 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3105									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3106									;IN THE SUBTEST) TO LOOP ON ERROR^
  3107					;**********
  3108
  3109					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3110					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3111					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3112					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3113					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3114					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3115					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3116
  3117			006406		SN=SN+1
  3118			000040			ZZ=ZZ+ZZ
  3119						IFE	ZZ,<ZZ=1>
  3120	004240	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3121	004241	200 01 0 00 041044 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3122									;WHERE X VARIES FROM 0 THRU 35
  3123	004242	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0122

  3124	004243	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3125						STOP^
  3126	004244	254 04 0 00 004245 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3127	004245	324 00 0 00 004246 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3128									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3129									;IN THE SUBTEST) TO LOOP ON ERROR^
  3130	004246	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3131						STOP^
  3132	004247	254 04 0 00 004250 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3133	004250	324 00 0 00 004251 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3134									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3135									;IN THE SUBTEST) TO LOOP ON ERROR^
  3136					;**********
  3137
  3138					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3139					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3140					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3141					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3142					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3143					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3144					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3145
  3146			006407		SN=SN+1
  3147			000100			ZZ=ZZ+ZZ
  3148						IFE	ZZ,<ZZ=1>
  3149	004251	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3150	004252	200 01 0 00 041045 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3151									;WHERE X VARIES FROM 0 THRU 35
  3152	004253	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3153	004254	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3154						STOP^
  3155	004255	254 04 0 00 004256 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3156	004256	324 00 0 00 004257 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3157									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3158									;IN THE SUBTEST) TO LOOP ON ERROR^
  3159	004257	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3160						STOP^
  3161	004260	254 04 0 00 004261 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3162	004261	324 00 0 00 004262 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3163									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3164									;IN THE SUBTEST) TO LOOP ON ERROR^
  3165					;**********
  3166
  3167					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3168					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3169					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3170					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3171					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3172					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3173					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3174
  3175			006410		SN=SN+1
  3176			000200			ZZ=ZZ+ZZ
  3177						IFE	ZZ,<ZZ=1>
  3178	004262	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0123

  3179	004263	200 01 0 00 041046 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3180									;WHERE X VARIES FROM 0 THRU 35
  3181	004264	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3182	004265	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3183						STOP^
  3184	004266	254 04 0 00 004267 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3185	004267	324 00 0 00 004270 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3186									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3187									;IN THE SUBTEST) TO LOOP ON ERROR^
  3188	004270	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3189						STOP^
  3190	004271	254 04 0 00 004272 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3191	004272	324 00 0 00 004273 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3192									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3193									;IN THE SUBTEST) TO LOOP ON ERROR^
  3194					;**********
  3195
  3196					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3197					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3198					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3199					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3200					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3201					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3202					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3203
  3204			006411		SN=SN+1
  3205			000400			ZZ=ZZ+ZZ
  3206						IFE	ZZ,<ZZ=1>
  3207	004273	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3208	004274	200 01 0 00 041047 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3209									;WHERE X VARIES FROM 0 THRU 35
  3210	004275	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3211	004276	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3212						STOP^
  3213	004277	254 04 0 00 004300 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3214	004300	324 00 0 00 004301 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3215									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3216									;IN THE SUBTEST) TO LOOP ON ERROR^
  3217	004301	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3218						STOP^
  3219	004302	254 04 0 00 004303 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3220	004303	324 00 0 00 004304 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3221									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3222									;IN THE SUBTEST) TO LOOP ON ERROR^
  3223					;**********
  3224
  3225					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3226					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3227					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3228					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3229					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3230					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3231					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3232
  3233			006412		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0124

  3234			001000			ZZ=ZZ+ZZ
  3235						IFE	ZZ,<ZZ=1>
  3236	004304	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3237	004305	200 01 0 00 041050 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3238									;WHERE X VARIES FROM 0 THRU 35
  3239	004306	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3240	004307	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3241						STOP^
  3242	004310	254 04 0 00 004311 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3243	004311	324 00 0 00 004312 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3244									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3245									;IN THE SUBTEST) TO LOOP ON ERROR^
  3246	004312	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3247						STOP^
  3248	004313	254 04 0 00 004314 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3249	004314	324 00 0 00 004315 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3250									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3251									;IN THE SUBTEST) TO LOOP ON ERROR^
  3252					;**********
  3253
  3254					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3255					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3256					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3257					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3258					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3259					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3260					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3261
  3262			006413		SN=SN+1
  3263			002000			ZZ=ZZ+ZZ
  3264						IFE	ZZ,<ZZ=1>
  3265	004315	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3266	004316	200 01 0 00 041051 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3267									;WHERE X VARIES FROM 0 THRU 35
  3268	004317	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3269	004320	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3270						STOP^
  3271	004321	254 04 0 00 004322 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3272	004322	324 00 0 00 004323 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3273									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3274									;IN THE SUBTEST) TO LOOP ON ERROR^
  3275	004323	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3276						STOP^
  3277	004324	254 04 0 00 004325 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3278	004325	324 00 0 00 004326 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3279									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3280									;IN THE SUBTEST) TO LOOP ON ERROR^
  3281					;**********
  3282
  3283					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3284					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3285					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3286					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3287					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3288					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0125

  3289					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3290
  3291			006414		SN=SN+1
  3292			004000			ZZ=ZZ+ZZ
  3293						IFE	ZZ,<ZZ=1>
  3294	004326	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3295	004327	200 01 0 00 041052 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3296									;WHERE X VARIES FROM 0 THRU 35
  3297	004330	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3298	004331	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3299						STOP^
  3300	004332	254 04 0 00 004333 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3301	004333	324 00 0 00 004334 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3302									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3303									;IN THE SUBTEST) TO LOOP ON ERROR^
  3304	004334	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3305						STOP^
  3306	004335	254 04 0 00 004336 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3307	004336	324 00 0 00 004337 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3308									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3309									;IN THE SUBTEST) TO LOOP ON ERROR^
  3310					;**********
  3311
  3312					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3313					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3314					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3315					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3316					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3317					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3318					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3319
  3320			006415		SN=SN+1
  3321			010000			ZZ=ZZ+ZZ
  3322						IFE	ZZ,<ZZ=1>
  3323	004337	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3324	004340	200 01 0 00 041053 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3325									;WHERE X VARIES FROM 0 THRU 35
  3326	004341	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3327	004342	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3328						STOP^
  3329	004343	254 04 0 00 004344 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3330	004344	324 00 0 00 004345 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3331									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3332									;IN THE SUBTEST) TO LOOP ON ERROR^
  3333	004345	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3334						STOP^
  3335	004346	254 04 0 00 004347 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3336	004347	324 00 0 00 004350 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3337									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3338									;IN THE SUBTEST) TO LOOP ON ERROR^
  3339					;**********
  3340
  3341					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3342					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3343					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0126

  3344					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3345					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3346					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3347					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3348
  3349			006416		SN=SN+1
  3350			020000			ZZ=ZZ+ZZ
  3351						IFE	ZZ,<ZZ=1>
  3352	004350	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3353	004351	200 01 0 00 041054 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3354									;WHERE X VARIES FROM 0 THRU 35
  3355	004352	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3356	004353	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3357						STOP^
  3358	004354	254 04 0 00 004355 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3359	004355	324 00 0 00 004356 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3360									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3361									;IN THE SUBTEST) TO LOOP ON ERROR^
  3362	004356	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3363						STOP^
  3364	004357	254 04 0 00 004360 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3365	004360	324 00 0 00 004361 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3366									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3367									;IN THE SUBTEST) TO LOOP ON ERROR^
  3368					;**********
  3369
  3370					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3371					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3372					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3373					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3374					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3375					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3376					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3377
  3378			006417		SN=SN+1
  3379			040000			ZZ=ZZ+ZZ
  3380						IFE	ZZ,<ZZ=1>
  3381	004361	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3382	004362	200 01 0 00 041055 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3383									;WHERE X VARIES FROM 0 THRU 35
  3384	004363	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3385	004364	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3386						STOP^
  3387	004365	254 04 0 00 004366 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3388	004366	324 00 0 00 004367 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3389									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3390									;IN THE SUBTEST) TO LOOP ON ERROR^
  3391	004367	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3392						STOP^
  3393	004370	254 04 0 00 004371 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3394	004371	324 00 0 00 004372 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3395									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3396									;IN THE SUBTEST) TO LOOP ON ERROR^
  3397					;**********
  3398
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0127

  3399					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3400					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3401					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3402					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3403					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3404					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3405					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3406
  3407			006420		SN=SN+1
  3408			100000			ZZ=ZZ+ZZ
  3409						IFE	ZZ,<ZZ=1>
  3410	004372	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3411	004373	200 01 0 00 041056 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3412									;WHERE X VARIES FROM 0 THRU 35
  3413	004374	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3414	004375	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3415						STOP^
  3416	004376	254 04 0 00 004377 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3417	004377	324 00 0 00 004400 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3418									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3419									;IN THE SUBTEST) TO LOOP ON ERROR^
  3420	004400	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3421						STOP^
  3422	004401	254 04 0 00 004402 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3423	004402	324 00 0 00 004403 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3424									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3425									;IN THE SUBTEST) TO LOOP ON ERROR^
  3426					;**********
  3427
  3428					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3429					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3430					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3431					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3432					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3433					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3434					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3435
  3436			006421		SN=SN+1
  3437			200000			ZZ=ZZ+ZZ
  3438						IFE	ZZ,<ZZ=1>
  3439	004403	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3440	004404	200 01 0 00 041057 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3441									;WHERE X VARIES FROM 0 THRU 35
  3442	004405	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3443	004406	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3444						STOP^
  3445	004407	254 04 0 00 004410 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3446	004410	324 00 0 00 004411 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3447									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3448									;IN THE SUBTEST) TO LOOP ON ERROR^
  3449	004411	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3450						STOP^
  3451	004412	254 04 0 00 004413 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3452	004413	324 00 0 00 004414 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3453									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0128

  3454									;IN THE SUBTEST) TO LOOP ON ERROR^
  3455					;**********
  3456
  3457					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3458					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3459					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3460					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3461					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3462					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3463					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3464
  3465			006422		SN=SN+1
  3466			400000			ZZ=ZZ+ZZ
  3467						IFE	ZZ,<ZZ=1>
  3468	004414	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3469	004415	200 01 0 00 041060 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3470									;WHERE X VARIES FROM 0 THRU 35
  3471	004416	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3472	004417	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3473						STOP^
  3474	004420	254 04 0 00 004421 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3475	004421	324 00 0 00 004422 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3476									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3477									;IN THE SUBTEST) TO LOOP ON ERROR^
  3478	004422	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3479						STOP^
  3480	004423	254 04 0 00 004424 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3481	004424	324 00 0 00 004425 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3482									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3483									;IN THE SUBTEST) TO LOOP ON ERROR^
  3484					;**********
  3485
  3486					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3487					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3488					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3489					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3490					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3491					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3492					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3493
  3494			006423		SN=SN+1
  3495		000001	000000			ZZ=ZZ+ZZ
  3496						IFE	ZZ,<ZZ=1>
  3497	004425	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3498	004426	200 01 0 00 041061 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3499									;WHERE X VARIES FROM 0 THRU 35
  3500	004427	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3501	004430	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3502						STOP^
  3503	004431	254 04 0 00 004432 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3504	004432	324 00 0 00 004433 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3505									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3506									;IN THE SUBTEST) TO LOOP ON ERROR^
  3507	004433	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3508						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0129

  3509	004434	254 04 0 00 004435 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3510	004435	324 00 0 00 004436 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3511									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3512									;IN THE SUBTEST) TO LOOP ON ERROR^
  3513					;**********
  3514
  3515					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3516					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3517					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3518					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3519					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3520					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3521					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3522
  3523			006424		SN=SN+1
  3524		000002	000000			ZZ=ZZ+ZZ
  3525						IFE	ZZ,<ZZ=1>
  3526	004436	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3527	004437	200 01 0 00 041062 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3528									;WHERE X VARIES FROM 0 THRU 35
  3529	004440	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3530	004441	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3531						STOP^
  3532	004442	254 04 0 00 004443 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3533	004443	324 00 0 00 004444 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3534									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3535									;IN THE SUBTEST) TO LOOP ON ERROR^
  3536	004444	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3537						STOP^
  3538	004445	254 04 0 00 004446 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3539	004446	324 00 0 00 004447 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3540									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3541									;IN THE SUBTEST) TO LOOP ON ERROR^
  3542					;**********
  3543
  3544					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3545					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3546					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3547					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3548					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3549					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3550					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3551
  3552			006425		SN=SN+1
  3553		000004	000000			ZZ=ZZ+ZZ
  3554						IFE	ZZ,<ZZ=1>
  3555	004447	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3556	004450	200 01 0 00 041063 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3557									;WHERE X VARIES FROM 0 THRU 35
  3558	004451	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3559	004452	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3560						STOP^
  3561	004453	254 04 0 00 004454 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3562	004454	324 00 0 00 004455 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3563									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0130

  3564									;IN THE SUBTEST) TO LOOP ON ERROR^
  3565	004455	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3566						STOP^
  3567	004456	254 04 0 00 004457 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3568	004457	324 00 0 00 004460 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3569									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3570									;IN THE SUBTEST) TO LOOP ON ERROR^
  3571					;**********
  3572
  3573					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3574					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3575					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3576					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3577					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3578					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3579					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3580
  3581			006426		SN=SN+1
  3582		000010	000000			ZZ=ZZ+ZZ
  3583						IFE	ZZ,<ZZ=1>
  3584	004460	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3585	004461	200 01 0 00 041064 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3586									;WHERE X VARIES FROM 0 THRU 35
  3587	004462	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3588	004463	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3589						STOP^
  3590	004464	254 04 0 00 004465 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3591	004465	324 00 0 00 004466 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3592									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3593									;IN THE SUBTEST) TO LOOP ON ERROR^
  3594	004466	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3595						STOP^
  3596	004467	254 04 0 00 004470 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3597	004470	324 00 0 00 004471 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3598									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3599									;IN THE SUBTEST) TO LOOP ON ERROR^
  3600					;**********
  3601
  3602					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3603					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3604					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3605					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3606					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3607					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3608					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3609
  3610			006427		SN=SN+1
  3611		000020	000000			ZZ=ZZ+ZZ
  3612						IFE	ZZ,<ZZ=1>
  3613	004471	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3614	004472	200 01 0 00 041065 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3615									;WHERE X VARIES FROM 0 THRU 35
  3616	004473	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3617	004474	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3618						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0131

  3619	004475	254 04 0 00 004476 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3620	004476	324 00 0 00 004477 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3621									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3622									;IN THE SUBTEST) TO LOOP ON ERROR^
  3623	004477	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3624						STOP^
  3625	004500	254 04 0 00 004501 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3626	004501	324 00 0 00 004502 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3627									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3628									;IN THE SUBTEST) TO LOOP ON ERROR^
  3629					;**********
  3630
  3631					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3632					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3633					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3634					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3635					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3636					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3637					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3638
  3639			006430		SN=SN+1
  3640		000040	000000			ZZ=ZZ+ZZ
  3641						IFE	ZZ,<ZZ=1>
  3642	004502	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3643	004503	200 01 0 00 041066 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3644									;WHERE X VARIES FROM 0 THRU 35
  3645	004504	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3646	004505	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3647						STOP^
  3648	004506	254 04 0 00 004507 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3649	004507	324 00 0 00 004510 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3650									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3651									;IN THE SUBTEST) TO LOOP ON ERROR^
  3652	004510	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3653						STOP^
  3654	004511	254 04 0 00 004512 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3655	004512	324 00 0 00 004513 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3656									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3657									;IN THE SUBTEST) TO LOOP ON ERROR^
  3658					;**********
  3659
  3660					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3661					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3662					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3663					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3664					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3665					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3666					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3667
  3668			006431		SN=SN+1
  3669		000100	000000			ZZ=ZZ+ZZ
  3670						IFE	ZZ,<ZZ=1>
  3671	004513	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3672	004514	200 01 0 00 041067 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3673									;WHERE X VARIES FROM 0 THRU 35
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0132

  3674	004515	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3675	004516	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3676						STOP^
  3677	004517	254 04 0 00 004520 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3678	004520	324 00 0 00 004521 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3679									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3680									;IN THE SUBTEST) TO LOOP ON ERROR^
  3681	004521	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3682						STOP^
  3683	004522	254 04 0 00 004523 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3684	004523	324 00 0 00 004524 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3685									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3686									;IN THE SUBTEST) TO LOOP ON ERROR^
  3687					;**********
  3688
  3689					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3690					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3691					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3692					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3693					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3694					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3695					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3696
  3697			006432		SN=SN+1
  3698		000200	000000			ZZ=ZZ+ZZ
  3699						IFE	ZZ,<ZZ=1>
  3700	004524	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3701	004525	200 01 0 00 041070 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3702									;WHERE X VARIES FROM 0 THRU 35
  3703	004526	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3704	004527	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3705						STOP^
  3706	004530	254 04 0 00 004531 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3707	004531	324 00 0 00 004532 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3708									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3709									;IN THE SUBTEST) TO LOOP ON ERROR^
  3710	004532	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3711						STOP^
  3712	004533	254 04 0 00 004534 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3713	004534	324 00 0 00 004535 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3714									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3715									;IN THE SUBTEST) TO LOOP ON ERROR^
  3716					;**********
  3717
  3718					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3719					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3720					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3721					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3722					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3723					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3724					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3725
  3726			006433		SN=SN+1
  3727		000400	000000			ZZ=ZZ+ZZ
  3728						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-15
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0133

  3729	004535	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3730	004536	200 01 0 00 041036 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3731									;WHERE X VARIES FROM 0 THRU 35
  3732	004537	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3733	004540	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3734						STOP^
  3735	004541	254 04 0 00 004542 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3736	004542	324 00 0 00 004543 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3737									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3738									;IN THE SUBTEST) TO LOOP ON ERROR^
  3739	004543	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3740						STOP^
  3741	004544	254 04 0 00 004545 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3742	004545	324 00 0 00 004546 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3743									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3744									;IN THE SUBTEST) TO LOOP ON ERROR^
  3745					;**********
  3746
  3747					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3748					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3749					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3750					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3751					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3752					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3753					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3754
  3755			006434		SN=SN+1
  3756		001000	000000			ZZ=ZZ+ZZ
  3757						IFE	ZZ,<ZZ=1>
  3758	004546	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3759	004547	200 01 0 00 041071 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3760									;WHERE X VARIES FROM 0 THRU 35
  3761	004550	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3762	004551	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3763						STOP^
  3764	004552	254 04 0 00 004553 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3765	004553	324 00 0 00 004554 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3766									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3767									;IN THE SUBTEST) TO LOOP ON ERROR^
  3768	004554	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3769						STOP^
  3770	004555	254 04 0 00 004556 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3771	004556	324 00 0 00 004557 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3772									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3773									;IN THE SUBTEST) TO LOOP ON ERROR^
  3774					;**********
  3775
  3776					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3777					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3778					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3779					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3780					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3781					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3782					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3783
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-16
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0134

  3784			006435		SN=SN+1
  3785		002000	000000			ZZ=ZZ+ZZ
  3786						IFE	ZZ,<ZZ=1>
  3787	004557	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3788	004560	200 01 0 00 041072 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3789									;WHERE X VARIES FROM 0 THRU 35
  3790	004561	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3791	004562	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3792						STOP^
  3793	004563	254 04 0 00 004564 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3794	004564	324 00 0 00 004565 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3795									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3796									;IN THE SUBTEST) TO LOOP ON ERROR^
  3797	004565	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3798						STOP^
  3799	004566	254 04 0 00 004567 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3800	004567	324 00 0 00 004570 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3801									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3802									;IN THE SUBTEST) TO LOOP ON ERROR^
  3803					;**********
  3804
  3805					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3806					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3807					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3808					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3809					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3810					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3811					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3812
  3813			006436		SN=SN+1
  3814		004000	000000			ZZ=ZZ+ZZ
  3815						IFE	ZZ,<ZZ=1>
  3816	004570	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3817	004571	200 01 0 00 041073 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3818									;WHERE X VARIES FROM 0 THRU 35
  3819	004572	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3820	004573	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3821						STOP^
  3822	004574	254 04 0 00 004575 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3823	004575	324 00 0 00 004576 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3824									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3825									;IN THE SUBTEST) TO LOOP ON ERROR^
  3826	004576	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3827						STOP^
  3828	004577	254 04 0 00 004600 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3829	004600	324 00 0 00 004601 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3830									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3831									;IN THE SUBTEST) TO LOOP ON ERROR^
  3832					;**********
  3833
  3834					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3835					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3836					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3837					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3838					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-17
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0135

  3839					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3840					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3841
  3842			006437		SN=SN+1
  3843		010000	000000			ZZ=ZZ+ZZ
  3844						IFE	ZZ,<ZZ=1>
  3845	004601	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3846	004602	200 01 0 00 041074 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3847									;WHERE X VARIES FROM 0 THRU 35
  3848	004603	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3849	004604	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3850						STOP^
  3851	004605	254 04 0 00 004606 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3852	004606	324 00 0 00 004607 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3853									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3854									;IN THE SUBTEST) TO LOOP ON ERROR^
  3855	004607	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3856						STOP^
  3857	004610	254 04 0 00 004611 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3858	004611	324 00 0 00 004612 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3859									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3860									;IN THE SUBTEST) TO LOOP ON ERROR^
  3861					;**********
  3862
  3863					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3864					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3865					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3866					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3867					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3868					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3869					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3870
  3871			006440		SN=SN+1
  3872		020000	000000			ZZ=ZZ+ZZ
  3873						IFE	ZZ,<ZZ=1>
  3874	004612	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3875	004613	200 01 0 00 041075 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3876									;WHERE X VARIES FROM 0 THRU 35
  3877	004614	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3878	004615	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3879						STOP^
  3880	004616	254 04 0 00 004617 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3881	004617	324 00 0 00 004620 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3882									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3883									;IN THE SUBTEST) TO LOOP ON ERROR^
  3884	004620	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3885						STOP^
  3886	004621	254 04 0 00 004622 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3887	004622	324 00 0 00 004623 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3888									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3889									;IN THE SUBTEST) TO LOOP ON ERROR^
  3890					;**********
  3891
  3892					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3893					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-18
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0136

  3894					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3895					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3896					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3897					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3898					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3899
  3900			006441		SN=SN+1
  3901		040000	000000			ZZ=ZZ+ZZ
  3902						IFE	ZZ,<ZZ=1>
  3903	004623	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3904	004624	200 01 0 00 041076 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3905									;WHERE X VARIES FROM 0 THRU 35
  3906	004625	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3907	004626	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3908						STOP^
  3909	004627	254 04 0 00 004630 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3910	004630	324 00 0 00 004631 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3911									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3912									;IN THE SUBTEST) TO LOOP ON ERROR^
  3913	004631	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3914						STOP^
  3915	004632	254 04 0 00 004633 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3916	004633	324 00 0 00 004634 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3917									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3918									;IN THE SUBTEST) TO LOOP ON ERROR^
  3919					;**********
  3920
  3921					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3922					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3923					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3924					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3925					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3926					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3927					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3928
  3929			006442		SN=SN+1
  3930		100000	000000			ZZ=ZZ+ZZ
  3931						IFE	ZZ,<ZZ=1>
  3932	004634	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3933	004635	200 01 0 00 041077 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3934									;WHERE X VARIES FROM 0 THRU 35
  3935	004636	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3936	004637	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3937						STOP^
  3938	004640	254 04 0 00 004641 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3939	004641	324 00 0 00 004642 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3940									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3941									;IN THE SUBTEST) TO LOOP ON ERROR^
  3942	004642	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3943						STOP^
  3944	004643	254 04 0 00 004644 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3945	004644	324 00 0 00 004645 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3946									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3947									;IN THE SUBTEST) TO LOOP ON ERROR^
  3948					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-19
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0137

  3949
  3950					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3951					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3952					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3953					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3954					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3955					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3956					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3957
  3958			006443		SN=SN+1
  3959		200000	000000			ZZ=ZZ+ZZ
  3960						IFE	ZZ,<ZZ=1>
  3961	004645	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3962	004646	200 01 0 00 041100 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3963									;WHERE X VARIES FROM 0 THRU 35
  3964	004647	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3965	004650	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3966						STOP^
  3967	004651	254 04 0 00 004652 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3968	004652	324 00 0 00 004653 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3969									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3970									;IN THE SUBTEST) TO LOOP ON ERROR^
  3971	004653	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  3972						STOP^
  3973	004654	254 04 0 00 004655 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3974	004655	324 00 0 00 004656 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3975									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3976									;IN THE SUBTEST) TO LOOP ON ERROR^
  3977					;**********
  3978
  3979					;THIS TEST VERIFIES THAT IF ONE OF THE OPERANDS OF THE AND INSTRUCTION
  3980					;IS ZERO, THE RESULT WILL BE ZERO.  THIS TEST IS REPEATED 36 TIMES WITH
  3981					;ALL ZEROS IN THE AC EXCEPT FOR ONE ONE IN BIT X
  3982					;WHERE X TAKES ON INTEGER VALUES 0 THRU 35.  E CONTAINS ALL ZEROS.
  3983					;THE RESULT SHOULD BE ALL ZEROS IN THE AC.  IF C(AC) IS NON-ZERO,
  3984					;'AND' FAILED.  C(0) IS ALSO CHECKED FOR ALL ZEROS.  IF C(0) IS
  3985					;NON-ZERO, AC0 WAS CLOBBERED BY 'AND'.
  3986
  3987			006444		SN=SN+1
  3988		400000	000000			ZZ=ZZ+ZZ
  3989						IFE	ZZ,<ZZ=1>
  3990	004656	400 00 0 00 000000 		SETZ			;PRESET E TO ALL ZEROS
  3991	004657	200 01 0 00 041030 		MOVE	1,[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN BIT X
  3992									;WHERE X VARIES FROM 0 THRU 35
  3993	004660	404 01 0 00 000000 		AND	1,0		;*AND SHOULD RESULT IN C(AC) = 0
  3994	004661	332 00 0 00 000001 		SKIPE	1		;FAIL IF C(AC) NON-ZERO
  3995						STOP^
  3996	004662	254 04 0 00 004663 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  3997	004663	324 00 0 00 004664 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  3998									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  3999									;IN THE SUBTEST) TO LOOP ON ERROR^
  4000	004664	332 00 0 00 000000 		SKIPE	0		;FAIL IF C(0) IS NON-ZERO
  4001						STOP^
  4002	004665	254 04 0 00 004666 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4003	004666	324 00 0 00 004667 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 26-20
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0138

  4004									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4005									;IN THE SUBTEST) TO LOOP ON ERROR^
  4006					;**********
  4007
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0139

  4008			006500		SN=6500
  4009			000000			ZZ=0
  4010
  4011					A6500:	REPEAT	^D36,
  4012					<;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4013					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4014					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4015					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4016					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4017					SN=SN+1
  4018						ZZ=ZZ+ZZ
  4019						IFE	ZZ,<ZZ=1>
  4020						MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4021						AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4022									;POSITION WITH ITSELF SHOULD RESULT WITH
  4023									;C(AC) NONZERO
  4024						SKIPN			;PASS TEST IF C(AC) NONZERO
  4025						STOP
  4026					
  4027					;**********
  4028					>
  4029					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4030					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4031					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4032					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4033					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4034			006501		SN=SN+1
  4035			000000			ZZ=ZZ+ZZ
  4036			000001			IFE	ZZ,<ZZ=1>
  4037	004667	200 00 0 00 041037 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4038	004670	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4039									;POSITION WITH ITSELF SHOULD RESULT WITH
  4040									;C(AC) NONZERO
  4041	004671	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4042						STOP^
  4043	004672	254 04 0 00 004673 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4044	004673	324 00 0 00 004674 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4045									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4046									;IN THE SUBTEST) TO LOOP ON ERROR^
  4047
  4048					;**********
  4049
  4050					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4051					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4052					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4053					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4054					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4055			006502		SN=SN+1
  4056			000002			ZZ=ZZ+ZZ
  4057						IFE	ZZ,<ZZ=1>
  4058	004674	200 00 0 00 041040 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4059	004675	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4060									;POSITION WITH ITSELF SHOULD RESULT WITH
  4061									;C(AC) NONZERO
  4062	004676	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0140

  4063						STOP^
  4064	004677	254 04 0 00 004700 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4065	004700	324 00 0 00 004701 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4066									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4067									;IN THE SUBTEST) TO LOOP ON ERROR^
  4068
  4069					;**********
  4070
  4071					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4072					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4073					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4074					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4075					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4076			006503		SN=SN+1
  4077			000004			ZZ=ZZ+ZZ
  4078						IFE	ZZ,<ZZ=1>
  4079	004701	200 00 0 00 041041 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4080	004702	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4081									;POSITION WITH ITSELF SHOULD RESULT WITH
  4082									;C(AC) NONZERO
  4083	004703	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4084						STOP^
  4085	004704	254 04 0 00 004705 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4086	004705	324 00 0 00 004706 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4087									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4088									;IN THE SUBTEST) TO LOOP ON ERROR^
  4089
  4090					;**********
  4091
  4092					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4093					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4094					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4095					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4096					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4097			006504		SN=SN+1
  4098			000010			ZZ=ZZ+ZZ
  4099						IFE	ZZ,<ZZ=1>
  4100	004706	200 00 0 00 041042 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4101	004707	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4102									;POSITION WITH ITSELF SHOULD RESULT WITH
  4103									;C(AC) NONZERO
  4104	004710	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4105						STOP^
  4106	004711	254 04 0 00 004712 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4107	004712	324 00 0 00 004713 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4108									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4109									;IN THE SUBTEST) TO LOOP ON ERROR^
  4110
  4111					;**********
  4112
  4113					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4114					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4115					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4116					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4117					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0141

  4118			006505		SN=SN+1
  4119			000020			ZZ=ZZ+ZZ
  4120						IFE	ZZ,<ZZ=1>
  4121	004713	200 00 0 00 041043 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4122	004714	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4123									;POSITION WITH ITSELF SHOULD RESULT WITH
  4124									;C(AC) NONZERO
  4125	004715	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4126						STOP^
  4127	004716	254 04 0 00 004717 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4128	004717	324 00 0 00 004720 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4129									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4130									;IN THE SUBTEST) TO LOOP ON ERROR^
  4131
  4132					;**********
  4133
  4134					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4135					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4136					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4137					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4138					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4139			006506		SN=SN+1
  4140			000040			ZZ=ZZ+ZZ
  4141						IFE	ZZ,<ZZ=1>
  4142	004720	200 00 0 00 041044 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4143	004721	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4144									;POSITION WITH ITSELF SHOULD RESULT WITH
  4145									;C(AC) NONZERO
  4146	004722	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4147						STOP^
  4148	004723	254 04 0 00 004724 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4149	004724	324 00 0 00 004725 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4150									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4151									;IN THE SUBTEST) TO LOOP ON ERROR^
  4152
  4153					;**********
  4154
  4155					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4156					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4157					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4158					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4159					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4160			006507		SN=SN+1
  4161			000100			ZZ=ZZ+ZZ
  4162						IFE	ZZ,<ZZ=1>
  4163	004725	200 00 0 00 041045 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4164	004726	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4165									;POSITION WITH ITSELF SHOULD RESULT WITH
  4166									;C(AC) NONZERO
  4167	004727	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4168						STOP^
  4169	004730	254 04 0 00 004731 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4170	004731	324 00 0 00 004732 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4171									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4172									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0142

  4173
  4174					;**********
  4175
  4176					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4177					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4178					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4179					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4180					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4181			006510		SN=SN+1
  4182			000200			ZZ=ZZ+ZZ
  4183						IFE	ZZ,<ZZ=1>
  4184	004732	200 00 0 00 041046 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4185	004733	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4186									;POSITION WITH ITSELF SHOULD RESULT WITH
  4187									;C(AC) NONZERO
  4188	004734	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4189						STOP^
  4190	004735	254 04 0 00 004736 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4191	004736	324 00 0 00 004737 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4192									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4193									;IN THE SUBTEST) TO LOOP ON ERROR^
  4194
  4195					;**********
  4196
  4197					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4198					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4199					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4200					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4201					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4202			006511		SN=SN+1
  4203			000400			ZZ=ZZ+ZZ
  4204						IFE	ZZ,<ZZ=1>
  4205	004737	200 00 0 00 041047 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4206	004740	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4207									;POSITION WITH ITSELF SHOULD RESULT WITH
  4208									;C(AC) NONZERO
  4209	004741	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4210						STOP^
  4211	004742	254 04 0 00 004743 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4212	004743	324 00 0 00 004744 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4213									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4214									;IN THE SUBTEST) TO LOOP ON ERROR^
  4215
  4216					;**********
  4217
  4218					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4219					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4220					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4221					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4222					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4223			006512		SN=SN+1
  4224			001000			ZZ=ZZ+ZZ
  4225						IFE	ZZ,<ZZ=1>
  4226	004744	200 00 0 00 041050 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4227	004745	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0143

  4228									;POSITION WITH ITSELF SHOULD RESULT WITH
  4229									;C(AC) NONZERO
  4230	004746	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4231						STOP^
  4232	004747	254 04 0 00 004750 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4233	004750	324 00 0 00 004751 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4234									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4235									;IN THE SUBTEST) TO LOOP ON ERROR^
  4236
  4237					;**********
  4238
  4239					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4240					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4241					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4242					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4243					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4244			006513		SN=SN+1
  4245			002000			ZZ=ZZ+ZZ
  4246						IFE	ZZ,<ZZ=1>
  4247	004751	200 00 0 00 041051 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4248	004752	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4249									;POSITION WITH ITSELF SHOULD RESULT WITH
  4250									;C(AC) NONZERO
  4251	004753	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4252						STOP^
  4253	004754	254 04 0 00 004755 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4254	004755	324 00 0 00 004756 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4255									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4256									;IN THE SUBTEST) TO LOOP ON ERROR^
  4257
  4258					;**********
  4259
  4260					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4261					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4262					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4263					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4264					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4265			006514		SN=SN+1
  4266			004000			ZZ=ZZ+ZZ
  4267						IFE	ZZ,<ZZ=1>
  4268	004756	200 00 0 00 041052 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4269	004757	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4270									;POSITION WITH ITSELF SHOULD RESULT WITH
  4271									;C(AC) NONZERO
  4272	004760	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4273						STOP^
  4274	004761	254 04 0 00 004762 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4275	004762	324 00 0 00 004763 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4276									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4277									;IN THE SUBTEST) TO LOOP ON ERROR^
  4278
  4279					;**********
  4280
  4281					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4282					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0144

  4283					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4284					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4285					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4286			006515		SN=SN+1
  4287			010000			ZZ=ZZ+ZZ
  4288						IFE	ZZ,<ZZ=1>
  4289	004763	200 00 0 00 041053 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4290	004764	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4291									;POSITION WITH ITSELF SHOULD RESULT WITH
  4292									;C(AC) NONZERO
  4293	004765	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4294						STOP^
  4295	004766	254 04 0 00 004767 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4296	004767	324 00 0 00 004770 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4297									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4298									;IN THE SUBTEST) TO LOOP ON ERROR^
  4299
  4300					;**********
  4301
  4302					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4303					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4304					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4305					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4306					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4307			006516		SN=SN+1
  4308			020000			ZZ=ZZ+ZZ
  4309						IFE	ZZ,<ZZ=1>
  4310	004770	200 00 0 00 041054 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4311	004771	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4312									;POSITION WITH ITSELF SHOULD RESULT WITH
  4313									;C(AC) NONZERO
  4314	004772	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4315						STOP^
  4316	004773	254 04 0 00 004774 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4317	004774	324 00 0 00 004775 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4318									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4319									;IN THE SUBTEST) TO LOOP ON ERROR^
  4320
  4321					;**********
  4322
  4323					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4324					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4325					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4326					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4327					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4328			006517		SN=SN+1
  4329			040000			ZZ=ZZ+ZZ
  4330						IFE	ZZ,<ZZ=1>
  4331	004775	200 00 0 00 041055 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4332	004776	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4333									;POSITION WITH ITSELF SHOULD RESULT WITH
  4334									;C(AC) NONZERO
  4335	004777	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4336						STOP^
  4337	005000	254 04 0 00 005001 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0145

  4338	005001	324 00 0 00 005002 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4339									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4340									;IN THE SUBTEST) TO LOOP ON ERROR^
  4341
  4342					;**********
  4343
  4344					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4345					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4346					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4347					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4348					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4349			006520		SN=SN+1
  4350			100000			ZZ=ZZ+ZZ
  4351						IFE	ZZ,<ZZ=1>
  4352	005002	200 00 0 00 041056 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4353	005003	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4354									;POSITION WITH ITSELF SHOULD RESULT WITH
  4355									;C(AC) NONZERO
  4356	005004	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4357						STOP^
  4358	005005	254 04 0 00 005006 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4359	005006	324 00 0 00 005007 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4360									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4361									;IN THE SUBTEST) TO LOOP ON ERROR^
  4362
  4363					;**********
  4364
  4365					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4366					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4367					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4368					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4369					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4370			006521		SN=SN+1
  4371			200000			ZZ=ZZ+ZZ
  4372						IFE	ZZ,<ZZ=1>
  4373	005007	200 00 0 00 041057 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4374	005010	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4375									;POSITION WITH ITSELF SHOULD RESULT WITH
  4376									;C(AC) NONZERO
  4377	005011	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4378						STOP^
  4379	005012	254 04 0 00 005013 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4380	005013	324 00 0 00 005014 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4381									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4382									;IN THE SUBTEST) TO LOOP ON ERROR^
  4383
  4384					;**********
  4385
  4386					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4387					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4388					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4389					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4390					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4391			006522		SN=SN+1
  4392			400000			ZZ=ZZ+ZZ
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0146

  4393						IFE	ZZ,<ZZ=1>
  4394	005014	200 00 0 00 041060 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4395	005015	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4396									;POSITION WITH ITSELF SHOULD RESULT WITH
  4397									;C(AC) NONZERO
  4398	005016	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4399						STOP^
  4400	005017	254 04 0 00 005020 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4401	005020	324 00 0 00 005021 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4402									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4403									;IN THE SUBTEST) TO LOOP ON ERROR^
  4404
  4405					;**********
  4406
  4407					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4408					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4409					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4410					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4411					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4412			006523		SN=SN+1
  4413		000001	000000			ZZ=ZZ+ZZ
  4414						IFE	ZZ,<ZZ=1>
  4415	005021	200 00 0 00 041061 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4416	005022	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4417									;POSITION WITH ITSELF SHOULD RESULT WITH
  4418									;C(AC) NONZERO
  4419	005023	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4420						STOP^
  4421	005024	254 04 0 00 005025 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4422	005025	324 00 0 00 005026 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4423									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4424									;IN THE SUBTEST) TO LOOP ON ERROR^
  4425
  4426					;**********
  4427
  4428					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4429					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4430					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4431					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4432					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4433			006524		SN=SN+1
  4434		000002	000000			ZZ=ZZ+ZZ
  4435						IFE	ZZ,<ZZ=1>
  4436	005026	200 00 0 00 041062 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4437	005027	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4438									;POSITION WITH ITSELF SHOULD RESULT WITH
  4439									;C(AC) NONZERO
  4440	005030	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4441						STOP^
  4442	005031	254 04 0 00 005032 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4443	005032	324 00 0 00 005033 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4444									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4445									;IN THE SUBTEST) TO LOOP ON ERROR^
  4446
  4447					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0147

  4448
  4449					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4450					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4451					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4452					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4453					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4454			006525		SN=SN+1
  4455		000004	000000			ZZ=ZZ+ZZ
  4456						IFE	ZZ,<ZZ=1>
  4457	005033	200 00 0 00 041063 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4458	005034	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4459									;POSITION WITH ITSELF SHOULD RESULT WITH
  4460									;C(AC) NONZERO
  4461	005035	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4462						STOP^
  4463	005036	254 04 0 00 005037 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4464	005037	324 00 0 00 005040 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4465									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4466									;IN THE SUBTEST) TO LOOP ON ERROR^
  4467
  4468					;**********
  4469
  4470					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4471					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4472					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4473					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4474					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4475			006526		SN=SN+1
  4476		000010	000000			ZZ=ZZ+ZZ
  4477						IFE	ZZ,<ZZ=1>
  4478	005040	200 00 0 00 041064 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4479	005041	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4480									;POSITION WITH ITSELF SHOULD RESULT WITH
  4481									;C(AC) NONZERO
  4482	005042	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4483						STOP^
  4484	005043	254 04 0 00 005044 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4485	005044	324 00 0 00 005045 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4486									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4487									;IN THE SUBTEST) TO LOOP ON ERROR^
  4488
  4489					;**********
  4490
  4491					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4492					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4493					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4494					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4495					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4496			006527		SN=SN+1
  4497		000020	000000			ZZ=ZZ+ZZ
  4498						IFE	ZZ,<ZZ=1>
  4499	005045	200 00 0 00 041065 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4500	005046	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4501									;POSITION WITH ITSELF SHOULD RESULT WITH
  4502									;C(AC) NONZERO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0148

  4503	005047	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4504						STOP^
  4505	005050	254 04 0 00 005051 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4506	005051	324 00 0 00 005052 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4507									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4508									;IN THE SUBTEST) TO LOOP ON ERROR^
  4509
  4510					;**********
  4511
  4512					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4513					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4514					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4515					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4516					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4517			006530		SN=SN+1
  4518		000040	000000			ZZ=ZZ+ZZ
  4519						IFE	ZZ,<ZZ=1>
  4520	005052	200 00 0 00 041066 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4521	005053	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4522									;POSITION WITH ITSELF SHOULD RESULT WITH
  4523									;C(AC) NONZERO
  4524	005054	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4525						STOP^
  4526	005055	254 04 0 00 005056 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4527	005056	324 00 0 00 005057 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4528									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4529									;IN THE SUBTEST) TO LOOP ON ERROR^
  4530
  4531					;**********
  4532
  4533					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4534					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4535					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4536					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4537					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4538			006531		SN=SN+1
  4539		000100	000000			ZZ=ZZ+ZZ
  4540						IFE	ZZ,<ZZ=1>
  4541	005057	200 00 0 00 041067 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4542	005060	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4543									;POSITION WITH ITSELF SHOULD RESULT WITH
  4544									;C(AC) NONZERO
  4545	005061	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4546						STOP^
  4547	005062	254 04 0 00 005063 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4548	005063	324 00 0 00 005064 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4549									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4550									;IN THE SUBTEST) TO LOOP ON ERROR^
  4551
  4552					;**********
  4553
  4554					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4555					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4556					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4557					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0149

  4558					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4559			006532		SN=SN+1
  4560		000200	000000			ZZ=ZZ+ZZ
  4561						IFE	ZZ,<ZZ=1>
  4562	005064	200 00 0 00 041070 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4563	005065	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4564									;POSITION WITH ITSELF SHOULD RESULT WITH
  4565									;C(AC) NONZERO
  4566	005066	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4567						STOP^
  4568	005067	254 04 0 00 005070 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4569	005070	324 00 0 00 005071 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4570									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4571									;IN THE SUBTEST) TO LOOP ON ERROR^
  4572
  4573					;**********
  4574
  4575					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4576					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4577					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4578					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4579					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4580			006533		SN=SN+1
  4581		000400	000000			ZZ=ZZ+ZZ
  4582						IFE	ZZ,<ZZ=1>
  4583	005071	200 00 0 00 041036 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4584	005072	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4585									;POSITION WITH ITSELF SHOULD RESULT WITH
  4586									;C(AC) NONZERO
  4587	005073	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4588						STOP^
  4589	005074	254 04 0 00 005075 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4590	005075	324 00 0 00 005076 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4591									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4592									;IN THE SUBTEST) TO LOOP ON ERROR^
  4593
  4594					;**********
  4595
  4596					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4597					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4598					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4599					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4600					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4601			006534		SN=SN+1
  4602		001000	000000			ZZ=ZZ+ZZ
  4603						IFE	ZZ,<ZZ=1>
  4604	005076	200 00 0 00 041071 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4605	005077	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4606									;POSITION WITH ITSELF SHOULD RESULT WITH
  4607									;C(AC) NONZERO
  4608	005100	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4609						STOP^
  4610	005101	254 04 0 00 005102 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4611	005102	324 00 0 00 005103 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4612									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0150

  4613									;IN THE SUBTEST) TO LOOP ON ERROR^
  4614
  4615					;**********
  4616
  4617					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4618					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4619					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4620					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4621					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4622			006535		SN=SN+1
  4623		002000	000000			ZZ=ZZ+ZZ
  4624						IFE	ZZ,<ZZ=1>
  4625	005103	200 00 0 00 041072 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4626	005104	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4627									;POSITION WITH ITSELF SHOULD RESULT WITH
  4628									;C(AC) NONZERO
  4629	005105	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4630						STOP^
  4631	005106	254 04 0 00 005107 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4632	005107	324 00 0 00 005110 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4633									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4634									;IN THE SUBTEST) TO LOOP ON ERROR^
  4635
  4636					;**********
  4637
  4638					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4639					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4640					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4641					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4642					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4643			006536		SN=SN+1
  4644		004000	000000			ZZ=ZZ+ZZ
  4645						IFE	ZZ,<ZZ=1>
  4646	005110	200 00 0 00 041073 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4647	005111	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4648									;POSITION WITH ITSELF SHOULD RESULT WITH
  4649									;C(AC) NONZERO
  4650	005112	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4651						STOP^
  4652	005113	254 04 0 00 005114 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4653	005114	324 00 0 00 005115 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4654									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4655									;IN THE SUBTEST) TO LOOP ON ERROR^
  4656
  4657					;**********
  4658
  4659					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4660					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4661					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4662					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4663					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4664			006537		SN=SN+1
  4665		010000	000000			ZZ=ZZ+ZZ
  4666						IFE	ZZ,<ZZ=1>
  4667	005115	200 00 0 00 041074 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0151

  4668	005116	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4669									;POSITION WITH ITSELF SHOULD RESULT WITH
  4670									;C(AC) NONZERO
  4671	005117	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4672						STOP^
  4673	005120	254 04 0 00 005121 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4674	005121	324 00 0 00 005122 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4675									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4676									;IN THE SUBTEST) TO LOOP ON ERROR^
  4677
  4678					;**********
  4679
  4680					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4681					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4682					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4683					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4684					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4685			006540		SN=SN+1
  4686		020000	000000			ZZ=ZZ+ZZ
  4687						IFE	ZZ,<ZZ=1>
  4688	005122	200 00 0 00 041075 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4689	005123	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4690									;POSITION WITH ITSELF SHOULD RESULT WITH
  4691									;C(AC) NONZERO
  4692	005124	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4693						STOP^
  4694	005125	254 04 0 00 005126 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4695	005126	324 00 0 00 005127 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4696									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4697									;IN THE SUBTEST) TO LOOP ON ERROR^
  4698
  4699					;**********
  4700
  4701					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4702					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4703					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4704					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4705					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4706			006541		SN=SN+1
  4707		040000	000000			ZZ=ZZ+ZZ
  4708						IFE	ZZ,<ZZ=1>
  4709	005127	200 00 0 00 041076 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4710	005130	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4711									;POSITION WITH ITSELF SHOULD RESULT WITH
  4712									;C(AC) NONZERO
  4713	005131	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4714						STOP^
  4715	005132	254 04 0 00 005133 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4716	005133	324 00 0 00 005134 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4717									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4718									;IN THE SUBTEST) TO LOOP ON ERROR^
  4719
  4720					;**********
  4721
  4722					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0152

  4723					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4724					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4725					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4726					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4727			006542		SN=SN+1
  4728		100000	000000			ZZ=ZZ+ZZ
  4729						IFE	ZZ,<ZZ=1>
  4730	005134	200 00 0 00 041077 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4731	005135	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4732									;POSITION WITH ITSELF SHOULD RESULT WITH
  4733									;C(AC) NONZERO
  4734	005136	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4735						STOP^
  4736	005137	254 04 0 00 005140 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4737	005140	324 00 0 00 005141 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4738									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4739									;IN THE SUBTEST) TO LOOP ON ERROR^
  4740
  4741					;**********
  4742
  4743					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4744					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4745					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4746					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4747					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4748			006543		SN=SN+1
  4749		200000	000000			ZZ=ZZ+ZZ
  4750						IFE	ZZ,<ZZ=1>
  4751	005141	200 00 0 00 041100 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4752	005142	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4753									;POSITION WITH ITSELF SHOULD RESULT WITH
  4754									;C(AC) NONZERO
  4755	005143	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4756						STOP^
  4757	005144	254 04 0 00 005145 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4758	005145	324 00 0 00 005146 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4759									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4760									;IN THE SUBTEST) TO LOOP ON ERROR^
  4761
  4762					;**********
  4763
  4764					;THIS TEST VERIFIES THAT THE RESULT OF A WORD ANDED WITH ITSELF
  4765					;SHOULD BE THAT SAME WORD.  A WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE
  4766					;IN ONLY ONE BIT IS ANDED WITH ITSELF.  THE AC IS THEN CHECKED FOR ITS
  4767					;CONTENTS NONZERO.  IF C(AC)=0, THE 'AND' INSTRUCTION FAILED.  THIS TEST IS REPEATED
  4768					;36 TIMES TO CHECK EACH BIT INDIVIDUALLY.
  4769			006544		SN=SN+1
  4770		400000	000000			ZZ=ZZ+ZZ
  4771						IFE	ZZ,<ZZ=1>
  4772	005146	200 00 0 00 041030 		MOVE	[ZZ]		;LOAD AC WITH ALL ZEROS EXCEPT FOR A ONE IN ONE BIT
  4773	005147	404 00 0 00 000000 		AND			;*AND OF WORD CONTAINING A ONE IN ONE BIT
  4774									;POSITION WITH ITSELF SHOULD RESULT WITH
  4775									;C(AC) NONZERO
  4776	005150	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NONZERO
  4777						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 27-14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0153

  4778	005151	254 04 0 00 005152 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4779	005152	324 00 0 00 005153 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4780									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4781									;IN THE SUBTEST) TO LOOP ON ERROR^
  4782
  4783					;**********
  4784
  4785					;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE
  4786					;C(AC)=0 AND C(E)=0 AND E OUTSIDE OF THE AC RANGE IS ALL ZEROS IN THE AC.
  4787					;FIRST, THE AC IS CLEARED; THEN, THE C(AC) IS ANDED WITH C(E) WHEN
  4788					;E GREATER THAN 20 AND C(E)=0. THE RESULT SHOULD BE C(AC)=0.
  4789					;IF C(AC) IS NON-ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
  4790
  4791	005153	200 00 0 00 041025 	A6600:	MOVE	[0]		;PRESET AC TO ALL ZEROS
  4792	005154	404 00 0 00 041025 		AND	[0]		;*AND OF TWO WORDS OF ALL ZEROS
  4793									;SHOULD RESULT IN C(AC)=0
  4794	005155	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  4795						STOP^
  4796	005156	254 04 0 00 005157 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4797	005157	324 00 0 00 005160 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4798									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4799									;IN THE SUBTEST) TO LOOP ON ERROR^
  4800
  4801					;**********
  4802
  4803					;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE C(AC)=0
  4804					;AND C(E) IS ALL ONES IS AN AC CONTAINING ALL ZEROS.  FIRST, THE AC IS
  4805					;CLEARED; THEN THE C(AC) IS ANDED WITH AN E CONTAINING ALL ONES, WHERE
  4806					;E IS BEYOND THE AC RANGE.  THE RESULT SHOULD BE C(AC)=0.
  4807					;IF C(AC) IS NON-ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
  4808
  4809	005160	200 00 0 00 041025 	A6700:	MOVE	[0]		;PRESET AC TO ALL ZEROS
  4810	005161	404 00 0 00 041026 		AND	[-1]		;*AND OF TWO WORDS WHERE C(AC)=0 SHOULD RESULT IN C(AC)=0
  4811	005162	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  4812						STOP^
  4813	005163	254 04 0 00 005164 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4814	005164	324 00 0 00 005165 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4815									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4816									;IN THE SUBTEST) TO LOOP ON ERROR^
  4817
  4818					;AD FM+EN [ADFP],AD FM+EN A [ADFP],
  4819					;F CYC ACT EN C [F1],IR BOOLE AD FM+F [IR2],
  4820					;IR BOOLE [IR1],IRXX(1,4,5,11,13,16) [IR2]
  4821
  4822					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 28
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0154

  4823					;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE C(E)=0
  4824					;AND C(AC) IS ALL ONES IS AN AC CONTAINING ALL ZEROS. FIRST, THE
  4825					;AC IS SET TO ALL ONES; THEN, THE AC IS ANDED WITH AN E CONTAINING ALL
  4826					;ZEROS, WHERE E IS BEYOND THE AC RANGE.  THE RESULT SHOULD BE C(AC)=0.
  4827					;IF C(AC) IS NON-ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
  4828
  4829	005165	200 00 0 00 041026 	A7000:	MOVE	[-1]		;PRESET AC TO ALL ONES
  4830	005166	404 00 0 00 041025 		AND	[0]		;*AND OF TWO WORDS WHERE C(E)=0 SHOULD RESULT IN C(AC)=0
  4831	005167	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  4832						STOP^
  4833	005170	254 04 0 00 005171 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4834	005171	324 00 0 00 005172 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4835									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4836									;IN THE SUBTEST) TO LOOP ON ERROR^
  4837
  4838					;**********
  4839
  4840					;THIS TEST VERIFIES THAT THE RESULT OF THE AND INSTRUCTION WHERE C(E) IS
  4841					;ALL ONES AND C(AC) IS ALL ONES IS AN AC CONTAINING ALL ONES.  FIRST, THE
  4842					;AC IS SET TO ALL ONES; THEN, C(AC) IS ANDED WITH AN E CONTAINING ALL
  4843					;ONES.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4844					;IF C(AC) IS ZERO, 'AND' FAILED WITH THE MEMORY OPERAND.
  4845
  4846	005172	200 00 0 00 041026 	A7100:	MOVE	[-1]		;PRELOAD AC WITH ALL ONES
  4847	005173	404 00 0 00 041026 		AND	[-1]		;*AND OF TWO WORDS OF ALL ONES SHOULD
  4848									;RESULT IN C(AC)=ALL ONES
  4849	005174	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) IS NON ZERO
  4850						STOP^
  4851	005175	254 04 0 00 005176 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4852	005176	324 00 0 00 005177 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4853									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4854									;IN THE SUBTEST) TO LOOP ON ERROR^
  4855
  4856					;**********
  4857
  4858					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE 
  4859					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHERE CONTENTS IS NON-ZERO.
  4860					;FIRST, THE AC IS CLEARED, THEN, XOR IS EXECUTED WHERE C(E) IS NON-ZERO.
  4861					;THE AC IS THEN CHECKED FOR NON-ZERO CONTENTS.
  4862	005177	200 00 0 00 041025 	A7200:	MOVE	[0]		;CLEAR AC
  4863	005200	430 00 0 00 041104 		XOR	[707070707070]	;*XOR WITH C(AC)=0 AND C(E)=7070707070 SHOULD
  4864									;RESTULT IN C(AC)=707070707070
  4865	005201	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4866						STOP^
  4867	005202	254 04 0 00 005203 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4868	005203	324 00 0 00 005204 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4869									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4870									;IN THE SUBTEST) TO LOOP ON ERROR^
  4871
  4872					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0155

  4873			007300		SN=7300
  4874			000000			ZZ=0
  4875
  4876					A7300:	REPEAT	^D36,
  4877					<;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4878					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4879					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4880					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4881					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4882					SN=SN+1
  4883						ZZ=ZZ+ZZ
  4884						IFE	ZZ,<ZZ=1>
  4885						MOVE	[0]		;CLEAR AC
  4886						XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  4887									;RESULT IN C(AC) NONZERO
  4888						SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4889						STOP
  4890					
  4891					;**********
  4892					>
  4893					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4894					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4895					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4896					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4897					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4898			007301		SN=SN+1
  4899			000000			ZZ=ZZ+ZZ
  4900			000001			IFE	ZZ,<ZZ=1>
  4901	005204	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  4902	005205	430 00 0 00 041037 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  4903									;RESULT IN C(AC) NONZERO
  4904	005206	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4905						STOP^
  4906	005207	254 04 0 00 005210 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4907	005210	324 00 0 00 005211 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4908									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4909									;IN THE SUBTEST) TO LOOP ON ERROR^
  4910
  4911					;**********
  4912
  4913					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4914					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4915					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4916					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4917					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4918			007302		SN=SN+1
  4919			000002			ZZ=ZZ+ZZ
  4920						IFE	ZZ,<ZZ=1>
  4921	005211	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  4922	005212	430 00 0 00 041040 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  4923									;RESULT IN C(AC) NONZERO
  4924	005213	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4925						STOP^
  4926	005214	254 04 0 00 005215 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4927	005215	324 00 0 00 005216 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0156

  4928									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4929									;IN THE SUBTEST) TO LOOP ON ERROR^
  4930
  4931					;**********
  4932
  4933					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4934					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4935					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4936					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4937					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4938			007303		SN=SN+1
  4939			000004			ZZ=ZZ+ZZ
  4940						IFE	ZZ,<ZZ=1>
  4941	005216	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  4942	005217	430 00 0 00 041041 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  4943									;RESULT IN C(AC) NONZERO
  4944	005220	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4945						STOP^
  4946	005221	254 04 0 00 005222 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4947	005222	324 00 0 00 005223 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4948									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4949									;IN THE SUBTEST) TO LOOP ON ERROR^
  4950
  4951					;**********
  4952
  4953					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4954					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4955					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4956					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4957					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4958			007304		SN=SN+1
  4959			000010			ZZ=ZZ+ZZ
  4960						IFE	ZZ,<ZZ=1>
  4961	005223	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  4962	005224	430 00 0 00 041042 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  4963									;RESULT IN C(AC) NONZERO
  4964	005225	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4965						STOP^
  4966	005226	254 04 0 00 005227 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4967	005227	324 00 0 00 005230 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4968									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4969									;IN THE SUBTEST) TO LOOP ON ERROR^
  4970
  4971					;**********
  4972
  4973					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4974					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4975					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4976					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4977					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4978			007305		SN=SN+1
  4979			000020			ZZ=ZZ+ZZ
  4980						IFE	ZZ,<ZZ=1>
  4981	005230	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  4982	005231	430 00 0 00 041043 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0157

  4983									;RESULT IN C(AC) NONZERO
  4984	005232	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  4985						STOP^
  4986	005233	254 04 0 00 005234 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  4987	005234	324 00 0 00 005235 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  4988									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  4989									;IN THE SUBTEST) TO LOOP ON ERROR^
  4990
  4991					;**********
  4992
  4993					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  4994					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  4995					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  4996					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  4997					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  4998			007306		SN=SN+1
  4999			000040			ZZ=ZZ+ZZ
  5000						IFE	ZZ,<ZZ=1>
  5001	005235	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5002	005236	430 00 0 00 041044 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5003									;RESULT IN C(AC) NONZERO
  5004	005237	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5005						STOP^
  5006	005240	254 04 0 00 005241 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5007	005241	324 00 0 00 005242 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5008									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5009									;IN THE SUBTEST) TO LOOP ON ERROR^
  5010
  5011					;**********
  5012
  5013					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5014					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5015					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5016					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5017					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5018			007307		SN=SN+1
  5019			000100			ZZ=ZZ+ZZ
  5020						IFE	ZZ,<ZZ=1>
  5021	005242	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5022	005243	430 00 0 00 041045 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5023									;RESULT IN C(AC) NONZERO
  5024	005244	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5025						STOP^
  5026	005245	254 04 0 00 005246 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5027	005246	324 00 0 00 005247 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5028									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5029									;IN THE SUBTEST) TO LOOP ON ERROR^
  5030
  5031					;**********
  5032
  5033					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5034					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5035					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5036					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5037					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0158

  5038			007310		SN=SN+1
  5039			000200			ZZ=ZZ+ZZ
  5040						IFE	ZZ,<ZZ=1>
  5041	005247	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5042	005250	430 00 0 00 041046 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5043									;RESULT IN C(AC) NONZERO
  5044	005251	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5045						STOP^
  5046	005252	254 04 0 00 005253 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5047	005253	324 00 0 00 005254 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5048									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5049									;IN THE SUBTEST) TO LOOP ON ERROR^
  5050
  5051					;**********
  5052
  5053					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5054					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5055					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5056					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5057					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5058			007311		SN=SN+1
  5059			000400			ZZ=ZZ+ZZ
  5060						IFE	ZZ,<ZZ=1>
  5061	005254	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5062	005255	430 00 0 00 041047 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5063									;RESULT IN C(AC) NONZERO
  5064	005256	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5065						STOP^
  5066	005257	254 04 0 00 005260 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5067	005260	324 00 0 00 005261 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5068									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5069									;IN THE SUBTEST) TO LOOP ON ERROR^
  5070
  5071					;**********
  5072
  5073					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5074					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5075					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5076					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5077					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5078			007312		SN=SN+1
  5079			001000			ZZ=ZZ+ZZ
  5080						IFE	ZZ,<ZZ=1>
  5081	005261	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5082	005262	430 00 0 00 041050 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5083									;RESULT IN C(AC) NONZERO
  5084	005263	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5085						STOP^
  5086	005264	254 04 0 00 005265 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5087	005265	324 00 0 00 005266 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5088									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5089									;IN THE SUBTEST) TO LOOP ON ERROR^
  5090
  5091					;**********
  5092
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0159

  5093					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5094					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5095					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5096					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5097					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5098			007313		SN=SN+1
  5099			002000			ZZ=ZZ+ZZ
  5100						IFE	ZZ,<ZZ=1>
  5101	005266	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5102	005267	430 00 0 00 041051 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5103									;RESULT IN C(AC) NONZERO
  5104	005270	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5105						STOP^
  5106	005271	254 04 0 00 005272 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5107	005272	324 00 0 00 005273 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5108									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5109									;IN THE SUBTEST) TO LOOP ON ERROR^
  5110
  5111					;**********
  5112
  5113					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5114					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5115					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5116					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5117					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5118			007314		SN=SN+1
  5119			004000			ZZ=ZZ+ZZ
  5120						IFE	ZZ,<ZZ=1>
  5121	005273	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5122	005274	430 00 0 00 041052 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5123									;RESULT IN C(AC) NONZERO
  5124	005275	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5125						STOP^
  5126	005276	254 04 0 00 005277 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5127	005277	324 00 0 00 005300 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5128									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5129									;IN THE SUBTEST) TO LOOP ON ERROR^
  5130
  5131					;**********
  5132
  5133					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5134					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5135					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5136					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5137					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5138			007315		SN=SN+1
  5139			010000			ZZ=ZZ+ZZ
  5140						IFE	ZZ,<ZZ=1>
  5141	005300	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5142	005301	430 00 0 00 041053 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5143									;RESULT IN C(AC) NONZERO
  5144	005302	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5145						STOP^
  5146	005303	254 04 0 00 005304 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5147	005304	324 00 0 00 005305 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0160

  5148									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5149									;IN THE SUBTEST) TO LOOP ON ERROR^
  5150
  5151					;**********
  5152
  5153					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5154					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5155					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5156					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5157					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5158			007316		SN=SN+1
  5159			020000			ZZ=ZZ+ZZ
  5160						IFE	ZZ,<ZZ=1>
  5161	005305	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5162	005306	430 00 0 00 041054 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5163									;RESULT IN C(AC) NONZERO
  5164	005307	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5165						STOP^
  5166	005310	254 04 0 00 005311 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5167	005311	324 00 0 00 005312 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5168									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5169									;IN THE SUBTEST) TO LOOP ON ERROR^
  5170
  5171					;**********
  5172
  5173					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5174					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5175					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5176					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5177					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5178			007317		SN=SN+1
  5179			040000			ZZ=ZZ+ZZ
  5180						IFE	ZZ,<ZZ=1>
  5181	005312	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5182	005313	430 00 0 00 041055 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5183									;RESULT IN C(AC) NONZERO
  5184	005314	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5185						STOP^
  5186	005315	254 04 0 00 005316 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5187	005316	324 00 0 00 005317 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5188									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5189									;IN THE SUBTEST) TO LOOP ON ERROR^
  5190
  5191					;**********
  5192
  5193					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5194					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5195					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5196					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5197					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5198			007320		SN=SN+1
  5199			100000			ZZ=ZZ+ZZ
  5200						IFE	ZZ,<ZZ=1>
  5201	005317	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5202	005320	430 00 0 00 041056 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0161

  5203									;RESULT IN C(AC) NONZERO
  5204	005321	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5205						STOP^
  5206	005322	254 04 0 00 005323 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5207	005323	324 00 0 00 005324 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5208									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5209									;IN THE SUBTEST) TO LOOP ON ERROR^
  5210
  5211					;**********
  5212
  5213					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5214					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5215					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5216					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5217					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5218			007321		SN=SN+1
  5219			200000			ZZ=ZZ+ZZ
  5220						IFE	ZZ,<ZZ=1>
  5221	005324	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5222	005325	430 00 0 00 041057 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5223									;RESULT IN C(AC) NONZERO
  5224	005326	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5225						STOP^
  5226	005327	254 04 0 00 005330 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5227	005330	324 00 0 00 005331 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5228									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5229									;IN THE SUBTEST) TO LOOP ON ERROR^
  5230
  5231					;**********
  5232
  5233					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5234					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5235					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5236					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5237					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5238			007322		SN=SN+1
  5239			400000			ZZ=ZZ+ZZ
  5240						IFE	ZZ,<ZZ=1>
  5241	005331	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5242	005332	430 00 0 00 041060 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5243									;RESULT IN C(AC) NONZERO
  5244	005333	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5245						STOP^
  5246	005334	254 04 0 00 005335 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5247	005335	324 00 0 00 005336 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5248									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5249									;IN THE SUBTEST) TO LOOP ON ERROR^
  5250
  5251					;**********
  5252
  5253					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5254					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5255					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5256					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5257					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0162

  5258			007323		SN=SN+1
  5259		000001	000000			ZZ=ZZ+ZZ
  5260						IFE	ZZ,<ZZ=1>
  5261	005336	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5262	005337	430 00 0 00 041061 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5263									;RESULT IN C(AC) NONZERO
  5264	005340	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5265						STOP^
  5266	005341	254 04 0 00 005342 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5267	005342	324 00 0 00 005343 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5268									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5269									;IN THE SUBTEST) TO LOOP ON ERROR^
  5270
  5271					;**********
  5272
  5273					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5274					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5275					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5276					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5277					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5278			007324		SN=SN+1
  5279		000002	000000			ZZ=ZZ+ZZ
  5280						IFE	ZZ,<ZZ=1>
  5281	005343	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5282	005344	430 00 0 00 041062 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5283									;RESULT IN C(AC) NONZERO
  5284	005345	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5285						STOP^
  5286	005346	254 04 0 00 005347 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5287	005347	324 00 0 00 005350 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5288									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5289									;IN THE SUBTEST) TO LOOP ON ERROR^
  5290
  5291					;**********
  5292
  5293					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5294					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5295					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5296					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5297					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5298			007325		SN=SN+1
  5299		000004	000000			ZZ=ZZ+ZZ
  5300						IFE	ZZ,<ZZ=1>
  5301	005350	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5302	005351	430 00 0 00 041063 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5303									;RESULT IN C(AC) NONZERO
  5304	005352	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5305						STOP^
  5306	005353	254 04 0 00 005354 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5307	005354	324 00 0 00 005355 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5308									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5309									;IN THE SUBTEST) TO LOOP ON ERROR^
  5310
  5311					;**********
  5312
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0163

  5313					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5314					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5315					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5316					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5317					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5318			007326		SN=SN+1
  5319		000010	000000			ZZ=ZZ+ZZ
  5320						IFE	ZZ,<ZZ=1>
  5321	005355	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5322	005356	430 00 0 00 041064 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5323									;RESULT IN C(AC) NONZERO
  5324	005357	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5325						STOP^
  5326	005360	254 04 0 00 005361 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5327	005361	324 00 0 00 005362 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5328									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5329									;IN THE SUBTEST) TO LOOP ON ERROR^
  5330
  5331					;**********
  5332
  5333					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5334					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5335					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5336					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5337					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5338			007327		SN=SN+1
  5339		000020	000000			ZZ=ZZ+ZZ
  5340						IFE	ZZ,<ZZ=1>
  5341	005362	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5342	005363	430 00 0 00 041065 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5343									;RESULT IN C(AC) NONZERO
  5344	005364	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5345						STOP^
  5346	005365	254 04 0 00 005366 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5347	005366	324 00 0 00 005367 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5348									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5349									;IN THE SUBTEST) TO LOOP ON ERROR^
  5350
  5351					;**********
  5352
  5353					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5354					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5355					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5356					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5357					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5358			007330		SN=SN+1
  5359		000040	000000			ZZ=ZZ+ZZ
  5360						IFE	ZZ,<ZZ=1>
  5361	005367	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5362	005370	430 00 0 00 041066 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5363									;RESULT IN C(AC) NONZERO
  5364	005371	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5365						STOP^
  5366	005372	254 04 0 00 005373 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5367	005373	324 00 0 00 005374 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0164

  5368									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5369									;IN THE SUBTEST) TO LOOP ON ERROR^
  5370
  5371					;**********
  5372
  5373					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5374					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5375					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5376					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5377					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5378			007331		SN=SN+1
  5379		000100	000000			ZZ=ZZ+ZZ
  5380						IFE	ZZ,<ZZ=1>
  5381	005374	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5382	005375	430 00 0 00 041067 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5383									;RESULT IN C(AC) NONZERO
  5384	005376	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5385						STOP^
  5386	005377	254 04 0 00 005400 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5387	005400	324 00 0 00 005401 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5388									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5389									;IN THE SUBTEST) TO LOOP ON ERROR^
  5390
  5391					;**********
  5392
  5393					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5394					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5395					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5396					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5397					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5398			007332		SN=SN+1
  5399		000200	000000			ZZ=ZZ+ZZ
  5400						IFE	ZZ,<ZZ=1>
  5401	005401	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5402	005402	430 00 0 00 041070 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5403									;RESULT IN C(AC) NONZERO
  5404	005403	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5405						STOP^
  5406	005404	254 04 0 00 005405 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5407	005405	324 00 0 00 005406 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5408									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5409									;IN THE SUBTEST) TO LOOP ON ERROR^
  5410
  5411					;**********
  5412
  5413					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5414					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5415					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5416					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5417					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5418			007333		SN=SN+1
  5419		000400	000000			ZZ=ZZ+ZZ
  5420						IFE	ZZ,<ZZ=1>
  5421	005406	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5422	005407	430 00 0 00 041036 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0165

  5423									;RESULT IN C(AC) NONZERO
  5424	005410	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5425						STOP^
  5426	005411	254 04 0 00 005412 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5427	005412	324 00 0 00 005413 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5428									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5429									;IN THE SUBTEST) TO LOOP ON ERROR^
  5430
  5431					;**********
  5432
  5433					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5434					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5435					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5436					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5437					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5438			007334		SN=SN+1
  5439		001000	000000			ZZ=ZZ+ZZ
  5440						IFE	ZZ,<ZZ=1>
  5441	005413	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5442	005414	430 00 0 00 041071 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5443									;RESULT IN C(AC) NONZERO
  5444	005415	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5445						STOP^
  5446	005416	254 04 0 00 005417 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5447	005417	324 00 0 00 005420 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5448									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5449									;IN THE SUBTEST) TO LOOP ON ERROR^
  5450
  5451					;**********
  5452
  5453					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5454					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5455					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5456					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5457					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5458			007335		SN=SN+1
  5459		002000	000000			ZZ=ZZ+ZZ
  5460						IFE	ZZ,<ZZ=1>
  5461	005420	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5462	005421	430 00 0 00 041072 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5463									;RESULT IN C(AC) NONZERO
  5464	005422	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5465						STOP^
  5466	005423	254 04 0 00 005424 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5467	005424	324 00 0 00 005425 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5468									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5469									;IN THE SUBTEST) TO LOOP ON ERROR^
  5470
  5471					;**********
  5472
  5473					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5474					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5475					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5476					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5477					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0166

  5478			007336		SN=SN+1
  5479		004000	000000			ZZ=ZZ+ZZ
  5480						IFE	ZZ,<ZZ=1>
  5481	005425	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5482	005426	430 00 0 00 041073 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5483									;RESULT IN C(AC) NONZERO
  5484	005427	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5485						STOP^
  5486	005430	254 04 0 00 005431 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5487	005431	324 00 0 00 005432 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5488									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5489									;IN THE SUBTEST) TO LOOP ON ERROR^
  5490
  5491					;**********
  5492
  5493					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5494					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5495					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5496					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5497					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5498			007337		SN=SN+1
  5499		010000	000000			ZZ=ZZ+ZZ
  5500						IFE	ZZ,<ZZ=1>
  5501	005432	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5502	005433	430 00 0 00 041074 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5503									;RESULT IN C(AC) NONZERO
  5504	005434	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5505						STOP^
  5506	005435	254 04 0 00 005436 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5507	005436	324 00 0 00 005437 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5508									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5509									;IN THE SUBTEST) TO LOOP ON ERROR^
  5510
  5511					;**********
  5512
  5513					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5514					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5515					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5516					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5517					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5518			007340		SN=SN+1
  5519		020000	000000			ZZ=ZZ+ZZ
  5520						IFE	ZZ,<ZZ=1>
  5521	005437	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5522	005440	430 00 0 00 041075 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5523									;RESULT IN C(AC) NONZERO
  5524	005441	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5525						STOP^
  5526	005442	254 04 0 00 005443 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5527	005443	324 00 0 00 005444 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5528									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5529									;IN THE SUBTEST) TO LOOP ON ERROR^
  5530
  5531					;**********
  5532
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0167

  5533					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5534					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5535					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5536					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5537					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5538			007341		SN=SN+1
  5539		040000	000000			ZZ=ZZ+ZZ
  5540						IFE	ZZ,<ZZ=1>
  5541	005444	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5542	005445	430 00 0 00 041076 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5543									;RESULT IN C(AC) NONZERO
  5544	005446	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5545						STOP^
  5546	005447	254 04 0 00 005450 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5547	005450	324 00 0 00 005451 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5548									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5549									;IN THE SUBTEST) TO LOOP ON ERROR^
  5550
  5551					;**********
  5552
  5553					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5554					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5555					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5556					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5557					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5558			007342		SN=SN+1
  5559		100000	000000			ZZ=ZZ+ZZ
  5560						IFE	ZZ,<ZZ=1>
  5561	005451	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5562	005452	430 00 0 00 041077 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5563									;RESULT IN C(AC) NONZERO
  5564	005453	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5565						STOP^
  5566	005454	254 04 0 00 005455 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5567	005455	324 00 0 00 005456 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5568									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5569									;IN THE SUBTEST) TO LOOP ON ERROR^
  5570
  5571					;**********
  5572
  5573					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5574					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5575					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5576					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5577					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5578			007343		SN=SN+1
  5579		200000	000000			ZZ=ZZ+ZZ
  5580						IFE	ZZ,<ZZ=1>
  5581	005456	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5582	005457	430 00 0 00 041100 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5583									;RESULT IN C(AC) NONZERO
  5584	005460	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5585						STOP^
  5586	005461	254 04 0 00 005462 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5587	005462	324 00 0 00 005463 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0168

  5588									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5589									;IN THE SUBTEST) TO LOOP ON ERROR^
  5590
  5591					;**********
  5592
  5593					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5594					;C(AC)=0 AND C(E) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO. THIS
  5595					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS CLEARED AND XOR IS EXECUTED
  5596					;WITH ALL BITS OF E CLEAR EXCEPT FOR ONE FLOATING BIT WHICH IS SET TO A ONE.
  5597					;THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5598			007344		SN=SN+1
  5599		400000	000000			ZZ=ZZ+ZZ
  5600						IFE	ZZ,<ZZ=1>
  5601	005463	200 00 0 00 041025 		MOVE	[0]		;CLEAR AC
  5602	005464	430 00 0 00 041030 		XOR	[ZZ]		;*XOR WITH C(AC)=0 AND ONE BIT OF C(E) SET SHOULD
  5603									;RESULT IN C(AC) NONZERO
  5604	005465	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5605						STOP^
  5606	005466	254 04 0 00 005467 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5607	005467	324 00 0 00 005470 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5608									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5609									;IN THE SUBTEST) TO LOOP ON ERROR^
  5610
  5611					;**********
  5612
  5613			007400		SN=7400
  5614			000000			ZZ=0
  5615
  5616					A7400:	REPEAT	^D36,
  5617					<;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5618					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5619					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5620					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5621					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5622					SN=SN+1
  5623						ZZ=ZZ+ZZ
  5624						IFE	ZZ,<ZZ=1>
  5625						MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5626						XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5627									;RESULT IN C(AC) NON-ZERO
  5628						SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5629						STOP
  5630					
  5631					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5632					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5633					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5634					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5635					
  5636					;**********
  5637					>
  5638					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5639					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5640					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5641					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5642					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0169

  5643			007401		SN=SN+1
  5644			000000			ZZ=ZZ+ZZ
  5645			000001			IFE	ZZ,<ZZ=1>
  5646	005470	200 00 0 00 041037 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5647	005471	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5648									;RESULT IN C(AC) NON-ZERO
  5649	005472	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5650						STOP^
  5651	005473	254 04 0 00 005474 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5652	005474	324 00 0 00 005475 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5653									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5654									;IN THE SUBTEST) TO LOOP ON ERROR^
  5655
  5656					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5657					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5658					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5659					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5660
  5661					;**********
  5662
  5663					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5664					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5665					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5666					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5667					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5668			007402		SN=SN+1
  5669			000002			ZZ=ZZ+ZZ
  5670						IFE	ZZ,<ZZ=1>
  5671	005475	200 00 0 00 041040 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5672	005476	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5673									;RESULT IN C(AC) NON-ZERO
  5674	005477	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5675						STOP^
  5676	005500	254 04 0 00 005501 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5677	005501	324 00 0 00 005502 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5678									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5679									;IN THE SUBTEST) TO LOOP ON ERROR^
  5680
  5681					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5682					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5683					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5684					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5685
  5686					;**********
  5687
  5688					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5689					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5690					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5691					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5692					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5693			007403		SN=SN+1
  5694			000004			ZZ=ZZ+ZZ
  5695						IFE	ZZ,<ZZ=1>
  5696	005502	200 00 0 00 041041 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5697	005503	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-15
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0170

  5698									;RESULT IN C(AC) NON-ZERO
  5699	005504	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5700						STOP^
  5701	005505	254 04 0 00 005506 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5702	005506	324 00 0 00 005507 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5703									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5704									;IN THE SUBTEST) TO LOOP ON ERROR^
  5705
  5706					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5707					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5708					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5709					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5710
  5711					;**********
  5712
  5713					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5714					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5715					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5716					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5717					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5718			007404		SN=SN+1
  5719			000010			ZZ=ZZ+ZZ
  5720						IFE	ZZ,<ZZ=1>
  5721	005507	200 00 0 00 041042 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5722	005510	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5723									;RESULT IN C(AC) NON-ZERO
  5724	005511	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5725						STOP^
  5726	005512	254 04 0 00 005513 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5727	005513	324 00 0 00 005514 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5728									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5729									;IN THE SUBTEST) TO LOOP ON ERROR^
  5730
  5731					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5732					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5733					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5734					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5735
  5736					;**********
  5737
  5738					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5739					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5740					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5741					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5742					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5743			007405		SN=SN+1
  5744			000020			ZZ=ZZ+ZZ
  5745						IFE	ZZ,<ZZ=1>
  5746	005514	200 00 0 00 041043 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5747	005515	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5748									;RESULT IN C(AC) NON-ZERO
  5749	005516	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5750						STOP^
  5751	005517	254 04 0 00 005520 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5752	005520	324 00 0 00 005521 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-16
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0171

  5753									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5754									;IN THE SUBTEST) TO LOOP ON ERROR^
  5755
  5756					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5757					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5758					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5759					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5760
  5761					;**********
  5762
  5763					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5764					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5765					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5766					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5767					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5768			007406		SN=SN+1
  5769			000040			ZZ=ZZ+ZZ
  5770						IFE	ZZ,<ZZ=1>
  5771	005521	200 00 0 00 041044 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5772	005522	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5773									;RESULT IN C(AC) NON-ZERO
  5774	005523	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5775						STOP^
  5776	005524	254 04 0 00 005525 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5777	005525	324 00 0 00 005526 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5778									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5779									;IN THE SUBTEST) TO LOOP ON ERROR^
  5780
  5781					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5782					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5783					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5784					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5785
  5786					;**********
  5787
  5788					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5789					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5790					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5791					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5792					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5793			007407		SN=SN+1
  5794			000100			ZZ=ZZ+ZZ
  5795						IFE	ZZ,<ZZ=1>
  5796	005526	200 00 0 00 041045 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5797	005527	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5798									;RESULT IN C(AC) NON-ZERO
  5799	005530	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5800						STOP^
  5801	005531	254 04 0 00 005532 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5802	005532	324 00 0 00 005533 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5803									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5804									;IN THE SUBTEST) TO LOOP ON ERROR^
  5805
  5806					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5807					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-17
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0172

  5808					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5809					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5810
  5811					;**********
  5812
  5813					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5814					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5815					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5816					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5817					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5818			007410		SN=SN+1
  5819			000200			ZZ=ZZ+ZZ
  5820						IFE	ZZ,<ZZ=1>
  5821	005533	200 00 0 00 041046 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5822	005534	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5823									;RESULT IN C(AC) NON-ZERO
  5824	005535	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5825						STOP^
  5826	005536	254 04 0 00 005537 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5827	005537	324 00 0 00 005540 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5828									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5829									;IN THE SUBTEST) TO LOOP ON ERROR^
  5830
  5831					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5832					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5833					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5834					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5835
  5836					;**********
  5837
  5838					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5839					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5840					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5841					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5842					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5843			007411		SN=SN+1
  5844			000400			ZZ=ZZ+ZZ
  5845						IFE	ZZ,<ZZ=1>
  5846	005540	200 00 0 00 041047 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5847	005541	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5848									;RESULT IN C(AC) NON-ZERO
  5849	005542	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5850						STOP^
  5851	005543	254 04 0 00 005544 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5852	005544	324 00 0 00 005545 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5853									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5854									;IN THE SUBTEST) TO LOOP ON ERROR^
  5855
  5856					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5857					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5858					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5859					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5860
  5861					;**********
  5862
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-18
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0173

  5863					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5864					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5865					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5866					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5867					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5868			007412		SN=SN+1
  5869			001000			ZZ=ZZ+ZZ
  5870						IFE	ZZ,<ZZ=1>
  5871	005545	200 00 0 00 041050 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5872	005546	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5873									;RESULT IN C(AC) NON-ZERO
  5874	005547	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5875						STOP^
  5876	005550	254 04 0 00 005551 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5877	005551	324 00 0 00 005552 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5878									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5879									;IN THE SUBTEST) TO LOOP ON ERROR^
  5880
  5881					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5882					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5883					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5884					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5885
  5886					;**********
  5887
  5888					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5889					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5890					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5891					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5892					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5893			007413		SN=SN+1
  5894			002000			ZZ=ZZ+ZZ
  5895						IFE	ZZ,<ZZ=1>
  5896	005552	200 00 0 00 041051 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5897	005553	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5898									;RESULT IN C(AC) NON-ZERO
  5899	005554	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5900						STOP^
  5901	005555	254 04 0 00 005556 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5902	005556	324 00 0 00 005557 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5903									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5904									;IN THE SUBTEST) TO LOOP ON ERROR^
  5905
  5906					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5907					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5908					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5909					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5910
  5911					;**********
  5912
  5913					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5914					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5915					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5916					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5917					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-19
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0174

  5918			007414		SN=SN+1
  5919			004000			ZZ=ZZ+ZZ
  5920						IFE	ZZ,<ZZ=1>
  5921	005557	200 00 0 00 041052 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5922	005560	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5923									;RESULT IN C(AC) NON-ZERO
  5924	005561	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5925						STOP^
  5926	005562	254 04 0 00 005563 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5927	005563	324 00 0 00 005564 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5928									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5929									;IN THE SUBTEST) TO LOOP ON ERROR^
  5930
  5931					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5932					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5933					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5934					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5935
  5936					;**********
  5937
  5938					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5939					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5940					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5941					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5942					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5943			007415		SN=SN+1
  5944			010000			ZZ=ZZ+ZZ
  5945						IFE	ZZ,<ZZ=1>
  5946	005564	200 00 0 00 041053 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5947	005565	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5948									;RESULT IN C(AC) NON-ZERO
  5949	005566	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5950						STOP^
  5951	005567	254 04 0 00 005570 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5952	005570	324 00 0 00 005571 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5953									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5954									;IN THE SUBTEST) TO LOOP ON ERROR^
  5955
  5956					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5957					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5958					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5959					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5960
  5961					;**********
  5962
  5963					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5964					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5965					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5966					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5967					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5968			007416		SN=SN+1
  5969			020000			ZZ=ZZ+ZZ
  5970						IFE	ZZ,<ZZ=1>
  5971	005571	200 00 0 00 041054 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5972	005572	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-20
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0175

  5973									;RESULT IN C(AC) NON-ZERO
  5974	005573	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  5975						STOP^
  5976	005574	254 04 0 00 005575 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  5977	005575	324 00 0 00 005576 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  5978									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  5979									;IN THE SUBTEST) TO LOOP ON ERROR^
  5980
  5981					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  5982					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  5983					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  5984					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  5985
  5986					;**********
  5987
  5988					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  5989					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  5990					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  5991					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  5992					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  5993			007417		SN=SN+1
  5994			040000			ZZ=ZZ+ZZ
  5995						IFE	ZZ,<ZZ=1>
  5996	005576	200 00 0 00 041055 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  5997	005577	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  5998									;RESULT IN C(AC) NON-ZERO
  5999	005600	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6000						STOP^
  6001	005601	254 04 0 00 005602 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6002	005602	324 00 0 00 005603 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6003									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6004									;IN THE SUBTEST) TO LOOP ON ERROR^
  6005
  6006					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6007					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6008					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6009					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6010
  6011					;**********
  6012
  6013					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6014					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6015					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6016					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6017					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6018			007420		SN=SN+1
  6019			100000			ZZ=ZZ+ZZ
  6020						IFE	ZZ,<ZZ=1>
  6021	005603	200 00 0 00 041056 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6022	005604	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6023									;RESULT IN C(AC) NON-ZERO
  6024	005605	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6025						STOP^
  6026	005606	254 04 0 00 005607 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6027	005607	324 00 0 00 005610 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-21
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0176

  6028									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6029									;IN THE SUBTEST) TO LOOP ON ERROR^
  6030
  6031					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6032					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6033					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6034					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6035
  6036					;**********
  6037
  6038					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6039					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6040					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6041					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6042					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6043			007421		SN=SN+1
  6044			200000			ZZ=ZZ+ZZ
  6045						IFE	ZZ,<ZZ=1>
  6046	005610	200 00 0 00 041057 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6047	005611	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6048									;RESULT IN C(AC) NON-ZERO
  6049	005612	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6050						STOP^
  6051	005613	254 04 0 00 005614 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6052	005614	324 00 0 00 005615 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6053									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6054									;IN THE SUBTEST) TO LOOP ON ERROR^
  6055
  6056					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6057					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6058					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6059					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6060
  6061					;**********
  6062
  6063					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6064					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6065					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6066					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6067					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6068			007422		SN=SN+1
  6069			400000			ZZ=ZZ+ZZ
  6070						IFE	ZZ,<ZZ=1>
  6071	005615	200 00 0 00 041060 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6072	005616	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6073									;RESULT IN C(AC) NON-ZERO
  6074	005617	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6075						STOP^
  6076	005620	254 04 0 00 005621 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6077	005621	324 00 0 00 005622 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6078									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6079									;IN THE SUBTEST) TO LOOP ON ERROR^
  6080
  6081					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6082					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-22
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0177

  6083					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6084					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6085
  6086					;**********
  6087
  6088					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6089					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6090					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6091					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6092					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6093			007423		SN=SN+1
  6094		000001	000000			ZZ=ZZ+ZZ
  6095						IFE	ZZ,<ZZ=1>
  6096	005622	200 00 0 00 041061 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6097	005623	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6098									;RESULT IN C(AC) NON-ZERO
  6099	005624	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6100						STOP^
  6101	005625	254 04 0 00 005626 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6102	005626	324 00 0 00 005627 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6103									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6104									;IN THE SUBTEST) TO LOOP ON ERROR^
  6105
  6106					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6107					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6108					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6109					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6110
  6111					;**********
  6112
  6113					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6114					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6115					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6116					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6117					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6118			007424		SN=SN+1
  6119		000002	000000			ZZ=ZZ+ZZ
  6120						IFE	ZZ,<ZZ=1>
  6121	005627	200 00 0 00 041062 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6122	005630	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6123									;RESULT IN C(AC) NON-ZERO
  6124	005631	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6125						STOP^
  6126	005632	254 04 0 00 005633 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6127	005633	324 00 0 00 005634 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6128									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6129									;IN THE SUBTEST) TO LOOP ON ERROR^
  6130
  6131					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6132					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6133					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6134					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6135
  6136					;**********
  6137
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-23
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0178

  6138					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6139					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6140					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6141					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6142					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6143			007425		SN=SN+1
  6144		000004	000000			ZZ=ZZ+ZZ
  6145						IFE	ZZ,<ZZ=1>
  6146	005634	200 00 0 00 041063 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6147	005635	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6148									;RESULT IN C(AC) NON-ZERO
  6149	005636	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6150						STOP^
  6151	005637	254 04 0 00 005640 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6152	005640	324 00 0 00 005641 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6153									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6154									;IN THE SUBTEST) TO LOOP ON ERROR^
  6155
  6156					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6157					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6158					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6159					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6160
  6161					;**********
  6162
  6163					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6164					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6165					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6166					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6167					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6168			007426		SN=SN+1
  6169		000010	000000			ZZ=ZZ+ZZ
  6170						IFE	ZZ,<ZZ=1>
  6171	005641	200 00 0 00 041064 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6172	005642	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6173									;RESULT IN C(AC) NON-ZERO
  6174	005643	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6175						STOP^
  6176	005644	254 04 0 00 005645 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6177	005645	324 00 0 00 005646 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6178									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6179									;IN THE SUBTEST) TO LOOP ON ERROR^
  6180
  6181					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6182					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6183					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6184					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6185
  6186					;**********
  6187
  6188					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6189					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6190					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6191					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6192					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-24
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0179

  6193			007427		SN=SN+1
  6194		000020	000000			ZZ=ZZ+ZZ
  6195						IFE	ZZ,<ZZ=1>
  6196	005646	200 00 0 00 041065 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6197	005647	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6198									;RESULT IN C(AC) NON-ZERO
  6199	005650	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6200						STOP^
  6201	005651	254 04 0 00 005652 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6202	005652	324 00 0 00 005653 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6203									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6204									;IN THE SUBTEST) TO LOOP ON ERROR^
  6205
  6206					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6207					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6208					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6209					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6210
  6211					;**********
  6212
  6213					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6214					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6215					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6216					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6217					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6218			007430		SN=SN+1
  6219		000040	000000			ZZ=ZZ+ZZ
  6220						IFE	ZZ,<ZZ=1>
  6221	005653	200 00 0 00 041066 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6222	005654	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6223									;RESULT IN C(AC) NON-ZERO
  6224	005655	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6225						STOP^
  6226	005656	254 04 0 00 005657 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6227	005657	324 00 0 00 005660 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6228									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6229									;IN THE SUBTEST) TO LOOP ON ERROR^
  6230
  6231					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6232					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6233					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6234					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6235
  6236					;**********
  6237
  6238					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6239					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6240					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6241					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6242					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6243			007431		SN=SN+1
  6244		000100	000000			ZZ=ZZ+ZZ
  6245						IFE	ZZ,<ZZ=1>
  6246	005660	200 00 0 00 041067 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6247	005661	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-25
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0180

  6248									;RESULT IN C(AC) NON-ZERO
  6249	005662	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6250						STOP^
  6251	005663	254 04 0 00 005664 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6252	005664	324 00 0 00 005665 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6253									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6254									;IN THE SUBTEST) TO LOOP ON ERROR^
  6255
  6256					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6257					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6258					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6259					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6260
  6261					;**********
  6262
  6263					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6264					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6265					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6266					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6267					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6268			007432		SN=SN+1
  6269		000200	000000			ZZ=ZZ+ZZ
  6270						IFE	ZZ,<ZZ=1>
  6271	005665	200 00 0 00 041070 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6272	005666	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6273									;RESULT IN C(AC) NON-ZERO
  6274	005667	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6275						STOP^
  6276	005670	254 04 0 00 005671 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6277	005671	324 00 0 00 005672 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6278									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6279									;IN THE SUBTEST) TO LOOP ON ERROR^
  6280
  6281					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6282					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6283					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6284					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6285
  6286					;**********
  6287
  6288					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6289					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6290					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6291					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6292					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6293			007433		SN=SN+1
  6294		000400	000000			ZZ=ZZ+ZZ
  6295						IFE	ZZ,<ZZ=1>
  6296	005672	200 00 0 00 041036 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6297	005673	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6298									;RESULT IN C(AC) NON-ZERO
  6299	005674	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6300						STOP^
  6301	005675	254 04 0 00 005676 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6302	005676	324 00 0 00 005677 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-26
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0181

  6303									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6304									;IN THE SUBTEST) TO LOOP ON ERROR^
  6305
  6306					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6307					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6308					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6309					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6310
  6311					;**********
  6312
  6313					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6314					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6315					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6316					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6317					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6318			007434		SN=SN+1
  6319		001000	000000			ZZ=ZZ+ZZ
  6320						IFE	ZZ,<ZZ=1>
  6321	005677	200 00 0 00 041071 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6322	005700	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6323									;RESULT IN C(AC) NON-ZERO
  6324	005701	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6325						STOP^
  6326	005702	254 04 0 00 005703 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6327	005703	324 00 0 00 005704 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6328									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6329									;IN THE SUBTEST) TO LOOP ON ERROR^
  6330
  6331					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6332					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6333					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6334					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6335
  6336					;**********
  6337
  6338					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6339					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6340					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6341					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6342					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6343			007435		SN=SN+1
  6344		002000	000000			ZZ=ZZ+ZZ
  6345						IFE	ZZ,<ZZ=1>
  6346	005704	200 00 0 00 041072 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6347	005705	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6348									;RESULT IN C(AC) NON-ZERO
  6349	005706	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6350						STOP^
  6351	005707	254 04 0 00 005710 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6352	005710	324 00 0 00 005711 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6353									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6354									;IN THE SUBTEST) TO LOOP ON ERROR^
  6355
  6356					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6357					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-27
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0182

  6358					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6359					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6360
  6361					;**********
  6362
  6363					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6364					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6365					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6366					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6367					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6368			007436		SN=SN+1
  6369		004000	000000			ZZ=ZZ+ZZ
  6370						IFE	ZZ,<ZZ=1>
  6371	005711	200 00 0 00 041073 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6372	005712	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6373									;RESULT IN C(AC) NON-ZERO
  6374	005713	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6375						STOP^
  6376	005714	254 04 0 00 005715 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6377	005715	324 00 0 00 005716 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6378									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6379									;IN THE SUBTEST) TO LOOP ON ERROR^
  6380
  6381					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6382					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6383					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6384					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6385
  6386					;**********
  6387
  6388					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6389					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6390					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6391					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6392					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6393			007437		SN=SN+1
  6394		010000	000000			ZZ=ZZ+ZZ
  6395						IFE	ZZ,<ZZ=1>
  6396	005716	200 00 0 00 041074 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6397	005717	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6398									;RESULT IN C(AC) NON-ZERO
  6399	005720	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6400						STOP^
  6401	005721	254 04 0 00 005722 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6402	005722	324 00 0 00 005723 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6403									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6404									;IN THE SUBTEST) TO LOOP ON ERROR^
  6405
  6406					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6407					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6408					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6409					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6410
  6411					;**********
  6412
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-28
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0183

  6413					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6414					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6415					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6416					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6417					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6418			007440		SN=SN+1
  6419		020000	000000			ZZ=ZZ+ZZ
  6420						IFE	ZZ,<ZZ=1>
  6421	005723	200 00 0 00 041075 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6422	005724	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6423									;RESULT IN C(AC) NON-ZERO
  6424	005725	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6425						STOP^
  6426	005726	254 04 0 00 005727 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6427	005727	324 00 0 00 005730 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6428									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6429									;IN THE SUBTEST) TO LOOP ON ERROR^
  6430
  6431					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6432					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6433					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6434					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6435
  6436					;**********
  6437
  6438					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6439					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6440					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6441					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6442					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6443			007441		SN=SN+1
  6444		040000	000000			ZZ=ZZ+ZZ
  6445						IFE	ZZ,<ZZ=1>
  6446	005730	200 00 0 00 041076 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6447	005731	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6448									;RESULT IN C(AC) NON-ZERO
  6449	005732	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6450						STOP^
  6451	005733	254 04 0 00 005734 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6452	005734	324 00 0 00 005735 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6453									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6454									;IN THE SUBTEST) TO LOOP ON ERROR^
  6455
  6456					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6457					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6458					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6459					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6460
  6461					;**********
  6462
  6463					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6464					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6465					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6466					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6467					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-29
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0184

  6468			007442		SN=SN+1
  6469		100000	000000			ZZ=ZZ+ZZ
  6470						IFE	ZZ,<ZZ=1>
  6471	005735	200 00 0 00 041077 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6472	005736	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6473									;RESULT IN C(AC) NON-ZERO
  6474	005737	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6475						STOP^
  6476	005740	254 04 0 00 005741 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6477	005741	324 00 0 00 005742 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6478									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6479									;IN THE SUBTEST) TO LOOP ON ERROR^
  6480
  6481					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6482					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6483					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6484					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6485
  6486					;**********
  6487
  6488					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6489					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6490					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6491					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6492					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6493			007443		SN=SN+1
  6494		200000	000000			ZZ=ZZ+ZZ
  6495						IFE	ZZ,<ZZ=1>
  6496	005742	200 00 0 00 041100 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6497	005743	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
  6498									;RESULT IN C(AC) NON-ZERO
  6499	005744	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6500						STOP^
  6501	005745	254 04 0 00 005746 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6502	005746	324 00 0 00 005747 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6503									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6504									;IN THE SUBTEST) TO LOOP ON ERROR^
  6505
  6506					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6507					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6508					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6509					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6510
  6511					;**********
  6512
  6513					;THIS TEST VERIFIES THAT THE RESULT OF THE XOR INSTRUCTION WHERE
  6514					;C(E)=0 AND C(AC) IS NON-ZERO IS AN AC WHOSE CONTENTS IS NON-ZERO.  THIS
  6515					;TEST IS REPEATED 36 TIMES. EACH TIME THE AC IS INITIALIZED SO THAT ONE
  6516					;AND ONLY ONE FLOATING BIT IS SET TO ONE AND XOR IS EXECUTED WITH E
  6517					;CONTAINING ALL ZEROS.  THE AC IS THEN CHECKED FOR A NON-ZERO RESULT.
  6518			007444		SN=SN+1
  6519		400000	000000			ZZ=ZZ+ZZ
  6520						IFE	ZZ,<ZZ=1>
  6521	005747	200 00 0 00 041030 		MOVE	[ZZ]		;PRELOAD AC WITH ONE FLOATING BIT SET
  6522	005750	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(E)=0 AND ONE BIT OF C(AC) SET SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 29-30
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0185

  6523									;RESULT IN C(AC) NON-ZERO
  6524	005751	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  6525						STOP^
  6526	005752	254 04 0 00 005753 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6527	005753	324 00 0 00 005754 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6528									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6529									;IN THE SUBTEST) TO LOOP ON ERROR^
  6530
  6531					;AD FM- EN [ADFM], AD FM- F/F'S[ADFM],F CYC ACT EN D[R1],
  6532					;IR BOOLE AD FM- F [IR2],IR BOOLE[IR1],IR XX (2,6,7,10,12,15)[IR2],
  6533					;AD EQV[ADCR],AD EQV F/F[ADC2],FCYC ACT EN A[F1],
  6534					;IR BOOLE (6,11)[IR2],IR BOOLE[IR1],IRXX(6,11)[IR2]
  6535
  6536					;**********
  6537
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0186

  6538			007500		SN=7500
  6539			000000			ZZ=0
  6540
  6541					A7500:	REPEAT ^D36,
  6542					<;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6543					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6544					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6545					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6546					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6547					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6548					;INDICATE AN ILLEGAL CARRY GENERATION.
  6549					SN=SN+1
  6550						ZZ=ZZ+ZZ
  6551						IFE	ZZ,<ZZ=1>
  6552						MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6553						XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6554						SKIPE			;PASS TEST IF C(AC)=0
  6555						STOP
  6556					
  6557					;**********
  6558					>
  6559					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6560					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6561					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6562					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6563					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6564					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6565					;INDICATE AN ILLEGAL CARRY GENERATION.
  6566			007501		SN=SN+1
  6567			000000			ZZ=ZZ+ZZ
  6568			000001			IFE	ZZ,<ZZ=1>
  6569	005754	200 00 0 00 041037 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6570	005755	430 00 0 00 041037 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6571	005756	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6572						STOP^
  6573	005757	254 04 0 00 005760 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6574	005760	324 00 0 00 005761 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6575									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6576									;IN THE SUBTEST) TO LOOP ON ERROR^
  6577
  6578					;**********
  6579
  6580					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6581					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6582					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6583					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6584					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6585					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6586					;INDICATE AN ILLEGAL CARRY GENERATION.
  6587			007502		SN=SN+1
  6588			000002			ZZ=ZZ+ZZ
  6589						IFE	ZZ,<ZZ=1>
  6590	005761	200 00 0 00 041040 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6591	005762	430 00 0 00 041040 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6592	005763	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0187

  6593						STOP^
  6594	005764	254 04 0 00 005765 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6595	005765	324 00 0 00 005766 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6596									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6597									;IN THE SUBTEST) TO LOOP ON ERROR^
  6598
  6599					;**********
  6600
  6601					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6602					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6603					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6604					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6605					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6606					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6607					;INDICATE AN ILLEGAL CARRY GENERATION.
  6608			007503		SN=SN+1
  6609			000004			ZZ=ZZ+ZZ
  6610						IFE	ZZ,<ZZ=1>
  6611	005766	200 00 0 00 041041 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6612	005767	430 00 0 00 041041 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6613	005770	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6614						STOP^
  6615	005771	254 04 0 00 005772 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6616	005772	324 00 0 00 005773 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6617									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6618									;IN THE SUBTEST) TO LOOP ON ERROR^
  6619
  6620					;**********
  6621
  6622					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6623					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6624					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6625					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6626					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6627					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6628					;INDICATE AN ILLEGAL CARRY GENERATION.
  6629			007504		SN=SN+1
  6630			000010			ZZ=ZZ+ZZ
  6631						IFE	ZZ,<ZZ=1>
  6632	005773	200 00 0 00 041042 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6633	005774	430 00 0 00 041042 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6634	005775	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6635						STOP^
  6636	005776	254 04 0 00 005777 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6637	005777	324 00 0 00 006000 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6638									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6639									;IN THE SUBTEST) TO LOOP ON ERROR^
  6640
  6641					;**********
  6642
  6643					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6644					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6645					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6646					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6647					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0188

  6648					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6649					;INDICATE AN ILLEGAL CARRY GENERATION.
  6650			007505		SN=SN+1
  6651			000020			ZZ=ZZ+ZZ
  6652						IFE	ZZ,<ZZ=1>
  6653	006000	200 00 0 00 041043 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6654	006001	430 00 0 00 041043 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6655	006002	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6656						STOP^
  6657	006003	254 04 0 00 006004 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6658	006004	324 00 0 00 006005 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6659									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6660									;IN THE SUBTEST) TO LOOP ON ERROR^
  6661
  6662					;**********
  6663
  6664					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6665					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6666					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6667					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6668					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6669					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6670					;INDICATE AN ILLEGAL CARRY GENERATION.
  6671			007506		SN=SN+1
  6672			000040			ZZ=ZZ+ZZ
  6673						IFE	ZZ,<ZZ=1>
  6674	006005	200 00 0 00 041044 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6675	006006	430 00 0 00 041044 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6676	006007	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6677						STOP^
  6678	006010	254 04 0 00 006011 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6679	006011	324 00 0 00 006012 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6680									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6681									;IN THE SUBTEST) TO LOOP ON ERROR^
  6682
  6683					;**********
  6684
  6685					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6686					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6687					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6688					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6689					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6690					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6691					;INDICATE AN ILLEGAL CARRY GENERATION.
  6692			007507		SN=SN+1
  6693			000100			ZZ=ZZ+ZZ
  6694						IFE	ZZ,<ZZ=1>
  6695	006012	200 00 0 00 041045 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6696	006013	430 00 0 00 041045 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6697	006014	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6698						STOP^
  6699	006015	254 04 0 00 006016 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6700	006016	324 00 0 00 006017 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6701									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6702									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0189

  6703
  6704					;**********
  6705
  6706					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6707					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6708					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6709					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6710					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6711					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6712					;INDICATE AN ILLEGAL CARRY GENERATION.
  6713			007510		SN=SN+1
  6714			000200			ZZ=ZZ+ZZ
  6715						IFE	ZZ,<ZZ=1>
  6716	006017	200 00 0 00 041046 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6717	006020	430 00 0 00 041046 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6718	006021	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6719						STOP^
  6720	006022	254 04 0 00 006023 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6721	006023	324 00 0 00 006024 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6722									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6723									;IN THE SUBTEST) TO LOOP ON ERROR^
  6724
  6725					;**********
  6726
  6727					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6728					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6729					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6730					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6731					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6732					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6733					;INDICATE AN ILLEGAL CARRY GENERATION.
  6734			007511		SN=SN+1
  6735			000400			ZZ=ZZ+ZZ
  6736						IFE	ZZ,<ZZ=1>
  6737	006024	200 00 0 00 041047 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6738	006025	430 00 0 00 041047 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6739	006026	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6740						STOP^
  6741	006027	254 04 0 00 006030 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6742	006030	324 00 0 00 006031 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6743									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6744									;IN THE SUBTEST) TO LOOP ON ERROR^
  6745
  6746					;**********
  6747
  6748					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6749					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6750					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6751					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6752					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6753					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6754					;INDICATE AN ILLEGAL CARRY GENERATION.
  6755			007512		SN=SN+1
  6756			001000			ZZ=ZZ+ZZ
  6757						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0190

  6758	006031	200 00 0 00 041050 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6759	006032	430 00 0 00 041050 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6760	006033	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6761						STOP^
  6762	006034	254 04 0 00 006035 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6763	006035	324 00 0 00 006036 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6764									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6765									;IN THE SUBTEST) TO LOOP ON ERROR^
  6766
  6767					;**********
  6768
  6769					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6770					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6771					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6772					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6773					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6774					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6775					;INDICATE AN ILLEGAL CARRY GENERATION.
  6776			007513		SN=SN+1
  6777			002000			ZZ=ZZ+ZZ
  6778						IFE	ZZ,<ZZ=1>
  6779	006036	200 00 0 00 041051 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6780	006037	430 00 0 00 041051 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6781	006040	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6782						STOP^
  6783	006041	254 04 0 00 006042 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6784	006042	324 00 0 00 006043 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6785									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6786									;IN THE SUBTEST) TO LOOP ON ERROR^
  6787
  6788					;**********
  6789
  6790					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6791					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6792					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6793					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6794					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6795					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6796					;INDICATE AN ILLEGAL CARRY GENERATION.
  6797			007514		SN=SN+1
  6798			004000			ZZ=ZZ+ZZ
  6799						IFE	ZZ,<ZZ=1>
  6800	006043	200 00 0 00 041052 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6801	006044	430 00 0 00 041052 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6802	006045	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6803						STOP^
  6804	006046	254 04 0 00 006047 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6805	006047	324 00 0 00 006050 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6806									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6807									;IN THE SUBTEST) TO LOOP ON ERROR^
  6808
  6809					;**********
  6810
  6811					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6812					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0191

  6813					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6814					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6815					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6816					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6817					;INDICATE AN ILLEGAL CARRY GENERATION.
  6818			007515		SN=SN+1
  6819			010000			ZZ=ZZ+ZZ
  6820						IFE	ZZ,<ZZ=1>
  6821	006050	200 00 0 00 041053 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6822	006051	430 00 0 00 041053 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6823	006052	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6824						STOP^
  6825	006053	254 04 0 00 006054 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6826	006054	324 00 0 00 006055 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6827									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6828									;IN THE SUBTEST) TO LOOP ON ERROR^
  6829
  6830					;**********
  6831
  6832					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6833					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6834					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6835					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6836					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6837					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6838					;INDICATE AN ILLEGAL CARRY GENERATION.
  6839			007516		SN=SN+1
  6840			020000			ZZ=ZZ+ZZ
  6841						IFE	ZZ,<ZZ=1>
  6842	006055	200 00 0 00 041054 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6843	006056	430 00 0 00 041054 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6844	006057	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6845						STOP^
  6846	006060	254 04 0 00 006061 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6847	006061	324 00 0 00 006062 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6848									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6849									;IN THE SUBTEST) TO LOOP ON ERROR^
  6850
  6851					;**********
  6852
  6853					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6854					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6855					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6856					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6857					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6858					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6859					;INDICATE AN ILLEGAL CARRY GENERATION.
  6860			007517		SN=SN+1
  6861			040000			ZZ=ZZ+ZZ
  6862						IFE	ZZ,<ZZ=1>
  6863	006062	200 00 0 00 041055 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6864	006063	430 00 0 00 041055 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6865	006064	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6866						STOP^
  6867	006065	254 04 0 00 006066 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0192

  6868	006066	324 00 0 00 006067 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6869									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6870									;IN THE SUBTEST) TO LOOP ON ERROR^
  6871
  6872					;**********
  6873
  6874					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6875					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6876					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6877					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6878					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6879					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6880					;INDICATE AN ILLEGAL CARRY GENERATION.
  6881			007520		SN=SN+1
  6882			100000			ZZ=ZZ+ZZ
  6883						IFE	ZZ,<ZZ=1>
  6884	006067	200 00 0 00 041056 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6885	006070	430 00 0 00 041056 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6886	006071	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6887						STOP^
  6888	006072	254 04 0 00 006073 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6889	006073	324 00 0 00 006074 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6890									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6891									;IN THE SUBTEST) TO LOOP ON ERROR^
  6892
  6893					;**********
  6894
  6895					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6896					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6897					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6898					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6899					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6900					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6901					;INDICATE AN ILLEGAL CARRY GENERATION.
  6902			007521		SN=SN+1
  6903			200000			ZZ=ZZ+ZZ
  6904						IFE	ZZ,<ZZ=1>
  6905	006074	200 00 0 00 041057 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6906	006075	430 00 0 00 041057 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6907	006076	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6908						STOP^
  6909	006077	254 04 0 00 006100 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6910	006100	324 00 0 00 006101 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6911									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6912									;IN THE SUBTEST) TO LOOP ON ERROR^
  6913
  6914					;**********
  6915
  6916					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6917					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6918					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6919					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6920					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6921					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6922					;INDICATE AN ILLEGAL CARRY GENERATION.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0193

  6923			007522		SN=SN+1
  6924			400000			ZZ=ZZ+ZZ
  6925						IFE	ZZ,<ZZ=1>
  6926	006101	200 00 0 00 041060 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6927	006102	430 00 0 00 041060 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6928	006103	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6929						STOP^
  6930	006104	254 04 0 00 006105 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6931	006105	324 00 0 00 006106 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6932									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6933									;IN THE SUBTEST) TO LOOP ON ERROR^
  6934
  6935					;**********
  6936
  6937					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6938					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6939					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6940					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6941					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6942					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6943					;INDICATE AN ILLEGAL CARRY GENERATION.
  6944			007523		SN=SN+1
  6945		000001	000000			ZZ=ZZ+ZZ
  6946						IFE	ZZ,<ZZ=1>
  6947	006106	200 00 0 00 041061 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6948	006107	430 00 0 00 041061 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6949	006110	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6950						STOP^
  6951	006111	254 04 0 00 006112 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6952	006112	324 00 0 00 006113 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6953									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6954									;IN THE SUBTEST) TO LOOP ON ERROR^
  6955
  6956					;**********
  6957
  6958					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6959					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6960					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6961					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6962					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6963					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6964					;INDICATE AN ILLEGAL CARRY GENERATION.
  6965			007524		SN=SN+1
  6966		000002	000000			ZZ=ZZ+ZZ
  6967						IFE	ZZ,<ZZ=1>
  6968	006113	200 00 0 00 041062 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6969	006114	430 00 0 00 041062 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6970	006115	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6971						STOP^
  6972	006116	254 04 0 00 006117 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6973	006117	324 00 0 00 006120 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6974									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6975									;IN THE SUBTEST) TO LOOP ON ERROR^
  6976
  6977					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0194

  6978
  6979					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  6980					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  6981					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  6982					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  6983					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  6984					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  6985					;INDICATE AN ILLEGAL CARRY GENERATION.
  6986			007525		SN=SN+1
  6987		000004	000000			ZZ=ZZ+ZZ
  6988						IFE	ZZ,<ZZ=1>
  6989	006120	200 00 0 00 041063 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  6990	006121	430 00 0 00 041063 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  6991	006122	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  6992						STOP^
  6993	006123	254 04 0 00 006124 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  6994	006124	324 00 0 00 006125 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  6995									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  6996									;IN THE SUBTEST) TO LOOP ON ERROR^
  6997
  6998					;**********
  6999
  7000					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7001					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7002					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7003					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7004					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7005					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7006					;INDICATE AN ILLEGAL CARRY GENERATION.
  7007			007526		SN=SN+1
  7008		000010	000000			ZZ=ZZ+ZZ
  7009						IFE	ZZ,<ZZ=1>
  7010	006125	200 00 0 00 041064 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7011	006126	430 00 0 00 041064 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7012	006127	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7013						STOP^
  7014	006130	254 04 0 00 006131 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7015	006131	324 00 0 00 006132 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7016									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7017									;IN THE SUBTEST) TO LOOP ON ERROR^
  7018
  7019					;**********
  7020
  7021					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7022					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7023					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7024					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7025					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7026					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7027					;INDICATE AN ILLEGAL CARRY GENERATION.
  7028			007527		SN=SN+1
  7029		000020	000000			ZZ=ZZ+ZZ
  7030						IFE	ZZ,<ZZ=1>
  7031	006132	200 00 0 00 041065 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7032	006133	430 00 0 00 041065 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0195

  7033	006134	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7034						STOP^
  7035	006135	254 04 0 00 006136 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7036	006136	324 00 0 00 006137 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7037									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7038									;IN THE SUBTEST) TO LOOP ON ERROR^
  7039
  7040					;**********
  7041
  7042					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7043					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7044					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7045					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7046					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7047					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7048					;INDICATE AN ILLEGAL CARRY GENERATION.
  7049			007530		SN=SN+1
  7050		000040	000000			ZZ=ZZ+ZZ
  7051						IFE	ZZ,<ZZ=1>
  7052	006137	200 00 0 00 041066 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7053	006140	430 00 0 00 041066 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7054	006141	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7055						STOP^
  7056	006142	254 04 0 00 006143 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7057	006143	324 00 0 00 006144 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7058									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7059									;IN THE SUBTEST) TO LOOP ON ERROR^
  7060
  7061					;**********
  7062
  7063					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7064					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7065					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7066					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7067					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7068					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7069					;INDICATE AN ILLEGAL CARRY GENERATION.
  7070			007531		SN=SN+1
  7071		000100	000000			ZZ=ZZ+ZZ
  7072						IFE	ZZ,<ZZ=1>
  7073	006144	200 00 0 00 041067 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7074	006145	430 00 0 00 041067 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7075	006146	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7076						STOP^
  7077	006147	254 04 0 00 006150 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7078	006150	324 00 0 00 006151 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7079									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7080									;IN THE SUBTEST) TO LOOP ON ERROR^
  7081
  7082					;**********
  7083
  7084					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7085					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7086					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7087					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0196

  7088					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7089					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7090					;INDICATE AN ILLEGAL CARRY GENERATION.
  7091			007532		SN=SN+1
  7092		000200	000000			ZZ=ZZ+ZZ
  7093						IFE	ZZ,<ZZ=1>
  7094	006151	200 00 0 00 041070 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7095	006152	430 00 0 00 041070 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7096	006153	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7097						STOP^
  7098	006154	254 04 0 00 006155 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7099	006155	324 00 0 00 006156 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7100									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7101									;IN THE SUBTEST) TO LOOP ON ERROR^
  7102
  7103					;**********
  7104
  7105					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7106					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7107					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7108					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7109					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7110					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7111					;INDICATE AN ILLEGAL CARRY GENERATION.
  7112			007533		SN=SN+1
  7113		000400	000000			ZZ=ZZ+ZZ
  7114						IFE	ZZ,<ZZ=1>
  7115	006156	200 00 0 00 041036 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7116	006157	430 00 0 00 041036 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7117	006160	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7118						STOP^
  7119	006161	254 04 0 00 006162 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7120	006162	324 00 0 00 006163 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7121									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7122									;IN THE SUBTEST) TO LOOP ON ERROR^
  7123
  7124					;**********
  7125
  7126					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7127					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7128					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7129					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7130					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7131					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7132					;INDICATE AN ILLEGAL CARRY GENERATION.
  7133			007534		SN=SN+1
  7134		001000	000000			ZZ=ZZ+ZZ
  7135						IFE	ZZ,<ZZ=1>
  7136	006163	200 00 0 00 041071 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7137	006164	430 00 0 00 041071 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7138	006165	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7139						STOP^
  7140	006166	254 04 0 00 006167 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7141	006167	324 00 0 00 006170 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7142									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0197

  7143									;IN THE SUBTEST) TO LOOP ON ERROR^
  7144
  7145					;**********
  7146
  7147					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7148					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7149					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7150					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7151					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7152					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7153					;INDICATE AN ILLEGAL CARRY GENERATION.
  7154			007535		SN=SN+1
  7155		002000	000000			ZZ=ZZ+ZZ
  7156						IFE	ZZ,<ZZ=1>
  7157	006170	200 00 0 00 041072 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7158	006171	430 00 0 00 041072 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7159	006172	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7160						STOP^
  7161	006173	254 04 0 00 006174 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7162	006174	324 00 0 00 006175 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7163									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7164									;IN THE SUBTEST) TO LOOP ON ERROR^
  7165
  7166					;**********
  7167
  7168					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7169					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7170					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7171					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7172					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7173					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7174					;INDICATE AN ILLEGAL CARRY GENERATION.
  7175			007536		SN=SN+1
  7176		004000	000000			ZZ=ZZ+ZZ
  7177						IFE	ZZ,<ZZ=1>
  7178	006175	200 00 0 00 041073 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7179	006176	430 00 0 00 041073 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7180	006177	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7181						STOP^
  7182	006200	254 04 0 00 006201 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7183	006201	324 00 0 00 006202 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7184									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7185									;IN THE SUBTEST) TO LOOP ON ERROR^
  7186
  7187					;**********
  7188
  7189					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7190					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7191					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7192					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7193					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7194					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7195					;INDICATE AN ILLEGAL CARRY GENERATION.
  7196			007537		SN=SN+1
  7197		010000	000000			ZZ=ZZ+ZZ
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0198

  7198						IFE	ZZ,<ZZ=1>
  7199	006202	200 00 0 00 041074 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7200	006203	430 00 0 00 041074 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7201	006204	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7202						STOP^
  7203	006205	254 04 0 00 006206 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7204	006206	324 00 0 00 006207 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7205									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7206									;IN THE SUBTEST) TO LOOP ON ERROR^
  7207
  7208					;**********
  7209
  7210					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7211					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7212					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7213					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7214					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7215					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7216					;INDICATE AN ILLEGAL CARRY GENERATION.
  7217			007540		SN=SN+1
  7218		020000	000000			ZZ=ZZ+ZZ
  7219						IFE	ZZ,<ZZ=1>
  7220	006207	200 00 0 00 041075 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7221	006210	430 00 0 00 041075 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7222	006211	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7223						STOP^
  7224	006212	254 04 0 00 006213 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7225	006213	324 00 0 00 006214 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7226									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7227									;IN THE SUBTEST) TO LOOP ON ERROR^
  7228
  7229					;**********
  7230
  7231					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7232					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7233					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7234					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7235					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7236					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7237					;INDICATE AN ILLEGAL CARRY GENERATION.
  7238			007541		SN=SN+1
  7239		040000	000000			ZZ=ZZ+ZZ
  7240						IFE	ZZ,<ZZ=1>
  7241	006214	200 00 0 00 041076 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7242	006215	430 00 0 00 041076 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7243	006216	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7244						STOP^
  7245	006217	254 04 0 00 006220 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7246	006220	324 00 0 00 006221 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7247									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7248									;IN THE SUBTEST) TO LOOP ON ERROR^
  7249
  7250					;**********
  7251
  7252					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0199

  7253					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7254					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7255					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7256					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7257					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7258					;INDICATE AN ILLEGAL CARRY GENERATION.
  7259			007542		SN=SN+1
  7260		100000	000000			ZZ=ZZ+ZZ
  7261						IFE	ZZ,<ZZ=1>
  7262	006221	200 00 0 00 041077 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7263	006222	430 00 0 00 041077 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7264	006223	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7265						STOP^
  7266	006224	254 04 0 00 006225 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7267	006225	324 00 0 00 006226 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7268									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7269									;IN THE SUBTEST) TO LOOP ON ERROR^
  7270
  7271					;**********
  7272
  7273					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7274					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7275					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7276					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7277					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7278					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7279					;INDICATE AN ILLEGAL CARRY GENERATION.
  7280			007543		SN=SN+1
  7281		200000	000000			ZZ=ZZ+ZZ
  7282						IFE	ZZ,<ZZ=1>
  7283	006226	200 00 0 00 041100 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7284	006227	430 00 0 00 041100 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7285	006230	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7286						STOP^
  7287	006231	254 04 0 00 006232 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7288	006232	324 00 0 00 006233 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7289									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7290									;IN THE SUBTEST) TO LOOP ON ERROR^
  7291
  7292					;**********
  7293
  7294					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION
  7295					;WHERE C(AC) = C(E) IS AN AC CONTAINING ALL ZEROS.  FIRST,
  7296					;THE AC IS INITIALIZED WITH A WORD CONTAINING ALL ZEROS EXCEPT
  7297					;FOR ONE FLOATING ONE; THEN, XOR IS EXECUTED WITH E CONTAINING THE SAME
  7298					;NUMBER.  THE RESULT SHOULD BE AN AC CONTAINING ALL ZEROS.  THIS TEST
  7299					;IS REPEATED 36 TIMES.  IF ANY BIT IN THE RESULT IS NON-ZERO, IT MAY
  7300					;INDICATE AN ILLEGAL CARRY GENERATION.
  7301			007544		SN=SN+1
  7302		400000	000000			ZZ=ZZ+ZZ
  7303						IFE	ZZ,<ZZ=1>
  7304	006233	200 00 0 00 041030 		MOVE	[ZZ]		;INITIALIZE AC WITH ONE FLOATING BIT SET
  7305	006234	430 00 0 00 041030 		XOR	[ZZ]		;*XOR WITH C(AC)=C(E) SHOULD RESULT IN C(AC)=0
  7306	006235	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7307						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 30-14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0200

  7308	006236	254 04 0 00 006237 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7309	006237	324 00 0 00 006240 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7310									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7311									;IN THE SUBTEST) TO LOOP ON ERROR^
  7312
  7313					;**********
  7314
  7315					;THIS TEST VERIFIES THAT THE RESULT OF AN XOR INSTRUCTION WHERE
  7316					;C(AC)=C(E)=0 IS AN AC CONTAINING ALL ZEROS; FIRST THE AC IS CLEARED; THEN
  7317					;XOR IS EXECUTED WITH C(E)=0.  THE RESULT IN THE AC IS CHECKED FOR ALL ZEROS
  7318
  7319	006240	200 00 0 00 041025 	A7600:	MOVE	[0]		;INITIALIZE AC TO ALL ZEROS
  7320	006241	430 00 0 00 041025 		XOR	[0]		;*XOR WITH C(AC)=C(E)=0 SHOULD RESULT INC(AC)=0
  7321	006242	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7322						STOP^
  7323	006243	254 04 0 00 006244 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7324	006244	324 00 0 00 006245 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7325									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7326									;IN THE SUBTEST) TO LOOP ON ERROR^
  7327
  7328					;**********
  7329
  7330					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7331					;C(AC)=0 AND C(E) ALL ONES IS AN AC CONTAINING ALL ZEROS SINCE
  7332					;THE EQUIVALENCE FUNCTION SHOULD SET ONLY LIKE BITS.  FIRST, THE AC
  7333					;SHOULD BE CLEARED; THEN, EQV IS EXECUTED WITH E CONTAINING ALL ONES.
  7334					;THE AC IS THEN CHECKED FOR ALL ZEROS
  7335
  7336	006245	200 00 0 00 041025 	A7700:	MOVE	[0]		;CLEAR THE AC
  7337	006246	444 00 0 00 041026 		EQV	[-1]		;*EQV WITH C(AC)=0 AND C(E) ALL ONES SHOULD
  7338									;RESULT IN C(AC)=0
  7339	006247	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  7340						STOP^
  7341	006250	254 04 0 00 006251 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7342	006251	324 00 0 00 006252 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7343									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7344									;IN THE SUBTEST) TO LOOP ON ERROR^
  7345
  7346					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0201

  7347			010000		SN=10000
  7348			000000			ZZ=0
  7349
  7350					A10000:	REPEAT	^D18,
  7351					<;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7352					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7353					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7354					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7355					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7356					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7357					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7358					SN=SN+1
  7359						ZZ=ZZ+ZZ+1
  7360						IFE	<ZZ-1>,<ZZ=-2>
  7361						MOVE	[0]		;PRESET AC TO ALL ZEROS
  7362						EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7363									;RESULT IN C(AC) NON-ZERO
  7364						SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7365						STOP
  7366					
  7367					;**********
  7368					>
  7369					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7370					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7371					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7372					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7373					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7374					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7375					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7376			010001		SN=SN+1
  7377			000001			ZZ=ZZ+ZZ+1
  7378		777777	777776			IFE	<ZZ-1>,<ZZ=-2>
  7379	006252	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7380	006253	444 00 0 00 041105 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7381									;RESULT IN C(AC) NON-ZERO
  7382	006254	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7383						STOP^
  7384	006255	254 04 0 00 006256 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7385	006256	324 00 0 00 006257 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7386									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7387									;IN THE SUBTEST) TO LOOP ON ERROR^
  7388
  7389					;**********
  7390
  7391					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7392					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7393					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7394					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7395					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7396					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7397					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7398			010002		SN=SN+1
  7399		777777	777775			ZZ=ZZ+ZZ+1
  7400						IFE	<ZZ-1>,<ZZ=-2>
  7401	006257	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0202

  7402	006260	444 00 0 00 041106 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7403									;RESULT IN C(AC) NON-ZERO
  7404	006261	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7405						STOP^
  7406	006262	254 04 0 00 006263 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7407	006263	324 00 0 00 006264 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7408									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7409									;IN THE SUBTEST) TO LOOP ON ERROR^
  7410
  7411					;**********
  7412
  7413					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7414					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7415					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7416					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7417					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7418					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7419					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7420			010003		SN=SN+1
  7421		777777	777773			ZZ=ZZ+ZZ+1
  7422						IFE	<ZZ-1>,<ZZ=-2>
  7423	006264	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7424	006265	444 00 0 00 041107 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7425									;RESULT IN C(AC) NON-ZERO
  7426	006266	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7427						STOP^
  7428	006267	254 04 0 00 006270 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7429	006270	324 00 0 00 006271 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7430									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7431									;IN THE SUBTEST) TO LOOP ON ERROR^
  7432
  7433					;**********
  7434
  7435					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7436					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7437					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7438					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7439					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7440					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7441					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7442			010004		SN=SN+1
  7443		777777	777767			ZZ=ZZ+ZZ+1
  7444						IFE	<ZZ-1>,<ZZ=-2>
  7445	006271	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7446	006272	444 00 0 00 041110 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7447									;RESULT IN C(AC) NON-ZERO
  7448	006273	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7449						STOP^
  7450	006274	254 04 0 00 006275 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7451	006275	324 00 0 00 006276 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7452									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7453									;IN THE SUBTEST) TO LOOP ON ERROR^
  7454
  7455					;**********
  7456
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0203

  7457					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7458					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7459					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7460					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7461					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7462					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7463					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7464			010005		SN=SN+1
  7465		777777	777757			ZZ=ZZ+ZZ+1
  7466						IFE	<ZZ-1>,<ZZ=-2>
  7467	006276	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7468	006277	444 00 0 00 041111 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7469									;RESULT IN C(AC) NON-ZERO
  7470	006300	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7471						STOP^
  7472	006301	254 04 0 00 006302 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7473	006302	324 00 0 00 006303 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7474									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7475									;IN THE SUBTEST) TO LOOP ON ERROR^
  7476
  7477					;**********
  7478
  7479					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7480					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7481					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7482					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7483					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7484					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7485					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7486			010006		SN=SN+1
  7487		777777	777737			ZZ=ZZ+ZZ+1
  7488						IFE	<ZZ-1>,<ZZ=-2>
  7489	006303	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7490	006304	444 00 0 00 041112 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7491									;RESULT IN C(AC) NON-ZERO
  7492	006305	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7493						STOP^
  7494	006306	254 04 0 00 006307 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7495	006307	324 00 0 00 006310 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7496									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7497									;IN THE SUBTEST) TO LOOP ON ERROR^
  7498
  7499					;**********
  7500
  7501					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7502					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7503					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7504					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7505					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7506					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7507					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7508			010007		SN=SN+1
  7509		777777	777677			ZZ=ZZ+ZZ+1
  7510						IFE	<ZZ-1>,<ZZ=-2>
  7511	006310	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0204

  7512	006311	444 00 0 00 041113 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7513									;RESULT IN C(AC) NON-ZERO
  7514	006312	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7515						STOP^
  7516	006313	254 04 0 00 006314 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7517	006314	324 00 0 00 006315 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7518									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7519									;IN THE SUBTEST) TO LOOP ON ERROR^
  7520
  7521					;**********
  7522
  7523					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7524					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7525					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7526					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7527					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7528					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7529					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7530			010010		SN=SN+1
  7531		777777	777577			ZZ=ZZ+ZZ+1
  7532						IFE	<ZZ-1>,<ZZ=-2>
  7533	006315	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7534	006316	444 00 0 00 041114 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7535									;RESULT IN C(AC) NON-ZERO
  7536	006317	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7537						STOP^
  7538	006320	254 04 0 00 006321 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7539	006321	324 00 0 00 006322 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7540									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7541									;IN THE SUBTEST) TO LOOP ON ERROR^
  7542
  7543					;**********
  7544
  7545					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7546					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7547					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7548					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7549					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7550					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7551					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7552			010011		SN=SN+1
  7553		777777	777377			ZZ=ZZ+ZZ+1
  7554						IFE	<ZZ-1>,<ZZ=-2>
  7555	006322	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7556	006323	444 00 0 00 041115 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7557									;RESULT IN C(AC) NON-ZERO
  7558	006324	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7559						STOP^
  7560	006325	254 04 0 00 006326 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7561	006326	324 00 0 00 006327 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7562									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7563									;IN THE SUBTEST) TO LOOP ON ERROR^
  7564
  7565					;**********
  7566
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0205

  7567					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7568					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7569					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7570					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7571					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7572					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7573					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7574			010012		SN=SN+1
  7575		777777	776777			ZZ=ZZ+ZZ+1
  7576						IFE	<ZZ-1>,<ZZ=-2>
  7577	006327	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7578	006330	444 00 0 00 041116 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7579									;RESULT IN C(AC) NON-ZERO
  7580	006331	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7581						STOP^
  7582	006332	254 04 0 00 006333 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7583	006333	324 00 0 00 006334 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7584									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7585									;IN THE SUBTEST) TO LOOP ON ERROR^
  7586
  7587					;**********
  7588
  7589					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7590					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7591					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7592					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7593					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7594					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7595					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7596			010013		SN=SN+1
  7597		777777	775777			ZZ=ZZ+ZZ+1
  7598						IFE	<ZZ-1>,<ZZ=-2>
  7599	006334	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7600	006335	444 00 0 00 041117 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7601									;RESULT IN C(AC) NON-ZERO
  7602	006336	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7603						STOP^
  7604	006337	254 04 0 00 006340 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7605	006340	324 00 0 00 006341 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7606									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7607									;IN THE SUBTEST) TO LOOP ON ERROR^
  7608
  7609					;**********
  7610
  7611					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7612					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7613					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7614					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7615					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7616					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7617					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7618			010014		SN=SN+1
  7619		777777	773777			ZZ=ZZ+ZZ+1
  7620						IFE	<ZZ-1>,<ZZ=-2>
  7621	006341	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0206

  7622	006342	444 00 0 00 041120 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7623									;RESULT IN C(AC) NON-ZERO
  7624	006343	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7625						STOP^
  7626	006344	254 04 0 00 006345 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7627	006345	324 00 0 00 006346 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7628									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7629									;IN THE SUBTEST) TO LOOP ON ERROR^
  7630
  7631					;**********
  7632
  7633					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7634					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7635					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7636					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7637					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7638					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7639					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7640			010015		SN=SN+1
  7641		777777	767777			ZZ=ZZ+ZZ+1
  7642						IFE	<ZZ-1>,<ZZ=-2>
  7643	006346	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7644	006347	444 00 0 00 041121 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7645									;RESULT IN C(AC) NON-ZERO
  7646	006350	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7647						STOP^
  7648	006351	254 04 0 00 006352 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7649	006352	324 00 0 00 006353 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7650									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7651									;IN THE SUBTEST) TO LOOP ON ERROR^
  7652
  7653					;**********
  7654
  7655					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7656					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7657					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7658					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7659					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7660					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7661					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7662			010016		SN=SN+1
  7663		777777	757777			ZZ=ZZ+ZZ+1
  7664						IFE	<ZZ-1>,<ZZ=-2>
  7665	006353	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7666	006354	444 00 0 00 041122 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7667									;RESULT IN C(AC) NON-ZERO
  7668	006355	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7669						STOP^
  7670	006356	254 04 0 00 006357 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7671	006357	324 00 0 00 006360 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7672									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7673									;IN THE SUBTEST) TO LOOP ON ERROR^
  7674
  7675					;**********
  7676
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0207

  7677					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7678					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7679					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7680					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7681					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7682					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7683					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7684			010017		SN=SN+1
  7685		777777	737777			ZZ=ZZ+ZZ+1
  7686						IFE	<ZZ-1>,<ZZ=-2>
  7687	006360	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7688	006361	444 00 0 00 041123 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7689									;RESULT IN C(AC) NON-ZERO
  7690	006362	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7691						STOP^
  7692	006363	254 04 0 00 006364 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7693	006364	324 00 0 00 006365 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7694									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7695									;IN THE SUBTEST) TO LOOP ON ERROR^
  7696
  7697					;**********
  7698
  7699					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7700					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7701					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7702					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7703					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7704					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7705					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7706			010020		SN=SN+1
  7707		777777	677777			ZZ=ZZ+ZZ+1
  7708						IFE	<ZZ-1>,<ZZ=-2>
  7709	006365	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7710	006366	444 00 0 00 041124 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7711									;RESULT IN C(AC) NON-ZERO
  7712	006367	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7713						STOP^
  7714	006370	254 04 0 00 006371 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7715	006371	324 00 0 00 006372 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7716									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7717									;IN THE SUBTEST) TO LOOP ON ERROR^
  7718
  7719					;**********
  7720
  7721					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7722					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7723					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7724					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7725					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7726					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7727					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7728			010021		SN=SN+1
  7729		777777	577777			ZZ=ZZ+ZZ+1
  7730						IFE	<ZZ-1>,<ZZ=-2>
  7731	006372	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0208

  7732	006373	444 00 0 00 041125 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7733									;RESULT IN C(AC) NON-ZERO
  7734	006374	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7735						STOP^
  7736	006375	254 04 0 00 006376 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7737	006376	324 00 0 00 006377 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7738									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7739									;IN THE SUBTEST) TO LOOP ON ERROR^
  7740
  7741					;**********
  7742
  7743					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7744					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7745					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7746					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7747					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7748					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7749					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7750			010022		SN=SN+1
  7751		777777	377777			ZZ=ZZ+ZZ+1
  7752						IFE	<ZZ-1>,<ZZ=-2>
  7753	006377	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7754	006400	444 00 0 00 041126 		EQV	[XWD -1,ZZ]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7755									;RESULT IN C(AC) NON-ZERO
  7756	006401	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7757						STOP^
  7758	006402	254 04 0 00 006403 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7759	006403	324 00 0 00 006404 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7760									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7761									;IN THE SUBTEST) TO LOOP ON ERROR^
  7762
  7763					;**********
  7764
  7765			010100		SN=10100
  7766			000000			ZZ=0
  7767
  7768					A10100:	REPEAT	^D18,
  7769					<;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7770					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7771					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7772					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7773					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7774					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7775					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7776					SN=SN+1
  7777						ZZ=ZZ+ZZ+1
  7778						IFE	<ZZ-1>,<ZZ=-2>
  7779						MOVE	[0]		;PRESET AC TO ALL ZEROS
  7780						EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7781									;RESULT IN C(AC) NON-ZERO
  7782						SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7783						STOP
  7784					
  7785					;**********
  7786					>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0209

  7787					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7788					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7789					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7790					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7791					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7792					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7793					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7794			010101		SN=SN+1
  7795			000001			ZZ=ZZ+ZZ+1
  7796		777777	777776			IFE	<ZZ-1>,<ZZ=-2>
  7797	006404	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7798	006405	444 00 0 00 041127 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7799									;RESULT IN C(AC) NON-ZERO
  7800	006406	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7801						STOP^
  7802	006407	254 04 0 00 006410 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7803	006410	324 00 0 00 006411 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7804									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7805									;IN THE SUBTEST) TO LOOP ON ERROR^
  7806
  7807					;**********
  7808
  7809					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7810					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7811					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7812					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7813					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7814					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7815					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7816			010102		SN=SN+1
  7817		777777	777775			ZZ=ZZ+ZZ+1
  7818						IFE	<ZZ-1>,<ZZ=-2>
  7819	006411	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7820	006412	444 00 0 00 041130 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7821									;RESULT IN C(AC) NON-ZERO
  7822	006413	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7823						STOP^
  7824	006414	254 04 0 00 006415 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7825	006415	324 00 0 00 006416 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7826									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7827									;IN THE SUBTEST) TO LOOP ON ERROR^
  7828
  7829					;**********
  7830
  7831					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7832					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7833					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7834					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7835					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7836					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7837					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7838			010103		SN=SN+1
  7839		777777	777773			ZZ=ZZ+ZZ+1
  7840						IFE	<ZZ-1>,<ZZ=-2>
  7841	006416	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0210

  7842	006417	444 00 0 00 041131 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7843									;RESULT IN C(AC) NON-ZERO
  7844	006420	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7845						STOP^
  7846	006421	254 04 0 00 006422 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7847	006422	324 00 0 00 006423 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7848									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7849									;IN THE SUBTEST) TO LOOP ON ERROR^
  7850
  7851					;**********
  7852
  7853					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7854					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7855					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7856					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7857					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7858					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7859					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7860			010104		SN=SN+1
  7861		777777	777767			ZZ=ZZ+ZZ+1
  7862						IFE	<ZZ-1>,<ZZ=-2>
  7863	006423	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7864	006424	444 00 0 00 041132 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7865									;RESULT IN C(AC) NON-ZERO
  7866	006425	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7867						STOP^
  7868	006426	254 04 0 00 006427 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7869	006427	324 00 0 00 006430 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7870									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7871									;IN THE SUBTEST) TO LOOP ON ERROR^
  7872
  7873					;**********
  7874
  7875					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7876					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7877					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7878					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7879					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7880					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7881					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7882			010105		SN=SN+1
  7883		777777	777757			ZZ=ZZ+ZZ+1
  7884						IFE	<ZZ-1>,<ZZ=-2>
  7885	006430	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7886	006431	444 00 0 00 041133 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7887									;RESULT IN C(AC) NON-ZERO
  7888	006432	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7889						STOP^
  7890	006433	254 04 0 00 006434 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7891	006434	324 00 0 00 006435 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7892									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7893									;IN THE SUBTEST) TO LOOP ON ERROR^
  7894
  7895					;**********
  7896
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0211

  7897					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7898					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7899					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7900					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7901					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7902					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7903					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7904			010106		SN=SN+1
  7905		777777	777737			ZZ=ZZ+ZZ+1
  7906						IFE	<ZZ-1>,<ZZ=-2>
  7907	006435	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7908	006436	444 00 0 00 041134 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7909									;RESULT IN C(AC) NON-ZERO
  7910	006437	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7911						STOP^
  7912	006440	254 04 0 00 006441 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7913	006441	324 00 0 00 006442 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7914									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7915									;IN THE SUBTEST) TO LOOP ON ERROR^
  7916
  7917					;**********
  7918
  7919					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7920					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7921					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7922					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7923					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7924					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7925					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7926			010107		SN=SN+1
  7927		777777	777677			ZZ=ZZ+ZZ+1
  7928						IFE	<ZZ-1>,<ZZ=-2>
  7929	006442	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7930	006443	444 00 0 00 041135 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7931									;RESULT IN C(AC) NON-ZERO
  7932	006444	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7933						STOP^
  7934	006445	254 04 0 00 006446 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7935	006446	324 00 0 00 006447 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7936									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7937									;IN THE SUBTEST) TO LOOP ON ERROR^
  7938
  7939					;**********
  7940
  7941					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7942					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7943					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7944					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7945					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7946					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7947					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7948			010110		SN=SN+1
  7949		777777	777577			ZZ=ZZ+ZZ+1
  7950						IFE	<ZZ-1>,<ZZ=-2>
  7951	006447	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0212

  7952	006450	444 00 0 00 041136 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7953									;RESULT IN C(AC) NON-ZERO
  7954	006451	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7955						STOP^
  7956	006452	254 04 0 00 006453 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7957	006453	324 00 0 00 006454 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7958									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7959									;IN THE SUBTEST) TO LOOP ON ERROR^
  7960
  7961					;**********
  7962
  7963					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7964					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7965					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7966					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7967					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7968					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7969					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7970			010111		SN=SN+1
  7971		777777	777377			ZZ=ZZ+ZZ+1
  7972						IFE	<ZZ-1>,<ZZ=-2>
  7973	006454	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7974	006455	444 00 0 00 041137 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7975									;RESULT IN C(AC) NON-ZERO
  7976	006456	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7977						STOP^
  7978	006457	254 04 0 00 006460 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  7979	006460	324 00 0 00 006461 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  7980									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  7981									;IN THE SUBTEST) TO LOOP ON ERROR^
  7982
  7983					;**********
  7984
  7985					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  7986					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  7987					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  7988					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  7989					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  7990					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  7991					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  7992			010112		SN=SN+1
  7993		777777	776777			ZZ=ZZ+ZZ+1
  7994						IFE	<ZZ-1>,<ZZ=-2>
  7995	006461	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  7996	006462	444 00 0 00 041140 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  7997									;RESULT IN C(AC) NON-ZERO
  7998	006463	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  7999						STOP^
  8000	006464	254 04 0 00 006465 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8001	006465	324 00 0 00 006466 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8002									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8003									;IN THE SUBTEST) TO LOOP ON ERROR^
  8004
  8005					;**********
  8006
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0213

  8007					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8008					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8009					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8010					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8011					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8012					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8013					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8014			010113		SN=SN+1
  8015		777777	775777			ZZ=ZZ+ZZ+1
  8016						IFE	<ZZ-1>,<ZZ=-2>
  8017	006466	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  8018	006467	444 00 0 00 041141 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8019									;RESULT IN C(AC) NON-ZERO
  8020	006470	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8021						STOP^
  8022	006471	254 04 0 00 006472 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8023	006472	324 00 0 00 006473 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8024									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8025									;IN THE SUBTEST) TO LOOP ON ERROR^
  8026
  8027					;**********
  8028
  8029					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8030					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8031					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8032					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8033					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8034					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8035					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8036			010114		SN=SN+1
  8037		777777	773777			ZZ=ZZ+ZZ+1
  8038						IFE	<ZZ-1>,<ZZ=-2>
  8039	006473	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  8040	006474	444 00 0 00 041142 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8041									;RESULT IN C(AC) NON-ZERO
  8042	006475	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8043						STOP^
  8044	006476	254 04 0 00 006477 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8045	006477	324 00 0 00 006500 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8046									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8047									;IN THE SUBTEST) TO LOOP ON ERROR^
  8048
  8049					;**********
  8050
  8051					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8052					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8053					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8054					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8055					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8056					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8057					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8058			010115		SN=SN+1
  8059		777777	767777			ZZ=ZZ+ZZ+1
  8060						IFE	<ZZ-1>,<ZZ=-2>
  8061	006500	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0214

  8062	006501	444 00 0 00 041143 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8063									;RESULT IN C(AC) NON-ZERO
  8064	006502	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8065						STOP^
  8066	006503	254 04 0 00 006504 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8067	006504	324 00 0 00 006505 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8068									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8069									;IN THE SUBTEST) TO LOOP ON ERROR^
  8070
  8071					;**********
  8072
  8073					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8074					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8075					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8076					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8077					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8078					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8079					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8080			010116		SN=SN+1
  8081		777777	757777			ZZ=ZZ+ZZ+1
  8082						IFE	<ZZ-1>,<ZZ=-2>
  8083	006505	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  8084	006506	444 00 0 00 041144 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8085									;RESULT IN C(AC) NON-ZERO
  8086	006507	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8087						STOP^
  8088	006510	254 04 0 00 006511 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8089	006511	324 00 0 00 006512 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8090									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8091									;IN THE SUBTEST) TO LOOP ON ERROR^
  8092
  8093					;**********
  8094
  8095					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8096					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8097					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8098					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8099					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8100					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8101					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8102			010117		SN=SN+1
  8103		777777	737777			ZZ=ZZ+ZZ+1
  8104						IFE	<ZZ-1>,<ZZ=-2>
  8105	006512	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  8106	006513	444 00 0 00 041145 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8107									;RESULT IN C(AC) NON-ZERO
  8108	006514	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8109						STOP^
  8110	006515	254 04 0 00 006516 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8111	006516	324 00 0 00 006517 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8112									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8113									;IN THE SUBTEST) TO LOOP ON ERROR^
  8114
  8115					;**********
  8116
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0215

  8117					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8118					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8119					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8120					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8121					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8122					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8123					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8124			010120		SN=SN+1
  8125		777777	677777			ZZ=ZZ+ZZ+1
  8126						IFE	<ZZ-1>,<ZZ=-2>
  8127	006517	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  8128	006520	444 00 0 00 041146 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8129									;RESULT IN C(AC) NON-ZERO
  8130	006521	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8131						STOP^
  8132	006522	254 04 0 00 006523 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8133	006523	324 00 0 00 006524 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8134									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8135									;IN THE SUBTEST) TO LOOP ON ERROR^
  8136
  8137					;**********
  8138
  8139					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8140					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8141					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8142					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8143					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8144					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8145					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8146			010121		SN=SN+1
  8147		777777	577777			ZZ=ZZ+ZZ+1
  8148						IFE	<ZZ-1>,<ZZ=-2>
  8149	006524	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
  8150	006525	444 00 0 00 041147 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8151									;RESULT IN C(AC) NON-ZERO
  8152	006526	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8153						STOP^
  8154	006527	254 04 0 00 006530 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8155	006530	324 00 0 00 006531 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8156									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8157									;IN THE SUBTEST) TO LOOP ON ERROR^
  8158
  8159					;**********
  8160
  8161					;THIS TEST VERIFIES THAT THE RESULT OF AN EQV INSTRUCTION WHERE
  8162					;C(AC)=0 AND C(E) IS ALL ONES EXCEPT FOR A ZERO IN ONLY ONE BIT IS AN
  8163					;AC WHOSE CONTENTS IS NON-ZERO (A ONE RESULTS IN THE BIT WHERE
  8164					;E CONTAINS A ZERO).  THIS TEST IS REPEATED 36 TIMES SO THAT EACH BIT
  8165					;OF THE RESULT IS A ONE ONCE AND ONLY ONCE.  FIRST, THE AC IS
  8166					;CLEARED; THEN,EQV IS EXECUTED WITH ONE BIT OF E EQUAL TO ZERO.  THE 
  8167					;RESULT IN THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  8168			010122		SN=SN+1
  8169		777777	377777			ZZ=ZZ+ZZ+1
  8170						IFE	<ZZ-1>,<ZZ=-2>
  8171	006531	200 00 0 00 041025 		MOVE	[0]		;PRESET AC TO ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 31-15
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0216

  8172	006532	444 00 0 00 041027 		EQV	[XWD ZZ,-1]	;*EQV WITH C(AC)=0 AND ONE BIT OF C(E)=0 SHOULD
  8173									;RESULT IN C(AC) NON-ZERO
  8174	006533	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) NON-ZERO
  8175						STOP^
  8176	006534	254 04 0 00 006535 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8177	006535	324 00 0 00 006536 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8178									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8179									;IN THE SUBTEST) TO LOOP ON ERROR^
  8180
  8181					;**********
  8182
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 32
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0217

  8183					;THIS TEST VERIFIES THAT THE RESULT OF AN AC CONTAINING ALL ZEROS
  8184					;EQUIVALENCED WITH AN E CONTAINING ALL ZEROS IS AN AC CONTAINING ALL
  8185					;ONES; AND FUTHERMORE, IF THIS AC CONTAINING ALL ONES IS EQUIVALANCED
  8186					;WITH AN E CONTAINING ALL ZEROS, THE FINAL RESULT IN THE AC
  8187					;SHOULD BE ALL ZEROS.  FIRST, THE AC IS INITIALIZED TO ALL ZEROS, THEN,
  8188					;THIS AC IS EQUIVALENCED TWICE WITH AN E CONTAINING ALL ZEROS.  THE AC IS 
  8189					;THEN CHECKED FOR ALL ZEROS
  8190
  8191	006536	200 00 0 00 041025 	A10200:	MOVE	[0]		;CLEAR THE AC
  8192	006537	444 00 0 00 041025 		EQV	[0]		;*EQV SHOULD RESULT IN C(AC)=ALL ONES
  8193	006540	444 00 0 00 041025 		EQV	[0]		;*EQV SHOULD RESULT IN C(AC)=0
  8194	006541	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8195						STOP^
  8196	006542	254 04 0 00 006543 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8197	006543	324 00 0 00 006544 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8198									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8199									;IN THE SUBTEST) TO LOOP ON ERROR^
  8200
  8201					;**********
  8202
  8203					;THIS TEST VERIFIES THAT THE RESULT OF AN AC CONTAINING ALL ONES 
  8204					;EQUIVALENCED WITH AN E CONTAINING ALL ONES IS AN AC CONTAINING ALL ONES;
  8205					;AND FUTHERMORE, IF THIS AC CONTAINING ALL ONES ISEQUIVALENCED WITH AN E
  8206					;CONTAINING ALL ZEROS, THE FINAL RESULT IN THE AC SHOULD BE ALL ZEROS.
  8207					;FIRST, THE AC IS INITIALIZED TO ALL ONES; THEN, THIS AC IS 
  8208					;EQUIVALENCED WITH AN E OF ALL ONES.  NEXT, THIS SAME AC IS EQUIVALENCED
  8209					;WITH AN E OF ALL ZEROS.  THE AC IS THEN CHECKED FOR ALL ZEROS.
  8210
  8211	006544	200 00 0 00 041026 	A10300:	MOVE	[-1]		;SET C(AC) TO ALL ONES
  8212	006545	444 00 0 00 041026 		EQV	[-1]		;*EQV SHOULD RESULT IN C(AC) OF ALL ONES
  8213	006546	444 00 0 00 041025 		EQV	[0]		;*EQV SHOULD RESULT IN C(AC)=0
  8214	006547	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8215						STOP^
  8216	006550	254 04 0 00 006551 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8217	006551	324 00 0 00 006552 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8218									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8219									;IN THE SUBTEST) TO LOOP ON ERROR^
  8220
  8221					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0218

  8222			013000		SN=13000
  8223			000000			ZZ=0
  8224
  8225					A13000:	REPEAT	^D36,
  8226					<;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8227					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8228					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8229					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8230					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8231					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8232					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8233					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8234					SN=SN+1
  8235						ZZ=ZZ+ZZ
  8236						IFE	ZZ,<ZZ=1>
  8237						MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8238						AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8239						EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8240						EQV	[0]		;RESULTS IN C(AC)=0
  8241						SKIPE			;PASS TEST IF C(AC)=0
  8242						STOP
  8243					
  8244					;**********
  8245					>
  8246					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8247					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8248					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8249					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8250					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8251					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8252					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8253					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8254			013001		SN=SN+1
  8255			000000			ZZ=ZZ+ZZ
  8256			000001			IFE	ZZ,<ZZ=1>
  8257	006552	200 00 0 00 041037 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8258	006553	404 00 0 00 041037 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8259	006554	444 00 0 00 041037 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8260	006555	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8261	006556	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8262						STOP^
  8263	006557	254 04 0 00 006560 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8264	006560	324 00 0 00 006561 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8265									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8266									;IN THE SUBTEST) TO LOOP ON ERROR^
  8267
  8268					;**********
  8269
  8270					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8271					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8272					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8273					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8274					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8275					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8276					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-1
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0219

  8277					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8278			013002		SN=SN+1
  8279			000002			ZZ=ZZ+ZZ
  8280						IFE	ZZ,<ZZ=1>
  8281	006561	200 00 0 00 041040 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8282	006562	404 00 0 00 041040 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8283	006563	444 00 0 00 041040 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8284	006564	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8285	006565	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8286						STOP^
  8287	006566	254 04 0 00 006567 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8288	006567	324 00 0 00 006570 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8289									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8290									;IN THE SUBTEST) TO LOOP ON ERROR^
  8291
  8292					;**********
  8293
  8294					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8295					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8296					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8297					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8298					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8299					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8300					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8301					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8302			013003		SN=SN+1
  8303			000004			ZZ=ZZ+ZZ
  8304						IFE	ZZ,<ZZ=1>
  8305	006570	200 00 0 00 041041 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8306	006571	404 00 0 00 041041 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8307	006572	444 00 0 00 041041 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8308	006573	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8309	006574	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8310						STOP^
  8311	006575	254 04 0 00 006576 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8312	006576	324 00 0 00 006577 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8313									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8314									;IN THE SUBTEST) TO LOOP ON ERROR^
  8315
  8316					;**********
  8317
  8318					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8319					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8320					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8321					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8322					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8323					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8324					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8325					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8326			013004		SN=SN+1
  8327			000010			ZZ=ZZ+ZZ
  8328						IFE	ZZ,<ZZ=1>
  8329	006577	200 00 0 00 041042 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8330	006600	404 00 0 00 041042 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8331	006601	444 00 0 00 041042 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-2
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0220

  8332	006602	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8333	006603	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8334						STOP^
  8335	006604	254 04 0 00 006605 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8336	006605	324 00 0 00 006606 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8337									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8338									;IN THE SUBTEST) TO LOOP ON ERROR^
  8339
  8340					;**********
  8341
  8342					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8343					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8344					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8345					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8346					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8347					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8348					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8349					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8350			013005		SN=SN+1
  8351			000020			ZZ=ZZ+ZZ
  8352						IFE	ZZ,<ZZ=1>
  8353	006606	200 00 0 00 041043 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8354	006607	404 00 0 00 041043 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8355	006610	444 00 0 00 041043 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8356	006611	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8357	006612	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8358						STOP^
  8359	006613	254 04 0 00 006614 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8360	006614	324 00 0 00 006615 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8361									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8362									;IN THE SUBTEST) TO LOOP ON ERROR^
  8363
  8364					;**********
  8365
  8366					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8367					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8368					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8369					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8370					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8371					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8372					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8373					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8374			013006		SN=SN+1
  8375			000040			ZZ=ZZ+ZZ
  8376						IFE	ZZ,<ZZ=1>
  8377	006615	200 00 0 00 041044 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8378	006616	404 00 0 00 041044 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8379	006617	444 00 0 00 041044 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8380	006620	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8381	006621	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8382						STOP^
  8383	006622	254 04 0 00 006623 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8384	006623	324 00 0 00 006624 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8385									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8386									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-3
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0221

  8387
  8388					;**********
  8389
  8390					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8391					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8392					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8393					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8394					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8395					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8396					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8397					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8398			013007		SN=SN+1
  8399			000100			ZZ=ZZ+ZZ
  8400						IFE	ZZ,<ZZ=1>
  8401	006624	200 00 0 00 041045 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8402	006625	404 00 0 00 041045 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8403	006626	444 00 0 00 041045 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8404	006627	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8405	006630	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8406						STOP^
  8407	006631	254 04 0 00 006632 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8408	006632	324 00 0 00 006633 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8409									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8410									;IN THE SUBTEST) TO LOOP ON ERROR^
  8411
  8412					;**********
  8413
  8414					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8415					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8416					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8417					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8418					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8419					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8420					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8421					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8422			013010		SN=SN+1
  8423			000200			ZZ=ZZ+ZZ
  8424						IFE	ZZ,<ZZ=1>
  8425	006633	200 00 0 00 041046 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8426	006634	404 00 0 00 041046 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8427	006635	444 00 0 00 041046 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8428	006636	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8429	006637	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8430						STOP^
  8431	006640	254 04 0 00 006641 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8432	006641	324 00 0 00 006642 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8433									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8434									;IN THE SUBTEST) TO LOOP ON ERROR^
  8435
  8436					;**********
  8437
  8438					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8439					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8440					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8441					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-4
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0222

  8442					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8443					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8444					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8445					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8446			013011		SN=SN+1
  8447			000400			ZZ=ZZ+ZZ
  8448						IFE	ZZ,<ZZ=1>
  8449	006642	200 00 0 00 041047 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8450	006643	404 00 0 00 041047 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8451	006644	444 00 0 00 041047 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8452	006645	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8453	006646	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8454						STOP^
  8455	006647	254 04 0 00 006650 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8456	006650	324 00 0 00 006651 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8457									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8458									;IN THE SUBTEST) TO LOOP ON ERROR^
  8459
  8460					;**********
  8461
  8462					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8463					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8464					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8465					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8466					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8467					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8468					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8469					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8470			013012		SN=SN+1
  8471			001000			ZZ=ZZ+ZZ
  8472						IFE	ZZ,<ZZ=1>
  8473	006651	200 00 0 00 041050 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8474	006652	404 00 0 00 041050 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8475	006653	444 00 0 00 041050 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8476	006654	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8477	006655	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8478						STOP^
  8479	006656	254 04 0 00 006657 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8480	006657	324 00 0 00 006660 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8481									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8482									;IN THE SUBTEST) TO LOOP ON ERROR^
  8483
  8484					;**********
  8485
  8486					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8487					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8488					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8489					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8490					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8491					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8492					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8493					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8494			013013		SN=SN+1
  8495			002000			ZZ=ZZ+ZZ
  8496						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-5
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0223

  8497	006660	200 00 0 00 041051 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8498	006661	404 00 0 00 041051 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8499	006662	444 00 0 00 041051 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8500	006663	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8501	006664	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8502						STOP^
  8503	006665	254 04 0 00 006666 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8504	006666	324 00 0 00 006667 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8505									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8506									;IN THE SUBTEST) TO LOOP ON ERROR^
  8507
  8508					;**********
  8509
  8510					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8511					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8512					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8513					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8514					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8515					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8516					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8517					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8518			013014		SN=SN+1
  8519			004000			ZZ=ZZ+ZZ
  8520						IFE	ZZ,<ZZ=1>
  8521	006667	200 00 0 00 041052 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8522	006670	404 00 0 00 041052 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8523	006671	444 00 0 00 041052 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8524	006672	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8525	006673	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8526						STOP^
  8527	006674	254 04 0 00 006675 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8528	006675	324 00 0 00 006676 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8529									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8530									;IN THE SUBTEST) TO LOOP ON ERROR^
  8531
  8532					;**********
  8533
  8534					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8535					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8536					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8537					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8538					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8539					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8540					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8541					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8542			013015		SN=SN+1
  8543			010000			ZZ=ZZ+ZZ
  8544						IFE	ZZ,<ZZ=1>
  8545	006676	200 00 0 00 041053 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8546	006677	404 00 0 00 041053 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8547	006700	444 00 0 00 041053 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8548	006701	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8549	006702	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8550						STOP^
  8551	006703	254 04 0 00 006704 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-6
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0224

  8552	006704	324 00 0 00 006705 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8553									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8554									;IN THE SUBTEST) TO LOOP ON ERROR^
  8555
  8556					;**********
  8557
  8558					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8559					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8560					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8561					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8562					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8563					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8564					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8565					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8566			013016		SN=SN+1
  8567			020000			ZZ=ZZ+ZZ
  8568						IFE	ZZ,<ZZ=1>
  8569	006705	200 00 0 00 041054 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8570	006706	404 00 0 00 041054 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8571	006707	444 00 0 00 041054 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8572	006710	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8573	006711	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8574						STOP^
  8575	006712	254 04 0 00 006713 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8576	006713	324 00 0 00 006714 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8577									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8578									;IN THE SUBTEST) TO LOOP ON ERROR^
  8579
  8580					;**********
  8581
  8582					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8583					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8584					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8585					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8586					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8587					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8588					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8589					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8590			013017		SN=SN+1
  8591			040000			ZZ=ZZ+ZZ
  8592						IFE	ZZ,<ZZ=1>
  8593	006714	200 00 0 00 041055 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8594	006715	404 00 0 00 041055 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8595	006716	444 00 0 00 041055 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8596	006717	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8597	006720	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8598						STOP^
  8599	006721	254 04 0 00 006722 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8600	006722	324 00 0 00 006723 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8601									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8602									;IN THE SUBTEST) TO LOOP ON ERROR^
  8603
  8604					;**********
  8605
  8606					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-7
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0225

  8607					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8608					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8609					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8610					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8611					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8612					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8613					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8614			013020		SN=SN+1
  8615			100000			ZZ=ZZ+ZZ
  8616						IFE	ZZ,<ZZ=1>
  8617	006723	200 00 0 00 041056 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8618	006724	404 00 0 00 041056 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8619	006725	444 00 0 00 041056 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8620	006726	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8621	006727	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8622						STOP^
  8623	006730	254 04 0 00 006731 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8624	006731	324 00 0 00 006732 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8625									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8626									;IN THE SUBTEST) TO LOOP ON ERROR^
  8627
  8628					;**********
  8629
  8630					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8631					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8632					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8633					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8634					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8635					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8636					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8637					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8638			013021		SN=SN+1
  8639			200000			ZZ=ZZ+ZZ
  8640						IFE	ZZ,<ZZ=1>
  8641	006732	200 00 0 00 041057 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8642	006733	404 00 0 00 041057 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8643	006734	444 00 0 00 041057 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8644	006735	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8645	006736	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8646						STOP^
  8647	006737	254 04 0 00 006740 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8648	006740	324 00 0 00 006741 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8649									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8650									;IN THE SUBTEST) TO LOOP ON ERROR^
  8651
  8652					;**********
  8653
  8654					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8655					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8656					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8657					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8658					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8659					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8660					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8661					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-8
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0226

  8662			013022		SN=SN+1
  8663			400000			ZZ=ZZ+ZZ
  8664						IFE	ZZ,<ZZ=1>
  8665	006741	200 00 0 00 041060 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8666	006742	404 00 0 00 041060 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8667	006743	444 00 0 00 041060 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8668	006744	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8669	006745	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8670						STOP^
  8671	006746	254 04 0 00 006747 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8672	006747	324 00 0 00 006750 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8673									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8674									;IN THE SUBTEST) TO LOOP ON ERROR^
  8675
  8676					;**********
  8677
  8678					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8679					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8680					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8681					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8682					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8683					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8684					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8685					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8686			013023		SN=SN+1
  8687		000001	000000			ZZ=ZZ+ZZ
  8688						IFE	ZZ,<ZZ=1>
  8689	006750	200 00 0 00 041061 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8690	006751	404 00 0 00 041061 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8691	006752	444 00 0 00 041061 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8692	006753	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8693	006754	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8694						STOP^
  8695	006755	254 04 0 00 006756 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8696	006756	324 00 0 00 006757 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8697									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8698									;IN THE SUBTEST) TO LOOP ON ERROR^
  8699
  8700					;**********
  8701
  8702					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8703					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8704					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8705					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8706					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8707					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8708					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8709					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8710			013024		SN=SN+1
  8711		000002	000000			ZZ=ZZ+ZZ
  8712						IFE	ZZ,<ZZ=1>
  8713	006757	200 00 0 00 041062 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8714	006760	404 00 0 00 041062 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8715	006761	444 00 0 00 041062 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8716	006762	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-9
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0227

  8717	006763	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8718						STOP^
  8719	006764	254 04 0 00 006765 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8720	006765	324 00 0 00 006766 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8721									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8722									;IN THE SUBTEST) TO LOOP ON ERROR^
  8723
  8724					;**********
  8725
  8726					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8727					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8728					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8729					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8730					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8731					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8732					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8733					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8734			013025		SN=SN+1
  8735		000004	000000			ZZ=ZZ+ZZ
  8736						IFE	ZZ,<ZZ=1>
  8737	006766	200 00 0 00 041063 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8738	006767	404 00 0 00 041063 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8739	006770	444 00 0 00 041063 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8740	006771	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8741	006772	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8742						STOP^
  8743	006773	254 04 0 00 006774 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8744	006774	324 00 0 00 006775 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8745									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8746									;IN THE SUBTEST) TO LOOP ON ERROR^
  8747
  8748					;**********
  8749
  8750					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8751					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8752					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8753					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8754					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8755					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8756					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8757					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8758			013026		SN=SN+1
  8759		000010	000000			ZZ=ZZ+ZZ
  8760						IFE	ZZ,<ZZ=1>
  8761	006775	200 00 0 00 041064 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8762	006776	404 00 0 00 041064 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8763	006777	444 00 0 00 041064 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8764	007000	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8765	007001	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8766						STOP^
  8767	007002	254 04 0 00 007003 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8768	007003	324 00 0 00 007004 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8769									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8770									;IN THE SUBTEST) TO LOOP ON ERROR^
  8771
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-10
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0228

  8772					;**********
  8773
  8774					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8775					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8776					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8777					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8778					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8779					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8780					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8781					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8782			013027		SN=SN+1
  8783		000020	000000			ZZ=ZZ+ZZ
  8784						IFE	ZZ,<ZZ=1>
  8785	007004	200 00 0 00 041065 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8786	007005	404 00 0 00 041065 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8787	007006	444 00 0 00 041065 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8788	007007	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8789	007010	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8790						STOP^
  8791	007011	254 04 0 00 007012 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8792	007012	324 00 0 00 007013 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8793									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8794									;IN THE SUBTEST) TO LOOP ON ERROR^
  8795
  8796					;**********
  8797
  8798					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8799					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8800					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8801					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8802					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8803					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8804					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8805					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8806			013030		SN=SN+1
  8807		000040	000000			ZZ=ZZ+ZZ
  8808						IFE	ZZ,<ZZ=1>
  8809	007013	200 00 0 00 041066 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8810	007014	404 00 0 00 041066 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8811	007015	444 00 0 00 041066 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8812	007016	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8813	007017	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8814						STOP^
  8815	007020	254 04 0 00 007021 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8816	007021	324 00 0 00 007022 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8817									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8818									;IN THE SUBTEST) TO LOOP ON ERROR^
  8819
  8820					;**********
  8821
  8822					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8823					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8824					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8825					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8826					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-11
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0229

  8827					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8828					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8829					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8830			013031		SN=SN+1
  8831		000100	000000			ZZ=ZZ+ZZ
  8832						IFE	ZZ,<ZZ=1>
  8833	007022	200 00 0 00 041067 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8834	007023	404 00 0 00 041067 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8835	007024	444 00 0 00 041067 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8836	007025	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8837	007026	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8838						STOP^
  8839	007027	254 04 0 00 007030 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8840	007030	324 00 0 00 007031 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8841									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8842									;IN THE SUBTEST) TO LOOP ON ERROR^
  8843
  8844					;**********
  8845
  8846					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8847					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8848					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8849					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8850					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8851					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8852					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8853					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8854			013032		SN=SN+1
  8855		000200	000000			ZZ=ZZ+ZZ
  8856						IFE	ZZ,<ZZ=1>
  8857	007031	200 00 0 00 041070 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8858	007032	404 00 0 00 041070 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8859	007033	444 00 0 00 041070 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8860	007034	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8861	007035	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8862						STOP^
  8863	007036	254 04 0 00 007037 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8864	007037	324 00 0 00 007040 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8865									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8866									;IN THE SUBTEST) TO LOOP ON ERROR^
  8867
  8868					;**********
  8869
  8870					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8871					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8872					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8873					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8874					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8875					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8876					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8877					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8878			013033		SN=SN+1
  8879		000400	000000			ZZ=ZZ+ZZ
  8880						IFE	ZZ,<ZZ=1>
  8881	007040	200 00 0 00 041036 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-12
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0230

  8882	007041	404 00 0 00 041036 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8883	007042	444 00 0 00 041036 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8884	007043	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8885	007044	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8886						STOP^
  8887	007045	254 04 0 00 007046 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8888	007046	324 00 0 00 007047 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8889									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8890									;IN THE SUBTEST) TO LOOP ON ERROR^
  8891
  8892					;**********
  8893
  8894					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8895					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8896					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8897					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8898					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8899					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8900					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8901					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8902			013034		SN=SN+1
  8903		001000	000000			ZZ=ZZ+ZZ
  8904						IFE	ZZ,<ZZ=1>
  8905	007047	200 00 0 00 041071 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8906	007050	404 00 0 00 041071 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8907	007051	444 00 0 00 041071 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8908	007052	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8909	007053	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8910						STOP^
  8911	007054	254 04 0 00 007055 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8912	007055	324 00 0 00 007056 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8913									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8914									;IN THE SUBTEST) TO LOOP ON ERROR^
  8915
  8916					;**********
  8917
  8918					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8919					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8920					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8921					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8922					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8923					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8924					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8925					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8926			013035		SN=SN+1
  8927		002000	000000			ZZ=ZZ+ZZ
  8928						IFE	ZZ,<ZZ=1>
  8929	007056	200 00 0 00 041072 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8930	007057	404 00 0 00 041072 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8931	007060	444 00 0 00 041072 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8932	007061	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8933	007062	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8934						STOP^
  8935	007063	254 04 0 00 007064 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8936	007064	324 00 0 00 007065 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-13
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0231

  8937									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8938									;IN THE SUBTEST) TO LOOP ON ERROR^
  8939
  8940					;**********
  8941
  8942					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8943					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8944					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8945					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8946					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8947					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8948					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8949					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8950			013036		SN=SN+1
  8951		004000	000000			ZZ=ZZ+ZZ
  8952						IFE	ZZ,<ZZ=1>
  8953	007065	200 00 0 00 041073 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8954	007066	404 00 0 00 041073 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8955	007067	444 00 0 00 041073 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8956	007070	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8957	007071	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8958						STOP^
  8959	007072	254 04 0 00 007073 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8960	007073	324 00 0 00 007074 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8961									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8962									;IN THE SUBTEST) TO LOOP ON ERROR^
  8963
  8964					;**********
  8965
  8966					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8967					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  8968					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8969					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8970					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8971					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8972					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8973					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8974			013037		SN=SN+1
  8975		010000	000000			ZZ=ZZ+ZZ
  8976						IFE	ZZ,<ZZ=1>
  8977	007074	200 00 0 00 041074 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  8978	007075	404 00 0 00 041074 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  8979	007076	444 00 0 00 041074 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  8980	007077	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  8981	007100	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  8982						STOP^
  8983	007101	254 04 0 00 007102 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  8984	007102	324 00 0 00 007103 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  8985									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  8986									;IN THE SUBTEST) TO LOOP ON ERROR^
  8987
  8988					;**********
  8989
  8990					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  8991					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-14
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0232

  8992					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  8993					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  8994					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  8995					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  8996					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  8997					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  8998			013040		SN=SN+1
  8999		020000	000000			ZZ=ZZ+ZZ
  9000						IFE	ZZ,<ZZ=1>
  9001	007103	200 00 0 00 041075 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  9002	007104	404 00 0 00 041075 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  9003	007105	444 00 0 00 041075 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9004	007106	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9005	007107	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9006						STOP^
  9007	007110	254 04 0 00 007111 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9008	007111	324 00 0 00 007112 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9009									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9010									;IN THE SUBTEST) TO LOOP ON ERROR^
  9011
  9012					;**********
  9013
  9014					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  9015					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  9016					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  9017					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9018					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  9019					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  9020					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  9021					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  9022			013041		SN=SN+1
  9023		040000	000000			ZZ=ZZ+ZZ
  9024						IFE	ZZ,<ZZ=1>
  9025	007112	200 00 0 00 041076 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  9026	007113	404 00 0 00 041076 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  9027	007114	444 00 0 00 041076 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9028	007115	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9029	007116	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9030						STOP^
  9031	007117	254 04 0 00 007120 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9032	007120	324 00 0 00 007121 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9033									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9034									;IN THE SUBTEST) TO LOOP ON ERROR^
  9035
  9036					;**********
  9037
  9038					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  9039					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  9040					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  9041					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9042					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  9043					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  9044					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  9045					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  9046			013042		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-15
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0233

  9047		100000	000000			ZZ=ZZ+ZZ
  9048						IFE	ZZ,<ZZ=1>
  9049	007121	200 00 0 00 041077 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  9050	007122	404 00 0 00 041077 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  9051	007123	444 00 0 00 041077 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9052	007124	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9053	007125	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9054						STOP^
  9055	007126	254 04 0 00 007127 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9056	007127	324 00 0 00 007130 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9057									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9058									;IN THE SUBTEST) TO LOOP ON ERROR^
  9059
  9060					;**********
  9061
  9062					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  9063					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  9064					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  9065					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9066					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  9067					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  9068					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  9069					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  9070			013043		SN=SN+1
  9071		200000	000000			ZZ=ZZ+ZZ
  9072						IFE	ZZ,<ZZ=1>
  9073	007130	200 00 0 00 041100 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  9074	007131	404 00 0 00 041100 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  9075	007132	444 00 0 00 041100 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9076	007133	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9077	007134	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9078						STOP^
  9079	007135	254 04 0 00 007136 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9080	007136	324 00 0 00 007137 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9081									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9082									;IN THE SUBTEST) TO LOOP ON ERROR^
  9083
  9084					;**********
  9085
  9086					;THIS TEST CHECKS THE 'AND' INSTRUCTION AND THE ADDER ON A ONE-BIT-AT-A-TIME BASIS.
  9087					;THE AC IS LOADED WITH ALL ZEROS EXCEPT FOR ONE BIT EQUAL TO ONE; THE AC IS THEN
  9088					;ANDED WITH C(E) WHERE C(E)=C(AC).  THE NET RESULT SHOULD BE NO CHANGE TO C(AC).
  9089					;NEXT, THE AC IS EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9090					;BE ALL ONES IN THE AC.  THE AC IS THEN EQUIVALENCED WITH A WORD OF ALL ZEROS,
  9091					;WHICH SHOULD RESULT IN C(AC)=0.  THE AC IS CHECKED FOR ALL ZEROS.
  9092					;IF C(AC) IS NON-ZERO, THE TEST FAILS.  THIS TEST IS REPEATED 36 TIMES TO
  9093					;RIPPLE A ONE THROUGH EVERY BIT OF THE AC.
  9094			013044		SN=SN+1
  9095		400000	000000			ZZ=ZZ+ZZ
  9096						IFE	ZZ,<ZZ=1>
  9097	007137	200 00 0 00 041030 		MOVE	[ZZ]		;SETUP AC WITH A ONE IN ONLY ONE BIT
  9098	007140	404 00 0 00 041030 		AND	[ZZ]		;*AND FLOATING ONE WITH ITSELF SHOULD NOT CHANGE C(AC)
  9099	007141	444 00 0 00 041030 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9100	007142	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9101	007143	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 33-16
SMBC2A	MAC	29-Nov-78 12:07		TEST OF BOOLEAN INSTRUCTIONS (SETM, SETZ, AND, XOR, EQV)                           SEQ 0234

  9102						STOP^
  9103	007144	254 04 0 00 007145 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9104	007145	324 00 0 00 007146 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9105									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9106									;IN THE SUBTEST) TO LOOP ON ERROR^
  9107
  9108					;**********
  9109
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0235

  9110					SUBTTL	TEST OF THE ADD INSTRUCTION
  9111
  9112					;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED
  9113					;TO ADD A NON-ZERO NUMBER CONTAINED IN E TO AN AC CONTAINING ALL ZEROS,
  9114					;THE RESULT IS A NON-ZERO NUMBER IN THE AC.  FIRST, THE AC IS CLEARED;
  9115					;THEN, ANON-ZERO POSITIVE NUMBER IS ADDED TO THE AC USING THE ADD 
  9116					;INSTRUCTION.  THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  9117
  9118	007146	200 00 0 00 041025 		A10400:	MOVE	[0]		;PRESET AC TO ALL ZEROS
  9119	007147	270 00 0 00 041150 		ADD	[123456765432]	;*ADD OF A NON-ZERO NUMBER TO AN AC OF ALL
  9120									;ZEROS SHOULD RESULT
  9121									;IN AN AC CONTAINING A NON-ZERO NUMBER
  9122	007150	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) IS NON-ZERO
  9123						STOP^
  9124	007151	254 04 0 00 007152 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9125	007152	324 00 0 00 007153 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9126									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9127									;IN THE SUBTEST) TO LOOP ON ERROR^
  9128
  9129					;AD ADD [ADC1], AD ADD EN [ADC1],
  9130					;F CYC ACT EN A [F1], AD FM + FETCH EN A [ADFP],
  9131					;F CYC ACT EN C[F1], IR ADSUB [IR1], IRXX [IR1]
  9132
  9133					;**********
  9134
  9135					;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
  9136					;A WORD OF ALL ZEROS TO AN AC CONTAINING A NON-ZERO POSITIVE NUMBER, THE
  9137					;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC.  FIRST, THE AC IS
  9138					;INITIALIZED WITH A NON-ZERO POSITIVE NUMBER; THEN, A WORD OF ALL ZEROS
  9139					; IS ADDED TO THE AC.  THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  9140
  9141	007153	200 00 0 00 041150 	A10500:	MOVE	[123456765432]	;PRESET AC WITH A NON-ZERO NUMBER
  9142	007154	270 00 0 00 041025 		ADD	[0]		;*ADD OF A WORD OF ALL ZEROS TO AN AC
  9143									;CONTAINING A NON-ZERO NUMBER
  9144									;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
  9145	007155	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) IS NON-ZERO
  9146						STOP^
  9147	007156	254 04 0 00 007157 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9148	007157	324 00 0 00 007160 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9149									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9150									;IN THE SUBTEST) TO LOOP ON ERROR^
  9151
  9152					;AR AD EN [ARMA], AR AD EN A [ARMA], ET2C F/F [E],
  9153					;AR AD ET2 EN [ARMA], IR ADSUB [IR1]
  9154
  9155					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0236

  9156					;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
  9157					;A WORD OF ALL ZEROS TO AN AC CONTAINING A NON-ZERO POSITIVE NUMBER, THE
  9158					;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC.  FIRST, THE AC IS
  9159					;INITIALIZED WITH A NON-ZERO POSITIVE NUMBER; THEN, A WORD OF ALL ZEROS
  9160					; IS ADDED TO THE AC.  THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  9161
  9162	007160	200 00 0 00 041151 	A10600:	MOVE	[XWD 123456,0]	;PRESET AC WITH A NON-ZERO NUMBER
  9163	007161	270 00 0 00 041025 		ADD	[0]		;*ADD OF A WORD OF ALL ZEROS TO AN AC CONTAINING
  9164									;A NON-ZERO NUMBER SHOULD RESULT IN AN AC
  9165									;CONTAINING A NON-ZERO NUMBER
  9166	007162	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) IS NON-ZERO
  9167						STOP^
  9168	007163	254 04 0 00 007164 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9169	007164	324 00 0 00 007165 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9170									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9171									;IN THE SUBTEST) TO LOOP ON ERROR^
  9172
  9173					;AR AD EN [ARMA], AR AD EN A [ARMA], ET2C F/F[E],
  9174					;AR AD ET2 EN [ARMA], IR AD SUB [IR1]
  9175
  9176					;*********
  9177
  9178					;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
  9179					;A WORD OF ALL ZEROS TO AN AC CONTAINING A NON-ZERO POSITIVE NUMBER, THE
  9180					;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC.  FIRST, THE AC IS
  9181					;INITIALIZED WITH A NON-ZERO POSITIVE NUMBER; THEN, A WORD OF ALL ZEROS
  9182					; IS ADDED TO THE AC.  THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  9183
  9184	007165	200 00 0 00 041152 	A10700:	MOVE	[123456]	;PRESET AC WITH A NON-ZERO NUMBER
  9185	007166	270 00 0 00 041025 		ADD	[0]		;*ADD OF A WORD OF ALL ZEROS TO AN AC CONTAINING
  9186									;A NON-ZERO NUMBER
  9187									;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
  9188	007167	336 00 0 00 000000 		SKIPN			;PASS TEST IS C(AC) IS NON-ZERO
  9189						STOP^
  9190	007170	254 04 0 00 007171 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9191	007171	324 00 0 00 007172 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9192									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9193									;IN THE SUBTEST) TO LOOP ON ERROR^
  9194
  9195					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0237

  9196					;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
  9197					;A WORD CONTAINING A NON-ZERO POSITIVE NUMBER TO AN AC OF ALL ZEROS, THE
  9198					;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC.  FIRST, THE AC IS
  9199					;INITIALIZED WITH A WORD OF ALL ZEROS ;THEN, A NON-ZERO POSITIVE NUMBER
  9200					;IS ADDED TO THE AC.  THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  9201
  9202	007172	200 00 0 00 041025 	A13300:	MOVE	[0]		;PRESET AC WITH ALL ZEROS
  9203	007173	270 00 0 00 041151 		ADD	[123456,,0]	;*ADD OF A NON-ZERO NUMBER TO AN AC CONTAINING ALL ZEROS
  9204									;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
  9205	007174	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) IS NON-ZERO
  9206						STOP^
  9207	007175	254 04 0 00 007176 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9208	007176	324 00 0 00 007177 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9209									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9210									;IN THE SUBTEST) TO LOOP ON ERROR^
  9211
  9212					;**********
  9213
  9214					;THIS TEST VERIFIES THAT WHEN THE ADD INSTRUCTION IS USED TO ADD
  9215					;A WORD CONTAINING A NON-ZERO POSITIVE NUMBER TO AN AC OF ALL ZEROS, THE
  9216					;RESULT IS A NON-ZERO POSITIVE NUMBER IN THE AC.  FIRST, THE AC IS
  9217					;INITIALIZED WITH A WORD OF ALL ZEROS ;THEN, A NON-ZERO POSITIVE NUMBER
  9218					;IS ADDED TO THE AC.  THE AC IS THEN CHECKED FOR ITS CONTENTS NON-ZERO
  9219
  9220	007177	200 00 0 00 041025 	A13400:	MOVE	[0]		;PRESET AC WITH ALL ZEROS
  9221	007200	270 00 0 00 041152 		ADD	[123456]	;*ADD OF A NON-ZERO NUMBER TO AN AC CONTAINING ALL ZEROS
  9222									;SHOULD RESULT IN AN AC CONTAINING A NON-ZERO NUMBER
  9223	007201	336 00 0 00 000000 		SKIPN			;PASS TEST IF C(AC) IS NON-ZERO
  9224						STOP^
  9225	007202	254 04 0 00 007203 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9226	007203	324 00 0 00 007204 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9227									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9228									;IN THE SUBTEST) TO LOOP ON ERROR^
  9229
  9230					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0238

  9231					;ADD ZERO TO A RIPPLED ONE
  9232
  9233			011000		SN=11000
  9234			000000			ZZ=0
  9235
  9236					A11000:	REPEAT	^D36,
  9237					<;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9238					;A WORD OF ALL ZEROS IS ADDED TO AN
  9239					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9240					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9241					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9242					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9243					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9244					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9245					;EVERY BIT OF THE AC.
  9246					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9247					SN=SN+1
  9248						ZZ=ZZ+ZZ
  9249						IFE	ZZ,<ZZ=1>
  9250						MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9251						ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9252						EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9253						EQV	[0]		;RESULTS IN C(AC)=0
  9254						SKIPE			;PASS TEST IF C(AC)=0
  9255						STOP
  9256					
  9257					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9258					;IR ADDX [IR1], IR ADSUB [IR1]
  9259					
  9260					;**********
  9261					PAGE
  9262					>
  9263					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9264					;A WORD OF ALL ZEROS IS ADDED TO AN
  9265					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9266					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9267					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9268					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9269					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9270					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9271					;EVERY BIT OF THE AC.
  9272					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9273			011001		SN=SN+1
  9274			000000			ZZ=ZZ+ZZ
  9275			000001			IFE	ZZ,<ZZ=1>
  9276	007204	200 00 0 00 041037 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9277	007205	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9278	007206	444 00 0 00 041037 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9279	007207	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9280	007210	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9281						STOP^
  9282	007211	254 04 0 00 007212 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9283	007212	324 00 0 00 007213 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9284									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9285									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0239

  9286
  9287					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9288					;IR ADDX [IR1], IR ADSUB [IR1]
  9289
  9290					;**********
  9291					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0240

  9292
  9293					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9294					;A WORD OF ALL ZEROS IS ADDED TO AN
  9295					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9296					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9297					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9298					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9299					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9300					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9301					;EVERY BIT OF THE AC.
  9302					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9303			011002		SN=SN+1
  9304			000002			ZZ=ZZ+ZZ
  9305						IFE	ZZ,<ZZ=1>
  9306	007213	200 00 0 00 041040 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9307	007214	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9308	007215	444 00 0 00 041040 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9309	007216	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9310	007217	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9311						STOP^
  9312	007220	254 04 0 00 007221 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9313	007221	324 00 0 00 007222 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9314									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9315									;IN THE SUBTEST) TO LOOP ON ERROR^
  9316
  9317					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9318					;IR ADDX [IR1], IR ADSUB [IR1]
  9319
  9320					;**********
  9321					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0241

  9322
  9323					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9324					;A WORD OF ALL ZEROS IS ADDED TO AN
  9325					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9326					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9327					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9328					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9329					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9330					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9331					;EVERY BIT OF THE AC.
  9332					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9333			011003		SN=SN+1
  9334			000004			ZZ=ZZ+ZZ
  9335						IFE	ZZ,<ZZ=1>
  9336	007222	200 00 0 00 041041 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9337	007223	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9338	007224	444 00 0 00 041041 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9339	007225	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9340	007226	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9341						STOP^
  9342	007227	254 04 0 00 007230 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9343	007230	324 00 0 00 007231 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9344									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9345									;IN THE SUBTEST) TO LOOP ON ERROR^
  9346
  9347					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9348					;IR ADDX [IR1], IR ADSUB [IR1]
  9349
  9350					;**********
  9351					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0242

  9352
  9353					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9354					;A WORD OF ALL ZEROS IS ADDED TO AN
  9355					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9356					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9357					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9358					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9359					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9360					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9361					;EVERY BIT OF THE AC.
  9362					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9363			011004		SN=SN+1
  9364			000010			ZZ=ZZ+ZZ
  9365						IFE	ZZ,<ZZ=1>
  9366	007231	200 00 0 00 041042 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9367	007232	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9368	007233	444 00 0 00 041042 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9369	007234	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9370	007235	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9371						STOP^
  9372	007236	254 04 0 00 007237 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9373	007237	324 00 0 00 007240 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9374									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9375									;IN THE SUBTEST) TO LOOP ON ERROR^
  9376
  9377					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9378					;IR ADDX [IR1], IR ADSUB [IR1]
  9379
  9380					;**********
  9381					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0243

  9382
  9383					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9384					;A WORD OF ALL ZEROS IS ADDED TO AN
  9385					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9386					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9387					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9388					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9389					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9390					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9391					;EVERY BIT OF THE AC.
  9392					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9393			011005		SN=SN+1
  9394			000020			ZZ=ZZ+ZZ
  9395						IFE	ZZ,<ZZ=1>
  9396	007240	200 00 0 00 041043 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9397	007241	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9398	007242	444 00 0 00 041043 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9399	007243	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9400	007244	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9401						STOP^
  9402	007245	254 04 0 00 007246 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9403	007246	324 00 0 00 007247 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9404									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9405									;IN THE SUBTEST) TO LOOP ON ERROR^
  9406
  9407					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9408					;IR ADDX [IR1], IR ADSUB [IR1]
  9409
  9410					;**********
  9411					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0244

  9412
  9413					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9414					;A WORD OF ALL ZEROS IS ADDED TO AN
  9415					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9416					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9417					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9418					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9419					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9420					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9421					;EVERY BIT OF THE AC.
  9422					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9423			011006		SN=SN+1
  9424			000040			ZZ=ZZ+ZZ
  9425						IFE	ZZ,<ZZ=1>
  9426	007247	200 00 0 00 041044 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9427	007250	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9428	007251	444 00 0 00 041044 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9429	007252	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9430	007253	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9431						STOP^
  9432	007254	254 04 0 00 007255 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9433	007255	324 00 0 00 007256 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9434									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9435									;IN THE SUBTEST) TO LOOP ON ERROR^
  9436
  9437					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9438					;IR ADDX [IR1], IR ADSUB [IR1]
  9439
  9440					;**********
  9441					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0245

  9442
  9443					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9444					;A WORD OF ALL ZEROS IS ADDED TO AN
  9445					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9446					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9447					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9448					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9449					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9450					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9451					;EVERY BIT OF THE AC.
  9452					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9453			011007		SN=SN+1
  9454			000100			ZZ=ZZ+ZZ
  9455						IFE	ZZ,<ZZ=1>
  9456	007256	200 00 0 00 041045 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9457	007257	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9458	007260	444 00 0 00 041045 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9459	007261	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9460	007262	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9461						STOP^
  9462	007263	254 04 0 00 007264 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9463	007264	324 00 0 00 007265 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9464									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9465									;IN THE SUBTEST) TO LOOP ON ERROR^
  9466
  9467					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9468					;IR ADDX [IR1], IR ADSUB [IR1]
  9469
  9470					;**********
  9471					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-8
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0246

  9472
  9473					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9474					;A WORD OF ALL ZEROS IS ADDED TO AN
  9475					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9476					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9477					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9478					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9479					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9480					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9481					;EVERY BIT OF THE AC.
  9482					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9483			011010		SN=SN+1
  9484			000200			ZZ=ZZ+ZZ
  9485						IFE	ZZ,<ZZ=1>
  9486	007265	200 00 0 00 041046 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9487	007266	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9488	007267	444 00 0 00 041046 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9489	007270	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9490	007271	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9491						STOP^
  9492	007272	254 04 0 00 007273 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9493	007273	324 00 0 00 007274 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9494									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9495									;IN THE SUBTEST) TO LOOP ON ERROR^
  9496
  9497					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9498					;IR ADDX [IR1], IR ADSUB [IR1]
  9499
  9500					;**********
  9501					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-9
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0247

  9502
  9503					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9504					;A WORD OF ALL ZEROS IS ADDED TO AN
  9505					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9506					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9507					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9508					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9509					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9510					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9511					;EVERY BIT OF THE AC.
  9512					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9513			011011		SN=SN+1
  9514			000400			ZZ=ZZ+ZZ
  9515						IFE	ZZ,<ZZ=1>
  9516	007274	200 00 0 00 041047 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9517	007275	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9518	007276	444 00 0 00 041047 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9519	007277	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9520	007300	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9521						STOP^
  9522	007301	254 04 0 00 007302 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9523	007302	324 00 0 00 007303 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9524									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9525									;IN THE SUBTEST) TO LOOP ON ERROR^
  9526
  9527					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9528					;IR ADDX [IR1], IR ADSUB [IR1]
  9529
  9530					;**********
  9531					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-10
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0248

  9532
  9533					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9534					;A WORD OF ALL ZEROS IS ADDED TO AN
  9535					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9536					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9537					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9538					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9539					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9540					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9541					;EVERY BIT OF THE AC.
  9542					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9543			011012		SN=SN+1
  9544			001000			ZZ=ZZ+ZZ
  9545						IFE	ZZ,<ZZ=1>
  9546	007303	200 00 0 00 041050 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9547	007304	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9548	007305	444 00 0 00 041050 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9549	007306	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9550	007307	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9551						STOP^
  9552	007310	254 04 0 00 007311 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9553	007311	324 00 0 00 007312 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9554									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9555									;IN THE SUBTEST) TO LOOP ON ERROR^
  9556
  9557					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9558					;IR ADDX [IR1], IR ADSUB [IR1]
  9559
  9560					;**********
  9561					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-11
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0249

  9562
  9563					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9564					;A WORD OF ALL ZEROS IS ADDED TO AN
  9565					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9566					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9567					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9568					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9569					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9570					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9571					;EVERY BIT OF THE AC.
  9572					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9573			011013		SN=SN+1
  9574			002000			ZZ=ZZ+ZZ
  9575						IFE	ZZ,<ZZ=1>
  9576	007312	200 00 0 00 041051 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9577	007313	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9578	007314	444 00 0 00 041051 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9579	007315	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9580	007316	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9581						STOP^
  9582	007317	254 04 0 00 007320 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9583	007320	324 00 0 00 007321 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9584									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9585									;IN THE SUBTEST) TO LOOP ON ERROR^
  9586
  9587					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9588					;IR ADDX [IR1], IR ADSUB [IR1]
  9589
  9590					;**********
  9591					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-12
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0250

  9592
  9593					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9594					;A WORD OF ALL ZEROS IS ADDED TO AN
  9595					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9596					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9597					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9598					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9599					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9600					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9601					;EVERY BIT OF THE AC.
  9602					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9603			011014		SN=SN+1
  9604			004000			ZZ=ZZ+ZZ
  9605						IFE	ZZ,<ZZ=1>
  9606	007321	200 00 0 00 041052 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9607	007322	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9608	007323	444 00 0 00 041052 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9609	007324	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9610	007325	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9611						STOP^
  9612	007326	254 04 0 00 007327 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9613	007327	324 00 0 00 007330 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9614									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9615									;IN THE SUBTEST) TO LOOP ON ERROR^
  9616
  9617					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9618					;IR ADDX [IR1], IR ADSUB [IR1]
  9619
  9620					;**********
  9621					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-13
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0251

  9622
  9623					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9624					;A WORD OF ALL ZEROS IS ADDED TO AN
  9625					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9626					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9627					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9628					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9629					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9630					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9631					;EVERY BIT OF THE AC.
  9632					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9633			011015		SN=SN+1
  9634			010000			ZZ=ZZ+ZZ
  9635						IFE	ZZ,<ZZ=1>
  9636	007330	200 00 0 00 041053 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9637	007331	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9638	007332	444 00 0 00 041053 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9639	007333	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9640	007334	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9641						STOP^
  9642	007335	254 04 0 00 007336 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9643	007336	324 00 0 00 007337 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9644									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9645									;IN THE SUBTEST) TO LOOP ON ERROR^
  9646
  9647					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9648					;IR ADDX [IR1], IR ADSUB [IR1]
  9649
  9650					;**********
  9651					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-14
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0252

  9652
  9653					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9654					;A WORD OF ALL ZEROS IS ADDED TO AN
  9655					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9656					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9657					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9658					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9659					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9660					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9661					;EVERY BIT OF THE AC.
  9662					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9663			011016		SN=SN+1
  9664			020000			ZZ=ZZ+ZZ
  9665						IFE	ZZ,<ZZ=1>
  9666	007337	200 00 0 00 041054 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9667	007340	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9668	007341	444 00 0 00 041054 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9669	007342	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9670	007343	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9671						STOP^
  9672	007344	254 04 0 00 007345 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9673	007345	324 00 0 00 007346 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9674									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9675									;IN THE SUBTEST) TO LOOP ON ERROR^
  9676
  9677					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9678					;IR ADDX [IR1], IR ADSUB [IR1]
  9679
  9680					;**********
  9681					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-15
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0253

  9682
  9683					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9684					;A WORD OF ALL ZEROS IS ADDED TO AN
  9685					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9686					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9687					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9688					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9689					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9690					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9691					;EVERY BIT OF THE AC.
  9692					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9693			011017		SN=SN+1
  9694			040000			ZZ=ZZ+ZZ
  9695						IFE	ZZ,<ZZ=1>
  9696	007346	200 00 0 00 041055 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9697	007347	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9698	007350	444 00 0 00 041055 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9699	007351	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9700	007352	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9701						STOP^
  9702	007353	254 04 0 00 007354 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9703	007354	324 00 0 00 007355 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9704									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9705									;IN THE SUBTEST) TO LOOP ON ERROR^
  9706
  9707					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9708					;IR ADDX [IR1], IR ADSUB [IR1]
  9709
  9710					;**********
  9711					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-16
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0254

  9712
  9713					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9714					;A WORD OF ALL ZEROS IS ADDED TO AN
  9715					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9716					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9717					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9718					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9719					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9720					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9721					;EVERY BIT OF THE AC.
  9722					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9723			011020		SN=SN+1
  9724			100000			ZZ=ZZ+ZZ
  9725						IFE	ZZ,<ZZ=1>
  9726	007355	200 00 0 00 041056 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9727	007356	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9728	007357	444 00 0 00 041056 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9729	007360	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9730	007361	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9731						STOP^
  9732	007362	254 04 0 00 007363 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9733	007363	324 00 0 00 007364 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9734									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9735									;IN THE SUBTEST) TO LOOP ON ERROR^
  9736
  9737					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9738					;IR ADDX [IR1], IR ADSUB [IR1]
  9739
  9740					;**********
  9741					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-17
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0255

  9742
  9743					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9744					;A WORD OF ALL ZEROS IS ADDED TO AN
  9745					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9746					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9747					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9748					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9749					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9750					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9751					;EVERY BIT OF THE AC.
  9752					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9753			011021		SN=SN+1
  9754			200000			ZZ=ZZ+ZZ
  9755						IFE	ZZ,<ZZ=1>
  9756	007364	200 00 0 00 041057 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9757	007365	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9758	007366	444 00 0 00 041057 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9759	007367	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9760	007370	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9761						STOP^
  9762	007371	254 04 0 00 007372 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9763	007372	324 00 0 00 007373 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9764									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9765									;IN THE SUBTEST) TO LOOP ON ERROR^
  9766
  9767					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9768					;IR ADDX [IR1], IR ADSUB [IR1]
  9769
  9770					;**********
  9771					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-18
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0256

  9772
  9773					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9774					;A WORD OF ALL ZEROS IS ADDED TO AN
  9775					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9776					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9777					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9778					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9779					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9780					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9781					;EVERY BIT OF THE AC.
  9782					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9783			011022		SN=SN+1
  9784			400000			ZZ=ZZ+ZZ
  9785						IFE	ZZ,<ZZ=1>
  9786	007373	200 00 0 00 041060 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9787	007374	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9788	007375	444 00 0 00 041060 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9789	007376	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9790	007377	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9791						STOP^
  9792	007400	254 04 0 00 007401 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9793	007401	324 00 0 00 007402 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9794									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9795									;IN THE SUBTEST) TO LOOP ON ERROR^
  9796
  9797					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9798					;IR ADDX [IR1], IR ADSUB [IR1]
  9799
  9800					;**********
  9801					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-19
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0257

  9802
  9803					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9804					;A WORD OF ALL ZEROS IS ADDED TO AN
  9805					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9806					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9807					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9808					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9809					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9810					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9811					;EVERY BIT OF THE AC.
  9812					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9813			011023		SN=SN+1
  9814		000001	000000			ZZ=ZZ+ZZ
  9815						IFE	ZZ,<ZZ=1>
  9816	007402	200 00 0 00 041061 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9817	007403	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9818	007404	444 00 0 00 041061 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9819	007405	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9820	007406	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9821						STOP^
  9822	007407	254 04 0 00 007410 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9823	007410	324 00 0 00 007411 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9824									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9825									;IN THE SUBTEST) TO LOOP ON ERROR^
  9826
  9827					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9828					;IR ADDX [IR1], IR ADSUB [IR1]
  9829
  9830					;**********
  9831					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-20
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0258

  9832
  9833					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9834					;A WORD OF ALL ZEROS IS ADDED TO AN
  9835					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9836					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9837					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9838					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9839					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9840					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9841					;EVERY BIT OF THE AC.
  9842					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9843			011024		SN=SN+1
  9844		000002	000000			ZZ=ZZ+ZZ
  9845						IFE	ZZ,<ZZ=1>
  9846	007411	200 00 0 00 041062 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9847	007412	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9848	007413	444 00 0 00 041062 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9849	007414	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9850	007415	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9851						STOP^
  9852	007416	254 04 0 00 007417 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9853	007417	324 00 0 00 007420 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9854									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9855									;IN THE SUBTEST) TO LOOP ON ERROR^
  9856
  9857					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9858					;IR ADDX [IR1], IR ADSUB [IR1]
  9859
  9860					;**********
  9861					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-21
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0259

  9862
  9863					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9864					;A WORD OF ALL ZEROS IS ADDED TO AN
  9865					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9866					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9867					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9868					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9869					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9870					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9871					;EVERY BIT OF THE AC.
  9872					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9873			011025		SN=SN+1
  9874		000004	000000			ZZ=ZZ+ZZ
  9875						IFE	ZZ,<ZZ=1>
  9876	007420	200 00 0 00 041063 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9877	007421	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9878	007422	444 00 0 00 041063 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9879	007423	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9880	007424	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9881						STOP^
  9882	007425	254 04 0 00 007426 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9883	007426	324 00 0 00 007427 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9884									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9885									;IN THE SUBTEST) TO LOOP ON ERROR^
  9886
  9887					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9888					;IR ADDX [IR1], IR ADSUB [IR1]
  9889
  9890					;**********
  9891					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-22
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0260

  9892
  9893					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9894					;A WORD OF ALL ZEROS IS ADDED TO AN
  9895					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9896					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9897					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9898					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9899					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9900					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9901					;EVERY BIT OF THE AC.
  9902					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9903			011026		SN=SN+1
  9904		000010	000000			ZZ=ZZ+ZZ
  9905						IFE	ZZ,<ZZ=1>
  9906	007427	200 00 0 00 041064 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9907	007430	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9908	007431	444 00 0 00 041064 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9909	007432	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9910	007433	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9911						STOP^
  9912	007434	254 04 0 00 007435 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9913	007435	324 00 0 00 007436 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9914									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9915									;IN THE SUBTEST) TO LOOP ON ERROR^
  9916
  9917					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9918					;IR ADDX [IR1], IR ADSUB [IR1]
  9919
  9920					;**********
  9921					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-23
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0261

  9922
  9923					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9924					;A WORD OF ALL ZEROS IS ADDED TO AN
  9925					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9926					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9927					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9928					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9929					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9930					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9931					;EVERY BIT OF THE AC.
  9932					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9933			011027		SN=SN+1
  9934		000020	000000			ZZ=ZZ+ZZ
  9935						IFE	ZZ,<ZZ=1>
  9936	007436	200 00 0 00 041065 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9937	007437	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9938	007440	444 00 0 00 041065 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9939	007441	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9940	007442	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9941						STOP^
  9942	007443	254 04 0 00 007444 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9943	007444	324 00 0 00 007445 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9944									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9945									;IN THE SUBTEST) TO LOOP ON ERROR^
  9946
  9947					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9948					;IR ADDX [IR1], IR ADSUB [IR1]
  9949
  9950					;**********
  9951					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-24
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0262

  9952
  9953					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9954					;A WORD OF ALL ZEROS IS ADDED TO AN
  9955					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9956					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9957					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9958					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9959					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9960					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9961					;EVERY BIT OF THE AC.
  9962					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9963			011030		SN=SN+1
  9964		000040	000000			ZZ=ZZ+ZZ
  9965						IFE	ZZ,<ZZ=1>
  9966	007445	200 00 0 00 041066 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9967	007446	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9968	007447	444 00 0 00 041066 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9969	007450	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
  9970	007451	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
  9971						STOP^
  9972	007452	254 04 0 00 007453 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
  9973	007453	324 00 0 00 007454 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
  9974									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
  9975									;IN THE SUBTEST) TO LOOP ON ERROR^
  9976
  9977					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
  9978					;IR ADDX [IR1], IR ADSUB [IR1]
  9979
  9980					;**********
  9981					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-25
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0263

  9982
  9983					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
  9984					;A WORD OF ALL ZEROS IS ADDED TO AN
  9985					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
  9986					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
  9987					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
  9988					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
  9989					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
  9990					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
  9991					;EVERY BIT OF THE AC.
  9992					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
  9993			011031		SN=SN+1
  9994		000100	000000			ZZ=ZZ+ZZ
  9995						IFE	ZZ,<ZZ=1>
  9996	007454	200 00 0 00 041067 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
  9997	007455	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
  9998	007456	444 00 0 00 041067 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
  9999	007457	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10000	007460	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10001						STOP^
 10002	007461	254 04 0 00 007462 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10003	007462	324 00 0 00 007463 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10004									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10005									;IN THE SUBTEST) TO LOOP ON ERROR^
 10006
 10007					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10008					;IR ADDX [IR1], IR ADSUB [IR1]
 10009
 10010					;**********
 10011					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-26
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0264

 10012
 10013					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10014					;A WORD OF ALL ZEROS IS ADDED TO AN
 10015					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10016					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10017					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10018					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10019					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10020					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10021					;EVERY BIT OF THE AC.
 10022					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10023			011032		SN=SN+1
 10024		000200	000000			ZZ=ZZ+ZZ
 10025						IFE	ZZ,<ZZ=1>
 10026	007463	200 00 0 00 041070 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10027	007464	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10028	007465	444 00 0 00 041070 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10029	007466	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10030	007467	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10031						STOP^
 10032	007470	254 04 0 00 007471 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10033	007471	324 00 0 00 007472 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10034									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10035									;IN THE SUBTEST) TO LOOP ON ERROR^
 10036
 10037					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10038					;IR ADDX [IR1], IR ADSUB [IR1]
 10039
 10040					;**********
 10041					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-27
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0265

 10042
 10043					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10044					;A WORD OF ALL ZEROS IS ADDED TO AN
 10045					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10046					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10047					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10048					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10049					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10050					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10051					;EVERY BIT OF THE AC.
 10052					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10053			011033		SN=SN+1
 10054		000400	000000			ZZ=ZZ+ZZ
 10055						IFE	ZZ,<ZZ=1>
 10056	007472	200 00 0 00 041036 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10057	007473	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10058	007474	444 00 0 00 041036 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10059	007475	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10060	007476	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10061						STOP^
 10062	007477	254 04 0 00 007500 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10063	007500	324 00 0 00 007501 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10064									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10065									;IN THE SUBTEST) TO LOOP ON ERROR^
 10066
 10067					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10068					;IR ADDX [IR1], IR ADSUB [IR1]
 10069
 10070					;**********
 10071					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-28
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0266

 10072
 10073					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10074					;A WORD OF ALL ZEROS IS ADDED TO AN
 10075					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10076					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10077					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10078					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10079					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10080					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10081					;EVERY BIT OF THE AC.
 10082					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10083			011034		SN=SN+1
 10084		001000	000000			ZZ=ZZ+ZZ
 10085						IFE	ZZ,<ZZ=1>
 10086	007501	200 00 0 00 041071 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10087	007502	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10088	007503	444 00 0 00 041071 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10089	007504	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10090	007505	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10091						STOP^
 10092	007506	254 04 0 00 007507 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10093	007507	324 00 0 00 007510 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10094									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10095									;IN THE SUBTEST) TO LOOP ON ERROR^
 10096
 10097					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10098					;IR ADDX [IR1], IR ADSUB [IR1]
 10099
 10100					;**********
 10101					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-29
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0267

 10102
 10103					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10104					;A WORD OF ALL ZEROS IS ADDED TO AN
 10105					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10106					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10107					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10108					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10109					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10110					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10111					;EVERY BIT OF THE AC.
 10112					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10113			011035		SN=SN+1
 10114		002000	000000			ZZ=ZZ+ZZ
 10115						IFE	ZZ,<ZZ=1>
 10116	007510	200 00 0 00 041072 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10117	007511	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10118	007512	444 00 0 00 041072 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10119	007513	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10120	007514	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10121						STOP^
 10122	007515	254 04 0 00 007516 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10123	007516	324 00 0 00 007517 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10124									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10125									;IN THE SUBTEST) TO LOOP ON ERROR^
 10126
 10127					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10128					;IR ADDX [IR1], IR ADSUB [IR1]
 10129
 10130					;**********
 10131					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-30
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0268

 10132
 10133					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10134					;A WORD OF ALL ZEROS IS ADDED TO AN
 10135					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10136					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10137					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10138					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10139					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10140					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10141					;EVERY BIT OF THE AC.
 10142					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10143			011036		SN=SN+1
 10144		004000	000000			ZZ=ZZ+ZZ
 10145						IFE	ZZ,<ZZ=1>
 10146	007517	200 00 0 00 041073 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10147	007520	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10148	007521	444 00 0 00 041073 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10149	007522	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10150	007523	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10151						STOP^
 10152	007524	254 04 0 00 007525 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10153	007525	324 00 0 00 007526 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10154									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10155									;IN THE SUBTEST) TO LOOP ON ERROR^
 10156
 10157					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10158					;IR ADDX [IR1], IR ADSUB [IR1]
 10159
 10160					;**********
 10161					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-31
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0269

 10162
 10163					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10164					;A WORD OF ALL ZEROS IS ADDED TO AN
 10165					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10166					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10167					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10168					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10169					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10170					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10171					;EVERY BIT OF THE AC.
 10172					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10173			011037		SN=SN+1
 10174		010000	000000			ZZ=ZZ+ZZ
 10175						IFE	ZZ,<ZZ=1>
 10176	007526	200 00 0 00 041074 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10177	007527	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10178	007530	444 00 0 00 041074 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10179	007531	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10180	007532	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10181						STOP^
 10182	007533	254 04 0 00 007534 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10183	007534	324 00 0 00 007535 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10184									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10185									;IN THE SUBTEST) TO LOOP ON ERROR^
 10186
 10187					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10188					;IR ADDX [IR1], IR ADSUB [IR1]
 10189
 10190					;**********
 10191					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-32
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0270

 10192
 10193					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10194					;A WORD OF ALL ZEROS IS ADDED TO AN
 10195					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10196					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10197					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10198					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10199					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10200					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10201					;EVERY BIT OF THE AC.
 10202					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10203			011040		SN=SN+1
 10204		020000	000000			ZZ=ZZ+ZZ
 10205						IFE	ZZ,<ZZ=1>
 10206	007535	200 00 0 00 041075 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10207	007536	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10208	007537	444 00 0 00 041075 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10209	007540	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10210	007541	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10211						STOP^
 10212	007542	254 04 0 00 007543 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10213	007543	324 00 0 00 007544 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10214									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10215									;IN THE SUBTEST) TO LOOP ON ERROR^
 10216
 10217					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10218					;IR ADDX [IR1], IR ADSUB [IR1]
 10219
 10220					;**********
 10221					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-33
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0271

 10222
 10223					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10224					;A WORD OF ALL ZEROS IS ADDED TO AN
 10225					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10226					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10227					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10228					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10229					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10230					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10231					;EVERY BIT OF THE AC.
 10232					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10233			011041		SN=SN+1
 10234		040000	000000			ZZ=ZZ+ZZ
 10235						IFE	ZZ,<ZZ=1>
 10236	007544	200 00 0 00 041076 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10237	007545	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10238	007546	444 00 0 00 041076 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10239	007547	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10240	007550	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10241						STOP^
 10242	007551	254 04 0 00 007552 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10243	007552	324 00 0 00 007553 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10244									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10245									;IN THE SUBTEST) TO LOOP ON ERROR^
 10246
 10247					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10248					;IR ADDX [IR1], IR ADSUB [IR1]
 10249
 10250					;**********
 10251					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-34
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0272

 10252
 10253					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10254					;A WORD OF ALL ZEROS IS ADDED TO AN
 10255					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10256					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10257					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10258					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10259					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10260					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10261					;EVERY BIT OF THE AC.
 10262					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10263			011042		SN=SN+1
 10264		100000	000000			ZZ=ZZ+ZZ
 10265						IFE	ZZ,<ZZ=1>
 10266	007553	200 00 0 00 041077 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10267	007554	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10268	007555	444 00 0 00 041077 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10269	007556	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10270	007557	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10271						STOP^
 10272	007560	254 04 0 00 007561 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10273	007561	324 00 0 00 007562 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10274									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10275									;IN THE SUBTEST) TO LOOP ON ERROR^
 10276
 10277					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10278					;IR ADDX [IR1], IR ADSUB [IR1]
 10279
 10280					;**********
 10281					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-35
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0273

 10282
 10283					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10284					;A WORD OF ALL ZEROS IS ADDED TO AN
 10285					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10286					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10287					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10288					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10289					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10290					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10291					;EVERY BIT OF THE AC.
 10292					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10293			011043		SN=SN+1
 10294		200000	000000			ZZ=ZZ+ZZ
 10295						IFE	ZZ,<ZZ=1>
 10296	007562	200 00 0 00 041100 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10297	007563	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10298	007564	444 00 0 00 041100 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10299	007565	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10300	007566	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10301						STOP^
 10302	007567	254 04 0 00 007570 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10303	007570	324 00 0 00 007571 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10304									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10305									;IN THE SUBTEST) TO LOOP ON ERROR^
 10306
 10307					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10308					;IR ADDX [IR1], IR ADSUB [IR1]
 10309
 10310					;**********
 10311					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-36
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0274

 10312
 10313					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10314					;A WORD OF ALL ZEROS IS ADDED TO AN
 10315					;AC CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10316					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS IN IT ORIGINALLY.
 10317					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10318					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10319					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10320					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10321					;EVERY BIT OF THE AC.
 10322					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10323			011044		SN=SN+1
 10324		400000	000000			ZZ=ZZ+ZZ
 10325						IFE	ZZ,<ZZ=1>
 10326	007571	200 00 0 00 041030 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 10327	007572	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO FLOATING ONE
 10328	007573	444 00 0 00 041030 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10329	007574	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10330	007575	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10331						STOP^
 10332	007576	254 04 0 00 007577 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10333	007577	324 00 0 00 007600 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10334									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10335									;IN THE SUBTEST) TO LOOP ON ERROR^
 10336
 10337					;ADDX; AD AR + EN [ADAP], F CYC ACT EN A[F1],
 10338					;IR ADDX [IR1], IR ADSUB [IR1]
 10339
 10340					;**********
 10341					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 4-37
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0275

 10342
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0276

 10343					;THIS TEST VERIFIES THAT THE ADDITION OF A WORD OF 
 10344					;ALL ZEROS TO AN AC OF ALL ZEROS RESULTS IN
 10345					;C(AC)=0. FIRST THE AC IS CLEARED; THEN, A WORD
 10346					;OF ALL ZEROS IS ADDED TO THE AC. THE RESULT IN
 10347					;THE AC IS THEN CHECKED TO INSURE THAT C(AC)=0
 10348
 10349	007600	200 00 0 00 041025 	A11100:	MOVE	[0]		;PRESET AC TO ZERO
 10350	007601	270 00 0 00 041025 		ADD	[0]		;*ADD OF ZERO TO ZERO SHOULD RESULT IN C(AC)=0
 10351	007602	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10352						STOP^
 10353	007603	254 04 0 00 007604 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10354	007604	324 00 0 00 007605 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10355									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10356									;IN THE SUBTEST) TO LOOP ON ERROR^
 10357
 10358					;FCE[F1], IR AD SUB [IR1]
 10359					;AD FM + EN [ADFP], AD FM + EN A [ADFP],
 10360					;F CYC ACT EN C[F1], IR ADSUB [IR1]
 10361
 10362					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0277

 10363					;ADD ZERO TO A RIPPLED ONE
 10364
 10365			013200		SN=13200
 10366			000000			ZZ=0
 10367
 10368					A13200:	REPEAT	^D36,
 10369					<;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10370					;TO AN AC  OF ALL ZEROS IS ADDED A
 10371					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10372					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10373					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10374					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10375					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10376					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10377					;EVERY BIT OF THE AC.
 10378					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10379					SN=SN+1
 10380						ZZ=ZZ+ZZ
 10381						IFE	ZZ,<ZZ=1>
 10382						MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10383						ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10384						EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10385						EQV	[0]		;RESULTS IN C(AC)=0
 10386						SKIPE			;PASS TEST IF C(AC)=0
 10387						STOP
 10388					
 10389					;**********
 10390					>
 10391					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10392					;TO AN AC  OF ALL ZEROS IS ADDED A
 10393					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10394					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10395					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10396					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10397					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10398					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10399					;EVERY BIT OF THE AC.
 10400					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10401			013201		SN=SN+1
 10402			000000			ZZ=ZZ+ZZ
 10403			000001			IFE	ZZ,<ZZ=1>
 10404	007605	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10405	007606	270 00 0 00 041037 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10406	007607	444 00 0 00 041037 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10407	007610	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10408	007611	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10409						STOP^
 10410	007612	254 04 0 00 007613 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10411	007613	324 00 0 00 007614 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10412									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10413									;IN THE SUBTEST) TO LOOP ON ERROR^
 10414
 10415					;**********
 10416
 10417					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0278

 10418					;TO AN AC  OF ALL ZEROS IS ADDED A
 10419					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10420					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10421					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10422					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10423					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10424					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10425					;EVERY BIT OF THE AC.
 10426					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10427			013202		SN=SN+1
 10428			000002			ZZ=ZZ+ZZ
 10429						IFE	ZZ,<ZZ=1>
 10430	007614	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10431	007615	270 00 0 00 041040 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10432	007616	444 00 0 00 041040 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10433	007617	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10434	007620	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10435						STOP^
 10436	007621	254 04 0 00 007622 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10437	007622	324 00 0 00 007623 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10438									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10439									;IN THE SUBTEST) TO LOOP ON ERROR^
 10440
 10441					;**********
 10442
 10443					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10444					;TO AN AC  OF ALL ZEROS IS ADDED A
 10445					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10446					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10447					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10448					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10449					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10450					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10451					;EVERY BIT OF THE AC.
 10452					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10453			013203		SN=SN+1
 10454			000004			ZZ=ZZ+ZZ
 10455						IFE	ZZ,<ZZ=1>
 10456	007623	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10457	007624	270 00 0 00 041041 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10458	007625	444 00 0 00 041041 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10459	007626	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10460	007627	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10461						STOP^
 10462	007630	254 04 0 00 007631 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10463	007631	324 00 0 00 007632 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10464									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10465									;IN THE SUBTEST) TO LOOP ON ERROR^
 10466
 10467					;**********
 10468
 10469					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10470					;TO AN AC  OF ALL ZEROS IS ADDED A
 10471					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10472					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0279

 10473					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10474					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10475					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10476					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10477					;EVERY BIT OF THE AC.
 10478					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10479			013204		SN=SN+1
 10480			000010			ZZ=ZZ+ZZ
 10481						IFE	ZZ,<ZZ=1>
 10482	007632	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10483	007633	270 00 0 00 041042 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10484	007634	444 00 0 00 041042 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10485	007635	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10486	007636	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10487						STOP^
 10488	007637	254 04 0 00 007640 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10489	007640	324 00 0 00 007641 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10490									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10491									;IN THE SUBTEST) TO LOOP ON ERROR^
 10492
 10493					;**********
 10494
 10495					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10496					;TO AN AC  OF ALL ZEROS IS ADDED A
 10497					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10498					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10499					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10500					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10501					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10502					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10503					;EVERY BIT OF THE AC.
 10504					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10505			013205		SN=SN+1
 10506			000020			ZZ=ZZ+ZZ
 10507						IFE	ZZ,<ZZ=1>
 10508	007641	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10509	007642	270 00 0 00 041043 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10510	007643	444 00 0 00 041043 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10511	007644	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10512	007645	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10513						STOP^
 10514	007646	254 04 0 00 007647 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10515	007647	324 00 0 00 007650 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10516									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10517									;IN THE SUBTEST) TO LOOP ON ERROR^
 10518
 10519					;**********
 10520
 10521					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10522					;TO AN AC  OF ALL ZEROS IS ADDED A
 10523					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10524					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10525					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10526					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10527					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0280

 10528					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10529					;EVERY BIT OF THE AC.
 10530					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10531			013206		SN=SN+1
 10532			000040			ZZ=ZZ+ZZ
 10533						IFE	ZZ,<ZZ=1>
 10534	007650	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10535	007651	270 00 0 00 041044 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10536	007652	444 00 0 00 041044 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10537	007653	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10538	007654	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10539						STOP^
 10540	007655	254 04 0 00 007656 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10541	007656	324 00 0 00 007657 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10542									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10543									;IN THE SUBTEST) TO LOOP ON ERROR^
 10544
 10545					;**********
 10546
 10547					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10548					;TO AN AC  OF ALL ZEROS IS ADDED A
 10549					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10550					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10551					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10552					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10553					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10554					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10555					;EVERY BIT OF THE AC.
 10556					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10557			013207		SN=SN+1
 10558			000100			ZZ=ZZ+ZZ
 10559						IFE	ZZ,<ZZ=1>
 10560	007657	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10561	007660	270 00 0 00 041045 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10562	007661	444 00 0 00 041045 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10563	007662	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10564	007663	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10565						STOP^
 10566	007664	254 04 0 00 007665 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10567	007665	324 00 0 00 007666 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10568									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10569									;IN THE SUBTEST) TO LOOP ON ERROR^
 10570
 10571					;**********
 10572
 10573					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10574					;TO AN AC  OF ALL ZEROS IS ADDED A
 10575					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10576					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10577					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10578					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10579					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10580					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10581					;EVERY BIT OF THE AC.
 10582					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0281

 10583			013210		SN=SN+1
 10584			000200			ZZ=ZZ+ZZ
 10585						IFE	ZZ,<ZZ=1>
 10586	007666	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10587	007667	270 00 0 00 041046 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10588	007670	444 00 0 00 041046 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10589	007671	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10590	007672	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10591						STOP^
 10592	007673	254 04 0 00 007674 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10593	007674	324 00 0 00 007675 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10594									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10595									;IN THE SUBTEST) TO LOOP ON ERROR^
 10596
 10597					;**********
 10598
 10599					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10600					;TO AN AC  OF ALL ZEROS IS ADDED A
 10601					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10602					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10603					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10604					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10605					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10606					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10607					;EVERY BIT OF THE AC.
 10608					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10609			013211		SN=SN+1
 10610			000400			ZZ=ZZ+ZZ
 10611						IFE	ZZ,<ZZ=1>
 10612	007675	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10613	007676	270 00 0 00 041047 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10614	007677	444 00 0 00 041047 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10615	007700	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10616	007701	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10617						STOP^
 10618	007702	254 04 0 00 007703 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10619	007703	324 00 0 00 007704 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10620									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10621									;IN THE SUBTEST) TO LOOP ON ERROR^
 10622
 10623					;**********
 10624
 10625					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10626					;TO AN AC  OF ALL ZEROS IS ADDED A
 10627					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10628					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10629					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10630					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10631					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10632					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10633					;EVERY BIT OF THE AC.
 10634					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10635			013212		SN=SN+1
 10636			001000			ZZ=ZZ+ZZ
 10637						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0282

 10638	007704	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10639	007705	270 00 0 00 041050 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10640	007706	444 00 0 00 041050 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10641	007707	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10642	007710	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10643						STOP^
 10644	007711	254 04 0 00 007712 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10645	007712	324 00 0 00 007713 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10646									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10647									;IN THE SUBTEST) TO LOOP ON ERROR^
 10648
 10649					;**********
 10650
 10651					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10652					;TO AN AC  OF ALL ZEROS IS ADDED A
 10653					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10654					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10655					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10656					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10657					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10658					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10659					;EVERY BIT OF THE AC.
 10660					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10661			013213		SN=SN+1
 10662			002000			ZZ=ZZ+ZZ
 10663						IFE	ZZ,<ZZ=1>
 10664	007713	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10665	007714	270 00 0 00 041051 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10666	007715	444 00 0 00 041051 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10667	007716	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10668	007717	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10669						STOP^
 10670	007720	254 04 0 00 007721 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10671	007721	324 00 0 00 007722 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10672									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10673									;IN THE SUBTEST) TO LOOP ON ERROR^
 10674
 10675					;**********
 10676
 10677					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10678					;TO AN AC  OF ALL ZEROS IS ADDED A
 10679					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10680					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10681					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10682					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10683					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10684					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10685					;EVERY BIT OF THE AC.
 10686					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10687			013214		SN=SN+1
 10688			004000			ZZ=ZZ+ZZ
 10689						IFE	ZZ,<ZZ=1>
 10690	007722	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10691	007723	270 00 0 00 041052 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10692	007724	444 00 0 00 041052 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0283

 10693	007725	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10694	007726	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10695						STOP^
 10696	007727	254 04 0 00 007730 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10697	007730	324 00 0 00 007731 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10698									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10699									;IN THE SUBTEST) TO LOOP ON ERROR^
 10700
 10701					;**********
 10702
 10703					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10704					;TO AN AC  OF ALL ZEROS IS ADDED A
 10705					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10706					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10707					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10708					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10709					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10710					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10711					;EVERY BIT OF THE AC.
 10712					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10713			013215		SN=SN+1
 10714			010000			ZZ=ZZ+ZZ
 10715						IFE	ZZ,<ZZ=1>
 10716	007731	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10717	007732	270 00 0 00 041053 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10718	007733	444 00 0 00 041053 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10719	007734	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10720	007735	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10721						STOP^
 10722	007736	254 04 0 00 007737 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10723	007737	324 00 0 00 007740 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10724									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10725									;IN THE SUBTEST) TO LOOP ON ERROR^
 10726
 10727					;**********
 10728
 10729					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10730					;TO AN AC  OF ALL ZEROS IS ADDED A
 10731					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10732					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10733					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10734					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10735					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10736					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10737					;EVERY BIT OF THE AC.
 10738					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10739			013216		SN=SN+1
 10740			020000			ZZ=ZZ+ZZ
 10741						IFE	ZZ,<ZZ=1>
 10742	007740	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10743	007741	270 00 0 00 041054 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10744	007742	444 00 0 00 041054 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10745	007743	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10746	007744	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10747						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0284

 10748	007745	254 04 0 00 007746 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10749	007746	324 00 0 00 007747 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10750									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10751									;IN THE SUBTEST) TO LOOP ON ERROR^
 10752
 10753					;**********
 10754
 10755					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10756					;TO AN AC  OF ALL ZEROS IS ADDED A
 10757					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10758					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10759					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10760					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10761					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10762					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10763					;EVERY BIT OF THE AC.
 10764					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10765			013217		SN=SN+1
 10766			040000			ZZ=ZZ+ZZ
 10767						IFE	ZZ,<ZZ=1>
 10768	007747	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10769	007750	270 00 0 00 041055 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10770	007751	444 00 0 00 041055 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10771	007752	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10772	007753	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10773						STOP^
 10774	007754	254 04 0 00 007755 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10775	007755	324 00 0 00 007756 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10776									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10777									;IN THE SUBTEST) TO LOOP ON ERROR^
 10778
 10779					;**********
 10780
 10781					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10782					;TO AN AC  OF ALL ZEROS IS ADDED A
 10783					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10784					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10785					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10786					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10787					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10788					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10789					;EVERY BIT OF THE AC.
 10790					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10791			013220		SN=SN+1
 10792			100000			ZZ=ZZ+ZZ
 10793						IFE	ZZ,<ZZ=1>
 10794	007756	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10795	007757	270 00 0 00 041056 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10796	007760	444 00 0 00 041056 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10797	007761	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10798	007762	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10799						STOP^
 10800	007763	254 04 0 00 007764 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10801	007764	324 00 0 00 007765 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10802									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-8
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0285

 10803									;IN THE SUBTEST) TO LOOP ON ERROR^
 10804
 10805					;**********
 10806
 10807					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10808					;TO AN AC  OF ALL ZEROS IS ADDED A
 10809					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10810					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10811					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10812					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10813					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10814					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10815					;EVERY BIT OF THE AC.
 10816					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10817			013221		SN=SN+1
 10818			200000			ZZ=ZZ+ZZ
 10819						IFE	ZZ,<ZZ=1>
 10820	007765	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10821	007766	270 00 0 00 041057 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10822	007767	444 00 0 00 041057 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10823	007770	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10824	007771	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10825						STOP^
 10826	007772	254 04 0 00 007773 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10827	007773	324 00 0 00 007774 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10828									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10829									;IN THE SUBTEST) TO LOOP ON ERROR^
 10830
 10831					;**********
 10832
 10833					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10834					;TO AN AC  OF ALL ZEROS IS ADDED A
 10835					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10836					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10837					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10838					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10839					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10840					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10841					;EVERY BIT OF THE AC.
 10842					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10843			013222		SN=SN+1
 10844			400000			ZZ=ZZ+ZZ
 10845						IFE	ZZ,<ZZ=1>
 10846	007774	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10847	007775	270 00 0 00 041060 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10848	007776	444 00 0 00 041060 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10849	007777	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10850	010000	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10851						STOP^
 10852	010001	254 04 0 00 010002 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10853	010002	324 00 0 00 010003 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10854									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10855									;IN THE SUBTEST) TO LOOP ON ERROR^
 10856
 10857					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-9
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0286

 10858
 10859					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10860					;TO AN AC  OF ALL ZEROS IS ADDED A
 10861					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10862					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10863					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10864					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10865					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10866					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10867					;EVERY BIT OF THE AC.
 10868					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10869			013223		SN=SN+1
 10870		000001	000000			ZZ=ZZ+ZZ
 10871						IFE	ZZ,<ZZ=1>
 10872	010003	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10873	010004	270 00 0 00 041061 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10874	010005	444 00 0 00 041061 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10875	010006	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10876	010007	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10877						STOP^
 10878	010010	254 04 0 00 010011 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10879	010011	324 00 0 00 010012 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10880									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10881									;IN THE SUBTEST) TO LOOP ON ERROR^
 10882
 10883					;**********
 10884
 10885					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10886					;TO AN AC  OF ALL ZEROS IS ADDED A
 10887					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10888					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10889					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10890					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10891					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10892					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10893					;EVERY BIT OF THE AC.
 10894					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10895			013224		SN=SN+1
 10896		000002	000000			ZZ=ZZ+ZZ
 10897						IFE	ZZ,<ZZ=1>
 10898	010012	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10899	010013	270 00 0 00 041062 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10900	010014	444 00 0 00 041062 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10901	010015	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10902	010016	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10903						STOP^
 10904	010017	254 04 0 00 010020 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10905	010020	324 00 0 00 010021 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10906									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10907									;IN THE SUBTEST) TO LOOP ON ERROR^
 10908
 10909					;**********
 10910
 10911					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10912					;TO AN AC  OF ALL ZEROS IS ADDED A
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-10
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0287

 10913					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10914					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10915					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10916					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10917					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10918					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10919					;EVERY BIT OF THE AC.
 10920					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10921			013225		SN=SN+1
 10922		000004	000000			ZZ=ZZ+ZZ
 10923						IFE	ZZ,<ZZ=1>
 10924	010021	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10925	010022	270 00 0 00 041063 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10926	010023	444 00 0 00 041063 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10927	010024	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10928	010025	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10929						STOP^
 10930	010026	254 04 0 00 010027 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10931	010027	324 00 0 00 010030 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10932									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10933									;IN THE SUBTEST) TO LOOP ON ERROR^
 10934
 10935					;**********
 10936
 10937					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10938					;TO AN AC  OF ALL ZEROS IS ADDED A
 10939					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10940					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10941					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10942					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10943					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10944					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10945					;EVERY BIT OF THE AC.
 10946					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10947			013226		SN=SN+1
 10948		000010	000000			ZZ=ZZ+ZZ
 10949						IFE	ZZ,<ZZ=1>
 10950	010030	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10951	010031	270 00 0 00 041064 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10952	010032	444 00 0 00 041064 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10953	010033	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10954	010034	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10955						STOP^
 10956	010035	254 04 0 00 010036 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10957	010036	324 00 0 00 010037 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10958									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10959									;IN THE SUBTEST) TO LOOP ON ERROR^
 10960
 10961					;**********
 10962
 10963					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10964					;TO AN AC  OF ALL ZEROS IS ADDED A
 10965					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10966					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10967					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-11
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0288

 10968					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10969					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10970					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10971					;EVERY BIT OF THE AC.
 10972					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10973			013227		SN=SN+1
 10974		000020	000000			ZZ=ZZ+ZZ
 10975						IFE	ZZ,<ZZ=1>
 10976	010037	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 10977	010040	270 00 0 00 041065 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 10978	010041	444 00 0 00 041065 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 10979	010042	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 10980	010043	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 10981						STOP^
 10982	010044	254 04 0 00 010045 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 10983	010045	324 00 0 00 010046 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 10984									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 10985									;IN THE SUBTEST) TO LOOP ON ERROR^
 10986
 10987					;**********
 10988
 10989					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 10990					;TO AN AC  OF ALL ZEROS IS ADDED A
 10991					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 10992					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 10993					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 10994					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 10995					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 10996					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 10997					;EVERY BIT OF THE AC.
 10998					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 10999			013230		SN=SN+1
 11000		000040	000000			ZZ=ZZ+ZZ
 11001						IFE	ZZ,<ZZ=1>
 11002	010046	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11003	010047	270 00 0 00 041066 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11004	010050	444 00 0 00 041066 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11005	010051	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11006	010052	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11007						STOP^
 11008	010053	254 04 0 00 010054 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11009	010054	324 00 0 00 010055 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11010									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11011									;IN THE SUBTEST) TO LOOP ON ERROR^
 11012
 11013					;**********
 11014
 11015					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11016					;TO AN AC  OF ALL ZEROS IS ADDED A
 11017					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11018					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11019					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11020					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11021					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11022					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-12
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0289

 11023					;EVERY BIT OF THE AC.
 11024					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11025			013231		SN=SN+1
 11026		000100	000000			ZZ=ZZ+ZZ
 11027						IFE	ZZ,<ZZ=1>
 11028	010055	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11029	010056	270 00 0 00 041067 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11030	010057	444 00 0 00 041067 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11031	010060	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11032	010061	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11033						STOP^
 11034	010062	254 04 0 00 010063 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11035	010063	324 00 0 00 010064 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11036									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11037									;IN THE SUBTEST) TO LOOP ON ERROR^
 11038
 11039					;**********
 11040
 11041					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11042					;TO AN AC  OF ALL ZEROS IS ADDED A
 11043					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11044					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11045					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11046					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11047					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11048					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11049					;EVERY BIT OF THE AC.
 11050					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11051			013232		SN=SN+1
 11052		000200	000000			ZZ=ZZ+ZZ
 11053						IFE	ZZ,<ZZ=1>
 11054	010064	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11055	010065	270 00 0 00 041070 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11056	010066	444 00 0 00 041070 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11057	010067	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11058	010070	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11059						STOP^
 11060	010071	254 04 0 00 010072 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11061	010072	324 00 0 00 010073 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11062									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11063									;IN THE SUBTEST) TO LOOP ON ERROR^
 11064
 11065					;**********
 11066
 11067					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11068					;TO AN AC  OF ALL ZEROS IS ADDED A
 11069					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11070					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11071					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11072					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11073					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11074					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11075					;EVERY BIT OF THE AC.
 11076					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11077			013233		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-13
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0290

 11078		000400	000000			ZZ=ZZ+ZZ
 11079						IFE	ZZ,<ZZ=1>
 11080	010073	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11081	010074	270 00 0 00 041036 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11082	010075	444 00 0 00 041036 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11083	010076	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11084	010077	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11085						STOP^
 11086	010100	254 04 0 00 010101 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11087	010101	324 00 0 00 010102 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11088									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11089									;IN THE SUBTEST) TO LOOP ON ERROR^
 11090
 11091					;**********
 11092
 11093					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11094					;TO AN AC  OF ALL ZEROS IS ADDED A
 11095					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11096					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11097					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11098					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11099					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11100					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11101					;EVERY BIT OF THE AC.
 11102					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11103			013234		SN=SN+1
 11104		001000	000000			ZZ=ZZ+ZZ
 11105						IFE	ZZ,<ZZ=1>
 11106	010102	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11107	010103	270 00 0 00 041071 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11108	010104	444 00 0 00 041071 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11109	010105	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11110	010106	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11111						STOP^
 11112	010107	254 04 0 00 010110 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11113	010110	324 00 0 00 010111 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11114									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11115									;IN THE SUBTEST) TO LOOP ON ERROR^
 11116
 11117					;**********
 11118
 11119					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11120					;TO AN AC  OF ALL ZEROS IS ADDED A
 11121					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11122					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11123					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11124					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11125					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11126					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11127					;EVERY BIT OF THE AC.
 11128					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11129			013235		SN=SN+1
 11130		002000	000000			ZZ=ZZ+ZZ
 11131						IFE	ZZ,<ZZ=1>
 11132	010111	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-14
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0291

 11133	010112	270 00 0 00 041072 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11134	010113	444 00 0 00 041072 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11135	010114	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11136	010115	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11137						STOP^
 11138	010116	254 04 0 00 010117 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11139	010117	324 00 0 00 010120 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11140									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11141									;IN THE SUBTEST) TO LOOP ON ERROR^
 11142
 11143					;**********
 11144
 11145					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11146					;TO AN AC  OF ALL ZEROS IS ADDED A
 11147					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11148					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11149					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11150					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11151					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11152					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11153					;EVERY BIT OF THE AC.
 11154					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11155			013236		SN=SN+1
 11156		004000	000000			ZZ=ZZ+ZZ
 11157						IFE	ZZ,<ZZ=1>
 11158	010120	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11159	010121	270 00 0 00 041073 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11160	010122	444 00 0 00 041073 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11161	010123	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11162	010124	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11163						STOP^
 11164	010125	254 04 0 00 010126 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11165	010126	324 00 0 00 010127 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11166									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11167									;IN THE SUBTEST) TO LOOP ON ERROR^
 11168
 11169					;**********
 11170
 11171					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11172					;TO AN AC  OF ALL ZEROS IS ADDED A
 11173					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11174					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11175					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11176					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11177					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11178					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11179					;EVERY BIT OF THE AC.
 11180					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11181			013237		SN=SN+1
 11182		010000	000000			ZZ=ZZ+ZZ
 11183						IFE	ZZ,<ZZ=1>
 11184	010127	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11185	010130	270 00 0 00 041074 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11186	010131	444 00 0 00 041074 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11187	010132	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-15
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0292

 11188	010133	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11189						STOP^
 11190	010134	254 04 0 00 010135 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11191	010135	324 00 0 00 010136 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11192									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11193									;IN THE SUBTEST) TO LOOP ON ERROR^
 11194
 11195					;**********
 11196
 11197					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11198					;TO AN AC  OF ALL ZEROS IS ADDED A
 11199					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11200					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11201					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11202					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11203					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11204					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11205					;EVERY BIT OF THE AC.
 11206					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11207			013240		SN=SN+1
 11208		020000	000000			ZZ=ZZ+ZZ
 11209						IFE	ZZ,<ZZ=1>
 11210	010136	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11211	010137	270 00 0 00 041075 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11212	010140	444 00 0 00 041075 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11213	010141	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11214	010142	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11215						STOP^
 11216	010143	254 04 0 00 010144 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11217	010144	324 00 0 00 010145 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11218									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11219									;IN THE SUBTEST) TO LOOP ON ERROR^
 11220
 11221					;**********
 11222
 11223					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11224					;TO AN AC  OF ALL ZEROS IS ADDED A
 11225					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11226					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11227					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11228					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11229					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11230					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11231					;EVERY BIT OF THE AC.
 11232					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11233			013241		SN=SN+1
 11234		040000	000000			ZZ=ZZ+ZZ
 11235						IFE	ZZ,<ZZ=1>
 11236	010145	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11237	010146	270 00 0 00 041076 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11238	010147	444 00 0 00 041076 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11239	010150	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11240	010151	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11241						STOP^
 11242	010152	254 04 0 00 010153 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-16
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0293

 11243	010153	324 00 0 00 010154 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11244									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11245									;IN THE SUBTEST) TO LOOP ON ERROR^
 11246
 11247					;**********
 11248
 11249					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11250					;TO AN AC  OF ALL ZEROS IS ADDED A
 11251					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11252					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11253					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11254					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11255					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11256					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11257					;EVERY BIT OF THE AC.
 11258					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11259			013242		SN=SN+1
 11260		100000	000000			ZZ=ZZ+ZZ
 11261						IFE	ZZ,<ZZ=1>
 11262	010154	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11263	010155	270 00 0 00 041077 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11264	010156	444 00 0 00 041077 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11265	010157	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11266	010160	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11267						STOP^
 11268	010161	254 04 0 00 010162 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11269	010162	324 00 0 00 010163 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11270									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11271									;IN THE SUBTEST) TO LOOP ON ERROR^
 11272
 11273					;**********
 11274
 11275					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11276					;TO AN AC  OF ALL ZEROS IS ADDED A
 11277					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11278					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11279					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11280					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11281					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11282					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11283					;EVERY BIT OF THE AC.
 11284					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11285			013243		SN=SN+1
 11286		200000	000000			ZZ=ZZ+ZZ
 11287						IFE	ZZ,<ZZ=1>
 11288	010163	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11289	010164	270 00 0 00 041100 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11290	010165	444 00 0 00 041100 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11291	010166	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11292	010167	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11293						STOP^
 11294	010170	254 04 0 00 010171 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11295	010171	324 00 0 00 010172 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11296									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11297									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-17
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0294

 11298
 11299					;**********
 11300
 11301					;THIS TEST CHECKS THE 'ADD' INSTRUCTION AND THE ADDER ON A 0NE-BIT-AT-A-TIME BASIS.
 11302					;TO AN AC  OF ALL ZEROS IS ADDED A
 11303					;WORD CONTAINING ALL ZEROS EXCEPT FOR A ONE IN ONE AND ONLY ONE BIT,
 11304					;THE RESULT IS THAT THE AC CONTAINS THE SAME NUMBER WHICH WAS ADDED TO IT.
 11305					;THE AC IS THEN EQUIVALENCED WITH C(E) WHERE C(E)=C(AC).  THIS RESULT SHOULD
 11306					;BE ALL ONES.  NEXT, THE AC IS EQUIVALENCED WITH A WORD OF ALL ZEROS.
 11307					;THE FINAL RESULT SHOULD BE C(AC)=0. THIS
 11308					;TEST IS REPEATED 36 TIMES SO THAT A ONE MAY BE RIPPLED THOUGH
 11309					;EVERY BIT OF THE AC.
 11310					;THE AC IS CHECKED TO INSURE THAT IT CONTAINS ALL ZEROS.
 11311			013244		SN=SN+1
 11312		400000	000000			ZZ=ZZ+ZZ
 11313						IFE	ZZ,<ZZ=1>
 11314	010172	200 00 0 00 041025 		MOVE	[0]		;LOAD AC WITH ALL ZEROS
 11315	010173	270 00 0 00 041030 		ADD	[ZZ]		;*ADD OF FLOATING ONE TO ZERO
 11316	010174	444 00 0 00 041030 		EQV	[ZZ]		;RESULTS IN C(AC)=ALL ONES
 11317	010175	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11318	010176	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11319						STOP^
 11320	010177	254 04 0 00 010200 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11321	010200	324 00 0 00 010201 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11322									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11323									;IN THE SUBTEST) TO LOOP ON ERROR^
 11324
 11325					;**********
 11326
 11327					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-18
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0295

 11328					;ADD A RIPPLED ONE TO A RIPPLED ONE
 11329
 11330			011200		SN=11200
 11331			000000			ZZ=0
 11332
 11333					A11200:	REPEAT	^D35,
 11334					<;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11335					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11336					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11337					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11338					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11339					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11340					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11341					;SO THAT A ONE WILL BE FLOATED THROUGH
 11342					;BITS 1 THRU 35 OF BOTH AC AND E
 11343					SN=SN+1
 11344						ZZ=ZZ+ZZ
 11345						IFE	ZZ,<ZZ=1>
 11346						MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11347						ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11348						EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11349						EQV	[0]		;RESULTS IN C(AC)=0
 11350						SKIPE			;PASS TEST IF C(AC)=0
 11351						STOP
 11352					
 11353					;**********
 11354					>
 11355					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11356					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11357					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11358					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11359					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11360					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11361					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11362					;SO THAT A ONE WILL BE FLOATED THROUGH
 11363					;BITS 1 THRU 35 OF BOTH AC AND E
 11364			011201		SN=SN+1
 11365			000000			ZZ=ZZ+ZZ
 11366			000001			IFE	ZZ,<ZZ=1>
 11367	010201	200 00 0 00 041037 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11368	010202	270 00 0 00 041037 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11369	010203	444 00 0 00 041040 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11370	010204	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11371	010205	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11372						STOP^
 11373	010206	254 04 0 00 010207 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11374	010207	324 00 0 00 010210 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11375									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11376									;IN THE SUBTEST) TO LOOP ON ERROR^
 11377
 11378					;**********
 11379
 11380					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11381					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11382					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-19
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0296

 11383					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11384					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11385					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11386					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11387					;SO THAT A ONE WILL BE FLOATED THROUGH
 11388					;BITS 1 THRU 35 OF BOTH AC AND E
 11389			011202		SN=SN+1
 11390			000002			ZZ=ZZ+ZZ
 11391						IFE	ZZ,<ZZ=1>
 11392	010210	200 00 0 00 041040 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11393	010211	270 00 0 00 041040 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11394	010212	444 00 0 00 041041 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11395	010213	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11396	010214	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11397						STOP^
 11398	010215	254 04 0 00 010216 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11399	010216	324 00 0 00 010217 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11400									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11401									;IN THE SUBTEST) TO LOOP ON ERROR^
 11402
 11403					;**********
 11404
 11405					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11406					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11407					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11408					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11409					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11410					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11411					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11412					;SO THAT A ONE WILL BE FLOATED THROUGH
 11413					;BITS 1 THRU 35 OF BOTH AC AND E
 11414			011203		SN=SN+1
 11415			000004			ZZ=ZZ+ZZ
 11416						IFE	ZZ,<ZZ=1>
 11417	010217	200 00 0 00 041041 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11418	010220	270 00 0 00 041041 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11419	010221	444 00 0 00 041042 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11420	010222	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11421	010223	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11422						STOP^
 11423	010224	254 04 0 00 010225 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11424	010225	324 00 0 00 010226 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11425									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11426									;IN THE SUBTEST) TO LOOP ON ERROR^
 11427
 11428					;**********
 11429
 11430					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11431					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11432					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11433					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11434					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11435					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11436					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11437					;SO THAT A ONE WILL BE FLOATED THROUGH
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-20
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0297

 11438					;BITS 1 THRU 35 OF BOTH AC AND E
 11439			011204		SN=SN+1
 11440			000010			ZZ=ZZ+ZZ
 11441						IFE	ZZ,<ZZ=1>
 11442	010226	200 00 0 00 041042 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11443	010227	270 00 0 00 041042 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11444	010230	444 00 0 00 041043 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11445	010231	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11446	010232	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11447						STOP^
 11448	010233	254 04 0 00 010234 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11449	010234	324 00 0 00 010235 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11450									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11451									;IN THE SUBTEST) TO LOOP ON ERROR^
 11452
 11453					;**********
 11454
 11455					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11456					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11457					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11458					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11459					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11460					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11461					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11462					;SO THAT A ONE WILL BE FLOATED THROUGH
 11463					;BITS 1 THRU 35 OF BOTH AC AND E
 11464			011205		SN=SN+1
 11465			000020			ZZ=ZZ+ZZ
 11466						IFE	ZZ,<ZZ=1>
 11467	010235	200 00 0 00 041043 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11468	010236	270 00 0 00 041043 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11469	010237	444 00 0 00 041044 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11470	010240	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11471	010241	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11472						STOP^
 11473	010242	254 04 0 00 010243 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11474	010243	324 00 0 00 010244 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11475									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11476									;IN THE SUBTEST) TO LOOP ON ERROR^
 11477
 11478					;**********
 11479
 11480					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11481					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11482					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11483					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11484					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11485					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11486					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11487					;SO THAT A ONE WILL BE FLOATED THROUGH
 11488					;BITS 1 THRU 35 OF BOTH AC AND E
 11489			011206		SN=SN+1
 11490			000040			ZZ=ZZ+ZZ
 11491						IFE	ZZ,<ZZ=1>
 11492	010244	200 00 0 00 041044 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-21
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0298

 11493	010245	270 00 0 00 041044 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11494	010246	444 00 0 00 041045 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11495	010247	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11496	010250	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11497						STOP^
 11498	010251	254 04 0 00 010252 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11499	010252	324 00 0 00 010253 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11500									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11501									;IN THE SUBTEST) TO LOOP ON ERROR^
 11502
 11503					;**********
 11504
 11505					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11506					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11507					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11508					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11509					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11510					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11511					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11512					;SO THAT A ONE WILL BE FLOATED THROUGH
 11513					;BITS 1 THRU 35 OF BOTH AC AND E
 11514			011207		SN=SN+1
 11515			000100			ZZ=ZZ+ZZ
 11516						IFE	ZZ,<ZZ=1>
 11517	010253	200 00 0 00 041045 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11518	010254	270 00 0 00 041045 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11519	010255	444 00 0 00 041046 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11520	010256	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11521	010257	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11522						STOP^
 11523	010260	254 04 0 00 010261 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11524	010261	324 00 0 00 010262 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11525									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11526									;IN THE SUBTEST) TO LOOP ON ERROR^
 11527
 11528					;**********
 11529
 11530					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11531					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11532					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11533					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11534					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11535					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11536					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11537					;SO THAT A ONE WILL BE FLOATED THROUGH
 11538					;BITS 1 THRU 35 OF BOTH AC AND E
 11539			011210		SN=SN+1
 11540			000200			ZZ=ZZ+ZZ
 11541						IFE	ZZ,<ZZ=1>
 11542	010262	200 00 0 00 041046 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11543	010263	270 00 0 00 041046 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11544	010264	444 00 0 00 041047 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11545	010265	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11546	010266	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11547						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-22
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0299

 11548	010267	254 04 0 00 010270 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11549	010270	324 00 0 00 010271 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11550									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11551									;IN THE SUBTEST) TO LOOP ON ERROR^
 11552
 11553					;**********
 11554
 11555					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11556					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11557					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11558					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11559					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11560					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11561					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11562					;SO THAT A ONE WILL BE FLOATED THROUGH
 11563					;BITS 1 THRU 35 OF BOTH AC AND E
 11564			011211		SN=SN+1
 11565			000400			ZZ=ZZ+ZZ
 11566						IFE	ZZ,<ZZ=1>
 11567	010271	200 00 0 00 041047 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11568	010272	270 00 0 00 041047 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11569	010273	444 00 0 00 041050 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11570	010274	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11571	010275	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11572						STOP^
 11573	010276	254 04 0 00 010277 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11574	010277	324 00 0 00 010300 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11575									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11576									;IN THE SUBTEST) TO LOOP ON ERROR^
 11577
 11578					;**********
 11579
 11580					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11581					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11582					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11583					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11584					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11585					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11586					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11587					;SO THAT A ONE WILL BE FLOATED THROUGH
 11588					;BITS 1 THRU 35 OF BOTH AC AND E
 11589			011212		SN=SN+1
 11590			001000			ZZ=ZZ+ZZ
 11591						IFE	ZZ,<ZZ=1>
 11592	010300	200 00 0 00 041050 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11593	010301	270 00 0 00 041050 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11594	010302	444 00 0 00 041051 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11595	010303	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11596	010304	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11597						STOP^
 11598	010305	254 04 0 00 010306 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11599	010306	324 00 0 00 010307 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11600									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11601									;IN THE SUBTEST) TO LOOP ON ERROR^
 11602
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-23
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0300

 11603					;**********
 11604
 11605					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11606					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11607					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11608					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11609					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11610					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11611					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11612					;SO THAT A ONE WILL BE FLOATED THROUGH
 11613					;BITS 1 THRU 35 OF BOTH AC AND E
 11614			011213		SN=SN+1
 11615			002000			ZZ=ZZ+ZZ
 11616						IFE	ZZ,<ZZ=1>
 11617	010307	200 00 0 00 041051 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11618	010310	270 00 0 00 041051 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11619	010311	444 00 0 00 041052 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11620	010312	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11621	010313	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11622						STOP^
 11623	010314	254 04 0 00 010315 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11624	010315	324 00 0 00 010316 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11625									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11626									;IN THE SUBTEST) TO LOOP ON ERROR^
 11627
 11628					;**********
 11629
 11630					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11631					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11632					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11633					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11634					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11635					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11636					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11637					;SO THAT A ONE WILL BE FLOATED THROUGH
 11638					;BITS 1 THRU 35 OF BOTH AC AND E
 11639			011214		SN=SN+1
 11640			004000			ZZ=ZZ+ZZ
 11641						IFE	ZZ,<ZZ=1>
 11642	010316	200 00 0 00 041052 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11643	010317	270 00 0 00 041052 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11644	010320	444 00 0 00 041053 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11645	010321	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11646	010322	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11647						STOP^
 11648	010323	254 04 0 00 010324 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11649	010324	324 00 0 00 010325 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11650									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11651									;IN THE SUBTEST) TO LOOP ON ERROR^
 11652
 11653					;**********
 11654
 11655					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11656					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11657					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-24
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0301

 11658					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11659					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11660					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11661					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11662					;SO THAT A ONE WILL BE FLOATED THROUGH
 11663					;BITS 1 THRU 35 OF BOTH AC AND E
 11664			011215		SN=SN+1
 11665			010000			ZZ=ZZ+ZZ
 11666						IFE	ZZ,<ZZ=1>
 11667	010325	200 00 0 00 041053 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11668	010326	270 00 0 00 041053 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11669	010327	444 00 0 00 041054 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11670	010330	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11671	010331	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11672						STOP^
 11673	010332	254 04 0 00 010333 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11674	010333	324 00 0 00 010334 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11675									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11676									;IN THE SUBTEST) TO LOOP ON ERROR^
 11677
 11678					;**********
 11679
 11680					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11681					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11682					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11683					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11684					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11685					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11686					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11687					;SO THAT A ONE WILL BE FLOATED THROUGH
 11688					;BITS 1 THRU 35 OF BOTH AC AND E
 11689			011216		SN=SN+1
 11690			020000			ZZ=ZZ+ZZ
 11691						IFE	ZZ,<ZZ=1>
 11692	010334	200 00 0 00 041054 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11693	010335	270 00 0 00 041054 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11694	010336	444 00 0 00 041055 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11695	010337	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11696	010340	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11697						STOP^
 11698	010341	254 04 0 00 010342 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11699	010342	324 00 0 00 010343 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11700									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11701									;IN THE SUBTEST) TO LOOP ON ERROR^
 11702
 11703					;**********
 11704
 11705					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11706					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11707					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11708					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11709					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11710					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11711					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11712					;SO THAT A ONE WILL BE FLOATED THROUGH
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-25
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0302

 11713					;BITS 1 THRU 35 OF BOTH AC AND E
 11714			011217		SN=SN+1
 11715			040000			ZZ=ZZ+ZZ
 11716						IFE	ZZ,<ZZ=1>
 11717	010343	200 00 0 00 041055 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11718	010344	270 00 0 00 041055 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11719	010345	444 00 0 00 041056 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11720	010346	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11721	010347	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11722						STOP^
 11723	010350	254 04 0 00 010351 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11724	010351	324 00 0 00 010352 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11725									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11726									;IN THE SUBTEST) TO LOOP ON ERROR^
 11727
 11728					;**********
 11729
 11730					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11731					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11732					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11733					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11734					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11735					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11736					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11737					;SO THAT A ONE WILL BE FLOATED THROUGH
 11738					;BITS 1 THRU 35 OF BOTH AC AND E
 11739			011220		SN=SN+1
 11740			100000			ZZ=ZZ+ZZ
 11741						IFE	ZZ,<ZZ=1>
 11742	010352	200 00 0 00 041056 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11743	010353	270 00 0 00 041056 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11744	010354	444 00 0 00 041057 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11745	010355	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11746	010356	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11747						STOP^
 11748	010357	254 04 0 00 010360 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11749	010360	324 00 0 00 010361 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11750									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11751									;IN THE SUBTEST) TO LOOP ON ERROR^
 11752
 11753					;**********
 11754
 11755					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11756					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11757					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11758					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11759					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11760					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11761					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11762					;SO THAT A ONE WILL BE FLOATED THROUGH
 11763					;BITS 1 THRU 35 OF BOTH AC AND E
 11764			011221		SN=SN+1
 11765			200000			ZZ=ZZ+ZZ
 11766						IFE	ZZ,<ZZ=1>
 11767	010361	200 00 0 00 041057 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-26
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0303

 11768	010362	270 00 0 00 041057 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11769	010363	444 00 0 00 041060 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11770	010364	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11771	010365	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11772						STOP^
 11773	010366	254 04 0 00 010367 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11774	010367	324 00 0 00 010370 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11775									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11776									;IN THE SUBTEST) TO LOOP ON ERROR^
 11777
 11778					;**********
 11779
 11780					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11781					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11782					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11783					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11784					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11785					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11786					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11787					;SO THAT A ONE WILL BE FLOATED THROUGH
 11788					;BITS 1 THRU 35 OF BOTH AC AND E
 11789			011222		SN=SN+1
 11790			400000			ZZ=ZZ+ZZ
 11791						IFE	ZZ,<ZZ=1>
 11792	010370	200 00 0 00 041060 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11793	010371	270 00 0 00 041060 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11794	010372	444 00 0 00 041061 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11795	010373	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11796	010374	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11797						STOP^
 11798	010375	254 04 0 00 010376 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11799	010376	324 00 0 00 010377 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11800									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11801									;IN THE SUBTEST) TO LOOP ON ERROR^
 11802
 11803					;**********
 11804
 11805					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11806					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11807					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11808					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11809					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11810					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11811					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11812					;SO THAT A ONE WILL BE FLOATED THROUGH
 11813					;BITS 1 THRU 35 OF BOTH AC AND E
 11814			011223		SN=SN+1
 11815		000001	000000			ZZ=ZZ+ZZ
 11816						IFE	ZZ,<ZZ=1>
 11817	010377	200 00 0 00 041061 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11818	010400	270 00 0 00 041061 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11819	010401	444 00 0 00 041062 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11820	010402	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11821	010403	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11822						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-27
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0304

 11823	010404	254 04 0 00 010405 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11824	010405	324 00 0 00 010406 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11825									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11826									;IN THE SUBTEST) TO LOOP ON ERROR^
 11827
 11828					;**********
 11829
 11830					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11831					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11832					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11833					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11834					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11835					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11836					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11837					;SO THAT A ONE WILL BE FLOATED THROUGH
 11838					;BITS 1 THRU 35 OF BOTH AC AND E
 11839			011224		SN=SN+1
 11840		000002	000000			ZZ=ZZ+ZZ
 11841						IFE	ZZ,<ZZ=1>
 11842	010406	200 00 0 00 041062 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11843	010407	270 00 0 00 041062 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11844	010410	444 00 0 00 041063 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11845	010411	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11846	010412	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11847						STOP^
 11848	010413	254 04 0 00 010414 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11849	010414	324 00 0 00 010415 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11850									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11851									;IN THE SUBTEST) TO LOOP ON ERROR^
 11852
 11853					;**********
 11854
 11855					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11856					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11857					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11858					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11859					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11860					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11861					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11862					;SO THAT A ONE WILL BE FLOATED THROUGH
 11863					;BITS 1 THRU 35 OF BOTH AC AND E
 11864			011225		SN=SN+1
 11865		000004	000000			ZZ=ZZ+ZZ
 11866						IFE	ZZ,<ZZ=1>
 11867	010415	200 00 0 00 041063 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11868	010416	270 00 0 00 041063 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11869	010417	444 00 0 00 041064 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11870	010420	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11871	010421	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11872						STOP^
 11873	010422	254 04 0 00 010423 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11874	010423	324 00 0 00 010424 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11875									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11876									;IN THE SUBTEST) TO LOOP ON ERROR^
 11877
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-28
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0305

 11878					;**********
 11879
 11880					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11881					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11882					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11883					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11884					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11885					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11886					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11887					;SO THAT A ONE WILL BE FLOATED THROUGH
 11888					;BITS 1 THRU 35 OF BOTH AC AND E
 11889			011226		SN=SN+1
 11890		000010	000000			ZZ=ZZ+ZZ
 11891						IFE	ZZ,<ZZ=1>
 11892	010424	200 00 0 00 041064 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11893	010425	270 00 0 00 041064 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11894	010426	444 00 0 00 041065 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11895	010427	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11896	010430	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11897						STOP^
 11898	010431	254 04 0 00 010432 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11899	010432	324 00 0 00 010433 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11900									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11901									;IN THE SUBTEST) TO LOOP ON ERROR^
 11902
 11903					;**********
 11904
 11905					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11906					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11907					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11908					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11909					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11910					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11911					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11912					;SO THAT A ONE WILL BE FLOATED THROUGH
 11913					;BITS 1 THRU 35 OF BOTH AC AND E
 11914			011227		SN=SN+1
 11915		000020	000000			ZZ=ZZ+ZZ
 11916						IFE	ZZ,<ZZ=1>
 11917	010433	200 00 0 00 041065 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11918	010434	270 00 0 00 041065 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11919	010435	444 00 0 00 041066 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11920	010436	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11921	010437	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11922						STOP^
 11923	010440	254 04 0 00 010441 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11924	010441	324 00 0 00 010442 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11925									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11926									;IN THE SUBTEST) TO LOOP ON ERROR^
 11927
 11928					;**********
 11929
 11930					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11931					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11932					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-29
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0306

 11933					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11934					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11935					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11936					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11937					;SO THAT A ONE WILL BE FLOATED THROUGH
 11938					;BITS 1 THRU 35 OF BOTH AC AND E
 11939			011230		SN=SN+1
 11940		000040	000000			ZZ=ZZ+ZZ
 11941						IFE	ZZ,<ZZ=1>
 11942	010442	200 00 0 00 041066 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11943	010443	270 00 0 00 041066 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11944	010444	444 00 0 00 041067 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11945	010445	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11946	010446	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11947						STOP^
 11948	010447	254 04 0 00 010450 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11949	010450	324 00 0 00 010451 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11950									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11951									;IN THE SUBTEST) TO LOOP ON ERROR^
 11952
 11953					;**********
 11954
 11955					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11956					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11957					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11958					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11959					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11960					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11961					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11962					;SO THAT A ONE WILL BE FLOATED THROUGH
 11963					;BITS 1 THRU 35 OF BOTH AC AND E
 11964			011231		SN=SN+1
 11965		000100	000000			ZZ=ZZ+ZZ
 11966						IFE	ZZ,<ZZ=1>
 11967	010451	200 00 0 00 041067 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11968	010452	270 00 0 00 041067 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11969	010453	444 00 0 00 041070 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11970	010454	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11971	010455	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11972						STOP^
 11973	010456	254 04 0 00 010457 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11974	010457	324 00 0 00 010460 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 11975									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 11976									;IN THE SUBTEST) TO LOOP ON ERROR^
 11977
 11978					;**********
 11979
 11980					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 11981					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 11982					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 11983					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 11984					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 11985					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 11986					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 11987					;SO THAT A ONE WILL BE FLOATED THROUGH
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-30
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0307

 11988					;BITS 1 THRU 35 OF BOTH AC AND E
 11989			011232		SN=SN+1
 11990		000200	000000			ZZ=ZZ+ZZ
 11991						IFE	ZZ,<ZZ=1>
 11992	010460	200 00 0 00 041070 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 11993	010461	270 00 0 00 041070 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 11994	010462	444 00 0 00 041036 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 11995	010463	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 11996	010464	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 11997						STOP^
 11998	010465	254 04 0 00 010466 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 11999	010466	324 00 0 00 010467 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12000									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12001									;IN THE SUBTEST) TO LOOP ON ERROR^
 12002
 12003					;**********
 12004
 12005					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12006					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12007					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12008					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12009					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12010					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12011					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12012					;SO THAT A ONE WILL BE FLOATED THROUGH
 12013					;BITS 1 THRU 35 OF BOTH AC AND E
 12014			011233		SN=SN+1
 12015		000400	000000			ZZ=ZZ+ZZ
 12016						IFE	ZZ,<ZZ=1>
 12017	010467	200 00 0 00 041036 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12018	010470	270 00 0 00 041036 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12019	010471	444 00 0 00 041071 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12020	010472	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12021	010473	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12022						STOP^
 12023	010474	254 04 0 00 010475 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12024	010475	324 00 0 00 010476 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12025									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12026									;IN THE SUBTEST) TO LOOP ON ERROR^
 12027
 12028					;**********
 12029
 12030					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12031					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12032					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12033					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12034					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12035					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12036					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12037					;SO THAT A ONE WILL BE FLOATED THROUGH
 12038					;BITS 1 THRU 35 OF BOTH AC AND E
 12039			011234		SN=SN+1
 12040		001000	000000			ZZ=ZZ+ZZ
 12041						IFE	ZZ,<ZZ=1>
 12042	010476	200 00 0 00 041071 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-31
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0308

 12043	010477	270 00 0 00 041071 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12044	010500	444 00 0 00 041072 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12045	010501	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12046	010502	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12047						STOP^
 12048	010503	254 04 0 00 010504 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12049	010504	324 00 0 00 010505 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12050									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12051									;IN THE SUBTEST) TO LOOP ON ERROR^
 12052
 12053					;**********
 12054
 12055					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12056					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12057					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12058					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12059					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12060					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12061					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12062					;SO THAT A ONE WILL BE FLOATED THROUGH
 12063					;BITS 1 THRU 35 OF BOTH AC AND E
 12064			011235		SN=SN+1
 12065		002000	000000			ZZ=ZZ+ZZ
 12066						IFE	ZZ,<ZZ=1>
 12067	010505	200 00 0 00 041072 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12068	010506	270 00 0 00 041072 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12069	010507	444 00 0 00 041073 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12070	010510	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12071	010511	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12072						STOP^
 12073	010512	254 04 0 00 010513 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12074	010513	324 00 0 00 010514 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12075									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12076									;IN THE SUBTEST) TO LOOP ON ERROR^
 12077
 12078					;**********
 12079
 12080					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12081					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12082					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12083					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12084					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12085					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12086					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12087					;SO THAT A ONE WILL BE FLOATED THROUGH
 12088					;BITS 1 THRU 35 OF BOTH AC AND E
 12089			011236		SN=SN+1
 12090		004000	000000			ZZ=ZZ+ZZ
 12091						IFE	ZZ,<ZZ=1>
 12092	010514	200 00 0 00 041073 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12093	010515	270 00 0 00 041073 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12094	010516	444 00 0 00 041074 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12095	010517	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12096	010520	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12097						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-32
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0309

 12098	010521	254 04 0 00 010522 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12099	010522	324 00 0 00 010523 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12100									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12101									;IN THE SUBTEST) TO LOOP ON ERROR^
 12102
 12103					;**********
 12104
 12105					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12106					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12107					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12108					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12109					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12110					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12111					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12112					;SO THAT A ONE WILL BE FLOATED THROUGH
 12113					;BITS 1 THRU 35 OF BOTH AC AND E
 12114			011237		SN=SN+1
 12115		010000	000000			ZZ=ZZ+ZZ
 12116						IFE	ZZ,<ZZ=1>
 12117	010523	200 00 0 00 041074 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12118	010524	270 00 0 00 041074 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12119	010525	444 00 0 00 041075 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12120	010526	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12121	010527	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12122						STOP^
 12123	010530	254 04 0 00 010531 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12124	010531	324 00 0 00 010532 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12125									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12126									;IN THE SUBTEST) TO LOOP ON ERROR^
 12127
 12128					;**********
 12129
 12130					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12131					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12132					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12133					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12134					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12135					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12136					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12137					;SO THAT A ONE WILL BE FLOATED THROUGH
 12138					;BITS 1 THRU 35 OF BOTH AC AND E
 12139			011240		SN=SN+1
 12140		020000	000000			ZZ=ZZ+ZZ
 12141						IFE	ZZ,<ZZ=1>
 12142	010532	200 00 0 00 041075 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12143	010533	270 00 0 00 041075 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12144	010534	444 00 0 00 041076 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12145	010535	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12146	010536	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12147						STOP^
 12148	010537	254 04 0 00 010540 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12149	010540	324 00 0 00 010541 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12150									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12151									;IN THE SUBTEST) TO LOOP ON ERROR^
 12152
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-33
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0310

 12153					;**********
 12154
 12155					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12156					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12157					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12158					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12159					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12160					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12161					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12162					;SO THAT A ONE WILL BE FLOATED THROUGH
 12163					;BITS 1 THRU 35 OF BOTH AC AND E
 12164			011241		SN=SN+1
 12165		040000	000000			ZZ=ZZ+ZZ
 12166						IFE	ZZ,<ZZ=1>
 12167	010541	200 00 0 00 041076 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12168	010542	270 00 0 00 041076 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12169	010543	444 00 0 00 041077 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12170	010544	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12171	010545	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12172						STOP^
 12173	010546	254 04 0 00 010547 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12174	010547	324 00 0 00 010550 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12175									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12176									;IN THE SUBTEST) TO LOOP ON ERROR^
 12177
 12178					;**********
 12179
 12180					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12181					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12182					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
 12183					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12184					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12185					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12186					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12187					;SO THAT A ONE WILL BE FLOATED THROUGH
 12188					;BITS 1 THRU 35 OF BOTH AC AND E
 12189			011242		SN=SN+1
 12190		100000	000000			ZZ=ZZ+ZZ
 12191						IFE	ZZ,<ZZ=1>
 12192	010550	200 00 0 00 041077 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12193	010551	270 00 0 00 041077 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12194	010552	444 00 0 00 041100 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12195	010553	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12196	010554	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12197						STOP^
 12198	010555	254 04 0 00 010556 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12199	010556	324 00 0 00 010557 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12200									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12201									;IN THE SUBTEST) TO LOOP ON ERROR^
 12202
 12203					;**********
 12204
 12205					;THIS TEST VERIFIES THAT THE RESULT OF ADDING C(AC)
 12206					;TO C(E) WHERE AC IS DIFFERENT FROM E BUT C(AC)=
 12207					;C(E)=A ONE IN ONE AND ONLY ONE BIT IS AN
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 6-34
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0311

 12208					;AC WHOSE CONTENTS IS NON-ZERO. HENCE, IF A
 12209					;CARRY IS NOT GENERATED IN THE ADDITION PROCESS THE
 12210					;RESULT IN THE AC WILL BE ZERO AND THE TEST
 12211					;WILL FAIL. THIS TEST IS REPEATED 35 TIMES
 12212					;SO THAT A ONE WILL BE FLOATED THROUGH
 12213					;BITS 1 THRU 35 OF BOTH AC AND E
 12214			011243		SN=SN+1
 12215		200000	000000			ZZ=ZZ+ZZ
 12216						IFE	ZZ,<ZZ=1>
 12217	010557	200 00 0 00 041100 		MOVE	[ZZ]		;PRESET AC WITH A FLOATING ONE
 12218	010560	270 00 0 00 041100 		ADD	[ZZ]		;*ADD FLOATING ONE TO SAME SHOULD RESULT IN C(AC) NONZERO
 12219	010561	444 00 0 00 041030 		EQV	[ZZ+ZZ]		;RESULTS IN C(AC)=ALL ONES
 12220	010562	444 00 0 00 041025 		EQV	[0]		;RESULTS IN C(AC)=0
 12221	010563	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12222						STOP^
 12223	010564	254 04 0 00 010565 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12224	010565	324 00 0 00 010566 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12225									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12226									;IN THE SUBTEST) TO LOOP ON ERROR^
 12227
 12228					;**********
 12229
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0312

 12230			011300		SN=11300
 12231			000000			ZZ=0
 12232			000000			YY=0
 12233
 12234					A11300:	REPEAT	^D18,
 12235					<;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12236					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12237					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12238					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12239					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12240					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12241					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12242					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12243					;FORMER VALUE PLUS THE CURRENT C(AC)
 12244					SN=SN+1
 12245						YY=YY/2
 12246						ZZ=ZZ+YY
 12247						IFE	YY,<YY=400000>
 12248						IFE	ZZ,<ZZ=400000>
 12249						MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12250						ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12251									;POWER SHOULD RESULT IN C(AC)=0.
 12252						SKIPE			;PASS TEST IF C(AC)=0
 12253						STOP
 12254					
 12255					;**********
 12256					>
 12257					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12258					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12259					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12260					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12261					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12262					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12263					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12264					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12265					;FORMER VALUE PLUS THE CURRENT C(AC)
 12266			011301		SN=SN+1
 12267			000000			YY=YY/2
 12268			000000			ZZ=ZZ+YY
 12269			400000			IFE	YY,<YY=400000>
 12270			400000			IFE	ZZ,<ZZ=400000>
 12271	010566	200 00 0 00 041030 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12272	010567	270 00 0 00 041030 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12273									;POWER SHOULD RESULT IN C(AC)=0.
 12274	010570	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12275						STOP^
 12276	010571	254 04 0 00 010572 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12277	010572	324 00 0 00 010573 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12278									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12279									;IN THE SUBTEST) TO LOOP ON ERROR^
 12280
 12281					;**********
 12282
 12283					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12284					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0313

 12285					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12286					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12287					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12288					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12289					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12290					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12291					;FORMER VALUE PLUS THE CURRENT C(AC)
 12292			011302		SN=SN+1
 12293			200000			YY=YY/2
 12294			600000			ZZ=ZZ+YY
 12295						IFE	YY,<YY=400000>
 12296						IFE	ZZ,<ZZ=400000>
 12297	010573	200 00 0 00 041153 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12298	010574	270 00 0 00 041100 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12299									;POWER SHOULD RESULT IN C(AC)=0.
 12300	010575	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12301						STOP^
 12302	010576	254 04 0 00 010577 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12303	010577	324 00 0 00 010600 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12304									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12305									;IN THE SUBTEST) TO LOOP ON ERROR^
 12306
 12307					;**********
 12308
 12309					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12310					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12311					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12312					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12313					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12314					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12315					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12316					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12317					;FORMER VALUE PLUS THE CURRENT C(AC)
 12318			011303		SN=SN+1
 12319			100000			YY=YY/2
 12320			700000			ZZ=ZZ+YY
 12321						IFE	YY,<YY=400000>
 12322						IFE	ZZ,<ZZ=400000>
 12323	010600	200 00 0 00 041154 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12324	010601	270 00 0 00 041077 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12325									;POWER SHOULD RESULT IN C(AC)=0.
 12326	010602	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12327						STOP^
 12328	010603	254 04 0 00 010604 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12329	010604	324 00 0 00 010605 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12330									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12331									;IN THE SUBTEST) TO LOOP ON ERROR^
 12332
 12333					;**********
 12334
 12335					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12336					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12337					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12338					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12339					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0314

 12340					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12341					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12342					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12343					;FORMER VALUE PLUS THE CURRENT C(AC)
 12344			011304		SN=SN+1
 12345			040000			YY=YY/2
 12346			740000			ZZ=ZZ+YY
 12347						IFE	YY,<YY=400000>
 12348						IFE	ZZ,<ZZ=400000>
 12349	010605	200 00 0 00 041155 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12350	010606	270 00 0 00 041076 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12351									;POWER SHOULD RESULT IN C(AC)=0.
 12352	010607	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12353						STOP^
 12354	010610	254 04 0 00 010611 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12355	010611	324 00 0 00 010612 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12356									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12357									;IN THE SUBTEST) TO LOOP ON ERROR^
 12358
 12359					;**********
 12360
 12361					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12362					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12363					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12364					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12365					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12366					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12367					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12368					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12369					;FORMER VALUE PLUS THE CURRENT C(AC)
 12370			011305		SN=SN+1
 12371			020000			YY=YY/2
 12372			760000			ZZ=ZZ+YY
 12373						IFE	YY,<YY=400000>
 12374						IFE	ZZ,<ZZ=400000>
 12375	010612	200 00 0 00 041156 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12376	010613	270 00 0 00 041075 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12377									;POWER SHOULD RESULT IN C(AC)=0.
 12378	010614	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12379						STOP^
 12380	010615	254 04 0 00 010616 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12381	010616	324 00 0 00 010617 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12382									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12383									;IN THE SUBTEST) TO LOOP ON ERROR^
 12384
 12385					;**********
 12386
 12387					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12388					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12389					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12390					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12391					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12392					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12393					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12394					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0315

 12395					;FORMER VALUE PLUS THE CURRENT C(AC)
 12396			011306		SN=SN+1
 12397			010000			YY=YY/2
 12398			770000			ZZ=ZZ+YY
 12399						IFE	YY,<YY=400000>
 12400						IFE	ZZ,<ZZ=400000>
 12401	010617	200 00 0 00 041157 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12402	010620	270 00 0 00 041074 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12403									;POWER SHOULD RESULT IN C(AC)=0.
 12404	010621	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12405						STOP^
 12406	010622	254 04 0 00 010623 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12407	010623	324 00 0 00 010624 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12408									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12409									;IN THE SUBTEST) TO LOOP ON ERROR^
 12410
 12411					;**********
 12412
 12413					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12414					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12415					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12416					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12417					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12418					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12419					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12420					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12421					;FORMER VALUE PLUS THE CURRENT C(AC)
 12422			011307		SN=SN+1
 12423			004000			YY=YY/2
 12424			774000			ZZ=ZZ+YY
 12425						IFE	YY,<YY=400000>
 12426						IFE	ZZ,<ZZ=400000>
 12427	010624	200 00 0 00 041160 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12428	010625	270 00 0 00 041073 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12429									;POWER SHOULD RESULT IN C(AC)=0.
 12430	010626	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12431						STOP^
 12432	010627	254 04 0 00 010630 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12433	010630	324 00 0 00 010631 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12434									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12435									;IN THE SUBTEST) TO LOOP ON ERROR^
 12436
 12437					;**********
 12438
 12439					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12440					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12441					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12442					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12443					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12444					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12445					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12446					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12447					;FORMER VALUE PLUS THE CURRENT C(AC)
 12448			011310		SN=SN+1
 12449			002000			YY=YY/2
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0316

 12450			776000			ZZ=ZZ+YY
 12451						IFE	YY,<YY=400000>
 12452						IFE	ZZ,<ZZ=400000>
 12453	010631	200 00 0 00 041161 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12454	010632	270 00 0 00 041072 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12455									;POWER SHOULD RESULT IN C(AC)=0.
 12456	010633	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12457						STOP^
 12458	010634	254 04 0 00 010635 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12459	010635	324 00 0 00 010636 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12460									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12461									;IN THE SUBTEST) TO LOOP ON ERROR^
 12462
 12463					;**********
 12464
 12465					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12466					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12467					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12468					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12469					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12470					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12471					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12472					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12473					;FORMER VALUE PLUS THE CURRENT C(AC)
 12474			011311		SN=SN+1
 12475			001000			YY=YY/2
 12476			777000			ZZ=ZZ+YY
 12477						IFE	YY,<YY=400000>
 12478						IFE	ZZ,<ZZ=400000>
 12479	010636	200 00 0 00 041031 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12480	010637	270 00 0 00 041071 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12481									;POWER SHOULD RESULT IN C(AC)=0.
 12482	010640	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12483						STOP^
 12484	010641	254 04 0 00 010642 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12485	010642	324 00 0 00 010643 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12486									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12487									;IN THE SUBTEST) TO LOOP ON ERROR^
 12488
 12489					;**********
 12490
 12491					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12492					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12493					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12494					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12495					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12496					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12497					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12498					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12499					;FORMER VALUE PLUS THE CURRENT C(AC)
 12500			011312		SN=SN+1
 12501			000400			YY=YY/2
 12502			777400			ZZ=ZZ+YY
 12503						IFE	YY,<YY=400000>
 12504						IFE	ZZ,<ZZ=400000>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0317

 12505	010643	200 00 0 00 041162 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12506	010644	270 00 0 00 041036 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12507									;POWER SHOULD RESULT IN C(AC)=0.
 12508	010645	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12509						STOP^
 12510	010646	254 04 0 00 010647 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12511	010647	324 00 0 00 010650 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12512									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12513									;IN THE SUBTEST) TO LOOP ON ERROR^
 12514
 12515					;**********
 12516
 12517					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12518					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12519					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12520					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12521					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12522					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12523					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12524					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12525					;FORMER VALUE PLUS THE CURRENT C(AC)
 12526			011313		SN=SN+1
 12527			000200			YY=YY/2
 12528			777600			ZZ=ZZ+YY
 12529						IFE	YY,<YY=400000>
 12530						IFE	ZZ,<ZZ=400000>
 12531	010650	200 00 0 00 041163 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12532	010651	270 00 0 00 041070 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12533									;POWER SHOULD RESULT IN C(AC)=0.
 12534	010652	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12535						STOP^
 12536	010653	254 04 0 00 010654 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12537	010654	324 00 0 00 010655 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12538									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12539									;IN THE SUBTEST) TO LOOP ON ERROR^
 12540
 12541					;**********
 12542
 12543					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12544					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12545					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12546					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12547					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12548					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12549					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12550					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12551					;FORMER VALUE PLUS THE CURRENT C(AC)
 12552			011314		SN=SN+1
 12553			000100			YY=YY/2
 12554			777700			ZZ=ZZ+YY
 12555						IFE	YY,<YY=400000>
 12556						IFE	ZZ,<ZZ=400000>
 12557	010655	200 00 0 00 041164 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12558	010656	270 00 0 00 041067 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12559									;POWER SHOULD RESULT IN C(AC)=0.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0318

 12560	010657	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12561						STOP^
 12562	010660	254 04 0 00 010661 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12563	010661	324 00 0 00 010662 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12564									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12565									;IN THE SUBTEST) TO LOOP ON ERROR^
 12566
 12567					;**********
 12568
 12569					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12570					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12571					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12572					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12573					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12574					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12575					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12576					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12577					;FORMER VALUE PLUS THE CURRENT C(AC)
 12578			011315		SN=SN+1
 12579			000040			YY=YY/2
 12580			777740			ZZ=ZZ+YY
 12581						IFE	YY,<YY=400000>
 12582						IFE	ZZ,<ZZ=400000>
 12583	010662	200 00 0 00 041165 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12584	010663	270 00 0 00 041066 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12585									;POWER SHOULD RESULT IN C(AC)=0.
 12586	010664	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12587						STOP^
 12588	010665	254 04 0 00 010666 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12589	010666	324 00 0 00 010667 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12590									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12591									;IN THE SUBTEST) TO LOOP ON ERROR^
 12592
 12593					;**********
 12594
 12595					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12596					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12597					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12598					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12599					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12600					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12601					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12602					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12603					;FORMER VALUE PLUS THE CURRENT C(AC)
 12604			011316		SN=SN+1
 12605			000020			YY=YY/2
 12606			777760			ZZ=ZZ+YY
 12607						IFE	YY,<YY=400000>
 12608						IFE	ZZ,<ZZ=400000>
 12609	010667	200 00 0 00 041166 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12610	010670	270 00 0 00 041065 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12611									;POWER SHOULD RESULT IN C(AC)=0.
 12612	010671	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12613						STOP^
 12614	010672	254 04 0 00 010673 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0319

 12615	010673	324 00 0 00 010674 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12616									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12617									;IN THE SUBTEST) TO LOOP ON ERROR^
 12618
 12619					;**********
 12620
 12621					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12622					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12623					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12624					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12625					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12626					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12627					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12628					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12629					;FORMER VALUE PLUS THE CURRENT C(AC)
 12630			011317		SN=SN+1
 12631			000010			YY=YY/2
 12632			777770			ZZ=ZZ+YY
 12633						IFE	YY,<YY=400000>
 12634						IFE	ZZ,<ZZ=400000>
 12635	010674	200 00 0 00 041167 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12636	010675	270 00 0 00 041064 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12637									;POWER SHOULD RESULT IN C(AC)=0.
 12638	010676	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12639						STOP^
 12640	010677	254 04 0 00 010700 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12641	010700	324 00 0 00 010701 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12642									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12643									;IN THE SUBTEST) TO LOOP ON ERROR^
 12644
 12645					;**********
 12646
 12647					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12648					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12649					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12650					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12651					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12652					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12653					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12654					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12655					;FORMER VALUE PLUS THE CURRENT C(AC)
 12656			011320		SN=SN+1
 12657			000004			YY=YY/2
 12658			777774			ZZ=ZZ+YY
 12659						IFE	YY,<YY=400000>
 12660						IFE	ZZ,<ZZ=400000>
 12661	010701	200 00 0 00 041170 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12662	010702	270 00 0 00 041063 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12663									;POWER SHOULD RESULT IN C(AC)=0.
 12664	010703	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12665						STOP^
 12666	010704	254 04 0 00 010705 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12667	010705	324 00 0 00 010706 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12668									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12669									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-8
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0320

 12670
 12671					;**********
 12672
 12673					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12674					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12675					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12676					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12677					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12678					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12679					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12680					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12681					;FORMER VALUE PLUS THE CURRENT C(AC)
 12682			011321		SN=SN+1
 12683			000002			YY=YY/2
 12684			777776			ZZ=ZZ+YY
 12685						IFE	YY,<YY=400000>
 12686						IFE	ZZ,<ZZ=400000>
 12687	010706	200 00 0 00 041171 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12688	010707	270 00 0 00 041062 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12689									;POWER SHOULD RESULT IN C(AC)=0.
 12690	010710	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12691						STOP^
 12692	010711	254 04 0 00 010712 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12693	010712	324 00 0 00 010713 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12694									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12695									;IN THE SUBTEST) TO LOOP ON ERROR^
 12696
 12697					;**********
 12698
 12699					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12700					;36TH POWER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12701					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12702					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHOUT THE
 12703					;ADDER. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12704					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12705					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12706					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MADE EQUAL TO ITS
 12707					;FORMER VALUE PLUS THE CURRENT C(AC)
 12708			011322		SN=SN+1
 12709			000001			YY=YY/2
 12710			777777			ZZ=ZZ+YY
 12711						IFE	YY,<YY=400000>
 12712						IFE	ZZ,<ZZ=400000>
 12713	010713	200 00 0 00 041103 		MOVE	[XWD ZZ,0]	;PRESET AC TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12714	010714	270 00 0 00 041061 		ADD	[XWD YY,0]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12715									;POWER SHOULD RESULT IN C(AC)=0.
 12716	010715	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 12717						STOP^
 12718	010716	254 04 0 00 010717 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12719	010717	324 00 0 00 010720 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12720									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12721									;IN THE SUBTEST) TO LOOP ON ERROR^
 12722
 12723					;**********
 12724
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-9
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0321

 12725					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-10
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0322

 12726			011400		SN=11400
 12727			000000			ZZ=0
 12728			000000			YY=0
 12729
 12730					A11400:	REPEAT	^D18,
 12731					<;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12732					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12733					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12734					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12735					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12736					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12737					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12738					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12739					;FORMER VALUE PLUS THE CURRENT C(AC)
 12740					SN=SN+1
 12741						YY=YY/2
 12742						ZZ=ZZ+YY
 12743						IFE	YY,<YY=400000>
 12744						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12745						MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12746									;POWER SHOULD RESULT IN C(AC)=0.
 12747						ADD	[YY]		;PASS TEST IF C(AC)=0
 12748						SKIPE
 12749						STOP
 12750					
 12751					;**********
 12752					>
 12753					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12754					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12755					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12756					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12757					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12758					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12759					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12760					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12761					;FORMER VALUE PLUS THE CURRENT C(AC)
 12762			011401		SN=SN+1
 12763			000000			YY=YY/2
 12764			000000			ZZ=ZZ+YY
 12765			400000			IFE	YY,<YY=400000>
 12766			400000			IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12767	010720	200 00 0 00 041172 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12768									;POWER SHOULD RESULT IN C(AC)=0.
 12769	010721	270 00 0 00 041060 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12770	010722	332 00 0 00 000000 		SKIPE
 12771						STOP^
 12772	010723	254 04 0 00 010724 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12773	010724	324 00 0 00 010725 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12774									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12775									;IN THE SUBTEST) TO LOOP ON ERROR^
 12776
 12777					;**********
 12778
 12779					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12780					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-11
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0323

 12781					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12782					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12783					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12784					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12785					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12786					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12787					;FORMER VALUE PLUS THE CURRENT C(AC)
 12788			011402		SN=SN+1
 12789			200000			YY=YY/2
 12790			600000			ZZ=ZZ+YY
 12791						IFE	YY,<YY=400000>
 12792						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12793	010725	200 00 0 00 041173 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12794									;POWER SHOULD RESULT IN C(AC)=0.
 12795	010726	270 00 0 00 041057 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12796	010727	332 00 0 00 000000 		SKIPE
 12797						STOP^
 12798	010730	254 04 0 00 010731 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12799	010731	324 00 0 00 010732 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12800									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12801									;IN THE SUBTEST) TO LOOP ON ERROR^
 12802
 12803					;**********
 12804
 12805					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12806					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12807					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12808					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12809					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12810					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12811					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12812					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12813					;FORMER VALUE PLUS THE CURRENT C(AC)
 12814			011403		SN=SN+1
 12815			100000			YY=YY/2
 12816			700000			ZZ=ZZ+YY
 12817						IFE	YY,<YY=400000>
 12818						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12819	010732	200 00 0 00 041174 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12820									;POWER SHOULD RESULT IN C(AC)=0.
 12821	010733	270 00 0 00 041056 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12822	010734	332 00 0 00 000000 		SKIPE
 12823						STOP^
 12824	010735	254 04 0 00 010736 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12825	010736	324 00 0 00 010737 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12826									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12827									;IN THE SUBTEST) TO LOOP ON ERROR^
 12828
 12829					;**********
 12830
 12831					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12832					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12833					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12834					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12835					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-12
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0324

 12836					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12837					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12838					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12839					;FORMER VALUE PLUS THE CURRENT C(AC)
 12840			011404		SN=SN+1
 12841			040000			YY=YY/2
 12842			740000			ZZ=ZZ+YY
 12843						IFE	YY,<YY=400000>
 12844						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12845	010737	200 00 0 00 041175 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12846									;POWER SHOULD RESULT IN C(AC)=0.
 12847	010740	270 00 0 00 041055 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12848	010741	332 00 0 00 000000 		SKIPE
 12849						STOP^
 12850	010742	254 04 0 00 010743 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12851	010743	324 00 0 00 010744 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12852									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12853									;IN THE SUBTEST) TO LOOP ON ERROR^
 12854
 12855					;**********
 12856
 12857					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12858					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12859					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12860					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12861					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12862					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12863					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12864					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12865					;FORMER VALUE PLUS THE CURRENT C(AC)
 12866			011405		SN=SN+1
 12867			020000			YY=YY/2
 12868			760000			ZZ=ZZ+YY
 12869						IFE	YY,<YY=400000>
 12870						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12871	010744	200 00 0 00 041176 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12872									;POWER SHOULD RESULT IN C(AC)=0.
 12873	010745	270 00 0 00 041054 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12874	010746	332 00 0 00 000000 		SKIPE
 12875						STOP^
 12876	010747	254 04 0 00 010750 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12877	010750	324 00 0 00 010751 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12878									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12879									;IN THE SUBTEST) TO LOOP ON ERROR^
 12880
 12881					;**********
 12882
 12883					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12884					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12885					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12886					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12887					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12888					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12889					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12890					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-13
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0325

 12891					;FORMER VALUE PLUS THE CURRENT C(AC)
 12892			011406		SN=SN+1
 12893			010000			YY=YY/2
 12894			770000			ZZ=ZZ+YY
 12895						IFE	YY,<YY=400000>
 12896						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12897	010751	200 00 0 00 041177 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12898									;POWER SHOULD RESULT IN C(AC)=0.
 12899	010752	270 00 0 00 041053 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12900	010753	332 00 0 00 000000 		SKIPE
 12901						STOP^
 12902	010754	254 04 0 00 010755 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12903	010755	324 00 0 00 010756 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12904									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12905									;IN THE SUBTEST) TO LOOP ON ERROR^
 12906
 12907					;**********
 12908
 12909					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12910					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12911					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12912					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12913					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12914					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12915					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12916					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12917					;FORMER VALUE PLUS THE CURRENT C(AC)
 12918			011407		SN=SN+1
 12919			004000			YY=YY/2
 12920			774000			ZZ=ZZ+YY
 12921						IFE	YY,<YY=400000>
 12922						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12923	010756	200 00 0 00 041200 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12924									;POWER SHOULD RESULT IN C(AC)=0.
 12925	010757	270 00 0 00 041052 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12926	010760	332 00 0 00 000000 		SKIPE
 12927						STOP^
 12928	010761	254 04 0 00 010762 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12929	010762	324 00 0 00 010763 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12930									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12931									;IN THE SUBTEST) TO LOOP ON ERROR^
 12932
 12933					;**********
 12934
 12935					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12936					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12937					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12938					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12939					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12940					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12941					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12942					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12943					;FORMER VALUE PLUS THE CURRENT C(AC)
 12944			011410		SN=SN+1
 12945			002000			YY=YY/2
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-14
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0326

 12946			776000			ZZ=ZZ+YY
 12947						IFE	YY,<YY=400000>
 12948						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12949	010763	200 00 0 00 041201 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12950									;POWER SHOULD RESULT IN C(AC)=0.
 12951	010764	270 00 0 00 041051 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12952	010765	332 00 0 00 000000 		SKIPE
 12953						STOP^
 12954	010766	254 04 0 00 010767 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12955	010767	324 00 0 00 010770 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12956									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12957									;IN THE SUBTEST) TO LOOP ON ERROR^
 12958
 12959					;**********
 12960
 12961					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12962					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12963					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12964					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12965					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12966					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12967					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12968					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12969					;FORMER VALUE PLUS THE CURRENT C(AC)
 12970			011411		SN=SN+1
 12971			001000			YY=YY/2
 12972			777000			ZZ=ZZ+YY
 12973						IFE	YY,<YY=400000>
 12974						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 12975	010770	200 00 0 00 041202 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 12976									;POWER SHOULD RESULT IN C(AC)=0.
 12977	010771	270 00 0 00 041050 		ADD	[YY]		;PASS TEST IF C(AC)=0
 12978	010772	332 00 0 00 000000 		SKIPE
 12979						STOP^
 12980	010773	254 04 0 00 010774 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 12981	010774	324 00 0 00 010775 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 12982									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 12983									;IN THE SUBTEST) TO LOOP ON ERROR^
 12984
 12985					;**********
 12986
 12987					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 12988					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 12989					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 12990					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 12991					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 12992					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 12993					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 12994					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 12995					;FORMER VALUE PLUS THE CURRENT C(AC)
 12996			011412		SN=SN+1
 12997			000400			YY=YY/2
 12998			777400			ZZ=ZZ+YY
 12999						IFE	YY,<YY=400000>
 13000						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-15
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0327

 13001	010775	200 00 0 00 041203 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13002									;POWER SHOULD RESULT IN C(AC)=0.
 13003	010776	270 00 0 00 041047 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13004	010777	332 00 0 00 000000 		SKIPE
 13005						STOP^
 13006	011000	254 04 0 00 011001 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13007	011001	324 00 0 00 011002 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13008									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13009									;IN THE SUBTEST) TO LOOP ON ERROR^
 13010
 13011					;**********
 13012
 13013					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13014					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13015					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13016					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13017					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13018					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13019					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13020					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13021					;FORMER VALUE PLUS THE CURRENT C(AC)
 13022			011413		SN=SN+1
 13023			000200			YY=YY/2
 13024			777600			ZZ=ZZ+YY
 13025						IFE	YY,<YY=400000>
 13026						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13027	011002	200 00 0 00 041204 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13028									;POWER SHOULD RESULT IN C(AC)=0.
 13029	011003	270 00 0 00 041046 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13030	011004	332 00 0 00 000000 		SKIPE
 13031						STOP^
 13032	011005	254 04 0 00 011006 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13033	011006	324 00 0 00 011007 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13034									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13035									;IN THE SUBTEST) TO LOOP ON ERROR^
 13036
 13037					;**********
 13038
 13039					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13040					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13041					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13042					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13043					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13044					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13045					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13046					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13047					;FORMER VALUE PLUS THE CURRENT C(AC)
 13048			011414		SN=SN+1
 13049			000100			YY=YY/2
 13050			777700			ZZ=ZZ+YY
 13051						IFE	YY,<YY=400000>
 13052						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13053	011007	200 00 0 00 041205 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13054									;POWER SHOULD RESULT IN C(AC)=0.
 13055	011010	270 00 0 00 041045 		ADD	[YY]		;PASS TEST IF C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-16
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0328

 13056	011011	332 00 0 00 000000 		SKIPE
 13057						STOP^
 13058	011012	254 04 0 00 011013 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13059	011013	324 00 0 00 011014 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13060									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13061									;IN THE SUBTEST) TO LOOP ON ERROR^
 13062
 13063					;**********
 13064
 13065					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13066					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13067					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13068					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13069					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13070					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13071					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13072					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13073					;FORMER VALUE PLUS THE CURRENT C(AC)
 13074			011415		SN=SN+1
 13075			000040			YY=YY/2
 13076			777740			ZZ=ZZ+YY
 13077						IFE	YY,<YY=400000>
 13078						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13079	011014	200 00 0 00 041206 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13080									;POWER SHOULD RESULT IN C(AC)=0.
 13081	011015	270 00 0 00 041044 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13082	011016	332 00 0 00 000000 		SKIPE
 13083						STOP^
 13084	011017	254 04 0 00 011020 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13085	011020	324 00 0 00 011021 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13086									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13087									;IN THE SUBTEST) TO LOOP ON ERROR^
 13088
 13089					;**********
 13090
 13091					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13092					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13093					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13094					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13095					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13096					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13097					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13098					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13099					;FORMER VALUE PLUS THE CURRENT C(AC)
 13100			011416		SN=SN+1
 13101			000020			YY=YY/2
 13102			777760			ZZ=ZZ+YY
 13103						IFE	YY,<YY=400000>
 13104						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13105	011021	200 00 0 00 041207 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13106									;POWER SHOULD RESULT IN C(AC)=0.
 13107	011022	270 00 0 00 041043 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13108	011023	332 00 0 00 000000 		SKIPE
 13109						STOP^
 13110	011024	254 04 0 00 011025 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-17
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0329

 13111	011025	324 00 0 00 011026 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13112									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13113									;IN THE SUBTEST) TO LOOP ON ERROR^
 13114
 13115					;**********
 13116
 13117					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13118					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13119					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13120					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13121					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13122					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13123					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13124					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13125					;FORMER VALUE PLUS THE CURRENT C(AC)
 13126			011417		SN=SN+1
 13127			000010			YY=YY/2
 13128			777770			ZZ=ZZ+YY
 13129						IFE	YY,<YY=400000>
 13130						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13131	011026	200 00 0 00 041210 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13132									;POWER SHOULD RESULT IN C(AC)=0.
 13133	011027	270 00 0 00 041042 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13134	011030	332 00 0 00 000000 		SKIPE
 13135						STOP^
 13136	011031	254 04 0 00 011032 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13137	011032	324 00 0 00 011033 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13138									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13139									;IN THE SUBTEST) TO LOOP ON ERROR^
 13140
 13141					;**********
 13142
 13143					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13144					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13145					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13146					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13147					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13148					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13149					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13150					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13151					;FORMER VALUE PLUS THE CURRENT C(AC)
 13152			011420		SN=SN+1
 13153			000004			YY=YY/2
 13154			777774			ZZ=ZZ+YY
 13155						IFE	YY,<YY=400000>
 13156						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13157	011033	200 00 0 00 041211 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13158									;POWER SHOULD RESULT IN C(AC)=0.
 13159	011034	270 00 0 00 041041 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13160	011035	332 00 0 00 000000 		SKIPE
 13161						STOP^
 13162	011036	254 04 0 00 011037 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13163	011037	324 00 0 00 011040 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13164									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13165									;IN THE SUBTEST) TO LOOP ON ERROR^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 7-18
SMBC2B	MAC	29-Nov-78 12:07		TEST OF THE ADD INSTRUCTION                                                        SEQ 0330

 13166
 13167					;**********
 13168
 13169					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13170					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13171					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13172					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13173					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13174					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13175					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13176					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13177					;FORMER VALUE PLUS THE CURRENT C(AC)
 13178			011421		SN=SN+1
 13179			000002			YY=YY/2
 13180			777776			ZZ=ZZ+YY
 13181						IFE	YY,<YY=400000>
 13182						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13183	011040	200 00 0 00 041105 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13184									;POWER SHOULD RESULT IN C(AC)=0.
 13185	011041	270 00 0 00 041040 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13186	011042	332 00 0 00 000000 		SKIPE
 13187						STOP^
 13188	011043	254 04 0 00 011044 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13189	011044	324 00 0 00 011045 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13190									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13191									;IN THE SUBTEST) TO LOOP ON ERROR^
 13192
 13193					;**********
 13194
 13195					;THIS TEST VERIFIES THAT THE ADDITION OF TWO NUMBERS WHOSE SUM IS 2 RAISED TO THE
 13196					;36TH POSER WILL RESULT IN THE C(AC)=0 SINCE THIS NUMBER IS ONE LARGER
 13197					;THAN THE 36 BIT HARDWARE OF THE PROCESSOR IS DESIGNED TO HANDLE. THIS TEST
 13198					;ALSO VERIFIES CARRY GENERATION AND PROPAGATION THROUGHT THE
 13199					;ADDEC. THIS TEST IS REPEATED 36 TIMES. TESTING BEGINS WITH LOADING THE
 13200					;AC WITH 400000000000 AND ADDING THE SAME NUMBER TO IT; THEN,
 13201					;CHECKING FOR C(AC)=0. IN THE SUBSEQUENT 35 TESTS, THE NUMBER
 13202					;LOADED INTO THE AC IS HALVED EACH TIME AND C(E) IS MODE EQUAL TO ITS
 13203					;FORMER VALUE PLUS THE CURRENT C(AC)
 13204			011422		SN=SN+1
 13205			000001			YY=YY/2
 13206			777777			ZZ=ZZ+YY
 13207						IFE	YY,<YY=400000>
 13208						IFE	ZZ,<ZZ=400000>	;PRESET AB TO A RIPPLED ONE STARTING WITH BIT POSITION 0
 13209	011045	200 00 0 00 041026 		MOVE	[XWD -1,ZZ]	;*ADD OF TWO NUMBERS TOTALING 2 RAISED TO THE 36TH
 13210									;POWER SHOULD RESULT IN C(AC)=0.
 13211	011046	270 00 0 00 041037 		ADD	[YY]		;PASS TEST IF C(AC)=0
 13212	011047	332 00 0 00 000000 		SKIPE
 13213						STOP^
 13214	011050	254 04 0 00 011051 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13215	011051	324 00 0 00 011052 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13216									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13217									;IN THE SUBTEST) TO LOOP ON ERROR^
 13218
 13219					;**********
 13220
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 8
SMBC2B	MAC	29-Nov-78 12:07		SPECIAL KI10 FOUR BIT ADDER TEST                                                   SEQ 0331

 13221					SUBTTL	SPECIAL KI10 FOUR BIT ADDER TEST
 13222
 13223					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13224					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13225					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 33 TO BIT 32.
 13226
 13227	011052	200 00 0 00 041107 	A13500:	MOVE	[-1,,-5]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 33
 13228	011053	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 33 TO BIT 32
 13229	011054	444 00 0 00 041211 		EQV	[-1,,-4]	;RESULT IN AC=ALL ONES
 13230	011055	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13231	011056	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13232						STOP^
 13233	011057	254 04 0 00 011060 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13234	011060	324 00 0 00 011061 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13235									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13236									;IN THE SUBTEST) TO LOOP ON ERROR^
 13237
 13238					;**********
 13239
 13240					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13241					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13242					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 29 TO BIT 28.
 13243
 13244	011061	200 00 0 00 041113 	A13600:	MOVE	[-1,,-101]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 29
 13245	011062	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 29 TO BIT 28
 13246	011063	444 00 0 00 041205 		EQV	[-1,,-100]	;RESULT IN AC=ALL ONES
 13247	011064	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13248	011065	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13249						STOP^
 13250	011066	254 04 0 00 011067 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13251	011067	324 00 0 00 011070 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13252									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13253									;IN THE SUBTEST) TO LOOP ON ERROR^
 13254
 13255					;**********
 13256
 13257					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13258					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13259					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 25 TO BIT 24.
 13260
 13261	011070	200 00 0 00 041117 	A13700:	MOVE	[-1,,-2001]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 25
 13262	011071	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 25 TO BIT 24
 13263	011072	444 00 0 00 041201 		EQV	[-1,,-2000]	;RESULT IN AC=ALL ONES
 13264	011073	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13265	011074	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13266						STOP^
 13267	011075	254 04 0 00 011076 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13268	011076	324 00 0 00 011077 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13269									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13270									;IN THE SUBTEST) TO LOOP ON ERROR^
 13271
 13272					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 9
SMBC2B	MAC	29-Nov-78 12:07		SPECIAL KI10 FOUR BIT ADDER TEST                                                   SEQ 0332

 13273					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13274					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13275					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 21 TO BIT 20.
 13276
 13277	011077	200 00 0 00 041123 	A14000:	MOVE	[-1,,-40001]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 21
 13278	011100	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 21 TO BIT 20
 13279	011101	444 00 0 00 041175 		EQV	[-1,,-40000]	;RESULT IN AC=ALL ONES
 13280	011102	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13281	011103	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13282						STOP^
 13283	011104	254 04 0 00 011105 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13284	011105	324 00 0 00 011106 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13285									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13286									;IN THE SUBTEST) TO LOOP ON ERROR^
 13287
 13288					;**********
 13289
 13290					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13291					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13292					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 18 TO BIT 17.
 13293
 13294	011106	200 00 0 00 041126 	A14100:	MOVE	[-1,,-400001]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 18
 13295	011107	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 18 TO BIT 17
 13296	011110	444 00 0 00 041172 		EQV	[-1,,400000]	;RESULT IN AC=ALL ONES
 13297	011111	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13298	011112	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13299						STOP^
 13300	011113	254 04 0 00 011114 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13301	011114	324 00 0 00 011115 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13302									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13303									;IN THE SUBTEST) TO LOOP ON ERROR^
 13304
 13305					;**********
 13306
 13307					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13308					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13309					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 14 TO BIT 13.
 13310
 13311	011115	200 00 0 00 041132 	A14200:	MOVE	[-11,,-1]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 14
 13312	011116	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 14 TO BIT 13
 13313	011117	444 00 0 00 041167 		EQV	[-10,,0]	;RESULT IN AC=ALL ONES
 13314	011120	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13315	011121	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13316						STOP^
 13317	011122	254 04 0 00 011123 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13318	011123	324 00 0 00 011124 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13319									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13320									;IN THE SUBTEST) TO LOOP ON ERROR^
 13321
 13322					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 10
SMBC2B	MAC	29-Nov-78 12:07		SPECIAL KI10 FOUR BIT ADDER TEST                                                   SEQ 0333

 13323					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13324					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13325					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 10 TO BIT 9.
 13326
 13327	011124	200 00 0 00 041136 	A14300:	MOVE	[-201,,-1]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 10
 13328	011125	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 10 TO BIT 9
 13329	011126	444 00 0 00 041163 		EQV	[-200,,0]	;RESULT IN AC=ALL ONES
 13330	011127	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13331	011130	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13332						STOP^
 13333	011131	254 04 0 00 011132 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13334	011132	324 00 0 00 011133 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13335									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13336									;IN THE SUBTEST) TO LOOP ON ERROR^
 13337
 13338					;**********
 13339
 13340					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13341					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13342					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 6 TO BIT 5.
 13343
 13344	011133	200 00 0 00 041142 	A14400:	MOVE	[-4001,,-1]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 6
 13345	011134	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 6 TO BIT 5
 13346	011135	444 00 0 00 041160 		EQV	[-4000,,0]	;RESULT IN AC=ALL ONES
 13347	011136	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13348	011137	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13349						STOP^
 13350	011140	254 04 0 00 011141 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13351	011141	324 00 0 00 011142 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13352									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13353									;IN THE SUBTEST) TO LOOP ON ERROR^
 13354
 13355					;**********
 13356
 13357					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13358					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13359					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 2 TO BIT 1.
 13360
 13361	011142	200 00 0 00 041146 	A14500:	MOVE	[-100001,,-1]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 2
 13362	011143	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 2 TO BIT 1
 13363	011144	444 00 0 00 041154 		EQV	[-100000,,0]	;RESULT IN AC=ALL ONES
 13364	011145	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13365	011146	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13366						STOP^
 13367	011147	254 04 0 00 011150 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13368	011150	324 00 0 00 011151 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13369									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13370									;IN THE SUBTEST) TO LOOP ON ERROR^
 13371
 13372					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 11
SMBC2B	MAC	29-Nov-78 12:07		SPECIAL KI10 FOUR BIT ADDER TEST                                                   SEQ 0334

 13373					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13374					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13375					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT 1 TO BIT 0.
 13376
 13377	011151	200 00 0 00 041147 	A14600:	MOVE	[-200001,,-1]	;PRESET AC WITH ALL ONES EXCEPT FOR BIT 1
 13378	011152	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT 1 TO BIT 0
 13379	011153	444 00 0 00 041153 		EQV	[600000,,0]	;RESULT IN AC=ALL ONES
 13380	011154	444 00 0 00 041025 		EQV	[0]		;RESULT IN AC=0
 13381	011155	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13382						STOP^
 13383	011156	254 04 0 00 011157 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13384	011157	324 00 0 00 011160 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13385									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13386									;IN THE SUBTEST) TO LOOP ON ERROR^
 13387
 13388					;**********
 13389
 13390					;THIS TEST CHECKS THE CARRY FUNCTION FROM THE MOST SIGNIFICANT BIT OF A FOUR
 13391					;BIT ADDER TO THE LEAST SIGNIFICANT BIT OF THE NEXT SIGNIFICANT FOUR BIT ADDER.
 13392					;SPECIFICALLY, IT IS VERIFIED THAT AN ILLEGAL CARRY DOES NOT OCCUR FROM BIT -1TO BIT 35.
 13393
 13394	011160	200 00 0 00 041026 	A14700:	MOVE	[-1,,-1]	;PRESET AC WITH ALL ONES
 13395	011161	270 00 0 00 041037 		ADD	[1]		;*ADD SHOULD NOT CAUSE CARRY FROM BIT -1 TO BIT 35
 13396	011162	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13397						STOP^
 13398	011163	254 04 0 00 011164 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13399	011164	324 00 0 00 011165 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13400									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13401									;IN THE SUBTEST) TO LOOP ON ERROR^
 13402
 13403					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0335

 13404					SUBTTL	TEST OF SUB AND COMPARE INSTRUCTIONS
 13405
 13406					;THIS TEST VERIFIES THAT IF A NON ZERO POSITIVE NUMBER IN E IS
 13407					;SUBTRACTED FROM THE AC WHEN C(AC)=0, THE RESULT IN THE AC
 13408					;IS NEGATIVE
 13409
 13410	011165	200 00 0 00 041025 	A11500:	MOVE	[0]		;PRESET AC TO ZERO
 13411	011166	274 00 0 00 041102 		SUB	[XWD 0,-1]	;*SUB OF POSITIVE NONZERO NUMBER FROM AC OF ALL ZEROS
 13412									;SHOULD RESULT IN C(AC) NEGATIVE
 13413	011167	331 00 0 00 000000 		SKIPL			;PASS TEST IF C(AC) IS NEGATIVE
 13414						STOP^
 13415	011170	254 04 0 00 011171 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13416	011171	324 00 0 00 011172 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13417									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13418									;IN THE SUBTEST) TO LOOP ON ERROR^
 13419
 13420					;AD AR- EN D [ADAM], F CYC ACT ENB [F1],
 13421					;IR SUBX[IR1], IR ADSUB[IR1]
 13422
 13423					;**********
 13424
 13425					;THIS TEST VERIFIES THAT IF A WORD OF ALL ZEROS IS
 13426					;SUBTRACTED FROM AN AC OF ALL ZEROS, THE RESULT
 13427					;IS AN AC OF ZEROS.
 13428
 13429	011172	200 00 0 00 041025 	A11600:	MOVE	[0]		;PRESET AC TO ZERO
 13430	011173	274 00 0 00 041025 		SUB	[0]		;*SUB OF 0 FROM 0 SHOULD RESULT IN C(AC)=0
 13431	011174	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13432						STOP^
 13433	011175	254 04 0 00 011176 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13434	011176	324 00 0 00 011177 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13435									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13436									;IN THE SUBTEST) TO LOOP ON ERROR^
 13437					;AD CRY 36[ADCR], F CYC ACT EN D[F1], IF SUBX [IR1]
 13438
 13439					;**********
 13440					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0336

 13441			011700		SN=11700
 13442			000000			ZZ=0
 13443
 13444					A11700:	REPEAT	^D36,
 13445					<;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13446					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13447					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13448					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13449					SN=SN+1
 13450						ZZ=ZZ+ZZ
 13451						IFE	ZZ,<ZZ=1>
 13452						MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13453						SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13454						SKIPE			;PASS TEST IF C(AC)=0
 13455						STOP
 13456					
 13457					;**********
 13458					>
 13459					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13460					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13461					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13462					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13463			011701		SN=SN+1
 13464			000000			ZZ=ZZ+ZZ
 13465			000001			IFE	ZZ,<ZZ=1>
 13466	011177	200 00 0 00 041037 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13467	011200	274 00 0 00 041037 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13468	011201	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13469						STOP^
 13470	011202	254 04 0 00 011203 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13471	011203	324 00 0 00 011204 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13472									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13473									;IN THE SUBTEST) TO LOOP ON ERROR^
 13474
 13475					;**********
 13476
 13477					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13478					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13479					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13480					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13481			011702		SN=SN+1
 13482			000002			ZZ=ZZ+ZZ
 13483						IFE	ZZ,<ZZ=1>
 13484	011204	200 00 0 00 041040 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13485	011205	274 00 0 00 041040 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13486	011206	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13487						STOP^
 13488	011207	254 04 0 00 011210 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13489	011210	324 00 0 00 011211 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13490									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13491									;IN THE SUBTEST) TO LOOP ON ERROR^
 13492
 13493					;**********
 13494
 13495					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0337

 13496					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13497					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13498					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13499			011703		SN=SN+1
 13500			000004			ZZ=ZZ+ZZ
 13501						IFE	ZZ,<ZZ=1>
 13502	011211	200 00 0 00 041041 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13503	011212	274 00 0 00 041041 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13504	011213	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13505						STOP^
 13506	011214	254 04 0 00 011215 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13507	011215	324 00 0 00 011216 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13508									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13509									;IN THE SUBTEST) TO LOOP ON ERROR^
 13510
 13511					;**********
 13512
 13513					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13514					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13515					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13516					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13517			011704		SN=SN+1
 13518			000010			ZZ=ZZ+ZZ
 13519						IFE	ZZ,<ZZ=1>
 13520	011216	200 00 0 00 041042 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13521	011217	274 00 0 00 041042 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13522	011220	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13523						STOP^
 13524	011221	254 04 0 00 011222 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13525	011222	324 00 0 00 011223 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13526									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13527									;IN THE SUBTEST) TO LOOP ON ERROR^
 13528
 13529					;**********
 13530
 13531					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13532					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13533					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13534					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13535			011705		SN=SN+1
 13536			000020			ZZ=ZZ+ZZ
 13537						IFE	ZZ,<ZZ=1>
 13538	011223	200 00 0 00 041043 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13539	011224	274 00 0 00 041043 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13540	011225	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13541						STOP^
 13542	011226	254 04 0 00 011227 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13543	011227	324 00 0 00 011230 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13544									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13545									;IN THE SUBTEST) TO LOOP ON ERROR^
 13546
 13547					;**********
 13548
 13549					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13550					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0338

 13551					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13552					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13553			011706		SN=SN+1
 13554			000040			ZZ=ZZ+ZZ
 13555						IFE	ZZ,<ZZ=1>
 13556	011230	200 00 0 00 041044 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13557	011231	274 00 0 00 041044 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13558	011232	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13559						STOP^
 13560	011233	254 04 0 00 011234 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13561	011234	324 00 0 00 011235 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13562									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13563									;IN THE SUBTEST) TO LOOP ON ERROR^
 13564
 13565					;**********
 13566
 13567					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13568					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13569					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13570					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13571			011707		SN=SN+1
 13572			000100			ZZ=ZZ+ZZ
 13573						IFE	ZZ,<ZZ=1>
 13574	011235	200 00 0 00 041045 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13575	011236	274 00 0 00 041045 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13576	011237	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13577						STOP^
 13578	011240	254 04 0 00 011241 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13579	011241	324 00 0 00 011242 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13580									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13581									;IN THE SUBTEST) TO LOOP ON ERROR^
 13582
 13583					;**********
 13584
 13585					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13586					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13587					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13588					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13589			011710		SN=SN+1
 13590			000200			ZZ=ZZ+ZZ
 13591						IFE	ZZ,<ZZ=1>
 13592	011242	200 00 0 00 041046 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13593	011243	274 00 0 00 041046 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13594	011244	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13595						STOP^
 13596	011245	254 04 0 00 011246 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13597	011246	324 00 0 00 011247 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13598									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13599									;IN THE SUBTEST) TO LOOP ON ERROR^
 13600
 13601					;**********
 13602
 13603					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13604					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13605					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0339

 13606					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13607			011711		SN=SN+1
 13608			000400			ZZ=ZZ+ZZ
 13609						IFE	ZZ,<ZZ=1>
 13610	011247	200 00 0 00 041047 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13611	011250	274 00 0 00 041047 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13612	011251	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13613						STOP^
 13614	011252	254 04 0 00 011253 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13615	011253	324 00 0 00 011254 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13616									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13617									;IN THE SUBTEST) TO LOOP ON ERROR^
 13618
 13619					;**********
 13620
 13621					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13622					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13623					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13624					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13625			011712		SN=SN+1
 13626			001000			ZZ=ZZ+ZZ
 13627						IFE	ZZ,<ZZ=1>
 13628	011254	200 00 0 00 041050 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13629	011255	274 00 0 00 041050 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13630	011256	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13631						STOP^
 13632	011257	254 04 0 00 011260 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13633	011260	324 00 0 00 011261 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13634									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13635									;IN THE SUBTEST) TO LOOP ON ERROR^
 13636
 13637					;**********
 13638
 13639					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13640					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13641					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13642					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13643			011713		SN=SN+1
 13644			002000			ZZ=ZZ+ZZ
 13645						IFE	ZZ,<ZZ=1>
 13646	011261	200 00 0 00 041051 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13647	011262	274 00 0 00 041051 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13648	011263	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13649						STOP^
 13650	011264	254 04 0 00 011265 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13651	011265	324 00 0 00 011266 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13652									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13653									;IN THE SUBTEST) TO LOOP ON ERROR^
 13654
 13655					;**********
 13656
 13657					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13658					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13659					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13660					;TIMES IN ORDER TO TEST ALL 36 BITS.
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0340

 13661			011714		SN=SN+1
 13662			004000			ZZ=ZZ+ZZ
 13663						IFE	ZZ,<ZZ=1>
 13664	011266	200 00 0 00 041052 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13665	011267	274 00 0 00 041052 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13666	011270	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13667						STOP^
 13668	011271	254 04 0 00 011272 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13669	011272	324 00 0 00 011273 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13670									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13671									;IN THE SUBTEST) TO LOOP ON ERROR^
 13672
 13673					;**********
 13674
 13675					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13676					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13677					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13678					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13679			011715		SN=SN+1
 13680			010000			ZZ=ZZ+ZZ
 13681						IFE	ZZ,<ZZ=1>
 13682	011273	200 00 0 00 041053 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13683	011274	274 00 0 00 041053 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13684	011275	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13685						STOP^
 13686	011276	254 04 0 00 011277 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13687	011277	324 00 0 00 011300 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13688									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13689									;IN THE SUBTEST) TO LOOP ON ERROR^
 13690
 13691					;**********
 13692
 13693					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13694					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13695					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13696					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13697			011716		SN=SN+1
 13698			020000			ZZ=ZZ+ZZ
 13699						IFE	ZZ,<ZZ=1>
 13700	011300	200 00 0 00 041054 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13701	011301	274 00 0 00 041054 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13702	011302	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13703						STOP^
 13704	011303	254 04 0 00 011304 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13705	011304	324 00 0 00 011305 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13706									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13707									;IN THE SUBTEST) TO LOOP ON ERROR^
 13708
 13709					;**********
 13710
 13711					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13712					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13713					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13714					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13715			011717		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0341

 13716			040000			ZZ=ZZ+ZZ
 13717						IFE	ZZ,<ZZ=1>
 13718	011305	200 00 0 00 041055 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13719	011306	274 00 0 00 041055 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13720	011307	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13721						STOP^
 13722	011310	254 04 0 00 011311 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13723	011311	324 00 0 00 011312 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13724									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13725									;IN THE SUBTEST) TO LOOP ON ERROR^
 13726
 13727					;**********
 13728
 13729					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13730					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13731					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13732					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13733			011720		SN=SN+1
 13734			100000			ZZ=ZZ+ZZ
 13735						IFE	ZZ,<ZZ=1>
 13736	011312	200 00 0 00 041056 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13737	011313	274 00 0 00 041056 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13738	011314	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13739						STOP^
 13740	011315	254 04 0 00 011316 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13741	011316	324 00 0 00 011317 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13742									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13743									;IN THE SUBTEST) TO LOOP ON ERROR^
 13744
 13745					;**********
 13746
 13747					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13748					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13749					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13750					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13751			011721		SN=SN+1
 13752			200000			ZZ=ZZ+ZZ
 13753						IFE	ZZ,<ZZ=1>
 13754	011317	200 00 0 00 041057 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13755	011320	274 00 0 00 041057 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13756	011321	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13757						STOP^
 13758	011322	254 04 0 00 011323 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13759	011323	324 00 0 00 011324 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13760									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13761									;IN THE SUBTEST) TO LOOP ON ERROR^
 13762
 13763					;**********
 13764
 13765					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13766					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13767					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13768					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13769			011722		SN=SN+1
 13770			400000			ZZ=ZZ+ZZ
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0342

 13771						IFE	ZZ,<ZZ=1>
 13772	011324	200 00 0 00 041060 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13773	011325	274 00 0 00 041060 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13774	011326	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13775						STOP^
 13776	011327	254 04 0 00 011330 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13777	011330	324 00 0 00 011331 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13778									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13779									;IN THE SUBTEST) TO LOOP ON ERROR^
 13780
 13781					;**********
 13782
 13783					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13784					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13785					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13786					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13787			011723		SN=SN+1
 13788		000001	000000			ZZ=ZZ+ZZ
 13789						IFE	ZZ,<ZZ=1>
 13790	011331	200 00 0 00 041061 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13791	011332	274 00 0 00 041061 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13792	011333	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13793						STOP^
 13794	011334	254 04 0 00 011335 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13795	011335	324 00 0 00 011336 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13796									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13797									;IN THE SUBTEST) TO LOOP ON ERROR^
 13798
 13799					;**********
 13800
 13801					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13802					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13803					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13804					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13805			011724		SN=SN+1
 13806		000002	000000			ZZ=ZZ+ZZ
 13807						IFE	ZZ,<ZZ=1>
 13808	011336	200 00 0 00 041062 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13809	011337	274 00 0 00 041062 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13810	011340	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13811						STOP^
 13812	011341	254 04 0 00 011342 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13813	011342	324 00 0 00 011343 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13814									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13815									;IN THE SUBTEST) TO LOOP ON ERROR^
 13816
 13817					;**********
 13818
 13819					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13820					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13821					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13822					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13823			011725		SN=SN+1
 13824		000004	000000			ZZ=ZZ+ZZ
 13825						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-8
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0343

 13826	011343	200 00 0 00 041063 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13827	011344	274 00 0 00 041063 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13828	011345	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13829						STOP^
 13830	011346	254 04 0 00 011347 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13831	011347	324 00 0 00 011350 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13832									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13833									;IN THE SUBTEST) TO LOOP ON ERROR^
 13834
 13835					;**********
 13836
 13837					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13838					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13839					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13840					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13841			011726		SN=SN+1
 13842		000010	000000			ZZ=ZZ+ZZ
 13843						IFE	ZZ,<ZZ=1>
 13844	011350	200 00 0 00 041064 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13845	011351	274 00 0 00 041064 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13846	011352	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13847						STOP^
 13848	011353	254 04 0 00 011354 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13849	011354	324 00 0 00 011355 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13850									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13851									;IN THE SUBTEST) TO LOOP ON ERROR^
 13852
 13853					;**********
 13854
 13855					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13856					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13857					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13858					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13859			011727		SN=SN+1
 13860		000020	000000			ZZ=ZZ+ZZ
 13861						IFE	ZZ,<ZZ=1>
 13862	011355	200 00 0 00 041065 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13863	011356	274 00 0 00 041065 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13864	011357	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13865						STOP^
 13866	011360	254 04 0 00 011361 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13867	011361	324 00 0 00 011362 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13868									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13869									;IN THE SUBTEST) TO LOOP ON ERROR^
 13870
 13871					;**********
 13872
 13873					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13874					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13875					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13876					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13877			011730		SN=SN+1
 13878		000040	000000			ZZ=ZZ+ZZ
 13879						IFE	ZZ,<ZZ=1>
 13880	011362	200 00 0 00 041066 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-9
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0344

 13881	011363	274 00 0 00 041066 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13882	011364	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13883						STOP^
 13884	011365	254 04 0 00 011366 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13885	011366	324 00 0 00 011367 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13886									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13887									;IN THE SUBTEST) TO LOOP ON ERROR^
 13888
 13889					;**********
 13890
 13891					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13892					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13893					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13894					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13895			011731		SN=SN+1
 13896		000100	000000			ZZ=ZZ+ZZ
 13897						IFE	ZZ,<ZZ=1>
 13898	011367	200 00 0 00 041067 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13899	011370	274 00 0 00 041067 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13900	011371	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13901						STOP^
 13902	011372	254 04 0 00 011373 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13903	011373	324 00 0 00 011374 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13904									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13905									;IN THE SUBTEST) TO LOOP ON ERROR^
 13906
 13907					;**********
 13908
 13909					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13910					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13911					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13912					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13913			011732		SN=SN+1
 13914		000200	000000			ZZ=ZZ+ZZ
 13915						IFE	ZZ,<ZZ=1>
 13916	011374	200 00 0 00 041070 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13917	011375	274 00 0 00 041070 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13918	011376	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13919						STOP^
 13920	011377	254 04 0 00 011400 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13921	011400	324 00 0 00 011401 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13922									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13923									;IN THE SUBTEST) TO LOOP ON ERROR^
 13924
 13925					;**********
 13926
 13927					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13928					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13929					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13930					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13931			011733		SN=SN+1
 13932		000400	000000			ZZ=ZZ+ZZ
 13933						IFE	ZZ,<ZZ=1>
 13934	011401	200 00 0 00 041036 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13935	011402	274 00 0 00 041036 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-10
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0345

 13936	011403	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13937						STOP^
 13938	011404	254 04 0 00 011405 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13939	011405	324 00 0 00 011406 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13940									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13941									;IN THE SUBTEST) TO LOOP ON ERROR^
 13942
 13943					;**********
 13944
 13945					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13946					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13947					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13948					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13949			011734		SN=SN+1
 13950		001000	000000			ZZ=ZZ+ZZ
 13951						IFE	ZZ,<ZZ=1>
 13952	011406	200 00 0 00 041071 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13953	011407	274 00 0 00 041071 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13954	011410	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13955						STOP^
 13956	011411	254 04 0 00 011412 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13957	011412	324 00 0 00 011413 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13958									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13959									;IN THE SUBTEST) TO LOOP ON ERROR^
 13960
 13961					;**********
 13962
 13963					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13964					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13965					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13966					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13967			011735		SN=SN+1
 13968		002000	000000			ZZ=ZZ+ZZ
 13969						IFE	ZZ,<ZZ=1>
 13970	011413	200 00 0 00 041072 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13971	011414	274 00 0 00 041072 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13972	011415	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 13973						STOP^
 13974	011416	254 04 0 00 011417 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13975	011417	324 00 0 00 011420 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13976									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13977									;IN THE SUBTEST) TO LOOP ON ERROR^
 13978
 13979					;**********
 13980
 13981					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 13982					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 13983					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 13984					;TIMES IN ORDER TO TEST ALL 36 BITS.
 13985			011736		SN=SN+1
 13986		004000	000000			ZZ=ZZ+ZZ
 13987						IFE	ZZ,<ZZ=1>
 13988	011420	200 00 0 00 041073 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 13989	011421	274 00 0 00 041073 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 13990	011422	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-11
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0346

 13991						STOP^
 13992	011423	254 04 0 00 011424 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 13993	011424	324 00 0 00 011425 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 13994									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 13995									;IN THE SUBTEST) TO LOOP ON ERROR^
 13996
 13997					;**********
 13998
 13999					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 14000					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 14001					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 14002					;TIMES IN ORDER TO TEST ALL 36 BITS.
 14003			011737		SN=SN+1
 14004		010000	000000			ZZ=ZZ+ZZ
 14005						IFE	ZZ,<ZZ=1>
 14006	011425	200 00 0 00 041074 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 14007	011426	274 00 0 00 041074 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 14008	011427	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14009						STOP^
 14010	011430	254 04 0 00 011431 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14011	011431	324 00 0 00 011432 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14012									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14013									;IN THE SUBTEST) TO LOOP ON ERROR^
 14014
 14015					;**********
 14016
 14017					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 14018					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 14019					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 14020					;TIMES IN ORDER TO TEST ALL 36 BITS.
 14021			011740		SN=SN+1
 14022		020000	000000			ZZ=ZZ+ZZ
 14023						IFE	ZZ,<ZZ=1>
 14024	011432	200 00 0 00 041075 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 14025	011433	274 00 0 00 041075 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 14026	011434	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14027						STOP^
 14028	011435	254 04 0 00 011436 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14029	011436	324 00 0 00 011437 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14030									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14031									;IN THE SUBTEST) TO LOOP ON ERROR^
 14032
 14033					;**********
 14034
 14035					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 14036					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 14037					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 14038					;TIMES IN ORDER TO TEST ALL 36 BITS.
 14039			011741		SN=SN+1
 14040		040000	000000			ZZ=ZZ+ZZ
 14041						IFE	ZZ,<ZZ=1>
 14042	011437	200 00 0 00 041076 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 14043	011440	274 00 0 00 041076 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 14044	011441	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14045						STOP^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-12
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0347

 14046	011442	254 04 0 00 011443 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14047	011443	324 00 0 00 011444 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14048									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14049									;IN THE SUBTEST) TO LOOP ON ERROR^
 14050
 14051					;**********
 14052
 14053					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 14054					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 14055					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 14056					;TIMES IN ORDER TO TEST ALL 36 BITS.
 14057			011742		SN=SN+1
 14058		100000	000000			ZZ=ZZ+ZZ
 14059						IFE	ZZ,<ZZ=1>
 14060	011444	200 00 0 00 041077 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 14061	011445	274 00 0 00 041077 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 14062	011446	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14063						STOP^
 14064	011447	254 04 0 00 011450 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14065	011450	324 00 0 00 011451 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14066									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14067									;IN THE SUBTEST) TO LOOP ON ERROR^
 14068
 14069					;**********
 14070
 14071					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 14072					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 14073					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 14074					;TIMES IN ORDER TO TEST ALL 36 BITS.
 14075			011743		SN=SN+1
 14076		200000	000000			ZZ=ZZ+ZZ
 14077						IFE	ZZ,<ZZ=1>
 14078	011451	200 00 0 00 041100 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 14079	011452	274 00 0 00 041100 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 14080	011453	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14081						STOP^
 14082	011454	254 04 0 00 011455 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14083	011455	324 00 0 00 011456 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14084									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14085									;IN THE SUBTEST) TO LOOP ON ERROR^
 14086
 14087					;**********
 14088
 14089					;THIS TEST VERIFIES THAT IF A RIPPLED ONE
 14090					;IS SUBTRACTED FROM ITSELF, THE RESULT IS
 14091					;AN AC OF ALL ZEROS. THIS TEST IS REPEATED 36
 14092					;TIMES IN ORDER TO TEST ALL 36 BITS.
 14093			011744		SN=SN+1
 14094		400000	000000			ZZ=ZZ+ZZ
 14095						IFE	ZZ,<ZZ=1>
 14096	011456	200 00 0 00 041030 		MOVE	[ZZ]		;LOAD AC WITH A FLOATING ONE
 14097	011457	274 00 0 00 041030 		SUB	[ZZ]		;*SUB OF FLOATING ONE FROM ITSELF SHOULD RESULT IN C(AC)=0
 14098	011460	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14099						STOP^
 14100	011461	254 04 0 00 011462 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-13
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0348

 14101	011462	324 00 0 00 011463 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14102									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14103									;IN THE SUBTEST) TO LOOP ON ERROR^
 14104
 14105					;**********
 14106
 14107					PAGE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 12-14
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0349

 14108					;THIS TEST VERIFIES THAT IF A WORD OF ALL
 14109					;ONES IS SUBTRACTED FROM ITSELF, THE RESULT
 14110					;IN THE AC IS ZERO.
 14111
 14112	011463	200 00 0 00 041026 	A12000:	MOVE	[-1]		;PRESET AC TO ALL ONES
 14113	011464	274 00 0 00 041026 		SUB	[-1]		;*SUB OF -1 FROM ITSELF SHOULD RESULT IN C(AC)=0
 14114	011465	332 00 0 00 000000 		SKIPE			;PASS TEST IF C(AC)=0
 14115						STOP^
 14116	011466	254 04 0 00 011467 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14117	011467	324 00 0 00 011470 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14118									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14119									;IN THE SUBTEST) TO LOOP ON ERROR^
 14120
 14121					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 13
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0350

 14122					;THIS TEST VERIFIES THAT CAMA ALWAYS SKIPS THE
 14123					;NEXT INSTRUCTION INDEPENDENT OF THE DATA WITH AC
 14124					;AND E. THIS TEST FAILS IF CAMA DOES NOT SKIP ALWAYS.
 14125
 14126	011470	200 00 0 00 041025 	A12100:	MOVE	[0]		;PRESET AC, E TO ZERO
 14127	011471	314 00 0 00 000000 		CAMA			;*CAMA SHOULD ALWAYS SKIP THE NEXT INSTRUCTION,
 14128									;OTHERWISE THIS TEST FAILS
 14129						STOP^
 14130	011472	254 04 0 00 011473 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14131	011473	324 00 0 00 011474 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14132									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14133									;IN THE SUBTEST) TO LOOP ON ERROR^
 14134
 14135					;ET0 [E], ET0 EN[E], IR CAXX[IR3], AD CRY 3C[ADCR],
 14136					;FCYC ACT EN D [ADCR], AD CRY 36 F/F'S [ADCR],
 14137					;PC CLOCK EN [PCC], ET0 C F/F[E], IR CAXX[IR3],
 14138					;ADZ COND P[ADZ] AND ADZ COND Z[ADZ]
 14139
 14140					;**********
 14141
 14142					;THIS TEST VERIFIES THAT CAME IS DATA SENSITIVE.
 14143					;IT SKIPS THE NEXT INSTRUCTION IF AND ONLY
 14144					;IF C(AC)=C(E). IN THIS TEST AC=E=0 AND
 14145					;C(AC)=C(E)=0. HENCE, CAME MUST
 14146					;SKIP THE NEXT INSTRUCTION
 14147					;IN THIS TEST
 14148
 14149	011474	200 00 0 00 041025 	A12200:	MOVE	[0]		;PRESET AC, E TO ZERO
 14150	011475	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP SINCE E=AC
 14151						STOP^
 14152	011476	254 04 0 00 011477 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14153	011477	324 00 0 00 011500 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14154									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14155									;IN THE SUBTEST) TO LOOP ON ERROR^
 14156
 14157					;AD FM + EN [ADFP], F CXC ACT ENC[F1], IRCAXX[IR3]
 14158
 14159					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 14
SMBC2B	MAC	29-Nov-78 12:07		TEST OF SUB AND COMPARE INSTRUCTIONS                                               SEQ 0351

 14160					;THIS TEST VERIFIES THAT CAME IS DATA SENSITIVE
 14161					;IT SKIPS THE NEXT INSTRUCTION OF AND ONLY IF
 14162					;C(AC)=C(E). IN THIS TEST C(AC)=C(E)=0;
 14163					;BUT, E IS NOT WITHIN THE AC RANGE.
 14164					;HENCE, CAME MUST SKIP
 14165					;THE NEXT INSTRUCTION IN THIS TEST.
 14166
 14167	011500	200 00 0 00 041025 	A12300:	MOVE	[0]		;*CAME SHOULD SKIP WHEN C(AC)=C(E)=0
 14168	011501	312 00 0 00 041025 		CAME	[0]
 14169						STOP^
 14170	011502	254 04 0 00 011503 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14171	011503	324 00 0 00 011504 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14172									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14173									;IN THE SUBTEST) TO LOOP ON ERROR^
 14174
 14175					;CAMX: FCE[F1], IR CAMX[IR1]
 14176
 14177					;**********
 14178
 14179					;THIS TEST VERIFIES THAT CAME IS DATA SENSITIVE.
 14180					;IT SKIPS THE NEXT INSTRUCTION IF AND ONLY IF
 14181					;C(AC)=C(E). IN THIS TEST C(AC)=0 AND
 14182					;C(E)=-1. HENCE, CAME SHOULD NOT
 14183					;SKIP THE NEXT INSTRUCTION IN THIS TEST.
 14184
 14185	011504	200 00 0 00 041025 	A12400:	MOVE	[0]		;PRESET AC TO ZERO
 14186	011505	312 00 0 00 041026 		CAME	[-1]		;*CAME SHOULD NOT SKIP BECAUSE C(AC)=0 ANDC(E)=-
 14187	011506	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAME PASSES TEST
 14188						STOP^
 14189	011507	254 04 0 00 011510 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14190	011510	324 00 0 00 011511 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14191									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14192									;IN THE SUBTEST) TO LOOP ON ERROR^
 14193
 14194					;AD AR- EN [ADAM], IR CAXX [IR3], F CYC ACT EN B [F1],
 14195					;AD AR- F/F'S [ADAM], AD ADD [ADC1], AD FM + FETCH EN A [ADFP],
 14196					;F CYC ACT EN A [F1], AD ADD EN C [ADC1], AD ADD F/F'S [ADC1]
 14197
 14198					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 15
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0352

 14199					SUBTTL	TEST OF COMPARE (CAMX) INSTRUCTIONS
 14200
 14201					;**********
 14202
 14203					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14204					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14205					;IN THIS TEST, C(AC)=-1 AND C(E)=0; HENCE, CAML SHOULD SKIP.  OTHERWISE,THE 
 14206					;PROGRAM HALTS.
 14207
 14208	011511	200 00 0 00 041026 	B100:	MOVE	[-1]		;PRELOAD AC WITH -1
 14209	011512	311 00 0 00 041025 		CAML	[0]		;*CAML SHOULD SKIP BECAUSE C(AC) IS LESS THAN C(E)
 14210						STOP^
 14211	011513	254 04 0 00 011514 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14212	011514	324 00 0 00 011515 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14213									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14214									;IN THE SUBTEST) TO LOOP ON ERROR^
 14215
 14216					;*****     FAILURE ANALYSIS     *****
 14217					;C(AC0)		C(AC1)		FAILING SIGNAL
 14218
 14219					;				FC: AB PC EN
 14220					;				ET0: COND Q: PC CLK EN
 14221
 14222					;**********
 14223
 14224					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14225					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14226					;IN THIS CASE, C(AC)=0 AND C(E)=-1; HENCE, CAML SHOULD NOT SKIP.  OTHERWISE,
 14227					;THE PROGRAM HALTS.
 14228
 14229	011515	200 00 0 00 041025 	B200:	MOVE	[0]		;PRELOAD AC WITH 0
 14230	011516	311 00 0 00 041026 		CAML	[-1]		;*CAML SHOULD NOT SKIP BECAUSE
 14231									;C(AC) IS GREATER THAN C(E)
 14232	011517	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAML PASSES
 14233						STOP^
 14234	011520	254 04 0 00 011521 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14235	011521	324 00 0 00 011522 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14236									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14237									;IN THE SUBTEST) TO LOOP ON ERROR^
 14238
 14239					;*****     FAILURE ANALYSIS     *****
 14240					;C(AC0)		C(AC1)		FAILING SIGNAL
 14241
 14242					;				SW: FCE
 14243					;				FC: PC CHANGE
 14244
 14245					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 16
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0353

 14246					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14247					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14248					;IN THIS CASE, C(AC)=400000,,0 (THE MOST
 14249					;NEGATIVE NUMBER) AND C(E)=377777,,-1
 14250					;(THE MOST POSITIVE NUMBER); HENCE,
 14251					;CAML SHOULD SKIP.  OTHERWISE, THE
 14252					;PROGRAM HALTS
 14253
 14254	011522	200 00 0 00 041030 	B300:	MOVE	[XWD 400000,0]	;PRELOAD AC WITH 400000,,0
 14255	011523	311 00 0 00 041027 		CAML	[XWD 377777,-1]	;*CAML SHOULD SKIP BECAUSE C(AC) IS LESS THAN C(E)
 14256						STOP^
 14257	011524	254 04 0 00 011525 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14258	011525	324 00 0 00 011526 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14259									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14260									;IN THE SUBTEST) TO LOOP ON ERROR^
 14261
 14262					;*****     FAILURE ANALYSIS     *****
 14263					;C(AC0)		C(AC1)		FAILING SIGNAL
 14264
 14265					;				FC: AD ADD
 14266
 14267					;**********
 14268
 14269					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14270					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14271					;IN THIS CASE, C(AC)=377777,,-1 (THE MOST POSITIVE NUMBER) AND C(E)=400000,,0 (THE MOST NEG
 14272					ATIVE NUMBER)
 14273					;HENCE, CAML SHOULD NOT SKIP.  OTHERWISE, THE PROGRAM HALTS.
 14274
 14275	011526	200 00 0 00 041027 	B400:	MOVE	[XWD 377777,-1]	;PRELOAD AC WITH 377777,,-1
 14276	011527	311 00 0 00 041030 		CAML	[XWD 400000,0]	;*CAML SHOULD NOT SKIP BECAUSE
 14277									;C(AC) IS GREATER THAN C(E)
 14278	011530	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAML PASSES
 14279						STOP^
 14280	011531	254 04 0 00 011532 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14281	011532	324 00 0 00 011533 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14282									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14283									;IN THE SUBTEST) TO LOOP ON ERROR^
 14284
 14285					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 17
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0354

 14286					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14287					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14288					;IN THIS CASE, C(AC)=400000,,0 (THE MOST NEGTIVE NUMBER) AND C(E)=-1;
 14289					;HENCE, CAML SHOULD SKIP.  OTHERWISE, THE PROGRAM HALTS
 14290
 14291	011533	200 00 0 00 041030 	B500:	MOVE	[XWD 400000,0]	;PRELOAD AC WITH 400000,,0
 14292	011534	311 00 0 00 041026 		CAML	[-1]		;*CAML SHOULD SKIP BECAUSE C(AC) IS LESS THAN C(E)
 14293						STOP^
 14294	011535	254 04 0 00 011536 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14295	011536	324 00 0 00 011537 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14296									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14297									;IN THE SUBTEST) TO LOOP ON ERROR^
 14298
 14299					;*****     FAILURE ANALYSIS     *****
 14300					;C(AC0)		C(AC1)		FAILING SIGNAL
 14301
 14302					;				FC: AD FM + EN
 14303
 14304					;**********
 14305
 14306					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14307					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14308					;IN THIS CASE, C(AC)=0 AND C(E)=-1 ;HENCE, CAML SHOULD NOT SKIP.  OTHERWISE,
 14309					;THE PROGRAM HALTS.
 14310
 14311	011537	400 00 0 00 000000 	B600:	SETZ			;PRELOAD AC WITH 0		
 14312	011540	311 00 0 00 041026 		CAML	[-1]		;*CAML SHOULD NOT SKIP BECAUSE
 14313									;C(AC) IS GREATER THAN C(E)
 14314	011541	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAML PASSES.
 14315						STOP^
 14316	011542	254 04 0 00 011543 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14317	011543	324 00 0 00 011544 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14318									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14319									;IN THE SUBTEST) TO LOOP ON ERROR^
 14320
 14321					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 18
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0355

 14322					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT INSTRUCTION WHEN AND
 14323					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14324					;IN THIS CASE, C(AC)=0 AND C(E)=0 ;HENCE, CAML SHOULD NOT SKIP.  OTHERWISE,
 14325					;THE PROGRAM HALTS.
 14326
 14327	011544	400 00 0 00 000000 	B700:	SETZ			;PRELOAD AS WITH 0		
 14328	011545	311 00 0 00 041025 		CAML	[0]		;*CAML SHOULD NOT SKIP BECAUSE C(AC)=C(E)
 14329	011546	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAML PASSES
 14330						STOP^
 14331	011547	254 04 0 00 011550 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14332	011550	324 00 0 00 011551 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14333									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14334									;IN THE SUBTEST) TO LOOP ON ERROR^
 14335
 14336					;*****     FAILURE ANALYSIS     *****
 14337					;C(AC0)		C(AC1)		FAILING SIGNAL
 14338
 14339					;				FC: AD CRY 36
 14340
 14341					;**********
 14342
 14343					;THIS TEST VERIFIES THAT CAML SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14344					;ONLY WHEN C(AC) IS LESS THAN C(E).
 14345					;IN THIS CASE, C(AC)=0 AND C(E)=400000,,O (THE MOST NEGATIVE NUMBER);
 14346					;HENCE CAML SHOULD NOT SKIP.  OTHERWISE, THE PROGRAM HALTS.
 14347
 14348	011551	400 00 0 00 000000 	B1000:	SETZ			;PRELOAD AC WITH 0
 14349	011552	311 00 0 00 041030 		CAML	[XWD 400000,0]	;*CAML SHOULD NOT SKIP BECAUSE
 14350									;C(AC) IS GREATER THAN C(E)
 14351	011553	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAML PASSES
 14352						STOP^
 14353	011554	254 04 0 00 011555 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14354	011555	324 00 0 00 011556 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14355									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14356									;IN THE SUBTEST) TO LOOP ON ERROR^
 14357
 14358					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 19
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0356

 14359					;THIS TEST VERIFIES THAT CAM IS DATA INDEPENDENT.  IT NEVER SKIPS
 14360					;THE NEXT SEQUENTIAL INSTRUCTION
 14361					;IN THIS CASE, C(AC)=-1 AND C(E)=0
 14362					;IF IT DOES SKIP THE NEXT INSTRUCTION, THE PROGRAM HALTS
 14363
 14364	011556	200 00 0 00 041026 	B1100:	MOVE	[-1]		;PRELOAD AC WITH -1	
 14365	011557	310 00 0 00 041025 		CAM	[0]		;*CAM SHOULD NEVER SKIP
 14366	011560	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAM PASSES
 14367						STOP^
 14368	011561	254 04 0 00 011562 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14369	011562	324 00 0 00 011563 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14370									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14371									;IN THE SUBTEST) TO LOOP ON ERROR^
 14372
 14373					;**********
 14374
 14375					;THIS TEST VERIFIES THAT CAMGE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14376					;ONLY WHEN C(AC) IS GREATER THAN OR EQUAL TO C(E).
 14377					;IN THIS CASE, C(AC)=-1 AND C(E)=0;  HENCE, CAMGE SHOULD NOT SKIP.
 14378					;OTHERWISE, THE PROGRAM HALTS.
 14379
 14380	011563	200 00 0 00 041026 	B1200:	MOVE	[-1]		;PRELOAD AC WITH-1	
 14381	011564	315 00 0 00 041025 		CAMGE	[0]		;*CAMGE SHOULD NOT SKIP BECAUSE C(AC) IS LESS THAN C(E)
 14382	011565	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAMGE PASSES.
 14383						STOP^
 14384	011566	254 04 0 00 011567 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14385	011567	324 00 0 00 011570 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14386									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14387									;IN THE SUBTEST) TO LOOP ON ERROR^
 14388
 14389					;*****     FAILURE ANALYSIS     *****
 14390					;C(AC0)		C(AC1)		FAILING SIGNAL
 14391
 14392					;				FC: PC CHANGE
 14393					;				FC: AB PC EN
 14394
 14395					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 20
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0357

 14396					;THIS TEST VERIFIES THAT CAMGE SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14397					;ONLY WHEN C(AC) IS GREATER THAN OR EQUAL TO C(E)
 14398					;IN THIS CASE, C(AC)=0 AND C(E)=-1;  HENCE CAMGE SHOULD SKIP.
 14399					;OTHEWISE, THE PROGRAM HALTS.
 14400
 14401	011570	400 00 0 00 000000 	B1300:	SETZ			;PRELOAD AC WITH 0		
 14402	011571	315 00 0 00 041026 		CAMGE	[-1]		;*CAMGE SHOULD SKIP BECAUSE C(AC) IS GREATER THAN C(E)
 14403						STOP^
 14404	011572	254 04 0 00 011573 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14405	011573	324 00 0 00 011574 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14406									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14407									;IN THE SUBTEST) TO LOOP ON ERROR^
 14408
 14409					;*****     FAILURE ANALYSIS     *****
 14410					;C(AC0)		C(AC1)		FAILING SIGNAL
 14411
 14412					;				SW: FCE
 14413					;				ET0: COND Q: PC CLK EN
 14414
 14415					;**********
 14416
 14417					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14418					;ONLY WHEN C(AC) IS NOT EQUAL TO C(E)
 14419					;IN THIS CASE C(AC)=0 AND C(E)=-1;  HENCE CAMN SHOULD SKIP.
 14420					;OTHERWISE, THE PROGRAM HALTS
 14421
 14422	011574	400 00 0 00 000000 	B1400:	SETZ			;PRELOAD AC WITH 0		
 14423	011575	316 00 0 00 041026 		CAMN	[-1]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)
 14424						STOP^
 14425	011576	254 04 0 00 011577 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14426	011577	324 00 0 00 011600 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14427									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14428									;IN THE SUBTEST) TO LOOP ON ERROR^
 14429
 14430					;*****     FAILURE ANALYSIS     *****
 14431					;C(AC0)		C(AC1)		FAILING SIGNAL
 14432
 14433					;				FC:AD FM + EN
 14434					;				FC: AD AR - EN
 14435					;				FC: AD CRY 36
 14436					;				FC: AD ADD
 14437					;				FC: AB PC EN
 14438					;				ET0: PC CLK EN
 14439
 14440					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 21
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0358

 14441					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND
 14442					;ONLY WHEN C(AC) IS NOT EQUAL TO C(E)
 14443					;IN THIS CASE, C(AC)=0 AND C(E)=0;  HENCE CAMN SHOULD NOT SKIP.
 14444					;OTHERWISE, THE PROGRAM HALTS
 14445
 14446	011600	400 00 0 00 000000 	B1500:	SETZ			;PRELOAD AC WITH 0		
 14447	011601	316 00 0 00 041025 		CAMN	[0]		;*CAMN SHOULD NOT SKIP BECAUSE C(AC)=C(E).
 14448	011602	334 00 0 00 000000 		SKIPA			;SKIP HALT INSTRUCTION IF CAMN PASSES
 14449						STOP^
 14450	011603	254 04 0 00 011604 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14451	011604	324 00 0 00 011605 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14452									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14453									;IN THE SUBTEST) TO LOOP ON ERROR^
 14454
 14455					;*****     FAILURE ANALYSIS     *****
 14456					;C(AC0)		C(AC1)		FAILING SIGNAL
 14457
 14458					;				SW: FCE
 14459					;				FC: PC CHANGE
 14460
 14461					;**********
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0359

 14462			001600		SN=1600
 14463			000000			ZZ=0
 14464
 14465					B1600:	REPEAT	^D18,<
 14466					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14467					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14468					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14469					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14470					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14471					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14472					
 14473					SN=SN+1
 14474						ZZ=ZZ+ZZ
 14475						IFE	ZZ,<ZZ=1>
 14476						MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14477						CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14478						CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14479						STOP
 14480					
 14481					;*****     FAILURE ANALYSIS     *****
 14482					;C(AC0)		C(AC1)		FAILING SIGNAL
 14483					
 14484					;				ET0: COND P
 14485					
 14486					;**********
 14487					>
 14488
 14489					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14490					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14491					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14492					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14493					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14494					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14495
 14496			001601		SN=SN+1
 14497			000000			ZZ=ZZ+ZZ
 14498			000001			IFE	ZZ,<ZZ=1>
 14499	011605	200 00 0 00 041037 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14500	011606	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14501	011607	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14502						STOP^
 14503	011610	254 04 0 00 011611 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14504	011611	324 00 0 00 011612 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14505									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14506									;IN THE SUBTEST) TO LOOP ON ERROR^
 14507
 14508					;*****     FAILURE ANALYSIS     *****
 14509					;C(AC0)		C(AC1)		FAILING SIGNAL
 14510
 14511					;				ET0: COND P
 14512
 14513					;**********
 14514
 14515
 14516					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0360

 14517					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14518					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14519					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14520					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14521					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14522
 14523			001602		SN=SN+1
 14524			000002			ZZ=ZZ+ZZ
 14525						IFE	ZZ,<ZZ=1>
 14526	011612	200 00 0 00 041040 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14527	011613	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14528	011614	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14529						STOP^
 14530	011615	254 04 0 00 011616 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14531	011616	324 00 0 00 011617 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14532									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14533									;IN THE SUBTEST) TO LOOP ON ERROR^
 14534
 14535					;*****     FAILURE ANALYSIS     *****
 14536					;C(AC0)		C(AC1)		FAILING SIGNAL
 14537
 14538					;				ET0: COND P
 14539
 14540					;**********
 14541
 14542
 14543					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14544					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14545					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14546					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14547					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14548					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14549
 14550			001603		SN=SN+1
 14551			000004			ZZ=ZZ+ZZ
 14552						IFE	ZZ,<ZZ=1>
 14553	011617	200 00 0 00 041041 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14554	011620	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14555	011621	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14556						STOP^
 14557	011622	254 04 0 00 011623 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14558	011623	324 00 0 00 011624 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14559									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14560									;IN THE SUBTEST) TO LOOP ON ERROR^
 14561
 14562					;*****     FAILURE ANALYSIS     *****
 14563					;C(AC0)		C(AC1)		FAILING SIGNAL
 14564
 14565					;				ET0: COND P
 14566
 14567					;**********
 14568
 14569
 14570					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14571					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0361

 14572					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14573					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14574					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14575					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14576
 14577			001604		SN=SN+1
 14578			000010			ZZ=ZZ+ZZ
 14579						IFE	ZZ,<ZZ=1>
 14580	011624	200 00 0 00 041042 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14581	011625	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14582	011626	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14583						STOP^
 14584	011627	254 04 0 00 011630 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14585	011630	324 00 0 00 011631 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14586									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14587									;IN THE SUBTEST) TO LOOP ON ERROR^
 14588
 14589					;*****     FAILURE ANALYSIS     *****
 14590					;C(AC0)		C(AC1)		FAILING SIGNAL
 14591
 14592					;				ET0: COND P
 14593
 14594					;**********
 14595
 14596
 14597					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14598					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14599					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14600					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14601					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14602					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14603
 14604			001605		SN=SN+1
 14605			000020			ZZ=ZZ+ZZ
 14606						IFE	ZZ,<ZZ=1>
 14607	011631	200 00 0 00 041043 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14608	011632	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14609	011633	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14610						STOP^
 14611	011634	254 04 0 00 011635 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14612	011635	324 00 0 00 011636 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14613									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14614									;IN THE SUBTEST) TO LOOP ON ERROR^
 14615
 14616					;*****     FAILURE ANALYSIS     *****
 14617					;C(AC0)		C(AC1)		FAILING SIGNAL
 14618
 14619					;				ET0: COND P
 14620
 14621					;**********
 14622
 14623
 14624					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14625					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14626					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0362

 14627					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14628					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14629					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14630
 14631			001606		SN=SN+1
 14632			000040			ZZ=ZZ+ZZ
 14633						IFE	ZZ,<ZZ=1>
 14634	011636	200 00 0 00 041044 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14635	011637	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14636	011640	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14637						STOP^
 14638	011641	254 04 0 00 011642 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14639	011642	324 00 0 00 011643 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14640									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14641									;IN THE SUBTEST) TO LOOP ON ERROR^
 14642
 14643					;*****     FAILURE ANALYSIS     *****
 14644					;C(AC0)		C(AC1)		FAILING SIGNAL
 14645
 14646					;				ET0: COND P
 14647
 14648					;**********
 14649
 14650
 14651					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14652					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14653					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14654					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14655					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14656					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14657
 14658			001607		SN=SN+1
 14659			000100			ZZ=ZZ+ZZ
 14660						IFE	ZZ,<ZZ=1>
 14661	011643	200 00 0 00 041045 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14662	011644	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14663	011645	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14664						STOP^
 14665	011646	254 04 0 00 011647 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14666	011647	324 00 0 00 011650 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14667									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14668									;IN THE SUBTEST) TO LOOP ON ERROR^
 14669
 14670					;*****     FAILURE ANALYSIS     *****
 14671					;C(AC0)		C(AC1)		FAILING SIGNAL
 14672
 14673					;				ET0: COND P
 14674
 14675					;**********
 14676
 14677
 14678					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14679					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14680					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14681					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0363

 14682					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14683					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14684
 14685			001610		SN=SN+1
 14686			000200			ZZ=ZZ+ZZ
 14687						IFE	ZZ,<ZZ=1>
 14688	011650	200 00 0 00 041046 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14689	011651	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14690	011652	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14691						STOP^
 14692	011653	254 04 0 00 011654 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14693	011654	324 00 0 00 011655 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14694									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14695									;IN THE SUBTEST) TO LOOP ON ERROR^
 14696
 14697					;*****     FAILURE ANALYSIS     *****
 14698					;C(AC0)		C(AC1)		FAILING SIGNAL
 14699
 14700					;				ET0: COND P
 14701
 14702					;**********
 14703
 14704
 14705					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14706					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14707					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14708					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14709					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14710					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14711
 14712			001611		SN=SN+1
 14713			000400			ZZ=ZZ+ZZ
 14714						IFE	ZZ,<ZZ=1>
 14715	011655	200 00 0 00 041047 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14716	011656	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14717	011657	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14718						STOP^
 14719	011660	254 04 0 00 011661 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14720	011661	324 00 0 00 011662 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14721									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14722									;IN THE SUBTEST) TO LOOP ON ERROR^
 14723
 14724					;*****     FAILURE ANALYSIS     *****
 14725					;C(AC0)		C(AC1)		FAILING SIGNAL
 14726
 14727					;				ET0: COND P
 14728
 14729					;**********
 14730
 14731
 14732					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14733					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14734					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14735					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14736					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0364

 14737					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14738
 14739			001612		SN=SN+1
 14740			001000			ZZ=ZZ+ZZ
 14741						IFE	ZZ,<ZZ=1>
 14742	011662	200 00 0 00 041050 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14743	011663	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14744	011664	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14745						STOP^
 14746	011665	254 04 0 00 011666 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14747	011666	324 00 0 00 011667 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14748									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14749									;IN THE SUBTEST) TO LOOP ON ERROR^
 14750
 14751					;*****     FAILURE ANALYSIS     *****
 14752					;C(AC0)		C(AC1)		FAILING SIGNAL
 14753
 14754					;				ET0: COND P
 14755
 14756					;**********
 14757
 14758
 14759					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14760					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14761					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14762					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14763					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14764					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14765
 14766			001613		SN=SN+1
 14767			002000			ZZ=ZZ+ZZ
 14768						IFE	ZZ,<ZZ=1>
 14769	011667	200 00 0 00 041051 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14770	011670	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14771	011671	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14772						STOP^
 14773	011672	254 04 0 00 011673 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14774	011673	324 00 0 00 011674 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14775									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14776									;IN THE SUBTEST) TO LOOP ON ERROR^
 14777
 14778					;*****     FAILURE ANALYSIS     *****
 14779					;C(AC0)		C(AC1)		FAILING SIGNAL
 14780
 14781					;				ET0: COND P
 14782
 14783					;**********
 14784
 14785
 14786					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14787					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14788					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14789					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14790					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14791					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0365

 14792
 14793			001614		SN=SN+1
 14794			004000			ZZ=ZZ+ZZ
 14795						IFE	ZZ,<ZZ=1>
 14796	011674	200 00 0 00 041052 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14797	011675	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14798	011676	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14799						STOP^
 14800	011677	254 04 0 00 011700 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14801	011700	324 00 0 00 011701 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14802									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14803									;IN THE SUBTEST) TO LOOP ON ERROR^
 14804
 14805					;*****     FAILURE ANALYSIS     *****
 14806					;C(AC0)		C(AC1)		FAILING SIGNAL
 14807
 14808					;				ET0: COND P
 14809
 14810					;**********
 14811
 14812
 14813					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14814					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14815					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14816					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14817					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14818					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14819
 14820			001615		SN=SN+1
 14821			010000			ZZ=ZZ+ZZ
 14822						IFE	ZZ,<ZZ=1>
 14823	011701	200 00 0 00 041053 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14824	011702	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14825	011703	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14826						STOP^
 14827	011704	254 04 0 00 011705 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14828	011705	324 00 0 00 011706 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14829									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14830									;IN THE SUBTEST) TO LOOP ON ERROR^
 14831
 14832					;*****     FAILURE ANALYSIS     *****
 14833					;C(AC0)		C(AC1)		FAILING SIGNAL
 14834
 14835					;				ET0: COND P
 14836
 14837					;**********
 14838
 14839
 14840					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14841					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14842					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14843					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14844					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14845					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14846
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0366

 14847			001616		SN=SN+1
 14848			020000			ZZ=ZZ+ZZ
 14849						IFE	ZZ,<ZZ=1>
 14850	011706	200 00 0 00 041054 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14851	011707	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14852	011710	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14853						STOP^
 14854	011711	254 04 0 00 011712 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14855	011712	324 00 0 00 011713 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14856									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14857									;IN THE SUBTEST) TO LOOP ON ERROR^
 14858
 14859					;*****     FAILURE ANALYSIS     *****
 14860					;C(AC0)		C(AC1)		FAILING SIGNAL
 14861
 14862					;				ET0: COND P
 14863
 14864					;**********
 14865
 14866
 14867					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14868					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14869					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14870					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14871					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14872					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14873
 14874			001617		SN=SN+1
 14875			040000			ZZ=ZZ+ZZ
 14876						IFE	ZZ,<ZZ=1>
 14877	011713	200 00 0 00 041055 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14878	011714	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14879	011715	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14880						STOP^
 14881	011716	254 04 0 00 011717 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14882	011717	324 00 0 00 011720 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14883									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14884									;IN THE SUBTEST) TO LOOP ON ERROR^
 14885
 14886					;*****     FAILURE ANALYSIS     *****
 14887					;C(AC0)		C(AC1)		FAILING SIGNAL
 14888
 14889					;				ET0: COND P
 14890
 14891					;**********
 14892
 14893
 14894					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14895					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14896					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14897					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14898					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14899					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14900
 14901			001620		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-8
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0367

 14902			100000			ZZ=ZZ+ZZ
 14903						IFE	ZZ,<ZZ=1>
 14904	011720	200 00 0 00 041056 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14905	011721	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14906	011722	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14907						STOP^
 14908	011723	254 04 0 00 011724 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14909	011724	324 00 0 00 011725 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14910									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14911									;IN THE SUBTEST) TO LOOP ON ERROR^
 14912
 14913					;*****     FAILURE ANALYSIS     *****
 14914					;C(AC0)		C(AC1)		FAILING SIGNAL
 14915
 14916					;				ET0: COND P
 14917
 14918					;**********
 14919
 14920
 14921					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14922					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14923					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14924					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14925					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14926					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14927
 14928			001621		SN=SN+1
 14929			200000			ZZ=ZZ+ZZ
 14930						IFE	ZZ,<ZZ=1>
 14931	011725	200 00 0 00 041057 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14932	011726	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14933	011727	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14934						STOP^
 14935	011730	254 04 0 00 011731 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14936	011731	324 00 0 00 011732 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14937									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14938									;IN THE SUBTEST) TO LOOP ON ERROR^
 14939
 14940					;*****     FAILURE ANALYSIS     *****
 14941					;C(AC0)		C(AC1)		FAILING SIGNAL
 14942
 14943					;				ET0: COND P
 14944
 14945					;**********
 14946
 14947
 14948					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14949					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14950					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14951					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14952					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14953					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14954
 14955			001622		SN=SN+1
 14956			400000			ZZ=ZZ+ZZ
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 22-9
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0368

 14957						IFE	ZZ,<ZZ=1>
 14958	011732	200 00 0 00 041060 		MOVE	[XWD ZZ]	;PRELOAD AC,E WITH A FLOATING 1
 14959	011733	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14960	011734	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14961						STOP^
 14962	011735	254 04 0 00 011736 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 14963	011736	324 00 0 00 011737 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 14964									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 14965									;IN THE SUBTEST) TO LOOP ON ERROR^
 14966
 14967					;*****     FAILURE ANALYSIS     *****
 14968					;C(AC0)		C(AC1)		FAILING SIGNAL
 14969
 14970					;				ET0: COND P
 14971
 14972					;**********
 14973
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0369

 14974			000000			ZZ=0
 14975
 14976						REPEAT	^D18,<
 14977					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14978					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14979					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14980					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14981					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 14982					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 14983					
 14984					SN=SN+1
 14985						ZZ=ZZ+ZZ
 14986						IFE	ZZ,<ZZ=1>
 14987						MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 14988						CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 14989						CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 14990						STOP
 14991					
 14992					;**********
 14993					>
 14994
 14995					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 14996					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 14997					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 14998					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 14999					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15000					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15001
 15002			001623		SN=SN+1
 15003			000000			ZZ=ZZ+ZZ
 15004			000001			IFE	ZZ,<ZZ=1>
 15005	011737	200 00 0 00 041061 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15006	011740	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15007	011741	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15008						STOP^
 15009	011742	254 04 0 00 011743 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15010	011743	324 00 0 00 011744 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15011									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15012									;IN THE SUBTEST) TO LOOP ON ERROR^
 15013
 15014					;**********
 15015
 15016
 15017					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15018					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15019					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15020					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15021					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15022					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15023
 15024			001624		SN=SN+1
 15025			000002			ZZ=ZZ+ZZ
 15026						IFE	ZZ,<ZZ=1>
 15027	011744	200 00 0 00 041062 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15028	011745	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0370

 15029	011746	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15030						STOP^
 15031	011747	254 04 0 00 011750 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15032	011750	324 00 0 00 011751 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15033									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15034									;IN THE SUBTEST) TO LOOP ON ERROR^
 15035
 15036					;**********
 15037
 15038
 15039					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15040					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15041					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15042					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15043					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15044					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15045
 15046			001625		SN=SN+1
 15047			000004			ZZ=ZZ+ZZ
 15048						IFE	ZZ,<ZZ=1>
 15049	011751	200 00 0 00 041063 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15050	011752	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15051	011753	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15052						STOP^
 15053	011754	254 04 0 00 011755 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15054	011755	324 00 0 00 011756 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15055									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15056									;IN THE SUBTEST) TO LOOP ON ERROR^
 15057
 15058					;**********
 15059
 15060
 15061					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15062					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15063					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15064					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15065					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15066					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15067
 15068			001626		SN=SN+1
 15069			000010			ZZ=ZZ+ZZ
 15070						IFE	ZZ,<ZZ=1>
 15071	011756	200 00 0 00 041064 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15072	011757	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15073	011760	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15074						STOP^
 15075	011761	254 04 0 00 011762 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15076	011762	324 00 0 00 011763 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15077									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15078									;IN THE SUBTEST) TO LOOP ON ERROR^
 15079
 15080					;**********
 15081
 15082
 15083					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0371

 15084					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15085					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15086					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15087					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15088					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15089
 15090			001627		SN=SN+1
 15091			000020			ZZ=ZZ+ZZ
 15092						IFE	ZZ,<ZZ=1>
 15093	011763	200 00 0 00 041065 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15094	011764	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15095	011765	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15096						STOP^
 15097	011766	254 04 0 00 011767 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15098	011767	324 00 0 00 011770 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15099									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15100									;IN THE SUBTEST) TO LOOP ON ERROR^
 15101
 15102					;**********
 15103
 15104
 15105					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15106					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15107					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15108					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15109					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15110					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15111
 15112			001630		SN=SN+1
 15113			000040			ZZ=ZZ+ZZ
 15114						IFE	ZZ,<ZZ=1>
 15115	011770	200 00 0 00 041066 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15116	011771	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15117	011772	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15118						STOP^
 15119	011773	254 04 0 00 011774 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15120	011774	324 00 0 00 011775 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15121									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15122									;IN THE SUBTEST) TO LOOP ON ERROR^
 15123
 15124					;**********
 15125
 15126
 15127					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15128					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15129					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15130					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15131					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15132					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15133
 15134			001631		SN=SN+1
 15135			000100			ZZ=ZZ+ZZ
 15136						IFE	ZZ,<ZZ=1>
 15137	011775	200 00 0 00 041067 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15138	011776	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0372

 15139	011777	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15140						STOP^
 15141	012000	254 04 0 00 012001 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15142	012001	324 00 0 00 012002 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15143									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15144									;IN THE SUBTEST) TO LOOP ON ERROR^
 15145
 15146					;**********
 15147
 15148
 15149					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15150					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15151					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15152					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15153					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15154					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15155
 15156			001632		SN=SN+1
 15157			000200			ZZ=ZZ+ZZ
 15158						IFE	ZZ,<ZZ=1>
 15159	012002	200 00 0 00 041070 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15160	012003	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15161	012004	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15162						STOP^
 15163	012005	254 04 0 00 012006 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15164	012006	324 00 0 00 012007 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15165									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15166									;IN THE SUBTEST) TO LOOP ON ERROR^
 15167
 15168					;**********
 15169
 15170
 15171					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15172					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15173					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15174					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15175					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15176					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15177
 15178			001633		SN=SN+1
 15179			000400			ZZ=ZZ+ZZ
 15180						IFE	ZZ,<ZZ=1>
 15181	012007	200 00 0 00 041036 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15182	012010	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15183	012011	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15184						STOP^
 15185	012012	254 04 0 00 012013 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15186	012013	324 00 0 00 012014 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15187									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15188									;IN THE SUBTEST) TO LOOP ON ERROR^
 15189
 15190					;**********
 15191
 15192
 15193					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0373

 15194					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15195					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15196					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15197					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15198					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15199
 15200			001634		SN=SN+1
 15201			001000			ZZ=ZZ+ZZ
 15202						IFE	ZZ,<ZZ=1>
 15203	012014	200 00 0 00 041071 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15204	012015	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15205	012016	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15206						STOP^
 15207	012017	254 04 0 00 012020 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15208	012020	324 00 0 00 012021 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15209									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15210									;IN THE SUBTEST) TO LOOP ON ERROR^
 15211
 15212					;**********
 15213
 15214
 15215					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15216					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15217					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15218					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15219					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15220					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15221
 15222			001635		SN=SN+1
 15223			002000			ZZ=ZZ+ZZ
 15224						IFE	ZZ,<ZZ=1>
 15225	012021	200 00 0 00 041072 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15226	012022	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15227	012023	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15228						STOP^
 15229	012024	254 04 0 00 012025 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15230	012025	324 00 0 00 012026 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15231									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15232									;IN THE SUBTEST) TO LOOP ON ERROR^
 15233
 15234					;**********
 15235
 15236
 15237					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15238					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15239					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15240					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15241					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15242					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15243
 15244			001636		SN=SN+1
 15245			004000			ZZ=ZZ+ZZ
 15246						IFE	ZZ,<ZZ=1>
 15247	012026	200 00 0 00 041073 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15248	012027	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0374

 15249	012030	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15250						STOP^
 15251	012031	254 04 0 00 012032 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15252	012032	324 00 0 00 012033 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15253									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15254									;IN THE SUBTEST) TO LOOP ON ERROR^
 15255
 15256					;**********
 15257
 15258
 15259					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15260					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15261					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15262					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15263					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15264					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15265
 15266			001637		SN=SN+1
 15267			010000			ZZ=ZZ+ZZ
 15268						IFE	ZZ,<ZZ=1>
 15269	012033	200 00 0 00 041074 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15270	012034	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15271	012035	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15272						STOP^
 15273	012036	254 04 0 00 012037 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15274	012037	324 00 0 00 012040 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15275									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15276									;IN THE SUBTEST) TO LOOP ON ERROR^
 15277
 15278					;**********
 15279
 15280
 15281					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15282					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15283					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15284					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15285					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15286					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15287
 15288			001640		SN=SN+1
 15289			020000			ZZ=ZZ+ZZ
 15290						IFE	ZZ,<ZZ=1>
 15291	012040	200 00 0 00 041075 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15292	012041	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15293	012042	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15294						STOP^
 15295	012043	254 04 0 00 012044 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15296	012044	324 00 0 00 012045 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15297									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15298									;IN THE SUBTEST) TO LOOP ON ERROR^
 15299
 15300					;**********
 15301
 15302
 15303					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0375

 15304					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15305					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15306					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15307					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15308					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15309
 15310			001641		SN=SN+1
 15311			040000			ZZ=ZZ+ZZ
 15312						IFE	ZZ,<ZZ=1>
 15313	012045	200 00 0 00 041076 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15314	012046	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15315	012047	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15316						STOP^
 15317	012050	254 04 0 00 012051 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15318	012051	324 00 0 00 012052 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15319									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15320									;IN THE SUBTEST) TO LOOP ON ERROR^
 15321
 15322					;**********
 15323
 15324
 15325					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15326					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15327					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15328					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15329					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15330					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15331
 15332			001642		SN=SN+1
 15333			100000			ZZ=ZZ+ZZ
 15334						IFE	ZZ,<ZZ=1>
 15335	012052	200 00 0 00 041077 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15336	012053	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15337	012054	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15338						STOP^
 15339	012055	254 04 0 00 012056 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15340	012056	324 00 0 00 012057 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15341									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15342									;IN THE SUBTEST) TO LOOP ON ERROR^
 15343
 15344					;**********
 15345
 15346
 15347					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15348					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15349					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15350					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15351					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15352					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15353
 15354			001643		SN=SN+1
 15355			200000			ZZ=ZZ+ZZ
 15356						IFE	ZZ,<ZZ=1>
 15357	012057	200 00 0 00 041100 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15358	012060	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 23-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0376

 15359	012061	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15360						STOP^
 15361	012062	254 04 0 00 012063 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15362	012063	324 00 0 00 012064 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15363									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15364									;IN THE SUBTEST) TO LOOP ON ERROR^
 15365
 15366					;**********
 15367
 15368
 15369					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY
 15370					;WHEN C(AC) IS NOT EQUAL TO C(E).  IT ALSO VERIFIES THAT CAME
 15371					;SKIPS THE NEXT SEQUENTIAL INSTRUCTION WHEN AND ONLY WHEN
 15372					;C(AC)=C(E).  IN BOTH CASES AC=E;  HENCE, C(AC)=C(E)
 15373					;IF EITHER CAMN OR CAME FAILS, THE PROGRAM HALTS
 15374					;THIS TEST IS REPEATED 36 TIMES IN ORDER TO FLOAT A 1 THRU ALL 36 BITS
 15375
 15376			001644		SN=SN+1
 15377			400000			ZZ=ZZ+ZZ
 15378						IFE	ZZ,<ZZ=1>
 15379	012064	200 00 0 00 041030 		MOVE	[XWD ZZ,0]	;PRELOAD AC,E WITH A FLOATING 1
 15380	012065	316 00 0 00 000000 		CAMN			;*CAMN SHOLD NOT SKIP BECAUSE C(AC)=C(E)		
 15381	012066	312 00 0 00 000000 		CAME			;*CAME SHOULD SKIP BECAUSE C(AC)=C(E)		
 15382						STOP^
 15383	012067	254 04 0 00 012070 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15384	012070	324 00 0 00 012071 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15385									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15386									;IN THE SUBTEST) TO LOOP ON ERROR^
 15387
 15388					;**********
 15389
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0377

 15390			001700		SN=1700
 15391			000000			ZZ=0
 15392
 15393					B1700:	REPEAT	^D36,<
 15394					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15395					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15396					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15397					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15398					SN=SN+1
 15399						ZZ=ZZ+ZZ
 15400						IFE	ZZ,<ZZ=1>
 15401						SETZ			;PRELOAD AC WITH 0
 15402						CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15403						STOP		
 15404					
 15405					;**********
 15406					>
 15407
 15408					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15409					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15410					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15411					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15412			001701		SN=SN+1
 15413			000000			ZZ=ZZ+ZZ
 15414			000001			IFE	ZZ,<ZZ=1>
 15415	012071	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15416	012072	316 00 0 00 041037 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15417						STOP		^
 15418	012073	254 04 0 00 012074 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15419	012074	324 00 0 00 012075 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15420									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15421									;IN THE SUBTEST) TO LOOP ON ERROR^
 15422
 15423					;**********
 15424
 15425
 15426					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15427					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15428					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15429					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15430			001702		SN=SN+1
 15431			000002			ZZ=ZZ+ZZ
 15432						IFE	ZZ,<ZZ=1>
 15433	012075	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15434	012076	316 00 0 00 041040 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15435						STOP		^
 15436	012077	254 04 0 00 012100 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15437	012100	324 00 0 00 012101 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15438									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15439									;IN THE SUBTEST) TO LOOP ON ERROR^
 15440
 15441					;**********
 15442
 15443
 15444					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-1
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0378

 15445					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15446					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15447					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15448			001703		SN=SN+1
 15449			000004			ZZ=ZZ+ZZ
 15450						IFE	ZZ,<ZZ=1>
 15451	012101	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15452	012102	316 00 0 00 041041 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15453						STOP		^
 15454	012103	254 04 0 00 012104 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15455	012104	324 00 0 00 012105 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15456									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15457									;IN THE SUBTEST) TO LOOP ON ERROR^
 15458
 15459					;**********
 15460
 15461
 15462					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15463					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15464					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15465					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15466			001704		SN=SN+1
 15467			000010			ZZ=ZZ+ZZ
 15468						IFE	ZZ,<ZZ=1>
 15469	012105	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15470	012106	316 00 0 00 041042 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15471						STOP		^
 15472	012107	254 04 0 00 012110 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15473	012110	324 00 0 00 012111 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15474									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15475									;IN THE SUBTEST) TO LOOP ON ERROR^
 15476
 15477					;**********
 15478
 15479
 15480					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15481					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15482					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15483					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15484			001705		SN=SN+1
 15485			000020			ZZ=ZZ+ZZ
 15486						IFE	ZZ,<ZZ=1>
 15487	012111	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15488	012112	316 00 0 00 041043 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15489						STOP		^
 15490	012113	254 04 0 00 012114 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15491	012114	324 00 0 00 012115 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15492									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15493									;IN THE SUBTEST) TO LOOP ON ERROR^
 15494
 15495					;**********
 15496
 15497
 15498					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15499					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-2
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0379

 15500					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15501					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15502			001706		SN=SN+1
 15503			000040			ZZ=ZZ+ZZ
 15504						IFE	ZZ,<ZZ=1>
 15505	012115	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15506	012116	316 00 0 00 041044 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15507						STOP		^
 15508	012117	254 04 0 00 012120 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15509	012120	324 00 0 00 012121 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15510									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15511									;IN THE SUBTEST) TO LOOP ON ERROR^
 15512
 15513					;**********
 15514
 15515
 15516					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15517					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15518					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15519					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15520			001707		SN=SN+1
 15521			000100			ZZ=ZZ+ZZ
 15522						IFE	ZZ,<ZZ=1>
 15523	012121	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15524	012122	316 00 0 00 041045 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15525						STOP		^
 15526	012123	254 04 0 00 012124 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15527	012124	324 00 0 00 012125 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15528									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15529									;IN THE SUBTEST) TO LOOP ON ERROR^
 15530
 15531					;**********
 15532
 15533
 15534					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15535					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15536					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15537					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15538			001710		SN=SN+1
 15539			000200			ZZ=ZZ+ZZ
 15540						IFE	ZZ,<ZZ=1>
 15541	012125	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15542	012126	316 00 0 00 041046 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15543						STOP		^
 15544	012127	254 04 0 00 012130 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15545	012130	324 00 0 00 012131 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15546									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15547									;IN THE SUBTEST) TO LOOP ON ERROR^
 15548
 15549					;**********
 15550
 15551
 15552					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15553					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15554					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-3
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0380

 15555					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15556			001711		SN=SN+1
 15557			000400			ZZ=ZZ+ZZ
 15558						IFE	ZZ,<ZZ=1>
 15559	012131	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15560	012132	316 00 0 00 041047 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15561						STOP		^
 15562	012133	254 04 0 00 012134 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15563	012134	324 00 0 00 012135 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15564									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15565									;IN THE SUBTEST) TO LOOP ON ERROR^
 15566
 15567					;**********
 15568
 15569
 15570					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15571					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15572					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15573					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15574			001712		SN=SN+1
 15575			001000			ZZ=ZZ+ZZ
 15576						IFE	ZZ,<ZZ=1>
 15577	012135	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15578	012136	316 00 0 00 041050 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15579						STOP		^
 15580	012137	254 04 0 00 012140 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15581	012140	324 00 0 00 012141 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15582									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15583									;IN THE SUBTEST) TO LOOP ON ERROR^
 15584
 15585					;**********
 15586
 15587
 15588					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15589					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15590					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15591					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15592			001713		SN=SN+1
 15593			002000			ZZ=ZZ+ZZ
 15594						IFE	ZZ,<ZZ=1>
 15595	012141	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15596	012142	316 00 0 00 041051 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15597						STOP		^
 15598	012143	254 04 0 00 012144 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15599	012144	324 00 0 00 012145 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15600									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15601									;IN THE SUBTEST) TO LOOP ON ERROR^
 15602
 15603					;**********
 15604
 15605
 15606					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15607					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15608					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15609					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-4
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0381

 15610			001714		SN=SN+1
 15611			004000			ZZ=ZZ+ZZ
 15612						IFE	ZZ,<ZZ=1>
 15613	012145	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15614	012146	316 00 0 00 041052 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15615						STOP		^
 15616	012147	254 04 0 00 012150 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15617	012150	324 00 0 00 012151 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15618									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15619									;IN THE SUBTEST) TO LOOP ON ERROR^
 15620
 15621					;**********
 15622
 15623
 15624					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15625					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15626					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15627					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15628			001715		SN=SN+1
 15629			010000			ZZ=ZZ+ZZ
 15630						IFE	ZZ,<ZZ=1>
 15631	012151	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15632	012152	316 00 0 00 041053 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15633						STOP		^
 15634	012153	254 04 0 00 012154 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15635	012154	324 00 0 00 012155 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15636									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15637									;IN THE SUBTEST) TO LOOP ON ERROR^
 15638
 15639					;**********
 15640
 15641
 15642					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15643					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15644					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15645					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15646			001716		SN=SN+1
 15647			020000			ZZ=ZZ+ZZ
 15648						IFE	ZZ,<ZZ=1>
 15649	012155	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15650	012156	316 00 0 00 041054 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15651						STOP		^
 15652	012157	254 04 0 00 012160 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15653	012160	324 00 0 00 012161 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15654									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15655									;IN THE SUBTEST) TO LOOP ON ERROR^
 15656
 15657					;**********
 15658
 15659
 15660					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15661					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15662					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15663					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15664			001717		SN=SN+1
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-5
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0382

 15665			040000			ZZ=ZZ+ZZ
 15666						IFE	ZZ,<ZZ=1>
 15667	012161	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15668	012162	316 00 0 00 041055 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15669						STOP		^
 15670	012163	254 04 0 00 012164 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15671	012164	324 00 0 00 012165 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15672									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15673									;IN THE SUBTEST) TO LOOP ON ERROR^
 15674
 15675					;**********
 15676
 15677
 15678					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15679					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15680					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15681					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15682			001720		SN=SN+1
 15683			100000			ZZ=ZZ+ZZ
 15684						IFE	ZZ,<ZZ=1>
 15685	012165	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15686	012166	316 00 0 00 041056 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15687						STOP		^
 15688	012167	254 04 0 00 012170 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15689	012170	324 00 0 00 012171 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15690									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15691									;IN THE SUBTEST) TO LOOP ON ERROR^
 15692
 15693					;**********
 15694
 15695
 15696					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15697					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15698					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15699					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15700			001721		SN=SN+1
 15701			200000			ZZ=ZZ+ZZ
 15702						IFE	ZZ,<ZZ=1>
 15703	012171	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15704	012172	316 00 0 00 041057 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15705						STOP		^
 15706	012173	254 04 0 00 012174 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15707	012174	324 00 0 00 012175 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15708									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15709									;IN THE SUBTEST) TO LOOP ON ERROR^
 15710
 15711					;**********
 15712
 15713
 15714					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15715					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15716					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15717					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15718			001722		SN=SN+1
 15719			400000			ZZ=ZZ+ZZ
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-6
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0383

 15720						IFE	ZZ,<ZZ=1>
 15721	012175	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15722	012176	316 00 0 00 041060 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15723						STOP		^
 15724	012177	254 04 0 00 012200 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15725	012200	324 00 0 00 012201 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15726									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15727									;IN THE SUBTEST) TO LOOP ON ERROR^
 15728
 15729					;**********
 15730
 15731
 15732					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15733					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15734					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15735					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15736			001723		SN=SN+1
 15737		000001	000000			ZZ=ZZ+ZZ
 15738						IFE	ZZ,<ZZ=1>
 15739	012201	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15740	012202	316 00 0 00 041061 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15741						STOP		^
 15742	012203	254 04 0 00 012204 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15743	012204	324 00 0 00 012205 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15744									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15745									;IN THE SUBTEST) TO LOOP ON ERROR^
 15746
 15747					;**********
 15748
 15749
 15750					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15751					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15752					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15753					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15754			001724		SN=SN+1
 15755		000002	000000			ZZ=ZZ+ZZ
 15756						IFE	ZZ,<ZZ=1>
 15757	012205	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15758	012206	316 00 0 00 041062 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15759						STOP		^
 15760	012207	254 04 0 00 012210 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15761	012210	324 00 0 00 012211 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15762									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15763									;IN THE SUBTEST) TO LOOP ON ERROR^
 15764
 15765					;**********
 15766
 15767
 15768					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15769					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15770					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15771					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15772			001725		SN=SN+1
 15773		000004	000000			ZZ=ZZ+ZZ
 15774						IFE	ZZ,<ZZ=1>
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-7
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0384

 15775	012211	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15776	012212	316 00 0 00 041063 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15777						STOP		^
 15778	012213	254 04 0 00 012214 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15779	012214	324 00 0 00 012215 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15780									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15781									;IN THE SUBTEST) TO LOOP ON ERROR^
 15782
 15783					;**********
 15784
 15785
 15786					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15787					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15788					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15789					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15790			001726		SN=SN+1
 15791		000010	000000			ZZ=ZZ+ZZ
 15792						IFE	ZZ,<ZZ=1>
 15793	012215	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15794	012216	316 00 0 00 041064 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15795						STOP		^
 15796	012217	254 04 0 00 012220 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15797	012220	324 00 0 00 012221 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15798									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15799									;IN THE SUBTEST) TO LOOP ON ERROR^
 15800
 15801					;**********
 15802
 15803
 15804					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15805					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15806					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15807					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15808			001727		SN=SN+1
 15809		000020	000000			ZZ=ZZ+ZZ
 15810						IFE	ZZ,<ZZ=1>
 15811	012221	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15812	012222	316 00 0 00 041065 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15813						STOP		^
 15814	012223	254 04 0 00 012224 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15815	012224	324 00 0 00 012225 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15816									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15817									;IN THE SUBTEST) TO LOOP ON ERROR^
 15818
 15819					;**********
 15820
 15821
 15822					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15823					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15824					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15825					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15826			001730		SN=SN+1
 15827		000040	000000			ZZ=ZZ+ZZ
 15828						IFE	ZZ,<ZZ=1>
 15829	012225	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-8
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0385

 15830	012226	316 00 0 00 041066 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15831						STOP		^
 15832	012227	254 04 0 00 012230 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15833	012230	324 00 0 00 012231 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15834									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15835									;IN THE SUBTEST) TO LOOP ON ERROR^
 15836
 15837					;**********
 15838
 15839
 15840					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15841					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15842					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15843					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15844			001731		SN=SN+1
 15845		000100	000000			ZZ=ZZ+ZZ
 15846						IFE	ZZ,<ZZ=1>
 15847	012231	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15848	012232	316 00 0 00 041067 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15849						STOP		^
 15850	012233	254 04 0 00 012234 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15851	012234	324 00 0 00 012235 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15852									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15853									;IN THE SUBTEST) TO LOOP ON ERROR^
 15854
 15855					;**********
 15856
 15857
 15858					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15859					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15860					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15861					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15862			001732		SN=SN+1
 15863		000200	000000			ZZ=ZZ+ZZ
 15864						IFE	ZZ,<ZZ=1>
 15865	012235	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15866	012236	316 00 0 00 041070 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15867						STOP		^
 15868	012237	254 04 0 00 012240 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15869	012240	324 00 0 00 012241 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15870									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15871									;IN THE SUBTEST) TO LOOP ON ERROR^
 15872
 15873					;**********
 15874
 15875
 15876					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15877					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15878					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15879					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15880			001733		SN=SN+1
 15881		000400	000000			ZZ=ZZ+ZZ
 15882						IFE	ZZ,<ZZ=1>
 15883	012241	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15884	012242	316 00 0 00 041036 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-9
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0386

 15885						STOP		^
 15886	012243	254 04 0 00 012244 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15887	012244	324 00 0 00 012245 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15888									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15889									;IN THE SUBTEST) TO LOOP ON ERROR^
 15890
 15891					;**********
 15892
 15893
 15894					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15895					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15896					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15897					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15898			001734		SN=SN+1
 15899		001000	000000			ZZ=ZZ+ZZ
 15900						IFE	ZZ,<ZZ=1>
 15901	012245	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15902	012246	316 00 0 00 041071 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15903						STOP		^
 15904	012247	254 04 0 00 012250 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15905	012250	324 00 0 00 012251 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15906									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15907									;IN THE SUBTEST) TO LOOP ON ERROR^
 15908
 15909					;**********
 15910
 15911
 15912					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15913					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15914					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15915					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15916			001735		SN=SN+1
 15917		002000	000000			ZZ=ZZ+ZZ
 15918						IFE	ZZ,<ZZ=1>
 15919	012251	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15920	012252	316 00 0 00 041072 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15921						STOP		^
 15922	012253	254 04 0 00 012254 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15923	012254	324 00 0 00 012255 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15924									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15925									;IN THE SUBTEST) TO LOOP ON ERROR^
 15926
 15927					;**********
 15928
 15929
 15930					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15931					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15932					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15933					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15934			001736		SN=SN+1
 15935		004000	000000			ZZ=ZZ+ZZ
 15936						IFE	ZZ,<ZZ=1>
 15937	012255	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15938	012256	316 00 0 00 041073 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15939						STOP		^
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-10
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0387

 15940	012257	254 04 0 00 012260 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15941	012260	324 00 0 00 012261 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15942									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15943									;IN THE SUBTEST) TO LOOP ON ERROR^
 15944
 15945					;**********
 15946
 15947
 15948					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15949					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15950					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15951					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15952			001737		SN=SN+1
 15953		010000	000000			ZZ=ZZ+ZZ
 15954						IFE	ZZ,<ZZ=1>
 15955	012261	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15956	012262	316 00 0 00 041074 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15957						STOP		^
 15958	012263	254 04 0 00 012264 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15959	012264	324 00 0 00 012265 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15960									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15961									;IN THE SUBTEST) TO LOOP ON ERROR^
 15962
 15963					;**********
 15964
 15965
 15966					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15967					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15968					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15969					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15970			001740		SN=SN+1
 15971		020000	000000			ZZ=ZZ+ZZ
 15972						IFE	ZZ,<ZZ=1>
 15973	012265	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15974	012266	316 00 0 00 041075 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15975						STOP		^
 15976	012267	254 04 0 00 012270 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 15977	012270	324 00 0 00 012271 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15978									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15979									;IN THE SUBTEST) TO LOOP ON ERROR^
 15980
 15981					;**********
 15982
 15983
 15984					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 15985					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 15986					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 15987					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 15988			001741		SN=SN+1
 15989		040000	000000			ZZ=ZZ+ZZ
 15990						IFE	ZZ,<ZZ=1>
 15991	012271	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 15992	012272	316 00 0 00 041076 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 15993						STOP		^
 15994	012273	254 04 0 00 012274 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
SMBC2 DECSYSTEM-2020 BOOT CHECK 2 DIAGNOSTIC (1) 0,1	MACRO %53(1020) 09:17  1-Dec-78 Page 24-11
SMBC2B	MAC	29-Nov-78 12:07		TEST OF COMPARE (CAMX) INSTRUCTIONS                                                SEQ 0388

 15995	012274	324 00 0 00 012275 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 15996									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 15997									;IN THE SUBTEST) TO LOOP ON ERROR^
 15998
 15999					;**********
 16000
 16001
 16002					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 16003					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 16004					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 16005					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 16006			001742		SN=SN+1
 16007		100000	000000			ZZ=ZZ+ZZ
 16008						IFE	ZZ,<ZZ=1>
 16009	012275	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 16010	012276	316 00 0 00 041077 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 16011						STOP		^
 16012	012277	254 04 0 00 012300 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 16013	012300	324 00 0 00 012301 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 16014									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 16015									;IN THE SUBTEST) TO LOOP ON ERROR^
 16016
 16017					;**********
 16018
 16019
 16020					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 16021					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 16022					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 16023					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 16024			001743		SN=SN+1
 16025		200000	000000			ZZ=ZZ+ZZ
 16026						IFE	ZZ,<ZZ=1>
 16027	012301	400 00 0 00 000000 		SETZ			;PRELOAD AC WITH 0
 16028	012302	316 00 0 00 041100 		CAMN	[ZZ]		;*CAMN SHOULD SKIP BECAUSE C(AC) IS NOT EQUAL TO C(E)	
 16029						STOP		^
 16030	012303	254 04 0 00 012304 		HALT	.+1		;TEST FAILED IF PROGRAM HALTS HERE
 16031	012304	324 00 0 00 012305 		JUMPA	.+1		;IF TEST FAILS, CHANGE THIS INSTRUCTION (JUMPA .+1) TO
 16032									;JUMPA X (X IS THE ADDRESS OF THE FIRST INSTRUCTION
 16033									;IN THE SUBTEST) TO LOOP ON ERROR^
 16034
 16035					;**********
 16036
 16037
 16038					;THIS TEST VERIFIES THAT CAMN SKIPS THE NEXT INSTRUCTION WHEN AND
 16039					;ONLY WHEN C(AC)=0 AND C(E)=FLOATING 1.  HENCE,
 16040					;CAMN SHOULD SKIP;  OTHERWISE, THE PROGRAM HALTS
 16041					;THIS TEST IS REPEATED 36 TIMES TO FLOAT A 1 THRU ALL 36 BITS OF E
 16