1

我正在做自己的操作系统(从头开始),它不基于任何预先存在的内核或操作系统。所以我知道屏幕分为 80*25 并且我知道通常它就像 0xB8000 可以在 0xB8001 中包含字符的属性,我只知道这么多

但是如何在屏幕上逐像素显示图像呢?我如何寻址每个像素并发送数据(颜色)?

目前我正在使用 0xB8000 在屏幕上打印文本。所以如果我寻址 0xB8000 我是在寻址一个像素吗?这方面我一点都​​不清楚。所以请帮忙。

请注意,我没有使用,也无法使用任何图形库,因为我正在从头开始构建自己的操作系统。

即使我知道汇编,我也想在 C 中执行此操作

4

1 回答 1

1

80x25 即所谓的“文本模式”,即内存中的一个字节对应显示器上的一个字符。您通常将视频适配器切换到“图形模式”并且您有像素空间。

您可以从这里开始阅读:CGA - 标准文本模式

于 2012-01-13T15:06:48.060 回答