
PIC16F62X
DS40300C-page 110
Preliminary
2003 Microchip Technology Inc.
BCF
Bit Clear f
Syntax:
[ label ] BCF
f,b
Operands:
0
≤ f ≤ 127
0
≤ b ≤ 7
Operation:
0
→ (f<b>)
Status Affected:
None
Encoding:
01
00bb
bfff
ffff
Description:
Bit 'b' in register 'f' is cleared.
Words:
1
Cycles:
1
Example
BCF
REG1, 7
Before Instruction
REG1
= 0xC7
After Instruction
REG1
= 0x47
BSF
Bit Set f
Syntax:
[ label ] BSF
f,b
Operands:
0
≤ f ≤ 127
0
≤ b ≤ 7
Operation:
1
→ (f<b>)
Status Affected:
None
Encoding:
01
01bb
bfff
ffff
Description:
Bit 'b' in register 'f' is set.
Words:
1
Cycles:
1
Example
BSF
REG1, 7
Before Instruction
REG1
= 0x0A
After Instruction
REG1
= 0x8A
BTFSC
Bit Test f, Skip if Clear
Syntax:
[ label ] BTFSC f,b
Operands:
0
≤ f ≤ 127
0
≤ b ≤ 7
Operation:
skip if (f<b>) = 0
Status Affected:
None
Encoding:
01
10bb
bfff
ffff
Description:
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.
Words:
1
Cycles:
1(2)
Example
HERE
FALSE
TRUE
BTFSC
GOTO
REG1
PROCESS_CODE
Before Instruction
PC = address HERE
After Instruction
if REG<1> = 0,
PC = address TRUE
if REG<1>=1,
PC = address FALSE