在关于引导加载程序的 MIT 课程部分中,以下代码用于设置内核代码段和数据段选择器:
.set PROT_MODE_CSEG, 0x8 # kernel code segment selector
.set PROT_MODE_DSEG, 0x10 # kernel data segment selector
完整的代码可以在这里找到。
这些特定的段选择器背后的含义是什么?为什么它们是 0x8 和 0x10?文档表明它们是“32 位代码段”。是什么让它们成为 32 位代码段?