U3PAPPR

Table Of Contents
  • [00004] PTTC/8 TO CP, CP TO PTTC/8 CONVERSION
u3pappr.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:09 2020
 
Source File: \u3pappr.asm 
PTTC/8 TO CP, CP TO PTTC/8 CONVERSION
 
                             2 | **************************************************  U3G00020
                             3 | *                                                 * U3G00030
                             4 | *   SUBROUTINE NAME-                              * U3G00040
                             5 | *      FULL NAME- PTTC/8 SUBSET TO 1053 OR 1403   * U3G00050
                             6 | *         CONSOLE PRINTER CODE                    * U3G00060
                             7 | *      CODE NAME- PAPPR                           * U3G00070
                             8 | *   PURPOSE- THIS SUBROUTINE CONVERTS PTTC/8      * U3G00080
                             9 | *      SUBSET TO 1053 OR 1403 PRINTER CODE.       * U3G00090
                            10 | *   METHOD-                                       * U3G00100
                            11 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3G00110
                            12 | *   CAPABILITIES AND LIMITATIONS-                 * U3G00120
                            13 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3G00130
                            14 | *   SPECIAL FEATURES- N/A                         * U3G00140
                            15 | *   ADDITIONAL INFORMATION-                       * U3G00150
                            16 | *      ESTIMATED EXECUTION TIME-                  * U3G00160
                            17 | *         SEE IBM 1130 SUBROUTINE LIBRARY MANUAL  * U3G00170
                            18 | *                                                   U3G00180
                            19 | *************************************************** U3G00190
PTTC/8 TO CP, CP TO PTTC/8 CONVERSION
 
                            21 |       LIBR                                          U3G00210
                            22 |       ENT     PAPPR                                 U3G00220
0000 6940                   23 | PAPPR STX   1 SAV1+1    CALL ENTRY POINT            U3G00230
0001 6580 0000              24 | LINK  LDX  I1 0         LOADER STORED TV ADDR       U3G00240
0003 6A3F                   25 |       STX   2 SAV2+1    SAVE XR2                    U3G00250
0004 283F                   26 |       STS     SAVST     SAVE STATUS                 U3G00260
0005 D84E                   27 |       STD     SAVAQ     SAVE ACC AND EXT            U3G00270
0006 C101                   28 |       LD    1 1         XR1 = ADDR OF CALL+1        U3G00280
0007 D018                   29 |       STO     INPUT+1   = INPUT PARAMETER           U3G00290
0008 C102                   30 |       LD    1 2                                     U3G00300
0009 D018                   31 |       STO     OUTPT+1   = OUTPUTPARAMETER           U3G00310
000A C103                   32 |       LD    1 3                                     U3G00320
000B D04F                   33 |       STO     COUNT     = NO. OF CHARS TO CONVERT   U3G00330
000C C049                   34 |       LD      CALL1                                 U3G00340
000D 403A                   35 |       BSI     SBRTA                                 U3G00350
000E D05B                   36 |       STO     TLU12+1   OBTAIN EBPA ADDRESS         U3G00360
000F C047                   37 |       LD      CALL2                                 U3G00370
0010 4037                   38 |       BSI     SBRTA                                 U3G00380
0011 D062                   39 |       STO     TLU14+1   OBTAIN PRTY ADDRESS         U3G00390
0012 1810                   40 |       SRA     16        SET OUTPUT CONTROL FOR      U3G00400
0013 D045                   41 |       STO     CNTRL     LEFT CHARACTER              U3G00410
0014 C100                   42 |       LD    1 0         = CONTROL PARAMETER         U3G00420
0015 1884                   43 |       SRT     4                                     U3G00430
0016 4818                   44 |       BSC     +-        IS CASE MODE SET            U3G00440
0017 D040                   45 |       STO     CASE      YES, INITIALIZE CASE        U3G00450
0018 1810                   46 |       SRA     16                                    U3G00460
0019 1084                   47 |       SLT     4         OBTAIN CODE CONTROL         U3G00470
001A D03F                   48 |       STO     CODE                                  U3G00480
001B C042                   49 |       LD      HFFFF     INITLZ OUTPUT BUFFER        U3G00490
001C D047                   50 |       STO     TEMP                                  U3G00500
001D 7104                   51 |       MDX   1 +4                                    U3G00510
001E 6928                   52 |       STX   1 EXIT+1    SET EXIT TO CALL+5          U3G00520
001F 6500 0000              53 | INPUT LDX  L1 0         XR1=INPUT ADDRESS           U3G00530
0021 6600 0000              54 | OUTPT LDX  L2 0         XR2=OUTPUT ADDRESS          U3G00540
                            55 | *                                                   U3G00550
                            56 | *THIS SECTION SETS UP THE CONVERSION AND STORING    U3G00560
                            57 | *OF THE REQUIRED NUMBER OF CHARACTERS.              U3G00570
                            58 | *                                                   U3G00580
0023 C100                   59 | PAP22 LD    1 0                                     U3G00590
0024 1808                   60 |       SRA     8                                     U3G00600
0025 406E                   61 |       BSI     SHIFT     IS CHAR = CASE SHIFT        U3G00610
0026 7002                   62 |       MDX     PAP24     YES, CHK NEXT CHARACTER     U3G00620
0027 403D                   63 |       BSI     TLU       CONVERT LEFT PTTC/8 CHAR    U3G00630
0028 4059                   64 |       BSI     STORE     STORE CONVERTED CHAR        U3G00640
0029 74FF 005BR             65 | PAP24 MDX  L  COUNT,-1  ANY MORE PTTC/8 CHARS       U3G00650
002B 7001                   66 |       MDX     PAP26     YES                         U3G00660
002C 7009                   67 |       MDX     PAP30     NO                          U3G00670
002D C100                   68 | PAP26 LD    1 0                                     U3G00680
002E 4065                   69 |       BSI     SHIFT     IS CHAR = CASE SHIFT        U3G00690
002F 7002                   70 |       MDX     PAP28     YES, CHECK NEXT CHAR        U3G00700
0030 4034                   71 |       BSI     TLU       CONVERT RIGHT PTTC/8 CHAR   U3G00710
0031 4050                   72 |       BSI     STORE     STORE CONVERTED CHAR        U3G00720
0032 7101                   73 | PAP28 MDX   1 +1        SET FOR NEXT INPUT WORD     U3G00730
0033 74FF 005BR             74 |       MDX  L  COUNT,-1  ANY MORE PTTC/8 CHARS       U3G00740
0035 70ED                   75 |       MDX     PAP22     YES                         U3G00750
0036 C02D                   76 | PAP30 LD      TEMP      NO, ANY CHAR LEFT TO        U3G00760
0037 8049                   77 |       A       D0001     STORE                       U3G00770
0038 4C18 0040R             78 |       BSC  L  SAV1,+-                               U3G00780
003A 9046                   79 |       S       D0001                                 U3G00790
003B 7400 005AR             80 |       MDX  L  CODE,0    YES, WHAT OUTPUT CODE       U3G00800
003D 7001                   81 |       MDX     PAP32     1443 CODE                   U3G00810
003E 8022                   82 |       A       H0021     1053 CODE                   U3G00820
003F D200                   83 | PAP32 STO   2 0         STORE CHAR AND BLANK        U3G00830
0040 6500 0000              84 | SAV1  LDX  L1 *-*       RESTORE XR1                 U3G00840
0042 6600 0000              85 | SAV2  LDX  L2 *-*       RESTORE XR2                 U3G00850
0044 2000                   86 | SAVST LDS     *-*       RESTORE STATUS              U3G00860
0045 C80E                   87 |       LDD     SAVAQ     RESTORE ACC AND EXTENSION   U3G00870
0046 4C00 0000              88 | EXIT  BSC  L  0         EXIT                        U3G00880
                            89 | *                                                   U3G00890
                            90 | *THIS SECTION GETS THE LOAD ADDRESS OF EITHER EBPA  U3G00900
                            91 | *OR PRTY TABLE SUBROUTINES.                         U3G00910
                            92 | *                                                   U3G00920
0048 0000                   93 | SBRTA DC      0                                     U3G00930
0049 1008                   94 |       SLA     8         GET TV ENTRY DISPLACEMENT   U3G00940
004A 1888                   95 |       SRT     8                                     U3G00950
004B 6B04                   96 |       STX   3 SBA12+1                               U3G00960
004C 8003                   97 |       A       SBA12+1   ADD IN TV TABLE ADDR        U3G00970
004D 800E                   98 |       A       D0002     REF THIRD WD OF TV ENTRY    U3G00980
004E D001                   99 |       STO     SBA12+1   GET LOAD ADDRESS            U3G00990
004F C400 0000             100 | SBA12 LD   L  0                                     U3G01000
0051 800B                  101 |       A       D0003     AVOID STORED LINK WORD      U3G01010
0052 4C80 0048R            102 |       BSC  I  SBRTA     RETURN                      U3G01020
                           103 | *                                                   U3G01030
                           104 | *CONSTANTS AND BUFFER AREA                          U3G01040
                           105 | *                                                   U3G01050
                           106 | *                                                   U3G01060
0054                       107 | SAVAQ BSS  E  2         SAVE ACC AND EXTENSION      U3G01070
0056 0509*7040             108 | CALL1 LIBF    EBPA      USED TO GET EBPA ADDR       U3G01080
0057 1766*3A00             109 | CALL2 LIBF    PRTY      USED TO GET PRTY ADDR       U3G01090
0058 0000                  110 | CASE  DC      0         CASE INDR(0=LOWER,1=UPPER)  U3G01100
0059 0000                  111 | CNTRL DC      0         OUTPUT CONTROL (0= LEFT )   U3G01110
005A 0000                  112 | CODE  DC      0         OUTPUT CODE (0=1053,1=1403) U3G01120
005B 0000                  113 | COUNT DC      0         CHAR COUNT                  U3G01130
005C 0002                  114 | D0002 DC      +2        DECIMAL 2                   U3G01140
005D 0003                  115 | D0003 DC      +3        DECIMAL 3                   U3G01150
005E FFFF                  116 | HFFFF DC      /FFFF     INITLZ O/P BUFFER           U3G01160
005F FF00                  117 | HFF00 DC      /FF00     LOW BIT MASK                U3G01170
0060 00FF                  118 | H00FF DC      /00FF     HIGH BIT MASK               U3G01180
0061 0021                  119 | H0021 DC      /0021     1053 BLANK                  U3G01190
0062 6E00                  120 | LOWER DC      /6E00     PTTC/8 LOWER CASE INDR CHAR U3G01200
0063 0E00                  121 | UPPER DC      /0E00     PTTC/8 UPPER CASE INDR CHAR U3G01210
0064 FFFF                  122 | TEMP  DC      /FFFF     TEMPORARY STG BUFFER        U3G01220
                           123 | *                                                   U3G01230
                           124 | *THIS SECTION DOES A TABLE LOOKUP CONVERSION        U3G01240
                           125 | *                                                   U3G01250
0065 1000                  126 | TLU   NOP               SAVE RETURN ADDRESS         U3G01260
0066 D015                  127 |       STO     CHAR      SAVE INPUT CHAR             U3G01270
0067 6911                  128 |       STX   1 TLU16+1   SAVE XR1                    U3G01280
0068 614B                  129 |       LDX   1 +75       XR1= LENGTH OF EBPA TABLE   U3G01290
0069 F500 0000             130 | TLU12 EOR  L1 0                                     U3G01300
006B 1008                  131 |       SLA     8         LEFT JUSTIFY PTTC/8 CHAR    U3G01310
006C 4C18 0073R            132 |       BSC  L  TLU14,+-  HAS CHARACTER BEEN FOUND    U3G01320
006E C00D                  133 |       LD      CHAR                                  U3G01330
006F 71FF                  134 |       MDX   1 -1        NO, ANY MORE TO CHECK       U3G01340
0070 70F8                  135 |       MDX     TLU12     YES                         U3G01350
0071 C00E                  136 |       LD      H2001     NO, TURN ON OVFLO           U3G01360
0072 D0D1                  137 |       STO     SAVST                                 U3G01370
0073 C500 0000             138 | TLU14 LD   L1 0                                     U3G01380
0075 7400 005AR            139 |       MDX  L  CODE,0    IS OUTPUT FOR 1053          U3G01390
0077 1008                  140 |       SLA     8         NO, FOR 1403                U3G01400
0078 6500 0000             141 | TLU16 LDX  L1 *-*       RESTORE XR1                 U3G01410
007A 4C80 0065R            142 |       BSC  I  TLU       RETURN                      U3G01420
                           143 | *                                                   U3G01430
                           144 | *CONSTANTS AND BUFFER AREA                          U3G01440
                           145 | *                                                   U3G01450
007C 0000                  146 | CHAR  DC      0         CHAR TO BE CONVERTED        U3G01460
007D DD00                  147 | NEWLN DC      /DD00     PTTC/8 NEW LINE CHAR        U3G01470
007E 000C                  148 | H000C DC      /000C     CHK FOR CONTROL CHAR        U3G01480
007F 0010                  149 | H0010 DC      /0010     CHK FOR PTTC/8 BLANK        U3G01490
0080 2001                  150 | H2001 DC      /2001     SET OVERFLOW                U3G01500
0081 0001                  151 | D0001 DC      +1        DECIMAL ONE                 U3G01510
                           152 | *                                                   U3G01520
                           153 | *THIS SECTION STORES THE CONVERTED CHARS 2 PER WORD U3G01530
                           154 | *                                                   U3G01540
                           155 | *                                                   U3G01550
0082 1000                  156 | STORE NOP                                           U3G01560
0083 7400 0059R            157 |       MDX  L  CNTRL,0   IS O/P FOR LEFT HALF (=0)   U3G01570
0085 7006                  158 |       MDX     STR16                                 U3G01580
0086 E0D8                  159 |       AND     HFF00     YES, STORE IN TEMP          U3G01590
0087 D0DC                  160 |       STO     TEMP      SET CNTRL FOR RIGHT         U3G01600
0088 C0F8                  161 |       LD      D0001     HALF AND RETURN.            U3G01610
0089 D0CF                  162 | STR12 STO     CNTRL                                 U3G01620
008A 4C80 0082R            163 |       BSC  I  STORE                                 U3G01630
008C 1808                  164 | STR16 SRA     8         NO, ADD IN TEMP AND STORE   U3G01640
008D 80D6                  165 |       A       TEMP      CHARS IN OUTPUT AREA        U3G01650
008E D200                  166 |       STO   2 0                                     U3G01660
008F C0CE                  167 |       LD      HFFFF                                 U3G01670
0090 D0D3                  168 |       STO     TEMP      CLEAR CHAR STORAGE          U3G01680
0091 7201                  169 |       MDX   2 +1        SET FOR NEXT OUTPUT WORD    U3G01690
0092 1810                  170 |       SRA     16                                    U3G01700
0093 70F5                  171 |       MDX     STR12                                 U3G01710
                           172 | *                                                   U3G01720
                           173 | *THIS SECTION CHECKS THE PTTC/8 CHAR TO SEE IF IT   U3G01730
                           174 | *IS A CASE SHIFT, A NEW LINE, BLANK OR ILLEGAL CHAR U3G01740
                           175 | *                                                   U3G01750
