Система команд x86 |
|
Программирование - Архитектура и система команд микропроцессоров x86 |
PFCMPGT
Влияние команды на флаги и форматы команды:
Код/Суфф. |
|||
0F 0F / A0 |
PFCMPGT mm,mm/m64 |
Проверить, больше ли упакованные вещественные из mm соответствующих значений из mm/m64, по результатам сравнения установить mm |
pfcmpgt mm5,mm2 |
Описание:
Команда PFCMPGT сравнивает элементы (в формаате упакованных коротких вещественных) операнда-назначения с соответствующими элементами операнда-источника. Если значение элемента из операнда-назначения больше соответствующего элемента из операнда-источника, то в соответствующий элемент операнда-назначения записываются все единицы, в противном случае записываются все нули.
Операндом-назначением является MMX-регистр. Операндом-источником может быть как MMX-регистр, так и операнд в памяти.
Команда PFCMPGT сравнивает короткие вещественные двойные слова операнда-назначения с короткими вещественными двойными словами операнда-источника и устанавливает двойные слова операнда-назначения в соответствии с результатом. Знак нуля игнорируется, так что –0 = +0. Если любое из сравниваемых значений представлено в неподдерживаемом формате, результат неопределен.
Операция:
IF (DEST[31:0] > SRC[31:0])
THEN
DEST[31:0] = FFFF_FFFFh;
ELSE
DEST[31:0] = 0000_0000h;
FI;
IF (DEST[63:32] > SRC[63:32]
THEN
DEST[63:32] = FFFF_FFFFh;
ELSE
DEST[63:32] = 0000_0000h;
FI;
Особые ситуации защищенного режима:
#GP(0), если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#UD, если CRO.EM=1.
#NM, если CRO.TS=1.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.
Особые ситуации режима реальной адресации:
#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#UD, если CRO.EM=1.
#NM, если CRO.TS=1.
#MF, если есть отложенные необработанные незамаскированные исключения FPU.
Особые ситуации режима V86:
Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.
Все права защищены © Алексей Ровдо, 1994-2023. Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru