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

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

МнемоникаКраткое описаниеЦиклов16-ти битный кодИзменяет флагиПрим.
БАЙТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ
ANDWF f,dСложение WREG и f10000 111D FFFF FFFFOV, C, DC, Z
ADDWFC f,dПрибавление WREG и Carry bit( Бита переноса) к f10001 000D FFFF FFFFOV, C, DC, Z
ANDWF f,dПоразрядная операция "И" c WREG и f10000 101D FFFF FFFFZ
CLRF f,sОчистка регистра f10010 100S FFFF FFFFнет3
COMF f,dИнвертирование битов регистра f10001 001D FFFF FFFFZ
CPFSEQ fОперация сравнения f с WREG, пропуск след. комманды если f=WREG1(2)0011 0001 FFFF FFFFнет6, 8
CPFSGT fОперация сравнения f с WREG, пропуск след. комманды если f>WREG1(2)0011 0010 FFFF FFFFнет2, 6, 8
CPFSLT fОперация сравнения f с WREG, пропуск след. комманды если f<WREG1(2)0011 0000 FFFF FFFFнет2, 6, 8
DAW f,sДесятичная коррекция регистра WREG10010 111S FFFF FFFFC3
DCFSNZ f,dУменьшение значения регистра f, пропуск следующей инструкции если результат не равен нулю.1(2)0010 011D FFFF FFFFнет6, 8
DECF f,dУменьшение значения регистра f10000 011D FFFF FFFFOV, C, DC, Z
DECFSZ f,dУменьшение значения регистра f, пропуск следующей инструкции если результат равен нулю.1(2)0001 011D FFFF FFFFнет6, 8
INCF f,dУвеличение значения регистра f на 110001 010D FFFF FFFFOV, C, DC, Z
INCFSZ f,dУвеличение значения регистра f, пропуск следующей инструкции если результат равен нулю.1(2)0001 111D FFFF FFFFнет6, 8
INFSNZ f,dУвеличение значения регистра f, пропуск следующей инструкции если результат не равен нулю.1(2)0010 010D FFFF FFFFнет6, 8
IORWF f,dЛогическая операция включающего ИЛИ WREG и f10000 100D FFFF FFFFZ
MOVFP f,pПересылка содержимого регистра f в p1011P PPPP FFFF FFFFнет
MOVPF p,fПересылка содержимого регистра p в f1010P PPPP FFFF FFFFZ
MOVWF fПересылка содержимого регистра WREG в регистр f10000 0001 FFFF FFFFнет
MULWF fПеремножение WREG с f10011 0100 FFFF FFFFнет9
NEGW f,sИзменить знак WREG10010 110S FFFF FFFFOV, C, DC, Z1, 3
NOPПустая команда10000 0000 0000 0000нет
RLCF f,dЦиклический сдвиг влево через флаг переноса10001 101D FFFF FFFFC
RLNCF f,dЦиклический сдвиг влево (без переноса)10010 001D FFFF FFFFнет
RRCF f,dЦиклический сдвига вправо через флаг переноса10001 100D FFFF FFFFC
RRNCF f,dЦиклический сдвига вправо (без флага переноса)10010 000D FFFF FFFFнет
SETF f,sУстановка всех битов f в 110010 101S FFFF FFFFнет3
SUBWF f,dВычитание WREG из f10000 010D FFFF FFFFOV, C, DC, Z1
SUBWFB f,dВычитание W из f с заемом10000 001D FFFF FFFFOV, C, DC, Z1
SWAPF f,dОбмен местами полу-байт регистра f10001 110D FFFF FFFFнет
TABLRD t,i,fЧтение таблицы2 (3 тактов, если f=PCL)1010 10TI FFFF FFFFнет7
TABLWT t,i,fТабличная запись2 (и больше если происходит запись во встроенную EEPROM )1010 11TI FFFF FFFFнет5
TLRD t,fСчитывание Защелки таблицы11010 00TX FFFF FFFFнет
TLWT t,fЗапись в Защелку таблицы11010 01TX FFFF FFFFнет
TSTFSZ fПроверка f, пропуск след. ком. если 0.1(2)0011 0011 FFFF FFFFнет6, 8
XORWF f,dЛогическая операция исключающего ИЛИ с WREG и f10000 110D FFFF FFFFZ
БИТ-ОРИЕНТИРОВАННЫЕ КОМАНДЫ
BCF f,bОчистка бита в f11000 1BBB FFFF FFFFнет
BSF f,bУстановка бита в f11000 0BBB FFFF FFFFнет
BTFSC f,bПроверка на равенство бита нулю, пропускаем след. команду если да.1(2)1001 1BBB FFFF FFFFнет6, 8
BTFSS f,bПроверка на равенство бита 1, пропускаем след. команду если да.1(2)1001 0BBB FFFF FFFFнет6, 8
BTG f,bИнвертирование бита в регистра f10011 1BBB FFFF FFFFнет
СИМВОЛЬНЫЕ КОМАНДЫ И КОМАНДЫ ВЕТВЛЕНИЯ
ADDLW kСложение литеры и WREG11011 0001 KKKK KKKKOV, C, DC, Z
ANDLW kЛогическая операция "И" с символом и WREG110011 0101 KKKK KKKKZ
CALL kВызов процедуры2111K KKKK KKKK KKKKнет7
CLRWDTСброс Сторожевого Таймера (WDT)10000 0000 0000 0100TO, PD
GOTO kБезусловный переход2110K KKKK KKKK KKKKNone7
IORLW kЛогическая операция включающего ИЛИ с символом и WREG11011 0011 KKKK KKKKZ
LCALL kВызов дальней процедуры21011 0111 KKKK KKKKнет4, 7
MOVLB kПересылка литеры в младший полубайт регистра BSR11011 1000 UUUU KKKKНет
MOVLR kПересылка литеры в старший полубайт регистра BSR11011 101X KKKK UUUUНет9
MOVLW kПересылка литеры в регистр WREG11011 0000 KKKK KKKKнет
MULLW kПеремножение литеры с WREG11011 1100 KKKK KKKKнет9
RETFIEВозврат управления после прерывания20000 0000 0000 0101GLINTD7
RETLW kВозврат с литерой в W21011 0110 KKKK KKKKнет7
RETURNВозврат из процедуры20000 0000 0000 0010нет7
SLEEPПереход в режим "сна"10000 0000 0000 0011TO, PD
SUBLW kВычитание W из литеры11011 0010 KKKK KKKKOV, C, DC, Z
XORLW kЛогическая операция исключающего ИЛИ с символом и W11011 0100 KKKK KKKKZ

Примечания:
  1. Метод двоичного дополнения
  2. Беззнаковая операция
  3. Если s='1', изменяется только файл; Если s='0', тогда оба и WREG и file изменяются; Если нужно, что бы изменядся только Рабочий регистр (WREG), тогда необходимо сделать f = WREG.
  4. Во время выполнения LCALL, содержимое PCLATH загружается в MSb регистра PC и kkkk kkkk загружется в LSb регистра PC(PCL).
  5. Выполнение команды может занять несколько командных циклов при программировании EPROM, если табличный указатель относится ко внутренней EPROM. Выполнение команды завершается прерыванием. Когда команда используется для записи во внешнюю EPROM, выполнение команды занимает 2 командных цикла.
  6. Если условие истинно - команда выполняется за 2 командных цикла, если ложно - за 1 ком. цикл.
  7. Команда выполняется за 2 ком. цикла, кроме TABLRD с PCL (младший байт PC) которая выполняется за 3 ком. цикла.
  8. "пропускаем" - означает, что команда следующая за данной не выполняется, а выполняется команда, которая находится через одну от данной. Вместо следующей за данной командой выполняется команда NOP (Пустая операция).
  9. Эта команда отсутствует в микоконтроллере PIC17C42