> On Fri, 16 Jan 1998 11:00:34 +0000 Keith Howell <
EraseMEkeithhspam_OUT
TakeThisOuTARCAM.CO.UK>
> writes:
>
> >I wish there were decent design tools for assembly programming.
> >
> >I don't mean just an assembler, but something that would
> >- point out where registers can do double duty
> >- point out potential stack overflows
> >- manage code and data paging
> >- etc.
> >so that I can concentrate on the application and not the
> >intricacies of the chip.
>
>
> I am forever allocating ram (file registers) inside subroutines
> (using cblock and endc, letting the assembler assign the next sequential
> locations). Most of these could be automatic local variables that would
> best be placed on a stack where they could be deallocated on exit. A few
> are static local variables and the permanent allocation is appropriate.
> It seems that having the assembler keep track of this would be extremely
> difficult (without a stack). It would have to anticipate all the
> possible call sequences so that a reused local variable does not get
> overwritten. This all reminds me of my days of extensive Basic
> programming where I'd have something in temp, do a gosub that also used
> temp, then wonder why temp was corrupted on return.
> Local variables are wonderful! A hardware stack seems like the
> easiest way to implement them. We don't have that in the PIC (RISC and
> all...).
>