The following table shows various assembler options that can be used to prepare programs for use with the IBM Problem Determination Tools products (Debug Tool for z/OS, Fault Analyzer for z/OS and Application Performance Analyzer for z/OS). The methods suggested in the following table indicate if the load module produced is suitable for a production environment. Load modules suitable for a production environments have no significant run-time overhead.
Assembler options | Source information file type produced | Is the load module production ready? | Options supported and suggested for Debug Tool for z/OS | Options supported and suggested for Fault Analyzer for z/OS | Options supported and suggested for Application Performance Analyzer for z/OS |
---|---|---|---|---|---|
ADATA | SYSADATA file | Yes | N/A | Supported | Supported |
ADATA | LANGX file | Yes | Suggested for production and test |
Perform the following steps for assembling your programs:
ADATA instructs the assembler to produce a SYSADATA file, which contains source and symbolic data about the program. This produces a production-ready module that can be debugged using Debug Tool for z/OS. ADATA does not affect the contents of the assembled module.
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
//*
[ Top of Page | Previous Page | Next Page | Contents | Index ]