File: DSIN.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /D=DSIN(D) DOUBLE PREC. TRIG. SINE / / / VERSION 50A 28-MAY-80 WVDM / / SECT DSIN 00000 1030 JA #DSIN 00001 0175 DPCHK EXTERN #ARGER 00002 4000 DSNER, TRAP4 #ARGER 00003 0000 00004 0423 TEXT +DSIN + 00005 1116 00006 4040 00007 1100 SINXR, SETX XRSIN 00010 0016 00011 1110 SETB BPSIN 00012 0013 00013 0000 BPSIN, F 0.0 00014 0000 00015 0000 00016 0000 XRSIN, F 0.0 00017 0000 00020 0000 00021 0000 X, F 0.0 00022 0000 00023 0000 00024 0000 F 0.0 00025 0000 00026 0000 00027 0000 SIN1, F 0.0 00030 0000 00031 0000 00032 0000 F 0.0 00033 0000 00034 0000 00035 0001 F1SIN, F 1.0 00036 2000 00037 0000 00040 0000 F 0.0 00041 0000 00042 0000 ORG 10*3+BPSIN 00043 0040 FNOP 00044 1030 JA SINXR 00045 0007 00046 0000 0 00047 1030 SINRTN, JA . 00050 0047 / 00051 0001 FPI2SN, 1 /PI DIVIDED BY 2 00052 3110 3110 00053 3755 3755 00054 2421 2421 RALF V50A 8-APR-92 PAGE 1-1 00055 0264 0264 00056 3016 3016 / 00057 0002 FPISIN, 2 /PI 00060 3110 3110 00061 3755 3755 00062 2421 2421 00063 0264 0264 00064 3016 3016 / 00065 0003 F2PISN, 3 /TWO PI 00066 3110 3110 00067 3755 3755 00070 2421 2421 00071 0264 0264 00072 3016 3016 / 00073 0003 F3PIB2, 0003 /4.71238898038468986 00074 2266 2266 00075 2761 2761 00076 7714 7714 00077 6207 6207 00100 2212 2212 / 00101 7720 SINC17, 7720 /1/17! 00102 3124 3124 00103 5435 5435 00104 6014 6014 00105 1265 1265 00106 1236 1236 / 00107 7730 SINC15, 7730 /-1/15! 00110 4506 4506 00111 0060 0060 00112 3063 3063 00113 0437 0437 00114 4133 4133 / 00115 7740 SINC13, 7740 /1/13! 00116 2604 2604 00117 4430 4430 00120 2352 2352 00121 0664 0664 00122 1151 1151 / 00123 7747 SINC11, 7747 /-1/11! 00124 4506 4506 00125 3352 3352 00126 3002 3002 00127 5354 5354 00130 3710 3710 / 00131 7756 SINC9, 7756 /1/9! 00132 2707 2707 00133 3616 3616 00134 4525 4525 RALF V50A 8-APR-92 PAGE 1-2 00135 5434 5434 00136 6350 6350 / 00137 7764 SINC7, 7764 /-1/7! 00140 4577 4577 00141 4577 4577 00142 4577 4577 00143 4577 4577 00144 4636 4636 / 00145 7772 SINC5, 7772 /1/5! 00146 2104 2104 00147 2104 2104 00150 2104 2104 00151 2104 2104 00152 2104 2104 / 00153 7776 SINC3, 7776 /-1/3! 00154 5252 5252 00155 5252 5252 00156 5252 5252 00157 5252 5252 00160 5244 5244 / 00161 7770 SINTST, 7770 00162 2000 2000 00163 0000 0000 00164 0000 0000 00165 0000 0000 00166 0000 0000 / 00167 0007 SEVTHR, 0007 00170 2217 2217 00171 7777 7777 00172 7777 7777 00173 7777 7777 00174 7777 7777 / BASE 0 00175 0006 #DSIN, STARTD 00176 0210 FLDA 10*3 00177 6400 FSTA SINRTN 00200 0047 00201 0200 FLDA 0 00202 1100 SETX XRSIN 00203 0016 00204 1110 SETB BPSIN 00205 0013 BASE BPSIN 00206 0101 LDX 1,1 00207 0001 00210 0102 LDX 73,2 00211 0073 00212 6200 FSTA BPSIN 00213 0610 FLDA% BPSIN,1 /ADDR OF X 00214 6200 FSTA BPSIN RALF V50A 8-APR-92 PAGE 1-3 00215 0050 STARTE 00216 0600 FLDA% BPSIN /GET X 00217 0100 LDX -1,0 /SET SIGN TO POSITIVE. 00220 7777 00221 1060 JGT SINMOD /IF POSITIVE BYPASS FUDGE. 00222 0230 00223 1000 JEQ SINRTN /IF ZERO EXIT. 00224 0047 00225 0003 FNEG /NEGATIVE. NEGATE AC. SIN(-X)=-SIN(X) 00226 0100 LDX 0,0 /SET SIGN TO MINUS. 00227 0000 00230 6202 SINMOD, FSTA X 00231 3216 FDIV F2PISN /X/2PI 00232 0012 ALN 2 00233 0004 FNORM 00234 4216 FMUL F2PISN /*2PI 00235 6204 FSTA SIN1 00236 0202 FLDA X 00237 2204 FSUB SIN1 00240 6204 FSTA SIN1 00241 6202 FSTA X /CHECK FOR QUADRANT /1 0-PI/2 SIN(PI/2)=1 /2 PI/2-PI SIN(PI)=0 /3 PI-3PI/2 SIN(3PI/2)=-1 /4 3PI/2-2PI SIN(2PI)=0 / 00242 0212 FLDA FPI2SN /PI/2 00243 2204 FSUB SIN1 00244 1060 JGT TAYLOR 00245 0307 00246 1000 JEQ SPIB2 /=PI/2 00247 0340 00250 0214 FLDA FPISIN /PI 00251 2204 FSUB SIN1 00252 1050 JLT S1 00253 0263 00254 1000 JEQ SPI /=PI 00255 0343 00256 0214 FLDA FPISIN 00257 2204 FSUB SIN1 /SIN(X)=SIN(PI-X) 00260 6202 FSTA X 00261 1030 JA TAYLOR 00262 0307 / 00263 0220 S1, FLDA F3PIB2 /3PI/2 00264 2204 FSUB SIN1 00265 1050 JLT S2 00266 0277 00267 1000 JEQ S3PIB2 /=3PI/2 00270 0346 00271 0204 FLDA SIN1 00272 2214 FSUB FPISIN 00273 0003 FNEG 00274 6202 FSTA X /SIN(X)=-SIN(X-PI) 00275 1030 JA TAYLOR RALF V50A 8-APR-92 PAGE 1-4 00276 0307 / 00277 0216 S2, FLDA F2PISN /2PI 00300 2204 FSUB SIN1 00301 1050 JLT DSNER /ERROR 00302 0002 00303 1000 JEQ SPI 00304 0343 00305 0003 FNEG 00306 6202 FSTA X /CALCULATE SIN VIA TAYLOR SERIES 00307 0202 TAYLOR, FLDA X /RECALL NUMBER TO BE WORKED ON. 00310 4202 FMUL X /MULTIPLY OUT. 00311 6204 FSTA SIN1 00312 4222 FMUL SINC17 /NOW DO THE STANDARD ITERATION. 00313 1224 FADD SINC15 00314 4204 FMUL SIN1 00315 1226 FADD SINC13 00316 4204 FMUL SIN1 00317 1230 FADD SINC11 00320 4204 FMUL SIN1 00321 1232 FADD SINC9 00322 4204 FMUL SIN1 00323 1234 FADD SINC7 00324 4204 FMUL SIN1 00325 1236 FADD SINC5 00326 4204 FMUL SIN1 00327 1240 FADD SINC3 00330 4204 FMUL SIN1 00331 1206 FADD F1SIN /ADD IN 1 FOR SERIES 00332 4202 FMUL X /DO THE FINAL MULTIPLY. 00333 2000 SING, JXN SINRTN,0 /SHALL WE NEGATE 00334 0047 00335 0003 FNEG /YEP 00336 1030 JA SINRTN /AND RETURN. 00337 0047 / 00340 0206 SPIB2, FLDA F1SIN 00341 1030 JA SING 00342 0333 / 00343 0002 SPI, FCLA 00344 1030 JA SINRTN 00345 0047 / 00346 0206 S3PIB2, FLDA F1SIN 00347 0003 FNEG 00350 1030 JA SING 00351 0333 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 33 SYMBOLS, NO ABS REFS # C 00000 #ARGER X 00000 #DSIN 00175 #MAIN S 00000 BPSIN 00013 DSIN S 00352 DSNER 00002 FPISIN 00057 FPI2SN 00051 F1SIN 00035 F2PISN 00065 F3PIB2 00073 SEVTHR 00167 SINC11 00123 SINC13 00115 SINC15 00107 SINC17 00101 SINC3 00153 SINC5 00145 SINC7 00137 SINC9 00131 SING 00333 SINMOD 00230 SINRTN 00047 SINTST 00161 SINXR 00007 SIN1 00027 SPI 00343 SPIB2 00340 S1 00263 S2 00277 S3PIB2 00346 TAYLOR 00307 X 00021 XRSIN 00016