Search notes:
GNU inline assembly
The gnu compile is instucted to insert inline assembly code with the asm or __asm__ keyword.
The general form of asm() is:
asm (
"assembler code" :
outputs :
inputs :
clobbers
);
The compiler does not parse the passed assembler instructions.
Outputs and inputs
The outputs and the inputs is a list of comma separated operands.
Operands
An operand is described by an operand-constraint string followed by a C expression in parentheses.
Output operands are indicated by an = sign. Of course, these must be lvalues.
Operand constraint strings
-
rm: register or memory
-
ri: register or immediate
-
g: general (anything that the compiler chooses)
- …