File: AMOD.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 /R=AMOD(R1,R2) SINGLE PREC. R1 MODULO R2 / / / VERSION 50A 23-MAY-80 WVDM / / /R:=REMAINDER OF R1/ABS(R2) SECT AMOD ENTRY MOD 00000 1030 JA #AMOD 00001 0054 00002 0115 TEXT +AMOD + 00003 1704 00004 4040 00005 1100 AMODXR, SETX XRAMOD 00006 0014 00007 1110 SETB BPAMOD 00010 0011 00011 0000 BPAMOD, F 0.0 00012 0000 00013 0000 00014 0000 XRAMOD, F 0.0 00015 0000 00016 0000 00017 0000 AMODX, F 0.0 00020 0000 00021 0000 00022 0027 AMODLM, F 8388607.0 /LARGEST ALLOWED NUMBER 00023 3777 00024 7777 ORG 10*3+BPAMOD 00041 0040 FNOP 00042 1030 JA AMODXR 00043 0005 00044 0000 0 00045 1030 AMDRTN, JA . 00046 0045 EXTERN #ARGER 00047 4000 AMODER, TRAP4 #ARGER 00050 0000 00051 0002 FCLA 00052 1030 JA AMDRTN 00053 0045 BASE 0 MOD, 00054 0006 #AMOD, STARTD 00055 0210 FLDA 10*3 00056 6400 FSTA AMDRTN 00057 0045 00060 0200 FLDA 0 00061 1100 SETX XRAMOD 00062 0014 00063 1110 SETB BPAMOD 00064 0011 BASE BPAMOD RALF V50A 8-APR-92 PAGE 1-1 00065 0101 LDX 1,1 00066 0001 00067 6200 FSTA BPAMOD 00070 0610 FLDA% BPAMOD,1 /ADDR OF X 00071 6202 FSTA AMODX 00072 0710 FLDA% BPAMOD,1+ /ADDR OF Y 00073 6200 FSTA BPAMOD 00074 0005 STARTF 00075 0600 FLDA% BPAMOD /GET Y 00076 1000 JEQ AMODER /Y=0 IS ERROR 00077 0047 00100 1060 JGT .+3 00101 0103 00102 0003 FNEG /ABS VALUE 00103 6200 FSTA BPAMOD 00104 0602 FLDA% AMODX /GET X 00105 1060 JGT .+5 00106 0112 00107 0003 FNEG /ABS VALUE 00110 0101 LDX 0,1 /NOTE SIGN 00111 0000 00112 6202 FSTA AMODX /SAVE IN A TEMPORARY 00113 1070 JAL AMODER /TOO LARGE FOR REMULTIPLY ? 00114 0047 00115 3200 FDIV BPAMOD /QUOTIENT 00116 1070 JAL AMODER /TOO BIG FOR FIX ? 00117 0047 00120 0010 ALN 0 /FIX IT UP NOW. 00121 0004 FNORM 00122 4200 FMUL BPAMOD /MULTIPLY IT. 00123 0003 FNEG /NEGATE IT. 00124 1202 FADD AMODX /AND ADD IN X. 00125 2010 JXN AM,1 /CHECK SIGN 00126 0130 00127 0003 FNEG 00130 1030 AM, JA AMDRTN 00131 0045 RALF V50A 8-APR-92 PAGE 1-2 NO ERRORS 12 SYMBOLS, NO ABS REFS # C 00000 #AMOD 00054 #ARGER X 00000 #MAIN S 00000 AM 00130 AMDRTN 00045 AMOD S 00132 AMODER 00047 AMODLM 00022 AMODX 00017 AMODXR 00005 BPAMOD 00011 MOD 00054 XRAMOD 00014