> When an interrupt is serviced a means >must be found to save the context of the currently running code and restore the >execution context at the end of an interrupt. That means any resource that the >interrupt needs has to be accounted for, condition codes, registers, sometimes >state information RAM and all functions that the interrupt and main line both can >call simultaneously must be re-entrant. Well, this is what I assumed the compiler would do.. Scan the int code, find out what is used/needed, and only push what is needed. In the case of the AVR, pushing 32 registers is enormously expensive in a machine with 192 bytes of ram or less. I have a few situations where I use very fast int code, that doesn't even preserve the status reg, because it doesn't need to. (the int code doesn't affect the flags.) _______________________________________________ http://www.piclist.com View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist