实验结论
1. 实验任务2
• d命令查看生产时期的截图
• e命令修改生产日期所在内存单元的截图
日期无法修改,在8086CPU中,C0000~FFFFF用于各类ROM空间,写入数据操作是无效的,这相当于改写只读存储器的内容。
2. 实验任务3
• 在debug中使用e命令修改内存单元
• 在debug中使用f命令批量填充内存单元
• 修改数据后的效果截图
3. 实验任务4
•填空
002E 002C 002A 0028 002A 002C 002E 0030
•回答问题
问题1
逻辑地址0020:0030,物理地址00230H
问题2
问题3
问题4
4. 实验任务5
问题1
在执行完mov ss,ax后,并没有暂停,而是继续执行了mov sp,30。
问题2
随着代码的执行,代码的偏移地址发生变化,由0108->010B->010C->010F->0110
随着数据的入栈,栈顶指针不断向下移,栈偏移地址不断变化,由30->2E->2C。
5. 实验任务6
• 程序源码
• 使用masm、link对程序汇编链接过程截图,以及,运行可执行程序task5.exe的运行结果截图
• 在debug中查看task5.exe的程序段前缀PSP的截图。
6. 实验任务7
• 补全后的完整源码
代码段的段地址为076aH,为了复制line3~line12的代码,第一空应该为076aH;把指令复制到0:200的连续内存单元,共有200个,所以要执行200次,所以第二空要把cx设为200。
• g命令运行到指定点和使用u命令反汇编0:200到复制代码长度这一段内存空间的截图