Visible to Intel only — GUID: GUID-3545782D-E3AC-44BE-BAA6-2B436C8BA5AA
Visible to Intel only — GUID: GUID-3545782D-E3AC-44BE-BAA6-2B436C8BA5AA
The EMMS Instruction: Why You Need It
Using EMMS is like emptying a container to accommodate new content. The EMMS instruction clears the MMX™ registers and sets the value of the floating-point tag word to empty.
You should clear the MMX™ registers before issuing a floating-point instruction because floating-point convention specifies that the floating-point stack be cleared after use. Insert the EMMS instruction at the end of all MMX™ code segments to avoid a floating-point overflow exception.
Why You Need EMMS to Reset After an MMX™ Instruction
![](/content/dam/docs/us/en/developer-guide-reference/2021-10/BD133D1E-C84A-4566-8456-B9ECB26294BB-low.jpg)
Failure to empty the multimedia state after using an MMX™ technology instruction and before using a floating-point instruction can result in unexpected execution or poor performance.