实验四 [bx]和loop的使用

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

(1)编写源代码。

(2)编译、连接、运行。

(3)将源代码程序中字数据0403H修改为0441H。

(4)编译、运行、连接。

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

(1)编写源程序。

将0:200~0:23F变化为0020:0~0020:3F,使得([bx])的值与(bx)的值相等。

(2)编译、连接、执行。

(3)在debug中用d命令查看0:200~0:23F中的内容。

可看出成功赋值。

(4)用r命令和u命令查看cpu当前状态和将要执行的指令。

(5)g命令调试。

(6)t命令和p命令共同调试。

t命令

.................

 

 三.将mov "ax,4c00h"之前的指令复制到内存0:200处,补全程序,上机调试。

(1)先随便在第二个空格处填写一个数字,可以用u命令查看代码长度。

 (2)编写正确的源代码。

 

第一个空格填写cs,使得内存单元的段地址变为当前将要执行指令的段地址。

第二个空格填写第(1)步中得到的代码段的长度。

(3)u命令反汇编,d命令查看0:200处的内容。

经比较可知内存单元0:200处被成功赋值了。

 (4)g命令调试。

 

(5)他命令和g命令和p命令共同调试。

 

 

四.总结和体会。

(1)对连续内存单元的连续赋值时,要注意是字数据还是字节数据。

(2)在追踪代码的执行时,要灵活运用t命令,p命令,g命令。

(3)自身代码的赋值很神奇,要将内存单元的段地址指向代码段的短地址,才能完成赋值。

 

posted on 2018-11-18 00:23  猫猫兔  阅读(253)  评论(0编辑  收藏  举报

导航