Sample JCL for assembling a program

Below is a JCL example for assembling a program for use with the IBM Problem Determination Tools products.

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE AN ASSEMBLER PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   ASSEMBLER:
//*    1. AN ADATA PARM IS REQUIRED TO PRODUCE A SYSADATA FILE
//*
//*   A STEP THAT PROCESSES THE SYSADATA FILE,
//*   AND CREATES A LANGX FILE IS NEEDED.
//*
//*   BINDER (LINKAGE EDITOR):
//*    1. AMODE / RMODE CAN BE CODED AS NEEDED BY THE PROGRAM.  THEY ARE
//*       NOT REQUIRED FOR PD TOOLS.
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=ASAM1                        PROGRAM NAME
//   SET Language EnvironmentHLQ='CEE'    Language Environment HIGH LVL QUALIFIER
//   SET UNITDEV=SYSALLDA                 UNIT FOR TEMP FILES
//   SET LANGX='EQALANGX'                 XXXLANGX UTILITY PROGRAM
//   SET LANGXLIB='EQAW.SEQAMOD'          LIBRARY FOR XXXLANGX UTILITY
//*    NOTE: YOU CAN USE THE XXXLANGX UTILITY SHIPPED WITH DT, FA,
//*          OR APA. THE NAMES ARE DIFFERENT, BUT RESULTS ARE THE SAME
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE:     SET LANGX TO:    SET LANGXLIB TO:
//*      DEBUG TOOL       EQALANGX         THE DT SEQAMOD LIBRARY
//*      FAULT ANALYZER   IDILANGX         THE FA SIDIAUTH LIBRARY
//*      APA              CAZLANGX         THE APA SCAZAUTH LIBRARY
//*
//*  *********************************
//*      ASSEMBLER STEP
//*  *********************************
//ASM1 EXEC  PGM=ASMA90,COND=(4,LT),REGION=32M,
//      PARM='ADATA,OBJECT'
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSPRINT DD SYSOUT=*
//SYSLIN   DD DISP=SHR,DSN=&SYSUID..ADLAB.OBJ(&MEM)
//SYSADATA DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSADATA(&MEM)
//SYSLIB  DD  DSN=SYS1.MODGEN,DISP=SHR
//        DD  DSN=SYS1.MACLIB,DISP=SHR
//        DD  DSN=&LEHLQ..SCEEMAC,DISP=SHR
//SYSUT1  DD  DISP=(NEW,DELETE),DSN=&&SYSUT1,SPACE=(1700,(900,450)),
//     UNIT=&UNITDEV
//SYSUT2  DD  DISP=(NEW,DELETE),DSN=&&SYSUT2,SPACE=(1700,(600,300)),
//     UNIT=&UNITDEV
//SYSUT3  DD  DISP=(NEW,DELETE),DSN=&&SYSUT3,SPACE=(1700,(600,300)),
//     UNIT=&UNITDEV
//*
//*  *********************************
//*     STEP TO GENERATE LANGX FILE
//*  *********************************
//LANGX    EXEC PGM=&LANGX,REGION=32M,
//  PARM='(ASM ERROR'
//STEPLIB  DD DISP=SHR,DSN=&LANGXLIB
//         DD DISP=SHR,DSN=&LEHLQ..SCEERUN
//SYSADATA DD DSN=&SYSUID..ADLAB.SYSADATA(&MEM),DISP=SHR
//IDILANGX DD DSN=&SYSUID..ADLAB.EQALANGX(&MEM),DISP=SHR
//*
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LINK     EXEC PGM=IEWL,PARM='MAP',REGION=0M
//SYSLIB   DD DSN=&LEHLQ..SCEELKED,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLMOD  DD DISP=SHR,DSN=&SYSUID..ADLAB.LOAD(&MEM)
//SYSUT1   DD UNIT=SYSDA,SPACE=(TRK,(10,10))
//SYSLIN   DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=SHR
//         DD *
     MODE AMODE(31),RMODE(24)
     ENTRY ASAM1
//*