PIC16C62X
INCFSZ
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example
Increment f, Skip if 0
[ label ] INCFSZ f,d
0 ≤ f ≤ 127
d ∈ [0,1]
(f) + 1 → (dest), skip if result = 0
None
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 instruc-
tion, which is already fetched, is
discarded. A NOP is executed
instead making it a two-cycle
instruction.
1
1(2)
HERE
INCFSZ
GOTO
CONTINUE •
•
•
CNT, 1
LOOP
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:
Words:
Cycles:
Example
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
IORLW 0x35
Before Instruction
W = 0x9A
After Instruction
W = 0xBF
Z=1
DS30235J-page 68
IORWF
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example
Inclusive OR W with f
[ label ] IORWF f,d
0 ≤ f ≤ 127
d ∈ [0,1]
(W) .OR. (f) → (dest)
Z
00
0100 dfff ffff
Inclusive OR the W register with
register 'f'. 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
IORWF
RESULT, 0
Before Instruction
RESULT =
W
=
After Instruction
RESULT =
W
=
Z
=
0x13
0x91
0x13
0x93
1
MOVLW
Syntax:
Operands:
Operation:
Status Affected:
Encoding:
Description:
Words:
Cycles:
Example
Move Literal to W
[ label ] MOVLW k
0 ≤ k ≤ 255
k → (W)
None
11
00xx kkkk kkkk
The eight bit literal 'k' is loaded
into W register. The don’t cares
will assemble as 0’s.
1
1
MOVLW 0x5A
After Instruction
W = 0x5A
2003 Microchip Technology Inc.