在我的以下代码注册错误后,GCC 告诉垃圾 `-4(%ebp)':
static __inline__ int xchg_asm(int* lock, int val)
{
int ret;
__asm__ __volatile__(
LOCK "movl %1,%%eax; xchg (%1),%2 ; movl %%eax %0"
:"=m" (ret)
:"d"(lock), "c"(val));
return ret;
}
我看不到如何修改它。