当eax包含0时,取消引用eax的目的是什么?

时间:2010-08-11 12:38:33

标签: assembly x86

以下说明如何有意义?

xor eax,eax
mov eax,[eax]

当您使用XOR eax时,大部分时间都会得到零,那么你可以取消引用地址[eax](在这种情况下eax包含0)并将其放回eax中吗?

2 个答案:

答案 0 :(得分:5)

这段代码来自哪里?它打算运行什么操作系统?

我看到两种可能性:

  1. 此代码应生成有意的分段错误。

  2. 该代码旨在在地址为0的有效页面的系统上运行,并且它正在尝试访问那里的任何内容。

答案 1 :(得分:2)

不确定你想澄清什么。

xor eax, eax 

将生成0 始终

取消引用0通常会导致页面错误。也就是说,除非在地址0 ...

处有有效页面