User`s guide

Macros for 64-Bit Addressing
E
Macros for 64-Bit Addressing
This appendix describes the following:
Section E.1, Macros for Manipulating 64-Bit Addresses
Section E.2, Macros for Checking Sign Extension and Descriptor Format
These macros reside in the directory SYS$LIBRARY:STARLET.MLB and can be
used by both application code and system code.
The page macros accommodate for 64-bit addresses. The support is provided by
the QUAD=NO/YES parameter.
You can use certain arguments to these macros to indicate register sets. To
express a register set, list the registers, separated by commas, within angle
brackets. For example:
<R1,R2,R3>
If the set contains only one register, the angle brackets are not required.
E.1 Macros for Manipulating 64-Bit Addresses
These macros are used to manipulate 64-bit addresses:
$SETUP_CALL64
$PUSH_ARG64
$CALL64
$SETUP_CALL64
Initializes the call sequence.
Format
$SETUP_CALL64 arg_count, inline=true | false
Parameters
arg_count
The number of arguments in the call.
inline
Forces inline expansion, rather than creation of a JSB routine, when set to
TRUE. If there are six or fewer arguments on OpenVMS Alpha, or eight or fewer
on OpenVMS I64, the default is inline=false.
Macros for 64-Bit Addressing E–1