实验二

 实验结论

(1)

 

mov ax,[0];ax=3130H

add ax,[2];ax=6462H

mov bx,[4];bx=3534H

add bx,[6]; bx=6C6AH

push ax;sp=00FEH;修改的内存单元的地址是220FE内容是6462H

push bx;sp=00FCH;修改的内存单元的地址是220FC内容是6C6AH

pop ax;sp=00FFH;ax=6C6AH

pop bx;sp=0100H; bx=6462H

push [4];sp=00FEH;修改的内存单元的地址是220FE内容是3534H

push [6];sp=00FCH;修改的内存单元的地址是220FC内容是3736H

与所预测结果一致。

(2)

 

初始SS=073FH SP=00FDH 

前3行汇编指令的功能

mov ax,2000;ax=2000将2000装入ax

mov ss,ax;ss=ax将栈底设置为2000:0000

mov sp,10;sp=10将栈顶设置为10H

 

 

 

 

 

2000:0-2000:f改变的原因估计与ss,sp的赋值改变有关系。

总结与体会

栈作为一种cpu提供的机制先入后出,可以通过push 和pop指令容易地实现功能

但是没有检查机制,容易产生越界(栈顶超界而产生问题)

通过改变ss,sp的值,来安排内存中栈的位置,虽然对其中的一些细节问题还没有完全搞清楚(如第2个实验里面的2000:0H 处长fH的值的改变)

但是在接下来的学习中,我希望我能搞懂他们。

转载于:https://www.cnblogs.com/asm085/p/9842696.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值