
_Interrupt:

;irct.c,26 :: 		void Interrupt(){
;irct.c,27 :: 		USB_Interrupt_Proc();
	CALL        _USB_Interrupt_Proc+0, 0
;irct.c,29 :: 		if (INT1IF_bit){
	BTFSS       INT1IF_bit+0, BitPos(INT1IF_bit+0) 
	GOTO        L_Interrupt0
;irct.c,30 :: 		INT1IF_bit = 0;
	BCF         INT1IF_bit+0, BitPos(INT1IF_bit+0) 
;irct.c,31 :: 		INT1IE_bit = 0;
	BCF         INT1IE_bit+0, BitPos(INT1IE_bit+0) 
;irct.c,32 :: 		ir_result[0] = 0;
	CLRF        _ir_result+0 
;irct.c,33 :: 		ir_result[1] = 0;
	CLRF        _ir_result+1 
;irct.c,34 :: 		ir_result[2] = 0;
	CLRF        _ir_result+2 
;irct.c,35 :: 		ir_result[3] = 0 ;
	CLRF        _ir_result+3 
;irct.c,36 :: 		nec_read();
	CALL        _nec_read+0, 0
;irct.c,37 :: 		}
L_Interrupt0:
;irct.c,38 :: 		}
L_end_Interrupt:
L__Interrupt73:
	RETFIE      1
; end of _Interrupt

_main:

;irct.c,41 :: 		void main() {
;irct.c,43 :: 		ANCON0 = 0x1F;
	MOVLW       31
	MOVWF       ANCON0+0 
;irct.c,44 :: 		ANCON1 =  0x1F;
	MOVLW       31
	MOVWF       ANCON1+0 
;irct.c,46 :: 		PLLEN_bit = 1;
	BSF         PLLEN_bit+0, BitPos(PLLEN_bit+0) 
;irct.c,47 :: 		Delay_ms(150);
	MOVLW       10
	MOVWF       R11, 0
	MOVLW       34
	MOVWF       R12, 0
	MOVLW       161
	MOVWF       R13, 0
L_main1:
	DECFSZ      R13, 1, 1
	BRA         L_main1
	DECFSZ      R12, 1, 1
	BRA         L_main1
	DECFSZ      R11, 1, 1
	BRA         L_main1
;irct.c,49 :: 		HID_Enable(&readbuff,&writebuff);
	MOVLW       _readbuff+0
	MOVWF       FARG_HID_Enable_readbuff+0 
	MOVLW       hi_addr(_readbuff+0)
	MOVWF       FARG_HID_Enable_readbuff+1 
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Enable_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Enable_writebuff+1 
	CALL        _HID_Enable+0, 0
;irct.c,51 :: 		writebuff[3]=0;
	CLRF        1347 
;irct.c,52 :: 		writebuff[4]=0;
	CLRF        1348 
;irct.c,53 :: 		writebuff[5]=0;
	CLRF        1349 
;irct.c,54 :: 		writebuff[6]=0;
	CLRF        1350 
;irct.c,55 :: 		writebuff[7]=0;
	CLRF        1351 
;irct.c,57 :: 		ir_in_direction = 1;          // IR input
	BSF         TRISA1_bit+0, BitPos(TRISA1_bit+0) 
;irct.c,59 :: 		T0CON = 0x85;               //enable Timer0 module
	MOVLW       133
	MOVWF       T0CON+0 
;irct.c,60 :: 		TMR0L = 96;                 // Timer0 initial value
	MOVLW       96
	MOVWF       TMR0L+0 
;irct.c,61 :: 		TMR0H = 0xff;
	MOVLW       255
	MOVWF       TMR0H+0 
;irct.c,64 :: 		Unlock_IOLOCK();
	CALL        _Unlock_IOLOCK+0, 0
;irct.c,65 :: 		PPS_Mapping_NoLock(1, _INPUT , _INT1);
	MOVLW       1
	MOVWF       FARG_PPS_Mapping_NoLock_rp_num+0 
	MOVLW       1
	MOVWF       FARG_PPS_Mapping_NoLock_input_output+0 
	CLRF        FARG_PPS_Mapping_NoLock_funct_name+0 
	CALL        _PPS_Mapping_NoLock+0, 0
;irct.c,66 :: 		Lock_IOLOCK();
	CALL        _Lock_IOLOCK+0, 0
;irct.c,69 :: 		INT1IF_bit = 0;
	BCF         INT1IF_bit+0, BitPos(INT1IF_bit+0) 
;irct.c,70 :: 		INT1IE_bit = 1;
	BSF         INT1IE_bit+0, BitPos(INT1IE_bit+0) 
;irct.c,71 :: 		INTEDG1_bit = 0;
	BCF         INTEDG1_bit+0, BitPos(INTEDG1_bit+0) 
;irct.c,72 :: 		GIE_bit = 1;
	BSF         GIE_bit+0, BitPos(GIE_bit+0) 
;irct.c,73 :: 		delay_ms(10);
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_main2:
	DECFSZ      R13, 1, 1
	BRA         L_main2
	DECFSZ      R12, 1, 1
	BRA         L_main2
;irct.c,76 :: 		while (1);
L_main3:
	GOTO        L_main3
;irct.c,77 :: 		}
L_end_main:
	GOTO        $+0
