跪求GNU汇编指导,看内核,有一句话没明白
static __inline__ void atomic_add(int i,atomic_t *v)
{
__asm__ __volatile__(
LOCK "addl %1,%0"
:"=m" (v->counter)
:"ir" (i),"m" (v->counter));
}
大概意思我懂,是要完成加法,但是输入部为什么有两个约束条件。而且我觉得是矛盾的,既然使用了操作数i作为立即数,为什么后面还用上了内存单元(v->counter),这是不是有一点矛盾。