码迷,mamicode.com
首页 > 其他好文 > 详细

实验5

时间:2018-11-25 14:46:20      阅读:220      评论:0      收藏:0      [点我收藏+]

标签:程序   ima   总结   src   lang   其他   感受   元素   .com   

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

标签:程序   ima   总结   src   lang   其他   感受   元素   .com   

原文地址:https://www.cnblogs.com/cmhwy/p/10015305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!