Use this system macro to release an available system work block
(SWB).
Format
- label
- A symbolic name can be assigned to the macro statement.
- BLOCK=Rn
- This register specifies the address of the SWB block to be
released. This parameter is required.
- SAVREG
- The specified volatile registers will be saved by the macro in
the stack area or in the registers specified by the WKREG parameter. Up
to 3 registers can be specified. Those registers are R0, R1, R2.
If this keyword is omitted, none of the 3 registers will be saved. You
should not save a volatile register if you expect it to contain an output
parameter. The register will be overwritten with its original contents,
since the reload is the last thing performed by the macro.
- WKREG
- The specified symbolic register names are free to be used by the macro to
save the volatile registers coded on the SAVREG parameter.
Up to 3 registers can be specified, but the standard linkage registers R13
through R2 cannot be used here. This parameter is used in conjunction
with the SAVREG parameter to generate efficient code and enhance the
performance of the macro. The number of registers specified by WKREG
should be less than or equal to the number of registers specified by
SAVREG. If this parameter is omitted or not used to its maximum
capacity, code optimization is sacrificed.
Entry Requirements
- Programs invoking this macro must be running with a storage protection key
of zero and be in 31-bit addressing mode.
- Programs can be executing in either the EVM or the SVM address
space.
Return Conditions
Control is returned to the next sequential instruction (NSI).
Programming Considerations
- This macro can be run on any I-stream.
- $RELBC can also be used to release SWBs.
- System error dumps can occur when servicing a $RSWBC request.
See Messages (System Error and Offline) for more
information.
Examples
None.