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