/COPYRIGHT 1970, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. /EDIT 2 9-25-70 .TITLE .BB /RAISE INTEG. BASE (A) TO INTEG. POWER (B) /A**B .GLOBL .BB,.AD,.ER / CALLING SEQUENCE / JMS* (.BB) SUBR CALL (A IN A-REG) / LAC(*) ADDR ADDR OF B (* IF INDIRECT) / NEXT INSTRUCTION SUBR RETURN (RESULT IN A REG) / .BB CAL 0 /ENTRY-EXIT SZA JMP BB11 XCT* .BB /GET EXPONENT SPA!SNA!CLA JMS* .ER AND 15 /(500015) DUMMY INSTR ISZ .BB /BUMP EXIT JMP* .BB BB11 DAC BB01 /STORE BASE (A) LAC BB04 /GET A (1) DAC BB05 /INITIALIZE RESULT XCT* .BB /GET EXP ISZ .BB /BUMP EXIT DAC BB02 /STORE EXP(B) SPA!CLA /IF NEG EXP, EXIT A=ZERO JMP* .BB LAW -1 /IS THE BASE = 1 TAD BB01 SNA JMP BB10 /YES-EXIT A= 1 BB06 LAC BB02 /SET EXP = EXP/2 RCR DAC BB02 SNL /WAS B17 SET JMP BB07 / NO LAC BB01 /YES- BASE JMS* .AD / * (INTEGER MULTIPLY (.AD)) LAC BB05 / RESULT DAC BB05 / TO RESULT BB07 LAC BB02 /IS EXP NOW ZERO SNA / NO JMP BB10 / YES-EXIT LAC BB01 / BASE JMS* .AD / * (INTEGER MULTIPLY (.AD)) LAC BB01 / BASE DAC BB01 / TO BASE JMP BB06 /CYCLE BB10 LAC BB05 /LOAD RESULT JMP* .BB /EXIT BB01 CAL 0 /BASE (A) BB02 CAL 0 /EXP (B) BB04 1 BB05 CAL 0 /RESULT .END