被gcc内嵌汇编中的&修饰符困扰了好久,一直不知道在输出列表(output list)中,=与=&有什么区别。今天找到了答案。
例1:
int output;
int a, b, c, d, e, f;
asm volatile ("mov %%cs, %0\n\t"
"inc %1\n\t"
"inc %2\n\t"
"inc %3\n\t"
"inc %4\n\t"
"inc %5\n\t"
"inc %6\n\t"
: "=&r"(output)
: "a"(a), "b"(b), "c"(c), "d"(d), "S"(e), "D"(d));
这段代码(在x