Часто бывает нужно преобразовать короткие данные в более длинные. Если это слова без знака, можно воспользоваться одной из команд группы punpck, позаботившись, чтобы в старшие разряды результатов сразу попали нули.
Если же надо повысить разрядность слов со знаком, можно действовать следующим образом:
1. Распаковать слова из младших 32 разрядов командой punpcklwd, так, чтобы знаковый бит попал в самый старший разряд двойного слова-результата (см. рисунок).
2. Распаковать слова из старших 32 разрядов командой punpckhwd (в другой регистр).
3. Выполнить арифметический сдвиг полученных двойных слов направо командой psrad. При этом знаковый бит в каждом слове размножится, и 32-разрядные слова со знаком будут иметь те же численные значения, что и исходные 16-разрядные слова со знаком.