
2003 Microchip Technology Inc.
Preliminary
DS40300C-page 111
PIC16F62X
BTFSS
Bit Test f, Skip if Set
Syntax:
[ label ] BTFSS f,b
Operands:
0
≤ f ≤ 127
0
≤ b < 7
Operation:
skip if (f<b>) = 1
Status Affected:
None
Encoding:
01
11bb
bfff
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.
Words:
1
Cycles:
1(2)
Example
HERE
FALSE
TRUE
BTFSS
GOTO
REG1
PROCESS_CODE
Before Instruction
PC = address HERE
After Instruction
if FLAG<1> = 0,
PC =
address FALSE
if FLAG<1> = 1,
PC =
address TRUE
CALL
Call Subroutine
Syntax:
[ label ] CALL k
Operands:
0
≤ k ≤ 2047
Operation:
(PC)+ 1
→ TOS,
k
→ PC<10:0>,
(PCLATH<4:3>)
→ PC<12:11>
Status Affected:
None
Encoding:
10
0kkk
kkkk
Description:
Call Subroutine. First, return
address (PC+1) is pushed onto
the stack. The eleven bit
immediate address is loaded
into PC bits <10:0>. The upper
bits of the PC are loaded from
PCLATH. CALL is a two-cycle
instruction.
Words:
1
Cycles:
2
Example
HERE
CALL
THERE
Before Instruction
PC
=
Address HERE
After Instruction
PC
=
Address THERE
TOS =
Address HERE+1
CLRF
Clear f
Syntax:
[ label ] CLRF
f
Operands:
0
≤ f ≤ 127
Operation:
00h
→ (f)
1
→ Z
Status Affected:
Z
Encoding:
00
0001
1fff
ffff
Description:
The contents of register 'f' are
cleared and the Z bit is set.
Words:
1
Cycles:
1
Example
CLRF
REG1
Before Instruction
REG1
=
0x5A
After Instruction
REG1
=
0x00
Z=
1