         TITLE '**********  ICKWI01:  WRITE IPL RECORDS  ***************00001000
               *********'                                               00002000
        MACRO                                                           00003000
        GETMAIN &R,&LV=                                                 00004000
        L     REG15,0(REG1)           GDTTBL ADDRESS                    00005000
        L     REG15,GDTPRL(REG15)     PROL ROUTINE ADDRESS              00006000
        CNOP  2,4                     BOUNDARY ALIGNMENT                00007000
        LA    REG14,*+14              RETURN ADDRESS                    00008000
        BALR  REG1,REG15              LINKAGE TO PROL ROUTINE           00009000
        DC    A(MODID)                MODULE ID ADDRESS                 00010000
        DC    A(@SIZDATD)             AUTOMATIC STORAGE SIZE ADDRESS    00011000
        MEND                                                            00012000
ICKWI01  CSECT ,                                                   0002 00013000
@MAINENT DS    0H                                                  0002 00014000
         USING *,@15                                               0002 00015000
         B     @PROLOG                                             0002 00016000
         DC    AL1(16)                                             0002 00017000
         DC    C'ICKWI01   78.192'                                 0002 00018000
         DROP  @15                                                      00019000
@PROLOG  STM   @14,@12,12(@13)                                     0002 00020000
         BALR  @12,0                                               0002 00021000
@PSTART  DS    0H                                                  0002 00022000
         USING @PSTART,@12                                         0002 00023000
         L     @00,@SIZDATD                                        0002 00024000
         GETMAIN  R,LV=(0)                                              00025000
         LR    @11,@01                                             0002 00026000
         USING @DATD,@11                                           0002 00027000
         ST    @13,@SA00001+4                                      0002 00028000
         LM    @00,@01,20(@13)                                     0002 00029000
         ST    @11,8(,@13)                                         0002 00030000
         LR    @13,@11                                             0002 00031000
         XC    @ZTEMPS(@ZLEN),@ZTEMPS                                   00032000
         MVC   @PC00001(24),0(@01)                                 0002 00033000
*                                                                  0176 00034000
         EJECT                                                          00035000
*/*****  B E G I N    E X E C U T I O N  *****************************/ 00036000
*                                                                  0177 00037000
*    IF GDTDBG = NULLPTR                                           0177 00038000
*      THEN;                                                       0177 00039000
         L     @10,@PC00001                                        0177 00040000
         L     @10,GDTDBG(,@10)                                    0177 00041000
         LTR   @10,@10                                             0177 00042000
         BZ    @RT00177                                            0177 00043000
*      ELSE                                                        0179 00044000
*        CALL ICKDB010 (GDTTBL                                     0179 00045000
*          ,'WI00');                                               0179 00046000
*                                                                  0179 00047000
*                                                                  0179 00048000
         L     @10,@PC00001                                        0179 00049000
         ST    @10,@AL00001                                        0179 00050000
         LA    @15,@CC00588                                        0179 00051000
         ST    @15,@AL00001+4                                      0179 00052000
         MVI   @AL00001+4,X'80'                                    0179 00053000
         L     @15,GDTDBG(,@10)                                    0179 00054000
         LA    @01,@AL00001                                        0179 00055000
         BALR  @14,@15                                             0179 00056000
*/*  ESTABLISH UPRINT ARGUMENT LIST                                  */ 00057000
*    PRTHDR = 'DARGLIST';                                          0180 00058000
@RT00177 MVC   PRTHDR(8),@CC00589                                  0180 00059000
*    DDSTRU = ADDR(PRTARGS);                                       0181 00060000
         LA    @10,PRTARGS                                         0181 00061000
         ST    @10,DDSTRU                                          0181 00062000
*    PRTARGS = ''B;                                                0182 00063000
         XC    PRTARGS(20),PRTARGS                                 0182 00064000
*    DARGSMOD = MSGMODZ;                                           0183 00065000
         MVC   DARGSMOD(3,@10),MSGMODZ                             0183 00066000
*/*  SET CONDCODE INITIALLY TO INDICATE SUCCESSFUL COMPLETION        */ 00067000
*    CONDCODE = SUCCEEDS;                                          0184 00068000
         L     @10,@PC00001+20                                     0184 00069000
         SLR   @15,@15                                             0184 00070000
         ST    @15,CONDCODE(,@10)                                  0184 00071000
*    TRKCCHH = ''B;                                                0185 00072000
         XC    TRKCCHH(4),TRKCCHH                                  0185 00073000
*/*  OBTAIN BOOTSTRAP RECORDS, MAXIMUM ALLOWABLE LENGTH OF THE IPL   */ 00074000
*/*   PROGRAM RECORD, AND THE RECORD OVERHEAD FOR THE VOLUME         */ 00075000
*/*   (UDEVINFO)                                                     */ 00076000
*    DO I = 1 TO INFOSET;                                          0186 00077000
*                                                                  0186 00078000
         LA    I,1                                                 0186 00079000
@DL00186 DS    0H                                                  0187 00080000
*      CALL ICKDVIN0 (GDTTBL                                       0187 00081000
*               ,VOLIB                                             0187 00082000
*               ,INFOVECT (I)                                      0187 00083000
*               ,POOLID                                            0187 00084000
*               ,INFOPTR (I)                                       0187 00085000
*               ,INFOLEN (I)                                       0187 00086000
*               ,CCODE(I));                                        0187 00087000
         L     @10,@PC00001                                        0187 00088000
         ST    @10,@AL00001                                        0187 00089000
         L     @03,@PC00001+4                                      0187 00090000
         ST    @03,@AL00001+4                                      0187 00091000
         LR    @03,I                                               0187 00092000
         SLA   @03,2                                               0187 00093000
         LA    @15,INFOVECT-4(@03)                                 0187 00094000
         ST    @15,@AL00001+8                                      0187 00095000
         LA    @15,POOLID                                          0187 00096000
         ST    @15,@AL00001+12                                     0187 00097000
         LA    @15,INFOPTR-4(@03)                                  0187 00098000
         ST    @15,@AL00001+16                                     0187 00099000
         LA    @15,INFOLEN-4(@03)                                  0187 00100000
         ST    @15,@AL00001+20                                     0187 00101000
         LA    @03,CCODE-4(@03)                                    0187 00102000
         ST    @03,@AL00001+24                                     0187 00103000
         L     @15,GDTDIN(,@10)                                    0187 00104000
         LA    @01,@AL00001                                        0187 00105000
         BALR  @14,@15                                             0187 00106000
*    END;                                                          0188 00107000
         AH    I,@CH00167                                          0188 00108000
         CH    I,@CH00046                                          0188 00109000
         BNH   @DL00186                                            0188 00110000
*    BOLENGTH(1) = LENGTH(BOOTSTR1);                               0189 00111000
         MVC   BOLENGTH(4),@CF00512                                0189 00112000
*    BOLENGTH(2) = LENGTH(BOOTSTR2);                               0190 00113000
         MVC   BOLENGTH+4(4),@CF00514                              0190 00114000
*/*  READ_VOLUME_LABEL                                               */ 00115000
*    CALL ICKRL01                                                  0191 00116000
*         (GDTTBL                                                  0191 00117000
*         ,VOLIB                                                   0191 00118000
*         ,VLNIMAGE                                                0191 00119000
*         ,LABELS                                                  0191 00120000
*         ,RETCODE);                                               0191 00121000
         L     @10,@PC00001                                        0191 00122000
         ST    @10,@AL00001                                        0191 00123000
         L     @10,@PC00001+4                                      0191 00124000
         ST    @10,@AL00001+4                                      0191 00125000
         LA    @10,VLNIMAGE                                        0191 00126000
         ST    @10,@AL00001+8                                      0191 00127000
         LA    @10,LABELS                                          0191 00128000
         ST    @10,@AL00001+12                                     0191 00129000
         LA    @10,RETCODE                                         0191 00130000
         ST    @10,@AL00001+16                                     0191 00131000
         L     @15,@CV00592                                        0191 00132000
         LA    @01,@AL00001                                        0191 00133000
         BALR  @14,@15                                             0191 00134000
*/*  IF UNABLE TO READ VOLUME LABEL                                  */ 00135000
*    IF RETCODE = FAILURE                                          0192 00136000
*/*    THEN                                                          */ 00137000
*      THEN DO;                                                    0192 00138000
*                                                                  0192 00139000
         CLC   RETCODE(4),@CF00167                                 0192 00140000
         BNE   @RF00192                                            0192 00141000
*/*      ISSUE ERROR MESSAGE (MSGVOL) (UPRINT)                       */ 00142000
*        DARGSENT = MSGVOL;                                        0194 00143000
         L     @10,DDSTRU                                          0194 00144000
         MVI   DARGSENT(@10),X'28'                                 0194 00145000
*        CALL ICKTPPR0 (GDTTBL                                     0195 00146000
*               ,PRTFILE                                           0195 00147000
*               ,DDSTRU);                                          0195 00148000
         L     @10,@PC00001                                        0195 00149000
         ST    @10,@AL00001                                        0195 00150000
         LA    @15,@CF00096                                        0195 00151000
         ST    @15,@AL00001+4                                      0195 00152000
         LA    @15,DDSTRU                                          0195 00153000
         ST    @15,@AL00001+8                                      0195 00154000
         MVI   @AL00001+8,X'80'                                    0195 00155000
         L     @15,GDTPRT(,@10)                                    0195 00156000
         LA    @01,@AL00001                                        0195 00157000
         BALR  @14,@15                                             0195 00158000
*/*      SET CONDCODE TO INDICATE UNSUCCESSFUL COMPLETION (1)        */ 00159000
*        CONDCODE = FAILS;                                         0196 00160000
         L     @10,@PC00001+20                                     0196 00161000
         MVC   CONDCODE(4,@10),@CF00167                            0196 00162000
*/*      END-THEN                                                    */ 00163000
*        END;                                                      0197 00164000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)               */ 00165000
*    IF CONDCODE = SUCCEEDS                                        0198 00166000
*/*    THEN                                                          */ 00167000
*      THEN DO;                                                    0198 00168000
*                                                                  0198 00169000
@RF00192 SLR   @10,@10                                             0198 00170000
         L     @15,@PC00001+20                                     0198 00171000
         C     @10,CONDCODE(,@15)                                  0198 00172000
         BNE   @RF00198                                            0198 00173000
*/*      IF USER VOLUME LABELS EXIST ON THE VOLUME                   */ 00174000
*        IF LABELS > 0                                             0200 00175000
*/*        THEN                                                      */ 00176000
*          THEN DO;                                                0200 00177000
*                                                                  0200 00178000
         L     @15,LABELS                                          0200 00179000
         CR    @15,@10                                             0200 00180000
         BNH   @RF00200                                            0200 00181000
*/*          IF PURGING IS NOT PERMITTED                             */ 00182000
*            IF PRGFLG = NOPURGE                                   0202 00183000
*/*            THEN                                                  */ 00184000
*              THEN DO;                                            0202 00185000
*                                                                  0202 00186000
         L     @10,@PC00001+12                                     0202 00187000
         TM    PRGFLG(@10),B'10000000'                             0202 00188000
         BNZ   @RF00202                                            0202 00189000
*/*              COMPUTE THE ALLOWABLE LENGTH FOR THE IPL PROGRAM    */ 00190000
*                PROGLEN = PROGLEN - LABELS * (UVLENGTH + OVERHEAD);    00191000
         L     @10,INFOPTR+8                                       0204 00192000
         L     @01,INFOPTR+12                                      0204 00193000
         LA    @03,84                                              0204 00194000
         AL    @03,OVERHEAD(,@01)                                  0204 00195000
         MR    @02,@15                                             0204 00196000
         LCR   @03,@03                                             0204 00197000
         AL    @03,PROGLEN(,@10)                                   0204 00198000
         ST    @03,PROGLEN(,@10)                                   0204 00199000
