【问题标题】:How to use ADC and set flag in Assembly如何在汇编中使用 ADC 和设置标志
【发布时间】:2013-11-22 12:46:55
【问题描述】:

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

【问题讨论】:

    标签: adc


    【解决方案1】:

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

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

    【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2019-03-27
      • 2015-04-10
      • 1970-01-01
      • 2011-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多