X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Ff4%2FFRTSRC%2Fdexp3.ra;fp=sw%2Ff4%2FFRTSRC%2Fdexp3.ra;h=7038be87991a8f3860b744106599f175cb0515d4;hb=7af5ad59491ddf2066641aef1e0025a337c0f247;hp=0000000000000000000000000000000000000000;hpb=919757fd611e482003ce51f366f6783cab73dea3;p=pdp8.git diff --git a/sw/f4/FRTSRC/dexp3.ra b/sw/f4/FRTSRC/dexp3.ra new file mode 100644 index 0000000..7038be8 --- /dev/null +++ b/sw/f4/FRTSRC/dexp3.ra @@ -0,0 +1,70 @@ +/ +/ +/ +/ 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 +