Assemble (or Compile), Link-Edit, and Execute

You can also combine the job steps described above with a job step for assembling or compiling your source program. This is especially useful when you are developing a program. Figure 1 shows how your job should be set up.

Note: The statement
// EXEC ASMA90....
calls the High Level Assembler. Refer to High Level Assembler Considerations for further details.
Except for the source code and the /* statement which are read from SYSIPT, all other statements are read from SYSRDR.
(1)
// OPTION LINK causes the assembler to write the object module created on SYSLNK.
(2)
GO in the EXEC statement causes the Linkage Editor to use the object module stored on SYSLNK as input for a link-edit run. Moreover, after link-editing the phase is stored temporarily in the virtual I/O area and is executed once. Without the GO parameter an additional // EXEC LNKEDT and // EXEC statement would be required for achieving the same result. The GO parameter has the same effect when working with other VSE language translators.

For multiple assemblies (compilations), an OPTION LINK statement must precede the first EXEC statement for an assembly or compilation. This is true also when Linkage Editor control statements like INCLUDE or PHASE are used. If no LINK option is set, the GO parameter will be in effect only for the EXEC statement it appears on, and the ACTION default will be set to NOMAP (Linkage Editor control statements are described below, in "Preparing Input for the Linkage Editor", later in this section).

When you make use of the GO parameter, your executable program has to run in virtual mode, and the partition GETVIS area available to this program will be of the IBM set default size unless you have changed that value using the SIZE command.

If errors occur in one job step causing an abnormal termination, the remaining job steps are ignored. Certain Linkage Editor errors do not cause job step termination. If you do not want to execute the program when these errors occur, you may specify ACTION CANCEL after the // OPTION LINK.