User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:u3ebprt_lst

U3EBPRT

Table Of Contents
  • [00004] EBCDIC TO PRINTER CODE CONVERSION
u3ebprt.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:09 2020
 
Source File: \u3ebprt.asm 
EBCDIC TO PRINTER CODE CONVERSION
 
                             2 | *************************************************** U3A00020
                             3 | *                                                 * U3A00030
                             4 | *   SUBROUTINE NAME-                              * U3A00040
                             5 | *      FULL NAME- EBCDIC TO PRINTER CODE CON-     * U3A00050
                             6 | *         VERSION SUBROUTINE.                     * U3A00060
                             7 | *      CODE NAME- EBPRT                           * U3A00070
                             8 | *   PURPOSE- THIS SUBROUTINE CONVERTS EBCDIC,     * U3A00080
                             9 | *      PACKED TWO CHARACTERS PER WORD, TO EITHER  * U3A00090
                            10 | *      1053 OR 1443 PRINTER CODE, ALSO PACKED     * U3A00100
                            11 | *      TWO CHARACTERS PER WORD.                   * U3A00110
                            12 | *   METHOD-                                       * U3A00120
                            13 | *      SEE IBM 1130 SUBROUTINE LIBRARY MANUAL.    * U3A00130
                            14 | *   CAPABILITIES AND LIMITATIONS-                 * U3A00140
                            15 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3A00150
                            16 | *   SPECIAL FEATURES. N/A                         * U3A00160
                            17 | *   ADDITIONAL INFORMATION-                       * U3A00170
                            18 | *      ESTIMATED EXECUTION TIME-                  * U3A00180
                            19 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL. * U3A00190
                            20 | *************************************************** U3A00200
EBCDIC TO PRINTER CODE CONVERSION
 
                            22 |       LIBR                                          U3A00220
                            23 |       ENT     EBPRT                                 U3A00230
0000 692E                   24 | EBPRT STX   1 SAV1+1    CALL ENTRY POINT            U3A00240
0001 6580 0000              25 | LINK  LDX  I1 *-*       LOADER STORES TV ADDR (+2)  U3A00250
0003 6A2D                   26 |       STX   2 SAV2+1    SAVE XR2                    U3A00260
0004 2828                   27 |       STS     CHECK     SAVE STATUS                 U3A00270
0005 D832                   28 |       STD     SAVAQ     SAVE ACC AND EXT            U3A00280
0006 C101                   29 |       LD    1 1                                     U3A00290
0007 D00F                   30 |       STO     INPUT+1   SAVE INPUT ADDRESS          U3A00300
0008 C102                   31 |       LD    1 2                                     U3A00310
0009 D00F                   32 |       STO     OUTPT+1   SAVE OUTPUT ADDRESS         U3A00320
000A C103                   33 |       LD    1 3                                     U3A00330
000B D02F                   34 |       STO     COUNT     SET OUTPUT CODE INDR        U3A00340
000C C028                   35 |       LD      CALL1                                 U3A00350
000D 404A                   36 |       BSI     SBRTA     SET UP EBPA TABLE ADDR      U3A00360
000E D036                   37 |       STO     TLU14+1                               U3A00370
000F C026                   38 |       LD      CALL2                                 U3A00380
0010 4047                   39 |       BSI     SBRTA     SET UP PRTY TABLE ADDR      U3A00390
0011 D03D                   40 |       STO     TLU18+1                               U3A00400
0012 C100                   41 |       LD    1 0         SET OUTPUT CODE INDR        U3A00410
0013 D026                   42 |       STO     CODE      (0 IF 1053, 1 IF 1443)      U3A00420
0014 7104                   43 |       MDX   1 +4        SET EXIT TO SKIP 4 PARAMS   U3A00430
0015 691E                   44 |       STX   1 EXIT+1                                U3A00440
0016 6500 0000              45 | INPUT LDX  L1 *-*       XR1= INPUT ADDR             U3A00450
0018 6600 0000              46 | OUTPT LDX  L2 *-*       XR2= OUTPUT ADDR            U3A00460
                            47 | *                                                   U3A00470
                            48 | *LOOP TO CALL CONVERSION AND PACK TWO CHARS PER     U3A00480
                            49 | * WORD AND STORE IN OUTPUT AREA.                    U3A00490
                            50 | *                                                   U3A00500
001A C100                   51 | LEFT  LD    1 0         GET EBCDIC CHARACTER        U3A00510
001B 4024                   52 |       BSI     TLU       CONVERT EBCDIC CHAR AND PUT U3A00520
001C 1898                   53 |       SRT     24        IN BITS 8-15 OF EXTENSION   U3A00530
001D 74FF 003BR             54 |       MDX  L  COUNT,-1  ANY MORE TO CONVERT         U3A00540
001F 7003                   55 |       MDX     RIGHT     YES                         U3A00550
0020 C200                   56 |       LD    2 0         NO,DONT ALTER THE LAST 8    U3A00560
0021 1008                   57 |       SLA     8         BITS OF LAST STG WD         U3A00570
0022 7003                   58 |       MDX     STORE     GO TO STORE LAST WD         U3A00580
0023 C100                   59 | RIGHT LD    1 0         GET SECOND HALF OF THE WD   U3A00590
0024 1008                   60 |       SLA     8                                     U3A00600
0025 401A                   61 |       BSI     TLU       CONVERT SECOND HALF OF WD   U3A00610
0026 18C8                   62 | STORE RTE     8         PUT BOTH CHARS IN ACC       U3A00620
0027 D200                   63 |       STO   2 0         STORE BOTH CONVERTED CHARS  U3A00630
0028 7101                   64 |       MDX   1 +1        SET FOR NEXT INPUT WORD     U3A00640
0029 7201                   65 |       MDX   2 +1        SET FOR NEXT OUTPUT WORD    U3A00650
002A 74FF 003BR             66 |       MDX  L  COUNT,-1  ANY MORE TO CONVERT         U3A00660
002C 70ED                   67 |       MDX     LEFT      YES,REPEAT LOOP             U3A00670
002D 2000                   68 | CHECK LDS     0         NO,RESTORE STATUS           U3A00680
002E 6500 0000              69 | SAV1  LDX  L1 *-*       RESTORE XR1                 U3A00690
0030 6600 0000              70 | SAV2  LDX  L2 *-*       RESTORE XR2                 U3A00700
0032 C805                   71 |       LDD     SAVAQ     RESTORE ACC AND EXT         U3A00710
0033 4C00 0000              72 | EXIT  BSC  L  *-*       EXIT                        U3A00720
                            73 | *                                                   U3A00730
                            74 | *CONSTANTS AND BUFFER AREA                          U3A00740
                            75 | *                                                   U3A00750
0035 0509*7040              76 | CALL1 LIBF    EBPA      USED TO GET EBPA LD ADDR    U3A00760
0036 1766*3A00              77 | CALL2 LIBF    PRTY      USED TO GET PRTY ENTRY ADDR U3A00770
0038                        78 | SAVAQ BSS  E  2         SAVE ACC AND EXTENSION      U3A00780
003A 0000                   79 | CODE  DC      0         OUTPUT CODE INDR(0=1443)    U3A00790
003B 0000                   80 | COUNT DC      0         NO. OF CHARS TO CONVERT     U3A00800
003C 0001                   81 | D0001 DC      +1        ADDR MODIFICATION CONSTANT  U3A00810
003D FF00                   82 | HFF00 DC      /FF00     8-15 BIT MASK               U3A00820
003E 2001                   83 | H2001 DC      /2001     OVRFLO CON                  U3A00830
003F 0000                   84 | TEMP  DC      0         TEMPORARY STORAGE           U3A00840
                            85 | *                                                   U3A00850
                            86 | *CONVERT THE EBCDIC CHAR TO 1053 OR 1443 CODE       U3A00860
                            87 | *                                                   U3A00870
0040 0000                   88 | TLU   DC      0         RETURN ADDR                 U3A00880
0041 D0FD                   89 |       STO     TEMP      SAVE EBCDIC CHAR            U3A00890
0042 6A12                   90 |       STX   2 TLU26+1   SAVE XR2                    U3A00900
0043 624B                   91 |       LDX   2 +75       XR2= NO. OF CHARS IN TABLE  U3A00910
0044 F600 0000              92 | TLU14 EOR  L2 0         EBPA TABLE ENTRY            U3A00920
0046 1808                   93 |       SRA     8         RIGHT JUSTIFY RSLT TO TEST  U3A00930
0047 4C18 004ER             94 |       BSC  L  TLU18,+-  IS EBCDIC CHAR = TABLE CHAR U3A00940
0049 C0F5                   95 |       LD      TEMP      NO,RESTORE EBCDIC CHAR TO   U3A00950
004A 72FF                   96 |       MDX   2 -1        ACC AND TRY NEXT CHAR.      U3A00960
004B 70F8                   97 |       MDX     TLU14     GO TO COMPARE               U3A00970
004C C0F1                   98 |       LD      H2001     IF NO MORE IN TABLE,SET     U3A00980
004D D0DF                   99 |       STO     CHECK     OVERFLOW ON, CARRY OFF      U3A00990
004E C600 0000             100 | TLU18 LD   L2 0         PRTY TABLE ENTRY            U3A01000
0050 7400 003AR            101 |       MDX  L  CODE,0    IF 1443 CODE,GET LAST 8     U3A01010
0052 1008                  102 |       SLA     8         BITS OF TABLE ENTRY         U3A01020
0053 E0E9                  103 |       AND     HFF00     RET ONLY 8 BITS- ONE CHAR   U3A01030
0054 6600 0000             104 | TLU26 LDX  L2 *-*       RESTORE XR2                 U3A01040
0056 4C80 0040R            105 |       BSC  I  TLU       RETURN                      U3A01050
                           106 | *                                                   U3A01060
                           107 | *OBTAIN TABLE ADDRESS                               U3A01070
                           108 | *                                                   U3A01080
0058 0000                  109 | SBRTA DC      0         RET ADDR                    U3A01090
0059 1008                  110 |       SLA     8         OBTAIN DISPLACEMENT OF TV   U3A01100
005A 1888                  111 |       SRT     8                                     U3A01110
005B 6B04                  112 |       STX   3 SBA12+1   CONTENTS OF XR3             U3A01120
005C 8007                  113 |       A       D0002     PT TO THIRD WD OF TV        U3A01130
005D 8002                  114 |       A       SBA12+1   THEN GET LOC OF SUBRT ADDR  U3A01140
005E D001                  115 |       STO     SBA12+1                               U3A01150
005F C400 0000             116 | SBA12 LD   L  0         SUBROUTINE ADDR IN ACC      U3A01160
0061 8003                  117 |       A       D0003     AVOID STORED LINK WD        U3A01170
0062 4C80 0058R            118 |       BSC  I  SBRTA     RETURN W/ TBL ADDR IN ACC   U3A01180
0064 0002                  119 | D0002 DC      +2        DECIMAL 2                   U3A01190
0065 0003                  120 | D0003 DC      +3        DECIMAL 3                   U3A01200
0066                       121 |       END                                           U3A01210
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
CALL1 0035R   76   35
CALL2 0036R   77   38
CHECK 002DR   68   27   99
CODE  003AR   79   42  101
COUNT 003BR   80   34   54   66
D0001 003CR   81
D0002 0064R  119  113
D0003 0065R  120  117
EBPRT 0000R   24
EXIT  0033R   72   44
H2001 003ER   83   98
HFF00 003DR   82  103
INPUT 0016R   45   30
LEFT  001AR   51   67
LINK  0001R   25
OUTPT 0018R   46   32
RIGHT 0023R   59   55
SAV1  002ER   69   24
SAV2  0030R   70   26
SAVAQ 0038R   78   28   71
SBA12 005FR  116  112  114  115
SBRTA 0058R  109   36   39  118
STORE 0026R   62   58
TEMP  003FR   84   89   95
TLU   0040R   88   52   61  105
TLU14 0044R   92   37   97
TLU18 004ER  100   40   94
TLU26 0054R  104   90
ibm/ibm1130-lib/dmsr2v12/u3ebprt_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator