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

实验五

时间:2018-12-03 23:34:05      阅读:359      评论:0      收藏:0      [点我收藏+]

标签:成功   编译   依次   编译器   源程序   14.   提高   框架   实现   

一、实验目的

1. 理解和掌握将数据、代码、栈放入不同段的程序的编写和调试 2. 理解具有多个段的汇编源程序对应的目标程序执行时,内存分配方式

 

二、实验准备

1. 结合第6章教材和课件,复习第6章内容 2. 复习第3章「栈」的知识

 

三、实验内容

教材133实验 5 ps: 1. 实验5相关提示见本文档最后一部分「附:实验5提示&说明」 2. 为提高实验效率,我已将实验 5 的程序框架准备好,可以从课程公邮→文件中心→ 实验文件夹,下载实验5程序框架。

 

实验任务(1)

技术分享图片

技术分享图片

技术分享图片

在程序编译、连接完成之后,依次使用R命令,U命令,G命令,D命令进行调试

技术分享图片

1.       CPU执行程序,程序返回前,data段中的数据为:0123H,  0456H,  0789H,  0abcH,  0defH,  0fedH,  0cbaH,  0987H

2.       CPU执行程序,程序返回前,cs=076Css=076Bds=076A

3.       程序加载后,code段的段地址为X,则data段的段地址为: X-2stack段的段地址为: X-1

实验任务(2)

技术分享图片

技术分享图片

技术分享图片

1.       CPU执行程序,程序返回前,data段中的数据为:0123H,  0456H

2.       CPU执行程序,程序返回前,cs=076C  ,ss=076B  ,ds=076A 

3.       设程序加载后,code段的段地址为X ,则data段的段地址为:X-2stack段的段地址为:X-1

4.       对于如下定义的段如果段中的数据占N个字节则程序加载后,该段实际占有的空间为: (N/16+1)*16

实验任务(3)

技术分享图片

技术分享图片

技术分享图片

1.       CPU执行程序,程序返回前,data段中的数据为:0123h,  0456h

2.       CPU执行程序,程序返回前,cs=076Ass=076Eds=076D

程序加载后,code段的段地址为X,则data段的段地址为:X+3stack段的段地址为:X+4

实验任务(4)

 实验(3)可以正确执行,因为去掉start之后,编译器便会按顺序(从上到下)执行程序。

实验任务(5)

技术分享图片

输入代码后,编译,连接成功

技术分享图片

 

技术分享图片

技术分享图片

实现了数据的相加

实验任务(6)

技术分享图片

技术分享图片

技术分享图片

技术分享图片

完成数据的逆序存储

总结体会

通过使用段,能够更加清晰的解决问题。

 

实验五

标签:成功   编译   依次   编译器   源程序   14.   提高   框架   实现   

原文地址:https://www.cnblogs.com/Rowan-Atkionson/p/10061626.html

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