Hi Chris! > I anguished for days, and finally found that the second piece of code, > upon entering, disables interrupts briefly. This disable occured in the > timeline precisely where the interrupt for the analog result would arrive. How do you disable interrupts? There is a hint in the data book, that an interrupt that occurs exactly at the moment when you disable the global interupts will happen. So your main program disables interrupts and after that instruction, your ISR will be entered and the retfie at the end of the ISR will reenable the interrupt. At least this is my interpretation of the data book :-) You need a loop to ensure the interrupts are successfully disabled. Let's call it a bug in the 16C73!? -- Stefan Bormann s.bormann@tu-bs.de FREMO: http://ourworld.compuserve.com/homepages/shipmill/inhalt.htm