FXSAVE
Usage: FXSAVE dest Modifies flags: None
Saves the current state of the x87 FPU, MMX technology, XMM, and MXCSR registers to a 512-byte memory location specified in the destination operand.
Store FP,MMX and SSE State
FXSAVE memory ; 0F AE /0 [P6,SSE,FPU]
The FXSAVE instruction writes the current FPU, MMX and SSE technology states (environment and registers), to the 512 byte memory area defined by the destination operand. It does this without checking for pending unmasked floating-point exceptions (similar to the operation of FNSAVE).
Unlike the FSAVE/FNSAVE instructions, the processor retains the contents of the FPU, MMX and SSE states in the processor after the state has been saved. This instruction has been optimized to maximize the floating-point save performance.
After the FXSAVE instruction has saved the state of the x87 FPU, MMX technology, XMM, and MXCSR registers, the processor retains the contents of the registers. Because of this behavior, the FXSAVE instruction cannot be used by an application program to pass a 'clean' x87 FPU state to a procedure, since it retains the current state. To clean the x87 FPU state, an application must explicitly execute an FINIT instruction after an FXSAVE instruction to reinitialize the x87 FPU state.
EXAMPLE:
fxsave label