; end of _main

_nec_read:

;irct.c,80 :: 		void nec_read(void){
;irct.c,84 :: 		temp_nec = get_mark();
	CALL        _get_mark+0, 0
	MOVF        R0, 0 
	MOVWF       nec_read_temp_nec_L0+0 
	MOVF        R1, 0 
	MOVWF       nec_read_temp_nec_L0+1 
;irct.c,85 :: 		if ((temp_nec > 1150) && (temp_nec < 1840)){       // expect 9mS mark
	MOVLW       128
	XORLW       4
	MOVWF       R2 
	MOVLW       128
	XORWF       R1, 0 
	SUBWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__nec_read76
	MOVF        R0, 0 
	SUBLW       126
L__nec_read76:
	BTFSC       STATUS+0, 0 
	GOTO        L_nec_read7
	MOVLW       128
	XORWF       nec_read_temp_nec_L0+1, 0 
	MOVWF       R0 
	MOVLW       128
	XORLW       7
	SUBWF       R0, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__nec_read77
	MOVLW       48
	SUBWF       nec_read_temp_nec_L0+0, 0 
L__nec_read77:
	BTFSC       STATUS+0, 0 
	GOTO        L_nec_read7
L__nec_read71:
;irct.c,86 :: 		temp_nec = get_space();
	CALL        _get_space+0, 0
	MOVF        R0, 0 
	MOVWF       nec_read_temp_nec_L0+0 
	MOVF        R1, 0 
	MOVWF       nec_read_temp_nec_L0+1 
;irct.c,87 :: 		if ((temp_nec > 460) && (temp_nec < 920)){   // expect 4.5mS space
	MOVLW       128
	XORLW       1
	MOVWF       R2 
	MOVLW       128
	XORWF       R1, 0 
	SUBWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__nec_read78
	MOVF        R0, 0 
	SUBLW       204
L__nec_read78:
	BTFSC       STATUS+0, 0 
	GOTO        L_nec_read10
	MOVLW       128
	XORWF       nec_read_temp_nec_L0+1, 0 
	MOVWF       R0 
	MOVLW       128
	XORLW       3
	SUBWF       R0, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__nec_read79
	MOVLW       152
	SUBWF       nec_read_temp_nec_L0+0, 0 
L__nec_read79:
	BTFSC       STATUS+0, 0 
	GOTO        L_nec_read10
L__nec_read70:
;irct.c,88 :: 		for(count_byte = 0 ; count_byte < 4 ; count_byte++ ){
	CLRF        nec_read_count_byte_L0+0 
	CLRF        nec_read_count_byte_L0+1 
L_nec_read11:
	MOVLW       128
	XORWF       nec_read_count_byte_L0+1, 0 
	MOVWF       R0 
	MOVLW       128
	SUBWF       R0, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__nec_read80
	MOVLW       4
	SUBWF       nec_read_count_byte_L0+0, 0 
L__nec_read80:
	BTFSC       STATUS+0, 0 
	GOTO        L_nec_read12
;irct.c,89 :: 		ir_result[count_byte] = get_nec_byte();
	MOVLW       _ir_result+0
	ADDWF       nec_read_count_byte_L0+0, 0 
	MOVWF       FLOC__nec_read+0 
	MOVLW       hi_addr(_ir_result+0)
	ADDWFC      nec_read_count_byte_L0+1, 0 
	MOVWF       FLOC__nec_read+1 
	CALL        _get_nec_byte+0, 0
	MOVFF       FLOC__nec_read+0, FSR1
	MOVFF       FLOC__nec_read+1, FSR1H
	MOVF        R0, 0 
	MOVWF       POSTINC1+0 
;irct.c,88 :: 		for(count_byte = 0 ; count_byte < 4 ; count_byte++ ){
	INFSNZ      nec_read_count_byte_L0+0, 1 
	INCF        nec_read_count_byte_L0+1, 1 
;irct.c,90 :: 		}
	GOTO        L_nec_read11
L_nec_read12:
;irct.c,91 :: 		}
L_nec_read10:
;irct.c,93 :: 		switch(ir_result[2]){
	GOTO        L_nec_read14
;irct.c,95 :: 		case  2:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x51); break; 			//down
L_nec_read16:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       81
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,96 :: 		case  5:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x52); break; 			//up
L_nec_read17:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       82
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,97 :: 		case  9:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x2a); break; 			//backspace
L_nec_read18:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       42
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,98 :: 		case 10:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x50); break; 			//left
L_nec_read19:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       80
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,99 :: 		case 12:SendKeyCode_func(0,0x02,0b00001000,0b00000000,0x07); break; 			//show desktop
L_nec_read20:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	MOVLW       8
	MOVWF       FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       7
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,100 :: 		case 13:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x4b); break; 			//pageup
L_nec_read21:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       75
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,101 :: 		case 16:SendKeyCode_func(1,0x01,0b00000000,0b00000010,0x00); break; 			//volume-
L_nec_read22:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__volctrl+0 
	CLRF        FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,102 :: 		case 17:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x4e); break; 			//pagedown
