堆栈指针sp的作用是什么

电子常识

2647人已加入

描述

  堆栈指针sp的作用是什么

        由堆栈设计者确定。对于硬件堆栈计算机中的堆栈是计算机存储数据的一种数据结构,SP的作用就是指示当前要出栈或入栈的数据,并在操作执行后自动递增或递减。但有一点,SP是入栈递增的。至于是入栈递增还是入栈递减,就是由CPU的生产厂家确定,通常由一块存储区和指向该存储区的指针SP构成。

  在堆栈中保存数据叫入栈,从堆栈中读取数据叫出栈。堆栈保存数据的特点是入栈和出栈是倒序的,最先入栈的数据要到最后才能出栈,而最后入栈的数据最先出栈,出栈就必定是递减,反之亦然。

  8051的堆栈容量不超过(256-8)字节。SP入栈递增的堆栈通常叫向上生长型的堆栈,反之就是向下生长型的堆栈,这就是通常说的“先进后出,后进先出”。

  指针

  堆栈保存数据和读取数据都是通过唯一的堆栈指针SP来实现的

  SP是一个8位专用寄存器,它批示出堆栈顶部在内部RAM块中的位置。系统复位后,SP初始化为07H,实际上堆栈是由08H单元开始的。考虑08H~1FH单元分别属于工作寄存器区1~3,若在程序设计中用到这些区,则最好把SP值改值为1FH或更大的值。

  MCS-51的堆栈是向上生成的,若SP=60H,CPU执行一和调用指令或者响应中断后,PC进栈,PCL保护到61H,PCH保护到62H,SP=62H。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分