
PIC16F8X
DS30430C-page 58
1998 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
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register
’f’
Process
data
Write
register ’f’
Example
BCF
FLAG_REG, 7
Before Instruction
FLAG_REG = 0xC7
After Instruction
FLAG_REG = 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
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register
’f’
Process
data
Write
register ’f’
Example
BSF
FLAG_REG,
7
Before Instruction
FLAG_REG = 0x0A
After Instruction
FLAG_REG = 0x8A
BTFSC
Bit Test, 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 ’1’ then the next
instruction is executed.
If bit ’b’, in register ’f’, is ’0’ then the next
instruction is discarded, and a NOP is
executed instead, making this a 2TCY
instruction
.
Words:
1
Cycles:
1(2)
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ’f’
Process
data
No-Operat
ion
If Skip:
(2nd Cycle)
Q1
Q2
Q3
Q4
No-Operat
ion
No-Operati
on
No-Opera
tion
No-Operat
ion
Example
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