S3NORM

Table Of Contents
  • [00020] LIBF NORM -V1.
s3norm.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:08 2020
 
Source File: \s3norm.asm 
                             1 | *************************************************** S3E00010
                             2 | *                                                 * S3E00020
                             3 | *   SUBROUTINE NAME-                              * S3E00030
                             4 | *      FULL NAME- NORMALIZING SUBROUTINE          * S3E00040
                             5 | *      CODE NAME- NORM                            * S3E00050
                             6 | *   PURPOSE- THIS SUBROUTINE NORMALIZES A FLOATING* S3E00060
                             7 | *      POINT NUMBER.                              * S3E00070
                             8 | *   METHOD-SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.* S3E00080
                             9 | *   CAPABILITIES AND LIMITATIONS- SEE IBM 1130    * S3E00090
                            10 | *      SUBROUTINE LIBRARY MANUAL.                 * S3E00100
                            11 | *   SPECIAL FEATURES- N/A                         * S3E00110
                            12 | *   ADDITIONAL INFORMATION-                       * S3E00120
                            13 | *      ESTIMATED EXECUTION TIME- SEE IBM 1130     * S3E00130
                            14 | *         SUBROUTINE LIBRARY MANUAL               * S3E00140
                            15 | *                                                 * S3E00150
                            16 | *************************************************** S3E00160
LIBF NORM  -V1.
 
                            18 |       LIBR                                          S3E00180
                            19 |       ENT     NORM                                  S3E00190
0000 7002                   20 | NORM  MDX     *+2                                   S3E00200
0001 4C80 0000              21 |       BSC  I  *-*       LOADER INSERT               S3E00210
0003 10A0                   22 |       SLT     32        CLEAR ACC AND EXT           S3E00220
0004 9B7E                   23 |       SD    3 126       GET THE ABS VALUE           S3E00230
0005 4828                   24 |       BSC     +Z                                    S3E00240
0006 CB7E                   25 |       LDD   3 126                                   S3E00250
0007 4C28 0020R             26 |       BSC  L  EXC,+Z    IF THE NO. IS NOT /8000     S3E00260
0009 1081                   27 |       SLT     1         SHIFT 1 BIT INTO SIGN BIT   S3E00270
000A 4C28 0001R             28 |       BSC  L  NORM+1,+Z BR OUT IF ALREADY NORMALIZE S3E00280
000C 6911                   29 |       STX   1 SAVE+1    OTHERWISE,SAVE XR1,AND SET  S3E00290
000D 611F                   30 |       LDX   1 31        XR1 FOR SHIFT COUNT         S3E00300
000E 11C0                   31 |       SLC   1           SHIFT UNTIL 1 IS IN 0 BIT O S3E00310
000F 6917                   32 |       STX   1 T2        SHIFT IS 32,THEN SAVE XR1.  S3E00320
0010 C017                   33 |       LD      EK31      CALCULATE THE SHIFT AND     S3E00330
0011 9015                   34 |       S       T2        STORE TO PUT IN XR1.        S3E00340
0012 D001                   35 |       STO     SLTK+1                                S3E00350
0013 6500 0000              36 | SLTK  LDX  L1 *-*                                   S3E00360
0015 C37D                   37 |       LD    3 125       GET EXPONENT AND DECREMENT  S3E00370
0016 90FD                   38 |       S       SLTK+1    THE AMOUNT OF THE SHIFT.    S3E00380
0017 D37D                   39 |       STO   3 125                                   S3E00390
0018 CB7E                   40 |       LDD   3 126       GET MANTISSA AND PERFORM    S3E00400
0019 1180                   41 |       SLT   1           SHIFT.                      S3E00410
001A 4818                   42 |       BSC     +-        BR IF NOT ZERO              S3E00420
001B D37D                   43 |       STO   3 125       IF ZERO, SET EXPONENT ZERO  S3E00430
001C DB7E                   44 |       STD   3 126       RESTORE NORMALIZED MANTISSA S3E00440
001D 6500 0000              45 | SAVE  LDX  L1 *-*       RESTORE XR1                 S3E00450
001F 70E1                   46 |       MDX     NORM+1    RETURN TO MAIN PROG         S3E00460
0020 1881                   47 | EXC   SRT     1         INPUT NO. WAS /8000         S3E00470
0021 DB7E                   48 |       STD   3 126       DO A SHIFT RIGHT OF 1       S3E00480
0022 C37D                   49 |       LD    3 125       INCREMENT EXPONENT TO       S3E00490
0023 8002                   50 |       A       ONE       CORRESPOND.                 S3E00500
0024 D37D                   51 |       STO   3 125                                   S3E00510
0025 70DB                   52 |       MDX     NORM+1    BR TO PREPARE FOR EXIT  2-3 S3E00520
                            53 | *                                                   S3E00530
                            54 | *CONSTANTS AREA                                     S3E00540
                            55 | *                                                   S3E00550
0026 0001                   56 | ONE   DC      1         SINGLE WORD ONE             S3E00560
0027 0000                   57 | T2    DC      0         SHIFT COUNT                 S3E00570
0028 001F                   58 | EK31  DC      /1F       MAXIMUM SHIFT CONSTANT      S3E00580
0029                        59 |       END                                           S3E00590
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
EK31  0028R   58   33
EXC   0020R   47   26
NORM  0000R   20   28   46   52
ONE   0026R   56   50
SAVE  001DR   45   29
SLTK  0013R   36   35   38
T2    0027R   57   32   34