Step 4: Customize the High Level Assembler procedures

Four standard procedures are supplied with High Level Assembler. They are:
ASMAC
Assembles only
ASMACL
Assembles and link-edits a program
ASMACLG
Assembles, link-edits a program, and runs the program
ASMACG
Assembles and uses the loader to run the program

They are distributed in the target library, ASM.SASMSAM1.

If you have installed the High Level Assembler load modules into your own library, you will need to add a STEPLIB DD statement for your library, to the procedures.

You may decide to move the High Level Assembler procedures to your system procedure library. A sample job, ASMASTD is supplied to help you do this.

Edit and submit the job ASMASTD to move the procedures. Consult the instructions in the sample job for information about changes you may need to make. Figure 1 shows this sample job.

This job moves the procedures into SYS1.PROCLIB; if necessary change this to match your system procedure library.

As an alternative to moving these procedures to a JES- defined procedure library, consider using a JCLLIB JCL statement

The names of the supplied procedures changed after High Level Assembler Release 1. Therefore the original Release 1 procedures are supplied as aliases in the target library ASM.SASMSAM1. If you also want to move the aliases to SYS1.PROCLIB or other JES defined procedure libraries then include another SELECT statement in the ASMASTD job. For example:
SELECT MEMBER=HLASMC,HLASMCG,HLASMCLG,HLASMCL
In some circumstances you may receive the following message when running these procedures:
IEF686I DDNAME REFERRED TO ON DDNAME KEYWORD
        IN PRIOR STEP WAS NOT RESOLVED

This warning message indicates that there were no linkage editor control statements. You supply these statements following a SYSIN DDNAME statement. If you did not supply any linkage-editor control statements, this message can be ignored.

Figure 1, Figure 2, Figure 3, and Figure 4 show these procedures as shipped with High Level Assembler.
Figure 1. Copying procedures from sample library to procedure library
//ASMASTD  JOB  <JOB CARD PARAMETERS>
//*
//         EXEC PGM=IEBCOPY
//SASMSAM1 DD  DSN=#hlq.SASMSAM1,
//             DISP=SHR
//OUT      DD  DSN=SYS1.PROCLIB,DISP=OLD
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
         COPY INDD=SASMSAM1,OUTDD=OUT
         SELECT MEMBER=ASMAC,ASMACG,ASMACLG,ASMACL
/*