MOVAPS xmm/m, xmm/m - команда копирует четыре FP-элемента одним из следующих способов:
- из памяти в XMM-регистр
- из XMM-регистра в память
- из одного XMM-регистра в другой
Линейный адрес соответствует адресу младшего байта группы данных в памяти. Обращение в память должно быть по адресу, кратному 16 байтам; в противном случае генерируется исключение.
MOVUPS xmm/m, xmm/m - команда копирует четыре FP-элемента одним из следующих способов:
- из памяти в XMM-регистр
- из XMM-регистра в память
- из одного XMM-регистра в другой
Линейный адрес соответствует адресу младшего байта группы данных в памяти. Команда применяется для обращения к невыровненным данным в памяти.
MOVHPS xmm/m, xmm/m - команда копирует два FP-элемента одним из следующих способов:
- из памяти в два старшие элемента XMM-регистра
- из двух старших элементов XMM-регистра в память
При копировании данных из памяти в XMM-регистр, два младших элемента этого регистра не изменяются. Команда работает с адресом младшего байта группы данных в памяти.
MOVLPS xmm/m, xmm/m - команда копирует два FP-элемента одним из следующих способов:
- из памяти в два младшие элемента XMM-регистра
- из двух младших элементов XMM-регистра в память
При копировании данных из памяти в XMM-регистр, два старших элемента этого регистра не изменяются. Линейный адрес соответствует адресу младшего байта группы данных в памяти.
MOVSS xmm/m, xmm/m - команда копирует один 32-рарядный FP-элемент одним из следующих способов:
- из памяти в младший элемент XMM-регистра
- из младшего элемента XMM-регистра в память
- из младшего элемента одного XMM-регистра в младший элемент другого XMM-регистра
При копировании 32 битов данных из памяти в XMM-регистр, все 96 оставшихся старших битов этого регистра обнуляются. Команда работает с адресом младшего байта группы данных в памяти.
MOVLHPS xmm, xmm | команда копирует 64 младших разряда входного регистра в 64 старших разряда выходного регистра, не меняя содержимое 64 младших разрядов выходного регистра. |
MOVHLPS xmm, xmm | команда копирует 64 старших разряда входного регистра в 64 младших разряда выходного регистра, не меняя содержимое 64 старших разрядов выходного регистра. |
MOVMSKPS ir32, xmm | команда копирует содержимое старших (знаковых) разрядов каждого из четырех FP-элементов, находящихся во входном XMM-регистре, в младшие разряды выходного целочисленного регистра, и формирует таким образом 4-битовую маску. Старшие 28 разрядов целочисленного регистра обнуляются. |
CMPEQPS xmm, xmm/m; CMPLTPS xmm, xmm/m; CMPLEPS xmm, xmm/m; CMPUNORDPS xmm, xmm/m; CMPNEQPS xmm, xmm/m; CMPNLTPS xmm, xmm/m; CMPNLEPS xmm, xmm/m; CMPORDPS xmm, xmm/m | команды попарно сравнивают числа в соответствующих элементах операндов, проверяя выполнение условий равно, меньше, меньше или равно, несравнимы, не равно, не меньше, не { меньше или равно}, сравнимы соответственно. Элементы выходного операнда заполняются масками из единиц или нулей в зависимости от результата. |
CMPEQSS xmm, xmm/m; CMPLTSS xmm, xmm/m; CMPLESS xmm, xmm/m; CMPUNORDSS xmm, xmm/m; CMPNEQSS xmm, xmm/m; CMPNLTSS xmm, xmm/m; CMPNLESS xmm, xmm/m; CMPORDSS xmm, xmm/m | команды сравнивают числа в младших элементах операндов, проверяя выполнение условий равно, меньше, меньше или равно, несравнимы, не равно, не меньше, не { меньше или равно}, сравнимы соответственно. Младший элемент выходного операнда заполняется маской из единиц или нулей в зависимости от результата. Содержимое трех старших элементов выходного операнда сохраняется. |
ANDPS xmm, xmm/m | команда вычисляет поразрядное логическое И своих 128-битных входного и выходного операндов. Каждый бит результата полагается равным 1, если оба соответствующих бита операндов равны 1, и равным 0 в противном случае. Результат записывается в выходной операнд. |
ANDNPS xmm, xmm/m | команда сначала инвертирует все разряды выходного операнда (логическое НЕ), а затем вычисляет поразрядное логическое И входного и инвертированного выходного операндов. Каждый бит результата полагается равным 1, если для входного операнда соответствующий бит равен 1, а для выходного - равен 0. В противном случае присваивается 0. Результат записывается в выходной операнд. |
ORPS xmm, xmm/m | команда вычисляет поразрядное логическое ИЛИ своих 128-битных входного и выходного операндов. Каждый бит результата полагается равным 0, если оба соответствующих бита операндов равны 0, и равным 1 в противном случае. Результат записывается в выходной операнд. |
XORPS xmm, xmm/m | команда вычисляет поразрядное логическое исключающее ИЛИ своих 128-битных входного и выходного операндов. Каждый бит результата полагается равным 1, если соответствующие биты операндов содержат различные значения. В случае одинаковых значений присваивается 0. Результат записывается в выходной операнд. |
COMISS xmm, xmm/m | команда выполняет сравнение двух младших элементов операндов и устанавливает для них одно из соотношений: "меньше", "равны", "больше", "несравнимы". По результатам сравнения устанавливаются следующие значения флагов состояния ZF, PF и CF: |
Результат | Значения в EFLAGS |
| ZF | PF | CF |
Несравнимы | 1 | 1 | 1 |
Меньше | 0 | 0 | 1 |
Больше | 0 | 0 | 0 |
Равны | 1 | 0 | 0 |
Назад | Дальше
|