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-18071 * RELOC: PART OF 24998-12001 * PGMR: BG & JTS * HED ".TTOR" - TRIPLE TO A REAL POWER. NAM .TTOR,7 24998-1X071 REV.2013 791022 SUP * ENT .TTOR EXT .TTOT * A EQU 0 B EQU 1 * * .TTOR RAISES A TRIPLE-PRECISION NUMBER TO A * SINGLE-PRECISION POWER. * * CALLING SEQUENCE: * * JSB .TTOR * DEF * DEF * DEF * (A,B) = ASCII "13UN" (ERROR) * OR "07OF" (OVERFLOW) * * SEE ".TTOT" FOR DETAILS. * .TTOR NOP STA SAVEA STB SAVEB SAVE A,B ARGS MIGHT BE THERE OR INDIRECT THRU THEM JSB ENTR1 STA RESLT ADDRESS OF RESULT JSB ENTR1 STA BASE ADDRESS OF BASE JSB ENTR1 STA POWER LDA SAVEA LDB SAVEB DLD POWER,I CONVERT POWER TO TRIPLE STA POWER LDA B AND =B177400 STA POWER+1 XOR B STA POWER+3 (POWER + 2 =0,CONSTANT) JSB .TTOT USE ".TTOT" TO DO THE WORK RESLT DEF *-* BASE DEF *-* DEF POWER JMP .TTOR,I ERROR EXIT ISZ .TTOR JMP .TTOR,I NORMAL EXIT * ENTR1 NOP ROUTINE TO GET NEXT ADDR IN PARAM LIST LDA .TTOR ADDR ADDR PARAM ISZ .TTOR 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 SAVEA BSS 1 SAVEB BSS 1 POWER OCT 0,0,0,0 4-WORD VERSION OF POWER T2 EQU POWER * END