Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 88

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 82 83 84 85 86 87 < 88 > 89 90 91 92 93 94 .. 528 >> Следующая

SNaN1, QNaN2 SNaN1 -> QNaN1 Исключение типа #1
QNaN1, SNaN2 QNaN1 Исключение типа #1
QNaN1, QNaN2 QNaN1 QNaN1 (нет исключения)
SNaN, число SNaN -> QNaN1 Исключение типа #1
число, SNaN SNaN -> QNaN1 Исключение типа #1
QNaN, число QNaN QNaN (нет исключения)
число, QNaN QNaN QNaN (нет исключения)
00 -00 OO * 0, oo/oo 0/0 QNaN (FFCOOOOOh) Исключение типа #1
Команда SQRT[PS,SS] вычисляет значение квадратного корня из элементов
исходного операнда (/ = ¦/*¦)• Результаты этой операции в случаях, если
элементом операнда является He-число или отрицательное число, указаны в
табл. 2.49. Отметим, что данные результаты аналогичны приведенным в табл.
2.48 для исключительных случаев, возникающих при выполнении других
арифметических операций.
Таблица 2.49
Результаты выполнения команды SQRT[PS,SS] с не-числами и отрицательными
числами
Элемент операнда Результат при 1М=1 Результат при IM=0
QNaN QNaN QNaN (нет исключения)
SNaN SNaN -> QNaN Исключение типа #1
Отрицательное число QNaN (FFCOOOOO) Исключение типа #1
Все рассмотренные выше команды данной группы устанавливают значение
признака DE = 1 и реализуют исключение #ХМ, если один из элементов
исходных операндов представлен в денормализованном виде.
Команда RCP[PS,SS] вычисляет обратную величину операнда (/ = t/*), а
команда RSQRT[PS,SS] - обратную величину квадратного корня из операнда (/
= i/v*). Правила округления, определяемые значением поля RC в регистре
MXCSR, не оказывают влияния на выполнение этих команд. Денормализованные
операнды воспринимаются как нули соответствующего знака. Результат
антипереполнения всегда округляется до нуля. Максимальная величина ошибки
при выполнении этих команд составляет 1,5х212. Команды RSQRT[PS,SS] и
RCP[PS,SS] не реализуют какие-либо исключения, поэтому контроль ошибок
при их выполнении должен выполняться программными средствами.
¦tAQ
ПРОЦЕССОРЫ ОБЩЕГО НАЗНАЧЕНИЯ И СИСТЕМЫ НА ИХ ОСНОВЕ
2.6.4. КОМАНДЫ ЛОГИЧЕСКИХ ОПЕРАЦИЙ
Команды этой группы ANDPS, ANDNPS, ORPS и XORPS выполняют соответственно
логические операции И, НЕ-И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ над 128-разрядными
операндами (табл. 2.50). Операции выполняются над значениями каждого из
разрядов содержимого регистра xmm и регистра или ячейки памяти xmm/m 128,
результат размещается в регистре xmm. Данные команды не вызывают каких-
либо исключений.
Таблица 2.50
Команды логических операций
Синтаксис команды Операция
ANDPS xmm,xmm/m128 xmm л xmm/m 128 -" xmm
ANDNPS xmm,xmm/m128 xmm л xmm/m 128-> xmm
ORPS xmm,xmm/m128 xmm v xmm/m128 -" xmm
XORPS xmm,xmm/m128 xmm (c) xmm/m128 -" xmm
2.6.5. КОМАНДЫ СРАВНЕНИЯ И НАХОЖДЕНИЯ МАКСИМУМА / МИНИМУМА
Как и арифметические команды, большинство команд сравнения (табл.2.51)
имеют две формы: скалярную (суффикс SS) и пакетную (суффикс PS).
Таблица 2.51
Команды сравнения
Синтаксис команды Операция
CMPEQPS xmm,xmm /m128 CMPEQSS xmm,xmm /m32 FFFFFFFFh-" xmm(Fi), xmm(Fi)
= xmm /m128(Fi) OOOOOOOOh -" xmm(Fi), xmm(Fi) f xmm /m128(Fi) FFFFFFFFh -
" xmm(FO), xmm(FO) = xmm /m32(F0) OOOOOOOOh -" xmm(FO), xmm(FO) / xmm
/m32(F0)
CMPLTPS xmm,xmm /m128 CMPLTSS xmm,xmm /m32 FFFFFFFFh -" xmm(Fi),
xmm(Fi) < xmm /m128(Fi) OOOOOOOOh -" xmm(Fi), xmm(Fi) > xmm /m128(Fi)
FFFFFFFFh -" xmm(FO), xmm(FO) < xmm /m32(F0) OOOOOOOOh -" xmm(FO),
xmm(FO) > xmm /m32(F0)
CMPLEPS xmm,xmm /m128 CMPLESS xmm,xmm /m32 FFFFFFFFh -" xmm(Fi),
xmm(Fi) < xmm /m128(Fi) OOOOOOOOh-" xmm(Fi), xmm(Fi) > xmm /m128(Fi)
FFFFFFFFh -> xmm(FO), xmm(FO) < xmm /m32(F0) OOOOOOOOh -" xmm(FO),
xmm(FO) > xmm /m32(F0)
CMPUNORDPS xmm,xmm /m128 CMPUNORDSS xmm,xmm /m32 FFFFFFFFh -> xmm(Fi),
xmm(Fi) ? xmm /m128(Fi) OOOOOOOOh -" xmm(Fi), xmm(Fi) ? xmm /m128(Fi)
FFFFFFFFh -" xmm(FO), xmm(FO) ? xmm /m32(F0) OOOOOOOOh -" xmm(FO),
xmm(FO) ? xmm /m32(F0)
CMPNEQPS xmm,xmm /m128 CMPNEQSS xmm,xmm /m32 FFFFFFFFh -" xmm(Fi),
xmm(Fi) / xmm /m128(Fi) OOOOOOOOh -" xmm(Fi), xmm(Fi) = xmm /m128(Fi)
FFFFFFFFh -> xmm(FO), xmm(FO) / xmm /m32(F0) OOOOOOOOh -" xmm(FO),
xmm(FO) = xmm /m32(F0)
CMPNLTPS xmm,xmm /m128 CMPNLTSS xmm,xmm /m32 FFFFFFFFh -> xmm(Fi),
xmm(Fi) > xmm /ml 28(Fi) OOOOOOOOh -" xmm(Fi), xmm(Fi) < xmm /m128(Fi)
FFFFFFFFh -" xmm(FO), xmm(FO) > xmm /m32(F0) OOOOOOOOh -> xmm(FO),
xmm(FO) < xmm /m32(F0)
СИСТЕМА КОМАНД: ОПЕРАЦИИ SSE
Продолжение табл. 2.51
Синтаксис команды Операция
CMPNLEPS xmm,xmm /т128 CMPNLESS xmm,xmm /m32 FFFFFFFFh -> xmm(Fi),
xmm(Fi) > xmm /m128(Fi) OOOOOOOOh xmm(Fi), xmm(Fi) < xmm /m128(Fi)
FFFFFFFFh xmm(FO), xmm(FO) > xmm /m32(F0) OOOOOOOOh -> xmm(FO), xmm(FO) <
xmm /m32(F0)
CMPORDPS xmm,xmm /m128 CMPORDSS xmm,xmm /m32 FFFFFFFFh -> xmm(Fi),
xmm(Fi) ? xmm /m128(Fi) OOOOOOOOh -> xmm(Fi), xmm(Fi) ? xmm /m128(Fi)
FFFFFFFFh -> xmm(FO), xmm(FO) ? xmm/m32(F0) OOOOOOOOh -> xmm(FO), xmm(FO)
? xmm /m32(F0)
COMISS xmm,xmm /m32 UCOMISS xmm,xmm /m32 EFLAGS ? xmm - xmm /m32
EFLAGS ? xmm - xmm /m32
MAXPS xmm,xmm /128 MAXSS xmm,xmm /m32 Max(xmm, xmm/m128)->xmm (пакет)
Max(xmm, xmm /m32) -> xmm (скаляр)
Предыдущая << 1 .. 82 83 84 85 86 87 < 88 > 89 90 91 92 93 94 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed