在RVDS下使用Cortex-M0进行整数除法

时间:2012-07-02 16:55:21

标签: integer-division cortex-m rvds

我试图将64位整数类型划分为32位整数类型,并且我使用RVDS 4.1作为工具链。

Cortex-M0没有硬件除数,我可以在下面进行操作吗?如果是这样怎么样?

unsigned long int b = 2590202;
unsigned long long int a = 953502716552001ULL;
unsigned long long int result;
result = a/b;

1 个答案:

答案 0 :(得分:1)

编译器将编译除法运算作为对执行软件64位除法算法的库子例程的调用。您可能还必须告诉编译器链接数学库,我没有专门的RVDS经验。

为什么不尝试自己编译代码并看看会发生什么?尝试拆解生成的机器代码,看看它是如何工作的:它应该非常有教育意义。