PSECT reference—R
The R-type constant reserves storage for the address of the PSECT of symbol1 as specified in the associated XATTR statement (XATTR instruction (z/OS and CMS)). It is the caller's responsibility to establish the definition of the R-type address constant referencing the called routine's PSECT, and to pass that address to the called routine. This constant is only available if the GOFF option is specified.
Note: If a program is to be reentrant, R-type address constants must
not appear in shared (read-only) text. They should be in the caller's
PSECT, and be provided to the called routine using an appropriate
convention. That is, R-type address constants referring to PSECTs
should themselves reside in PSECTs. If not, there can be only a single
instantiation of the PSECT work area, and the program cannot be reentrant.
Subfield | Value | Example | Result | |
---|---|---|---|---|
1. | Duplication factor | Allowed | ||
2. | Type | R | ||
3. | Type Extension | D | ||
4. | Program type | Allowed | ||
5. | Modifiers | |||
Length: | R-type: 3 or 4 only RD-type: 3, 4, or 8 (no bit length) |
|||
Implicit length: (Length modifier not present) |
R-type: 4 bytes RD-type: 8 bytes |
|||
Alignment: (Length modifier not present) |
R-type: Fullword RD-type: Doubleword |
|||
Scale: | Not allowed | |||
Exponent: | Not allowed | |||
6. | Nominal value Represented by: |
An ordinary symbol |
DC R(PSECT1) |
|
Enclosed by: | Parentheses | |||
Exponent allowed: | No | |||
Number of values per operand: | Multiple | |||
Padding: | With zeros at left | |||
Truncation of assembled value: | Not applicable |