VMS Help  —  MACRO  MACRO Compiler Directives, .USE LINKAGE
    OpenVMS I64 only.

    Establishes a temporary named or anonymous linkage that will
    be used by the compiler for the next CALLS, CALLG, JSB, BSBB,
    or BSBW instruction processed in lexical order. This directive
    is used when the target of the next CALLS, CALLG, JSB, BSBB,
    or BSBW instruction is not a name, but a run-time value (for
    example, CALLS #0, (R6)). When the compiler sees the next
    CALLS, CALLG, JSB, BSBB, or BSBW instruction, it will use the
    associated linkage to decide which registers need to be saved and
    restored around the call. After the instruction is processed, the
    temporary linkage is reset to null.

    Format

      .USE_LINKAGE  [linkage_name] [,input] [,output] [,scratch]

                    [,preserve]

1  –  Parameters

 linkage_name

    The name of a linkage previously defined with the .DEFINE_LINKAGE
    directive. If you specify a linkage_name, you cannot specify an
    input, output, scratch or preserve clause.

 input=<>

    Register set that indicates those registers from which the
    routine called by the next CALLS, CALLG, JSB, BSBB, or BSBW
    instruction receives input values.

 output=<>

    Register set that indicates those registers to which the routine
    called by the next CALLS, CALLG, JSB, BSBB, or BSBW instruction
    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 the
    routine called by the next CALLS, CALLG, JSB, BSBB, or BSBW
    instruction. This parameter is for documentation purposes only.

 preserve=<>

    Register set that indicates those registers which the routine
    called by the next CALLS, CALLG, JSB, BSBB, or BSBW instruction
    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.
Close Help