/ / / FIRST PRINTING, FEBRUARY 1974 / / THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO / CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED / AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPON- / SIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS / DOCUMENT. / / THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FUR- / NISHED TO THE PURCHASER UNDER A LICENSE FOR USE ON / A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH / INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR / USE IN SUCH SYSTEM, EXCEPT AS MAY OTHERWISE BE PRO- / VIDED IN WRITING BY DIGITAL. / / DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY / FOR THE USE OR RELIABILITY OF ITS SOFTWARE ON EQUIP- / MENT THAT IS NOT SUPPLIED BY DIGITAL. / / COPYRIGHT (C) 1974, BY DIGITAL EQUIPMENT CORPORATION / / .EJECT /COPYRIGHT 1971, DIGITAL EQUIPMENT CORP., MAYNARD, MASS. /EDIT 4 5/21/71 / / 005 25-MAR-76 G. A. REID FIX A PROBLEM WHICH RETURNED / A ZERO RESULT WHEN THE BASE IS -1. / (SPR 15-1095) / .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) / ADDR ADDR OF B (XCT ADDR IF INDIRECT) / NEXT INSTRUCTION SUBR RETURN (RESULT IN A REG) / .BB CAL 0 /ENTRY-EXIT DAC BB01 LAC* .BB ISZ .BB DAC BB02 SPA LAC* BB02 DAC BB02 LAC BB01 SZA JMP BB11 LAC* BB02 /GET EXPONENT SPA!SNA!CLA JMS* .ER AND 15 /(500015) DUMMY INSTR JMP* .BB BB11 DZM BB05 ISZ BB05 /INITIALIZE RESULT TO 1. SAD BB05 /CHECK BASE FOR 1 JMP* .BB /YES - RETURN 1 LAC* BB02 /GET EXP DAC BB02 /STORE EXP(B) SPA!CLA /IF NEG EXP, EXIT A=ZERO JMP BB12 / FIRST CHECK IF BASE = -1. /(GAR-005) 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 BB12 LAW -1 / IS THE BASE -1? /(GAR-005) SAD BB01 / /(GAR-005) JMP BB06 / IT IS -1, PROCESS IT. /(GAR-005) CLA / NOT -1, EXIT WITH ZERO RESULT /(GAR-005) JMP* .BB / EXIT. /(GAR-005) BB01 CAL 0 /BASE (A) BB02 CAL 0 /EXP (B) BB05 CAL 0 /RESULT .END