R1FAXI

Table Of Contents
  • [00022] LIBF FAXI -V1.
r1faxi.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:07 2020
 
Source File: \r1faxi.asm 
                             1 | *************************************************** R1B00010
                             2 | *                                                 * R1B00020
                             3 | *   SUBROUTINE NAME-                              * R1B00030
                             4 | *      FULL NAME- STANDARD PRECISION FLOATING-    * R1B00040
                             5 | *         POINT A**I FUNCTION.                    * R1B00050
                             6 | *      CODE NAME- FAXI/FAXIX                      * R1B00060
                             7 | *   PURPOSE- THIS FUNCTION COMPUTES A STANDARD    * R1B00070
                             8 | *      PRECISION FLOATING POINT NUMBER TAKEN TO AN* R1B00080
                             9 | *      INTEGER EXPONENT.                          * R1B00090
                            10 | *   METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* R1B00100
                            11 | *   CAPABILITIES AND LIMITATIONS- SEE IBM 1130    * R1B00110
                            12 | *      SUBROUTINE LIBRARY MANUAL.                 * R1B00120
                            13 | *   SPECIAL FEATURES- N/A                         * R1B00130
                            14 | *   ADDITIONAL INFORMATION-                       * R1B00140
                            15 | *      ESTIMATED EXECUTION TIME- SEE IBM 1130     * R1B00150
                            16 | *         SUBROUTINE LIBRARY MANUAL               * R1B00160
                            17 | *                                                 * R1B00170
                            18 | *************************************************** R1B00180
LIBF FAXI  -V1.
 
                            20 |       LIBR                                          R1B00200
                            21 |       SPR                                           R1B00210
                            22 |       ENT     FAXI                                  R1B00220
                            23 |       ENT     FAXIX                                 R1B00230
0000 6932                   24 | FAXIX STX   1 SAVE+1    SAVE XR1                    R1B00240
0001 C400 0000              25 |       LD   L  *-*       CALL+1                      R1B00250
0003 7004                   26 |       MDX     COM                                   R1B00260
0004 692E                   27 | FAXI  STX   1 SAVE+1    SAVE XR1                    R1B00270
0005 C400 0000              28 |       LD   L  *-*       CALL+1                      R1B00280
0007 6100                   29 |       LDX   1 0         XR1=ZERO                    R1B00290
0008 D003                   30 | COM   STO     *+3                                   R1B00300
0009 8039                   31 |       A       ONE       BUILD EXIT                  R1B00310
000A D02A                   32 |       STO     EXIT+1                                R1B00320
000B 7580 0000              33 |       MDX  I1 *-*       OP ADDRESS INTO XR1         R1B00330
000D 1000                   34 |       NOP               IF MDX CAUSES BR, SKIP NOP  R1B00340
                            35 | *                                                   R1B00350
                            36 | *CHECK FOR SPECIAL CONDITIONS. GET SIGN OF I. USE   R1B00360
                            37 | *ABSOLUTE VALUE OF I. INITIALIZE FACTR.             R1B00370
                            38 | *                                                   R1B00380
000E C37E                   39 |       LD    3 126       GET FLT PT BASE=A           R1B00390
000F 4C18 003CR             40 |       BSC  L  ZOER,+-   BR A=ZERO                   R1B00400
0011 C100                   41 |       LD    1 0         GET INTEGER EXPONENT=I      R1B00410
0012 4C18 0039R             42 |       BSC  L  STONE,+-  BR I=ZERO                   R1B00420
0014 C831                   43 |       LDD     FL1       GET FLT PT 1                R1B00430
0015 D834                   44 |       STD     FACTR     FACTR=1                     R1B00440
0016 1010                   45 |       SLA     16        CLEAR ACCUMULATOR           R1B00450
0017 9100                   46 |       S     1 0         GET - I                     R1B00460
0018 4808                   47 |       BSC     +         SKIP IF -I IS PTV           R1B00470
0019 C100                   48 |       LD    1 0         -I NEG,GET I                R1B00480
001A D029                   49 |       STO     I         STORE ABS VALUE OF I        R1B00490
                            50 | *                                                   R1B00500
                            51 | *COMPUTE A**I                                       R1B00510
                            52 | *                                                   R1B00520
001B 068A*3580              53 | EVEN  LIBF    FSTO      GET CONTENTS OF FAC         R1B00530
001C 0048R                  54 |       DC      A         STORE IN A                  R1B00540
001D C026                   55 |       LD      I                                     R1B00550
001E 4C04 0029R             56 |       BSC  L  MULT,E    BR IF LEAST BIT OF I = ONE  R1B00560
0020 1801                   57 | SHRT1 SRA     1         REPLACE I WITH I/2          R1B00570
0021 D022                   58 |       STO     I                                     R1B00580
0022 4C18 002FR             59 |       BSC  L  NEGCK,+-  BR IF I=ZERO                R1B00590
0024 064C*4000              60 |       LIBF    FLD       GET (A) INTO FAC            R1B00600
0025 0048R                  61 |       DC      A                                     R1B00610
0026 0651*7A00              62 |       LIBF    FMPY      MPY,STORE (A)((A) IN FAC    R1B00620
0027 0048R                  63 |       DC      A                                     R1B00630
0028 70F2                   64 |       MDX     EVEN                                  R1B00640
0029 0651*7A00              65 | MULT  LIBF    FMPY                                  R1B00650
002A 004AR                  66 |       DC      FACTR                                 R1B00660
002B 068A*3580              67 |       LIBF    FSTO                                  R1B00670
002C 004AR                  68 |       DC      FACTR     FACTR=FACTR*A               R1B00680
002D C016                   69 |       LD      I         GET I                       R1B00690
002E 70F1                   70 |       MDX     SHRT1     RET TO REITERATE            R1B00700
                            71 | *                                                   R1B00710
                            72 | *IF I WAS NEGATIVE,TAKE RECIPROCAL OF RESULT        R1B00720
                            73 | *                                                   R1B00730
002F C100                   74 | NEGCK LD    1 0         GET ORIGINAL I              R1B00740
0030 4C08 0036R             75 |       BSC  L  RCPR,+    BR IF I NEGATIVE            R1B00750
0032 6500 0000              76 | SAVE  LDX  L1 *-*       RESTORE XR1                 R1B00760
0034 4C00 0000              77 | EXIT  BSC  L  *-*       (FAC)=(FACTR)               R1B00770
                            78 | *                                                   R1B00780
                            79 | *SUBROUTINES TO TAKE RECIPROCAL, LOAD ONE INTO FAC  R1B00790
                            80 | *OR SET ERROR INDICATORS.                           R1B00800
                            81 | *                                                   R1B00810
0036 0612*5640              82 | RCPR  LIBF    FDVR                                  R1B00820
0037 0046R                  83 |       DC      FL1                                   R1B00830
0038 70F9                   84 |       MDX     SAVE      (FAC)=1/(FACTR)             R1B00840
0039 064C*4000              85 | STONE LIBF    FLD       SINCE I=O,A NOT ZERO        R1B00850
003A 0046R                  86 |       DC      FL1       SET A**I=1                  R1B00860
003B 70F6                   87 |       MDX     SAVE      (FAC)=1                     R1B00870
003C C100                   88 | ZOER  LD    1 0         CHECK I. IF NOT POSITIVE,   R1B00880
003D 4C30 0032R             89 |       BSC  L  SAVE,-Z   TURN ON A**I PROGRAM        R1B00890
003F C00C                   90 |       LD      AIEBT     ERROR INDICATOR.            R1B00900
0040 EB7C                   91 |       OR    3 124                                   R1B00910
0041 D37C                   92 |       STO   3 124                                   R1B00920
0042 70EF                   93 |       MDX     SAVE                                  R1B00930
                            94 | *                                                   R1B00940
                            95 | *CONSTANTS AREA                                     R1B00950
                            96 | *                                                   R1B00960
0043 0001                   97 | ONE   DC      1         SINGLE WORD ONE             R1B00970
0044 0000                   98 | I     DC      0         STORE INTEGER EXPONENT      R1B00980
0046 4000 0081              99 | FL1   DEC     1.0       FLT PT STD PREC ONE         R1B00990
0048 0000 0000             100 | A     DEC     0.0       STORE FLT PT BASE           R1B01000
004A 0000 0000             101 | FACTR DEC     0.0       STORE RESULTS               R1B01010
004C 0020                  102 | AIEBT DC      /20       BIT 10--A**I ERROR BIT.     R1B01020
004D                       103 |       END                                           R1B01030
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
A     0048R  100   54   61   63
AIEBT 004CR  102   90
COM   0008R   30   26
EVEN  001BR   53   64
EXIT  0034R   77   32
FACTR 004AR  101   44   66   68
FAXI  0004R   27
FAXIX 0000R   24
FL1   0046R   99   43   83   86
I     0044R   98   49   55   58   69
MULT  0029R   65   56
NEGCK 002FR   74   59
ONE   0043R   97   31
RCPR  0036R   82   75
SAVE  0032R   76   24   27   84   87   89   93
SHRT1 0020R   57   70
STONE 0039R   85   42
ZOER  003CR   88   40