Tyi*_*ilo 4 c llvm inline-assembly
在Xcode中使用Apple LLVM 4.1编译此代码时出现错误:
#include <stdio.h>
int main(int argc, const char * argv[])
{
int a = 1;
printf("a = %d\n", a);
asm volatile(".intel_syntax noprefix;"
"mov [%0], 2;"
:
: "r" (&a)
);
printf("a = %d\n", a);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误是Unknown token in expression.
如果我使用AT&T语法,它工作正常:
asm volatile("movl $0x2, (%0);"
:
: "r" (&a)
: "memory"
);
Run Code Online (Sandbox Code Playgroud)
第一个代码有什么问题?