Организация ЭВМ и систем

         

Способы адресации


Интеловский 32-разрядный процессор реализует сегментную организа­цию оперативной памяти, при которой физический адрес ячейки памяти формируется путем сложения базового адреса сегмента и относительного ад­реса ячейки внутри сегмента.

Базовый адрес определяется содержимым 16-разрядного сегментного ре­гистра и зависит от режима работы процессора. Если он работает в режиме обработки 16-разрядных данных (режим реальных адресов), то 20-разрядный базовый адрес формируется путем сдвига содержимого сегментного регистра на 4 разряда влево. Если процессор работает в режиме обработки 32-разрядных данных (защищенный режим), то 32-разрядный базовый адрес со­держится в дескрипторе, выбор которого из таблицы дескрипторов осущест­вляется с помощью селектора — содержимого соответствующего сегментно­го регистра.

В качестве относительного адреса используется содержимое регистров общего назначения или эффективный адрес (ЕА), который формируется в со­ответствии с заданным способом адресации. ЕА является 16- или 32- разряд­ным и формируется в зависимости от значения полей MOD и R/M и содер­жимого байта SIB (для 32-разрядных адресов). В общем случае ЕА образу­ется путем арифметического сложения трех компонентов:      

- содержимого базового регистра;

- содержимого индексного регистра;

- 8, 16, 32-разрядного смещения, заданного в одном, двух или четырех

байтах команды.

В зависимости от значений полей MOD и R/M для формирования ЕА используются все или часть этих слагаемых.

В процессоре осуществляются следующие способы адресации операн­дов:

   - непосредственная адресация;

   - регистровая адресация;

- косвенно-регистровая адресация;

- прямая адресация;

- базовая адресация;

- индексная адресация;

- базово-индексная адресация;

- базово-индексная адресация со смещением.



Содержание раздела