标题: 请教有关CodeWarrior 编译问题 急!!![求助] [打印本页]
作者: zhangyi65536 时间: 2006-6-21 15:39 标题: 请教有关CodeWarrior 编译问题 急!!![求助]
请问斑竹:
我使用CodeWarrior 4.1 编译如下代码
int a=-10000;
int b=-20000;
int c=-10000;
c=((long)(a*b))/c;
时,编译器完全没有使用汇编指令
LDD #$D8F0
LDY #$B1E0
LDX #$D8F0
EMULS
EDIVS
它调用了好多中间函数
最令人不解的是,最后的结果竟然不对 结果C应该等于-20000,可是编译的结果
c=0x0001; 到底为什么? 谁能够告诉我?
作者: yd8008 时间: 2006-6-22 17:24
(-10000)*(-20000)太大了吧
作者: strongchen 时间: 2006-6-23 11:06
你要看一下编译器对INT和LONG型变量定义的长度。
作者: yjbmtc 时间: 2006-6-29 15:42
你试试先除再乘的方法
作者: zhwdy81 时间: 2006-6-30 15:12
我用的是908gz16,发现int1×int2=long会出错的
最好是这样
long1=int1;
long2=int2;
long=long1×long2;
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |