Hello Philipp,

Pointer arithmetic and array access are very likely in an ISR. And that
probably means underlying multiplications (or add or shift). Think buffers
for UART/SPI/I2C/ADC/DAC.

Averaging a set of ADC samples can also bring division (or shift). And
non-power-of-2 sized ring buffers can give modulo.

Calling other functions from an ISR is generally frowned upon but can
certainly happen. But if you can bear function overhead you can also bear
a less optimal workaround IMHO.

My 2 cents,
Maarten

> I wonder how interrupt handlers written by sdcc users look like, in
> particular:
>
> * Do they contain divisions?
> * Do they contain multiplications?
> * Do they contain pointer arithmetic?
> * Do they contain array accesses?
> * Do they contain shifts?
> * Do they call other functions?
> * Are those other called functions static?
> * Do those other called functions contain divisions?
>
> The information might be useful in improving a workaround for a hardware
> division issue (see bug #2401, RFE #448 / 449).
>
> Philipp


------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to