【发布时间】:2016-11-21 10:11:36
【问题描述】:
我正在浏览 x86 的保护模式部分。我刚刚了解了 GDT。之前,我研究过要进入保护模式(即:使用所有 32 位地址线)必须启用 A20 门。 那么,启用 A20 的代码必须是 16 位的吧? 最近浏览wiki.osdev站点时,发现启用A20的代码是用x86汇编编写的。 X86 程序集生成的 32 位操作码无法在 16 位模式下加载,对吧?
如果可能请解释一下。 谢谢。
【问题讨论】:
-
有 16 位和 32 位 x86 程序集。您可以为任一模式组装 x86 程序集。
-
生成的代码类型取决于汇编器和汇编器指令以及汇编器标志,就像它取决于实际使用的操作码一样。
标签: assembly x86 operating-system kernel gdt