SIMPLY FPU
by Raymond Filiatreault
Copyright 2003
Appendix 1
Alphabetical list of FPU instructions
F2XM1 2 to the X power minus 1
FABS Absolute value of ST(0)
FADD Add two floating point values
FADDP Add two floating point values and pop ST(0)
FBLD Load BCD data from memory
FBSTP Store BCD data to memory
FCHS Change the sign of ST(0)
FCLEX Clear exceptions
FCMOVcc Conditional move based on CPU flags
FCOM Compare ST(0) to a floating point value
FCOMI Compare ST(0) to ST(i) and set CPU flags
FCOMIP Compare ST(0) to ST(i) and set CPU flags and pop ST(0)
FCOMP Compare ST(0) to a floating point value and pop ST(0)
FCOMPP Compare ST(0) to ST(1) and pop both registers
FCOS Cosine of the angle value in ST(0)
FDECSTP Decrease stack pointer
FDIV Divide two floating point values
FDIVP Divide two floating point values and pop ST(0)
FDIVR Divide in reverse two floating point values
FDIVRP Divide in reverse two floating point values and pop ST(0)
FFREE Free a data register
FIADD Add an Integer located in memory to ST(0)
FICOM Compare ST(0) to an integer value
FICOMP Compare ST(0) to an integer value and pop ST(0)
FIDIV Divide ST(0) by an Integer located in memory
FIDIVR Divide an Integer located in memory by ST(0)
FILD Load integer from memory
FIMUL Multiply ST(0) by an Integer located in memory
FINCSTP Increase stack pointer
FINIT Initialize the FPU
FIST Store integer to memory
FISTP Store integer to memory and pop ST(0)
FISUB Subtract an Integer located in memory from ST(0)
FISUBR Subtract ST(0) from an Integer located in memory
FLD Load real number
FLD1 Load the value of 1
FLDCW Load control word
FLDENV LoaD environment
FLDL2E Load the log base 2 of e (Napierian constant)
FLDL2T Load the log base 2 of Ten
FLDLG2 Load the log base 10 of 2 (common log of 2)
FLDLN2 Load the log base e of 2 (natural log of 2)
FLDPI Load the value of PI
FLDZ Load the value of Zero
FMUL Multiply two floating point values
FMULP Multiply two floating point values and pop ST(0)
FNCLEX Clear exceptions (no wait)
FNINIT Initialize the FPU (no wait)
FNOP No operation
FNSAVE Save state of FPU (no wait)
FNSTCW Store control word (no wait)
FNSTENV Store environment (no wait)
FNSTSW Store status word (no wait)
FPATAN Partial arctangent of the ratio ST(1)/ST(0)
FPREM Partial remainder
FPREM1 Partial remainder 1
FPTAN Partial tangent of the angle value in ST(0)
FRNDINT Round ST(0) to an integer
FRSTOR Restore all registers
FSAVE Save state of FPU
FSCALE Scale ST(0) by ST(1)
FSIN Sine of the angle value in ST(0)
FSINCOS Sine and cosine of the angle value in ST(0)
FSQRT Square root of ST(0)
FST Store real number
FSTCW Store control word
FSTENV Store environment
FSTP Store real number and pop ST(0)
FSTSW Store status word
FSUB Subtract two floating point values
FSUBP Subtract two floating point values and pop ST(0)
FSUBR Subtract in reverse two floating point values
FSUBRP Subtract in reverse two floating point values and Pop ST(0)
FTST Test ST(0) by comparing it to +0.0
FUCOM Unordered Compare ST(0) to a floating point value
FUCOMI Unordered Compare ST(0) to ST(i) and set CPU flags
FUCOMIP Unordered Compare ST(0) to ST(i) and set CPU flags and pop ST(0)
FUCOMP Unordered Compare ST(0) to a floating point value and pop ST(0)
FUCOMPP Unordered Compare ST(0) to ST(1) and pop both registers
FWAIT Wait while FPU is busy
FXAM Examine the content of ST(0)
FXCH Exchange the top data register with another data register
FXTRACT Extract exponent and significand
FYL2X Y*Log2X
FYL2XP1 Y*Log2(X+1)
RETURN TO
SIMPLY FPU
CONTENTS