On 06/05/2011 13:29, Olin Lathrop wrote: > Really? I have heard of JAL being referred to as a "compiler" many times= , > and it supposedly uses GCC on Unix systems. The JAL source is compiled to p-Code The p-code is translated or compiled to PIC Assembler at "Compile time"=20 There is no run time "engine". On 16F87x the real HW stack usage does increase from 50% to 75% if a=20 Procedure call is done in an ISR (JAL, some C compilers for PIC don't=20 allow Function call at all in an ISR) . But the Stack isn't being used=20 for Parameters like on Z80 or x86 implementations of C. > >No, the stack is used for all return addresses, whether they be as a=20 result >of a interrupt or a explicit call. > That's an implementation dependency. It's possible to implement a SW=20 stack for even recursion / nested calls etc, threads etc and only use=20 the HW stack for ISR return.. The older PIC certainly can't use the HW stack to pass paramenters or=20 return them. Some have very limited HW stack. There is of course a large grey area of High Level Languages that have=20 some compiling and mostly run time Interpretor (runtime per block=20 compile or P-code virtual machine) to systems with "some" run time=20 support and interpretation to C, C++ and Modula-2 systems with zero run=20 time system and just 100% compile to native. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .