Op Code (Hex) | Operand 1 | Operand 2 | Operand 3 | |
---|---|---|---|---|
03D7 | Attribute receiver | Exception description | Materialization option |
Operand 1: Space pointer.
Operand 2: Exception description.
Operand 3: Character(1) scalar.
The instruction materializes the attributes (operand 3) of an exception description (operand 2) into the receiver specified by operand 1.
The template identified by operand 1 must be a 16-byte aligned area in the space if the materialization option is hex 00.
Operand 2 identifies the exception description to be materialized.
The value of operand 3 specifies the materialization
option. If the materialization
option is hex 00, the format of the exception
description materialization is as follows:
Offset | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||||||||
0 | 0 |
| Template size |
| Char(8) | ||||||||||||||||||
0 | 0 |
| Number of bytes provided for materialization |
| Bin(4) | ||||||||||||||||||
4 | 4 |
| Number of bytes available for materialization |
| Bin(4) | ||||||||||||||||||
8 | 8 |
| Control flags |
| Char(2) | ||||||||||||||||||
8 | 8 |
| Exception handling action |
| Bits 0-2 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
8 | 8 |
| No data |
| Bit 3 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
8 | 8 |
| Reserved (binary 0) |
| Bit 4 | ||||||||||||||||||
8 | 8 |
| User data indicator |
| Bit 5 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
8 | 8 |
| Reserved (binary 0) |
| Bits 6-7 | ||||||||||||||||||
8 | 8 |
| Exception handler type |
| Bits 8-9 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
8 | 8 |
| Reserved (binary 0) |
| Bits 10-15 | ||||||||||||||||||
10 | A |
| Instruction number to be given control |
| UBin(2) | ||||||||||||||||||
|
|
|
(if exception handler type is internal entry point
or branch point; otherwise, 0)
| ||||||||||||||||||||
12 | C |
| Length of compare value (maximum of 32 bytes) |
| Bin(2) | ||||||||||||||||||
14 | E |
| Compare value (size established by value of length of compare value field) |
| Char(32) | ||||||||||||||||||
46 | 2E |
| Number of exception IDs |
| Bin(2) | ||||||||||||||||||
48 | 30 |
| System pointer to the exception handling program (if exception handler type is external entry point) |
| System pointer | ||||||||||||||||||
64 | 40 |
| Pointer to user data (not present if value of user data indicator is 0) |
| Space pointer | ||||||||||||||||||
80 | 50 |
| Exception ID (one for each exception ID dictated by the number of exception IDs field) |
| [*] Char(2) | ||||||||||||||||||
* | * |
| --- End --- |
|
|
If the materialization option is hex 01, the format
of the materialization is as
follows:
Offset | |||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||||||||||||
0 | 0 |
| Template size |
| Char(8) | ||||||||||||||||||
0 | 0 |
| Number of bytes provided for materialization |
| Bin(4) | ||||||||||||||||||
4 | 4 |
| Number of bytes available for materialization |
| Bin(4) | ||||||||||||||||||
8 | 8 |
| Control flags |
| Char(2) | ||||||||||||||||||
8 | 8 |
| Exception handling action |
| Bits 0-2 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
8 | 8 |
| No data |
| Bit 3 | ||||||||||||||||||
|
|
|
| ||||||||||||||||||||
8 | 8 |
| Reserved (binary 0) |
| Bits 4-15 | ||||||||||||||||||
10 | A |
| --- End --- |
|
|
If the materialization option is hex 02, the format
of the materialization is as follows:
Offset | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Dec | Hex |
| Field Name |
| Data Type and Length | ||||||||
0 | 0 |
| Template size |
| Char(8) | ||||||||
0 | 0 |
| Number of bytes provided for materialization |
| Bin(4) | ||||||||
4 | 4 |
| Number of bytes available for materialization |
| Bin(4) | ||||||||
8 | 8 |
| Compare value length (maximum of 32 bytes) |
| Bin(2) | ||||||||
10 | A |
| Compare value |
| Char(32) | ||||||||
42 | 2A |
| --- End --- |
|
|
The first 4 bytes of the materialization identify the total number of bytes provided for use by the instruction. This value is supplied as input to the instruction and is not modified by the instruction. A value of less than 8 causes the materialization length invalid (hex 3803) exception to be signaled.
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 the excess bytes are unchanged. No exceptions (other than the materialization length invalid (hex 3803) exception) are signaled in the event that the receiver operand contains insufficient area for the materialization.
06 Addressing
08 Argument/Parameter
10 Damage Encountered
1C Machine-Dependent
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