所有文档都使用 AT&T 语法。
int EAX;
asm( "movl $5, %0"
: "=a" (EAX)
);
如何使用 Intel 语法重写它?
int EAX;
asm(
".intel_syntax noprefix;"
"mov %0, 5"
:"=a"(EAX)
);
不起作用:
error: unknown token in expression
asm(".intel_syntax noprefix;"
^
<inline asm>:1:29: note: instantiated into assembly here
.intel_syntax noprefix;mov %0, 5