实验九

 

---恢复内容开始---

练习1:补全程序t1.asm完成屏幕上输出内存单元中的两个十进制数

 

 经过编译连接执行后的结果如下图所示

 

 练习2

补全程序t2.asm,完成在屏幕上输出data段定义的5个十进制两位数,数据与数据之间以空格间隔

 

 

 

 

注意:ASCII中没有直接表示12等这类数字的字符,所以我们没有办法直接把这些东西输出

 否则将会适得其反得到如下的效果,故考虑将字符一个一个的输出,这就要用到除法

 

练习3

在屏幕中间分别显示绿色、绿底红色,白底蓝色的字符串‘welcome to masm!'

 

所得到的运行结果如下图所示

 

 

 

 

 

注意点

练习一

1.利用dw等指令,默认以16个字节唯一最小分配单元

2.数字与数字字符之间的ASCII码的差值为30h,大小写差20h

 练习2

在进行除法运算时一定要注意内存单元位数的匹配,否则会出现没有运行结果的运行结果

指令mov ah,2 

      mov dl,所要输出的字符的ASCII码

int 21h 可以实现对字符的输出

练习3

当寄存要存著的数据的开头是字母时,要在前面加上0

当进行多重循环时可以将最外层循环所要循环的次数存放于另一个寄存器(或者存放于栈空间)中

在每完成一次循环后将寄存其中的值减一在移入cx中在比较是否满足循环条件。

位于B8000H-Bffffh内存区域中控制着输出的颜色以及所表示的属性通常一个字符占两个字节

第一个字节是它所要输出的字符,第二个字节则是它的颜色属性

注意当rgb都为一时显示的是白色,都为零时显示的是黑色

下面是每一行在内存单元中的地址数

 

 

 

 

---恢复内容结束---

posted @ 2018-12-09 12:51  Assembly123  阅读(138)  评论(0编辑  收藏  举报