Главная страница
Предыдущая страница (что такое расширение MMX)

Расширение MMX (требует pentium2)

Расширение MMX включает в себя восемь 64-битных регистров общего пользования: MM0, MM1, MM2, MM3, MM4, MM5, MM6, MM7. Физически никаких новых регистров не появилось, регистры MM0—MM7 – это в точности мантиссы восьми регистров FPU. Поэтому нельзя одновременно использовать инструкции FPU и MMX. Если это необходимо – необходимо использовать команды fsave, frstor, emms при переходе от FPU к MMX и обратно. Любая команда MMX, кроме emms приводит к тому, что если после её выполнения мы попытаемся использовать FPU, то программа вылетит. Введём условное обозначение: rMMX – регистр MMX. В командах MMX формата "команда приёмник, источник" приёмник и источник одновременно не могут быть переменными

Типы данных MMX

MMX использует четыре типа данных:
1) Учетверённое слово (64-битное)
2) Упакованные двойные слова – два 32-битных двойных слова, упакованных в 64-битный тип данных. Двойное слово 1 занимает биты 63—32, двойное слово 0 занимает биты 31–0
3) Упакованные слова – четыре 16-битных слова, упакованных в 64-битный тип данных
4) Упакованные байты – восемь байт, упакованных в 64-битный тип данных. Байт 7 занимает биты 63—56, байт 0 – биты 7—0 Арифметические операции в MMX могут использовать насыщение. Если результат операции больше, чем максимальное значение для его типа данных (+127 для байта со знаком), то результат подразумевается равным этому максимальному значению, аналогично с минимальным значением

Следующая страница (команды загрузки и сохранения MMX)