0094 1000                  176 | SHIFT NOP               SAVE RETURN ADDRESS         U3G01760
0095 E0CA                  177 |       AND     H00FF                                 U3G01770
0096 D0E5                  178 |       STO     CHAR      SAVE CHARACTER              U3G01780
0097 E0E6                  179 |       AND     H000C                                 U3G01790
0098 F0E5                  180 |       EOR     H000C     IS CHAR = CONTROL           U3G01800
0099 4C20 00B0R            181 |       BSC  L  SFT20,Z   NO                          U3G01810
009B C0E0                  182 |       LD      CHAR                                  U3G01820
009C 1008                  183 |       SLA     8                                     U3G01830
009D F0C4                  184 |       EOR     LOWER     IS CHAR = LOWER CASE        U3G01840
009E 4C18 00AER            185 |       BSC  L  SFT18,+-  YES                         U3G01850
00A0 F0C1                  186 |       EOR     LOWER                                 U3G01860
00A1 F0C1                  187 |       EOR     UPPER     IS CHAR = UPPER CASE        U3G01870
00A2 4C18 00ADR            188 |       BSC  L  SFT16,+-  YES                         U3G01880
00A4 F0BE                  189 |       EOR     UPPER                                 U3G01890
00A5 F0D7                  190 |       EOR     NEWLN     IS CHAR = NEW LINE          U3G01900
00A6 4818                  191 |       BSC     +-                                    U3G01910
00A7 D0B3                  192 |       STO     COUNT     YES                         U3G01920
00A8 C0D3                  193 | SFT12 LD      CHAR                                  U3G01930
00A9 7401 0094R            194 | SFT13 MDX  L  SHIFT,+1  NO, SET TO SKIP ONE WORD    U3G01940
00AB 4C80 0094R            195 | SFT14 BSC  I  SHIFT                                 U3G01950
00AD C0D3                  196 | SFT16 LD      D0001                                 U3G01960
00AE D0A9                  197 | SFT18 STO     CASE      SET CASE ACCORDINGLY        U3G01970
00AF 70FB                  198 |       MDX     SFT14                                 U3G01980
00B0 C0CB                  199 | SFT20 LD      CHAR      IS CHAR = BLANK             U3G01990
00B1 90CD                  200 |       S       H0010                                 U3G02000
00B2 4C18 00A8R            201 |       BSC  L  SFT12,+-  YES, DON'T CHECK CASE       U3G02010
00B4 80CA                  202 |       A       H0010                                 U3G02020
00B5 1887                  203 |       SRT     7         IS CHAR ILLEGAL             U3G02030
00B6 4C04 00BBR            204 |       BSC  L  SFT22,E                               U3G02040
00B8 C09F                  205 |       LD      CASE      NO, ADD CASE INTO           U3G02050
00B9 1087                  206 |       SLT     7         CHAR VALUE.                 U3G02060
00BA 70EE                  207 |       MDX     SFT13                                 U3G02070
00BB C0C4                  208 | SFT22 LD      H2001     YES, SET OVERFLOW ON        U3G02080
00BC D087                  209 |       STO     SAVST     AND LOAD BLANK AS           U3G02090
00BD C0C1                  210 |       LD      H0010     CHARACTER                   U3G02100
00BE 70EA                  211 |       MDX     SFT13                                 U3G02110
00BF                       212 |       END                                           U3G02120
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
CALL1 0056R  108   34
CALL2 0057R  109   37
CASE  0058R  110   45  197  205
CHAR  007CR  146  127  133  178  182  193  199
CNTRL 0059R  111   41  157  162
CODE  005AR  112   48   80  139
COUNT 005BR  113   33   65   74  192
D0001 0081R  151   77   79  161  196
D0002 005CR  114   98
D0003 005DR  115  101
EXIT  0046R   88   52
H000C 007ER  148  179  180
H0010 007FR  149  200  202  210
H0021 0061R  119   82
H00FF 0060R  118  177
H2001 0080R  150  136  208
HFF00 005FR  117  159
HFFFF 005ER  116   49  167
INPUT 001FR   53   29
LINK  0001R   24
LOWER 0062R  120  184  186
NEWLN 007DR  147  190
OUTPT 0021R   54   31
PAP22 0023R   59   75
PAP24 0029R   65   62
PAP26 002DR   68   66
PAP28 0032R   73   70
PAP30 0036R   76   67
PAP32 003FR   83   81
PAPPR 0000R   23
SAV1  0040R   84   23   78
SAV2  0042R   85   25
SAVAQ 0054R  107   27   87
SAVST 0044R   86   26  137  209
SBA12 004FR  100   96   97   99
SBRTA 0048R   93   35   38  102
SFT12 00A8R  193  201
SFT13 00A9R  194  207  211
SFT14 00ABR  195  198
SFT16 00ADR  196  188
SFT18 00AER  197  185
SFT20 00B0R  199  181
SFT22 00BBR  208  204
SHIFT 0094R  176   61   69  194  195
STORE 0082R  156   64   72  163
STR12 0089R  162  171
STR16 008CR  164  158
TEMP  0064R  122   50   76  160  165  168
TLU   0065R  126   63   71  142
TLU12 0069R  130   36  135
TLU14 0073R  138   39  132
TLU16 0078R  141  128
UPPER 0063R  121  187  189