Store Space Pointer Offset (STSPPO)


Op Code (Hex) Operand 1 Operand 2

00A2 Receiver Source

Operand 1: Binary variable scalar.

Operand 2: Space pointer.

Description  The offset value of the space pointer referenced by operand 2 is stored in the binary variable scalar defined by operand 1.

If operand 2 does not contain a space pointer, a pointer does not exist  (hex 2401) exception is signaled.

If operand 2 points to teraspace, an unsupported space use  (hex 0607) exception is signaled. This is necessary because no binary variable is large enough to contain an arbitrary teraspace offset. However, to retrieve a teraspace offset value within some specific allocation that is known to be smaller than the maximum value of a binary result variable, the SUBSPPFO instruction can be used. A pointer to the start of the teraspace allocation can be subtracted from a pointer to the current location within the allocation that is being referenced, for example.

If binary size  (hex 0C0A) exceptions are to be signaled either because the program creation attribute indicated to do so or because a translator directive indicated to do so, they will be signalled under the following conditions:

Authorization Required

Lock Enforcement

Exceptions

06 Addressing

08 Argument/Parameter

0C Computation

10 Damage Encountered

1C Machine-Dependent

20 Machine Support

22 Object Access

24 Pointer Specification

2E Resource Control Limit

36 Space Management

44 Protection Violation