首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教有关CodeWarrior 编译问题 急!!![求助]

请教有关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;  到底为什么? 谁能够告诉我?

(-10000)*(-20000)太大了吧
你要看一下编译器对INT和LONG型变量定义的长度。
海纳百川  有容乃大
你试试先除再乘的方法
飞思卡尔带我走进神奇的单片机世界
我用的是908gz16,发现int1×int2=long会出错的
最好是这样
long1=int1;
long2=int2;
long=long1×long2;
欢迎大家到汽车电子群2838085!
让我们推动中国汽车前进!
返回列表