keil UV4 编译后Program Size里有data,xdata,code信息,哪个是RAM大小哪个是ROM大小?

keil UV4 编译后Program Size里有data,xdata,code信息,哪个是RAM大小哪个是ROM大小?,第1张

在51系列中data,idata,xdata,pdata的区别:

data:固定指前面0x00-0x7f的128个RAM,可以用acc直接读写的,速度最快,生成的代码也最小。

idata:固定指前面0x00-0xff的256个RAM,其中前128和data的128完全相同,只是因为访问的方式不同。idata是用类似C中的指针方式访问的。汇编态慧中的语句为:mox ACC,@Rx.(不重要的补充:c中idata做指针式的访问效世闭芹果很好)

xdata:外部扩展RAM,一般指外部0x0000-0xffff空间,用DPTR访问。

pdata:外部扩展RAM的低256个字节,地址出现在A0-A7的上时读写,用movx ACC,@Rx读写。这个比较特殊,而且C51好象有对此BUG,建议少用。但也有他的优点,具体用法属搜毕于中级问题,这里不提。

传送到屏内是编译后的文件,我们电脑上用软件看到的是编译前的程序。

如果上传能看模掘和到,说明下载时就允许你上传,旦盯且在屏中保存了一份可上传的未被编译散野的文件。

反编译后可以用电脑看,但一般是不允许反编译的,我们也没有本事反编译。

你好!亩指誉

很高兴为你解答,你上面的错误是英语转换中文【错误PDATA段过大】,这样你应该知道是那里出问题了把, 如果你定义的数组不用更改就用 uchar code XX[10]=

根据你数据的用处,你可以有以下几种选择:

data:直接寻址的片内逗册RAM区低128B(00H~7FH)

bdata:片内RAM的可位寻址区(20H~2FH),允许字节和位混合访问

idata:单片机间接访问的片内迅段RAM区,允许访问全部片内RAM

pdata:Ri间接访问的片外RAM的低256B(00H~FFH)

xdata:用DPTR间接访问的片外RAM,允许访问全部64KB片外RAM(0000H~FFFFH)

code:单片机的64KB程序存储区ROM

希望我的回答对你有帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12497838.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-25
下一篇2025-08-25

发表评论

登录后才能评论

评论列表(0条)

    保存