从 16 位到 32 位再到 64 位,x86 CPU 具有各种棘手的模式和内存分段。
这些天来,现代操作系统在现代操作模式下使用现代 CPU,您不必担心内存段,但您仍然可以在现代 CPU 上的旧操作系统上运行旧应用程序,在这种情况下,我认为 CPU 以特殊的传统方式运行模式(保护模式、实模式等)。
很明显,段寄存器的存在是为了向后兼容,但这是唯一的原因吗?
段寄存器也有现代用途吗?或者它们现在只是成为通用寄存器,仅具有反映其历史功能的名称?
这个问题的灵感来自对这个旧堆栈溢出线程的评论:为什么必须以这种方式使用 mov 指令?