gtps1m3tSystem Macros

MOVEC-Move Data Between EVM and SVM

Use this system macro to move date between an entry control block (ECB) virtual memory (EVM) address space and a system virtual memory (SVM) address space. This macro allows an ECB-controlled program to read and modify storage that is not part of its own address space.

Required Authorizations
Key0 Restricted System Common Storage
X


Format




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

FROM
This parameter specifies the location of the data from which data will be moved. You must specify both a register, and EVM or SVM.

Rx
Specifies a general purpose register from R0 through R7. It contains the 31-bit address from which data will be moved.

EVM
Specifies that the address is in the ECB virtual memory (EVM).

SVM
Specifies that the address is in the system virtual memory (SVM).

TO
This parameter specifies the location where the data specified by the FROM parameter will be placed. You must specify both a register, and EVM or SVM.

Ry
Specifies a general purpose register from R0 through R7. It contains the 31-bit address to which data will be moved.

EVM
Specifies that the address is in the ECB virtual memory (EVM).

SVM
Specifies that the address is in the system virtual memory (SVM).

LENGTH=Rz
This parameter specifies a general purpose register from R0 through R7 that contains the number of bytes of data that will be moved from the FROM location to the TO location.

Entry Requirements

Return Conditions

Programming Considerations

Examples

This code shows the FROM address being taken from a DSECT field, the TO address being taken from a core block reference work, and the length being calculated as the difference between two addresses. The next address in the chain is loaded and the data moved.

         LA    R6,LK4OBF           TOP OF LINK QUEUE ADDRESS (LK4KC)
         L     R3,CE1CR0           A(block) to use for MOVEC (EB0EB)
         LA    R7,CM8TXTA-CM8CHNA  Need only a few bytes (CM8CM)
         ICM   R6,B'1111',0(R6)    LOAD BASE WITH NEXT IN CHAIN
         BZ    CMMMDONE            We've gone through queue
         SPACE
CMMMTEST DS    0H
         MOVEC FROM=(R6,SVM),TO=(R3,EVM),LENGTH=R7