PIC16F688
DECFSZ
Decrement f, Skip if 0
INCFSZ
Increment f, Skip if 0
Syntax:
[ label ] DECFSZ f,d
0 ≤ f ≤ 127
Syntax:
[ label ] INCFSZ f,d
0 ≤ f ≤ 127
Operands:
Operands:
d
[0,1]
d
[0,1]
Operation:
(f) - 1 → (destination);
skip if result = 0
Operation:
(f) + 1 → (destination),
skip if result = 0
Status Affected: None
Status Affected: None
Description:
The contents of register ‘f’ are
Description:
The contents of register ‘f’ are
decremented. If ‘d’ is ‘0’, the result
is placed in the W register. If ‘d’ is
‘1’, the result is placed back in
register ‘f’.
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 ‘1’, the next
instruction is executed. If the
result is ‘0’, then a NOPis
executed instead, making it a
2-cycle instruction.
If the result is ‘1’, the next
instruction is executed. If the
result is ‘0’, a NOPis executed
instead, making it a 2-cycle
instruction.
GOTO
Unconditional Branch
MOVF
Move f
Syntax:
Operands:
[ label ] MOVF f,d
Syntax:
[ label ] GOTO k
0 ≤ k ≤ 2047
0 ≤ f ≤ 127
Operands:
Operation:
d
[0,1]
k → PC<10:0>
Operation:
(f) → (dest)
PCLATH<4:3> → PC<12:11>
Status Affected:
Encoding:
Z
Status Affected: None
00
1000
dfff
ffff
Description:
GOTOis an unconditional branch.
The eleven-bit immediate value is
loaded into PC bits <10:0>. The
upper bits of PC are loaded from
PCLATH<4:3>. GOTOis a
Description:
The contents of register f is
moved to a destination dependent
upon the status of d. If d = 0,
destination is W register. If d = 1,
the destination is file register f
itself. d = 1is useful to test a file
register since status flag Z is
affected.
two-cycle instruction.
INCF
Increment f
Words:
Cycles:
Example
1
1
Syntax:
[ label ] INCF f,d
0 ≤ f ≤ 127
Operands:
d
[0,1]
MOVF
FSR,
0
Operation:
(f) + 1 → (destination)
After Instruction
W
register
Z
=
value in FSR
Status Affected:
Description:
Z
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’.
=
1
2004 Microchip Technology Inc.
Preliminary
DS41203B-page 123