PIC16C6X
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
FLAG_REG, 7
Before Instruction
FLAG_REG = 0xC7
After Instruction
FLAG_REG = 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
register
'f'
Process Write
data register 'f'
Example
BSF
FLAG_REG, 7
Before Instruction
FLAG_REG = 0x0A
After Instruction
FLAG_REG = 0x8A
DS30234D-page 146
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 Process
No-
register 'f' data 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> = 0,
PC = address TRUE
if FLAG<1>=1,
PC = address FALSE
© 1997 Microchip Technology Inc.