Correcting/clarifying myself... Each call should have exactly one return. If there's an EXTRA return somewhere, that would cause the reset. The C compiler may or may not scream at the extra return; if it doesn't, guess what? :) I'm not sure if that helps or makes things worse, but I'll take a stab at it anyway. Jen > Could it possibly be a stack underflow reset? In assembly, > you would have > to check that every CALL has a RETURN. C18 *should* handle that > automatically, but you know how m-chip software is. ;) Try > troubleshooting > by disabling stack underflow reset. If this is the problem, > you'll probably > see some REALLY strange results when you disable it, but at > least you'll > know where the problem lies. > > Jen > > -- > http://www.piclist.com hint: To leave the PICList > mailto:piclist-unsubscribe-request@mitvma.mit.edu > > -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu