Opcode EMMS


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

Instruction: EMMS

Description:

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

Exceptions:

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:

EMMS 0FH 77H

P55C: n/a
future P6: n/a


Copyright by InternetNightmare 2005-2006