Running your Assembler programs in TSO

You must assemble and link-edit your program before you can run it in TSO. The following sections provide sample jobs that assemble and link-edit your programs and sample programs for running your assembled program in TSO either with or without ISPF.

Assembling and link-editing in TSO

The following sample job assembles and link-edits your program using Assembler H. Some parameters might vary from one installation to the next. See your QMF administrator for details.

Figure 33. JCL for running assembler and linkage editor in TSO
//sampasm    JOB
//STEP1      EXEC PROC=ASMHCL
//* Provide Access to QMF Communications Macro DSQCOMM
//C.SYSLIB   DD  DSN=QMF720.SAMPLIB,DISP=SHR
//C.SYSIN    DD  *
          .
          Your program or copy of QMF sample DSQABFA
          .
/*
//* Provide Access to QMF Interface Module
//L.QMFLOAD  DD DSN=QMF720.SDSQLOAD,DISP=SHR
//L.SYSIN    DD  *
          INCLUDE QMFLOAD(DSQCIA)
          ENTRY sampasm
          MODE  AMODE(31) RMODE(ANY)
          NAME  sampasm(R)
/*

After your program is assembled successfully, you can run it.

Running in TSO under ISPF

After your program is assembled successfully, you can run it under ISPF by writing a program similar to the following:

Figure 34. CLIST for running your program in TSO under ISPF
PROC 0
CONTROL ASIS
/************************************************************/
/* Specify attribute list for dataset allocations           */
/************************************************************/
ATTR PRINTDCB LRECL(133) RECFM(F B A) BLKSIZE(1330)
ATTR DEBUGDCB LRECL(80)  RECFM(F B)   BLKSIZE(3120)
ATTR UDUMPDCB LRECL(125) RECFM(V B A) BLKSIZE(1632)
ATTR EDITDCB  LRECL(79)  RECFM(F B A) BLKSIZE(4029)
/************************************************************/
/* Datasets used by TSO                                     */
/************************************************************/
ALLOC FI(SYSPROC) DA('QMF720.SDSQCLTE','ISR.ISRCLIB')
ALLOC FI(SYSEXEC) DA('QMF720.SDSQEXCE')
/************************************************************/
/* Datasets used by ISPF                                    */
/************************************************************/
ALLOC FI(ISPLLIB) SHR REUSE +
 
      DA('QMF720.SDSQLOAD','ADM.GDDMLOAD','DSN.DSNEXIT','DSN.DSNLOAD')
ALLOC FI(ISPMLIB) SHR REUSE +
      DA('QMF720.SDSQMLBE','ISR.ISRMLIB','ISP.ISPMLIB')
ALLOC FI(ISPPLIB) SHR REUSE +
      DA('QMF720.SDSQPLBE','ISR.ISRPLIB','ISP.ISPPLIB')
ALLOC FI(ISPSLIB) SHR REUSE +
      DA('QMF720.SDSQSLBE','ISR.ISRSLIB','ISP.ISPSLIB')
ALLOC FI(ISPTLIB) SHR REUSE +
      DA('ISR.ISRTLIB','ISP.ISPTLIB')
/************************************************************/
/* QMF/GDDM Datasets                                        */
/************************************************************/
ALLOC FI(ADMGGMAP) DA('QMF720.QMFMAPS')  SHR REUSE
ALLOC FI(ADMCFORM) DA('QMF720.DSQCFORM') SHR REUSE
ALLOC FI(DSQUCFRM) DA('QMF720.DSQUCFRM') SHR REUSE
ALLOC FI(ADMSYMBL) DA('ADM.GDDMSYM')  SHR REUSE
ALLOC FI(ADMGDF)   DA('ADM.GDDM.CHARTLIB') SHR REUSE
ALLOC FI(ADMDEFS)  DA('ADM.GDDM.NICKNAME') SHR REUSE
/************************************************************/
/* Datasets used by QMF                                     */
/************************************************************/
ALLOC FI(DSQPRINT) SYSOUT(X) USING(PRINTDCB)
ALLOC FI(DSQDEBUG) SYSOUT(X) USING(DEBUGDCB)
ALLOC FI(DSQUDUMP) SYSOUT(X) USING(UDUMPDCB)
ALLOC FI(DSQSPILL) NEW UNIT(SYSDA) SPACE(1,1) TRACKS
ALLOC FI(DSQEDIT)  NEW UNIT(SYSDA) USING(EDITDCB)
ALLOC FI(DSQPNLE)  DA('QMF720.DSQPNLE') SHR REUSE
/************************************************************/
/* Start your program as the initial ISPF dialog            */
/************************************************************/
ISPSTART PGM(sampasm) NEWAPPL(DSQE)
EXIT CODE(4)

The EXIT CODE(4) suppresses the ISPF disposition panel.

Running in TSO without ISPF

After your program is assembled successfully, you can run it in TSO without ISPF by writing a program similar to the following:

Figure 35. CLIST for running your program under TSO without ISPF
PROC 0
CONTROL ASIS
/************************************************************/
/* Note: QMF, DB2 and GDDM load libraries must be allocated */
/*       before executing this CLIST.                       */
/*       Name of QMF load library is  "QMF720.SDSQLOAD".    */
/************************************************************/
/* Specify attribute list for dataset allocations           */
/************************************************************/
ATTR PRINTDCB LRECL(133) RECFM(F B A) BLKSIZE(1330)
ATTR DEBUGDCB LRECL(80)  RECFM(F B)   BLKSIZE(3120)
ATTR UDUMPDCB LRECL(125) RECFM(V B A) BLKSIZE(1632)
ATTR EDITDCB  LRECL(79)  RECFM(F B A) BLKSIZE(4029)
/************************************************************/
/* Datasets used by TSO                                     */
/************************************************************/
ALLOC FI(SYSPROC) DA('QMF720.SDSQCLTE')
ALLOC FI(SYSEXEC) DA('QMF720.SDSQEXCE')
/************************************************************/
/* QMF/GDDM Datasets                                        */
/************************************************************/
ALLOC FI(ADMGGMAP) DA('QMF720.QMFMAPS')  SHR REUSE
ALLOC FI(ADMCFORM) DA('QMF720.DSQCFORM') SHR REUSE
ALLOC FI(DSQUCFRM) DA('QMF720.DSQUCFRM') SHR REUSE
ALLOC FI(ADMSYMBL) DA('ADM.GDDMSYM')  SHR REUSE
ALLOC FI(ADMGDF)   DA('ADM.GDDM.CHARTLIB') SHR REUSE
ALLOC FI(ADMDEFS)  DA('ADM.GDDM.NICKNAME') SHR REUSE
/************************************************************/
/* Datasets used by QMF                                     */
/************************************************************/
ALLOC FI(DSQPRINT) SYSOUT(X) USING(PRINTDCB)
ALLOC FI(DSQDEBUG) SYSOUT(X) USING(DEBUGDCB)
ALLOC FI(DSQUDUMP) SYSOUT(X) USING(UDUMPDCB)
ALLOC FI(DSQSPILL) NEW UNIT(SYSDA) SPACE(1,1) TRACKS
ALLOC FI(DSQEDIT)  NEW UNIT(SYSDA) USING(EDITDCB)
ALLOC FI(DSQPNLE)  DA('QMF720.DSQPNLE') SHR REUSE
/************************************************************/
/* Start your program using TSO CALL command                */
/************************************************************/
CALL sampasm
EXIT CODE(0)
[ Previous Page | Next Page | Contents | Index ]