In message <19980116.120128.26935.1.HaroldHallikainen@juno.com> PICLIST@MITVMA.MIT.EDU writes: > On Fri, 16 Jan 1998 11:00:34 +0000 Keith Howell > 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...). > Harold, This is something that the CCS C compiler does very well. I would love to have this in an assembler. Regards, Mike Watson