Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LH05-2N.DOC
Скачиваний:
21
Добавлен:
11.03.2015
Размер:
100.35 Кб
Скачать

Прямая адресация.

Команды с прямой адресацией имеют длину 2 байта. Первый байт предназначен для кода команды, второй байт содержит адрес ячейки памяти, где хранится операнд. Так как микроконтроллер МС68НС705К1 имеет адресное пространство, превышающее диапазон 00h ¸0FFh, то во втором байте команды задается только младший байт адреса, а старший автоматически устанавливается 00h.

Условное обозначение адреса в мнемонике команды - opr: ADD opr.

Например:

LDA0E1h ; Переслать в аккумулятор содержимое ячейки памяти с адресом 00Е1h.

; А <--- (M)

ADD 0E1h ; сложить содержимое А с числом, которое записано в

; ячейке памяти с адресом 00Е1h. Результат поместить в А.

; {A <--- (A) + (M)

Прямая расширенная адресация.

Команды с расширенной прямой адресацией имеют длину 3 байта. Первый байт предназначен для кода команды, второй и третий байты содержат адрес ячейки памяти, где хранится операнд. Команды с расширенной прямой адресацией позволяют работать со всем адресным пространством микроконтроллера. Мнемоническое обозначения команд с прямой и прямой расширенной адресацией совпадают (сравните примеры в предыдущем разделе и те, которые приведены ниже). Обобщенное обозначение двухбайтового адреса в команде также совпадает с однобайтовым: ADD opr, opr - двухбайтовый адрес.

Например:

LDА 01E1h ; Переслать в аккумулятор содержимое ячейки памяти

; с адресом 01E1h.

; A <---- (M)

ADD 01E1h ; Сложить содержимое А с числом, которое записано в

; ячейке памяти с адресом 01E1h. Результат поместить в А.

; A <---- (A) + (M)

При трансляции программ учебным Ассемблером не следует заботиться о том, что инструкции с прямой и прямой расширенной адресацией имеют одинаковую мнемонику. Программа Ассемблер самостоятельно подставит код необходимой операции, проанализировав численное значение адреса opr.

Косвенная адресация.

Команды с косвенной адресацией имеют длину 1 байт, в котором расположен код операции. Адрес операнда находится в индексном регистре Х. Так как регистр однобайтовый, то старший байт операнда автоматически устанавливается в 00h. Диапазон возможных адресов при этом способе адресации 0000h ¸00FFh.

Например:

LDA ,X ; Переслать в А содержимое ячейки памяти,

; адрес которой находится в индексном регистре Х.

; A <---- (M)

Пример 1.

Пример выполнения команды с косвенной адресацией:

До операции

A = 95h

X = 0F3h ; В ячейке памяти с адресом 0F3h записан код 11h.

После операции

A = 11h

X = 0F3h ; В аккумуляторе записан код 11h.

Индексная адресация со смещением 1 байт.

Команды с данным типом адресации имеют длину 2 байта. Первый байт содержит код операции, а второй - численную константу, которая носит название “базовый адрес”. В определении адреса операнда участвует индексный регистр Х, который содержит код смещения адреса (индекс смещения). Центральный процессор вычисляет адрес операнда путем беззнакового сложения содержимого индексного регистра с кодом, записанным во втором байте команды. После сложения адрес операнда представляется в двухбайтовом формате. Диапазон возможных адресов операнда при этом способе адресации 0000h ¸01FFh. Условное обозначение адреса в мнемонике команды - opr: LDA opr, X.

Например:

LDA 80h, X ; Переслать в А содержимое ячейки памяти,

; адрес которой вычисляется по правилу:ADR=80h+содержимое регистраX.

; A <---- (M)

Пример 2.

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