
PIC16F627A/628A/648A
DS40044G-page 124
2009 Microchip Technology Inc.
INCF
Increment f
Syntax:
[ label ] INCF f,d
Operands:
0
≤ f ≤ 127
d
∈ [0,1]
Operation:
(f) + 1
→ (dest)
Status Affected:
Z
Encoding:
00
1010
dfff
ffff
Description:
The contents of register ‘f’ are
incremented. If ‘d’ is ‘0’, the
result is placed in the W register.
If ‘d’ is ‘1’, the result is placed
back in register ‘f’.
Words:
1
Cycles:
1
Example
INCF
REG1, 1
Before Instruction
REG1 = 0xFF
Z= 0
After Instruction
REG1 = 0x00
Z= 1
INCFSZ
Increment f, Skip if 0
Syntax:
[ label ] INCFSZ f,d
Operands:
0
≤ f ≤ 127
d
∈ [0,1]
Operation:
(f) + 1
→ (dest), skip if result = 0
Status Affected:
None
Encoding:
00
1111
dfff
ffff
Description:
The contents of register ‘f’ are
incremented. If ‘d’ is ‘0’, the
result is placed in the W register.
If ‘d’ is ‘1’, the result is placed
back in register ‘f’.
If the result is ‘0’, the next
instruction, which is already
fetched, is discarded. A NOP is
executed instead making it a
two-cycle instruction.
Words:
1
Cycles:
1(2)
Example
HERE
INCFSZ
REG1, 1
GOTO
LOOP
CONTINUE
Before Instruction
PC
= address HERE
After Instruction
REG1 = REG1 + 1
if CNT = 0,
PC = address CONTINUE
if REG1
≠ 0,
PC
= address HERE +1