/COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. /EDIT 3 9-25-70 .TITLE .BH RAISE DOUBLE BASE (A) TO DOUBLE POWER (B) A**B .GLOBL .BH,.CB,.DE,.AS,.DF,.ER,.AB / CALLING SEQUENCE (A**B = EXP (B * LOGE(A))) / JMS* (.BH) SURB CALL (A IN FLOAT ACC) / CAL/XCTADDR ADDR OF B (XCT IF INDIRECT) / NEXT INSTRUCTION SUBR RETURN (RESULT IN FLOAT ACC) / .BH CAL 0 /ENTRY-EXIT JMS* .CB /SHORT GET ARG (.CB) BH02 CAL 0 /ADDR OF B LAC* .AB SZA JMP BH06 ISZ BH02 /PASS EXP. WORD LAC* BH02 /CHECK EXP. MANT. SPA!SNA!CLA JMS* .ER /OTS 15 AND 15 /DUMMY INSTR (500015) JMP* .BH /ANS=BASE BH06 JMS* .DE /COMPUTE LOG2(A) (.DE) JMS* .AS /MULTIPLY DOUBLE (.AS) .DSA BH05 / (LOG2(A) * LOGE(2) = LOGE(A)) JMS* .AS /MULTIPLY DOUBLE (.AS) .DSA BH02+400000 / *** DDS JAN69 *** JMS* .DF /COMPUTE EXP (B * LOGE(A)) JMP* .BH /EXIT BH05 0 /LOGE(2) (1) (0.6931471806) 261344 / (2) 137700 / (3) .END