如何简单的理解堆栈操作

大家都知道堆栈操作包括入栈和出栈的操作,单纯看课本书上的知识以及老师的讲解,起初一直很难理解, 直到我在网上找到两张图:如下所示

PUSH:入栈操作,就像是我们往一个箱子里边放东西,箱子假如目前是满的状态,先把箱子“扩大”或者说增高,完了再把东西放进去。也就是先把指向栈顶的指针SP-2,然后将AX中的值放入,此时的箱子顶部就是你刚刚扩大后的箱子顶部
push指令
POP:即出栈指令
首先把你要出的东西扔出去,放在其他箱子里(AX),然后你的箱子没必要这么大了,上边高出来的地方剪掉就OK了
出栈操作过程