;--------------------------------------------------------
; File Created by ChiponCC : aolisn inc.
; Version 3.0.4#6752 (Mar  1 2016 15:13:08) (MSVC)
; This file was generated Tue May 03 10:33:10 2016
;--------------------------------------------------------
; chipon port for the 16-bit core
;--------------------------------------------------------
;	.file	"../kf8s_touch_w_lib.c"
	.radix dec
	.include "KF8S1011.inc"
;--------------------------------------------------------
; external declarations
;--------------------------------------------------------
	.extern	_init_mcu
	.extern	__R2PCL
	.extern	_TOUCH_DEBUG_TRS_DEAL
	.extern	_TOUCH_DEBUG_SEND_OUT
	.extern	_delay_ms
	.extern	_delay_us
	.extern	_PSW_bits
	.extern	_P0_bits
	.extern	_P2_bits
	.extern	_P1_bits
	.extern	_P3_bits
	.extern	_P4_bits
	.extern	_INTCTL_bits
	.extern	_EIF1_bits
	.extern	_EIF2_bits
	.extern	_T1CTL_bits
	.extern	_PWMCTL_bits
	.extern	_CMCTL1_bits
	.extern	_ANSEH_bits
	.extern	_ADCCTL0_bits
	.extern	_OPTR_bits
	.extern	_TR0_bits
	.extern	_TR2_bits
	.extern	_TR1_bits
	.extern	_TR3_bits
	.extern	_TR4_bits
	.extern	_EIE1_bits
	.extern	_EIE2_bits
	.extern	_PCTL_bits
	.extern	_OSCCTL_bits
	.extern	_ANSEL_bits
	.extern	_PUR_bits
	.extern	_IOCL_bits
	.extern	_ADCCTL1_bits
	.extern	_T3L_bits
	.extern	_CTCTL_bits
	.extern	_RSCTL_bits
	.extern	_OSCLDOCAL_bits
	.extern	_BRCTL_bits
	.extern	_TSCTL_bits
	.extern	_EUBRGL_bits
	.extern	_EUBRGH_bits
	.extern	_sentbuf1
	.extern	_sentbuf2
	.extern	_sentbuf3
	.extern	_sentbuf4
	.extern	__KF8_LIBi_channel_flag_
	.extern	__KF8_LIBc_channel_
	.extern	__KF8_LIBc_channel_Buf
	.extern	__KF8_LIBi_Date_Change_
	.extern	__KF8_LIBc_baseline_count_
	.extern	__KF8_LIBi_buff_hit_
	.extern	__KF8_LIBi_buff_baseline_
	.extern	__KF8_LIBc_touch_count_
	.extern	_CHS_AMOUNT
	.extern	_TCS_AMOUNT
	.extern	__KF8_Disturb_Protect_Circle_
	.extern	__KF8_DoubleKey_Compages_Limitable_Circle_
	.extern	__KF8_Key_Max_Pressed_Limitable_Circle_
	.extern	__KF8_BaseLine_Update_Circle_Count_For_UP_
	.extern	__KF8_BaseLine_Update_Circle_Count_For_Down_
	.extern	__KF8_Define_Disturb_Channels_Amount_
	.extern	__KF8_BasicLine_UP_Noise_Threshold_
	.extern	__KF8_BasicLine_Down_Noise_Threshold_
	.extern	__KF8_Data_Steady_Threshold_Set_
	.extern	__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_
	.extern	__KF8_Inside_Reference_Channel_Declare_
	.extern	__KF8_Config_Finger_Threshold
	.extern	__KF8_CONFIG_FINGER_THRESHOLD_IN_WATER_
	.extern	_Double_Key_SET_EN_1
	.extern	_Double_Key_SET_EN_2
	.extern	_Double_Key_SET_EN_3
	.extern	__KF8_TOUCH_CH_EN
	.extern	_T0
	.extern	_PCL
	.extern	_PSW
	.extern	_P0
	.extern	_P2
	.extern	_P1
	.extern	_P3
	.extern	_P4
	.extern	_PCH
	.extern	_INTCTL
	.extern	_EIF1
	.extern	_EIF2
	.extern	_T1L
	.extern	_T1H
	.extern	_T1CTL
	.extern	_PWMCTL
	.extern	_CMCTL1
	.extern	_VRECAL
	.extern	_ANSEH
	.extern	_ADCDATAH
	.extern	_ADCCTL0
	.extern	_OPTR
	.extern	_TR0
	.extern	_TR2
	.extern	_TR1
	.extern	_TR3
	.extern	_TR4
	.extern	_EIE1
	.extern	_EIE2
	.extern	_PCTL
	.extern	_OSCCTL
	.extern	_OSCCAL0
	.extern	_ANSEL
	.extern	_PUR
	.extern	_IOCL
	.extern	_OSCCAL1
	.extern	_BADDRH
	.extern	_BADDRL
	.extern	_EECTL1
	.extern	_EECTL2
	.extern	_ADCDATAL
	.extern	_ADCCTL1
	.extern	_T3L
	.extern	_CTCTL
	.extern	_RSCTL
	.extern	_TXSDR
	.extern	_RXSDR
	.extern	_OSCLDOCAL
	.extern	_T1U
	.extern	_BRCTL
	.extern	_TSCTL
	.extern	_EUBRGL
	.extern	_EUBRGH

	.extern STK12
	.extern STK11
	.extern STK10
	.extern STK09
	.extern STK08
	.extern STK07
	.extern STK06
	.extern STK05
	.extern STK04
	.extern STK03
	.extern STK02
	.extern STK01
	.extern STK00
;--------------------------------------------------------
; global declarations
;--------------------------------------------------------
	.global	__KF8S_Get_Ver_Waterproof_
	.global	__KF8S_Touch_TEST_Waterproof_
	.global	__KF8S_Touch_Process_Waterproof_
	.global	__KF8S_Init_Touch_Waterproof_
	.global	__KF8S_Lib_Set_Waterproof_Parameter
	.global	__KF8_lib_Wave_Protect_Time_Count_S_W_
	.global	__KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	.global	__KF8_lib_Key_Double_Timer_Protect_S_W_
	.global	__KF8_Work_Delay_Count_For_Flag_S_W_
	.global	__KF8_Touch_Sys_Work_Standing_Flag_S_W_
	.global	__KF8_lib_Key_Down_Count_S_W_
	.global	__KF8_LIBc_finger_OUT_First_S_W_
	.global	__KF8_LIBc_finger_OUT_Second_S_W_
	.global	__KF8_LIBc_finger_OUT_First_MAX_S_W_
	.global	__KF8_LIBc_finger_OUT_Second_MAX_S_W_
	.global	__KF8_lib_Finded_MAX_I_S_W_
	.global	__KF8_lib_Finded_MAX_J_S_W_
	.global	__KF8_lib_Finded_MAX_I_Buf_S_W_
	.global	__KF8_lib_Finded_MAX_J_Buf_S_W_
	.global	__KF8_lib_Finded_MAX_COUNT_S_W_
	.global	__KF8_lib_CH_No_WA_Change_Flag_S_W_
	.global	__KF8_lib_CH_DW_Change_Count_S_W_
	.global	__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	.global	__KF8_lib_CH_DW_Change_Flag_S_W_
	.global	__KF8_lib_CH_UP_Change_Count_S_W_
	.global	__KF8_lib_CH_UP_Change_Dealed_Flag_S_W_
	.global	__KF8_lib_CH_UP_Change_Flag_S_W_
	.global	__KF8_lib_bahualvtemportemp_S_W_
	.global	__KF8_lib_Date_Uchar_Temp_S_W_
	.global	_change_buf_KF8_Lib_S_W_
	.global	_result_temp_KF8_Lib_S_W_
	.global	_i_KF8_lib_S_W_
	.global	_Addr_Copy_Char_KF8_Lib_S_W_
	.global	_Addr_Copy_Int_KF8_Lib_S_W_
	.global	__KF8_LIBi_Touch_New_Date_S_W_
	.global	__KF8_Temp_Cur_A_S_W_
	.global	__KF8_Temp_Cur_B_S_W_
	.global	__KF8_LIBt_buff_bit_S_W_

;--------------------------------------------------------
; global definitions
;--------------------------------------------------------
UD_kf8s_touch_w_lib_0	.udata
__KF8_lib_Wave_Protect_Time_Count_S_W_	.res	2

UD_kf8s_touch_w_lib_1	.udata
__KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_	.res	2

UD_kf8s_touch_w_lib_2	.udata
__KF8_lib_Key_Double_Timer_Protect_S_W_	.res	2

UD_kf8s_touch_w_lib_3	.udata
__KF8_lib_Touch_Bits_	.res	1

UD_kf8s_touch_w_lib_4	.udata
__KF8_Work_Delay_Count_For_Flag_S_W_	.res	1

UD_kf8s_touch_w_lib_5	.udata
__KF8_Touch_Sys_Work_Standing_Flag_S_W_	.res	1

UD_kf8s_touch_w_lib_6	.udata
__KF8_lib_Key_Down_Count_S_W_	.res	1

UD_kf8s_touch_w_lib_7	.udata
__KF8_LIBc_finger_OUT_First_S_W_	.res	1

UD_kf8s_touch_w_lib_8	.udata
__KF8_LIBc_finger_OUT_Second_S_W_	.res	1

UD_kf8s_touch_w_lib_9	.udata
__KF8_LIBc_finger_OUT_First_MAX_S_W_	.res	2

UD_kf8s_touch_w_lib_10	.udata
__KF8_LIBc_finger_OUT_Second_MAX_S_W_	.res	2

UD_kf8s_touch_w_lib_11	.udata
__KF8_lib_Finded_MAX_I_S_W_	.res	1

UD_kf8s_touch_w_lib_12	.udata
__KF8_lib_Finded_MAX_J_S_W_	.res	1

UD_kf8s_touch_w_lib_13	.udata
__KF8_lib_Finded_MAX_I_Buf_S_W_	.res	2

UD_kf8s_touch_w_lib_14	.udata
__KF8_lib_Finded_MAX_J_Buf_S_W_	.res	2

UD_kf8s_touch_w_lib_15	.udata
__KF8_lib_Finded_MAX_COUNT_S_W_	.res	1

UD_kf8s_touch_w_lib_16	.udata
__KF8_lib_CH_No_WA_Change_Flag_S_W_	.res	2

UD_kf8s_touch_w_lib_17	.udata
__KF8_lib_CH_DW_Change_Count_S_W_	.res	1

UD_kf8s_touch_w_lib_18	.udata
__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_	.res	2

UD_kf8s_touch_w_lib_19	.udata
__KF8_lib_CH_DW_Change_Flag_S_W_	.res	2

UD_kf8s_touch_w_lib_20	.udata
__KF8_lib_CH_UP_Change_Count_S_W_	.res	1

UD_kf8s_touch_w_lib_21	.udata
__KF8_lib_CH_UP_Change_Dealed_Flag_S_W_	.res	2

UD_kf8s_touch_w_lib_22	.udata
__KF8_lib_CH_UP_Change_Flag_S_W_	.res	2

UD_kf8s_touch_w_lib_23	.udata
__KF8_lib_bahualvtemportemp_S_W_	.res	2

UD_kf8s_touch_w_lib_24	.udata
__KF8_lib_Date_Uchar_Temp_S_W_	.res	1

UD_kf8s_touch_w_lib_25	.udata
_change_buf_KF8_Lib_S_W_	.res	2

UD_kf8s_touch_w_lib_26	.udata
_result_temp_KF8_Lib_S_W_	.res	2

UD_kf8s_touch_w_lib_27	.udata
_i_KF8_lib_S_W_	.res	1

UD_kf8s_touch_w_lib_28	.udata
_Addr_Copy_Char_KF8_Lib_S_W_	.res	1

UD_kf8s_touch_w_lib_29	.udata
_Addr_Copy_Int_KF8_Lib_S_W_	.res	1

UD_kf8s_touch_w_lib_30	.udata
__KF8_LIBi_Touch_New_Date_S_W_	.res	2

UD_kf8s_touch_w_lib_31	.udata
__KF8_Temp_Cur_A_S_W_	.res	2

UD_kf8s_touch_w_lib_32	.udata
__KF8_Temp_Cur_B_S_W_	.res	2

;--------------------------------------------------------
; absolute symbol definitions
;--------------------------------------------------------
;--------------------------------------------------------
; compiler-defined variables
;--------------------------------------------------------
UDL_kf8s_touch_w_lib_0	.udata
r0x1015	.res	1
;--------------------------------------------------------
; initialized data
;--------------------------------------------------------

ID_kf8s_touch_w_lib_0	.code
__KF8_LIBt_buff_bit_S_W_
	RRET R0, #0x01
	RRET R0, #0x00
	RRET R0, #0x02
	RRET R0, #0x00
	RRET R0, #0x04
	RRET R0, #0x00
	RRET R0, #0x08
	RRET R0, #0x00
	RRET R0, #0x10
	RRET R0, #0x00
	RRET R0, #0x20
	RRET R0, #0x00
	RRET R0, #0x40
	RRET R0, #0x00
	RRET R0, #0x80
	RRET R0, #0x00
	RRET R0, #0x00
	RRET R0, #0x01
	RRET R0, #0x00
	RRET R0, #0x02
	RRET R0, #0x00
	RRET R0, #0x04
	RRET R0, #0x00
	RRET R0, #0x08
	RRET R0, #0x00
	RRET R0, #0x10
	RRET R0, #0x00
	RRET R0, #0x20
	RRET R0, #0x00
	RRET R0, #0x40
	RRET R0, #0x00
	RRET R0, #0x80

;--------------------------------------------------------
; overlayable items in internal ram 
;--------------------------------------------------------
;	.udata_ovr


func.__KF8S_Get_Ver_Waterproof_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8S_Get_Ver_Waterproof_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8S_Get_Ver_Waterproof_	;Function start
; 2 exit points
;	op : RETURN
;	.line	4171; "../kf8s_touch_w_lib.c"	return Ver_S_W;
	MOV	R0,# 0x23
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8S_Get_Ver_Waterproof_



func.__KF8S_Touch_TEST_Waterproof_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8S_Touch_TEST_Waterproof_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8S_Touch_TEST_Waterproof_	;Function start
; 2 exit points
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV _Addr_Copy_Int_KF8_Lib_S_W_,R0
	
;	op : INLINEASM
	;;
	MOV R0,T1H
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV __KF8_LIBi_Touch_New_Date_S_W_+1,R0
	MOV R0,T1L
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0
	CLR PSW,0
	RRC __KF8_LIBi_Touch_New_Date_S_W_+1
	RRC __KF8_LIBi_Touch_New_Date_S_W_
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;偏移量
	ADD R0,# (__KF8_LIBi_buff_hit_ + 1)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	CLR PSW,0
	RRC R1
	ST [R0],R1
	DEC R0
	LD R1,[R0]
	RRC R1
	ST [R0],R1
	;;均取1/2后的求和作为结果
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	ADD __KF8_LIBi_Touch_New_Date_S_W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	JNB PSW,0
	INC R1
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	ADD R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	BANKSEL __KF8_LIBi_buff_hit_
	ST [R0],R1
	DEC R0
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_LIBi_buff_hit_
	ST [R0],R1
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	4013; "../kf8s_touch_w_lib.c"	if(!_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_Flag)
	BANKSEL	__KF8_lib_Touch_Bits_
	JNB	__KF8_lib_Touch_Bits_, 0
	JMP	_00057_DS_
;	op : INLINEASM
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_ ;;_KF8_LIBi_buff_hit_ low
	LD R1,[R0]
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_baseline_)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ low
	ST [R0],R1
	;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_ ;; _KF8_LIBi_buff_hit_ high
	LD R1,[R0]
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ high
	ST [R0],R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_ ;;偏移量
	ADD R0, #(__KF8_LIBc_touch_count_)
	MOV R1,#0X00
	BANKSEL __KF8_LIBc_touch_count_
	ST [R0],R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_ ;;偏移量
	ADD R0, #(__KF8_LIBc_baseline_count_)
	MOV R1,#0x00
	BANKSEL __KF8_LIBc_baseline_count_
	ST [R0],R1
	
;	op : IFX
;	.line	4062; "../kf8s_touch_w_lib.c"	if(_KF8_LIBc_channel_==0)
	MOV	R0,# 0x00
	BANKSEL	__KF8_LIBc_channel_
	ORL	R0, __KF8_LIBc_channel_
	JB	PSW, 2
	JMP	_00057_DS_
;	op : +
;	.line	4066; "../kf8s_touch_w_lib.c"	_KF8_lib_Date_Uchar_Temp_S_W_++;
	BANKSEL	__KF8_lib_Date_Uchar_Temp_S_W_
	INC	__KF8_lib_Date_Uchar_Temp_S_W_
;	op : >
;swapping arguments (AOP_TYPEs 1/3)
;unsigned compare: left >= lit(0x20=32), size=1
;	.line	4067; "../kf8s_touch_w_lib.c"	if(_KF8_lib_Date_Uchar_Temp_S_W_>31) //每扫描1圈记一次，n圈后进入工作状态
	MOV	R0,# 0x20
	BANKSEL	__KF8_lib_Date_Uchar_Temp_S_W_
	SUB	R0, __KF8_lib_Date_Uchar_Temp_S_W_
;comparing bytes at offset 0
	JB	PSW, 0
	JMP	_00057_DS_
;	op : =
;	.line	4069; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_Flag=1;  //进入工作状态
	BANKSEL	__KF8_lib_Touch_Bits_
	SET	__KF8_lib_Touch_Bits_, 0
;	op : LABEL
;	op : INLINEASM
_00057_DS_
	MOV R1,# high (_CHS_AMOUNT+0)
	MOV R0,# low (_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBc_channel_
	INC __KF8_LIBc_channel_
	XOR R0,__KF8_LIBc_channel_
	JNB PSW,2
	CLR __KF8_LIBc_channel_
	
;	op : INLINEASM
	BANKSEL _CTCTL
	JNB _CTCTL,4
	JMP USE_T3L_COUNT_FLAG1
	CLR _T1L
	CLR _T1H
	CLR _T1IF
	JMP START_CT_DO1
USE_T3L_COUNT_FLAG1:
	CLR _T3L
START_CT_DO1:
	CLR _PSW,0
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_
	ADD R0, # low (__KF8_TOUCH_CH_EN+0)
	MOV R1, # high (__KF8_TOUCH_CH_EN+0)
	JNB _PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	MOV R1,#0xF0
	BANKSEL _CTCTL
	AND _CTCTL,R1 ;
	ORL _CTCTL,R0
	MOV R0,#0x01
	DECJZ R0
	JMP $-1
	SET _CTCTL,6 ;
	NOP
	JB _CTCTL,6
	JMP $-3
START_CT_END_DO1:
	BANKSEL _CTCTL
	JNB _CTCTL,4
	CLR _T1U
	SET _EIE1,7 ;
	CLR _EIF1,7 ;
	
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8S_Touch_TEST_Waterproof_



func.__KF8S_Touch_Process_Waterproof_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8S_Touch_Process_Waterproof_	;Function start
; 2 exit points
;has an exit
;functions called:
;   __KF8_LIBf_scan_channel_
;   __KF8_LiBf_KEY_Deal_AND_BaseLine_Up
;   __KF8_LIBf_scan_channel_
;   __KF8_LiBf_KEY_Deal_AND_BaseLine_Up
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8S_Touch_Process_Waterproof_	;Function start
; 2 exit points
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV _Addr_Copy_Int_KF8_Lib_S_W_,R0
	
;	op : INLINEASM
	BANKSEL _CTCTL
	JB _CTCTL,4
	JMP USE_T1_DATE_IN
USE_T13_DATE_IN:
	MOV R1,T1U
	BANKSEL __KF8_lib_Touch_Bits_
	JNB __KF8_lib_Touch_Bits_,3 ;
	JMP USE_16bit_END
	CLR PSW,0
	RRC R1
USE_16bit_END:
	MOV R0,T3L
	JMP DATE_READ_IN_VAR
USE_T1_DATE_IN:
	MOV R1,T1H
	MOV R0,T1L
DATE_READ_IN_VAR:
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV __KF8_LIBi_Touch_New_Date_S_W_+1,R1
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0
	
;	op : INLINEASM
	;;---------------------------------
	;;==
	MOV R0,#(2)
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	ADD __KF8_LIBi_Touch_New_Date_S_W_,R0
	JNB PSW,0
	INC __KF8_LIBi_Touch_New_Date_S_W_+1
	;;==;
	MOV R0,#2
	INC R0
	JMP IIR_Deal_NEXT_1
IIR_Deal_DO_1:
	CLR PSW,0
	RRC __KF8_LIBi_Touch_New_Date_S_W_+1
	RRC __KF8_LIBi_Touch_New_Date_S_W_
IIR_Deal_NEXT_1:
	DECJZ R0
	JMP IIR_Deal_DO_1
	;;-----------------------------------
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0, _Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_hit_+0)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_+1,R1 ;
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV R0,__KF8_Temp_Cur_A_S_W_
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV __KF8_Temp_Cur_B_S_W_,R0
	MOV __KF8_Temp_Cur_B_S_W_+1,R1 ;
	;;==
	MOV R0,#(2)
	BANKSEL __KF8_Temp_Cur_B_S_W_
	ADD __KF8_Temp_Cur_B_S_W_,R0
	JNB PSW,0
	INC __KF8_Temp_Cur_B_S_W_+1
	;;==;
	MOV R0,#2
	INC R0
	JMP IIR_Deal_NEXT_2
IIR_Deal_DO_2:
	CLR PSW,0
	RRC __KF8_Temp_Cur_B_S_W_+1
	RRC __KF8_Temp_Cur_B_S_W_
IIR_Deal_NEXT_2:
	DECJZ R0
	JMP IIR_Deal_DO_2 ;
	MOV R0,__KF8_Temp_Cur_B_S_W_
	MOV R1,__KF8_Temp_Cur_B_S_W_+1
	BANKSEL __KF8_Temp_Cur_A_S_W_
	SUB __KF8_Temp_Cur_A_S_W_,R0
	JB PSW,0
	DEC __KF8_Temp_Cur_A_S_W_+1
	SUB __KF8_Temp_Cur_A_S_W_+1,R1
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_Temp_Cur_A_S_W_
	ADD __KF8_Temp_Cur_A_S_W_,R0
	JNB PSW,0
	INC R1
	ADD __KF8_Temp_Cur_A_S_W_+1,R1 ;
	MOV R1,__KF8_Temp_Cur_A_S_W_
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0, _Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_hit_+0)
	BANKSEL __KF8_LIBi_buff_hit_
	ST[R0],R1
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV R1,__KF8_Temp_Cur_A_S_W_+1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	ST[R0],R1
	;;-----------------------------------
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	3759; "../kf8s_touch_w_lib.c"	if(!_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_Flag)
	BANKSEL	__KF8_lib_Touch_Bits_
	JNB	__KF8_lib_Touch_Bits_, 0
	JMP	_00045_DS_
;	op : INLINEASM
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_ ;;_KF8_LIBi_buff_hit_ low
	LD R1,[R0]
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_baseline_)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ low
	ST [R0],R1
	;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_ ;; _KF8_LIBi_buff_hit_ high
	LD R1,[R0]
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ high
	ST [R0],R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_ ;;偏移量
	ADD R0, #(__KF8_LIBc_touch_count_)
	MOV R1,#0X00
	BANKSEL __KF8_LIBc_touch_count_
	ST [R0],R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_ ;;偏移量
	ADD R0, #(__KF8_LIBc_baseline_count_)
	MOV R1,#0x00
	BANKSEL __KF8_LIBc_baseline_count_
	ST [R0],R1
	
;	op : IFX
;	.line	3807; "../kf8s_touch_w_lib.c"	if(_KF8_LIBc_channel_==0)
	MOV	R0,# 0x00
	BANKSEL	__KF8_LIBc_channel_
	ORL	R0, __KF8_LIBc_channel_
	JB	PSW, 2
	JMP	_00046_DS_
;	op : INLINEASM
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	INC __KF8_lib_Date_Uchar_Temp_S_W_
	MOV R0, #0X40
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R0, __KF8_lib_Date_Uchar_Temp_S_W_
	JB PSW, 0
	JMP label_over
	BANKSEL __KF8_lib_Touch_Bits_
	SET __KF8_lib_Touch_Bits_, 0
label_over:
	
;	op : GOTO
	JMP	_00046_DS_
;	op : LABEL
;	op : INLINEASM
_00045_DS_
	BANKSEL __KF8_Work_Delay_Count_For_Flag_S_W_
	INC __KF8_Work_Delay_Count_For_Flag_S_W_
	MOV R0,#0X01
	BANKSEL __KF8_Touch_Sys_Work_Standing_Flag_S_W_
	JB PSW,2 ;;255+1的溢出后
	MOV __KF8_Touch_Sys_Work_Standing_Flag_S_W_,R0
	
;	op : CALL
;	.line	3849; "../kf8s_touch_w_lib.c"	_KF8_LIBf_scan_channel_(); //扫描AD通道,计算变化率，做变化统计
	PAGESEL	__KF8_LIBf_scan_channel_
	CALL	__KF8_LIBf_scan_channel_
	PAGESEL	$
;	op : IFX
;	.line	3851; "../kf8s_touch_w_lib.c"	if(_KF8_LIBc_channel_==0)
	MOV	R0,# 0x00
	BANKSEL	__KF8_LIBc_channel_
	ORL	R0, __KF8_LIBc_channel_
	JB	PSW, 2
	JMP	_00046_DS_
;	op : CALL
;	.line	3853; "../kf8s_touch_w_lib.c"	_KF8_LiBf_KEY_Deal_AND_BaseLine_Up();
	PAGESEL	__KF8_LiBf_KEY_Deal_AND_BaseLine_Up
	CALL	__KF8_LiBf_KEY_Deal_AND_BaseLine_Up
	PAGESEL	$
;	op : LABEL
;	op : INLINEASM
_00046_DS_
	MOV R1,# high (_CHS_AMOUNT+0)
	MOV R0,# low (_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBc_channel_
	INC __KF8_LIBc_channel_
	XOR R0,__KF8_LIBc_channel_
	JNB PSW,2
	CLR __KF8_LIBc_channel_
	
;	op : INLINEASM
	BANKSEL _CTCTL
	JNB _CTCTL,4
	JMP USE_T3L_COUNT_FLAG
	CLR _T1L
	CLR _T1H
	CLR _T1IF
	JMP START_CT_DO
USE_T3L_COUNT_FLAG:
	CLR _T3L
START_CT_DO:
	CLR _PSW,0
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_
	ADD R0, # low (__KF8_TOUCH_CH_EN+0)
	MOV R1, # high (__KF8_TOUCH_CH_EN+0)
	JNB _PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	MOV R1,#0xF0
	BANKSEL _CTCTL
	AND _CTCTL,R1 ;
	ORL _CTCTL,R0
	MOV R0,#0x01
	DECJZ R0
	JMP $-1
	SET _CTCTL,6 ;
	NOP
	JB _CTCTL,6
	JMP $-3
START_CT_END_DO:
	BANKSEL _CTCTL
	JNB _CTCTL,4
	CLR _T1U
	SET _EIE1,7 ;
	CLR _EIF1,7 ;
	
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8S_Touch_Process_Waterproof_



func.__KF8_LIBf_scan_channel_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8_LIBf_scan_channel_	;Function start
; 2 exit points
;has an exit
;functions called:
;   __KF8_lib_Baihualv_get_
;   __KF8_lib_Baihualv_get_
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8_LIBf_scan_channel_	;Function start
; 2 exit points
;	op : INLINEASM
	CLR PSW,0
	BANKSEL __KF8_LIBc_channel_
	RLCR __KF8_LIBc_channel_
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV _Addr_Copy_Int_KF8_Lib_S_W_,R0
	
;	op : INLINEASM
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,#0x01
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0
	CLR (__KF8_LIBi_Touch_New_Date_S_W_+1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	INC R0
	PAGESEL RLCSel
	JMP RLCSel
RLCDeal:
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	CLR PSW,0
	RLC __KF8_LIBi_Touch_New_Date_S_W_
	RLC (__KF8_LIBi_Touch_New_Date_S_W_+1)
RLCSel:
	PAGESEL RLCDeal
	DECJZ R0
	JMP RLCDeal
	
;	op : INLINEASM
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R1,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R1,#(__KF8_LIBi_buff_hit_+0)
	;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_buff_hit_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_, R0
	;;;;;;;;;;;;;;;
	INC R1
	BANKSEL __KF8_LIBi_buff_hit_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV (__KF8_Temp_Cur_A_S_W_+1), R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R1,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R1,#(__KF8_LIBi_buff_baseline_+0)
	;;;;
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV __KF8_Temp_Cur_B_S_W_, R0
	;;;;
	INC R1
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R0,[R1]
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV (__KF8_Temp_Cur_B_S_W_+1), R0
	
;	op : CALL
;	.line	2771; "../kf8s_touch_w_lib.c"	_KF8_lib_Baihualv_get_();
	PAGESEL	__KF8_lib_Baihualv_get_
	CALL	__KF8_lib_Baihualv_get_
	PAGESEL	$
;	op : INLINEASM
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	PAGESEL lable_06271109
	JB (__KF8_lib_bahualvtemportemp_S_W_ + 1),7 ;
	JMP lable_06271109 ;
	;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,#low(__KF8_BasicLine_UP_Noise_Threshold_)
	MOV R1,#high(__KF8_BasicLine_UP_Noise_Threshold_)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R0,__KF8_lib_bahualvtemportemp_S_W_
	PAGESEL lable_06271109
	JNB PSW, 0 ;;
	JMP lable_06271109 ;
	BANKSEL __KF8_lib_CH_UP_Change_Count_S_W_
	INC __KF8_lib_CH_UP_Change_Count_S_W_
lable_06271109:
	
;	op : INLINEASM
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	PAGESEL lable_06261552
	JNB (__KF8_lib_bahualvtemportemp_S_W_ + 1),7 ;
	JMP lable_06261552 ;
	;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,#low(__KF8_BasicLine_Down_Noise_Threshold_)
	MOV R1,#high(__KF8_BasicLine_Down_Noise_Threshold_)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R0,__KF8_lib_bahualvtemportemp_S_W_
	PAGESEL lable_06261552
	JB PSW, 0 ;;
	JMP lable_06261552 ;
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	MOV R0,__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	MOV R1,(__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_+1)
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	AND R0 ,__KF8_LIBi_Touch_New_Date_S_W_
	AND R1,(__KF8_LIBi_Touch_New_Date_S_W_+1)
	ORL R0,R1
	PAGESEL lable_06261552
	JB PSW,2
	JMP lable_06261552
	;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R0,__KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R1,(__KF8_lib_CH_DW_Change_Flag_S_W_+1)
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	AND R0 ,__KF8_LIBi_Touch_New_Date_S_W_
	AND R1,(__KF8_LIBi_Touch_New_Date_S_W_+1)
	ORL R0,R1
	PAGESEL lable_06261552
	JB PSW,2
	JMP lable_06261552
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_CH_DW_Change_Count_S_W_
	INC __KF8_lib_CH_DW_Change_Count_S_W_
lable_06261552:
	
;	op : INLINEASM
	;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R0,__KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_+1
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV _change_buf_KF8_Lib_S_W_,R0
	MOV _change_buf_KF8_Lib_S_W_+1,R1
	;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0, _Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL _change_buf_KF8_Lib_S_W_
	SUB _change_buf_KF8_Lib_S_W_,R1
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	JB PSW,0
	INC R1
	BANKSEL _change_buf_KF8_Lib_S_W_
	SUB _change_buf_KF8_Lib_S_W_+1,R1
	;;
	PAGESEL _KF8_LIBf_scan_channel_DS_0003
	JB _change_buf_KF8_Lib_S_W_+1,7
	JMP _KF8_LIBf_scan_channel_DS_0003
	CPL _change_buf_KF8_Lib_S_W_
	CPL _change_buf_KF8_Lib_S_W_+1
	INC _change_buf_KF8_Lib_S_W_
	JNB PSW,2
	INC _change_buf_KF8_Lib_S_W_+1
	;;
_KF8_LIBf_scan_channel_DS_0003:
	MOV R1,#High(__KF8_Data_Steady_Threshold_Set_+0)
	MOV R0,#Low(__KF8_Data_Steady_Threshold_Set_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;
	MOV R1,_change_buf_KF8_Lib_S_W_+1
	XOR R1,#0x00
	PAGESEL _KF8_LIBf_scan_channel_DS_0004
	JB PSW,2 ;;
	JMP _KF8_LIBf_scan_channel_DS_0004 ;
	SUB R0,_change_buf_KF8_Lib_S_W_ ;;
	PAGESEL _KF8_LIBf_scan_channel_DS_0005
	JB PSW,0 ;;
	JMP _KF8_LIBf_scan_channel_DS_0005 ;
	;;
_KF8_LIBf_scan_channel_DS_0004:
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBc_baseline_count_+0)
	MOV R1,#0x00
	BANKSEL __KF8_LIBc_baseline_count_
	ST [R0],R1
_KF8_LIBf_scan_channel_DS_0005:
	
;	op : INLINEASM
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_
	BANKSEL __KF8_LIBi_Date_Change_
	ST [R0],R1
	INC R0
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_+1
	BANKSEL __KF8_LIBi_Date_Change_
	ST [R0],R1
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	2957; "../kf8s_touch_w_lib.c"	if(!_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Protect_Flag)
	BANKSEL	__KF8_lib_Touch_Bits_
	JNB	__KF8_lib_Touch_Bits_, 1
	JMP	_00037_DS_
;	op : INLINEASM
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R0,__KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R1,__KF8_lib_CH_DW_Change_Flag_S_W_+1
	;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	AND R0,__KF8_LIBi_Touch_New_Date_S_W_
	AND R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	ORL R1,R0
	PAGESEL lable_06290931
	JNB PSW,2
	JMP lable_06290931
	;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,#low(__KF8_CONFIG_FINGER_THRESHOLD_IN_WATER_+0)
	MOV R1,#high(__KF8_CONFIG_FINGER_THRESHOLD_IN_WATER_+0)
	PAGESEL lable_06290946
	JMP lable_06290946
	;;;;;;;;;;;;;;;;;;;;;;;;
lable_06290931:
	MOV R0,#low(__KF8_Config_Finger_Threshold+0)
	MOV R1,#high(__KF8_Config_Finger_Threshold+0)
	;;;;;;;;;;;;;;;;;;;;;;
lable_06290946:
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0, _Addr_Copy_Int_KF8_Lib_S_W_
	JNB PSW,0
	INC R1
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV __KF8_lib_bahualvtemportemp_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	INCR __KF8_lib_Date_Uchar_Temp_S_W_
	;;;;;;;;;;;;;;;;;
	JNB PSW,2
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV __KF8_lib_bahualvtemportemp_S_W_+1,R0
	
;	op : INLINEASM
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	PAGESEL lable_06291011
	JNB R1,7
	JMP lable_06291011
	;;;;;;;;;;;;;;;;;;;;
	DEC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R1,__KF8_lib_bahualvtemportemp_S_W_
	;;;;;
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	JB PSW,0
	INC R1
	;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R1,__KF8_lib_bahualvtemportemp_S_W_+1
	PAGESEL lable_06291011
	JNB PSW,0 ;;
	JMP lable_06291011
	;;;
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV _change_buf_KF8_Lib_S_W_+1,R1
	DEC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV _change_buf_KF8_Lib_S_W_,R1
	;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_
	BANKSEL _change_buf_KF8_Lib_S_W_
	SUB _change_buf_KF8_Lib_S_W_,R1
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_+1
	JB PSW,0
	INC R1
	BANKSEL _change_buf_KF8_Lib_S_W_
	SUB _change_buf_KF8_Lib_S_W_+1,R1
	;;;;;;;;;;;;;;;;;;;;;;;;;
	CLR R0
	BANKSEL __KF8_lib_Finded_MAX_COUNT_S_W_
	XOR R0,__KF8_lib_Finded_MAX_COUNT_S_W_
	PAGESEL lable_06291022
	JB PSW,2
	JMP lable_06291022
	;;; ;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV __KF8_lib_Finded_MAX_I_S_W_,R0
	;;;
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV R0,_change_buf_KF8_Lib_S_W_
	MOV R1,_change_buf_KF8_Lib_S_W_+1
	BANKSEL __KF8_lib_Finded_MAX_I_Buf_S_W_
	MOV __KF8_lib_Finded_MAX_I_Buf_S_W_,R0
	MOV __KF8_lib_Finded_MAX_I_Buf_S_W_+1,R1
	;;;
	MOV R0,#0x01
	BANKSEL __KF8_lib_Finded_MAX_COUNT_S_W_
	MOV __KF8_lib_Finded_MAX_COUNT_S_W_,R0
	PAGESEL lable_06291011
	JMP lable_06291011
lable_06291022:
	; 3214 "../kf8s_touch_w_lib.c"
lable_06291042:
	;;;
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV R0,_change_buf_KF8_Lib_S_W_
	BANKSEL __KF8_lib_Finded_MAX_J_Buf_S_W_
	SUB R0,__KF8_lib_Finded_MAX_J_Buf_S_W_
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV R0,_change_buf_KF8_Lib_S_W_+1
	JB PSW,0
	INC R0
	BANKSEL __KF8_lib_Finded_MAX_J_Buf_S_W_
	SUB R0,__KF8_lib_Finded_MAX_J_Buf_S_W_+1
	PAGESEL lable_06291011
	JNB PSW,0 ;;
	JMP lable_06291011
	;;;;
	BANKSEL __KF8_lib_Finded_MAX_I_Buf_S_W_
	MOV R0,__KF8_lib_Finded_MAX_I_Buf_S_W_
	BANKSEL _change_buf_KF8_Lib_S_W_
	SUB R0,_change_buf_KF8_Lib_S_W_
	BANKSEL __KF8_lib_Finded_MAX_I_Buf_S_W_
	MOV R0,__KF8_lib_Finded_MAX_I_Buf_S_W_+1
	JB PSW,0
	INC R0
	BANKSEL _change_buf_KF8_Lib_S_W_
	SUB R0,_change_buf_KF8_Lib_S_W_+1
	PAGESEL lable_06291124
	JNB PSW,0 ;;
	JMP lable_06291124
	;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	BANKSEL __KF8_lib_Finded_MAX_J_S_W_
	MOV __KF8_lib_Finded_MAX_J_S_W_,R0
	;;;
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV R0,_change_buf_KF8_Lib_S_W_
	MOV R1,_change_buf_KF8_Lib_S_W_+1
	BANKSEL __KF8_lib_Finded_MAX_J_Buf_S_W_
	MOV __KF8_lib_Finded_MAX_J_Buf_S_W_,R0
	MOV __KF8_lib_Finded_MAX_J_Buf_S_W_+1,R1
	PAGESEL lable_06291011
	JMP lable_06291011
	;;;;
lable_06291124:
	;;;
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV R0,__KF8_lib_Finded_MAX_I_S_W_
	BANKSEL __KF8_lib_Finded_MAX_J_S_W_
	MOV __KF8_lib_Finded_MAX_J_S_W_,R0
	;;;
	BANKSEL __KF8_lib_Finded_MAX_I_Buf_S_W_
	MOV R0,__KF8_lib_Finded_MAX_I_Buf_S_W_
	MOV R1,__KF8_lib_Finded_MAX_I_Buf_S_W_+1
	BANKSEL __KF8_lib_Finded_MAX_J_Buf_S_W_
	MOV __KF8_lib_Finded_MAX_J_Buf_S_W_,R0
	MOV __KF8_lib_Finded_MAX_J_Buf_S_W_+1,R1
	;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV __KF8_lib_Finded_MAX_I_S_W_,R0
	;;;
	BANKSEL _change_buf_KF8_Lib_S_W_
	MOV R0,_change_buf_KF8_Lib_S_W_
	MOV R1,_change_buf_KF8_Lib_S_W_+1
	BANKSEL __KF8_lib_Finded_MAX_I_Buf_S_W_
	MOV __KF8_lib_Finded_MAX_I_Buf_S_W_,R0
	MOV __KF8_lib_Finded_MAX_I_Buf_S_W_+1,R1
lable_06291011:
	
;	op : INLINEASM
	;;
	MOV R1,#Low(6)
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB __KF8_lib_bahualvtemportemp_S_W_,R1
	JB PSW,0
	DEC __KF8_lib_bahualvtemportemp_S_W_+1
	
;	op : INLINEASM
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	PAGESEL _DS_UP_Key_Count_003
	JNB R1,7
	JMP _DS_UP_Key_Count_003
	DEC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R1,__KF8_lib_bahualvtemportemp_S_W_ ;
	PAGESEL _DS_UP_Key_Count_002
	JB PSW,0 ;
	JMP _DS_UP_Key_Count_002
_DS_UP_Key_Count_003:
	
;	op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	MOV R0,__KF8_LIBc_channel_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R1
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	INC R0
	SUB R0,__KF8_lib_Date_Uchar_Temp_S_W_ ;
	PAGESEL _DS_UP_Key_Count_001
	JB PSW,0
	JMP _DS_UP_Key_Count_001
	
;	op : INLINEASM
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	CLR PSW,0
	RLC R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	
;	op : INLINEASM
	BANKSEL __KF8_LIBc_channel_
	MOV R1, __KF8_LIBc_channel_
	ADD R1, #(__KF8_LIBc_touch_count_)
	BANKSEL __KF8_LIBc_touch_count_
	LD R0,[R1]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R0, __KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_010101
	JB PSW, 0
	JMP lable_010101
	BANKSEL __KF8_LIBc_touch_count_
	LD R0,[R1]
	INC R0
	ST [R1],R0
	PAGESEL lable_020202
	JMP lable_020202
lable_010101:
	BANKSEL __KF8_LIBc_touch_count_
	CLR R0
	ST [R1], R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R0, __KF8_LIBc_channel_
	ADD R0, #low (__KF8_TOUCH_CH_EN)
	MOV R1, #high (__KF8_TOUCH_CH_EN)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;;;;;;;;;;;;;;;
	CLR PSW,0
	RLC R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_ , R0
	;;;;;;;;;;;;;;;;;;;;
	ADD R0,#low(__KF8_LIBt_buff_bit_S_W_)
	MOV R1,#high(__KF8_LIBt_buff_bit_S_W_)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	CPL R0
	BANKSEL __KF8_LIBi_channel_flag_
	AND __KF8_LIBi_channel_flag_, R0
	;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV R0, __KF8_lib_Date_Uchar_Temp_S_W_
	INC R0
	ADD R0,#low(__KF8_LIBt_buff_bit_S_W_)
	MOV R1,#high(__KF8_LIBt_buff_bit_S_W_)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	CPL R0
	BANKSEL __KF8_LIBi_channel_flag_
	AND (__KF8_LIBi_channel_flag_+1), R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;;;;;;;
	MOV R0, #0X00
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	ORL R0, __KF8_lib_Key_Down_Count_S_W_
	JB PSW, 2
	DEC __KF8_lib_Key_Down_Count_S_W_
	;;;;;;;;;;;;;;;;;
	MOV R0,#0X00
	ORL R0, __KF8_lib_Key_Down_Count_S_W_
	PAGESEL lable_030303
	JNB PSW, 2
	JMP lable_030303
	;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV R0, __KF8_LIBc_finger_OUT_First_S_W_
	BANKSEL __KF8_LIBc_channel_
	XOR R0, __KF8_LIBc_channel_
	PAGESEL lable_050505
	JB PSW, 2
	JMP lable_050505
	;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV R0, __KF8_LIBc_finger_OUT_Second_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	XOR R0, __KF8_LIBc_finger_OUT_First_S_W_
	PAGESEL lable_040404
	JB PSW, 2
	JMP lable_040404
	MOV R0,#0XFF
	MOV __KF8_LIBc_finger_OUT_First_S_W_ , R0
	;;;;;;;;;;;;;;;;;
	MOV R0,#0X00
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	MOV __KF8_lib_Key_Down_Count_S_W_ ,R0
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_,R0
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_+1,R0
	;;;;;;;;;;;;;;;;;;
	PAGESEL lable_050505
	JMP lable_050505
	;;;;;;;;;
lable_040404:
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV R0, __KF8_LIBc_finger_OUT_Second_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV __KF8_LIBc_finger_OUT_First_S_W_ ,R0
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_MAX_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_Second_MAX_S_W_
	MOV R1,__KF8_LIBc_finger_OUT_Second_MAX_S_W_+1
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_,R0
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_+1,R1
	PAGESEL lable_050505
	JMP lable_050505
lable_030303:
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV R0, #0XFF
	MOV __KF8_LIBc_finger_OUT_First_S_W_, R0
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_First_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_First_MAX_S_W_+1
lable_050505:
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV R0,#0XFF
	MOV __KF8_LIBc_finger_OUT_Second_S_W_,R0
	MOV R0,#0X00
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	MOV __KF8_lib_Key_Double_Timer_Protect_S_W_, R0
	MOV (__KF8_lib_Key_Double_Timer_Protect_S_W_+1), R0
	BANKSEL __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	MOV __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_, R0
	MOV (__KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_+1), R0
	BANKSEL __KF8_LIBc_finger_OUT_Second_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_Second_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_Second_MAX_S_W_+1
lable_020202:
	
;	op : INLINEASM
_DS_UP_Key_Count_001:
	
;	op : INLINEASM
	PAGESEL _DS_UP_Key_Count_004
	JMP _DS_UP_Key_Count_004
_DS_UP_Key_Count_002:
;	op : INLINEASM
	MOV R1,# high (_TCS_AMOUNT+0)
	MOV R0,# low (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	INC R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	MOV R1,__KF8_LIBc_channel_
	ADD R1,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R0,[R1]
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL label_18_18_18
	JNB PSW,0 ;;
	JMP label_18_18_18
	BANKSEL __KF8_LIBc_touch_count_
	LD R0,[R1]
	DEC R0
	ST [R1],R0
label_18_18_18:
	
;	op : INLINEASM
_DS_UP_Key_Count_004:
	
;	op : LABEL
;	op : ENDFUNCTION
_00037_DS_
	CRET	
; exit point of __KF8_LIBf_scan_channel_



func.__KF8_LiBf_KEY_Deal_AND_BaseLine_Up	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8_LiBf_KEY_Deal_AND_BaseLine_Up	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8_LiBf_KEY_Deal_AND_BaseLine_Up	;Function start
; 2 exit points
;	op : INLINEASM
	MOV R0,#0x01
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0
	CLR __KF8_LIBi_Touch_New_Date_S_W_+1
	
;	op : INLINEASM
	BANKSEL _i_KF8_lib_S_W_
	CLR _i_KF8_lib_S_W_
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_Judge_:
	MOV R0,#low(_CHS_AMOUNT+0)
	MOV R1,#high(_CHS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL _i_KF8_lib_S_W_
	SUB R0,_i_KF8_lib_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_End_ ;;
	JNB PSW,0 ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_End_
	;PAGESEL $ ;;
	
;	op : INLINEASM
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_Start_:
	;;
	CLR PSW,0
	BANKSEL _i_KF8_lib_S_W_
	RLCR _i_KF8_lib_S_W_ ;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV _Addr_Copy_Int_KF8_Lib_S_W_,R0
	
;	op : IFX
;	.line	576; "../kf8s_touch_w_lib.c"	if(_KF8_Touch_Sys_Work_Standing_Flag_S_W_)
	MOV	R0,# 0x00
	BANKSEL	__KF8_Touch_Sys_Work_Standing_Flag_S_W_
	ORL	R0, __KF8_Touch_Sys_Work_Standing_Flag_S_W_
	JNB	PSW, 2
	JMP	_00025_DS_
;	op : INLINEASM
	MOV R0,#low(__KF8_Inside_Reference_Channel_Declare_+0)
	MOV R1,#high(__KF8_Inside_Reference_Channel_Declare_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;;;;;;;;
	MOV R1,#high(__KF8_TOUCH_CH_EN+0)
	MOV R0,#low(__KF8_TOUCH_CH_EN+0)
	BANKSEL _i_KF8_lib_S_W_
	ADD R0, _i_KF8_lib_S_W_
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_PW_PRO_DS_0001_
	JB PSW,2
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_PW_PRO_DS_0001_
	;;;
	;;;
	MOV R1,#High(__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_+0)
	MOV R0,#Low(__KF8_Inside_Reference_Channel_Disturb_Threshold_Set_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0 ;;;
	;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	DEC R0
	;;;
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0002_
	JB R1,7
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0002_
	LD R1,[R0]
	CPL R1
	INC R1
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0003_
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0003_
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0002_:
	LD R1,[R0]
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0003_:
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R1,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_PW_PRO_DS_0001_
	JNB PSW,0 ;;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_PW_PRO_DS_0001_
	;;;
	BANKSEL __KF8_lib_Touch_Bits_
	SET __KF8_lib_Touch_Bits_,1 ;;
	;;;
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	CLR __KF8_lib_Wave_Protect_Time_Count_S_W_
	CLR __KF8_lib_Wave_Protect_Time_Count_S_W_+1 ;;
	;;;
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_PW_PRO_DS_0001_:
	
;	op : INLINEASM
	MOV R1,#High(__KF8_Define_Disturb_Channels_Amount_+0)
	MOV R0,#Low(__KF8_Define_Disturb_Channels_Amount_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;;;;;
	BANKSEL __KF8_lib_CH_DW_Change_Count_S_W_
	MOV R1,__KF8_lib_CH_DW_Change_Count_S_W_
	BANKSEL __KF8_lib_CH_UP_Change_Count_S_W_
	ADD R1,__KF8_lib_CH_UP_Change_Count_S_W_
	;;;;;;;
	SUB R0,R1
	PAGESEL lable_06291651
	JB PSW,0
	JMP lable_06291651
	;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Touch_Bits_
	SET __KF8_lib_Touch_Bits_,1 ;;;
	;;
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	CLR __KF8_lib_Wave_Protect_Time_Count_S_W_
	CLR __KF8_lib_Wave_Protect_Time_Count_S_W_+1
	BANKSEL __KF8_lib_Touch_Bits_
	CLR __KF8_lib_Touch_Bits_,7 ;;
	PAGESEL lable_06291657
	JMP lable_06291657
lable_06291651:
	;;;
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R0, __KF8_lib_CH_DW_Change_Flag_S_W_
	ORL R0,__KF8_lib_CH_DW_Change_Flag_S_W_+1
	PAGESEL lable_06291657
	JB PSW,2
	JMP lable_06291657
	BANKSEL __KF8_lib_Touch_Bits_
	JB __KF8_lib_Touch_Bits_,1
	SET __KF8_lib_Touch_Bits_,7
lable_06291657:
	
;	op : LABEL
;	op : INLINEASM
_00025_DS_
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV __KF8_lib_bahualvtemportemp_S_W_, R1
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	PAGESEL lable_06291924
	JB R1,7
	JMP lable_06291924
	;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,#low(__KF8_BasicLine_UP_Noise_Threshold_)
	MOV R1,#high(__KF8_BasicLine_UP_Noise_Threshold_)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;;;;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R0,__KF8_lib_bahualvtemportemp_S_W_
	PAGESEL lable_06292025
	JNB PSW, 0
	JMP lable_06292025
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0, _i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_baseline_count_)
	BANKSEL __KF8_LIBc_baseline_count_
	LD R1, [R0]
	MOV R0, #(100)
	XOR R1, R0
	PAGESEL lable_06291941
	JB PSW ,2
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_ ;;_KF8_LIBi_buff_hit_ low
	LD R1,[R0]
	;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_baseline_)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ low
	ST [R0],R1
	;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_ ;; _KF8_LIBi_buff_hit_ high
	LD R1,[R0]
	;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_ ;;
	ADD R0, #(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ high
	ST [R0],R1
	;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	CPLR __KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	AND __KF8_lib_CH_DW_Change_Flag_S_W_, R0
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	CPLR (__KF8_LIBi_Touch_New_Date_S_W_+1)
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	AND (__KF8_lib_CH_DW_Change_Flag_S_W_+1), R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# low (_TCS_AMOUNT+0)
	MOV R1,# high (_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0, _i_KF8_lib_S_W_
	ADD R0,# (__KF8_LIBc_touch_count_ + 0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1, [R0]
	INC R1
	;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R1, __KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_06291941
	JB PSW, 0
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_touch_count_
	CLR R1
	ST [R0],R1
	JMP lable_06291941
	;;;;;;;;;;;;
lable_06291924:
	MOV R0,#low(__KF8_BasicLine_Down_Noise_Threshold_)
	MOV R1,#high(__KF8_BasicLine_Down_Noise_Threshold_)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;;;;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	SUB R0,__KF8_lib_bahualvtemportemp_S_W_
	PAGESEL lable_06292025
	JB PSW,0
	JMP lable_06292025
	;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Touch_Bits_
	PAGESEL lable_06300912
	JB __KF8_lib_Touch_Bits_, 1
	JMP lable_06300912
	;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_baseline_count_+0)
	BANKSEL __KF8_LIBc_baseline_count_
	LD R1,[R0]
	XOR R1,#Low(-20) ;;
	PAGESEL lable_06300936
	JNB PSW,2
	JMP lable_06300936
	;;;;;;;;;;;;;;;;;;;;;;
	MOV R1,#High(__KF8_Disturb_Protect_Circle_+0)
	MOV R0,#Low(__KF8_Disturb_Protect_Circle_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	XOR R0,__KF8_lib_Wave_Protect_Time_Count_S_W_
	PAGESEL lable_06300941
	JB PSW,2 ;;
	JMP lable_06300941
	;;
	MOV R1,#High(__KF8_Disturb_Protect_Circle_+1)
	MOV R0,#Low(__KF8_Disturb_Protect_Circle_+1)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	XOR R0,(__KF8_lib_Wave_Protect_Time_Count_S_W_+1)
	PAGESEL lable_06300941
	JB PSW,2 ;;
	JMP lable_06300941
	;;;;;;;;;;;;;;;;;;;;;;;;;
lable_06300936:
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	ORL __KF8_lib_CH_DW_Change_Flag_S_W_,R0
	ORL __KF8_lib_CH_DW_Change_Flag_S_W_+1,R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;
lable_06300941:
	;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	AND R1,__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_+1
	AND R0,__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	ORL R1,R0
	PAGESEL lable_06291941
	JB PSW,2
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;;;
	;;;;;;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	ORL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_,R0
	ORL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_+1,R1
	;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	CLR __KF8_lib_Wave_Protect_Time_Count_S_W_
	CLR __KF8_lib_Wave_Protect_Time_Count_S_W_+1
	;;;;;;;;;;;;;;;;;;;;;;;;;
	PAGESEL lable_06291941
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;
lable_06300912:
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R1,_i_KF8_lib_S_W_
	ADD R1,#(__KF8_LIBc_baseline_count_+0)
	BANKSEL __KF8_LIBc_baseline_count_
	LD R0,[R1]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;
	MOV R1,#High(__KF8_BaseLine_Update_Circle_Count_For_Down_+0)
	MOV R0,#Low(__KF8_BaseLine_Update_Circle_Count_For_Down_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_06301048
	JB PSW,2
	JMP lable_06301048
	;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R1,_i_KF8_lib_S_W_
	ADD R1,#(__KF8_LIBc_baseline_count_+0)
	BANKSEL __KF8_LIBc_baseline_count_
	CLR R0
	ST [R1],R0
	;;;;;;;;;;;;;;;;;;
lable_06301048:
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R1,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_06291941
	JNB PSW,0 ;;
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	ORL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_,R0
	ORL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_+1,R1
	;;;;;;;;;;;;;;;;;;;;;;
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;
lable_06292025:
	;;;;;;;;;;
	PAGESEL lable_06301109
	BANKSEL __KF8_lib_Touch_Bits_
	JNB __KF8_lib_Touch_Bits_,1 ;;
	JMP lable_06301109
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	CPL R1
	CPL R0
	BANKSEL __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	AND __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_+1,R1
	AND __KF8_lib_CH_DW_Change_Dealed_Flag_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;
lable_06301109:
	BANKSEL _i_KF8_lib_S_W_
	MOV R1,_i_KF8_lib_S_W_
	ADD R1,#(__KF8_LIBc_baseline_count_+0)
	BANKSEL __KF8_LIBc_baseline_count_
	LD R0,[R1]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;
	MOV R1,#High(__KF8_BaseLine_Update_Circle_Count_For_Down_+0)
	MOV R0,#Low(__KF8_BaseLine_Update_Circle_Count_For_Down_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_06301127
	JNB PSW,2
	JMP lable_06301127
	;;
	MOV R1,#High(__KF8_BaseLine_Update_Circle_Count_For_UP_+0)
	MOV R0,#Low(__KF8_BaseLine_Update_Circle_Count_For_UP_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_06291941
	JB PSW,2
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;;;;;;
lable_06301127:
	;;
	;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_baseline_count_+0)
	BANKSEL __KF8_LIBc_baseline_count_
	CLR R1
	ST [R0],R1
	;;;;;;;;;
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	PAGESEL lable_06301401
	JNB R1,7 ;;
	JMP lable_06301401
	DEC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	MOV R0,#0x0B
	SUB R0,R1
	PAGESEL lable_06301404
	JNB PSW,0 ;;
	JMP lable_06301404
lable_06301401:
	;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	CPL R1
	CPL R0
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	AND __KF8_lib_CH_DW_Change_Flag_S_W_+1,R1
	AND __KF8_lib_CH_DW_Change_Flag_S_W_,R0
	PAGESEL lable_06301437
	JMP lable_06301437
	;;;;;;;;;;;;;;;;;;;;;;;;;
lable_06301404:
	;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_First_S_W_
	BANKSEL _i_KF8_lib_S_W_
	MOV R1,_i_KF8_lib_S_W_
	XOR R0,R1
	PAGESEL lable_06291941
	JNB PSW,2
	JMP lable_06291941
	;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_Second_S_W_
	XOR R0,R1
	PAGESEL lable_06291941
	JNB PSW,2
	JMP lable_06291941
	;;;;;;;;;;;;
	PAGESEL lable_06291941
	BANKSEL __KF8_lib_Touch_Bits_
	JB __KF8_lib_Touch_Bits_,7 ;;
	JMP lable_06291941
	;;;;;;;;;;;;;;;;;;;;;;;;;;
lable_06301437:
	;;
	;;
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_+1,R1
	;;;
	MOV R1,#0x01
_KF8_lib_DW_UP_Basic_IIR_Normal_Get_DS_0001:
	CLR PSW,0
	BANKSEL __KF8_Temp_Cur_A_S_W_
	RRC __KF8_Temp_Cur_A_S_W_+1
	RRC __KF8_Temp_Cur_A_S_W_
	CLR PSW,0
	RLC R1
	MOV R0,R1
	XOR R0,#(8)
	PAGESEL _KF8_lib_DW_UP_Basic_IIR_Normal_Get_DS_0001
	JB PSW,2
	JMP _KF8_lib_DW_UP_Basic_IIR_Normal_Get_DS_0001
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_hit_+0)
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV __KF8_Temp_Cur_B_S_W_,R1
	INC R0
	BANKSEL __KF8_LIBi_buff_hit_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV __KF8_Temp_Cur_B_S_W_+1,R1
	;;;
	MOV R1,#0x01
_KF8_lib_DW_UP_Basic_IIR_Normal_Get_DS_0002:
	CLR PSW,0
	BANKSEL __KF8_Temp_Cur_B_S_W_
	RRC __KF8_Temp_Cur_B_S_W_+1
	RRC __KF8_Temp_Cur_B_S_W_
	CLR PSW,0
	RLC R1
	MOV R0,R1
	XOR R0,#(8)
	PAGESEL _KF8_lib_DW_UP_Basic_IIR_Normal_Get_DS_0002
	JB PSW,2
	JMP _KF8_lib_DW_UP_Basic_IIR_Normal_Get_DS_0002
	;;;
	;;;;
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV R1,__KF8_Temp_Cur_A_S_W_
	BANKSEL __KF8_Temp_Cur_B_S_W_
	SUB __KF8_Temp_Cur_B_S_W_,R1
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV R1,__KF8_Temp_Cur_A_S_W_+1
	JB PSW,0
	INC R1
	BANKSEL __KF8_Temp_Cur_B_S_W_
	SUB __KF8_Temp_Cur_B_S_W_+1,R1
	;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	BANKSEL __KF8_Temp_Cur_B_S_W_
	ADD R1, __KF8_Temp_Cur_B_S_W_
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1
	;;;
	INC R0
	LD R1,[R0]
	JNB PSW,0
	INC R1
	BANKSEL __KF8_Temp_Cur_B_S_W_
	ADD R1,__KF8_Temp_Cur_B_S_W_+1
	BANKSEL __KF8_LIBi_buff_baseline_
	ST [R0],R1
	;;
	;;
	;;
	;;
	;;
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	PAGESEL lable_06301449
	JB R1,7
	JMP lable_06301449
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	ADD R1,#0x01
	ST [R0],R1
	INC R0
	LD R1,[R0]
	JNB PSW,0
	INC R1
	ST [R0],R1
	PAGESEL lable_06291941
	JMP lable_06291941
lable_06301449:
	;;
	DEC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	XOR R1,#0x00
	PAGESEL lable_06301449
	JNB PSW,2
	JMP lable_06301449
	;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_buff_baseline_+0)
	BANKSEL __KF8_LIBi_buff_baseline_
	LD R1,[R0]
	ADD R1,#0xFF
	ST [R0],R1
	INC R0
	LD R1,[R0]
	JB PSW,0
	DEC R1
	ST [R0],R1
lable_06291941:
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	1347; "../kf8s_touch_w_lib.c"	if(_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Protect_Flag)
	BANKSEL	__KF8_lib_Touch_Bits_
	JB	__KF8_lib_Touch_Bits_, 1
	JMP	_00027_DS_
;	op : INLINEASM
	;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R1,_i_KF8_lib_S_W_
	ADD R1,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R0,[R1]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SUB R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0007_
	JNB PSW,0 ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0007_
	;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R1,_i_KF8_lib_S_W_
	ADD R1,#(__KF8_LIBc_touch_count_+0)
	CLR R0
	BANKSEL __KF8_LIBc_touch_count_
	ST [R1],R0
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0007_:
	
;	op : LABEL
;	op : INLINEASM
_00027_DS_
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0,_Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+1)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_baseline_count_+0)
	;;
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0008_
	JNB R1,7
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0008_
	;;--
	BANKSEL __KF8_LIBc_baseline_count_
	LD R1,[R0]
	DEC R1
	ST [R0],R1
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0009_
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0009_
	;;++
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0008_:
	BANKSEL __KF8_LIBc_baseline_count_
	LD R1,[R0]
	INC R1
	ST [R0],R1
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_DS_0009_:
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	1433; "../kf8s_touch_w_lib.c"	if(!_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Protect_Flag)
	BANKSEL	__KF8_lib_Touch_Bits_
	JNB	__KF8_lib_Touch_Bits_, 1
	JMP	_00029_DS_
;	op : INLINEASM
	;;;;;;;;;;;;
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV R0,__KF8_lib_Finded_MAX_I_S_W_
	BANKSEL _i_KF8_lib_S_W_
	XOR R0,_i_KF8_lib_S_W_
	PAGESEL lable_07021644
	JNB PSW,2 ;;
	JMP lable_07021644
	MOV R0,_i_KF8_lib_S_W_
	BANKSEL __KF8_lib_Finded_MAX_J_S_W_
	XOR R0,__KF8_lib_Finded_MAX_J_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_Else_IF
	JB PSW,2 ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_Else_IF
	;;;;;;;;;;;;
lable_07021644:
	;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R1
	;;;
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;
	SUB R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_07021648
	JNB PSW,0 ;;
	JMP lable_07021648
	;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	INC R1
	ST [R0],R1
	;;;;;;;;;;;;;;;
lable_07021648:
	MOV R1,# high (__KF8_DoubleKey_Compages_Limitable_Circle_+0)
	MOV R0,# low (__KF8_DoubleKey_Compages_Limitable_Circle_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;;;;;;;;;;;
	BANKSEL _result_temp_KF8_Lib_S_W_
	MOV _result_temp_KF8_Lib_S_W_,R0
	;;;;;;;;;;
	MOV R1,# high (__KF8_DoubleKey_Compages_Limitable_Circle_+1)
	MOV R0,# low (__KF8_DoubleKey_Compages_Limitable_Circle_+1)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;;;;;;;;
	BANKSEL _result_temp_KF8_Lib_S_W_
	MOV (_result_temp_KF8_Lib_S_W_+1),R0
	ORL R0,_result_temp_KF8_Lib_S_W_
	PAGESEL lable_07021657
	JNB PSW,2
	JMP lable_07021657
	;;;;;;;;;;;;;;;;;;;;;;;;;;
	;;
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	MOV R0, __KF8_lib_Key_Down_Count_S_W_
	XOR R0,# 0x01
	PAGESEL lable_07021657
	JB PSW, 2
	JMP lable_07021657
	;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _result_temp_KF8_Lib_S_W_
	MOV R0,(_result_temp_KF8_Lib_S_W_+1)
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	SUB R0,(__KF8_lib_Key_Double_Timer_Protect_S_W_+1)
	PAGESEL lable_ds_
	JB PSW,2
	JMP lable_ds_
	;;;;;;;;;;;
	BANKSEL _result_temp_KF8_Lib_S_W_
	MOV R0,_result_temp_KF8_Lib_S_W_
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	SUB R0,__KF8_lib_Key_Double_Timer_Protect_S_W_
	;;;;;;;;;;;
lable_ds_:
	PAGESEL lable_07021657
	JNB PSW, 0
	JMP lable_07021657
	;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	INC __KF8_lib_Key_Double_Timer_Protect_S_W_
	JNB PSW, 2
	INC (__KF8_lib_Key_Double_Timer_Protect_S_W_ + 1)
	;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _result_temp_KF8_Lib_S_W_
	MOV R0,(_result_temp_KF8_Lib_S_W_+1)
	MOV R1,_result_temp_KF8_Lib_S_W_
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	XOR R0,(__KF8_lib_Key_Double_Timer_Protect_S_W_+1)
	XOR R1,__KF8_lib_Key_Double_Timer_Protect_S_W_
	PAGESEL lable_07021657
	ORL R0,R1
	JB PSW,2
	JMP lable_07021657
	;;;;;;
	MOV R0,# 0x02
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	MOV __KF8_lib_Key_Down_Count_S_W_, R0
	;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV R0, __KF8_LIBc_finger_OUT_First_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV __KF8_LIBc_finger_OUT_Second_S_W_, R0
	;;;;;;;;;;;;;;;;;;
	;;;;;;;;;
	;;;;;;;;;;
lable_07021657:
	;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R1
	;;
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	JB PSW,2 ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End
	;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_channel_flag_
	MOV R0,__KF8_LIBi_channel_flag_
	ORL R0,__KF8_LIBi_channel_flag_+1
	PAGESEL lable_07021756
	JNB PSW,2 ;;
	JMP lable_07021756
	;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV R0, __KF8_lib_Finded_MAX_I_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	XOR R0, __KF8_LIBc_finger_OUT_First_S_W_
	PAGESEL lable_07022000
	JNB PSW,2
	JMP lable_07022000
	;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Finded_MAX_J_S_W_
	MOV R0, __KF8_lib_Finded_MAX_J_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	XOR R0, __KF8_LIBc_finger_OUT_First_S_W_
	PAGESEL lable_07022000
	JNB PSW,2
	JMP lable_07022000
	;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV R0, __KF8_lib_Finded_MAX_I_S_W_
	BANKSEL _i_KF8_lib_S_W_
	XOR R0, _i_KF8_lib_S_W_
	PAGESEL lable_07022000
	JNB PSW,2
	JMP lable_07022000
	PAGESEL lable_07021902
	JMP lable_07021902
	;;;;;;;;;;;;;;;;;;;;;;;;;
lable_07022000:
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	;;
	MOV R1,#0x01
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	XOR __KF8_lib_Key_Down_Count_S_W_,R1
	PAGESEL lable_07021902
	JB PSW ,2
	JMP lable_07021902
	;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	SWAPR R0, __KF8_LIBc_finger_OUT_First_S_W_
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	ORL __KF8_lib_Date_Uchar_Temp_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Char_KF8_Lib_S_W_
	CLR _Addr_Copy_Char_KF8_Lib_S_W_
lable_KF8_SP_LOOP:
	;;;;;;;;;;;;;;;;;;;;;
	MOV R1,# high (_Double_Key_SET_EN_1+0)
	MOV R0,# low (_Double_Key_SET_EN_1+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_07021933
	JNB PSW,2
	JMP lable_07021933
	;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R1,# high (_Double_Key_SET_EN_2+0)
	MOV R0,# low (_Double_Key_SET_EN_2+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_07021933
	JNB PSW,2
	JMP lable_07021933
	;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R1,# high (_Double_Key_SET_EN_3+0)
	MOV R0,# low (_Double_Key_SET_EN_3+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	XOR R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_07021933
	JNB PSW,2
	JMP lable_07021933
	;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Char_KF8_Lib_S_W_
	MOV R1,#0X01
	XOR _Addr_Copy_Char_KF8_Lib_S_W_,R1
	PAGESEL lable_07021902
	JNB PSW,2
	JMP lable_07021902
	;;;;;;;;;;;;;;;;;;;;
	MOV _Addr_Copy_Char_KF8_Lib_S_W_,R1
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SWAP __KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL lable_KF8_SP_LOOP
	JMP lable_KF8_SP_LOOP
	;;;;;;;;;;;;;;;;;;;;;
lable_07021933:
	MOV R0,#0X02
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	MOV __KF8_lib_Key_Down_Count_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0, _i_KF8_lib_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV __KF8_LIBc_finger_OUT_Second_S_W_, R0
	;;;;;;;;;;;;;;;;;;;;;
	;;
	MOV R1,#High(__KF8_TOUCH_CH_EN+0)
	MOV R0,#Low(__KF8_TOUCH_CH_EN+0)
	BANKSEL _i_KF8_lib_S_W_
	ADD R0,_i_KF8_lib_S_W_
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	CLR PSW,0
	RLC R0
	ADD R0,#Low(__KF8_LIBt_buff_bit_S_W_+0)
	MOV R1,#High(__KF8_LIBt_buff_bit_S_W_+0)
	JNB PSW,0
	INC R1
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0 ;;
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	ORL __KF8_LIBi_channel_flag_,R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV R0,__KF8_lib_Date_Uchar_Temp_S_W_ ;;
	INC R0
	JNB PSW,2
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	ORL __KF8_LIBi_channel_flag_+1,R0
	;;;;;;;;;;;;;;;;;;;;;;;
	PAGESEL lable_07061503
	JMP lable_07061503
	;;;;;;;;;;;;;
lable_07021902:
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	CLR R1
	ST [R0],R1
	PAGESEL lable_07061503
	JMP lable_07061503
	;;;;;;;;;;;;;;;;;
lable_07021756:
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV R0,__KF8_lib_Finded_MAX_I_S_W_
	BANKSEL _i_KF8_lib_S_W_
	XOR R0,_i_KF8_lib_S_W_
	PAGESEL lable_07061509
	JNB PSW,2 ;;
	JMP lable_07061509
	;;;
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	CLR R1
	BANKSEL __KF8_LIBc_touch_count_
	ST [R0],R1
	PAGESEL lable_07061503
	JMP lable_07061503
	;;;;;;;;;;;;;;;;;
lable_07061509:
	;;
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#Low(__KF8_TOUCH_CH_EN+0)
	MOV R1,#High(__KF8_TOUCH_CH_EN+0)
	JNB PSW,0
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	CLR PSW,0
	RLC R0
	ADD R0,#Low(__KF8_LIBt_buff_bit_S_W_+0)
	MOV R1,#High(__KF8_LIBt_buff_bit_S_W_+0)
	JNB PSW,0
	INC R1
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R0
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	MOV __KF8_LIBi_channel_flag_,R0
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV R0,__KF8_lib_Date_Uchar_Temp_S_W_
	INC R0
	JNB PSW,2
	INC R1
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBi_channel_flag_
	MOV __KF8_LIBi_channel_flag_+1,R0
	;;;;;;;;;;;;;;
	;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV __KF8_LIBc_finger_OUT_First_S_W_,R0
	;;
	MOV R1,#0x01
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	MOV __KF8_lib_Key_Down_Count_S_W_,R1
	;;
	MOV R0,#0xFF
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV __KF8_LIBc_finger_OUT_Second_S_W_,R0
	;;;
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	CLR __KF8_lib_Key_Double_Timer_Protect_S_W_+1
	MOV R0,#0X01
	MOV __KF8_lib_Key_Double_Timer_Protect_S_W_ ,R0
	;;;;;;;;;;
lable_07061503:
	;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	INC R1
	ST [R0],R1
	;;;
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End
	;;;;;;;;;;;;;;
	;;;;;;;;;;;;;;;;;;
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_Else_IF:
	;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	BANKSEL __KF8_LIBc_touch_count_
	LD R1,[R0]
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	MOV __KF8_lib_Date_Uchar_Temp_S_W_,R1
	;;;
	MOV R1,#High(_TCS_AMOUNT+0)
	MOV R0,#Low(_TCS_AMOUNT+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;
	SUB R0,__KF8_lib_Date_Uchar_Temp_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End
	JNB PSW,0 ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End
	;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_touch_count_+0)
	CLR R1
	BANKSEL __KF8_LIBc_touch_count_
	ST [R0],R1
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_Key_Get_DS_End:
	
;	op : INLINEASM
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	XOR R0,__KF8_LIBc_finger_OUT_First_S_W_
	PAGESEL lable_07061649
	JB PSW ,2
	JMP lable_07061649
	;;;;;;;;;;;;;;;;;;;
	BANKSEL _Addr_Copy_Int_KF8_Lib_S_W_
	MOV R0, _Addr_Copy_Int_KF8_Lib_S_W_
	ADD R0,#(__KF8_LIBi_Date_Change_+0)
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV __KF8_lib_bahualvtemportemp_S_W_,R1
	;;;;;;;;;;;;;;;;
	INC R0
	BANKSEL __KF8_LIBi_Date_Change_
	LD R1,[R0]
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV __KF8_lib_bahualvtemportemp_S_W_+1,R1
	;;;;;;;;;;;
	ADD R1,#0X80
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_First_MAX_S_W_+1
	ADD R0,#0X80
	;;;;
	SUB R1,R0
	PAGESEL lable_07061742
	JB PSW ,2
	JMP lable_07061742
	;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	SUB R1,__KF8_LIBc_finger_OUT_First_MAX_S_W_
	;;;
lable_07061742:
	PAGESEL lable_07061747
	JNB PSW,0
	JMP lable_07061747
	;;;;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R0,__KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_+1
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_,R0
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_+1,R1
	;;;;;;;;;
lable_07061747:
	BANKSEL __KF8_lib_Touch_Bits_
	PAGESEL lable_07061649
	JNB __KF8_lib_Touch_Bits_, 7
	JMP lable_07061649
	;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	PAGESEL lable_07061649
	JNB __KF8_LIBc_finger_OUT_First_MAX_S_W_+1,7
	JMP lable_07061649
	;;;;;;;
	MOV R0,#0X15
	SUB R0,__KF8_LIBc_finger_OUT_First_MAX_S_W_
	JB PSW,0
	JMP lable_07061649
	;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R0,#0X14
	ADD __KF8_lib_bahualvtemportemp_S_W_,R0
	JNB PSW,0
	INC __KF8_lib_bahualvtemportemp_S_W_+1
	;;;;;;;;;;;;;;;;;;
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_+1
	ADD R1,#0X80
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_First_MAX_S_W_+1
	ADD R0,#0X80
	;;;;;;;;;;;
	SUB R1,R0
	PAGESEL lable_07061904
	JB PSW ,2
	JMP lable_07061904
	;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	SUB R1,__KF8_LIBc_finger_OUT_First_MAX_S_W_
	;;;
lable_07061904:
	PAGESEL lable_07061649
	JNB PSW,0
	JMP lable_07061649
	;;;;;;;;;;
	BANKSEL _i_KF8_lib_S_W_
	MOV R0,_i_KF8_lib_S_W_
	ADD R0,#(__KF8_LIBc_baseline_count_+0)
	BANKSEL __KF8_LIBc_baseline_count_
	LD R1,[R0]
	;;;;;;;;;;;;;
	PAGESEL lable_07061649
	JB R1,7
	JMP lable_07061649
	SUB R1,#0XF1
	JB PSW,0
	JMP lable_07061649
	;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	ORL __KF8_lib_CH_DW_Change_Flag_S_W_,R0
	ORL __KF8_lib_CH_DW_Change_Flag_S_W_+1,R1
	;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	MOV R0,#0X14
	SUB __KF8_lib_bahualvtemportemp_S_W_,R0
	JB PSW,0
	DEC __KF8_lib_bahualvtemportemp_S_W_+1
	MOV R0,__KF8_lib_bahualvtemportemp_S_W_
	MOV R1,__KF8_lib_bahualvtemportemp_S_W_+1
	;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_,R0
	MOV __KF8_LIBc_finger_OUT_First_MAX_S_W_+1,R1
lable_07061649:
	
;	op : LABEL
;	op : LEFT_OP
_00029_DS_
;	.line	2281; "../kf8s_touch_w_lib.c"	_KF8_LIBi_Touch_New_Date_S_W_<<=1;
	CLR	PSW, 0
	BANKSEL	__KF8_LIBi_Touch_New_Date_S_W_
	RLC	__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL	__KF8_LIBi_Touch_New_Date_S_W_
	RLC	(__KF8_LIBi_Touch_New_Date_S_W_ + 1)
;	op : INLINEASM
	BANKSEL _i_KF8_lib_S_W_
	INC _i_KF8_lib_S_W_
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_Judge_ ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_Judge_
	PAGESEL $ ;;
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_FOR_Deal_End_:
	
;	op : INLINEASM
	BANKSEL __KF8_lib_CH_DW_Change_Count_S_W_
	CLR __KF8_lib_CH_DW_Change_Count_S_W_
	BANKSEL __KF8_lib_CH_UP_Change_Count_S_W_
	CLR __KF8_lib_CH_UP_Change_Count_S_W_
	;;;
	MOV R0,#0xFF
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV __KF8_lib_Finded_MAX_I_S_W_,R0
	BANKSEL __KF8_lib_Finded_MAX_J_S_W_
	MOV __KF8_lib_Finded_MAX_J_S_W_,R0
	;;;
	BANKSEL __KF8_lib_Finded_MAX_J_Buf_S_W_
	CLR __KF8_lib_Finded_MAX_J_Buf_S_W_
	CLR __KF8_lib_Finded_MAX_J_Buf_S_W_+1
	;;;
	BANKSEL __KF8_lib_Finded_MAX_I_Buf_S_W_
	CLR __KF8_lib_Finded_MAX_I_Buf_S_W_
	CLR __KF8_lib_Finded_MAX_I_Buf_S_W_+1
	;;;
	BANKSEL __KF8_lib_Finded_MAX_COUNT_S_W_
	CLR __KF8_lib_Finded_MAX_COUNT_S_W_
	;;;
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_Deal_End_
	BANKSEL __KF8_lib_Touch_Bits_
	JB __KF8_lib_Touch_Bits_,1 ;;
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_Deal_End_ ;;
	;;;
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	INC __KF8_lib_Wave_Protect_Time_Count_S_W_
	JNB PSW,2
	INC __KF8_lib_Wave_Protect_Time_Count_S_W_+1
	;;;
	MOV R1,#High(__KF8_Disturb_Protect_Circle_+0)
	MOV R0,#Low(__KF8_Disturb_Protect_Circle_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0 ;;
	;;
	MOV R1,#High(__KF8_Disturb_Protect_Circle_+1)
	MOV R0,#Low(__KF8_Disturb_Protect_Circle_+1)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	;;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV __KF8_LIBi_Touch_New_Date_S_W_+1,R0 ;;
	;;;
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	MOV R0,__KF8_lib_Wave_Protect_Time_Count_S_W_
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	SUB R0,__KF8_LIBi_Touch_New_Date_S_W_
	BANKSEL __KF8_lib_Wave_Protect_Time_Count_S_W_
	MOV R0,__KF8_lib_Wave_Protect_Time_Count_S_W_+1
	JB PSW,0
	INC R0
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	SUB R0,__KF8_LIBi_Touch_New_Date_S_W_+1
	PAGESEL _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_Deal_End_
	JNB PSW,0
	JMP _KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_Deal_End_
	;;_KF8_lib_Touch_Bits_._bitx_x._bit1_1=0;
	BANKSEL __KF8_lib_Touch_Bits_
	CLR __KF8_lib_Touch_Bits_,1 ;;
