Day_05用结构体 从内存中 读取配置信息
结构体声明
struct BOOTINFO
{char cCyls;char cLeds;char cVmode;char cReserve;short sScrnx;short sScrny;unsigned char * pVram;
};
新增代码
void HariMain(void)
{unsigned char *pAdd;int nXsize ;int nYsize;struct BOOTINFO *pBootIf = (struct BOOTINFO *)0x0ff0;init_palette(); //设定调色板//从内存中获取规格nXsize = pBootIf->sScrnx;nYsize = pBootIf->sScrny;pAdd = pBootIf->pVram;Init_Screen(pAdd, nXsize, nYsize);for (;;) {io_hlt();}
}
把显示画面背景的部分 独立了出来
void Init_Screen(unsigned char *pAdd, int nXsize, int nYsize)
{DrawBoxFillColor8(pAdd, nXsize, COL8_LightDarkBlue, 0, 0, nXsize - 1, nYsize - 29);DrawBoxFillColor8(pAdd, nXsize, COL8_BigGrey, 0, nYsize - 28, nXsize - 1, nYsize - 28);DrawBoxFillColor8(pAdd, nXsize, COL8_WHITE, 0, nYsize - 27, nXsize - 1, nYsize - 27);DrawBoxFillColor8(pAdd, nXsize, COL8_BigGrey, 0, nYsize - 26, nXsize - 1, nYsize - 1);DrawBoxFillColor8(pAdd, nXsize, COL8_WHITE, 3, nYsize - 24, 59, nYsize - 24);DrawBoxFillColor8(pAdd, nXsize, COL8_WHITE, 2, nYsize - 24, 2, nYsize - 4);DrawBoxFillColor8(pAdd, nXsize, COL8_DarkGrey, 3, nYsize - 4, 59, nYsize - 4);DrawBoxFillColor8(pAdd, nXsize, COL8_DarkGrey, 59, nYsize - 23, 59, nYsize - 5);DrawBoxFillColor8(pAdd, nXsize, COL8_BLACK, 2, nYsize - 3, 59, nYsize - 3);DrawBoxFillColor8(pAdd, nXsize, COL8_BLACK, 60, nYsize - 24, 60, nYsize - 3);DrawBoxFillColor8(pAdd, nXsize, COL8_DarkGrey, nXsize - 47, nYsize - 24, nXsize - 4, nYsize - 24);DrawBoxFillColor8(pAdd, nXsize, COL8_DarkGrey, nXsize - 47, nYsize - 23, nXsize - 47, nYsize - 4);DrawBoxFillColor8(pAdd, nXsize, COL8_WHITE, nXsize - 47, nYsize - 3, nXsize - 4, nYsize - 3);DrawBoxFillColor8(pAdd, nXsize, COL8_WHITE, nXsize - 3, nYsize - 24, nXsize - 3, nYsize - 3);
}
Day_05用结构体 从内存中 读取配置信息相关推荐
- linux查看内存条pn,实验:使用GDB查看结构体在内存中的存储方式
结构体在内存中的表示形式是怎么样的? 结构体在内存中和普通变量存储没有太大的区别. 首先我们看看,计算机如何读取普通变量: 普通变量例如int是占据4个字节,计算机读内存的时候会从起始地址开始读, ...
- c语言结构体在内存中的存储,C语言结构体在内存中的存储情况探究------内存对齐...
条件(先看一下各个基本类型都占几个字节): voidsize_(){ printf("char类型:%d", sizeof(char)); printf("int类型:% ...
- JavaWEB中读取配置信息
第一种方法是使用java.io和java.util包,缺点是路径的概念要清晰, 例子: Properties prop = new Properties(); InputStream in = get ...
- 结构体在内存中的对齐规则
一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和. 例一: #include <iostream> using namespace std; struct X { ...
- 结构体在内存中的存储方式
一个结构体变量定义完之后,其在内存中的存储并不等于其所包含元素的宽度之和. 例一: #include <iostream> using namespace std;struct X {ch ...
- C语言--结构体与内存对齐准则简单理解
平时基本不涉及这个问题,被问起才发现没那么简单... 一,结构体:内存中所有类型字节之和 #include<stdio.h> struct icd {int a;char b;double ...
- 自定义类型详解:结构体(内存对齐、位段) + 枚举 + 联合
目录 一.结构体 1.特殊的声明 2.结构体自引用 3.结构体变量的定义和初始化 4.打印结构体 二.==结构体内存对齐== 1.内存对齐 结构体嵌套如何求 为什么存在内存对齐? 2.修改默认对齐数 ...
- 3.c语言结构体成员内存对齐详解
一.关键一点 最关键的一点:结构体在内存中是一个矩形,而不是一个不规则形状 二.编程实战 1 #include <stdlib.h> 2 #include <stdio.h> ...
- c语言 结构体映射,内存管理之4:页面映射中的结构体
date: 2014-09-10 19:09 备注:本文中引用的内核代码的版本是2.4.0. 在前面的文章中,我们介绍了linux页式内存管理,讲到了页面目录PGD.中间目录PMD以及页表PT,本文来 ...
- 【C 语言】结构体 ( 结构体中嵌套一级指针 | 分配内存时先 为结构体分配内存 然后再为指针分配内存 | 释放内存时先释放 指针成员内存 然后再释放结构头内存 )
文章目录 一.结构体中嵌套一级指针 1.声明 结构体类型 2.为 结构体 变量分配内存 ( 分配内存时先 为结构体分配内存 然后再为指针分配内存 ) 3.释放结构体内存 ( 释放内存时先释放 指针成员 ...
最新文章
- 中国计算机学会CCF推荐国际学术会议和期刊目录-计算机图形学与多媒体
- FineReport——设计时无相关数据库查看权限,使用对应数据库解决方案
- Android 音频录制和播放问题
- 大型网站典型故障案例分析
- 实习二 分组密码加密_分组密码加密模式
- 8位移位寄存器和优先编码器
- 最新版富文本编辑器UEditor操作教程
- python实时读plc数据_python snap7读写西门子S系列PLC寄存器的值(PLC的I、Q、M、DB区)...
- js动态生成按钮,页面用DIV简单布局2
- Swoole(PHP高级Web开发框架)
- jumpserver的安装
- Ubuntu: apt安装clang
- 云南满泽生物科技有限公司 满泽玛卡玛咖精片 东革阿里 奶昔
- 计算机系统中为何采用层次化存储体系,计算机组成原理与体系结构——层次化存储结构...
- 【译】软件设计中的KISS原则
- 优秀的Web前端开发工程师需要具备的4个条件
- 百度 95 后程序员删库跑路被判刑
- 使用nodejs发送电子邮件
- 微软中国艰难前行:业绩遭遇连续跳票
- ROS routeros mikrotik路由器CVE-2018-14847漏洞