实验五

一.

1.写代码

2.编译运行

 

所以

CPU执行程序,程序返回前,data段中的数据为:0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987

CPU执行程序,程序返回前,cs= 076C,ss= 076B,ds= 076A 

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

二、

1.写代码

.

 2.编译连接

 3.运行

CPU执行程序,程序返回前,data段中的数据为:0123h,0456h

CPU执行程序,程序返回前,cs= 076C,ss= 076B,ds= 076A 

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

程序加载后,该段实际占有的空间为:((N+15)/16)*16 

三.

1.编写程序

 

 

2.编译连接

 

 

3.运行

 

 

CPU执行程序,程序返回前,data段中的数据为:0123h,0456h

CPU执行程序,程序返回前,cs= 076A,ss= 076E,ds= 076D 

程序加载后,code段的段地址为:X,则data段的段地址为:X+3 ,stack段的段地址为:X+4

四.

 (3)的代码可以正确执行。如果去掉start,dw定义的字节就会被当做代码来执行,而(3)中使用的data段来实现的,所以可以实现。

五.

1.代码

2.编译运行

此程序的功能是实现数据的相加

六.

1.编写程序

2.运行

 

 所以:前8个字型数据已经逆序存储到b中

 

 实验心得:

在g指令来进行反汇编的时候一定要注意是运行到该条指令的前一条。

posted @ 2018-12-02 22:52  惜嘻戏  阅读(101)  评论(0编辑  收藏  举报