Datasheet
PIC12C67X
DS30561C-page 76 1997-2013 Microchip Technology Inc.
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
INCF Increment f
Syntax: [
label
] INCF f,d
Operands: 0 f 127
d [0,1]
Operation: (f) + 1 (dest)
Status Affected: Z
Encoding:
00 1010 dfff ffff
Description: 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 reg-
ister 'f'.
Words: 1
Cycles: 1
Example
INCF CNT,
1
Before Instruction
CNT = 0xFF
Z=0
After Instruction
CNT = 0x00
Z=1
INCFSZ Increment f, Skip if 0
Syntax: [
label
] INCFSZ f,d
Operands: 0 f 127
d [0,1]
Operation: (f) + 1 (dest), skip if result = 0
Status Affected: None
Encoding:
00 1111 dfff ffff
Description: 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 reg-
ister 'f'.
If the result is 0, the next instruc-
tion, which is already fetched, is
discarded. A NOP is executed
instead making it a two cycle
instruction.
Words: 1
Cycles: 1(2)
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 Inclusive OR Literal with W
Syntax: [
label
] IORLW k
Operands: 0 k 255
Operation: (W) .OR. k (W)
Status Affected: Z
Encoding:
11 1000 kkkk kkkk
Description: The contents of the W register are
OR’ed with the eight bit literal 'k'.
The result is placed in the W reg-
ister.
Words: 1
Cycles: 1
Example
IORLW 0x35
Before Instruction
W = 0x9A
After Instruction
W= 0xBF
Z=1