实验四报告
Posted ddddddian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验四报告相关的知识,希望对你有一定的参考价值。
实验名称 实验 4 [bx]和 loop 的使用
实验日期 11/21学院 计软院 专业 计科 年级 2017 级 4 班次 姓名 任心怡 学号 20171308152
一、实验目的
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。
代码如下:
进行编译链接和运行
2. 综合使用 loop,[bx],编写完整汇编源程序,实现向内存 0:200~0:23F 依次传送数据 0~63(3FH)。
(1)必做:综合使用 loop, [bx], mov 实现
代码如下:
进行编译链接运行,得到运行结果:
(2)选做*:利用栈的特性,综合使用 loop,push 实现(限定仅使用 8086 中已学过 指令实现)
代码如下:
得到运行结果:
3. 教材实验 4(3)(P121)
经过尝试后,最终得出代码如下:
没有说明从哪个具体位置开始复制,自动默认为从cs段寄存器开始
因为 mov ax,4c00h前指令所占17个字节 所以 mov cx,17
实验总结:
一开始写代码时候【bx】的使用并不到位,后来查看书中代码后发现,【bx】是一个内存单元,偏移地址是bx
可以配合mov指令将数据放入【bx】中。
loop指令需要通过改变cx的值来确定循环数,而cx的值要看具体问题而定。
通过前两小题的代码编写后,我发现使用栈的特性来实现相同功能时,写起来就很轻松。一开始看见是选做,想着先试试吧,结果编写起来毫不费劲,还挺快乐哈哈。
这次实验重要要掌握的是:【bx】和loop的指令使用。
也可以尝试使用段前缀来表达内存单元。
以上是关于实验四报告的主要内容,如果未能解决你的问题,请参考以下文章
2018-2019-20175205实验四《Android程序设计》实验报告
2017-2018-2 20165228 实验四《Android程序设计》实验报告