PIC18FXX20
CPFSGT
Compare f with W, skip if f > W
CPFSLT
Compare f with W, skip if f < W
Syntax:
[ label ] CPFSGT f [,a]
Syntax:
[ label ] CPFSLT f [,a]
Operands:
0 ≤ f ≤ 255
a ∈ [0,1]
Operands:
0 ≤ f ≤ 255
a ∈ [0,1]
Operation:
(f) − (W),
skip if (f) > (W)
(unsigned comparison)
Operation:
(f) – (W),
skip if (f) < (W)
(unsigned comparison)
Status Affected:
Encoding:
None
0110
Status Affected:
Encoding:
None
0110
010a
ffff
ffff
000a
ffff
ffff
Description:
Compares the contents of data
memory location 'f' to the contents
of the W by performing an
Description:
Compares the contents of data
memory location 'f' to the contents
of W by performing an unsigned
subtraction.
unsigned subtraction.
If the contents of 'f' are greater than
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, overriding the BSR value.
If ‘a’ = 1, then the bank will be
selected as per the BSR value
(default).
If the contents of 'f' are less than
the contents of W, 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. If ‘a’
is 1, the BSR will not be overridden
(default).
Words:
Cycles:
1
1(2)
Words:
Cycles:
1
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
Q2
Q3
Q4
Q Cycle Activity:
Q1
Decode
Read
Process
No
Q2
Q3
Q4
register 'f'
Data
operation
Decode
Read
Process
No
If skip:
Q1
register 'f'
Data
operation
Q2
Q3
Q4
If skip:
Q1
No
No
No
No
Q2
Q3
Q4
operation
operation
operation
operation
No
No
No
No
If skip and followed by 2-word instruction:
operation
operation
operation
operation
Q1
No
Q2
Q3
No
Q4
If skip and followed by 2-word instruction:
No
operation
No
Q1
No
Q2
Q3
No
Q4
operation
operation
operation
No
operation
No
No
No
operation
No
operation
No
operation
operation
operation
operation
operation
No
operation
No
operation
No
operation
No
operation
HERE
NLESS
LESS
CPFSLT REG, 1
:
:
Example:
HERE
NGREATER
GREATER
CPFSGT REG, 0
:
:
Example:
Before Instruction
PC
=
=
Address (HERE)
W
?
Before Instruction
After Instruction
PC
W
=
=
Address (HERE)
?
If REG
<
=
W;
PC
Address (LESS)
After Instruction
If REG
PC
≥
W;
If REG
>
W;
=
Address (NLESS)
PC
=
≤
=
Address (GREATER)
If REG
PC
W;
Address (NGREATER)
2003 Microchip Technology Inc.
Advance Information
DS39609A-page 277