Google
 

Trailing-Edge - PDP-10 Archives - klad_sources - klad.sources/dfkca5.mac
There are no other files named dfkca5.mac in the archive.
SUBTTL CHECK NORMALIZATION FOR DOUBLE PRECISION FLOATING POINT NUMBERS

	AC=4
CE00:	SAVEAC	(1,1)
	JRSTF	@[.+1]			;CLEAR ALL FLAGS

T=101
S100:	SDFARP	T,201400,0,0,0,577400,0,0,0,200400,0,0,0

	XX=400
	ZZ=200400

	REPEAT	^D8,
<T=T+1
	XX=XX/2
	ZZ=ZZ-1000
	SDFARP	T,200400+XX,0,0,0,577400,0,0,0,ZZ,0,0,0
>

	XX=1000000

	REPEAT	^D18,
<T=T+1
	XX=XX/2
	ZZ=ZZ-1000
	SDFARP	T,200400,XX,0,0,577400,0,0,0,ZZ,0,0,0
>

	XX=400000

	REPEAT	^D17,
<T=T+1
	XX=XX/2
	ZZ=ZZ-1000
	SDFARP	T,200400,0,XX,0,577400,0,0,0,ZZ,0,0,0
>

	XX=1000000

	REPEAT	^D18,
<T=T+1
	XX=XX/2
	ZZ=ZZ-1000
	SDFARP	T,200400,0,0,XX,577400,0,0,0,ZZ,0,0,0
>
T=200
	XX=776777
	YY=577377
	ZZ=0

S200:	REPEAT	^D9,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	IFE	ZZ,<ZZ=-1>
	SDFARP	T,600000+XX&777,-1,-1,-1,0,0,0,0,YY,-1,377777,ZZ
>

	XX=777776777777

	REPEAT	^D10,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	SDFARP	T,600777,XX&777777,-1,-1,0,0,0,0,YY,-1,377777,ZZ
>

	ZZ=-1

	REPEAT	^D8,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	SDFARP	T,600777,XX,-1,-1,0,0,0,0,YY,-1,ZZ&377777,0
>
	XX=777777377777

	REPEAT	^D9,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	SDFARP	T,600777,-1,XX,-1,0,0,0,0,YY,-1,ZZ&377777,0
>

	ZZ=-1

	REPEAT	^D8,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	SDFARP	T,600777,-1,XX,-1,0,0,0,0,YY,ZZ,0,0
>

	XX=777776777777

	REPEAT	^D10,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	SDFARP	T,600777,-1,-1,XX,0,0,0,0,YY,ZZ,0,0
>

	YY=YY-377
	ZZ=-1

	REPEAT	^D7,
<T=T+1
	XX=<XX-1>/2
	YY=YY+1000
	ZZ=ZZ+ZZ
	SDFARP	T,600777,-1,-1,XX,0,0,0,0,YY+ZZ&377,0,0,0
>

T=T+1
	XX=<XX-1>/2
	ZZ=ZZ+ZZ
	SDFARP	T,600777,-1,-1,XX,0,0,0,0,YY+ZZ&777,0,0,0
SUBTTL	DFAD TEST-DOUBLE FLOATING POINT ADD AND ROUND

;CHECK THAT DFAD AC,E DOES NOT ALTER C(E) OR C(E+1)

S10100:	DMOVE	AC,[200777,,-1
		-1,,-1]
	DMOVE	AC+2,[200000,,0
		400000,,-1]
	DFAD	AC,AC+2
	CAME	AC+2,[200000,,0]
	ER5	AC+2,10101		;C(E) WAS ALTERED
	CAME	AC+3,[400000,,-1]
	ER6	AC+3,10101		;C(E+1) WAS ALTERED
	JUMPL	AC+4,S10100		;LOOP ON ERROR SWITCH

	SDFA	102,600,0,0,0,400,0,0,0,1500,0,0,0

	SDFA	103,377000,0,0,0,377600,0,0,0,377600,0,0,0

	SDFA	104,600400,0,0,0,177400,0,0,0,0,0,0,0

	SDFA	105,200400,0,0,0,205400,0,0,0,205410,0,0,0

	SDFA	106,200400,0,0,0,205600,0,0,0,205610,0,0,0

	SDFA	107,600,0,0,0,200400,0,0,0,200400,0,0,0

	SDFA	110,200700,0,0,0,0,0,0,0,200700,0,0,0

	SDFA	111,201400,0,0,0,200400,0,0,0,201600,0,0,0

	SDFA	112,202400,0,0,0,200400,0,0,0,202500,0,0,0

	SDFA	113,204400,0,0,0,200400,0,0,0,204420,0,0,0

	SDFA	114,210400,0,0,0,200400,0,0,0,210401,0,0,0

	SDFA	115,220400,0,0,0,200400,0,0,0,220400,2000,0,0

	SDFA	116,240400,0,0,0,200400,0,0,0,240400,0,4000,0

	SDFA	117,300400,0,0,0,200400,0,0,0,300400,0,0,0

	SDFA	120,600400,0,0,0,600400,0,0,0,577400,0,0,0

	SDFA	121,0,0,0,0,205400,0,0,0,205400,0,0,0

	SDFA	122,200400,0,0,0,200400,0,0,0,201400,0,0,0

	SDFA	123,577400,0,0,0,577400,0,0,0,576400,0,0,0

	SDFA	124,205600,0,0,0,177400,0,0,0,205604,0,0,0
	SDFA	125,201000,0,0,0,202000,0,0,0,0,0,0,0

	SDFA	126,202000,0,0,0,204000,0,0,0,0,0,0,0

	SDFA	127,204000,0,0,0,207000,0,0,0,0,0,0,0

	SDFA	130,210000,0,0,0,214000,0,0,0,0,0,0,0

	SDFA	131,220000,0,0,0,225000,0,0,0,0,0,0,0

	SDFA	132,240000,0,0,0,246000,0,0,0,0,0,0,0

	SDFA	133,300000,0,0,0,307000,0,0,0,0,0,0,0

	SDFA	134,200000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	135,201000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	136,202000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	137,203000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	140,204000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	141,206000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	142,207000,0,0,0,600400,0,0,0,600400,0,0,0

	SDFA	143,400200,0,0,0,377400,0,0,0,401400,0,0,0

	SDFA	144,377400,0,0,0,400200,0,0,0,401400,0,0,0

	SDFA	145,200400,0,0,0,600400,0,0,0,177400,0,0,0

	SDFA	146,200600,0,0,0,201400,0,0,0,201700,0,0,0

	SDFA	147,577600,0,0,0,200400,0,0,0,177400,0,0,0

	SDFA	150,600400,0,0,0,577200,0,0,0,576400,0,0,0

	SDFA	151,576400,0,0,0,200400,0,0,0,577400,0,0,0

	SDFA	152,200440,0,0,0,200400,0,0,0,201420,0,0,0

	SDFA	153,577400,0,0,0,577400,0,0,0,576400,0,0,0

	SDFA	154,200400,77,0,0,206400,0,0,0,206404,0,374000,0

	SDFA	155,30400,3,0,0,32400,0,0,0,32500,0,300000,0

	SDFA	156,200400,1,0,0,201600,0,0,0,202400,0,100000,0

	SDFA	157,577400,3,0,0,202400,0,0,0,201600,1,200000,0

	SDFA	160,200400,3,0,0,202400,0,0,0,202500,0,300000,0

	SDFA	161,200400,-1,0,0,202400,0,0,0,202500,177777,300000,0

	SDFA	162,200200,1,0,0,200200,1,0,0,200400,2,0,0

	SDFA	163,200200,2,0,0,200200,2,0,0,200400,4,0,0

	SDFA	164,200200,4,0,0,200200,4,0,0,200400,10,0,0

	SDFA	165,200200,10,0,0,200200,10,0,0,200400,20,0,0

	SDFA	166,200200,20,0,0,200200,20,0,0,200400,40,0,0

	SDFA	167,200200,40,0,0,200200,40,0,0,200400,100,0,0

	SDFA	170,200200,100,0,0,200200,100,0,0,200400,200,0,0

	SDFA	171,200200,200,0,0,200200,200,0,0,200400,400,0,0

	SDFA	172,200200,400,0,0,200200,400,0,0,200400,1000,0,0

	SDFA	173,200200,1000,0,0,200200,1000,0,0,200400,2000,0,0

	SDFA	174,172400,0,0,0,201400,0,0,0,201402,0,0,0

	SDFA	175,173400,0,0,0,201400,0,0,0,201404,0,0,0

	SDFA	176,174400,0,0,0,201400,0,0,0,201410,0,0,0

	SDFA	177,175400,0,0,0,201400,0,0,0,201420,0,0,0

	SDFA	200,176400,0,0,0,201400,0,0,0,201440,0,0,0

	SDFA	201,177400,0,0,0,201400,0,0,0,201500,0,0,0

	SDFA	202,202600,0,0,0,200400,0,0,0,202700,0,0,0

	SDFA	203,400,0,0,0,200400,0,0,0,200400,0,0,0

	SDFA	204,400,0,0,0,201400,0,0,0,201400,0,0,0

	SDFA	205,400,0,0,0,202400,0,0,0,202400,0,0,0

	SDFA	206,200000,0,0,0,201000,0,0,0,0,0,0,0

	SDFA	207,200000,0,0,0,202000,0,0,0,0,0,0,0

	SDFA	210,200000,0,0,0,203000,0,0,0,0,0,0,0

	SDFA	211,200400,0,0,0,200400,0,0,0,201400,0,0,0

	SDFA	212,201400,0,0,0,201400,0,0,0,202400,0,0,0

	SDFA	213,202400,0,0,0,202400,0,0,0,203400,0,0,0

	SDFA	214,200100,0,0,0,200100,0,0,0,177400,0,0,0

	SDFA	215,200040,0,0,0,200040,0,0,0,176400,0,0,0

	SDFA	216,200020,0,0,0,200020,0,0,0,175400,0,0,0

	SDFA	217,577400,0,0,0,576400,0,0,0,576200,0,0,0

	SDFA	220,600400,0,0,0,576400,0,0,0,576300,0,0,0

	SDFA	221,601400,0,0,0,576400,0,0,0,576340,0,0,0

	SDFA	222,576400,0,0,0,577400,0,0,0,576200,0,0,0

	SDFA	223,576400,0,0,0,600400,0,0,0,576300,0,0,0

	SDFA	224,576400,0,0,0,601400,0,0,0,576340,0,0,0

	SDFA	225,577400,0,0,0,577400,0,0,0,576400,0,0,0

	SDFA	226,601400,0,0,0,601400,0,0,0,600400,0,0,0

	SDFA	227,201400,0,0,0,577400,0,0,0,200400,0,0,0

	SDFA	230,201400,0,0,0,600400,0,0,0,200600,0,0,0

	SDFA	231,201400,0,0,0,601400,0,0,0,200700,0,0,0

	SDFA	232,200000,0,0,0,200000,1,0,0,146400,0,0,0

	SDFA	233,200000,0,0,0,200000,2,0,0,147400,0,0,0

	SDFA	234,200000,0,0,0,200000,4,0,0,150400,0,0,0

	SDFA	235,200000,0,0,0,200000,10,0,0,151400,0,0,0

	SDFA	236,200000,0,0,0,200000,20,0,0,152400,0,0,0

	SDFA	237,200000,0,0,0,200000,40,0,0,153400,0,0,0

	SDFA	240,200000,0,0,0,200000,100,0,0,154400,0,0,0

	SDFA	241,200000,0,0,0,200000,200,0,0,155400,0,0,0

	SDFA	242,200000,0,0,0,200000,400,0,0,156400,0,0,0

	SDFA	243,200000,0,0,0,200000,1000,0,0,157400,0,0,0

	SDFA	244,200000,0,0,0,200000,2000,0,0,160400,0,0,0

	SDFA	245,200000,0,0,0,200000,4000,0,0,161400,0,0,0
	SDFA	246,200000,0,0,0,200000,10000,0,0,162400,0,0,0

	SDFA	247,200000,0,0,0,200000,20000,0,0,163400,0,0,0

	SDFA	250,200000,0,0,0,200000,40000,0,0,164400,0,0,0

	SDFA	251,200000,0,0,0,200000,100000,0,0,165400,0,0,0

	SDFA	252,200000,0,0,0,200000,200000,0,0,166400,0,0,0

	SDFA	253,200000,0,0,0,200000,400000,0,0,167400,0,0,0

	SDFA	254,200000,0,0,0,200001,0,0,0,170400,0,0,0

	SDFA	255,200000,0,0,0,200002,0,0,0,171400,0,0,0

	SDFA	256,200000,0,0,0,200004,0,0,0,172400,0,0,0

	SDFA	257,200000,0,0,0,200010,0,0,0,173400,0,0,0

	SDFA	260,200000,0,0,0,200020,0,0,0,174400,0,0,0

	SDFA	261,200000,0,0,0,200040,0,0,0,175400,0,0,0

	SDFA	262,200000,0,0,0,200100,0,0,0,176400,0,0,0

	SDFA	263,377400,0,0,0,377400,0,0,0,400,0,0,0

	SDFA	264,777700,0,0,0,777700,0,0,0,400400,0,0,0

	SDFA	265,200000,0,0,0,200777,-1,0,0,200777,-1,0,0

	SDFA	266,200000,1,0,0,201400,0,0,0,201400,0,200000,0

	SDFA	267,200000,2,0,0,202400,0,0,0,202400,0,200000,0

	SDFA	270,200000,4,0,0,203400,0,0,0,203400,0,200000,0

	SDFA	271,200000,10,0,0,204400,0,0,0,204400,0,200000,0

	SDFA	272,200000,20,0,0,205400,0,0,0,205400,0,200000,0

	SDFA	273,200000,40,0,0,206400,0,0,0,206400,0,200000,0

	SDFA	274,200000,100,0,0,207400,0,0,0,207400,0,200000,0

	SDFA	275,200000,200,0,0,210400,0,0,0,210400,0,200000,0

	SDFA	276,200000,400,0,0,211400,0,0,0,211400,0,200000,0

	SDFA	277,200000,1000,0,0,212400,0,0,0,212400,0,200000,0

	SDFA	300,200000,2000,0,0,213400,0,0,0,213400,0,200000,0

	SDFA	301,200000,4000,0,0,214400,0,0,0,214400,0,200000,0
	SDFA	302,200000,10000,0,0,215400,0,0,0,215400,0,200000,0

	SDFA	303,200000,20000,0,0,216400,0,0,0,216400,0,200000,0

	SDFA	304,200000,40000,0,0,217400,0,0,0,217400,0,200000,0

	SDFA	305,200000,100000,0,0,220400,0,0,0,220400,0,200000,0

	SDFA	306,200000,200000,0,0,221400,0,0,0,221400,0,200000,0

	SDFA	307,200000,400000,0,0,222400,0,0,0,222400,0,200000,0

	SDFA	310,200001,0,0,0,223400,0,0,0,223400,0,200000,0

	SDFA	311,200002,0,0,0,224400,0,0,0,224400,0,200000,0

	SDFA	312,200004,0,0,0,225400,0,0,0,225400,0,200000,0

	SDFA	313,200010,0,0,0,226400,0,0,0,226400,0,200000,0

	SDFA	314,200020,0,0,0,227400,0,0,0,227400,0,200000,0

	SDFA	315,200040,0,0,0,230400,0,0,0,230400,0,200000,0

	SDFA	316,200100,0,0,0,231400,0,0,0,231400,0,200000,0

	SDFA	317,200200,0,0,0,232400,0,0,0,232400,0,200000,0

	SDFA	320,200400,0,0,0,233400,0,0,0,233400,0,200000,0

	SDFA	321,200400,0,0,0,200400,1,0,0,201400,0,200000,0

	SDFA	322,200400,0,0,0,201400,0,0,0,201600,0,0,0

	SDFA	323,200000,3,0,0,202400,0,0,0,202400,0,300000,0

	SDFA	324,200000,5,0,0,203400,0,0,0,203400,0,240000,0

	SDFA	325,200000,11,0,0,204400,0,0,0,204400,0,220000,0

	SDFA	326,200000,21,0,0,205400,0,0,0,205400,0,210000,0

	SDFA	327,200000,41,0,0,206400,0,0,0,206400,0,204000,0

	SDFA	330,200000,101,0,0,207400,0,0,0,207400,0,202000,0

	SDFA	331,200000,201,0,0,210400,0,0,0,210400,0,201000,0

	SDFA	332,200000,401,0,0,211400,0,0,0,211400,0,200400,0

	SDFA	333,200000,1001,0,0,212400,0,0,0,212400,0,200200,0

	SDFA	334,200000,2001,0,0,213400,0,0,0,213400,0,200100,0
	SDFA	335,200000,4001,0,0,214400,0,0,0,214400,0,200040,0

	SDFA	336,200000,10001,0,0,215400,0,0,0,215400,0,200020,0

	SDFA	337,200000,20001,0,0,216400,0,0,0,216400,0,200010,0

	SDFA	340,200000,40001,0,0,217400,0,0,0,217400,0,200004,0

	SDFA	341,200000,100001,0,0,220400,0,0,0,220400,0,200002,0

	SDFA	342,200000,200001,0,0,221400,0,0,0,221400,0,200001,0

	SDFA	343,200000,400001,0,0,222400,0,0,0,222400,0,200000,400000
;TEST AROV, FOV AND FXU FLAGS - DFAD

	AC=4
	SAVEAC	(1,1)

S34400:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
		    0,,0]
	DFAD	AC,[376777,,-1
		    -1,,-2]		;EXPECT AROV, FOV, FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,34401		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,34401		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,34401		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,34401		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,34401		;FXU WAS SET
	JUMPL	AC+4,S34400		;LOOP ON ERROR SWITCH

S34500:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
		    0,,0]
	DFAD	AC,[377400,,0
		    0,,0]		;EXPECT AROV, FOV, FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,34501		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,34501		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,34501		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,34501		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,34501		;FXU WAS SET
	JUMPL	AC+4,S34500		;LOOP ON ERROR SWITCH
S34600:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[200,,0
		    0,,0]
	DFAD	AC,[200,,0
		    0,,0]		;EXPECT AROV, FOV, FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,34601		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,34601		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,34601		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,34601		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,34601		;FXU WAS SET
	JUMPL	AC+4,S34600		;LOOP ON ERROR SWITCH

S34700:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[200,,0
		    0,,0]
	DFAD	AC,[177,,-1
		    -1,,-1]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,34701		;C(AC) FAILED
	CAME	AC+1,[377777,,-2]
	ER4	AC+1,34701		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,34701		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,34701		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,34701		;FXU WAS CLEAR
	JUMPL	AC+4,S34700		;LOOP ON ERROR SWITCH
S35000:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[400400,,0
		    0,,0]
	DFAD	AC,[401000,,0
		    0,,2]		;EXPECT AROV, FOV, FXU = 0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400000,,0]
	ER3	AC,35001		;C(AC) FAILED
	CAME	AC+1,[0,,1]
	ER4	AC+1,35001		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,35001		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,35001		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,35001		;FXU WAS SET
	JUMPL	AC+4,S35000		;LOOP ON ERROR SWITCH

S35100:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[400400,,0
		    0,,0]
	DFAD	AC,[400400,,0
		    0,,0]		;EXPECT AROV, FOV, FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[777400,,0]
	ER3	AC,35101		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,35101		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,35101		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,35101		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,35101		;FXU WAS SET
	JUMPL	AC+4,S35100		;LOOP ON ERROR SWITCH
S35200:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777600,,0
		    0,,0]
	DFAD	AC,[777600,,0
		    0,,0]		;EXPECT AROV,FOV,FXV=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[777400,,0]
	ER3	AC,35201		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,35201		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,35201		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,35201		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,35201		;FXU WAS SET
	JUMPL	AC+4,S35200		;LOOP ON ERROR SWITCH

S35300:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777600,,0
		    0,,0]
	DFAD	AC,[777600,,0
		    0,,1]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400000,,0]
	ER3	AC,35301		;C(AC) FAILED
	CAME	AC+1,[0,,2]
	ER4	AC+1,35301		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,35301		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,35301		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,35301		;FXU WAS CLEAR
	JUMPL	AC+4,S35300		;LOOP ON ERROR SWITCH
SUBTTL	DFSB TEST-DOUBLE FLOATING POINT SUBTRACT AND ROUND

	AC=4
	SAVEAC	(1,1)
	JRSTF	@[.+1]			;CLEAR ALL FLAGS

;CHECK THAT DFSB AC,E DOES NOT ALTER C(E) OR C(E+1)
S40100:	DMOVE	AC,[200777,,-1
		-1,,-1]
	DMOVE	AC+2,[200000,,0
		400000,,-1]
	DFSB	AC,AC+2
	CAME	AC+2,[200000,,0]
	ER5	AC+2,40101		;C(E) WAS ALTERED
	CAME	AC+3,[400000,,-1]
	ER6	AC+3,40101		;C(E+1) WAS ALTERED
	JUMPL	AC+4,S40100		;LOOP ON ERROR SWITCH

	SDFS	402,205400,0,0,0,177400,0,0,0,204770,0,0,0

	SDFS	403,200400,0,0,0,177400,0,0,0,177400,0,0,0

	SDFS	404,200400,0,0,0,200400,0,0,0,0,0,0,0

	SDFS	405,201400,0,0,0,177400,0,0,0,200600,0,0,0

	SDFS	406,576400,0,0,0,600400,0,0,0,577200,0,0,0

	SDFS	407,201400,0,0,0,577400,0,0,0,201600,0,0,0

	SDFS	410,203400,0,0,0,200477,777775,0,0,202660,0,300000,0
;TEST AROV, FOV AND FXU FLAGS - DFSB

	AC=4
	SAVEAC	(1,1)

S41100:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
		    0,,0]
	DFSB	AC,[400400,,0
		    0,,1]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,41101		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,41101		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,41101		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,41101		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,41101		;FXU WAS SET
	JUMPL	AC+4,S41100		;LOOP ON ERROR SWITCH

S41200:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
		    0,,0]
	DFSB	AC,[400400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,41201		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,41201		;C(AC+1)FAILED
	JOV	.+2
	ER13	AC-1,41201		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,41201		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,41201		;FXU WAS SET
	JUMPL	AC+4,S41200		;LOOP ON ERROR SWITCH
S41300:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777,,-1
		    -1,,-1]
	DFSB	AC,[377,,-1
		    -1,,-1]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,41301		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,41301		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,41301		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,41301		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,41301		;FXU WAS SET
	JUMPL	AC+4,S41300		;LOOP ON ERROR SWITCH

S41400:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777,,-1
		    -1,,-1]
	DFSB	AC,[400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,41401		;C(AC) FAILED
	CAME	AC+1,[377777,,-2]
	ER4	AC+1,41401		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,41401		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,41401		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,41401		;FXU WAS CLEAR
	JUMPL	AC+4,S41400		;LOOP ON ERROR SWITCH
S41500:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[400400,,0
		    0,,0]
	DFSB	AC,[377377,,-1
		    -1,,-1]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400000,,0]
	ER3	AC,41501		;C(AC) FAILED
	CAME	AC+1,[0,,1]
	ER4	AC+1,41501		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,41501		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,41501		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,41501		;FXU WAS SET
	JUMPL	AC+4,S41500		;LOOP ON ERROR SWITCH

S41600:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[400400,,0
		    0,,0]
	DFSB	AC,[377400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[777400,,0]
	ER3	AC,41601		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,41601		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,41601		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,41601		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,41601		;FXU WAS SET
	JUMPL	AC+4,S41600		;LOOP ON ERROR SWITCH
S41700:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777000,,0
		    0,,0]
	DFSB	AC,[777400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[777400,,0]
	ER3	AC,41701		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,41701		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,41701		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,41701		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,41701		;FXU WAS SET
	JUMPL	AC+4,S41700		;LOOP ON ERROR SWITCH

S42000:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777000,,0
		    0,,1]
	DFSB	AC,[777400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400000,,0]
	ER3	AC,42001		;C(AC) FAILED
	CAME	AC+1,[0,,2]
	ER4	AC+1,42001		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,42001		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,42001		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,42001		;FXU WAS CLEAR
	JUMPL	AC+4,S42000		;LOOP ON ERROR SWITCH
SUBTTL	DFMP TEST-DOUBLE FLOATING POINT MULTIPLY AND ROUND

	AC=4
	SAVEAC	(1,1)
	JRSTF	@[.+1]			;CLEAR ALL FLAGS

;CHECK THAT DFMP AC,E DOES NOT ALTER C(E) OR C(E+1)
S50100:	DMOVE	AC,[200777,,-1
		-1,,-1]
	DMOVE	AC+2,[201400,,0
		400000,,-1]
	DFMP	AC,AC+2
	CAME	AC+2,[201400,,0]
	ER5	AC+2,50101		;C(E) WAS ALTERED
	CAME	AC+3,[400000,,-1]
	ER6	AC+3,50101		;C(E+1) WAS ALTERED
	JUMPL	AC+4,S50100		;LOOP ON ERROR SWITCH

	SDFM	502,200400,0,0,0,0,0,0,0,0,0,0,0

	SDFM	503,200400,0,0,0,200400,0,0,0,177400,0,0,0

	SDFM	504,400,0,0,0,400,0,0,0,177400,0,0,0

	SDFM	505,200400,0,0,0,400,0,0,0,377400,0,0,0

	SDFM	506,177400,0,0,0,400,0,0,0,376400,0,0,0

	SDFM	507,377400,0,0,0,400,0,0,0,176400,0,0,0

	SDFM	510,577400,0,0,0,400,0,0,0,400400,0,0,0

	SDFM	511,400,0,0,0,200400,0,0,0,377400,0,0,0

	SDFM	512,200400,0,0,0,577400,0,0,0,600400,0,0,0

	SDFM	513,200400,0,0,0,205400,0,0,0,204400,0,0,0

	SDFM	514,0,0,0,0,577400,0,0,0,0,0,0,0

	SDFM	515,200400,0,0,0,201400,0,0,0,200400,0,0,0

	SDFM	516,200400,0,0,0,202400,0,0,0,201400,0,0,0

	SDFM	517,200400,0,0,0,204400,0,0,0,203400,0,0,0

	SDFM	520,200400,0,0,0,210400,0,0,0,207400,0,0,0

	SDFM	521,200400,0,0,0,220400,0,0,0,217400,0,0,0

	SDFM	522,200400,0,0,0,240400,0,0,0,237400,0,0,0

	SDFM	523,200400,0,0,0,300400,0,0,0,277400,0,0,0

	SDFM	524,201400,0,0,0,200400,0,0,0,200400,0,0,0

	SDFM	525,202400,0,0,0,200400,0,0,0,201400,0,0,0

	SDFM	526,204400,0,0,0,200400,0,0,0,203400,0,0,0

	SDFM	527,210400,0,0,0,200400,0,0,0,207400,0,0,0

	SDFM	530,220400,0,0,0,200400,0,0,0,217400,0,0,0

	SDFM	531,240400,0,0,0,200400,0,0,0,237400,0,0,0

	SDFM	532,300400,0,0,0,200400,0,0,0,277400,0,0,0

	SDFM	533,200400,0,0,0,576400,0,0,0,577400,0,0,0

	SDFM	534,200400,0,0,0,575400,0,0,0,576400,0,0,0

	SDFM	535,200777,-1,0,0,200400,0,0,0,177777,-1,0,0

	SDFM	536,200777,-2,0,0,200400,0,0,0,177777,-2,0,0

	SDFM	537,200777,-3,0,0,200400,0,0,0,177777,-3,0,0

	SDFM	540,200777,-4,0,0,200400,0,0,0,177777,-4,0,0

	SDFM	541,0,0,0,0,200400,0,0,0,0,0,0,0

	SDFM	542,577400,0,0,0,200400,0,0,0,600400,0,0,0

	SDFMKL	543,501700,0,0,0,500400,0,0,0,374100,0,0,0,372400,0,0,0

	SDFMKL	544,502700,0,0,0,500400,0,0,0,373100,0,0,0,371400,0,0,0

	SDFMKL	545,503700,0,0,0,500400,0,0,0,372100,0,0,0,370400,0,0,0

	SDFMKL	546,504700,0,0,0,500400,0,0,0,371100,0,0,0,367400,0,0,0

	SDFMKL	547,505700,0,0,0,500400,0,0,0,370100,0,0,0,366400,0,0,0

	SDFMKL	550,200200,0,0,0,200400,0,0,0,177200,0,0,0,176400,0,0,0

	SDFMKL	551,200100,0,0,0,200400,0,0,0,177100,0,0,0,175400,0,0,0

	SDFMKL	552,200040,0,0,0,200400,0,0,0,177040,0,0,0,174400,0,0,0

	SDFMKL	553,200020,0,0,0,200400,0,0,0,177020,0,0,0,173400,0,0,0

	SDFMKL	554,200010,0,0,0,200400,0,0,0,177010,0,0,0,172400,0,0,0

	SDFMKL	555,200004,0,0,0,200400,0,0,0,177004,0,0,0,171400,0,0,0

	SDFMKL	556,200002,0,0,0,200400,0,0,0,177002,0,0,0,170400,0,0,0

	SDFMKL	557,500700,0,0,0,200400,0,0,0,501700,0,0,0,503400,0,0,0
	SDFMKL	560,500770,0,0,0,200400,0,0,0,501770,0,0,0,506400,0,0,0

	SDFM	561,200775,0,0,0,200775,0,0,0,200772,11000,0,0

	SDFM	562,200774,0,0,0,200774,0,0,0,200770,20000,0,0

	SDFM	563,200773,0,0,0,200773,0,0,0,200766,31000,0,0

	SDFM	564,177477,0,0,0,200700,0,0,0,177427,100000,0,0

	SDFM	565,200777,-1,0,0,200777,-1,0,0,200777,-2,0,400

	SDFM	566,200777,-2,0,0,200777,-1,0,0,200777,-3,0,1000

	SDFM	567,200777,-3,0,0,200777,-1,0,0,200777,-4,0,1400

	SDFM	570,200777,-4,0,0,200777,-1,0,0,200777,-5,0,2000

	SDFM	571,200777,-5,0,0,200777,-1,0,0,200777,-6,0,2400

	SDFM	572,500000,-1,0,0,200777,0,0,0,500001,776777,400,0

	SDFM	573,500000,777770,0,0,200777,0,0,0,500001,776770,4000,0

	SDFM	574,500000,-1,0,0,500000,-1,0,0,376776,1001,377000,400

	SDFM	575,500000,-2,0,0,500000,-2,0,0,376776,1003,376000,2000

	SDFMKL	576,200777,-1,0,0,200000,2,0,0,177000,3,377777,776000,146777,-1,0,0

	SDFM	577,200700,0,0,0,200400,77,0,0,177700,156,100000,0

	SDFM	600,200700,0,0,0,200400,76,0,0,177700,154,200000,0

	SDFM	601,200700,0,0,0,200400,75,0,0,177700,152,300000,0

	SDFM	602,577400,0,0,0,600400,0,0,0,176400,0,0,0

	SDFM	603,600400,77,0,0,177660,0,0,0,602120,152,120000,0

	SDFM	604,600400,76,0,0,177600,0,0,0,602200,135,0,0

	SDFM	605,600400,0,0,0,576400,0,0,0,177400,0,0,0

	SDFM	606,600400,0,0,0,575400,0,0,0,200400,0,0,0

	SDFM	607,400000,1,0,0,201400,0,0,0,400000,1,0,0
;TEST AROV, FOV AND FXU FLAGS - DFMP

	AC=4
	SAVEAC	(1,1)

S61000:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
		    0,,0]
	DFMP	AC,[201777,,-1
		    -1,,-1]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,61001		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,61001		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,61001		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,61001		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,61001		;FXU WAS SET
	JUMPL	AC+4,S61000		;LOOP ON ERROR SWITCH

S61100:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
		    0,,0]
	DFMP	AC,[202400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,61101		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,61101		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,61101		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,61101		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,61101		;FXU WAS SET
	JUMPL	AC+4,S61100		;LOOP ON ERROR SWITCH
S61200:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[1400,,0
		    0,,0]
	DFMP	AC,[200400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,61201		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,61201		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,61201		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,61201		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,61201		;FXU WAS SET
	JUMPL	AC+4,S61200		;LOOP ON ERROR SWITCH

S61300:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777,,-1
		    -1,,-1]
	DFMP	AC,[200400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,61301		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,61301		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,61301		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,61301		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,61301		;FXU WAS CLEAR
	JUMPL	AC+4,S61300		;LOOP ON ERROR SWITCH
S61400:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[400400,,0
		    0,,0]
	DFMP	AC,[576000,,00
		    0,,1]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,61401		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,61401		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,61401		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,61401		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,61401		;FXU WAS SET
	JUMPL	AC+4,S61400		;LOOP ON ERROR SWITCH

S61500:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[400400,,0
		    0,,0]
	DFMP	AC,[575400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,61501		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,61501		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,61501		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,61501		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,61501		;FXU WAS SET
	JUMPL	AC+4,S61500		;LOOP ON ERROR SWITCH
S61600:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[776400,,0
		    0,,0]
	DFMP	AC,[577400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,61601		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,61601		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,61601		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,61601		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,61601		;FXU WAS SET
	JUMPL	AC+4,S61600		;LOOP ON ERROR SWITCH

S61700:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777000,,0
		    0,,1]
	DFMP	AC,[577400,,0
		    0,,0]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,61701		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,61701		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,61701		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,61701		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,61701		;FXU WAS CLEAR
	JUMPL	AC+4,S61700		;LOOP ON ERROR SWITCH
SUBTTL	DFDV TEST-DOUBLE FLOATING POINT DIVIDE

	AC=4
	SAVEAC	(1,1)
	JRSTF	@[.+1]			;CLEAR ALL FLAGS

;CHECK THAT DFDV AC,E DOES NOT ALTER C(E) OR C(E+1)
S70100:	DMOVE	AC,[200777,,-1
		-1,,-1]
	DMOVE	AC+2,[200400,,0
		400000,,-1]
	DFDV	AC,AC+2
	CAME	AC+2,[200400,,0]
	ER5	AC+2,70101		;C(E) WAS ALTERED
	CAME	AC+3,[400000,,-1]
	ER6	AC+3,70101		;C(E+1) WAS ALTERED
	JUMPL	AC+4,S70100		;LOOP ON ERROR SWITCH

	SDFD	702,200400,0,0,0,200400,0,0,0,201400,0,0,0

	SDFD	703,201400,0,0,0,201400,0,0,0,201400,0,0,0

	SDFD	704,202400,0,0,0,202400,0,0,0,201400,0,0,0

	SDFD	705,201400,0,0,0,200400,0,0,0,202400,0,0,0

	SDFD	706,202400,0,0,0,202400,0,0,0,201400,0,0,0

	SDFD	707,203400,0,0,0,200400,0,0,0,204400,0,0,0

	SDFD	710,200600,0,0,0,200400,0,0,0,201600,0,0,0

	SDFD	711,200700,0,0,0,200400,0,0,0,201700,0,0,0

	SDFD	712,200740,0,0,0,200400,0,0,0,201740,0,0,0

	SDFD	713,200400,0,0,0,577400,0,0,0,576400,0,0,0

	SDFD	714,200600,0,0,0,577400,0,0,0,576200,0,0,0

	SDFD	715,177400,0,0,0,204400,0,0,0,174400,0,0,0

	SDFD	716,576400,0,0,0,200600,0,0,0,576252,525252,252525,252525

	SDFD	717,600600,0,0,0,577400,0,0,0,177400,0,0,0

	SDFD	720,600400,0,0,0,577400,0,0,0,200400,0,0,0

	SDFD	721,377400,-1,0,0,577400,-1,0,0,777375,773771,373773,776004

	SDFD	722,201400,0,0,0,0,0,0,0,201400,0,0,0

	SDFD	723,377400,0,0,0,400,0,0,0,200400,0,0,0

	SDFD	724,577775,0,0,0,577777,0,0,0,577775,0,0,0

	SDFD	725,577774,0,0,0,577777,0,0,0,577774,0,0,0
	SDFD	726,210777,-1,0,0,170750,0,0,0,221414,456123,150726,20623

	SDFD	727,210777,-1,0,0,170555,0,0,0,221547,63714,314631,463146

	SDFD	730,577000,555555,0,0,200400,0,0,0,576000,555555,0,0

	SDFD	731,210777,-1,-1,-1,170555,0,0,0,221547,63715,200263,431746

	SDFD	732,210777,-3,0,0,170555,0,0,0,221547,63713,145545,545546

	SDFD	733,377400,0,555000,0,100777,0,0,0,77400,400400,355355,355355

	SDFD	735,200777,-1,0,0,200777,-2,0,0,201400,0,200000,400

	SDFD	736,200777,-1,0,0,200777,-4,0,0,201400,1,200000,3000

	SDFD	737,210777,-1,0,0,170555,0,0,0,221547,63714,314631,463146

	SDFD	741,210777,-1,0,0,170555,600000,0,0,221546,272702,301417,730634

	SDFD	742,210777,-1,0,0,170557,0,0,0,221545,111740,234200,262445

	SDFD	743,210777,-1,0,0,170560,0,0,0,221544,131025,220544,131026

	SDFD	744,377400,0,0,0,100777,0,0,0,77400,400400,200200,200200

	SDFD	745,376400,0,0,0,100777,0,0,0,76400,400400,200200,200200

	SDFD	746,375400,0,0,0,100777,0,0,0,75400,400400,200200,200200

	SDFD	747,374400,0,0,0,100777,0,0,0,74400,400400,200200,200200

	SDFD	750,373400,0,0,0,100777,0,0,0,73400,400400,200200,200200

	SDFD	751,372400,0,0,0,100777,0,0,0,72400,400400,200200,200200

	SDFD	752,210777,0,0,0,210777,0,0,0,201400,0,0,0

	SDFD	753,200400,0,0,0,210777,0,0,0,170400,400400,200200,200200

	SDFD	754,371400,0,0,0,100777,0,0,0,71400,400400,200200,200200

	SDFD	755,370400,0,0,0,100777,0,0,0,070400,400400,200200,200200

	SDFD	756,367400,0,0,0,100777,0,0,0,67400,400400,200200,200200
;TEST LEAST SIGNIFICANT BIT DIFFERENCE, GET A DIFFERENT ANSWER
;ON THE KS-10 WITH MICROCODE 104 AND GREATER.

S73400:	DMOVE	AC,[373400,,0
		200777,,0]
	DFDV	AC,[100777,,0
		0,,0]
	SKIPN	SM10
	JRST	S73405			;KL10

	CAME	AC,[73400,,400401]
	ER3	AC,73401

	SKIPE	USER			;USER MODE ?
	JRST	S73408			;YES, ALLOW EITHER ANSWER
	BLKI	APR,0			;NO, GET KS10 CPU ID INFO
	MOVSS				;ISOLATE MICROCODE VERSION
	ANDI	0,777
	CAIGE	0,104			;104 OR GREATER ?
	JRST	S73409			;NO

	CAME	AC+1,[1400,,400401]
	ER4	AC+1,73401

S73406:	JUMPL	AC+4,S73400		;LOOP ON ERROR SWITCH
	JRST	S73407

S73405:	CAME	AC,[73400,,400401] ;CHECK KL10 ANSWER IF RUNNING ON KL10
	ER3	AC,73401
	CAME	AC+1,[1400,,400401]
	ER4	AC+1,73401
	JRST	S73406

S73408:	CAMN	AC+1,[1400,,400400] ;ALLOW EITHER ANSWER ON KS10 IN USER MODE
	JRST	S73406
	CAME	AC+1,[1400,,400401]
	ER4	AC+1,73401
	JRST	S73406

S73409:	CAME	AC+1,[1400,,400400] ;KS10, EXEC, MICROCODE LESS THAN 104
	ER4	AC+1,73401
	JRST	S73406

S73407:	JRST	.+1
;TEST AROV, FOV AND FXU FLAGS-DFDV

	AC=4
	SAVEAC	(1,1)

S75700:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[376777,,-1
			-1,,-1]
	DFDV	AC,[200400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,75701		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,75701		;C(AC+1)FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,75701		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,75701		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,75701		;FXU WAS SET
	JUMPL	AC+4,S75700		;LOOP ON ERROR SWITCH

S76000:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
			0,,0]
	DFDV	AC,[200400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,76001		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,76001		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,76001		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,76001		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,76001		;FXU WAS SET
	JUMPL	AC+4,S76000		;LOOP ON ERROR SWITCH
S76100:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[1400,,0
			0,,0]
	DFDV	AC,[202400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400,,0]
	ER3	AC,76101		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,76101		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,76101		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,76101		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,76101		;FXU WAS SET
	JUMPL	AC+4,S76100		;LOOP ON ERROR SWITCH

S76200:JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777,,-1
			-1,,-1]
	DFDV	AC,[202400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[377777,,-1]
	ER3	AC,76201		;C(AC) FAILED
	CAME	AC+1,[377777,,-1]
	ER4	AC+1,76201		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,76201		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,76201		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,76201		;FXU WAS CLEAR
	JUMPL	AC+4,S76200		;LOOP ON ERROR SWITCH
S76300:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[376777,,-1
			-1,,-1]
	DFDV	AC,[577400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400000,,0]
	ER3	AC,76301		;C(AC) FAILED
	CAME	AC+1,[0,,1]
	ER4	AC+1,76301		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,76301		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,76301		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,76301		;FXU WAS SET
	JUMPL	AC+4,S76300		;LOOP ON ERROR SWITCH

S76400:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[377400,,0
			0,,0]
	DFDV	AC,[777400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=1,1,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[577400,,0]
	ER3	AC,76401		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,76401		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,76401		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,76401		;FOV WAS CLEAR
	TLNE	AC-1,FXU
	ER13	AC-1,76401		;FXU WAS SET
	JUMPL	AC+4,S76400		;LOOP ON ERROR SWITCH
S76500:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[1400,,0
			0,,0]
	DFDV	AC,[575400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=0,0,0
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[777400,,0]
	ER3	AC,76501		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,76501		;C(AC+1) FAILED
	JOV	.+2
	JRST	.+2
	ER13	AC-1,76501		;AROV WAS SET
	JFOV	.+2
	JRST	.+2
	ER13	AC-1,76501		;FOV WAS SET
	TLNE	AC-1,FXU
	ER13	AC-1,76501		;FXU WAS SET
	JUMPL	AC+4,S76500		;LOOP ON ERROR SWITCH

S76600:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[777,,-1
			-1,,-1]
	DFDV	AC,[575400,,0
			0,,0]		;EXPECT AROV,FOV,FXU=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[400000,,0]
	ER3	AC,76601		;C(AC) FAILED
	CAME	AC+1,[0,,1]
	ER4	AC+1,76601		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,76601		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,76601		;FOV WAS CLEAR
	TLNN	AC-1,FXU
	ER13	AC-1,76601		;FXU WAS CLEAR
	JUMPL	AC+4,S76600		;LOOP ON ERROR SWITCH
;TEST AROV,FOV AND DCK FLAGS-DFDV

S76700:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[201400,,0
			0,,0]
	DFDV	AC,[0,,0
			0,,0]		;EXPECT AROV,FOV,DCK=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[201400,,0]
	ER3	AC,76701		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,76701		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,76701		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,76701		;FOV WAS CLEAR
	TLNN	AC-1,DCK
	ER13	AC-1,76701		;DCK WAS CLEAR
	JUMPL	AC+4,S76700		;LOOP ON ERROR SWITCH

;TEST AROV,FOV AND DCK FLAGS-DFDV

S77000:	JRSTF	@[.+1]			;CLEAR ALL FLAGS
	DMOVE	AC,[201400,,0
			0,,0]
	DFDV	AC,[201200,,0
			0,,0]		;EXPECT AROV,FOV,DCK=1,1,1
	JSP	AC-1,.+1		;SAVE FLAGS
	CAME	AC,[201400,,0]
	ER3	AC,77001		;C(AC) FAILED
	CAME	AC+1,[0,,0]
	ER4	AC+1,77001		;C(AC+1) FAILED
	JOV	.+2
	ER13	AC-1,77001		;AROV WAS CLEAR
	JFOV	.+2
	ER13	AC-1,77001		;FOV WAS CLEAR
	TLNN	AC-1,DCK
	ER13	AC-1,77001		;DCK WAS CLEAR
	JUMPL	AC+4,S77000		;LOOP ON ERROR SWITCH

	JRST	BEGEND

TSTWD:	BLOCK	2