
PIC18F2480/2580/4480/4580
DS39637A-page 378
Preliminary
2004 Microchip Technology Inc.
COMF
CPFSEQ
Example:
Complement f
Syntax:
COMF f {,d {,a}}
Operands:
0
≤
f
≤
255
d
∈
[0,1]
a
∈
[0,1]
→
dest
(f)
Operation:
Status Affected:
N, Z
Encoding:
0001
11da
ffff
ffff
Description:
The contents of register ‘f’ are
complemented. If ‘d’ is ‘
1
’, the result is
stored in W. If ‘d’ is ‘
0
’, the result is
stored back in register ‘f’ (default).
If ‘a(chǎn)’ is ‘
0
’, the Access Bank is selected.
If ‘a(chǎn)’ is ‘
1
’, the BSR is used to select the
GPR bank (default).
If ‘a(chǎn)’ is ‘
0
’ and the extended instruction
set is enabled, this instruction operates
in Indexed Literal Offset Addressing
mode whenever f
≤
95 (5Fh). See
Section 25.2.3 “Byte-Oriented and
Bit-Oriented Instructions in Indexed
Literal Offset Mode”
for details.
Words:
1
Cycles:
1
Q Cycle Activity:
Q1
Q2
Q3
Q4
Decode
Read
register ‘f’
Process
Data
Write to
destination
Example:
COMF
REG, 0, 0
Before Instruction
REG
After Instruction
REG
W
=
13h
=
=
13h
ECh
Compare f with W, Skip if f = W
Syntax:
Operands:
CPFSEQ f {,a}
0
≤
f
≤
255
a
∈
[0,1]
(f) – (W),
skip if (f) = (W)
(unsigned comparison)
None
Operation:
Status Affected:
Encoding:
Description:
0110
Compares the contents of data memory
location ‘f’ to the contents of W by
performing an unsigned subtraction.
If ‘f’ = W
,
then the fetched instruction is
discarded and a
NOP
is executed
instead, making this a two-cycle
instruction.
If ‘a(chǎn)’ is ‘
0
’, the Access Bank is selected.
If ‘a(chǎn)’ is ‘
0
’, the BSR is used to select the
GPR bank (default).
If ‘a(chǎn)’ is ‘
0
’ and the extended instruction
set is enabled, this instruction operates
in Indexed Literal Offset Addressing
mode whenever f
≤
95 (5Fh). See
Section 25.2.3 “Byte-Oriented and
Bit-Oriented Instructions in Indexed
Literal Offset Mode”
for details.
1
1(2)
Note:
3 cycles if skip and followed
by a 2-word instruction.
001a
ffff
ffff
Words:
Cycles:
Q Cycle Activity:
Q1
Q2
Q3
Q4
No
Decode
Read
register ‘f’
Process
Data
operation
If skip:
Q1
No
Q2
No
Q3
No
Q4
No
operation
operation
operation
operation
If skip and followed by 2-word instruction:
Q1
No
operation
operation
No
operation
operation
Q2
No
Q3
No
Q4
No
operation
No
operation
operation
No
operation
No
HERE CPFSEQ REG, 0
NEQUAL :
EQUAL :
Before Instruction
PC Address
W
REG
After Instruction
If REG
=
=
=
HERE
=
=
≠
=
W;
Address
(EQUAL)
W;
Address
(NEQUAL)
PC
If REG
PC