Set Space Pointer From Pointer (SETSPPFP)

Instruction Syntax

Op Code (Hex) Operand 1 Operand 2
0022 Receiver Source pointer
Operand 1: Space pointer.

Operand 2: Data pointer, system pointer, or space pointer.

Bound Program Access
Built-in number for SETSPPFP is 141.
SETSPPFP (
          source_pointer   : system pointer OR
                             data pointer OR
                             space pointer(16)
) :   address /* receiver */

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