80
Елемент Спосіб подання в команді
Безпосередні дані
Індексний регістр
Базовий регістр
Зміщення
Символічне ім’я або константа
Регістр SI або DI
Регістр ВХ або ВР
Символічне ім’я або константа
Розглянемо коротко кожен із перерахованих елементів.
Безпосередніми є такі дані, які записуються прямо в самому коді
команди, як, наприклад, елемент 01 в команді MOV АН, 01.
При виконанні цієї команди величина 01 буде завантажуватися в
регістр АН.
Наступними двома елементами з наведеного переліку є
регістри, які містять адреси. Коли такий регістр використовується
для вказівки операнда в пам’яті, він містить не дані, що беруть
участь у виконанні команди, а посилання на те місце пам’яті, де
зберігаються ці дані.
Останнім елементом є зміщення, яке формою нагадує
безпосередні дані, оскільки також задається в команді у вигляді
деякої величини. Однак, на відміну від даних, наявних у коді
команди, це значення використовується для формування адреси
даних, а не як дані. Якщо операнд складається лише зі зміщення,
то останнє є просто адресою даних.
Компілятор програм завжди аналізує мнемонічний запис
операнда, з тим щоб визначити, до якого способу адресації він
належить. Операнд, заданий константою, обробляється при
цьому як безпосередні дані, тобто використовується як дані, а не
як адреса. Якщо операнд заданий символічним ім’ям, то
вважається, що має місце режим прямої адресації. Коли як
операнд вказується індексний або базовий регістр (або обидва
разом) без додаткових констант і символічних імен, то
компілятор обробляє цей операнд відповідно до одного з режимів
регістрової адресації. Така адресація часто називається
опосередкованою, оскільки звернення до пам’яті в даному
випадку здійснюється не напряму, а через регістр. Якщо в записі
операнда поряд з індексним або базовим регістром фігурує ще й
деяка константа або символічне ім’я, то останні сприймаються як