https://www.cnblogs.com/kongj/p/14031770.html
asm asm-qualifiers ( AssemblerTemplate
: OutputOperands
[ : InputOperands
[ : Clobbers ] ])
asm asm-qualifiers ( AssemblerTemplate
:
: InputOperands
: Clobbers
: GotoLabels)
OutputOperands
表示输出变量,InputOperands
表示输入变量,Clobbers
表示副作用(asm 块中可能修改的寄存器、内存)等
%n
代表第 n 个输入/输出
AT&T 语法中寄存器要加 %
前缀,因此 %
需要被跳脱。拓展内联汇编中,%
要写成 rax
%=
生成在所有 asm 块中唯一的数字,这个功能用于生成不重复的 local label 供跳转指令使用
r
: 通用寄存器i
: 在汇编时或运行时可以确定的立即数n
: 可以直接确定的立即数,如整形字面量g
: 任意通用寄存器、内存、立即数