U3HOLEB

Table Of Contents
  • [00004] HOLL TO EBC AND EBC - HOLL CONVERSION
u3holeb.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:09 2020
 
Source File: \u3holeb.asm 
HOLL TO EBC AND EBC - HOLL CONVERSION
 
                             2 | *************************************************** U3B00020
                             3 | *                                                 * U3B00030
                             4 | *   SUBROUTINE NAME-                              * U3B00040
                             5 | *      FULL NAME- HOLLERITH TO EBCDIC OR EBCDIC   * U3B00050
                             6 | *         TO HOLLERITH CONVERSION SUBROUTINE.     * U3B00060
                             7 | *      CODE NAME- HOLEB                           * U3B00070
                             8 | *   PURPOSE- THIS SUBROUTINE CONVERTS HOLLERITH   * U3B00080
                             9 | *      TO EBCDIC,PACKED TWO CHARACTERS PER WORD,  * U3B00090
                            10 | *      OR CONVERTS PACKED EBCDIC TO HOLLERITH.    * U3B00100
                            11 | *   METHOD-                                       * U3B00110
                            12 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3B00120
                            13 | *   CAPABILITIES AND LIMITATIONS-                 * U3B00130
                            14 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3B00140
                            15 | *   SPECIAL FEATURES-N/A                          * U3B00150
                            16 | *   ADDITIONAL INFORMATION-                       * U3B00160
                            17 | *      ESTIMATED EXECUTION TIME-                  * U3B00170
                            18 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3B00180
                            19 | *                                                 * U3B00190
                            20 | *************************************************** U3B00200
HOLL TO EBC AND EBC - HOLL CONVERSION
 
                            22 |       LIBR                                          U3B00220
                            23 |       ENT     HOLEB                                 U3B00230
0000 695C                   24 | HOLEB STX   1 SAV1+1    CALL ENTRY POINT            U3B00240
0001 6580 0000              25 | LINK  LDX  I1 0         LOADER STORED TV ADDRESS    U3B00250
0003 6A5B                   26 |       STX   2 SAV2+1    SAVE XR2                    U3B00260
0004 285B                   27 |       STS     SAVST     SAVE STATUS                 U3B00270
0005 D842                   28 |       STD     TEMP      SAVE ACC AND EXTENSION      U3B00280
0006 C101                   29 |       LD    1 1         XR1= ADDR OF FIRST PARAM    U3B00290
0007 D010                   30 |       STO     INPUT+1   INPUT ADDR                  U3B00300
0008 C102                   31 |       LD    1 2                                     U3B00310
0009 D010                   32 |       STO     OUTPT+1   OUTPUT ADDR                 U3B00320
000A C103                   33 |       LD    1 3                                     U3B00330
000B D038                   34 |       STO     COUNT     CHARACTER COUNT             U3B00340
000C C034                   35 |       LD      CALL1                                 U3B00350
000D 406A                   36 |       BSI     SBRTA     OBTAIN ADDR OF HOLL TBL     U3B00360
000E D02B                   37 |       STO     TLU14+1                               U3B00370
000F D059                   38 |       STO     TLU32+1                               U3B00380
0010 C031                   39 |       LD      CALL2                                 U3B00390
0011 4066                   40 |       BSI     SBRTA     OBTAIN ADDR OF EBPA TBL     U3B00400
0012 D01D                   41 |       STO     TLU12+1                               U3B00410
0013 D05D                   42 |       STO     TLU34+1                               U3B00420
0014 C100                   43 |       LD    1 0         INDR OF EBCDIC OR HOLLERITH U3B00430
0015 7104                   44 |       MDX   1 +4                                    U3B00440
0016 694C                   45 |       STX   1 EXIT+1    SET EXIT TO CALL+5          U3B00450
0017 6500 0000              46 | INPUT LDX  L1 0         XR1= INPUT DATA AREA        U3B00460
0019 6600 0000              47 | OUTPT LDX  L2 0         XR2= OUTPUT DATA AREA       U3B00470
001B 4C08 004AR             48 |       BSC  L  HOLIN,+   BR IF HOLLERITH INPUT       U3B00480
                            49 | *                                                   U3B00490
                            50 | *CONVERT INPUT EBCDIC TO HOLLERITH                  U3B00500
                            51 | *                                                   U3B00510
001D C100                   52 | EBCIN LD    1 0         GET AN INPUT WORD (2 CHARS) U3B00520
001E 400C                   53 |       BSI     HLOUT     CONVERT LEFT CHAR           U3B00530
001F 74FF 0044R             54 |       MDX  L  COUNT,-1  DECR CHAR COUNT             U3B00540
0021 7001                   55 |       MDX     EBRGT     CONTINUE IF MORE CHARS      U3B00550
0022 7039                   56 |       MDX     SAV1      EXIT IF NO MORE CHARS       U3B00560
0023 C100                   57 | EBRGT LD    1 0                                     U3B00570
0024 1008                   58 |       SLA     8                                     U3B00580
0025 4005                   59 |       BSI     HLOUT     CONVERT RIGHT CHAR          U3B00590
0026 7101                   60 |       MDX   1 +1        XR1 PTS TO NEXT INPUT WORD  U3B00600
0027 74FF 0044R             61 |       MDX  L  COUNT,-1  DECR CHAR COUNT             U3B00610
0029 70F3                   62 |       MDX     EBCIN     LOOP FOR NEXT CHAR          U3B00620
002A 7031                   63 |       MDX     SAV1      EXIT IF NO MORE CHARS       U3B00630
                            64 | *                                                   U3B00640
                            65 | *THIS SECTION DOES THE TABLE LOOKUP FOR EBCDIC TO   U3B00650
                            66 | *HOLLERITH CONVERSION.                              U3B00660
                            67 | *                                                   U3B00670
