;/////////////////////////////////////////////////////////////////////////////////
;// Code Generator: BoostC Compiler - http://www.sourceboost.com
;// Version       : 7.20
;// License Type  : Pro License
;// Limitations   : PIC18 max code size:Unlimited, max RAM banks:Unlimited
;/////////////////////////////////////////////////////////////////////////////////

	include "P18F4455.inc"
__HEAPSTART                      EQU	0x00000043 ; Start address of heap 
__HEAPEND                        EQU	0x000007FF ; End address of heap 
__div_16_1_00003_arg_a           EQU	0x00000039 ; bytes:2
__div_16_1_00003_arg_b           EQU	0x0000003B ; bytes:2
CompTempVarRet178                EQU	0x00000041 ; bytes:2
__div_16_1_00003_1_r             EQU	0x0000003D ; bytes:2
__div_16_1_00003_1_i             EQU	0x0000003F ; bytes:1
CompTempVar180                   EQU	0x00000040 ; bytes:1
gbl_status                       EQU	0x00000FD8 ; bytes:1
gbl_prodl                        EQU	0x00000FF3 ; bytes:1
gbl_prodh                        EQU	0x00000FF4 ; bytes:1
gbl_14_LSR                       EQU	0x00000005 ; bytes:4
gbl_float_detect_tininess        EQU	0x00000021 ; bytes:1
gbl_float_rounding_mode          EQU	0x00000022 ; bytes:1
gbl_float_exception_flags        EQU	0x00000023 ; bytes:1
gbl_15_gbl_aSig                  EQU	0x00000009 ; bytes:4
gbl_15_gbl_bSig                  EQU	0x0000000D ; bytes:4
gbl_15_gbl_zSig                  EQU	0x00000011 ; bytes:4
gbl_15_gbl_aExp                  EQU	0x00000024 ; bytes:1
gbl_15_gbl_bExp                  EQU	0x00000025 ; bytes:1
gbl_15_gbl_zExp                  EQU	0x00000019 ; bytes:2
gbl_15_gbl_aSign                 EQU	0x00000026 ; bytes:1
gbl_15_gbl_bSign                 EQU	0x00000027 ; bytes:1
gbl_15_gbl_zSign                 EQU	0x00000028 ; bytes:1
gbl_15_gbl_zSigZero              EQU	0x00000029 ; bytes:1
gbl_15_gbl_ret                   EQU	0x00000015 ; bytes:4
gbl_sppdata                      EQU	0x00000F62 ; bytes:1
gbl_sppcfg                       EQU	0x00000F63 ; bytes:1
gbl_sppeps                       EQU	0x00000F64 ; bytes:1
gbl_sppcon                       EQU	0x00000F65 ; bytes:1
gbl_ufrm                         EQU	0x00000F66 ; bytes:1
gbl_ufrml                        EQU	0x00000F66 ; bytes:1
gbl_ufrmh                        EQU	0x00000F67 ; bytes:1
gbl_uir                          EQU	0x00000F68 ; bytes:1
gbl_uie                          EQU	0x00000F69 ; bytes:1
gbl_ueir                         EQU	0x00000F6A ; bytes:1
gbl_ueie                         EQU	0x00000F6B ; bytes:1
gbl_ustat                        EQU	0x00000F6C ; bytes:1
gbl_ucon                         EQU	0x00000F6D ; bytes:1
gbl_uaddr                        EQU	0x00000F6E ; bytes:1
gbl_ucfg                         EQU	0x00000F6F ; bytes:1
gbl_uep0                         EQU	0x00000F70 ; bytes:1
gbl_uep1                         EQU	0x00000F71 ; bytes:1
gbl_uep2                         EQU	0x00000F72 ; bytes:1
gbl_uep3                         EQU	0x00000F73 ; bytes:1
gbl_uep4                         EQU	0x00000F74 ; bytes:1
gbl_uep5                         EQU	0x00000F75 ; bytes:1
gbl_uep6                         EQU	0x00000F76 ; bytes:1
gbl_uep7                         EQU	0x00000F77 ; bytes:1
gbl_uep8                         EQU	0x00000F78 ; bytes:1
gbl_uep9                         EQU	0x00000F79 ; bytes:1
gbl_uep10                        EQU	0x00000F7A ; bytes:1
gbl_uep11                        EQU	0x00000F7B ; bytes:1
gbl_uep12                        EQU	0x00000F7C ; bytes:1
gbl_uep13                        EQU	0x00000F7D ; bytes:1
gbl_uep14                        EQU	0x00000F7E ; bytes:1
gbl_uep15                        EQU	0x00000F7F ; bytes:1
gbl_porta                        EQU	0x00000F80 ; bytes:1
gbl_portb                        EQU	0x00000F81 ; bytes:1
gbl_portc                        EQU	0x00000F82 ; bytes:1
gbl_portd                        EQU	0x00000F83 ; bytes:1
gbl_porte                        EQU	0x00000F84 ; bytes:1
gbl_lata                         EQU	0x00000F89 ; bytes:1
gbl_latb                         EQU	0x00000F8A ; bytes:1
gbl_latc                         EQU	0x00000F8B ; bytes:1
gbl_latd                         EQU	0x00000F8C ; bytes:1
gbl_late                         EQU	0x00000F8D ; bytes:1
gbl_ddra                         EQU	0x00000F92 ; bytes:1
gbl_trisa                        EQU	0x00000F92 ; bytes:1
gbl_ddrb                         EQU	0x00000F93 ; bytes:1
gbl_trisb                        EQU	0x00000F93 ; bytes:1
gbl_ddrc                         EQU	0x00000F94 ; bytes:1
gbl_trisc                        EQU	0x00000F94 ; bytes:1
gbl_ddrd                         EQU	0x00000F95 ; bytes:1
gbl_trisd                        EQU	0x00000F95 ; bytes:1
gbl_ddre                         EQU	0x00000F96 ; bytes:1
gbl_trise                        EQU	0x00000F96 ; bytes:1
gbl_osctune                      EQU	0x00000F9B ; bytes:1
gbl_pie1                         EQU	0x00000F9D ; bytes:1
gbl_pir1                         EQU	0x00000F9E ; bytes:1
gbl_ipr1                         EQU	0x00000F9F ; bytes:1
gbl_pie2                         EQU	0x00000FA0 ; bytes:1
gbl_pir2                         EQU	0x00000FA1 ; bytes:1
gbl_ipr2                         EQU	0x00000FA2 ; bytes:1
gbl_eecon1                       EQU	0x00000FA6 ; bytes:1
gbl_eecon2                       EQU	0x00000FA7 ; bytes:1
gbl_eedata                       EQU	0x00000FA8 ; bytes:1
gbl_eeadr                        EQU	0x00000FA9 ; bytes:1
gbl_rcsta                        EQU	0x00000FAB ; bytes:1
gbl_txsta                        EQU	0x00000FAC ; bytes:1
gbl_txreg                        EQU	0x00000FAD ; bytes:1
gbl_rcreg                        EQU	0x00000FAE ; bytes:1
gbl_spbrg                        EQU	0x00000FAF ; bytes:1
gbl_spbrgh                       EQU	0x00000FB0 ; bytes:1
gbl_t3con                        EQU	0x00000FB1 ; bytes:1
gbl_tmr3l                        EQU	0x00000FB2 ; bytes:1
gbl_tmr3h                        EQU	0x00000FB3 ; bytes:1
gbl_cmcon                        EQU	0x00000FB4 ; bytes:1
gbl_cvrcon                       EQU	0x00000FB5 ; bytes:1
gbl_ccp1as                       EQU	0x00000FB6 ; bytes:1
gbl_eccp1as                      EQU	0x00000FB6 ; bytes:1
gbl_ccp1del                      EQU	0x00000FB7 ; bytes:1
gbl_eccp1del                     EQU	0x00000FB7 ; bytes:1
gbl_baudcon                      EQU	0x00000FB8 ; bytes:1
gbl_baudctl                      EQU	0x00000FB8 ; bytes:1
gbl_ccp2con                      EQU	0x00000FBA ; bytes:1
gbl_ccpr2                        EQU	0x00000FBB ; bytes:1
gbl_ccpr2l                       EQU	0x00000FBB ; bytes:1
gbl_ccpr2h                       EQU	0x00000FBC ; bytes:1
gbl_ccp1con                      EQU	0x00000FBD ; bytes:1
gbl_eccp1con                     EQU	0x00000FBD ; bytes:1
gbl_ccpr1                        EQU	0x00000FBE ; bytes:1
gbl_ccpr1l                       EQU	0x00000FBE ; bytes:1
gbl_ccpr1h                       EQU	0x00000FBF ; bytes:1
gbl_adcon2                       EQU	0x00000FC0 ; bytes:1
gbl_adcon1                       EQU	0x00000FC1 ; bytes:1
gbl_adcon0                       EQU	0x00000FC2 ; bytes:1
gbl_adres                        EQU	0x00000FC3 ; bytes:1
gbl_adresl                       EQU	0x00000FC3 ; bytes:1
gbl_adresh                       EQU	0x00000FC4 ; bytes:1
gbl_sspcon2                      EQU	0x00000FC5 ; bytes:1
gbl_sspcon1                      EQU	0x00000FC6 ; bytes:1
gbl_sspstat                      EQU	0x00000FC7 ; bytes:1
gbl_sspadd                       EQU	0x00000FC8 ; bytes:1
gbl_sspbuf                       EQU	0x00000FC9 ; bytes:1
gbl_t2con                        EQU	0x00000FCA ; bytes:1
gbl_pr2                          EQU	0x00000FCB ; bytes:1
gbl_tmr2                         EQU	0x00000FCC ; bytes:1
gbl_t1con                        EQU	0x00000FCD ; bytes:1
gbl_tmr1l                        EQU	0x00000FCE ; bytes:1
gbl_tmr1h                        EQU	0x00000FCF ; bytes:1
gbl_rcon                         EQU	0x00000FD0 ; bytes:1
gbl_wdtcon                       EQU	0x00000FD1 ; bytes:1
gbl_hlvdcon                      EQU	0x00000FD2 ; bytes:1
gbl_lvdcon                       EQU	0x00000FD2 ; bytes:1
gbl_osccon                       EQU	0x00000FD3 ; bytes:1
gbl_t0con                        EQU	0x00000FD5 ; bytes:1
gbl_tmr0l                        EQU	0x00000FD6 ; bytes:1
gbl_tmr0h                        EQU	0x00000FD7 ; bytes:1
gbl_fsr2l                        EQU	0x00000FD9 ; bytes:1
gbl_fsr2h                        EQU	0x00000FDA ; bytes:1
gbl_plusw2                       EQU	0x00000FDB ; bytes:1
gbl_preinc2                      EQU	0x00000FDC ; bytes:1
gbl_postdec2                     EQU	0x00000FDD ; bytes:1
gbl_postinc2                     EQU	0x00000FDE ; bytes:1
gbl_indf2                        EQU	0x00000FDF ; bytes:1
gbl_bsr                          EQU	0x00000FE0 ; bytes:1
gbl_fsr1l                        EQU	0x00000FE1 ; bytes:1
gbl_fsr1h                        EQU	0x00000FE2 ; bytes:1
gbl_plusw1                       EQU	0x00000FE3 ; bytes:1
gbl_preinc1                      EQU	0x00000FE4 ; bytes:1
gbl_postdec1                     EQU	0x00000FE5 ; bytes:1
gbl_postinc1                     EQU	0x00000FE6 ; bytes:1
gbl_indf1                        EQU	0x00000FE7 ; bytes:1
gbl_wreg                         EQU	0x00000FE8 ; bytes:1
gbl_fsr0l                        EQU	0x00000FE9 ; bytes:1
gbl_fsr0h                        EQU	0x00000FEA ; bytes:1
gbl_plusw0                       EQU	0x00000FEB ; bytes:1
gbl_preinc0                      EQU	0x00000FEC ; bytes:1
gbl_postdec0                     EQU	0x00000FED ; bytes:1
gbl_postinc0                     EQU	0x00000FEE ; bytes:1
gbl_indf0                        EQU	0x00000FEF ; bytes:1
gbl_intcon3                      EQU	0x00000FF0 ; bytes:1
gbl_intcon2                      EQU	0x00000FF1 ; bytes:1
gbl_intcon                       EQU	0x00000FF2 ; bytes:1
gbl_prod                         EQU	0x00000FF3 ; bytes:1
gbl_tablat                       EQU	0x00000FF5 ; bytes:1
gbl_tblptr                       EQU	0x00000FF6 ; bytes:1
gbl_tblptrl                      EQU	0x00000FF6 ; bytes:1
gbl_tblptrh                      EQU	0x00000FF7 ; bytes:1
gbl_tblptru                      EQU	0x00000FF8 ; bytes:1
gbl_pc                           EQU	0x00000FF9 ; bytes:1
gbl_pcl                          EQU	0x00000FF9 ; bytes:1
gbl_pclath                       EQU	0x00000FFA ; bytes:1
gbl_pclatu                       EQU	0x00000FFB ; bytes:1
gbl_stkptr                       EQU	0x00000FFC ; bytes:1
gbl_tos                          EQU	0x00000FFD ; bytes:1
gbl_tosl                         EQU	0x00000FFD ; bytes:1
gbl_tosh                         EQU	0x00000FFE ; bytes:1
gbl_tosu                         EQU	0x00000FFF ; bytes:1
gbl_FCV_RIGHT                    EQU	0x0000001B ; bytes:2
gbl_FCV_LEFT                     EQU	0x0000001D ; bytes:2
gbl_FCV_FRONT                    EQU	0x0000001F ; bytes:2
gbl_FCV_COMPR                    EQU	0x0000002A ; bytes:1
gbl_FCV_COMPL                    EQU	0x0000002B ; bytes:1
FC_CAL_Por_00032_arg_Port        EQU	0x00000030 ; bytes:2
FC_CAL_Por_00032_arg_Tris        EQU	0x00000032 ; bytes:2
FC_CAL_Por_00032_arg_InMask      EQU	0x00000034 ; bytes:1
FC_CAL_Por_00032_arg_Shift       EQU	0x00000035 ; bytes:1
CompTempVarRet1822               EQU	0x00000036 ; bytes:1
CompTempVar1825                  EQU	0x00000036 ; bytes:1
CompTempVar1827                  EQU	0x00000037 ; bytes:1
FCI_DELAYI_00035_arg_Delay       EQU	0x00000039 ; bytes:2
CompTempVar1836                  EQU	0x0000003B ; bytes:1
CompTempVarRet2630               EQU	0x00000030 ; bytes:2
CompTempVar2668                  EQU	0x00000030 ; bytes:1
CompTempVar2672                  EQU	0x00000030 ; bytes:1
FCD_09c91__0005B_arg_FCL_NOTE    EQU	0x0000002C ; bytes:1
FCD_09c91__0005B_arg_FCL_D_0005C EQU	0x0000002D ; bytes:2
FCD_09c91__0005B_1_FCL_INV_NOTE  EQU	0x0000002F ; bytes:2
FCD_09c91__0005B_1_FCL_DELAYUS   EQU	0x00000031 ; bytes:2
FCD_09c91__0005B_1_FCL_DELAYMS   EQU	0x00000033 ; bytes:2
FCD_09c91__0005B_1_FCL_LOOP      EQU	0x00000035 ; bytes:2
CompTempVar2654                  EQU	0x00000037 ; bytes:1
CompTempVar2655                  EQU	0x00000038 ; bytes:1
FCD_09c91__0005B_9_ptmp          EQU	0x00000039 ; bytes:1
CompTempVar2660                  EQU	0x00000039 ; bytes:1
CompTempVar2661                  EQU	0x0000003A ; bytes:1
FCD_09c91__0005B_22_ptmp         EQU	0x00000039 ; bytes:1
FCD_09c91__0005B_32_ptmp         EQU	0x00000039 ; bytes:1
FCD_09c91__00050_arg_FCL_LED     EQU	0x0000002C ; bytes:1
FCD_09c91__00050_2_ptmp          EQU	0x0000002D ; bytes:1
CompTempVar2638                  EQU	0x0000002E ; bytes:1
FCD_09c91__00081_arg_FCL_CHANNEL EQU	0x00000030 ; bytes:1
FCD_09c91__00081_1_FCL_CNT       EQU	0x00000031 ; bytes:1
CompTempVar2720                  EQU	0x00000032 ; bytes:1
FCD_09c91__00064_arg_FCL_LED     EQU	0x0000002C ; bytes:1
FCD_09c91__00064_2_ptmp          EQU	0x0000002D ; bytes:1
CompTempVar2683                  EQU	0x0000002E ; bytes:1
CompTempVar2684                  EQU	0x0000002F ; bytes:1
CompTempVarRet2722               EQU	0x00000032 ; bytes:2
FCD_09c91__00055_arg_FCL_POWER   EQU	0x0000002C ; bytes:1
FCD_09c91__00055_1_FCL_MOT_00056 EQU	0x0000002D ; bytes:1
FCD_09c91__00055_1_FCL_MOT_00057 EQU	0x0000002E ; bytes:1
FCD_09c91__00055_6_ptmp          EQU	0x0000002F ; bytes:1
FCD_09c91__00051_arg_FCL_POWER   EQU	0x0000002C ; bytes:1
FCD_09c91__00051_1_FCL_MOT_00052 EQU	0x0000002D ; bytes:1
FCD_09c91__00051_1_FCL_MOT_00053 EQU	0x0000002E ; bytes:1
FCD_09c91__00051_6_ptmp          EQU	0x0000002F ; bytes:1
FCD_09c91__00084_1_FCR_RETVAL    EQU	0x00000030 ; bytes:2
FCD_09c91__0004C_arg_FCL_SENSOR  EQU	0x0000002C ; bytes:1
FCD_09c91__0004C_1_FCL_FOUND     EQU	0x0000002D ; bytes:1
FCD_09c91__0004C_1_FCR_RETVAL    EQU	0x0000002E ; bytes:2
FCD_09c91__0004C_10_ptmp         EQU	0x00000030 ; bytes:1
FCD_09c91__0004C_25_ptmp         EQU	0x00000030 ; bytes:1
FCD_09c91__0004C_37_ptmp         EQU	0x00000030 ; bytes:1
FCD_09c91__0004C_52_ptmp         EQU	0x00000030 ; bytes:1
FCD_09c91__0004C_64_ptmp         EQU	0x00000030 ; bytes:1
FCD_09c91__0004C_79_ptmp         EQU	0x00000030 ; bytes:1
FCD_09c91__0005E_arg_FCL_L_0005F EQU	0x0000002C ; bytes:2
FCD_09c91__0005E_arg_FCL_R_00060 EQU	0x0000002E ; bytes:2
FCD_09c91__0005E_1_FCL_MOT_00061 EQU	0x00000030 ; bytes:1
FCD_09c91__0005E_1_FCL_MOT_00062 EQU	0x00000031 ; bytes:1
FCD_09c91__0005E_1_FCL_POWER     EQU	0x00000032 ; bytes:2
FCD_09c91__0005E_11_ptmp         EQU	0x00000034 ; bytes:1
CompTempVar2678                  EQU	0x00000034 ; bytes:1
CompTempVar2679                  EQU	0x00000035 ; bytes:1
FCD_09c91__0005E_28_ptmp         EQU	0x00000034 ; bytes:1
FCD_09c91__0005A_arg_FCL_SWITCH  EQU	0x0000002C ; bytes:1
FCD_09c91__0005A_1_FCL_WAIT      EQU	0x0000002D ; bytes:1
FCD_09c91__00082_arg_FCL_DUTYL   EQU	0x00000034 ; bytes:1
FCD_09c91__00082_arg_FCL_DUTYR   EQU	0x00000035 ; bytes:1
FCD_09c91__00059_1_FCL_PRESS     EQU	0x0000002C ; bytes:1
FCD_09c91__00059_3_ptmp          EQU	0x0000002D ; bytes:1
delay_us_00000_arg_del           EQU	0x0000003B ; bytes:1
delay_ms_00000_arg_del           EQU	0x0000002C ; bytes:1
Int1Context                      EQU	0x00000001 ; bytes:4
	ORG 0x00000800
	GOTO	_startup
	ORG 0x00000808
	GOTO	interrupt
	ORG 0x0000080C
delay_us_00000
; { delay_us ; function begin
	MOVF delay_us_00000_arg_del, F
	NOP
	BNZ	label1
	RETURN
label1
	MOVLW 0x02
label2
	ADDLW 0xFF
	BTFSS STATUS,Z
	BRA	label2
	NOP
	DECFSZ delay_us_00000_arg_del, F
	BRA	label1
	RETURN
; } delay_us function end

	ORG 0x00000824
delay_ms_00000
; { delay_ms ; function begin
	MOVF delay_ms_00000_arg_del, F
	NOP
	BNZ	label3
	RETURN
label3
	MOVLW 0xFF
label4
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	ADDLW 0xFF
	BTFSS STATUS,Z
	BRA	label4
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	DECFSZ delay_ms_00000_arg_del, F
	BRA	label3
	RETURN
; } delay_ms function end

	ORG 0x000008A8
FC_CAL_Por_00032
; { FC_CAL_Port_In_DDR__x ; function begin
	MOVF FC_CAL_Por_00032_arg_Tris+D'1', W
	MOVWF FSR0H
	MOVF FC_CAL_Por_00032_arg_Tris, W
	MOVWF FSR0L
	MOVF FC_CAL_Por_00032_arg_InMask, W
	IORWF INDF0, W
	MOVWF CompTempVar1825
	MOVF CompTempVar1825, W
	MOVWF INDF0
	MOVF FC_CAL_Por_00032_arg_Port+D'1', W
	MOVWF FSR0H
	MOVF FC_CAL_Por_00032_arg_Port, W
	MOVWF FSR0L
	MOVF FC_CAL_Por_00032_arg_InMask, W
	ANDWF INDF0, W
	MOVWF CompTempVarRet1822
	MOVF FC_CAL_Por_00032_arg_Shift, W
	MOVWF CompTempVar1827
label5
	BTFSC STATUS,Z
	RETURN
	BCF STATUS,C
	RRCF CompTempVarRet1822, F
	DECF CompTempVar1827, F
	BRA	label5
; } FC_CAL_Port_In_DDR__x function end

	ORG 0x000008D8
