gtps1m0xSystem Macros

$MOVEC-Move Data Between EVM and SVM

Use this system macro to move:

This macro is similar to the E-type MOVEC macro.

Format




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

PARM=Rx
This register points to the address of a parameter list in the IMOVE DSECT that contains the following fields to be filled in with the appropriate values:

MFROM
This 4-byte field contains the address from which data is moved.

IMTO
This 4-byte field contains the address to which data is moved.

IMSVAF
This 4-byte field contains the system virtual address (SVA) of the ECB from which the data is moved.

IMSVAT
This 4-byte field contains the SVA address of the ECB to which the data is moved.

IMLENTH
This 4-byte field contains the length of the storage to be moved.

IMTYPE
This 1-byte field contains the type of move to occur, either an SVA to SVA move or an SVA to ECB virtual address (EVA) move.

SAVREG
The specified volatile registers will be saved by the macro in the stack area or in the registers specified by the WKREG parameter. Up to 3 registers can be specified. Those registers are R0, R1, R2. If this keyword is omitted, none of the 3 registers will be saved. You should not save a volatile register if you expect it to contain an output parameter. The register will be overwritten with its original contents, since the reload is the last thing performed by the macro.

This parameter is ignored if the $MOVEC macro is issued from ECB code.

WKREG
The specified symbolic register names are free to be used by the macro to save the volatile registers coded on the SAVREG parameter. Up to 3 registers can be specified, but the standard linkage registers R13 through R2 cannot be used here. This parameter is used in conjunction with the SAVREG parameter to generate efficient code and enhance the performance of the macro. The number of registers specified by WKREG should be less than or equal to the number of registers specified by SAVREG. If this parameter is omitted or not used to its maximum capacity, code optimization is sacrificed.

This parameter is ignored if the $MOVEC macro is issued from ECB code.

Entry Requirements

You must call the $MOVEC macro in 31-bit addressing mode.

Return Conditions

Control is returned to the next sequential instruction (NSI).

Programming Considerations

Note:
System error dumps can occur when servicing a $MOVEC request. See Messages (System Error and Offline) for more information.

Examples

None.