gtps1m18System Macros

$TCPLC-Control Program (CP) Tape Logging

Use this system macro to log data blocks to an active real-time tape.

Format




label
A symbolic name can be assigned to the macro statement.

BLOCK=Rx
This parameter specifies the general register containing the system virtual address (SVA) of the block to be logged.

TYPE=Ry|Lx
This parameter specifies the type of block to be logged. A general register containing the block type or a CLH equate specifying the block type can be coded. The following types are supported:

L0
128 byte block

L1
381 byte block

L2
1055 byte block

L4
4095 byte block.

ERROR=label1
Control will be passed if the specified tape is found to be offline, not active, or the threshold value, if specified, has been exceeded.

TAPE=RTL|RTc|(Ru)
This parameter specifies the symbolic tape name of a system tape to which the block is to be logged. A general register containing a pointer to the tape name may also be coded. In this case the tape name must be left-justified in the first 3 bytes of the address supplied.

The default is RTL. The default will be forced to RTA if RTL output is merged to the RTA.

SS
This parameter specifies the subsystem and subsystem user ID to which the data belongs. These IDs are in the two byte complement and index format. See CEBIC-Change MDBF Subsystem/Subsystem User ID for more information about this format.

Rz
When Rz is specified, bytes 0-1 should contain the subsystem ID, and bytes 2-3 should contain the subsystem user ID.

label2
When label2 is specified, it should point to four bytes of storage where the first two bytes contain the subsystem ID, and the second two bytes contain the subsystem user ID.

The default is the SS/SSU ID of BSS.

COPY
This parameter specifies whether the data is copied into a block, and passed to the I/O routines.

NO
If COPY=NO is specified, the block passed in Rx is passed to the I/O routines and returned to the TPF system at I/O completion. Therefore, the block should not be mapped in any EVM. COPY=NO is the default.

YES
If COPY=YES is specified, the macro service routine gets a storage block of the type specified by the TYPE parameter, copies the data into the block, and passes the new block to the I/O routines.

THRESHOLD=Rw
This parameter specifies a register that contains the threshold value to be checked before adding the SWB to the cross list. If the number of SWBs on the module queue exceeds the threshold value, then the SWB will not be added to the cross list and the macro will return to label1.

TRLRDATA=(Rv,Ln)
This parameter specifies a register, Rv, that contains a pointer to the user trailer data information. Ln specifies the length, in bytes, of the user trailer data information. This data will be written at the end of the record to be logged just before the standard trailer information. A maximum of 32 data bytes may be specified. If Ln is less than 32, the data is left-justified and filled with hexadecimal zeros. The standard trailer information consists of the subsystem name, subsystem user name, and the time-of-day (TOD) clock. The default is that no additional data is added to the standard trailer.

Entry Requirements

Return Conditions

Programming Considerations

Examples

None.