6

如果我們有:`測試`指令如何工作?

test dword ptr [eax], 2000h 
je label1: 

是否有dword ptr [eax]0以外的任何值,將使跳躍花費的地方嗎?

+0

你的意思是2000h,而不是0 – 2010-12-16 07:32:29

+0

沒有2000h不會工作我試過了,它不是cmp。然而,0標誌是坐着的,所以它觸發。 – 2010-12-16 07:43:25

回答

9

指令測試的工作原理與指令類似,唯一的區別是結果不會存回目標操作數。 所以答案是肯定的。所有未在存儲器地址[eax]上設置第13位的二進制數字或所有存在的數字,如b'xxxxxxxx xxxxxxxx xx0xxxxx xxxxxxxx',其中x爲0或1,確切地說有2^31個數字。

+0

什麼測試eax,eax呢? – BlackBear 2010-12-16 13:28:43

+1

@BlackBear:**測試eax,eax **將設置零標誌,如果** eax ** = 0 some指令**和eax,eax **(也會影響符號和奇偶標誌以及清除進位和溢出標誌)。 – 2010-12-16 14:16:03

+0

謝謝。 ;)(字符限制...) – BlackBear 2010-12-16 14:26:17