实验5

实验一:

1:代码:

2:编译连接运行

(1)CPU执行程序,程序返回前,data段中的数据为多少?

23 01 56 04 89 07 BC 0A EF 0D ED 0F BA 0C 87 09

(2)CPU执行程序,程序返回前,cs=15fb、ss=15f9、ds=15e9。

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

实验2:

1,代码:

2,编译连接运行:

 

(1)CPU执行程序,程序返回前,data段中的数据为多少?

  23 01 56 04 00 00 00 00 00 00 00 00 00 00 00 00

(2)CPU执行程序,程序返回前,cs=15fb、ss=15f9、ds=15e9。

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

实验3:

1,代码:

2,编译连接运行:

 

 

 

(1)CPU执行程序,程序返回前,data段中的数据为多少?

  23 01 56 04 00 00 00 00 00 00 00 00 00 00 00 00

(2)CPU执行程序,程序返回前,cs=15f9、ss=15f9、ds=15e9。

(3)设程序加载后,code段的段地址为X,则data段的段地址为X+3,stack段的段地址为X+4。

实验4:

1,

2,

3,

对比发现,1,2修改后不能正常运行,3可以,因为程序从所分配的空间开始执行,前2个是数据段,第3条是代码段在前,因此只有3正确执行。

实验5:

1,代码:

实验6

1,代码:

 

2,编译连接运行:

总结:上周老师课上所讲的关于考试的东西,让我开始紧张起来,于是又重新温习了一遍,在做实验的过程中,了解了关于多个段的程序的编写与运行,尤其是实验4,程序从所分配的空间开始执行

 

posted on 2018-11-26 21:23  free_rocket_man  阅读(123)  评论(0编辑  收藏  举报

导航