Parts of codes:
__CONFIG _FCMEN_OFF & _IESO_OFF & _BOD_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
Inititialization
Bank1 ; set file register bank to 1
CLRF INTCON
MOVLW B'01000010'
MOVWF OPTION_REG
CLRF PIE1
MOVLW B'01100101'
MOVWF OSCCON
CLRF OSCTUNE
CLRF VRCON
MOVLW B'00110100'
MOVWF WPUA
MOVLW B'00110100' ;Enable Int. on Change for all PORTA I/P
MOVWF IOCA
Bank0
MOVLW b'00100000'
MOVWF T1CON
CLRF PIR1
CLRF TXREG
MOVLW b'11000000'
MOVWF RCSTA
MOVLW b'01100110'
MOVWF TXSTA
MOVLW 1
MOVWF SPBRG
MOVLW b'01001000'
MOVWF BAUDCTL
CLRF PORTC
CLRF ADCON0
;------ Initializing PORTA ---------------------
CLRF PORTA
MOVLW b'00000111'
MOVWF CMCON0
Bank1
CLRF ANSEL
MOVLW b'00110100'
MOVWF TRISA
;------ End of Initializing PORTA -------------
MOVLW b'00100000'
MOVWF TRISC
Bank0
BCF PIR1,RCIF
MOVF RCREG,W
MOVF RCREG,W
BSF RCSTA,CREN
Bank1
BSF PIE1,RCIE
Bank0