//*
//* 2006/08/10 @kl
//*   These are the vanilla ASP install jobs punched from
//*   the ASPV32 tape.  The jobstream can't be run as-is
//*   because it contains binary object decks that don't
//*   translate correctly to ASCII.  An EBCDIC version of
//*   this file is in the file "zaspjobs.ebcdic".
//*
//REBULD JOB ASP,ASPV32,MSGLEVEL=(1,1)
//REBULD PROC SER=,DSN=,FILE=,SPACE=,DISP=,
//            DISK=3330,TAPE=TAPE9,SOUT=DUMMY
//*
//*    SER=  VOLID OF OUTPUT DISK
//*    DSN=  DSNAME OF OUTPUT DATASET
//*    FILE= FILE NUMBER OF INPUT TAPE FILE
//*    SPACE=SPACE FOR DSN DATASET IN THE FORM '(CYL,(X,Y,Z))'
//*    DISP= FINAL DISPOSITION FOR DSN DATASET  (I.E. DISP=KEEP)
//*    DISK= SYMBOLIC NAME OR ADDRESS OF DISK DRIVE
//*    TAPE= SYMBOLIC NAME OR ADDRESS OF TAPE DRIVE
//*    SOUT= SYSOUT PARAMETER FOR SYSPRINT (I.E. SOUT='SYSOUT=A')
//*          CAN ALSO BE SPECIFIED AS:
//*           SOUT='DSN=SOUT,UNIT=TAPE9,DISP=(,KEEP),LABEL=(1,NL)'
//*
//STEP1 EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD &SOUT,
//            SPACE=(CYL,(10,5))
//SYSUT2   DD DSN=&DSN,
//            UNIT=&DISK,
//            VOL=SER=&SER,
//            DISP=(,&DISP),
//            SPACE=&SPACE,
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=3360)
//SYSIN    DD DSN=DSN&FILE,
//            UNIT=(&TAPE,,DEFER),
//            VOL=(,RETAIN,SER=ASPV32),
//            LABEL=(&FILE,NL),
//            DISP=(OLD,KEEP),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000)
//       PEND
//PSGLIB EXEC PROC=REBULD,SER=ASP320,DSN='ASP.PSGLIB',
//            FILE=8,SPACE='(CYL,(6,1,10))',DISP=KEEP
//MAC320 EXEC PROC=REBULD,SER=ASP320,DSN='ASP.MAC320',
//            FILE=9,SPACE='(CYL,(20,1,50))',DISP=KEEP
//SOURCE EXEC PROC=REBULD,SER=ASP320,DSN='ASP.SOURCE',
//            FILE=10,SPACE='(CYL,(86,1,50))',DISP=KEEP
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//LINKASP JOB ASP,ASPV32,MSGLEVEL=(1,1),REGION=128K
//LINK PROC SER=,DISK=3330,TAPE=TAPE9
//*
//*      SER=  VOLID OF OUTPUT DISK
//*      DISK= SYMBOLIC NAME OR DEVICE ADDRESS OF DISK DRIVE
//*      TAPE= SYMBOLIC NAME OR DEVICE ADDRESS OF TAPE DRIVE
//*
//STEP1 EXEC PGM=IEWL,
//           PARM='NCAL,LET,LIST,XREF,RENT,SIZE=(128K,18K)'
//SYSUT1   DD UNIT=SYSDA,
//            SPACE=(CYL,(5,1))
//SYSPRINT DD SYSOUT=A
//LINKLIB  DD DSN=SYS1.LINKLIB,
//            DISP=SHR
//SYSLMOD  DD DSN=ASP.VERSON32,
//            UNIT=&DISK,
//            VOL=SER=&SER,
//            DISP=(NEW,KEEP),
//            SPACE=(CYL,(8,1,50)),
//            DCB=(RECFM=U,BLKSIZE=7294)
//SYSLIN   DD UNIT=(&TAPE,,DEFER),
//            VOL=SER=ASPV32,
//            DISP=(OLD,KEEP),
//            LABEL=(7,NL),
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//STEP2 EXEC PGM=IEWL,
//           PARM='NCAL,LET,LIST,XREF,SIZE=(128K,18K)'
//SYSUT1   DD UNIT=SYSDA,
//            SPACE=(CYL,(5,1))
//SYSPRINT DD SYSOUT=A
//SYSLMOD  DD DSN=ASP.VERSON32,
//            UNIT=&DISK,
//            VOL=SER=&SER,
//            DISP=(OLD,KEEP)
//       PEND
// EXEC LINK,SER=ASP320
//STEP2.SYSLIN DD *
 INCLUDE SYSLMOD(ABENDMON,ADEQUEUE,AHIO,ALDADEL,ASAVERTN,ASPABEND)
 INCLUDE SYSLMOD(ASPCKPT,ASPCONTL,ASPOPENX,CALLDRVR,CONSAUTH)
 INCLUDE SYSLMOD(CONSCONS,CONSINPT,CONSOLES,CONSQMGR,GETPUTMN,GETPUTUN)
 INCLUDE SYSLMOD(INITIATE,INTCOM,IODATA,IONUC,IORTNS,JOBCONTL,JOBNUM)
 INCLUDE SYSLMOD(JSSDR,LOGINOUT,NETCONTL,RESPARAM,TRACKS,TVTCSECT)
 INCLUDE SYSLMOD(WTDDRVR)
  ENTRY INITIATE
   SETSSI 0301C200
    NAME ASPNUC(R)
 INCLUDE SYSLMOD(RJPMAIN1,RJPMAIN2,RJPMAIN3)
 INCLUDE SYSLMOD(RJPMAIN4,RJPMAIN5,RJPMAIN6)
  ENTRY RJPTVT
   SETSSI 0301C200
    NAME RJPMAIN(R)
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//LINKMAIN JOB ASP,ASPV32,MSGLEVEL=(1,1),REGION=128K
//LINK PROC SER1=,SER2=,DISK1=3330,DISK2=3330
//*
//*    SER1= THE VOLID OF DISK PACK FOR THE ASP.MAINTASK DATASET
//*    SER2= THE VOLID OF DISK PACK CONTAINING THE ASP.VERSION32
//*          DATASET
//*    DISK1= SYMBOLIC NAME OF DISK DRIVE FOR SER1 (I.E. 3330)
//*    DISK2= SYMBOLIC NAME OF DISK DRIVE FOR SER2 (I.E. 3330)
//*
//STEP1 EXEC PGM=IEWLF128,
//           PARM='NCAL,LET,LIST,XREF,RENT,SIZE=(128K,18K)'
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSPRINT DD SYSOUT=A
//SYSLIB   DD DSN=ASP.VERSON32,
//            UNIT=&DISK2,
//            VOL=SER=&SER2,
//            DISP=(OLD,KEEP)
//SYSLMOD  DD DSN=ASP.MAINTASK,
//            UNIT=&DISK1,
//            VOL=SER=&SER1,
//            DISP=(NEW,KEEP),
//            SPACE=(CYL,(2,1,5))
//STEP2 EXEC PGM=IEWLF128,
//           PARM='NCAL,LET,LIST,XREF,RENT,SIZE=(128K,18K)'
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(1,1))
//SYSPRINT DD SYSOUT=A
//SYSLIB   DD DSN=ASP.VERSON32,
//            UNIT=&DISK2,
//            VOL=SER=&SER2,
//            DISP=(OLD,KEEP)
//SYSLMOD  DD DSN=SYS1.LINKLIB,
//            DISP=SHR
//      PEND
//LINKMT EXEC LINK,SER1=ASP320,SER2=ASP320
//STEP1.SYSLIN DD *
 INCLUDE SYSLIB(ADSGEN)
  SETSSI 0301C200
   NAME ADSGEN(R)
 INCLUDE SYSLIB(AOUTPUT)
  SETSSI 0301C200
   NAME AOUTPUT(R)
 INCLUDE SYSLIB(ASPCTCM)
  SETSSI 0301C200
   NAME ASPCTCM(R)
 INCLUDE SYSLIB(ASPFENCE)
  SETSSI 0301C200
   NAME ASPFENCE(R)
 INCLUDE SYSLIB(ASPLOC)
  SETSSI 0301C200
   NAME ASPLOC(R)
 INCLUDE SYSLIB(ASPQALL)
  SETSSI 0301C200
   NAME ASPQALL(R)
 INCLUDE SYSLIB(ASPQRDR)
  SETSSI 0301C200
   NAME ASPQRDR(R)
 INCLUDE SYSLIB(ASPVER)
  SETSSI 0301C200
   NAME ASPVER(R)
 INCLUDE SYSLIB(ASPVSTAT)
  SETSSI 0301C200
   NAME ASPVSTAT(R)
 INCLUDE SYSLIB(ASPWRITR)
  SETSSI 0301C200
   NAME ASPWRITR(R)
 INCLUDE SYSLIB(ASUBMIT)
  SETSSI 0301C200
   NAME ASUBMIT(R)
 INCLUDE SYSLIB(DYNDISP)
  SETSSI 0301C200
   NAME DYNDISP(R)
 INCLUDE SYSLIB(MAINTASK)
  SETSSI 0301C200
   NAME MAINTASK(R)
/*
//STEP2.SYSLIN DD *
 INCLUDE SYSLIB(IKJEFFHR)
  ALIAS HOLD
  ALIAS RELEASE
  ALIAS REL
   SETSSI 0301C200
    NAME IKJEFFHR(R)
 INCLUDE SYSLIB(IKJEFF53)
  SETSSI 0301C200
   NAME IKJEFF53(R)
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//ASPUPASM JOB ASP,ASPV32,MSGLEVEL=(1,1)
//STEP1 EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=A
//SYSUT2   DD DSN=SYS1.PROCLIB,DISP=OLD
//SYSIN    DD DATA
./ ADD NAME=ASPUPASM,LIST=ALL
//UPASM  PROC  MODULE=,                                                +00000000
//             LEVEL=320,                                              +00001000
//             IEBUP=DTE,                                              +00002000
//             ASMBLR=IEUASM,                                          +00003000
//             SOURCE='ASP.SOURCE',                                    +00004000
//             LIB1='ASP.MAC320',                                      +00005000
//             LIB2='ASP.PSGLIB',                                      +00006000
//             LIB3='SYS1.MACLIB',                                     +00007000
//             DISK=3330,                                              +00008000
//             SYSDA=SYSDA                                              00009000
//UP     EXEC  PGM=IEBUP&IEBUP,COND=EVEN                                00010000
//SYSUT1   DD  DSN=&SOURCE,                                            +00011000
//             UNIT=&DISK,                                             +00012000
//             VOL=SER=ASP&LEVEL,                                      +00013000
//             DISP=SHR                                                 00014000
//SYSUT2   DD  DSN=&&TEMP,                                             +00015000
//             SPACE=(CYL,(1,1,1)),                                    +00016000
//             UNIT=&SYSDA,                                            +00017000
//             DISP=(,PASS),                                           +00018000
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=880)                      00019000
//SYSPRINT DD  SYSOUT=A                                                 00020000
//ASM    EXEC  PGM=&ASMBLR,COND=(0,LT,UP),PARM='DECK,NOLOAD'            00021000
//SYSLIB   DD  DSN=&LIB1,DISP=SHR                                       00022000
//         DD  DSN=&LIB2,DISP=SHR                                       00023000
//         DD  DSN=&LIB3,DISP=SHR                                       00024000
//SYSUT1   DD  DSN=&SYSUT1,                                            +00025000
//             UNIT=&SYSDA,                                            +00026000
//             SPACE=(1700,(400,50))                                    00027000
//SYSUT2   DD  DSN=&SYSUT2,                                            +00028000
//             UNIT=&SYSDA,                                            +00029000
//             SPACE=(1700,(400,50))                                    00030000
//SYSUT3   DD  DSN=&SYSUT3,                                            +00031000
//             UNIT=&SYSDA,                                            +00032000
//             SPACE=(1700,(400,50))                                    00033000
//SYSPRINT DD  SYSOUT=A                                                 00034000
//SYSPUNCH DD  SYSOUT=B                                                 00035000
//SYSGO    DD  DUMMY                                                    00036000
//SYSIN    DD  DSN=&&TEMP(&MODULE),                                    +00037000
//             DISP=(OLD,DELETE)                                        00038000
//SPOOL  EXEC  PGM=IEBGENER,COND=(20,NE,UP)                             00039000
//SYSPRINT DD  DUMMY                                                    00040000
//SYSUT1   DD  DSN=&SOURCE(&MODULE),                                   +00041000
//             UNIT=&DISK,                                             +00042000
//             VOL=SER=ASP&LEVEL,                                      +00043000
//             DISP=SHR                                                 00044000
//SYSUT2   DD  DSN=&&TEMP(&MODULE),                                    +00045000
//             UNIT=&SYSDA,                                            +00046000
//             SPACE=(CYL,(1,1,1)),                                    +00047000
//             DISP=(,PASS),                                           +00048000
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=880)                      00049000
//SYSIN    DD  DUMMY                                                    00050000
//ASM2   EXEC  PGM=&ASMBLR,COND=((20,NE,UP),(0,LT,SPOOL)),             +00051000
//             PARM='DECK,NOLOAD'                                       00052000
//SYSLIB   DD  DSN=&LIB1,DISP=SHR                                       00053000
//         DD  DSN=&LIB2,DISP=SHR                                       00054000
//         DD  DSN=&LIB3,DISP=SHR                                       00055000
//SYSUT1   DD  DSN=&SYSUT1,                                            +00056000
//             UNIT=&SYSDA,                                            +00057000
//             SPACE=(1700,(400,50))                                    00058000
//SYSUT2   DD  DSN=&SYSUT2,                                            +00059000
//             UNIT=&SYSDA,                                            +00060000
//             SPACE=(1700,(400,50))                                    00061000
//SYSUT3   DD  DSN=&SYSUT3,                                            +00062000
//             UNIT=&SYSDA,                                            +00063000
//             SPACE=(1700,(400,50))                                    00064000
//SYSPRINT DD  SYSOUT=A                                                 00065000
//SYSPUNCH DD  SYSOUT=B                                                 00066000
//SYSGO    DD  DUMMY                                                    00067000
//SYSIN    DD  DSN=&&TEMP(&MODULE),                                    +00068000
//             DISP=(OLD,DELETE)                                        00069000
./ ENDUP
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//MAINTASK JOB ASP,ASPV32,MSGLEVEL=(1,1)
//STEP1 EXEC PGM=IEBUPDTE,PARM=NEW
//SYSPRINT DD SYSOUT=A
//SYSUT2   DD DSN=SYS1.PROCLIB,DISP=OLD
//SYSIN    DD DATA
./ ADD NAME=MT,LIST=ALL
//MT    PROC  MTVOL=ASP320,                                            +00000000
//            PRTR=1403,                                               +00001000
//            DISK=3330,                                               +00002000
//            SYSDA=SYSDA,                                             +00003000
//            ASPUT1=ASPUT1,                                           +00004000
//            ASPUT2=ASPUT2,                                           +00005000
//            ASPUT3=ASPUT3                                             00006000
//MT     EXEC PGM=MAINTASK,REGION=50K                                   00007000
//STEPLIB  DD DSN=ASP.MAINTASK,                                        +00008000
//            DISP=SHR,                                                +00009000
//            UNIT=&DISK,                                              +00010000
//            VOL=SER=&MTVOL                                            00011000
//SYSABEND DD UNIT=&PRTR                                                00012000
//SNAPDD   DD SYSOUT=Q,                                                +00013000
//            SPACE=(CYL,(10,2))                                        00014000
//ASPDATA  DD DUMMY                                                     00015000
//CTCDD    DD UNIT=(CTC,,DEFER),                                       +00016000
//            LABEL=(,NL)                                               00017000
//ADSG01   DD UNIT=&SYSDA,                                             +00018000
//            DISP=OLD,                                                +00019000
//            VOL=SER=&ASPUT1,                                         +00020000
//            SPACE=(CYL,(1,1))                                         00021000
//ADSG02   DD UNIT=&SYSDA,                                             +00022000
//            DISP=OLD,                                                +00023000
//            VOL=SER=&ASPUT2,                                         +00024000
//            SPACE=(CYL,(1,1))                                         00025000
//ADSG03   DD UNIT=&SYSDA,                                             +00026000
//            DISP=OLD,                                                +00027000
//            VOL=SER=&ASPUT3,                                         +00028000
//            SPACE=(CYL,(1,1))                                         00029000
//ADCTC    DD UNIT=(CTC,,DEFER)                                         00030000
//ASPQRDR  DD UNIT=(CTC,,DEFER),                                       +00031000
//            LABEL=(,NL),                                             +00032000
//            VOL=SER=CTCRDR,                                          +00033000
//            DSN=ASP.QRDR                                              00034000
//ASPQWTR  DD UNIT=(CTC,,DEFER),                                       +00035000
//            LABEL=(,NL)                                               00036000
//OUTDATA  DD DUMMY                                                     00037000
//CTCDD2   DD UNIT=(CTC,,DEFER),                                       +00038000
//            LABEL=(,NL),                                             +00039000
//            DCB=BLKSIZE=760                                           00040000
//IEELOGX  DD DUMMY                                                     00041000
//IEELOGY  DD DUMMY                                                     00042000
./ ENDUP
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//MVTDUMP  JOB ASP,ASPV32,REGION=128K
//LKEDMVTD PROC SER=ASP320,DSN='ASP.VERSON32',DISK=3330
//*
//*      DSN= DATASET NAME OF WHERE NEW DUMP MODULE IS
//*            TO BE LKED.
//*      SER= VOLID OF DISK PACK CONTAINING 'DSN' DATASET
//*      DISK= TYPE OF DISK FOR 'SER' DISK PACK
//*
//LKED EXEC PGM=IEWL,PARM='NCAL,LET,LIST,XREF,RENT'
//*
//* THIS JOB PRODUCES A LOAD MODULE WHICH WILL BE EXECUTED WITH
//* SERVICE AID IMDPRDMP TO FORMAT THE ASP CONTROL BLOCKS IF
//* THEY ARE PRESENT IN THE STANDALONE DUMP INPUT.
//*
//SYSPRINT DD SYSOUT=A
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSLMOD  DD DSN=&DSN,
//            UNIT=&DISK,
//            VOL=SER=&SER,
//            DISP=SHR
//DD1      DD DSN=SYS1.LINKLIB,
//            DISP=SHR
//       PEND
//STEP1 EXEC LKEDMVTD
//SYSLIN   DD *
 REPLACE IMDPRFIO
 INCLUDE DD1(IMDPRFSR)
 CHANGE IMDPRFIO(ASPPRFIO)
 INCLUDE DD1(IMDPRFSR)
 ENTRY IMDPRFSR
 INCLUDE SYSLMOD(ASPDMPRT)
 NAME IMDPRFSR(R)
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//VS2DUMP  JOB ASP,ASPV32,REGION=128K
//LKEDVS2D PROC SER=ASP320,DSN='ASP.VERSON32',DISK=3330
//*
//*      DSN= DATASET NAME OF WHERE NEW DUMP MODULE IS
//*            TO BE LKED.
//*      SER= VOLID OF DISK PACK CONTAINING 'DSN' DATASET
//*      DISK= TYPE OF DISK FOR 'SER' DISK PACK
//*
// EXEC PGM=IEWL,PARM='NCAL,LET,LIST,XREF,RENT'
//*
//* THIS JOB PRODUCES A LOAD MODULE WHICH WILL BE EXECUTED WITH
//* SERVICE AID AMDPRDMP TO FORMAT THE ASP CONTROL BLOCKS IF
//* THEY ARE PRESENT IN THE STANDALONE DUMP INPUT.
//*
//SYSPRINT DD SYSOUT=A
//SYSUT1   DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSLMOD  DD DSN=&DSN,
//            UNIT=&DISK,
//            VOL=SER=&SER,
//            DISP=SHR
//DD2      DD DSN=SYS1.LINKLIB,
//            DISP=SHR
//       PEND
//STEP1 EXEC LKEDVS2D
//SYSLIN   DD *
 REPLACE AMDPRFIO
 INCLUDE DD2(AMDPRFSR)
 CHANGE AMDPRFIO(ASPPRFIO)
 INCLUDE DD2(AMDPRFSR)
 ENTRY AMDPRFSR
 CHANGE IMDPRFIO(AMDPRFIO)
 INCLUDE SYSLMOD(ASPDMPRT)
 NAME AMDPRFSR(R)
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//ASPPRE JOB A,'ASP VER 3.2 MVT',REGION=150K
//*
//******************************************************************************
//* ASP 3.2   PREGEN JOB FOR MVT REL 21.6 , 21.7 AND 21.8                      *
//******************************************************************************
//*
//******************************************************************************
//* NOTE1 - APPLICABLE TO PRE MVT 21.8 RELEASES                                *
//*      BEFORE RUNNING THE PREGEN JOB CHANGE THE FOLLOWING SEQUENCE NUMBERS   *
//*      IN MACRO SGIEC202: PREGEN JOB IS SET UP FOR REL 21.8.                 *
//*       SEQUENCE NUMBER 11286321 MUST BE 11140000 FOR PRE 21.8 GENS          *
//*       SEQUENCE NUMBER 11286322 MUST BE 11150017 FOR PRE 21.8 GENS          *
//*----------------------------------------------------------------------------*
//* NOTE2 - APPLICABLE TO POSTGEN PROCESSING (MODULE IFG0552X)                 *
//*     THE POSTGEN JOB WILL LINKEDIT A SPECIAL VERSION OF MODULE IFG0552X     *
//*     INTO SYS1.SVCLIB,THUS REPLACING THE SUPPLIED MODULE. A SUBSEQUENT ASP  *
//*     SUPERZAP WILL THEN MODIFY THIS MODULE. IF REL 21.8 WITHOUT OS PTF      *
//*     5591 IS BEING INSTALLED,THE POSTGEN JOB MAY BE RUN AS IS. OTHERWISE,   *
//*     IF REL 21.8 WITH OS PTF 5591 OR PRE REL 21.8 SYSTEMS ARE BEING         *
//*     INSTALLED,ALTER THE POSTGEN JOB AS FOLLOWS:                            *
//*       1)  DELETE STEP R21LEOV FROM POSTGEN JCL. STEP CONTAINS 6 STATEMENTS *
//*           HAVING 'EOV' IN POSITIONS 78-80.                                 *
//*       2)  DELETE SYSIN DATA TO STEP R21LEOV FROM POSTGEN JOB.SYSIN         *
//*           DATA AND DELIMITER COMPRISES 24 STATEMENTS.THE FIRST AND LAST    *
//*           STATEMENTS HAVE 'EOV' IN POSITIONS 78-80.                        *
//******************************************************************************
//*
//******************************************************************************
//*      THE JOB STEPS ARE AS FOLLOWS :                                        *
//* STEP1 - UPDATES MACROS FROM SYS1.GENLIB INTO SYS1.ASPMOD                   *
//* STEP2 - UPDATES MACROS FROM SYS1.MODGEN INTO SYS1.ASPMOD                   *
//* STEP3 - UPDATES MACROS FROM SYS1.MODGEN2 INTO SYS1.ASPMOD                  *
//* STEP4 - LINKEDITS THE MODULE 'ASPSVC',A TYPE ONE SVC,INTO SYS1.ASP         *
//******************************************************************************
//*      THE SYMBOLIC PARAMETERS REPRESENT THE FOLLOWING :                     *
//* DLIB    - VOLSER OF VOLUME CONTAINING SYSGEN MACROS                        *
//* DLUNIT  - UNIT TYPE OF DLIB VOLUME                                         *
//* ASPVOL  - VOLSER OF VOLUME FOR ALLOCATING ASP DATA SETS                    *
//* DAUNIT  - UNIT TYPE OF ASPVOL                                              *
//* MODGEN2 - NAME OF DATA SET CONTAINING NIP MACRO                            *
//* OUTCLAS - THE CLASS TO WHICH THE SYSOUT INFORMATION IS TO BE DIRECTED      *
//******************************************************************************
//*
//PREGEN PROC DLIB=DLIB02,DLUNIT=,ASPVOL=,DAUNIT=,MODGEN2=MODGEN2,
// OUTCLAS=A
//STEP1 EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=SYS1.GENLIB,UNIT=&DLUNIT,DISP=SHR,VOL=SER=&DLIB
//SYSUT2 DD DSN=SYS1.ASPMOD,DISP=(,CATLG),UNIT=&DAUNIT,
// VOL=SER=&ASPVOL,SPACE=(3360,(800,20,5)),DCB=(RECFM=FB,LRECL=80,
// BLKSIZE=3360,DSORG=PO)
//SYSPRINT DD SYSOUT=&OUTCLAS
//STEP2 EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=SYS1.MODGEN,UNIT=&DLUNIT,DISP=(SHR,PASS),
// VOL=SER=&DLIB
//SYSUT2 DD DSN=SYS1.ASPMOD,DISP=SHR,VOL=SER=&ASPVOL,UNIT=&DAUNIT
//SYSPRINT DD SYSOUT=&OUTCLAS
//STEP3 EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=SYS1.&MODGEN2,DISP=SHR,UNIT=&DLUNIT,VOL=SER=&DLIB
//SYSUT2 DD DSN=SYS1.ASPMOD,DISP=SHR,UNIT=&DAUNIT,VOL=SER=&ASPVOL
//SYSPRINT DD SYSOUT=&OUTCLAS
//STEP4 EXEC PGM=IEWL,PARM='NCAL,LIST,LET,XREF'
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,SPACE=(TRK,(20,10))
//SYSLMOD DD DSN=SYS1.ASP,DISP=(,CATLG),UNIT=&DAUNIT,VOL=SER=&ASPVOL,
// SPACE=(3625,(4,4,1))
//SYSLIN DD DDNAME=SYSIN
// PEND
//******************************************************************************
//*      THE FOLLOWING IS A SAMPLE EXEC CARD
//*RE EXEC PREGEN,DLUNIT=2314,ASPVOL=DLIB02,DAUNIT=2314
//******************************************************************************
//STEP1.SYSIN DD *
./       CHANGE  NAME=IODEVICE
         GBLB  &CTCDEVS(768)                                   @AA32703 00421000
         AIF   ('&FEATURE(&A)' EQ 'CTC').CTCFEAT  BR IF CTC SPECD **ASP 09875000
.CTCFEAT MNOTE *,'        CHANNEL TO CHANNEL DEVICE'              **ASP 10090000
&CTCDEVS(&I) SETB 1                                            @AA32703 10091000
         AGO   .MORE1                                             **ASP 10092000
&A       SETA  1                                                  **ASP 24610000
         AIF   ('&FEATURE(&A)' NE 'CTC').NOCTC  BR IF NOT CTC     **ASP 24611000
         MNOTE *,'        CHANNEL TO CHANNEL ADAPTER'             **ASP 24612000
&CTCDEVS(&I) SETB 1                                            @AA32703 24613000
.NOCTC   ANOP                                                     **ASP 24614000
./       CHANGE  NAME=SGIEC202
         GBLB  &CTCDEVS(768)                                   @AA32703 00061000
         LCLB  &CTCPRES                                           **ASP 00530000
.H01     AIF   (&CTCDEVS(&COUNTB)).CTCFEAT   BR IF CTC DEVICE   AA32703 11286321
         AIF   (NOT &SGDF01B(&COUNTB)).SETYPA     BR IF 9 TRACK   **ASP 11286322
         AIF   (NOT &CTCDEVS(&COUNTB)).UCBOPUT                 @AA32703 12370000
         AGO   .CTCFEAT                                           **ASP 12380000
.CTCFEAT ANOP       SET CTC FEATURE BIT AND CHECK DEVICE TABLE    **ASP 12390000
&CTCPRES SETB  1                   INDICATE CTC PRESENCE          **ASP 12390010
&LCHCNT  SETA  &LCHCNT+4           SET CTC BIT IN OPT FEATURES    **ASP 12390020
&ENTCNT  SETA  1                   INITIALIZE COUNT               **ASP 12390030
.CTCCONT AIF   ('&TYPTAB(&ENTCNT)' EQ 'CTC').CTCDEV  BR IF CTC    **ASP 12390040
&ENTCNT  SETA  &ENTCNT+1           UPDATE ENTRY COUNT             **ASP 12390050
         AIF   (&ENTCNT LE &TYPCNT).CTCCONT  BR IF MORE TYPES     **ASP 12390060
&TYPCNT  SETA  &TYPCNT+1           ADD ONE FOR CTC DEVICE TYPE    **ASP 12390070
&TYPTAB(&TYPCNT) SETC 'CTC'        INSERT CTC INTO TABLE          **ASP 12390080
.CTCDEV  ANOP                                                     **ASP 12390090
         AIF   (NOT &SGSUPRB(26)).CTCNOLT NEED OLTEP ADJUSTMENT         12390092
&ENTCNT  SETA  (&SGDCLSB(70)+&ENTCNT) YES ADJUST ENTCNT                 12390094
.CTCNOLT ANOP                                                           12390096
&DEVTAB  SETA  &ENTCNT*8-8         COMPUTE DEVTAB INDEX FOR UCB   **ASP 12390100
         AGO   .SETYPA             GO SET UCB TYPE FIELD          **ASP 12390110
         AIF   (NOT &CTCPRES).NOCTC  SKIP IOS ADDITIONS IF NO CTC **ASP 15276100
         PUNCH ' IECCTC &I,&TWOBS' INCLUDE ASP IOS MODS           **ASP 15276118
.NOCTC   ANOP                                                     **ASP 15277118
/*
//STEP2.SYSIN DD *
./       ADD   NAME=IECCTC
         MACRO                                                          00000000
         IECCTC  &CTLPRG,&TBASE                                         00001000
.*             &CTLPRG VALUES ARE 1,2 INDICATING MFT,MVT RESPCTVLY      00002000
*--------------------------------------------------------------------*  00011000
*                                                                     * 00012000
*              CLEAR NOT READY FOR CTC TAPE DEVICES                   * 00013000
*                                                                     * 00014000
*--------------------------------------------------------------------*  00015000
CTCENQ   L     APBSRG,ENQAD        GET ADDRESS OF ENQUEUE ROUTINE **ASP 00016000
         TM    UCBTYP+2(UCBREG),X'80' IS THIS A TAPE           @AA23757 00017000
         BZ    CTCENQ20 -          NO,GO ENQUE REQUEST         @AA23757 00018000
         TM    UCBFL1(UCBREG),UCBNRY IS THE DEVICE NOT READY   @AA23757 00019000
         BZ    CTCENQ10 -          NO,CHECK CHANNEL MASK       @AA23757 00020000
         NI    UCBFL1(UCBREG),X'FF'-UCBNRY TURN OFF NOT READY      *ASP 00021000
         B     XCP010A -           GO RETRY THE REQUEST            *ASP 00022000
CTCENQ10 TM    CHMSK,X'FF' -       ANY RESTART BITS ON         @AA23757 00023000
         BZ    CTCENQ20 -          NO,GO ENQUE REQUEST         @AA23757 00024000
         LH    WKREG1,CTCMUCB -    GET MASTER CTC UCB ADDR     @AA23757 00025000
         LTR   WKREG1,WKREG1 -     IS ADDR VALID               @AA23757 00026000
         BZ    CTCENQ20 -          NO,GO ENQUE REQUEST         @AA23757 00026100
         IC    ICREG,UCBCHA(WKREG1) GET CTC CHANNEL ADDR       @AA23757 00026200
         N     ICREG,CTCMASK -     CLEAR UNWANTED BITS         @AA23757 00026300
         SLL   ICREG,2 -           MULTIPLY CHAN ADDR BY 4     @AA23757 00026400
         LA    WKREG1,IECCST(ICREG) POINT AT CHANNEL TABLE     @AA23757 00026500
         OC    CHMSK(1),LCTMSK(WKREG1) TURN ON CTC CHAN MASK   @AA23757 00026600
         SR    ICREG,ICREG -       CLEAR IC REG                @AA23757 00026700
CTCENQ20 B     XCPENQ-XCPPNQ(APBSRG) GO ENQUE REQUEST          @AA23757 00027000
         TITLE 'CHANNEL TO CHANNEL ADAPTER START I/O MODULE'      **ASP 00028000
*---------------------------------------------------------------------* 00029000
*                                                                     * 00030000
*        CHECK ADAPTER AVAILABILITY - INSERT DSTL IF REQUIRED         * 00031000
*        LINK TO USERS SIO APPENDAGE - SET SECONDARY UCB BUSY         * 00032000
*        LINK TO IOS TO DO THE SIO - FREE THE PROPER UCB(S)           * 00033000
*        UPDATE THE DSTL IF REQUIRED AND EXIT TO IOS POST SIO         * 00034000
*                                                                     * 00035000
*---------------------------------------------------------------------* 00036000
         SPACE 2                                                  **ASP 00037000
CTCSIO   DS    0H -                                               **ASP 00038000
CTCSIO10 LH    UCBREG,TSTUCB(TSTREG) - ASSURE VALIDITY OF UCBREG  **ASP 00042000
         LH    WKREG2,CTCMUCB -    POINT TO ADAPTER UCB           **ASP 00043000
         TM    UCBTYP+2(UCBREG),X'80' IS REQ FOR A TAPE DEVICE     *ASP 00043100
         BC    8,CNSLREQ -         NO,BR,MUST BE CONSOE            *ASP 00043200
         TM    CTCMONSW,MNMTENA1 - IS THE DEVICE USABLE        @AA27462 00043300
         BC    1,CNSLREQ -         YES GO ON WITH REQUEST          *ASP 00043400
CTCABEND MVI   IOBCOD(IOBREG),PERMER SET PERMANENT ERROR IN IOB    *ASP 00043420
CTCNOIO  DS    0H -                                            @AA33546 00043430
         LH    UAREG,UCBCHA(UCBREG) - RELOAD CHAN/UNIT ADDRESS @AA34010 00043435
         N     UAREG,ADDRMSK -        CLEAR HI ORDER BYTE      @AA34010 00043436
         MVI   CSWLOC+4,CSWCHE+CSWDVE - SET CHAN & DEV END IN CSW **ASP 00043440
         TM    *,X'FF' -           GENERATE A SIO CC OF CSW STORD **ASP 00043460
         LA    LNKRG3,CTCPIO -     POINT TO PIO ENTRY POINT             00043470
         B     LASPPIO -           GO TO IOS FOR POST SIO CLEANUP **ASP 00043480
CNSLREQ  LTR   WKREG2,WKREG2 -     IS THE MASTER CTC AVAILABLE     *ASP 00043500
         BZ    CTCCTLCM -          NO,DONT START REQ           @AA33546 00043700
         TM    UCBFL1(WKREG2),UCBBSY - IS THE ADAPTER BUSY        **ASP 00044000
         BO    CTCBUSY -           YES,DONT START REQ          @AM00431 00045000
         TM    CTCMONSW,MNASPABN - IS ASP ABENDING             @AA27462 00045100
         BO    CTCBUSY -           YES,DONT START REQ          @AM00431 00045200
         LA    WKREG2,UCBTYP-2(UCBREG) - POINT TO DSTL FOR REQEST **ASP 00046000
         L     WKREG1,IOBST-1(IOBREG) - POINT TO CHANNEL PROGRAM  **ASP 00047000
         CLC   CTCLAST,0(WKREG2) - IS REQ FOR DEVICE LAST USED          00048000
         BE    CTCSIO20 -          YES, GO SET THE CAW            **ASP 00049000
         MVC   CTCCUR,0(WKREG2) -  NO, SET DSTL AS CURRENT              00050000
         MVC   CTCMODE(1),DCBMODE(DCBREG) MOVE IN MODE BYTE       **ASP 00050100
         TM    DCBMACRF(DCBREG),X'80' IS THIS EXCP                **ASP 00050150
         BZ    NOTEXCP -           NO,BRANCH                      **ASP 00050200
         MVC   CTCLRECL(5),DSHEXCP FILL IN DATA FOR EXCP          **ASP 00050250
         TM    DCBMACRF(DCBREG),X'40' IS THE RECFM AVAILABLE      **ASP 00050300
         BO    XCPRECFM -          YES,BRANCH                     **ASP 00050350
         B     EXCP -                                             **ASP 00050400
NOTEXCP  MVC   CTCBLKSI,DCBBLKSI(DCBREG) MOVE IN BLOCKSIZE        **ASP 00050450
         MVC   CTCLRECL,DCBLRECL(DCBREG) MOVE IN THE LRECL        **ASP 00050500
XCPRECFM MVC   CTCRECFM,DCBRECFM(DCBREG) MOVE IN THE RECFM        **ASP 00050550
EXCP     DS    0H -                                               **ASP 00050600
         ST    WKREG1,CTCTIC -     POINT TIC TO USER CHANNEL PROG **ASP 00051000
         MVI   CTCTIC,TICOP -      RESTORE TIC OP CODE            **ASP 00052000
         LA    WKREG1,CTCDSTLW -   POINT TO DSTL WRITE CCW        **ASP 00053000
CTCSIO20 ST    WKREG1,CAWLOC -     STORE CHAN PROG ADDR INTO CAW  **ASP 00054000
         TM    IOBFL1(IOBREG),IOBERR - IS ERR ROUTINE IN CONTROL  **ASP 00055000
         BO    CTCSIO30 -          YES, DON'T GO TO APPENDAGE     **ASP 00056000
         L     APBSRG,DEBAPG-1(DEBREG) - POINT TO APPENDAGE VECTR **ASP 00057000
         L     APBSRG,APGSIO(APBSRG) - POINT TO SIO APPENDAGE     **ASP 00058000
         BALR  LNKRG2,APBSRG -     LINK TO APPENDAGE ROUTINE      **ASP 00059000
         B     CTCSIO30 -          NORMAL RETURN, GO DO SIO       **ASP 00060000
         LA    LNKRG2,INT025 -     ERROR RETURN, DEQ THE REQUEST  **ASP 00061000
         NI    UCBFL1(UCBREG),X'FF'-UCBASK-UCBDTR-UCBCUB-UCBPST - **ASP 00062000
         B     XCPPDQ -            RESET UCB AND EXIT TO DEQUEUE  **ASP 00063000
CTCSIO30 NI    UCBCHA(UCBREG),X'FF'-UCBHLT-UCBSMD - RESET HIO/SMD **ASP 00064000
         NI    UCBFL1(UCBREG),X'FF'-UCBCUB-UCBNRY - RESET CUB/NRY **ASP 00065000
         STH   TSTREG,UCBLTS(UCBREG) - CHAIN RQE FROM SECONDARY   **ASP 00067000
         LH    UCBREG,CTCMUCB -    POINT TO THE ADAPTER UCB       **ASP 00068000
         LH    UAREG,UCBCHA(UCBREG) -LOAD CTC UNIT ADDR IN UAREG   *ASP 00069000
         N     UAREG,ADDRMSK -     CLEAR HIGH ORDER BYTE          **ASP 00069100
CTCSIO35 LA    LNKRG3,CTCPIO -     POINT TO POST SIO ROUTINE      **ASP 00071000
CTCSIO40 CLI   ATNTAB+4,X'FF' -    IS THIS A LASP SYSTEM          **ASP 00077000
         BNE   XCP110 -            NO, LINK TO IOS TO DO THE SIO  **ASP 00078000
         MVZ   CAWLOC(1),TSTKEY(TSTREG) - SET USER PROTECT KEY    **ASP 00080000
.ASPSIO4 STH   TSTREG,UCBLTS(UCBREG) - CHAIN RQE FROM ADAPTER UCB **ASP 00083000
         L     APBSRG,ATNTAB+4 -   POINT TO LASP I/O ROUTINE      **ASP 00084000
         BAL   LNKRG3,8(APBSRG) -  GO PROCESS LASP SIO            **ASP 00085000
         SR    WKREG1,WKREG1 -     GENERATE A SIO CC OF STARTED   **ASP 00086000
         BAL   LNKRG3,LASPPIO -    GO TO IOS FOR POST SIO CLEANUP **ASP 00087000
CTCPIO   EQU   * -                                                **ASP 00088000
.ASPSIO5 BC    8,CTCPIO10 -        GO UPDATE DSTL IF SIO SUCESFUL **ASP 00089000
         BC    4,CTCPIO5           IF CC=1 CONTINE TESTING              00089100
         BC    1,CTCSIO35 -        CC=3 GO RETRY                 **ASP  00089120
         LH    UCBREG,TSTUCB(TSTREG) POINT TO SECONDARY CTC UCB         00089150
         STH   TSTREG,UCBLTS(UCBREG) CHAIN RQE FROM SECONDARY     **ASP 00089200
         BR    LNKRG3              RETURN TO IOS                        00089300
CTCPIO5  EQU   *                                                        00089400
         TM    CSWLOC+4,CSWCHE -   DOES CSW SHOW CHANNEL END      **ASP 00090000
         BO    CTCPIO10 -          YES, TREAT AS SUCCESSFUL SIO   **ASP 00091000
         TM    CSWLOC+4,CSWATN -   WAS AN ATTENTION RECEIVED      **ASP 00094000
         BO    CTCPIO20 -          YES, LET IOS POST SIO HANDLE   **ASP 00095000
         NI    UCBFL1(UCBREG),X'FF'-UCBPST-UCBBSY - FREE ADAPTER  **ASP 00096000
         LH    UCBREG,TSTUCB(TSTREG) POINT TO SECONDARY CTC UCB         00097000
         B     CTCPIO20 -          DON'T UPDATE DSTL              **ASP 00098000
CTCPIO10 MVC   CTCLAST,CTCCUR -    UPDATE DATA SET TITLE LABEL    **ASP 00099000
         LH    WKREG1,TSTUCB(TSTREG) - POINT TO SECONDARY UCB     **ASP 00099100
         OI    UCBFL1(WKREG1),UCBPST+UCBBSY - SET SECONDARY ACTIV **ASP 00099200
CTCPIO20 TM    IOBCC(IOBREG),IOBCC3 - RESTORE CC PRIOR TO EXIT    **ASP 00100000
         LA    LNKRG3,XCPPIO -     POINT TO IOS POST SIO ROUTINE  **ASP 00101000
         BR    LNKRG3 -            EXIT TO IOS                    **ASP 00102000
CTCCTLCM L     WKREG1,IOBST-1(IOBREG) -    GET CCW ADDR        @AA33546 00102050
         TM    CCWFLG(WKREG1),X'C0' -      DATA/COMMAND CHAIN  @AA33546 00102060
         BC    4+1,CTCBUSY -               YES,ENQUEUE REQ     @AA33546 00102070
         LA    WKREG2,CTCOPCOD -           COMMAND TABLE ADDR  @AA33546 00102080
         LA    WKREG3,CTCOPNUM -           NUM OF ENTRIES      @AA33546 00102090
CTCNXTOP CLC   0(1,WKREG1),0(WKREG2) -     SELECTED COMMAND    @AA33546 00102100
         BE    CTCNOIO -                   YES,POST COMPLETE   @AA33546 00102110
         LA    WKREG2,1(WKREG2) -          INCREMENT COUNT     @AA33546 00102120
         BCT   WKREG3,CTCNXTOP -           LOOP UNTIL DONE     @AA33546 00102130
CTCBUSY  DS    0H -                                            @AA33546 00102190
         IECLNK1 ,BC,15,SELBSY,0,LNKRG1,,&TBASE                @AM00431 00102200
         SPACE 3                                                  **ASP 00103000
CTCDSTLW CCW   X'FD',CTCCUR,X'60',8 WRITE CURRENT DSTL     ASPHDR **ASP 00104000
CTCTIC   CCW   TICOP,0,0,0 -       TRANSFER TO USER CHANNEL PROG  **ASP 00105000
CTCSNCCW CCW   SENSOP,CTCSNBYT,X'20',1 - OBTAIN SENSE BYTE        **ASP 00106000
CTCCUR   DC    H'0' -              CURRENT DSTL UNIT       ASPHDR **ASP 00107000
CTCLRECL DC    H'0' -              DSTL LRECL              ASPHDR **ASP 00107100
CTCBLKSI DC    H'0' -              DSTL BLKSIZE            ASPHDR **ASP 00107200
CTCRECFM DC    XL1'00',X'00' -     DSTL RECFM              ASPHDR **ASP 00107300
CTCMODE  EQU   CTCCUR+7                                       DSH **ASP 00107400
DCBLRECL EQU   82 -                                        ASPHDR **ASP 00107500
DCBBLKSI EQU   62 -                                        ASPHDR **ASP 00107600
DCBRECFM EQU   36 -                                        ASPHDR **ASP 00107700
DCBMODE  EQU   16                                             DSH **ASP 00107800
DCBMACRF EQU   42 -                                               **ASP 00107900
DSHEXCP  DC    XL5'C5E7C3D7C0' -                                  **ASP 00107950
CTCLAST  DC    AL2(0) -            DSTL FOR LAST SECCESSFUL REQ   **ASP 00108000
CTCMASK  DC    1F'15' -            MASK FOR CTC CHANNEL ADDR   @AA23757 00108100
CTCMUCB  DC    H'0'                 - POINTER TO ADAPTER UCB      **ASP 00109000
CTCOUCB  DC    H'0' -              SECONDARY CTC POINTER       @AM00431 00110000
CTCMONSW DC    X'00'               SW BYTE FOR CTC MONITOR              00110100
CTCCCWL  DC    H'8' -              LENGTH OF A CCW                **ASP 00111000
CTCSNBYT DC    X'00' -             ADAPTER SENSE BYTE             **ASP 00112000
CTCLASP  DC    X'00' -             LOCAL/REAL MAIN INDICATOR      **ASP 00115000
CTCOPCOD DC    X'07' -                     REW COMMAND         @AA33546 00115100
         DC    X'0F' -                     RUN COMMAND         @AA33546 00115101
         DC    X'1F' -                     WTM COMMAND         @AA33546 00115102
CTCOPNUM EQU   *-CTCOPCOD -                NUM OF COMM CODES   @AA33546 00115120
CTCPATCH DC    10F'12837827' -     PATCH AREA                     **ASP 00116000
         SPACE 3                                               @AA27462 00116100
*        DEFINITION OF CTCMONSW                                @AA27462 00116200
MNMTENA1 EQU   X'80' -             MAINTASK ENABLED            @AA27462 00116300
MNMTENA2 EQU   X'40' -             MAINTASK ENABLED            @AA27462 00116400
MNSWCOMP EQU   X'10' -             CONSOLE SWITCH COMPLETE     @AA27462 00116500
MNASPABN EQU   X'08' -             ASP ABENDING                @AA27462 00116600
MNHOTIPL EQU   X'04' -             HOT IPL                     @AA27462 00116700
MNSWFAIL EQU   X'02' -             CONSOLE SWITCH FAILED       @AA27462 00116800
MNCTCBSY EQU   X'01' -             CTC BUSY                    @AA27462 00116900
         TITLE 'CHANNEL TO CHANNEL ADAPTER TRAP ROUTINE'          **ASP 00117000
*---------------------------------------------------------------------* 00118000
*                                                                     * 00119000
*        SET UNIT EXCEPTION AT EOF - FREE SECONDARY & ADAPTER UCBS    * 00120000
*                                                                     * 00122000
*---------------------------------------------------------------------* 00123000
         SPACE 2                                                  **ASP 00124000
CTCTRP   DS    0H -                                               **ASP 00125000
         TM    CTCMONSW,MNMTENA1 - ARE CTC TAPES ENABLED       @AA27462 00125100
         BC    8,CTCTRP10 -        NO,SKIP RELOAD OF UCBREG     AA23168 00125200
         LH    UCBREG,CTCOUCB -    RELOAD UCBREG WITH MASTER   @AM00431 00126031
CTCTRP10 NI    CTCMONSW,X'FF'-MNCTCBSY - TURN OFF CTCBUSY FLAG @AA27462 00129030
         CH    UCBREG,TSTUCB(TSTREG) - WAS THE I/O ON THE CONSOLE **ASP 00129130
         BCR   8,LNKRG2 -          YES, EXIT TO IOS               **ASP 00130000
         NI    UCBFL1(UCBREG),UCBBSY - RESET ALL BUT BSY IN ADPTR **ASP 00131000
         LH    UCBREG,TSTUCB(TSTREG) - POINT TO UCB FOR THIS REQ  **ASP 00132000
         NI    UCBFL1(UCBREG),X'FF'-UCBBSY - RESET BUSY IN SCNDRY **ASP 00133000
         LH    WKREG1,CSWLOC+6 -   GET RESIDUAL BYTE COUNT        **ASP 00134000
         LTR   WKREG1,WKREG1 -     IS THE RESIDUAL ZERO           **ASP 00135000
         BZ    CTCTRP30 -          YES, NO EOF/GO INCR BLK COUNT  **ASP 00136000
         TM    CSWLOC+4,CSWCHE+CSWDVE - CHAN AND DEV END IN CSW   **ASP 00137000
         BNO   CTCTRP30 -          NO, NO EOF/GO INCR BLK COUNT   **ASP 00138000
         L     WKREG1,CSWLOC -     POINT TO THE NEXT CCW          **ASP 00139000
         SH    WKREG1,CTCCCWL -    BACK UP TO CCW JUST EXECUTED   **ASP 00140000
         TM    0(WKREG1),X'01' -   WAS IT A WRITE                 **ASP 00141000
         BO    CTCTRP30 -          YES, NO EOF/GO INCR BLK COUNT  **ASP 00142000
         CLC   6(2,WKREG1),CSWLOC+6 - DOES RESIDUAL CNT = INITIAL **ASP 00143000
         BNE   CTCTRP30 -          NO, NO EOF/GO INCR BLK COUNT   **ASP 00144000
CTCTRP20 OI    IOBCSW+4(IOBREG),CSWUEX - SET UNIT XCEPTION IN IOB **ASP 00161000
CTCTRP30 L     WKREG1,DCBBLK(DCBREG) - OBTAIN DCB BLOCK COUNT     **ASP 00162000
         AH    WKREG1,IOBBCI(IOBREG) - INCREMENT IT               **ASP 00163000
         ST    WKREG1,DCBBLK(DCBREG) - STORE UPDATED COUNT        **ASP 00164000
         BR    LNKRG2 -            EXIT TO IOS                    **ASP 00165000
*********************************************************************** 00165100
*                                                                     * 00165200
*        THE FOLLOWING CODE PROVIDES SPECIAL INTERRUPT HANDLING       * 00165300
*        FOR ASP CTC DEVICES                                          * 00165350
*                                                                     * 00165400
*********************************************************************** 00165500
CTCINTH  CLI   ATNTAB+4,X'FF' -    IS THIS SUPPORT             **ASP    00166000
         BE    CTCLINT -           YES,BRANCH                  **ASP    00167000
         TM    CSWLOC+4,CSWATN -   IS THIS REALLY ATTENTION    **ASP    00170000
         BZ    INT013 -            NO,GO TO O/S                **ASP    00171000
         LA    WKREG1,CTCSNCCW -   POINT AT ADAPTER SENSE CCW     **ASP 00172000
         ST    WKREG1,CAWLOC -     STORE CCW ADDR & 0 KEY IN CAW  **ASP 00173000
CTCATN10 SIO   0(UAREG) -          START SENSE COMMAND            **ASP 00174000
         BC    3,CTCATN10 -        RE-ISSUE IF ADAPTER BUSY       **ASP 00175000
CTCATN20 TIO   0(UAREG) -          TEST SENSE OPERATION STATUS    **ASP 00176000
         BC    8+2+1,CTCATN20 -    LOOP UNTIL CSW STORED          **ASP 00177000
         TM    CSWLOC+4,CSWDVE -   HAS DEVICE END OCCURED         **ASP 00178000
         BZ    CTCATN20 -          NO, LOOP UNTIL IT DOES         **ASP 00179000
         CLI   CTCSNBYT,X'07' -    IS THIS A NORMAL ATTN       @AM00431 00179100
         BE    INTATT2 -           YES GO TO ATN HANDLER       @AM00431 00179200
         CLI   CTCSNBYT,X'F7' -    IS THIS IPL RESPONSE        @AM00431 00180000
         BNE   CTCAERR -           NO,BR ON ERR CONDITION      @AA19292 00181000
         LH    WKREG1,CTCMUCB -    GET MASTER CTC UCB ADR          *ASP 00182000
         LTR   WKREG1,WKREG1 -     TEST FOR UCB ADDR VALID         *ASP 00183000
         BNZ   INT013 -            IGNORE INTERRUPT            @AM00431 00184000
         STH   UCBREG,CTCMUCB -    MAKE THIS RESPONDER MASTER      *ASP 00185000
         STH   UCBREG,CTCOUCB -    SAVE SECOND CTC POINTER     @AM00431 00186000
         B     INTATT2 -           GO TO ATTN HANDLER          **ASP    00190000
CTCLINT  CH    UCBREG,CTCOUCB -    IS INTRPT ON MASTER CTC     @AM00431 00191000
         BNE   CTCRINT -           NO GO TO ASP                **ASP    00192000
         CLI   CSWLOC+4,X'04' -    IS THIS DE FROM HIO         **ASP    00193000
         BNE   INTATT1 -           NO GO  TO INT HANDLER       **ASP    00194000
         B     INT013 -            YES,GO SKIP INT HANDLING    **ASP    00195000
CTCRINT  L     APBSRG,CTCATN -     GET POINTER TO CTC ATN ROUTINE **ASP 00196000
         LTR   APBSRG,APBSRG -     IS POINTER VALID            **ASP    00197000
         BZ    INT013 -            NO,RETURN                   **ASP    00198000
         BALR  LNKRG2,APBSRG -     GO TO CTC ATN ROUTINE       **ASP    00199000
         B     INT013 -            RETURN                      **ASP    00200000
CTCAERR  MVC   CTCSNBYT+1(1),CTCSNBYT TRACE LAST SENSE DATA    @AA19292 00200100
         MVI   CTCSNBYT,X'F7' -    INSERT FAKE SENSE DATA      @AA19292 00200200
         HDV   0(UAREG) -          HALT THE CTC                @AA19292 00200300
         BC    11,CTCATN20 -       GO DO TIO TILL CSW STOREED  @AA19292 00200400
         B     INT013 -            RETURN TO INTR HANDLER      @AA19292 00200500
         TITLE 'TEST CHANNEL AND CHANNEL SEARCH ROUTINES IN IOS'  **ASP 00201000
         MEND                                                           00202000
./       CHANGE  NAME=IECINT
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 21770519
         CLI   UCBTYP+1(UCBREG),4 -IS THE ERROR ON A CTC UNIT     **ASP 21771019
         BNE   INT031 -            NO, GO TO AB. END APG. EXIT    **ASP 21771519
         LH    WKREG1,TSTUCB(TSTREG) - GET ADDR OF SECONDARY UCB  **ASP 21772019
         MVI   UCBFL1(WKREG1),0 -  RESET ALL FLAGS IN SECONDARY   **ASP 21772519
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 47250019
INTATT   CLI   UCBTYP+1(UCBREG),X'04' IS THIS CTC INTERRUPT    **ASP    47250500
         BE    CTCINTH -           YES BRANCH                  **ASP    47251000
INTATT1  TM    CSWLOC+4,CSWCHE+CSWDVE -                        **ASP    47252000
         CLI   ATNTAB+4,X'FF' -    IS THIS A LASP SYSTEM          **ASP 47532019
         BNE   NOTLASP -           NO, DO NOT ATTEMPT POSTING ASP **ASP 47533019
         LR    ICREG,APBSRG -      YES, SAVE ATTN RTN EP ADDRESS  **ASP 47534019
         L     APBSRG,ATNTAB+4 -   POINT TO CONTRAP ENTRY POINT   **ASP 47535019
NOTLASP  EQU   * -                                                **ASP 47536019
         SR    ICREG,ICREG -       CLEAR ICREG                    **ASP 47671019
*        FOLLOWING CODE MODIFIED FOR ASP                           ASP  72731030
         BC    8,ASPINTER          NO,BYPASS ASP CODE              ASP  72800019
         TM    UCBFL1(UCBREG),UCBNRY IS DEVICE READY                ASP 72801030
         BNO   INTER7C -           BRANCH IF YES                    ASP 72802030
         TM    UCBTYP+2(UCBREG),X'88' IS DEVICE UR OR TAPE          ASP 72803030
         BZ    INTER7C -           BRANCH IF NOT                    ASP 72804030
         TM    44(DCBREG),X'01' -  ASP REQUESTED IO                 ASP 72805030
         BNO   INTER7C -           BRANCH IF NOT                    ASP 72806030
         OI    DCBFL(DCBREG),DCBPER SET PERM ERROR                  ASP 72807030
         IECLNK1 ,LA,LNKRG1,INT027,,,,&TBASE                            72807131
         B     INT057 -            TO ABN APG                       ASP 72808030
ASPINTER DS    0H                                                  ASP  72809030
./       CHANGE  NAME=IECIOS
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 02531519
         CLI   ATNTAB+4,X'FF' -    IS THIS A LASP SYSTEM          **ASP 02532019
         BNE   NOASPPST -          NO, DON'T ATTEMPT POSTING ASP  **ASP 02532519
         LR    LCHREG,LNKRG2 -     SAVE IOS LINKAGE REG           **ASP 02533019
         LR    ICREG,APBSRG -      SAVE POST EP ADDRESS           **ASP 02533519
         L     APBSRG,ATNTAB+4 -   POINT TO CONTRAP ENTRY POINT   **ASP 02534019
         BAL   LNKRG2,4(0,APBSRG) -ENTER CONTRAP FOR POSS ASP PST **ASP 02534519
         LR    LNKRG2,LCHREG -     RESTORE IOS LINKAGE REGISTER   **ASP 02535019
         LR    APBSRG,ICREG -      RESTORE POST EP ADDRESS        **ASP 02535519
         SR    ICREG,ICREG -       CLEAR ICREG                    **ASP 02536019
NOASPPST EQU   * -                                                **ASP 02536519
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 04650019
         BR    LNKRG2 -            NOP KEY ZERO REQ FOR DEBS      **ASP 04660019
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 06041019
         CLI   UCBTYP+1(UCBREG),X'04'  IS THIS A CTC DEVICE       **ASP 06042019
         BNE   XERX02 -            IF NO DONT CLEAR UCB FLGS      **ASP 06042119
         LH    LNKRG3,CTCMUCB -    POINT TO PRIMARY CTC UCB       **ASP 06042219
         NI    CTCMONSW,X'FF'-MNCTCBSY - TURN OFF CTCBUSY FLAG @AA27462 06042330
         MVI   UCBFL1(LNKRG3),0 -  CLEAR ALL FLAGS IN ADAPTER UCB **ASP 06043019
CTCATN   DC    F'0' -              ASP CTC ATN ENTRY               *ASP 77158030
CTCINDX  EQU   CTCATN-ATNTAB -     VALUE OF CTC ATN INDEX         **ASP 77158130
         SPACE 2                                                   *ASP 77159030
./       CHANGE  NAME=IECIOSB
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 76081020
         CLI   UCBTYP+1(HINREG),X'04' - IS THIS REQST FOR CTC DEV **ASP 76081520
         BNE   NOCTCHIO -          NO, PROCEED NORMALLY           **ASP 76082020
         TM    UCBTYP+2(HINREG),X'88' IS THIS TAPE OR UNIT REC    **ASP 76082130
         BC    9,NOCTCHIO          NO BRANCH NOT CTC              **ASP 76082230
         L     HUAREG,CTCADCON -   GET POINTER TO CTC UCB ADCON   **ASP 76082520
         NI    4(HUAREG),X'FE' -   TURN OFF CTCBUSY FLAG           *ASP 76082630
         LH    HUAREG,0(HUAREG) -  POINT TO THE ADAPTER UCB       **ASP 76083020
         OI    UCBCHA(HUAREG),UCBHLT - INDICATE HIO ISSUED        **ASP 76083520
         NI    UCBFL1(HUAREG),X'FF'-UCBBSY-UCBPST-UCBDTR-UCBASK - **ASP 76084020
         LH    HUAREG,UCBCHA(HUAREG) - OBTAIN UNIT ADDRESS        **ASP 76084520
         N     HUAREG,ADMSK -      CLEAR HIGH ORDER BITS          **ASP 76085020
         B     HIO002 -            GO ISSUE HIO                   **ASP 76086520
NOCTCHIO EQU   * -                                                **ASP 76087020
CTCADCON DC    A(CTCMUCB) -        ADDRESS OF THE CTC UCB ADCON   **ASP 89121020
./       CHANGE  NAME=IECTBL
         AIF   ('&TYPE(&COUNT)' EQ 'CTC').CTCFIFO                 **ASP 12600500
.CTCFIFO ANOP                                                     **ASP 75000100
**  CHANNEL TO CHANNEL ADAPTER ENTRY WITH FIFO QUEUEING           **ASP 75000110
         DC    AL2(CTCENQ-IOSBASE) FIFO QUEUEING FOR CTC          **ASP 75000120
         DC    AL2(CTCSIO-IOSBASE) SIO CODE FOR CTC               **ASP 75000130
         DC    AL2(CTCTRP-IOSBASE) TRAP CODE FOR CTC              **ASP 75000140
         DC    AL2(NORMSEN-IOSBASE) SENSE ENTRY FOR CTC           **ASP 75000150
         AGO   .TSTLOOP                                           **ASP 75000160
./       CHANGE  NAME=IECXCP
         ENTRY CTCMUCB                                             *ASP 02012030
         ENTRY ATNTAB                                              *ASP 02013030
         ENTRY CTCMONSW                                            *ASP 02014030
         ENTRY CTCATN                                              *ASP 02015030
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 74762019
LASPPIO  BALR  WKREG1,0 -          GET RIGHT HALF OF PSW          **ASP 74860019
         BC    15,INTATT -         TO ATTENTION ROUTINE           **ASP 82200019
./       CHANGE  NAME=IECXTCH
         ENTRY LASPTCH                                                  62000030
LASPTCH  B     LASPTCH1 -          BYPASS LASP TCH CODE                 62001030
         CLI   UCBTYP+1(UCBREG),4 -IS THIS A CTC DEVICE                 62002030
         BNE   LASPTCH1 -          NO,BRANCH                            62003030
         TM    UCBTYP+2(UCBREG),X'88' IS THIS A TAPE OR CONSOLE         62004030
         BM    XCPTCH3A -          YES SKIP TCH FOR LOCAL MAIN          62005030
LASPTCH1 EQU   *                                                        62006030
./       CHANGE  NAME=IEAQNU
         TM    PIOPSW+1,X'F1' -    IS INTRUPT IN KEY 0 SUPRVSR STATE    06380000
         L     XNPI1,AIORGSW       GET ADDR OF IOS SWITCH      @AA28026 06416021
         TM    1(XNPI1),X'F0'      I/O INTERRUPT ACTIVE        @AA28026 06417021
         BNZ   PLOGADR             YES GOTO ABTERM             @AA28026 06418021
AIORGSW  DC    A(IORGSW)           ADDRESS OF IOS SWITCH       @AA28026 06794621
/*
//STEP3.SYSIN DD *
./       CHANGE  NAME=IEAANIP
         LA    R6,CONSIN -         GET POINTER TO CONSOLE NAME     *ASP 07204030
         L     R15,CTCINIT -       GET ADDRESS OF CTC INIT ROUTINE *ASP 07205030
         BALR  R5,R15 -            GO TO CTC INIT ROUTINE          *ASP 07206030
CTCINIT  DC    V(CTCNMCS)                                          *ASP 07211030
         NI    UCBESTAT(CNR4),X'7F' MARK CONSOLE OFFLINE IN ADVANCE*ASP 08387130
         CLI   UCBTYP+1(CNR4),4 -  IS THIS A CTC DEVICE            *ASP 08387230
         BNE   NOTCTC -            NO,BRANCH                       *ASP 08387330
         TM    CONSWIT,NMCNSWIT -  IS THIS STILL MASTER CONS SEARCH*ASP 08387430
         BC    5,NOTMASTR -        NO,SKIP TIO OF CTC,LEAVE OFFLINE*ASP 08387530
         L     15,CTCINITM -       LOAD POINTER TO CTC INIT ROUTINE*ASP 08387630
         BALR  CNR5,15 -           GO TO CTC INIT ROUTINE          *ASP 08387730
NOTCTC   EQU   * -                                                 *ASP 08387830
NOTMASTR EQU   *                                                   *ASP 08394030
CTCINITM DC    V(CTCMCS)                                           *ASP 08492020
         CLI   UCBTYP+1(R9),4 -    IS THIS A CTC DEVICE           **ASP 12657020
         BE    CTCRDY -            YES,MARK IT READY              **ASP 12658020
CTCRDY   EQU   *                                                  **ASP 12685020
CTCRDY   EQU   *                                                  **ASP 12706020
************************************************************** @AA30864 61992120
*  THE FOLLOWING CODE HAS BEEN ADDED FOR ASP TO CLEAR A        @AA30864 61992220
*  POSSIBLE BUSY CONDITION WHICH MAY OCCUR ON THE CTC WHILE    @AA30864 61992320
*  IPL'ING. IF NIP HAS INITIATED AN I/O OPERATION AND CSW      @AA30864 61992420
*  STATUS IS RETURNED INDICATING ATTENTION AND BUSY, A SENSE   @AA30864 61992520
*  COMMAND MUST BE ISSUED TO CLEAR THE CONDITION TO ALLOW      @AA30864 61992620
*  NIP TO COMPLETE ITS I/O OPERATION.                          @AA30864 61992720
************************************************************** @AA30864 61992820
         CLI   CSWSTAT,X'90'       MAY BE CTC IF ATTN AND BUSY @AA30864 61992920
         BNE   CSWNOCTC            CONT- NOT ATTN AND BUSY     @AA30864 61993020
         L     R7,CAW              SAVE CURRENT CAW FOR RETRY  @AA30864 61993120
         MVC   CAW(4),IEASNCAW     SET CAW FOR SENSE OPERATION @AA30864 61993220
         SIO   0(10)               EXECUTE THE SENSE           @AA30864 61993320
SENSCTCS TIO   0(10)                                           @AA30864 61993420
         BC    3,SENSCTCS          WAIT FOR STATUS             @AA30864 61993520
         ST    R7,CAW              RESTORE CAW FOR ORIG I/O    @AA30864 61993620
         B     IEACON02            RESTART ORIGINAL I/O        @AA30864 61993720
CSWNOCTC DS    0H                  CONT HERE IF NOT ATTN/BUSY  @AA30864 61993820
************************************************************** @AA30864 61993920
/*
//******************************************************************************
//STEP4.SYSIN DD *
ESD          IGC246        CTCMCS   [   CTCNMCS  K           00000001
ESD          MTVT         CTCMUCB        ATNTAB                 00000002
ESD          	CTCATN         CTCMONSW       IEASCSAV               00000003
ESD          IEAQTR00       IBMORG         USERORG                00000004
ESD          LOWUSER        IEATYPE1       LASPTCH                00000005
TXT          	{-D  0D{  0{0{ 0{0{0{0B0B00000006
TXT         - ۍ---0{-{NA{NB &&00000007
TXT         A=N& AK&ҍ-D--j- NCȍ&&&- }00000008
TXT   y      {&&-Ayn }A%&A=&&A=N&D&&-AA=00000009
TXT   \      &&A=n &KB
BnپA n MB
&NB
Bn&K00000010
TXT        B&0A֍&-Aφ0{&-AykAA=N&C6n&&D.&00000011
TXT  &      D kAA=&& A=&&ن0{& A=KB& 0A&& f00000012
TXT  h      &BjBnپA& b6&u6KBBƍ&jhAN00000013
TXT  {      CꆺA}/ .&D0AU/ .&D0AU/ .&D&A2&A8kAK B
00000014
TXT  8      - K - BIJAD                                            00000015
TXT                                                                00000016
TXT                                                              /00000017
TXT        0B}kPC&B8& m 00;0S&0q;0SK 
5;0S&00000018
TXT  Q      0̍  &K& 
K-  
K- 
q;0S5 1;o ح00000019
TXT         z   1 ̇  0- 0u 00n0n0~ K00000020
TXT        11>&1:&      0=0k1:0K1: 00N1000000021
TXT         0  0N10 0\u &06m 5b 1     00000022
TXT                                                                00000023
TXT  \      X         dIEE600I IEFWDMSGIEA000A            00000024
TXT          	IEFASPSVC       MTVT  TRACE                       00000025
TXT  &                                                              00000026
TXT                                                               00000027
TXT  ^                                                              00000028
RLD             
        h    	     m    00000029
RLD              q         u   y    
  00000030
END                            15734AS100 050175185                    00000031
         NAME  ASPSVC(R)
/*
//******************************************************************************
//POSTGEN JOB A,'ASP VER 3.2 MVT',REGION=160K
//ASPPOST PROC LNKUNIT=2314,LNKSER=,SVCUNIT=2314,SVCSER=,DA=SYSDA,
// OUTCLAS=A,ZAP=IMASPZAP,ZAPDSN='SYS1.DN554',ZAPUNIT=2314,
// ZAPSER=,IEWL=IEWL,TSO=,DLIBU=,DLIBV=,REL=21
//*
//******************************************************************************
//* ASP 3.2   POSTGEN JOB FOR MVT REL 21.6 , 21.7 AND 21.8                     *
//******************************************************************************
//*      THE SYMBOLIC PARAMETERS REPRESENT THE FOLLOWING :                     *
//* LNKUNIT - THE UNIT TYPE ON WHICH THE SYS1.LINKLIB DATA SET RESIDES         *
//* LNKSER  - THE VOLUME SERIAL OF THE SYS1.LINKLIB VOLUME                     *
//* SVCUNIT - THE UNIT TYPE ON WHICH THE SYS1.SVCLIB DATA SET RESIDES          *
//* SVCSER  - THE VOLUME SERIAL OF THE SYS1.SVCLIB VOLUME                      *
//* DA      - GENERIC NAME TO BE USED FOR TEMPORARY DIRECT ACCESS DATA SETS    *
//* OUTCLAS - THE CLASS TO WHICH THE SYSOUT INFORMATION IS TO BE DIRECTED      *
//* ZAP     - THE PROGRAM NAME TO BE USED FOR SUPERZAP (SERVICE AID IMASPZAP)  *
//* ZAPDSN  - THE DATA SET NAME CONTAINING THE ZAP PROGRAM                     *
//* ZAPUNIT - THE UNIT TYPE ON WHICH THE LIBRARY CONTAINING ZAP RESIDES        *
//* ZAPSER  - THE VOLUME SERIAL OF THE ZAP VOLUME                              *
//* IEWL    - THE PROGRAM NAME TO BE USED FOR THE LINKAGE EDITOR               *
//* TSO     - FOR TSO SYSTEMS CODE : TSO=TSO (USED IN IOSUP STEP)              *
//* DLIBU   - UNIT TYPE ON WHICH THE OS DLIB01 VOLUME WILL RESIDE              *
//* DLIBV   - VOLUME SERIAL NUMBER OF THE DLIB01 VOLUME                        *
//******************************************************************************
//*
//LINK EXEC PGM=&IEWL,PARM='LIST,XREF,NCAL,LET'
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(5,1))
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLMOD DD DSN=&&ASPPGMS,UNIT=&DA,DISP=(,PASS),
// SPACE=(CYL,(1,1,1))
//SYSLIN DD DDNAME=SYSIN
//CTLPRG EXEC PGM=ASPPROGM,
// PARM='&REL,&RENAME,&SVCUNIT,&SVCSER'
//STEPLIB DD DSN=&&ASPPGMS,DISP=(SHR,PASS)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SVCLIB DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=SHR,VOL=SER=&SVCSER
//SYSIN DD DSN=&&CTLCARDS,UNIT=&DA,SPACE=(TRK,(1,1))
//R21LSVC EXEC PGM=&IEWL,PARM='NCAL,LIST,XREF,LET,RENT',
// COND=(8,NE,CTLPRG)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(5,1))
//SYSLMOD DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=SHR,VOL=SER=&SVCSER
//SYSLIN DD DDNAME=SYSIN
//R21LEOV EXEC PGM=&IEWL,PARM='NCAL,LIST,XREF,LET,RENT',                     EOV
//  COND=(8,NE,CTLPRG)                                                       EOV
//SYSPRINT DD SYSOUT=&OUTCLAS                                                EOV
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(5,1))                             EOV
//SYSLMOD DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=SHR,VOL=SER=&SVCSER          EOV
//SYSLIN DD DDNAME=SYSIN                                                     EOV
//R21DLNK1 EXEC PGM=DELINK,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&&ASPPGMS,DISP=(SHR,PASS)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,DISP=SHR,VOL=SER=&LNKSER
//SYSPUNCH DD DSN=&&TEMP21Q,DISP=(,PASS),UNIT=&DA,
// SPACE=(CYL,(1,1))
//R21RLNK1 EXEC PGM=&IEWL,PARM='NCAL,LIST,XREF,LET',
// COND=((8,NE,CTLPRG),(0,NE,R21DLNK1))
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(5,1))
//SYSLMOD DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,DISP=SHR,VOL=SER=&LNKSER
//SYSLIN DD DSN=&&TEMP21Q,DISP=(SHR,DELETE)
//       DD DDNAME=SYSIN
//R21DLNK2 EXEC PGM=DELINK,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&&ASPPGMS,DISP=(SHR,PASS)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,DISP=SHR,VOL=SER=&LNKSER
//SYSPUNCH DD DSN=&&TEMP42Q,DISP=(,PASS),UNIT=&DA,
// SPACE=(CYL,(1,1))
//R21RLNK2 EXEC PGM=&IEWL,PARM='NCAL,LIST,XREF,LET,RENT',
// COND=((8,NE,CTLPRG),(0,NE,R21DLNK2))
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(5,1))
//SYSLMOD DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,DISP=SHR,VOL=SER=&LNKSER
//SYSLIN DD DSN=&&TEMP42Q,DISP=(SHR,DELETE)
//       DD DDNAME=SYSIN
//R21DLNK3 EXEC PGM=DELINK,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&&ASPPGMS,DISP=(SHR,PASS)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,VOL=SER=&SVCSER,DISP=SHR
//SYSPUNCH DD DSN=&&TEMP63Q,DISP=(,PASS),UNIT=&DA,SPACE=(TRK,1)
//R21RLNK3 EXEC PGM=&IEWL,PARM='NCAL,LIST,XREF,LET,RENT',
// COND=((8,NE,CTLPRG),(0,NE,R21DLNK3))
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(TRK,2)
//SYSLMOD DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,VOL=SER=&SVCSER,DISP=SHR
//SYSLIN DD DSN=&&TEMP63Q,DISP=(SHR,DELETE)
//       DD DDNAME=SYSIN
//DLNKLOC EXEC PGM=DELINK,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&&ASPPGMS,DISP=(SHR,PASS)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.CI505,UNIT=&DLIBU,VOL=SER=&DLIBV,DISP=SHR
//SYSPUNCH DD DSN=&&LOCTEMP,DISP=(,PASS),UNIT=&DA,SPACE=(TRK,(5,5))
//RLNKLOC EXEC PGM=&IEWL,PARM='LIST,XREF,NCAL,REFR,LET',
// COND=((8,NE,CTLPRG),(0,NE,DLNKLOC))
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(2,1))
//SYSLMOD DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,DISP=SHR,VOL=SER=&LNKSER
//SYSLIN DD DSN=&&LOCTEMP,DISP=(SHR,DELETE)
//       DD DDNAME=SYSIN
//R21ZSVC EXEC PGM=&ZAP,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&ZAPDSN,UNIT=&ZAPUNIT,DISP=SHR,
// VOL=SER=&ZAPSER
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=SHR,VOL=SER=&SVCSER
//R21ZSVC2 EXEC PGM=&ZAP,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&ZAPDSN,UNIT=&ZAPUNIT,DISP=SHR,VOL=SER=&ZAPSER
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=SHR,VOL=SER=&SVCSER
//R21ZSVC3 EXEC PGM=&ZAP,COND=((8,NE,CTLPRG),(0,EQ,R21ZSVC2))
//STEPLIB DD DSN=&ZAPDSN,UNIT=&ZAPUNIT,DISP=SHR,VOL=SER=&ZAPSER
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=SHR,VOL=SER=&SVCSER
//R21ZLNK EXEC PGM=&ZAP,COND=(8,NE,CTLPRG)
//STEPLIB DD DSN=&ZAPDSN,UNIT=&ZAPUNIT,DISP=SHR,
// VOL=SER=&ZAPSER
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSLIB DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,DISP=SHR,VOL=SER=&LNKSER
//TEMPRI EXEC PGM=&IEWL,PARM='XREF,LIST,NCAL,RENT,REFR',
// COND=(0,EQ,CTLPRG)
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD SPACE=(CYL,(1,1)),UNIT=&DA
//SYSLMOD DD UNIT=&DA,DSN=&&TEMPRI,SPACE=(CYL,(5,1,5)),DISP=(,PASS)
//DD1 DD UNIT=&LNKUNIT,VOL=SER=&LNKSER,DSN=SYS1.LINKLIB,DISP=SHR
//SYSLIN DD DDNAME=SYSIN
//RENTCODE EXEC PGM=PDSEDIT,COND=(0,EQ,CTLPRG)
//STEPLIB DD DSN=&&ASPPGMS,DISP=(SHR,PASS)
//LINKLIB DD DSN=&&TEMPRI,DISP=(SHR,PASS)
//RILINK EXEC PGM=&IEWL,PARM='XREF,LIST,NCAL,RENT,REFR',
// COND=((0,EQ,CTLPRG),(0,NE,RENTCODE))
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD UNIT=&DA,SPACE=(CYL,(2,1))
//DD1 DD DSN=&&TEMPRI,DISP=(SHR,PASS)
//SYSLMOD DD DSN=SYS1.LINKLIB,VOL=SER=&LNKSER,UNIT=&LNKUNIT,DISP=SHR
//SYSLIN DD DDNAME=SYSIN
//IOSUP EXEC PGM=IEHIOSUP,PARM=&TSO,
// COND=((0,EQ,CTLPRG),(0,NE,R&REL.LSVC))
//STEPLIB DD DSN=SYS1.LINKLIB,VOL=SER=&LNKSER,UNIT=&LNKUNIT,DISP=SHR
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=SYS1.SVCLIB,UNIT=&SVCUNIT,DISP=OLD,VOL=SER=&SVCSER
// PEND
//******************************************************************************
//*      THE FOLLOWING IS A SAMPLE EXEC CARD
//*OST EXEC ASPPOST,LNKSER=OS217A,SVCSER=OS217A,ZAPSER=OS217A,
//*ZAPDSN='SYS1.LINKLIB',DLIBU=2314,DLIBV=DLIB01,TSO=TSO
//******************************************************************************
//LINK.SYSIN DD *
ESD          ASPPROGM      @                                            0001
TXT          }~M&}&}K  N~}0 0N    0002
TXT         ~K0 kN	&0~nN	~  * js<&~0~     0003
TXT         & ؅n, k  @~  ~k=     0004
TXT   y       ~s ~ύ0	s ~:0	Q  U    0005
TXT   \       08   0    IEHPROGMɆ涍~ &}q}K ~     0006
TXT        K  MVTMFT44K30K RENAME DSNAME=SYS1.SVCLIB,MEMBER=IGG0    0007
TXT  &      190A,NEWNAME=IGG0190$,           +                          0008
TXT  h       VOL=                                                       0009
TXT  {                      2021                                        0010
TXT  8                                                                  0011
TXT                        SYSIN     &         &              0012
TXT              &                                                  0013
RLD                 N    Y                                        0014
END                                   F15OCT70 16.19  8/22/72              0015
 NAME ASPPROGM(R)
ESD          DELINK0       ŷ                                        DELI0001
TXT          }	{&}} {    &j  k jنÔQf^DELI0002
TXT         O {            &j  &~ & kjنÔjنÔjDELI0003
TXT         ^نÔPJ4^ &DwoK|M -n> {yo DELI0004
TXT   y      Jn & \{B  Kn  C {[j Ô:f KDELI0005
TXT   \      0Jn JbC*j{KK*KfKJK*&A!J8^ jDELI0006
TXT        KІAS7Dwn Aj  E 0A : ʺA@ NDELI0007
TXT  &      K* BjAbh  .A&J8J0AK  DELI0008
TXT  h      JAkm Jm0A2jJmjEjNJKJAm J{-J{DELI0009
TXT  {      $-JM&-JDkJDKJk0B  B  -Jf-i- !-J4w:wDELI0010
TXT  8      KK* KJ 0BKJoJm5jjEKJ~
j-JnBDELI0011
TXT        k JK
Jz-Jy$-J{k -J JK JoKJNKJDJ^J JDDELI0012
TXT        K Jj ok -KjBoK-  K-JDKDELI0013
TXT        Jko  J[   J[-KBF&-Kj	JH5 KK  jDELI0014
TXT  Q      BK JmJ[i   Ou^ &-J  DELI0015
TXT        JjC-Eܠ-DWh Jn-C  C J J[DELI0016
TXT        q-D & K & K5f0KK 0 0 8KKDELI0017
TXT        KC*^ DwhJi ܮKK C*^Dw4K    o DELI0018
TXT         n CF;0jDoj-Jn{KCoJn J& DELI0019
TXT  0      ;nXJD  ؠ Jq^k J Jj0 \k  DO D
DELI0020
TXT        J2JyJ| Jy& Jy0{K K*& o;KKK & K  K6  DELI0021
TXT  -      JyhؠJj0DnA knFkj Joi    DELI0022
TXT  q      D&Jy0{Kj 0Dd D                   &j &~   DELI0023
TXT  }      1 00	D\0\	8 D                   &j DELI0024
TXT  	      &~   ʍ1 00	o6D\0\	6m-K k - K-DELI0025
TXT  	       - ?6jÔ&JUK Jm $J4: J40AJUjKφE@nDELI0026
TXT  	      JE@ C ʇ h- jJnEm"JnKJ  NJ  EDELI0027
TXT  	^      j 
H  -Ej &H^ Dw^Dwj E@j DELI0028
TXT  	Y      &H0EKo 
K Jm [ KJ N FKJJso
DwDELI0029
TXT  ʷ      j
F&JY0F:&JYK&m jJmF<mJm0Hܨ DELI0030
TXT  ʍ      ^&JK FK솷FDwj HJM &J\DELI0031
TXT          j
FN	JN GN	JGKJA	o
m J{J{$DELI0032
TXT  H      JM&J{K	JA!JYjGjÔj
F0GKJA m J{DELI0033
TXT         &J{$&J&&J{K JA0G<KJ{ j
GGjGKJ{ &DELI0034
TXT        J{$&J&&J{K J{0G<K J^jG*o
0Gm"
 .DELI0035
TXT         .݆Fkj Gqj &Gqܨo
Dwj F&JU0HoDELI0036
TXT  y       jG< .0Gu:   i  ! J4KJ j HoDELI0037
TXT  \      uj	 {GNK:  GKJEJ^k	JD0H i &JDP

DELI0038
TXT        Jk  Jk   탠&Bq탆0HK  KJq:8K Jm jDELI0039
TXT  &      H&BF^ &JY K&J kJOK  K 	JK DELI0040
TXT  h      K Ju-&}H}K  -Eܠ-DW-J &-J  JDELI0041
TXT  {      -D .&0HK   {H-Jܵ&-J  &&H-Eܠ-DWDELI0042
TXT  8        JȠ-DJj
<m7
 K   釉 DELI0043
TXT         j o
KJ0 K      j I% ^IDELI0044
TXT  Ҁ      ߆Ć0IIK     j I%0Ij IoDELI0045
TXT        
Km
 : Ӡ-. m    JȠ-Eܠ-DW-DK  DELI0046
TXT  Q        j
Im"
o
K  J0  0I%߆Ć0IjDELI0047
TXT         ߆Ć0I 0ʍJj
<j
 &<j DELI0048
TXT  Ӈ      <&J0Ij
Ij
HjJmHm
   $ JM& JDELI0049
TXT        ؾ fjJnm"JnKJ  N  JH  ^JJYDELI0050
TXT  ӫ      Kh &Kh &K0FjM&BFj-JnmJnk HAKJJDELI0051
TXT  0       K & JY0HKK -^ &O-Eܠ-DW-E܆0{DELI0052
TXT        J+J{3J}JFo0JLKJ6j
f  ⛷!DELI0053
TXT  -       &2  8   { !.&  ӍDELI0054
TXT  q      $...&o
k KK+KKK	JJK$JJ^mDELI0055
TXT  }      m
mJnk Jm&J4&J8!&Jk  K &        DELI0056
RLD             
                                              DELI0057
ESD          FESNAP                                                 DELI0058
TXT         K &K &K &K kHA  0o 0o 0oDELI0059
TXT         0o 0o 	0oj	BjA} ʆ0o 0oDELI0060
TXT         0o ҆0o ӆ0o 0o 0o 
i 	!WDELI0061
TXT  y      k MIoJnKMMIKM -梣^{0QKLU0joDELI0062
TXT  \      
j
Ô6         
@ 
   jDELI0063
TXT  
      
jJn0  0q}0 00 0ĄJ JDELI0064
TXT  
&      n
Jk J Mč0	 Mz0	6              DELI0065
TXT  
h                           m   SYSPRINT  &         e    DELI0066
TXT  
{                  e                                    DELI0067
TXT  
8               SYSPUNCH          &               &DELI0068
TXT                                           O   SYSIN     DELI0069
TXT                 &               &                       DELI0070
TXT                    {   SYSLIB                      DELI0071
TXT  Q                  @  f  ɚ          Q          q DELI0072
TXT               ESDTXTRLDEND                            DELI0073
TXT                                                                DELI0074
TXT                                            }}& 0        DELI0075
TXT                                                                DELI0076
TXT  0                                                              DELI0077
TXT                                                                DELI0078
TXT  -                                                              DELI0079
TXT  q                                                              DELI0080
TXT  }                                     9                     DELI0081
TXT                                                                DELI0082
TXT                                                               DELI0083
TXT                                                                DELI0084
TXT  ^                  UNABLE TO OPEN SYSLIB.          UNABLE TO OPDELI0085
TXT  Y      EN SYSIN.           UNABLE TO OPEN SYSPUNCH         I/O DELI0086
TXT        ERROR ON SYSPUNCH.          I/O ERROR ON SYSIN.         DELI0087
TXT            I/O ERROR ON SYSLIB.            ESD NAME NOT SECTIONDELI0088
TXT         DEFINITION.NAME MORE THAN EIGHT CHARACTORS.TEXT FOR CSEDELI0089
TXT  H      CT NOT FOUND.       ADCON NOT 3 OR 4 BYTES**ERROR**.NO  DELI0090
TXT         MEMBER NAME RECEIVED.       MEMBER NAME NOT FOUND IN PDSDELI0091
TXT        .   ESD BUFFER OVERFLOW.            NUMBER OR EXTEND CARDELI0092
TXT        D INCORRECT 1          DELINK0        V01 L0   EXPAND ANDELI0093
TXT  y      D NOT EDITABLE FUNCTION  08 / 08 / 69                   DELI0094
TXT  \                                       0                      DELI0095
TXT                                                                DELI0096
TXT  &                                                            KDELI0097
TXT  h       Kk KK
KѠ&BK jK&JUúkJmKJKDELI0098
TXT  {      ^JoJnKKKC* J 0F                        DELI0099
TXT  8                                                              DELI0100
RLD              
 
	 
 


  
 %
 D
 U
 Y    DELI0101
RLD              \                                                DELI0102
TXT                                                                DELI0103
END                                                                    DELI0104
         SETSSI 00301112
 NAME DELINK(R)
ESD          LPA                                                   LPA 0001
TXT          }~sY  rNt r d j~LPA 0002
TXT          ;   LPA-CANNOT OPEN LINKLIB DD                  LPA 0003
TXT   ;      ӻ0~ ~Yض~@k	1 00	~@\0\	 N   LPA 0004
TXT   o      M ~O ~krm"  n \ &~qi& &~mLPA 0005
TXT         ~Y^\  0~@k	1 00	~@\0\	LPA 0006
TXT        n 2                                            LPA 0007
TXT         0~  ~
2                                { LPA 0008
TXT          LINKLIB                                    LPA 0009
TXT  b           Y    2B                                    LPA 0010
TXT  [                                                              LPA 0011
TXT  2                                                              LPA 0012
TXT                                                                LPA 0013
TXT                                                                LPA 0014
TXT                                                                LPA 0015
TXT  K                            IEFHRFK2IEFMVTHRIEFMVTJAIEFVHA  IELPA 0016
TXT        FVHCB IEFVHF  IEFVHREPIEFVINA IEFVJA  IEZDCODE      LPA 0017
TXT         REUS                                                    LPA 0018
RLD                
 d h                                    LPA 0019
END                                   F15OCT70 08.50  8/18/72          LPA 0020
 NAME  PDSEDIT(R)
/*
//R21LSVC.SYSIN DD *
ESD                         IFG0192Z                               CT210001
TXT          	ٍnk wmm"Pmj -KڒK
CT210002
TXT         o ^{ j{&K	Q0ٌK	\K	 0ٶK	 ^ { CT210003
TXT            썔 K ~K^^K^
K^{ n {٭K^{K^{CT210004
TXT   y      0^K^{ 0n. On    0[0bCT210005
TXT   \      K^Ϻ &  k  & k   ӻ	VnU 8K \  CT210006
TXT        0&K^0Un   0$ڦN h<N m*KCT210007
TXT  &      ^K ^0UN ƆںN :K^Ϻ 0U 0[N { CT210008
TXT  h       ASPOASPIJESIJESO     ASP   IECASP0 XXX IS   3B      CT210009
TXT  {                                                              CT210010
TXT  8                                                              CT210011
TXT                                                                CT210012
TXT                                                                CT210013
TXT                                                                CT210014
TXT  Q                                                              CT210015
TXT                                                                CT210016
TXT                                                                CT210017
TXT                                                                CT210018
TXT                                                                CT210019
TXT  0                  019                                        CT210020
END                            15734AS100 050175185                    CT210021
 NAME  IFG0192Z(R)
/*
//************** NECESSARY FOR REL 21.8 GENERATION *****************
//R21LEOV.SYSIN DD *                                                         EOV
ESD          IFG0552X                                               00000001
TXT          	ٍ{ {{ {{{{ jن0ކ00>00000000002
TXT         ٞ}o^o ^j÷φ;j\;m^m^ j 00000003
TXT         n ڶ} j÷φٮj φݮ000 0ݑݮj÷φj00000004
TXT   y      [000 k00j\j ܆\n}ٍ}}} }00000005
TXT   \       j췱K	淆0 K	&淅ح}00000006
TXT        } j췱K}	0K}̷	حN  w }{K}ŷ} 00000007
TXT  &      j÷φjo{ц0ojن\dmن0m00000008
TXT  h      ^m^n\s0\ 0 00} ^ w ڭN \ݮj00000009
TXT  {      +j\K   $j6\&0ݙ\ KWjݷK00000010
TXT  8      \0ݷ0\jݷ n}}}000000011
TXT        }}} ݨؗ}^}i} ܖk}0M0ݷm^} mj00000012
TXT        φK0oK K 
K qk1  ӻ00000013
TXT        j÷φj}{jDK}{0\{K}\Š} K{-00000014
TXT  Q         {-0{K{ݒ{{mن0   m00000015
TXT        {Q0}&{0 K 0 0&nǇ0 0 00 Q00000016
TXT          j7\> m"7KzK8W\ 0Y  h00000017
TXT           ӆ 
KI-K ݢ0& IGC0002{EOV9R  IEC01700000018
TXT        I A XXX,        ,-2   0P    2Y    1L    2V    2X    3B00000019
TXT  0                  055:                                        00000020
END                            15741SC103 010174326                    00000021
 NAME IFG0552X(R)
/*                                                                           EOV
//******************************************************************
//R21DLNK1.SYSIN DD *
> IEFW21SD IEFW21SD X'538'
/*
//R21RLNK1.SYSIN DD *
 INCLUDE SYSLMOD(IEFW21SD)
 ALIAS   IEFVM1,IEFXA,IEFVMCVL
 ENTRY   IEFW21SD
 SETSSI 00200000
 NAME    IEFW21SD(R)
/*
//R21DLNK2.SYSIN DD *
> IEFSD061 IEFW42SD X'1B0'
/*
//R21RLNK2.SYSIN DD *
 INCLUDE SYSLMOD(IEFSD061)
 ALIAS IEFSD064,IEFW42SD,IEFSD104
 ENTRY IEFSD061
 SETSSI 00200000
 NAME IEFSD061(R)
/*
//R21DLNK3.SYSIN DD *
> IGC0003E IGC0003E X'350'
/*
//R21RLNK3.SYSIN DD *
 SETSSI 00200000
 NAME IGC0003E(R)
/*
//DLNKLOC.SYSIN DD *
>  IEFLOCDQ IEFLOCDQ X'520'
/*
//RLNKLOC.SYSIN DD *
 INCLUDE SYSLMOD(IEFLOCDQ)
 ALIAS LOC,LOCCAN,LOCDQ
 ENTRY  IEFLOCDQ
 NAME IEFLOCDQ(R)
/*
//******************************************************************
//R21ZSVC.SYSIN DD *
*        NOTE***ONLY ONE OF THE FOLLOWING THREE ZAPS WILL VERIFY CORRECTLY
*        CHANGE XCTL TABLE ENTRY TO POINT TO IFG0192Z CTC OPEN
 NAME    IFG0193A
 VER     03A4  F3C2
 REP     03A4  F2E9
*        FOLLOWING ZAP ADDED FOR REL 21.6
 NAME    IFG0193A IFG0193A         RESET POSSIBLE NOGO SWITCH
 VER     03B4  F3C2                DC C'3B',0C'       ID OF IFG0193B
 REP     03B4  F2E9                DC C'2Z',0C'       ID OF IFG0192Z
*        FOLLOWING ZAP ADDED FOR REL 21.7
 NAME    IFG0193A IFG0193A         RESET POSSIBLE NOGO SWITCH
 VER     03C4  F3C2                DC C'3B',0C'       ID OF IFG0193B
 REP     03C4  F2E9                DC C'2Z',0C'       ID OF IFG0192Z
**********************************************************************
*
*        PREVENT WRONG VOLUME MOUNTED PROCESSING  FOR CTC DEVICES
 NAME    IFG0194C IFG0194C
 VER     0080  4770,30A8  BNE ODA71200       DEMOUNT WRONG VOLUME
 VER     01B6  0000                          VERIFY PATCH AREA
 REP     0080  4770,31B4  B TO PATCH AREA
 REP     01B6  9504,A011  CLI UCBTBYT2,X'04' IS IT CTC
 REP     01BA  4770,30A8  BNE ODA71200       NO,DEMOUNT WRONG VOLUME
 REP     01BE  47F0,3102  B ODA71600         ABEND CALLER
**********************************************************************
*        NOTE***ONLY ONE OF THE FOLLOWING FIVE  ZAPS WILL VERIFY CORRECTLY
*        PREVENT SENSE OPERATION ON CTC DEVICE BY TAPE OPEN
 NAME    IFG0194H
 VER     01EA  45B0,326A  BAL RB,OTA14400    DO A SENSE I/O
 VER     03E8  0000
 REP     01EA  47F0,33E6  B PATCH
 REP     03E8  9504,A011  CLI UCBTBYT2,X'04' IS THIS A CTC DEV
 REP     03EC  4780,32A8  BE OTA14800        BR IF YES,SKIP SENSE
 REP     03F0  45B0,326A  BAL RB,OTA14400    DO THE SENSE I/O
 REP     03F4  47F0,31EC  B MAINSTREAM       RETURN
*        FOLLOWING ZAP ADDED FOR REL 21.6
 NAME    IFG0194H IFG0194H         RESET POSSIBLE NOGO SWITCH
 VER     0212  45B03292            BAL RB,OTA14400
 VER     03E8  00000000            VERIFY THE PATCH AREA
 REP     0212  45B033E6            BAL TO PATCH AREA
 REP     03E8  9504A011            CLI UCBTBYT2,X'04' CTC DEVICE?
 REP     03EC  478032D0            BE  OTA14800       YES,SKIP SENSE
 REP     03F0  47F03292            B   OTA14400       GO DO SENSE OP
*        FOLLOWING ZAP ADDED FOR REL 21.7
 NAME    IFG0194H IFG0194H         RESET POSSIBLE NOGO SWITCH
 VER     020C  45B032E4            BAL RB,OTA14400
 VER     0264  45B032E4            BAL RB,OTA14400
 VER     03E8  00000000            VERIFY THE PATCH AREA
 REP     020C  45B033E6            BAL TO PATCH AREA
 REP     0264  45B033E6            BAL TO PATCH AREA
 REP     03E8  9504A011            CLI UCBTBYT2,X'04' CTC DEVICE?
 REP     03EC  47803322            BE  OTA14800       YES,SKIP SENSE
 REP     03F0  47F032E4            B   OTA14400       GO DO SENSE OP
*         FOLLOWING ZAP ADDED FOR REL 21.8
 NAME    IFG0194H IFG0194H
 VER     021E  45B0,32F6           BAL  RB,OTA14400
 VER     0276  45B0,32F6           BAL  RB,OTA14400
 VER     03CE  0000,0000           VERIFY THE PATCH AREA
 REP     021E  45B0,33CC           BAL TO PATCH AREA
 REP     0276  45B0,33CC           BAL TO PATCH AREA
 REP     03CE  9504,A011           CLI  UCBTBYT2,X'04' CTC DEVICE?
 REP     03D2  4780,3334           BE   OTA14800 YES-SKIP SENSE
 REP     03D6  47F0,32F6           B    OTA14400 GO DO SENSE
*         FOLLOWING ZAP ADDED FOR OS PTF 4885
 NAME    IFG0194H IFG0194H
 VER     0242  45B0,332A           BAL  RB,OTA14400
 VER     029A  45B0,332A           BAL  RB,OTA14400
 VER     03E6  0000,0000           VERIFY THE PATCH AREA
 REP     0242  45B0,33E4           BAL  TO PATCH AREA
 REP     029A  45B0,33E4           BAL  TO PATCH AREA
 REP     03E6  9504,A011           CLI  UCBTBYT2,X'04'
 REP     03EA  4780,3368           BE   OTA14800
 REP     03EE  47F0,332A           B    OTA14400
**********************************************************************
*        NOTE***ONLY ONE OF THE FOLLOWING FOUR  ZAPS WILL VERIFY CORRECTLY
*        TREAT CTC AS SEPARATE DEV TYPE FOR CONCAT OF UNLIKE DEVICES
 NAME    IFG0552X
 VER     010E  41D0,00B0   LA RD,EABD176     LOAD INTERNAL ERR CODE
 VER     03E8  0000                          VERIFY PATCH AREA
 REP     010E  47F0,33E6   B PATCH
 REP     03E8  41D0,00B0                     EXEC OVERLAID INSTR
 REP     03EC  9504,E011   CLI UCBTBYT2,X'04'  IS THIS CTC
 REP     03F0  4780,32F4   BE ECM62800         YES,ABEND USER
 REP     03F4  47F0,3110   B MAINSTREAM        RETURN TO MAINLINE
*        FOLLOWING ZAP ADDED FOR REL 21.7
 NAME    IFG0552X  IFG0552X
 VER     012A  41D0,00B0   LA RD,EABD176     LOAD INTERNAL ERR CODE
 VER     03E8  0000                          VERIFY PATCH AREA
 REP     012A  47F0,33E6   B PATCH
 REP     03E8  41D0,00B0                     EXEC OVERLAID INSTR
 REP     03EC  9504,E011   CLI UCBTBYT2,X'04'  IS THIS CTC
 REP     03F0  4780,32F4   BE ECM62800         YES,ABEND USER
 REP     03F4  47F0,312C   B MAINSTREAM        RETURN TO MAINLINE
*        FOLLOWING ZAP ADDED FOR REL 21.8
*  NOTE THIS ZAP IS DEPENDENT UPON IFG0552X BEING PREVIOUSLY LINK
*  EDITED FROM THE OBJECT MODULE AVAILABLE ON THIS JOB STREAM. THE
*  STANDARD REL 21.8 IFG0552X DOES NOT HAVE A PATCH AREA.
 NAME IFG0552X IFG0552X
 VER     01A8  4700,31A6   BC  0,*
 VER     01AC  4700,31AA   BC  0,*
 REP     01A8  9504,E011   CLI  UCBTBYT2,X'04' IS THIS CTC
 REP     01AC  4780,338A   BE  ECM62800  YES,ABEND USER
*       FOLLOWING ZAP ADDED FOR OS PTF 5591
 NAME IFG0552X IFG0552X
 VER     01A6  4100,00B0   LA  R0,EABD176   LOAD INTERNAL ERR CODE
 VER     03DE  0000                         VERIFY PATCH AREA
 REP     01A6  47F0,33DC   B  TO PATCH AREA
 REP     03DE  4100,00B0   LA  R0,EABD176   EXEC OVERLAYED INST
 REP     03E2  9504,E011   CLI  UCBTBYT2,X'04' IS THIS CTC
 REP     03E6  4780,3372   BE  ECM62800    YES,ABEND USER
 REP     03EA  47F0,31A8   B  RETURN TO MAINLINE
**********************************************************************
 NAME IGC0L05A IGC0L05A CHANGE ABDUMP MAX BLKSIZE FROM 1632 TO 882
 VER 0352 0660
 REP 0352 0372
**********************************************************************
 NAME IGC0801C IGC0801C  CHANGE ABEND DCB BLKSIZE FROM 1632 TO 882
 VER 02AE 0660
 REP 02AE 0372
**********************************************************************
*        NOTE***ONLY ONE OF THE FOLLOWING FIVE  ZAPS WILL VERIFY CORRECTLY
* ZAP TO REMOVE THE BACK SPACE CHARACTER CHECK
 NAME    IGC0107B IEECVPM     FOR MCS: MICROFICHE NAME IS IEECMPMX
 VER     00CA  4780C0D8
 VER     00DE  4770C0EC
 REP     00CA  4770
 REP     00DE  47F0
*        FOLLOWING ZAP ADDED FOR REL 21.7
 NAME    IGC0107B IEECVPM     FOR MCS: MICROFICHE NAME IS IEECMPMX
 VER     00D2  4780C0E0
 VER     00E6  4770C0F4
 REP     00D2  4770
 REP     00E6  47F0
 NAME    IGC0107B IEECVPM     FOR NON-MCS: MICROFICHE NAME IS IEECVPMX
 VER     00C8  4780C0D6            BE  PMBKSL
 VER     00DC  4770C0EA            BNE *+16
 REP     00C8  4770C0D6            BNE PMBKSL
 REP     00DC  47F0C0EA            B   *+16
*       FOLLOWING ZAP ADDED FOR REL 21.8
 NAME    IGC0107B IEECVPM     FOR MCS: MICROFICHE NAME IS IEECMPMX
 VER     00E2  4780,C0F0           BE  PMBKSL
 VER     00F6  4770,C104           BNE  *+16
 REP     00E2  4770,C0F0           BNE  PMBKSL
 REP     00F6  47F0,C104           B  *+16
 NAME    IGC0107B IEECVPM     FOR NON-MCS: MICROFICHE NAME IS IEECVPMX
 VER     00D4  4780,C0E2           BE  PMBKSL
 VER     00E8  4770,C0F6           BNE  *+16
 REP     00D4  4770,C0E2           BNE  PMBKSL
 REP     00E8  47F0,C0F6           B  *+16
*******************************************************************************
*        NOTE***ONLY ONE OF THE FOLLOWING TWO ZAPS WILL VERIFY CORRECTLY
* ZAP TO BYPASS SECOND TRANSLATE WHEN SECOND QUOTE IS FOUND IN MESSAGE
 NAME    IGC5403D IEE5403D       MICROFISCHE NAME IEE5403D
 VER     00DA  478030AA
 REP     00DA  478030E0
*        FOLLOWING ZAP ADDED FOR REL 21.7
 NAME    IGC5403D IEE5403D       MICROFISCHE NAME IEE5403D RESET NOGO
 VER     00DC  478030AC
 REP     00DC  478030E2
/*
//******************************************************************
//R21ZSVC2.SYSIN DD *
*        NOTE***ONLY ONE OF THE FOLLOWING ZAPS WILL VERIFY CORRECTLY
* CREATE CALLING SEQUENCE FOR RESIDENT ROUTINE WHICH PLACES JOBNAME IN WTO TEXT
NAME IGC0003E IGC0003E MICROFICHE NAME IS IEEMVWTO (REL 21 MCS)
VER 01DA 58F0A03C
REP 01DA 47F0B2FE        B   SVC245 ENTER SVC CALLING SEQUENCE
REP 0300 1831     SVC245 LR  R3,R1  SAVE R1 ACROSS SVC ROUTINE
REP 0302 41F0000C        LA  R15,12 FUNCTION CODE FOR SVC ENTRY POINT
REP 0306 0AF6            SVC 246   ENTER RESIDENT ROUTINE
REP 0308 1813            LR  R1,R3  RESTORE R1 (WQE ADDR)
REP 030A 58F0A03C        L   R15,UCMWQEND PTR TO LAST WQE ON CHAIN
REP 030E 47F0B1DC        B   LINKWQE+4 CONTINUE IN MAINLINE CODE
NAME IGC0003E IGC0003E MICROFICHE NAME IS IEEMVWTO (REL 21 MCS)  RESET NOGO
VER 01C6 58F0A03C
REP 01C6 47F0B30E        B   SVC245 ENTER SVC CALLING SEQUENCE
REP 0310 1831     SVC245 LR  R3,R1  SAVE R1 ACROSS SVC ROUTINE
REP 0312 41F0000C        LA  R15,12 FUNCTION CODE FOR SVC ENTRY POINT
REP 0316 0AF6            SVC 246   ENTER RESIDENT ROUTINE
REP 0318 1813            LR  R1,R3  RESTORE R1 (WQE ADDR)
REP 031A 58F0A03C        L   R15,UCMWQEND PTR TO LAST WQE ON CHAIN
REP 031E 47F0B1C8        B   LINKWQE+4 CONTINUE IN MAINLINE CODE
NAME IGC0003E IGC0003E MICROFICHE NAME IS IEEMVWTO (REL 21.7 MCS)
 VER 01D6 58F0A03C
REP 01D6 47F0B31E        B   SVC245 ENTER SVC CALLING SEQUENCE
REP 0320 1831            LR  R3,R1  SAVE R1 ACROSS SVC ROUTINE
REP 0322 41F0000C        LA  R15,12 FUNCTION CODE FOR SVC ENTRY POINT
REP 0326 0AF6            SVC 246   ENTER RESIDENT ROUTINE
REP 0328 1813            LR  R1,R3  RESTORE R1 (WQE ADDR)
REP 032A 58F0A03C        L   R15,UCMWQEND PTR TO LAST WQE ON CHAIN
REP 032E 47F0B1D8        B   LINKWQE+4 CONTINUE IN MAINLINE CODE
/*
//******************************************************************
//R21ZSVC3.SYSIN DD *
* CREATE CALLING SEQUENCE FOR RESIDENT ROUTINE WHICH PLACES JOBNAME IN WTO TEXT
NAME IGC0003E IGC0003E MICROFICHE NAME IS IEENVWTO (REL 21 NON-MCS)
VER 01C0 58F0A03C
REP 01C0 47F0B2FE        B   SVC245 ENTER SVC CALLING SEQUENCE
REP 0300 1831     SVC245 LR  R3,R1  SAVE R1 ACROSS SVC ROUTINE
REP 0302 41F0000C        LA  R15,12 FUNCTION CODE FOR SVC ENTRY POINT
REP 0306 0AF6            SVC 246   ENTER RESIDENT ROUTINE
REP 0308 1813            LR  R1,R3  RESTORE R1 (WQE ADDR)
REP 030A 58F0A03C        L   R15,UCMWQEND PTR TO LAST WQE ON CHAIN
REP 030E 47F0B1C2        B   LINKWQE+4 CONTINUE IN MAINLINE CODE
/*
//******************************************************************
//R21ZLNK.SYSIN DD *
*        NOTE***ONLY ONE OF THE FOLLOWING TWO ZAPS WILL VERIFY CORRECTLY
 NAME IEFW21SD IEFW21SD  ISSUE THE ASP UNIT ISOLATION SVC
 VER 009C 5840C010      L    R4,LCTJCTAD
 VER 0500 40404040                           INSURE DELINK EXPANSION
 REP 009C 47F094FA      B    PATCH           BRANCH TO ASP PATCH
 REP 0500  5840C010     L    R4,LCTJCTAD     EXECUTE OVERLAID INSTR
 REP 0504  41104008     LA   R1,JCTJMAME     POINT PARM REG TO JOBNAME
 REP 0508  41F00010     LA   R15,16          INDICATE ALLOCATION ENTRY
 REP 050C  0AF6         SVC  246             ISSUE UNIT ISOLATION SVC
 REP 050E  47F0909A     B    MAINLINE        RETURN TO MAINLINE
*        FOLLOWING ZAP ADDED FOR REL 21.6
 NAME    IEFW21SD IEFW21SD         RSET POSSIBLE NOGO SWITCH
 VER     00A6  5840C010            L   R4,LCTJCTAD    LOAD JCT ADDR FROM LCT
 VER     0520  40404040            VERIFY PATCH AREA
 REP     00A6  47F0951A            B   PATCH
 REP     0520  5840C010            EXECUTE OVERLAID INSTRUCTION
 REP     0524  41104008            LA  R1,JCTJNAME    POINT TO JOBNAME
 REP     0528  41F00010            LA  R15,16         INDICATE ALLOCATE ENTRY
 REP     052C  0AF6                SVC 246            ISSUE UNIT ISOL SVC
 REP     052E  47F090A4            B   MAINLINE       RETURN
***********************************************************************
*        NOTE***ONLY ONE OF THE FOLLOWING THREE ZAPS WILL VERIFY CORRECTLY
 NAME IEFSD061 IEFW42SD  ISSUE THE ASP UNIT ISOLATION SVC
 VER   6A 915C3005  TM   JCTSTAT,INCMSTS+JCTJOBFL+JCTABEND+JCTSTPFL
 VER 0188 40404040                      INSURE THE DELINK EXPANSION
 REP   6A 47F09182  B    PATCH          BRANCH TO ASP PATCH
 REP 0188 41F00014  LA   R15,20         INDICATE STEP TERMINATION ENTRY
 REP 018C 41103008  LA   R1,JCTJNAME    POINT PARAMETER REG AT JOBNAME
 REP 0190 0AF6      SVC  246            ISSUE UNIT ISOLATION SVC
 REP 0192 915C3005  TM   - - -          EXECUTE OVERLAID INSTRUCTION
 REP 0196 47F09068  B    MAINLINE       RETURN TO MAINLINE
*        FOLLOWING ZAP ADDED FOR REL 21.6
 NAME    IEFSD061 IEFW42SD         RESET POSSIBLE NOGO SWITCH
 VER     005E  915C3005            TM  JCTJSTAT,INCMSTS+JCTJOBFL+JCTABEND+JCTSTP
 VER     0188  40404040            VERIFY PATCH AREA
 REP     005E  47F09182            B   PATCH
 REP 0188 41F00014  LA   R15,20         INDICATE STEP TERMINATION ENTRY
 REP 018C 41103008  LA   R1,JCTJNAME    POINT PARAMETER REG AT JOBNAME
 REP 0190 0AF6      SVC  246            ISSUE UNIT ISOLATION SVC
 REP 0192 915C3005  TM   - - -          EXECUTE OVERLAID INSTRUCTION
 REP     0196  47F0905C            B   MAINLINE       RETURN FROM PATCH
*        FOLLOWING ZAP ADDED FOR REL 21.8
 NAME    IEFSD061 IEFW42SD
 VER     006A  915C,3005           TM  JCTJSTAT,INCMSTS+JCTJOBFL+JCTABEND+JCTSTP
 VER     018C  4040,4040           INSURE DELINK EXPANSION
 REP     006A  47F0,9186           B  PATCH AREA
 REP     018C  41F0,0014           LA  R15,20
 REP     0190  4110,3008           LA  R1,JCTJNAME
 REP     0194  0AF6                SVC  246
 REP     0196  915C,3005           TM  - - -  OVERLAID INSTRUCTION
 REP     019A  47F0,9068           B  MAINLINE
***********************************************************************
*  NOP R/I SVC 34 FOR EXPRESS CANCEL (21.0)
 NAME    IEFVHA  IEFVHH
 VER     04E6  4780B53E      BE  C9          BRANCH AROUND CANCEL CMD
 REP     04E6  47F0B53E      B   C9
***********************************************************************
 NAME    IEEVLNKT  IEEVLNKT        ADD MAINTASK NAME TO SYSTEM TASK TBL
 VER     0018  C9C8D2D9D1C2C7D5    IHKRJBGN  RJE READER TASK
 REP     0018  D4C1C9D5E3C1E2D2    MAINTASK  ASP TASK ON MAIN
***********************************************************************
*  THE FOLLOWING ZAP ELIMINATES REDUNDANT POSTING OF IDLE O/S INITIATORS
 NAME    IEFQMNQ2 IEFQMNQ2   MICROFISCHE NAME IEFQMNQQ
 VER     010E  1817          LR  R1,R7       LOAD ADDR OF ECB
 VER    0110  1B00          SR  0,0         SET CODE VALUE OF 0
 VER    0112  41101000      LA  R1,0(R1)    CLER HIGH ORDR BYTE
 VER    0116  0A02          SVC 2
 VER    0118  58770004      L   R7,4(R7)    LOAD ADDR OF NXT CTO AREA
 VER    011C  47F0          BC  15,QMENQ015 BR TO TEST NEXT TASK
 REP    010E  41107000      LA  R1,0(R7)    GET ECB ADDR
 REP    0112  1B00          SR  0,0         SET CODE VALUE OF 0
 REP    0114  0A02          SVC 2
 REP    0116  D20290217005  MVC             MOVE QCR
 REP    011C  47F0815C      B   QMENQ050    BR TO CHECK TRACK STACKING
***********************************************************************
*        NOTE***ONLY ONE OF THE FOLLOWING FOUR  ZAPS WILL VERIFY CORRECTLY
* THE FOLLOWING CODE BYPASSES REWIND UNLOAD FOR CTC TAPE DEVICES
 NAME    IEFWD000 IEFWD002         MICROFICHE NAME IEFWD000 (21.0)
 VER     006E  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 VER     039E  41101000            VERIFY PATCH AREA
 REP     006E  47F0939C      BR  XPS757               BR TO PATCH
* THE FOLLOWING PATCH OVERLAYS CODE USED FOR PCP ONLY
 REP     039E  9504D011      CLI UCBTBYT2,CTC         IS THIS A CTC
 REP     03A2  078E          BCR 8,R14                YES,RETURN
 REP     03A4  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 REP     03A8  071E          BCR CONES,R14            YES,RETURN
 REP     03AA  47F09072      B   MAINLINE             GO TO MAINSTREAM
*        FOLLOWING ZAP ADDED FOR REL21.6
 NAME    IEFWD000 IEFWD002         MICROFICHE NAME IEFWD000 (21.6)
 VER     006E  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 VER     03FA  41101000            VERIFY PATCH AREA
 REP     006E  47F093F8      BR  XPS757               BR TO PATCH
* THE FOLLOWING PATCH OVERLAYS CODE USED FOR PCP ONLY
 REP     03FA  9504D011      CLI UCBTBYT2,CTC         IS THIS A CTC
 REP     03FE  078E          BCR 8,R14                YES,RETURN
 REP     0400  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 REP     0404  071E          BCR CONES,R14            YES,RETURN
 REP     0406  47F09072      B   MAINLINE             GO TO MAINSTREAM
*      FOLLOWING ZAP ADDED FOR 21.7
 NAME    IEFWD000 IEFWD002         MICROFICHE NAME IEFWD000 (21.7)
 VER     006E  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 VER     0400  41101000            VERIFY PATCH AREA
 REP     006E  47F093FE      BR  XPS757               BR TO PATCH
* THE FOLLOWING PATCH OVERLAYS CODE USED FOR PCP ONLY
 REP     0400  9504D011      CLI UCBTBYT2,CTC         IS THIS A CTC
 REP     0404  078E          BCR 8,R14                YES,RETURN
 REP     0406  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 REP     040A  071E          BCR CONES,R14            YES,RETURN
 REP     040C  47F09072      B   MAINLINE             GO TO MAINSTREAM
*        FOLLOWING ZAP ADDED FOR REL 21.8
 NAME    IEFWD000 IEFWD002   MICROFICHE NAME IS IEFWD000 (21.8)
 VER     006E  9140,D006     TM  UCBFLG2,NOTREADY
 VER     0424  4110,1000     VERIFY PATCH AREA
 REP     006E  47F0,9422     B  XPS757
* THE FOLLOWING PATCH OVERLAYS CODE USED FOR PCP ONLY
 REP     0424  9504,D011     CLI  UCBTBYT2,CTC  CTC DEVICE?
 REP     0428  078E          BCR  8,R14  YES-RETURN
 REP     042A  9140,D006     TM  UCBFLG2,NOTREADY  TAPE NOT READY?
 REP     042E  071E          BCR  CONES,R14  YES-RETURN
 REP     0430  47F0,9072     B  MAINLINE  RETURN TO MAINSTREAM
***********************************************************************
*        THE FOLLOWING ZAP PREVENTS A 30A ABEND WHEN ASP USES
*        THE O/S READER INTERPRETER
 NAME IEFVH1
 VER  01A0  4720B108         BC  2,J02
 REP  01A0  4700             NOP
***********************************************************************
* NOTE   ONLY ONE OF THE FOLLOWING ZAPS WILL VERIFY CORRECTLY
*        THE FOLLOWING ZAP IS INCLUDED TO FIX AN O/S PROBLEM IN THE
*        MODULE IEFLOCDQ.  THE PROBLEM WAS ORIGINALLY APARED AS
*        O/S APAR 61912 IN MVT. THE SYMPTOM OF THE PROBLEM IS MSG
*        AQWTR16 JOBNAME N/F OUT OF ASPQWRITR. THE FIX IS INCLUDED HERE
*        AS A CONVENIENCE TO THE ASP USER.
 NAME IEFLOCDQ IEFLOCDQ
 VER     012A  50406064
 VER     0500  4040
 REP     012A  47F0B4E4
 REP     0500  50406064,4040606A,47F0B112
*        THE FOLLOWING ZAP IS FOR MVT 21.7
 NAME  IEFLOCDQ IEFLOCDQ
 VER     0130  50406064
 VER     0500  40404040
 REP     0130  47F0B4E4
 REP     0500  50406064,4040606A,47F0B118
/*
//******************************************************************
//TEMPRI.SYSIN DD *
 INCLUDE DD1(IEFVHA)
 ALIAS IEFVHCB,IEFVHREP,IEFVHF
 ENTRY   IEFVHA
 NAME    IEFVHA(R)
 INCLUDE DD1(IEFMVTHR)
 ALIAS   IEFHRFK2
 NAME    IEFMVTHR(R)
 INCLUDE DD1(IEFMVTJA)
 ALIAS   IEFVJA
 ENTRY   IEFVJA
 NAME    IEFMVTJA(R)
 INCLUDE DD1(IEFVINA)
 ENTRY   IEFVINA
 NAME    IEFVINA(R)
 INCLUDE DD1(IEZDCODE)
 NAME    IEZDCODE(R)
/*
//RILINK.SYSIN DD *
 INCLUDE DD1(IEFVHA)
 ALIAS IEFVHCB
 ALIAS IEFVHREP
 ALIAS IEFVHF
 ENTRY IEFVHA
 NAME IEFVHA(R)
 INCLUDE DD1(IEFMVTHR)
 ALIAS IEFHRFK2
 NAME IEFMVTHR(R)
 INCLUDE DD1(IEFMVTJA)
 ALIAS IEFVJA
 ENTRY   IEFVJA
 NAME IEFMVTJA(R)
 INCLUDE DD1(IEFVINA)
 ENTRY IEFVINA
 NAME IEFVINA(R)
 INCLUDE DD1(IEZDCODE)
 NAME IEZDCODE(R)
/*
//ASPPRE JOB A,'ASP VER 3.2 VS2',REGION=150K
//*
//******************************************************************************
//* ASP 3.2   PREGEN JOB FOR VS2 REL 1.6 AND 1.7                               *
//******************************************************************************
//*      THE JOB STEPS ARE AS FOLLOWS :                                        *
//* STEP1 - UPDATES MACROS FROM SYS1.AGENLIB INTO SYS1.ASPMOD                  *
//* STEP2 - UPDATES MACROS FROM SYS1.AMODGEN INTO SYS1.ASPMOD                  *
//* STEP3 - LINKEDITS THE MODULE 'ASPSVC',A TYPE ONE SVC,INTO SYS1.ASP         *
//* STEP4 - LINKEDITS AND EXPANDS TWO MODULES OF THE NIP PROGRAM.              *
//* STEP5 - SUPERZAPS ASP CHANGES INTO THE TWO NIP MODULES AND CHANGES         *
//*         THE O/S PROGRAM CHECK FLIH TO ALLOW ASP SPIE EXIT                  *
//******************************************************************************
//*      THE SYMBOLIC PARAMETERS REPRESENT THE FOLLOWING :                     *
//* DLIB   - VOLSER OF VOLUME CONTAINING AGENLIB AND AMODGEN                   *
//* DLUNIT - UNIT TYPE OF DLIB VOLUMES                                         *
//* ASPVOL - VOLSER OF VOLUME FOR ALLOCATING ASP DATA SETS                     *
//* DAUNIT - UNIT TYPE OF ASPVOL                                               *
//* DLIB1  - VOLUME CONTAINING SYS1.AOSC5 DATA SET                             *
//* OUTCLAS - THE CLASS TO WHICH THE SYSOUT INFORMATION IS TO BE DIRECTED      *
//******************************************************************************
//*
//PREGEN PROC DLIB=,DLUNIT=,ASPVOL=,DAUNIT=,DLIB1=,OUTCLAS=A
//STEP1 EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=SYS1.AGENLIB,UNIT=&DLUNIT,DISP=SHR,VOL=SER=&DLIB
//SYSUT2 DD DSN=SYS1.ASPMOD,DISP=(,CATLG),UNIT=&DAUNIT,
// VOL=SER=&ASPVOL,SPACE=(6800,(500,20,5)),DCB=(RECFM=FB,LRECL=80,
// BLKSIZE=6800,DSORG=PO)
//SYSPRINT DD SYSOUT=&OUTCLAS
//STEP2 EXEC PGM=IEBUPDTE
//SYSUT1 DD DSN=SYS1.AMODGEN,UNIT=&DLUNIT,DISP=(SHR,PASS),
// VOL=SER=&DLIB
//SYSUT2 DD UNIT=&DAUNIT,VOL=SER=&ASPVOL,DISP=SHR,DSN=SYS1.ASPMOD
//SYSPRINT DD SYSOUT=&OUTCLAS
//STEP3 EXEC PGM=IEWL,PARM='NCAL,LIST,LET,XREF'
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&SYSUT1,UNIT=SYSDA,SPACE=(TRK,(20,10))
//SYSLMOD DD DSN=SYS1.ASP,DISP=(,CATLG),UNIT=&DAUNIT,VOL=SER=&ASPVOL,
// SPACE=(TRK,(2,,1))
//SYSLIN DD DDNAME=SYSIN
//STEP4 EXEC PGM=IEWL,PARM='LIST,LET,XREF'
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,5))
//SYSLMOD DD DSN=SYS1.AOSC5,DISP=SHR,VOL=SER=&DLIB1,UNIT=&DLUNIT
//SYSLIN DD DDNAME=SYSIN
//STEP5 EXEC PGM=AMASPZAP
//SYSLIB DD DSN=SYS1.AOSC5,DISP=SHR,VOL=SER=&DLIB1,UNIT=&DLUNIT
//SYSPRINT DD SYSOUT=&OUTCLAS
// PEND
//******************************************************************************
//*      THE FOLLOWING IS A SAMPLE EXEC CARD
//*RE EXEC PREGEN,DLUNIT=3330,ASPVOL=DLIB01,DAUNIT=3330,DLIB=DLIB01,
//*DLIB1=DLIB01
//******************************************************************************
//STEP1.SYSIN DD *
./       CHANGE  NAME=IODEVICE
         GBLB  &CTCDEVS(768)                                   @AA32703 00301000
         AIF   ('&FEATURE(&A)' EQ 'CTC').CTCFEAT  BR IF CTC SPECD **ASP 08990000
.CTCFEAT MNOTE *,'        CHANNEL TO CHANNEL DEVICE'              **ASP 09121000
&CTCDEVS(&I) SETB 1                                            @AA32703 09122000
         AGO   .MORE1                                             **ASP 09123000
&A       SETA  1                                                  **ASP 17531000
         AIF   ('&FEATURE(&A)' NE 'CTC').NOCTC  BR IF NOT CTC     **ASP 17532000
         MNOTE *,'        CHANNEL TO CHANNEL ADAPTER'             **ASP 17533000
&CTCDEVS(&I) SETB 1                                            @AA32703 17534000
.NOCTC   ANOP                                                     **ASP 17535000
./       CHANGE  NAME=SGIEC202
         GBLB  &CTCDEVS(768)                                   @AA32703 00061000
         LCLB  &CTCPRES                                           **ASP 00530000
.H01     AIF   (&CTCDEVS(&COUNTB)).CTCFEAT   BR IF CTC DEVICE  @AA32703 11140000
         AIF   (NOT &SGDF01B(&COUNTB)).SETYPA     BR IF 9 TRACK   **ASP 11150017
         AIF   (NOT &CTCDEVS(&COUNTB)).UCBOPUT                 @AA32703 12370000
         AGO   .CTCFEAT                                           **ASP 12380000
.CTCFEAT ANOP       SET CTC FEATURE BIT AND CHECK DEVICE TABLE    **ASP 12390000
&CTCPRES SETB  1                   INDICATE CTC PRESENCE          **ASP 12390010
&LCHCNT  SETA  &LCHCNT+4           SET CTC BIT IN OPT FEATURES    **ASP 12390020
&ENTCNT  SETA  1                   INITIALIZE COUNT               **ASP 12390030
.CTCCONT AIF   ('&TYPTAB(&ENTCNT)' EQ 'CTC').CTCDEV  BR IF CTC    **ASP 12390040
&ENTCNT  SETA  &ENTCNT+1           UPDATE ENTRY COUNT             **ASP 12390050
         AIF   (&ENTCNT LE &TYPCNT).CTCCONT  BR IF MORE TYPES     **ASP 12390060
&TYPCNT  SETA  &TYPCNT+1           ADD ONE FOR CTC DEVICE TYPE    **ASP 12390070
&TYPTAB(&TYPCNT) SETC 'CTC'        INSERT CTC INTO TABLE          **ASP 12390080
.CTCDEV  ANOP                                                     **ASP 12390090
         AIF   (NOT &SGSUPRB(26)).CTCNOLT NEED OLTEP ADJUSTMENT   **ASP 12390092
&ENTCNT  SETA  (&SGDCLSB(70)+&ENTCNT) YES ADJUST ENTCNT           **ASP 12390094
.CTCNOLT ANOP                                                     **ASP 12390096
&DEVTAB  SETA  &ENTCNT*8-8         COMPUTE DEVTAB INDEX FOR UCB   **ASP 12390100
         AGO   .SETYPA             GO SET UCB TYPE FIELD          **ASP 12390110
         AIF   (NOT &CTCPRES).NOCTC  SKIP IOS ADDITIONS IF NO CTC **ASP 15275118
         PUNCH ' IECCTC &I,&TWOBS' INCLUDE ASP IOS MODS           **ASP 15276118
.NOCTC   ANOP                                                     **ASP 15277118
/*
//STEP2.SYSIN DD *
./       ADD   NAME=IECCTC
         MACRO                                                          00000000
         IECCTC  &CTLPRG,&TBASE                                         00001000
*--------------------------------------------------------------------*  00011000
*                                                                     * 00012000
*              CLEAR NOT READY FOR CTC TAPE DEVICES                   * 00013000
*                                                                     * 00014000
*--------------------------------------------------------------------*  00015000
CTCENQ   L     APBSRG,ENQAD        GET ADDRESS OF ENQUEUE ROUTINE **ASP 00016000
         TM    UCBTYP+2(UCBREG),X'80' IS THIS TAPE             @AA23757 00017000
         BZ    CTCENQ20 -          NO,GO ENQUE REQUEST         @AA23757 00018000
         TM    UCBFL1(UCBREG),UCBNRY IS THE DEVICE NOT READY   @AA23757 00019000
         BZ    CTCENQ10 -          NO,CHECK CHANNEL MASK       @AA23757 00020000
         NI    UCBFL1(UCBREG),X'FF'-UCBNRY TURN OFF NOT READY      *ASP 00021000
         TM    TSTHDR(TSTREG),TRANINPR IS XLATE IN PROGRESS     AA23994 00021020
         BC    1,CTCENQ10 -        YES,CHECK CHANNEL MASK      @AA23757 00021040
         NI    TSTHDR(TSTREG),X'FE' - RESET ENQ FLAG            AL00001 00021100
         B     XCP010A -           GO RETRY THE REQUEST            *ASP 00022000
CTCENQ10 TM    CHMSK,X'FF' -       ANY RESTART BITS ON         @AA23757 00023000
         BZ    CTCENQ20 -          NO,GO ENQUE REQUEST         @AA23757 00024000
         LH    WKREG1,CTCMUCB -    GET MASTER CTC UCB ADDR     @AA23757 00025000
         LTR   WKREG1,WKREG1 -     IS ADDR VALID               @AA23757 00026000
         BZ    CTCENQ20 -          NO,GO ENQUE REQUEST         @AA23757 00026100
         IC    ICREG,UCBCHA(WKREG1) GET CTC CHANNEL ADDR       @AA23757 00026200
         N     ICREG,CTCMASK -     CLEAR UNWANTED BITS         @AA23757 00026300
         SLL   ICREG,2 -           MULTIPLY CHAN ADDR BY 4     @AA23757 00026400
         LA    WKREG1,IECCST(ICREG) POINT AT CHANNEL TABLE     @AA23757 00026500
         OC    CHMSK(1),LCTMSK(WKREG1) TURN ON CTC CHAN MASK   @AA23757 00026600
         SR    ICREG,ICREG -       CLEAR IC REG                @AA23757 00026700
CTCENQ20 B     XCPENQ-XCPPNQ(APBSRG) GO ENQUE REQUEST          @AA23757 00027000
         TITLE 'CHANNEL TO CHANNEL ADAPTER START I/O MODULE'      **ASP 00028000
*---------------------------------------------------------------------* 00029000
*                                                                     * 00030000
*        CHECK ADAPTER AVAILABILITY - INSERT DSTL IF REQUIRED         * 00031000
*        LINK TO USERS SIO APPENDAGE - SET SECONDARY UCB BUSY         * 00032000
*        LINK TO IOS TO DO THE SIO - FREE THE PROPER UCB(S)           * 00033000
*        UPDATE THE DSTL IF REQUIRED AND EXIT TO IOS POST SIO         * 00034000
*                                                                     * 00035000
*---------------------------------------------------------------------* 00036000
         SPACE 2                                                  **ASP 00037000
CTCSIO   DS    0H -                                               **ASP 00038000
CTCSIO10 LH    UCBREG,TSTUCB(TSTREG) - ASSURE VALIDITY OF UCBREG  **ASP 00042000
         LH    WKREG2,CTCMUCB -    POINT TO ADAPTER UCB           **ASP 00043000
         TM    UCBTYP+2(UCBREG),X'80' IS REQ FOR A TAPE DEVICE     *ASP 00043100
         BC    8,CNSLREQ -         NO,BR,MUST BE CONSOE            *ASP 00043200
         TM    CTCMONSW,MNMTENA1 - IS THE DEVICE USABLE        @AA27462 00043300
         BC    1,CNSLREQ -         YES GO ON WITH REQUEST          *ASP 00043400
CTCABEND MVI   IOBCOD(IOBREG),PERMER SET PERMANENT ERROR IN IOB    *ASP 00043420
CTCNOIO  DS    0H -                                            @AA33546 00043430
         LH    UAREG,UCBCHA(UCBREG) - RELOAD CHAN/UNIT ADDRESS @AA34010 00043435
         N     UAREG,ADDRMSK -        CLEAR HI ORDER BYTE      @AA34010 00043436
         MVI   CSWLOC+4,CSWCHE+CSWDVE - SET CHAN & DEV END IN CSW **ASP 00043440
         TM    *,X'FF' -           GENERATE A SIO CC OF CSW STORD **ASP 00043460
         LA    LNKRG3,CTCPIO -     POINT TO PIO ENTRY POINT             00043470
         B     LASPPIO -           GO TO IOS FOR POST SIO CLEANUP **ASP 00043480
CNSLREQ  LTR   WKREG2,WKREG2 -     IS THE MASTER CTC AVAILABLE     *ASP 00043500
         BZ    CTCCTLCM -          NO,DONT START REQ           @AA33546 00043700
         TM    UCBFL1(WKREG2),UCBBSY - IS THE ADAPTER BUSY        **ASP 00044000
         BO    CTCBUSY -           YES,DONT START REQ          @AM00431 00045000
         TM    CTCMONSW,MNASPABN - IS ASP ABENDING             @AA27462 00045100
         BO    CTCBUSY -           YES,DONT START REQ          @AM00431 00045200
         LA    WKREG2,UCBTYP-2(UCBREG) - POINT TO DSTL FOR REQEST **ASP 00046000
         L     WKREG1,IOBST-1(IOBREG) - POINT TO CHANNEL PROGRAM  **ASP 00047000
         MVC   CTCCUR,0(WKREG2) -  NO, SET REQSTD DSTL AS CURRENT **ASP 00050000
         L     WKREG2,DEBDCB-1(DEBREG) GET DCB ADDR                 ASP 00050031
         MVC   CTCMODE(1),DCBMODE(WKREG2) MOVE IN MODE BYTE       **ASP 00050100
         TM    DCBMACRF(WKREG2),X'80' IS THIS EXCP                **ASP 00050150
         BZ    NOTEXCP -           NO,BRANCH                      **ASP 00050200
         MVC   CTCLRECL(5),DSHEXCP FILL IN DATA FOR EXCP          **ASP 00050250
         TM    DCBMACRF(WKREG2),X'40' IS THE RECFM AVAILABLE      **ASP 00050300
         BO    XCPRECFM -          YES,BRANCH                     **ASP 00050350
         B     EXCP -                                             **ASP 00050400
NOTEXCP  MVC   CTCBLKSI,DCBBLKSI(WKREG2) MOVE IN BLOCKSIZE        **ASP 00050450
         MVC   CTCLRECL,DCBLRECL(WKREG2) MOVE IN THE LRECL        **ASP 00050500
XCPRECFM MVC   CTCRECFM,DCBRECFM(WKREG2) MOVE IN THE RECFM        **ASP 00050550
EXCP     DS    0H -                                               **ASP 00050600
         ST    WKREG1,CTCTIC -     POINT TIC TO USER CHANNEL PROG **ASP 00051000
         MVI   CTCTIC,TICOP -      RESTORE TIC OP CODE            **ASP 00052000
         LA    WKREG1,CTCDSTLW -   POINT TO DSTL WRITE CCW        **ASP 00053000
CTCSIO20 ST    WKREG1,ASPCAWV -    SAVE START OF CHAN PROG        **ASP 00054000
         LA    WKREG2,CAWLOC -     GET START ADDR FRO XLATE       **ASP 00055000
         ST    WKREG2,SAVECCW -    STORE START OF XLATE           **ASP 00056000
CTCSIO30 NI    UCBCHA(UCBREG),X'FF'-UCBHLT-UCBSMD - RESET HIO/SMD **ASP 00064000
         NI    UCBFL1(UCBREG),X'FF'-UCBCUB-UCBNRY - RESET CUB/NRY **ASP 00065000
         LH    UCBREG,CTCMUCB -    POINT TO THE ADAPTER UCB       **ASP 00068000
         LH    UAREG,UCBCHA(UCBREG) -LOAD CTC UNIT ADDR IN UAREG   *ASP 00069000
         N     UAREG,ADDRMSK -     CLEAR HIGH ORDER BYTE          **ASP 00069100
CTCSIO35 LA    LNKRG3,CTCPIO -     POINT TO POST SIO ROUTINE      **ASP 00071000
         B     XCP111 -            GO TO IOS SIO ROUTINE          **ASP 00072000
CTCSIO40 MVC   ASPCAWR(4),CAWLOC - SAVE REAL CAW FOR LOCAL I/O    **ASP 00078000
         LA    APBSRG,ASPCAWS -    POINT TO ASP CAWS FOR LOCAL I/O**ASP 00079000
         ST    APBSRG,CAWLOC -     STORE POINTER TO CAWS          **ASP 00080000
.ASPSIO4 STH   TSTREG,UCBLTS(UCBREG) - CHAIN RQE FROM ADAPTER UCB **ASP 00083000
         L     APBSRG,ATNTAB+4 -   POINT TO LASP I/O ROUTINE      **ASP 00084000
         BAL   LNKRG3,8(APBSRG) -  GO PROCESS LASP SIO            **ASP 00085000
         SR    WKREG1,WKREG1 -     GENERATE A SIO CC OF STARTED   **ASP 00086000
         BAL   LNKRG3,LASPPIO -    GO TO IOS FOR POST SIO CLEANUP **ASP 00087000
CTCPIO   EQU   * -                                                **ASP 00088000
.ASPSIO5 BC    8,CTCPIO10 -        GO UPDATE DSTL IF SIO SUCESFUL **ASP 00089000
         BC    4,CTCPIO5           IF CC=1 CONTINE TESTING              00089100
         BC    1,CTCSIO35 -        CC=3 GO RETRY                 **ASP  00089120
         LH    UCBREG,TSTUCB(TSTREG) POINT TO SECONDARY CTC UCB         00089150
         STH   TSTREG,UCBLTS(UCBREG) CHAIN RQE FROM SECONDARY     **ASP 00089200
         BR    LNKRG3              RETURN TO IOS                        00089300
CTCPIO5  EQU   *                                                        00089400
         TM    CSWLOC+4,CSWCHE -   DOES CSW SHOW CHANNEL END      **ASP 00090000
         BO    CTCPIO10 -          YES, TREAT AS SUCCESSFUL SIO   **ASP 00091000
         TM    CSWLOC+4,CSWATN -   WAS AN ATTENTION RECEIVED      **ASP 00094000
         BO    CTCPIO20 -          YES, LET IOS POST SIO HANDLE   **ASP 00095000
         NI    UCBFL1(UCBREG),X'FF'-UCBPST-UCBBSY - FREE ADAPTER  **ASP 00096000
         LH    UCBREG,TSTUCB(TSTREG) POINT TO SECONDARY CTC UCB         00097000
         B     CTCPIO20 -          DON'T UPDATE DSTL              **ASP 00098000
CTCPIO10 MVC   CTCLAST,CTCCUR -    UPDATE DATA SET TITLE LABEL    **ASP 00099000
         LH    WKREG1,TSTUCB(TSTREG) - POINT TO SECONDARY UCB     **ASP 00099100
         OI    UCBFL1(WKREG1),UCBPST+UCBBSY - SET SECONDARY ACTIV **ASP 00099200
         STH   TSTREG,UCBLTS(WKREG1) CHAIN RQE FROM SECONDARY     **ASP 00099300
CTCPIO20 TM    IOBCC(IOBREG),IOBCC3 - RESTORE CC PRIOR TO EXIT    **ASP 00100000
         LA    LNKRG3,XCPPIO -     POINT TO IOS POST SIO ROUTINE  **ASP 00101000
         BR    LNKRG3 -            EXIT TO IOS                    **ASP 00102000
CTCCTLCM L     WKREG1,IOBST-1(IOBREG) -    GET CCW ADDR        @AA33546 00102050
         TM    CCWFLG(WKREG1),X'C0' -      DATA/COMMAND CHAIN  @AA33546 00102060
         BC    4+1,CTCBUSY -               YES,ENQUEUE REQ     @AA33546 00102070
         LA    WKREG2,CTCOPCOD -           COMMAND TABLE ADDR  @AA33546 00102080
         LA    WKREG3,CTCOPNUM -           NUM OF ENTRIES      @AA33546 00102090
CTCNXTOP CLC   0(1,WKREG1),0(WKREG2) -     SELECTED COMMAND    @AA33546 00102100
         BE    CTCNOIO -                   YES,POST COMPLETE   @AA33546 00102110
         LA    WKREG2,1(WKREG2) -          INCREMENT COUNT     @AA33546 00102120
         BCT   WKREG3,CTCNXTOP -           LOOP UNTIL DONE     @AA33546 00102130
CTCBUSY  DS    0H -                                            @AA33546 00102190
         IECLNK1 ,BC,15,SELBSY,0,LNKRG1,,&TBASE                @AM00431 00102200
         SPACE 3                                                  **ASP 00103000
CTCDSTLW CCW   X'FD',CTCCUR,X'60',8 WRITE CURRENT DSTL     ASPHDR **ASP 00104000
CTCTIC   CCW   TICOP,0,0,0 -       TRANSFER TO USER CHANNEL PROG  **ASP 00105000
CTCSNCCW CCW   SENSOP,CTCSNBYT,X'20',1 - OBTAIN SENSE BYTE        **ASP 00106000
CTCCUR   DC    H'0' -              CURRENT DSTL UNIT       ASPHDR **ASP 00107000
CTCLRECL DC    H'0' -              DSTL LRECL              ASPHDR **ASP 00107100
CTCBLKSI DC    H'0' -              DSTL BLKSIZE            ASPHDR **ASP 00107200
CTCRECFM DC    XL1'00',X'00' -     DSTL RECFM              ASPHDR **ASP 00107300
CTCMODE  EQU   CTCCUR+7                                       DSH **ASP 00107400
DCBLRECL EQU   82 -                                        ASPHDR **ASP 00107500
DCBBLKSI EQU   62 -                                        ASPHDR **ASP 00107600
DCBRECFM EQU   36 -                                        ASPHDR **ASP 00107700
DCBMODE  EQU   16                                             DSH **ASP 00107800
DCBMACRF EQU   42 -                                               **ASP 00107900
DSHEXCP  DC    XL5'C5E7C3D7C0' -                                  **ASP 00107950
CTCLAST  DC    AL2(0) -            DSTL FOR LAST SECCESSFUL REQ   **ASP 00108000
CTCMASK  DC    1F'15' -            MASK FOR CTC CHAN ADDR      @AA23757 00108100
CTCMUCB  DC    H'0'                 - POINTER TO ADAPTER UCB      **ASP 00109000
CTCOUCB  DC    H'0' -              SECONDARY CTC POINTER       @AM00431 00110000
CTCMONSW DC    X'00'               SW BYTE FOR CTC MONITOR              00110100
ASPCAWS  DS    0D                                                 **ASP 00110200
         DC    X'FFFFFFFF' -       INDICATOR FIELD FOR MSVLOCAL   **ASP 00110300
ASPCAWV  DC    F'0' -              SAVE AREA FOR VIRTUAL CAW      **ASP 00110400
ASPCAWR  DC    F'0' -              SAVE AREA FOR REAL CAW         **ASP 00110500
CTCCCWL  DC    H'8' -              LENGTH OF A CCW                **ASP 00111000
CTCSNBYT DC    X'00' -             ADAPTER SENSE BYTE             **ASP 00112000
CTCLASP  DC    X'00' -             LOCAL/REAL MAIN INDICATOR      **ASP 00115000
CTCOPCOD DC    X'07' -                     REW COMMAND         @AA33546 00115100
         DC    X'0F' -                     RUN COMMAND         @AA33546 00115101
         DC    X'1F' -                     WTM COMMAND         @AA33546 00115102
CTCOPNUM EQU   *-CTCOPCOD -                NUM OF COMM CODES   @AA33546 00115120
CTCPATCH DC    10F'12837827' -     PATCH AREA                     **ASP 00116000
         SPACE 3                                               @AA27462 00116100
*        DEFINITION OF CTCMONSW                                @AA27462 00116200
MNMTENA1 EQU   X'80' -             MAINTASK ENABLED            @AA27462 00116300
MNMTENA2 EQU   X'40' -             MAINTASK ENABLED            @AA27462 00116400
MNSWCOMP EQU   X'10' -             CONSOLE SWITCH COMPLETE     @AA27462 00116500
MNASPABN EQU   X'08' -             ASP ABENDING                @AA27462 00116600
MNHOTIPL EQU   X'04' -             HOT IPL                     @AA27462 00116700
MNSWFAIL EQU   X'02' -             CONSOLE SWITCH FAILED       @AA27462 00116800
MNCTCBSY EQU   X'01' -             CTC BUSY                    @AA27462 00116900
         TITLE 'CHANNEL TO CHANNEL ADAPTER TRAP ROUTINE'          **ASP 00117000
*---------------------------------------------------------------------* 00118000
*                                                                     * 00119000
*        SET UNIT EXCEPTION AT EOF - FREE SECONDARY & ADAPTER UCBS    * 00120000
*                                                                     * 00122000
*---------------------------------------------------------------------* 00123000
         SPACE 2                                                  **ASP 00124000
CTCTRP   DS    0H -                                               **ASP 00125000
         TM    CTCMONSW,MNMTENA1 - ARE CTC TAPES ENABLED       @AA27462 00125100
         BC    8,CTCTRP10 -        NO,SKIP RELOAD OF UCB REG    AA23168 00125200
         LH    UCBREG,CTCOUCB -    RELOAD UCBREG WITH MASTER   @AM00431 00126031
CTCTRP10 NI    CTCMONSW,X'FF'-MNCTCBSY - TURN OFF CTCBUSY FLAG @AA27462 00129030
         CH    UCBREG,TSTUCB(TSTREG) - WAS THE I/O ON THE CONSOLE **ASP 00129130
         BCR   8,LNKRG2 -          YES, EXIT TO IOS               **ASP 00130000
         NI    UCBFL1(UCBREG),UCBBSY - RESET ALL BUT BSY IN ADPTR **ASP 00131000
         LH    UCBREG,TSTUCB(TSTREG) - POINT TO UCB FOR THIS REQ  **ASP 00132000
         NI    UCBFL1(UCBREG),X'FF'-UCBBSY - RESET BUSY IN SCNDRY **ASP 00133000
         LH    WKREG1,CSWLOC+6 -   GET RESIDUAL BYTE COUNT        **ASP 00134000
         LTR   WKREG1,WKREG1 -     IS THE RESIDUAL ZERO           **ASP 00135000
         BZ    CTCTRP30 -          YES, NO EOF/GO INCR BLK COUNT  **ASP 00136000
         TM    CSWLOC+4,CSWCHE+CSWDVE - CHAN AND DEV END IN CSW   **ASP 00137000
         BNO   CTCTRP30 -          NO, NO EOF/GO INCR BLK COUNT   **ASP 00138000
         L     WKREG1,CSWLOC -     POINT TO THE NEXT CCW          **ASP 00139000
         SH    WKREG1,CTCCCWL -    BACK UP TO CCW JUST EXECUTED   **ASP 00140000
         TM    0(WKREG1),X'01' -   WAS IT A WRITE                 **ASP 00141000
         BO    CTCTRP30 -          YES, NO EOF/GO INCR BLK COUNT  **ASP 00142000
         CLC   6(2,WKREG1),CSWLOC+6 - DOES RESIDUAL CNT = INITIAL **ASP 00143000
         BNE   CTCTRP30 -          NO, NO EOF/GO INCR BLK COUNT   **ASP 00144000
CTCTRP20 OI    IOBCSW+4(IOBREG),CSWUEX - SET UNIT XCEPTION IN IOB **ASP 00161000
CTCTRP30 L     WKREG2,DEBDCB-1(DEBREG) GET DCB ADDR                 ASP 00161100
         L     WKREG1,DCBBLK(WKREG2) - OBTAIN DCB BLOCK COUNT     **ASP 00162000
         AH    WKREG1,IOBBCI(IOBREG) - INCREMENT IT               **ASP 00163000
         ST    WKREG1,DCBBLK(WKREG2) - STORE UPDATED COUNT        **ASP 00164000
         BR    LNKRG2 -            EXIT TO IOS                    **ASP 00165000
*********************************************************************** 00165100
*                                                                     * 00165200
*        THE FOLLOWING CODE PROVIDES SPECIAL INTERRUPT HANDLING       * 00165300
*        FOR ASP CTC DEVICES                                          * 00165350
*                                                                     * 00165400
*********************************************************************** 00165500
CTCINTH  CLI   ATNTAB+4,X'FF' -    IS THIS SUPPORT             **ASP    00166000
         BE    CTCLINT -           YES,BRANCH                  **ASP    00167000
         TM    CSWLOC+4,CSWATN -   IS THIS REALLY ATTENTION    **ASP    00170000
         BZ    INT013 -            NO,GO TO O/S                **ASP    00171000
         LA    WKREG1,CTCSNCCW -   POINT AT ADAPTER SENSE CCW     **ASP 00172000
         ST    WKREG1,CAWLOC -     STORE CCW ADDR & 0 KEY IN CAW  **ASP 00173000
CTCATN10 SIO   0(UAREG) -          START SENSE COMMAND            **ASP 00174000
         BC    3,CTCATN10 -        RE-ISSUE IF ADAPTER BUSY       **ASP 00175000
CTCATN20 TIO   0(UAREG) -          TEST SENSE OPERATION STATUS    **ASP 00176000
         BC    8+2+1,CTCATN20 -    LOOP UNTIL CSW STORED          **ASP 00177000
         TM    CSWLOC+4,CSWDVE -   HAS DEVICE END OCCURED         **ASP 00178000
         BZ    CTCATN20 -          NO, LOOP UNTIL IT DOES         **ASP 00179000
         CLI   CTCSNBYT,X'07' -    IS THIS A NORMAL ATTN       @AM00431 00179100
         BE    INTATT2 -           YES GO TO ATN HANDLER       @AM00431 00179200
         CLI   CTCSNBYT,X'F7' -    IS THIS IPL RESPONSE        @AM00431 00180000
         BNE   CTCAERR -           NO,BR ON ERR CONDITION      @AA19292 00181000
         LH    WKREG1,CTCMUCB -    GET MASTER CTC UCB ADR          *ASP 00182000
         LTR   WKREG1,WKREG1 -     TEST FOR UCB ADDR VALID         *ASP 00183000
         BNZ   INT013 -            IGNORE INTERRUPT            @AM00431 00184000
         STH   UCBREG,CTCMUCB -    MAKE THIS RESPONDER MASTER      *ASP 00185000
         STH   UCBREG,CTCOUCB -    SAVE SECOND CTC POINTER     @AM00431 00186000
         B     INTATT2 -           GO TO ATTN HANDLER          **ASP    00190000
CTCLINT  CH    UCBREG,CTCOUCB -    IS INTRPT ON MASTER CTC     @AM00431 00191000
         BNE   CTCRINT -           NO GO TO ASP                **ASP    00192000
         CLI   CSWLOC+4,X'04' -    IS THIS DE FROM HIO         **ASP    00193000
         BNE   INTATT1 -           NO GO  TO INT HANDLER       **ASP    00194000
         B     INT013 -            YES,GO SKIP INT HANDLING    **ASP    00195000
CTCRINT  L     APBSRG,CTCATN -     GET POINTER TO CTC ATN ROUTINE **ASP 00196000
         LTR   APBSRG,APBSRG -     IS POINTER VALID            **ASP    00197000
         BZ    INT013 -            NO,RETURN                   **ASP    00198000
         BALR  LNKRG2,APBSRG -     GO TO CTC ATN ROUTINE       **ASP    00199000
         B     INT013 -            RETURN                      **ASP    00200000
CTCAERR  MVC   CTCSNBYT+1(1),CTCSNBYT TRACE LAST SENSE DATA    @AA19292 00200100
         MVI   CTCSNBYT,X'F7' -    INSERT FAKE SENSE DATA      @AA19292 00200200
         HDV   0(UAREG) -          HALT THE CTC                @AA19292 00200300
         BC    11,CTCATN20 -       GO DO TIO TILL CSW STOREED  @AA19292 00200400
         B     INT013 -            RETURN TO INTR HANDLER      @AA19292 00200500
******** DEB VALIDITY CHECK SUBROUTINE FOR ASP                    **ASP 00201000
ASPVAL   LR    TSTREG,REG0 -       GET TCB ADDR IN REG1           **ASP 00202000
         LA    TSTREG,0(TSTREG) -  CLEAR HIGH ORDER               **ASP 00203000
         L     WKREG2,0(TSTREG) -  GET RB POINTER                 **ASP 00204000
ASPRBL   LR    WKREG1,WKREG2 -                                     *ASP 00205000
         L     WKREG2,28(WKREG1) - GET LINK POINTER                *ASP 00206000
         LA    WKREG2,0(WKREG2) -  CLEAR HIGH ODER                 *ASP 00207000
         CR    WKREG2,TSTREG -     IS THIS THE TOP RB              *ASP 00208000
         BNE   ASPRBL -            NO,GO GET NEXT RB               *ASP 00209000
         L     WKREG2,12(WKREG1) - GET CDE POINTER                 *ASP 00210000
         CLC   8(6,WKREG2),ASPNUC - COMPARE FOR ASP                *ASP 00211000
         BE    DEBVALA -           YES,SKIP ABEND                  *ASP 00212000
         BR    LNKRG2 -            RETURN TO ABEND USER            *ASP 00213000
ASPNUC   DC    C'ASPNUC'                                           *ASP 00214000
         TITLE 'TEST CHANNEL AND CHANNEL SEARCH ROUTINES IN IOS'  **ASP 00215000
         MEND                                                           00216000
./       CHANGE  NAME=IECIOS
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 02531519
         CLI   ATNTAB+4,X'FF' -    IS THIS A LASP SYSTEM          **ASP 02532019
         BNE   NOASPPST -          NO, DON'T ATTEMPT POSTING ASP  **ASP 02532519
         LR    LCHREG,LNKRG2 -     SAVE IOS LINKAGE REG           **ASP 02533019
         LR    ICREG,APBSRG -      SAVE POST EP ADDRESS           **ASP 02533519
         L     APBSRG,ATNTAB+4 -   POINT TO CONTRAP ENTRY POINT   **ASP 02534019
         BAL   LNKRG2,4(0,APBSRG) -ENTER CONTRAP FOR POSS ASP PST **ASP 02534519
         LR    LNKRG2,LCHREG -     RESTORE IOS LINKAGE REGISTER   **ASP 02535019
         LR    APBSRG,ICREG -      RESTORE POST EP ADDRESS        **ASP 02535519
         SR    ICREG,ICREG -       CLEAR ICREG                    **ASP 02536019
NOASPPST EQU   * -                                                **ASP 02536519
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 04650019
         BR    LNKRG2 -            NOP KEY ZERO REQ FOR DEBS      **ASP 04660019
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 06041019
         CLI   UCBTYP+1(UCBREG),X'04'  IS THIS A CTC DEVICE       **ASP 06042019
         BNE   XERX02 -            IF NO DONT CLEAR UCB FLGS      **ASP 06042119
         LH    LNKRG3,CTCMUCB -    POINT TO PRIMARY CTC UCB       **ASP 06042219
         NI    CTCMONSW,X'FF'-MNCTCBSY - TURN OFF CTCBUSY FLAG @AA27462 06042330
         MVI   UCBFL1(LNKRG3),0 -  CLEAR ALL FLAGS IN ADAPTER UCB **ASP 06043019
CTCATN   DC    F'0' -              ASP CTC ATN ENTRY               *ASP 77200000
         SPACE 2                                                   *ASP 77202000
./       CHANGE  NAME=IECXTCH
         ENTRY LASPTCH                                            **ASP 62000030
LASPTCH  B     LASPTCH1 -          BYPASS LASP TCH CODE           **ASP 62001030
         CLI   UCBTYP+1(UCBREG),4 -IS THIS A CTC DEVICE           **ASP 62002030
         BNE   LASPTCH1 -          NO,BRANCH                      **ASP 62003030
         TM    UCBTYP+2(UCBREG),X'88' -IS THIS A TAPE OR CONS  @AA27998 62004030
         BM    XCPTCH3A -          YES SKIP TCH FOR LOCAL MAIN    **ASP 62005030
LASPTCH1 EQU   *                                                  **ASP 62006030
./       CHANGE  NAME=IECINT
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 21770519
         CLI   UCBTYP+1(UCBREG),4 -IS THE ERROR ON A CTC UNIT     **ASP 21771019
         BNE   INT031 -            NO, GO TO AB. END APG. EXIT    **ASP 21771519
         LH    WKREG1,TSTUCB(TSTREG) - GET ADDR OF SECONDARY UCB  **ASP 21772019
         MVI   UCBFL1(WKREG1),0 -  RESET ALL FLAGS IN SECONDARY   **ASP 21772519
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 47250019
INTATT   CLI   UCBTYP+1(UCBREG),X'04' IS THIS CTC INTERRUPT    **ASP    47250500
         BE    CTCINTH -           YES BRANCH                  **ASP    47251000
INTATT1  TM    CSWLOC+4,CSWCHE+CSWDVE -                        **ASP    47252000
         CLI   ATNTAB+4,X'FF' -    IS THIS A LASP SYSTEM          **ASP 47532019
         BNE   NOTLASP -           NO, DO NOT ATTEMPT POSTING ASP **ASP 47533019
         LR    ICREG,APBSRG -      YES, SAVE ATTN RTN EP ADDRESS  **ASP 47534019
         L     APBSRG,ATNTAB+4 -   POINT TO CONTRAP ENTRY POINT   **ASP 47535019
NOTLASP  EQU   * -                                                **ASP 47536019
         SR    ICREG,ICREG -       CLEAR ICREG                    **ASP 47671019
******   THE FOLLOWING CODE MODIFIED FOR ASP  ***********************   72780000
         BZ    ASPINTER -          NO,BYPASS ASP CODE             **ASP 72780031
         TM    UCBFL1(UCBREG),UCBNRY IS DEVICE READY                ASP 72801030
         BNO   INTER7E -           BRANCH IF YES                    ASP 72802031
         TM    UCBTYP+2(UCBREG),X'88' IS DEVICE UR OR TAPE          ASP 72803030
         BZ    INTER7E -           BRANCH IF NOT                    ASP 72804030
         L     WKREG1,DEBDCB-1(DEBREG) GET DCB ADDR                 ASP 72804131
         TM    44(WKREG1),X'01' -  ASP REQUESTED IO                 ASP 72805030
         BNO   INTER7E -           BRANCH IF NOT                    ASP 72806031
         OI    DCBFL(WKREG1),DCBPER SET PERM ERROR                  ASP 72807030
         IECLNK1 ,LA,LNKRG1,INT027,,,,&TBASE                            72807131
         B     INT057 -            TO ABN APG                       ASP 72808030
ASPINTER DS    0H                                                  ASP  72809030
./       CHANGE  NAME=IECIOSB
**************** THE FOLLOWING INSTRUCTIONS MODIFIED FOR ASP *******ASP 76081020
         CLI   UCBTYP+1(HINREG),X'04' - IS THIS REQST FOR CTC DEV **ASP 76081520
         BNE   NOCTCHIO -          NO, PROCEED NORMALLY           **ASP 76082020
         TM    UCBTYP+2(HINREG),X'88' IS THIS TAPE OR UNIT REC    **ASP 76082130
         BC    9,NOCTCHIO          NO BRANCH NOT CTC              **ASP 76082230
         L     HUAREG,CTCADCON -   GET POINTER TO CTC UCB ADCON   **ASP 76082520
         NI    4(HUAREG),X'FE' -   TURN OFF CTCBUSY FLAG           *ASP 76082630
         LH    HUAREG,0(HUAREG) -  POINT TO THE ADAPTER UCB       **ASP 76083020
         OI    UCBCHA(HUAREG),UCBHLT - INDICATE HIO ISSUED        **ASP 76083520
         NI    UCBFL1(HUAREG),X'FF'-UCBBSY-UCBPST-UCBDTR-UCBASK - **ASP 76084020
         LH    HUAREG,UCBCHA(HUAREG) - OBTAIN UNIT ADDRESS        **ASP 76084520
         N     HUAREG,ADMSK -      CLEAR HIGH ORDER BITS          **ASP 76085020
         B     HIO002 -            GO ISSUE HIO                   **ASP 76086520
NOCTCHIO EQU   * -                                                **ASP 76087020
CTCADCON DC    A(CTCMUCB) -        ADDRESS OF THE CTC UCB ADCON   **ASP 89121020
./       CHANGE  NAME=IECTBL
         AIF   ('&TYPE(&COUNT)' EQ 'CTC').CTCFIFO                 **ASP 12600500
.CTCFIFO ANOP                                                     **ASP 75000100
**  CHANNEL TO CHANNEL ADAPTER ENTRY WITH FIFO QUEUEING           **ASP 75000110
         DC    AL2(CTCENQ-IOSBASE) FIFO QUEUEING FOR CTC          **ASP 75000120
         DC    AL2(CTCSIO-IOSBASE) SIO CODE FOR CTC               **ASP 75000130
         DC    AL2(CTCTRP-IOSBASE) TRAP CODE FOR CTC              **ASP 75000140
         DC    AL2(NORMSEN-IOSBASE) SENSE ENTRY FOR CTC           **ASP 75000150
         AGO   .TSTLOOP                                           **ASP 75000160
./       CHANGE  NAME=IECXCP
         ENTRY CTCMUCB                                             *ASP 02012030
         ENTRY ATNTAB                                              *ASP 02013030
         ENTRY CTCMONSW                                            *ASP 02014030
         ENTRY CTCATN                                              *ASP 02015030
         BAL   LNKRG2,ASPVAL -     GO TO ASP VAL CHK              **ASP 34241000
XCP110D  CLI   ATNTAB+4,X'FF' -    IS THIS LOCAL ASP MAIN         **ASP 74841000
         BNE   RASPSIO -           NO,GO START I/O                **ASP 74842000
         CH    UCBREG,CTCMUCB -    IS THIS CTC REQUEST            **ASP 74843000
         BE    CTCSIO40 -          YES RETURN TO CTC SIO SUBROUTN **ASP 74843500
RASPSIO  SIO   ZERO(UAREG) -       START THE I/O                  **ASP 74844001
LASPPIO  DS    0H -                RETURN POINT FOR LASP I/O      **ASP 74850030
         BC    15,INTATT -         TO ATTENTION ROUTINE           **ASP 82200019
/*
//STEP3.SYSIN DD *
ESD          IGC246        CTCMCS   [   CTCNMCS  K           00000001
ESD          MTVT         CTCMUCB        ATNTAB                 00000002
ESD          	CTCATN         CTCMONSW       IEASCSAV               00000003
ESD          IEAQTR00       IBMORG         USERORG                00000004
ESD          LOWUSER        IEATYPE1       LASPTCH                00000005
TXT          	{-D  0D{  0{0{ 0{0{0{0B0B00000006
TXT         - ۍ---0{-{NA{NB &&00000007
TXT         A=N& AK&ҍ-D--j- NCȍ&&&- }00000008
TXT   y      {&&-Ayn }A%&A=&&A=N&D&&-AA=00000009
TXT   \      &&A=n &KB
BnپA n MB
&NB
Bn&K00000010
TXT        B&0A֍&-Aφ0{&-AykAA=N&C6n&&D.&00000011
TXT  &      D kAA=&& A=&&ن0{& A=KB& 0A&& f00000012
TXT  h      &BjBnپA& b6&u6KBBƍ&jhAN00000013
TXT  {      CꆺA}/ .&D0AU/ .&D0AU/ .&D&A2&A8kAK B
00000014
TXT  8      - K - BIJAD                                            00000015
TXT                                                                00000016
TXT                                                              /00000017
TXT        0B}kPC&B8& m 00;0S&0q;0SK 
5;0S&00000018
TXT  Q      0̍  &K& 
K-  
K- 
q;0S5 1;o ح00000019
TXT         z   1 ̇  0- 0u 00n0n0~ K00000020
TXT        11>&1:&      0=0k1:0K1: 00N1000000021
TXT         0  0N10 0\u &06m 5b 1     00000022
TXT                                                                00000023
TXT  \      X         dIEE600I IEFWDMSGIEA000A            00000024
TXT          	IEFASPSVC       MTVT  TRACE                       00000025
TXT  &                                                              00000026
TXT                                                               00000027
TXT  ^                                                              00000028
RLD             
        h    	     m    00000029
RLD              q         u   y    
  00000030
END                            15734AS100 050175185                    00000031
         NAME  ASPSVC(R)
/*
//******************************************************************
//STEP4.SYSIN DD *
 INCLUDE SYSLMOD(IEAVNP01)
 EXPAND IEAVNP01(200)
 NAME  IEAVNP01(R)
 INCLUDE SYSLMOD(IEAVNP02)
 EXPAND IEAVNP02(200)
 NAME IEAVNP02(R)
/*
//******************************************************************
//STEP5.SYSIN DD *
*     NOTE*** ONLY ONE OF THE FOLLOWING TWO ZAPS WILL VERIFY CORRECTLY
 NAME    IEAVNP01 IEAVNP01
 VER     02C2  50E0C54E      ST  REXIT,TESTCSAV  SAVE RETURN REG
 VER     0740  00000000
 REP     02C2  47F0C73A      B   ASPPATCH        EXIT TO PATCH AREA
 REP     0740  50E0C54E      ST  REXIT,TESTCSAV  SAVE RETURN REG
 REP     0744  95044011      CLI UCBTBYT2,X'04'  IS THIS CTC
 REP     0748  4770C2C0      BNE NP1TESTC+4      NO GO TEST CONSOLE
 REP     074C  9140C600      TM  MSTCNFND,X'40'  IS MASTER FOUND
 REP     0750  4780C754      BZ  CTCTST          NO,BR FIND CTC
 REP     0754  92004003      MVI UCBSTAT,X'00'   SET CTC OFFLINE
 REP     0758  07FE          BR  R14             RETURN TO CALLER
 REP     075A  41F00018      LA  R15,24          SET FUNCTION CODE
 REP     075E  1816          LR  R1,R6           SET UCM ADDR FOR SVC
 REP     0760  0AF6          SVC 246             ISSUE ASP SVC
 REP     0762  5010C53A      ST  R1,UCBPTR       SAVE NEW UCB ADDR
 REP     0766  58E0C54E      L   R14,TESTCSAV    RESTORE RETURN REG
 REP     076A  07FE          BR  R14             RETURN
*   THE FOLLOWING ZAP PROVIDED FOR VS PTF 71081
 NAME    IEAVNP01 IEAVNP01
 VER     02C2  50E0C55E      ST  REXIT,TESTCSAV  SAVE RETURN REG
 VER     0758  00000000
 REP     02C2  47F0C752      B   ASPPATCH        EXIT TO PATCH AREA
 REP     0758  50E0C55E      ST  REXIT,TESTCSAV  SAVE RETURN REG
 REP     075C  95044011      CLI UCBTBYT2,X'04'  IS THIS CTC
 REP     0760  4770C2C0      BNE NP1TESTC+4      NO GO TEST CONSOLE
 REP     0764  9140C611      TM  MSTCNFND,X'40'  IS MASTER FOUND
 REP     0768  4780C76C      BZ  CTCTST          NO,BR FIND CTC
 REP     076C  92004003      MVI UCBSTAT,X'00'   SET CTC OFFLINE
 REP     0770  07FE          BR  R14             RETURN TO CALLER
 REP     0772  41F00018      LA  R15,24          SET FUNCTION CODE
 REP     0776  1816          LR  R1,R6           SET UCM ADDR FOR SVC
 REP     0778  0AF6          SVC 246             ISSUE ASP SVC
 REP     077A  5010C54A      ST  R1,UCBPTR       SAVE NEW UCB ADDR
 REP     077E  58E0C55E      L   R14,TESTCSAV    RESTORE RETURN REG
 REP     0782  07FE          BR  R14             RETURN
********************************************************************
 NAME    IEAVNP02 IEAVNP02
 VER     00C8  47E0B0F6      BNO @RT00275        BR IF NOT DASD
 VER     1D40  00000000
 REP     00C8  47E0CD25      BNO ASPPATCH        BR IF NOT DASD
 REP     1D40  9504A011      CLI UCBTBYT2,X'04'  IS THIS CTC DEVICE
 REP     1D44  4770B0F6      BNE @RT00275        NO,BR TO TEST DEVICE
 REP     1D48  9188A012      TM  UCBTBYT3,X'88'  TAPE OR UNIT REC?
 REP     1D4C  4740B106      BM  @RT00270        YES,SKIP TEST OF CTC
 REP     1D50  47F0B0F6      B   @RT00275        GO TEST DEVICE
********************************************************************
*******  THE FOLLOWING ZAP ALLOWS ASP TO ENTER ITS SPIE EXIT ON PI
*      NOTE ONLY ONE OF THE FOLLOWING TWO ZAPS WILL VERIFY CORRECTLY
 NAME    IEAVNV00  IEAVNV00
 VER     0562  91010029      TM  PIOPSW+1,X'01'   SUPERVISOR STATE?
 REP     0562  91F10029      TM  PIOPSW+1,X'F1'   SUPERVSR + KEY 0 ?
*     THE FOLLOWING ZAP IS FOR VS PTF 71147
 NAME    IEAVNV00 IEAVNV00
 VER     056C  91010029      TM  PIOPSW+1,X'01'
 REP     056C  91F10029      TM  PIOPSW+1,X'F1'
/*
//******************************************************************
//POSTGEN JOB A,'ASP VER 3.2 VS2',REGION=160K
//ASPPOST PROC LPAUNIT=3330,LPASER=,LNKSER=,LNKUNIT=3330,
// OUTCLAS=A,DA=SYSDA
//*
//******************************************************************************
//* ASP 3.2   POSTGEN JOB FOR VS2 REL 1.6 AND 1.7                              *
//******************************************************************************
//*      THE SYMBOLIC PARAMETERS REPRESENT THE FOLLOWING :                     *
//* LNKUNIT - THE UNIT TYPE ON WHICH THE SYS1.LINKLIB DATA SET RESIDES         *
//* LNKSER  - THE VOLUME SERIAL OF THE SYS1.LINKLIB VOLUME                     *
//* LPAUNIT - THE UNIT TYPE ON WHICH SYS1.LPALIB RESIDES                       *
//* LPASER  - THE VOLUME SERIAL OF THE SYS1.LPALIB VOLUME                      *
//* DA      - GENERIC NAME TO BE USED FOR TEMPORARY DIRECT ACCESS DATA SETS    *
//* OUTCLAS - THE CLASS TO WHICH THE SYSOUT INFORMATION IS TO BE DIRECTED      *
//******************************************************************************
//*
//VS2RLNK1 EXEC PGM=IEWL,PARM='LIST,XREF,RENT,AC=1'
//STEPLIB DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,VOL=SER=&LNKSER,DISP=SHR
//SYSLMOD DD DSN=SYS1.LPALIB,UNIT=&LPAUNIT,VOL=SER=&LPASER,DISP=SHR
//SYSPRINT DD SYSOUT=&OUTCLAS
//SYSUT1 DD DSN=&&UT1,UNIT=&DA,SPACE=(CYL,(5,1))
//SYSLIN DD DDNAME=SYSIN
//VS2ZLPA1 EXEC PGM=AMASPZAP
//STEPLIB DD DSN=SYS1.LINKLIB,UNIT=&LNKUNIT,VOL=SER=&LNKSER,DISP=SHR
//SYSLIB DD DSN=SYS1.LPALIB,UNIT=&LPAUNIT,VOL=SER=&LPASER,DISP=SHR
//SYSPRINT DD SYSOUT=&OUTCLAS
// PEND
//******************************************************************************
//*      THE FOLLOWING IS A SAMPLE EXEC CARD
//*OST EXEC ASPPOST,LNKSER=ASPQS2,LPASER=ASPQS2,LNKUNIT=2314,
//*LPAUNIT=2314,OUTCLAS=A
//******************************************************************************
//VS2RLNK1.SYSIN DD *
 INCLUDE SYSLMOD(IGC0003E)
 EXPAND  IEAVVWTO(100)
 NAME    IGC0003E(R)
 INCLUDE SYSLMOD(IEFW21SD)
 EXPAND  IEFW21SD(200)
 ALIAS   IEFVM1,IEFXA,IEFVMCVL
 ENTRY   IEFW21SD
 NAME    IEFW21SD(R)
 INCLUDE SYSLMOD(IEEVLNKT)
 EXPAND  IEEVLNKT(20)
 NAME    IEEVLNKT(R)
 INCLUDE SYSLMOD(IEFSD061)
 EXPAND IEFW42SD(200)
 ALIAS   IEFSD064,IEFW42SD,IEFSD104
 ENTRY  IEFSD061
 NAME    IEFSD061(R)
 INCLUDE SYSLMOD(IEFLOCDQ)
 EXPAND IEFLOCDQ(20)
 ALIAS LOC,LOCCAN,LOCDQ
 ENTRY IEFLOCDQ
 NAME  IEFLOCDQ(R)
ESD                         IFG0192Z                               CT210001
TXT          	ٍnk wmm"Pmj -KڒK
CT210002
TXT         o ^{ j{&K	Q0ٌK	\K	 0ٶK	 ^ { CT210003
TXT            썔 K ~K^^K^
K^{ n {٭K^{K^{CT210004
TXT   y      0^K^{ 0n. On    0[0bCT210005
TXT   \      K^Ϻ &  k  & k   ӻ	VnU 8K \  CT210006
TXT        0&K^0Un   0$ڦN h<N m*KCT210007
TXT  &      ^K ^0UN ƆںN :K^Ϻ 0U 0[N { CT210008
TXT  h       ASPOASPIJESIJESO     ASP   IECASP0 XXX IS   3B      CT210009
TXT  {                                                              CT210010
TXT  8                                                              CT210011
TXT                                                                CT210012
TXT                                                                CT210013
TXT                                                                CT210014
TXT  Q                                                              CT210015
TXT                                                                CT210016
TXT                                                                CT210017
TXT                                                                CT210018
TXT                                                                CT210019
TXT  0                  019                                        CT210020
END                            15734AS100 050175185                    CT210021
 NAME  IFG0192Z(R)
/*
//******************************************************************
//VS2ZLPA1.SYSIN DD *
*         CHANGE TAPE OPEN STRING TO INCLUDE CTCOPEN (IFG0192Z)
 NAME    IFG0193A
 VER     04F4  F3C2          MODULE ID OF IFG0193B
 REP     04F4  F2E9          CHANGE TO IFG0192Z
********************************************************************
*        PREVENT WRONG VOLUME MOUNTED PROCESSING FOR CTC DEVICES
 NAME    IFG0194C
 VER     0080  4770,30A8     BNE ODA71200        DEMOUNT WRONG VOLUME
 VER     01C6  0000                              VERIFY PATCH AREA
 REP     0080  4770,31C4     B TO PATCH AREA
 REP     01C6  9504,A011     CLI UCBTBYT2,X'04'  IS IT CTC
 REP     01CA  4770,30A8     BNE ODA71200        NO,DEMOUNT WRONG VOLUME
 REP     01CE  47F0,3106     B ODA71600          ABEND CALLER
********************************************************************
*        PREVENT SENSE OPERATION ON CTC DEVICE BY TAPE OPEN
 NAME    IFG0194H
 VER     027A  45B032FA      BAL RB,OTA14400     DO A SENSE I/O
 VER     0292  4770333C      BO  OTA14800
 VER     03E8  00000000                          VERIFY PATCH AREA
 REP     027A  45B033E6      BAL RB,ASPPATCH     GO TO PATCH AREA
 REP     03E8  9504A011      CLI UCBTBYT2,X'04'  CTC DEVICE?
 REP     03EC  4780333C      BE  OTA14800        YES,SKIP SENSE
 REP     03F0  47F032FA      B   OTA14400        NO,DO THE SENSE
********************************************************************
*        TREAT CTC AS SEPARATE DEV TYPE FOR CONCAT OF UNLIKE DEVICES
 NAME    IFG0552X
 VER     016C  41D000B0      LA  RD,EABD176      LOAD INTERNAL ERR CODE
 VER     0176  477033B2      BNE ECM62800
 VER     0480  00000000                          VERIFY PATCH AREA
 REP     016C  47F0347E      B   ASPPATCH        GO TO PATCH AREA
 REP     0480  41D000B0      LA  RD,EABD176      EXEC OVERLAID INSTR
 REP     0484 9504E011      CLI UCBTBYT2,X'04'  CTC DEVICE?
 REP     0488 478033B2      BE  ECM62800        YES,ABEND USER
 REP     048C  47F0316E      B   MAINSTREAM      RETURN TO PROCESSING
********************************************************************
*        ISSUE ASPSVC FOR UNIT ISOLATION AT ALLOCATION TIME
 NAME    IEFW21SD IEFW21SD
 VER     00A0  5840C010      L   R4,LCTJCTAD     LOAD JCT ADDR FROM LCT
 VER     0520  00000000                          VERIFY EXPANSION
 REP     00A0  47F0951A      B   ASPPATCH        GO TO PATCH AREA
 REP     0520  5840C010      L   R4,LCTJCTAD     LOAD JCT ADDR FROM LCT
 REP     0524  41104008      LA  R1,JCTJNAME     POINT TO JOBNAME
 REP     0528  41F00010      LA  R15,16          SET SVC FUNCTION CODE
 REP     052C  0AF6          SVC 246             ISSUE ASPSVC
 REP     052E  47F0909E      B   MAINLINE        RETURN TO PROCCESSING
********************************************************************
*        ISSUE ASPSVC FOR UNIT ISOLATION AT STEP TERMINATION
 NAME    IEFSD061 IEFW42SD
 VER     0070  915C3005      TM  JCTJSTAT,INCMSTS+ETC ETC
 VER    01A0  00000000                          VERIFY EXPANSION
 REP     0070  47F0919A      B   ASPPATCH        GO TO PATCH AREA
 REP     01A0  41F00014      LA  R15,20          SET SVC FUNCTION CODE
 REP    01A4  41103008      LA  R1,JCTJNAME     POINT TO JOBNAME
 REP     01A8  0AF6          SVC 246             ISSUE ASPSVC
 REP     01AA  915C3005      TM  JCTJSTAT        EXEC OVERLAID INSTR
 REP     01AE  47F0906E      B   MAINLINE        RETURN TO MAINSTREAM
********************************************************************
* THE FOLLOWING CODE BYPASSES REWIND UNLOAD FOR CTC TAPE DEVICES
 NAME    IEFWD000 IEFWD002         MICROFICHE NAME IEFWD000 (21.6)
 VER     006E  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 VER     0400  41101000            VERIFY PATCH AREA
 REP     006E  47F093FE      BR  XPS757               BR TO PATCH
* THE FOLLOWING PATCH OVERLAYS CODE USED FOR PCP ONLY
 REP     0400  9504D011      CLI UCBTBYT2,CTC         IS THIS A CTC
 REP     0404  078E          BCR 8,R14                YES,RETURN
 REP     0406  9140D006      TM  UCBFL2+2,NOTREADY    IS TAPE NOT READY
 REP     040A  071E          BCR CONES,R14            YES,RETURN
 REP     040C  47F09072      B   MAINLINE             GO TO MAINSTREAM
********************************************************************
*        INTERFACE TO ASPSVC FOR WTO MODIFICATION
 NAME    IGC0003E IEAVVWTO
 VER     01E4  5890A03C      L   R9,UCMWQEND     POINT TO LAST WQE
 VER     07D0  00000000                           VERIFY EXPANSION
 REP     01E4  47F0B7D0      B   ASPPATCH        GO TO PATCH
 REP     07D2  1831          LR  R3,R1           SAVE R1 ACROSS SVC
 REP     07D4  41F0000C      LA  R15,12          SET SVC FUNCTION CODE
 REP     07D8  0AF6          SVC 246              ISSUE ASPSVC
 REP     07DA  1813          LR  R1,R3           RESTORE R1 (WQE ADDR)
 REP     07DC  5890A03C      L   R9,UCMWQEND     POINT TO LAST WQE
 REP     07E0  47F0B1E6      B   LINKWQE+4       RETURN TO MAINSTREAM
*        BYPASS NEW LINE CHARACTER CHECK FOR 1052
 VER     01CA  4770B1D0      BNE IEAVNONL
 REP     01CA  47F0B1D0      B   IEAVNONL
********************************************************************
*        ADD MAINTASK NAME TO SYSTEM TASK TABLE
 NAME    IEEVLNKT IEEVLNKT
 VER     0068  00C9C5C6
 REP     0068  D4C1C9D5E3C1E2D2                  MAINTASK
 REP     0070  00C9C5C6E2C4F0F8F000              REPLACE OVERLAID NAME
********************************************************************
*        CHANGE ABDUMP MAX BLKSIZE FROM 1632 TO 882
*        NOTE***ONLY ONE OF THE FOLLOWING TWO ZAPS WILL VERIFY CORRECTLY
 NAME    IGC0005A IEAVAD01
 VER     06CE  0660
 REP     06CE  0372
*        FOLLOWING ZAP ADDED FOR REL 1.7
 NAME    IGC0005A IEAVAD01
 VER     06E2  0660
 REP     06E2  0372
********************************************************************
*        CHANGE ABEND DCB BLKSIZE FROM 1632 TO 882
 NAME    IGC0101C IGC0101C
 VER     077A  0660
 REP     077A  0372
********************************************************************
*        BYPASS TRANSLATION OF MESSAGE FOLLOWING SECOND QUOTE IN TEXT
 NAME    IGC5403D IEE5403D
 VER     0104  478030D4      BE  TRANS1          IF QUOTE GO TRANSLATE
 REP     0104  4780310A      BE  CHKMCS          IF QUOTE SKIP TRANSLATE
********************************************************************
*        REMOVE BACKSPACE CHARACTER CHECK FROM CONSOLE PROCESSOR
 NAME    IGC0007B IEAV1052
 VER     00E0  4780C0EE      BE  PMBKSL
 VER     00F4  4770C102      BNE PMBKSDONE
 REP     00E0  4770          BNE PMBKSL
 REP     00F4  47F0          B   PMBKDONE
********************************************************************
*  NOP R/I SVC 34 FOR EXPRESS CANCEL (1.6)
 NAME    IEFVHA  IEFVHH
 VER     04EA  4780B53A      BE  C9          BRANCH AROUND CANCEL CMD
 REP     04EA  47F0B53A      B   C9
********************************************************************
*        THE FOLLOWING ZAP PREVENTS A 30A ABEND WHEN ASP USES
*        THE O/S READER INTERPRETER
 NAME  IEFVH1
 VER  0194  4720B0FC         BC  2,J02
 REP 0194  4700              NOP
**********************************************************************
*        THE FOLLOWING ZAP IS INCLUDED TO FIX AN O/S PROBLEM IN THE
*        MODULE IEFLOCDQ.  THE PROBLEM WAS ORIGINALLY APARED AS
*        O/S APAR 61912 IN MVT. THE SYMPTOM OF THE PROBLEM IS MSG
*        AQWTR16 JOBNAME N/F OUT OF ASPQWRITR. THE FIX IS INCLUDED HERE
*        AS A CONVENIENCE TO THE ASP USER.
 NAME IEFLOCDQ IEFLOCDQ
 VER     0134  50406064
 VER     0500  00000000
 REP     0134  47F0B4F4
 REP     0500  50406064,4040606A,47F0B12C
/*
//ABENDMON  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ABENDMON
//UP.SYSIN DD *
./ CHANGE NAME=ABENDMON
./       ENDUP
//
//ACCPR     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ACCPR
//UP.SYSIN DD *
./ CHANGE NAME=ACCPR
./       ENDUP
//
//ACDATA    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ACDATA
//UP.SYSIN DD *
./ CHANGE NAME=ACDATA
./       ENDUP
//
//ACDS      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ACDS
//UP.SYSIN DD *
./ CHANGE NAME=ACDS
./       ENDUP
//
//ADEQUEUE  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ADEQUEUE
//UP.SYSIN DD *
./ CHANGE NAME=ADEQUEUE
./       ENDUP
//
//ADSGEN    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ADSGEN
//UP.SYSIN DD *
./ CHANGE NAME=ADSGEN
./       ENDUP
//
//AFSCDRV1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSCDRV1
//UP.SYSIN DD *
./ CHANGE NAME=AFSCDRV1
./       ENDUP
//
//AFSCNSL1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSCNSL1
//UP.SYSIN DD *
./ CHANGE NAME=AFSCNSL1
./       ENDUP
//
//AFSDC     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSDC
//UP.SYSIN DD *
./ CHANGE NAME=AFSDC
./       ENDUP
//
//AFSDRVR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSDRVR
//UP.SYSIN DD *
./ CHANGE NAME=AFSDRVR
./       ENDUP
//
//AFSINIT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSINIT
//UP.SYSIN DD *
./ CHANGE NAME=AFSINIT
./       ENDUP
//
//AFSRCVY   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSRCVY
//UP.SYSIN DD *
./ CHANGE NAME=AFSRCVY
./       ENDUP
//
//AFSRICO1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSRICO1
//UP.SYSIN DD *
./ CHANGE NAME=AFSRICO1
./       ENDUP
//
//AFSTERM   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AFSTERM
//UP.SYSIN DD *
./ CHANGE NAME=AFSTERM
./       ENDUP
//
//AHIO      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AHIO
//UP.SYSIN DD *
./ CHANGE NAME=AHIO
./       ENDUP
//
//AIDADAP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AIDADAP
//UP.SYSIN DD *
./ CHANGE NAME=AIDADAP
./       ENDUP
//
//AIDDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AIDDATA
//UP.SYSIN DD *
./ CHANGE NAME=AIDDATA
./       ENDUP
//
//AIDEND    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AIDEND
//UP.SYSIN DD *
./ CHANGE NAME=AIDEND
./       ENDUP
//
//AIDINISH  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AIDINISH
//UP.SYSIN DD *
./ CHANGE NAME=AIDINISH
./       ENDUP
//
//AIDRSTRT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AIDRSTRT
//UP.SYSIN DD *
./ CHANGE NAME=AIDRSTRT
./       ENDUP
//
//ALDADEL   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ALDADEL
//UP.SYSIN DD *
./ CHANGE NAME=ALDADEL
./       ENDUP
//
//ALOADS    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ALOADS
//UP.SYSIN DD *
./ CHANGE NAME=ALOADS
./       ENDUP
//
//AN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AN
//UP.SYSIN DD *
./ CHANGE NAME=AN
./       ENDUP
//
//AN11      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AN11
//UP.SYSIN DD *
./ CHANGE NAME=AN11
./       ENDUP
//
//AOUTPUT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=AOUTPUT
//UP.SYSIN DD *
./ CHANGE NAME=AOUTPUT
./       ENDUP
//
//ASAVERTN  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASAVERTN
//UP.SYSIN DD *
./ CHANGE NAME=ASAVERTN
./       ENDUP
//
//ASPABEND  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABEND
//UP.SYSIN DD *
./ CHANGE NAME=ASPABEND
./       ENDUP
//
//ASPABNDA  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABNDA
//UP.SYSIN DD *
./ CHANGE NAME=ASPABNDA
./       ENDUP
//
//ASPABNDB  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABNDB
//UP.SYSIN DD *
./ CHANGE NAME=ASPABNDB
./       ENDUP
//
//ASPABNDC  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABNDC
//UP.SYSIN DD *
./ CHANGE NAME=ASPABNDC
./       ENDUP
//
//ASPABNDD  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABNDD
//UP.SYSIN DD *
./ CHANGE NAME=ASPABNDD
./       ENDUP
//
//ASPABNDE  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABNDE
//UP.SYSIN DD *
./ CHANGE NAME=ASPABNDE
./       ENDUP
//
//ASPABNDF  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABNDF
//UP.SYSIN DD *
./ CHANGE NAME=ASPABNDF
./       ENDUP
//
//ASPABND1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND1
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND1
./       ENDUP
//
//ASPABND2  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND2
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND2
./       ENDUP
//
//ASPABND3  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND3
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND3
./       ENDUP
//
//ASPABND4  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND4
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND4
./       ENDUP
//
//ASPABND5  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND5
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND5
./       ENDUP
//
//ASPABND6  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND6
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND6
./       ENDUP
//
//ASPABND7  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND7
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND7
./       ENDUP
//
//ASPABND8  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND8
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND8
./       ENDUP
//
//ASPABND9  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPABND9
//UP.SYSIN DD *
./ CHANGE NAME=ASPABND9
./       ENDUP
//
//ASPAID    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPAID
//UP.SYSIN DD *
./ CHANGE NAME=ASPAID
./       ENDUP
//
//ASPCKPT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPCKPT
//UP.SYSIN DD *
./ CHANGE NAME=ASPCKPT
./       ENDUP
//
//ASPCONTL  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPCONTL
//UP.SYSIN DD *
./ CHANGE NAME=ASPCONTL
./       ENDUP
//
//ASPCTCM   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPCTCM
//UP.SYSIN DD *
./ CHANGE NAME=ASPCTCM
./       ENDUP
//
//ASPDMPRT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPDMPRT
//UP.SYSIN DD *
./ CHANGE NAME=ASPDMPRT
./       ENDUP
//
//ASPFENCE  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPFENCE
//UP.SYSIN DD *
./ CHANGE NAME=ASPFENCE
./       ENDUP
//
//ASPLOC    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPLOC
//UP.SYSIN DD *
./ CHANGE NAME=ASPLOC
./       ENDUP
//
//ASPNEWS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPNEWS
//UP.SYSIN DD *
./ CHANGE NAME=ASPNEWS
./       ENDUP
//
//ASPOPENX  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPOPENX
//UP.SYSIN DD *
./ CHANGE NAME=ASPOPENX
./       ENDUP
//
//ASPQALL   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPQALL
//UP.SYSIN DD *
./ CHANGE NAME=ASPQALL
./       ENDUP
//
//ASPQRDR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPQRDR
//UP.SYSIN DD *
./ CHANGE NAME=ASPQRDR
./       ENDUP
//
//ASPSVC    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPSVC
//UP.SYSIN DD *
./ CHANGE NAME=ASPSVC
./       ENDUP
//
//ASPVER    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPVER
//UP.SYSIN DD *
./ CHANGE NAME=ASPVER
./       ENDUP
//
//ASPVSTAT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPVSTAT
//UP.SYSIN DD *
./ CHANGE NAME=ASPVSTAT
./       ENDUP
//
//ASPWRITR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASPWRITR
//UP.SYSIN DD *
./ CHANGE NAME=ASPWRITR
./       ENDUP
//
//ASUBMIT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ASUBMIT
//UP.SYSIN DD *
./ CHANGE NAME=ASUBMIT
./       ENDUP
//
//CALLDRVR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CALLDRVR
//UP.SYSIN DD *
./ CHANGE NAME=CALLDRVR
./       ENDUP
//
//CALLDSP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CALLDSP
//UP.SYSIN DD *
./ CHANGE NAME=CALLDSP
./       ENDUP
//
//CBPRNT    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CBPRNT
//UP.SYSIN DD *
./ CHANGE NAME=CBPRNT
./       ENDUP
//
//CC        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CC
//UP.SYSIN DD *
./ CHANGE NAME=CC
./       ENDUP
//
//CNT       JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CNT
//UP.SYSIN DD *
./ CHANGE NAME=CNT
./       ENDUP
//
//CONSANAL  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSANAL
//UP.SYSIN DD *
./ CHANGE NAME=CONSANAL
./       ENDUP
//
//CONSAUTH  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSAUTH
//UP.SYSIN DD *
./ CHANGE NAME=CONSAUTH
./       ENDUP
//
//CONSCONS  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSCONS
//UP.SYSIN DD *
./ CHANGE NAME=CONSCONS
./       ENDUP
//
//CONSINPT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSINPT
//UP.SYSIN DD *
./ CHANGE NAME=CONSINPT
./       ENDUP
//
//CONSOLES  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSOLES
//UP.SYSIN DD *
./ CHANGE NAME=CONSOLES
./       ENDUP
//
//CONSQMGR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSQMGR
//UP.SYSIN DD *
./ CHANGE NAME=CONSQMGR
./       ENDUP
//
//CONSRMT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONSRMT
//UP.SYSIN DD *
./ CHANGE NAME=CONSRMT
./       ENDUP
//
//CONS1052  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS1052
//UP.SYSIN DD *
./ CHANGE NAME=CONS1052
./       ENDUP
//
//CONS1053  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS1053
//UP.SYSIN DD *
./ CHANGE NAME=CONS1053
./       ENDUP
//
//CONS1403  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS1403
//UP.SYSIN DD *
./ CHANGE NAME=CONS1403
./       ENDUP
//
//CONS2260  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS2260
//UP.SYSIN DD *
./ CHANGE NAME=CONS2260
./       ENDUP
//
//CONS2740  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS2740
//UP.SYSIN DD *
./ CHANGE NAME=CONS2740
./       ENDUP
//
//CONS3060  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS3060
//UP.SYSIN DD *
./ CHANGE NAME=CONS3060
./       ENDUP
//
//CONS3066  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS3066
//UP.SYSIN DD *
./ CHANGE NAME=CONS3066
./       ENDUP
//
//CONS3277  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS3277
//UP.SYSIN DD *
./ CHANGE NAME=CONS3277
./       ENDUP
//
//CONS3284  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONS3284
//UP.SYSIN DD *
./ CHANGE NAME=CONS3284
./       ENDUP
//
//CONTRAP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CONTRAP
//UP.SYSIN DD *
./ CHANGE NAME=CONTRAP
./       ENDUP
//
//CP        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CP
//UP.SYSIN DD *
./ CHANGE NAME=CP
./       ENDUP
//
//CR        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CR
//UP.SYSIN DD *
./ CHANGE NAME=CR
./       ENDUP
//
//CT        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CT
//UP.SYSIN DD *
./ CHANGE NAME=CT
./       ENDUP
//
//CTCOPN20  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CTCOPN20
//UP.SYSIN DD *
./ CHANGE NAME=CTCOPN20
./       ENDUP
//
//CTCOPN21  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=CTCOPN21
//UP.SYSIN DD *
./ CHANGE NAME=CTCOPN21
./       ENDUP
//
//DC        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DC
//UP.SYSIN DD *
./ CHANGE NAME=DC
./       ENDUP
//
//DEADLINE  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DEADLINE
//UP.SYSIN DD *
./ CHANGE NAME=DEADLINE
./       ENDUP
//
//DELINIT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DELINIT
//UP.SYSIN DD *
./ CHANGE NAME=DELINIT
./       ENDUP
//
//DELTIME   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DELTIME
//UP.SYSIN DD *
./ CHANGE NAME=DELTIME
./       ENDUP
//
//DELWORK   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DELWORK
//UP.SYSIN DD *
./ CHANGE NAME=DELWORK
./       ENDUP
//
//DISPDJC   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DISPDJC
//UP.SYSIN DD *
./ CHANGE NAME=DISPDJC
./       ENDUP
//
//DISPLAY   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DISPLAY
//UP.SYSIN DD *
./ CHANGE NAME=DISPLAY
./       ENDUP
//
//DJ        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJ
//UP.SYSIN DD *
./ CHANGE NAME=DJ
./       ENDUP
//
//DJCDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJCDATA
//UP.SYSIN DD *
./ CHANGE NAME=DJCDATA
./       ENDUP
//
//DJCPROC   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJCPROC
//UP.SYSIN DD *
./ CHANGE NAME=DJCPROC
./       ENDUP
//
//DJCUPDAT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJCUPDAT
//UP.SYSIN DD *
./ CHANGE NAME=DJCUPDAT
./       ENDUP
//
//DJDATA    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJDATA
//UP.SYSIN DD *
./ CHANGE NAME=DJDATA
./       ENDUP
//
//DJIN      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJIN
//UP.SYSIN DD *
./ CHANGE NAME=DJIN
./       ENDUP
//
//DJNETOUT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJNETOUT
//UP.SYSIN DD *
./ CHANGE NAME=DJNETOUT
./       ENDUP
//
//DJOUT     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DJOUT
//UP.SYSIN DD *
./ CHANGE NAME=DJOUT
./       ENDUP
//
//DR        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DR
//UP.SYSIN DD *
./ CHANGE NAME=DR
./       ENDUP
//
//DYNDISP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=DYNDISP
//UP.SYSIN DD *
./ CHANGE NAME=DYNDISP
./       ENDUP
//
//FCB2STAN  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=FCB2STAN
//UP.SYSIN DD *
./ CHANGE NAME=FCB2STAN
./       ENDUP
//
//GETPUTMN  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=GETPUTMN
//UP.SYSIN DD *
./ CHANGE NAME=GETPUTMN
./       ENDUP
//
//GETPUTUN  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=GETPUTUN
//UP.SYSIN DD *
./ CHANGE NAME=GETPUTUN
./       ENDUP
//
//GN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=GN
//UP.SYSIN DD *
./ CHANGE NAME=GN
./       ENDUP
//
//GN11      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=GN11
//UP.SYSIN DD *
./ CHANGE NAME=GN11
./       ENDUP
//
//HN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=HN
//UP.SYSIN DD *
./ CHANGE NAME=HN
./       ENDUP
//
//HN11      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=HN11
//UP.SYSIN DD *
./ CHANGE NAME=HN11
./       ENDUP
//
//IEFQDELE  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IEFQDELE
//UP.SYSIN DD *
./ CHANGE NAME=IEFQDELE
./       ENDUP
//
//IJP       JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IJP
//UP.SYSIN DD *
./ CHANGE NAME=IJP
./       ENDUP
//
//IJPDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IJPDATA
//UP.SYSIN DD *
./ CHANGE NAME=IJPDATA
./       ENDUP
//
//IJPEND    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IJPEND
//UP.SYSIN DD *
./ CHANGE NAME=IJPEND
./       ENDUP
//
//IJPINISH  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IJPINISH
//UP.SYSIN DD *
./ CHANGE NAME=IJPINISH
./       ENDUP
//
//IJPSTART  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IJPSTART
//UP.SYSIN DD *
./ CHANGE NAME=IJPSTART
./       ENDUP
//
//IJPWTR    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IJPWTR
//UP.SYSIN DD *
./ CHANGE NAME=IJPWTR
./       ENDUP
//
//IKJEFFHR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IKJEFFHR
//UP.SYSIN DD *
./ CHANGE NAME=IKJEFFHR
./       ENDUP
//
//IKJEFF53  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IKJEFF53
//UP.SYSIN DD *
./ CHANGE NAME=IKJEFF53
./       ENDUP
//
//INITANAL  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITANAL
//UP.SYSIN DD *
./ CHANGE NAME=INITANAL
./       ENDUP
//
//INITCARD  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITCARD
//UP.SYSIN DD *
./ CHANGE NAME=INITCARD
./       ENDUP
//
//INITCKIO  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITCKIO
//UP.SYSIN DD *
./ CHANGE NAME=INITCKIO
./       ENDUP
//
//INITCNS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITCNS
//UP.SYSIN DD *
./ CHANGE NAME=INITCNS
./       ENDUP
//
//INITDATA  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITDATA
//UP.SYSIN DD *
./ CHANGE NAME=INITDATA
./       ENDUP
//
//INITGEN   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITGEN
//UP.SYSIN DD *
./ CHANGE NAME=INITGEN
./       ENDUP
//
//INITIATE  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITIATE
//UP.SYSIN DD *
./ CHANGE NAME=INITIATE
./       ENDUP
//
//INITIO    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITIO
//UP.SYSIN DD *
./ CHANGE NAME=INITIO
./       ENDUP
//
//INITIOCD  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITIOCD
//UP.SYSIN DD *
./ CHANGE NAME=INITIOCD
./       ENDUP
//
//INITJOB   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITJOB
//UP.SYSIN DD *
./ CHANGE NAME=INITJOB
./       ENDUP
//
//INITMDS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITMDS
//UP.SYSIN DD *
./ CHANGE NAME=INITMDS
./       ENDUP
//
//INITMN1   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITMN1
//UP.SYSIN DD *
./ CHANGE NAME=INITMN1
./       ENDUP
//
//INITMN2   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITMN2
//UP.SYSIN DD *
./ CHANGE NAME=INITMN2
./       ENDUP
//
//INITQUE   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITQUE
//UP.SYSIN DD *
./ CHANGE NAME=INITQUE
./       ENDUP
//
//INITREST  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITREST
//UP.SYSIN DD *
./ CHANGE NAME=INITREST
./       ENDUP
//
//INITRI    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITRI
//UP.SYSIN DD *
./ CHANGE NAME=INITRI
./       ENDUP
//
//INITRJP1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITRJP1
//UP.SYSIN DD *
./ CHANGE NAME=INITRJP1
./       ENDUP
//
//INITRJP2  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITRJP2
//UP.SYSIN DD *
./ CHANGE NAME=INITRJP2
./       ENDUP
//
//INITRTNS  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INITRTNS
//UP.SYSIN DD *
./ CHANGE NAME=INITRTNS
./       ENDUP
//
//INQACSR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQACSR
//UP.SYSIN DD *
./ CHANGE NAME=INQACSR
./       ENDUP
//
//INQBACK   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQBACK
//UP.SYSIN DD *
./ CHANGE NAME=INQBACK
./       ENDUP
//
//INQCONS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQCONS
//UP.SYSIN DD *
./ CHANGE NAME=INQCONS
./       ENDUP
//
//INQDISP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQDISP
//UP.SYSIN DD *
./ CHANGE NAME=INQDISP
./       ENDUP
//
//INQDJC    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQDJC
//UP.SYSIN DD *
./ CHANGE NAME=INQDJC
./       ENDUP
//
//INQDLN    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQDLN
//UP.SYSIN DD *
./ CHANGE NAME=INQDLN
./       ENDUP
//
//INQDRVR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQDRVR
//UP.SYSIN DD *
./ CHANGE NAME=INQDRVR
./       ENDUP
//
//INQMDS    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQMDS
//UP.SYSIN DD *
./ CHANGE NAME=INQMDS
./       ENDUP
//
//INQQUE    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQQUE
//UP.SYSIN DD *
./ CHANGE NAME=INQQUE
./       ENDUP
//
//INQRJP    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INQRJP
//UP.SYSIN DD *
./ CHANGE NAME=INQRJP
./       ENDUP
//
//INTCOM    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=INTCOM
//UP.SYSIN DD *
./ CHANGE NAME=INTCOM
./       ENDUP
//
//IODATA    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IODATA
//UP.SYSIN DD *
./ CHANGE NAME=IODATA
./       ENDUP
//
//IOERREC   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IOERREC
//UP.SYSIN DD *
./ CHANGE NAME=IOERREC
./       ENDUP
//
//IONUC     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IONUC
//UP.SYSIN DD *
./ CHANGE NAME=IONUC
./       ENDUP
//
//IORTNS    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=IORTNS
//UP.SYSIN DD *
./ CHANGE NAME=IORTNS
./       ENDUP
//
//ISDATA    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISDATA
//UP.SYSIN DD *
./ CHANGE NAME=ISDATA
./       ENDUP
//
//ISDLN     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISDLN
//UP.SYSIN DD *
./ CHANGE NAME=ISDLN
./       ENDUP
//
//ISDRVR    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISDRVR
//UP.SYSIN DD *
./ CHANGE NAME=ISDRVR
./       ENDUP
//
//ISDTASET  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISDTASET
//UP.SYSIN DD *
./ CHANGE NAME=ISDTASET
./       ENDUP
//
//ISENDTSK  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISENDTSK
//UP.SYSIN DD *
./ CHANGE NAME=ISENDTSK
./       ENDUP
//
//ISFORMAT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISFORMAT
//UP.SYSIN DD *
./ CHANGE NAME=ISFORMAT
./       ENDUP
//
//ISJCLIN   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISJCLIN
//UP.SYSIN DD *
./ CHANGE NAME=ISJCLIN
./       ENDUP
//
//ISJES     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISJES
//UP.SYSIN DD *
./ CHANGE NAME=ISJES
./       ENDUP
//
//ISJESXIT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISJESXIT
//UP.SYSIN DD *
./ CHANGE NAME=ISJESXIT
./       ENDUP
//
//ISJOBCRD  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISJOBCRD
//UP.SYSIN DD *
./ CHANGE NAME=ISJOBCRD
./       ENDUP
//
//ISLOGIC   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISLOGIC
//UP.SYSIN DD *
./ CHANGE NAME=ISLOGIC
./       ENDUP
//
//ISMAIN    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISMAIN
//UP.SYSIN DD *
./ CHANGE NAME=ISMAIN
./       ENDUP
//
//ISNET     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISNET
//UP.SYSIN DD *
./ CHANGE NAME=ISNET
./       ENDUP
//
//ISPROCES  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISPROCES
//UP.SYSIN DD *
./ CHANGE NAME=ISPROCES
./       ENDUP
//
//ISSEQ     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=ISSEQ
//UP.SYSIN DD *
./ CHANGE NAME=ISSEQ
./       ENDUP
//
//JOBCONTL  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=JOBCONTL
//UP.SYSIN DD *
./ CHANGE NAME=JOBCONTL
./       ENDUP
//
//JOBNUM    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=JOBNUM
//UP.SYSIN DD *
./ CHANGE NAME=JOBNUM
./       ENDUP
//
//JSS       JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=JSS
//UP.SYSIN DD *
./ CHANGE NAME=JSS
./       ENDUP
//
//JSSDR     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=JSSDR
//UP.SYSIN DD *
./ CHANGE NAME=JSSDR
./       ENDUP
//
//LOADOS    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=LOADOS
//UP.SYSIN DD *
./ CHANGE NAME=LOGINOUT
./       ENDUP
//
//LOGINOUT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=LOGINOUT
//UP.SYSIN DD *
./ CHANGE NAME=LOGINOUT
./       ENDUP
//
//MAIN      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MAIN
//UP.SYSIN DD *
./ CHANGE NAME=MAIN
./       ENDUP
//
//MAINIO    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MAINIO
//UP.SYSIN DD *
./ CHANGE NAME=MAINIO
./       ENDUP
//
//MAINTASK  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MAINTASK
//UP.SYSIN DD *
./ CHANGE NAME=MAINTASK
./       ENDUP
//
//MCADATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MCADATA
//UP.SYSIN DD *
./ CHANGE NAME=MCADATA
./       ENDUP
//
//MDSALLOC  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MDSALLOC
//UP.SYSIN DD *
./ CHANGE NAME=MDSALLOC
./       ENDUP
//
//MDSBRKDN  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MDSBRKDN
//UP.SYSIN DD *
./ CHANGE NAME=MDSBRKDN
./       ENDUP
//
//MDSDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MDSDATA
//UP.SYSIN DD *
./ CHANGE NAME=MDSDATA
./       ENDUP
//
//MDSDRIVR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MDSDRIVR
//UP.SYSIN DD *
./ CHANGE NAME=MDSDRIVR
./       ENDUP
//
//MDSREST   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MDSREST
//UP.SYSIN DD *
./ CHANGE NAME=MDSREST
./       ENDUP
//
//MDSVERFY  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MDSVERFY
//UP.SYSIN DD *
./ CHANGE NAME=MDSVERFY
./       ENDUP
//
//MODACC    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODACC
//UP.SYSIN DD *
./ CHANGE NAME=MODACC
./       ENDUP
//
//MODASG    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODASG
//UP.SYSIN DD *
./ CHANGE NAME=MODASG
./       ENDUP
//
//MODCNPR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODCNPR
//UP.SYSIN DD *
./ CHANGE NAME=MODCNPR
./       ENDUP
//
//MODCONS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODCONS
//UP.SYSIN DD *
./ CHANGE NAME=MODCONS
./       ENDUP
//
//MODDJC    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODDJC
//UP.SYSIN DD *
./ CHANGE NAME=MODDJC
./       ENDUP
//
//MODDLN    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODDLN
//UP.SYSIN DD *
./ CHANGE NAME=MODDLN
./       ENDUP
//
//MODDRVR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODDRVR
//UP.SYSIN DD *
./ CHANGE NAME=MODDRVR
./       ENDUP
//
//MODHRQ    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODHRQ
//UP.SYSIN DD *
./ CHANGE NAME=MODHRQ
./       ENDUP
//
//MODMDS    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODMDS
//UP.SYSIN DD *
./ CHANGE NAME=MODMDS
./       ENDUP
//
//MODRJP    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MODRJP
//UP.SYSIN DD *
./ CHANGE NAME=MODRJP
./       ENDUP
//
//MPCDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MPCDATA
//UP.SYSIN DD *
./ CHANGE NAME=MPCDATA
./       ENDUP
//
//MPDDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MPDDATA
//UP.SYSIN DD *
./ CHANGE NAME=MPDDATA
./       ENDUP
//
//MSVCBUP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVCBUP
//UP.SYSIN DD *
./ CHANGE NAME=MSVCBUP
./       ENDUP
//
//MSVDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVDATA
//UP.SYSIN DD *
./ CHANGE NAME=MSVDATA
./       ENDUP
//
//MSVDUMMY  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVDUMMY
//UP.SYSIN DD *
./ CHANGE NAME=MSVDUMMY
./       ENDUP
//
//MSVINIT   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVINIT
//UP.SYSIN DD *
./ CHANGE NAME=MSVINIT
./       ENDUP
//
//MSVIPL    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVIPL
//UP.SYSIN DD *
./ CHANGE NAME=MSVIPL
./       ENDUP
//
//MSVLOCAL  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVLOCAL
//UP.SYSIN DD *
./ CHANGE NAME=MSVLOCAL
./       ENDUP
//
//MSVMVT    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVMVT
//UP.SYSIN DD *
./ CHANGE NAME=MSVMVT
./       ENDUP
//
//MSVOPER1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVOPER1
//UP.SYSIN DD *
./ CHANGE NAME=MSVOPER1
./       ENDUP
//
//MSVOPER2  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVOPER2
//UP.SYSIN DD *
./ CHANGE NAME=MSVOPER2
./       ENDUP
//
//MSVQMAP   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVQMAP
//UP.SYSIN DD *
./ CHANGE NAME=MSVQMAP
./       ENDUP
//
//MSVTERM   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=MSVTERM
//UP.SYSIN DD *
./ CHANGE NAME=MSVTERM
./       ENDUP
//
//NETCONTL  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NETCONTL
//UP.SYSIN DD *
./ CHANGE NAME=NETCONTL
./       ENDUP
//
//NETDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NETDATA
//UP.SYSIN DD *
./ CHANGE NAME=NETDATA
./       ENDUP
//
//NJODATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJODATA
//UP.SYSIN DD *
./ CHANGE NAME=NJODATA
./       ENDUP
//
//NJP       JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJP
//UP.SYSIN DD *
./ CHANGE NAME=NJP
./       ENDUP
//
//NJPCOMM   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJPCOMM
//UP.SYSIN DD *
./ CHANGE NAME=NJPCOMM
./       ENDUP
//
//NJPDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJPDATA
//UP.SYSIN DD *
./ CHANGE NAME=NJPDATA
./       ENDUP
//
//NJPDJ     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJPDJ
//UP.SYSIN DD *
./ CHANGE NAME=NJPDJ
./       ENDUP
//
//NJPINQ    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJPINQ
//UP.SYSIN DD *
./ CHANGE NAME=NJPINQ
./       ENDUP
//
//NJPIO     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJPIO
//UP.SYSIN DD *
./ CHANGE NAME=NJPIO
./       ENDUP
//
//NJPOPEN   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=NJPOPEN
//UP.SYSIN DD *
./ CHANGE NAME=NJPOPEN
./       ENDUP
//
//PCHDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PCHDATA
//UP.SYSIN DD *
./ CHANGE NAME=PCHDATA
./       ENDUP
//
//PCSAN     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PCSAN
//UP.SYSIN DD *
./ CHANGE NAME=PCSAN
./       ENDUP
//
//PCSHN     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PCSHN
//UP.SYSIN DD *
./ CHANGE NAME=PCSHN
./       ENDUP
//
//PN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PN
//UP.SYSIN DD *
./ CHANGE NAME=PN
./       ENDUP
//
//PN11      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PN11
//UP.SYSIN DD *
./ CHANGE NAME=PN11
./       ENDUP
//
//PRINT     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRINT
//UP.SYSIN DD *
./ CHANGE NAME=PRINT
./       ENDUP
//
//PRTDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRTDATA
//UP.SYSIN DD *
./ CHANGE NAME=PRTDATA
./       ENDUP
//
//PRTERROR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRTERROR
//UP.SYSIN DD *
./ CHANGE NAME=PRTERROR
./       ENDUP
//
//PRTINISH  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRTINISH
//UP.SYSIN DD *
./ CHANGE NAME=PRTINISH
./       ENDUP
//
//PRTOUT    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRTOUT
//UP.SYSIN DD *
./ CHANGE NAME=PRTOUT
./       ENDUP
//
//PRTSETUP  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRTSETUP
//UP.SYSIN DD *
./ CHANGE NAME=PRTSETUP
./       ENDUP
//
//PRTTERM   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRTTERM
//UP.SYSIN DD *
./ CHANGE NAME=PRTTERM
./       ENDUP
//
//PRUT      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PRUT
//UP.SYSIN DD *
./ CHANGE NAME=PRUT
./       ENDUP
//
//PUNCH     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PUNCH
//UP.SYSIN DD *
./ CHANGE NAME=PUNCH
./       ENDUP
//
//PURDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PURDATA
//UP.SYSIN DD *
./ CHANGE NAME=PURDATA
./       ENDUP
//
//PURGE     JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=PURGE
//UP.SYSIN DD *
./ CHANGE NAME=PURGE
./       ENDUP
//
//QN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=QN
//UP.SYSIN DD *
./ CHANGE NAME=QN
./       ENDUP
//
//QNC       JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=QNC
//UP.SYSIN DD *
./ CHANGE NAME=QNC
./       ENDUP
//
//RDDATA    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RDDATA
//UP.SYSIN DD *
./ CHANGE NAME=RDDATA
./       ENDUP
//
//RDINISH   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RDINISH
//UP.SYSIN DD *
./ CHANGE NAME=RDINISH
./       ENDUP
//
//RDLOGIC   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RDLOGIC
//UP.SYSIN DD *
./ CHANGE NAME=RDLOGIC
./       ENDUP
//
//RDOPRMS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RDOPRMS
//UP.SYSIN DD *
./ CHANGE NAME=RDOPRMS
./       ENDUP
//
//RESPARAM  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RESPARAM
//UP.SYSIN DD *
./ CHANGE NAME=RESPARAM
./       ENDUP
//
//RIATTACH  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RIATTACH
//UP.SYSIN DD *
./ CHANGE NAME=RIATTACH
./       ENDUP
//
//RICBAM    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RICBAM
//UP.SYSIN DD *
./ CHANGE NAME=RICBAM
./       ENDUP
//
//RICBSCAN  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RICBSCAN
//UP.SYSIN DD *
./ CHANGE NAME=RICBSCAN
./       ENDUP
//
//RICONTL   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RICONTL
//UP.SYSIN DD *
./ CHANGE NAME=RICONTL
./       ENDUP
//
//RIDATA    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RIDATA
//UP.SYSIN DD *
./ CHANGE NAME=RIDATA
./       ENDUP
//
//RIEXITS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RIEXITS
//UP.SYSIN DD *
./ CHANGE NAME=RIEXITS
./       ENDUP
//
//RIFETCH   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RIFETCH
//UP.SYSIN DD *
./ CHANGE NAME=RIFETCH
./       ENDUP
//
//RISERVX   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RISERVX
//UP.SYSIN DD *
./ CHANGE NAME=RISERVX
./       ENDUP
//
//RJP       JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJP
//UP.SYSIN DD *
./ CHANGE NAME=RJP
./       ENDUP
//
//RJPMAIN1  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPMAIN1
//UP.SYSIN DD *
./ CHANGE NAME=RJPMAIN1
./       ENDUP
//
//RJPMAIN2  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPMAIN2
//UP.SYSIN DD *
./ CHANGE NAME=RJPMAIN2
./       ENDUP
//
//RJPMAIN3  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPMAIN3
//UP.SYSIN DD *
./ CHANGE NAME=RJPMAIN3
./       ENDUP
//
//RJPMAIN4  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPMAIN4
//UP.SYSIN DD *
./ CHANGE NAME=RJPMAIN4
./       ENDUP
//
//RJPMAIN5  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPMAIN5
//UP.SYSIN DD *
./ CHANGE NAME=RJPMAIN5
./       ENDUP
//
//RJPMAIN6  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPMAIN6
//UP.SYSIN DD *
./ CHANGE NAME=RJPMAIN6
./       ENDUP
//
//RJPSNPS   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RJPSNPS
//UP.SYSIN DD *
./ CHANGE NAME=RJPSNPS
./       ENDUP
//
//RN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=RN
//UP.SYSIN DD *
./ CHANGE NAME=RN
./       ENDUP
//
//SN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=SN
//UP.SYSIN DD *
./ CHANGE NAME=SN
./       ENDUP
//
//TC        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TC
//UP.SYSIN DD *
./ CHANGE NAME=TC
./       ENDUP
//
//TD        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TD
//UP.SYSIN DD *
./ CHANGE NAME=TD
./       ENDUP
//
//TL        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TL
//UP.SYSIN DD *
./ CHANGE NAME=TL
./       ENDUP
//
//TN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TN
//UP.SYSIN DD *
./ CHANGE NAME=TN
./       ENDUP
//
//TN11      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TN11
//UP.SYSIN DD *
./ CHANGE NAME=TN11
./       ENDUP
//
//TP        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TP
//UP.SYSIN DD *
./ CHANGE NAME=TP
./       ENDUP
//
//TPRDATA   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TPRDATA
//UP.SYSIN DD *
./ CHANGE NAME=TPRDATA
./       ENDUP
//
//TPRERROR  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TPRERROR
//UP.SYSIN DD *
./ CHANGE NAME=TPRERROR
./       ENDUP
//
//TPRINISH  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TPRINISH
//UP.SYSIN DD *
./ CHANGE NAME=TPRINISH
./       ENDUP
//
//TPROUT    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TPROUT
//UP.SYSIN DD *
./ CHANGE NAME=TPROUT
./       ENDUP
//
//TPRTERM   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TPRTERM
//UP.SYSIN DD *
./ CHANGE NAME=TPRTERM
./       ENDUP
//
//TR        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TR
//UP.SYSIN DD *
./ CHANGE NAME=TR
./       ENDUP
//
//TRACKS    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TRACKS
//UP.SYSIN DD *
./ CHANGE NAME=TRACKS
./       ENDUP
//
//TRCERTN   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TRCERTN
//UP.SYSIN DD *
./ CHANGE NAME=TRCERTN
./       ENDUP
//
//TT        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TT
//UP.SYSIN DD *
./ CHANGE NAME=TT
./       ENDUP
//
//TVTCSECT  JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=TVTCSECT
//UP.SYSIN DD *
./ CHANGE NAME=TVTCSECT
./       ENDUP
//
//VARY      JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=VARY
//UP.SYSIN DD *
./ CHANGE NAME=VARY
./       ENDUP
//
//WTDDRVR   JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=WTDDRVR
//UP.SYSIN DD *
./ CHANGE NAME=WTDDRVR
./       ENDUP
//
//WTDJCT    JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=WTDJCT
//UP.SYSIN DD *
./ CHANGE NAME=WTDJCT
./       ENDUP
//
//XN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=XN
//UP.SYSIN DD *
./ CHANGE NAME=XN
./       ENDUP
//
//YN        JOB 1,ASP,REGION=50K                  DELTA  320
//STEP1  EXEC PROC=ASPUPASM,LEVEL=320,MODULE=YN
//UP.SYSIN DD *
./ CHANGE NAME=YN
./       ENDUP
//
//ASP320 JOB ASP,ASPV32,REGION=300K,PRTY=13,CLASS=J,ADDRSPC=REAL
//JOBLIB   DD UNIT=3330,VOL=SER=ASP320,DISP=SHR,DSN=ASP.VERSON32
//GOSTEP EXEC PGM=ASPNUC,TIME=1440
//QUEUE1   DD  UNIT=2314,DISP=OLD,VOL=SER=ASPQVS,DSN=ASP.QUE1
//CHKPNT   DD  UNIT=2314,DISP=OLD,VOL=SER=ASPQVS,DSN=ASP.CHK1
//ASPOUT   DD  UNIT=010
//ASPSNAP  DD UNIT=AFF=ASPOUT,DCB=BLKSIZE=882
//ASPABEND DD SYSOUT=A,SPACE=(CYL,(10,2)),DCB=BLKSIZE=882
//SYSABEND DD SYSOUT=A,SPACE=(CYL,(10,2)),DCB=BLKSIZE=882
//ASPSADMP DD UNIT=AFF=ASPOUT
//IEFRDER  DD DUMMY
//IEFDATA  DD DUMMY
//IEFPDSI  DD DSN=SYS1.PROCLIB,DISP=SHR
//         DD DSN=SYS1.APTPROCS,DISP=SHR
//NJPL0    DD UNIT=050
//NJPL2    DD UNIT=052
//ASPDRDS  DD DISP=SHR,DSN=ASP.DRDS
//         DD DISP=SHR,DSN=ASP.TESTLIB
//ASPIN    DD DATA
COLDSTART                                                               00001000
*---------------------------------------------------------------------  00002000
*              ASPIO                                                    00003000
*---------------------------------------------------------------------  00004000
TRACK,DDNAME=QUEUE1                                                     00005000
BUFFER,BUFSIZE=1020,RECORDS=6,IOBS=3,DASD=2314,AMOUNT=20,TAT=HALF       00006000
OPTIONS,ADDSAVE=32,DUMP=ASP,TRACE=200                                   00007000
ASPCORE,MINCORE=14K,MARGCORE=20K,ASPOOL=1                               00008000
ENDASPIO                                                                00009000
*---------------------------------------------------------------------  00010000
*              JOB SELECTION MODES FOR MAINS                            00011000
*---------------------------------------------------------------------  00012000
SELECT,NAME=SY1,CLASS=/MFG,MINIT=6,                                    +00013000
MBAR=10,DISPLAY=MLOG,SBAR=10,SDEPTH=20                                  00014000
SELECT,NAME=SY2,CLASS=/(MFG,LCS),MINIT=8,                              +00015000
MBAR=10,DISPLAY=MLOG,SBAR=10,SDEPTH=20                                  00016000
SELECT,NAME=SY3,CLASS=/(MFG,LCS),MINIT=3,                              +00017000
MBAR=10,DISPLAY=MLOG,SBAR=10,SDEPTH=20                                  00018000
*---------------------------------------------------------------------  00019000
*              SY1 REAL MAIN                                            00020000
*---------------------------------------------------------------------  00021000
MAINPROC,NAME=SY1,ID=SY1,MDEST=M1,SYSTEM=REAL,ADAPTER=270,MAINCTC=270, +00022000
SELECT=SY1,CTCCUA=(7,8),JOBCLASS=(B,C),QFORMAT=YES                      00023000
DEVICE,STYPE=MAIN,GTYPE=SYS,SUPPORT=(270,SY1,M1,OFF)                    00024000
*---------------------------------------------------------------------  00025000
*              SY2 LOCAL MAIN                                           00026000
*---------------------------------------------------------------------  00027000
MAINPROC,NAME=SY2,ID=SY2,MDEST=M2,SYSTEM=LOCAL,ADAPTER=370,MAINCTC=370,+00028000
SELECT=SY2,CTCCUA=(7,8),JOBCLASS=(B,C)                                  00029000
DEVICE,STYPE=MAIN,GTYPE=SYS,SUPPORT=(370,SY2,M2,OFF)                    00030000
*---------------------------------------------------------------------  00031000
*              SY3 REAL MAIN                                            00032000
*---------------------------------------------------------------------  00033000
MAINPROC,NAME=SY3,ID=SY3,MDEST=M3,SYSTEM=REAL,ADAPTER=170,MAINCTC=270, +00034000
SELECT=SY3,CTCCUA=(7,8),JOBCLASS=(B,C),QFORMAT=YES                      00035000
DEVICE,STYPE=MAIN,GTYPE=SYS,SUPPORT=(NONE,SY3,,OFF)                     00036000
*---------------------------------------------------------------------  00037000
*              CLASS AND GROUP DEFINITION                               00038000
*---------------------------------------------------------------------  00039000
CLASS,NAME=B,GROUP=ASPMFG                                               00040000
CLASS,NAME=C,GROUP=ASPMFG                                               00041000
CLASS,NAME=MFG,GROUP=ASPMFG                                             00042000
CLASS,NAME=LCS,GROUP=SY1                                                00043000
GROUP,NAME=SY1,EXRESC=(SY1,3,850K,IPL,MANUAL),PRTY=1                    00044000
GROUP,NAME=ASPMFG,EXRESC=(SY1,3,,IPL,MANUAL),PRTY=1,                   +00045000
EXRESC=(SY2,8,,IPL,MANUAL),                                            +00046000
EXRESC=(SY3,3,,IPL,MANUAL)                                              00047000
*---------------------------------------------------------------------  00048000
*              SY1 AND SY2 DEVICES                                      00049000
*---------------------------------------------------------------------  00050000
DEVICE,STYPE=24009,GTYPE=TA9,GNAME=LOCAL,SUPPORT=(180,T91,LOG,OFF),    +00051000
MSTATUS=(TA),MTYPE=24009,MAIN=(180,SY1,S3,,180,SY2,S5,OFF)              00052000
DEVICE,STYPE=24009,GTYPE=TA9,GNAME=LOCAL,SUPPORT=(181,T92,LOG,OFF),    X00053000
MSTATUS=(TA),MTYPE=24009,MAIN=(181,SY1,S3,ON,181,SY2,S5,OFF)            00054000
DEVICE,MTYPE=24009,MAIN=(1A1,SY1,S3,OFF,1A1,SY2,S5),STYPE=24009,       +00055000
GTYPE=TA9,GNAME=LOCAL,SUPPORT=(1A1,T94,LOG)                             00056000
DEVICE,STYPE=24009,GTYPE=TA9,GNAME=LOCAL,SUPPORT=(1A0,T93,LOG),        +00057000
MTYPE=24009,MAIN=(1A0,SY1,S3,OFF,1A0,SY2,S5)                            00058000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(130,SY2,S4,,230,SY1,S2)              00059000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(131,SY2,S4,,231,SY1,S2)              00060000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(132,SY2,S4,,232,SY1,S2)              00061000
DEVICE,MTYPE=DAC1,MSTATUS=(DA,ND),MAIN=(133,SY2,S4,,233,SY1,S2,OFF)     00062000
DEVICE,MTYPE=DAC1,MSTATUS=(DA,ND),MAIN=(134,SY2,S4,,234,SY1,S2,OFF)     00063000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(135,SY2,S4,OFF,235,SY1,S2)           00064000
DEVICE,MTYPE=DAC1,MSTATUS=(DA,ND),MAIN=(136,SY2,S4,,236,SY1,S2,OFF)     00065000
DEVICE,MTYPE=DAC1,MSTATUS=(DA,ND),MAIN=(137,SY2,S4,,237,SY1,S2,OFF)     00066000
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(230,SY2,S4,,130,SY1,S2)              00067000
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(231,SY2,S4,,131,SY1,S2,,131,SY3,S6)  00068000
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(232,SY2,S4,,132,SY1,S2)              00069000
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(233,SY2,S4,,133,SY1,S2,,133,SY3,S6)  00070000
DEVICE,MTYPE=DAC2,MSTATUS=(DA,ND),MAIN=(234,SY2,S4,,134,SY1,S2,OFF)     00071000
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(235,SY2,S4,,135,SY1,S2)              00072000
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(236,SY2,S4,,136,SY1,S2)              00072100
DEVICE,MTYPE=DAC2,MSTATUS=DA,MAIN=(237,SY2,S4,,137,SY1,S2)              00072200
*---------------------------------------------------------------------  00073000
*              SY3 DEVICES                                              00074000
*---------------------------------------------------------------------  00075000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(130,SY3,S6)                          00076000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(131,SY3,S6)                          00077000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(132,SY3,S6)                          00078000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(133,SY3,S6)                          00079000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(134,SY3,S6)                          00080000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(135,SY3,S6)                          00081000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(136,SY3,S6)                          00082000
DEVICE,MTYPE=DAC1,MSTATUS=DA,MAIN=(137,SY3,S6)                          00083000
DEVICE,MTYPE=3330,MSTATUS=DA,MAIN=(350,SY3,S6,OFF)                      00084000
DEVICE,MTYPE=3330,MSTATUS=DA,MAIN=(351,SY3,S6,OFF)                      00085000
DEVICE,MTYPE=3330,MSTATUS=DA,MAIN=(352,SY3,S6,OFF)                      00086000
DEVICE,MTYPE=3330,MSTATUS=DA,MAIN=(353,SY3,S6,OFF)                      00087000
DEVICE,MTYPE=24009,MAIN=(280,SY3,S7)                                    00088000
DEVICE,MTYPE=24009,MAIN=(281,SY3,S7)                                    00089000
DEVICE,MTYPE=24009,MAIN=(282,SY3,S7)                                    00090000
DEVICE,MTYPE=24009,MAIN=(283,SY3,S7)                                    00091000
*---------------------------------------------------------------------  00092000
*              MDS                                                      00093000
*---------------------------------------------------------------------  00094000
SETNAME,MTYPE=DAC2,NAMES=(2314,SYSDA,SYSDX,DA2,DA1,DISKCH2)             00095000
SETNAME,MTYPE=3330,NAMES=3330                                           00096000
SETNAME,MTYPE=24009,NAMES=(TAPE9,2400,2400-3,SYSSQ)                     00097000
SETNAME,MTYPE=FAKETAPE,NAMES=SY1CTCTP                                   00098000
SETNAME,MTYPE=DAC1,NAMES=(DA2)                                          00099000
SETNAME,MTYPE=DAC1,NAMES=(2314,SYSDA,SYSDX,DA1,DISKCH1)                 00100000
SETPARAM,DEPTH=100,ALLOCATE=AUTO,ADDRSORT=YES,MDSLOG=S1,REMOUNT=1       00101000
*---------------------------------------------------------------------  00102000
*              READER/INTERPRETER                                       00103000
*---------------------------------------------------------------------  00104000
DEVICE,STYPE=OSRDR,SUPPORT=(NONE,RI1),GTYPE=ARI                         00105000
DEVICE,STYPE=OSRDR,SUPPORT=(NONE,RI2),GTYPE=ARI                         00105100
RIDATSTN,SYS1.PROCLIB,SYS1.LINKLIB,SYS1.MACLIB,SYS1.SVCLIB              00106000
RIDATSTN,ASP.PSGLIB,ASP.MACINT,ASP.MACDUMMY,ASP.SOURCE                  00107000
RI,BLDL=(ASMFC,ASMFCL,ASMFCLG,ASPUPASM),TAFETCH=S8,DAFETCH=S9           00108000
RIPARM,PARM=(00099905001024905231SYSDA   E00011A)                       00109000
*---------------------------------------------------------------------  00110000
*              CONSOLES                                                 00111000
*---------------------------------------------------------------------  00112000
CONSOLE,DDNAME=CN1,TYPE=3215,UNIT=01F,DEPTH=99,DEST=OUTPUT,MAIN=SY2     00113000
CONSOLE,DDNAME=CN2260,TYPE=2260,UNIT=041,DEST=NONE,TIME=0               00114000
CONSOLE,DDNAME=CN40,TYPE=2260,UNIT=040,DEST=TP,TIME=0                   00115000
CONSOLE,DDNAME=CNPR1,TYPE=1403,UNIT=00E,DEST=(MLG),DEPTH=20             00116000
CONSOLE,DDNAME=CNPR2,TYPE=3211,UNIT=010,DEST=NONE,DEPTH=20              00117000
CONSOLE,DDNAME=CNL,TYPE=2740,UNIT=061,DEPTH=50,DEST=NONE                00118000
CONSOLE,DDNAME=CNR,TYPE=2740,UNIT=062,DEPTH=50,DEST=NONE                00119000
CONSOLE,DDNAME=CN70,TYPE=3277,UNIT=070,TIME=0,DEST=OUTPUT,ALTCON=CN72   00120000
CONSOLE,DDNAME=CN72,TYPE=3277,UNIT=072,TIME=0,DEST=NONE                 00121000
*---------------------------------------------------------------------  00122000
*              PROGRAM FUNCTION KEY DEFINITION                          00123000
*---------------------------------------------------------------------  00124000
PFK,K=1,M=<*I Q,N=ALL>                                                  00125000
PFK,K=2,M=<*I D,D=(133,134,136,137,234)>                                00126000
PFK,K=3,M=<*X CR,IN=RD2>                                                00127000
PFK,K=4,M=<*X CR>                                                       00128000
PFK,K=5,M=<*V (133,134,136,137,234),ON,SY2>                             00129000
PFK,K=6,M=<*V (233,234,236,237,134),ON,SY1>                             00130000
PFK,K=7,M=<*I Q>                                                        00131000
PFK,K=8,M=<*I A,SY2>                                                    00132000
PFK,K=9,M=<*I Q,S>                                                      00133000
PFK,K=10,E=NO,M=<*I J=>                                                 00134000
PFK,K=11,E=NO,M=<*F J=>                                                 00135000
PFK,K=12,M=<*I B>                                                       00136000
*---------------------------------------------------------------------  00137000
*              SUPPORT DEVICES                                          00138000
*---------------------------------------------------------------------  00139000
DEVICE,GTYPE=RDR,STYPE=3505,SUPPORT=(00C,RD1,UR)                        00140000
DEVICE,GTYPE=PUN,STYPE=3525I,SUPPORT=(00D,PU1,UR)                       00141000
DEVICE,STYPE=2540P,GTYPE=PUN,GNAME=LOCAL,SUPPORT=(03A,PU2,UR,OFF)       00142000
DEVICE,STYPE=2540R,GTYPE=RDR,GNAME=LOCAL,SUPPORT=(039,RD2,UR,OFF)       00143000
DEVICE,STYPE=1403,GTYPE=PRT,SUPPORT=(00E,PR1,UR,OFF),GNAME=LOCAL        00144000
DEVICE,STYPE=3211,GTYPE=PRT,SUPPORT=(010,PR2,UR)                        00145000
DEVICE,STYPE=1403,GTYPE=PRT,SUPPORT=(038,PR3,UR,OFF),GNAME=LOCAL        00146000
DEVICE,STYPE=1403,GTYPE=PRT,SUPPORT=(03B,PR4,UR,OFF)                    00147000
DEVICE,STYPE=IJMP,SUPPORT=(NONE,IJSY1),GTYPE=IJM                        00148000
DEVICE,STYPE=IJMP,SUPPORT=(NONE,IJSY2),GTYPE=IJM                        00149000
DEVICE,STYPE=IJMP,SUPPORT=(NONE,IJSY3),GTYPE=IJM                        00150000
DEVICE,STYPE=IJMP,SUPPORT=(NONE,IJSY4),GTYPE=IJM                        00151000
DEVICE,STYPE=ACMP,SUPPORT=(NONE,ACSY1),GTYPE=ACM                        00152000
DEVICE,STYPE=ACMP,SUPPORT=(NONE,ACSY2),GTYPE=ACM                        00153000
DEVICE,MTYPE=FAKETAPE,MAIN=(37F,SY1)                                    00154000
*---------------------------------------------------------------------  00155000
*              PRINT SETUP                                              00156000
*---------------------------------------------------------------------  00157000
PRINTER,NAME=PR1,UCS=YES,FORMS=(YES,1PART),CARRIAGE=6#IN,              +00158000
TRAIN=(NO,PN)                                                           00159000
PRINTER,NAME=PR2,UCS=YES,FORMS=(YES,1PART),CARRIAGE=6#IN,              +00160000
TRAIN=(NO,PN),TYPE=3211,BUFDED=YES                                      00161000
PRINTER,NAME=PR3,UCS=YES,FORMS=(YES,1PART),CARRIAGE=6#IN,              +00162000
TRAIN=(NO,PN)                                                           00163000
PRINTER,NAME=PR4,UCS=YES,FORMS=(YES,1PART),CARRIAGE=6#IN,              +00164000
TRAIN=(NO,TN)                                                           00165000
SYSOUT,CLASS=A                                                          00166000
SYSOUT,CLASS=B,TYPE=PUNCH,COPIES=1                                      00167000
SYSOUT,CLASS=C                                                          00168000
SYSOUT,CLASS=I,TYPE=DSISO                                               00169000
SYSOUT,CLASS=R,TYPE=DSISO                                               00170000
SYSOUT,CLASS=S,TYPE=TSO                                                 00171000
SYSOUT,CLASS=T,TYPE=TSO                                                 00172000
SYSOUT,CLASS=2,COPIES=2,TYPE=PRINT                                      00173000
SYSOUT,CLASS=4                                                          00174000
*---------------------------------------------------------------------  00175000
*              RESIDENCY OPTIONS                                        00176000
*---------------------------------------------------------------------  00177000
RESCTLBK,RQ=10,ASG=10,FCT=05,VUT=05                                     00178000
RESIDENT,MODULE=JSS                                                     00179000
RESIDENT,MODULE=MDSALLOC                                                00180000
RESIDENT,MODULE=ISNET                                                   00181000
RESIDENT,MODULE=DJCUPDAT                                                00182000
RESIDENT,MODULE=RICBSCAN                                                00183000
*---------------------------------------------------------------------  00184000
*              STANDARDS                                                00185000
*---------------------------------------------------------------------  00186000
STANDARDS,LINES=(1,W),CARDS=(5,W),FORMS=1PART,CARRIAGE=6#IN,           +00187000
TRAIN=PN,FLOCATE=YES,DLOCATE=YES,CLASS=B,                              +00188000
NOPU=H,                                                                X00189000
SEQCHK=YES,                                                            X00190000
SQS=3K,NJPNAME=LAX,CONSBUF=20,MLOG=YES                                  00191000
*---------------------------------------------------------------------  00192000
*              RJP                                                      00193000
*---------------------------------------------------------------------  00194000
CONSOLE,DDNAME=LINE00,TYPE=RJP,DEPTH=20                                 00195000
CONSOLE,DDNAME=LINE01,TYPE=RJP,DEPTH=20                                 00195100
CONSOLE,DDNAME=LINE02,TYPE=RJP,DEPTH=20                                 00196000
CONSOLE,DDNAME=LINE03,TYPE=RJP,DEPTH=20                                 00197000
CONSOLE,DDNAME=LINE00B,TYPE=RJP                                         00198000
CONSOLE,DDNAME=LINE02B,TYPE=RJP                                         00199000
RJPLINE,N=LINE00,A=050                                                  00200000
RJPLINE,N=LINE00B,A=050,I=B                                             00201000
RJPLINE,N=LINE01,A=051                                                  00202000
RJPLINE,N=LINE02,A=052                                                  00203000
RJPLINE,N=LINE02B,A=052,I=B                                             00204000
RJPLINE,N=LINE03,A=053                                                  00205000
RJPTERM,N=SY360,T=S360,RD=1,PU=1,PR=1,B=400,C=10                        00206000
RJPTERM,N=REMOT,T=S360,RD=1,PU=1,PR=1,B=400,C=10                        00207000
RJPTERM,N=T2780,T=2780,RD=1,PU=1,PR=1,B=400,F=XBUF                      00208000
RJPTERM,N=T3780,T=3780,RD=1,PU=1,PR=1,B=512,F=XBUF,F=PRES               00209000
RJPTERM,N=T1130,T=1130,RD=1,PU=1,PR=1,B=400,C=10                        00210000
*---------------------------------------------------------------------  00211000
*              NJP                                                      00212000
*---------------------------------------------------------------------  00213000
NJPTERM,NAME=LAX,BLKSIZE=1036,LINES=(NJPL2,A),(NJPL0,A)                 00214000
DEVICE,STYPE=LINE,SUPPORT=(050,NJPL0),GTYPE=NJP                         00215000
DEVICE,STYPE=LINE,SUPPORT=(052,NJPL2),GTYPE=NJP                         00216000
*---------------------------------------------------------------------  00217000
*              DEADLINE SCHEDULING                                      00218000
*---------------------------------------------------------------------  00219000
DEADLINE,A=(10,1M,+1,1M),B=(+1,2H,14,1H),C=(14,1M),D=(12,1M,+5,1M)      00220000
*                                                                       00221000
ENDINISH                                                                00222000
*---------------------------------------------------------------------  00223000
*              IPL TEXT  FOR SY1 REAL MAIN  (MVT)                       00224000
*---------------------------------------------------------------------  00225000
IPL,NAME=SY1,TYPE=MVT                                                   00226000
R=IEA101A                                                               00227000
S=R 00,'U'                                                              00228000
S=SET DATE                                                              00229000
R=** IEC107D                                                            00230000
S=R **,'U'                                                              00231000
R=** IEF423A                                                            00232000
S=R **,'U'                                                              00233000
*---------------------------------------------------------------------  00234000
*              IPL TEXT FOR SY2 LOCAL MAIN  (MVT)                       00235000
*---------------------------------------------------------------------  00236000
IPL,NAME=SY2,TYPE=MVT                                                   00237000
*---------------------------------------------------------------------  00238000
*              IPL TEXT FOR SY2 LOCAL MAIN  (VS2)                       00239000
*---------------------------------------------------------------------  00240000
IPL,NAME=SY2,TYPE=VS2                                                   00241000
*---------------------------------------------------------------------  00242000
*              IPL TEXT  FOR SY3 REAL MAIN  (MVT)                       00243000
*---------------------------------------------------------------------  00244000
IPL,NAME=SY3,TYPE=MVT                                                   00245000
R=IEA101A                                                               00246000
S=R **,'U'                                                              00247000
S=SET DATE                                                              00248000
R=** IEC107D                                                            00249000
S=R **,'U'                                                              00250000
R=** IEF423A                                                            00251000
S=R **,'U'                                                              00252000
*---------------------------------------------------------------------  00253000
*              IPL TEXT  FOR SY3 REAL MAIN  (VS2)                       00254000
*---------------------------------------------------------------------  00255000
IPL,NAME=SY3,TYPE=VS2                                                   00256000
R=IEA101A                                                               00257000
S=R 00,'U'                                                              00258000
R=IEA336A                                                               00259000
S=R 00,' '                                                              00260000
R=IEA335A                                                               00261000
S=R 00,'PAGE=(U=352)'                                                   00262000
S=SET DATE                                                              00263000
R=** IEF423A                                                            00264000
S=R **,U                                                                00265000
R=** IFB010D                                                            00266000
S=R **,U                                                                00267000
R=** IEC107D                                                            00268000
S=R **,U                                                                00269000
R=** IEE357A                                                            00270000
S=R **,U                                                                00271000
R=** IEC107D                                                            00272000
S=R **,U                                                                00273000
IPL,END                                                                 00274000
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//CONVERTT JOB  ASP,ASPV32,MSGLEVEL=1                                   00001000
//STEP1 EXEC  PGM=IEUASM,PARM='LOAD,LIST'                               00002000
//SYSLIB   DD  DSNAME=SYS1.MACLIB,DISP=SHR                              00003000
//SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(1,2))                             00004000
//SYSUT2   DD  UNIT=SYSDA,SPACE=(CYL,(1,2))                             00005000
//SYSUT3   DD  UNIT=SYSDA,SPACE=(CYL,(1,2))                             00006000
//SYSPRINT DD  SYSOUT=A                                                 00007000
//SYSPUNCH DD  SYSOUT=B                                                 00008000
//SYSGO    DD  DSNAME=&LOADSET,UNIT=SYSDA,                              00009000
//             SPACE=(80,(100,50)),DISP=(,PASS)                         00010000
//SYSIN    DD  *                                                        00011000
         TITLE 'SYSGEN TAPE CONVERT PROGRAM'                            00001000
*        THE PURPOSE OF THIS PROGRAM IS TO CREATE A TAPE SUITABLE FOR   00002000
*        RUNNING STAGE II OF AN OS SYSGEN FOR AN ASP SYSTEM.            00003000
*        INPUT TO THE PROGRAM IS A TAPE CREATED AS SYSPUNCH BY STAGE I  00004000
*        OF OS SYSGEN                                                   00005000
*        BASICALLY THE PROGRAM READS THE INPUT TAPE CONSISTING OF       00006000
*        SYSGEN JCL AND MAKES MODIFICATIONS AND INSERTIONS TO THE       00007000
*        JOB STREAM                                                     00008000
*        SOME OF THE MODIFICATIONS ARE OPTIONAL BASED ON EXEC CARD      00009000
*        PARAMETERS, OTHERS ARE INCLUDED AUTOMATICALLY. A LIST OF       00010000
*        PROGRAM ACTIONS FOLLOWS.                                       00011000
*        1.PROGRAM SCANS BEGINING OF INPUT TAPE TO FIND IF A JOB CARD   00012000
*          IS SUPPLIED AND IF NOT CREATES A JOB CARD                    00013000
*        2.PROGRAM LOOKS FOR AND MUST FIND //SYSLIB CARDS TO BE USED    00014000
*          BY NIP AND IOS ASSEMBLIES TO INCLUDE ASP PREGEN MODIFIED     00015000
*          MACROS.THESE CARDS ARE SUPPLIED BY THE USER WITH REPRO CARDS 00016000
*          IN HIS STAGE I DECK. THESE SYSLIB CARDS ARE SAVED FOR LATER  00017000
*          INSERTION IN THE OUTPUT TAPE. IF NOT FOUND,THE CONVERT PROG  00018000
*          ABENDS                                                       00019000
*        3.SEPARATE JOB CARDS ARE INSERTED AT EACH STEP OF THE SYSGEN   00020000
*          USING EITHER THE USER SUPPLIED JOB CARD OR INTERNALLY CREATE 00021000
*          JOB CARD. THE NAME FIELD IS MODIFIED USING THE STEP NUMBER   00022000
*          TO UNIQUELY IDENTIFY EACH JOB.THIS FUNCTION MAY BE           00023000
*          OVER RIDDEN WITH AN EXEC CARD PARAMETER.                     00024000
*        4.//SYSPRINT CARDS ARE ALTERED SO THAT SYSOUT=A APPEARS        00025000
*          ON THE FIRST CARD RATHER THAN THE THIRD AND THE BLOCKSIZE    00026000
*          IS ALTERED TO CONFORM TO MINIMUM ASP BUFFER SIZE IF IT IS    00027000
*          LARGER. THIS MODIFICATION ALLOWS THE SYSGEN TO BE RUN ON     00028000
*          AN ASP SYSTEM                                                00029000
*        5.A SEARCH IS MADE FOR THE STEPS WHICH ASSEMBLE IOS AND NIP.   00030000
*          WHEN FOUND THE FIRST SYSLIB CARD IS REPLACED BY THE SYSLIB   00031000
*          CARDS WHICH WERE SUPPLIED BY THE USER AS MENTIONED ABOVE.    00032000
*        6.A SEARCH IS MADE FOR THE LINKEDIT STEP WHICH INCLUDES THE    00033000
*          OS UTILITIES IN THE NEW SYSTEM. AN INCLUDE AND NAME CARD FOR 00034000
*          IEBUPDAT ARE INSERTED IN THIS STEP                           00035000
*        7.ALL OTHER ACTIONS OF THE PROGRAM ARE OPTIONAL AS FOLLOWS     00036000
*          UNDER EXEC CARD PARAMETERS                                   00037000
*        JCL TO RUN THE PROGRAM REQUIRES TWO DD CARDS. THEIR DD NAMES   00038000
*        MUST BE INPUT AND OUTPUT. THE DATA SETS MAY BE ON TAPE OR      00039000
*        DISK. THE DATA SETS MAY BE BLOCKED,WITH AN LRECL OF 80. THE    00040000
*        USER MUST SUPPLY DCB BLOCKSIZE INFORMATION IN THE DD CARDS     00041000
*        THE FOLLOWING ARE SAMPLE DD CARDS                              00042000
*                                                                       00043000
*/INPUT DD   UNIT=TAPE9,VOL=SER=STAGE1,DISP=OLD,DSN=TAPEIN,LABEL=(,NL), 00044000
*/ DCB=(BLKSIZE=8000)                                                   00045000
*                                                                       00046000
*/OUTPUT DD UNIT=TAPE9,VOL=(PRIVATE,,,2,SER=STAGE2),DISP=NEW,           00047000
*/ LABEL=(,NL),DCB=(BLKSIZE=80)                                         00048000
*        THE ABOVE EXAMPLE CREATES A 2 VOLUME OUTPUT IF THE '2VOLS'     00049000
*        PARAMETER IS INDICATED IN THE EXEC CARD                        00050000
*        IT WOULD ALSO BE WISE TO SUPPLY A //SYSUDUMP DD CARD BECAUSE   00051000
*        THE ERROR DETECTION MECHANISM OF THE PROGRAM IS VERY PRIMATIVE 00052000
*        AND ALL ERRORS PRODUCE AN 0C1 ABEND BY BRANCHING TO AN INVALID 00053000
*        OP CODE AFTER PLACING THE BRANCH ADDRESS IN REG 15.            00054000
*                                                                       00055000
*        THE PROGRAM IS LIMITED TO SAVING A MAXIMUM OF FOUR CARDS EACH  00056000
*        THE JOB CARD AND SYSLIB CARDS SUPPLIED BY THE USER.            00057000
*        THE JOB NAME USED FOR SUPPLIED JOB CARDS MUST BE AT LEAST FIVE 00058000
*        CHARACTERS BECAUSE THE STEP NAME(E.G. SG01) IS                 00059000
*        MOVED INTO THE JOBNAME TO IDENTIFY EACH JOB                    00060000
*        THE USER MAY WISH TO PERMANENTLY MODIFY THE JOB CARD IMAGE     00061000
*        USED TO BUILD INTERNAL JOB CARDS,IF SO BE AWARE THAT THE       00062000
*        SYMBOLIC NAME'REGION' IS CRITICAL TO THE OPERATION OF THE      00063000
*        PROGRAM AND SHOULD DEFINE THE BEGINING OF THE LAST JOB         00064000
*        CONTINUATION CARD WITH REGION SIZE AS THE ONLY PARAMETER AND   00065000
*        STARTING IN COL 4 OF THE CARD IMAGE.                           00066000
*        EXECUTE CARD PARAMETER FOR STAGEI CONVERSION PROGRAM           00067000
*                                                                       00068000
*        KEYWORD    ACTION                                              00069000
*        ASMH       CHANGES PROGRAM NAME FOR ASSEMBLYS TO IEV90 AND     00070000
*                   STRIPS OFF SYSUT2 AND SYSUT3 DD CARDS FOR ASSEMBLYS 00071000
*        FJC        FORCE JOB CARD OPTION CAUSES INTERNALLY CREATED JOB 00072000
*                   CARD TO OVERIDE ANY JOB CARD FOUND ON STAGE I TAPE  00073000
*        RGN1=XXK   REGION SIZE TO BE USED ON ALL ASSEMBLY STEPS-ONLY   00074000
*                   HONORED WHEN JOB CARD CREATED BY CONVERT PROGRAM    00075000
*        RGN2=XXK   REGION SIZE TO BE USED FOR ALL SYSGEN STEPS FOLLOWI 00076000
*                   THE ASSEMBLYS- ONLY VALID FOR INTERNALLY CREATED    00077000
*                   JOB CARD                                            00078000
*                   IF RGN2  IS OMITTED DEFAULT IS TO RGN1 SIZE         00079000
*                   IF RGN1  IS OMITTED DEFAULT IS 100K                 00080000
*                   REGION SIZE WITHOUT K APPENDED IS AN ERROR          00081000
*        2VOLS      THIS OPTION CAUSES TWO OUTPUT TAPES TO BE CREATED   00082000
*                   WITH AUTOMATIC VOLUME SWITCH FOLLOWING THE ASSEMBLY 00083000
*                   STEPS - THIS OPTION REQUIRES THAT OUTPUT DD CARD    00084000
*                   INDICATE TWO VOLUMES IN VOLUME PARAMETER            00085000
*        1JC        THIS OPTION OVERIDES THE CREATION OF A JOB CARD FOR 00086000
*                   EACH STEP,CREATING A SINGLE LARGE JOB AS PER NORMAL 00087000
*                   SYSGEN PROCEDURE. IF THE 2VOLS PARAMETER IS GIVEN,  00088000
*                   THEN ANOTHER JOB CARD IS PLACED AT THE START OF THE 00089000
*                   SECOND OUTPUT TAPE, CREATING A TWO JOB INPUT TO     00090000
*                   STAGE II,THE FIRST JOB CONTAINING ALL THE ASSEMBLY  00091000
*                   STEPS                                               00092000
CONVERT  CSECT                                                          00093000
         STM   R14,R12,12(R13)                                          00094000
         LR    R2,R1               SAVE PARM POINTER                    00095000
         LR    R10,R15             ESTABLISH BASE                       00096000
         USING CONVERT,R10                                              00097000
         LA    R11,2048                                                 00098000
         AR    R11,R11             DOUBLE 2048                          00099000
         AR    R11,R10             ADD BASE TO 4096 FOR SEC BASE        00100000
         USING CONVERT+4096,R11    SECOND BASE ADDRESSABILITY           00101000
         GETMAIN R,LV=72           GET SAVE AREA                        00102000
         LR    R12,R13             SAVE OLD SAVE AREA POINTR            00103000
         LR    R13,R1                                                   00104000
         ST    R13,R13SAVE                                              00105000
         ST    R13,8(R12)          STORE NEW SAVE POINTER               00106000
         ST    R12,4(R13)          STORE OLD SAVE POINTER               00107000
         L     R1,0(R2)            GET START OF PARM LIST               00108000
         LH    R3,0(R1)            GET PARM LENGTH                      00109000
         LTR   R3,R3               ANY PARMS                            00110000
         BNZ   PARMSCAN            IF PARMS GO TO PARM SCAN             00111000
