Using Assembly Language with C (Using the GNU Compiler Collection (GCC)) (original) (raw)

Next: Other Extensions to C Syntax, Previous: When is a Volatile Object Accessed?, Up: Extensions to the C Language Family [Contents][Index]


6.11 How to Use Inline Assembly Language in C Code

The asm keyword allows you to embed assembler instructions within C code. GCC provides two forms of inline asmstatements. A basic asm statement is one with no operands (see Basic Asm — Assembler Instructions Without Operands), while an _extended asm_statement (see Extended Asm - Assembler Instructions with C Expression Operands) includes one or more operands. The extended form is preferred for mixing C and assembly language within a function and can be used at top level as well with certain restrictions.

You can also use the asm keyword to override the assembler name for a C symbol, or to place a C variable in a specific register.