Materialize Invocation (MATINV)
Instruction Syntax
Op Code (Hex) | Operand 1 | Operand 2 |
---|---|---|
0516 | Receiver | Selection information |
Operand 2: Space pointer.
Bound Program Access |
---|
|
Warning
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.
Description:
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 |
|
|
0 | 0 |
|
|
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 |
|
|
18 | 12 |
|
|
20 | 14 |
|
|
28 |
1C |
--- End --- |
|
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 |
|
|
4 | 4 |
|
|
8 | 8 | Object identification | Char(32) |
8 | 8 |
|
|
9 | 9 |
|
|
10 | A |
|
|
40 | 28 | Trace specification | Char(2) |
40 |
28 |
|
|
40 |
28 |
|
|
40 |
28 |
|
|
40 |
28 |
|
|
40 | 28 |
|
|
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) |
* |
* |
Space pointer machine objects |
Char(*) |
* | * |
|
|
* | * |
|
|
* |
* |
|
|
* | * |
|
|
* | * | Parameters | Char(*) |
* | * |
|
|
* | * | Exception description | Char(*) |
* | * |
|
|
* | * |
|
|
* |
* |
|
|
* | * |
|
|
* | * |
|
|
* | * |
|
|
* |
* |
--- 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.
Authorization Required
- None
Lock Enforcement
- None
Exceptions
- 06 Addressing
- 0601 Space Addressing Violation
- 0602 Boundary Alignment
- 0603 Range
- 08 Argument/Parameter
- 0801 Parameter Reference Violation
- 10 Damage Encountered
- 1004 System Object Damage State
- 1044 Partial System Object Damage
- 1C Machine-Dependent
- 1C03 Machine Storage Limit Exceeded
- 1E Machine Observation
- 1E01 Program Not Observable
- 20 Machine Support
- 2002 Machine Check
- 2003 Function Check
- 22 Object Access
- 2201 Object Not Found
- 2202 Object Destroyed
- 2203 Object Suspended
- 2208 Object Compressed
- 220B Object Not Available
- 24 Pointer Specification
- 2401 Pointer Does Not Exist
- 2402 Pointer Type Invalid
- 2E Resource Control Limit
- 2E01 User Profile Storage Limit Exceeded
- 32 Scalar Specification
- 3201 Scalar Type Invalid
- 3202 Scalar Attributes Invalid
- 36 Space Management
- 3601 Space Extension/Truncation
- 38 Template Specification
- 3801 Template Value Invalid
- 3802 Template Size Invalid
- 3803 Materialization Length Invalid
- 44 Protection Violation
- 4401 Object Domain or Hardware Storage Protection Violation
- 4402 Literal Values Cannot Be Changed