29.10.2014 Views

ARM Compiler toolchain v4.1 for µVision Using the Compiler

ARM Compiler toolchain v4.1 for µVision Using the Compiler

ARM Compiler toolchain v4.1 for µVision Using the Compiler

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Using</strong> <strong>the</strong> Inline and Embedded Assemblers of <strong>the</strong> <strong>ARM</strong> <strong>Compiler</strong><br />

7.31 <strong>Compiler</strong> support <strong>for</strong> embedded assembler<br />

The compiler enables you to include assembly code out-of-line in one or more C or C++<br />

function definitions. Embedded assembler provides unrestricted, low-level access to <strong>the</strong> target<br />

processor, enables you to use <strong>the</strong> C and C++ preprocessor directives, and gives easy access to<br />

structure member offsets.<br />

7.31.1 See also<br />

Concepts<br />

• Embedded assembler syntax in C and C++ on page 7-37<br />

• Effect of compiler <strong>ARM</strong> and Thumb states on embedded assembler on page 7-39<br />

• Restrictions on embedded assembly language functions in C and C++ code on page 7-40<br />

• Differences between expressions in embedded assembler and C or C++ on page 7-44<br />

• <strong>Compiler</strong> generation of embedded assembly language functions on page 7-41<br />

• Access to C and C++ compile-time constant expressions from embedded assembler on<br />

page 7-43<br />

• Manual overload resolution in embedded assembler on page 7-45<br />

• __offsetof_base keyword <strong>for</strong> related base classes in embedded assembler on page 7-46<br />

• <strong>Compiler</strong>-supported keywords <strong>for</strong> calling class member functions in embedded assembler<br />

on page 7-47<br />

• Calling nonstatic member functions in embedded assembler on page 7-53<br />

• Calling a nonvirtual member function on page 7-54<br />

• Calling a virtual member function on page 7-55.<br />

<strong>Using</strong> <strong>the</strong> Assembler<br />

Assembler Reference.<br />

<strong>ARM</strong> DUI 0375C Copyright © 2007-2008, 2011 <strong>ARM</strong>. All rights reserved. 7-36<br />

ID061811<br />

Non-Confidential

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!