汇编实验二

一、实验内容
1. 教材实验 2(P71)
(1)练习「1.预备知识:Debug 的使用」
(2)在练习基础上,完成「2. 实验任务」

二、实验结论
1. 教材实验 2 中「2. 实验任务【1】」(P74)

预计结果:

ax=3130,3332,3332;

bx=3534,3736,3736

sp:第一个0100,其他不清楚

地址:第一个SS:SP=2200:0100,内容3332,其他不清楚

输入代码:

实验结果:

对照总结:

ax,bx第三个结果有错,这段程序实际上让ax,bx互换了位置,因此ax=3736,bx=3332.

至于栈的地址,在寄存器中是SS:SP,SS确定为2200,SP规则为PUSH(入栈)减2,

POP(出栈)加2,所以有如图所示结果。

2.p74实验任务【2】

以上无变化。

可以看出2000:000A~2000:000E是CS:IP的值,后面两位看不出来。

继续进行发现无意义,就此分析,

2000:0007~2000:0008代表ax的值,且执行PUSH命令时整体前移两位(应该是入栈

导致的SP-2).


三、总结与体会

本次实验实践了入栈操作,有很多细节在代码里体现出来,比如字的存放占两字节,按intel

小端法存储。PUSH时SP-2,POP时SP+2。也有尚未解决的问题比如2000:000E处的A3 01

什么意思。

 

posted on 2018-10-28 00:27  scp507  阅读(352)  评论(3编辑  收藏  举报