/ / / / D E X P 3 / - - - - - / /SUBROUTINE DEXP3(B,E) FOR DOUBLE TO DOUBLE / / VERSION 5A 4-26-77 MH / SECT DEXP3 JA #DEXP3 DPCHK EXTERN #ARGER EXP3ER, TRAP4 #ARGER TEXT +DEXP3 + EXP3XR, SETX XREXP3 SETB BPEXP3 JA .+3 BPEXP3, FNOP 0 0 XREXP3, F 0.0 EXP31, F 0.0 F 0.0 EXP32, F 0.0 F 0.0 ORG 10*3+BPEXP3 FNOP JA EXP3XR 0 XP3RTN, JA . FP1XP3, F 1. F 0.0 BASE 0 #DEXP3, 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 STARTE FLDA% EXP31 /GET B JEQ XP3RTN /0 ^ X = 0 FSTA EXP31 /SAVE BASE FLDA% EXP32 /GET E JEQ EXP3ON /X ^ 0 = 1 FSTA EXP32 /SAVE EXPONENT FLDA EXP31 JLT EXP3ER /ALL IS NOT WELL EXTERN DLOG JSR DLOG /CALL LOG JA .+4 /TAKE LOG (B) JA EXP31 FMUL EXP32 /MULT BY EXPONENT-E FSTA EXP31 EXTERN DEXP JSR DEXP /CALL EXP. JA XP3RTN JA EXP31 EXP3ON, FLDA FP1XP3 JA XP3RTN