我正在创建一个小型的32位操作系统。我已经用汇编语言编写了引导装载程序,在汇编语言中编写了内核的入口,并且我目前正在用c语言编写内核。在引导加载程序中,我已经切换到32位保护模式。之后,我从内存地址0x1000
调用了内核。一切都运行良好,因为我什至可以通过写入内存地址0xb8000
将文本打印到屏幕上。我的主要问题是:
如何从受保护的内核中切换到视频(像素绘图)模式模式。我知道如何通过从引导加载程序将寄存器ah
设置为0x00
,将al
设置为0x13
,然后从中断0x10
中调用16位实模式来实现此目的我不知道如何在保护模式下从c代码进行此操作。任何形式的帮助将不胜感激。预先感谢
其他信息:我正在使用NASM
来编译汇编代码,并使用Cygwin gcc
来编译c代码。