还有什么要说的?只是,x86 bts
,btr
,btc
指令是原子的所有内存操作数,或多或少是当前的芯片(PIII +)?
特别地。当ebx + n
是偶数时,以下是原子吗?
BTS WORD PTR [ebx + n]
答案 0 :(得分:2)
不,这样的读 - 修改 - 写指令绝不是原子的。像这样的指令被转换为微操作,类似RISC的指令,执行引擎实际执行。
你可以使其成为原子,给它LOCK前缀。检查Intel processor manuals的第2A卷以获取背景信息。