User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:t5prntz_lst

T5PRNTZ

Table Of Contents
  • [00004] PRNTZ - FORTRAN 1132 PRINTER I/O SUBR
t5prntz.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:08 2020
 
Source File: \t5prntz.asm 
PRNTZ - FORTRAN 1132 PRINTER I/O SUBR
 
                             2 | *************************************************** T5H00010
                             3 | *STATUS - VERSION 2, MODIFICATION 11              * T5H00020
                             4 | *                                                 * T5H00030
                             5 | *PROGRAM NAME -                                   * T5H00040
                             6 | *   FULL NAME - FORTRAN 1132 PRINTER I/O SUBR     * T5H00050
                             7 | *   CODE NAME - PRNTZ                             * T5H00060
                             8 | *                                                 * T5H00070
                             9 | *FUNCTION/OPERATION-                              * T5H00080
                            10 | *   THIS SUBROUTINE PRINTS UNPACKED EBCDIC DATA ON* T5H00090
                            11 | *   THE 1132 PRINTER. SPACING IS DONE ON THE BASIS* T5H00100
                            12 | *   OF USING THE FIRST CHARACTER OF THE BUFFER.   * T5H00110
                            13 | *                                                 * T5H00120
                            14 | *ENTRY POINTS-                                    * T5H00130
                            15 | *   * PRNTZ-CALL PORTION FROM FORTRAN SIFO PROGRAM* T5H00140
                            16 | *   * AZ100-INTERRUPT ENTRY FROM ILS01            * T5H00150
                            17 | *   THE SUBROUTINE IS ENTERED BY A LIBF    PRNTZ  * T5H00160
                            18 | *                                                 * T5H00170
                            19 | *INPUT-                                           * T5H00180
                            20 | *   * XR1 CONTAINS THE OUTPUT BUFFER ADDRESS      * T5H00190
                            21 | *   * XR2 CONTAINS THE WORD COUNT                 * T5H00200
                            22 | *                                                 * T5H00210
                            23 | *OUTPUT-                                          * T5H00220
                            24 | *   * PRINTER SPACING AND A LINE OF PRINT.        * T5H00230
                            25 | *                                                 * T5H00240
                            26 | *EXTERNAL REFERENCES                              * T5H00250
                            27 | *   * $SCAN                                       * T5H00260
                            28 | *   * $PRET                                       * T5H00270
                            29 | *   * $IOCT                                       * T5H00280
                            30 | *   * $1132                                       * T5H00290
                            31 | *                                                 * T5H00300
                            32 | *EXITS-                                           * T5H00310
                            33 | *   NORMAL-                                       * T5H00320
                            34 | *      * CALL PORTION-PRNTZ+1, BACK TO SFIO       * T5H00330
                            35 | *      * INTERRUPT PORTION-AZ100, BACK TO ILS01   * T5H00340
                            36 | *   ERROR-                                        * T5H00350
                            37 | *      * $PRET-MOINTOR PRE-OPERATIVE ERROR TRAP   * T5H00360
                            38 | *        WHEN NOT IN READY STATUS.                * T5H00370
                            39 | *                                                 * T5H00380
                            40 | *TABLE/WORK AREAS-N/A                             * T5H00390
                            41 | *                                                 * T5H00400
                            42 | *ATTRIBUTES-RELOCATABLE                           * T5H00410
                            43 | *                                                 * T5H00420
                            44 | *SPEED -                                          * T5H00430
                            45 | *  *THE SLOWEST THAT THIS SUBROUTINE PRINTS IS 80 * T5H00440
                            46 | *   LINES PER MINUTE.                             * T5H00450
                            47 | *  *NUMERICAL PRINTING IS AT 110 LINES PER MINUTE.* T5H00460
                            48 | *  *THE NUMBER OF PRINT SCAN CYCLES NEED TO PRINT * T5H00470
                            49 | *   A LINE IS THE NUMBER OF CHARACTERS FROM THE   * T5H00480
                            50 | *   PRESENT POSITON OF THE PRINT WHEELS TO THE    * T5H00490
                            51 | *   POSITON OF THE LAST ENCOUNTERED CHARACTER TO  * T5H00500
                            52 | *   BE PRINTED, PLUS 17 IDLE CYCLES.              * T5H00510
                            53 | *  *THE PRINT SPEED IN LPM = 110*(48/SCAN CYCLES) * T5H00520
                            54 | *  *IF THE INPUT BUFFER CONTAINS A CHARACTER NOT  * T5H00530
                            55 | *   IN THE 1132 PRINTER CHARACTER SET, THE LINE   * T5H00540
                            56 | *   PRINTS AT THE SLOWEST SPEED AND THE CHARACTER * T5H00550
                            57 | *   PRINTS AS A BLANK.                            * T5H00560
                            58 | *  *SINGLE AND DOUBLE SPACING IS OVERLAPED WITH   * T5H00570
                            59 | *   PRINTING TIME.                                * T5H00580
                            60 | *  *PRINT LINES CONTAINING ONLY 1 CHARACTER, OR   * T5H00590
                            61 | *   ONLY BLANKS AFTER THE FIRST CHARACTER, DO NOT * T5H00600
                            62 | *   TAKE ANY PRINT SCAN CYCLES.  THEREFORE CONTROL* T5H00610
                            63 | *   RETURNS TO THE MAINLINE IMMEDIATELY.          * T5H00620
                            64 | *   THE PRINTER IS BUSY FOR THE TIME THE CARRIAGE * T5H00630
                            65 | *   CONTROL TAKES.  A SINGLE SPACE TAKES ABOUT 3-4* T5H00640
                            66 | *   SCAN CYCLES OF TIME.                          * T5H00650
                            67 | *   A DOUBLE SPACE TAKES ABOUT 7 SCAN CYCLES OF   * T5H00660
                            68 | *   TIME.                                         * T5H00670
                            69 | *                                                 * T5H00680
                            70 | *NOTES -                                          * T5H00690
                            71 | *  *REGISTERS NOT SAVED.                          * T5H00700
                            72 | *  *NO PROVISION MADE FOR SCAN CHECK DETECTION OR * T5H00710
                            73 | *   RECOVERY.                                     * T5H00720
                            74 | *  *SPACING IS DONE PRIOR TO PRINTING.            * T5H00730
                            75 | *  *UNRECOGNIZABLE CARRIAGE CONTROL CHARACTERS    * T5H00740
                            76 | *   CAUSE SINGLE SPACING.                         * T5H00750
                            77 | *  *CONTROL IS RETURNED AS SOON AS THE EBCDIC DATA* T5H00760
                            78 | *   BUFFER IS NO LONGER NEEDED.  THUS, ABOUT      * T5H00770
                            79 | *   193 MILLISECONDS IS AVAILABLE FOR COMPUTATION * T5H00780
                            80 | *   BETWEEN PRINT LINES DURING THE 17 IDLE CYCLES.* T5H00790
                            81 | *  *INTERRUPTS CONTINUE UNTIL ALL PRINTING FOR A  * T5H00800
                            82 | *   CALL IS DONE.                                 * T5H00810
                            83 | *  *USE OF $IOCT PREVENTS OVERLAY BEFORE I/O IS   * T5H00820
                            84 | *   COMPLETED.                                    * T5H00830
                            85 | *  *IF CALLED AGAIN BEFORE I/O IS COMPLETED,      * T5H00840
                            86 | *   CONTROL LOOPS AT THE BEGINNING OF SUBROUTINE  * T5H00850
                            87 | *   UNTIL I/O IS COMPLETE.                        * T5H00860
                            88 | *                                                 * T5H00870
                            89 | *  *THE ORDER OF THE CHARACTERS ON THE 1132       * T5H00880
                            90 | *   PRINT WHEELS IS AS FOLLOWS BY COLUMN --       * T5H00890
                            91 | *                                                 * T5H00900
                            92 | *         A         2         '         M         * T5H00910
                            93 | *         B         3         ,         N         * T5H00920
                            94 | *         C         4         )         O         * T5H00930
                            95 | *         D         5         -         P         * T5H00940
                            96 | *         F         6         (         Q         * T5H00950
                            97 | *         H         7         +         R         * T5H00960
                            98 | *         I         8         /         E         * T5H00970
                            99 | *         S         9         *         G         * T5H00980
                           100 | *         T         0         &         W         * T5H00990
                           101 | *         U         =         J         X         * T5H01000
                           102 | *         V         $         K         Y         * T5H01010
                           103 | *         1         .         L         Z         * T5H01020
                           104 | *                                                 * T5H01030
                           105 | *                                                 * T5H01040
                           106 | *************************************************** T5H01050
                           107 | *     EJCT        BLK REMOVED                       T5H01060
                           108 |       LIBR                                          T5H01070
                           109 |       ISS  06 PRNTZ     1                           T5H01080
                           110 | *                                                   T5H01090
                           111 | *  SYSTEM COMMUNICATION WORDS                       T5H01100
                           112 | *                                                   T5H01110
0020                       113 | $SCAN EQU     /20       1132 PRINT SCAN FIELD       T5H01120
0028                       114 | $PRET EQU     /28       PRE-OPERATIVE ERROR TRAP    T5H01130
0032                       115 | $IOCT EQU     /32       ZERO IF NO I/O IN PROGRESS  T5H01140
007F                       116 | $1132 EQU     /7F       1132 PRINTER CHANNEL12 INDR T5H01150
                           117 | *                                                   T5H01160
                           118 | *  SUBROUTINE ENTRY POINTS                          T5H01170
                           119 | *                                                   T5H01180
0000 7072                  120 | PRNTZ MDX     AZ205     MAINLINE ENTRY          2-7 T5H01190
0001 4C80 0000             121 |       BSC  I  *-*       RETURN                      T5H01200
0003 0000                  122 | AZ010 DC      *-*       TEMPORARY STORAGE COUNT WD  T5H01210
                           123 | *                                                   T5H01220
                           124 | *************************************************** T5H01230
                           125 | *  INTERRUPT PROCESSING PART OF SUBROUTINE        * T5H01240
                           126 | *************************************************** T5H01250
                           127 | *                                                   T5H01260
0004 0000                  128 | AZ100 DC      *-*       INTERRUPT ENTRY AND RETURN  T5H01270
0005 6220                  129 |       LDX   2 $SCAN     LOAD XR2 WITH BASE ADDR TO  T5H01280
                           130 | *                       *1132 PRINTER SCAN FIELD    T5H01290
                           131 | *                                                   T5H01300
0006 086F                  132 |       XIO     AZ900     SENSE WITH RESET            T5H01310
0007 D070                  133 |       STO     AZ914     SAVE SENSE DSW WORD         T5H01320
                           134 | *                                                   T5H01330
                           135 | *  TEST IF SPACING COMPLETED                        T5H01340
                           136 | *                                                   T5H01350
0008 1001                  137 |       SLA     1         SHIFT SKIP INDICATOR        T5H01360
0009 4C28 0026R            138 |       BSC  L  AZ140,+Z  BR IF SKIP INTERRUPT        T5H01370
000B 1001                  139 |       SLA     1         SHIFT SPACE INDICATOR       T5H01380
000C 4C28 0031R            140 |       BSC  L  AZ145,+Z  BR IF SPACE INTERRUPT       T5H01390
                           141 | *                                                   T5H01400
000E C06F                  142 |       LD      AZ906     IS CARRIAGE SKIP GOING ON   T5H01410
000F 4C28 0071R            143 |       BSC  L  AZ195,Z+  BR TO RETURN IF YES         T5H01420
                           144 | *                                                   T5H01430
0011 C066                  145 | AZ110 LD      AZ914     IS THIS EMITTER INTERRUPT   T5H01440
0012 4C10 0071R            146 |       BSC  L  AZ195,-   BR TO RETURN IF NOT         T5H01450
                           147 | *                                                   T5H01460
0014 407C                  148 |       BSI     AZ260     CLEAR 32-39 TO ZEROES       T5H01470
                           149 | *                                                   T5H01480
                           150 | *  STOP SCANNING IF ALL PRINT POSITIONS ARE         T5H01490
                           151 | *  EITHER BLANK OR ALREADY PRINTED,                 T5H01500
                           152 | *  OR 48 PRINT SCAN CYCLES HAVE BEEN TAKEN.         T5H01510
                           153 | *                                                   T5H01520
0015 C05E                  154 |       LD      AZ922     GET CHARS LEFT TO PRINT CNT T5H01530
0016 9072                  155 |       S       AZ920+1   SUB 2 BASE VALUE        2-7 T5H01535
0017 4C08 001CR            156 |       BSC  L  AZ130,+   BR IF ALL PRINTED           T5H01540
                           157 | *                                                   T5H01550
0019 74FF 008CR            158 |       MDX  L  AZ924,-1  DECR SCAN COUNTER           T5H01560
001B 701F                  159 |       MDX     AZ148     GO SCAN FOR NEXT CHAR       T5H01570
                           160 | *                                                   T5H01580
                           161 | *  LAST CHARACTER TO BE PRINTED HAS ALREADY BEEN    T5H01590
                           162 | *  SCANED, INPUT DATA BUFFER IS NOT NEEDED ANY      T5H01600
                           163 | *  MORE.  ALLOW RETURN TO CALLER FROM PRNTZ WHILE   T5H01610
                           164 | *  17 IDLE SCANS ARE TAKEN.                         T5H01620
                           165 | *                                                   T5H01630
001C 1810                  166 | AZ130 SRA     16        ZERO ACC                    T5H01640
001D D06E                  167 |       STO     AZ924     SET SCAN COUNTER = 0        T5H01650
001E 74FF 008DR            168 |       MDX  L  AZ925,-1  DECR IDLE COUNTER           T5H01660
0020 7050                  169 |       MDX     AZ195     RETURN, MORE IDLES NEEDED   T5H01670
0021 0858                  170 |       XIO     AZ902     STOP PRINTER                T5H01680
0022 74FF 0032             171 |       MDX  L0 $IOCT,-1  INDICATE 1132 I/O DONE      T5H01690
0024 704C                  172 |       MDX     AZ195     TWICE BECAUSE MAY SKIP      T5H01700
0025 704B                  173 |       MDX     AZ195     BR OUT OF INTERRUPT         T5H01710
                           174 | *                                                   T5H01720
                           175 | *  CARRIAGE SKIP COMPLETE TEST                      T5H01730
                           176 | *                                                   T5H01740
0026 1007                  177 | AZ140 SLA     7         TEST FOR CHANNEL 1          T5H01750
0027 4C10 0071R            178 |       BSC  L  AZ195,-   BR OUT OF INTERRUPT IF NOT  T5H01760
0029 0852                  179 |       XIO     AZ904     STOP CARRIAGE               T5H01770
002A 1810                  180 |       SRA     16        ZERO ACC                    T5H01780
002B D052                  181 |       STO     AZ906     ZERO SPACE COUNTER          T5H01790
002C D25F                  182 |       STO   2 $1132-$SCAN  CLEAR CHANNEL 12 SWITCH  T5H01800
                           183 | *                                                   T5H01810
                           184 | *  ALL CARRIAGE CONTROL COMPLETED                   T5H01820
                           185 | *                                                   T5H01830
002D 74FF 0032             186 | AZ142 MDX  L0 $IOCT,-1  INDICATE CARIAGE OP COMPLT  T5H01840
002F 1000                  187 |       NOP               MAY SKIP                    T5H01850
0030 70E0                  188 |       MDX     AZ110     BR TO SEE IF EMITTER INTRPT T5H01860
                           189 | *                                                   T5H01870
                           190 | *  SPACE COUNTER TEST (NOTE, ONLY SINGLE AND        T5H01880
                           191 | *  DOUBLE SPACE ALLOWED BECAUSE OF OVERLAP WITH     T5H01890
                           192 | *  PRINTING)                                        T5H01900
                           193 | *                                                   T5H01910
0031 C046                  194 | AZ145 LD      AZ914     LOAD DSW FROM SENSE         T5H01920
0032 E054                  195 |       AND     AZ916+1   MASK OUT ALL BUT BIT 15     T5H01930
0033 EA5F                  196 |       OR    2 $1132-$SCAN  OR WITH PREV CHANNEL 12  T5H01940
0034 D25F                  197 |       STO   2 $1132-$SCAN  SAVE CHANNEL 12 SWITCH   T5H01950
0035 74FF 007ER            198 |       MDX  L0 AZ906,-1  DECREMENT SPACE COUNTER     T5H01960
0037 7001                  199 |       MDX     AZ146     BR IF COUNTER NOT 0         T5H01970
0038 70F4                  200 |       MDX     AZ142     BR LAST REQUIRED SPACE DONE T5H01980
0039 0844                  201 | AZ146 XIO     AZ906     DO ANOTHER CARRIAGE SPACE   T5H01990
003A 70D6                  202 |       MDX     AZ110     BR TO SEE IF EMITTER INTRPT T5H02000
                           203 | *                                                   T5H02010
                           204 | *  READ 1132 PRINTER EMITTER AND SCAN BUFFER        T5H02020
                           205 | *  FOR MATCHING CHARACTERS.  SET BITS IN            T5H02030
                           206 | *  CORRESPONDING POSITIONS IN WORDS 32-39 OF CORE.  T5H02040
                           207 | *                                                   T5H02050
003B 6A25                  208 | AZ148 STX   2 AZ180+1   RESET STORE ADDR TO START   T5H02060
                           209 | *                       *1132 PRINTER SCAN FIELD    T5H02070
003C 0847                  210 |       XIO     AZ912     READ EMITTER                T5H02080
003D C042                  211 |       LD      AZ908     LOAD EMITTED CHARACTER  2-7 T5H02082
003E 1808                  212 |       SRA     8         PUT IN RIGHT HALF ACC   2-7 T5H02084
003F E840                  213 |       OR      AZ908     ADD CHAR TO LEFT HALF   2-7 T5H02086
0040 D03F                  214 |       STO     AZ908     STORE IN COMPARE WORD   2-7 T5H02088
                           215 | *                                                   T5H02090
0041 6500 0000             216 | AZ150 LDX  L1 *-*       PUT START OF BUFR IN XR1    T5H02100
0043 C03E                  217 |       LD      AZ910     LOAD CHARACTER COUNT        T5H02110
0044 D0BE                  218 |       STO     AZ010     SAVE IN TEMPORARY STORAGE   T5H02120
0045 6210                  219 |       LDX   2 16        SET BITS/WORD COUNTER TO 16 T5H02130
0046 1082                  220 | AZ160 SLT     2         SHIFT BITS LEFT IN EXT  2-7 T5H02140
0047 C101                  221 |       LD    1 1         LOAD NEXT CHAR IN ACC   2-7 T5H02150
0048 1008                  222 |       SLA     8         SHIFT CHAR TO LEFT ACC  2-7 T5H02160
0049 E902                  223 |       OR    1 2         OR 2ND CHAR IN RIGHT ACC2-7 T5H02165
004A F035                  224 |       EOR     AZ908     COMPARE WITH EMITTED CHAR   T5H02170
004B 4C20 0051R            225 |       BSC  L  AZ163,Z   NO BR IF BOTH MATCH     2-7 T5H02173
004D 8840                  226 |       AD      AZ926     SET ON LAST 2 BITS EXT  2-7 T5H02176
004E 74FE 0074R            227 |       MDX  L0 AZ922,-2  DECR CHAR TO PRINT BY 2 2-7 T5H02180
0050 700B                  228 |       MDX     AZ170                             2-7 T5H02183
0051 803C                  229 | AZ163 A       AZ926     ADD /FF00 TO FORCE CARRY2-7 T5H02186
                           230 | *                       *IF ANY BITS DIFFERENT  2-7 T5H02190
0052 4C02 0056R            231 |       BSC  L  AZ165,C   BR IF FIRST CHAR NOT    2-7 T5H02193
                           232 | *                       *EMITTED CHAR           2-7 T5H02196
0054 8833                  233 |       AD      AZ920     SET ON LAST-1 BIT IN EXT2-7 T5H02200
0055 7004                  234 |       MDX     AZ166                             2-7 T5H02202
0056 1008                  235 | AZ165 SLA     8         REMOVE 1ST CHAR FROM ACC2-7 T5H02204
0057 4C20 005CR            236 |       BSC  L  AZ170,Z   BR IF 2ND CHAR NOT      2-7 T5H02206
                           237 | *                       *EMITTED CHAR           2-7 T5H02208
0059 882C                  238 |       AD      AZ916     SET LAST BIT IN EXT ON      T5H02210
005A 74FF 0074R            239 | AZ166 MDX  L0 AZ922,-1  DECR CHARS TO PRINT CNT 2-7 T5H02215
005C 72FE                  240 | AZ170 MDX   2 -2        DECR BIT/WD COUNT BY 2  2-7 T5H02220
005D 7006                  241 |       MDX     AZ190     BR IF SCAN WORD NOT FULL    T5H02230
005E 6210                  242 |       LDX   2 16        SET BITS/WORD COUNTER TO 16 T5H02240
005F 18D0                  243 |       RTE     16        MOVE SCAN BIT WORD TO ACC   T5H02250
0060 D400 0020             244 | AZ180 STO  L  $SCAN     STORE IN 1132 SCAN FIELD    T5H02260
0062 7401 0061R            245 |       MDX  L0 AZ180+1,1 INCR SCAN FIELD STORE ADDR  T5H02270
0064 7102                  246 | AZ190 MDX   1 2         INCR INPUT BUFFER ADDR  2-7 T5H02280
0065 74FE 0003R            247 |       MDX  L0 AZ010,-2  DECR BUFFER CHAR COUNTER2-7 T5H02290
0067 70DE                  248 |       MDX     AZ160     BR IF MORE CHARS IN BUFFER  T5H02300
0068 1090                  249 |       SLT     16        MOVE ANY SCAN BITS TO ACC   T5H02310
0069 1280                  250 |       SLT   2 0         SHIFT BITS LEFT BY REMAINDR T5H02320
006A D480 0061R            251 |       STO  I  AZ180+1   STORE IN NEXT WD SCAN FIELD T5H02330
006C C400 0027             252 |       LD   L  $SCAN+7   LOAD SCAN WORD 8,      2-11 T5H02332
006E E821                  253 |       OR      SCAN1     *TURN ON BIT 16, AND   2-11 T5H02335
006F D400 0027             254 |       STO  L  $SCAN+7   *RESTORE IN SCAN FIELD 2-11 T5H02338
                           255 | *                                                   T5H02340
0071 4C80 0004R            256 | AZ195 BSC  I  AZ100     RETURN FROM INTERRUPT       T5H02350
                           257 | *                                               2-7 T5H02354
0073 7028                  258 | AZ205 MDX     AZ210     BOOST ON TO MAINLINE    2-7 T5H02356
                           259 | *                                                   T5H02360
                           260 | *             CONSTANTS AND WORK AREAS              T5H02370
                           261 | *                                                   T5H02380
0074 0000                  262 | AZ922 DC      *-*       CHARS LEFT TO PRINT COUNTER T5H02390
0076                       263 |       BSS  E  0                                     T5H02400
0076 6000                  264 | AZ900 DC      /6000     ERROR DISPLAY CONSTANT      T5H02410
0077 3701                  265 |       DC      /3701     *AND SENSE W/ RESET IOCC    T5H02420
0078 0000                  266 | AZ914 DC      *-*       DSW AND SENSE WITH NO       T5H02430
0079 3700                  267 |       DC      /3700     *RESET IOCC                 T5H02440
007A 00A3                  268 | AZ902 DC      .1-.+     CHAN1 CON AND PRINTER STOP  T5H02450
007B 3440                  269 |       DC      /3440     *IOCC                       T5H02460
007C 004E                  270 | AZ904 DC      .+        SPACE SUPPRESS CON AND      T5H02470
007D 3402                  271 |       DC      /3402     *STOP CARRIAGE IOCC         T5H02480
007E 0000                  272 | AZ906 DC      *-*       SPACE COUNTER               T5H02490
007F 3401                  273 |       DC      /3401     *AND SPACE IOCC             T5H02500
0080 0000                  274 | AZ908 DC      *-*       EMITTER STORAGE AND         T5H02510
0081 3404                  275 |       DC      /3404     *START CARRIAGE IOCC        T5H02520
0082 0000                  276 | AZ910 DC      *-*       CHARACTER COUNT STORAGE AND T5H02530
0083 3480                  277 |       DC      /3480     *PRINTER IOCC               T5H02540
0084 0080R                 278 | AZ912 DC      AZ908     READ EMITTER INTO CORE      T5H02550
0085 3200                  279 |       DC      /3200     *IOCC                       T5H02560
0086 0000 0001             280 | AZ916 DEC     1         CONSTANT 1                  T5H02570
0087R                      281 | AZ917 EQU     *-1       SPACE CONSTANT -(.0-.1) =   T5H02580
                           282 | *                       * -(-1) = 1                 T5H02590
0088 0040                  283 | AZ920 DC      .         EBCDIC BLANK FOR SCAN   2-7 T5H02594
0089 0002                  284 |       DC      2         *AND DOUBLE WD CONST 2  2-7 T5H02596
008A 0031                  285 | AZ918 DC      49        PRINT SCAN CONSTANT AND     T5H02600
008B 0011                  286 |       DC      17        *IDLE SCAN CONSTANT         T5H02610
008C 0000                  287 | AZ924 DC      *-*       PRINT SCAN COUNTER          T5H02620
                           288 | *                       *+ TEMP BLANK SCAN COUNTER  T5H02630
008D 0000                  289 | AZ925 DC      *-*       IDLE COUNTER                T5H02640
008E FF00                  290 | AZ926 DC      /FF00     FIRST CHAR MASK AND     2-7 T5H02644
008F 0003                  291 |       DC      3         *DOUBLE WD CONSTANT 3   2-7 T5H02650
0090 0001                  292 | SCAN1 DC      1         CONSTANT TO SET SCAN   2-11 T5H02655
                           293 | *                       *FIELD BIT ON          2-11 T5H02657
                           294 | *                                                   T5H02660
                           295 | *  SUBROUTINE TO CLEAR WORDS 32-39 TO ZEROES        T5H02670
                           296 | *                                                   T5H02680
0091 0000                  297 | AZ260 DC      *-*       BSI ENTRY POINT             T5H02690
0092 10A0                  298 |       SLT     32        CLEAR ACC AND EXTENSION     T5H02700
0093 6100                  299 |       LDX   1 0         SET XR1 = 0                 T5H02710
0094 D920                  300 |       STD   1 $SCAN     ZERO                        T5H02720
0095 D922                  301 |       STD   1 $SCAN+2   *1132                       T5H02730
0096 D924                  302 |       STD   1 $SCAN+4   *PRINT SCAN                 T5H02740
0097 D926                  303 |       STD   1 $SCAN+6   *FIELD                      T5H02750
0098 7401 0027             304 |       MDX  L  $SCAN+7,1 SET ON BIT 16          2-11 T5H02755
009A 4C80 0091R            305 |       BSC  I  AZ260     RETURN                      T5H02760
                           306 | *                                                   T5H02770
                           307 | *************************************************** T5H02780
                           308 | *  MAINLINE PORTION OF SUBROUTINE                 * T5H02790
                           309 | *************************************************** T5H02800
                           310 | *                                                   T5H02810
                           311 | *  TEST FOR NOT READY AND CARRIAGE OR PRINTER BUSY  T5H02820
                           312 | *                                                   T5H02830
009C 08DB                  313 | AZ210 XIO     AZ914     SENSE DSW WITHOUT RESET     T5H02840
009D 1003                  314 |       SLA     3         SHIFT TO SIGN               T5H02850
009E 4810                  315 |       BSC     -         BR IF CARRIAGE BUSY         T5H02860
009F 18DD                  316 |       RTE     29        SHIFT TO SIGN               T5H02870
00A0 4C28 009CR            317 |       BSC  L  AZ210,+Z  BR IF PRINTER BUSY          T5H02880
00A2 18C1                  318 |       RTE     1         SHIFT TO SIGN               T5H02890
00A3 4C10 00A9R            319 |       BSC  L  AZ215,-   BR IF PRINTER READY         T5H02900
                           320 | *                                                   T5H02910
                           321 | *  NOT READY OR FORMS CHECK.                        T5H02920
                           322 | *  BR TO PRE-OPERATIVE ERROR TRAP.                  T5H02930
                           323 | *                                                   T5H02940
00A5 C0D0                  324 |       LD      AZ900     LOAD ERROR INDICATOR        T5H02950
00A6 4400 0028             325 |       BSI  L  $PRET     BR TO PRE-OP ERROR          T5H02960
00A8 70F3                  326 |       MDX     AZ210     TRY FORMS TEST AGAIN        T5H02970
                           327 | *                                                   T5H02980
                           328 | *  DOUBLE CHECK CARRIAGE BUSY.  SOMEHOW THE DSW BIT T5H02990
                           329 | *  TEST IS NOT RELIABLE.  HOWEVER, IT IS STILL      T5H03000
                           330 | *  NEEDED TO DETECT MANUALLY INITIATED SPACING.     T5H03010
                           331 | *  THIS SECOND TEST METHOD IS EXPLICIT FOR SPACES   T5H03020
                           332 | *  INITIATED BY THIS SUBROUTINE.                    T5H03030
                           333 | *                                                   T5H03040
00A9 7400 007ER            334 | AZ215 MDX  L0 AZ906,0   IS SPACING COMPLETED        T5H03050
00AB 70F0                  335 |       MDX     AZ210     NO, BR TO LOOP UNTIL DONE   T5H03060
                           336 | *                                                   T5H03070
00AC 6AD5                  337 |       STX   2 AZ910     SAVE COUNT OF CHARACTERS    T5H03080
00AD 6994                  338 |       STX   1 AZ150+1   SAVE BUFFER ADDR            T5H03090
00AE C100                  339 |       LD    1 0         LOAD CONTROL CHARACTER      T5H03100
00AF 90CC                  340 |       S       AZ904     TEST IF SUPPRESS SPACE '+'  T5H03110
00B0 4C18 00C9R            341 |       BSC  L  AZ220,+-  BR TO PRINT IF SUPPRESS     T5H03120
00B2 7401 0032             342 |       MDX  L0 $IOCT,1   IND CARRIAGE I/O IN PROGRES T5H03130
00B4 90C5                  343 |       S       AZ902     TEST IF SKIP CHANNEL 1 '1'  T5H03140
00B5 4C18 00C1R            344 |       BSC  L  AZ218,+-  BRANCH IF SKIP              T5H03150
00B7 7400 007F             345 |       MDX  L0 $1132,0   TEST IF CH 12 SWITCH IS ON  T5H03160
00B9 7007                  346 |       MDX     AZ218     BR TO SKIP IF ON            T5H03170
00BA 6201                  347 |       LDX   2 1         ASSUME SINGLE SPACE         T5H03180
00BB 80CB                  348 |       A       AZ917     TEST IF DOUBLE SPACE '0'    T5H03190
00BC 4818                  349 |       BSC     +-        SKIP IF NOT DOUBLE SPACE    T5H03200
00BD 6202                  350 |       LDX   2 2         SET FOR DOUBLE SPACE        T5H03210
00BE 6ABF                  351 |       STX   2 AZ906     SAVE SPACE COUNTER          T5H03220
00BF 08BE                  352 |       XIO     AZ906     START CARRIAGE SPACE        T5H03230
00C0 7008                  353 |       MDX     AZ220     BR TO PRINT LINE            T5H03240
                           354 | *                                                   T5H03250
                           355 | *  SKIP TO CHANNEL 1                                T5H03260
                           356 | *                                                   T5H03270
00C1 62FF                  357 | AZ218 LDX   2 -1        SET SPACE COUNT NEG (TO     T5H03280
00C2 6ABB                  358 |       STX   2 AZ906     *INHIBIT CHAR SCANS)        T5H03290
00C3 C400 0027             359 |       LD   L  $SCAN+7   LOAD SCAN WORD 8,      2-11 T5H03293
00C5 E8CA                  360 |       OR      SCAN1     *TURN ON BIT 16, AND   2-11 T5H03295
00C6 D400 0027             361 |       STO  L  $SCAN+7   *RESTORE IN SCAN FIELD 2-11 T5H03297
00C8 08B7                  362 |       XIO     AZ908     START CARRIAGE SKIP         T5H03300
                           363 | *  TEST IF MORE THAN JUST CARRIAGE CONTROL          T5H03310
                           364 | *  CHARACTER IN INPUT BUFFER                        T5H03320
                           365 | *                                                   T5H03330
00C9 C0B8                  366 | AZ220 LD      AZ910     DECR COUNT OF CHARS IN      T5H03340
00CA 90BC                  367 |       S       AZ916+1   *IN BUFFER BY 1             T5H03350
00CB 4C08 0001R            368 |       BSC  L  PRNTZ+1,+ BR TO RETURN IF ONLY        T5H03360
                           369 | *                       *CARRIAGE CONTROL CHARACTER T5H03370
                           370 | *                                                   T5H03380
                           371 | *  CHECK IF REST OF LINE IS ALL BLANKS              T5H03390
                           372 | *                                                   T5H03400
00CD D0B4                  373 |       STO     AZ910     SAVE DECR CHAR COUNT        T5H03410
00CE D0BD                  374 |       STO     AZ924     SAVE FOR COUNT BLANK SCAN   T5H03420
00CF 18D0                  375 |       RTE     16        SET IN EXT AS CHARS LEFT    T5H03430
                           376 | *                       *TO PRINT COUNTER           T5H03440
                           377 | *                                                   T5H03450
00D0 C101                  378 | AZ245 LD    1 1         GET NEXT CHAR IN BUFFER     T5H03460
00D1 F0B6                  379 |       EOR     AZ920     IS IT A BLANK           2-7 T5H03470
00D2 4818                  380 |       BSC     +-        SKIP IF NOT A BLANK         T5H03480
00D3 98B2                  381 |       SD      AZ916     DECR CHARS LEFT TO PRINT    T5H03490
                           382 | *                       *COUNTER IN EXT BY 1        T5H03500
00D4 7101                  383 |       MDX   1 1         ADVANCE BUFFER PINTER       T5H03510
00D5 74FF 008CR            384 |       MDX  L0 AZ924,-1  DECR CHAR COUNTER BY 1      T5H03520
00D7 70F8                  385 |       MDX     AZ245     BR IF MORE CHARS IN BUFFER  T5H03530
                           386 | *                                                   T5H03540
00D8 18D0                  387 |       RTE     16        GET  CHARS LEFT TO      2-7 T5H03550
                           388 | *                       *PRINT COUNTER FROM EXT 2-7 T5H03560
00D9 4C08 0001R            389 |       BSC  L  PRNTZ+1,+ BR RETURN IF ALL BLANKS     T5H03570
                           390 | *                                                   T5H03580
                           391 | *  PRINTING REQUIRED.                               T5H03590
                           392 | *  SET INDICATORS AND START PRINTER.                T5H03600
                           393 | *                                                   T5H03610
00DB 80AD                  394 |       A       AZ920+1   ADD 2 TO CHARS LEFT SO  2-7 T5H03614
00DC D097                  395 |       STO     AZ922     *SCAN MDX CAN NOT SKIP  2-7 T5H03616
00DD 40B3                  396 |       BSI     AZ260     CLEAR 32-39 TO ZEROES       T5H03620
00DE C8AB                  397 |       LDD     AZ918     SET PRINT SCAN COUNTER=49   T5H03630
00DF D8AC                  398 |       STD     AZ924     *SET IDLE COUNTER = 17      T5H03640
00E0 7401 0032             399 |       MDX  L0 $IOCT,1   IND CHAR I/O IN PROGRESS    T5H03650
00E2 089F                  400 |       XIO     AZ910     START PRINTER               T5H03660
                           401 | *                                                   T5H03670
                           402 | * LOOP UNTIL PRINT BUFFER NO LONGER NEEDED          T5H03680
                           403 | *                                                   T5H03690
00E3 7400 008DR            404 | AZ250 MDX  L0 AZ925,0   NEED MORE IDLE CYCLES? 2-11 T5H03708
00E5 70FD                  405 |       MDX     AZ250     YES, BR UNTIL NOT NEEDED    T5H03710
00E6 4C00 0001R            406 |       BSC  L  PRNTZ+1   BR TO RETURN TO CALLER      T5H03720
00E8                       407 |       END                                           T5H03730
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
$1132 007F   116  182  196  197  345
$IOCT 0032   115  171  186  342  399
$PRET 0028   114  325
$SCAN 0020   113  129  182  196  197  244  252  254  300  301  302  303  304
                  359  361
AZ010 0003R  122  218  247
AZ100 0004R  128  256
AZ110 0011R  145  188  202
AZ130 001CR  166  156
AZ140 0026R  177  138
AZ142 002DR  186  200
AZ145 0031R  194  140
AZ146 0039R  201  199
AZ148 003BR  208  159
AZ150 0041R  216  338
AZ160 0046R  220  248
AZ163 0051R  229  225
AZ165 0056R  235  231
AZ166 005AR  239  234
AZ170 005CR  240  228  236
AZ180 0060R  244  208  245  251
AZ190 0064R  246  241
AZ195 0071R  256  143  146  169  172  173  178
AZ205 0073R  258  120
AZ210 009CR  313  258  317  326  335
AZ215 00A9R  334  319
AZ218 00C1R  357  344  346
AZ220 00C9R  366  341  353
AZ245 00D0R  378  385
AZ250 00E3R  404  405
AZ260 0091R  297  148  305  396
AZ900 0076R  264  132  324
AZ902 007AR  268  170  343
AZ904 007CR  270  179  340
AZ906 007ER  272  142  181  198  201  334  351  352  358
AZ908 0080R  274  211  213  214  224  278  362
AZ910 0082R  276  217  337  366  373  400
AZ912 0084R  278  210
AZ914 0078R  266  133  145  194  313
AZ916 0086R  280  195  238  367  381
AZ917 0087R  281  348
AZ918 008AR  285  397
AZ920 0088R  283  155  233  379  394
AZ922 0074R  262  154  227  239  395
AZ924 008CR  287  158  167  374  384  398
AZ925 008DR  289  168  404
AZ926 008ER  290  226  229
PRNTZ 0000R  120  368  389  406
SCAN1 0090R  292  253  360
ibm/ibm1130-lib/dmsr2v12/t5prntz_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator