File: EXP.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /R=EXP(R) SINGLE PREC. EXPONENTIAL FUNCTION / / / VERSION 50A 07.04.20 WVDM / / SECT EXP 00000 1030 JA #EXP 00001 0074 00002 0000 0 00003 0000 EXPFUD, 0 00004 0000 0 00005 0000 0 / EXTERN #ARGER 00006 4000 EXPER, TRAP4 #ARGER 00007 0000 00010 0530 TEXT +EXP + 00011 2040 00012 4040 00013 1100 EXPXR, SETX XREXP 00014 0022 00015 1110 SETB BPEXP 00016 0017 00017 0000 BPEXP, F 0.0 00020 0000 00021 0000 00022 0000 XREXP, F 0.0 00023 0000 00024 0000 00025 0000 EXP1, F 0.0 00026 0000 00027 0000 00030 0000 EXP2, F 0.0 00031 0000 00032 0000 00033 0000 EXP33, F 0.0 00034 0000 00035 0000 00036 0000 EXP4, F 0.0 00037 0000 00040 0000 00041 0001 F1EXP, F 1. 00042 2000 00043 0000 00044 0002 F2EXP, F 2. 00045 2000 00046 0000 ORG 10*3+BPEXP 00047 0040 FNOP 00050 1030 JA EXPXR 00051 0013 00052 0000 0 00053 1030 EXPRTN, JA . 00054 0053 / RALF V50A 8-APR-92 PAGE 1-1 00055 0004 EXPAF, 4 /9.95459 00056 2372 2372 00057 1402 1402 / 00060 7774 EXPBF, 7774 /.03465735 00061 2157 2157 00062 5157 5157 / 00063 0012 EXPCF, 12 /-617.9723 00064 5454 5454 00065 0343 0343 / 00066 0007 EXPDF, 7 /87.417496 00067 2566 2566 00070 5341 5341 / 00071 0001 EXP2E, 1 /1.4426949 = 1/LN(2) 00072 2705 2705 00073 2435 2435 / BASE 0 00074 0006 #EXP, STARTD 00075 0210 FLDA 10*3 00076 6400 FSTA EXPRTN 00077 0053 00100 0200 FLDA 0 00101 1100 SETX XREXP 00102 0022 00103 1110 SETB BPEXP 00104 0017 BASE BPEXP 00105 0101 LDX 1,1 00106 0001 00107 6200 FSTA BPEXP 00110 0610 FLDA% BPEXP,1 /ADDR OF X 00111 6200 FSTA BPEXP 00112 0005 STARTF 00113 0600 FLDA% BPEXP /GET X 00114 0100 LDX -1,0 /PRESERVE SIGN. 00115 7777 00116 1010 JGE .+5 00117 0123 00120 0003 FNEG /IF NEGATIVE NEGATE IT. 00121 0100 LDX 0,0 /AND REMEMBER IT,BUBBY. 00122 0000 00123 4216 FMUL EXP2E /MULTIPLY TO BINARY TYPE. 00124 6202 FSTA EXP1 /AND SAVE IT AWAY. 00125 1070 JAL EXPER /CAN'T FIX IT, ERROR. 00126 0006 00127 0010 ALN 0 /FIX IT UP. 00130 6204 FSTA EXP33 /AND SAVE IT. 00131 0004 FNORM /NOW NORMALIZE FOR OUR COMPUTATIONS. 00132 0003 FNEG /NEGATE THE FAC 00133 1202 FADD EXP1 /ADD IN BEFORE NORMAL. 00134 6202 FSTA EXP1 /AND STORE BACK. 00135 4202 FMUL EXP1 /NOW SQUARE IT. RALF V50A 8-APR-92 PAGE 1-2 00136 6203 FSTA EXP2 /AND SAVE IT. 00137 1215 FADD EXPDF /START THE ITERATION. 00140 6205 FSTA EXP4 /X^2+D 00141 0214 FLDA EXPCF /NEXT CONSTANT. 00142 3205 FDIV EXP4 /C/(X^2+D) 00143 2202 FSUB EXP1 /(C/(X^2+D))-X 00144 1212 FADD EXPAF /NEXT CONSTANT. 00145 6205 FSTA EXP4 /(C/(X^2+D))-X+A 00146 0213 FLDA EXPBF /NEXT CONSTANT 00147 4203 FMUL EXP2 /B*X^2 00150 1205 FADD EXP4 00151 6205 FSTA EXP4 /A-X+B*X^2+C/(X^2+D) 00152 0202 FLDA EXP1 00153 3205 FDIV EXP4 /X/[A-X+B*X^2+C/(X^2+D)] 00154 4207 FMUL F2EXP 00155 1206 FADD F1EXP /1+2*X/[A-X+B*X^2+C/(X^2+D)] 00156 6400 FSTA EXPFUD /NOW FIDDLE THE EXPONENT. 00157 0003 00160 0006 STARTD 00161 0204 FLDA EXP33 00162 5400 FADDM EXPFUD-1 /EXPONENT UPDATE. 00163 0002 00164 0005 STARTF 00165 2000 JXN EXPP,0 /NO INVERSION NECESSARY. RETURN. 00166 0174 00167 0206 FLDA F1EXP /INVERT IT 00170 3400 FDIV EXPFUD 00171 0003 00172 1030 JA EXPRTN 00173 0053 00174 0400 EXPP, FLDA EXPFUD /AN EXIT. 00175 0003 00176 1030 JA EXPRTN 00177 0053 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 21 SYMBOLS, NO ABS REFS # C 00000 #ARGER X 00000 #EXP 00074 #MAIN S 00000 BPEXP 00017 EXP S 00200 EXPAF 00055 EXPBF 00060 EXPCF 00063 EXPDF 00066 EXPER 00006 EXPFUD 00003 EXPP 00174 EXPRTN 00053 EXPXR 00013 EXP1 00025 EXP2 00030 EXP2E 00071 EXP33 00033 EXP4 00036 F1EXP 00041 F2EXP 00044 XREXP 00022