码迷,mamicode.com
首页 > 其他好文 > 详细

汇编实验报告(二)

时间:2018-12-02 17:28:47      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:影响   技术   img   百度   寄存器   有关   管理   运行   报告   

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

一开始没注意把ffff改成0021,第二次改了,两次结果对比了一下,发现:

  1. 不改ffff不影响栈的内存单元地址,DS是数据段地址,SS是栈段地址,两者是独立的。
  2. SP也不受影响,SP代表栈顶,只和存入数据的多少有关,存入时SP=SP-2
  3. 内存单元地址我一开始没看运行结果的SP,是直接算的,用22000+(0010-2),后来发现SP都告诉我了,可以直接看SP算。
    最后查看了一下内存单元内容和我自己算的也是一样的。

技术分享图片

技术分享图片

看到了CS的值

技术分享图片

存入ax的值在偏移地址7、8和e、f都有

技术分享图片

第一行 把数据2000存入寄存器ax
第二行 把寄存器ax的值存入栈段寄存器,因位栈段寄存器不可以直接送入。
第三行 将数据10赋值给栈顶偏移地址,也就是确定了栈底的位置是20010,sp对应了栈顶的位置,从此处存入数据SP会随之变化,如此栈就定义好了。

我感觉是因为指令是一条一条执行的,所以会把上一步执行的数据和CS存在里面。百度说是单步中断,我也不是很懂。2000:0 f里面我没看见IP。

五、实验总结与体会
1.DS、CS、IP、SS、SP之间注意区分。
2.栈的空间大小要自己把控管理,防止超界。
3.操作对象之间可不可以直接送入要注意。
4.栈顶的偏移地址,和栈底要分清楚。
5.入栈出

汇编实验报告(二)

标签:影响   技术   img   百度   寄存器   有关   管理   运行   报告   

原文地址:https://www.cnblogs.com/zxy666/p/10054060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!