Datasheet
PIC12C5XX
DS40139E-page 50 1999 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 instruction
fetched during the current instruction
execution is discarded, and an 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 instruction
fetched during the current instruction
execution, is discarded and an 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)