----- Original Message -----
From: "George M. Gallant" <ggallant571@...>
To: <sdcc-user@...>
Subject: [Sdcc-user] PIC16 update
> Further testing of the PIC16 port divide operations reveal the following:
>
> unsigned int 36 / 9 = 4
> signed int 36 / 4 = -4
As far as I can tell, division on all integer types is performed via support
functions, which are derived from mcs51 support functions. Probably
something there is wrong, I'll try to track this down.
> I have also come across a major liability with sdcc. The compiler copies
> memory from the overlay area to the software stack on entry and restores
> on exit. I have a multitasking OS running that performs a context switch
> every millisecond. Protecting the overlay aea would be expensive in both
> time and memory. Any suggestions about overcoming this limitation will
> be appreciated. For now, I will limit sdcc to 1 task.
At which point? Upon function entry and exit?
If you mean that, it is important to save registers that will be modified in
your
function, especially when you are using a multitasking enviroment.
Perhaps we can find another solution to your problem.
Do you use pic16 for multitasking? Is it working? I yes, it would be a
major success.... !
Vangelis
|