PACKSSWB приемник,источник PACKSSDW приемник,источник |
|
Упаковка со знаковым насыщением | |
ММХ |
Команды упаковывают и насыщает слова со знаком в байты (PACKSSWB) или двойные слова со знаком в слова (PACKSSDW). Команда PACKSSWB копирует четыре слова (со знаком), находящиеся в приемнике (регистр ММХ), в 4 младших байта (со знаком) приемника и копирует четыре слова (со знаком) из источника (регистр ММХ или переменная) в старшие четыре байта (со знаком) приемника. Если значение какого-нибудь слова больше +127 (7Fh) или меньше -128 (80h), в байты помещаются числа +127 и -128 соответственно. Команда PACKSSDW аналогично копирует два двойных слова из приемника в два младших слова приемника и два двойных слова из источника в два старших слова приемника. Если значение какого-нибудь двойного слова больше +32 767 (7FFFh) или меньше -32 768 (8000h), в слова помещаются числа +32 767 и -32 768 соответственно.
PACKUSWB приемник,источник | |
Упаковка с беззнаковым насыщением | |
ММХ |
Копирует четыре слова (со знаком), находящиеся в приемнике (регистр ММХ), в 4 младших байта (без знака) приемника и копирует четыре слова (со знаком) из источника (регистр ММХ или переменная) в старшие четыре байта (без знака) приемника. Если значение какого-нибудь слова больше 255 (FFh) или меньше 0 (00h), в байты помещаются числа 255 и 0 соответственно.
PUNPCKHBW приемник,источник PUNPCKHWD приемник,источник PUNPCKHDQ приемник,источник |
|
Распаковка и объединение старших элементов | |
ММХ |
Команды распаковывают старшие элементы источника (регистр ММХ или переменная) и приемника (регистр ММХ) и записывают их в приемник через один (см. рис. 15).
Команда PUNPCKHBW объединяет по 4 старших байта источника и приемника, команда PUNPCKHWD объединяет по 2 старших слова, и команда PUNPCKHDQ копирует в приемник по одному старшему двойному слову из источника и приемника.
Если источник содержит нули, эти команды фактически переводят старшую половину приемника из одного формата данных в другой, дополняя увеличиваемые элементы нулями. PUNPCKHBW переводит упакованные байты в упакованные слова, PUNPCKHWD переводит слова в двойные слова, и PUNPCKHDQ переводит единственное старшее двойное слово приемника в учетверенное.
PUNPCKLBW приемник,источник PUNPCKLWD приемник,источник PUNPCKLDQ приемник,источник |
|
Распаковка и объединение младших элементов | |
ММХ |