标签: assembly
有人可以向我解释一下line #123 in start.s的重要性吗?请注意,在阅读KERNEL64_CS #defined为0x08。
KERNEL64_CS
答案 0 :(得分:2)
通过更新代码段选择器(CS)完成向长模式(AMD64架构中的64位模式)的转换。这样做的原因是它只能通过跳转来修改代码段选择器,这与可以简单写入的其他段选择器不同。
段选择器本身是Global Descriptor Table的偏移量。每个条目都是8个字节,因此KERNEL64_CS(0x08)是第二个条目。