Materialize Machine Data (MATMDATA)


Op Code (Hex) Operand 1 Operand 2

0522 Receiver Materialization option

Operand 1: Character variable scalar.

Operand 2: Character(2) constant, or unsigned binary(2) constant or immediate.

Bound program access

Built-in number for MATMDATA is 160. MATMDATA ( receiver : address materialization_option : literal(2) OR literal(4) )

The materialization_option may be declared as a literal of any scalar data type.

 
  -- OR --
 

Built-in number for MATTOD is 94. MATTOD ( time_of_day : address )

The time-of-day clock is materialized. This function is identical to MATMDATA when a materialization_option value of Hex 0000 is specified.

Description

The machine data requested by materialization option is returned at the location specified by receiver. For the purposes of this instruction, machine data refers to any data that is encapsulated by the machine. The data can be either thread-specific or apply system-wide.

Operand 2 is a 2-byte value. The value of operand 2 determines which machine data are materialized. Operand 2 is restricted to a constant character or unsigned binary scalar or an immediate value. A summary of the allowable values for Operand 2 follows.


Table 1. Materialization option

Option value Description Page
Hex 0000 Materialize time-of-day clock as local time with a value that is unique "Hex 0000 = Materialize time-of-day clock as local time with a value that is unique"
Hex 0001 Materialize system parameter integrity validation flag "Hex 0001 = Materialize system parameter integrity validation flag"
Hex 0002 Materialize thread execution mode flag "Hex 0002 = Materialize thread execution mode flag"
Hex 0003 Materialize maximum size of a space object or associated space when space alignment is chosen by the machine "Hex 0003 = Materialize maximum size of a space object or associated space when space alignment is chosen by the machine"
Hex 0004 Materialize time-of-day clock as Coordinated Universal Time (UTC) with a value that is unique "Hex 0004 = Materialize time-of-day clock as Coordinated Universal Time (UTC)"
Hex 0005 Materialize the machine default page size "Hex 0005 = Materialize machine default page size"
Hex 0006 Materialize the teraspace segment size "Hex 0006 = Materialize teraspace segment size"
Hex 0007 Materialize time-of-day clock as local time with a value that is not unique "Hex 0007 = Materialize time-of-day clock as local time with a value that is not unique"
Hex 0008 Materialize time-of-day clock as Coordinated Universal Time (UTC) with a value that is not unique "Hex 0008 = Materialize time-of-day clock as Coordinated Universal Time (UTC) with a value that is not unique"
Hex 0009 through FFFF Reserved

Operand 1 specifies a receiver into which the materialized data is placed. It must specify a character scalar with a minimum length which is dependent upon the materialization option specified for operand 2. The receiver may be substringed. The start position of the substring may be a variable. However, the length of the substring must be an immediate or constant. The length specified for operand 1 must be at least the required minimum. Only the bytes up to the required minimum length are used. Any excess bytes are ignored.

The data placed into the receiver differs depending upon the materialization option specified. The following descriptions detail the formats of the optional materializations.

Hex 0000 = Materialize time-of-day clock as local time with a value that is unique
(minimum receiver length is 8)
Offset
Dec Hex
Field Name
Data Type and Length
0 0
Time of day
Char(8)
8 8
--- End ---

Time of day is the time value of the time-of-day clock which is returned as the local time for the system. The uniqueness bits contain a combination of binary 1s and 0s thereby providing a time value that is unique for the system. See Standard Time Format for a detailed description of the format for a time value.

Unpredictable results occur if the time-of-day clock is materialized before it is set.

The time-of-day clock can be materialized as the Coordinated Universal Time (UTC) for the system using "Hex 0004 = Materialize time-of-day clock as Coordinated Universal Time (UTC)".

See Time-of-Day (TOD) Clock for detailed descriptions of the time-of-day clock, local time, and UTC.

Performance note: The time-of-day clock may be materialized, with the time of day returned as the local time for the system, with this instruction and also with the Materialize Machine Attributes (MATMATR) instruction. Better performance may be realized with the use of this instruction rather than with the MATMATR instruction.

Hex 0001 = Materialize system parameter integrity validation flag
(minimum receiver length is 1)
Offset
Dec Hex
Field Name
Data Type and Length
0 0
System parameter integrity validation flag
Char(1)
1 1
--- End ---

This option returns the value of the machine attribute which specifies whether additional validation of parameters passed to programs which run when the thread is in system state is to be performed, such as for U. S. government's Department of Defense security ratings.

A value of hex 01 indicates this additional checking is being performed. A value of hex 00 is returned otherwise.

Hex 0002 = Materialize thread execution mode flag
(minimum receiver length is 1)
Offset
Dec Hex
Field Name
Data Type and Length
0 0
Thread execution mode flag
Char(1)
1 1
--- End ---

This option returns the value of the thread execution mode for the thread in which the instruction is run.

A returned value of hex 01 indicates that thread is currently executing in kernel mode. A value of hex 00 is returned otherwise.

Hex 0003 = Materialize maximum size of a space object or associated space when space alignment is chosen by the machine
(minimum receiver length is 4)
Offset
Dec Hex
Field Name
Data Type and Length
0 0
Maximum size of machine-aligned space object or associated space
UBin(4)
4 4
--- End ---

This option returns the maximum size in bytes of a space object or associated space created with the space alignment chosen by the machine. Some types of objects may not support an associated space of the maximum size.

This size may vary with each machine implementation.

Hex 0004 = Materialize time-of-day clock as Coordinated Universal Time (UTC)
(minimum receiver length is 8)
Offset
Dec Hex
Field Name
Data Type and Length
0 0
Time of day
Char(8)
8 8
--- End ---

Time of day is the time value of the time-of-day clock which is returned as the Coordinated Universal Time (UTC) for the system. The uniqueness bits contain a combination of binary 1s and 0s thereby providing a time value that is unique for the system. See Standard Time Format for a detailed description of the format for a time value.

Unpredictable results occur if the time-of-day clock is materialized before it is set.

The time-of-day clock can be materialized as the local time for the system using "Hex 0000 = Materialize time-of-day clock as local time with a value that is unique".

See Time-of-Day (TOD) Clock for detailed descriptions of the time-of-day clock, local time, and UTC.

Performance note: The time-of-day clock may be materialized, with the time of day returned as the UTC for the system, with this instruction and also with the Materialize Time Of Day Attributes (MATTODAT) instruction. Better performance may be realized with the use of this instruction rather than with the MATTODAT instruction.

Hex 0005 = Materialize machine default page size
(minimum receiver length is 8)
Offset
Dec Hex Field Name Data Type and Length
0 0 Machine default page size UBin(8)
For non-bound programs, the following datatype is used:

0 0 Machine default page size Char(8)
8 8 --- End ---

This option returns the default machine page size (in bytes) for the current machine implementation. See Storage terminology for additional information on the machine default page size.

Hex 0006 = Materialize teraspace segment size
(minimum receiver length is 8)
Offset
Dec Hex Field Name Data Type and Length
0 0 Teraspace segment size UBin(8)
For non-bound programs, the following datatype is used:

0 0 Teraspace segment size Char(8)
8 8 --- End ---

This option returns the teraspace segment size (in bytes) for the current machine implementation. See Storage terminology for additional information on teraspace segments.

Hex 0007 = Materialize time-of-day clock as local time with a value that is not unique
(minimum receiver length is 8)
Offset
Dec Hex Field Name Data Type and Length
0 0 Time of day Char(8)
8 8 --- End ---

Time of day is the time value of the time-of-day clock which is returned as the local time for the system. The uniqueness bits all contain binary 0s thereby providing a time value that is not unique for the system. See Standard Time Format for a detailed description of the format for a time value.

Unpredictable results occur if the time-of-day clock is materialized before it is set.

See Time-of-Day (TOD) Clock for detailed descriptions of the time-of-day clock, local time, and UTC.

Hex 0008 = Materialize time-of-day clock as Coordinated Universal Time (UTC) with a value that is not unique
(minimum receiver length is 8)
Offset
Dec Hex Field Name Data Type and Length
0 0 Time of day Char(8)
8 8 --- End ---

Time of day is the time value of the time-of-day clock which is returned as the Coordinated Universal Time (UTC) for the system. The uniqueness bits all contain binary 0s thereby providing a time value that is not unique for the system. See Standard Time Format for a detailed description of the format for a time value.

Unpredictable results occur if the time-of-day clock is materialized before it is set.

See Time-of-Day (TOD) Clock for detailed descriptions of the time-of-day clock, local time, and UTC.

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

44 Protection Violation