PIC16C925/926
BCF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
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
Q1
Q2
Q3
Q4
Decode
Read
register
’f’
Process Write
data register ’f’
Example
BCF
Before Instruction:
FLAG_REG =
After Instruction:
FLAG_REG =
FLAG_REG, 7
0xC7
0x47
BSF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
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
Q1
Q2
Q3
Q4
Decode Read Process Write
register data register ’f’
’f’
Example
BSF
FLAG_REG, 7
Before Instruction:
FLAG_REG =
After Instruction:
FLAG_REG =
0x0A
0x8A
BTFSC
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Q Cycle Activity:
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 ’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.
1
1(2)
Q1
Q2
Q3
Q4
Decode
Read
register ’f’
Process
data
No
Operation
If Skip:
(2nd Cycle)
Q1
Q2
Q3
Q4
No
No
No
No
Operation Operation Operation Operation
Example
HERE
FALSE
TRUE
BTFSC
GOTO
•
•
•
FLAG,1
PROCESS_CODE
Before Instruction:
PC
= address HERE
After Instruction:
if FLAG<1> =
PC
=
if FLAG<1> =
PC
=
0,
address TRUE
1,
address FALSE
2001 Microchip Technology Inc.
Preliminary
DS39544A-page 117