Skip to Content
Sun and Oracle
Channel Sun
How to Buy
Log In
English
docs.sun.com Home
>
Solaris 8 Software Developer Collection
>
IA-32 Assembly Language Reference Manual
> Index
IA-32 Assembly Language Reference Manual
Search only this book
Search Help
Contained Within
Solaris 8 Software Developer Collection
Find More Documentation
Browse Documentation Titles
Browse Product Documentation
Featured Support Resources
Sun Training Courses
BigAdmin System Admininstration Portal
Sun Support Center
Sun Solve
Download this book in PDF (272 KB)
Previous
: A. Using the Assembler Command Line
A
addresses
(
)
addressing mode
base and index
(
)
offset
(
)
scale
(
)
segment register
(
)
as command
(
)
assembler (as)
addition instructions
(
)
(
)
arithmetic logical instructions
(
)
(
)
bit instructions
(
)
(
)
byte instructions
(
)
(
)
comparison instructions
(
)
(
)
constant instructions
(
)
(
)
conversion instructions
(
)
(
)
coprocessor instructions
(
)
(
)
decimal arithmetic instructions
(
)
(
)
division instructions
(
)
(
)
exchange instructions
(
)
(
)
(
)
(
)
expressions
(
)
(
)
flag instructions
(
)
(
)
floating point comparison instructions
(
)
(
)
floating point constant instructions
(
)
(
)
floating point opcode errors
(
)
(
)
floating point transcendental instructions
(
)
(
)
I/O instructions
(
)
immediate values
(
)
input format
(
)
(
)
instruction descriptions
(
)
(
)
addressing modes
(
)
(
)
instructions
addition
(
)
(
)
(
)
arithmetic logical
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
arithmetic/logical
(
)
bit
(
)
(
)
(
)
(
)
(
)
(
)
byte
(
)
(
)
comparison
(
)
(
)
(
)
(
)
(
)
(
)
(
)
constant
(
)
(
)
(
)
(
)
(
)
(
)
conversion
(
)
(
)
(
)
(
)
(
)
coprocessor
(
)
(
)
(
)
decimal arithmetic
(
)
(
)
(
)
(
)
(
)
(
)
(
)
division
(
)
(
)
(
)
(
)
(
)
(
)
exchange
(
)
(
)
(
)
flag
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
floating point comparison
(
)
(
)
(
)
floating point constant
(
)
(
)
(
)
(
)
(
)
(
)
(
)
floating point transcendental
(
)
(
)
(
)
I/O
(
)
(
)
(
)
(
)
(
)
integer transfer
(
)
(
)
(
)
interrupt
(
)
(
)
(
)
jump
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
load and move
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
load full pointer
(
)
(
)
(
)
(
)
(
)
miscellaneous
(
)
(
)
(
)
(
)
(
)
(
)
(
)
miscellaneous arithmetic operations
(
)
(
)
(
)
(
)
(
)
(
)
(
)
miscellaneous floating point
(
)
multiply
(
)
(
)
(
)
multiply and divide
(
)
(
)
(
)
(
)
(
)
(
)
packed decimal transfer
(
)
(
)
pop
(
)
pop stack into word
(
)
procedure call
(
)
procedure call and return
(
)
(
)
(
)
(
)
(
)
(
)
processor control
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
processor control floating point
(
)
(
)
protection model
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
push
(
)
push stack into word
(
)
real transfer
(
)
(
)
(
)
(
)
return
(
)
rotate
(
)
(
)
(
)
(
)
string
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
subtraction
(
)
(
)
(
)
(
)
(
)
(
)
transcendental
(
)
(
)
(
)
(
)
(
)
integer transfer instructions
(
)
(
)
interrupt instructions
(
)
(
)
jump instructions
(
)
(
)
load and move instructions
(
)
(
)
miscellaneous arithmetic operations
(
)
(
)
miscellaneous instructions
(
)
(
)
mnemonics
addition
(
)
arithmetic
(
)
multiplication instructions
(
)
(
)
multiply and divide instructions
(
)
(
)
object file
.comment section
(
)
operands
immediate
(
)
memory
(
)
overview
(
)
register
(
)
operations, dbx pseudo
(
)
operations, general pseudo
(
)
(
)
operators
(
)
other floating point instructions
(
)
(
)
packed decimal transfer instructions
(
)
(
)
pop instructions
(
)
(
)
procedure call and return instructions
(
)
(
)
process control floating point instructions
(
)
(
)
processor control instructions
(
)
(
)
protection model instructions
(
)
(
)
push instructions
(
)
(
)
real transfer instructions
(
)
(
)
rotate instructions
(
)
(
)
segment register instructions
(
)
(
)
statements
assignment
(
)
empty
(
)
machine operation
(
)
modifying
(
)
(
)
pseudo operation
(
)
string instructions
(
)
(
)
subtraction instructions
(
)
(
)
SunOS vs. Intel, mnemonics
(
)
(
)
notational coventions
(
)
symbols
(
)
syntax rules
(
)
(
)
transcendental instructions
(
)
(
)
types
(
)
(
)
values
(
)
(
)
assembler command line
(
)
assembler command line options
(
)
assembly language
(
)
C
cc language driver
(
)
command line options
-
(
)
-D
(
)
-l
(
)
-o
(
)
-P
(
)
-Q
(
)
-s
(
)
-U
(
)
-V
(
)
D
default output file
(
)
dis program
(
)
disassembling object code
(
)
E
ELF header
e_ehsize
(
)
e_entry
(
)
e_flag
(
)
e_ident
(
)
e_machine
(
)
e_phentsize
(
)
e_phnum
(
)
e_phoff
(
)
e_shentsize
(
)
e_shnum
(
)
e_shoff
(
)
e_shstrndx
(
)
e_type
(
)
e_version
(
)
ELF section
(
)
predefined non-user section
(
)
predefined user section
(
)
ELF section header
sh_addr
(
)
sh_addralign
(
)
sh_entsize
(
)
sh_flags
(
)
sh_info
(
)
sh_link
(
)
sh_name
(
)
sh_offset
(
)
sh_size
(
)
sh_type
(
)
ELF string table
(
)
ELF symbol table
(
)
st_info
(
)
st_name
(
)
st_other
(
)
st_shndx
(
)
st_size
(
)
st_value
(
)
expression
absolute
(
)
relocatable
(
)
F
f77 language driver
(
)
fbe command
(
)
.file
(
)
G
.globl
(
)
H
hyphen (-)
(
)
I
-I option
(
)
instructions
addition
fadd()
(
)
faddp()
(
)
fiadd()
(
)
arithmetic logical
adc()
(
)
add()
(
)
and()
(
)
bound()
(
)
cmp()
(
)
dec()
(
)
inc()
(
)
neg()
(
)
not()
(
)
or()
(
)
sal()
(
)
sar()
(
)
sbb()
(
)
shl()
(
)
shld()
(
)
shr()
(
)
shrd()
(
)
sub()
(
)
test()
(
)
xor()
(
)
bit
bsf()
(
)
bsr()
(
)
bt()
(
)
btc()
(
)
btr()
(
)
bts()
(
)
byte
bswap()
(
)
setcc()
(
)
comparison
fcom()
(
)
fcomp()
(
)
fcompp()
(
)
ficom()
(
)
ficomp()
(
)
ftst()
(
)
fxam()
(
)
constant
fldl2e()
(
)
fldl2t()
(
)
fldlg2()
(
)
fldln2()
(
)
fldpi()
(
)
fldz()
(
)
conversion
cbtw()
(
)
cltd()
(
)
cwtd()
(
)
cwtl()
(
)
coprocessor
fwait()
(
)
wait()
(
)
decimal arithmetic
aaa()
(
)
aad()
(
)
aam()
(
)
aas()
(
)
daa()
(
)
das()
(
)
division
fdiv()
(
)
fdivr()
(
)
fdivrp()
(
)
fidiv()
(
)
fidivr()
(
)
(
)
exchange
cmpxchg()
(
)
xadd()
(
)
xchg()
(
)
flag
clc()
(
)
cld()
(
)
cli()
(
)
cmc()
(
)
lahf()
(
)
popf()
(
)
pushf()
(
)
sahf()
(
)
stc()
(
)
std()
(
)
sti()
(
)
floating point comparison
fucom()
(
)
fucomp()
(
)
fucompp()'
(
)
floating point constant
fld1()
(
)
fld12+()
(
)
fld12e()
(
)
fldlg2()
(
)
fldln2()
(
)
fldpi()
(
)
fldz()
(
)
floating point transcendental
fcos(
(
)
fs
(
)
fsin(
(
)
I/O
in()
(
)
ins()
(
)
out()
(
)
outs()
(
)
integer transfer
fild()
(
)
fist()
(
)
fistp()
(
)
interrupt
int()
(
)
into()
(
)
iret()
(
)
jump
jcc()
(
)
jcxz()
(
)
jmp()
(
)
ljmp()
(
)
loop()
(
)
loope()
(
)
loopne()
(
)
loopnz()
(
)
loopz()
(
)
load and move
lea()
(
)
mov()
(
)
(
)
(
)
(
)
movsb()
(
)
movsbwl()
(
)
movw()
(
)
movzwl()
(
)
load full pointer
lds()
(
)
les()
(
)
lfs()
(
)
lgs()
(
)
lss()
(
)
miscellaneous
hlt()
(
)
invd()
(
)
invlp()
(
)
lock()
(
)
nop()
(
)
wbinvd()
(
)
miscellaneous arithmetic o
(
)
(
)
miscellaneous arithmetic ope
(
)
miscellaneous arithmetic oper
(
)
(
)
miscellaneous arithmetic operations
(
)
(
)
miscellaneous floating point
fprem
(
)
multiply
fimul()
(
)
fmul()
(
)
fmulp()
(
)
multiply and divide
div()
(
)
idiv()
(
)
imul()
(
)
imulb()
(
)
(
)
mul()
(
)
packed decimal transfer
fbld()
(
)
fbst()
(
)
pop
popa()
(
)
pop stack into word
pop()
(
)
procedure call and return
call()
(
)
enter()
(
)
lcall()
(
)
leave()
(
)
lret()
(
)
ret()
(
)
processor control
fclex()
(
)
fdecstp()
(
)
ffree()
(
)
fincstp()
(
)
finit()
(
)
fnclex()
(
)
fninit()
(
)
fnop()
(
)
fnsave()
(
)
fnstcw()
(
)
fnstenv()
(
)
fnstsw()
(
)
frstor()
(
)
fsave()
(
)
fstcw()
(
)
fstenv()
(
)
fstsw()
(
)
wait()
(
)
processor control floating point
(
)
(
)
protection model
arpl()
(
)
lar()
(
)
lgdt()
(
)
lidt()
(
)
lldt()
(
)
lmsw()
(
)
lsl()
(
)
ltr()
(
)
sgdt()
(
)
sidt()
(
)
sldt()
(
)
smsw()
(
)
str()
(
)
verr()
(
)
verw()
(
)
push
pusha()
(
)
push stack into word
push()
(
)
real transfer
fld()
(
)
fst()
(
)
fstp()
(
)
fxch()
(
)
rotate
rcl()
(
)
rcr()
(
)
rol()
(
)
ror()
(
)
string
cmps()
(
)
lods()
(
)
movs()
(
)
rep()
(
)
repnz()
(
)
repz()
(
)
scas()
(
)
stos()
(
)
xlat()
(
)
subtraction
fisubr()
(
)
fisubrp()
(
)
fsub()
(
)
fsubr()
(
)
fsubrp()
(
)
subp()
(
)
transcendental
f2xm1()
(
)
fptan()
(
)
(
)
fyl2x()
(
)
fyl2xp1()
(
)
invoking, as command
(
)
L
language drivers
(
)
.local
(
)
M
-m option
(
)
machine instruction syntax
(
)
(
)
derived type information
(
)
destination operand
(
)
register name
(
)
source operand
(
)
multiple files, on as command line
(
)
multiple sections
(
)
multiple strings, in string table
(
)
N
.nonvolatile
(
)
notational conventions
condition codes
(
)
control register
(
)
distance of relative jump
(
)
immediate pointer
(
)
immediate value
(
)
memory operand
(
)
O
operands, byte register
(
)
operations, general pseudo
(
)
.align val
(
)
.bcd val
(
)
.bss
(
)
.bss tag, bytes
(
)
.byte val
(
)
.comm name, expr
(
)
.data
(
)
.double val
(
)
.even
(
)
options, command line
(
)
P
-P option
(
)
predefined non-user sections
(
)
predefined user sections
(
)
Programming Utilities - SunOS 5.0
(
)
pseudo-operations
(
)
Q
-Q option
(
)
R
relocatable files
(
)
relocation tables
(
)
S
-s option
(
)
.section
(
)
section header
(
)
sections
(
)
statements
append comment
(
)
(
)
assignment
(
)
empty
(
)
label prefix
(
)
machine operation
(
)
pseudo operation
(
)
string tables
(
)
strings
multiple references in string table
(
)
unreferenced in string table
(
)
strings, multiple in string table
(
)
sub-strings in string table, references to
(
)
symbol
(
)
symbol, reserved
.bss
(
)
.data
(
)
.fini
(
)
.init
(
)
.text
(
)
symbol tables
(
)
symbol types
absolute
(
)
attribute
(
)
bss
(
)
data
(
)
object file sections
(
)
text
(
)
undefined
(
)
U
-U option
(
)
V
-V option
(
)
.volatile
(
)
W
.weak
(
)
Previous
: A. Using the Assembler Command Line
News Center
About Sun
Contact Sun
Terms of Use
Privacy
Copyright
1994-2009
Sun Microsystems, Inc.