asm-declaration gives the ability to embed assembly language source code within a C++ program. This declaration 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.

Contents

The string_literal 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.

As other block declarations, this 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.

This section is incompleteReason: write a note on GCC extended assembly syntax, since it is now supported by Intel, IBM, Sun (as of v12), etc