Description

Use the OUTADD macro to create an output descriptor for a system output (sysout) data set. For information about using the OUTADD macro, see “Dynamic Output” in z/OS MVS Programming: Authorized Assembler Services Guide.

The OUTADD macro has no standard form. Use the list form to generate a storage declaration for the input parameter list to dynamic output. Use the execute form to modify the parameter list and invoke dynamic output.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Problem state and any PSW key
Dispatchable unit mode: Task
Cross memory mode: PASN=HASN=SASN
AMODE: 24- or 31-bit
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: No locks held
Control parameters: Must be in the primary address space

Programming requirements

When you code the input data to dynamic output, all character data must be left-justified in a field of blanks. Any noncharacter input data must be right-justified in a field of binary zeroes. All input addresses or pointers must be coded as 31-bit addresses, even when you invoke dynamic output in a 24-bit addressing environment. If you use a 24-bit address, you must right-justify the address in a 4-byte field, and set the left-most byte to binary zeroes.

Restrictions

Input register information

Before issuing the OUTADD macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0
Reason code
1
Key of the failing text unit, if available; otherwise, zero
2-14
Unchanged
15
Return code
When control returns to the caller, the ARs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as work registers by the system

Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.

Performance implications

None.