Микроконтроллеры подгруппы РIС16F8Х имеют простую и эффективную систему команд, состоящую всего из 35 команд.
Каждая команда МК подгруппы РIС16F8Х представляет собой 14-битовое слово, разделенное на код операции (ОРСОDЕ), и поле для одного и более операндов, которые могут участвовать или не участвовать в этой команде.
В таблице приведены описания полей команд.
Поле
Описание
f
Адрес регистра
W
Рабочий регистр
b
Номер бита в 8-разрядном регистре
k
Константа
X
Не используется. Ассемблер формирует код с
Х = 0
х=0
d
Регистр назначения:
d=0 - результат в регистре w
d= 1 - результат в регистре f
По умолчанию d = 1
1аЬе1
Имя метки
ТО S
Вершина стека
РС
Счетчик команд
РСLАТН
Регистр РСLАТН
GIЕ
Бит разрешения всех прерываний
WDТ
Сторожевой таймер
/TO
Тайм-аут
/РD
Выключение питания
Dest
Регистр назначения: рабочий регистр xv или регистр, заданный в команде
[]
Необязательные параметры
( )
Содержание
— >
Присвоение
< >
Поле номера бита
€
Из набора
Для команд работы с байтами f обозначает регистр, с которым производится действие;
d — бит, определяющий, куда положить результат.
Если d =0, то результат будет помещен в регистр W, при d= 1 результат будет помещен в регистр «f», упомянутый в команде.
Для команд работы с битами b обозначает номер бита, участвующего в команде, а f— это регистр, в котором данный бит расположен.
Для команд передачи управления и операций с константами, k обозначает восьми- или одиннадцатибитную константу.
Почти все команды выполняются в течение одного командного цикла.
В двух случаях исполнение команды занимает два командных цикла:
• проверка условия и переход;
• изменение программного счетчика как результат выполнения команды.
Один командный цикл состоит из четырех периодов генератора.
Основные форматы команд МК изображены на рис. ………….