COPEN    EQU   *                                                        00112000
         OPEN  (TAPEIN,,TAPEOUT,(OUTPUT))                               00113000
         SR    R6,R6               MAKE SURE RECORD COUNT REG IS CLEAR  00114000
         OI    SWITCHB,PASSONE     TURN ON FIRST PASS SW                00115000
******** PHASE 1 ROUTINE SCANS FRONT OF INPUT TAPE FOR SYLIB AND JOB    00116000
******** CARDS. PHASE1 ENDS WHEN FIRST EXECUTE CARD IS FOUND            00117000
PHASE1   BAL   R9,READREC          GET FIRST RECORD                     00118000
PHASE1A  CLC   0(8,R3),=C'//SYSLIB' COMPARE FOR SYSLIB CARD             00119000
         BE    SAVESYS             GO TO SYSLIB  SAVE ROUTINE           00120000
         CLC   0(4,R3),=C'//SG'    IS THIS AN EXEC CARD                 00121000
         BNE   SCANJC              BR IF NOT EXEC CARD                  00122000
         TM    SWITCHA,X'08'       IS SYSLIB FOUND SW ON                00123000
         BALR  R15,R0              NO SYSLIB CARDS ON INPUT TAPE        00124000
         BZ    ABEND               BR TO ABEND IF NOT ON                00125000
