【发布时间】:2020-05-04 23:15:42
【问题描述】:
在 x86_64 中,fs 和 gs 寄存器涉及有限形式的分段。仅以fs为例,fs如何注册,FSBase MSR共同产生有效地址?
如果我更改 fs 基数而不更改 fs 会发生什么?还是改变 fs base 会自动改变 fs?
如果我更改 fs 寄存器而不更改 fs 基数会怎样?有效地址计算有何影响?
我们可以举个简单的例子
mov %fs:(%eax), %ebx
【问题讨论】:
-
嗨,欢迎来到堆栈溢出。您需要提供所有详细信息并清楚地提及您想要什么以及您为解决此问题所做的工作。请参阅How to Ask 链接了解更多详细信息并相应更新您的问题。
-
我的问题很简单。 fs 和 fsBase 都涉及时,如何计算有效地址? fs中存储的值是多少?
-
@JeroenHeier:这实际上已经很清楚了。这是通常不会出现的技术性和晦涩难懂的东西,但我认为知道答案(或正在寻找答案)的人能够很好地理解这个问题。
标签: assembly x86-64 cpu-registers addressing-mode memory-segmentation