1.C51采用静态分配局部变量的方式,在编译链接时,即已经完成局部变量的定位
2.C51工具链不会将函数参数压入堆栈(除非可重入函数被调用)
3.8051内核单片机的栈只有128字节
4.C51单片机有程序调用树,如果不互相调用的函数,局部变量共用RAM区
5. data ---> 可寻址片内ram低128字节
bdata ---> 可位寻址的片内ram
idata ---> 可寻址片内ram,允许访问全部内部ram
pdata ---> 分页寻址片外ram (MOVX @R0)
xdata ---> 可寻址片外ram
code ---> 程序存储区,对应MOVC @DPTR
6.Small model: 默认将所有变量放在 IDATA 区(DATA 区是8051微控制器的内部数据存储区)
Compact model: 默认将所有变量放在 PDATA 区(Paged Data Memory
Large model: 默认将所有变量放在 XDATA 区(External Data Memory)
7.可重入模拟堆栈的方向自顶向下生长,SP自底向上生长
C51单片机内存机制总结
最新推荐文章于 2024-08-19 11:44:53 发布