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

    Format

      .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

    .PROCEDURE_DESCRIPTOR defines a bivalued global identifier
    that is used to represent a global 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 .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 .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 .PROCEDURE_DESCRIPTOR before the code of the
       routine it describes.

    o  See the descriptions 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.
Close Help