首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >80x86上的原子位域运算?

80x86上的原子位域运算?
EN

Stack Overflow用户
提问于 2009-11-17 18:59:31
回答 1查看 726关注 0票数 1

80x86是否有用于原子测试和设置字的各个位的指令?

EN

回答 1

Stack Overflow用户

发布于 2009-11-17 19:39:32

如果您的意思是将测试和修改比特作为单个原子操作,那么可以使用LOCK前缀将比特测试指令(BT、BTS、BTR和BTC)都变成原子指令。

如果您的意思是以原子方式测试位,然后将位以原子方式设置为单独的操作,则可以使用标准原子读取来测试位,并且可以使用LOCK OR、LOCK AND、LOCK XOR指令修改位。

如果你需要一些更复杂的东西,比如测试一个位,然后设置一个不同的位,你必须在一个重试循环中使用标准的比较和交换CMPXCHG指令。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1748094

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档