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