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