一道习题,迷惑中!
题目:假设sp=0100H ,ss=2000H ,执行PUSH BX后,栈顶的物理地址是多少?书上的的答案是:200FEH
但我认为应该是:20102H ,我是这样做的,因为执行PUSH BX之后,SP=SP+2,所以sp由原来的0100变为0100+2=0102,所以栈顶的物理地址ss:sp=2000*16+0102=20102H。我哪里做错,请各高手帮帮忙。谢谢 你搞错了,push bx分两步1、sp=sp-22、再将数据放到内存中
你开始sp=0100H,当0100H-2后,就是00FEH了
哦,是我搞错了,谢谢。 push 是入栈吧。 不是+吗 ArcherJhon 发表于 2011-12-31 15:49 static/image/common/back.gif
push 是入栈吧。 不是+吗
入栈因该是减吧 你入栈的的话是SP 是减2操作的 空栈的栈顶地址是200fe,你PUSH 后栈顶地址应该是200FC
入栈 的顺序是F------0
出栈的顺序是0---f
补充下,如果是空栈的话是20100
如果有数据的话是200FE 嗯嗯嗯 理解理解了
页:
[1]