EXTERNAL SYMBOL DICTIONARY                                      PAGE    1
SYMBOL   TYPE  ID   ADDR  LENGTH LDID                                                            ASM 0201 15.17 11/24/73
VSAMIO    SD  0001 000000 000D0A
========================================================================================================================
                                                                                                               PAGE    2
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                      1          PRINT ON,NOGEN,NODATA                                          00010000
                                      2 *---------------------------------------------------------------------* 00020000
                                      3 *                                                                     * 00030000
                                      4 * THIS ROUTINE IS DESIGNED TO PROVIDE VSAM DATASET INPUT/OUTPUT       * 00040000
                                      5 * CAPABILITY TO PROGRAMS WRITTEN WITH THE MVT COBOL COMPILER, AND     * 00050000
                                      6 * EXECUTED UNDER THE MVS 3.8J OPERATING SYSTEM RUNNING ON EMULATED    * 00060000
                                      7 * HARDWARE UNDER THE HERCULES EMULATOR.                               * 00070000
                                      8 *                                                                     * 00080000
                                      9 * THE ROUTINE IS DESIGNED TO PROVIDE ACCESS TO ONE OR MORE VSAM       * 00090000
                                     10 * DATASETS (CLUSTERS).  THE REQUIRED ACB AND RPL (VSAM DATASET        * 00100000
                                     11 * CONTROL BLOCKS) ARE GENERATED AND STORED IN MEMORY ALLOCATED BY     * 00110000
                                     12 * THE CALLING COBOL PROGRAM.  DURING THE CALLS TO OPEN AND ACCESS A   * 00120000
                                     13 * PARTICULAR DATASET, THE ACB AND RPL ARE MODIFIED AS REQUIRED TO     * 00130000
                                     14 * SATISFY THE REQUESTS AGAINST THAT PARTICULAR DATASET.   THERE IS    * 00140000
                                     15 * NO NECESSITY TO MODIFY THE ALC CODE AND REASSEMBLE PRIOR TO CALLING * 00150000
                                     16 * THE ROUTINE.                                                        * 00160000
                                     17 *                                                                     * 00170000
                                     18 * BECAUSE THE MVT COBOL COMPILER IS UNABLE TO UTILIZE DYNAMIC CALLING * 00180000
                                     19 * OF SUBROUTINES, IT IS NECESSARY TO LINK THE OBJECT MODULE FOR THIS  * 00190000
                                     20 * ROUTINE TO EACH CALLING COBOL PROGRAM. AS THIS IS THE CASE, IT IS   * 00200000
                                     21 * NOT NECESSARY FOR THE ROUTINE TO BE SERIALLY REENTRANT, AND I HAVE  * 00210000
                                     22 * NOT DEVOTED THE EFFORT TO MAKE IT SO.                               * 00220000
                                     23 *                                                                     * 00230000
                                     24 * THIS CODE IS PLACED IN THE PUBLIC DOMAIN AND MAY BE FREELY USED     * 00240000
                                     25 * AND INCORPORATED INTO DERIVED WORKS AS LONG AS ATTRIBUTION TO THE   * 00250000
                                     26 * ORIGINAL AUTHORSHIP REMAINS IN ANY DISTRIBUTED COPIES OF THE ALC    * 00260000
                                     27 * SOURCE.                                                             * 00270000
                                     28 *                                                                     * 00280000
                                     29 * WRITTEN NOVEMBER, 2001 BY JAY MOSELEY, CCP                          * 00290000
                                     30 * HTTP://WWW.JAYMOSELEY.COM/HERCULES/                                 * 00300000
                                     31 *                                                                     * 00310000
                                     32 *---------------------------------------------------------------------* 00320000
========================================================================================================================
                                                                                                               PAGE    3
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                     34 *                                                                       00340000
                                     35          LCLC  &SYSECT                                                  00350000
                                     36 &SYSECT  SETC  'VSAMIO'            ROUTINE IDENTIFICATION               00360000
                                     37 *                                                                       00370000
                                     38 &SYSECT  CSECT                                                          00380000
                                     40 *                                                                       00390000
000000 47FF 0046      00046          41 @IDENT01 B     @IDENT04(R15)       BRANCH AROUND IDENT CONSTANTS        00400000
000004 41                            42          DC    AL1(@IDENT03-@IDENT02)                                   00410000
                                     43 @IDENT02 DC    C'&SYSECT V2'                                            00420000
                                     45          DC    C'&SYSDATE &SYSTIME - '                                  00430000
00001F E5E2C1D440C9D5D7              47          DC    C'VSAM INPUT/OUTPUT ROUTINE FOR MVS 3.8J'                00440000
000046                               48 @IDENT03 DS    0H                                                       00450000
                            00046    49 @IDENT04 EQU   *-@IDENT01                                               00460000
                                     50 *                                                                       00470000
                                     51          SAVE  (14,12)                                                  00480000
                                     54 *                                                                       00490000
00004A 05C0                          55          BALR  R12,0               BASE REGISTERS ARE 12 AND 11         00500000
                            0004C    56          USING *,R12,R11                                                00510000
00004C 41B0 CFFF      00FFF          57          LA    R11,4095(,R12)                                           00520000
000050 41B0 B001      00001          58          LA    R11,1(,R11)                                              00530000
                                     59 *                                                                       00540000
000054 185D                          60          LR    R5,R13              COPY CALLER'S SAVEAREA ADDR          00550000
000056 41D0 CBC4      00C10          61          LA    R13,SAVEAREA        ESTABLISH MY SAVEAREA                00560000
00005A 5050 D004      00004          62          ST    R5,4(,R13)          BACK CHAIN SAVE AREAS                00570000
00005E 50D0 5008      00008          63          ST    R13,8(,R5)          FORWARD CHAIN SAVE AREAS             00580000
                                     64 *                                                                       00590000
                                     65 *---------------------------------------------------------------------* 00600000
                                     66 * THREE BLOCKS OF STORAGE ARE PASSED AS PARAMETERS FROM THE CALLER.   * 00610000
                                     67 * THE FIRST CONTAINS THE COMMAND TO BE PROCESSED AND RETURN CODE/     * 00620000
                                     68 * FEEDBACK FIELDS.  THE SECOND CONTAINS DATASET SPECIFICATION FIELDS  * 00630000
                                     69 * AND CONTROL BLOCKS MAINTAINED BY THIS ROUTINE ON SUBSEQUENT CALLS.  * 00640000
                                     70 * THE THIRD IS THE RECORD AREA USED FOR INPUT/OUTPUT FOR THE DATASET. * 00650000
                                     71 *---------------------------------------------------------------------* 00660000
000062 988A 1000      00000          72          LM    R8,R10,0(R1)        ADDRESS PASSED PARAMETER BLOCKS      00670000
                            00000    73          USING $CCOMM,R8                                                00680000
                            00000    74          USING $FCOMM,R9                                                00690000
                            00000    75          USING $RECORD,R10                                              00700000
                                     76 *                                                                       00710000
                                     77 *---------------------------------------------------------------------* 00720000
                                     78 * RESET FIELDS USED TO RETURN STATUS INFORMATION TO THE CALLER        * 00730000
                                     79 *---------------------------------------------------------------------* 00740000
000066 D701 8008 8008 00008 00008    80          XC    $RC,$RC             CLEAR RETURN CODE                    00750000
00006C D701 800A 800A 0000A 0000A    81          XC    $VSRC,$VSRC         CLEAR VSAM RETURN CODE               00760000
000072 D701 800C 800C 0000C 0000C    82          XC    $VSFUNC,$VSFUNC     CLEAR VSAM FUNCTION CODE             00770000
000078 D701 800E 800E 0000E 0000E    83          XC    $VSREAS,$VSREAS     CLEAR VSAM REASON CODE               00780000
                                     84 *                                                                       00790000
                                     85 *---------------------------------------------------------------------* 00800000
                                     86 * PERFORM REQUESTED FUNCTION                                          * 00810000
                                     87 *---------------------------------------------------------------------* 00820000
00007E D507 8000 CC50 00000 00C9C    88          CLC   $COMMAND,$OPEN                                           00830000
000084 4780 C0A8      000F4          89          BE    @OPEN                                                    00840000
                                     90 *                                                                       00850000
000088 95D6 9022      00022          91          CLI   $OPENSW,C'O'        IS DATASET OPEN?                     00860000
00008C 4780 C04E      0009A          92          BE    @COMM02               YES, OTHER COMMANDS ARE VALID      00870000
                                     93 *                                                                       00880000
========================================================================================================================
                                                                                                               PAGE    4
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
000090 D201 8008 CCA8 00008 00CF4    94          MVC   $RC,=H'22'          INDICATE CLOSED DATASET              00890000
000096 47F0 C09A      000E6          95          B     GOBACK                                                   00900000
                                     96 *                                                                       00910000
00009A                               97 @COMM02  DS    0H                                                       00920000
00009A D507 8000 CC58 00000 00CA4    98          CLC   $COMMAND,$CLOSE                                          00930000
0000A0 4780 C666      006B2          99          BE    @CLOSE                                                   00940000
0000A4 D507 8000 CC60 00000 00CAC   100          CLC   $COMMAND,$READ                                           00950000
0000AA 4780 C686      006D2         101          BE    @READ                                                    00960000
0000AE D507 8000 CC68 00000 00CB4   102          CLC   $COMMAND,$WRITE                                          00970000
0000B4 4780 C6BC      00708         103          BE    @WRITE                                                   00980000
0000B8 D507 8000 CC70 00000 00CBC   104          CLC   $COMMAND,$REWRITE                                        00990000
0000BE 4780 C760      007AC         105          BE    @REWRITE                                                 01000000
0000C2 D507 8000 CC78 00000 00CC4   106          CLC   $COMMAND,$DELETE                                         01010000
0000C8 4780 C7D4      00820         107          BE    @DELETE                                                  01020000
0000CC D507 8000 CC80 00000 00CCC   108          CLC   $COMMAND,$STARTEQ                                        01030000
0000D2 4780 C848      00894         109          BE    @START                                                   01040000
0000D6 D507 8000 CC88 00000 00CD4   110          CLC   $COMMAND,$STARTGE                                        01050000
0000DC 4780 C848      00894         111          BE    @START                                                   01060000
                                    112 *                                                                       01070000
0000E0 D201 8008 CCAA 00008 00CF6   113          MVC   $RC,=H'20'          INDICATE PARAMETER ERROR             01080000
                                    114 *                                                                       01090000
0000E6                              115 GOBACK   DS    0H                                                       01100000
                                    116 *---------------------------------------------------------------------* 01110000
                                    117 * RETURN TO CALLING PROGRAM WITH ZERO RETURN CODE IN R15              * 01120000
                                    118 *---------------------------------------------------------------------* 01130000
0000E6 58D0 D004      00004         119          L     R13,4(,R13)         RETRIEVE CALLER'S SAVE AREA          01140000
                                    120          RETURN (14,12),RC=0                                            01150000
                                    124 *                                                                       01160000
0000F4                              125 @OPEN    DS    0H                                                       01170000
                                    126 *---------------------------------------------------------------------* 01180000
                                    127 * PROCESSING "OPEN" COMMAND FROM CALLER                               * 01190000
                                    128 *---------------------------------------------------------------------* 01200000
0000F4 95C3 9022      00022         129          CLI   $OPENSW,C'C'        IS DATASET CLOSED?                   01210000
0000F8 4780 C0BA      00106         130          BE    @OPEN02               YES, OPEN IS VALID                 01220000
                                    131 *                                                                       01230000
0000FC D201 8008 CCAC 00008 00CF8   132          MVC   $RC,=H'21'          ERROR: OPEN DATASET                  01240000
000102 47F0 C09A      000E6         133          B     GOBACK                                                   01250000
                                    134 *                                                                       01260000
000106                              135 @OPEN02  DS    0H                                                       01270000
000106 D507 9000 CC0C 00000 00C58   136          CLC   $DDNAME,$BLANK      IS DDNAME BLANK?                     01280000
00010C 4770 C0CE      0011A         137          BNE   @OPEN03               NO, CONTINUE                       01290000
                                    138 *                                                                       01300000
000110 D201 8008 CCAE 00008 00CFA   139          MVC   $RC,=H'28'          ERROR: NO DDNAME SUPPLIED            01310000
000116 47F0 C09A      000E6         140          B     GOBACK                                                   01320000
                                    141 *                                                                       01330000
00011A                              142 @OPEN03  DS    0H                                                       01340000
                                    143 *---------------------------------------------------------------------* 01350000
                                    144 * BUILD ACCESS CONTROL BLOCK IN CALLER'S STORAGE USING MODEL.         * 01360000
                                    145 *---------------------------------------------------------------------* 01370000
00011A D24B 9028 CB14 00028 00B60   146          MVC   IFGACB($ACBLEN),ACBMODEL                                 01380000
000120 4120 9028      00028         147          LA    R2,IFGACB                                                01390000
                                    148          MODCB ACB=(R2),DDNAME=(*,$DDNAME)                              01400000
                                    169 *                                                                       01410000
                                    170 *---------------------------------------------------------------------* 01420000
                                    171 * BUILD REQUEST PARAMETER LIST BLOCK IN CALLER'S STORAGE USING MODEL. * 01430000
========================================================================================================================
                                                                                                               PAGE    5
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                    172 *---------------------------------------------------------------------* 01440000
000164 D24B 9078 CB60 00078 00BAC   173          MVC   IFGRPL($RPLLEN),RPLMODEL                                 01450000
00016A 4120 9078      00078         174          LA    R2,IFGRPL                                                01460000
                                    175          MODCB RPL=(R2),ACB=(S,IFGACB)                                  01470000
                                    195 *                                                                       01480000
                                    196 *---------------------------------------------------------------------* 01490000
                                    197 * THE COMBINATION OF ORGANIZATION, ACCESS, AND MODE WILL BE USED TO   * 01500000
                                    198 * DERIVE A NUMERIC VALUE WHICH IS USED TO ENSURE VALID PERMUTATIONS.  * 01510000
                                    199 *---------------------------------------------------------------------* 01520000
0001A8 1B77                         200          SR    R7,R7               CLEAR TO COMPUTE MODE KEY VALUE      01530000
                                    201 *                                                                       01540000
                                    202 *---------------------------------------------------------------------* 01550000
                                    203 * PARSE ORGANIZATION KEYWORD                                          * 01560000
                                    204 *---------------------------------------------------------------------* 01570000
0001AA D503 9008 CC14 00008 00C60   205          CLC   $ORG,$ESDS                                               01580000
0001B0 4780 C186      001D2         206          BE    @OES                                                     01590000
0001B4 D503 9008 CC1C 00008 00C68   207          CLC   $ORG,$RRDS                                               01600000
0001BA 4780 C1FC      00248         208          BE    @ORR                                                     01610000
0001BE D503 9008 CC18 00008 00C64   209          CLC   $ORG,$KSDS                                               01620000
0001C4 4780 C274      002C0         210          BE    @OKS                                                     01630000
                                    211 *                                                                       01640000
0001C8 D201 8008 CCB0 00008 00CFC   212          MVC   $RC,=H'23'          ERROR: UNKNOWN ORGANIZATION          01650000
                                    213 *                                                                       01660000
0001CE 47F0 C09A      000E6         214          B     GOBACK                                                   01670000
                                    215 *                                                                       01680000
0001D2                              216 @OES     DS    0H                                                       01690000
                                    217 *---------------------------------------------------------------------* 01700000
                                    218 * ORGANIZATION = ESDS                                                 * 01710000
                                    219 *---------------------------------------------------------------------* 01720000
                                    220 ***>     LA    R7,0                                                     01730000
0001D2 4120 9028      00028         221          LA    R2,IFGACB                                                01740000
                                    222          MODCB ACB=(R2),MACRF=(ADR)                                     01750000
000208 4120 9078      00078         239          LA    R2,IFGRPL                                                01760000
                                    240          MODCB RPL=(R2),OPTCD=(ADR)                                     01770000
                                    259 *                                                                       01780000
000244 47F0 C2E8      00334         260          B     @OPEN10                                                  01790000
                                    261 *                                                                       01800000
000248                              262 @ORR     DS    0H                                                       01810000
                                    263 *---------------------------------------------------------------------* 01820000
                                    264 * ORGANIZATION = RRDS                                                 * 01830000
                                    265 *---------------------------------------------------------------------* 01840000
000248 4170 0009      00009         266          LA    R7,9                                                     01850000
00024C 4120 9028      00028         267          LA    R2,IFGACB                                                01860000
                                    268          MODCB ACB=(R2),MACRF=(KEY)                                     01870000
000280 4120 9078      00078         285          LA    R2,IFGRPL                                                01880000
                                    286          MODCB RPL=(R2),OPTCD=(KEY)                                     01890000
                                    305 *                                                                       01900000
0002BC 47F0 C2E8      00334         306          B     @OPEN10                                                  01910000
                                    307 *                                                                       01920000
0002C0                              308 @OKS     DS    0H                                                       01930000
                                    309 *---------------------------------------------------------------------* 01940000
                                    310 * ORGANIZATION = KSDS                                                 * 01950000
                                    311 *---------------------------------------------------------------------* 01960000
0002C0 4170 0012      00012         312          LA    R7,18                                                    01970000
0002C4 4120 9028      00028         313          LA    R2,IFGACB                                                01980000
========================================================================================================================
                                                                                                               PAGE    6
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                    314          MODCB ACB=(R2),MACRF=(KEY)                                     01990000
0002F8 4120 9078      00078         331          LA    R2,IFGRPL                                                02000000
                                    332          MODCB RPL=(R2),OPTCD=(KEY)                                     02010000
                                    351 *                                                                       02020000
000334                              352 @OPEN10  DS    0H                                                       02030000
                                    353 *---------------------------------------------------------------------* 02040000
                                    354 * PARSE ACCESS KEYWORD                                                * 02050000
                                    355 *---------------------------------------------------------------------* 02060000
000334 D509 900C CC2A 0000C 00C76   356          CLC   $ACCESS,$SEQ                                             02070000
00033A 4780 C310      0035C         357          BE    @OSEQ                                                    02080000
00033E D509 900C CC20 0000C 00C6C   358          CLC   $ACCESS,$DIR                                             02090000
000344 4780 C384      003D0         359          BE    @ODIR                                                    02100000
000348 D509 900C CC34 0000C 00C80   360          CLC   $ACCESS,$DYN                                             02110000
00034E 4780 C410      0045C         361          BE    @ODYN                                                    02120000
                                    362 *                                                                       02130000
000352 D201 8008 CCB2 00008 00CFE   363          MVC   $RC,=H'24'          ERROR: UNKNOWN ACCESS                02140000
                                    364 *                                                                       02150000
000358 47F0 C09A      000E6         365          B     GOBACK                                                   02160000
                                    366 *                                                                       02170000
00035C                              367 @OSEQ    DS    0H                                                       02180000
                                    368 *---------------------------------------------------------------------* 02190000
                                    369 * ACCESS = SEQUENTIAL                                                 * 02200000
                                    370 *---------------------------------------------------------------------* 02210000
                                    371 ***>     LA    R7,0(,R7)                                                02220000
00035C 4120 9028      00028         372          LA    R2,IFGACB                                                02230000
                                    373          MODCB ACB=(R2),MACRF=(SEQ)                                     02240000
000390 4120 9078      00078         390          LA    R2,IFGRPL                                                02250000
                                    391          MODCB RPL=(R2),OPTCD=(SEQ)                                     02260000
                                    410 *                                                                       02270000
0003CC 47F0 C498      004E4         411          B     @OPEN20                                                  02280000
                                    412 *                                                                       02290000
0003D0                              413 @ODIR    DS    0H                                                       02300000
                                    414 *---------------------------------------------------------------------* 02310000
                                    415 * ACCESS = DIRECT                                                     * 02320000
                                    416 *---------------------------------------------------------------------* 02330000
0003D0 4170 7003      00003         417          LA    R7,3(,R7)                                                02340000
                                    418 *                                                                       02350000
0003D4 D503 9008 CC14 00008 00C60   419          CLC   $ORG,$ESDS                                               02360000
0003DA 4770 C39C      003E8         420          BNE   @ODIROK                                                  02370000
                                    421 *                                                                       02380000
0003DE D201 8008 CCB4 00008 00D00   422          MVC   $RC,=H'25'          ERROR: BAD ACCESS FOR ESDS           02390000
                                    423 *                                                                       02400000
0003E4 47F0 C09A      000E6         424          B     GOBACK                                                   02410000
                                    425 *                                                                       02420000
0003E8                              426 @ODIROK  DS    0H                                                       02430000
0003E8 4120 9028      00028         427          LA    R2,IFGACB                                                02440000
                                    428          MODCB ACB=(R2),MACRF=(DIR)                                     02450000
00041C 4120 9078      00078         445          LA    R2,IFGRPL                                                02460000
                                    446          MODCB RPL=(R2),OPTCD=(DIR)                                     02470000
                                    465 *                                                                       02480000
000458 47F0 C498      004E4         466          B     @OPEN20                                                  02490000
                                    467 *                                                                       02500000
00045C                              468 @ODYN    DS    0H                                                       02510000
                                    469 *---------------------------------------------------------------------* 02520000
                                    470 * ACCESS = DYNAMIC                                                    * 02530000
========================================================================================================================
                                                                                                               PAGE    7
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                    471 *---------------------------------------------------------------------* 02540000
00045C 4170 7006      00006         472          LA    R7,6(,R7)                                                02550000
                                    473 *                                                                       02560000
000460 D503 9008 CC14 00008 00C60   474          CLC   $ORG,$ESDS                                               02570000
000466 4770 C428      00474         475          BNE   @ODYNOK                                                  02580000
                                    476 *                                                                       02590000
00046A D201 8008 CCB4 00008 00D00   477          MVC   $RC,=H'25'          ERROR: BAD ACCESS FOR ESDS           02600000
                                    478 *                                                                       02610000
000470 47F0 C09A      000E6         479          B     GOBACK                                                   02620000
                                    480 *                                                                       02630000
000474                              481 @ODYNOK  DS    0H                                                       02640000
000474 4120 9028      00028         482          LA    R2,IFGACB                                                02650000
                                    483          MODCB ACB=(R2),MACRF=(SEQ,DIR)                                 02660000
0004A8 4120 9078      00078         500          LA    R2,IFGRPL                                                02670000
                                    501          MODCB RPL=(R2),OPTCD=(SEQ)                                     02680000
                                    520 *                                                                       02690000
0004E4                              521 @OPEN20  DS    0H                                                       02700000
                                    522 *---------------------------------------------------------------------* 02710000
                                    523 * PARSE MODE KEYWORD                                                  * 02720000
                                    524 *---------------------------------------------------------------------* 02730000
0004E4 D505 9016 CC3E 00016 00C8A   525          CLC   $MODE,$INPUT                                             02740000
0004EA 4780 C4C0      0050C         526          BE    @OIN                                                     02750000
0004EE D505 9016 CC44 00016 00C90   527          CLC   $MODE,$OUTPUT                                            02760000
0004F4 4780 C534      00580         528          BE    @OOUT                                                    02770000
0004F8 D505 9016 CC4A 00016 00C96   529          CLC   $MODE,$UPDATE                                            02780000
0004FE 4780 C5CE      0061A         530          BE    @OBOTH                                                   02790000
                                    531 *                                                                       02800000
000502 D201 8008 CCB6 00008 00D02   532          MVC   $RC,=H'26'          ERROR: BAD MODE                      02810000
                                    533 *                                                                       02820000
000508 47F0 C09A      000E6         534          B     GOBACK                                                   02830000
                                    535 *                                                                       02840000
00050C                              536 @OIN     DS    0H                                                       02850000
                                    537 *---------------------------------------------------------------------* 02860000
                                    538 * MODE = INPUT                                                        * 02870000
                                    539 *---------------------------------------------------------------------* 02880000
                                    540 ***>     LA    R7,0(,R7)                                                02890000
00050C 4120 9028      00028         541          LA    R2,IFGACB                                                02900000
                                    542          MODCB ACB=(R2),MACRF=(IN)                                      02910000
000540 4120 9078      00078         559          LA    R2,IFGRPL                                                02920000
                                    560          MODCB RPL=(R2),OPTCD=(NUP)                                     02930000
                                    579 *                                                                       02940000
00057C 47F0 C644      00690         580          B     @OPEN30                                                  02950000
                                    581 *                                                                       02960000
000580                              582 @OOUT    DS    0H                                                       02970000
                                    583 *---------------------------------------------------------------------* 02980000
                                    584 * MODE = OUTPUT                                                       * 02990000
                                    585 *---------------------------------------------------------------------* 03000000
000580 4170 7001      00001         586          LA    R7,1(,R7)                                                03010000
                                    587 *                                                                       03020000
000584 5970 CC94      00CE0         588          C     R7,=F'16'           ORG = RRDS AND ACCESS = DYNAMIC      03030000
000588 4780 C5C4      00610         589          BE    @OOUTNO               OUTPUT NOT PERMITTED               03040000
00058C 5970 CC98      00CE4         590          C     R7,=F'22'           ORG = KSDS AND ACCESS = DIRECT       03050000
000590 4780 C5C4      00610         591          BE    @OOUTNO               OUTPUT NOT PERMITTED               03060000
000594 5970 CC9C      00CE8         592          C     R7,=F'25'           ORG = KSDS AND ACCESS = DYNAMIC      03070000
000598 4780 C5C4      00610         593          BE    @OOUTNO               OUTPUT NOT PERMITTED               03080000
========================================================================================================================
                                                                                                               PAGE    8
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                    594 *                                                                       03090000
00059C 4120 9028      00028         595          LA    R2,IFGACB                                                03100000
                                    596          MODCB ACB=(R2),MACRF=(OUT)                                     03110000
0005D0 4120 9078      00078         613          LA    R2,IFGRPL                                                03120000
                                    614          MODCB RPL=(R2),OPTCD=(NUP)                                     03130000
                                    633 *                                                                       03140000
00060C 47F0 C644      00690         634          B     @OPEN30                                                  03150000
                                    635 *                                                                       03160000
000610                              636 @OOUTNO  DS    0H                                                       03170000
000610 D201 8008 CCB8 00008 00D04   637          MVC   $RC,=H'27'          ERROR: BAD MODE FOR ORG/ACCESS       03180000
                                    638 *                                                                       03190000
000616 47F0 C09A      000E6         639          B     GOBACK                                                   03200000
                                    640 *                                                                       03210000
