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-18065  SEE NAM FOR LAST THREE DIGITS 
*   RELOC: PART OF 24998-12001
*   PGMR: BG & JTS
* 
      HED ".RTOT" - REAL TO A TRIPLE POWER. 
      NAM .RTOT,7 24998-1X065 REV.2013 791019 
      SUP 
* 
      ENT .RTOT 
      EXT .TTOT 
* 
A     EQU 0 
B     EQU 1 
* 
*     .RTOT RAISES A SINGLE-PRECISION NUMBER TO A TRIPLE-PRECISION
*     POWER.
* 
*     CALLING SEQUENCE: 
* 
*                   JSB .RTOT 
*                   DEF <RESULT>
*                   DEF <BASE>
*                   DEF <POWER> 
*                   <ERROR RETURN>   (A,B) = ASCII "13UN" (ERROR) 
*                   <NORMAL RETURN>             OR "07OF" (OVERFLOW)
* 
*                   SEE ".TTOT" FOR DETAILS.
* 
.RTOT NOP 
      STA SAVEA     SAVE A,B IN CASE WE INDIRECT THRU THEM. 
      STB SAVEB 
      JSB ENTR1     GET RESULT ADDR 
      STA RESLT 
      LDA .RTOT,I   COPY RESULT ADDR
      ISZ .RTOT 
      STA ARG 
      LDA SAVEA 
      LDB SAVEB     SET UP REGS AS ARG MIGHT BE IN THEM 
      DLD ARG,I     CONVERT BASE TO TRIPLE
      STA BASE
      LDA B 
      AND =B177400
      STA BASE+1
      XOR B 
      STA BASE+3    (BASE+2 = 0, CONSTANT)
      JSB ENTR1     GET POWER ADDR
      STA POWER 
      JSB .TTOT     USE ".TTOT" 
RESLT DEF *-* 
      DEF BASE
POWER DEF *-* 
      JMP .RTOT,I   ERROR EXIT
      ISZ .RTOT 
      JMP .RTOT,I   NORMAL EXIT 
* 
* 
* 
ENTR1 NOP           ROUTINE TO GET NEXT ADDR IN PARAM LIST
      LDA .RTOT     ADDR ADDR PARAM 
      ISZ .RTOT 
      LDB SAVEB     RESTORE ORIGINAL B
ENTR2 STA T2        SAVE ADDR TO INDIRECT THRU
      LDA SAVEA     RESTORE ORIGINAL A
      LDA T2,I      DO THE INDIRECT 
      RAL,CLE,SLA,ERA 
      JMP ENTR2     INDIRECT BIT WAS SET, TRY AGAIN 
      JMP ENTR1,I   EXIT
* 
BASE  OCT 0,0,0,0   4-WORD VERSION OF BASE
SAVEA BSS 1 
SAVEB BSS 1 
ARG   BSS 1 
T2    EQU ARG 
* 
      END 
                                                                                                                                                  