User Tools

Site Tools


ibm:ibm1130-lib:dmsr2v12:u2read0_lst

U2READ0

Table Of Contents
u2read0.lst
ASM1130 CROSS ASSEMBLER V1.22 -- V2M12 -- Sun Nov  1 19:25:09 2020
 
Source File: \u2read0.asm 
                             1 | *     HDNG    READ0,2501 CARD READ ROUTINE        * U2L00010
                             2 | *************************************************** U2L00020
                             3 | *TITLE- READ0                                     * U2L00030
                             4 | *STATUS- CHANGE LEVEL 000                         * U2L00040
                             5 | *FUNCTION/OPERATION-                              * U2L00050
                             6 | *     THIS 1130 SUBROUTINE OPERATES THE PRIMARY   * U2L00060
                             7 | *     2501 CARD READER.       IT INITIATES REQSTD * U2L00070
                             8 | *     OPERATIONS, PROCESSES OPERATION COMPLETE    * U2L00080
                             9 | *     INTERRUPTS, AND AUTOMATICALLY INITIATES     * U2L00090
                            10 | *     ERROR RECOVERY PROCEDURES.                  * U2L00100
                            11 | *                                                 * U2L00110
                            12 | *     IDENTIFYING FEATURES                        * U2L00120
                            13 | *       1) NO ERROR PARAMETER                     * U2L00130
                            14 | *       2) PRIMARY 2501 ONLY                      * U2L00140
                            15 | *ENTRY POINTS-                                    * U2L00150
                            16 | *     1. READ0  CALL ENTRANCE FOR TEST OR READ    * U2L00160
                            17 | *               OPERATIONS.  E.G.  LIBF    READ0  * U2L00170
                            18 | *                                  DC      /1000  * U2L00180
                            19 | *                                  DC      IOBUF  * U2L00190
                            20 | *     2. RE048  OPERATION COMPLETE INTERRUPT ENTRY* U2L00200
                            21 | *               POINT.                            * U2L00210
                            22 | *INPUT- NONE OTHER THAN FROM THE PARAMETERS IN    * U2L00220
                            23 | *     LIBF CALLING SEQUENCE.                      * U2L00230
                            24 | *OUTPUT- ROUTINE WILL TRANSFER 0 TO 80 COLS FROM  * U2L00240
                            25 | *     CARD TO I/O BUFFER AS SPECIFIED BY CALLING  * U2L00250
                            26 | *     SEQUENCE.  FORMAT IS 12 BITS PER BUFFER WORD* U2L00260
                            27 | *     LEFT JUSTIFIED.                             * U2L00270
                            28 | *EXTERNAL SUBROUTINES- NONE.                      * U2L00280
                            29 | *EXITS-                                           * U2L00290
                            30 | *  NORMAL-                                        * U2L00300
                            31 | *     1. RE180  IF NO PRE-OP ERROR HAS BEEN DE-   * U2L00310
                            32 | *               TECTED, THE EXIT FROM RE180 IS    * U2L00320
                            33 | *               TO THE CALLER AFTER THE REQUESTED * U2L00330
                            34 | *               2501 OPERATION HAS BEEN INITIATED * U2L00340
                            35 | *     2. RE348  THE EXIT FROM RE348 IS BACK TO THE* U2L00350
                            36 | *               CALLER VIA ILS04 AFTER OP COMPLETE* U2L00360
                            37 | *               PROCESSING HAS BEEN FINISHED.     * U2L00370
                            38 | *  ERROR-                                         * U2L00380
                            39 | *     1. RE180  IF A PRE-OP ERROR OR NOT READY    * U2L00390
                            40 | *               CONDITION IS DETECTED, SUBROUTINE * U2L00400
                            41 | *               WILL BRANCH TO HEX 0029 VIA RE180 * U2L00410
                            42 | *               AND DISPLAY ONE OF TWO CODES IN   * U2L00420
                            43 | *               ACCUMULATOR.                      * U2L00430
                            44 | *               4000 IS DISPLAYED IF 2501 IS NOT  * U2L00440
                            45 | *               READY.  4001 IS DISPLAYED IF AN   * U2L00450
                            46 | *               ERROR IS DISCOVERED IN CALLING    * U2L00460
                            47 | *               PARAMETERS OR AREAS REFERENCED BY * U2L00470
                            48 | *               THEM.                             * U2L00480
                            49 | *TABLES/WORK AREAS- NONE.                         * U2L00490
                            50 | *ATTRIBUTES- REUSABLE, CAN READ UP TO 80 COLUMNS  * U2L00500
                            51 | *               OF BINARY DATA.  IF A WORD COUNT  * U2L00510
                            52 | *               OF ZERO IS SPECIFIED, THE READ    * U2L00520
                            53 | *               OPERATION ACTS AS A FEED.         * U2L00530
                            54 | *NOTES- THIS SUBR CONTAINS NO WAIT INSTRUCTIONS.  * U2L00540
                            55 | *       THE 'SPEED' SUBR SHOULD NOT BE USED WITH  * U2L00550
                            56 | *       READ0, AS I/O BUFFER IS NOT FILLED WITH   * U2L00560
                            57 | *       INDICATOR BITS AS READING BEGINS.         * U2L00570
                            58 | *************************************************** U2L00580
                            59 |       LIBR                                          U2L00590
0000                        60 | 1130  ISS  04 READ0     4                           U2L00600
                            61 | *************************************************** U2L00610
                            62 | *             LOADER DEFINED LOCATIONS            * U2L00620
                            63 | *************************************************** U2L00630
0000 692F                   64 | READ0 STX   1 RE144+1    LIBF ENTRANCE              U2L00640
0001 6580 0000              65 | RE036 LDX  I1 0          LOADER STORES TV ADDR (+2) U2L00650
0003 7003                   66 |       MDX     RE060      BR TO PROCESS CALL         U2L00660
0004 0000                   67 | RE048 DC      0          OP CMPLTE INTERRUPT   (+4) U2L00670
0005 4C00 004BR             68 |       BSC  L  RE336      BR TO PROCESS INT          U2L00680
                            69 | *************************************************** U2L00690
                            70 | *             LIBF PROCESSING                     * U2L00700
                            71 | *************************************************** U2L00710
                            72 | *     THIS PORTION STORES CALLING SEQUENCE INFO   * U2L00720
                            73 | *     AND CHECKS THE DEVICE STATUS BEFORE ANY I/O * U2L00730
                            74 | *     OPERATION IS INITIATED. A CALLING ERROR OR  * U2L00740
                            75 | *     NOT READY 2501 CAUSES AN ERROR EXIT TO      * U2L00750
                            76 | *     LOCATION 41. IF THE OPERATION WILL CAUSE    * U2L00760
                            77 | *     INTERRUPT , THE ROUTINE IS SET BUSY AND THE * U2L00770
                            78 | *     IOCS COUNTER IS INCREMENTED TO INDICATE     * U2L00780
                            79 | *     INTERRUPT    PENDING.                       * U2L00790
                            80 | *************************************************** U2L00800
