S3XMD

Table Of Contents
  • [00022] LIBF XMD -V1.
s3xmd.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:08 2020
 
Source File: \s3xmd.asm 
                             1 | *************************************************** S3H00010
                             2 | *                                                 * S3H00020
                             3 | *   SUBROUTINE NAME-                              * S3H00030
                             4 | *      FULL NAME- FIXED-POINT (FRACTIONAL) DOUBLE-* S3H00040
                             5 | *         WORD MULTIPLY FUNCTION.                 * S3H00050
                             6 | *      CODE NAME- XMD                             * S3H00060
                             7 | *   PURPOSE- THIS FUNCTION PERFORMS A FIXED-POINT * S3H00070
                             8 | *      MULTIPLY OF TWO FIXED-POINT DOUBLE-WORD    * S3H00080
                             9 | *      FRACTIONS GIVING A DOUBLE WORD RESULT.     * S3H00090
                            10 | *   METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S3H00100
                            11 | *   CAPABILITIES AND LIMITATIONS- SEE IBM 1130    * S3H00110
                            12 | *      SUBROUTINE LIBRARY MANUAL.                 * S3H00120
                            13 | *   SPECIAL FEATURES- N/A                         * S3H00130
                            14 | *   ADDITIONAL INFORMATION-                       * S3H00140
                            15 | *      ESTIMATED EXECUTION TIME- SEE IBM 1130     * S3H00150
                            16 | *         SUBROUTINE LIBRARY MANUAL               * S3H00160
                            17 | *                                                 * S3H00170
                            18 | *************************************************** S3H00180
LIBF XMD  -V1.
 
                            20 |       LIBR                                          S3H00200
                            21 |       ENT     XMD                                   S3H00210
0000 7002                   22 | XMD   MDX     *+2                                   S3H00220
0001 4C80 0000              23 | XMDX  BSC  I  *-*       LOADER INSERT.              S3H00230
0003 D836                   24 |       STD     P         SAVE MULTIPLICAND           S3H00240
0004 F37E                   25 |       EOR   3 126       COMPUTE AND STORE           S3H00250
0005 D030                   26 |       STO     PSGN      PRODUCT SIGN.               S3H00260
0006 10A0                   27 |       SLT     32        CLEAR ACC AND EXT           S3H00270
0007 9B7E                   28 |       SD    3 126       GET THE ABS VALUE OF THE    S3H00280
0008 4828                   29 |       BSC     +Z        MULTIPLIER AND STORE IN EXT S3H00290
0009 CB7E                   30 |       LDD   3 126                                   S3H00300
000A D831                   31 |       STD     Q                                     S3H00310
000B 10A0                   32 |       SLT     32        CLEAR ACC AND EXT           S3H00320
000C 982D                   33 |       SD      P         GET THE ABSOLUTE VALUE OF   S3H00330
000D 4810                   34 |       BSC     -         THE MULTIPLICAND AND STORE  S3H00340
000E D82B                   35 |       STD     P         IN P                        S3H00350
000F C02A                   36 |       LD      P                                     S3H00360
0010 A02B                   37 |       M       Q         MPY MOST SIGNIFICANT HALVES S3H00370
0011 1081                   38 |       SLT     1         SCALE PRODUCT               S3H00380
0012 D82B                   39 |       STD     PS        STORE PARTIAL PRODUCT       S3H00390
0013 C027                   40 |       LD      P+1       SECOND HALF OF MULTIPLICAND S3H00400
0014 A027                   41 |       M       Q         TIMES FIRST HALF OF MPYER   S3H00410
0015 4828                   42 |       BSC     +Z        BR IF PTV. OTHERWISE        S3H00420
0016 8025                   43 |       A       Q         ADD TO CORRECT SIGN         S3H00430
0017 1881                   44 |       SRT     1         SCALE PRODUCT               S3H00440
0018 D827                   45 |       STD     PS1       ST PARTIAL CROSS-PRODUCT    S3H00450
0019 C023                   46 |       LD      Q+1       LEAST HALF MULTIPLIER       S3H00460
001A A01F                   47 |       M       P         FIRST HALF MULTIPLICAND     S3H00470
001B 4828                   48 |       BSC     +Z        BR IF PTV.OTHERWISE         S3H00480
001C 801D                   49 |       A       P         ADD TO CORRECT SIGN         S3H00490
001D 1881                   50 |       SRT     1         SCALE PRODUCT,ADD PREVIOUS  S3H00500
001E 8821                   51 |       AD      PS1       PARTIAL CROSS-PRODUCT       S3H00510
001F D820                   52 |       STD     PS1                                   S3H00520
0020 C01C                   53 |       LD      Q+1       LEAST HALF OF MPYER SCALED  S3H00530
0021 1801                   54 |       SRA     1         FOR MULTIPLICATION.         S3H00540
0022 D012                   55 |       STO     PS3                                   S3H00550
0023 C017                   56 |       LD      P+1       MPY BY LEAST HALF OF MULTI- S3H00560
0024 A010                   57 |       M       PS3       PLICAND.                    S3H00570
0025 4828                   58 |       BSC     +Z        BR IF PTV. OTHERWISE        S3H00580
0026 800E                   59 |       A       PS3       ADD TO CORRECT SIGN         S3H00590
0027 1890                   60 |       SRT     16        ALIGN W/CROSS-PRODUCTS      S3H00600
0028 8817                   61 |       AD      PS1       AND ADD.                    S3H00610
0029 880E                   62 |       AD      ROUND     HALF-ADJUST RESULT.         S3H00620
002A 188E                   63 |       SRT     14        ALIGN W/PARTIAL PRODUCT     S3H00630
002B 8812                   64 |       AD      PS        ADD FIRST PARTIAL PRODUCT   S3H00640
002C D811                   65 |       STD     PS        AND STORE FINAL PRODUCT     S3H00650
002D C008                   66 |       LD      PSGN      RESTORE CORRECT SIGN TO     S3H00660
002E 4C10 0033R             67 |       BSC  L  *+3,-     THE RESULT.                 S3H00670
0030 10A0                   68 |       SLT     32                                    S3H00680
0031 980C                   69 |       SD      PS        PUT RESULT IN THE ACC AND   S3H00690
0032 70CE                   70 |       MDX     XMDX      EXTENSION FOR RETURN.       S3H00700
0033 C00A                   71 |       LD      PS                                    S3H00710
0034 70CC                   72 |       MDX     XMDX                                  S3H00720
                            73 | *                                                   S3H00730
                            74 | *CONSTANTS AND BUFFER AREA                          S3H00740
                            75 | *                                                   S3H00750
0035 0000                   76 | PS3   DC      0         STORE LEAST HALF OF MPYER.  S3H00760
0036 0000                   77 | PSGN  DC      0         BIT 0 IS PRODUCT SIGN.      S3H00770
0038 0000 2000              78 | ROUND DEC     8192      CONSTANT FOR ROUNDING OFF.  S3H00780
003A                        79 | P     BSS  E  2         MULTIPLICAND BUFFER         S3H00790
003C                        80 | Q     BSS  E  2         MULTIPLIER BUFFER           S3H00800
003E                        81 | PS    BSS  E  2         PARTIAL PRODUCT             S3H00810
0040                        82 | PS1   BSS  E  2         PARTIAL CROSS-PRODUCT       S3H00820
0042                        83 |       END                                           S3H00830
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
P     003AR   79   24   33   35   36   40   47   49   56
PS    003ER   81   39   64   65   69   71
PS1   0040R   82   45   51   52   61
PS3   0035R   76   55   57   59
PSGN  0036R   77   26   66
Q     003CR   80   31   37   41   43   46   53
ROUND 0038R   78   62
XMD   0000R   22
XMDX  0001R   23   70   72