Next: Syntax Extensions, Previous: Volatiles, Up: C Extensions [Contents][Index]
The asm keyword allows you to embed assembler instructions
within C code. GCC provides two forms of inline asm
statements. A basic asm statement is one with no
operands (see Basic Asm), while an extended asm
statement (see Extended Asm) 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.
| • Basic Asm: | Inline assembler without operands. | |
| • Extended Asm: | Inline assembler with operands. | |
| • Constraints: | Constraints for asm operands
| |
| • Asm constexprs: | C++11 constant expressions instead of string literals. | |
| • Asm Labels: | Specifying the assembler name to use for a C symbol. | |
| • Explicit Register Variables: | Defining variables residing in specified registers. | |
| • Size of an asm: | How GCC calculates the size of an asm block.
|