儿童摄影网站怎么做,wordpress文章内容标签做关键词,成全视频在线观看大全腾讯地图,我劝大家不要学android接上回#xff0c;大家看下显卡各种模式的内存分布。 各外部设备都是通过软件指令的形式与上层接口通信的#xff0c;显卡#xff08;显示适配器#xff09;也不例外#xff0c;所以它也有自己的bios。位置是0xC0000到0xC7FFF。显卡支持三种模式#xff0c;文本模式、黑白…接上回大家看下显卡各种模式的内存分布。 各外部设备都是通过软件指令的形式与上层接口通信的显卡显示适配器也不例外所以它也有自己的bios。位置是0xC0000到0xC7FFF。显卡支持三种模式文本模式、黑白图形模式彩色图形模式。我们只关注文本模式就好了最终我们要实现类似linux 终端那样的字符界面。
我们平时看的电影一秒24桢每一帧都是一幅图片有的还是高清电影可想而知1秒的其数据量也是很大的。为了提速避免视觉上产生延时硬件系统干脆让我们直接和显卡接触免得数据再经由第三道手而影响效率直接把数据往显存中填就好了。
之前和大家介绍过了地址总线的范围不只是主板上插的内存条的容量内存条只是地址总线所能达到的范围中的一小部分。指令中所需的任何一个地址都是地址总线帮咱们去寻址的。地址只是个数字地址总线把此数字指向哪个存储介质此地址就落到哪个介质上的某个存储单元中。地址指向哪里最终是地址总线说了算。如果有同学误以为访问某个rom的地址是先访问到我们的内存条后再由计算机内的某种神奇力量将其映射到该rom这就不对了。
从起始地址0xB8000到0xBFFFF,这片32KB大小的内存区域是用于文本显示。我们往0xB8000处输出的字符直接会落到显存中显存中有了数据自然显卡就将其搬到显示器屏幕上啦这后续的事情咱们是不需要处理的咱们只要保证写进显存的数据是正确的就ok啦。
屏幕上可以显示多少个字符呢这要取决于要用哪种文本模式了。
显卡的文本模式也是分为多种模式的用“列数*行数”来表示如80*25, 40*25, 80*43 或者 80*50它们的乘积是整个屏幕上可以容纳的字符数。不同的模式可容纳的字符数不同如80*25表示一行80个字符共25行。显卡在加电后默认就置为模式80*25也就是一屏可以打印2000个字符。我们也在这个默认模式下工作了。
即使在文本模式下也可以打印出彩色字符。可是ASCII码都是1字节大小即使标准ASCII码也要用7位来为一个字符编码只剩下那1位顶多只能表示黑白两种颜色。聪明的你肯定想到啦必然是用一个字节来表示字符本身再用另外的字节来表示其属性。答对啦事实也是如此。每个字符在屏幕上都是由2个字节来表示的而且是连续的2个字节。
说到这里我们先算一笔账显存是从0xB8000到0xBFFFF范围是32KB一屏可以显示2000个字符显示器上的每个字符占2字节大小故每屏字符实际占用4000字节。这样我们的32KB的显存可以容纳32KB/4000B约等于8屏的数据。所以您懂了为什么linux可以用alt Fn键实现tty的切换当然这只是原理具体的实现要涉及到显卡的寄存器设置。显卡上的寄存器还是非常多的我怕此时将它们列出来会打击大家学习积极性以后需要时再说吧。
屏幕上每个字符的低字节是字符的ASCII码高字节是字符属性元信息。在高字节中低4位是字符前景色高4位是字符的背景色。颜色是用RGB红绿蓝三种基色调和第4位用来控制亮度若置1则呈高亮若为0则为一般正常亮度值。第7位用来控制字符是否闪烁不是背景闪烁。这两字节如图 大家知道用R红色、G绿色、B蓝色这三种颜色以任意比例混合只可以搭配出其它颜色其它颜色被认为都可以收这三种颜色组合而成。不过由于在文本模式下的颜色是极其有限所以RGB的各部分比例要么是1全部要么是0没有所以其组合出的颜色屈指可数为了让大家测试字符颜色更加方便给大家提供这三种颜色的组合。 从上面可以看出只要亮度位I置1颜色就是变亮变浅。大家可以结合K位来测试上面的颜色.
好了上面内容摘自《操作系统真象还原》大家有机会支持一下。