#include "HAL_DIV.h" //Computes q = b div c and a = b mod c //cDigits must be 1, and *c < 0xffffffff void hardwareNN_Div_q32(UINT32 *q,UINT32 *a,UINT32 *b,UINT32 bDigits,UINT32 *c,UINT32 cDigits) { UINT32 * p; int i; DIV->REMAIN = 0; DIV->DIVISOR = *c; for(i = (bDigits-1); i >= 0 ; i -- ) { p = (UINT32*) (b + i); DIV->DIVIDENED = *p; while((DIV->STATUS&0x01)!=0x01); DIV->STATUS = 0x01; (*(q+i)) = (UINT32)DIV->QUOTIENT; } (*a) = DIV->REMAIN; }