PIC18CXX2
Compare f with WREG, skip if f >
WREG
Compare f with WREG, skip if f <
WREG
CPFSGT
CPFSLT
Syntax:
[ label ] CPFSGT f,a
Syntax:
[ label ] CPFSLT f,a
0 ≤ f ≤ 255
Operands:
0 ≤ f ≤ 255
Operands:
a
[0,1]
a
[0,1]
Operation:
Operation:
(f) − (WREG),
(f) – (WREG),
skip if (f) > (WREG)
skip if (f) < (WREG)
(unsigned comparison)
(unsigned comparison)
Status Affected:
Encoding:
None
Status Affected:
Encoding:
None
0110
010a
ffff
ffff
0110
000a
ffff
ffff
Description:
Compares the contents of data
Description:
Compares the contents of data
memory location ’f’ to the contents
memory location 'f' to the contents
of the WREG by performing an
unsigned subtraction.
of WREG by performing an
unsigned subtraction.
If the contents of ’f’ are greater than
If the contents of 'f' are less than
the contents of , then the fetched
instruction is discarded and a NOP
is executed instead making this a
two-cycle instruction. If ’a’ is 0, the
Access Bank will be selected, over-
riding the BSR value. If ’a’ = 1,
then the bank will be selected as
per the BSR value (default).
the contents of WREG, then the
fetched instruction is discarded and
a NOPis executed instead making
this a two-cycle instruction. If ’a’ is
0, the Access Bank will be
selected. If ’a’ is 1 the BSR will not
be overridden (default).
Words:
Cycles:
1
Words:
Cycles:
1
1(2)
1(2)
Note: 3 cycles if skip and followed
by a 2-word instruction
Note: 3 cycles if skip and followed
by a 2-word instruction
Q Cycle Activity:
Q1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Q2
Q3
Q4
Decode
Read
register ’f’
Process
Data
No
operation
Decode
Read
register ’f’
Process
Data
No
operation
If skip:
Q1
If skip:
Q1
Q2
Q3
Q4
Q2
Q3
Q4
No
No
No
No
operation
operation
operation
operation
No
No
No
No
operation
operation
operation
operation
If skip and followed by 2-word instruction:
If skip and followed by 2-word instruction:
Q1
Q2
Q3
Q4
Q1
Q2
Q3
Q4
No
No
No
No
operation
operation
operation
operation
No
No
No
No
operation
operation
operation
operation
No
No
No
No
operation
operation
operation
operation
No
No
No
No
operation
operation
operation
operation
HERE
NLESS
LESS
CPFSLT REG, 1
:
:
Example:
HERE
NGREATER
GREATER
CPFSGT REG, 0
:
:
Example:
Before Instruction
PC
=
=
Address (HERE)
?
Before Instruction
W
PC
WREG
=
=
Address (HERE)
?
After Instruction
If REG
PC
If REG
PC
<
WREG;
Address (LESS)
WREG;
Address (NLESS)
After Instruction
=
If REG
PC
If REG
PC
>
=
≤
WREG;
Address (GREATER)
WREG;
Address (NGREATER)
≥
=
=
7/99 Microchip Technology Inc.
Preliminary
DS39026B-page 209