> It's not configuration bits either. Hi Jared, it'll be analogue. eg, for an 18F452 you need to add movlw 0x07 ;all digital movwf adcon1 for an 18F4550 movlw 0x0f ;all digital movwf adcon1 Check the A2D section in the manual for your specific PIC. You may need to set other registers like CMCON, ADCON0 etc. I'm guessing the pins you're having trouble with will be analogue i/p > movff PORTx, PORTB That immediately jumps out at me as a potential cause for read- modify-write problems when x=B. Particularly at high speed and/ or with some loads. Not saying you will have a problem, it just looks iffy. Also, PORT is generally used for inputs, LAT for outputs. Two separate I/O registers was a major port improvement introduced with the 18F series -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist