
PIC18FXX39
DS30485A-page 232
Preliminary
2002 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