Программирование на JAVA

Если в базовом регист­ре ЕВР содержится, скажем, адрес 1000, то для загрузки в младший байт регистра ЕАХ одного байта, хранящегося по адресу 1010, можно воспользоваться командой

MOV AL,[EBP+60]

Поскольку операнд назначения AL представляет собой младший байт регист­ра ЕАХ, ассемблер выберет код той операции пересылки, которая предназначена для пересылки байтов.


Рис. 5.6. Пример типа адресации в архитектуре IA-32.

Адресация базовая со смещением, заданная как [ЕВР+60]

Наиболее гибкой из всех адресаций является базовая индексная со смещени­ем. Пример ее использования приведен на рис. 5.7., где функции базового и ин­дексного регистров выполняют регистры ЕВР и ESI. Этот пример показывает, как обратиться к операнду, который является одним из элементов списка двой­ных слов. Список начинается со смещением 200 относительно базового адреса 1000. С использованием коэффициента масштабирования 4 для доступа к двой­ным словам по адресам 1200,1204,1208,... можно обращаться при помощи после­довательности индексов 0,1, 2,... в индексном регистре ESI


<< назад вперед >>