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 * DEF * DEF * (A,B) = ASCII "13UN" (ERROR) * 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