The PRINT instruction controls the amount of detail printed in
the listing of programs.

.-,-------.
V |
>>-+-----------------+--PRINT----operand-+---------------------><
'-sequence_symbol-'
- sequence_symbol
- Is a sequence symbol.
- operand
- Is an operand from one of the groups of operands described below.
If a null operand is supplied, it is accepted by the assembler with
no effect on the other operands specified. The operands are listed
in hierarchic order. The effect, if any, of one operand on other operands
is also described.

.-ON--.
>>-+-----+-----------------------------------------------------><
'-OFF-'
- ON
- Instructs the assembler
to print, or resume printing, the source and object section
of the assembler listing.
- OFF
- Instructs the assembler
to stop printing the source and object section of the assembler
listing. A subsequent PRINT ON instruction resumes printing.
When
this operand is specified the printing actions requested by the GEN,
DATA, MCALL, and MSOURCE operands do not apply.

.-GEN---.
>>-+-------+---------------------------------------------------><
'-NOGEN-'
- GEN
- Instructs the assembler
to print all statements generated by the processing of a macro. This
operand does not apply if PRINT OFF has been specified.
- NOGEN
- Instructs the assembler
not to print statements generated by conditional assembly or the processing
of a macro. This applies to all levels of macro nesting; no generated
code is displayed while PRINT NOGEN is in effect. If this operand
is specified, the DATA operand does not apply to constants that are
generated during macro processing. Also, if this operand is specified,
the MSOURCE operand does not apply. When the PRINT NOGEN instruction
is in effect, the assembler prints one of the following on the same
line as the macro call or model statement:
- The object code for the first instruction generated. The object
code includes the data that is shown under the ADDR1 and ADDR2 columns
of the assembler listing.
- The first eight bytes of generated data from a DC instruction
When the assembler forces alignment
of an instruction or data constant, it generates zeros in the object
code and prints the generated object code in the listing. When you
use the PRINT NOGEN instruction the generated zeros are not printed.
Note: If
the next line to print after macro call or model statement is a diagnostic
message, the object code or generated data is not shown in the assembler
listing.
The MNOTE instruction always causes a message
to be printed.

.-NODATA-.
>>-+--------+--------------------------------------------------><
'-DATA---'
- NODATA
- Instructs the
assembler to print only the first eight bytes of the object code of
constants. For object code generated by CNOP instructions, only the
first 16 bytes of object code will be printed. This operand does not
apply if PRINT OFF has been specified. If PRINT NOGEN has been specified,
this operand does not apply to constants generated during macro processing.
- DATA
- Instructs the assembler
to print the object code of all constants in full. This operand does
not apply if PRINT OFF has been specified. If PRINT NOGEN has been
specified, this operand does not apply to constants generated during
macro processing.

.-NOMCALL-.
>>-+---------+-------------------------------------------------><
'-MCALL---'
- NOMCALL
- Instructs the
assembler to suppress the printing of nested macro call instructions.
- MCALL
- Instructs the assembler
to print nested macro call instructions, including the name of the
macro definition to be processed and the operands and values passed
to the macro definition. The assembler only prints the operands and
comments up to the size of its internal processing buffer. If this
size is exceeded the macro call instruction is truncated, and the
characters ... MORE are added to the end of the printed
macro call. This does not affect the processing of the macro call.
This operand does not apply if either PRINT OFF or PRINT NOGEN
has been specified.

.-MSOURCE---.
>>-+-----------+-----------------------------------------------><
'-NOMSOURCE-'
- MSOURCE
- Instructs the
assembler to print the source statements generated during macro processing,
as well as the assembled addresses and generated object code of the
statements. This operand does not apply if either PRINT OFF or PRINT
NOGEN has been specified.
- NOMSOURCE
- Instructs the
assembler to suppress the printing of source statements generated
during macro processing, without suppressing the printing of the assembled
addresses and generated object code of the statements. This operand
does not apply if either PRINT OFF or PRINT NOGEN has been specified.

.-UHEAD---.
>>-+---------+-------------------------------------------------><
'-NOUHEAD-'
- UHEAD
- Instructs the assembler
to print a summary of active USINGs following the TITLE line on each
page of the source and object program section of the assembler
listing. This operand does not apply if PRINT OFF has been specified.
- NOUHEAD
- Instructs the
assembler not to print a summary of active USINGs.

>>-+---------+-------------------------------------------------><
'-NOPRINT-'
- NOPRINT
- Instructs the
assembler to suppress the printing of the PRINT statement in which
it is specified. The NOPRINT operand must only be specified with
one or more other operands.
The PRINT instruction can be specified any number of times in a
source module, but only those operands specified in the instruction
change the current print status.
PRINT options can be generated by macro processing during conditional
assembly. However, at assembly time, all options are in force until
the assembler encounters a new and opposite option in a PRINT instruction.
The PUSH and POP instructions, described in PUSH instruction and POP instruction,
also influence the PRINT options by saving and restoring the PRINT
status.
You can override the effect of the operands of the PRINT instruction
by using the PCONTROL assembler option. For more information about
this option, see the section "PCONTROL" in the HLASM Programmer's Guide.
Unless the NOPRINT operand is specified,
or the assembler listing is suppressed by the NOLIST assembler option,
the PRINT instruction itself is printed.