gtps1m14System Macros

$RMNBC-Release Acquired Storage

Use this system macro to return the contiguous storage acquired by the $GMNBC macro.

Format




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

STORAGE=Rx
This required parameter specifies the register containing the address of the storage being returned.

On input, this register contains the EVA address of an area of memory acquired by the MALOC, RALOC, CALOC, or $GMNBC macros. This address must be on a 4 KB boundary, and must be a valid 31-bit address.

PAGES=Ry
This required parameter specifies the number of 4 KB pages to be returned to the TPF system.

On input, this register contains the number of 4 KB pages being returned. This number can be less than the number of pages originally acquired by the MALOC, RALOC, CALOC, or $GMNBC macros.

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.