L_nec_read23:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       78
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,103 :: 		case 18:SendKeyCode_func(0,0x02,0b00000000,0b00000000,0x29); break; 			//esc
L_nec_read24:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       41
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,104 :: 		case 21:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x4d); break; 			//end
L_nec_read25:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       77
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,105 :: 		case 22:SendKeyCode_func(0,0x01,0b00000000,0b00000100,0x00); break; 			//mute
L_nec_read26:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	MOVLW       4
	MOVWF       FARG_SendKeyCode_func__volctrl+0 
	CLRF        FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,106 :: 		case 23:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x4c); break; 			//delete
L_nec_read27:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       76
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,107 :: 		case 25:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x4a); break; 			//home
L_nec_read28:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       74
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,108 :: 		case 27:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x49); break; 			//insert
L_nec_read29:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       73
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,109 :: 		case 28:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x28); break; 			//enter
L_nec_read30:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       40
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,110 :: 		case 29:SendKeyCode_func(0,0x02,0b00000000,0b00000000,0x2b); break; 			//tab
L_nec_read31:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       43
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,111 :: 		case 30:SendKeyCode_func(1,0x02,0b00000000,0b00000000,0x4f); break; 			//right
L_nec_read32:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       79
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,112 :: 		case 31:SendKeyCode_func(0,0x02,0b00000000,0b00000000,0x65); break; 			//context menu
L_nec_read33:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       101
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,113 :: 		case 64:SendKeyCode_func(0,0x02,0b00000100,0b00000000,0x28); break; 			//alt+enter
L_nec_read34:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	MOVLW       4
	MOVWF       FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       40
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,114 :: 		case 76:SendKeyCode_func(1,0x01,0b00000000,0b00000001,0x00); break; 			//volume+
L_nec_read35:
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__repeat+0 
	MOVLW       0
	MOVWF       FARG_SendKeyCode_func__repeat+1 
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__device+0 
	CLRF        FARG_SendKeyCode_func__modifier+0 
	MOVLW       1
	MOVWF       FARG_SendKeyCode_func__volctrl+0 
	CLRF        FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,115 :: 		case 77:SendKeyCode_func(0,0x02,0b00000100,0b00000000,0x3d); break; 			//alt+f4