FCD_09c91__00084
; { FCD_09c91_FormulaFlowcode1__FF_ReadADC ; function begin
	MOVF gbl_adresh, W
	MOVWF FCD_09c91__00084_1_FCR_RETVAL
	CLRF FCD_09c91__00084_1_FCR_RETVAL+D'1'
	MOVF FCD_09c91__00084_1_FCR_RETVAL, W
	MOVWF CompTempVarRet2722
	MOVF FCD_09c91__00084_1_FCR_RETVAL+D'1', W
	MOVWF CompTempVarRet2722+D'1'
	RETURN
; } FCD_09c91_FormulaFlowcode1__FF_ReadADC function end

	ORG 0x000008E8
FCD_09c91__00081
; { FCD_09c91_FormulaFlowcode1__FF_SampleADC ; function begin
	CLRF FCD_09c91__00081_1_FCL_CNT
	CLRF gbl_adcon1
	MOVLW 0x03
	MOVWF gbl_adcon2
	MOVF FCD_09c91__00081_arg_FCL_CHANNEL, W
	MOVWF CompTempVar2720
	RLCF CompTempVar2720, F
	RLCF CompTempVar2720, F
	MOVLW 0xFC
	ANDWF CompTempVar2720, F
	MOVF CompTempVar2720, W
	IORLW 0x01
	MOVWF gbl_adcon0
label6
	MOVLW 0x64
	CPFSLT FCD_09c91__00081_1_FCL_CNT
	BRA	label7
	INCF FCD_09c91__00081_1_FCL_CNT, W
	MOVWF FCD_09c91__00081_1_FCL_CNT
	BRA	label6
label7
	MOVLW 0x02
	IORWF gbl_adcon0, W
	MOVWF gbl_adcon0
label8
	BTFSC gbl_adcon0,1
	BRA	label8
	MOVLW 0x0F
	MOVWF gbl_adcon1
	CLRF gbl_adcon0
	RETURN
; } FCD_09c91_FormulaFlowcode1__FF_SampleADC function end

	ORG 0x00000920
