「ロック」が前に付いたアセンブリ命令はアトミックであると言われています。「ロック」が 1 つのアセンブリ命令にのみ影響するかどうかを知りたいです。アセンブリ命令自体はアトミックではありませんか?
Linux カーネルのアトミック関数の例を次に示します。
static __inline__ int atomic_sub_and_test(int i, atomic_t *v)
{ unsigned char c;
__asm__ __volatile__(
LOCK "subl %2,%0; sete %1"
:"=m" (v->counter), "=qm" (c)
:"ir" (i), "m" (v->counter) : "memory");
return c; }
この例では、subl と sete を中断できますか?