L_nec_read36:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	MOVLW       4
	MOVWF       FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       61
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,116 :: 		case 84:SendKeyCode_func(0,0x02,0b00001000,0b00000000,0x46); break; 			//print screen
L_nec_read37:
	CLRF        FARG_SendKeyCode_func__repeat+0 
	CLRF        FARG_SendKeyCode_func__repeat+1 
	MOVLW       2
	MOVWF       FARG_SendKeyCode_func__device+0 
	MOVLW       8
	MOVWF       FARG_SendKeyCode_func__modifier+0 
	CLRF        FARG_SendKeyCode_func__volctrl+0 
	MOVLW       70
	MOVWF       FARG_SendKeyCode_func__key+0 
	CALL        _SendKeyCode_func+0, 0
	GOTO        L_nec_read15
;irct.c,117 :: 		case 0:if(Repeat)SendKeyCode(ID, modifier, volctrl, key);delay_ms(10); break; 	//Repeat Code
L_nec_read38:
	MOVF        _Repeat+0, 0 
	IORWF       _Repeat+1, 0 
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read39
	MOVF        _ID+0, 0 
	MOVWF       FARG_SendKeyCode__device+0 
	MOVF        _modifier+0, 0 
	MOVWF       FARG_SendKeyCode__modifier+0 
	MOVF        _volctrl+0, 0 
	MOVWF       FARG_SendKeyCode__volctrl+0 
	MOVF        _key+0, 0 
	MOVWF       FARG_SendKeyCode__key+0 
	CALL        _SendKeyCode+0, 0
L_nec_read39:
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_nec_read40:
	DECFSZ      R13, 1, 1
	BRA         L_nec_read40
	DECFSZ      R12, 1, 1
	BRA         L_nec_read40
	GOTO        L_nec_read15
;irct.c,119 :: 		default:Repeat = 0;ID = 0x02;modifier = 0b00000000;volctrl = 0b00000000;key = 0x00;
L_nec_read41:
	CLRF        _Repeat+0 
	CLRF        _Repeat+1 
	MOVLW       2
	MOVWF       _ID+0 
	CLRF        _modifier+0 
	CLRF        _volctrl+0 
	CLRF        _key+0 
;irct.c,120 :: 		}
	GOTO        L_nec_read15
L_nec_read14:
	MOVF        _ir_result+2, 0 
	XORLW       2
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read16
	MOVF        _ir_result+2, 0 
	XORLW       5
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read17
	MOVF        _ir_result+2, 0 
	XORLW       9
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read18
	MOVF        _ir_result+2, 0 
	XORLW       10
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read19
	MOVF        _ir_result+2, 0 
	XORLW       12
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read20
	MOVF        _ir_result+2, 0 
	XORLW       13
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read21
	MOVF        _ir_result+2, 0 
	XORLW       16
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read22
	MOVF        _ir_result+2, 0 
	XORLW       17
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read23
	MOVF        _ir_result+2, 0 
	XORLW       18
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read24
	MOVF        _ir_result+2, 0 
	XORLW       21
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read25
	MOVF        _ir_result+2, 0 
	XORLW       22
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read26
	MOVF        _ir_result+2, 0 
	XORLW       23
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read27
	MOVF        _ir_result+2, 0 
	XORLW       25
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read28
	MOVF        _ir_result+2, 0 
	XORLW       27
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read29
	MOVF        _ir_result+2, 0 
	XORLW       28
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read30
	MOVF        _ir_result+2, 0 
	XORLW       29
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read31
	MOVF        _ir_result+2, 0 
	XORLW       30
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read32
	MOVF        _ir_result+2, 0 
	XORLW       31
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read33
	MOVF        _ir_result+2, 0 
	XORLW       64
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read34
	MOVF        _ir_result+2, 0 
	XORLW       76
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read35
	MOVF        _ir_result+2, 0 
	XORLW       77
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read36
	MOVF        _ir_result+2, 0 
	XORLW       84
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read37
	MOVF        _ir_result+2, 0 
	XORLW       0
	BTFSC       STATUS+0, 2 
	GOTO        L_nec_read38
	GOTO        L_nec_read41
L_nec_read15:
;irct.c,121 :: 		Delay_ms(10);// wait for repeat messages to clear
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_nec_read42:
	DECFSZ      R13, 1, 1
	BRA         L_nec_read42
	DECFSZ      R12, 1, 1
	BRA         L_nec_read42
;irct.c,122 :: 		}
L_nec_read7:
;irct.c,123 :: 		INT1IE_bit = 1;
	BSF         INT1IE_bit+0, BitPos(INT1IE_bit+0) 
;irct.c,124 :: 		}
L_end_nec_read:
	RETURN      0
; end of _nec_read

_get_nec_byte:

;irct.c,127 :: 		unsigned char get_nec_byte(void){
;irct.c,132 :: 		for(n=0 ; n<8 ; n++){
	CLRF        get_nec_byte_n_L0+0 
L_get_nec_byte43:
	MOVLW       8
	SUBWF       get_nec_byte_n_L0+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_get_nec_byte44
;irct.c,133 :: 		temp_ir = get_mark();                         // expect ~600uS
	CALL        _get_mark+0, 0
;irct.c,134 :: 		temp_ir = get_space();                        // 500uS = 0, 1.6uS = 1
	CALL        _get_space+0, 0
;irct.c,135 :: 		ir_byte >>= 1;                                // shift in a zero
	RRCF        get_nec_byte_ir_byte_L0+0, 1 
	BCF         get_nec_byte_ir_byte_L0+0, 7 
;irct.c,136 :: 		if (temp_ir > 160){                            // check > 900uS
	MOVLW       128
	MOVWF       R2 
	MOVLW       128
	XORWF       R1, 0 
	SUBWF       R2, 0 
	BTFSS       STATUS+0, 2 
	GOTO        L__get_nec_byte82
	MOVF        R0, 0 
	SUBLW       160
L__get_nec_byte82:
	BTFSC       STATUS+0, 0 
	GOTO        L_get_nec_byte46
;irct.c,137 :: 		ir_byte += 0x80;                          // change 0 to a 1 if so
	MOVLW       128
	ADDWF       get_nec_byte_ir_byte_L0+0, 1 
;irct.c,138 :: 		}
L_get_nec_byte46:
;irct.c,132 :: 		for(n=0 ; n<8 ; n++){
	INCF        get_nec_byte_n_L0+0, 1 
;irct.c,139 :: 		}
	GOTO        L_get_nec_byte43
L_get_nec_byte44:
;irct.c,140 :: 		return ir_byte;                                   // return final byte
	MOVF        get_nec_byte_ir_byte_L0+0, 0 
	MOVWF       R0 
;irct.c,141 :: 		}
L_end_get_nec_byte:
	RETURN      0
; end of _get_nec_byte

_get_mark:

;irct.c,145 :: 		int get_mark(void){
;irct.c,146 :: 		TMR0H = 0;
	CLRF        TMR0H+0 
;irct.c,147 :: 		TMR0L = 0;
	CLRF        TMR0L+0 
;irct.c,148 :: 		while(!ir_in);                       // wait for IR to go high
L_get_mark47:
	BTFSC       RA1_bit+0, BitPos(RA1_bit+0) 
	GOTO        L_get_mark48
	GOTO        L_get_mark47
L_get_mark48:
;irct.c,149 :: 		retint = TMR0L;
	MOVF        TMR0L+0, 0 
	MOVWF       _retint+0 
	MOVLW       0
	MOVWF       _retint+1 
;irct.c,150 :: 		retint += (TMR0H<<8);
	MOVF        TMR0H+0, 0 
	MOVWF       R1 
	CLRF        R0 
	MOVF        _retint+0, 0 
	ADDWF       R0, 1 
	MOVF        _retint+1, 0 
	ADDWFC      R1, 1 
	MOVF        R0, 0 
	MOVWF       _retint+0 
	MOVF        R1, 0 
	MOVWF       _retint+1 
;irct.c,151 :: 		return retint;
;irct.c,152 :: 		}
L_end_get_mark:
	RETURN      0
; end of _get_mark

_get_space:

;irct.c,155 :: 		int get_space(void){
;irct.c,156 :: 		TMR0H = 0;
	CLRF        TMR0H+0 
;irct.c,157 :: 		TMR0L = 0;
	CLRF        TMR0L+0 
;irct.c,158 :: 		while(ir_in);                        // wait for IR to go low
L_get_space49:
	BTFSS       RA1_bit+0, BitPos(RA1_bit+0) 
	GOTO        L_get_space50
	GOTO        L_get_space49
L_get_space50:
;irct.c,159 :: 		retint = TMR0L;
	MOVF        TMR0L+0, 0 
	MOVWF       _retint+0 
	MOVLW       0
	MOVWF       _retint+1 
;irct.c,160 :: 		retint += (TMR0H<<8);
	MOVF        TMR0H+0, 0 
	MOVWF       R1 
	CLRF        R0 
	MOVF        _retint+0, 0 
	ADDWF       R0, 1 
	MOVF        _retint+1, 0 
	ADDWFC      R1, 1 
	MOVF        R0, 0 
	MOVWF       _retint+0 
	MOVF        R1, 0 
	MOVWF       _retint+1 
;irct.c,161 :: 		return retint;
;irct.c,162 :: 		}
L_end_get_space:
	RETURN      0
; end of _get_space

_SendKeyCode:

;irct.c,164 :: 		void SendKeyCode(unsigned char _device, unsigned char _modifier, unsigned char _volctrl, unsigned char _key){
;irct.c,165 :: 		writebuff[0] = _device;
	MOVF        FARG_SendKeyCode__device+0, 0 
	MOVWF       1344 
;irct.c,166 :: 		if (_device == 0x01){
	MOVF        FARG_SendKeyCode__device+0, 0 
	XORLW       1
	BTFSS       STATUS+0, 2 
	GOTO        L_SendKeyCode51
;irct.c,167 :: 		writebuff[1] = _volctrl;
	MOVF        FARG_SendKeyCode__volctrl+0, 0 
	MOVWF       1345 
;irct.c,168 :: 		while(!HID_Write(writebuff,2));
L_SendKeyCode52:
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       2
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_SendKeyCode53
	GOTO        L_SendKeyCode52
L_SendKeyCode53:
;irct.c,169 :: 		delay_ms(10);
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_SendKeyCode54:
	DECFSZ      R13, 1, 1
	BRA         L_SendKeyCode54
	DECFSZ      R12, 1, 1
	BRA         L_SendKeyCode54
;irct.c,170 :: 		writebuff[1] = 0b00000000;
	CLRF        1345 
;irct.c,171 :: 		while(!HID_Write(writebuff,2));
L_SendKeyCode55:
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       2
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_SendKeyCode56
	GOTO        L_SendKeyCode55
L_SendKeyCode56:
;irct.c,172 :: 		delay_ms(10);
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_SendKeyCode57:
	DECFSZ      R13, 1, 1
	BRA         L_SendKeyCode57
	DECFSZ      R12, 1, 1
	BRA         L_SendKeyCode57
;irct.c,173 :: 		}else if(_device == 0x02){
	GOTO        L_SendKeyCode58
L_SendKeyCode51:
	MOVF        FARG_SendKeyCode__device+0, 0 
	XORLW       2
	BTFSS       STATUS+0, 2 
	GOTO        L_SendKeyCode59
;irct.c,174 :: 		writebuff[1] = _modifier;
	MOVF        FARG_SendKeyCode__modifier+0, 0 
	MOVWF       1345 
;irct.c,175 :: 		writebuff[2] = _key;
	MOVF        FARG_SendKeyCode__key+0, 0 
	MOVWF       1346 
;irct.c,176 :: 		while(!HID_Write(writebuff,8));
L_SendKeyCode60:
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       8
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_SendKeyCode61
	GOTO        L_SendKeyCode60
L_SendKeyCode61:
;irct.c,177 :: 		delay_ms(10);
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_SendKeyCode62:
	DECFSZ      R13, 1, 1
	BRA         L_SendKeyCode62
	DECFSZ      R12, 1, 1
	BRA         L_SendKeyCode62
;irct.c,178 :: 		writebuff[1] = 0b00000000;
	CLRF        1345 
;irct.c,179 :: 		writebuff[2] = 0x00;
	CLRF        1346 
;irct.c,180 :: 		while(!HID_Write(writebuff,8));
L_SendKeyCode63:
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       8
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_SendKeyCode64
	GOTO        L_SendKeyCode63
L_SendKeyCode64:
;irct.c,181 :: 		delay_ms(10);
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_SendKeyCode65:
	DECFSZ      R13, 1, 1
	BRA         L_SendKeyCode65
	DECFSZ      R12, 1, 1
	BRA         L_SendKeyCode65
;irct.c,182 :: 		}
L_SendKeyCode59:
L_SendKeyCode58:
;irct.c,183 :: 		}
L_end_SendKeyCode:
	RETURN      0
; end of _SendKeyCode

_SendKeyCode_func:

;irct.c,185 :: 		void SendKeyCode_func(int _repeat, unsigned char _device, unsigned char _modifier, unsigned char _volctrl, unsigned char _key){
;irct.c,186 :: 		Repeat = _repeat;
	MOVF        FARG_SendKeyCode_func__repeat+0, 0 
	MOVWF       _Repeat+0 
	MOVF        FARG_SendKeyCode_func__repeat+1, 0 
	MOVWF       _Repeat+1 
;irct.c,187 :: 		ID = _device;
	MOVF        FARG_SendKeyCode_func__device+0, 0 
	MOVWF       _ID+0 
;irct.c,188 :: 		modifier = _modifier;
	MOVF        FARG_SendKeyCode_func__modifier+0, 0 
	MOVWF       _modifier+0 
;irct.c,189 :: 		volctrl = _volctrl;
	MOVF        FARG_SendKeyCode_func__volctrl+0, 0 
	MOVWF       _volctrl+0 
;irct.c,190 :: 		key = _key;
	MOVF        FARG_SendKeyCode_func__key+0, 0 
	MOVWF       _key+0 
;irct.c,191 :: 		SendKeyCode(ID, modifier, volctrl, key);
	MOVF        FARG_SendKeyCode_func__device+0, 0 
	MOVWF       FARG_SendKeyCode__device+0 
	MOVF        FARG_SendKeyCode_func__modifier+0, 0 
	MOVWF       FARG_SendKeyCode__modifier+0 
	MOVF        FARG_SendKeyCode_func__volctrl+0, 0 
	MOVWF       FARG_SendKeyCode__volctrl+0 
	MOVF        FARG_SendKeyCode_func__key+0, 0 
	MOVWF       FARG_SendKeyCode__key+0 
	CALL        _SendKeyCode+0, 0
;irct.c,192 :: 		if(Repeat)delay_ms(200);else delay_ms(10);
	MOVF        _Repeat+0, 0 
	IORWF       _Repeat+1, 0 
	BTFSC       STATUS+0, 2 
	GOTO        L_SendKeyCode_func66
	MOVLW       13
	MOVWF       R11, 0
	MOVLW       45
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_SendKeyCode_func67:
	DECFSZ      R13, 1, 1
	BRA         L_SendKeyCode_func67
	DECFSZ      R12, 1, 1
	BRA         L_SendKeyCode_func67
	DECFSZ      R11, 1, 1
	BRA         L_SendKeyCode_func67
	NOP
	NOP
	GOTO        L_SendKeyCode_func68
L_SendKeyCode_func66:
	MOVLW       156
	MOVWF       R12, 0
	MOVLW       215
	MOVWF       R13, 0
L_SendKeyCode_func69:
	DECFSZ      R13, 1, 1
	BRA         L_SendKeyCode_func69
	DECFSZ      R12, 1, 1
	BRA         L_SendKeyCode_func69
L_SendKeyCode_func68:
;irct.c,193 :: 		}
L_end_SendKeyCode_func:
	RETURN      0
; end of _SendKeyCode_func