00061A                              641 @OBOTH   DS    0H                                                       03220000
                                    642 *---------------------------------------------------------------------* 03230000
                                    643 * MODE = INPUT/OUTPUT                                                 * 03240000
                                    644 *---------------------------------------------------------------------* 03250000
00061A 4170 7002      00002         645          LA    R7,2(,R7)                                                03260000
00061E 4120 9028      00028         646          LA    R2,IFGACB                                                03270000
                                    647          MODCB ACB=(R2),MACRF=(OUT)                                     03280000
000654 4120 9078      00078         664          LA    R2,IFGRPL                                                03290000
                                    665          MODCB RPL=(R2),OPTCD=(UPD)                                     03300000
                                    684 *                                                                       03310000
000690                              685 @OPEN30  DS    0H                                                       03320000
                                    686 *---------------------------------------------------------------------* 03330000
                                    687 * FINISH MODIFICATIONS AND OPEN DATASET                               * 03340000
                                    688 *---------------------------------------------------------------------* 03350000
000690 45E0 C924      00970         689          BAL   R14,MODIFY          MODIFY COMMON RPL PARAMETERS         03360000
                                    690 *                                                                       03370000
000694 4120 9028      00028         691          LA    R2,IFGACB                                                03380000
                                    692          OPEN  ((R2))                                                   03390000
0006AA 92D6 9022      00022         699          MVI   $OPENSW,C'O'                                             03400000
                                    700 *                                                                       03410000
0006AE 47F0 C09A      000E6         701          B     GOBACK                                                   03420000
                                    702 *                                                                       03430000
0006B2                              703 @CLOSE   DS    0H                                                       03440000
                                    704 *---------------------------------------------------------------------* 03450000
                                    705 * CLOSE THE DATASET.                                                  * 03460000
                                    706 *---------------------------------------------------------------------* 03470000
                                    707 *                                                                       03480000
0006B2 4120 9028      00028         708          LA    R2,IFGACB                                                03490000
                                    709          CLOSE ((R2))                                                   03500000
0006CA 92C3 9022      00022         716          MVI   $OPENSW,C'C'                                             03510000
                                    717 *                                                                       03520000
0006CE 47F0 C09A      000E6         718          B     GOBACK                                                   03530000
                                    719 *                                                                       03540000
0006D2                              720 @READ    DS    0H                                                       03550000
                                    721 *---------------------------------------------------------------------* 03560000
                                    722 * READ RECORD USING KEY/RRN FROM THE DATASET                          * 03570000
                                    723 *---------------------------------------------------------------------* 03580000
0006D2 45E0 C924      00970         724          BAL   R14,MODIFY          MODIFY COMMON RPL PARAMETERS         03590000
                                    725 *                                                                       03600000
                                    726          GET   RPL=(R2)                                                 03610000
                                    733 *                                                                       03620000
                                    734          SHOWCB RPL=(R2),FIELDS=RECLEN,AREA=FEEDBACK,LENGTH=4           03630000
========================================================================================================================
                                                                                                               PAGE    9
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
0006FC 5870 CBC0      00C0C         741          L     R7,FEEDBACK                                              03640000
000700 4070 901C      0001C         742          STH   R7,$RECLEN                                               03650000
                                    743 *                                                                       03660000
000704 47F0 C09A      000E6         744          B     GOBACK                                                   03670000
                                    745 *                                                                       03680000
000708                              746 @WRITE   DS    0H                                                       03690000
                                    747 *---------------------------------------------------------------------* 03700000
                                    748 * WRITE PASSED RECORD TO THE DATASET (LOAD OR INSERTION)              * 03710000
                                    749 *---------------------------------------------------------------------* 03720000
000708 45E0 C924      00970         750          BAL   R14,MODIFY          MODIFY COMMON RPL PARAMETERS         03730000
                                    751 *                                                                       03740000
00070C 1B77                         752          SR    R7,R7                                                    03750000
00070E D505 9016 CC4A 00016 00C96   753          CLC   $MODE,$UPDATE       IF ACB IS OPEN FOR UPDATE            03760000
000714 4780 C6D0      0071C         754          BE    @WRITE20              MUST MODIFY FOR THIS INSERTION     03770000
                                    755 *                                                                       03780000
000718 47F0 C70C      00758         756          B     @WRITE50            NO NEED TO MODIFY                    03790000
                                    757 *                                                                       03800000
00071C                              758 @WRITE20 DS    0H                                                       03810000
                                    759          MODCB RPL=(R2),OPTCD=(NUP)                                     03820000
000754 5870 CCA0      00CEC         778          L     R7,=A(@WRITERS)     ADDRESS TO RESTORE DEFAULT           03830000
                                    779 *                                                                       03840000
000758                              780 @WRITE50 DS    0H                                                       03850000
                                    781          PUT   RPL=(R2)                                                 03860000
                                    788 *                                                                       03870000
000768 1277                         789          LTR   R7,R7               WAS RPL MODIFIED FOR THIS WRITE?     03880000
00076A 4780 C09A      000E6         790          BZ    GOBACK                NO, JUST RETURN                    03890000
                                    791 *                                                                       03900000
00076E                              792 @WRITERS DS    0H                                                       03910000
                                    793 *                                                                       03920000
00076E 1B77                         794          SR    R7,R7               TO AVOID LOOPING IF ERROR ON MODCB   03930000
                                    795          MODCB RPL=(R2),OPTCD=(UPD)                                     03940000
                                    814 *                                                                       03950000
0007A8 47F0 C09A      000E6         815          B     GOBACK                                                   03960000
                                    816 *                                                                       03970000
0007AC                              817 @REWRITE DS    0H                                                       03980000
                                    818 *---------------------------------------------------------------------* 03990000
                                    819 * REWRITE THE RECORD PREVIOUSLY READ FROM THE DATASET                 * 04000000
                                    820 *---------------------------------------------------------------------* 04010000
0007AC 4120 9078      00078         821          LA    R2,IFGRPL                                                04020000
                                    822 *                                                                       04030000
0007B0 1B33                         823          SR    R3,R3               CLEAR R4 TO LOAD                     04040000
0007B2 4830 901C      0001C         824          LH    R3,$RECLEN            LENGTH OF RECORD                   04050000
                                    825 *                                                                       04060000
                                    826          MODCB RPL=(R2),RECLEN=(R3),AREALEN=(R3),AREA=(R10)             04070000
                                    854 *                                                                       04080000
                                    855          PUT   RPL=(R2)                                                 04090000
                                    862 *                                                                       04100000
00081C 47F0 C09A      000E6         863          B     GOBACK                                                   04110000
                                    864 *                                                                       04120000
000820                              865 @DELETE  DS    0H                                                       04130000
                                    866 *---------------------------------------------------------------------* 04140000
                                    867 * DELETE THE PREVIOUSLY READ RECORD FROM THE DATASET                  * 04150000
                                    868 *---------------------------------------------------------------------* 04160000
000820 4120 9078      00078         869          LA    R2,IFGRPL                                                04170000
                                    870 *                                                                       04180000
========================================================================================================================
                                                                                                               PAGE   10
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
000824 1B44                         871          SR    R4,R4               CLEAR R4 TO LOAD                     04190000
000826 4840 901C      0001C         872          LH    R4,$RECLEN            LENGTH OF RECORD                   04200000
                                    873 *                                                                       04210000
                                    874          MODCB RPL=(R2),RECLEN=(R3),AREALEN=(R3),AREA=(R10)             04220000
                                    902 *                                                                       04230000
                                    903          ERASE RPL=(R2)                                                 04240000
                                    910 *                                                                       04250000
000890 47F0 C09A      000E6         911          B     GOBACK                                                   04260000
                                    912 *                                                                       04270000
000894                              913 @START   DS    0H                                                       04280000
                                    914 *---------------------------------------------------------------------* 04290000
                                    915 * POSITION RECORD POINTER BASED UPON PROVIDED ARGUMENT                * 04300000
                                    916 *---------------------------------------------------------------------* 04310000
000894 45E0 C924      00970         917          BAL   R14,MODIFY          MODIFY COMMON RPL PARAMETERS         04320000
                                    918 *                                                                       04330000
000898 95C5 8005      00005         919          CLI   $COMMAND+5,C'E'     KEY 'EQ' REQUESTED                   04340000
00089C 4780 C858      008A4         920          BE    @STARTEQ                                                 04350000
                                    921 *                                                                       04360000
0008A0 47F0 C896      008E2         922          B     @STARTGE                                                 04370000
                                    923 *                                                                       04380000
0008A4                              924 @STARTEQ DS    0H                                                       04390000
                                    925 *                                                                       04400000
                                    926          MODCB RPL=(R2),OPTCD=(KEQ)                                     04410000
0008DC 1B77                         945          SR    R7,R7               NO NEED TO RESTORE IF ERROR          04420000
                                    946 *                                                                       04430000
0008DE 47F0 C8D4      00920         947          B     @START50                                                 04440000
                                    948 *                                                                       04450000