*/*              SET THE PROPER RECORD NUMBER FOR THE IPL PROGRAM    */ 00200000
*                IPLRECNO = LABELS + 4;                            0205 00201000
         AH    @15,@CH00046                                        0205 00202000
         ST    @15,IPLRECNO                                        0205 00203000
*/*              SET THE PROPER RECORD NUMBER IN BOOTSTRAP RECORD 2  */ 00204000
*/*               SEARCH ADDRESS                                     */ 00205000
*                B2SRCHR = IPLRECNO;                               0206 00206000
         L     @10,INFOPTR+4                                       0206 00207000
         STC   @15,B2SRCHR(,@10)                                   0206 00208000
*/*              END-THEN (PURGING IS NOT PERMITTED)                 */ 00209000
*                END;                                              0207 00210000
*/*            ELSE                                                  */ 00211000
*              ELSE DO;                                            0208 00212000
*                                                                  0208 00213000
         B     @RC00202                                            0208 00214000
@RF00202 DS    0H                                                  0209 00215000
*/*              SET RECORD NUMBER TO 4                              */ 00216000
*                IPLRECNO = 4;                                     0209 00217000
         MVC   IPLRECNO(4),@CF00046                                0209 00218000
*/*              END-ELSE                                            */ 00219000
*                END;                                              0210 00220000
*/*          END-THEN (USER VOLUME LABELS EXIST ON THE VOLUME)       */ 00221000
*            END;                                                  0211 00222000
*/*        ELSE (NO VOLUME LABELS EXIST ON THE VOLUME)               */ 00223000
*          ELSE DO;                                                0212 00224000
*                                                                  0212 00225000
         B     @RC00200                                            0212 00226000
@RF00200 DS    0H                                                  0213 00227000
*/*          SET RECORD NUMBER FOR THE IPL RECORD TO 4               */ 00228000
*            IPLRECNO = 4;                                         0213 00229000
         MVC   IPLRECNO(4),@CF00046                                0213 00230000
*/*          END-ELSE                                                */ 00231000
*            END;                                                  0214 00232000
*/*      SET ALLOWABLE PROGRAM LENGTH IN THE BOOTSTRAP RECORD 2      */ 00233000
*        BO2DCCNT = PROGLEN;                                       0215 00234000
@RC00200 L     @10,INFOPTR+4                                       0215 00235000
         L     @01,INFOPTR+8                                       0215 00236000
         MVC   BO2DCCNT(2,@10),PROGLEN+2(@01)                      0215 00237000
*/*      END-THEN (NO ERROR INDICATED)                               */ 00238000
*        END;                                                      0216 00239000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)               */ 00240000
*    IF CONDCODE = SUCCEEDS                                        0217 00241000
*/*    THEN                                                          */ 00242000
*      THEN DO;                                                    0217 00243000
*                                                                  0217 00244000
@RF00198 L     @10,@PC00001+20                                     0217 00245000
         L     @10,CONDCODE(,@10)                                  0217 00246000
         LTR   @10,@10                                             0217 00247000
         BNZ   @RF00217                                            0217 00248000
*/*      OPEN THE IPL DATA SET (UOPEN)                               */ 00249000
*        OPNPTR = ADDR(OPENLIST);                                  0219 00250000
         LA    OPNPTR,OPENLIST                                     0219 00251000
*        OPENLIST = ''B;                                           0220 00252000
         XC    OPENLIST(4),OPENLIST                                0220 00253000
*        OPNOPTIN = YES;                                           0221 00254000
         OI    OPNOPTIN(OPNPTR),B'10000000'                        0221 00255000
*        OPNIOC = ADDR(IOCSPTR);                                   0222 00256000
         LA    @10,IOCSPTR                                         0222 00257000
         ST    @10,OPNIOC(,OPNPTR)                                 0222 00258000
*        OPNDDN = ADDR(DDNAME);                                    0223 00259000
         L     @10,@PC00001+8                                      0223 00260000
         ST    @10,OPNDDN(,OPNPTR)                                 0223 00261000
*        CALL ICKIOOP0 (GDTTBL                                     0224 00262000
*              ,OPENLIST);                                         0224 00263000
         L     @10,@PC00001                                        0224 00264000
         ST    @10,@AL00001                                        0224 00265000
         LA    @15,OPENLIST                                        0224 00266000
         ST    @15,@AL00001+4                                      0224 00267000
         MVI   @AL00001+4,X'80'                                    0224 00268000
         L     @15,GDTOPN(,@10)                                    0224 00269000
         LA    @01,@AL00001                                        0224 00270000
         BALR  @14,@15                                             0224 00271000
*        RESPECIFY RTNREG RSTD;                                    0225 00272000
*        TESTRC = RTNREG;                                          0226 00273000
         STH   RTNREG,TESTRC                                       0226 00274000
*        RESPECIFY RTNREG UNRSTD;                                  0227 00275000
*/*      IF UNABLE TO OPEN THE DATA SET                              */ 00276000
*        IF TESTRC = 4                                             0228 00277000
*/*        THEN                                                      */ 00278000
*          THEN DO;                                                0228 00279000
*                                                                  0228 00280000
         LH    @10,TESTRC                                          0228 00281000
         CH    @10,@CH00046                                        0228 00282000
         BNE   @RF00228                                            0228 00283000
*/*          INDICATE UNSUCCESSFUL COMPLETION                        */ 00284000
*            CONDCODE = FAILS;                                     0230 00285000
         L     @10,@PC00001+20                                     0230 00286000
         MVC   CONDCODE(4,@10),@CF00167                            0230 00287000
*/*          ISSUE ERROR MESSAGE (MSGOPEN) (UPRINT)                  */ 00288000
*            DARGSENT = MSGOPEN;                                   0231 00289000
         L     @10,DDSTRU                                          0231 00290000
         MVI   DARGSENT(@10),X'29'                                 0231 00291000
*            CALL ICKTPPR0 (GDTTBL                                 0232 00292000
*                   ,PRTFILE                                       0232 00293000
*                   ,DDSTRU);                                      0232 00294000
         L     @10,@PC00001                                        0232 00295000
         ST    @10,@AL00001                                        0232 00296000
         LA    @15,@CF00096                                        0232 00297000
         ST    @15,@AL00001+4                                      0232 00298000
         LA    @15,DDSTRU                                          0232 00299000
         ST    @15,@AL00001+8                                      0232 00300000
         MVI   @AL00001+8,X'80'                                    0232 00301000
         L     @15,GDTPRT(,@10)                                    0232 00302000
         LA    @01,@AL00001                                        0232 00303000
         BALR  @14,@15                                             0232 00304000
*/*          END-THEN                                                */ 00305000
*            END;                                                  0233 00306000
*/*      END-THEN                                                    */ 00307000
*        END;                                                      0234 00308000
@RF00228 DS    0H                                                  0235 00309000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED                              */ 00310000
*    IF CONDCODE = SUCCEEDS                                        0235 00311000
*/*    THEN                                                          */ 00312000
*      THEN DO;                                                    0235 00313000
*                                                                  0235 00314000
@RF00217 L     @10,@PC00001+20                                     0235 00315000
         L     @10,CONDCODE(,@10)                                  0235 00316000
         LTR   @10,@10                                             0235 00317000
         BNZ   @RF00235                                            0235 00318000
*/*      IF THE BOOTSTRAP RECORDS ARE SUPPLIED BY THE USER           */ 00319000
*        IF BOOTFLG = BOOTYES                                      0237 00320000
*/*        THEN                                                      */ 00321000
*          THEN DO;                                                0237 00322000
*                                                                  0237 00323000
         L     @10,@PC00001+16                                     0237 00324000
         TM    BOOTFLG(@10),B'10000000'                            0237 00325000
         BNO   @RF00237                                            0237 00326000
*/*          READ IN THE FIRST IPL BOOTSTRAP RECORD (UGET)           */ 00327000
*            CALL ICKIOGT0 (GDTTBL                                 0239 00328000
*                 ,IOCSPTR);                                       0239 00329000
         L     @10,@PC00001                                        0239 00330000
         ST    @10,@AL00001                                        0239 00331000
         LA    @02,IOCSPTR                                         0239 00332000
         ST    @02,@AL00001+4                                      0239 00333000
         MVI   @AL00001+4,X'80'                                    0239 00334000
         L     @15,GDTGET(,@10)                                    0239 00335000
         LA    @01,@AL00001                                        0239 00336000
         BALR  @14,@15                                             0239 00337000
*            INRECPTR = IOCDAD;                                    0240 00338000
         L     @10,IOCSPTR                                         0240 00339000
         L     INRECPTR,IOCDAD(,@10)                               0240 00340000
*/*          IF IDENTIFYING CHARACTERS ARE WRONG                     */ 00341000
*            IF INREC (1:4) ^= BSKEYV (1)                          0241 00342000
*/*            THEN                                                  */ 00343000
*              THEN DO;                                            0241 00344000
*                                                                  0241 00345000
         CLC   INREC(4,INRECPTR),BSKEYV                            0241 00346000
         BE    @RF00241                                            0241 00347000
*/*              ISSUE ERROR MESSAGE (MSGBOOT(1)) (UPRINT)           */ 00348000
*                DARGSENT = MSGBOOT(1);                            0243 00349000
         L     @10,DDSTRU                                          0243 00350000
         MVC   DARGSENT(1,@10),MSGBOOT                             0243 00351000
*                CALL ICKTPPR0 (GDTTBL                             0244 00352000
*                       ,PRTFILE                                   0244 00353000
*                       ,DDSTRU);                                  0244 00354000
         L     @10,@PC00001                                        0244 00355000
         ST    @10,@AL00001                                        0244 00356000
         LA    @15,@CF00096                                        0244 00357000
         ST    @15,@AL00001+4                                      0244 00358000
         LA    @15,DDSTRU                                          0244 00359000
         ST    @15,@AL00001+8                                      0244 00360000
         MVI   @AL00001+8,X'80'                                    0244 00361000
         L     @15,GDTPRT(,@10)                                    0244 00362000
         LA    @01,@AL00001                                        0244 00363000
         BALR  @14,@15                                             0244 00364000
*/*              SET CONDCODE TO INDICATE UNSUCCESSFUL COMPLETION    */ 00365000
*                CONDCODE = FAILS;                                 0245 00366000
         L     @10,@PC00001+20                                     0245 00367000
         MVC   CONDCODE(4,@10),@CF00167                            0245 00368000
*/*              END-THEN                                            */ 00369000
*                END;                                              0246 00370000
*/*            ELSE SAVE THE RECORD                                  */ 00371000
*              ELSE DO;                                            0247 00372000
*                                                                  0247 00373000
         B     @RC00241                                            0247 00374000
@RF00241 DS    0H                                                  0248 00375000
*                BOOTSTR1 (13:36) = INREC (5:28);                  0248 00376000
         L     @10,INFOPTR                                         0248 00377000
         MVC   BOOTSTR1+12(24,@10),INREC+4(INRECPTR)               0248 00378000
*                END;                                              0249 00379000
*/*          END-THEN                                                */ 00380000
*            END;                                                  0250 00381000
@RC00241 DS    0H                                                  0251 00382000
*/*      END-THEN                                                    */ 00383000
*        END;                                                      0251 00384000
@RF00237 DS    0H                                                  0252 00385000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED                              */ 00386000
*    IF CONDCODE = SUCCEEDS                                        0252 00387000
*/*    THEN                                                          */ 00388000
*      THEN DO;                                                    0252 00389000
*                                                                  0252 00390000
@RF00235 L     @10,@PC00001+20                                     0252 00391000
         L     @10,CONDCODE(,@10)                                  0252 00392000
         LTR   @10,@10                                             0252 00393000
         BNZ   @RF00252                                            0252 00394000
