|实验 4 [bx]和 loop 的使用

实验 4 [bx]loop 的使用

一、实验结论

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

(1)       源代码

(2)     将源代码程序中字数据 0403H→修改为 0441H,编译链接运行。

 

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

(1)    源代码

(2)     编译链接运行,用u命令查看loop命令之后的偏移地址,用g命令快速执行到loop之后的位置,用d命令查看,确实已经成功将0~63 传送至此段内存区域。

 

3. 课本p121实验4内容

(1)    源代码

(2)    编译链接运行。

指令执行时cs:ip指向指令,所以cs就是指令的段地址因此要将cs的值传递给ax间接传递给ds。

指令段的长度就是循环执行的次数cx的值,由于不知道代码段的长度先将cx的值设为0。

 

编译链接运行。用u命令查看mov ax,4c00h指令之前的偏移地址。

所以应该给cx赋值17h。

 

用u命令和 d 命令查看 0:200 之后的若干字节,已经将 mov ax, 4c00h 之前的指令复制到指定内存 。

二、总结与体会

学习时需要区分在debug命令下编程的表达方式和编译器masm要求的合法表达方式,这也是[bx]存在的原因。学会了loop指令。体会到了loop指令和[bx]连用的编程效率。

posted on 2018-11-18 23:29  初始版本  阅读(249)  评论(1编辑  收藏  举报

导航