ASMB,L,R,C
* 
*  **************************************************************** 
*  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS      * 
*  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,       * 
*  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT * 
*  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.        * 
*  **************************************************************** 
* 
*   NAME: PART OF MATH LIBRARY
*   SOURCE:  24998-18XXX  SEE NAM FOR LAST THREE DIGITS 
*   RELOC: PART OF 24998-12001
*   PGMR: BG & JTS
* 
      HED ".TFXD" - FIX 4-WORD FLOATING TO DOUBLE INTEGER.
      NAM .TFXD,7 24998-1X186 REV.2001 780424 
* 
      ENT .TFXD 
      EXT .FLUN,.CFER,.FIXD,.FXDE 
* 
A     EQU 0 
B     EQU 1 
* 
*     .TFXD CONVERTS A 4-WORD FLOATING-POINT NUMBER 
*     TO A TWO-WORD INTEGER.
* 
*     CALLING SEQUENCE: 
* 
*                   JSB .TFXD 
*                   DEF <ARG> 
*                   <RETURN>   (A,B) = RESULT 
* 
*     OVERFLOW OCCURS IF THE ARGUMENT IS OUTSIDE THE RANGE
*     [-2**31,+2**31) .  THE OVERFLOW BIT IS SET AND THE
*     VALUE RETURNED IS (77777,177777) .
      SPC 4 
*                   CONVERT INTO ".FIXD"
* 
.TFXD NOP 
      STA .FXDE+1   SAVE A-REG. 
      LDA .TFXD,I   COPY ARG ADDR.
      ISZ .TFXD 
      STA ARG 
      LDA .FXDE+1   RESTORE A-REG.
      JSB .CFER     COPY ARG INTO ".FIXD" 
      DEF .FXDE+1 
ARG   DEF *-* 
      LDB .FXDE+4   LAST WORD 
      JSB .FLUN     SEPARATE MANT, EXP IN LAST WD 
      SWP 
      IOR .FXDE+3   TRUNCATED BITS
      STA .FXDE+3 
      LDA B         EXPONENT
      LDB .TFXD     COPY ENTRY PT 
      STB .FIXD 
      JMP .FXDE,I   USE COMMON CODE 
* 
      END 
                            