显存中字符串不同颜色的显示

一. 实验目的

1、 掌握转移指令的原理分析。
2、不同转移指令之间的转换及其灵活应用。

二.实验内容

1、 依据位移进行转移的转移指令的灵活运用。
2、 转移指令的原理分析及调试追踪。

三. 实验内容

编程实现在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串‘welcome to masm!’
8025彩色字符模式显示缓冲区(以下简称为显示缓冲区)的结构:内存地址空间中,B800H ~ BFFFH共32KB的空间,为8025彩色字符模式的显示缓冲区。向这个地址空间写入数据,写入的内容将立即出现在显示器上。在8025彩色模式下,显示器可以显示25行,每行80个字符,每个字符可以有256种属性(背景色、前景色、闪烁、高亮等组合信息)。这样一个字符在显示缓冲区就要占两个字节,分别存放字符的ASCII码和属性。8025模式下,一屏的内容在显示缓冲区中共占4000个字节。显示缓冲区分为8页,每页4KB,显示器可以显示任意一页的内容。一般情况下,显示第0页的内容。也就是说通常情况下,B800H~B8F9FH中的4000个字节的内容将出现在显示器上。
在一页显示缓冲区中:
偏移000~09F对应显示器上的第1行(80个字符占160个字节);
偏移0A0~13F对应显示器上的第2行;
偏移140~1DF对应显示器上的第3行;
以此类推,可知偏移F00~F9F对应显示器上的第25行.
在一行中,一个字符占两个字节的存储空间(一个字),低位字节存储字符的ASCII码,高位字节存储字符的属性。一行共80个字符,160个字节。
即在第一行中:
00~01单元对应显示器上的第1列;
02~03单元对应显示器上的第2列;
04~05单元对应显示器上的第3列;
以此类推可知,9E~9F单元对应显示器上的第80列。
例:在显示器的0行0列显示黑底绿色的字符串‘ABCDEF’
(‘A’的ASCII码为41H,02H表示黑底绿色)
显示缓冲区里的内容为:
00 01 02 03 04 05 06 07 08 09 0A 0B….0E 0F
B800:0000 41 02 42 02 43 02 44 02 45 02

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值