ВУЗ:
Составители:
23
mov ax,bx
1.3.2. Непосредственная адресация
Некоторые команды (все арифметические команды, кроме деления)
позволяют указывать один из операндов непосредственно в тексте программы,
например команда
mov ax,2
помещает в регистр AX число 2.
1.3.3. Прямая адресация
Если известен адрес операнда, располагающегося в памяти, можно
использовать этот адрес. Если операнд — слово, находящееся в сегменте, на
который указывает ES, со смещением от начала сегмента 0001, то команда
mov ax,es:[0001h]
поместит это слово в регистр AX. Если селектор сегмента данных находится в DS,
имя сегментного регистра при прямой адресации можно не указывать, DS
используется по умолчанию. Прямая адресация иногда называется адресацией по
смещению.
1.3.4. Косвенная адресация
По аналогии с регистровыми и непосредственными операндами адрес
операнда в памяти также можно не указывать непосредственно, а
хранить в любом
регистре. До 80386 для этого можно было использовать только BX, SI, DI и BP.
Например, следующая команда помещает в регистр AX слово из ячейки памяти,
селектор сегмента которой находится в DS, а смещение — в BX:
mov ax,[bx]
Как и в случае прямой адресации, DS всегда используется по умолчанию. Но
в реальных программах, если смещение берут из регистра BP, то в качестве
сегментного регистра используется SS.
23 mov ax,bx 1.3.2. Непосредственная адресация Некоторые команды (все арифметические команды, кроме деления) позволяют указывать один из операндов непосредственно в тексте программы, например команда mov ax,2 помещает в регистр AX число 2. 1.3.3. Прямая адресация Если известен адрес операнда, располагающегося в памяти, можно использовать этот адрес. Если операнд — слово, находящееся в сегменте, на который указывает ES, со смещением от начала сегмента 0001, то команда mov ax,es:[0001h] поместит это слово в регистр AX. Если селектор сегмента данных находится в DS, имя сегментного регистра при прямой адресации можно не указывать, DS используется по умолчанию. Прямая адресация иногда называется адресацией по смещению. 1.3.4. Косвенная адресация По аналогии с регистровыми и непосредственными операндами адрес операнда в памяти также можно не указывать непосредственно, а хранить в любом регистре. До 80386 для этого можно было использовать только BX, SI, DI и BP. Например, следующая команда помещает в регистр AX слово из ячейки памяти, селектор сегмента которой находится в DS, а смещение — в BX: mov ax,[bx] Как и в случае прямой адресации, DS всегда используется по умолчанию. Но в реальных программах, если смещение берут из регистра BP, то в качестве сегментного регистра используется SS.
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »