
_initMain:

;ShockSensor.c,15 :: 		void initMain(){
;ShockSensor.c,16 :: 		TRISIO=0b00000111;
	MOVLW      7
	MOVWF      TRISIO+0
;ShockSensor.c,17 :: 		ANSEL=0b00000000;
	CLRF       ANSEL+0
;ShockSensor.c,18 :: 		CMCON=0b00000111;
	MOVLW      7
	MOVWF      CMCON+0
;ShockSensor.c,19 :: 		OUT=1;
	BSF        GPIO+0, 5
;ShockSensor.c,20 :: 		LEDOUT=1;
	BSF        GPIO+0, 4
;ShockSensor.c,21 :: 		delay_ms(10000);
	MOVLW      51
	MOVWF      R11+0
	MOVLW      187
	MOVWF      R12+0
	MOVLW      223
	MOVWF      R13+0
L_initMain0:
	DECFSZ     R13+0, 1
	GOTO       L_initMain0
	DECFSZ     R12+0, 1
	GOTO       L_initMain0
	DECFSZ     R11+0, 1
	GOTO       L_initMain0
	NOP
	NOP
;ShockSensor.c,22 :: 		}
L_end_initMain:
	RETURN
; end of _initMain

_Alarm:

;ShockSensor.c,27 :: 		void Alarm(){
;ShockSensor.c,28 :: 		if((TRIGIN==1)&&(TRIGG1==0)&&(TRIGG2==0)){
	BTFSS      GPIO+0, 2
	GOTO       L_Alarm3
	BTFSC      GPIO+0, 0
	GOTO       L_Alarm3
	BTFSC      GPIO+0, 1
	GOTO       L_Alarm3
L__Alarm32:
;ShockSensor.c,29 :: 		delay_us(5);
	NOP
	NOP
	NOP
	NOP
	NOP
;ShockSensor.c,30 :: 		if(TRIGIN==1){
	BTFSS      GPIO+0, 2
	GOTO       L_Alarm4
;ShockSensor.c,31 :: 		n++;
	INCF       _n+0, 1
	BTFSC      STATUS+0, 2
	INCF       _n+1, 1
;ShockSensor.c,32 :: 		}
L_Alarm4:
;ShockSensor.c,33 :: 		while(TRIGIN==1){
L_Alarm5:
	BTFSS      GPIO+0, 2
	GOTO       L_Alarm6
;ShockSensor.c,34 :: 		LEDOUT=1;
	BSF        GPIO+0, 4
;ShockSensor.c,35 :: 		OUT=0;
	BCF        GPIO+0, 5
;ShockSensor.c,36 :: 		delay_ms(2000);
	MOVLW      11
	MOVWF      R11+0
	MOVLW      38
	MOVWF      R12+0
	MOVLW      93
	MOVWF      R13+0
L_Alarm7:
	DECFSZ     R13+0, 1
	GOTO       L_Alarm7
	DECFSZ     R12+0, 1
	GOTO       L_Alarm7
	DECFSZ     R11+0, 1
	GOTO       L_Alarm7
	NOP
	NOP
;ShockSensor.c,37 :: 		}
	GOTO       L_Alarm5
L_Alarm6:
;ShockSensor.c,38 :: 		}
L_Alarm3:
;ShockSensor.c,39 :: 		}
L_end_Alarm:
	RETURN
; end of _Alarm

_BlinkMode:

