读code区一个字节赋值传递时丢失?神奇的问题,有图有真相

2020-01-23 14:47发布

cc.JPG (144.59 KB, 下载次数: 0) 下载附件 2014-4-29 08:31 上传 ---------这是一个读中文字符串的操作“气”
从数据上看*s确实拿到了正确的数据,但是在传给low_byte的时候发生丢失???怎么执行过赋值语句后,low_byte的值为0呢???

更奇怪的是,在另外一个文件中,我屏蔽几条不相干的语句,就没这个问题了。实际发现编译后“气”生成的两字节编码,在code区的存放位置发生了变化,变小了,但是这个地址为什么就不行呢???抓狂的很啊

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
yelang1124
1楼-- · 2020-01-23 15:13
用的是C8051F040
root_007
2楼-- · 2020-01-23 17:12
单步执行可能只是调试器的问题,用串口输出试试。
yelang1124
3楼-- · 2020-01-23 17:47
 精彩回答 2  元偷偷看……
maimaige
4楼-- · 2020-01-23 20:51
会不会编译器给优化那个操作了
yelang1124
5楼-- · 2020-01-23 23:26
DPTR------16位的数据指针,变址寻址范围可是0x0000----0xffff 啊,按说0x5880那个地址也没什么特殊的,怎么就是读不到呢?抓狂的很!!!!!
lusson
6楼-- · 2020-01-24 02:12
最终结果对吗?
不用去关心这个局部变量,因为存在优化的可能。

一周热门 更多>