*/*      IF THE BOOTSTRAP RECORDS ARE SUPPLIED BY THE USER           */ 00395000
*        IF BOOTFLG = BOOTYES                                      0254 00396000
*/*        THEN                                                      */ 00397000
*          THEN DO;                                                0254 00398000
*                                                                  0254 00399000
         L     @10,@PC00001+16                                     0254 00400000
         TM    BOOTFLG(@10),B'10000000'                            0254 00401000
         BNO   @RF00254                                            0254 00402000
*/*          DO-FOR THE NEXT THREE RECORDS                           */ 00403000
*            DO I = 1 TO 3;                                        0256 00404000
         LA    I,1                                                 0256 00405000
@DL00256 DS    0H                                                  0257 00406000
*/*            READ IN THE SECOND IPL BOOTSTRAP RECORD (UGET)        */ 00407000
*              CALL ICKIOGT0 (GDTTBL                               0257 00408000
*                   ,IOCSPTR);                                     0257 00409000
         L     @10,@PC00001                                        0257 00410000
         ST    @10,@AL00001                                        0257 00411000
         LA    @15,IOCSPTR                                         0257 00412000
         ST    @15,@AL00001+4                                      0257 00413000
         MVI   @AL00001+4,X'80'                                    0257 00414000
         L     @15,GDTGET(,@10)                                    0257 00415000
         LA    @01,@AL00001                                        0257 00416000
         BALR  @14,@15                                             0257 00417000
*              INRECPTR = IOCDAD;                                  0258 00418000
         L     @10,IOCSPTR                                         0258 00419000
         L     INRECPTR,IOCDAD(,@10)                               0258 00420000
*/*            IF IDENTIFYING CHARACTERS ARE WRONG                   */ 00421000
*              IF INREC (1:4) ^= BSKEYV (2)                        0259 00422000
*/*              THEN                                                */ 00423000
*                THEN DO;                                          0259 00424000
*                                                                  0259 00425000
         CLC   INREC(4,INRECPTR),BSKEYV+4                          0259 00426000
         BE    @RF00259                                            0259 00427000
*/*                ISSUE ERROR MESSAGE (MSGBOOT(2)) (UPRINT)         */ 00428000
*                  DARGSENT = MSGBOOT(2);                          0261 00429000
         L     @10,DDSTRU                                          0261 00430000
         MVC   DARGSENT(1,@10),MSGBOOT+1                           0261 00431000
*                  CALL ICKTPPR0 (GDTTBL                           0262 00432000
*                         ,PRTFILE                                 0262 00433000
*                         ,DDSTRU);                                0262 00434000
         L     @10,@PC00001                                        0262 00435000
         ST    @10,@AL00001                                        0262 00436000
         LA    @15,@CF00096                                        0262 00437000
         ST    @15,@AL00001+4                                      0262 00438000
         LA    @15,DDSTRU                                          0262 00439000
         ST    @15,@AL00001+8                                      0262 00440000
         MVI   @AL00001+8,X'80'                                    0262 00441000
         L     @15,GDTPRT(,@10)                                    0262 00442000
         LA    @01,@AL00001                                        0262 00443000
         BALR  @14,@15                                             0262 00444000
*/*                SET CONDCODE TO INDICATE UNSUCCESSFUL COMPLETION  */ 00445000
*                  CONDCODE = FAILS;                               0263 00446000
         L     @10,@PC00001+20                                     0263 00447000
         MVC   CONDCODE(4,@10),@CF00167                            0263 00448000
*/*                LEAVE                                             */ 00449000
*                  GOTO ENDFOR1;                                   0264 00450000
         B     ENDFOR1                                             0264 00451000
*/*                END-THEN                                          */ 00452000
*                  END;                                            0265 00453000
*/*              ELSE SAVE THE RECORD                                */ 00454000
*                ELSE DO;                                          0266 00455000
*                                                                  0266 00456000
@RF00259 DS    0H                                                  0267 00457000
*                  IF I = 1                                        0267 00458000
*                    THEN DO;                                      0267 00459000
*                                                                  0267 00460000
         CH    I,@CH00167                                          0267 00461000
         BNE   @RF00267                                            0267 00462000
*                      BO2DATA (1:68) = INREC (5:72);              0269 00463000
         L     @10,INFOPTR+4                                       0269 00464000
         MVC   BO2DATA(68,@10),INREC+4(INRECPTR)                   0269 00465000
*                      END;                                        0270 00466000
*                  IF I = 2                                        0271 00467000
*                    THEN DO;                                      0271 00468000
*                                                                  0271 00469000
@RF00267 CH    I,@CH00118                                          0271 00470000
         BNE   @RF00271                                            0271 00471000
*                      BO2DATA (69:136) = INREC (5:72);            0273 00472000
         L     @10,INFOPTR+4                                       0273 00473000
         MVC   BO2DATA+68(68,@10),INREC+4(INRECPTR)                0273 00474000
*                      END;                                        0274 00475000
*                  IF I = 3                                        0275 00476000
*                    THEN DO;                                      0275 00477000
*                                                                  0275 00478000
@RF00271 CH    I,@CH00138                                          0275 00479000
         BNE   @RF00275                                            0275 00480000
*                      BO2DATA (137:144) = INREC (5:12);           0277 00481000
         L     @10,INFOPTR+4                                       0277 00482000
         MVC   BO2DATA+136(8,@10),INREC+4(INRECPTR)                0277 00483000
*                      END;                                        0278 00484000
*                  END;                                            0279 00485000
@RF00275 DS    0H                                                  0280 00486000
*/*            END-FOR                                               */ 00487000
*              END;                                                0280 00488000
         AL    I,@CF00167                                          0280 00489000
         CH    I,@CH00138                                          0280 00490000
         BNH   @DL00256                                            0280 00491000
*/*          END-THEN                                                */ 00492000
*            ENDFOR1:                                              0281 00493000
*            END;                                                  0281 00494000
ENDFOR1  DS    0H                                                  0282 00495000
*/*      END-THEN                                                    */ 00496000
*        END;                                                      0282 00497000
@RF00254 DS    0H                                                  0283 00498000
*/*  DO-FOR BOTH THE BOOT-STRAP RECORDS                              */ 00499000
*    DO I = 1 TO 2;                                                0283 00500000
@RF00252 LA    I,1                                                 0283 00501000
@DL00283 DS    0H                                                  0284 00502000
*/*    IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)             */ 00503000
*      IF CONDCODE = SUCCEEDS                                      0284 00504000
*/*      THEN                                                        */ 00505000
*        THEN DO;                                                  0284 00506000
*                                                                  0284 00507000
         L     @10,@PC00001+20                                     0284 00508000
         L     @10,CONDCODE(,@10)                                  0284 00509000
         LTR   @10,@10                                             0284 00510000
         BNZ   @RF00284                                            0284 00511000
*/*        WRITE THE IPL BOOTSTRAP RECORD ON THE VOLUME              */ 00512000
*          DATAPTR = INFOPTR (I) + 8;                              0286 00513000
         LA    @10,8                                               0286 00514000
         LR    @03,I                                               0286 00515000
         SLA   @03,2                                               0286 00516000
         L     @15,INFOPTR-4(@03)                                  0286 00517000
         ALR   @15,@10                                             0286 00518000
         ST    @15,DATAPTR                                         0286 00519000
*          DATALEN = INFOLEN (I) - 8;                              0287 00520000
         LCR   @10,@10                                             0287 00521000
         AL    @10,INFOLEN-4(@03)                                  0287 00522000
         ST    @10,DATALEN                                         0287 00523000
*          RECNUM = I;                                             0288 00524000
         ST    I,RECNUM                                            0288 00525000
*          CALL ICKDVOP0(GDTTBL                                    0289 00526000
*                ,VOLIB                                            0289 00527000
*                ,ACTWKDN                                          0289 00528000
*                ,TRKCCHH                                          0289 00529000
*                ,RECNUM                                           0289 00530000
*                ,POOLID                                           0289 00531000
*                ,DATAPTR                                          0289 00532000
*                ,DATALEN                                          0289 00533000
*                ,RETCODE);                                        0289 00534000
         L     @10,@PC00001                                        0289 00535000
         ST    @10,@AL00001                                        0289 00536000
         L     @03,@PC00001+4                                      0289 00537000
         ST    @03,@AL00001+4                                      0289 00538000
         LA    @03,@CF00298                                        0289 00539000
         ST    @03,@AL00001+8                                      0289 00540000
         LA    @03,TRKCCHH                                         0289 00541000
         ST    @03,@AL00001+12                                     0289 00542000
         LA    @03,RECNUM                                          0289 00543000
         ST    @03,@AL00001+16                                     0289 00544000
         LA    @03,POOLID                                          0289 00545000
         ST    @03,@AL00001+20                                     0289 00546000
         LA    @03,DATAPTR                                         0289 00547000
         ST    @03,@AL00001+24                                     0289 00548000
         LA    @03,DATALEN                                         0289 00549000
         ST    @03,@AL00001+28                                     0289 00550000
         LA    @03,RETCODE                                         0289 00551000
         ST    @03,@AL00001+32                                     0289 00552000
         L     @15,GDTDOP(,@10)                                    0289 00553000
         LA    @01,@AL00001                                        0289 00554000
         BALR  @14,@15                                             0289 00555000
*/*        IF CHANNEL PROGRAM FAILS                                  */ 00556000
*          IF RETCODE = CPFAILS                                    0290 00557000
*/*          THEN                                                    */ 00558000
*            THEN DO;                                              0290 00559000
*                                                                  0290 00560000
         CLC   RETCODE(4),@CF00046                                 0290 00561000
         BNE   @RF00290                                            0290 00562000
*/*            ISSUE ERROR MESSAGE (MSGCPBST (1) OR MSGCPBST (2))    */ 00563000
*/*             (UPRINT)                                             */ 00564000
*              DARGSENT = MSGCPBST (I);                            0292 00565000
         SLR   @10,@10                                             0292 00566000
         IC    @10,MSGCPBST-1(I)                                   0292 00567000
         L     @03,DDSTRU                                          0292 00568000
         STC   @10,DARGSENT(,@03)                                  0292 00569000
*              CALL ICKTPPR0 (GDTTBL                               0293 00570000
*                     ,PRTFILE                                     0293 00571000
*                     ,DDSTRU);                                    0293 00572000
         L     @10,@PC00001                                        0293 00573000
         ST    @10,@AL00001                                        0293 00574000
         LA    @03,@CF00096                                        0293 00575000
         ST    @03,@AL00001+4                                      0293 00576000
         LA    @03,DDSTRU                                          0293 00577000
         ST    @03,@AL00001+8                                      0293 00578000
         MVI   @AL00001+8,X'80'                                    0293 00579000
         L     @15,GDTPRT(,@10)                                    0293 00580000
         LA    @01,@AL00001                                        0293 00581000
         BALR  @14,@15                                             0293 00582000
*/*            SET CONDCODE TO INDICATE UNSUCCESSFUL COMPLETION (1)  */ 00583000
*              CONDCODE = FAILS;                                   0294 00584000
         L     @10,@PC00001+20                                     0294 00585000
         MVC   CONDCODE(4,@10),@CF00167                            0294 00586000
*/*            END-THEN                                              */ 00587000
*              END;                                                0295 00588000
*/*        END-THEN                                                  */ 00589000
*          END;                                                    0296 00590000
@RF00290 DS    0H                                                  0297 00591000
*/*  END-FOR                                                         */ 00592000
*    END;                                                          0297 00593000
@RF00284 AL    I,@CF00167                                          0297 00594000
         CH    I,@CH00118                                          0297 00595000
         BNH   @DL00283                                            0297 00596000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)               */ 00597000