;ShockSensor.c,42 :: 		void BlinkMode(){
;ShockSensor.c,43 :: 		LEDOUT=1;
	BSF        GPIO+0, 4
;ShockSensor.c,44 :: 		Delay_ms(50);
	MOVLW      65
	MOVWF      R12+0
	MOVLW      238
	MOVWF      R13+0
L_BlinkMode8:
	DECFSZ     R13+0, 1
	GOTO       L_BlinkMode8
	DECFSZ     R12+0, 1
	GOTO       L_BlinkMode8
	NOP
;ShockSensor.c,45 :: 		if(n>=2){
	MOVLW      128
	XORWF      _n+1, 0
	MOVWF      R0+0
	MOVLW      128
	SUBWF      R0+0, 0
	BTFSS      STATUS+0, 2
	GOTO       L__BlinkMode39
	MOVLW      2
	SUBWF      _n+0, 0
L__BlinkMode39:
	BTFSS      STATUS+0, 0
	GOTO       L_BlinkMode9
;ShockSensor.c,46 :: 		LEDOUT=0;
	BCF        GPIO+0, 4
;ShockSensor.c,47 :: 		Delay_ms(50);
	MOVLW      65
	MOVWF      R12+0
	MOVLW      238
	MOVWF      R13+0
L_BlinkMode10:
	DECFSZ     R13+0, 1
	GOTO       L_BlinkMode10
	DECFSZ     R12+0, 1
	GOTO       L_BlinkMode10
	NOP
;ShockSensor.c,48 :: 		LEDOUT=1;
	BSF        GPIO+0, 4
;ShockSensor.c,49 :: 		Delay_ms(50);
	MOVLW      65
	MOVWF      R12+0
	MOVLW      238
	MOVWF      R13+0
L_BlinkMode11:
	DECFSZ     R13+0, 1
	GOTO       L_BlinkMode11
	DECFSZ     R12+0, 1
	GOTO       L_BlinkMode11
	NOP
;ShockSensor.c,50 :: 		}
L_BlinkMode9:
;ShockSensor.c,51 :: 		if(k==90000){
	MOVF       _k+3, 0
	XORLW      0
	BTFSS      STATUS+0, 2
	GOTO       L__BlinkMode40
	MOVF       _k+2, 0
	XORLW      1
	BTFSS      STATUS+0, 2
	GOTO       L__BlinkMode40
	MOVF       _k+1, 0
	XORLW      95
	BTFSS      STATUS+0, 2
	GOTO       L__BlinkMode40
	MOVF       _k+0, 0
	XORLW      144
L__BlinkMode40:
	BTFSS      STATUS+0, 2
	GOTO       L_BlinkMode12
;ShockSensor.c,52 :: 		k=0;
	CLRF       _k+0
	CLRF       _k+1
	CLRF       _k+2
	CLRF       _k+3
;ShockSensor.c,53 :: 		}
L_BlinkMode12:
;ShockSensor.c,54 :: 		}
L_end_BlinkMode:
	RETURN
; end of _BlinkMode

_LeaveTime:

;ShockSensor.c,58 :: 		void LeaveTime(){
;ShockSensor.c,59 :: 		LEDOUT=1;
	BSF        GPIO+0, 4
;ShockSensor.c,60 :: 		for(i=0; i<300; i++){
	CLRF       _i+0
	CLRF       _i+1
L_LeaveTime13:
	MOVLW      128
	XORWF      _i+1, 0
	MOVWF      R0+0
	MOVLW      128
	XORLW      1
	SUBWF      R0+0, 0
	BTFSS      STATUS+0, 2
	GOTO       L__LeaveTime42
	MOVLW      44
	SUBWF      _i+0, 0
L__LeaveTime42:
	BTFSC      STATUS+0, 0
	GOTO       L_LeaveTime14
;ShockSensor.c,61 :: 		delay_ms(1000);
	MOVLW      6
	MOVWF      R11+0
	MOVLW      19
	MOVWF      R12+0
	MOVLW      173
	MOVWF      R13+0
L_LeaveTime16:
	DECFSZ     R13+0, 1
	GOTO       L_LeaveTime16
	DECFSZ     R12+0, 1
	GOTO       L_LeaveTime16
	DECFSZ     R11+0, 1
	GOTO       L_LeaveTime16
	NOP
	NOP
;ShockSensor.c,60 :: 		for(i=0; i<300; i++){
	INCF       _i+0, 1
	BTFSC      STATUS+0, 2
	INCF       _i+1, 1
;ShockSensor.c,62 :: 		}
	GOTO       L_LeaveTime13
L_LeaveTime14:
;ShockSensor.c,63 :: 		}
L_end_LeaveTime:
	RETURN
; end of _LeaveTime

_Main:

;ShockSensor.c,65 :: 		void Main() {
;ShockSensor.c,66 :: 		initMain();
	CALL       _initMain+0
;ShockSensor.c,69 :: 		while(1){
L_Main17:
;ShockSensor.c,70 :: 		k++;
	MOVF       _k+0, 0
	MOVWF      R0+0
	MOVF       _k+1, 0
	MOVWF      R0+1
	MOVF       _k+2, 0
	MOVWF      R0+2
	MOVF       _k+3, 0
	MOVWF      R0+3
	INCF       R0+0, 1
	BTFSC      STATUS+0, 2
	INCF       R0+1, 1
	BTFSC      STATUS+0, 2
	INCF       R0+2, 1
	BTFSC      STATUS+0, 2
	INCF       R0+3, 1
	MOVF       R0+0, 0
	MOVWF      _k+0
	MOVF       R0+1, 0
	MOVWF      _k+1
	MOVF       R0+2, 0
	MOVWF      _k+2
	MOVF       R0+3, 0
	MOVWF      _k+3
;ShockSensor.c,71 :: 		if(k==90000){
	MOVF       _k+3, 0
	XORLW      0
	BTFSS      STATUS+0, 2
	GOTO       L__Main44
	MOVF       _k+2, 0
	XORLW      1
	BTFSS      STATUS+0, 2
	GOTO       L__Main44
	MOVF       _k+1, 0
	XORLW      95
	BTFSS      STATUS+0, 2
	GOTO       L__Main44
	MOVF       _k+0, 0
	XORLW      144
L__Main44:
	BTFSS      STATUS+0, 2
	GOTO       L_Main19
;ShockSensor.c,72 :: 		BlinkMode();
	CALL       _BlinkMode+0
;ShockSensor.c,73 :: 		}
L_Main19:
;ShockSensor.c,74 :: 		if((TRIGIN==1)&&(TRIGG1==0)&&(TRIGG2==0)&&(n<2)){
	BTFSS      GPIO+0, 2
	GOTO       L_Main22
	BTFSC      GPIO+0, 0
	GOTO       L_Main22
	BTFSC      GPIO+0, 1
	GOTO       L_Main22
	MOVLW      128
	XORWF      _n+1, 0
	MOVWF      R0+0
	MOVLW      128
	SUBWF      R0+0, 0
	BTFSS      STATUS+0, 2
	GOTO       L__Main45
	MOVLW      2
	SUBWF      _n+0, 0
L__Main45:
	BTFSC      STATUS+0, 0
	GOTO       L_Main22
L__Main35:
;ShockSensor.c,75 :: 		Alarm();
	CALL       _Alarm+0
;ShockSensor.c,76 :: 		}
L_Main22:
;ShockSensor.c,77 :: 		if((TRIGG1==1)||(TRIGG2==1)){
	BTFSC      GPIO+0, 0
	GOTO       L__Main34
	BTFSC      GPIO+0, 1
	GOTO       L__Main34
	GOTO       L_Main25
L__Main34:
;ShockSensor.c,78 :: 		j=0;
	CLRF       _j+0
	CLRF       _j+1
;ShockSensor.c,82 :: 		while((TRIGG1==1)||(TRIGG2==1)){
L_Main26:
	BTFSC      GPIO+0, 0
	GOTO       L__Main33
	BTFSC      GPIO+0, 1
	GOTO       L__Main33
	GOTO       L_Main27
L__Main33:
;ShockSensor.c,83 :: 		LEDOUT=0;
	BCF        GPIO+0, 4
;ShockSensor.c,84 :: 		delay_ms(100);
	MOVLW      130
	MOVWF      R12+0
	MOVLW      221
	MOVWF      R13+0
L_Main30:
	DECFSZ     R13+0, 1
	GOTO       L_Main30
	DECFSZ     R12+0, 1
	GOTO       L_Main30
	NOP
	NOP
;ShockSensor.c,85 :: 		LEDOUT=1;
	BSF        GPIO+0, 4
;ShockSensor.c,86 :: 		delay_ms(100);
	MOVLW      130
	MOVWF      R12+0
	MOVLW      221
	MOVWF      R13+0
L_Main31:
	DECFSZ     R13+0, 1
	GOTO       L_Main31
	DECFSZ     R12+0, 1
	GOTO       L_Main31
	NOP
	NOP
;ShockSensor.c,87 :: 		OUT=1;
	BSF        GPIO+0, 5
;ShockSensor.c,88 :: 		}
	GOTO       L_Main26
L_Main27:
;ShockSensor.c,89 :: 		LeaveTime();
	CALL       _LeaveTime+0
;ShockSensor.c,90 :: 		n=0;
	CLRF       _n+0
	CLRF       _n+1
;ShockSensor.c,91 :: 		}
L_Main25:
;ShockSensor.c,92 :: 		LEDOUT=0;
	BCF        GPIO+0, 4
;ShockSensor.c,93 :: 		OUT=1;
	BSF        GPIO+0, 5
;ShockSensor.c,94 :: 		}
	GOTO       L_Main17
;ShockSensor.c,95 :: 		}
L_end_Main:
	GOTO       $+0
; end of _Main
