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