实验1 8086汇编指令编码和调试

实验结论

1. 实验任务2

  • d命令查看生产时期的截图

  实验1 8086汇编指令编码和调试

  • e命令修改生产日期所在内存单元的截图

  实验1 8086汇编指令编码和调试

   日期无法修改,在8086CPU中,C0000~FFFFF用于各类ROM空间,写入数据操作是无效的,这相当于改写只读存储器的内容。 

2. 实验任务3

  • 在debug中使用e命令修改内存单元

  实验1 8086汇编指令编码和调试

  • 在debug中使用f命令批量填充内存单元

  实验1 8086汇编指令编码和调试

     • 修改数据后的效果截图

  实验1 8086汇编指令编码和调试

3. 实验任务4

  •填空

  实验1 8086汇编指令编码和调试

  002E 002C 002A 0028 002A 002C 002E 0030

  •回答问题

  问题1 

  逻辑地址0020:0030,物理地址00230H

  问题2

  实验1 8086汇编指令编码和调试

  问题3

  实验1 8086汇编指令编码和调试

  问题4

  实验1 8086汇编指令编码和调试

4. 实验任务5

  问题1 

  在执行完mov ss,ax后,并没有暂停,而是继续执行了mov sp,30。

  问题2

  实验1 8086汇编指令编码和调试

  随着代码的执行,代码的偏移地址发生变化,由0108->010B->010C->010F->0110

  随着数据的入栈,栈顶指针不断向下移,栈偏移地址不断变化,由30->2E->2C。

5. 实验任务6

  • 程序源码

  实验1 8086汇编指令编码和调试

 

  • 使用masm、link对程序汇编链接过程截图,以及,运行可执行程序task5.exe的运行结果截图

  实验1 8086汇编指令编码和调试

 

  • 在debug中查看task5.exe的程序段前缀PSP的截图。

  实验1 8086汇编指令编码和调试

6. 实验任务7

  • 补全后的完整源码

  实验1 8086汇编指令编码和调试

  代码段的段地址为076aH,为了复制line3~line12的代码,第一空应该为076aH;把指令复制到0:200的连续内存单元,共有200个,所以要执行200次,所以第二空要把cx设为200。

  • g命令运行到指定点和使用u命令反汇编0:200到复制代码长度这一段内存空间的截图

  实验1 8086汇编指令编码和调试

  实验1 8086汇编指令编码和调试

 

上一篇:8086存储器组织


下一篇:微机原理--8088/8086微处理器详解