*    IF CONDCODE = SUCCEEDS                                        0298 00598000
*/*    THEN                                                          */ 00599000
*      THEN DO;                                                    0298 00600000
*                                                                  0298 00601000
         L     @10,@PC00001+20                                     0298 00602000
         L     @10,CONDCODE(,@10)                                  0298 00603000
         LTR   @10,@10                                             0298 00604000
         BNZ   @RF00298                                            0298 00605000
*/*      COMPUTE AMOUNT OF STORAGE REQUIRED TO HOLD PROGRAM RECORDS  */ 00606000
*        IPRECLEN = LENGTH(IPCOUNT) + PROGLEN;                     0300 00607000
         L     @10,INFOPTR+8                                       0300 00608000
         LA    @15,8                                               0300 00609000
         AL    @15,PROGLEN(,@10)                                   0300 00610000
         ST    @15,IPRECLEN                                        0300 00611000
*/*      OBTAIN STORAGE FOR THE IPL PROGRAM RECORD                   */ 00612000
*        CALL ICKSAGP0 (GDTTBL                                     0301 00613000
*               ,IPRECLEN                                          0301 00614000
*               ,IPRECPTR                                          0301 00615000
*               ,POOLID                                            0301 00616000
*               ,SETZERO);                                         0301 00617000
         L     @10,@PC00001                                        0301 00618000
         ST    @10,@AL00001                                        0301 00619000
         LA    @15,IPRECLEN                                        0301 00620000
         ST    @15,@AL00001+4                                      0301 00621000
         LA    @15,IPRECPTR                                        0301 00622000
         ST    @15,@AL00001+8                                      0301 00623000
         LA    @15,POOLID                                          0301 00624000
         ST    @15,@AL00001+12                                     0301 00625000
         LA    @15,@CC00147                                        0301 00626000
         ST    @15,@AL00001+16                                     0301 00627000
         MVI   @AL00001+16,X'80'                                   0301 00628000
         L     @15,GDTGPL(,@10)                                    0301 00629000
         LA    @01,@AL00001                                        0301 00630000
         BALR  @14,@15                                             0301 00631000
*        RESPECIFY RTNREG RSTD;                                    0302 00632000
*        TESTRC = RTNREG;                                          0303 00633000
         STH   RTNREG,TESTRC                                       0303 00634000
*        RESPECIFY RTNREG UNRSTD;                                  0304 00635000
*        IF TESTRC = 4                                             0305 00636000
*          THEN                                                    0305 00637000
         LH    @10,TESTRC                                          0305 00638000
         CH    @10,@CH00046                                        0305 00639000
         BNE   @RF00305                                            0305 00640000
*                DO;                                               0306 00641000
*                  RESPECIFY(REG13,REG14,REG15) RSTD;              0307 00642000
*                  REG15 = 28;                                     0308 00643000
         LA    REG15,28                                            0308 00644000
*                  REG14 = GDTABT;                                 0309 00645000
         L     @10,@PC00001                                        0309 00646000
         L     REG14,GDTABT(,@10)                                  0309 00647000
*                  REG13 = GDTABH;                                 0310 00648000
         L     REG13,GDTABH(,@10)                                  0310 00649000
*                  GEN(BR    REG14);                               0311 00650000
         BR    REG14                                                    00651000
*                  RESPECIFY(REG13,REG14,REG15)UNRSTD;             0312 00652000
*                END;                                              0313 00653000
*/*      END-THEN                                                    */ 00654000
*        END;                                                      0314 00655000
@RF00305 DS    0H                                                  0315 00656000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)               */ 00657000
*    IF CONDCODE = SUCCEEDS                                        0315 00658000
*/*    THEN                                                          */ 00659000
*      THEN DO;                                                    0315 00660000
*                                                                  0315 00661000
@RF00298 SLR   @10,@10                                             0315 00662000
         L     @15,@PC00001+20                                     0315 00663000
         C     @10,CONDCODE(,@15)                                  0315 00664000
         BNE   @RF00315                                            0315 00665000
*        IPLBUFFN = 0;                                             0317 00666000
         ST    @10,IPLBUFFN                                        0317 00667000
*/*      READ THE FIRST IPL RECORD FROM THE INPUT DATA SET           */ 00668000
*        CALL ICKIOGT0 (GDTTBL                                     0318 00669000
*             ,IOCSPTR);                                           0318 00670000
         L     @10,@PC00001                                        0318 00671000
         ST    @10,@AL00001                                        0318 00672000
         LA    @15,IOCSPTR                                         0318 00673000
         ST    @15,@AL00001+4                                      0318 00674000
         MVI   @AL00001+4,X'80'                                    0318 00675000
         L     @15,GDTGET(,@10)                                    0318 00676000
         LA    @01,@AL00001                                        0318 00677000
         BALR  @14,@15                                             0318 00678000
*        RESPECIFY RTNREG RSTD;                                    0319 00679000
*        TESTRC = RTNREG;                                          0320 00680000
         STH   RTNREG,TESTRC                                       0320 00681000
*        RESPECIFY RTNREG UNRSTD;                                  0321 00682000
*        PROGRPTR = IOCDAD;                                        0322 00683000
         L     @10,IOCSPTR                                         0322 00684000
         L     @15,IOCDAD(,@10)                                    0322 00685000
         ST    @15,PROGRPTR                                        0322 00686000
*        PROGRLEN = IOCDLN;                                        0323 00687000
         MVC   PROGRLEN(4),IOCDLN(@10)                             0323 00688000
*/*      IF THE RECORD IS AN IPL 'TXT' RECORD (VALID IPL RECORD)     */ 00689000
*        IF PROGID2 = 'TXT'                                        0324 00690000
*/*        THEN                                                      */ 00691000
*          THEN DO;                                                0324 00692000
*                                                                  0324 00693000
         CLC   PROGID2(3,@15),@CC00600                             0324 00694000
         BNE   @RF00324                                            0324 00695000
*            IPLLEN  = PROGCNT;                                    0326 00696000
         MVC   @ZT00002+2(2),PROGCNT(@15)                          0326 00697000
         L     IPLLEN,@ZT00002                                     0326 00698000
*            IPLBEGIN =  PROGADDR + 1;                             0327 00699000
         LA    IPLBEGIN,1                                          0327 00700000
         MVC   @ZT00001+1(3),PROGADDR(@15)                         0327 00701000
         AL    IPLBEGIN,@ZT00001                                   0327 00702000
*            IPLEND = IPLBEGIN + IPLLEN - 1;                       0328 00703000
         LR    IPLEND,IPLBEGIN                                     0328 00704000
         ALR   IPLEND,IPLLEN                                       0328 00705000
         BCTR  IPLEND,0                                            0328 00706000
*/*          IF THE NUMBER OF BYTES READ IN EXCEEDS ALLOWABLE LENGTH */ 00707000
*/*           FOR THE IPL PROGRAM                                    */ 00708000
*            IF IPLEND > PROGLEN                                   0329 00709000
*/*            THEN                                                  */ 00710000
*              THEN DO;                                            0329 00711000
*                                                                  0329 00712000
         L     @10,INFOPTR+8                                       0329 00713000
         C     IPLEND,PROGLEN(,@10)                                0329 00714000
         BNH   @RF00329                                            0329 00715000
*/*              ISSUE ERROR MESSAGE (MSGPRLEN) (UPRINT)             */ 00716000
*                DARGSENT = MSGPRLEN;                              0331 00717000
         L     @10,DDSTRU                                          0331 00718000
         MVI   DARGSENT(@10),X'2F'                                 0331 00719000
*                CALL ICKTPPR0 (GDTTBL                             0332 00720000
*                       ,PRTFILE                                   0332 00721000
*                       ,DDSTRU);                                  0332 00722000
         L     @10,@PC00001                                        0332 00723000
         ST    @10,@AL00001                                        0332 00724000
         LA    @15,@CF00096                                        0332 00725000
         ST    @15,@AL00001+4                                      0332 00726000
         LA    @15,DDSTRU                                          0332 00727000
         ST    @15,@AL00001+8                                      0332 00728000
         MVI   @AL00001+8,X'80'                                    0332 00729000
         L     @15,GDTPRT(,@10)                                    0332 00730000
         LA    @01,@AL00001                                        0332 00731000
         BALR  @14,@15                                             0332 00732000
*/*              SET CONDITION CODE TO INDICATE FAILURE              */ 00733000
*                CONDCODE = FAILS;                                 0333 00734000
         L     @10,@PC00001+20                                     0333 00735000
         MVC   CONDCODE(4,@10),@CF00167                            0333 00736000
*/*              END-THEN                                            */ 00737000
*                END;                                              0334 00738000
*/*            ELSE                                                  */ 00739000
*              ELSE DO;                                            0335 00740000
*                                                                  0335 00741000
         B     @RC00329                                            0335 00742000
@RF00329 DS    0H                                                  0336 00743000
*/*              MOVE THE DATA OBTAINED INTO THE BUFFER              */ 00744000
*                IPDATA(IPLBEGIN : IPLEND ) = PROGDATA(1 : IPLLEN);     00745000
         L     @10,IPRECPTR                                        0336 00746000
         ALR   @10,IPLBEGIN                                        0336 00747000
         LR    @05,IPLEND                                          0336 00748000
         SLR   @05,IPLBEGIN                                        0336 00749000
         L     @01,PROGRPTR                                        0336 00750000
         EX    @05,@SM00613                                        0336 00751000
*                IPLBUFFN = IPLEND;                                0337 00752000
         ST    IPLEND,IPLBUFFN                                     0337 00753000
*/*              END-ELSE                                            */ 00754000
*                END;                                              0338 00755000
*/*          END-THEN (VALID IPL RECORD)                             */ 00756000
*            END;                                                  0339 00757000
*/*        ELSE ( INVALID OR LAST RECORD)                            */ 00758000
*          ELSE DO;                                                0340 00759000
*                                                                  0340 00760000
         B     @RC00324                                            0340 00761000
@RF00324 DS    0H                                                  0341 00762000
*/*          IF THIS IS THE LAST CARD OF AN OBJECT MODULE            */ 00763000
*            IF PROGID2 = 'END'                                    0341 00764000
*/*            THEN                                                  */ 00765000
*              THEN DO;                                            0341 00766000
*                                                                  0341 00767000
         L     @10,PROGRPTR                                        0341 00768000
         CLC   PROGID2(3,@10),@CC00601                             0341 00769000
         BNE   @RF00341                                            0341 00770000
*/*              ISSUE ERROR MESSAGE (MSGEND) (UPRINT)               */ 00771000
*                DARGSENT = MSGEND;                                0343 00772000
         L     @10,DDSTRU                                          0343 00773000
         MVI   DARGSENT(@10),X'30'                                 0343 00774000
*                CALL ICKTPPR0 (GDTTBL                             0344 00775000
*                       ,PRTFILE                                   0344 00776000
*                       ,DDSTRU);                                  0344 00777000
         L     @10,@PC00001                                        0344 00778000
         ST    @10,@AL00001                                        0344 00779000
         LA    @15,@CF00096                                        0344 00780000
         ST    @15,@AL00001+4                                      0344 00781000
         LA    @15,DDSTRU                                          0344 00782000
         ST    @15,@AL00001+8                                      0344 00783000
         MVI   @AL00001+8,X'80'                                    0344 00784000
         L     @15,GDTPRT(,@10)                                    0344 00785000
         LA    @01,@AL00001                                        0344 00786000
         BALR  @14,@15                                             0344 00787000
*/*              INDICATE UNSUCCESSFUL COMPLETION                    */ 00788000
*                CONDCODE = FAILS;                                 0345 00789000
         L     @10,@PC00001+20                                     0345 00790000
         MVC   CONDCODE(4,@10),@CF00167                            0345 00791000
*/*              END-THEN                                            */ 00792000
*                END;                                              0346 00793000
*/*          PEEL OFF LEADING BLANKS IF ANY                          */ 00794000
*            DO I = 1 TO PROGRLEN;                                 0347 00795000
*                                                                  0347 00796000
@RF00341 LA    I,1                                                 0347 00797000
         B     @DE00347                                            0347 00798000
@DL00347 DS    0H                                                  0348 00799000
*              IF PROGREC (1:1) = ' '                              0348 00800000
*                THEN                                              0348 00801000
         L     @10,PROGRPTR                                        0348 00802000
         CLI   PROGREC(@10),C' '                                   0348 00803000
         BNE   @RF00348                                            0348 00804000
*                  DO J = 1 TO (PROGRLEN - 1);                     0349 00805000
         LA    J,1                                                 0349 00806000
         B     @DE00349                                            0349 00807000
@DL00349 DS    0H                                                  0350 00808000
*                    PROGREC (J:J) = PROGREC (J+1:J+1);            0350 00809000
         L     @10,PROGRPTR                                        0350 00810000
         LR    @01,@10                                             0350 00811000
         ALR   @01,J                                               0350 00812000
         BCTR  @01,0                                               0350 00813000
         ALR   @10,J                                               0350 00814000
         MVC   PROGREC(1,@01),PROGREC(@10)                         0350 00815000
*                  END;                                            0351 00816000
         AL    J,@CF00167                                          0351 00817000
@DE00349 L     @10,PROGRLEN                                        0351 00818000
         BCTR  @10,0                                               0351 00819000
         CR    J,@10                                               0351 00820000
         BNH   @DL00349                                            0351 00821000
*                ELSE GOTO ENDLOOPB;                               0352 00822000
*            END;                                                  0353 00823000
         AL    I,@CF00167                                          0353 00824000
@DE00347 C     I,PROGRLEN                                          0353 00825000
         BNH   @DL00347                                            0353 00826000
*/*          IF END OF FILE CONDITION EXISTS                         */ 00827000
*            ENDLOOPB:                                             0354 00828000
*            IF PROGREC (1:10) = 'ENDIPLTEXT' | TESTRC = 16        0354 00829000
*/*            THEN                                                  */ 00830000
*              THEN DO;                                            0354 00831000
*                                                                  0354 00832000
ENDLOOPB L     @10,PROGRPTR                                        0354 00833000
         CLC   PROGREC(10,@10),@CC00604                            0354 00834000
         BE    @RT00354                                            0354 00835000
         CLC   TESTRC(2),@CH00274                                  0354 00836000
         BNE   @RF00354                                            0354 00837000
@RT00354 DS    0H                                                  0355 00838000
*/*              END-THEN                                            */ 00839000
*                END;                                              0356 00840000
*/*          END-ELSE                                                */ 00841000
*            END;                                                  0357 00842000
@RF00354 DS    0H                                                  0358 00843000
*/*      END-THEN                                                    */ 00844000
*        END;                                                      0358 00845000
@RC00324 DS    0H                                                  0359 00846000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)               */ 00847000
*    IF CONDCODE = SUCCEEDS                                        0359 00848000
*/*    THEN                                                          */ 00849000
*      THEN DO;                                                    0359 00850000
*                                                                  0359 00851000
@RF00315 L     @10,@PC00001+20                                     0359 00852000
         L     @10,CONDCODE(,@10)                                  0359 00853000
         LTR   @10,@10                                             0359 00854000
         BNZ   @RF00359                                            0359 00855000
*/*      DO-WHILE THERE ARE IPL RECORDS LEFT ON THE INPUT DATA SET   */ 00856000
*        DO WHILE TESTRC ^= 16 & PROGREC (1:10) ^= 'ENDIPLTEXT';   0361 00857000
*                                                                  0361 00858000
         B     @DE00361                                            0361 00859000
@DL00361 DS    0H                                                  0362 00860000
*/*        READ IN THE NEXT IPL PROGRAM RECORD (UGET)                */ 00861000
*          CALL ICKIOGT0 (GDTTBL                                   0362 00862000
*               ,IOCSPTR);                                         0362 00863000
         L     @10,@PC00001                                        0362 00864000
         ST    @10,@AL00001                                        0362 00865000
         LA    @15,IOCSPTR                                         0362 00866000
         ST    @15,@AL00001+4                                      0362 00867000
         MVI   @AL00001+4,X'80'                                    0362 00868000
         L     @15,GDTGET(,@10)                                    0362 00869000
         LA    @01,@AL00001                                        0362 00870000
         BALR  @14,@15                                             0362 00871000
*          RESPECIFY RTNREG RSTD;                                  0363 00872000
*          TESTRC = RTNREG;                                        0364 00873000
         STH   RTNREG,TESTRC                                       0364 00874000
*          RESPECIFY RTNREG UNRSTD;                                0365 00875000
*          PROGRPTR = IOCDAD;                                      0366 00876000
         L     @10,IOCSPTR                                         0366 00877000
         L     @10,IOCDAD(,@10)                                    0366 00878000
         ST    @10,PROGRPTR                                        0366 00879000
*/*        IF THE RECORD IS AN IPL 'TXT' RECORD (VALID IPL RECORD)   */ 00880000
*          IF PROGID2 = 'TXT'                                      0367 00881000
*/*          THEN                                                    */ 00882000
*            THEN DO;                                              0367 00883000
*                                                                  0367 00884000
         CLC   PROGID2(3,@10),@CC00600                             0367 00885000
         BNE   @RF00367                                            0367 00886000
*              IPLLEN  = PROGCNT;                                  0369 00887000
         MVC   @ZT00002+2(2),PROGCNT(@10)                          0369 00888000
         L     IPLLEN,@ZT00002                                     0369 00889000
*              IPLBEGIN =  PROGADDR + 1;                           0370 00890000
         LA    IPLBEGIN,1                                          0370 00891000
         MVC   @ZT00001+1(3),PROGADDR(@10)                         0370 00892000
         AL    IPLBEGIN,@ZT00001                                   0370 00893000
*              IPLEND = IPLBEGIN + IPLLEN - 1;                     0371 00894000
         LR    IPLEND,IPLBEGIN                                     0371 00895000
         ALR   IPLEND,IPLLEN                                       0371 00896000
         BCTR  IPLEND,0                                            0371 00897000
*/*            IF THE NUMBER OF BYTES READ IN EXCEEDS ALLOWABLE LENGT*/ 00898000
*/*             FOR THE IPL PROGRAM                                  */ 00899000
*              IF IPLEND > PROGLEN                                 0372 00900000
*/*              THEN                                                */ 00901000
*                THEN DO;                                          0372 00902000
*                                                                  0372 00903000
         L     @10,INFOPTR+8                                       0372 00904000
         C     IPLEND,PROGLEN(,@10)                                0372 00905000
         BNH   @RF00372                                            0372 00906000
*/*                ISSUE ERROR MESSAGE (MSGPRLEN) (UPRINT)           */ 00907000
*                  DARGSENT = MSGPRLEN;                            0374 00908000
         L     @10,DDSTRU                                          0374 00909000
         MVI   DARGSENT(@10),X'2F'                                 0374 00910000
*                  CALL ICKTPPR0 (GDTTBL                           0375 00911000
*                         ,PRTFILE                                 0375 00912000
*                         ,DDSTRU);                                0375 00913000
         L     @10,@PC00001                                        0375 00914000
         ST    @10,@AL00001                                        0375 00915000
         LA    @15,@CF00096                                        0375 00916000
         ST    @15,@AL00001+4                                      0375 00917000
         LA    @15,DDSTRU                                          0375 00918000
         ST    @15,@AL00001+8                                      0375 00919000
         MVI   @AL00001+8,X'80'                                    0375 00920000
         L     @15,GDTPRT(,@10)                                    0375 00921000
         LA    @01,@AL00001                                        0375 00922000
         BALR  @14,@15                                             0375 00923000
*/*                SET CONDITION CODE TO INDICATE FAILURE            */ 00924000
*                  CONDCODE = FAILS;                               0376 00925000
         L     @10,@PC00001+20                                     0376 00926000
         MVC   CONDCODE(4,@10),@CF00167                            0376 00927000
*/*                LEAVE                                             */ 00928000
*                  GOTO ENDLOOP;                                   0377 00929000
         B     ENDLOOP                                             0377 00930000
*/*                END-THEN                                          */ 00931000
*                  END;                                            0378 00932000
*/*              ELSE                                                */ 00933000
*                ELSE DO;                                          0379 00934000
*                                                                  0379 00935000
@RF00372 DS    0H                                                  0380 00936000
*/*                MOVE THE DATA OBTAINED INTO THE BUFFER            */ 00937000
*                  IPDATA(IPLBEGIN : IPLEND ) = PROGDATA(1 : IPLLEN);   00938000
         L     @10,IPRECPTR                                        0380 00939000
         ALR   @10,IPLBEGIN                                        0380 00940000
         LR    @05,IPLEND                                          0380 00941000
         SLR   @05,IPLBEGIN                                        0380 00942000
         L     @01,PROGRPTR                                        0380 00943000
         EX    @05,@SM00613                                        0380 00944000
*                  IPLBUFFN = IPLEND;                              0381 00945000
         ST    IPLEND,IPLBUFFN                                     0381 00946000
*/*                END-ELSE                                          */ 00947000
*                  END;                                            0382 00948000
*/*            END-THEN (VALID IPL RECORD)                           */ 00949000
*              END;                                                0383 00950000
*/*          ELSE (LAST RECORD OR AN INVALID RECORD)                 */ 00951000
*            ELSE DO;                                              0384 00952000
*                                                                  0384 00953000
         B     @RC00367                                            0384 00954000
@RF00367 DS    0H                                                  0385 00955000
*/*            PEEL OFF LEADING BLANKS IF ANY                        */ 00956000
*              DO I = 1 TO PROGRLEN;                               0385 00957000
*                                                                  0385 00958000
         LA    I,1                                                 0385 00959000
         B     @DE00385                                            0385 00960000
@DL00385 DS    0H                                                  0386 00961000
*                IF PROGREC (1:1) = ' '                            0386 00962000
*                  THEN                                            0386 00963000
         L     @10,PROGRPTR                                        0386 00964000
         CLI   PROGREC(@10),C' '                                   0386 00965000
         BNE   @RF00386                                            0386 00966000
*                    DO J = 1 TO (PROGRLEN - 1);                   0387 00967000
         LA    J,1                                                 0387 00968000
         B     @DE00387                                            0387 00969000
@DL00387 DS    0H                                                  0388 00970000
*                      PROGREC (J:J) = PROGREC (J+1:J+1);          0388 00971000
         L     @10,PROGRPTR                                        0388 00972000
         LR    @01,@10                                             0388 00973000
         ALR   @01,J                                               0388 00974000
         BCTR  @01,0                                               0388 00975000
         ALR   @10,J                                               0388 00976000
         MVC   PROGREC(1,@01),PROGREC(@10)                         0388 00977000
*                    END;                                          0389 00978000
         AL    J,@CF00167                                          0389 00979000
@DE00387 L     @10,PROGRLEN                                        0389 00980000
         BCTR  @10,0                                               0389 00981000
         CR    J,@10                                               0389 00982000
         BNH   @DL00387                                            0389 00983000
*                  ELSE GOTO ENDLOOPC;                             0390 00984000
*              END;                                                0391 00985000
         AL    I,@CF00167                                          0391 00986000
@DE00385 C     I,PROGRLEN                                          0391 00987000
         BNH   @DL00385                                            0391 00988000
*/*            END-ELSE                                              */ 00989000
*              ENDLOOPC:                                           0392 00990000
*              END;                                                0392 00991000
ENDLOOPC DS    0H                                                  0393 00992000
*/*      END-WHILE                                                   */ 00993000
*        END;                                                      0393 00994000
@RC00367 DS    0H                                                  0393 00995000
@DE00361 CLC   TESTRC(2),@CH00274                                  0393 00996000
         BE    @DC00361                                            0393 00997000
         L     @10,PROGRPTR                                        0393 00998000
         CLC   PROGREC(10,@10),@CC00604                            0393 00999000
         BNE   @DL00361                                            0393 01000000
@DC00361 DS    0H                                                  0394 01001000
*/*      END-THEN                                                    */ 01002000
*        ENDLOOP: END;                                             0394 01003000
ENDLOOP  DS    0H                                                  0395 01004000
*/*  CLOSE THE IPL DATA SET (UCLOSE)                                 */ 01005000
*    CALL ICKIOCL0 (GDTTBL                                         0395 01006000
*           ,IOCSPTR);                                             0395 01007000
@RF00359 L     @10,@PC00001                                        0395 01008000
         ST    @10,@AL00001                                        0395 01009000
         LA    @15,IOCSPTR                                         0395 01010000
         ST    @15,@AL00001+4                                      0395 01011000
         MVI   @AL00001+4,X'80'                                    0395 01012000
         L     @15,GDTCLS(,@10)                                    0395 01013000
         LA    @01,@AL00001                                        0395 01014000
         BALR  @14,@15                                             0395 01015000
*/*  IF NO ERRORS HAVE BEEN ENCOUNTERED (CONDCODE = 0)               */ 01016000
*    IF CONDCODE = SUCCEEDS                                        0396 01017000
*/*    THEN                                                          */ 01018000
*      THEN DO;                                                    0396 01019000
*                                                                  0396 01020000
         SLR   @10,@10                                             0396 01021000
         L     @15,@PC00001+20                                     0396 01022000
         C     @10,CONDCODE(,@15)                                  0396 01023000
         BNE   @RF00396                                            0396 01024000
*/*      IF IPL RECORDS HAVE BEEN ACCUMULATED IN THE BUFFER          */ 01025000
*        IF IPLBUFFN > 0                                           0398 01026000
*/*        THEN                                                      */ 01027000
*          THEN DO;                                                0398 01028000
*                                                                  0398 01029000
         L     @15,IPLBUFFN                                        0398 01030000
         CR    @15,@10                                             0398 01031000
         BNH   @RF00398                                            0398 01032000
*/*          ISSUE CHANNEL PROGRAM TO WRITE IPL PROG RECORDS (UDEVOP)*/ 01033000
*            ICNTCCHH = TRKCCHH;                                   0400 01034000
         L     @10,IPRECPTR                                        0400 01035000
         MVC   ICNTCCHH(4,@10),TRKCCHH                             0400 01036000
*            ICNTR = IPLRECNO;                                     0401 01037000
         MVC   ICNTR(1,@10),IPLRECNO+3                             0401 01038000
*            ICNTKL = 0;                                           0402 01039000
         MVI   ICNTKL(@10),X'00'                                   0402 01040000
*            ICNTDL = IPLBUFFN;                                    0403 01041000
         ST    @15,@TF00001                                        0403 01042000
         MVC   ICNTDL(2,@10),@TF00001+2                            0403 01043000
*            IPRECLEN = LENGTH (IPCOUNT) + IPLBUFFN;               0404 01044000
         AH    @15,@CH00163                                        0404 01045000
         ST    @15,IPRECLEN                                        0404 01046000
*            CALL ICKDVOP0(GDTTBL                                  0405 01047000
*                  ,VOLIB                                          0405 01048000
*                  ,ACTWCKDN                                       0405 01049000
*                  ,TRKCCHH                                        0405 01050000
*                  ,IPLRECNO                                       0405 01051000
*                  ,POOLID                                         0405 01052000
*                  ,IPRECPTR                                       0405 01053000
*                  ,IPRECLEN                                       0405 01054000
*                  ,RETCODE);                                      0405 01055000
         L     @10,@PC00001                                        0405 01056000
         ST    @10,@AL00001                                        0405 01057000
         L     @15,@PC00001+4                                      0405 01058000
         ST    @15,@AL00001+4                                      0405 01059000
         LA    @15,@CF00262                                        0405 01060000
         ST    @15,@AL00001+8                                      0405 01061000
         LA    @15,TRKCCHH                                         0405 01062000
         ST    @15,@AL00001+12                                     0405 01063000
         LA    @15,IPLRECNO                                        0405 01064000
         ST    @15,@AL00001+16                                     0405 01065000
         LA    @15,POOLID                                          0405 01066000
         ST    @15,@AL00001+20                                     0405 01067000
         LA    @15,IPRECPTR                                        0405 01068000
         ST    @15,@AL00001+24                                     0405 01069000
         LA    @15,IPRECLEN                                        0405 01070000
         ST    @15,@AL00001+28                                     0405 01071000
         LA    @15,RETCODE                                         0405 01072000
         ST    @15,@AL00001+32                                     0405 01073000
         L     @15,GDTDOP(,@10)                                    0405 01074000
         LA    @01,@AL00001                                        0405 01075000
         BALR  @14,@15                                             0405 01076000
*/*          IF CHANNEL PROGRAM FAILS                                */ 01077000
*            IF RETCODE = CPFAILS                                  0406 01078000
*/*            THEN                                                  */ 01079000
*              THEN DO;                                            0406 01080000
*                                                                  0406 01081000
         CLC   RETCODE(4),@CF00046                                 0406 01082000
         BNE   @RF00406                                            0406 01083000
*/*              ISSUE ERROR MESSAGE (MSGCPIPL) (UPRINT)             */ 01084000
*                DARGSENT = MSGCPIPL;                              0408 01085000
         L     @10,DDSTRU                                          0408 01086000
         MVI   DARGSENT(@10),X'2E'                                 0408 01087000
*                CALL ICKTPPR0 (GDTTBL                             0409 01088000
*                       ,PRTFILE                                   0409 01089000
*                       ,DDSTRU);                                  0409 01090000
         L     @10,@PC00001                                        0409 01091000
         ST    @10,@AL00001                                        0409 01092000
         LA    @15,@CF00096                                        0409 01093000
         ST    @15,@AL00001+4                                      0409 01094000
         LA    @15,DDSTRU                                          0409 01095000
         ST    @15,@AL00001+8                                      0409 01096000
         MVI   @AL00001+8,X'80'                                    0409 01097000
         L     @15,GDTPRT(,@10)                                    0409 01098000
         LA    @01,@AL00001                                        0409 01099000
         BALR  @14,@15                                             0409 01100000
*/*              SET CONDCODE TO INDICATE UNSUCCESSFUL COMPLETION (1)*/ 01101000
*                CONDCODE = FAILS;                                 0410 01102000
         L     @10,@PC00001+20                                     0410 01103000
         MVC   CONDCODE(4,@10),@CF00167                            0410 01104000
*/*              END-THEN                                            */ 01105000
*                END;                                              0411 01106000
*/*          END-THEN                                                */ 01107000
*            END;                                                  0412 01108000
*/*        ELSE (NO IPL RECORDS TO WRITE)                            */ 01109000
*          ELSE DO;                                                0413 01110000
*                                                                  0413 01111000
         B     @RC00398                                            0413 01112000
@RF00398 DS    0H                                                  0414 01113000
*/*          ISSUE ERROR MESSAGE (MSGEND) (UPRINT)                   */ 01114000
*            DARGSENT = MSGEND;                                    0414 01115000
         L     @10,DDSTRU                                          0414 01116000
         MVI   DARGSENT(@10),X'30'                                 0414 01117000
*            CALL ICKTPPR0 (GDTTBL                                 0415 01118000
*                   ,PRTFILE                                       0415 01119000
*                   ,DDSTRU);                                      0415 01120000
         L     @10,@PC00001                                        0415 01121000
         ST    @10,@AL00001                                        0415 01122000
         LA    @15,@CF00096                                        0415 01123000
         ST    @15,@AL00001+4                                      0415 01124000
         LA    @15,DDSTRU                                          0415 01125000
         ST    @15,@AL00001+8                                      0415 01126000
         MVI   @AL00001+8,X'80'                                    0415 01127000
         L     @15,GDTPRT(,@10)                                    0415 01128000
         LA    @01,@AL00001                                        0415 01129000
         BALR  @14,@15                                             0415 01130000
*/*          INDICATE UNSUCCESSFUL COMPLETION                        */ 01131000
*            CONDCODE = FAILS;                                     0416 01132000
         L     @10,@PC00001+20                                     0416 01133000
         MVC   CONDCODE(4,@10),@CF00167                            0416 01134000
*/*          END-ELSE                                                */ 01135000
*            END;                                                  0417 01136000
*/*      END-THEN                                                    */ 01137000
*        END;                                                      0418 01138000
@RC00398 DS    0H                                                  0419 01139000
*/*  END-PROCEDURE WRITE_IPL_RECORDS                                 */ 01140000
*    CALL ICKSAFP0 (GDTTBL                                         0419 01141000
*           ,POOLID);                                              0419 01142000
@RF00396 L     @10,@PC00001                                        0419 01143000
         ST    @10,@AL00001                                        0419 01144000
         LA    @15,POOLID                                          0419 01145000
         ST    @15,@AL00001+4                                      0419 01146000
         MVI   @AL00001+4,X'80'                                    0419 01147000
         L     @15,GDTFPL(,@10)                                    0419 01148000
         LA    @01,@AL00001                                        0419 01149000
         BALR  @14,@15                                             0419 01150000
*    IF GDTDBG = NULLPTR                                           0420 01151000
*      THEN;                                                       0420 01152000
         L     @10,@PC00001                                        0420 01153000
         L     @10,GDTDBG(,@10)                                    0420 01154000
         LTR   @10,@10                                             0420 01155000
         BZ    @RT00420                                            0420 01156000
*      ELSE                                                        0422 01157000
*        CALL ICKDB010 (GDTTBL                                     0422 01158000
*          ,'WI99');                                               0422 01159000
         L     @10,@PC00001                                        0422 01160000
         ST    @10,@AL00001                                        0422 01161000
         LA    @15,@CC00611                                        0422 01162000
         ST    @15,@AL00001+4                                      0422 01163000
         MVI   @AL00001+4,X'80'                                    0422 01164000
         L     @15,GDTDBG(,@10)                                    0422 01165000
         LA    @01,@AL00001                                        0422 01166000
         BALR  @14,@15                                             0422 01167000
*    CALL ICKSAEP0(GDTTBL,MODID);                                  0423 01168000
*                                                                  0423 01169000
*                                                                  0423 01170000
@RT00420 L     @10,@PC00001                                        0423 01171000
         ST    @10,@AL00001                                        0423 01172000
         LA    @15,MODID                                           0423 01173000
         ST    @15,@AL00001+4                                      0423 01174000
         MVI   @AL00001+4,X'80'                                    0423 01175000
         L     @15,GDTEPL(,@10)                                    0423 01176000
         LA    @01,@AL00001                                        0423 01177000
         BALR  @14,@15                                             0423 01178000
*    END ICKWI01                                                   0424 01179000
*/* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM.      * 01180000
*/*%INCLUDE SYSLIB  (DMSDF01 )                                        * 01181000
*/*%INCLUDE SYSLIB  (DMSDF00 )                                        * 01182000
*/*@INCLUDE SYSLIB  (DMSDF02 )                                        * 01183000
*;                                                                 0424 01184000
@DATA    DS    0H                                                       01185000
@CH00118 DC    H'2'                                                     01186000
@CH00138 DC    H'3'                                                     01187000
@CH00163 DC    H'8'                                                     01188000
@CH00274 DC    H'16'                                                    01189000
@SM00613 MVC   IPDATA-1(0,@10),PROGDATA(@01)                            01190000
@DATD    DSECT                                                          01191000
         DS    0F                                                       01192000
@SA00001 DS    18F                                                      01193000
@PC00001 DS    6F                                                       01194000
@AL00001 DS    9A                                                       01195000
@TF00001 DS    F                                                        01196000
@ZTEMPS  DS    0F                                                       01197000
@ZT00001 DC    F'0'                                                     01198000
@ZT00002 DC    F'0'                                                     01199000
@ZTEMPND EQU   *                                                        01200000
@ZLEN    EQU   @ZTEMPND-@ZTEMPS                                         01201000
ICKWI01  CSECT                                                          01202000
         DS    0F                                                       01203000
@CF00096 DC    F'0'                                                     01204000
@CF00167 DC    F'1'                                                     01205000
@CH00167 EQU   @CF00167+2                                               01206000
@CF00046 DC    F'4'                                                     01207000
@CH00046 EQU   @CF00046+2                                               01208000
@CF00262 DC    F'9'                                                     01209000
@CF00298 DC    F'28'                                                    01210000
@CF00512 DC    F'36'                                                    01211000
@CF00514 DC    F'156'                                                   01212000
@DATD    DSECT                                                          01213000
         DS    0D                                                       01214000
LISTSCAN DS    A                                                        01215000
IOCSPTR  DS    A                                                        01216000
DDSTRU   DS    A                                                        01217000
FSADDR   DS    A                                                        01218000
DMPINDEX DS    A                                                        01219000
PROGRPTR DS    A                                                        01220000
PROGRLEN DS    F                                                        01221000
IPLBUFFN DS    F                                                        01222000
RETCODE  DS    F                                                        01223000
IPLRECNO DS    F                                                        01224000
LABELS   DS    F                                                        01225000
RECNUM   DS    F                                                        01226000
DATAPTR  DS    A                                                        01227000
DATALEN  DS    F                                                        01228000
IPRECPTR DS    A                                                        01229000
IPRECLEN DS    F                                                        01230000
LISTPTR  DS    A                                                        01231000
TESTRC   DS    H                                                        01232000
SETRC    DS    H                                                        01233000
LISTLN   DS    FL1                                                      01234000
         DS    CL3                                                      01235000
OPENLIST DS    BL4                                                      01236000
PRTSTR   DS    CL28                                                     01237000
         ORG   PRTSTR                                                   01238000
PRTHDR   DS    CL8                                                      01239000
PRTARGS  DS    CL20                                                     01240000
         ORG   PRTSTR+28                                                01241000
VLNIMAGE DS    CL80                                                     01242000
TRKCCHH  DS    CL4                                                      01243000
         ORG   TRKCCHH                                                  01244000
TRKCCHHC DS    FL2                                                      01245000
TRKCCHHT DS    FL2                                                      01246000
         ORG   TRKCCHH+4                                                01247000
CCODE    DS    4F                                                       01248000
INFOPTR  DS    4A                                                       01249000
INFOLEN  DS    4F                                                       01250000
BOLENGTH DS    2F                                                       01251000
         ORG   *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA                01252000
@ENDDATD EQU   *                                                        01253000
ICKWI01  CSECT                                                          01254000
         DS    0F                                                       01255000
@SIZDATD DC    AL1(0)                                                   01256000
         DC    AL3(@ENDDATD-@DATD)                                      01257000
@CV00592 DC    V(ICKRL01)                                               01258000
         DS    0D                                                       01259000
@CC00604 DC    C'ENDIPLTEXT'                                            01260000
@CC00589 DC    C'DARGLIST'                                              01261000
@CC00147 DC    C'ZERO'                                                  01262000
@CC00588 DC    C'WI00'                                                  01263000
@CC00611 DC    C'WI99'                                                  01264000
@CC00600 DC    C'TXT'                                                   01265000
@CC00601 EQU   @CC00604                                                 01266000
MODID    DC    CL4'WI01'                                                01267000
POOLID   DC    CL4'WI01'                                                01268000
MSGMODZ  DC    CL3'EF0'                                                 01269000
PTCHWI01 DS    CL256                                                    01270000
         ORG   PTCHWI01                                                 01271000
@NM00021 DC    256X'00'                                                 01272000
         ORG   PTCHWI01+256                                             01273000
INFOVECT DC    F'209'                                                   01274000
         DC    F'210'                                                   01275000
         DC    F'211'                                                   01276000
         DC    F'217'                                                   01277000
MSGBOOT  DC    AL1(42)                                                  01278000
         DC    AL1(43)                                                  01279000
MSGCPBST DC    AL1(44)                                                  01280000
         DC    AL1(45)                                                  01281000
BSKEYV   DC    CL4'IPL1'                                                01282000
         DC    CL4'IPL2'                                                01283000
@00      EQU   00                      EQUATES FOR REGISTERS 0-15       01284000
@01      EQU   01                                                       01285000
@02      EQU   02                                                       01286000
@03      EQU   03                                                       01287000
@04      EQU   04                                                       01288000
@05      EQU   05                                                       01289000
@06      EQU   06                                                       01290000
@07      EQU   07                                                       01291000
@08      EQU   08                                                       01292000
@09      EQU   09                                                       01293000
@10      EQU   10                                                       01294000
@11      EQU   11                                                       01295000
@12      EQU   12                                                       01296000
@13      EQU   13                                                       01297000
@14      EQU   14                                                       01298000
@15      EQU   15                                                       01299000
J        EQU   @03                                                      01300000
I        EQU   @02                                                      01301000
IPLEND   EQU   @03                                                      01302000
IPLBEGIN EQU   @02                                                      01303000
IPLLEN   EQU   @04                                                      01304000
INRECPTR EQU   @03                                                      01305000
OPNPTR   EQU   @02                                                      01306000
REG12    EQU   @12                                                      01307000
RTNREG   EQU   @15                                                      01308000
REG13    EQU   @13                                                      01309000
REG14    EQU   @14                                                      01310000
REG15    EQU   @15                                                      01311000
REG0     EQU   @00                                                      01312000
REG1     EQU   @01                                                      01313000
REG10    EQU   @10                                                      01314000
REG11    EQU   @11                                                      01315000
REG2     EQU   @02                                                      01316000
REG3     EQU   @03                                                      01317000
REG4     EQU   @04                                                      01318000
REG5     EQU   @05                                                      01319000
REG6     EQU   @06                                                      01320000
REG7     EQU   @07                                                      01321000
REG8     EQU   @08                                                      01322000
REG9     EQU   @09                                                      01323000
ICKSAEP0 EQU   0                                                        01324000
ICKSAGP0 EQU   0                                                        01325000
ICKSAFP0 EQU   0                                                        01326000
TRACE1   EQU   0                                                        01327000
OLDERID1 EQU   TRACE1                                                   01328000
TRACE2   EQU   0                                                        01329000
STAEPARM EQU   0                                                        01330000
STAEPFX  EQU   STAEPARM                                                 01331000
ICKIOOP0 EQU   0                                                        01332000
ICKIOCL0 EQU   0                                                        01333000
ICKIOGT0 EQU   0                                                        01334000
IOCSTR   EQU   0                                                        01335000
IOCDAD   EQU   IOCSTR                                                   01336000
IOCDLN   EQU   IOCSTR+4                                                 01337000
IOCDSO   EQU   IOCSTR+13                                                01338000
IOCRFM   EQU   IOCSTR+14                                                01339000
IOCMAC   EQU   IOCSTR+15                                                01340000
IOCMSG   EQU   IOCSTR+16                                                01341000
OPNAGL   EQU   0                                                        01342000
OPNOPT   EQU   OPNAGL                                                   01343000
OPNOPTIN EQU   OPNOPT                                                   01344000
OPNRFM   EQU   OPNAGL+1                                                 01345000
OPNTYP   EQU   OPNAGL+2                                                 01346000
OPNMOD   EQU   OPNAGL+3                                                 01347000
OPNIOC   EQU   OPNAGL+4                                                 01348000
OPNDDN   EQU   OPNAGL+8                                                 01349000
UVOLLIST EQU   0                                                        01350000
UVOLENT  EQU   UVOLLIST+2                                               01351000
ICKDVIN0 EQU   0                                                        01352000
ICKDVOP0 EQU   0                                                        01353000
ICKTPPR0 EQU   0                                                        01354000
DARGLIST EQU   0                                                        01355000
DARGSTID EQU   DARGLIST+8                                               01356000
DARGSMOD EQU   DARGSTID                                                 01357000
DARGSENT EQU   DARGSTID+3                                               01358000
DARGARY  EQU   DARGLIST+20                                              01359000
DARGINS  EQU   DARGARY                                                  01360000
DARGINL  EQU   DARGARY+2                                                01361000
FMTLIST  EQU   0                                                        01362000
FMTFLGS  EQU   FMTLIST                                                  01363000
FMTSPF   EQU   FMTLIST+2                                                01364000
FMTRFNO  EQU   FMTSPF                                                   01365000
FMTILEN  EQU   FMTRFNO                                                  01366000
FMTIOFF  EQU   FMTLIST+4                                                01367000
FMTTRBC  EQU   FMTIOFF                                                  01368000
FMTSTO   EQU   FMTTRBC                                                  01369000
FMTOCOL  EQU   FMTLIST+6                                                01370000
FMTCNVF  EQU   FMTLIST+10                                               01371000
ICKDB010 EQU   0                                                        01372000
DMPITM   EQU   0                                                        01373000
DMPARY   EQU   0                                                        01374000
INREC    EQU   0                                                        01375000
PROGREC  EQU   0                                                        01376000
PROGID   EQU   PROGREC                                                  01377000
PROGID2  EQU   PROGID+1                                                 01378000
PROGADDR EQU   PROGREC+5                                                01379000
PROGCNT  EQU   PROGREC+10                                               01380000
PROGDATA EQU   PROGREC+16                                               01381000
BOOTSTR1 EQU   0                                                        01382000
BOOTSTR2 EQU   0                                                        01383000
BO2DATA  EQU   BOOTSTR2+12                                              01384000
BO2DCCW4 EQU   BO2DATA+24                                               01385000
BO2DCCNT EQU   BO2DCCW4+6                                               01386000
BO2DSRCH EQU   BO2DATA+38                                               01387000
B2SRCHR  EQU   BO2DSRCH+4                                               01388000
PROGLEN  EQU   0                                                        01389000
OVERHEAD EQU   0                                                        01390000
IPRECORD EQU   0                                                        01391000
IPCOUNT  EQU   IPRECORD                                                 01392000
ICNTCCHH EQU   IPCOUNT                                                  01393000
ICNTR    EQU   IPCOUNT+4                                                01394000
ICNTKL   EQU   IPCOUNT+5                                                01395000
ICNTDL   EQU   IPCOUNT+6                                                01396000
IPDATA   EQU   IPRECORD+8                                               01397000
DMPTRM   EQU   0                                                        01398000
ICKDVCL0 EQU   0                                                        01399000
ICKDVON0 EQU   0                                                        01400000
ICKIOIT0 EQU   0                                                        01401000
ICKIOPT0 EQU   0                                                        01402000
ICKIOTM0 EQU   0                                                        01403000
ICKSACL0 EQU   0                                                        01404000
ICKSADE0 EQU   0                                                        01405000
ICKSAFS0 EQU   0                                                        01406000
ICKSAGS0 EQU   0                                                        01407000
ICKSALD0 EQU   0                                                        01408000
ICKSAPR0 EQU   0                                                        01409000
ICKSASC0 EQU   0                                                        01410000
ICKSASN0 EQU   0                                                        01411000
ICKSAST0 EQU   0                                                        01412000
ICKSATI0 EQU   0                                                        01413000
ICKSAVC0 EQU   0                                                        01414000
ICKSAWO0 EQU   0                                                        01415000
ICKTPEA0 EQU   0                                                        01416000
ICKTPES0 EQU   0                                                        01417000
ICKTPRE0 EQU   0                                                        01418000
ICKTPRS0 EQU   0                                                        01419000
LISTTEST EQU   0                                                        01420000
NEWERID1 EQU   5                                                        01421000
NEWERID2 EQU   5                                                        01422000
GDTTBL   EQU   0                                                        01423000
GDTTR1   EQU   GDTTBL+8                                                 01424000
GDTTR2   EQU   GDTTBL+12                                                01425000
GDTDIN   EQU   GDTTBL+44                                                01426000
GDTDOP   EQU   GDTTBL+48                                                01427000
GDTDBG   EQU   GDTTBL+52                                                01428000
GDTDVO   EQU   GDTTBL+56                                                01429000
GDTPRT   EQU   GDTTBL+60                                                01430000
GDTESS   EQU   GDTTBL+64                                                01431000
GDTESA   EQU   GDTTBL+68                                                01432000
GDTRST   EQU   GDTTBL+72                                                01433000
GDTRES   EQU   GDTTBL+76                                                01434000
GDTCAL   EQU   GDTTBL+80                                                01435000
GDTGSP   EQU   GDTTBL+84                                                01436000
GDTFSP   EQU   GDTTBL+88                                                01437000
GDTGPL   EQU   GDTTBL+92                                                01438000
GDTFPL   EQU   GDTTBL+96                                                01439000
GDTLOD   EQU   GDTTBL+100                                               01440000
GDTDEL   EQU   GDTTBL+104                                               01441000
GDTPRL   EQU   GDTTBL+108                                               01442000
GDTEPL   EQU   GDTTBL+112                                               01443000
GDTTIM   EQU   GDTTBL+116                                               01444000
GDTIIO   EQU   GDTTBL+120                                               01445000
GDTTIO   EQU   GDTTBL+124                                               01446000
GDTOPN   EQU   GDTTBL+136                                               01447000
GDTCLS   EQU   GDTTBL+140                                               01448000
GDTGET   EQU   GDTTBL+144                                               01449000
GDTPUT   EQU   GDTTBL+148                                               01450000
GDTABT   EQU   GDTTBL+152                                               01451000
GDTABH   EQU   GDTTBL+156                                               01452000
GDTSNP   EQU   GDTTBL+160                                               01453000
GDTWTO   EQU   GDTTBL+168                                               01454000
GDTSCR   EQU   GDTTBL+172                                               01455000
GDTVCK   EQU   GDTTBL+176                                               01456000
GDTDVC   EQU   GDTTBL+180                                               01457000
GDTSTE   EQU   GDTTBL+188                                               01458000
VOLIB    EQU   0                                                        01459000
DDNAME   EQU   0                                                        01460000
PRGFLG   EQU   0                                                        01461000
BOOTFLG  EQU   0                                                        01462000
CONDCODE EQU   0                                                        01463000
         AGO   .@UNREFD                START UNREFERENCED COMPONENTS    01464000
GDTCVR   EQU   GDTTBL+184                                               01465000
GDTSPR   EQU   GDTTBL+164                                               01466000
GDTTOH   EQU   GDTTBL+132                                               01467000
GDTRIP   EQU   GDTTBL+128                                               01468000
GDTDVH   EQU   GDTTBL+40                                                01469000
GDTIOH   EQU   GDTTBL+36                                                01470000
GDTSAH   EQU   GDTTBL+32                                                01471000
GDTTPH   EQU   GDTTBL+28                                                01472000
GDTRIH   EQU   GDTTBL+24                                                01473000
GDTSTH   EQU   GDTTBL+20                                                01474000
GDTDBH   EQU   GDTTBL+16                                                01475000
GDTPRM   EQU   GDTTBL+4                                                 01476000
GDTHDR   EQU   GDTTBL                                                   01477000
BO2DPAD  EQU   BO2DATA+43                                               01478000
B2SRCHHH EQU   BO2DSRCH+2                                               01479000
B2SRCHCC EQU   BO2DSRCH                                                 01480000
BO2DSEEK EQU   BO2DATA+32                                               01481000
@NM00020 EQU   BO2DCCW4                                                 01482000
BO2DCCW3 EQU   BO2DATA+16                                               01483000
BO2DCCW2 EQU   BO2DATA+8                                                01484000
BO2DCCW1 EQU   BO2DATA                                                  01485000
BO2KEY   EQU   BOOTSTR2+8                                               01486000
BO2CNT   EQU   BOOTSTR2                                                 01487000
@NM00019 EQU   PROGREC+12                                               01488000
@NM00018 EQU   PROGREC+8                                                01489000
PROGID1  EQU   PROGID                                                   01490000
@NM00017 EQU   DMPARY+15                                                01491000
DMPARYTP EQU   DMPARY+14                                                01492000
DMPARYEX EQU   DMPARY+12                                                01493000
DMPARYIC EQU   DMPARY+10                                                01494000
DMPARYSZ EQU   DMPARY+8                                                 01495000
DMPARYNM EQU   DMPARY                                                   01496000
@NM00016 EQU   DMPITM+15                                                01497000
DMPITMTP EQU   DMPITM+14                                                01498000
DMPITMLN EQU   DMPITM+12                                                01499000
DMPITMPT EQU   DMPITM+8                                                 01500000
DMPITMNM EQU   DMPITM                                                   01501000
@NM00015 EQU   FMTCNVF+1                                                01502000
FMTBS    EQU   FMTCNVF+1                                                01503000
FMTSS    EQU   FMTCNVF+1                                                01504000
FMTAL    EQU   FMTCNVF+1                                                01505000
FMTZS    EQU   FMTCNVF+1                                                01506000
@NM00014 EQU   FMTCNVF                                                  01507000
FMTPU    EQU   FMTCNVF                                                  01508000
FMTBD    EQU   FMTCNVF                                                  01509000
FMTBHD   EQU   FMTCNVF                                                  01510000
FMTBHA   EQU   FMTCNVF                                                  01511000
FMTBH    EQU   FMTCNVF                                                  01512000
FMTOLEN  EQU   FMTLIST+8                                                01513000
FMTRIO   EQU   FMTOCOL                                                  01514000
FMTSPT   EQU   FMTSTO                                                   01515000
FMTSTL   EQU   FMTILEN                                                  01516000
@NM00013 EQU   FMTFLGS+1                                                01517000
FMTHDF   EQU   FMTFLGS                                                  01518000
FMTDFF   EQU   FMTFLGS                                                  01519000
FMTSTF   EQU   FMTFLGS                                                  01520000
FMTREPF  EQU   FMTFLGS                                                  01521000
FMTBDF   EQU   FMTFLGS                                                  01522000
FMTIDF   EQU   FMTFLGS                                                  01523000
FMTSCF   EQU   FMTFLGS                                                  01524000
FMTEOLF  EQU   FMTFLGS                                                  01525000
DARGDTM  EQU   DARGARY+4                                                01526000
DARGPCT  EQU   DARGINL                                                  01527000
DARGREP  EQU   DARGINS                                                  01528000
@NM00012 EQU   DARGLIST+19                                              01529000
DARGIND  EQU   DARGLIST+18                                              01530000
DARGRETL EQU   DARGLIST+16                                              01531000
DARGCNT  EQU   DARGLIST+14                                              01532000
DARGILP  EQU   DARGLIST+12                                              01533000
DARGRETP EQU   DARGLIST+4                                               01534000
DARGDBP  EQU   DARGLIST                                                 01535000
UVOLVOL  EQU   UVOLENT+4                                                01536000
UVOLDEV  EQU   UVOLENT                                                  01537000
UVOLCNT  EQU   UVOLLIST                                                 01538000
OPNRSVD  EQU   OPNAGL+28                                                01539000
OPNVOL   EQU   OPNAGL+24                                                01540000
OPNBLK   EQU   OPNAGL+20                                                01541000
OPNREC   EQU   OPNAGL+16                                                01542000
OPNDSN   EQU   OPNAGL+12                                                01543000
@NM00011 EQU   OPNMOD                                                   01544000
OPNMODRC EQU   OPNMOD                                                   01545000
OPNMODAC EQU   OPNMOD                                                   01546000
@NM00010 EQU   OPNTYP                                                   01547000
OPNTYPSO EQU   OPNTYP                                                   01548000
OPNTYPSI EQU   OPNTYP                                                   01549000
@NM00009 EQU   OPNRFM                                                   01550000
OPNRFMBK EQU   OPNRFM                                                   01551000
OPNRFMSF EQU   OPNRFM                                                   01552000
OPNRFMUN EQU   OPNRFM                                                   01553000
OPNRFMVR EQU   OPNRFM                                                   01554000
OPNRFMFX EQU   OPNRFM                                                   01555000
@NM00008 EQU   OPNOPT                                                   01556000
OPNOPTJM EQU   OPNOPT                                                   01557000
OPNOPTKS EQU   OPNOPT                                                   01558000
OPNOPTBK EQU   OPNOPT                                                   01559000
OPNOPTUP EQU   OPNOPT                                                   01560000
OPNOPTOT EQU   OPNOPT                                                   01561000
IOCEXT   EQU   IOCSTR+36                                                01562000
IOCRRN   EQU   IOCSTR+32                                                01563000
@NM00007 EQU   IOCSTR+30                                                01564000
IOCPNM   EQU   IOCSTR+28                                                01565000
IOCCBP   EQU   IOCSTR+24                                                01566000
IOCDSN   EQU   IOCSTR+20                                                01567000
@NM00006 EQU   IOCSTR+17                                                01568000
@NM00005 EQU   IOCMSG                                                   01569000
IOCMSGOP EQU   IOCMSG                                                   01570000
IOCMACPA EQU   IOCMAC                                                   01571000
@NM00004 EQU   IOCMAC                                                   01572000
IOCMACBK EQU   IOCMAC                                                   01573000
IOCMACUP EQU   IOCMAC                                                   01574000
IOCMACOT EQU   IOCMAC                                                   01575000
IOCMACIN EQU   IOCMAC                                                   01576000
@NM00003 EQU   IOCRFM                                                   01577000
IOCRFMBK EQU   IOCRFM                                                   01578000
IOCRFMSF EQU   IOCRFM                                                   01579000
IOCRFMUN EQU   IOCRFM                                                   01580000
IOCRFMVR EQU   IOCRFM                                                   01581000
IOCRFMFX EQU   IOCRFM                                                   01582000
@NM00002 EQU   IOCDSO                                                   01583000
IOCDSOPS EQU   IOCDSO                                                   01584000
IOCKYL   EQU   IOCSTR+12                                                01585000
IOCTRN   EQU   IOCSTR+8                                                 01586000
STAEWORK EQU   STAEPARM+32                                              01587000
STARPTR  EQU   STAEPFX+28                                               01588000
STASPTR  EQU   STAEPFX+24                                               01589000
STALEN   EQU   STAEPFX+20                                               01590000
STAID    EQU   STAEPFX+16                                               01591000
STAEPA   EQU   STAEPFX+12                                               01592000
STAGDT   EQU   STAEPFX+8                                                01593000
STABPTR  EQU   STAEPFX+4                                                01594000
STAFPTR  EQU   STAEPFX                                                  01595000
NEWID2   EQU   TRACE2+95                                                01596000
OLDERID2 EQU   TRACE2                                                   01597000
NEWID1   EQU   TRACE1+95                                                01598000
CALLID   EQU   OLDERID1+90                                              01599000
@NM00001 EQU   OLDERID1                                                 01600000
.@UNREFD ANOP                          END UNREFERENCED COMPONENTS      01601000
@RC00202 EQU   @RC00200                                                 01602000
@RC00329 EQU   @RC00324                                                 01603000
@RF00348 EQU   ENDLOOPB                                                 01604000
@RF00386 EQU   ENDLOOPC                                                 01605000
@RF00406 EQU   @RC00398                                                 01606000
@ENDDATA EQU   *                                                        01607000
         END   ICKWI01,(C'PLS1839',0701,78192)                          01608000
