第五章 实验

实验1

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

对源程序 进行汇编、连接、运行

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

发现结果的图案发生了变化


实验2

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

对源程序 进行汇编、连接、运行

使用debug 的t 命令、g 命令、p 命令调试,用d 命令查看0:200~0:23F,确认是否将0~63 传送至此段内存区域。

 


实验3

 对源程序 进行汇编、连接、运行

因为要复制执行的指令,所以ds的值应该和和执行的代码段寄存器cs值一致,所以将cs值赋给ax,ax再赋给ds

一开始cx的值并不确定,我先用64试运行一下,再调试,发现cx值为17h,说明这长度为17h,我们可以再修改cx的值,再进行汇编、连接、运行

 修改后再调试

 用d 命令查看0:200之后的若干字节,观察是否将mov ax, 4c00h 之前的指令复制到指定内存

 

在最后结果中我们看到mov ax, 4c00h 之前的指令

实验感想

在[BX],loop指令中,CPU在执行loop指令时要进行两步操作,cx=cx-1,判断cx中的值,不为0则转到标号处执行程序,如果为0则向下执行

所以cx的值影响着loop指令执行的次数,[BX]储存的偏移地址,注意和ds代码段寄存器的配合使用。

inc指令

inc a相当于 add a,1

inc a 优点:速度快,占用空间小

注意有时要存储字时,加一不能满足要求,灵活运用。

拓展:dec指令  减一指令 相当于 sub a,1

在实验1中仅改变源代码程序中字数据0403H→修改为0441H,运行后图形发生变化,原理是什么?

猜你喜欢

转载自www.cnblogs.com/zq-dmhy/p/9953507.html
今日推荐