2010-08-11 47 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处有有效页面...

相关问题