Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
konspekt_lektsy_po_PTsU.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.31 Mб
Скачать

7.8 Система и формат команд

Данный микроконтроллер является типичным микропроцессорным устройством с архитектурой CISC. Его система команд является обширным и включает в себя 109 команд (1,2,3 байта длинной). Все команды выполняются за 1,2 машинных цикла. В данном микропроцессоре 1 машинный цикл равен 1 такт: 1м.ц=1такт (стандартная архитектура микропроцессора МСS51 1м.ц=12 тактам).

Это реализовано с помощьюконвеерной архитектуры. Команды с полным переходом требуют для завершения на 1 цикл меньше. В качестве операндов команды микроконтроллера могут использовать отдельные биты,байты, 4-х битные цифры.

В качестве битовых операндов выступают 128 программно-управляемых флагов пользователя, расположенных по адресу регистра с 20 по 2F.Имеется также возможность адресации отдельных битов в блоке регистров специального назначения и портов. Для адресации битов используется прямой 8-ми битный адрес. Косвенная адресация битов невозможна.

4-х битные операнды-используются только в 2-х типах командобмена- changeи spok.

8-ми битные операнды—в качестве 8-битного операнда может быть ячейка памяти программ или данных, непосредственный операнд, регистры специального назначения, порты ввода-вывода.

Порты и регистры специального назначения могут адресоваться прямым способом. Байты регистровой памяти могут адресоваться косвенным образом через адресные регистры R0,R1-указатель данных счетчик команд.

В качестве 2х байтных операндов выступают константы или прямые адреса, для представления которых необходимы 2-ой или 3-тий байт команды.

7.9 Способы адресации

Набор команд микроконтроллера поддерживает следующие режимы адресации:

1)прямую адресацию--операнд определяется 8-ми битным адресом, расположенным непосредственно в команде.Используется для внутренней памяти данных и регистра специального назначения.

2)косвенная адресация—команда адресует регистр, в котором содержится адрес операнда. Данный вид адресации используется для обращения к внутренней и внешней памяти данных. Для указания 8 битных адресов используются регистры R0,R1,а также указатель стека .Для 16-ти битной адресации используется регистр указания данных.

3)регистровая адресация--применяется для доступа к регистрам R0-R7. Команды содержат в теле байты кода операции 3-х битное поле, определяющие номер регистра.

4)непосредственная адресация—операнд содержится в теле команды(1,2 байта)

5)индексная адресация—используется при обращении к памяти программы только при чтении. В этом режиме осуществляется просмотр страниц и памяти программ, при этом регистр-указатель программ(программный счетчик) указывает базовый адрес требуемой таблицы, а аккумулятор – указывает смещение. Адрес элемента таблицы определяется сложением базы с индексом, содержимого аккумулятора или регистра указателя данных. Индексная адресация используется в командах-переходах, при этом адрес перехода высчитывается как сумма указателя базы (содержимого программного счетчика) и аккумулятора(смещения).

6)неявная адресация-- команды используют ряд регистров, при котором они не имеют адреса, указывающих на них. Адрес операнда заложен непосредственно в коде операции.