- •Внутренняя архитектура и
- •Цель и содержание работы
- •Архитектура микроконтроллера
- •2.2.2 Регистры общего назначения.
- •2.2.3 Регистры специального назначения.
- •3. Адресация команд.
- •3.1 Относительная адресация.
- •3.2 Прямая адресация
- •3.3 Косвенная табличная адресация
- •3.4 Регистровая адресация
- •4. Адресация операндов.
- •4.1 Неявная адресация.
- •4.2 Регистровая адресация
- •4.3 Прямая адресация
- •4.4 Короткая прямая адресация
- •4.5 Адресация регистров специального назначения (sfr)
- •4.6 Косвенная регистровая адресация
- •4.7 Базовая адресация
- •4.8 Относительная индексная адресация
- •4.9 Стековая адресация
- •5 Система команд.
- •5.1 Операции
- •5.2 Соглашения при описании команды
- •5.3 Перечень команд процессора сгруппированный по видам адресации
- •5.4 Описание инструкций.
- •6. Контрольные вопросы
4.3 Прямая адресация
Этот вид доступа использует адрес непосредственно заданный в теле команды для адресации данных, с которыми будут производиться манипуляции. Формат операнда задаётся как addr16. Операндом может являться метка, либо непосредственно заданный 16-разрядный адрес.
Пример :
MOV A, !FE00H; При этом !addr16 соответствует FE00H


Рисунок 18 – выполнение команды MOV A, !FE00h
4.4 Короткая прямая адресация
Этот вид доступа использует 8-разрядное адресное смещение непосредственно заданное в теле команды для адресации данных, с которыми будут производиться манипуляции. Данный вид доступа применяется только для адресации 256 байт расположенных в адресном
пространстве FE20H – FF1FH. При этом высокоскоростное ОЗУ и регистры специального назначения (SFR) располагаются в данном адресном пространстве FE20H – FEFFН и FF00H– FF1FH соответственно. Область памяти SFR (FF00H-FF1FH) используемая в операциях с короткой прямой адресацией соответствует только части адресного пространства отведенного под регистры специального назначения. В вышеуказанном адресном пространстве располагаются наиболее часто используемые порты, регистры сравнения счетчика таймера/событий, регистр-защелка таймера/счетчика, таким образом, доступ к этим SFR регистрам может быть выполнен за минимально короткое время, при затрате минимально возможного количества байт кода программы. Если младшие 8-бит адреса, используемого в команде с короткой прямой адресацией, соответствуют значению от 20H до FFH, то разряд 8 эффективного адреса устанавливается равным 0. Если вышеуказанные 8-бит адреса соответствуют значению от 00H до 1FH, то бит 8 эффективного адреса устанавливается равным 1
Формат операнда представлен в таблице 4.
Таблица 4 – формат операнда при короткой прямой адресации
|
Операнд |
Описание |
|
saddr |
Метка или непосредственно заданный адрес в диапазоне от FE20 до FF1FH |
|
saddrp |
Метка или непосредственно заданное значение в диапазоне от FE20 до FF1FH (только четные адреса) |
Пример команды:
MOV FE30H, #50H; При этом saddr соответствует FE30H, в команде также указаны данные 50H.


Рисунок 19 – схематическое представление инструкции MOV FE30h, #50h
4.5 Адресация регистров специального назначения (sfr)
Этот вид доступа использует 8-разрядное адресное смещение непосредственно заданное в теле команды для адресации регистров специального назначения (SFR). Таким образом, происходит адресация к 240 байтам адресного пространства FF00H – FFСFH и FFE0H – FFFFH. Кроме того, при адресации некоторых регистров SFR (FF00H – FF1FH) может использоваться также короткая прямая адресация. Формат операндов указан в таблице 5
Таблица 5 – формат операнда при адресации регистров специального назначения
|
Операнд |
Описание |
|
Sfr |
Функциональное наименование регистра |
|
sfrp |
Функциональное наименование регистровой пары |
Пример :
MOV PM0, A; При этом sfr соответствует регистру PM0


Рисунок 20 – схематическое представление команды MOV PM0, A
