Go to main content
oracle home
SPARC Assembly Language Reference Manual
Exit Print View
Search Term
Search Scope:
This Document
Entire Library
» ...
Documentation Home
»
Oracle Solaris 11.4 Information Library
»
SPARC Assembly Language Reference Manual
»
Index Numbers and Symbols
Updated: November 2020
SPARC Assembly Language Reference Manual
Document Information
Using This Documentation
Product Documentation Library
Feedback
Chapter 1 SPARC Assembler Syntax
1.1 Assembler Syntax Notation
1.2 Assembler File Syntax
1.2.1 Assembler Lines Syntax
1.2.2 Assembler Statement Syntax
1.3 Assembler Lexical Features
1.3.1 Case Distinction in Assembler
1.3.2 Comments in Assembler
1.3.3 Labels in Assembler
1.3.4 Numbers in Assembler
1.3.5 Strings in Assembler
1.3.6 Symbol Names in Assembler
1.3.7 Special Symbols – Registers
1.3.8 Attributes in Assembler
1.3.9 Operators and Expressions in Assembler
1.3.10 SPARC V9 Operators and Expressions
1.4 Assembler Error Messages
Chapter 2 SPARC Executable and Linking Format
2.1 Sections of an ELF File
2.1.1 Section Header
2.1.2 Predefined User Sections
2.1.2.1 Creating an .init Section in an Object File
2.1.2.2 Creating a .fini Section in an Object File
2.1.3 Predefined Non-User Sections
2.1.4 Symbol Tables
2.1.5 String Tables
2.2 Locations Within a Section
2.3 Addresses in Memory
2.3.1 Relocation Tables
2.4 ELF Tools
Chapter 3 SPARC Directives and Pseudo-Operations
3.1 Assembler Directives
3.1.1 Section Control Directives
3.1.2 Symbol Attribute Directives
3.1.3 Assignment Directive
3.1.4 Data Generating Directives
3.2 Notation Conventions
3.3 Alphabetized Listing of Pseudo Operations With Descriptions
3.4 Pseudo-Op Attributes
3.5 Pseudo-Op Examples
3.5.1 Example 1: Binding to C Variables
3.5.2 Example 2: Generating Ident Strings
3.5.3 Example 3: Data Alignment, Size, Scope, and Type
3.5.4 Example 4: "Hello World"
Chapter 4 Creating Data in Assembler
4.1 Examples of Various Data Types
Chapter 5 SPARC Code Models
5.1 Basics of Compiling C Programs
5.2 Address Sizes
5.2.1 32-Bit Absolute
5.2.2 64-Bit Absolute
5.2.3 44-Bit Absolute
5.2.4 64-Bit With 13-Bit PIC
5.2.5 64-Bit With 32-Bit PIC
5.3 Global Object Table (GOT) Code Models
5.4 Thread Local Storage (TLS) Code Models
5.4.1 Local Executable Code Model
5.4.2 Initial Executable Code Model
5.4.3 Local Dynamic TLS Code Model
5.4.4 General Dynamic TLS Code Model
Chapter 6 Writing Functions in the SPARC ABI
6.1 Anatomy of a C Function
6.2 Register Usage
6.3 Parameter Passing
6.4 Functions Returning Values
6.4.1 Limitations for 32-Bit Code
6.4.2 Limitations for Both 32-Bit and 64-Bit Code
6.4.3 Additional Information About SPARC ABI
Chapter 7 SPARC Assembler Inline Functions and __asm Code
7.1 Inline Function Templates in C and C++
7.1.1 Compiling C/C++ with Inline Templates
7.1.2 Layout of Code in Inline Templates
7.1.3 Guidelines for Coding Inline Templates
7.1.3.1 Parameter Passing
7.1.3.2 Stack Space
7.1.3.3 Branches and Calls
7.1.4 Late and Early Inlining
7.1.5 Compiler Calling Convention
7.1.6 Improving Efficiency of Inlined Functions
7.1.7 Inline Templates in C++
7.1.7.1 C++ Inline Templates and Exceptions
7.2 Using __asm Statements in C and C++
Appendix A Using the SPARC Assembler Command Line
A.1 Assembler Command Line
A.2 Assembler Command Line Options
A.3 Disassembling Object Code
Appendix B A Sample SPARC Assembler Program
Appendix C SPARC Instruction Sets and Mnemonics
C.1 Natural Instructions
C.1.1 Natural Register, Natural Word for SPARC
Index
Index Numbers and Symbols
Index A
Index B
Index C
Index D
Index E
Index F
Index G
Index H
Index I
Index L
Index M
Index N
Index O
Index P
Index Q
Index R
Index S
Index T
Index U
Index V
Index W
Index X
Index Y
Language:
English
Index
Numbers and Symbols
.exported
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.register
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
32-bit
address space sizes
SPARC Code Models
code limitations
Limitations for 32-Bit Code
code model
SPARC Code Models
expression options
Assembler Command Line Options
parameter passing in C
Parameter Passing
SPARC V9 expressions
SPARC V9 32-Bit Operators and Expressions
SPARC V9 operators
SPARC V9 32-Bit Operators and Expressions
44-bit expressions and operators
SPARC V9
SPARC V9 Low 44-Bit Operators and Expressions
64-bit
address space sizes
SPARC Code Models
code limitations
Limitations for Both 32-Bit and 64-Bit Code
code model
SPARC Code Models
expression options
Assembler Command Line Options
parameter passing in C
Parameter Passing
SPARC V9 expressions
SPARC V9 64-bit Operators and Expressions
SPARC V9 operators
SPARC V9 64-bit Operators and Expressions
__asm
statements
assembler
SPARC Assembler Inline Functions and __asm Code
C and C++
Using __asm Statements in C and C++
A
.alias
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.align
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.ascii
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.asciz
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
address space sizes
SPARC Code Models
addresses
Addresses in Memory
as
command
Assembler Command Line
assembler
__asm
statements
SPARC Assembler Inline Functions and __asm Code
assignment directives
Assignment Directive
attributes
Attributes in Assembler
case distinction
Special Symbol Names
Case Distinction in Assembler
command line
Assembler Command Line
command line options
Assembler Command Line Options
compiling with C and C++ templates
Compiling C/C++ with Inline Templates
constants
Numbers in Assembler
creating data in
Creating Data in Assembler
directives
SPARC Directives and Pseudo-Operations
disassembling object code
Disassembling Object Code
error messages
Assembler Error Messages
expressions
Operators and Expressions in Assembler
file syntax
Assembler File Syntax
generating directives
Data Generating Directives
guidelines for coding inline templates
Guidelines for Coding Inline Templates
inline function templates
Inline Function Templates in C and C++
inline functions
SPARC Assembler Inline Functions and __asm Code
inline template layout
Layout of Code in Inline Templates
labels
Labels in Assembler
lexical features
Assembler Lexical Features
lines syntax
Assembler Lines Syntax
multiple comment lines
Comments in Assembler
numbers
Numbers in Assembler
operators
Operators and Expressions in Assembler
parameter passing
Parameter Passing
pseudo operations
Alphabetized Listing of Pseudo Operations With Descriptions
pseudo-op attributes
Pseudo-Op Attributes
pseudo-op examples
Pseudo-Op Examples
registers
Special Symbols – Registers
section control directives
Section Control Directives
SPARC program example
A Sample SPARC Assembler Program
SPARC V9 expressions
SPARC V9 Operators and Expressions
SPARC V9 operators
SPARC V9 Operators and Expressions
special symbols
Special Symbols – Registers
stack space
Stack Space
statement syntax
Assembler Statement Syntax
string escape codes
Strings in Assembler
strings
Strings in Assembler
symbol attribute directives
Symbol Attribute Directives
symbol names
Symbol Names in Assembler
synopses notations
Notation Conventions
syntax notation
Assembler Syntax Notation
templates in C and C++
Inline Function Templates in C and C++
types of directives
SPARC Directives and Pseudo-Operations
using command line
Using the SPARC Assembler Command Line
assembly language
See
assembler
assignment directive
Assignment Directive
atof()
function
Alphabetized Listing of Pseudo Operations With Descriptions
Alphabetized Listing of Pseudo Operations With Descriptions
Numbers in Assembler
attributes
Attributes in Assembler
B
.byte
pseudo-op
Examples of Defining Data in Sections
Alphabetized Listing of Pseudo Operations With Descriptions
binary operations
Special Symbol Names
C
.common
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
C code
32-bit absolute example
32-Bit Absolute
44-bit absolute example
44-Bit Absolute
64-bit absolute example
64-Bit Absolute
64-bit with 13-bit
64-Bit With 13-Bit PIC
64-bit with 32-bit PIC
64-Bit With 32-Bit PIC
__asm
statements
Using __asm Statements in C and C++
address sizes
Address Sizes
basics of compiling
Basics of Compiling C Programs
compiling with templates
Compiling C/C++ with Inline Templates
global object table
Global Object Table (GOT) Code Models
limitations for 32-bit
Limitations for 32-Bit Code
limitations for 32-bit and 64-bit
Limitations for Both 32-Bit and 64-Bit Code
parameter passing
Parameter Passing
Parameter Passing
register usage
Register Usage
return values
Functions Returning Values
simple function example
Anatomy of a C Function
SPARC assembler program example
A Sample SPARC Assembler Program
templates
Inline Function Templates in C and C++
C++ code
__asm
statements
Using __asm Statements in C and C++
compiling with templates
Compiling C/C++ with Inline Templates
inline templates and
Inline Templates in C++
templates
Inline Function Templates in C and C++
case distinction
Special Symbol Names
Case Distinction in Assembler
code models
SPARC Code Models
general dynamic TLS
General Dynamic TLS Code Model
global object table
Global Object Table (GOT) Code Models
initial executable
Initial Executable Code Model
local dynamic TLS
Local Dynamic TLS Code Model
local executable
Local Executable Code Model
thread local storage
Thread Local Storage (TLS) Code Models
command line
assembler and
Using the SPARC Assembler Command Line
disassembling object code
Disassembling Object Code
command line options
Assembler Command Line Options
comment lines
Comments in Assembler
compiler
calling conventions per architecture
Compiler Calling Convention
compiler drivers
Assembler Command Line
constants
Numbers in Assembler
Control Transfer Instructions (CTI)
Assembler Error Messages
current location
Locations Within a Section
current section
Sections of an ELF File
D
.double
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–D
option
Assembler Command Line Options
data
creating in assembler
Creating Data in Assembler
examples
Examples of Various Data Types
various types
Examples of Various Data Types
writing declarations
Examples of Various Data Types
data generating directives
Data Generating Directives
decimal constants
Numbers in Assembler
default output file
SPARC Executable and Linking Format
dis
program
Disassembling Object Code
disassembling object code
Disassembling Object Code
E
.empty
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
Assembler Error Messages
ELF
.fini
section
Creating a .fini Section in an Object File
.init
section
Creating an .init Section in an Object File
addresses in memory
Addresses in Memory
files
SPARC Executable and Linking Format
locations
Locations Within a Section
predefined non-user sections
Predefined Non-User Sections
relocation tables
Relocation Tables
section headers
Section Header
string tables
String Tables
symbol tables
Symbol Tables
tools to use with
ELF Tools
user sections
Predefined User Sections
error messages
Assembler Error Messages
escape codes in strings
Strings in Assembler
examples
32-bit absolute
32-Bit Absolute
44-bit absolute
44-Bit Absolute
64-bit absolute
64-Bit Absolute
64-bit with 13-bit PIC
64-Bit With 13-Bit PIC
64-bit with 32-bit PIC
64-Bit With 32-Bit PIC
basics of compiling C code
Basics of Compiling C Programs
C function, simple
Anatomy of a C Function
Fibonacci program
A Sample SPARC Assembler Program
general dynamic TLS code
General Dynamic TLS Code Model
initial executable TLS code
Initial Executable Code Model
local dynamic TLS code
Local Dynamic TLS Code Model
pseudo operations
Pseudo-Op Examples
SPARC assembler program
A Sample SPARC Assembler Program
Executable and Linking Format
See
ELF
expressions
Operators and Expressions in Assembler
44-bit in SPARC V9
SPARC V9 Low 44-Bit Operators and Expressions
SPARC V9
SPARC V9 Operators and Expressions
F
.file
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
fbe
command
Assembler Command Line
Fibonacci numbers
SPARC C assembler example
A Sample SPARC Assembler Program
file syntax
Assembler File Syntax
floating-point constants
Numbers in Assembler
floating-point pseudo-operations
Numbers in Assembler
G
.global
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.globl
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.group
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
H
.half
Examples of Defining Data in Sections
.half
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.hidden
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
hexadecimal constants
Numbers in Assembler
–hwcap
option
Assembler Command Line Options
hyphen (-)
Assembler Command Line
I
.ident
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.internal
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–I
option
Assembler Command Line Options
–i
option
Assembler Command Line Options
inline function templates
branches and calls
Branches and Calls
C++
Inline Templates in C++
guidlines
Guidelines for Coding Inline Templates
layout
Layout of Code in Inline Templates
optimations and
Late and Early Inlining
parameter passing
Parameter Passing
inline functions
assembler
SPARC Assembler Inline Functions and __asm Code
efficiency
Improving Efficiency of Inlined Functions
instruction sets
natural instructions
Natural Instructions
natural register and word
Natural Register, Natural Word for SPARC
SPARC assembler
SPARC Instruction Sets and Mnemonics
integer suffixes
Numbers in Assembler
invoking
as
command
Assembler Command Line
L
.local
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–L
option
Assembler Command Line Options
labels
Labels in Assembler
lexical features
Assembler Lexical Features
lines syntax
Assembler Lines Syntax
location counter
Locations Within a Section
locations
Locations Within a Section
low 44-bit expressions and operators
SPARC V9
SPARC V9 Low 44-Bit Operators and Expressions
M
–m64 and -m32
options
Assembler Command Line Options
–m
option
Assembler Command Line Options
multiple comment lines
Comments in Assembler
multiple files, on
Assembler Command Line
multiple sections
Sections of an ELF File
multiple strings
in string table
String Tables
N
.noalias
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
Alphabetized Listing of Pseudo Operations With Descriptions
.nonvolatile
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.nword
pseudo-op
Natural Register and Word for SPARC
Examples of Defining Data in Sections
Alphabetized Listing of Pseudo Operations With Descriptions
–n
option
Assembler Command Line Options
natural instructions
SPARC instruction sets
Natural Instructions
natural register
SPARC instruction sets
Natural Register, Natural Word for SPARC
natural word
SPARC instruction sets
Natural Register, Natural Word for SPARC
numbers
Numbers in Assembler
numeric labels
Labels in Assembler
O
–o
option
Assembler Command Line Options
object files
type
SPARC Executable and Linking Format
objects
sections
Sections of an ELF File
octal numeric constants
Numbers in Assembler
operators
Operators and Expressions in Assembler
44-bit in SPARC V9
SPARC V9 Low 44-Bit Operators and Expressions
SPARC V9
SPARC V9 Operators and Expressions
options
assembler command line
Assembler Command Line Options
P
.poplocals
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.popsection
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.proc
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.protected
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.pushlocals
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.pushsection
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–P
option
Assembler Command Line Options
percentage sign (%)
Special Symbols – Registers
predefined non-user sections
Predefined Non-User Sections
predefined user sections
Predefined User Sections
pseudo operations
alphabetical list
Alphabetized Listing of Pseudo Operations With Descriptions
attributes
Pseudo-Op Attributes
examples
Pseudo-Op Examples
section control directives
Section Control Directives
SPARC
SPARC Directives and Pseudo-Operations
Q
.quad
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–Q
option
Assembler Command Line Options
R
.reserve
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
registers
Special Symbols – Registers
relocatable files
SPARC Executable and Linking Format
relocation tables
Relocation Tables
S
.section
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.seg
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.single
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.size
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.skip
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.stabn
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.stabs
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.symbolic
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–S
option
Assembler Command Line Options
–s
option
Assembler Command Line Options
section control directives
Section Control Directives
section control pseudo-ops
Section Control Directives
section headers
Section Header
sh_flags
Section Header
sh_info
Section Header
sh_link
Section Header
sh_name
Section Header
sections
Sections of an ELF File
sh_flags
field
Section Header
sh_info
field
Section Header
sh_link
field
Section Header
sh_name
field
Section Header
SPARC
ABI
Additional Information About SPARC ABI
address space sizes
SPARC Code Models
code models
SPARC Code Models
instruction sets
SPARC Instruction Sets and Mnemonics
mnemonics
SPARC Instruction Sets and Mnemonics
writing functions
Writing Functions in the SPARC ABI
SPARC V9
64-bit expressions
SPARC V9 Operators and Expressions
64-bit operators
SPARC V9 Operators and Expressions
special floating-point values
Numbers in Assembler
special names, floating point values
Numbers in Assembler
special symbols
Special Symbols – Registers
st_info
variable
Symbol Tables
st_name
variable
Symbol Tables
st_other
variable
Symbol Tables
st_shndx
variable
Symbol Tables
st_size
variable
Symbol Tables
st_value
variable
Symbol Tables
stack space
storing variables
Stack Space
statement syntax
Assembler Statement Syntax
string escape codes
Strings in Assembler
string tables
String Tables
strings
Strings in Assembler
multiple in string table
String Tables
multiple references in string table
String Tables
suggested style
Strings in Assembler
unreferenced in string table
String Tables
sub-strings in string table
references to
String Tables
symbol attribute directives
Symbol Attribute Directives
symbol names
Symbol Names in Assembler
symbol table
Symbol Tables
symbol tables
Symbol Tables
st_info
Symbol Tables
st_name
Symbol Tables
st_other
Symbol Tables
st_shndx
Symbol Tables
st_size
Symbol Tables
st_value
Symbol Tables
symbol
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
syntax notation
Assembler Syntax Notation
T
.tls_common
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.type
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
U
.uahalf
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.uaword
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–U
option
Assembler Command Line Options
–ul
option
Assembler Command Line Options
unary operators
Special Symbol Names
user sections
Section Control Directives
V
.version
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.volatile
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–V
option
Assembler Command Line Options
W
.weak
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.word
Examples of Defining Data in Sections
.word
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
writing functions in SPARC ABI
Writing Functions in the SPARC ABI
X
.xstabs
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
.xword
Examples of Defining Data in Sections
.xword
pseudo-op
Alphabetized Listing of Pseudo Operations With Descriptions
–xarch
option
Assembler Command Line Options
–xF
option
Assembler Command Line Options
Y
–Y{c|m}
option
Assembler Command Line Options
Previous