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

use*_*112 6 x86 assembly

我有一些x86代码,看起来像:

;  The carry flag is set to 1 here
jae    an_address  ; The jump instruction does not take place
Run Code Online (Sandbox Code Playgroud)

这有意义吗?

我认为跳跃应该发生,因为1大于或等于0,定义为JAE

Net*_*tch 9

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


Now*_*ayz 5

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

你正在寻找jnaejb