您的位置 首页 开关

keilc51中怎么看仓库的分配情况

KeilC是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之

Keil C是十分优异的C51编译器,可能是最好的C51编译器,供给各种优化形式,对变量的优化和地址组织做得十分好。这是用C言语写代码的优点之一,假如用汇编写,得费一大番功夫给各个变量组织内存物理地址,还得时间记住哪些地址的内存单元是现已分配了,新添加的变量就不能占用那些现已分配了的单元,避免产生内存交叠抵触和溢出。我一向十分信任Keil C51的编译成果,在我的形象里,它对内存的分配是完美的,只需代码用它编译时没有陈述任何warning和error,代码运行时不可能内存抵触或溢出的现象。

但,今日产生的工作证明我错了。

手头上有个产品的代码,代码量很大。程序跑起来的作用不大好,因而计划把代码优化一下。代码量越大,通常可优化的当地也越多。对8051来说,拜访芯片内部的data区(0~7FH)内存速度是最快的,直接拜访,一条指令就能读写,而idata区(80H~FFH)尽管仍是内存区,但由于地址分配上跟特别寄存器SFR重合,只能直接地址拜访,两条指令才干读写,速度稍慢点,而外存xdata区(0~7FFFH)有必要运用DPTR指针才干拜访,速度是最慢的。很明显,优化的准则便是尽量把频频读写的变量优先组织在data区,然后是idata区,最终才是xdata区。


8051在物理上有4个存储器空间

片内ROM和片外ROM。片内RAM和片外RAM。

片外程序存储器ROM地址空间为64kB,片外数据存储器RAM也有64kB的寻址区,在地址上是与ROM重迭的。

8051单片机经过不同信号来选通ROM或RAM。当从外部ROM中取指令时,选用选通信号PSEN,而从外部RAM中读写数据时

则选用读RD和写WR信号或来选通,因而不会因地址重迭而产生紊乱。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/255470.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部