002B 1000                   68 | HLOUT NOP               STORE RETURN ADDR           U3B00680
002C D016                   69 |       STO     CHAR                                  U3B00690
002D 6910                   70 |       STX   1 TLU16+1                               U3B00700
002E 614B                   71 |       LDX   1 +75       XR1=CONVERSION TBL LENGTH   U3B00710
002F F500 0000              72 | TLU12 EOR  L1 0         EBPA TABLE ENTRY            U3B00720
0031 1808                   73 |       SRA     8         DO CHARS CMP                U3B00730
0032 4C18 0039R             74 |       BSC  L  TLU14,+-  YES,GO STORE CORRECT CHAR   U3B00740
0034 C00E                   75 |       LD      CHAR      NO,RESTORE INPUT CHAR       U3B00750
0035 71FF                   76 |       MDX   1 -1        DECR TBL PT                 U3B00760
0036 70F8                   77 |       MDX     TLU12     NOT DONE W/TBL,CONTINUE     U3B00770
0037 C00E                   78 |       LD      H2001     TABLE SEARCH DONE,NONE CMP- U3B00780
0038 D027                   79 |       STO     SAVST     TURN ON OVERFLOW INDR.      U3B00790
0039 C500 0000              80 | TLU14 LD   L1 0                                     U3B00800
003B D200                   81 |       STO   2 0         STORE HOLLERITH CHAR        U3B00810
003C 7201                   82 |       MDX   2 +1        SET FOR NEXT O/P CHAR       U3B00820
003D 6500 0000              83 | TLU16 LDX  L1 0         RESTORE XR1                 U3B00830
003F 4C80 002BR             84 |       BSC  I  HLOUT     RETURN                      U3B00840
                            85 | *                                                   U3B00850
                            86 | *CONSTANTS AND BUFFER AREA                          U3B00860
                            87 | *                                                   U3B00870
0041 0859*34C0              88 | CALL1 LIBF    HOLL      GET HOLL SUBRT ADDR         U3B00880
0042 0509*7040              89 | CALL2 LIBF    EBPA      GET EBPA SUBRT ADDR         U3B00890
0043 0000                   90 | CHAR  DC      0         EBCDIC CHAR BUFFER          U3B00900
0044 0000                   91 | COUNT DC      0         CHAR COUNT                  U3B00910
0045 00FF                   92 | H00FF DC      /00FF     LOW-BIT MASK                U3B00920
0046 2001                   93 | H2001 DC      /2001     OVERFLOW INDR WD            U3B00930
0048                        94 | TEMP  BSS  E  2         SAVE ACC AND EXT            U3B00940
                            95 | *                                                   U3B00950
                            96 | *CONVERT INPUT HOLLERITH TO EBCDIC                  U3B00960
                            97 | *                                                   U3B00970
004A 4019                   98 | HOLIN BSI     EBOUT                                 U3B00980
004B 1008                   99 |       SLA     8                                     U3B00990
004C D0F6                  100 |       STO     CHAR      CONVERT LEFT O/P CHAR       U3B01000
004D 74FF 0044R            101 |       MDX  L  COUNT,-1  ANY MORE CHARS              U3B01010
004F 7005                  102 |       MDX     RIGHT     YES, CONTINUE               U3B01020
0050 C200                  103 |       LD    2 0         NO, STORE LEFT CHAR IN      U3B01030
0051 E0F3                  104 |       AND     H00FF     OUTPUT AREA (DO NOT         U3B01040
0052 80F0                  105 |       A       CHAR      ALTER RIGHT CHAR)           U3B01050
0053 D200                  106 |       STO   2 0                                     U3B01060
0054 7007                  107 |       MDX     SAV1      GO TO PREPARE FOR EXIT      U3B01070
0055 400E                  108 | RIGHT BSI     EBOUT     CONVERT RIGHT O/P CHAR      U3B01080
0056 80EC                  109 |       A       CHAR      STORE BOTH CHARS IN         U3B01090
0057 D200                  110 |       STO   2 0         OUTPUT AREA                 U3B01100
0058 7201                  111 |       MDX   2 +1        SET FOR NEXT O/P WD         U3B01110
0059 74FF 0044R            112 |       MDX  L  COUNT,-1  ANY MORE CHARS              U3B01120
005B 70EE                  113 |       MDX     HOLIN     YES, LOOP                   U3B01130
005C 6500 0000             114 | SAV1  LDX  L1 0         RESTORE XR1                 U3B01140
005E 6600 0000             115 | SAV2  LDX  L2 0         RESTORE XR2                 U3B01150
0060 2000                  116 | SAVST LDS     0         OVERFLOW ON IF ERROR        U3B01160
0061 C8E6                  117 |       LDD     TEMP      RESTORE ACC AND EXT         U3B01170
0062 4C00 0000             118 | EXIT  BSC  L  0         EXIT                        U3B01180
                           119 | *                                                   U3B01190
                           120 | *THIS SECTION DOES THE TABLE LOOKUP FOR HOLLERITH   U3B01200
                           121 | *TO EBCDIC CONVERSION.                              U3B01210
                           122 | *                                                   U3B01220
0064 1000                  123 | EBOUT NOP               RETURN ADDR                 U3B01230
0065 6A0F                  124 |       STX   2 TLU36+1   SAVE XR2                    U3B01240
0066 624B                  125 |       LDX   2 +75       XR2=CONVERSION TABLE LENGTH U3B01250
0067 C100                  126 | TLU30 LD    1 0         GET FIRST CHAR              U3B01260
0068 F600 0000             127 | TLU32 EOR  L2 0         CHK AGAINST TABLE ENTRY     U3B01270
006A 4C18 0070R            128 |       BSC  L  TLU34,+-  SAME,GO GET EBCDIC CHAR     U3B01280
006C 72FF                  129 |       MDX   2 -1        NOT SAME,DECR TABLE PT      U3B01290
006D 70F9                  130 |       MDX     TLU30     NOT DONE W/TBL,CHK NEXT WD  U3B01300
006E C0D7                  131 |       LD      H2001     END OF TBL,SET OVERFLOW     U3B01310
006F D0F0                  132 |       STO     SAVST     INDR AS ERROR INDR          U3B01320
0070 C600 0000             133 | TLU34 LD   L2 0         OBTAIN EBCDIC CHAR          U3B01330
0072 1808                  134 |       SRA     8         PUT IN LAST HALF OF WORD    U3B01340
0073 7101                  135 |       MDX   1 +1        SET FOR NEXT INPUT CHAR     U3B01350
0074 6600 0000             136 | TLU36 LDX  L2 0         RESTORE XR2                 U3B01360
0076 4C80 0064R            137 |       BSC  I  EBOUT     EXIT                        U3B01370
                           138 | *                                                   U3B01380
                           139 | *THIS SECTION GETS THE ADDRESS OF THE SUBROUTINES   U3B01390
                           140 | *LOADED WITH THIS PROGRAM.                          U3B01400
                           141 | *                                                   U3B01410
0078 1000                  142 | SBRTA NOP               SAVE RET ADDR               U3B01420
0079 1008                  143 |       SLA     8                                     U3B01430
007A 1888                  144 |       SRT     8         EXTEND MODIFIER SIGN        U3B01440
007B 6BC7                  145 |       STX   3 CHAR      GET ADDR OF TV TABLE        U3B01450
007C 80C6                  146 |       A       CHAR      ADD TO DISPLACEMENT TO GET  U3B01460
007D 8006                  147 |       A       D0002     TV-PT TO THIRD WD OF TV.    U3B01470
007E D001                  148 |       STO     SBA12+1                               U3B01480
007F C400 0000             149 | SBA12 LD   L  0         GET SUBRT ENTRY ADDR        U3B01490
0081 8003                  150 |       A       D0003     AVOID STORED LINK WORD      U3B01500
0082 4C80 0078R            151 |       BSC  I  SBRTA     EXIT                        U3B01510
0084 0002                  152 | D0002 DC      +2        DECIMAL 2                   U3B01520
0085 0003                  153 | D0003 DC      +3        DECIMAL 3                   U3B01530
0086                       154 |       END                                           U3B01540
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
CALL1 0041R   88   35
CALL2 0042R   89   39
CHAR  0043R   90   69   75  100  105  109  145  146
COUNT 0044R   91   34   54   61  101  112
D0002 0084R  152  147
D0003 0085R  153  150
EBCIN 001DR   52   62
EBOUT 0064R  123   98  108  137
EBRGT 0023R   57   55
EXIT  0062R  118   45
H00FF 0045R   92  104
H2001 0046R   93   78  131
HLOUT 002BR   68   53   59   84
HOLEB 0000R   24
HOLIN 004AR   98   48  113
INPUT 0017R   46   30
LINK  0001R   25
OUTPT 0019R   47   32
RIGHT 0055R  108  102
SAV1  005CR  114   24   56   63  107
SAV2  005ER  115   26
SAVST 0060R  116   27   79  132
SBA12 007FR  149  148
SBRTA 0078R  142   36   40  151
TEMP  0048R   94   28  117
TLU12 002FR   72   41   77
TLU14 0039R   80   37   74
TLU16 003DR   83   70
TLU30 0067R  126  130
TLU32 0068R  127   38
TLU34 0070R  133   42  128
TLU36 0074R  136  124