File: ACOS.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text) 


RALF V50A    8-APR-92    PAGE 1

            /R=ACOS(R) SINGLE PREC. TRIG. ARC-COSINE
            /
            /
            / VERSION 50A 23-MAY-80 WVDM
            /
            /
                    SECT    ACOS
00000 1030          JA      #ACOS
00001 0051  
                    EXTERN  #ARGER
00002 4000  ACOSER, TRAP4   #ARGER
00003 0000  
00004 0103          TEXT    +ACOS  +
00005 1723  
00006 4040  
00007 1100  ACOSXR, SETX    XRACOS
00010 0016  
00011 1110          SETB    BPACOS
00012 0013  
00013 0040  BPACOS, FNOP
00014 0000          0
00015 0000          0
00016 0000  XRACOS, F 0.0
00017 0000  
00020 0000  
00021 0000  ACOS8,  F 0.0
00022 0000  
00023 0000  
00024 0000  ACOS7,  F 0.0
00025 0000  
00026 0000  
00027 0001  FPI2AC, 1                       /PI OVER 2
00030 3110          3110
00031 3755          3755
00032 0001  F1ACOS, F 1.
00033 2000  
00034 0000  
00035 0002  FPIACS, 2                       /PI
00036 3110          3110
00037 3755          3755
                    ORG     10*3+BPACOS
00043 0040          FNOP
00044 1030          JA      ACOSXR
00045 0007  
00046 0000          0
00047 1030  ACSRTN, JA      .
00050 0047  
            /
                    BASE    0
00051 0006  #ACOS,  STARTD
00052 0210          FLDA    10*3
00053 6400          FSTA    ACSRTN
00054 0047  
00055 0200          FLDA    0
00056 1100          SETX    XRACOS
00057 0016  
RALF V50A    8-APR-92    PAGE 1-1

00060 1110          SETB    BPACOS
00061 0013  
                    BASE    BPACOS
00062 0101          LDX     1,1
00063 0001  
00064 6200          FSTA    BPACOS
00065 0610          FLDA%   BPACOS,1        /ADDR OF X
00066 6200          FSTA    BPACOS
00067 0005          STARTF
00070 0600          FLDA%   BPACOS          /GET X
00071 6202          FSTA    ACOS8           /SAVE IT
00072 1000          JEQ     ACOSEQ          /IF 0 RETURN PI OVER 2
00073 0136  
00074 0100          LDX     -1,0            /JUMP TIME
00075 7777  
00076 1010          JGE     .+5
00077 0103  
00100 0100          LDX     0,0
00101 0000  
00102 0003          FNEG
00103 2205          FSUB    F1ACOS          /1-ABS(X)
00104 1060          JGT     ACOSER          /IS IT .GT. 1.? ERROR
00105 0002  
00106 0202          FLDA    ACOS8           /X
00107 4202          FMUL    ACOS8           /X^2
00110 0003          FNEG                    /-X^2
00111 1205          FADD    F1ACOS          /1-X^2
00112 6203          FSTA    ACOS7
                    EXTERN  SQRT
00113 1130          JSR     SQRT            /CALL SQRT
00114 0000  
00115 1030          JA      .+4             /SQRT (1-X^2)
00116 0121  
00117 1030          JA      ACOS7
00120 0024  
00121 3202          FDIV    ACOS8           /SQRT (1-X^2)/X
00122 6203          FSTA    ACOS7
                    EXTERN  ATAN
00123 1130          JSR     ATAN            /CALL ATAN
00124 0000  
00125 1030          JA      .+4             /ATAN (SQRT(1-X^2)/X)
00126 0131  
00127 1030          JA      ACOS7
00130 0024  
00131 2000          JXN     ACSRTN,0        /NO SIGN CHANGE NECESSARY
00132 0047  
00133 1206          FADD    FPIACS          /ADD PI IF MINUS
00134 1030          JA      ACSRTN
00135 0047  
            /
00136 0204  ACOSEQ, FLDA    FPI2AC          /RETURN PI OVER 2 IF 0
00137 1030          JA      ACSRTN
00140 0047  
RALF V50A    8-APR-92    PAGE 2

            
RALF V50A    8-APR-92    PAGE 2-1

NO ERRORS 
16 SYMBOLS, NO ABS REFS 

 #      C 00000   #ACOS    00051   #ARGER X 00000   #MAIN  S 00000  
 ACOS   S 00141   ACOSEQ   00136   ACOSER   00002   ACOSXR   00007  
 ACOS7    00024   ACOS8    00021   ACSRTN   00047   ATAN   X 00000  
 BPACOS   00013   FPIACS   00035   FPI2AC   00027   F1ACOS   00032  
 SQRT   X 00000   XRACOS   00016