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)
- …