
PIC18F2480/2580/4480/4580
DS39637A-page 374
Preliminary
2004 Microchip Technology Inc.
BTFSC
BTFSS
Example:
Bit Test File, Skip if Clear
Syntax:
BTFSC f, b {,a}
Operands:
0
≤
f
≤
255
0
≤
b
≤
7
a
∈
[0,1]
Operation:
skip if (f<b>) =
0
Status Affected:
None
Encoding:
1011
bbba
ffff
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 a
NOP
is executed instead, making
this a two-cycle instruction.
If ‘a(chǎn)’ is ‘
0
’, the Access Bank is selected. If
‘a(chǎn)’ is ‘
1
’, the BSR is used to select the
GPR bank (default).
If ‘a(chǎn)’ is ‘
0
’ and the extended instruction set
is enabled, this instruction operates in
Indexed Literal Offset Addressing
mode whenever f
≤
95 (5Fh).
See
Section 25.2.3 “Byte-Oriented and
Bit-Oriented Instructions in Indexed
Literal Offset Mode”
for details.
Words:
1
Cycles:
1(2)
Note:
3 cycles if skip and followed
by a 2-word instruction.
Q Cycle Activity:
Q1
Q2
Q3
Q4
No
Decode
Read
register ‘f’
Process
Data
operation
If skip:
Q1
No
Q2
No
Q3
No
Q4
No
operation
operation
operation
operation
If skip and followed by 2-word instruction:
Q1
No
operation
No
operation
Q2
No
Q3
No
Q4
No
operation
No
operation
operation
No
operation
operation
No
operation
Example:
HERE
FALSE
TRUE
BTFSC
:
:
FLAG, 1, 0
Before Instruction
PC
After Instruction
If FLAG<1>
=
address
(HERE)
=
=
=
=
0;
address
(TRUE)
1;
address
(FALSE)
PC
If FLAG<1>
PC
Bit Test File, Skip if Set
Syntax:
BTFSS f, b {,a}
Operands:
0
≤
f
≤
255
0
≤
b < 7
a
∈
[0,1]
Operation:
skip if (f<b>) =
1
Status Affected:
None
Encoding:
1010
bbba
ffff
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 a
NOP
is executed instead, making
this a two-cycle instruction.
If ‘a(chǎn)’ is ‘
0
’, the Access Bank is selected. If
‘a(chǎn)’ is ‘
1
’, the BSR is used to select the
GPR bank (default).
If ‘a(chǎn)’ is ‘
0
’ and the extended instruction
set is enabled, this instruction operates
in Indexed Literal Offset Addressing
mode whenever f
≤
95 (5Fh).
See
Section 25.2.3 “Byte-Oriented and
Bit-Oriented Instructions in Indexed
Literal Offset Mode”
for details.
Words:
1
Cycles:
1(2)
Note:
3 cycles if skip and followed
by a 2-word instruction.
Q Cycle Activity:
Q1
Q2
Q3
Q4
No
Decode
Read
register ‘f’
Process
Data
operation
If skip:
Q1
No
Q2
No
Q3
No
Q4
No
operation
operation
operation
operation
If skip and followed by 2-word instruction:
Q1
No
operation
No
operation
Q2
No
Q3
No
Q4
No
operation
No
operation
operation
No
operation
operation
No
operation
HERE
FALSE
TRUE
BTFSS
:
:
FLAG, 1, 0
Before Instruction
PC
After Instruction
If FLAG<1>
=
address
(HERE)
=
=
=
=
0;
address
(FALSE)
1;
address
(TRUE)
PC
If FLAG<1>
PC