51单片机中内部的存储有ROM和RAM,我想问,有没有什么方法把数据存进RAM,而不是通过MOV指令移进去? 10

MOV@R0,#123;这里是把数据通过指令移进去那么这个数123其实也是占用ROM里面的字节的,有没有什么方法,可以消除这种占用?我们在KEIL中用汇编写出来的代码,包... MOV @R0, #123;这里是把数据通过指令移进去
那么这个数123其实也是占用ROM里面的字节的,有没有什么方法,可以消除这种占用?

我们在KEIL中用汇编写出来的代码,包括一些表的定义都是在ROM中,有没有方法让这些表中的数据(注意数据没有规律)不占用ROM的空间?

希望熟悉单片机的人能够不吝赐教,先谢谢了。
展开
 我来答
ATF144X
2011-12-01 · TA获得超过1.2万个赞
知道大有可为答主
回答量:5344
采纳率:77%
帮助的人:4611万
展开全部
你不想让这些数据占用单片机的空间,简单啊。

比如让计算机通过串口把数据123传给单片机,然后再让单片机执行MOV @R0,SBUF,这占用的字节和MOV @R0,#123一样多的。

或者在外面扩展24C02、AT28C64这样的存储器,那就不占用单片机内部的ROM空间了,但是访问这些存储器需要更多的代码。

如果你不想用串口、不想用扩展存储器,那就是不可能的了,或者说你很天真。
Zaxife
2011-12-01 · TA获得超过1254个赞
知道小有建树答主
回答量:1138
采纳率:0%
帮助的人:418万
展开全部
不是高手、路过围观。服了你的想法了。
运算器就是要有材料才能加工的,如果你没原始数据又怎么进行操作?
不想生成立即数就用指令在程序中动态生成数据,那样那些数据就只是消耗RAM而已,但是指令还是要消耗ROM空间的。比如用指令生成00~FF的数据到RAM中,然后索引寻址就得到需要的数据了。
不过,我宁愿浪费ROM也不想浪费那些少得可怜的RAM。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dhp646693
2012-10-22
知道答主
回答量:8
采纳率:0%
帮助的人:1.2万
展开全部
RAM 对应的是一些临时数据的存储。断电后就会消失。ROM断电后不会消失。如果不想占用内部的ROM 的话 或许外接ROM是一个选择。 但是你又想要程序能从ROM中调用出又想程序不占ROM的空间这。。。。有点。。。不科学啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoyo_wu
2011-12-01
知道答主
回答量:80
采纳率:0%
帮助的人:28.2万
展开全部
现在单片机ROM空间一般不用你来考虑这个问题,除非你要搞一些极限的东西。倒是RAM的空间要节约着用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gudufuzi
2011-12-01 · TA获得超过400个赞
知道小有建树答主
回答量:718
采纳率:33%
帮助的人:187万
展开全部
没有办法。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式