мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
asm:memory [06/02/2013 14:17] arabusovasm:memory [06/02/2013 14:44] (текущий) arabusov
Строка 31: Строка 31:
 mov al,[bx + si]</code> mov al,[bx + si]</code>
 В примерах со второго по пятый в al помещался 5-й символ массива greet, в первом в al помещался символ 'o', поэтому результат всех команд одинаковый. В примерах со второго по пятый в al помещался 5-й символ массива greet, в первом в al помещался символ 'o', поэтому результат всех команд одинаковый.
 +
 +===== Эффективные адреса NASM =====
 +Эффективный адрес — это любой операнд инструкции со ссылкой на память. Эффективные адреса в NASM имеют очень простой синтаксис: они содержат выражение (в результате вычислений которого получается нужный адрес), обрамленное квадратными скобками. Например: 
 +<code=asm>wordvar   dw 123 
 +     mov ax,[wordvar] 
 +     mov ax,[wordvar+1] 
 +     mov ax,[es:wordvar+bx]</code>
 +Любая другая ссылка, не соответствующая этой простой системе, для NASM недействительна, например es:wordvar[bx]. 
 +
 +Более сложные эффективные адреса, когда вовлечено более одного регистра, работают точно также: 
 +<code=asm>     mov eax,[ebx*2+ecx+offset] 
 +     mov ax,[bp+di+8]</code>
  
 ===== Стек ===== ===== Стек =====