TSTSYS   TM    SWITCHA,X'80'       HAS JOBCARD BEEN FOUND               00126000
         BZ    BUILDJC             IF NOT GO BUILD JOB CARD             00127000
         B     EXECA               GO TO EXEC CARD ROUTINE              00128000
SCANJC   TM    PARMSW,JCYES        IS JOB CARD OVERIDE SW ON            00129000
         BO    PHASE1              IF YES SKIP SCAN FOR JOBCARD         00130000
         BO    PHASE1              IF YES SKIP SCAN FOR JOBCARD         00131000
         LA    R5,JCSIZE           GET POINTER TO JCSIZE                00132000
         LA    R2,71(R3)           SET UP END OF SCAN                   00133000
         LA    R7,1(0)             SET R7 TO ONE                        00134000
SCANJC1  CLC   4(5,R3),=C' JOB '   COMPARE FOR JOB CARD                 00135000
         BE    SCANJC2             BR IF JOB CARD FOUND                 00136000
         LA    R3,1(R3)            INCREMENT SCAN ADDR                  00137000
         CR    R2,R3               COMPARE FOR END                      00138000
         BNE   SCANJC1             IF END OF SCAN DONT BR               00139000
         B     PHASE1              GO LOOK AT NEXT CARD                 00140000
SCANJC2  OI    SWITCHA,X'80'       TURN ON JOB CARD FOUND SWITCH        00141000
         LA    R4,JOBSAVE          POINT TO JOB CARD SAVE AREA          00142000
SCANJC3  MVC   0(80,R4),0(R12)     MOVE CARD TO SAVE AREA               00143000
         BAL   R9,READREC          GET NEXT RECORD                      00144000
         CLC   0(3,R3),=C'// '     IS IT CONTINUATION                   00145000
         BNE   SETLEN              BR IF NOT CONTINUED                  00146000
         LA    R4,80(R4)           BUMP SAVE AREA POINTER               00147000
         LA    R7,1(R7)            BUMP CARD COUNT                      00148000
         B     SCANJC3             CONTINUE SCAN                        00149000
******** ROUTINE TO SAVE SYSLIB CARDS AND STORE CARD COUNT              00150000
SAVESYS  LA    R4,SYSSAVE          POINT TO SYSLIB SAVE AREA            00151000
         LA    R7,1(0)             SET R7 TO ONE                        00152000
         LA    R5,SYSSIZE          GET POINTER TO SIZE OF SYSLIB        00153000
         TM    SWITCHA,X'08'       TEST FOR  SYSLIB ALREADY FOUND       00154000
         BO    PHASE1              IF ON THROW AWAY SYSLIB              00155000
         OI    SWITCHA,X'08'       TURN ON SYSLIB FOUND SWITCH          00156000
         B     SCANJC3             GO SAVE CARD AND LOOK FOR CONTINUE   00157000
