标签:完成 偏移地址 显示 数据 绿色 技术分享 知识点 蓝色 asc
这里用到div除法运算,用al存放十位数字,用ah存放个位数字,因为要输出十进制的两位数,则在他们本身数字的基础上加上0的ASCII码值30h即可。最后输出结果为12.
2.补全程序 t2.asm,完成在屏幕上输出 data 段定义的 5 个十进制两位数,数据和数据 之间以空格间隔。
这是仿照实验1写出的,因为这里有5个数字要输出,所以要循环五次。不变的是用al存放商(十位数字),ah存放余数(个位数字)。且每两个数中间用空格,即运用上面的三行代码mov ah,2 mov dl,0 int 21h即可实现。
3.编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串 ‘welcome to masm!‘。
这题相比前两题复杂许多,先是确定屏幕中间的第十一行的偏移地址是06e0h,再确定总体框架,因为要输出三行,所以外层循环三次,而每个字符串有16个字节,所以内层循环16次。这里的偶地址(低位)存放字符,奇地址(高位)存放字符的属性(颜色)。确定这些之后再编写代码。
总结与感悟:
这次实验是之前所学的总结性实验,用到了很多知识点,主要是应用div除法运算进行十进制的输出,再加上循环来实现。以及对内存偏移地址的分析和运用。虽然本次实验难度增加了不少,但是对编程的能力也为之增强些许。
标签:完成 偏移地址 显示 数据 绿色 技术分享 知识点 蓝色 asc
原文地址:https://www.cnblogs.com/Sgolden/p/10100215.html