косвенная адресация ассемблер



Автор Ётепан Поросков задал вопрос в разделе Другие языки и технологии

Подскажите пожалуйста, что такое относительно-косвенная адресация в Ассемблере. Желательно с примером. Очень нужно! и получил лучший ответ

Ответ от Anton shahmatov[гуру]
Думаю подробно про способы адресации можно прочитать в любом учебнике по ассемблеру. В двух словах (из Зубкова):
1. Регистровая адресация - операнды располагаются в любых регистрах общего назначения или сегментных регистрах
mov bx, ax
mov es, ax
2. Непосредственная адресация
mov ax, 2
add ax, 2
3. Прямая адресация - если известен адрес операнда располагающегося в памяти
mov ax,es:0001
mov ax, es:word_var
В последнем случае ассемблер сам заменит слово word_var на соответствующий адрес
4. Косвенная адресация - адрес операнда в памяти можно не указывать непосредственно, а хранить в любом регистре
mov ax, [bx]
5. Адресация по базе со сдвигом - комбинация двух предыдущих методов адресации
mov ax, [bx+2]
mov ax, [bp]+2
6. Косвенная адресация с масштабированием
mov ax,[esi*2]+2 - этот метод адресации полностью идентичен предыдущему, за исключением того, что с его помощью можно прочитать элемент массива слов, двойных слов или учетверенных слов, просто поместив номер элемента в регистр
множитель, может быть равен 1, 2, 4 или 8 - соответствует размеру элемента массива — байту, слову, двойному слову, учетверенному слову соответственно
7. Адресация по базе с индексированием - в этом методе адресации смещение операнда в памяти вычисляется как сумма чисел, содержащихся в двух регистрах, и смещения, если оно указано
Все следующие команды — это разные формы записи одного и того же действия:
mov ax,[bx+si+2]
mov ax,[bx][si]+2
mov ax,[bx+2][si]
mov ax,[bx][si+2]
mov ax,2[bx][si]
8. Адресация по базе с индексированием и масштабированием - это самая полная возможная схема адресации, в которую входят все случаи, рассмотренные ранее, как частные
mov eax, ds:[eax+ebx*2+2]

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Подскажите пожалуйста, что такое относительно-косвенная адресация в Ассемблере. Желательно с примером. Очень нужно!
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*