gpt4 book ai didi

assembly - ia32/ia64上的ADC和ADCX指令之间有什么区别?

转载 作者:行者123 更新时间:2023-12-03 20:03:22 25 4
gpt4 key购买 nike

遇到ADCX指令时,我正在浏览Intel软件开发人员手册,该指令以前是我所不知道的。其编码为66 0F 38 F6。它似乎与ADC指令几乎相同,因此为什么在以下情况下使用ADCX


仅在现代CPU中受支持
指令编码占用更多空间(4个字节,ADC为1个字节)


还有其他副作用或特殊情况,其中ADCX优于ADC吗?将其添加到指令表中一定有一定的理由。

最佳答案

引用英特尔的New Instructions Support Large Integer Arithmetic论文:


adcx和adox指令是adc指令的扩展,
设计用于支撑两个独立的进位链。它们定义为:

adcx dest/src1, src2
adox dest/src1, src2


两条指令都计算src1和src2的总和加上一个进位并生成一个
输出总和dest和一个进位。两者之间的区别
指令是adcx将CF标志用于进位和进位
out(使OF标志保持不变),而adox指令使用
用于进位和执行的OF标志(保留CF标志
不变)。

这些指令相对于ADC的主要优势在于它们
支持两个独立的进位链。

关于assembly - ia32/ia64上的ADC和ADCX指令之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29747508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com