我想为应用程序实现32位4Gb平面存储器映射,为此,我必须获取并更新数据段描述符和代码段描述符。通过使用汇编命令“ sgdt”,我可以获得全局描述符表,但不确定其CS或DS或任何其他描述符。如果有人可以帮助我解决这一困惑,我们将不胜感激。
我依靠GRUB设置GDT,这就是为什么我不知道放置所有段描述符的确切位置的原因。通过查看GDT表条目,我可以看到5个相同的代码段条目和6个相同的数据段条目,每个条目的基地址设置为“ 0”,每个条目的限制设置为“ 0xfffff”。您能告诉我这些重复条目的原因吗?从这些视图中,您能否确认GRUB已经设置了Flat Memory模式?
答案 0 :(得分:0)
在评论部分获得好评后回答我自己的问题。 GDT表包含处于保护模式下的段描述符的条目,通过读取代码段寄存器/数据段寄存器的值来标识代码段和数据段,其中代码段和数据段包含GDT表中特定段的索引(也称为段选择器)。 / p>