Using the GNU Compiler Collection (GCC): Using Assembly Language with C |
---|
Next: Alternate Keywords, 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, but to include assembly language at
top level you must use basic asm
.
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 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.
|