Способы адресации языка assembler

- Прямая адресация
mov ax,es:0001
mov ax, es:word_var

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

Прямая адресация может быть двух типов:

Относительная прямая адресация и абсолютная прямая адресация.

- Косвенная адресация

mov ax, [bx]

При такой адресации эффективный адрес операнда может находиться в любом из регистров общего назначения, кроме sp/esp и bp/ebp.

- Адресация по базе со сдвигом

Комбинация двух предыдущих методов адресации

mov ax, [bx+2]

mov ax, [bp]+2

- Адресация по базе с индексированием - в этом методе адресации смещение операнда в памяти вычисляется как сумма чисел, содержащихся в двух регистрах, и смещения, если оно указано.
Все следующие команды — это разные формы записи одного и того же действия:
mov ax,[bx+si+2]
mov ax,[bx][si]+2
mov ax,[bx+2][si]

Схема работы компилятора

см. тетрадь «Структура компилятора»

Схема разработки программы на языке assembler


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: