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 ".TINT" - CONVERT TRIPLE TO INTEGER.
      NAM .TINT,7 24998-1X161 REV.2001 780921 
* 
      ENT .TINT,.TFXS 
      EXT IFIX,.CFER
* 
A     EQU 0 
B     EQU 1 
* 
*     .TINT CONVERTS A TRIPLE-PRECISION NUMBER TO AN INTEGER. 
* 
*     CALLING SEQUENCE: 
* 
*                   JSB .TINT 
*                   DEF <ARG> 
*                   <RETURN>   A = INTEGER
* 
*     IF THE ARGUMENT IS OUTSIDE THE RANGE [-32768,+32768) THE
*     OVERFLOW BIT IS SET AND 32767 IS RETURNED.
      SPC 4 
.TINT NOP 
.TFXS EQU .TINT 
      STA TEMP      SAVE A-REG. 
      LDA .TINT,I   COPY ARG ADDR.
      ISZ .TINT 
      STA ARG 
      LDA TEMP      RESTORE A-REG.
      JSB .CFER     COPY ARG. 
      DEF TEMP
ARG   DEF *-* 
      LDA TEMP+1    2ND WD. 
      IOR TEMP+2    .OR. 3RD WD.
      LDB TEMP+3
      CCE,SZA       ANY BITS SET IN 2ND OR 3RD ?
      RBL,ERB       YES, SET SIGN BIT IN 4TH WD.
      LDA TEMP      DELETE 2ND, 3RD WDS.
      JSB IFIX      FIX 
      JMP .TINT,I   EXIT
* 
TEMP  BSS 4         ARG.
* 
      END 
                                                                                                                                  