x86 文本模式显示适配器


查看系列文章点这里: 操作系统真象还原

前言

  本文介绍了如何在文本模式下在显示器上打印字符。


一、显存、显卡、显示器

  无论图像还是文字都显示在显示器上,显示器都由显卡来控制,而CPU只需要将需要显示的信息存储在内存的某个地方,显卡就会定时去这个地方获取要显示的内容,并显示出来。而能显示的内容不会是无限的,决定能存储多少内容的就是显存,通常显存的大小会比实际显示屏能显示内容的上限还要高,其主要用于屏幕内容的快速切换。

  我们现在知道了,只要向内存中某个区域写入我们要现实的内容就行了,首先这个区域就是 B8000~BFFFF ,共计32KB。而内容就是字符,它可以是数字、字母、控制符等等,具体可以参考ACSLL表。下面来看看具体如何设置要显示的字符。

二、字符及其属性

  一个字符占2个字节,共计16位,各位的含义如下:

位置0~789101112131415
含义ASCLL码BGRIBGRK

  其中,8~11设置前景色,也就是字的颜色,I为亮度(1为高亮,0为正常);12 ~ 15位设置背景色,K为是否闪烁(1为闪烁,0为不闪烁)。

  其实总上述表格我们也能看出来,文本模式支持的颜色非常有限,因此,直接为大家列出来,如下表所示:

RGBI=0I=1
000
001浅蓝
010绿浅绿
011浅青
100浅红
101品红浅品红
110
111亮白

三、示例

	;图形卡文本模式的起始地址
	mov ax, 0xb800
	mov gs, ax
	
    mov byte [gs:0x00], '1'   ;设置ASCLL码值
    mov byte [gs:0x01], 0xA4  ;0x1010 0100 -> 前景色(字的颜色)为红色,背景色为绿色,闪烁(字闪烁)

  持续更新中~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值