HP OpenVMS Systems Documentation

Content starts here

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
                Integer Registers
                Floating-Point Registers
         18.1.3         Register Usage for OpenVMS I64
                I64 General Register Usage
                I64 Floating-Point Register Usage
                I64 Predicate Register Usage
                I64 Branch Register Usage
     18.2     Stack Usage for Procedures
         18.2.1         Stack Procedure Usage for VAX
                Calling Sequence
                Call Frames on Return
         18.2.2         Stack Procedure Usage for Alpha
                Fixed-Size Stack Frame
                Variable-Size Stack Frame
         18.2.3         Stack Procedure Usage for I64
                Procedure Types
                Memory Stack
                Procedure Frames
                Register Stack
                        Input and Local Registers
                        Output Registers
                        Rotating Registers
                        Frame Markers
                        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
                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
                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
                I64 Register Mapping in MACRO Compiler
                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
                JSB Call Entries (VAX Only)
         19.2.3         Returns from an RTL Routine
                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
                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