We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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.