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 Programming Concepts Manual

HP OpenVMS Programming Concepts Manual


Previous Contents Index

Chapter 18
18 Basic Calling Standard Conventions
     18.1     Hardware Registers
         18.1.1         Register Usage for OpenVMS VAX
         18.1.2         Register Usage for OpenVMS Alpha
             18.1.2.1             Integer Registers
             18.1.2.2             Floating-Point Registers
         18.1.3         Register Usage for OpenVMS I64
             18.1.3.1             Partitioning
             18.1.3.2             I64 General Register Usage
             18.1.3.3             I64 Floating-Point Register Usage
             18.1.3.4             I64 Predicate Register Usage
             18.1.3.5             I64 Branch Register Usage
     18.2     Stack Usage for Procedures
         18.2.1         Stack Procedure Usage for VAX
             18.2.1.1             Calling Sequence
             18.2.1.2             Call Frames on Return
         18.2.2         Stack Procedure Usage for Alpha
             18.2.2.1             Fixed-Size Stack Frame
             18.2.2.2             Variable-Size Stack Frame
         18.2.3         Stack Procedure Usage for I64
             18.2.3.1             Procedure Types
             18.2.3.2             Memory Stack
             18.2.3.3             Procedure Frames
             18.2.3.4             Register Stack
                 18.2.3.4.1                 Input and Local Registers
                 18.2.3.4.2                 Output Registers
                 18.2.3.4.3                 Rotating Registers
                 18.2.3.4.4                 Frame Markers
                 18.2.3.4.5                 Backing Store for Register Stack
     18.3     Procedure Representation
     18.4     Argument List
     18.5     Argument Passing Mechanisms
         18.5.1         Passing Arguments by Value
         18.5.2         Passing Arguments by Reference
         18.5.3         Passing Arguments by Descriptor
         18.5.4         Parameter Passing Mechanisms for I64
             18.5.4.1             Allocation of Parameter Slots
         18.5.5         Normal Register Parameters
         18.5.6         Argument Information (AI) Register
         18.5.7         Memory Stack Parameters
         18.5.8         Variable Argument Lists
         18.5.9         Pointers to Formal Parameters
             18.5.9.1             Languages Other than C
         18.5.10         Rounding Floating-Point Values
     18.6     Passing Scalars as Arguments
     18.7     Passing Arrays as Arguments
     18.8     Passing Strings as Arguments
     18.9     Combinations of Descriptor Class and Data Type
     18.10     Function Value Return
     18.11     Condition Value Return
     18.12     Macro-32 Register Usage and Mapping for I64
         18.12.1         I64 Register Usage Compared with Alpha and VAX
             18.12.1.1             I64 Register Mapping in MACRO Compiler
             18.12.1.2             Use of MACRO Linkage Directives to Preserve Registers
         18.12.2         High-Level Language Compiler Register Mapping
Chapter 19
19 Calling Run-Time Library Routines
     19.1     Overview
     19.2     Call Instructions
         19.2.1         Facility Prefix and Routine Name
         19.2.2         The RTL Call Entry
             19.2.2.1             JSB Call Entries (VAX Only)
         19.2.3         Returns from an RTL Routine
             19.2.3.1             Facility Return Status and Condition Value Symbols
     19.3     Calling a Library Procedure in VAX MACRO (VAX Only)
         19.3.1         VAX MACRO Calling Sequence
         19.3.2         VAX MACRO CALLS Instruction Example
         19.3.3         VAX MACRO CALLG Instruction Example
         19.3.4         VAX MACRO JSB Entry Points
         19.3.5         Return Status
         19.3.6         Function Return Values in VAX MACRO (VAX and Alpha)
     19.4     Calling a Library Routine in BLISS
         19.4.1         BLISS Calling Sequence
         19.4.2         Accessing a Return Status in BLISS
         19.4.3         Calling JSB Entry Points from BLISS
Chapter 20
20 Calling System Services
     20.1     Overview
     20.2     Preserving System Integrity
         20.2.1         User Privileges
         20.2.2         Resource Quotas
         20.2.3         Access Modes
     20.3     System Service Call Entry
     20.4     System Service Completion
         20.4.1         Asynchronous and Synchronous System Services
         20.4.2         System Service Resource Wait Mode
         20.4.3         Condition Values Returned from System Services
         20.4.4         Testing the Condition Value
             20.4.4.1             Testing the Condition Value With $VMS_STATUS_SUCCESS Macro
         20.4.5         Special Condition Values Using Symbolic Codes
         20.4.6         Testing the Return Condition Value for VAX MACRO
         20.4.7         System Messages Generated by Condition Values
     20.5     Program Examples with System Service Calls


Previous Next Contents Index