实验5

实验5,我来了,冲鸭!

1.

源码如下:

进行编译:

用反汇编指令查看返回之前的地址;

查看data段中的数据正是我们之前在段中定义数据,小端法排放;

ss

即程序返回前,cs=076c,ss=076b,ds=076a;

可以看出:若程序加载后,code段的段地址为X的话,那data段的段地址就为:X-2;stack段的为:X-1;

2.

源代码如下:

同样的操作:

查看data中的数据:

 即data段中的数据是0123h,0456h;

cs=076c,ss=076b,ds=076a;

若code段的短地址为X,data段的段地址为X-2,,stack段的段地址为X-1;

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

(N/16+1)*16   (若N不为16倍数时)

  16N(若N为16倍数时)

3.

源代码如下:

相同的操作:

即data段中的数据为0123h,0456h;

cs=076a,ss=076e,ds=076d;

若code的段地址为X,data段的段地址为X+3,stack段的段地址为:X+4;

4.将end start中的start去掉后,都可以执行的吧,我3个程序都删了试了,都和之前没什么差别,因为

也就code segment段中有代码吧,其他除了这个就没其他的代码段了,没有影响。

5.

6.

emmmm。。

 

posted on 2018-11-27 00:00  柯朵莉  阅读(126)  评论(0编辑  收藏  举报