НАБОР КОМАНД PIC МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА PIC14000/PIC16CXXX
|
---|
НАБОР КОМАНД PIC МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА PIC14000/PIC16CXXX
Раздел: Микроконтроллеры
Мнемоника |
Описание |
Циклы |
Флаги |
Прим. |
Байт-ориентированные команды |
ADDWF f,d |
Сложение W с f |
1 |
C,DC,Z |
1,2 |
ANDWF f,d |
Логическое "И" W с f |
1 |
Z |
1,2 |
CLRF f |
Сброс регистра f |
1 |
Z |
2 |
CLRW |
Сброс регистра W |
1 |
Z |
- |
COMF f,d |
Инверсия регистра f |
1 |
Z |
1,2 |
DECF f,d |
Декремент регистра f |
1 |
Z |
1,2 |
DECFSZ f,d |
Декремент f, пропустить команду, если 0 |
1(2) |
Z |
1,2,3 |
INCF f,d |
Инкремент регистра f |
1 |
Z |
1,2 |
INCFSZ f,d |
Инкремент f, пропустить команду, если 0 |
1(2) |
Z |
1,2,3 |
IORWF f,d |
Логическое "ИЛИ" W c f |
1 |
Z |
1,2 |
MOVF f,d |
Пересылка регистра F |
1 |
Z |
1,2 |
MOVWF f |
Пересылка W в F |
1 |
|
- |
NOP |
Холостая команда |
1 |
|
- |
RLF f,d |
Вращение f влево через перенос |
1 |
C |
1,2 |
RRF f,d |
Вращение f вправо через перенос |
1 |
C |
1,2 |
SUBWF f,d |
Вычитание W из f |
1 |
C,DC,Z |
1,2 |
SWAPF f,d |
Обмен местами тетрад в f |
1 |
|
1,2 |
XORWF f,d |
Исключающее "ИЛИ" W и f |
1 |
Z |
1,2 |
Операции с константами и управляющими регистрами |
ADDLW k |
Сложение константы с W |
1 |
C,DC,Z |
- |
ANDLW k |
Логическое "И" константы и W |
1 |
Z |
- |
IORLW k |
Логическое "ИЛИ" константы и W |
1 |
Z |
- |
SUBLW k |
Вычитание W из константы |
|
|
|
MOVLW k |
Пересылка константы в W |
1 |
|
- |
XORLW k |
Исключающее "ИЛИ" константы и W |
1 |
Z |
- |
OPTIONS |
Загрузка OPTIONS регистра |
1 |
4 |
TRIS f |
Загрузка TRIS регистра |
1 |
4 |
Бит-ориентированные команды |
BCF f,b |
Сброс бита b в регистре f |
1 |
1,2 |
BSF f,b |
Установка бита b в регистре f |
1 |
1,2 |
BTFSC f,b |
Пропустить команду, если бит b=0 |
1(2) |
3 |
BTFSS f,b |
Пропустить команду, если бит b=1 |
1(2) |
3 |
Переходы |
CALL k |
Вызов подпрограммы |
2 |
- |
CLRWDT (k) |
Сброс Watchdog таймера |
1 |
/TO,/PD |
- |
GOTO k |
Переход по адресу |
2 |
-
|
RETLW k |
Возврат из подпрограммы с загрузкой константы в W |
2 |
- |
RETFIE |
Возврат из прерывания |
2 |
- |
RETURN |
Возврат из подпрограммы |
2 |
- |
SLEEP |
Переход в режим SLEEP |
1 |
/TO,/PD |
- |
Мнемоники специальных инструкций |
Мнемоника |
Описание |
Эквивалентные операции |
Флаги |
Прим. |
ADDCF f,d |
Добавить бит C к регистру |
BTFSC STATUS,0 INCF f,d |
Z |
ADDDCF f,d |
Добавить бит DC к регистру |
BTFSC STATUS,1 INCF f,d |
Z |
B k |
Переход |
GOTO k |
- |
BC k |
Переход если C=1 |
BTFSC STATUS,0 GOTO k |
- |
BDC k |
Переход если DC=1 |
BTFSC STATUS,1 GOTO k |
- |
BNC k |
Переход если C=0 |
BTFSS STATUS,0 GOTO k |
- |
BNDC k |
Переход если DC=0 |
BTFSS STATUS,1 GOTO k |
- |
BNZ k |
Переход если не ноль |
BTFSS STATUS,2 GOTO k |
- |
BZ k |
Переход если ноль |
BTFSC STATUS,2 GOTO k |
- |
CLRC |
Очистить бит C |
BCF STATUS,0 - |
CLRDC |
Очистить бит DC |
BCF STATUS,1 |
- |
CLRZ |
Очистить бит Z |
BCF STATUS,2 |
- |
LCALL k |
LGOTO k |
MOVFW f |
Пересылка регистра в W |
MOVF f,0 |
Z |
NEGF f,d |
Изменение знака регистра |
COMF f,1 INCF f,d Z |
SETC |
Установить бит C |
BSF STATUS,0 |
- |
SETDC |
Установить бит DC |
BSF STATUS,1 |
- |
SETZ |
Установить бит Z |
BSF STATUS,2 |
- |
SKPC |
Пропустить если C=1 |
BTFSS STATUS,0 |
- |
SKPDC |
Пропустить если DC=1 |
BTFSS STATUS,1 |
- |
SKPNC |
Пропустить если C=0 |
BTFSC STATUS,0 |
- |
SKPNDC |
Пропустить если DC=0 |
BTFSC STATUS,1 |
- |
SKPNZ |
Пропустить если не ноль |
BTFSC STATUS,2 |
- |
SKPZ |
Пропустить если ноль |
BTFSS STATUS,2 |
- |
SUBCF f,d |
Вычесть бит C из регистра |
BTFSC STATUS,0 DECF f,d |
Z |
SUBDCF f,d |
Вычесть бит DC из регистр |
BTFSC STATUS,1 DECF f,d |
Z |
TSTF f |
Проверка регистра |
MOVF f,1 |
Z |
Замечания и пояснения
f - адрес регистра (0x00 - 0x7f)
d - выбор приемника для результата (d=0: результат сохраняется в W; d=1: результат сохраняется в регистр f. По умолчанию d=1.)
b - адрес бита (0 - 7) в регистре
k - символьное поле, константа, метка.
Примечание 1: Когда модифицируется регистр ввода/вывода, например MOVF 6,1, значение, используемое для модификации считывается непосредственно с ножек кристалла. Если значение защелки вывода для ножки, запрограммированной на вывод равно "1", но внешний сигнал на этом выводе "0" из-за "навала" снаружи, то будет считываться "0".
Примечание 2: Если операндом этой команды является регистр TMR0 (и, если допустимо, d=1), то делитель, если он подключен к Timer0, будет обнулен.
Примечание 3: Если изменяется Program Counter (PC) или выполняется заданное условие, то команда требует два цикла. Второй цикл выполняется как NOP.
Примечание 4: Команды TRIS и OPTION помещены в перечень команд для совместимости с семейством PIC16C5X. Их использование не рекомендуется. В PIC16C84 регистры TRIS и OPTION доступны для чтения и записи как обычные регистры с номером. Предупреждаем, что эти команды могут не поддерживаться в дальнейших разработках PIC16CXX.
|
|