0

我了解 ADC 的作用,但我不确定如何管理进位标志。如果我使用常规 ADD 并且它溢出,它会自动将进位标志设置为 1 吗?如果我使用ADC并且CF为1并且它没有溢出,它会将CF设置为0吗?谢谢。

4

2 回答 2

1

假设 intel x86 汇编器:ADD 和 ADC 都会在高位进位或借位时设置进位标志,否则将被清除。

当 CF 为 1 且没有溢出时使用 ADC,将导致 CF=0。

于 2013-11-10T19:51:04.870 回答
0

有关详细信息,请参阅www.intel.com上的官方参考资料,第 498 页。

说明 添加目标操作数(第一个操作数)、源操作数(第二个操作数)和进位 (CF) 标志,并将结果存储在目标操作数中。目的操作数可以是寄存器或内存位置;源操作数可以是立即数、寄存器或内存位置。(但是,两个内存操作数不能在一条指令中使用。)CF 标志的状态表示来自先前加法的进位。当立即数用作操作数时,它被符号扩展为目标操作数格式的长度。[...]

于 2013-11-10T20:00:07.513 回答