PIC16CE62X
BCF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example
Bit Clear f
[ label ] BCF f,b
0 ≤ f ≤ 127
0≤b≤7
0 → (f<b>)
None
01 00bb bfff ffff
Bit ’b’ in register ’f’ is cleared.
1
1
BCF
FLAG_REG, 7
Before Instruction
FLAG_REG = 0xC7
After Instruction
FLAG_REG = 0x47
BSF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example
Bit Set f
[ label ] BSF f,b
0 ≤ f ≤ 127
0≤b≤7
1 → (f<b>)
None
01 01bb bfff ffff
Bit ’b’ in register ’f’ is set.
1
1
BSF
FLAG_REG, 7
Before Instruction
FLAG_REG = 0x0A
After Instruction
FLAG_REG = 0x8A
BTFSC
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example
Bit Test, Skip if Clear
[ label ] BTFSC f,b
0 ≤ f ≤ 127
0≤b≤7
skip if (f<b>) = 0
None
01
10bb bfff ffff
If bit ’b’ in register ’f’ is ’0’, then the next
instruction is skipped.
If bit ’b’ is ’0’, then the next instruction
fetched during the current instruction
execution is discarded, and a NOP is
executed instead, making this a
two-cycle instruction.
1
1(2)
HERE
FALSE
TRUE
BTFSC
GOTO
•
•
•
FLAG,1
PROCESS_CODE
Before Instruction
PC = address HERE
After Instruction
if FLAG<1> = 0,
PC = address TRUE
if FLAG<1>=1,
PC = address FALSE
DS40182C-page 68
© 1999 Microchip Technology Inc.