EasyManua.ls Logo

ARM Cortex-M4 - Absolute Value; Compare and Update Value

ARM Cortex-M4
276 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
The Cortex-M4 Instruction Set
ARM DUI 0553A Copyright © 2010 ARM. All rights reserved. 3-20
ID121610 Non-Confidential
Example 3-1 shows the use of a conditional instruction to find the absolute value of a number.
R0
=
abs
(
R1
).
Example 3-1 Absolute value
MOVS R0, R1 ; R0 = R1, setting flags
IT MI ; skipping next instruction if value 0 or positive
RSBMI R0, R0, #0 ; If negative, R0 = -R0
Example 3-2 shows the use of conditional instructions to update the value of
R4
if the signed
values
R0
is greater than
R1
and
R2
is greater than
R3
.
Example 3-2 Compare and update value
CMP R0, R1 ; Compare R0 and R1, setting flags
ITT GT ; Skip next two instructions unless GT condition holds
CMPGT R2, R3 ; If 'greater than', compare R2 and R3, setting flags
MOVGT R4, R5 ; If still 'greater than', do R4 = R5
VS
V = 1 Overflow
VC
V = 0 No overflow
HI
C = 1 and Z = 0 Higher, unsigned
LS
C = 0 or Z = 1 Lower or same, unsigned
GE
N = V Greater than or equal, signed
LT
N != V Less than, signed
GT
Z = 0 and N = V Greater than, signed
LE
Z = 1 and N != V Less than or equal, signed
AL
Can have any value Always. This is the default when no suffix is specified.
Table 3-4 Condition code suffixes (continued)
Suffix Flags Meaning

Table of Contents

Related product manuals