Technical Support
On-Line Manuals
Compiler User Guide
Describes the optimizing inline assembler and non-optimizing embedded assembler of the ARM compiler, armcc.
6.1 Compiler support for inline assembly language.
6.2 Inline assembler support in the compiler.
6.3 Restrictions on inline assembler support in the compiler.
6.4 Inline assembly language syntax with the __asm keyword in C and C++.
6.5 Inline assembly language syntax with the asm keyword in C++.
6.6 Inline assembler rules for compiler keywords __asm and asm.
6.7 Restrictions on inline assembly operations in C and C++ code.
6.8 Inline assembler register restrictions in C and C++ code.
6.9 Inline assembler processor mode restrictions in C and C++ code.
6.10 Inline assembler Thumb instruction set restrictions in C and C++ code.
6.11 Inline assembler Vector Floating-Point (VFP) restrictions in C and C++ code.
6.12 Inline assembler instruction restrictions in C and C++ code.
6.13 Miscellaneous inline assembler restrictions in C and C++ code.
6.14 Inline assembler and register access in C and C++ code.
6.15 Inline assembler and the # constant expression specifier in C and C++ code.
6.16 Inline assembler and instruction expansion in C and C++ code.
6.17 Expansion of inline assembler instructions that use constants.
6.18 Expansion of inline assembler load and store instructions.
6.19 Inline assembler effect on processor condition flags in C and C++ code.
6.20 Inline assembler expression operands in C and C++ code.
6.21 Inline assembler register list operands in C and C++ code.
6.22 Inline assembler intermediate operands in C and C++ code.
6.23 Inline assembler function calls and branches in C and C++ code.
6.24 Inline assembler branches and labels in C and C++ code.
6.25 Inline assembler and virtual registers.
6.26 Embedded assembler support in the compiler.
6.27 Embedded assembler syntax in C and C++.
6.28 Effect of compiler ARM and Thumb states on embedded assembler.
6.29 Restrictions on embedded assembly language functions in C and C++ code.
6.30 Compiler generation of embedded assembly language functions.
6.31 Access to C and C++ compile-time constant expressions from embedded assembler.
6.32 Differences between expressions in embedded assembler and C or C++.
6.33 Manual overload resolution in embedded assembler.
6.34 __offsetof_base keyword for related base classes in embedded assembler.
6.35 Compiler-supported keywords for calling class member functions in embedded assembler.
6.36 __mcall_is_virtual(D, f).
6.37 __mcall_is_in_vbase(D, f).
6.38 __mcall_offsetof_vbase(D, f).
6.39 __mcall_this_offset(D, f).
6.40 __vcall_offsetof_vfunc(D, f).
6.41 Calling nonstatic member functions in embedded assembler.
6.42 Calling a nonvirtual member function.
6.43 Calling a virtual member function.
6.44 Accessing sp (r13), lr (r14), and pc (r15).
6.45 Differences in compiler support for inline and embedded assembly code.
Related Knowledgebase Articles
Cookie Settings | Terms of Use | Privacy | Accessibility | Trademarks | Contact Us | Feedback
Copyright © 2005-2019 Arm Limited (or its affiliates). All rights reserved.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
Change Settings
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers of your data.