December 12 2017 08:25:01
Навигация
Авторизация
Логин

Пароль



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

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

ММХ-команды поддерживают все способы адресации, реализуемые с использованием байтов MODR/M и SIB. Формат ММХ-команды показан на рис. 2.21. Любая ММХ команда начинается с байта 0Fh, затем идет второй байт кода операции OpCode. Для указания используемых в команде ММХ-регистров в байте MODR/M в полях REG и R/M (при MOD = 11, регистровая адресация) указываются номера используемых ММХ-регистров mmxreg. Присутствие байтов SIB, смещения DISP и непосредственного операнда IMM зависит от выбранного способа адресации. Следует отметить, что ММХ-регистры не могут служить для формирования адреса.

Для команд пересылки операнд-приемник и операнд-источник могут располагаться в памяти, регистре общего назначения или ММХ-регистре. Для остальных команд операнд-приемник всегда находится в ММХ-регистре, а операнд источник может находиться в памяти, ММХ-регистре или являться непосредственным операндом.

Если ММХ-команда использует операнды, размещенные в памяти, то перед ней могут присутствовать префиксы замены сегмента SEG и разрядности адреса AS. Префиксы разрядности операнда OS и повторения REP, REPE/REPNE, предшествующие ММХ-команде, игнорируются процессором. Наличие перед ММХ-командой префикса блокировки шины LOCK вызовет исключение типа #UD («недействительный код операции»).

При ошибках обращения к памяти ММХ-команды генерируют исключения #SS, #GP, #PF или #АС, как и остальные команды. Попытка выполнить ММХ-команду, когда в регистре управления CR0 установлено значение бита ЕМ = 1, приводит к исключению типа #UD. Эмуляция ММХ-команд невозможна. Попытка выполнить ММХ-команду, когда в регистре управления CR0 бит TS = 1, приводит к исключению типа #NM («устройство недоступно»). Если при обработке исключения FPU встретится ММХ-команда, то это приведет к исключению типа #MF и/или FERR#.

ММХ-команды могут выполняться в любом режиме работы процессора: реальном, защищенном и виртуального 8086.

img013

ММХ-регистры (рис. 2.22) имеют разрядность 64 бита и отображены на поля мантиссы арифметических регистров блока FPU (см. рис. 2.4). При записи нового значения в ММХ-регистр это значение автоматически появляется в поле мантиссы (биты 63-0) соответствующего регистра FPU. При этом в поле порядка (биты 78-64) и знаковый бит (бит 79) записываются единицы. После выполнения любой ММХ-команды в поле ТОР регистра FPSR (см. рис. 2.5), указывающем вершину арифметического стека, записывается значение 000. Любая ММХ-команда (кроме EMMS) заносит во все поля регистра тегов TW значение 00. Для блока FPU это означает, что во всех регистрах находятся допустимые ненулевые числа (все регистры заняты). Команда EMMS устанавливает значения всех полей регистра тегов в 11 (для блока FPU это означает, что все арифметические регистры пусты). Значение регистра TW, содержащего теги, не оказывает никакого влияния на выполнение ММХ-команд. При выполнении ММХ-команд содержимое регистров FPU устанавливается в соответствии с табл. 2.39.

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

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

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

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