作者kao028kimo (Louis Kao)
看板ASM
标题[问题] 关於变数的运算
时间Sun Aug 25 10:20:56 2013
各位好:
我撰写的程式是给keil C作编译的
里面有负责需要做四则运算的部分
内容大概如下:
unsigned char min=5,min1=1;
unsigned char cal1,cal2,cal3,cal4;
cal1=min+min1;
cal2=min*min1;
cal3=min-min1;
cal4=min/min1;
其中,cal1=6 cal2=5 计算结果正常
cal3=0xFFFC 非0x04 很奇怪 请问各位有谁知道原因吗?
我该如何处理 将计算结果恢复正常呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.166.166.31
1F:→ kikiqqp:正常来说,你的计算会在编译时被最佳化掉,给他volatile吧 08/25 11:01
2F:推 WolfLord:你碰到骗人布了,char哪来0xfffc 08/25 13:18
3F:推 ksmrt0123:用keil的debug模式trace一下很快就可看出问题在那了 08/30 01:08
4F:→ ksmrt0123:我的意思是用keil的debug mode模拟跑一下就知道了 08/30 01:12
5F:→ ksmrt0123:不需要8051硬体, 还可配合ASM code一起看 08/30 01:12