
PIC17C4X
DS30412C-page 124
1996 Microchip Technology Inc.
INFSNZ
Increment f, skip if not 0
Syntax:
[
label]
INFSNZ f,d
Operands:
0
≤ f ≤ 255
d
∈ [0,1]
Operation:
(f) + 1
→ (dest), skip if not 0
Status Affected:
None
Encoding:
0010
010d
ffff
Description:
The contents of register 'f' are incre-
mented. If 'd' is 0 the result is placed in
WREG. If 'd' is 1 the result is placed
back in register 'f'.
If the result is not 0, the next instruction,
which is already fetched, is discarded,
and an NOP is executed instead making
it a two-cycle instruction.
Words:
1
Cycles:
1(2)
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register 'f'
Execute
Write to
destination
If skip:
Q1
Q2
Q3
Q4
Forced NOP
NOP
Execute
NOP
Example:
HERE
INFSNZ
REG, 1
ZERO
NZERO
Before Instruction
REG
=
REG
After Instruction
REG
=
REG + 1
If REG
=
1;
PC =
Address (ZERO)
If REG
=
0;
PC =
Address (NZERO)
IORLW
Inclusive OR Literal with WREG
Syntax:
[
label ]
IORLW k
Operands:
0
≤ k ≤ 255
Operation:
(WREG) .OR. (k)
→ (WREG)
Status Affected:
Z
Encoding:
1011
0011
kkkk
Description:
The contents of WREG are OR’ed with
the eight bit literal 'k'. The result is
placed in WREG.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
literal 'k'
Execute
Write to
WREG
Example:
IORLW
0x35
Before Instruction
WREG
=
0x9A
After Instruction
WREG
=
0xBF