Datasheet

PIC16C5X
DS30453E-page 52 Preliminary 1997-2013 Microchip Technology Inc.
BSF Bit Set f
Syntax: [ label ] BSF f,b
Operands: 0 f 31
0 b 7
Operation: 1 (f<b>)
Status Affected: None
Encoding: 0101 bbbf ffff
Description: Bit 'b' in register 'f' is set.
Words: 1
Cycles: 1
Example: BSF FLAG_REG, 7
Before Instruction
FLAG_REG = 0x0A
After Instruction
FLAG_REG = 0x8A
BTFSC Bit Test f, Skip if Clear
Syntax: [ label ] BTFSC f,b
Operands: 0 f 31
0 b 7
Operation: skip if (f<b>) = 0
Status Affected: None
Encoding: 0110 bbbf ffff
Description: 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.
Words: 1
Cycles: 1(2)
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)
BTFSS Bit Test f, Skip if Set
Syntax: [ label ] BTFSS f,b
Operands: 0 f 31
0 b < 7
Operation: skip if (f<b>) = 1
Status Affected: None
Encoding: 0111 bbbf ffff
Description: If bit 'b' in register 'f' is '1' then the
next instruction is skipped.
If bit 'b' is '1', 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.
Words: 1
Cycles: 1(2)
Example: HERE BTFSS FLAG,1
FALSE GOTO PROCESS_CODE
TRUE 

Before Instruction
PC = address (HERE)
After Instruction
If FLAG<1> = 0,
PC = address (FALSE);
if FLAG<1> = 1,
PC = address (TRUE)