VMS Help
MACRO, /MIGRATION, Compiler Directives, .DEFINE PAL

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

    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]

  1 - Parameters

 name

    Name of the PALcode function. The compiler applies the prefix
    EVAX_ to the specified name (for instance, EVAX_MTPR_USP).

 pal_opcode

    Opcode value of the PALcode function.

    Be sure to use angle brackets around the function code when
    specifying it in hexadecimal format (^X). If you specify
    the function code in decimal format, angle brackets are not
    necessary.

 operand_descriptor_list

    A list of operand descriptors that specifies the number of
    operands and the type of each. Up to 6 operand descriptors are
    allowed in the list. Be careful to specify operands correctly so
    that the compiler can correctly track register and stack usage.
    The following table lists the operand descriptors.

    Access
    Type                              Data Type

                Byte         Word        Longword    Octaword

    Address     AB           AW          AL          AQ
    Read-only   RB           RW          RL          RQ
    Modify      MB           MW          ML          MQ
    Write-only  WB           WW          WL          WQ

  2 - Description

    By default, the compiler defines many OpenVMS Alpha PALcode
    instructions as built-ins. If you need to use an OpenVMS Alpha
    PALcode instruction that is not available as a compiler built-
    in, you must define the built-in yourself using the .DEFINE_PAL
    directive.

  3 - Example

  .DEFINE_PAL MTPR_USP, <^X23>, RQ

                                   NOTE

       This is an example-the compiler compiles MTPR instructions
       directly to PAL calls.
  Close     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.