位置:51电子网 » 技术资料 » 集成电路

堆栈指针SP( Stack Pointor)

发布时间:2014/6/3 21:14:16 访问次数:5866

    堆栈指针SP是一个8位寄存器,能自动加1或减1,专门用来存放雄栈的栈顶地址。

   计算机中的堆栈是一种能按“先进后出”或“后进先出”规律存取数据的RAM区域。SN74LV4066APWR这个区域是可大可小的,常称为堆栈区。8051片内RAM共有128B,地址范围为OOH~7FH,故这个区域中的任何子域都可以用作堆栈区,即作为堆栈来使用。

   堆栈有两种类型,向上生长型和向下生长型。8051的堆栈属于向上生长型,在数据压入堆栈时,SP的内容自动加1,作为本次进栈的地址指针,然后再存入信息。所以随着信息的存入,SP的值越来越大。在信息从堆栈弹出之后,SP的值随着减少,如图3-5所示。向下生长型的堆栈则相反。

         

   堆栈有栈项和栈底之分,栈底由栈底地址标识,栈顶由栈顶地址指示。栈底地址是固定不变的,它决定了堆栈在RAM中的物理位置;栈顶地址是可以改变的,它决定堆栈中是否存放有数据。因此,当堆栈为空(即无数据)时,栈顶地址必定与栈底地址重合。对向上生长型的堆栈来说,当堆栈中存放的数据越多,SP中的栈顶地址比栈底地址就越大,也就是说,SP就好像是一个地址指针,始终指示着堆栈中最上面的那个数据。

   8051单片机复位后,堆栈指针SP总是初始化到内部RAM地址07H。从08H开始就是8051的堆栈。当然,用户也可以根据需要通过指令改变SP的值,从而改变堆栈的位置。

   数据指针DPTR( Data Pointer)

   数据指针DPTR是一个16位的寄存器,由两个8位寄存器DPH和DPL组成。其中,DPH为DPTR的高8位,DPL为DPTR的低8位。DPTR可以用来存放片内ROM的地址,也可用来存放片外ROM和片外RAM的地址。


    堆栈指针SP是一个8位寄存器,能自动加1或减1,专门用来存放雄栈的栈顶地址。

   计算机中的堆栈是一种能按“先进后出”或“后进先出”规律存取数据的RAM区域。SN74LV4066APWR这个区域是可大可小的,常称为堆栈区。8051片内RAM共有128B,地址范围为OOH~7FH,故这个区域中的任何子域都可以用作堆栈区,即作为堆栈来使用。

   堆栈有两种类型,向上生长型和向下生长型。8051的堆栈属于向上生长型,在数据压入堆栈时,SP的内容自动加1,作为本次进栈的地址指针,然后再存入信息。所以随着信息的存入,SP的值越来越大。在信息从堆栈弹出之后,SP的值随着减少,如图3-5所示。向下生长型的堆栈则相反。

         

   堆栈有栈项和栈底之分,栈底由栈底地址标识,栈顶由栈顶地址指示。栈底地址是固定不变的,它决定了堆栈在RAM中的物理位置;栈顶地址是可以改变的,它决定堆栈中是否存放有数据。因此,当堆栈为空(即无数据)时,栈顶地址必定与栈底地址重合。对向上生长型的堆栈来说,当堆栈中存放的数据越多,SP中的栈顶地址比栈底地址就越大,也就是说,SP就好像是一个地址指针,始终指示着堆栈中最上面的那个数据。

   8051单片机复位后,堆栈指针SP总是初始化到内部RAM地址07H。从08H开始就是8051的堆栈。当然,用户也可以根据需要通过指令改变SP的值,从而改变堆栈的位置。

   数据指针DPTR( Data Pointer)

   数据指针DPTR是一个16位的寄存器,由两个8位寄存器DPH和DPL组成。其中,DPH为DPTR的高8位,DPL为DPTR的低8位。DPTR可以用来存放片内ROM的地址,也可用来存放片外ROM和片外RAM的地址。


相关技术资料
6-3堆栈指针SP( Stack Pointor)

热门点击

 

推荐技术资料

DS2202型示波器试用
    说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!