Datasheet
1998-2013 Microchip Technology Inc. DS30289C-page 213
PIC17C7XX
INCF Increment f
Syntax: [ label ] INCF f,d
Operands: 0 f 255
d [0,1]
Operation: (f) + 1 (dest)
Status Affected: OV, C, DC, Z
Encoding:
0001 010d ffff ffff
Description:
The contents of register 'f' are incre-
mented. If 'd' is 0, the result is placed in
WREG. If 'd' is 1, the result is placed
back in register 'f'.
Words: 1
Cycles: 1
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register 'f'
Process
Data
Write to
destination
Example:
INCF CNT, 1
Before Instruction
CNT = 0xFF
Z=0
C=?
After Instruction
CNT = 0x00
Z=1
C=1
INCFSZ Increment f, skip if 0
Syntax: [ label ] INCFSZ f,d
Operands: 0 f 255
d [0,1]
Operation: (f) + 1 (dest)
skip if result = 0
Status Affected: None
Encoding:
0001 111d ffff ffff
Description:
The contents of register 'f' are incre-
mented. If 'd' is 0, the result is placed in
WREG. 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
and a NOP is executed instead, making
it a two-cycle instruction.
Words: 1
Cycles: 1(2)
Q Cycle Activity:
Q1 Q2 Q3 Q4
Decode Read
register 'f'
Process
Data
Write to
destination
If skip:
Q1 Q2 Q3 Q4
No
operation
No
operation
No
operation
No
operation
Example:
HERE INCFSZ CNT, 1
NZERO :
ZERO :
Before Instruction
PC = Address (HERE)
After Instruction
CNT = CNT + 1
If CNT = 0;
PC = Address(ZERO)
If CNT 0;
PC = Address(NZERO)