实验四

   实验 4              [bx]和 loop 的使用                                                                 

 

学院    计软院                 专业   计科6班             年级 2017 级               

姓名    谢宏伟                  学号  20171308260

 

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

 

二、实验准备
1. 学习/复习第 5 章使用[bx]和 loop 实现循环的编程应用示例(教材 5.5 节,5.8 节)
2. 复习第 3 章「栈」的知识
3. 结合第 4 章课件,复习完整汇编源程序编写→汇编→连接→运行→调试的方法

 

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

1.先使用edit 写入源程序

实验四_第1张图片

 

 

2.编译源程序并且连接它

实验四_第2张图片

 

 3.执行该程序,此时屏幕上打印了一排红色星星

实验四_第3张图片

 

 将源代码程序中字数据 0403H→修改为 0441H,再次运行,截图显示运行结果。

实验四_第4张图片

 

实验四_第5张图片

 

 此时出现了一排红色大写字体A;

 

 

 

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

 

 

1.依旧使用edit来写源程序。

实验四_第6张图片

 

2.然后编译连接该程序。

实验四_第7张图片

 

 3.使用debug去查看0:200~0:23F,确认是否将 0~63 传送至此段内存区域。

实验四_第8张图片

 

 实验四_第9张图片

 

 确实这段内存的内容被修改成了指定内容。

 

3. 实验内容 3
(1)任务三:下面的程序的功能是将“mov ax,4c00h"前的指令复制到内存0:200处,补全程序。上机调试,跟踪运行成果。

(2)汇编连接后,灵活使用 debug 的 t 命令、g 命令、p 命令调试,用 d 命令查看 0:200
之后的若干字节,观察是否将 mov ax, 4c00h 之前的指令复制到指定内存。

 

 

1.先假设cx值为8。

实验四_第10张图片

编译连接该程序、

实验四_第11张图片

 

用debug加载333.exe,用r命令查看CX=001C,说明程序的长度为001CH-5H=17H

 

 实验四_第12张图片

 

 

回去源程序将CX的值从8h 改为17h。

在编译连接。 

再用debug去使用t命令来一步步执行程序:

实验四_第13张图片

 

实验四_第14张图片

 

 

 实验四_第15张图片

 

 实验四_第16张图片

 

最后使用g命令全部执行,查看0:200 内存处的内容,

结果已经将 mov ax, 4c00h 之前的指令复制到指定内存。

 

 

总结与体会:

 

本次实验我学会了[bx]的意义和作用,以及loop这个循环的使用方法。其中cx用来控制循环的次数,我可以通过r命令查看cx的值来确定长度。

以及g命令和p命令也了解到了一些。还需要更深入理解本节知识点。

 

你可能感兴趣的:(实验四)