3.7. Адресація по базі з індексуванням
У цьому
методі
адресації зсув операнда
в пам'яті обчислюється як сума чисел,
що втримуються
у двох регістрах, і зсуву,
якщо воно зазначене.
Усі
наступні команди — це різні
форми записи
того самого дії:
mov
ax,[bx+si+2]
mov
ax,[bx][si]+2
mov
ax,[bx+2][si]
mov
ax,[bx][si+2]
mov
ax,2[bx][si]
У регістр AX міститься
слово з комірки пам'яті зі
зсувом, рівним сумі чисел,
що втримуються
в BX і SI, і числа 2. Із шестнадцатибитных
регістрів так можна складати тільки BX
+ SI, BX + DI, BP + SI і BP + DI, а з
32-бітних — усі
вісім
регістрів загального
призначення. Так само як і для прямої
адресації, замість безпосередньої
вказівки
числа можна використовувати
ім'я змінної,
заданої
однієї
з директив визначення даних. Так можна
прочитати, наприклад, число із двовимірного
масиву: якщо задана таблиця 10x10 байт,
2 — зсув її початку
від початку сегмента даних
(на практиці буде використовуватися
ім'я цієї таблиці), BX = 20, а SI = 7,
наведені
команди прочитають слово,
що полягає
із сьомого й восьмого байт третього
рядка. Якщо таблиця полягає
не з одиночних байт, а зі слів або
подвійних слів, зручніше використовувати
наступну, найбільш повну форму адресації.
Контрольні запитання:
1. Дайте визначення поняттю
«стек». Зазначте його структуру та
принцип дії
2. Призначення регістру
прапорів.
3. Перелічите способи адресації
4. Зазначте принцип кожного типу адресації
5