编程:在屏幕中间分别显式绿色、绿底红色、白底蓝色的字符串‘welcome to masm!’
思路:
- 首先分别求出绿色、绿地红色、白底蓝色所对应的属性值。分别为
02H,24H,71H。 - 将’welcome to masm!'以及上述三个属性值分别写入内存中的数据段。
- 定位屏幕中间的内存地址,由题知,每一页25行,每行80个字符,160个字节。我们需要将三行内容显示在屏幕中央,故我们要从第12行的中央开始显示,12行中央的地址为:B8000+(11×160+64)=B8720H,我们将B872作为目标段地址。
- 定义一个大循环,循环3次,打印三条语句。其中
es定位目标段地址,di定位目标偏移地址,si定位数据源的偏移地址。 - 定义两个小循环,嵌套在大循环中,第一个小循环负责将字符从数据段拷贝至显存,第二个小循环负责将字符的属性从数据段拷贝至显存。
代码:
assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
db 'welcome to masm!'
db 02h

这篇博客介绍了如何用汇编语言在屏幕中间显示绿色、绿底红字和白底蓝字的'welcome to masm!'字符串。通过计算屏幕中央的内存地址,并设置字符颜色属性,实现了文本的彩色显示。代码包括定位目标地址、拷贝字符及属性到显存的循环过程。
最低0.47元/天 解锁文章
1433

被折叠的 条评论
为什么被折叠?



