мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
asm:memory [06/03/2012 20:39] – arabusov | asm:memory [06/02/2013 14:44] (текущий) – arabusov | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
===== Адресация переменных ===== | ===== Адресация переменных ===== | ||
- | В общем случае адрес переменной или команды можно представить с помощью выражения вида < | + | В общем случае адрес переменной или команды можно представить с помощью выражения вида < |
Пример: | Пример: | ||
Строка 10: | Строка 10: | ||
greet db ' | greet db ' | ||
- | |||
- | _DATA ends | ||
</ | </ | ||
и инициализируем ds указанием на сегмент данных | и инициализируем ds указанием на сегмент данных | ||
- | <code asm> | + | <code asm> |
mov ax,_DATA | mov ax,_DATA | ||
Строка 20: | Строка 18: | ||
</ | </ | ||
- | В результате выполнения следующих последовательностей команд в регистре al окажется символ ' | + | В результате выполнения следующих последовательностей команд в регистре al окажется символ ' |
- | mov bh,0 | + | |
- | int 10h</ | + | |
- <code asm> | - <code asm> | ||
mov al,' | mov al,' | ||
Строка 35: | Строка 31: | ||
mov al,[bx + si]</ | mov al,[bx + si]</ | ||
В примерах со второго по пятый в al помещался 5-й символ массива greet, в первом в al помещался символ ' | В примерах со второго по пятый в al помещался 5-й символ массива greet, в первом в al помещался символ ' | ||
+ | |||
+ | ===== Эффективные адреса NASM ===== | ||
+ | Эффективный адрес — это любой операнд инструкции со ссылкой на память. Эффективные адреса в NASM имеют очень простой синтаксис: | ||
+ | < | ||
+ | mov ax, | ||
+ | mov ax, | ||
+ | mov ax, | ||
+ | Любая другая ссылка, | ||
+ | |||
+ | Более сложные эффективные адреса, | ||
+ | < | ||
+ | mov ax, | ||
===== Стек ===== | ===== Стек ===== |