gpt4 book ai didi

assembly - JNZ 和 CMP 组装说明

转载 作者:行者123 更新时间:2023-12-02 18:50:37 26 4
gpt4 key购买 nike

如果我错了,请纠正我。

这是我对JNZCMP的理解。

JNZ - 如果 Z 标志不为零 (1),则会发生跳转

CMP - 如果两个值相等,则设置 Z 标志 (1),否则不设置 (0)

Olly DBG

这是我正在观看的 Flash 教程。它正在教授一个简单的 CrackMe 的解决方案。

如您所见,上一条指令将 AL47h 进行了比较。设置 Z 标志的它们是相等的。 (您可以在右侧的“寄存器”窗口中看到它)

下一条指令是JNZ。我的理解是,如果设置了 Z 标志,就会发生跳转。 Z 标志已设置,但跳转并未发生!

为什么?

最佳答案

JNZ 是“如果不为零 (ZF = 0) 则跳转”和 NOT“如果设置了 ZF 则跳转”的缩写。

如果更容易记住,请考虑 JNZ 和 JNE(如果不相等则跳转)是等效的。因此,当您执行 cmp al, 47 并且 AL 的内容等于 47 时,ZF 已设置,因此跳转(如果不等于 - JNE)不应该采取。

关于assembly - JNZ 和 CMP 组装说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14841169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com