大家都知道堆栈操作包括入栈和出栈的操作,单纯看课本书上的知识以及老师的讲解,起初一直很难理解, 直到我在网上找到两张图:如下所示
PUSH:入栈操作,就像是我们往一个箱子里边放东西,箱子假如目前是满的状态,先把箱子“扩大”或者说增高,完了再把东西放进去。也就是先把指向栈顶的指针SP-2,然后将AX中的值放入,此时的箱子顶部就是你刚刚扩大后的箱子顶部 POP:即出栈指令 首先把你要出的东西扔出去,放在其他箱子里(AX),然后你的箱子没必要这么大了,上边高出来的地方剪掉就OK了