Simply FPU Appendix 1

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