B1. Описание команд PIC 12CXX и PIC 16C5X

 

ADDWF Add Wand f

Сложение W с f

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

Операнды: 0<=3<=1, [0,1]

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

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

Код: 0001 lldf ffff

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

Циклов: 1

Пример: ADDWF FSR, 0

Перед выполнением команды: W=0xl7 FSR=0xC2

После выполнения команды: W=0xD9 FSR=0xC2

 

ANDLW AND literal to W

Логическое И константы и W

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

Операнд: 0<=k<=255

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

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

Код: 1110 kkkk kkkk

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

Циклов: 1

Пример: ANDLW 0x5F

Перед выполнением команды: W=0xA3

После выполнения команды: W=0x03

 

ANDWF AND W and f

Логическое И W и f

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

 

Операнды: 0<=3<=1, [0,1]

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

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

Код: 0001 0ldf ffff

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

Циклов: 1

Пример: ANDWF FSR, 1

Перед выполнением команды: W=0xl7 FSR=0xC2

После выполнения команды: W=0xl7 FSR=0x02

 

BCF Bit Clear f

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

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

Операнды: 0<=f<=31, 0<=b<=7

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

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

КОД: 0100 bbbf ffff

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

Циклов: 1

Пример: BCF FLAG_REG, 7

Перед выполнением команды: FLAG_REG=0xC7

После выполнения команды: FLAG_REG=0x47

 

BSF Bit Set f

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

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

Операнды: 0<=f<=31, 0<=b<=7

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

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

КОД: 0101 bbbf ffff

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

Циклов: 1

Пример: BSF FLAG_REG, 7

Перед выполнением команды: FLAG_REG=0x0A

После выполнения команды: FLAG_REG=0x8A

 

BTFSC Bit Test f, Skip if Clear