Op Code (Hex) | Operand 1 | Operand 2 | ||
---|---|---|---|---|
0096 | Receiver | Source |
Operand 2: Numeric variable scalar, character variable scalar, numeric variable array, or character variable array.
Bound program access |
---|
|
For non-bound programs: A data pointer is created and returned in the storage area specified by operand 1 and has the attributes and space addressability of the object specified by operand 2. Addressability is set to the low-order (leftmost) byte of the object specified by operand 2.
If operand 2 is a substring compound operand, the length attribute is set equal to the length of the substring. If operand 2 is a subscript compound operand, the attributes and addressability of the single array element specified are assigned to the data pointer. If operand 2 is an array, the attributes and addressability of the first element of the array are assigned to the data pointer. A data pointer can only be set to describe an element of a data array, not a data array in its entirety.
For bound (including service) programs: A data pointer is created and returned with the space addressability provided by the first operand and the attributes specified by the second operand. The attributes given to the data pointer include scalar type and scalar length.
For all programs: When the addressability in the data pointer is modified, the instruction signals the 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 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
36 Space Management
44 Protection Violation