8051系列存储器映射 - 堆栈指针使用

时间:2014-01-17 00:43:41

标签: assembly embedded 8051

我正在寻找8051嵌入式处理器系列(特别是80C32)的一个很好的参考,它将解释内部存储器映射,以及它在系列处理器之间的差异。

我正在阅读重置为07H时堆栈指针的初始化方式。但是我在文档(例如here)中看到该系列中的所有处理器,内部RAM从地址00H开始,将Bank 0的R7映射到07H位置的内部寄存器。

我对内部寄存器和堆栈的映射方式有何误解?

enter image description here

1 个答案:

答案 0 :(得分:2)

答案在您链接到的页面中给出:

  

编程提示:默认情况下,8051初始化堆栈指针   (SP)到微控制器启动时的07h。这意味着   堆栈将从地址08h开始向上扩展。如果你愿意的话   您必须使用备用寄存器库(库1,2或3)   将堆栈指针初始化为最高寄存器上方的地址   您将使用的银行,否则堆栈将覆盖您的   备用登记银行。同样,如果你将使用位   变量通常是一个好主意,初始化堆栈指针   一些值大于2Fh以保证您的位变量   保护免受堆栈。