User`s guide

MACRO Compiler Directives
.CALL_LINKAGE (OpenVMS I64 only)
If you specify a scratch register set, you cannot specify a linkage_name.
preserve=<>
Register set that indicates those registers which the routine_name will preserve.
Registers included in this register set are not saved and restored around a call to
the routine, since the called routine will perform that task.
If you specify a preserve register set, you cannot specify a linkage_name.
.DEFINE_LINKAGE (OpenVMS I64 only)
Defines a named linkage that can be used with subsequent .CALL_LINKAGE or
.USE_LINKAGE directives.
Format
.DEFINE_LINKAGE linkage_name [,input] [,output] [,scratch] [,preserve]
Parameters
linkage_name
The name of a linkage to be defined.
input=<>
Register set that indicates those registers from which a routine with this linkage
receives input values. This parameter is for documentation purposes only.
output=<>
Register set that indicates those registers to which a routine with this linkage
assigns values that are returned to the routine’s caller. Registers included in this
register set are not saved and restored around the call.
scratch=<>
Register set that indicates registers that are used within a routine with this
linkage. This parameter is for documentation purposes only.
preserve=<>
Register set that indicates those registers which a routine with this linkage
will preserve. Registers included in this register set are not saved and restored
around a call to the routine, since the called routine will perform that task.
.DEFINE_PAL (OpenVMS Alpha only)
Defines an arbitrary PALcode function such that it can be called later in the
MACRO source.
Format
.DEFINE_PAL name, pal_opcode, [,operand_descriptor_list]
Specialized Directives B–7