Skip Navigation Links | |
Exit Print View | |
x86 Assembly Language Reference Manual Oracle Solaris 11.1 Information Library |
1. Overview of the Oracle Solaris x86 Assembler
2. Oracle Solaris x86 Assembly Language Syntax
Data Transfer Instructions (Floating Point)
Basic Arithmetic Instructions (Floating-Point)
Comparison Instructions (Floating-Point)
Transcendental Instructions (Floating-Point)
Load Constants (Floating-Point) Instructions
Control Instructions (Floating-Point)
SIMD State Management Instructions
Data Transfer Instructions (MMX)
Packed Arithmetic Instructions (MMX)
Shift and Rotate Instructions (MMX)
State Management Instructions (MMX)
SIMD Single-Precision Floating-Point Instructions (SSE)
Data Transfer Instructions (SSE)
Packed Arithmetic Instructions (SSE)
Shuffle and Unpack Instructions (SSE)
MXCSR State Management Instructions (SSE)
64-Bit SIMD Integer Instructions (SSE)
Miscellaneous Instructions (SSE)
SSE2 Packed and Scalar Double-Precision Floating-Point Instructions
SSE2 Data Movement Instructions
SSE2 Packed Arithmetic Instructions
SSE2 Shuffle and Unpack Instructions
SSE2 Packed Single-Precision Floating-Point Instructions
SSE2 128-Bit SIMD Integer Instructions
SSE2 Miscellaneous Instructions
Operating System Support Instructions
64-Bit AMD Opteron Considerations
The general-purpose instructions perform basic data movement, memory addressing, arithmetic and logical operations, program flow control, input/output, and string operations on integer, pointer, and BCD data types.
The data transfer instructions move data between memory and the general-purpose and segment registers, and perform operations such as conditional moves, stack access, and data conversion.
Table 3-1 Data Transfer Instructions
|
The binary arithmetic instructions perform basic integer computions on operands in memory or the general-purpose registers.
Table 3-2 Binary Arithmetic Instructions
|
The decimal arithmetic instructions perform decimal arithmetic on binary coded decimal (BCD) data.
Table 3-3 Decimal Arithmetic Instructions
|
The logical instructions perform basic logical operations on their operands.
Table 3-4 Logical Instructions
|
The shift and rotate instructions shift and rotate the bits in their operands.
Table 3-5 Shift and Rotate Instructions
|
The bit instructions test and modify individual bits in operands. The byte instructions set the value of a byte operand to indicate the status of flags in the %eflags register.
Table 3-6 Bit and Byte Instructions
|
The control transfer instructions control the flow of program execution.
Table 3-7 Control Transfer Instructions
|
The string instructions operate on strings of bytes. Operations include storing strings in memory, loading strings from memory, comparing strings, and scanning strings for substrings.
Note - The Oracle Solaris mnemonics for certain instructions differ slightly from the Intel/AMD mnemonics. Alphabetization of the table below is by the Oracle Solaris mnemonic. All string operations default to long (doubleword).
Table 3-8 String Instructions
|
The input/output instructions transfer data between the processor's I/O ports, registers, and memory.
Table 3-9 I/O Instructions
|
The status flag control instructions operate on the bits in the %eflags register.
Table 3-10 Flag Control Instructions
|
The segment register instructions load far pointers (segment addresses) into the segment registers.
Table 3-11 Segment Register Instructions
|
The instructions documented in this section provide a number of useful functions.
Table 3-12 Miscellaneous Instructions
|