4
0
mirror of https://github.com/armink/FreeModbus_Slave-Master-RTT-STM32.git synced 2025-02-25 09:56:56 +08:00
ZhuTianlong de7bad9245 1、【创建】GIT版本仓库
2、【创建】Eclipse工程,并支持IAR插件调试
3、【创建】Keil工程,位于/RVMDK目录下
4、【创建】IAR工程,位于/EWARM目录下
5、【添加】RT-Thread1.1.1操作系统支持
6、【添加】LED1、LED2系统运行指示灯
7、【修改】Readdme.md文件

Signed-off-by: armink <armink.ztl@gmail.com>
2013-08-02 14:00:55 +08:00

50 lines
888 B
C

/*
* File : __umodsi3.c
* This file is part of RT-Thread RTOS
* COPYRIGHT (C) 2006, RT-Thread Develop Team
*
* The license and distribution terms for this file may be
* found in the file LICENSE in this distribution or at
* http://openlab.rt-thread.com/license/LICENSE
*
* Change Logs:
* Date Author Notes
* 2006-10-09 Bernard the first version for i386
*/
#include <rtthread.h>
typedef rt_uint32_t uint32_t;
typedef rt_int32_t int32_t;
uint32_t __umodsi3(uint32_t num, uint32_t den)
{
register uint32_t quot = 0, qbit = 1;
if (den == 0)
{
asm volatile ("int $0");
return 0; /* if trap returns... */
}
/* left-justify denominator and count shift */
while ((int32_t) den >= 0)
{
den <<= 1;
qbit <<= 1;
}
while (qbit)
{
if (den <= num)
{
num -= den;
quot += qbit;
}
den >>= 1;
qbit >>= 1;
}
return num;
}