0007 D042                   81 | RE060 STO     RE324      SAVE ACC                   U2L00810
0008 282A                   82 |       STS     RE168      SAVE STATUS                U2L00820
0009 6A28                   83 |       STX   2 RE156+1    SAVE XR2                   U2L00830
000A C100                   84 |       LD    1 0          X1= ADDR OF CALL+1         U2L00840
000B 180C                   85 |       SRA     12         IS FUNCTION TEST           U2L00850
000C 4C20 0012R             86 |       BSC  L  RE072,Z    BR IF NOT                  U2L00860
000E C032                   87 |       LD      RE228      IS SUBR BUSY               U2L00870
000F 4818                   88 |       BSC     +-         SKIP IF YES                U2L00880
0010 7101                   89 |       MDX   1 +1         NO, EXIT TO CALL+3         U2L00890
0011 701A                   90 |       MDX     RE120      EXIT TO CALL +2            U2L00900
0012 902F                   91 | RE072 S       RE240      IS FUNCTION LEGAL          U2L00910
0013 4C20 0036R             92 |       BSC  L  RE192,Z    BR IF NOT                  U2L00920
0015 C02B                   93 | RE084 LD      RE228      IS SUBR BUSY               U2L00930
0016 4C20 0015R             94 |       BSC  L  RE084,Z    YES, LOOP                  U2L00940
0018 082D                   95 | RE096 XIO     RE288-1    IS DEVICE READY            U2L00950
0019 4C04 0038R             96 |       BSC  L  RE204,E    BR IF NOT                  U2L00960
001B C580 0001              97 |       LD   I1 1          OBTAIN WORD COUNT          U2L00970
001D 4818                   98 |       BSC     +-                                    U2L00980
001E 7005                   99 |       MDX     RE108      BR ON Z WD CNT             U2L00990
001F 4C28 0036R            100 |       BSC  L  RE192,Z+   BR IF WD CNT NEG           U2L01000
0021 9024                  101 |       S       RE276      0 THRU 80 IS LEGAL         U2L01010
0022 4C30 0036R            102 |       BSC  L  RE192,Z-   BR IF OVER 80              U2L01020
0024 7101                  103 | RE108 MDX   1 +1         SET XR1 TO SKIP 2ND PARAM  U2L01030
0025 C100                  104 |       LD    1 0          SAVE DATA ADDR             U2L01040
0026 D01D                  105 |       STO     RE264                                 U2L01050
0027 7401 0032             106 |       MDX  L  50,+1      INCREMENT IOCS COUNTER     U2L01060
0029 1000                  107 |       NOP                                           U2L01070
002A 6816                  108 |       STX   0 RE228      SET SUBR BUSY INDR         U2L01080
002B 0818                  109 |       XIO     RE264      READ                       U2L01090
002C 7101                  110 | RE120 MDX   1 +1                                    U2L01100
002D C01C                  111 |       LD      RE324      RESTORE ACC                U2L01110
002E 6906                  112 | RE132 STX   1 RE180+1    SET EXIT TO SKIP 1ST PARAM U2L01120
002F 6500 0000             113 | RE144 LDX  L1 *-*        RESTORE STATUS             U2L01130
0031 6600 0000             114 | RE156 LDX  L2 *-*        AND INDEX REGISTERS        U2L01140
0033 2000                  115 | RE168 LDS     *-*                                   U2L01150
0034 4C00 0000             116 | RE180 BSC  L  *-*        EXIT                       U2L01160
0036 C012                  117 | RE192 LD      RE312      ERROR CODE - ILLEGAL CALL  U2L01170
0037 7004                  118 |       MDX     RE216      BR TO SET RETURN ADRS      U2L01180
0038 1801                  119 | RE204 SRA     1          IS DEVICE BUSY             U2L01190
0039 4C04 0018R            120 |       BSC  L  RE096,E    BR IF YES                  U2L01200
003B C00C                  121 |       LD      RE300      ERROR CODE - DVCE NOT RDY  U2L01210
003C 71FF                  122 | RE216 MDX   1 -1                                    U2L01220
003D 6D00 0028             123 |       STX  L1 40         STORE CALL ADDR IN 40      U2L01230
003F 6129                  124 |       LDX   1 41         SET EXIT                   U2L01240
0040 70ED                  125 |       MDX     RE132      BR TO EXIT                 U2L01250
                           126 | *************************************************** U2L01260
                           127 | *             CONSTANTS                             U2L01270
                           128 | *************************************************** U2L01280
0041 0000                  129 | RE228 DC      0          SUBR BUSY INDR             U2L01290
0042                       130 |       BSS  E  0                                     U2L01300
0042 0001                  131 | RE240 DC      +1         CONSTANT                   U2L01310
0043 4F01                  132 | RE252 DC      /4F01      SENSE  WITH RESET          U2L01320
0044 0000                  133 | RE264 DC      *-*        I/O BUFFER ADDRESS       E U2L01330
0045 4E00                  134 |       DC      /4E00      IOCC TO INITIATE READ    O U2L01340
0046 0050                  135 | RE276 DC      +80        CONSTANT                   U2L01350
0047 4F00                  136 | RE288 DC      /4F00      SENSE DSW WITHOUT RESET  O U2L01360
0048 4000                  137 | RE300 DC      /4000      CONSTANT FOR DVC NR        U2L01370
0049 4001                  138 | RE312 DC      /4001      CST FOR BAD CALL           U2L01380
004A 0000                  139 | RE324 DC      *-*        SAVED ACC                  U2L01390
008D                       140 | $PST4 EQU     /8D        POST-OPERATIVE ERROR TRAP  U2L01400
                           141 | *************************************************** U2L01410
                           142 | *             OP COMPLETE INTERRUPT PROCESSING    M U2L01420
                           143 | *************************************************** U2L01430
                           144 | *     THIS PORTION IS ENTERED FROM AN INTERRUPT   * U2L01440
                           145 | *     LEVEL SUBRT. IF NO ERROR HAS BEEN DETECTED  * U2L01450
                           146 | *     THE ROUTINE IS SET NOT BUSY AND THE IOCS    * U2L01460
                           147 | *     COUNTER IS DECREMENTED TO INDICATE          * U2L01470
                           148 | *     INTERRUPT PROCESSING COMPLETED. OTHERWISE   * U2L01480
                           149 | *     THE SUBR.GOES TO THE POST-OPERATIVE ERROR-  * U2L01490
                           150 | *     TRAP AND WAITS UNTIL THE OPERATOR HAS       * U2L01500
                           151 | *     INTERVENED AND THE 2501 BECOMES READY, AT   * U2L01510
                           152 | *     WHICH TIME THE CARDS ARE POSITIONED AND THE * U2L01520
                           153 | *     I/O OPERATION IS RE-INITIATED.              * U2L01530
                           154 | *************************************************** U2L01540
004B 08F6                  155 | RE336 XIO     RE252-1    SENSE DSW WITH RESET       U2L01550
004C 1003                  156 |       SLA     3          IS OPERATION OK            U2L01560
004D 4C02 0056R            157 |       BSC  L  RE360,C    BR IF ERROR                U2L01570
004F 74FF 0032             158 |       MDX  L  50,-1      ELSE TERMINATE             U2L01580
0051 1000                  159 |       NOP                DECREMENT IOCS COUNT       U2L01590
0052 1810                  160 |       SRA     16                                    U2L01600
0053 D0ED                  161 |       STO     RE228      CLEAR ROUT BUSY INDIC      U2L01610
0054 4C80 0004R            162 | RE348 BSC  I  RE048      EXIT                       U2L01620
0056 08EB                  163 | RE360 XIO     RE252-1    SENSE DSW FOR READY        U2L01630
0057 4C04 005BR            164 |       BSC  L  RE365,E    TO ERROR EXIT IF NOT READY U2L01640
0059 08EA                  165 |       XIO     RE264      RE-INITIATE FUNCTION       U2L01650
005A 70F9                  166 |       MDX     RE348      BR TO EXIT                 U2L01660
005B C0EC                  167 | RE365 LD      RE300      LD NOT READY ERROR CODE    U2L01670
005C 4400 008D             168 |       BSI  L  $PST4      POST-OPERATIVE ERROR TRAP  U2L01680
005E 70F7                  169 |       MDX     RE360      TRY AGAIN                  U2L01690
005F                       170 |       END                                           U2L01700
 
There were no errors in this assembly
 
=== CROSS REFERENCES ==========================================================
Name  Val   Defd  Referenced
$PST4 008D   140  168
RE036 0001R   65
RE048 0004R   67  162
RE060 0007R   81   66
RE072 0012R   91   86
RE084 0015R   93   94
RE096 0018R   95  120
RE108 0024R  103   99
RE120 002CR  110   90
RE132 002ER  112  125
RE144 002FR  113   64
RE156 0031R  114   83
RE168 0033R  115   82
RE180 0034R  116  112
RE192 0036R  117   92  100  102
RE204 0038R  119   96
RE216 003CR  122  118
RE228 0041R  129   87   93  108  161
RE240 0042R  131   91
RE252 0043R  132  155  163
RE264 0044R  133  105  109  165
RE276 0046R  135  101
RE288 0047R  136   95
RE300 0048R  137  121  167
RE312 0049R  138  117
RE324 004AR  139   81  111
RE336 004BR  155   68
RE348 0054R  162  166
RE360 0056R  163  157  169
RE365 005BR  167  164
READ0 0000R   64
ibm/ibm1130-lib/dmsr2v12/u2read0_lst.txt ยท Last modified: 2023/08/06 13:34 by Site Administrator