MMX-команды исполняются в том же режиме процессора, что и команды с плавающей запятой. Поэтому при исполнении всех MMX-команд (кроме EMMS) "портится" слово состояния регистров с плавающей запятой. Команда EMMS обеспечивает переход процессора от исполнения MMX-команд к исполнению обычных команд с плавающей запятой: она устанавливает значение 1 во всех разрядах слова состояния. Заканчивайте командой EMMS любой фрагмент программы, в котором есть MMX-команды. Если этого не делать, то Справа вверху Вы видите фрагмент программы, в котором непосредственно за командой movq следует вызов процедуры, использующей операции с плавающей запятой. В результате возникает исключение Stack overflow. Внизу показан тот же фрагмент программы, в который вставлена команда EMMS. Здесь переполнения стека не возникает.