It depends on how much you are draining/sourcing through the pins. If you want to be sure, you need to use shadow registers instead of directly reading the hardware. UINT8 shadowB; shadowB = (shadowB & 0x0F) | (NEWVALUE & 0xF0); // Updates high nybble PORTB = shadowB; // Send updated shadow to hardware Andy WF on 06/13/2000 03:42:33 PM Please respond to pic microcontroller discussion list To: PICLIST@MITVMA.MIT.EDU cc: (bcc: Andrew Kunz/TDI_NOTES) Subject: Re: [OT]: CCS C COMPILER My question is: Will affect the remainder bits? The remainders bits are configurated as INPUT and OUTPUT... Miguel ----- Original Message ----- From: Andrew Kunz To: Sent: Tuesday, June 13, 2000 4:42 PM Subject: Re: [OT]: CCS C COMPILER > PORTB = (PORTB & 0x0F) | (NEWVALUE & 0xF0); // Updates high nybble > > PORTB = (PORTB & 0xF0) | (NEWVALUE & 0x0F); // Updates low nybble > > Andy