x86 JAE指令如何与进位标志相关?

时间:2014-08-29 20:34:54

标签: assembly x86

我有一些x86代码,如下所示:

;  The carry flag is set to 1 here
jae    an_address  ; The jump instruction does not take place

这有意义吗?

我认为应该进行跳转,因为1大于或等于0,JAE的定义?

2 个答案:

答案 0 :(得分:9)

jaejnc相同,即如果CF == 0则跳转。所有3个助记符(包括jnb)之间的选择取决于程序员。 CF不是由mov设置的,而是由之前的指令设置的。在进行减法的比较指令(jae)之后,建议使用助记符cmp。您可以在英特尔或AMD软件开发人员手册中获得更多详细信息。

答案 1 :(得分:5)

jae表示如果高于或等于跳跃。如果进位标志等于0,它将跳转。

您正在寻找jnaejb