Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dskca1.mac
There are no other files named dskca1.mac in the archive.
RENTR1:	DROPDV			;CLOSE LOGICAL OUTPUT FILE
	CALL	[SIXBIT .EXIT.]

PGMNAM:	ASCIZ?
DECSYSTEM 2020 ADVANCED INSTRUCTION DIAGNOSTIC #1 (DSKCA)
?
;INITIALIZE SUBROUTINES

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

STARTA:	JRST	.+1		;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

O13000:	REPEAT	^D7,		;TEST BITS 8-2
<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

O13100:	REPEAT  ^D7,		;TEST BITS 8-2
<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

O13300:	REPEAT	^D7,		;TEST BITS 8-2
<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 (NORM RET, ROUNDING)

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

;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
;TEST FADR
;SINGLE PRECISION FLOATING NORMALIZATION
;RENORMALIZATION IS FORCED DUE TO THE ROUNDING OF THE
;OPERAND OVERFLOWING THE MANTISSA.

	AC=10
	SAVEAC	(1,1)

SPFNRN:	HRLOI	AC,777		;FRACTION ALL ONES
	MOVE	AC-2,[034400,,0]

	FADR	AC,[033777,,-1]	;DURING ROUNDING WILL REQ RENORM

	CAME	AC,AC-2		;WORD GET RENORMED OK ?
	ER3	AC,27010	;NO

	JUMPL	AC+2,SPFNRN	;LOOP ON ERROR SWITCH
SUBTTL	PART I.D-FSB

;		PART I.D-FSB

;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

SUBTTL  PART I.E-GEN TEST-FSC,FAD,FSB

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

;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

O30500:	REPEAT	^D8,		;TEST FSC
<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

O30600:	REPEAT	^D7,		;TEST FSC
<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

O30700:	REPEAT  ^D8,		;TEST FSC
<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

O31000:	REPEAT	^D8,		;TEST FSC
<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

O31100:	REPEAT	^D3,		;TEST FSC -ALL ZERO COND
<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

O31200:	REPEAT	^D3,		;TEST FSC-NRSHRT
<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

O31300:	REPEAT	^D3,		;TEST FSC-NR NORMAL
<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

O31400:	REPEAT	^D9,		;TEST BITS 9-17(1)
<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
O31500:	REPEAT	^D18,		;TEST BITS 18-35(1)
<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

O31600:	REPEAT	^D10,		;TEST FAD
<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

O31700:	REPEAT	^D6,		;TEST FAD
<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

O32300:	REPEAT	^D3,		;TEST FAD EXCESSIVE SHIFT
<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

O32400:	REPEAT	^D3,		;TEST FAD NR ALL ZERO
<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

O32500:	REPEAT	^D3,		;TEST FAD NRSHRT
<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

O32600:	REPEAT	^D3,		;TEST FAD NR NORMAL
<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

O32700:	REPEAT	^D3,		;TEST FAD -TWO NEGATIVES
<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

O33000:	REPEAT	^D3,		;TEST FAD-LARGER IN AR
<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

O33100:	REPEAT	^D3,		;TEST FAD NRSHRT
<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

O33200:	REPEAT	^D3,		;TEST FAD
<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

O33300:	REPEAT	^D18,		;TEST BITS 18-35(1)
<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

O33400:	REPEAT	^D7,		;TEST BITS 10-17 (1)
<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 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

O34600:	REPEAT  ^D17,		;TEST MQ RIGHT
<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
;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