
_interrupt:

;GSM_PIC_clicker.c,93 :: 		void interrupt() {
;GSM_PIC_clicker.c,96 :: 		if (USBIF_bit) {
	BTFSS       USBIF_bit+0, BitPos(USBIF_bit+0) 
	GOTO        L_interrupt0
;GSM_PIC_clicker.c,97 :: 		USB_Interrupt_Proc();
	CALL        _USB_Interrupt_Proc+0, 0
;GSM_PIC_clicker.c,98 :: 		}
L_interrupt0:
;GSM_PIC_clicker.c,102 :: 		if (T0IF_bit) { // 1ms Interrupt
	BTFSS       T0IF_bit+0, BitPos(T0IF_bit+0) 
	GOTO        L_interrupt1
;GSM_PIC_clicker.c,106 :: 		TMR0H = 0xD1;
	MOVLW       209
	MOVWF       TMR0H+0 
;GSM_PIC_clicker.c,107 :: 		TMR0L = 0x20;
	MOVLW       32
	MOVWF       TMR0L+0 
;GSM_PIC_clicker.c,108 :: 		gsm1msPing();
	CALL        _gsm1msPing+0, 0
;GSM_PIC_clicker.c,109 :: 		if (wrdButtonTmr < 65535) {wrdButtonTmr++;}
	MOVLW       255
	SUBWF       _wrdButtonTmr+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__interrupt44
	MOVLW       255
	SUBWF       _wrdButtonTmr+0, 0 
L__interrupt44:
	BTFSC       STATUS+0, 0 
	GOTO        L_interrupt2
	INFSNZ      _wrdButtonTmr+0, 1 
	INCF        _wrdButtonTmr+1, 1 
L_interrupt2:
;GSM_PIC_clicker.c,110 :: 		T0IF_bit = 0; // Clear interrupt flag
	BCF         T0IF_bit+0, BitPos(T0IF_bit+0) 
;GSM_PIC_clicker.c,111 :: 		}
L_interrupt1:
;GSM_PIC_clicker.c,113 :: 		}
L_end_interrupt:
L__interrupt43:
	RETFIE      1
; end of _interrupt

_setup:

;GSM_PIC_clicker.c,115 :: 		void setup() {
;GSM_PIC_clicker.c,116 :: 		ANCON0 = 0b11111111; //All pins digital
	MOVLW       255
	MOVWF       ANCON0+0 
;GSM_PIC_clicker.c,117 :: 		ANCON1 = 0b00011111; //All pins digital
	MOVLW       31
	MOVWF       ANCON1+0 
;GSM_PIC_clicker.c,118 :: 		btn1_Dir = 1; // Input
	BSF         TRISD3_bit+0, BitPos(TRISD3_bit+0) 
;GSM_PIC_clicker.c,119 :: 		btn2_Dir = 1; // Input
	BSF         TRISD2_bit+0, BitPos(TRISD2_bit+0) 
;GSM_PIC_clicker.c,120 :: 		led1_Dir = 0; // Output
	BCF         TRISA0_bit+0, BitPos(TRISA0_bit+0) 
;GSM_PIC_clicker.c,121 :: 		led2_Dir = 0; // Output
	BCF         TRISA1_bit+0, BitPos(TRISA1_bit+0) 
;GSM_PIC_clicker.c,122 :: 		TRISD5_bit = 1; //UART Rx
	BSF         TRISD5_bit+0, BitPos(TRISD5_bit+0) 
;GSM_PIC_clicker.c,123 :: 		TRISD6_bit = 0; //UART Tx
	BCF         TRISD6_bit+0, BitPos(TRISD6_bit+0) 
;GSM_PIC_clicker.c,124 :: 		GSM_Pwr_Key_Dir = 0;
	BCF         TRISB2_bit+0, BitPos(TRISB2_bit+0) 
;GSM_PIC_clicker.c,125 :: 		GSM_Stat_Dir = 1;
	BSF         TRISA2_bit+0, BitPos(TRISA2_bit+0) 
;GSM_PIC_clicker.c,127 :: 		Unlock_IOLOCK();
	CALL        _Unlock_IOLOCK+0, 0
;GSM_PIC_clicker.c,128 :: 		PPS_Mapping_NoLock(22, _INPUT, _RX2_DT2);
	MOVLW       22
	MOVWF       FARG_PPS_Mapping_NoLock_rp_num+0 
	MOVLW       1
	MOVWF       FARG_PPS_Mapping_NoLock_input_output+0 
	MOVLW       12
	MOVWF       FARG_PPS_Mapping_NoLock_funct_name+0 
	CALL        _PPS_Mapping_NoLock+0, 0
;GSM_PIC_clicker.c,129 :: 		PPS_Mapping_NoLock(23, _OUTPUT, _TX2_CK2);
	MOVLW       23
	MOVWF       FARG_PPS_Mapping_NoLock_rp_num+0 
	CLRF        FARG_PPS_Mapping_NoLock_input_output+0 
	MOVLW       6
	MOVWF       FARG_PPS_Mapping_NoLock_funct_name+0 
	CALL        _PPS_Mapping_NoLock+0, 0
;GSM_PIC_clicker.c,130 :: 		Lock_IOLOCK();
	CALL        _Lock_IOLOCK+0, 0
;GSM_PIC_clicker.c,131 :: 		IPEN_bit = 0; //Interrupt priority disable
	BCF         IPEN_bit+0, BitPos(IPEN_bit+0) 
;GSM_PIC_clicker.c,132 :: 		GIE_bit = 1; //Global interrupt enable
	BSF         GIE_bit+0, BitPos(GIE_bit+0) 
;GSM_PIC_clicker.c,133 :: 		PEIE_bit = 1; //Peripheral interrupt enable
	BSF         PEIE_bit+0, BitPos(PEIE_bit+0) 
;GSM_PIC_clicker.c,135 :: 		HID_Enable(&USBin,&USBout); // Enable HID communication
	MOVLW       _USBin+0
	MOVWF       FARG_HID_Enable_readbuff+0 
	MOVLW       hi_addr(_USBin+0)
	MOVWF       FARG_HID_Enable_readbuff+1 
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Enable_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Enable_writebuff+1 
	CALL        _HID_Enable+0, 0
;GSM_PIC_clicker.c,138 :: 		T0CON = 0b10001000; //Timer0 On, 16-bit, internal clock, pre-scaler not assgnd
	MOVLW       136
	MOVWF       T0CON+0 
;GSM_PIC_clicker.c,139 :: 		T0IE_bit = 1; //Enable Timer0 overflow interrupts
	BSF         T0IE_bit+0, BitPos(T0IE_bit+0) 
;GSM_PIC_clicker.c,140 :: 		}
L_end_setup:
	RETURN      0
; end of _setup

_startup:

;GSM_PIC_clicker.c,142 :: 		void startup() {
;GSM_PIC_clicker.c,143 :: 		led1 = 0;
	BCF         LATA0_bit+0, BitPos(LATA0_bit+0) 
;GSM_PIC_clicker.c,144 :: 		led2 = 0;
	BCF         LATA1_bit+0, BitPos(LATA1_bit+0) 
;GSM_PIC_clicker.c,145 :: 		UART_Remappable_Init(9600);
	BSF         BAUDCON2+0, 3, 0
	MOVLW       4
	MOVWF       SPBRGH2+0 
	MOVLW       225
	MOVWF       SPBRG2+0 
	BSF         TXSTA2+0, 2, 0
	CALL        _UART_Remappable_Init+0, 0
;GSM_PIC_clicker.c,146 :: 		gsmInit();
	CALL        _gsmInit+0, 0
;GSM_PIC_clicker.c,147 :: 		gsm_MS_Init();
	CALL        _gsm_MS_Init+0, 0
;GSM_PIC_clicker.c,148 :: 		gsm_Msg_Init(); // Requires GSM_Msg module
	CALL        _gsm_Msg_Init+0, 0
;GSM_PIC_clicker.c,149 :: 		bitRTCC_Set = 0;
	BCF         _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
;GSM_PIC_clicker.c,150 :: 		}
L_end_startup:
	RETURN      0
; end of _startup

_msgSend:

;GSM_PIC_clicker.c,152 :: 		void msgSend() {
;GSM_PIC_clicker.c,155 :: 		strcpy(&USBout, "Sending message to ");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr1_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr1_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,156 :: 		strcat(&USBout, &strDestID);
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_to+1 
	MOVLW       _strDestID+0
	MOVWF       FARG_strcat_from+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_strcat_from+1 
	CALL        _strcat+0, 0
;GSM_PIC_clicker.c,157 :: 		strcat(&USBout, ":\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_to+1 
	MOVLW       ?lstr2_GSM_PIC_clicker+0
	MOVWF       FARG_strcat_from+0 
	MOVLW       hi_addr(?lstr2_GSM_PIC_clicker+0)
	MOVWF       FARG_strcat_from+1 
	CALL        _strcat+0, 0
;GSM_PIC_clicker.c,158 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,159 :: 		strncpyExNewLine(&USBout, &strMsgSendTxt, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_strncpyExNewLine_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strncpyExNewLine_to+1 
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strncpyExNewLine_from+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strncpyExNewLine_from+1 
	MOVLW       64
	MOVWF       FARG_strncpyExNewLine_size+0 
	CALL        _strncpyExNewLine+0, 0
;GSM_PIC_clicker.c,160 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,162 :: 		if (strDestID[0] != 0) {
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L_msgSend3
;GSM_PIC_clicker.c,163 :: 		if (gsmMsgSendPending()) {gsmMsgSendCancel();} // Cancel any message waiting to be sent
	CALL        _gsmMsgSendPending+0, 0
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_msgSend4
	CALL        _gsmMsgSendCancel+0, 0
L_msgSend4:
;GSM_PIC_clicker.c,164 :: 		gsmMsgSend(&strMsgSendTxt, &strDestID); // Send the message
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_gsmMsgSend_Message+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_gsmMsgSend_Message+1 
	MOVLW       _strDestID+0
	MOVWF       FARG_gsmMsgSend_DestinationID+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_gsmMsgSend_DestinationID+1 
	CALL        _gsmMsgSend+0, 0
;GSM_PIC_clicker.c,165 :: 		}
L_msgSend3:
;GSM_PIC_clicker.c,166 :: 		}
L_end_msgSend:
	RETURN      0
; end of _msgSend

_gsmMissedCall:

;GSM_PIC_clicker.c,168 :: 		void gsmMissedCall(char *OriginatorID) {
;GSM_PIC_clicker.c,169 :: 		led1 = !led1; // Toggle LED1
	BTG         LATA0_bit+0, BitPos(LATA0_bit+0) 
;GSM_PIC_clicker.c,170 :: 		if (strDestID[0] == 0) { // If the destination ID has not yet been set then
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMissedCall5
;GSM_PIC_clicker.c,171 :: 		strcpy(&strDestID, OriginatorID); // Copy it from the originator ID
	MOVLW       _strDestID+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_strcpy_to+1 
	MOVF        FARG_gsmMissedCall_OriginatorID+0, 0 
	MOVWF       FARG_strcpy_from+0 
	MOVF        FARG_gsmMissedCall_OriginatorID+1, 0 
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,172 :: 		}
L_gsmMissedCall5:
;GSM_PIC_clicker.c,173 :: 		}
L_end_gsmMissedCall:
	RETURN      0
; end of _gsmMissedCall

_gsmMsgRcvd:

;GSM_PIC_clicker.c,175 :: 		void gsmMsgRcvd(char *MessageText, char *OriginatorID) {
;GSM_PIC_clicker.c,176 :: 		if (strDestID[0] == 0) { // If the destination ID has not yet been set then
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd6
;GSM_PIC_clicker.c,177 :: 		strcpy(&strDestID, OriginatorID); // Copy it from the originator ID
	MOVLW       _strDestID+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_strcpy_to+1 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+0, 0 
	MOVWF       FARG_strcpy_from+0 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+1, 0 
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,178 :: 		}                                   // (reply to sender)
L_gsmMsgRcvd6:
;GSM_PIC_clicker.c,179 :: 		if (gsmMsgJustArrived() == 1) {
	CALL        _gsmMsgJustArrived+0, 0
	MOVF        R0, 0 
	XORLW       1
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd7
;GSM_PIC_clicker.c,182 :: 		if (!bitRTCC_Set) {
	BTFSC       _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
	GOTO        L_gsmMsgRcvd8
;GSM_PIC_clicker.c,183 :: 		memcpy(&dtmRTCC, &dtmGsmEvent, 6);
	MOVLW       _dtmRTCC+0
	MOVWF       FARG_memcpy_d1+0 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FARG_memcpy_d1+1 
	MOVLW       _dtmGsmEvent+0
	MOVWF       FARG_memcpy_s1+0 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FARG_memcpy_s1+1 
	MOVLW       6
	MOVWF       FARG_memcpy_n+0 
	MOVLW       0
	MOVWF       FARG_memcpy_n+1 
	CALL        _memcpy+0, 0
;GSM_PIC_clicker.c,185 :: 		gsmDateTimeWrite();
	CALL        _gsmDateTimeWrite+0, 0
;GSM_PIC_clicker.c,186 :: 		}
L_gsmMsgRcvd8:
;GSM_PIC_clicker.c,187 :: 		}
L_gsmMsgRcvd7:
;GSM_PIC_clicker.c,188 :: 		lcase(MessageText); // Convert the entire message to lower case
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_lcase_string+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_lcase_string+1 
	CALL        _lcase+0, 0
;GSM_PIC_clicker.c,190 :: 		if (*(MessageText + 1) == 'n') { // Looking for "on"
	MOVLW       1
	ADDWF       FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FSR0 
	MOVLW       0
	ADDWFC      FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	XORLW       110
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd9
;GSM_PIC_clicker.c,191 :: 		if ((*MessageText + 2) == '1') { // "on1"
	MOVFF       FARG_gsmMsgRcvd_MessageText+0, FSR0
	MOVFF       FARG_gsmMsgRcvd_MessageText+1, FSR0H
	MOVLW       2
	ADDWF       POSTINC0+0, 0 
	MOVWF       R1 
	CLRF        R2 
	MOVLW       0
	ADDWFC      R2, 1 
	MOVLW       0
	XORWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd50
	MOVLW       49
	XORWF       R1, 0 
L__gsmMsgRcvd50:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd10
;GSM_PIC_clicker.c,192 :: 		LED1 = 1;
	BSF         LATA0_bit+0, BitPos(LATA0_bit+0) 
;GSM_PIC_clicker.c,193 :: 		} else if ((*MessageText + 2) == '2') { // "on2"
	GOTO        L_gsmMsgRcvd11
L_gsmMsgRcvd10:
	MOVFF       FARG_gsmMsgRcvd_MessageText+0, FSR0
	MOVFF       FARG_gsmMsgRcvd_MessageText+1, FSR0H
	MOVLW       2
	ADDWF       POSTINC0+0, 0 
	MOVWF       R1 
	CLRF        R2 
	MOVLW       0
	ADDWFC      R2, 1 
	MOVLW       0
	XORWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd51
	MOVLW       50
	XORWF       R1, 0 
L__gsmMsgRcvd51:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd12
;GSM_PIC_clicker.c,194 :: 		LED2 = 1;
	BSF         LATA1_bit+0, BitPos(LATA1_bit+0) 
;GSM_PIC_clicker.c,195 :: 		} else { // just "on" (both)
	GOTO        L_gsmMsgRcvd13
L_gsmMsgRcvd12:
;GSM_PIC_clicker.c,196 :: 		LED1 = 1;
	BSF         LATA0_bit+0, BitPos(LATA0_bit+0) 
;GSM_PIC_clicker.c,197 :: 		LED2 = 1;
	BSF         LATA1_bit+0, BitPos(LATA1_bit+0) 
;GSM_PIC_clicker.c,198 :: 		}
L_gsmMsgRcvd13:
L_gsmMsgRcvd11:
;GSM_PIC_clicker.c,199 :: 		} else if (*(MessageText + 1) == 'f') { // Looking for "off"
	GOTO        L_gsmMsgRcvd14
L_gsmMsgRcvd9:
	MOVLW       1
	ADDWF       FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FSR0 
	MOVLW       0
	ADDWFC      FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FSR0H 
	MOVF        POSTINC0+0, 0 
	XORLW       102
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd15
;GSM_PIC_clicker.c,200 :: 		if ((*MessageText + 3) == '1') { // "off1"
	MOVFF       FARG_gsmMsgRcvd_MessageText+0, FSR0
	MOVFF       FARG_gsmMsgRcvd_MessageText+1, FSR0H
	MOVLW       3
	ADDWF       POSTINC0+0, 0 
	MOVWF       R1 
	CLRF        R2 
	MOVLW       0
	ADDWFC      R2, 1 
	MOVLW       0
	XORWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd52
	MOVLW       49
	XORWF       R1, 0 
L__gsmMsgRcvd52:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd16
;GSM_PIC_clicker.c,201 :: 		LED1 = 0;
	BCF         LATA0_bit+0, BitPos(LATA0_bit+0) 
;GSM_PIC_clicker.c,202 :: 		} else if ((*MessageText + 3) == '2') { // "off2"
	GOTO        L_gsmMsgRcvd17
L_gsmMsgRcvd16:
	MOVFF       FARG_gsmMsgRcvd_MessageText+0, FSR0
	MOVFF       FARG_gsmMsgRcvd_MessageText+1, FSR0H
	MOVLW       3
	ADDWF       POSTINC0+0, 0 
	MOVWF       R1 
	CLRF        R2 
	MOVLW       0
	ADDWFC      R2, 1 
	MOVLW       0
	XORWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd53
	MOVLW       50
	XORWF       R1, 0 
L__gsmMsgRcvd53:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd18
;GSM_PIC_clicker.c,203 :: 		LED2 = 0;
	BCF         LATA1_bit+0, BitPos(LATA1_bit+0) 
;GSM_PIC_clicker.c,204 :: 		} else { // just "off" (both)
	GOTO        L_gsmMsgRcvd19
L_gsmMsgRcvd18:
;GSM_PIC_clicker.c,205 :: 		LED1 = 0;
	BCF         LATA0_bit+0, BitPos(LATA0_bit+0) 
;GSM_PIC_clicker.c,206 :: 		LED2 = 0;
	BCF         LATA1_bit+0, BitPos(LATA1_bit+0) 
;GSM_PIC_clicker.c,207 :: 		}
L_gsmMsgRcvd19:
L_gsmMsgRcvd17:
;GSM_PIC_clicker.c,208 :: 		} else if (memcmp(MessageText, "please call ", 12) == 0) { // "Please Call Me"
	GOTO        L_gsmMsgRcvd20
L_gsmMsgRcvd15:
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_memcmp_s1+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_memcmp_s1+1 
	MOVLW       ?lstr3_GSM_PIC_clicker+0
	MOVWF       FARG_memcmp_s2+0 
	MOVLW       hi_addr(?lstr3_GSM_PIC_clicker+0)
	MOVWF       FARG_memcmp_s2+1 
	MOVLW       12
	MOVWF       FARG_memcmp_n+0 
	MOVLW       0
	MOVWF       FARG_memcmp_n+1 
	CALL        _memcmp+0, 0
	MOVLW       0
	XORWF       R1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd54
	MOVLW       0
	XORWF       R0, 0 
L__gsmMsgRcvd54:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd21
;GSM_PIC_clicker.c,209 :: 		LED2 = !LED2;
	BTG         LATA1_bit+0, BitPos(LATA1_bit+0) 
;GSM_PIC_clicker.c,210 :: 		}
L_gsmMsgRcvd21:
L_gsmMsgRcvd20:
L_gsmMsgRcvd14:
;GSM_PIC_clicker.c,211 :: 		}
L_end_gsmMsgRcvd:
	RETURN      0
; end of _gsmMsgRcvd

_gsmEvent:

;GSM_PIC_clicker.c,213 :: 		void gsmEvent(char GsmEventType) {
;GSM_PIC_clicker.c,214 :: 		switch (GsmEventType) {
	GOTO        L_gsmEvent22
;GSM_PIC_clicker.c,215 :: 		case gsmevntPIN_Request:
L_gsmEvent24:
;GSM_PIC_clicker.c,218 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,219 :: 		case gsmevntPIN_Fail:
L_gsmEvent25:
;GSM_PIC_clicker.c,221 :: 		strcpy(&USBout, "PIN entry failed\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr4_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr4_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,222 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,224 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,225 :: 		case gsmevntMissedCall:
L_gsmEvent26:
;GSM_PIC_clicker.c,226 :: 		gsmMissedCall(pstrGsmEventOriginatorID);
	MOVF        _pstrGsmEventOriginatorID+0, 0 
	MOVWF       FARG_gsmMissedCall_OriginatorID+0 
	MOVF        _pstrGsmEventOriginatorID+1, 0 
	MOVWF       FARG_gsmMissedCall_OriginatorID+1 
	CALL        _gsmMissedCall+0, 0
;GSM_PIC_clicker.c,227 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,228 :: 		case gsmevntMsgRcvd:
L_gsmEvent27:
;GSM_PIC_clicker.c,229 :: 		gsmMsgRcvd(pstrGsmEventData, pstrGsmEventOriginatorID);
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_gsmMsgRcvd_MessageText+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_gsmMsgRcvd_MessageText+1 
	MOVF        _pstrGsmEventOriginatorID+0, 0 
	MOVWF       FARG_gsmMsgRcvd_OriginatorID+0 
	MOVF        _pstrGsmEventOriginatorID+1, 0 
	MOVWF       FARG_gsmMsgRcvd_OriginatorID+1 
	CALL        _gsmMsgRcvd+0, 0
;GSM_PIC_clicker.c,230 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,231 :: 		case gsmevntMsgSent:
L_gsmEvent28:
;GSM_PIC_clicker.c,233 :: 		strcpy(&USBout, "Message sent\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr5_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr5_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,234 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,236 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,237 :: 		case gsmevntMsgDiscarded:
L_gsmEvent29:
;GSM_PIC_clicker.c,238 :: 		case gsmevntMsgSendFailed:
L_gsmEvent30:
;GSM_PIC_clicker.c,240 :: 		strcpy(&USBout, "Message send failed\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr6_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr6_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,241 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,243 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,244 :: 		case gsmevntDateTimeRead:
L_gsmEvent31:
;GSM_PIC_clicker.c,245 :: 		if (dtmGsmEvent.Year > 10) { // If the GSM modules date/time is valid
	MOVF        _dtmGsmEvent+0, 0 
	SUBLW       10
	BTFSC       STATUS+0, 0 
	GOTO        L_gsmEvent32
;GSM_PIC_clicker.c,249 :: 		strcpy(&USBout, "Date/Time: ");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr7_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr7_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,250 :: 		RTCC_GenerateString(&dtmGsmEvent, &USBout + 11);
	MOVLW       _dtmGsmEvent+0
	MOVWF       FARG_RTCC_GenerateString_dt+0 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FARG_RTCC_GenerateString_dt+1 
	MOVLW       _USBout+11
	MOVWF       FARG_RTCC_GenerateString_rtccstring+0 
	MOVLW       hi_addr(_USBout+11)
	MOVWF       FARG_RTCC_GenerateString_rtccstring+1 
	CALL        _RTCC_GenerateString+0, 0
;GSM_PIC_clicker.c,251 :: 		strcat(&USBout, "\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_to+1 
	MOVLW       ?lstr8_GSM_PIC_clicker+0
	MOVWF       FARG_strcat_from+0 
	MOVLW       hi_addr(?lstr8_GSM_PIC_clicker+0)
	MOVWF       FARG_strcat_from+1 
	CALL        _strcat+0, 0
;GSM_PIC_clicker.c,252 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,254 :: 		memcpy(&dtmRTCC, &dtmGsmEvent, 6);
	MOVLW       _dtmRTCC+0
	MOVWF       FARG_memcpy_d1+0 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FARG_memcpy_d1+1 
	MOVLW       _dtmGsmEvent+0
	MOVWF       FARG_memcpy_s1+0 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FARG_memcpy_s1+1 
	MOVLW       6
	MOVWF       FARG_memcpy_n+0 
	MOVLW       0
	MOVWF       FARG_memcpy_n+1 
	CALL        _memcpy+0, 0
;GSM_PIC_clicker.c,255 :: 		bitRTCC_Set = 1;
	BSF         _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
;GSM_PIC_clicker.c,256 :: 		} else {
	GOTO        L_gsmEvent33
L_gsmEvent32:
;GSM_PIC_clicker.c,258 :: 		strcpy(&USBout, "Date/Time not yet set.\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr9_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr9_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,259 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,261 :: 		}
L_gsmEvent33:
;GSM_PIC_clicker.c,262 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,263 :: 		case gsmevntDateTimeWrite:
L_gsmEvent34:
;GSM_PIC_clicker.c,265 :: 		memcpy(&dtmGsmEvent, &dtmRTCC, 6);
	MOVLW       _dtmGsmEvent+0
	MOVWF       FARG_memcpy_d1+0 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FARG_memcpy_d1+1 
	MOVLW       _dtmRTCC+0
	MOVWF       FARG_memcpy_s1+0 
	MOVLW       hi_addr(_dtmRTCC+0)
	MOVWF       FARG_memcpy_s1+1 
	MOVLW       6
	MOVWF       FARG_memcpy_n+0 
	MOVLW       0
	MOVWF       FARG_memcpy_n+1 
	CALL        _memcpy+0, 0
;GSM_PIC_clicker.c,266 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,267 :: 		case gsmevntIMEI_Read:
L_gsmEvent35:
;GSM_PIC_clicker.c,269 :: 		strcpy(&USBout, "IMEI: ");
	MOVLW       _USBout+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr10_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr10_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,270 :: 		strcat(&USBout, pstrGsmEventData);
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_to+1 
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_strcat_from+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_strcat_from+1 
	CALL        _strcat+0, 0
;GSM_PIC_clicker.c,271 :: 		strcat(&USBout, "\r\n");
	MOVLW       _USBout+0
	MOVWF       FARG_strcat_to+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_strcat_to+1 
	MOVLW       ?lstr11_GSM_PIC_clicker+0
	MOVWF       FARG_strcat_from+0 
	MOVLW       hi_addr(?lstr11_GSM_PIC_clicker+0)
	MOVWF       FARG_strcat_from+1 
	CALL        _strcat+0, 0
;GSM_PIC_clicker.c,272 :: 		HID_Write(&USBout, 64);
	MOVLW       _USBout+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_USBout+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
;GSM_PIC_clicker.c,274 :: 		break;
	GOTO        L_gsmEvent23
;GSM_PIC_clicker.c,275 :: 		}
L_gsmEvent22:
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       30
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent24
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       31
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent25
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       70
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent26
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       80
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent27
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       83
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent28
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       82
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent29
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       84
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent30
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       150
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent31
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       151
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent34
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       20
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent35
L_gsmEvent23:
;GSM_PIC_clicker.c,276 :: 		}
L_end_gsmEvent:
	RETURN      0
; end of _gsmEvent

_main:

;GSM_PIC_clicker.c,278 :: 		void main() {
;GSM_PIC_clicker.c,279 :: 		setup();
	CALL        _setup+0, 0
;GSM_PIC_clicker.c,280 :: 		startup();
	CALL        _startup+0, 0
;GSM_PIC_clicker.c,281 :: 		gsmDateTimeRead();
	CALL        _gsmDateTimeRead+0, 0
;GSM_PIC_clicker.c,282 :: 		while (1) {
L_main36:
;GSM_PIC_clicker.c,283 :: 		gsmPoll();
	CALL        _gsmPoll+0, 0
;GSM_PIC_clicker.c,286 :: 		if (wrdButtonTmr > 10000) {
	MOVF        _wrdButtonTmr+1, 0 
	SUBLW       39
	BTFSS       STATUS+0, 2 
	GOTO        L__main57
	MOVF        _wrdButtonTmr+0, 0 
	SUBLW       16
L__main57:
	BTFSC       STATUS+0, 0 
	GOTO        L_main38
;GSM_PIC_clicker.c,287 :: 		if (btn1 == 0) {
	BTFSC       RD3_bit+0, BitPos(RD3_bit+0) 
	GOTO        L_main39
;GSM_PIC_clicker.c,288 :: 		strcpy(&strMsgSendTxt, "Button T1 pressed.");
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr12_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr12_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,289 :: 		msgSend();
	CALL        _msgSend+0, 0
;GSM_PIC_clicker.c,290 :: 		wrdButtonTmr = 0;
	CLRF        _wrdButtonTmr+0 
	CLRF        _wrdButtonTmr+1 
;GSM_PIC_clicker.c,291 :: 		} else if (btn2 == 0) {
	GOTO        L_main40
L_main39:
	BTFSC       RD2_bit+0, BitPos(RD2_bit+0) 
	GOTO        L_main41
;GSM_PIC_clicker.c,292 :: 		strcpy(&strMsgSendTxt, "Button T2 pressed.");
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr13_GSM_PIC_clicker+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr13_GSM_PIC_clicker+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_PIC_clicker.c,293 :: 		msgSend();
	CALL        _msgSend+0, 0
;GSM_PIC_clicker.c,294 :: 		wrdButtonTmr = 0;
	CLRF        _wrdButtonTmr+0 
	CLRF        _wrdButtonTmr+1 
;GSM_PIC_clicker.c,295 :: 		}
L_main41:
L_main40:
;GSM_PIC_clicker.c,296 :: 		}
L_main38:
;GSM_PIC_clicker.c,297 :: 		} // (while)
	GOTO        L_main36
;GSM_PIC_clicker.c,298 :: 		} // (void)
L_end_main:
	GOTO        $+0
; end of _main
