Fork me on GitHub

x86浮点运算指令

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)

Intel/AMD Mnemonic
Description
FBLD
load BCD
FBSTP
store BCD and pop
FCMOVB
floating-point conditional move if below
FCMOVBE
floating-point conditional move if below or equal
FCMOVE
floating-point conditional move if equal
FCMOVNB
floating-point conditional move if not below
FCMOVNBE
floating-point conditional move if not below or equal
FCMOVNE
floating-point conditional move if not equal
FCMOVNU
floating-point conditional move if unordered
FCMOVU
floating-point conditional move if unordered
FILD
load integer
FIST
store integer
FISTP
store integer and pop
FLD
load floating-point value
FST
store floating-point value
FSTP
store floating-point value and pop
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)

Intel/AMD Mnemonic
Description
FABS
absolute value
FADD
add floating-point
FADDP
add floating-point and pop
FCHS
change sign
FDIV
divide floating-point
FDIVP
divide floating-point and pop
FDIVR
divide floating-point reverse
FDIVRP
divide floating-point reverse and pop
FIADD
add integer
FIDIV
divide integer
FIDIVR
divide integer reverse
FIMUL
multiply integer
FISUB
subtract integer
FISUBR
subtract integer reverse
FMUL
multiply floating-point
FMULP
multiply floating-point and pop
FPREM
partial remainder
FPREM1
IEEE partial remainder
FRNDINT
round to integer
FSCALE
scale by power of two
FSQRT
square root
FSUB
subtract floating-point
FSUBP
subtract floating-point and pop
FSUBR
subtract floating-point reverse
FSUBRP
subtract floating-point reverse and pop
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)

Intel/AMD Mnemonic
Description
FCOM
compare floating-point
FCOMI
compare floating-point and set %eflags
FCOMIP
compare floating-point, set %eflags, and pop
FCOMP
compare floating-point and pop
FCOMPP
compare floating-point and pop twice
FICOM
compare integer
FICOMP
compare integer and pop
FTST
test floating-point (compare with 0.0)
FUCOM
unordered compare floating-point
FUCOMI
unordered compare floating-point and set %eflags
FUCOMIP
unordered compare floating-point, set %eflags, and pop
FUCOMP
unordered compare floating-point and pop
FUCOMPP
compare floating-point and pop twice
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)

Intel/AMD Mnemonic
Description
F2XM1
computes 2x-1
FCOS
cosine
FPATAN
partial arctangent
FPTAN
partial tangent
FSIN
sine
FSINCOS
sine and cosine
FYL2X
computes y * log2x
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)

Intel/AMD Mnemonic
Description
FLD1
load +1.0
FLDL2E
load log2e
FLDL2T
load log210
FLDLG2
load log102
FLDLN2
load loge2
FLDPI
load π
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)

Intel/AMD Mnemonic
Description
FCLEX
clear floating-point exception flags after checking for error conditions
FDECSTP
decrement floating-point register stack pointer
FFREE
free floating-point register
FINCSTP
increment floating-point register stack pointer
FINIT
initialize floating-point unit after checking error conditions
FLDCW
load floating-point unit control word
FLDENV
load floating-point unit environment
FNCLEX
clear floating-point exception flags without checking for error conditions
FNINIT
initialize floating-point unit without checking error conditions
FNOP
floating-point no operation
FNSAVE
save floating-point unit state without checking error conditions
FNSTCW
store floating-point unit control word without checking error conditions
FNSTENV
store floating-point unit environment without checking error conditions
FNSTSW
store floating-point unit status word without checking error conditions
FRSTOR
restore floating-point unit state
FSAVE
save floating-point unit state after checking error conditions
FSTCW
store floating-point unit control word after checking error conditions
FSTENV
store floating-point unit environment after checking error conditions
FSTSW
store floating-point unit status word after checking error conditions
FWAIT
wait for floating-point unit
WAIT
wait for floating-point unit

 网页源地址:https://docs.oracle.com/cd/E18752_01/html/817-5477/eoizy.html

posted on 2017-07-08 21:46  地精的贪婪  阅读(944)  评论(0编辑  收藏  举报