;/////////////////////////////////////////////////////////////////////////////////
;// Code Generator: BoostC Compiler - http://www.sourceboost.com
;// Version       : 6.95
;// License Type  : Full License
;// Limitations   : PIC12,PIC16 max code size:Unlimited, max RAM banks:Unlimited, Non commercial use only
;/////////////////////////////////////////////////////////////////////////////////

	include "P16F676.inc"
; Heap block 0, size:8 (0x00000057 - 0x0000005E)
__HEAP_BLOCK0_BANK               EQU	0x00000000
__HEAP_BLOCK0_START_OFFSET       EQU	0x00000057
__HEAP_BLOCK0_END_OFFSET         EQU	0x0000005E
; Heap block 1, size:0 (0x00000000 - 0x00000000)
__HEAP_BLOCK1_BANK               EQU	0x00000000
__HEAP_BLOCK1_START_OFFSET       EQU	0x00000000
__HEAP_BLOCK1_END_OFFSET         EQU	0x00000000
; Heap block 2, size:0 (0x00000000 - 0x00000000)
__HEAP_BLOCK2_BANK               EQU	0x00000000
__HEAP_BLOCK2_START_OFFSET       EQU	0x00000000
__HEAP_BLOCK2_END_OFFSET         EQU	0x00000000
; Heap block 3, size:0 (0x00000000 - 0x00000000)
__HEAP_BLOCK3_BANK               EQU	0x00000000
__HEAP_BLOCK3_START_OFFSET       EQU	0x00000000
__HEAP_BLOCK3_END_OFFSET         EQU	0x00000000
gbl_status                       EQU	0x00000003 ; bytes:1
gbl_16_LSR                       EQU	0x00000020 ; bytes:4
gbl_float_detect_tininess        EQU	0x00000041 ; bytes:1
gbl_float_rounding_mode          EQU	0x00000042 ; bytes:1
gbl_float_exception_flags        EQU	0x00000043 ; bytes:1
gbl_17_gbl_aSig                  EQU	0x00000024 ; bytes:4
gbl_17_gbl_bSig                  EQU	0x00000028 ; bytes:4
gbl_17_gbl_zSig                  EQU	0x0000002C ; bytes:4
gbl_17_gbl_aExp                  EQU	0x00000044 ; bytes:1
gbl_17_gbl_bExp                  EQU	0x00000045 ; bytes:1
gbl_17_gbl_zExp                  EQU	0x00000037 ; bytes:2
gbl_17_gbl_aSign                 EQU	0x00000046 ; bytes:1
gbl_17_gbl_bSign                 EQU	0x00000047 ; bytes:1
gbl_17_gbl_zSign                 EQU	0x00000048 ; bytes:1
gbl_17_gbl_zSigZero              EQU	0x00000049 ; bytes:1
gbl_17_gbl_ret                   EQU	0x00000030 ; bytes:4
gbl_indf                         EQU	0x00000000 ; bytes:1
gbl_tmr0                         EQU	0x00000001 ; bytes:1
gbl_pcl                          EQU	0x00000002 ; bytes:1
gbl_fsr                          EQU	0x00000004 ; bytes:1
gbl_porta                        EQU	0x00000005 ; bytes:1
gbl_portc                        EQU	0x00000007 ; bytes:1
gbl_pclath                       EQU	0x0000000A ; bytes:1
gbl_intcon                       EQU	0x0000000B ; bytes:1
gbl_pir1                         EQU	0x0000000C ; bytes:1
gbl_tmr1l                        EQU	0x0000000E ; bytes:1
gbl_tmr1h                        EQU	0x0000000F ; bytes:1
gbl_t1con                        EQU	0x00000010 ; bytes:1
gbl_cmcon                        EQU	0x00000019 ; bytes:1
gbl_adresh                       EQU	0x0000001E ; bytes:1
gbl_adcon0                       EQU	0x0000001F ; bytes:1
gbl_option_reg                   EQU	0x00000081 ; bytes:1
gbl_trisa                        EQU	0x00000085 ; bytes:1
gbl_trisc                        EQU	0x00000087 ; bytes:1
gbl_pie1                         EQU	0x0000008C ; bytes:1
gbl_pcon                         EQU	0x0000008E ; bytes:1
gbl_osccal                       EQU	0x00000090 ; bytes:1
gbl_ansel                        EQU	0x00000091 ; bytes:1
gbl_wpu                          EQU	0x00000095 ; bytes:1
gbl_wpua                         EQU	0x00000095 ; bytes:1
gbl_ioc                          EQU	0x00000096 ; bytes:1
gbl_ioca                         EQU	0x00000096 ; bytes:1
gbl_vrcon                        EQU	0x00000099 ; bytes:1
gbl_eedata                       EQU	0x0000009A ; bytes:1
gbl_eeadr                        EQU	0x0000009B ; bytes:1
gbl_eecon1                       EQU	0x0000009C ; bytes:1
gbl_eecon2                       EQU	0x0000009D ; bytes:1
gbl_adresl                       EQU	0x0000009E ; bytes:1
gbl_adcon1                       EQU	0x0000009F ; bytes:1
gbl_FCV_MOTOR                    EQU	0x0000004A ; bytes:1
gbl_FCV_SZENZOR                  EQU	0x00000039 ; bytes:2
gbl_FCV_SLEEP                    EQU	0x0000004B ; bytes:1
gbl_FCV_X                        EQU	0x0000003B ; bytes:2
gbl_FCV_VEGALAS                  EQU	0x0000004C ; bytes:1
gbl_FCV_M                        EQU	0x0000003D ; bytes:2
gbl_FCV_KI                       EQU	0x0000004D ; bytes:1
gbl_FCV_S                        EQU	0x0000003F ; bytes:2
gbl_FCV_TIMER1                   EQU	0x0000004E ; bytes:1
gbl_FCV_IRANY                    EQU	0x0000004F ; bytes:1
CompTempVar2209                  EQU	0x00000056 ; bytes:1
CompTempVar2210                  EQU	0x00000056 ; bytes:1
CompTempVar2211                  EQU	0x00000054 ; bytes:1
CompTempVar2213                  EQU	0x00000054 ; bytes:1
CompTempVar2214                  EQU	0x00000055 ; bytes:1
FCD_ADC0_S_0004A_1_old_tris      EQU	0x00000052 ; bytes:1
FCD_ADC0_S_0004A_1_cnt           EQU	0x00000053 ; bytes:1
CompTempVarRet2216               EQU	0x00000052 ; bytes:2
FCD_ADC0_R_0004C_1_iRetVal       EQU	0x00000050 ; bytes:2
CompTempVar2219                  EQU	0x00000052 ; bytes:1
CompTempVar2224                  EQU	0x00000050 ; bytes:1
CompTempVar2225                  EQU	0x00000050 ; bytes:1
CompTempVar2226                  EQU	0x00000050 ; bytes:1
CompTempVar2227                  EQU	0x00000050 ; bytes:1
CompTempVar2228                  EQU	0x00000050 ; bytes:1
CompTempVar2229                  EQU	0x00000051 ; bytes:1
CompTempVar2230                  EQU	0x00000052 ; bytes:1
CompTempVar2232                  EQU	0x00000052 ; bytes:1
CompTempVar2233                  EQU	0x00000053 ; bytes:1
Int1Context                      EQU	0x0000005F ; bytes:1
Int1BContext                     EQU	0x00000034 ; bytes:3
	ORG 0x00000000
	GOTO	_startup
	ORG 0x00000004
	MOVWF Int1Context
	SWAPF STATUS, W
	BCF STATUS, RP0
	MOVWF Int1BContext
	SWAPF PCLATH, W
	MOVWF Int1BContext+D'1'
	SWAPF FSR, W
	MOVWF Int1BContext+D'2'
	BCF PCLATH,3
	BCF PCLATH,4
	GOTO	interrupt
	ORG 0x00000010
FCM_kimene_00048
; { FCM_kimenet ; function begin
	MOVLW 0xDF
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	BCF STATUS, RP0
	MOVF gbl_FCV_IRANY, F
	BTFSC STATUS,Z
	GOTO	label1
	MOVLW 0xDF
	ANDWF gbl_portc, W
	MOVWF CompTempVar2209
	MOVLW 0x20
	IORWF CompTempVar2209, W
	MOVWF gbl_portc
	GOTO	label2
label1
	MOVLW 0xDF
	ANDWF gbl_portc, W
	MOVWF gbl_portc
label2
	MOVLW 0xEF
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	BCF STATUS, RP0
	MOVF gbl_FCV_MOTOR, F
	BTFSC STATUS,Z
	GOTO	label3
	MOVLW 0xEF
	ANDWF gbl_portc, W
	MOVWF CompTempVar2210
	MOVLW 0x10
	IORWF CompTempVar2210, W
	MOVWF gbl_portc
	RETURN
label3
	MOVLW 0xEF
	ANDWF gbl_portc, W
	MOVWF gbl_portc
	RETURN
; } FCM_kimenet function end

	ORG 0x00000035
FCM_timer1_00000
; { FCM_timer1 ; function begin
	RETURN
; } FCM_timer1 function end

	ORG 0x00000036
