Opcode EMMS

CPU: all which supported IA MMX:
Pentium (P55C only), Pentium (tm) Pro (P6) future models
Type of Instruction: User

Instruction: EMMS


FloatPointTagWord <- FFFFh

Note: The EMMS instruction sets the values of the floating-point (FP) tag
word to empty (all ones). EMMS marks the registers as available, so
they can subsequently be used by floating-point instructions.
If a floating-point instruction loads into one of the registers
before it has been reset by the EMMS instruction, a floating-point
stack overflow can occur, which results in a FP exception or incorrect
result. All other MMX instructions validate the entire FP tag word (all
This instruction must be used to dear the MMX state at the end of all
MMX routines, and before calling other routines that may execute
floating-point instructions.

Flags affected: None


RM PM VM SMM Description
#UD #UD #UD #UD If CR0.EM = 1
#NM #NM #NM #NM If CR0.TS = 1
#MF #MF #MF #MF If pending FPU Exception

COP & Times:


P55C: n/a
future P6: n/a

Copyright by InternetNightmare 2005-2006