【发布时间】:2013-01-19 21:28:44
【问题描述】:
我正在创建一个小引导加载程序+内核,直到现在我设法读取磁盘、加载第二个扇区、加载 GDT、打开 A20 并启用 pmode。
我跳到了 32 位函数,它在屏幕上显示一个字符,将视频内存用于文本内容 (0x000B0000 - 0x000B7777)
pusha
mov edi, 0xB8000
mov bl, '.'
mov dl, bl
mov dh, 63
mov word [edi], dx
popa
现在,我想更进一步,在屏幕上绘制一个像素。正如我在某些网站上所读到的,如果我想使用 VGA 的图形模式,我必须在位置 0x000A0000 处写入我的像素。对吗?
现在,单个像素的格式是什么?对于单个字符,您需要 ASCII 代码和属性,但是您需要定义一个像素(如果它的工作方式与文本模式相同)?
【问题讨论】:
标签: memory video assembly x86 pixel