/ / / / E X P I D 2 / - - - - - - / /SUBROUTINE EXPID2(B,E) /WHERE B IS INTEGER AND E IS DOUBLE / / VERSION 5A 4-26-77 MH / SECT EXPID2 JA #EXID2 EXTERN #ARGER EXP3ER, TRAP4 #ARGER TEXT +EXPID2+ EXP3XR, SETX XREXP3 SETB BPEXP3 BPEXP3, FNOP 0 0 XREXP3, F 0.0 EXP31, F 0.0 F 0.0 EXP32, F 0.0 FP1XP3, F 1. F 0.0 ORG 10*3+BPEXP3 FNOP JA EXP3XR 0 XP3RTN, JA . BASE 0 #EXID2, STARTD FLDA 10*3 FSTA XP3RTN FLDA 0 SETX XREXP3 SETB BPEXP3 BASE BPEXP3 LDX 1,1 FSTA BPEXP3 FLDA% BPEXP3,1 /ADDR OF B FSTA EXP31 FLDA% BPEXP3,1+ /ADDR OF E FSTA EXP32 STARTF FLDA% EXP31 /GET B JEQ XP3RTN /0 ^ X = 0 JLT EXP3ER FSTA EXP31 /SAVE BASE FCLA FSTA EXP31+3 STARTE LDX 73,1 EXTERN DLOG JSR DLOG /CALL LOG JA .+4 /TAKE LOG (B) JA EXP31 FSTA EXP31 FLDA% EXP32 /GET EXPONENT JEQ EXP3ON /X^0=1 FMULM EXP31 EXTERN DEXP JSR DEXP /CALL EXP. JA XP3RTN JA EXP31 EXP3ON, STARTE FLDA FP1XP3 JA XP3RTN