Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_1-3.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
997.89 Кб
Скачать

1.2. Команда перенесення даних

У чотирирозрядних та вісьмирозрядних процесорах існувало багато асемблерних кодів для команд перенесення даних [1]. Наприклад, існували окремі команди для перенесення даних з одного регістру процесору до іншого, з комірки пам’яті до регістру та з регістру до комірки пам’яті. Але перехід до шістнадцятирозрядної шини даних дозволив реалізувати один асемблерний код команди MOV для будь-якої операції перенесення даних [4,7-9].

Формат команди:

{позначка} [код команди] [операнд-приймач], [операнд-джерело]

Увага! Розташування в цій команді приймача і джерела даних є стандартним для процесорів фірми Intel.

Використання команди MOV тісно пов’язано з видами адресації, що використовуються в асемблері. Відрізняють п’ять головних видів адресації.

1. Безпосередня адресація. Дані, що завантажуються, містяться безпосередньо у коді команди. Наприклад:

A4 DB ?; Зарезервувати комірку для змінної А1

...........................................................................................................

MOV AX,15H; Завантажити до акумулятору число 15H

MOV A4,15H; Завантажити до комірки пам’яті A1 число 15H

2. Неявна адресація. Джерело та приймач інформації записуються у самому коді команди. Це може бути назва регістру або посилання на комірку пам’яті. Наприклад:

A1 DB 100H; Завантажити до комірки пам’яті A1 число 100H

...............................................................................................................

MOV BX,A1; Завантажити до регістру BX вміст комірки A1

MOV AX,BX; Завантажити до регістру AX вміст регістру BX

3. Пряма адресація. Безпосереднє звертання до комірки пам’яті з визначеним номером. Цей вид адресації використовується при системному програмуванні для занесення даних до комірок пам’яті, вміст яких впливає на виконання системних процедур та загалом на представлення інформації в комп’ютері. Наприклад:

MOV [B8000], ‘A’; Завантажити символ А до відеопам’яті

При вирішенні несистемних математичних та логічних задач цим видом адресації програмісти майже не користуються. Замість нього в більшості випадків використовується безпосередня та неявна адресація.

4. Посередня адресація. При цьому виді адресації вміст одного регістру або регістрової пари процесору є вказівником на комірку пам’яті, що містить потрібну інформацію або в яку вона мусить бути поміщена. Посилання на поточну комірку пам’яті позначається символом $ (долар). Наприклад:

MOV BX, 100H

МOV CX, [BX]; Завантажити до регістру СХ число з сегменту даних зі зміщенням 100Н

;(повна адреса комірки пам’яті DS:100H )

Як можна побачити з наведеного прикладу, посилання на комірку пам’яті позначається в асемблері через квадратні дужки.

5. Адресація зі зміщенням. Як і посередня адресація, місить посилання на комірку пам’яті. Зміщення вказується як безпосередній операнд. Ефективно використовується разом з директивою визначення кількох констант. Наприклад:

A DB 1,2,3,4,5; Визначення масиву з кількох констант

.................................................................................................

MOV BX, A+2; Завантажити до регістру BX число 3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]