
PIC18F6585/8585/6680/8680
DS30491C-page 386
2004 Microchip Technology Inc.
GOTO
Unconditional Branch
Syntax:
[ label ]
GOTO k
Operands:
0
≤ k ≤ 1048575
Operation:
k
→ PC<20:1>
Status Affected:
None
Encoding:
1st word (k<7:0>)
2nd word(k<19:8>)
1110
1111
k19kkk
k7kkk
kkkk
kkkk0
kkkk8
Description:
GOTO
allows an unconditional
branch anywhere within entire
2-Mbyte memory range. The 20-bit
value ‘k’ is loaded into PC<20:1>.
GOTO
is always a two-cycle
instruction.
Words:
2
Cycles:
2
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read literal
‘k’<7:0>,
No
operation
Read literal
‘k’<19:8>,
Write to PC
No
operation
No
operation
No
operation
No
operation
Example:
GOTO THERE
After Instruction
PC =
Address (THERE)
INCF
Increment f
Syntax:
[ label ]
INCF
f [,d [,a]]
Operands:
0
≤ f ≤ 255
d
∈ [0,1]
a
∈ [0,1]
Operation:
(f) + 1
→ dest
Status Affected:
C, DC, N, OV, Z
Encoding:
0010
10da
ffff
Description:
The contents of register ‘f’ are
incremented. If ‘d’ is ‘0’, the result
is placed in W. If ‘d’ is ‘1’, the result
is placed back in register ‘f’
(default). If ‘a’ is ‘0’, the Access
Bank will be selected, overriding
the BSR value. If ‘a’ = 1, then the
bank will be selected as per the
BSR value (default).
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ‘f’
Process
Data
Write to
destination
Example:
INCF
CNT,
1, 0
Before Instruction
CNT
=
0xFF
Z=
0
C=
?
DC
=
?
After Instruction
CNT
=
0x00
Z=
1
C=
1
DC
=
1