ASMB,R,L,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
* 
      NAM .IENT,6 24998-1X054 REV.2001 750701 
      ENT .IENT 
      EXT IFIX,.FLUN,FLOAT
      EXT .ZPRV 
* 
*     REAL TIME EXECUTIVE PRIVILEGED LIBRARY ROUTINE
* 
*     CALL..
* 
*     DLD X    (FLOATING) 
*     JSB .IENT     (RESULT INTEGER)
*     JMP ERROR     (EXIT IF EXPO(X)>14)
* 
*     CALCULATES GREATEST INTEGER NOT 
*     EXCEEDING X.
* 
.IENT NOP 
      JSB .ZPRV 
      DEF LIBX
      STA X 
      STB X+1 
      JSB .FLUN 
      ADA M15 
      SSA,RSS      EXPO(X)>14 ? 
      JMP LIBX     X TOO LARGE TO FIX 
      ISZ .IENT    NO 
      LDA X 
      LDB X+1 
      JSB IFIX
      STA ANS      ANS =FIX(X)
      JSB FLOAT 
      CPA X        IS X "INTEGER" ? 
      JMP TESTB    MAYBE
SUB   LDA ANS       X NOT "INTEGER" 
      LDB X 
      SSB      IF X<0, THEN 
      ADA M1        ANS=FIX(X)-1
      JMP LIBX
TESTB LDA ANS 
      CPB X+1      IS X "INTEGER" ? 
      JMP LIBX
      JMP SUB+1     NO
LIBX  JMP .IENT,I 
      DEF .IENT 
M15   DEC -15 
M1    DEC -1
X     REP 2 
      NOP 
ANS   NOP 
      END 
* 
* 
                                                                                                                      