/ 
/ 
/                   FIRST PRINTING, FEBRUARY 1974
/ 
/ 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 RESPON-
/ SIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS
/ DOCUMENT.
/ 
/ THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FUR-
/ NISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON
/ A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH
/ INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR 
/ USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PRO-
/ VIDED IN WRITING BY DIGITAL.
/ 
/ DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/ FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIP-
/ MENT THAT IS NOT SUPPLIED BY DIGITAL.
/ 
/ COPYRIGHT (C) 1974, BY DIGITAL EQUIPMENT CORPORATION
/ 
/ 
        .EJECT
/ EDIT #13
/
/ COPYRIGHT 1971,1972 DIGITAL EQUIPMENT CORP., MAYNARD, MASS.
/
/ REGISTER INTEGRITY TEST       4 MAY 72       H. KREJCI
/
	.GLOBL	LOG
/
LUN=3
LACQ=641002
LACS=641001
LMQ=652000
NORM=640444
UNDLD=713170
UNSWQ=715270
EST=713700
SJE=715600
LJE=715400
ELQ=715100
UNDST=713770
.INH=705522
.ENB=705521
/
X10=10
X11=11
X12=12
X13=13
X14=14
X15=15
X16=16
X17=17
L20=20
SS=163
MM=164
HH=165
R1=101
R2=102
R3=103
R4=104
R5=105
R6=106
FPHDWE=236
/
	.DEFIN	ERX,N
	SAD	(N)
	SKP
	JMS	ERR
	.ENDM
/
	.DEC
N1	-40	/(3 MIN RUN)
N2	-20000
C1	0
C2	0
	.OCT
/
START	JMS*	LOG	/LOG ON
	.ASCII	"BEGIN REGISTER TEST"<15>
/
	STL		/SET LINK
	LAW	-200	/SET SC (TO 46)
	NORM
	LAC	(1)	/SET R1 THRU R6
	DAC*	(R1)
	LAC	(2)
	DAC*	(R2)
	LAC	(3)
	DAC*	(R3)
	LAC	(4)
	DAC*	(R4)
	LAC	(5)
	DAC*	(R5)
	LAC	(6)
	DAC*	(R6)
	LAC	(10)	/SET AUTO INCREMENT REGS
	DAC	TEMP1
	LAC	TEMP1
	DAC*	TEMP1
	ISZ	TEMP1
	SAD	(X17)
	SKP
	JMP	.-5
/
	XCT* (FPHDWE)
	JMP NOFPP1
/RESTORE FPP REGISTERS PER BUFFER TR1
	ELQ
	TR1+0
	LJE
	TR1+2
	UNDLD
	TR1+3
NOFPP1	LAC	(20)	/SETUP L20
	DAC*	(L20)
	LAC	(100)	/SET XR
	PAX
	LAC	(200)	/SET LR
	PAL
	LAC	(300)	/SET MQ
	LMQ
/
	LAC	N1	/RESET C1
	DAC	C1
/
L2	LAC	N2	/RESET C2
	DAC	C2
/
L1	LAC*	(R1)	/CHECK R1 THRU R6
	ERX	1
	LAC*	(R2)
	ERX	2
	LAC*	(R3)
	ERX	3
	LAC*	(R4)
	ERX	4
	LAC*	(R5)
	ERX	5
	LAC*	(R6)
	ERX	6
	LAC*	(X10)	/CHECK AUTO INCREMENT REGS
	ERX	10
	LAC*	(X11)
	ERX	11
	LAC*	(X12)
	ERX	12
	LAC*	(X13)
	ERX	13
	LAC* (X14)
	ERX	14
	LAC* (X15)
	ERX 15
	LAC* (X16)
	ERX 16
	LAC* (X17)
	ERX 17
	XCT* (FPHDWE)
	JMP NOFPP2
/SAVE REGISTERS IN TR2 BUFFER
	JMS SAVEFP
	LAC TR2+0
	ERX 101
	LAC TR2+1
	ERX 202
	LAC TR2+2
	ERX TESTTP
	LAC TR2+3
	ERX 404
	LAC TR2+4
	ERX 505
	LAC TR2+5
	ERX 606
NOFPP2	LAC*	(L20)	/CHECK L20
	ERX	20
	PXA		/CHECK XR
	ERX	100
	PLA		/CHECK LR
	ERX	200
 	LACQ		/CHECK MQ
	ERX	300
	LACS		/CHECK SC
	ERX	46
	CLA		/CHECK LINK
	RAR
	STL
	ERX	400000
	ISZ	C2
	JMP	L1
	ISZ	C1
	JMP	L2
	JMS*	LOG	/LOG OFF
	.ASCII	"END REGISTER TEST"<15>
	CAL	(10)	/EXIT
/
/ AN ERROR HAS BEEN DETECTED -- OUTPUT CONTENTS OF AC & EXPECTED VALUE
/
ERR	0
	DAC	TEMP1
	LAC	ERR
	AND	(077777)
	AAC	-3
	DAC	TEMP2
	LAC*	TEMP2
	XOR	(740000)	/CHANGE SAD TO LAC
	DAC	.+1
	XX
	DAC	TEMP2
	CAL	ATTCPB
	JMS*	LOG
	.ASCII	"REGISTER VIOLATION ___________________________"<15>
	LAC	(101)	/SET "A" FOR AC
	DAC	OCTIND
	LAC	TEMP1
	JMS	OCTOUT
	LAC	(103)	/SET "C" FOR CORE
	DAC	OCTIND
	LAC	TEMP2
	JMS	OCTOUT
	CAL	WFCPB
	CAL	DETCPB
	CAL	(10)	/EXIT
/
OCTOUT	0
	LMQ
	LAC	(OCTBF-1)
	DAC*	(X10)
	LAW	-6
	DAC	TEMP1
/
OCTOT1	LLS	3
	AND	(07)
	XOR	(60)
	DAC*	X10
	ISZ	TEMP1
	JMP	OCTOT1
/
	CAL	OCTCPB
	CAL	WFCPB
	JMP*	OCTOUT
/SAVE CODE FOR FPP
SAVEFP	0
	UNDST
	TR2+3
	UNSWQ
	0
	EST
	TR2+0
	SJE
	TR2+2
	UNSWQ
	0
	JMP* SAVEFP
/
/
TR1	101
	202
	TESTTP
	404
	505
	606
TR2	.BLOCK 6
TESTTP	0
	HLT
	0
	HLT
	0
	HLT
	0
	HLT
/
OCTMES	007003
	000000
	040
	040
OCTBF	.BLOCK 6
	040
OCTIND	XX
	015
	012
/
ATTCPB	2400
	0
	LUN
/
OCTCPB	2700
	EV
	LUN
	3
	OCTMES
/
WFCPB	20
	EV
/
DETCPB	2500
	0
	LUN
/
EV	0
TEMP1	0
TEMP2	0
/
	.END	START
