结构体的使用和显示模式的保存

本文详细介绍如何利用结构体在VRAM中存储和显示字符,包括字体数据的VRAM写入、字符串显示函数的实现、变量值的显示及鼠标指针的图形显示,深入探讨了字符显示的底层实现原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

  • 使用结构体

这部分主要是对asmhead.nas保存下来的状态信息读出,在bootpack.c里面使用。将0x0ff0即VRAM地址使用结构体指针存放,按照结构体存储,注意对应的结构体声明顺序应该与汇编语言里的顺序一致。(个人理解)

 

    • 显示字符

 要显示字符,可以用8X16长方形像素点阵表示,像如下转换:

 

 

       只需要根据对应的字体01数据写入VRAM对应的内存,比如1则写入白色。对于16x8点阵,可以使用16个数据的char数组,将每一行的8位数据保存在一个字节中,使用如下程序实现如上转换。

 

 

    • 增加字体

 

    • 显示字符串

 写一个函数putfonts8_asc,传入字符串,逐个调用函数putfont8输出。

 

    • 显示变量值

可以通过sprintf函数显示变量的值,sprintf函数只对内存进行操作,将对应格式的字符串存放在内存中,通过显示内存单元数据显示变量的值。

 

    • 显示鼠标指针

      显示鼠标指针此时也是使用的相同的方法,将下图的图形按照相同的方法对对应的VRAM内存地址存入色号值即可。

将buf里的内容存进VRAM。

使用如下函数即可得到鼠标图形。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值