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 ".PWR2"  REAL VALUE * 2**(N) ROUTINE (ADDS EXPONENTS) 
      NAM .PWR2,6 24998-1X184 REV.2001 781106 
      ENT .PWR2 
      EXT .ZPRV 
* 
* 
*      CALLING SEQUENCE.. 
* 
*      DLD X    (FLOATING)
*      JSB .PWR2 (RESULT FLOATING)
*      DEF N
* 
*  N    DEC I      (INTEGER)
* 
*      .PWR2 RETURNS WITH X*2**N IN A/B.
*      NO CHECK IS MADE FOR EXPONENT
*      OVERFLOW OR UNDERFLOW. 
* 
*      TIME:  APPROX 38  2100 MACHINE CYCLES + PRIVLEDGE PROC.
* 
.PWR2 NOP 
      JSB .ZPRV 
      DEF LIBX
      STA HIMAN     SAVE HI-MANTISSA
      LDA B         GET LO-MANTISSA + EXPONENT
      AND OM400     MASK OF EXP.
      STA LOMAN     SAVE LO-MANTISSA
      XOR B         GET EXPONENT
      SLA,RAR       POSITION EXPONENT 
      IOR OM200     MIRGE IN NEG. BITS
      LDB .PWR2,I   GET N 
      ADA B,I       ADD N TO EXPONENT 
      RAL           REPOSITION
      AND O377      MASK OFF NEG/OVF BITS 
      IOR LOMAN     MIRGE IN LO-MANTISSA BITS 
      LDB A         PUT IN B-REG
      LDA HIMAN     GET HI-MANTISSA 
      ISZ .PWR2 
LIBX  JMP .PWR2,I 
      DEF .PWR2 
O377  OCT 377 
OM400 OCT -400
OM200 OCT -200
LOMAN NOP 
HIMAN NOP 
A     EQU 0 
B     EQU 1 
      END 
* 
                                                                                                                                                                                                                          