使用以下代码是否存在任何执行速度差异:
cmp al, 0
je done
Run Code Online (Sandbox Code Playgroud)
以下内容:
or al, al
jz done
Run Code Online (Sandbox Code Playgroud)
我知道JE和JZ指令是相同的,并且使用OR可以提供一个字节的大小改进.但是,我也关心代码速度.逻辑运算符似乎比SUB或CMP更快,但我只是想确定.这可能是规模和速度之间的权衡,或双赢(当然代码将更加不透明).
所以我试图找出的大小zword,并yword当我偶然发现这是很有帮助的线程其中有各种规模的名单,但有一两件事让我感到困惑。它在编辑中说 atword是 10 个字节,但这对我来说没有意义。一个字是两个字节,所以一个tword字应该是 10 个字,也就是 20 个字节,不是吗?我发现更奇怪的是 anoword确实是 8 个字/16 字节,所以 anoword实际上比 a 大tword。这种奇怪的命名选择有什么解释吗?