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 |
7 | Symbol Table and Object File Information |
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 |