File: CARITH.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /COMPLEX ARITHMETIC ROUTINES / (A+BI)+-*/(C+DI) / / VERSION 50A 23-MAY-80 WVDM / / DPCHK SECT #CAD 00000 1030 JA . 00001 0000 00002 6400 FSTA #CARG /SAVE SECOND ARG 00003 0273 00004 0005 STARTF 00005 0400 FLDA #CARG /STARTF ROUNDS 00006 0273 00007 1400 FADD #CAC /A:=A+C 00010 0301 00011 6400 FSTA #CAC 00012 0301 00013 0400 FLDA #CARG+3 00014 0276 00015 1400 FADD #CAC+3 /B:=B+D 00016 0304 00017 6400 FSTA #CAC+3 00020 0304 00021 0050 STARTE 00022 1030 JA #CAD 00023 0000 ENTRY #CSB 00024 1030 #CSB, JA . 00025 0024 00026 6400 FSTA #CARG 00027 0273 00030 0005 STARTF 00031 0400 FLDA #CAC /STARTF ROUNDS 00032 0301 00033 2400 FSUB #CARG 00034 0273 00035 6400 FSTA #CAC /A:=A-C 00036 0301 00037 0400 FLDA #CAC+3 00040 0304 00041 2400 FSUB #CARG+3 /B:=B-D 00042 0276 00043 6400 FSTA #CAC+3 00044 0304 00045 0050 STARTE 00046 1030 JA #CSB 00047 0024 ENTRY #CNG 00050 1030 #CNG, JA . 00051 0050 00052 0005 STARTF RALF V50A 8-APR-92 PAGE 1-1 00053 0400 FLDA #CAC 00054 0301 00055 0003 FNEG 00056 6400 FSTA #CAC /A:=-A 00057 0301 00060 0400 FLDA #CAC+3 00061 0304 00062 0003 FNEG 00063 6400 FSTA #CAC+3 /B:=-B 00064 0304 00065 0050 STARTE 00066 1030 JA #CNG 00067 0050 ENTRY #CEQ 00070 1030 #CEQ, JA . 00071 0070 00072 1120 JSA #CSB /CAC:=CAC-CARG 00073 0024 00074 0005 STARTF 00075 0400 FLDA #CAC 00076 0301 00077 1040 JNE NOTEQ 00100 0111 00101 0400 FLDA #CAC+3 00102 0304 00103 1040 JNE NOTEQ 00104 0111 00105 0400 FLDA ONE 00106 0114 00107 1030 JA #CEQ 00110 0070 00111 0002 NOTEQ, FCLA 00112 1030 JA #CEQ 00113 0070 00114 0001 ONE, F 1.0 00115 2000 00116 0000 ENTRY #CML 00117 1030 #CML, JA . 00120 0117 00121 6400 FSTA #CARG 00122 0273 00123 0005 STARTF 00124 0400 FLDA #CARG /STARTF ROUNDS 00125 0273 00126 4400 FMUL #CAC /T1:=A*C 00127 0301 00130 6400 FSTA TEMP1 00131 0265 00132 0400 FLDA #CARG+3 00133 0276 00134 4400 FMUL #CAC+3 /T2:=B*D 00135 0304 00136 6400 FSTA TEMP2 RALF V50A 8-APR-92 PAGE 1-2 00137 0270 00140 0400 FLDA #CARG 00141 0273 00142 4400 FMUL #CAC+3 /B:=B*C 00143 0304 00144 6400 FSTA #CAC+3 00145 0304 00146 0400 FLDA #CAC 00147 0301 00150 4400 FMUL #CARG+3 /A*D 00151 0276 00152 1400 FADD #CAC+3 /B:=A*D+B*C 00153 0304 00154 6400 FSTA #CAC+3 00155 0304 00156 0400 FLDA TEMP1 00157 0265 00160 2400 FSUB TEMP2 /A:=A*C-B*D 00161 0270 00162 6400 FSTA #CAC 00163 0301 00164 0050 STARTE 00165 1030 JA #CML 00166 0117 ENTRY #CDV 00167 1030 #CDV, JA . 00170 0167 00171 6400 FSTA #CARG 00172 0273 00173 0005 STARTF 00174 0400 FLDA #CARG /STARTF ROUNDS 00175 0273 00176 4400 FMUL #CAC+3 /T1:=B*C 00177 0304 00200 6400 FSTA TEMP1 00201 0265 00202 0400 FLDA #CARG+3 00203 0276 00204 4400 FMUL #CAC /T2:=A*D 00205 0301 00206 6400 FSTA TEMP2 00207 0270 00210 0400 FLDA #CARG 00211 0273 00212 4400 FMUL #CAC /A:=A*C 00213 0301 00214 6400 FSTA #CAC 00215 0301 00216 0400 FLDA #CAC+3 00217 0304 00220 4400 FMUL #CARG+3 /B*D 00221 0276 00222 1400 FADD #CAC /A:=A*C+B*D 00223 0301 00224 6400 FSTA #CAC RALF V50A 8-APR-92 PAGE 1-3 00225 0301 00226 0400 FLDA #CARG 00227 0273 00230 4400 FMUL #CARG /C:=C*C 00231 0273 00232 6400 FSTA #CARG 00233 0273 00234 0400 FLDA #CARG+3 00235 0276 00236 4400 FMUL #CARG+3 /D*D 00237 0276 00240 1400 FADD #CARG /C:=C*C+D*D 00241 0273 00242 6400 FSTA #CARG 00243 0273 00244 0400 FLDA TEMP1 00245 0265 00246 2400 FSUB TEMP2 /B*C-A*D 00247 0270 00250 3400 FDIV #CARG /B:=(B*C-A*D)/(C*C+D*D) 00251 0273 00252 6400 FSTA #CAC+3 00253 0304 00254 0400 FLDA #CAC 00255 0301 00256 3400 FDIV #CARG /A:=(A*C+B*D)/(C*C+D*D) 00257 0273 00260 6400 FSTA #CAC 00261 0301 00262 0050 STARTE 00263 1030 JA #CDV 00264 0167 00265 0000 TEMP1, 0;0;0 00266 0000 00267 0000 00270 0000 TEMP2, 0;0;0 00271 0000 00272 0000 00273 0000 #CARG, 0;0;0 00274 0000 00275 0000 00276 0000 0;0;0 00277 0000 00300 0000 ENTRY #CAC 00301 0000 #CAC, 0;0;0 00302 0000 00303 0000 00304 0000 0;0;0 00305 0000 00306 0000 RALF V50A 8-APR-92 PAGE 1-4 NO ERRORS 12 SYMBOLS, NO ABS REFS # C 00000 #CAC 00301 #CAD S 00307 #CARG 00273 #CDV 00167 #CEQ 00070 #CML 00117 #CNG 00050 #CSB 00024 #MAIN S 00000 NOTEQ 00111 ONE 00114 TEMP1 00265 TEMP2 00270