实验5

Posted cmhwy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验5相关的知识,希望对你有一定的参考价值。

1。

 

.技术分享图片

技术分享图片

技术分享图片

用r指令查看stack段地址076B,由于stack内是8字即16个字节。所以data区短地址是076A,刚好数据区也是16个字节,用d 076A:0 F查看数据元素。

  用u指令反汇编代码,得到代码段最后是076A:001D。用g命令执行该代码。

 

 技术分享图片

可以得到CS=076C,SS=076B,DS=076A。假设CODE段的段地址为X,则DATA段的段地址为 X-2 ,STACK段的段地址为 X-1 

 

2.

技术分享图片

技术分享图片

 

 3.

技术分享图片

技术分享图片

数据data区没有改变,原数据详细地代码请展开练习3 下面的代码。

假设CODE段的段地址为X,则DATA段的段地址为 X+3 ,STACK段的段地址为 X+4 

4.

 将1、2、3中最后最后一条伪指令“end start”改为“end”

技术分享图片

 

技术分享图片

技术分享图片

技术分享图片

实验证明,只有第三个程序,是能够正常运行。

  如果不指明入口位置,则程序从所分配的空间开始执行。只有第三个是以代码段开始,则不会将其他数据段当成代码段执行。

5.

技术分享图片

 

技术分享图片

技术分享图片

6.

技术分享图片

 

技术分享图片

技术分享图片

 

总结感受

让逻辑段 a 作为数据段(和 ds 关联起来),c 作为附加段(和 es 关联起来);将逻辑段 a 的数据→复制到逻辑段 c(可借助 mov 和 loop 实现)让逻辑段 b 作为数据段(和 ds 关联起来),c 作为附加段(和 es 关联起来);将逻辑段 b 的数据加到逻辑段 c(可借助 add 和 loop 实现)

章主要是综合运用前面的内容,定义栈,使用段地址加偏移地址,进行访问,存储

以上是关于实验5的主要内容,如果未能解决你的问题,请参考以下文章

2018-2019-5 20175304实验三《敏捷开发与XP实践》实验报告

实验 5

实验报告四

第三次实验报告

实验5 RIP实验

实验报告4