0008E2                              949 @STARTGE DS    0H                                                       04460000
                                    950 *                                                                       04470000
                                    951          MODCB RPL=(R2),OPTCD=(KGE)                                     04480000
00091C 5870 CCA4      00CF0         970          L     R7,=A(@STARTRS)     ADDRESS TO RESTORE DEFAULT           04490000
                                    971 *                                                                       04500000
000920                              972 @START50 DS    0H                                                       04510000
                                    973 *                                                                       04520000
                                    974          POINT RPL=(R2)                                                 04530000
                                    981 *                                                                       04540000
000930                              982 @STARTRS DS    0H                                                       04550000
                                    983 *                                                                       04560000
000930 1B77                         984          SR    R7,R7               TO AVOID LOOPING IF ERROR ON MODCB   04570000
                                    985          MODCB RPL=(R2),OPTCD=(KEQ)                                     04580000
                                   1004 *                                                                       04590000
00096C 47F0 C09A      000E6        1005          B     GOBACK                                                   04600000
                                   1006 *                                                                       04610000
000970                             1007 MODIFY   DS    0H                                                       04620000
                                   1008 *---------------------------------------------------------------------* 04630000
                                   1009 * THIS ROUTINE IS PERFORMED FOR EACH COMMAND TO MODIFY THE RPL        * 04640000
                                   1010 * CONTROL BLOCK BASED UPON THE ORGANIZATION, ACCESS, AND OPEN MODE.   * 04650000
                                   1011 *---------------------------------------------------------------------* 04660000
000970 50E0 CA98      00AE4        1012          ST    R14,SAVER14         SAVE RETURN ADDRESS                  04670000
                                   1013 *                                                                       04680000
000974 4120 9078      00078        1014          LA    R2,IFGRPL           ADDRESS GENERATED RPL                04690000
                                   1015 *                                                                       04700000
000978 1B33                        1016          SR    R3,R3               CLEAR R3 TO LOAD                     04710000
00097A 4830 901C      0001C        1017          LH    R3,$RECLEN            LENGTH OF RECORD                   04720000
                                   1018 *                                                                       04730000
========================================================================================================================
                                                                                                               PAGE   11
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
00097E 1B44                        1019          SR    R4,R4               CLEAR R4 TO CONTAIN KEY ADDRESS      04740000
000980 1B55                        1020          SR    R5,R5               CLEAR R5 TO CONTAIN KEY LENGTH       04750000
                                   1021 *                                                                       04760000
000982 D503 9008 CC14 00008 00C60  1022          CLC   $ORG,$ESDS          IF ORGANIZATION NOT ESDS             04770000
000988 4770 C998      009E4        1023          BNE   MOD20                 MORE MODCB PARMS TO LOAD           04780000
                                   1024 *                                                                       04790000
                                   1025          MODCB RPL=(R2),RECLEN=(R3),AREALEN=(R3),AREA=(R10)             04800000
                                   1053 *                                                                       04810000
0009E0 47F0 CA90      00ADC        1054          B     MOD80                                                    04820000
                                   1055 *                                                                       04830000
0009E4                             1056 MOD20    DS    0H                                                       04840000
0009E4 4140 901E      0001E        1057          LA    R4,$RRN             ADDRESS RELATIVE RECORD NUMBER       04850000
                                   1058 *                                                                       04860000
0009E8 D503 9008 CC1C 00008 00C68  1059          CLC   $ORG,$RRDS          IF ORGANIZATION NOT RRDS             04870000
0009EE 4770 CA10      00A5C        1060          BNE   MOD40                 MORE MODCB PARMS TO LOAD           04880000
                                   1061 *                                                                       04890000
                                   1062          MODCB RPL=(R2),RECLEN=(R3),AREALEN=(R3),AREA=(R10),ARG=(R4)    04900000
                                   1095 *                                                                       04910000
000A58 47F0 CA90      00ADC        1096          B     MOD80                                                    04920000
                                   1097 *                                                                       04930000
000A5C                             1098 MOD40    DS    0H                                                       04940000
000A5C 4840 901E      0001E        1099          LH    R4,$RKP             LOAD KEY OFFSET                      04950000
000A60 1A4A                        1100          AR    R4,R10              ADD RECORD ADDRESS                   04960000
                                   1101 *                                                                       04970000
000A62 4850 9020      00020        1102          LH    R5,$KEYLEN          LOAD KEY LENGTH                      04980000
                                   1103 *                                                                       04990000
                                   1104          MODCB RPL=(R2),RECLEN=(R3),AREALEN=(R3),AREA=(R10),           C05000000
                                                       ARG=(R4),KEYLEN=(R5)                                     05010000
                                   1142 *                                                                       05020000
000ADC                             1143 MOD80    DS    0H                                                       05030000
000ADC 58E0 CA98      00AE4        1144          L     R14,SAVER14         RELOAD RETURN ADDRESS                05040000
000AE0 07FE                        1145          BR    R14                                                      05050000
                                   1146 *                                                                       05060000
000AE4                             1147 SAVER14  DS    F                   SAVE LOCAL RETURN ADDRESS            05070000
                                   1148 *                                                                       05080000
000AE8                             1149 VSERROR  DS    0H                                                       05090000
                                   1150 *---------------------------------------------------------------------* 05100000
                                   1151 * ERROR OCCURED DURING VSAM PROCESSING AND EXIT LIST BROUGHT US HERE. * 05110000
                                   1152 * RETRIEVE FEEDBACK INFORMATION AND PLACE IN THE PARAMETER BLOCK TO   * 05120000
                                   1153 * RETURN TO CALLER.                                                   * 05130000
                                   1154 *---------------------------------------------------------------------* 05140000
000AE8 D201 8008 CCBA 00008 00D06  1155          MVC   $RC,=H'8'           INDICATE LOGICAL OR PHYSICAL ERROR   05150000
                                   1156 *                                                                       05160000
000AEE 4120 9078      00078        1157          LA    R2,IFGRPL                                                05170000
                                   1158          SHOWCB RPL=(R2),FIELDS=FDBK,AREA=FEEDBACK,LENGTH=4             05180000
                                   1177 *                                                                       05190000
000B28 BF5F CBC0      00C0C        1178          ICM   R5,B'1111',FEEDBACK RETRIEVE FEEDBACK CODES              05200000
000B2C BE54 800B      0000B        1179          STCM  R5,B'0100',$VSRC+1      AND VSAM RETURN CODE             05210000
000B30 BE52 800D      0000D        1180          STCM  R5,B'0010',$VSFUNC+1    AND VSAM FUNCTION CODE           05220000
000B34 BE51 800F      0000F        1181          STCM  R5,B'0001',$VSREAS+1    AND VSAM FEEDBACK CODE           05230000
                                   1182 *                                                                       05240000
                                   1183 *---------------------------------------------------------------------* 05250000
                                   1184 * STARTGE AND WRITE COMMANDS MODIFY THE RPL, IF AN ERROR OCCURRED     * 05260000
                                   1185 * THOSE MODIFICATIONS NEED TO BE RESET.  IF R7 IS NOT ZERO, A BRANCH  * 05270000
                                   1186 * TO R7 WILL GO TO THE APPROPRIATE RESET CODE.                        * 05280000
========================================================================================================================
                                                                                                               PAGE   12
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                   1187 *---------------------------------------------------------------------* 05290000
000B38 D507 8000 CC88 00000 00CD4  1188          CLC   $COMMAND,$STARTGE                                        05300000
000B3E 4780 CB00      00B4C        1189          BE    VSERR20                                                  05310000
000B42 D507 8000 CC68 00000 00CB4  1190          CLC   $COMMAND,$WRITE                                          05320000
000B48 4770 C09A      000E6        1191          BNE   GOBACK                                                   05330000
                                   1192 *                                                                       05340000
000B4C                             1193 VSERR20  DS    0H                                                       05350000
000B4C 1277                        1194          LTR   R7,R7               IF R7=0 THEN NO RESET NECESSARY      05360000
000B4E 4780 C09A      000E6        1195          BZ    GOBACK                                                   05370000
                                   1196 *                                                                       05380000
000B52 07F7                        1197          BR    R7                  GO TO RESET MODCB                    05390000
                                   1198 *                                                                       05400000
000B54                             1199 VSEOF    DS    0H                                                       05410000
                                   1200 *---------------------------------------------------------------------* 05420000
                                   1201 * END OF INPUT OCCURED DURING READ AND THE EXIT LIST BROUGHT US HERE. * 05430000
                                   1202 * PLACE SPECIAL VALUE OF 9999 IN $RC TO INDICATE END OF FILE TO THE   * 05440000
                                   1203 * CALLING PROGRAM.                                                    * 05450000
                                   1204 *---------------------------------------------------------------------* 05460000
000B54 D201 8008 CCBC 00008 00D08  1205          MVC   $RC,=H'9999'                                             05470000
                                   1206 *                                                                       05480000
