我理解ADC的作用,但我不确定如何管理进位标志。如果我使用常规ADD并且它溢出,它会自动将进位标志设置为1吗?如果我使用ADC并且CF为1并且没有溢出,它会将CF设置为0吗?感谢。
答案 0 :(得分:1)
假设intel x86汇编程序: ADD和ADC都会将进位标志设置为高位进位或借位,否则将被清零。
当CF为1并且没有溢出时使用ADC,将导致CF = 0。
答案 1 :(得分:0)
有关详细信息,请参阅www.intel.com,第498页上的官方参考。
<强>描述强> 添加目标操作数(第一个操作数),源操作数(第二个操作数)和进位(CF)标志,并将结果存储在目标操作数中。目标操作数可以是寄存器或存储器位置;源操作数可以是立即数,寄存器或存储器位置。 (但是,在一条指令中不能使用两个存储器操作数。)CF标志的状态表示先前加法的进位。当立即值用作操作数时,它将符号扩展为目标操作数格式的长度。 [...]