c/language/asm

Inline assembly (typically introduced by the keyword) gives the ability to embed assembly language source code within a C program.

Unlike in C++, inline assembly is treated as an extension in C. It is conditionally supported and implementation defined, meaning that it may not be present and, even when provided by the implementation, it does not have a fixed meaning.

Explanation
This kind of inline assembly syntax is accepted by the C++ standard and called asm-declaration in C++. The is typically a short program written in assembly language, which is executed whenever this declaration is executed. Different C compilers have wildly varying rules for asm-declarations, and different conventions for the interaction with the surrounding C code.

asm-declaration can appear inside a block (a function body or another compound statement), and, as all other declarations, this declaration can also appear outside a block.