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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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)
|
|
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