Hi, I need some long long (64 bit) additions in a fast interrupt code.
After each addition, I need to limit the result to MIN/MAX_INT64 if some overflow occurred.
In assembler, I would use the brach command BVC/BVS to check the overflow flag after the addition - this would be only one additional command, very nice (in normal case, where no overflow occurs).
Is there any way to implement / insert such functionality also in C / C++ code?
I tried to include dspfncts.h, and then check the variable Overflow, but this will add 3 additional assembly lines (to load the value of the overflow bit - it does NOT use the very compact commands BVC/BVS). As I have quite many such additions, this will blow up my code quite a bit.
Is there any possibility to do this overflow check in an efficient way in C/C++?
Note that the dsPIC33 is specifically intended for DSP applications. So Microchip probably had to spend quite some time to try to add some extra support to make it possible to maximize the DSP capabilities.