任务一:
1、用e命令修改内存单元0021:0~0021:7连续8个字节的数据:
再用的命令查看0021:0000内存单元的数据发现修改的数据全部写入内存单元。
2、用a命令将程序段写入内存,并用t命令逐步查看:
写入的程序段如下:
先使用r命令查看各个寄存器的初始值如下:
再使用t命令逐步查看如下:
对比debug环境的逐步调试可以看出理论与实验结果一致。
任务二:编入程序段查看为什么2000:0~2000:f中的内容会发生改变
1、用a命令将程序段编入如下:
首先使用r命令查看各个寄存器的初始值如下:
接下来使用t命令逐步调试如下:
调用d命令再次查看内存单元2000:0 f的值:
可以看出 ,与之前查看内存单元2000:0 f时的值 f发生了变化
预测:可能是因为在执行栈操作的时候进行空间分配时顺带修改了内存单元中的值
总结:
实验二是对实验一的深入操作,可以看出这次加入了对栈的操作,使得汇编得指令更加复杂,这里面包含了
对栈空间得分配等问题,这次实验结束后感觉自己对栈空间掌握得还不是很牢固,还需要多加练习。