测试寄存器是否为零与CMP reg,0 vs or reg,reg?

测试寄存器是否为零与CMP reg,0 vs or reg,reg?

使用以下代码是否存在执行速度差异:

cmp al, 0
je done

以及以下各点:

or al, al
jz done

我知道JE和JZ指令是一样的,而且使用OR可以提高一个字节的大小。然而,我也关心代码的速度。逻辑运算符似乎比子或CMP更快,但我只是想确定一下。这可能是大小和速度之间的权衡,或者是双赢(当然,代码将更加不透明)。


浮云间
浏览 779回答 3
3回答
打开App,查看更多内容
随时随地看视频慕课网APP