1

段寄存器可以在程序执行期间改变吗?我确信可以在汇编中更改它们,但是如果我用 c 或 c++ 编写并编译,并且有一些内联asm指令,我可以指望SS寄存器和其他段寄存器保持不变吗?

4

1 回答 1

2

如果您使用的是典型的 32 位或 64 位操作系统,那么您几乎可以忽略段寄存器(处理线程本地存储、异常处理或系统内容时除外)。CS, DS,ESSS所有地址相同的内存并且它们不会改变。编译器也假设这一点。

于 2012-11-28T15:14:53.503 回答