software: Added more and more
[pdp8.git] / sw / f4 / FRTSRC / exp.ra
CommitLineData
7af5ad59
PH
1/
2/
3/ E X P
4/ - - -
5/
6/SUBROUTINE EXP(X)
7/
8/ VERSION 5A 4-27-77 PT
9/
10 SECT EXP
11 JA #EXP
12 0
13EXPFUD, 0
14 0
15 0
16/
17 EXTERN #ARGER
18EXPER, TRAP4 #ARGER
19 TEXT +EXP +
20EXPXR, SETX XREXP
21 SETB BPEXP
22BPEXP, F 0.0
23XREXP, F 0.0
24EXP1, F 0.0
25EXP2, F 0.0
26EXP33, F 0.0
27EXP4, F 0.0
28F1EXP, F 1.
29F2EXP, F 2.
30 ORG 10*3+BPEXP
31 FNOP
32 JA EXPXR
33 0
34EXPRTN, JA .
35/
36EXPAF, 4
37 2372
38 1402
39/
40EXPBF, 7774
41 2157
42 5157
43/
44EXPCF, 12
45 5454
46 343
47/
48EXPDF, 7
49 2566
50 5341
51/
52EXP2E, 1
53 2705
54 2435
55 BASE 0
56#EXP, STARTD
57 FLDA 10*3
58 FSTA EXPRTN
59 FLDA 0
60 SETX XREXP
61 SETB BPEXP
62 BASE BPEXP
63 LDX 1,1
64 FSTA BPEXP
65 FLDA% BPEXP,1 /ADDR OF X
66 FSTA BPEXP
67 STARTF
68 FLDA% BPEXP /GET X
69 LDX -1,0 /PRESERVE SIGN.
70 JGE .+5
71 FNEG /IF NEGATIVE NEGATE IT.
72 LDX 0,0 /AND REMEMBER IT,BUBBY.
73 FMUL EXP2E /MULTIPLY TO BINARY TYPE.
74 FSTA EXP1 /AND SAVE IT AWAY.
75 JAL EXPER /CAN T FIX IT, ERROR.
76 ALN 0 /FIX IT UP.
77 FSTA EXP33 /AND SAVE IT.
78 FNORM /NOW NORMALIZE FOR OUR COMPUTATIONS.
79 FNEG /NEGATE THE FAC
80 FADD EXP1 /ADD IN BEFORE NORMAL.
81 FSTA EXP1 /AND STORE BACK. NO FADDM
82 FMUL EXP1 /NOW SQUARE IT.
83 FSTA EXP2 /AND SAVE IT.
84 FADD EXPDF /START THE ITERATION.
85 FSTA EXP4 /SAVE IN ANOTHER TEMP.
86 FLDA EXPCF /NEXT CONSTANT.
87 FDIV EXP4 /AND DIVIDE INTO IT.
88 FSUB EXP1 /SUBTRACT BACK NOW.
89 FADD EXPAF /NEXT CONSTANT.
90 FSTA EXP4 /AND SAVE AGAIN. KEEP THIS UP.
91 FLDA EXPBF
92 FMUL EXP2
93 FADDM EXP4
94 FLDA EXP1
95 FDIV EXP4
96 FMUL F2EXP
97 FADD F1EXP
98 FSTA EXPFUD /NOW FIDDLE THE EXPONENT.
99 STARTD
100 FLDA EXP33
101 FADDM EXPFUD-1 /EXPONENT UPDATE.
102 STARTF
103 JXN EXPP,0 /NO INVERSION NECESSARY. RETURN.
104 FLDA F1EXP /INVERT IT
105 FDIV EXPFUD
106 JA EXPRTN
107EXPP, FLDA EXPFUD /AN EXIT.
108 JA EXPRTN
109\f