实验四

南京信息工程大学实验报告

实验(实习)名称     [bx] 和 loop 的使用    实验(实习)日期    2018年11月25日   得分        指导老师 耿学华 

计软院 专业 计科 年级 2017级 班次 5 姓名 沈筱月 学号 20171308198

一、实验目的

  1. 理解和掌握寄存器间接寻址方式[bx]
  2. 通过汇编指令loop的使用理解编程语言中循环的本质
  3. 熟练掌握使用debug按需调试完整汇编源程序的方法

 

二、实验准备

  1. 学习/复习第5章使用[bx]和loop实现循环的编程应用示例
  2. 复习第3章[栈]的知识
  3. 结合第4章课件,复习完整汇编程序编写->汇编->连接->运行->调试的方法

 

三、实验内容

  1. 综合使用loop,[bx],编写完整汇编程序,实现向内存b800:07b8 开始的连续16个字单元重复填充字数据0403H。
  2. 综合使用loop,[bx],编写完整汇编源程序,实现向内存0:200~0:23F 依次传送数据0~63(3FH)。

        (1)必做:综合使用loop,[bx],mov实现

        (2)选做*:利用栈的特性,综合使用loop,push实现(限定仅使用8086中已学过指令实现)

        3. 教材实验4(3)(p121)

 

四、实验结论

1、实验内容1

综合使用loop,[bx],编写完整汇编程序,实现向内存b800:07b8 开始的连续16个字单元重复填充字数据0403H。

首先在edit指令下写入程序,保存为t1.asm

接着,进行编译和连接

执行结果如下

执行结果是在屏幕上打上16个红心

将源代码程序中字数据0403H改写为0441H,再次编写,再次运行

执行结果如下

执行结果由红心变成了红色大写字母A

 

2.实验内容2

综合使用loop,[bx],编写完整汇编源程序,实现向内存0:200~0:23F 依次传送数据0~63(3FH)。

首先编写程序,再编译连接

最后使用debug查看

实验结果为向指定内存单元存入了0~63的字节数据

 

3.实验任务3

下面程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行结果。

首先,先写入源程序,在书上划线空白第一处可知,应填入“cx”,第二处划线空白处应填写的是循环次数,由于不知道循环几次,所以先填写6次

接着进行编译连接

再使用debug命令,u命令查看

从第12行可以看出循环次数为17,再回到源程序中修改循环次序

再次编译连接

再次使用debug命令、u命令,执行完g命令之后,显示0:200处的结果

结果显示,程序已补全。

 

五、总结与体会

本次实验不仅复习了前面学习的编写完整程序,还让我学会了如何使用循环语句来把指令简洁化,但还有很多需要实践。

 

posted @ 2018-11-25 21:58  沈筱月  阅读(168)  评论(0编辑  收藏  举报