gtps1m0cSystem Macros

$CONBC-Connect Block to ECB Virtual Memory

Use this system macro to attach a data block to an entry control block (ECB) address space.

Format




BLOCK=R1|Rn
Use this parameter to specify the system virtual address (SVA) of a storage block. The register specified contains the SVA address of a storage block. The block must be of a type that can be attached to ECB CBRWs (128, 381, 1055, or 4095 bytes).

On return, this register contains the ECB virtual address (EVA) of the connected block.

R9 and R13 cannot be used with the BLOCK parameter R9 cannot be used because you may not attach the ECB to itself. R13 cannot be used because you may not attach the stack to the ECB.

R1 is the default.

PROTECT
Use this parameter to specify if the ECB is allowed to modify data in the block.

YES
If YES is specified and the block resides in main storage above the frames, the page protection bit is set in the page table entry for the storage, and the data is protected against modification.
Note:
The YES option of the PROTECT parameter is intended exclusively for the ENTxC macros to connect a 24-bit program residing in a 4 K VFA block to an ECB. The YES option is ineffective when the block resides in or below the frames.

NO
If NO is specified or if the block resides in main storage in or below the frames, the page protection bit is not set in the page table entry and the data can be modified. NO is the default.

SAVOUT=Rm
This optional parameter specifies a register that contains the SVA of the block connected by the macro.
Note:
The SVA may change during the process of connecting the block to the ECB.

The BLOCK and SVAOUT parameters should not specify the same register. There is no default register for SVAOUT.

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

Examples

None.