With apologies for my oversight, I repost this for the benefit of someone searching the forum by product. We just figured out that placing "using 0" after an interrupt handler definition is a bad idea. At least when using optimize 9,size, "using 0" tells the compiler not to bother pushing/popping R0. Then it happily goes around writing to R0, doesn't pop it, and all sorts of interesting (bad) things happen. Take away "using 0," and the compiler starts pushing/popping R0, and life gets boring (good) again.
"using 0" makes no sense. If that creates a bug, I am not surprised it was not caught. Erik
above "bug" should have been in quotes. Erik