File: EXPDI.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text)
RALF V50A 8-APR-92 PAGE 1 / D=D**I INTERNAL EXPONENTIATION FUNCTION / / / VERSION 50A 28-MAY-80 WVDM / / SECT #EXPDI DPCHK BASE 0 00000 1030 EXPDI, JA . 00001 0000 00002 6400 FSTA SIGN /SAVE SIGN OF EXPONENT 00003 0130 00004 1010 JGE POSINT /ITS POSITIVE 00005 0007 00006 0003 FNEG 00007 6400 POSINT, FSTA EXP 00010 0141 00011 0031 XTA 1 /SAVE XR 1 00012 6400 FSTA XR1 00013 0136 00014 0101 LDX -27,1 /BIT COUNT 00015 7751 00016 0050 STARTE 00017 0400 FLDA ONE /START WITH ONE 00020 0111 00021 6400 FSTA PROD 00022 0122 00023 0005 STARTF 00024 0400 FLDA EXP 00025 0141 00026 1000 LOOP, JEQ YES /DONE IF ITS ZERO 00027 0057 00030 3400 FDIV TWO /DIVIDE BY TWO 00031 0117 00032 0010 ALN 0 /INTEGERIZE 00033 0004 FNORM 00034 6400 FSTA TEMP /SAVE AT 00035 0133 00036 4400 FMUL TWO /IS EXPONENT ODD ? 00037 0117 00040 2400 FSUB EXP 00041 0141 00042 0050 STARTE 00043 1050 JLT ODD /YES, JUMP 00044 0102 00045 0200 SQUARE, FLDA 0 /SQUARE BASE 00046 4200 FMUL 0 00047 6200 FSTA 0 00050 0005 STARTF 00051 0400 FLDA TEMP /EXPONENT OVER 2 00052 0133 00053 6400 FSTA EXP 00054 0141 00055 2110 JXN LOOP,1+ /LOOP IF MORE BITS 00056 0026 RALF V50A 8-APR-92 PAGE 1-1 00057 0400 YES, FLDA XR1 /DONE, RESTORE XR 1 00060 0136 00061 0021 ATX 1 00062 0400 FLDA SIGN /CHECK SIGN OF EXPONENT 00063 0130 00064 1050 JLT INVERT /IT WS NEGATIVE, INVERT RESULT 00065 0073 00066 0050 STARTE 00067 0400 FLDA PROD /RETURN ANSWER 00070 0122 00071 1030 JA EXPDI 00072 0000 00073 0050 INVERT, STARTE 00074 0400 FLDA ONE /RETURN WITH 1/PROD 00075 0111 00076 3400 FDIV PROD 00077 0122 00100 1030 JA EXPDI 00101 0000 00102 0200 ODD, FLDA 0 00103 4400 FMUL PROD 00104 0122 00105 6400 FSTA PROD 00106 0122 00107 1030 JA SQUARE /GO SQUARE THE BASE 00110 0045 / 00111 0001 ONE, F 1.0 00112 2000 00113 0000 00114 0000 F 0.0 00115 0000 00116 0000 00117 0002 TWO, F 2.0 00120 2000 00121 0000 00122 0000 PROD, F 0.0 00123 0000 00124 0000 00125 0000 F 0.0 00126 0000 00127 0000 00130 0000 SIGN, F 0.0 00131 0000 00132 0000 00133 0000 TEMP, F 0.0 00134 0000 00135 0000 00136 0000 XR1, F 0.0 00137 0000 00140 0000 00141 0000 EXP, F 0.0 00142 0000 00143 0000 00144 0000 F 0.0 00145 0000 RALF V50A 8-APR-92 PAGE 1-2 00146 0000 RALF V50A 8-APR-92 PAGE 1-3 NO ERRORS 15 SYMBOLS, NO ABS REFS # C 00000 #EXPDI S 00147 #MAIN S 00000 EXP 00141 EXPDI 00000 INVERT 00073 LOOP 00026 ODD 00102 ONE 00111 POSINT 00007 PROD 00122 SIGN 00130 SQUARE 00045 TEMP 00133 TWO 00117 XR1 00136 YES 00057