一、实验内容:

1】

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

源码如下:

然后运行出现了一排💗

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

 

2】

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

源码如下:

 

实验结果截屏如下:

 

然后T T T T命令(这里可以看出没看书,g命令应该拥有姓名)

int出现后使用P命令

 用D命令查看

#2.教材实验4(3)(P121) 

源码如下:

(使用es来存放目标空间的段地址,用ds存放原始空间的段地址,避免了在循环中一直重置ds) 

实验截屏如下

(076A:0018那行对着“mov ax 4c00h”,cx=18)

接着使用D命令查看

观察上下这两个图,确实“mov ax 4c00h”之前的指令复制到了0:200处

 

 二、实验总结:

 1)

第一个源码一开始写错了,直接把AX中的0403h传到了b800:07b8中,后来看别的同学的博客知道应该“分开al,ah按字在内存中存储的方式传递到内存单元中,原来的码:

还有,在汇编程序中,数据不能以字母开头,要在前面加0.

按一开始那样做,好像不影响💗的输出,但改完数据之后就不一样了,如上图。

 2)CX一开始不知道写多少,也是看了别人的博客。。。接着看书上的P108,大概是先随意对CX随意赋值再用U命令进行反汇编,参考mov ax,4c00h前的指令长度,接着讲CX改成那个再次编译连接运行。

3)G命令和P命令要学会运用

4)其实什么时候用al什么时候用ax还是分不清,我再好好看看8

posted on 2018-11-12 18:04  蓬得得蓬蓬  阅读(210)  评论(0编辑  收藏  举报