Set Space Pointer From Pointer (SETSPPFP)
Instruction Syntax
Op Code (Hex) | Operand 1 | Operand 2 |
---|---|---|
0022 | Receiver | Source pointer |
Operand 2: Data pointer, system pointer, or space pointer.
Bound Program Access |
---|
The source pointer operand corresponds to operand 2 on the SETSPPFP operation. The return value corresponds to operand 1 after the function completes. |
Description:
A space pointer is returned in operand 1 with the addressability to a space from the pointer specified by operand 2.
The meaning of the pointers allowed for operand 2 is as follows:
Pointer | Meaning |
---|---|
Data pointer or space pointer | The space pointer returned in operand 1 is set to address the same byte addressed by the operand 2 source pointer. |
System pointer | The space pointer returned in operand 1 is set to address the first byte of the space associated with the system object addressed by the system pointer for operand 2. If the operand 2 system pointer addresses a system object with no associated space, the invalid space reference (hex 0605) exception is signaled. |
The object destroyed (hex 2202) exception, parameter reference violation (hex 0801) exception, and pointer does not exist (hex 2401) exception are not signaled when operand 1 and operand 2 are space pointer machine objects. This occurs when operand 2 contains an internal machine value that indicates one of these error conditions exists. If the corresponding exception is not signaled, operand 1 is set with an internal machine value that preserves the exception condition that existed for operand 2. The appropriate exception condition will be signaled for either pointer when a subsequent attempt is made to reference the space data that the pointer addresses.
Authorization Required
- Space authority
- Operand 2 (if a system pointer)
- Execute
- Contexts referenced for address resolution
Lock Enforcement
- Materialize
- Contexts referenced for address resolution
Exceptions
- 06 Addressing
- 0601 Space Addressing Violation
- 0602 Boundary Alignment
- 0603 Range
- 0604 External Data Object Not Found
- 0605 Invalid Space Reference
- 08 Argument/Parameter
- 0801 Parameter Reference Violation
- 0A Authorization
- 0A01 Unauthorized for Operation
- 10 Damage Encountered
- 1004 System Object Damage State
- 1005 Authority Verification Terminated Due to Damaged Object
- 1044 Partial System Object Damage
- 1A Lock State
- 1A01 Invalid Lock State
- 1C Machine-Dependent
- 1C03 Machine Storage Limit Exceeded
- 20 Machine Support
- 2002 Machine Check
- 2003 Function Check
- 22 Object Access
- 2201 Object Not Found
- 2202 Object Destroyed
- 2203 Object Suspended
- 2204 Object Not Eligible for Operation
- 2207 Authority Verification Terminated Due to Destroyed Object
- 2208 Object Compressed
- 220B Object Not Available
- 24 Pointer Specification
- 2401 Pointer Does Not Exist
- 2402 Pointer Type Invalid
- 2403 Pointer Addressing Invalid Object Type
- 2E Resource Control Limit
- 2E01 User Profile Storage Limit Exceeded
- 36 Space Management
- 3601 Space Extension/Truncation
- 44 Protection Violation
- 4401 Object Domain or Hardware Storage Protection Violation
- 4402 Literal Values Cannot Be Changed