请教有关CodeWarrior 编译问题 急!!![求助]
- UID
- 93356
- 性别
- 男
|
请教有关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; 到底为什么? 谁能够告诉我? |
|
|
|
|
|
- UID
- 130059
- 性别
- 男
|
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
你要看一下编译器对INT和LONG型变量定义的长度。 |
|
|
|
|
|
- UID
- 123796
- 性别
- 男
|
|
|
|
|
|
- UID
- 124289
- 性别
- 男
|
我用的是908gz16,发现int1×int2=long会出错的
最好是这样
long1=int1;
long2=int2;
long=long1×long2; |
欢迎大家到汽车电子群2838085! 让我们推动中国汽车前进! |
|
|
|
|
|