编译出MOVX指令

[复制链接]
645|12
 楼主| jiajs 发表于 2016-12-11 10:42 | 显示全部楼层 |阅读模式
RAM不够,外部扩展SRAM。在KEIL C下开发编译,如何设置让编译器知道有外部扩展RAM,从而编译出MOVX指令!
wuhany 发表于 2016-12-11 10:45 | 显示全部楼层
用xdata来指定变量区域;
或者使用large模式。
lizye 发表于 2016-12-11 10:47 | 显示全部楼层
加XDATA指定访问的数据在片外64K字节数据存储器内,用MOVX指令访问,再去看C51相关说明
 楼主| jiajs 发表于 2016-12-11 10:50 | 显示全部楼层
你的意思是只要用XDATA定义变量 编译时就会自动生成了MOVX指令吗?另外如果的device只有内部RAM,没有XDATA,代码里强制加入XDATA,会导致编译器编译不过嘛?
spark周 发表于 2016-12-11 10:52 | 显示全部楼层
没有外部SRAM就不要用XDATA,只有用到外部SRAM才用XDATA,这时候就会生成MOVX,C51有三种存储器模式是SMALL,COMPACT,LARGE;更详细的你找本关于C51全面点书看看,
 楼主| jiajs 发表于 2016-12-11 10:54 | 显示全部楼层
到底是啥问题。。。
zhaoxqi 发表于 2016-12-11 10:57 | 显示全部楼层
外挂RAM是硬件问题吧
zhenykun 发表于 2016-12-11 10:59 | 显示全部楼层
不过也不一定,楼主自己再看看
 楼主| jiajs 发表于 2016-12-11 11:00 | 显示全部楼层
嗯,预料中的结果,先结贴吧,多谢大家啦
Levenburg 发表于 2016-12-11 19:37 | 显示全部楼层
xdata 指单片机里的Flash存取器,Flash相对单片机里的RAM属于外部存取器,虽其结构位置装在单片机中,其是xdata是放在相对RAM的外面,而flash正是相对RAM外面
vivilzb1985 发表于 2016-12-11 22:07 | 显示全部楼层
这个movx的是汇编的语言
shenmu2012 发表于 2016-12-13 21:35 | 显示全部楼层
这个涉及到汇编的操作了哈。。
Garen2 发表于 2016-12-14 21:55 | 显示全部楼层
Flash相对单片机里的RAM属于外部存取器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

940

主题

11975

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部