S2ELN

Table Of Contents
  • [00028] CALL ELN -V1.
s2eln.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:08 2020
 
Source File: \s2eln.asm 
                             1 | *************************************************** S2E00010
                             2 | *                                                 * S2E00020
                             3 | *   SUBROUTINE NAME-                              * S2E00030
                             4 | *      FULL NAME- EXTENDED PRECISION NATURAL      * S2E00040
                             5 | *         LOGARITHM FUNCTION.                     * S2E00050
                             6 | *      CODE NAME-ELN/EALOG                        * S2E00060
                             7 | *   PURPOSE- THIS SUBROUTINE COMPUTES THE NATURAL * S2E00070
                             8 | *      LOGARITHM OF AN EXTENDED PRECISION FLOATING* S2E00080
                             9 | *      POINT NUMBER.                              * S2E00090
                            10 | *   METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S2E00100
                            11 | *   CAPABILITIES AND LIMITATIONS- SEE IBM 1130    * S2E00110
                            12 | *      SUBROUTINE LIBRARY MANUAL.                 * S2E00120
                            13 | *   SPECIAL FEATURES- N/A                         * S2E00130
                            14 | *   ADDITIONAL INFORMATION-                       * S2E00140
                            15 | *      ESTIMATED EXECUTION TIME- SEE IBM 1130     * S2E00150
                            16 | *         SUBROUTINE LIBRARY MANUAL               * S2E00160
                            17 | *      OTHER- A PERIOD FOLLOWED BY B, APPEARING TO* S2E00170
                            18 | *         THE RIGHT OF COMMENT, INDICATES THAT THE* S2E00180
                            19 | *         NUMBER FOLLOWING IS THE BINARY POINT OF * S2E00190
                            20 | *         THE NUMBER PRESENTLY IN THE ACCUMULATOR.* S2E00200
                            21 | *         LET C REFER TO THE TRUE EXPONENT OF THE * S2E00210
                            22 | *         INPUT ARGUMENT.                         * S2E00220
                            23 | *                                                 * S2E00230
                            24 | *************************************************** S2E00240
CALL ELN  -V1.
 
                            26 |       EPR                                           S2E00260
                            27 |       ENT     ELN                                   S2E00270
                            28 |       ENT     EALOG     ASA STD. FORTRAN NAME.      S2E00280
0000 0000                   29 | EALOG DC      0         FORTRAN ENTRY               S2E00290
0001 051C*58D7              30 |       LIBF    EGETP     GET PARAMETER               S2E00300
0002 0000                   31 | ELN   DC      0         USER ENTRY                  S2E00310
0003 285F                   32 |       STS     STAT      SAVE STATUS                 S2E00320
0004 C37D                   33 |       LD    3 125       GET INPUT EXPONENT          S2E00330
0005 9069                   34 |       S       K1        SUB 128 AND                 S2E00340
0006 D069                   35 |       STO     K         SAVE TRUE EXPONENT          S2E00350
0007 C067                   36 |       LD      K1        GIVE FAC AN EFFECTIVE       S2E00360
0008 D37D                   37 |       STO   3 125       EXPONENT OF 0(128)          S2E00370
0009 CB7E                   38 |       LDD   3 126       LD MANTISSA TO TEST         S2E00380
000A 4C18 0066R             39 |       BSC  L  LNZER,+-  BR IF ZERO                  S2E00390
000C 4C10 0014R             40 |       BSC  L  MNABS,-   BR IF PTV                   S2E00400
000E C062                   41 |       LD      LNEBT     IF ARGUMENT NEGATIVE,       S2E00410
000F EB7C                   42 |       OR    3 124       TURN ON LN ERROR PROGRAM    S2E00420
0010 D37C                   43 |       STO   3 124       INDICATOR.  USE ABSOLUTE    S2E00430
0011 10A0                   44 |       SLT     32        VALUE OF ARGUMENT.          S2E00440
0012 9B7E                   45 |       SD    3 126                                   S2E00450
0013 DB7E                   46 |       STD   3 126       STORE ABS VALUE IN          S2E00460
0014 D86D                   47 | MNABS STD     FM1       FAC AND IN FM1              S2E00470
                            48 | *                                                   S2E00480
                            49 | *GET RANGE OF NO. INPUT TO COMPUTE POLYNOMIAL INPUT S2E00490
                            50 | *                                                   S2E00500
0015 906A                   51 |       S       SQRH      SUB (SQRT(2))/2             S2E00510
0016 4C10 0020R             52 |       BSC  L  LN1,-     BR IF NON-NEG               S2E00520
0018 C069                   53 |       LD      FM1       IF NEG,MPY FM1 BY 2         S2E00530
0019 1081                   54 |       SLT     1         AND STORE IN FM1 AGAIN      S2E00540
001A D867                   55 |       STD     FM1                             .B1   S2E00550
001B C072                   56 |       LD      C129      GET PROPER EXPONENT         S2E00560
001C D37D                   57 |       STO   3 125       AND STORE IN FAC            S2E00570
001D C052                   58 |       LD      K         DECR ORIGINAL EXPONENT BY   S2E00580
001E 905E                   59 |       S       ONE+1     ONE                         S2E00590
001F D050                   60 |       STO     K                                     S2E00600
                            61 | *                                                   S2E00610
                            62 | *COMPUTE THE INPUT TO THE POLYNOMIAL                S2E00620
                            63 | *                                                   S2E00630
0020 C861                   64 | LN1   LDD     FM1       GET F=INPUT MANTISSA        S2E00640
0021 F06B                   65 |       EOR     C8000     COMPUTE F-1          .B-1   S2E00650
0022 D85F                   66 |       STD     FM1                                   S2E00660
0023 0504*4100              67 |       LIBF    EADD      COMPUTE F+1                 S2E00670
0024 0084R                  68 |       DC      FONE                                  S2E00680
0025 C37D                   69 |       LD    3 125       STORE EXPONENT AND          S2E00690
0026 D060                   70 |       STO     FP1       MANTISSA OF F+1 IN FP1      S2E00700
0027 CB7E                   71 |       LDD   3 126                                   S2E00710
0028 D85F                   72 |       STD     FP1+1                                 S2E00720
0029 C045                   73 |       LD      K1        SET FAC EXPONENT TO         S2E00730
002A D37D                   74 |       STO   3 125       EFFECTIVE ZERO(128)         S2E00740
002B C856                   75 |       LDD     FM1       PUT F-1 IN FAC       .B0    S2E00750
002C DB7E                   76 |       STD   3 126                                   S2E00760
002D 1559*9500              77 |       LIBF    NORM      NORMALIZE                   S2E00770
002E 0510*9940              78 |       LIBF    EDIV      COMPUTE (F-1)/(F+1)         S2E00780
002F 0087R                  79 |       DC      FP1                                   S2E00790
0030 C37D                   80 |       LD    3 125       STORE EXPONENT AND          S2E00800
0031 D055                   81 |       STO     Z         MANTISSA IN Z               S2E00810
0032 CB7E                   82 |       LDD   3 126                                   S2E00820
0033 D854                   83 |       STD     Z+1                                   S2E00830
0034 C05E                   84 |       LD      CSRT      GENERATE A SHIFT CON FOR    S2E00840
0035 9051                   85 |       S       Z         ARGUMENT EXPONENT.          S2E00850
0036 D008                   86 |       STO     SRT       -C-2+/1880                  S2E00860
0037 905A                   87 |       S       CSRTR     CHK IF SHIFT LTE 16         S2E00870
0038 4C08 003CR             88 |       BSC  L  *+2,+     BR IF SHIFT IS LTE 16       S2E00880
003A C839                   89 |       LDD     A0        OTHERWISE,DO NOT COMPUTE    S2E00890
003B 7014                   90 |       MDX     EPOL      HI-ORDER TERMS.       .B2   S2E00900
003C CB7E                   91 |       LDD   3 126       GET Z                .B0+C  S2E00910
003D 4828                   92 |       BSC     +Z        BR IF NOT NEG               S2E00920
003E 983D                   93 |       SD      ONE       IF NEG,SUB 1                S2E00930
003F 1880                   94 | SRT   SRT     *-*       SHIFT FOR EXPONENT   .B-2   S2E00940
0040 4828                   95 |       BSC     +Z        BR IF NOT NEG               S2E00950
0041 883A                   96 |       AD      ONE       IF NEG,RESTORE 1            S2E00960
                            97 | *                                                   S2E00970
                            98 | *CALCULATE POLYNOMIAL RESULT                        S2E00980
                            99 | *                                                   S2E00990
0042 DB7E                  100 |       STD   3 126       STORE Z IN FAC       .B-2   S2E01000
0043 2750*4000             101 |       LIBF    XMD       COMPUTE Z**2         .B-4   S2E01010
0044 DB7E                  102 |       STD   3 126       STORE Z**2 IN FAC     .B-4  S2E01020
0045 1885                  103 |       SRT     5         SHIFT TO GET .25*Z**2 .B-1  S2E01030
0046 8833                  104 |       AD      A6        AND ADD A6            .B-1  S2E01040
0047 2750*4000             105 |       LIBF    XMD       (Z**2)*(A6+A8*(Z**2))  .B-5 S2E01050
0048 1884                  106 |       SRT     4         SHIFT TO ADD A4       .B-1  S2E01060
0049 882E                  107 |       AD      A4                              .B-1  S2E01070
004A 2750*4000             108 |       LIBF    XMD       COMPUTE NEXT TERM     .B-5  S2E01080
004B 1885                  109 |       SRT     5         SHIFT TO ADD A2       .B0   S2E01090
004C 8829                  110 |       AD      A2                              .B0   S2E01100
004D 2750*4000             111 |       LIBF    XMD       COMPUTE NEXT TERM     .B-4  S2E01110
004E 1886                  112 |       SRT     6         SHIFT TO ADD A0       .B2   S2E01120
004F 8024                  113 |       A       A0        WE NOW HAVE G(Z)      .B2   S2E01130
0050 DB7E                  114 | EPOL  STD   3 126       STORE IN FAC          .B2   S2E01140
0051 C03E                  115 |       LD      C12P2     SET FAC TO CORRECT          S2E01150
0052 D37D                  116 |       STO   3 125       EXPONENT=128+2              S2E01160
0053 0551*7A00             117 |       LIBF    EMPY      COMPUTE F1(Z)=Z*(G(Z))      S2E01170
0054 0087R                 118 |       DC      Z         F1(Z)=Z*(POLY)              S2E01180
0055 C37D                  119 |       LD    3 125       STORE EXPONENT AND          S2E01190
0056 D030                  120 |       STO     Z         MANTISSA OF F1(Z) IN FAC    S2E01200
0057 CB7E                  121 |       LDD   3 126                                   S2E01210
0058 D82F                  122 |       STD     Z+1                                   S2E01220
                           123 | *                                                   S2E01230
                           124 | *COMPUTE AND ADD K*LN(2) TO Z*G(Z) TO GET LN(X)     S2E01240
                           125 | *                                                   S2E01250
0059 1090                  126 |       SLT     16        CLEAR EXTENSION             S2E01260
005A C015                  127 |       LD      K                                     S2E01270
005B DB7E                  128 |       STD   3 126       PUT K MANTISSA IN FAC       S2E01280
005C C034                  129 |       LD      C1P15     MAKE INTEGER INTO FRACTION  S2E01290
005D D37D                  130 |       STO   3 125       PUT IN FAC                  S2E01300
005E 1559*9500             131 |       LIBF    NORM      NORMALIZE TO MPY            S2E01310
005F 0551*7A00             132 |       LIBF    EMPY      COMPUTE K.LN(2)             S2E01320
0060 008AR                 133 |       DC      LN2                                   S2E01330
0061 0504*4100             134 |       LIBF    EADD      ADD LN(F)=F1(Z)             S2E01340
0062 0087R                 135 |       DC      Z         WE HAVE LN(X)               S2E01350
0063 2000                  136 | STAT  LDS     *-*       RESTORE STATUS              S2E01360
0064 4C80 0002R            137 |       BSC  I  ELN                                   S2E01370
0066 C00A                  138 | LNZER LD      LNEBT     IF ARGUMENT ZERO,           S2E01380
0067 EB7C                  139 |       OR    3 124       TURN ON LN ERROR PROGRAM    S2E01390
0068 D37C                  140 |       STO   3 124       INDICATOR AND RETURN        S2E01400
0069 C004                  141 |       LD      MXNEC     LARGEST NEGATIVE NUMBER.    S2E01410
006A D37D                  142 |       STO   3 125                                   S2E01420
006B C806                  143 |       LDD     MXNEM                                 S2E01430
006C DB7E                  144 |       STD   3 126                                   S2E01440
006D 70F5                  145 |       MDX     STAT                                  S2E01450
                           146 | *                                                   S2E01460
                           147 | *CONSTANTS AREA                                     S2E01470
                           148 | *                                                   S2E01480
006E 00FF                  149 | MXNEC DC      255       LARGEST EXPONENT            S2E01490
006F 0080                  150 | K1    DC      128       CON TO SCALE EXPONENT       S2E01500
0070 0000                  151 | K     DC      0         STORE INPUT EXPONENT        S2E01510
0071 0001                  152 | LNEBT DC      /1        BIT 15--LN ERROR.           S2E01520
0072 8000 0001             153 | MXNEM DEC     -0.9999999999B0    LARGEST NEG NO.    S2E01530
0074 4000 0000             154 | A0    DEC     2.0B2              COEFFICIENTS       S2E01540
0076 5555 5479             155 | A2    DEC     0.666666564181B0   OF                 S2E01550
0078 6667 A27E             156 | A4    DEC     0.400018840613B-1  APPROXIMATING      S2E01560
007A 48D7 5558             157 | A6    DEC     0.284535726600B-1  POLYNOMIAL         S2E01570
007C 0000 0001             158 | ONE   DEC     1           FLT PT ONE                S2E01580
007E 0000 0000             159 | N1    DEC     0           FLT PT ZERO               S2E01590
0080 5A82 7B6F             160 | SQRH  DEC     1.414214B1  STORE INPUT MANTISSA      S2E01600
0082 0000 0000             161 | FM1   DEC     0           STORE NON-ZERO ABS VALUE  S2E01610
0084 0080 0000 0000        162 | FONE  XFLC    0.9999999999  FLT PT ONE              S2E01620
0087 0000 0000 0000        163 | FP1   XFLC    0.0           STORE F+1               S2E01630
008A 0080 58B9 0BFC        164 | LN2   XFLC    0.6931471806599452 EXTENDED PREC LN2  S2E01640
0087R                      165 | Z     EQU     FP1         STORE EXTENDED PREC NO.   S2E01650
008D 8000                  166 | C8000 DC      /8000       CON USED TO SUB 1         S2E01660
008E 0081                  167 | C129  DC      129         EXPONENT OF +1            S2E01670
008F 007E                  168 | C12M2 DC      128-2       EXPONENT OF -2            S2E01680
0090 0082                  169 | C12P2 DC      128+2       EXPONENT OF +2            S2E01690
0091 008F                  170 | C1P15 DC      128+15      EXPONENT OF +15           S2E01700
0092 1890                  171 | CSRTR DC      16+/1880  SHIFT RT 16 CON             S2E01710
0093 18FE                  172 | CSRT  DC      128-2+/1880 EXPONENT SHIFT RT CORR    S2E01720
0094                       173 |       END                                           S2E01730
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
A0    0074R  154   89  113
A2    0076R  155  110
A4    0078R  156  107
A6    007AR  157  104
C129  008ER  167   56
C12M2 008FR  168
C12P2 0090R  169  115
C1P15 0091R  170  129
C8000 008DR  166   65
CSRT  0093R  172   84
CSRTR 0092R  171   87
EALOG 0000R   29
ELN   0002R   31  137
EPOL  0050R  114   90
FM1   0082R  161   47   53   55   64   66   75
FONE  0084R  162   68
FP1   0087R  163   70   72   79  165
K     0070R  151   35   58   60  127
K1    006FR  150   34   36   73
LN1   0020R   64   52
LN2   008AR  164  133
LNEBT 0071R  152   41  138
LNZER 0066R  138   39
MNABS 0014R   47   40
MXNEC 006ER  149  141
MXNEM 0072R  153  143
N1    007ER  159
ONE   007CR  158   59   93   96
SQRH  0080R  160   51
SRT   003FR   94   86
STAT  0063R  136   32  145
Z     0087R  165   81   83   85  118  120  122  135