X-Git-Url: http://gitweb.hachti.de/?a=blobdiff_plain;f=sw%2Ff4%2FFRTSRC%2Fexp3.ra;fp=sw%2Ff4%2FFRTSRC%2Fexp3.ra;h=67da3839d6e35da4509c6cbc49233a0e4e70af6e;hb=7af5ad59491ddf2066641aef1e0025a337c0f247;hp=0000000000000000000000000000000000000000;hpb=919757fd611e482003ce51f366f6783cab73dea3;p=pdp8.git diff --git a/sw/f4/FRTSRC/exp3.ra b/sw/f4/FRTSRC/exp3.ra new file mode 100644 index 0000000..67da383 --- /dev/null +++ b/sw/f4/FRTSRC/exp3.ra @@ -0,0 +1,65 @@ +/ +/ +/ +/ E X P 3 +/ - - - - +/ +/SUBROUTINE EXP3(B,E) +/ +/ VERSION 5A 4-26-77 MH +/ + SECT EXP3 + JA #EXP3 + EXTERN #ARGER +EXP3ER, TRAP4 #ARGER + TEXT +EXP3 + +EXP3XR, SETX XREXP3 + SETB BPEXP3 +BPEXP3, FNOP + 0 + 0 +XREXP3, F 0.0 +EXP31, F 0.0 +EXP32, F 0.0 +FP1XP3, F 1. + ORG 10*3+BPEXP3 + FNOP + JA EXP3XR + 0 +XP3RTN, JA . + BASE 0 +#EXP3, 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 + 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 ALOG + JSR ALOG /CALL LOG + JA .+4 /TAKE LOG (B) + JA EXP31 + FMUL EXP32 /MULT BY EXPONENT-E + FSTA EXP31 + EXTERN EXP + JSR EXP /CALL EXP. + JA XP3RTN + JA EXP31 +EXP3ON, FLDA FP1XP3 + JA XP3RTN +