cChris

导航

实验五

一.

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中

 

 实验心得:

一个段的大小是16个字节,因此程序加载后分配空间是以16个字节为单位的,也就是说如果不足16个字节的也分配16个字节。

posted on 2018-12-02 23:02  cChris  阅读(189)  评论(0)    收藏  举报