测试寄存器为 0
背景
为了找出寄存器是否为零,天真的技术是这样做:
cmp eax, 0
但是如果你看一下这个操作码,你会得到这个:
83 F8 00 cmp eax, 0
使用 test
test eax, eax ; Equal to zero?
检查你得到的操作码:
85 c0 test eax, eax
优点
- 只有两个字节!
缺点
- 对不熟悉该技术的读者不透明
为了找出寄存器是否为零,天真的技术是这样做:
cmp eax, 0
但是如果你看一下这个操作码,你会得到这个:
83 F8 00 cmp eax, 0
test
test eax, eax ; Equal to zero?
检查你得到的操作码:
85 c0 test eax, eax