汇编实验五

1.任务一

.

(1)cpu执行程序,程序返回前,data段中的数据如上图所示,保持不变;

(2)cpu执行程序,程序返回前,cs=0772h,ss=0771h,ds=0770h;

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

2.任务二

(1)cpu执行程序,程序返回前,data段中的数据为0123h和0456h,保持不变;

(2)cpu执行程序,程序返回前,cs=0772h,ss=0771h,ds=0770h;

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

(4)对于如下定义的段:

name segment

name ends

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

3.任务三

(1)cpu执行程序,程序返回前,data段中的数据为0123h和0456h;

(2)cpu执行程序,程序返回前,cs=0770h,ss=0774h,ds=0773h;

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

4.任务四

如果将(1)(2)(3)的最后一条伪指令“end start”改为"end”(也就是说,不指名程序的入口),则哪个程序依然可以运行?

(1)

不可以正确执行

(2)

不可以正确执行

(3)

可以正确执行;

5.任务五

6.任务六

push操作之后,变为倒序;

7.实验总结与分析

对于任务四的结果不是很理解,只是全部操作一遍之后发现(1)(2)都不可以正确操作,求大神解答;

还有任务三的第四个小问也不是很理解,百度之后有各种各样的答案,解析不是很懂;

数据,代码和栈可以放入不同的段进行操作,也是有了一点了解;

posted @ 2018-11-21 20:03  计科张岩  阅读(178)  评论(0编辑  收藏  举报