S2ETANH

Table Of Contents
  • [00022] CALL ETANH -V1.
s2etanh.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:08 2020
 
Source File: \s2etanh.asm 
                             1 | *************************************************** S2I00010
                             2 | *                                                 * S2I00020
                             3 | *   SUBROUTINE NAME-                              * S2I00030
                             4 | *      FULL NAME- EXTENDED PRECISION FLOATING-    * S2I00040
                             5 | *         POINT HYPERBOLIC TANGENT FUNCTION.      * S2I00050
                             6 | *      CODE NAME- ETNH/ETANH                      * S2I00060
                             7 | *   PURPOSE- THIS SUBPROGRAM COMPUTES THE HYPER-  * S2I00070
                             8 | *      BOLIC TANGENT OF AN EXTENDED PRECISION     * S2I00080
                             9 | *      FLOATING-POINT NUMBER.                     * S2I00090
                            10 | *   METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S2I00100
                            11 | *   CAPABILITIES AND LIMITATIONS- SEE IBM 1130    * S2I00110
                            12 | *      SUBROUTINE LIBRARY MANUAL.                 * S2I00120
                            13 | *   SPECIAL FEATURES- N/A                         * S2I00130
                            14 | *   ADDITIONAL INFORMATION-                       * S2I00140
                            15 | *      ESTIMATED EXECUTION TIME- SEE IBM 1130     * S2I00150
                            16 | *         SUBROUTINE LIBRARY MANUAL               * S2I00160
                            17 | *                                                 * S2I00170
                            18 | *************************************************** S2I00180
CALL ETANH  -V1.
 
                            20 |       EPR                                           S2I00200
                            21 |       ENT     ETANH     STANDARD FORTRAN NAME       S2I00210
                            22 |       ENT     ETNH                                  S2I00220
0000 0000                   23 | ETANH DC      0         FORTRAN ENTRY               S2I00230
0001 051C*58D7              24 |       LIBF    EGETP     GET PARAMETER               S2I00240
0002 0000                   25 | ETNH  DC      0         USER ENTRY                  S2I00250
0003 C37D                   26 |       LD    3 125       ADD ONE TO EXPONENT TO      S2I00260
0004 801C                   27 |       A       ONE       DOUBLE X.                   S2I00270
0005 D37D                   28 |       STO   3 125                                   S2I00280
0006 901C                   29 |       S       EXK       CHK IF ARGUMENT GT 32       S2I00290
0007 4C30 0018R             30 |       BSC  L  OUT1,-Z   BR TOO LARGE....TANH=+1     S2I00300
0009 C37E                   31 |       LD    3 126                                   S2I00310
000A 4818                   32 |       BSC     +-        RESTORE EXPONENT TO ZERO IF S2I00320
000B D37D                   33 |       STO   3 125       MANTISSA IS ZERO.           S2I00330
000C 059D*7540              34 |       CALL    EXPN      OTHERWISE COMPUTE E**2X     S2I00340
000E 0504*4100              35 |       LIBF    EADD      (E**2X)+1                   S2I00350
000F 0024R                  36 |       DC      FLONE                                 S2I00360
0010 058A*3580              37 |       LIBF    ESTO      STORE IN Z                  S2I00370
0011 002AR                  38 |       DC      Z                                     S2I00380
0012 0504*4100              39 |       LIBF    EADD      COMPUTE (E**2X)-1           S2I00390
0013 0027R                  40 |       DC      MIN2      -2 =(E**2X)-1               S2I00400
0014 0510*9940              41 |       LIBF    EDIV      TANH(X)=((E**2X)-1)/        S2I00410
0015 002AR                  42 |       DC      Z                       ((E**2X)+1)   S2I00420
0016 4C80 0002R             43 |       BSC  I  ETNH      EXIT                        S2I00430
0018 C37E                   44 | OUT1  LD    3 126       GET THE SIGN BIT FROM THE   S2I00440
0019 18A0                   45 |       SRT     32        MANTISSA.TANH(X)=+1 IF X    S2I00450
001A 109F                   46 |       SLT     31        GT 32.TANH(X)=-1,X LT -32.  S2I00460
001B E809                   47 |       OR      FLONE+1   SET SIGN ON CONSTANT OF 1   S2I00470
001C DB7E                   48 |       STD   3 126                                   S2I00480
001D C004                   49 |       LD      EXP1      GET PROPER EXPONENT         S2I00490
001E D37D                   50 |       STO   3 125                                   S2I00500
001F 4C80 0002R             51 |       BSC  I  ETNH      EXIT                        S2I00510
                            52 | *                                                   S2I00520
                            53 | *CONSTANTS AREA                                     S2I00530
                            54 | *                                                   S2I00540
0021 0001                   55 | ONE   DC      1         SINGLE WORD ONE             S2I00550
0022 0081                   56 | EXP1  DC      129       EXPONENT OF CON ONE         S2I00560
0023 0085                   57 | EXK   DC      128+5     RANGE CHK CON               S2I00570
0024 0081 4000 0000         58 | FLONE XFLC    1.0       EXTENDED PREC FLT PT ONE    S2I00580
0027 0082 C000 0000         59 | MIN2  XFLC    -2.0      EXTENDED PREC FLT PT -2     S2I00590
002A 0000 0000 0000         60 | Z     XFLC    0.0       STORE DIVISOR               S2I00600
002D                        61 |       END                                           S2I00610
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
ETANH 0000R   23
ETNH  0002R   25   43   51
EXK   0023R   57   29
EXP1  0022R   56   49
FLONE 0024R   58   36   47
MIN2  0027R   59   40
ONE   0021R   55   27
OUT1  0018R   44   30
Z     002AR   60   38   42