Datasheet

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