Op Code (Hex) | Operand 1 | Operand 2 | ||
---|---|---|---|---|
0092 | Receiver | Source |
Operand 2: Binary scalar.
Description: The value of the binary scalar specified by operand 2 is assigned to the offset portion of the space pointer identified by operand 1. The space pointer continues to address the same space object.
Operand 1 must contain a space pointer; otherwise, a pointer type invalid (hex 2402) exception is signaled.
When operand 1 points into teraspace, the pointer offset value might not be set correctly because there is no binary field large enough to hold a full teraspace offset. However, an exception may or may not be signaled. Note that STSPPO signals an exception when attempted on a space pointer containing a teraspace address, so there can be no expectation that a stored offset can later be used to set a teraspace offset. However, an alternative to SETSPPO for handling some teraspace values is to use a pointer to the start of the teraspace allocation and then add in an offset computed using the SUBSPPFO instruction. Offsets within one teraspace allocation can be used to set a space pointer in this way when the specific allocation size is known to be smaller than the maximum value of a binary variable. See STSPPO for more information.
When the addressability in the space pointer is modified, the instruction signals a space addressing violation (hex 0601) exception when one of the following conditions occurs:
Attempts to use a pointer whose offset value lies: between the currently allocated extent of the space and the maximum allocatable extent, or whose offset is outside all teraspace allocations, cause the space addressing violation (hex 0601) exception to be signaled.
06 Addressing
08 Argument/Parameter
10 Damage Encountered
1C Machine-Dependent
20 Machine Support
22 Object Access
24 Pointer Specification
2E Resource Control Limit
32 Scalar Specification
36 Space Management
44 Protection Violation