How to Use Inline Assembly Language in C Code - Using the GNU Compiler Collection 13.0.0 (experimental 20221114) documentation
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 — 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, but to include assembly language at
top level you must use basic asm.
https://gcc.gnu.org/onlinedocs/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.html