FCM_int_00000
; { FCM_int ; function begin
	MOVLW 0x04
	BSF STATUS, RP0
	IORWF gbl_trisc, W
	MOVWF gbl_trisc
	MOVLW 0x04
	BCF STATUS, RP0
	ANDWF gbl_portc, W
	MOVWF CompTempVar2211
	CLRF gbl_FCV_VEGALAS
	MOVLW 0x04
	SUBWF CompTempVar2211, W
	BTFSC STATUS,Z
	INCF gbl_FCV_VEGALAS, F
label4
	MOVF gbl_FCV_VEGALAS, F
	BTFSS STATUS,Z
	RETURN
	MOVLW 0x04
	BSF STATUS, RP0
	IORWF gbl_trisc, W
	MOVWF gbl_trisc
	MOVLW 0x04
	BCF STATUS, RP0
	ANDWF gbl_portc, W
	MOVWF CompTempVar2213
	CLRF CompTempVar2214
	MOVLW 0x04
	SUBWF CompTempVar2213, W
	BTFSC STATUS,Z
	INCF CompTempVar2214, F
	MOVF CompTempVar2214, W
	MOVWF gbl_FCV_VEGALAS
	MOVF gbl_FCV_VEGALAS, F
	BTFSS STATUS,Z
	GOTO	label5
	CLRF gbl_FCV_IRANY
	MOVLW 0x01
	MOVWF gbl_FCV_MOTOR
	CALL FCM_kimene_00048
	CLRF gbl_FCV_IRANY
	CLRF gbl_FCV_MOTOR
	CALL FCM_kimene_00048
	GOTO	label4
label5
	CLRF gbl_FCV_IRANY
	CLRF gbl_FCV_MOTOR
	MOVLW 0x01
	MOVWF gbl_FCV_TIMER1
	GOTO	label4
; } FCM_int function end

	ORG 0x00000065
FCM_1khz_00000
; { FCM_1khz ; function begin
	BCF STATUS, RP0
	MOVF gbl_FCV_X, F
	MOVF gbl_FCV_X+D'1', F
	INCF gbl_FCV_X, F
	BTFSC STATUS,Z
	INCF gbl_FCV_X+D'1', F
	MOVLW 0x04
	SUBWF gbl_FCV_X, W
	MOVF gbl_FCV_X+D'1', W
	BTFSC STATUS,C
	GOTO	label6
	BTFSC STATUS,Z
	GOTO	label7
label6
	BTFSS gbl_FCV_X+D'1',7
	GOTO	label10
label7
	MOVLW 0x02
	SUBWF gbl_FCV_X, W
	MOVF gbl_FCV_X+D'1', W
	BTFSC STATUS,C
	GOTO	label8
	BTFSC STATUS,Z
	GOTO	label9
label8
	BTFSS gbl_FCV_X+D'1',7
	GOTO	label11
label9
	MOVLW 0x01
	MOVWF gbl_FCV_KI
	GOTO	label11
label10
	CLRF gbl_FCV_X
	CLRF gbl_FCV_X+D'1'
	CLRF gbl_FCV_KI
	MOVF gbl_FCV_S, F
	MOVF gbl_FCV_S+D'1', F
	INCF gbl_FCV_S, F
	BTFSC STATUS,Z
	INCF gbl_FCV_S+D'1', F
label11
	MOVF gbl_FCV_S, W
	XORLW 0xE8
	BTFSS gbl_FCV_S+D'1',7
	MOVLW 0x03
	BTFSC STATUS,Z
	XORWF gbl_FCV_S+D'1', W
	BTFSS STATUS,Z
	RETURN
	CLRF gbl_FCV_S
	CLRF gbl_FCV_S+D'1'
	RETURN
; } FCM_1khz function end

	ORG 0x00000093
FCD_ADC0_S_0004A
; { FCD_ADC0_SampleADC ; function begin
	MOVLW 0x30
	BSF STATUS, RP0
	MOVWF gbl_adcon1
	MOVLW 0x01
	MOVWF gbl_ansel
	MOVF gbl_trisa, W
	BCF STATUS, RP0
	MOVWF FCD_ADC0_S_0004A_1_old_tris
	MOVLW 0x01
	BSF STATUS, RP0
	IORWF gbl_trisa, W
	MOVWF gbl_trisa
	MOVLW 0x01
	BCF STATUS, RP0
	MOVWF gbl_adcon0
	CLRF FCD_ADC0_S_0004A_1_cnt
label12
	MOVLW 0x28
	SUBWF FCD_ADC0_S_0004A_1_cnt, W
	BTFSC STATUS,C
	GOTO	label13
	INCF FCD_ADC0_S_0004A_1_cnt, F
	GOTO	label12
label13
	MOVLW 0x02
	IORWF gbl_adcon0, W
	MOVWF gbl_adcon0
label14
	BTFSC gbl_adcon0,1
	GOTO	label14
	MOVF FCD_ADC0_S_0004A_1_old_tris, W
	BSF STATUS, RP0
	MOVWF gbl_trisa
	CLRF gbl_ansel
	BCF STATUS, RP0
	CLRF gbl_adcon0
	RETURN
; } FCD_ADC0_SampleADC function end

	ORG 0x000000B5
FCD_ADC0_R_0004C
; { FCD_ADC0_ReadAsInt ; function begin
	CALL FCD_ADC0_S_0004A
	MOVF gbl_adresh, W
	MOVWF FCD_ADC0_R_0004C_1_iRetVal
	CLRF FCD_ADC0_R_0004C_1_iRetVal+D'1'
	RLF FCD_ADC0_R_0004C_1_iRetVal, F
	RLF FCD_ADC0_R_0004C_1_iRetVal+D'1', F
	RLF FCD_ADC0_R_0004C_1_iRetVal, F
	RLF FCD_ADC0_R_0004C_1_iRetVal+D'1', F
	MOVLW 0xFC
	ANDWF FCD_ADC0_R_0004C_1_iRetVal, F
	BSF STATUS, RP0
	RRF gbl_adresl, W
	BCF STATUS, RP0
	MOVWF CompTempVar2219
	RRF CompTempVar2219, F
	SWAPF CompTempVar2219, F
	MOVLW 0x03
	ANDWF CompTempVar2219, W
	IORWF FCD_ADC0_R_0004C_1_iRetVal, F
	MOVF FCD_ADC0_R_0004C_1_iRetVal+D'1', F
	MOVF FCD_ADC0_R_0004C_1_iRetVal, W
	MOVWF CompTempVarRet2216
	MOVF FCD_ADC0_R_0004C_1_iRetVal+D'1', W
	MOVWF CompTempVarRet2216+D'1'
	RETURN
; } FCD_ADC0_ReadAsInt function end

	ORG 0x000000CE
main
; { main ; function begin
	BSF STATUS, RP0
	CLRF gbl_ansel
	MOVLW 0x07
	BCF STATUS, RP0
	MOVWF gbl_cmcon
	MOVLW 0xC0
	BSF STATUS, RP0
	MOVWF gbl_option_reg
	BCF STATUS, RP0
	CLRF gbl_FCV_SZENZOR
	CLRF gbl_FCV_SZENZOR+D'1'
	CLRF gbl_FCV_KI
	CLRF gbl_FCV_S
	CLRF gbl_FCV_S+D'1'
	CLRF gbl_FCV_M
	CLRF gbl_FCV_M+D'1'
	CLRF gbl_FCV_TIMER1
	CLRF gbl_FCV_VEGALAS
	CLRF gbl_FCV_X
	CLRF gbl_FCV_X+D'1'
	CLRF gbl_FCV_SLEEP
	MOVLW 0x3F
	MOVWF gbl_t1con
	BSF STATUS, RP0
	BCF gbl_option_reg,5
	BSF gbl_option_reg,4
	MOVLW 0xF0
	ANDWF gbl_option_reg, W
	BCF STATUS, RP0
	MOVWF CompTempVar2224
	MOVLW 0x08
	IORWF CompTempVar2224, W
	BSF STATUS, RP0
	MOVWF gbl_option_reg
	BCF STATUS, RP0
	BSF gbl_intcon,7
	BSF gbl_intcon,5
	BSF gbl_intcon,6
	BSF gbl_t1con,3
	BSF gbl_t1con,0
	BSF gbl_t1con,1
	MOVLW 0x0F
	ANDWF gbl_t1con, W
	MOVWF CompTempVar2225
	MOVLW 0x30
	IORWF CompTempVar2225, W
	MOVWF gbl_t1con
	BSF gbl_intcon,7
	BSF STATUS, RP0
	BSF gbl_pie1,0
	BSF gbl_option_reg,6
	BCF STATUS, RP0
	BSF gbl_intcon,7
	BSF gbl_intcon,4
label15
	SLEEP
	MOVF gbl_FCV_SLEEP, W
	ADDWF gbl_FCV_TIMER1, W
	MOVWF gbl_FCV_TIMER1
	MOVF gbl_FCV_TIMER1, W
	XORLW 0x04
	BTFSS STATUS,Z
	GOTO	label16
	CLRF gbl_FCV_TIMER1
	CLRF gbl_FCV_M
	CLRF gbl_FCV_M+D'1'
label16
	MOVF gbl_FCV_TIMER1, F
	BTFSS STATUS,Z
	GOTO	label15
label17
	MOVLW 0x01
	SUBWF gbl_FCV_S+D'1', W
	BTFSS STATUS,Z
	GOTO	label18
	MOVLW 0xF4
	SUBWF gbl_FCV_S, W
label18
	BTFSS STATUS,C
	GOTO	label19
	BTFSS gbl_FCV_S+D'1',7
	GOTO	label24
label19
	MOVLW 0xFE
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	BCF STATUS, RP0
	MOVF gbl_FCV_KI, F
	BTFSC STATUS,Z
	GOTO	label20
	MOVLW 0xFE
	ANDWF gbl_portc, W
	MOVWF CompTempVar2226
	MOVLW 0x01
	IORWF CompTempVar2226, W
	MOVWF gbl_portc
	GOTO	label21
label20
	MOVLW 0xFE
	ANDWF gbl_portc, W
	MOVWF gbl_portc
label21
	MOVLW 0xFD
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	MOVLW 0xFD
	BCF STATUS, RP0
	ANDWF gbl_portc, W
	MOVWF gbl_portc
	MOVLW 0xFE
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	MOVLW 0xFE
	BCF STATUS, RP0
	ANDWF gbl_portc, W
	MOVWF gbl_portc
	MOVLW 0xFD
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	BCF STATUS, RP0
	MOVF gbl_FCV_KI, F
	BTFSC STATUS,Z
	GOTO	label22
	MOVLW 0xFD
	ANDWF gbl_portc, W
	MOVWF CompTempVar2227
	MOVLW 0x02
	IORWF CompTempVar2227, W
	MOVWF gbl_portc
	GOTO	label23
label22
	MOVLW 0xFD
	ANDWF gbl_portc, W
	MOVWF gbl_portc
label23
	CALL FCD_ADC0_R_0004C
	MOVF CompTempVarRet2216, W
	MOVWF gbl_FCV_SZENZOR
	MOVF CompTempVarRet2216+D'1', W
	MOVWF gbl_FCV_SZENZOR+D'1'
	GOTO	label17
label24
	MOVLW 0xFD
	BSF STATUS, RP0
	ANDWF gbl_trisc, W
	MOVWF gbl_trisc
	MOVLW 0xFD
	BCF STATUS, RP0
	ANDWF gbl_portc, W
	MOVWF gbl_portc
label25
	MOVF gbl_FCV_M, F
	BTFSS STATUS,Z
	GOTO	label32
	MOVF gbl_FCV_M+D'1', F
	BTFSS STATUS,Z
	GOTO	label32
	MOVF gbl_FCV_M, F
	BTFSS STATUS,Z
	GOTO	label31
	MOVF gbl_FCV_M+D'1', F
	BTFSS STATUS,Z
	GOTO	label31
	MOVLW 0x04
	BSF STATUS, RP0
	IORWF gbl_trisc, W
	MOVWF gbl_trisc
	MOVLW 0x04
	BCF STATUS, RP0
	ANDWF gbl_portc, W
	MOVWF CompTempVar2230
	CLRF gbl_FCV_VEGALAS
	MOVLW 0x04
	SUBWF CompTempVar2230, W
	BTFSC STATUS,Z
	INCF gbl_FCV_VEGALAS, F
	CLRF CompTempVar2229
	MOVLW 0x1A
	SUBWF gbl_FCV_SZENZOR, W
	MOVF gbl_FCV_SZENZOR+D'1', W
	BTFSC STATUS,C
	GOTO	label26
	BTFSC STATUS,Z
	GOTO	label27
label26
	BTFSC gbl_FCV_SZENZOR+D'1',7
label27
	INCF CompTempVar2229, F
	CLRF CompTempVar2228
	DECF gbl_FCV_VEGALAS, W
	BTFSC STATUS,Z
	INCF CompTempVar2228, F
	MOVF CompTempVar2228, W
	ANDWF CompTempVar2229, W
	BTFSC STATUS,Z
	GOTO	label28
	MOVLW 0x01
	MOVWF gbl_FCV_IRANY
	CLRF gbl_FCV_MOTOR
	CALL FCM_kimene_00048
	MOVLW 0x01
	MOVWF gbl_FCV_MOTOR
	CALL FCM_kimene_00048
	MOVF gbl_FCV_VEGALAS, F
	BTFSS STATUS,Z
	GOTO	label25
	CLRF gbl_FCV_MOTOR
	MOVLW 0x01
	MOVWF gbl_FCV_M
	CLRF gbl_FCV_M+D'1'
	CALL FCM_kimene_00048
	GOTO	label25
label28
	CLRF CompTempVar2233
	MOVF gbl_FCV_SZENZOR, W
	SUBLW 0x1E
	MOVF gbl_FCV_SZENZOR+D'1', W
	BTFSC gbl_FCV_SZENZOR+D'1',7
	GOTO	label29
	BTFSC STATUS,C
	BTFSS STATUS,Z
	INCF CompTempVar2233, F
label29
	CLRF CompTempVar2232
	INCF CompTempVar2232, F
	MOVF gbl_FCV_VEGALAS, F
	BTFSS STATUS,Z
	BCF CompTempVar2232,0
	MOVF CompTempVar2232, W
	ANDWF CompTempVar2233, W
	BTFSC STATUS,Z
	GOTO	label30
	CLRF gbl_FCV_IRANY
	CALL FCM_kimene_00048
	MOVLW 0x01
	MOVWF gbl_FCV_MOTOR
	CALL FCM_kimene_00048
	DECF gbl_FCV_VEGALAS, W
	BTFSS STATUS,Z
	GOTO	label25
	CLRF gbl_FCV_MOTOR
	MOVLW 0x01
	MOVWF gbl_FCV_M
	CLRF gbl_FCV_M+D'1'
	CALL FCM_kimene_00048
	GOTO	label25
label30
	CLRF gbl_FCV_IRANY
	CLRF gbl_FCV_MOTOR
	CALL FCM_kimene_00048
	MOVLW 0x01
	MOVWF gbl_FCV_M
	CLRF gbl_FCV_M+D'1'
	GOTO	label25
label31
	CLRF gbl_FCV_MOTOR
	CLRF gbl_FCV_IRANY
	CALL FCM_kimene_00048
	GOTO	label25
label32
	MOVLW 0x01
	MOVWF gbl_FCV_SLEEP
	GOTO	label15
; } main function end

	ORG 0x000001C7
_startup
	MOVLW 0xD5
	BCF STATUS, RP0
	MOVWF gbl_16_LSR
	MOVLW 0xC4
	MOVWF gbl_16_LSR+D'1'
	MOVLW 0xBB
	MOVWF gbl_16_LSR+D'2'
	MOVLW 0xDC
	MOVWF gbl_16_LSR+D'3'
	CLRF gbl_17_gbl_aSig
	CLRF gbl_17_gbl_aSig+D'1'
	CLRF gbl_17_gbl_aSig+D'2'
	CLRF gbl_17_gbl_aSig+D'3'
	CLRF gbl_17_gbl_bSig
	CLRF gbl_17_gbl_bSig+D'1'
	CLRF gbl_17_gbl_bSig+D'2'
	CLRF gbl_17_gbl_bSig+D'3'
	CLRF gbl_17_gbl_zSig
	CLRF gbl_17_gbl_zSig+D'1'
	CLRF gbl_17_gbl_zSig+D'2'
	CLRF gbl_17_gbl_zSig+D'3'
	CLRF gbl_17_gbl_aExp
	CLRF gbl_17_gbl_bExp
	CLRF gbl_17_gbl_zExp
	CLRF gbl_17_gbl_zExp+D'1'
	CLRF gbl_17_gbl_aSign
	CLRF gbl_17_gbl_bSign
	CLRF gbl_17_gbl_zSign
	CLRF gbl_17_gbl_zSigZero
	CLRF gbl_17_gbl_ret
	CLRF gbl_17_gbl_ret+D'1'
	CLRF gbl_17_gbl_ret+D'2'
	CLRF gbl_17_gbl_ret+D'3'
	CLRF gbl_float_rounding_mode
	CLRF gbl_float_exception_flags
	CLRF gbl_float_detect_tininess
	BCF PCLATH,3
	BCF PCLATH,4
	GOTO	main
	ORG 0x000001EE
interrupt
; { interrupt ; function begin
	BCF STATUS, RP0
	BTFSS gbl_intcon,2
	GOTO	label34
	BTFSS gbl_intcon,5
	GOTO	label34
	CALL FCM_1khz_00000
	BCF gbl_intcon,2
label34
	BTFSS gbl_pir1,0
	GOTO	label35
	BSF STATUS, RP0
	BTFSS gbl_pie1,0
	GOTO	label35
	CALL FCM_timer1_00000
	BCF STATUS, RP0
	BCF gbl_pir1,0
label35
	BCF STATUS, RP0
	BTFSS gbl_intcon,1
	GOTO	label36
	BTFSS gbl_intcon,4
	GOTO	label36
	CALL FCM_int_00000
	BCF gbl_intcon,1
label36
	SWAPF Int1BContext+D'2', W
	MOVWF FSR
	SWAPF Int1BContext+D'1', W
	MOVWF PCLATH
	SWAPF Int1BContext, W
	MOVWF STATUS
	SWAPF Int1Context, F
	SWAPF Int1Context, W
	RETFIE
; } interrupt function end

	ORG 0x00002007
	DW 0x3FB4
	END
