
DR
AFT
DR
AFT
DRAFT
DR
D
RAFT
DRAFT
DRA
FT DRAF
D
RAFT DRAFT DRAFT DRAFT DRAFT D
DRAFT
D
RAFT DRA
FT DRAFT DRAFT DRAFT DRA
UM10360_0
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 00.06 — 5 June 2009
655 of 808
NXP Semiconductors
UM10360
Chapter 34: Appendix: Cortex-M3 User Guide
2.5.5 CMP and CMN
Compare and Compare Negative.
2.5.5.1
Syntax
CMP{cond} Rn, Operand2
CMN{cond} Rn, Operand2
where:
cond
is an optional condition code, see
Rn
is the register holding the first operand.
Operand2
is a flexible second operand. See Flexible second operand on page 3-10for
details of the options.
2.5.5.2
Operation
These instructions compare the value in a register with
Operand2
. They update the
condition flags on the result, but do not write the result to a register.
The
CMP
instruction subtracts the value of
Operand2
from the value in
Rn
. This is the same
as a
SUBS
instruction, except that the result is discarded.
The
CMN
instruction adds the value of
Operand2
to the value in
Rn
. This is the same as an
ADDS
instruction, except that the result is discarded.
2.5.5.3
Restrictions
In these instructions:
•
do not use PC
•
Operand2
must not be SP.
2.5.5.4
Condition flags
These instructions update the N, Z, C and V flags according to the result.
2.5.5.5
Examples
CMP
R2, R9
CMN
R0, #6400
CMPGT
SP, R7, LSL #2