1.
MOV AX,1000H
MOV SA,AX
MOV AX,2000H
MOV SS,AX
MOV SP,10H
PUSH [0]
PUSH [2]
PUSH [4]
PUSH [6]
PUSH [8]
PUSH [A]
PUSH [C]
PUSH [E]
2.
MOV AX,2000H
MOV SA,AX
MOV AX,1000H
MOV SS,AX
MOV SP,0H
POP [E]
POP [C]
POP [A]
POP [8]
POP [6]
POP [4]
POP [2]
POP [0]
这2个题目的关键是在于确定sp的值为多少.第一题是采取push的方法.我们知道栈空的话.sp是指向于栈底的字单元的下一个,此题目中我把20000H-2000FH当做栈.那么栈底字单元是2000EH,它的下一个是2000EH+2H = 20010H.所以求得sp为10H.
第二个题目是采取pop的方法.此时我们把10000H-1000FH当做是栈.sp指向栈顶,即sp=0H.因为此时的ss=1000H.所以sp=0H.
- [游客] 过程的回味真是无穷! 08/05 17:57
- [kingwrcy] 多谢提示.已经过去接近4个月了.由于工作原因,汇编一直没碰了.哎.准备重新温习下. 07/31 15:09
- [younggay] 分析没有问题。加油! 04/15 16:43
- [younggay] 回答正确。 04/15 16:41
- [游客] 不知道为什么用c做code段老是报错.改成才c1就可以了.莫名其妙 我用的编辑器是masmp 04/15 15:48
- [游客] 嗯,说的很对。这里的栈操作就是一个一个的完成数据移送。 04/15 15:44
- [游客] 刚开始是这样的,弄得慢没关系,只要你努力,总会有结果的。思维是锻炼出来的,经过这程序,再有类似的思维 04/15 11:29
- [游客] 得到别人的技术,不如学会别人的思维方式。从自己参考别人的代码过程,要反思自己思维上的不足。 完 04/15 11:25
- [游客] 嗯。分析的很正确。 注意体会jmp的执行原理。 04/15 11:21
- [游客] 调程序,尤其是汇编程序,耐心是必备的。 04/15 09:37