hp.com home products and services support and drivers solutions how to buy
cd-rom home
End of Jump to page title
HP OpenVMS systems
documentation

Jump to content


HP OpenVMS Calling Standard

HP OpenVMS Calling Standard


Begin Index

Contents (summary)
Preface Preface
Chapter 1 Introduction
Chapter 2 OpenVMS VAX Conventions
Chapter 3 OpenVMS Alpha Conventions
Chapter 5 Signature Information and Translated Images (Alpha and I64 Systems Only)
Chapter 6 OpenVMS Argument Data Types
Chapter 7 OpenVMS Argument Descriptors
Chapter 8 OpenVMS Conditions
Appendix A Stack Unwinding and Exception Handling on OpenVMS I64
Appendix B Unwind Descriptor Record Format
Appendix C Summary of Differences from the Intel Itanium Software Conventions
  Index
  Figures
  Examples
  Tables


Contents


Preface
Preface Preface
Chapter 1
1 Introduction
     1.1     Applicability
     1.2     Architectural Level
     1.3     Goals
     1.4     Definitions
Chapter 2
2 OpenVMS VAX Conventions
     2.1     Register Usage
         2.1.1         Scalar Register Usage
         2.1.2         Vector Register Usage
     2.2     Stack Usage
     2.3     Calling Sequence
     2.4     Argument List
         2.4.1         Format
         2.4.2         Argument Lists and High-Level Languages
             2.4.2.1             Order of Argument Evaluation
             2.4.2.2             Language Extensions for Argument Transmission
     2.5     Function Value Returns
         2.5.1         Returning a Function Value on Top of the Stack
             2.5.1.1             Returning a Fixed-Length or Varying String Function Value
     2.6     Vector and Scalar Processor Synchronization
         2.6.1         Memory Synchronization
         2.6.2         Exception Synchronization
Chapter 3
3 OpenVMS Alpha Conventions
     3.1     Register Usage
         3.1.1         Integer Registers
         3.1.2         Floating-Point Registers
     3.2     Address Representation
     3.3     Procedure Representation
     3.4     Procedure Types
         3.4.1         Stack Frame Procedures
         3.4.2         Procedure Descriptor for Procedures with a Stack Frame
         3.4.3         Stack Frame Format
             3.4.3.1             Fixed-Size Stack Frame
             3.4.3.2             Variable-Size Stack Frame
             3.4.3.3             Fixed Temporary Locations for All Stack Frames
             3.4.3.4             Register Save Area for All Stack Frames
         3.4.4         Register Frame Procedure
         3.4.5         Procedure Descriptor for Procedures with a Register Frame
         3.4.6         Null Frame Procedures
         3.4.7         Procedure Descriptor for Null Frame Procedures
     3.5     Procedure Call Stack
         3.5.1         Current Procedure
         3.5.2         Procedure Call Tracing
             3.5.2.1             Referring to a Procedure Invocation from a Data Structure
             3.5.2.2             Invocation Context Block
             3.5.2.3             Getting a Procedure Invocation Context with a Routine
             3.5.2.4             Walking the Call Stack
         3.5.3         Invocation Context Access Routines
             3.5.3.1             LIB$GET_INVO_CONTEXT
             3.5.3.2             LIB$GET_CURR_INVO_CONTEXT
             3.5.3.3             LIB$GET_PREV_INVO_CONTEXT
             3.5.3.4             LIB$GET_INVO_HANDLE
             3.5.3.5             LIB$GET_PREV_INVO_HANDLE
             3.5.3.6             LIB$PUT_INVO_REGISTERS
     3.6     Transfer of Control
         3.6.1         Call Conventions
         3.6.2         Linkage Section
         3.6.3         Calling Computed Addresses
         3.6.4         Simple and Bound Procedures
             3.6.4.1             Bound Procedure Descriptors
             3.6.4.2             Bound Procedure Value
         3.6.5         Entry and Exit Code Sequences
             3.6.5.1             Entry Code Sequence
             3.6.5.2             Exit Code Sequence
     3.7     Data Passing
         3.7.1         Argument-Passing Mechanisms
         3.7.2         Argument List Structure
         3.7.3         Argument Lists and High-Level Languages
         3.7.4         Unused Bits in Passed Data
         3.7.5         Sending Data
             3.7.5.1             Sending Mechanism
             3.7.5.2             Order of Argument Evaluation
         3.7.6         Receiving Data
         3.7.7         Returning Data
             3.7.7.1             Function Value Return by Immediate Value
             3.7.7.2             Function Value Return by Reference
             3.7.7.3             Function Value Return by Descriptor
     3.8     Data Allocation
         3.8.1         Alignment
         3.8.2         Record Layout Conventions
             3.8.2.1             Aligned Record Layout
             3.8.2.2             OpenVMS VAX Compatible Record Layout
     3.9     Multithreaded Execution Environments
         3.9.1         Stack Limit Checking
             3.9.1.1             Stack Guard Region
             3.9.1.2             Stack Reserve Region
             3.9.1.3             Methods for Stack Limit Checking
             3.9.1.4             Stack Overflow Handling


Previous Next Contents Index