VMS Help  —  MACRO  /ALPHA  Directives  .LOCAL PROCEDURE DESCRIPTOR
    Procedure descriptor labeling directive

    Format

      .LOCAL_PROCEDURE_DESCRIPTOR  pd-name, ca-name

1  –  Parameters

 pd-name

    The name of the procedure descriptor. This name can be up to 31
    characters long. It cannot be a temporary label.

 ca-name

    The name of the code address that corresponds to the procedure
    descriptor. This name must be defined later in the program as
    a label in a psect that has either the EXE or MIX attribute, or
    both. This name can be up to 31 characters long. It cannot be a
    temporary label.

2  –  Description

    .LOCAL_PROCEDURE_DESCRIPTOR defines a bivalued local identifier
    that is used to represent a local routine. The first value
    is the procedure value, which is the address of the procedure
    descriptor. This value is defined as the current location counter
    at the point where you use the .LOCAL_PROCEDURE_DESCRIPTOR
    directive. The second value is the code address, which is
    the code entry-point address of the procedure. This value is
    defined by the second argument to the .LOCAL_PROCEDURE_DESCRIPTOR
    directive. No storage is allocated.

3  –  Notes

    o  See the OpenVMS Calling Standard for a full description of
       procedure descriptors.

    o  You must specify .LOCAL_PROCEDURE_DESCRIPTOR before the code
       of the routine it describes.

    o  See the description for the $PROCEDURE_DESCRIPTOR and $ROUTINE
       library macros. These macros define the procedure identifier
       and define the storage for the procedure descriptor.

    o  You can only use this directive within data or mixed psects
       (psects that have either the NOEXE or MIX attributes).

    o  If automatic data alignment is enabled, this directive aligns
       the current location counter to a quadword (64-bit) boundary
       before defining the procedure identifier.

4  –  Example

        .LOCAL_PROCEDURE_DESCRIPTOR LP1,C1
Close Help