|
耕码多年第一次遇上这种情况,代码在 keil5 MDK arm 上编译为汇编时,把有符号的除法翻译成了无符号除法,在操作数都是正数时,工作正常,一但遇到负数,就懵逼了。
遇到代码问题汇编还是要看下的,毕竟中间商要赚差价。
不知道前些年的 扑街 车(电动独轮车)是不是也是用的这个算法和编译器,在车子检测到超出设定时速时,系统突然有负的加速度,于是根据出错的代码运行,结果速度突然就变成 0 静止了,于是完美的产生了一个扑街。 |
-
arm汇编无符号除法说明
-
强制转为long类型
-
强制转为signed long 类型
-
手动转换为正数计算
评分
-
2
查看全部评分
-
|