__CONFIG _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT
main
bcf STATUS,RP1 ;Bank1
bsf STATUS,RP0 ;Bank1
movlw b'00000001' ;set osc
movwf OSCCON
movlw b'10000000' ;b'11001111'
movwf OPTION_REG ;TMR0 select
movlw b'00000000'
movwf WPUA ;set weak pull up PORTA
movlw b'00000000'
movwf IOCA ;set interrupt on change PORTA
movlw b'00000000'
movwf ADCON1 ;set conversion clock Fosc/8
;movlw pa_cfg ;b'00001010'
movlw b'11111111';b'00011110'
movwf TRISA ;configure PORTA I/O pin
movlw b'11111111' ;b'00000000'
movwf TRISB ;configure PORTB I/O pin
movlw b'11111111' ;b'00000000'
movwf TRISC ;configure PORTC I/O pin
movlw b'00000000'
movwf PIE1 ;set interrupt enable
movlw b'00000000'
movwf PIE2 ;set interrupt enable
movlw b'00000001'
movwf PCON
movlw b'00000000'
movwf WDTCON
bsf STATUS,RP1 ;Bank3
bsf STATUS,RP0 ;Bank3
movwf b'00000000'
movwf SRCON
movwf b'00000000'
movwf EECON1
; bsf STATUS,IRP ;Bank2&3
bsf STATUS,RP1 ;Bank2
bcf STATUS,RP0 ;Bank2
movlw b'00000000'
movwf ANSEL ;set all digital I/O
movlw b'00000000'
movwf ANSELH ;set others digital I/O
movlw b'00000000'
movwf WPUB ;set weak pull up PORTB
movlw b'00000000'
movwf IOCB ;set interrupt on change PORTB
movlw b'00000000'
movwf CM1CON0
movlw b'00000000'
movwf CM2CON0
movlw b'00000000'
movwf CM2CON1
movlw b'00000000'
movwf VRCON
; bcf STATUS,IRP ;Bank0&1
bcf STATUS,RP1 ;Bank0
bcf STATUS,RP0 ;Bank0
movlw b'00000000' ;b'00000000'
movwf T1CON ;set timer1
movlw b'00000000' ;b'00000000'
movwf T2CON ;set timer2
movlw b'00000000'
movwf CCP1CON ;set comparator pin all ground
movlw b'00000000'
movwf ADCON0
movlw b'00000000'
movwf INTCON
movlw b'00000000'
movwf ECCPAS
sleep
nop
END