Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PIC_INS.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
87.04 Кб
Скачать

Микроконтроллер pic16 Система команд г. Караганда

2001

ADDLW ADD Literal to W

Прибавление регистра W к константе k

Синтаксис: ADDLW k

Операнды: 00H  k  0FFH

Операция: (k) + (W)  W

Биты состояния: C, DC, Z

Описание: Содержимое регистра W добавляется к 8-битовой константе k. Результат сохраняется в регистре W.

Циклов: 1

ADDWF ADD W and f

Прибавление регистра W к регистру f

Синтаксис: ADDWF f,d

Операнды: fmin  f  fmax, d  [0,1]

Операция: (f) + (W)  (dest)

Биты состояния: C, DC, Z

Описание: Содержимое регистра W прибавляется к содержимому регистра f. Результат сохраняется: при d = 0 – в регистре W, при d = 1 – в том же регистре f.

Циклов: 1

ANDLW AND Literal to W

Сброс битов регистра W по маске k

Синтаксис: ANDLW k

Операнды: 00H  k  0FFH

Операция: (W).AND.(k)  W

Биты состояния: Z

Описание: В регистре W сбрасываются те биты, которые в маске k равны 0.

Циклов: 1

ANDWF AND W and f

Логическое умножение регистров W и f

Синтаксис: ANDWF f,d

Операнды: fmin  f  fmax, d  [0,1]

Операция: (W).AND.(f)  (dest)

Биты состояния: Z

Описание: Содержимые регистров W и f поразрядно логически умножаются. Результат сохраняется: при d = 0 -- в регистре W, при d = 1 -- в том же ре­гистре f.

Циклов: 1

BCF Bit Clear f

Сброс бита b в регистре f

Синтаксис: BCF f,b

Операнды: fmin  f  fmax, 0  b  7

Операция: 0  b(f)

Биты состояния: Не изменяются

Описание: Бит b в регистре f сбрасывается в 0

Циклов: 1

BSF Bit Set f

Установка бита b в регистре f

Синтаксис: BSF f,b

Операнды: fmin  f  fmax, 0  b  7

Операция: 1  b(f)

Биты состояния: Не изменяются

Описание: Бит b в регистре f устанавливается в 1

Циклов: 1

BTFSC Bit Test f, Skip if Clear

Пропустить команду, если бит очищен

Синтаксис: BTFSC f,b

Операнды: fmin  f  fmax, 0  b  7

Операция: Пропустить команду, если b(f) = 0

Биты состояния: Не изменяются

Описание: Если бит b регистра f равен 1, выполняется следующая команда. Если бит b регистра f равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла.

Циклов: 1 (2)

BTFSS Bit Test f, Skip if Set

Пропустить команду, если бит установлен

Синтаксис: BTFSS f,b

Операнды: fmin  f  fmax, 0  b  7

Операция: Пропустить команду, если b(f) = 1

Биты состояния: Не изменяются

Описание: Если бит b регистра f равен 0, выполняется следующая команда. Если бит b регистра f равен 1, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо нее в следующем цикле выполняется NOP, в результате команда выполняется за два цикла.

Циклов: 1 (2)

CALL CALL subroutine

Вызов подпрограммы

Синтаксис: CALL k

Операнды: 0  k  7FFH

Операция: (PC) + 1  TOS, k  PC<10:0>, (PCLATH)<4:3>  PC<12:11>.

Биты состояния: Не изменяются

Описание: Адрес возврата (PC) + 1 сохраняется в стеке. Младшие 11 бит адреса начала подпрограммы загружаются в PC из кода команды. Старшие два бита адреса загружаются в PC из регистра PCLATH.

Циклов: 2

CLRF CLeaR f

Очистка регистра f

Синтаксис: CLRF f

Операнды: fmin  f  fmax

Операция: 00h  f, 1  Z

Биты состояния: Z

Описание: Содержимое регистра f сбрасывается в 0 и бит Z устанавливается в 1.

Циклов: 1

CLRW CLeaR W

Очистка регистра W

Синтаксис: CLRW

Операнды: Нет

Операция: 00h  W, 1  Z

Биты состояния: Z

Описание: Содержимое регистра W сбрасывается в 0 и бит Z устанавливается в 1.

Циклов: 1

CLRWDT CLeaR WatchDog Timer

Сброс сторожевого таймера WDT

Синтаксис: CLRWDT

Операнды: Нет

Операция: 00h  WDT, 0  WDT prescaler, 1  TO, 1  PD

Биты состояния: TO, PD

Описание: Команда сбрасывает сторожевой таймер WDT и предварительный делитель. В регистре состояния STATUS устанавливаются биты TO и PD.

Циклов: 1

COMF COMplement f

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]