counter) :"ir" (i),"m" (v->counter)); } 大概意思我懂,是要完成加法," />
红联Linux门户
Linux帮助

跪求GNU汇编指导,看内核,有一句话没明白

发布时间:2011-10-21 10:19:47来源:红联作者:Daniel9891
跪求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),这是不是有一点矛盾。
文章评论

共有 0 条评论