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