Board logo

标题: 请教有关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