000B5A 47F0 C09A      000E6        1207          B     GOBACK                                                   05490000
                                   1208 *                                                                       05500000
                                   1209 *---------------------------------------------------------------------* 05510000
                                   1210 * THE ACCESS CONTROL BLOCK BELOW IS USED AS A MODEL TO BUILD ACB'S    * 05520000
                                   1211 * DYNAMICALLY AS REQUIRED TO OPEN FILES FOR THE CALLER.               * 05530000
                                   1212 *---------------------------------------------------------------------* 05540000
                                   1213 ACBMODEL ACB   DDNAME=VSAMDD,EXLST=EXL001                               05550000
                                   1250 *                                                                       05560000
                                   1251 *---------------------------------------------------------------------* 05570000
                                   1252 * THE REQUEST PARAMETER BLOCK BELOW IS USED AS A MODEL TO BUILD RPL'S * 05580000
                                   1253 * DYNAMICALLY AS REQUIRED TO PROCESS FILES FOR THE CALLER.            * 05590000
                                   1254 *---------------------------------------------------------------------* 05600000
                                   1255 RPLMODEL RPL   ACB=ACBMODEL                                             05610000
                                   1289 *                                                                       05620000
                                   1290 *---------------------------------------------------------------------* 05630000
                                   1291 * THE EXIT ROUTINE LIST BLOCK PROVIDES THE ADDRESSES FOR ERROR        * 05640000
                                   1292 * HANDLING AND END OF DATASET CONDITIONS.                             * 05650000
                                   1293 *---------------------------------------------------------------------* 05660000
                                   1294 EXL001   EXLST LERAD=VSERROR,SYNAD=VSERROR,EODAD=VSEOF                  05670000
                                   1306 *                                                                       05680000
                                   1307 *---------------------------------------------------------------------* 05690000
                                   1308 * FEEDBACK AFTER LOGIC OR I/O ERROR WILL BE RETRIEVED IN THE FULLWORD * 05700000
                                   1309 * BELOW TO BE RETURNED TO THE CALLER.                                 * 05710000
                                   1310 *---------------------------------------------------------------------* 05720000
000C0C                             1311 FEEDBACK DS    F                                                        05730000
                                   1312 *                                                                       05740000
                                   1313 *---------------------------------------------------------------------* 05750000
                                   1314 * MY REGISTER SAVE AREA                                               * 05760000
                                   1315 *---------------------------------------------------------------------* 05770000
000C10                             1316 SAVEAREA DS    18F                                                      05780000
                                   1317 *                                                                       05790000
                                   1318 *---------------------------------------------------------------------* 05800000
                                   1319 * THE FOLLOWING CONSTANTS ARE USED TO PARSE PARAMETERS PASSED FROM    * 05810000
                                   1320 * THE CALLER.                                                         * 05820000
                                   1321 *---------------------------------------------------------------------* 05830000
========================================================================================================================
                                                                                                               PAGE   13
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
000C58 4040404040404040            1322 $BLANK   DC    CL08'        '                                           05840000
                                   1323 *                                                                       05850000
000C60 C5E2C4E2                    1324 $ESDS    DC    CL04'ESDS'                                               05860000
000C64 D2E2C4E2                    1325 $KSDS    DC    CL04'KSDS'                                               05870000
000C68 D9D9C4E2                    1326 $RRDS    DC    CL04'RRDS'                                               05880000
                                   1327 *                                                                       05890000
000C6C C4C9D9C5C3E34040            1328 $DIR     DC    CL10'DIRECT    '                                         05900000
000C76 E2C5D8E4C5D5E3C9            1329 $SEQ     DC    CL10'SEQUENTIAL'                                         05910000
000C80 C4E8D5C1D4C9C340            1330 $DYN     DC    CL10'DYNAMIC   '                                         05920000
                                   1331 *                                                                       05930000
000C8A C9D5D7E4E340                1332 $INPUT   DC    CL06'INPUT '                                             05940000
000C90 D6E4E3D7E4E3                1333 $OUTPUT  DC    CL06'OUTPUT'                                             05950000
000C96 E4D7C4C1E3C5                1334 $UPDATE  DC    CL06'UPDATE'                                             05960000
                                   1335 *                                                                       05970000
000C9C D6D7C5D540404040            1336 $OPEN    DC    CL08'OPEN    '                                           05980000
000CA4 C3D3D6E2C5404040            1337 $CLOSE   DC    CL08'CLOSE   '                                           05990000
000CAC D9C5C1C440404040            1338 $READ    DC    CL08'READ    '                                           06000000
000CB4 E6D9C9E3C5404040            1339 $WRITE   DC    CL08'WRITE   '                                           06010000
000CBC D9C5E6D9C9E3C540            1340 $REWRITE DC    CL08'REWRITE '                                           06020000
000CC4 C4C5D3C5E3C54040            1341 $DELETE  DC    CL08'DELETE  '                                           06030000
000CCC E2E3C1D9E3C5D840            1342 $STARTEQ DC    CL08'STARTEQ '                                           06040000
000CD4 E2E3C1D9E3C7C540            1343 $STARTGE DC    CL08'STARTGE '                                           06050000
                                   1344 *                                                                       06060000
000CE0                             1345          LTORG                                                          06070000
000CE0 00000010                    1346                =F'16'
000CE4 00000016                    1347                =F'22'
000CE8 00000019                    1348                =F'25'
000CEC 0000076E                    1349                =A(@WRITERS)
000CF0 00000930                    1350                =A(@STARTRS)
000CF4 0016                        1351                =H'22'
000CF6 0014                        1352                =H'20'
000CF8 0015                        1353                =H'21'
000CFA 001C                        1354                =H'28'
000CFC 0017                        1355                =H'23'
000CFE 0018                        1356                =H'24'
000D00 0019                        1357                =H'25'
000D02 001A                        1358                =H'26'
000D04 001B                        1359                =H'27'
000D06 0008                        1360                =H'8'
000D08 270F                        1361                =H'9999'
                                   1362 *                                                                       06080000
000000                             1363 $CCOMM   DSECT                     ACCESSED VIA R8                      06090000
                                   1364 *---------------------------------------------------------------------* 06100000
                                   1365 * THE DUMMY SECTION BELOW MAPS THE COMMAND COMMUNICATION PARAMETER    * 06110000
                                   1366 * BLOCK PASSED FROM THE CALLING PROGRAM.                              * 06120000
                                   1367 *---------------------------------------------------------------------* 06130000
000000                             1368 $COMMAND DS    CL08                COMMAND FUNCTION                     06140000
000008                             1369 $RC      DS    H                   RETURN CODE                          06150000
00000A                             1370 $VSRC    DS    H                   VSAM RETURN CODE                     06160000
00000C                             1371 $VSFUNC  DS    H                   VSAM FUNCTION CODE                   06170000
00000E                             1372 $VSREAS  DS    H                   VSAM REASON CODE                     06180000
                                   1373 *                                                                       06190000
000000                             1374 $FCOMM   DSECT                     ACCESSED VIA R9                      06200000
                                   1375 *---------------------------------------------------------------------* 06210000
                                   1376 * THE DUMMY SECTION BELOW MAPS THE DATASET CONTROL PARAMETER BLOCK    * 06220000
========================================================================================================================
                                                                                                               PAGE   14
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                                       ASM 0201 15.17 11/24/73
                                   1377 * PASSED FROM THE CALLING PROGRAM.                                    * 06230000
                                   1378 *---------------------------------------------------------------------* 06240000
                                   1379 * THE PARAMETERS BELOW MUST BE SET BEFORE THE DATASET IS OPENED AND   * 06250000
                                   1380 * (GENERALLY) SHOULD NOT BE MODIFIED WHILE THE DATASET IS OPEN.       * 06260000
                                   1381 *---------------------------------------------------------------------* 06270000
000000                             1382 $DDNAME  DS    CL08                DD NAME                              06280000
000008                             1383 $ORG     DS    CL04                ORGANIZATION (KS/ES/RR)              06290000
00000C                             1384 $ACCESS  DS    CL10                ACCESS MODE (DIR/SEQ/DYNAM)          06300000
000016                             1385 $MODE    DS    CL06                MODE (INPUT/OUTPUT/UPDATE)           06310000
00001C                             1386 $RECLEN  DS    H                   RECORD LENGTH                        06320000
00001E                             1387 $RKP     DS    H                   KEY OFFSET FROM BEGINNING OF RECORD  06330000
000020                             1388 $KEYLEN  DS    H                   KEY LENGTH                           06340000
                            0001E  1389 $RRN     EQU   $RKP                RELATIVE RECORD NUMBER               06350000
000022                             1390 $OPENSW  DS    CL1                 OPEN FLAG (O=OPEN/C=CLOSED)          06360000
000023                             1391          DS    CL1                 FORCE ALIGNMENT                      06370000
                                   1392          IFGACB DSECT=NO           AREA IN WHICH ACB WILL BE BUILT      06380000
                            0004C  1645 $ACBLEN  EQU   (*-IFGACB)                                               06390000
                                   1646          IFGRPL DSECT=NO           AREA IN WHICH RPL WILL BE BUILT      06400000
                            0004C  2027 $RPLLEN  EQU   (*-IFGRPL)                                               06410000
                                   2028 *                                                                       06420000
000000                             2029 $RECORD  DSECT                     ACCESSED VIA R10                     06430000
                                   2030 *---------------------------------------------------------------------* 06440000
                                   2031 * THE FOLLOWING AREA IS MAPPED TO THE CALLER'S STORAGE WHICH CONTAINS * 06450000
                                   2032 * THE DATA RECORD.  THE STORAGE ALLOCATED MUST MATCH THE RECORD       * 06460000
                                   2033 * LENGTH SET IN THE FILE PARAMETER BLOCK ABOVE OR IT MAY RESULT IN    * 06470000
                                   2034 * DESTRUCTIVE OVERLAP OF OTHER STORAGE IN THE CALLING PROGRAM WHICH   * 06480000
                                   2035 * COULD RESULT IN AN ABEND.                                           * 06490000
                                   2036 *---------------------------------------------------------------------* 06500000
000000                             2037 $IOAREA  DS    0CL500                                                   06510000
                                   2038 *                                                                       06520000
                            00000  2039 R0       EQU   0                                                        06530000
                            00001  2040 R1       EQU   1                                                        06540000
                            00002  2041 R2       EQU   2                                                        06550000
                            00003  2042 R3       EQU   3                                                        06560000
                            00004  2043 R4       EQU   4                                                        06570000
                            00005  2044 R5       EQU   5                                                        06580000
                            00006  2045 R6       EQU   6                                                        06590000
                            00007  2046 R7       EQU   7                                                        06600000
                            00008  2047 R8       EQU   8                                                        06610000
                            00009  2048 R9       EQU   9                                                        06620000
                            0000A  2049 R10      EQU   10                                                       06630000
                            0000B  2050 R11      EQU   11                                                       06640000
                            0000C  2051 R12      EQU   12                                                       06650000
                            0000D  2052 R13      EQU   13                                                       06660000
                            0000E  2053 R14      EQU   14                                                       06670000
                            0000F  2054 R15      EQU   15                                                       06680000
                                   2055 *                                                                       06690000
                                   2056          END                                                            06700000
========================================================================================================================
                                                  RELOCATION DICTIONARY                                        PAGE   15
POS.ID   REL.ID   FLAGS   ADDRESS                                                                ASM 0201 15.17 11/24/73
 0001     0001      0C     000138
 0001     0001      0C     00013C
 0001     0001      0C     000180
 0001     0001      0C     000184
 0001     0001      0C     0001E0
 0001     0001      0C     0001E4
 0001     0001      0C     000214
 0001     0001      0C     000218
 0001     0001      0C     000258
 0001     0001      0C     00025C
 0001     0001      0C     00028C
 0001     0001      0C     000290
 0001     0001      0C     0002D0
 0001     0001      0C     0002D4
 0001     0001      0C     000304
 0001     0001      0C     000308
 0001     0001      0C     000368
 0001     0001      0C     00036C
 0001     0001      0C     00039C
 0001     0001      0C     0003A0
 0001     0001      0C     0003F4
 0001     0001      0C     0003F8
 0001     0001      0C     000428
 0001     0001      0C     00042C
 0001     0001      0C     000480
 0001     0001      0C     000484
 0001     0001      0C     0004B4
 0001     0001      0C     0004B8
 0001     0001      0C     000518
 0001     0001      0C     00051C
 0001     0001      0C     00054C
 0001     0001      0C     000550
 0001     0001      0C     0005A8
 0001     0001      0C     0005AC
 0001     0001      0C     0005DC
 0001     0001      0C     0005E0
 0001     0001      0C     00062C
 0001     0001      0C     000630
 0001     0001      0C     000660
 0001     0001      0C     000664
 0001     0001      0C     000724
 0001     0001      0C     000728
 0001     0001      0C     000778
 0001     0001      0C     00077C
 0001     0001      0C     0007CC
 0001     0001      0C     0007D0
 0001     0001      0C     0007D4
 0001     0001      0C     0007D8
 0001     0001      0C     000840
 0001     0001      0C     000844
 0001     0001      0C     000848
 0001     0001      0C     00084C
 0001     0001      0C     0008AC
 0001     0001      0C     0008B0
 0001     0001      0C     0008EC
========================================================================================================================
                                                  RELOCATION DICTIONARY                                        PAGE   16
POS.ID   REL.ID   FLAGS   ADDRESS                                                                ASM 0201 15.17 11/24/73
 0001     0001      0C     0008F0
 0001     0001      0C     00093C
 0001     0001      0C     000940
 0001     0001      0C     0009A0
 0001     0001      0C     0009A4
 0001     0001      0C     0009A8
 0001     0001      0C     0009AC
 0001     0001      0C     000A0C
 0001     0001      0C     000A10
 0001     0001      0C     000A14
 0001     0001      0C     000A18
 0001     0001      0C     000A1C
 0001     0001      0C     000A84
 0001     0001      0C     000A88
 0001     0001      0C     000A8C
 0001     0001      0C     000A90
 0001     0001      0C     000A94
 0001     0001      0C     000A98
 0001     0001      0C     000AFC
 0001     0001      0C     000B00
 0001     0001      0C     000B0C
 0001     0001      0C     000B84
 0001     0001      0C     000BC4
 0001     0001      0C     000BFE
 0001     0001      0C     000C03
 0001     0001      0C     000C08
 0001     0001      0C     000CEC
 0001     0001      0C     000CF0
========================================================================================================================
                                                  CROSS-REFERENCE                                              PAGE   17
SYMBOL    LEN   VALUE   DEFN    REFERENCES                                                       ASM 0201 15.17 11/24/73
$ACBLEN  00001 0000004C 01645  00146
$ACCESS  00010 0000000C 01384  00356 00358 00360
$BLANK   00008 00000C58 01322  00136
$CCOMM   00001 00000000 01363  00073
$CLOSE   00008 00000CA4 01337  00098
$COMMAND 00008 00000000 01368  00088 00098 00100 00102 00104 00106 00108 00110 00919 01188 01190
$DDNAME  00008 00000000 01382  00136 00151
$DELETE  00008 00000CC4 01341  00106
$DIR     00010 00000C6C 01328  00358
$DYN     00010 00000C80 01330  00360
$ESDS    00004 00000C60 01324  00205 00419 00474 01022
$FCOMM   00001 00000000 01374  00074
$INPUT   00006 00000C8A 01332  00525
$KEYLEN  00002 00000020 01388  01102
$KSDS    00004 00000C64 01325  00209
$MODE    00006 00000016 01385  00525 00527 00529 00753
$OPEN    00008 00000C9C 01336  00088
$OPENSW  00001 00000022 01390  00091 00129 00699 00716
$ORG     00004 00000008 01383  00205 00207 00209 00419 00474 01022 01059
$OUTPUT  00006 00000C90 01333  00527
$RC      00002 00000008 01369  00080 00080 00094 00113 00132 00139 00212 00363 00422 00477 00532 00637 01155 01205
$READ    00008 00000CAC 01338  00100
$RECLEN  00002 0000001C 01386  00742 00824 00872 01017
$RECORD  00001 00000000 02029  00075
$REWRITE 00008 00000CBC 01340  00104
$RKP     00002 0000001E 01387  01099 01389
$RPLLEN  00001 0000004C 02027  00173
$RRDS    00004 00000C68 01326  00207 01059
$RRN     00002 0000001E 01389  01057
$SEQ     00010 00000C76 01329  00356
$STARTEQ 00008 00000CCC 01342  00108
$STARTGE 00008 00000CD4 01343  00110 01188
$UPDATE  00006 00000C96 01334  00529 00753
$VSFUNC  00002 0000000C 01371  00082 00082 01180
$VSRC    00002 0000000A 01370  00081 00081 01179
$VSREAS  00002 0000000E 01372  00083 00083 01181
$WRITE   00008 00000CB4 01339  00102 01190
@CLOSE   00002 000006B2 00703  00099
@COMM02  00002 0000009A 00097  00092
@DELETE  00002 00000820 00865  00107
@IDENT01 00004 00000000 00041  00049
@IDENT02 00009 00000005 00044  00042
@IDENT03 00002 00000046 00048  00042
@IDENT04 00001 00000046 00049  00041
@OBOTH   00002 0000061A 00641  00530
@ODIR    00002 000003D0 00413  00359
@ODIROK  00002 000003E8 00426  00420
@ODYN    00002 0000045C 00468  00361
@ODYNOK  00002 00000474 00481  00475
@OES     00002 000001D2 00216  00206
@OIN     00002 0000050C 00536  00526
@OKS     00002 000002C0 00308  00210
@OOUT    00002 00000580 00582  00528
@OOUTNO  00002 00000610 00636  00589 00591 00593
@OPEN    00002 000000F4 00125  00089
========================================================================================================================
                                                  CROSS-REFERENCE                                              PAGE   18
