Spehro Pefhany wrote: >>> //Set page 103 for details regarding the +2 >>> tmr0l = (unsigned char)65000; >>> tmr0h = (unsigned char)(65000 >> 8); //Right >>> shift so the top byte >>> becomes the bottom byte >>> >>> All I'm trying to do is split the 65000 across the >>> two variables, tmr0L and > So, his compiler is broken. I'd be tempted to try 65000U to get around > the problem, and also to be very suspicious of that particular compiler > in the future. Since this looks like a compiler problem, having a look at the generated assembly code could be interesting. It should be a relatively short piece, and you probably can see easily where things go wrong. Gerhard -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist