Ken: Two things. I've been caught on both (at least once)... (i) GP3 is input only. The only 'drive' capability it has is through an internal ~470K pullup resistor if it's enabled. (ii) The TOCS bit in the option register defaults to 1 on powerup, forcing GP2 to be an input for timer0, overriding any selection you make in TRIS. You have to initialize OPTION as well. Hope this helps. Jim >Can anyone tell me why this does not work, I have a 508 configured for >int RC osc and int Reset with NO WDT. > >temp equ 0x1c ;File reg for temp storage > > ORG 0 ;set start of program to 000 hex > movwf OSCCAL > >start > clrf GPIO > movlw B'000000' ;set all bits output > tris GPIO > clrf temp >start2 > incf temp > movf temp,w > movwf GPIO > goto start2 ;go and do it all again > > END > >This gives the expected square wave output on GP0, GP1, GP4, GP5 but >there is no outputs on GP2 and GP3. I have come to this simple loop >because the main program that I have working in a 508 with XT osc stops >working when I try and use the int RC osc. > >Ken.