
_interrupt:

;GSM_EasyPIC7.c,108 :: 		void interrupt() {
;GSM_EasyPIC7.c,110 :: 		if (T0IF_bit) { // 1ms Interrupt
	BTFSS       T0IF_bit+0, BitPos(T0IF_bit+0) 
	GOTO        L_interrupt0
;GSM_EasyPIC7.c,114 :: 		TMR0H = 0x00;
	CLRF        TMR0H+0 
;GSM_EasyPIC7.c,115 :: 		TMR0L = 0x06;
	MOVLW       6
	MOVWF       TMR0L+0 
;GSM_EasyPIC7.c,117 :: 		UART_Rd_Ptr = &UART1_Read;
	MOVLW       _UART1_Read+0
	MOVWF       _UART_Rd_Ptr+0 
	MOVLW       hi_addr(_UART1_Read+0)
	MOVWF       _UART_Rd_Ptr+1 
	MOVLW       0
	MOVWF       _UART_Rd_Ptr+2 
	MOVLW       0
	MOVWF       _UART_Rd_Ptr+3 
;GSM_EasyPIC7.c,118 :: 		UART_Wr_Ptr = &UART1_Write;
	MOVLW       _UART1_Write+0
	MOVWF       _UART_Wr_Ptr+0 
	MOVLW       hi_addr(_UART1_Write+0)
	MOVWF       _UART_Wr_Ptr+1 
	MOVLW       FARG_UART1_Write_data_+0
	MOVWF       _UART_Wr_Ptr+2 
	MOVLW       hi_addr(FARG_UART1_Write_data_+0)
	MOVWF       _UART_Wr_Ptr+3 
;GSM_EasyPIC7.c,119 :: 		UART_Rdy_Ptr = &UART1_Data_Ready;
	MOVLW       _UART1_Data_Ready+0
	MOVWF       _UART_Rdy_Ptr+0 
	MOVLW       hi_addr(_UART1_Data_Ready+0)
	MOVWF       _UART_Rdy_Ptr+1 
	MOVLW       0
	MOVWF       _UART_Rdy_Ptr+2 
	MOVLW       0
	MOVWF       _UART_Rdy_Ptr+3 
;GSM_EasyPIC7.c,120 :: 		UART_Tx_Idle_Ptr = &UART1_Tx_Idle;
	MOVLW       _UART1_Tx_Idle+0
	MOVWF       _UART_Tx_Idle_Ptr+0 
	MOVLW       hi_addr(_UART1_Tx_Idle+0)
	MOVWF       _UART_Tx_Idle_Ptr+1 
	MOVLW       0
	MOVWF       _UART_Tx_Idle_Ptr+2 
	MOVLW       0
	MOVWF       _UART_Tx_Idle_Ptr+3 
;GSM_EasyPIC7.c,121 :: 		gsm1msPing();
	CALL        _gsm1msPing+0, 0
;GSM_EasyPIC7.c,122 :: 		if (wrdRB7Tmr < 65535) {wrdRB7Tmr++;}
	MOVLW       255
	SUBWF       _wrdRB7Tmr+1, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__interrupt45
	MOVLW       255
	SUBWF       _wrdRB7Tmr+0, 0 
L__interrupt45:
	BTFSC       STATUS+0, 0 
	GOTO        L_interrupt1
	INFSNZ      _wrdRB7Tmr+0, 1 
	INCF        _wrdRB7Tmr+1, 1 
L_interrupt1:
;GSM_EasyPIC7.c,123 :: 		T0IF_bit = 0; // Clear interrupt flag
	BCF         T0IF_bit+0, BitPos(T0IF_bit+0) 
;GSM_EasyPIC7.c,124 :: 		}
L_interrupt0:
;GSM_EasyPIC7.c,126 :: 		}
L_end_interrupt:
L__interrupt44:
	RETFIE      1
; end of _interrupt

_setup:

;GSM_EasyPIC7.c,128 :: 		void setup() {
;GSM_EasyPIC7.c,129 :: 		TRISA = 0b11111111; //PortA all inputs
	MOVLW       255
	MOVWF       TRISA+0 
;GSM_EasyPIC7.c,130 :: 		TRISB = 0b11000000; //PortB all outputs, except RB6 & RB7
	MOVLW       192
	MOVWF       TRISB+0 
;GSM_EasyPIC7.c,131 :: 		TRISC = 0b10000001; //PortC all outputs, except RC7 (RX) and RC0 (RI)
	MOVLW       129
	MOVWF       TRISC+0 
;GSM_EasyPIC7.c,132 :: 		TRISD = 0b10000000; //PortD all outputs, except RD7 (RX)
	MOVLW       128
	MOVWF       TRISD+0 
;GSM_EasyPIC7.c,133 :: 		LATC  = 0b00000000; //PortC all off by default
	CLRF        LATC+0 
;GSM_EasyPIC7.c,134 :: 		LATD  = 0b00000000; //PortD all off by default
	CLRF        LATD+0 
;GSM_EasyPIC7.c,135 :: 		GSM_Pwr_Key_Dir = 0;
	BCF         TRISE1_bit+0, BitPos(TRISE1_bit+0) 
;GSM_EasyPIC7.c,136 :: 		GSM_Stat_Dir = 1;
	BSF         TRISA2_bit+0, BitPos(TRISA2_bit+0) 
;GSM_EasyPIC7.c,137 :: 		ANSELA = 0b00000000; //All pins digital
	CLRF        ANSELA+0 
;GSM_EasyPIC7.c,138 :: 		ANSELB = 0b00000000; //All pins digital
	CLRF        ANSELB+0 
;GSM_EasyPIC7.c,139 :: 		ANSELC = 0b00000000; //All pins digital
	CLRF        ANSELC+0 
;GSM_EasyPIC7.c,140 :: 		ANSELD = 0b00000000; //All pins digital
	CLRF        ANSELD+0 
;GSM_EasyPIC7.c,141 :: 		RBPU_bit = 0; //PortB Weak Pull-Ups Enabled
	BCF         RBPU_bit+0, BitPos(RBPU_bit+0) 
;GSM_EasyPIC7.c,142 :: 		IPEN_bit = 0; //Interrupt priority disable
	BCF         IPEN_bit+0, BitPos(IPEN_bit+0) 
;GSM_EasyPIC7.c,143 :: 		GIE_bit = 1; //Global interrupt enable
	BSF         GIE_bit+0, BitPos(GIE_bit+0) 
;GSM_EasyPIC7.c,144 :: 		PEIE_bit = 1; //Peripheral interrupt enable
	BSF         PEIE_bit+0, BitPos(PEIE_bit+0) 
;GSM_EasyPIC7.c,145 :: 		T0CON = 0b11000100; //Timer0 On, 8-bit, internal clock, 1:32 prescaler
	MOVLW       196
	MOVWF       T0CON+0 
;GSM_EasyPIC7.c,146 :: 		T0IE_bit = 1; //Enable Timer0 overflow interrupts
	BSF         T0IE_bit+0, BitPos(T0IE_bit+0) 
;GSM_EasyPIC7.c,147 :: 		}
L_end_setup:
	RETURN      0
; end of _setup

_startup:

;GSM_EasyPIC7.c,149 :: 		void startup() {
;GSM_EasyPIC7.c,150 :: 		bitRTCC_Set = 0;
	BCF         _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
;GSM_EasyPIC7.c,151 :: 		UART2_Init(115200); // For output of debug messages
	BSF         BAUDCON2+0, 3, 0
	CLRF        SPBRGH2+0 
	MOVLW       68
	MOVWF       SPBRG2+0 
	BSF         TXSTA2+0, 2, 0
	CALL        _UART2_Init+0, 0
;GSM_EasyPIC7.c,152 :: 		UART1_Init(9600); // For GSM Module
	BSF         BAUDCON+0, 3, 0
	MOVLW       3
	MOVWF       SPBRGH+0 
	MOVLW       64
	MOVWF       SPBRG+0 
	BSF         TXSTA+0, 2, 0
	CALL        _UART1_Init+0, 0
;GSM_EasyPIC7.c,153 :: 		gsmInit();
	CALL        _gsmInit+0, 0
;GSM_EasyPIC7.c,154 :: 		gsm_MS_Init();
	CALL        _gsm_MS_Init+0, 0
;GSM_EasyPIC7.c,155 :: 		gsm_Msg_Init(); // Requires GSM_Msg module
	CALL        _gsm_Msg_Init+0, 0
;GSM_EasyPIC7.c,156 :: 		Lcd_Init();
	CALL        _Lcd_Init+0, 0
;GSM_EasyPIC7.c,157 :: 		Lcd_Cmd(_LCD_CLEAR);
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;GSM_EasyPIC7.c,158 :: 		Lcd_Cmd(_LCD_CURSOR_OFF);
	MOVLW       12
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;GSM_EasyPIC7.c,159 :: 		}
L_end_startup:
	RETURN      0
; end of _startup

_ByteToBin:

;GSM_EasyPIC7.c,161 :: 		void ByteToBin(char input, char *output) { // Convert a byte to a binary string
;GSM_EasyPIC7.c,163 :: 		for (mask = 0b10000000; mask != 0; mask = mask >> 1) {
	MOVLW       128
	MOVWF       R1 
L_ByteToBin2:
	MOVF        R1, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L_ByteToBin3
;GSM_EasyPIC7.c,164 :: 		if (input & mask) *output = '1'; else *output = '0';
	MOVF        R1, 0 
	ANDWF       FARG_ByteToBin_input+0, 0 
	MOVWF       R0 
	BTFSC       STATUS+0, 2 
	GOTO        L_ByteToBin5
	MOVFF       FARG_ByteToBin_output+0, FSR1
	MOVFF       FARG_ByteToBin_output+1, FSR1H
	MOVLW       49
	MOVWF       POSTINC1+0 
	GOTO        L_ByteToBin6
L_ByteToBin5:
	MOVFF       FARG_ByteToBin_output+0, FSR1
	MOVFF       FARG_ByteToBin_output+1, FSR1H
	MOVLW       48
	MOVWF       POSTINC1+0 
L_ByteToBin6:
;GSM_EasyPIC7.c,165 :: 		output++;
	INFSNZ      FARG_ByteToBin_output+0, 1 
	INCF        FARG_ByteToBin_output+1, 1 
;GSM_EasyPIC7.c,163 :: 		for (mask = 0b10000000; mask != 0; mask = mask >> 1) {
	RRCF        R1, 1 
	BCF         R1, 7 
;GSM_EasyPIC7.c,166 :: 		}
	GOTO        L_ByteToBin2
L_ByteToBin3:
;GSM_EasyPIC7.c,167 :: 		*output = 0; // Mark the end of the string
	MOVFF       FARG_ByteToBin_output+0, FSR1
	MOVFF       FARG_ByteToBin_output+1, FSR1H
	CLRF        POSTINC1+0 
;GSM_EasyPIC7.c,168 :: 		}
L_end_ByteToBin:
	RETURN      0
; end of _ByteToBin

_generateStatusReport:

;GSM_EasyPIC7.c,170 :: 		void generateStatusReport(char *dest) { // Generate a string indicating the
;GSM_EasyPIC7.c,172 :: 		strcpy(dest, "PORTA:");
	MOVF        FARG_generateStatusReport_dest+0, 0 
	MOVWF       FARG_strcpy_to+0 
	MOVF        FARG_generateStatusReport_dest+1, 0 
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr1_GSM_EasyPIC7+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr1_GSM_EasyPIC7+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_EasyPIC7.c,173 :: 		dest += 6;
	MOVLW       6
	ADDWF       FARG_generateStatusReport_dest+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_generateStatusReport_dest+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVF        R1, 0 
	MOVWF       FARG_generateStatusReport_dest+1 
;GSM_EasyPIC7.c,174 :: 		ByteToBin(PORTA, dest);
	MOVF        PORTA+0, 0 
	MOVWF       FARG_ByteToBin_input+0 
	MOVF        R0, 0 
	MOVWF       FARG_ByteToBin_output+0 
	MOVF        R1, 0 
	MOVWF       FARG_ByteToBin_output+1 
	CALL        _ByteToBin+0, 0
;GSM_EasyPIC7.c,175 :: 		dest += 8;
	MOVLW       8
	ADDWF       FARG_generateStatusReport_dest+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_generateStatusReport_dest+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVF        R1, 0 
	MOVWF       FARG_generateStatusReport_dest+1 
;GSM_EasyPIC7.c,176 :: 		*dest++ = ',';
	MOVFF       R0, FSR1
	MOVFF       R1, FSR1H
	MOVLW       44
	MOVWF       POSTINC1+0 
	INFSNZ      FARG_generateStatusReport_dest+0, 1 
	INCF        FARG_generateStatusReport_dest+1, 1 
;GSM_EasyPIC7.c,177 :: 		strcpy(dest, "PORTB:");
	MOVF        FARG_generateStatusReport_dest+0, 0 
	MOVWF       FARG_strcpy_to+0 
	MOVF        FARG_generateStatusReport_dest+1, 0 
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr2_GSM_EasyPIC7+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr2_GSM_EasyPIC7+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_EasyPIC7.c,178 :: 		dest += 6;
	MOVLW       6
	ADDWF       FARG_generateStatusReport_dest+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_generateStatusReport_dest+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVF        R1, 0 
	MOVWF       FARG_generateStatusReport_dest+1 
;GSM_EasyPIC7.c,179 :: 		ByteToBin(PORTB, dest);
	MOVF        PORTB+0, 0 
	MOVWF       FARG_ByteToBin_input+0 
	MOVF        R0, 0 
	MOVWF       FARG_ByteToBin_output+0 
	MOVF        R1, 0 
	MOVWF       FARG_ByteToBin_output+1 
	CALL        _ByteToBin+0, 0
;GSM_EasyPIC7.c,180 :: 		dest += 8;
	MOVLW       8
	ADDWF       FARG_generateStatusReport_dest+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_generateStatusReport_dest+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVF        R1, 0 
	MOVWF       FARG_generateStatusReport_dest+1 
;GSM_EasyPIC7.c,181 :: 		*dest++ = ',';
	MOVFF       R0, FSR1
	MOVFF       R1, FSR1H
	MOVLW       44
	MOVWF       POSTINC1+0 
	INFSNZ      FARG_generateStatusReport_dest+0, 1 
	INCF        FARG_generateStatusReport_dest+1, 1 
;GSM_EasyPIC7.c,182 :: 		strcpy(dest, "LATC:");
	MOVF        FARG_generateStatusReport_dest+0, 0 
	MOVWF       FARG_strcpy_to+0 
	MOVF        FARG_generateStatusReport_dest+1, 0 
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr3_GSM_EasyPIC7+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr3_GSM_EasyPIC7+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_EasyPIC7.c,183 :: 		dest += 5;
	MOVLW       5
	ADDWF       FARG_generateStatusReport_dest+0, 0 
	MOVWF       R0 
	MOVLW       0
	ADDWFC      FARG_generateStatusReport_dest+1, 0 
	MOVWF       R1 
	MOVF        R0, 0 
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVF        R1, 0 
	MOVWF       FARG_generateStatusReport_dest+1 
;GSM_EasyPIC7.c,184 :: 		ByteToBin(LATC, dest);
	MOVF        LATC+0, 0 
	MOVWF       FARG_ByteToBin_input+0 
	MOVF        R0, 0 
	MOVWF       FARG_ByteToBin_output+0 
	MOVF        R1, 0 
	MOVWF       FARG_ByteToBin_output+1 
	CALL        _ByteToBin+0, 0
;GSM_EasyPIC7.c,185 :: 		}
L_end_generateStatusReport:
	RETURN      0
; end of _generateStatusReport

_msgSend:

;GSM_EasyPIC7.c,187 :: 		void msgSend() {
;GSM_EasyPIC7.c,188 :: 		UART2_Write_Text("Sending message to ");
	MOVLW       ?lstr4_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr4_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,189 :: 		UART2_Write_Text(&strDestID);
	MOVLW       _strDestID+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(_strDestID+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,190 :: 		UART2_Write_Text(":\r\n");
	MOVLW       ?lstr5_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr5_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,191 :: 		UART2_Write_Text(&strMsgSendTxt);
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,192 :: 		UART2_Write_Text(":\r\n");
	MOVLW       ?lstr6_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr6_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,193 :: 		if (strDestID[0] != 0) {
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L_msgSend7
;GSM_EasyPIC7.c,194 :: 		if (gsmMsgSendPending()) {gsmMsgSendCancel();} // Cancel any message waiting to be sent
	CALL        _gsmMsgSendPending+0, 0
	MOVF        R0, 1 
	BTFSC       STATUS+0, 2 
	GOTO        L_msgSend8
	CALL        _gsmMsgSendCancel+0, 0
L_msgSend8:
;GSM_EasyPIC7.c,195 :: 		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_EasyPIC7.c,196 :: 		}
L_msgSend7:
;GSM_EasyPIC7.c,197 :: 		}
L_end_msgSend:
	RETURN      0
; end of _msgSend

_gsmMissedCall:

;GSM_EasyPIC7.c,199 :: 		void gsmMissedCall(char *OriginatorID) {
;GSM_EasyPIC7.c,200 :: 		LATC1_bit = !LATC1_bit; // Toggle PortC.1
	BTG         LATC1_bit+0, BitPos(LATC1_bit+0) 
;GSM_EasyPIC7.c,201 :: 		if (strDestID[0] == 0) { // If destination ID has not yet been set
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMissedCall9
;GSM_EasyPIC7.c,203 :: 		strcpy(&strDestID, OriginatorID);
	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_EasyPIC7.c,204 :: 		}
L_gsmMissedCall9:
;GSM_EasyPIC7.c,205 :: 		LCD_Cmd(_LCD_CLEAR);
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;GSM_EasyPIC7.c,206 :: 		LCD_Out(1,1,OriginatorID);
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        FARG_gsmMissedCall_OriginatorID+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        FARG_gsmMissedCall_OriginatorID+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;GSM_EasyPIC7.c,207 :: 		LCD_Out(2,1,"(Missed Call)");
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr7_GSM_EasyPIC7+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr7_GSM_EasyPIC7+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;GSM_EasyPIC7.c,208 :: 		}
L_end_gsmMissedCall:
	RETURN      0
; end of _gsmMissedCall

_gsmMsgRcvd:

;GSM_EasyPIC7.c,210 :: 		void gsmMsgRcvd(char *MessageText, char *OriginatorID) {
;GSM_EasyPIC7.c,211 :: 		if (strDestID[0] == 0) { // If destination ID has not yet been set
	MOVF        _strDestID+0, 0 
	XORLW       0
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd10
;GSM_EasyPIC7.c,213 :: 		strcpy(&strDestID, OriginatorID);
	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_EasyPIC7.c,214 :: 		}
L_gsmMsgRcvd10:
;GSM_EasyPIC7.c,215 :: 		if (gsmMsgJustArrived() == 1) {
	CALL        _gsmMsgJustArrived+0, 0
	MOVF        R0, 0 
	XORLW       1
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd11
;GSM_EasyPIC7.c,218 :: 		if (!bitRTCC_Set) {
	BTFSC       _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
	GOTO        L_gsmMsgRcvd12
;GSM_EasyPIC7.c,219 :: 		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_EasyPIC7.c,221 :: 		gsmDateTimeWrite();
	CALL        _gsmDateTimeWrite+0, 0
;GSM_EasyPIC7.c,222 :: 		}
L_gsmMsgRcvd12:
;GSM_EasyPIC7.c,223 :: 		}
L_gsmMsgRcvd11:
;GSM_EasyPIC7.c,224 :: 		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_EasyPIC7.c,226 :: 		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_gsmMsgRcvd13
;GSM_EasyPIC7.c,227 :: 		LATC = 0xFF;
	MOVLW       255
	MOVWF       LATC+0 
;GSM_EasyPIC7.c,228 :: 		} else if (*(MessageText + 1) == 'f') { // Looking for "off"
	GOTO        L_gsmMsgRcvd14
L_gsmMsgRcvd13:
	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_EasyPIC7.c,229 :: 		LATC = 0x00;
	CLRF        LATC+0 
;GSM_EasyPIC7.c,230 :: 		} else if (memcmp(MessageText, "stat", 4) == 0) { //Status report
	GOTO        L_gsmMsgRcvd16
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       ?lstr8_GSM_EasyPIC7+0
	MOVWF       FARG_memcmp_s2+0 
	MOVLW       hi_addr(?lstr8_GSM_EasyPIC7+0)
	MOVWF       FARG_memcmp_s2+1 
	MOVLW       4
	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__gsmMsgRcvd53
	MOVLW       0
	XORWF       R0, 0 
L__gsmMsgRcvd53:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd17
;GSM_EasyPIC7.c,231 :: 		generateStatusReport(&strMsgSendTxt);
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_generateStatusReport_dest+1 
	CALL        _generateStatusReport+0, 0
;GSM_EasyPIC7.c,232 :: 		msgSend();
	CALL        _msgSend+0, 0
;GSM_EasyPIC7.c,233 :: 		} else if (memcmp(MessageText, "please call ", 12) == 0) { // "Please Call Me"
	GOTO        L_gsmMsgRcvd18
L_gsmMsgRcvd17:
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_memcmp_s1+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_memcmp_s1+1 
	MOVLW       ?lstr9_GSM_EasyPIC7+0
	MOVWF       FARG_memcmp_s2+0 
	MOVLW       hi_addr(?lstr9_GSM_EasyPIC7+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_gsmMsgRcvd19
;GSM_EasyPIC7.c,234 :: 		LATC2_bit = !LATC2_bit;
	BTG         LATC2_bit+0, BitPos(LATC2_bit+0) 
;GSM_EasyPIC7.c,235 :: 		generateStatusReport(&strMsgSendTxt);
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_generateStatusReport_dest+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_generateStatusReport_dest+1 
	CALL        _generateStatusReport+0, 0
;GSM_EasyPIC7.c,236 :: 		msgSend();
	CALL        _msgSend+0, 0
;GSM_EasyPIC7.c,237 :: 		} else if (memcmp(MessageText, "test", 4) == 0) { //Test
	GOTO        L_gsmMsgRcvd20
L_gsmMsgRcvd19:
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_memcmp_s1+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_memcmp_s1+1 
	MOVLW       ?lstr10_GSM_EasyPIC7+0
	MOVWF       FARG_memcmp_s2+0 
	MOVLW       hi_addr(?lstr10_GSM_EasyPIC7+0)
	MOVWF       FARG_memcmp_s2+1 
	MOVLW       4
	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__gsmMsgRcvd55
	MOVLW       0
	XORWF       R0, 0 
L__gsmMsgRcvd55:
	BTFSS       STATUS+0, 2 
	GOTO        L_gsmMsgRcvd21
;GSM_EasyPIC7.c,238 :: 		strcpy(&strMsgSendTxt, "GSM Library all ok!");
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr11_GSM_EasyPIC7+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr11_GSM_EasyPIC7+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_EasyPIC7.c,239 :: 		msgSend();
	CALL        _msgSend+0, 0
;GSM_EasyPIC7.c,240 :: 		}
L_gsmMsgRcvd21:
L_gsmMsgRcvd20:
L_gsmMsgRcvd18:
L_gsmMsgRcvd16:
L_gsmMsgRcvd14:
;GSM_EasyPIC7.c,241 :: 		LCD_Cmd(_LCD_CLEAR);
	MOVLW       1
	MOVWF       FARG_Lcd_Cmd_out_char+0 
	CALL        _Lcd_Cmd+0, 0
;GSM_EasyPIC7.c,242 :: 		LCD_Out(1,1,OriginatorID);
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        FARG_gsmMsgRcvd_OriginatorID+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;GSM_EasyPIC7.c,243 :: 		if (strlen(MessageText) > 16) {
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_strlen_s+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_strlen_s+1 
	CALL        _strlen+0, 0
	MOVLW       128
	MOVWF       R2 
	MOVLW       128
	XORWF       R1, 0 
	SUBWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__gsmMsgRcvd56
	MOVF        R0, 0 
	SUBLW       16
L__gsmMsgRcvd56:
	BTFSC       STATUS+0, 0 
	GOTO        L_gsmMsgRcvd22
;GSM_EasyPIC7.c,244 :: 		*(MessageText+16) = 0; // Trim string to fit on LCD if necessary
	MOVLW       16
	ADDWF       FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FSR1 
	MOVLW       0
	ADDWFC      FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FSR1H 
	CLRF        POSTINC1+0 
;GSM_EasyPIC7.c,245 :: 		}
L_gsmMsgRcvd22:
;GSM_EasyPIC7.c,246 :: 		LCD_Out(2,1,MessageText);
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+0, 0 
	MOVWF       FARG_Lcd_Out_text+0 
	MOVF        FARG_gsmMsgRcvd_MessageText+1, 0 
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;GSM_EasyPIC7.c,247 :: 		}
L_end_gsmMsgRcvd:
	RETURN      0
; end of _gsmMsgRcvd

_gsmEvent:

;GSM_EasyPIC7.c,249 :: 		void gsmEvent(char GsmEventType) {
;GSM_EasyPIC7.c,251 :: 		switch (GsmEventType) {
	GOTO        L_gsmEvent23
;GSM_EasyPIC7.c,252 :: 		case gsmevntPIN_Request:
L_gsmEvent25:
;GSM_EasyPIC7.c,255 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,256 :: 		case gsmevntPIN_Fail:
L_gsmEvent26:
;GSM_EasyPIC7.c,257 :: 		UART2_Write_Text("PIN entry failed\r\n");
	MOVLW       ?lstr12_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr12_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,258 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,259 :: 		case gsmevntMissedCall:
L_gsmEvent27:
;GSM_EasyPIC7.c,260 :: 		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_EasyPIC7.c,261 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,262 :: 		case gsmevntMsgRcvd:
L_gsmEvent28:
;GSM_EasyPIC7.c,263 :: 		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_EasyPIC7.c,264 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,265 :: 		case gsmevntMsgSent:
L_gsmEvent29:
;GSM_EasyPIC7.c,266 :: 		UART2_Write_Text("Message sent\r\n");
	MOVLW       ?lstr13_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr13_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,267 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,268 :: 		case gsmevntMsgDiscarded:
L_gsmEvent30:
;GSM_EasyPIC7.c,269 :: 		case gsmevntMsgSendFailed:
L_gsmEvent31:
;GSM_EasyPIC7.c,270 :: 		UART2_Write_Text("Message send failed\r\n");
	MOVLW       ?lstr14_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr14_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,271 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,272 :: 		case gsmevntDateTimeRead:
L_gsmEvent32:
;GSM_EasyPIC7.c,273 :: 		if (dtmGsmEvent.Year > 10) { // If the GSM modules date/time is valid
	MOVF        _dtmGsmEvent+0, 0 
	SUBLW       10
	BTFSC       STATUS+0, 0 
	GOTO        L_gsmEvent33
;GSM_EasyPIC7.c,277 :: 		UART2_Write_Text("Date/Time: ");
	MOVLW       ?lstr15_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr15_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,278 :: 		RTCC_GenerateString(&dtmGsmEvent, &sRTCC);
	MOVLW       _dtmGsmEvent+0
	MOVWF       FARG_RTCC_GenerateString_dt+0 
	MOVLW       hi_addr(_dtmGsmEvent+0)
	MOVWF       FARG_RTCC_GenerateString_dt+1 
	MOVLW       gsmEvent_sRTCC_L0+0
	MOVWF       FARG_RTCC_GenerateString_rtccstring+0 
	MOVLW       hi_addr(gsmEvent_sRTCC_L0+0)
	MOVWF       FARG_RTCC_GenerateString_rtccstring+1 
	CALL        _RTCC_GenerateString+0, 0
;GSM_EasyPIC7.c,279 :: 		UART2_Write_Text(&sRTCC);
	MOVLW       gsmEvent_sRTCC_L0+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(gsmEvent_sRTCC_L0+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,280 :: 		UART2_Write(13);
	MOVLW       13
	MOVWF       FARG_UART2_Write_data_+0 
	CALL        _UART2_Write+0, 0
;GSM_EasyPIC7.c,281 :: 		UART2_Write(10);
	MOVLW       10
	MOVWF       FARG_UART2_Write_data_+0 
	CALL        _UART2_Write+0, 0
;GSM_EasyPIC7.c,286 :: 		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_EasyPIC7.c,287 :: 		bitRTCC_Set = 1;
	BSF         _bitRTCC_Set+0, BitPos(_bitRTCC_Set+0) 
;GSM_EasyPIC7.c,288 :: 		} else {
	GOTO        L_gsmEvent34
L_gsmEvent33:
;GSM_EasyPIC7.c,289 :: 		UART2_Write_Text("Date/Time not yet set.\r\n");
	MOVLW       ?lstr16_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr16_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,290 :: 		}
L_gsmEvent34:
;GSM_EasyPIC7.c,291 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,292 :: 		case gsmevntDateTimeWrite:
L_gsmEvent35:
;GSM_EasyPIC7.c,294 :: 		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_EasyPIC7.c,295 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,296 :: 		case gsmevntIMEI_Read:
L_gsmEvent36:
;GSM_EasyPIC7.c,297 :: 		UART2_Write_Text("IMEI: ");
	MOVLW       ?lstr17_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr17_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,298 :: 		UART2_Write_Text(pstrGsmEventData);
	MOVF        _pstrGsmEventData+0, 0 
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVF        _pstrGsmEventData+1, 0 
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,299 :: 		UART2_Write_Text("\r\n");
	MOVLW       ?lstr18_GSM_EasyPIC7+0
	MOVWF       FARG_UART2_Write_Text_uart_text+0 
	MOVLW       hi_addr(?lstr18_GSM_EasyPIC7+0)
	MOVWF       FARG_UART2_Write_Text_uart_text+1 
	CALL        _UART2_Write_Text+0, 0
;GSM_EasyPIC7.c,300 :: 		break;
	GOTO        L_gsmEvent24
;GSM_EasyPIC7.c,301 :: 		}
L_gsmEvent23:
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       30
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent25
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       31
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent26
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       70
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent27
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       80
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent28
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       83
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent29
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       82
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent30
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       84
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent31
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       150
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent32
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       151
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent35
	MOVF        FARG_gsmEvent_GsmEventType+0, 0 
	XORLW       20
	BTFSC       STATUS+0, 2 
	GOTO        L_gsmEvent36
L_gsmEvent24:
;GSM_EasyPIC7.c,302 :: 		}
L_end_gsmEvent:
	RETURN      0
; end of _gsmEvent

_main:

;GSM_EasyPIC7.c,304 :: 		void main() {
;GSM_EasyPIC7.c,305 :: 		setup();
	CALL        _setup+0, 0
;GSM_EasyPIC7.c,306 :: 		startup();
	CALL        _startup+0, 0
;GSM_EasyPIC7.c,307 :: 		gsmDateTimeRead();
	CALL        _gsmDateTimeRead+0, 0
;GSM_EasyPIC7.c,308 :: 		Lcd_Out(1,1,"  GSM Library   ");
	MOVLW       1
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr19_GSM_EasyPIC7+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr19_GSM_EasyPIC7+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;GSM_EasyPIC7.c,309 :: 		Lcd_Out(2,1,"www.dizzy.co.za ");
	MOVLW       2
	MOVWF       FARG_Lcd_Out_row+0 
	MOVLW       1
	MOVWF       FARG_Lcd_Out_column+0 
	MOVLW       ?lstr20_GSM_EasyPIC7+0
	MOVWF       FARG_Lcd_Out_text+0 
	MOVLW       hi_addr(?lstr20_GSM_EasyPIC7+0)
	MOVWF       FARG_Lcd_Out_text+1 
	CALL        _Lcd_Out+0, 0
;GSM_EasyPIC7.c,310 :: 		while (1) {
L_main37:
;GSM_EasyPIC7.c,311 :: 		UART_Set_Active(&UART1_Read, &UART1_Write, &UART1_Data_Ready, &UART1_Tx_Idle);
	MOVLW       _UART1_Read+0
	MOVWF       FARG_UART_Set_Active_read_ptr+0 
	MOVLW       hi_addr(_UART1_Read+0)
	MOVWF       FARG_UART_Set_Active_read_ptr+1 
	MOVLW       0
	MOVWF       FARG_UART_Set_Active_read_ptr+2 
	MOVLW       0
	MOVWF       FARG_UART_Set_Active_read_ptr+3 
	MOVLW       _UART1_Write+0
	MOVWF       FARG_UART_Set_Active_write_ptr+0 
	MOVLW       hi_addr(_UART1_Write+0)
	MOVWF       FARG_UART_Set_Active_write_ptr+1 
	MOVLW       FARG_UART1_Write_data_+0
	MOVWF       FARG_UART_Set_Active_write_ptr+2 
	MOVLW       hi_addr(FARG_UART1_Write_data_+0)
	MOVWF       FARG_UART_Set_Active_write_ptr+3 
	MOVLW       _UART1_Data_Ready+0
	MOVWF       FARG_UART_Set_Active_ready_ptr+0 
	MOVLW       hi_addr(_UART1_Data_Ready+0)
	MOVWF       FARG_UART_Set_Active_ready_ptr+1 
	MOVLW       0
	MOVWF       FARG_UART_Set_Active_ready_ptr+2 
	MOVLW       0
	MOVWF       FARG_UART_Set_Active_ready_ptr+3 
	MOVLW       _UART1_Tx_Idle+0
	MOVWF       FARG_UART_Set_Active_tx_idle_ptr+0 
	MOVLW       hi_addr(_UART1_Tx_Idle+0)
	MOVWF       FARG_UART_Set_Active_tx_idle_ptr+1 
	MOVLW       0
	MOVWF       FARG_UART_Set_Active_tx_idle_ptr+2 
	MOVLW       0
	MOVWF       FARG_UART_Set_Active_tx_idle_ptr+3 
	CALL        _UART_Set_Active+0, 0
;GSM_EasyPIC7.c,312 :: 		gsmPoll(); // Keep the GSM library running
	CALL        _gsmPoll+0, 0
;GSM_EasyPIC7.c,315 :: 		if ((RB7_bit == 0) && (wrdRB7Tmr > 10000)) {
	BTFSC       RB7_bit+0, BitPos(RB7_bit+0) 
	GOTO        L_main41
	MOVF        _wrdRB7Tmr+1, 0 
	SUBLW       39
	BTFSS       STATUS+0, 2 
	GOTO        L__main59
	MOVF        _wrdRB7Tmr+0, 0 
	SUBLW       16
L__main59:
	BTFSC       STATUS+0, 0 
	GOTO        L_main41
L__main42:
;GSM_EasyPIC7.c,316 :: 		strcpy(&strMsgSendTxt, "GSM Lib: RB7 pulled low.");
	MOVLW       _strMsgSendTxt+0
	MOVWF       FARG_strcpy_to+0 
	MOVLW       hi_addr(_strMsgSendTxt+0)
	MOVWF       FARG_strcpy_to+1 
	MOVLW       ?lstr21_GSM_EasyPIC7+0
	MOVWF       FARG_strcpy_from+0 
	MOVLW       hi_addr(?lstr21_GSM_EasyPIC7+0)
	MOVWF       FARG_strcpy_from+1 
	CALL        _strcpy+0, 0
;GSM_EasyPIC7.c,317 :: 		msgSend();
	CALL        _msgSend+0, 0
;GSM_EasyPIC7.c,318 :: 		wrdRB7Tmr = 0;
	CLRF        _wrdRB7Tmr+0 
	CLRF        _wrdRB7Tmr+1 
;GSM_EasyPIC7.c,319 :: 		}
L_main41:
;GSM_EasyPIC7.c,322 :: 		gsmPowerSetOnOff(RB6_bit);
	MOVLW       0
	BTFSC       RB6_bit+0, BitPos(RB6_bit+0) 
	MOVLW       1
	MOVWF       FARG_gsmPowerSetOnOff_power_on+0 
	CALL        _gsmPowerSetOnOff+0, 0
;GSM_EasyPIC7.c,323 :: 		} // (while)
	GOTO        L_main37
;GSM_EasyPIC7.c,324 :: 		} // (void)
L_end_main:
	GOTO        $+0
; end of _main
