
2006 Microchip Technology Inc.
Advance Information
DS39762A-page 381
PIC18F97J60 FAMILY
INCFSZ
Example:
INFSNZ
Example:
Increment f, Skip if 0
Syntax:
INCFSZ f {,d {,a}}
Operands:
0
≤
f
≤
255
d
∈
[0,1]
a
∈
[0,1]
(f) + 1
→
dest,
skip if result =
0
Operation:
Status Affected:
None
Encoding:
0011
11da
ffff
ffff
Description:
The contents of register ‘f’ are
incremented. If ‘d’ is ‘
0
’, the result is
placed in W. If ‘d’ is ‘
1
’, the result is
placed back in register ‘f’. (default)
If the result is ‘
0
’, the next instruction
which is already fetched is discarded
and a
NOP
is executed instead, making
it 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
Decode
Read
register ‘f’
Process
Data
Write to
destination
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
operation
No
operation
operation
Q2
No
Q3
No
Q4
No
operation
No
operation
operation
No
operation
No
HERE INCFSZ CNT, 1, 0
NZERO :
ZERO :
Before Instruction
PC
After Instruction
CNT
If CNT
PC
If CNT
PC
=
Address
(HERE)
=
=
=
≠
=
CNT + 1
0;
Address
(ZERO)
0;
Address
(NZERO)
Increment f, Skip if not 0
Syntax:
Operands:
INFSNZ f {,d {,a}}
0
≤
f
≤
255
d
∈
[0,1]
a
∈
[0,1]
(f) + 1
→
dest,
skip if result
≠
0
None
Operation:
Status Affected:
Encoding:
Description:
0100
The contents of register ‘f’ are
incremented. If ‘d’ is ‘
0
’, the result is
placed in W. If ‘d’ is ‘
1
’, the result is
placed back in register ‘f’ (default).
10da
ffff
ffff
If the result is not ‘
0
’, the next
instruction which is already fetched is
discarded and a
NOP
is executed
instead, making it 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.
1
1(2)
Note:
3 cycles if skip and followed
by a 2-word instruction.
Words:
Cycles:
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ‘f’
Process
Data
Write to
destination
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
operation
No
operation
operation
Q2
No
Q3
No
Q4
No
operation
No
operation
operation
No
operation
No
HERE INFSNZ REG, 1, 0
ZERO
NZERO
Before Instruction
PC
=
Address
(HERE)
After Instruction
REG
=
REG + 1
If REG
≠
0;
PC
=
Address
(NZERO)
If REG
=
0;
PC
=
Address
(ZERO)