ARM VERSION 1.2 Computer Hardware User Manual


 
Thumb Instruction Reference
5-26 Copyright © 2000, 2001 ARM Limited. All rights reserved. ARM DUI 0068B
5.3.3 CMP and CMN
Compare and Compare Negative.
Syntax
CMP Rn, #expr
CMP Rn, Rm
CMN Rn, Rm
where:
Rn
is the register containing the first operand.
expr
is an expression that evaluates (at assembly time) to an integer in the
range 0-255.
Rm
is a register containing the second operand.
Usage
These instructions update the condition flags, but do not place a result in a register.
The
CMP
instruction subtracts the value of
expr
, or the value in
Rm
, from the value in
Rn
.
The
CMN
instruction adds the values in
Rm
and
Rn
.
Restrictions
In
CMP Rn,#expr
, and
CMN
instructions,
Rn
and
Rm
must be in the range r0 to r7.
In
CMP Rn,Rm
instructions,
Rn
and
Rm
can be any register r0 to r15.
Condition flags
These instructions update the N, Z, C, and V flags according to the result.
Architectures
These instructions are available in all T variants of the architecture.