2010-08-11 82 views
2

以下說明如何具有任何意義?當它包含0時解引用eax的目的是什麼?

xor eax,eax 
mov eax,[eax] 

當你XOR EAX,你會得到零大部分時間,這樣你就可以提領的是在地址[EAX](在這種情況下,EAX包含0),並把它放回EAX?

+0

什麼時候'xor eax,eax'不是零eax? – 2015-10-28 16:06:02

+0

@MartinJames我是一個noob。我仍然是一個小菜鳥。你期望從noob得到什麼? :P – 2015-10-28 16:08:26

回答

5

此代碼來自哪裏?它打算運行什麼操作系統?

我看到兩種可能性:

  1. 此代碼應該產生故意分段錯誤。

  2. 該代碼旨在運行在地址爲0的有效頁面的系統上,並且它試圖訪問任何存在的內容。

2

不知道你想澄清什麼。

xor eax, eax 

會產生0 總是

解除引用0通常會導致頁面錯誤。也就是說,除非在地址0處有有效頁面...

相關問題