Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
15
Добавлен:
15.04.2015
Размер:
588.24 Кб
Скачать

18. Система команд микроконтроллеров INTEL 8051. Общие сведения, типы операндов, способы адресации данных, флаги результата, символическая адресация.

СИСТЕМА КОМАНД МИКРОКОНТРОЛЛЕРОВ INTEL 8051

3.1. Общие сведения

Определение и ассемблерная мнемоника команд, их тип в соответствии с

рис. 1 (Т), число байтов в командах (Б), а также продолжительность исполнения

команд в циклах (Ц) даны в прил. 1. Система содержит 111 базовых команд, кото-

рые по функциональному признаку могут быть разделены на пять групп:

• команды передачи данных,

• арифметические операции,

• логические операции,

• операции с битами,

• команды передачи управления.

Большинство команд имеют формат в один или два байта и выполняются за

один или два машинных цикла. При тактовой частоте 12 МГц длительность ма-

шинного цикла составляет 1 мкс. На рис. 1 показаны 13 типов команд.

Первый байт команды любых типа и формата всегда содержит код операции

(КОП). Второй и третий байты содержат либо адреса операндов, либо непосредст-

венные операнды.

Рис. 1. Типы команд8

3.1.1. Типы операндов

Состав операндов включает в себя операнды четырёх типов: биты, 4-битные

цифры, байты и 16-битные слова.

Микроконтроллер имеет 128 программно-управляемых флагов пользователя.

Имеется также возможность адресации отдельных битов блока регистров специ-

альных функций и портов. Для адресации битов используется прямой 8-битный ад-

рес (bit). Косвенная адресация битов невозможна. Карты адресов отдельных битов

представлены на рис. 2 и 3.

Четырёхбитные операнды используются только при операциях обмена

SWAP и XCHD.

Рис. 2. Карта адресуемых битов в резидентной памяти данных9

Рис. 3. Карта адресуемых битов в блоке регистров специальных функций

Восьмибитным операндом может быть ячейка памяти программ (ПП) или

данных (резидентной (РПД) или внешней (ВПД)), константа (непосредственный

операнд), регистры специальных функций, а также порты ввода/вывода. Порты и

регистры специальных функций адресуются только прямым способом. Байты па-

мяти могут адресоваться также и косвенным образом через адресные регистры R0,

R1, DPTR и PC.

Двухбайтные операнды - это константы и прямые адреса, для представления

которых используются второй и третий байты команды.

3.1.2. Способы адресации данных

В микроконтроллере используются следующие способы адресации данных:

прямая, непосредственная, косвенная и неявная.

При косвенном способе адресации резидентной памяти данных используют-

ся все восемь битов адресных регистров R0 и R1. 10

3.1.3. Флаги результата

Слово состояния программы PSW включает себя четыре флага: С - перенос,

АС - вспомогательный перенос (полуперенос), OV - переполнение и P - паритет.

Флаг паритета напрямую зависит от текущего значения аккумулятора. Если

число единичных битов аккумулятора нечётное, то флаг Р устанавливается, а если

чётное - сбрасывается. Все попытки изменить флаг Р, присваивая ему новое значе-

ние, бесполезны, если содержимое аккумулятора при этом останется неизменным.

Флаг АС устанавливается, если при выполнении операции сложения или вы-

читания между тетрадами байта (полубайтами) возник перенос или заем.

Флаг C устанавливается, если в старшем бите результата возникает перенос

или заем. При выполнении операций умножения и деления флаг С сбрасывается.

Флаг OV устанавливается, если результат операции сложения или вычитания

не укладывается в семи битах и старший (восьмой) бит результата не может интер-

претироваться как знаковый. При выполнении операции деления флаг OV сбрасы-

вается, а в случае деления на нуль устанавливается. При умножении флаг OV уста-

навливается, если результат больше 255.

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

ются флаги результата. В таблице отсутствует флаг паритета, так как его значение

изменяется всеми командами, которые изменяют содержимое аккумулятора. Кроме

команд, приведенных в таблице, флаги модифицируются командами, в которых

местом назначения результата определены PSW или его отдельные биты, а также

командами операций над битами.

Таблица 2

Команды, модифицирующие флаги результата

3.1.4. Символическая адресация

При использовании ассемблера для получения объектных кодов программ

допускается применение в программах символических имен регистров специаль-

ных функций, портов и их отдельных битов (рис. 3).

Для адресации отдельных битов и портов (такая возможность имеется не у

всех регистров специальных функций) можно использовать символическое имя би-

та следующей структуры: <имя регистра или порта>.<номер бита>. 11

Например, символическое имя пятого бита аккумулятора будет следующим:

АСС.5. Символические имена являются зарезервированными словами, и их не надо

определять с помощью директив ассемблера.

Соседние файлы в папке 7.Антипов