51单片机 堆栈与堆栈指针

     堆栈是一种执行“先入后出”算法的数据结构。是在内存中的一个存储区域,数据一个一个顺序地存入(也就是“压入—PUSH”)这个区域之中。

        有一个地址指针(堆栈指针)总指向最后一个压入堆栈的数据所在的存储单元,存放这个地址指针的寄存器就叫做堆栈指示器

        开始放入数据的单元叫做“栈底”。数据一个一个地存入,这个过程叫做“压栈”。读取这些数据时,按照堆栈指示器中的地址读取数据,堆栈指示器中的地址数自动减1。这个过程叫做“弹出POP”。如此就实现了先入后出的原则。

        MCS-51的堆栈是向上生成的(即向地址增加的方向),

堆栈指针SP的初始值称为栈底。

                                                                                 MCS–51单片机堆栈

 需要注意的是,单片机复位后SP的值为07H,因此入栈数据将从08H存起。

猜你喜欢

转载自blog.csdn.net/qq_41204464/article/details/82937414