- Прямая адресация
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