File: DMOD.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /D=DMOD(D1,D2) DOUBLE PREC. D1 MODULO D2 / / / VERSION 50A 07-04-20 / / SECT DMOD 00000 1030 JA #DMOD 00001 0062 DPCHK 00002 0415 TEXT +DMOD + 00003 1704 00004 4040 00005 1100 AMODXR, SETX XRAMOD 00006 0025 00007 1110 SETB BPAMOD 00010 0017 00011 0007 STHREE, 0007 /73 00012 2217 2217 00013 7777 7777 00014 7777 7777 00015 7777 7777 00016 7777 7777 00017 0000 BPAMOD, F 0.0 00020 0000 00021 0000 00022 0000 F 0.0 00023 0000 00024 0000 00025 0000 XRAMOD, 0;1;73 /73 FOR ALIGNING ON 59 00026 0001 00027 0073 00030 0000 XSTOR, F 0.0 00031 0000 00032 0000 00033 0000 F 0.0 00034 0000 00035 0000 00036 0000 AMODX, F 0.0 00037 0000 00040 0000 00041 0000 F 0.0 00042 0000 00043 0000 ORG 10*3+BPAMOD 00047 0040 FNOP 00050 1030 JA AMODXR 00051 0005 00052 0000 0 00053 1030 AMDRTN, JA . 00054 0053 EXTERN #ARGER 00055 4000 AMODER, TRAP4 #ARGER 00056 0000 00057 0002 FCLA 00060 1030 JA AMDRTN RALF V50A 8-APR-92 PAGE 1-1 00061 0053 BASE 0 00062 0006 #DMOD, STARTD 00063 0210 FLDA 10*3 00064 6400 FSTA AMDRTN 00065 0053 00066 0200 FLDA 0 00067 1100 SETX XRAMOD 00070 0025 00071 1110 SETB BPAMOD 00072 0017 BASE BPAMOD 00073 6200 FSTA BPAMOD 00074 0101 LDX 1,1 00075 0001 00076 0610 FLDA% BPAMOD,1 /ADDR OF X 00077 6205 FSTA AMODX 00100 0710 FLDA% BPAMOD,1+ /ADDR OF Y 00101 6200 FSTA BPAMOD 00102 0050 STARTE 00103 0600 FLDA% BPAMOD /GET Y 00104 1000 JEQ AMODER /Y=0 IS ERROR 00105 0055 00106 0600 FLDA% BPAMOD 00107 1060 JGT .+3 /GET ABS VALUE 00110 0112 00111 0003 FNEG 00112 6200 FSTA BPAMOD 00113 0605 FLDA% AMODX /GET X 00114 1060 JGT .+5 00115 0121 00116 0003 FNEG /GET ABS VALUE OF X 00117 0101 LDX 0,1 /NOTE THE SIGN 00120 0000 00121 6205 FSTA AMODX /SAV IN A TEMPORARY 00122 3200 FDIV BPAMOD /DIVIDE BY Y 00123 6203 FSTA XSTOR /SAVE X/Y 00124 0033 XTA 3 /GET EXPONENT 00125 2400 FSUB STHREE /CHECK SIZE 00126 0011 00127 1010 JGE AMODER /TOO BIG 00130 0055 00131 0203 FLDA XSTOR /ABS VALUE X/Y 00132 0012 ALN 2 /FIX IT UP NOW. 00133 0004 FNORM 00134 4200 FMUL BPAMOD /MULITPLY IT. 00135 0003 FNEG /NEGATE IT. 00136 1205 FADD AMODX /AND ADD IN X. 00137 2010 JXN AMR,1 00140 0142 00141 0003 FNEG /RESTORE SIGN 00142 1030 AMR, JA AMDRTN 00143 0053 RALF V50A 8-APR-92 PAGE 2 RALF V50A 8-APR-92 PAGE 2-1 NO ERRORS 12 SYMBOLS, NO ABS REFS # C 00000 #ARGER X 00000 #DMOD 00062 #MAIN S 00000 AMDRTN 00053 AMODER 00055 AMODX 00036 AMODXR 00005 AMR 00142 BPAMOD 00017 DMOD S 00144 STHREE 00011 XRAMOD 00025 XSTOR 00030