来自王道+自己的笔记
堆栈寻址
堆栈——是存储器中一块特定的按 “后进先出LIFO” 原则管理的存储区,该存储区被读/写单元的地址用特定的寄存器给出,即堆栈指针(SP——Stack Pointer)
用寄存器实现堆栈——硬堆栈
硬堆栈只有取指时访存一次
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QTk6RU7N-1657508043393)(D:\EchoFile\考研\408\408.assets\image-20220710202219263.png)]](https://img-blog.csdnimg.cn/1f97c8af93ce4acc9bd784f91b88496b.png)
POP出栈,PUSH压栈
假设小地址是栈顶(SP始终指向栈顶元素),入栈时,SP先-1(上移指向空),数据再进来;出栈时数据先出去,SP再移到有数据的地方,也就是+1(因为它之前所指数已经移走了,要移到栈顶不为空的元素)
用主存实现——软堆栈
成本低
软堆栈除了取指要访存一次,执行也要访存,因为这个堆栈在主存中