Using the GNU Compiler Collection (GCC): Constraints |
---|
Next: Asm Labels, Previous: Extended Asm, Up: Using Assembly Language with C [Contents][Index]
asm
OperandsHere are specific details on what constraint letters you can use with
asm
operands.
Constraints can say whether
an operand may be in a register, and which kinds of register; whether the
operand can be a memory reference, and which kinds of address; whether the
operand may be an immediate constant, and which possible values it may
have. Constraints can also require two operands to match.
Side-effects aren’t allowed in operands of inline asm
, unless
‘<’ or ‘>’ constraints are used, because there is no guarantee
that the side-effects will happen exactly once in an instruction that can update
the addressing register.
• Simple Constraints: | Basic use of constraints. | |
• Multi-Alternative: | When an insn has two alternative constraint-patterns. | |
• Modifiers: | More precise control over effects of constraints. | |
• Machine Constraints: | Special constraints for some particular machines. |