【发布时间】:2013-11-22 12:46:55
【问题描述】:
我了解 ADC 的作用,但我不确定如何管理进位标志。如果我使用常规 ADD 并且它溢出,它会自动将进位标志设置为 1 吗?如果我使用 ADC 并且 CF 为 1 并且它不会溢出,它会将 CF 设置为 0 吗?谢谢。
【问题讨论】:
标签: adc
我了解 ADC 的作用,但我不确定如何管理进位标志。如果我使用常规 ADD 并且它溢出,它会自动将进位标志设置为 1 吗?如果我使用 ADC 并且 CF 为 1 并且它不会溢出,它会将 CF 设置为 0 吗?谢谢。
【问题讨论】:
标签: adc
假设 intel x86 汇编器: ADD 和 ADC 都会在高位进位或借位时设置进位标志,否则将被清除。
当CF为1且没有溢出时使用ADC,会导致CF=0。
【讨论】:
有关详细信息,请参阅www.intel.com 的官方参考,第 498 页。
说明 添加目标操作数(第一个操作数)、源操作数(第二个操作数)和进位 (CF) 标志,并将结果存储在目标操作数中。目的操作数可以是寄存器或内存位置;源操作数可以是立即数、寄存器或内存位置。 (但是,不能在一条指令中使用两个内存操作数。)CF 标志的状态表示来自先前加法的进位。当立即数用作操作数时,它被符号扩展为目标操作数格式的长度。 [...]
【讨论】: