Materialize Exception Description (MATEXCPD)


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.

Description

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



000 = Do not handle. (Ignore occurrence of exception and continue processing.)
001 = Do not handle. (Disable this exception description and continue to search this invocation for another exception description to handle the exception.)
010 = Do not handle. (Continue to search for an exception description by resignaling the exception to the preceding invocation.)
100 = Defer handling. (Save exception data for later exception handling.)
101 = Pass control to the specified exception handler.


8 8
No data
Bit 3



0 = Exception data is returned
1 = Exception data is not returned


8 8
Reserved (binary 0)
Bit 4
8 8
User data indicator
Bit 5



0 = User data not present
1 = User data present


8 8
Reserved (binary 0)
Bits 6-7
8 8
Exception handler type
Bits 8-9



00 = External entry point
01 = Internal entry point
10 = Branch point


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



000 = Do not handle. (Ignore occurrence of exception and continue processing.)
001 = Do not handle. (Disable this exception description and continue to search this invocation for another exception description to handle the exception.)
010 = Do not handle. (Continue to search for an exception description by resignaling the exception to the preceding invocation.)
100 = Defer handling. (Save exception data for later exception handling.)
101 = Pass control to the specified exception handler.



8 8
No data
Bit 3



0 = Exception data is returned
1 = Exception data is not returned



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.

Authorization Required

Lock Enforcement

Exceptions

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