DISK3 Assembly Listing – Part 1

                                                                                                               PAGE    2

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

                                      1 *********************************************************************   00010000
                                      2 *                                                                       00020000
                                      3 *       XXXX   XXXXX   XXXX  X  X  XXXX                                 00030000
                                      4 *       X   X    X    X      X X       X                                00040000
                                      5 *       X   X    X     XXX   XX    XXXX                                 00050000
                                      6 *       X   X    X        X  X X       X                                00060000
                                      7 *       XXXX   XXXXX  XXXX   X  X  XXXX                                 00070000
                                      8 *                                                                       00080000
                                      9 *********************************************************************   00090000
000000                               10 DISK3    START 0                                                        00100000
000000 0000000000000800              11 STARTPSW DC    X'0000000000',AL3(BEGIN)                                 00110000
                                     12 *                                                                       00120000
                                     13 *                                                                       00130000
000008                      00800    14          ORG   DISK3+2048    BEING AT 2K                                00140000
                                     15 *                                                                       00150000
000800 05C0                          16 BEGIN    BALR  R12,0         SET BASE REGISTER                          00160000
                            00802    17          USING *,R12,R11                                                00170000
                                     18 *                                                                       00180000
000802 41B0 C800      00800          19          LA    R11,2048(,R12)  SET UP                                   00190000
000806 41B0 B800      00800          20          LA    R11,2048(,R11)        SECOND BASE REGISTER               00200000
                                     21 *                                                                       00210000
00080A 41D0 C8E6      010E8          22          LA    R13,SAVEA     FIRST SAVE AREA                            00220000
                                     23 *                                                                       00230000
                                     24 *********************************************************************   00240000
                                     25 * READ THE VOLUME LABLE TO GET THE VTOC BEGINNING ADDRESS               00250000
                                     26 *                                                                       00260000
                                     27 *   VOL1 LABEL RECORD AT CC=00 HH=00 R=3 DATA LENGTH=80                 00270000
                                     28 *********************************************************************   00280000
                                     29 *                                                                       00290000
                                     30          @PRINT '---READ VOLUME LABEL'                                  00300000
00080E 4110 C756      00F58          31+         LA     R1,=C'---READ VOLUME LABEL'                             00170000
000812 4100 0014      00014          32+         LA     R0,20                                                   00200000
000816 41F0 C43C      00C3E          33+         LA     R15,@PRINT                                              00210000
00081A 05EF                          34+         BALR   R14,R15                                                 00220000
                                     35 *                                                                       00310000
00081C 4110 0050      00050          36          LA    R1,80              VOL1 LENGTH                           00320000
000820 5010 C8BA      010BC          37          ST    R1,CCWREAD+4                                             00330000
000824 4110 CAFE      01300          38          LA    R1,INBUF           BUFFER ADDRESS                        00340000
000828 5010 C8B6      010B8          39          ST    R1,CCWREAD                                               00350000
00082C 9206 C8B6      010B8          40          MVI   CCWREAD,X'06'      READ DATA                             00360000
                                     41 *                                                                       00370000
000830 D204 CA19 C7F0 0121B 00FF2    42          MVC   CCHHR(5),=X'0000000003'  CC=00 H=00 R=3 (VOL1)           00380000
                                     43 *                                                                       00390000
000836 4110 C9FE      01200          44          LA    R1,IORB                                                  00400000
                                                                                                               PAGE    3

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

00083A 45E0 C31E      00B20          45          BAL   R14,XIO            EXECUTE THE CCW CHAIN                 00410000
00083E 12FF                          46          LTR   R15,R15                                                  00420000
000840 4770 C438      00C3A          47          BNZ   ERREXIT            BRANCH IF FAILED                      00430000
                                     48 *                                                                       00440000
                                     49 *********************************************************************   00450000
                                     50 * READ THE FMT 4 DSCB                                                   00460000
                                     51 *                                                                       00470000
                                     52 *   VTOC BEGINNING CCHHR FROM VOL1 RECORD                               00480000
                                     53 *********************************************************************   00490000
                                     54 *                                                                       00500000
                                     55          @PRINT '-----READ FORMAT 4 DSCB'                               00510000
000844 4110 C7F5      00FF7          56+         LA     R1,=C'-----READ FORMAT 4 DSCB'                          00170000
000848 4100 0017      00017          57+         LA     R0,23                                                   00200000
00084C 41F0 C43C      00C3E          58+         LA     R15,@PRINT                                              00210000
000850 05EF                          59+         BALR   R14,R15                                                 00220000
                                     60 *                                                                       00520000
000852 D204 C8BE CB09 010C0 0130B    61          MVC   VTOCADDR,INBUF+11  SAVE VTOC ADDRESS FROM VOL RECORD     00530000
                                     62 *                                                                       00540000
000858 D204 CA19 C8BE 0121B 010C0    63          MVC   CCHHR(5),VTOCADDR                                        00550000
                                     64 *                                                                       00560000
00085E 4110 0060      00060          65          LA    R1,96              DSCB DATA LENGTH                      00570000
000862 5010 C8BA      010BC          66          ST    R1,CCWREAD+4                                             00580000
000866 4110 C996      01198          67          LA    R1,DSCB1BUF        I/O BUFFER                            00590000
00086A 5010 C8B6      010B8          68          ST    R1,CCWREAD                                               00600000
00086E 9206 C8B6      010B8          69          MVI   CCWREAD,X'06'      READ DATA                             00610000
                                     70 *                                                                       00620000
000872 4110 C9FE      01200          71          LA    R1,IORB                                                  00630000
000876 45E0 C31E      00B20          72          BAL   R14,XIO            EXECUTE CCW CHAIN                     00640000
00087A 12FF                          73          LTR   R15,R15                                                  00650000
00087C 4770 C438      00C3A          74          BNZ   ERREXIT            BRANCH IF ERROR                       00660000
                                     75 *                                                                       00670000
000880 D203 C8C3 C9D9 010C5 011DB    76          MVC   VTOCEND,DSCB1BUF+67  ENDING CCHH OF VTOC EXTENT          00680000
000886 D204 C8C7 C997 010C9 01199    77          MVC   HIWATER,DSCB1BUF+1   SAVE HIGHT WATER DSCB ADDRESS       00690000
00088C 1F11                          78          SLR   R1,R1                                                    00700000
00088E BF13 C9AA      011AC          79          ICM   R1,B'0011',DSCB1BUF+20  GET TRKS/CYL                     00710000
000892 4010 C8D0      010D2          80          STH   R1,TRKCYL          SAVE TRKS/CYL                         00720000
                                     81 *                                                                       00730000
                                     82 *********************************************************************   00740000
                                     83 * FIND FMT 1 DSCB FOR 'TXXOS.NUCLEUS'                                   00750000
                                     84 *                                                                       00760000
                                     85 *   SEARCH FOR FMT1 DSCB                                                00770000
                                     86 *********************************************************************   00780000
                                     87 *                                                                       00790000
                                     88          @PRINT '-----FIND FORMAT 1 DSCB ''TXXOS.NUCLEUS'''             00800000
                                                                                                               PAGE    4

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

000896 4110 C80C      0100E          89+         LA     R1,=C'-----FIND FORMAT 1 DSCB ''TXXOS.NUCLEUS'''        00170000
00089A 4100 0029      00029          90+         LA     R0,41                                                   00200000
00089E 41F0 C43C      00C3E          91+         LA     R15,@PRINT                                              00210000
0008A2 05EF                          92+         BALR   R14,R15                                                 00220000
                                     93 *                                                                       00810000
0008A4 4110 0060      00060          94          LA    R1,96              DSCB DATA LENGTH                      00820000
0008A8 5010 C8BA      010BC          95          ST    R1,CCWREAD+4                                             00830000
0008AC 4110 CAFE      01300          96          LA    R1,INBUF           I/O BUFFER ADDR                       00840000
0008B0 5010 C8B6      010B8          97          ST    R1,CCWREAD                                               00850000
0008B4 9206 C8B6      010B8          98          MVI   CCWREAD,X'06'      READ DATA                             00860000
                                     99 *                                                                       00870000
0008B8 4110 002C      0002C         100          LA    R1,44              KEY LENGTH FOR DSCB BLOCK             00880000
0008BC 5010 C8AA      010AC         101          ST    R1,CCWSRCH+4                                             00890000
0008C0 9240 C8AA      010AC         102          MVI   CCWSRCH+4,@CCW#CC  + COMMAND CHAIN                       00900000
0008C4 4110 C868      0106A         103          LA    R1,DSNAME          KEY (NAME TO SEARCH FOR)              00910000
0008C8 5010 C8A6      010A8         104          ST    R1,CCWSRCH                                               00920000
0008CC 9229 C8A6      010A8         105          MVI   CCWSRCH,X'29'      SEARCH KEY EQUAL                      00930000
                                    106 *                                                                       00940000
0008D0                              107 FINDLOOP DS    0H                                                       00950000
0008D0 D503 CA19 C8C3 0121B 010C5   108          CLC   CC(4),VTOCEND      CHECK FOR END OF EXTENT               00960000
0008D6 4720 C130      00932         109          BH    DSCBNFND           BRANCH IF WE REACHED THE END          00970000
                                    110 *                                                                       00980000
0008DA 4110 C9FE      01200         111          LA    R1,IORB            ISSUE                                 00990000
0008DE 45E0 C31E      00B20         112          BAL   R14,XIO                 I/O REQUEST                      01000000
                                    113 *                                                                       01010000
