348261 发表于 2011-11-28 15:52:29

汇编语言 3.9 问题求解

问题3.9
第 5 小题
从栈中恢复AX, BX原来的内容。
视屏中讲的 是用 POP BX POP AX .
但是在第四步已经把AX BX清零了。
ax原来=001A BX原来=001B
这样用命令POP AX 从栈中恢复ax bx原来的内容 那不是等于零了吗?

348261 发表于 2011-11-28 16:03:18

哪位高手能在DEBUG中做个全部的试验截图一下。万分感谢! 我只要看一下你们在DEBUG中是怎么执行的。因为我直接 在DEBUG 中MOV AX,.....行不通,e ss:sp mov ax, ....也回显错误!   

cqy55555 发表于 2011-11-28 16:59:27


api 发表于 2011-11-28 17:02:54

   第1个问题: 栈是在内在中开辟了一个空间,你push ax push bx的时候,ax,bx中的值被保存在那个空间中。当你要调用栈里的数据,用pop指令把它调出来,这里注意出入栈数据先后顺序。所以pop后ax,bx会恢复到你使用push指令时的数据,那叫覆盖,不叫清空.
   第2个问题看不太懂,你要看栈的数据用D命令指向SS:SP的地址才能看到
   

小B同学 发表于 2011-11-29 10:58:06

看不懂多看几遍,就像打灰机,打多了就灰了
页: [1]
查看完整版本: 汇编语言 3.9 问题求解