还有什么好说的?只是,x86 bts
、btr
、btc
指令在或多或少的电流芯片 (PIII+) 上是原子的吗?
特别。当ebx + n
是偶数时,以下原子是原子吗?
BTS WORD PTR [ebx + n]
不,像这样的读取-修改-写入指令从来都不是原子的。 像这样的指令被转换为执行引擎实际执行的微操作,类似RISC的指令。
你可以让它原子化,给它 LOCK 前缀。 查看英特尔处理器手册的卷 2A 以获取背景信息。