User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:u6ptutl_lst

U6PTUTL

Table Of Contents
  • [00004] 1130 PAPER TAPE UTILITY ROUTINE
u6ptutl.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:10 2020
 
Source File: \u6ptutl.asm 
1130 PAPER TAPE UTILITY ROUTINE
 
                             2 | *************************************************** U6J00020
                             3 | *STATUS - VERSION 2, MODIFICATION LEVEL 12        * U6J00030
                             4 | *FUNCTION/OPERATION-THIS IS A MAINLINE SUBROUTINE * U6J00040
                             5 | *STORED IN THE SUBROUTINE LIBRARY FOR THE         * U6J00050
                             6 | *CONVENIENCE OF THE PAPER-TAPE USER. THE PROGRAM  * U6J00060
                             7 | *ACCEPTS INPUT FROM THE KEYBOARD OR THE 1134 PAPER* U6J00070
                             8 | *TAPE READER AND PROVIDES OUTPUT ON THE CONSOLE   * U6J00080
                             9 | *PRINTER AND/OR THE 1055 PAPER-TAPE PUNCH. THIS   * U6J00090
                            10 | *SUBROUTINE ALLOWS CHANGES AND/OR ADDITIONS TO    * U6J00100
                            11 | *FORTRAN AND ASSEMBLER LANGUAGE SOURCE RECORDS AS * U6J00110
                            12 | *WELL AS MONITOR CONTROL RECORDS. THE CALLING     * U6J00120
                            13 | *SEQUENCE FOR PTUTL IS-                           * U6J00130
                            14 | *             // XEQ PTUTL                        * U6J00140
                            15 | *THE FUNCTIONS TO BE PERFORMED ARE COMMUNICATED TO* U6J00150
                            16 | *THE SUBROUTINE BY MEANS OF THE CONSOLE ENTRY     * U6J00160
                            17 | *SWITCHES AS INDICATED BELOW-                     * U6J00170
                            18 | *     BIT SWITCH ON    OPTION                     * U6J00180
                            19 | *           0          PRINT RECORD AFTER READING * U6J00190
                            20 | *           1          READ PAPERTAPE RECORDS-1134* U6J00200
                            21 | *           2          ACCEPT KEYBOARD INPUT      * U6J00210
                            22 | *           3          PUNCH PAPERTAPE RECORDS    * U6J00220
                            23 | *          14          WAIT AFTER PUNCHING        * U6J00230
                            24 | *          15          WAIT AFTER PRINTING        * U6J00240
                            25 | *                                                 * U6J00250
                            26 | *                                                 * U6J00260
                            27 | *ENTRY POINTS-                                    * U6J00270
                            28 | *     *START- THIS IS THE ONLY ENTRY TO THE       * U6J00280
                            29 | *     PROGRAM. UPON ENTRY, THE PROGRAM WAITS WITH * U6J00290
                            30 | *     /1111 IN THE ACCUM,WAITING FOR THE USER TO  * U6J00300
                            31 | *     SELECT HIS OPTIONS VIA THE CONSOLE ENTRY    * U6J00310
                            32 | *     SWITCHES.                                   * U6J00320
                            33 | *INPUT- INPUT IS PROVIDED TO THE PROGRAM VIA THE  * U6J00330
                            34 | *PAPER-TAPE READER AND/OR THE KEYBOARD.           * U6J00340
                            35 | *                                                 * U6J00350
                            36 | *OUTPUT- PUNCHED OUTPUT ON PAPERTAPE PUNCH AND/OR * U6J00360
                            37 | *1053 CONSOLE PRINTER.                            * U6J00370
                            38 | *                                                 * U6J00380
                            39 | *EXTERNAL REFERENCES- THE FOLLOWING SUBROUTINES   * U6J00390
                            40 | *FROM THE SUBROUTINE LIBRARY ARE CALLED-          * U6J00400
                            41 | *           PAPHL                                 * U6J00410
                            42 | *           PAPPR                                 * U6J00420
                            43 | *           PAPT1                                 * U6J00430
                            44 | *           TYPE0                                 * U6J00440
                            45 | *IN ADDITION, THE ABOVE SUBROUTINES CALL THE      * U6J00450
                            46 | *FOLLOWING SUBROUTINES                            * U6J00460
                            47 | *           EBPA                                  * U6J00470
                            48 | *           PRTY                                  * U6J00480
                            49 | *           HOLL                                  * U6J00490
                            50 | *           ILS04                                 * U6J00500
                            51 | *                                                 * U6J00510
                            52 | *EXITS-NORMAL  -OUT- IF ALL CONSOLE ENTRY SWITCHES* U6J00520
                            53 | *ARE OFF THE PROGRAM BRANCHES TO -OUT- WHICH      * U6J00530
                            54 | *PERFORMS A CALL EXIT BACK TO THE SUPERVISOR.     * U6J00540
                            55 | *EXITS-ERROR- NONE.                               * U6J00550
                            56 | *                                                 * U6J00560
                            57 | *TABLES,WORK AREAS- -PBUF- -PAPERTAPE I/O AREA    * U6J00570
                            58 | *                   -TYBUF- -TYPEWRITER I/O AREA  * U6J00580
                            59 | *ATTRIBUTES- REUSABLE                             * U6J00590
                            60 | *                                                 * U6J00600
                            61 | *NOTES- THE KEYBOARD INPUT OPTION USES TYPE0.     * U6J00610
                            62 | *THEREFORE ALL FEATURES OF THAT SUBROUTINE APPLY  * U6J00620
                            63 | *TO PTUTL                                         * U6J00630
                            64 | *     *MAXIMUM INPUT RECORD--80 CHARACTERS        * U6J00640
                            65 | *     *PRESSING BACKSPACE KEY CANCELS LAST        * U6J00650
                            66 | *      CHARACTER ENTERED.                         * U6J00660
                            67 | *     *PRESSING THE ERASE FIELD KEY CANCELS THE   * U6J00670
                            68 | *      ENTIRE RECORD AND ALLOWS USER RESTART.     * U6J00680
                            69 | *     *PRESSING THE EOF KEY INDICATES THE RECORD  * U6J00690
                            70 | *      IS COMPLETE. THE KEYBOARD IS RELEASED AND  * U6J00700
                            71 | *      THE PROGRAM CONTINUES.                     * U6J00710
                            72 | *                                                 * U6J00720
                            73 | *************************************************** U6J00730
                            74 |       ABS                                           U6J00740
0400                        75 |       ORG     /400                                  U6J00750
0400 0051                   76 | PTBUF DC      81         WORDCOUNT (MAXIMUM)    2-9 U6J00760
0401                        77 |       BSS     81         PAPER TAPE I/O AREA    2-9 U6J00770
0452 0050                   78 | TYBUF DC      80         WORD COUNT (MAXIMUM)       U6J00780
0453                        79 |       BSS     80         TYPEWRITER I/O AREA        U6J00790
04A3 4110                   80 |       DC      /4110     CONSTANT FOR NEW LINE   2-4 U6J00800
04A4                        81 |       BSS  E  0                                 2-4 U6J00810
04A4 04AA                   82 | BITSW DC      BITS       IOCC TO READ SWITCHES      U6J00820
04A5 3A00                   83 |       DC      /3A00                                 U6J00830
04A6 1111                   84 | H1111 DC      /1111  DISPLAY CODE FOR INITIAL WAIT  U6J00840
04A7 2222                   85 | H2222 DC      /2222  DISPLAY CODE,WAIT-AFTER-PUNCH  U6J00850
04A8 3333                   86 | H3333 DC      /3333  DISPLAY CODE,WAIT-AFTER-PRINT  U6J00860
04A9 3000                   87 | H3000 DC      /3000  NOT READY ERROR CODE           U6J00870
                            88 | *                                                   U6J00880
04AA 0000                   89 | BITS  DC      0          BIT SWITCH BUFFER          U6J00890
04AB 0000                   90 | ERROR DC      0          I/O ERROR ENTRY            U6J00900
04AC E8FC                   91 |       OR      H3000                                 U6J00910
04AD D003                   92 |       STO     NORDY      STORE ERROR FLAG           U6J00920
04AE 1010                   93 |       SLA     16         CLEAR ACCUMULATOR          U6J00930
04AF 4C80 04AB              94 |       BSC  I  ERROR      RETURN TO PAPT1            U6J00940
04B1 0000                   95 | NORDY DC      0          NOT READY INDICATOR        U6J00950
04B2 0001                   96 | CARET DC      1                                 2-9 U6J00960
04B3 2181                   97 | H2181 DC      /2181      SPACE AND CARRIER RETURN   U6J00970
04B4 0081                   98 | NL    DC      /0081      NEW LINE CHARACTER         U6J00980
04B5 00C4                   99 | $I400 DC      /C4       ILS04 ADDR IN RES MON   212 U6J00983
000C                       100 | $LEV4 EQU     /C        LEVEL 4 BRANCH WORD     212 U6J00986
                           101 | *                                                   U6J00990
                           102 | *     STOP AFTER PRINT OUT                          U6J01000
                           103 | *                                                   U6J01010
04B6 C0F0                  104 | WAP   LD      H2222      DISPLAY CODE               U6J01020
04B7 3000                  105 |       WAIT               STOP AFTER PRINTING        U6J01030
04B8 703F                  106 |       MDX     SW2        GO ACCEPT CONSOLE INPUT    U6J01040
                           107 | *                                                   U6J01050
04B9 C0EC                  108 | START LD      H1111                                 U6J01060
04BA 3000                  109 |       WAIT               PAPER TAPE NOT READY       U6J01070
04BB 1010                  110 |       SLA     16         CLEAR ACCUMULATOR          U6J01080
04BC D0F4                  111 |       STO     NORDY      CLEAR ERROR FLAG           U6J01090
04BD C0F7                  112 |       LD      $I400     SET INTRPT LEVEL 4 BR   212 U6J01093
04BE D400 000C             113 |       STO  L  $LEV4     *ADDR = SYSTEM ILS04    212 U6J01096
                           114 | *                                                   U6J01100
                           115 | *     TEST FOR EXIT                                 U6J01110
                           116 | *                                                   U6J01120
04C0 08E3                  117 | SW1   XIO     BITSW      READ SWITCHES              U6J01130
04C1 C0E8                  118 |       LD      BITS       GET SWITCH READING         U6J01140
04C2 4C18 0525             119 |       BSC  L  OUT,+-     BRANCH IF ALL SWITCHES OFF U6J01150
04C4 1001                  120 |       SLA     1                                     U6J01160
04C5 4C10 04F8             121 |       BSC  L  SW2,-      NO BRANCH IF SW. 1 ON      U6J01170
                           122 | *                                                   U6J01180
                           123 | *     READ PAPER TAPE                               U6J01190
                           124 | *                                                   U6J01200
04C7 1705*78F1             125 |       LIBF    PAPT1      READ PAPER TAPE RECORD     U6J01210
04C8 1000                  126 |       DC      /1000                                 U6J01220
04C9 0400                  127 |       DC      PTBUF                                 U6J01230
04CA 04AB                  128 |       DC      ERROR                                 U6J01240
04CB 1705*78F1             129 |       LIBF    PAPT1      TEST FOR OP COMPLETE       U6J01250
04CC 0000                  130 |       DC      0                                     U6J01260
04CD 70FD                  131 |       MDX     *-3                                   U6J01270
04CE C0E2                  132 |       LD      NORDY      GET NOT RDY. INDICATOR     U6J01280
04CF 4C20 04B9             133 |       BSC  L  START,Z    BRANCH ON PT NOT RDY.      U6J01290
                           134 | *                                                   U6J01300
                           135 | *     CONVERT FOR PRINT OUT                         U6J01310
                           136 | *                                                   U6J01320
04D1 08D2                  137 | SW0   XIO     BITSW      READ SWITCHES              U6J01330
04D2 C0D7                  138 |       LD      BITS       GET SWITCH READING         U6J01340
04D3 4C10 050E             139 |       BSC  L  SW3,-      NO BRANCH IF SW. 0 ON      U6J01350
04D5 1705*75D9             140 |       LIBF    PAPPR      CONVERT PTTC/8 TO TYPWR.   U6J01360
04D6 0000                  141 |       DC      /0000                                 U6J01370
04D7 0401                  142 |       DC      PTBUF+1                               U6J01380
04D8 0453                  143 |       DC      TYBUF+1                               U6J01390
04D9 00A1                  144 |       DC      161                               2-9 U6J01400
                           145 | *                                                   U6J01410
                           146 | *     COUNT CHARACTERS TO PRINT OUT                 U6J01420
                           147 | *                                                   U6J01430
