October 19 2017 17:26:47
Навигация
Авторизация
Логин

Пароль



Вы не зарегистрированы?
Нажмите здесь для регистрации .

Забыли пароль?
Запросите новый здесь.
КОМАНДЫ ЛОГИЧЕСКИХ ОПЕРАЦИЙ
ФОРМАТЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ И ВЫПОЛНЕНИЕ ОПЕРАЦИЙ

Таблица 2.50 Команды логических операций

Синтаксис команды Операция
ANDPS xmm,xmm/m128 xmm L xmm/m128 ® xmm
ANDNPS xmm,xmm/m128 xmm L xmm/m128 ® xmm
ORPS xmm,xmm/m128 xmm V xmm/m128 ® xmm
XORPS xmm,xmnn/m128 xmm Å xmm/m128 ® xmm

Команды этой группы ANDPS, ANDNPS, ORPS и XORPS выполняют соответственно логические операции И, НЕ-И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ над 128-разрядными операндами (табл. 2.50). Операции выполняются над значениями каждого из разрядов содержимого регистра xmm и регистра или ячейки памяти xmm/m128, результат размещается в регистре xmm. Данные команды не вызывают каких-либо исключений.

2.6.5. КОМАНДЫ СРАВНЕНИЯ И НАХОЖДЕНИЯ МАКСИМУМА/ МИНИМУМА

Как и арифметические команды, большинство команд сравнения (табл.2.51) имеют две формы: скалярную (суффикс SS) и пакетную (суффикс PS).

Команды CMP[PS, SS] имеют следующую особенность: вид сравнения («равно», «меньше» и т. д.) определяется не кодом операции, а непосредственным операндом im8. Биты b2-0 этого операнда задают вид сравнения, остальные биты b7-3 зарезервированы для будущего использования. При программировании на языке Ассемблера для этих команд сравнения существует две формы записи (табл. 2.52): фактическая - с указанием соответствующего значения операнда im8 = 0-7, и эквивалентная символическая, где вид сравнения указывается соответствующим предикатом EQ, LT, LE, UNORD, NEQ, NLT, NLE, ORD в мнемокоде команды (табл. 2.53). В табл. 2.51 принята эквивалентная форма записи команд. Если при сравнении элементов операндов, хранящихся в регистре xmm и регистре или ячейке памяти xmm/m128, xmm/m32, выполняется заданное условие, то соответствующий элемент результата принимает значение FFFFFFFFh («1» во всех разрядах), если не выполняется - значение 00000000h («0» во всех разрядах).

Команды сравнения по-разному реагируют на поступление операндов - не-чисел. Если элементом сравниваемых операндов является NaN, то для одних команд результатом сравнения может быть число FFFFFFFFh, а для других 00000000h (табл. 2.53). Команды CMPUNORD[PS, SS] и CMPORD[PS, SS] специально предназначены для сравнения нечисел. Результатом выполнения команды CMPUNORD[PS, SS] будет FFFFFFFFh, если хотя бы один из элементов является He-числом (NaN), и 00000000h, если оба операнда являются достоверными числами. Результатом выполнения команды CMPORD[PS, SS] будет, наоборот, FFFFFFFFh - при сравнении достоверных чисел и 00000000h - при сравнении нечисел. Различные команды сравнения могут вызывать или не вызывать исключение типа #1 при NAN операндах (табл. 2.53).

Комментарии
Нет комментариев.
Добавить комментарий
Пожалуйста, залогиньтесь для добавления комментария.
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, авторизуйтесьили зарегистрируйтесь для голосования.

Нет данных для оценки.

Время загрузки: 0.04 секунд 2,256,170 уникальных посетителей