基本语法模版

asm(
    <代码>:
    <输出到哪些变量>:
    <从哪些变量输入>:
    <副作用会影响什么>
)

其中每个值如果有多个的话都是用逗号分隔。

输入输出变量

输入输出变量的常用格式为:

"<修饰符><约束>"(<变量>)

约束

  • r 指代某个通用寄存器
  • m 指代某个变量的内存地址, 后面的括号填入的是变量本身而非变量地址
  • i 指代某个立即数

修饰符

  • = 指这个变量/寄存器被写入了,一般所有输出变量都会带上这个。
  • + 指这个变量/寄存器被读取和写入了

副作用会影响什么

这里一般就填一些标记寄存器和 memory