Форматы данных и команды их обработки процессоров Pentium III, Pentium IVРефераты >> Программирование и компьютеры >> Форматы данных и команды их обработки процессоров Pentium III, Pentium IV
ANDNPS приемник, источник
ANDNPS (bit-wise logical AND Not for Packed Single-precision float-point) — поразрядное логическое И-НЕ над упакованными значениями в формате ХММ.
Синтаксис: ANDNPS rxmm1, rxmm2/m128
Машинный код: 00001111:01010101:mod rxmm1 r/m
Действие: инвертировать биты операнда приемник, над каждой парой битов операндов приемник (после инвертирования) и источник выполнить операцию логического И.
Исключения: PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,12,13; RM: #GP: 13; #NM: 3; #UD: 7; VM: исключения реального режима; #PF(fault-code); #UD: 16, 17.
ANDPS приемник, источник
ANDPS (bit-wise logical AND for Packed Single-precision float-point) — поразрядное логическое И над каждой парой бит операндов источник и приемник.
Синтаксис: ANDPS rxmm1, rxmm2/m128
Машинный код: 00001111:01010100: mod rxmm 1 r/m
Исключения: 1; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10,12, 13; RM: #GP: 13; #NM: 3; #UD: 17, 19, 20; VM: исключения реального режима; #PF(fault-code).
CMPPS приемник, источник, условие
CMPPS (CoMPare Packed Single-precision float-point) — сравнение упакованных значений в формате ХММ
Синтаксис: CMPPS rxmm1, rxmm2/m128, i8
Машинный код: 00001111:11000010: mod rxmm1 r/m: i8
Действие: условие, в соответствии с которым производится сравнение каждой пары элементов операндов приемник и источник, задается явно в виде непосредственного операнда (см. ниже). В результате сравнения в приемнике формируются единичные (если условие выполнено) или нулевые элементы (если условие не выполнено).
Усло-вие |
Описание условия |
Отношение |
Эмуляция |
Код маски i8 |
Результат, если операнд NaN |
Исключение #I, если операнд qNAN/sNAN | |
Eq |
Equal (равно) |
xmm1== xmm2 |
000b |
False |
Нет | ||
Lt |
less-than (меньше чем) |
xmm1<< xmm2 |
001 b |
False |
Да | ||
Le |
less-than - or-equal (меньше чем или равно) |
xmm1<<= xmm2 |
010b |
False |
Да | ||
greater than (больше чем) |
xmm1>> xmm2 |
Перестанов-ка с сохранением, lt |
False |
Да | |||
greater- than-or- equal (больше чем или равно) |
xmm1>>= xmm2 |
Перестанов-ка с сохране- нием, le |
False |
Да | |||
Unord |
Unordered (одно из чисел QNAN) |
xmm1 ? xmm2 |
011b |
True |
Нет | ||
Neq |
not-equal (не равно) |
!(xmm1== xmm2) |
100b |
True |
Нет | ||
Nit |
not-less- than (не меньше чем) |
!(xmm1 << xmm2) |
101b |
True |
Да | ||
NIe |
not-less- than-or- equal (не меньше чем или равно) |
!(xmm1<<= xmm2) |
110b |
True |
Да | ||
not-greater- than(не больше чем) |
!(xmm1>> xmm2) |
Перестанов-ка с сохранением, nlt |
True |
Да | |||
not-greater-than-or- equal (не больше чем или равно) |
!(xmm1>>= xmm2) |
Перестанов-ка с сохранением, nle |
True |
Да | |||
Ord |
Ordered (числа неQNAN) |
!(xmm1 ?xmm2) |
111b |
False |
Нет | ||
Исключения: 1; NE: #I, #D; PM: #GP(0): 37; #NM: 3; #PF(fault-code); #SS(0): 13; #UD: 10-13; #XM; RM: #GP: 13; #NM: 3; #VD: 17-20; #XM; VM: исключения реального режима; #PF(fault-code).
CMPSS приемник, источник, условие
CMPSS (CoMPare Scalar Single-precision float-point) — скалярное сравнение значений в формате ХММ.
Синтаксис: CMPSS rxmm1, rxmm2/m32, i8
Машинный код: 11110011:00001111:11000010:mod rxmm1 r/m: i8