.TITLE SIGN   TRANSFER OF SIGN FOR REAL ARGUMENTS
/ 
/ 
/                   FIRST PRINTING, FEBRUARY 1974
/ 
/ THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO 
/ CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED
/ AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION.
/ DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPON-
/ SIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS
/ DOCUMENT.
/ 
/ THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FUR-
/ NISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON
/ A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH
/ INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR 
/ USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PRO-
/ VIDED IN WRITING BY DIGITAL.
/ 
/ DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/ FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIP-
/ MENT THAT IS NOT SUPPLIED BY DIGITAL.
/ 
/ COPYRIGHT (C) 1974, BY DIGITAL EQUIPMENT CORPORATION
/ 
/ 
        .EJECT
/COPYRIGHT 1970,1971, DIGITAL EQUIPMENT CORP.,MAYNARD, MASS.
/EDIT #004  6-15-71   *REF*
/FOR HARDWARE FLOATING POINT PROCESSOR (FPP), DEFINE 90 FPP,
       .GLOBL SIGN,.DA,
	.IFUND %FPP
	.GLOBL .AG,.AB
	.ENDC
	.IFUND %FPP
	.DEFIN FLD%,A		/FLOATING LOAD (.AG)
	JMS* A
	.ENDM
	.ENDC
	.IFDEF %FPP
FLD=713050
	.DEFIN FLD%
	FLD
	.ENDM
	.ENDC
/             CALLING SEQUENCE
/      JMS*   (SIGN)          SUBR CALL
/      JMP    .+3             SUBR RETURN
/      CAL/XCTADDR            ADDR OF ARG1
/      CAL/XCTADDR            ADDR OF ARG2  (XCT IF INDIRECT)
/FPP INSTR. ASS.
	.IFDEF %FPP
BPA=716604		/BR ON POS.
FNG=713272		/MAKE FPP AC NEG.
	.ENDC
/
SIGN   CAL    0              /ENTRY-EXIT
       JMS*   .DA            /GET ARGUMENTS (.DA)
       JMP    SIGN03
SIGN01 CAL    0              /ARG1
SIGN02 CAL    0              /ARG2
SIGN03 FLD%   .AG            /LOAD REAL (.AG)
       .DSA   SIGN02+400000  / (ARG2)
	.IFDEF %FPP
	CLC			/-1 TO AC
	BPA			/BR IF POS.
	SIGN04
	CLA			/FNG
SIGN04	TAD (FNG)		/OR FAB
	DAC SIGN05
	FLD			/FLOATING LOAD
	SIGN01+400000		/ARG1
SIGN05	0			/FNG OR FAB
	0			/UNUDES
	.ENDC
	.IFUND %FPP
       LAC*   .AB            /GET SIGN WORD (.AB)
       AND    SIGN07         /KEEP SIGN ONLY
       DAC    SIGN06         /HOLD SIGN
       JMS*   .AG            /LOAD REAL (.AG)
       .DSA   SIGN01+400000  / (ARG1)
       LAC*   .AB            /GET SIGN WORD (.AB)
       AND    SIGN08         /STRIP SIGN
       XOR    SIGN06         /ADD SIGN OF ARG2
	SAD SIGN07	/CHECK FOR -0.0 CASE
	CLA	/YES.  MAKE -0.0 A 0.0
       DAC*   .AB            /RESTORE IN SIGN WORD (.AB)
	.ENDC
       JMP*   SIGN           /EXIT
	.IFUND %FPP
SIGN06	0
SIGN07        400000
SIGN08        377777
	.ENDC
       .END