SETLEN   ST    R7,0(R5)            SAVE CARD COUNT                      00158000
         B     PHASE1A             GO BACK TO MAINSTREAM                00159000
******** ROUTINE TO BUILD INTERNAL JOB CARD IMAGE                       00160000
BUILDJC  OI    SWITCHA,X'80'       TURN ON JOB CARD FOUND SWITCH        00161000
         OI    PARMSW,JCYES        TURN ON FORCE JOB CARD SW            00162000
         TM    PARMSW,REGN1        IS REGION1 SUPPLIED                  00163000
         BC    OFF,BLDJC2          IF NOT BR AROUND                     00164000
         L     R2,REGION1          GET REGION1 ADDR                     00165000
         LA    R8,REGION+10        GET START OF MOVE ADDR               00166000
         LA    R1,REGION+18        GET LIMIT FOR MOVE                   00167000
         BAL   R9,RGNMVC2          GO MOVE IT                           00168000
BLDJC2   EQU   *                                                        00169000
         LA    R4,2(R0)            GET VALUE OF 2                       00170000
         ST    R4,JCSIZE           SAVE FOR LATER USE                   00171000
         B     EXECA                                                    00172000
******** COMMON ROUTINE USED TO WRITE RECORDS TO OUTPUT TAPE            00173000
WRITEREC LR    R12,R3              SAVE RECORD POINTER IN R12           00174000
         LTR   R6,R6               TEST SIZE REG                        00175000
         BZ    SETONE              BR IF R6 IS ZERO                     00176000
         BP    WRTA                BR IF R6 HAS USABLE VALUE            00177000
SETONE   LA    R6,1(R0)            SET R6 TO ONE                        00178000
         LA    R6,1(R0)            LOAD VALUE OF ONE IN R6              00179000
WRTA     PUT   TAPEOUT,(R3)        WRITE RECORD                         00180000
         LA    R3,80(R3)           BUMP TO NEXT RECORD                  00181000
         BCT   R6,WRTA             BR IF ANY MORE RECS TO WRITE         00182000
         BR     R9                 RETURN TO CALLER                     00183000
******** COMMON ROUTINE USED TO READ RECORDS FROM INPUT TAPE            00184000
READREC  GET   TAPEIN              GET A RECORD                         00185000
         LR    R3,R1               SAVE BUFFER VALUE IN R3              00186000
         LR    R12,R3              SAVE BUFFER IN  R12                  00187000
         BR    R9                  RETURN TO CALLER                     00188000
******** PHASE3 ROUTINE EXAMINES INPUT RECORDS AND BRANCHES TO          00189000
******** VARIOUS PROCESSING ROUTINES                                    00190000
PHASE3   BAL   R9,READREC          GET A RECORD                         00191000
PHASE3A  CLC   0(3,R3),=C'// '     IS THIS A CONTINUED CARD             00192000
         BE    CONTPROC                                                 00193000
         CLC   0(4,R3),=C'//SG'    IS REC AN EXEC CARD                  00194000
         BE    EXECPROC                                                 00195000
         CLC   0(8,R3),=C'//SYSLIB' SYSLIB CARD?                        00196000
         BE    LIBPROC                                                  00197000
         CLC   0(10,R3),=C'//SYSPRINT' SYSPRINT CARD?                   00198000
         BE    PRINPROC                                                 00199000
         CLC   0(10,R3),=C'//SYSPUNCH' SYSPUNCH CARD?                   00200000
         BE    PUNPROC                                                  00201000
         CLC   0(7,R3),=C'//SYSIN' SYSIN CARD?                          00202000
         BE    SYSINPRO                                                 00203000
         CLC   0(8,R3),=C'//SYSLIN'  SYSLIN CARD?                       00204000
         BE    LINPROC                                                  00205000
         TM    PARMSW,TEMPDS       ARE TEMP UTIL DATA SETS WANTED       00206000
         BZ    TESTASMH            NO,BRANCH                            00207000
         CLC   0(8,R3),=C'//SYSUT4'   IS THIS  UT4 CARD                 00208000
         BNE   P3A                 NO,BRANCH                            00209000
         LA    R3,UT4              POINT TO SYSUT4 CARD                 00210000
         B     WRITE                                                    00211000
P3A      CLC   0(8,R3),=C'//SYSUT1'                                     00212000
         BNE   P3B                 NOT UT1, BRANCH                      00213000
         B     P3F                                                      00214000
P3G      LA    R3,UT1              POINT TO UT3 CARD                    00215000
         B     P3E                                                      00216000
P3B      CLC   0(8,R3),=C'//SYSUT3'  IS THIS UT3                        00217000
         BNE   P3C                 NO,BRANCH                            00218000
         LA    R3,UT3              POINT TO UT3 CARD                    00219000
P3E      TM    SWITCHA,X'02'       TEST END OF ASSEMBLY SWITCH          00220000
         BZ    TESTASMH                                                 00221000
         B     WRITE               GO WRITE  UT3 CARD                   00222000
P3C      CLC   0(8,R3),=C'//SYSUT2'  IS THSI UT2                        00223000
         BNE   WRITE               NO THEN GO WRITE CARD                00224000
         TM    SWITCHB,COPY        IS THIS A COPY STEP                  00225000
         BO    P3E                 YES BRANCH                           00226000
         LA    R3,UT2                                                   00227000
         B     TESTASMH                                                 00228000
P3F      TM    SWITCHB,COPY        IS THIS A COPY STEP                  00229000
         BZ    P3G                 NO,BRANCH                            00230000
         B     P3E                                                      00231000
TESTASMH TM    PARMSW,ASMH         ASSEM H WANTED?                      00232000
         BZ    WRITE               NO,GO WRITE                          00233000
         CLC   0(8,R3),=C'//SYSUT2'  IS THIS UT2                        00234000
         BE    NOWRITE             YES,DONT WRITE FOR ASSEM H           00235000
         TM    SWITCHA,X'02'       IS THIS END OF ASSEMS                00236000
         BO    WRITE               YES,GO WRITE                         00237000
         CLC   0(8,R3),=C'//SYSUT3'  IS THIS UT3                        00238000
         BE    NOWRITE             YES,DONT WRITE                       00239000
         B     WRITE               GO WRITE                             00240000
WRITE    BAL   R9,WRITEREC         GO WRITE  A RECORD                   00241000
NOWRITE  B     PHASE3              RETURN TO MAINSTREAM                 00242000
******** ROUTINE TO PROCESS EXEC CARDS AND INSERT JOB CARDS. ALSO       00243000
******** CAUSES VOLUME SWITCHING WHEN NEEDED                            00244000
EXECPROC EQU   *                                                        00245000
EXECA    NI    SWITCHB,ALL-COPY    TURN OFF COPY STEP SW                00246000
         TM    SWITCHA,X'02'       IS END OF ASSEM SW ON                00247000
         BO    EXECB               IF ON SKIP NEXT TEST                 00248000
         CLC   11(10,R3),=C'PGM=ASMBLR'                                 00249000
         BE    TSTASMH                                                  00250000
         CLC   12(10,R3),=C'PGM=ASMBLR'                                 00251000
         BE    TSTASMH                                                  00252000
         OI    SWITCHB,TAPESW      TURN ON VOL SWITCH SWITCH            00253000
         OI    SWITCHA,X'02'       TURN ON END OF ASSEM SW              00254000
         NI    PARMSW,X'FF'-ASMH    TURN OFF ASMH SWITCH NO MORE ASMS   00255000
         B     EXECB                                                    00256000
TSTASMH  TM    PARMSW,ASMH         IS THIS ASMH OPTION                  00257000
         BNO   JOBINSRT                                                 00258000
         MVC   EXECH+2(4),2(R3)    MOVE STEP NO. TO ASMH EXEC CARD      00259000
         LA    R3,EXECH            POINT TO ASMH EXEC CARD              00260000
         B     JOBINSRT                                                 00261000
EXECB    EQU   *                                                        00262000
         LR    R13,R3              POINT TO RECORD                      00263000
         LA    R15,50(R13)         POINT TO RECORD PLUS 50              00264000
         SR    R14,R14             CLEAR R14                            00265000
         LA    R14,1(R14)          INITIALIZE R14                       00266000
TSTSTEP  CLC   0(11,R13),=C'PGM=IEBCOPY'  IS THIS A COPY STEP           00267000
         BE    COPSW               YES BRANCH                           00268000
         CLC   0(12,R13),=C'PGM=IEHIOSUP' IS THIS IOSUP STEP            00269000
         BE    COPSW               YES TREAT LIKE COPY STEP             00270000
         BXLE  13,14,TSTSTEP       LOOP UNTIL DONE                      00271000
         B     JOBINSRT            NO MATCH                             00272000
COPSW    OI    SWITCHB,COPY        TURN ON COPY STEP SW                 00273000
JOBINSRT LR    R7,R3               SAVE POINTER TO EXEC CARD            00274000
         L     R13,R13SAVE                                              00275000
         TM    SWITCHB,TAPESW      IS IT TIME FOR VOLUME SWITCH         00276000
         BNO   NOSWIT              IF NO BR AROUND                      00277000
         NI    SWITCHB,ALL-TAPESW  TURN OFF VOLUME SWITCH SWITCH        00278000
         TM    PARMSW,JCYES        TEST FOR FORCE JOB CARD              00279000
         BNO   JCIN1               IF NOT FORCE JOB CARD BR             00280000
         TM    PARMSW,REGN2        IS REGION 2 PARM SUPPLIED            00281000
         BNO   JCIN1               IF TO NOT SUPPLIED BR AROUND         00282000
         L     R2,REGION2          GET ADDR OF REGION2                  00283000
         LA    R8,REGION+10        POINT TO START OF MOVE AREA          00284000
         LA    R1,REGION+18        GET LIMIT FOR MOVE                   00285000
         BAL   R9,RGNMVC2          GO TO MOVE ROUTINE                   00286000
         MVI   1(R8),X'40'         INSURE BLANK CHAR AFTER REGION SIZE  00287000
JCIN1    EQU   *                                                        00288000
         TM    PARMSW,VOLSW        DO WE NEED VOLUME SWITCH             00289000
         BC    OFF,NOSWIT          IF NO BR AROUND VOL SWITCH           00290000
         OI    SWITCHB,PASSONE     TURN ON FIRST PASS SW                00291000
         FEOV  TAPEOUT,REWIND      CAUSE VOLUME SWITCHING               00292000
NOSWIT   EQU   *                                                        00293000
         TM    SWITCHB,PASSONE     IS JC INSERT SWITCH ON               00294000
         BC    OFF,EXWRT            IF NOT ON GO WRITE EXEC CARD        00295000
         TM    PARMSW,ONEJC        IS SINGLE JOB CARD SWITCH ON         00296000
         BC    OFF,JCINSRT         IF NOT ON BR AND LEAVE JCINSRT SW ON 00297000
         NI    SWITCHB,ALL-PASSONE TURN OFF JOB CARD INSERT SW          00298000
JCINSRT  LA    R3,JOBSAVE          GET ADDRESS OF JOBCARD FOR WRITE     00299000
         L     R6,JCSIZE           GET JOB CARD  COUNT                  00300000
         CLI   5(R7),X'40'         IS THIS IN FIRST 9 STEPS             00301000
         BE    SHORTMVC            BR IF YES                            00302000
         MVC   4(2,R3),4(R7)       MOVE 2 DIGITS OF STEP NUMBER TO JC   00303000
         CLI   6(R7),X'40'         TEST FOR STEP NUMBER ABOVE 99        00304000
         BE    JCWRT               NO,BRANCH TO WRITE OUT THE JOB CARD  00305000
         MVC   6(1,R3),6(R7)       MOVE THIRD DIGIT OF STEP NAME TO JOB 00306000
JCWRT    BAL   R9,WRITEREC         GO WRTIE JOB CARD                    00307000
JOBLIBIN EQU   *                                                        00308000
*        LA    R3,JOBLIB           THIS CODE MAY BE USED TO INSERT      00309000
*        BAL   R9,WRITEREC         JOBLIB CARDS IN ALL JOBS             00310000
EXWRT    LR    R3,R7                                                    00311000
         BAL   R9,WRITEREC         GO WRITE  EXEC CARD                  00312000
         B     PHASE3                                                   00313000
SHORTMVC MVC   2(2,R3),2(R7)       MOVE FIRST 2 CHARACTERS OF STEP NAME 00314000
         MVI   4(R3),X'F0'         INSET LEADING ZERO                   00315000
         MVC   5(1,R3),4(R7)       MOVE STEP NUMBER                     00316000
         B     JCWRT                                                    00317000
CONTPROC BAL   R9,WRITEREC         WRITE OUT CONTINUATION CARD          00318000
         B     PHASE3                                                   00319000
******** ROUTINE TO PROCESS SYSLIB CARDS. ENTERED FIRST TO SAVE SYSLIB  00320000
******** CARDS. ENTERED AGAIN WHEN SYSIN CARD FOUND TO SEE IF SYSLIB    00321000
******** CARD SHOULD BE REPLACED OR WRITTEN OUT AS IS. THEN SYSIN CARD  00322000
******** IS WRITTEN OUT.                                                00323000
LIBPROC  LA    R4,LIBSAVE          GET POINTER TO LIBSAVE AREA          00324000
         SR    R7,R7               CLEAR COUNT REG                      00325000
LIBPROCA MVC   0(80,R4),0(R3)      MOVE SYSLIB CARD TO SAVE AREA        00326000
         LA    R7,1(R7)            INCREMENT CARD COUNT                 00327000
         OI    SWITCHA,X'40'       TURN ON SYSLIB SAVED SW              00328000
         ST    R7,LIBSIZE          SAVE CARD COUNT                      00329000
LIBGET   BAL   R9,READREC          GET NEXT CRD                         00330000
         CLC   0(3,R3),=C'// '     IS IT CONTINUED                      00331000
         BNE    PHASE3A            NO RETURN TO PROCESSING              00332000
         LA    R4,80(R4)           BUMP SAVE AREA POINTER               00333000
         B     LIBPROCA            LOOP UNTIL SYSLIB ALL SAVED          00334000
SYSINPRO TM    SWITCHA,X'40'       WAS SYSLIB SAVED                     00335000
         LR    R7,R3               SAVE POINTER R TO SYSIN CARD         00336000
         BZ    SYSINWRT           NOT SAVED GO WRT OUT SYSIN CARD       00337000
         TM    SWITCHA,X'20'       IS THIS STEP FOR SYSLIB INSERT       00338000
         BZ    LIBWRT              NO GO WRITE OUT SAVED SYSLIB         00339000
         L     R6,SYSSIZE          GET COUNT OF SYSLIB RECS             00340000
         LA    R3,SYSSAVE          POINT TO START OF SYSLIB CARD (ASP)  00341000
         BAL   R9,WRITEREC         WRITE OUT ASP SYSLIB CARDS           00342000
         LA    R3,LIBSAVE+80       BUMP PAST FIRST SYSLIB RECORD        00343000
         L     R6,LIBSIZE          GET ORIGINAL LIBSIZE                 00344000
         SL    R6,=F'1'            SUBTRACT ONE FROM LIBSIZE            00345000
         BAL   R9,WRITEREC         WRITE OUT REST OF SYSLIB             00346000
SYSINWRT LR    R3,R7               RESTORE POINTER TO SYSIN CARD        00347000
         BAL   R9,WRITEREC         WRITE SYSIN CARD                     00348000
         NI    SWITCHA,X'9F'       TURN OFF SYSLIB SWITCHES             00349000
         B     PHASE3                                                   00350000
LIBWRT   LA    R3,LIBSAVE          POINT TO SYSLIB CARD                 00351000
         L     R6,LIBSIZE          GET CARD COUNT                       00352000
         BAL   R9,WRITEREC         WRITE SYSLIB CARD                    00353000
         B     SYSINWRT            GO TO WRITE SYSIN CARD               00354000
******** ROUTINE TO PROCESS SYSPRINT CARDS                              00355000
PRINPROC LA    R7,46(R0)           GET LENGTH FOR EXEC OF TRANSLATE     00356000
         LA    R15,TRANSTAB        POINT TO TRANSLATE TABLE             00357000
         LA    R1,15(R3)           BUMP POINTER PAS INITIAL BLANKS      00358000
         EX    R7,TRANSTST         DO TRT SCAN FOR BLANK                00359000
*        ON RETURN R1 CONTAINS POINTER TO BLANK CHARACTER IF            00360000
*        FOUND AND R2 CONTAINS FUNCTION BYTE OF X'80'                   00361000
         BALR  R15,R0              NO BLANK ON CARD POINTED TO BY R3    00362000
         BZ    ABEND               BR IF BLANK NOT FOUND                00363000
         SL    R1,=F'1'            SUBTRACT ONE FROM POINTR             00364000
         CLI   0(R1),C','          IS THERE A COMMA THERE               00365000
         BNE   PRINWRT             BR IF CARD IS NOT CONTINUED          00366000
         LA    R1,1(R1)            BUMP POINTER                         00367000
         MVC   0(9,R1),SYSOUT      MOVE IN SYSSOUT=A                    00368000
         BAL   R9,WRITEREC         WRITE FIRST CARD OF SYSPRINT         00369000
SECPRNT  BAL   R9,READREC          GET SECOND SYSPRINT CARD             00370000
         CLC   0(3,R3),=C'// '     IS NEXT CARD CONTINUED               00371000
         BALR  R15,R0              SYSPRINT CARD NOT CONTINUED          00372000
         BNE   ABEND               IF NOT CONT THERE IS AN ERROR        00373000
         LA    R8,72(R3)           SET R8 FOR END OF SCAN               00374000
LREC     LA    R3,1(R3)            BUMP SCAN POINTER                    00375000
         CLC   0(6,R3),=C'LRECL='                                       00376000
         BE    SAVLREC             IF FOUND GO SAVE IT                  00377000
         CLC   0(8,R3),=C'BLKSIZE=' FIND BLKSIZE                        00378000
         BE    SAVBLK              IF FOUND SAVE IT                     00379000
         CR    R3,R8               IS THIS THE END                      00380000
         BNE   LREC                LOOP IF NOT DONE                     00381000
         TM    SWITCHA,X'14'       TEST FOR LRECL AND BLKSIZE FOUND     00382000
         BO    SECPRNTA            ALL OK CONTINUE                      00383000
         BALR  R15,R0              LRECL OR BLKSIZE ABSENT ON SYSPRINT  00384000
         B     ABEND               IF NOT GO TO ABEND                   00385000
SAVLREC  CLI   9(R3),C','          IS THE COMMA IN THE RIGHT PLACE      00386000
         BALR  R15,R0              MISPLACED COMMA                      00387000
         BNE   ABEND               IF NOT THIS IS AN ERROR              00388000
         CLC   6(3,R3),=C'121'     IS LRECL=121                         00389000
         BALR  R15,R0              LRECL NOT EQUAL 121 ON SYSPRINT      00390000
         BNE   ABEND               IF NOT THIS IS AN ERROR              00391000
         OI    SWITCHA,X'04'       SET LRECL FOUND SWITCH               00392000
         B     LREC                ALL OK GO FIND BLKSIZE               00393000
SAVBLK   OI    SWITCHA,X'10'       SET BLKSIZE FOUND SW                 00394000
         CLI   11(R3),C')'         IS IT A THREE DIGIT BLKSIZE          00395000
         BE    BLKSA               GO CHECK AGAINST LRECL               00396000
         CLI   12(R3),C')'         IS IT A FOUR DIGIT BLKSIZE           00397000
         BALR  R15,R0              BLKSIZE EXCEEDS 4 DIGITS,CANT HANDLE 00398000
         BNE   ABEND               IF NOT GO ABEND                      00399000
         B     BLKSB               GO PROCESS BLKSIZE                   00400000
BLKSA    CLC   8(3,R3),=C'121'     IS BLKSIZE = LRECL                   00401000
         BE    LREC                RETURN TO SEARCH                     00402000
BLKSB    TM    PARMSW,X'01'        WAS BLKSIZE PROVIDED                 00403000
         MVC   8(6,R3),ASPBLK      MOVE IN STANDARD ASP BLKSIZE         00404000
         B     LREC                RETURN TO SEARCH                     00405000
BLKSC    L     R9,CUSSIZE          GET LENGTH FOR MOVE                  00406000
         EX    R9,BLKMVI           MOVE CUSTOMER BLKSIZE                00407000
         B     SECPRNTA            CONTINUE                             00408000
BLKMVI   MVC   8(0,R3),CUSBLKS                                          00409000
SECPRNTA LR    R3,R12              RESTORE POINTER TO START OF RECORD   00410000
         NI    SWITCHA,X'EB'       RESET SWITCHES                       00411000
         LA    R1,16(R3)           BUMP POINTER TO TO COL 16            00412000
         LA    R15,TRANSTAB        POINT AT TRANSLATE TABLE             00413000
         LA    R7,54(R0)           LOAD LENGTH FOR TRANSLATE            00414000
         EX    R7,TRANSTST         SCAN FOR BLANK                       00415000
         BALR  R15,R0              END OF SECOND SYSPRINT NOT FOUND     00416000
         BZ    ABEND               ABEND IF BLANK NOT FOUND             00417000
         SL    R1,=F'1'            SUBTRACT ONE FROM SCAN PONTER        00418000
         CLI   0(R1),C','          IS IT A COMMA                        00419000
         BALR  R15,R0              EXPECTED COMMA NOT FOUND             00420000
         BNE   ABEND               BETTER BE A COMMA THERE              00421000
         MVI   0(R1),X'40'         BLANK OUT THE COMMA                  00422000
         MVI   71(R3),X'40'        BLANK CO 72                          00423000
         BAL   R9,WRITEREC         WRITE OUT  NEXT CARD                 00424000
         BAL   R9,READREC          GET NEXT RECORD                      00425000
         CLC   0(3,R3),=C'// '     IS IT CONTINUED                      00426000
         BALR  R15,R0              THIRD SYSPRINT NOT FOUND             00427000
         BNE   ABEND               BETTER BE CONTIUED                   00428000
         B     PHASE3              SKIP WRITING LAST CARD AND RETURN    00429000
PRINWRT  BAL   R9,WRITEREC         WRITE OUT SINGLE SYSPRINT CARD       00430000
         B     PHASE3                                                   00431000
******** ROUTINE ENTERED WHEN SYSPUNCH CARD FOUND TO CHECK FOR          00432000
******** INSERTION OF OVERRIDING SYSLIB CARDS                           00433000
PUNPROC  TM    SWITCHA,X'02'       DO WE NEED CHECK SYSPUNCH CARD       00434000
         BO    NOTSYS              IF NOT BR AROUND                     00435000
         LA    R7,71(R0)           GET LENGTH FOR SCAN                  00436000
         LA    R15,SCANTAB         POINT TO TRANSLATE TABLE             00437000
PUNA     EX    R7,TRANSTST         DO TRANS AND TEST                    00438000
         BZ    NOTSYS              BR IF NOT FOUND                      00439000
         CLC   1(8,R1),NIP         IS THIS NIP ASSEM                    00440000
         BE    SYS                 BR IF FOUND                          00441000
         CLC   1(8,R1),IOS         IS THIS IOS ASSEM                    00442000
         BE    SYS                 BR IF FOUND                          00443000
         CLC   1(8,R1),NUC         IS THSI NUCLEUS ASSEMBLY             00444000
         BE    SYS                 YES,BR                               00445000
         LA    R1,1(R1)            BUMP SCAN POINTER                    00446000
         LA    R7,72(R3)           GET POINTER TO END OF CARD           00447000
         SR    R7,R1               RECALCULATE LENGTH OF SCAN           00448000
         B     PUNA                LOOP UNTIL FOUND                     00449000
SYS      OI    SWITCHA,X'20'       TURN ON INSERT SYSLIB SW             00450000
NOTSYS   BAL   R9,WRITEREC         WRITE OUT THE SYSPUNCH CARD          00451000
         B     PHASE3              RETURN TO PROCESSING                 00452000
******** ROUTINE ENTERED WHEN SYSLIN CARD FOUND TO CHECK FOR INSERTION  00453000
******** OF IEBUPDAT INCLUDE CARDS BY SCANNING NAME CARDS FOR IEBCOPY   00454000
LINPROC  OI    SWITCHA,X'02'       TURN ON IEWL SWITCH                  00455000
         TM    SWITCHA,X'01'       HAS UPDAT STEP BEEN FOUND            00456000
         BO    SKIPDAT             IF YES BR AROUND                     00457000
LINKA    BAL   R9,WRITEREC         WRITE OUT SYSLIN CARD                00458000
         BAL R9,READREC            GET NEXT RECORD                      00459000
         CLC   1(4,R3),=C'NAME'    IS IT NAME CARD                      00460000
         BE    SCANCOPY            IF YES GO SCAN CARD                  00461000
         CLC   0(2,R3),=C'/*'      IS IT A /* CARD?                     00462000
         BE    SKIPDAT             IF YES CUT OUT                       00463000
         B     LINKA               LOOP UNTIL /* FOUND                  00464000
SKIPDAT  BAL   R9,WRITEREC         WRITE OUT LAST CARD                  00465000
         B     PHASE3              RETURN TO MAINLINE                   00466000
SCANCOPY LA    R15,SCANTAB         POINT AT TRANSLATE TABLE             00467000
         LA    R1,5(R3)            GET START OF SCAN                    00468000
         LA    R7,66(R0)           LOAD LENGTH FOR TRANSLATE            00469000
         EX    R7,TRANSTST         DO TRANS AND TEST INSTR              00470000
         BZ    LINKA               BR IF DELIMETER NOT FOUND            00471000
         SL    R1,=F'7'            SUBTRACT 7                           00472000
         CLC   0(7,R1),=C'IEBCOPY' IS THIS LINK OF IEBCOPY              00473000
         BNE   LINKA               IF NOT LOOK AT NEXT REC              00474000
         BAL   R9,WRITEREC         GO WRITE OUT                         00475000
         LA    R3,UPDINC           POINT TO INCLUSDE CARD FOR UPDAT     00476000
         LA    R6,2(R0)            LOAD RECORD COUNT                    00477000
         BAL   R9,WRITEREC         WRITE OUT CONTROL CATDS              00478000
         OI    SWITCHA,X'01'       TURN ON UPDAT FOUND SWITCH           00479000
         B     PHASE3              RETURN TO MAINSTREAM                 00480000
******** PARAMETER SCAN ROUTINE USED AT FIRST ENTRY TO PROGRAM          00481000
PARMSCAN EQU   *                                                        00482000
         LA    R2,2(R1)                                                 00483000
         LA    R1,2(R1)                                                 00484000
         AR    R1,R3                                                    00485000
PSCAN1   CLC   0(5,R2),=C'RGN1='                                        00486000
         BNE   PSCAN2                                                   00487000
         OI    PARMSW,REGN1        TURN ON REGION1 FOUND SW             00488000
         LA    R2,5(R2)            BUMP TO START OF REGION PARM         00489000
         ST    R2,REGION1          SAVE THE ADDR FOR LATER              00490000
PSCAN2   CLC   0(5,R2),=C'RGN2='   COMPARE FOR REGION2 PARM             00491000
         BNE   PSCAN3                                                   00492000
         OI    PARMSW,REGN2        TURN ON REGION2 FOUND SW             00493000
         LA    R2,5(R2)            BUMP TO START OF REGION PARM         00494000
         ST    R2,REGION2          SAVE THE ADDR                        00495000
PSCAN3   CLC   0(4,R2),=C'ASMH'    TEST FOR ASMH OPTION                 00496000
         BNE   PSCAN4              BR IF NOT ASMH                       00497000
         OI    PARMSW,ASMH         TURN ON ASM H SWITCH                 00498000
PSCAN4   CLC   0(3,R2),=C'FJC'     IS JOB CARD TO BE OVER RIDDEN        00499000
         BNE   PSCAN6                                                   00500000
         OI    PARMSW,JCYES        TURN ON FORCE JOB CARD SW            00501000
PSCAN6   CLC   0(5,R2),=C'2VOLS'   IS TWO VOLUME OPTION TO BE USED      00502000
         BNE   PSCAN7                                                   00503000
         OI    PARMSW,VOLSW                                             00504000
PSCAN7   CLC   0(3,R2),=C'1JC'     TEST FOR SINGLE JOB CARD SW          00505000
         BNE   PSCAN8                                                   00506000
         OI    PARMSW,ONEJC        TURN ON SINGLE JOB CARD SWITCH       00507000
PSCAN8   CLC   0(3,R2),=C'TDS'     IS THIS TEMP UTIL DATA SET OPT       00508000
         BNE   PSCAN5                                                   00509000
         OI    PARMSW,X'40'        TURN ON TEMPDS SWITCH                00510000
PSCAN5   LA    R2,1(R2)            BUMP SCAN POINTER                    00511000
         CR    R1,R2               IS THIS END OF PARMS                 00512000
         BH    PSCAN1              IF NOT END BR TO CONTINUE SCAN       00513000
         B     COPEN                                                    00514000
******** ROUTINE USED TO MOVE REGION SIZE INTO JOB CARD                 00515000
RGNMVC2  CLI   0(R2),C'K'          IS THIS END OF PARM                  00516000
         MVC   0(1,R8),0(R2)       MOVE THE CHARACTER                   00517000
         BCR   EQUAL,R9            RETURN TO CALL IF EQUAL              00518000
         CR    R1,R2               IS THSI THIS  END OF ALL PARMS       00519000
         BALR  R15,R0              MOVE NOT COMPLETE WITHIN LIMIT SET   00520000
         BE    ABEND               IF END THEN ABEND ON ERROR           00521000
         LA    R8,1(R8)            BUMP POINTER TO REGION SAVE AREA     00522000
         LA    R2,1(R2)            BUMP PARM SCAN POINTER               00523000
         B     RGNMVC2             CONTINUE MOVING PARM                 00524000
FINI     CLOSE (TAPEIN,,TAPEOUT)                                        00525000
         LR    R1,R13              GET SAVE AREA ADDRESS FOR F MAIN     00526000
         L     R13,4(R13)          GET OLD SAVE AREA POINTER            00527000
         FREEMAIN R,LV=72,A=(1)    FREE THE SLAVES                      00528000
         LM    14,12,12(13)        LOAD CALLERS REGS                    00529000
         BR    R14                 RETURN                               00530000
******** FOLLOWING INSTRUCTION IS USED TO CAUSE ABEND. AT ABEND TIME    00531000
******** REG 15 CONTAINS ADDRESS OF ROUTINE WHICH BRANCHED TO ABEND.    00532000
ABEND    DC    F'0'                                                     00533000
REGION1  DC    D'0'                                                     00534000
REGION2  DC    D'0'                                                     00535000
CUSBLKS  DC    4F'0'                                                    00536000
CUSSIZE  DC    F'0'                SIZE OF MOVE FOR BLKSIZE             00537000
STEPCNT  DC    F'0'                                                     00538000
CNTFLD   DC    F'0'                                                     00539000
JCSIZE   DC    F'0'                                                     00540000
SYSSIZE  DC    F'0'                                                     00541000
LIBSIZE  DC    F'0'                                                     00542000
R13SAVE  DC    1F'0'                                                    00543000
EXECH    DC  CL80'//     EXEC   PGM=IEV90'                              00544000
JOBSAVE  DC  CL80'//SG01   JOB 836,''ASP SYSGEN'',MSGLEVEL=1,'          00545000
REGION   DC    CL120'// REGION=100K'                                    00546000
         DC    200X'00'                                                 00547000
SYSSAVE  DC    400X'00'                                                 00548000
LIBSAVE  DC    400X'00'                                                 00549000
UT1 DC C'//SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(350,10)),DSN=',X'50',C'GEN1X00550000
               ',30C' '                                                 00551000
UT2 DC C'//SYSUT2 DD UNIT=SYSDA,SPACE=(TRK,(160,10)),DSN=',X'50',C'GEN2X00552000
               ',30C' '                                                 00553000
UT3 DC C'//SYSUT3 DD UNIT=SYSDA,SPACE=(TRK,(400,10)),DSN=',X'50',C'GEN3X00554000
               ',30C' '                                                 00555000
UT4 DC C'//SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(003,10)),DSN=',X'50',C'GEN4X00556000
               ',30C' '                                                 00557000
JOBLIB DC      CL80'//JOBLIB DD DSN=SYS1.LINKLIB,DISP=SHR,UNIT=2314,VOLX00558000
               =SER=DLIB01'                                             00559000
SCANTAB  DC    256X'00'                                                 00560000
         ORG   SCANTAB+C'('                                             00561000
         DC    X'08'                                                    00562000
         ORG   SCANTAB+256                                              00563000
TRANSTAB DC    256X'00'                                                 00564000
         ORG   TRANSTAB+C' '                                            00565000
         DC    X'80'                                                    00566000
         ORG   TRANSTAB+256                                             00567000
TRANSTST TRT   0(0,R1),0(R15)                                           00568000
SYSOUT   DC    C'SYSOUT=A,'                                             00569000
NIP      DC    C'IEAANIP0'                                              00570000
IOS      DC    C'IEAASU00'                                              00571000
NUC      DC    CL8'IEAQNU00'                                            00572000
SWITCHA  DC    X'00'                                                    00573000
SWITCHB  DC    X'00'                                                    00574000
TAPESW   EQU   X'01'               VOLUME SHITCH INDICATOR              00575000
PASSONE  EQU   X'02'                                                    00576000
ALL      EQU   X'FF'                                                    00577000
COPY     EQU   X'04'                                                    00578000
PARMSW   DC    X'00'                                                    00579000
JCYES    EQU   X'01'                                                    00580000
ASMH     EQU   X'02'                                                    00581000
REGN1    EQU   X'04'                                                    00582000
REGN2    EQU   X'08'                                                    00583000
VOLSW    EQU   X'10'                                                    00584000
ONEJC    EQU   X'20'                                                    00585000
TEMPDS   EQU   X'40'                                                    00586000
EQUAL    EQU   8                                                        00587000
OFF      EQU   8                                                        00588000
UPDINC   DC    CL80' INCLUDE UT506(IEBUPDAT)'                           00589000
UPNAME   DC    CL80' NAME IEBUPDAT(R)'                                  00590000
ASPBLK   DC    C'968), '                                                00591000
R0       EQU   0                                                        00592000
R1       EQU   1                                                        00593000
R2       EQU   2                                                        00594000
R3       EQU   3                                                        00595000
R4       EQU   4                                                        00596000
R5       EQU   5                                                        00597000
R6       EQU   6                                                        00598000
R7       EQU   7                                                        00599000
R8       EQU   8                                                        00600000
R9       EQU   9                                                        00601000
R10      EQU   10                                                       00602000
R11      EQU   11                                                       00603000
R12      EQU   12                                                       00604000
R13      EQU   13                                                       00605000
R14      EQU   14                                                       00606000
R15      EQU   15                                                       00607000
TAPEIN DCB EODAD=FINI,DSORG=PS,DDNAME=INPUT,LRECL=80,MACRF=GL,         X00608000
               RECFM=FB                                                 00609000
TAPEOUT  DCB   DSORG=PS,DDNAME=OUTPUT,LRECL=80,MACRF=PM,RECFM=FB        00610000
         END                                                            00611000
//S2 EXEC  PGM=IEWLF440,PARM=(XREF,LIST,NCAL),COND=(8,LT)               00012000
//SYSUDUMP DD SYSOUT=A                                                  00013000
//SYSLMOD  DD DSN=&GOSET(GO),UNIT=2314,SPACE=(1024,(50,20,1)),          00014000
//            DISP=(NEW,PASS)                                           00015000
//SYSUT1   DD UNIT=SYSDA,SPACE=(1024,(50,20))                           00016000
//SYSPRINT DD SYSOUT=A                                                  00017000
//SYSLIN   DD DSN=&LOADSET,DISP=(OLD,DELETE)                            00018000
//GO EXEC  PGM=*.S2.SYSLMOD,PARM=(ASMH,FJC,'RGN1=260K',2VOLS,TDS)       00019000
//SYSUDUMP DD SYSOUT=A                                                  00020000
//INPUT    DD UNIT=TAPE9,VOL=SER=STAGE1,DISP=OLD,DSN=TAPEIN,            00021000
//            LABEL=(,NL),DCB=(BUFNO=1,LRECL=80,BLKSIZE=8000)           00022000
//OUTPUT   DD UNIT=TAPE9,VOL=(PRIVATE,,,2,SER=STAGE2),DISP=NEW,         00023000
//            LABEL=(,NL),DCB=(BLKSIZE=80)                              00024000
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//ASPEX006 JOB ASP,ASPV32,MSGLEVEL=1
//ASM  EXEC  PGM=IEUASM,PARM='DECK,NOLOAD'
//SYSLIB   DD  DSN=ASP.MAC320,DISP=SHR,UNIT=3330,VOL=SER=ASP320
//         DD  DSN=ASP.PSGLIB,DISP=SHR
//         DD  DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1   DD  DSN=&SYSUT1,UNIT=SYSDA,SPACE=(1700,(400,50))
//SYSUT2   DD  DSN=&SYSUT2,UNIT=SYSDA,SPACE=(1700,(400,50))
//SYSUT3   DD  DSN=&SYSUT3,UNIT=SYSDA,SPACE=(1700,(400,50))
//SYSPRINT DD  SYSOUT=A,DCB=(RECFM=FBM,LRECL=121,BLKSIZE=768)
//SYSPUNCH DD  SYSOUT=B
//SYSGO    DD  DUMMY
//SYSIN    DD  *
AEX6     TITLE 'SAMPLE EXIT ASPEX006 (HIGH WATERMARK SETUP)'   @AL00177 00001000
ASPEX006 START 0                                               @AL00177 00002000
***************************************************************@AL00177 00003000
***************************************************************@AL00177 00004000
*              THIS EXIT IS INTENDED TO BE A SKELETON EXAMPLE  @AL00177 00005000
*        FROM WHICH AN INSTALLATION MIGHT INSTALL ITS HIGH     @AL00177 00006000
*        WATERMARK EXIT.  FUNCTIONS PERFORMED BY THIS EXIT     @AL00177 00007000
*        ARE INTENDED TO SHOW THE FLEXIBILITY PROVIDED TO A    @AL00177 00008000
*        USER AND IS NOT INTENDED TO BE THE FINAL INTERFACE    @AL00177 00009000
*        FOR ALL USERS.                                        @AL00177 00009500
*        ASSUMPTIONS TAKEN IN THIS EXAMPLE ARE AS FOLLOWS:     @AL00177 00010000
*                                                              @AL00177 00011000
*        1. ALL JOBS REQUIRING FIVE OR LESS TAPE DRIVES WILL   @AL00177 00012000
*              BE ALLOWED TO CONTINUE WITH NORMAL ASP JOB SETUP@AL00177 00013000
*                                                              @AL00177 00014000
*        2. ALL JCL UNIT TYPES USED IN THIS EXAMPLE ARE        @AL00177 00015000
*              CONTAINED WITHIN THE FOLLOWING GROUP TYPES:     @AL00177 00016000
*              A. 2400-2,TAPE7,TAPEL                           @AL00177 00017000
*              B. 2400-3,TAPE9,TAPEH                           @AL00177 00018000
*                                                              @AL00177 00019000
*        3. ALL JOBS THAT REQUIRE MORE THAN FIFTEEN TAPES AFTER@AL00177 00020000
*              WATERMARK SETUP WILL BE CANCELED DUE TO A       @AL00177 00021000
*              VIOLATION OF THE INSTALLATION STANDARD          @AL00177 00022000
*              PROCEDURES.                                     @AL00177 00022500
***************************************************************@AL00177 00023000
***************************************************************@AL00177 00024000
         EJECT                                                 @AL00177 00025000
***************************************************************@AL00177 00026000
*        ***** DEVICE TYPE COUNT TABLE DSECT *****             @AL00177 00027000
*              IT IS EXPECTED THAT THE USER WOULD MODIFY THIS  @AL00177 00028000
*        DSECT TO BE IN ACCORDANCE WITH THE NUMBER OF SPECIFIC @AL00177 00029000
*        DEVICE TYPE COUNTS THAT HE MUST MAINTAIN.  IN THIS    @AL00177 00030000
*        EXAMPLE WE HAVE TWO GENERAL TYPE COUNTS.  THIS DSECT  @AL00177 00031000
*        WILL OVERLAY THE WORK AREA PROVIDED IN RIDATA(STARTING@AL00177 00032000
*        AT RIDVLRET).                                         @AL00177 00032500
***************************************************************@AL00177 00033000
DEVCNT   DSECT                                                 @AL00177 00034000
DEV1S    DS    H -                 COUNT FOR 2400-2,TAPE7,TAPEL@AL00177 00035000
DEV2S    DS    H -                 COUNT FOR 2400-3,TAPE9,TAPEH@AL00177 00036000
DEVSE    DS    0X -                END OF CURRENT STEP COUNTS  @AL00177 00037000
DEV1J    DS    H -                 COUNT FOR 2400-2,TAPE7,TAPEL@AL00177 00038000
DEV2J    DS    H -                 COUNT FOR 2400-3,TAPE9,TAPEH@AL00177 00039000
DEVJE    DS    0X -                END OF JOB COUNTS           @AL00177 00040000
         EJECT                                                 @AL00177 00041000
         EQUATE                                                @AL00177 00042000
         EJECT                                                 @AL00177 00043000
         FCTENTRY                                              @AL00177 00044000
         EJECT                                                 @AL00177 00045000
         JSTENTRY                                              @AL00177 00046000
         EJECT                                                 @AL00177 00047000
         REGISTER                                              @AL00177 00048000
         EJECT                                                 @AL00177 00049000
         RIDATAX                                               @AL00177 00050000
         EJECT                                                 @AL00177 00051000
         TVTABLE                                               @AL00177 00052000
         EJECT                                                 @AL00177 00053000
ASPEX006 CSECT                                                 @AL00177 00054000
         USING RIDATA,R13                                      @AL00177 00055000
         USING *,R15                                           @AL00177 00056000
***************************************************************@AL00177 00057000
*   CALCULATE THE REASON FOR THE ENTRY INTO US (R6=CODE)       @AL00177 00058000
***************************************************************@AL00177 00059000
         LA    R3,RICBENT          PTR TO THE BRANCH TABLE     @AL00177 00060000
         LA    R4,RIDVLRET         SET UP WORK AREA            @AL00177 00061000
         USING DEVCNT,R4                                       @AL00177 00062000
         B     0(R6,R3)            BRANCH TO CORRECT ENTRIES   @AL00177 00063000
RICBENT  DS    0H                                              @AL00177 00064000
         B     RICBCALC   R6=00    SCAN - BUMP APPROP DEV CNT  @AL00177 00065000
         B     RICBCOMP   R6=04    SCAN - SET MAX JOB DEV CNTS @AL00177 00066000
         B     RICBFCOM   R6=08    SCAN - HAN LAST STP + CHK   @AL00177 00067000
         B     RICBALL    R6=12    SETUP - YES/NO ALLOCATE     @AL00177 00068000
         B     RICBDCOM   R6=16    SETUP - CHECK ON ALL DEVICES@AL00177 00069000
         B     RICBINIT   R6=20    INIT - INIT. + CHECK FOR JOB@AL00177 00070000
         SPACE 4                                               @AL00177 00071000
***************************************************************@AL00177 00072000
*        INITIALIZATION ENTRY  (R6=20)                         @AL00177 00073000
***************************************************************@AL00177 00074000
RICBINIT DS    0H                                              @AL00177 00075000
         USING JSTSTART,R1                                     @AL00177 00076000
***************************************************************@AL00177 00077000
*        FIVE TAPE DRIVES OR LESS SUBROUTINE                   @AL00177 00078000
***************************************************************@AL00177 00079000
         CLI   JSTTANO,X'05'       FIVE TAPE UNITS OR LESS?    @AL00177 00080000
         BC    LT+EQ,4(R14)        YES, CONTINUE WITH JOB SETUP@AL00177 00081000
         XC    DEVCNT(DEVJE-DEVCNT),DEVCNT CLEAR WORK AREA     @AL00177 00082000
         BR    R14                 RETURN FOR HI/WS            @AL00177 00083000
         SPACE 4                                               @AL00177 00084000
***************************************************************@AL00177 00085000
*        SCAN ENTRY - SET APPROPIATE DEVICE COUNT (R6=00)      @AL00177 00086000
***************************************************************@AL00177 00087000
RICBCALC DS    0H                                              @AL00177 00088000
         LA    R6,RICBCAL1         SET VALID COMPARE RETURN    @AL00177 00089000
         USING JSTENTRY,R1                                     @AL00177 00090000
RICBCALA DS    0H                                              @AL00177 00091000
         LA    R2,(RICBDTAE-RICBDTAB)/10 # OF DEVICE TYPES     @AL00177 00092000
         LA    R3,RICBDTAB         PTR TO DEVICE TYPE TABLE    @AL00177 00093000
RICBCALB DS    0H                                              @AL00177 00094000
         CLC   JSTTYPE(6),0(R3)    SAME ENTRY?                 @AL00177 00095000
         BCR   EQ,R6               YES, RETURN                 @AL00177 00096000
         LA    R3,10(,R3)          BUMP TO NXT ENTRY           @AL00177 00097000
         BCT   R2,RICBCALB         CONTINUE COMPARE            @AL00177 00098000
***************************************************************@AL00177 00099000
*        NOTE: YOUR INSTALLATION MIGHT WANT TO HANDLE THE      @AL00177 00100000
*              CONDITION OF NOT FINDING A DEVICE TYPE MATCH    @AL00177 00101000
*        IN A DIFFERENT WAY. CONCEPT OF THIS EXAMPLE IS TO     @AL00177 00102000
*        IGNORE THE COUNTING OF THE REQUEST AND TO LEAVE THIS  @AL00177 00103000
*        ENTRY SETUPABLE.                                      @AL00177 00104000
***************************************************************@AL00177 00105000
         BR    R14                 NORMAL/SETUP RETURN         @AL00177 00106000
         SPACE 1                                               @AL00177 00107000
***************************************************************@AL00177 00108000
*        MATCH WAS FOUND - UP THE APPROP. CUR. STEP COUNT      @AL00177 00109000
***************************************************************@AL00177 00110000
RICBCAL1 DS    0H                                              @AL00177 00111000
         LH    R6,6(,R3)           GET DISPLACEMENT INTO COUNT @AL00177 00112000
         LH    R2,0(R6,R4)         LOAD COUNT                  @AL00177 00113000
         LA    R2,1(,R2)           BUMP COUNT                  @AL00177 00114000
         STH   R2,0(R6,R4)         SAVE COUNT                  @AL00177 00115000
         BR    R14                 RETURN NORMALLY             @AL00177 00116000
         SPACE 4                                               @AL00177 00117000
***************************************************************@AL00177 00118000
* SCAN ENTRY - HANDLE A STEP CHANGE (UPDATE JOB COUNTS)(R6=04) @AL00177 00119000
***************************************************************@AL00177 00120000
RICBCOMP DS    0H                                              @AL00177 00121000
         LA    R7,RICBCOM1         SET UPDATE RETURN           @AL00177 00122000
RICBCOMA DS    0H                                              @AL00177 00123000
         LA    R6,(DEVSE-DEVCNT)/2 # OF COUNTS                 @AL00177 00124000
         LA    R2,DEV1S            PTR TO FIRST COUNT(STEP)    @AL00177 00125000
         LA    R3,DEV1J            PTR TO FIRST COUNT(JOB)     @AL00177 00126000
RICBCOMB DS    0H                                              @AL00177 00127000
         CLC   0(2,R3),0(R2)       IS JOB COUNT HIGHER?        @AL00177 00128000
         BC    GT+EQ,RICBCOMC      YES, TRY NXT COUNT          @AL00177 00129000
         MVC   0(2,R3),0(R2)       SET NEW COUNT               @AL00177 00130000
RICBCOMC DS    0H                                              @AL00177 00131000
         LA    R3,2(,R3)           BUMP JOB COUNT PTR          @AL00177 00132000
         LA    R2,2(,R2)           BUMP STEP COUNT PTR         @AL00177 00133000
         BCT   R6,RICBCOMB         GET NXT ENTRY               @AL00177 00134000
         XC    DEV1S(DEVSE-DEV1S),DEV1S CLEAR STEP COUNTS      @AL00177 00134500
         BR    R7                  ALL DONE - RETURN TO CALLER @AL00177 00135000
         SPACE 1                                               @AL00177 00136000
RICBCOM1 DS    0H                                              @AL00177 00137000
         BR    R14                 RETURN NORMALLY             @AL00177 00138000
         SPACE 4                                               @AL00177 00139000
***************************************************************@AL00177 00140000
*        SCAN ENTRY - LAST STEP IS PROCESSED  (R6=08)          @AL00177 00141000
***************************************************************@AL00177 00142000
RICBFCOM DS    0H                                              @AL00177 00143000
         BAL   R7,RICBCOMA         UPDATE FOR LAST STEP        @AL00177 00144000
         LA    R2,DEV1J            PTR TO JOB COUNTS           @AL00177 00145000
         LA    R3,(DEVJE-DEV1J)/2  # OF DEVICE COUNTS          @AL00177 00146000
         SLR   R6,R6               CLEAR TOTAL COUNT           @AL00177 00147000
RICBFCOA DS    0H                                              @AL00177 00148000
         AH    R6,0(,R2)           ADD COUNT OF THIS TYPE      @AL00177 00149000
         LA    R2,2(,R2)           BUMP POSITION OF JOB COUNT  @AL00177 00150000
         BCT   R3,RICBFCOA         CONTINUE COUNT CALCULATION  @AL00177 00151000
         CH    R6,=H'15'           MORE THAN FIFTEEN DRIVES ALL@AL00177 00152000
         BCR   LT+EQ,R14           NO, GIVE NORMAL RETURN      @AL00177 00153000
RICBSYS1 DS    0H                                              @AL00177 00154000
***************************************************************@AL00177 00155000
*        FIFTEEN DRIVES EXCEEDED SUBROUTINE                    @AL00177 00156000
***************************************************************@AL00177 00157000
         LA    R4,RICBUER1         PTR TO ERROR MSG            @AL00177 00158000
         BAL   R7,RICBSYS2         WRITE ERROR MSG             @AL00177 00159000
         B     4(R14)              FAIL THIS JOB               @AL00177 00160000
         SPACE 4                                               @AL00177 00161000
***************************************************************@AL00177 00162000
*        SETUP ENTRY - SET ALLOCATION  (R6=12)                 @AL00177 00163000
***************************************************************@AL00177 00164000
RICBALL  DS    0H                                              @AL00177 00165000
         BAL   R6,RICBCALA         GET COUNT FIELD DISP.       @AL00177 00166000
         LH    R6,8(,R3)           LOAD DISP.                  @AL00177 00167000
         LH    R2,0(R6,R4)         LOAD COUNT                  @AL00177 00168000
         OR    R2,R2               ANY COUNT?                  @AL00177 00169000
         BC    ZERO,4(R14)         NO, RETURN WITH ALLOCATE NOT@AL00177 00170000
         BCTR  R2,0                DECRE COUNT                 @AL00177 00171000
         STH   R2,0(R6,R4)         SET NEW COUNT               @AL00177 00172000
         BR    R14                 RETURN FOR ALLOCATION       @AL00177 00173000
        SPACE 4                                                @AL00177 00174000
***************************************************************@AL00177 00175000
*        SETUP ENTRY - JOB END ON ALLOCATION  (R6=16)          @AL00177 00176000
***************************************************************@AL00177 00177000
RICBDCOM DS    0H                                              @AL00177 00178000
         LA    R2,DEV1J            JOB COUNT PTR               @AL00177 00179000
         LA    R3,(DEVJE-DEV1J)/2  # OF COUNTS                 @AL00177 00180000
         SLR   R6,R6               CLEAR COUNT                 @AL00177 00181000
RICBDCOA DS    0H                                              @AL00177 00182000
         AH    R6,0(,R2)           ADD COUNT OF THIS TYPE      @AL00177 00183000
         LA    R2,2(,R2)           BUMP COUNT POSITION         @AL00177 00184000
         BCT   R3,RICBDCOA         GO TILL DONE                @AL00177 00185000
         OR    R6,R6               ANY COUNTS LEFT?            @AL00177 00186000
         BCR   ZERO,R14            NO, NORMAL RETURN           @AL00177 00187000
         LA    R4,RICBUER2         SET ERROR MSG               @AL00177 00188000
         BAL   R7,RICBSYS2         WRITE ERROR MSG             @AL00177 00189000
         B     4(R14)              PERFORM ERROR RETURN        @AL00177 00190000
         SPACE 1                                               @AL00177 00191000
***************************************************************@AL00177 00192000
*        SYSMSG WRITE ROUTINE                                  @AL00177 00193000
***************************************************************@AL00177 00194000
RICBSYS2 DS    0H                                              @AL00177 00195000
         STM   R14,R15,RIDUSAVE    SAVE REGS AROUND MSG WRTE   @AL00177 00195500
         L     R3,RIDSYSM          PTR TO SYSMSG               @AL00177 00196000
         CLI   0(R3),0             SYSMSG OPEN?                @AL00177 00197000
         BC    EQ,RICBSYS3         YES,CONTINUE                @AL00177 00198000
         AOPEND FDB=(R3)           OPEN SYSMSG                 @AL00177 00199000
RICBSYS3 DS    0H                                              @AL00177 00200000
         SLR   R2,R2               CLEAR REG                   @AL00177 00201000
         IC    R2,0(,R4)           GET THE LENGTH              @AL00177 00202000
         LA    R0,2(,R2)           SIZE + 1                    @AL00177 00203000
         ALOCATE FDB=(R3),COUNT=(R0) LOCATE SPACE FOR MSG      @AL00177 00204000
         MVI   0(R1),C' '          BLANK                       @AL00177 00205000
         L     R15,RIDUSAVE+4      RELOAD THE BASE             @AL00177 00205500
         EX    R2,RICBMMVE         MOVE MSG                    @AL00177 00206000
         LA    R0,2(,R2)           SIZE + 1                    @AL00177 00207000
         ABLOCK FDB=(R3),COUNT=(R0)  BLOCK RECORD              @AL00177 00208000
         LM    R14,R15,RIDUSAVE    RESTORE SAVED REGS          @AL00177 00208500
         BR    R7                  RETURN TO CALLER            @AL00177 00209000
RICBMMVE MVC   1(0,R1),1(R4)       MSG MVE                     @AL00177 00210000
         SPACE 1                                               @AL00177 00211000
         SPACE 8                                               @AL00177 00212000
***************************************************************@AL00177 00213000
*        DEVICE TABLE - (NAME),(CUR STEP CNT DISP),(JOB DISP)  @AL00177 00214000
*        NOTE: USERS ARE EXPECTED TO IDENTIFY THEIR DEV TYPES  @AL00177 00215000
***************************************************************@AL00177 00216000
RICBDTAB DS    0H                                              @AL00177 00217000
         DC    CL6'2400-2',AL2(DEV1S-DEVCNT),AL2(DEV1J-DEVCNT) @AL00177 00218000
         DC    CL6'TAPE7 ',AL2(DEV1S-DEVCNT),AL2(DEV1J-DEVCNT) @AL00177 00219000
         DC    CL6'TAPEL ',AL2(DEV1S-DEVCNT),AL2(DEV1J-DEVCNT) @AL00177 00220000
         DC    CL6'2400-3',AL2(DEV2S-DEVCNT),AL2(DEV2J-DEVCNT) @AL00177 00221000
         DC    CL6'TAPE9 ',AL2(DEV2S-DEVCNT),AL2(DEV2J-DEVCNT) @AL00177 00222000
         DC    CL6'TAPEH ',AL2(DEV2S-DEVCNT),AL2(DEV2J-DEVCNT) @AL00177 00223000
RICBDTAE DS    0H                                              @AL00177 00224000
         SPACE 4                                               @AL00177 00225000
***************************************************************@AL00177 00226000
*        ERROR MESSAGES                                        @AL00177 00227000
***************************************************************@AL00177 00228000
RICBUER1 DC    AL1(RICBUE1E-RICBUER1-2)                        @AL00177 00229000
         DC    C'USER001 VIOLATION OF SOP #451 '               @AL00177 00230000
         DC    C'- TOO MANY TAPES'                             @AL00177 00230100
RICBUE1E DS    0X                                              @AL00177 00231000
         SPACE 1                                               @AL00177 00232000
RICBUER2 DC    AL1(RICBUE2E-RICBUER2-2)                        @AL00177 00233000
         DC    C'USER002 ALLOC. ERR - GIVE LISTING TO '        @AL00177 00234000
         DC    C'ASP SYS PROG'                                 @AL00177 00234100
RICBUE2E DS    0X                                              @AL00177 00235000
         SPACE 1                                               @AL00177 00236000
         LTORG                                                 @AL00177 00237000
         END
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
//ASPRDUMP JOB ASP,ASPV32,MSGLEVEL=1,REGION=150K
//*
//*   SAMPLE DUMP PRINT JCL FOR MVT SYSTEMS.... NOTE THAT UNIT AND VOLSER
//*   PARAMETERS MUST BE MODIFIED TO SUIT USER INSTALLATION.
//*
//JOBLIB   DD DSN=ASP.VERSON32,DISP=SHR,UNIT=3330,VOL=SER=ASP320
//S1     EXEC  PGM=IMDPRDMP,PARM='1,FREE050,ER=3'
//SYSPRINT DD SYSOUT=A
//SYSUDUMP DD SYSOUT=A
//TAPE     DD DISP=OLD,LABEL=(,NL),UNIT=TAPE,VOL=SER=XXXXXX
//PRINTER  DD SYSOUT=A,SPACE=(CYL,(10,10))
//SYSUT1   DD UNIT=SYSDA,SPACE=(2052,(2000,10)),DISP=(NEW,DELETE)
//SYSIN    DD *
ONGO Q,L,F,P N
GO
END
/*
//ASPPRDMP JOB ASP,ASPV32,MSGLEVEL=1,REGION=150K
//*
//*   SAMPLE DUMP PRINT JCL FOR VS SYSTEMS... NOT THAT UNIT AND VOLSER
//*   INFORMATION MUST BE MODIFIED TO SUIT USER INSTALLATION.
//*
//JOBLIB DD    DSN=ASP.VERSON32,DISP=SHR,UNIT=3330,VOL=SER=ASP320
//       EXEC  PGM=AMDPRDMP
//SYSPRINT DD SYSOUT=A
//SYSUDUMP DD SYSOUT=A
//TAPE     DD  DISP=OLD,LABEL=(,NL),UNIT=TAPE,VOL=SER=XXXXXX
//PRINTER  DD SYSOUT=A,SPACE=(CYL,(10,10))
//SYSUT1   DD UNIT=SYSDA,SPACE=(2052,(2000,10)),DISP=(NEW,DELETE)
//SYSIN    DD *
ONGO Q,L,F,P N
GO
END
/*
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
********************************************************************************
