我有一些x86代码,看起来像:
; The carry flag is set to 1 here jae an_address ; The jump instruction does not take place
这有意义吗?
我认为跳转应该发生因为1大于或等于0, JAE 的定义?
JAE
jae 与 jnc 相同,即如果CF == 0则跳转 . 所有3个助记符(包括 jnb )之间的选择取决于程序员 . CF不是由 mov 设置的,而是由前一条指令设置的 . 在执行减法的比较指令( cmp )之后,建议使用助记符 jae . 您可以在英特尔或AMD软件开发人员手册中获得更多详细信息 .
jae
jnc
jnb
mov
cmp
jae 表示如果大于或等于跳跃 . 如果进位标志等于0,它将跳转 .
您正在寻找 jnae 或 jb
jnae
jb
2 回答
jae
与jnc
相同,即如果CF == 0则跳转 . 所有3个助记符(包括jnb
)之间的选择取决于程序员 . CF不是由mov
设置的,而是由前一条指令设置的 . 在执行减法的比较指令(cmp
)之后,建议使用助记符jae
. 您可以在英特尔或AMD软件开发人员手册中获得更多详细信息 .jae
表示如果大于或等于跳跃 . 如果进位标志等于0,它将跳转 .您正在寻找
jnae
或jb