October 19 2017 19:16:12
Навигация
Авторизация
Логин

Пароль



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

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

Команды этой группы приведены в таблице 2.43.

Команды PAND, PANDN, POR, PXOR выполняют логические операции И, НЕ-И (Запрет), ИЛИ, Исключающее ИЛИ соответственно. Логические операции выполняются над значениями каждого из разрядов исходных операндов, которые размещаются в регистре mm и регистре или ячейке памяти mm/m64. Результат операции записывается в регистр mm.

В командах сдвига сдвигаемый операнд всегда размещается в ММХ-регистре mm. Число разрядов сдвига указывается во втором операнде (операнде-источнике), который может храниться в ММХ-регистре mm, ячейке памяти т64 или задаваться непосредственно операндом im8. Сдвиг выполняется отдельно для каждого элемента исходного операнда. При этом выдвигаемые биты не сохраняются.

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

Синтаксис команды Операция
PAND mm,mm/m64 mm L mm/m64    ® mm
PANDN mm,mm/m64 mm L mm/m64    ® mm
POR mm,mm/m64 mm V mm/m64    ® mm
PXOR mm,mm/m64 mm Å mm/m64    ® mm

PSLLW mm,mm/m64
PSLLW mm,imm8
PSLLD mm,mm/m64
PSLLD mm,imm8
PSLLQ mm,mm/m64
PSLLQ mm,imm8
Логический сдвиг влево
mm(W) << mm/m64 ® mm(W)
mm(W) << imm8      ® mm(W)
mm(D) << mm/m64  ® mm(D)
mm(D) << imm8       ® mm(D)
mm(Q) << mm/m64  ® mm(Q)
mm(Q) << imm8       ® mm(Q)

PSRAW mm,mm/m64
PSRAW mm,imm8
Арифметический сдвиг вправо
mm(W) >> mm/m64 ® mm(W)
mm(W) >> imm8      ® mm(W)

PSRAD mm,mm/m64 PSRAD mm,imm8
Арифметический сдвиг вправо
mm(D) >> mm/m64 ® mm(D)
mm(D) >> imm8   ® mm(D)

PSRLW mm,mm/m64 PSRLW mm,imm8 PSRLD mm,mm/m64 PSRLD mm,imm8 PSRLQ mm,mm/m64 PSRLQ mm,imm8
Логический сдвиг вправо
mm(W) >> mm/m64 ® mm(W)
mm(W) >> imm8   ® mm(W)
mm(D) >> mm/m64 ® mm(D)
mm(D) >> imm8   ® mm(D)
mm(Q) >> mm/m64 ® mm(Q)
mm(Q) >> imm8   ® mm(Q)

Команды PSLL[W, D, Q] производят логический сдвиг каждого элемента (слова, двойного или счетверенного слова) влево. При этом освобождающиеся младшие биты каждого элемента заполняются нулями. Команда PSRL[W, D, Q] осуществляет логический сдвиг соответствующих элементов вправо, заполняя освобождающиеся старшие биты каждого элемента нулями. Отметим, что если заданное число разрядов сдвига превышает 15 (при сдвиге слов), 31 (при сдвиге двойных слов) или 63 (при сдвиге счетверенного слова), то результатом операции являются нулевые значения всех элементов.

Команда PSRA[W,D] выполняет арифметический сдвиг вправо каждого элемента (слова или двойного слова), хранящегося в заданном ММХ-регистре mm. При таком сдвиге освобождающиеся старшие биты каждого элемента заполняются значением знакового бита.

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

Команды этой группы приведены в табл. 2.44. Выполнение этих команд отличается от обычных команд сравнения, которые работают с регистрами общего назначения. Обычные команды сравнения СМР не изменяют значения исходных операндов, а результатом сравнения является установка соответствующих признаков в регистре EFLAGS. ММХ-ко-манды сравнения представляют результат операции в виде значения операнда, помещаемого в регистр mm, и не устанавливают каких-либо признаков.

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

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

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

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