SYMBOL    LEN   VALUE   DEFN    REFERENCES                                                       ASM 0201 15.17 11/24/73
@OPEN02  00002 00000106 00135  00130
@OPEN03  00002 0000011A 00142  00137
@OPEN10  00002 00000334 00352  00260 00306
@OPEN20  00002 000004E4 00521  00411 00466
@OPEN30  00002 00000690 00685  00580 00634
@ORR     00002 00000248 00262  00208
@OSEQ    00002 0000035C 00367  00357
@READ    00002 000006D2 00720  00101
@REWRITE 00002 000007AC 00817  00105
@START   00002 00000894 00913  00109 00111
@STARTEQ 00002 000008A4 00924  00920
@STARTGE 00002 000008E2 00949  00922
@STARTRS 00002 00000930 00982  01350
@START50 00002 00000920 00972  00947
@WRITE   00002 00000708 00746  00103
@WRITERS 00002 0000076E 00792  01349
@WRITE20 00002 0000071C 00758  00754
@WRITE50 00002 00000758 00780  00756
ACBDDNM  00008 00000050 01544  01550
ACBMODEL 00004 00000B60 01214  00146 01268
EXL001   00004 00000BF8 01295  01236
FEEDBACK 00004 00000C0C 01311  00740 00741 01168 01178
GOBACK   00002 000000E6 00115  00095 00133 00140 00214 00365 00424 00479 00534 00639 00701 00718 00744 00790 00815 00863
                               00911 01005 01191 01195 01207
IDA0005A 00004 00000138 00155  00149 00152 00154 00156
IDA0021A 00004 00000180 00182  00176 00179 00181 00183
IDA0051A 00004 000001E0 00226  00223 00225 00227
IDA0067A 00004 00000214 00244  00241 00243 00245
IDA0097A 00004 00000258 00272  00269 00271 00273
IDA0113A 00004 0000028C 00290  00287 00289 00291
IDA0143A 00004 000002D0 00318  00315 00317 00319
IDA0159A 00004 00000304 00336  00333 00335 00337
IDA0189A 00004 00000368 00377  00374 00376 00378
IDA0205A 00004 0000039C 00395  00392 00394 00396
IDA0235A 00004 000003F4 00432  00429 00431 00433
IDA0251A 00004 00000428 00450  00447 00449 00451
IDA0281A 00004 00000480 00487  00484 00486 00488
IDA0297A 00004 000004B4 00505  00502 00504 00506
IDA0327A 00004 00000518 00546  00543 00545 00547
IDA0343A 00004 0000054C 00564  00561 00563 00565
IDA0373A 00004 000005A8 00600  00597 00599 00601
IDA0389A 00004 000005DC 00618  00615 00617 00619
IDA0419A 00004 0000062C 00651  00648 00650 00652
IDA0435A 00004 00000660 00669  00666 00668 00670
IDA0473A 00004 00000724 00763  00760 00762 00764
IDA0504A 00004 00000778 00799  00796 00798 00800
IDA0534A 00004 000007CC 00833  00827 00828 00829 00830 00832 00834 00835 00836
IDA0567A 00004 00000840 00881  00875 00876 00877 00878 00880 00882 00883 00884
IDA0600A 00004 000008AC 00930  00927 00929 00931
IDA0630A 00004 000008EC 00955  00952 00954 00956
IDA0661A 00004 0000093C 00989  00986 00988 00990
IDA0691A 00004 000009A0 01032  01026 01027 01028 01029 01031 01033 01034 01035
IDA0723A 00004 00000A0C 01070  01063 01064 01065 01066 01067 01069 01071 01072 01073 01074
IDA0756A 00004 00000A84 01113  01105 01106 01107 01108 01109 01110 01112 01114 01115 01116 01117 01118
IDA0792A 00004 00000AFC 01162  01159 01161 01163
========================================================================================================================
                                                  CROSS-REFERENCE                                              PAGE   19
SYMBOL    LEN   VALUE   DEFN    REFERENCES                                                       ASM 0201 15.17 11/24/73
IFGACB   00008 00000028 01423  00146 00147 00178 00221 00267 00313 00372 00427 00482 00541 00595 00646 00691 00708 01645
IFGRPL   00008 00000078 01686  00173 00174 00239 00285 00331 00390 00445 00500 00559 00613 00664 00821 00869 01014 01157
                               02027
MODIFY   00002 00000970 01007  00689 00724 00750 00917
MOD20    00002 000009E4 01056  01023
MOD40    00002 00000A5C 01098  01060
MOD80    00002 00000ADC 01143  01054 01096
RPLMODEL 00004 00000BAC 01256  00173
RPLSTAT  00001 00000084 01754  01755
R1       00001 00000001 02040  00072
R10      00001 0000000A 02049  00072 00075 00828 00876 01027 01064 01100 01106
R11      00001 0000000B 02050  00056 00057 00058 00058
R12      00001 0000000C 02051  00055 00056 00057
R13      00001 0000000D 02052  00060 00061 00062 00063 00119 00119
R14      00001 0000000E 02053  00689 00724 00750 00917 01012 01144 01145
R15      00001 0000000F 02054  00041
R2       00001 00000002 02041  00147 00149 00174 00176 00221 00223 00239 00241 00267 00269 00285 00287 00313 00315 00331
                               00333 00372 00374 00390 00392 00427 00429 00445 00447 00482 00484 00500 00502 00541 00543
                               00559 00561 00595 00597 00613 00615 00646 00648 00664 00666 00691 00696 00708 00713 00728
                               00735 00760 00783 00796 00821 00827 00857 00869 00875 00905 00927 00952 00976 00986 01014
                               01026 01063 01105 01157 01159
R3       00001 00000003 02042  00823 00823 00824 00829 00830 00877 00878 01016 01016 01017 01028 01029 01065 01067 01107
                               01110
R4       00001 00000004 02043  00871 00871 00872 01019 01019 01057 01066 01099 01100 01108
R5       00001 00000005 02044  00060 00062 00063 01020 01020 01102 01109 01178 01179 01180 01181
R7       00001 00000007 02046  00200 00200 00266 00312 00417 00417 00472 00472 00586 00586 00588 00590 00592 00645 00645
                               00741 00742 00752 00752 00778 00789 00789 00794 00794 00945 00945 00970 00984 00984 01194
                               01194 01197
R8       00001 00000008 02047  00072 00073
R9       00001 00000009 02048  00074
SAVEAREA 00004 00000C10 01316  00061
SAVER14  00004 00000AE4 01147  01012 01144
VSEOF    00002 00000B54 01199  01301
VSERROR  00002 00000AE8 01149  01303 01305
VSERR20  00002 00000B4C 01193  01189
========================================================================================================================
                                                  LITERAL CROSS-REFERENCE                                      PAGE   20
SYMBOL    LEN   VALUE   DEFN    REFERENCES                                                       ASM 0201 15.17 11/24/73
=F'16'   00004 00000CE0 01346  00588
=F'22'   00004 00000CE4 01347  00590
=F'25'   00004 00000CE8 01348  00592
=A(@WRITERS)
         00004 00000CEC 01349  00778
=A(@STARTRS)
         00004 00000CF0 01350  00970
=H'22'   00002 00000CF4 01351  00094
=H'20'   00002 00000CF6 01352  00113
=H'21'   00002 00000CF8 01353  00132
=H'28'   00002 00000CFA 01354  00139
=H'23'   00002 00000CFC 01355  00212
=H'24'   00002 00000CFE 01356  00363
=H'25'   00002 00000D00 01357  00422 00477
=H'26'   00002 00000D02 01358  00532
=H'27'   00002 00000D04 01359  00637
=H'8'    00002 00000D06 01360  01155
=H'9999' 00002 00000D08 01361  01205
========================================================================================================================
                                                  ASSEMBLER DIAGNOSTICS AND STATISTICS                         PAGE   21
                                                                                                 ASM 0201 15.17 11/24/73
NO STATEMENTS FLAGGED IN THIS ASSEMBLY
HIGHEST SEVERITY WAS    0
OPTIONS FOR THIS ASSEMBLY
  ALIGN, ALOGIC, BUFSIZE(STD), NODECK, ESD, FLAG(0), LINECOUNT(55), LIST, NOMCALL, YFLAG, WORKSIZE(2097152)
  NOMLOGIC, NONUMBER, OBJECT, NORENT, RLD, NOSTMT, NOLIBMAC, NOTERMINAL, NOTEST, XREF(SHORT)
  SYSPARM()
WORK FILE BUFFER SIZE/NUMBER =19066/ 1
TOTAL RECORDS READ FROM SYSTEM INPUT        670
TOTAL RECORDS READ FROM SYSTEM LIBRARY    15868
TOTAL RECORDS PUNCHED                        71
TOTAL RECORDS PRINTED                       986
========================================================================================================================