“mov eax,dword ptr fs:loc_12 + 6”哪个值已分配给eax?

时间:2013-03-16 01:03:51

标签: assembly

我想知道在执行下面的代码块时分配给eax的值是什么?

mov     eax, dword ptr fs:loc_12+6

必要时转储数据:

00000012  0F B6 83 1B 47 40 00 0B  C0 75 0A B8 F8 FF FF FF

编辑:处理器是x86,操作系统是Windows

2 个答案:

答案 0 :(得分:2)

你的反汇编程序为loc_12分配了一个我们不知道的值,而你不是说这是什么平台,但是在Windows上,与fs:register的关系通常与线程信息块有关( TIB)。

最有可能的是,它从异常处理程序链中读取或读取堆栈限制或线程ID - 指令中使用的实际偏移量应该让您在我提到的页面上找到。

答案 1 :(得分:0)

在不知道的情况下,不可能在此指令后告诉eax的值:

  • fs指向
  • 的细分受众群的细分基础地址
  • 指令中编码的偏移量,loc_12+6常量
  • 的值
  • 地址segment base address + offset encoded in the instruction
  • 的内存中的内容