ucore的字符输出有cga,lpt,和串口。qemu模拟出来显示器连接到cga中。
cga
cga的介绍网站:https://en.wikipedia.org/wiki/Color_Graphics_Adapter
cga是显示卡,内部有个叫6845的芯片。cga卡把屏幕划分成一个一个单元格,每个单元格显示一个ascii码编码的字符。cga显示卡关注内存中某一段特定地址的数据,并显示这些数据。CPU只需要把要显示的字符编码放到显示卡关注的内存中。cga能显示的数据有格式要求,另外,它能显示的东西很少。如果CPU是以cga这种方式控制屏幕,是无法控制屏幕上的每一个像素的。cga的优点在于方便地显示字符。程序员唯一需要知道的知识就是字符编码。
ucore的字符串输出函数

cprintf和snprintf是操作系统使用者调用的函数。正常来说,是不会直接调用vcprintf和vsnprintf以及它右边的函数的。
cprintf是向控制台输出字符串,snprintf是向内存buffer输出字符串。
cprintf
cprintf的用法和c标准库printf的用法完全一致。
/* *
* cprintf - formats a string and writes it to stdout
*
* The return value is the number of characters which would be

最低0.47元/天 解锁文章
2086

被折叠的 条评论
为什么被折叠?



