.TITLE DSIGN TRANSFER OF SIGN FOR DOUBLE ARGUMENT /COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. /EDIT 2 10-22-70 .GLOBL DSIGN,.DA,.AO,.AB / CALLING SEQUENCE / JMS* (DSIGN) SUBR CALL / JMP .+3 SUBR RETURN / CAL/XCTADDR ADDR OF ARG1 / CAL/XCTADDR ADDR OF ARG2 (XCT IF INDIRECT) / DSIGN CAL 0 /ENTRY-EXIT JMS* .DA /GET ARGUMENT (.DA) JMP DSIG03 DSIG01 CAL 0 /ARG1 DSIG02 CAL 0 /ARG2 DSIG03 JMS* .AO /LOAD DOUBLE (.AO) .DSA DSIG02+400000 / (ARG2) LAC* .AB /GET SIGN WORD (.AB) AND DSIG07 /KEEP SIGN ONLY DAC DSIG02 /HOLD SIGN JMS* .AO /LOAD DOUBLE (.AO) .DSA DSIG01+400000 / (ARG1) LAC* .AB /GET SIGN WORD (.AB) AND DSIG08 /STRIP SIGN XOR DSIG02 /ADD SIGN OF ARG2 SAD DSIG07 /CHECK FOR -0.0 CASE CLA /YES. MAKE -0.0 A 0.0 DAC* .AB /RESTORE IN SIGN WORD (.AB) JMP* DSIGN /EXIT DSIG07 400000 DSIG08 377777 .END