Specifically, I was talking about an area of memory that is made available also via stack instructions. push/pop is, strictly speaking, a hardware stack, yes. But in the context of this discussion (C programming, frames etc.), a stack is an area of memory that can be modified via stack-oriented instructions (push/pop), directly as memory (lda, sta), and whose address is stored in a special register to facilitate the latter as part of a standard ABI. I'm sorry if I was unclear. - Marcel On Sat, Jun 13, 2009 at 7:36 PM, Gerhard Fiedler wrote: > Olin Lathrop wrote: > > > Marcel Birthelmer wrote: > >> It doesn't have a proper HW stack, in the sense that other processors > >> do > > > > It can do push and pop in single instruction cycles. I don't see > > what else it would have to do to qualify for being a "hardware" > > stack. > > In this context, size? This is in the context of C compilers and > re-entrant functions, which typically means that all data is on the > stack. This requires that besides the stack being a "hardware" stack, it > also has a stack that can be adapted to the application's memory > requirements. PIC18 hardware stacks typically can't be. That's probably > the "sense" Marcel was talking about -- which someone programming in C > probably would know :) > > Gerhard > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist