第六章实验任务(2)

来源:互联网 发布:仓库数据分析 编辑:程序博客网 时间:2024/05/29 10:20

题目:将下面的程序编译连接,用debug加载、跟踪,然后回答问题。

源代码:

调试过程:

问题1:CPU执行程序,程序返回前,data断的数据为多少?

解答:data段的数据是:144C:0000  23 01 56 04 00 00 00 00-00 00 00 00 00 00 00 00,结果保持变。

问题2:CPU执行程序,程序返回前,cs=144eh、ss=144dh、ds=14ch。

问题3:设程序加载后,codesg段的段地址为X,则datasg段的段地址为X-2h,stacksg段的段地址为X-1h。道理同上一篇所述。

问题4:对于如下定义的段:

name segment

.....

name ends

如果段中的数据占N个字节,则程序加载后,该段实际占有的空间为?

解答:通过以上第六章的实验1和实验2可以知道,因为段的最小空是16KB,即一个定义的段最少占据16个字节。如果N<16KB时,其长度为16KB。设N/16=s 如果s是个非整数则s=s+1,最终 s*16 就是这个段实际占用的空间,单位为KB。

 

原创粉丝点击