汇编语言 实验九

一: 补全程序t1.asm,完成在屏幕上输出内存单元中的十进制两位数 

1 因为我们知道第一段的db中只含有一个数字12,所以其只占即ds:[0]的位置,而我们需要的是将商保存后面字节的位置

2我们需要add dl 48是因为数字与数字符号之间的ASCII码差值为48

之后我们再查看其中的结果:

我们可以发现正如我么所想要的结果。

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

1 我们需要将db中的5个数字完成除法运算,所以可以运用到loop指令来进行使用。

2 前面的一些准备工作和问题一是一样的,不同的就是多了一个改变地址的寄存器了,这个选择哪个寄存器没有太大影响,你可以使用si,di,bp,bx,idata之类的,只要不是定值就行,在每次循环时地址加上1,就可以逐次的完成除法。

3 在每次输出的时候,要加上空格,所以我们可以在循环里加上一个输出空格的代码段。

之后我们再来看看得到的结果:

三: 教材实验9(P187) 

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

1 首先我么需要用loop指令来实现循环,有三次,在老师给的提示里我们可以找到中间三行的位置段地址,至于列数我们可以自行进行相应的调整,我们用di来表示。

2 之后我们就可以把数据里的单词依次的放入地址内存中,每个单词中间隔着的一个内存里面放的数字则代表这串字符的属性。

我们来查看我们想要的结果:

实验的收获:

在这次的实验中,自己学会了div用法以及更多的di,si,bp的用法,也了解了loop指令更多的用法,自己感到收获了非常多的东西,希望在以后的学习中,自己可以了解的更加的多。

转载于:https://www.cnblogs.com/QiaoGeGe/p/10092342.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值