实验4汇编实验.doc

实验4汇编实验.doc

ID:57211251

大小:171.00 KB

页数:13页

时间:2020-08-06

实验4汇编实验.doc_第1页
实验4汇编实验.doc_第2页
实验4汇编实验.doc_第3页
实验4汇编实验.doc_第4页
实验4汇编实验.doc_第5页
资源描述:

《实验4汇编实验.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数学与软件科学学院实验报告学期:2017至2018第2学期2018年4月4日课程名称:汇编语言专业:信息与计算科学班级:2015级_5班实验编号:4实验项目:编写、调试具有多个段的程序指导教师:冉茂华姓名:黄玉含学号:实验成绩:1、将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题。assumecs:code,ds:data,ss:stackdatasegmentdw0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987hdataendsstacksegmentdw0,0,0,0,0,0,0,0stackendscodeseg

2、mentstart:movax,stackmovss,axmovsp,16movax,datamovds,axpushds:[0]pushds:[2]popds:[2]popds:[0]movax,4c00hint21hcodeendsendstart执行结果如下:说明了cs=___076c_____,ss=____076b______,ds=_______076a_________(1)、CPU执行程序,程序返回前,data段中的数据是多少?还未执行时的数据:执行程序后的数据:不变,因为程序加载进去段内容就已经固定。(2)、CPU执行程序,程序返回前,cs=___076c

3、_____,ss=____076b______,ds=_______076a_________。(3)、设程序加载后,code段的段地址为X,则data段的段地址为___X-2_____,stack段的段地址为____x-1______。分析:程序段的段地址总是16的倍数且程序在内存中顺序加载。1、将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题。assumecs:code,ds:data,ss:stackdatasegmentdw0123h,0456hdataendsstacksegmentdw0,0stackendscodesegmentstart:mova

4、x,stackmovss,axmovsp,16movax,datamovds,axpushds:[0]pushds:[2]popds:[2]popds:[0]movax,4c00hint21hcodeendsendstart(1)、CPU执行程序,程序返回前,data段中的数据是多少?返回前的data段中内容为0123h,0456h,说明在编译链接时data段已经加载进内存。(2)、CPU执行程序,程序返回前,cs=____076c____,ss=___076B_______,ds=_________076a_______。(3)、设程序加载后,code段的段地址为X,则d

5、ata段的段地址为___x-2_____,stack段的段地址为___x-1_______。(4)、对于如下定义的段:namesegment......nameends如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为((N-1)/16+1)*16。分析:段在程序加载后实际占据的空间以16为单位。1、将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题。assumecs:code,ds:data,ss:stackcodesegmentstart:movax,stackmovss,axmovsp,16movax,datamovds,axpushds:[0]p

6、ushds:[2]popds:[2]popds:[0]movax,4c00hint21hcodeendsdatasegmentdw0123h,0456hdataendsstacksegmentdw0,0stackendsendstart(1)、CPU执行程序,程序返回前,data段中的数据是多少?01230456(2)、CPU执行程序,程序返回前,cs=___076a_____,ss=_____076e_____,ds=_____076d___________。(3)、设程序加载后,code段的段地址为X,则data段的段地址为__x+3______,stack段的段地址为

7、___x+4_______。分析:程序按顺序执行。1、如果将1、2、3题中的的最后一条伪指令“endstart”改为“end”,则哪个程序仍然可以正确的执行?请说明原因。答:第3题的程序,因为程序顺序执行。分析:如果不指名start入口地址,并且使用end替换endstart,程序仍可以执行。因为如果不指名入口,程序则从加载进内存的第一个单元起开始执行,但因为程序中有部分是作为数据使用的,如果不指名入口,cpu会将数据当作汇编指令执行,所以一般要指明入口地址。1、程序如下,编写code段中的代码,将a段和b段中的数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。