- •Внутренняя архитектура и
- •Цель и содержание работы
- •Архитектура микроконтроллера
- •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. Контрольные вопросы
3.2 Прямая адресация
При прямой адресации программный счетчик PC принимает значение, указанное в теле команды, при этом происходит ветвление программы.
Данный вид адресации используется при выполнении команд безусловного перехода или вызова подпрограммы, BR !addr16 , CALL !addr16 и CALLF !addr11 соответственно. Команды CALL !addr16 и BR !addr16 можно использовать для перехода к любому адресу из всего адресного пространства. Команда CALLF !addr11 может использоваться в пространстве 0x0800 – 0x0FFF. Схематически адресация представлена на рисунках 12 и 13.

Рисунок 12 – прямая адресация при выполнении команд BR !addr16 , CALL !addr16

Рисунок 13 – прямая адресация при выполнении команды CALLF !addr11
3.3 Косвенная табличная адресация
При косвенной табличной адресации адрес перехода расположен в специальной таблице, расположенной в адресном пространстве микроконтроллера, при этом адрес ячейки таблицы, в которой хранится адрес перехода, определяется 5-разрядным смещением содержащемся в теле
команды. Адрес перехода, считанный из таблицы, записывается в программный счетчик, таким образом, происходит ветвление программы.
Таблицы косвенных переходов используются при выполнении команд вызова подпрограмм CALLT [addr5]. Эта инструкция считывает адрес подпрограммы расположенный в адресном пространстве 40H-7FH и выполняет вызов данной подпрограммы.
Схематически косвенная табличная адресация представлена на рисунке 14.

Рисунок 14 – Косвенная табличная адресация.
3.4 Регистровая адресация
Содержимое регистровой пары (АХ) копируется в программный счетчик (PC) после чего происходит ветвление программы.
Данный вид адресации используется при выполнении команды BR AX.
Схематически регистровая адресация представлена на рисунке 15.

Рисунок 15 – Регистровая адресация.
4. Адресация операндов.
Приведенные ниже методы описывают способы адресации регистров и ячеек памяти, с которыми выполняются манипуляции во время выполнения инструкций процессора.
4.1 Неявная адресация.
Адресация предназначена для регистров аккумулятора (А и АХ), эти регистры адресуются автоматически (неявно).
Команды, использующие косвенную адресацию представлены в таблице 2.
Таблица 2 – команды, адресующие регистры А и Х косвенно.
|
Команда |
Регистр, который буде адресован неявно. |
|
MULU |
Регистр А для сомножителя, в АХ помещается результат |
|
DIVUW |
В АХ содержится делимое. Результат операции помещается также в АХ |
|
ADJBA/ ADJBS |
В регистре А содержатся числа для десятичной коррекции |
|
ROR4/ ROL4 |
В регистре А находится значение, над которым производится операция циклического сдвига. |
Формат операнда записывается как обычно, т.е. специфическая запись не нужна.
Пример: при выполнении команды MULU X умножается содержимое регистров А и Х , результат помещается в регистровую пару АХ, при этом регистры А и АХ адресуются неявно.
4.2 Регистровая адресация
Данный вид адресации используется для выбора пересылки данных между регистрами и при выборе банка регистров общего назначения. Банк выбирается флагами RBS0 и RBS1, при обозначении используют либо регистр, либо регистровую пару (Rn или RPn).
Этот вид доступа используется для адресации регистров общего назначения (РОН) в качестве операндов. Адресация регистров общего назначения осуществляется путем указания в теле инструкции 3-разрядного кода спецификации РОН.
При записи команд используют регистры , либо регистровые пары, указанные в таблице 3.
Таблица 3 – операнды регистровой адресации.
|
Идентификатор |
Описание |
|
r |
X, A, C, B, E, D, L, H |
|
rp |
AX, BC, DE, LH |
Пример :
MOV A, C;
При этом r соответствует регистру C

Рисунок 16 – формат команды MOV.
INCW DE; При этом rp соответствует регистровой паре DE

Рисунок 17 – формат команды INCW
