| |||
| Home > Using the Inline and Embedded Assemblers of the ARM Compiler | |||
The following topics describe the optimizing inline assembler and non-optimizing embedded assembler of the ARM compiler, armcc.
Using intrinsics is generally preferable to using inline or embedded assembly language. See Compiler intrinsics.
Inline assembly language syntax with the __asm keyword in C and C++
Restrictions on inline assembly operations in C and C++ code
Inline assembler processor mode restrictions in C and C++ code
Inline assembler Thumb instruction set restrictions in C and C++ code
Inline assembler Vector Floating-Point (VFP) coprocessor restrictions in C and C++ code
Miscellaneous inline assembler restrictions in C and C++ code
Inline assembler and the # constant expression specifier in C and C++ code
Inline assembler and instruction expansion in C and C++ code
Expansion of inline assembler instructions that use constants
Inline assembler effect on processor condition flags in C and C++ code
Inline assembler function calls and branches in C and C++ code
Behavior of BL and SVC without optional lists in C and C++ code
Inline assembler BL and SVC input parameter list in C and C++ code
Inline assembler BL and SVC output value list in C and C++ code
Effect of compiler ARM and Thumb states on embedded assembler
Restrictions on embedded assembly language functions in C and C++ code
Access to C and C++ compile-time constant expressions from embedded assembler
Differences between expressions in embedded assembler and C or C++
__offsetof_base keyword for related base classes in embedded assembler
Compiler-supported keywords for calling class member functions in embedded assembler
Differences in compiler support of inline and embedded assembly code.