Разделы:
Best links:
Система команд ммх-расширения
Команда упаковки packuswb - выполняет преобразование 16-разрядных слов со знаком из обоих операндов в байты без знака и записывает их в выходной операнд. Если исходное слово со знаком было больше FFh, результатом преобразования считается FFh. Если исходное слово со знаком отрицательно, результатом преобразования считается 0h.

Рис. 3.6. Выполнение команды упаковки packssdw MM0,ММ1.
Команды распаковки punpckhbw, punpckhwd, punpckhdq - попарно объединяют исходные элементы данных (байтов, 16- или 32-разрядных слов), находящиеся в старших 32 разрядах обоих операндов. Полученные в результате длинные элементы записываются в выходной операнд. Исходные значения младших разрядов операндов на результат не влияют.

Рис. 3.7. Выполнение команды распаковки punpckhbw MM0,MM1.
На рис. 3.7 проиллюстрирован механизм работы команды punpckhbw. Суть работы команд punpckhwd и punpckhdq аналогична, с той лишь разницей, что punpckhwd распаковывает старшие два слова обоих регистров, а punpckhdq старшие двойные слова.
Команды распаковки punpcklbw, punpcklwd, punpckldq - попарно объединяют исходные элементы данных (байтов, 16- или 32-разрядных слов), находящиеся в младших 32 разрядах обоих операндов. Полученные в результате длинные элементы данных записываются в выходной операнд. Исходные значения старших разрядов операндов на результат не влияют.
Механизм работы команды распаковки punpcklwd проиллюстрирован на рис. 3.8.
предыдущаяследующая© Copyright, 2009.
Для связи: info@dgs-srl.com.