GENASM | NOGENASM (C only)

Category

Compiler output

Pragma equivalent

None.

Purpose

Instructs the compiler to generate High-Level Assembler (HLASM) source code instead of object code for the program being compiled.

When the NOGENASM option is in effect, the compiler generates object code in the output file.

Syntax

Read syntax diagramSkip visual syntax diagramNOGENASMGENASM(Sequential filenamePartitioned data setPartitioned data set (member)z/OS UNIX System Services filenamez/OS UNIX System Services directory)

Defaults

NOGENASM

Parameters

Sequential filename
Specifies the sequential data set file name for the output file.
Partitioned data set
Specifies the partitioned data set for the output file.
Partitioned data set (member)
Specifies the partitioned data set (member) for the output file.
z/OS UNIX System Services filename
Specifies the z/OS® UNIX System Services file name for the output file.
z/OS UNIX System Services directory
Specifies the z/OS UNIX System Services directory for the output file.

Usage

Note: GENASM is only supported with the METAL option.

Because the GENASM option causes the compiler to generate code in HLASM source code format, no pseudo-assembly listing will be produced for the compilation unit when the LIST option is specified.

GENASM implies NOOBJECT.

  • In batch mode only:
    • When a file name suboption is specified with NOGENASM, the file name then becomes the default.
    • If you subsequently use the GENASM option without a file name suboption, the compiler uses the file name that you previously specified with the NOGENASM compiler option. For example, the following specifications have the same result:
      NOGENASM(hello.asm) METAL GENASM
      GENASM(hello.asm) METAL
    • If you do not specify a file name for the GENASM option, the compiler determines the output file name as follows:
      • If the JCL allocates DDNAME SYSLIN, it is used as the output file.
      • If the C source code is from a host data set, the compiler determines the output data set name by replacing the high-level qualifier of the input data set name with the userid of the owner of the job and appending .ASM as the new low-level qualifier.
      • If the C source code is from a z/OS UNIX file, the output file name is the input file name with the suffix changed to .s.
  • In the z/OS UNIX System Services environment only:
    • The GENASM option is not supported in UNIX System Services. The -S flag specifies that the output file produced by the compiler is in assembler source code format. For more information about the -S flag, see Options.

IPA effects

See section Building Metal C programs with IPA in z/OS Metal C Programming Guide and Reference.

Predefined macros

None.

Related information

For information on the METAL option, see METAL | NOMETAL (C only).