Hola CHaly29!!
Primero tener en cuenta que GPIO3 solo puede ser utilizado como entrada o MCRLE .
Hay que configurar el pin como entrada , y lo más importante , es desactivar el bit de configuración correspondiente al master clear.
Me paso alguna vez al utilizar el pin MCRLE como entrada , el código estaba bien , pero al programar
en mi caso en el ICProg , la banderita de Master Clear estaba activada.
La desactive y todo bien.!!!
aqui dejo una parte de código en asm
__CONFIG _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _WDT_OFF & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT
main
CLRF GPIO
MOVLW 0X07 ; COMPARADORES DESACTIVADOS
MOVWF CMCON
BSF STATUS,5
CLRF TRISIO ; PUERTO USADO COMO SALIDAS
BSF TRISIO,3 ; MASTER CLEAR ES ENTRADA
BCF STATUS,5
--programa--
Saludos!!