0008E2 12FF                         114          LTR   R15,R15            BRANCH IF                             01020000
0008E4 4780 C11C      0091E         115          BZ    DSCBFND                     FOUND                        01030000
                                    116 *                                                                       01040000
0008E8 D503 CA19 C8C7 0121B 010C9   117          CLC   CCHHR(4),HIWATER   HIT HIGH WATER DSCB ADDRESS ?         01050000
0008EE 47B0 C130      00932         118          BNL   DSCBNFND             YES - STOP SEARCH                   01060000
                                    119 *                                                                       01070000
0008F2 1F11                         120          SLR   R1,R1              SET UP TO SEARCH NEXT TRACK           01080000
0008F4 BF13 CA1B      0121D         121          ICM   R1,B'0011',HH      GET TRACK ADDRESS                     01090000
0008F8 4110 1001      00001         122          LA    R1,1(,R1)          ADD ONE                               01100000
0008FC BE13 CA1B      0121D         123          STCM  R1,B'0011',HH      SAVE BACK                             01110000
                                    124 *                                                                       01120000
000900 4910 C8D0      010D2         125          CH    R1,TRKCYL          COMPARE TO TRAKS/CYLINDER             01130000
000904 4740 C0CE      008D0         126          BL    FINDLOOP           LOOP BACK AND TRY AGAIN               01140000
                                    127 *                                                                       01150000
000908 D701 CA1B CA1B 0121D 0121D   128          XC    HH,HH              SET TRACK TO ZERO                     01160000
00090E BF13 CA19      0121B         129          ICM   R1,B'0011',CC      GET CYLINDER                          01170000
000912 4110 1001      00001         130          LA    R1,1(,R1)          ADD ONE                               01180000
000916 BE13 CA19      0121B         131          STCM  R1,B'0011',CC      SAVE BACK                             01190000
00091A 47F0 C0CE      008D0         132          B     FINDLOOP           ...AND LOOP BACK                      01200000

                                                                                                               PAGE    5

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

                                    133 *                                                                       01210000
                                    134 *                                                                       01220000
                                    135 *                                                                       01230000
00091E                              136 DSCBFND  DS    0H                 FOUND THE DSCB FOR OUR DATA SET       01240000
00091E D203 CA19 CB3D 0121B 0133F   137          MVC   CCHHR(4),INBUF+105+2-44 BEGINNING FIRST EXTENT           01250000
000924 D203 C8CC CA19 010CE 0121B   138          MVC   BEGEXT,CCHHR       SAVE BEGINNING EXTENT ADDRESS         01260000
00092A 9200 CA1D      0121F         139          MVI   R,0                RESET RECORD NUMBER                   01270000
                                    140 *                                                                       01280000
00092E 47F0 C142      00944         141          B     DSCBDONE           NOW READ DATA SET DIR BLOCK           01290000
                                    142 *                                                                       01300000
                                    143 *                                                                       01310000
                                    144 *                                                                       01320000
000932                              145 DSCBNFND DS    0H                                                       01330000
                                    146          @PRINT '*** TXXOS.NUCLEUS NOT FOUND ***'                       01340000
000932 4110 C833      01035         147+         LA     R1,=C'*** TXXOS.NUCLEUS NOT FOUND ***'                  00170000
000936 4100 001F      0001F         148+         LA     R0,31                                                   00200000
00093A 41F0 C43C      00C3E         149+         LA     R15,@PRINT                                              00210000
00093E 05EF                         150+         BALR   R14,R15                                                 00220000
000940 47F0 C434      00C36         151          B     EXIT                                                     01350000
                                    152 *                                                                       01360000
                                    153 *                                                                       01370000
                                    154 *                                                                       01380000
                                    155 *                                                                       01390000
                                    156 *********************************************************************   01400000
                                    157 * NOW READ THE PDS DIRECTORY TO FIND REQUESTED MEMBER                   01410000
                                    158 *                                                                       01420000
                                    159 *   PDS DIR LOCATED AT BEGINNING OF PDS DATA SET                        01430000
                                    160 *********************************************************************   01440000
                                    161 *                                                                       01450000
000944                              162 DSCBDONE DS    0H                                                       01460000
                                    163          @PRINT '-----READ DIRECTORY BLOCKS'                            01470000
000944 4110 C77A      00F7C         164+         LA     R1,=C'-----READ DIRECTORY BLOCKS'                       00170000
000948 4100 001A      0001A         165+         LA     R0,26                                                   00200000
00094C 41F0 C43C      00C3E         166+         LA     R15,@PRINT                                              00210000
000950 05EF                         167+         BALR   R14,R15                                                 00220000
                                    168 *                                                                       01480000
000952 4110 0100      00100         169          LA    R1,256             DIR BLOCK DATA LENGTH                 01490000
000956 5010 C8BA      010BC         170          ST    R1,CCWREAD+4                                             01500000
00095A 4110 CAFE      01300         171          LA    R1,INBUF           I/O BUFFER                            01510000
00095E 5010 C8B6      010B8         172          ST    R1,CCWREAD                                               01520000
000962 9206 C8B6      010B8         173          MVI   CCWREAD,X'06'      READ DATA                             01530000
                                    174 *                                                                       01540000
000966 4110 0005      00005         175          LA    R1,5               BLOCK ID LENGTH                       01550000
00096A 5010 C8AA      010AC         176          ST    R1,CCWSRCH+4                                             01560000
                                                                                                               PAGE    6

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

00096E 9240 C8AA      010AC         177          MVI   CCWSRCH+4,@CCW#CC  COMMAND CHAIN                         01570000
000972 4110 CA19      0121B         178          LA    R1,MBBCCHHR+3      BLOCK ID (CCHHR)                      01580000
000976 5010 C8A6      010A8         179          ST    R1,CCWSRCH                                               01590000
00097A 9231 C8A6      010A8         180          MVI   CCWSRCH,X'31'      SEARCH ID EQUAL                       01600000
                                    181 *                                                                       01610000
                                    182 *                                                                       01620000
00097E                              183 DIRBLOOP DS    0H                                                       01630000
00097E 1F11                         184          SLR   R1,R1                                                    01640000
000980 4310 CA1D      0121F         185          IC    R1,R               GET RECORD NUMBER                     01650000
000984 4110 1001      00001         186          LA    R1,1(,R1)          ADD                                   01660000
000988 4210 CA1D      0121F         187          STC   R1,R                  ONE                                01670000
00098C 4110 C9FE      01200         188          LA    R1,IORB            EXECUTE                               01680000
000990 45E0 C31E      00B20         189          BAL   R14,XIO                   I/O REQUEST                    01690000
                                    190 *                                                                       01700000
000994 12FF                         191          LTR   R15,R15                                                  01710000
000996 4770 C1E0      009E2         192          BNZ   DIREOF             ERR - NOT FOUND                       01720000
                                    193 *                                                                       01730000
                                    194 *                                                                       01740000
00099A 4120 CAFE      01300         195          LA    R2,INBUF           POINTER TO PDS INDEX BLOCK            01750000
00099E 1F33                         196          SLR   R3,R3              GET LENGTH                            01760000
0009A0 BF33 2000      00000         197          ICM   R3,B'0011',0(R2)             USED                        01770000
                                    198 *                                                                       01780000
0009A4 4120 2002      00002         199          LA    R2,2(,R2)          POINT TO FIRST ENTRY                  01790000
0009A8 5B30 C76A      00F6C         200          S     R3,=F'2'           ADJUST LENGTH                         01800000
                                    201 *                                                                       01810000
0009AC                              202 DIRLOOP  DS    0H                                                       01820000
0009AC 5930 C76E      00F70         203          C     R3,=F'0'           MORE DATA AVAILABLE                   01830000
0009B0 47D0 C17C      0097E         204          BNH   DIRBLOOP             NO - READ ANOTHER BLOCK             01840000
                                    205 *                                                                       01850000
0009B4 D507 C72E 2000 00F30 00000   206          CLC   =XL8'FFFFFFFFFFFFFFFF',0(R2)  END OF DIRECTORY?          01860000
0009BA 4780 C1E0      009E2         207          BE    DIREOF                                                   01870000
                                    208 *                                                                       01880000
0009BE D507 C736 2000 00F38 00000   209          CLC   =CL8'TXXNUC28',0(R2) IS THIS OUR ENTRY                   01890000
0009C4 4780 C1F2      009F4         210          BE    DIRFOUND                                                 01900000
                                    211 *                                                                       01910000
0009C8 1F11                         212          SLR   R1,R1                                                    01920000
0009CA BF11 200B      0000B         213          ICM   R1,B'0001',11(R2)  GET C FIELD                           01930000
0009CE 5410 C772      00F74         214          N     R1,=A(X'1F')       GET USER DATA LENGTH                  01940000
0009D2 8910 0001      00001         215          SLL   R1,1               MULTIPLY BY 2                         01950000
                                    216 *                                                                       01960000
0009D6 4110 100C      0000C         217          LA    R1,12(,R1)         ADD IN FIXED LENGTH                   01970000
                                    218 *                                                                       01980000
0009DA 1A21                         219          AR    R2,R1              POINT TO NEXT ENTRY                   01990000
0009DC 1B31                         220          SR    R3,R1              ADJUST LENGTH                         02000000
                                                                                                               PAGE    7

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

                                    221 *                                                                       02010000
0009DE 47F0 C1AA      009AC         222          B     DIRLOOP            PROCESS NEXT DIR ENTRY                02020000
                                    223 *                                                                       02030000
                                    224 *                                                                       02040000
                                    225 *                                                                       02050000
0009E2                              226 DIREOF   DS    0H                                                       02060000
                                    227          @PRINT 'DIRECTORY ENTRY FOR TXXNUC28 NOT FOUND'                02070000
0009E2 4110 C794      00F96         228+         LA     R1,=C'DIRECTORY ENTRY FOR TXXNUC28 NOT FOUND'           00170000
0009E6 4100 0026      00026         229+         LA     R0,38                                                   00200000
0009EA 41F0 C43C      00C3E         230+         LA     R15,@PRINT                                              00210000
0009EE 05EF                         231+         BALR   R14,R15                                                 00220000
0009F0 47F0 C434      00C36         232          B      EXIT                                                    02080000
                                    233 *                                                                       02090000
                                    234 *                                                                       02100000
                                    235 *                                                                       02110000
                                    236 **********************************************************************  02120000
                                    237 *  NOW WE CAN READ THE DATA FOR THE MEMBER                              02130000
                                    238 *                                                                       02140000
                                    239 *    DIRECTORY ENTRY TTR IS OFFSET TO FIRST DATA RECORD                 02150000
                                    240 **********************************************************************  02160000
                                    241 *                                                                       02170000
0009F4                              242 DIRFOUND DS    0H                                                       02180000
0009F4 1882                         243          LR    R8,R2                   SAVE DIRECTORY ENTRY PTR         02190000
                                    244 *                                                                       02200000
0009F6 1F11                         245          SLR   R1,R1                                                    02210000
0009F8 1F00                         246          SLR   R0,R0                                                    02220000
0009FA 1F22                         247          SLR   R2,R2                                                    02230000
                                    248 *                                                                       02240000
0009FC BF13 C8CE      010D0         249          ICM   R1,B'0011',BEGEXT+2     GET HH OF EXTENT BEGIN           02250000
000A00 BF23 8008      00008         250          ICM   R2,B'0011',8(R8)        GET RELATIVE TT OFFSET           02260000
000A04 1A12                         251          AR    R1,R2                                                    02270000
                                    252 *                                                                       02280000
000A06 48F0 C8D0      010D2         253          LH    R15,TRKCYL              TRACKS/CYLINDER                  02290000
000A0A 1D0F                         254          DR    R0,R15                  GET CYL/TRK OFFSET               02300000
                                    255 *                                                                       02310000
000A0C BF23 C8CC      010CE         256          ICM   R2,B'0011',BEGEXT       GET CC OF EXTENT BEGIN           02320000
000A10 1A21                         257          AR    R2,R1                   GET CC OF FIRST DATA BLK         02330000
000A12 BE23 CA19      0121B         258          STCM  R2,B'0011',CC                                            02340000
                                    259 *                                                                       02350000
000A16 BE03 CA1B      0121D         260          STCM  R0,B'0011',HH                                            02360000
000A1A D200 CA1D 800A 0121F 0000A   261          MVC   R,10(R8)           GET RECORD FROM TTR                   02370000
                                    262 *                                                                       02380000
000A20 5810 C776      00F78         263          L     R1,=A(19069)       MAX BLOCK LENGTH                      02390000
000A24 5010 C8BA      010BC         264          ST    R1,CCWREAD+4                                             02400000
                                                                                                               PAGE    8

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

000A28 9220 C8BA      010BC         265          MVI   CCWREAD+4,@CCW#SLI SUPPRESS INCORRECT LENGTH             02410000
000A2C 4110 CAFE      01300         266          LA    R1,INBUF           I/O BUFFER                            02420000
000A30 5010 C8B6      010B8         267          ST    R1,CCWREAD                                               02430000
000A34 9206 C8B6      010B8         268          MVI   CCWREAD,X'06'      READ DATA                             02440000
                                    269 *                                                                       02450000
000A38 4110 0005      00005         270          LA    R1,5               BLOCK ID LENGTH                       02460000
000A3C 5010 C8AA      010AC         271          ST    R1,CCWSRCH+4                                             02470000
000A40 9240 C8AA      010AC         272          MVI   CCWSRCH+4,@CCW#CC  COMMAND CHAIN                         02480000
000A44 4110 CA19      0121B         273          LA    R1,MBBCCHHR+3      BLOCK ID (CCHHR)                      02490000
000A48 5010 C8A6      010A8         274          ST    R1,CCWSRCH                                               02500000
000A4C 9231 C8A6      010A8         275          MVI   CCWSRCH,X'31'      SEARCH ID EQUAL                       02510000
                                    276 *                                                                       02520000
                                    277          @PRINT '----- READ PDS MEMBER DATA'                            02530000
000A50 4110 C7BA      00FBC         278+         LA     R1,=C'----- READ PDS MEMBER DATA'                       00170000
000A54 4100 001A      0001A         279+         LA     R0,26                                                   00200000
000A58 41F0 C43C      00C3E         280+         LA     R15,@PRINT                                              00210000
000A5C 05EF                         281+         BALR   R14,R15                                                 00220000
                                    282          @PRINT ' '                                                     02540000
000A5E 4110 C852      01054         283+         LA     R1,=C' '                                                00170000
000A62 4100 0001      00001         284+         LA     R0,1                                                    00200000
000A66 41F0 C43C      00C3E         285+         LA     R15,@PRINT                                              00210000
000A6A 05EF                         286+         BALR   R14,R15                                                 00220000
                                    287 *                                                                       02550000
000A6C                              288 BREAD    DS    0H                                                       02560000
000A6C 4110 C9FE      01200         289          LA    R1,IORB            EXECUTE                               02570000
000A70 45E0 C31E      00B20         290          BAL   R14,XIO                   I/O REQUEST                    02580000
                                    291 *                                                                       02590000
000A74 12FF                         292          LTR   R15,R15                                                  02600000
000A76 4770 C2B2      00AB4         293          BNZ   BREAD010           BRANCH IF ERROR                       02610000
                                    294 *                                                                       02620000
000A7A 1F11                         295          SLR   R1,R1                                                    02630000
000A7C 4310 CA1D      0121F         296          IC    R1,R               GET RECORD NUMBER                     02640000
000A80 4110 1001      00001         297          LA    R1,1(,R1)          ADD                                   02650000
000A84 4210 CA1D      0121F         298          STC   R1,R                  ONE                                02660000
                                    299 *                                                                       02670000
000A88 1F33                         300          SLR   R3,R3                                                    02680000
000A8A BF33 C8BC      010BE         301          ICM   R3,B'0011',CCWREAD+6  LENGTH ATTEMPTED TO READ           02690000
000A8E 1F11                         302          SLR   R1,R1                                                    02700000
000A90 BF13 CA0C      0120E         303          ICM   R1,B'0011',IORB+(IORCSW-IOR)+6  GET RESUDUAL LENGTH      02710000
000A94 1B31                         304          SR    R3,R1              CALC ACTUAL BLOCK LENGTH              02720000
                                    305 *                                                                       02730000
                                    306          @DUMP INBUF,(R3)         DUMP THE BLOCK                        02740000
000A96 4110 CAFE      01300         307+         LA    R1,INBUF                                                 00360000
000A9A 1803                         308+         LR    R0,R3                                                    00290000
                                                                                                               PAGE    9

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

000A9C 41F0 C496      00C98         309+         LA    R15,@DUMP                                                00080000
000AA0 05EF                         310+         BALR  R14,R15                                                  00090000
                                    311          @PRINT ' '                                                     02750000
000AA2 4110 C852      01054         312+         LA     R1,=C' '                                                00170000
000AA6 4100 0001      00001         313+         LA     R0,1                                                    00200000
000AAA 41F0 C43C      00C3E         314+         LA     R15,@PRINT                                              00210000
000AAE 05EF                         315+         BALR   R14,R15                                                 00220000
000AB0 47F0 C26A      00A6C         316          B      BREAD             LOOP BACK FOR NEXT BLOCK              02760000
                                    317 *                                                                       02770000
                                    318 *                                                                       02780000
000AB4                              319 BREAD010 DS    0H                                                       02790000
000AB4 9101 CA0A      0120C         320          TM    IORB+(IORCSW-IOR)+4,X'01'   UNIT EXCEPTION?              02800000
000AB8 4710 C30C      00B0E         321          BO    BREAD030           YES - END OF FILE                     02810000
                                    322 *                                                                       02820000
000ABC 9102 CA0A      0120C         323          TM    IORB+(IORCSW-IOR)+4,X'02'   UNIT CHECK?                  02830000
000AC0 47E0 C2FA      00AFC         324          BNO   BREAD020           NO - OTHER ERROR                      02840000
                                    325 *                                                                       02850000
000AC4 9108 CA0F      01211         326          TM    IORB+(IORSENS1-IOR),X'08'  NO RECORD FOUND?              02860000
000AC8 47E0 C2FA      00AFC         327          BNO   BREAD020           NO - OTHER ERROR                      02870000
                                    328 *                                                                       02880000
000ACC 9201 CA1D      0121F         329          MVI   R,1                RESET TO RECORD 1                     02890000
000AD0 1F11                         330          SLR   R1,R1                                                    02900000
000AD2 BF13 CA1B      0121D         331          ICM   R1,B'0011',HH      GET HEAD                              02910000
000AD6 4110 1001      00001         332          LA    R1,1(,R1)          ADD ONE                               02920000
000ADA BE13 CA1B      0121D         333          STCM  R1,B'0011',HH      SAVE IT BACK                          02930000
                                    334 *                                                                       02940000
000ADE 4910 C8D0      010D2         335          CH    R1,TRKCYL          COMPARE TO TRKS/CYL                   02950000
000AE2 4740 C26A      00A6C         336          BL    BREAD              GO READ AGAIN                         02960000
                                    337 *                                                                       02970000
000AE6 D701 CA1B CA1B 0121D 0121D   338          XC    HH,HH              SET HH = 0                            02980000
000AEC BF13 CA19      0121B         339          ICM   R1,B'0011',CC      GET CYLINDER                          02990000
000AF0 4110 1001      00001         340          LA    R1,1(,R1)          ADD ONE                               03000000
000AF4 BE13 CA19      0121B         341          STCM  R1,B'0011',CC      SAVE BACK                             03010000
000AF8 47F0 C26A      00A6C         342          B     BREAD              GO READ AGAIN                         03020000
                                    343 *                                                                       03030000
                                    344 *                                                                       03040000
000AFC                              345 BREAD020 DS    0H                                                       03050000
                                    346          @PRINT '*** ERROR READING DATA ***'                            03060000
000AFC 4110 C7D4      00FD6         347+         LA     R1,=C'*** ERROR READING DATA ***'                       00170000
000B00 4100 001A      0001A         348+         LA     R0,26                                                   00200000
000B04 41F0 C43C      00C3E         349+         LA     R15,@PRINT                                              00210000
000B08 05EF                         350+         BALR   R14,R15                                                 00220000
000B0A 47F0 C434      00C36         351          B     EXIT                                                     03070000
                                    352 *                                                                       03080000
                                                                                                               PAGE   10

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

                                    353 *                                                                       03090000
000B0E                              354 BREAD030 DS    0H                                                       03100000
                                    355          @PRINT '*** EOF READING DATA ***'                              03110000
000B0E 4110 C73E      00F40         356+         LA     R1,=C'*** EOF READING DATA ***'                         00170000
000B12 4100 0018      00018         357+         LA     R0,24                                                   00200000
000B16 41F0 C43C      00C3E         358+         LA     R15,@PRINT                                              00210000
000B1A 05EF                         359+         BALR   R14,R15                                                 00220000
000B1C 47F0 C434      00C36         360          B     EXIT                                                     03120000
                                    361 *                                                                       03130000
                                    362 *                                                                       03140000
                                    363 **********************************************************************  03150000
                                    364 * XIO - PERFORM I/O SUBROUTINE                                          03160000
                                    365 *       R1 = A(IOR) I/O REQUEST BLOCK                                   03170000
                                    366 *       ON EXIT R15 CONTAINS A RETURN CODE                              03180000
                                    367 **********************************************************************  03190000
                                    368 *                                                                       03200000
000B20                              369 XIO      DS    0H                                                       03210000
000B20 90EC D00C      0000C         370          STM   R14,R12,12(R13)    SAVE CALLER'S REGISTERS               03220000
000B24 41E0 C92E      01130         371          LA    R14,XIOSAVE        POINT TO OUR SAVE ADDRESS             03230000
000B28 50E0 D008      00008         372          ST    R14,8(,R13)                                              03240000
000B2C 50D0 E004      00004         373          ST    R13,4(,R14)                                              03250000
000B30 18DE                         374          LR    R13,R14                                                  03260000
                                    375 *                                                                       03270000
000B32 18A1                         376          LR    R10,R1             IOR BLOCK ADDRESS                     03280000
                            00000   377          USING IOR,R10                                                  03290000
                                    378 *                                                                       03300000
000B34 D700 A006 A006 00006 00006   379          XC    IORSIOCC,IORSIOCC                                        03310000
000B3A D701 A010 A010 00010 00010   380          XC    IORSENS0(2),IORSENS0                                     03320000
000B40 D707 A008 A008 00008 00008   381          XC    IORCSW,IORCSW                                            03330000
                                    382 *                                                                       03340000
000B46 5810 A000      00000         383          L     R1,IORCCW          POINT TO CCW  CHAIN                   03350000
000B4A 5010 0048      00048         384          ST    R1,72              SAVE INTO CAW                         03360000
000B4E 1F22                         385          SLR   R2,R2                                                    03370000
000B50 BF23 A004      00004         386          ICM   R2,B'0011',IORUNIT DEVICE ADDRESS                        03380000
000B54 9C00 2000      00000         387          SIO   0(R2)              START I/O                             03390000
000B58 4740 C3D0      00BD2         388          BC    4,SIOCC4           BRANCH IF SIO NOT ACCEPTED            03400000
000B5C 4720 C3C4      00BC6         389          BC    2,SIOCC2           BRANCH IF SIO NOT ACCEPTED            03410000
000B60 4710 C3B8      00BBA         390          BC    1,SIOCC1           BRANCH IF SIO NOT ACCEPTED            03420000
                                    391 *                                                                       03430000
000B64 9D00 2000      00000         392 WAITIO   TIO   0(R2)              WAIT FOR I/O COMPLETION               03440000
000B68 4710 C3DC      00BDE         393          BC    1,TIOCC1           BRANCH IF ERROR                       03450000
000B6C 4770 C362      00B64         394          BC    7,WAITIO           KEEP WAITING...                       03460000
                                    395 *                                                                       03470000
000B70 D207 A008 0040 00008 00040   396          MVC    IORCSW,64         SAVE CSW                              03480000
                                                                                                               PAGE   11

  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.58 12/08/11

000B76 D501 C7EE A00C 00FF0 0000C   397          CLC    =X'0C00',IORCSW+4 CHANNEL END/DEVICE END                03490000
000B7C 4780 C3B0      00BB2         398          BE     WAITIO20          YES - GOOD COMPLETION                 03500000
000B80 9102 A00C      0000C         399          TM     IORCSW+4,X'02'    UNIT CHECK?                           03510000
000B84 47E0 C3A8      00BAA         400          BNO    WAITIO15          NO - DON'T NEED TO SO SENSE           03520000
                                    401 *                                                                       03530000
                                    402 *                                                                       03540000
000B88 4110 C896      01098         403          LA    R1,CCWSENSE                                              03550000
000B8C 5010 0048      00048         404          ST    R1,72              SAVE INTO CAW                         03560000
000B90 9C00 2000      00000         405          SIO   0(R2)              START I/O                             03570000
000B94 4770 C3DC      00BDE         406          BC    7,WAITIO99         ERROR                                 03580000
                                    407 *                                                                       03590000
000B98 9D00 2000      00000         408 WAITIO10 TIO   0(R2)              WAIT FOR I/O COMPLETION               03600000
000B9C 4710 C3DC      00BDE         409          BC    1,WAITIO99         BRANCH IF ERROR                       03610000
000BA0 4770 C396      00B98         410          BC    7,WAITIO10         KEEP WAITING...                       03620000
                                    411 *                                                                       03630000
000BA4 D201 A010 C976 00010 01178   412          MVC   IORSENS0(2),SENSE  SAVE SENSE BYTES 0 & 1                03640000
000BAA                              413 WAITIO15 DS    0H                 WAIT FOR I/O COMPLETION               03650000
000BAA 41F0 0004      00004         414          LA    R15,4              SET RC=4                              03660000
000BAE 47F0 C3E4      00BE6         415          B     XIOXT                                                    03670000
                                    416 *                                                                       03680000
                                    417 *                                                                       03690000
000BB2                              418 WAITIO20 DS    0H                                                       03700000
000BB2 41F0 0000      00000         419          LA    R15,0                                                    03710000
000BB6 47F0 C3E4      00BE6         420          B     XIOXT                                                    03720000
                                    421 *                                                                       03730000
                                    422 *                                                                       03740000
000BBA                              423 SIOCC1   DS    0H                                                       03750000
000BBA 9201 A006      00006         424          MVI   IORSIOCC,X'01'                                           03760000
000BBE 41F0 0008      00008         425          LA    R15,8                                                    03770000
000BC2 47F0 C3E4      00BE6         426          B     XIOXT                                                    03780000
                                    427 *                                                                       03790000
                                    428 *                                                                       03800000
000BC6                              429 SIOCC2   DS    0H                                                       03810000
000BC6 9202 A006      00006         430          MVI   IORSIOCC,X'02'                                           03820000
000BCA 41F0 0008      00008         431          LA    R15,8                                                    03830000
000BCE 47F0 C3E4      00BE6         432          B     XIOXT                                                    03840000
                                    433 *                                                                       03850000
                                    434 *                                                                       03860000
000BD2                              435 SIOCC4   DS    0H                                                       03870000
000BD2 9204 A006      00006         436          MVI   IORSIOCC,X'04'                                           03880000
000BD6 41F0 0008      00008         437          LA    R15,8                                                    03890000
000BDA 47F0 C3E4      00BE6         438          B     XIOXT                                                    03900000
                                    439 *                                                                       03910000
                                    440 *                                                                       03920000

[Next – DISK3 Assembly Listing – Part 2]

Leave a Reply

Your email address will not be published. Required fields are marked *