
1996 Microchip Technology Inc.
DS30412C-page 119
PIC17C4X
CPFSEQ
Compare f with WREG,
skip if f = WREG
Syntax:
[
label ] CPFSEQ
f
Operands:
0
≤ f ≤ 255
Operation:
(f) – (WREG),
skip if (f) = (WREG)
(unsigned comparison)
Status Affected:
None
Encoding:
0011
0001
ffff
Description:
Compares the contents of data memory
location 'f' to the contents of WREG by
performing an unsigned subtraction.
If 'f' = WREG then the fetched instruc-
tion is discarded and an NOP is exe-
cuted instead making this a two-cycle
instruction.
Words:
1
Cycles:
1 (2)
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register 'f'
Execute
NOP
If skip:
Q1
Q2
Q3
Q4
Forced NOP
NOP
Execute
NOP
Example:
HERE
CPFSEQ REG
NEQUAL
:
EQUAL
:
Before Instruction
PC Address
=
HERE
WREG
=
?
REG
=
?
After Instruction
If REG
=
WREG;
PC
=
Address (EQUAL)
If REG
≠
WREG;
PC
=
Address (NEQUAL)
CPFSGT
Compare f with WREG,
skip if f > WREG
Syntax:
[
label ] CPFSGT
f
Operands:
0
≤ f ≤ 255
Operation:
(f)
(WREG),
skip if (f) > (WREG)
(unsigned comparison)
Status Affected:
None
Encoding:
0011
0010
ffff
Description:
Compares the contents of data memory
location 'f' to the contents of the WREG
by performing an unsigned subtraction.
If the contents of 'f' > the contents of
WREG then the fetched instruction is
discarded and an NOP is executed
instead making this a two-cycle instruc-
tion.
Words:
1
Cycles:
1 (2)
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register 'f'
Execute
NOP
If skip:
Q1
Q2
Q3
Q4
Forced NOP
NOP
Execute
NOP
Example:
HERE
CPFSGT REG
NGREATER
:
GREATER
:
Before Instruction
PC
=
Address (HERE)
WREG
=
?
After Instruction
If REG
>
WREG;
PC
=
Address (GREATER)
If REG
≤
WREG;
PC
=
Address (NGREATER)