Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Система команд PIC-контроллеров серии PIC16C8X

Каждая команда контроллеров серии PIC16C8X представляет собой 14-разрядное слово, содержащее поле кода операции OPCODE и поле операндов. Система команд включает в себя команды работы с байтами, команды работы с битами, команды управления и операции с константами.

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

Для команд работы с битами «b» обозначает номер бита, участвющего в команде, а «f» — регистр, в котором этот бит расположен.

Для команд управления и операций с константами «k» обозначает 8- или 11-битовую константу или идентификатор.

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

  • Переход по проверке условия, если результат проверки условия — истина.
  • Изменение счетчика команд как результат выполнения команды.

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

Принятые обозначения

f: Адрес регистра
W: Рабочий регистр
b: Номер бита в 8-ми разрядном регистре
k: Константа
x: Не используется. Ассемблер формирует код с х=0
d: Регистр назначения:
d=0 — результат в регистре W
d=1 — результат в регистре f.
По умолчанию d=1
label: Имя метки
TOS: Вершина стека
РС: Счетчик команд
ТО: Тайм-аут
PD: Выключение питания
dest: Регистр назначения: рабочий регистр W или регистр, заданный в команде
[]: Необязательные параметры
(): Содержание
—>: Присвоение
<>: Битовое поле
О: Из набора

 

Обозначение Функция Циклы Код команды Биты состояния Примечания
ADDLW Сложение константы и W 1 11 111x kkkk kkkk C, DC, Z
ADDWF Сложение W c f 1 00 0111 dfff ffff C, DC, Z 1, 2
ANDLW Логическое И константы и W 1 11 1001 kkkk kkkk Z
ANDWF Логическое И W и f 1 00 0101 dfff ffff Z 1, 2
BCF Сброс бита в регистре f 1 01 00bb bfff ffff 1, 2
BSF Установка бита в регистре f 1 01 01bb bfff ffff 1, 2
BTFSC Пропустить команду, если бит в f равен нулю 1 (2) 01 10bb bfff ffff 3
BTFSS Пропустить команду, если бит в f равен единице 1 (2) 01 11bb bfff ffff 3
CALL Вызов подпрограммы 2 10 0kkk kkkk kkkk
CLRF Сброс регистра f 1 00 0001 1fff ffff Z 2
CLRW Сброс регистра W 1 00 0001 0xxx xxxx Z
CLRWDT Сброс сторожевого таймера WDT 1 00 0000 0110 0100
__  __
TO, PD
COMF Инверсия регистра f 1 00 1001 dfff ffff Z 1, 2
DECF Декремент регистра f 1 00 0011 dfff ffff Z 1, 2
DECFSZ Декремент f, пропустить команду, если 0 1 (2) 00 1011 dfff ffff 1, 2, 3
GOTO Переход по адресу 2 10 1kkk kkkk kkkk
INCF Инкремент регистра f 1 00 1010 dfff ffff Z 1, 2
INCFSZ Инкремент f, пропустить команду, если 0 1 (2) 00 1111 dfff ffff 1, 2, 3
IORLW Логическое ИЛИ константы и W 1 11 1000 kkkk kkkk Z
IORWF Логическое ИЛИ W и f 1 00 0100 dfff ffff Z 1, 2
MOVF Пересылка регистра f 1 00 1000 dfff ffff Z 1, 2
MOVLW Пересылка константы в W 1 11 00xx kkkk kkkk
MOVWF Пересылка W в f 1 00 0000 1fff ffff
NOP Холостая команда 1 00 0000 0xx0 0000
OPTION Загрузка регистра OPTION 1 00 0000 0110 0010
RETFIE Возврат из прерывания 2 00 0000 0000 1001
RETLW Возврат из подпрограммы с загрузкой константы в W 2 11 01xx kkkk kkkk
RETURN Возврат из подпрограммы 2 00 0000 0000 1000
RLF Сдвиг f влево через перенос 1 00 1101 dfff ffff C 1, 2
RRF Сдвиг f вправо через перенос 1 00 1100 dfff ffff C 1, 2
SLEEP Переход в режим SLEEP 1 00 0000 0110 0011
__  __
TO, PD
SUBLW Вычитание W из константы 1 11 110x kkkk kkkk C, DC, Z
SUBWF Вычитание W из f 1 00 0010 dfff ffff C, DC, Z 1, 2
SWAPF Обмен местами тетрад вf 1 00 1110 dfff ffff 1, 2
TRIS Загрузка регистра TRIS 1 00 0000 0110 0fff
XORLW Исключающее ИЛИ константы и W 1 11 1010 kkkk kkkk Z
XORWF Исключающее ИЛИ W и f 1 00 0110 dfff ffff 1, 2

Примечание:

  1. Если модифицируется регистр ввода/вывода (например, MOVF PORTB,1), то используется значение, считываемое с выводов. Например, если в выходной защелке порта, включенного на ввод, находится «1», а внешнее устройство формирует на этом выводе «0», то в этом разряде данных будет записан «0».
  2. Если операндом команды является содержимое регистра TMRO (и, если допустимо, d=1), то предварительный делитель, если он подключен к TMRO, будет сброшен.
  3. Если в результате выполнения команды изменяется счетчик команд, или выполняется переход по проверке условия, то команда выполняется за два цикла. Второй цикл выплняется как NOP.

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *