形象化理解各种值:一口井,刻度是深度(地址递增),(SS)告诉我们井口的位置,(SP)告诉我们水面到井口的距离,井底就是堆栈底部,井水就是数据
前提:以字为单元存放,地址按字节编址
SP指向的物理地址(即栈顶)=(SS)+(SP)
初始化的(SP)=堆栈的长度,初始化的SP指向栈底+2单元
从而栈底的地址=(SS)+堆栈的长度-2
Push或者pop过数据后,(SP)=初始化的(SP)-2*i(i是存放的单元个数)
栈顶随之发生变化,(SP)=0代表栈满
版权声明:本文为lizong666原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。