---恢复内容开始---
一、实验内容
(1)、先把相应代码输入,然后编译、链接
对程序进行调试
①由实验可知,data段中的数据保持不变。
②cs值为076c,ss为076b,ds值为076a 。
③code段的段地址为x,data的段地址为x-2,stack的段地址为x-1。
(2)将实验代码写入
进行调试
发现
①data 没有发生改变
②cs为076c,ss为076b,ds为076a
③data段地址为x-2,stack段地址为x-1.
④占有的空间(n/16+1)*16,当多出一部分不超过16字节时,还是会被当作一个字节段即16个字节来操作,而大于16则依次类推当做字节段计算。
(3)同(1)(2)的步骤一
进行调试
①data的值不发生变化
②cs的值为076a,ss值为076e,ds值为076d
③由此可知,data段地址为x+3,stack值为x+4
(4)由实验可知
发现只有(3)可以运行
可能是由于实验三中操作代码放在前面,不会产生歧义?
(5)写入代码
进行调试
这是将两个两个逻辑段相加之后的数据
(6)代码如下
先查看之前8个字节单元的信息
再查看
发现已经倒序存储到b段中了。
二、总结
本次实验,还是锻炼了我用debug在程序中逐步调试的能力,在第四个任务中,我只是根据观察的现象得知不可以正常运行,但对于原因还是不是很明白。
转载于:https://www.cnblogs.com/midone/p/10022993.html