測試暫存器為 0

背景

為了找出暫存器是否為零,天真的技術是這樣做:

    cmp   eax, 0

但是如果你看一下這個操作碼,你會得到這個:

83 F8 00      cmp   eax, 0

使用 test

    test   eax, eax      ; Equal to zero?

檢查你得到的操作碼:

85 c0         test   eax, eax

優點

  • 只有兩個位元組!

缺點

  • 對不熟悉該技術的讀者不透明

你還可以檢視有關此技術問答問題