04DA 6101                  148 |       LDX   1 1          INITIALIZE COUNTER         U6J01440
04DB 10A0                  149 |       SLT     32         CLEAR A AND Q              U6J01450
04DC C500 0452             150 | LOOP  LD   L1 TYBUF      GET BUFFER WORD            U6J01460
04DE 18C8                  151 |       RTE     8                                     U6J01470
04DF F0D4                  152 |       EOR     NL         CHECK FOR NL               U6J01480
04E0 4C18 04E9             153 |       BSC  L  INVRT,+-   BRANCH IF NL               U6J01490
04E2 1090                  154 |       SLT     16                                    U6J01500
04E3 1808                  155 |       SRA     8                                     U6J01510
04E4 F0CF                  156 |       EOR     NL         CHECK FOR NL               U6J01520
04E5 4C18 04EC             157 |       BSC  L  PT2PR,+-   BRANCH IF NL               U6J01530
04E7 7101                  158 |       MDX   1 1          ADD 1 TO COUNTER           U6J01540
04E8 70F3                  159 |       MDX     LOOP                                  U6J01550
04E9 C0C9                  160 | INVRT LD      H2181                                 U6J01560
04EA D500 0452             161 |       STO  L1 TYBUF                                 U6J01570
04EC 6D00 0452             162 | PT2PR STX  L1 TYBUF      STORE WORD COUNT           U6J01580
                           163 | *                                                   U6J01590
                           164 | *     PRINT ON TYPEWRITER                           U6J01600
                           165 | *                                                   U6J01610
04EE 23A1*7170             166 |       LIBF    TYPE0      PRINT RECORD               U6J01620
04EF 2000                  167 |       DC      /2000                                 U6J01630
04F0 0452                  168 |       DC      TYBUF                                 U6J01640
04F1 23A1*7170             169 |       LIBF    TYPE0      TEST FOR OP COMPLETE       U6J01650
04F2 0000                  170 |       DC      0                                     U6J01660
04F3 70FD                  171 |       MDX     *-3                                   U6J01670
                           172 | *                                                   U6J01680
                           173 | *     STOP AFTER PRINT OUT                          U6J01690
                           174 | *                                                   U6J01700
04F4 08AF                  175 | SW15  XIO     BITSW      READ SWITCHES              U6J01710
04F5 C0B4                  176 |       LD      BITS       GET SWITCH READING         U6J01720
04F6 4C04 04B6             177 |       BSC  L  WAP,E      CHK SW 15 FOR WAIT-AFTER   U6J01730
                           178 | *                                                   U6J01740
                           179 | *     ACCEPT CONSOLE INPUT                          U6J01750
                           180 | *                                                   U6J01760
04F8 08AB                  181 | SW2   XIO     BITSW      READ SWITCHES              U6J01770
04F9 C0B0                  182 |       LD      BITS       GET SWITCH READING         U6J01780
04FA 1002                  183 |       SLA     2                                     U6J01790
04FB 4C10 050E             184 |       BSC  L  SW3,-      NO BRANCH IF SW. 2 ON      U6J01800
04FD 6150                  185 |       LDX   1 80                                    U6J01810
04FE 6D00 0452             186 |       STX  L1 TYBUF      SET KEYBOARD WORD COUNT    U6J01820
0500 23A1*7170             187 |       LIBF    TYPE0      ACCEPT TYPWR. INPUT        U6J01830
0501 1000                  188 |       DC      /1000                                 U6J01840
0502 0452                  189 |       DC      TYBUF                                 U6J01850
0503 23A1*7170             190 |       LIBF    TYPE0                             2-9 U6J01860
0504 2000                  191 |       DC      /2000                             2-9 U6J01870
0505 04B2                  192 |       DC      CARET      CARRIAGE RETURN        2-9 U6J01880
0506 23A1*7170             193 |       LIBF    TYPE0      TEST FOR OP COMPLETE       U6J01890
0507 0000                  194 |       DC      0                                     U6J01900
0508 70FD                  195 |       MDX     *-3                                   U6J01910
                           196 | *                                                   U6J01920
                           197 | *     CONVERT FOR PUNCH OUT                         U6J01930
                           198 | *                                                   U6J01940
0509 1705*7213             199 |       LIBF    PAPHL      CONVERT TYPWR. TO PTTC/8   U6J01950
050A 0001                  200 |       DC      /0001                                 U6J01960
050B 0453                  201 |       DC      TYBUF+1                               U6J01970
050C 0401                  202 |       DC      PTBUF+1                               U6J01980
050D 0051                  203 |       DC      81                                2-4 U6J01990
                           204 | *                                                   U6J02000
                           205 | *     PUNCH PAPER TAPE                              U6J02010
                           206 | *                                                   U6J02020
050E 0895                  207 | SW3   XIO     BITSW      READ SWITCHES              U6J02030
050F C09A                  208 |       LD      BITS       GET SWITCH READING         U6J02040
0510 1003                  209 |       SLA     3                                     U6J02050
0511 4C10 051E             210 |       BSC  L  SW14,-     NO BRANCH IF SW. 3 ON      U6J02060
0513 1705*78F1             211 |       LIBF    PAPT1      PUNCH PAPER TAPE RECORD    U6J02070
0514 2000                  212 |       DC      /2000                                 U6J02080
0515 0400                  213 |       DC      PTBUF                                 U6J02090
0516 04AB                  214 |       DC      ERROR                                 U6J02100
0517 1705*78F1             215 |       LIBF    PAPT1      TEST FOR OP COMPLETE       U6J02110
0518 0000                  216 |       DC      0                                     U6J02120
0519 70FD                  217 |       MDX     *-3                                   U6J02130
051A C400 04B1             218 |       LD   L  NORDY      GET NOT RDY. INDICATOR     U6J02140
051C 4C20 04B9             219 |       BSC  L  START,Z    BRANCH ON PT NOT RDY.      U6J02150
                           220 | *                                                   U6J02160
                           221 | *     STOP AFTER PUNCH OUT                          U6J02170
                           222 | *                                                   U6J02180
051E 0885                  223 | SW14  XIO     BITSW      READ SWITCHES              U6J02190
051F C08A                  224 |       LD      BITS       GET SWITCH READING         U6J02200
0520 100E                  225 |       SLA     14                                    U6J02210
0521 4C10 04C0             226 |       BSC  L  SW1,-      NO BRANCH IF SW. 14 ON     U6J02220
0523 C084                  227 |       LD      H3333      CODE FOR WAIT-AFTER-PUNCH  U6J02230
0524 7095                  228 |       MDX     START+1                               U6J02240
                           229 | *                                                   U6J02250
0525 6038                  230 | OUT   LDX   0 /38        EXIT TO SUP                U6J02260
0526                       231 |       END     START                                 U6J02270
 
There were no errors in this assembly
 
Program transfer address = 04B9
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
$I400 04B5    99  112
$LEV4 000C   100  113
BITS  04AA    89   82  118  138  176  182  208  224
BITSW 04A4    82  117  137  175  181  207  223
CARET 04B2    96  192
ERROR 04AB    90   94  128  214
H1111 04A6    84  108
H2181 04B3    97  160
H2222 04A7    85  104
H3000 04A9    87   91
H3333 04A8    86  227
INVRT 04E9   160  153
LOOP  04DC   150  159
NL    04B4    98  152  156
NORDY 04B1    95   92  111  132  218
OUT   0525   230  119
PT2PR 04EC   162  157
PTBUF 0400    76  127  142  202  213
START 04B9   108  133  219  228  231
SW0   04D1   137
SW1   04C0   117  226
SW14  051E   223  210
SW15  04F4   175
SW2   04F8   181  106  121
SW3   050E   207  139  184
TYBUF 0452    78  143  150  161  162  168  186  189  201
WAP   04B6   104  177
ibm/ibm1130-lib/dmsr2v12/u6ptutl_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator