相关疑难解决方法(0)

使用CMP reg测试寄存器是否为零,0与OR reg,reg?

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

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更快,但我只是想确定.这可能是规模和速度之间的权衡,或双赢(当然代码将更加不透明).

optimization x86 assembly micro-optimization

13
推荐指数
2
解决办法
3755
查看次数

两个十个字节而不是 20 个字节如何?

所以我试图找出的大小zword,并yword当我偶然发现这是很有帮助的线程其中有各种规模的名单,但有一两件事让我感到困惑。它在编辑中说 atword是 10 个字节,但这对我来说没有意义。一个字是两个字节,所以一个tword字应该是 10 个字,也就是 20 个字节,不是吗?我发现更奇怪的是 anoword确实是 8 个字/16 字节,所以 anoword实际上比 a 大tword。这种奇怪的命名选择有什么解释吗?

assembly nasm

2
推荐指数
1
解决办法
97
查看次数

标签 统计

assembly ×2

micro-optimization ×1

nasm ×1

optimization ×1

x86 ×1