On 28-Oct-2001 Sandeep Dutta wrote:
> I also had a question ....
> I was looking thru the DS390 gen.c , it seems that the codegen
> only uses eight bits for stack computations even in stack10bit
> mode...we always seem to add zero to the higher order byte ...
This is true; note, though, that we do use the '390 ten bit stack
mode, which means the stack is taken from the 4K onboard SRAM at
0x400000 - 0x4000ff instead of the 1 K data space at 0x0 - 0xff. This
means that one can actually use 256 bytes of stack, instead of the usual
8051 mode where you can only use what is left after register banks/bit
space/data space/whatever is taken out of the first 256 bytes. This is a
big gain even if we only use 256 bytes out of the possible 4K.
When I first implemented this, I was worried about spilled variables that
split over a 256 byte boundary. I don't remember what the exact issue
was, and I haven't been planning to address this.