PIC16C55X
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
FLAG_REG, 7
Before Instruction
FLAG_REG =
After Instruction
0xC7
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 =
After Instruction
FLAG_REG =
0x0A
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 dis-
carded, 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
DS40143D-page 56
Preliminary
2002 Microchip Technology Inc.