Google
 

Trailing-Edge - PDP-10 Archives - AP-D480B-SB_1978 - fortrp.mac
There are 3 other files named fortrp.mac in the archive. Click here to see a list.
TITLE FORTRP %5A(625) OVER/UNDERFLOW TRAP ROUTINE
	SUBTTL	D. TODD/T. EGGERS/DRT/TWE/DMN/JNG/CLRH	1-DEC-76



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.

;COPYRIGHT (C) 1972,1977 BY DIGITAL EQUIPMENT CORPORATION

;MODIFIED FROM LIB40 TRAPS VERSION 32A(444)
;******* START OF REVISION HISTORY **************************
;531	18074	ADD PORTALS FOR CONCEALED MODE
;
;	BEGIN VERSION 5A, 7-NOV-76
;
;625	-----	FIX DOUBLE PRECISION ZERO DIVIDE--SHOULD RETURN PLUS
;			OR MINUS INFINITY DEPENDING ON THE SIGN OF THE
;			DIVIDEND. BEFORE 531, IT WAS ALWAYS POSITIVE;
;			AFTER 531 IT ALWAYS RETURNED ZERO.
;********* END OF REVISION HISTORY


	SEARCH	FORPRM		;GET THE FOROTS GLOBAL SYMBOL TABLE

T==P3	;WORKING ACCUMULATOR
TT==T1

	SEGMEN	;GET THE LOADING CONTROL MACRO


FXU==1B11	;FLOATING EXPONENT UNDERFLOW FLAG
FOV==1B3		;FLOATING OVERFLOW BIT
NDV==1B12	;NO DIVIDE BIT

OPDEF APRENB [CALLI 16]	;TO SET UP APR TRAPPING
OVE==10		;ENABLE INTEGER OVERFLOW TRAPS
FVE==100	;ENABLE FOR FLOATING POINT TRAPS


ENTRY	TRPIN.
EXTERN	.JBTPC,.JBAPR,.JBREL,.JBDDT,.JBOPS,.JBBLT	;[470]

			;PUSHJ P,TRPINI	TO INITIALIZE ALL TRAPPING
TRPIN.:	MOVEI TT,OVTRAP
	HRRZM TT,.JBAPR		;INIT OVERFLOW TRAP ADDRESS
	MOVEI TT,OVE!FVE+400000
	JRSTF @[XWD 004000,.+1]		;CLEAR APR FLAGS
	APRENB TT,		;INIT OVERFLOW TRAPPING
	POPJ	P,		;RETURN

;VARIABLES ARE PUSHED ONTO THE STACK IN THE FOLLOWING ORDER:
TSAVE=1		;TEMP FOR AC T
ACFLD=2		;USUALLY ACCUMULATOR FIELD OF TRAPPING INSTRUCTION
INST=3		;TRAPPING INSTRUCTION OR ITS EFFECTIVE ADDRESS
ACDATA=4	;THE RESULT OF THE TRAPPING INSTRUCTION
FIXUP1=5	;THE SINGLE  (OR LOW WORD IF D.P.) WORD FIX UP
FIXUP2=6	;THE HIGH ORDER WORD FIX UP OF A D.P. RESULT
N=0		;A COUNTER, WHOSE VALUE IS THE NUMBER OF ITEMS
		;THAT THIS TRAP ROUTINE HAS ON THE STACK.

;**;[531] CHANGE @ OVTRAP	CLRH	5-APR-76
OVTRAP:				;[531]
	IFN CPU-KA10,<		;[531]
	JRST	1,.+1		;[531] KI AND KL PORTAL
>; END IFN CPU-KA10		;[531]
	SKIPE	.JBDDT		;[470] COULD THIS BE FROM DDT?
	JRST	OVDDT		;[470] YES, BETTER GO CHECK
DDTRET:	PUSH P,T		;[470] SAVE AC T AS "TSAVE"
	N=1
	SOS T,.JBTPC		;MAKE .JBTPC POINT TO INSTRUCTION
	TLNN T,(FXU)		;FLOATING POINT UNDERFLOW?
	JRST OVTRP1		;NO

	HLL T,1(T)		;YES
	TLC T,(JFCL (2))	; IS NEXT INSTRUCTION
	TLNN T,777002		;   A JFCL (2) ?
	JRST OVTRP2		;YES

	LDB T,[POINT 9,(T),8]	;GET INSTRUCTION
	CAILE T,177		;POSSIBLE FLOATING POINT?
	JRST TJFCL1		;NO
	CAIGE T,140		;BETWEEN 140 AND 177?
	JRST	[CAIN T,(<FSC>_-9)	;NO, FSC?
		JRST	UFSC		;FSC UNDERFLOW
					;(UFA AND DFN CAN'T CAUSE UNDERFLOW)
	IFE CPU-KI10,<TRZ T,003		;CHANGE ALL KI10 D.P. ARITH TO DFAD
		CAIN T,(<DFAD>_-9)
		JRST UACLNG >		;DFAD, DFSB, DFMP, DFDV
		JRST TJFCL1]		;NO, PRINT ERROR MESSAGE
	ANDI T,7		;MASK TO MODE BITS
	JRST UTBL(T)		;DISPATCH ON INSTRUCTION TYPE

	;THE STACK HAS 1 ITEM, N=1
;**;[470] Insert @ OVTRP1-1	JNG	17-Nov-75
OVDDT:	EXCH	P4,.JBOPS	;[470] SAVE P4; SET UP PTR TO STATICS
	MOVEM	T1,TRP.AC(P4)	;[470] SAVE SOME AC'S FOR CHECK
	MOVEM	T2,TRP.AC+1(P4)	;[470] ..
	HRRZ	T1,.JBDDT	;[470] SET UP LOWER BOUND OF DDT
	HLRZ	T2,.JBDDT	;[470] AND UPPER BOUND
	ADDI	T2,1		;[470] .JBTPC CONTAINS PC+1
	CAIGE	T1,@.JBTPC	;[470] OVERFLOW INSIDE DDT?
	CAIGE	T2,@.JBTPC	;[470] MAYBE, IS IT?
	JRST	[MOVE	T1,TRP.AC(P4)	;[470] NO, RESTORE AC'S
		MOVE	T2,TRP.AC+1(P4)	;[470] ..
		EXCH	P4,.JBOPS	;[470] RESTORE STATIC PTR
		JRST	DDTRET]		;[470] AND RETURN TO FORTRP
	MOVE	T1,.JBTPC	;[470] GRAB RETURN ADDRESS
	TLZ	T1,440177	;[470] CLEAR BAD FLAGS
	MOVEM	T1,.JBBLT	;[470] STORE FOR RETURN
	MOVE	T1,TRP.AC(P4)	;[470] RESTORE AC'S
	MOVE	T2,TRP.AC+1(P4)	;[470] ..
	EXCH	P4,.JBOPS	;[470] RESTORE STATIC PTR
	JRSTF	@.JBBLT		;[470] RETURN TO DDT
OVTRP1:	N=1
	TLNN T,(FOV)		;FLOATING OVERFLOW OR FLOATING DIVIDE CHECK?
	JRST TJFCL1		;NO, INTEGER OVERFLOW OR DIVIDE CHECK
OVTRP2:	LDB T,[POINT 4,@.JBTPC,12]	;GET AC FIELD
	PUSH P,T		;SAVE AC FIELD AS "ACFLD"
	N=N+1
	MOVE T,@.JBTPC		;GET INSTRUCTION
	PUSH P,T		;SAVE INSTRUCTION AS "INST"
	N=N+1
	MOVE T,TSAVE-N(P)	;RESTORE AC T
	MOVEI T,@INST-N(P)	;GET EFFECTIVE ADDRESS
	EXCH T,INST-N(P)	; AND SAVE. PICK UP INSTRUCTION
	TLC T,(042B8)		;CHANGE "MODE 2" TO "MODE 0"
				; AND CHANGE 140-177
				;   TO 100-137
	HLR T,.JBTPC		;GET FLAGS IN RIGHT HALF
	TDNE T,[643B8+<NDV_-^D18>]	;SKIP FOR "TO MEMORY" AND NO NDV
				; NO SKIP FOR INSTRUCTIONS OUTSIDE 140-177
				;  (E.G. FSC,XCT,UFA,DFAD,DFSB,DFMP,DFDV)
	SKIPA T,ACFLD-N(P)	;GET CORRECT SIGN FROM AC
	MOVE T,INST-N(P)	;GET CORRECT SIGN FROM MEMORY
	PUSH P,T	;SAVE ADDRESS FOR SIGN OF CORRECT RESULT AS "ACDATA"
	N=N+1
	MOVE T,.JBTPC		;IS THIS AN UNDERFLOW THAT
	TLNE T,(FXU)		;  NEEDS TO BE UNNORMALIZED?
	JRST	[MOVE T,TSAVE-N(P)	;YES, RESTORE T AND
		MOVE T,@ACDATA-N(P)	;  GET ANSWER THAT NEEDS UN-NORMALIZING
		PUSH P,TT		;SAVE ANOTHER AC
		N=N+1
		HLRE TT,T	;GET EXPONENT WITH EXTENDED SIGN INTO
		ASH TT,-9	;  RIGHT 8 BITS
		TSCE TT,TT	;FOR NEGATIVE ARG, GET 1'S COMPLEMENT
				;OF EXPONENT AND DON'T SKIP
		TLOA T,777000	;FOR NEG. ARG, SET EXP TO ALL ONES
		TLZ T,777000	;FOR POS. ARG, SET EXP TO ALL 0'S
		CAMGE TT,[346,,346]	;WILL ALL FRACTION BITS GO AWAY?
		TDZA T,T		;YES, FRACTION SHOULD BE ZERO
		ASH T,400000(TT)	;UN-NORMALIZE FRACTION TO BRING EXP
				;BACK INTO RANGE
		POP P,TT	;RESTORE THE AC
		N=N-1
		JRST OVTRP3]	;GO STORE RESULT
	MOVE T,TSAVE-N(P)
	SKIPGE @ACDATA-N(P)	;SKIP IF CORRECT RESULT IS POSITIVE
	SKIPA T,[XWD 400000,1]	;NO, NEGATIVE
	HRLOI T,377777		;YES
OVTRP3:	PUSH P,T		;SAVE FIX UP AS "FIXUP1"
	N=N+1
	LDB T,[POINT 9,@.JBTPC,8]	;GET INSTRUCTION
	CAIG T,177
	CAIGE T,140		;NORMAL FLOATING POINT INSTRUCTION
	JRST	[CAIN T,(<FSC>_-9)	;NO, FSC?
		JRST	OVFSC		;FSC OVERFLOW OR DIVIDE CHECK
		CAIN T,(<UFA>_-9)	;UFA?
		JRST AC1
	IFE CPU-KI10,<TRZ T,003	;CHANGE ALL KI10 D.P. ARITHMETIC TO DFAD
		CAIN T,(<DFAD>_-9)
		JRST ACDOUB >	;KI10 DFAD, DFSB, DFMP, OR DFDV
		SUB P,[N-1,,N-1]	;LEAVE 1 ITEM ON STACK
		JRST TJFCL1]	;PROBABLY AN XCT
	ANDI T,7
	JRST TBL(T)

	;THERE ARE 5 ITEMS ON THE STACK, N=5
;THIS PAGE FOR OVERFLOWS, DIVIDE CHECKS, AND UN-NORMALIZING UNDERFLOWS

TBL:	JRST AC
	JRST ACLONG
	JRST MEMORY
	JRST BOTH
	JRST AC
	JRST AC
	JRST MEMORY
	;JRST BOTH

BOTH:	PUSH P,(P)		;SAVE ANOTHER COPY
BOTH1:	N=6
	MOVE T,TSAVE-N(P)
	POP P,@ACFLD-N(P)	;LOAD AC (WITH HI PART IF D.P.)
	N=N-1
	POP P,@INST-N(P)	;LOAD MEMORY (OR AC+1 WITH LO PART IF D.P.)
	N=N-1
	SUB P,[N-1,,N-1]	;LEAVE 1 ITEM ON STACK
	JRST TJFCL

OVFSC:
IFE CPU-KI10,<
	MOVE	T,.JBTPC
	MOVE	T,1(T)		;GET THE INSTRUCTION FOLLOWING
	TLC	T,(JFCL (4))	;JFCL (4)
	TLNN	T,777004	;WAS FSC FOLLOWD BY JFCL (4)
	JRST	ACDOUB>		;YES
	JRST	AC		;NO

AC1:	N=5
	AOS T,ACFLD-N(P)
	ANDI T,17		;MASK AC+1 TO 4 BITS
	MOVEM T,ACFLD-N(P)
AC:	MOVE T,TSAVE-N(P)
	POP P,@ACFLD-N(P)	;LOAD AC
	N=N-1
	SUB P,[N-1,,N-1]	;LEAVE 1 ITEM ON STACK
	JRST TJFCL

ACLONG:	N=5
	MOVE T,ACFLD-N(P)	;GET AC
	ADDI T,1
	ANDI T,17
	MOVEM T,INST-N(P)	;PUT AC+1 INTO MEMORY ADDRESS
	POP P,ACDATA-N(P)	;GET SIGN OF ANSWER INTO BETTER PLACE
	N=N-1
	PUSH P,[XWD 344777,-1]	;SAVE A POS LOW WORD
	N=N+1
	HRLOI T,377777		;ASSUME A POSITIVE HIGH WORD
	SKIPGE ACDATA-N(P)	;SHOULD RESULT BE POSITIVE?
	KADFN T,FIXUP1-N(P)	;NO, NEGATE IT WITH KA10 DFN
	PUSH P,T		;PUT "FIXUP2" ON PDL
	N=N+1
	JRST BOTH1

MEMORY:	N=5
	MOVE T,TSAVE-N(P)
	POP P,@INST-N(P)
	N=N-1
	SUB P,[N-1,,N-1]	;LEAVE 1 ITEM ON STACK
	JRST TJFCL

IFE CPU-KI10,<
ACDOUB:	N=5
;**; [531] CHANGE @ ACDOUB + 1L	CLRH	5-APR-76
;**; [625] CHANGE FIRST THREE LINES OF PATCH 531 AT ACDOUB+1L
;**; [625]	CLRH	1-DEC-76
	HRLOI	T,377777	;[625] GET INFINITY
	MOVEM	T,TSAVE-N+1(P)	;[625] [531] PUT TWO WORDS ON THE STACK
	MOVEM	T,TSAVE-N+2(P)	;[625] [531] FOR THE DMOVE TO USE
				;[531] THIS ASSUMES THAT ACDATA IS AT
				;[531] LEAST 3 SINCE WE ARE MAKING PLUS
				;[531] STACK ENTRIES.  THESE SHOULD BE
				;[531] SETOM'S AND MOVM'S IF ACFLD OR
				;[531] INST ARE NEEDED LATER
	MOVSI	T,(Z 17,)	;GET ONES IN AC FIELD
	AND	T,@.JBTPC	;EXTRACT AC FIELD FROM FAULTING D. P. INST
;**; [625] CHANGE @ ACDOUB+5 IN PATCH 531	CLRH	1-DEC-76
	IOR	T,[DMOVE 0,TSAVE(P)] ;[625] [531] SET UP DMOVE
	SKIPGE @ACDATA-N(P)	;[625] WAS OVERFLOW RESULT POSITIVE?
	TLC T,1000		;NO, CHANGE THE DMOVE TO DMOVN
	SUB P,[N-1,,N-1]	;LEAVE 1 ITEM ON STACK
	JRST UAC2 >		;GO FIXUP THE TWO AC'S
;THIS PAGE ONLY FOR ZEROING UNDERFLOWS

UTBL:	N=1
	JRST UAC		;ZERO AC
	JRST UACLNG		;ZERO AC, AC+1
	JRST UMEMRY		;ZERO E
	JRST UBOTH		;ZERO AC,E
	JRST UAC
	JRST UAC
	JRST UMEMRY
	;JRST UBOTH

UBOTH:	MOVE T,@.JBTPC		;GET OFFENDING INSTRUCTION
	TLZ T,777000		;ZERO OP CODE
	TLO T,(SETZB)		;CHANGE TO "SETZB AC,E"
	JRST UAC2

UMEMRY:	MOVE T,@.JBTPC
	TLZ T,777740		;ZERO OP CODE, AC FIELD
	TLO T,(SETZM)		;CHANGE TO "SETZM E"
	JRST UAC2

UACLNG:
;**; [531] CHANGE @ UACLNG + 1L	CLRH	5-APR-76
	LDB T,[POINT 4,@.JBTPC,12]		;[531] GET AC FIELD
	DPB T,[POINT 4,T,12]	;COPY INTO AC FIELD
	ADDI T,1		;CHANGE AC TO AC+1
	TRZ T,20		;MASK TO 4 BITS
	TLO T,(SETZB)		;[531] CHANGE TO "SETZB AC,AC+1"
;**; [531] DELETE CPU-KI10 COND @ UACLNG  CLRH  5-APR-76
	JRST	UAC2

UFSC:	MOVE	T,.JBTPC	;GET THE TRAP ADDRESS
	MOVE	T,1(T)		;GET THE INSTRUCTION FOLLOWING
	TLC	T,(JFCL (4))
	TLNN	T,777004	;JFCL (4) FOLLOWING
	JRST	UACLNG		;YES
UAC:	HLLZ T,@.JBTPC		;GET OFFENDING INSTRUCTION
	TLZ T,777037		;ZERO OP CODE, XR,@, LEAVE AC
	TLO T,(SETZ)		;CHANGE TO "SETZ AC,"
UAC2:	EXCH T,TSAVE-N(P)	;SAVE INSTRUCTION, RESTORE T
	XCT TSAVE-N(P)		;CLEAR THE REQUIRED REGISTERS
;**; [531] INSERT @ UAC2 + 2L	CLRH	5-APR-76
IFN	CPU-KA10,<		;[531]
	JRST	1,.+1		;[531] KI AND KL PORTAL
>; END IFN CPU-KA10		;[531]

TJFCL:	N=1
	MOVEM T,TSAVE-N(P)	;SAVE T AGAIN
TJFCL1:	AOS	T,.JBTPC	;.JBTPC POINTS TO NEXT INSTRUCTION
	PUSH	P,T		;SAVE THE INSTRUCTION AFTER THE TRAP
	N=N+1
	MOVE T,(T)		;GET NEXT INSTRUCTION
	TLC T,(<JFCL>)		;COMPLEMENT "JFCL" BITS
	TLNE T,777000		;JFCL INSTRUCTION?
	JRST ERRPNT		;NO, PRINT ERROR MESSAGE
	TRNE T,-1		;ADDRESS SPECIFIED ON JFCL?
	HRRM T,(P)		;YES, GO THERE
	TLNE T,(<Z 10,(1)>)	;IS OVERFLOW BIT (OR XR1) SET IN JFCL?
	JRST ERRPNT		;YES, TYPE ERROR MESSAGE
RETURN:	MOVSI	T,337600	;MASK OUT THE FLAGS BUT LEAVE
	AND	T,.JBTPC	;CRY0, CRY1, AND USER'S IOT SET
	JRSTF	.+1(T)		;RESTORE THE HARDWARE FLAGS
	POP	P,T		;GET THE RETURN ADDRESS
	N=N-1
	EXCH	T,(P)		;RESTORE T AND SET RETURN ON THE STACK
	POPJ	P,		;RETURN TO USER
	N=N-1
ERRPNT:	ERROR	(APR,,,RETURN)		;CALL FORERR ROUTINE
REPEAT 0,<

DESCRIPTION OF "TRAPS" PROGRAM FOR LIB40-

I. THE PURPOSE OF THE TRAPS PROGRAM IS DO ERROR DETECTION,
   CORRECTION, AND REPORTING WHEN ARITHMETIC FAULTS OCCUR
   DURING THE EXECUTION OF FORTRAN PROGRAMS.

II. THE TRAPS PROGRAM CONSISTS OF THREE DISTINCT PARTS:

	A. TRPINI
		1. CALLING SEQUENCE- PUSHJ P,TRPINI
						;RETURN
		2. THE OVERFLOW COUNTER, OVCNT, (USED BY THE OVERFL
		      FUNCTION) AND THE PC WORD FLAGS ARE CLEARED
		3. PROCESSOR AND MONITOR TRAPPING ON OVERFLOW (PC WORD
		      BIT 0) IS ENNABLED

	B. "OVERFL" IS THE STANDARD FORTRAN OVERFLOW FUNCTION
	   (BUT EXISTS AS A SEPARATE FORTRAN PROGRAM ELSEWHERE
	    IN THE FORTRAN LIBRARY).
		1. CALLING SEQUENCE-	JSA 16,OVERFL
					ARG	J
						;RETURN
		2. IF OVCNT. .EQ. 0 , THEN J_1
		3. IF OVCNT. .NE. 0, THEN J_2
		4. THE OVERFLOW COUNTER, OVCNT., IS CLEARED TO 0

	C. OVTRAP IS A USER-MODE INTERRUPT ROUTINE WHICH IS STARTED
	  BY THE MONITOR WHEN AN ARITHMETIC FAULT OCCURS
		1. THE PC WORD (WITH THE ADDRESS+1 OF THE INSTRUCTION
		      CAUSING THE TRAP) REMAINS IN THE .JBTPC WORD
		2. FOR FLOATING POINT INSTRUCTIONS
			A. FOR OVERFLOWS AND DIVIDE CHECKS,
			    THE FAULTY ANSWER IS PATCHED
			   TO BE PLUS OR MINUS (THE SIGN WILL BE THAT
			   OF THE CORRECT ANSWER)THE LARGEST POSSIBLE
			   NUMBER.
			B. FOR UNDERFLOWS, THE FAULTY ANSWER IS NORMALLY
			   PATCHED TO BE 0. HOWEVER, IF THE INSTRUCTION
			   FOLLOWING THE TRAPPING INSTRUCTION IS A JFCL
			   WITH BIT 16 (XR2) SET, THE ANSWER WILL BE
			   UN-NORMALIZED ENOUGH TO BRING THE EXPONENT
			   BACK INTO RANGE.
		3. (FOR INTEGER INSTRUCTIONS, NO PATCHING OF ANSWERS
		      IS DONE.)
		4. IF THE INSTRUCTION AFTER THE TRAPPING INSTRUCTION
		      IS JFCL
		      A. DO NOT TYPE AN ERROR MESSAGE
			 UNLESS BIT 9 (AR OV TEST BIT) OR 17 (XR1) IS 1
		      B. DO NOT INDEX THE OVERFLOW COUNTER OVCNT.
		      C. IF THE ADDRESS (BITS 18-35) OF THE JFCL
			 ARE NON-ZERO, THE INTERRUPTED PROGRAM WILL
			 BE RESTARTED AT THE ADDRESS OF THE JFCL
			  (THE @ AND INDEX FIELDS ARE IGNORED).
		      D. IF THE ADDRESS OF THE JFCL IS ZERO, THE
			 INTERRUPTED PROGRAM WILL BE RESTARTED AT
			 THE JFCL
			E. IF BIT 16 (XR2) IS A 1, UN-NORMALIZE THE
			   FRACTION BITS FOR UNDERFLOWS IN ORDER TO
			   BRING THE EXPONENT BACK INTO RANGE.
			F. IF BIT 15(XR4) IS A 1, TREAT THE RESULT AS
			   D.P. (WORKS FOR FSC ONLY) (KI-10 ONLY)
		5. IF THE INSTRUCTION AFTER THE TRAPPING INSTRUCTION
		      IS NOT JFCL
		      A. INDEX THE OVERFLOW COUNTER, OVCNT
		      B. TYPE AN ERROR MESSAGE, USING SUBROUTINE "ERRMSG",
			 WITH THE FOLLOWING INFORMATION:
				FLOATING OR INTEGER FAULT
				OVERFLOW, UNDERFLOW, OR DIVIDE CHECK
				ADDRESS OF FAULTING INSTRUCTION

		      C. THE INTERRUPTED PROGRAM WILL BE RESTARTED AT
			 THE INSTRUCTION AFTER THE TRAPPING INSTRUCTION
		6. THE PROCESSOR FLAGS (PC WORD FLAGS) ARE CLEARED
			EXCEPT FOR CRY0, CRY1, AND USER IOT.
		7. THE INTERRUPTED PROGRAM IS RESTARTED

III. LIMITATIONS

	A. OVTRAP FIXUPS WILL NOT WORK ON THE PDP-6 FOR-
		1. THE LOW ORDER WORD OF FXXRL OR FXXL INSTRUCTIONS
		2. EXPONENT UNDERFLOW OR DIVIDE CHECK TRAPS

	B. FLOATING POINT FIX UPS WILL NOT OCCUR FOR INSTRUCTIONS
	   THAT ARE EXECUTED BY AN XCT OR A UUO, OR FOR INSTRUCTIONS
	   THAT ARE IN ACCUMULATOR T=14


	C. THE MEMORY FIX UPS FOR THE FLOATING POINT INSTRUCTIONS
	   WILL NOT WORK PROPERLY IF THE ANSWER IS STORED INDEXED
	   BY 17 (THE PUSH DOWN POINTER). EXAMPLES:

			FADRM AC,(17)
			FMPRB AC,-2(17)
			FDVM  AC,+1(17)

	D. THERE ARE NO FIXUPS FOR INTEGER FAULTS.
	   MOVNX AND MOVMX ARE CONSIDERED INTEGER INSTRUCTIONS AND WILL
	   HAVE NO FLOATING POINT FIX UPS IF THEY CAUSE OVERFLOW

	E. TRAPPING INSTRUCTION MUST NOT BE IN ACCUMULATOR T=14

	F. THE SIGN OF F.P. DIVIDE CHECK FIX UPS WILL BE CORRECT
	    ONLY WHEN DIVIDING BY ZERO. (THIS IMPLIES THAT THE
	    ARGUMENTS FOR DIVIDE CHECKS SHOULD BE NORMALIZED.)

	G. THE UN-NORMALIZING OF UNDERFLOWS WILL NOT WORK FOR THE
	   FLOATING "LONG" MODE OR FOR KI10 D.P. INSTRUCTIONS.

>	;END REPEAT 0

END