Assembler User GuidePreface Overview of the Assembler Overview of the ARM Architecture Structure of Assembly Language Modules Writing ARM Assembly Language Condition Codes Using the Assembler Symbols, Literals, Expressions, and Operators Symbol naming rules Variables Numeric constants Assembly time substitution of variables Register-relative and PC-relative expressions Labels Labels for PC-relative addresses Labels for register-relative addresses Labels for absolute addresses Numeric local labels Syntax of numeric local labels String expressions String literals Numeric expressions Syntax of numeric literals Syntax of floating-point literals Logical expressions Logical literals Unary operators Binary operators Multiplicative operators String manipulation operators Shift operators Addition, subtraction, and logical operators Relational operators Boolean operators Operator precedence Difference between operator precedence in assembly VFP Programming Assembler Command-line Options ARM and Thumb Instructions VFP Instructions Directives Reference Via File Syntax
Difference between operator precedence in assembly language and C
7.28 Difference between operator precedence in assembly language and C
armasm does not follow exactly the same order of precedence when evaluating operators as a C compiler.
ARM® recommends you use brackets to make the precedence explicit.
If your code contains an expression that would parse differently in C, and you are not using the
A1466W: Operator precedence means that expression would evaluate differently in C
In the following tables:
The following table shows the order of precedence of operators in assembly language, and a comparison with the order in C.
Table 7-9 Operator precedence in ARM assembly language
The following table shows the order of precedence of operators in C.
Table 7-10 Operator precedence in C
of your data.