1

我开发了一个基于 x86 'Hello World' linux 的小型操作系统。我刚刚创建了文件 loader.s、linker.ld、main.c 并使用 grub 加载程序在 ubuntu 中使用 bochs 模拟器启动我的操作系统。

我刚刚访问了视频内存并将“hello world”字符串显示到屏幕上。我使用boches调试我的操作系统,cr0 PM值设置为1,所以我认为我的操作系统直接进入保护模式而不是进入实模式。

我的问题是我应该如何直接进入实模式而不进入保护模式?在此之后,我如何调用 bios 中断(http://en.wikipedia.org/wiki/BIOS_interrupt_call)来获取初始硬件详细信息,如 HDD、RAM、处理器等...

请任何人帮助我,非常感谢你。

4

1 回答 1

1

我也没有太多关于这个主题的知识,但我有一段从可启动 CD/DVD 运行的代码。一开始程序以实模式启动,显示我的名字,然后切换到保护模式并再次显示我的名字。我给一个链接,以便它可以帮助你。你可以从这里下载

于 2012-05-01T13:00:01.117 回答