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

Различия

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

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

Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
asm:memory [06/03/2012 20:38] – создано arabusovasm:memory [06/02/2013 14:17] arabusov
Строка 1: Строка 1:
 ===== Адресация переменных ===== ===== Адресация переменных =====
  
-В общем случае адрес переменной или команды можно представить с помощью выражения вида <code>База + Индекс + Смещение</code>где база - регистры BX или BP, индекс - регистры SI или DI. Эти регистры так и называются: базовые и индексные. Смещение - это постоянное выражение.+В общем случае адрес переменной или команды можно представить с помощью выражения вида <code>База + Индекс + Смещение</code>где база - регистры RBX или RBP, индекс - регистры RSI или RDI. Эти регистры так и называются: базовые и индексные. Смещение - это постоянное выражение.
  
 Пример: Пример:
Строка 7: Строка 7:
 Определим массив переменных greet Определим массив переменных greet
 <code asm> <code asm>
-_DATA segment word public "DATA"+section .data
  
 greet db 'Hello' greet db 'Hello'
- 
-_DATA ends 
 </code> </code>
 и инициализируем ds указанием на сегмент данных и инициализируем ds указанием на сегмент данных
-<code asm> +<code asm>section .text
-_CODE segment word public "CODE"+
  
 mov ax,_DATA mov ax,_DATA
Строка 21: Строка 18:
  
 </code> </code>
-В результате выполнения следующих последовательностей команд в регистре al окажется символ 'o'((Для справки: как вывести содержимое регистра al на экран:<code asm>mov ah,0eh +В результате выполнения следующих последовательностей команд в регистре al окажется символ 'o'
-mov bh,0 +
-int 10h</code>))+
   - <code asm>   - <code asm>
 mov al,'o' mov al,'o'