Cataloged procedure for assembly (ASMAC)
This procedure consists of one job step: assembly. Use the name ASMAC to call this procedure. The result of running this procedure is an object module written to SYSPUNCH and an assembler listing. (See Invoking the assembler on z/OS for more details and another example.)
In the following example, input is provided in the input stream:
//jobname JOB
//stepname EXEC PROC=ASMAC
//SYSIN DD *
⋮
assembler source statements
⋮
/* (delimiter statement)
The statements of the ASMAC procedure are read from the procedure library and merged into the input stream.
Figure 1 shows the statements that make
up the ASMAC procedure. Figure 1. Cataloged
procedure for assembly (ASMAC)
//ASMAC PROC
//*
//********************************************************************
//* Licensed Materials - Property of IBM *
//* *
//* 5696-234 5647-A01 *
//* *
//* (C) Copyright IBM Corp. 1992, 2008. All Rights Reserved. *
//* *
//* US Government Users Restricted Rights - Use, *
//* duplication or disclosure restricted by GSA ADP *
//* Schedule Contract with IBM Corp. *
//* *
//********************************************************************
//* *
//* ASMAC *
//* *
//* THIS PROCEDURE RUNS THE HIGH LEVEL ASSEMBLER AND CAN BE USED *
//* TO ASSEMBLE PROGRAMS. *
//* *
//********************************************************************
//C EXEC PGM=ASMA90
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR 1
//SYSUT1 DD DSN=&&SYSUT1,SPACE=(16384,(120,120),,,ROUND), 2
// UNIT=SYSALLDA,DCB=BUFNO=1
//SYSPRINT DD SYSOUT=* 3
//SYSLIN DD DSN=&&OBJ,SPACE=(3040,(40,40),,,ROUND), 4
// UNIT=SYSALLDA,DISP=(MOD,PASS),
// DCB=(BLKSIZE=3040,LRECL=80,RECFM=FB,BUFNO=1)
Notes to Figure 1:
- 1
- This statement identifies the macro library data set. The data set name SYS1.MACLIB is an IBM® designation.
- 2
- This statement specifies the assembler work data set. The device class name used here, SYSALLDA, represents a direct-access unit The I/O unit assigned to this name is specified by the installation when the operating system is generated. A unit name such as 3390 or SYSDA can be substituted for SYSALLDA.
- 3
- This statement defines the standard system output class, SYSOUT=*, as the destination for the assembler listing.
- 4
- This statement describes the data set that contains the object module produced by the assembler.