
_interrupt:

;HID_Read_Write_Interrupt.c,35 :: 		void interrupt(){
;HID_Read_Write_Interrupt.c,36 :: 		USB_Interrupt_Proc();                   // USB servicing is done inside the interrupt
	CALL        _USB_Interrupt_Proc+0, 0
;HID_Read_Write_Interrupt.c,37 :: 		}
L_end_interrupt:
L__interrupt10:
	RETFIE      1
; end of _interrupt

_main:

;HID_Read_Write_Interrupt.c,39 :: 		void main(void){
;HID_Read_Write_Interrupt.c,40 :: 		int Count = 0;
	CLRF        main_Count_L0+0 
	CLRF        main_Count_L0+1 
;HID_Read_Write_Interrupt.c,41 :: 		TRISB.RB1 = 0; PORTB.RB1 = 0;
	BCF         TRISB+0, 1 
	BCF         PORTB+0, 1 
;HID_Read_Write_Interrupt.c,43 :: 		ADCON1 |= 0x0F;                         // Configure all ports with analog function as digital
	MOVLW       15
	IORWF       ADCON1+0, 1 
;HID_Read_Write_Interrupt.c,44 :: 		CMCON  |= 7;                            // Disable comparators
	MOVLW       7
	IORWF       CMCON+0, 1 
;HID_Read_Write_Interrupt.c,46 :: 		HID_Enable(&readbuff,&writebuff);       // Enable HID communication
	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
;HID_Read_Write_Interrupt.c,48 :: 		while(1){
L_main0:
;HID_Read_Write_Interrupt.c,49 :: 		while(!HID_Read())
L_main2:
	CALL        _HID_Read+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_main3
;HID_Read_Write_Interrupt.c,50 :: 		;
	GOTO        L_main2
L_main3:
;HID_Read_Write_Interrupt.c,52 :: 		for(cnt=0;cnt<64;cnt++)
	CLRF        _cnt+0 
L_main4:
	MOVLW       64
	SUBWF       _cnt+0, 0 
	BTFSC       STATUS+0, 0 
	GOTO        L_main5
;HID_Read_Write_Interrupt.c,53 :: 		writebuff[cnt]=readbuff[cnt];
	MOVLW       _writebuff+0
	MOVWF       FSR1 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FSR1H 
	MOVF        _cnt+0, 0 
	ADDWF       FSR1, 1 
	BTFSC       STATUS+0, 0 
	INCF        FSR1H, 1 
	MOVLW       _readbuff+0
	MOVWF       FSR0 
	MOVLW       hi_addr(_readbuff+0)
	MOVWF       FSR0H 
	MOVF        _cnt+0, 0 
	ADDWF       FSR0, 1 
	BTFSC       STATUS+0, 0 
	INCF        FSR0H, 1 
	MOVF        POSTINC0+0, 0 
	MOVWF       POSTINC1+0 
;HID_Read_Write_Interrupt.c,52 :: 		for(cnt=0;cnt<64;cnt++)
	INCF        _cnt+0, 1 
;HID_Read_Write_Interrupt.c,53 :: 		writebuff[cnt]=readbuff[cnt];
	GOTO        L_main4
L_main5:
;HID_Read_Write_Interrupt.c,55 :: 		LATB.RB1 = readbuff[63];
	BTFSC       1343, 0 
	GOTO        L__main12
	BCF         LATB+0, 1 
	GOTO        L__main13
L__main12:
	BSF         LATB+0, 1 
L__main13:
;HID_Read_Write_Interrupt.c,56 :: 		writebuff[0] = ++Count;
	INFSNZ      main_Count_L0+0, 1 
	INCF        main_Count_L0+1, 1 
	MOVF        main_Count_L0+0, 0 
	MOVWF       1344 
;HID_Read_Write_Interrupt.c,58 :: 		while(!HID_Write(&writebuff,64))
L_main7:
	MOVLW       _writebuff+0
	MOVWF       FARG_HID_Write_writebuff+0 
	MOVLW       hi_addr(_writebuff+0)
	MOVWF       FARG_HID_Write_writebuff+1 
	MOVLW       64
	MOVWF       FARG_HID_Write_len+0 
	CALL        _HID_Write+0, 0
	MOVF        R0, 1 
	BTFSS       STATUS+0, 2 
	GOTO        L_main8
;HID_Read_Write_Interrupt.c,59 :: 		;
	GOTO        L_main7
L_main8:
;HID_Read_Write_Interrupt.c,60 :: 		}
	GOTO        L_main0
;HID_Read_Write_Interrupt.c,61 :: 		}
L_end_main:
	GOTO        $+0
; end of _main
