測試暫存器為 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