用机器指令和汇编指令编程

四.

1.

 

 

实验结论

 2.

.

 在运行试验2.中的两个单步运算操作后发现mov ax,2000;mov ss,ax;mov sp,10三个操作得到了运行。当只书写上述的前三个操作并运行时所得到的结果仍是相同

当未进行任何操作时该内存区域的数据如下图所示

在执行两次单步运算后的相应内存区域的数据与原先的值是一样的

AX,IP的值与内存单元2000:0006和2000:000A中的值是相同的

经过各种调试、对寄存器和内存的值的观察、以及翻阅课本发现

那么在单步调试的过程中计算机可能进行了压栈的操作,在此过程中计算机先将数据058D压栈随后又依次对cs和ip进行压栈操作。

五.实验小结

本次实验让我了解了栈的操作是如何进行的,利用ss和sp进行对栈空间的定义,以及利用pop和push进行出栈和入栈的操作

当进行入栈的操作是sp=sp-2,当进行出栈的操作时sp=sp+2.

疑问:实验二中为什么会发生压栈的现象

 

posted @ 2018-10-26 19:51  Assembly123  阅读(170)  评论(2编辑  收藏  举报