Assembler Reference
3-20
Copyright © 2000, 2001 ARM Limited. All rights reserved.
ARM DUI 0068B
3.6.3
Numeric expressions
Numeric expressions consist of combinations of numeric constants, numeric variables,
ordinary numeric literals, binary operators, and parentheses. See:
•
Numeric constants
on page 3-13
•
Variables
on page 3-13
•
Numeric literals
on page 3-21
•
Binary operators
on page 3-28
•
SETA, SETL, and SETS
on page 7-7.
Numeric expressions can contain register-relative or program-relative expressions if the
overall expression evaluates to a value that does not include a register or the program
counter.
Numeric expressions evaluate to 32-bit integers. You can interpret them as unsigned
numbers in the range 0 to 2
32
– 1, or signed numbers in the range –2
31
to 2
31
– 1.
However, the assembler makes no distinction between –
n
and 2
32
–
n
. Relational
operators such as >= use the unsigned interpretation. This means that 0 > –1 is
{FALSE}
.
Example
a SETA 256*256 ; 256*256 is a numeric expression
MOV r1,#(a*22) ; (a*22) is a numeric expression