堆栈指针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的地址。
上一篇:程序状态字PSW (Program Status Word)
上一篇:I/O端口
热门点击
- 访问片外ROM/RAM的指令时序
- 堆栈指针SP( Stack Pointor)
- 16位特殊功能寄存器sfr16
- PCB的元器件贴装位置有偏移,可用以下两种方
- 三极管的极限参数有集电极最大允许电流
- “黑焊盘”现象的产生原因
- Sn-Ag-Cu三元合金
- 焊点形成过程
- I/O端口
- 程序执行过程
推荐技术资料
- DS2202型示波器试用
- 说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]