问题:
我在https://wiki.osdev.org/Drawing_In_Protected_Mode上学习了教程,在使用给定函数绘制像素时遇到了问题。
我做了什么:
函数访问视频内存
/* only valid for 800x600x32bpp */
static void putpixel(unsigned char* screen, int x,int y, int color) {
unsigned where = x*4 + y*3200;
screen[where] = color & 255; // BLUE
screen[where + 1] = (color >> 8) & 255; // GREEN
screen[where + 2] = (color >> 16) & 255; // RED
}
这是从文章中摘录的,在宏中有视频内存
#define VGA 0xA0000
,如下所示
putpixel(VGA, 10, 10, 3);
来确保这不是由于像素的细小造成的
结果:
期望: QEMU中的屏幕上有一个像素
实际:什么都没有
https://stackoverflow.com/questions/56066333
复制相似问题