测试寄存器为 0

背景

为了找出寄存器是否为零,天真的技术是这样做:

    cmp   eax, 0

但是如果你看一下这个操作码,你会得到这个:

83 F8 00      cmp   eax, 0

使用 test

    test   eax, eax      ; Equal to zero?

检查你得到的操作码:

85 c0         test   eax, eax

优点

  • 只有两个字节!

缺点

  • 对不熟悉该技术的读者不透明

你还可以查看有关此技术问答问题