> ; insert banksels as appropriate > rlf b_shadow, F > movf b_shadow, W > movwf PORTB > > The point is that you keep a copy of the current output pins in > b_shadow so that you don't have to read PORTB just to change > an output pin. It's the read that causes the problems Hi Chris, what I gave to Rikard is what you might do generally. Maybe if you had a mix of I/O, some bits of which you wanted to preserve. A shadow register may or may not be updated straight away if an input changes for example, and modifying it without getting the actual state of the port would lead to an error on the pins I'd say it's not the read per se that can cause a problem, it's the time from the last modification. bcf/bsf and NOPS would be an acceptable solution too in many instances Ideally you'd know your hardware and do whats' appropriate -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist