【问题标题】:fs register(?) in assembly code [duplicate]汇编代码中的 fs 寄存器(?)
【发布时间】:2014-11-21 09:53:19
【问题描述】:

我正在反汇编我的程序,并试图了解它是什么:

MOV DWORD PTR FS:[0],ESP

什么是FS?我在谷歌搜索,我发现这是用作额外的寄存器。 但是什么时候用呢?为什么?

【问题讨论】:

标签: assembly x86


【解决方案1】:

FS寄存器与线程信息块对齐,其中包含各种线程特定的信息。

反汇编时特别感兴趣的是偏移量为零的异常处理程序链的头部。

【讨论】:

  • 是否会发生第一个异常的处理程序?
  • 从某种意义上说,是的。 FS:[0] 指向堆栈上最内层的异常处理程序结构。它又具有指向下一个的指针,依此类推。任何具有异常帧的函数都会在进入时将该帧插入此链中,并在退出时再次将其删除。
猜你喜欢
  • 2021-03-25
  • 2019-03-24
  • 1970-01-01
  • 2010-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-19
  • 2016-11-11
相关资源
最近更新 更多