I compiled the suspect version of my program, uncommented the declaration of delay_1_msec, and looked at the *.pre file. I found that the line "void delay_1_msec (void)" was missing. The other function declaration lines (like the one for the delay_20_usec function) was unaffected. So the preprocessor apparently ignored the "void delay_1_msec (void)" line. From other replies, it seems that the preprocessor interpreted this line as part of the previous line (which is a comment). The big question: When you create a new line in your C code, how do you make sure that the preprocessor recognizes it as a new line rather than part of the previous line? -- Jason Hsu http://www.jasonhsu.com/swrwatt.html http://www.jasonhsu.com/swrwatt-c.txt http://www.jasonhsu.com/swrwatt-asm.txt -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist