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. |
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Using-Assembly-Language-with-C.html