Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Режимы адресации процессора Pentium 4




Поддерживаемые режимы адресации включают непосредственную, прямую, регистровую, косвенную регистровую, индексную и специальную адресацию для обращения к элементам массива. Проблема заключается в том, что не все режимы применимы ко всем командам и не все регистры могут использоваться во всех режимах адресации. Это значительно усложняет задачу разработчика компилятора. Для управления режимами адресации имеется соответствующий байт. Один из операндов определяется по комбинации полей MOD и R/M. Второй операнд всегда является регистром и определяется по значению поля REG. В табл. приведен список 32 комбинаций значений 2-разрядного поля MOD и 3-разрядного поля R/M. Например, если оба поля равны 0, операнд считывается из ячейки памяти с адресом, который содержится в регистре ЕАХ. 32-разрядные режимы адресации процессора Pentium 4 (М[х] — это слово в памяти с адресом х)

R/M МОР
         
  М[ЕАХ] М[ЕАХ + смещение 8] М[ЕАХ + смещение 32] ЕАХ или AL
  М[ЕСХ] М[ЕСХ + смещение 8] М[ЕСХ + смещение 32] ЕСХ или CL
  M[EDX] M[EDX + смещение 8] M[EDX + смещение 32] EDX или DL
  М[ЕВХ] М[ЕВХ + смещение 8] М[ЕВХ + смещение 32] ЕВХ или BL
  SIB SIB со смещением 8 SIB со смещением 32 ESP или АН
  Прямая адресация М[ЕВР + смещение 8] М[ЕВР + смещение 32] ЕВР или СН
  M[ESI] M[ESI + смещение 8] M[ESI + смещение 32] ESI или DH
  M[EDl] M[EDI + смещение 8] M[EDl + смещение 32] EDI или ВН

Колонки 01 и 10 включают режимы адресации, при которых значение регистра прибавляется к 8- или 32-разрядному смещению, следующему за командой. Если выбрано 8-разрядное смещение, оно перед сложением получает 32-разряд- 32-разрядное знаковое расширение..Отметим, что здесь не все регулярно. Например, нельзя выполнить косвенную адресацию через ЕВР или прибавить смещение к ESP. Иногда вслед за байтом MODE следует дополнительный байт SIB. Байт SIB определяет масштабный коэффициент и два регистра. Когда присутствует байт SIB, адрес операнда вычисляется путем умножения индексного регистра на 1, 2, 4 или 8 (в зависимости от значения поля SCALE), прибавлением его к базовому регистру и, наконец, возможным прибавлением 8- или 32-разрядного смещения, в зависимости от значения поля MOD.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных