File: EXPII.LS of Disk: V50/Source/Source-Listing-RALF-1
(Source file text) 


RALF V50A    8-APR-92    PAGE 1

            /R=R**I INTERNAL FUNCTION (EXPONENT INTEGER)
            /
            /
            / VERSION 50A 27-MAY-80 WVDM
            /
            /
                    SECT    #EXPII
                    BASE    0
00000 1030          JA      .
00001 0000  
00002 6400          FSTA    SIGN            /SAVE SIGN OF EXPONENT
00003 0110  
00004 1010          JGE     POSINT          /ITS POSITIVE
00005 0007  
00006 0003          FNEG
00007 6201  POSINT, FSTA    3               /PUT IT INTO 3
00010 0031          XTA     1               /SAVE XR 1
00011 6400          FSTA    XR1
00012 0116  
00013 0101          LDX     -27,1           /BIT COUNT
00014 7751  
00015 0400          FLDA    ONE             /START WITH ONE
00016 0077  
00017 6400          FSTA    PROD
00020 0105  
00021 0201          FLDA    3               /GET EXPONENT
00022 1000  LOOP,   JEQ     YES             /DONE IF ITS ZERO
00023 0047  
00024 3400          FDIV    TWO             /DIVIDE BY TWO
00025 0102  
00026 0010          ALN     0               /INTEGERIZE
00027 0004          FNORM
00030 6400          FSTA    TEMP            /SAVE AT
00031 0113  
00032 4400          FMUL    TWO             /IS EXPONENT ODD ?
00033 0102  
00034 2201          FSUB    3
00035 1050          JLT     ODD             /YES, JUMP
00036 0070  
00037 0200  SQUARE, FLDA    0               /SQUARE BASE
00040 4200          FMUL    0
00041 6200          FSTA    0
00042 0400          FLDA    TEMP            /EXPONENT OVER 2
00043 0113  
00044 6201          FSTA    3
00045 2110          JXN     LOOP,1+         /LOOP IF MORE BITS
00046 0022  
00047 0400  YES,    FLDA    XR1             /DONE, RESTORE XR 1
00050 0116  
00051 0021          ATX     1
00052 0400          FLDA    SIGN            /CHECK SIGN OF EXPONENT
00053 0110  
00054 1050          JLT     INVERT          /IT WAS NEGATIVE, INVERT RESULT
00055 0062  
00056 0400          FLDA    PROD            /RETURN ANSWER
00057 0105  
RALF V50A    8-APR-92    PAGE 1-1

00060 1030          JA      #EXPII
00061 0000  
            /
00062 0400  INVERT, FLDA    ONE             /RETURN 1/PROD
00063 0077  
00064 3400          FDIV    PROD
00065 0105  
00066 1030          JA      #EXPII
00067 0000  
            /
00070 0200  ODD,    FLDA    0               /MULT PROD BY BASE
00071 4400          FMUL    PROD
00072 0105  
00073 6400          FSTA    PROD
00074 0105  
00075 1030          JA      SQUARE          /GO SQUARE THE BASE
00076 0037  
            /
00077 0001  ONE,    F       1.0
00100 2000  
00101 0000  
00102 0002  TWO,    F       2.0
00103 2000  
00104 0000  
00105 0000  PROD,   F       0.0
00106 0000  
00107 0000  
00110 0000  SIGN,   F       0.0
00111 0000  
00112 0000  
00113 0000  TEMP,   F       0.0
00114 0000  
00115 0000  
00116 0000  XR1,    F       0.0
00117 0000  
00120 0000  
RALF V50A    8-APR-92    PAGE 1-2

NO ERRORS 
13 SYMBOLS, NO ABS REFS 

 #      C 00000   #EXPII S 00121   #MAIN  S 00000   INVERT   00062  
 LOOP     00022   ODD      00070   ONE      00077   POSINT   00007  
 PROD     00105   SIGN     00110   SQUARE   00037   TEMP     00113  
 TWO      00102   XR1      00116   YES      00047