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

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

Синтаксис перечисленных режимов адресации процессоров IA-32 приведен в табл. 5.1. Кроме того, в ней показано, как вычисляется исполнительный адрес операнда для каждого из режимов. Согласно одной из сносок, регистр ESP не мо­жет использоваться в качестве индексного, поскольку, как вы увидите далее, он служит указателем на стек процессора. Ниже будет рассмотрено несколько при­меров применения режимов адресации процессоров IA-32.

Таблица 5.1. Режимы адресации процессоров IA-32


Значение — 8- или 32-разрядное число со знаком.     

Адрес — 32-разрядный адрес.

Reg, Reg1, Reg2 - один из регистров общего назначения (ЕАХ, ЕВХ, ЕСХ, EDX, ESP, ЕВР, ESI, EDI), с тем исключением, что регистр ESP не может использоваться в качестве индексного.

Disp — 8- или 32-разрядное число со знаком (смещение), с тем исключением, что смещение в режиме индексной адресации со смещением может быть только 32-разрядным. S — коэффициент масштабирования, равный 1, 2, 4 или 8.


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