logo

Главная Система команд x86 Набор команд SIMD UNPCKHPS

Система команд x86

Программирование - Архитектура и система команд микропроцессоров x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

UNPCKHPS

Распаковать старшие упакованные короткие вещественные значения

Влияние команды на флаги и форматы команды:

I

D

Z

O

U

P

 

 

 

 

 

 

 

Код

Команда

Описание

Проц.

Пример

0F 15 /r

UNPCKHPS xmm1, xmm2/m128

Копировать в xmm1 два старших коротких вещественных значения из xmm2/m128 и из xmm1 поочередно

Pentium III

unpckhps xmm2,xmm4

Описание:

Команда UNPCKHPS выбирает старшие короткие вещественные значения из двух упакованных входных операндов, а затем помещает их в одну упакованную последовательность значений в операнде-назначении.

Элементы двух операндов записываются в результат через один, т.е. в старший элемент результата помещается старший элемент операнда-источника, в следующий более младший элемент — старший элемент операнда-назначения, далее — следующий элемент из операнда-источника, элемент из операнда-назначения и т.д. до полного заполнения всех элементов результата, этот результат затем помещается в операнд-назначение.

Операндом-назначением является SIMD-регистр. Операндом-источником может быть как SIMD-регистр, так и операнд в памяти.

Использование префикса REP/REPNE ( 0xF3h / 0xF2h ) и префикса размера операнда ( 0x66h ) с командой UNPCKHPS является зарезервированной недокументированной функцией. Различные модели процессоров по разному реагируют на эту ситуацию. Не рекомендуется применять в программах комбинацию команды UNPCKHPS и указанных префиксов, т.к. в дальнейших моделях процессоров эта функция может быть изменена или исключена.

Операция:

DEST[31-0] = DEST[95-64];

DEST[63-32] = SRC/m128[95-64];

DEST[95-64] = DEST[127-96];

DEST[127-96] = SRC/m128[127-96];

Особые ситуации защищенного режима:

#GP(0) при некорретном эффективном адресе операнда в памяти в сегментах CS, DS, ES, FS или GS, и для всех сегментов если операнд в памяти не выровнен по 16-байтным границам.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0.

Особые ситуации режима реальной адресации:

#GP, если любая часть операнда находится вне пространства эффективных адресов от 0 до 0FFFFh.
#NM, если CR0.TS = 1.
#UD, если CR0.EM = 1 или CR4.OSFXSR = 0.

Особые ситуации режима V86:

Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.


Входит в группу команд: Набор команд SIMD




Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Top.Mail.Ru       Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники