汇编语言 实验四

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

我们可以看到确实是得到了我们想要的结果

下面我们按着要求 再对代码进行些改动:

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

从图中我们可以看到了结果却是发生了改变。

 

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

我们利用了d命令进行查看,发现其中的内容确实已经发生了改变。

 3:代码填空:

assume cs:code

code segment

  mov ax,_____

  mov ax,0020h

  mov es,ax

  mov bx,0

  mov cx,_____

s:mov al,[bx]

  mov es:[bx],al

  inc bx

  loop s

  mov ax,4c00h

  int 21h

code ends

end

首先第一个空应当放入程序的入口地址cs

由于我们目前不知道循环的次数 所以我们可以随意的输入9h;

再进行各种操作:

 

从所取得的寄存器cx中我们发现它的值为001c又因为原本程序就有本身的长度0005所以减去之后就是我们得到的17h

我们来查看最后的结果:

从图中的结果我们可以知道

确实已经复制成功了。

实验收获:

1 学会了bx和loop的运用 收获了不少新的知识点,得到了很多自己想要的,从别人的博客中也学到了不少关于push的知识。

2 利用反汇编的方法可以查看到许多无法知道的事情,这次实验确实收获了很多的。

posted @ 2018-11-20 12:45  乔GG  阅读(166)  评论(0编辑  收藏  举报