Datasheet

2003 Microchip Technology Inc. Preliminary DS40300C-page 113
PIC16F62X
DECFSZ Decrement f, Skip if 0
Syntax: [ label ] DECFSZ f,d
Operands: 0 f 127
d [0,1]
Operation: (f) - 1 (dest); skip if result =
0
Status Affected: None
Encoding:
00 1011 dfff ffff
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'.
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 DECFSZ REG1, 1
GOTO LOOP
CONTINUE •
Before Instruction
PC =
address HERE
After Instruction
REG1 = REG1 - 1
if REG1 = 0,
PC = address CONTINUE
if REG1 0,
PC = address HERE+1
GOTO Unconditional Branch
Syntax: [ label ] GOTO k
Operands: 0 k 2047
Operation: k PC<10:0>
PCLATH<4:3> PC<12:11>
Status Affected: None
Encoding:
10 1kkk kkkk kkkk
Description: GOTO is 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>. GOTO is a two-
cycle instruction.
Words: 1
Cycles: 2
Example
GOTO THERE
After Instruction
PC = Address THERE