EFLAGS寄存器有一个进位标志和一个溢出标志,我想知道这些标志的用途是什么。
我可以想到以下几种用途:
这些用途正确吗?还有其他用途吗?
发布于 2017-07-29 23:07:43
标志是控制条件指令的唯一方法,条件跳转(jCC)和条件移动(cmovCC和fcmovCC)。因此,当您想要根据某些条件作出选择时,例如
你需要登记旗子。为此,存在cmp指令。它减除操作数,丢弃结果并设置标志。这样,你就可以比较数字,并根据结果做一些事情。有关两个数字的顺序如何影响标志,请参见这张桌子。
最后,您还可以使用标志(特别是进位标志)来进行大号加法。这是使用adc和sbb指令来实现的,它们将进位或借用从较小的位数转到较高的位数。
https://stackoverflow.com/questions/45394838
复制相似问题