Datasheet

UM10398 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2014. All rights reserved.
User manual Rev. 12.3 — 10 June 2014 492 of 547
NXP Semiconductors
UM10398
Chapter 28: LPC111x/LPC11Cxx Appendix: ARM Cortex-M0 reference
28.5.5.4.1 Syntax
CMN Rn, Rm
CMP Rn, #imm
CMP Rn, Rm
where:
Rn is the register holding the first operand.
Rm is the register to compare with.
imm is the immediate value to compare with.
28.5.5.4.2 Operation
These instructions compare the value in a register with either the value in another register
or an immediate value. They update the condition flags on the result, but do not write the
result to a register.
The CMP instruction subtracts either the value in the register specified by Rm, or the
immediate imm from the value in Rn and updates the flags. This is the same as a SUBS
instruction, except that the result is discarded.
The CMN instruction adds the value of Rm to the value in Rn and updates the flags. This
is the same as an ADDS instruction, except that the result is discarded.
28.5.5.4.3 Restrictions
For the:
CMN
instruction Rn, and Rm must only specify R0-R7.
CMP instruction:
Rn and Rm can specify R0-R14
immediate must be in the range 0-255.
28.5.5.4.4 Condition flags
These instructions update the N, Z, C and V flags according to the result.
28.5.5.4.5 Examples
CMP R2, R9
CMN R0, R2
28.5.5.5 MOV and MVN
Move and Move NOT.
28.5.5.5.1 Syntax
MOV{S} Rd, Rm
MOVS Rd, #imm