__div_16_1_00003
; { __div_16_16 ; function begin
	CLRF __div_16_1_00003_1_r
	CLRF __div_16_1_00003_1_r+D'1'
	CLRF CompTempVarRet178
	CLRF CompTempVarRet178+D'1'
	CLRF __div_16_1_00003_1_i
label9
	MOVLW 0x10
	ANDWF __div_16_1_00003_1_i, W
	MOVWF CompTempVar180
	TSTFSZ CompTempVar180
	RETURN
	BCF STATUS,C
	RLCF CompTempVarRet178, F
	RLCF CompTempVarRet178+D'1', F
	RLCF __div_16_1_00003_arg_a, F
	RLCF __div_16_1_00003_arg_a+D'1', F
	RLCF __div_16_1_00003_1_r, F
	RLCF __div_16_1_00003_1_r+D'1', F
	MOVF __div_16_1_00003_arg_b, W
	SUBWF __div_16_1_00003_1_r, W
	MOVF __div_16_1_00003_arg_b+D'1', W
	CPFSEQ __div_16_1_00003_1_r+D'1'
	SUBWF __div_16_1_00003_1_r+D'1', W
	BNC	label10
	MOVF __div_16_1_00003_arg_b, W
	SUBWF __div_16_1_00003_1_r, F
	MOVF __div_16_1_00003_arg_b+D'1', W
	SUBWFB __div_16_1_00003_1_r+D'1', F
	BSF CompTempVarRet178,0
label10
	INCF __div_16_1_00003_1_i, F
	BRA	label9
; } __div_16_16 function end

	ORG 0x0000095C
FCI_DELAYI_00035
; { FCI_DELAYINT_US ; function begin
label11
	MOVLW 0xFF
	CPFSGT FCI_DELAYI_00035_arg_Delay
	TSTFSZ FCI_DELAYI_00035_arg_Delay+D'1'
	BRA	label12
	BRA	label13
label12
	SETF delay_us_00000_arg_del
	CALL delay_us_00000
	MOVLW 0xFF
	SUBWF FCI_DELAYI_00035_arg_Delay, W
	MOVWF CompTempVar1836
	SUBWFB FCI_DELAYI_00035_arg_Delay, W
	SUBLW 0xFF
	SUBWF FCI_DELAYI_00035_arg_Delay+D'1', F
	MOVF CompTempVar1836, W
	MOVWF FCI_DELAYI_00035_arg_Delay
	BRA	label11
label13
	MOVLW 0x00
	CPFSGT FCI_DELAYI_00035_arg_Delay
	TSTFSZ FCI_DELAYI_00035_arg_Delay+D'1'
	BRA	label14
	RETURN
label14
	MOVF FCI_DELAYI_00035_arg_Delay, W
	MOVWF delay_us_00000_arg_del
	CALL delay_us_00000
	RETURN
; } FCI_DELAYINT_US function end

	ORG 0x00000992
FCD_09c91__00082
; { FCD_09c91_FormulaFlowcode1__FF_SetDutyCycle ; function begin
	MOVF FCD_09c91__00082_arg_FCL_DUTYL, W
	MOVWF gbl_ccpr1l
	MOVF FCD_09c91__00082_arg_FCL_DUTYR, W
	MOVWF gbl_ccpr2l
	RETURN
; } FCD_09c91_FormulaFlowcode1__FF_SetDutyCycle function end

	ORG 0x0000099C
FCD_09c91__00064
; { FCD_09c91_FormulaFlowcode1__LEDOff ; function begin
	MOVLW HIGH(gbl_portd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port+D'1'
	MOVLW LOW(gbl_portd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port
	MOVLW HIGH(gbl_trisd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris+D'1'
	MOVLW LOW(gbl_trisd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris
	SETF FC_CAL_Por_00032_arg_InMask
	CLRF FC_CAL_Por_00032_arg_Shift
	CALL FC_CAL_Por_00032
	MOVLW 0x01
	MOVWF CompTempVar2683
	CLRF CompTempVar2684
	MOVF FCD_09c91__00064_arg_FCL_LED, W
label15
	ANDLW 0xFF
	BZ	label16
	BCF STATUS,C
	RLCF CompTempVar2683, F
	RLCF CompTempVar2684, F
	ADDLW 0xFF
	BRA	label15
label16
	COMF CompTempVar2683, W
	ANDWF CompTempVarRet1822, W
	MOVWF FCD_09c91__00064_2_ptmp
	CLRF gbl_trisd
	MOVF FCD_09c91__00064_2_ptmp, W
	MOVWF gbl_portd
	RETURN
; } FCD_09c91_FormulaFlowcode1__LEDOff function end

	ORG 0x000009D8
FCD_09c91__0004C
; { FCD_09c91_FormulaFlowcode1__ReadIRSensor ; function begin
	CLRF FCD_09c91__0004C_1_FCL_FOUND
	CLRF gbl_porta
	MOVLW 0x2A
	MOVWF gbl_trisa
	MOVF FCD_09c91__0004C_arg_FCL_SENSOR, F
	BZ	label18
	MOVLW 0x6C
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label17
	BRA	label18
label17
	MOVLW 0x4C
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label22
label18
	MOVLW 0x01
	MOVWF FCD_09c91__0004C_1_FCL_FOUND
	MOVWF FCD_09c91__0004C_10_ptmp
	BCF gbl_trisa,0
	MOVF FCD_09c91__0004C_10_ptmp, F
	BZ	label19
	MOVLW 0x01
	IORWF gbl_lata, W
	MOVWF gbl_porta
	BRA	label20
label19
	MOVLW 0xFE
	ANDWF gbl_lata, W
	MOVWF gbl_porta
label20
	MOVLW 0x0A
	MOVWF delay_us_00000_arg_del
	CALL delay_us_00000
	MOVLW 0x01
	MOVWF FCD_09c91__00081_arg_FCL_CHANNEL
	CALL FCD_09c91__00081
	CLRF FCD_09c91__0004C_25_ptmp
	BCF gbl_trisa,0
	MOVF FCD_09c91__0004C_25_ptmp, F
	BZ	label21
	MOVLW 0x01
	IORWF gbl_lata, W
	MOVWF gbl_porta
	BRA	label22
label21
	MOVLW 0xFE
	ANDWF gbl_lata, W
	MOVWF gbl_porta
label22
	DECF FCD_09c91__0004C_arg_FCL_SENSOR, W
	BZ	label24
	MOVLW 0x66
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label23
	BRA	label24
label23
	MOVLW 0x46
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label28
label24
	MOVLW 0x01
	MOVWF FCD_09c91__0004C_1_FCL_FOUND
	MOVWF FCD_09c91__0004C_37_ptmp
	BCF gbl_trisa,2
	MOVF FCD_09c91__0004C_37_ptmp, F
	BZ	label25
	MOVLW 0x04
	IORWF gbl_lata, W
	MOVWF gbl_porta
	BRA	label26
label25
	MOVLW 0xFB
	ANDWF gbl_lata, W
	MOVWF gbl_porta
label26
	MOVLW 0x0A
	MOVWF delay_us_00000_arg_del
	CALL delay_us_00000
	MOVLW 0x03
	MOVWF FCD_09c91__00081_arg_FCL_CHANNEL
	CALL FCD_09c91__00081
	CLRF FCD_09c91__0004C_52_ptmp
	BCF gbl_trisa,2
	MOVF FCD_09c91__0004C_52_ptmp, F
	BZ	label27
	MOVLW 0x04
	IORWF gbl_lata, W
	MOVWF gbl_porta
	BRA	label28
label27
	MOVLW 0xFB
	ANDWF gbl_lata, W
	MOVWF gbl_porta
label28
	MOVLW 0x02
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label29
	BRA	label31
label29
	MOVLW 0x72
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label30
	BRA	label31
label30
	MOVLW 0x52
	CPFSEQ FCD_09c91__0004C_arg_FCL_SENSOR
	BRA	label35
label31
	MOVLW 0x01
	MOVWF FCD_09c91__0004C_1_FCL_FOUND
	MOVWF FCD_09c91__0004C_64_ptmp
	BCF gbl_trisa,4
	MOVF FCD_09c91__0004C_64_ptmp, F
	BZ	label32
	MOVLW 0x10
	IORWF gbl_lata, W
	MOVWF gbl_porta
	BRA	label33
label32
	MOVLW 0xEF
	ANDWF gbl_lata, W
	MOVWF gbl_porta
label33
	MOVLW 0x0A
	MOVWF delay_us_00000_arg_del
	CALL delay_us_00000
	MOVLW 0x04
	MOVWF FCD_09c91__00081_arg_FCL_CHANNEL
	CALL FCD_09c91__00081
	CLRF FCD_09c91__0004C_79_ptmp
	BCF gbl_trisa,4
	MOVF FCD_09c91__0004C_79_ptmp, F
	BZ	label34
	MOVLW 0x10
	IORWF gbl_lata, W
	MOVWF gbl_porta
	BRA	label35
label34
	MOVLW 0xEF
	ANDWF gbl_lata, W
	MOVWF gbl_porta
label35
	MOVF FCD_09c91__0004C_1_FCL_FOUND, F
	BZ	label36
	CALL FCD_09c91__00084
	MOVF CompTempVarRet2722, W
	MOVWF FCD_09c91__0004C_1_FCR_RETVAL
	MOVF CompTempVarRet2722+D'1', W
	MOVWF FCD_09c91__0004C_1_FCR_RETVAL+D'1'
	BRA	label37
label36
	CLRF FCD_09c91__0004C_1_FCR_RETVAL
	CLRF FCD_09c91__0004C_1_FCR_RETVAL+D'1'
label37
	MOVF FCD_09c91__0004C_1_FCR_RETVAL, W
	MOVWF CompTempVarRet2630
	MOVF FCD_09c91__0004C_1_FCR_RETVAL+D'1', W
	MOVWF CompTempVarRet2630+D'1'
	RETURN
; } FCD_09c91_FormulaFlowcode1__ReadIRSensor function end

	ORG 0x00000AFA
FCM_lire_c_0004B
; { FCM_lire_capteurs_IR ; function begin
	CLRF FCD_09c91__0004C_arg_FCL_SENSOR
	CALL FCD_09c91__0004C
	MOVF CompTempVarRet2630, W
	MOVWF gbl_FCV_LEFT
	MOVF CompTempVarRet2630+D'1', W
	MOVWF gbl_FCV_LEFT+D'1'
	MOVLW 0x01
	MOVWF FCD_09c91__0004C_arg_FCL_SENSOR
	CALL FCD_09c91__0004C
	MOVF CompTempVarRet2630, W
	MOVWF gbl_FCV_FRONT
	MOVF CompTempVarRet2630+D'1', W
	MOVWF gbl_FCV_FRONT+D'1'
	MOVLW 0x02
	MOVWF FCD_09c91__0004C_arg_FCL_SENSOR
	CALL FCD_09c91__0004C
	MOVF CompTempVarRet2630, W
	MOVWF gbl_FCV_RIGHT
	MOVF CompTempVarRet2630+D'1', W
	MOVWF gbl_FCV_RIGHT+D'1'
	RETURN
; } FCM_lire_capteurs_IR function end

	ORG 0x00000B2A
FCM_eteind_0004F
; { FCM_eteindre_LEDs ; function begin
	CLRF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x01
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x02
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x03
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x04
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x05
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x06
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	MOVLW 0x07
	MOVWF FCD_09c91__00064_arg_FCL_LED
	CALL FCD_09c91__00064
	RETURN
; } FCM_eteindre_LEDs function end

	ORG 0x00000B6A
FCD_09c91__0005E
; { FCD_09c91_FormulaFlowcode1__SetMotors ; function begin
	MOVLW 0xFC
	ANDWF gbl_trise, W
	MOVWF gbl_trise
	MOVLW 0xFC
	ANDWF gbl_porte, W
	MOVWF gbl_porte
	BTFSS FCD_09c91__0005E_arg_FCL_L_0005F+D'1',7
	BRA	label38
	MOVF FCD_09c91__0005E_arg_FCL_L_0005F, W
	SUBLW 0x00
	MOVWF FCD_09c91__0005E_1_FCL_POWER
	COMF FCD_09c91__0005E_arg_FCL_L_0005F+D'1', W
	MOVWF FCD_09c91__0005E_1_FCL_POWER+D'1'
	BTFSC STATUS,C
	INCF FCD_09c91__0005E_1_FCL_POWER+D'1', F
	BRA	label39
label38
	MOVF FCD_09c91__0005E_arg_FCL_L_0005F, W
	MOVWF FCD_09c91__0005E_1_FCL_POWER
	MOVF FCD_09c91__0005E_arg_FCL_L_0005F+D'1', W
	MOVWF FCD_09c91__0005E_1_FCL_POWER+D'1'
label39
	MOVLW 0xFF
	CPFSGT FCD_09c91__0005E_1_FCL_POWER
	TSTFSZ FCD_09c91__0005E_1_FCL_POWER+D'1'
	BRA	label40
	BRA	label41
label40
	SETF FCD_09c91__0005E_1_FCL_POWER
	CLRF FCD_09c91__0005E_1_FCL_POWER+D'1'
label41
	MOVLW 0x00
	CPFSGT FCD_09c91__0005E_arg_FCL_L_0005F
	TSTFSZ FCD_09c91__0005E_arg_FCL_L_0005F+D'1'
	BRA	label42
	BRA	label45
label42
	BTFSC FCD_09c91__0005E_arg_FCL_L_0005F+D'1',7
	BRA	label45
	MOVLW 0x01
	MOVWF FCD_09c91__0005E_11_ptmp
	BCF gbl_trise,0
	MOVF FCD_09c91__0005E_11_ptmp, F
	BZ	label43
	MOVLW 0x01
	IORWF gbl_late, W
	MOVWF gbl_porte
	BRA	label44
label43
	MOVLW 0xFE
	ANDWF gbl_late, W
	MOVWF gbl_porte
label44
	MOVF FCD_09c91__0005E_1_FCL_POWER, W
	SUBLW 0xFF
	MOVWF FCD_09c91__0005E_1_FCL_MOT_00061
	BRA	label46
label45
	MOVF FCD_09c91__0005E_1_FCL_POWER, W
	MOVWF FCD_09c91__0005E_1_FCL_MOT_00061
label46
	BTFSS FCD_09c91__0005E_arg_FCL_R_00060+D'1',7
	BRA	label47
	MOVF FCD_09c91__0005E_arg_FCL_R_00060, W
	SUBLW 0x00
	MOVWF CompTempVar2678
	COMF FCD_09c91__0005E_arg_FCL_R_00060+D'1', W
	MOVWF CompTempVar2679
	BTFSC STATUS,C
	INCF CompTempVar2679, F
	MOVF CompTempVar2678, W
	MOVWF FCD_09c91__0005E_1_FCL_POWER
	MOVF CompTempVar2679, W
	MOVWF FCD_09c91__0005E_1_FCL_POWER+D'1'
	BRA	label48
label47
	MOVF FCD_09c91__0005E_arg_FCL_R_00060, W
	MOVWF FCD_09c91__0005E_1_FCL_POWER
	MOVF FCD_09c91__0005E_arg_FCL_R_00060+D'1', W
	MOVWF FCD_09c91__0005E_1_FCL_POWER+D'1'
label48
	MOVLW 0xFF
	CPFSGT FCD_09c91__0005E_1_FCL_POWER
	TSTFSZ FCD_09c91__0005E_1_FCL_POWER+D'1'
	BRA	label49
	BRA	label50
label49
	SETF FCD_09c91__0005E_1_FCL_POWER
	CLRF FCD_09c91__0005E_1_FCL_POWER+D'1'
label50
	MOVLW 0x00
	CPFSGT FCD_09c91__0005E_arg_FCL_R_00060
	TSTFSZ FCD_09c91__0005E_arg_FCL_R_00060+D'1'
	BRA	label51
	BRA	label54
label51
	BTFSC FCD_09c91__0005E_arg_FCL_R_00060+D'1',7
	BRA	label54
	MOVLW 0x01
	MOVWF FCD_09c91__0005E_28_ptmp
	BCF gbl_trise,1
	MOVF FCD_09c91__0005E_28_ptmp, F
	BZ	label52
	MOVLW 0x02
	IORWF gbl_late, W
	MOVWF gbl_porte
	BRA	label53
label52
	MOVLW 0xFD
	ANDWF gbl_late, W
	MOVWF gbl_porte
label53
	MOVF FCD_09c91__0005E_1_FCL_POWER, W
	SUBLW 0xFF
	MOVWF FCD_09c91__0005E_1_FCL_MOT_00062
	BRA	label55
label54
	MOVF FCD_09c91__0005E_1_FCL_POWER, W
	MOVWF FCD_09c91__0005E_1_FCL_MOT_00062
label55
	MOVF FCD_09c91__0005E_1_FCL_MOT_00061, W
	MOVWF FCD_09c91__00082_arg_FCL_DUTYL
	MOVF FCD_09c91__0005E_1_FCL_MOT_00062, W
	MOVWF FCD_09c91__00082_arg_FCL_DUTYR
	CALL FCD_09c91__00082
	RETURN
; } FCD_09c91_FormulaFlowcode1__SetMotors function end

	ORG 0x00000C44
FCD_09c91__0005B
; { FCD_09c91_FormulaFlowcode1__PlayNote ; function begin
	CLRF FCD_09c91__0005B_1_FCL_LOOP
	CLRF FCD_09c91__0005B_1_FCL_LOOP+D'1'
	CLRF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1'
	MOVF FCD_09c91__0005B_arg_FCL_NOTE, W
	SUBLW 0xFF
	MOVWF FCD_09c91__0005B_1_FCL_INV_NOTE
	BTFSS STATUS,C
	DECF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1', F
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE, W
	MULLW 0x14
	MOVF PRODL, W
	MOVWF FCD_09c91__0005B_1_FCL_DELAYUS
	MOVF PRODH, W
	MOVWF FCD_09c91__0005B_1_FCL_DELAYUS+D'1'
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1', W
	MULLW 0x14
	MOVF PRODL, W
	ADDWF FCD_09c91__0005B_1_FCL_DELAYUS+D'1', F
	MOVF FCD_09c91__0005B_1_FCL_DELAYUS, W
	MOVWF __div_16_1_00003_arg_a
	MOVF FCD_09c91__0005B_1_FCL_DELAYUS+D'1', W
	MOVWF __div_16_1_00003_arg_a+D'1'
	MOVLW 0xE8
	MOVWF __div_16_1_00003_arg_b
	MOVLW 0x03
	MOVWF __div_16_1_00003_arg_b+D'1'
	CALL __div_16_1_00003
	MOVF CompTempVarRet178, W
	MOVWF FCD_09c91__0005B_1_FCL_DELAYMS
	MOVF CompTempVarRet178+D'1', W
	MOVWF FCD_09c91__0005B_1_FCL_DELAYMS+D'1'
	MOVF FCD_09c91__0005B_1_FCL_DELAYMS, F
	BNZ	label56
	MOVF FCD_09c91__0005B_1_FCL_DELAYMS+D'1', F
	BNZ	label56
	MOVLW 0x01
	MOVWF FCD_09c91__0005B_1_FCL_DELAYMS
	CLRF FCD_09c91__0005B_1_FCL_DELAYMS+D'1'
label56
	CLRF FCD_09c91__0005B_9_ptmp
	BCF gbl_trisc,0
	MOVF FCD_09c91__0005B_9_ptmp, F
	BZ	label57
	MOVLW 0x01
	IORWF gbl_latc, W
	MOVWF gbl_portc
	BRA	label58
label57
	MOVLW 0xFE
	ANDWF gbl_latc, W
	MOVWF gbl_portc
label58
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE, W
	MULLW 0x0A
	MOVF PRODL, W
	MOVWF CompTempVar2660
	MOVF PRODH, W
	MOVWF CompTempVar2661
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1', W
	MULLW 0x0A
	MOVF PRODL, W
	ADDWF CompTempVar2661, F
	MOVF CompTempVar2660, W
	MOVWF FCD_09c91__0005B_1_FCL_INV_NOTE
	MOVF CompTempVar2661, W
	MOVWF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1'
label59
	MOVF FCD_09c91__0005B_1_FCL_DELAYMS, W
	MULWF FCD_09c91__0005B_1_FCL_LOOP
	MOVF PRODL, W
	MOVWF CompTempVar2654
	MOVF PRODH, W
	MOVWF CompTempVar2655
	MOVF FCD_09c91__0005B_1_FCL_DELAYMS+D'1', W
	MULWF FCD_09c91__0005B_1_FCL_LOOP
	MOVF PRODL, W
	ADDWF CompTempVar2655, F
	MOVF FCD_09c91__0005B_1_FCL_DELAYMS, W
	MULWF FCD_09c91__0005B_1_FCL_LOOP+D'1'
	MOVF PRODL, W
	ADDWF CompTempVar2655, F
	MOVF FCD_09c91__0005B_arg_FCL_D_0005C+D'1', W
	SUBWF CompTempVar2655, W
	BNZ	label60
	MOVF FCD_09c91__0005B_arg_FCL_D_0005C, W
	SUBWF CompTempVar2654, W
label60
	BTFSC STATUS,C
	RETURN
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE, W
	MOVWF FCI_DELAYI_00035_arg_Delay
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1', W
	MOVWF FCI_DELAYI_00035_arg_Delay+D'1'
	CALL FCI_DELAYI_00035
	MOVLW 0x01
	MOVWF FCD_09c91__0005B_22_ptmp
	BCF gbl_trisc,0
	MOVF FCD_09c91__0005B_22_ptmp, F
	BZ	label61
	MOVLW 0x01
	IORWF gbl_latc, W
	MOVWF gbl_portc
	BRA	label62
label61
	MOVLW 0xFE
	ANDWF gbl_latc, W
	MOVWF gbl_portc
label62
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE, W
	MOVWF FCI_DELAYI_00035_arg_Delay
	MOVF FCD_09c91__0005B_1_FCL_INV_NOTE+D'1', W
	MOVWF FCI_DELAYI_00035_arg_Delay+D'1'
	CALL FCI_DELAYI_00035
	CLRF FCD_09c91__0005B_32_ptmp
	BCF gbl_trisc,0
	MOVF FCD_09c91__0005B_32_ptmp, F
	BZ	label63
	MOVLW 0x01
	IORWF gbl_latc, W
	MOVWF gbl_portc
	BRA	label64
label63
	MOVLW 0xFE
	ANDWF gbl_latc, W
	MOVWF gbl_portc
label64
	MOVF FCD_09c91__0005B_1_FCL_LOOP, F
	MOVF FCD_09c91__0005B_1_FCL_LOOP+D'1', F
	INCF FCD_09c91__0005B_1_FCL_LOOP, F
	BTFSC STATUS,Z
	INCF FCD_09c91__0005B_1_FCL_LOOP+D'1', F
	BRA	label59
; } FCD_09c91_FormulaFlowcode1__PlayNote function end

	ORG 0x00000D40
FCD_09c91__0005A
; { FCD_09c91_FormulaFlowcode1__WaitForSwitch ; function begin
	CLRF FCD_09c91__0005A_1_FCL_WAIT
	MOVF FCD_09c91__0005A_arg_FCL_SWITCH, F
	BZ	label66
	MOVLW 0x6C
	CPFSEQ FCD_09c91__0005A_arg_FCL_SWITCH
	BRA	label65
	BRA	label66
label65
	MOVLW 0x4C
	CPFSEQ FCD_09c91__0005A_arg_FCL_SWITCH
	BRA	label67
label66
	MOVF FCD_09c91__0005A_1_FCL_WAIT, F
	BTFSS STATUS,Z
	RETURN
	MOVLW HIGH(gbl_portb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port+D'1'
	MOVLW LOW(gbl_portb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port
	MOVLW HIGH(gbl_trisb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris+D'1'
	MOVLW LOW(gbl_trisb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris
	MOVLW 0x20
	MOVWF FC_CAL_Por_00032_arg_InMask
	MOVLW 0x05
	MOVWF FC_CAL_Por_00032_arg_Shift
	CALL FC_CAL_Por_00032
	MOVF CompTempVarRet1822, W
	MOVWF FCD_09c91__0005A_1_FCL_WAIT
	BRA	label66
label67
	MOVF FCD_09c91__0005A_1_FCL_WAIT, F
	BTFSS STATUS,Z
	RETURN
	MOVLW HIGH(gbl_portb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port+D'1'
	MOVLW LOW(gbl_portb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port
	MOVLW HIGH(gbl_trisb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris+D'1'
	MOVLW LOW(gbl_trisb+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris
	MOVLW 0x10
	MOVWF FC_CAL_Por_00032_arg_InMask
	MOVLW 0x04
	MOVWF FC_CAL_Por_00032_arg_Shift
	CALL FC_CAL_Por_00032
	MOVF CompTempVarRet1822, W
	MOVWF FCD_09c91__0005A_1_FCL_WAIT
	BRA	label67
; } FCD_09c91_FormulaFlowcode1__WaitForSwitch function end

	ORG 0x00000DA4
FCD_09c91__00059
; { FCD_09c91_FormulaFlowcode1__Initialise ; function begin
	CLRF FCD_09c91__00059_1_FCL_PRESS
	CLRF FCD_09c91__00059_3_ptmp
	CLRF gbl_trisd
	MOVF FCD_09c91__00059_3_ptmp, W
	MOVWF gbl_portd
	BCF gbl_trisc,2
	BCF gbl_trisc,1
	SETF gbl_pr2
	MOVLW 0x04
	MOVWF gbl_t2con
	CLRF gbl_ccpr1l
	CLRF gbl_ccpr2l
	MOVLW 0x0C
	MOVWF gbl_ccp1con
	MOVWF gbl_ccp2con
	RETURN
; } FCD_09c91_FormulaFlowcode1__Initialise function end

	ORG 0x00000DC4
FCD_09c91__00055
; { FCD_09c91_FormulaFlowcode1__SpinLeft ; function begin
	MOVLW 0xFC
	ANDWF gbl_trise, W
	MOVWF gbl_trise
	MOVLW 0xFC
	ANDWF gbl_porte, W
	MOVWF gbl_porte
	MOVF FCD_09c91__00055_arg_FCL_POWER, W
	MOVWF FCD_09c91__00055_1_FCL_MOT_00056
	MOVF FCD_09c91__00055_arg_FCL_POWER, W
	SUBLW 0xFF
	MOVWF FCD_09c91__00055_1_FCL_MOT_00057
	MOVLW 0x01
	MOVWF FCD_09c91__00055_6_ptmp
	BCF gbl_trise,1
	MOVF FCD_09c91__00055_6_ptmp, F
	BZ	label68
	MOVLW 0x02
	IORWF gbl_late, W
	MOVWF gbl_porte
	BRA	label69
label68
	MOVLW 0xFD
	ANDWF gbl_late, W
	MOVWF gbl_porte
label69
	MOVF FCD_09c91__00055_1_FCL_MOT_00057, W
	MOVWF FCD_09c91__00082_arg_FCL_DUTYL
	MOVF FCD_09c91__00055_1_FCL_MOT_00056, W
	MOVWF FCD_09c91__00082_arg_FCL_DUTYR
	CALL FCD_09c91__00082
	RETURN
; } FCD_09c91_FormulaFlowcode1__SpinLeft function end

	ORG 0x00000E00
FCD_09c91__00051
; { FCD_09c91_FormulaFlowcode1__SpinRight ; function begin
	MOVLW 0xFC
	ANDWF gbl_trise, W
	MOVWF gbl_trise
	MOVLW 0xFC
	ANDWF gbl_porte, W
	MOVWF gbl_porte
	MOVF FCD_09c91__00051_arg_FCL_POWER, W
	SUBLW 0xFF
	MOVWF FCD_09c91__00051_1_FCL_MOT_00052
	MOVF FCD_09c91__00051_arg_FCL_POWER, W
	MOVWF FCD_09c91__00051_1_FCL_MOT_00053
	MOVLW 0x01
	MOVWF FCD_09c91__00051_6_ptmp
	BCF gbl_trise,0
	MOVF FCD_09c91__00051_6_ptmp, F
	BZ	label70
	MOVLW 0x01
	IORWF gbl_late, W
	MOVWF gbl_porte
	BRA	label71
label70
	MOVLW 0xFE
	ANDWF gbl_late, W
	MOVWF gbl_porte
label71
	MOVF FCD_09c91__00051_1_FCL_MOT_00053, W
	MOVWF FCD_09c91__00082_arg_FCL_DUTYL
	MOVF FCD_09c91__00051_1_FCL_MOT_00052, W
	MOVWF FCD_09c91__00082_arg_FCL_DUTYR
	CALL FCD_09c91__00082
	RETURN
; } FCD_09c91_FormulaFlowcode1__SpinRight function end

	ORG 0x00000E3C
FCD_09c91__00050
; { FCD_09c91_FormulaFlowcode1__LEDOn ; function begin
	MOVLW HIGH(gbl_portd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port+D'1'
	MOVLW LOW(gbl_portd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Port
	MOVLW HIGH(gbl_trisd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris+D'1'
	MOVLW LOW(gbl_trisd+D'0')
	MOVWF FC_CAL_Por_00032_arg_Tris
	SETF FC_CAL_Por_00032_arg_InMask
	CLRF FC_CAL_Por_00032_arg_Shift
	CALL FC_CAL_Por_00032
	MOVLW 0x01
	MOVWF CompTempVar2638
	MOVF FCD_09c91__00050_arg_FCL_LED, W
label72
	ANDLW 0xFF
	BZ	label73
	BCF STATUS,C
	RLCF CompTempVar2638, F
	ADDLW 0xFF
	BRA	label72
label73
	MOVF CompTempVar2638, W
	IORWF CompTempVarRet1822, W
	MOVWF FCD_09c91__00050_2_ptmp
	CLRF gbl_trisd
	MOVF FCD_09c91__00050_2_ptmp, W
	MOVWF gbl_portd
	RETURN
; } FCD_09c91_FormulaFlowcode1__LEDOn function end

	ORG 0x00000E74
FCD_09c91__0004E
; { FCD_09c91_FormulaFlowcode1__Stop ; function begin
	MOVLW 0xFC
	ANDWF gbl_trise, W
	MOVWF gbl_trise
	MOVLW 0xFC
	ANDWF gbl_porte, W
	MOVWF gbl_porte
	CLRF FCD_09c91__00082_arg_FCL_DUTYL
	CLRF FCD_09c91__00082_arg_FCL_DUTYR
	CALL FCD_09c91__00082
	RETURN
; } FCD_09c91_FormulaFlowcode1__Stop function end

	ORG 0x00000E8A
FCM_marche_0005D
; { FCM_marche_libre ; function begin
	CALL FCM_lire_c_0004B
	CALL FCM_eteind_0004F
label74
	MOVLW 0x4B
	CPFSGT gbl_FCV_FRONT
	TSTFSZ gbl_FCV_FRONT+D'1'
	BRA	label75
	RETURN
label75
	CALL FCM_lire_c_0004B
	MOVLW 0xAF
	CPFSGT gbl_FCV_LEFT
	TSTFSZ gbl_FCV_LEFT+D'1'
	BRA	label76
	BRA	label77
label76
	MOVLW 0xAF
	MOVWF gbl_FCV_LEFT
	CLRF gbl_FCV_LEFT+D'1'
label77
	MOVLW 0xAF
	CPFSGT gbl_FCV_RIGHT
	TSTFSZ gbl_FCV_RIGHT+D'1'
	BRA	label78
	BRA	label79
label78
	MOVLW 0xAF
	MOVWF gbl_FCV_RIGHT
	CLRF gbl_FCV_RIGHT+D'1'
label79
	MOVF gbl_FCV_RIGHT, W
	SUBLW 0xAF
	MOVWF gbl_FCV_COMPR
	MOVF gbl_FCV_LEFT, W
	SUBLW 0xAF
	MOVWF gbl_FCV_COMPL
	MOVLW 0x03
	MOVWF FCD_09c91__00050_arg_FCL_LED
	CALL FCD_09c91__00050
	MOVLW 0x04
	MOVWF FCD_09c91__00050_arg_FCL_LED
	CALL FCD_09c91__00050
	CLRF FCD_09c91__0005E_arg_FCL_L_0005F+D'1'
	MOVF gbl_FCV_COMPL, W
	ADDLW 0xAF
	MOVWF CompTempVar2668
	BTFSC STATUS,C
	INCF FCD_09c91__0005E_arg_FCL_L_0005F+D'1', F
	MOVF gbl_FCV_COMPR, W
	SUBWF CompTempVar2668, W
	MOVWF FCD_09c91__0005E_arg_FCL_L_0005F
	SUBWFB CompTempVar2668, W
	SUBWF gbl_FCV_COMPR, W
	SUBWF FCD_09c91__0005E_arg_FCL_L_0005F+D'1', F
	CLRF FCD_09c91__0005E_arg_FCL_R_00060+D'1'
	MOVF gbl_FCV_COMPR, W
	ADDLW 0xAF
	MOVWF CompTempVar2672
	BTFSC STATUS,C
	INCF FCD_09c91__0005E_arg_FCL_R_00060+D'1', F
	MOVF gbl_FCV_COMPL, W
	SUBWF CompTempVar2672, W
	MOVWF FCD_09c91__0005E_arg_FCL_R_00060
	SUBWFB CompTempVar2672, W
	SUBWF gbl_FCV_COMPL, W
	SUBWF FCD_09c91__0005E_arg_FCL_R_00060+D'1', F
	CALL FCD_09c91__0005E
	BRA	label74
; } FCM_marche_libre function end

	ORG 0x00000F12
FCM_init_00000
; { FCM_init ; function begin
	CALL FCD_09c91__00059
	MOVLW 0x04
	MOVWF FCD_09c91__0005A_arg_FCL_SWITCH
	CALL FCD_09c91__0005A
	MOVLW 0x05
	MOVWF FCD_09c91__0005B_arg_FCL_NOTE
	MOVLW 0xFA
	MOVWF FCD_09c91__0005B_arg_FCL_D_0005C
	CLRF FCD_09c91__0005B_arg_FCL_D_0005C+D'1'
	CALL FCD_09c91__0005B
	RETURN
; } FCM_init function end

	ORG 0x00000F2E
FCM_degage_0004D
; { FCM_degagerment ; function begin
	CALL FCM_lire_c_0004B
label80
	MOVLW 0x4B
	CPFSGT gbl_FCV_FRONT
	TSTFSZ gbl_FCV_FRONT+D'1'
	BRA	label83
	CALL FCD_09c91__0004E
	CALL FCM_eteind_0004F
	CLRF FCD_09c91__00050_arg_FCL_LED
	CALL FCD_09c91__00050
	MOVLW 0x07
	MOVWF FCD_09c91__00050_arg_FCL_LED
	CALL FCD_09c91__00050
	CALL FCM_lire_c_0004B
	MOVF gbl_FCV_RIGHT+D'1', W
	SUBWF gbl_FCV_LEFT+D'1', W
	BNZ	label81
	MOVF gbl_FCV_RIGHT, W
	SUBWF gbl_FCV_LEFT, W
label81
	BC	label82
	MOVLW 0x8A
	MOVWF FCD_09c91__00051_arg_FCL_POWER
	CALL FCD_09c91__00051
	MOVLW 0xFA
	MOVWF delay_ms_00000_arg_del
	CALL delay_ms_00000
	CALL FCD_09c91__0004E
	BRA	label80
label82
	MOVLW 0x8A
	MOVWF FCD_09c91__00055_arg_FCL_POWER
	CALL FCD_09c91__00055
	MOVLW 0xFA
	MOVWF delay_ms_00000_arg_del
	CALL delay_ms_00000
	CALL FCD_09c91__0004E
	BRA	label80
label83
	CALL FCM_eteind_0004F
	RETURN
; } FCM_degagerment function end

	ORG 0x00000F92
main
; { main ; function begin
	MOVLW 0x3D
	MOVWF gbl_adcon0
	MOVLW 0x0F
	MOVWF gbl_adcon1
	MOVLW 0x08
	MOVWF gbl_ucfg
	BCF gbl_pie2,5
	CALL FCM_init_00000
label84
	CALL FCM_marche_0005D
	CALL FCM_degage_0004D
	BRA	label84
; } main function end

	ORG 0x00000FAE
_startup
	MOVLW 0xD5
	MOVWF gbl_14_LSR
	MOVLW 0xC4
	MOVWF gbl_14_LSR+D'1'
	MOVLW 0xBB
	MOVWF gbl_14_LSR+D'2'
	MOVLW 0xDC
	MOVWF gbl_14_LSR+D'3'
	CLRF gbl_15_gbl_aSig
	CLRF gbl_15_gbl_aSig+D'1'
	CLRF gbl_15_gbl_aSig+D'2'
	CLRF gbl_15_gbl_aSig+D'3'
	CLRF gbl_15_gbl_bSig
	CLRF gbl_15_gbl_bSig+D'1'
	CLRF gbl_15_gbl_bSig+D'2'
	CLRF gbl_15_gbl_bSig+D'3'
	CLRF gbl_15_gbl_zSig
	CLRF gbl_15_gbl_zSig+D'1'
	CLRF gbl_15_gbl_zSig+D'2'
	CLRF gbl_15_gbl_zSig+D'3'
	CLRF gbl_15_gbl_aExp
	CLRF gbl_15_gbl_bExp
	CLRF gbl_15_gbl_zExp
	CLRF gbl_15_gbl_zExp+D'1'
	CLRF gbl_15_gbl_aSign
	CLRF gbl_15_gbl_bSign
	CLRF gbl_15_gbl_zSign
	CLRF gbl_15_gbl_zSigZero
	CLRF gbl_15_gbl_ret
	CLRF gbl_15_gbl_ret+D'1'
	CLRF gbl_15_gbl_ret+D'2'
	CLRF gbl_15_gbl_ret+D'3'
	CLRF gbl_float_rounding_mode
	CLRF gbl_float_exception_flags
	CLRF gbl_float_detect_tininess
	CLRF gbl_FCV_RIGHT
	CLRF gbl_FCV_RIGHT+D'1'
	CLRF gbl_FCV_LEFT
	CLRF gbl_FCV_LEFT+D'1'
	CLRF gbl_FCV_FRONT
	CLRF gbl_FCV_FRONT+D'1'
	GOTO	main
	ORG 0x00001004
interrupt
; { interrupt ; function begin
	MOVFF FSR0H,  Int1Context
	MOVFF FSR0L,  Int1Context+D'1'
	MOVFF PRODH,  Int1Context+D'2'
	MOVFF PRODL,  Int1Context+D'3'
	MOVFF Int1Context+D'3',  PRODL
	MOVFF Int1Context+D'2',  PRODH
	MOVFF Int1Context+D'1',  FSR0L
	MOVFF Int1Context,  FSR0H
	RETFIE 1
; } interrupt function end

	ORG 0x00300000
	DW 0x0E20
	DW 0x1E3E
	DW 0x8100
	DW 0x0081
	DW 0x800F
	DW 0xA00F
	DW 0x000F
	END
