Oracle Floating Point Instructions X86 Assembly Language Reference Manual

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 4

12/14/2017 Floating-Point Instructions - x86 Assembly Language Reference Manual
https://docs.oracle.com/cd/E18752_01/html/817-5477/eoizy.html# 1/4
Exit Print View
x86 Assembly Language Reference Manual
Floating-Point Instructions
The floating point instructions operate on floating-point, integer, and binary coded decimal (BCD) operands.
Data Transfer Instructions (Floating Point)
The data transfer instructions move floating-point, integer, and BCD values between memory and the
floating point registers.
Table 3-13 Data Transfer Instructions (Floating-Point)
Solaris Mnemonic Intel/AMD Mnemonic Description Notes
fbld FBLD load BCD
fbstp FBSTP store BCD and pop
fcmovb FCMOVB floating-point conditional
move if below
fcmovbe FCMOVBE floating-point conditional
move if below or equal
fcmove FCMOVE floating-point conditional
move if equal
fcmovnb FCMOVNB floating-point conditional
move if not below
fcmovnbe FCMOVNBE floating-point conditional
move if not below or equal
fcmovne FCMOVNE floating-point conditional
move if not equal
fcmovnu FCMOVNU floating-point conditional
move if unordered
fcmovu FCMOVU floating-point conditional
move if unordered
fild FILD load integer
fist FIST store integer
fistp FISTP store integer and pop
fld FLD load floating-point value
fst FST store floating-point value
fstp FSTP store floating-point value
and pop
fxch FXCH exchange registers
Basic Arithmetic Instructions (Floating-Point)
The basic arithmetic instructions perform basic arithmetic operations on floating-point and integer operands.
Table 3-14 Basic Arithmetic Instructions (Floating-Point)
Solaris Mnemonic Intel/AMD Mnemonic Description Notes
fabs FABS absolute value
fadd FADD add floating-point
faddp FADDP add floating-point and pop
fchs FCHS
12/14/2017 Floating-Point Instructions - x86 Assembly Language Reference Manual
https://docs.oracle.com/cd/E18752_01/html/817-5477/eoizy.html# 2/4
change sign
fdiv FDIV divide floating-point
fdivp FDIVP divide floating-point and
pop
fdivr FDIVR divide floating-point
reverse
fdivrp FDIVRP divide floating-point
reverse and pop
fiadd FIADD add integer
fidiv FIDIV divide integer
fidivr FIDIVR divide integer reverse
fimul FIMUL multiply integer
fisub FISUB subtract integer
fisubr FISUBR subtract integer reverse
fmul FMUL multiply floating-point
fmulp FMULP multiply floating-point and
pop
fprem FPREM partial remainder
fprem1 FPREM1 IEEE partial remainder
frndint FRNDINT round to integer
fscale FSCALE scale by power of two
fsqrt FSQRT square root
fsub FSUB subtract floating-point
fsubp FSUBP subtract floating-point and
pop
fsubr FSUBR subtract floating-point
reverse
fsubrp FSUBRP subtract floating-point
reverse and pop
fxtract FXTRACT extract exponent and
significand
Comparison Instructions (Floating-Point)
The floating-point comparison instructions operate on floating-point or integer operands.
Table 3-15 Comparison Instructions (Floating-Point)
Solaris Mnemonic Intel/AMD Mnemonic Description Notes
fcom FCOM compare floating-point
fcomi FCOMI compare floating-point
and set %eflags
fcomip FCOMIP compare floating-point, set
%eflags, and pop
fcomp FCOMP compare floating-point
and pop
fcompp FCOMPP compare floating-point
and pop twice
ficom FICOM compare integer
ficomp FICOMP compare integer and pop
ftst FTST test floating-point
(compare with 0.0)
fucom FUCOM unordered compare
floating-point
12/14/2017 Floating-Point Instructions - x86 Assembly Language Reference Manual
https://docs.oracle.com/cd/E18752_01/html/817-5477/eoizy.html# 3/4
fucomi FUCOMI unordered compare
floating-point and set
%eflags
fucomip FUCOMIP unordered compare
floating-point, set %eflags,
and pop
fucomp FUCOMP unordered compare
floating-point and pop
fucompp FUCOMPP compare floating-point
and pop twice
fxam FXAM examine floating-point
Transcendental Instructions (Floating-Point)
The transcendental instructions perform trigonometric and logarithmic operations on floating-point operands.
Table 3-16 Transcendental Instructions (Floating-Point)
Solaris Mnemonic Intel/AMD Mnemonic Description Notes
f2xm1 F2XM1 computes 2x-1
fcos FCOS cosine
fpatan FPATAN partial arctangent
fptan FPTAN partial tangent
fsin FSIN sine
fsincos FSINCOS sine and cosine
fyl2x FYL2X computes y * log2x
fyl2xp1 FYL2XP1 computes y * log2(x+1)
Load Constants (Floating-Point) Instructions
The load constants instructions load common constants, such as π, into the floating-point registers.
Table 3-17 Load Constants Instructions (Floating-Point)
Solaris Mnemonic Intel/AMD Mnemonic Description Notes
fld1 FLD1 load +1.0
fldl2e FLDL2E load log2e
fldl2t FLDL2T load log210
fldlg2 FLDLG2 load log102
fldln2 FLDLN2 load loge2
fldpi FLDPI load π
fldz FLDZ load +0.0
Control Instructions (Floating-Point)
The floating-point control instructions operate on the floating-point register stack and save and restore the
floating-point state.
Table 3-18 Control Instructions (Floating-Point)
Solaris Mnemonic Intel/AMD Mnemonic Description Notes
fclex FCLEX clear floating-point
exception flags after
12/14/2017 Floating-Point Instructions - x86 Assembly Language Reference Manual
https://docs.oracle.com/cd/E18752_01/html/817-5477/eoizy.html# 4/4
checking for error
conditions
fdecstp FDECSTP decrement floating-point
register stack pointer
ffree FFREE free floating-point register
fincstp FINCSTP increment floating-point
register stack pointer
finit FINIT initialize floating-point
unit after checking error
conditions
fldcw FLDCW load floating-point unit
control word
fldenv FLDENV load floating-point unit
environment
fnclex FNCLEX clear floating-point
exception flags without
checking for error
conditions
fninit FNINIT initialize floating-point
unit without checking
error conditions
fnop FNOP floating-point no operation
fnsave FNSAVE save floating-point unit
state without checking
error conditions
fnstcw FNSTCW store floating-point unit
control word without
checking error conditions
fnstenv FNSTENV store floating-point unit
environment without
checking error conditions
fnstsw FNSTSW store floating-point unit
status word without
checking error conditions
frstor FRSTOR restore floating-point unit
state
fsave FSAVE save floating-point unit
state after checking error
conditions
fstcw FSTCW store floating-point unit
control word after
checking error conditions
fstenv FSTENV store floating-point unit
environment after
checking error conditions
fstsw FSTSW store floating-point unit
status word after checking
error conditions
fwait FWAIT wait for floating-point unit
wait WAIT wait for floating-point unit

Navigation menu