【发布时间】:2013-01-26 06:04:36
【问题描述】:
我有一段使用 JNZ 的代码。当我组装和链接二进制文件时,我看到我的 JNZ 被 JNE 替换。据我了解,它们两者基本上是相同的。但是为什么 NASM 会改变它呢?
另外,是否有任何配置选项可用于阻止在组装时发生这种更改?
【问题讨论】:
-
花点时间阅读 CPU 文档。 JE和JZ是一回事。 JNE 和 JNZ 也是如此。
-
为什么我们都需要它们?
-
为什么我们有同义词、别名、昵称等?它们服务于某种目的。
Equality或Zero在ADD AX, 1之后更自然地想到什么?现在,为CMP AX, 1回答同样的问题。 -
我很惊讶地看到您自己可以轻松找到答案的缺乏努力。
标签: assembly x86 nasm disassembly