S1EAXI

Table Of Contents
  • [00022] LIBF EAXI -V1.
s1eaxi.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:07 2020
 
Source File: \s1eaxi.asm 
                             1 | *************************************************** S1B00010
                             2 | *                                                 * S1B00020
                             3 | *   SUBROUTINE NAME-                              * S1B00030
                             4 | *      FULL NAME- EXTENDED PRECISION FLOATING     * S1B00040
                             5 | *         POINT A**I FUNCTION.                    * S1B00050
                             6 | *      CODE NAME- EAXI/EAXIX                      * S1B00060
                             7 | *   PURPOSE- THIS SUBPROGRAM COMPUTES AN EXTENDED * S1B00070
                             8 | *      PRECISION FLOATING-POINT BASE TO AN INTEGER* S1B00080
                             9 | *      EXPONENT.                                  * S1B00090
                            10 | *   METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S1B00100
                            11 | *   CAPABILITIES AND LIMITATIONS- SEE IBM 1130    * S1B00110
                            12 | *      SUBROUTINE LIBRARY MANUAL.                 * S1B00120
                            13 | *   SPECIAL FEATURES- N/A                         * S1B00130
                            14 | *   ADDITIONAL INFORMATION-                       * S1B00140
                            15 | *      ESTIMATED EXECUTION TIME- SEE IBM 1130     * S1B00150
                            16 | *         SUBROUTINE LIBRARY MANUAL               * S1B00160
                            17 | *                                                 * S1B00170
                            18 | *************************************************** S1B00180
LIBF EAXI  -V1.
 
                            20 |       LIBR                                          S1B00200
                            21 |       EPR                                           S1B00210
                            22 |       ENT     EAXI                                  S1B00220
                            23 |       ENT     EAXIX                                 S1B00230
0000 6934                   24 | EAXIX STX   1 SAVE+1    SAVE XR1                    S1B00240
0001 C400 0000              25 |       LD   L  *-*       LOADER INSERT               S1B00250
0003 7004                   26 |       MDX     COM                                   S1B00260
0004 6930                   27 | EAXI  STX   1 SAVE+1    SAVE XR1                    S1B00270
0005 C400 0000              28 |       LD   L  *-*       LOADER INSERT               S1B00280
0007 6100                   29 |       LDX   1 0         INITIALIZE XR1-NOT USED     S1B00290
0008 D003                   30 | COM   STO     *+3                                   S1B00300
0009 803B                   31 |       A       ONE       BUILD EXIT                  S1B00310
000A D02C                   32 |       STO     EXIT+1                                S1B00320
000B 7580 0000              33 |       MDX  I1 *-*       OPND ADDR INTO XR1          S1B00330
000D 1000                   34 |       NOP               MAY SKIP                    S1B00340
                            35 | *                                                   S1B00350
                            36 | *CHECK FOR SPECIAL CONDITIONS. GET ABSOLUTE VALUE   S1B00360
                            37 | *OF I.  INITIALIZE FACTOR.                          S1B00370
                            38 | *                                                   S1B00380
000E C37E                   39 |       LD    3 126       GET BASE=A                  S1B00390
000F 4C18 003ER             40 |       BSC  L  ZOER,+-   BR IF A=0 TO CHK FOR ERROR  S1B00400
0011 C100                   41 |       LD    1 0         GET EXPONENT=I              S1B00410
0012 4C18 003BR             42 |       BSC  L  STONE,+-  BR IF I=O TO RET ONE        S1B00420
0014 C032                   43 |       LD      FL1       GET FLT PT ONE              S1B00430
0015 D037                   44 |       STO     FACTR     SET FACTR TO EXTENDED       S1B00440
0016 C831                   45 |       LDD     FL1+1     PRECISION FLT PT ONE--      S1B00450
0017 D836                   46 |       STD     FACTR+1   INITIALIZE PRODUCT LOOP.    S1B00460
0018 1010                   47 |       SLA     16        CALC ABS VALUE OF I         S1B00470
0019 9100                   48 |       S     1 0         AND STORE IN I              S1B00480
001A 4808                   49 |       BSC     +                                     S1B00490
001B C100                   50 |       LD    1 0                                     S1B00500
001C D029                   51 |       STO     I                                     S1B00510
                            52 | *                                                   S1B00520
                            53 | *COMPUTE A**I                                       S1B00530
                            54 | *                                                   S1B00540
001D 058A*3580              55 | EVEN  LIBF    ESTO                                  S1B00550
001E 004AR                  56 |       DC      A         A=A*A                       S1B00560
001F C026                   57 |       LD      I         PUT ABS VALUE OF I IN A REG S1B00570
0020 4C04 002BR             58 |       BSC  L  MULT,E    BR IF LEAST BIT OF I = ONE  S1B00580
0022 1801                   59 | SHRT1 SRA     1         I=I/2                       S1B00590
0023 D022                   60 |       STO     I                                     S1B00600
0024 4C18 0031R             61 |       BSC  L  NEGCK,+-  IF I=ZERO,GO CHK FOR NEG I  S1B00610
0026 054C*4000              62 |       LIBF    ELD       OTHERWISE,GET CURRENT       S1B00620
0027 004AR                  63 |       DC      A         CONTENTS OF A AND SQUARE    S1B00630
0028 0551*7A00              64 |       LIBF    EMPY      THEM,LEAVING RSLT IN FAC.   S1B00640
0029 004AR                  65 |       DC      A                                     S1B00650
002A 70F2                   66 |       MDX     EVEN      REPEAT LOOP                 S1B00660
002B 0551*7A00              67 | MULT  LIBF    EMPY      IF PRESENT I VALUE IS ODD,  S1B00670
002C 004DR                  68 |       DC      FACTR     MPY FACTR BY A TO ACCOUNT   S1B00680
002D 058A*3580              69 |       LIBF    ESTO      FOR THE BIT LOST IN SHIFT.  S1B00690
002E 004DR                  70 |       DC      FACTR                                 S1B00700
002F C016                   71 |       LD      I         RESTORE I TO A REG          S1B00710
0030 70F1                   72 |       MDX     SHRT1     RET TO SQUARE A             S1B00720
                            73 | *                                                   S1B00730
                            74 | *IF I WAS NEGATIVE, TAKE RECIPROCAL OF RESULT       S1B00740
                            75 | *                                                   S1B00750
0031 C100                   76 | NEGCK LD    1 0         GET SIGN OF I               S1B00760
0032 4C08 0038R             77 |       BSC  L  RCPR,+    IF NEG,GO TO GET RECIPROCAL S1B00770
0034 6500 0000              78 | SAVE  LDX  L1 *-*       RESTORE XR1                 S1B00780
0036 4C00 0000              79 | EXIT  BSC  L  *-*       EXIT                        S1B00790
                            80 | *                                                   S1B00800
                            81 | *SUBROUTINES TO TAKE RECIPROCAL,OR LOAD ONE INTO    S1B00810
                            82 | *FAC,OR SET ERROR CONDITION INDICATORS.             S1B00820
                            83 | *                                                   S1B00830
0038 0512*5640              84 | RCPR  LIBF    EDVR      TAKE RECIPROCAL OF FACTR    S1B00840
0039 0047R                  85 |       DC      FL1       AND PUT IN FAC.             S1B00850
003A 70F9                   86 |       MDX     SAVE      GO TO EXIT                  S1B00860
003B 054C*4000              87 | STONE LIBF    ELD       A NOT ZERO,I=ZERO=RETURN    S1B00870
003C 0047R                  88 |       DC      FL1       FLT PT ONE IN FAC           S1B00880
003D 70F6                   89 |       MDX     SAVE      GO TO EXIT                  S1B00890
003E C100                   90 | ZOER  LD    1 0         A=ZERO.GET SIGN OF I        S1B00900
003F 4C30 0034R             91 |       BSC  L  SAVE,-Z   IF PTV,EXIT WITH FAC=ZERO   S1B00910
0041 C00E                   92 |       LD      AIEBT     IF NOT PTV,TURN ON ERROR    S1B00920
0042 EB7C                   93 |       OR    3 124       INDICATOR.                  S1B00930
0043 D37C                   94 |       STO   3 124                                   S1B00940
0044 70EF                   95 |       MDX     SAVE      GO TO EXIT                  S1B00950
                            96 | *                                                   S1B00960
                            97 | *CONSTANTS AND BUFFER AREA                          S1B00970
                            98 | *                                                   S1B00980
0045 0001                   99 | ONE   DC      1         SINGLE WORD ONE             S1B00990
0046                       100 |       BSS  E  0                                     S1B01000
0046 0000                  101 | I     DC      0         EXPONENT BUFFER             S1B01010
0047 0081 4000 0000        102 | FL1   XFLC    1.0       EXTENDED PREC FLT PT ONE    S1B01020
004A 0000 0000 0000        103 | A     XFLC    0.0       BASE BUFFER                 S1B01030
004D 0000 0000 0000        104 | FACTR XFLC    0.0       PRODUCT BUFFER              S1B01040
0050 0020                  105 | AIEBT DC      /20       BIT 10--A**I ERROR BIT.     S1B01050
0051                       106 |       END                                           S1B01060
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
A     004AR  103   56   63   65
AIEBT 0050R  105   92
COM   0008R   30   26
EAXI  0004R   27
EAXIX 0000R   24
EVEN  001DR   55   66
EXIT  0036R   79   32
FACTR 004DR  104   44   46   68   70
FL1   0047R  102   43   45   85   88
I     0046R  101   51   57   60   71
MULT  002BR   67   58
NEGCK 0031R   76   61
ONE   0045R   99   31
RCPR  0038R   84   77
SAVE  0034R   78   24   27   86   89   91   95
SHRT1 0022R   59   72
STONE 003BR   87   42
ZOER  003ER   90   40