Система команд

Каждая команда PIC16C71 представляет собой 14‑разрядное слово, содержащее поле кода операции (OPCODE) и поле одного или более операндов, которые могут участвовать в этой команде. Формат команды приведен на рис. 3.11. Описание полей команды приведено в табл. 3.7.

Система команд PIC16С71 приведена в табл. 3.8 и включает в себя команды работы с байтами, команды работы с битами, команды управления и операции с константами. Она отличается от системы команд PIC16C5Х лишь тем, что группа команд передачи управления и операций с константами дополнена четырьмя новыми командами: ADDLW, RETFIE, RETURN, SUBLW. Эти команды в табл.3.8 выделены курсивом.

Для команд работы с байтами "f" обозначает регистр, с которым производится действие, а бит "d" определяет регистр назначения. Если "d"=0 результат помещается в W регистр, при "d"=1 результат помещается в регистр "f", заданный в команде.

Для команд работы с битами "b" обозначает номер бита, участвующего в команде, а "f" - это регистр в котором этот бит расположен. Для команд управления и операций с константами "k" обозначает 8-ми или 11- битную константу или идентификатор.

Все команды выполняются в течение одного командного цикла, кроме следующих двух случаев:

- переход по проверке условия, если результат поиска истина;

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

В этих случаях команда выполняется за два цикла , с выполнением второго цикла как NOP. Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с тактовой частотой 4 Мгц время выполнения команды составит 2 мкс.


Команды работы с байтами

13 8 6 0
OPCODE d f(file#)

d=0 для обозначения W

d=1 для обозначения F

f=7 разрядный адрес регистра

 

Команды работы с битами

13 10 9 7 6 0
OPCODE b(bit) f(file#)

b=3 разрядный номер бита

f=7 разрядный адрес регистра

 

Команды управления и операций с константами (кроме GOTO

и CALL)

 

13 8 7 0
OPCODE k(константа)

k=8-ми разрядное значение

 

Команда GOTOи CALL

3 11 10 0
OPCODE k(константа)

k=11-ти разрядное значение