User`s guide

Macros for Porting from VAX to Alpha or I64
$POP64
Parameters
reg
Register into which the macro places the 64-bit value from the top of the stack.
Description
$POP64 takes the 64-bit value at the top of the stack and places it in a register
using longword instructions. This is to avoid using quadword instructions when
an alignment fault should be avoided, but restoring all 64 bits is necessary.
$PUSH64
Pushes the contents of a 64-bit register onto the stack.
Format
$PUSH64 reg
Parameters
reg
Register to be pushed onto the stack.
Description
$PUSH64 takes a 64-bit register and puts it on the stack using longword
instructions. This is to avoid using quadword instructions when an alignment
fault should be avoided, but saving all 64 bits is necessary.
D.3 Locking Pages into a Working Set
Five macros are provided for locking pages into a working set. These macros
reside in SYS$LIBRARY:LIB.MLB. For a description of how to use these macros,
see Section 3.10.
Three macros are used for image initialization-time lockdown, and two macros
are used for on-the-fly lockdown.
Note
If the code is being locked because the IPL will be raised above 2, where
page faults cannot occur, make sure that the delimited code does not
call run-time library or other procedures. The VAX MACRO compiler
generates calls to routines to emulate certain VAX instructions. An image
that uses these macros must link against the system base image so
that references to these routines are resolved by code in a nonpageable
executive image.
For OpenVMS I64 systems, these macros are still under development and
additional OpenVMS routines are being provided to lock working sets.
See the HP OpenVMS Version 8.2 Release Notes for more information.
Macros for Porting from VAX to Alpha or I64 D–7