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.
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 |
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.
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.
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.
None.