Assembler - язык неограниченных возможностей


Типы данных ММХ


ММХ использует четыре новых типа данных:

  • учетверенное слово — простое 64-битное число;
  • упакованные двойные слова — два 32-битных двойных слова, упакованные в 64-битный тип данных. Двойное слово 1 занимает биты 63 – 32, и двойное слово 0 занимает биты 31 – 0;
  • упакованные слова — четыре 16-битных слова, упакованные в 64-битный тип данных. Слово 3 занимает биты 63 – 48, слово 0 занимает биты 15 – 0;
  • упакованные байты — восемь байт, упакованных в 64-битный тип данных. Байт 7 занимает биты 63 – 56, байт 0 занимает биты 7 – 0.

Команды ММХ перемещают упакованные данные в память или в обычные регистры как целое, но выполняют арифметические и логические операции над каждым элементом по отдельности.

Арифметические операции в ММХ могут использовать специальный способ обработки переполнений и антипереполнений — насыщение. Если результат операции больше, чем максимальное значение для его типа данных (+127 для байта со знаком), то результат считают равным этому максимальному значению. Если он меньше минимального значения — соответственно его полагают равным минимально допустимому значению. Например, при операциях с цветом насыщение позволяет ему превращаться в чисто белый при переполнении и в чисто черный при антипереполнении, в то время как обычная арифметика привела бы к нежелательной инверсии цвета.





Начало  Назад  Вперед