I've been struggling to figure out why I can set GP1, GP2, GP4 and GP5 without trouble but I can't get GP3 to set. Set meaning I can't get it to go high and turn on an LED. I'm using a 12F675. I suspect it has something to do with my config bits because MCLR is on GP3. Here's the simple program I wrote. I'm hoping someone can help me spot my bug. Thanks. ; test1 list p=12F675 #include __CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _MCLRE_OFF & _CPD_OFF #define Bank0 0x00 #define Bank1 0x80 cblock 0x20 ncount mcount ocount endc ORG 0x000 nop goto Init ORG 0x004 return Init banksel Bank1 movwf OSCCAL movlw B'00000001' ; set direction so all pins except GP0 are output pins movwf TRISIO ; so GP0 is input pin movlw b'00010001' movwf ANSEL ; make GP0 (AN0) be analog input and Fosc/8 for A/D conversion clock banksel Bank0 movlw b'111' movwf CMCON ; disable comparator movlw b'00000001' ; movwf ADCON0 ; Select AN0 as a2d channel, Left justified & enables A/D NOP ; Give 4 uS delay before starting A/D NOP NOP NOP bsf ADCON0,GO ; Start A/D Main call NOon call delay call GP1on call delay call NOon call delay call GP2on call delay call NOon call delay call GP3on call delay call NOon call delay call GP4on call delay call NOon call delay call GP5on call delay goto Main NOon movlw b'00000000' movwf GPIO return GP1on movlw b'00000010' movwf GPIO return GP2on movlw b'00000100' movwf GPIO return GP3on movlw b'00001000' movwf GPIO return GP4on movlw b'00010000' movwf GPIO return GP5on movlw b'00100000' movwf GPIO return delay movlw 0x10 movwf mcount loadn movlw 0xFF movwf ncount loado movlw 0xFF movwf ocount repeat decfsz ocount,f goto repeat decfsz ncount,f goto loado decfsz mcount,f goto loadn return END __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist