MicroCHIP.RU
Главная Документация Отладочные средства Справочник Поиск Ссылки
 Assembler PICmicro   Примеры применения   Словарь терминов   Маркировка чипов   Корпуса 
 

Сводная таблица команд семейства PIC16CXXX

МнемоникаКраткое описаниеЦиклов14-ти битный кодИзменяет флагиПрим.
БАЙТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ
ADDWF f,dСложение W и f100 0111 DFFF FFFFC, DC, Z1, 2
ANDWF f,dПоразрядная операция "И" c W и f100 0101 DFFF FFFFZ1, 2
CLRF fОчистка регистра f100 0001 1FFF FFFFZ2
CLRWОчистка регистра W100 0001 0000 0011Z
COMF f,dИнвертирование битов регистра f100 1001 DFFF FFFFZ1, 2
DECF f,dУменьшение значения регистра f100 0011 DFFF FFFFZ1, 2
DECFSZ f,dУменьшение значения регистра f, пропуск следующей инструкции если результат равен нулю.1(2)00 1011 DFFF FFFFнет1, 2, 3
INCF f,dУвеличение значения регистра f на 1100 1010 DFFF FFFFZ1, 2
INCFSZ f,dУвеличение значения регистра f, пропуск следующей инструкции если результат равен нулю.1(2)00 1111 DFFF FFFFнет1, 2, 3
IORWF f,dЛогическая операция включающего ИЛИ W и f100 0100 DFFF FFFFZ1, 2
MOVF f,dПересылка содержимого регистра f100 1000 DFFF FFFFZ1, 2
MOVWF fПересылка содержимого регистра W в регистр f100 0000 1FFF FFFFнет
NOPПустая команда100 0000 0XX0 0000нет
RLF f,dЦиклический сдвиг влево через флаг переноса100 1101 DFFF FFFFC1, 2
RRF f,dЦиклический сдвига вправо через флаг переноса100 1100 DFFF FFFFC1, 2
SUBWF f,dВычитание W из f100 0010 DFFF FFFFC, DC, Z
SWAPF f,dОбмен местами полу-байт регистра f100 1110 DFFF FFFFнет
TRIS fЗагрузка регистра TRIS100 0000 0110 0FFFнет
XORWF f,dЛогическая операция исключающего ИЛИ с W и f100 0110 DFFF FFFFZ
БИТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ
BCF f,dОчистка бита в f101 00BB BFFF FFFFнет1, 2
BSF f,bУстановка бита в f101 01BB BFFF FFFFнет1, 2
BTFSC f,bПроверка на равенство бита нулю, пропускаем след. команду если да.1(2)01 10BB BFFF FFFFнет3
BTFSS f,bПроверка на равенство бита 1, пропускаем след. команду если да.1(2)01 11BB BFFF FFFFнет3
СИМВОЛЬНЫЕ КОМАНДЫ И КОМАНДЫ ВЕТВЛЕНИЯ
ADDLW kСложение литеры и W111 111X KKKK KKKKC, DC, Z
ANDLW kЛогическая операция "И" с символом и W111 1001 KKKK KKKKZ
CALL kВызов процедуры210 0KKK KKKK KKKKнет
CLRWDTСброс Сторожевого Таймера (WDT)100 0000 0110 0100TO, PD
GOTO kБезусловный переход210 1KKK KKKK KKKKнет
IORLW kЛогическая операция включающего ИЛИ с символом и W111 1000 KKKK KKKKZ
MOVLW kПересылка литеры в регистр W111 00XX KKKK KKKKнет
OPTIONЗагрузка данных в регистр OPTION100 0000 0110 0010нет
RETFIEВозврат управления после прерывания200 0000 0000 1001нет
RETLW kВозврат с литерой в W211 01XX KKKK KKKKнет
RETURNВозврат из процедуры200 0000 0000 1000нет
SLEEPПереход в режим "сна"100 0000 0110 0011TO, PD
SUBLW kВычитание W из литеры111 110X KKKK KKKKC, DC, Z
XORLW kЛогическая операция исключающего ИЛИ с символом и W111 1010 KKKK KKKKZ

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