- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我错了,请纠正我。
这是我对JNZ
和CMP
的理解。
JNZ
- 如果 Z
标志不为零 (1),则会发生跳转
CMP
- 如果两个值相等,则设置 Z
标志 (1),否则不设置 (0)
这是我正在观看的 Flash 教程。它正在教授一个简单的 CrackMe 的解决方案。
如您所见,上一条指令将 AL
与 47h
进行了比较。设置 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/
使用IDA Pro反汇编x86 dll后,我找到了这个代码(我在pusedo-c代码中添加的注释。我希望它们是正确的): test ebx, ebx ; if (ebx == fa
1. TEST EAX,EAX JNZ SHORT program.00407190 2. XOR EAX,EAX JNZ SHORT program.00407190 如果我错了,请纠正我。谢谢你!
如果我错了,请纠正我。 这是我对JNZ和CMP的理解。 JNZ - 如果 Z 标志不为零 (1),则会发生跳转 CMP - 如果两个值相等,则设置 Z 标志 (1),否则不设置 (0) 这是我正在观看
我正在阅读一些执行以下操作的代码: OR al, al JNZ loc_123456 如果我正确地阅读了此内容,OR 命令只是设置一个标志位,然后测试该寄存器是否没有任何非零值。 为什么要这样写,而不
在 x86 汇编代码中,JE 和 JNE 与 JZ 和 JNZ 完全相同吗? 最佳答案 JE 和 JZ 只是完全相同的事物的不同名称:当 ZF(“零”标志)等于 1 时条件跳转。 (同样,JNE 和
在我的一次采访中,我在"new"原始程序集中遇到了一个非常复杂的问题(为什么 QA 在告诉我他们的 QA 基于 Python 的测试时需要 assembly 知识......?),它是这样的: 假设您
我是一名优秀的程序员,十分优秀!