Op Code (Hex) | Operand 1 | Operand 2 | ||
---|---|---|---|---|
0516 | Receiver | Selection information |
Operand 2: Space pointer.
Bound program access |
---|
|
The following information is subject to change from release to release. Use it with caution and be prepared to adjust for changes with each new release.
The attributes of the invocation selected through operand 2 are materialized into the receiver designated by operand 1.
Operand 2 is a space pointer that addresses a template that has the
following format:
Offset | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||
0 | 0 |
| Control information |
| Char(2) | ||||||||||||
0 | 0 |
| Template extension |
| Bit 0 + | ||||||||||||
|
|
|
| ||||||||||||||
0 | 0 |
| Invocation number |
| Bits 1-15 | ||||||||||||
2 | 2 |
| Offset to list of parameters |
| Bin(4) + | ||||||||||||
6 | 6 |
| Number of parameter ODV numbers |
| Char(2) + | ||||||||||||
8 | 8 |
| Offset to list of exception descriptions |
| Bin(4) + | ||||||||||||
12 | C |
| Number of exception description ODV numbers |
| Char(2) + | ||||||||||||
14 | E |
| Template extension (optional) |
| Char(14) + | ||||||||||||
14 | E |
| Offset to list of space pointer machine objects |
| Bin(4) + | ||||||||||||
18 | 12 |
| Number of space pointer machine object ODV numbers |
| Char(2) + | ||||||||||||
20 | 14 |
| Reserved (binary 0) |
| Char(8) | ||||||||||||
28 | 1C |
| --- End --- |
|
|
Note: | Fields annotated with a (+) must be set to all binary 0s if the invocation is not for a non-bound program. Otherwise, a template value invalid (hex 3801) exception is signaled. |
The offset to list of space pointer machine objects, offset to list of parameters, and the offset to list of exception descriptions are relative to the start of the operand 2 template. Each list is an array of Char(2) ODV numbers. The number of space pointer machine object ODV numbers, number of parameter ODV numbers, and the number of exception description ODV numbers define the sizes of the arrays.
Operand 1 is a space pointer that addresses a 16-byte aligned
template into which the materialized data is placed. The format of the
data is:
Offset | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||
0 | 0 |
| Materialization size specification |
| Char(8) | ||||||||||||
0 | 0 |
| Number of bytes provided by the user |
| Bin(4) | ||||||||||||
4 | 4 |
| Number of bytes available for materialization |
| Bin(4) | ||||||||||||
8 | 8 |
| Object identification |
| Char(32) | ||||||||||||
8 | 8 |
| Program type |
| Char(1) | ||||||||||||
9 | 9 |
| Program subtype |
| Char(1) | ||||||||||||
10 | A |
| Program name |
| Char(30) | ||||||||||||
40 | 28 |
| Trace specification |
| Char(2) | ||||||||||||
40 | 28 |
| Invocation trace status |
| Bit 0 | ||||||||||||
|
|
|
| ||||||||||||||
40 | 28 |
| Return trace |
| Bit 1 | ||||||||||||
|
|
|
| ||||||||||||||
40 | 28 |
| Invocation trace propagation |
| Bit 2 | ||||||||||||
|
|
|
| ||||||||||||||
40 | 28 |
| Return trace propagation |
| Bit 3 | ||||||||||||
|
|
|
| ||||||||||||||
40 | 28 |
| Reserved (binary 0) |
| Bits 4-15 | ||||||||||||
42 | 2A |
| --- End --- |
|
|
The following fields are returned only for non-bound program invocations.
Offset | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||||||||
42 | 2A |
| Instruction number |
| UBin(2) | ||||||||||||||||||
44 | 2C |
| Offset to parameter values |
| Bin(4) | ||||||||||||||||||
48 | 30 |
| Offset to exception description value |
| Bin(4) | ||||||||||||||||||
52 | 34 |
| Offset to space pointer machine object values |
| Bin(4) | ||||||||||||||||||
|
|
|
(Optional-This data is present only if the
template extension is present in the
selection information.)
| ||||||||||||||||||||
* | * |
| Space pointer machine objects |
| Char(*) | ||||||||||||||||||
|
|
|
(Optional-This data is present only if the
template extension is present in the
selection information.)
| ||||||||||||||||||||
* | * |
| For each ODV number specified for a space pointer machine object, the value of the space pointer machine object is materialized as follows: |
| [*] Char(32) | ||||||||||||||||||
* | * |
| Reserved (binary 0) |
| Char(15) | ||||||||||||||||||
* | * |
| Pointer value indicator |
| Char(1) | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
* | * |
| Space pointer data object containing the space pointer machine object value if addressability value is valid. |
| Space pointer | ||||||||||||||||||
* | * |
| Parameters |
| Char(*) | ||||||||||||||||||
* | * |
| For each parameter ODT number specified, the address of the parameter data is materialized (If no parameter ODT numbers are materialized, this parameter is binary 0.) |
| [*] Space pointer | ||||||||||||||||||
* | * |
| Exception description |
| Char(*) | ||||||||||||||||||
* | * |
| For each exception description ODT number specified, the following is materialized: |
| [*] Char(36) | ||||||||||||||||||
* | * |
| Control flags |
| Char(2) | ||||||||||||||||||
* | * |
| Exception handling action |
| Bits 0-2 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
* | * |
| Reserved (binary 0) |
| Bits 3-15 | ||||||||||||||||||
* | * |
| Compare value length |
| Bin(2) | ||||||||||||||||||
* | * |
| Compare value |
| Char(32) | ||||||||||||||||||
* | * |
| --- End --- |
|
|
The second 4 bytes of the materialization identify the total number of bytes available to be materialized. The instruction materializes as many bytes as can be contained in the area specified as the receiver. If the byte area identified by the receiver is greater than that required to contain the information requested, then excess bytes are unchanged.
No exceptions (other than the materialization length invalid (hex 3803) exception) are signaled in the event that the receiver contains insufficient area for the materialization.
The instruction number returned depends on how control was passed from the invocation:
Exit Type | Instruction Number |
Call External | Locates the Call External instruction |
Event | Locates the next instruction to execute |
Exception | Locates the instruction that caused the exception |
If the offset to list of parameters or the number of parameter ODT numbers is 0, no parameters are returned and the offset to parameters value is 0. If any parameters are returned, they are 16-byte aligned. If the offset to list of exception descriptions or the number of exception description ODT numbers is 0, no exception descriptions are returned and the offset to exception description values are 0.
06 Addressing
08 Argument/Parameter
10 Damage Encountered
1C Machine-Dependent
1E Machine Observation
20 Machine Support
22 Object Access
24 Pointer Specification
2E Resource Control Limit
32 Scalar Specification
36 Space Management
38 Template Specification
44 Protection Violation