gtps1m0mSystem Macros

$GEVAC-Convert SVM Address to EVM Address

Use this system macro to convert an address valid in the system virtual memory (SVM) into the corresponding address in the entry control block (ECB) virtual memory (EVM).

Format




ADDRESS=Rv
This required parameter specifies a register containing a 31-bit system virtual memory (SVM) address.

On return, the specified register contains the 31-bit ECB virtual memory (EVM) address corresponding to the input 31-bit SVM address, if one exists. If the SVM address is invalid or does not have a corresponding EVM address, then the high order bit of the input SVM address is turned on.

ECB=Rw
This parameter specifies the 31-bit address of the ECB. The 31-bit ECB virtual memory address returned by the $GEVAC macro is valid only for a single ECB. The specified register is not altered.
Note:
The ECB address, specified in the ECB parameter, must be in the same addressing mode (SVM or EVM) as the address of the calling routine.

ERROR=label
This optional parameter specifies a label identifying the error routine to receive control if an error condition is raised. An error will occur when the EVM address specified in the ADDRESS parameter is invalid.

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.

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.

Entry Requirements

Return Conditions

Programming Considerations

The register specified for the ADDRESS parameter cannot be the same register that is specified for the ECB parameter.

Examples

None.