_KF8_LiBf_KEY_Deal_AND_BaseLine_Up_DS_Deal_End_:
	
;	op : INLINEASM
	MOV R1,# high (__KF8_Key_Max_Pressed_Limitable_Circle_+0)
	MOV R0,# low (__KF8_Key_Max_Pressed_Limitable_Circle_+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_,R0
	;;;;;;;;;;;;;;
	MOV R1,# high (__KF8_Key_Max_Pressed_Limitable_Circle_+1)
	MOV R0,# low (__KF8_Key_Max_Pressed_Limitable_Circle_+1)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV __KF8_Temp_Cur_A_S_W_+1,R0
	ORL R0,__KF8_Temp_Cur_A_S_W_
	;;;;;;;
	PAGESEL lable_07061952
	JNB PSW,2
	JMP lable_07061952
	;;;;;;;;;;;
	BANKSEL __KF8_LIBi_channel_flag_
	MOV R0,__KF8_LIBi_channel_flag_
	ORL R0,__KF8_LIBi_channel_flag_+1
	PAGESEL lable_07061952
	JNB PSW,2 ;;
	JMP lable_07061952
	;;;;;;;;;;;;;
	BANKSEL __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	INC __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	JNB PSW, 2
	INC (__KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_ + 1)
	;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV R0,__KF8_Temp_Cur_A_S_W_
	MOV R1,__KF8_Temp_Cur_A_S_W_+1
	BANKSEL __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	XOR R0,__KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	XOR R1,__KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_+1
	ORL R0,R1
	PAGESEL lable_07061952
	JB PSW,2
	JMP lable_07061952
	;;;
	BANKSEL __KF8_lib_Touch_Bits_
	CLR __KF8_lib_Touch_Bits_, 7
	;;
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	MOV R0, __KF8_lib_Key_Down_Count_S_W_
	XOR R0,# 0x02
	PAGESEL lable_07062010
	JB PSW, 2
	JMP lable_07062010
	;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,#0x01
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0
	CLR (__KF8_LIBi_Touch_New_Date_S_W_+1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_Second_S_W_
	INC R0
	JMP RLC_07070955
RLCDeal_07070955:
	CLR PSW,0
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	RLC __KF8_LIBi_Touch_New_Date_S_W_
	RLC (__KF8_LIBi_Touch_New_Date_S_W_+1)
RLC_07070955:
	DECJZ R0
	JMP RLCDeal_07070955
	;;;;;;;
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R0,__KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R1,__KF8_lib_CH_DW_Change_Flag_S_W_+1
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	AND R0,__KF8_LIBi_Touch_New_Date_S_W_
	AND R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	ORL R0,R1
	PAGESEL lable_07071023
	JNB PSW,2
	JMP lable_07071023
	;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_Second_S_W_
	ADD R0, #(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_ ;;_KF8_LIBi_buff_hit_ low
	LD R1,[R0]
	;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_Second_S_W_
	ADD R0, #(__KF8_LIBi_buff_baseline_)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ low
	ST [R0],R1
	;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_Second_S_W_
	ADD R0, #(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_ ;; _KF8_LIBi_buff_hit_ high
	LD R1,[R0]
	;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_Second_S_W_
	ADD R0, #(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;
	ST [R0],R1
	;;;;
	PAGESEL lable_07062010
	JMP lable_07062010
	;;;;;
lable_07071023:
	;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	ORL R0,__KF8_lib_CH_DW_Change_Flag_S_W_
	ORL R1,__KF8_lib_CH_DW_Change_Flag_S_W_+1
	;;;;;;
	;;
lable_07062010:
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,#0x01
	MOV __KF8_LIBi_Touch_New_Date_S_W_,R0
	CLR (__KF8_LIBi_Touch_New_Date_S_W_+1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV R0,__KF8_LIBc_finger_OUT_First_S_W_
	INC R0
	JMP RLC_07071019
RLCDeal_07071019:
	CLR PSW,0
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	RLC __KF8_LIBi_Touch_New_Date_S_W_
	RLC (__KF8_LIBi_Touch_New_Date_S_W_+1)
RLC_07071019:
	DECJZ R0
	JMP RLCDeal_07071019
	;;;;;;;;;
	;;
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R0,__KF8_lib_CH_DW_Change_Flag_S_W_
	MOV R1,__KF8_lib_CH_DW_Change_Flag_S_W_+1
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	AND R0,__KF8_LIBi_Touch_New_Date_S_W_
	AND R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	ORL R0,R1
	PAGESEL lable_07071001
	JNB PSW,2
	JMP lable_07071001
	;;;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_First_S_W_
	ADD R0, #(__KF8_LIBi_buff_hit_)
	BANKSEL __KF8_LIBi_buff_hit_ ;;_KF8_LIBi_buff_hit_ low
	LD R1,[R0]
	;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_First_S_W_
	ADD R0, #(__KF8_LIBi_buff_baseline_)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;_KF8_LIBi_buff_baseline_ low
	ST [R0],R1
	;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_First_S_W_
	ADD R0, #(__KF8_LIBi_buff_hit_+1)
	BANKSEL __KF8_LIBi_buff_hit_ ;; _KF8_LIBi_buff_hit_ high
	LD R1,[R0]
	;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	CLR PSW,0
	RLCR __KF8_LIBc_finger_OUT_First_S_W_
	ADD R0, #(__KF8_LIBi_buff_baseline_+1)
	BANKSEL __KF8_LIBi_buff_baseline_ ;;
	ST [R0],R1
	;;;;
	PAGESEL lable_07062010
	JMP lable_07062010
	;;;;;
lable_07071001:
	;;
	BANKSEL __KF8_LIBi_Touch_New_Date_S_W_
	MOV R0,__KF8_LIBi_Touch_New_Date_S_W_
	MOV R1,__KF8_LIBi_Touch_New_Date_S_W_+1
	BANKSEL __KF8_lib_CH_DW_Change_Flag_S_W_
	ORL R0,__KF8_lib_CH_DW_Change_Flag_S_W_
	ORL R1,__KF8_lib_CH_DW_Change_Flag_S_W_+1
	;;;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_S_W_
	MOV R0,#0XFF
	MOV __KF8_LIBc_finger_OUT_First_S_W_,R0
	BANKSEL __KF8_LIBc_finger_OUT_Second_S_W_
	MOV __KF8_LIBc_finger_OUT_Second_S_W_,R0
	;;;
	BANKSEL __KF8_LIBc_finger_OUT_First_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_First_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_First_MAX_S_W_+1
	;;
	BANKSEL __KF8_LIBc_finger_OUT_Second_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_Second_MAX_S_W_
	CLR __KF8_LIBc_finger_OUT_Second_MAX_S_W_+1
	;;
	BANKSEL __KF8_LIBi_channel_flag_
	CLR __KF8_LIBi_channel_flag_
	CLR __KF8_LIBi_channel_flag_+1
	;;
	BANKSEL __KF8_lib_Key_Down_Count_S_W_
	CLR __KF8_lib_Key_Down_Count_S_W_
	;;
	BANKSEL __KF8_lib_Key_Double_Timer_Protect_S_W_
	CLR __KF8_lib_Key_Double_Timer_Protect_S_W_
	CLR __KF8_lib_Key_Double_Timer_Protect_S_W_+1
	;;
	BANKSEL __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	CLR __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_
	CLR __KF8_lib_MAX_KEY_Vaule_Time_Count_S_W_+1
lable_07061952:
	
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8_LiBf_KEY_Deal_AND_BaseLine_Up



func.__KF8S_Init_Touch_Waterproof_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8S_Init_Touch_Waterproof_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8S_Init_Touch_Waterproof_	;Function start
; 2 exit points
;	op : =
;	.line	388; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_En_Base_Update_Flag=1;	 	//初始化			..判断来过水后，基线只允许突然上升，和更窄范围变动
	BANKSEL	__KF8_lib_Touch_Bits_
	SET	__KF8_lib_Touch_Bits_, 7
;	op : =
;	.line	390; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Get_Baihualv_Sign_Flag=0;	//初始化                        ..计算变化率符号缓存标记
	BANKSEL	__KF8_lib_Touch_Bits_
	CLR	__KF8_lib_Touch_Bits_, 5
;	op : =
;	.line	394; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Protect_Flag =0;			//初始化                         ..保护不判断，计数还原
	BANKSEL	__KF8_lib_Touch_Bits_
	CLR	__KF8_lib_Touch_Bits_, 1
;	op : =
;	.line	395; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_Flag =0;				//初始化                         ..其实32圈取样，随后判断按键
	BANKSEL	__KF8_lib_Touch_Bits_
	CLR	__KF8_lib_Touch_Bits_, 0
;	op : =
;	.line	401; "../kf8s_touch_w_lib.c"	_KF8_Work_Delay_Count_For_Flag_S_W_=0;
	BANKSEL	__KF8_Work_Delay_Count_For_Flag_S_W_
	CLR	__KF8_Work_Delay_Count_For_Flag_S_W_
;	op : =
;	.line	402; "../kf8s_touch_w_lib.c"	_KF8_Touch_Sys_Work_Standing_Flag_S_W_ = 0;
	BANKSEL	__KF8_Touch_Sys_Work_Standing_Flag_S_W_
	CLR	__KF8_Touch_Sys_Work_Standing_Flag_S_W_
;	op : =
;	.line	403; "../kf8s_touch_w_lib.c"	_KF8_lib_CH_DW_Change_Dealed_Flag_S_W_=0;
	BANKSEL	__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	CLR	__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	BANKSEL	__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_
	CLR	(__KF8_lib_CH_DW_Change_Dealed_Flag_S_W_ + 1)
;	op : =
;	.line	404; "../kf8s_touch_w_lib.c"	_KF8_lib_CH_UP_Change_Dealed_Flag_S_W_=0;
	BANKSEL	__KF8_lib_CH_UP_Change_Dealed_Flag_S_W_
	CLR	__KF8_lib_CH_UP_Change_Dealed_Flag_S_W_
	BANKSEL	__KF8_lib_CH_UP_Change_Dealed_Flag_S_W_
	CLR	(__KF8_lib_CH_UP_Change_Dealed_Flag_S_W_ + 1)
;	op : =
;	.line	405; "../kf8s_touch_w_lib.c"	_KF8_lib_CH_DW_Change_Flag_S_W_=0;
	BANKSEL	__KF8_lib_CH_DW_Change_Flag_S_W_
	CLR	__KF8_lib_CH_DW_Change_Flag_S_W_
	BANKSEL	__KF8_lib_CH_DW_Change_Flag_S_W_
	CLR	(__KF8_lib_CH_DW_Change_Flag_S_W_ + 1)
;	op : =
;	.line	406; "../kf8s_touch_w_lib.c"	_KF8_lib_CH_UP_Change_Flag_S_W_=0;
	BANKSEL	__KF8_lib_CH_UP_Change_Flag_S_W_
	CLR	__KF8_lib_CH_UP_Change_Flag_S_W_
	BANKSEL	__KF8_lib_CH_UP_Change_Flag_S_W_
	CLR	(__KF8_lib_CH_UP_Change_Flag_S_W_ + 1)
;	op : =
;	.line	408; "../kf8s_touch_w_lib.c"	_KF8_lib_Finded_MAX_I_Buf_S_W_=0;_KF8_lib_Finded_MAX_J_Buf_S_W_=0;
	BANKSEL	__KF8_lib_Finded_MAX_I_Buf_S_W_
	CLR	__KF8_lib_Finded_MAX_I_Buf_S_W_
	BANKSEL	__KF8_lib_Finded_MAX_I_Buf_S_W_
	CLR	(__KF8_lib_Finded_MAX_I_Buf_S_W_ + 1)
;	op : =
	BANKSEL	__KF8_lib_Finded_MAX_J_Buf_S_W_
	CLR	__KF8_lib_Finded_MAX_J_Buf_S_W_
	BANKSEL	__KF8_lib_Finded_MAX_J_Buf_S_W_
	CLR	(__KF8_lib_Finded_MAX_J_Buf_S_W_ + 1)
;	op : =
;	.line	409; "../kf8s_touch_w_lib.c"	_KF8_lib_Finded_MAX_COUNT_S_W_=0;
	BANKSEL	__KF8_lib_Finded_MAX_COUNT_S_W_
	CLR	__KF8_lib_Finded_MAX_COUNT_S_W_
;	op : =
;	.line	410; "../kf8s_touch_w_lib.c"	_KF8_lib_Key_Down_Count_S_W_=0;
	BANKSEL	__KF8_lib_Key_Down_Count_S_W_
	CLR	__KF8_lib_Key_Down_Count_S_W_
;	op : INLINEASM
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;set 0xFF
	MOV R0,#0xFF
	BANKSEL __KF8_lib_Finded_MAX_I_S_W_
	MOV __KF8_lib_Finded_MAX_I_S_W_,R0
	BANKSEL __KF8_lib_Finded_MAX_J_S_W_
	MOV __KF8_lib_Finded_MAX_J_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,#low(_CHS_AMOUNT)
	MOV R1,#high(_CHS_AMOUNT)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	BANKSEL __KF8_LIBc_channel_
	MOV __KF8_LIBc_channel_,R0
	; 455 "../kf8s_touch_w_lib.c"
	;;;;;;;;;;;;
	BANKSEL __KF8_LIBc_channel_
	CLR __KF8_LIBc_channel_
	;;;;;;;;;;;;
	BANKSEL __KF8_LIBi_channel_flag_
	CLR __KF8_LIBi_channel_flag_
	BANKSEL __KF8_LIBi_channel_flag_
	CLR (__KF8_LIBi_channel_flag_+1)
	;;;;;;;;;;;;;
	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	CLR __KF8_lib_Date_Uchar_Temp_S_W_
	;;;;;;;;;;;;;;
	
;	op : =
;	.line	455; "../kf8s_touch_w_lib.c"	;;;;;;;;;;;;
	SET	_EIE1_bits, 7
;	op : =
	CLR	_EIF1_bits, 7
;	op : GET_VALUE_AT_ADDRESS
;	.line	457; "../kf8s_touch_w_lib.c"	CLR __KF8_LIBc_channel_
	BANKSEL	__KF8_lib_Touch_Bits_
	JB	__KF8_lib_Touch_Bits_, 2
	JMP	_00019_DS_
;	op : =
;	.line	459; "../kf8s_touch_w_lib.c"	BANKSEL __KF8_LIBi_channel_flag_
	MOV	R0,# 0x90
	MOV	_CTCTL, R0
;	op : =
;	.line	460; "../kf8s_touch_w_lib.c"	CLR __KF8_LIBi_channel_flag_
	CLR	_T3L
;	op : GOTO
	JMP	_00020_DS_
;	op : LABEL
;	op : =
_00019_DS_
;	.line	464; "../kf8s_touch_w_lib.c"	BANKSEL __KF8_lib_Date_Uchar_Temp_S_W_
	SET	_EIE1_bits, 0
;	op : =
	CLR	_EIF1_bits, 0
;	op : =
;	.line	465; "../kf8s_touch_w_lib.c"	CLR __KF8_lib_Date_Uchar_Temp_S_W_
	CLR	_T1H
;	op : =
	CLR	_T1L
;	op : =
	MOV	R0,# 0x01
	MOV	_T1CTL, R0
;	op : =
;	.line	466; "../kf8s_touch_w_lib.c"	;;;;;;;;;;;;;;
	MOV	R0,# 0x80
	MOV	_CTCTL, R0
;	op : LABEL
;	op : INLINEASM
_00020_DS_
	MOV R0, # low (__KF8_TOUCH_CH_EN+0)
	MOV R1, # high (__KF8_TOUCH_CH_EN+0)
	PAGESEL __R2PCHPCL
	CALL __R2PCHPCL
	PAGESEL $
	ORL _CTCTL,R0
	MOV R0,#0x02
	DECJZ R0
	JMP $-1
Start_First_CT:
	SET _CTCTL,6 ;
	NOP
	JB _CTCTL,6
	JMP $-3
	JNB _CTCTL,4
	CLR _T1U ;
	
;	op : =
;	.line	494; "../kf8s_touch_w_lib.c"	CALL	__R2PCHPCL
	SET	_INTCTL_bits, 6
;	op : =
;	.line	495; "../kf8s_touch_w_lib.c"	PAGESEL	$
	SET	_INTCTL_bits, 7
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __KF8S_Init_Touch_Waterproof_



func.__KF8_lib_Baihualv_get_	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8_lib_Baihualv_get_	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8_lib_Baihualv_get_	;Function start
; 2 exit points
;	op : INLINEASM
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV R0,__KF8_Temp_Cur_B_S_W_
	BANKSEL __KF8_Temp_Cur_A_S_W_
	SUB __KF8_Temp_Cur_A_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV R1,(__KF8_Temp_Cur_B_S_W_+1)
	JB PSW,0
	INC R1
	BANKSEL __KF8_Temp_Cur_A_S_W_
	SUB (__KF8_Temp_Cur_A_S_W_+1),R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	JB PSW,0
	JMP label_3_3_3
	JMP label_4_4_4
label_3_3_3:
	;;
	BANKSEL __KF8_lib_Touch_Bits_
	CLR __KF8_lib_Touch_Bits_, 5
	BANKSEL __KF8_Temp_Cur_A_S_W_
	CPL __KF8_Temp_Cur_A_S_W_
	BANKSEL (__KF8_Temp_Cur_A_S_W_+1)
	CPL (__KF8_Temp_Cur_A_S_W_+1)
	INC __KF8_Temp_Cur_A_S_W_
	JNB PSW,2
	INC (__KF8_Temp_Cur_A_S_W_+1)
	JMP label_5_5_5
label_4_4_4:
	;;
	BANKSEL __KF8_lib_Touch_Bits_
	SET __KF8_lib_Touch_Bits_, 5
label_5_5_5:
	
;	op : INLINEASM
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_A_S_W_
	MOV R0, (__KF8_Temp_Cur_A_S_W_ + 1)
	AND R0,# 0xfc
	JB PSW, 2
	JMP label_6_6_6
	;;;;;;;;;;;;;;;;;;;;;;小于;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# 0x06
	INC R0
	PAGESEL label_7_7_7
	JMP label_7_7_7
label_8_8_8:
	CLR PSW, 0
	RLC __KF8_Temp_Cur_A_S_W_
	RLC (__KF8_Temp_Cur_A_S_W_ + 1)
label_7_7_7:
	DECJZ R0
	JMP label_8_8_8
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# 0x08
	BANKSEL __KF8_Temp_Cur_B_S_W_
	ADD __KF8_Temp_Cur_B_S_W_, R0
	PAGESEL label_9_9_9
	JB PSW, 0
	JMP label_9_9_9
	INC (__KF8_Temp_Cur_B_S_W_ + 1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
label_9_9_9:
	MOV R0,# 0x04
	INC R0
	JMP label_10_10_10
label_11_11_11:
	CLR PSW, 0
	RRC (__KF8_Temp_Cur_B_S_W_ + 1)
	RRC __KF8_Temp_Cur_B_S_W_
label_10_10_10:
	DECJZ R0
	JMP label_11_11_11
	JMP label_13_13_13
	;;;;;;;;;;;;;;;;;;;;;;大于等于;;;;;;;;;;;;;;;;;;;;;;;;
label_6_6_6:
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	CLR PSW, 0
	BANKSEL __KF8_Temp_Cur_A_S_W_
	RLC __KF8_Temp_Cur_A_S_W_
	RLC (__KF8_Temp_Cur_A_S_W_ + 1)
	CLR PSW, 0
	RLC __KF8_Temp_Cur_A_S_W_
	RLC (__KF8_Temp_Cur_A_S_W_ + 1)
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0,# 0x80
	BANKSEL __KF8_Temp_Cur_B_S_W_
	ADD __KF8_Temp_Cur_B_S_W_, R0
	JB PSW, 0
	JMP label_12_12_12
	INC (__KF8_Temp_Cur_B_S_W_ + 1)
label_12_12_12:
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	MOV R0, (__KF8_Temp_Cur_B_S_W_ + 1)
	MOV __KF8_Temp_Cur_B_S_W_, R0
	CLR (__KF8_Temp_Cur_B_S_W_ + 1)
label_13_13_13:
	
;	op : INLINEASM
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	CLR __KF8_lib_bahualvtemportemp_S_W_
	CLR __KF8_lib_bahualvtemportemp_S_W_+1 ;;
label_17_17_17:
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV R0,__KF8_Temp_Cur_B_S_W_
	BANKSEL __KF8_Temp_Cur_A_S_W_
	SUB __KF8_Temp_Cur_A_S_W_,R0
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	BANKSEL __KF8_Temp_Cur_B_S_W_
	MOV R1,(__KF8_Temp_Cur_B_S_W_+1)
	JB PSW,0
	INC R1
	BANKSEL __KF8_Temp_Cur_A_S_W_
	SUB (__KF8_Temp_Cur_A_S_W_+1),R1
	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
	JB PSW,0
	JMP label_15_15_15
	JMP label_14_14_14
label_15_15_15:
	;;
	JMP label_16_16_16
label_14_14_14:
	;;
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	INC __KF8_lib_bahualvtemportemp_S_W_
	MOV R0,__KF8_lib_bahualvtemportemp_S_W_
	SUB R0,#(200)
	JB PSW,0
	JMP label_16_16_16 ;
	JMP label_17_17_17 ;
label_16_16_16:
	
;	op : GET_VALUE_AT_ADDRESS
;	.line	362; "../kf8s_touch_w_lib.c"	if(_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Get_Baihualv_Sign_Flag)
	BANKSEL	__KF8_lib_Touch_Bits_
	JB	__KF8_lib_Touch_Bits_, 5
	JMP	_00015_DS_
;	op : INLINEASM
	BANKSEL __KF8_lib_bahualvtemportemp_S_W_
	CPL __KF8_lib_bahualvtemportemp_S_W_
	CPL __KF8_lib_bahualvtemportemp_S_W_+1 ;;
	INC __KF8_lib_bahualvtemportemp_S_W_
	JNB PSW,2 ;;
	INC __KF8_lib_bahualvtemportemp_S_W_+1 ;;
	
;	op : LABEL
;	op : ENDFUNCTION
_00015_DS_
	CRET	
; exit point of __KF8_lib_Baihualv_get_



func.__KF8S_Lib_Set_Waterproof_Parameter	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __KF8S_Lib_Set_Waterproof_Parameter	;Function start
; 2 exit points
;has an exit
;1 compiler assigned register :
;   r0x1015
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__KF8S_Lib_Set_Waterproof_Parameter	;Function start
; 2 exit points
;	op : RECEIVE
;	.line	154; "../kf8s_touch_w_lib.c"	void _KF8S_Lib_Set_Waterproof_Parameter(unsigned char parameterin)
	BANKSEL	r0x1015
	MOV	r0x1015, R0
;	op : >
;swapping arguments (AOP_TYPEs 1/2)
;unsigned compare: left >= lit(0x3=3), size=1
;	.line	156; "../kf8s_touch_w_lib.c"	switch(parameterin)
	MOV	R0,# 0x03
	BANKSEL	r0x1015
	SUB	R0, r0x1015
;comparing bytes at offset 0
	JNB	PSW, 0
	JMP	_00008_DS_
;	op : JUMPTABLE
	MOV	R0,#high _00012_DS_
	MOV	PCH, R0
	MOV	R0,#_00012_DS_
	BANKSEL	r0x1015
	ADD	R0, r0x1015
	JNB	PSW, 0
	INC	PCH
	MOV	PCL, R0
_00012_DS_
	JMP	_00003_DS_
	JMP	_00004_DS_
	JMP	_00005_DS_
;	op : LABEL
;	op : =
_00003_DS_
;	.line	160; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_USE_PWM=0;
	BANKSEL	__KF8_lib_Touch_Bits_
	CLR	__KF8_lib_Touch_Bits_, 2
;	op : =
;	.line	161; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_PWM_IS_16bit=0;
	BANKSEL	__KF8_lib_Touch_Bits_
	CLR	__KF8_lib_Touch_Bits_, 3
;	op : GOTO
;	.line	162; "../kf8s_touch_w_lib.c"	}break;
	JMP	_00008_DS_
;	op : LABEL
;	op : =
_00004_DS_
;	.line	165; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_USE_PWM=1;
	BANKSEL	__KF8_lib_Touch_Bits_
	SET	__KF8_lib_Touch_Bits_, 2
;	op : =
;	.line	166; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_PWM_IS_16bit=0;
	BANKSEL	__KF8_lib_Touch_Bits_
	CLR	__KF8_lib_Touch_Bits_, 3
;	op : GOTO
;	.line	167; "../kf8s_touch_w_lib.c"	}break;
	JMP	_00008_DS_
;	op : LABEL
;	op : =
_00005_DS_
;	.line	170; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_USE_PWM=1;
	BANKSEL	__KF8_lib_Touch_Bits_
	SET	__KF8_lib_Touch_Bits_, 2
;	op : =
;	.line	171; "../kf8s_touch_w_lib.c"	_KF8_lib_Touch_Bits_._bitx_x._KF8_Touch_Work_PWM_IS_16bit=1;
	BANKSEL	__KF8_lib_Touch_Bits_
	SET	__KF8_lib_Touch_Bits_, 3
;	op : LABEL
;	op : ENDFUNCTION
_00008_DS_
;	.line	177; "../kf8s_touch_w_lib.c"	}
	CRET	
; exit point of __KF8S_Lib_Set_Waterproof_Parameter



func.__R2PCHPCL	.code
;***
;  PostBlock Stats: dbName = C
;***
;entry:  __R2PCHPCL	;Function start
; 2 exit points
;has an exit
;; Starting PostCode block
;	op : LABEL
;	op : FUNCTION
__R2PCHPCL	;Function start
; 2 exit points
;	op : INLINEASM
	MOV PCH,R1
	MOV PCL,R0
	
;	op : LABEL
;	op : ENDFUNCTION
	CRET	
; exit point of __R2PCHPCL


;	code size estimation:
;	  118+   45 =   163 instructions (  416 byte)


	.end
