C-51的数据存储区域与性能

来源:互联网 发布:大连市软件行业协会 编辑:程序博客网 时间:2024/05/01 18:11
C-51中数据存储有不同的区域,最常用的就是DATA和XDATA区,其中:

DATA区位于RAM的低128字节,可在一个周期内直接寻址,不过需要注意系统的堆栈也使用这个区域,所以如果程序中如果有较多的中断处理程序,或者函数调用较多,则需要谨慎使用该区域的变量,以免变量和堆栈区域重合,程序运行时就会发生不可预料的后果,这种错误查找起来是非常麻烦的。

XDATA就是片外RAM了,一般最大可达64K,使用DPTR间接寻址。性能上稍微慢了一点,但是不会对堆栈产生不良影响。

函数调用的形参传递,C-51使用外部存储区域,也就是XDATA区域传递形参,所以在定义函数的时候,对于形参指定DATA区是没有用的,这也是我在查看编译后的汇编代码发现的。
原创粉丝点击