实验 4 [bx]和 loop 的使用
Posted jywe
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验 4 [bx]和 loop 的使用相关的知识,希望对你有一定的参考价值。
院 计软院 专业 计科 年级 2017级 班次 4班 姓名 江漪雯 学号 20171308150
实验结论
1、综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个 字单元重复填充字数据 0403H。
编写汇编程序如下图,命名为t1.asm。(注意:字单元,填充下一个需要使bx+2,即执行两条inc bx命令,
相当于bx中的内容加2。
分别进行编译,连接,运行。
进行清屏操作后,运行程序,显示结果。
将源代码程序中字数据 0403H→修改为 0441H,再次运行,截图显示运行结果。
只需打开他t1.asm,将值修改并保存
0~63(3FH)
编译,连接
使用T命令单步执行,再次遇到loop指令时,使用P命令执行,直到cx=0为止。
调试完毕,,用 d 命令查看 0:200~0:23F,确认是否将0~63传送至此段内存区域。
也可使用G命令直接执行完。
实验任务3:教材实验4(3)(P121)
mov ax 后面填写的是 cs,根据题意复制的内容是代码,所以要把代码段段地址赋给数据段段地址。
mov cx 后面填写的是17h,因为要复制的内容是 mov ax,4c00h 前的内容,所以复制的代码是从 mov ax,cs 到 loop s。mov 用在寄存器之间占 2 个字节,用在寄存器和立即数之间占 3 个字节,inc bx 占 1 个字节,而loop s 相当于寄存器间的 mov 指令,占 2 个字节,因此可以计算出加起来程序长度为 17h。
编程序
进行编译,连接后用T命令,P命令调试(下面多打了一个a)
查看后得知);200~0:216存放这所编写的机器码
反汇编,得知0:200~0:215是我们编写的汇编指令,确认无误。
总结与体会
1.要熟练掌握编译,连接运行的操作步骤
2.在 汇编源程序中,数据不能以字母开头,所以要在前面加0。在编写代码前要搞清楚运算后的结果是否会超出dx所能存储的范围,用哪个寄存器进行累加,如何进行寄存器之间的赋值这三个问题。
3.要学会计算程序的长度。
4.要学会使用T命令和P命令之间的配合调试操作。
以上是关于实验 4 [bx]和 loop 的使用的主要内容,如果未能解决你的问题,请参考以下文章