
1998 Microchip Technology Inc.
Preliminary
DS40182A-page 71
PIC16CE62X
GOTO
Syntax:
Operands:
Operation:
Unconditional Branch
[ label GOTO k
0
≤
k
≤
2047
k
→
PC<10:0>
PCLATH<4:3>
→
PC<12:11>
None
Status Affected:
Encoding:
Description:
10
1kkk
kkkk
kkkk
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.
1
2
Words:
Cycles:
Example
GOTO THERE
After Instruction
PC =
Address
THERE
INCF
Syntax:
Operands:
Increment f
[ label INCF f,d
0
≤
f
≤
127
d
∈
[0,1]
(f) + 1
→
(dest)
Z
Operation:
Status Affected:
Encoding:
Description:
00
1010
dfff
ffff
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
1
Words:
Cycles:
Example
INCF
CNT, 1
Before Instruction
CNT
Z
=
=
0xFF
0
After Instruction
CNT
Z
=
=
0x00
1
INCFSZ
Syntax:
Operands:
Increment f, Skip if 0
[ label INCFSZ f,d
0
≤
f
≤
127
d
∈
[0,1]
(f) + 1
→
(dest), skip if result = 0
None
Operation:
Status Affected:
Encoding:
Description:
00
1111
dfff
ffff
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'.
If the result is 0, the next instruction,
which is already fetched, is discarded.
a two-cycle instruction
.
1
1(2)
Words:
Cycles:
Example
HERE INCFSZ CNT, 1
GOTO LOOP
CONTINUE
Before Instruction
PC
=
address
HERE
After Instruction
CNT
=
CNT + 1
if CNT=
0,
PC
=
address
CONTINUE
if CNT
≠
0,
PC
=
address
HERE +1
IORLW
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Inclusive OR Literal with W
[ label IORLW k
0
≤
k
≤
255
(W) .OR. k
→
(W)
Z
11
1000
kkkk
kkkk
The contents of the W register is
OR’ed with the eight bit literal 'k'. The
result is placed in the W register
.
1
1
Words:
Cycles:
Example
IORLW
0x35
Before Instruction
W
=
0x9A
After Instruction
W
Z
=
=
0xBF
1