PIC12C67X
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 instruc-
tion fetched during the current
instruction execution is discarded,
and a NOP is executed instead,
making this a 2 cycle instruction.
1
1(2)
HERE
FALSE
TRUE
BTFSC
GOTO
•
•
•
FLAG,1
PROCESS_CO
DE
Before Instruction
PC = address HERE
After Instruction
if FLAG<1> = 0,
PC = address TRUE
if FLAG<1>=1,
PC = address FALSE
© 1999 Microchip Technology Inc.
DS30561B-page 73