File: DSQRT.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /D=DSQRT(D) DOUBLE PREC. SQUARE ROOT / / / VERSION 50A 07.04.20 / / SECT DSQRT 00000 1030 JA #DSQRT 00001 0057 DPCHK 00002 0423 TEXT +DSQRT + 00003 2122 00004 2440 / 00005 1100 DSQXR, SETX XRDSQ 00006 0016 00007 1110 SETB BPDSQ 00010 0013 00011 1030 JA .+3 00012 0014 00013 0000 BPDSQ, F 0.0 00014 0000 00015 0000 00016 0000 XRDSQ, F 0.0 00017 0000 00020 0000 00021 0000 DARSAV, F 0.0 00022 0000 00023 0000 00024 0000 F 0.0 00025 0000 00026 0000 00027 0002 DSQ2, F 2.0 00030 2000 00031 0000 00032 0000 F 0.0 00033 0000 00034 0000 00035 0000 SNGL, F 0.0 00036 0000 00037 0000 00040 0000 F 0.0 00041 0000 00042 0000 ORG 10*3+BPDSQ 00043 0040 FNOP 00044 1030 JA DSQXR 00045 0005 / 00046 0000 0 00047 1030 DSQRTN, JA . 00050 0047 00051 0000 DSQ1, F 0.0 00052 0000 00053 0000 00054 0000 F 0.0 RALF V50A 8-APR-92 PAGE 1-1 00055 0000 00056 0000 /PICK UP ARGUMENTS BASE 0 00057 0006 #DSQRT, STARTD 00060 0210 FLDA 10*3 00061 6400 FSTA DSQRTN 00062 0047 00063 0200 FLDA 0 00064 1100 SETX XRDSQ 00065 0016 00066 1110 SETB BPDSQ 00067 0013 BASE BPDSQ 00070 0101 LDX 1,1 00071 0001 00072 6200 FSTA BPDSQ 00073 0610 FLDA% BPDSQ,1 /ADDR OF X 00074 6200 FSTA BPDSQ / /DO GENERAL TESTS ON THE ARGUMENT / 00075 0050 STARTE 00076 0600 FLDA% BPDSQ 00077 1000 JEQ DSQRTN /RETURN IF 0 00100 0047 00101 1050 JLT DSQER /<0 ERROR 00102 0132 00103 6202 FSTA DARSAV /SAVE DOUBLE 00104 0005 STARTF /F MODE + ROUND 00105 6206 FSTA SNGL /SAVE / /GET INITIAL APPROXIMATION BY CALLING /SINGLE PRECISION ROUTINE / EXTERN SQRT 00106 1130 JSR SQRT 00107 0000 00110 1030 JA .+4 00111 0114 00112 1030 JA SNGL 00113 0035 00114 6206 FSTA SNGL /FIRST APPROX 00115 0050 STARTE /BACK TO E / /TAKE N ITERATIONS OF /X(K+1)=1/2(X(K)+X/X(K)) / 00116 0100 LDX -3,0 /3 TIMES 00117 7775 00120 0202 DSIT, FLDA DARSAV /GET X 00121 3206 FDIV SNGL /X(K) 00122 1206 FADD SNGL /X(K) 00123 3204 FDIV DSQ2 /DIVIDE BY 2 00124 6206 FSTA SNGL /X(K+1) 00125 2100 JXN DSIT,0+ /ITERATE RALF V50A 8-APR-92 PAGE 1-2 00126 0120 00127 0206 FLDA SNGL /GET ANSWER 00130 1030 JA DSQRTN /RETURN 00131 0047 EXTERN #ARGER 00132 4000 DSQER, TRAP4 #ARGER 00133 0000 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 14 SYMBOLS, NO ABS REFS # C 00000 #ARGER X 00000 #DSQRT 00057 #MAIN S 00000 BPDSQ 00013 DARSAV 00021 DSIT 00120 DSQER 00132 DSQRT S 00134 DSQRTN 00047 DSQXR 00005 DSQ1 00051 DSQ2 00027 SNGL 00035 SQRT X 00000 XRDSQ 00016