Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dbkcam.mac
There are no other files named dbkcam.mac in the archive.
SUBTTL	DIAGNOSTIC SECTION
;	GENERAL DESCRIPTION
;PART   IA  -FSC AND NORMALIZE RETURN
;PART   IB  -FAD AND NORMALIZE RETURN
;PART   IC  -FAD LONG,NORMALIZE RETURN AND ROUND
;PART   ID  -FSB AND UFA
;PART   IE  -GEN TEST FSC,FAD,FADR,FSB,FSBR AND UFA

RENTR1:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
	CALL	[SIXBIT .EXIT.]

PGMNAM:	ASCIZ?
PDP-10 KI10 ADVANCED INSTRUCTION DIAGNOSTIC #1 (DBKCA)
(FSC, FLOATING ADD/SUB, UFA)
?
;INITIALIZE SUBROUTINES

START:	PGMINT
	MOVE	[ASCIZ/CA/]
	MOVEM	TLET		;INITIALIZE TEST LETTER

STARTA:	JRST	CA00		;GO PERFORM DIAGNOSTIC
SUBTTL	PART I.A - FSC AND NORMALIZE RETURN

;PART I.A - FSC AND NORMALIZE RETURN
;FAILURE RESULTS IN A LOSS
;OF EXPONENT
;AC=570400000000
;SCALE=7
;FINAL AC=777400000000

CA00:	LALL

	AC=13
	SAVEAC	(1,1)

O12300:	MOVSI	AC-2,777400	;SETUP FOR COMPARISON
	MOVSI	AC,570400	;SETUP AC
	FSC	AC,7		;RESCALE
	CAMN	AC,AC-2		;TEST AC=777400000000
	ER3	AC,12301
	JUMPL	AC+2,O12300	;LOOP ON ERROR SWITCH

;AC=000400000000
;SCALE=0
;FAILURE RESULTS IN AN EXPONENT
;EQUAL TO 376

	AC=12
	SAVEAC	(1,1)

O12400:	MOVSI	AC-2,376400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=376
	ER3	AC,12401	;SCAD SC COMP SETUP FAILED
	JUMPL	AC+2,O12400	;LOOP ON ERROR SWITCH
;AC=175400000000
;SCALE=0
;FAILURE RESULTS IN AN EXPONENT
;EQUAL TO 002

	AC=11
	SAVEAC	(1,1)

O12500:	MOVSI	AC-2,177400	;SETUP FOR COMPARISON
	MOVSI	AC,175400	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=177
	ER3	AC,12501
	JUMPL	AC+2,O12500	;LOOP ON ERROR SWITCH

;AC=000400000000
;SCALE=0
;FAILURE OF 1, 2, OR 3 RESULTS IN AN
;EXPONENT EQUAL TO 377

	AC=10
	SAVEAC	(1,1)

O12600:	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=377
	ER3	AC,12601
	JUMPL	AC+2,O12600	;LOOP ON ERROR SWITCH
;AC=000400000000
;SCALE=177
;FAILURE RESULTS IN AN
;EXPONENT=0

	AC=7
	SAVEAC	(1,1)

O12700:	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,177		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=0
	ER3	AC,12701
	JUMPL	AC+2,O12700	;LOOP ON ERROR SWITCH
PAGE
;AC=000400000000
;SCALE=201,202,204,210,220,240,300
;FAILURE OF A BIT TO SET RESULTS IN AN
;EXPONENT EQUAL TO 200

	AC=6
	SAVEAC	(1,1)

SN=13000
	ZZ=0

		;TEST BITS 8-2
O13000:	REPEAT	^D7,<
SN=SN+1
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC-2,200400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,200+ZZ	;RESCALE
	CAMN	AC,AC-2		;TEST EXP=200
	ER3	AC,SN		;BIT UNDER TEST FAILED TO SET
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST ABILITY TO TRANSFER ZERO'S
;TEST ABILITY TO CLEAR SC8-2
;EXPONENT =1,2,4,10,20,40,100
;SCALE = 375,373,367,357,337,277,177
;FAILURE OF A BIT TO CLEAR RESULTS
;IN AN EXPONENT = 377

	AC=5
	SAVEAC	(1,1)

SN=13100
	WW=200
	XX=1000
	ZZ=176

		;TEST BITS 8-2
O13100:	REPEAT  ^D7,<
SN=SN+1
	WW=WW+WW
	XX=XX+WW
	ZZ=ZZ+ZZ+1
	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,XX		;SETUP AC
	FSC	AC,ZZ		;RESCALE
	CAMN	AC,AC-2		;TEST EXP = 377
	ER3	AC,SN		;BIT UNDER TEST FAILED TO CLEAR
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
PAGE
;AC=200400000000
;SCALE=5
;FAILURE OF ANY ONE RESULTS IN LOSS
;OF THE EXPONENT. THE RESULTANT EXPONENT
;IS EQUAL TO THE SCALING FACTOR

	AC=14
	SAVEAC	(1,1)

O13200:	MOVSI	AC-2,5400	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	FSC	AC,5		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=5
	ER3	AC,13201
	JUMPL	AC+2,O13200	;LOOP ON ERROR SWITCH
;EXPONENT = 201,202,204,210,220,240,300
;SCALE=0
;FAILURE OF A BIT TO SET RESULTS IN AN
;EXPONENT EQUAL TO 200

	AC=14
	SAVEAC	(1,1)

SN=13300
	XX=200
	ZZ=201000

		;TEST BITS 8-2
O13300:	REPEAT	^D7,<
SN=SN+1
	XX=XX+XX
	ZZ=ZZ+XX
	MOVSI	AC-2,200400	;SETUP FOR COMPARISON
	MOVSI	AC,ZZ		;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=200
	ER3	AC,SN		;GATE UNDER TEST FAILED TO SET
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST SC DATA1-8 GATES - (ZERO'S)
;TEST SCAD INPUT GATES - (ZERO'S)
;EXPONENT = 376,375,373,367,357,337,277,177
;SCALE = 1,2,4,10,20,40,100,200
;FAILURE RESULTS IN AN EXPONENT = 
;0,1,3,7,17,37,77,177

	AC=13
	SAVEAC	(1,1)

				;TEST SCAD8
O13400:	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,376400	;SETUP AC
	FSC	AC,1		;RESCALE
	CAMN	AC,AC-2		;TEST EXP = 0
	ER3	AC,13401	;SCAD 8 SET
	JUMPL	AC+2,O13400	;LOOP ON ERROR SWITCH

				;TEST SCAD7
O13500:	MOVSI	AC-2,1400	;SETUP FOR COMPARISON
	MOVSI	AC,375400	;SETUP AC
	FSC	AC,2		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=1
	ER3	AC,13501	;SCAD7 SET
	JUMPL	AC+2,O13500	;LOOP ON ERROR SWITCH

				;TEST SCAD6
O13600:	MOVSI	AC-2,3400	;SETUP FOR COMPARISON
	MOVSI	AC,373400	;SETUP AC
	FSC	AC,4		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=3
	ER3	AC,13601	;SCAD6 SET
	JUMPL	AC+2,O13600	;LOOP ON ERROR SWITCH

				;TEST SCAD5
O13700:	MOVSI	AC-2,7400	;SETUP FOR COMPARISON
	MOVSI	AC,367400	;SETUP AC
	FSC	AC,10		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=7
	ER3	AC,13701	;SCAD5 SET
	JUMPL	AC+2,O13700	;LOOP ON ERROR SWITCH
				;TEST SCAD4
O14000:	MOVSI	AC-2,17400	;SETUP FOR COMPARISON
	MOVSI	AC,357400	;SETUP AC
	FSC	AC,20		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=17
	ER3	AC,14001	;SCAD4 SET
	JUMPL	AC+2,O14000	;LOOP ON ERROR SWITCH

				;TEST SCAD3
O14100:	MOVSI	AC-2,37400	;SETUP FOR COMPARISON
	MOVSI	AC,337400	;SETUP AC
	FSC	AC,40		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=37
	ER3	AC,14101	;SCAD3 SET
	JUMPL	AC+2,O14100	;LOOP ON ERROR SWITCH

				;TEST SCAD2
O14200:	MOVSI	AC-2,77400	;SETUP FOR COMPARISON
	MOVSI	AC,277400	;SETUP AC
	FSC	AC,100		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=77
	ER3	AC,14201	;SCAD2 SET
	JUMPL	AC+2,O14200	;LOOP ON ERROR SWITCH

				;TEST SCAD1
O14300:	MOVSI	AC-2,177400	;SETUP FOR COMPARISON
	MOVSI	AC,177400	;SETUP AC
	FSC	AC,200		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=177
	ER3	AC,14301	;SCAD1 SET
	JUMPL	AC+2,O14300	;LOOP ON ERROR SWITCH
;AC=577200000000
;SCALE=1
;FAILURE RESULTS IN AN EXPONENT
;EQUAL TO 776

	AC=12
	SAVEAC	(1,1)

O14400:	MOVSI	AC-2,776200	;SETUP FOR COMPARISON
	MOVSI	AC,577200	;SETUP AC
	FSC	AC,1		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=776
	ER3	AC,14401
	JUMPL	AC+2,O14400	;LOOP ON ERROR SWITCH

;AC=577200000000
;SCALING FACTOR=0
;SETTING SCAD+1 EN RESULTS IN AN
;EXPONENT=576

	AC=11
	SAVEAC	(1,1)

O14500:	MOVSI	AC-2,576200	;SETUP FOR COMPARISON
	MOVSI	AC,577200	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=576
	ER3	AC,14501
	JUMPL	AC+2,O14500	;LOOP ON ERROR SWITCH
PAGE
;TEST ABILITY TO TRANSFER ZERO'S
;EXP=776,775,773,767,757,737,677,577
;SCALING FACTOR=0
;FAILURE OF A BIT TO CLEAR RESULTS IN
;AN EXPONENT=777

	AC=10
	SAVEAC	(1,1)
SN=14600
	ZZ=376400


O14600:	REPEAT	^D8,<
SN=SN+1
	ZZ=<ZZ+ZZ+1000>&777777
	MOVSI	AC-2,777200	;SETUP FOR COMPARISON
	MOVSI	AC,200+ZZ	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=777
	ER3	AC,SN
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;AC=206200000000
;SCALING FACTOR=0

	AC=7
	SAVEAC	(1,1)

O14700:	MOVSI	AC-2,206200	;SETUP FOR COMPARISON
	MOVSI	AC,206200	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST AC=ORIG
	ER3	AC,14701
	JUMPL	AC+2,O14700	;LOOP ON ERROR SWITCH

;AC=577600000000
;SCALING FACTOR=0

	AC=6
	SAVEAC	(1,1)

O15000:	MOVSI	AC-2,577600	;SETUP FOR COMPARISON
	MOVSI	AC,577600	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST AC=ORIG
	ER3	AC,15001
	JUMPL	AC+2,O15000	;LOOP ON ERROR SWITCH

;AC=206200000000
;SCALING FACTOR=0
;FAILURE RESULTS IN AN EXPONENT
;EQUAL TO 170, THE FRACTION IS NORMALIZED

	AC=5
	SAVEAC	(1,1)

O15100:	MOVSI	AC-2,170400	;SETUP FOR COMPARISON
	MOVSI	AC,206200	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=170
	ER3	AC,15101
	JUMPL	AC+2,O15100	;LOOP ON ERROR SWITCH
;TEST - NR NORMAL
;AC=206200000000
;SCALE=0
;FAILURE RESULTS IN AN EXPONENT
;EQUAL TO 171, THE MANTISSA IS NORMALIZED

	AC=14
	SAVEAC	(1,1)

O15200:	MOVSI	AC-2,171400	;SETUP FOR COMPARISON
	MOVSI	AC,206200	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=171
	ER3	AC,15201
	JUMPL	AC+2,O15200	;LOOP ON ERROR SWITCH

;AC=200200000000
;SCALING FACTOR=0
;FAILURE RESULTS IN AN EXPONENT
;EQUAL TO ORIG. THE FRACTION IS NORMALIZED

	AC=14
	SAVEAC	(1,1)

O15300:	MOVSI	AC-2,200400	;SETUP FOR COMPARISON
	MOVSI	AC,200200	;SETUP AC
	FSC	AC,0		;RESCALE
	CAMN	AC,AC-2		;TEST EXP=ORIG
	ER3	AC,15301
	JUMPL	AC+2,O15300	;LOOP ON ERROR SWITCH
;TEST AR FXU SET
;TEST ABILITY TO SET FLAGS ON OVERFLOW
;AC=377400000000,777200000000
;SCALING FACTOR=1,-1
;AN ERROR WILL OCCUR IF APPROPRIATE
;FLAG FAILS TO SET

	AC=13
	SAVEAC	(1,1)

				;TEST AROV SET
O15400:	JFCL	10,.+1		;CLR FLG, EXEC NEXT INST
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,1		;RESCALE (OVERFLOW)
	JSP	AC+1,.+1
	JFCL	10,.+2		;TEST AROV FLAG
	ER13	AC+1,15401	;AROV FAILED TO SET
	JUMPL	AC+2,O15400	;LOOP ON ERROR SWITCH

				;TEST ARFOV SET
O15500:	JFCL	1,.+1		;CLR FLG, EXEC NEXT INST
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,1		;RESCALE (OVERFLOW)
	JSP	AC+1,.+1
	JFCL	1,.+2		;TEST ARFOV FLAG
	ER13	AC+1,15501	;ARFOV FAILED TO SET
	JUMPL	AC+2,O15500	;LOOP ON ERROR SWITCH

				;TEST ARFXU SET
O15600:	JRST	2,@[.+1]	;CLEAR FLAG,EXEC NEXT INST
	MOVSI	AC,777200	;SETUP AC
	FSC	AC,-1		;RESCALE (UNDERFLOW)
	JSP	AC-2,.+1	;STORE FLAGS AND PC
	TLZN	AC-2,100	;TEST AND CLEAR BIT 11
	ER13	AC-2,15601	;AR FXU FAILED TO SET
	JRST	2,3(AC-2)	;CLEAR AR FXU
	JUMPL	AC+2,O15600	;LOOP ON ERROR SWITCH
PAGE
;TEST NR ALL ZERO
;TEST ABILITY TO ASSERT NR ALL ZERO LEVEL
;AC=377000000000
;SCALE=401
;FAILURE SHOULD RESULT IN LOOPING NRT2-
;ATTEMPTING TO NORMALIZE

	AC=12
	SAVEAC	(1,1)

O15700:	MOVSI	AC,377000	;SETUP AC
	FSC	AC,401		;RESCALE
	SKIPE	AC		;TEST AC=0
	ER3	AC,15701	;NR ALL ZERO ASSERTED
	JUMPL	AC+2,O15700	;LOOP ON ERROR SWITCH
SUBTTL  PART I.B-FAD AND NORM RET


;		PART I.B-FAD AND NORM RET

;AR=000600000000
;BR=000400000000
;FAILURE RESULTS IN LOSS OF BR
;CORRECT SUM=001500000000
;ERROR SUM=000600000000

	AC=14
	SAVEAC	(1,1)

O16000:	MOVSI	AC-2,600	;SETUP FOR COMPARISON
	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=600000000
	ER3	AC,16001
	JUMPL	AC+2,O16000	;LOOP ON ERROR SWITCH

;AR=000600000000
;BR=000400000000
;FAILURE RESULTS IN LOSS
;OF LARGER NUMBER
;FAILURE RESULTS IN NORMALIZING
;CORRECT SUM=001500000000
;ERROR SUM=000400000000

	AC=13
	SAVEAC	(1,1)

O16100:	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC+1		;TEST SUM=000400000000
	ER3	AC,16101
	JUMPL	AC+2,O16100	;LOOP ON ERROR SWITCH
;AR=000600000000
;BR=000400000000
;FAILURE RESULTS IN LOSS OF BR
;CORRECT SUM=001500000000
;ERROR SUM=001600000000

	AC=12
	SAVEAC	(1,1)

O16200:	MOVSI	AC-2,1600	;SETUP FOR COMPARISON
	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=1600000000
	ER3	AC,16201
	JUMPL	AC+2,O16200	;LOOP ON ERROR SWITCH

;AR=000600000000
;BR=000400000000
;FAILURE RESULTS IN LOSS OF AR
;CORRECT SUM=001500000000
;ERROR SUM=001400000000

	AC=11
	SAVEAC	(1,1)

O16300:	MOVSI	AC-2,1400	;SETUP FOR COMPARISON
	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=1400000000
	ER3	AC,16301
	JUMPL	AC+2,O16300	;LOOP ON ERROR SWITCH
;AR=000600000000
;BR=000400000000
;CORRECT SUM=001500000000
;ERROR SUM=377500000000

	AC=10
	SAVEAC	(1,1)

O16400:	MOVSI	AC-2,377500	;SETUP FOR COMPARISON
	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=377500000000
	ER3	AC,16401
	JUMPL	AC+2,O16400	;LOOP ON ERROR SWITCH

;AR=000600000000
;BR=000400000000
;CORRECT SUM=001500000000
;ERROR SUM=000500000000

	AC=7
	SAVEAC	(1,1)

O16500:	MOVSI	AC-2,500	;SETUP FOR COMPARISON
	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=500000000
	ER3	AC,16501
	JUMPL	AC+2,O16500	;LOOP ON ERROR SWITCH
;AR=377000000000
;BR=377600000000
;FAILURE RESULTS IN A SUM
;=000700000000

	AC=14
	SAVEAC	(1,1)

O16600:	MOVSI	AC-2,700	;SETUP FOR COMPARISON
	MOVSI	AC,377000	;SETUP AC
	MOVSI	AC+1,377600	;SETUP BR
	FAD	AC,AC+1		;ADD C(AC), C(E)
	CAMN	AC,AC-2		;TEST SUM=000700000000
	ER3	AC,16601
	JUMPL	AC+2,O16600	;LOOP ON ERROR SWITCH
;TEST ABILITY TO SET INDIVIDUAL BITS
;AR=600400000000 (-1/4)
;BR=177400000000 (+1/4)
;OPERANDS SELECTED SHOULD RESULT
;IN NR ALL ZERO -STORE 0
;FAILURE OF BIT 8 TO SET RESULTS IN
;A SUM=577400000000
;FAILURE OF ANY ONE BIT (1-7) RESULTS IN
;A SUM=577000000000

	AC=14
	SAVEAC	(1,1)

O16700:	MOVSI	AC-2,577400	;SETUP FOR COMPARISON
	MOVSI	AC,600400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=5774000000000
	ER3	AC,16701	;BR8 FAILED TO SET
	MOVSI	AC-2,577000	;SETUP FOR COMPARISON
	CAMN	AC,AC-2		;TEST SUM=577000000000
	ER3	AC,16702	;BR BIT (1-7) FAILED TO SET
	JUMPL	AC+2,O16700	;LOOP ON ERROR SWITCH

;FAILURE RESULTS IN LOSS OF DIFFERENCE
;BETWEEN EXPONENTS
;AR=200400000000 (+ 1/2)
;BR=205400000000 (+20)
;CORRECT SUM =205410000000
;ERROR SUM=001400000000

	AC=10
	SAVEAC	(1,1)

O17000:	MOVSI	AC-2,001400	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,205400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=001400000000
	ER3	AC,17001
	JUMPL	AC+2,O17000	;LOOP ON ERROR SWITCH
;AR=200400000000
;BR=205600000000
;FAILURE RESULTS IN LOSS OF HIGH ORDER
;EXPONENT
;FAILURE RESULTS IN A SUM
;=001610000000

	AC=12
	SAVEAC	(1,1)

O17100:	MOVSI	AC-2,1610	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,205600	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=1610000000
	ER3	AC,17101
	JUMPL	AC+2,O17100	;LOOP ON ERROR SWITCH

;AR=200400000000
;BR=205600000000
;FAILURE RESULTS IN LOSS OF LARGER
;EXPONENT
;FAILURE RESULTS IN A SUM
;=000610000000

	AC=11
	SAVEAC	(1,1)

O17200:	MOVSI	AC-2,610	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,205600	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=610000000
	ER3	AC,17201
	JUMPL	AC+2,O17200	;LOOP ON ERROR SWITCH
;AR=000600000000
;BR=200400000000
;EXCESSIVE SHIFT COND, SHOULD
;RESULT IN NO ADD AND STORING THE LARGER
;FAILURE RESULTS IN A SUM
;=201500000000

	AC=5
	SAVEAC	(1,1)

O17300:	MOVSI	AC-2,201500	;SETUP FOR COMPARISON
	MOVSI	AC,600		;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=201500000000
	ER3	AC,17301
	JUMPL	AC+2,O17300	;LOOP ON ERROR SWITCH

;AR=200700000000
;BR=0
;EXCESSIVE SHIFT COND SHOULD
;RESULT IN NO ADD AND STORING THE LARGER
;FAILURE OF SC CLR AT FAT4 RESULTS IN
;LOSS OF EXPONENT. SUM=000700000000

	AC=14
	SAVEAC	(1,1)

O17400:	MOVSI	AC-2,700	;SETUP FOR COMPARISON
	MOVSI	AC,200700	;SETUP AC
	SETZ	AC+1,		;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=700000000
	ER3	AC,17401
	JUMPL	AC+2,O17400	;LOOP ON ERROR SWITCH
;TEST ABILITY TO BRING UP PULSE
;AR=200400000000
;BR=205400000000
;FAILURE RESULTS IN LOSS OF SMALLER
;EXPONENT. EXCESSIVE SHIFT CONDITION
;RESULTS IN NO ADD AND STORING THE LARGER
;FAILURE RESULTS IN A SUM=205400000000

	AC=14
	SAVEAC	(1,1)

O17500:	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,205400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC+1		;TEST SUM=205400000000
	ER3	AC,17501
	JUMPL	AC+2,O17500	;LOOP ON ERROR SWITCH
PAGE
;AC EXP=201,202,204,210,220,240,300
;BR=200400000000
;FAILURE OF A BIT TO SET/AR TO SHIFT RESULTS IN
;AN EXPONENT=202,203,205,211,221,
;241,301. THE MANTISSA IS CORRECT IN ALL CASES

	AC=13
	SAVEAC	(1,1)

SN=17600
	ZZ=400


O17600:	REPEAT	^D7,<
SN=SN+1
	ZZ=ZZ+ZZ
	MOVSI	AC-2,201400+ZZ	;SETUP FOR COMPARISION
	MOVSI	AC,200400+ZZ	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST EXP=AC EXP+1
	ER3	AC,SN		;BIT UNDER TEST FAILED TO SET
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
;AR=200400000000
;BR=205400000000
;FAILURE RESULTS IN A BR EXPONENT=0.
;EXCESSIVE SHIFT CONDITION
;RESULTS IN NO ADD AND STORING THE LARGER

	AC=12
	SAVEAC	(1,1)

O17700:	MOVSI	AC-2,200400	;SETUP FOR COMPARISION
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,205400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=200400000000
	ER3	AC,17701	
	JUMPL	AC+2,O17700	;LOOP ON ERROR SWITCH

;AR=600400000000 (-1/4)
;BR=600400000000 (-1/4)
;FAILURE RESULTS IN LOSS OF BR EXPONENT
;AN EXCESSIVE SHIFT CONDITION, NO ADD
;STORE 600400000000

	AC=11
	SAVEAC	(1,1)

O20000:	MOVSI	AC,600400	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC+1		;TEST SUM=600400
	ER3	AC,20001	
	JUMPL	AC+2,O20000	;LOOP ON ERROR SWITCH
;THE DIFFERENCE BETWEEN EXPONENTS (EXCESSIVE SHIFT COND)
;SHOULD RESULT IN NO ADD AND STORING
;THE LARGER
;AR=0
;BR=205400000000
;FAILURE RESULTS IN A SUM
;=173400000000

	AC=7
	SAVEAC	(1,1)

O20100:	MOVSI	AC-2,173400	;SETUP FOR COMPARISON
	SETZ	AC,		;SETUP AC
	MOVSI	AC+1,205400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=173400000000
	ER3	AC,20101	
	JUMPL	AC+2,O20100	;LOOP ON ERROR SWITCH

;FAILURE RESULTS IN AN APPARENT DIFFERNECE IN
;EXPONENTS OF 177 EXCESSIVE SHIFT COND-
;NO ADD, STORE LARGER
;AR=200400000000
;BR=200400000000
;FAILURE RESULTS IN A SUM
;=200400000000

	AC=6
	SAVEAC	(1,1)

O20200:	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC+1		;TEST SUM=200400000000
	ER3	AC,20201	
	JUMPL	AC+2,O20200	;LOOP ON ERROR SWITCH
;AR=577400000000 (-1/2)
;BR=577400000000 (-1/2)
;CORRECT SUM=576400000000 (-1)
;ERROR SUM=777400000000

	AC=5
	SAVEAC	(1,1)

O20300:	MOVSI	AC-2,777400	;SETUP FOR COMPARISON
	MOVSI	AC,577400	;SETUP AC
	MOVSI	AC+1,577400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=777400000000
	ER3	AC,20301	;SC NEGATE SETUP FAILED
	JUMPL	AC+2,O20300	;LOOP ON ERROR SWITCH

;AR=205600000000
;BR=177400000000
;FAILURE RESULTS IN A SUM
;=214500000000

	AC=13
	SAVEAC	(1,1)

O20400:	MOVSI	AC-2,214500	;SETUP FOR COMPARISON
	MOVSI	AC,205600	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=214500
	ER3	AC,20401	
	JUMPL	AC+2,O20400	;LOOP ON ERROR SWITCH
;OPERANDS SELECTED SHOULD
;RESULT IN NR ALL ZERO CONDITION
;AR EXP=201,202,204,210,220,240,300
;BR EXP=202,204,207,214,225,246,307
;MANTISSA IN BOTH CASES=0
;FAILURE OF A BIT TO CLEAR RESULTS IN A
;SUM WHOSE EXPONENT IS EQUAL TO
;THE BR EXPONENT, A MANTISSA=400000000

	AC=10
	SAVEAC	(1,1)

				;TEST AR8
O20500:	MOVSI	AC-2,202400	;SETUP FOR COMPARISON
	MOVSI	AC,201000	;SETUP AC
	MOVSI	AC+1,202000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=202400000000
	ER3	AC,20501	;AR8 FAILED TO CLEAR
	JUMPL	AC+2,O20500	;LOOP ON ERROR SWITCH

				;TEST AR7
O20600:	MOVSI	AC-2,204400	;SETUP FOR COMPARISON
	MOVSI	AC,202000	;SETUP AC
	MOVSI	AC+1,204000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=204400000000
	ER3	AC,20601	;AR7 FAILED TO CLEAR
	JUMPL	AC+2,O20600	;LOOP ON ERROR SWITCH

				;TEST AR6
O20700:	MOVSI	AC-2,207400	;SETUP FOR COMPARISON
	MOVSI	AC,204000	;SETUP AC
	MOVSI	AC+1,207000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=207400000000
	ER3	AC,20701	;AR6 FAILED TO CLEAR
	JUMPL	AC+2,O20700	;LOOP ON ERROR SWITCH

				;TEST AR5
O21000:	MOVSI	AC-2,214400	;SETUP FOR COMPARISON
	MOVSI	AC,210000	;SETUP AC
	MOVSI	AC+1,214000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=214400000000
	ER3	AC,21001	;AR5 FAILED TO CLEAR
	JUMPL	AC+2,O21000	;LOOP ON ERROR SWITCH
				;TEST AR4
O21100:	MOVSI	AC-2,225400	;SETUP FOR COMPARISON
	MOVSI	AC,220000	;SETUP AC
	MOVSI	AC+1,225000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=225400000000
	ER3	AC,21101	;AR4 FAILED TO CLEAR
	JUMPL	AC+2,O21100	;LOOP ON ERROR SWITCH

				;TEST AR3
O21200:	MOVSI	AC-2,246400	;SETUP FOR COMPARISON
	MOVSI	AC,240000	;SETUP AC
	MOVSI	AC+1,246000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=246400000000
	ER3	AC,21201	;AR3 FAILED TO CLEAR
	JUMPL	AC+2,O21200	;LOOP ON ERROR SWITCH

				;TEST AR2
O21300:	MOVSI	AC-2,307400	;SETUP FOR COMPARISON
	MOVSI	AC,300000	;SETUP AC
	MOVSI	AC+1,307000	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=307400000000
	ER3	AC,21301	;AR2 FAILED TO CLEAR
	JUMPL	AC+2,O21300	;LOOP ON ERROR SWITCH
;TEST ABILITY TO SET BITS 8-1
;AR EXP=200,201,202,203,204,205,206,207
;BR=600400000000
;FAILURE OF A BIT TO SET RESULTS IN A UNIQUE SUM

	AC=7
	SAVEAC	(1,1)
				;TEST AR8(1)
O21400:	MOVSI	AC-2,577200	;SETUP FOR COMPARISON
	MOVSI	AC,200000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=577200000000
	ER3	AC,21401	;AR8 FAILED TO SET
	JUMPL	AC+2,O21400	;LOOP ON ERROR SWITCH

				;TEST AR7 (1)
O21500:	MOVSI	AC-2,576300	;SETUP FOR COMPARISON
	MOVSI	AC,201000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=576300000000
	ER3	AC,21501	;AR7 FAILED TO SET
	JUMPL	AC+2,O21500	;LOOP ON ERROR SWITCH

				;TEST AR6(1)
O21600:	MOVSI	AC-2,575340	;SETUP FOR COMPARISON
	MOVSI	AC,202000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=575340000000
	ER3	AC,21601	;AR6 FAILED TO SET
	JUMPL	AC+2,O21600	;LOOP ON ERROR SWITCH

				;TEST AR5(1)
O21700:	MOVSI	AC-2,574360	;SETUP FOR COMPARISON
	MOVSI	AC,203000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=574360000000
	ER3	AC,21701	;AR5 FAILED TO SET
	JUMPL	AC+2,O21700	;LOOP ON ERROR SWITCH
				;TEST AR4 (1)
O22000:	MOVSI	AC-2,573370	;SETUP FOR COMPARISON
	MOVSI	AC,204000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=573370000000
	ER3	AC,22001	;AR4 FAILED TO SET
	JUMPL	AC+2,O22000	;LOOP ON ERROR SWITCH

				;TEST AR3(1)
O22100:	MOVSI	AC-2,572374	;SETUP FOR COMPARISON
	MOVSI	AC,205000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=572374000000
	ER3	AC,22101	;AR3 FAILED TO SET
	JUMPL	AC+2,O22100	;LOOP ON ERROR SWITCH

				;TEST AR2(1)
O22200:	MOVSI	AC-2,571376	;SETUP FOR COMPARISON
	MOVSI	AC,206000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=571376000000
	ER3	AC,22201	;AR2 FAILED TO SET
	JUMPL	AC+2,O22200	;LOOP ON ERROR SWITCH

				;TEST AR1(1)
O22300:	MOVSI	AC-2,570377	;SETUP FOR COMPARISON
	MOVSI	AC,207000	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=570377000000
	ER3	AC,22301	;AR1 FAILED TO SET
	JUMPL	AC+2,O22300	;LOOP ON ERROR SWITCH
;AR=400200000000
;BR=377400000000
;FAILURE RESULTS IN LOSS OF BR EXPONENT,
;RESULTING IN AN EXCESSIVE SHIFT COND.-
;NO ADD STORE 400200000000

	AC=6
	SAVEAC	(1,1)

O22400:	MOVSI	AC-2,400200	;SETUP FOR COMPARISON
	MOVSI	AC,400200	;SETUP AC
	MOVSI	AC+1,377400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=400200000000
	ER3	AC,22401	
	JUMPL	AC+2,O22400	;LOOP ON ERROR SWITCH

;AR=377400000000
;BBR=400200000000
;FAILURE RESULTS IN LOSS OF BR EXPONENT,
;RESULTING IN AN EXECESSIVE SHIFT CONDITION. STORE
;377400000000

	AC=5
	SAVEAC	(1,1)

O22500:	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	MOVSI	AC+1,400200	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=377400000000
	ER3	AC,22501	;SC+BR(FAT1) FAILED
	JUMPL	AC+2,O22500	;LOOP ON ERROR SWITCH
PAGE
;AR=200400000000
;BR=600400000000
;FAILURE RESULTS IN AN NR ALL ZERO COND.
;FAILURE RESULTS IN A SUM=0

	AC=14
	SAVEAC	(1,1)

O22600:	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,600400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	SKIPN	AC		;SETUP SUM=0
	ER3	AC,22601	;SC COMP SETUP FAILED
	JUMPL	AC+2,O22600	;LOOP ON ERROR SWITCH
;AR=200600000000
;BR=201400000000
;FAILURE RESULTS IN SHIFTING SUM OF AR
;AND BR RESULTING IN A SUM
;=202640000000

	AC=14
	SAVEAC	(1,1)

O22700:	MOVSI	AC-2,202640	;SETUP FOR COMPARISON
	MOVSI	AC,200600	;SETUP AC
	MOVSI	AC+1,201400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=202640000000
	ER3	AC,22701	
	JUMPL	AC+2,O22700	;LOOP ON ERROR SWITCH

;AR=577600000000 (-1/4) (UNNORMALIZED)
;BR=200400000000 (+1/2)
;FAILURE RESULTS IN A CORRECT MANTISSA,
;THE EXPONENT IS IN ERROR
;CORRECT SUM=177400000000
;ERROR SUM=376400000000

	AC=13
	SAVEAC	(1,1)

O23000:	MOVSI	AC-2,376400	;SETUP FOR COMPARISON
	MOVSI	AC,577600	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=376400000000
	ER3	AC,23001	
	JUMPL	AC+2,O23000	;LOOP ON ERROR SWITCH
;AR=600400000000 (-1/4)
;BR=577200000000 (-3/4)
;FAILURE RESULTS IN A CORRECT MANTISSA,
;THE EXPONENT IS IN ERROR
;CORRECT SUM=576400000000
;ERROR SUM=600400000000

	AC=12
	SAVEAC	(1,1)

O23100:	MOVSI	AC-2,600400	;SETUP FOR COMPARISON
	MOVSI	AC,600400	;SETUP AC
	MOVSI	AC+1,577200	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=600400000000
	ER3	AC,23101	;SC COMP SETUP FAILED
	JUMPL	AC+2,O23100	;LOOP ON ERROR SWITCH


;AR=600400000000 (-1/4)
;BR=577200000000 (-3/4)
;FAILURE RESULTS IN A CORRECT MANTISSA,
;THE EXPONENT IS IN ERROR
;CORRECT SUM=576400000000
;ERROR SUM =5777400000000

	AC=11
	SAVEAC	(1,1)

O23200:	MOVSI	AC-2,577400	;SETUP FOR COMPARISON
	MOVSI	AC,600400	;SETUP AC
	MOVSI	AC+1,577200	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=577400000000
	ER3	AC,23201
	JUMPL	AC+2,O23200	;LOOP ON ERROR SWITCH
;AR=600400000000 (-1/4)
;BR=577200000000 (-3/4)
;FAILURE RESULTS IN A CORRECT MANTISSA,
;THE EXPONENT IS IN ERROR
;CORRECT SUM=576400000000
;ERROR SUM=577000000000

	AC=10
	SAVEAC	(1,1)

O23300:	MOVSI	AC-2,577000	;SETUP FOR COMPARISON
	MOVSI	AC,600400	;SETUP AC
	MOVSI	AC+1,577200	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=577000000000
	ER3	AC,23301
	JUMPL	AC+2,O23300	;LOOP ON ERROR SWITCH

;AR=201400000000 (+1)
;BR=200400000000 (+1/2)
;CORRECT SUM=201600000000
;ERROR SUM=200600000000

	AC=10
	SAVEAC	(1,1)

O23400:	MOVSI	AC-2,200600	;SETUP FOR COMPARISON
	MOVSI	AC,201400	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=200600000000
	ER3	AC,23401
	JUMPL	AC+2,O23400	;LOOP ON ERROR SWITCH
;AR=576400000000 (-1)
;BR=200400000000 (+1/2)
;CORRECT SUM=577400000000 (-1/2)
;ERROR SUM=177400000000

	AC=7
	SAVEAC	(1,1)

O23500:	MOVSI	AC-2,177400	;SETUP FOR COMPARISON
	MOVSI	AC,576400	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=177400000000
	ER3	AC,23501
	JUMPL	AC+2,O23500	;LOOP ON ERROR SWITCH

;AR=200440000000
;BR=200400000000
;CORRECT SUM=201400000000
;ERROR SUM=570000000000

	AC=10
	SAVEAC	(1,1)

O23600:	MOVSI	AC-2,175400	;SETUP FOR COMPARISON
	MOVSI	AC,200440	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=175400000000
	ER3	AC,23601
	JUMPL	AC+2,O23600	;LOOP ON ERROR SWITCH
;TEST ABILITY TO BRING UP NRT10
;AR=577400000000 (-1/2)
;BR=577400000000 (-1/2)
;CORRECT SUM=576400000000 (-1)
;ERROR SUM=577000000000

	AC=7
	SAVEAC	(1,1)

O23700:	MOVSI	AC-2,577000	;SETUP FOR COMPARISON
	MOVSI	AC,577400	;SETUP AC
	MOVSI	AC+1,577400	;SETUP BR
	FAD	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=577000000000
	ER3	AC,23701
	JUMPL	AC+2,O23700	;LOOP ON ERROR SWITCH
SUBTTL	PART I.C-FAD (LONG, NORM RET, ROUNDING)

;		PART I.C-FAD(LONG, NORM RET, ROUNDING)

;TEST APPARENT ABILITY TO FCE,
;FAC, SAC, SAC2 AND DECODE
;AR=200400000077
;BR=206400000000
;FCE/SAC FAIL-C(AC) EQUALS ORIGINAL
;FAC FAILS-C(AC) EQUALS C(E)
;SAC2 FAILS- C(AC+1) EQUALS ORIGINAL

	AC=14
	SAVEAC	(1,1)

O24000:	HRRI	AC-2,77		;SETUP AC-2
	HRLI	AC-2,200400	;FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	SETZ	AC+1,		;CLEAR AC+1
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST C(AC)=ORIGINAL
	ER3	AC,24001	;FCE/SAC FAILED
	CAMN	AC,AC-1		;TEST C(AC)=C(E)
	ER3	AC,24001	;FAC FAILED
	SKIPN	AC+1		;TEST C(AC+1)=ORIGINAL
	ER4	AC+1,24001	;SAC2 FAILED
	JUMPL	AC+2,O24000	;LOOP ON ERROR SWITCH
;TEST APPARENT ABILITY TO SHIFT
;AR=200400000077
;BR=206400000000
;FAILURE TO SHIFT RESULTS IN A LOW
;ORDER SUM=0
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000

	AC=14
	SAVEAC	(1,1)

O24100:	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	SETZ	AC+1,		;CLEAR AC+1
	FADL	AC,AC-1		;C(AC)+C(E)
	SKIPN	AC+1		;TEST AC+1 NOT = 0
	ER4	AC+1,24101	;MQ FAILED TO SHIFT
	JUMPL	AC+2,O24100	;LOOP ON ERROR SWITCH
;TEST IR FP LONG AND-IR FDVX 
;AR=200400000077
;BR=206400000000
;IR FP LONG FAILS-C(AC+1)=ORIGINAL
;-IR FDVX FAILS-C(AC+1)=001760000000
;THE HIGH ORDER SUM IS CORRECT IN BOTH CASES
;HIGH ORDER SUM=206404000000
;CORR LOW ORDER SUM=153770000000

	AC=13
	SAVEAC	(1,1)

				;TEST IR FP LONG
O24200:	MOVSI	AC-2,206404	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	SETZ	AC+1,		;CLEAR AC+1
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST CORR HIGH ORDER SUM
	ER3	AC,24201	;INCORRECT HIGH ORDER
	SKIPN	AC+1		;TEST AC+1 DIFFERS ORIG
	ER4	AC+1,24201	;IR FP LONG FAILED
	JUMPL	AC+2,O24200	;LOOP ON ERROR SWITCH

				;TEST-IR FDVX
O24300:	MOVSI	AC-2,206404	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST CORR HIGH ORDER
	ER3	AC,24301	;INCORRECT HIGH ORDER
	MOVSI	AC-2,1760	;SETUP FOR COMPARISON
	CAMN	AC+1,AC-2	;TEST LOW SUM=1760000000
	ER4	AC+1,24301	;-IR FDVX FAILED
	JUMPL	AC+2,O24300	;LOOP ON ERROR SWITCH
;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN A CORRECT
;HIGH ORDER SUM.  THE EXPONENT OF THE
;LOW ORDER SUM IS IN ERROR
;CORR HIGH ORDER=206404000000
;CORR LOW ORDER=153770000000
;ERR LOW ORDER=206770000000

	AC=12
	SAVEAC	(1,1)

O24400:	MOVSI	AC-2,206770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=206770000000
	ER4	AC+1,24401
	JUMPL	AC+2,O24400	;LOOP ON ERROR SWITCH

;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN LOSS OF HIGH ORDER SUM
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000
;ERROR HIGH ORDER=001760000000

	AC=11
	SAVEAC	(1,1)

O24500:	MOVSI	AC-2,153770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC+1,AC-2	;TEST CORR LOW ORDER SUM
	ER4	AC+1,24501		;INCORRECT LOW ORDER
	MOVSI	AC-2,1760	;SETUP FOR COMPARISON
	CAMN	AC,AC-2		;TEST HIGH SUM=1760000000
	ER3	AC,24501
	JUMPL	AC+2,O24500	;LOOP ON ERROR SWITCH
;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN LOSS OF LOW ORDER SUM
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000
;ERROR LOW ORDER=153202000000

	AC=10
	SAVEAC	(1,1)

O24600:	MOVSI	AC-2,153202	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=153202000000
	ER4	AC+1,24601
	JUMPL	AC+2,O24600	;LOOP ON ERROR SWITCH

;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN A CORRECT HIGH ORDER
;SUM. THE LOW ORDER SUM IS IN ERROR
;CORRECT HIGH ORDER 206404000000
;CORRECT LOW ORDER 153770000000
;ERROR LOW ORDER 153760000000

	AC=7
	SAVEAC	(1,1)

O24700:	MOVSI	AC-2,153760	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=153760000000
	ER4	AC+1,24701
	JUMPL	AC+2,O24700	;LOOP ON ERROR SWITCH
;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN A CORRECT HIGH ORDER
;SUM. THE EXPONENT OF THE LOW ORDER SUM
;IS IN ERROR
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000
;ERROR LOW ORDER=120770000000

	AC=14
	SAVEAC	(1,1)

O25000:	MOVSI	AC-2,120770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=120770000000
	ER4	AC+1,25001
	JUMPL	AC+2,O25000	;LOOP ON ERROR SWITCH

;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN A CORRECT HIGH ORDER
;SUM, THE EXPONENT OF THE LOW ORDER
;SUM IS LOST
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000
;ERROR LOW ORDER=000770000000

	AC=14
	SAVEAC	(1,1)

O25100:	MOVSI	AC-2,770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=770000000
	ER4	AC+1,25101
	JUMPL	AC+2,O25100	;LOOP ON ERROR SWITCH
;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN LOSS OF HIGH ORDER
;SUM. HIGH ORDER SUM EQUALS LOW
;ORDER SUM
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000
;ERROR HIGH ORDER=153770000000

	AC=13
	SAVEAC	(1,1)

O25200:	MOVSI	AC-2,153770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST HIGH SUM=LOW SUM
	ER3	AC,25201
	JUMPL	AC+2,O25200	;LOOP ON ERROR SWITCH

;AR=200400000077
;BR=206400000000
;FAILURE RESULTS IN LOSS OF LOW ORDER SUM.
;LOW ORDER SUM EQUALS HIGH ORDER SUM
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000
;ERROR LOW ORDER=206404000000

	AC=12
	SAVEAC	(1,1)

O25300:	MOVSI	AC-2,206404	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=HIGH SUM
	ER4	AC+1,25301
	JUMPL	AC+2,O25300	;LOOP ON ERROR SWITCH
;LOW ORDER EXPONENT IS LESS THAN 33
;AR=030400000003
;BR=032400000000
;FAILURE RESULTS IN A CORRECT HIGH ORDER
;SUM. THE LOW ORDER SUM IS IN ERROR
;CORRECT HIGH ORDER=032500000000
;CORRECT LOW ORDER=0
;ERROR LOW ORDER=377240000000

	AC=11
	SAVEAC	(1,1)

O25400:	MOVSI	AC-2,377240	;SETUP FOR COMPARISON
	HRRI	AC,3		;SETUP
	HRLI	AC,30400	;AC
	MOVSI	AC-1,32400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=377240000000
	ER4	AC+1,25401
	JUMPL	AC+2,O25400	;LOOP ON ERROR SWITCH
;TEST SCAD INPUT GATES-ONE'S
;TEST SC DATA BITS 4,5,7,8
;AR=200400000077
;BR=206400000000
;FAILURE OF A BIT RESULTS IN A LOW ORDER EXPONENT
;=154,155,163,173
;CORRECT HIGH ORDER=206404000000
;CORRECT LOW ORDER=153770000000

	AC=10
	SAVEAC	(1,1)

				;TEST SC DATA 8
O25500:	MOVSI	AC-2,154770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=154770000000
	ER4	AC+1,25501	;SC DATA 8 FAILED
	JUMPL	AC+2,O25500	;LOOP ON ERROR SWITCH

				;TEST SCAD 7
O25600:	MOVSI	AC-2,155770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=155770000000
	ER4	AC+1,25601	;SC DATA7 FAILED
	JUMPL	AC+2,O25600	;LOOP ON ERROR SWITCH

				;TEST SCAD5
O25700:	MOVSI	AC-2,163770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=163770000000
	ER4	AC+1,25701	;SC DATA 5 FAILED
	JUMPL	AC+2,O25700

				;TEST SCAD4
O26000:	MOVSI	AC-2,173770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=173770000000
	ER4	AC+1,26001	;SC DATA4 FAILED
	JUMPL	AC+2,O26000	;LOOP ON ERROR SWITCH
;TEST ABILITY TO SET SCAD DATA0
;TEST ABILITY TO SET SCAD SC+1 EN
;AR=200400000077
;BR=206400000000
;SCAD DATA0 FAILS-LOW ORDER EXP=207
;SCAD SC+1 EN FAILS-LOW ORDER EXP=152
;CORR HIGH ORDER=206404000000
;CORR LOW ORDER=153770000000

	AC=7
	SAVEAC	(1,1)

				;TEST DATA0
O26100:	MOVSI	AC-2,207770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST SUM=207770000000
	ER4	AC+1,26101	;SCAD DATA0 FAILED TO SET
	JUMPL	AC+2,O26100	;LOOP ON ERROR SWITCH

				;TEST SC+1 EN
O26200:	MOVSI	AC-2,152770	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=152770000000
	ER4	AC+1,26201	;SCAD SC+1 EN FAILED TO SET
	JUMPL	AC+2,O26200	;LOOP ON ERROR SWITCH
;AC=200400000001
;BR=201600000000
;FAILURE RESULTS IN A CORRECT HIGH
;ORDER SUM. THE LOW ORDER SUM IS IN
;ERROR
;CORRECT HIGH ORDER=202400000000
;CORRECT LOW ORDER=147200000000
;ERROR LOW ORDER=147400000000

	AC=14
	SAVEAC	(1,1)

O26300:	MOVSI	AC-2,147400	;SETUP FOR COMPARISON
	HRRI	AC,1		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,201600	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=147400000000
	ER4	AC+1,26301
	JUMPL	AC+2,O26300	;LOOP ON ERROR SWITCH

;AR=577400000003
;BR=202400000000
;FAILURE RESULTS IN A CORRECT HIGH
;ORDER SUM, THE LOW ORDER SUM IS
;IN ERROR
;CORRECT HIGH ORDER=201600000000
;CORRECT LOW ORDER=146400000000
;ERROR LOW ORDER=146600000000

	AC=14
	SAVEAC	(1,1)

O26400:	MOVSI	AC-2,146600	;SETUP FOR COMPARISON
	HRRI	AC,3		;SETUP
	HRLI	AC,577400	;AC
	MOVSI	AC-1,202400	;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST LOW SUM=146600000000
	ER4	AC+1,26401
	JUMPL	AC+2,O26400	;LOOP ON ERROR SWITCH
;AR=200400000077
;BR=206400000000
;FAILURE OF 1,2 OR 3 RESULTS IN AN
;UNROUNDED SUM
;CORRECT SUM=206404000001
;ERROR SUM=206404000000

	AC=14
	SAVEAC	(1,1)

O26500:	MOVSI	AC-2,206404	;SETUP FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC+1,206400	;SETUP BR
	FADR	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=206404000000
	ER3	AC,26501
	JUMPL	AC+2,O26500	;LOOP ON ERROR SWITCH

;AC=200400000077
;BR=206400000000
;FAILURE RESULTS IN A CORRECT MANTISSA,
;THE EXPONENT IS IN ERROR
;CORRECT SUM=206404000001
;ERROR SUM=171404000001

	AC=14
	SAVEAC	(1,1)

O26600:	HRRI	AC-2,1		;SETUP AC-2
	HRLI	AC-2,171404	;FOR COMPARISON
	HRRI	AC,77		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC-1,206400	;SETUP BR
	FADR	AC,AC-1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=171404000001
	ER3	AC,26601
	JUMPL	AC+2,O26600	;LOOP ON ERROR SWITCH
;AR=200400000003
;BR=202400000000
;FAILURE RESULTS
;IN AN UNROUNDED SUM
;CORR SUM=202500000001
;ERROR SUM=202500000000

	AC=13
	SAVEAC	(1,1)

O26700:	MOVSI	AC-2,202500	;SETUP FOR COMPARISON
	HRRI	AC,3		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC+1,202400	;SETUP BR
	FADR	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST ERROR SUM
	ER3	AC,26701
	JUMPL	AC+2,O26700	;LOOP ON ERROR SWITCH

;AR=200400777777
;BR=202400000000
;FAILURE RESULTS IN CONTINOUS
;ROUNDING. EACH PASS ADDING ONE TO AD(AR).
;EVENTUALLY AN NRSHRT COND (AR8(1) AND
;AD 9-35=0) DEVELOPS. SHIFTING MQRT ONE
;BRINGS DOWN NR ROUND LEVEL. FADR IS
;TERMINATED.
;CORR SUM=202600000000
;ERROR SUM=203400000000

	AC=12
	SAVEAC	(1,1)

O27000:	MOVSI	AC-2,203400	;SETUP FOR COMPARISON
	HRRI	AC,-1		;SETUP
	HRLI	AC,200400	;AC
	MOVSI	AC+1,202400	;SETUP BR
	FADR	AC,AC+1		;C(AC)+C(E)
	CAMN	AC,AC-2		;TEST SUM=203400000000
	ER3	AC,27001
	JUMPL	AC+2,O27000	;LOOP ON ERROR SWITCH
SUBTTL	PART I.D-FSB AND UFA

;		PART I.D-FSB AND UFA

;TEST FCE, FAC, SAC AND DECODE
;TEST APPARENT ABILITY TO FETCH/STORE
;C(E),C(AC) AND DECODE
;AR=205400000000
;BR=177400000000
;FCE/SAC FAIL-C(AC)=ORIGINAL
;FAC FAILS-C(AC)=2'S COMP C(BR)

	AC=7
	SAVEAC	(1,1)

O27100:	MOVSI	AC-2,205400	;SETUP FOR COMPARISON
	MOVSI	AC,205400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	CAMN	AC,AC-2		;TEST AC=ORIG
	ER3	AC,27101	;FCE/SAC FAILED
	MOVSI	AC-2,600400	;SETUP FOR COMPARISON
	CAMN	AC,AC-2		;TEST AC=2'S COMP BR
	ER3	AC,27101	;FAC FAILED
	JUMPL	AC+2,O27100	;LOOP ON ERROR SWITCH

;AR=200400000000(1/2)
;BR=177400000000(1/4)
;FAILURE RESULTS IN LOSS OF SUBTRAHEND
;FAILURE RESULTS IN AN EXCESSIVE SHIFT
;COND, STORE MINUEND
;CORRECT DIFF=177400000000(1/4)
;ERROR DIFF=202400000000(1/2)

	AC=14
	SAVEAC	(1,1)

O27200:	MOVSI	AC-2,200400	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	CAMN	AC,AC-2		;TEST DIFF=200400000000
	ER3	AC,27201
	JUMPL	AC+2,O27200	;LOOP ON ERROR SWITCH
;AR=200400000000(1/2)
;BR=177400000000(1/4)
;FAILURE RESULTS IN A ONE'S COMPLEMENT
;SUBTRAHEND
;CORRECTd DIFF=177400000000
;ERROR DIFF=176477777777

	AC=14
	SAVEAC	(1,1)

O27300:	HRRI	AC-2,-4		;SETUP AC-2
	HRLI	AC-2,176477	;FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	CAMN	AC,AC-2		;TEST DIFF=176477777774
	ER3	AC,27301
	JUMPL	AC+2,O27300	;LOOP ON ERROR SWITCH

;AR=200400000000(1/2)
;BR=177400000000(1/4)
;FAILURE RESULTS IN LOSS OF 2'S COMP
;SUBTRAHEND. THE NUMBER IN AR IS ADDED
;TO ITSELF
;CORRECT DIFF=177400000000 1/4
;FAILURE DIFF=201400000000 (1)

	AC=13
	SAVEAC	(1,1)

O27400:	MOVSI	AC-2,201400	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	CAMN	AC,AC-2		;TEST DIFF=201400000000
	ER3	AC,27401
	JUMPL	AC+2,O27400	;LOOP ON ERROR SWITCH
;AR=200400000000
;BR=177400000000
;FAILURE RESULTS IN LOSS OF MINUEND
;THE NUMBER IN BR IS SUBTRACTED
;FROM ITSELF. NR ALL ZERO IS ASSERTED

	AC=12
	SAVEAC	(1,1)

O27500:	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	SKIPN	AC		;TEST DIFF=0
	ER3	AC,27501
	JUMPL	AC+2,O27500	;LOOP ON ERROR SWITCH

;AR=200400000000(1/2)
;BR=200400000000(1/2)
;FAILURE RESULTS IN A MINUEND
;EQUAL TO 777777777777
;CORRECT DIFF=0
;ERROR DIFF=631400000000

	AC=11
	SAVEAC	(1,1)

O27600:	MOVSI	AC-2,631400	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,200400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	CAMN	AC,AC-2		;TEST DIFF=631400000000
	ER3	AC,27601
	JUMPL	AC+2,O27600	;LOOP ON ERROR SWITCH
;AR=200400000000(1/2)
;BR=177400000000(1/4)
;FAILURE RESULTS IN ADDING TWO
;TO THE DIFFERENCE
;CORRECT DIFF=177400000000
;ERROR DIFF=177400000002

	AC=10
	SAVEAC	(1,1)

O27700:	HRRI	AC-2,2		;SETUP AC-2
	HRLI	AC-2,177400	;FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC+1,177400	;SETUP BR
	FSB	AC,AC+1		;C(AC)-C(E)
	CAMN	AC,AC-2		;TEST DIFF=177400000002
	ER3	AC,27701
	JUMPL	AC+2,O27700	;LOOP ON ERROR SWITCH

;TEST FCE, FAC, SAC AND DECODE
;TEST APPARENT ABILITY TO FETCH C(E), C(AC)
;STORE AND DECODE
;AR=200770000000
;BR=577700000000
;FCE FAILS-AC+1=C(AC)
;FAC FAILS-AC+1=C(BR)
;SAC FAILS-AC+1=ORIGINAL

	AC=14
	SAVEAC  (1,1)

O30000:	MOVSI	AC,200770	;SETUP AC
	MOVSI	AC-1,577700	;SETUP BR
	UFA	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC		;TEST AC+1=AC
	ER4	AC+1,30001	;FCE FAILED
	CAMN	AC+1,AC-1	;TEST AC+1=BR
	ER4	AC,30001	;FAC FAILED
	JUMPL	AC+2,O30000	;LOOP ON ERROR SWITCH

O30100:	MOVSI	AC,200770	;SETUP AC
	MOVSI	AC-1,577700	;SETUP BR
	SETZ	AC+1,		;CLEAR AC+1
	UFA	AC,AC-1		;C(AC)+C(E)
	SKIPN	AC+1		;TEST DIFFERS FROM ZERO
	ER4	AC+1,30101	;SAC FAILED
	JUMPL	AC+2,O30100	;LOOP ON ERROR SWITCH
;AR=200600000000(+3/4)
;BR=577400000000(-1/2)
;FAILURE RESULTS IN A CORRECT SUM.
;THE SUM IS STORED IN AC0 VICE AC+1
;CORRECT SUM=200200000000

	AC=14
	SAVEAC	(1,1)

O30200:	MOVSI	AC-2,200200	;SETUP FOR COMPARISON
	MOVSI	AC,200600	;SETUP AC
	MOVSI	AC-1,577400	;SETUP BR
	UFA	AC,AC-1		;C(AC)+C(E)
	CAMN	AC,		;TEST SUM IN AC0
	ER3	AC,30201
	JUMPL	AC+2,O30200	;LOOP ON ERROR SWITCH

;AR=200600000000(+3/4)
;BR=577400000000(-1/2)
;FAILURE RESULTS IN A CORRECT SUM.
;THE SUM IS STORED IN AC7 VICE AC4
;CORRECT SUM=200200000000

	AC=3
	SAVEAC	(1,1)

O30300:	MOVSI	AC-2,200200	;SETUP FOR COMPARISON
	MOVSI	AC,200600	;SETUP AC
	MOVSI	AC-1,577400	;SETUP BR
	UFA	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+4,AC-2	;TEST FOR SUM IN AC+4
	ER4	AC+1,30301
	JUMPL	AC+2,O30300	;LOOP ON ERROR SWITCH
;AC=200600000000(+3/4)
;BR=577400000000(-1/2)
;FAILURE RESULTS IN A NORMALIZED SUM (AC+1)
;CORRECT SUM=200200000000  (UNNORMALIZED)
;ERROR SUM=177400000000 (NORMALIZED)

	AC=14
	SAVEAC	1,1

O30400:	MOVSI	AC-2,177400	;SETUP FOR COMPARISON
	MOVSI	AC,200600	;SETUP AC
	MOVSI	AC-1,577400	;SETUP BR
	UFA	AC,AC-1		;C(AC)+C(E)
	CAMN	AC+1,AC-2	;TEST SUM=177400000000
	ER4	AC+1,30401
	JUMPL	AC+2,O30400	;LOOP ON ERROR SWITCH
SUBTTL  PART I.E-GEN TEST-FSC,FAD,FSB AND UFA

;PART I.E-GENERAL TEST-FSC,FAD,FADR,FSB,FSBR,UFA

;TEST FSC
;INCREASING SCALE FACTOR
;AR=000400000000
;SCALE=1,2,4,10,20,40,100,200
;RESULTANT EXP=1,2,4,10,20,40,200,

	AC=14
	SAVEAC	(1,1)

SN=30500
	XX=400
	ZZ=0

		;TEST FSC
O30500:	REPEAT	^D8,<
SN=SN+1
	XX=XX+XX
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC-2,400+XX	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,ZZ		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FSC FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FSC
;INCREASING EXPONENT
;AR EXP=201,202,204,210,220,240,300
;SCALE=1
;RESULTANT EXP=202,203,205,211,221,241,301

	AC=14
	SAVEAC	(1,1)

SN=30600
	ZZ=400

		;TEST FSC
O30600:	REPEAT	^D7,<
SN=SN+1
	ZZ=ZZ+ZZ
	XX=ZZ+1000
	MOVSI	AC-2,200400+XX	;SETUP FOR COMPARISON
	MOVSI	AC,200400+ZZ	;SETUP AC
	FSC	AC,1		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FSC FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST FSC
;NEGATIVE EXP, POSITIVE SCALE
;AR=777400000000
;SCALE=1,2,4,10,20,40,100,
;RESULTANT EXP=776,775,773,767,757,737,677,577

	AC=13
	SAVEAC	(1,1)

SN=30700
	WW=400
	XX=0
	ZZ=776400

		;TEST FSC
O30700:	REPEAT  ^D8,<
SN=SN+1
	XX=XX+XX
	ZZ=ZZ-WW
	WW=WW+WW
	IFE	XX,<XX=1>
	MOVSI	AC-2,400+ZZ	;SETUP FOR COMPARISON
	MOVSI	AC,777400	;SETUP AC
	FSC	AC,XX		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FSC FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FSC
;NEGATIVE EXP, NEGATIVE SCALE
;AR=577400000000
;SCALE=777,776,775,774,773,772,771,770
;RESULTANT EXP=600,601,602,603,604,605,606,607

	AC=12
	SAVEAC	(1,1)

SN=31000
	XX=0
	ZZ=577000

		;TEST FSC
O31000:	REPEAT	^D8,<
SN=SN+1
	XX=XX-1
	ZZ=ZZ+1000
	MOVSI	AC-2,400+ZZ	;SETUP FOR COMPARISON
	MOVSI	AC,577400	;SETUP AC
	FSC	AC,XX		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FSC FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST FSC
;NR ALL ZERO CONDITION
;AR=200000000000
;SCALE=1,2,4
;RESULTANT AC=0

	AC=11
	SAVEAC	(1,1)

SN=31100
	ZZ=0

		;TEST FSC -ALL ZERO COND
O31100:	REPEAT	^D3,<
SN=SN+1
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC,200000	;SETUP AC
	FSC	AC,ZZ		;RESCALE
	SKIPE	AC		;TEST AC=0
	ER3	AC,SN		;FSC -NR ALL ZERO FAILED
	JUMPL	AC+2,.-4	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FSC
;NR SHRT COND
;AR=577000000000
;SCALE=1,2,3
;RESULTANT EXPONENT=575,574,573

	AC=10
	SAVEAC	(1,1)

SN=31200
	XX=576000
	ZZ=0

		;TEST FSC-NRSHRT
O31200:	REPEAT	^D3,<
SN=SN+1
	XX=XX-1000
	ZZ=ZZ+1
	MOVSI	AC-2,400+XX	;SETUP FOR COMPARISON
	MOVSI	AC,577000	;SETUP AC
	FSC	AC,ZZ		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FSC NRSHRT FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST FSC
;-NR NORMAL
;AR=200200000000
;SCALE=1,2,3
;RESULTANT EXPONENT=200,201,202

	AC=7
	SAVEAC	(1,1)

SN=31300
	XX=177000
	ZZ=0

		;TEST FSC-NR NORMAL
O31300:	REPEAT	^D3,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+1
	MOVSI	AC-2,400+XX	;SETUP FOR COMPARISON
	MOVSI	AC,200200	;SETUP AC
	FSC	AC,ZZ		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FSC-NR NORMAL FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST FSC
;-(NOT) NRSHRT COND
;TESTING AD9(1) AND AD9-35=0)
;EXP=400
;MANTISSA=400,200,100,40,20 ETC
;SCALE=0
;RESULTANT AC SHOULD=ORIGINAL

	AC=6
	SAVEAC	(1,1)

SN=31400
	ZZ=1000

		;TEST BITS 9-17(1)
O31400:	REPEAT	^D9,<
SN=SN+1
	ZZ=ZZ/2
	MOVSI	AC-2,400000+ZZ	;SETUP FOR COMPARISON
	MOVSI	AC,400000+ZZ	;SETUP AC
	FSC	AC,		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;NRSHRT ASSERTED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
PAGE
SN=31500
	ZZ=0
		;TEST BITS 18-35(1)
O31500:	REPEAT	^D18,<
SN=SN+1
	ZZ=ZZ/2
	IFE	ZZ,<ZZ=400000>
	HRLI	AC-2,400000	;SETUP AC-2
	HRRI	AC-2,ZZ		;FOR COMPARISON
	HRLI	AC,400000	;SETUP
	HRRI	AC,ZZ		;AC
	FSC	AC,		;RESCALE
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;NRSHRT ASSERTED
	JUMPL	AC+2,.-7	;LOOP ON ERROR SWITCH
>
;TEST FAD
;TEST TWO POSITIVES
;AR=200200,ZZ (UNNORMALIZED)
;BR=200200,ZZ (UNNORMALIZED)
;SUM=200400,ZZ+ZZ

	AC=14
	SAVEAC	(1,1)

SN=31600
	XX=1
	ZZ=0

		;TEST FAD
O31600:	REPEAT	^D10,<
SN=SN+1
	XX=XX+XX
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	HRLI	AC-2,200400	;SETUP AC-2
	HRRI	AC-2,XX		;FOR COMPARISON
	HRLI	AC,200200	;SETUP
	HRRI	AC,ZZ		;AC
	MOVEM	AC,AC-1		;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FAD
;TWO POSITIVES
;AR=1/4,1/8,1/16,1/32,1/64,1/128
;BR=201400000000 (+1)
;SUMS=1 1/4, 1 1/8, 1 1/16, 1 1/32, 1 1/64, 1 1/128

	AC=14
	SAVEAC	(1,1)

SN=31700
	XX=171400
	ZZ=1

		;TEST FAD
O31700:	REPEAT	^D6,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+ZZ
	MOVSI	AC-2,201400+ZZ	;SETUP FOR COMPARISON
	MOVSI	AC,XX		;SETUP AC
	MOVSI	AC-1,201400	;SETUP BR
	FAD	AC,AC-1		;C (AC)+C(E)
	CAME	AC,AC-2		;TEST RESULT
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
;TEST FAD
;TWO POSITIVES-LARGER EXPONENT IN AC
;AR=202.6 (3), 202.4 (2),201.4(1)
;BR=200.4 (+1/2)
;SUMS=202.7, 202.5, 201.6

	AC=13
	SAVEAC	(1,1)

O32000:	MOVSI	AC-2,202700	;SETUP FOR COMPARISON
	MOVSI	AC,202600	;SETUP AC
	MOVSI	AC-1,200400	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,32001	;FAD FAILED
	JUMPL	AC+2,O32000	;LOOP ON ERROR SWITCH

O32100:	MOVSI	AC-2,202500	;SETUP FOR COMPARISON
	MOVSI	AC,202400	;SETUP AC
	MOVSI	AC-1,200400	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,32101	;FAD FAILED
	JUMPL	AC+2,O32100	;LOOP ON ERROR SWITCH

O32200:	MOVSI	AC-2,201600	;SETUP FOR COMPARISON
	MOVSI	AC,201400	;SETUP AC
	MOVSI	AC-1,200400	;SETUP BR
	FAD	AC,AC-1		;C(AC) +C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,32201	;FAD FAILED
	JUMPL	AC+2,O32200	;LOOP ON ERROR SWITCH
;TEST FAD
;TWO POSITIVES
;EXCESSIVE SHIFT COND
;AR=000400000000
;BR=200.4,201.4,202.4

	AC=12
	SAVEAC	(1,1)

SN=32300
	ZZ=177400

		;TEST FAD EXCESSIVE SHIFT
O32300:	REPEAT	^D3,<
SN=SN+1
	ZZ=ZZ+1000
	MOVSI	AC,400		;SETUP AC
	MOVSI	AC-1,ZZ		;SETUP BR
	FAD	AC,AC-1		;C(AC) + C(E)
	CAME	AC,AC-1		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FAD
;NR ALL ZERO COND
;AR=200000000000
;BR EXPONENT=201,202,203
;SUM=0

	AC=11
	SAVEAC	(1,1)

SN=32400
	ZZ=200000

		;TEST FAD NR ALL ZERO
O32400:	REPEAT	^D3,<
SN=SN+1
	ZZ=ZZ+1000
	MOVSI	AC,200000	;SETUP AC
	MOVSI	AC-1,ZZ		;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	SKIPE	AC		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-5	;LOOP ON ERROR SWITCH
>
;TEST FAD
;TWO POSITIVES
;NRSHRT COND
;AR=200.4 (1/2), 201.4 (+1), 202.4 (+2)
;BR=(SAME AS AR)
;SUMS=201.4, 202.4, 203.4

	AC=10
	SAVEAC	(1,1)

SN=32500
	XX=200400
	ZZ=177400

		;TEST FAD NRSHRT
O32500:	REPEAT	^D3,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+1000
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,ZZ		;SETUP AC
	MOVSI	AC-1,ZZ		;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FAD
;TWO POSITIVES NR NORMAL
;AR=200.1, 200.04, 200.02
;BR=AR
;SUMS=177.4, 176.4, 175.4

	AC=7
	SAVEAC	(1,1)

SN=32600
	XX=200400
	ZZ=200

		;TEST FAD NR NORMAL
O32600:	REPEAT	^D3,<
SN=SN+1
	XX=XX-1000
	ZZ=ZZ/2
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,200000+ZZ	;SETUP AC
	MOVSI	AC-1,200000+ZZ	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
;TEST FAD
;TWO NEGATIVES
;AR=577.4 (-1/2), 600.4 (-1/4), 601.4 (-1/8)
;BR=576400000000 (-1)
;SUMS=576.2 (-1 1/2), 576.3 (-1 1/4) 576.34 (-1 1/8)

	AC=6
	SAVEAC	(1,1)

SN=32700
	WW=200
	XX=576000
	ZZ=576400

		;TEST FAD -TWO NEGATIVES
O32700:	REPEAT	^D3,<
SN=SN+1
	XX=XX+WW
	WW=WW/2
	ZZ=ZZ+1000
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,ZZ		;SETUP AC
	MOVSI	AC-1,576400	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FAD
;TWO NEGATIVES
;LARGER EXPONENT IN AR
;AR=576.400000000 (-1)
;BR=577.4 (-1/2), 600.4 (-1/4), 601.4 (-1/8)
;SUMS=576.2 (-1 1/2), 576.3 (-1 1/4),576.34 (-1 1/8)

	AC=14
	SAVEAC	(1,1)

SN=33000
	WW=200
	XX=576000
	ZZ=576400

		;TEST FAD-LARGER IN AR
O33000:	REPEAT	^D3,<
SN=SN+1
	XX=XX+WW
	WW=WW/2
	ZZ=ZZ+1000
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,576400	;SETUP AC
	MOVSI	AC-1,ZZ		;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
;TEST FAD
;TWO NEGATIVES
;NR SHRT COND
;AR=577.4 (-1/2), 600.4 (-1/4), 601.4(-1/8)
;BR=AR
;SUMS=576.4 (-1), 577.4 (-1/2), 600.4 (-1/4)

	AC=14
	SAVEAC	(1,1)

SN=33100
	XX=575400
	ZZ=576400

		;TEST FAD NRSHRT
O33100:	REPEAT	^D3,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+1000
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,ZZ		;SETUP AC
	MOVSI	AC-1,ZZ		;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FAD
;POSITIVE AND NEGATIVE
;LARGER IN AR
;AR=201.400000000 (+1)
;BR=577.4 (-1/2), 600.4 (-1/4), 601.4(-1/8)
;SUMS=200.4 (+1/2), 200.6 (+3/4), 200.7 (+7/8)

	AC=13
	SAVEAC	(1,1)

SN=33200
	WW=1000
	XX=576400
	ZZ=0

		;TEST FAD
O33200:	REPEAT	^D3,<
SN=SN+1
	WW=WW/2
	XX=XX+1000
	ZZ=ZZ+WW
	MOVSI	AC-2,200000+ZZ	;SETUP FOR COMPARISON
	MOVSI	AC,201400	;SETUP AC
	MOVSI	AC-1,XX		;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	JUMPL	AC+2,.-6	;LOOP ON ERROR SWITCH
>
;TEST FAD
;NOT NR ALL ZERO
;NOT NR NORMAL
;AR=200000000000
;BR=200000000001,2,4,10 ETC
;SUM=146400000000, EXPONENT
;INCREASING BY ONE

	AC=12
	SAVEAC	(1,1)

SN=33300
	XX=145400
	ZZ=0

		;TEST BITS 18-35(1)
O33300:	REPEAT	^D18,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,200000	;SETUP AC
	MOVE	AC-1,[200000,,ZZ]	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	CAME	AC-1,[200000,,ZZ]	;VERIFY THAT C(E) IS UNCHANGED
	ER5	AC-1,SN		;FAILURE, C(E) WAS CLOBBERED
	JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
>
PAGE
SN=33400
	ZZ=0

		;TEST BITS 10-17 (1)
O33400:	REPEAT	^D7,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC-2,XX		;SETUP FOR COMPARISON
	MOVSI	AC,200000	;SETUP AC
	MOVSI	AC-1,200000+ZZ	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FAD FAILED
	CAME	AC-1,[200000+ZZ,,0]	;VERIFY THAT C(E) IS UNCHANGED
	ER5	AC-1,SN		;FAILURE, C(E) WAS CLOBBERED
	JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
>
;TEST FAD
;SET AROV, ARFOV, ARFXU FLAGS
;AR=377400000000,777700000000
;BR=377400000000,777700000000
;SUM=000400000000

	AC=11
	SAVEAC	(1,1)

				;TEST AR OV FLAG
O33500:	JFCL	10,.+1		;CLR FLAG EXEC NEXT INST
	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	MOVSI	AC-1,377400	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	JSP	AC+1,.+1
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,33501	;FAD FAILED
	JFCL	10,.+2		;TEST AROV FLAG
	ER13	AC+1,33501	;AROV FAILED TO SET
	JUMPL	AC+2,O33500	;LOOP ON ERROR SWITCH

				;TEST AR FOV FLAG
O33600:	JFCL	1,.+1		;CLR FLAG, EXEC NEXT INST
	MOVSI	AC,377400	;SETUP AC
	MOVSI	AC-1,377400	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	JSP	AC+1,.+1
	JFCL	1,.+2		;TEST AR FOV FLAG
	ER13	AC+1,33601	;AR FOV FAILED TO SET
	JUMPL	AC+2,O33600	;LOOP ON ERROR SWITCH

				;TEST ARFXU FLAG
O33700:	JRST	2,@[.+1]	;CLR FLAG,EXEC NEXT INST
	MOVSI	AC,777700	;SETUP AC
	MOVSI	AC-1,777700	;SETUP BR
	FAD	AC,AC-1		;C(AC)+C(E)
	JSP	AC-2,.+1	;STORE FLAGS AND PC
	TLZN	AC-2,100	;TEST AND CLEAR BIT 11
	ER13	AC-2,33701	;AR FXU FAILED TO SET
	JRST	2,3(AC-2)	;CLEAR AR FXU
	JUMPL	AC+2,O33700	;LOOP ON ERROR SWITCH
;TEST FADL
;AR=200000000000
;BR=200777777777
;HIGH ORDER SUM=200777777777
;LOW ORDER SUM=0

	AC=10
	SAVEAC	(1,1)

O34000:	HRLI	AC-2,200777	;SETUP AC-2
	HRRI	AC-2,-1		;FOR COMPARISON
	MOVSI	AC,200000	;SETUP AC
	HRLI	AC-1,200777	;SETUP
	HRRI	AC-1,-1		;BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST HIGH SUM
	ER3	AC,34001
	SKIPE	AC+1		;TEST LOW SUM
	ER4	AC+1,34001	;FADL FAILED
	JUMPL	AC+2,O34000	;LOOP ON ERROR SWITCH
;TEST FADL
;TEST AR35, MQ8 SHIFT CONNECTION
;AR=200000000001,2,4,10,20 ETC
;BR=201400000000, EXPONENT INCREASING
;BY 1
;HIGH ORDER SUM=C(BR)
;LOW ORDER SUM=XXX 400000, EXPONENT
;INCREASING BY 1

	AC=7
	SAVEAC	(1,1)

SN=34100
	WW=145000
	XX=200400
	ZZ=0

		;TEST BITS 18-35(1)
O34100:	REPEAT	^D18,<
SN=SN+1
	WW=WW+1000
	XX=XX+1000
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC-2,400+WW	;SETUP FOR COMPARISON
	HRLI	AC,200000	;SETUP
	HRRI	AC,ZZ		;AC
	MOVSI	AC-1,XX		;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-1		;TEST HIGH SUM
	ER3	AC,SN
	CAME	AC+1,AC-2	;TEST LOW SUM
	ER4	AC+1,SN		;FADL FAILED
	JUMPL	AC+2,.-^D9	;LOOP ON ERROR SWITCH
>
PAGE
SN=34200
	ZZ=0

		;TEST BIT 9-17(1)
O34200:	REPEAT	^D9,<
SN=SN+1
	WW=WW+1000
	XX=XX+1000
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=1>
	MOVSI	AC-2,400+WW	;SETUP FOR COMPARISON
	MOVSI	AC,200000+ZZ	;SETUP AC
	MOVSI	AC-1,XX		;SETUP BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-1		;TEST HIGH SUM
	ER3	AC,SN
	CAME	AC+1,AC-2	;TEST LOW SUM
	ER4	AC+1,SN		;FADL FAILED
	JUMPL	AC+2,.-^D8	;LOOP ON ERROR SWITCH
>
;TEST FADL
;NR SHRT COND
;TEST AR35, MQ8 SHIFT CONN
;AR=200400000000
;BR=200400000001
;HIGH SUM=201400000000
;LOW SUM=146400000000

	AC=6
	SAVEAC	(1,1)

O34300:	MOVSI	AC-2,201400	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	HRLI	AC-1,200400	;SETUP
	HRRI	AC-1,1		;BR
	FADL	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST HIGH SUM
	ER3	AC,34301	;HIGH SUM ERROR
	MOVSI	AC-2,146400	;SETUP FOR COMPARISON
	CAME	AC+1,AC-2	;TEST LOW SUM
	ER4	AC+1,34301	;LOW SUM ERROR
	CAME	AC-1,[200400,,1]	;VERIFY THAT C(E) IS UNCHANGED
	ER5	AC-1,34301	;FAILURE, C(E) WAS CLOBBERED
	JUMPL	AC+2,O34300	;LOOP ON ERROR SWITCH

;TEST FADM
;AR=200400000000 (+1/2)
;BR=201400000000 (+1)
;SUM=201600000000 (+1 1/2)

	AC=14
	SAVEAC	(1,1)

O34400:	MOVSI	AC-2,201600	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC-1,201400	;SETUP BR
	FADM	AC,AC-1		;C(AC)+C(E)
	CAME	AC-1,AC-2	;TEST SUM
	ER5	AC-1,34401	;FADM FAILED
	CAME	AC,[200400,,0]	;VERIFY THAT C(AC) IS UNCHANGED
	ER3	AC,34401	;FAILURE, C(AC) WAS CLOBBERED
	JUMPL	AC+2,O34400	;LOOP ON ERROR SWITCH
PAGE
;TEST FADB
;AR=200400000000 (+1/2)
;BR=201400000000 (+1)
;SUM =201600000000 (+1 1/2)

	AC=14
	SAVEAC	(1,1)

O34500:	MOVSI	AC-2,201600	;SETUP FOR COMPARISON
	MOVSI	AC,200400	;SETUP AC
	MOVSI	AC-1,201400	;SETUP BR
	FADB	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST C(AC)
	ER3	AC,34501
	CAME	AC-1,AC-2	;TEST C(E)
	ER5	AC-1,34501	;FADB FAILED
	JUMPL	AC+2,O34500	;LOOP ON ERROR SWITCH
;TEST FADR
;TEST ROUNDING
;AR=200000000003,5,11, ETC
;BR=202400000000, EXPONENT INCREASING BY 1
;SUM=C(BR)+1

	AC=13
	SAVEAC	(1,1)

SN=34600
	XX=201400
	ZZ=1

		;TEST MQ RIGHT
O34600:	REPEAT  ^D17,<
SN=SN+1
	XX=XX+1000
	ZZ=ZZ+ZZ
	HRLI	AC-2,XX		;SETUP AC-2
	HRRI	AC-2,1		;FOR COMPARISON
	HRLI	AC,200000	;SETUP
	HRRI	AC,ZZ		;AC
	AOJ	AC,		;SET BIT 35
	MOVSI	AC-1,XX		;SETUP BR
	FADR	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,SN		;FADR FAILED
	CAME	AC-1,[XX,,0]	;VERIFY THAT C(E) IS UNCHANGED
	ER5	AC-1,SN		;FAILURE, C(E) WAS CLOBBERED
	JUMPL	AC+2,.-^D11	;LOOP ON ERROR SWITCH
>
PAGE
;TEST FADRI
;AR=200400000003
;SUM=202500000001

	AC=12
	SAVEAC	(1,1)

O34700:	HRLI	AC-2,202500	;SETUP AC-2
	HRRI	AC-2,1		;FOR COMPARISON
	HRLI	AC,200400	;SETUP
	HRRI	AC,3		;AC
	FADRI	AC,202400	;C(AC)+C(E)
	CAME	AC,AC-2		;TEST SUM
	ER3	AC,34701	;FADRI FAILED
	JUMPL	AC+2,O34700	;LOOP ON ERROR SWITCH
;TEST FSB
;TWO POSITIVES
;AR=201400000000 (+1)
;BR=177400000000 (+1/4)
;DIFF=200600000000 (+3/4)

	AC=11
	SAVEAC	(1,1)

O35000:	MOVSI	AC-2,200600	;SETUP  FOR COMPARISON
	MOVSI	AC,201400	;SETUP AC
	MOVSI	AC-1,177400	;SETUP BR
	FSB	AC,AC-1		;C(AC)-C(E)
	CAME	AC,AC-2		;TEST DIFFERENCE
	ER3	AC,35001	;FSB FAILED
	CAME	AC-1,[177400,,0]	;VERIFY THAT C(E) IS UNCHANGED
	ER5	AC-1,35001	;C(E) WAS CLOBBERED
	JUMPL	AC+2,O35000	;LOOP ON ERROR SWITCH

;TEST FSBM
;TWO NEGATIVES
;AR=576400000000 (-1)
;BR=600400000000 (-1/4)
;DIFF=577200000000 (-3/4)

	AC=10
	SAVEAC	(1,1)

O35100:	MOVSI	AC-2,577200	;SETUP FOR COMPARISON
	MOVSI	AC,576400	;SETUP AC
	MOVSI	AC-1,600400	;SETUP BR
	FSBM	AC,AC-1		;C(AC)-C(E)
	CAME	AC-1,AC-2	;TEST DIFFERENCE
	ER5	AC-1,35101	;FSBM FAILED
	CAME	AC,[576400,,0]	;VERIFY THAT C(AC) IS UNCHANGED
	ER3	AC,35101	;FAILURE, C(AC) WAS CLOBBERED
	JUMPL	AC+2,O35100	;LOOP ON ERROR SWITCH
;TEST FSBB
;NEGATIVE AND POSITIVE
;AR=201400000000 (+1)
;BR=577400000000 (-1/2)
;DIFF=201600000000 (+1 1/2)

	AC=7
	SAVEAC	(1,1)

O35200:	MOVSI	AC-2,201600	;SETUP FOR COMPARISON
	MOVSI	AC,201400	;SETUP AC
	MOVSI	AC-1,577400	;SETUP BR
	FSBB	AC,AC-1		;C(AC)-C(E)
	CAME	AC,AC-2		;TEST C(AC)
	ER3	AC,35201
	CAME	AC-1,AC-2	;TEST C(E)
	ER5	AC-1,35201	;FSBB FAILED
	JUMPL	AC+2,O35200	;LOOP ON ERROR SWITCH

;TEST FSBRB
;TWO POSITIVES
;NR NORMAL
;AR=203400000000
;BR=200477777775
;DIFF=202660000001

	AC=6
	SAVEAC	(1,1)

O35300:	HRLI	AC-2,202660	;SETUP AC-2
	HRRI	AC-2,1		;FOR COMPARISON
	MOVSI	AC,203400	;SETUP AC
	HRLI	AC-1,200477	;SETUP
	HRRI	AC-1,-3		;BR
	FSBRB	AC,AC-1		;C(AC)-C(E)
	CAME	AC,AC-2		;TEST C(AC)
	ER3	AC,35301
	CAME	AC-1,AC-2	;TEST C(E)
	ER5	AC-1,35301	;FSBRB FAILED
	JUMPL	AC+2,O35300	;LOOP ON ERROR SWITCH
;TEST UFA
;AR=200177000000
;BR=200076000000
;SUM=200275000000

	AC=14
	SAVEAC	(1,1)

O35400:	MOVSI	AC-2,200177	;SETUP FOR COMPARISON
	MOVSI	AC,200177	;SETUP AC
	MOVSI	AC-1,200076	;SETUP BR
	UFA	AC,AC-1		;C(AC)+C(E)
	CAME	AC,AC-2		;TEST C(AC)=ORIGINAL
	ER3	AC,35401	;AC ERROR
	MOVSI	AC-2,200275	;SETUP FOR COMPARISON
	CAME	AC+1,AC-2	;TEST SUM
	ER4	AC+1,35401	;UFA FAILED
	CAME	AC-1,[200076,,0]	;VERIFY THAT C(E) IS UNCHANGED
	ER5	AC-1,35401
	JUMPL	AC+2,O35400	;LOOP ON ERROR SWITCH
;GENERAL TESTS TO VERIFY EFFECT OF FSC EXECUTION ON AROV, FOV AND FXU FLAGS

	AC=4
	SAVEAC	(1,1)

O35500:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,0		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC) FOR NO CHANGE
	ER3	AC,35501	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35501	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35501	;A FLAG WAS SET
	JUMPL	AC+2,O35500	;LOOP ON ERROR SWITCH

O35510:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,1		;SCALE - AROV, FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;EXAMINE C(AC)
	ER3	AC,35511	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35511	;AROV FLAG WAS NOT SET
	TLNE	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35511	;ERROR - FXU IS SET
	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35511	;ERROR - FOV NOT SET
	JUMPL	AC+2,O35510	;LOOP ON ERROR SWITCH
O35520:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,177400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,200		;SCALE - AROV,FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35521	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35521	;AROV FLAG WAS NOT SET
	TLNE	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35521	;FXU WAS SET
	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35521	;FOV WAS NOT SET
	JUMPL	AC+2,O35520	;LOOP ON ERROR SWITCH
O35530:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,200400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,201		;SCALE - AROV,FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35531	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35531	;AROV FLAG NOT SET
	SKIPE	KLFLG
	JRST	O35535		;KL10
	TLNN	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35531	;FXU WAS NOT SET
O35537:	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35531	;FOV WAS NOT SET
	JUMPL	AC+2,O35530	;LOOP ON ERROR SWITCH.
	JRST O35540
O35535:	TLNE	AC+1,FXU	;FXU SHOULD NOT BE SET ON KL10
	ER13	AC+1,35532
	JRST	O35537
O35540:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,376400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,377		;SCALE - AROV, FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35541	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35541	;AROV FLAG WAS NOT SET
	SKIPE	KLFLG
	JRST	O35545		;KL10
	TLNN	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35541	;FXU WAS NOT SET
O35547:	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35541	;FOV WAS NOT SET
	JUMPL	AC+2,O35540	;LOOP ON ERROR SWITCH
	JRST	O35550
O35545:	TLNE	AC+1,FXU	;FXU SHOULD NOT BE SET ON KL10
	ER13	AC+1,35542
	JRST	O35547

O35550:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,400		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35551	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35551	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35551	;A FLAG WAS SET
	JUMPL	AC+2,O35550	;LOOP ON ERROR SWITCH
O35560:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,-377		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35561	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35561	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35561	;A FLAG WAS SET
	JUMPL	AC+2,O35560	;LOOP ON ERROR SWITCH

O35570:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,377400	;SETUP AC
	FSC	AC,-400		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35571	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35571	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35571	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35571	;FXU WAS NOT SET
	JUMPL	AC+2,O35570	;LOOP ON ERROR SWITCH
O35600:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,0		;FSC - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35601	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35601	;AROV WAS SET
	TLNE	AC+1,FOV+FXU	;TEST FOV,FXU
	ER13	AC+1,35601	;EITHER FOV OR FXU WAS SET
	JUMPL	AC+2,O35600	;LOOP ON ERROR SWITCH

O35610:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,-1		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35611	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35611	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35611	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35611	;FXU WAS NOT SET
	JUMPL	AC+2,O35610	;LOOP ON ERROR SWITCH

O35620:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,201400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,-177		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35621	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35621	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35621	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35621	;FXU WAS NOT SET
	JUMPL	AC+2,O35620	;LOOP ON ERROR SWITCH
O35630:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,200400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,-200		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35631	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35631	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35631	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35631	;FXU WAS NOT SET
	JUMPL	AC+2,O35630	;LOOP ON ERROR SWITCH

O35640:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,1400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,-377		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35641	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35641	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35641	;FOV WAS NOT SET
	SKIPE	KLFLG
	JRST	O35645		;KL10
	TLNE	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35641	;FXU WAS  SET
O35647:	JUMPL	AC+2,O35640	;LOOP ON ERROR SWITCH
	JRST	O35650
O35645:	TLNN	AC+1,FXU	;FXU SHOULD BE SET ON KL10
	ER13	AC+1,35642
	JRST	O35647
O35650:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,-400		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35651	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35651	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35651	;FOV WAS NOT SET
	SKIPE	KLFLG
	JRST	O35655
	TLNE	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35651	;FXU WAS SET
O35657:	JUMPL	AC+2,O35650	;LOOP ON ERROR SWITCH
	JRST	O35660
O35655:	TLNN	AC+1,FXU	;FXU SHOULD BE SET ON KL10
	ER13	AC+1,35652
	JRST	O35657
O35660:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,377400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,377		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35661	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35661	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35661	;A FLAG WAS SET
	JUMPL	AC+2,O35660	;LOOP ON ERROR SWITCH

O35670:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,400	;SETUP FOR COMPARISON
	MOVSI	AC,400		;SETUP AC
	FSC	AC,400		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35671	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35671	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35671	;A FLAG WAS SET
	JUMPL	AC+2,O35670	;LOOP ON ERROR SWITCH
O35700:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-377400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,0		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC) FOR NO CHANGE
	ER3	AC,35701	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35701	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35701	;A FLAG WAS SET
	JUMPL	AC+2,O35700	;LOOP ON ERROR SWITCH

O35710:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,1		;SCALE - AROV,FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;EXAMINE C(AC)
	ER3	AC,35711	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35711	;AROV FLAG WAS NOT SET
	TLNE	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35711	;ERROR - FXU IS SET
	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35711	;ERROR - FOV NOT SET
	JUMPL	AC+2,O35710	;LOOP ON ERROR SWITCH

O35720:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-177400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,200		;SCALE - AROV,FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35721	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35721	;AROV FLAG WAS NOT SET
	TLNE	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35721	;ERROR - FXU IS SET
	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35721	;ERROR - FOV NOT SET
	JUMPL	AC+2,O35720	;LOOP ON ERROR SWITCH
O35730:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-200400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,201		;SCALE - AROV,FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35731	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35731	;AROV FLAG WAS NOT SET
	SKIPE	KLFLG
	JRST	O35735		;KL10
	TLNN	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35731	;ERROR - FXU IS NOT SET
O35737:	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35731	;ERROR - FOV NOT SET
	JUMPL	AC+2,O35730	;LOOP ON ERROR SWITCH
	JRST	O35740
O35735:	TLNE	AC+1,FXU	;FXU SHOULD NOT BE SET ON KL10
	ER13	AC+1,35732
	JRST	O35737

O35740:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-376400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,377		;SCALE - AROV, FOV
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35741	;C(AC) RAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35741	;AROV FLAG WAS NOT SET
	SKIPE	KLFLG
	JRST	O35745
	TLNN	AC+1,FXU	;EXAMINE FXU
	ER13	AC+1,35741	;ERROR - FXU IS NOT SET
O35747:	TLNN	AC+1,FOV	;EXAMINE FOV
	ER13	AC+1,35741	;ERROR - FOV NOT SET
	JUMPL	AC+2,O35740	;LOOP ON ERROR SWITCH
	JRST	O35750
O35745:	TLNE	AC+1,FXU	;FXU SOULD NOT BE SET ON KL10
	ER13	AC+1,35742
	JRST	O35747
O35750:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-377400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC.
	FSC	AC,400		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35751	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35751	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35751	;A FLAG WAS SET
	JUMPL	AC+2,O35750	;LOOP ON ERROR SWITCH
O35760:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,-377		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35761	;C(AC) FAILED.
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,35761	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,35761	;A FLAG WAS SET
	JUMPL	AC+2,O35760	;LOOP ON ERROR SWITCH

O35770:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-377400	;SETUP FOR COMPARISON
	MOVSI	AC,-377400	;SETUP AC
	FSC	AC,-400		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,35771	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,35771	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,35771	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,35771	;FXU WAS NOT SET
	JUMPL	AC+2,O35570	;LOOP ON ERROR SWITCH
O36000:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,0		;FSC - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36001	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,36001	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;TEST FOV,FXU
	ER13	AC+1,36001	;EITHER FOV OR FXU WAS SET
	JUMPL	AC+2,O36000	;LOOP ON ERROR SWITCH

O36010:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-377400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,-1		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36011	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,36011	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,36011	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,36011	;FXU WAS NOT SET
	JUMPL	AC+2,O36010	;LOOP ON ERROR SWITCH

O36020:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-201400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,-177		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36021	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,36021	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,36021	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,36021	;FXU WAS NOT SET
	JUMPL	AC+2,O36020	;LOOP ON ERROR SWITCH
O36030:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-200400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,-200		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36031	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,36031	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,36031	;FOV WAS NOT SET
	TLNN	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,36031	;FXU WAS NOT SET
	JUMPL	AC+2,O36030	;LOOP ON ERROR SWITCH

O36040:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-1400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,-377		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36041	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,36041	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,36041	;FOV WAS NOT SET
	SKIPE	KLFLG
	JRST	O36045		;KL10
	TLNE	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,36041	;FXU WAS SET
O36047:	JUMPL	AC+2,O36040	;LOOP ON ERROR SWITCH
	JRST	O36050
O36045:	TLNN	AC+1,FXU	;FXU SHOULD BE SET ON KL10
	ER13	AC+1,36042
	JRST	O36047
O36050:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,-400		;SCALE - AROV,FOV,FXU
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36051	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	ER13	AC+1,36051	;AROV FLAG WAS NOT SET
	TLNN	AC+1,FOV	;EXAMINE FOV FLAG
	ER13	AC+1,36051	;FOV WAS NOT SET
	SKIPE	KLFLG
	JRST	O36055		;KL10
	TLNE	AC+1,FXU	;EXAMINE FXU FLAG
	ER13	AC+1,36051	;FXU WAS SET
O36057:	JUMPL	AC+2,O36050	;LOOP ON ERROR SWITCH
	JRST	O36060
O36055:	TLNN	AC+1,FXU	;FXU SHOULD BE SET ON KL10
	ER13	AC+1,36052
	JRST	O36057
O36060:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-377400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,377		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36061	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,36061	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,36061	;A FLAG WAS SET
	JUMPL	AC+2,O36060	;LOOP ON ERROR SWITCH

O36070:	JRST	2,@.+1		;CLEAR FLAGS
		.+1
	MOVSI	AC-2,-400	;SETUP FOR COMPARISON
	MOVSI	AC,-400		;SETUP AC
	FSC	AC,400		;SCALE - NO FLAGS
	JSP	AC+1,.+1	;SAVE FLAGS
	CAME	AC,<AC-2>&17	;TEST C(AC)
	ER3	AC,36071	;C(AC) FAILED
	JOV	.+2		;EXAMINE AROV FLAG
	JRST	.+2
	ER13	AC+1,36071	;AROV FLAG WAS SET
	TLNE	AC+1,FOV+FXU	;EXAMINE FLAGS
	ER13	AC+1,36071	;A FLAG WAS SET
	JUMPL	AC+2,O36070	;LOOP ON ERROR SWITCH

	JRST	BEGEND		;REPEAT DIAGNOSTIC