我正在创建一个小型的引导程序+内核,到目前为止,我已经成功读取了磁盘,加载了第二个扇区,加载了GDT,打开了A20并启用了保护模式。
我跳转至32位函数,在屏幕上显示字符,使用视频内存来呈现文本内容(0x000B0000 - 0x000B7777)。
pusha
mov edi, 0xB8000
mov bl, '.'
mov dl, bl
mov dh, 63
mov word [edi], dx
popa
现在,我想再进一步,在屏幕上绘制一个像素点。根据我在某个网站上读到的信息,如果要使用VGA的图形模式,则必须将像素写入位置0x000A0000。这是正确的吗?
那么,单个像素的格式是什么?对于单个字符,您需要ASCII代码和属性,但是如果它与文本模式的工作方式相同,那么您需要定义什么来定义像素?