第六章实验任务(2)

题目:将下面的程序编译连接,用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。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值