我想知道执行以下代码块时已为 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
我想知道执行以下代码块时已为 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
您的反汇编程序为 loc_12 分配了一个我们不知道的值,您并没有说这是什么平台,但在 Windows 上,与 fs: 寄存器有关的任何事情通常都与线程信息块(TIB)有关。
最有可能的是,它是从异常处理程序链中读取或读取堆栈限制或线程 ID - 指令中使用的实际偏移量应该让您在我提到的页面上找到。
在不知道的情况下,不可能eax
在这条指令之后说出 的值:
fs
指向的段的段基地址loc_12+6
常量的值segment base address + offset encoded in the instruction