-1

我正在开发一个操作系统。从参考资料来看,我必须从 16 位实模式进入 32 位保护模式。在该步骤中,其使用指令为:

bits 32

但是我的汇编程序说这是非法的,它也使用如下指令:

org 0x7c00

一些教程使用[bits 32]. 但我两者都用,但没有运气。

我用谷歌搜索了这个,但这次它搞砸了

因此,任何指导都会有所帮助。

谢谢

4

1 回答 1

4

你必须告诉 CPU 你想进入保护模式。最好从这里开始http://wiki.osdev.org/Babystep1并在这个网站上四处看看。use16简而言之:在开始时使用类似or的东西做一些实模式的东西,用bits 16将有效值加载到 gdt 寄存器中lgdt [6byteGDTstruct],在 CR0 寄存器中设置位 0,在代码中的某个地方跳转并使用use32orbits 32从那里。

于 2015-12-23T11:51:48.283 回答