汇编10H中断

汇编10H中断

.2.1.1 单色字符显示

对单色显示,字符的属性定义了字符的显示特性,如字符是否闪烁,是否加强亮度,是否反相显示。单色显示属性字节的各位功能如动画所示。

属性可以有不同的组合,例如可以在屏幕上显示白底黑字(反相显示)代替通常的黑底白字。正常的属性是07(二进制00000111),即背景为黑色(000),前景为白色(111),而闪烁位为正常(0),加强亮度位也是正常(0)。为改变成反相显示,必须使背景为白色(111),前景为黑色(000),所以属性字节的值应为70,即二进制01110000。如果想要黑底白字及闪烁显示,属性值应为87(10000111)。背景为000,前景为001,这种组合可产生下划线。

屏幕上的字符可以按相同的属性显示,也可以按不同的属性显示,如果你设置的属性为00H,字符就显示不出来。
9.2.2.1 控制光标

光标在屏幕上指示字符的显示位置,它不是ASCII字符表中的字符。计算机有专门的硬件来控制光标,我们熟悉的光标符一般是一个下划线或方块符。

利用INT 10H的功能1使光标显现或关闭。这个功能也控制光标行的开始和结束,也就是说控制光标的大小。表示光标行开始和结束的数据分别放在CH和CL的低4位(0―3),当CH 的位为1时,光标不显现出来(关闭);当第4位为0时,光标在屏幕上显现出来。单色显示器的光标大小的范围从0到13。

INT 10H的功能2设置光标位置。光标位置的行号设在DH寄存器中,列号设在DL中。在24×80的显示方式中,坐标设在(0,0)是屏幕的左上角,(24,79)是屏幕的右下角。BH中必须包含被输出的页号,对单色显示器来说,页号总是0。

9.2.2.2 读光标位置

INT 10H功能3是读光标位置,页号必须在BH中指定。此功能把光标位置的行号回送给DH,列号回送给DL。光标大小的参数填入CH和CL,也就是说,在CH和CL中回送的是用功能1设置的光标参数。

例9.9 读0页的当前光标位置。

9.2.2.3 选择显示页

INT 10H的功能5可由程序确定显存中的显示区域。ROM BIOS将CGA的显存分为4页,每页25×80个字符,或分为8页,每页25×40个字符。每一页的起始地址在1KB的边界。这4页的起始地址分别为B800:0000,B800:1000,B800:2000,B800:3000。

例9.10 选择显示页。

9.2.2.4 清屏和卷屏

INT 10H功能6能使屏幕内容上卷指定的行,这个功能需要设置7个参数。如果AL = 0,则实际完成的工作是清除屏幕的功能,它将按AL中的BLANK字符(0)使指定的窗口为空白。

如果屏幕的起始行列不为(0,0),结束的行列不为(24,79),则屏幕只有指定的一部分具有上卷的功能,这个屏幕上的部分区域我们叫做窗口(Window),象这样的窗口我们可以在屏幕上设置多个,这些窗口都可独立使用。如果上卷超过指定窗口的顶部,这些行的内容就消失,出现在窗口底部的新行被填为空格,其属性由BH寄存器决定。

例9.11 编写清除全屏幕的子程序
例9.12 清除左上角为(0,0),右下角为(24,39)的窗口,初始化为反相显示,该窗口相当于全屏幕的左半部分。
例9.13 在屏幕中心的小窗口显示字符。



[图示]  图9.3 16色方式下的属性字节         


[表格] 表9.7 16种颜色的组合
颜色  I R G B     颜色  I R G B     颜色  I R G B     颜色  I R G B
黑   0 0 0 0     灰   1 0 0 0     红   0 1 0 0     浅红  1 1 0 0
蓝   0 0 0 1     浅蓝  1 0 0 1     品红  0 1 0 1     浅品红 1 1 0 1
绿   0 0 1 0     浅绿  1 0 1 0     棕   0 1 1 0     黄   1 1 1 0
青   0 0 1 1     浅青  1 0 1 1     灰白  0 1 1 1     白   1 1 1 1
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值