An inline assembly expression.
Every assembly node is equivalent to:
asm(
{{ node.text }} :
{{ node.outputs.splat }} :
{{ node.inputs.splat }} :
{{ node.clobbers.splat }} :
{% if node.volatile? %} "volatile", {% end %}
{% if node.alignstack? %} "alignstack", {% end %}
{% if node.intel? %} "intel", {% end %}
{% if node.can_throw? %} "unwind", {% end %}
) Returns whether the assembly expression requires stack alignment code.
Returns whether the assembly expression might unwind the stack.
Returns an array of clobbered register names for this assembly expression.
Returns an array of input operands for this assembly expression.
Returns true if the template string uses the Intel syntax, false if it uses the AT&T syntax.
Returns an array of output operands for this assembly expression.
Returns the template string for this assembly expression.
Crystal::Macros::ASTNode
Returns whether the assembly expression requires stack alignment code.
Returns whether the assembly expression might unwind the stack.
Returns an array of clobbered register names for this assembly expression.
Returns an array of input operands for this assembly expression.
Returns true if the template string uses the Intel syntax, false if it uses the AT&T syntax.
Returns an array of output operands for this assembly expression.
Returns the template string for this assembly expression.
© 2012–2026 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.19.0/Crystal/Macros/Asm.html