Title and Copyright Information
 
About This Manual
Audience
New and Changed Features
Organization
Related Documents
Reader's Comments
Conventions
 
1    Architecture-Based Considerations
1.1    Registers
1.1.1    Integer Registers
1.1.2    Floating-Point Registers
1.2    Bit and Byte Ordering
1.3    Addressing
1.3.1    Aligned Data Operations
1.3.2    Unaligned Data Operations
1.4    Exceptions
1.4.1    Main Processor Exceptions
1.4.2    Floating-Point Processor Exceptions
 
2    Lexical Conventions
2.1    Blank and Tab Characters
2.2    Comments
2.3    Identifiers
2.4    Constants
2.4.1    Scalar Constants
2.4.2    Floating-Point Constants
2.4.3    String Constants
2.5    Multiple Lines Per Physical Line
2.6    Statements
2.6.1    Labels
2.6.2    Null Statements
2.6.3    Keyword Statements
2.6.4    Relocation Operands
2.7    Expressions
2.7.1    Expression Operators
2.7.2    Expression Operator Precedence Rules
2.7.3    Data Types
2.7.4    Type Propagation in Expressions
2.8    Address Formats
 
3    Main Instruction Set
3.1    Load and Store Instructions
3.1.1    Load Instruction Descriptions
3.1.2    Store Instruction Descriptions
3.2    Arithmetic Instructions
3.3    Logical and Shift Instructions
3.4    Relational Instructions
3.5    Move Instructions
3.6    Control Instructions
3.7    Byte-Manipulation Instructions
3.8    Special-Purpose Instructions
 
4    Floating-Point Instruction Set
4.1    Background Information on Floating-Point Operations
4.1.1    Floating-Point Data Types
4.1.2    Floating-Point Control Register
4.1.3    Floating-Point Exceptions
4.1.4    Floating-Point Rounding Modes
4.1.5    Floating-Point Instruction Qualifiers
4.2    Floating-Point Load and Store Instructions
4.3    Floating-Point Arithmetic Instructions
4.4    Floating-Point Relational Instructions
4.5    Floating-Point Move Instructions
4.6    Floating-Point Control Instructions
4.7    Floating-Point Special-Purpose Instructions
 
5    Assembler Directives
 
6    Programming Considerations
6.1    Calling Conventions
6.2    Program Model
6.3    General Coding Concerns
6.3.1    Register Use
6.3.2    Using Directives to Control Sections and Location Counters
6.3.3    The Stack Frame
6.3.4    Coding Examples
6.4    Developing Code for Procedure Calls
6.4.1    Calling a High-Level Language Procedure
6.4.2    Calling an Assembly Language Procedure
6.5    Memory Allocation
 
A    Instruction Summaries
 
B    32-Bit Considerations
B.1    Canonical Form
B.2    Longword Instructions
B.3    Quadword Instructions for Longword Operations
B.4    Logical Shift Instructions
B.5    Conversions to Quadword
B.6    Conversions to Longword
 
C    Basic Machine Definition
C.1    Implicit Register Use
C.2    Addresses
C.3    Immediate Values
C.4    Load and Store Instructions
C.5    Integer Arithmetic Instructions
C.6    Floating-Point Load Immediate Instructions
C.7    One-to-One Instruction Mappings
 
D    PALcode Instruction Summaries
D.1    Unprivileged PALcode Instructions
D.2    Privileged PALcode Instructions
 
Examples
6-1    Nonleaf Procedure
6-2    Leaf Procedure Without Stack Space for Local Variables
6-3    Leaf Procedure with Stack Space for Local Variables
 
Figures
1-1    Byte Ordering
4-1    Floating-Point Data Formats
4-2    Floating-Point Control Register
6-1    Sections and Location Counters for Nonshared Object Files
6-2    Stack Organization
6-3    Default Layout of Memory (User Program View)
 
Tables
2-1    Backslash Conventions
2-2    Expression Operators
2-3    Operator Precedence
2-4    Data Types
2-5    Address Formats
3-1    Load and Store Formats
3-2    Load Instruction Descriptions
3-3    Store Instruction Descriptions
3-4    Arithmetic Instruction Formats
3-5    Arithmetic Instruction Descriptions
3-6    Logical and Shift Instruction Formats
3-7    Logical and Shift Instruction Descriptions
3-8    Relational Instruction Formats
3-9    Relational Instruction Descriptions
3-10    Move Instruction Formats
3-11    Move Instruction Descriptions
3-12    Control Instruction Formats
3-13    Control Instruction Descriptions
3-14    Byte-Manipulation Instruction Formats
3-15    Byte-Manipulation Instruction Descriptions
3-16    Special-Purpose Instruction Formats
3-17    Special-Purpose Instruction Descriptions
4-1    Qualifier Combinations for Floating-Point Instructions
4-2    Load and Store Instruction Formats
4-3    Load and Store Instruction Descriptions
4-4    Arithmetic Instruction Formats
4-5    Arithmetic Instruction Descriptions
4-6    Relational Instruction Formats
4-7    Relational Instruction Descriptions
4-8    Move Instruction Formats
4-9    Move Instruction Descriptions
4-10    Control Instruction Formats
4-11    Control Instruction Descriptions
4-12    Special-Purpose Instruction Formats
4-13    Control Register Instruction Descriptions
5-1    Summary of Assembler Directives
6-1    Integer Registers
6-2    Floating-Point Registers
6-3    Argument Locations
A-1    Main Instruction Set Summary
A-2    Floating-Point Instruction Set Summary
A-3    Rounding and Trapping Modes
D-1    Unprivileged PALcode Instructions
D-2    Privileged PALcode Instructions
 
Index