跳远到段的解释

时间:2014-01-09 21:10:28

标签: assembly

有人可以向我解释一下line #123 in start.s的重要性吗?请注意,在阅读KERNEL64_CS #defined为0x08。

的代码时

1 个答案:

答案 0 :(得分:2)

通过更新代码段选择器(CS)完成向长模式(AMD64架构中的64位模式)的转换。这样做的原因是它只能通过跳转来修改代码段选择器,这与可以简单写入的其他段选择器不同。

段选择器本身是Global Descriptor Table的偏移量。每个条目都是8个字节,因此KERNEL64_CS(0x08)是第二个条目。