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
* 
      HED "ISIGN"  ABS(INTEGER) * SIGN (ANY NUMB) 
      NAM ISIGN,6 24998-1X149 REV.2001 750701 
      ENT ISIGN 
      EXT .ZPRV 
* 
* 
*      CALL.. 
* 
*      JSB ISIGN     (RESULT INTEGER) 
*      DEF A         (INTEGER)
*      DEF B         (INTEGER OR FLOATING)
*     <RETURN>  O-REG SET IF OVERFLOW 
* 
*      CALCULATES  SIGNUM(B)*ABS(A).
* 
ISIGN NOP 
      JSB .ZPRV 
      DEF LIBX
      LDB ISIGN,I   GET A 
      LDB B,I       IN THE B-REG. 
      ISZ ISIGN     GET B IN A-REG
      LDA ISIGN,I 
      LDA A,I 
      ISZ ISIGN 
      SZA 
      SZB,RSS      A=0 OR B=0 ? 
      CLB           YES ANS=0 
      XOR B         COMPLEMENT IF SIGN'S
      SSA,RSS       ARE DIFFERENT 
      JMP EXIT
      CLO 
      CMB,INB       COMPLEMENT ANS
      SOC           OVERFLOW?  ANS = 32767
      CMB 
EXIT  LDA B 
LIBX  JMP ISIGN,I 
      DEF ISIGN 
A     EQU 0 
B     EQU 1 
      END 
* 
            