> 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 The hardware stack as used by C18 is all of the above (especially using the extended instruction set). In addition, it can, if needed, span nearly all of available member. I think there is a lot of confusion between the return address stack which is limited and really only used for/useful for return addresses and the "FSR-based" stack which contains function parameters and automatic local variables. -- Bob Ammerman -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist