
.//Obj/T1_TC_34650_V04_20250507.elf:     file format elf32-csky-little


Disassembly of section .text:

00002800 <vector_table>:
    2800:	0000290c 	.long	0x0000290c
    2804:	00006126 	.long	0x00006126
    2808:	00006116 	.long	0x00006116
    280c:	00002984 	.long	0x00002984
    2810:	0000611e 	.long	0x0000611e
    2814:	000060dc 	.long	0x000060dc
    2818:	00002984 	.long	0x00002984
    281c:	0000610e 	.long	0x0000610e
    2820:	00006106 	.long	0x00006106
    2824:	00002984 	.long	0x00002984
    2828:	00002984 	.long	0x00002984
    282c:	00002984 	.long	0x00002984
    2830:	00002984 	.long	0x00002984
    2834:	00002984 	.long	0x00002984
    2838:	00002984 	.long	0x00002984
    283c:	00002984 	.long	0x00002984
    2840:	000060fe 	.long	0x000060fe
    2844:	000060f6 	.long	0x000060f6
    2848:	000060ee 	.long	0x000060ee
    284c:	000060e6 	.long	0x000060e6
    2850:	00002984 	.long	0x00002984
    2854:	00002984 	.long	0x00002984
    2858:	00002984 	.long	0x00002984
    285c:	00002984 	.long	0x00002984
    2860:	00002984 	.long	0x00002984
    2864:	00002984 	.long	0x00002984
    2868:	00002984 	.long	0x00002984
    286c:	00002984 	.long	0x00002984
    2870:	00002984 	.long	0x00002984
    2874:	00002984 	.long	0x00002984
    2878:	00002984 	.long	0x00002984
    287c:	000060de 	.long	0x000060de
    2880:	0000c23c 	.long	0x0000c23c
    2884:	00005780 	.long	0x00005780
    2888:	00005870 	.long	0x00005870
    288c:	000058d8 	.long	0x000058d8
    2890:	00005940 	.long	0x00005940
    2894:	00002984 	.long	0x00002984
    2898:	00005aec 	.long	0x00005aec
    289c:	00005e58 	.long	0x00005e58
    28a0:	00005e88 	.long	0x00005e88
    28a4:	00005b20 	.long	0x00005b20
    28a8:	00002984 	.long	0x00002984
    28ac:	00002984 	.long	0x00002984
    28b0:	00005ba0 	.long	0x00005ba0
    28b4:	00005c10 	.long	0x00005c10
    28b8:	00005c4c 	.long	0x00005c4c
    28bc:	00005c88 	.long	0x00005c88
    28c0:	00002984 	.long	0x00002984
    28c4:	00006136 	.long	0x00006136
    28c8:	00002984 	.long	0x00002984
    28cc:	00005d1c 	.long	0x00005d1c
    28d0:	00005e04 	.long	0x00005e04
    28d4:	00005eb8 	.long	0x00005eb8
    28d8:	00005f00 	.long	0x00005f00
    28dc:	00005f6c 	.long	0x00005f6c
    28e0:	0000612e 	.long	0x0000612e
    28e4:	0000c19c 	.long	0x0000c19c
    28e8:	00005fec 	.long	0x00005fec
    28ec:	00002984 	.long	0x00002984
    28f0:	00006020 	.long	0x00006020
    28f4:	0000606c 	.long	0x0000606c
    28f8:	00002984 	.long	0x00002984
    28fc:	00002984 	.long	0x00002984
    2900:	55aa0005 	.long	0x55aa0005
	...

0000290c <__start>:
//  .long __start
__start:

	
  //initialize all registers
  movi r0, 0
    290c:	3000      	movi      	r0, 0
  movi r1, 0
    290e:	3100      	movi      	r1, 0
  movi r2, 0
    2910:	3200      	movi      	r2, 0
  movi r3, 0
    2912:	3300      	movi      	r3, 0
  movi r4, 0
    2914:	3400      	movi      	r4, 0
  movi r5, 0
    2916:	3500      	movi      	r5, 0
  movi r6, 0
    2918:	3600      	movi      	r6, 0
  movi r7, 0
    291a:	3700      	movi      	r7, 0
  //movi r13, 0
  //movi r14, 0
  //movi r15, 0

//set VBR
  lrw r2, vector_table
    291c:	105b      	lrw      	r2, 0x2800	// 2988 <DummyHandler+0x4>
  mtcr r2, cr<1,0>
    291e:	c0026421 	mtcr      	r2, cr<1, 0>

//enable EE bit of psr
  mfcr r2, cr<0,0>
    2922:	c0006022 	mfcr      	r2, cr<0, 0>
  bseti r2, r2, 8
    2926:	3aa8      	bseti      	r2, 8
  mtcr r2, cr<0,0>
    2928:	c0026420 	mtcr      	r2, cr<0, 0>
//  st.w    r2, (r1,0x4)
//  movi    r2, 0x1
//  st.w    r2, (r1,0x0)

//disable power peak 
  lrw     r1, 0xe000ef90
    292c:	1038      	lrw      	r1, 0xe000ef90	// 298c <DummyHandler+0x8>
  movi    r2, 0x0
    292e:	3200      	movi      	r2, 0
  st.w    r2, (r1, 0x0)
    2930:	b140      	st.w      	r2, (r1, 0x0)



//initialize kernel stack
  lrw  r7, __kernel_stack
    2932:	10f8      	lrw      	r7, 0x20000ff8	// 2990 <DummyHandler+0xc>
  mov r14,r7
    2934:	6f9f      	mov      	r14, r7
  subi r6,r7,0x4
    2936:	5fcf      	subi      	r6, r7, 4

  //lrw  r3, 0x40
  lrw  r3, 0x04
    2938:	3304      	movi      	r3, 4
	
  subu r4, r7, r3
    293a:	5f8d      	subu      	r4, r7, r3
  lrw  r5, 0x0
    293c:	3500      	movi      	r5, 0

0000293e <INIT_KERLE_STACK>:
INIT_KERLE_STACK:
  addi r4, 0x4
    293e:	2403      	addi      	r4, 4
  st.w r5, (r4)
    2940:	b4a0      	st.w      	r5, (r4, 0x0)
  //cmphs r7, r4
  cmphs r6, r4
    2942:	6518      	cmphs      	r6, r4
  bt  INIT_KERLE_STACK
    2944:	0bfd      	bt      	0x293e	// 293e <INIT_KERLE_STACK>

00002946 <__to_main>:
        
__to_main:
  lrw r0,__main
    2946:	1014      	lrw      	r0, 0x4288	// 2994 <DummyHandler+0x10>
  jsr r0
    2948:	7bc1      	jsr      	r0
  mov r0, r0
    294a:	6c03      	mov      	r0, r0
  mov r0, r0
    294c:	6c03      	mov      	r0, r0


  
  lrw r15, __exit
    294e:	ea8f0013 	lrw      	r15, 0x2960	// 2998 <DummyHandler+0x14>
  lrw r0,main
    2952:	1013      	lrw      	r0, 0x54f0	// 299c <DummyHandler+0x18>
  jmp r0
    2954:	7800      	jmp      	r0
  mov r0, r0
    2956:	6c03      	mov      	r0, r0
  mov r0, r0
    2958:	6c03      	mov      	r0, r0
  mov r0, r0
    295a:	6c03      	mov      	r0, r0
  mov r0, r0
    295c:	6c03      	mov      	r0, r0
  mov r0, r0
    295e:	6c03      	mov      	r0, r0

00002960 <__exit>:

.export __exit
__exit:

  lrw r4, 0x20003000
    2960:	1090      	lrw      	r4, 0x20003000	// 29a0 <DummyHandler+0x1c>
  //lrw r5, 0x0
  mov r5, r0
    2962:	6d43      	mov      	r5, r0
  st.w r5, (r4)
    2964:	b4a0      	st.w      	r5, (r4, 0x0)

  mfcr r1, cr<0,0>
    2966:	c0006021 	mfcr      	r1, cr<0, 0>
  lrw  r1, 0xFFFF
    296a:	102f      	lrw      	r1, 0xffff	// 29a4 <DummyHandler+0x20>
  mtcr r1, cr<11,0>
    296c:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xFFF
    2970:	102e      	lrw      	r1, 0xfff	// 29a8 <DummyHandler+0x24>
  movi    r0, 0x0
    2972:	3000      	movi      	r0, 0
  st      r1, (r0)
    2974:	b020      	st.w      	r1, (r0, 0x0)

00002976 <__fail>:

.export __fail
__fail:
  lrw  r1, 0xEEEE
    2976:	102e      	lrw      	r1, 0xeeee	// 29ac <DummyHandler+0x28>
  mtcr r1, cr<11,0>
    2978:	c001642b 	mtcr      	r1, cr<11, 0>
  lrw     r1, 0xEEE
    297c:	102d      	lrw      	r1, 0xeee	// 29b0 <DummyHandler+0x2c>
  movi    r0, 0x0
    297e:	3000      	movi      	r0, 0
  st      r1, (r0)
    2980:	b020      	st.w      	r1, (r0, 0x0)

00002982 <__dummy>:

__dummy:
  br      __fail
    2982:	07fa      	br      	0x2976	// 2976 <__fail>

00002984 <DummyHandler>:

.export DummyHandler
DummyHandler:
  br      __fail
    2984:	07f9      	br      	0x2976	// 2976 <__fail>
    2986:	0000      	.short	0x0000
    2988:	00002800 	.long	0x00002800
    298c:	e000ef90 	.long	0xe000ef90
    2990:	20000ff8 	.long	0x20000ff8
    2994:	00004288 	.long	0x00004288
    2998:	00002960 	.long	0x00002960
    299c:	000054f0 	.long	0x000054f0
    29a0:	20003000 	.long	0x20003000
    29a4:	0000ffff 	.long	0x0000ffff
    29a8:	00000fff 	.long	0x00000fff
    29ac:	0000eeee 	.long	0x0000eeee
    29b0:	00000eee 	.long	0x00000eee

000029b4 <__GI_pow>:
    29b4:	14d4      	push      	r4-r7, r15
    29b6:	142d      	subi      	r14, r14, 52
    29b8:	b860      	st.w      	r3, (r14, 0x0)
    29ba:	4361      	lsli      	r3, r3, 1
    29bc:	4b81      	lsri      	r4, r3, 1
    29be:	b842      	st.w      	r2, (r14, 0x8)
    29c0:	6c90      	or      	r2, r4
    29c2:	3a40      	cmpnei      	r2, 0
    29c4:	6dc3      	mov      	r7, r0
    29c6:	6d87      	mov      	r6, r1
    29c8:	0803      	bt      	0x29ce	// 29ce <__GI_pow+0x1a>
    29ca:	e8000462 	br      	0x328e	// 328e <__GI_pow+0x8da>
    29ce:	41a1      	lsli      	r5, r1, 1
    29d0:	4da1      	lsri      	r5, r5, 1
    29d2:	0055      	lrw      	r2, 0x7ff00000	// 2d78 <__GI_pow+0x3c4>
    29d4:	6549      	cmplt      	r2, r5
    29d6:	080c      	bt      	0x29ee	// 29ee <__GI_pow+0x3a>
    29d8:	6496      	cmpne      	r5, r2
    29da:	0803      	bt      	0x29e0	// 29e0 <__GI_pow+0x2c>
    29dc:	3840      	cmpnei      	r0, 0
    29de:	0808      	bt      	0x29ee	// 29ee <__GI_pow+0x3a>
    29e0:	6509      	cmplt      	r2, r4
    29e2:	0806      	bt      	0x29ee	// 29ee <__GI_pow+0x3a>
    29e4:	6492      	cmpne      	r4, r2
    29e6:	080e      	bt      	0x2a02	// 2a02 <__GI_pow+0x4e>
    29e8:	9802      	ld.w      	r0, (r14, 0x8)
    29ea:	3840      	cmpnei      	r0, 0
    29ec:	0c0b      	bf      	0x2a02	// 2a02 <__GI_pow+0x4e>
    29ee:	9842      	ld.w      	r2, (r14, 0x8)
    29f0:	9860      	ld.w      	r3, (r14, 0x0)
    29f2:	6c1f      	mov      	r0, r7
    29f4:	6c5b      	mov      	r1, r6
    29f6:	e000072f 	bsr      	0x3854	// 3854 <__adddf3>
    29fa:	6d03      	mov      	r4, r0
    29fc:	6c13      	mov      	r0, r4
    29fe:	140d      	addi      	r14, r14, 52
    2a00:	1494      	pop      	r4-r7, r15
    2a02:	3edf      	btsti      	r6, 31
    2a04:	0c51      	bf      	0x2aa6	// 2aa6 <__GI_pow+0xf2>
    2a06:	0121      	lrw      	r1, 0x43400000	// 2d7c <__GI_pow+0x3c8>
    2a08:	2900      	subi      	r1, 1
    2a0a:	6505      	cmplt      	r1, r4
    2a0c:	084b      	bt      	0x2aa2	// 2aa2 <__GI_pow+0xee>
    2a0e:	0162      	lrw      	r3, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2a10:	2b00      	subi      	r3, 1
    2a12:	650d      	cmplt      	r3, r4
    2a14:	0c49      	bf      	0x2aa6	// 2aa6 <__GI_pow+0xf2>
    2a16:	5454      	asri      	r2, r4, 20
    2a18:	0104      	lrw      	r0, 0xfffffc01	// 2d84 <__GI_pow+0x3d0>
    2a1a:	6080      	addu      	r2, r0
    2a1c:	3a34      	cmplti      	r2, 21
    2a1e:	0821      	bt      	0x2a60	// 2a60 <__GI_pow+0xac>
    2a20:	3334      	movi      	r3, 52
    2a22:	60ca      	subu      	r3, r2
    2a24:	9842      	ld.w      	r2, (r14, 0x8)
    2a26:	708d      	lsr      	r2, r3
    2a28:	6c4b      	mov      	r1, r2
    2a2a:	704c      	lsl      	r1, r3
    2a2c:	9802      	ld.w      	r0, (r14, 0x8)
    2a2e:	6442      	cmpne      	r0, r1
    2a30:	083b      	bt      	0x2aa6	// 2aa6 <__GI_pow+0xf2>
    2a32:	3101      	movi      	r1, 1
    2a34:	6884      	and      	r2, r1
    2a36:	3302      	movi      	r3, 2
    2a38:	5b49      	subu      	r2, r3, r2
    2a3a:	9802      	ld.w      	r0, (r14, 0x8)
    2a3c:	3840      	cmpnei      	r0, 0
    2a3e:	b841      	st.w      	r2, (r14, 0x4)
    2a40:	0862      	bt      	0x2b04	// 2b04 <__GI_pow+0x150>
    2a42:	0151      	lrw      	r2, 0x7ff00000	// 2d78 <__GI_pow+0x3c4>
    2a44:	6492      	cmpne      	r4, r2
    2a46:	081f      	bt      	0x2a84	// 2a84 <__GI_pow+0xd0>
    2a48:	012f      	lrw      	r1, 0xc0100000	// 2d88 <__GI_pow+0x3d4>
    2a4a:	6054      	addu      	r1, r5
    2a4c:	6dc4      	or      	r7, r1
    2a4e:	3f40      	cmpnei      	r7, 0
    2a50:	082d      	bt      	0x2aaa	// 2aaa <__GI_pow+0xf6>
    2a52:	9860      	ld.w      	r3, (r14, 0x0)
    2a54:	3200      	movi      	r2, 0
    2a56:	6c4f      	mov      	r1, r3
    2a58:	3000      	movi      	r0, 0
    2a5a:	e0000715 	bsr      	0x3884	// 3884 <__subdf3>
    2a5e:	07ce      	br      	0x29fa	// 29fa <__GI_pow+0x46>
    2a60:	9822      	ld.w      	r1, (r14, 0x8)
    2a62:	3940      	cmpnei      	r1, 0
    2a64:	084e      	bt      	0x2b00	// 2b00 <__GI_pow+0x14c>
    2a66:	3114      	movi      	r1, 20
    2a68:	604a      	subu      	r1, r2
    2a6a:	6c93      	mov      	r2, r4
    2a6c:	7086      	asr      	r2, r1
    2a6e:	6c0b      	mov      	r0, r2
    2a70:	7004      	lsl      	r0, r1
    2a72:	6412      	cmpne      	r4, r0
    2a74:	0c03      	bf      	0x2a7a	// 2a7a <__GI_pow+0xc6>
    2a76:	e8000471 	br      	0x3358	// 3358 <__GI_pow+0x9a4>
    2a7a:	3101      	movi      	r1, 1
    2a7c:	6884      	and      	r2, r1
    2a7e:	3002      	movi      	r0, 2
    2a80:	5869      	subu      	r3, r0, r2
    2a82:	b861      	st.w      	r3, (r14, 0x4)
    2a84:	0220      	lrw      	r1, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2a86:	6452      	cmpne      	r4, r1
    2a88:	0825      	bt      	0x2ad2	// 2ad2 <__GI_pow+0x11e>
    2a8a:	9880      	ld.w      	r4, (r14, 0x0)
    2a8c:	3cdf      	btsti      	r4, 31
    2a8e:	0803      	bt      	0x2a94	// 2a94 <__GI_pow+0xe0>
    2a90:	e8000407 	br      	0x329e	// 329e <__GI_pow+0x8ea>
    2a94:	6c9f      	mov      	r2, r7
    2a96:	6cdb      	mov      	r3, r6
    2a98:	3000      	movi      	r0, 0
    2a9a:	0225      	lrw      	r1, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2a9c:	e000082a 	bsr      	0x3af0	// 3af0 <__divdf3>
    2aa0:	07ad      	br      	0x29fa	// 29fa <__GI_pow+0x46>
    2aa2:	3202      	movi      	r2, 2
    2aa4:	07cb      	br      	0x2a3a	// 2a3a <__GI_pow+0x86>
    2aa6:	3200      	movi      	r2, 0
    2aa8:	07c9      	br      	0x2a3a	// 2a3a <__GI_pow+0x86>
    2aaa:	0269      	lrw      	r3, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2aac:	2b00      	subi      	r3, 1
    2aae:	654d      	cmplt      	r3, r5
    2ab0:	9800      	ld.w      	r0, (r14, 0x0)
    2ab2:	0c08      	bf      	0x2ac2	// 2ac2 <__GI_pow+0x10e>
    2ab4:	38df      	btsti      	r0, 31
    2ab6:	0803      	bt      	0x2abc	// 2abc <__GI_pow+0x108>
    2ab8:	e80003ef 	br      	0x3296	// 3296 <__GI_pow+0x8e2>
    2abc:	3400      	movi      	r4, 0
    2abe:	3100      	movi      	r1, 0
    2ac0:	079e      	br      	0x29fc	// 29fc <__GI_pow+0x48>
    2ac2:	38df      	btsti      	r0, 31
    2ac4:	0ffc      	bf      	0x2abc	// 2abc <__GI_pow+0x108>
    2ac6:	3400      	movi      	r4, 0
    2ac8:	6c43      	mov      	r1, r0
    2aca:	3280      	movi      	r2, 128
    2acc:	4278      	lsli      	r3, r2, 24
    2ace:	604c      	addu      	r1, r3
    2ad0:	0796      	br      	0x29fc	// 29fc <__GI_pow+0x48>
    2ad2:	3380      	movi      	r3, 128
    2ad4:	4317      	lsli      	r0, r3, 23
    2ad6:	9840      	ld.w      	r2, (r14, 0x0)
    2ad8:	640a      	cmpne      	r2, r0
    2ada:	0808      	bt      	0x2aea	// 2aea <__GI_pow+0x136>
    2adc:	6c9f      	mov      	r2, r7
    2ade:	6cdb      	mov      	r3, r6
    2ae0:	6c1f      	mov      	r0, r7
    2ae2:	6c5b      	mov      	r1, r6
    2ae4:	e00006ec 	bsr      	0x38bc	// 38bc <__muldf3>
    2ae8:	0789      	br      	0x29fa	// 29fa <__GI_pow+0x46>
    2aea:	0276      	lrw      	r3, 0x3fe00000	// 2d8c <__GI_pow+0x3d8>
    2aec:	9820      	ld.w      	r1, (r14, 0x0)
    2aee:	64c6      	cmpne      	r1, r3
    2af0:	080a      	bt      	0x2b04	// 2b04 <__GI_pow+0x150>
    2af2:	3edf      	btsti      	r6, 31
    2af4:	0808      	bt      	0x2b04	// 2b04 <__GI_pow+0x150>
    2af6:	6c1f      	mov      	r0, r7
    2af8:	6c5b      	mov      	r1, r6
    2afa:	e0000445 	bsr      	0x3384	// 3384 <__GI_sqrt>
    2afe:	077e      	br      	0x29fa	// 29fa <__GI_pow+0x46>
    2b00:	3300      	movi      	r3, 0
    2b02:	b861      	st.w      	r3, (r14, 0x4)
    2b04:	6c1f      	mov      	r0, r7
    2b06:	6c5b      	mov      	r1, r6
    2b08:	b883      	st.w      	r4, (r14, 0xc)
    2b0a:	e000042a 	bsr      	0x335e	// 335e <__GI_fabs>
    2b0e:	3f40      	cmpnei      	r7, 0
    2b10:	6d03      	mov      	r4, r0
    2b12:	9863      	ld.w      	r3, (r14, 0xc)
    2b14:	0826      	bt      	0x2b60	// 2b60 <__GI_pow+0x1ac>
    2b16:	3d40      	cmpnei      	r5, 0
    2b18:	0c05      	bf      	0x2b22	// 2b22 <__GI_pow+0x16e>
    2b1a:	4642      	lsli      	r2, r6, 2
    2b1c:	0302      	lrw      	r0, 0xffc00000	// 2d90 <__GI_pow+0x3dc>
    2b1e:	640a      	cmpne      	r2, r0
    2b20:	0820      	bt      	0x2b60	// 2b60 <__GI_pow+0x1ac>
    2b22:	9840      	ld.w      	r2, (r14, 0x0)
    2b24:	3adf      	btsti      	r2, 31
    2b26:	0c08      	bf      	0x2b36	// 2b36 <__GI_pow+0x182>
    2b28:	6c93      	mov      	r2, r4
    2b2a:	6cc7      	mov      	r3, r1
    2b2c:	3000      	movi      	r0, 0
    2b2e:	032a      	lrw      	r1, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2b30:	e00007e0 	bsr      	0x3af0	// 3af0 <__divdf3>
    2b34:	6d03      	mov      	r4, r0
    2b36:	3edf      	btsti      	r6, 31
    2b38:	0f62      	bf      	0x29fc	// 29fc <__GI_pow+0x48>
    2b3a:	036b      	lrw      	r3, 0xc0100000	// 2d88 <__GI_pow+0x3d4>
    2b3c:	614c      	addu      	r5, r3
    2b3e:	9801      	ld.w      	r0, (r14, 0x4)
    2b40:	6d40      	or      	r5, r0
    2b42:	3d40      	cmpnei      	r5, 0
    2b44:	080a      	bt      	0x2b58	// 2b58 <__GI_pow+0x1a4>
    2b46:	6c93      	mov      	r2, r4
    2b48:	6cc7      	mov      	r3, r1
    2b4a:	6c0b      	mov      	r0, r2
    2b4c:	6c4f      	mov      	r1, r3
    2b4e:	e000069b 	bsr      	0x3884	// 3884 <__subdf3>
    2b52:	6c83      	mov      	r2, r0
    2b54:	6cc7      	mov      	r3, r1
    2b56:	07a3      	br      	0x2a9c	// 2a9c <__GI_pow+0xe8>
    2b58:	9841      	ld.w      	r2, (r14, 0x4)
    2b5a:	3a41      	cmpnei      	r2, 1
    2b5c:	0b50      	bt      	0x29fc	// 29fc <__GI_pow+0x48>
    2b5e:	07b6      	br      	0x2aca	// 2aca <__GI_pow+0x116>
    2b60:	4e5f      	lsri      	r2, r6, 31
    2b62:	2a00      	subi      	r2, 1
    2b64:	b847      	st.w      	r2, (r14, 0x1c)
    2b66:	9807      	ld.w      	r0, (r14, 0x1c)
    2b68:	9841      	ld.w      	r2, (r14, 0x4)
    2b6a:	6c80      	or      	r2, r0
    2b6c:	3a40      	cmpnei      	r2, 0
    2b6e:	0804      	bt      	0x2b76	// 2b76 <__GI_pow+0x1c2>
    2b70:	6c9f      	mov      	r2, r7
    2b72:	6cdb      	mov      	r3, r6
    2b74:	07eb      	br      	0x2b4a	// 2b4a <__GI_pow+0x196>
    2b76:	0357      	lrw      	r2, 0x41e00000	// 2d94 <__GI_pow+0x3e0>
    2b78:	64c9      	cmplt      	r2, r3
    2b7a:	0cbf      	bf      	0x2cf8	// 2cf8 <__GI_pow+0x344>
    2b7c:	0358      	lrw      	r2, 0x43f00000	// 2d98 <__GI_pow+0x3e4>
    2b7e:	64c9      	cmplt      	r2, r3
    2b80:	037f      	lrw      	r3, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2b82:	0c0c      	bf      	0x2b9a	// 2b9a <__GI_pow+0x1e6>
    2b84:	2b00      	subi      	r3, 1
    2b86:	654d      	cmplt      	r3, r5
    2b88:	080f      	bt      	0x2ba6	// 2ba6 <__GI_pow+0x1f2>
    2b8a:	9820      	ld.w      	r1, (r14, 0x0)
    2b8c:	39df      	btsti      	r1, 31
    2b8e:	0f97      	bf      	0x2abc	// 2abc <__GI_pow+0x108>
    2b90:	035c      	lrw      	r2, 0x8800759c	// 2d9c <__GI_pow+0x3e8>
    2b92:	037b      	lrw      	r3, 0x7e37e43c	// 2da0 <__GI_pow+0x3ec>
    2b94:	6c0b      	mov      	r0, r2
    2b96:	6c4f      	mov      	r1, r3
    2b98:	07a6      	br      	0x2ae4	// 2ae4 <__GI_pow+0x130>
    2b9a:	2b01      	subi      	r3, 2
    2b9c:	654d      	cmplt      	r3, r5
    2b9e:	0ff6      	bf      	0x2b8a	// 2b8a <__GI_pow+0x1d6>
    2ba0:	1318      	lrw      	r0, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2ba2:	6541      	cmplt      	r0, r5
    2ba4:	0c05      	bf      	0x2bae	// 2bae <__GI_pow+0x1fa>
    2ba6:	9800      	ld.w      	r0, (r14, 0x0)
    2ba8:	3820      	cmplti      	r0, 1
    2baa:	0ff3      	bf      	0x2b90	// 2b90 <__GI_pow+0x1dc>
    2bac:	0788      	br      	0x2abc	// 2abc <__GI_pow+0x108>
    2bae:	3200      	movi      	r2, 0
    2bb0:	1374      	lrw      	r3, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2bb2:	6c1f      	mov      	r0, r7
    2bb4:	6c5b      	mov      	r1, r6
    2bb6:	36c0      	movi      	r6, 192
    2bb8:	e0000666 	bsr      	0x3884	// 3884 <__subdf3>
    2bbc:	4657      	lsli      	r2, r6, 23
    2bbe:	137a      	lrw      	r3, 0x3ff71547	// 2da4 <__GI_pow+0x3f0>
    2bc0:	6d43      	mov      	r5, r0
    2bc2:	6d07      	mov      	r4, r1
    2bc4:	e000067c 	bsr      	0x38bc	// 38bc <__muldf3>
    2bc8:	6dc3      	mov      	r7, r0
    2bca:	6d87      	mov      	r6, r1
    2bcc:	1357      	lrw      	r2, 0xf85ddf44	// 2da8 <__GI_pow+0x3f4>
    2bce:	1378      	lrw      	r3, 0x3e54ae0b	// 2dac <__GI_pow+0x3f8>
    2bd0:	6c17      	mov      	r0, r5
    2bd2:	6c53      	mov      	r1, r4
    2bd4:	e0000674 	bsr      	0x38bc	// 38bc <__muldf3>
    2bd8:	b803      	st.w      	r0, (r14, 0xc)
    2bda:	b824      	st.w      	r1, (r14, 0x10)
    2bdc:	3200      	movi      	r2, 0
    2bde:	1375      	lrw      	r3, 0x3fd00000	// 2db0 <__GI_pow+0x3fc>
    2be0:	6c17      	mov      	r0, r5
    2be2:	6c53      	mov      	r1, r4
    2be4:	e000066c 	bsr      	0x38bc	// 38bc <__muldf3>
    2be8:	6c83      	mov      	r2, r0
    2bea:	6cc7      	mov      	r3, r1
    2bec:	1312      	lrw      	r0, 0x55555555	// 2db4 <__GI_pow+0x400>
    2bee:	1333      	lrw      	r1, 0x3fd55555	// 2db8 <__GI_pow+0x404>
    2bf0:	e000064a 	bsr      	0x3884	// 3884 <__subdf3>
    2bf4:	6c97      	mov      	r2, r5
    2bf6:	6cd3      	mov      	r3, r4
    2bf8:	e0000662 	bsr      	0x38bc	// 38bc <__muldf3>
    2bfc:	6c83      	mov      	r2, r0
    2bfe:	6cc7      	mov      	r3, r1
    2c00:	3000      	movi      	r0, 0
    2c02:	1323      	lrw      	r1, 0x3fe00000	// 2d8c <__GI_pow+0x3d8>
    2c04:	e0000640 	bsr      	0x3884	// 3884 <__subdf3>
    2c08:	b805      	st.w      	r0, (r14, 0x14)
    2c0a:	6c97      	mov      	r2, r5
    2c0c:	6cd3      	mov      	r3, r4
    2c0e:	b826      	st.w      	r1, (r14, 0x18)
    2c10:	6c17      	mov      	r0, r5
    2c12:	6c53      	mov      	r1, r4
    2c14:	e0000654 	bsr      	0x38bc	// 38bc <__muldf3>
    2c18:	6c83      	mov      	r2, r0
    2c1a:	6cc7      	mov      	r3, r1
    2c1c:	9805      	ld.w      	r0, (r14, 0x14)
    2c1e:	9826      	ld.w      	r1, (r14, 0x18)
    2c20:	e000064e 	bsr      	0x38bc	// 38bc <__muldf3>
    2c24:	1346      	lrw      	r2, 0x652b82fe	// 2dbc <__GI_pow+0x408>
    2c26:	1360      	lrw      	r3, 0x3ff71547	// 2da4 <__GI_pow+0x3f0>
    2c28:	e000064a 	bsr      	0x38bc	// 38bc <__muldf3>
    2c2c:	6c83      	mov      	r2, r0
    2c2e:	6cc7      	mov      	r3, r1
    2c30:	9803      	ld.w      	r0, (r14, 0xc)
    2c32:	9824      	ld.w      	r1, (r14, 0x10)
    2c34:	e0000628 	bsr      	0x3884	// 3884 <__subdf3>
    2c38:	6c83      	mov      	r2, r0
    2c3a:	6cc7      	mov      	r3, r1
    2c3c:	6d43      	mov      	r5, r0
    2c3e:	6d07      	mov      	r4, r1
    2c40:	6c1f      	mov      	r0, r7
    2c42:	6c5b      	mov      	r1, r6
    2c44:	e0000608 	bsr      	0x3854	// 3854 <__adddf3>
    2c48:	6c9f      	mov      	r2, r7
    2c4a:	6cdb      	mov      	r3, r6
    2c4c:	3000      	movi      	r0, 0
    2c4e:	b823      	st.w      	r1, (r14, 0xc)
    2c50:	e000061a 	bsr      	0x3884	// 3884 <__subdf3>
    2c54:	6c83      	mov      	r2, r0
    2c56:	6cc7      	mov      	r3, r1
    2c58:	6c17      	mov      	r0, r5
    2c5a:	6c53      	mov      	r1, r4
    2c5c:	e0000614 	bsr      	0x3884	// 3884 <__subdf3>
    2c60:	6d07      	mov      	r4, r1
    2c62:	9821      	ld.w      	r1, (r14, 0x4)
    2c64:	2900      	subi      	r1, 1
    2c66:	9847      	ld.w      	r2, (r14, 0x1c)
    2c68:	6c48      	or      	r1, r2
    2c6a:	3940      	cmpnei      	r1, 0
    2c6c:	6d43      	mov      	r5, r0
    2c6e:	0c02      	bf      	0x2c72	// 2c72 <__GI_pow+0x2be>
    2c70:	05f0      	br      	0x3050	// 3050 <__GI_pow+0x69c>
    2c72:	1274      	lrw      	r3, 0xbff00000	// 2dc0 <__GI_pow+0x40c>
    2c74:	b861      	st.w      	r3, (r14, 0x4)
    2c76:	9860      	ld.w      	r3, (r14, 0x0)
    2c78:	3200      	movi      	r2, 0
    2c7a:	9802      	ld.w      	r0, (r14, 0x8)
    2c7c:	6c4f      	mov      	r1, r3
    2c7e:	e0000603 	bsr      	0x3884	// 3884 <__subdf3>
    2c82:	9863      	ld.w      	r3, (r14, 0xc)
    2c84:	3200      	movi      	r2, 0
    2c86:	e000061b 	bsr      	0x38bc	// 38bc <__muldf3>
    2c8a:	6dc3      	mov      	r7, r0
    2c8c:	6d87      	mov      	r6, r1
    2c8e:	9842      	ld.w      	r2, (r14, 0x8)
    2c90:	9860      	ld.w      	r3, (r14, 0x0)
    2c92:	6c17      	mov      	r0, r5
    2c94:	6c53      	mov      	r1, r4
    2c96:	e0000613 	bsr      	0x38bc	// 38bc <__muldf3>
    2c9a:	6c83      	mov      	r2, r0
    2c9c:	6cc7      	mov      	r3, r1
    2c9e:	6c1f      	mov      	r0, r7
    2ca0:	6c5b      	mov      	r1, r6
    2ca2:	e00005d9 	bsr      	0x3854	// 3854 <__adddf3>
    2ca6:	6dc3      	mov      	r7, r0
    2ca8:	9860      	ld.w      	r3, (r14, 0x0)
    2caa:	6d87      	mov      	r6, r1
    2cac:	3200      	movi      	r2, 0
    2cae:	9823      	ld.w      	r1, (r14, 0xc)
    2cb0:	3000      	movi      	r0, 0
    2cb2:	e0000605 	bsr      	0x38bc	// 38bc <__muldf3>
    2cb6:	b802      	st.w      	r0, (r14, 0x8)
    2cb8:	b803      	st.w      	r0, (r14, 0xc)
    2cba:	b824      	st.w      	r1, (r14, 0x10)
    2cbc:	6c83      	mov      	r2, r0
    2cbe:	6cc7      	mov      	r3, r1
    2cc0:	6d47      	mov      	r5, r1
    2cc2:	6c1f      	mov      	r0, r7
    2cc4:	6c5b      	mov      	r1, r6
    2cc6:	e00005c7 	bsr      	0x3854	// 3854 <__adddf3>
    2cca:	6d07      	mov      	r4, r1
    2ccc:	113e      	lrw      	r1, 0x40900000	// 2dc4 <__GI_pow+0x410>
    2cce:	2900      	subi      	r1, 1
    2cd0:	6505      	cmplt      	r1, r4
    2cd2:	b800      	st.w      	r0, (r14, 0x0)
    2cd4:	0803      	bt      	0x2cda	// 2cda <__GI_pow+0x326>
    2cd6:	e80002b3 	br      	0x323c	// 323c <__GI_pow+0x888>
    2cda:	117c      	lrw      	r3, 0xbf700000	// 2dc8 <__GI_pow+0x414>
    2cdc:	60d0      	addu      	r3, r4
    2cde:	6cc0      	or      	r3, r0
    2ce0:	3b40      	cmpnei      	r3, 0
    2ce2:	0802      	bt      	0x2ce6	// 2ce6 <__GI_pow+0x332>
    2ce4:	05b8      	br      	0x3054	// 3054 <__GI_pow+0x6a0>
    2ce6:	114e      	lrw      	r2, 0x8800759c	// 2d9c <__GI_pow+0x3e8>
    2ce8:	116e      	lrw      	r3, 0x7e37e43c	// 2da0 <__GI_pow+0x3ec>
    2cea:	3000      	movi      	r0, 0
    2cec:	9821      	ld.w      	r1, (r14, 0x4)
    2cee:	e00005e7 	bsr      	0x38bc	// 38bc <__muldf3>
    2cf2:	114b      	lrw      	r2, 0x8800759c	// 2d9c <__GI_pow+0x3e8>
    2cf4:	116b      	lrw      	r3, 0x7e37e43c	// 2da0 <__GI_pow+0x3ec>
    2cf6:	06f7      	br      	0x2ae4	// 2ae4 <__GI_pow+0x130>
    2cf8:	11d5      	lrw      	r6, 0xfffff	// 2dcc <__GI_pow+0x418>
    2cfa:	6559      	cmplt      	r6, r5
    2cfc:	09a6      	bt      	0x3048	// 3048 <__GI_pow+0x694>
    2cfe:	6c13      	mov      	r0, r4
    2d00:	3200      	movi      	r2, 0
    2d02:	107f      	lrw      	r3, 0x43400000	// 2d7c <__GI_pow+0x3c8>
    2d04:	e00005dc 	bsr      	0x38bc	// 38bc <__muldf3>
    2d08:	3700      	movi      	r7, 0
    2d0a:	6d03      	mov      	r4, r0
    2d0c:	6d47      	mov      	r5, r1
    2d0e:	2f34      	subi      	r7, 53
    2d10:	5514      	asri      	r0, r5, 20
    2d12:	103d      	lrw      	r1, 0xfffffc01	// 2d84 <__GI_pow+0x3d0>
    2d14:	45ac      	lsli      	r5, r5, 12
    2d16:	4d4c      	lsri      	r2, r5, 12
    2d18:	6004      	addu      	r0, r1
    2d1a:	116e      	lrw      	r3, 0x3988e	// 2dd0 <__GI_pow+0x41c>
    2d1c:	601c      	addu      	r0, r7
    2d1e:	648d      	cmplt      	r3, r2
    2d20:	10f8      	lrw      	r7, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2d22:	b804      	st.w      	r0, (r14, 0x10)
    2d24:	6dc8      	or      	r7, r2
    2d26:	0c09      	bf      	0x2d38	// 2d38 <__GI_pow+0x384>
    2d28:	11cb      	lrw      	r6, 0xbb679	// 2dd4 <__GI_pow+0x420>
    2d2a:	6499      	cmplt      	r6, r2
    2d2c:	0d90      	bf      	0x304c	// 304c <__GI_pow+0x698>
    2d2e:	6c83      	mov      	r2, r0
    2d30:	2200      	addi      	r2, 1
    2d32:	110a      	lrw      	r0, 0xfff00000	// 2dd8 <__GI_pow+0x424>
    2d34:	b844      	st.w      	r2, (r14, 0x10)
    2d36:	61c0      	addu      	r7, r0
    2d38:	3500      	movi      	r5, 0
    2d3a:	45c3      	lsli      	r6, r5, 3
    2d3c:	1168      	lrw      	r3, 0xcaa0	// 2ddc <__GI_pow+0x428>
    2d3e:	4523      	lsli      	r1, r5, 3
    2d40:	60d8      	addu      	r3, r6
    2d42:	9340      	ld.w      	r2, (r3, 0x0)
    2d44:	b828      	st.w      	r1, (r14, 0x20)
    2d46:	9361      	ld.w      	r3, (r3, 0x4)
    2d48:	6c13      	mov      	r0, r4
    2d4a:	6c5f      	mov      	r1, r7
    2d4c:	b845      	st.w      	r2, (r14, 0x14)
    2d4e:	b866      	st.w      	r3, (r14, 0x18)
    2d50:	e000059a 	bsr      	0x3884	// 3884 <__subdf3>
    2d54:	b809      	st.w      	r0, (r14, 0x24)
    2d56:	9845      	ld.w      	r2, (r14, 0x14)
    2d58:	9866      	ld.w      	r3, (r14, 0x18)
    2d5a:	b82a      	st.w      	r1, (r14, 0x28)
    2d5c:	6c13      	mov      	r0, r4
    2d5e:	6c5f      	mov      	r1, r7
    2d60:	e000057a 	bsr      	0x3854	// 3854 <__adddf3>
    2d64:	6c83      	mov      	r2, r0
    2d66:	6cc7      	mov      	r3, r1
    2d68:	3000      	movi      	r0, 0
    2d6a:	1026      	lrw      	r1, 0x3ff00000	// 2d80 <__GI_pow+0x3cc>
    2d6c:	e00006c2 	bsr      	0x3af0	// 3af0 <__divdf3>
    2d70:	6c83      	mov      	r2, r0
    2d72:	6cc7      	mov      	r3, r1
    2d74:	0436      	br      	0x2de0	// 2de0 <__GI_pow+0x42c>
    2d76:	0000      	bkpt
    2d78:	7ff00000 	.long	0x7ff00000
    2d7c:	43400000 	.long	0x43400000
    2d80:	3ff00000 	.long	0x3ff00000
    2d84:	fffffc01 	.long	0xfffffc01
    2d88:	c0100000 	.long	0xc0100000
    2d8c:	3fe00000 	.long	0x3fe00000
    2d90:	ffc00000 	.long	0xffc00000
    2d94:	41e00000 	.long	0x41e00000
    2d98:	43f00000 	.long	0x43f00000
    2d9c:	8800759c 	.long	0x8800759c
    2da0:	7e37e43c 	.long	0x7e37e43c
    2da4:	3ff71547 	.long	0x3ff71547
    2da8:	f85ddf44 	.long	0xf85ddf44
    2dac:	3e54ae0b 	.long	0x3e54ae0b
    2db0:	3fd00000 	.long	0x3fd00000
    2db4:	55555555 	.long	0x55555555
    2db8:	3fd55555 	.long	0x3fd55555
    2dbc:	652b82fe 	.long	0x652b82fe
    2dc0:	bff00000 	.long	0xbff00000
    2dc4:	40900000 	.long	0x40900000
    2dc8:	bf700000 	.long	0xbf700000
    2dcc:	000fffff 	.long	0x000fffff
    2dd0:	0003988e 	.long	0x0003988e
    2dd4:	000bb679 	.long	0x000bb679
    2dd8:	fff00000 	.long	0xfff00000
    2ddc:	0000caa0 	.long	0x0000caa0
    2de0:	b80b      	st.w      	r0, (r14, 0x2c)
    2de2:	b82c      	st.w      	r1, (r14, 0x30)
    2de4:	9809      	ld.w      	r0, (r14, 0x24)
    2de6:	982a      	ld.w      	r1, (r14, 0x28)
    2de8:	e000056a 	bsr      	0x38bc	// 38bc <__muldf3>
    2dec:	b803      	st.w      	r0, (r14, 0xc)
    2dee:	3280      	movi      	r2, 128
    2df0:	5701      	asri      	r0, r7, 1
    2df2:	6d87      	mov      	r6, r1
    2df4:	38bd      	bseti      	r0, 29
    2df6:	422c      	lsli      	r1, r2, 12
    2df8:	6004      	addu      	r0, r1
    2dfa:	45b2      	lsli      	r5, r5, 18
    2dfc:	6140      	addu      	r5, r0
    2dfe:	6cd7      	mov      	r3, r5
    2e00:	3200      	movi      	r2, 0
    2e02:	6c5b      	mov      	r1, r6
    2e04:	3000      	movi      	r0, 0
    2e06:	e000055b 	bsr      	0x38bc	// 38bc <__muldf3>
    2e0a:	6c83      	mov      	r2, r0
    2e0c:	6cc7      	mov      	r3, r1
    2e0e:	9809      	ld.w      	r0, (r14, 0x24)
    2e10:	982a      	ld.w      	r1, (r14, 0x28)
    2e12:	e0000539 	bsr      	0x3884	// 3884 <__subdf3>
    2e16:	b809      	st.w      	r0, (r14, 0x24)
    2e18:	9845      	ld.w      	r2, (r14, 0x14)
    2e1a:	9866      	ld.w      	r3, (r14, 0x18)
    2e1c:	b82a      	st.w      	r1, (r14, 0x28)
    2e1e:	3000      	movi      	r0, 0
    2e20:	6c57      	mov      	r1, r5
    2e22:	e0000531 	bsr      	0x3884	// 3884 <__subdf3>
    2e26:	6c83      	mov      	r2, r0
    2e28:	6cc7      	mov      	r3, r1
    2e2a:	6c13      	mov      	r0, r4
    2e2c:	6c5f      	mov      	r1, r7
    2e2e:	e000052b 	bsr      	0x3884	// 3884 <__subdf3>
    2e32:	6cdb      	mov      	r3, r6
    2e34:	3200      	movi      	r2, 0
    2e36:	e0000543 	bsr      	0x38bc	// 38bc <__muldf3>
    2e3a:	6c83      	mov      	r2, r0
    2e3c:	6cc7      	mov      	r3, r1
    2e3e:	9809      	ld.w      	r0, (r14, 0x24)
    2e40:	982a      	ld.w      	r1, (r14, 0x28)
    2e42:	e0000521 	bsr      	0x3884	// 3884 <__subdf3>
    2e46:	984b      	ld.w      	r2, (r14, 0x2c)
    2e48:	986c      	ld.w      	r3, (r14, 0x30)
    2e4a:	e0000539 	bsr      	0x38bc	// 38bc <__muldf3>
    2e4e:	9843      	ld.w      	r2, (r14, 0xc)
    2e50:	6cdb      	mov      	r3, r6
    2e52:	b805      	st.w      	r0, (r14, 0x14)
    2e54:	b826      	st.w      	r1, (r14, 0x18)
    2e56:	6c0b      	mov      	r0, r2
    2e58:	6c5b      	mov      	r1, r6
    2e5a:	e0000531 	bsr      	0x38bc	// 38bc <__muldf3>
    2e5e:	ea820113 	lrw      	r2, 0x4a454eef	// 32a8 <__GI_pow+0x8f4>
    2e62:	ea830113 	lrw      	r3, 0x3fca7e28	// 32ac <__GI_pow+0x8f8>
    2e66:	6d43      	mov      	r5, r0
    2e68:	6d07      	mov      	r4, r1
    2e6a:	e0000529 	bsr      	0x38bc	// 38bc <__muldf3>
    2e6e:	ea820111 	lrw      	r2, 0x93c9db65	// 32b0 <__GI_pow+0x8fc>
    2e72:	ea830111 	lrw      	r3, 0x3fcd864a	// 32b4 <__GI_pow+0x900>
    2e76:	e00004ef 	bsr      	0x3854	// 3854 <__adddf3>
    2e7a:	6c97      	mov      	r2, r5
    2e7c:	6cd3      	mov      	r3, r4
    2e7e:	e000051f 	bsr      	0x38bc	// 38bc <__muldf3>
    2e82:	ea82010e 	lrw      	r2, 0xa91d4101	// 32b8 <__GI_pow+0x904>
    2e86:	ea83010e 	lrw      	r3, 0x3fd17460	// 32bc <__GI_pow+0x908>
    2e8a:	e00004e5 	bsr      	0x3854	// 3854 <__adddf3>
    2e8e:	6c97      	mov      	r2, r5
    2e90:	6cd3      	mov      	r3, r4
    2e92:	e0000515 	bsr      	0x38bc	// 38bc <__muldf3>
    2e96:	ea82010b 	lrw      	r2, 0x518f264d	// 32c0 <__GI_pow+0x90c>
    2e9a:	ea83010b 	lrw      	r3, 0x3fd55555	// 32c4 <__GI_pow+0x910>
    2e9e:	e00004db 	bsr      	0x3854	// 3854 <__adddf3>
    2ea2:	6c97      	mov      	r2, r5
    2ea4:	6cd3      	mov      	r3, r4
    2ea6:	e000050b 	bsr      	0x38bc	// 38bc <__muldf3>
    2eaa:	ea820108 	lrw      	r2, 0xdb6fabff	// 32c8 <__GI_pow+0x914>
    2eae:	ea830108 	lrw      	r3, 0x3fdb6db6	// 32cc <__GI_pow+0x918>
    2eb2:	e00004d1 	bsr      	0x3854	// 3854 <__adddf3>
    2eb6:	6c97      	mov      	r2, r5
    2eb8:	6cd3      	mov      	r3, r4
    2eba:	e0000501 	bsr      	0x38bc	// 38bc <__muldf3>
    2ebe:	ea820105 	lrw      	r2, 0x33333303	// 32d0 <__GI_pow+0x91c>
    2ec2:	ea830105 	lrw      	r3, 0x3fe33333	// 32d4 <__GI_pow+0x920>
    2ec6:	e00004c7 	bsr      	0x3854	// 3854 <__adddf3>
    2eca:	6dc3      	mov      	r7, r0
    2ecc:	6c97      	mov      	r2, r5
    2ece:	6cd3      	mov      	r3, r4
    2ed0:	b829      	st.w      	r1, (r14, 0x24)
    2ed2:	6c17      	mov      	r0, r5
    2ed4:	6c53      	mov      	r1, r4
    2ed6:	e00004f3 	bsr      	0x38bc	// 38bc <__muldf3>
    2eda:	6c83      	mov      	r2, r0
    2edc:	6cc7      	mov      	r3, r1
    2ede:	6c1f      	mov      	r0, r7
    2ee0:	9829      	ld.w      	r1, (r14, 0x24)
    2ee2:	e00004ed 	bsr      	0x38bc	// 38bc <__muldf3>
    2ee6:	6d43      	mov      	r5, r0
    2ee8:	6d07      	mov      	r4, r1
    2eea:	6cdb      	mov      	r3, r6
    2eec:	3200      	movi      	r2, 0
    2eee:	9803      	ld.w      	r0, (r14, 0xc)
    2ef0:	6c5b      	mov      	r1, r6
    2ef2:	e00004b1 	bsr      	0x3854	// 3854 <__adddf3>
    2ef6:	9845      	ld.w      	r2, (r14, 0x14)
    2ef8:	9866      	ld.w      	r3, (r14, 0x18)
    2efa:	e00004e1 	bsr      	0x38bc	// 38bc <__muldf3>
    2efe:	6c97      	mov      	r2, r5
    2f00:	6cd3      	mov      	r3, r4
    2f02:	e00004a9 	bsr      	0x3854	// 3854 <__adddf3>
    2f06:	6d43      	mov      	r5, r0
    2f08:	6cdb      	mov      	r3, r6
    2f0a:	b829      	st.w      	r1, (r14, 0x24)
    2f0c:	3200      	movi      	r2, 0
    2f0e:	6c5b      	mov      	r1, r6
    2f10:	3000      	movi      	r0, 0
    2f12:	e00004d5 	bsr      	0x38bc	// 38bc <__muldf3>
    2f16:	3200      	movi      	r2, 0
    2f18:	006f      	lrw      	r3, 0x40080000	// 32d8 <__GI_pow+0x924>
    2f1a:	6dc3      	mov      	r7, r0
    2f1c:	b82a      	st.w      	r1, (r14, 0x28)
    2f1e:	e000049b 	bsr      	0x3854	// 3854 <__adddf3>
    2f22:	6c97      	mov      	r2, r5
    2f24:	9869      	ld.w      	r3, (r14, 0x24)
    2f26:	e0000497 	bsr      	0x3854	// 3854 <__adddf3>
    2f2a:	6d07      	mov      	r4, r1
    2f2c:	6cc7      	mov      	r3, r1
    2f2e:	3200      	movi      	r2, 0
    2f30:	6c5b      	mov      	r1, r6
    2f32:	3000      	movi      	r0, 0
    2f34:	e00004c4 	bsr      	0x38bc	// 38bc <__muldf3>
    2f38:	b80b      	st.w      	r0, (r14, 0x2c)
    2f3a:	b82c      	st.w      	r1, (r14, 0x30)
    2f3c:	3200      	movi      	r2, 0
    2f3e:	0078      	lrw      	r3, 0x40080000	// 32d8 <__GI_pow+0x924>
    2f40:	6c53      	mov      	r1, r4
    2f42:	3000      	movi      	r0, 0
    2f44:	e00004a0 	bsr      	0x3884	// 3884 <__subdf3>
    2f48:	6c9f      	mov      	r2, r7
    2f4a:	986a      	ld.w      	r3, (r14, 0x28)
    2f4c:	e000049c 	bsr      	0x3884	// 3884 <__subdf3>
    2f50:	6c83      	mov      	r2, r0
    2f52:	6cc7      	mov      	r3, r1
    2f54:	6c17      	mov      	r0, r5
    2f56:	9829      	ld.w      	r1, (r14, 0x24)
    2f58:	e0000496 	bsr      	0x3884	// 3884 <__subdf3>
    2f5c:	9843      	ld.w      	r2, (r14, 0xc)
    2f5e:	6cdb      	mov      	r3, r6
    2f60:	e00004ae 	bsr      	0x38bc	// 38bc <__muldf3>
    2f64:	6d83      	mov      	r6, r0
    2f66:	6d47      	mov      	r5, r1
    2f68:	6cd3      	mov      	r3, r4
    2f6a:	3200      	movi      	r2, 0
    2f6c:	9805      	ld.w      	r0, (r14, 0x14)
    2f6e:	9826      	ld.w      	r1, (r14, 0x18)
    2f70:	e00004a6 	bsr      	0x38bc	// 38bc <__muldf3>
    2f74:	6c83      	mov      	r2, r0
    2f76:	6cc7      	mov      	r3, r1
    2f78:	6c1b      	mov      	r0, r6
    2f7a:	6c57      	mov      	r1, r5
    2f7c:	e000046c 	bsr      	0x3854	// 3854 <__adddf3>
    2f80:	6dc3      	mov      	r7, r0
    2f82:	6d87      	mov      	r6, r1
    2f84:	6c83      	mov      	r2, r0
    2f86:	6cc7      	mov      	r3, r1
    2f88:	980b      	ld.w      	r0, (r14, 0x2c)
    2f8a:	982c      	ld.w      	r1, (r14, 0x30)
    2f8c:	e0000464 	bsr      	0x3854	// 3854 <__adddf3>
    2f90:	33e0      	movi      	r3, 224
    2f92:	4358      	lsli      	r2, r3, 24
    2f94:	3000      	movi      	r0, 0
    2f96:	016d      	lrw      	r3, 0x3feec709	// 32dc <__GI_pow+0x928>
    2f98:	6d07      	mov      	r4, r1
    2f9a:	e0000491 	bsr      	0x38bc	// 38bc <__muldf3>
    2f9e:	b805      	st.w      	r0, (r14, 0x14)
    2fa0:	b826      	st.w      	r1, (r14, 0x18)
    2fa2:	984b      	ld.w      	r2, (r14, 0x2c)
    2fa4:	986c      	ld.w      	r3, (r14, 0x30)
    2fa6:	6c53      	mov      	r1, r4
    2fa8:	3000      	movi      	r0, 0
    2faa:	e000046d 	bsr      	0x3884	// 3884 <__subdf3>
    2fae:	6c83      	mov      	r2, r0
    2fb0:	6cc7      	mov      	r3, r1
    2fb2:	6c1f      	mov      	r0, r7
    2fb4:	6c5b      	mov      	r1, r6
    2fb6:	e0000467 	bsr      	0x3884	// 3884 <__subdf3>
    2fba:	0155      	lrw      	r2, 0xdc3a03fd	// 32e0 <__GI_pow+0x92c>
    2fbc:	0177      	lrw      	r3, 0x3feec709	// 32dc <__GI_pow+0x928>
    2fbe:	e000047f 	bsr      	0x38bc	// 38bc <__muldf3>
    2fc2:	6dc3      	mov      	r7, r0
    2fc4:	6d47      	mov      	r5, r1
    2fc6:	0157      	lrw      	r2, 0x145b01f5	// 32e4 <__GI_pow+0x930>
    2fc8:	0177      	lrw      	r3, 0xbe3e2fe0	// 32e8 <__GI_pow+0x934>
    2fca:	6c53      	mov      	r1, r4
    2fcc:	3000      	movi      	r0, 0
    2fce:	e0000477 	bsr      	0x38bc	// 38bc <__muldf3>
    2fd2:	6c83      	mov      	r2, r0
    2fd4:	6cc7      	mov      	r3, r1
    2fd6:	6c1f      	mov      	r0, r7
    2fd8:	6c57      	mov      	r1, r5
    2fda:	e000043d 	bsr      	0x3854	// 3854 <__adddf3>
    2fde:	01db      	lrw      	r6, 0xcaa0	// 32ec <__GI_pow+0x938>
    2fe0:	9848      	ld.w      	r2, (r14, 0x20)
    2fe2:	6188      	addu      	r6, r2
    2fe4:	9644      	ld.w      	r2, (r6, 0x10)
    2fe6:	9665      	ld.w      	r3, (r6, 0x14)
    2fe8:	e0000436 	bsr      	0x3854	// 3854 <__adddf3>
    2fec:	b809      	st.w      	r0, (r14, 0x24)
    2fee:	9804      	ld.w      	r0, (r14, 0x10)
    2ff0:	b82a      	st.w      	r1, (r14, 0x28)
    2ff2:	e0000683 	bsr      	0x3cf8	// 3cf8 <__floatsidf>
    2ff6:	6d83      	mov      	r6, r0
    2ff8:	0202      	lrw      	r0, 0xcaa0	// 32ec <__GI_pow+0x938>
    2ffa:	6d47      	mov      	r5, r1
    2ffc:	201f      	addi      	r0, 32
    2ffe:	9828      	ld.w      	r1, (r14, 0x20)
    3000:	6004      	addu      	r0, r1
    3002:	9080      	ld.w      	r4, (r0, 0x0)
    3004:	90e1      	ld.w      	r7, (r0, 0x4)
    3006:	9849      	ld.w      	r2, (r14, 0x24)
    3008:	986a      	ld.w      	r3, (r14, 0x28)
    300a:	9805      	ld.w      	r0, (r14, 0x14)
    300c:	9826      	ld.w      	r1, (r14, 0x18)
    300e:	e0000423 	bsr      	0x3854	// 3854 <__adddf3>
    3012:	6c93      	mov      	r2, r4
    3014:	6cdf      	mov      	r3, r7
    3016:	e000041f 	bsr      	0x3854	// 3854 <__adddf3>
    301a:	6c9b      	mov      	r2, r6
    301c:	6cd7      	mov      	r3, r5
    301e:	e000041b 	bsr      	0x3854	// 3854 <__adddf3>
    3022:	6c9b      	mov      	r2, r6
    3024:	6cd7      	mov      	r3, r5
    3026:	3000      	movi      	r0, 0
    3028:	b823      	st.w      	r1, (r14, 0xc)
    302a:	e000042d 	bsr      	0x3884	// 3884 <__subdf3>
    302e:	6c93      	mov      	r2, r4
    3030:	6cdf      	mov      	r3, r7
    3032:	e0000429 	bsr      	0x3884	// 3884 <__subdf3>
    3036:	9845      	ld.w      	r2, (r14, 0x14)
    3038:	9866      	ld.w      	r3, (r14, 0x18)
    303a:	e0000425 	bsr      	0x3884	// 3884 <__subdf3>
    303e:	6c83      	mov      	r2, r0
    3040:	6cc7      	mov      	r3, r1
    3042:	9809      	ld.w      	r0, (r14, 0x24)
    3044:	982a      	ld.w      	r1, (r14, 0x28)
    3046:	060b      	br      	0x2c5c	// 2c5c <__GI_pow+0x2a8>
    3048:	3700      	movi      	r7, 0
    304a:	0663      	br      	0x2d10	// 2d10 <__GI_pow+0x35c>
    304c:	3501      	movi      	r5, 1
    304e:	0676      	br      	0x2d3a	// 2d3a <__GI_pow+0x386>
    3050:	0277      	lrw      	r3, 0x3ff00000	// 32f0 <__GI_pow+0x93c>
    3052:	0611      	br      	0x2c74	// 2c74 <__GI_pow+0x2c0>
    3054:	0257      	lrw      	r2, 0x652b82fe	// 32f4 <__GI_pow+0x940>
    3056:	0276      	lrw      	r3, 0x3c971547	// 32f8 <__GI_pow+0x944>
    3058:	6c1f      	mov      	r0, r7
    305a:	6c5b      	mov      	r1, r6
    305c:	e00003fc 	bsr      	0x3854	// 3854 <__adddf3>
    3060:	b805      	st.w      	r0, (r14, 0x14)
    3062:	b826      	st.w      	r1, (r14, 0x18)
    3064:	9842      	ld.w      	r2, (r14, 0x8)
    3066:	6cd7      	mov      	r3, r5
    3068:	9800      	ld.w      	r0, (r14, 0x0)
    306a:	6c53      	mov      	r1, r4
    306c:	e000040c 	bsr      	0x3884	// 3884 <__subdf3>
    3070:	6c83      	mov      	r2, r0
    3072:	6cc7      	mov      	r3, r1
    3074:	9805      	ld.w      	r0, (r14, 0x14)
    3076:	9826      	ld.w      	r1, (r14, 0x18)
    3078:	e00005e6 	bsr      	0x3c44	// 3c44 <__gtdf2>
    307c:	3820      	cmplti      	r0, 1
    307e:	0802      	bt      	0x3082	// 3082 <__GI_pow+0x6ce>
    3080:	0633      	br      	0x2ce6	// 2ce6 <__GI_pow+0x332>
    3082:	4421      	lsli      	r1, r4, 1
    3084:	4901      	lsri      	r0, r1, 1
    3086:	0361      	lrw      	r3, 0x3fe00000	// 32fc <__GI_pow+0x948>
    3088:	640d      	cmplt      	r3, r0
    308a:	0cfd      	bf      	0x3284	// 3284 <__GI_pow+0x8d0>
    308c:	5034      	asri      	r1, r0, 20
    308e:	0342      	lrw      	r2, 0xfffffc02	// 3300 <__GI_pow+0x94c>
    3090:	3080      	movi      	r0, 128
    3092:	6048      	addu      	r1, r2
    3094:	404d      	lsli      	r2, r0, 13
    3096:	7086      	asr      	r2, r1
    3098:	6090      	addu      	r2, r4
    309a:	4261      	lsli      	r3, r2, 1
    309c:	4b35      	lsri      	r1, r3, 21
    309e:	0305      	lrw      	r0, 0xfffffc01	// 3304 <__GI_pow+0x950>
    30a0:	6040      	addu      	r1, r0
    30a2:	0365      	lrw      	r3, 0xfffff	// 3308 <__GI_pow+0x954>
    30a4:	70c6      	asr      	r3, r1
    30a6:	6c0b      	mov      	r0, r2
    30a8:	680d      	andn      	r0, r3
    30aa:	424c      	lsli      	r2, r2, 12
    30ac:	6cc3      	mov      	r3, r0
    30ae:	4a4c      	lsri      	r2, r2, 12
    30b0:	3014      	movi      	r0, 20
    30b2:	3ab4      	bseti      	r2, 20
    30b4:	5825      	subu      	r1, r0, r1
    30b6:	7086      	asr      	r2, r1
    30b8:	3cdf      	btsti      	r4, 31
    30ba:	b840      	st.w      	r2, (r14, 0x0)
    30bc:	0c05      	bf      	0x30c6	// 30c6 <__GI_pow+0x712>
    30be:	9840      	ld.w      	r2, (r14, 0x0)
    30c0:	3400      	movi      	r4, 0
    30c2:	610a      	subu      	r4, r2
    30c4:	b880      	st.w      	r4, (r14, 0x0)
    30c6:	3200      	movi      	r2, 0
    30c8:	9802      	ld.w      	r0, (r14, 0x8)
    30ca:	6c57      	mov      	r1, r5
    30cc:	e00003dc 	bsr      	0x3884	// 3884 <__subdf3>
    30d0:	b803      	st.w      	r0, (r14, 0xc)
    30d2:	b824      	st.w      	r1, (r14, 0x10)
    30d4:	9803      	ld.w      	r0, (r14, 0xc)
    30d6:	6c9f      	mov      	r2, r7
    30d8:	6cdb      	mov      	r3, r6
    30da:	9824      	ld.w      	r1, (r14, 0x10)
    30dc:	e00003bc 	bsr      	0x3854	// 3854 <__adddf3>
    30e0:	3200      	movi      	r2, 0
    30e2:	0374      	lrw      	r3, 0x3fe62e43	// 330c <__GI_pow+0x958>
    30e4:	3000      	movi      	r0, 0
    30e6:	6d07      	mov      	r4, r1
    30e8:	e00003ea 	bsr      	0x38bc	// 38bc <__muldf3>
    30ec:	6d47      	mov      	r5, r1
    30ee:	9843      	ld.w      	r2, (r14, 0xc)
    30f0:	9864      	ld.w      	r3, (r14, 0x10)
    30f2:	b802      	st.w      	r0, (r14, 0x8)
    30f4:	6c53      	mov      	r1, r4
    30f6:	3000      	movi      	r0, 0
    30f8:	e00003c6 	bsr      	0x3884	// 3884 <__subdf3>
    30fc:	6c83      	mov      	r2, r0
    30fe:	6cc7      	mov      	r3, r1
    3100:	6c1f      	mov      	r0, r7
    3102:	6c5b      	mov      	r1, r6
    3104:	e00003c0 	bsr      	0x3884	// 3884 <__subdf3>
    3108:	035d      	lrw      	r2, 0xfefa39ef	// 3310 <__GI_pow+0x95c>
    310a:	037c      	lrw      	r3, 0x3fe62e42	// 3314 <__GI_pow+0x960>
    310c:	e00003d8 	bsr      	0x38bc	// 38bc <__muldf3>
    3110:	6dc3      	mov      	r7, r0
    3112:	6d87      	mov      	r6, r1
    3114:	035e      	lrw      	r2, 0xca86c39	// 3318 <__GI_pow+0x964>
    3116:	037d      	lrw      	r3, 0xbe205c61	// 331c <__GI_pow+0x968>
    3118:	6c53      	mov      	r1, r4
    311a:	3000      	movi      	r0, 0
    311c:	e00003d0 	bsr      	0x38bc	// 38bc <__muldf3>
    3120:	6c83      	mov      	r2, r0
    3122:	6cc7      	mov      	r3, r1
    3124:	6c1f      	mov      	r0, r7
    3126:	6c5b      	mov      	r1, r6
    3128:	e0000396 	bsr      	0x3854	// 3854 <__adddf3>
    312c:	6d07      	mov      	r4, r1
    312e:	6c83      	mov      	r2, r0
    3130:	6cc7      	mov      	r3, r1
    3132:	b803      	st.w      	r0, (r14, 0xc)
    3134:	6c57      	mov      	r1, r5
    3136:	9802      	ld.w      	r0, (r14, 0x8)
    3138:	e000038e 	bsr      	0x3854	// 3854 <__adddf3>
    313c:	9842      	ld.w      	r2, (r14, 0x8)
    313e:	6cd7      	mov      	r3, r5
    3140:	6dc3      	mov      	r7, r0
    3142:	6d87      	mov      	r6, r1
    3144:	e00003a0 	bsr      	0x3884	// 3884 <__subdf3>
    3148:	6c83      	mov      	r2, r0
    314a:	6cc7      	mov      	r3, r1
    314c:	9803      	ld.w      	r0, (r14, 0xc)
    314e:	6c53      	mov      	r1, r4
    3150:	e000039a 	bsr      	0x3884	// 3884 <__subdf3>
    3154:	b802      	st.w      	r0, (r14, 0x8)
    3156:	b823      	st.w      	r1, (r14, 0xc)
    3158:	6c9f      	mov      	r2, r7
    315a:	6cdb      	mov      	r3, r6
    315c:	6c1f      	mov      	r0, r7
    315e:	6c5b      	mov      	r1, r6
    3160:	e00003ae 	bsr      	0x38bc	// 38bc <__muldf3>
    3164:	134f      	lrw      	r2, 0x72bea4d0	// 3320 <__GI_pow+0x96c>
    3166:	1370      	lrw      	r3, 0x3e663769	// 3324 <__GI_pow+0x970>
    3168:	6d43      	mov      	r5, r0
    316a:	6d07      	mov      	r4, r1
    316c:	e00003a8 	bsr      	0x38bc	// 38bc <__muldf3>
    3170:	134e      	lrw      	r2, 0xc5d26bf1	// 3328 <__GI_pow+0x974>
    3172:	136f      	lrw      	r3, 0x3ebbbd41	// 332c <__GI_pow+0x978>
    3174:	e0000388 	bsr      	0x3884	// 3884 <__subdf3>
    3178:	6c97      	mov      	r2, r5
    317a:	6cd3      	mov      	r3, r4
    317c:	e00003a0 	bsr      	0x38bc	// 38bc <__muldf3>
    3180:	134c      	lrw      	r2, 0xaf25de2c	// 3330 <__GI_pow+0x97c>
    3182:	136d      	lrw      	r3, 0x3f11566a	// 3334 <__GI_pow+0x980>
    3184:	e0000368 	bsr      	0x3854	// 3854 <__adddf3>
    3188:	6c97      	mov      	r2, r5
    318a:	6cd3      	mov      	r3, r4
    318c:	e0000398 	bsr      	0x38bc	// 38bc <__muldf3>
    3190:	134a      	lrw      	r2, 0x16bebd93	// 3338 <__GI_pow+0x984>
    3192:	136b      	lrw      	r3, 0x3f66c16c	// 333c <__GI_pow+0x988>
    3194:	e0000378 	bsr      	0x3884	// 3884 <__subdf3>
    3198:	6c97      	mov      	r2, r5
    319a:	6cd3      	mov      	r3, r4
    319c:	e0000390 	bsr      	0x38bc	// 38bc <__muldf3>
    31a0:	1348      	lrw      	r2, 0x5555553e	// 3340 <__GI_pow+0x98c>
    31a2:	1369      	lrw      	r3, 0x3fc55555	// 3344 <__GI_pow+0x990>
    31a4:	e0000358 	bsr      	0x3854	// 3854 <__adddf3>
    31a8:	6c97      	mov      	r2, r5
    31aa:	6cd3      	mov      	r3, r4
    31ac:	e0000388 	bsr      	0x38bc	// 38bc <__muldf3>
    31b0:	6c83      	mov      	r2, r0
    31b2:	6cc7      	mov      	r3, r1
    31b4:	6c1f      	mov      	r0, r7
    31b6:	6c5b      	mov      	r1, r6
    31b8:	e0000366 	bsr      	0x3884	// 3884 <__subdf3>
    31bc:	6d43      	mov      	r5, r0
    31be:	6d07      	mov      	r4, r1
    31c0:	6c83      	mov      	r2, r0
    31c2:	6cc7      	mov      	r3, r1
    31c4:	6c1f      	mov      	r0, r7
    31c6:	6c5b      	mov      	r1, r6
    31c8:	e000037a 	bsr      	0x38bc	// 38bc <__muldf3>
    31cc:	3380      	movi      	r3, 128
    31ce:	b804      	st.w      	r0, (r14, 0x10)
    31d0:	b825      	st.w      	r1, (r14, 0x14)
    31d2:	3200      	movi      	r2, 0
    31d4:	4377      	lsli      	r3, r3, 23
    31d6:	6c17      	mov      	r0, r5
    31d8:	6c53      	mov      	r1, r4
    31da:	e0000355 	bsr      	0x3884	// 3884 <__subdf3>
    31de:	6c83      	mov      	r2, r0
    31e0:	6cc7      	mov      	r3, r1
    31e2:	9804      	ld.w      	r0, (r14, 0x10)
    31e4:	9825      	ld.w      	r1, (r14, 0x14)
    31e6:	e0000485 	bsr      	0x3af0	// 3af0 <__divdf3>
    31ea:	6d07      	mov      	r4, r1
    31ec:	6d43      	mov      	r5, r0
    31ee:	9842      	ld.w      	r2, (r14, 0x8)
    31f0:	9863      	ld.w      	r3, (r14, 0xc)
    31f2:	6c1f      	mov      	r0, r7
    31f4:	6c5b      	mov      	r1, r6
    31f6:	e0000363 	bsr      	0x38bc	// 38bc <__muldf3>
    31fa:	9842      	ld.w      	r2, (r14, 0x8)
    31fc:	9863      	ld.w      	r3, (r14, 0xc)
    31fe:	e000032b 	bsr      	0x3854	// 3854 <__adddf3>
    3202:	6c83      	mov      	r2, r0
    3204:	6cc7      	mov      	r3, r1
    3206:	6c17      	mov      	r0, r5
    3208:	6c53      	mov      	r1, r4
    320a:	e000033d 	bsr      	0x3884	// 3884 <__subdf3>
    320e:	6c9f      	mov      	r2, r7
    3210:	6cdb      	mov      	r3, r6
    3212:	e0000339 	bsr      	0x3884	// 3884 <__subdf3>
    3216:	6c83      	mov      	r2, r0
    3218:	6cc7      	mov      	r3, r1
    321a:	3000      	movi      	r0, 0
    321c:	1135      	lrw      	r1, 0x3ff00000	// 32f0 <__GI_pow+0x93c>
    321e:	e0000333 	bsr      	0x3884	// 3884 <__subdf3>
    3222:	9840      	ld.w      	r2, (r14, 0x0)
    3224:	4274      	lsli      	r3, r2, 20
    3226:	60c4      	addu      	r3, r1
    3228:	5394      	asri      	r4, r3, 20
    322a:	3c20      	cmplti      	r4, 1
    322c:	0c2f      	bf      	0x328a	// 328a <__GI_pow+0x8d6>
    322e:	9840      	ld.w      	r2, (r14, 0x0)
    3230:	e000009a 	bsr      	0x3364	// 3364 <__GI_scalbn>
    3234:	3200      	movi      	r2, 0
    3236:	9861      	ld.w      	r3, (r14, 0x4)
    3238:	e800fc56 	br      	0x2ae4	// 2ae4 <__GI_pow+0x130>
    323c:	4401      	lsli      	r0, r4, 1
    323e:	4861      	lsri      	r3, r0, 1
    3240:	1242      	lrw      	r2, 0x4090cbff	// 3348 <__GI_pow+0x994>
    3242:	64c9      	cmplt      	r2, r3
    3244:	0f1f      	bf      	0x3082	// 3082 <__GI_pow+0x6ce>
    3246:	1222      	lrw      	r1, 0x3f6f3400	// 334c <__GI_pow+0x998>
    3248:	6050      	addu      	r1, r4
    324a:	9800      	ld.w      	r0, (r14, 0x0)
    324c:	6c40      	or      	r1, r0
    324e:	3940      	cmpnei      	r1, 0
    3250:	0c0b      	bf      	0x3266	// 3266 <__GI_pow+0x8b2>
    3252:	1240      	lrw      	r2, 0xc2f8f359	// 3350 <__GI_pow+0x99c>
    3254:	1260      	lrw      	r3, 0x1a56e1f	// 3354 <__GI_pow+0x9a0>
    3256:	3000      	movi      	r0, 0
    3258:	9821      	ld.w      	r1, (r14, 0x4)
    325a:	e0000331 	bsr      	0x38bc	// 38bc <__muldf3>
    325e:	115d      	lrw      	r2, 0xc2f8f359	// 3350 <__GI_pow+0x99c>
    3260:	117d      	lrw      	r3, 0x1a56e1f	// 3354 <__GI_pow+0x9a0>
    3262:	e800fc41 	br      	0x2ae4	// 2ae4 <__GI_pow+0x130>
    3266:	9842      	ld.w      	r2, (r14, 0x8)
    3268:	6cd7      	mov      	r3, r5
    326a:	9800      	ld.w      	r0, (r14, 0x0)
    326c:	6c53      	mov      	r1, r4
    326e:	e000030b 	bsr      	0x3884	// 3884 <__subdf3>
    3272:	6c83      	mov      	r2, r0
    3274:	6cc7      	mov      	r3, r1
    3276:	6c1f      	mov      	r0, r7
    3278:	6c5b      	mov      	r1, r6
    327a:	e0000521 	bsr      	0x3cbc	// 3cbc <__ledf2>
    327e:	3820      	cmplti      	r0, 1
    3280:	0f01      	bf      	0x3082	// 3082 <__GI_pow+0x6ce>
    3282:	07e8      	br      	0x3252	// 3252 <__GI_pow+0x89e>
    3284:	3500      	movi      	r5, 0
    3286:	b8a0      	st.w      	r5, (r14, 0x0)
    3288:	0726      	br      	0x30d4	// 30d4 <__GI_pow+0x720>
    328a:	6c4f      	mov      	r1, r3
    328c:	07d4      	br      	0x3234	// 3234 <__GI_pow+0x880>
    328e:	3400      	movi      	r4, 0
    3290:	1038      	lrw      	r1, 0x3ff00000	// 32f0 <__GI_pow+0x93c>
    3292:	e800fbb5 	br      	0x29fc	// 29fc <__GI_pow+0x48>
    3296:	3400      	movi      	r4, 0
    3298:	9820      	ld.w      	r1, (r14, 0x0)
    329a:	e800fbb1 	br      	0x29fc	// 29fc <__GI_pow+0x48>
    329e:	6d1f      	mov      	r4, r7
    32a0:	6c5b      	mov      	r1, r6
    32a2:	e800fbad 	br      	0x29fc	// 29fc <__GI_pow+0x48>
    32a6:	0000      	bkpt
    32a8:	4a454eef 	.long	0x4a454eef
    32ac:	3fca7e28 	.long	0x3fca7e28
    32b0:	93c9db65 	.long	0x93c9db65
    32b4:	3fcd864a 	.long	0x3fcd864a
    32b8:	a91d4101 	.long	0xa91d4101
    32bc:	3fd17460 	.long	0x3fd17460
    32c0:	518f264d 	.long	0x518f264d
    32c4:	3fd55555 	.long	0x3fd55555
    32c8:	db6fabff 	.long	0xdb6fabff
    32cc:	3fdb6db6 	.long	0x3fdb6db6
    32d0:	33333303 	.long	0x33333303
    32d4:	3fe33333 	.long	0x3fe33333
    32d8:	40080000 	.long	0x40080000
    32dc:	3feec709 	.long	0x3feec709
    32e0:	dc3a03fd 	.long	0xdc3a03fd
    32e4:	145b01f5 	.long	0x145b01f5
    32e8:	be3e2fe0 	.long	0xbe3e2fe0
    32ec:	0000caa0 	.long	0x0000caa0
    32f0:	3ff00000 	.long	0x3ff00000
    32f4:	652b82fe 	.long	0x652b82fe
    32f8:	3c971547 	.long	0x3c971547
    32fc:	3fe00000 	.long	0x3fe00000
    3300:	fffffc02 	.long	0xfffffc02
    3304:	fffffc01 	.long	0xfffffc01
    3308:	000fffff 	.long	0x000fffff
    330c:	3fe62e43 	.long	0x3fe62e43
    3310:	fefa39ef 	.long	0xfefa39ef
    3314:	3fe62e42 	.long	0x3fe62e42
    3318:	0ca86c39 	.long	0x0ca86c39
    331c:	be205c61 	.long	0xbe205c61
    3320:	72bea4d0 	.long	0x72bea4d0
    3324:	3e663769 	.long	0x3e663769
    3328:	c5d26bf1 	.long	0xc5d26bf1
    332c:	3ebbbd41 	.long	0x3ebbbd41
    3330:	af25de2c 	.long	0xaf25de2c
    3334:	3f11566a 	.long	0x3f11566a
    3338:	16bebd93 	.long	0x16bebd93
    333c:	3f66c16c 	.long	0x3f66c16c
    3340:	5555553e 	.long	0x5555553e
    3344:	3fc55555 	.long	0x3fc55555
    3348:	4090cbff 	.long	0x4090cbff
    334c:	3f6f3400 	.long	0x3f6f3400
    3350:	c2f8f359 	.long	0xc2f8f359
    3354:	01a56e1f 	.long	0x01a56e1f
    3358:	3300      	movi      	r3, 0
    335a:	e800fb94 	br      	0x2a82	// 2a82 <__GI_pow+0xce>

0000335e <__GI_fabs>:
    335e:	4121      	lsli      	r1, r1, 1
    3360:	4921      	lsri      	r1, r1, 1
    3362:	783c      	jmp      	r15

00003364 <__GI_scalbn>:
    3364:	14c1      	push      	r4
    3366:	6cc7      	mov      	r3, r1
    3368:	6cc0      	or      	r3, r0
    336a:	3b40      	cmpnei      	r3, 0
    336c:	0c08      	bf      	0x337c	// 337c <__GI_scalbn+0x18>
    336e:	1065      	lrw      	r3, 0x7ff00000	// 3380 <__GI_scalbn+0x1c>
    3370:	6d07      	mov      	r4, r1
    3372:	690c      	and      	r4, r3
    3374:	4254      	lsli      	r2, r2, 20
    3376:	6090      	addu      	r2, r4
    3378:	684d      	andn      	r1, r3
    337a:	6c48      	or      	r1, r2
    337c:	1481      	pop      	r4
    337e:	0000      	bkpt
    3380:	7ff00000 	.long	0x7ff00000

00003384 <__GI_sqrt>:
    3384:	14d4      	push      	r4-r7, r15
    3386:	1423      	subi      	r14, r14, 12
    3388:	127a      	lrw      	r3, 0x7ff00000	// 34f0 <__GI_sqrt+0x16c>
    338a:	6d43      	mov      	r5, r0
    338c:	6d07      	mov      	r4, r1
    338e:	6c07      	mov      	r0, r1
    3390:	684c      	and      	r1, r3
    3392:	64c6      	cmpne      	r1, r3
    3394:	6c97      	mov      	r2, r5
    3396:	0812      	bt      	0x33ba	// 33ba <__GI_sqrt+0x36>
    3398:	6cd3      	mov      	r3, r4
    339a:	6c17      	mov      	r0, r5
    339c:	6c53      	mov      	r1, r4
    339e:	e000028f 	bsr      	0x38bc	// 38bc <__muldf3>
    33a2:	6c83      	mov      	r2, r0
    33a4:	6cc7      	mov      	r3, r1
    33a6:	6c17      	mov      	r0, r5
    33a8:	6c53      	mov      	r1, r4
    33aa:	e0000255 	bsr      	0x3854	// 3854 <__adddf3>
    33ae:	6d43      	mov      	r5, r0
    33b0:	6d07      	mov      	r4, r1
    33b2:	6c17      	mov      	r0, r5
    33b4:	6c53      	mov      	r1, r4
    33b6:	1403      	addi      	r14, r14, 12
    33b8:	1494      	pop      	r4-r7, r15
    33ba:	3c20      	cmplti      	r4, 1
    33bc:	0c13      	bf      	0x33e2	// 33e2 <__GI_sqrt+0x5e>
    33be:	4461      	lsli      	r3, r4, 1
    33c0:	4b21      	lsri      	r1, r3, 1
    33c2:	6c54      	or      	r1, r5
    33c4:	3940      	cmpnei      	r1, 0
    33c6:	0ff6      	bf      	0x33b2	// 33b2 <__GI_sqrt+0x2e>
    33c8:	3c40      	cmpnei      	r4, 0
    33ca:	0c0c      	bf      	0x33e2	// 33e2 <__GI_sqrt+0x5e>
    33cc:	6c97      	mov      	r2, r5
    33ce:	6cd3      	mov      	r3, r4
    33d0:	6c17      	mov      	r0, r5
    33d2:	6c53      	mov      	r1, r4
    33d4:	e0000258 	bsr      	0x3884	// 3884 <__subdf3>
    33d8:	6c83      	mov      	r2, r0
    33da:	6cc7      	mov      	r3, r1
    33dc:	e000038a 	bsr      	0x3af0	// 3af0 <__divdf3>
    33e0:	07e7      	br      	0x33ae	// 33ae <__GI_sqrt+0x2a>
    33e2:	5494      	asri      	r4, r4, 20
    33e4:	3c40      	cmpnei      	r4, 0
    33e6:	0812      	bt      	0x340a	// 340a <__GI_sqrt+0x86>
    33e8:	3840      	cmpnei      	r0, 0
    33ea:	0c76      	bf      	0x34d6	// 34d6 <__GI_sqrt+0x152>
    33ec:	3580      	movi      	r5, 128
    33ee:	3300      	movi      	r3, 0
    33f0:	452d      	lsli      	r1, r5, 13
    33f2:	6d83      	mov      	r6, r0
    33f4:	6984      	and      	r6, r1
    33f6:	3e40      	cmpnei      	r6, 0
    33f8:	0c73      	bf      	0x34de	// 34de <__GI_sqrt+0x15a>
    33fa:	5b23      	subi      	r1, r3, 1
    33fc:	3620      	movi      	r6, 32
    33fe:	6106      	subu      	r4, r1
    3400:	618e      	subu      	r6, r3
    3402:	6c4b      	mov      	r1, r2
    3404:	7059      	lsr      	r1, r6
    3406:	6c04      	or      	r0, r1
    3408:	708c      	lsl      	r2, r3
    340a:	117b      	lrw      	r3, 0xfffffc01	// 34f4 <__GI_sqrt+0x170>
    340c:	610c      	addu      	r4, r3
    340e:	3601      	movi      	r6, 1
    3410:	400c      	lsli      	r0, r0, 12
    3412:	6990      	and      	r6, r4
    3414:	480c      	lsri      	r0, r0, 12
    3416:	3e40      	cmpnei      	r6, 0
    3418:	38b4      	bseti      	r0, 20
    341a:	0c05      	bf      	0x3424	// 3424 <__GI_sqrt+0xa0>
    341c:	4a3f      	lsri      	r1, r2, 31
    341e:	40a1      	lsli      	r5, r0, 1
    3420:	5914      	addu      	r0, r1, r5
    3422:	4241      	lsli      	r2, r2, 1
    3424:	4a7f      	lsri      	r3, r2, 31
    3426:	60c0      	addu      	r3, r0
    3428:	5481      	asri      	r4, r4, 1
    342a:	3680      	movi      	r6, 128
    342c:	3100      	movi      	r1, 0
    342e:	60c0      	addu      	r3, r0
    3430:	b882      	st.w      	r4, (r14, 0x8)
    3432:	4241      	lsli      	r2, r2, 1
    3434:	3516      	movi      	r5, 22
    3436:	460e      	lsli      	r0, r6, 14
    3438:	b820      	st.w      	r1, (r14, 0x0)
    343a:	5980      	addu      	r4, r1, r0
    343c:	650d      	cmplt      	r3, r4
    343e:	0806      	bt      	0x344a	// 344a <__GI_sqrt+0xc6>
    3440:	98c0      	ld.w      	r6, (r14, 0x0)
    3442:	6180      	addu      	r6, r0
    3444:	5c20      	addu      	r1, r4, r0
    3446:	60d2      	subu      	r3, r4
    3448:	b8c0      	st.w      	r6, (r14, 0x0)
    344a:	2d00      	subi      	r5, 1
    344c:	4a9f      	lsri      	r4, r2, 31
    344e:	4361      	lsli      	r3, r3, 1
    3450:	3d40      	cmpnei      	r5, 0
    3452:	60d0      	addu      	r3, r4
    3454:	4241      	lsli      	r2, r2, 1
    3456:	4801      	lsri      	r0, r0, 1
    3458:	0bf1      	bt      	0x343a	// 343a <__GI_sqrt+0xb6>
    345a:	3620      	movi      	r6, 32
    345c:	3480      	movi      	r4, 128
    345e:	3000      	movi      	r0, 0
    3460:	b8c1      	st.w      	r6, (r14, 0x4)
    3462:	4498      	lsli      	r4, r4, 24
    3464:	64c5      	cmplt      	r1, r3
    3466:	5cd4      	addu      	r6, r4, r5
    3468:	0805      	bt      	0x3472	// 3472 <__GI_sqrt+0xee>
    346a:	644e      	cmpne      	r3, r1
    346c:	0810      	bt      	0x348c	// 348c <__GI_sqrt+0x108>
    346e:	6588      	cmphs      	r2, r6
    3470:	0c0e      	bf      	0x348c	// 348c <__GI_sqrt+0x108>
    3472:	3edf      	btsti      	r6, 31
    3474:	5eb0      	addu      	r5, r6, r4
    3476:	0c37      	bf      	0x34e4	// 34e4 <__GI_sqrt+0x160>
    3478:	3ddf      	btsti      	r5, 31
    347a:	0835      	bt      	0x34e4	// 34e4 <__GI_sqrt+0x160>
    347c:	59e2      	addi      	r7, r1, 1
    347e:	6588      	cmphs      	r2, r6
    3480:	60c6      	subu      	r3, r1
    3482:	0802      	bt      	0x3486	// 3486 <__GI_sqrt+0x102>
    3484:	2b00      	subi      	r3, 1
    3486:	609a      	subu      	r2, r6
    3488:	6010      	addu      	r0, r4
    348a:	6c5f      	mov      	r1, r7
    348c:	4adf      	lsri      	r6, r2, 31
    348e:	618c      	addu      	r6, r3
    3490:	60d8      	addu      	r3, r6
    3492:	98c1      	ld.w      	r6, (r14, 0x4)
    3494:	2e00      	subi      	r6, 1
    3496:	3e40      	cmpnei      	r6, 0
    3498:	4241      	lsli      	r2, r2, 1
    349a:	4c81      	lsri      	r4, r4, 1
    349c:	b8c1      	st.w      	r6, (r14, 0x4)
    349e:	0be3      	bt      	0x3464	// 3464 <__GI_sqrt+0xe0>
    34a0:	6cc8      	or      	r3, r2
    34a2:	3b40      	cmpnei      	r3, 0
    34a4:	0c09      	bf      	0x34b6	// 34b6 <__GI_sqrt+0x132>
    34a6:	3300      	movi      	r3, 0
    34a8:	2b00      	subi      	r3, 1
    34aa:	64c2      	cmpne      	r0, r3
    34ac:	081e      	bt      	0x34e8	// 34e8 <__GI_sqrt+0x164>
    34ae:	9800      	ld.w      	r0, (r14, 0x0)
    34b0:	2000      	addi      	r0, 1
    34b2:	b800      	st.w      	r0, (r14, 0x0)
    34b4:	3000      	movi      	r0, 0
    34b6:	3401      	movi      	r4, 1
    34b8:	9860      	ld.w      	r3, (r14, 0x0)
    34ba:	98a0      	ld.w      	r5, (r14, 0x0)
    34bc:	690c      	and      	r4, r3
    34be:	5541      	asri      	r2, r5, 1
    34c0:	102e      	lrw      	r1, 0x3fe00000	// 34f8 <__GI_sqrt+0x174>
    34c2:	3c40      	cmpnei      	r4, 0
    34c4:	6048      	addu      	r1, r2
    34c6:	4801      	lsri      	r0, r0, 1
    34c8:	0c02      	bf      	0x34cc	// 34cc <__GI_sqrt+0x148>
    34ca:	38bf      	bseti      	r0, 31
    34cc:	98a2      	ld.w      	r5, (r14, 0x8)
    34ce:	4594      	lsli      	r4, r5, 20
    34d0:	6104      	addu      	r4, r1
    34d2:	6d43      	mov      	r5, r0
    34d4:	076f      	br      	0x33b2	// 33b2 <__GI_sqrt+0x2e>
    34d6:	4a0b      	lsri      	r0, r2, 11
    34d8:	2c14      	subi      	r4, 21
    34da:	4255      	lsli      	r2, r2, 21
    34dc:	0786      	br      	0x33e8	// 33e8 <__GI_sqrt+0x64>
    34de:	4001      	lsli      	r0, r0, 1
    34e0:	2300      	addi      	r3, 1
    34e2:	0788      	br      	0x33f2	// 33f2 <__GI_sqrt+0x6e>
    34e4:	6dc7      	mov      	r7, r1
    34e6:	07cc      	br      	0x347e	// 347e <__GI_sqrt+0xfa>
    34e8:	2000      	addi      	r0, 1
    34ea:	3880      	bclri      	r0, 0
    34ec:	07e5      	br      	0x34b6	// 34b6 <__GI_sqrt+0x132>
    34ee:	0000      	bkpt
    34f0:	7ff00000 	.long	0x7ff00000
    34f4:	fffffc01 	.long	0xfffffc01
    34f8:	3fe00000 	.long	0x3fe00000

000034fc <___gnu_csky_case_uqi>:
    34fc:	1421      	subi      	r14, r14, 4
    34fe:	b820      	st.w      	r1, (r14, 0x0)
    3500:	6c7f      	mov      	r1, r15
    3502:	6040      	addu      	r1, r0
    3504:	8120      	ld.b      	r1, (r1, 0x0)
    3506:	4121      	lsli      	r1, r1, 1
    3508:	63c4      	addu      	r15, r1
    350a:	9820      	ld.w      	r1, (r14, 0x0)
    350c:	1401      	addi      	r14, r14, 4
    350e:	783c      	jmp      	r15

00003510 <___gnu_csky_case_shi>:
    3510:	1422      	subi      	r14, r14, 8
    3512:	b801      	st.w      	r0, (r14, 0x4)
    3514:	b820      	st.w      	r1, (r14, 0x0)
    3516:	6c7f      	mov      	r1, r15
    3518:	4001      	lsli      	r0, r0, 1
    351a:	6040      	addu      	r1, r0
    351c:	8920      	ld.h      	r1, (r1, 0x0)
    351e:	7447      	sexth      	r1, r1
    3520:	4121      	lsli      	r1, r1, 1
    3522:	63c4      	addu      	r15, r1
    3524:	9801      	ld.w      	r0, (r14, 0x4)
    3526:	9820      	ld.w      	r1, (r14, 0x0)
    3528:	1402      	addi      	r14, r14, 8
    352a:	783c      	jmp      	r15

0000352c <___gnu_csky_case_uhi>:
    352c:	1422      	subi      	r14, r14, 8
    352e:	b801      	st.w      	r0, (r14, 0x4)
    3530:	b820      	st.w      	r1, (r14, 0x0)
    3532:	6c7f      	mov      	r1, r15
    3534:	4001      	lsli      	r0, r0, 1
    3536:	6040      	addu      	r1, r0
    3538:	8920      	ld.h      	r1, (r1, 0x0)
    353a:	4121      	lsli      	r1, r1, 1
    353c:	63c4      	addu      	r15, r1
    353e:	9801      	ld.w      	r0, (r14, 0x4)
    3540:	9820      	ld.w      	r1, (r14, 0x0)
    3542:	1402      	addi      	r14, r14, 8
    3544:	783c      	jmp      	r15
	...

00003548 <__fixunsdfsi>:
    3548:	14d2      	push      	r4-r5, r15
    354a:	3200      	movi      	r2, 0
    354c:	106c      	lrw      	r3, 0x41e00000	// 357c <__fixunsdfsi+0x34>
    354e:	6d43      	mov      	r5, r0
    3550:	6d07      	mov      	r4, r1
    3552:	e0000397 	bsr      	0x3c80	// 3c80 <__gedf2>
    3556:	38df      	btsti      	r0, 31
    3558:	0c06      	bf      	0x3564	// 3564 <__fixunsdfsi+0x1c>
    355a:	6c17      	mov      	r0, r5
    355c:	6c53      	mov      	r1, r4
    355e:	e0000405 	bsr      	0x3d68	// 3d68 <__fixdfsi>
    3562:	1492      	pop      	r4-r5, r15
    3564:	3200      	movi      	r2, 0
    3566:	1066      	lrw      	r3, 0x41e00000	// 357c <__fixunsdfsi+0x34>
    3568:	6c17      	mov      	r0, r5
    356a:	6c53      	mov      	r1, r4
    356c:	e000018c 	bsr      	0x3884	// 3884 <__subdf3>
    3570:	e00003fc 	bsr      	0x3d68	// 3d68 <__fixdfsi>
    3574:	3380      	movi      	r3, 128
    3576:	4378      	lsli      	r3, r3, 24
    3578:	600c      	addu      	r0, r3
    357a:	1492      	pop      	r4-r5, r15
    357c:	41e00000 	.long	0x41e00000

00003580 <_fpadd_parts>:
    3580:	14c4      	push      	r4-r7
    3582:	142a      	subi      	r14, r14, 40
    3584:	9060      	ld.w      	r3, (r0, 0x0)
    3586:	3b01      	cmphsi      	r3, 2
    3588:	6dcb      	mov      	r7, r2
    358a:	0c67      	bf      	0x3658	// 3658 <_fpadd_parts+0xd8>
    358c:	9140      	ld.w      	r2, (r1, 0x0)
    358e:	3a01      	cmphsi      	r2, 2
    3590:	0c66      	bf      	0x365c	// 365c <_fpadd_parts+0xdc>
    3592:	3b44      	cmpnei      	r3, 4
    3594:	0cde      	bf      	0x3750	// 3750 <_fpadd_parts+0x1d0>
    3596:	3a44      	cmpnei      	r2, 4
    3598:	0c62      	bf      	0x365c	// 365c <_fpadd_parts+0xdc>
    359a:	3a42      	cmpnei      	r2, 2
    359c:	0cb7      	bf      	0x370a	// 370a <_fpadd_parts+0x18a>
    359e:	3b42      	cmpnei      	r3, 2
    35a0:	0c5e      	bf      	0x365c	// 365c <_fpadd_parts+0xdc>
    35a2:	9043      	ld.w      	r2, (r0, 0xc)
    35a4:	9064      	ld.w      	r3, (r0, 0x10)
    35a6:	9082      	ld.w      	r4, (r0, 0x8)
    35a8:	91a2      	ld.w      	r5, (r1, 0x8)
    35aa:	b842      	st.w      	r2, (r14, 0x8)
    35ac:	b863      	st.w      	r3, (r14, 0xc)
    35ae:	9143      	ld.w      	r2, (r1, 0xc)
    35b0:	9164      	ld.w      	r3, (r1, 0x10)
    35b2:	b840      	st.w      	r2, (r14, 0x0)
    35b4:	b861      	st.w      	r3, (r14, 0x4)
    35b6:	5c75      	subu      	r3, r4, r5
    35b8:	3bdf      	btsti      	r3, 31
    35ba:	6c8f      	mov      	r2, r3
    35bc:	08d2      	bt      	0x3760	// 3760 <_fpadd_parts+0x1e0>
    35be:	363f      	movi      	r6, 63
    35c0:	6499      	cmplt      	r6, r2
    35c2:	0c50      	bf      	0x3662	// 3662 <_fpadd_parts+0xe2>
    35c4:	6515      	cmplt      	r5, r4
    35c6:	0cbf      	bf      	0x3744	// 3744 <_fpadd_parts+0x1c4>
    35c8:	3200      	movi      	r2, 0
    35ca:	3300      	movi      	r3, 0
    35cc:	b840      	st.w      	r2, (r14, 0x0)
    35ce:	b861      	st.w      	r3, (r14, 0x4)
    35d0:	9061      	ld.w      	r3, (r0, 0x4)
    35d2:	9141      	ld.w      	r2, (r1, 0x4)
    35d4:	648e      	cmpne      	r3, r2
    35d6:	0c78      	bf      	0x36c6	// 36c6 <_fpadd_parts+0x146>
    35d8:	3b40      	cmpnei      	r3, 0
    35da:	0cad      	bf      	0x3734	// 3734 <_fpadd_parts+0x1b4>
    35dc:	9800      	ld.w      	r0, (r14, 0x0)
    35de:	9821      	ld.w      	r1, (r14, 0x4)
    35e0:	9842      	ld.w      	r2, (r14, 0x8)
    35e2:	9863      	ld.w      	r3, (r14, 0xc)
    35e4:	6400      	cmphs      	r0, r0
    35e6:	600b      	subc      	r0, r2
    35e8:	604f      	subc      	r1, r3
    35ea:	39df      	btsti      	r1, 31
    35ec:	08bd      	bt      	0x3766	// 3766 <_fpadd_parts+0x1e6>
    35ee:	3300      	movi      	r3, 0
    35f0:	b761      	st.w      	r3, (r7, 0x4)
    35f2:	b782      	st.w      	r4, (r7, 0x8)
    35f4:	6c83      	mov      	r2, r0
    35f6:	6cc7      	mov      	r3, r1
    35f8:	b703      	st.w      	r0, (r7, 0xc)
    35fa:	b724      	st.w      	r1, (r7, 0x10)
    35fc:	3000      	movi      	r0, 0
    35fe:	3100      	movi      	r1, 0
    3600:	2800      	subi      	r0, 1
    3602:	2900      	subi      	r1, 1
    3604:	6401      	cmplt      	r0, r0
    3606:	6009      	addc      	r0, r2
    3608:	604d      	addc      	r1, r3
    360a:	038f      	lrw      	r4, 0xfffffff	// 3848 <_fpadd_parts+0x2c8>
    360c:	6450      	cmphs      	r4, r1
    360e:	0c67      	bf      	0x36dc	// 36dc <_fpadd_parts+0x15c>
    3610:	6506      	cmpne      	r1, r4
    3612:	0cfd      	bf      	0x380c	// 380c <_fpadd_parts+0x28c>
    3614:	3000      	movi      	r0, 0
    3616:	9722      	ld.w      	r1, (r7, 0x8)
    3618:	2801      	subi      	r0, 2
    361a:	2900      	subi      	r1, 1
    361c:	03d4      	lrw      	r6, 0xfffffff	// 3848 <_fpadd_parts+0x2c8>
    361e:	b802      	st.w      	r0, (r14, 0x8)
    3620:	b8e0      	st.w      	r7, (r14, 0x0)
    3622:	0403      	br      	0x3628	// 3628 <_fpadd_parts+0xa8>
    3624:	6596      	cmpne      	r5, r6
    3626:	0c83      	bf      	0x372c	// 372c <_fpadd_parts+0x1ac>
    3628:	4301      	lsli      	r0, r3, 1
    362a:	4a9f      	lsri      	r4, r2, 31
    362c:	6d00      	or      	r4, r0
    362e:	42a1      	lsli      	r5, r2, 1
    3630:	6c97      	mov      	r2, r5
    3632:	6cd3      	mov      	r3, r4
    3634:	3500      	movi      	r5, 0
    3636:	3400      	movi      	r4, 0
    3638:	2c00      	subi      	r4, 1
    363a:	2d00      	subi      	r5, 1
    363c:	6511      	cmplt      	r4, r4
    363e:	6109      	addc      	r4, r2
    3640:	614d      	addc      	r5, r3
    3642:	6558      	cmphs      	r6, r5
    3644:	6c07      	mov      	r0, r1
    3646:	2900      	subi      	r1, 1
    3648:	0bee      	bt      	0x3624	// 3624 <_fpadd_parts+0xa4>
    364a:	98e0      	ld.w      	r7, (r14, 0x0)
    364c:	b743      	st.w      	r2, (r7, 0xc)
    364e:	b764      	st.w      	r3, (r7, 0x10)
    3650:	3303      	movi      	r3, 3
    3652:	b702      	st.w      	r0, (r7, 0x8)
    3654:	b760      	st.w      	r3, (r7, 0x0)
    3656:	6c1f      	mov      	r0, r7
    3658:	140a      	addi      	r14, r14, 40
    365a:	1484      	pop      	r4-r7
    365c:	6c07      	mov      	r0, r1
    365e:	140a      	addi      	r14, r14, 40
    3660:	1484      	pop      	r4-r7
    3662:	3b20      	cmplti      	r3, 1
    3664:	088c      	bt      	0x377c	// 377c <_fpadd_parts+0x1fc>
    3666:	3300      	movi      	r3, 0
    3668:	2b1f      	subi      	r3, 32
    366a:	60c8      	addu      	r3, r2
    366c:	3bdf      	btsti      	r3, 31
    366e:	b866      	st.w      	r3, (r14, 0x18)
    3670:	08bb      	bt      	0x37e6	// 37e6 <_fpadd_parts+0x266>
    3672:	98a1      	ld.w      	r5, (r14, 0x4)
    3674:	714d      	lsr      	r5, r3
    3676:	b8a4      	st.w      	r5, (r14, 0x10)
    3678:	3500      	movi      	r5, 0
    367a:	b8a5      	st.w      	r5, (r14, 0x14)
    367c:	9866      	ld.w      	r3, (r14, 0x18)
    367e:	3bdf      	btsti      	r3, 31
    3680:	3500      	movi      	r5, 0
    3682:	3600      	movi      	r6, 0
    3684:	08ad      	bt      	0x37de	// 37de <_fpadd_parts+0x25e>
    3686:	3201      	movi      	r2, 1
    3688:	708c      	lsl      	r2, r3
    368a:	6d8b      	mov      	r6, r2
    368c:	3200      	movi      	r2, 0
    368e:	3300      	movi      	r3, 0
    3690:	2a00      	subi      	r2, 1
    3692:	2b00      	subi      	r3, 1
    3694:	6489      	cmplt      	r2, r2
    3696:	6095      	addc      	r2, r5
    3698:	60d9      	addc      	r3, r6
    369a:	98a0      	ld.w      	r5, (r14, 0x0)
    369c:	98c1      	ld.w      	r6, (r14, 0x4)
    369e:	6948      	and      	r5, r2
    36a0:	698c      	and      	r6, r3
    36a2:	6c97      	mov      	r2, r5
    36a4:	6cdb      	mov      	r3, r6
    36a6:	6c8c      	or      	r2, r3
    36a8:	3a40      	cmpnei      	r2, 0
    36aa:	3500      	movi      	r5, 0
    36ac:	6155      	addc      	r5, r5
    36ae:	6c97      	mov      	r2, r5
    36b0:	3300      	movi      	r3, 0
    36b2:	98a4      	ld.w      	r5, (r14, 0x10)
    36b4:	98c5      	ld.w      	r6, (r14, 0x14)
    36b6:	6d48      	or      	r5, r2
    36b8:	6d8c      	or      	r6, r3
    36ba:	9061      	ld.w      	r3, (r0, 0x4)
    36bc:	9141      	ld.w      	r2, (r1, 0x4)
    36be:	648e      	cmpne      	r3, r2
    36c0:	b8a0      	st.w      	r5, (r14, 0x0)
    36c2:	b8c1      	st.w      	r6, (r14, 0x4)
    36c4:	0b8a      	bt      	0x35d8	// 35d8 <_fpadd_parts+0x58>
    36c6:	b761      	st.w      	r3, (r7, 0x4)
    36c8:	9800      	ld.w      	r0, (r14, 0x0)
    36ca:	9821      	ld.w      	r1, (r14, 0x4)
    36cc:	9842      	ld.w      	r2, (r14, 0x8)
    36ce:	9863      	ld.w      	r3, (r14, 0xc)
    36d0:	6489      	cmplt      	r2, r2
    36d2:	6081      	addc      	r2, r0
    36d4:	60c5      	addc      	r3, r1
    36d6:	b782      	st.w      	r4, (r7, 0x8)
    36d8:	b743      	st.w      	r2, (r7, 0xc)
    36da:	b764      	st.w      	r3, (r7, 0x10)
    36dc:	3103      	movi      	r1, 3
    36de:	b720      	st.w      	r1, (r7, 0x0)
    36e0:	123b      	lrw      	r1, 0x1fffffff	// 384c <_fpadd_parts+0x2cc>
    36e2:	64c4      	cmphs      	r1, r3
    36e4:	0810      	bt      	0x3704	// 3704 <_fpadd_parts+0x184>
    36e6:	439f      	lsli      	r4, r3, 31
    36e8:	4a01      	lsri      	r0, r2, 1
    36ea:	6c10      	or      	r0, r4
    36ec:	3500      	movi      	r5, 0
    36ee:	3401      	movi      	r4, 1
    36f0:	4b21      	lsri      	r1, r3, 1
    36f2:	6890      	and      	r2, r4
    36f4:	68d4      	and      	r3, r5
    36f6:	6c80      	or      	r2, r0
    36f8:	6cc4      	or      	r3, r1
    36fa:	b743      	st.w      	r2, (r7, 0xc)
    36fc:	b764      	st.w      	r3, (r7, 0x10)
    36fe:	9762      	ld.w      	r3, (r7, 0x8)
    3700:	2300      	addi      	r3, 1
    3702:	b762      	st.w      	r3, (r7, 0x8)
    3704:	6c1f      	mov      	r0, r7
    3706:	140a      	addi      	r14, r14, 40
    3708:	1484      	pop      	r4-r7
    370a:	3b42      	cmpnei      	r3, 2
    370c:	0ba6      	bt      	0x3658	// 3658 <_fpadd_parts+0xd8>
    370e:	b760      	st.w      	r3, (r7, 0x0)
    3710:	9061      	ld.w      	r3, (r0, 0x4)
    3712:	b761      	st.w      	r3, (r7, 0x4)
    3714:	9062      	ld.w      	r3, (r0, 0x8)
    3716:	b762      	st.w      	r3, (r7, 0x8)
    3718:	9063      	ld.w      	r3, (r0, 0xc)
    371a:	b763      	st.w      	r3, (r7, 0xc)
    371c:	9064      	ld.w      	r3, (r0, 0x10)
    371e:	9141      	ld.w      	r2, (r1, 0x4)
    3720:	b764      	st.w      	r3, (r7, 0x10)
    3722:	9061      	ld.w      	r3, (r0, 0x4)
    3724:	68c8      	and      	r3, r2
    3726:	b761      	st.w      	r3, (r7, 0x4)
    3728:	6c1f      	mov      	r0, r7
    372a:	0797      	br      	0x3658	// 3658 <_fpadd_parts+0xd8>
    372c:	98e2      	ld.w      	r7, (r14, 0x8)
    372e:	651c      	cmphs      	r7, r4
    3730:	0b7c      	bt      	0x3628	// 3628 <_fpadd_parts+0xa8>
    3732:	078c      	br      	0x364a	// 364a <_fpadd_parts+0xca>
    3734:	9802      	ld.w      	r0, (r14, 0x8)
    3736:	9823      	ld.w      	r1, (r14, 0xc)
    3738:	9840      	ld.w      	r2, (r14, 0x0)
    373a:	9861      	ld.w      	r3, (r14, 0x4)
    373c:	6400      	cmphs      	r0, r0
    373e:	600b      	subc      	r0, r2
    3740:	604f      	subc      	r1, r3
    3742:	0754      	br      	0x35ea	// 35ea <_fpadd_parts+0x6a>
    3744:	3200      	movi      	r2, 0
    3746:	3300      	movi      	r3, 0
    3748:	6d17      	mov      	r4, r5
    374a:	b842      	st.w      	r2, (r14, 0x8)
    374c:	b863      	st.w      	r3, (r14, 0xc)
    374e:	0741      	br      	0x35d0	// 35d0 <_fpadd_parts+0x50>
    3750:	3a44      	cmpnei      	r2, 4
    3752:	0b83      	bt      	0x3658	// 3658 <_fpadd_parts+0xd8>
    3754:	9041      	ld.w      	r2, (r0, 0x4)
    3756:	9161      	ld.w      	r3, (r1, 0x4)
    3758:	64ca      	cmpne      	r2, r3
    375a:	0f7f      	bf      	0x3658	// 3658 <_fpadd_parts+0xd8>
    375c:	111d      	lrw      	r0, 0xcad0	// 3850 <_fpadd_parts+0x2d0>
    375e:	077d      	br      	0x3658	// 3658 <_fpadd_parts+0xd8>
    3760:	3200      	movi      	r2, 0
    3762:	608e      	subu      	r2, r3
    3764:	072d      	br      	0x35be	// 35be <_fpadd_parts+0x3e>
    3766:	3301      	movi      	r3, 1
    3768:	b761      	st.w      	r3, (r7, 0x4)
    376a:	3200      	movi      	r2, 0
    376c:	3300      	movi      	r3, 0
    376e:	6488      	cmphs      	r2, r2
    3770:	6083      	subc      	r2, r0
    3772:	60c7      	subc      	r3, r1
    3774:	b782      	st.w      	r4, (r7, 0x8)
    3776:	b743      	st.w      	r2, (r7, 0xc)
    3778:	b764      	st.w      	r3, (r7, 0x10)
    377a:	0741      	br      	0x35fc	// 35fc <_fpadd_parts+0x7c>
    377c:	3b40      	cmpnei      	r3, 0
    377e:	0f29      	bf      	0x35d0	// 35d0 <_fpadd_parts+0x50>
    3780:	3300      	movi      	r3, 0
    3782:	2b1f      	subi      	r3, 32
    3784:	60c8      	addu      	r3, r2
    3786:	3bdf      	btsti      	r3, 31
    3788:	6108      	addu      	r4, r2
    378a:	b866      	st.w      	r3, (r14, 0x18)
    378c:	0849      	bt      	0x381e	// 381e <_fpadd_parts+0x29e>
    378e:	9863      	ld.w      	r3, (r14, 0xc)
    3790:	98a6      	ld.w      	r5, (r14, 0x18)
    3792:	70d5      	lsr      	r3, r5
    3794:	b864      	st.w      	r3, (r14, 0x10)
    3796:	3300      	movi      	r3, 0
    3798:	b865      	st.w      	r3, (r14, 0x14)
    379a:	9866      	ld.w      	r3, (r14, 0x18)
    379c:	3bdf      	btsti      	r3, 31
    379e:	3500      	movi      	r5, 0
    37a0:	3600      	movi      	r6, 0
    37a2:	083a      	bt      	0x3816	// 3816 <_fpadd_parts+0x296>
    37a4:	3201      	movi      	r2, 1
    37a6:	708c      	lsl      	r2, r3
    37a8:	6d8b      	mov      	r6, r2
    37aa:	3200      	movi      	r2, 0
    37ac:	3300      	movi      	r3, 0
    37ae:	2a00      	subi      	r2, 1
    37b0:	2b00      	subi      	r3, 1
    37b2:	6489      	cmplt      	r2, r2
    37b4:	6095      	addc      	r2, r5
    37b6:	60d9      	addc      	r3, r6
    37b8:	98a2      	ld.w      	r5, (r14, 0x8)
    37ba:	98c3      	ld.w      	r6, (r14, 0xc)
    37bc:	6948      	and      	r5, r2
    37be:	698c      	and      	r6, r3
    37c0:	6c97      	mov      	r2, r5
    37c2:	6cdb      	mov      	r3, r6
    37c4:	6c8c      	or      	r2, r3
    37c6:	3a40      	cmpnei      	r2, 0
    37c8:	3500      	movi      	r5, 0
    37ca:	6155      	addc      	r5, r5
    37cc:	6c97      	mov      	r2, r5
    37ce:	3300      	movi      	r3, 0
    37d0:	98a4      	ld.w      	r5, (r14, 0x10)
    37d2:	98c5      	ld.w      	r6, (r14, 0x14)
    37d4:	6d48      	or      	r5, r2
    37d6:	6d8c      	or      	r6, r3
    37d8:	b8a2      	st.w      	r5, (r14, 0x8)
    37da:	b8c3      	st.w      	r6, (r14, 0xc)
    37dc:	06fa      	br      	0x35d0	// 35d0 <_fpadd_parts+0x50>
    37de:	3301      	movi      	r3, 1
    37e0:	70c8      	lsl      	r3, r2
    37e2:	6d4f      	mov      	r5, r3
    37e4:	0754      	br      	0x368c	// 368c <_fpadd_parts+0x10c>
    37e6:	9861      	ld.w      	r3, (r14, 0x4)
    37e8:	361f      	movi      	r6, 31
    37ea:	43a1      	lsli      	r5, r3, 1
    37ec:	618a      	subu      	r6, r2
    37ee:	7158      	lsl      	r5, r6
    37f0:	b8a9      	st.w      	r5, (r14, 0x24)
    37f2:	98a0      	ld.w      	r5, (r14, 0x0)
    37f4:	98c1      	ld.w      	r6, (r14, 0x4)
    37f6:	b8a7      	st.w      	r5, (r14, 0x1c)
    37f8:	b8c8      	st.w      	r6, (r14, 0x20)
    37fa:	9867      	ld.w      	r3, (r14, 0x1c)
    37fc:	70c9      	lsr      	r3, r2
    37fe:	98a9      	ld.w      	r5, (r14, 0x24)
    3800:	6cd4      	or      	r3, r5
    3802:	b864      	st.w      	r3, (r14, 0x10)
    3804:	9868      	ld.w      	r3, (r14, 0x20)
    3806:	70c9      	lsr      	r3, r2
    3808:	b865      	st.w      	r3, (r14, 0x14)
    380a:	0739      	br      	0x367c	// 367c <_fpadd_parts+0xfc>
    380c:	3100      	movi      	r1, 0
    380e:	2901      	subi      	r1, 2
    3810:	6404      	cmphs      	r1, r0
    3812:	0b01      	bt      	0x3614	// 3614 <_fpadd_parts+0x94>
    3814:	0764      	br      	0x36dc	// 36dc <_fpadd_parts+0x15c>
    3816:	3301      	movi      	r3, 1
    3818:	70c8      	lsl      	r3, r2
    381a:	6d4f      	mov      	r5, r3
    381c:	07c7      	br      	0x37aa	// 37aa <_fpadd_parts+0x22a>
    381e:	9863      	ld.w      	r3, (r14, 0xc)
    3820:	43c1      	lsli      	r6, r3, 1
    3822:	351f      	movi      	r5, 31
    3824:	5d69      	subu      	r3, r5, r2
    3826:	6d5b      	mov      	r5, r6
    3828:	714c      	lsl      	r5, r3
    382a:	b8a9      	st.w      	r5, (r14, 0x24)
    382c:	98a2      	ld.w      	r5, (r14, 0x8)
    382e:	98c3      	ld.w      	r6, (r14, 0xc)
    3830:	b8a7      	st.w      	r5, (r14, 0x1c)
    3832:	b8c8      	st.w      	r6, (r14, 0x20)
    3834:	9867      	ld.w      	r3, (r14, 0x1c)
    3836:	70c9      	lsr      	r3, r2
    3838:	98a9      	ld.w      	r5, (r14, 0x24)
    383a:	6cd4      	or      	r3, r5
    383c:	b864      	st.w      	r3, (r14, 0x10)
    383e:	9868      	ld.w      	r3, (r14, 0x20)
    3840:	70c9      	lsr      	r3, r2
    3842:	b865      	st.w      	r3, (r14, 0x14)
    3844:	07ab      	br      	0x379a	// 379a <_fpadd_parts+0x21a>
    3846:	0000      	bkpt
    3848:	0fffffff 	.long	0x0fffffff
    384c:	1fffffff 	.long	0x1fffffff
    3850:	0000cad0 	.long	0x0000cad0

00003854 <__adddf3>:
    3854:	14d0      	push      	r15
    3856:	1433      	subi      	r14, r14, 76
    3858:	b800      	st.w      	r0, (r14, 0x0)
    385a:	b821      	st.w      	r1, (r14, 0x4)
    385c:	6c3b      	mov      	r0, r14
    385e:	1904      	addi      	r1, r14, 16
    3860:	b863      	st.w      	r3, (r14, 0xc)
    3862:	b842      	st.w      	r2, (r14, 0x8)
    3864:	e00003f4 	bsr      	0x404c	// 404c <__unpack_d>
    3868:	1909      	addi      	r1, r14, 36
    386a:	1802      	addi      	r0, r14, 8
    386c:	e00003f0 	bsr      	0x404c	// 404c <__unpack_d>
    3870:	1a0e      	addi      	r2, r14, 56
    3872:	1909      	addi      	r1, r14, 36
    3874:	1804      	addi      	r0, r14, 16
    3876:	e3fffe85 	bsr      	0x3580	// 3580 <_fpadd_parts>
    387a:	e000031b 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    387e:	1413      	addi      	r14, r14, 76
    3880:	1490      	pop      	r15
	...

00003884 <__subdf3>:
    3884:	14d0      	push      	r15
    3886:	1433      	subi      	r14, r14, 76
    3888:	b800      	st.w      	r0, (r14, 0x0)
    388a:	b821      	st.w      	r1, (r14, 0x4)
    388c:	6c3b      	mov      	r0, r14
    388e:	1904      	addi      	r1, r14, 16
    3890:	b842      	st.w      	r2, (r14, 0x8)
    3892:	b863      	st.w      	r3, (r14, 0xc)
    3894:	e00003dc 	bsr      	0x404c	// 404c <__unpack_d>
    3898:	1909      	addi      	r1, r14, 36
    389a:	1802      	addi      	r0, r14, 8
    389c:	e00003d8 	bsr      	0x404c	// 404c <__unpack_d>
    38a0:	986a      	ld.w      	r3, (r14, 0x28)
    38a2:	3201      	movi      	r2, 1
    38a4:	6cc9      	xor      	r3, r2
    38a6:	1909      	addi      	r1, r14, 36
    38a8:	1a0e      	addi      	r2, r14, 56
    38aa:	1804      	addi      	r0, r14, 16
    38ac:	b86a      	st.w      	r3, (r14, 0x28)
    38ae:	e3fffe69 	bsr      	0x3580	// 3580 <_fpadd_parts>
    38b2:	e00002ff 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    38b6:	1413      	addi      	r14, r14, 76
    38b8:	1490      	pop      	r15
	...

000038bc <__muldf3>:
    38bc:	14d4      	push      	r4-r7, r15
    38be:	143b      	subi      	r14, r14, 108
    38c0:	b808      	st.w      	r0, (r14, 0x20)
    38c2:	b829      	st.w      	r1, (r14, 0x24)
    38c4:	1808      	addi      	r0, r14, 32
    38c6:	190c      	addi      	r1, r14, 48
    38c8:	b86b      	st.w      	r3, (r14, 0x2c)
    38ca:	b84a      	st.w      	r2, (r14, 0x28)
    38cc:	e00003c0 	bsr      	0x404c	// 404c <__unpack_d>
    38d0:	1911      	addi      	r1, r14, 68
    38d2:	180a      	addi      	r0, r14, 40
    38d4:	e00003bc 	bsr      	0x404c	// 404c <__unpack_d>
    38d8:	986c      	ld.w      	r3, (r14, 0x30)
    38da:	3b01      	cmphsi      	r3, 2
    38dc:	0cac      	bf      	0x3a34	// 3a34 <__muldf3+0x178>
    38de:	9851      	ld.w      	r2, (r14, 0x44)
    38e0:	3a01      	cmphsi      	r2, 2
    38e2:	0c9c      	bf      	0x3a1a	// 3a1a <__muldf3+0x15e>
    38e4:	3b44      	cmpnei      	r3, 4
    38e6:	0ca5      	bf      	0x3a30	// 3a30 <__muldf3+0x174>
    38e8:	3a44      	cmpnei      	r2, 4
    38ea:	0c96      	bf      	0x3a16	// 3a16 <__muldf3+0x15a>
    38ec:	3b42      	cmpnei      	r3, 2
    38ee:	0ca3      	bf      	0x3a34	// 3a34 <__muldf3+0x178>
    38f0:	3a42      	cmpnei      	r2, 2
    38f2:	0c94      	bf      	0x3a1a	// 3a1a <__muldf3+0x15e>
    38f4:	98ef      	ld.w      	r7, (r14, 0x3c)
    38f6:	98b4      	ld.w      	r5, (r14, 0x50)
    38f8:	9875      	ld.w      	r3, (r14, 0x54)
    38fa:	6d8f      	mov      	r6, r3
    38fc:	6c9f      	mov      	r2, r7
    38fe:	3300      	movi      	r3, 0
    3900:	6c17      	mov      	r0, r5
    3902:	3100      	movi      	r1, 0
    3904:	e0000294 	bsr      	0x3e2c	// 3e2c <__muldi3>
    3908:	b804      	st.w      	r0, (r14, 0x10)
    390a:	b825      	st.w      	r1, (r14, 0x14)
    390c:	6c9f      	mov      	r2, r7
    390e:	3300      	movi      	r3, 0
    3910:	6c1b      	mov      	r0, r6
    3912:	3100      	movi      	r1, 0
    3914:	9890      	ld.w      	r4, (r14, 0x40)
    3916:	b8c2      	st.w      	r6, (r14, 0x8)
    3918:	e000028a 	bsr      	0x3e2c	// 3e2c <__muldi3>
    391c:	6d83      	mov      	r6, r0
    391e:	6dc7      	mov      	r7, r1
    3920:	9842      	ld.w      	r2, (r14, 0x8)
    3922:	3300      	movi      	r3, 0
    3924:	6c13      	mov      	r0, r4
    3926:	3100      	movi      	r1, 0
    3928:	e0000282 	bsr      	0x3e2c	// 3e2c <__muldi3>
    392c:	b806      	st.w      	r0, (r14, 0x18)
    392e:	b827      	st.w      	r1, (r14, 0x1c)
    3930:	6c97      	mov      	r2, r5
    3932:	3300      	movi      	r3, 0
    3934:	6c13      	mov      	r0, r4
    3936:	3100      	movi      	r1, 0
    3938:	e000027a 	bsr      	0x3e2c	// 3e2c <__muldi3>
    393c:	6401      	cmplt      	r0, r0
    393e:	6019      	addc      	r0, r6
    3940:	605d      	addc      	r1, r7
    3942:	65c4      	cmphs      	r1, r7
    3944:	0c91      	bf      	0x3a66	// 3a66 <__muldf3+0x1aa>
    3946:	645e      	cmpne      	r7, r1
    3948:	0c8d      	bf      	0x3a62	// 3a62 <__muldf3+0x1a6>
    394a:	3300      	movi      	r3, 0
    394c:	3400      	movi      	r4, 0
    394e:	b862      	st.w      	r3, (r14, 0x8)
    3950:	b883      	st.w      	r4, (r14, 0xc)
    3952:	9884      	ld.w      	r4, (r14, 0x10)
    3954:	98a5      	ld.w      	r5, (r14, 0x14)
    3956:	3600      	movi      	r6, 0
    3958:	6dc3      	mov      	r7, r0
    395a:	6c93      	mov      	r2, r4
    395c:	6cd7      	mov      	r3, r5
    395e:	6489      	cmplt      	r2, r2
    3960:	6099      	addc      	r2, r6
    3962:	60dd      	addc      	r3, r7
    3964:	6d8b      	mov      	r6, r2
    3966:	6dcf      	mov      	r7, r3
    3968:	6c93      	mov      	r2, r4
    396a:	6cd7      	mov      	r3, r5
    396c:	64dc      	cmphs      	r7, r3
    396e:	0c70      	bf      	0x3a4e	// 3a4e <__muldf3+0x192>
    3970:	65ce      	cmpne      	r3, r7
    3972:	0c6c      	bf      	0x3a4a	// 3a4a <__muldf3+0x18e>
    3974:	6c87      	mov      	r2, r1
    3976:	3300      	movi      	r3, 0
    3978:	9806      	ld.w      	r0, (r14, 0x18)
    397a:	9827      	ld.w      	r1, (r14, 0x1c)
    397c:	6401      	cmplt      	r0, r0
    397e:	6009      	addc      	r0, r2
    3980:	604d      	addc      	r1, r3
    3982:	6c83      	mov      	r2, r0
    3984:	6cc7      	mov      	r3, r1
    3986:	9802      	ld.w      	r0, (r14, 0x8)
    3988:	9823      	ld.w      	r1, (r14, 0xc)
    398a:	6401      	cmplt      	r0, r0
    398c:	6009      	addc      	r0, r2
    398e:	604d      	addc      	r1, r3
    3990:	6c83      	mov      	r2, r0
    3992:	6cc7      	mov      	r3, r1
    3994:	988e      	ld.w      	r4, (r14, 0x38)
    3996:	9833      	ld.w      	r1, (r14, 0x4c)
    3998:	6104      	addu      	r4, r1
    399a:	5c2e      	addi      	r1, r4, 4
    399c:	b838      	st.w      	r1, (r14, 0x60)
    399e:	980d      	ld.w      	r0, (r14, 0x34)
    39a0:	9832      	ld.w      	r1, (r14, 0x48)
    39a2:	6442      	cmpne      	r0, r1
    39a4:	12b0      	lrw      	r5, 0x1fffffff	// 3ae4 <__muldf3+0x228>
    39a6:	3100      	movi      	r1, 0
    39a8:	6045      	addc      	r1, r1
    39aa:	64d4      	cmphs      	r5, r3
    39ac:	b837      	st.w      	r1, (r14, 0x5c)
    39ae:	0879      	bt      	0x3aa0	// 3aa0 <__muldf3+0x1e4>
    39b0:	2404      	addi      	r4, 5
    39b2:	b8a4      	st.w      	r5, (r14, 0x10)
    39b4:	3001      	movi      	r0, 1
    39b6:	3100      	movi      	r1, 0
    39b8:	6808      	and      	r0, r2
    39ba:	684c      	and      	r1, r3
    39bc:	6c04      	or      	r0, r1
    39be:	3840      	cmpnei      	r0, 0
    39c0:	b882      	st.w      	r4, (r14, 0x8)
    39c2:	0c0e      	bf      	0x39de	// 39de <__muldf3+0x122>
    39c4:	473f      	lsli      	r1, r7, 31
    39c6:	4e01      	lsri      	r0, r6, 1
    39c8:	6c04      	or      	r0, r1
    39ca:	4f21      	lsri      	r1, r7, 1
    39cc:	b800      	st.w      	r0, (r14, 0x0)
    39ce:	b821      	st.w      	r1, (r14, 0x4)
    39d0:	3180      	movi      	r1, 128
    39d2:	98c0      	ld.w      	r6, (r14, 0x0)
    39d4:	98e1      	ld.w      	r7, (r14, 0x4)
    39d6:	3000      	movi      	r0, 0
    39d8:	4138      	lsli      	r1, r1, 24
    39da:	6d80      	or      	r6, r0
    39dc:	6dc4      	or      	r7, r1
    39de:	4b21      	lsri      	r1, r3, 1
    39e0:	43bf      	lsli      	r5, r3, 31
    39e2:	4a01      	lsri      	r0, r2, 1
    39e4:	6cc7      	mov      	r3, r1
    39e6:	9824      	ld.w      	r1, (r14, 0x10)
    39e8:	6d40      	or      	r5, r0
    39ea:	64c4      	cmphs      	r1, r3
    39ec:	6c97      	mov      	r2, r5
    39ee:	2400      	addi      	r4, 1
    39f0:	0fe2      	bf      	0x39b4	// 39b4 <__muldf3+0xf8>
    39f2:	9822      	ld.w      	r1, (r14, 0x8)
    39f4:	b838      	st.w      	r1, (r14, 0x60)
    39f6:	30ff      	movi      	r0, 255
    39f8:	3100      	movi      	r1, 0
    39fa:	6808      	and      	r0, r2
    39fc:	684c      	and      	r1, r3
    39fe:	3480      	movi      	r4, 128
    3a00:	6502      	cmpne      	r0, r4
    3a02:	0c37      	bf      	0x3a70	// 3a70 <__muldf3+0x1b4>
    3a04:	b859      	st.w      	r2, (r14, 0x64)
    3a06:	b87a      	st.w      	r3, (r14, 0x68)
    3a08:	3303      	movi      	r3, 3
    3a0a:	b876      	st.w      	r3, (r14, 0x58)
    3a0c:	1816      	addi      	r0, r14, 88
    3a0e:	e0000251 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3a12:	141b      	addi      	r14, r14, 108
    3a14:	1494      	pop      	r4-r7, r15
    3a16:	3b42      	cmpnei      	r3, 2
    3a18:	0c42      	bf      	0x3a9c	// 3a9c <__muldf3+0x1e0>
    3a1a:	9872      	ld.w      	r3, (r14, 0x48)
    3a1c:	984d      	ld.w      	r2, (r14, 0x34)
    3a1e:	64ca      	cmpne      	r2, r3
    3a20:	3300      	movi      	r3, 0
    3a22:	60cd      	addc      	r3, r3
    3a24:	1811      	addi      	r0, r14, 68
    3a26:	b872      	st.w      	r3, (r14, 0x48)
    3a28:	e0000244 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3a2c:	141b      	addi      	r14, r14, 108
    3a2e:	1494      	pop      	r4-r7, r15
    3a30:	3a42      	cmpnei      	r2, 2
    3a32:	0c35      	bf      	0x3a9c	// 3a9c <__muldf3+0x1e0>
    3a34:	984d      	ld.w      	r2, (r14, 0x34)
    3a36:	9872      	ld.w      	r3, (r14, 0x48)
    3a38:	64ca      	cmpne      	r2, r3
    3a3a:	3300      	movi      	r3, 0
    3a3c:	60cd      	addc      	r3, r3
    3a3e:	180c      	addi      	r0, r14, 48
    3a40:	b86d      	st.w      	r3, (r14, 0x34)
    3a42:	e0000237 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3a46:	141b      	addi      	r14, r14, 108
    3a48:	1494      	pop      	r4-r7, r15
    3a4a:	6498      	cmphs      	r6, r2
    3a4c:	0b94      	bt      	0x3974	// 3974 <__muldf3+0xb8>
    3a4e:	9882      	ld.w      	r4, (r14, 0x8)
    3a50:	98a3      	ld.w      	r5, (r14, 0xc)
    3a52:	3201      	movi      	r2, 1
    3a54:	3300      	movi      	r3, 0
    3a56:	6511      	cmplt      	r4, r4
    3a58:	6109      	addc      	r4, r2
    3a5a:	614d      	addc      	r5, r3
    3a5c:	b882      	st.w      	r4, (r14, 0x8)
    3a5e:	b8a3      	st.w      	r5, (r14, 0xc)
    3a60:	078a      	br      	0x3974	// 3974 <__muldf3+0xb8>
    3a62:	6580      	cmphs      	r0, r6
    3a64:	0b73      	bt      	0x394a	// 394a <__muldf3+0x8e>
    3a66:	3300      	movi      	r3, 0
    3a68:	3401      	movi      	r4, 1
    3a6a:	b862      	st.w      	r3, (r14, 0x8)
    3a6c:	b883      	st.w      	r4, (r14, 0xc)
    3a6e:	0772      	br      	0x3952	// 3952 <__muldf3+0x96>
    3a70:	3940      	cmpnei      	r1, 0
    3a72:	0bc9      	bt      	0x3a04	// 3a04 <__muldf3+0x148>
    3a74:	3180      	movi      	r1, 128
    3a76:	4121      	lsli      	r1, r1, 1
    3a78:	6848      	and      	r1, r2
    3a7a:	3940      	cmpnei      	r1, 0
    3a7c:	0bc4      	bt      	0x3a04	// 3a04 <__muldf3+0x148>
    3a7e:	6c5b      	mov      	r1, r6
    3a80:	6c5c      	or      	r1, r7
    3a82:	3940      	cmpnei      	r1, 0
    3a84:	0fc0      	bf      	0x3a04	// 3a04 <__muldf3+0x148>
    3a86:	3080      	movi      	r0, 128
    3a88:	3100      	movi      	r1, 0
    3a8a:	6401      	cmplt      	r0, r0
    3a8c:	6009      	addc      	r0, r2
    3a8e:	604d      	addc      	r1, r3
    3a90:	34ff      	movi      	r4, 255
    3a92:	6d43      	mov      	r5, r0
    3a94:	6951      	andn      	r5, r4
    3a96:	6c97      	mov      	r2, r5
    3a98:	6cc7      	mov      	r3, r1
    3a9a:	07b5      	br      	0x3a04	// 3a04 <__muldf3+0x148>
    3a9c:	1013      	lrw      	r0, 0xcad0	// 3ae8 <__muldf3+0x22c>
    3a9e:	07b8      	br      	0x3a0e	// 3a0e <__muldf3+0x152>
    3aa0:	1033      	lrw      	r1, 0xfffffff	// 3aec <__muldf3+0x230>
    3aa2:	64c4      	cmphs      	r1, r3
    3aa4:	0fa9      	bf      	0x39f6	// 39f6 <__muldf3+0x13a>
    3aa6:	2402      	addi      	r4, 3
    3aa8:	b822      	st.w      	r1, (r14, 0x8)
    3aaa:	4a1f      	lsri      	r0, r2, 31
    3aac:	4321      	lsli      	r1, r3, 1
    3aae:	42a1      	lsli      	r5, r2, 1
    3ab0:	6c04      	or      	r0, r1
    3ab2:	3fdf      	btsti      	r7, 31
    3ab4:	b880      	st.w      	r4, (r14, 0x0)
    3ab6:	6c97      	mov      	r2, r5
    3ab8:	6cc3      	mov      	r3, r0
    3aba:	0c07      	bf      	0x3ac8	// 3ac8 <__muldf3+0x20c>
    3abc:	3001      	movi      	r0, 1
    3abe:	3100      	movi      	r1, 0
    3ac0:	6c08      	or      	r0, r2
    3ac2:	6c4c      	or      	r1, r3
    3ac4:	6c83      	mov      	r2, r0
    3ac6:	6cc7      	mov      	r3, r1
    3ac8:	4721      	lsli      	r1, r7, 1
    3aca:	4e1f      	lsri      	r0, r6, 31
    3acc:	6c04      	or      	r0, r1
    3ace:	9822      	ld.w      	r1, (r14, 0x8)
    3ad0:	46a1      	lsli      	r5, r6, 1
    3ad2:	64c4      	cmphs      	r1, r3
    3ad4:	6d97      	mov      	r6, r5
    3ad6:	6dc3      	mov      	r7, r0
    3ad8:	2c00      	subi      	r4, 1
    3ada:	0be8      	bt      	0x3aaa	// 3aaa <__muldf3+0x1ee>
    3adc:	9820      	ld.w      	r1, (r14, 0x0)
    3ade:	b838      	st.w      	r1, (r14, 0x60)
    3ae0:	078b      	br      	0x39f6	// 39f6 <__muldf3+0x13a>
    3ae2:	0000      	bkpt
    3ae4:	1fffffff 	.long	0x1fffffff
    3ae8:	0000cad0 	.long	0x0000cad0
    3aec:	0fffffff 	.long	0x0fffffff

00003af0 <__divdf3>:
    3af0:	14d4      	push      	r4-r7, r15
    3af2:	1432      	subi      	r14, r14, 72
    3af4:	b804      	st.w      	r0, (r14, 0x10)
    3af6:	b825      	st.w      	r1, (r14, 0x14)
    3af8:	1804      	addi      	r0, r14, 16
    3afa:	1908      	addi      	r1, r14, 32
    3afc:	b867      	st.w      	r3, (r14, 0x1c)
    3afe:	b846      	st.w      	r2, (r14, 0x18)
    3b00:	e00002a6 	bsr      	0x404c	// 404c <__unpack_d>
    3b04:	190d      	addi      	r1, r14, 52
    3b06:	1806      	addi      	r0, r14, 24
    3b08:	e00002a2 	bsr      	0x404c	// 404c <__unpack_d>
    3b0c:	9868      	ld.w      	r3, (r14, 0x20)
    3b0e:	3b01      	cmphsi      	r3, 2
    3b10:	0c66      	bf      	0x3bdc	// 3bdc <__divdf3+0xec>
    3b12:	982d      	ld.w      	r1, (r14, 0x34)
    3b14:	3901      	cmphsi      	r1, 2
    3b16:	0c92      	bf      	0x3c3a	// 3c3a <__divdf3+0x14a>
    3b18:	9849      	ld.w      	r2, (r14, 0x24)
    3b1a:	980e      	ld.w      	r0, (r14, 0x38)
    3b1c:	6c81      	xor      	r2, r0
    3b1e:	3b44      	cmpnei      	r3, 4
    3b20:	b849      	st.w      	r2, (r14, 0x24)
    3b22:	0c62      	bf      	0x3be6	// 3be6 <__divdf3+0xf6>
    3b24:	3b42      	cmpnei      	r3, 2
    3b26:	0c60      	bf      	0x3be6	// 3be6 <__divdf3+0xf6>
    3b28:	3944      	cmpnei      	r1, 4
    3b2a:	0c62      	bf      	0x3bee	// 3bee <__divdf3+0xfe>
    3b2c:	3942      	cmpnei      	r1, 2
    3b2e:	0c82      	bf      	0x3c32	// 3c32 <__divdf3+0x142>
    3b30:	982a      	ld.w      	r1, (r14, 0x28)
    3b32:	986f      	ld.w      	r3, (r14, 0x3c)
    3b34:	604e      	subu      	r1, r3
    3b36:	9890      	ld.w      	r4, (r14, 0x40)
    3b38:	98b1      	ld.w      	r5, (r14, 0x44)
    3b3a:	984b      	ld.w      	r2, (r14, 0x2c)
    3b3c:	986c      	ld.w      	r3, (r14, 0x30)
    3b3e:	654c      	cmphs      	r3, r5
    3b40:	b82a      	st.w      	r1, (r14, 0x28)
    3b42:	6d93      	mov      	r6, r4
    3b44:	6dd7      	mov      	r7, r5
    3b46:	0c05      	bf      	0x3b50	// 3b50 <__divdf3+0x60>
    3b48:	64d6      	cmpne      	r5, r3
    3b4a:	080b      	bt      	0x3b60	// 3b60 <__divdf3+0x70>
    3b4c:	6508      	cmphs      	r2, r4
    3b4e:	0809      	bt      	0x3b60	// 3b60 <__divdf3+0x70>
    3b50:	4a9f      	lsri      	r4, r2, 31
    3b52:	4301      	lsli      	r0, r3, 1
    3b54:	42a1      	lsli      	r5, r2, 1
    3b56:	6d00      	or      	r4, r0
    3b58:	2900      	subi      	r1, 1
    3b5a:	6c97      	mov      	r2, r5
    3b5c:	6cd3      	mov      	r3, r4
    3b5e:	b82a      	st.w      	r1, (r14, 0x28)
    3b60:	3000      	movi      	r0, 0
    3b62:	3100      	movi      	r1, 0
    3b64:	b802      	st.w      	r0, (r14, 0x8)
    3b66:	b823      	st.w      	r1, (r14, 0xc)
    3b68:	3180      	movi      	r1, 128
    3b6a:	343d      	movi      	r4, 61
    3b6c:	3000      	movi      	r0, 0
    3b6e:	4135      	lsli      	r1, r1, 21
    3b70:	b8c0      	st.w      	r6, (r14, 0x0)
    3b72:	b8e1      	st.w      	r7, (r14, 0x4)
    3b74:	98a0      	ld.w      	r5, (r14, 0x0)
    3b76:	98c1      	ld.w      	r6, (r14, 0x4)
    3b78:	658c      	cmphs      	r3, r6
    3b7a:	0c10      	bf      	0x3b9a	// 3b9a <__divdf3+0xaa>
    3b7c:	64da      	cmpne      	r6, r3
    3b7e:	0803      	bt      	0x3b84	// 3b84 <__divdf3+0x94>
    3b80:	6548      	cmphs      	r2, r5
    3b82:	0c0c      	bf      	0x3b9a	// 3b9a <__divdf3+0xaa>
    3b84:	98a2      	ld.w      	r5, (r14, 0x8)
    3b86:	98c3      	ld.w      	r6, (r14, 0xc)
    3b88:	6d40      	or      	r5, r0
    3b8a:	6d84      	or      	r6, r1
    3b8c:	b8a2      	st.w      	r5, (r14, 0x8)
    3b8e:	b8c3      	st.w      	r6, (r14, 0xc)
    3b90:	98a0      	ld.w      	r5, (r14, 0x0)
    3b92:	98c1      	ld.w      	r6, (r14, 0x4)
    3b94:	6488      	cmphs      	r2, r2
    3b96:	6097      	subc      	r2, r5
    3b98:	60db      	subc      	r3, r6
    3b9a:	41bf      	lsli      	r5, r1, 31
    3b9c:	48e1      	lsri      	r7, r0, 1
    3b9e:	6d97      	mov      	r6, r5
    3ba0:	49a1      	lsri      	r5, r1, 1
    3ba2:	6d9c      	or      	r6, r7
    3ba4:	6c57      	mov      	r1, r5
    3ba6:	4abf      	lsri      	r5, r2, 31
    3ba8:	6c1b      	mov      	r0, r6
    3baa:	2c00      	subi      	r4, 1
    3bac:	6d97      	mov      	r6, r5
    3bae:	43a1      	lsli      	r5, r3, 1
    3bb0:	6d94      	or      	r6, r5
    3bb2:	4261      	lsli      	r3, r2, 1
    3bb4:	3c40      	cmpnei      	r4, 0
    3bb6:	6dcf      	mov      	r7, r3
    3bb8:	6c8f      	mov      	r2, r3
    3bba:	6cdb      	mov      	r3, r6
    3bbc:	0bdc      	bt      	0x3b74	// 3b74 <__divdf3+0x84>
    3bbe:	30ff      	movi      	r0, 255
    3bc0:	3100      	movi      	r1, 0
    3bc2:	9882      	ld.w      	r4, (r14, 0x8)
    3bc4:	98a3      	ld.w      	r5, (r14, 0xc)
    3bc6:	6900      	and      	r4, r0
    3bc8:	6944      	and      	r5, r1
    3bca:	6c13      	mov      	r0, r4
    3bcc:	6c57      	mov      	r1, r5
    3bce:	3480      	movi      	r4, 128
    3bd0:	6502      	cmpne      	r0, r4
    3bd2:	0c15      	bf      	0x3bfc	// 3bfc <__divdf3+0x10c>
    3bd4:	9862      	ld.w      	r3, (r14, 0x8)
    3bd6:	9883      	ld.w      	r4, (r14, 0xc)
    3bd8:	b86b      	st.w      	r3, (r14, 0x2c)
    3bda:	b88c      	st.w      	r4, (r14, 0x30)
    3bdc:	1808      	addi      	r0, r14, 32
    3bde:	e0000169 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3be2:	1412      	addi      	r14, r14, 72
    3be4:	1494      	pop      	r4-r7, r15
    3be6:	644e      	cmpne      	r3, r1
    3be8:	0bfa      	bt      	0x3bdc	// 3bdc <__divdf3+0xec>
    3bea:	1016      	lrw      	r0, 0xcad0	// 3c40 <__divdf3+0x150>
    3bec:	07f9      	br      	0x3bde	// 3bde <__divdf3+0xee>
    3bee:	3300      	movi      	r3, 0
    3bf0:	3400      	movi      	r4, 0
    3bf2:	b86b      	st.w      	r3, (r14, 0x2c)
    3bf4:	b88c      	st.w      	r4, (r14, 0x30)
    3bf6:	b86a      	st.w      	r3, (r14, 0x28)
    3bf8:	1808      	addi      	r0, r14, 32
    3bfa:	07f2      	br      	0x3bde	// 3bde <__divdf3+0xee>
    3bfc:	3940      	cmpnei      	r1, 0
    3bfe:	0beb      	bt      	0x3bd4	// 3bd4 <__divdf3+0xe4>
    3c00:	3180      	movi      	r1, 128
    3c02:	4121      	lsli      	r1, r1, 1
    3c04:	9882      	ld.w      	r4, (r14, 0x8)
    3c06:	98a3      	ld.w      	r5, (r14, 0xc)
    3c08:	6850      	and      	r1, r4
    3c0a:	3940      	cmpnei      	r1, 0
    3c0c:	0be4      	bt      	0x3bd4	// 3bd4 <__divdf3+0xe4>
    3c0e:	6c98      	or      	r2, r6
    3c10:	3a40      	cmpnei      	r2, 0
    3c12:	0fe1      	bf      	0x3bd4	// 3bd4 <__divdf3+0xe4>
    3c14:	3280      	movi      	r2, 128
    3c16:	3300      	movi      	r3, 0
    3c18:	6c13      	mov      	r0, r4
    3c1a:	6c57      	mov      	r1, r5
    3c1c:	6401      	cmplt      	r0, r0
    3c1e:	6009      	addc      	r0, r2
    3c20:	604d      	addc      	r1, r3
    3c22:	6c83      	mov      	r2, r0
    3c24:	6cc7      	mov      	r3, r1
    3c26:	6c0b      	mov      	r0, r2
    3c28:	31ff      	movi      	r1, 255
    3c2a:	6805      	andn      	r0, r1
    3c2c:	b802      	st.w      	r0, (r14, 0x8)
    3c2e:	b863      	st.w      	r3, (r14, 0xc)
    3c30:	07d2      	br      	0x3bd4	// 3bd4 <__divdf3+0xe4>
    3c32:	3304      	movi      	r3, 4
    3c34:	b868      	st.w      	r3, (r14, 0x20)
    3c36:	1808      	addi      	r0, r14, 32
    3c38:	07d3      	br      	0x3bde	// 3bde <__divdf3+0xee>
    3c3a:	180d      	addi      	r0, r14, 52
    3c3c:	07d1      	br      	0x3bde	// 3bde <__divdf3+0xee>
    3c3e:	0000      	bkpt
    3c40:	0000cad0 	.long	0x0000cad0

00003c44 <__gtdf2>:
    3c44:	14d0      	push      	r15
    3c46:	142e      	subi      	r14, r14, 56
    3c48:	b800      	st.w      	r0, (r14, 0x0)
    3c4a:	b821      	st.w      	r1, (r14, 0x4)
    3c4c:	6c3b      	mov      	r0, r14
    3c4e:	1904      	addi      	r1, r14, 16
    3c50:	b863      	st.w      	r3, (r14, 0xc)
    3c52:	b842      	st.w      	r2, (r14, 0x8)
    3c54:	e00001fc 	bsr      	0x404c	// 404c <__unpack_d>
    3c58:	1909      	addi      	r1, r14, 36
    3c5a:	1802      	addi      	r0, r14, 8
    3c5c:	e00001f8 	bsr      	0x404c	// 404c <__unpack_d>
    3c60:	9864      	ld.w      	r3, (r14, 0x10)
    3c62:	3b01      	cmphsi      	r3, 2
    3c64:	0c0a      	bf      	0x3c78	// 3c78 <__gtdf2+0x34>
    3c66:	9869      	ld.w      	r3, (r14, 0x24)
    3c68:	3b01      	cmphsi      	r3, 2
    3c6a:	0c07      	bf      	0x3c78	// 3c78 <__gtdf2+0x34>
    3c6c:	1909      	addi      	r1, r14, 36
    3c6e:	1804      	addi      	r0, r14, 16
    3c70:	e0000250 	bsr      	0x4110	// 4110 <__fpcmp_parts_d>
    3c74:	140e      	addi      	r14, r14, 56
    3c76:	1490      	pop      	r15
    3c78:	3000      	movi      	r0, 0
    3c7a:	2800      	subi      	r0, 1
    3c7c:	140e      	addi      	r14, r14, 56
    3c7e:	1490      	pop      	r15

00003c80 <__gedf2>:
    3c80:	14d0      	push      	r15
    3c82:	142e      	subi      	r14, r14, 56
    3c84:	b800      	st.w      	r0, (r14, 0x0)
    3c86:	b821      	st.w      	r1, (r14, 0x4)
    3c88:	6c3b      	mov      	r0, r14
    3c8a:	1904      	addi      	r1, r14, 16
    3c8c:	b863      	st.w      	r3, (r14, 0xc)
    3c8e:	b842      	st.w      	r2, (r14, 0x8)
    3c90:	e00001de 	bsr      	0x404c	// 404c <__unpack_d>
    3c94:	1909      	addi      	r1, r14, 36
    3c96:	1802      	addi      	r0, r14, 8
    3c98:	e00001da 	bsr      	0x404c	// 404c <__unpack_d>
    3c9c:	9864      	ld.w      	r3, (r14, 0x10)
    3c9e:	3b01      	cmphsi      	r3, 2
    3ca0:	0c0a      	bf      	0x3cb4	// 3cb4 <__gedf2+0x34>
    3ca2:	9869      	ld.w      	r3, (r14, 0x24)
    3ca4:	3b01      	cmphsi      	r3, 2
    3ca6:	0c07      	bf      	0x3cb4	// 3cb4 <__gedf2+0x34>
    3ca8:	1909      	addi      	r1, r14, 36
    3caa:	1804      	addi      	r0, r14, 16
    3cac:	e0000232 	bsr      	0x4110	// 4110 <__fpcmp_parts_d>
    3cb0:	140e      	addi      	r14, r14, 56
    3cb2:	1490      	pop      	r15
    3cb4:	3000      	movi      	r0, 0
    3cb6:	2800      	subi      	r0, 1
    3cb8:	140e      	addi      	r14, r14, 56
    3cba:	1490      	pop      	r15

00003cbc <__ledf2>:
    3cbc:	14d0      	push      	r15
    3cbe:	142e      	subi      	r14, r14, 56
    3cc0:	b800      	st.w      	r0, (r14, 0x0)
    3cc2:	b821      	st.w      	r1, (r14, 0x4)
    3cc4:	6c3b      	mov      	r0, r14
    3cc6:	1904      	addi      	r1, r14, 16
    3cc8:	b863      	st.w      	r3, (r14, 0xc)
    3cca:	b842      	st.w      	r2, (r14, 0x8)
    3ccc:	e00001c0 	bsr      	0x404c	// 404c <__unpack_d>
    3cd0:	1909      	addi      	r1, r14, 36
    3cd2:	1802      	addi      	r0, r14, 8
    3cd4:	e00001bc 	bsr      	0x404c	// 404c <__unpack_d>
    3cd8:	9864      	ld.w      	r3, (r14, 0x10)
    3cda:	3b01      	cmphsi      	r3, 2
    3cdc:	0c0a      	bf      	0x3cf0	// 3cf0 <__ledf2+0x34>
    3cde:	9869      	ld.w      	r3, (r14, 0x24)
    3ce0:	3b01      	cmphsi      	r3, 2
    3ce2:	0c07      	bf      	0x3cf0	// 3cf0 <__ledf2+0x34>
    3ce4:	1909      	addi      	r1, r14, 36
    3ce6:	1804      	addi      	r0, r14, 16
    3ce8:	e0000214 	bsr      	0x4110	// 4110 <__fpcmp_parts_d>
    3cec:	140e      	addi      	r14, r14, 56
    3cee:	1490      	pop      	r15
    3cf0:	3001      	movi      	r0, 1
    3cf2:	140e      	addi      	r14, r14, 56
    3cf4:	1490      	pop      	r15
	...

00003cf8 <__floatsidf>:
    3cf8:	14d1      	push      	r4, r15
    3cfa:	1425      	subi      	r14, r14, 20
    3cfc:	3303      	movi      	r3, 3
    3cfe:	b860      	st.w      	r3, (r14, 0x0)
    3d00:	3840      	cmpnei      	r0, 0
    3d02:	487f      	lsri      	r3, r0, 31
    3d04:	b861      	st.w      	r3, (r14, 0x4)
    3d06:	0808      	bt      	0x3d16	// 3d16 <__floatsidf+0x1e>
    3d08:	3302      	movi      	r3, 2
    3d0a:	b860      	st.w      	r3, (r14, 0x0)
    3d0c:	6c3b      	mov      	r0, r14
    3d0e:	e00000d1 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3d12:	1405      	addi      	r14, r14, 20
    3d14:	1491      	pop      	r4, r15
    3d16:	38df      	btsti      	r0, 31
    3d18:	0812      	bt      	0x3d3c	// 3d3c <__floatsidf+0x44>
    3d1a:	6d03      	mov      	r4, r0
    3d1c:	6c13      	mov      	r0, r4
    3d1e:	e00000a9 	bsr      	0x3e70	// 3e70 <__clzsi2>
    3d22:	321d      	movi      	r2, 29
    3d24:	6080      	addu      	r2, r0
    3d26:	2802      	subi      	r0, 3
    3d28:	38df      	btsti      	r0, 31
    3d2a:	0810      	bt      	0x3d4a	// 3d4a <__floatsidf+0x52>
    3d2c:	7100      	lsl      	r4, r0
    3d2e:	3300      	movi      	r3, 0
    3d30:	b884      	st.w      	r4, (r14, 0x10)
    3d32:	b863      	st.w      	r3, (r14, 0xc)
    3d34:	333c      	movi      	r3, 60
    3d36:	60ca      	subu      	r3, r2
    3d38:	b862      	st.w      	r3, (r14, 0x8)
    3d3a:	07e9      	br      	0x3d0c	// 3d0c <__floatsidf+0x14>
    3d3c:	3380      	movi      	r3, 128
    3d3e:	4378      	lsli      	r3, r3, 24
    3d40:	64c2      	cmpne      	r0, r3
    3d42:	0c0d      	bf      	0x3d5c	// 3d5c <__floatsidf+0x64>
    3d44:	3400      	movi      	r4, 0
    3d46:	6102      	subu      	r4, r0
    3d48:	07ea      	br      	0x3d1c	// 3d1c <__floatsidf+0x24>
    3d4a:	311f      	movi      	r1, 31
    3d4c:	4c61      	lsri      	r3, r4, 1
    3d4e:	604a      	subu      	r1, r2
    3d50:	6c13      	mov      	r0, r4
    3d52:	70c5      	lsr      	r3, r1
    3d54:	7008      	lsl      	r0, r2
    3d56:	b864      	st.w      	r3, (r14, 0x10)
    3d58:	b803      	st.w      	r0, (r14, 0xc)
    3d5a:	07ed      	br      	0x3d34	// 3d34 <__floatsidf+0x3c>
    3d5c:	3000      	movi      	r0, 0
    3d5e:	1022      	lrw      	r1, 0xc1e00000	// 3d64 <__floatsidf+0x6c>
    3d60:	07d9      	br      	0x3d12	// 3d12 <__floatsidf+0x1a>
    3d62:	0000      	bkpt
    3d64:	c1e00000 	.long	0xc1e00000

00003d68 <__fixdfsi>:
    3d68:	14d0      	push      	r15
    3d6a:	1427      	subi      	r14, r14, 28
    3d6c:	b800      	st.w      	r0, (r14, 0x0)
    3d6e:	b821      	st.w      	r1, (r14, 0x4)
    3d70:	6c3b      	mov      	r0, r14
    3d72:	1902      	addi      	r1, r14, 8
    3d74:	e000016c 	bsr      	0x404c	// 404c <__unpack_d>
    3d78:	9862      	ld.w      	r3, (r14, 0x8)
    3d7a:	3b02      	cmphsi      	r3, 3
    3d7c:	0c20      	bf      	0x3dbc	// 3dbc <__fixdfsi+0x54>
    3d7e:	3b44      	cmpnei      	r3, 4
    3d80:	0c16      	bf      	0x3dac	// 3dac <__fixdfsi+0x44>
    3d82:	9864      	ld.w      	r3, (r14, 0x10)
    3d84:	3bdf      	btsti      	r3, 31
    3d86:	081b      	bt      	0x3dbc	// 3dbc <__fixdfsi+0x54>
    3d88:	3b3e      	cmplti      	r3, 31
    3d8a:	0c11      	bf      	0x3dac	// 3dac <__fixdfsi+0x44>
    3d8c:	323c      	movi      	r2, 60
    3d8e:	5a6d      	subu      	r3, r2, r3
    3d90:	3200      	movi      	r2, 0
    3d92:	2a1f      	subi      	r2, 32
    3d94:	608c      	addu      	r2, r3
    3d96:	3adf      	btsti      	r2, 31
    3d98:	0815      	bt      	0x3dc2	// 3dc2 <__fixdfsi+0x5a>
    3d9a:	9806      	ld.w      	r0, (r14, 0x18)
    3d9c:	7009      	lsr      	r0, r2
    3d9e:	9863      	ld.w      	r3, (r14, 0xc)
    3da0:	3b40      	cmpnei      	r3, 0
    3da2:	0c0b      	bf      	0x3db8	// 3db8 <__fixdfsi+0x50>
    3da4:	3300      	movi      	r3, 0
    3da6:	5b01      	subu      	r0, r3, r0
    3da8:	1407      	addi      	r14, r14, 28
    3daa:	1490      	pop      	r15
    3dac:	9863      	ld.w      	r3, (r14, 0xc)
    3dae:	3b40      	cmpnei      	r3, 0
    3db0:	3000      	movi      	r0, 0
    3db2:	6001      	addc      	r0, r0
    3db4:	1068      	lrw      	r3, 0x7fffffff	// 3dd4 <__fixdfsi+0x6c>
    3db6:	600c      	addu      	r0, r3
    3db8:	1407      	addi      	r14, r14, 28
    3dba:	1490      	pop      	r15
    3dbc:	3000      	movi      	r0, 0
    3dbe:	1407      	addi      	r14, r14, 28
    3dc0:	1490      	pop      	r15
    3dc2:	9846      	ld.w      	r2, (r14, 0x18)
    3dc4:	311f      	movi      	r1, 31
    3dc6:	4241      	lsli      	r2, r2, 1
    3dc8:	604e      	subu      	r1, r3
    3dca:	9805      	ld.w      	r0, (r14, 0x14)
    3dcc:	7084      	lsl      	r2, r1
    3dce:	700d      	lsr      	r0, r3
    3dd0:	6c08      	or      	r0, r2
    3dd2:	07e6      	br      	0x3d9e	// 3d9e <__fixdfsi+0x36>
    3dd4:	7fffffff 	.long	0x7fffffff

00003dd8 <__floatunsidf>:
    3dd8:	14d2      	push      	r4-r5, r15
    3dda:	1425      	subi      	r14, r14, 20
    3ddc:	3840      	cmpnei      	r0, 0
    3dde:	3500      	movi      	r5, 0
    3de0:	6d03      	mov      	r4, r0
    3de2:	b8a1      	st.w      	r5, (r14, 0x4)
    3de4:	0c15      	bf      	0x3e0e	// 3e0e <__floatunsidf+0x36>
    3de6:	3303      	movi      	r3, 3
    3de8:	b860      	st.w      	r3, (r14, 0x0)
    3dea:	e0000043 	bsr      	0x3e70	// 3e70 <__clzsi2>
    3dee:	321d      	movi      	r2, 29
    3df0:	6080      	addu      	r2, r0
    3df2:	2802      	subi      	r0, 3
    3df4:	38df      	btsti      	r0, 31
    3df6:	0813      	bt      	0x3e1c	// 3e1c <__floatunsidf+0x44>
    3df8:	7100      	lsl      	r4, r0
    3dfa:	b884      	st.w      	r4, (r14, 0x10)
    3dfc:	b8a3      	st.w      	r5, (r14, 0xc)
    3dfe:	333c      	movi      	r3, 60
    3e00:	60ca      	subu      	r3, r2
    3e02:	6c3b      	mov      	r0, r14
    3e04:	b862      	st.w      	r3, (r14, 0x8)
    3e06:	e0000055 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3e0a:	1405      	addi      	r14, r14, 20
    3e0c:	1492      	pop      	r4-r5, r15
    3e0e:	3302      	movi      	r3, 2
    3e10:	6c3b      	mov      	r0, r14
    3e12:	b860      	st.w      	r3, (r14, 0x0)
    3e14:	e000004e 	bsr      	0x3eb0	// 3eb0 <__pack_d>
    3e18:	1405      	addi      	r14, r14, 20
    3e1a:	1492      	pop      	r4-r5, r15
    3e1c:	311f      	movi      	r1, 31
    3e1e:	4c61      	lsri      	r3, r4, 1
    3e20:	604a      	subu      	r1, r2
    3e22:	70c5      	lsr      	r3, r1
    3e24:	7108      	lsl      	r4, r2
    3e26:	b864      	st.w      	r3, (r14, 0x10)
    3e28:	b883      	st.w      	r4, (r14, 0xc)
    3e2a:	07ea      	br      	0x3dfe	// 3dfe <__floatunsidf+0x26>

00003e2c <__muldi3>:
    3e2c:	14c4      	push      	r4-r7
    3e2e:	1421      	subi      	r14, r14, 4
    3e30:	7501      	zexth      	r4, r0
    3e32:	48b0      	lsri      	r5, r0, 16
    3e34:	75c9      	zexth      	r7, r2
    3e36:	6d83      	mov      	r6, r0
    3e38:	b820      	st.w      	r1, (r14, 0x0)
    3e3a:	6c13      	mov      	r0, r4
    3e3c:	4a30      	lsri      	r1, r2, 16
    3e3e:	7c1c      	mult      	r0, r7
    3e40:	7d04      	mult      	r4, r1
    3e42:	7dd4      	mult      	r7, r5
    3e44:	611c      	addu      	r4, r7
    3e46:	7d44      	mult      	r5, r1
    3e48:	4830      	lsri      	r1, r0, 16
    3e4a:	6104      	addu      	r4, r1
    3e4c:	65d0      	cmphs      	r4, r7
    3e4e:	0804      	bt      	0x3e56	// 3e56 <__muldi3+0x2a>
    3e50:	3180      	movi      	r1, 128
    3e52:	4129      	lsli      	r1, r1, 9
    3e54:	6144      	addu      	r5, r1
    3e56:	4c30      	lsri      	r1, r4, 16
    3e58:	7cd8      	mult      	r3, r6
    3e5a:	6144      	addu      	r5, r1
    3e5c:	6c4f      	mov      	r1, r3
    3e5e:	9860      	ld.w      	r3, (r14, 0x0)
    3e60:	7cc8      	mult      	r3, r2
    3e62:	4490      	lsli      	r4, r4, 16
    3e64:	604c      	addu      	r1, r3
    3e66:	7401      	zexth      	r0, r0
    3e68:	6010      	addu      	r0, r4
    3e6a:	6054      	addu      	r1, r5
    3e6c:	1401      	addi      	r14, r14, 4
    3e6e:	1484      	pop      	r4-r7

00003e70 <__clzsi2>:
    3e70:	106d      	lrw      	r3, 0xffff	// 3ea4 <__clzsi2+0x34>
    3e72:	640c      	cmphs      	r3, r0
    3e74:	0c07      	bf      	0x3e82	// 3e82 <__clzsi2+0x12>
    3e76:	33ff      	movi      	r3, 255
    3e78:	640c      	cmphs      	r3, r0
    3e7a:	0c0f      	bf      	0x3e98	// 3e98 <__clzsi2+0x28>
    3e7c:	3320      	movi      	r3, 32
    3e7e:	3200      	movi      	r2, 0
    3e80:	0406      	br      	0x3e8c	// 3e8c <__clzsi2+0x1c>
    3e82:	106a      	lrw      	r3, 0xffffff	// 3ea8 <__clzsi2+0x38>
    3e84:	640c      	cmphs      	r3, r0
    3e86:	080c      	bt      	0x3e9e	// 3e9e <__clzsi2+0x2e>
    3e88:	3308      	movi      	r3, 8
    3e8a:	3218      	movi      	r2, 24
    3e8c:	7009      	lsr      	r0, r2
    3e8e:	1048      	lrw      	r2, 0xcae4	// 3eac <__clzsi2+0x3c>
    3e90:	6008      	addu      	r0, r2
    3e92:	8040      	ld.b      	r2, (r0, 0x0)
    3e94:	5b09      	subu      	r0, r3, r2
    3e96:	783c      	jmp      	r15
    3e98:	3318      	movi      	r3, 24
    3e9a:	3208      	movi      	r2, 8
    3e9c:	07f8      	br      	0x3e8c	// 3e8c <__clzsi2+0x1c>
    3e9e:	3310      	movi      	r3, 16
    3ea0:	3210      	movi      	r2, 16
    3ea2:	07f5      	br      	0x3e8c	// 3e8c <__clzsi2+0x1c>
    3ea4:	0000ffff 	.long	0x0000ffff
    3ea8:	00ffffff 	.long	0x00ffffff
    3eac:	0000cae4 	.long	0x0000cae4

00003eb0 <__pack_d>:
    3eb0:	14c4      	push      	r4-r7
    3eb2:	1422      	subi      	r14, r14, 8
    3eb4:	9060      	ld.w      	r3, (r0, 0x0)
    3eb6:	3b01      	cmphsi      	r3, 2
    3eb8:	90c3      	ld.w      	r6, (r0, 0xc)
    3eba:	90e4      	ld.w      	r7, (r0, 0x10)
    3ebc:	9021      	ld.w      	r1, (r0, 0x4)
    3ebe:	0c46      	bf      	0x3f4a	// 3f4a <__pack_d+0x9a>
    3ec0:	3b44      	cmpnei      	r3, 4
    3ec2:	0c40      	bf      	0x3f42	// 3f42 <__pack_d+0x92>
    3ec4:	3b42      	cmpnei      	r3, 2
    3ec6:	0c27      	bf      	0x3f14	// 3f14 <__pack_d+0x64>
    3ec8:	6cdb      	mov      	r3, r6
    3eca:	6cdc      	or      	r3, r7
    3ecc:	3b40      	cmpnei      	r3, 0
    3ece:	0c23      	bf      	0x3f14	// 3f14 <__pack_d+0x64>
    3ed0:	9062      	ld.w      	r3, (r0, 0x8)
    3ed2:	125a      	lrw      	r2, 0xfffffc02	// 4038 <__pack_d+0x188>
    3ed4:	648d      	cmplt      	r3, r2
    3ed6:	0855      	bt      	0x3f80	// 3f80 <__pack_d+0xd0>
    3ed8:	1259      	lrw      	r2, 0x3ff	// 403c <__pack_d+0x18c>
    3eda:	64c9      	cmplt      	r2, r3
    3edc:	0833      	bt      	0x3f42	// 3f42 <__pack_d+0x92>
    3ede:	34ff      	movi      	r4, 255
    3ee0:	3500      	movi      	r5, 0
    3ee2:	6918      	and      	r4, r6
    3ee4:	695c      	and      	r5, r7
    3ee6:	3280      	movi      	r2, 128
    3ee8:	6492      	cmpne      	r4, r2
    3eea:	0c3f      	bf      	0x3f68	// 3f68 <__pack_d+0xb8>
    3eec:	347f      	movi      	r4, 127
    3eee:	3500      	movi      	r5, 0
    3ef0:	6599      	cmplt      	r6, r6
    3ef2:	6191      	addc      	r6, r4
    3ef4:	61d5      	addc      	r7, r5
    3ef6:	1253      	lrw      	r2, 0x1fffffff	// 4040 <__pack_d+0x190>
    3ef8:	65c8      	cmphs      	r2, r7
    3efa:	0c1a      	bf      	0x3f2e	// 3f2e <__pack_d+0x7e>
    3efc:	1290      	lrw      	r4, 0x3ff	// 403c <__pack_d+0x18c>
    3efe:	610c      	addu      	r4, r3
    3f00:	4718      	lsli      	r0, r7, 24
    3f02:	4f68      	lsri      	r3, r7, 8
    3f04:	4e48      	lsri      	r2, r6, 8
    3f06:	6c80      	or      	r2, r0
    3f08:	430c      	lsli      	r0, r3, 12
    3f0a:	486c      	lsri      	r3, r0, 12
    3f0c:	120e      	lrw      	r0, 0x7ff	// 4044 <__pack_d+0x194>
    3f0e:	6d4b      	mov      	r5, r2
    3f10:	6900      	and      	r4, r0
    3f12:	0404      	br      	0x3f1a	// 3f1a <__pack_d+0x6a>
    3f14:	3400      	movi      	r4, 0
    3f16:	3200      	movi      	r2, 0
    3f18:	3300      	movi      	r3, 0
    3f1a:	430c      	lsli      	r0, r3, 12
    3f1c:	480c      	lsri      	r0, r0, 12
    3f1e:	4474      	lsli      	r3, r4, 20
    3f20:	419f      	lsli      	r4, r1, 31
    3f22:	6c43      	mov      	r1, r0
    3f24:	6c4c      	or      	r1, r3
    3f26:	6c50      	or      	r1, r4
    3f28:	6c0b      	mov      	r0, r2
    3f2a:	1402      	addi      	r14, r14, 8
    3f2c:	1484      	pop      	r4-r7
    3f2e:	479f      	lsli      	r4, r7, 31
    3f30:	4e01      	lsri      	r0, r6, 1
    3f32:	6d00      	or      	r4, r0
    3f34:	6d93      	mov      	r6, r4
    3f36:	3480      	movi      	r4, 128
    3f38:	4f41      	lsri      	r2, r7, 1
    3f3a:	4483      	lsli      	r4, r4, 3
    3f3c:	6dcb      	mov      	r7, r2
    3f3e:	610c      	addu      	r4, r3
    3f40:	07e0      	br      	0x3f00	// 3f00 <__pack_d+0x50>
    3f42:	1281      	lrw      	r4, 0x7ff	// 4044 <__pack_d+0x194>
    3f44:	3200      	movi      	r2, 0
    3f46:	3300      	movi      	r3, 0
    3f48:	07e9      	br      	0x3f1a	// 3f1a <__pack_d+0x6a>
    3f4a:	4e08      	lsri      	r0, r6, 8
    3f4c:	4798      	lsli      	r4, r7, 24
    3f4e:	6d00      	or      	r4, r0
    3f50:	3580      	movi      	r5, 128
    3f52:	4705      	lsli      	r0, r7, 5
    3f54:	6c93      	mov      	r2, r4
    3f56:	486d      	lsri      	r3, r0, 13
    3f58:	3400      	movi      	r4, 0
    3f5a:	45ac      	lsli      	r5, r5, 12
    3f5c:	6c90      	or      	r2, r4
    3f5e:	6cd4      	or      	r3, r5
    3f60:	430c      	lsli      	r0, r3, 12
    3f62:	486c      	lsri      	r3, r0, 12
    3f64:	1198      	lrw      	r4, 0x7ff	// 4044 <__pack_d+0x194>
    3f66:	07da      	br      	0x3f1a	// 3f1a <__pack_d+0x6a>
    3f68:	3d40      	cmpnei      	r5, 0
    3f6a:	0bc1      	bt      	0x3eec	// 3eec <__pack_d+0x3c>
    3f6c:	4241      	lsli      	r2, r2, 1
    3f6e:	6898      	and      	r2, r6
    3f70:	3a40      	cmpnei      	r2, 0
    3f72:	0fc2      	bf      	0x3ef6	// 3ef6 <__pack_d+0x46>
    3f74:	3480      	movi      	r4, 128
    3f76:	3500      	movi      	r5, 0
    3f78:	6599      	cmplt      	r6, r6
    3f7a:	6191      	addc      	r6, r4
    3f7c:	61d5      	addc      	r7, r5
    3f7e:	07bc      	br      	0x3ef6	// 3ef6 <__pack_d+0x46>
    3f80:	5a6d      	subu      	r3, r2, r3
    3f82:	3238      	movi      	r2, 56
    3f84:	64c9      	cmplt      	r2, r3
    3f86:	0bc7      	bt      	0x3f14	// 3f14 <__pack_d+0x64>
    3f88:	3200      	movi      	r2, 0
    3f8a:	2a1f      	subi      	r2, 32
    3f8c:	608c      	addu      	r2, r3
    3f8e:	3adf      	btsti      	r2, 31
    3f90:	0848      	bt      	0x4020	// 4020 <__pack_d+0x170>
    3f92:	6c1f      	mov      	r0, r7
    3f94:	7009      	lsr      	r0, r2
    3f96:	b800      	st.w      	r0, (r14, 0x0)
    3f98:	3000      	movi      	r0, 0
    3f9a:	b801      	st.w      	r0, (r14, 0x4)
    3f9c:	3adf      	btsti      	r2, 31
    3f9e:	083c      	bt      	0x4016	// 4016 <__pack_d+0x166>
    3fa0:	3301      	movi      	r3, 1
    3fa2:	70c8      	lsl      	r3, r2
    3fa4:	6d4f      	mov      	r5, r3
    3fa6:	3300      	movi      	r3, 0
    3fa8:	6d0f      	mov      	r4, r3
    3faa:	3200      	movi      	r2, 0
    3fac:	3300      	movi      	r3, 0
    3fae:	2a00      	subi      	r2, 1
    3fb0:	2b00      	subi      	r3, 1
    3fb2:	6511      	cmplt      	r4, r4
    3fb4:	6109      	addc      	r4, r2
    3fb6:	614d      	addc      	r5, r3
    3fb8:	6990      	and      	r6, r4
    3fba:	69d4      	and      	r7, r5
    3fbc:	6d9c      	or      	r6, r7
    3fbe:	3e40      	cmpnei      	r6, 0
    3fc0:	3000      	movi      	r0, 0
    3fc2:	6001      	addc      	r0, r0
    3fc4:	6c83      	mov      	r2, r0
    3fc6:	3300      	movi      	r3, 0
    3fc8:	9880      	ld.w      	r4, (r14, 0x0)
    3fca:	98a1      	ld.w      	r5, (r14, 0x4)
    3fcc:	6d08      	or      	r4, r2
    3fce:	6d4c      	or      	r5, r3
    3fd0:	32ff      	movi      	r2, 255
    3fd2:	3300      	movi      	r3, 0
    3fd4:	6890      	and      	r2, r4
    3fd6:	68d4      	and      	r3, r5
    3fd8:	3080      	movi      	r0, 128
    3fda:	640a      	cmpne      	r2, r0
    3fdc:	081b      	bt      	0x4012	// 4012 <__pack_d+0x162>
    3fde:	3b40      	cmpnei      	r3, 0
    3fe0:	0819      	bt      	0x4012	// 4012 <__pack_d+0x162>
    3fe2:	3380      	movi      	r3, 128
    3fe4:	4361      	lsli      	r3, r3, 1
    3fe6:	68d0      	and      	r3, r4
    3fe8:	3b40      	cmpnei      	r3, 0
    3fea:	0c06      	bf      	0x3ff6	// 3ff6 <__pack_d+0x146>
    3fec:	3280      	movi      	r2, 128
    3fee:	3300      	movi      	r3, 0
    3ff0:	6511      	cmplt      	r4, r4
    3ff2:	6109      	addc      	r4, r2
    3ff4:	614d      	addc      	r5, r3
    3ff6:	4518      	lsli      	r0, r5, 24
    3ff8:	4c48      	lsri      	r2, r4, 8
    3ffa:	4d68      	lsri      	r3, r5, 8
    3ffc:	1093      	lrw      	r4, 0xfffffff	// 4048 <__pack_d+0x198>
    3ffe:	6c80      	or      	r2, r0
    4000:	6550      	cmphs      	r4, r5
    4002:	430c      	lsli      	r0, r3, 12
    4004:	486c      	lsri      	r3, r0, 12
    4006:	3001      	movi      	r0, 1
    4008:	0c02      	bf      	0x400c	// 400c <__pack_d+0x15c>
    400a:	3000      	movi      	r0, 0
    400c:	108e      	lrw      	r4, 0x7ff	// 4044 <__pack_d+0x194>
    400e:	6900      	and      	r4, r0
    4010:	0785      	br      	0x3f1a	// 3f1a <__pack_d+0x6a>
    4012:	327f      	movi      	r2, 127
    4014:	07ed      	br      	0x3fee	// 3fee <__pack_d+0x13e>
    4016:	3201      	movi      	r2, 1
    4018:	708c      	lsl      	r2, r3
    401a:	3500      	movi      	r5, 0
    401c:	6d0b      	mov      	r4, r2
    401e:	07c6      	br      	0x3faa	// 3faa <__pack_d+0xfa>
    4020:	341f      	movi      	r4, 31
    4022:	610e      	subu      	r4, r3
    4024:	4701      	lsli      	r0, r7, 1
    4026:	7010      	lsl      	r0, r4
    4028:	6d1b      	mov      	r4, r6
    402a:	710d      	lsr      	r4, r3
    402c:	6d00      	or      	r4, r0
    402e:	6c1f      	mov      	r0, r7
    4030:	700d      	lsr      	r0, r3
    4032:	b880      	st.w      	r4, (r14, 0x0)
    4034:	b801      	st.w      	r0, (r14, 0x4)
    4036:	07b3      	br      	0x3f9c	// 3f9c <__pack_d+0xec>
    4038:	fffffc02 	.long	0xfffffc02
    403c:	000003ff 	.long	0x000003ff
    4040:	1fffffff 	.long	0x1fffffff
    4044:	000007ff 	.long	0x000007ff
    4048:	0fffffff 	.long	0x0fffffff

0000404c <__unpack_d>:
    404c:	1423      	subi      	r14, r14, 12
    404e:	b880      	st.w      	r4, (r14, 0x0)
    4050:	b8c1      	st.w      	r6, (r14, 0x4)
    4052:	b8e2      	st.w      	r7, (r14, 0x8)
    4054:	8843      	ld.h      	r2, (r0, 0x6)
    4056:	4251      	lsli      	r2, r2, 17
    4058:	9061      	ld.w      	r3, (r0, 0x4)
    405a:	9080      	ld.w      	r4, (r0, 0x0)
    405c:	4a55      	lsri      	r2, r2, 21
    405e:	8007      	ld.b      	r0, (r0, 0x7)
    4060:	436c      	lsli      	r3, r3, 12
    4062:	4807      	lsri      	r0, r0, 7
    4064:	3a40      	cmpnei      	r2, 0
    4066:	4b6c      	lsri      	r3, r3, 12
    4068:	b101      	st.w      	r0, (r1, 0x4)
    406a:	0819      	bt      	0x409c	// 409c <__unpack_d+0x50>
    406c:	6c93      	mov      	r2, r4
    406e:	6c8c      	or      	r2, r3
    4070:	3a40      	cmpnei      	r2, 0
    4072:	0c2d      	bf      	0x40cc	// 40cc <__unpack_d+0x80>
    4074:	4c58      	lsri      	r2, r4, 24
    4076:	4368      	lsli      	r3, r3, 8
    4078:	6cc8      	or      	r3, r2
    407a:	3203      	movi      	r2, 3
    407c:	4408      	lsli      	r0, r4, 8
    407e:	b140      	st.w      	r2, (r1, 0x0)
    4080:	1181      	lrw      	r4, 0xfffffc01	// 4104 <__unpack_d+0xb8>
    4082:	11c2      	lrw      	r6, 0xfffffff	// 4108 <__unpack_d+0xbc>
    4084:	485f      	lsri      	r2, r0, 31
    4086:	4361      	lsli      	r3, r3, 1
    4088:	6cc8      	or      	r3, r2
    408a:	64d8      	cmphs      	r6, r3
    408c:	6c93      	mov      	r2, r4
    408e:	4001      	lsli      	r0, r0, 1
    4090:	2c00      	subi      	r4, 1
    4092:	0bf9      	bt      	0x4084	// 4084 <__unpack_d+0x38>
    4094:	b142      	st.w      	r2, (r1, 0x8)
    4096:	b103      	st.w      	r0, (r1, 0xc)
    4098:	b164      	st.w      	r3, (r1, 0x10)
    409a:	0414      	br      	0x40c2	// 40c2 <__unpack_d+0x76>
    409c:	101c      	lrw      	r0, 0x7ff	// 410c <__unpack_d+0xc0>
    409e:	640a      	cmpne      	r2, r0
    40a0:	0c19      	bf      	0x40d2	// 40d2 <__unpack_d+0x86>
    40a2:	1019      	lrw      	r0, 0xfffffc01	// 4104 <__unpack_d+0xb8>
    40a4:	6080      	addu      	r2, r0
    40a6:	b142      	st.w      	r2, (r1, 0x8)
    40a8:	3203      	movi      	r2, 3
    40aa:	43e8      	lsli      	r7, r3, 8
    40ac:	b140      	st.w      	r2, (r1, 0x0)
    40ae:	3380      	movi      	r3, 128
    40b0:	4c58      	lsri      	r2, r4, 24
    40b2:	6dc8      	or      	r7, r2
    40b4:	44c8      	lsli      	r6, r4, 8
    40b6:	3200      	movi      	r2, 0
    40b8:	4375      	lsli      	r3, r3, 21
    40ba:	6d88      	or      	r6, r2
    40bc:	6dcc      	or      	r7, r3
    40be:	b1c3      	st.w      	r6, (r1, 0xc)
    40c0:	b1e4      	st.w      	r7, (r1, 0x10)
    40c2:	98e2      	ld.w      	r7, (r14, 0x8)
    40c4:	98c1      	ld.w      	r6, (r14, 0x4)
    40c6:	9880      	ld.w      	r4, (r14, 0x0)
    40c8:	1403      	addi      	r14, r14, 12
    40ca:	783c      	jmp      	r15
    40cc:	3302      	movi      	r3, 2
    40ce:	b160      	st.w      	r3, (r1, 0x0)
    40d0:	07f9      	br      	0x40c2	// 40c2 <__unpack_d+0x76>
    40d2:	6c93      	mov      	r2, r4
    40d4:	6c8c      	or      	r2, r3
    40d6:	3a40      	cmpnei      	r2, 0
    40d8:	0c10      	bf      	0x40f8	// 40f8 <__unpack_d+0xac>
    40da:	3280      	movi      	r2, 128
    40dc:	424c      	lsli      	r2, r2, 12
    40de:	688c      	and      	r2, r3
    40e0:	3a40      	cmpnei      	r2, 0
    40e2:	0c0e      	bf      	0x40fe	// 40fe <__unpack_d+0xb2>
    40e4:	3201      	movi      	r2, 1
    40e6:	b140      	st.w      	r2, (r1, 0x0)
    40e8:	4c58      	lsri      	r2, r4, 24
    40ea:	4368      	lsli      	r3, r3, 8
    40ec:	6cc8      	or      	r3, r2
    40ee:	4408      	lsli      	r0, r4, 8
    40f0:	3b9b      	bclri      	r3, 27
    40f2:	b103      	st.w      	r0, (r1, 0xc)
    40f4:	b164      	st.w      	r3, (r1, 0x10)
    40f6:	07e6      	br      	0x40c2	// 40c2 <__unpack_d+0x76>
    40f8:	3304      	movi      	r3, 4
    40fa:	b160      	st.w      	r3, (r1, 0x0)
    40fc:	07e3      	br      	0x40c2	// 40c2 <__unpack_d+0x76>
    40fe:	b140      	st.w      	r2, (r1, 0x0)
    4100:	07f4      	br      	0x40e8	// 40e8 <__unpack_d+0x9c>
    4102:	0000      	bkpt
    4104:	fffffc01 	.long	0xfffffc01
    4108:	0fffffff 	.long	0x0fffffff
    410c:	000007ff 	.long	0x000007ff

00004110 <__fpcmp_parts_d>:
    4110:	14c1      	push      	r4
    4112:	9060      	ld.w      	r3, (r0, 0x0)
    4114:	3b01      	cmphsi      	r3, 2
    4116:	0c12      	bf      	0x413a	// 413a <__fpcmp_parts_d+0x2a>
    4118:	9140      	ld.w      	r2, (r1, 0x0)
    411a:	3a01      	cmphsi      	r2, 2
    411c:	0c0f      	bf      	0x413a	// 413a <__fpcmp_parts_d+0x2a>
    411e:	3b44      	cmpnei      	r3, 4
    4120:	0c17      	bf      	0x414e	// 414e <__fpcmp_parts_d+0x3e>
    4122:	3a44      	cmpnei      	r2, 4
    4124:	0c0f      	bf      	0x4142	// 4142 <__fpcmp_parts_d+0x32>
    4126:	3b42      	cmpnei      	r3, 2
    4128:	0c0b      	bf      	0x413e	// 413e <__fpcmp_parts_d+0x2e>
    412a:	3a42      	cmpnei      	r2, 2
    412c:	0c13      	bf      	0x4152	// 4152 <__fpcmp_parts_d+0x42>
    412e:	9061      	ld.w      	r3, (r0, 0x4)
    4130:	9141      	ld.w      	r2, (r1, 0x4)
    4132:	648e      	cmpne      	r3, r2
    4134:	0c14      	bf      	0x415c	// 415c <__fpcmp_parts_d+0x4c>
    4136:	3b40      	cmpnei      	r3, 0
    4138:	0808      	bt      	0x4148	// 4148 <__fpcmp_parts_d+0x38>
    413a:	3001      	movi      	r0, 1
    413c:	1481      	pop      	r4
    413e:	3a42      	cmpnei      	r2, 2
    4140:	0c28      	bf      	0x4190	// 4190 <__fpcmp_parts_d+0x80>
    4142:	9161      	ld.w      	r3, (r1, 0x4)
    4144:	3b40      	cmpnei      	r3, 0
    4146:	0bfa      	bt      	0x413a	// 413a <__fpcmp_parts_d+0x2a>
    4148:	3000      	movi      	r0, 0
    414a:	2800      	subi      	r0, 1
    414c:	1481      	pop      	r4
    414e:	3a44      	cmpnei      	r2, 4
    4150:	0c22      	bf      	0x4194	// 4194 <__fpcmp_parts_d+0x84>
    4152:	9061      	ld.w      	r3, (r0, 0x4)
    4154:	3b40      	cmpnei      	r3, 0
    4156:	0bf9      	bt      	0x4148	// 4148 <__fpcmp_parts_d+0x38>
    4158:	3001      	movi      	r0, 1
    415a:	07f1      	br      	0x413c	// 413c <__fpcmp_parts_d+0x2c>
    415c:	9082      	ld.w      	r4, (r0, 0x8)
    415e:	9142      	ld.w      	r2, (r1, 0x8)
    4160:	6509      	cmplt      	r2, r4
    4162:	0bea      	bt      	0x4136	// 4136 <__fpcmp_parts_d+0x26>
    4164:	6491      	cmplt      	r4, r2
    4166:	080d      	bt      	0x4180	// 4180 <__fpcmp_parts_d+0x70>
    4168:	9044      	ld.w      	r2, (r0, 0x10)
    416a:	9083      	ld.w      	r4, (r0, 0xc)
    416c:	9103      	ld.w      	r0, (r1, 0xc)
    416e:	9124      	ld.w      	r1, (r1, 0x10)
    4170:	6484      	cmphs      	r1, r2
    4172:	0fe2      	bf      	0x4136	// 4136 <__fpcmp_parts_d+0x26>
    4174:	644a      	cmpne      	r2, r1
    4176:	0803      	bt      	0x417c	// 417c <__fpcmp_parts_d+0x6c>
    4178:	6500      	cmphs      	r0, r4
    417a:	0fde      	bf      	0x4136	// 4136 <__fpcmp_parts_d+0x26>
    417c:	6448      	cmphs      	r2, r1
    417e:	0805      	bt      	0x4188	// 4188 <__fpcmp_parts_d+0x78>
    4180:	3b40      	cmpnei      	r3, 0
    4182:	0fe3      	bf      	0x4148	// 4148 <__fpcmp_parts_d+0x38>
    4184:	3001      	movi      	r0, 1
    4186:	07db      	br      	0x413c	// 413c <__fpcmp_parts_d+0x2c>
    4188:	6486      	cmpne      	r1, r2
    418a:	0803      	bt      	0x4190	// 4190 <__fpcmp_parts_d+0x80>
    418c:	6410      	cmphs      	r4, r0
    418e:	0ff9      	bf      	0x4180	// 4180 <__fpcmp_parts_d+0x70>
    4190:	3000      	movi      	r0, 0
    4192:	1481      	pop      	r4
    4194:	9161      	ld.w      	r3, (r1, 0x4)
    4196:	9041      	ld.w      	r2, (r0, 0x4)
    4198:	5b09      	subu      	r0, r3, r2
    419a:	1481      	pop      	r4

0000419c <__memset_fast>:
    419c:	14c3      	push      	r4-r6
    419e:	7444      	zextb      	r1, r1
    41a0:	3a40      	cmpnei      	r2, 0
    41a2:	0c1f      	bf      	0x41e0	// 41e0 <__memset_fast+0x44>
    41a4:	6d43      	mov      	r5, r0
    41a6:	6d03      	mov      	r4, r0
    41a8:	3603      	movi      	r6, 3
    41aa:	6918      	and      	r4, r6
    41ac:	3c40      	cmpnei      	r4, 0
    41ae:	0c1a      	bf      	0x41e2	// 41e2 <__memset_fast+0x46>
    41b0:	a520      	st.b      	r1, (r5, 0x0)
    41b2:	2a00      	subi      	r2, 1
    41b4:	3a40      	cmpnei      	r2, 0
    41b6:	0c15      	bf      	0x41e0	// 41e0 <__memset_fast+0x44>
    41b8:	2500      	addi      	r5, 1
    41ba:	6d17      	mov      	r4, r5
    41bc:	3603      	movi      	r6, 3
    41be:	6918      	and      	r4, r6
    41c0:	3c40      	cmpnei      	r4, 0
    41c2:	0c10      	bf      	0x41e2	// 41e2 <__memset_fast+0x46>
    41c4:	a520      	st.b      	r1, (r5, 0x0)
    41c6:	2a00      	subi      	r2, 1
    41c8:	3a40      	cmpnei      	r2, 0
    41ca:	0c0b      	bf      	0x41e0	// 41e0 <__memset_fast+0x44>
    41cc:	2500      	addi      	r5, 1
    41ce:	6d17      	mov      	r4, r5
    41d0:	3603      	movi      	r6, 3
    41d2:	6918      	and      	r4, r6
    41d4:	3c40      	cmpnei      	r4, 0
    41d6:	0c06      	bf      	0x41e2	// 41e2 <__memset_fast+0x46>
    41d8:	a520      	st.b      	r1, (r5, 0x0)
    41da:	2a00      	subi      	r2, 1
    41dc:	2500      	addi      	r5, 1
    41de:	0402      	br      	0x41e2	// 41e2 <__memset_fast+0x46>
    41e0:	1483      	pop      	r4-r6
    41e2:	4168      	lsli      	r3, r1, 8
    41e4:	6c4c      	or      	r1, r3
    41e6:	4170      	lsli      	r3, r1, 16
    41e8:	6c4c      	or      	r1, r3
    41ea:	3a2f      	cmplti      	r2, 16
    41ec:	0809      	bt      	0x41fe	// 41fe <__memset_fast+0x62>
    41ee:	b520      	st.w      	r1, (r5, 0x0)
    41f0:	b521      	st.w      	r1, (r5, 0x4)
    41f2:	b522      	st.w      	r1, (r5, 0x8)
    41f4:	b523      	st.w      	r1, (r5, 0xc)
    41f6:	2a0f      	subi      	r2, 16
    41f8:	250f      	addi      	r5, 16
    41fa:	3a2f      	cmplti      	r2, 16
    41fc:	0ff9      	bf      	0x41ee	// 41ee <__memset_fast+0x52>
    41fe:	3a23      	cmplti      	r2, 4
    4200:	0806      	bt      	0x420c	// 420c <__memset_fast+0x70>
    4202:	2a03      	subi      	r2, 4
    4204:	b520      	st.w      	r1, (r5, 0x0)
    4206:	2503      	addi      	r5, 4
    4208:	3a23      	cmplti      	r2, 4
    420a:	0ffc      	bf      	0x4202	// 4202 <__memset_fast+0x66>
    420c:	3a40      	cmpnei      	r2, 0
    420e:	0fe9      	bf      	0x41e0	// 41e0 <__memset_fast+0x44>
    4210:	2a00      	subi      	r2, 1
    4212:	a520      	st.b      	r1, (r5, 0x0)
    4214:	3a40      	cmpnei      	r2, 0
    4216:	0fe5      	bf      	0x41e0	// 41e0 <__memset_fast+0x44>
    4218:	2a00      	subi      	r2, 1
    421a:	a521      	st.b      	r1, (r5, 0x1)
    421c:	3a40      	cmpnei      	r2, 0
    421e:	0fe1      	bf      	0x41e0	// 41e0 <__memset_fast+0x44>
    4220:	a522      	st.b      	r1, (r5, 0x2)
    4222:	1483      	pop      	r4-r6

00004224 <__memcpy_fast>:
    4224:	14c3      	push      	r4-r6
    4226:	6d83      	mov      	r6, r0
    4228:	6d07      	mov      	r4, r1
    422a:	6d18      	or      	r4, r6
    422c:	3303      	movi      	r3, 3
    422e:	690c      	and      	r4, r3
    4230:	3c40      	cmpnei      	r4, 0
    4232:	0c0b      	bf      	0x4248	// 4248 <__memcpy_fast+0x24>
    4234:	3a40      	cmpnei      	r2, 0
    4236:	0c08      	bf      	0x4246	// 4246 <__memcpy_fast+0x22>
    4238:	8160      	ld.b      	r3, (r1, 0x0)
    423a:	2100      	addi      	r1, 1
    423c:	2a00      	subi      	r2, 1
    423e:	a660      	st.b      	r3, (r6, 0x0)
    4240:	2600      	addi      	r6, 1
    4242:	3a40      	cmpnei      	r2, 0
    4244:	0bfa      	bt      	0x4238	// 4238 <__memcpy_fast+0x14>
    4246:	1483      	pop      	r4-r6
    4248:	3a2f      	cmplti      	r2, 16
    424a:	080e      	bt      	0x4266	// 4266 <__memcpy_fast+0x42>
    424c:	91a0      	ld.w      	r5, (r1, 0x0)
    424e:	9161      	ld.w      	r3, (r1, 0x4)
    4250:	9182      	ld.w      	r4, (r1, 0x8)
    4252:	b6a0      	st.w      	r5, (r6, 0x0)
    4254:	91a3      	ld.w      	r5, (r1, 0xc)
    4256:	b661      	st.w      	r3, (r6, 0x4)
    4258:	b682      	st.w      	r4, (r6, 0x8)
    425a:	b6a3      	st.w      	r5, (r6, 0xc)
    425c:	2a0f      	subi      	r2, 16
    425e:	210f      	addi      	r1, 16
    4260:	260f      	addi      	r6, 16
    4262:	3a2f      	cmplti      	r2, 16
    4264:	0ff4      	bf      	0x424c	// 424c <__memcpy_fast+0x28>
    4266:	3a23      	cmplti      	r2, 4
    4268:	0808      	bt      	0x4278	// 4278 <__memcpy_fast+0x54>
    426a:	9160      	ld.w      	r3, (r1, 0x0)
    426c:	2a03      	subi      	r2, 4
    426e:	2103      	addi      	r1, 4
    4270:	b660      	st.w      	r3, (r6, 0x0)
    4272:	2603      	addi      	r6, 4
    4274:	3a23      	cmplti      	r2, 4
    4276:	0ffa      	bf      	0x426a	// 426a <__memcpy_fast+0x46>
    4278:	3a40      	cmpnei      	r2, 0
    427a:	0fe6      	bf      	0x4246	// 4246 <__memcpy_fast+0x22>
    427c:	8160      	ld.b      	r3, (r1, 0x0)
    427e:	2100      	addi      	r1, 1
    4280:	2a00      	subi      	r2, 1
    4282:	a660      	st.b      	r3, (r6, 0x0)
    4284:	2600      	addi      	r6, 1
    4286:	07f9      	br      	0x4278	// 4278 <__memcpy_fast+0x54>

Disassembly of section .text.__main:

00004288 <__main>:
extern char _bss_start[];
extern char _ebss[];


void __main( void ) 
{
    4288:	14d0      	push      	r15

  /* if the start of data (dst)
     is not equal to end of text (src) then
     copy it, else it's already in the right place
     */
  if( _start_data != _end_rodata ) {
    428a:	1009      	lrw      	r0, 0x20000000	// 42ac <__main+0x24>
    428c:	1029      	lrw      	r1, 0xd01c	// 42b0 <__main+0x28>
    428e:	6442      	cmpne      	r0, r1
    4290:	0c05      	bf      	0x429a	// 429a <__main+0x12>
//    __memcpy_fast( dst, src, (_end_data - _start_data));
    memcpy( dst, src, (_end_data - _start_data));
    4292:	1049      	lrw      	r2, 0x200000b0	// 42b4 <__main+0x2c>
    4294:	6082      	subu      	r2, r0
    4296:	e3ffffc7 	bsr      	0x4224	// 4224 <__memcpy_fast>
  }

  /* zero the bss 
   */
  if( _ebss - _bss_start ) {
    429a:	1048      	lrw      	r2, 0x20000c00	// 42b8 <__main+0x30>
    429c:	1008      	lrw      	r0, 0x200000b0	// 42bc <__main+0x34>
    429e:	640a      	cmpne      	r2, r0
    42a0:	0c05      	bf      	0x42aa	// 42aa <__main+0x22>
//    __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
    memset( _bss_start, 0x00, ( _ebss - _bss_start ));
    42a2:	6082      	subu      	r2, r0
    42a4:	3100      	movi      	r1, 0
    42a6:	e3ffff7b 	bsr      	0x419c	// 419c <__memset_fast>
  }

	
}
    42aa:	1490      	pop      	r15
    42ac:	20000000 	.long	0x20000000
    42b0:	0000d01c 	.long	0x0000d01c
    42b4:	200000b0 	.long	0x200000b0
    42b8:	20000c00 	.long	0x20000c00
    42bc:	200000b0 	.long	0x200000b0

Disassembly of section .text.SYSCON_General_CMD.part.0:

000042c0 <SYSCON_General_CMD.part.0>:
/*************************************************************/  
void SYSCON_General_CMD(FunctionalStatus NewState, SYSCON_General_CMD_TypeDef ENDIS_X )
{
	if (NewState != DISABLE)
	{
		if(ENDIS_X==ENDIS_EMOSC) 
    42c0:	3848      	cmpnei      	r0, 8
    42c2:	080a      	bt      	0x42d6	// 42d6 <SYSCON_General_CMD.part.0+0x16>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000;					//enable EMOSC PIN
    42c4:	107a      	lrw      	r3, 0x2000004c	// 432c <SYSCON_General_CMD.part.0+0x6c>
    42c6:	32ff      	movi      	r2, 255
    42c8:	9320      	ld.w      	r1, (r3, 0x0)
    42ca:	9160      	ld.w      	r3, (r1, 0x0)
    42cc:	424c      	lsli      	r2, r2, 12
    42ce:	68c9      	andn      	r3, r2
    42d0:	3bae      	bseti      	r3, 14
    42d2:	3bb2      	bseti      	r3, 18
    42d4:	b160      	st.w      	r3, (r1, 0x0)
		SYSCON->GCER|=ENDIS_X;													//enable SYSCON General Control
    42d6:	1077      	lrw      	r3, 0x2000005c	// 4330 <SYSCON_General_CMD.part.0+0x70>
    42d8:	9360      	ld.w      	r3, (r3, 0x0)
    42da:	9341      	ld.w      	r2, (r3, 0x4)
    42dc:	6c80      	or      	r2, r0
    42de:	b341      	st.w      	r2, (r3, 0x4)
		while(!(SYSCON->GCSR&ENDIS_X));											//check  Enable?	
    42e0:	9343      	ld.w      	r2, (r3, 0xc)
    42e2:	6880      	and      	r2, r0
    42e4:	3a40      	cmpnei      	r2, 0
    42e6:	0ffd      	bf      	0x42e0	// 42e0 <SYSCON_General_CMD.part.0+0x20>
		switch(ENDIS_X)
    42e8:	3842      	cmpnei      	r0, 2
    42ea:	0807      	bt      	0x42f8	// 42f8 <SYSCON_General_CMD.part.0+0x38>
		{
			case ENDIS_IMOSC:
				while (!(SYSCON->CKST & ENDIS_IMOSC)); 	
    42ec:	3102      	movi      	r1, 2
    42ee:	9344      	ld.w      	r2, (r3, 0x10)
    42f0:	6884      	and      	r2, r1
    42f2:	3a40      	cmpnei      	r2, 0
    42f4:	0ffd      	bf      	0x42ee	// 42ee <SYSCON_General_CMD.part.0+0x2e>
	{
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
		while(SYSCON->GCSR&ENDIS_X);											//check Disable?
		SYSCON->ICR|=ENDIS_X;													//Clear ENDIS_X stable bit
	}
}
    42f6:	783c      	jmp      	r15
		switch(ENDIS_X)
    42f8:	3802      	cmphsi      	r0, 3
    42fa:	0809      	bt      	0x430c	// 430c <SYSCON_General_CMD.part.0+0x4c>
    42fc:	3841      	cmpnei      	r0, 1
    42fe:	0bfc      	bt      	0x42f6	// 42f6 <SYSCON_General_CMD.part.0+0x36>
				while (!(SYSCON->CKST & ENDIS_ISOSC)); 
    4300:	3101      	movi      	r1, 1
    4302:	9344      	ld.w      	r2, (r3, 0x10)
    4304:	6884      	and      	r2, r1
    4306:	3a40      	cmpnei      	r2, 0
    4308:	0ffd      	bf      	0x4302	// 4302 <SYSCON_General_CMD.part.0+0x42>
    430a:	07f6      	br      	0x42f6	// 42f6 <SYSCON_General_CMD.part.0+0x36>
		switch(ENDIS_X)
    430c:	3848      	cmpnei      	r0, 8
    430e:	0807      	bt      	0x431c	// 431c <SYSCON_General_CMD.part.0+0x5c>
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
    4310:	3108      	movi      	r1, 8
    4312:	9344      	ld.w      	r2, (r3, 0x10)
    4314:	6884      	and      	r2, r1
    4316:	3a40      	cmpnei      	r2, 0
    4318:	0ffd      	bf      	0x4312	// 4312 <SYSCON_General_CMD.part.0+0x52>
    431a:	07ee      	br      	0x42f6	// 42f6 <SYSCON_General_CMD.part.0+0x36>
		switch(ENDIS_X)
    431c:	3850      	cmpnei      	r0, 16
    431e:	0bec      	bt      	0x42f6	// 42f6 <SYSCON_General_CMD.part.0+0x36>
				while (!(SYSCON->CKST & ENDIS_HFOSC)); 
    4320:	3110      	movi      	r1, 16
    4322:	9344      	ld.w      	r2, (r3, 0x10)
    4324:	6884      	and      	r2, r1
    4326:	3a40      	cmpnei      	r2, 0
    4328:	0ffd      	bf      	0x4322	// 4322 <SYSCON_General_CMD.part.0+0x62>
    432a:	07e6      	br      	0x42f6	// 42f6 <SYSCON_General_CMD.part.0+0x36>
    432c:	2000004c 	.long	0x2000004c
    4330:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_RST_VALUE:

00004334 <SYSCON_RST_VALUE>:
	SYSCON->RAMCHK=SYSCON_RAMCHK_RST;
    4334:	106c      	lrw      	r3, 0x2000005c	// 4364 <SYSCON_RST_VALUE+0x30>
    4336:	104d      	lrw      	r2, 0xffff	// 4368 <SYSCON_RST_VALUE+0x34>
    4338:	9360      	ld.w      	r3, (r3, 0x0)
    433a:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EFLCHK=SYSCON_EFLCHK_RST;
    433c:	104c      	lrw      	r2, 0xffffff	// 436c <SYSCON_RST_VALUE+0x38>
    433e:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->SCLKCR=SYSCON_SCLKCR_RST;
    4340:	104c      	lrw      	r2, 0xd22d0000	// 4370 <SYSCON_RST_VALUE+0x3c>
    4342:	b347      	st.w      	r2, (r3, 0x1c)
	SYSCON->OSTR=SYSCON_OSTR_RST;
    4344:	104c      	lrw      	r2, 0x70ff3bff	// 4374 <SYSCON_RST_VALUE+0x40>
    4346:	b350      	st.w      	r2, (r3, 0x40)
	SYSCON->LVDCR=SYSCON_LVDCR_RST;
    4348:	320a      	movi      	r2, 10
    434a:	b353      	st.w      	r2, (r3, 0x4c)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    434c:	102b      	lrw      	r1, 0x70c	// 4378 <SYSCON_RST_VALUE+0x44>
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    434e:	237f      	addi      	r3, 128
    4350:	3200      	movi      	r2, 0
    4352:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EXIFT=SYSCON_EXIFT_RST;
    4354:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    4356:	b32d      	st.w      	r1, (r3, 0x34)
	SYSCON->IWDCNT=SYSCON_IWDCNT_RST;
    4358:	1029      	lrw      	r1, 0x3fe	// 437c <SYSCON_RST_VALUE+0x48>
    435a:	b32e      	st.w      	r1, (r3, 0x38)
	SYSCON->EVTRG=SYSCON_EVTRG_RST;
    435c:	b35d      	st.w      	r2, (r3, 0x74)
	SYSCON->EVPS=SYSCON_EVPS_RST;
    435e:	b35e      	st.w      	r2, (r3, 0x78)
	SYSCON->EVSWF=SYSCON_EVSWF_RST;
    4360:	b35f      	st.w      	r2, (r3, 0x7c)
}
    4362:	783c      	jmp      	r15
    4364:	2000005c 	.long	0x2000005c
    4368:	0000ffff 	.long	0x0000ffff
    436c:	00ffffff 	.long	0x00ffffff
    4370:	d22d0000 	.long	0xd22d0000
    4374:	70ff3bff 	.long	0x70ff3bff
    4378:	0000070c 	.long	0x0000070c
    437c:	000003fe 	.long	0x000003fe

Disassembly of section .text.SYSCON_General_CMD:

00004380 <SYSCON_General_CMD>:
{
    4380:	14d0      	push      	r15
	if (NewState != DISABLE)
    4382:	3840      	cmpnei      	r0, 0
    4384:	0c05      	bf      	0x438e	// 438e <SYSCON_General_CMD+0xe>
    4386:	6c07      	mov      	r0, r1
    4388:	e3ffff9c 	bsr      	0x42c0	// 42c0 <SYSCON_General_CMD.part.0>
}
    438c:	1490      	pop      	r15
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
    438e:	1068      	lrw      	r3, 0x2000005c	// 43ac <SYSCON_General_CMD+0x2c>
    4390:	9360      	ld.w      	r3, (r3, 0x0)
    4392:	9342      	ld.w      	r2, (r3, 0x8)
    4394:	6c84      	or      	r2, r1
    4396:	b342      	st.w      	r2, (r3, 0x8)
		while(SYSCON->GCSR&ENDIS_X);											//check Disable?
    4398:	9343      	ld.w      	r2, (r3, 0xc)
    439a:	6884      	and      	r2, r1
    439c:	3a40      	cmpnei      	r2, 0
    439e:	0bfd      	bt      	0x4398	// 4398 <SYSCON_General_CMD+0x18>
		SYSCON->ICR|=ENDIS_X;													//Clear ENDIS_X stable bit
    43a0:	237f      	addi      	r3, 128
    43a2:	9301      	ld.w      	r0, (r3, 0x4)
    43a4:	6c40      	or      	r1, r0
    43a6:	b321      	st.w      	r1, (r3, 0x4)
}
    43a8:	07f2      	br      	0x438c	// 438c <SYSCON_General_CMD+0xc>
    43aa:	0000      	bkpt
    43ac:	2000005c 	.long	0x2000005c

Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config:

000043b0 <SystemCLK_HCLKDIV_PCLKDIV_Config>:
//SystemClk_data_x:EMOSC_24M,EMOSC_16M,EMOSC_12M,EMOSC_8M,EMOSC_4M,EMOSC_36K,
//ISOSC,IMOSC,HFOSC_48M,HFOSC_24M,HFOSC_12M,HFOSC_6M
//ReturnValue:NONE
/*************************************************************/ 
void SystemCLK_HCLKDIV_PCLKDIV_Config(SystemCLK_TypeDef SYSCLK_X , SystemCLK_Div_TypeDef HCLK_DIV_X , PCLK_Div_TypeDef PCLK_DIV_X , SystemClk_data_TypeDef SystemClk_data_x )
{
    43b0:	14c2      	push      	r4-r5
	if(SystemClk_data_x==HFOSC_48M)
    43b2:	3b48      	cmpnei      	r3, 8
    43b4:	0828      	bt      	0x4404	// 4404 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x54>
	{
		IFC->CEDR=0X01;						//CLKEN
    43b6:	109d      	lrw      	r4, 0x20000060	// 4428 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    43b8:	3501      	movi      	r5, 1
    43ba:	9480      	ld.w      	r4, (r4, 0x0)
    43bc:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X04|(0X00<<16);			//High speed mode
    43be:	3504      	movi      	r5, 4
    43c0:	b4a5      	st.w      	r5, (r4, 0x14)
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M))
	{
		IFC->CEDR=0X01;						//CLKEN
		IFC->MR=0X02|(0X00<<16);			//Medium speed mode
	}
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M))
    43c2:	5b83      	subi      	r4, r3, 1
    43c4:	3c01      	cmphsi      	r4, 2
    43c6:	0c2b      	bf      	0x441c	// 441c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x6c>
	{
		IFC->CEDR=0X01;						//CLKEN
		IFC->MR=0X01|(0X00<<16);			//Low speed mode
	}
	if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M))
    43c8:	5b8b      	subi      	r4, r3, 3
	if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
    43ca:	3c04      	cmphsi      	r4, 5
    43cc:	0c03      	bf      	0x43d2	// 43d2 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x22>
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M))
    43ce:	3b4b      	cmpnei      	r3, 11
    43d0:	0807      	bt      	0x43de	// 43de <SystemCLK_HCLKDIV_PCLKDIV_Config+0x2e>
	{
		IFC->CEDR=0X01;						//CLKEN
    43d2:	1076      	lrw      	r3, 0x20000060	// 4428 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    43d4:	3401      	movi      	r4, 1
    43d6:	9360      	ld.w      	r3, (r3, 0x0)
    43d8:	b381      	st.w      	r4, (r3, 0x4)
		IFC->MR=0X00|(0X00<<16);			//Low speed mode
    43da:	3400      	movi      	r4, 0
    43dc:	b385      	st.w      	r4, (r3, 0x14)
	}
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
    43de:	1094      	lrw      	r4, 0xd22d0000	// 442c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x7c>
    43e0:	6c10      	or      	r0, r4
    43e2:	1074      	lrw      	r3, 0x2000005c	// 4430 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x80>
    43e4:	6c40      	or      	r1, r0
    43e6:	9360      	ld.w      	r3, (r3, 0x0)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
    43e8:	3080      	movi      	r0, 128
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
    43ea:	b327      	st.w      	r1, (r3, 0x1c)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
    43ec:	4001      	lsli      	r0, r0, 1
    43ee:	9324      	ld.w      	r1, (r3, 0x10)
    43f0:	6840      	and      	r1, r0
    43f2:	3940      	cmpnei      	r1, 0
    43f4:	0ffd      	bf      	0x43ee	// 43ee <SystemCLK_HCLKDIV_PCLKDIV_Config+0x3e>
	SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X;											//PCLK DIV 1 2 4 6 8 16		
    43f6:	1030      	lrw      	r1, 0xc33c0000	// 4434 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x84>
    43f8:	6c48      	or      	r1, r2
    43fa:	b328      	st.w      	r1, (r3, 0x20)
	while(SYSCON->PCLKCR!=PCLK_DIV_X);											//Wait PCLK DIV
    43fc:	9328      	ld.w      	r1, (r3, 0x20)
    43fe:	644a      	cmpne      	r2, r1
    4400:	0bfe      	bt      	0x43fc	// 43fc <SystemCLK_HCLKDIV_PCLKDIV_Config+0x4c>
}
    4402:	1482      	pop      	r4-r5
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M))
    4404:	3b40      	cmpnei      	r3, 0
    4406:	0c03      	bf      	0x440c	// 440c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x5c>
    4408:	3b49      	cmpnei      	r3, 9
    440a:	0807      	bt      	0x4418	// 4418 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x68>
		IFC->CEDR=0X01;						//CLKEN
    440c:	1087      	lrw      	r4, 0x20000060	// 4428 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    440e:	3501      	movi      	r5, 1
    4410:	9480      	ld.w      	r4, (r4, 0x0)
    4412:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X02|(0X00<<16);			//Medium speed mode
    4414:	3502      	movi      	r5, 2
    4416:	b4a5      	st.w      	r5, (r4, 0x14)
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M))
    4418:	3b4a      	cmpnei      	r3, 10
    441a:	0bd4      	bt      	0x43c2	// 43c2 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x12>
		IFC->CEDR=0X01;						//CLKEN
    441c:	1083      	lrw      	r4, 0x20000060	// 4428 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    441e:	3501      	movi      	r5, 1
    4420:	9480      	ld.w      	r4, (r4, 0x0)
    4422:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X01|(0X00<<16);			//Low speed mode
    4424:	b4a5      	st.w      	r5, (r4, 0x14)
    4426:	07d1      	br      	0x43c8	// 43c8 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x18>
    4428:	20000060 	.long	0x20000060
    442c:	d22d0000 	.long	0xd22d0000
    4430:	2000005c 	.long	0x2000005c
    4434:	c33c0000 	.long	0xc33c0000

Disassembly of section .text.SYSCON_HFOSC_SELECTE:

00004438 <SYSCON_HFOSC_SELECTE>:
//EntryParameter:HFOSC_SELECTE_X
//HFOSC_SELECTE_X:HFOSC_SELECTE_48M,HFOSC_SELECTE_24M;HFOSC_SELECTE_12M;HFOSC_SELECTE_6M
//ReturnValue:NONE
/*************************************************************/  
void SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_TypeDef HFOSC_SELECTE_X)
{		
    4438:	14d1      	push      	r4, r15
    443a:	6d03      	mov      	r4, r0
	SYSCON_General_CMD(DISABLE,ENDIS_HFOSC);					//disable HFOSC
    443c:	3110      	movi      	r1, 16
    443e:	3000      	movi      	r0, 0
    4440:	e3ffffa0 	bsr      	0x4380	// 4380 <SYSCON_General_CMD>
	SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X;
    4444:	1066      	lrw      	r3, 0x2000005c	// 445c <SYSCON_HFOSC_SELECTE+0x24>
    4446:	9360      	ld.w      	r3, (r3, 0x0)
    4448:	9319      	ld.w      	r0, (r3, 0x64)
    444a:	3884      	bclri      	r0, 4
    444c:	3885      	bclri      	r0, 5
    444e:	6c10      	or      	r0, r4
    4450:	b319      	st.w      	r0, (r3, 0x64)
    4452:	3010      	movi      	r0, 16
    4454:	e3ffff36 	bsr      	0x42c0	// 42c0 <SYSCON_General_CMD.part.0>
	SYSCON_General_CMD(ENABLE,ENDIS_HFOSC);						//enable HFOSC
}
    4458:	1491      	pop      	r4, r15
    445a:	0000      	bkpt
    445c:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_WDT_CMD:

00004460 <SYSCON_WDT_CMD>:
//EntryParameter:,NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_WDT_CMD(FunctionalStatus NewState)
{
    4460:	106c      	lrw      	r3, 0x2000005c	// 4490 <SYSCON_WDT_CMD+0x30>
	if(NewState != DISABLE)
    4462:	3840      	cmpnei      	r0, 0
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    4464:	9360      	ld.w      	r3, (r3, 0x0)
    4466:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    4468:	0c0a      	bf      	0x447c	// 447c <SYSCON_WDT_CMD+0x1c>
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    446a:	104b      	lrw      	r2, 0x78870000	// 4494 <SYSCON_WDT_CMD+0x34>
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
    446c:	3180      	movi      	r1, 128
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    446e:	b34f      	st.w      	r2, (r3, 0x3c)
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
    4470:	4125      	lsli      	r1, r1, 5
    4472:	934d      	ld.w      	r2, (r3, 0x34)
    4474:	6884      	and      	r2, r1
    4476:	3a40      	cmpnei      	r2, 0
    4478:	0ffd      	bf      	0x4472	// 4472 <SYSCON_WDT_CMD+0x12>
	else
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
	}
}
    447a:	783c      	jmp      	r15
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
    447c:	1047      	lrw      	r2, 0x788755aa	// 4498 <SYSCON_WDT_CMD+0x38>
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
    447e:	3180      	movi      	r1, 128
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
    4480:	b34f      	st.w      	r2, (r3, 0x3c)
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
    4482:	4125      	lsli      	r1, r1, 5
    4484:	934d      	ld.w      	r2, (r3, 0x34)
    4486:	6884      	and      	r2, r1
    4488:	3a40      	cmpnei      	r2, 0
    448a:	0bfd      	bt      	0x4484	// 4484 <SYSCON_WDT_CMD+0x24>
    448c:	07f7      	br      	0x447a	// 447a <SYSCON_WDT_CMD+0x1a>
    448e:	0000      	bkpt
    4490:	2000005c 	.long	0x2000005c
    4494:	78870000 	.long	0x78870000
    4498:	788755aa 	.long	0x788755aa

Disassembly of section .text.SYSCON_IWDCNT_Reload:

0000449c <SYSCON_IWDCNT_Reload>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Reload(void)
{
	SYSCON->IWDCNT=CLR_IWDT;
    449c:	1064      	lrw      	r3, 0x2000005c	// 44ac <SYSCON_IWDCNT_Reload+0x10>
    449e:	32b4      	movi      	r2, 180
    44a0:	9360      	ld.w      	r3, (r3, 0x0)
    44a2:	237f      	addi      	r3, 128
    44a4:	4257      	lsli      	r2, r2, 23
    44a6:	b34e      	st.w      	r2, (r3, 0x38)
}
    44a8:	783c      	jmp      	r15
    44aa:	0000      	bkpt
    44ac:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_IWDCNT_Config:

000044b0 <SYSCON_IWDCNT_Config>:
//IWDT_INTW_DIV_X:IWDT_INTW_DIV_1/2/3/4/4/5/6
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Config(IWDT_TIME_TypeDef IWDT_TIME_X , IWDT_TIMEDIV_TypeDef IWDT_INTW_DIV_X )
{
	SYSCON->IWDCR=IWDT_KEY|IWDT_TIME_X|IWDT_INTW_DIV_X;
    44b0:	1044      	lrw      	r2, 0x87780000	// 44c0 <SYSCON_IWDCNT_Config+0x10>
    44b2:	1065      	lrw      	r3, 0x2000005c	// 44c4 <SYSCON_IWDCNT_Config+0x14>
    44b4:	6c48      	or      	r1, r2
    44b6:	9360      	ld.w      	r3, (r3, 0x0)
    44b8:	6c04      	or      	r0, r1
    44ba:	237f      	addi      	r3, 128
    44bc:	b30d      	st.w      	r0, (r3, 0x34)
}
    44be:	783c      	jmp      	r15
    44c0:	87780000 	.long	0x87780000
    44c4:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_LVD_Config:

000044c8 <SYSCON_LVD_Config>:
//X_LVD_INT:ENABLE_LVD_INT,DISABLE_LVD_INT
//INTDET_POL_X:INTDET_POL_fall,INTDET_POL_X_rise,INTDET_POL_X_riseORfall
//ReturnValue: NONE
/*************************************************************/
void SYSCON_LVD_Config(X_LVDEN_TypeDef X_LVDEN , INTDET_LVL_X_TypeDef INTDET_LVL_X , RSTDET_LVL_X_TypeDef RSTDET_LVL_X , X_LVD_INT_TypeDef X_LVD_INT , INTDET_POL_X_TypeDef INTDET_POL_X)
{
    44c8:	14c3      	push      	r4-r6
    44ca:	9883      	ld.w      	r4, (r14, 0xc)
	//SYSCON->LVDCR=LVD_KEY;
	SYSCON->LVDCR=LVD_KEY|X_LVDEN|INTDET_LVL_X|RSTDET_LVL_X|X_LVD_INT|INTDET_POL_X;
    44cc:	10c5      	lrw      	r6, 0xb44b0000	// 44e0 <SYSCON_LVD_Config+0x18>
    44ce:	6d18      	or      	r4, r6
    44d0:	6cd0      	or      	r3, r4
    44d2:	6c8c      	or      	r2, r3
    44d4:	6c48      	or      	r1, r2
    44d6:	10a4      	lrw      	r5, 0x2000005c	// 44e4 <SYSCON_LVD_Config+0x1c>
    44d8:	6c04      	or      	r0, r1
    44da:	95a0      	ld.w      	r5, (r5, 0x0)
    44dc:	b513      	st.w      	r0, (r5, 0x4c)
}
    44de:	1483      	pop      	r4-r6
    44e0:	b44b0000 	.long	0xb44b0000
    44e4:	2000005c 	.long	0x2000005c

Disassembly of section .text.LVD_Int_Enable:

000044e8 <LVD_Int_Enable>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void LVD_Int_Enable(void)
{
	SYSCON->ICR = LVD_INT_ST;				//clear LVD INT status
    44e8:	1066      	lrw      	r3, 0x2000005c	// 4500 <LVD_Int_Enable+0x18>
    44ea:	3180      	movi      	r1, 128
    44ec:	9360      	ld.w      	r3, (r3, 0x0)
    44ee:	3280      	movi      	r2, 128
    44f0:	604c      	addu      	r1, r3
    44f2:	4244      	lsli      	r2, r2, 4
    44f4:	b141      	st.w      	r2, (r1, 0x4)
	SYSCON->IMER  |= LVD_INT_ST;
    44f6:	935d      	ld.w      	r2, (r3, 0x74)
    44f8:	3aab      	bseti      	r2, 11
    44fa:	b35d      	st.w      	r2, (r3, 0x74)
}
    44fc:	783c      	jmp      	r15
    44fe:	0000      	bkpt
    4500:	2000005c 	.long	0x2000005c

Disassembly of section .text.IWDT_Int_Enable:

00004504 <IWDT_Int_Enable>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void IWDT_Int_Enable(void)
{
	SYSCON->ICR = IWDT_INT_ST;				//clear LVD INT status
    4504:	1066      	lrw      	r3, 0x2000005c	// 451c <IWDT_Int_Enable+0x18>
    4506:	3180      	movi      	r1, 128
    4508:	9360      	ld.w      	r3, (r3, 0x0)
    450a:	3280      	movi      	r2, 128
    450c:	604c      	addu      	r1, r3
    450e:	4241      	lsli      	r2, r2, 1
    4510:	b141      	st.w      	r2, (r1, 0x4)
	SYSCON->IMER  |= IWDT_INT_ST;
    4512:	935d      	ld.w      	r2, (r3, 0x74)
    4514:	3aa8      	bseti      	r2, 8
    4516:	b35d      	st.w      	r2, (r3, 0x74)
}
    4518:	783c      	jmp      	r15
    451a:	0000      	bkpt
    451c:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXTI_trigger_CMD:

00004520 <EXTI_trigger_CMD>:
//EXI_tringer_mode:_EXIRT,_EXIFT
//ReturnValue: LVD detection flag
/*************************************************************/
void EXTI_trigger_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN , EXI_tringer_mode_TypeDef EXI_tringer_mode)
{
	switch(EXI_tringer_mode)
    4520:	3a40      	cmpnei      	r2, 0
    4522:	0c04      	bf      	0x452a	// 452a <EXTI_trigger_CMD+0xa>
    4524:	3a41      	cmpnei      	r2, 1
    4526:	0c0e      	bf      	0x4542	// 4542 <EXTI_trigger_CMD+0x22>
		{
			SYSCON->EXIFT &=~EXIPIN;	
		}
		break;
	}	
}
    4528:	783c      	jmp      	r15
    452a:	106d      	lrw      	r3, 0x2000005c	// 455c <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    452c:	3840      	cmpnei      	r0, 0
			SYSCON->EXIRT |=EXIPIN;
    452e:	9360      	ld.w      	r3, (r3, 0x0)
    4530:	237f      	addi      	r3, 128
    4532:	9345      	ld.w      	r2, (r3, 0x14)
		if(NewState != DISABLE)
    4534:	0c04      	bf      	0x453c	// 453c <EXTI_trigger_CMD+0x1c>
			SYSCON->EXIRT |=EXIPIN;
    4536:	6c48      	or      	r1, r2
    4538:	b325      	st.w      	r1, (r3, 0x14)
    453a:	07f7      	br      	0x4528	// 4528 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIRT &=~EXIPIN;	
    453c:	6885      	andn      	r2, r1
    453e:	b345      	st.w      	r2, (r3, 0x14)
    4540:	07f4      	br      	0x4528	// 4528 <EXTI_trigger_CMD+0x8>
    4542:	1067      	lrw      	r3, 0x2000005c	// 455c <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    4544:	3840      	cmpnei      	r0, 0
			SYSCON->EXIFT |=EXIPIN;
    4546:	9360      	ld.w      	r3, (r3, 0x0)
    4548:	237f      	addi      	r3, 128
    454a:	9346      	ld.w      	r2, (r3, 0x18)
		if(NewState != DISABLE)
    454c:	0c04      	bf      	0x4554	// 4554 <EXTI_trigger_CMD+0x34>
			SYSCON->EXIFT |=EXIPIN;
    454e:	6c48      	or      	r1, r2
    4550:	b326      	st.w      	r1, (r3, 0x18)
    4552:	07eb      	br      	0x4528	// 4528 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIFT &=~EXIPIN;	
    4554:	6885      	andn      	r2, r1
    4556:	b346      	st.w      	r2, (r3, 0x18)
}
    4558:	07e8      	br      	0x4528	// 4528 <EXTI_trigger_CMD+0x8>
    455a:	0000      	bkpt
    455c:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXTI_interrupt_CMD:

00004560 <EXTI_interrupt_CMD>:
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void EXTI_interrupt_CMD(FunctionalStatus NewState , SYSCON_EXIPIN_TypeDef  EXIPIN)
{
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
    4560:	106b      	lrw      	r3, 0x2000005c	// 458c <EXTI_interrupt_CMD+0x2c>
    4562:	104c      	lrw      	r2, 0x3fff	// 4590 <EXTI_interrupt_CMD+0x30>
    4564:	9360      	ld.w      	r3, (r3, 0x0)
    4566:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    4568:	3840      	cmpnei      	r0, 0
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
    456a:	b34b      	st.w      	r2, (r3, 0x2c)
	if(NewState != DISABLE)
    456c:	0c0c      	bf      	0x4584	// 4584 <EXTI_interrupt_CMD+0x24>
	{
		SYSCON->EXIER|=EXIPIN;								//EXI4 interrupt enable
    456e:	9347      	ld.w      	r2, (r3, 0x1c)
    4570:	6c84      	or      	r2, r1
    4572:	b347      	st.w      	r2, (r3, 0x1c)
		while(!(SYSCON->EXIMR&EXIPIN));						//Check EXI is enabled or not
    4574:	9349      	ld.w      	r2, (r3, 0x24)
    4576:	6884      	and      	r2, r1
    4578:	3a40      	cmpnei      	r2, 0
    457a:	0ffd      	bf      	0x4574	// 4574 <EXTI_interrupt_CMD+0x14>
		SYSCON->EXICR |=EXIPIN;								// Clear EXI status bit
    457c:	934b      	ld.w      	r2, (r3, 0x2c)
    457e:	6c48      	or      	r1, r2
    4580:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else
	{
		SYSCON->EXIDR|=EXIPIN;
	}
}
    4582:	783c      	jmp      	r15
		SYSCON->EXIDR|=EXIPIN;
    4584:	9348      	ld.w      	r2, (r3, 0x20)
    4586:	6c48      	or      	r1, r2
    4588:	b328      	st.w      	r1, (r3, 0x20)
}
    458a:	07fc      	br      	0x4582	// 4582 <EXTI_interrupt_CMD+0x22>
    458c:	2000005c 	.long	0x2000005c
    4590:	00003fff 	.long	0x00003fff

Disassembly of section .text.GPIO_EXTI_interrupt:

00004594 <GPIO_EXTI_interrupt>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPIO_EXTI_interrupt(CSP_GPIO_T * GPIOX,U32_T GPIO_IECR_VALUE)
{
	GPIOX->IECR=GPIO_IECR_VALUE;
    4594:	b02b      	st.w      	r1, (r0, 0x2c)
}
    4596:	783c      	jmp      	r15

Disassembly of section .text.EXI3_Int_Enable:

00004598 <EXI3_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI3_Int_Enable(void)
{
	INTC_ISER_WRITE(EXI3_INT);    
    4598:	3380      	movi      	r3, 128
    459a:	436f      	lsli      	r3, r3, 15
    459c:	1042      	lrw      	r2, 0xe000e100	// 45a4 <EXI3_Int_Enable+0xc>
    459e:	b260      	st.w      	r3, (r2, 0x0)
}
    45a0:	783c      	jmp      	r15
    45a2:	0000      	bkpt
    45a4:	e000e100 	.long	0xe000e100

Disassembly of section .text.EXI4_Int_Enable:

000045a8 <EXI4_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4_Int_Enable(void)
{
	INTC_ISER_WRITE(EXI4_INT);    
    45a8:	3380      	movi      	r3, 128
    45aa:	4370      	lsli      	r3, r3, 16
    45ac:	1042      	lrw      	r2, 0xe000e100	// 45b4 <EXI4_Int_Enable+0xc>
    45ae:	b260      	st.w      	r3, (r2, 0x0)
}
    45b0:	783c      	jmp      	r15
    45b2:	0000      	bkpt
    45b4:	e000e100 	.long	0xe000e100

Disassembly of section .text.SYSCON_Int_Enable:

000045b8 <SYSCON_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_Int_Enable(void)
{
    INTC_ISER_WRITE(SYSCON_INT);    
    45b8:	3202      	movi      	r2, 2
    45ba:	1062      	lrw      	r3, 0xe000e100	// 45c0 <SYSCON_Int_Enable+0x8>
    45bc:	b340      	st.w      	r2, (r3, 0x0)
}
    45be:	783c      	jmp      	r15
    45c0:	e000e100 	.long	0xe000e100

Disassembly of section .text.SYSCON_Int_Disable:

000045c4 <SYSCON_Int_Disable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_Int_Disable(void)
{
    INTC_ICER_WRITE(SYSCON_INT);    
    45c4:	3202      	movi      	r2, 2
    45c6:	1062      	lrw      	r3, 0xe000e180	// 45cc <SYSCON_Int_Disable+0x8>
    45c8:	b340      	st.w      	r2, (r3, 0x0)
}
    45ca:	783c      	jmp      	r15
    45cc:	e000e180 	.long	0xe000e180

Disassembly of section .text.SYSCON_INT_Priority:

000045d0 <SYSCON_INT_Priority>:
//80:Priority 2
//C0:Priority 3		lowest
/*************************************************************/
void SYSCON_INT_Priority(void)
{
	INTC_IPR0_WRITE(0XC0C0C0C0);   //IQR0-3  low bit-->high bit
    45d0:	1066      	lrw      	r3, 0xe000e400	// 45e8 <SYSCON_INT_Priority+0x18>
    45d2:	1047      	lrw      	r2, 0xc0c0c0c0	// 45ec <SYSCON_INT_Priority+0x1c>
	INTC_IPR1_WRITE(0XC0C0C0C0);   //IQR4-7  
	INTC_IPR2_WRITE(0XC0C0C0C0);   //IQR8-11  
	INTC_IPR3_WRITE(0XC0C0C0C0);   //IQR12-15  
	INTC_IPR4_WRITE(0XC0C0C0C0);   //IQR16-19  
	INTC_IPR5_WRITE(0XC0C0C0C0);   //IQR20-23 
	INTC_IPR6_WRITE(0XC0C000C0);   //IQR24-27  
    45d4:	1027      	lrw      	r1, 0xc0c000c0	// 45f0 <SYSCON_INT_Priority+0x20>
	INTC_IPR0_WRITE(0XC0C0C0C0);   //IQR0-3  low bit-->high bit
    45d6:	b340      	st.w      	r2, (r3, 0x0)
	INTC_IPR1_WRITE(0XC0C0C0C0);   //IQR4-7  
    45d8:	b341      	st.w      	r2, (r3, 0x4)
	INTC_IPR2_WRITE(0XC0C0C0C0);   //IQR8-11  
    45da:	b342      	st.w      	r2, (r3, 0x8)
	INTC_IPR3_WRITE(0XC0C0C0C0);   //IQR12-15  
    45dc:	b343      	st.w      	r2, (r3, 0xc)
	INTC_IPR4_WRITE(0XC0C0C0C0);   //IQR16-19  
    45de:	b344      	st.w      	r2, (r3, 0x10)
	INTC_IPR5_WRITE(0XC0C0C0C0);   //IQR20-23 
    45e0:	b345      	st.w      	r2, (r3, 0x14)
	INTC_IPR6_WRITE(0XC0C000C0);   //IQR24-27  
    45e2:	b326      	st.w      	r1, (r3, 0x18)
	INTC_IPR7_WRITE(0XC0C0C0C0);   //IQR28-31
    45e4:	b347      	st.w      	r2, (r3, 0x1c)
}
    45e6:	783c      	jmp      	r15
    45e8:	e000e400 	.long	0xe000e400
    45ec:	c0c0c0c0 	.long	0xc0c0c0c0
    45f0:	c0c000c0 	.long	0xc0c000c0

Disassembly of section .text.Set_INT_Priority:

000045f4 <Set_INT_Priority>:
//int_name:CORET_IRQ~BT1_IRQ
//int_level:0~3  0=highest   3=lowest
//ReturnValue:None
/*************************************************************/
void Set_INT_Priority(U8_T int_name,U8_T int_level)
{
    45f4:	14c1      	push      	r4
    45f6:	4862      	lsri      	r3, r0, 2
    45f8:	4342      	lsli      	r2, r3, 2
    45fa:	106a      	lrw      	r3, 0x20000064	// 4620 <Set_INT_Priority+0x2c>
	U8_T i_temp,j_temp;
	U32_T k_temp;
	i_temp=(int_name%4)*8;
    45fc:	3403      	movi      	r4, 3
    45fe:	9360      	ld.w      	r3, (r3, 0x0)
    4600:	60c8      	addu      	r3, r2
	j_temp=int_name/4;
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    4602:	3280      	movi      	r2, 128
    4604:	4243      	lsli      	r2, r2, 3
	i_temp=(int_name%4)*8;
    4606:	6810      	and      	r0, r4
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    4608:	60c8      	addu      	r3, r2
    460a:	4003      	lsli      	r0, r0, 3
    460c:	34ff      	movi      	r4, 255
    460e:	9340      	ld.w      	r2, (r3, 0x0)
    4610:	7100      	lsl      	r4, r0
	CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
    4612:	4126      	lsli      	r1, r1, 6
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    4614:	6891      	andn      	r2, r4
	CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
    4616:	7040      	lsl      	r1, r0
    4618:	6c48      	or      	r1, r2
    461a:	b320      	st.w      	r1, (r3, 0x0)
}
    461c:	1481      	pop      	r4
    461e:	0000      	bkpt
    4620:	20000064 	.long	0x20000064

Disassembly of section .text.GPIO_DeInit:

00004624 <GPIO_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void GPIO_DeInit(void)
{
    GPIOA0->CONLR &= 0xFF000000;                     
    4624:	1075      	lrw      	r3, 0x2000004c	// 4678 <GPIO_DeInit+0x54>
    GPIOA0->CONHR = GPIO_RESET_VALUE;
    GPIOB0->CONLR = GPIO_RESET_VALUE;                     
    4626:	1036      	lrw      	r1, 0x20000048	// 467c <GPIO_DeInit+0x58>
    GPIOB0->CODR  = GPIO_RESET_VALUE;
	GPIOA0->ODSR  =	GPIO_RESET_VALUE;
	GPIOB0->ODSR  =	GPIO_RESET_VALUE;
	GPIOA0->PSDR  =	GPIO_RESET_VALUE;
	GPIOB0->PSDR  =	GPIO_RESET_VALUE;
	GPIOA0->FLTEN = 0xffff;
    4628:	1016      	lrw      	r0, 0xffff	// 4680 <GPIO_DeInit+0x5c>
    GPIOA0->CONLR &= 0xFF000000;                     
    462a:	9340      	ld.w      	r2, (r3, 0x0)
    462c:	9260      	ld.w      	r3, (r2, 0x0)
    462e:	4b78      	lsri      	r3, r3, 24
    4630:	4378      	lsli      	r3, r3, 24
    4632:	b260      	st.w      	r3, (r2, 0x0)
    GPIOB0->CONLR = GPIO_RESET_VALUE;                     
    4634:	9120      	ld.w      	r1, (r1, 0x0)
    GPIOA0->CONHR = GPIO_RESET_VALUE;
    4636:	3300      	movi      	r3, 0
    4638:	b261      	st.w      	r3, (r2, 0x4)
    GPIOB0->CONLR = GPIO_RESET_VALUE;                     
    463a:	b160      	st.w      	r3, (r1, 0x0)
    GPIOB0->CONHR = GPIO_RESET_VALUE;
    463c:	b161      	st.w      	r3, (r1, 0x4)
    GPIOA0->WODR  = GPIO_RESET_VALUE; 
    463e:	b262      	st.w      	r3, (r2, 0x8)
    GPIOB0->WODR  = GPIO_RESET_VALUE;
    4640:	b162      	st.w      	r3, (r1, 0x8)
    GPIOA0->SODR  = GPIO_RESET_VALUE; 
    4642:	b263      	st.w      	r3, (r2, 0xc)
    GPIOB0->SODR  = GPIO_RESET_VALUE;
    4644:	b163      	st.w      	r3, (r1, 0xc)
    GPIOA0->CODR  = GPIO_RESET_VALUE; 
    4646:	b264      	st.w      	r3, (r2, 0x10)
    GPIOB0->CODR  = GPIO_RESET_VALUE;
    4648:	b164      	st.w      	r3, (r1, 0x10)
	GPIOA0->ODSR  =	GPIO_RESET_VALUE;
    464a:	b265      	st.w      	r3, (r2, 0x14)
	GPIOB0->ODSR  =	GPIO_RESET_VALUE;
    464c:	b165      	st.w      	r3, (r1, 0x14)
	GPIOA0->PSDR  =	GPIO_RESET_VALUE;
    464e:	b266      	st.w      	r3, (r2, 0x18)
	GPIOB0->PSDR  =	GPIO_RESET_VALUE;
    4650:	b166      	st.w      	r3, (r1, 0x18)
	GPIOA0->FLTEN = 0xffff;
    4652:	b207      	st.w      	r0, (r2, 0x1c)
	GPIOB0->FLTEN = 0x3f;
    4654:	303f      	movi      	r0, 63
    4656:	b107      	st.w      	r0, (r1, 0x1c)
    GPIOA0->PUDR  = GPIO_RESET_VALUE; 
    4658:	b268      	st.w      	r3, (r2, 0x20)
    GPIOB0->PUDR  = GPIO_RESET_VALUE;
    465a:	b168      	st.w      	r3, (r1, 0x20)
    GPIOA0->DSCR  = GPIO_RESET_VALUE;
    465c:	b269      	st.w      	r3, (r2, 0x24)
    GPIOB0->DSCR  = GPIO_RESET_VALUE;
    465e:	b169      	st.w      	r3, (r1, 0x24)
	GPIOA0->OMCR  = GPIO_RESET_VALUE;
    4660:	b26a      	st.w      	r3, (r2, 0x28)
    GPIOB0->OMCR  = GPIO_RESET_VALUE;
    4662:	b16a      	st.w      	r3, (r1, 0x28)
    GPIOA0->IECR  = GPIO_RESET_VALUE;
    4664:	b26b      	st.w      	r3, (r2, 0x2c)
    GPIOB0->IECR  = GPIO_RESET_VALUE;
    4666:	b16b      	st.w      	r3, (r1, 0x2c)
    GPIOGRP->IGRPL  = GPIO_RESET_VALUE;
    4668:	1047      	lrw      	r2, 0x20000044	// 4684 <GPIO_DeInit+0x60>
    466a:	9240      	ld.w      	r2, (r2, 0x0)
    466c:	b260      	st.w      	r3, (r2, 0x0)
	GPIOGRP->IGRPH  = GPIO_RESET_VALUE;
    466e:	b261      	st.w      	r3, (r2, 0x4)
	GPIOGRP->IGREX  = GPIO_RESET_VALUE;
    4670:	b262      	st.w      	r3, (r2, 0x8)
	GPIOGRP->IO_CLKEN = 0xf;
    4672:	330f      	movi      	r3, 15
    4674:	b263      	st.w      	r3, (r2, 0xc)
}  
    4676:	783c      	jmp      	r15
    4678:	2000004c 	.long	0x2000004c
    467c:	20000048 	.long	0x20000048
    4680:	0000ffff 	.long	0x0000ffff
    4684:	20000044 	.long	0x20000044

Disassembly of section .text.GPIO_Init:

00004688 <GPIO_Init>:
//byte:Lowbyte(PIN_0~7),Highbyte(PIN_8~15)
//Dir:0:output 1:input
//ReturnValue:NONE
/*************************************************************/  
void GPIO_Init(CSP_GPIO_T *GPIOx,uint8_t PinNum,GPIO_Dir_TypeDef Dir)
{
    4688:	14d1      	push      	r4, r15
    uint32_t data_temp;
    uint8_t GPIO_Pin;
    if(PinNum<8)
    468a:	3907      	cmphsi      	r1, 8
{
    468c:	6d03      	mov      	r4, r0
    if(PinNum<8)
    468e:	0830      	bt      	0x46ee	// 46ee <GPIO_Init+0x66>
    {
    switch (PinNum)
    4690:	5903      	subi      	r0, r1, 1
    4692:	3806      	cmphsi      	r0, 7
    4694:	0827      	bt      	0x46e2	// 46e2 <GPIO_Init+0x5a>
    4696:	e3fff733 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    469a:	1004      	.short	0x1004
    469c:	1d1a1613 	.long	0x1d1a1613
    46a0:	0021      	.short	0x0021
    {
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
        case 1:data_temp=0xffffff0f;GPIO_Pin=4;break;
    46a2:	3300      	movi      	r3, 0
    46a4:	3104      	movi      	r1, 4
    46a6:	2bf0      	subi      	r3, 241
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    }
        if (Dir)
    46a8:	3a40      	cmpnei      	r2, 0
        {
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    46aa:	9440      	ld.w      	r2, (r4, 0x0)
    46ac:	68c8      	and      	r3, r2
        if (Dir)
    46ae:	0c1e      	bf      	0x46ea	// 46ea <GPIO_Init+0x62>
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    46b0:	3201      	movi      	r2, 1
        }
        else
        {
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    46b2:	7084      	lsl      	r2, r1
    46b4:	6cc8      	or      	r3, r2
    46b6:	b460      	st.w      	r3, (r4, 0x0)
        else
        {
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
        }
    }
}
    46b8:	1491      	pop      	r4, r15
        case 2:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    46ba:	3108      	movi      	r1, 8
    46bc:	1166      	lrw      	r3, 0xfffff0ff	// 4754 <GPIO_Init+0xcc>
    46be:	07f5      	br      	0x46a8	// 46a8 <GPIO_Init+0x20>
        case 3:data_temp=0xffff0fff;GPIO_Pin=12;break;
    46c0:	310c      	movi      	r1, 12
    46c2:	1166      	lrw      	r3, 0xffff0fff	// 4758 <GPIO_Init+0xd0>
    46c4:	07f2      	br      	0x46a8	// 46a8 <GPIO_Init+0x20>
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    46c6:	3110      	movi      	r1, 16
    46c8:	1165      	lrw      	r3, 0xfff10000	// 475c <GPIO_Init+0xd4>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    46ca:	2b00      	subi      	r3, 1
    46cc:	07ee      	br      	0x46a8	// 46a8 <GPIO_Init+0x20>
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
    46ce:	3114      	movi      	r1, 20
    46d0:	1164      	lrw      	r3, 0xff100000	// 4760 <GPIO_Init+0xd8>
    46d2:	07fc      	br      	0x46ca	// 46ca <GPIO_Init+0x42>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    46d4:	33f1      	movi      	r3, 241
    46d6:	3118      	movi      	r1, 24
    46d8:	4378      	lsli      	r3, r3, 24
    46da:	07f8      	br      	0x46ca	// 46ca <GPIO_Init+0x42>
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    46dc:	311c      	movi      	r1, 28
    46de:	1162      	lrw      	r3, 0xfffffff	// 4764 <GPIO_Init+0xdc>
    46e0:	07e4      	br      	0x46a8	// 46a8 <GPIO_Init+0x20>
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
    46e2:	3300      	movi      	r3, 0
    46e4:	3100      	movi      	r1, 0
    46e6:	2b0f      	subi      	r3, 16
    46e8:	07e0      	br      	0x46a8	// 46a8 <GPIO_Init+0x20>
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    46ea:	3202      	movi      	r2, 2
    46ec:	07e3      	br      	0x46b2	// 46b2 <GPIO_Init+0x2a>
    else if (PinNum<16)
    46ee:	390f      	cmphsi      	r1, 16
    46f0:	0be4      	bt      	0x46b8	// 46b8 <GPIO_Init+0x30>
        switch (PinNum)
    46f2:	2908      	subi      	r1, 9
    46f4:	3906      	cmphsi      	r1, 7
    46f6:	6c07      	mov      	r0, r1
    46f8:	0827      	bt      	0x4746	// 4746 <GPIO_Init+0xbe>
    46fa:	e3fff701 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    46fe:	1004      	.short	0x1004
    4700:	1d1a1613 	.long	0x1d1a1613
    4704:	0021      	.short	0x0021
        case 9:data_temp=0xffffff0f;GPIO_Pin=4;break;
    4706:	3300      	movi      	r3, 0
    4708:	3104      	movi      	r1, 4
    470a:	2bf0      	subi      	r3, 241
      if (Dir)
    470c:	3a40      	cmpnei      	r2, 0
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    470e:	9441      	ld.w      	r2, (r4, 0x4)
    4710:	68c8      	and      	r3, r2
      if (Dir)
    4712:	0c1e      	bf      	0x474e	// 474e <GPIO_Init+0xc6>
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    4714:	3201      	movi      	r2, 1
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    4716:	7084      	lsl      	r2, r1
    4718:	6cc8      	or      	r3, r2
    471a:	b461      	st.w      	r3, (r4, 0x4)
}
    471c:	07ce      	br      	0x46b8	// 46b8 <GPIO_Init+0x30>
        case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    471e:	3108      	movi      	r1, 8
    4720:	106d      	lrw      	r3, 0xfffff0ff	// 4754 <GPIO_Init+0xcc>
    4722:	07f5      	br      	0x470c	// 470c <GPIO_Init+0x84>
        case 11:data_temp=0xffff0fff;GPIO_Pin=12;break;
    4724:	310c      	movi      	r1, 12
    4726:	106d      	lrw      	r3, 0xffff0fff	// 4758 <GPIO_Init+0xd0>
    4728:	07f2      	br      	0x470c	// 470c <GPIO_Init+0x84>
        case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    472a:	3110      	movi      	r1, 16
    472c:	106c      	lrw      	r3, 0xfff10000	// 475c <GPIO_Init+0xd4>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    472e:	2b00      	subi      	r3, 1
    4730:	07ee      	br      	0x470c	// 470c <GPIO_Init+0x84>
        case 13:data_temp=0xff0fffff;GPIO_Pin=20;break;
    4732:	3114      	movi      	r1, 20
    4734:	106b      	lrw      	r3, 0xff100000	// 4760 <GPIO_Init+0xd8>
    4736:	07fc      	br      	0x472e	// 472e <GPIO_Init+0xa6>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    4738:	33f1      	movi      	r3, 241
    473a:	3118      	movi      	r1, 24
    473c:	4378      	lsli      	r3, r3, 24
    473e:	07f8      	br      	0x472e	// 472e <GPIO_Init+0xa6>
        case 15:data_temp=0x0fffffff;GPIO_Pin=28;break;
    4740:	311c      	movi      	r1, 28
    4742:	1069      	lrw      	r3, 0xfffffff	// 4764 <GPIO_Init+0xdc>
    4744:	07e4      	br      	0x470c	// 470c <GPIO_Init+0x84>
        case 8:data_temp=0xfffffff0;GPIO_Pin=0;break;
    4746:	3300      	movi      	r3, 0
    4748:	3100      	movi      	r1, 0
    474a:	2b0f      	subi      	r3, 16
    474c:	07e0      	br      	0x470c	// 470c <GPIO_Init+0x84>
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    474e:	3202      	movi      	r2, 2
    4750:	07e3      	br      	0x4716	// 4716 <GPIO_Init+0x8e>
    4752:	0000      	bkpt
    4754:	fffff0ff 	.long	0xfffff0ff
    4758:	ffff0fff 	.long	0xffff0fff
    475c:	fff10000 	.long	0xfff10000
    4760:	ff100000 	.long	0xff100000
    4764:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIO_PullHigh_Init:

00004768 <GPIO_PullHigh_Init>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_PullHigh_Init(CSP_GPIO_T *GPIOx,uint8_t bit)
{
	(GPIOx)->PUDR  = (((GPIOx)->PUDR) & ~(0x03<<(bit*2))) | (0x01<<(bit*2));
    4768:	4121      	lsli      	r1, r1, 1
    476a:	3203      	movi      	r2, 3
    476c:	9068      	ld.w      	r3, (r0, 0x20)
    476e:	7084      	lsl      	r2, r1
    4770:	68c9      	andn      	r3, r2
    4772:	3201      	movi      	r2, 1
    4774:	7084      	lsl      	r2, r1
    4776:	6cc8      	or      	r3, r2
    4778:	b068      	st.w      	r3, (r0, 0x20)
}
    477a:	783c      	jmp      	r15

Disassembly of section .text.GPIO_DriveStrength_EN:

0000477c <GPIO_DriveStrength_EN>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_DriveStrength_EN(CSP_GPIO_T *GPIOx,uint8_t bit)
{
	(GPIOx)->DSCR  = ((GPIOx)->DSCR) | (0x01<<(bit*2));
    477c:	4121      	lsli      	r1, r1, 1
    477e:	3301      	movi      	r3, 1
    4780:	9049      	ld.w      	r2, (r0, 0x24)
    4782:	70c4      	lsl      	r3, r1
    4784:	6cc8      	or      	r3, r2
    4786:	b069      	st.w      	r3, (r0, 0x24)
}
    4788:	783c      	jmp      	r15

Disassembly of section .text.GPIO_IntGroup_Set:

0000478c <GPIO_IntGroup_Set>:
//EXI16~EXI17:GPIOA0.0~GPIOA0.7
//EXI18~EXI19:GPIOB0.0~GPIOB0.3
//ReturnValue:NONE
/*************************************************************/  
void GPIO_IntGroup_Set(GPIO_Group_TypeDef IO_MODE , uint8_t PinNum , GPIO_EXIPIN_TypeDef Selete_EXI_x)
{
    478c:	14c1      	push      	r4
    478e:	1422      	subi      	r14, r14, 8
	volatile unsigned int  R_data_temp;
    volatile unsigned char R_GPIO_Pin;
	if(Selete_EXI_x<16)
    4790:	3a0f      	cmphsi      	r2, 16
    4792:	084f      	bt      	0x4830	// 4830 <GPIO_IntGroup_Set+0xa4>
	{
		if((Selete_EXI_x==0)||(Selete_EXI_x==8))
    4794:	6ccb      	mov      	r3, r2
    4796:	3b83      	bclri      	r3, 3
    4798:	3b40      	cmpnei      	r3, 0
    479a:	0813      	bt      	0x47c0	// 47c0 <GPIO_IntGroup_Set+0x34>
		{
			R_data_temp=0xfffffff0;
    479c:	2b0f      	subi      	r3, 16
    479e:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=0;
    47a0:	3300      	movi      	r3, 0
		else if((Selete_EXI_x==7)||(Selete_EXI_x==15))
		{
			R_data_temp=0x0fffffff;
			R_GPIO_Pin=28;
		}
		if(Selete_EXI_x<8)
    47a2:	3a07      	cmphsi      	r2, 8
			R_GPIO_Pin=28;
    47a4:	dc6e0003 	st.b      	r3, (r14, 0x3)
    47a8:	1176      	lrw      	r3, 0x20000044	// 4880 <GPIO_IntGroup_Set+0xf4>
		if(Selete_EXI_x<8)
    47aa:	0c38      	bf      	0x481a	// 481a <GPIO_IntGroup_Set+0x8e>
		{
			GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
		}
		else if((Selete_EXI_x<16)&&(Selete_EXI_x>=8))
		{
			GPIOGRP->IGRPH =(GPIOGRP->IGRPH & R_data_temp) | (IO_MODE<<R_GPIO_Pin);    
    47ac:	9340      	ld.w      	r2, (r3, 0x0)
    47ae:	9261      	ld.w      	r3, (r2, 0x4)
    47b0:	9881      	ld.w      	r4, (r14, 0x4)
    47b2:	d82e0003 	ld.b      	r1, (r14, 0x3)
    47b6:	68d0      	and      	r3, r4
    47b8:	7004      	lsl      	r0, r1
    47ba:	6c0c      	or      	r0, r3
    47bc:	b201      	st.w      	r0, (r2, 0x4)
    47be:	0437      	br      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
		else if((Selete_EXI_x==1)||(Selete_EXI_x==9))
    47c0:	3b41      	cmpnei      	r3, 1
    47c2:	0806      	bt      	0x47ce	// 47ce <GPIO_IntGroup_Set+0x42>
			R_data_temp=0xffffff0f;
    47c4:	3300      	movi      	r3, 0
    47c6:	2bf0      	subi      	r3, 241
    47c8:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=4;
    47ca:	3304      	movi      	r3, 4
    47cc:	07eb      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==2)||(Selete_EXI_x==10))
    47ce:	3b42      	cmpnei      	r3, 2
    47d0:	0805      	bt      	0x47da	// 47da <GPIO_IntGroup_Set+0x4e>
			R_data_temp=0xfffff0ff;
    47d2:	116d      	lrw      	r3, 0xfffff0ff	// 4884 <GPIO_IntGroup_Set+0xf8>
    47d4:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=8;
    47d6:	3308      	movi      	r3, 8
    47d8:	07e5      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==3)||(Selete_EXI_x==11))
    47da:	3b43      	cmpnei      	r3, 3
    47dc:	0805      	bt      	0x47e6	// 47e6 <GPIO_IntGroup_Set+0x5a>
			R_data_temp=0xffff0fff;
    47de:	116b      	lrw      	r3, 0xffff0fff	// 4888 <GPIO_IntGroup_Set+0xfc>
    47e0:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=12;
    47e2:	330c      	movi      	r3, 12
    47e4:	07df      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==4)||(Selete_EXI_x==12))
    47e6:	3b44      	cmpnei      	r3, 4
    47e8:	0806      	bt      	0x47f4	// 47f4 <GPIO_IntGroup_Set+0x68>
			R_data_temp=0xfff0ffff;
    47ea:	1169      	lrw      	r3, 0xfff10000	// 488c <GPIO_IntGroup_Set+0x100>
    47ec:	2b00      	subi      	r3, 1
    47ee:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=16;
    47f0:	3310      	movi      	r3, 16
    47f2:	07d8      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==5)||(Selete_EXI_x==13))
    47f4:	3b45      	cmpnei      	r3, 5
    47f6:	0806      	bt      	0x4802	// 4802 <GPIO_IntGroup_Set+0x76>
			R_data_temp=0xff0fffff;
    47f8:	1166      	lrw      	r3, 0xff100000	// 4890 <GPIO_IntGroup_Set+0x104>
    47fa:	2b00      	subi      	r3, 1
    47fc:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=20;
    47fe:	3314      	movi      	r3, 20
    4800:	07d1      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
		else if((Selete_EXI_x==6)||(Selete_EXI_x==14))
    4802:	3b46      	cmpnei      	r3, 6
    4804:	0807      	bt      	0x4812	// 4812 <GPIO_IntGroup_Set+0x86>
			R_data_temp=0xf0ffffff;
    4806:	33f1      	movi      	r3, 241
    4808:	4378      	lsli      	r3, r3, 24
    480a:	2b00      	subi      	r3, 1
    480c:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=24;
    480e:	3318      	movi      	r3, 24
    4810:	07c9      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
			R_data_temp=0x0fffffff;
    4812:	1161      	lrw      	r3, 0xfffffff	// 4894 <GPIO_IntGroup_Set+0x108>
    4814:	b861      	st.w      	r3, (r14, 0x4)
			R_GPIO_Pin=28;
    4816:	331c      	movi      	r3, 28
    4818:	07c5      	br      	0x47a2	// 47a2 <GPIO_IntGroup_Set+0x16>
			GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
    481a:	9340      	ld.w      	r2, (r3, 0x0)
    481c:	9260      	ld.w      	r3, (r2, 0x0)
    481e:	9881      	ld.w      	r4, (r14, 0x4)
    4820:	d82e0003 	ld.b      	r1, (r14, 0x3)
    4824:	68d0      	and      	r3, r4
    4826:	7004      	lsl      	r0, r1
    4828:	6c0c      	or      	r0, r3
    482a:	b200      	st.w      	r0, (r2, 0x0)
			{
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
			}
		}
	}
}
    482c:	1402      	addi      	r14, r14, 8
    482e:	1481      	pop      	r4
	else if(Selete_EXI_x<20)
    4830:	3a13      	cmphsi      	r2, 20
    4832:	0bfd      	bt      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
		if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17))))						//PA0.0~PA0.7
    4834:	3840      	cmpnei      	r0, 0
    4836:	0814      	bt      	0x485e	// 485e <GPIO_IntGroup_Set+0xd2>
    4838:	3300      	movi      	r3, 0
    483a:	2b0f      	subi      	r3, 16
    483c:	60c8      	addu      	r3, r2
    483e:	3b01      	cmphsi      	r3, 2
    4840:	0bf6      	bt      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
			if(Selete_EXI_x==16)
    4842:	3a50      	cmpnei      	r2, 16
    4844:	106f      	lrw      	r3, 0x20000044	// 4880 <GPIO_IntGroup_Set+0xf4>
    4846:	0806      	bt      	0x4852	// 4852 <GPIO_IntGroup_Set+0xc6>
				GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum;
    4848:	9340      	ld.w      	r2, (r3, 0x0)
    484a:	9262      	ld.w      	r3, (r2, 0x8)
    484c:	6c4c      	or      	r1, r3
    484e:	b222      	st.w      	r1, (r2, 0x8)
    4850:	07ee      	br      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4);
    4852:	9360      	ld.w      	r3, (r3, 0x0)
    4854:	9342      	ld.w      	r2, (r3, 0x8)
    4856:	4124      	lsli      	r1, r1, 4
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
    4858:	6c48      	or      	r1, r2
    485a:	b322      	st.w      	r1, (r3, 0x8)
}
    485c:	07e8      	br      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
		else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19)))					//PB0.0~PB0.3
    485e:	3842      	cmpnei      	r0, 2
    4860:	0be6      	bt      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
    4862:	3300      	movi      	r3, 0
    4864:	2b11      	subi      	r3, 18
    4866:	60c8      	addu      	r3, r2
    4868:	3b01      	cmphsi      	r3, 2
    486a:	0be1      	bt      	0x482c	// 482c <GPIO_IntGroup_Set+0xa0>
    486c:	1065      	lrw      	r3, 0x20000044	// 4880 <GPIO_IntGroup_Set+0xf4>
			if(Selete_EXI_x==18)
    486e:	3a52      	cmpnei      	r2, 18
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
    4870:	9360      	ld.w      	r3, (r3, 0x0)
    4872:	9342      	ld.w      	r2, (r3, 0x8)
			if(Selete_EXI_x==18)
    4874:	0803      	bt      	0x487a	// 487a <GPIO_IntGroup_Set+0xee>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
    4876:	4128      	lsli      	r1, r1, 8
    4878:	07f0      	br      	0x4858	// 4858 <GPIO_IntGroup_Set+0xcc>
				GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
    487a:	412c      	lsli      	r1, r1, 12
    487c:	07ee      	br      	0x4858	// 4858 <GPIO_IntGroup_Set+0xcc>
    487e:	0000      	bkpt
    4880:	20000044 	.long	0x20000044
    4884:	fffff0ff 	.long	0xfffff0ff
    4888:	ffff0fff 	.long	0xffff0fff
    488c:	fff10000 	.long	0xfff10000
    4890:	ff100000 	.long	0xff100000
    4894:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIOA0_EXI_Init:

00004898 <GPIOA0_EXI_Init>:
//IO EXI SET 
//EntryParameter:EXI_IO(EXI0~EXI13)
//ReturnValue:NONE
/*************************************************************/  
void GPIOA0_EXI_Init(GPIO_EXI_TypeDef EXI_IO)
{
    4898:	14d0      	push      	r15
    switch (EXI_IO)
    489a:	380f      	cmphsi      	r0, 16
    489c:	0812      	bt      	0x48c0	// 48c0 <GPIOA0_EXI_Init+0x28>
    489e:	117d      	lrw      	r3, 0x2000004c	// 4990 <GPIOA0_EXI_Init+0xf8>
    48a0:	e3fff62e 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    48a4:	1d150f08 	.long	0x1d150f08
    48a8:	39322b24 	.long	0x39322b24
    48ac:	544c463f 	.long	0x544c463f
    48b0:	7069625b 	.long	0x7069625b
    {
        case 0:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0) | 0X00000001;break;
    48b4:	9340      	ld.w      	r2, (r3, 0x0)
    48b6:	9260      	ld.w      	r3, (r2, 0x0)
    48b8:	310f      	movi      	r1, 15
    48ba:	68c5      	andn      	r3, r1
    48bc:	3ba0      	bseti      	r3, 0
        case 1:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    48be:	b260      	st.w      	r3, (r2, 0x0)
        case 12:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0X00010000;break;
        case 13:GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0X00100000;break;
		case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
		case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
    }
}
    48c0:	1490      	pop      	r15
        case 1:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    48c2:	9340      	ld.w      	r2, (r3, 0x0)
    48c4:	9260      	ld.w      	r3, (r2, 0x0)
    48c6:	31f0      	movi      	r1, 240
    48c8:	68c5      	andn      	r3, r1
    48ca:	3ba4      	bseti      	r3, 4
    48cc:	07f9      	br      	0x48be	// 48be <GPIOA0_EXI_Init+0x26>
        case 2:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF) | 0X00000100;break;
    48ce:	9320      	ld.w      	r1, (r3, 0x0)
    48d0:	32f0      	movi      	r2, 240
    48d2:	9160      	ld.w      	r3, (r1, 0x0)
    48d4:	4244      	lsli      	r2, r2, 4
    48d6:	68c9      	andn      	r3, r2
    48d8:	3ba8      	bseti      	r3, 8
        case 6:GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF) | 0X01000000;break;
    48da:	b160      	st.w      	r3, (r1, 0x0)
    48dc:	07f2      	br      	0x48c0	// 48c0 <GPIOA0_EXI_Init+0x28>
        case 3:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF) | 0X00001000;break;
    48de:	9320      	ld.w      	r1, (r3, 0x0)
    48e0:	32f0      	movi      	r2, 240
    48e2:	9160      	ld.w      	r3, (r1, 0x0)
    48e4:	4248      	lsli      	r2, r2, 8
    48e6:	68c9      	andn      	r3, r2
    48e8:	3bac      	bseti      	r3, 12
    48ea:	07f8      	br      	0x48da	// 48da <GPIOA0_EXI_Init+0x42>
        case 4:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF) | 0X00010000;break;
    48ec:	9320      	ld.w      	r1, (r3, 0x0)
    48ee:	32f0      	movi      	r2, 240
    48f0:	9160      	ld.w      	r3, (r1, 0x0)
    48f2:	424c      	lsli      	r2, r2, 12
    48f4:	68c9      	andn      	r3, r2
    48f6:	3bb0      	bseti      	r3, 16
    48f8:	07f1      	br      	0x48da	// 48da <GPIOA0_EXI_Init+0x42>
        case 5:GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0X00100000;break;
    48fa:	9320      	ld.w      	r1, (r3, 0x0)
    48fc:	32f0      	movi      	r2, 240
    48fe:	9160      	ld.w      	r3, (r1, 0x0)
    4900:	4250      	lsli      	r2, r2, 16
    4902:	68c9      	andn      	r3, r2
    4904:	3bb4      	bseti      	r3, 20
    4906:	07ea      	br      	0x48da	// 48da <GPIOA0_EXI_Init+0x42>
        case 6:GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF) | 0X01000000;break;
    4908:	9320      	ld.w      	r1, (r3, 0x0)
    490a:	32f0      	movi      	r2, 240
    490c:	9160      	ld.w      	r3, (r1, 0x0)
    490e:	4254      	lsli      	r2, r2, 20
    4910:	68c9      	andn      	r3, r2
    4912:	3bb8      	bseti      	r3, 24
    4914:	07e3      	br      	0x48da	// 48da <GPIOA0_EXI_Init+0x42>
        case 7:GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF) | 0X10000000;break;
    4916:	9340      	ld.w      	r2, (r3, 0x0)
    4918:	9260      	ld.w      	r3, (r2, 0x0)
    491a:	4364      	lsli      	r3, r3, 4
    491c:	4b64      	lsri      	r3, r3, 4
    491e:	3bbc      	bseti      	r3, 28
    4920:	07cf      	br      	0x48be	// 48be <GPIOA0_EXI_Init+0x26>
        case 8:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0) | 0X00000001;break;
    4922:	9340      	ld.w      	r2, (r3, 0x0)
    4924:	9261      	ld.w      	r3, (r2, 0x4)
    4926:	310f      	movi      	r1, 15
    4928:	68c5      	andn      	r3, r1
    492a:	3ba0      	bseti      	r3, 0
		case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
    492c:	b261      	st.w      	r3, (r2, 0x4)
}
    492e:	07c9      	br      	0x48c0	// 48c0 <GPIOA0_EXI_Init+0x28>
        case 9:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F) | 0X00000010;break;
    4930:	9340      	ld.w      	r2, (r3, 0x0)
    4932:	9261      	ld.w      	r3, (r2, 0x4)
    4934:	31f0      	movi      	r1, 240
    4936:	68c5      	andn      	r3, r1
    4938:	3ba4      	bseti      	r3, 4
    493a:	07f9      	br      	0x492c	// 492c <GPIOA0_EXI_Init+0x94>
        case 10:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF) | 0X00000100;break;
    493c:	9320      	ld.w      	r1, (r3, 0x0)
    493e:	32f0      	movi      	r2, 240
    4940:	9161      	ld.w      	r3, (r1, 0x4)
    4942:	4244      	lsli      	r2, r2, 4
    4944:	68c9      	andn      	r3, r2
    4946:	3ba8      	bseti      	r3, 8
		case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
    4948:	b161      	st.w      	r3, (r1, 0x4)
    494a:	07bb      	br      	0x48c0	// 48c0 <GPIOA0_EXI_Init+0x28>
        case 11:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF) | 0X00001000;break;
    494c:	9320      	ld.w      	r1, (r3, 0x0)
    494e:	32f0      	movi      	r2, 240
    4950:	9161      	ld.w      	r3, (r1, 0x4)
    4952:	4248      	lsli      	r2, r2, 8
    4954:	68c9      	andn      	r3, r2
    4956:	3bac      	bseti      	r3, 12
    4958:	07f8      	br      	0x4948	// 4948 <GPIOA0_EXI_Init+0xb0>
        case 12:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0X00010000;break;
    495a:	9320      	ld.w      	r1, (r3, 0x0)
    495c:	32f0      	movi      	r2, 240
    495e:	9161      	ld.w      	r3, (r1, 0x4)
    4960:	424c      	lsli      	r2, r2, 12
    4962:	68c9      	andn      	r3, r2
    4964:	3bb0      	bseti      	r3, 16
    4966:	07f1      	br      	0x4948	// 4948 <GPIOA0_EXI_Init+0xb0>
        case 13:GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0X00100000;break;
    4968:	9320      	ld.w      	r1, (r3, 0x0)
    496a:	32f0      	movi      	r2, 240
    496c:	9161      	ld.w      	r3, (r1, 0x4)
    496e:	4250      	lsli      	r2, r2, 16
    4970:	68c9      	andn      	r3, r2
    4972:	3bb4      	bseti      	r3, 20
    4974:	07ea      	br      	0x4948	// 4948 <GPIOA0_EXI_Init+0xb0>
		case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
    4976:	9320      	ld.w      	r1, (r3, 0x0)
    4978:	32f0      	movi      	r2, 240
    497a:	9161      	ld.w      	r3, (r1, 0x4)
    497c:	4254      	lsli      	r2, r2, 20
    497e:	68c9      	andn      	r3, r2
    4980:	3bb8      	bseti      	r3, 24
    4982:	07e3      	br      	0x4948	// 4948 <GPIOA0_EXI_Init+0xb0>
		case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
    4984:	9340      	ld.w      	r2, (r3, 0x0)
    4986:	9261      	ld.w      	r3, (r2, 0x4)
    4988:	4364      	lsli      	r3, r3, 4
    498a:	4b64      	lsri      	r3, r3, 4
    498c:	3bbc      	bseti      	r3, 28
    498e:	07cf      	br      	0x492c	// 492c <GPIOA0_EXI_Init+0x94>
    4990:	2000004c 	.long	0x2000004c

Disassembly of section .text.GPIOB0_EXI_Init:

00004994 <GPIOB0_EXI_Init>:
void GPIOB0_EXI_Init(GPIO_EXI_TypeDef EXI_IO)
{
    4994:	14d0      	push      	r15
    switch (EXI_IO)
    4996:	3805      	cmphsi      	r0, 6
    4998:	080d      	bt      	0x49b2	// 49b2 <GPIOB0_EXI_Init+0x1e>
    499a:	1079      	lrw      	r3, 0x20000048	// 49fc <GPIOB0_EXI_Init+0x68>
    499c:	e3fff5b0 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    49a0:	18100a03 	.long	0x18100a03
    49a4:	261f      	.short	0x261f
    {
        case 0:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0X00000001;break;
    49a6:	9340      	ld.w      	r2, (r3, 0x0)
    49a8:	9260      	ld.w      	r3, (r2, 0x0)
    49aa:	310f      	movi      	r1, 15
    49ac:	68c5      	andn      	r3, r1
    49ae:	3ba0      	bseti      	r3, 0
        case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    49b0:	b260      	st.w      	r3, (r2, 0x0)
        case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break;
		case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break;
		case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break;
        default:break;
    }
}
    49b2:	1490      	pop      	r15
        case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    49b4:	9340      	ld.w      	r2, (r3, 0x0)
    49b6:	9260      	ld.w      	r3, (r2, 0x0)
    49b8:	31f0      	movi      	r1, 240
    49ba:	68c5      	andn      	r3, r1
    49bc:	3ba4      	bseti      	r3, 4
    49be:	07f9      	br      	0x49b0	// 49b0 <GPIOB0_EXI_Init+0x1c>
        case 2:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF) | 0X00000100;break;
    49c0:	9320      	ld.w      	r1, (r3, 0x0)
    49c2:	32f0      	movi      	r2, 240
    49c4:	9160      	ld.w      	r3, (r1, 0x0)
    49c6:	4244      	lsli      	r2, r2, 4
    49c8:	68c9      	andn      	r3, r2
    49ca:	3ba8      	bseti      	r3, 8
		case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break;
    49cc:	b160      	st.w      	r3, (r1, 0x0)
}
    49ce:	07f2      	br      	0x49b2	// 49b2 <GPIOB0_EXI_Init+0x1e>
        case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break;
    49d0:	9320      	ld.w      	r1, (r3, 0x0)
    49d2:	32f0      	movi      	r2, 240
    49d4:	9160      	ld.w      	r3, (r1, 0x0)
    49d6:	4248      	lsli      	r2, r2, 8
    49d8:	68c9      	andn      	r3, r2
    49da:	3bac      	bseti      	r3, 12
    49dc:	07f8      	br      	0x49cc	// 49cc <GPIOB0_EXI_Init+0x38>
		case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break;
    49de:	9320      	ld.w      	r1, (r3, 0x0)
    49e0:	32f0      	movi      	r2, 240
    49e2:	9160      	ld.w      	r3, (r1, 0x0)
    49e4:	424c      	lsli      	r2, r2, 12
    49e6:	68c9      	andn      	r3, r2
    49e8:	3bb0      	bseti      	r3, 16
    49ea:	07f1      	br      	0x49cc	// 49cc <GPIOB0_EXI_Init+0x38>
		case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break;
    49ec:	9320      	ld.w      	r1, (r3, 0x0)
    49ee:	32f0      	movi      	r2, 240
    49f0:	9160      	ld.w      	r3, (r1, 0x0)
    49f2:	4250      	lsli      	r2, r2, 16
    49f4:	68c9      	andn      	r3, r2
    49f6:	3bb4      	bseti      	r3, 20
    49f8:	07ea      	br      	0x49cc	// 49cc <GPIOB0_EXI_Init+0x38>
    49fa:	0000      	bkpt
    49fc:	20000048 	.long	0x20000048

Disassembly of section .text.GPIO_Write_High:

00004a00 <GPIO_Write_High>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->SODR = (1ul<<bit);
    4a00:	3301      	movi      	r3, 1
    4a02:	70c4      	lsl      	r3, r1
    4a04:	b063      	st.w      	r3, (r0, 0xc)
}
    4a06:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Write_Low:

00004a08 <GPIO_Write_Low>:
void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->CODR = (1ul<<bit);
    4a08:	3301      	movi      	r3, 1
    4a0a:	70c4      	lsl      	r3, r1
    4a0c:	b064      	st.w      	r3, (r0, 0x10)
}
    4a0e:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Reverse:

00004a10 <GPIO_Reverse>:
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit)
{
     uint32_t dat = 0;
     dat=((GPIOx)->ODSR>>bit)&1ul;
    4a10:	9045      	ld.w      	r2, (r0, 0x14)
    4a12:	3301      	movi      	r3, 1
    4a14:	7085      	lsr      	r2, r1
    4a16:	688c      	and      	r2, r3
     {
       if (dat==1)  
    4a18:	3a40      	cmpnei      	r2, 0
    4a1a:	70c4      	lsl      	r3, r1
    4a1c:	0c03      	bf      	0x4a22	// 4a22 <GPIO_Reverse+0x12>
       {
           (GPIOx)->CODR = (1ul<<bit);
    4a1e:	b064      	st.w      	r3, (r0, 0x10)
       {
           (GPIOx)->SODR = (1ul<<bit);
           return;
       }
     }
}
    4a20:	783c      	jmp      	r15
           (GPIOx)->SODR = (1ul<<bit);
    4a22:	b063      	st.w      	r3, (r0, 0xc)
           return;
    4a24:	07fe      	br      	0x4a20	// 4a20 <GPIO_Reverse+0x10>

Disassembly of section .text.GPIO_Read_Status:

00004a26 <GPIO_Read_Status>:
/*************************************************************/
uint8_t GPIO_Read_Status(CSP_GPIO_T *GPIOx,uint8_t bit)
{
    uint8_t value = 0;
    uint32_t dat = 0;
    dat=((GPIOx)->PSDR)&(1<<bit);
    4a26:	3301      	movi      	r3, 1
    4a28:	9046      	ld.w      	r2, (r0, 0x18)
    4a2a:	70c4      	lsl      	r3, r1
    4a2c:	688c      	and      	r2, r3
    if (dat == (1<<bit))								
    4a2e:	64ca      	cmpne      	r2, r3
    4a30:	6403      	mvcv      	r0
	{
	    value = 1;
	} 
    return value;
    4a32:	7400      	zextb      	r0, r0
}
    4a34:	783c      	jmp      	r15

Disassembly of section .text.LPT_Soft_Reset:

00004a38 <LPT_Soft_Reset>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void LPT_Soft_Reset(void)
{
	LPT->RSSR |= (0X5<<12);
    4a38:	1064      	lrw      	r3, 0x20000014	// 4a48 <LPT_Soft_Reset+0x10>
    4a3a:	9340      	ld.w      	r2, (r3, 0x0)
    4a3c:	9261      	ld.w      	r3, (r2, 0x4)
    4a3e:	3bac      	bseti      	r3, 12
    4a40:	3bae      	bseti      	r3, 14
    4a42:	b261      	st.w      	r3, (r2, 0x4)
}
    4a44:	783c      	jmp      	r15
    4a46:	0000      	bkpt
    4a48:	20000014 	.long	0x20000014

Disassembly of section .text.WWDT_CNT_Load:

00004a4c <WWDT_CNT_Load>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CNT_Load(U8_T cnt_data)
{
	WWDT->CR  |= cnt_data;						//SET
    4a4c:	1063      	lrw      	r3, 0x20000010	// 4a58 <WWDT_CNT_Load+0xc>
    4a4e:	9360      	ld.w      	r3, (r3, 0x0)
    4a50:	9340      	ld.w      	r2, (r3, 0x0)
    4a52:	6c08      	or      	r0, r2
    4a54:	b300      	st.w      	r0, (r3, 0x0)
}
    4a56:	783c      	jmp      	r15
    4a58:	20000010 	.long	0x20000010

Disassembly of section .text.BT_DeInit:

00004a5c <BT_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void BT_DeInit(CSP_BT_T *BTx)
{
	BTx->RSSR=BT_RESET_VALUE;
    4a5c:	3300      	movi      	r3, 0
    4a5e:	b060      	st.w      	r3, (r0, 0x0)
	BTx->CR=BT_RESET_VALUE;
    4a60:	b061      	st.w      	r3, (r0, 0x4)
	BTx->PSCR=BT_RESET_VALUE;
    4a62:	b062      	st.w      	r3, (r0, 0x8)
	BTx->PRDR=BT_RESET_VALUE;
    4a64:	b063      	st.w      	r3, (r0, 0xc)
	BTx->CMP=BT_RESET_VALUE;
    4a66:	b064      	st.w      	r3, (r0, 0x10)
	BTx->CNT=BT_RESET_VALUE;
    4a68:	b065      	st.w      	r3, (r0, 0x14)
	BTx->EVTRG=BT_RESET_VALUE;
    4a6a:	b066      	st.w      	r3, (r0, 0x18)
	BTx->EVSWF=BT_RESET_VALUE;
    4a6c:	b069      	st.w      	r3, (r0, 0x24)
	BTx->RISR=BT_RESET_VALUE;
    4a6e:	b06a      	st.w      	r3, (r0, 0x28)
	BTx->IMCR=BT_RESET_VALUE;
    4a70:	b06b      	st.w      	r3, (r0, 0x2c)
	BTx->MISR=BT_RESET_VALUE;
    4a72:	b06c      	st.w      	r3, (r0, 0x30)
	BTx->ICR=BT_RESET_VALUE;
    4a74:	b06d      	st.w      	r3, (r0, 0x34)
}
    4a76:	783c      	jmp      	r15

Disassembly of section .text.BT_Start:

00004a78 <BT_Start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void BT_Start(CSP_BT_T *BTx)
{
	BTx->RSSR |=0X01;
    4a78:	9060      	ld.w      	r3, (r0, 0x0)
    4a7a:	3ba0      	bseti      	r3, 0
    4a7c:	b060      	st.w      	r3, (r0, 0x0)
}
    4a7e:	783c      	jmp      	r15

Disassembly of section .text.BT_Soft_Reset:

00004a80 <BT_Soft_Reset>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void BT_Soft_Reset(CSP_BT_T *BTx)
{
	BTx->RSSR |= (0X5<<12);
    4a80:	9060      	ld.w      	r3, (r0, 0x0)
    4a82:	3bac      	bseti      	r3, 12
    4a84:	3bae      	bseti      	r3, 14
    4a86:	b060      	st.w      	r3, (r0, 0x0)
}
    4a88:	783c      	jmp      	r15

Disassembly of section .text.BT_Configure:

00004a8a <BT_Configure>:
//BT Configure
//EntryParameter:
//ReturnValue:NONE
/*************************************************************/
void BT_Configure(CSP_BT_T *BTx,BT_CLK_TypeDef BTCLK,U16_T PSCR_DATA,BT_SHDWSTP_TypeDef BTSHDWSTP,BT_OPM_TypeDef BTOPM,BT_EXTCKM_TypeDef BTEXTCKM)
{
    4a8a:	14c3      	push      	r4-r6
    4a8c:	98a4      	ld.w      	r5, (r14, 0x10)
    4a8e:	6d97      	mov      	r6, r5
    4a90:	9883      	ld.w      	r4, (r14, 0xc)
	BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM;
    4a92:	6d18      	or      	r4, r6
    4a94:	6cd0      	or      	r3, r4
    4a96:	90a1      	ld.w      	r5, (r0, 0x4)
    4a98:	6c4c      	or      	r1, r3
    4a9a:	6c54      	or      	r1, r5
    4a9c:	b021      	st.w      	r1, (r0, 0x4)
	BTx->PSCR = PSCR_DATA;
    4a9e:	b042      	st.w      	r2, (r0, 0x8)
}
    4aa0:	1483      	pop      	r4-r6

Disassembly of section .text.BT_ControlSet_Configure:

00004aa2 <BT_ControlSet_Configure>:
//EntryParameter:
//ReturnValue:NONE
/*************************************************************/
void BT_ControlSet_Configure(CSP_BT_T *BTx,BT_STARTST_TypeDef BTSTART,BT_IDLEST_TypeDef BTIDLE,BT_SYNCEN_TypeDef BTSYNC,BT_SYNCMD_TypeDef BTSYNCMD,
							BT_OSTMDX_TypeDef BTOSTMD,BT_AREARM_TypeDef BTAREARM,BT_CNTRLD_TypeDef BTCNTRLD)
{
    4aa2:	14c4      	push      	r4-r7
    4aa4:	1421      	subi      	r14, r14, 4
    4aa6:	9885      	ld.w      	r4, (r14, 0x14)
    4aa8:	6dd3      	mov      	r7, r4
    4aaa:	9886      	ld.w      	r4, (r14, 0x18)
    4aac:	b880      	st.w      	r4, (r14, 0x0)
    4aae:	9887      	ld.w      	r4, (r14, 0x1c)
    4ab0:	6d93      	mov      	r6, r4
    4ab2:	98a8      	ld.w      	r5, (r14, 0x20)
	BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD;
    4ab4:	6d58      	or      	r5, r6
    4ab6:	98c0      	ld.w      	r6, (r14, 0x0)
    4ab8:	6d58      	or      	r5, r6
    4aba:	6d5c      	or      	r5, r7
    4abc:	6cd4      	or      	r3, r5
    4abe:	6c8c      	or      	r2, r3
    4ac0:	9081      	ld.w      	r4, (r0, 0x4)
    4ac2:	6c48      	or      	r1, r2
    4ac4:	6d04      	or      	r4, r1
    4ac6:	6d9f      	mov      	r6, r7
    4ac8:	b081      	st.w      	r4, (r0, 0x4)
}
    4aca:	1401      	addi      	r14, r14, 4
    4acc:	1484      	pop      	r4-r7

Disassembly of section .text.BT_Period_CMP_Write:

00004ace <BT_Period_CMP_Write>:
//ReturnValue:NONE
/*************************************************************/
void BT_Period_CMP_Write(CSP_BT_T *BTx,U16_T BTPRDR_DATA,U16_T BTCMP_DATA)
{
	//BTx->CR|=0X01<<2;
	BTx->PRDR =BTPRDR_DATA;
    4ace:	b023      	st.w      	r1, (r0, 0xc)
	BTx->CMP =BTCMP_DATA;
    4ad0:	b044      	st.w      	r2, (r0, 0x10)
}
    4ad2:	783c      	jmp      	r15

Disassembly of section .text.BT_ConfigInterrupt_CMD:

00004ad4 <BT_ConfigInterrupt_CMD>:
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void BT_ConfigInterrupt_CMD(CSP_BT_T *BTx,FunctionalStatus NewState,BT_IMSCR_TypeDef BT_IMSCR_X)
{
	if (NewState != DISABLE)
    4ad4:	3940      	cmpnei      	r1, 0
	{
		BTx->IMCR  |= BT_IMSCR_X;						
    4ad6:	906b      	ld.w      	r3, (r0, 0x2c)
	if (NewState != DISABLE)
    4ad8:	0c04      	bf      	0x4ae0	// 4ae0 <BT_ConfigInterrupt_CMD+0xc>
		BTx->IMCR  |= BT_IMSCR_X;						
    4ada:	6c8c      	or      	r2, r3
    4adc:	b04b      	st.w      	r2, (r0, 0x2c)
	}
	else
	{
		BTx->IMCR  &= ~BT_IMSCR_X;					
	}
}
    4ade:	783c      	jmp      	r15
		BTx->IMCR  &= ~BT_IMSCR_X;					
    4ae0:	68c9      	andn      	r3, r2
    4ae2:	b06b      	st.w      	r3, (r0, 0x2c)
}
    4ae4:	07fd      	br      	0x4ade	// 4ade <BT_ConfigInterrupt_CMD+0xa>

Disassembly of section .text.BT1_INT_ENABLE:

00004ae8 <BT1_INT_ENABLE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1_INT_ENABLE(void)
{
	INTC_ISER_WRITE(BT1_INT);
    4ae8:	3380      	movi      	r3, 128
    4aea:	4376      	lsli      	r3, r3, 22
    4aec:	1042      	lrw      	r2, 0xe000e100	// 4af4 <BT1_INT_ENABLE+0xc>
    4aee:	b260      	st.w      	r3, (r2, 0x0)
}
    4af0:	783c      	jmp      	r15
    4af2:	0000      	bkpt
    4af4:	e000e100 	.long	0xe000e100

Disassembly of section .text.SIO_DeInit:

00004af8 <SIO_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void SIO_DeInit(void)
{
	SIO0->CR 		= SIO_RESET_VALUE;
    4af8:	1067      	lrw      	r3, 0x2000002c	// 4b14 <SIO_DeInit+0x1c>
    4afa:	3200      	movi      	r2, 0
    4afc:	9360      	ld.w      	r3, (r3, 0x0)
    4afe:	b340      	st.w      	r2, (r3, 0x0)
	SIO0->TXCR0 	= SIO_RESET_VALUE;
    4b00:	b341      	st.w      	r2, (r3, 0x4)
	SIO0->TXCR1 	= SIO_RESET_VALUE;
    4b02:	b342      	st.w      	r2, (r3, 0x8)
	//SIO0->TXBUF 	= SIO_RESET_VALUE;
	SIO0->RXCR0 	= SIO_RESET_VALUE;
    4b04:	b344      	st.w      	r2, (r3, 0x10)
	SIO0->RXCR1 	= SIO_RESET_VALUE;
    4b06:	b345      	st.w      	r2, (r3, 0x14)
	SIO0->RXCR1 	= SIO_RESET_VALUE;
    4b08:	b345      	st.w      	r2, (r3, 0x14)
	//SIO0->RXBUF 	= SIO_RESET_VALUE;
	SIO0->RISR 		= SIO_RESET_VALUE;
    4b0a:	b348      	st.w      	r2, (r3, 0x20)
	SIO0->MISR 		= SIO_RESET_VALUE;
    4b0c:	b349      	st.w      	r2, (r3, 0x24)
	SIO0->IMCR 		= SIO_RESET_VALUE;
    4b0e:	b34a      	st.w      	r2, (r3, 0x28)
	SIO0->ICR 		= SIO_RESET_VALUE;
    4b10:	b34b      	st.w      	r2, (r3, 0x2c)
}
    4b12:	783c      	jmp      	r15
    4b14:	2000002c 	.long	0x2000002c

Disassembly of section .text.SIO_IO_Init:

00004b18 <SIO_IO_Init>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void SIO_IO_Init(SIO_IOG_TypeDef IOGx)
{
	if(IOGx==SIO_PA02)
    4b18:	3840      	cmpnei      	r0, 0
    4b1a:	080a      	bt      	0x4b2e	// 4b2e <SIO_IO_Init+0x16>
	{
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFFF0FF)|0x00000400;
    4b1c:	1075      	lrw      	r3, 0x2000004c	// 4b70 <SIO_IO_Init+0x58>
    4b1e:	32f0      	movi      	r2, 240
    4b20:	9320      	ld.w      	r1, (r3, 0x0)
    4b22:	9160      	ld.w      	r3, (r1, 0x0)
    4b24:	4244      	lsli      	r2, r2, 4
    4b26:	68c9      	andn      	r3, r2
    4b28:	3baa      	bseti      	r3, 10
	}
	if(IOGx==SIO_PA03)
	{
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFF0FFF)|0x00008000;
    4b2a:	b160      	st.w      	r3, (r1, 0x0)
	}
	if(IOGx==SIO_PB01)
	{
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000070;
	}
}
    4b2c:	783c      	jmp      	r15
	if(IOGx==SIO_PA03)
    4b2e:	3841      	cmpnei      	r0, 1
    4b30:	0809      	bt      	0x4b42	// 4b42 <SIO_IO_Init+0x2a>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFF0FFF)|0x00008000;
    4b32:	1070      	lrw      	r3, 0x2000004c	// 4b70 <SIO_IO_Init+0x58>
    4b34:	32f0      	movi      	r2, 240
    4b36:	9320      	ld.w      	r1, (r3, 0x0)
    4b38:	9160      	ld.w      	r3, (r1, 0x0)
    4b3a:	4248      	lsli      	r2, r2, 8
    4b3c:	68c9      	andn      	r3, r2
    4b3e:	3baf      	bseti      	r3, 15
    4b40:	07f5      	br      	0x4b2a	// 4b2a <SIO_IO_Init+0x12>
	if(IOGx==SIO_PA012)
    4b42:	3842      	cmpnei      	r0, 2
    4b44:	080a      	bt      	0x4b58	// 4b58 <SIO_IO_Init+0x40>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFF0FFFF)|0x00080000;
    4b46:	106b      	lrw      	r3, 0x2000004c	// 4b70 <SIO_IO_Init+0x58>
    4b48:	32f0      	movi      	r2, 240
    4b4a:	9320      	ld.w      	r1, (r3, 0x0)
    4b4c:	9161      	ld.w      	r3, (r1, 0x4)
    4b4e:	424c      	lsli      	r2, r2, 12
    4b50:	68c9      	andn      	r3, r2
    4b52:	3bb3      	bseti      	r3, 19
    4b54:	b161      	st.w      	r3, (r1, 0x4)
    4b56:	07eb      	br      	0x4b2c	// 4b2c <SIO_IO_Init+0x14>
	if(IOGx==SIO_PB01)
    4b58:	3843      	cmpnei      	r0, 3
    4b5a:	0be9      	bt      	0x4b2c	// 4b2c <SIO_IO_Init+0x14>
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000070;
    4b5c:	1066      	lrw      	r3, 0x20000048	// 4b74 <SIO_IO_Init+0x5c>
    4b5e:	31f0      	movi      	r1, 240
    4b60:	9340      	ld.w      	r2, (r3, 0x0)
    4b62:	9260      	ld.w      	r3, (r2, 0x0)
    4b64:	68c5      	andn      	r3, r1
    4b66:	3170      	movi      	r1, 112
    4b68:	6cc4      	or      	r3, r1
    4b6a:	b260      	st.w      	r3, (r2, 0x0)
}
    4b6c:	07e0      	br      	0x4b2c	// 4b2c <SIO_IO_Init+0x14>
    4b6e:	0000      	bkpt
    4b70:	2000004c 	.long	0x2000004c
    4b74:	20000048 	.long	0x20000048

Disassembly of section .text.SIO_TX_Init:

00004b78 <SIO_TX_Init>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void SIO_TX_Init(SIO_CLK_TypeDef CLKX,U8_T TCKPRSX)
{
	SIO0->CR =CLKX | (TCKPRSX<<16) |(0X00<<8);
    4b78:	4130      	lsli      	r1, r1, 16
    4b7a:	1063      	lrw      	r3, 0x2000002c	// 4b84 <SIO_TX_Init+0xc>
    4b7c:	6c04      	or      	r0, r1
    4b7e:	9360      	ld.w      	r3, (r3, 0x0)
    4b80:	b300      	st.w      	r0, (r3, 0x0)
	
}
    4b82:	783c      	jmp      	r15
    4b84:	2000002c 	.long	0x2000002c

Disassembly of section .text.SIO_TX_Configure:

00004b88 <SIO_TX_Configure>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void SIO_TX_Configure(SIO_IDLEST_TypeDef IDLEX,SIO_TXDIR_TypeDef TXDIRX,U8_T TXBUFLENX,U8_T TXCNTX,U8_T D0DURX,U8_T D1DURX,SIO_LENOBH_TypeDef LENOBHX,
					SIO_LENOBL_TypeDef LENOBLX,U8_T HSQX,U8_T LSQX)
{
    4b88:	14c4      	push      	r4-r7
    4b8a:	1423      	subi      	r14, r14, 12
    4b8c:	9889      	ld.w      	r4, (r14, 0x24)
    4b8e:	b881      	st.w      	r4, (r14, 0x4)
    4b90:	988a      	ld.w      	r4, (r14, 0x28)
    4b92:	b882      	st.w      	r4, (r14, 0x8)
    4b94:	1c08      	addi      	r4, r14, 32
    4b96:	8480      	ld.b      	r4, (r4, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b98:	4368      	lsli      	r3, r3, 8
{
    4b9a:	b880      	st.w      	r4, (r14, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b9c:	6cc0      	or      	r3, r0
{
    4b9e:	1c0b      	addi      	r4, r14, 44
    4ba0:	84c0      	ld.b      	r6, (r4, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4ba2:	6cc4      	or      	r3, r1
{
    4ba4:	1c0c      	addi      	r4, r14, 48
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4ba6:	4244      	lsli      	r2, r2, 4
    4ba8:	10eb      	lrw      	r7, 0x2000002c	// 4bd4 <SIO_TX_Configure+0x4c>
    4baa:	6cc8      	or      	r3, r2
    4bac:	97e0      	ld.w      	r7, (r7, 0x0)
{
    4bae:	8480      	ld.b      	r4, (r4, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4bb0:	b761      	st.w      	r3, (r7, 0x4)
	SIO0->TXCR1=(D0DURX<<2)|(D1DURX<<5)|LENOBHX|LENOBLX|(HSQX<<16)|(LSQX<<24);
    4bb2:	4498      	lsli      	r4, r4, 24
    4bb4:	9861      	ld.w      	r3, (r14, 0x4)
    4bb6:	6d0c      	or      	r4, r3
    4bb8:	9862      	ld.w      	r3, (r14, 0x8)
    4bba:	6d0c      	or      	r4, r3
{
    4bbc:	d8ae001c 	ld.b      	r5, (r14, 0x1c)
	SIO0->TXCR1=(D0DURX<<2)|(D1DURX<<5)|LENOBHX|LENOBLX|(HSQX<<16)|(LSQX<<24);
    4bc0:	9860      	ld.w      	r3, (r14, 0x0)
    4bc2:	46d0      	lsli      	r6, r6, 16
    4bc4:	6d90      	or      	r6, r4
    4bc6:	45a2      	lsli      	r5, r5, 2
    4bc8:	4385      	lsli      	r4, r3, 5
    4bca:	6d50      	or      	r5, r4
    4bcc:	6d58      	or      	r5, r6
    4bce:	b7a2      	st.w      	r5, (r7, 0x8)
}
    4bd0:	1403      	addi      	r14, r14, 12
    4bd2:	1484      	pop      	r4-r7
    4bd4:	2000002c 	.long	0x2000002c

Disassembly of section .text.UART0_DeInit:

00004bd8 <UART0_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0_DeInit(void)
{
    UART0->DATA = UART_RESET_VALUE;
    4bd8:	1065      	lrw      	r3, 0x20000040	// 4bec <UART0_DeInit+0x14>
    4bda:	3200      	movi      	r2, 0
    4bdc:	9360      	ld.w      	r3, (r3, 0x0)
    4bde:	b340      	st.w      	r2, (r3, 0x0)
    UART0->SR   = UART_RESET_VALUE;
    4be0:	b341      	st.w      	r2, (r3, 0x4)
    UART0->CTRL = UART_RESET_VALUE;
    4be2:	b342      	st.w      	r2, (r3, 0x8)
    UART0->ISR  = UART_RESET_VALUE;
    4be4:	b343      	st.w      	r2, (r3, 0xc)
    UART0->BRDIV =UART_RESET_VALUE;
    4be6:	b344      	st.w      	r2, (r3, 0x10)
}
    4be8:	783c      	jmp      	r15
    4bea:	0000      	bkpt
    4bec:	20000040 	.long	0x20000040

Disassembly of section .text.UART1_DeInit:

00004bf0 <UART1_DeInit>:
void UART1_DeInit(void)
{
    UART1->DATA = UART_RESET_VALUE;
    4bf0:	1065      	lrw      	r3, 0x2000003c	// 4c04 <UART1_DeInit+0x14>
    4bf2:	3200      	movi      	r2, 0
    4bf4:	9360      	ld.w      	r3, (r3, 0x0)
    4bf6:	b340      	st.w      	r2, (r3, 0x0)
    UART1->SR   = UART_RESET_VALUE;
    4bf8:	b341      	st.w      	r2, (r3, 0x4)
    UART1->CTRL = UART_RESET_VALUE;
    4bfa:	b342      	st.w      	r2, (r3, 0x8)
    UART1->ISR  = UART_RESET_VALUE;
    4bfc:	b343      	st.w      	r2, (r3, 0xc)
    UART1->BRDIV =UART_RESET_VALUE;
    4bfe:	b344      	st.w      	r2, (r3, 0x10)
}
    4c00:	783c      	jmp      	r15
    4c02:	0000      	bkpt
    4c04:	2000003c 	.long	0x2000003c

Disassembly of section .text.UART2_DeInit:

00004c08 <UART2_DeInit>:
void UART2_DeInit(void)
{
	UART2->DATA = UART_RESET_VALUE;
    4c08:	1065      	lrw      	r3, 0x20000038	// 4c1c <UART2_DeInit+0x14>
    4c0a:	3200      	movi      	r2, 0
    4c0c:	9360      	ld.w      	r3, (r3, 0x0)
    4c0e:	b340      	st.w      	r2, (r3, 0x0)
    UART2->SR   = UART_RESET_VALUE;
    4c10:	b341      	st.w      	r2, (r3, 0x4)
    UART2->CTRL = UART_RESET_VALUE;
    4c12:	b342      	st.w      	r2, (r3, 0x8)
    UART2->ISR  = UART_RESET_VALUE;
    4c14:	b343      	st.w      	r2, (r3, 0xc)
    UART2->BRDIV =UART_RESET_VALUE;
    4c16:	b344      	st.w      	r2, (r3, 0x10)
}
    4c18:	783c      	jmp      	r15
    4c1a:	0000      	bkpt
    4c1c:	20000038 	.long	0x20000038

Disassembly of section .text.UART0_Int_Enable:

00004c20 <UART0_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0_Int_Enable(void)
{
    UART0->ISR=0x0F;									//clear UART0 INT status
    4c20:	1065      	lrw      	r3, 0x20000040	// 4c34 <UART0_Int_Enable+0x14>
    4c22:	320f      	movi      	r2, 15
    4c24:	9360      	ld.w      	r3, (r3, 0x0)
    4c26:	b343      	st.w      	r2, (r3, 0xc)
	INTC_ISER_WRITE(UART0_INT);							//INT Vector Enable UART0/1 Interrupt in CK802
    4c28:	3380      	movi      	r3, 128
    4c2a:	4366      	lsli      	r3, r3, 6
    4c2c:	1043      	lrw      	r2, 0xe000e100	// 4c38 <UART0_Int_Enable+0x18>
    4c2e:	b260      	st.w      	r3, (r2, 0x0)
}
    4c30:	783c      	jmp      	r15
    4c32:	0000      	bkpt
    4c34:	20000040 	.long	0x20000040
    4c38:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART2_Int_Enable:

00004c3c <UART2_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2_Int_Enable(void)
{
    UART2->ISR=0x0F;									//clear UART1 INT status
    4c3c:	1065      	lrw      	r3, 0x20000038	// 4c50 <UART2_Int_Enable+0x14>
    4c3e:	320f      	movi      	r2, 15
    4c40:	9360      	ld.w      	r3, (r3, 0x0)
    4c42:	b343      	st.w      	r2, (r3, 0xc)
	INTC_ISER_WRITE(UART2_INT);							//INT Vector Enable UART0/1 Interrupt in CK802
    4c44:	3380      	movi      	r3, 128
    4c46:	4368      	lsli      	r3, r3, 8
    4c48:	1043      	lrw      	r2, 0xe000e100	// 4c54 <UART2_Int_Enable+0x18>
    4c4a:	b260      	st.w      	r3, (r2, 0x0)
}
    4c4c:	783c      	jmp      	r15
    4c4e:	0000      	bkpt
    4c50:	20000038 	.long	0x20000038
    4c54:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART_IO_Init:

00004c58 <UART_IO_Init>:
//UART_IO_G:0 1
//ReturnValue:NONE
/*************************************************************/
void UART_IO_Init(UART_NUM_TypeDef IO_UART_NUM , U8_T UART_IO_G)
{
    if (IO_UART_NUM==IO_UART0)
    4c58:	3840      	cmpnei      	r0, 0
    4c5a:	0821      	bt      	0x4c9c	// 4c9c <UART_IO_Init+0x44>
    {
		if(UART_IO_G==0)
    4c5c:	3940      	cmpnei      	r1, 0
    4c5e:	080a      	bt      	0x4c72	// 4c72 <UART_IO_Init+0x1a>
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000044;       //PA0.1->RXD0, PA0.0->TXD0
    4c60:	1177      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4c62:	31ff      	movi      	r1, 255
    4c64:	9340      	ld.w      	r2, (r3, 0x0)
    4c66:	9260      	ld.w      	r3, (r2, 0x0)
    4c68:	68c5      	andn      	r3, r1
    4c6a:	3ba2      	bseti      	r3, 2
    4c6c:	3ba6      	bseti      	r3, 6
    }
	 if (IO_UART_NUM==IO_UART2)
    {
        if(UART_IO_G==0)
		{
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
    4c6e:	b260      	st.w      	r3, (r2, 0x0)
    4c70:	0415      	br      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
		else if(UART_IO_G==1)
    4c72:	3941      	cmpnei      	r1, 1
    4c74:	0813      	bt      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00700000;      //PA0.5->RXD0, PA0.12->TXD0
    4c76:	1172      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4c78:	31f0      	movi      	r1, 240
    4c7a:	9340      	ld.w      	r2, (r3, 0x0)
    4c7c:	9260      	ld.w      	r3, (r2, 0x0)
    4c7e:	4130      	lsli      	r1, r1, 16
    4c80:	68c5      	andn      	r3, r1
    4c82:	31e0      	movi      	r1, 224
    4c84:	412f      	lsli      	r1, r1, 15
    4c86:	6cc4      	or      	r3, r1
    4c88:	b260      	st.w      	r3, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00070000;      
    4c8a:	31f0      	movi      	r1, 240
    4c8c:	9261      	ld.w      	r3, (r2, 0x4)
    4c8e:	412c      	lsli      	r1, r1, 12
    4c90:	68c5      	andn      	r3, r1
    4c92:	31e0      	movi      	r1, 224
    4c94:	412b      	lsli      	r1, r1, 11
    4c96:	6cc4      	or      	r3, r1
    4c98:	b261      	st.w      	r3, (r2, 0x4)
		else if(UART_IO_G==2)
		{
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
		}
    }
}
    4c9a:	783c      	jmp      	r15
     if (IO_UART_NUM==IO_UART1)
    4c9c:	3841      	cmpnei      	r0, 1
    4c9e:	082d      	bt      	0x4cf8	// 4cf8 <UART_IO_Init+0xa0>
        if(UART_IO_G==0)
    4ca0:	3940      	cmpnei      	r1, 0
    4ca2:	0814      	bt      	0x4cca	// 4cca <UART_IO_Init+0x72>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000007;       //PA0.13->RXD1, PB0.0->TXD1
    4ca4:	1167      	lrw      	r3, 0x20000048	// 4d40 <UART_IO_Init+0xe8>
    4ca6:	310f      	movi      	r1, 15
    4ca8:	9340      	ld.w      	r2, (r3, 0x0)
    4caa:	9260      	ld.w      	r3, (r2, 0x0)
    4cac:	68c5      	andn      	r3, r1
    4cae:	3107      	movi      	r1, 7
    4cb0:	6cc4      	or      	r3, r1
    4cb2:	b260      	st.w      	r3, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00700000;       
    4cb4:	32f0      	movi      	r2, 240
    4cb6:	1162      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4cb8:	4250      	lsli      	r2, r2, 16
    4cba:	9320      	ld.w      	r1, (r3, 0x0)
    4cbc:	9161      	ld.w      	r3, (r1, 0x4)
    4cbe:	68c9      	andn      	r3, r2
    4cc0:	32e0      	movi      	r2, 224
    4cc2:	424f      	lsli      	r2, r2, 15
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
    4cc4:	6cc8      	or      	r3, r2
    4cc6:	b161      	st.w      	r3, (r1, 0x4)
    4cc8:	07e9      	br      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
		else if(UART_IO_G==1)
    4cca:	3941      	cmpnei      	r1, 1
    4ccc:	080c      	bt      	0x4ce4	// 4ce4 <UART_IO_Init+0x8c>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000;        //PA0.4->RXD1, PA0.3->TXD1
    4cce:	107c      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4cd0:	32ff      	movi      	r2, 255
    4cd2:	9320      	ld.w      	r1, (r3, 0x0)
    4cd4:	424c      	lsli      	r2, r2, 12
    4cd6:	9160      	ld.w      	r3, (r1, 0x0)
    4cd8:	68c9      	andn      	r3, r2
    4cda:	32ee      	movi      	r2, 238
    4cdc:	424b      	lsli      	r2, r2, 11
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
    4cde:	6cc8      	or      	r3, r2
    4ce0:	b160      	st.w      	r3, (r1, 0x0)
}
    4ce2:	07dc      	br      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
		else if(UART_IO_G==2)
    4ce4:	3942      	cmpnei      	r1, 2
    4ce6:	0bda      	bt      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
			GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000;        //PA0.15->RXD1, PA0.14->TXD1
    4ce8:	1075      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4cea:	32ee      	movi      	r2, 238
    4cec:	9320      	ld.w      	r1, (r3, 0x0)
    4cee:	9161      	ld.w      	r3, (r1, 0x4)
    4cf0:	4368      	lsli      	r3, r3, 8
    4cf2:	4b68      	lsri      	r3, r3, 8
    4cf4:	4257      	lsli      	r2, r2, 23
    4cf6:	07e7      	br      	0x4cc4	// 4cc4 <UART_IO_Init+0x6c>
	 if (IO_UART_NUM==IO_UART2)
    4cf8:	3842      	cmpnei      	r0, 2
    4cfa:	0bd0      	bt      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
        if(UART_IO_G==0)
    4cfc:	3940      	cmpnei      	r1, 0
    4cfe:	0809      	bt      	0x4d10	// 4d10 <UART_IO_Init+0xb8>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00)  | 0x00000077;       //PA0.0->RXD2, PA0.1->TXD2
    4d00:	106f      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4d02:	31ff      	movi      	r1, 255
    4d04:	9340      	ld.w      	r2, (r3, 0x0)
    4d06:	9260      	ld.w      	r3, (r2, 0x0)
    4d08:	68c5      	andn      	r3, r1
    4d0a:	3177      	movi      	r1, 119
    4d0c:	6cc4      	or      	r3, r1
    4d0e:	07b0      	br      	0x4c6e	// 4c6e <UART_IO_Init+0x16>
		else if(UART_IO_G==1)
    4d10:	3941      	cmpnei      	r1, 1
    4d12:	0809      	bt      	0x4d24	// 4d24 <UART_IO_Init+0xcc>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000;        //PA0.7->RXD2, PA0.6->TXD2
    4d14:	106a      	lrw      	r3, 0x2000004c	// 4d3c <UART_IO_Init+0xe4>
    4d16:	32ee      	movi      	r2, 238
    4d18:	9320      	ld.w      	r1, (r3, 0x0)
    4d1a:	9160      	ld.w      	r3, (r1, 0x0)
    4d1c:	4368      	lsli      	r3, r3, 8
    4d1e:	4b68      	lsri      	r3, r3, 8
    4d20:	4257      	lsli      	r2, r2, 23
    4d22:	07de      	br      	0x4cde	// 4cde <UART_IO_Init+0x86>
		else if(UART_IO_G==2)
    4d24:	3942      	cmpnei      	r1, 2
    4d26:	0bba      	bt      	0x4c9a	// 4c9a <UART_IO_Init+0x42>
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000;        //PB0.5->RXD2, PB0.4->TXD2
    4d28:	1066      	lrw      	r3, 0x20000048	// 4d40 <UART_IO_Init+0xe8>
    4d2a:	32ff      	movi      	r2, 255
    4d2c:	9320      	ld.w      	r1, (r3, 0x0)
    4d2e:	4250      	lsli      	r2, r2, 16
    4d30:	9160      	ld.w      	r3, (r1, 0x0)
    4d32:	68c9      	andn      	r3, r2
    4d34:	32cc      	movi      	r2, 204
    4d36:	424f      	lsli      	r2, r2, 15
    4d38:	07d3      	br      	0x4cde	// 4cde <UART_IO_Init+0x86>
    4d3a:	0000      	bkpt
    4d3c:	2000004c 	.long	0x2000004c
    4d40:	20000048 	.long	0x20000048

Disassembly of section .text.UARTInit:

00004d44 <UARTInit>:
//ReturnValue:NONE
/*************************************************************/
void UARTInit(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT)
{
   // Set Transmitter Enable
   CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | PAR_DAT | UART_TX_DONE_INT);
    4d44:	1063      	lrw      	r3, 0x80003	// 4d50 <UARTInit+0xc>
    4d46:	6c8c      	or      	r2, r3
    4d48:	b042      	st.w      	r2, (r0, 0x8)
   // Set Baudrate
   CSP_UART_SET_BRDIV(uart, baudrate_u16);
    4d4a:	b024      	st.w      	r1, (r0, 0x10)
}
    4d4c:	783c      	jmp      	r15
    4d4e:	0000      	bkpt
    4d50:	00080003 	.long	0x00080003

Disassembly of section .text.UARTInitRxTxIntEn:

00004d54 <UARTInitRxTxIntEn>:
//ReturnValue:NONE
/*************************************************************/
void UARTInitRxTxIntEn(CSP_UART_T *uart,U16_T baudrate_u16,UART_PAR_TypeDef PAR_DAT)
{
   // Set Transmitter Enable
   CSP_UART_SET_CTRL(uart, UART_TX | UART_RX | UART_RX_INT | UART_TX_INT | PAR_DAT | UART_TX_DONE_INT);
    4d54:	1063      	lrw      	r3, 0x8000f	// 4d60 <UARTInitRxTxIntEn+0xc>
    4d56:	6c8c      	or      	r2, r3
    4d58:	b042      	st.w      	r2, (r0, 0x8)
   // Set Baudrate
   CSP_UART_SET_BRDIV(uart, baudrate_u16);
    4d5a:	b024      	st.w      	r1, (r0, 0x10)
}
    4d5c:	783c      	jmp      	r15
    4d5e:	0000      	bkpt
    4d60:	0008000f 	.long	0x0008000f

Disassembly of section .text.UARTTransmit:

00004d64 <UARTTransmit>:
//UART Transmit 
//EntryParameter:UART0,UART1,UART2,sourceAddress_u16,length_u16
//ReturnValue:NONE
/*************************************************************/
void UARTTransmit(CSP_UART_T *uart,U8_T *sourceAddress_u16,U16_T length_u16)
{
    4d64:	14c2      	push      	r4-r5
	unsigned int  DataI,DataJ;
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
    4d66:	6cc7      	mov      	r3, r1
	{
		CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
		do{
			DataI = CSP_UART_GET_SR(uart);
			DataI = DataI & UART_TX_FULL;
    4d68:	3501      	movi      	r5, 1
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
    4d6a:	5b85      	subu      	r4, r3, r1
    4d6c:	6490      	cmphs      	r4, r2
    4d6e:	0c02      	bf      	0x4d72	// 4d72 <UARTTransmit+0xe>
		}while(DataI == UART_TX_FULL);    //Loop  when tx is full
	}
}
    4d70:	1482      	pop      	r4-r5
		CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
    4d72:	8380      	ld.b      	r4, (r3, 0x0)
    4d74:	b080      	st.w      	r4, (r0, 0x0)
			DataI = CSP_UART_GET_SR(uart);
    4d76:	9081      	ld.w      	r4, (r0, 0x4)
			DataI = DataI & UART_TX_FULL;
    4d78:	6914      	and      	r4, r5
		}while(DataI == UART_TX_FULL);    //Loop  when tx is full
    4d7a:	3c40      	cmpnei      	r4, 0
    4d7c:	0bfd      	bt      	0x4d76	// 4d76 <UARTTransmit+0x12>
    4d7e:	2300      	addi      	r3, 1
    4d80:	07f5      	br      	0x4d6a	// 4d6a <UARTTransmit+0x6>

Disassembly of section .text.EPT_Stop:

00004d84 <EPT_Stop>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/   
void EPT_Stop(void)
{
	EPT0->REGPROT = (0xA55A<<16) | 0xC73A;
    4d84:	1068      	lrw      	r3, 0x20000020	// 4da4 <EPT_Stop+0x20>
    4d86:	3280      	movi      	r2, 128
    4d88:	9360      	ld.w      	r3, (r3, 0x0)
    4d8a:	608c      	addu      	r2, r3
    4d8c:	1027      	lrw      	r1, 0xa55ac73a	// 4da8 <EPT_Stop+0x24>
    4d8e:	b23a      	st.w      	r1, (r2, 0x68)
	EPT0->RSSR&=0Xfe;
    4d90:	9341      	ld.w      	r2, (r3, 0x4)
    4d92:	31fe      	movi      	r1, 254
    4d94:	6884      	and      	r2, r1
    4d96:	b341      	st.w      	r2, (r3, 0x4)
	while(EPT0->RSSR&0x01);
    4d98:	3101      	movi      	r1, 1
    4d9a:	9341      	ld.w      	r2, (r3, 0x4)
    4d9c:	6884      	and      	r2, r1
    4d9e:	3a40      	cmpnei      	r2, 0
    4da0:	0bfd      	bt      	0x4d9a	// 4d9a <EPT_Stop+0x16>
}
    4da2:	783c      	jmp      	r15
    4da4:	20000020 	.long	0x20000020
    4da8:	a55ac73a 	.long	0xa55ac73a

Disassembly of section .text.ADC12_RESET_VALUE:

00004dac <ADC12_RESET_VALUE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void ADC12_RESET_VALUE(void)
{
	 ADC0->ECR	=	ADC_ECR_RST;     				/**< ECR  reset value  */
    4dac:	1078      	lrw      	r3, 0x20000050	// 4e0c <ADC12_RESET_VALUE+0x60>
    4dae:	3200      	movi      	r2, 0
    4db0:	9360      	ld.w      	r3, (r3, 0x0)
    4db2:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DCR	=	ADC_DCR_RST;                  	/**< DCR  reset value  */
    4db4:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->PMSR	= 	ADC_PMSR_RST;       		  	/**< PMSR reset value  */
    4db6:	b342      	st.w      	r2, (r3, 0x8)
	 //ADC0->CR	=	ADC_CR_RST;             		/**< CR   reset value  */
	 ADC0->MR	=   ADC_MR_RST;                  	/**< MR   reset value  */
    4db8:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->CSR	=   ADC_CSR_RST;                  	/**< CSR  reset value  */
    4dba:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->SR 	=	ADC_SR_RST;                   	/**< SR   reset value  */
    4dbc:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->IER 	=	ADC_IER_RST;                	/**< IER  reset value  */
    4dbe:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->IDR 	=	ADC_IDR_RST;              		/**< IDR  reset value  */
    4dc0:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->IMR  =	ADC_IMR_RST;               		/**< IMR  reset value  */
    4dc2:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->SEQ[0]=	ADC_SEQx_RST;             		/**< SEQ0  reset value */
    4dc4:	b34c      	st.w      	r2, (r3, 0x30)
	 ADC0->SEQ[1]=	ADC_SEQx_RST;             		/**< SEQ1  reset value */
    4dc6:	b34d      	st.w      	r2, (r3, 0x34)
	 ADC0->SEQ[2]=	ADC_SEQx_RST;             		/**< SEQ2  reset value */
    4dc8:	b34e      	st.w      	r2, (r3, 0x38)
	 ADC0->SEQ[3]=	ADC_SEQx_RST;             		/**< SEQ3  reset value */
    4dca:	b34f      	st.w      	r2, (r3, 0x3c)
	 ADC0->SEQ[4]=	ADC_SEQx_RST;             		/**< SEQ4  reset value */
    4dcc:	b350      	st.w      	r2, (r3, 0x40)
	 ADC0->SEQ[5]=	ADC_SEQx_RST;             		/**< SEQ5  reset value */
    4dce:	b351      	st.w      	r2, (r3, 0x44)
	 ADC0->SEQ[6]=	ADC_SEQx_RST;             		/**< SEQ6  reset value */
    4dd0:	b352      	st.w      	r2, (r3, 0x48)
	 ADC0->SEQ[7]=	ADC_SEQx_RST;             		/**< SEQ7  reset value */
    4dd2:	b353      	st.w      	r2, (r3, 0x4c)
	 ADC0->SEQ[8]=	ADC_SEQx_RST;             		/**< SEQ8  reset value */
    4dd4:	b354      	st.w      	r2, (r3, 0x50)
	 ADC0->SEQ[9]=	ADC_SEQx_RST;             		/**< SEQ9  reset value */
    4dd6:	b355      	st.w      	r2, (r3, 0x54)
	 ADC0->SEQ[10]=	ADC_SEQx_RST;             		/**< SEQ10  reset value */
    4dd8:	b356      	st.w      	r2, (r3, 0x58)
	 ADC0->SEQ[11]=	ADC_SEQx_RST;             		/**< SEQ11  reset value */
    4dda:	b357      	st.w      	r2, (r3, 0x5c)
	 ADC0->SEQ[12]=	ADC_SEQx_RST;             		/**< SEQ12  reset value */
    4ddc:	b358      	st.w      	r2, (r3, 0x60)
	 ADC0->SEQ[13]=	ADC_SEQx_RST;             		/**< SEQ13  reset value */
    4dde:	b359      	st.w      	r2, (r3, 0x64)
	 ADC0->SEQ[14]=	ADC_SEQx_RST;             		/**< SEQ14  reset value */
    4de0:	b35a      	st.w      	r2, (r3, 0x68)
	 ADC0->SEQ[15]=	ADC_SEQx_RST;             		/**< SEQ15  reset value */
    4de2:	b35b      	st.w      	r2, (r3, 0x6c)
	 ADC0->DR[0]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4de4:	23ff      	addi      	r3, 256
    4de6:	b340      	st.w      	r2, (r3, 0x0)
	 ADC0->DR[1]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4de8:	b341      	st.w      	r2, (r3, 0x4)
	 ADC0->DR[2]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4dea:	b342      	st.w      	r2, (r3, 0x8)
	 ADC0->DR[3]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4dec:	b343      	st.w      	r2, (r3, 0xc)
	 ADC0->DR[4]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4dee:	b344      	st.w      	r2, (r3, 0x10)
	 ADC0->DR[5]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4df0:	b345      	st.w      	r2, (r3, 0x14)
	 ADC0->DR[6]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4df2:	b346      	st.w      	r2, (r3, 0x18)
	 ADC0->DR[7]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4df4:	b347      	st.w      	r2, (r3, 0x1c)
	 ADC0->DR[8]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4df6:	b348      	st.w      	r2, (r3, 0x20)
	 ADC0->DR[9]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4df8:	b349      	st.w      	r2, (r3, 0x24)
	 ADC0->DR[10]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4dfa:	b34a      	st.w      	r2, (r3, 0x28)
	 ADC0->DR[11]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4dfc:	b34b      	st.w      	r2, (r3, 0x2c)
	 ADC0->DR[12]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4dfe:	b34c      	st.w      	r2, (r3, 0x30)
	 ADC0->DR[13]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4e00:	b34d      	st.w      	r2, (r3, 0x34)
	 ADC0->DR[14]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4e02:	b34e      	st.w      	r2, (r3, 0x38)
	 ADC0->DR[15]  =	ADC_DR_RST;                		/**< DR   reset value  */
    4e04:	b34f      	st.w      	r2, (r3, 0x3c)
	 ADC0->CMP0   =	ADC_CMP0_RST;               	/**< CMP1 reset value  */
    4e06:	b350      	st.w      	r2, (r3, 0x40)
	 ADC0->CMP1   =	ADC_CMP1_RST;                	/**< CMP2 reset value  */
    4e08:	b351      	st.w      	r2, (r3, 0x44)
}  
    4e0a:	783c      	jmp      	r15
    4e0c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Control:

00004e10 <ADC12_Control>:
//ReturnValue:NONE
/*************************************************************/  
  //control:ADC enable/disable ,start/stop,swrst
void ADC12_Control(ADC12_Control_TypeDef ADC12_Control_x )
{
	ADC0->CR |= ADC12_Control_x;							// 
    4e10:	1063      	lrw      	r3, 0x20000050	// 4e1c <ADC12_Control+0xc>
    4e12:	9340      	ld.w      	r2, (r3, 0x0)
    4e14:	9264      	ld.w      	r3, (r2, 0x10)
    4e16:	6c0c      	or      	r0, r3
    4e18:	b204      	st.w      	r0, (r2, 0x10)
}
    4e1a:	783c      	jmp      	r15
    4e1c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CMD.part.0:

00004e20 <ADC12_CMD.part.0>:
//ADC12 ENABLE
//EntryParameter:NewState
//NewState:ENABLE , DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_CMD(FunctionalStatus NewState)
    4e20:	14d0      	push      	r15
{
	if (NewState != DISABLE)
	{
		ADC12_Control(ADC12_ADCEN);						//ADC12 ENABLE
    4e22:	3002      	movi      	r0, 2
    4e24:	e3fffff6 	bsr      	0x4e10	// 4e10 <ADC12_Control>
		while(!(ADC0->SR &ADC12_ADCENS));
    4e28:	1065      	lrw      	r3, 0x20000050	// 4e3c <ADC12_CMD.part.0+0x1c>
    4e2a:	3280      	movi      	r2, 128
    4e2c:	9320      	ld.w      	r1, (r3, 0x0)
    4e2e:	4241      	lsli      	r2, r2, 1
    4e30:	9168      	ld.w      	r3, (r1, 0x20)
    4e32:	68c8      	and      	r3, r2
    4e34:	3b40      	cmpnei      	r3, 0
    4e36:	0ffd      	bf      	0x4e30	// 4e30 <ADC12_CMD.part.0+0x10>
	else
	{
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
		while(ADC0->SR&ADC12_ADCENS);
	}
}
    4e38:	1490      	pop      	r15
    4e3a:	0000      	bkpt
    4e3c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CLK_CMD:

00004e40 <ADC12_CLK_CMD>:
	if (NewState != DISABLE)
    4e40:	3940      	cmpnei      	r1, 0
    4e42:	106a      	lrw      	r3, 0x20000050	// 4e68 <ADC12_CLK_CMD+0x28>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    4e44:	9340      	ld.w      	r2, (r3, 0x0)
	if (NewState != DISABLE)
    4e46:	0c09      	bf      	0x4e58	// 4e58 <ADC12_CLK_CMD+0x18>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    4e48:	9260      	ld.w      	r3, (r2, 0x0)
    4e4a:	6cc0      	or      	r3, r0
    4e4c:	b260      	st.w      	r3, (r2, 0x0)
		while(!(ADC0->PMSR&ADC_CLK_CMD));
    4e4e:	9262      	ld.w      	r3, (r2, 0x8)
    4e50:	68c0      	and      	r3, r0
    4e52:	3b40      	cmpnei      	r3, 0
    4e54:	0ffd      	bf      	0x4e4e	// 4e4e <ADC12_CLK_CMD+0xe>
}
    4e56:	783c      	jmp      	r15
		ADC0->DCR  |= ADC_CLK_CMD;						//DISABLE
    4e58:	9261      	ld.w      	r3, (r2, 0x4)
    4e5a:	6cc0      	or      	r3, r0
    4e5c:	b261      	st.w      	r3, (r2, 0x4)
		while(ADC0->PMSR&ADC_CLK_CMD);
    4e5e:	9262      	ld.w      	r3, (r2, 0x8)
    4e60:	68c0      	and      	r3, r0
    4e62:	3b40      	cmpnei      	r3, 0
    4e64:	0bfd      	bt      	0x4e5e	// 4e5e <ADC12_CLK_CMD+0x1e>
    4e66:	07f8      	br      	0x4e56	// 4e56 <ADC12_CLK_CMD+0x16>
    4e68:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Software_Reset:

00004e6c <ADC12_Software_Reset>:
{
    4e6c:	14d0      	push      	r15
	ADC12_Control(ADC12_SWRST);
    4e6e:	3001      	movi      	r0, 1
    4e70:	e3ffffd0 	bsr      	0x4e10	// 4e10 <ADC12_Control>
}
    4e74:	1490      	pop      	r15

Disassembly of section .text.ADC12_CMD:

00004e78 <ADC12_CMD>:
{
    4e78:	14d0      	push      	r15
	if (NewState != DISABLE)
    4e7a:	3840      	cmpnei      	r0, 0
    4e7c:	0c04      	bf      	0x4e84	// 4e84 <ADC12_CMD+0xc>
    4e7e:	e3ffffd1 	bsr      	0x4e20	// 4e20 <ADC12_CMD.part.0>
}
    4e82:	1490      	pop      	r15
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
    4e84:	3004      	movi      	r0, 4
    4e86:	e3ffffc5 	bsr      	0x4e10	// 4e10 <ADC12_Control>
		while(ADC0->SR&ADC12_ADCENS);
    4e8a:	1065      	lrw      	r3, 0x20000050	// 4e9c <ADC12_CMD+0x24>
    4e8c:	3280      	movi      	r2, 128
    4e8e:	9320      	ld.w      	r1, (r3, 0x0)
    4e90:	4241      	lsli      	r2, r2, 1
    4e92:	9168      	ld.w      	r3, (r1, 0x20)
    4e94:	68c8      	and      	r3, r2
    4e96:	3b40      	cmpnei      	r3, 0
    4e98:	0bfd      	bt      	0x4e92	// 4e92 <ADC12_CMD+0x1a>
    4e9a:	07f4      	br      	0x4e82	// 4e82 <ADC12_CMD+0xa>
    4e9c:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_ready_wait:

00004ea0 <ADC12_ready_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 READ FLAG
/*************************************************************/ 
void ADC12_ready_wait(void)  
{
	while(!(ADC0->SR&ADC12_READY));   					// Waiting for ADC0 Ready
    4ea0:	1064      	lrw      	r3, 0x20000050	// 4eb0 <ADC12_ready_wait+0x10>
    4ea2:	3202      	movi      	r2, 2
    4ea4:	9320      	ld.w      	r1, (r3, 0x0)
    4ea6:	9168      	ld.w      	r3, (r1, 0x20)
    4ea8:	68c8      	and      	r3, r2
    4eaa:	3b40      	cmpnei      	r3, 0
    4eac:	0ffd      	bf      	0x4ea6	// 4ea6 <ADC12_ready_wait+0x6>
}
    4eae:	783c      	jmp      	r15
    4eb0:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_SEQEND_wait:

00004eb4 <ADC12_SEQEND_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 EOC
/*************************************************************/ 
void ADC12_SEQEND_wait(U8_T val)
{
	while(!(ADC0->SR & (0x01ul << (16+val))));			// EOC wait
    4eb4:	200f      	addi      	r0, 16
    4eb6:	1065      	lrw      	r3, 0x20000050	// 4ec8 <ADC12_SEQEND_wait+0x14>
    4eb8:	3201      	movi      	r2, 1
    4eba:	9320      	ld.w      	r1, (r3, 0x0)
    4ebc:	7080      	lsl      	r2, r0
    4ebe:	9168      	ld.w      	r3, (r1, 0x20)
    4ec0:	68c8      	and      	r3, r2
    4ec2:	3b40      	cmpnei      	r3, 0
    4ec4:	0ffd      	bf      	0x4ebe	// 4ebe <ADC12_SEQEND_wait+0xa>
}  
    4ec6:	783c      	jmp      	r15
    4ec8:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_DATA_OUPUT:

00004ecc <ADC12_DATA_OUPUT>:
//EntryParameter:NONE
//ReturnValue:ADC12 DR
/*************************************************************/ 
U16_T ADC12_DATA_OUPUT(U16_T Data_index )
{
	return(ADC0->DR[Data_index]);
    4ecc:	203f      	addi      	r0, 64
    4ece:	1064      	lrw      	r3, 0x20000050	// 4edc <ADC12_DATA_OUPUT+0x10>
    4ed0:	4002      	lsli      	r0, r0, 2
    4ed2:	9360      	ld.w      	r3, (r3, 0x0)
    4ed4:	600c      	addu      	r0, r3
    4ed6:	9000      	ld.w      	r0, (r0, 0x0)
    4ed8:	7401      	zexth      	r0, r0
} 
    4eda:	783c      	jmp      	r15
    4edc:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_Mode:

00004ee0 <ADC12_Configure_Mode>:
  //10BIT or 12BIT adc ;
  //ADC12_BIT_SELECTED:ADC12_12BIT/ADC12_10BIT;
  //ADC12_ConverMode:One_shot_mode/Continuous_mode;
  //adc date output=last number of Conversions;
void  ADC12_Configure_Mode(ADC12_10bitor12bit_TypeDef ADC12_BIT_SELECTED  , ADC12_ConverMode_TypeDef  ADC12_ConverMode  , U8_T ADC12_PRI, U8_T adc12_SHR , U8_T ADC12_DIV , U8_T NumConver ) 
{
    4ee0:	14d4      	push      	r4-r7, r15
    4ee2:	1422      	subi      	r14, r14, 8
    4ee4:	1c08      	addi      	r4, r14, 32
    4ee6:	84a0      	ld.b      	r5, (r4, 0x0)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4ee8:	2d00      	subi      	r5, 1
{
    4eea:	6dc3      	mov      	r7, r0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4eec:	10db      	lrw      	r6, 0x20000050	// 4f58 <ADC12_Configure_Mode+0x78>
{
    4eee:	d80e001c 	ld.b      	r0, (r14, 0x1c)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4ef2:	45aa      	lsli      	r5, r5, 10
    4ef4:	9680      	ld.w      	r4, (r6, 0x0)
    4ef6:	6d40      	or      	r5, r0
	if(ADC12_ConverMode==One_shot_mode)
    4ef8:	3940      	cmpnei      	r1, 0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4efa:	b4a5      	st.w      	r5, (r4, 0x14)
	if(ADC12_ConverMode==One_shot_mode)
    4efc:	081c      	bt      	0x4f34	// 4f34 <ADC12_Configure_Mode+0x54>
	{
		ADC0->MR&=~CONTCV;								//one short mode
    4efe:	9425      	ld.w      	r1, (r4, 0x14)
    4f00:	4121      	lsli      	r1, r1, 1
    4f02:	4921      	lsri      	r1, r1, 1
		while(ADC0->SR&ADC12_CTCVS);							
    4f04:	3080      	movi      	r0, 128
		ADC0->MR&=~CONTCV;								//one short mode
    4f06:	b425      	st.w      	r1, (r4, 0x14)
		while(ADC0->SR&ADC12_CTCVS);							
    4f08:	4002      	lsli      	r0, r0, 2
    4f0a:	9428      	ld.w      	r1, (r4, 0x20)
    4f0c:	6840      	and      	r1, r0
    4f0e:	3940      	cmpnei      	r1, 0
    4f10:	0bfd      	bt      	0x4f0a	// 4f0a <ADC12_Configure_Mode+0x2a>
    4f12:	b861      	st.w      	r3, (r14, 0x4)
    4f14:	b840      	st.w      	r2, (r14, 0x0)
    4f16:	e3ffff85 	bsr      	0x4e20	// 4e20 <ADC12_CMD.part.0>
	{
		ADC0->MR|=CONTCV;								//Continuous mode
		while(!(ADC0->SR&ADC12_CTCVS));							
	}
	ADC12_CMD(ENABLE);									//ADC0 enable
	if(ADC12_BIT_SELECTED)
    4f1a:	3f40      	cmpnei      	r7, 0
    4f1c:	9840      	ld.w      	r2, (r14, 0x0)
    4f1e:	9861      	ld.w      	r3, (r14, 0x4)
    4f20:	0c16      	bf      	0x4f4c	// 4f4c <ADC12_Configure_Mode+0x6c>
	{
		ADC0->CR|=ADC12_10BITor12BIT;
    4f22:	9600      	ld.w      	r0, (r6, 0x0)
    4f24:	9024      	ld.w      	r1, (r0, 0x10)
    4f26:	39bf      	bseti      	r1, 31
	}
	else
	{
		ADC0->CR&=~ADC12_10BITor12BIT;
    4f28:	b024      	st.w      	r1, (r0, 0x10)
	}
	//ADC0->CR|=ADC12_VREF_VDD | ADC12_FVR_DIS;
	ADC0->PRI=ADC12_PRI;
    4f2a:	9620      	ld.w      	r1, (r6, 0x0)
    4f2c:	b15c      	st.w      	r2, (r1, 0x70)
	ADC0->SHR=adc12_SHR;								//adc Sampling & Holding cycles
    4f2e:	b166      	st.w      	r3, (r1, 0x18)
} 
    4f30:	1402      	addi      	r14, r14, 8
    4f32:	1494      	pop      	r4-r7, r15
	else if(ADC12_ConverMode==Continuous_mode)
    4f34:	3941      	cmpnei      	r1, 1
    4f36:	0bee      	bt      	0x4f12	// 4f12 <ADC12_Configure_Mode+0x32>
		ADC0->MR|=CONTCV;								//Continuous mode
    4f38:	9425      	ld.w      	r1, (r4, 0x14)
    4f3a:	39bf      	bseti      	r1, 31
		while(!(ADC0->SR&ADC12_CTCVS));							
    4f3c:	3080      	movi      	r0, 128
		ADC0->MR|=CONTCV;								//Continuous mode
    4f3e:	b425      	st.w      	r1, (r4, 0x14)
		while(!(ADC0->SR&ADC12_CTCVS));							
    4f40:	4002      	lsli      	r0, r0, 2
    4f42:	9428      	ld.w      	r1, (r4, 0x20)
    4f44:	6840      	and      	r1, r0
    4f46:	3940      	cmpnei      	r1, 0
    4f48:	0ffd      	bf      	0x4f42	// 4f42 <ADC12_Configure_Mode+0x62>
    4f4a:	07e4      	br      	0x4f12	// 4f12 <ADC12_Configure_Mode+0x32>
		ADC0->CR&=~ADC12_10BITor12BIT;
    4f4c:	9600      	ld.w      	r0, (r6, 0x0)
    4f4e:	9024      	ld.w      	r1, (r0, 0x10)
    4f50:	4121      	lsli      	r1, r1, 1
    4f52:	4921      	lsri      	r1, r1, 1
    4f54:	07ea      	br      	0x4f28	// 4f28 <ADC12_Configure_Mode+0x48>
    4f56:	0000      	bkpt
    4f58:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_VREF_Selecte:

00004f5c <ADC12_Configure_VREF_Selecte>:
//EntryParameter:NONE
//ReturnValue:None
/*************************************************************/ 
void ADC12_Configure_VREF_Selecte(ADC12_VREFP_VREFN_Selected_TypeDef ADC12_VREFP_X_VREFN_X )
{
	if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_VSS)
    4f5c:	3840      	cmpnei      	r0, 0
    4f5e:	0808      	bt      	0x4f6e	// 4f6e <ADC12_Configure_VREF_Selecte+0x12>
	{
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x00<<6);
    4f60:	127c      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    4f62:	123d      	lrw      	r1, 0x103c0	// 50d4 <ADC12_Configure_VREF_Selecte+0x178>
    4f64:	9340      	ld.w      	r2, (r3, 0x0)
    4f66:	9264      	ld.w      	r3, (r2, 0x10)
    4f68:	68c5      	andn      	r3, r1
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
	}
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
	{
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;					
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    4f6a:	b264      	st.w      	r3, (r2, 0x10)
	}
}
    4f6c:	783c      	jmp      	r15
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_VSS)
    4f6e:	3841      	cmpnei      	r0, 1
    4f70:	0810      	bt      	0x4f90	// 4f90 <ADC12_Configure_VREF_Selecte+0x34>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    4f72:	127a      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    4f74:	32f0      	movi      	r2, 240
    4f76:	9320      	ld.w      	r1, (r3, 0x0)
    4f78:	9160      	ld.w      	r3, (r1, 0x0)
    4f7a:	4244      	lsli      	r2, r2, 4
    4f7c:	68c9      	andn      	r3, r2
    4f7e:	3bab      	bseti      	r3, 11
    4f80:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x01<<6);
    4f82:	1235      	lrw      	r1, 0x103c0	// 50d4 <ADC12_Configure_VREF_Selecte+0x178>
    4f84:	1273      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    4f86:	9340      	ld.w      	r2, (r3, 0x0)
    4f88:	9264      	ld.w      	r3, (r2, 0x10)
    4f8a:	68c5      	andn      	r3, r1
    4f8c:	3ba6      	bseti      	r3, 6
    4f8e:	07ee      	br      	0x4f6a	// 4f6a <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_VSS)
    4f90:	3842      	cmpnei      	r0, 2
    4f92:	0811      	bt      	0x4fb4	// 4fb4 <ADC12_Configure_VREF_Selecte+0x58>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    4f94:	1271      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    4f96:	32f0      	movi      	r2, 240
    4f98:	9320      	ld.w      	r1, (r3, 0x0)
    4f9a:	9160      	ld.w      	r3, (r1, 0x0)
    4f9c:	4244      	lsli      	r2, r2, 4
    4f9e:	68c9      	andn      	r3, r2
    4fa0:	3bab      	bseti      	r3, 11
    4fa2:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x02<<6)|(0X01<<24)|(0X00<<25);
    4fa4:	122e      	lrw      	r1, 0x30103c0	// 50dc <ADC12_Configure_VREF_Selecte+0x180>
    4fa6:	126b      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    4fa8:	9340      	ld.w      	r2, (r3, 0x0)
    4faa:	9264      	ld.w      	r3, (r2, 0x10)
    4fac:	68c5      	andn      	r3, r1
    4fae:	3ba7      	bseti      	r3, 7
    4fb0:	3bb8      	bseti      	r3, 24
    4fb2:	07dc      	br      	0x4f6a	// 4f6a <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_VSS)
    4fb4:	3843      	cmpnei      	r0, 3
    4fb6:	0811      	bt      	0x4fd8	// 4fd8 <ADC12_Configure_VREF_Selecte+0x7c>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;							
    4fb8:	1268      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    4fba:	32f0      	movi      	r2, 240
    4fbc:	9320      	ld.w      	r1, (r3, 0x0)
    4fbe:	9160      	ld.w      	r3, (r1, 0x0)
    4fc0:	4244      	lsli      	r2, r2, 4
    4fc2:	68c9      	andn      	r3, r2
    4fc4:	3bab      	bseti      	r3, 11
    4fc6:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x03<<6)|(0X01<<24)|(0X01<<25);
    4fc8:	1225      	lrw      	r1, 0x30103c0	// 50dc <ADC12_Configure_VREF_Selecte+0x180>
    4fca:	1262      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    4fcc:	9340      	ld.w      	r2, (r3, 0x0)
    4fce:	9264      	ld.w      	r3, (r2, 0x10)
    4fd0:	68c5      	andn      	r3, r1
    4fd2:	1224      	lrw      	r1, 0x30000c0	// 50e0 <ADC12_Configure_VREF_Selecte+0x184>
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    4fd4:	6cc4      	or      	r3, r1
    4fd6:	07ca      	br      	0x4f6a	// 4f6a <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_VSS)
    4fd8:	3845      	cmpnei      	r0, 5
    4fda:	0809      	bt      	0x4fec	// 4fec <ADC12_Configure_VREF_Selecte+0x90>
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x04<<6)|(0X00<<16)|(0X02<<17);
    4fdc:	117d      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    4fde:	1222      	lrw      	r1, 0x503c0	// 50e4 <ADC12_Configure_VREF_Selecte+0x188>
    4fe0:	9340      	ld.w      	r2, (r3, 0x0)
    4fe2:	9264      	ld.w      	r3, (r2, 0x10)
    4fe4:	68c5      	andn      	r3, r1
    4fe6:	3ba8      	bseti      	r3, 8
    4fe8:	3bb2      	bseti      	r3, 18
    4fea:	07c0      	br      	0x4f6a	// 4f6a <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_VDD_VREFN_EXIT)
    4fec:	3846      	cmpnei      	r0, 6
    4fee:	0812      	bt      	0x5012	// 5012 <ADC12_Configure_VREF_Selecte+0xb6>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;	
    4ff0:	117a      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    4ff2:	32f0      	movi      	r2, 240
    4ff4:	9320      	ld.w      	r1, (r3, 0x0)
    4ff6:	9160      	ld.w      	r3, (r1, 0x0)
    4ff8:	4248      	lsli      	r2, r2, 8
    4ffa:	68c9      	andn      	r3, r2
    4ffc:	32b0      	movi      	r2, 176
    4ffe:	4248      	lsli      	r2, r2, 8
    5000:	6cc8      	or      	r3, r2
    5002:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x08<<6);
    5004:	1134      	lrw      	r1, 0x103c0	// 50d4 <ADC12_Configure_VREF_Selecte+0x178>
    5006:	1173      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    5008:	9340      	ld.w      	r2, (r3, 0x0)
    500a:	9264      	ld.w      	r3, (r2, 0x10)
    500c:	68c5      	andn      	r3, r1
    500e:	3ba9      	bseti      	r3, 9
    5010:	07ad      	br      	0x4f6a	// 4f6a <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_EXIT_VREFN_EXIT)
    5012:	3847      	cmpnei      	r0, 7
    5014:	0819      	bt      	0x5046	// 5046 <ADC12_Configure_VREF_Selecte+0xea>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;
    5016:	1171      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    5018:	31f0      	movi      	r1, 240
    501a:	9340      	ld.w      	r2, (r3, 0x0)
    501c:	9260      	ld.w      	r3, (r2, 0x0)
    501e:	4128      	lsli      	r1, r1, 8
    5020:	68c5      	andn      	r3, r1
    5022:	31b0      	movi      	r1, 176
    5024:	4128      	lsli      	r1, r1, 8
    5026:	6cc4      	or      	r3, r1
    5028:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;			
    502a:	31f0      	movi      	r1, 240
    502c:	9260      	ld.w      	r3, (r2, 0x0)
    502e:	4124      	lsli      	r1, r1, 4
    5030:	68c5      	andn      	r3, r1
    5032:	3bab      	bseti      	r3, 11
    5034:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x09<<6);
    5036:	1128      	lrw      	r1, 0x103c0	// 50d4 <ADC12_Configure_VREF_Selecte+0x178>
    5038:	1166      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    503a:	9340      	ld.w      	r2, (r3, 0x0)
    503c:	9264      	ld.w      	r3, (r2, 0x10)
    503e:	68c5      	andn      	r3, r1
    5040:	3ba6      	bseti      	r3, 6
    5042:	3ba9      	bseti      	r3, 9
    5044:	0793      	br      	0x4f6a	// 4f6a <ADC12_Configure_VREF_Selecte+0xe>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR2048_VREFN_EXIT)
    5046:	3848      	cmpnei      	r0, 8
    5048:	0818      	bt      	0x5078	// 5078 <ADC12_Configure_VREF_Selecte+0x11c>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;	
    504a:	1164      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    504c:	31f0      	movi      	r1, 240
    504e:	9340      	ld.w      	r2, (r3, 0x0)
    5050:	9260      	ld.w      	r3, (r2, 0x0)
    5052:	4128      	lsli      	r1, r1, 8
    5054:	68c5      	andn      	r3, r1
    5056:	31b0      	movi      	r1, 176
    5058:	4128      	lsli      	r1, r1, 8
    505a:	6cc4      	or      	r3, r1
    505c:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    505e:	31f0      	movi      	r1, 240
    5060:	9260      	ld.w      	r3, (r2, 0x0)
    5062:	4124      	lsli      	r1, r1, 4
    5064:	68c5      	andn      	r3, r1
    5066:	3bab      	bseti      	r3, 11
    5068:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0A<<6)|(0X01<<24)|(0X00<<25);			
    506a:	103d      	lrw      	r1, 0x30103c0	// 50dc <ADC12_Configure_VREF_Selecte+0x180>
    506c:	1079      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    506e:	9340      	ld.w      	r2, (r3, 0x0)
    5070:	9264      	ld.w      	r3, (r2, 0x10)
    5072:	68c5      	andn      	r3, r1
    5074:	103d      	lrw      	r1, 0x1000280	// 50e8 <ADC12_Configure_VREF_Selecte+0x18c>
    5076:	07af      	br      	0x4fd4	// 4fd4 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_FVR4096_VREFN_EXIT)
    5078:	3849      	cmpnei      	r0, 9
    507a:	0818      	bt      	0x50aa	// 50aa <ADC12_Configure_VREF_Selecte+0x14e>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;	
    507c:	1077      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    507e:	31f0      	movi      	r1, 240
    5080:	9340      	ld.w      	r2, (r3, 0x0)
    5082:	9260      	ld.w      	r3, (r2, 0x0)
    5084:	4128      	lsli      	r1, r1, 8
    5086:	68c5      	andn      	r3, r1
    5088:	31b0      	movi      	r1, 176
    508a:	4128      	lsli      	r1, r1, 8
    508c:	6cc4      	or      	r3, r1
    508e:	b260      	st.w      	r3, (r2, 0x0)
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF)  | 0x00000800;
    5090:	31f0      	movi      	r1, 240
    5092:	9260      	ld.w      	r3, (r2, 0x0)
    5094:	4124      	lsli      	r1, r1, 4
    5096:	68c5      	andn      	r3, r1
    5098:	3bab      	bseti      	r3, 11
    509a:	b260      	st.w      	r3, (r2, 0x0)
		ADC0->CR=(ADC0->CR&0xfcfefc3f)|(0x0B<<6)|(0X01<<24)|(0X01<<25);	
    509c:	1030      	lrw      	r1, 0x30103c0	// 50dc <ADC12_Configure_VREF_Selecte+0x180>
    509e:	106d      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    50a0:	9340      	ld.w      	r2, (r3, 0x0)
    50a2:	9264      	ld.w      	r3, (r2, 0x10)
    50a4:	68c5      	andn      	r3, r1
    50a6:	1032      	lrw      	r1, 0x30002c0	// 50ec <ADC12_Configure_VREF_Selecte+0x190>
    50a8:	0796      	br      	0x4fd4	// 4fd4 <ADC12_Configure_VREF_Selecte+0x78>
	else if(ADC12_VREFP_X_VREFN_X==ADC12_VREFP_INTVREF1000_VREFN_EXIT)
    50aa:	384b      	cmpnei      	r0, 11
    50ac:	0b60      	bt      	0x4f6c	// 4f6c <ADC12_Configure_VREF_Selecte+0x10>
		GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x0000B000;					
    50ae:	106b      	lrw      	r3, 0x2000004c	// 50d8 <ADC12_Configure_VREF_Selecte+0x17c>
    50b0:	32f0      	movi      	r2, 240
    50b2:	9320      	ld.w      	r1, (r3, 0x0)
    50b4:	9160      	ld.w      	r3, (r1, 0x0)
    50b6:	4248      	lsli      	r2, r2, 8
    50b8:	68c9      	andn      	r3, r2
    50ba:	32b0      	movi      	r2, 176
    50bc:	4248      	lsli      	r2, r2, 8
    50be:	6cc8      	or      	r3, r2
    50c0:	b160      	st.w      	r3, (r1, 0x0)
		ADC0->CR=(ADC0->CR&0xfffefc3f)|(0x0C<<6)|(0X00<<16)|(0X02<<17);	
    50c2:	1029      	lrw      	r1, 0x503c0	// 50e4 <ADC12_Configure_VREF_Selecte+0x188>
    50c4:	1063      	lrw      	r3, 0x20000050	// 50d0 <ADC12_Configure_VREF_Selecte+0x174>
    50c6:	9340      	ld.w      	r2, (r3, 0x0)
    50c8:	9264      	ld.w      	r3, (r2, 0x10)
    50ca:	68c5      	andn      	r3, r1
    50cc:	1029      	lrw      	r1, 0x40300	// 50f0 <ADC12_Configure_VREF_Selecte+0x194>
    50ce:	0783      	br      	0x4fd4	// 4fd4 <ADC12_Configure_VREF_Selecte+0x78>
    50d0:	20000050 	.long	0x20000050
    50d4:	000103c0 	.long	0x000103c0
    50d8:	2000004c 	.long	0x2000004c
    50dc:	030103c0 	.long	0x030103c0
    50e0:	030000c0 	.long	0x030000c0
    50e4:	000503c0 	.long	0x000503c0
    50e8:	01000280 	.long	0x01000280
    50ec:	030002c0 	.long	0x030002c0
    50f0:	00040300 	.long	0x00040300

Disassembly of section .text.ADC12_ConversionChannel_Config:

000050f4 <ADC12_ConversionChannel_Config>:
//ADC12_ADCINX:ADC12_ADCIN0~ADC12_ADCIN17,ADC12_INTVREF,ADC12_DIV4_VDD,ADC12_VSS
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_ConversionChannel_Config(ADC12_InputSet_TypeDef ADC12_ADCINX ,
						ADC12_CV_RepeatNum_TypeDef CV_RepeatTime, ADC12_Control_TypeDef AVG_Set, U8_T SEQx)
{
    50f4:	14d4      	push      	r4-r7, r15
    50f6:	1421      	subi      	r14, r14, 4
    50f8:	b840      	st.w      	r2, (r14, 0x0)
    50fa:	6d43      	mov      	r5, r0
	U8_T i;
	for(i=0;i<15;i++)
	{
		ADC0->SEQ[i] &=~(0x01<<7);
    50fc:	125b      	lrw      	r2, 0x20000050	// 5268 <ADC12_ConversionChannel_Config+0x174>
    50fe:	92c0      	ld.w      	r6, (r2, 0x0)
    5100:	3200      	movi      	r2, 0
    5102:	4202      	lsli      	r0, r2, 2
    5104:	6018      	addu      	r0, r6
    5106:	908c      	ld.w      	r4, (r0, 0x30)
    5108:	2200      	addi      	r2, 1
    510a:	3c87      	bclri      	r4, 7
	for(i=0;i<15;i++)
    510c:	3a4f      	cmpnei      	r2, 15
		ADC0->SEQ[i] &=~(0x01<<7);
    510e:	b08c      	st.w      	r4, (r0, 0x30)
	for(i=0;i<15;i++)
    5110:	0bf9      	bt      	0x5102	// 5102 <ADC12_ConversionChannel_Config+0xe>
	}
	switch(ADC12_ADCINX)
    5112:	3d0f      	cmphsi      	r5, 16
    5114:	0825      	bt      	0x515e	// 515e <ADC12_ConversionChannel_Config+0x6a>
    5116:	6c17      	mov      	r0, r5
    5118:	1255      	lrw      	r2, 0x2000004c	// 526c <ADC12_ConversionChannel_Config+0x178>
    511a:	1296      	lrw      	r4, 0x20000048	// 5270 <ADC12_ConversionChannel_Config+0x17c>
    511c:	e3fff1f0 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    5120:	322c1408 	.long	0x322c1408
    5124:	4d474039 	.long	0x4d474039
    5128:	756d6559 	.long	0x756d6559
    512c:	9990877e 	.long	0x9990877e
	{
		case 0:	
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC0 PB0.1
    5130:	9240      	ld.w      	r2, (r2, 0x0)
    5132:	9200      	ld.w      	r0, (r2, 0x0)
    5134:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    5136:	9201      	ld.w      	r0, (r2, 0x4)
    5138:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F)  | 0x00000010;			
    513a:	9400      	ld.w      	r0, (r4, 0x0)
    513c:	9040      	ld.w      	r2, (r0, 0x0)
    513e:	34f0      	movi      	r4, 240
    5140:	6891      	andn      	r2, r4
    5142:	3aa4      	bseti      	r2, 4
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
			break;
		case 15:
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    5144:	b040      	st.w      	r2, (r0, 0x0)
			break;
    5146:	040c      	br      	0x515e	// 515e <ADC12_ConversionChannel_Config+0x6a>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0)  | 0x00000001;							//ADC1 PA0.0
    5148:	9200      	ld.w      	r0, (r2, 0x0)
    514a:	9040      	ld.w      	r2, (r0, 0x0)
    514c:	370f      	movi      	r7, 15
    514e:	689d      	andn      	r2, r7
    5150:	3aa0      	bseti      	r2, 0
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    5152:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    5154:	9041      	ld.w      	r2, (r0, 0x4)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    5156:	b041      	st.w      	r2, (r0, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFFF)  | 0x00000000;		
    5158:	9440      	ld.w      	r2, (r4, 0x0)
    515a:	9200      	ld.w      	r0, (r2, 0x0)
    515c:	b200      	st.w      	r0, (r2, 0x0)
    515e:	4362      	lsli      	r3, r3, 2
    5160:	618c      	addu      	r6, r3
		//case 27: break;
		case 0x1Cul: break;
		case 0x1Dul: break;
		case 0x1Eul: break;
	}
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] & 0;
    5162:	966c      	ld.w      	r3, (r6, 0x30)
    5164:	3300      	movi      	r3, 0
    5166:	b66c      	st.w      	r3, (r6, 0x30)
	ADC0->SEQ[SEQx] = ADC0->SEQ[SEQx] | ADC12_ADCINX  | CV_RepeatTime | AVG_Set;
    5168:	9860      	ld.w      	r3, (r14, 0x0)
    516a:	6c4c      	or      	r1, r3
    516c:	964c      	ld.w      	r2, (r6, 0x30)
    516e:	6d44      	or      	r5, r1
    5170:	6d48      	or      	r5, r2
    5172:	b6ac      	st.w      	r5, (r6, 0x30)
}
    5174:	1401      	addi      	r14, r14, 4
    5176:	1494      	pop      	r4-r7, r15
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F)  | 0x00000010;							//ADC2 PA0.1
    5178:	9200      	ld.w      	r0, (r2, 0x0)
    517a:	9040      	ld.w      	r2, (r0, 0x0)
    517c:	37f0      	movi      	r7, 240
    517e:	689d      	andn      	r2, r7
    5180:	3aa4      	bseti      	r2, 4
    5182:	07e8      	br      	0x5152	// 5152 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF)  | 0x00001000;							//ADC3 PA0.3
    5184:	9200      	ld.w      	r0, (r2, 0x0)
    5186:	37f0      	movi      	r7, 240
    5188:	9040      	ld.w      	r2, (r0, 0x0)
    518a:	47e8      	lsli      	r7, r7, 8
    518c:	689d      	andn      	r2, r7
    518e:	3aac      	bseti      	r2, 12
    5190:	07e1      	br      	0x5152	// 5152 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF)  | 0x00100000;							//ADC4 PA0.5
    5192:	9200      	ld.w      	r0, (r2, 0x0)
    5194:	37f0      	movi      	r7, 240
    5196:	9040      	ld.w      	r2, (r0, 0x0)
    5198:	47f0      	lsli      	r7, r7, 16
    519a:	689d      	andn      	r2, r7
    519c:	3ab4      	bseti      	r2, 20
    519e:	07da      	br      	0x5152	// 5152 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF)  | 0x01000000;							//ADC5 PA0.6
    51a0:	9200      	ld.w      	r0, (r2, 0x0)
    51a2:	37f0      	movi      	r7, 240
    51a4:	9040      	ld.w      	r2, (r0, 0x0)
    51a6:	47f4      	lsli      	r7, r7, 20
    51a8:	689d      	andn      	r2, r7
    51aa:	3ab8      	bseti      	r2, 24
    51ac:	07d3      	br      	0x5152	// 5152 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF)  | 0x10000000;							//ADC6 PA0.7
    51ae:	9200      	ld.w      	r0, (r2, 0x0)
    51b0:	9040      	ld.w      	r2, (r0, 0x0)
    51b2:	4244      	lsli      	r2, r2, 4
    51b4:	4a44      	lsri      	r2, r2, 4
    51b6:	3abc      	bseti      	r2, 28
    51b8:	07cd      	br      	0x5152	// 5152 <ADC12_ConversionChannel_Config+0x5e>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC7 PB0.2
    51ba:	9240      	ld.w      	r2, (r2, 0x0)
    51bc:	9200      	ld.w      	r0, (r2, 0x0)
    51be:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    51c0:	9201      	ld.w      	r0, (r2, 0x4)
    51c2:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF)  | 0x00000100;
    51c4:	9400      	ld.w      	r0, (r4, 0x0)
    51c6:	34f0      	movi      	r4, 240
    51c8:	9040      	ld.w      	r2, (r0, 0x0)
    51ca:	4484      	lsli      	r4, r4, 4
    51cc:	6891      	andn      	r2, r4
    51ce:	3aa8      	bseti      	r2, 8
    51d0:	07ba      	br      	0x5144	// 5144 <ADC12_ConversionChannel_Config+0x50>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC8 PB0.3
    51d2:	9240      	ld.w      	r2, (r2, 0x0)
    51d4:	9200      	ld.w      	r0, (r2, 0x0)
    51d6:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    51d8:	9201      	ld.w      	r0, (r2, 0x4)
    51da:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF)  | 0x00001000;
    51dc:	9400      	ld.w      	r0, (r4, 0x0)
    51de:	34f0      	movi      	r4, 240
    51e0:	9040      	ld.w      	r2, (r0, 0x0)
    51e2:	4488      	lsli      	r4, r4, 8
    51e4:	6891      	andn      	r2, r4
    51e6:	3aac      	bseti      	r2, 12
    51e8:	07ae      	br      	0x5144	// 5144 <ADC12_ConversionChannel_Config+0x50>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC9 PA0.8
    51ea:	9200      	ld.w      	r0, (r2, 0x0)
    51ec:	9040      	ld.w      	r2, (r0, 0x0)
    51ee:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0)  | 0x00000001;	
    51f0:	9041      	ld.w      	r2, (r0, 0x4)
    51f2:	370f      	movi      	r7, 15
    51f4:	689d      	andn      	r2, r7
    51f6:	3aa0      	bseti      	r2, 0
    51f8:	07af      	br      	0x5156	// 5156 <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC10 PA0.9
    51fa:	9200      	ld.w      	r0, (r2, 0x0)
    51fc:	9040      	ld.w      	r2, (r0, 0x0)
    51fe:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F)  | 0x00000010;	
    5200:	9041      	ld.w      	r2, (r0, 0x4)
    5202:	37f0      	movi      	r7, 240
    5204:	689d      	andn      	r2, r7
    5206:	3aa4      	bseti      	r2, 4
    5208:	07a7      	br      	0x5156	// 5156 <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC11 PA0.10
    520a:	9200      	ld.w      	r0, (r2, 0x0)
    520c:	9040      	ld.w      	r2, (r0, 0x0)
    520e:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF)  | 0x00000100;	
    5210:	37f0      	movi      	r7, 240
    5212:	9041      	ld.w      	r2, (r0, 0x4)
    5214:	47e4      	lsli      	r7, r7, 4
    5216:	689d      	andn      	r2, r7
    5218:	3aa8      	bseti      	r2, 8
    521a:	079e      	br      	0x5156	// 5156 <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC12 PA0.11
    521c:	9200      	ld.w      	r0, (r2, 0x0)
    521e:	9040      	ld.w      	r2, (r0, 0x0)
    5220:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF)  | 0x00001000;	
    5222:	37f0      	movi      	r7, 240
    5224:	9041      	ld.w      	r2, (r0, 0x4)
    5226:	47e8      	lsli      	r7, r7, 8
    5228:	689d      	andn      	r2, r7
    522a:	3aac      	bseti      	r2, 12
    522c:	0795      	br      	0x5156	// 5156 <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC13 PA0.12
    522e:	9200      	ld.w      	r0, (r2, 0x0)
    5230:	9040      	ld.w      	r2, (r0, 0x0)
    5232:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF)  | 0x00010000;	
    5234:	37f0      	movi      	r7, 240
    5236:	9041      	ld.w      	r2, (r0, 0x4)
    5238:	47ec      	lsli      	r7, r7, 12
    523a:	689d      	andn      	r2, r7
    523c:	3ab0      	bseti      	r2, 16
    523e:	078c      	br      	0x5156	// 5156 <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC14 PA0.13	
    5240:	9200      	ld.w      	r0, (r2, 0x0)
    5242:	9040      	ld.w      	r2, (r0, 0x0)
    5244:	b040      	st.w      	r2, (r0, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF)  | 0x00100000;	
    5246:	37f0      	movi      	r7, 240
    5248:	9041      	ld.w      	r2, (r0, 0x4)
    524a:	47f0      	lsli      	r7, r7, 16
    524c:	689d      	andn      	r2, r7
    524e:	3ab4      	bseti      	r2, 20
    5250:	0783      	br      	0x5156	// 5156 <ADC12_ConversionChannel_Config+0x62>
			GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFFF)  | 0x00000000;							//ADC15 PB0.0
    5252:	9240      	ld.w      	r2, (r2, 0x0)
    5254:	9200      	ld.w      	r0, (r2, 0x0)
    5256:	b200      	st.w      	r0, (r2, 0x0)
			GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFFF)  | 0x00000000;	
    5258:	9201      	ld.w      	r0, (r2, 0x4)
    525a:	b201      	st.w      	r0, (r2, 0x4)
			GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0)  | 0x00000001;		
    525c:	9400      	ld.w      	r0, (r4, 0x0)
    525e:	9040      	ld.w      	r2, (r0, 0x0)
    5260:	340f      	movi      	r4, 15
    5262:	6891      	andn      	r2, r4
    5264:	3aa0      	bseti      	r2, 0
    5266:	076f      	br      	0x5144	// 5144 <ADC12_ConversionChannel_Config+0x50>
    5268:	20000050 	.long	0x20000050
    526c:	2000004c 	.long	0x2000004c
    5270:	20000048 	.long	0x20000048

Disassembly of section .text.Page_ProgramData:

00005274 <Page_ProgramData>:
		IFC->CR=0X01;					//Start Program
	}
}
//Normal mode, when the call is completed once, it will delay 4.2ms in the program
void Page_ProgramData(unsigned int FlashAdd,unsigned int DataSize,volatile unsigned char *BufArry)
{
    5274:	14c4      	push      	r4-r7
    5276:	1422      	subi      	r14, r14, 8
	int i,DataBuffer;

	//Page cache wipe 1
	SetUserKey;
    5278:	1165      	lrw      	r3, 0x20000060	// 530c <Page_ProgramData+0x98>
    527a:	1186      	lrw      	r4, 0x5a5a5a5a	// 5310 <Page_ProgramData+0x9c>
    527c:	9360      	ld.w      	r3, (r3, 0x0)
    527e:	b388      	st.w      	r4, (r3, 0x20)
	IFC->CMR=0x07;					
    5280:	3407      	movi      	r4, 7
    5282:	b383      	st.w      	r4, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    5284:	3401      	movi      	r4, 1
	IFC->FM_ADDR=FlashAdd;
    5286:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    5288:	b384      	st.w      	r4, (r3, 0x10)
	while(IFC->CR!=0x0);			//Wait for the operation to complete
    528a:	9384      	ld.w      	r4, (r3, 0x10)
    528c:	3c40      	cmpnei      	r4, 0
    528e:	0bfe      	bt      	0x528a	// 528a <Page_ProgramData+0x16>
	//Write data to the cache 2
	for(i=0;i<((DataSize+3)/4);i++)   //sizeof structure
    5290:	2102      	addi      	r1, 3
    5292:	4922      	lsri      	r1, r1, 2
    5294:	4122      	lsli      	r1, r1, 2
    5296:	6048      	addu      	r1, r2
    5298:	b820      	st.w      	r1, (r14, 0x0)
    529a:	5829      	subu      	r1, r0, r2
    529c:	b821      	st.w      	r1, (r14, 0x4)
    529e:	9820      	ld.w      	r1, (r14, 0x0)
    52a0:	644a      	cmpne      	r2, r1
    52a2:	0826      	bt      	0x52ee	// 52ee <Page_ProgramData+0x7a>
		*(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer;
		BufArry  +=4;
	}
	//Pre-programmed operation settings 3
	SetUserKey;
	IFC->CMR=0x06;					
    52a4:	3106      	movi      	r1, 6
	SetUserKey;
    52a6:	105b      	lrw      	r2, 0x5a5a5a5a	// 5310 <Page_ProgramData+0x9c>
    52a8:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x06;					
    52aa:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;
	IFC->CR=0X01;					//Start Program
    52ac:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;
    52ae:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    52b0:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->CR!=0x0);			//Wait for the operation to complete
    52b2:	9324      	ld.w      	r1, (r3, 0x10)
    52b4:	3940      	cmpnei      	r1, 0
    52b6:	0bfe      	bt      	0x52b2	// 52b2 <Page_ProgramData+0x3e>
	//Perform pre-programming 4
	SetUserKey;
    52b8:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					
    52ba:	3201      	movi      	r2, 1
    52bc:	b343      	st.w      	r2, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
    52be:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    52c0:	b344      	st.w      	r2, (r3, 0x10)
	while(IFC->RISR!=PEP_END_INT);			//Wait for the operation to complete
    52c2:	934a      	ld.w      	r2, (r3, 0x28)
    52c4:	3a44      	cmpnei      	r2, 4
    52c6:	0bfe      	bt      	0x52c2	// 52c2 <Page_ProgramData+0x4e>
	//Page erase 5
	SetUserKey;
	IFC->CMR=0x02;					
    52c8:	3102      	movi      	r1, 2
	SetUserKey;
    52ca:	1052      	lrw      	r2, 0x5a5a5a5a	// 5310 <Page_ProgramData+0x9c>
    52cc:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x02;					
    52ce:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;			//
	IFC->CR=0X01;					//Start Program
    52d0:	3101      	movi      	r1, 1
	IFC->FM_ADDR=FlashAdd;			//
    52d2:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    52d4:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=ERS_END_INT);			//Wait for the operation to complete
    52d6:	932a      	ld.w      	r1, (r3, 0x28)
    52d8:	3941      	cmpnei      	r1, 1
    52da:	0bfe      	bt      	0x52d6	// 52d6 <Page_ProgramData+0x62>
	//Write page cache data to flash memory 6
	SetUserKey;
    52dc:	b348      	st.w      	r2, (r3, 0x20)
	IFC->CMR=0x01;					
    52de:	b323      	st.w      	r1, (r3, 0xc)
	IFC->FM_ADDR=FlashAdd;		//
    52e0:	b306      	st.w      	r0, (r3, 0x18)
	IFC->CR=0X01;					//Start Program
    52e2:	b324      	st.w      	r1, (r3, 0x10)
	while(IFC->RISR!=RGM_END_INT);			//Wait for the operation to complete
    52e4:	934a      	ld.w      	r2, (r3, 0x28)
    52e6:	3a42      	cmpnei      	r2, 2
    52e8:	0bfe      	bt      	0x52e4	// 52e4 <Page_ProgramData+0x70>
}
    52ea:	1402      	addi      	r14, r14, 8
    52ec:	1484      	pop      	r4-r7
		DataBuffer=*BufArry+(*(BufArry+1)<<8)+(*(BufArry+2)<<16)+(*(BufArry+3)<<24);
    52ee:	82e0      	ld.b      	r7, (r2, 0x0)
    52f0:	8281      	ld.b      	r4, (r2, 0x1)
    52f2:	4488      	lsli      	r4, r4, 8
    52f4:	8222      	ld.b      	r1, (r2, 0x2)
    52f6:	611c      	addu      	r4, r7
    52f8:	82a3      	ld.b      	r5, (r2, 0x3)
    52fa:	4130      	lsli      	r1, r1, 16
    52fc:	98c1      	ld.w      	r6, (r14, 0x4)
    52fe:	6050      	addu      	r1, r4
    5300:	45b8      	lsli      	r5, r5, 24
    5302:	6188      	addu      	r6, r2
    5304:	6054      	addu      	r1, r5
		*(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer;
    5306:	b620      	st.w      	r1, (r6, 0x0)
		BufArry  +=4;
    5308:	2203      	addi      	r2, 4
    530a:	07ca      	br      	0x529e	// 529e <Page_ProgramData+0x2a>
    530c:	20000060 	.long	0x20000060
    5310:	5a5a5a5a 	.long	0x5a5a5a5a

Disassembly of section .text.ReadDataArry_U8:

00005314 <ReadDataArry_U8>:
//ReadFlashData fuction return Data arry save in Flash
//EntryParameter:RdStartAdd、DataLength、*DataArryPoint
//ReturnValue:NONE
*************************************************************/
void ReadDataArry_U8(unsigned int RdStartAdd,unsigned int DataLength,volatile unsigned char *DataArryPoint)
{
    5314:	14c3      	push      	r4-r6
	unsigned int i;
	for (i=0;i<DataLength;i++)
    5316:	3300      	movi      	r3, 0
	{
		if((i!=0)&&(i%4==0))
    5318:	3503      	movi      	r5, 3
	for (i=0;i<DataLength;i++)
    531a:	644e      	cmpne      	r3, r1
    531c:	5acc      	addu      	r6, r2, r3
    531e:	0802      	bt      	0x5322	// 5322 <ReadDataArry_U8+0xe>
			RdStartAdd +=4;
		}	
		*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
		DataArryPoint++;
	}
}
    5320:	1483      	pop      	r4-r6
		if((i!=0)&&(i%4==0))
    5322:	3b40      	cmpnei      	r3, 0
    5324:	0c06      	bf      	0x5330	// 5330 <ReadDataArry_U8+0x1c>
    5326:	6d0f      	mov      	r4, r3
    5328:	6914      	and      	r4, r5
    532a:	3c40      	cmpnei      	r4, 0
    532c:	0802      	bt      	0x5330	// 5330 <ReadDataArry_U8+0x1c>
			RdStartAdd +=4;
    532e:	2003      	addi      	r0, 4
		*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
    5330:	6d0f      	mov      	r4, r3
    5332:	6914      	and      	r4, r5
    5334:	6100      	addu      	r4, r0
    5336:	8480      	ld.b      	r4, (r4, 0x0)
    5338:	a680      	st.b      	r4, (r6, 0x0)
	for (i=0;i<DataLength;i++)
    533a:	2300      	addi      	r3, 1
    533c:	07ef      	br      	0x531a	// 531a <ReadDataArry_U8+0x6>

Disassembly of section .text.tk_parameter_init:

00005340 <tk_parameter_init>:
{
/****************************************************
//TK parameter define
*****************************************************/
//	TK_IO_ENABLE=0x3E00;				
	TK_IO_ENABLE = TCH_EN(9)| TCH_EN(10)| TCH_EN(11)| TCH_EN(12) | TCH_EN(13);
    5340:	33f8      	movi      	r3, 248
    5342:	4366      	lsli      	r3, r3, 6
    5344:	115b      	lrw      	r2, 0x20000268	// 5430 <tk_parameter_init+0xf0>
    5346:	b260      	st.w      	r3, (r2, 0x0)
//	TK_BaseCnt=59999;								//10ms  TK_BaseCnt=10ms*48M/8-1,this register need to modify when mcu's Freq changed
	
	
	
	
	TK_senprd[0]=70;								//TCH0 scan period = TCH0 sens
    5348:	3246      	movi      	r2, 70
    534a:	117b      	lrw      	r3, 0x2000026e	// 5434 <tk_parameter_init+0xf4>
	TK_senprd[3]=70;								//TCH3 scan period = TCH3 sens
	TK_senprd[4]=70;								//TCH4 scan period = TCH4 sens
	TK_senprd[5]=70;								//TCH5 scan period = TCH5 sens
	TK_senprd[6]=70;								//TCH6 scan period = TCH6 sens
	TK_senprd[7]=70;								//TCH7 scan period = TCH7 sens
	TK_senprd[8]=70;								//TCH8 scan period = TCH8 sens
    534c:	ab48      	st.h      	r2, (r3, 0x10)
	TK_senprd[0]=70;								//TCH0 scan period = TCH0 sens
    534e:	ab40      	st.h      	r2, (r3, 0x0)
	TK_senprd[1]=70;								//TCH1 scan period = TCH1 sens
    5350:	ab41      	st.h      	r2, (r3, 0x2)
	TK_senprd[2]=70;								//TCH2 scan period = TCH2 sens
    5352:	ab42      	st.h      	r2, (r3, 0x4)
	TK_senprd[3]=70;								//TCH3 scan period = TCH3 sens
    5354:	ab43      	st.h      	r2, (r3, 0x6)
	TK_senprd[4]=70;								//TCH4 scan period = TCH4 sens
    5356:	ab44      	st.h      	r2, (r3, 0x8)
	TK_senprd[5]=70;								//TCH5 scan period = TCH5 sens
    5358:	ab45      	st.h      	r2, (r3, 0xa)
	TK_senprd[6]=70;								//TCH6 scan period = TCH6 sens
    535a:	ab46      	st.h      	r2, (r3, 0xc)
	TK_senprd[7]=70;								//TCH7 scan period = TCH7 sens
    535c:	ab47      	st.h      	r2, (r3, 0xe)
	TK_senprd[9]=touch_para.senprd[0];				//TCH9 scan period = TCH9 sens
    535e:	1157      	lrw      	r2, 0x200004d4	// 5438 <tk_parameter_init+0xf8>
    5360:	8a22      	ld.h      	r1, (r2, 0x4)
    5362:	ab29      	st.h      	r1, (r3, 0x12)
	TK_senprd[10]=touch_para.senprd[1];				//TCH10 scan period = TCH10 sens
    5364:	8a23      	ld.h      	r1, (r2, 0x6)
    5366:	ab2a      	st.h      	r1, (r3, 0x14)
	TK_senprd[11]=touch_para.senprd[2];				//TCH11 scan period = TCH11 sens
    5368:	8a24      	ld.h      	r1, (r2, 0x8)
    536a:	ab2b      	st.h      	r1, (r3, 0x16)
	TK_senprd[12]=touch_para.senprd[3];				//TCH12 scan period = TCH12 sens
    536c:	8a25      	ld.h      	r1, (r2, 0xa)
    536e:	ab2c      	st.h      	r1, (r3, 0x18)
	TK_senprd[13]=touch_para.senprd[4];				//TCH13 scan period = TCH13 sens
    5370:	8a26      	ld.h      	r1, (r2, 0xc)
    5372:	ab2d      	st.h      	r1, (r3, 0x1a)
	TK_senprd[14]=70;								//TCH14 scan period = TCH14 sens
    5374:	3146      	movi      	r1, 70
    5376:	ab2e      	st.h      	r1, (r3, 0x1c)
	TK_senprd[15]=70;								//TCH15 scan period = TCH15 sens
    5378:	ab2f      	st.h      	r1, (r3, 0x1e)
	TK_senprd[16]=70;								//TCH16 scan period = TCH16 sens
    537a:	ab30      	st.h      	r1, (r3, 0x20)
	TK_Triggerlevel[0]=40;							//TCH0 TK_Trigger level
    537c:	3128      	movi      	r1, 40
    537e:	1170      	lrw      	r3, 0x20000292	// 543c <tk_parameter_init+0xfc>
	TK_Triggerlevel[3]=40;							//TCH3 TK_Trigger level
	TK_Triggerlevel[4]=40;							//TCH4 TK_Trigger level
	TK_Triggerlevel[5]=40;							//TCH5 TK_Trigger level
	TK_Triggerlevel[6]=40;							//TCH6 TK_Trigger level
	TK_Triggerlevel[7]=40;							//TCH7 TK_Trigger level
	TK_Triggerlevel[8]=40;							//TCH8 TK_Trigger level
    5380:	ab28      	st.h      	r1, (r3, 0x10)
	TK_Triggerlevel[0]=40;							//TCH0 TK_Trigger level
    5382:	ab20      	st.h      	r1, (r3, 0x0)
	TK_Triggerlevel[1]=40;							//TCH1 TK_Trigger level
    5384:	ab21      	st.h      	r1, (r3, 0x2)
	TK_Triggerlevel[2]=40;							//TCH2 TK_Trigger level
    5386:	ab22      	st.h      	r1, (r3, 0x4)
	TK_Triggerlevel[3]=40;							//TCH3 TK_Trigger level
    5388:	ab23      	st.h      	r1, (r3, 0x6)
	TK_Triggerlevel[4]=40;							//TCH4 TK_Trigger level
    538a:	ab24      	st.h      	r1, (r3, 0x8)
	TK_Triggerlevel[5]=40;							//TCH5 TK_Trigger level
    538c:	ab25      	st.h      	r1, (r3, 0xa)
	TK_Triggerlevel[6]=40;							//TCH6 TK_Trigger level
    538e:	ab26      	st.h      	r1, (r3, 0xc)
	TK_Triggerlevel[7]=40;							//TCH7 TK_Trigger level
    5390:	ab27      	st.h      	r1, (r3, 0xe)
	TK_Triggerlevel[9]=touch_para.triggerlevel[0];	//TCH9 TK_Trigger level
    5392:	8a27      	ld.h      	r1, (r2, 0xe)
    5394:	ab29      	st.h      	r1, (r3, 0x12)
	TK_Triggerlevel[10]=touch_para.triggerlevel[1];	//TCH10 TK_Trigger level
    5396:	8a28      	ld.h      	r1, (r2, 0x10)
    5398:	ab2a      	st.h      	r1, (r3, 0x14)
	TK_Triggerlevel[11]=touch_para.triggerlevel[2];	//TCH11 TK_Trigger level
    539a:	8a29      	ld.h      	r1, (r2, 0x12)
    539c:	ab2b      	st.h      	r1, (r3, 0x16)
	TK_Triggerlevel[12]=touch_para.triggerlevel[3];	//TCH12 TK_Trigger level
    539e:	8a2a      	ld.h      	r1, (r2, 0x14)
    53a0:	ab2c      	st.h      	r1, (r3, 0x18)
	TK_Triggerlevel[13]=touch_para.triggerlevel[4];	//TCH13 TK_Trigger level
    53a2:	8a2b      	ld.h      	r1, (r2, 0x16)
    53a4:	ab2d      	st.h      	r1, (r3, 0x1a)
	TK_Triggerlevel[14]=40;							//TCH14 TK_Trigger level
    53a6:	3128      	movi      	r1, 40
    53a8:	ab2e      	st.h      	r1, (r3, 0x1c)
	TK_Triggerlevel[15]=40;							//TCH15 TK_Trigger level
    53aa:	ab2f      	st.h      	r1, (r3, 0x1e)
	TK_Triggerlevel[16]=40;							//TCH16 TK_Trigger level
    53ac:	ab30      	st.h      	r1, (r3, 0x20)
	Press_debounce_data=touch_para.press_debounce;	//Press debounce 1~10
    53ae:	8220      	ld.b      	r1, (r2, 0x0)
    53b0:	1164      	lrw      	r3, 0x20000238	// 5440 <tk_parameter_init+0x100>
    53b2:	a320      	st.b      	r1, (r3, 0x0)
	Release_debounce_data=touch_para.release_debounce;//Release debounce 1~10
    53b4:	8221      	ld.b      	r1, (r2, 0x1)
    53b6:	1164      	lrw      	r3, 0x20000240	// 5444 <tk_parameter_init+0x104>
    53b8:	a320      	st.b      	r1, (r3, 0x0)
	Key_mode=1;										//Key mode 0=single key 1=multi key
    53ba:	3101      	movi      	r1, 1
    53bc:	1163      	lrw      	r3, 0x20000241	// 5448 <tk_parameter_init+0x108>
    53be:	a320      	st.b      	r1, (r3, 0x0)
//	MultiTimes_Filter=touch_para.multiTimes_filt;	//MultiTimes Filter,>4 ENABLE <4 DISABLE
	MultiTimes_Filter=0;
    53c0:	3100      	movi      	r1, 0
    53c2:	1163      	lrw      	r3, 0x20000264	// 544c <tk_parameter_init+0x10c>
    53c4:	a320      	st.b      	r1, (r3, 0x0)
	Valid_Key_Num=6;								//Valid Key number when touched
    53c6:	3106      	movi      	r1, 6
    53c8:	1162      	lrw      	r3, 0x2000026c	// 5450 <tk_parameter_init+0x110>
    53ca:	a320      	st.b      	r1, (r3, 0x0)
	Base_Speed=touch_para.base_speed;				//baseline update speed
    53cc:	8223      	ld.b      	r1, (r2, 0x3)
    53ce:	1162      	lrw      	r3, 0x20000265	// 5454 <tk_parameter_init+0x114>
    53d0:	a320      	st.b      	r1, (r3, 0x0)
	TK_longpress_time=touch_para.longpress_time;	//longpress rebuild time = _TK_longpress_time1*1s  0=disable
    53d2:	9246      	ld.w      	r2, (r2, 0x18)
    53d4:	1161      	lrw      	r3, 0x2000023c	// 5458 <tk_parameter_init+0x118>
    53d6:	b340      	st.w      	r2, (r3, 0x0)
	TK_BaseCnt=59999;								//10ms  TK_BaseCnt=10ms*48M/8-1,this register need to modify when mcu's Freq changed
    53d8:	1141      	lrw      	r2, 0xea5f	// 545c <tk_parameter_init+0x11c>
    53da:	1162      	lrw      	r3, 0x200002b8	// 5460 <tk_parameter_init+0x120>
    53dc:	b340      	st.w      	r2, (r3, 0x0)
	
	
/****************************************************
//TK low power function define
*****************************************************/
	TK_Lowpower_mode=DISABLE;						//touch key can goto sleep when TK lowpower mode enable
    53de:	3200      	movi      	r2, 0
    53e0:	1161      	lrw      	r3, 0x20000239	// 5464 <tk_parameter_init+0x124>
    53e2:	a340      	st.b      	r2, (r3, 0x0)
	TK_Lowpower_level=2;							//0=20ms 1=50ms 2=100ms 3=150ms 4=200ms,Scan interval when sleep
    53e4:	3202      	movi      	r2, 2
    53e6:	1161      	lrw      	r3, 0x2000023a	// 5468 <tk_parameter_init+0x128>
    53e8:	a340      	st.b      	r2, (r3, 0x0)
	TK_Wakeup_level=50;								//touch key Trigger level in sleep
    53ea:	3232      	movi      	r2, 50
    53ec:	1160      	lrw      	r3, 0x20000290	// 546c <tk_parameter_init+0x12c>
    53ee:	a340      	st.b      	r2, (r3, 0x0)
/****************************************************
//TK special parameter define
*****************************************************/
	TK_PSEL_MODE=TK_PSEL_FVR;						//tk power sel:TK_PSEL_FVR/TK_PSEL_AVDD   when select TK_PSEL_FVR PA0.2(TCH3) need a 104 cap
    53f0:	3200      	movi      	r2, 0
    53f2:	1160      	lrw      	r3, 0x200002bc	// 5470 <tk_parameter_init+0x130>
    53f4:	ab40      	st.h      	r2, (r3, 0x0)
	TK_FVR_LEVEL=TK_FVR_4096V;						//FVR level:TK_FVR_2048V/TK_FVR_4096V
    53f6:	3201      	movi      	r2, 1
    53f8:	107f      	lrw      	r3, 0x200002b6	// 5474 <tk_parameter_init+0x134>
    53fa:	ab40      	st.h      	r2, (r3, 0x0)
	TK_EC_LEVEL=TK_EC_3_6V;							//C0 voltage sel:TK_EC_1V/TK_EC_2V/TK_EC_3V/TK_EC_3_6V
    53fc:	3203      	movi      	r2, 3
    53fe:	107f      	lrw      	r3, 0x200002b4	// 5478 <tk_parameter_init+0x138>
    5400:	ab40      	st.h      	r2, (r3, 0x0)
	TK_icon[0]=4;									//TCH0 TK Scan icon range 0~7
    5402:	3204      	movi      	r2, 4
    5404:	107e      	lrw      	r3, 0x20000242	// 547c <tk_parameter_init+0x13c>
    5406:	ab40      	st.h      	r2, (r3, 0x0)
	TK_icon[1]=4;									//TCH1 TK Scan icon range 0~7
    5408:	ab41      	st.h      	r2, (r3, 0x2)
	TK_icon[2]=4;									//TCH2 TK Scan icon range 0~7
    540a:	ab42      	st.h      	r2, (r3, 0x4)
	TK_icon[3]=4;									//TCH3 TK Scan icon range 0~7
    540c:	ab43      	st.h      	r2, (r3, 0x6)
	TK_icon[4]=4;									//TCH4 TK Scan icon range 0~7
    540e:	ab44      	st.h      	r2, (r3, 0x8)
	TK_icon[5]=4;									//TCH5 TK Scan icon range 0~7
    5410:	ab45      	st.h      	r2, (r3, 0xa)
	TK_icon[6]=4;									//TCH6 TK Scan icon range 0~7
    5412:	ab46      	st.h      	r2, (r3, 0xc)
	TK_icon[7]=4;									//TCH7 TK Scan icon range 0~7
    5414:	ab47      	st.h      	r2, (r3, 0xe)
	TK_icon[8]=4;									//TCH8 TK Scan icon range 0~7
    5416:	ab48      	st.h      	r2, (r3, 0x10)
	TK_icon[9]=7;									//TCH9 TK Scan icon range 0~7
    5418:	3207      	movi      	r2, 7
    541a:	ab49      	st.h      	r2, (r3, 0x12)
	TK_icon[10]=7;									//TCH10 TK Scan icon range 0~7
    541c:	ab4a      	st.h      	r2, (r3, 0x14)
	TK_icon[11]=7;									//TCH11 TK Scan icon range 0~7
    541e:	ab4b      	st.h      	r2, (r3, 0x16)
	TK_icon[12]=7;									//TCH12 TK Scan icon range 0~7
    5420:	ab4c      	st.h      	r2, (r3, 0x18)
	TK_icon[13]=7;									//TCH13 TK Scan icon range 0~7
    5422:	ab4d      	st.h      	r2, (r3, 0x1a)
	TK_icon[14]=4;									//TCH14 TK Scan icon range 0~7
    5424:	3204      	movi      	r2, 4
    5426:	ab4e      	st.h      	r2, (r3, 0x1c)
	TK_icon[15]=4;									//TCH15 TK Scan icon range 0~7
    5428:	ab4f      	st.h      	r2, (r3, 0x1e)
	TK_icon[16]=4;									//TCH16 TK Scan icon range 0~7
    542a:	ab50      	st.h      	r2, (r3, 0x20)
    542c:	783c      	jmp      	r15
    542e:	0000      	bkpt
    5430:	20000268 	.long	0x20000268
    5434:	2000026e 	.long	0x2000026e
    5438:	200004d4 	.long	0x200004d4
    543c:	20000292 	.long	0x20000292
    5440:	20000238 	.long	0x20000238
    5444:	20000240 	.long	0x20000240
    5448:	20000241 	.long	0x20000241
    544c:	20000264 	.long	0x20000264
    5450:	2000026c 	.long	0x2000026c
    5454:	20000265 	.long	0x20000265
    5458:	2000023c 	.long	0x2000023c
    545c:	0000ea5f 	.long	0x0000ea5f
    5460:	200002b8 	.long	0x200002b8
    5464:	20000239 	.long	0x20000239
    5468:	2000023a 	.long	0x2000023a
    546c:	20000290 	.long	0x20000290
    5470:	200002bc 	.long	0x200002bc
    5474:	200002b6 	.long	0x200002b6
    5478:	200002b4 	.long	0x200002b4
    547c:	20000242 	.long	0x20000242

Disassembly of section .text.CORET_DeInit:

00005480 <CORET_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void CORET_DeInit(void)
{
	CK801->CORET_CSR=CORET_CSR_RST;
    5480:	1065      	lrw      	r3, 0x20000064	// 5494 <CORET_DeInit+0x14>
    5482:	3204      	movi      	r2, 4
    5484:	9360      	ld.w      	r3, (r3, 0x0)
    5486:	b344      	st.w      	r2, (r3, 0x10)
	CK801->CORET_RVR=CORET_RVR_RST;
    5488:	3200      	movi      	r2, 0
    548a:	b345      	st.w      	r2, (r3, 0x14)
	CK801->CORET_CVR=CORET_CVR_RST;
    548c:	b346      	st.w      	r2, (r3, 0x18)
	CK801->CORET_CALIB=CORET_CALIB_RST;
    548e:	b347      	st.w      	r2, (r3, 0x1c)
}
    5490:	783c      	jmp      	r15
    5492:	0000      	bkpt
    5494:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_Int_Enable:

00005498 <CORET_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_Int_Enable(void)
{
    CK801->CORET_CVR = 0x0;							// Clear counter and flag
    5498:	1064      	lrw      	r3, 0x20000064	// 54a8 <CORET_Int_Enable+0x10>
    549a:	3200      	movi      	r2, 0
    549c:	9360      	ld.w      	r3, (r3, 0x0)
    549e:	b346      	st.w      	r2, (r3, 0x18)
	INTC_ISER_WRITE(CORET_INT);    
    54a0:	3201      	movi      	r2, 1
    54a2:	1063      	lrw      	r3, 0xe000e100	// 54ac <CORET_Int_Enable+0x14>
    54a4:	b340      	st.w      	r2, (r3, 0x0)
}
    54a6:	783c      	jmp      	r15
    54a8:	20000064 	.long	0x20000064
    54ac:	e000e100 	.long	0xe000e100

Disassembly of section .text.CORET_start:

000054b0 <CORET_start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_start(void)
{
	CK801->CORET_CSR|=0x01;
    54b0:	1063      	lrw      	r3, 0x20000064	// 54bc <CORET_start+0xc>
    54b2:	9340      	ld.w      	r2, (r3, 0x0)
    54b4:	9264      	ld.w      	r3, (r2, 0x10)
    54b6:	3ba0      	bseti      	r3, 0
    54b8:	b264      	st.w      	r3, (r2, 0x10)
}
    54ba:	783c      	jmp      	r15
    54bc:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_CLKSOURCE_EX:

000054c0 <CORET_CLKSOURCE_EX>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_CLKSOURCE_EX(void)
{
	CK801->CORET_CSR&=0Xfffffffb;
    54c0:	1063      	lrw      	r3, 0x20000064	// 54cc <CORET_CLKSOURCE_EX+0xc>
    54c2:	9340      	ld.w      	r2, (r3, 0x0)
    54c4:	9264      	ld.w      	r3, (r2, 0x10)
    54c6:	3b82      	bclri      	r3, 2
    54c8:	b264      	st.w      	r3, (r2, 0x10)
}
    54ca:	783c      	jmp      	r15
    54cc:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_TICKINT_Enable:

000054d0 <CORET_TICKINT_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_TICKINT_Enable(void)
{
    CK801->CORET_CSR|=0x02;
    54d0:	1063      	lrw      	r3, 0x20000064	// 54dc <CORET_TICKINT_Enable+0xc>
    54d2:	9340      	ld.w      	r2, (r3, 0x0)
    54d4:	9264      	ld.w      	r3, (r2, 0x10)
    54d6:	3ba1      	bseti      	r3, 1
    54d8:	b264      	st.w      	r3, (r2, 0x10)
}
    54da:	783c      	jmp      	r15
    54dc:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_reload:

000054e0 <CORET_reload>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_reload(void)
{
	CK801->CORET_CVR = 0x0;							// Clear counter and flag
    54e0:	1063      	lrw      	r3, 0x20000064	// 54ec <CORET_reload+0xc>
    54e2:	3200      	movi      	r2, 0
    54e4:	9360      	ld.w      	r3, (r3, 0x0)
    54e6:	b346      	st.w      	r2, (r3, 0x18)
}
    54e8:	783c      	jmp      	r15
    54ea:	0000      	bkpt
    54ec:	20000064 	.long	0x20000064

Disassembly of section .text.startup.main:

000054f0 <main>:
volatile unsigned int Sav_Temp = 0;
/***************************************************/
//main
/**************************************************/
int main(void) 
{
    54f0:	14d0      	push      	r15
//	delay_nms(20000);
	APT32F102_init();							//102 initial
    54f2:	e00000f9 	bsr      	0x56e4	// 56e4 <APT32F102_init>

	Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start! %d",g_eeprom.dev_addr);
    54f6:	1072      	lrw      	r3, 0x20000524	// 553c <main+0x4c>
    54f8:	8340      	ld.b      	r2, (r3, 0x0)
    54fa:	1032      	lrw      	r1, 0xcbe4	// 5540 <main+0x50>
    54fc:	3000      	movi      	r0, 0
    54fe:	e000089f 	bsr      	0x663c	// 663c <Dbg_Println>
	
	TemCtrl_Init();
    5502:	e0001cf9 	bsr      	0x8ef4	// 8ef4 <TemCtrl_Init>
	DisPlay_Init();
    5506:	e0002219 	bsr      	0x9938	// 9938 <DisPlay_Init>
	Debug_Init();
    550a:	e000249b 	bsr      	0x9e40	// 9e40 <Debug_Init>
	
    while(1)
	{
		SYSCON_IWDCNT_Reload(); 				//IWDT Clear
    550e:	e3fff7c7 	bsr      	0x449c	// 449c <SYSCON_IWDCNT_Reload>
		
		UART2_TASK();
    5512:	e000070b 	bsr      	0x6328	// 6328 <UART2_TASK>
		
		Touch_Key_Task();
    5516:	e0000adb 	bsr      	0x6acc	// 6acc <Touch_Key_Task>
		
		TemCtrl_Pro();
    551a:	e0001ea5 	bsr      	0x9264	// 9264 <TemCtrl_Pro>
		
		DisPlay_Task();
    551e:	e000221d 	bsr      	0x9958	// 9958 <DisPlay_Task>
		
		BUS485Send_Task();		
    5522:	e0000825 	bsr      	0x656c	// 656c <BUS485Send_Task>
		
		HT1621_Refresh_Task();
    5526:	e0001b91 	bsr      	0x8c48	// 8c48 <HT1621_Refresh_Task>
		
		ADC_Sample_Task();
    552a:	e0001097 	bsr      	0x7658	// 7658 <ADC_Sample_Task>
		
		Debug_Task();
    552e:	e00024fd 	bsr      	0x9f28	// 9f28 <Debug_Task>
		
		RLY_Direct_Control();
    5532:	e0002597 	bsr      	0xa060	// a060 <RLY_Direct_Control>
		
		Tm1812_Task();
    5536:	e00015cf 	bsr      	0x80d4	// 80d4 <Tm1812_Task>
    553a:	07ea      	br      	0x550e	// 550e <main+0x1e>
    553c:	20000524 	.long	0x20000524
    5540:	0000cbe4 	.long	0x0000cbe4

Disassembly of section .text.delay_nms:

00005544 <delay_nms>:
//software delay
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void delay_nms(unsigned int t)
{
    5544:	14d0      	push      	r15
    5546:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    j = 50* t;
    5548:	3232      	movi      	r2, 50
    volatile unsigned int i,j ,k=0;
    554a:	3300      	movi      	r3, 0
    j = 50* t;
    554c:	7c08      	mult      	r0, r2
    volatile unsigned int i,j ,k=0;
    554e:	b862      	st.w      	r3, (r14, 0x8)
    j = 50* t;
    5550:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    5552:	b860      	st.w      	r3, (r14, 0x0)
    5554:	9840      	ld.w      	r2, (r14, 0x0)
    5556:	9861      	ld.w      	r3, (r14, 0x4)
    5558:	64c8      	cmphs      	r2, r3
    555a:	0c03      	bf      	0x5560	// 5560 <delay_nms+0x1c>
    {
        k++;
		SYSCON_IWDCNT_Reload(); 
    }
}
    555c:	1403      	addi      	r14, r14, 12
    555e:	1490      	pop      	r15
        k++;
    5560:	9862      	ld.w      	r3, (r14, 0x8)
    5562:	2300      	addi      	r3, 1
    5564:	b862      	st.w      	r3, (r14, 0x8)
		SYSCON_IWDCNT_Reload(); 
    5566:	e3fff79b 	bsr      	0x449c	// 449c <SYSCON_IWDCNT_Reload>
    for ( i = 0; i < j; i++ )
    556a:	9860      	ld.w      	r3, (r14, 0x0)
    556c:	2300      	addi      	r3, 1
    556e:	07f2      	br      	0x5552	// 5552 <delay_nms+0xe>

Disassembly of section .text.delay_nus:

00005570 <delay_nus>:
void delay_nus(unsigned int t)
{
    5570:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    5572:	3300      	movi      	r3, 0
    5574:	b862      	st.w      	r3, (r14, 0x8)
    j = 1* t;
    5576:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    5578:	b860      	st.w      	r3, (r14, 0x0)
    557a:	9840      	ld.w      	r2, (r14, 0x0)
    557c:	9861      	ld.w      	r3, (r14, 0x4)
    557e:	64c8      	cmphs      	r2, r3
    5580:	0c03      	bf      	0x5586	// 5586 <delay_nus+0x16>
    {
        k++;
    }
}
    5582:	1403      	addi      	r14, r14, 12
    5584:	783c      	jmp      	r15
        k++;
    5586:	9862      	ld.w      	r3, (r14, 0x8)
    5588:	2300      	addi      	r3, 1
    558a:	b862      	st.w      	r3, (r14, 0x8)
    for ( i = 0; i < j; i++ )
    558c:	9860      	ld.w      	r3, (r14, 0x0)
    558e:	2300      	addi      	r3, 1
    5590:	07f4      	br      	0x5578	// 5578 <delay_nus+0x8>

Disassembly of section .text.GPIO_CONFIG:

00005594 <GPIO_CONFIG>:
//GPIO Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void GPIO_CONFIG(void)
{
    5594:	14d1      	push      	r4, r15
	//外部中断初始化,过零信号触发
	GPIO_PullHigh_Init(GPIOA0,14);							//PA0.14
    5596:	1181      	lrw      	r4, 0x2000004c	// 5618 <GPIO_CONFIG+0x84>
    5598:	310e      	movi      	r1, 14
    559a:	9400      	ld.w      	r0, (r4, 0x0)
    559c:	e3fff8e6 	bsr      	0x4768	// 4768 <GPIO_PullHigh_Init>

	GPIO_IntGroup_Set(PA0,14,Selete_EXI_PIN14); 					//EXI0 set PB0.2
    55a0:	320e      	movi      	r2, 14
    55a2:	310e      	movi      	r1, 14
    55a4:	3000      	movi      	r0, 0
    55a6:	e3fff8f3 	bsr      	0x478c	// 478c <GPIO_IntGroup_Set>
	GPIOA0_EXI_Init(EXI14); 										//PB0.2 as input
    55aa:	300e      	movi      	r0, 14
    55ac:	e3fff976 	bsr      	0x4898	// 4898 <GPIOA0_EXI_Init>
//	EXTI_trigger_CMD(ENABLE,EXI_PIN14,_EXIFT); 					//ENABLE falling edge，下降沿触发
	EXTI_trigger_CMD(ENABLE,EXI_PIN14,_EXIRT);
    55b0:	3180      	movi      	r1, 128
    55b2:	3200      	movi      	r2, 0
    55b4:	4127      	lsli      	r1, r1, 7
    55b6:	3001      	movi      	r0, 1
    55b8:	e3fff7b4 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
	EXTI_interrupt_CMD(ENABLE,EXI_PIN14); 						//enable EXI
    55bc:	3180      	movi      	r1, 128
    55be:	4127      	lsli      	r1, r1, 7
    55c0:	3001      	movi      	r0, 1
    55c2:	e3fff7cf 	bsr      	0x4560	// 4560 <EXTI_interrupt_CMD>
	GPIO_EXTI_interrupt(GPIOA0,0b0100000000000000); 			//enable GPIOB02 as EXI
    55c6:	3180      	movi      	r1, 128
    55c8:	9400      	ld.w      	r0, (r4, 0x0)
    55ca:	4127      	lsli      	r1, r1, 7
    55cc:	e3fff7e4 	bsr      	0x4594	// 4594 <GPIO_EXTI_interrupt>
//	GPIO_Init(GPIOA0,14,Output);
//	GPIO_Write_Low(GPIOA0,14);
////	GPIO_Write_High(GPIOA0,14);	
	
	//2025-03-29，串口2的RX管脚外部中断，用于通讯总线繁忙判断。
	GPIO_PullHigh_Init(GPIOB0,5);								//RX,PB0.5
    55d0:	1093      	lrw      	r4, 0x20000048	// 561c <GPIO_CONFIG+0x88>
	EXI4_Int_Enable(); 										//EXI2~EXI3 INT Vector
    55d2:	e3fff7eb 	bsr      	0x45a8	// 45a8 <EXI4_Int_Enable>
	GPIO_PullHigh_Init(GPIOB0,5);								//RX,PB0.5
    55d6:	9400      	ld.w      	r0, (r4, 0x0)
    55d8:	3105      	movi      	r1, 5
    55da:	e3fff8c7 	bsr      	0x4768	// 4768 <GPIO_PullHigh_Init>
	
	GPIO_IntGroup_Set(PB0,5,Selete_EXI_PIN5); 					//EXI0 set PB0.2
    55de:	3205      	movi      	r2, 5
    55e0:	3105      	movi      	r1, 5
    55e2:	3002      	movi      	r0, 2
    55e4:	e3fff8d4 	bsr      	0x478c	// 478c <GPIO_IntGroup_Set>
	GPIOB0_EXI_Init(EXI5); 										//PB0.2 as input
    55e8:	3005      	movi      	r0, 5
    55ea:	e3fff9d5 	bsr      	0x4994	// 4994 <GPIOB0_EXI_Init>
	EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIFT); 					//ENABLE falling edge，下降沿触发
    55ee:	3201      	movi      	r2, 1
    55f0:	3120      	movi      	r1, 32
    55f2:	3001      	movi      	r0, 1
    55f4:	e3fff796 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
	EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIRT);					//上升沿触发
    55f8:	3200      	movi      	r2, 0
    55fa:	3120      	movi      	r1, 32
    55fc:	3001      	movi      	r0, 1
    55fe:	e3fff791 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
	EXTI_interrupt_CMD(ENABLE,EXI_PIN5); 						//enable EXI
    5602:	3120      	movi      	r1, 32
    5604:	3001      	movi      	r0, 1
    5606:	e3fff7ad 	bsr      	0x4560	// 4560 <EXTI_interrupt_CMD>
	GPIO_EXTI_interrupt(GPIOB0,0b0000000000100000); 			//enable GPIOB02 as EXI
    560a:	9400      	ld.w      	r0, (r4, 0x0)
    560c:	3120      	movi      	r1, 32
    560e:	e3fff7c3 	bsr      	0x4594	// 4594 <GPIO_EXTI_interrupt>
	EXI3_Int_Enable(); 		
    5612:	e3fff7c3 	bsr      	0x4598	// 4598 <EXI3_Int_Enable>
//
//	GPIO_DriveStrength_EN(GPIOB0,3);
//
//	GPIO_Write_High(GPIOB0,3);		//上电默认为高电平

}
    5616:	1491      	pop      	r4, r15
    5618:	2000004c 	.long	0x2000004c
    561c:	20000048 	.long	0x20000048

Disassembly of section .text.BT_CONFIG:

00005620 <BT_CONFIG>:
//BT Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void BT_CONFIG(void)
{
    5620:	14d2      	push      	r4-r5, r15
    5622:	1424      	subi      	r14, r14, 16
//	BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND);
//	BT0_INT_ENABLE();
	
	
	//100us 定时器初始化
	BT_DeInit(BT1);
    5624:	1095      	lrw      	r4, 0x20000008	// 5678 <BT_CONFIG+0x58>
	BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
    5626:	3500      	movi      	r5, 0
	BT_DeInit(BT1);
    5628:	9400      	ld.w      	r0, (r4, 0x0)
    562a:	e3fffa19 	bsr      	0x4a5c	// 4a5c <BT_DeInit>
	BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
    562e:	9400      	ld.w      	r0, (r4, 0x0)
    5630:	b8a1      	st.w      	r5, (r14, 0x4)
    5632:	b8a0      	st.w      	r5, (r14, 0x0)
    5634:	3308      	movi      	r3, 8
    5636:	3200      	movi      	r2, 0
    5638:	3101      	movi      	r1, 1
    563a:	e3fffa28 	bsr      	0x4a8a	// 4a8a <BT_Configure>
	BT_ControlSet_Configure(BT1,BT_START_HIGH,BT_IDLE_LOW,BT_SYNC_DIS,BT_SYNCMD_DIS,BT_OSTMDX_ONCE,BT_AREARM_DIS,BT_CNTRLD_EN);
    563e:	3380      	movi      	r3, 128
    5640:	4363      	lsli      	r3, r3, 3
    5642:	b861      	st.w      	r3, (r14, 0x4)
    5644:	9400      	ld.w      	r0, (r4, 0x0)
    5646:	3300      	movi      	r3, 0
    5648:	b8a3      	st.w      	r5, (r14, 0xc)
    564a:	b8a2      	st.w      	r5, (r14, 0x8)
    564c:	b8a0      	st.w      	r5, (r14, 0x0)
    564e:	3200      	movi      	r2, 0
    5650:	3180      	movi      	r1, 128
    5652:	e3fffa28 	bsr      	0x4aa2	// 4aa2 <BT_ControlSet_Configure>
	BT_Period_CMP_Write(BT1,4780,1);		
    5656:	3201      	movi      	r2, 1
    5658:	1029      	lrw      	r1, 0x12ac	// 567c <BT_CONFIG+0x5c>
    565a:	9400      	ld.w      	r0, (r4, 0x0)
    565c:	e3fffa39 	bsr      	0x4ace	// 4ace <BT_Period_CMP_Write>
	BT_Start(BT1);
    5660:	9400      	ld.w      	r0, (r4, 0x0)
    5662:	e3fffa0b 	bsr      	0x4a78	// 4a78 <BT_Start>
	BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP);
    5666:	9400      	ld.w      	r0, (r4, 0x0)
    5668:	3202      	movi      	r2, 2
    566a:	3101      	movi      	r1, 1
    566c:	e3fffa34 	bsr      	0x4ad4	// 4ad4 <BT_ConfigInterrupt_CMD>
	BT1_INT_ENABLE();
    5670:	e3fffa3c 	bsr      	0x4ae8	// 4ae8 <BT1_INT_ENABLE>
	
}
    5674:	1404      	addi      	r14, r14, 16
    5676:	1492      	pop      	r4-r5, r15
    5678:	20000008 	.long	0x20000008
    567c:	000012ac 	.long	0x000012ac

Disassembly of section .text.SYSCON_CONFIG:

00005680 <SYSCON_CONFIG>:
//syscon Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_CONFIG(void)
{
    5680:	14d0      	push      	r15
    5682:	1421      	subi      	r14, r14, 4
//------SYSTEM CLK AND PCLK FUNTION---------------------------/
	SYSCON_RST_VALUE();                                                         //SYSCON all register clr
    5684:	e3fff658 	bsr      	0x4334	// 4334 <SYSCON_RST_VALUE>
	SYSCON_General_CMD(ENABLE,ENDIS_ISOSC);										//SYSCON enable/disable clock source
    5688:	3101      	movi      	r1, 1
    568a:	3001      	movi      	r0, 1
    568c:	e3fff67a 	bsr      	0x4380	// 4380 <SYSCON_General_CMD>
	//EMOSC_OSTR_Config(0XAD,0X1f,EM_LFSEL_EN,EM_FLEN_EN,EM_FLSEL_10ns);		//EM_CNT=0X3FF,0xAD(36K),EM_GM=0,Low F modedisable,EM filter disable,if enable,cont set 5ns
	//SYSCON_General_CMD(ENABLE,ENDIS_EMOSC);
	SYSCON_HFOSC_SELECTE(HFOSC_SELECTE_48M);									//HFOSC selected 48MHz
    5690:	3000      	movi      	r0, 0
    5692:	e3fff6d3 	bsr      	0x4438	// 4438 <SYSCON_HFOSC_SELECTE>
	SystemCLK_HCLKDIV_PCLKDIV_Config(SYSCLK_HFOSC,HCLK_DIV_1,PCLK_DIV_1,HFOSC_48M);//system clock set, Hclk div ,Pclk div  set system clock=SystemCLK/Hclk div/Pclk div
    5696:	3180      	movi      	r1, 128
    5698:	3308      	movi      	r3, 8
    569a:	3200      	movi      	r2, 0
    569c:	4121      	lsli      	r1, r1, 1
    569e:	3002      	movi      	r0, 2
    56a0:	e3fff688 	bsr      	0x43b0	// 43b0 <SystemCLK_HCLKDIV_PCLKDIV_Config>
//------------  WDT FUNTION  --------------------------------/
    SYSCON_IWDCNT_Config(IWDT_TIME_1S,IWDT_INTW_DIV_7);      					//WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S
    56a4:	30c0      	movi      	r0, 192
    56a6:	3118      	movi      	r1, 24
    56a8:	4002      	lsli      	r0, r0, 2
    56aa:	e3fff703 	bsr      	0x44b0	// 44b0 <SYSCON_IWDCNT_Config>
    SYSCON_WDT_CMD(ENABLE);                                                  	//enable/disable WDT		
    56ae:	3001      	movi      	r0, 1
    56b0:	e3fff6d8 	bsr      	0x4460	// 4460 <SYSCON_WDT_CMD>
    SYSCON_IWDCNT_Reload();                                                   	//reload WDT
    56b4:	e3fff6f4 	bsr      	0x449c	// 449c <SYSCON_IWDCNT_Reload>
	IWDT_Int_Enable();
    56b8:	e3fff726 	bsr      	0x4504	// 4504 <IWDT_Int_Enable>
	//WWDT_CMD(ENABLE);															//enable wwdt
//------------  CLO Output --------------------------------/	
	//SYSCON_CLO_CONFIG(CLO_PA08);												//CLO output setting
	//SYSCON_CLO_SRC_SET(CLO_HFCLK,CLO_DIV16);									//CLO output clock and div
//------------  LVD FUNTION  --------------------------------/ 
    SYSCON_LVD_Config(ENABLE_LVDEN,INTDET_LVL_3_9V,RSTDET_LVL_1_9V,ENABLE_LVD_INT,INTDET_POL_fall);   //LVD LVR Enable/Disable
    56bc:	3340      	movi      	r3, 64
    56be:	b860      	st.w      	r3, (r14, 0x0)
    56c0:	31c0      	movi      	r1, 192
    56c2:	3380      	movi      	r3, 128
    56c4:	4364      	lsli      	r3, r3, 4
    56c6:	3200      	movi      	r2, 0
    56c8:	4123      	lsli      	r1, r1, 3
    56ca:	3000      	movi      	r0, 0
    56cc:	e3fff6fe 	bsr      	0x44c8	// 44c8 <SYSCON_LVD_Config>
    LVD_Int_Enable();	
    56d0:	e3fff70c 	bsr      	0x44e8	// 44e8 <LVD_Int_Enable>
//------------  SYSCON Vector  --------------------------------/ 	
	SYSCON_Int_Enable();    														//SYSCON VECTOR
    56d4:	e3fff772 	bsr      	0x45b8	// 45b8 <SYSCON_Int_Enable>
	//SYSCON_WakeUp_Enable();    													//Enable WDT wakeup INT
//------------------------------------------------------------/
//OSC CLOCK Calibration
//------------------------------------------------------------/	
	std_clk_calib(CLK_HFOSC_48M);												//Select the same clock source as the system
    56d8:	3000      	movi      	r0, 0
    56da:	e00036e7 	bsr      	0xc4a8	// c4a8 <std_clk_calib>
	
}
    56de:	1401      	addi      	r14, r14, 4
    56e0:	1490      	pop      	r15

Disassembly of section .text.APT32F102_init:

000056e4 <APT32F102_init>:
//APT32F102_init                                                                  /
//EntryParameter:NONE                                                             /
//ReturnValue:NONE                                                                /
/*********************************************************************************/
void APT32F102_init(void) 
{
    56e4:	14d0      	push      	r15
	Sys_RSR = 0x00000000;
	Sys_RSR = SYSCON->RSR;         //读取复位源          2024-03-15
    56e6:	1162      	lrw      	r3, 0x2000005c	// 576c <APT32F102_init+0x88>
	Sys_RSR = 0x00000000;
    56e8:	1142      	lrw      	r2, 0x200000b4	// 5770 <APT32F102_init+0x8c>
    56ea:	3100      	movi      	r1, 0
	Sys_RSR = SYSCON->RSR;         //读取复位源          2024-03-15
    56ec:	9360      	ld.w      	r3, (r3, 0x0)
    56ee:	3080      	movi      	r0, 128
	Sys_RSR = 0x00000000;
    56f0:	b220      	st.w      	r1, (r2, 0x0)
	Sys_RSR = SYSCON->RSR;         //读取复位源          2024-03-15
    56f2:	600c      	addu      	r0, r3
    56f4:	9004      	ld.w      	r0, (r0, 0x10)
    56f6:	b200      	st.w      	r0, (r2, 0x0)
	
	Sav_Temp = 0x00000000;
    56f8:	105f      	lrw      	r2, 0x200000b0	// 5774 <APT32F102_init+0x90>
    56fa:	b220      	st.w      	r1, (r2, 0x0)
	Sav_Temp = SYSCON->UREG0;      //读取保存的温控数据  2024-03-15
    56fc:	3180      	movi      	r1, 128
    56fe:	4121      	lsli      	r1, r1, 1
    5700:	604c      	addu      	r1, r3
    5702:	9120      	ld.w      	r1, (r1, 0x0)
    5704:	b220      	st.w      	r1, (r2, 0x0)
//------------------------------------------------------------/
//Peripheral clock enable and disable
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON->PCER0=0xFFFFFFF;                                        //PCLK Enable
    5706:	105d      	lrw      	r2, 0xfffffff	// 5778 <APT32F102_init+0x94>
    5708:	b34a      	st.w      	r2, (r3, 0x28)
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    570a:	3101      	movi      	r1, 1
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    570c:	b34d      	st.w      	r2, (r3, 0x34)
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    570e:	934c      	ld.w      	r2, (r3, 0x30)
    5710:	6884      	and      	r2, r1
    5712:	3a40      	cmpnei      	r2, 0
    5714:	0ffd      	bf      	0x570e	// 570e <APT32F102_init+0x2a>
//------------------------------------------------------------/
//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON_CONFIG();                                                 //syscon  initial
    5716:	e3ffffb5 	bsr      	0x5680	// 5680 <SYSCON_CONFIG>
	CK_CPU_EnAllNormalIrq();                                         //enable all IRQ
    571a:	e000055b 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	SYSCON_INT_Priority();										 //initial all Priority=0xC0
    571e:	e3fff759 	bsr      	0x45d0	// 45d0 <SYSCON_INT_Priority>
	
	//设置中断优先级 	0最高，3最低
	Set_INT_Priority(UART2_IRQ,1);				//串口优先级最高
    5722:	3101      	movi      	r1, 1
    5724:	300f      	movi      	r0, 15
    5726:	e3fff767 	bsr      	0x45f4	// 45f4 <Set_INT_Priority>

	Set_INT_Priority(TKEY_IRQ,2);				//触摸中断优先级
    572a:	3102      	movi      	r1, 2
    572c:	3019      	movi      	r0, 25
    572e:	e3fff763 	bsr      	0x45f4	// 45f4 <Set_INT_Priority>

	Set_INT_Priority(EXI3_IRQ, 1);				//总线繁忙判断外部IO中断
    5732:	3101      	movi      	r1, 1
    5734:	3016      	movi      	r0, 22
    5736:	e3fff75f 	bsr      	0x45f4	// 45f4 <Set_INT_Priority>
	
	Set_INT_Priority(EXI4_IRQ, 1);				//过零信号外部IO中断
    573a:	3101      	movi      	r1, 1
    573c:	3017      	movi      	r0, 23
    573e:	e3fff75b 	bsr      	0x45f4	// 45f4 <Set_INT_Priority>
	
	GPIO_DeInit();	//复位所有IO，bootload中初始化了所有IO
    5742:	e3fff771 	bsr      	0x4624	// 4624 <GPIO_DeInit>
//------------------------------------------------------------/
//Other IP config
//------------------------------------------------------------/	
	
	Relay_Init();
    5746:	e0002437 	bsr      	0x9fb4	// 9fb4 <Relay_Init>

	BT_CONFIG();		//BT initial
    574a:	e3ffff6b 	bsr      	0x5620	// 5620 <BT_CONFIG>
	
	GPIO_CONFIG();
    574e:	e3ffff23 	bsr      	0x5594	// 5594 <GPIO_CONFIG>
	
	UARTx_Init(UART_2,Tem_Rs485_Rec_Pro);		//通讯串口
    5752:	102b      	lrw      	r1, 0xa6f8	// 577c <APT32F102_init+0x98>
    5754:	3002      	movi      	r0, 2
    5756:	e0000543 	bsr      	0x61dc	// 61dc <UARTx_Init>
	
	HT1621_Init();        //显示驱动初始化
    575a:	e00015d9 	bsr      	0x830c	// 830c <HT1621_Init>

	TM1812_LED_Init();
    575e:	e0001565 	bsr      	0x8228	// 8228 <TM1812_LED_Init>
	
	ADC_Init();
    5762:	e0000ebb 	bsr      	0x74d8	// 74d8 <ADC_Init>
	
	Touch_Key_Init();
    5766:	e0000773 	bsr      	0x664c	// 664c <Touch_Key_Init>
}
    576a:	1490      	pop      	r15
    576c:	2000005c 	.long	0x2000005c
    5770:	200000b4 	.long	0x200000b4
    5774:	200000b0 	.long	0x200000b0
    5778:	0fffffff 	.long	0x0fffffff
    577c:	0000a6f8 	.long	0x0000a6f8

Disassembly of section .text.SYSCONIntHandler:

00005780 <SYSCONIntHandler>:
//SYSCON Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCONIntHandler(void) 
{
    5780:	1460      	nie
    5782:	1462      	ipush
    // ISR content ...
	nop;
    5784:	6c03      	mov      	r0, r0
	if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST)				//ISOSC stable interrupt
    5786:	117a      	lrw      	r3, 0x2000005c	// 586c <SYSCONIntHandler+0xec>
    5788:	3280      	movi      	r2, 128
    578a:	9360      	ld.w      	r3, (r3, 0x0)
    578c:	60c8      	addu      	r3, r2
    578e:	9323      	ld.w      	r1, (r3, 0xc)
    5790:	3001      	movi      	r0, 1
    5792:	6840      	and      	r1, r0
    5794:	3940      	cmpnei      	r1, 0
    5796:	0c04      	bf      	0x579e	// 579e <SYSCONIntHandler+0x1e>
	{
		SYSCON->ICR = EMOSC_ST;
	} 
	else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST)			//HFOSC stable interrupt
	{
		SYSCON->ICR = HFOSC_ST;
    5798:	b301      	st.w      	r0, (r3, 0x4)
	}
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)		//Command error interrupt
	{
		SYSCON->ICR = CMD_ERR_ST;
	}
}
    579a:	1463      	ipop
    579c:	1461      	nir
	else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST)			//IMOSC stable interrupt
    579e:	9323      	ld.w      	r1, (r3, 0xc)
    57a0:	3002      	movi      	r0, 2
    57a2:	6840      	and      	r1, r0
    57a4:	3940      	cmpnei      	r1, 0
    57a6:	0bf9      	bt      	0x5798	// 5798 <SYSCONIntHandler+0x18>
	else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST)			//EMOSC stable interrupt
    57a8:	9323      	ld.w      	r1, (r3, 0xc)
    57aa:	3008      	movi      	r0, 8
    57ac:	6840      	and      	r1, r0
    57ae:	3940      	cmpnei      	r1, 0
    57b0:	0bf4      	bt      	0x5798	// 5798 <SYSCONIntHandler+0x18>
	else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST)			//HFOSC stable interrupt
    57b2:	9323      	ld.w      	r1, (r3, 0xc)
    57b4:	3010      	movi      	r0, 16
    57b6:	6840      	and      	r1, r0
    57b8:	3940      	cmpnei      	r1, 0
    57ba:	0bef      	bt      	0x5798	// 5798 <SYSCONIntHandler+0x18>
	else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST)		//SYSCLK change end & stable interrupt
    57bc:	9323      	ld.w      	r1, (r3, 0xc)
    57be:	6848      	and      	r1, r2
    57c0:	3940      	cmpnei      	r1, 0
    57c2:	0c03      	bf      	0x57c8	// 57c8 <SYSCONIntHandler+0x48>
		SYSCON->ICR = CMD_ERR_ST;
    57c4:	b341      	st.w      	r2, (r3, 0x4)
}
    57c6:	07ea      	br      	0x579a	// 579a <SYSCONIntHandler+0x1a>
	else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST)	//IWDT alarm window interrupt
    57c8:	3280      	movi      	r2, 128
    57ca:	9323      	ld.w      	r1, (r3, 0xc)
    57cc:	4241      	lsli      	r2, r2, 1
    57ce:	6848      	and      	r1, r2
    57d0:	3940      	cmpnei      	r1, 0
    57d2:	0bf9      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST)
    57d4:	3280      	movi      	r2, 128
    57d6:	9323      	ld.w      	r1, (r3, 0xc)
    57d8:	4242      	lsli      	r2, r2, 2
    57da:	6848      	and      	r1, r2
    57dc:	3940      	cmpnei      	r1, 0
    57de:	0bf3      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST)	//SRAM check fail interrupt
    57e0:	3280      	movi      	r2, 128
    57e2:	9323      	ld.w      	r1, (r3, 0xc)
    57e4:	4243      	lsli      	r2, r2, 3
    57e6:	6848      	and      	r1, r2
    57e8:	3940      	cmpnei      	r1, 0
    57ea:	0bed      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST)		//LVD threshold interrupt
    57ec:	3280      	movi      	r2, 128
    57ee:	9323      	ld.w      	r1, (r3, 0xc)
    57f0:	4244      	lsli      	r2, r2, 4
    57f2:	6848      	and      	r1, r2
    57f4:	3940      	cmpnei      	r1, 0
    57f6:	0c03      	bf      	0x57fc	// 57fc <SYSCONIntHandler+0x7c>
		nop;
    57f8:	6c03      	mov      	r0, r0
    57fa:	07e5      	br      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST)		//Hardware Divider divisor = 0 interrupt
    57fc:	3280      	movi      	r2, 128
    57fe:	9323      	ld.w      	r1, (r3, 0xc)
    5800:	4245      	lsli      	r2, r2, 5
    5802:	6848      	and      	r1, r2
    5804:	3940      	cmpnei      	r1, 0
    5806:	0bdf      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST)		//Flash check fail interrupt
    5808:	3280      	movi      	r2, 128
    580a:	9323      	ld.w      	r1, (r3, 0xc)
    580c:	4246      	lsli      	r2, r2, 6
    580e:	6848      	and      	r1, r2
    5810:	3940      	cmpnei      	r1, 0
    5812:	0bd9      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT)		//Option load fail interrupt
    5814:	3280      	movi      	r2, 128
    5816:	9323      	ld.w      	r1, (r3, 0xc)
    5818:	4247      	lsli      	r2, r2, 7
    581a:	6848      	and      	r1, r2
    581c:	3940      	cmpnei      	r1, 0
    581e:	0bd3      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST)	//EMOSC clock monitor fail interrupt
    5820:	3280      	movi      	r2, 128
    5822:	9323      	ld.w      	r1, (r3, 0xc)
    5824:	424b      	lsli      	r2, r2, 11
    5826:	6848      	and      	r1, r2
    5828:	3940      	cmpnei      	r1, 0
    582a:	0bcd      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST)	//Event Trigger Channel 0 Interrupt
    582c:	3280      	movi      	r2, 128
    582e:	9323      	ld.w      	r1, (r3, 0xc)
    5830:	424c      	lsli      	r2, r2, 12
    5832:	6848      	and      	r1, r2
    5834:	3940      	cmpnei      	r1, 0
    5836:	0bc7      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST)	//Event Trigger Channel 1 Interrupt
    5838:	3280      	movi      	r2, 128
    583a:	9323      	ld.w      	r1, (r3, 0xc)
    583c:	424d      	lsli      	r2, r2, 13
    583e:	6848      	and      	r1, r2
    5840:	3940      	cmpnei      	r1, 0
    5842:	0bc1      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST)	//Event Trigger Channel 2 Interrupt
    5844:	3280      	movi      	r2, 128
    5846:	9323      	ld.w      	r1, (r3, 0xc)
    5848:	424e      	lsli      	r2, r2, 14
    584a:	6848      	and      	r1, r2
    584c:	3940      	cmpnei      	r1, 0
    584e:	0bbb      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST)	//Event Trigger Channel 3 Interrupt
    5850:	3280      	movi      	r2, 128
    5852:	9323      	ld.w      	r1, (r3, 0xc)
    5854:	424f      	lsli      	r2, r2, 15
    5856:	6848      	and      	r1, r2
    5858:	3940      	cmpnei      	r1, 0
    585a:	0bb5      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
	else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST)		//Command error interrupt
    585c:	3280      	movi      	r2, 128
    585e:	9323      	ld.w      	r1, (r3, 0xc)
    5860:	4256      	lsli      	r2, r2, 22
    5862:	6848      	and      	r1, r2
    5864:	3940      	cmpnei      	r1, 0
    5866:	0baf      	bt      	0x57c4	// 57c4 <SYSCONIntHandler+0x44>
    5868:	0799      	br      	0x579a	// 579a <SYSCONIntHandler+0x1a>
    586a:	0000      	bkpt
    586c:	2000005c 	.long	0x2000005c

Disassembly of section .text.IFCIntHandler:

00005870 <IFCIntHandler>:
//IFC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void IFCIntHandler(void) 
{
    5870:	1460      	nie
    5872:	1462      	ipush
    // ISR content ...
	if(IFC->MISR&ERS_END_INT)			
    5874:	1078      	lrw      	r3, 0x20000060	// 58d4 <IFCIntHandler+0x64>
    5876:	3101      	movi      	r1, 1
    5878:	9360      	ld.w      	r3, (r3, 0x0)
    587a:	934b      	ld.w      	r2, (r3, 0x2c)
    587c:	6884      	and      	r2, r1
    587e:	3a40      	cmpnei      	r2, 0
    5880:	0c04      	bf      	0x5888	// 5888 <IFCIntHandler+0x18>
	{
		IFC->ICR=RGM_END_INT;
	}
	else if(IFC->MISR&PEP_END_INT)		
	{
		IFC->ICR=PEP_END_INT;
    5882:	b32c      	st.w      	r1, (r3, 0x30)
	}
	else if(IFC->MISR&OVW_ERR_INT)		
	{
		IFC->ICR=OVW_ERR_INT;
	}
}
    5884:	1463      	ipop
    5886:	1461      	nir
	else if(IFC->MISR&RGM_END_INT)		
    5888:	934b      	ld.w      	r2, (r3, 0x2c)
    588a:	3102      	movi      	r1, 2
    588c:	6884      	and      	r2, r1
    588e:	3a40      	cmpnei      	r2, 0
    5890:	0bf9      	bt      	0x5882	// 5882 <IFCIntHandler+0x12>
	else if(IFC->MISR&PEP_END_INT)		
    5892:	934b      	ld.w      	r2, (r3, 0x2c)
    5894:	3104      	movi      	r1, 4
    5896:	6884      	and      	r2, r1
    5898:	3a40      	cmpnei      	r2, 0
    589a:	0bf4      	bt      	0x5882	// 5882 <IFCIntHandler+0x12>
	else if(IFC->MISR&PROT_ERR_INT)		
    589c:	3280      	movi      	r2, 128
    589e:	932b      	ld.w      	r1, (r3, 0x2c)
    58a0:	4245      	lsli      	r2, r2, 5
    58a2:	6848      	and      	r1, r2
    58a4:	3940      	cmpnei      	r1, 0
    58a6:	0c03      	bf      	0x58ac	// 58ac <IFCIntHandler+0x3c>
		IFC->ICR=OVW_ERR_INT;
    58a8:	b34c      	st.w      	r2, (r3, 0x30)
}
    58aa:	07ed      	br      	0x5884	// 5884 <IFCIntHandler+0x14>
	else if(IFC->MISR&UDEF_ERR_INT)		
    58ac:	3280      	movi      	r2, 128
    58ae:	932b      	ld.w      	r1, (r3, 0x2c)
    58b0:	4246      	lsli      	r2, r2, 6
    58b2:	6848      	and      	r1, r2
    58b4:	3940      	cmpnei      	r1, 0
    58b6:	0bf9      	bt      	0x58a8	// 58a8 <IFCIntHandler+0x38>
	else if(IFC->MISR&ADDR_ERR_INT)		
    58b8:	3280      	movi      	r2, 128
    58ba:	932b      	ld.w      	r1, (r3, 0x2c)
    58bc:	4247      	lsli      	r2, r2, 7
    58be:	6848      	and      	r1, r2
    58c0:	3940      	cmpnei      	r1, 0
    58c2:	0bf3      	bt      	0x58a8	// 58a8 <IFCIntHandler+0x38>
	else if(IFC->MISR&OVW_ERR_INT)		
    58c4:	3280      	movi      	r2, 128
    58c6:	932b      	ld.w      	r1, (r3, 0x2c)
    58c8:	4248      	lsli      	r2, r2, 8
    58ca:	6848      	and      	r1, r2
    58cc:	3940      	cmpnei      	r1, 0
    58ce:	0bed      	bt      	0x58a8	// 58a8 <IFCIntHandler+0x38>
    58d0:	07da      	br      	0x5884	// 5884 <IFCIntHandler+0x14>
    58d2:	0000      	bkpt
    58d4:	20000060 	.long	0x20000060

Disassembly of section .text.ADCIntHandler:

000058d8 <ADCIntHandler>:
//ADC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void ADCIntHandler(void) 
{
    58d8:	1460      	nie
    58da:	1462      	ipush
    // ISR content ...
	if((ADC0->SR&ADC12_EOC)==ADC12_EOC)				//ADC EOC interrupt
    58dc:	1078      	lrw      	r3, 0x20000050	// 593c <ADCIntHandler+0x64>
    58de:	3101      	movi      	r1, 1
    58e0:	9360      	ld.w      	r3, (r3, 0x0)
    58e2:	9348      	ld.w      	r2, (r3, 0x20)
    58e4:	6884      	and      	r2, r1
    58e6:	3a40      	cmpnei      	r2, 0
    58e8:	0c04      	bf      	0x58f0	// 58f0 <ADCIntHandler+0x18>
	{
		ADC0->CSR = ADC12_CMP1H;
	}
	else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L)	//ADC CMP1L interrupt.
	{
		ADC0->CSR = ADC12_CMP1L;
    58ea:	b327      	st.w      	r1, (r3, 0x1c)
	}
	else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15
	{
		ADC0->CSR = ADC12_SEQ_END0;
	}
}
    58ec:	1463      	ipop
    58ee:	1461      	nir
	else if((ADC0->SR&ADC12_READY)==ADC12_READY)	//ADC READY interrupt
    58f0:	9348      	ld.w      	r2, (r3, 0x20)
    58f2:	3102      	movi      	r1, 2
    58f4:	6884      	and      	r2, r1
    58f6:	3a40      	cmpnei      	r2, 0
    58f8:	0bf9      	bt      	0x58ea	// 58ea <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_OVR)==ADC12_OVR)		//ADC OVR interrupt
    58fa:	9348      	ld.w      	r2, (r3, 0x20)
    58fc:	3104      	movi      	r1, 4
    58fe:	6884      	and      	r2, r1
    5900:	3a40      	cmpnei      	r2, 0
    5902:	0bf4      	bt      	0x58ea	// 58ea <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H)	//ADC CMP0H interrupt
    5904:	9348      	ld.w      	r2, (r3, 0x20)
    5906:	3110      	movi      	r1, 16
    5908:	6884      	and      	r2, r1
    590a:	3a40      	cmpnei      	r2, 0
    590c:	0bef      	bt      	0x58ea	// 58ea <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L)	//ADC CMP0L interrupt.
    590e:	9348      	ld.w      	r2, (r3, 0x20)
    5910:	3120      	movi      	r1, 32
    5912:	6884      	and      	r2, r1
    5914:	3a40      	cmpnei      	r2, 0
    5916:	0bea      	bt      	0x58ea	// 58ea <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H)	//ADC CMP1H interrupt.
    5918:	9348      	ld.w      	r2, (r3, 0x20)
    591a:	3140      	movi      	r1, 64
    591c:	6884      	and      	r2, r1
    591e:	3a40      	cmpnei      	r2, 0
    5920:	0be5      	bt      	0x58ea	// 58ea <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L)	//ADC CMP1L interrupt.
    5922:	9348      	ld.w      	r2, (r3, 0x20)
    5924:	3180      	movi      	r1, 128
    5926:	6884      	and      	r2, r1
    5928:	3a40      	cmpnei      	r2, 0
    592a:	0be0      	bt      	0x58ea	// 58ea <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_SEQ_END0)==ADC12_SEQ_END0) //ADC SEQ0 interrupt,SEQ1~SEQ15 replace the parameter with ADC12_SEQ_END1~ADC12_SEQ_END15
    592c:	3280      	movi      	r2, 128
    592e:	9328      	ld.w      	r1, (r3, 0x20)
    5930:	4249      	lsli      	r2, r2, 9
    5932:	6848      	and      	r1, r2
    5934:	3940      	cmpnei      	r1, 0
    5936:	0fdb      	bf      	0x58ec	// 58ec <ADCIntHandler+0x14>
		ADC0->CSR = ADC12_SEQ_END0;
    5938:	b347      	st.w      	r2, (r3, 0x1c)
}
    593a:	07d9      	br      	0x58ec	// 58ec <ADCIntHandler+0x14>
    593c:	20000050 	.long	0x20000050

Disassembly of section .text.EPT0IntHandler:

00005940 <EPT0IntHandler>:
//EPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EPT0IntHandler(void) 
{
    5940:	1460      	nie
    5942:	1462      	ipush
    5944:	14d1      	push      	r4, r15
    // ISR content ...
	if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT)			//TRGEV0 interrupt
    5946:	1387      	lrw      	r4, 0x20000020	// 5ae0 <EPT0IntHandler+0x1a0>
    5948:	3280      	movi      	r2, 128
    594a:	9460      	ld.w      	r3, (r4, 0x0)
    594c:	60c8      	addu      	r3, r2
    594e:	9335      	ld.w      	r1, (r3, 0x54)
    5950:	3001      	movi      	r0, 1
    5952:	6840      	and      	r1, r0
    5954:	3940      	cmpnei      	r1, 0
    5956:	0c03      	bf      	0x595c	// 595c <EPT0IntHandler+0x1c>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
	}
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)			//Capture Load to CMPC interrupt
	{
		EPT0->ICR=EPT_CAP_LD2;
    5958:	b317      	st.w      	r0, (r3, 0x5c)
    595a:	0424      	br      	0x59a2	// 59a2 <EPT0IntHandler+0x62>
	else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT)	//TRGEV1 interrupt
    595c:	9335      	ld.w      	r1, (r3, 0x54)
    595e:	3002      	movi      	r0, 2
    5960:	6840      	and      	r1, r0
    5962:	3940      	cmpnei      	r1, 0
    5964:	0bfa      	bt      	0x5958	// 5958 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT)	//TRGEV2 interrupt
    5966:	9335      	ld.w      	r1, (r3, 0x54)
    5968:	3004      	movi      	r0, 4
    596a:	6840      	and      	r1, r0
    596c:	3940      	cmpnei      	r1, 0
    596e:	0bf5      	bt      	0x5958	// 5958 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT)	//TRGEV3 interrupt
    5970:	9335      	ld.w      	r1, (r3, 0x54)
    5972:	3008      	movi      	r0, 8
    5974:	6840      	and      	r1, r0
    5976:	3940      	cmpnei      	r1, 0
    5978:	0bf0      	bt      	0x5958	// 5958 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0)			//Capture Load to CMPA interrupt
    597a:	9335      	ld.w      	r1, (r3, 0x54)
    597c:	3010      	movi      	r0, 16
    597e:	6840      	and      	r1, r0
    5980:	3940      	cmpnei      	r1, 0
    5982:	0c1f      	bf      	0x59c0	// 59c0 <EPT0IntHandler+0x80>
		EPT0->ICR=EPT_CAP_LD0;
    5984:	b317      	st.w      	r0, (r3, 0x5c)
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT);
    5986:	3200      	movi      	r2, 0
    5988:	3101      	movi      	r1, 1
    598a:	3000      	movi      	r0, 0
    598c:	e3fff5ca 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT);
    5990:	3201      	movi      	r2, 1
    5992:	3101      	movi      	r1, 1
    5994:	3001      	movi      	r0, 1
    5996:	e3fff5c5 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
		R_CMPA_BUF=EPT0->CMPA;			//Low voltage counter
    599a:	9460      	ld.w      	r3, (r4, 0x0)
    599c:	934b      	ld.w      	r2, (r3, 0x2c)
    599e:	1272      	lrw      	r3, 0x200002c4	// 5ae4 <EPT0IntHandler+0x1a4>
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
    59a0:	b340      	st.w      	r2, (r3, 0x0)
		EPT0->ICR=EPT_PEND;
		//EPT_PRDR_CMPA_CMPB_CMPC_CMPD_Config(50,0,50,0,0);
		EPT_Stop();
	}
	//Emergency interruption
	if((EPT0->EMMISR&EPT_EP0_EMINT)==EPT_EP0_EMINT)			//interrupt flag of EP0 event
    59a2:	9460      	ld.w      	r3, (r4, 0x0)
    59a4:	3280      	movi      	r2, 128
    59a6:	60c8      	addu      	r3, r2
    59a8:	932b      	ld.w      	r1, (r3, 0x2c)
    59aa:	3001      	movi      	r0, 1
    59ac:	6840      	and      	r1, r0
    59ae:	3940      	cmpnei      	r1, 0
    59b0:	0c61      	bf      	0x5a72	// 5a72 <EPT0IntHandler+0x132>
	{
		EPT0->EMICR=EPT_EP5_EMINT;
	}
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)	//interrupt flag of EP6 event
	{
		EPT0->EMICR=EPT_EP6_EMINT;
    59b2:	b30d      	st.w      	r0, (r3, 0x34)
	}
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)	//interrupt flag of EOM_FAULT event
	{
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
	}
}
    59b4:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    59b8:	9880      	ld.w      	r4, (r14, 0x0)
    59ba:	1402      	addi      	r14, r14, 8
    59bc:	1463      	ipop
    59be:	1461      	nir
	else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1)			//Capture Load to CMPB interrupt
    59c0:	9335      	ld.w      	r1, (r3, 0x54)
    59c2:	3020      	movi      	r0, 32
    59c4:	6840      	and      	r1, r0
    59c6:	3940      	cmpnei      	r1, 0
    59c8:	0c10      	bf      	0x59e8	// 59e8 <EPT0IntHandler+0xa8>
		EPT0->ICR=EPT_CAP_LD1;
    59ca:	b317      	st.w      	r0, (r3, 0x5c)
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT);
    59cc:	3200      	movi      	r2, 0
    59ce:	3101      	movi      	r1, 1
    59d0:	3001      	movi      	r0, 1
    59d2:	e3fff5a7 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
    59d6:	3201      	movi      	r2, 1
    59d8:	3101      	movi      	r1, 1
    59da:	3000      	movi      	r0, 0
    59dc:	e3fff5a2 	bsr      	0x4520	// 4520 <EXTI_trigger_CMD>
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
    59e0:	9460      	ld.w      	r3, (r4, 0x0)
    59e2:	934c      	ld.w      	r2, (r3, 0x30)
    59e4:	1261      	lrw      	r3, 0x200002c0	// 5ae8 <EPT0IntHandler+0x1a8>
    59e6:	07dd      	br      	0x59a0	// 59a0 <EPT0IntHandler+0x60>
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)			//Capture Load to CMPC interrupt
    59e8:	9335      	ld.w      	r1, (r3, 0x54)
    59ea:	3040      	movi      	r0, 64
    59ec:	6840      	and      	r1, r0
    59ee:	3940      	cmpnei      	r1, 0
    59f0:	0bb4      	bt      	0x5958	// 5958 <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3)			//Capture Load to CMPD interrupt
    59f2:	9335      	ld.w      	r1, (r3, 0x54)
    59f4:	6848      	and      	r1, r2
    59f6:	3940      	cmpnei      	r1, 0
    59f8:	0c03      	bf      	0x59fe	// 59fe <EPT0IntHandler+0xbe>
		EPT0->ICR=EPT_CDD;
    59fa:	b357      	st.w      	r2, (r3, 0x5c)
    59fc:	07d3      	br      	0x59a2	// 59a2 <EPT0IntHandler+0x62>
	else if((EPT0->MISR&EPT_CAU)==EPT_CAU)					//Up-Counting phase CNT = CMPA interrupt
    59fe:	3280      	movi      	r2, 128
    5a00:	9335      	ld.w      	r1, (r3, 0x54)
    5a02:	4241      	lsli      	r2, r2, 1
    5a04:	6848      	and      	r1, r2
    5a06:	3940      	cmpnei      	r1, 0
    5a08:	0bf9      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CAD)==EPT_CAD)					//Down-Counting phase CNT = CMPA interrupt
    5a0a:	3280      	movi      	r2, 128
    5a0c:	9335      	ld.w      	r1, (r3, 0x54)
    5a0e:	4242      	lsli      	r2, r2, 2
    5a10:	6848      	and      	r1, r2
    5a12:	3940      	cmpnei      	r1, 0
    5a14:	0bf3      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CBU)==EPT_CBU)					//Up-Counting phase CNT = CMPB interrupt 
    5a16:	3280      	movi      	r2, 128
    5a18:	9335      	ld.w      	r1, (r3, 0x54)
    5a1a:	4243      	lsli      	r2, r2, 3
    5a1c:	6848      	and      	r1, r2
    5a1e:	3940      	cmpnei      	r1, 0
    5a20:	0bed      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CBD)==EPT_CBD)					//Down-Counting phase CNT = CMPB interrupt
    5a22:	3280      	movi      	r2, 128
    5a24:	9335      	ld.w      	r1, (r3, 0x54)
    5a26:	4244      	lsli      	r2, r2, 4
    5a28:	6848      	and      	r1, r2
    5a2a:	3940      	cmpnei      	r1, 0
    5a2c:	0be7      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CCU)==EPT_CCU)					//Up-Counting phase CNT = CMPC interrupt 
    5a2e:	3280      	movi      	r2, 128
    5a30:	9335      	ld.w      	r1, (r3, 0x54)
    5a32:	4245      	lsli      	r2, r2, 5
    5a34:	6848      	and      	r1, r2
    5a36:	3940      	cmpnei      	r1, 0
    5a38:	0be1      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CCD)==EPT_CCD)					//Down-Counting phase CNT = CMPC interrupt
    5a3a:	3280      	movi      	r2, 128
    5a3c:	9335      	ld.w      	r1, (r3, 0x54)
    5a3e:	4246      	lsli      	r2, r2, 6
    5a40:	6848      	and      	r1, r2
    5a42:	3940      	cmpnei      	r1, 0
    5a44:	0bdb      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CDU)==EPT_CDU)					//Up-Counting phase CNT = CMPD interrupt
    5a46:	3280      	movi      	r2, 128
    5a48:	9335      	ld.w      	r1, (r3, 0x54)
    5a4a:	4247      	lsli      	r2, r2, 7
    5a4c:	6848      	and      	r1, r2
    5a4e:	3940      	cmpnei      	r1, 0
    5a50:	0bd5      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CDD)==EPT_CDD)					//Down-Counting phase CNT = CMPD interrupt
    5a52:	3280      	movi      	r2, 128
    5a54:	9335      	ld.w      	r1, (r3, 0x54)
    5a56:	4248      	lsli      	r2, r2, 8
    5a58:	6848      	and      	r1, r2
    5a5a:	3940      	cmpnei      	r1, 0
    5a5c:	0bcf      	bt      	0x59fa	// 59fa <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)				//End of cycle interrupt
    5a5e:	3280      	movi      	r2, 128
    5a60:	9335      	ld.w      	r1, (r3, 0x54)
    5a62:	4249      	lsli      	r2, r2, 9
    5a64:	6848      	and      	r1, r2
    5a66:	3940      	cmpnei      	r1, 0
    5a68:	0f9d      	bf      	0x59a2	// 59a2 <EPT0IntHandler+0x62>
		EPT0->ICR=EPT_PEND;
    5a6a:	b357      	st.w      	r2, (r3, 0x5c)
		EPT_Stop();
    5a6c:	e3fff98c 	bsr      	0x4d84	// 4d84 <EPT_Stop>
    5a70:	0799      	br      	0x59a2	// 59a2 <EPT0IntHandler+0x62>
	else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT)	//interrupt flag of EP1 event
    5a72:	932b      	ld.w      	r1, (r3, 0x2c)
    5a74:	3002      	movi      	r0, 2
    5a76:	6840      	and      	r1, r0
    5a78:	3940      	cmpnei      	r1, 0
    5a7a:	0b9c      	bt      	0x59b2	// 59b2 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT)	//interrupt flag of EP2 event
    5a7c:	932b      	ld.w      	r1, (r3, 0x2c)
    5a7e:	3004      	movi      	r0, 4
    5a80:	6840      	and      	r1, r0
    5a82:	3940      	cmpnei      	r1, 0
    5a84:	0b97      	bt      	0x59b2	// 59b2 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT)	//interrupt flag of EP3 event
    5a86:	932b      	ld.w      	r1, (r3, 0x2c)
    5a88:	3008      	movi      	r0, 8
    5a8a:	6840      	and      	r1, r0
    5a8c:	3940      	cmpnei      	r1, 0
    5a8e:	0b92      	bt      	0x59b2	// 59b2 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT)	//interrupt flag of EP4 event
    5a90:	932b      	ld.w      	r1, (r3, 0x2c)
    5a92:	3010      	movi      	r0, 16
    5a94:	6840      	and      	r1, r0
    5a96:	3940      	cmpnei      	r1, 0
    5a98:	0b8d      	bt      	0x59b2	// 59b2 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT)	//interrupt flag of EP5 event
    5a9a:	932b      	ld.w      	r1, (r3, 0x2c)
    5a9c:	3020      	movi      	r0, 32
    5a9e:	6840      	and      	r1, r0
    5aa0:	3940      	cmpnei      	r1, 0
    5aa2:	0b88      	bt      	0x59b2	// 59b2 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)	//interrupt flag of EP6 event
    5aa4:	932b      	ld.w      	r1, (r3, 0x2c)
    5aa6:	3040      	movi      	r0, 64
    5aa8:	6840      	and      	r1, r0
    5aaa:	3940      	cmpnei      	r1, 0
    5aac:	0b83      	bt      	0x59b2	// 59b2 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT)	//interrupt flag of EP7 event
    5aae:	932b      	ld.w      	r1, (r3, 0x2c)
    5ab0:	6848      	and      	r1, r2
    5ab2:	3940      	cmpnei      	r1, 0
    5ab4:	0c03      	bf      	0x5aba	// 5aba <EPT0IntHandler+0x17a>
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
    5ab6:	b34d      	st.w      	r2, (r3, 0x34)
}
    5ab8:	077e      	br      	0x59b4	// 59b4 <EPT0IntHandler+0x74>
	else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT)	//interrupt flag of CPU_FAULT event
    5aba:	3280      	movi      	r2, 128
    5abc:	932b      	ld.w      	r1, (r3, 0x2c)
    5abe:	4241      	lsli      	r2, r2, 1
    5ac0:	6848      	and      	r1, r2
    5ac2:	3940      	cmpnei      	r1, 0
    5ac4:	0bf9      	bt      	0x5ab6	// 5ab6 <EPT0IntHandler+0x176>
	else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT)	//interrupt flag of MEM_FAULT event
    5ac6:	3280      	movi      	r2, 128
    5ac8:	932b      	ld.w      	r1, (r3, 0x2c)
    5aca:	4242      	lsli      	r2, r2, 2
    5acc:	6848      	and      	r1, r2
    5ace:	3940      	cmpnei      	r1, 0
    5ad0:	0bf3      	bt      	0x5ab6	// 5ab6 <EPT0IntHandler+0x176>
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)	//interrupt flag of EOM_FAULT event
    5ad2:	3280      	movi      	r2, 128
    5ad4:	932b      	ld.w      	r1, (r3, 0x2c)
    5ad6:	4243      	lsli      	r2, r2, 3
    5ad8:	6848      	and      	r1, r2
    5ada:	3940      	cmpnei      	r1, 0
    5adc:	0bed      	bt      	0x5ab6	// 5ab6 <EPT0IntHandler+0x176>
    5ade:	076b      	br      	0x59b4	// 59b4 <EPT0IntHandler+0x74>
    5ae0:	20000020 	.long	0x20000020
    5ae4:	200002c4 	.long	0x200002c4
    5ae8:	200002c0 	.long	0x200002c0

Disassembly of section .text.WWDTHandler:

00005aec <WWDTHandler>:
//WWDT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void WWDTHandler(void)
{
    5aec:	1460      	nie
    5aee:	1462      	ipush
    5af0:	14d2      	push      	r4-r5, r15
	WWDT->ICR=0X01;
    5af2:	10ab      	lrw      	r5, 0x20000010	// 5b1c <WWDTHandler+0x30>
    5af4:	3401      	movi      	r4, 1
    5af6:	9560      	ld.w      	r3, (r5, 0x0)
    5af8:	b385      	st.w      	r4, (r3, 0x14)
	WWDT_CNT_Load(0xFF);
    5afa:	30ff      	movi      	r0, 255
    5afc:	e3fff7a8 	bsr      	0x4a4c	// 4a4c <WWDT_CNT_Load>
	if((WWDT->MISR&WWDT_EVI)==WWDT_EVI)					//WWDT EVI interrupt
    5b00:	9540      	ld.w      	r2, (r5, 0x0)
    5b02:	9263      	ld.w      	r3, (r2, 0xc)
    5b04:	68d0      	and      	r3, r4
    5b06:	3b40      	cmpnei      	r3, 0
    5b08:	0c02      	bf      	0x5b0c	// 5b0c <WWDTHandler+0x20>
	{
		WWDT->ICR = WWDT_EVI;
    5b0a:	b285      	st.w      	r4, (r2, 0x14)
	} 
}
    5b0c:	d9ee2002 	ld.w      	r15, (r14, 0x8)
    5b10:	98a1      	ld.w      	r5, (r14, 0x4)
    5b12:	9880      	ld.w      	r4, (r14, 0x0)
    5b14:	1403      	addi      	r14, r14, 12
    5b16:	1463      	ipop
    5b18:	1461      	nir
    5b1a:	0000      	bkpt
    5b1c:	20000010 	.long	0x20000010

Disassembly of section .text.GPT0IntHandler:

00005b20 <GPT0IntHandler>:
//GPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPT0IntHandler(void) 
{
    5b20:	1460      	nie
    5b22:	1462      	ipush
    // ISR content ...
	if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0)			//TRGEV0 interrupt
    5b24:	107e      	lrw      	r3, 0x20000024	// 5b9c <GPT0IntHandler+0x7c>
    5b26:	3101      	movi      	r1, 1
    5b28:	9360      	ld.w      	r3, (r3, 0x0)
    5b2a:	237f      	addi      	r3, 128
    5b2c:	9355      	ld.w      	r2, (r3, 0x54)
    5b2e:	6884      	and      	r2, r1
    5b30:	3a40      	cmpnei      	r2, 0
    5b32:	0c04      	bf      	0x5b3a	// 5b3a <GPT0IntHandler+0x1a>
	{
		GPT0->ICR = GPT_INT_CAPLD0;
	}
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)		//Capture Load to CMPB interrupt
	{
		GPT0->ICR = GPT_INT_CAPLD1;
    5b34:	b337      	st.w      	r1, (r3, 0x5c)
	}
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)		//End of cycle interrupt 
	{
		GPT0->ICR = GPT_INT_PEND;
	}
}
    5b36:	1463      	ipop
    5b38:	1461      	nir
	else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1)	//TRGEV1 interrupt
    5b3a:	9355      	ld.w      	r2, (r3, 0x54)
    5b3c:	3102      	movi      	r1, 2
    5b3e:	6884      	and      	r2, r1
    5b40:	3a40      	cmpnei      	r2, 0
    5b42:	0bf9      	bt      	0x5b34	// 5b34 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0)		//Capture Load to CMPA interrupt
    5b44:	9355      	ld.w      	r2, (r3, 0x54)
    5b46:	3110      	movi      	r1, 16
    5b48:	6884      	and      	r2, r1
    5b4a:	3a40      	cmpnei      	r2, 0
    5b4c:	0bf4      	bt      	0x5b34	// 5b34 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)		//Capture Load to CMPB interrupt
    5b4e:	9355      	ld.w      	r2, (r3, 0x54)
    5b50:	3120      	movi      	r1, 32
    5b52:	6884      	and      	r2, r1
    5b54:	3a40      	cmpnei      	r2, 0
    5b56:	0bef      	bt      	0x5b34	// 5b34 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU)			//Up-Counting phase CNT = CMPA Interrupt
    5b58:	3280      	movi      	r2, 128
    5b5a:	9335      	ld.w      	r1, (r3, 0x54)
    5b5c:	4241      	lsli      	r2, r2, 1
    5b5e:	6848      	and      	r1, r2
    5b60:	3940      	cmpnei      	r1, 0
    5b62:	0c03      	bf      	0x5b68	// 5b68 <GPT0IntHandler+0x48>
		GPT0->ICR = GPT_INT_PEND;
    5b64:	b357      	st.w      	r2, (r3, 0x5c)
}
    5b66:	07e8      	br      	0x5b36	// 5b36 <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD)			//Down-Counting phase CNT = CMPA Interrupt
    5b68:	3280      	movi      	r2, 128
    5b6a:	9335      	ld.w      	r1, (r3, 0x54)
    5b6c:	4242      	lsli      	r2, r2, 2
    5b6e:	6848      	and      	r1, r2
    5b70:	3940      	cmpnei      	r1, 0
    5b72:	0bf9      	bt      	0x5b64	// 5b64 <GPT0IntHandler+0x44>
	else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU)			//Up-Counting phase CNT = CMPB Interrupt
    5b74:	3280      	movi      	r2, 128
    5b76:	9335      	ld.w      	r1, (r3, 0x54)
    5b78:	4243      	lsli      	r2, r2, 3
    5b7a:	6848      	and      	r1, r2
    5b7c:	3940      	cmpnei      	r1, 0
    5b7e:	0bf3      	bt      	0x5b64	// 5b64 <GPT0IntHandler+0x44>
	else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD)			//Down-Counting phase CNT = CMPB Interrupt
    5b80:	3280      	movi      	r2, 128
    5b82:	9335      	ld.w      	r1, (r3, 0x54)
    5b84:	4244      	lsli      	r2, r2, 4
    5b86:	6848      	and      	r1, r2
    5b88:	3940      	cmpnei      	r1, 0
    5b8a:	0bed      	bt      	0x5b64	// 5b64 <GPT0IntHandler+0x44>
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)		//End of cycle interrupt 
    5b8c:	3280      	movi      	r2, 128
    5b8e:	9335      	ld.w      	r1, (r3, 0x54)
    5b90:	4249      	lsli      	r2, r2, 9
    5b92:	6848      	and      	r1, r2
    5b94:	3940      	cmpnei      	r1, 0
    5b96:	0be7      	bt      	0x5b64	// 5b64 <GPT0IntHandler+0x44>
    5b98:	07cf      	br      	0x5b36	// 5b36 <GPT0IntHandler+0x16>
    5b9a:	0000      	bkpt
    5b9c:	20000024 	.long	0x20000024

Disassembly of section .text.RTCIntHandler:

00005ba0 <RTCIntHandler>:
//RTC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void RTCIntHandler(void) 
{
    5ba0:	1460      	nie
    5ba2:	1462      	ipush
    // ISR content ...
	if((RTC->MISR&ALRA_INT)==ALRA_INT)			//Interrupt of alarm A
    5ba4:	1079      	lrw      	r3, 0x20000018	// 5c08 <RTCIntHandler+0x68>
    5ba6:	3101      	movi      	r1, 1
    5ba8:	9360      	ld.w      	r3, (r3, 0x0)
    5baa:	934a      	ld.w      	r2, (r3, 0x28)
    5bac:	6884      	and      	r2, r1
    5bae:	3a40      	cmpnei      	r2, 0
    5bb0:	0c14      	bf      	0x5bd8	// 5bd8 <RTCIntHandler+0x38>
	{
		RTC->ICR=ALRA_INT;
		RTC->KEY=0XCA53;
    5bb2:	1057      	lrw      	r2, 0xca53	// 5c0c <RTCIntHandler+0x6c>
		RTC->ICR=ALRA_INT;
    5bb4:	b32b      	st.w      	r1, (r3, 0x2c)
		RTC->KEY=0XCA53;
    5bb6:	b34c      	st.w      	r2, (r3, 0x30)
		RTC->CR=RTC->CR|0x01;
    5bb8:	9342      	ld.w      	r2, (r3, 0x8)
    5bba:	6c84      	or      	r2, r1
    5bbc:	b342      	st.w      	r2, (r3, 0x8)
		RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00);			//Hour bit6->0:am 1:pm	
    5bbe:	3280      	movi      	r2, 128
    5bc0:	424d      	lsli      	r2, r2, 13
    5bc2:	b340      	st.w      	r2, (r3, 0x0)
		while(RTC->CR&0x02);							//busy TIMR DATR ALRAR ALRBR Update done
    5bc4:	3102      	movi      	r1, 2
    5bc6:	9342      	ld.w      	r2, (r3, 0x8)
    5bc8:	6884      	and      	r2, r1
    5bca:	3a40      	cmpnei      	r2, 0
    5bcc:	0bfd      	bt      	0x5bc6	// 5bc6 <RTCIntHandler+0x26>
		RTC->CR &= ~0x1;
    5bce:	9342      	ld.w      	r2, (r3, 0x8)
    5bd0:	3a80      	bclri      	r2, 0
    5bd2:	b342      	st.w      	r2, (r3, 0x8)
	}
	else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)		//Interrupt of trigger event 1
	{
		RTC->ICR=RTC_TRGEV1_INT;
	}
}
    5bd4:	1463      	ipop
    5bd6:	1461      	nir
	else if((RTC->MISR&ALRB_INT)==ALRB_INT)			//Interrupt of alarm B				
    5bd8:	934a      	ld.w      	r2, (r3, 0x28)
    5bda:	3102      	movi      	r1, 2
    5bdc:	6884      	and      	r2, r1
    5bde:	3a40      	cmpnei      	r2, 0
    5be0:	0c03      	bf      	0x5be6	// 5be6 <RTCIntHandler+0x46>
		RTC->ICR=RTC_TRGEV1_INT;
    5be2:	b32b      	st.w      	r1, (r3, 0x2c)
}
    5be4:	07f8      	br      	0x5bd4	// 5bd4 <RTCIntHandler+0x34>
	else if((RTC->MISR&CPRD_INT)==CPRD_INT)			//Interrupt of alarm CPRD
    5be6:	934a      	ld.w      	r2, (r3, 0x28)
    5be8:	3104      	movi      	r1, 4
    5bea:	6884      	and      	r2, r1
    5bec:	3a40      	cmpnei      	r2, 0
    5bee:	0bfa      	bt      	0x5be2	// 5be2 <RTCIntHandler+0x42>
	else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT)		//Interrupt of trigger event 0
    5bf0:	934a      	ld.w      	r2, (r3, 0x28)
    5bf2:	3108      	movi      	r1, 8
    5bf4:	6884      	and      	r2, r1
    5bf6:	3a40      	cmpnei      	r2, 0
    5bf8:	0bf5      	bt      	0x5be2	// 5be2 <RTCIntHandler+0x42>
	else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)		//Interrupt of trigger event 1
    5bfa:	934a      	ld.w      	r2, (r3, 0x28)
    5bfc:	3110      	movi      	r1, 16
    5bfe:	6884      	and      	r2, r1
    5c00:	3a40      	cmpnei      	r2, 0
    5c02:	0bf0      	bt      	0x5be2	// 5be2 <RTCIntHandler+0x42>
    5c04:	07e8      	br      	0x5bd4	// 5bd4 <RTCIntHandler+0x34>
    5c06:	0000      	bkpt
    5c08:	20000018 	.long	0x20000018
    5c0c:	0000ca53 	.long	0x0000ca53

Disassembly of section .text.UART0IntHandler:

00005c10 <UART0IntHandler>:
//UART0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0IntHandler(void) 
{
    5c10:	1460      	nie
    5c12:	1462      	ipush
	char inchar = 0;
	
    // ISR content ...
	if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    5c14:	106d      	lrw      	r3, 0x20000040	// 5c48 <UART0IntHandler+0x38>
    5c16:	3102      	movi      	r1, 2
    5c18:	9360      	ld.w      	r3, (r3, 0x0)
    5c1a:	9343      	ld.w      	r2, (r3, 0xc)
    5c1c:	6884      	and      	r2, r1
    5c1e:	3a40      	cmpnei      	r2, 0
    5c20:	0c03      	bf      	0x5c26	// 5c26 <UART0IntHandler+0x16>
	{
		UART0->ISR=UART_RX_IOV_S;
	}
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
	{
		UART0->ISR=UART_TX_IOV_S;
    5c22:	b323      	st.w      	r1, (r3, 0xc)
	}
}
    5c24:	0410      	br      	0x5c44	// 5c44 <UART0IntHandler+0x34>
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    5c26:	9343      	ld.w      	r2, (r3, 0xc)
    5c28:	3101      	movi      	r1, 1
    5c2a:	6884      	and      	r2, r1
    5c2c:	3a40      	cmpnei      	r2, 0
    5c2e:	0bfa      	bt      	0x5c22	// 5c22 <UART0IntHandler+0x12>
	else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    5c30:	9343      	ld.w      	r2, (r3, 0xc)
    5c32:	3108      	movi      	r1, 8
    5c34:	6884      	and      	r2, r1
    5c36:	3a40      	cmpnei      	r2, 0
    5c38:	0bf5      	bt      	0x5c22	// 5c22 <UART0IntHandler+0x12>
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    5c3a:	9343      	ld.w      	r2, (r3, 0xc)
    5c3c:	3104      	movi      	r1, 4
    5c3e:	6884      	and      	r2, r1
    5c40:	3a40      	cmpnei      	r2, 0
    5c42:	0bf0      	bt      	0x5c22	// 5c22 <UART0IntHandler+0x12>
}
    5c44:	1463      	ipop
    5c46:	1461      	nir
    5c48:	20000040 	.long	0x20000040

Disassembly of section .text.UART1IntHandler:

00005c4c <UART1IntHandler>:
//UART1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART1IntHandler(void) 
{
    5c4c:	1460      	nie
    5c4e:	1462      	ipush
	char inchar = 0;
	
    // ISR content ...
	if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    5c50:	106d      	lrw      	r3, 0x2000003c	// 5c84 <UART1IntHandler+0x38>
    5c52:	3102      	movi      	r1, 2
    5c54:	9360      	ld.w      	r3, (r3, 0x0)
    5c56:	9343      	ld.w      	r2, (r3, 0xc)
    5c58:	6884      	and      	r2, r1
    5c5a:	3a40      	cmpnei      	r2, 0
    5c5c:	0c03      	bf      	0x5c62	// 5c62 <UART1IntHandler+0x16>
	{
		UART1->ISR=UART_RX_IOV_S;
	}
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
	{
		UART1->ISR=UART_TX_IOV_S;
    5c5e:	b323      	st.w      	r1, (r3, 0xc)
	}
}
    5c60:	0410      	br      	0x5c80	// 5c80 <UART1IntHandler+0x34>
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    5c62:	9343      	ld.w      	r2, (r3, 0xc)
    5c64:	3101      	movi      	r1, 1
    5c66:	6884      	and      	r2, r1
    5c68:	3a40      	cmpnei      	r2, 0
    5c6a:	0bfa      	bt      	0x5c5e	// 5c5e <UART1IntHandler+0x12>
	else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    5c6c:	9343      	ld.w      	r2, (r3, 0xc)
    5c6e:	3108      	movi      	r1, 8
    5c70:	6884      	and      	r2, r1
    5c72:	3a40      	cmpnei      	r2, 0
    5c74:	0bf5      	bt      	0x5c5e	// 5c5e <UART1IntHandler+0x12>
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    5c76:	9343      	ld.w      	r2, (r3, 0xc)
    5c78:	3104      	movi      	r1, 4
    5c7a:	6884      	and      	r2, r1
    5c7c:	3a40      	cmpnei      	r2, 0
    5c7e:	0bf0      	bt      	0x5c5e	// 5c5e <UART1IntHandler+0x12>
}
    5c80:	1463      	ipop
    5c82:	1461      	nir
    5c84:	2000003c 	.long	0x2000003c

Disassembly of section .text.UART2IntHandler:

00005c88 <UART2IntHandler>:
//UART2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2IntHandler(void) 
{
    5c88:	1460      	nie
    5c8a:	1462      	ipush
    5c8c:	14d0      	push      	r15
	char inchar = 0;
	
    // ISR content ...
	if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    5c8e:	107f      	lrw      	r3, 0x20000038	// 5d08 <UART2IntHandler+0x80>
    5c90:	3102      	movi      	r1, 2
    5c92:	9360      	ld.w      	r3, (r3, 0x0)
    5c94:	9343      	ld.w      	r2, (r3, 0xc)
    5c96:	6884      	and      	r2, r1
    5c98:	3a40      	cmpnei      	r2, 0
    5c9a:	0c0b      	bf      	0x5cb0	// 5cb0 <UART2IntHandler+0x28>
	{
		UART2->ISR=UART_RX_INT_S;
    5c9c:	b323      	st.w      	r1, (r3, 0xc)
		inchar = CSP_UART_GET_DATA(UART2);
    5c9e:	9300      	ld.w      	r0, (r3, 0x0)
		UART2_RecvINT_Processing(inchar);
    5ca0:	7400      	zextb      	r0, r0
    5ca2:	e0000321 	bsr      	0x62e4	// 62e4 <UART2_RecvINT_Processing>
			RS485_Comm_End ++;
		}
		
	}
	
}
    5ca6:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    5caa:	1401      	addi      	r14, r14, 4
    5cac:	1463      	ipop
    5cae:	1461      	nir
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    5cb0:	9323      	ld.w      	r1, (r3, 0xc)
    5cb2:	3201      	movi      	r2, 1
    5cb4:	6848      	and      	r1, r2
    5cb6:	3940      	cmpnei      	r1, 0
    5cb8:	0c0d      	bf      	0x5cd2	// 5cd2 <UART2IntHandler+0x4a>
		UART2->ISR=UART_TX_INT_S;
    5cba:	b343      	st.w      	r2, (r3, 0xc)
		RS485_Comming = 0x01;
    5cbc:	1074      	lrw      	r3, 0x2000012c	// 5d0c <UART2IntHandler+0x84>
    5cbe:	b340      	st.w      	r2, (r3, 0x0)
		if(RS485_Comm_Flag == 0x01){
    5cc0:	1074      	lrw      	r3, 0x20000130	// 5d10 <UART2IntHandler+0x88>
    5cc2:	9360      	ld.w      	r3, (r3, 0x0)
    5cc4:	3b41      	cmpnei      	r3, 1
    5cc6:	0bf0      	bt      	0x5ca6	// 5ca6 <UART2IntHandler+0x1e>
			RS485_Comm_Start ++;
    5cc8:	1053      	lrw      	r2, 0x20000134	// 5d14 <UART2IntHandler+0x8c>
			RS485_Comm_End ++;
    5cca:	9260      	ld.w      	r3, (r2, 0x0)
    5ccc:	2300      	addi      	r3, 1
    5cce:	b260      	st.w      	r3, (r2, 0x0)
}
    5cd0:	07eb      	br      	0x5ca6	// 5ca6 <UART2IntHandler+0x1e>
	else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    5cd2:	9343      	ld.w      	r2, (r3, 0xc)
    5cd4:	3108      	movi      	r1, 8
    5cd6:	6884      	and      	r2, r1
    5cd8:	3a40      	cmpnei      	r2, 0
    5cda:	0c03      	bf      	0x5ce0	// 5ce0 <UART2IntHandler+0x58>
		UART2->ISR=UART_TX_IOV_S;
    5cdc:	b323      	st.w      	r1, (r3, 0xc)
    5cde:	07e4      	br      	0x5ca6	// 5ca6 <UART2IntHandler+0x1e>
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    5ce0:	9343      	ld.w      	r2, (r3, 0xc)
    5ce2:	3104      	movi      	r1, 4
    5ce4:	6884      	and      	r2, r1
    5ce6:	3a40      	cmpnei      	r2, 0
    5ce8:	0bfa      	bt      	0x5cdc	// 5cdc <UART2IntHandler+0x54>
	else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S)			
    5cea:	3180      	movi      	r1, 128
    5cec:	9303      	ld.w      	r0, (r3, 0xc)
    5cee:	412c      	lsli      	r1, r1, 12
    5cf0:	6804      	and      	r0, r1
    5cf2:	3840      	cmpnei      	r0, 0
    5cf4:	0fd9      	bf      	0x5ca6	// 5ca6 <UART2IntHandler+0x1e>
		UART2->ISR=UART_TX_DONE_S;
    5cf6:	b323      	st.w      	r1, (r3, 0xc)
		RS485_Comming = 0x00;
    5cf8:	1065      	lrw      	r3, 0x2000012c	// 5d0c <UART2IntHandler+0x84>
    5cfa:	b340      	st.w      	r2, (r3, 0x0)
		if(RS485_Comm_Flag == 0x01){
    5cfc:	1065      	lrw      	r3, 0x20000130	// 5d10 <UART2IntHandler+0x88>
    5cfe:	9360      	ld.w      	r3, (r3, 0x0)
    5d00:	3b41      	cmpnei      	r3, 1
    5d02:	0bd2      	bt      	0x5ca6	// 5ca6 <UART2IntHandler+0x1e>
			RS485_Comm_End ++;
    5d04:	1045      	lrw      	r2, 0x20000138	// 5d18 <UART2IntHandler+0x90>
    5d06:	07e2      	br      	0x5cca	// 5cca <UART2IntHandler+0x42>
    5d08:	20000038 	.long	0x20000038
    5d0c:	2000012c 	.long	0x2000012c
    5d10:	20000130 	.long	0x20000130
    5d14:	20000134 	.long	0x20000134
    5d18:	20000138 	.long	0x20000138

Disassembly of section .text.SPI0IntHandler:

00005d1c <SPI0IntHandler>:
//SPI Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SPI0IntHandler(void) 
{
    5d1c:	1460      	nie
    5d1e:	1462      	ipush
    // ISR content ...
	if((SPI0->MISR&SPI_PORIM)==SPI_PORIM)					//Receive Overrun Interrupt
    5d20:	1178      	lrw      	r3, 0x20000034	// 5e00 <SPI0IntHandler+0xe4>
    5d22:	3101      	movi      	r1, 1
    5d24:	9360      	ld.w      	r3, (r3, 0x0)
    5d26:	9347      	ld.w      	r2, (r3, 0x1c)
    5d28:	6884      	and      	r2, r1
    5d2a:	3a40      	cmpnei      	r2, 0
    5d2c:	0c03      	bf      	0x5d32	// 5d32 <SPI0IntHandler+0x16>
			}
		}
	}
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
	{
		SPI0->ICR = SPI_TXIM;
    5d2e:	b328      	st.w      	r1, (r3, 0x20)
	}

}
    5d30:	0407      	br      	0x5d3e	// 5d3e <SPI0IntHandler+0x22>
	else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM)				//Receive Timeout Interrupt
    5d32:	9347      	ld.w      	r2, (r3, 0x1c)
    5d34:	3002      	movi      	r0, 2
    5d36:	6880      	and      	r2, r0
    5d38:	3a40      	cmpnei      	r2, 0
    5d3a:	0c04      	bf      	0x5d42	// 5d42 <SPI0IntHandler+0x26>
		SPI0->ICR = SPI_RTIM;
    5d3c:	b308      	st.w      	r0, (r3, 0x20)
}
    5d3e:	1463      	ipop
    5d40:	1461      	nir
	else if((SPI0->MISR&SPI_RXIM)==SPI_RXIM)				//Receive FIFO Interrupt,FIFO can be set 1/8,1/4,1/2 FIFO Interrupt
    5d42:	9347      	ld.w      	r2, (r3, 0x1c)
    5d44:	3004      	movi      	r0, 4
    5d46:	6880      	and      	r2, r0
    5d48:	3a40      	cmpnei      	r2, 0
    5d4a:	0c55      	bf      	0x5df4	// 5df4 <SPI0IntHandler+0xd8>
		SPI0->ICR = SPI_RXIM;
    5d4c:	b308      	st.w      	r0, (r3, 0x20)
		if(SPI0->DR==0xaa)
    5d4e:	9302      	ld.w      	r0, (r3, 0x8)
    5d50:	32aa      	movi      	r2, 170
    5d52:	6482      	cmpne      	r0, r2
    5d54:	083e      	bt      	0x5dd0	// 5dd0 <SPI0IntHandler+0xb4>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d56:	3102      	movi      	r1, 2
    5d58:	9343      	ld.w      	r2, (r3, 0xc)
    5d5a:	6884      	and      	r2, r1
    5d5c:	3a40      	cmpnei      	r2, 0
    5d5e:	0ffd      	bf      	0x5d58	// 5d58 <SPI0IntHandler+0x3c>
			SPI0->DR = 0x11;
    5d60:	3211      	movi      	r2, 17
    5d62:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d64:	3110      	movi      	r1, 16
    5d66:	9343      	ld.w      	r2, (r3, 0xc)
    5d68:	6884      	and      	r2, r1
    5d6a:	3a40      	cmpnei      	r2, 0
    5d6c:	0bfd      	bt      	0x5d66	// 5d66 <SPI0IntHandler+0x4a>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d6e:	3102      	movi      	r1, 2
    5d70:	9343      	ld.w      	r2, (r3, 0xc)
    5d72:	6884      	and      	r2, r1
    5d74:	3a40      	cmpnei      	r2, 0
    5d76:	0ffd      	bf      	0x5d70	// 5d70 <SPI0IntHandler+0x54>
			SPI0->DR = 0x12;
    5d78:	3212      	movi      	r2, 18
    5d7a:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d7c:	3110      	movi      	r1, 16
    5d7e:	9343      	ld.w      	r2, (r3, 0xc)
    5d80:	6884      	and      	r2, r1
    5d82:	3a40      	cmpnei      	r2, 0
    5d84:	0bfd      	bt      	0x5d7e	// 5d7e <SPI0IntHandler+0x62>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d86:	3102      	movi      	r1, 2
    5d88:	9343      	ld.w      	r2, (r3, 0xc)
    5d8a:	6884      	and      	r2, r1
    5d8c:	3a40      	cmpnei      	r2, 0
    5d8e:	0ffd      	bf      	0x5d88	// 5d88 <SPI0IntHandler+0x6c>
			SPI0->DR = 0x13;
    5d90:	3213      	movi      	r2, 19
    5d92:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d94:	3110      	movi      	r1, 16
    5d96:	9343      	ld.w      	r2, (r3, 0xc)
    5d98:	6884      	and      	r2, r1
    5d9a:	3a40      	cmpnei      	r2, 0
    5d9c:	0bfd      	bt      	0x5d96	// 5d96 <SPI0IntHandler+0x7a>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d9e:	3102      	movi      	r1, 2
    5da0:	9343      	ld.w      	r2, (r3, 0xc)
    5da2:	6884      	and      	r2, r1
    5da4:	3a40      	cmpnei      	r2, 0
    5da6:	0ffd      	bf      	0x5da0	// 5da0 <SPI0IntHandler+0x84>
			SPI0->DR = 0x14;
    5da8:	3214      	movi      	r2, 20
    5daa:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5dac:	3110      	movi      	r1, 16
    5dae:	9343      	ld.w      	r2, (r3, 0xc)
    5db0:	6884      	and      	r2, r1
    5db2:	3a40      	cmpnei      	r2, 0
    5db4:	0bfd      	bt      	0x5dae	// 5dae <SPI0IntHandler+0x92>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5db6:	3102      	movi      	r1, 2
    5db8:	9343      	ld.w      	r2, (r3, 0xc)
    5dba:	6884      	and      	r2, r1
    5dbc:	3a40      	cmpnei      	r2, 0
    5dbe:	0ffd      	bf      	0x5db8	// 5db8 <SPI0IntHandler+0x9c>
			SPI0->DR = 0x15;
    5dc0:	3215      	movi      	r2, 21
    5dc2:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5dc4:	3110      	movi      	r1, 16
    5dc6:	9343      	ld.w      	r2, (r3, 0xc)
    5dc8:	6884      	and      	r2, r1
    5dca:	3a40      	cmpnei      	r2, 0
    5dcc:	0bfd      	bt      	0x5dc6	// 5dc6 <SPI0IntHandler+0xaa>
    5dce:	07b8      	br      	0x5d3e	// 5d3e <SPI0IntHandler+0x22>
			if(((SPI0->SR) & SSP_TFE)!=SSP_TFE)
    5dd0:	9343      	ld.w      	r2, (r3, 0xc)
    5dd2:	6884      	and      	r2, r1
    5dd4:	3a40      	cmpnei      	r2, 0
    5dd6:	0bb4      	bt      	0x5d3e	// 5d3e <SPI0IntHandler+0x22>
				SPI0->DR=0x0;								//FIFO=0
    5dd8:	b342      	st.w      	r2, (r3, 0x8)
				while(((SPI0->SR) & SSP_BSY) == SSP_BSY);		//Send or receive over？
    5dda:	3110      	movi      	r1, 16
				SPI0->DR=0x0;								//FIFO=0
    5ddc:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5dde:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5de0:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5de2:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5de4:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5de6:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5de8:	b342      	st.w      	r2, (r3, 0x8)
				while(((SPI0->SR) & SSP_BSY) == SSP_BSY);		//Send or receive over？
    5dea:	9343      	ld.w      	r2, (r3, 0xc)
    5dec:	6884      	and      	r2, r1
    5dee:	3a40      	cmpnei      	r2, 0
    5df0:	0bfd      	bt      	0x5dea	// 5dea <SPI0IntHandler+0xce>
    5df2:	07a6      	br      	0x5d3e	// 5d3e <SPI0IntHandler+0x22>
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
    5df4:	9347      	ld.w      	r2, (r3, 0x1c)
    5df6:	3108      	movi      	r1, 8
    5df8:	6884      	and      	r2, r1
    5dfa:	3a40      	cmpnei      	r2, 0
    5dfc:	0b99      	bt      	0x5d2e	// 5d2e <SPI0IntHandler+0x12>
    5dfe:	07a0      	br      	0x5d3e	// 5d3e <SPI0IntHandler+0x22>
    5e00:	20000034 	.long	0x20000034

Disassembly of section .text.SIO0IntHandler:

00005e04 <SIO0IntHandler>:
//SIO Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SIO0IntHandler(void) 
{
    5e04:	1460      	nie
    5e06:	1462      	ipush
	CK801->IPR[4]=0X40404040;
	CK801->IPR[5]=0X40404000;
	CK801->IPR[6]=0X40404040;
	CK801->IPR[7]=0X40404040;*/
	//TXBUFEMPT  The sequence length exceeds 15bit needs to be updated into this interrupt
	if(SIO0->MISR&0X04)
    5e08:	1073      	lrw      	r3, 0x2000002c	// 5e54 <SIO0IntHandler+0x50>
    5e0a:	3104      	movi      	r1, 4
    5e0c:	9360      	ld.w      	r3, (r3, 0x0)
    5e0e:	9349      	ld.w      	r2, (r3, 0x24)
    5e10:	6884      	and      	r2, r1
    5e12:	3a40      	cmpnei      	r2, 0
    5e14:	0c02      	bf      	0x5e18	// 5e18 <SIO0IntHandler+0x14>
	{
		SIO0->ICR=0X04;
    5e16:	b32b      	st.w      	r1, (r3, 0x2c)
		
	}
	if(SIO0->MISR&0X01)					//TXDNE  发送完成
    5e18:	9349      	ld.w      	r2, (r3, 0x24)
    5e1a:	3101      	movi      	r1, 1
    5e1c:	6884      	and      	r2, r1
    5e1e:	3a40      	cmpnei      	r2, 0
    5e20:	0c02      	bf      	0x5e24	// 5e24 <SIO0IntHandler+0x20>
	{
		SIO0->ICR=0X01;
    5e22:	b32b      	st.w      	r1, (r3, 0x2c)
		delay_nms(10);
		SIO0->TXBUF=(0x03<<30)|(0x02<<28)|(0x03<<26)|(0x02<<24)|(0x03<<22)|(0x02<<20)|(0x03<<18)|(0x02<<16)|
				(0x01<<14)|(0x00<<12)|(0x01<<10)|(0x00<<8)|(0x01<<6)|(0x00<<4)|(0x01<<2)|(0x0<<0);		//0:D0,1:D1,2:DL,3:DH;	
	}*/
	
	if(SIO0->MISR&0X02)					//RXDNE
    5e24:	9349      	ld.w      	r2, (r3, 0x24)
    5e26:	3102      	movi      	r1, 2
    5e28:	6884      	and      	r2, r1
    5e2a:	3a40      	cmpnei      	r2, 0
    5e2c:	0c03      	bf      	0x5e32	// 5e32 <SIO0IntHandler+0x2e>
	{
		SIO0->ICR=0X10;
	}
	else if(SIO0->MISR&0X020)				//TIMEOUT
	{
		SIO0->ICR=0X20;
    5e2e:	b32b      	st.w      	r1, (r3, 0x2c)
	}
}
    5e30:	0410      	br      	0x5e50	// 5e50 <SIO0IntHandler+0x4c>
	else if(SIO0->MISR&0X08)					//RXBUFFULL	
    5e32:	9349      	ld.w      	r2, (r3, 0x24)
    5e34:	3108      	movi      	r1, 8
    5e36:	6884      	and      	r2, r1
    5e38:	3a40      	cmpnei      	r2, 0
    5e3a:	0bfa      	bt      	0x5e2e	// 5e2e <SIO0IntHandler+0x2a>
	else if(SIO0->MISR&0X010)				//BREAK
    5e3c:	9349      	ld.w      	r2, (r3, 0x24)
    5e3e:	3110      	movi      	r1, 16
    5e40:	6884      	and      	r2, r1
    5e42:	3a40      	cmpnei      	r2, 0
    5e44:	0bf5      	bt      	0x5e2e	// 5e2e <SIO0IntHandler+0x2a>
	else if(SIO0->MISR&0X020)				//TIMEOUT
    5e46:	9349      	ld.w      	r2, (r3, 0x24)
    5e48:	3120      	movi      	r1, 32
    5e4a:	6884      	and      	r2, r1
    5e4c:	3a40      	cmpnei      	r2, 0
    5e4e:	0bf0      	bt      	0x5e2e	// 5e2e <SIO0IntHandler+0x2a>
}
    5e50:	1463      	ipop
    5e52:	1461      	nir
    5e54:	2000002c 	.long	0x2000002c

Disassembly of section .text.EXI0IntHandler:

00005e58 <EXI0IntHandler>:
//EXT0/16 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI0IntHandler(void) 
{
    5e58:	1460      	nie
    5e5a:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) 			//EXT0 Interrupt
    5e5c:	106a      	lrw      	r3, 0x2000005c	// 5e84 <EXI0IntHandler+0x2c>
    5e5e:	3101      	movi      	r1, 1
    5e60:	9360      	ld.w      	r3, (r3, 0x0)
    5e62:	237f      	addi      	r3, 128
    5e64:	934c      	ld.w      	r2, (r3, 0x30)
    5e66:	6884      	and      	r2, r1
    5e68:	3a40      	cmpnei      	r2, 0
    5e6a:	0c04      	bf      	0x5e72	// 5e72 <EXI0IntHandler+0x1a>
	{
		SYSCON->EXICR = EXI_PIN0;
    5e6c:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) 		//EXT16 Interrupt
	{
		SYSCON->EXICR = EXI_PIN16;
	}
}
    5e6e:	1463      	ipop
    5e70:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) 		//EXT16 Interrupt
    5e72:	3280      	movi      	r2, 128
    5e74:	932c      	ld.w      	r1, (r3, 0x30)
    5e76:	4249      	lsli      	r2, r2, 9
    5e78:	6848      	and      	r1, r2
    5e7a:	3940      	cmpnei      	r1, 0
    5e7c:	0ff9      	bf      	0x5e6e	// 5e6e <EXI0IntHandler+0x16>
		SYSCON->EXICR = EXI_PIN16;
    5e7e:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5e80:	07f7      	br      	0x5e6e	// 5e6e <EXI0IntHandler+0x16>
    5e82:	0000      	bkpt
    5e84:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI1IntHandler:

00005e88 <EXI1IntHandler>:
//EXT1/17 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI1IntHandler(void) 
{
    5e88:	1460      	nie
    5e8a:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) 			//EXT1 Interrupt
    5e8c:	106a      	lrw      	r3, 0x2000005c	// 5eb4 <EXI1IntHandler+0x2c>
    5e8e:	3102      	movi      	r1, 2
    5e90:	9360      	ld.w      	r3, (r3, 0x0)
    5e92:	237f      	addi      	r3, 128
    5e94:	934c      	ld.w      	r2, (r3, 0x30)
    5e96:	6884      	and      	r2, r1
    5e98:	3a40      	cmpnei      	r2, 0
    5e9a:	0c04      	bf      	0x5ea2	// 5ea2 <EXI1IntHandler+0x1a>
	{
		SYSCON->EXICR = EXI_PIN1;
    5e9c:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) 		//EXT17 Interrupt
	{
		SYSCON->EXICR = EXI_PIN17;
	}
}
    5e9e:	1463      	ipop
    5ea0:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) 		//EXT17 Interrupt
    5ea2:	3280      	movi      	r2, 128
    5ea4:	932c      	ld.w      	r1, (r3, 0x30)
    5ea6:	424a      	lsli      	r2, r2, 10
    5ea8:	6848      	and      	r1, r2
    5eaa:	3940      	cmpnei      	r1, 0
    5eac:	0ff9      	bf      	0x5e9e	// 5e9e <EXI1IntHandler+0x16>
		SYSCON->EXICR = EXI_PIN17;
    5eae:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5eb0:	07f7      	br      	0x5e9e	// 5e9e <EXI1IntHandler+0x16>
    5eb2:	0000      	bkpt
    5eb4:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI2to3IntHandler:

00005eb8 <EXI2to3IntHandler>:
//EXI2~3 18~19Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI2to3IntHandler(void) 
{
    5eb8:	1460      	nie
    5eba:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) 			//EXT2 Interrupt
    5ebc:	1070      	lrw      	r3, 0x2000005c	// 5efc <EXI2to3IntHandler+0x44>
    5ebe:	3104      	movi      	r1, 4
    5ec0:	9360      	ld.w      	r3, (r3, 0x0)
    5ec2:	237f      	addi      	r3, 128
    5ec4:	934c      	ld.w      	r2, (r3, 0x30)
    5ec6:	6884      	and      	r2, r1
    5ec8:	3a40      	cmpnei      	r2, 0
    5eca:	0c04      	bf      	0x5ed2	// 5ed2 <EXI2to3IntHandler+0x1a>
		SYSCON->EXICR = EXI_PIN2;
//		RLY_State_Multi_Control();
	} 
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 		//EXT3 Interrupt
	{
		SYSCON->EXICR = EXI_PIN3;
    5ecc:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) 		//EXT19 Interrupt
	{
		SYSCON->EXICR = EXI_PIN19;
	}
}
    5ece:	1463      	ipop
    5ed0:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 		//EXT3 Interrupt
    5ed2:	934c      	ld.w      	r2, (r3, 0x30)
    5ed4:	3108      	movi      	r1, 8
    5ed6:	6884      	and      	r2, r1
    5ed8:	3a40      	cmpnei      	r2, 0
    5eda:	0bf9      	bt      	0x5ecc	// 5ecc <EXI2to3IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) 		//EXT18 Interrupt
    5edc:	3280      	movi      	r2, 128
    5ede:	932c      	ld.w      	r1, (r3, 0x30)
    5ee0:	424b      	lsli      	r2, r2, 11
    5ee2:	6848      	and      	r1, r2
    5ee4:	3940      	cmpnei      	r1, 0
    5ee6:	0c03      	bf      	0x5eec	// 5eec <EXI2to3IntHandler+0x34>
		SYSCON->EXICR = EXI_PIN19;
    5ee8:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5eea:	07f2      	br      	0x5ece	// 5ece <EXI2to3IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) 		//EXT19 Interrupt
    5eec:	3280      	movi      	r2, 128
    5eee:	932c      	ld.w      	r1, (r3, 0x30)
    5ef0:	424c      	lsli      	r2, r2, 12
    5ef2:	6848      	and      	r1, r2
    5ef4:	3940      	cmpnei      	r1, 0
    5ef6:	0bf9      	bt      	0x5ee8	// 5ee8 <EXI2to3IntHandler+0x30>
    5ef8:	07eb      	br      	0x5ece	// 5ece <EXI2to3IntHandler+0x16>
    5efa:	0000      	bkpt
    5efc:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI4to9IntHandler:

00005f00 <EXI4to9IntHandler>:
//EXI4~9 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4to9IntHandler(void) 
{
    5f00:	1460      	nie
    5f02:	1462      	ipush
    5f04:	14d0      	push      	r15
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) 			//EXT4 Interrupt
    5f06:	1079      	lrw      	r3, 0x2000005c	// 5f68 <EXI4to9IntHandler+0x68>
    5f08:	3280      	movi      	r2, 128
    5f0a:	9360      	ld.w      	r3, (r3, 0x0)
    5f0c:	60c8      	addu      	r3, r2
    5f0e:	932c      	ld.w      	r1, (r3, 0x30)
    5f10:	3010      	movi      	r0, 16
    5f12:	6840      	and      	r1, r0
    5f14:	3940      	cmpnei      	r1, 0
    5f16:	0c03      	bf      	0x5f1c	// 5f1c <EXI4to9IntHandler+0x1c>
		BusBusy_Task();	
		
	} 
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 		//EXT6 Interrupt
	{
		SYSCON->EXICR = EXI_PIN6;
    5f18:	b30b      	st.w      	r0, (r3, 0x2c)
    5f1a:	0409      	br      	0x5f2c	// 5f2c <EXI4to9IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) 		//EXT5 Interrupt
    5f1c:	932c      	ld.w      	r1, (r3, 0x30)
    5f1e:	3020      	movi      	r0, 32
    5f20:	6840      	and      	r1, r0
    5f22:	3940      	cmpnei      	r1, 0
    5f24:	0c09      	bf      	0x5f36	// 5f36 <EXI4to9IntHandler+0x36>
		SYSCON->EXICR = EXI_PIN5;
    5f26:	b30b      	st.w      	r0, (r3, 0x2c)
		BusBusy_Task();	
    5f28:	e000035c 	bsr      	0x65e0	// 65e0 <BusBusy_Task>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 		//EXT9 Interrupt
	{
		SYSCON->EXICR = EXI_PIN9;
	} 

}
    5f2c:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    5f30:	1401      	addi      	r14, r14, 4
    5f32:	1463      	ipop
    5f34:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 		//EXT6 Interrupt
    5f36:	932c      	ld.w      	r1, (r3, 0x30)
    5f38:	3040      	movi      	r0, 64
    5f3a:	6840      	and      	r1, r0
    5f3c:	3940      	cmpnei      	r1, 0
    5f3e:	0bed      	bt      	0x5f18	// 5f18 <EXI4to9IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) 		//EXT7 Interrupt
    5f40:	932c      	ld.w      	r1, (r3, 0x30)
    5f42:	6848      	and      	r1, r2
    5f44:	3940      	cmpnei      	r1, 0
    5f46:	0c03      	bf      	0x5f4c	// 5f4c <EXI4to9IntHandler+0x4c>
		SYSCON->EXICR = EXI_PIN9;
    5f48:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5f4a:	07f1      	br      	0x5f2c	// 5f2c <EXI4to9IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) 		//EXT8 Interrupt
    5f4c:	3280      	movi      	r2, 128
    5f4e:	932c      	ld.w      	r1, (r3, 0x30)
    5f50:	4241      	lsli      	r2, r2, 1
    5f52:	6848      	and      	r1, r2
    5f54:	3940      	cmpnei      	r1, 0
    5f56:	0bf9      	bt      	0x5f48	// 5f48 <EXI4to9IntHandler+0x48>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 		//EXT9 Interrupt
    5f58:	3280      	movi      	r2, 128
    5f5a:	932c      	ld.w      	r1, (r3, 0x30)
    5f5c:	4242      	lsli      	r2, r2, 2
    5f5e:	6848      	and      	r1, r2
    5f60:	3940      	cmpnei      	r1, 0
    5f62:	0bf3      	bt      	0x5f48	// 5f48 <EXI4to9IntHandler+0x48>
    5f64:	07e4      	br      	0x5f2c	// 5f2c <EXI4to9IntHandler+0x2c>
    5f66:	0000      	bkpt
    5f68:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI10to15IntHandler:

00005f6c <EXI10to15IntHandler>:
//EXI4 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI10to15IntHandler(void) 
{
    5f6c:	1460      	nie
    5f6e:	1462      	ipush
    5f70:	14d0      	push      	r15
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) 			//EXT10 Interrupt
    5f72:	107d      	lrw      	r3, 0x2000005c	// 5fe4 <EXI10to15IntHandler+0x78>
    5f74:	3280      	movi      	r2, 128
    5f76:	9360      	ld.w      	r3, (r3, 0x0)
    5f78:	237f      	addi      	r3, 128
    5f7a:	932c      	ld.w      	r1, (r3, 0x30)
    5f7c:	4243      	lsli      	r2, r2, 3
    5f7e:	6848      	and      	r1, r2
    5f80:	3940      	cmpnei      	r1, 0
    5f82:	0c03      	bf      	0x5f88	// 5f88 <EXI10to15IntHandler+0x1c>
		
		RLY_Zero_Control();			//继电器控制
	}
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 		//EXT15 Interrupt
	{
		SYSCON->EXICR = EXI_PIN15;
    5f84:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    5f86:	0422      	br      	0x5fca	// 5fca <EXI10to15IntHandler+0x5e>
	else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) 		//EXT11 Interrupt
    5f88:	3280      	movi      	r2, 128
    5f8a:	932c      	ld.w      	r1, (r3, 0x30)
    5f8c:	4244      	lsli      	r2, r2, 4
    5f8e:	6848      	and      	r1, r2
    5f90:	3940      	cmpnei      	r1, 0
    5f92:	0bf9      	bt      	0x5f84	// 5f84 <EXI10to15IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) 		//EXT12 Interrupt
    5f94:	3280      	movi      	r2, 128
    5f96:	932c      	ld.w      	r1, (r3, 0x30)
    5f98:	4245      	lsli      	r2, r2, 5
    5f9a:	6848      	and      	r1, r2
    5f9c:	3940      	cmpnei      	r1, 0
    5f9e:	0bf3      	bt      	0x5f84	// 5f84 <EXI10to15IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) 		//EXT13 Interrupt
    5fa0:	3280      	movi      	r2, 128
    5fa2:	932c      	ld.w      	r1, (r3, 0x30)
    5fa4:	4246      	lsli      	r2, r2, 6
    5fa6:	6848      	and      	r1, r2
    5fa8:	3940      	cmpnei      	r1, 0
    5faa:	0bed      	bt      	0x5f84	// 5f84 <EXI10to15IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) 		//EXT14 Interrupt
    5fac:	3280      	movi      	r2, 128
    5fae:	932c      	ld.w      	r1, (r3, 0x30)
    5fb0:	4247      	lsli      	r2, r2, 7
    5fb2:	6848      	and      	r1, r2
    5fb4:	3940      	cmpnei      	r1, 0
    5fb6:	0c0f      	bf      	0x5fd4	// 5fd4 <EXI10to15IntHandler+0x68>
		SYSCON->EXICR = EXI_PIN14;
    5fb8:	b34b      	st.w      	r2, (r3, 0x2c)
		if(c_rly.rly_zCnt < 8){
    5fba:	104c      	lrw      	r2, 0x20000878	// 5fe8 <EXI10to15IntHandler+0x7c>
    5fbc:	8261      	ld.b      	r3, (r2, 0x1)
    5fbe:	3b07      	cmphsi      	r3, 8
    5fc0:	0803      	bt      	0x5fc6	// 5fc6 <EXI10to15IntHandler+0x5a>
			c_rly.rly_zCnt++;
    5fc2:	2300      	addi      	r3, 1
    5fc4:	a261      	st.b      	r3, (r2, 0x1)
		RLY_Zero_Control();			//继电器控制
    5fc6:	e00020b1 	bsr      	0xa128	// a128 <RLY_Zero_Control>
}
    5fca:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    5fce:	1401      	addi      	r14, r14, 4
    5fd0:	1463      	ipop
    5fd2:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 		//EXT15 Interrupt
    5fd4:	3280      	movi      	r2, 128
    5fd6:	932c      	ld.w      	r1, (r3, 0x30)
    5fd8:	4248      	lsli      	r2, r2, 8
    5fda:	6848      	and      	r1, r2
    5fdc:	3940      	cmpnei      	r1, 0
    5fde:	0bd3      	bt      	0x5f84	// 5f84 <EXI10to15IntHandler+0x18>
    5fe0:	07f5      	br      	0x5fca	// 5fca <EXI10to15IntHandler+0x5e>
    5fe2:	0000      	bkpt
    5fe4:	2000005c 	.long	0x2000005c
    5fe8:	20000878 	.long	0x20000878

Disassembly of section .text.LPTIntHandler:

00005fec <LPTIntHandler>:
//LPT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void LPTIntHandler(void) 
{
    5fec:	1460      	nie
    5fee:	1462      	ipush
    // ISR content ...
	if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0)			//TRGEV0 interrupt
    5ff0:	106b      	lrw      	r3, 0x20000014	// 601c <LPTIntHandler+0x30>
    5ff2:	3101      	movi      	r1, 1
    5ff4:	9360      	ld.w      	r3, (r3, 0x0)
    5ff6:	934e      	ld.w      	r2, (r3, 0x38)
    5ff8:	6884      	and      	r2, r1
    5ffa:	3a40      	cmpnei      	r2, 0
    5ffc:	0c03      	bf      	0x6002	// 6002 <LPTIntHandler+0x16>
	{
		LPT->ICR = LPT_MATCH;
	}
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)			//PEND interrupt
	{
		LPT->ICR = LPT_PEND;
    5ffe:	b330      	st.w      	r1, (r3, 0x40)
	}
}
    6000:	040b      	br      	0x6016	// 6016 <LPTIntHandler+0x2a>
	else if((LPT->MISR&LPT_MATCH)==LPT_MATCH)		//MATCH interrupt
    6002:	934e      	ld.w      	r2, (r3, 0x38)
    6004:	3102      	movi      	r1, 2
    6006:	6884      	and      	r2, r1
    6008:	3a40      	cmpnei      	r2, 0
    600a:	0bfa      	bt      	0x5ffe	// 5ffe <LPTIntHandler+0x12>
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)			//PEND interrupt
    600c:	934e      	ld.w      	r2, (r3, 0x38)
    600e:	3104      	movi      	r1, 4
    6010:	6884      	and      	r2, r1
    6012:	3a40      	cmpnei      	r2, 0
    6014:	0bf5      	bt      	0x5ffe	// 5ffe <LPTIntHandler+0x12>
}
    6016:	1463      	ipop
    6018:	1461      	nir
    601a:	0000      	bkpt
    601c:	20000014 	.long	0x20000014

Disassembly of section .text.BT0IntHandler:

00006020 <BT0IntHandler>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
U8_T BT_TEMP_State = 1;
void BT0IntHandler(void) 
{
    6020:	1460      	nie
    6022:	1462      	ipush
    // ISR content ...
	if((BT0->MISR&BT_PEND)==BT_PEND)				//BT0 PEND interrupt
    6024:	1071      	lrw      	r3, 0x2000000c	// 6068 <BT0IntHandler+0x48>
    6026:	3101      	movi      	r1, 1
    6028:	9360      	ld.w      	r3, (r3, 0x0)
    602a:	934c      	ld.w      	r2, (r3, 0x30)
    602c:	6884      	and      	r2, r1
    602e:	3a40      	cmpnei      	r2, 0
    6030:	0c0a      	bf      	0x6044	// 6044 <BT0IntHandler+0x24>
	{
		BT0->ICR = BT_PEND;
    6032:	b32d      	st.w      	r1, (r3, 0x34)
		
		//BT_Stop_Low(BT0);
		
		BT0->CR =BT0->CR & ~(0x01<<6);
    6034:	9341      	ld.w      	r2, (r3, 0x4)
    6036:	3a86      	bclri      	r2, 6
    6038:	b341      	st.w      	r2, (r3, 0x4)
		BT0->RSSR &=0X0;
    603a:	9340      	ld.w      	r2, (r3, 0x0)
    603c:	3200      	movi      	r2, 0
    603e:	b340      	st.w      	r2, (r3, 0x0)
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)			//BT0 Event trigger interrupt
	{
		BT0->ICR = BT_EVTRG;
	} 
}
    6040:	1463      	ipop
    6042:	1461      	nir
	else if((BT0->MISR&BT_CMP)==BT_CMP)				//BT0 CMP Match interrupt 
    6044:	934c      	ld.w      	r2, (r3, 0x30)
    6046:	3102      	movi      	r1, 2
    6048:	6884      	and      	r2, r1
    604a:	3a40      	cmpnei      	r2, 0
    604c:	0c03      	bf      	0x6052	// 6052 <BT0IntHandler+0x32>
		BT0->ICR = BT_EVTRG;
    604e:	b32d      	st.w      	r1, (r3, 0x34)
}
    6050:	07f8      	br      	0x6040	// 6040 <BT0IntHandler+0x20>
	else if((BT0->MISR&BT_OVF)==BT_OVF)				//BT0 OVF interrupt
    6052:	934c      	ld.w      	r2, (r3, 0x30)
    6054:	3104      	movi      	r1, 4
    6056:	6884      	and      	r2, r1
    6058:	3a40      	cmpnei      	r2, 0
    605a:	0bfa      	bt      	0x604e	// 604e <BT0IntHandler+0x2e>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)			//BT0 Event trigger interrupt
    605c:	934c      	ld.w      	r2, (r3, 0x30)
    605e:	3108      	movi      	r1, 8
    6060:	6884      	and      	r2, r1
    6062:	3a40      	cmpnei      	r2, 0
    6064:	0bf5      	bt      	0x604e	// 604e <BT0IntHandler+0x2e>
    6066:	07ed      	br      	0x6040	// 6040 <BT0IntHandler+0x20>
    6068:	2000000c 	.long	0x2000000c

Disassembly of section .text.BT1IntHandler:

0000606c <BT1IntHandler>:
//BT1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1IntHandler(void) 
{
    606c:	1460      	nie
    606e:	1462      	ipush
    6070:	14d0      	push      	r15
	static U8_T NUM = 0;
    // ISR content ...
	if((BT1->MISR&BT_PEND)==BT_PEND)				//BT1 PEND interrupt
    6072:	1079      	lrw      	r3, 0x20000008	// 60d4 <BT1IntHandler+0x68>
    6074:	3101      	movi      	r1, 1
    6076:	9360      	ld.w      	r3, (r3, 0x0)
    6078:	934c      	ld.w      	r2, (r3, 0x30)
    607a:	6884      	and      	r2, r1
    607c:	3a40      	cmpnei      	r2, 0
    607e:	0c03      	bf      	0x6084	// 6084 <BT1IntHandler+0x18>
	{
		BT1->ICR = BT_OVF;
	} 
	else if((BT1->MISR&BT_EVTRG)==BT_EVTRG)			//BT1 Event trigger interrupt
	{
		BT1->ICR = BT_EVTRG;
    6080:	b32d      	st.w      	r1, (r3, 0x34)
	} 
}
    6082:	0418      	br      	0x60b2	// 60b2 <BT1IntHandler+0x46>
	else if((BT1->MISR&BT_CMP)==BT_CMP)				//BT1 CMP Match interrupt 
    6084:	934c      	ld.w      	r2, (r3, 0x30)
    6086:	3102      	movi      	r1, 2
    6088:	6884      	and      	r2, r1
    608a:	3a40      	cmpnei      	r2, 0
    608c:	0c18      	bf      	0x60bc	// 60bc <BT1IntHandler+0x50>
		BT1->ICR = BT_CMP;
    608e:	b32d      	st.w      	r1, (r3, 0x34)
		NUM++;
    6090:	1072      	lrw      	r3, 0x200000b8	// 60d8 <BT1IntHandler+0x6c>
    6092:	8340      	ld.b      	r2, (r3, 0x0)
    6094:	2200      	addi      	r2, 1
    6096:	7488      	zextb      	r2, r2
		SysTick_100us++;
    6098:	9321      	ld.w      	r1, (r3, 0x4)
    609a:	2100      	addi      	r1, 1
		if(NUM >= 10){
    609c:	3a09      	cmphsi      	r2, 10
		NUM++;
    609e:	a340      	st.b      	r2, (r3, 0x0)
		SysTick_100us++;
    60a0:	b321      	st.w      	r1, (r3, 0x4)
		if(NUM >= 10){
    60a2:	0c08      	bf      	0x60b2	// 60b2 <BT1IntHandler+0x46>
			NUM = 0;
    60a4:	3200      	movi      	r2, 0
    60a6:	a340      	st.b      	r2, (r3, 0x0)
			SysTick_1ms++;
    60a8:	9342      	ld.w      	r2, (r3, 0x8)
    60aa:	2200      	addi      	r2, 1
    60ac:	b342      	st.w      	r2, (r3, 0x8)
			BusIdle_Task();
    60ae:	e0000279 	bsr      	0x65a0	// 65a0 <BusIdle_Task>
}
    60b2:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    60b6:	1401      	addi      	r14, r14, 4
    60b8:	1463      	ipop
    60ba:	1461      	nir
	else if((BT1->MISR&BT_OVF)==BT_OVF)				//BT1 OVF interrupt
    60bc:	934c      	ld.w      	r2, (r3, 0x30)
    60be:	3104      	movi      	r1, 4
    60c0:	6884      	and      	r2, r1
    60c2:	3a40      	cmpnei      	r2, 0
    60c4:	0bde      	bt      	0x6080	// 6080 <BT1IntHandler+0x14>
	else if((BT1->MISR&BT_EVTRG)==BT_EVTRG)			//BT1 Event trigger interrupt
    60c6:	934c      	ld.w      	r2, (r3, 0x30)
    60c8:	3108      	movi      	r1, 8
    60ca:	6884      	and      	r2, r1
    60cc:	3a40      	cmpnei      	r2, 0
    60ce:	0bd9      	bt      	0x6080	// 6080 <BT1IntHandler+0x14>
    60d0:	07f1      	br      	0x60b2	// 60b2 <BT1IntHandler+0x46>
    60d2:	0000      	bkpt
    60d4:	20000008 	.long	0x20000008
    60d8:	200000b8 	.long	0x200000b8

Disassembly of section .text.PriviledgeVioHandler:

000060dc <PriviledgeVioHandler>:
    60dc:	783c      	jmp      	r15

Disassembly of section .text.PendTrapHandler:

000060de <PendTrapHandler>:
    // ISR content ...

}

void PendTrapHandler(void) 
{
    60de:	1460      	nie
    60e0:	1462      	ipush
    // ISR content ...

}
    60e2:	1463      	ipop
    60e4:	1461      	nir

Disassembly of section .text.Trap3Handler:

000060e6 <Trap3Handler>:
    60e6:	1460      	nie
    60e8:	1462      	ipush
    60ea:	1463      	ipop
    60ec:	1461      	nir

Disassembly of section .text.Trap2Handler:

000060ee <Trap2Handler>:
    60ee:	1460      	nie
    60f0:	1462      	ipush
    60f2:	1463      	ipop
    60f4:	1461      	nir

Disassembly of section .text.Trap1Handler:

000060f6 <Trap1Handler>:
    60f6:	1460      	nie
    60f8:	1462      	ipush
    60fa:	1463      	ipop
    60fc:	1461      	nir

Disassembly of section .text.Trap0Handler:

000060fe <Trap0Handler>:
    60fe:	1460      	nie
    6100:	1462      	ipush
    6102:	1463      	ipop
    6104:	1461      	nir

Disassembly of section .text.UnrecExecpHandler:

00006106 <UnrecExecpHandler>:
    6106:	1460      	nie
    6108:	1462      	ipush
    610a:	1463      	ipop
    610c:	1461      	nir

Disassembly of section .text.BreakPointHandler:

0000610e <BreakPointHandler>:
    610e:	1460      	nie
    6110:	1462      	ipush
    6112:	1463      	ipop
    6114:	1461      	nir

Disassembly of section .text.AccessErrHandler:

00006116 <AccessErrHandler>:
    6116:	1460      	nie
    6118:	1462      	ipush
    611a:	1463      	ipop
    611c:	1461      	nir

Disassembly of section .text.IllegalInstrHandler:

0000611e <IllegalInstrHandler>:
    611e:	1460      	nie
    6120:	1462      	ipush
    6122:	1463      	ipop
    6124:	1461      	nir

Disassembly of section .text.MisalignedHandler:

00006126 <MisalignedHandler>:
    6126:	1460      	nie
    6128:	1462      	ipush
    612a:	1463      	ipop
    612c:	1461      	nir

Disassembly of section .text.CNTAIntHandler:

0000612e <CNTAIntHandler>:
    612e:	1460      	nie
    6130:	1462      	ipush
    6132:	1463      	ipop
    6134:	1461      	nir

Disassembly of section .text.I2CIntHandler:

00006136 <I2CIntHandler>:
    6136:	1460      	nie
    6138:	1462      	ipush
    613a:	1463      	ipop
    613c:	1461      	nir

Disassembly of section .text.__divsi3:

00006140 <__divsi3>:
CSP_BT_T    	*BT1      = (CSP_BT_T   *)APB_BT1Base ;
CSP_CRC_T   	*CRC      = (CSP_CRC_T  *)AHB_CRCBase ;
CSP_HWD_T   	*HWD      = (CSP_HWD_T  *)APB_HWDBase ;

int __divsi3 (  int a,   int b)
{   
    6140:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    6142:	c0006023 	mfcr      	r3, cr<0, 0>
    6146:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );

	HWD->CR = 0;
    614a:	1046      	lrw      	r2, 0x20000000	// 6160 <__divsi3+0x20>
    614c:	3400      	movi      	r4, 0
    614e:	9240      	ld.w      	r2, (r2, 0x0)
    6150:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    6152:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    6154:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    6156:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    6158:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);
					
	return HWD->QUOTIENT;
    615c:	9202      	ld.w      	r0, (r2, 0x8)
}
    615e:	1481      	pop      	r4
    6160:	20000000 	.long	0x20000000

Disassembly of section .text.__udivsi3:

00006164 <__udivsi3>:
 unsigned int __udivsi3 ( unsigned int a,  unsigned int b)
{   
    6164:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    6166:	c0006023 	mfcr      	r3, cr<0, 0>
    616a:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    616e:	1046      	lrw      	r2, 0x20000000	// 6184 <__udivsi3+0x20>
    6170:	3401      	movi      	r4, 1
    6172:	9240      	ld.w      	r2, (r2, 0x0)
    6174:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    6176:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    6178:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    617a:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    617c:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);

	return HWD->QUOTIENT;
    6180:	9202      	ld.w      	r0, (r2, 0x8)
}
    6182:	1481      	pop      	r4
    6184:	20000000 	.long	0x20000000

Disassembly of section .text.__modsi3:

00006188 <__modsi3>:

int __modsi3 ( int a,  int b)
{   
    6188:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    618a:	c0006023 	mfcr      	r3, cr<0, 0>
    618e:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 0;
    6192:	1046      	lrw      	r2, 0x20000000	// 61a8 <__modsi3+0x20>
    6194:	3400      	movi      	r4, 0
    6196:	9240      	ld.w      	r2, (r2, 0x0)
    6198:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    619a:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    619c:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    619e:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    61a0:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);	
	return HWD->REMAIN;
    61a4:	9203      	ld.w      	r0, (r2, 0xc)
}
    61a6:	1481      	pop      	r4
    61a8:	20000000 	.long	0x20000000

Disassembly of section .text.__umodsi3:

000061ac <__umodsi3>:

unsigned int __umodsi3 ( unsigned int a,  unsigned int b)
{   
    61ac:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    61ae:	c0006023 	mfcr      	r3, cr<0, 0>
    61b2:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    61b6:	1046      	lrw      	r2, 0x20000000	// 61cc <__umodsi3+0x20>
    61b8:	3401      	movi      	r4, 1
    61ba:	9240      	ld.w      	r2, (r2, 0x0)
    61bc:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

	PSR |= 0x80000000;
    61be:	3bbf      	bseti      	r3, 31
	HWD->DIVIDENT = a;
    61c0:	b200      	st.w      	r0, (r2, 0x0)
	HWD->DIVISOR = b;
    61c2:	b221      	st.w      	r1, (r2, 0x4)
	__asm volatile(
    61c4:	c0036420 	mtcr      	r3, cr<0, 0>
					 "mtcr %0 , psr \n\r"
					 : 
					 :"r"(PSR)
					);	
	return HWD->REMAIN;
    61c8:	9203      	ld.w      	r0, (r2, 0xc)
}
    61ca:	1481      	pop      	r4
    61cc:	20000000 	.long	0x20000000

Disassembly of section .text.CK_CPU_EnAllNormalIrq:

000061d0 <CK_CPU_EnAllNormalIrq>:
}


void CK_CPU_EnAllNormalIrq(void)
{
  asm  ("psrset ee,ie");
    61d0:	c1807420 	psrset      	ee, ie
}
    61d4:	783c      	jmp      	r15

Disassembly of section .text.CK_CPU_DisAllNormalIrq:

000061d6 <CK_CPU_DisAllNormalIrq>:

void CK_CPU_DisAllNormalIrq(void)
{
 asm  ("psrclr ie");
    61d6:	c0807020 	psrclr      	ie
}
    61da:	783c      	jmp      	r15

Disassembly of section .text.UARTx_Init:

000061dc <UARTx_Init>:
UART_t g_uart[3];	
U8_T	DealBuffer[USART_BUFFER_SIZE] = {0};	//数据处理缓冲
U16_T	DealLen = 0x00;
MULIT_t m_send;	

void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
    61dc:	14d2      	push      	r4-r5, r15
	switch(uart_id){
    61de:	3841      	cmpnei      	r0, 1
void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
    61e0:	6d07      	mov      	r4, r1
	switch(uart_id){
    61e2:	0c1e      	bf      	0x621e	// 621e <UARTx_Init+0x42>
    61e4:	3840      	cmpnei      	r0, 0
    61e6:	0c04      	bf      	0x61ee	// 61ee <UARTx_Init+0x12>
    61e8:	3842      	cmpnei      	r0, 2
    61ea:	0c37      	bf      	0x6258	// 6258 <UARTx_Init+0x7c>
			GPIO_DriveStrength_EN(GPIOB0,3);
			GPIO_Write_Low(GPIOB0,3);
			
			break;
	}
}
    61ec:	1492      	pop      	r4-r5, r15
			UART0_DeInit();                                               //clear all UART Register
    61ee:	e3fff4f5 	bsr      	0x4bd8	// 4bd8 <UART0_DeInit>
			UART_IO_Init(IO_UART0,0);                                     //use PA0.1->RXD0, PA0.0->TXD0
    61f2:	3100      	movi      	r1, 0
    61f4:	3000      	movi      	r0, 0
    61f6:	e3fff531 	bsr      	0x4c58	// 4c58 <UART_IO_Init>
			UARTInitRxTxIntEn(UART0,5000,UART_PAR_NONE);				  //baudrate=sysclock 48M/1000=4800,tx rx int enabled 
    61fa:	116f      	lrw      	r3, 0x20000040	// 62b4 <UARTx_Init+0xd8>
    61fc:	3200      	movi      	r2, 0
    61fe:	9300      	ld.w      	r0, (r3, 0x0)
    6200:	112e      	lrw      	r1, 0x1388	// 62b8 <UARTx_Init+0xdc>
    6202:	e3fff5a9 	bsr      	0x4d54	// 4d54 <UARTInitRxTxIntEn>
			memset(&g_uart[UART_0],0,sizeof(UART_t));
    6206:	11ae      	lrw      	r5, 0x200002f0	// 62bc <UARTx_Init+0xe0>
			UART0_Int_Enable();
    6208:	e3fff50c 	bsr      	0x4c20	// 4c20 <UART0_Int_Enable>
			memset(&g_uart[UART_0],0,sizeof(UART_t));
    620c:	3274      	movi      	r2, 116
    620e:	3100      	movi      	r1, 0
    6210:	6c17      	mov      	r0, r5
    6212:	e3ffefc5 	bsr      	0x419c	// 419c <__memset_fast>
			g_uart[UART_0].RecvTimeout = Recv_9600_TimeOut;
    6216:	3303      	movi      	r3, 3
    6218:	b57a      	st.w      	r3, (r5, 0x68)
			g_uart[UART_0].processing_cf = prt_cf;
    621a:	b59c      	st.w      	r4, (r5, 0x70)
			break;
    621c:	07e8      	br      	0x61ec	// 61ec <UARTx_Init+0x10>
			UART1_DeInit();                                                 //clear all UART Register
    621e:	e3fff4e9 	bsr      	0x4bf0	// 4bf0 <UART1_DeInit>
			UART_IO_Init(IO_UART1,2);                                    	//use PA0.13->RXD1, PB0.0->TXD1
    6222:	3102      	movi      	r1, 2
    6224:	3001      	movi      	r0, 1
    6226:	e3fff519 	bsr      	0x4c58	// 4c58 <UART_IO_Init>
			UARTInit(UART1,416,UART_PAR_NONE);							  //baudrate=sysclock 48M/416=115200
    622a:	11a6      	lrw      	r5, 0x2000003c	// 62c0 <UARTx_Init+0xe4>
    622c:	31d0      	movi      	r1, 208
    622e:	3200      	movi      	r2, 0
    6230:	4121      	lsli      	r1, r1, 1
    6232:	9500      	ld.w      	r0, (r5, 0x0)
    6234:	e3fff588 	bsr      	0x4d44	// 4d44 <UARTInit>
			UARTInitRxTxIntEn(UART1,416,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
    6238:	31d0      	movi      	r1, 208
    623a:	9500      	ld.w      	r0, (r5, 0x0)
    623c:	3200      	movi      	r2, 0
    623e:	4121      	lsli      	r1, r1, 1
    6240:	e3fff58a 	bsr      	0x4d54	// 4d54 <UARTInitRxTxIntEn>
			memset(&g_uart[UART_1],0,sizeof(UART_t));
    6244:	3274      	movi      	r2, 116
    6246:	3100      	movi      	r1, 0
    6248:	101f      	lrw      	r0, 0x20000364	// 62c4 <UARTx_Init+0xe8>
    624a:	e3ffefa9 	bsr      	0x419c	// 419c <__memset_fast>
			g_uart[UART_1].RecvTimeout = Recv_115200_TimeOut;
    624e:	107f      	lrw      	r3, 0x20000370	// 62c8 <UARTx_Init+0xec>
    6250:	3203      	movi      	r2, 3
    6252:	b357      	st.w      	r2, (r3, 0x5c)
			g_uart[UART_1].processing_cf = prt_cf;
    6254:	b399      	st.w      	r4, (r3, 0x64)
			break;
    6256:	07cb      	br      	0x61ec	// 61ec <UARTx_Init+0x10>
			UART2_DeInit();                                                 //clear all UART Register
    6258:	e3fff4d8 	bsr      	0x4c08	// 4c08 <UART2_DeInit>
			UART_IO_Init(IO_UART2,2);                                    	//use PB0.4->RXD1, PB0.5->TXD1
    625c:	3102      	movi      	r1, 2
    625e:	3002      	movi      	r0, 2
    6260:	e3fff4fc 	bsr      	0x4c58	// 4c58 <UART_IO_Init>
			UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
    6264:	107a      	lrw      	r3, 0x20000038	// 62cc <UARTx_Init+0xf0>
    6266:	3200      	movi      	r2, 0
    6268:	9300      	ld.w      	r0, (r3, 0x0)
    626a:	1034      	lrw      	r1, 0x1388	// 62b8 <UARTx_Init+0xdc>
    626c:	e3fff574 	bsr      	0x4d54	// 4d54 <UARTInitRxTxIntEn>
			UART2_Int_Enable();
    6270:	e3fff4e6 	bsr      	0x4c3c	// 4c3c <UART2_Int_Enable>
			memset(&g_uart[UART_2],0,sizeof(UART_t));
    6274:	3274      	movi      	r2, 116
    6276:	3100      	movi      	r1, 0
    6278:	1016      	lrw      	r0, 0x200003d8	// 62d0 <UARTx_Init+0xf4>
    627a:	e3ffef91 	bsr      	0x419c	// 419c <__memset_fast>
			memset(&m_send,0,sizeof(MULIT_t));
    627e:	3288      	movi      	r2, 136
    6280:	3100      	movi      	r1, 0
    6282:	1015      	lrw      	r0, 0x2000044c	// 62d4 <UARTx_Init+0xf8>
    6284:	e3ffef8c 	bsr      	0x419c	// 419c <__memset_fast>
			m_send.HighBit_Flag = 0x01;
    6288:	1074      	lrw      	r3, 0x200004ac	// 62d8 <UARTx_Init+0xfc>
    628a:	3201      	movi      	r2, 1
    628c:	a345      	st.b      	r2, (r3, 0x5)
			g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut;
    628e:	1074      	lrw      	r3, 0x200003f0	// 62dc <UARTx_Init+0x100>
			g_uart[UART_2].processing_cf = prt_cf;
    6290:	b396      	st.w      	r4, (r3, 0x58)
			g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut;
    6292:	3203      	movi      	r2, 3
			GPIO_Init(GPIOB0,3,Output);
    6294:	1093      	lrw      	r4, 0x20000048	// 62e0 <UARTx_Init+0x104>
    6296:	3103      	movi      	r1, 3
			g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut;
    6298:	b354      	st.w      	r2, (r3, 0x50)
			GPIO_Init(GPIOB0,3,Output);
    629a:	9400      	ld.w      	r0, (r4, 0x0)
    629c:	3200      	movi      	r2, 0
    629e:	e3fff1f5 	bsr      	0x4688	// 4688 <GPIO_Init>
			GPIO_DriveStrength_EN(GPIOB0,3);
    62a2:	9400      	ld.w      	r0, (r4, 0x0)
    62a4:	3103      	movi      	r1, 3
    62a6:	e3fff26b 	bsr      	0x477c	// 477c <GPIO_DriveStrength_EN>
			GPIO_Write_Low(GPIOB0,3);
    62aa:	9400      	ld.w      	r0, (r4, 0x0)
    62ac:	3103      	movi      	r1, 3
    62ae:	e3fff3ad 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
}
    62b2:	079d      	br      	0x61ec	// 61ec <UARTx_Init+0x10>
    62b4:	20000040 	.long	0x20000040
    62b8:	00001388 	.long	0x00001388
    62bc:	200002f0 	.long	0x200002f0
    62c0:	2000003c 	.long	0x2000003c
    62c4:	20000364 	.long	0x20000364
    62c8:	20000370 	.long	0x20000370
    62cc:	20000038 	.long	0x20000038
    62d0:	200003d8 	.long	0x200003d8
    62d4:	2000044c 	.long	0x2000044c
    62d8:	200004ac 	.long	0x200004ac
    62dc:	200003f0 	.long	0x200003f0
    62e0:	20000048 	.long	0x20000048

Disassembly of section .text.UART2_RecvINT_Processing:

000062e4 <UART2_RecvINT_Processing>:

/*******************************************************************************
* Function Name  : UART2_RecvINT_Processing 
* Description    : 串口2 接收中断处理函数 - 接收中断调用
*******************************************************************************/
void UART2_RecvINT_Processing(char data){
    62e4:	14c1      	push      	r4
	if((g_uart[UART_2].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_2].RecvLen = 0;
    62e6:	104e      	lrw      	r2, 0x2000043e	// 631c <UART2_RecvINT_Processing+0x38>
    62e8:	8a20      	ld.h      	r1, (r2, 0x0)
    62ea:	3362      	movi      	r3, 98
    62ec:	644d      	cmplt      	r3, r1
    62ee:	0c03      	bf      	0x62f4	// 62f4 <UART2_RecvINT_Processing+0x10>
    62f0:	3300      	movi      	r3, 0
    62f2:	aa60      	st.h      	r3, (r2, 0x0)
	g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data;
    62f4:	8a60      	ld.h      	r3, (r2, 0x0)
    62f6:	102b      	lrw      	r1, 0x200002f0	// 6320 <UART2_RecvINT_Processing+0x3c>
    62f8:	5b82      	addi      	r4, r3, 1
    62fa:	60c4      	addu      	r3, r1
    62fc:	23e7      	addi      	r3, 232
    62fe:	a300      	st.b      	r0, (r3, 0x0)
    6300:	aa80      	st.h      	r4, (r2, 0x0)
	
	g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    6302:	1069      	lrw      	r3, 0x200000c0	// 6324 <UART2_RecvINT_Processing+0x40>
    6304:	9340      	ld.w      	r2, (r3, 0x0)
    6306:	3380      	movi      	r3, 128
    6308:	4361      	lsli      	r3, r3, 1
    630a:	60c4      	addu      	r3, r1
    630c:	b355      	st.w      	r2, (r3, 0x54)
	g_uart[UART_2].Receiving = 0x01;
    630e:	33a6      	movi      	r3, 166
    6310:	4361      	lsli      	r3, r3, 1
    6312:	604c      	addu      	r1, r3
    6314:	3301      	movi      	r3, 1
    6316:	a160      	st.b      	r3, (r1, 0x0)
}
    6318:	1481      	pop      	r4
    631a:	0000      	bkpt
    631c:	2000043e 	.long	0x2000043e
    6320:	200002f0 	.long	0x200002f0
    6324:	200000c0 	.long	0x200000c0

Disassembly of section .text.UART2_TASK:

00006328 <UART2_TASK>:


void UART2_TASK(void){
    6328:	14d4      	push      	r4-r7, r15
    632a:	1421      	subi      	r14, r14, 4
	U8_T rev = 0xFF;
	if(g_uart[UART_2].Receiving == 0x01){
    632c:	10dc      	lrw      	r6, 0x2000043c	// 639c <UART2_TASK+0x74>
    632e:	8660      	ld.b      	r3, (r6, 0x0)
    6330:	3b41      	cmpnei      	r3, 1
    6332:	082d      	bt      	0x638c	// 638c <UART2_TASK+0x64>
		if(SysTick_1ms - g_uart[UART_2].RecvIdleTiming > g_uart[UART_2].RecvTimeout){
    6334:	10bb      	lrw      	r5, 0x200003f0	// 63a0 <UART2_TASK+0x78>
    6336:	109c      	lrw      	r4, 0x200000c0	// 63a4 <UART2_TASK+0x7c>
    6338:	9460      	ld.w      	r3, (r4, 0x0)
    633a:	9555      	ld.w      	r2, (r5, 0x54)
    633c:	60ca      	subu      	r3, r2
    633e:	9554      	ld.w      	r2, (r5, 0x50)
    6340:	64c8      	cmphs      	r2, r3
    6342:	0825      	bt      	0x638c	// 638c <UART2_TASK+0x64>

			SYSCON_Int_Disable();					//2025-03-19,复制接收缓冲到数据处理缓冲内
    6344:	e3fff140 	bsr      	0x45c4	// 45c4 <SYSCON_Int_Disable>
			g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    6348:	9460      	ld.w      	r3, (r4, 0x0)
    634a:	b575      	st.w      	r3, (r5, 0x54)
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    634c:	8e61      	ld.h      	r3, (r6, 0x2)
    634e:	6c8f      	mov      	r2, r3
    6350:	1036      	lrw      	r1, 0x200003d8	// 63a8 <UART2_TASK+0x80>
    6352:	1017      	lrw      	r0, 0x200000c4	// 63ac <UART2_TASK+0x84>
			DealLen = g_uart[UART_2].RecvLen;
    6354:	1097      	lrw      	r4, 0x20000104	// 63b0 <UART2_TASK+0x88>
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    6356:	b860      	st.w      	r3, (r14, 0x0)
    6358:	e3ffef66 	bsr      	0x4224	// 4224 <__memcpy_fast>
			DealLen = g_uart[UART_2].RecvLen;
    635c:	9860      	ld.w      	r3, (r14, 0x0)
    635e:	ac72      	st.h      	r3, (r4, 0x24)
			g_uart[UART_2].RecvLen = 0;
    6360:	3300      	movi      	r3, 0
    6362:	ae61      	st.h      	r3, (r6, 0x2)
			g_uart[UART_2].Receiving = 0;
    6364:	a660      	st.b      	r3, (r6, 0x0)
			SYSCON_Int_Enable();
    6366:	e3fff129 	bsr      	0x45b8	// 45b8 <SYSCON_Int_Enable>

#if DBG_LOG_EN
			Dbg_Println(DBG_BIT_SYS_STATUS, "UART2 recv Len %d", DealLen);
			Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART2 buff",DealBuffer,DealLen);
#endif
			if(g_uart[UART_2].processing_cf != NULL){
    636a:	9576      	ld.w      	r3, (r5, 0x58)
    636c:	3b40      	cmpnei      	r3, 0
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    636e:	5ee6      	addi      	r7, r6, 2
			if(g_uart[UART_2].processing_cf != NULL){
    6370:	0810      	bt      	0x6390	// 6390 <UART2_TASK+0x68>
                rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen);
            }
			
			if(rev != 0x00){
				/*设置本机触摸参数 - 通讯协议*/
				TouchKey_Comm_Processing(DealBuffer,DealLen);
    6372:	8c32      	ld.h      	r1, (r4, 0x24)
    6374:	100e      	lrw      	r0, 0x200000c4	// 63ac <UART2_TASK+0x84>
    6376:	e00005c9 	bsr      	0x6f08	// 6f08 <TouchKey_Comm_Processing>
			}
			
			/*Boot处理函数 */
			if(rev != 0x00)
			{
				Boot_Comm_UpgradeProcess(DealBuffer,DealLen);
    637a:	8c32      	ld.h      	r1, (r4, 0x24)
    637c:	100c      	lrw      	r0, 0x200000c4	// 63ac <UART2_TASK+0x84>
    637e:	e00014f7 	bsr      	0x8d6c	// 8d6c <Boot_Comm_UpgradeProcess>
			}


			memset(DealBuffer,0,USART_BUFFER_SIZE);		
    6382:	3264      	movi      	r2, 100
    6384:	3100      	movi      	r1, 0
    6386:	100a      	lrw      	r0, 0x200000c4	// 63ac <UART2_TASK+0x84>
    6388:	e3ffef0a 	bsr      	0x419c	// 419c <__memset_fast>
		}
	}
}
    638c:	1401      	addi      	r14, r14, 4
    638e:	1494      	pop      	r4-r7, r15
                rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen);
    6390:	8c32      	ld.h      	r1, (r4, 0x24)
    6392:	1007      	lrw      	r0, 0x200000c4	// 63ac <UART2_TASK+0x84>
    6394:	7bcd      	jsr      	r3
			if(rev != 0x00){
    6396:	3840      	cmpnei      	r0, 0
    6398:	0ff5      	bf      	0x6382	// 6382 <UART2_TASK+0x5a>
    639a:	07ec      	br      	0x6372	// 6372 <UART2_TASK+0x4a>
    639c:	2000043c 	.long	0x2000043c
    63a0:	200003f0 	.long	0x200003f0
    63a4:	200000c0 	.long	0x200000c0
    63a8:	200003d8 	.long	0x200003d8
    63ac:	200000c4 	.long	0x200000c4
    63b0:	20000104 	.long	0x20000104

Disassembly of section .text.BUS485_Send:

000063b4 <BUS485_Send>:
 * 			buff:发送数据
 * 			len：数据长度
 * @retval 	
 * */
U8_T BUS485_Send(U8_T *buff,U16_T len)
{
    63b4:	14d4      	push      	r4-r7, r15
    63b6:	1423      	subi      	r14, r14, 12
    63b8:	b802      	st.w      	r0, (r14, 0x8)
    63ba:	b820      	st.w      	r1, (r14, 0x0)
	unsigned int Dataval = 0,delay_cnt = 0;
    63bc:	3500      	movi      	r5, 0

	//等待通讯发送完成
	while(RS485_Comming == 0x01){
    63be:	1189      	lrw      	r4, 0x200000c4	// 6460 <BUS485_Send+0xac>
		
		delay_cnt ++;
		if(delay_cnt >= 100){
			break;
		}
		GPIO_Reverse(GPIOB0,3);
    63c0:	11c9      	lrw      	r6, 0x20000048	// 6464 <BUS485_Send+0xb0>
	while(RS485_Comming == 0x01){
    63c2:	947a      	ld.w      	r3, (r4, 0x68)
    63c4:	3b41      	cmpnei      	r3, 1
    63c6:	0c3e      	bf      	0x6442	// 6442 <BUS485_Send+0x8e>
	}

	if(m_send.BusState_Flag == UART_BUSIDLE){		//总线空闲
    63c8:	1168      	lrw      	r3, 0x200004ac	// 6468 <BUS485_Send+0xb4>
    63ca:	83c4      	ld.b      	r6, (r3, 0x4)
    63cc:	3e40      	cmpnei      	r6, 0
    63ce:	b861      	st.w      	r3, (r14, 0x4)
    63d0:	0845      	bt      	0x645a	// 645a <BUS485_Send+0xa6>
		
		CK_CPU_DisAllNormalIrq();	
		
		GPIO_Write_High(GPIOB0,3);
    63d2:	11e5      	lrw      	r7, 0x20000048	// 6464 <BUS485_Send+0xb0>
		CK_CPU_DisAllNormalIrq();	
    63d4:	e3ffff01 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
		GPIO_Write_High(GPIOB0,3);
    63d8:	3103      	movi      	r1, 3
    63da:	9700      	ld.w      	r0, (r7, 0x0)
    63dc:	e3fff312 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
		
		RS485_Comm_Flag = 0x01;
    63e0:	3201      	movi      	r2, 1
		RS485_Comm_Start = 0x00;
		RS485_Comm_End = 0x00;		
		
		m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙
    63e2:	9861      	ld.w      	r3, (r14, 0x4)
		RS485_Comm_Flag = 0x01;
    63e4:	b45b      	st.w      	r2, (r4, 0x6c)
		m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙
    63e6:	a344      	st.b      	r2, (r3, 0x4)
		RS485_Comm_Start = 0x00;
    63e8:	b4dc      	st.w      	r6, (r4, 0x70)
		m_send.BUSBUSY_LOCK = 0x01;			//锁定总线状态
    63ea:	a346      	st.b      	r2, (r3, 0x6)
		RS485_Comm_End = 0x00;		
    63ec:	b4dd      	st.w      	r6, (r4, 0x74)

		CK_CPU_EnAllNormalIrq();		
    63ee:	e3fffef1 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
		
		UARTTransmit(UART2,buff,len);
    63f2:	105f      	lrw      	r2, 0x20000038	// 646c <BUS485_Send+0xb8>
    63f4:	9200      	ld.w      	r0, (r2, 0x0)
    63f6:	9822      	ld.w      	r1, (r14, 0x8)
    63f8:	9840      	ld.w      	r2, (r14, 0x0)
    63fa:	e3fff4b5 	bsr      	0x4d64	// 4d64 <UARTTransmit>
		do{
			delay_nus(100);
    63fe:	3064      	movi      	r0, 100
    6400:	e3fff8b8 	bsr      	0x5570	// 5570 <delay_nus>
			delay_cnt ++;
    6404:	2500      	addi      	r5, 1
			if(delay_cnt >= 100){
    6406:	3363      	movi      	r3, 99
    6408:	654c      	cmphs      	r3, r5
    640a:	0c08      	bf      	0x641a	// 641a <BUS485_Send+0x66>
				break;
			}
			
		}while((RS485_Comm_Start < len) || (RS485_Comm_End < len));    //发送完成
    640c:	947c      	ld.w      	r3, (r4, 0x70)
    640e:	9840      	ld.w      	r2, (r14, 0x0)
    6410:	648d      	cmplt      	r3, r2
    6412:	0bf6      	bt      	0x63fe	// 63fe <BUS485_Send+0x4a>
    6414:	947d      	ld.w      	r3, (r4, 0x74)
    6416:	648d      	cmplt      	r3, r2
    6418:	0bf3      	bt      	0x63fe	// 63fe <BUS485_Send+0x4a>


		CK_CPU_DisAllNormalIrq();	
    641a:	e3fffede 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
		
		GPIO_Write_Low(GPIOB0,3);
    641e:	9700      	ld.w      	r0, (r7, 0x0)
    6420:	3103      	movi      	r1, 3
    6422:	e3fff2f3 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
		RS485_Comm_Flag = 0x00;			
    6426:	3300      	movi      	r3, 0
    6428:	b47b      	st.w      	r3, (r4, 0x6c)
		
		m_send.BusState_Tick = SysTick_1ms;
    642a:	1072      	lrw      	r3, 0x200000c0	// 6470 <BUS485_Send+0xbc>
    642c:	9340      	ld.w      	r2, (r3, 0x0)
    642e:	1072      	lrw      	r3, 0x2000044c	// 6474 <BUS485_Send+0xc0>
    6430:	b35f      	st.w      	r2, (r3, 0x7c)
		m_send.BUSBUSY_LOCK = 0x00;			//解锁总线状态
    6432:	9861      	ld.w      	r3, (r14, 0x4)
    6434:	3200      	movi      	r2, 0
    6436:	a346      	st.b      	r2, (r3, 0x6)
		
		CK_CPU_EnAllNormalIrq();			
    6438:	e3fffecc 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	{ 		
		return UART_BUSBUSY;	//发送失败
	}	
	
	return 0x02;		//传入状态无效
}
    643c:	6c1b      	mov      	r0, r6
    643e:	1403      	addi      	r14, r14, 12
    6440:	1494      	pop      	r4-r7, r15
		delay_nus(100);
    6442:	3064      	movi      	r0, 100
    6444:	e3fff896 	bsr      	0x5570	// 5570 <delay_nus>
		delay_cnt ++;
    6448:	2500      	addi      	r5, 1
		if(delay_cnt >= 100){
    644a:	3364      	movi      	r3, 100
    644c:	64d6      	cmpne      	r5, r3
    644e:	0fbd      	bf      	0x63c8	// 63c8 <BUS485_Send+0x14>
		GPIO_Reverse(GPIOB0,3);
    6450:	3103      	movi      	r1, 3
    6452:	9600      	ld.w      	r0, (r6, 0x0)
    6454:	e3fff2de 	bsr      	0x4a10	// 4a10 <GPIO_Reverse>
    6458:	07b5      	br      	0x63c2	// 63c2 <BUS485_Send+0xe>
		return UART_BUSBUSY;	//发送失败
    645a:	3601      	movi      	r6, 1
    645c:	07f0      	br      	0x643c	// 643c <BUS485_Send+0x88>
    645e:	0000      	bkpt
    6460:	200000c4 	.long	0x200000c4
    6464:	20000048 	.long	0x20000048
    6468:	200004ac 	.long	0x200004ac
    646c:	20000038 	.long	0x20000038
    6470:	200000c0 	.long	0x200000c0
    6474:	2000044c 	.long	0x2000044c

Disassembly of section .text.MultSend_Task:

00006478 <MultSend_Task>:
 * 			DatSd：发送标记,0x00:无发送，0x01：有数据发送
 * 
 * @retval 	0x00:发送成功	0x01:等待发送	0x02:数据无效
 * */
U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd)
{
    6478:	14d4      	push      	r4-r7, r15
    647a:	1421      	subi      	r14, r14, 4
	if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
    647c:	5963      	subi      	r3, r1, 1
    647e:	74cd      	zexth      	r3, r3
    6480:	3463      	movi      	r4, 99
    6482:	64d0      	cmphs      	r4, r3
{
    6484:	b800      	st.w      	r0, (r14, 0x0)
	if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
    6486:	0c29      	bf      	0x64d8	// 64d8 <MultSend_Task+0x60>
	
	if(DatSd == 0x01)	
    6488:	3a41      	cmpnei      	r2, 1
    648a:	0c04      	bf      	0x6492	// 6492 <MultSend_Task+0x1a>
		}else{
			Dbg_Println(DBG_BIT_Debug_STATUS,"retry end,%d",m_send.ResendCnt );
			return RETRY_END;//没有重发次数
		}
	}
	return BUSSEND_WAIT;//等待
    648c:	3001      	movi      	r0, 1
}
    648e:	1401      	addi      	r14, r14, 4
    6490:	1494      	pop      	r4-r7, r15
		if( m_send.ResendCnt < m_send.TotalCnt)	//判断数据是否还在有效期，是否还有发送次数
    6492:	1075      	lrw      	r3, 0x2000044c	// 64e4 <MultSend_Task+0x6c>
    6494:	3760      	movi      	r7, 96
    6496:	61cc      	addu      	r7, r3
    6498:	87c8      	ld.b      	r6, (r7, 0x8)
    649a:	874a      	ld.b      	r2, (r7, 0xa)
    649c:	6498      	cmphs      	r6, r2
    649e:	081f      	bt      	0x64dc	// 64dc <MultSend_Task+0x64>
			if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time)
    64a0:	3480      	movi      	r4, 128
    64a2:	10b2      	lrw      	r5, 0x200000c0	// 64e8 <MultSend_Task+0x70>
    64a4:	610c      	addu      	r4, r3
    64a6:	9401      	ld.w      	r0, (r4, 0x4)
    64a8:	9540      	ld.w      	r2, (r5, 0x0)
    64aa:	6082      	subu      	r2, r0
    64ac:	931e      	ld.w      	r0, (r3, 0x78)
    64ae:	6408      	cmphs      	r2, r0
    64b0:	0818      	bt      	0x64e0	// 64e0 <MultSend_Task+0x68>
				if( (m_send.ResendCnt == 0x00) || (SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time) ){//数据发送间隔
    64b2:	3e40      	cmpnei      	r6, 0
    64b4:	0c07      	bf      	0x64c2	// 64c2 <MultSend_Task+0x4a>
    64b6:	9540      	ld.w      	r2, (r5, 0x0)
    64b8:	94c0      	ld.w      	r6, (r4, 0x0)
    64ba:	609a      	subu      	r2, r6
    64bc:	937d      	ld.w      	r3, (r3, 0x74)
    64be:	64c8      	cmphs      	r2, r3
    64c0:	0fe6      	bf      	0x648c	// 648c <MultSend_Task+0x14>
					if(BUS485_Send(buff,len) == UART_BUSIDLE){	//发送数据
    64c2:	9800      	ld.w      	r0, (r14, 0x0)
    64c4:	e3ffff78 	bsr      	0x63b4	// 63b4 <BUS485_Send>
    64c8:	3840      	cmpnei      	r0, 0
    64ca:	0be1      	bt      	0x648c	// 648c <MultSend_Task+0x14>
						m_send.ASend_Tick = SysTick_1ms;
    64cc:	9560      	ld.w      	r3, (r5, 0x0)
    64ce:	b460      	st.w      	r3, (r4, 0x0)
						m_send.ResendCnt++;
    64d0:	8768      	ld.b      	r3, (r7, 0x8)
    64d2:	2300      	addi      	r3, 1
    64d4:	a768      	st.b      	r3, (r7, 0x8)
    64d6:	07dc      	br      	0x648e	// 648e <MultSend_Task+0x16>
	if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
    64d8:	3004      	movi      	r0, 4
    64da:	07da      	br      	0x648e	// 648e <MultSend_Task+0x16>
			return RETRY_END;//没有重发次数
    64dc:	3003      	movi      	r0, 3
    64de:	07d8      	br      	0x648e	// 648e <MultSend_Task+0x16>
				return DATA_END;//数据有效期结束
    64e0:	3002      	movi      	r0, 2
    64e2:	07d6      	br      	0x648e	// 648e <MultSend_Task+0x16>
    64e4:	2000044c 	.long	0x2000044c
    64e8:	200000c0 	.long	0x200000c0

Disassembly of section .text.Set_GroupSend:

000064ec <Set_GroupSend>:
 * 			indate：	设置数据有效期
 * 			tim_val:	发送时间间隔
 * @retval 	None
 * */
void Set_GroupSend(U8_T *data,U16_T sled,U8_T SCnt,U32_T indate,U32_T tim_val)
{
    64ec:	14d4      	push      	r4-r7, r15
    64ee:	1422      	subi      	r14, r14, 8
    64f0:	6d8b      	mov      	r6, r2
    64f2:	9847      	ld.w      	r2, (r14, 0x1c)
    64f4:	b840      	st.w      	r2, (r14, 0x0)
	if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
    64f6:	5943      	subi      	r2, r1, 1
{
    64f8:	6d47      	mov      	r5, r1
	if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
    64fa:	7489      	zexth      	r2, r2
    64fc:	3163      	movi      	r1, 99
    64fe:	6484      	cmphs      	r1, r2
{
    6500:	6dc3      	mov      	r7, r0
	if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
    6502:	0c20      	bf      	0x6542	// 6542 <Set_GroupSend+0x56>
	
	memset(m_send.SendBuffer,0, USART_SEND_SIZE);
    6504:	1091      	lrw      	r4, 0x2000044c	// 6548 <Set_GroupSend+0x5c>
    6506:	3264      	movi      	r2, 100
    6508:	3100      	movi      	r1, 0
    650a:	6c13      	mov      	r0, r4
    650c:	b861      	st.w      	r3, (r14, 0x4)
    650e:	e3ffee47 	bsr      	0x419c	// 419c <__memset_fast>
	memcpy(m_send.SendBuffer,data,sled);
    6512:	6c97      	mov      	r2, r5
    6514:	6c13      	mov      	r0, r4
    6516:	6c5f      	mov      	r1, r7
    6518:	e3ffee86 	bsr      	0x4224	// 4224 <__memcpy_fast>
	m_send.SendLen = sled;
    651c:	3240      	movi      	r2, 64
    651e:	6090      	addu      	r2, r4
	
	m_send.DataValid_Time = indate;//数据有效期
    6520:	9861      	ld.w      	r3, (r14, 0x4)
    6522:	b47e      	st.w      	r3, (r4, 0x78)
	m_send.SendLen = sled;
    6524:	aab7      	st.h      	r5, (r2, 0x2e)
	m_send.TotalCnt = SCnt;			//数据发送次数
    6526:	3360      	movi      	r3, 96
	m_send.DataWait_Time = tim_val;//发送数据间隔
    6528:	9840      	ld.w      	r2, (r14, 0x0)
	m_send.TotalCnt = SCnt;			//数据发送次数
    652a:	60d0      	addu      	r3, r4
	m_send.DataWait_Time = tim_val;//发送数据间隔
    652c:	b45d      	st.w      	r2, (r4, 0x74)
	
	m_send.ASend_Flag = 0x01;
    652e:	3201      	movi      	r2, 1
    6530:	a349      	st.b      	r2, (r3, 0x9)
	m_send.SendState = BUSSEND_WAIT;
    6532:	a347      	st.b      	r2, (r3, 0x7)
	m_send.ResendCnt = 0x00;
    6534:	3200      	movi      	r2, 0
	m_send.TotalCnt = SCnt;			//数据发送次数
    6536:	a3ca      	st.b      	r6, (r3, 0xa)
	m_send.ResendCnt = 0x00;
    6538:	a348      	st.b      	r2, (r3, 0x8)
	m_send.BusbusyTimeout = SysTick_1ms;
    653a:	247f      	addi      	r4, 128
    653c:	1064      	lrw      	r3, 0x200000c0	// 654c <Set_GroupSend+0x60>
    653e:	9360      	ld.w      	r3, (r3, 0x0)
    6540:	b461      	st.w      	r3, (r4, 0x4)
}
    6542:	1402      	addi      	r14, r14, 8
    6544:	1494      	pop      	r4-r7, r15
    6546:	0000      	bkpt
    6548:	2000044c 	.long	0x2000044c
    654c:	200000c0 	.long	0x200000c0

Disassembly of section .text.Clear_SendFlag:

00006550 <Clear_SendFlag>:
//清除发送标志
void Clear_SendFlag(void)
{
	m_send.ASend_Flag = 0x00;
    6550:	1063      	lrw      	r3, 0x200004ac	// 655c <Clear_SendFlag+0xc>
    6552:	3200      	movi      	r2, 0
    6554:	a349      	st.b      	r2, (r3, 0x9)
	m_send.SendState = BUSSEND_SUCC;
    6556:	a347      	st.b      	r2, (r3, 0x7)
}
    6558:	783c      	jmp      	r15
    655a:	0000      	bkpt
    655c:	200004ac 	.long	0x200004ac

Disassembly of section .text.BUS485_Jump_Boot:

00006560 <BUS485_Jump_Boot>:
void BUS485_Jump_Boot(U8_T jump)
{
	m_send.Jump_Flag = jump;
    6560:	1062      	lrw      	r3, 0x200004ac	// 6568 <BUS485_Jump_Boot+0x8>
    6562:	a30c      	st.b      	r0, (r3, 0xc)
}
    6564:	783c      	jmp      	r15
    6566:	0000      	bkpt
    6568:	200004ac 	.long	0x200004ac

Disassembly of section .text.BUS485Send_Task:

0000656c <BUS485Send_Task>:

//485发送任务
void BUS485Send_Task(void)	//2025-03-29
{	
    656c:	14d1      	push      	r4, r15
	//空闲等待
	if(m_send.ASend_Flag == 0x01)
    656e:	108a      	lrw      	r4, 0x200004ac	// 6594 <BUS485Send_Task+0x28>
    6570:	8469      	ld.b      	r3, (r4, 0x9)
    6572:	3b41      	cmpnei      	r3, 1
    6574:	080e      	bt      	0x6590	// 6590 <BUS485Send_Task+0x24>
	{
		m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag);
    6576:	1069      	lrw      	r3, 0x2000048c	// 6598 <BUS485Send_Task+0x2c>
    6578:	8b37      	ld.h      	r1, (r3, 0x2e)
    657a:	3201      	movi      	r2, 1
    657c:	1008      	lrw      	r0, 0x2000044c	// 659c <BUS485Send_Task+0x30>
    657e:	e3ffff7d 	bsr      	0x6478	// 6478 <MultSend_Task>
    6582:	a407      	st.b      	r0, (r4, 0x7)
		
		if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效
    6584:	2801      	subi      	r0, 2
    6586:	7400      	zextb      	r0, r0
    6588:	3801      	cmphsi      	r0, 2
    658a:	0803      	bt      	0x6590	// 6590 <BUS485Send_Task+0x24>
		{
			Dbg_Println(DBG_BIT_Debug_STATUS,"send end");
			
			m_send.ASend_Flag = 0x00;		//清除发生标志位
    658c:	3300      	movi      	r3, 0
    658e:	a469      	st.b      	r3, (r4, 0x9)
//				SYSCON->UREG3 = g_boot.bootTimeout;		//向Boot 设定Boot超时时间
//				SYSCON_Software_Reset();
//			}			
		}
	}
}
    6590:	1491      	pop      	r4, r15
    6592:	0000      	bkpt
    6594:	200004ac 	.long	0x200004ac
    6598:	2000048c 	.long	0x2000048c
    659c:	2000044c 	.long	0x2000044c

Disassembly of section .text.BusIdle_Task:

000065a0 <BusIdle_Task>:
/**********************************************************
 * @brief	2025-03-25，检测总线空闲，在定时器中断里调用
 * @retval 	None
 * */
void BusIdle_Task(void)
{
    65a0:	14d2      	push      	r4-r5, r15
	if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01))
    65a2:	10ae      	lrw      	r5, 0x2000044c	// 65d8 <BusIdle_Task+0x38>
    65a4:	3460      	movi      	r4, 96
    65a6:	6114      	addu      	r4, r5
    65a8:	8464      	ld.b      	r3, (r4, 0x4)
    65aa:	3b40      	cmpnei      	r3, 0
    65ac:	0c15      	bf      	0x65d6	// 65d6 <BusIdle_Task+0x36>
    65ae:	8466      	ld.b      	r3, (r4, 0x6)
    65b0:	3b41      	cmpnei      	r3, 1
    65b2:	0c12      	bf      	0x65d6	// 65d6 <BusIdle_Task+0x36>
	{
		CK_CPU_DisAllNormalIrq();
    65b4:	e3fffe11 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
		if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) )
    65b8:	8465      	ld.b      	r3, (r4, 0x5)
    65ba:	3b41      	cmpnei      	r3, 1
    65bc:	080b      	bt      	0x65d2	// 65d2 <BusIdle_Task+0x32>
    65be:	1068      	lrw      	r3, 0x200000c0	// 65dc <BusIdle_Task+0x3c>
    65c0:	9340      	ld.w      	r2, (r3, 0x0)
    65c2:	957f      	ld.w      	r3, (r5, 0x7c)
    65c4:	608e      	subu      	r2, r3
    65c6:	957c      	ld.w      	r3, (r5, 0x70)
    65c8:	2305      	addi      	r3, 6
    65ca:	64c8      	cmphs      	r2, r3
    65cc:	0c03      	bf      	0x65d2	// 65d2 <BusIdle_Task+0x32>
		{
			m_send.BusState_Flag = UART_BUSIDLE;
    65ce:	3300      	movi      	r3, 0
    65d0:	a464      	st.b      	r3, (r4, 0x4)
		}	
		CK_CPU_EnAllNormalIrq();
    65d2:	e3fffdff 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	}
}
    65d6:	1492      	pop      	r4-r5, r15
    65d8:	2000044c 	.long	0x2000044c
    65dc:	200000c0 	.long	0x200000c0

Disassembly of section .text.BusBusy_Task:

000065e0 <BusBusy_Task>:
/*******************************************************************
 * @brief	检测总线繁忙，在串口接收RX引脚的外部中断服务函数里调用
 * @retval 	None
 * */
void BusBusy_Task(void)
{
    65e0:	14d2      	push      	r4-r5, r15
	CK_CPU_DisAllNormalIrq();
	m_send.BusState_Flag = UART_BUSBUSY;
    65e2:	1094      	lrw      	r4, 0x2000044c	// 6630 <BusBusy_Task+0x50>
    65e4:	3560      	movi      	r5, 96
	CK_CPU_DisAllNormalIrq();
    65e6:	e3fffdf8 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
	m_send.BusState_Flag = UART_BUSBUSY;
    65ea:	6150      	addu      	r5, r4
    65ec:	3301      	movi      	r3, 1
    65ee:	a564      	st.b      	r3, (r5, 0x4)
	m_send.BusState_Tick = SysTick_1ms;
	m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
    65f0:	310a      	movi      	r1, 10
	m_send.BusState_Tick = SysTick_1ms;
    65f2:	1071      	lrw      	r3, 0x200000c0	// 6634 <BusBusy_Task+0x54>
    65f4:	9340      	ld.w      	r2, (r3, 0x0)
	m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
    65f6:	9300      	ld.w      	r0, (r3, 0x0)
    65f8:	3380      	movi      	r3, 128
    65fa:	60d0      	addu      	r3, r4
    65fc:	9360      	ld.w      	r3, (r3, 0x0)
	m_send.BusState_Tick = SysTick_1ms;
    65fe:	b45f      	st.w      	r2, (r4, 0x7c)
	m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
    6600:	600e      	subu      	r0, r3
    6602:	e3fffdd5 	bsr      	0x61ac	// 61ac <__umodsi3>
    6606:	b41c      	st.w      	r0, (r4, 0x70)

	if(READ_RXLEVEL_STATE == 0x01){
    6608:	3105      	movi      	r1, 5
    660a:	108c      	lrw      	r4, 0x20000048	// 6638 <BusBusy_Task+0x58>
    660c:	9400      	ld.w      	r0, (r4, 0x0)
    660e:	e3fff20c 	bsr      	0x4a26	// 4a26 <GPIO_Read_Status>
    6612:	3841      	cmpnei      	r0, 1
    6614:	0806      	bt      	0x6620	// 6620 <BusBusy_Task+0x40>
		m_send.HighBit_Flag = 0x01;			//高电平标志置位
    6616:	3301      	movi      	r3, 1
	}else if(READ_RXLEVEL_STATE == 0x00){
		m_send.HighBit_Flag = 0x00;			//低电平
    6618:	a565      	st.b      	r3, (r5, 0x5)
	}	
	CK_CPU_EnAllNormalIrq();
    661a:	e3fffddb 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
}
    661e:	1492      	pop      	r4-r5, r15
	}else if(READ_RXLEVEL_STATE == 0x00){
    6620:	9400      	ld.w      	r0, (r4, 0x0)
    6622:	3105      	movi      	r1, 5
    6624:	e3fff201 	bsr      	0x4a26	// 4a26 <GPIO_Read_Status>
    6628:	3840      	cmpnei      	r0, 0
    662a:	0bf8      	bt      	0x661a	// 661a <BusBusy_Task+0x3a>
		m_send.HighBit_Flag = 0x00;			//低电平
    662c:	3300      	movi      	r3, 0
    662e:	07f5      	br      	0x6618	// 6618 <BusBusy_Task+0x38>
    6630:	2000044c 	.long	0x2000044c
    6634:	200000c0 	.long	0x200000c0
    6638:	20000048 	.long	0x20000048

Disassembly of section .text.Dbg_Println:

0000663c <Dbg_Println>:
    }

#endif	
}

void Dbg_Println(int DbgOptBit, const char *cmd, ...){
    663c:	1423      	subi      	r14, r14, 12
    663e:	b862      	st.w      	r3, (r14, 0x8)
    6640:	b841      	st.w      	r2, (r14, 0x4)
    6642:	b820      	st.w      	r1, (r14, 0x0)
		
		
    }

#endif	
}
    6644:	1403      	addi      	r14, r14, 12
    6646:	783c      	jmp      	r15

Disassembly of section .text.Dbg_Print_Buff:

00006648 <Dbg_Print_Buff>:
		
		DBG_Printf("\r\n",2);
    }

#endif	
}
    6648:	783c      	jmp      	r15

Disassembly of section .text.Touch_Key_Init:

0000664c <Touch_Key_Init>:

TOUCHKEY_INFO_T g_key;

TOUCHKEY_PARA	touch_para;		//触摸参数

void Touch_Key_Init(void){
    664c:	14d1      	push      	r4, r15
	U8_T rev = 0;
	memset(&g_key,0,sizeof(TOUCHKEY_INFO_T));
    664e:	3234      	movi      	r2, 52
    6650:	3100      	movi      	r1, 0
    6652:	1014      	lrw      	r0, 0x200004f0	// 66a0 <Touch_Key_Init+0x54>
    6654:	e3ffeda4 	bsr      	0x419c	// 419c <__memset_fast>
//	memset(&touch_state,0,sizeof(TOUCH_STATUS_T));
	memset(&touch_para,0,sizeof(TOUCHKEY_PARA));
    6658:	321c      	movi      	r2, 28
    665a:	3100      	movi      	r1, 0
    665c:	1012      	lrw      	r0, 0x200004d4	// 66a4 <Touch_Key_Init+0x58>
    665e:	e3ffed9f 	bsr      	0x419c	// 419c <__memset_fast>
//		g_tk_filt[i].base_update_en = 0x01;
//	}
	
	EEPROM_Init();     //按键库初始化前先读取参数
	
	rev = EEPROM_ReadTouchPara(g_eeprom.key_sens_level,&touch_para);
    6662:	1092      	lrw      	r4, 0x20000524	// 66a8 <Touch_Key_Init+0x5c>
	EEPROM_Init();     //按键库初始化前先读取参数
    6664:	e000057c 	bsr      	0x715c	// 715c <EEPROM_Init>
	rev = EEPROM_ReadTouchPara(g_eeprom.key_sens_level,&touch_para);
    6668:	8405      	ld.b      	r0, (r4, 0x5)
    666a:	102f      	lrw      	r1, 0x200004d4	// 66a4 <Touch_Key_Init+0x58>
    666c:	e00005da 	bsr      	0x7220	// 7220 <EEPROM_ReadTouchPara>
	if(rev == 0x00){
    6670:	3840      	cmpnei      	r0, 0
    6672:	080e      	bt      	0x668e	// 668e <Touch_Key_Init+0x42>
		EEPROM_Validate_TouchPara(g_eeprom.key_sens_level,&touch_para);
    6674:	8405      	ld.b      	r0, (r4, 0x5)
    6676:	102c      	lrw      	r1, 0x200004d4	// 66a4 <Touch_Key_Init+0x58>
    6678:	e000062a 	bsr      	0x72cc	// 72cc <EEPROM_Validate_TouchPara>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Default TouchPara");
		EEPROM_Default_TouchPara(g_eeprom.key_sens_level,&touch_para);
//		EEPROM_WriteTouchPara(g_eeprom.key_sens_level,&touch_para);
	}
	
	EEPROM_TouchPara_Printf(&touch_para);
    667c:	100a      	lrw      	r0, 0x200004d4	// 66a4 <Touch_Key_Init+0x58>
    667e:	e00006cd 	bsr      	0x7418	// 7418 <EEPROM_TouchPara_Printf>
	
//	tk_scan_para0=0x70008;
//	tk_overflow_en  =0;
	tk_init();		//触摸库初始化
    6682:	e0002e8b 	bsr      	0xc398	// c398 <tk_init>

	base_update_f = 0x01;		//触摸状态强制更新
    6686:	106a      	lrw      	r3, 0x200009cd	// 66ac <Touch_Key_Init+0x60>
    6688:	3201      	movi      	r2, 1
    668a:	a340      	st.b      	r2, (r3, 0x0)
	
}
    668c:	1491      	pop      	r4, r15
		Dbg_Println(DBG_BIT_SYS_STATUS,"Default TouchPara");
    668e:	1029      	lrw      	r1, 0xcbf2	// 66b0 <Touch_Key_Init+0x64>
    6690:	3000      	movi      	r0, 0
    6692:	e3ffffd5 	bsr      	0x663c	// 663c <Dbg_Println>
		EEPROM_Default_TouchPara(g_eeprom.key_sens_level,&touch_para);
    6696:	8405      	ld.b      	r0, (r4, 0x5)
    6698:	1023      	lrw      	r1, 0x200004d4	// 66a4 <Touch_Key_Init+0x58>
    669a:	e0000687 	bsr      	0x73a8	// 73a8 <EEPROM_Default_TouchPara>
    669e:	07ef      	br      	0x667c	// 667c <Touch_Key_Init+0x30>
    66a0:	200004f0 	.long	0x200004f0
    66a4:	200004d4 	.long	0x200004d4
    66a8:	20000524 	.long	0x20000524
    66ac:	200009cd 	.long	0x200009cd
    66b0:	0000cbf2 	.long	0x0000cbf2

Disassembly of section .text.Get_TouchKey_CH_State:

000066b4 <Get_TouchKey_CH_State>:
//
//	MCU485_SendData(temp_buff,temp_send_len);
}


U8_T Get_TouchKey_CH_State(U8_T ch){
    66b4:	14d0      	push      	r15
	U8_T state = 0;
	
	switch(ch){
    66b6:	3804      	cmphsi      	r0, 5
    66b8:	0818      	bt      	0x66e8	// 66e8 <Get_TouchKey_CH_State+0x34>
    66ba:	106d      	lrw      	r3, 0x200004f0	// 66ec <Get_TouchKey_CH_State+0x38>
    66bc:	e3ffe720 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    66c0:	0e0b0803 	.long	0x0e0b0803
    66c4:	0011      	.short	0x0011
		case TKE_CH1:
			if(g_key.key_state & 0x0200){
    66c6:	930a      	ld.w      	r0, (r3, 0x28)
    66c8:	4809      	lsri      	r0, r0, 9
//			if(g_tk_filt[TKE_CH4].triggle_state == 0x01){
//				state = 0x01;
//			}
			break;
		case TKE_CH5:
			if(g_key.key_state & 0x2000){
    66ca:	3301      	movi      	r3, 1
	U8_T state = 0;
    66cc:	680c      	and      	r0, r3
//			}
			break;
	}
	
	return state;
}
    66ce:	1490      	pop      	r15
			if(g_key.key_state & 0x0400){
    66d0:	930a      	ld.w      	r0, (r3, 0x28)
    66d2:	480a      	lsri      	r0, r0, 10
    66d4:	07fb      	br      	0x66ca	// 66ca <Get_TouchKey_CH_State+0x16>
			if(g_key.key_state & 0x0800){
    66d6:	930a      	ld.w      	r0, (r3, 0x28)
    66d8:	480b      	lsri      	r0, r0, 11
    66da:	07f8      	br      	0x66ca	// 66ca <Get_TouchKey_CH_State+0x16>
			if(g_key.key_state & 0x1000){
    66dc:	930a      	ld.w      	r0, (r3, 0x28)
    66de:	480c      	lsri      	r0, r0, 12
    66e0:	07f5      	br      	0x66ca	// 66ca <Get_TouchKey_CH_State+0x16>
			if(g_key.key_state & 0x2000){
    66e2:	930a      	ld.w      	r0, (r3, 0x28)
    66e4:	480d      	lsri      	r0, r0, 13
    66e6:	07f2      	br      	0x66ca	// 66ca <Get_TouchKey_CH_State+0x16>
	U8_T state = 0;
    66e8:	3000      	movi      	r0, 0
    66ea:	07f2      	br      	0x66ce	// 66ce <Get_TouchKey_CH_State+0x1a>
    66ec:	200004f0 	.long	0x200004f0

Disassembly of section .text.TouchKey_RS485_Printf_3:

000066f0 <TouchKey_RS485_Printf_3>:
void TouchKey_RS485_Printf_3(void){
    66f0:	14d4      	push      	r4-r7, r15
    66f2:	143b      	subi      	r14, r14, 108
	send_buff[send_len++] = 0x0D;
    66f4:	1c02      	addi      	r4, r14, 8
    66f6:	330d      	movi      	r3, 13
    66f8:	a460      	st.b      	r3, (r4, 0x0)
	send_buff[send_len++] = 0x0A;
    66fa:	330a      	movi      	r3, 10
    66fc:	a461      	st.b      	r3, (r4, 0x1)
    66fe:	3600      	movi      	r6, 0
	U16_T	trigger_state = 0x00;//触发状态
    6700:	3500      	movi      	r5, 0
		if(Get_TouchKey_CH_State(i) == 0x01)
    6702:	7418      	zextb      	r0, r6
    6704:	e3ffffd8 	bsr      	0x66b4	// 66b4 <Get_TouchKey_CH_State>
    6708:	3841      	cmpnei      	r0, 1
    670a:	0804      	bt      	0x6712	// 6712 <TouchKey_RS485_Printf_3+0x22>
			trigger_state = (trigger_state | (0x01<<i));
    670c:	7018      	lsl      	r0, r6
    670e:	6d40      	or      	r5, r0
    6710:	7555      	zexth      	r5, r5
    6712:	2600      	addi      	r6, 1
	for(i=0;i<TKE_CH_MAX;i++)
    6714:	3e45      	cmpnei      	r6, 5
    6716:	0bf6      	bt      	0x6702	// 6702 <TouchKey_RS485_Printf_3+0x12>
	send_buff[send_len++] = trigger_state>>8;		
    6718:	3300      	movi      	r3, 0
    671a:	a462      	st.b      	r3, (r4, 0x2)
	send_buff[send_len++] = trigger_state&0xff;		
    671c:	a4a3      	st.b      	r5, (r4, 0x3)
	i=MCU_Touch_CH[0];
    671e:	0277      	lrw      	r3, 0x20000068	// 69bc <TouchKey_RS485_Printf_3+0x2cc>
    6720:	5b42      	addi      	r2, r3, 1
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6722:	8361      	ld.b      	r3, (r3, 0x1)
    6724:	4361      	lsli      	r3, r3, 1
    6726:	02b8      	lrw      	r5, 0x20000bda	// 69c0 <TouchKey_RS485_Printf_3+0x2d0>
    6728:	5d2c      	addu      	r1, r5, r3
	i=MCU_Touch_CH[0];
    672a:	b841      	st.w      	r2, (r14, 0x4)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    672c:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    672e:	0219      	lrw      	r0, 0x20000888	// 69c4 <TouchKey_RS485_Printf_3+0x2d4>
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6730:	4a48      	lsri      	r2, r2, 8
    6732:	a444      	st.b      	r2, (r4, 0x4)
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    6734:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    6736:	582c      	addu      	r1, r0, r3
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    6738:	a445      	st.b      	r2, (r4, 0x5)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    673a:	8940      	ld.h      	r2, (r1, 0x0)
    673c:	4a48      	lsri      	r2, r2, 8
    673e:	a446      	st.b      	r2, (r4, 0x6)
	send_buff[send_len++] = baseline_data0[i]&0xff;
    6740:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    6742:	023d      	lrw      	r1, 0x20000b92	// 69c8 <TouchKey_RS485_Printf_3+0x2d8>
    6744:	604c      	addu      	r1, r3
	send_buff[send_len++] = baseline_data0[i]&0xff;
    6746:	a447      	st.b      	r2, (r4, 0x7)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    6748:	8940      	ld.h      	r2, (r1, 0x0)
    674a:	4a48      	lsri      	r2, r2, 8
    674c:	a448      	st.b      	r2, (r4, 0x8)
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    674e:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    6750:	0320      	lrw      	r1, 0x20000970	// 69cc <TouchKey_RS485_Printf_3+0x2dc>
    6752:	604c      	addu      	r1, r3
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    6754:	a449      	st.b      	r2, (r4, 0x9)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    6756:	8940      	ld.h      	r2, (r1, 0x0)
    6758:	4a48      	lsri      	r2, r2, 8
    675a:	a44a      	st.b      	r2, (r4, 0xa)
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    675c:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    675e:	0322      	lrw      	r1, 0x20000a32	// 69d0 <TouchKey_RS485_Printf_3+0x2e0>
    6760:	604c      	addu      	r1, r3
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    6762:	a44b      	st.b      	r2, (r4, 0xb)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    6764:	8940      	ld.h      	r2, (r1, 0x0)
    6766:	4a48      	lsri      	r2, r2, 8
    6768:	a44c      	st.b      	r2, (r4, 0xc)
	send_buff[send_len++] = baseline_data1[i]&0xff;
    676a:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    676c:	0325      	lrw      	r1, 0x200008f0	// 69d4 <TouchKey_RS485_Printf_3+0x2e4>
    676e:	604c      	addu      	r1, r3
	send_buff[send_len++] = baseline_data1[i]&0xff;
    6770:	a44d      	st.b      	r2, (r4, 0xd)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    6772:	8940      	ld.h      	r2, (r1, 0x0)
    6774:	4a48      	lsri      	r2, r2, 8
    6776:	a44e      	st.b      	r2, (r4, 0xe)
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    6778:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    677a:	0327      	lrw      	r1, 0x20000a66	// 69d8 <TouchKey_RS485_Printf_3+0x2e8>
    677c:	604c      	addu      	r1, r3
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    677e:	a44f      	st.b      	r2, (r4, 0xf)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6780:	8940      	ld.h      	r2, (r1, 0x0)
    6782:	4a48      	lsri      	r2, r2, 8
    6784:	a450      	st.b      	r2, (r4, 0x10)
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    6786:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    6788:	032a      	lrw      	r1, 0x20000b48	// 69dc <TouchKey_RS485_Printf_3+0x2ec>
    678a:	604c      	addu      	r1, r3
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    678c:	a451      	st.b      	r2, (r4, 0x11)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    678e:	8940      	ld.h      	r2, (r1, 0x0)
    6790:	4a48      	lsri      	r2, r2, 8
    6792:	a452      	st.b      	r2, (r4, 0x12)
	send_buff[send_len++] = baseline_data2[i]&0xff;
    6794:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    6796:	032c      	lrw      	r1, 0x200008c4	// 69e0 <TouchKey_RS485_Printf_3+0x2f0>
    6798:	60c4      	addu      	r3, r1
	send_buff[send_len++] = baseline_data2[i]&0xff;
    679a:	a453      	st.b      	r2, (r4, 0x13)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    679c:	8b40      	ld.h      	r2, (r3, 0x0)
	send_buff[send_len++] = offset_data2_abs[i]&0xff;
    679e:	8b60      	ld.h      	r3, (r3, 0x0)
    67a0:	a475      	st.b      	r3, (r4, 0x15)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    67a2:	4a48      	lsri      	r2, r2, 8
	send_buff[send_len++] = sampling_data0[i]>>8;		
    67a4:	9861      	ld.w      	r3, (r14, 0x4)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    67a6:	a454      	st.b      	r2, (r4, 0x14)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    67a8:	8341      	ld.b      	r2, (r3, 0x1)
    67aa:	4241      	lsli      	r2, r2, 1
    67ac:	5dc8      	addu      	r6, r5, r2
    67ae:	8e60      	ld.h      	r3, (r6, 0x0)
    67b0:	4b68      	lsri      	r3, r3, 8
    67b2:	a476      	st.b      	r3, (r4, 0x16)
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    67b4:	8e60      	ld.h      	r3, (r6, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    67b6:	58c8      	addu      	r6, r0, r2
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    67b8:	a477      	st.b      	r3, (r4, 0x17)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    67ba:	8e60      	ld.h      	r3, (r6, 0x0)
    67bc:	4b68      	lsri      	r3, r3, 8
    67be:	a478      	st.b      	r3, (r4, 0x18)
	send_buff[send_len++] = baseline_data0[i]&0xff;
    67c0:	8e60      	ld.h      	r3, (r6, 0x0)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    67c2:	03dd      	lrw      	r6, 0x20000b92	// 69c8 <TouchKey_RS485_Printf_3+0x2d8>
    67c4:	6188      	addu      	r6, r2
	send_buff[send_len++] = baseline_data0[i]&0xff;
    67c6:	a479      	st.b      	r3, (r4, 0x19)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    67c8:	8e60      	ld.h      	r3, (r6, 0x0)
    67ca:	4b68      	lsri      	r3, r3, 8
    67cc:	a47a      	st.b      	r3, (r4, 0x1a)
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    67ce:	8e60      	ld.h      	r3, (r6, 0x0)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    67d0:	13df      	lrw      	r6, 0x20000970	// 69cc <TouchKey_RS485_Printf_3+0x2dc>
    67d2:	6188      	addu      	r6, r2
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    67d4:	a47b      	st.b      	r3, (r4, 0x1b)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    67d6:	8e60      	ld.h      	r3, (r6, 0x0)
    67d8:	4b68      	lsri      	r3, r3, 8
    67da:	a47c      	st.b      	r3, (r4, 0x1c)
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    67dc:	8e60      	ld.h      	r3, (r6, 0x0)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    67de:	13dd      	lrw      	r6, 0x20000a32	// 69d0 <TouchKey_RS485_Printf_3+0x2e0>
    67e0:	6188      	addu      	r6, r2
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    67e2:	a47d      	st.b      	r3, (r4, 0x1d)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    67e4:	8e60      	ld.h      	r3, (r6, 0x0)
    67e6:	4b68      	lsri      	r3, r3, 8
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    67e8:	13fb      	lrw      	r7, 0x200008f0	// 69d4 <TouchKey_RS485_Printf_3+0x2e4>
    67ea:	61c8      	addu      	r7, r2
	send_buff[send_len++] = baseline_data1[i]>>8;		
    67ec:	a47e      	st.b      	r3, (r4, 0x1e)
	send_buff[send_len++] = baseline_data1[i]&0xff;
    67ee:	8e60      	ld.h      	r3, (r6, 0x0)
    67f0:	a47f      	st.b      	r3, (r4, 0x1f)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    67f2:	8fc0      	ld.h      	r6, (r7, 0x0)
    67f4:	3320      	movi      	r3, 32
    67f6:	60d0      	addu      	r3, r4
    67f8:	4ec8      	lsri      	r6, r6, 8
    67fa:	a3c0      	st.b      	r6, (r3, 0x0)
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    67fc:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    67fe:	13f7      	lrw      	r7, 0x20000a66	// 69d8 <TouchKey_RS485_Printf_3+0x2e8>
    6800:	61c8      	addu      	r7, r2
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    6802:	a3c1      	st.b      	r6, (r3, 0x1)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6804:	8fc0      	ld.h      	r6, (r7, 0x0)
    6806:	4ec8      	lsri      	r6, r6, 8
    6808:	a3c2      	st.b      	r6, (r3, 0x2)
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    680a:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    680c:	13f4      	lrw      	r7, 0x20000b48	// 69dc <TouchKey_RS485_Printf_3+0x2ec>
    680e:	61c8      	addu      	r7, r2
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    6810:	a3c3      	st.b      	r6, (r3, 0x3)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    6812:	8fc0      	ld.h      	r6, (r7, 0x0)
    6814:	4ec8      	lsri      	r6, r6, 8
    6816:	a3c4      	st.b      	r6, (r3, 0x4)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    6818:	6084      	addu      	r2, r1
	send_buff[send_len++] = baseline_data2[i]&0xff;
    681a:	8fc0      	ld.h      	r6, (r7, 0x0)
    681c:	a3c5      	st.b      	r6, (r3, 0x5)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    681e:	8ac0      	ld.h      	r6, (r2, 0x0)
	send_buff[send_len++] = offset_data2_abs[i]&0xff;	
    6820:	8a40      	ld.h      	r2, (r2, 0x0)
    6822:	a347      	st.b      	r2, (r3, 0x7)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6824:	9841      	ld.w      	r2, (r14, 0x4)
    6826:	8242      	ld.b      	r2, (r2, 0x2)
    6828:	4241      	lsli      	r2, r2, 1
    682a:	5de8      	addu      	r7, r5, r2
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    682c:	4ec8      	lsri      	r6, r6, 8
    682e:	a3c6      	st.b      	r6, (r3, 0x6)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6830:	8fc0      	ld.h      	r6, (r7, 0x0)
    6832:	4ec8      	lsri      	r6, r6, 8
    6834:	a3c8      	st.b      	r6, (r3, 0x8)
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    6836:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    6838:	58e8      	addu      	r7, r0, r2
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    683a:	a3c9      	st.b      	r6, (r3, 0x9)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    683c:	8fc0      	ld.h      	r6, (r7, 0x0)
    683e:	4ec8      	lsri      	r6, r6, 8
    6840:	a3ca      	st.b      	r6, (r3, 0xa)
	send_buff[send_len++] = baseline_data0[i]&0xff;
    6842:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    6844:	13e1      	lrw      	r7, 0x20000b92	// 69c8 <TouchKey_RS485_Printf_3+0x2d8>
    6846:	61c8      	addu      	r7, r2
	send_buff[send_len++] = baseline_data0[i]&0xff;
    6848:	a3cb      	st.b      	r6, (r3, 0xb)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    684a:	8fc0      	ld.h      	r6, (r7, 0x0)
    684c:	4ec8      	lsri      	r6, r6, 8
    684e:	a3cc      	st.b      	r6, (r3, 0xc)
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    6850:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    6852:	12ff      	lrw      	r7, 0x20000970	// 69cc <TouchKey_RS485_Printf_3+0x2dc>
    6854:	61c8      	addu      	r7, r2
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    6856:	a3cd      	st.b      	r6, (r3, 0xd)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    6858:	8fc0      	ld.h      	r6, (r7, 0x0)
    685a:	4ec8      	lsri      	r6, r6, 8
    685c:	a3ce      	st.b      	r6, (r3, 0xe)
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    685e:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    6860:	12fc      	lrw      	r7, 0x20000a32	// 69d0 <TouchKey_RS485_Printf_3+0x2e0>
    6862:	61c8      	addu      	r7, r2
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    6864:	a3cf      	st.b      	r6, (r3, 0xf)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    6866:	8fc0      	ld.h      	r6, (r7, 0x0)
    6868:	4ec8      	lsri      	r6, r6, 8
    686a:	a3d0      	st.b      	r6, (r3, 0x10)
	send_buff[send_len++] = baseline_data1[i]&0xff;
    686c:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    686e:	12fa      	lrw      	r7, 0x200008f0	// 69d4 <TouchKey_RS485_Printf_3+0x2e4>
    6870:	61c8      	addu      	r7, r2
	send_buff[send_len++] = baseline_data1[i]&0xff;
    6872:	a3d1      	st.b      	r6, (r3, 0x11)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    6874:	8fc0      	ld.h      	r6, (r7, 0x0)
    6876:	4ec8      	lsri      	r6, r6, 8
    6878:	a3d2      	st.b      	r6, (r3, 0x12)
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    687a:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    687c:	12f7      	lrw      	r7, 0x20000a66	// 69d8 <TouchKey_RS485_Printf_3+0x2e8>
    687e:	61c8      	addu      	r7, r2
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    6880:	a3d3      	st.b      	r6, (r3, 0x13)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6882:	8fc0      	ld.h      	r6, (r7, 0x0)
    6884:	4ec8      	lsri      	r6, r6, 8
    6886:	a3d4      	st.b      	r6, (r3, 0x14)
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    6888:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    688a:	12f5      	lrw      	r7, 0x20000b48	// 69dc <TouchKey_RS485_Printf_3+0x2ec>
    688c:	61c8      	addu      	r7, r2
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    688e:	a3d5      	st.b      	r6, (r3, 0x15)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    6890:	8fc0      	ld.h      	r6, (r7, 0x0)
    6892:	4ec8      	lsri      	r6, r6, 8
    6894:	a3d6      	st.b      	r6, (r3, 0x16)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    6896:	6084      	addu      	r2, r1
	send_buff[send_len++] = baseline_data2[i]&0xff;
    6898:	8fc0      	ld.h      	r6, (r7, 0x0)
    689a:	a3d7      	st.b      	r6, (r3, 0x17)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    689c:	8ac0      	ld.h      	r6, (r2, 0x0)
	send_buff[send_len++] = offset_data2_abs[i]&0xff;
    689e:	8a40      	ld.h      	r2, (r2, 0x0)
    68a0:	a359      	st.b      	r2, (r3, 0x19)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    68a2:	9841      	ld.w      	r2, (r14, 0x4)
    68a4:	8243      	ld.b      	r2, (r2, 0x3)
    68a6:	4241      	lsli      	r2, r2, 1
    68a8:	5de8      	addu      	r7, r5, r2
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    68aa:	4ec8      	lsri      	r6, r6, 8
    68ac:	a3d8      	st.b      	r6, (r3, 0x18)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    68ae:	8fc0      	ld.h      	r6, (r7, 0x0)
    68b0:	4ec8      	lsri      	r6, r6, 8
    68b2:	a3da      	st.b      	r6, (r3, 0x1a)
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    68b4:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    68b6:	58e8      	addu      	r7, r0, r2
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    68b8:	a3db      	st.b      	r6, (r3, 0x1b)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    68ba:	8fc0      	ld.h      	r6, (r7, 0x0)
    68bc:	4ec8      	lsri      	r6, r6, 8
    68be:	a3dc      	st.b      	r6, (r3, 0x1c)
	send_buff[send_len++] = baseline_data0[i]&0xff;
    68c0:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    68c2:	12e2      	lrw      	r7, 0x20000b92	// 69c8 <TouchKey_RS485_Printf_3+0x2d8>
    68c4:	61c8      	addu      	r7, r2
	send_buff[send_len++] = baseline_data0[i]&0xff;
    68c6:	a3dd      	st.b      	r6, (r3, 0x1d)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    68c8:	8fc0      	ld.h      	r6, (r7, 0x0)
    68ca:	4ec8      	lsri      	r6, r6, 8
    68cc:	a3de      	st.b      	r6, (r3, 0x1e)
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    68ce:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    68d0:	11ff      	lrw      	r7, 0x20000970	// 69cc <TouchKey_RS485_Printf_3+0x2dc>
    68d2:	61c8      	addu      	r7, r2
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    68d4:	a3df      	st.b      	r6, (r3, 0x1f)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    68d6:	8fc0      	ld.h      	r6, (r7, 0x0)
    68d8:	3340      	movi      	r3, 64
    68da:	60d0      	addu      	r3, r4
    68dc:	4ec8      	lsri      	r6, r6, 8
    68de:	a3c0      	st.b      	r6, (r3, 0x0)
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    68e0:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    68e2:	11fc      	lrw      	r7, 0x20000a32	// 69d0 <TouchKey_RS485_Printf_3+0x2e0>
    68e4:	61c8      	addu      	r7, r2
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    68e6:	a3c1      	st.b      	r6, (r3, 0x1)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    68e8:	8fc0      	ld.h      	r6, (r7, 0x0)
    68ea:	4ec8      	lsri      	r6, r6, 8
    68ec:	a3c2      	st.b      	r6, (r3, 0x2)
	send_buff[send_len++] = baseline_data1[i]&0xff;
    68ee:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    68f0:	11f9      	lrw      	r7, 0x200008f0	// 69d4 <TouchKey_RS485_Printf_3+0x2e4>
    68f2:	61c8      	addu      	r7, r2
	send_buff[send_len++] = baseline_data1[i]&0xff;
    68f4:	a3c3      	st.b      	r6, (r3, 0x3)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    68f6:	8fc0      	ld.h      	r6, (r7, 0x0)
    68f8:	4ec8      	lsri      	r6, r6, 8
    68fa:	a3c4      	st.b      	r6, (r3, 0x4)
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    68fc:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    68fe:	11f7      	lrw      	r7, 0x20000a66	// 69d8 <TouchKey_RS485_Printf_3+0x2e8>
    6900:	61c8      	addu      	r7, r2
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    6902:	a3c5      	st.b      	r6, (r3, 0x5)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6904:	8fc0      	ld.h      	r6, (r7, 0x0)
    6906:	4ec8      	lsri      	r6, r6, 8
    6908:	a3c6      	st.b      	r6, (r3, 0x6)
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    690a:	8fc0      	ld.h      	r6, (r7, 0x0)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    690c:	11f4      	lrw      	r7, 0x20000b48	// 69dc <TouchKey_RS485_Printf_3+0x2ec>
    690e:	61c8      	addu      	r7, r2
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    6910:	a3c7      	st.b      	r6, (r3, 0x7)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    6912:	8fc0      	ld.h      	r6, (r7, 0x0)
    6914:	4ec8      	lsri      	r6, r6, 8
    6916:	a3c8      	st.b      	r6, (r3, 0x8)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    6918:	6084      	addu      	r2, r1
	send_buff[send_len++] = baseline_data2[i]&0xff;
    691a:	8fc0      	ld.h      	r6, (r7, 0x0)
    691c:	a3c9      	st.b      	r6, (r3, 0x9)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    691e:	8ac0      	ld.h      	r6, (r2, 0x0)
	send_buff[send_len++] = offset_data2_abs[i]&0xff;
    6920:	8a40      	ld.h      	r2, (r2, 0x0)
    6922:	a34b      	st.b      	r2, (r3, 0xb)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6924:	9841      	ld.w      	r2, (r14, 0x4)
    6926:	8244      	ld.b      	r2, (r2, 0x4)
    6928:	4241      	lsli      	r2, r2, 1
    692a:	6148      	addu      	r5, r2
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    692c:	4ec8      	lsri      	r6, r6, 8
    692e:	a3ca      	st.b      	r6, (r3, 0xa)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6930:	8dc0      	ld.h      	r6, (r5, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    6932:	6008      	addu      	r0, r2
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6934:	4ec8      	lsri      	r6, r6, 8
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    6936:	8da0      	ld.h      	r5, (r5, 0x0)
	send_buff[send_len++] = sampling_data0[i]>>8;		
    6938:	a3cc      	st.b      	r6, (r3, 0xc)
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    693a:	a3ad      	st.b      	r5, (r3, 0xd)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    693c:	88a0      	ld.h      	r5, (r0, 0x0)
    693e:	4da8      	lsri      	r5, r5, 8
    6940:	a3ae      	st.b      	r5, (r3, 0xe)
	send_buff[send_len++] = baseline_data0[i]&0xff;
    6942:	8800      	ld.h      	r0, (r0, 0x0)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    6944:	11a1      	lrw      	r5, 0x20000b92	// 69c8 <TouchKey_RS485_Printf_3+0x2d8>
    6946:	6148      	addu      	r5, r2
	send_buff[send_len++] = baseline_data0[i]&0xff;
    6948:	a30f      	st.b      	r0, (r3, 0xf)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    694a:	8d00      	ld.h      	r0, (r5, 0x0)
    694c:	4808      	lsri      	r0, r0, 8
    694e:	a310      	st.b      	r0, (r3, 0x10)
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    6950:	8d00      	ld.h      	r0, (r5, 0x0)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    6952:	10bf      	lrw      	r5, 0x20000970	// 69cc <TouchKey_RS485_Printf_3+0x2dc>
    6954:	6148      	addu      	r5, r2
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    6956:	a311      	st.b      	r0, (r3, 0x11)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    6958:	8d00      	ld.h      	r0, (r5, 0x0)
    695a:	4808      	lsri      	r0, r0, 8
    695c:	a312      	st.b      	r0, (r3, 0x12)
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    695e:	8d00      	ld.h      	r0, (r5, 0x0)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    6960:	10bc      	lrw      	r5, 0x20000a32	// 69d0 <TouchKey_RS485_Printf_3+0x2e0>
    6962:	6148      	addu      	r5, r2
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    6964:	a313      	st.b      	r0, (r3, 0x13)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    6966:	8d00      	ld.h      	r0, (r5, 0x0)
    6968:	4808      	lsri      	r0, r0, 8
    696a:	a314      	st.b      	r0, (r3, 0x14)
	send_buff[send_len++] = baseline_data1[i]&0xff;
    696c:	8d00      	ld.h      	r0, (r5, 0x0)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    696e:	10ba      	lrw      	r5, 0x200008f0	// 69d4 <TouchKey_RS485_Printf_3+0x2e4>
    6970:	6148      	addu      	r5, r2
	send_buff[send_len++] = baseline_data1[i]&0xff;
    6972:	a315      	st.b      	r0, (r3, 0x15)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    6974:	8d00      	ld.h      	r0, (r5, 0x0)
    6976:	4808      	lsri      	r0, r0, 8
    6978:	a316      	st.b      	r0, (r3, 0x16)
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    697a:	8d00      	ld.h      	r0, (r5, 0x0)
    697c:	a317      	st.b      	r0, (r3, 0x17)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    697e:	6048      	addu      	r1, r2
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6980:	1016      	lrw      	r0, 0x20000a66	// 69d8 <TouchKey_RS485_Printf_3+0x2e8>
    6982:	6008      	addu      	r0, r2
    6984:	88a0      	ld.h      	r5, (r0, 0x0)
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    6986:	8800      	ld.h      	r0, (r0, 0x0)
    6988:	a319      	st.b      	r0, (r3, 0x19)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    698a:	4da8      	lsri      	r5, r5, 8
	send_buff[send_len++] = baseline_data2[i]>>8;		
    698c:	1014      	lrw      	r0, 0x20000b48	// 69dc <TouchKey_RS485_Printf_3+0x2ec>
    698e:	6008      	addu      	r0, r2
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6990:	a3b8      	st.b      	r5, (r3, 0x18)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    6992:	88a0      	ld.h      	r5, (r0, 0x0)
	send_buff[send_len++] = baseline_data2[i]&0xff;
    6994:	8800      	ld.h      	r0, (r0, 0x0)
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    6996:	8940      	ld.h      	r2, (r1, 0x0)
    6998:	4a48      	lsri      	r2, r2, 8
    699a:	a35c      	st.b      	r2, (r3, 0x1c)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    699c:	4da8      	lsri      	r5, r5, 8
	send_buff[send_len++] = offset_data2_abs[i]&0xff;
    699e:	8940      	ld.h      	r2, (r1, 0x0)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    69a0:	a3ba      	st.b      	r5, (r3, 0x1a)
	send_buff[send_len++] = baseline_data2[i]&0xff;
    69a2:	a31b      	st.b      	r0, (r3, 0x1b)
	send_buff[send_len++] = offset_data2_abs[i]&0xff;
    69a4:	a35d      	st.b      	r2, (r3, 0x1d)
	Set_GroupSend(send_buff,send_len,1,BUSSend_ValidTime3,20);	//组包
    69a6:	3314      	movi      	r3, 20
    69a8:	b860      	st.w      	r3, (r14, 0x0)
    69aa:	3396      	movi      	r3, 150
    69ac:	4361      	lsli      	r3, r3, 1
    69ae:	3201      	movi      	r2, 1
    69b0:	315e      	movi      	r1, 94
    69b2:	6c13      	mov      	r0, r4
    69b4:	e3fffd9c 	bsr      	0x64ec	// 64ec <Set_GroupSend>
}
    69b8:	141b      	addi      	r14, r14, 108
    69ba:	1494      	pop      	r4-r7, r15
    69bc:	20000068 	.long	0x20000068
    69c0:	20000bda 	.long	0x20000bda
    69c4:	20000888 	.long	0x20000888
    69c8:	20000b92 	.long	0x20000b92
    69cc:	20000970 	.long	0x20000970
    69d0:	20000a32 	.long	0x20000a32
    69d4:	200008f0 	.long	0x200008f0
    69d8:	20000a66 	.long	0x20000a66
    69dc:	20000b48 	.long	0x20000b48
    69e0:	200008c4 	.long	0x200008c4

Disassembly of section .text.Touch_Key_Event_Handling:

000069e4 <Touch_Key_Event_Handling>:
	
	
}

/*按键数据处理函数*/
void Touch_Key_Event_Handling(void){
    69e4:	14d1      	push      	r4, r15
	/*按键相关处理*/
    if (g_key.key_val[TKE_CH1] == KEY_VAL_CONT_LONG_PRESS) {
    69e6:	118a      	lrw      	r4, 0x200004f0	// 6a8c <Touch_Key_Event_Handling+0xa8>
    69e8:	8465      	ld.b      	r3, (r4, 0x5)
    69ea:	3b42      	cmpnei      	r3, 2
    69ec:	081c      	bt      	0x6a24	// 6a24 <Touch_Key_Event_Handling+0x40>
        //长按按下
        g_key.key_val[TKE_CH1] = KEY_VAL_NOT;
    69ee:	3300      	movi      	r3, 0
    69f0:	a465      	st.b      	r3, (r4, 0x5)
		#if DBG_LOG_EN
        Dbg_Println(DBG_BIT_SYS_STATUS,"TKE_CH1 Press\r\n");
		#endif
    }
	
	if (g_key.key_val[TKE_CH2] == KEY_VAL_CONT_LONG_PRESS) {
    69f2:	8466      	ld.b      	r3, (r4, 0x6)
    69f4:	3b42      	cmpnei      	r3, 2
    69f6:	0820      	bt      	0x6a36	// 6a36 <Touch_Key_Event_Handling+0x52>
        //长按按下
        g_key.key_val[TKE_CH2] = KEY_VAL_NOT;
    69f8:	3300      	movi      	r3, 0
    69fa:	a466      	st.b      	r3, (r4, 0x6)
		#if DBG_LOG_EN
        Dbg_Println(DBG_BIT_SYS_STATUS,"TKE_CH2 Press\r\n");
		#endif
    }
	
	if (g_key.key_val[TKE_CH3] == KEY_VAL_CONT_LONG_PRESS) {
    69fc:	8467      	ld.b      	r3, (r4, 0x7)
    69fe:	3b42      	cmpnei      	r3, 2
    6a00:	0824      	bt      	0x6a48	// 6a48 <Touch_Key_Event_Handling+0x64>
        //长按按下
        g_key.key_val[TKE_CH3] = KEY_VAL_NOT;
    6a02:	3300      	movi      	r3, 0
    6a04:	a467      	st.b      	r3, (r4, 0x7)

		KEY3_Long_Press_Fun();
    6a06:	e0001637 	bsr      	0x9674	// 9674 <KEY3_Long_Press_Fun>
		#if DBG_LOG_EN
        Dbg_Println(DBG_BIT_SYS_STATUS,"TKE_CH3 Press\r\n");
		#endif
    }
	
	if (g_key.key_val[TKE_CH4] == KEY_VAL_CONT_LONG_PRESS) {
    6a0a:	8468      	ld.b      	r3, (r4, 0x8)
    6a0c:	3b42      	cmpnei      	r3, 2
    6a0e:	0829      	bt      	0x6a60	// 6a60 <Touch_Key_Event_Handling+0x7c>
        //长按按下
        g_key.key_val[TKE_CH4] = KEY_VAL_NOT;
    6a10:	3300      	movi      	r3, 0
    6a12:	a468      	st.b      	r3, (r4, 0x8)

		KEY4_Long_Press();
    6a14:	e00016e8 	bsr      	0x97e4	// 97e4 <KEY4_Long_Press>
		#if DBG_LOG_EN
        Dbg_Println(DBG_BIT_SYS_STATUS,"TKE_CH4 Press\r\n");
		#endif
    }
	
	if (g_key.key_val[TKE_CH5] == KEY_VAL_CONT_LONG_PRESS) {
    6a18:	8469      	ld.b      	r3, (r4, 0x9)
    6a1a:	3b42      	cmpnei      	r3, 2
    6a1c:	082e      	bt      	0x6a78	// 6a78 <Touch_Key_Event_Handling+0x94>
        //长按按下
        g_key.key_val[TKE_CH5] = KEY_VAL_NOT;
    6a1e:	3300      	movi      	r3, 0
    6a20:	a469      	st.b      	r3, (r4, 0x9)
		#if DBG_LOG_EN
        Dbg_Println(DBG_BIT_SYS_STATUS,"TKE_CH5 Press\r\n");
		#endif
    }
	
}
    6a22:	1491      	pop      	r4, r15
    } else if (g_key.key_val[TKE_CH1] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a24:	3b44      	cmpnei      	r3, 4
    6a26:	0fe4      	bf      	0x69ee	// 69ee <Touch_Key_Event_Handling+0xa>
    } else if (g_key.key_val[TKE_CH1] == KEY_VAL_SHORT_PRESS) {
    6a28:	3b41      	cmpnei      	r3, 1
    6a2a:	0be4      	bt      	0x69f2	// 69f2 <Touch_Key_Event_Handling+0xe>
        g_key.key_val[TKE_CH1] = KEY_VAL_NOT;
    6a2c:	3300      	movi      	r3, 0
    6a2e:	a465      	st.b      	r3, (r4, 0x5)
		KEY1_Model_Press_Fun();
    6a30:	e00014d6 	bsr      	0x93dc	// 93dc <KEY1_Model_Press_Fun>
    6a34:	07df      	br      	0x69f2	// 69f2 <Touch_Key_Event_Handling+0xe>
    } else if (g_key.key_val[TKE_CH2] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a36:	3b44      	cmpnei      	r3, 4
    6a38:	0fe0      	bf      	0x69f8	// 69f8 <Touch_Key_Event_Handling+0x14>
    } else if (g_key.key_val[TKE_CH2] == KEY_VAL_SHORT_PRESS) {
    6a3a:	3b41      	cmpnei      	r3, 1
    6a3c:	0be0      	bt      	0x69fc	// 69fc <Touch_Key_Event_Handling+0x18>
        g_key.key_val[TKE_CH2] = KEY_VAL_NOT;
    6a3e:	3300      	movi      	r3, 0
    6a40:	a466      	st.b      	r3, (r4, 0x6)
		KEY2_Fan_Press_Fun();
    6a42:	e0001533 	bsr      	0x94a8	// 94a8 <KEY2_Fan_Press_Fun>
    6a46:	07db      	br      	0x69fc	// 69fc <Touch_Key_Event_Handling+0x18>
    } else if (g_key.key_val[TKE_CH3] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a48:	3b44      	cmpnei      	r3, 4
    6a4a:	0804      	bt      	0x6a52	// 6a52 <Touch_Key_Event_Handling+0x6e>
        g_key.key_val[TKE_CH3] = KEY_VAL_NOT;
    6a4c:	3300      	movi      	r3, 0
    6a4e:	a467      	st.b      	r3, (r4, 0x7)
    6a50:	07dd      	br      	0x6a0a	// 6a0a <Touch_Key_Event_Handling+0x26>
    } else if (g_key.key_val[TKE_CH3] == KEY_VAL_SHORT_PRESS) {
    6a52:	3b41      	cmpnei      	r3, 1
    6a54:	0bdb      	bt      	0x6a0a	// 6a0a <Touch_Key_Event_Handling+0x26>
        g_key.key_val[TKE_CH3] = KEY_VAL_NOT;
    6a56:	3300      	movi      	r3, 0
    6a58:	a467      	st.b      	r3, (r4, 0x7)
		KEY3_TempAdd_Press_Fun();
    6a5a:	e000158d 	bsr      	0x9574	// 9574 <KEY3_TempAdd_Press_Fun>
    6a5e:	07d6      	br      	0x6a0a	// 6a0a <Touch_Key_Event_Handling+0x26>
    } else if (g_key.key_val[TKE_CH4] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a60:	3b44      	cmpnei      	r3, 4
    6a62:	0804      	bt      	0x6a6a	// 6a6a <Touch_Key_Event_Handling+0x86>
        g_key.key_val[TKE_CH4] = KEY_VAL_NOT;
    6a64:	3300      	movi      	r3, 0
    6a66:	a468      	st.b      	r3, (r4, 0x8)
    6a68:	07d8      	br      	0x6a18	// 6a18 <Touch_Key_Event_Handling+0x34>
    } else if (g_key.key_val[TKE_CH4] == KEY_VAL_SHORT_PRESS) {
    6a6a:	3b41      	cmpnei      	r3, 1
    6a6c:	0bd6      	bt      	0x6a18	// 6a18 <Touch_Key_Event_Handling+0x34>
        g_key.key_val[TKE_CH4] = KEY_VAL_NOT;
    6a6e:	3300      	movi      	r3, 0
    6a70:	a468      	st.b      	r3, (r4, 0x8)
        KEY4_TempDec_Press_Fun();
    6a72:	e0001639 	bsr      	0x96e4	// 96e4 <KEY4_TempDec_Press_Fun>
    6a76:	07d1      	br      	0x6a18	// 6a18 <Touch_Key_Event_Handling+0x34>
    } else if (g_key.key_val[TKE_CH5] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a78:	3b44      	cmpnei      	r3, 4
    6a7a:	0fd2      	bf      	0x6a1e	// 6a1e <Touch_Key_Event_Handling+0x3a>
    } else if (g_key.key_val[TKE_CH5] == KEY_VAL_SHORT_PRESS) {
    6a7c:	3b41      	cmpnei      	r3, 1
    6a7e:	0bd2      	bt      	0x6a22	// 6a22 <Touch_Key_Event_Handling+0x3e>
        g_key.key_val[TKE_CH5] = KEY_VAL_NOT;
    6a80:	3300      	movi      	r3, 0
    6a82:	a469      	st.b      	r3, (r4, 0x9)
		KEY5_OnOff_Press_Fun();
    6a84:	e00016e8 	bsr      	0x9854	// 9854 <KEY5_OnOff_Press_Fun>
}
    6a88:	07cd      	br      	0x6a22	// 6a22 <Touch_Key_Event_Handling+0x3e>
    6a8a:	0000      	bkpt
    6a8c:	200004f0 	.long	0x200004f0

Disassembly of section .text.TouchKey_Set_Interface_Task:

00006a90 <TouchKey_Set_Interface_Task>:


/*设置触摸任务*/
void TouchKey_Set_Interface_Task(void){
    6a90:	14d0      	push      	r15
	
	if((Debug_Inf.State != 0x01) && (Debug_Inf.Page == PAGE5ID))	
    6a92:	106c      	lrw      	r3, 0x20000868	// 6ac0 <TouchKey_Set_Interface_Task+0x30>
    6a94:	8340      	ld.b      	r2, (r3, 0x0)
    6a96:	3a41      	cmpnei      	r2, 1
    6a98:	0c04      	bf      	0x6aa0	// 6aa0 <TouchKey_Set_Interface_Task+0x10>
    6a9a:	8362      	ld.b      	r3, (r3, 0x2)
    6a9c:	3b45      	cmpnei      	r3, 5
    6a9e:	0c10      	bf      	0x6abe	// 6abe <TouchKey_Set_Interface_Task+0x2e>
	{
		return ;
	}
	
	if(g_key.key_dug_printf == 0x01){
    6aa0:	1069      	lrw      	r3, 0x200004f0	// 6ac4 <TouchKey_Set_Interface_Task+0x34>
    6aa2:	835b      	ld.b      	r2, (r3, 0x1b)
    6aa4:	3a41      	cmpnei      	r2, 1
    6aa6:	080c      	bt      	0x6abe	// 6abe <TouchKey_Set_Interface_Task+0x2e>
		if(SysTick_1ms - g_key.key_dug_tick >= 150){
    6aa8:	1028      	lrw      	r1, 0x200000c0	// 6ac8 <TouchKey_Set_Interface_Task+0x38>
    6aaa:	9140      	ld.w      	r2, (r1, 0x0)
    6aac:	930c      	ld.w      	r0, (r3, 0x30)
    6aae:	6082      	subu      	r2, r0
    6ab0:	3095      	movi      	r0, 149
    6ab2:	6480      	cmphs      	r0, r2
    6ab4:	0805      	bt      	0x6abe	// 6abe <TouchKey_Set_Interface_Task+0x2e>
			g_key.key_dug_tick = SysTick_1ms;
    6ab6:	9140      	ld.w      	r2, (r1, 0x0)
    6ab8:	b34c      	st.w      	r2, (r3, 0x30)
			
			/*打印触摸按键数值*/
			//Touch_Key_FilterPrint();
			//TouchKey_RS485_Printf();
			//TouchKey_RS485_Printf_2();
			TouchKey_RS485_Printf_3();
    6aba:	e3fffe1b 	bsr      	0x66f0	// 66f0 <TouchKey_RS485_Printf_3>
			
		}
	}
}
    6abe:	1490      	pop      	r15
    6ac0:	20000868 	.long	0x20000868
    6ac4:	200004f0 	.long	0x200004f0
    6ac8:	200000c0 	.long	0x200000c0

Disassembly of section .text.Touch_Key_Task:

00006acc <Touch_Key_Task>:
void Touch_Key_Task(void){
    6acc:	14d4      	push      	r4-r7, r15
	
	/*按键扫描*/
	if(SysTick_1ms - g_key.scan_tick >= 5){
    6ace:	113b      	lrw      	r1, 0x200000c0	// 6bb8 <Touch_Key_Task+0xec>
    6ad0:	117b      	lrw      	r3, 0x200004f0	// 6bbc <Touch_Key_Task+0xf0>
    6ad2:	9140      	ld.w      	r2, (r1, 0x0)
    6ad4:	930b      	ld.w      	r0, (r3, 0x2c)
    6ad6:	6082      	subu      	r2, r0
    6ad8:	3a04      	cmphsi      	r2, 5
    6ada:	0806      	bt      	0x6ae6	// 6ae6 <Touch_Key_Task+0x1a>
                break;
            }
        }
	}
	
	Touch_Key_Event_Handling();
    6adc:	e3ffff84 	bsr      	0x69e4	// 69e4 <Touch_Key_Event_Handling>
	
	TouchKey_Set_Interface_Task();
    6ae0:	e3ffffd8 	bsr      	0x6a90	// 6a90 <TouchKey_Set_Interface_Task>
	
}
    6ae4:	1494      	pop      	r4-r7, r15
		g_key.scan_tick = SysTick_1ms;
    6ae6:	9140      	ld.w      	r2, (r1, 0x0)
    6ae8:	b34b      	st.w      	r2, (r3, 0x2c)
		if(Key_Map != 0x00){
    6aea:	1136      	lrw      	r1, 0x20000a28	// 6bc0 <Touch_Key_Task+0xf4>
    6aec:	9140      	ld.w      	r2, (r1, 0x0)
    6aee:	3a40      	cmpnei      	r2, 0
    6af0:	0c02      	bf      	0x6af4	// 6af4 <Touch_Key_Task+0x28>
			g_key.key_state = Key_Map;
    6af2:	9140      	ld.w      	r2, (r1, 0x0)
    6af4:	11d2      	lrw      	r6, 0x200004f0	// 6bbc <Touch_Key_Task+0xf0>
void Touch_Key_Task(void){
    6af6:	6d5b      	mov      	r5, r6
			g_key.key_state = Key_Map;
    6af8:	b34a      	st.w      	r2, (r3, 0x28)
void Touch_Key_Task(void){
    6afa:	3400      	movi      	r4, 0
						if((HT1621.buz_ctrl_flag == 0x01)||(i == TKE_CH5))//开机键必定有蜂鸣响
    6afc:	11f2      	lrw      	r7, 0x200005e0	// 6bc4 <Touch_Key_Task+0xf8>
            switch (g_key.KEY_STA[i]) {
    6afe:	8640      	ld.b      	r2, (r6, 0x0)
    6b00:	3a41      	cmpnei      	r2, 1
    6b02:	0c2e      	bf      	0x6b5e	// 6b5e <Touch_Key_Task+0x92>
    6b04:	3a40      	cmpnei      	r2, 0
    6b06:	0c0a      	bf      	0x6b1a	// 6b1a <Touch_Key_Task+0x4e>
    6b08:	3a42      	cmpnei      	r2, 2
    6b0a:	0c48      	bf      	0x6b9a	// 6b9a <Touch_Key_Task+0xce>
		for (uint8_t i = 0; i < TKE_CH_MAX; i++) {
    6b0c:	2400      	addi      	r4, 1
    6b0e:	7510      	zextb      	r4, r4
    6b10:	3c45      	cmpnei      	r4, 5
    6b12:	2600      	addi      	r6, 1
    6b14:	2501      	addi      	r5, 2
    6b16:	0bf4      	bt      	0x6afe	// 6afe <Touch_Key_Task+0x32>
    6b18:	07e2      	br      	0x6adc	// 6adc <Touch_Key_Task+0x10>
                if (Get_TouchKey_CH_State(i) == KEY_PRESS) {
    6b1a:	6c13      	mov      	r0, r4
    6b1c:	e3fffdcc 	bsr      	0x66b4	// 66b4 <Get_TouchKey_CH_State>
    6b20:	3841      	cmpnei      	r0, 1
    6b22:	0819      	bt      	0x6b54	// 6b54 <Touch_Key_Task+0x88>
                    if (g_key.delayCnt[i] < KEY_DELAY_COUNT) {
    6b24:	8654      	ld.b      	r2, (r6, 0x14)
    6b26:	3a01      	cmphsi      	r2, 2
    6b28:	0804      	bt      	0x6b30	// 6b30 <Touch_Key_Task+0x64>
                        g_key.delayCnt[i]++;
    6b2a:	2200      	addi      	r2, 1
    6b2c:	a654      	st.b      	r2, (r6, 0x14)
    6b2e:	07ef      	br      	0x6b0c	// 6b0c <Touch_Key_Task+0x40>
						if((HT1621.buz_ctrl_flag == 0x01)||(i == TKE_CH5))//开机键必定有蜂鸣响
    6b30:	8745      	ld.b      	r2, (r7, 0x5)
    6b32:	3a41      	cmpnei      	r2, 1
    6b34:	0c03      	bf      	0x6b3a	// 6b3a <Touch_Key_Task+0x6e>
    6b36:	3c44      	cmpnei      	r4, 4
    6b38:	0804      	bt      	0x6b40	// 6b40 <Touch_Key_Task+0x74>
							Controlled_Buzzer(0x01);
    6b3a:	3001      	movi      	r0, 1
    6b3c:	e0000f5c 	bsr      	0x89f4	// 89f4 <Controlled_Buzzer>
						Contol_Switch_ClickAction(i,Control_ON);
    6b40:	3101      	movi      	r1, 1
    6b42:	6c13      	mov      	r0, r4
    6b44:	e00009ae 	bsr      	0x7ea0	// 7ea0 <Contol_Switch_ClickAction>
                        g_key.KEY_STA[i] = KEY_STA_S1;              //消抖后
    6b48:	3301      	movi      	r3, 1
    6b4a:	a660      	st.b      	r3, (r6, 0x0)
                        g_key.key_time[i] = 0;
    6b4c:	3300      	movi      	r3, 0
    6b4e:	ad6e      	st.h      	r3, (r5, 0x1c)
                        g_key.delayCnt[i] = 0;
    6b50:	a674      	st.b      	r3, (r6, 0x14)
    6b52:	07dd      	br      	0x6b0c	// 6b0c <Touch_Key_Task+0x40>
                    g_key.delayCnt[i] = 0;
    6b54:	3300      	movi      	r3, 0
    6b56:	a674      	st.b      	r3, (r6, 0x14)
                    g_key.KEY_STA[i] = KEY_STA_S0;
    6b58:	a660      	st.b      	r3, (r6, 0x0)
                    g_key.key_val[i] = KEY_VAL_LONG_PRESS_LOOSEN;         //长按松开
    6b5a:	a665      	st.b      	r3, (r6, 0x5)
    6b5c:	07d8      	br      	0x6b0c	// 6b0c <Touch_Key_Task+0x40>
                g_key.key_time[i]++;
    6b5e:	8d4e      	ld.h      	r2, (r5, 0x1c)
    6b60:	2200      	addi      	r2, 1
    6b62:	7489      	zexth      	r2, r2
                if (g_key.key_time[i] < KEY_DELAY_COUNT_LONG) {
    6b64:	1079      	lrw      	r3, 0x257	// 6bc8 <Touch_Key_Task+0xfc>
    6b66:	648c      	cmphs      	r3, r2
                g_key.key_time[i]++;
    6b68:	ad4e      	st.h      	r2, (r5, 0x1c)
                if (g_key.key_time[i] < KEY_DELAY_COUNT_LONG) {
    6b6a:	0c10      	bf      	0x6b8a	// 6b8a <Touch_Key_Task+0xbe>
                    if (Get_TouchKey_CH_State(i) == KEY_LOOSEN)                   //松开
    6b6c:	6c13      	mov      	r0, r4
    6b6e:	e3fffda3 	bsr      	0x66b4	// 66b4 <Get_TouchKey_CH_State>
    6b72:	3840      	cmpnei      	r0, 0
    6b74:	0bcc      	bt      	0x6b0c	// 6b0c <Touch_Key_Task+0x40>
						Contol_Switch_ClickAction(i,Control_OFF);
    6b76:	3102      	movi      	r1, 2
    6b78:	6c13      	mov      	r0, r4
    6b7a:	e0000993 	bsr      	0x7ea0	// 7ea0 <Contol_Switch_ClickAction>
                        g_key.key_val[i] = KEY_VAL_SHORT_PRESS;           //短按松开
    6b7e:	3301      	movi      	r3, 1
    6b80:	a665      	st.b      	r3, (r6, 0x5)
                        g_key.key_time[i] = 0;
    6b82:	3300      	movi      	r3, 0
    6b84:	ad6e      	st.h      	r3, (r5, 0x1c)
                        g_key.KEY_STA[i] = KEY_STA_S0;
    6b86:	a660      	st.b      	r3, (r6, 0x0)
    6b88:	07c2      	br      	0x6b0c	// 6b0c <Touch_Key_Task+0x40>
                    g_key.KEY_STA[i] = KEY_STA_S2;
    6b8a:	3302      	movi      	r3, 2
    6b8c:	a660      	st.b      	r3, (r6, 0x0)
                    g_key.key_time[i] = 0;
    6b8e:	3300      	movi      	r3, 0
    6b90:	ad6e      	st.h      	r3, (r5, 0x1c)
                    g_key.key_longPress[i] = KEY_VAL_SINGLE_LONG_PRESS; //长按单击按下
    6b92:	3303      	movi      	r3, 3
    6b94:	a66f      	st.b      	r3, (r6, 0xf)
                    g_key.key_val[i] = KEY_VAL_CONT_LONG_PRESS;           //长按按下
    6b96:	3302      	movi      	r3, 2
    6b98:	07e1      	br      	0x6b5a	// 6b5a <Touch_Key_Task+0x8e>
                g_key.key_longPress[i] = KEY_VAL_NOT;
    6b9a:	3300      	movi      	r3, 0
                if (Get_TouchKey_CH_State(i) == KEY_LOOSEN) {
    6b9c:	6c13      	mov      	r0, r4
                g_key.key_longPress[i] = KEY_VAL_NOT;
    6b9e:	a66f      	st.b      	r3, (r6, 0xf)
                if (Get_TouchKey_CH_State(i) == KEY_LOOSEN) {
    6ba0:	e3fffd8a 	bsr      	0x66b4	// 66b4 <Get_TouchKey_CH_State>
    6ba4:	3840      	cmpnei      	r0, 0
    6ba6:	0bb3      	bt      	0x6b0c	// 6b0c <Touch_Key_Task+0x40>
					Contol_Switch_ClickAction(i,Control_OFF);
    6ba8:	3102      	movi      	r1, 2
    6baa:	6c13      	mov      	r0, r4
    6bac:	e000097a 	bsr      	0x7ea0	// 7ea0 <Contol_Switch_ClickAction>
                    g_key.KEY_STA[i] = KEY_STA_S0;
    6bb0:	3300      	movi      	r3, 0
    6bb2:	a660      	st.b      	r3, (r6, 0x0)
                    g_key.key_val[i] = KEY_VAL_LONG_PRESS_LOOSEN;         //长按松开
    6bb4:	3304      	movi      	r3, 4
    6bb6:	07d2      	br      	0x6b5a	// 6b5a <Touch_Key_Task+0x8e>
    6bb8:	200000c0 	.long	0x200000c0
    6bbc:	200004f0 	.long	0x200004f0
    6bc0:	20000a28 	.long	0x20000a28
    6bc4:	200005e0 	.long	0x200005e0
    6bc8:	00000257 	.long	0x00000257

Disassembly of section .text.TouchKey_CheckSum:

00006bcc <TouchKey_CheckSum>:


U8_T TouchKey_CheckSum(U8_T *data,U16_T len)
{
    6bcc:	6040      	addu      	r1, r0
	U8_T data_sum = 0;
    6bce:	3300      	movi      	r3, 0
	
	for(U16_T i = 0;i<len;i++)
    6bd0:	6442      	cmpne      	r0, r1
    6bd2:	0804      	bt      	0x6bda	// 6bda <TouchKey_CheckSum+0xe>
	{
		data_sum += data[i];
	}
	return ~data_sum;
    6bd4:	6cce      	nor      	r3, r3
    6bd6:	740c      	zextb      	r0, r3
}
    6bd8:	783c      	jmp      	r15
		data_sum += data[i];
    6bda:	8040      	ld.b      	r2, (r0, 0x0)
    6bdc:	60c8      	addu      	r3, r2
    6bde:	74cc      	zextb      	r3, r3
    6be0:	2000      	addi      	r0, 1
    6be2:	07f7      	br      	0x6bd0	// 6bd0 <TouchKey_CheckSum+0x4>

Disassembly of section .text.TouchKey_Comm_Reply:

00006be4 <TouchKey_Comm_Reply>:
U8_T TouchKey_Comm_Reply(U8_T *para,U16_T len){
    6be4:	14d2      	push      	r4-r5, r15
    6be6:	1430      	subi      	r14, r14, 64
	
	U8_T temp_num = 0,temp_office = 0,i=0;
	U8_T send_data[60];
	U16_T reply_len = len + 5,para_len = len;
    6be8:	5992      	addi      	r4, r1, 5
    6bea:	7511      	zexth      	r4, r4
	
	if(reply_len >= 50)	{
    6bec:	3331      	movi      	r3, 49
    6bee:	650c      	cmphs      	r3, r4
    6bf0:	0803      	bt      	0x6bf6	// 6bf6 <TouchKey_Comm_Reply+0x12>
		para_len = 44;
    6bf2:	312c      	movi      	r1, 44
		reply_len = 50;
    6bf4:	3432      	movi      	r4, 50
	}
	
	send_data[0] = 0xAF;
    6bf6:	3300      	movi      	r3, 0
    6bf8:	2b50      	subi      	r3, 81
    6bfa:	dc6e0004 	st.b      	r3, (r14, 0x4)
	send_data[1] = g_eeprom.dev_addr;
	send_data[2] = reply_len;
    6bfe:	dc8e0006 	st.b      	r4, (r14, 0x6)
	send_data[1] = g_eeprom.dev_addr;
    6c02:	1074      	lrw      	r3, 0x20000524	// 6c50 <TouchKey_Comm_Reply+0x6c>
    6c04:	8360      	ld.b      	r3, (r3, 0x0)
    6c06:	dc6e0005 	st.b      	r3, (r14, 0x5)
	send_data[3] = 0x00;
    6c0a:	3300      	movi      	r3, 0
    6c0c:	dc6e0007 	st.b      	r3, (r14, 0x7)
	
    for(i=0;i<para_len;i++){
    6c10:	3300      	movi      	r3, 0
    6c12:	644c      	cmphs      	r3, r1
        send_data[i+4] = para[i];
    6c14:	1a01      	addi      	r2, r14, 4
    for(i=0;i<para_len;i++){
    6c16:	0c16      	bf      	0x6c42	// 6c42 <TouchKey_Comm_Reply+0x5e>
    }
	send_data[i+4] = 0xFA;
    6c18:	60c8      	addu      	r3, r2
    6c1a:	3200      	movi      	r2, 0
    6c1c:	2a05      	subi      	r2, 6
	
	send_data[3] = TouchKey_CheckSum(send_data,reply_len);
    6c1e:	6c53      	mov      	r1, r4
    6c20:	1801      	addi      	r0, r14, 4
	send_data[i+4] = 0xFA;
    6c22:	a344      	st.b      	r2, (r3, 0x4)
	send_data[3] = TouchKey_CheckSum(send_data,reply_len);
    6c24:	e3ffffd4 	bsr      	0x6bcc	// 6bcc <TouchKey_CheckSum>
	
//	if (detect_inf.control_model == 0x00){
//		MCU485_SendData(send_data,reply_len);
		Set_GroupSend(send_data,reply_len,1,BUSSend_ValidTime3,20);	//组包
    6c28:	3314      	movi      	r3, 20
    6c2a:	b860      	st.w      	r3, (r14, 0x0)
    6c2c:	3396      	movi      	r3, 150
	send_data[3] = TouchKey_CheckSum(send_data,reply_len);
    6c2e:	dc0e0007 	st.b      	r0, (r14, 0x7)
		Set_GroupSend(send_data,reply_len,1,BUSSend_ValidTime3,20);	//组包
    6c32:	4361      	lsli      	r3, r3, 1
    6c34:	1801      	addi      	r0, r14, 4
    6c36:	3201      	movi      	r2, 1
    6c38:	6c53      	mov      	r1, r4
    6c3a:	e3fffc59 	bsr      	0x64ec	// 64ec <Set_GroupSend>
//	}else {
//		UARTTransmit(UART2,send_data,reply_len);
//	}	
}
    6c3e:	1410      	addi      	r14, r14, 64
    6c40:	1492      	pop      	r4-r5, r15
        send_data[i+4] = para[i];
    6c42:	58ac      	addu      	r5, r0, r3
    6c44:	608c      	addu      	r2, r3
    6c46:	85a0      	ld.b      	r5, (r5, 0x0)
    for(i=0;i<para_len;i++){
    6c48:	2300      	addi      	r3, 1
        send_data[i+4] = para[i];
    6c4a:	a2a4      	st.b      	r5, (r2, 0x4)
    for(i=0;i<para_len;i++){
    6c4c:	74cc      	zextb      	r3, r3
    6c4e:	07e2      	br      	0x6c12	// 6c12 <TouchKey_Comm_Reply+0x2e>
    6c50:	20000524 	.long	0x20000524

Disassembly of section .text.TouchKey_SetPara_Processing:

00006c54 <TouchKey_SetPara_Processing>:
/*设置触摸按键参数处理*/
U8_T TouchKey_SetPara_Processing(U8_T *para,U16_T len){
    6c54:	14d4      	push      	r4-r7, r15
    6c56:	1421      	subi      	r14, r14, 4
	U8_T i = 0,rev = 0,level = 0;
	U16_T temp_val = 0;
	U8_T reply_buff[4] ;
	
	if( (para[0] > 0) && (para[0] <= 3) ){
    6c58:	80a0      	ld.b      	r5, (r0, 0x0)
    6c5a:	5dc3      	subi      	r6, r5, 1
    6c5c:	7598      	zextb      	r6, r6
    6c5e:	3e02      	cmphsi      	r6, 3
U8_T TouchKey_SetPara_Processing(U8_T *para,U16_T len){
    6c60:	6d03      	mov      	r4, r0
	if( (para[0] > 0) && (para[0] <= 3) ){
    6c62:	0834      	bt      	0x6cca	// 6cca <TouchKey_SetPara_Processing+0x76>
    6c64:	1125      	lrw      	r1, 0x200004d4	// 6cf8 <TouchKey_SetPara_Processing+0xa4>
    6c66:	350b      	movi      	r5, 11
    6c68:	5862      	addi      	r3, r0, 1
    6c6a:	6140      	addu      	r5, r0
    6c6c:	6c87      	mov      	r2, r1
		level = para[0]-1;
		for(i=0;i<TKE_CH_MAX;i++){
			temp_val = para[i*2+2];
    6c6e:	8301      	ld.b      	r0, (r3, 0x1)
			temp_val <<= 8;
			temp_val |= para[i*2+1];
    6c70:	83e0      	ld.b      	r7, (r3, 0x0)
			temp_val <<= 8;
    6c72:	4008      	lsli      	r0, r0, 8
			temp_val |= para[i*2+1];
    6c74:	6c1c      	or      	r0, r7
			
			touch_para.senprd[i] = temp_val;
    6c76:	a902      	st.h      	r0, (r1, 0x4)
			
			temp_val = para[i*2+14];
    6c78:	830d      	ld.b      	r0, (r3, 0xd)
			temp_val <<= 8;
			temp_val |= para[i*2+13];
    6c7a:	83ec      	ld.b      	r7, (r3, 0xc)
			temp_val <<= 8;
    6c7c:	4008      	lsli      	r0, r0, 8
    6c7e:	2301      	addi      	r3, 2
			temp_val |= para[i*2+13];
    6c80:	6c1c      	or      	r0, r7
		for(i=0;i<TKE_CH_MAX;i++){
    6c82:	64d6      	cmpne      	r5, r3
			
			touch_para.triggerlevel[i] = temp_val;
    6c84:	a907      	st.h      	r0, (r1, 0xe)
    6c86:	2101      	addi      	r1, 2
		for(i=0;i<TKE_CH_MAX;i++){
    6c88:	0bf3      	bt      	0x6c6e	// 6c6e <TouchKey_SetPara_Processing+0x1a>
		}
		
		touch_para.press_debounce = para[25];
    6c8a:	8479      	ld.b      	r3, (r4, 0x19)
    6c8c:	a260      	st.b      	r3, (r2, 0x0)
		touch_para.release_debounce = para[26];
    6c8e:	847a      	ld.b      	r3, (r4, 0x1a)
    6c90:	a261      	st.b      	r3, (r2, 0x1)
		touch_para.multiTimes_filt = para[27];
    6c92:	847b      	ld.b      	r3, (r4, 0x1b)
    6c94:	a262      	st.b      	r3, (r2, 0x2)
		touch_para.base_speed = para[28];
    6c96:	847c      	ld.b      	r3, (r4, 0x1c)
    6c98:	a263      	st.b      	r3, (r2, 0x3)
		touch_para.longpress_time = para[29];

		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6c9a:	6c1b      	mov      	r0, r6
		touch_para.longpress_time = para[29];
    6c9c:	847d      	ld.b      	r3, (r4, 0x1d)
		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6c9e:	1037      	lrw      	r1, 0x200004d4	// 6cf8 <TouchKey_SetPara_Processing+0xa4>
		touch_para.longpress_time = para[29];
    6ca0:	b266      	st.w      	r3, (r2, 0x18)
		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6ca2:	e0000315 	bsr      	0x72cc	// 72cc <EEPROM_Validate_TouchPara>

		if(rev == 0x00){
    6ca6:	3840      	cmpnei      	r0, 0
		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6ca8:	6d43      	mov      	r5, r0
		if(rev == 0x00){
    6caa:	0805      	bt      	0x6cb4	// 6cb4 <TouchKey_SetPara_Processing+0x60>
			/*保存参数*/
			EEPROM_WriteTouchPara(level,&touch_para);
    6cac:	1033      	lrw      	r1, 0x200004d4	// 6cf8 <TouchKey_SetPara_Processing+0xa4>
    6cae:	6c1b      	mov      	r0, r6
    6cb0:	e0000282 	bsr      	0x71b4	// 71b4 <EEPROM_WriteTouchPara>
		rev = 0x01;
	}
	

	//回复数据
	reply_buff[0] = 0x01;	//CMD
    6cb4:	3301      	movi      	r3, 1
	reply_buff[1] = rev;	//结果
	
	TouchKey_Comm_Reply(reply_buff,0x02);
    6cb6:	3102      	movi      	r1, 2
    6cb8:	6c3b      	mov      	r0, r14
	reply_buff[0] = 0x01;	//CMD
    6cba:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[1] = rev;	//结果
    6cbe:	dcae0001 	st.b      	r5, (r14, 0x1)
	TouchKey_Comm_Reply(reply_buff,0x02);
    6cc2:	e3ffff91 	bsr      	0x6be4	// 6be4 <TouchKey_Comm_Reply>
}
    6cc6:	1401      	addi      	r14, r14, 4
    6cc8:	1494      	pop      	r4-r7, r15
	}else if(para[0] == 0x00){
    6cca:	3d40      	cmpnei      	r5, 0
    6ccc:	0c03      	bf      	0x6cd2	// 6cd2 <TouchKey_SetPara_Processing+0x7e>
		rev = 0x01;
    6cce:	3501      	movi      	r5, 1
    6cd0:	07f2      	br      	0x6cb4	// 6cb4 <TouchKey_SetPara_Processing+0x60>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Set Level %d",__func__,para[1]);
    6cd2:	8061      	ld.b      	r3, (r0, 0x1)
    6cd4:	104a      	lrw      	r2, 0xc72c	// 6cfc <TouchKey_SetPara_Processing+0xa8>
    6cd6:	102b      	lrw      	r1, 0xcc1f	// 6d00 <TouchKey_SetPara_Processing+0xac>
    6cd8:	3000      	movi      	r0, 0
    6cda:	e3fffcb1 	bsr      	0x663c	// 663c <Dbg_Println>
		if( (para[1] > 0) && (para[1] <= 3) ){
    6cde:	8461      	ld.b      	r3, (r4, 0x1)
    6ce0:	2b00      	subi      	r3, 1
    6ce2:	74cc      	zextb      	r3, r3
    6ce4:	3b02      	cmphsi      	r3, 3
    6ce6:	0bf4      	bt      	0x6cce	// 6cce <TouchKey_SetPara_Processing+0x7a>
			Debug_Inf.KSens_Level = g_eeprom.key_sens_level;
    6ce8:	1047      	lrw      	r2, 0x20000868	// 6d04 <TouchKey_SetPara_Processing+0xb0>
			g_eeprom.key_sens_level = para[1] - 1;
    6cea:	1008      	lrw      	r0, 0x20000524	// 6d08 <TouchKey_SetPara_Processing+0xb4>
			Debug_Inf.KSens_Level = g_eeprom.key_sens_level;
    6cec:	a267      	st.b      	r3, (r2, 0x7)
			g_eeprom.key_sens_level = para[1] - 1;
    6cee:	a065      	st.b      	r3, (r0, 0x5)
			EEPROM_WriteParaInfo(&g_eeprom);
    6cf0:	e00001be 	bsr      	0x706c	// 706c <EEPROM_WriteParaInfo>
    6cf4:	07e0      	br      	0x6cb4	// 6cb4 <TouchKey_SetPara_Processing+0x60>
    6cf6:	0000      	bkpt
    6cf8:	200004d4 	.long	0x200004d4
    6cfc:	0000c72c 	.long	0x0000c72c
    6d00:	0000cc1f 	.long	0x0000cc1f
    6d04:	20000868 	.long	0x20000868
    6d08:	20000524 	.long	0x20000524

Disassembly of section .text.TouchKey_ReadPara_Processing:

00006d0c <TouchKey_ReadPara_Processing>:
/*读取触摸按键参数处理*/
U8_T TouchKey_ReadPara_Processing(U8_T *para,U16_T len){
    6d0c:	14d3      	push      	r4-r6, r15
    6d0e:	142d      	subi      	r14, r14, 52
    6d10:	6d43      	mov      	r5, r0
	
	U8_T reply_buff[50];
	U8_T reply_len = 0x00, i=0,rev = 0x00;
	
	memset(reply_buff,0,sizeof(reply_buff));
    6d12:	3232      	movi      	r2, 50
    6d14:	3100      	movi      	r1, 0
    6d16:	6c3b      	mov      	r0, r14
    6d18:	e3ffea42 	bsr      	0x419c	// 419c <__memset_fast>
	
	reply_buff[reply_len++] = 0x02;
	
	if(para[0] == 0x00){
    6d1c:	8580      	ld.b      	r4, (r5, 0x0)
	reply_buff[reply_len++] = 0x02;
    6d1e:	3302      	movi      	r3, 2
	if(para[0] == 0x00){
    6d20:	3c40      	cmpnei      	r4, 0
	reply_buff[reply_len++] = 0x02;
    6d22:	dc6e0000 	st.b      	r3, (r14, 0x0)
	if(para[0] == 0x00){
    6d26:	0837      	bt      	0x6d94	// 6d94 <TouchKey_ReadPara_Processing+0x88>
		
		//注意：此处是为查询数据服务，实际数据只在上电时生效	修改时间：2025/01/13
		rev = EEPROM_ReadTouchPara(g_eeprom.key_sens_level,&touch_para);
    6d28:	11d5      	lrw      	r6, 0x20000524	// 6dfc <TouchKey_ReadPara_Processing+0xf0>
    6d2a:	8605      	ld.b      	r0, (r6, 0x5)
    6d2c:	1135      	lrw      	r1, 0x200004d4	// 6e00 <TouchKey_ReadPara_Processing+0xf4>
    6d2e:	e0000279 	bsr      	0x7220	// 7220 <EEPROM_ReadTouchPara>
		if(rev != 0x00){
    6d32:	3840      	cmpnei      	r0, 0
    6d34:	11b3      	lrw      	r5, 0x200004d4	// 6e00 <TouchKey_ReadPara_Processing+0xf4>
    6d36:	0c05      	bf      	0x6d40	// 6d40 <TouchKey_ReadPara_Processing+0x34>
			EEPROM_Default_TouchPara(g_eeprom.key_sens_level,&touch_para);
    6d38:	8605      	ld.b      	r0, (r6, 0x5)
    6d3a:	6c57      	mov      	r1, r5
    6d3c:	e0000336 	bsr      	0x73a8	// 73a8 <EEPROM_Default_TouchPara>
		}
		
		reply_buff[reply_len++] = g_eeprom.key_sens_level + 1;
    6d40:	8665      	ld.b      	r3, (r6, 0x5)
    6d42:	2300      	addi      	r3, 1
    6d44:	dc6e0001 	st.b      	r3, (r14, 0x1)
    6d48:	6cfb      	mov      	r3, r14
    6d4a:	114e      	lrw      	r2, 0x200004d4	// 6e00 <TouchKey_ReadPara_Processing+0xf4>
		
		for(i=0;i<TKE_CH_MAX;i++){
			
			reply_buff[reply_len+i*2] = touch_para.senprd[i] & 0xFF;
    6d4c:	8a22      	ld.h      	r1, (r2, 0x4)
    6d4e:	a322      	st.b      	r1, (r3, 0x2)
		for(i=0;i<TKE_CH_MAX;i++){
    6d50:	2400      	addi      	r4, 1
			reply_buff[reply_len+i*2+1] = touch_para.senprd[i] >> 8;
    6d52:	4928      	lsri      	r1, r1, 8
    6d54:	a323      	st.b      	r1, (r3, 0x3)
		for(i=0;i<TKE_CH_MAX;i++){
    6d56:	7510      	zextb      	r4, r4
			
			reply_buff[reply_len+i*2+12] = touch_para.triggerlevel[i] & 0xFF;
    6d58:	8a27      	ld.h      	r1, (r2, 0xe)
    6d5a:	a32e      	st.b      	r1, (r3, 0xe)
		for(i=0;i<TKE_CH_MAX;i++){
    6d5c:	3c45      	cmpnei      	r4, 5
			reply_buff[reply_len+i*2+13] = touch_para.triggerlevel[i] >> 8;
    6d5e:	4928      	lsri      	r1, r1, 8
    6d60:	a32f      	st.b      	r1, (r3, 0xf)
    6d62:	2201      	addi      	r2, 2
    6d64:	2301      	addi      	r3, 2
		for(i=0;i<TKE_CH_MAX;i++){
    6d66:	0bf3      	bt      	0x6d4c	// 6d4c <TouchKey_ReadPara_Processing+0x40>
		}
		
		reply_len += 24;
		
		reply_buff[reply_len++] = touch_para.press_debounce;
    6d68:	8560      	ld.b      	r3, (r5, 0x0)
    6d6a:	dc6e001a 	st.b      	r3, (r14, 0x1a)
		reply_buff[reply_len++] = touch_para.release_debounce;
    6d6e:	8561      	ld.b      	r3, (r5, 0x1)
    6d70:	dc6e001b 	st.b      	r3, (r14, 0x1b)
		reply_buff[reply_len++] = touch_para.multiTimes_filt;
    6d74:	8562      	ld.b      	r3, (r5, 0x2)
    6d76:	dc6e001c 	st.b      	r3, (r14, 0x1c)
		reply_buff[reply_len++] = touch_para.base_speed;
    6d7a:	8563      	ld.b      	r3, (r5, 0x3)
    6d7c:	dc6e001d 	st.b      	r3, (r14, 0x1d)
		reply_buff[reply_len++] = touch_para.longpress_time & 0xFF;
    6d80:	8578      	ld.b      	r3, (r5, 0x18)
		
		reply_buff[reply_len++] = touch_para.press_debounce;
		reply_buff[reply_len++] = touch_para.release_debounce;
		reply_buff[reply_len++] = touch_para.multiTimes_filt;
		reply_buff[reply_len++] = touch_para.base_speed;
		reply_buff[reply_len++] = touch_para.longpress_time & 0xFF;
    6d82:	dc6e001e 	st.b      	r3, (r14, 0x1e)
    6d86:	311f      	movi      	r1, 31
		/*参数错误*/
		reply_buff[reply_len++] = 0x00;
	}
	
	//回复数据
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6d88:	7445      	zexth      	r1, r1
    6d8a:	6c3b      	mov      	r0, r14
    6d8c:	e3ffff2c 	bsr      	0x6be4	// 6be4 <TouchKey_Comm_Reply>
}
    6d90:	140d      	addi      	r14, r14, 52
    6d92:	1493      	pop      	r4-r6, r15
	}else if(para[0] <= 3){
    6d94:	3c03      	cmphsi      	r4, 4
    6d96:	0831      	bt      	0x6df8	// 6df8 <TouchKey_ReadPara_Processing+0xec>
		rev = EEPROM_ReadTouchPara(para[0]-1,&touch_para);
    6d98:	2c00      	subi      	r4, 1
    6d9a:	7410      	zextb      	r0, r4
    6d9c:	1039      	lrw      	r1, 0x200004d4	// 6e00 <TouchKey_ReadPara_Processing+0xf4>
    6d9e:	e0000241 	bsr      	0x7220	// 7220 <EEPROM_ReadTouchPara>
		if(rev != 0x00){
    6da2:	3840      	cmpnei      	r0, 0
    6da4:	1097      	lrw      	r4, 0x200004d4	// 6e00 <TouchKey_ReadPara_Processing+0xf4>
    6da6:	0c07      	bf      	0x6db4	// 6db4 <TouchKey_ReadPara_Processing+0xa8>
			EEPROM_Default_TouchPara(para[0]-1,&touch_para);
    6da8:	8500      	ld.b      	r0, (r5, 0x0)
    6daa:	2800      	subi      	r0, 1
    6dac:	7400      	zextb      	r0, r0
    6dae:	6c53      	mov      	r1, r4
    6db0:	e00002fc 	bsr      	0x73a8	// 73a8 <EEPROM_Default_TouchPara>
		reply_buff[reply_len++] = para[0];
    6db4:	8560      	ld.b      	r3, (r5, 0x0)
    6db6:	dc6e0001 	st.b      	r3, (r14, 0x1)
		for(i=0;i<TKE_CH_MAX;i++){
    6dba:	3200      	movi      	r2, 0
    6dbc:	1031      	lrw      	r1, 0x200004d4	// 6e00 <TouchKey_ReadPara_Processing+0xf4>
    6dbe:	6cfb      	mov      	r3, r14
			reply_buff[reply_len+i*2] = touch_para.senprd[i];
    6dc0:	8902      	ld.h      	r0, (r1, 0x4)
    6dc2:	a302      	st.b      	r0, (r3, 0x2)
		for(i=0;i<TKE_CH_MAX;i++){
    6dc4:	2200      	addi      	r2, 1
			reply_buff[reply_len+i*2+1] = touch_para.senprd[i] >> 8;
    6dc6:	4808      	lsri      	r0, r0, 8
    6dc8:	a303      	st.b      	r0, (r3, 0x3)
		for(i=0;i<TKE_CH_MAX;i++){
    6dca:	7488      	zextb      	r2, r2
			reply_buff[reply_len+i*2+12] = touch_para.triggerlevel[i];
    6dcc:	8907      	ld.h      	r0, (r1, 0xe)
    6dce:	a30e      	st.b      	r0, (r3, 0xe)
		for(i=0;i<TKE_CH_MAX;i++){
    6dd0:	3a45      	cmpnei      	r2, 5
			reply_buff[reply_len+i*2+13] = touch_para.triggerlevel[i] >> 8;
    6dd2:	4808      	lsri      	r0, r0, 8
    6dd4:	a30f      	st.b      	r0, (r3, 0xf)
    6dd6:	2101      	addi      	r1, 2
    6dd8:	2301      	addi      	r3, 2
		for(i=0;i<TKE_CH_MAX;i++){
    6dda:	0bf3      	bt      	0x6dc0	// 6dc0 <TouchKey_ReadPara_Processing+0xb4>
		reply_buff[reply_len++] = touch_para.press_debounce;
    6ddc:	8460      	ld.b      	r3, (r4, 0x0)
    6dde:	dc6e001a 	st.b      	r3, (r14, 0x1a)
		reply_buff[reply_len++] = touch_para.release_debounce;
    6de2:	8461      	ld.b      	r3, (r4, 0x1)
    6de4:	dc6e001b 	st.b      	r3, (r14, 0x1b)
		reply_buff[reply_len++] = touch_para.multiTimes_filt;
    6de8:	8462      	ld.b      	r3, (r4, 0x2)
    6dea:	dc6e001c 	st.b      	r3, (r14, 0x1c)
		reply_buff[reply_len++] = touch_para.base_speed;
    6dee:	8463      	ld.b      	r3, (r4, 0x3)
    6df0:	dc6e001d 	st.b      	r3, (r14, 0x1d)
		reply_buff[reply_len++] = touch_para.longpress_time & 0xFF;
    6df4:	8478      	ld.b      	r3, (r4, 0x18)
    6df6:	07c6      	br      	0x6d82	// 6d82 <TouchKey_ReadPara_Processing+0x76>
		reply_buff[reply_len++] = 0x00;
    6df8:	3102      	movi      	r1, 2
    6dfa:	07c7      	br      	0x6d88	// 6d88 <TouchKey_ReadPara_Processing+0x7c>
    6dfc:	20000524 	.long	0x20000524
    6e00:	200004d4 	.long	0x200004d4

Disassembly of section .text.TouchKey_DugPrintf_Processing:

00006e04 <TouchKey_DugPrintf_Processing>:
//开启/关闭触摸打印值
void TouchKey_DugPrintf_Processing(U8_T *para,U16_T len){
    6e04:	14d0      	push      	r15
    6e06:	1421      	subi      	r14, r14, 4
	U8_T reply_buff[4];
	
	if(para[0] == 0x01){
    6e08:	8060      	ld.b      	r3, (r0, 0x0)
    6e0a:	3b41      	cmpnei      	r3, 1
    6e0c:	0810      	bt      	0x6e2c	// 6e2c <TouchKey_DugPrintf_Processing+0x28>
		/*开启调试信息*/
		
		g_key.key_dug_printf = 0x01;
    6e0e:	106b      	lrw      	r3, 0x200004f0	// 6e38 <TouchKey_DugPrintf_Processing+0x34>
    6e10:	3201      	movi      	r2, 1
		
	}else if(para[0] == 0x02){
		/*关闭调试信息*/
		g_key.key_dug_printf = 0x00;
    6e12:	a35b      	st.b      	r2, (r3, 0x1b)
	}
	
	//回复数据
	reply_buff[0] = 0x03;	//CMD
    6e14:	3303      	movi      	r3, 3
    6e16:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[1] = 0x00;	//结果
	
	TouchKey_Comm_Reply(reply_buff,0x02);
    6e1a:	3102      	movi      	r1, 2
	reply_buff[1] = 0x00;	//结果
    6e1c:	3300      	movi      	r3, 0
	TouchKey_Comm_Reply(reply_buff,0x02);
    6e1e:	6c3b      	mov      	r0, r14
	reply_buff[1] = 0x00;	//结果
    6e20:	dc6e0001 	st.b      	r3, (r14, 0x1)
	TouchKey_Comm_Reply(reply_buff,0x02);
    6e24:	e3fffee0 	bsr      	0x6be4	// 6be4 <TouchKey_Comm_Reply>
}
    6e28:	1401      	addi      	r14, r14, 4
    6e2a:	1490      	pop      	r15
	}else if(para[0] == 0x02){
    6e2c:	3b42      	cmpnei      	r3, 2
    6e2e:	0bf3      	bt      	0x6e14	// 6e14 <TouchKey_DugPrintf_Processing+0x10>
		g_key.key_dug_printf = 0x00;
    6e30:	1062      	lrw      	r3, 0x200004f0	// 6e38 <TouchKey_DugPrintf_Processing+0x34>
    6e32:	3200      	movi      	r2, 0
    6e34:	07ef      	br      	0x6e12	// 6e12 <TouchKey_DugPrintf_Processing+0xe>
    6e36:	0000      	bkpt
    6e38:	200004f0 	.long	0x200004f0

Disassembly of section .text.TouchKey_ReadEnve_Processing:

00006e3c <TouchKey_ReadEnve_Processing>:
/*读取触摸环境值*/
void TouchKey_ReadEnve_Processing(U8_T *para,U16_T len){
    6e3c:	14d0      	push      	r15
    6e3e:	142d      	subi      	r14, r14, 52
	
	//回复数据
	reply_buff[reply_len++] = 0x04;	//CMD
	
	i=9;
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e40:	1149      	lrw      	r2, 0x20000bda	// 6ee4 <TouchKey_ReadEnve_Processing+0xa8>
	reply_buff[reply_len++] = 0x04;	//CMD
    6e42:	3304      	movi      	r3, 4
    6e44:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e48:	8a69      	ld.h      	r3, (r2, 0x12)
    6e4a:	4b68      	lsri      	r3, r3, 8
    6e4c:	dc6e0001 	st.b      	r3, (r14, 0x1)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e50:	8a69      	ld.h      	r3, (r2, 0x12)
    6e52:	dc6e0002 	st.b      	r3, (r14, 0x2)
//	reply_buff[reply_len++] = sampling_data0[i]>>8;		
//	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
//	reply_buff[reply_len++] = baseline_data0[i]>>8;		
//	reply_buff[reply_len++] = baseline_data0[i]&0xff;
	
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6e56:	6c3b      	mov      	r0, r14
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e58:	1164      	lrw      	r3, 0x20000888	// 6ee8 <TouchKey_ReadEnve_Processing+0xac>
    6e5a:	8b29      	ld.h      	r1, (r3, 0x12)
    6e5c:	4928      	lsri      	r1, r1, 8
    6e5e:	dc2e0003 	st.b      	r1, (r14, 0x3)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e62:	8b29      	ld.h      	r1, (r3, 0x12)
    6e64:	dc2e0004 	st.b      	r1, (r14, 0x4)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e68:	8a2a      	ld.h      	r1, (r2, 0x14)
    6e6a:	4928      	lsri      	r1, r1, 8
    6e6c:	dc2e0005 	st.b      	r1, (r14, 0x5)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e70:	8a2a      	ld.h      	r1, (r2, 0x14)
    6e72:	dc2e0006 	st.b      	r1, (r14, 0x6)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e76:	8b2a      	ld.h      	r1, (r3, 0x14)
    6e78:	4928      	lsri      	r1, r1, 8
    6e7a:	dc2e0007 	st.b      	r1, (r14, 0x7)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e7e:	8b2a      	ld.h      	r1, (r3, 0x14)
    6e80:	dc2e0008 	st.b      	r1, (r14, 0x8)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e84:	8a2b      	ld.h      	r1, (r2, 0x16)
    6e86:	4928      	lsri      	r1, r1, 8
    6e88:	dc2e0009 	st.b      	r1, (r14, 0x9)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e8c:	8a2b      	ld.h      	r1, (r2, 0x16)
    6e8e:	dc2e000a 	st.b      	r1, (r14, 0xa)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e92:	8b2b      	ld.h      	r1, (r3, 0x16)
    6e94:	4928      	lsri      	r1, r1, 8
    6e96:	dc2e000b 	st.b      	r1, (r14, 0xb)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e9a:	8b2b      	ld.h      	r1, (r3, 0x16)
    6e9c:	dc2e000c 	st.b      	r1, (r14, 0xc)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6ea0:	8a2c      	ld.h      	r1, (r2, 0x18)
    6ea2:	4928      	lsri      	r1, r1, 8
    6ea4:	dc2e000d 	st.b      	r1, (r14, 0xd)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6ea8:	8a2c      	ld.h      	r1, (r2, 0x18)
    6eaa:	dc2e000e 	st.b      	r1, (r14, 0xe)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6eae:	8b2c      	ld.h      	r1, (r3, 0x18)
    6eb0:	4928      	lsri      	r1, r1, 8
    6eb2:	dc2e000f 	st.b      	r1, (r14, 0xf)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6eb6:	8b2c      	ld.h      	r1, (r3, 0x18)
    6eb8:	dc2e0010 	st.b      	r1, (r14, 0x10)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6ebc:	8a2d      	ld.h      	r1, (r2, 0x1a)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6ebe:	8a4d      	ld.h      	r2, (r2, 0x1a)
    6ec0:	dc4e0012 	st.b      	r2, (r14, 0x12)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6ec4:	4928      	lsri      	r1, r1, 8
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6ec6:	8b4d      	ld.h      	r2, (r3, 0x1a)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6ec8:	dc2e0011 	st.b      	r1, (r14, 0x11)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6ecc:	4a48      	lsri      	r2, r2, 8
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6ece:	8b6d      	ld.h      	r3, (r3, 0x1a)
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6ed0:	3115      	movi      	r1, 21
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6ed2:	dc4e0013 	st.b      	r2, (r14, 0x13)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6ed6:	dc6e0014 	st.b      	r3, (r14, 0x14)
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6eda:	e3fffe85 	bsr      	0x6be4	// 6be4 <TouchKey_Comm_Reply>
}
    6ede:	140d      	addi      	r14, r14, 52
    6ee0:	1490      	pop      	r15
    6ee2:	0000      	bkpt
    6ee4:	20000bda 	.long	0x20000bda
    6ee8:	20000888 	.long	0x20000888

Disassembly of section .text.TouchKey_ResetDevice_Processing:

00006eec <TouchKey_ResetDevice_Processing>:
void TouchKey_ResetDevice_Processing(U8_T *para,U16_T len){
    6eec:	14d0      	push      	r15
    6eee:	142d      	subi      	r14, r14, 52
	U8_T reply_buff[50];
	U8_T reply_len = 0;
	
	//回复数据
	reply_buff[reply_len++] = 0x05;	//CMD
    6ef0:	3305      	movi      	r3, 5
    6ef2:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[reply_len++] = 0x00;	//

	TouchKey_Comm_Reply(reply_buff,reply_len);
    6ef6:	3102      	movi      	r1, 2
	reply_buff[reply_len++] = 0x00;	//
    6ef8:	3300      	movi      	r3, 0
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6efa:	6c3b      	mov      	r0, r14
	reply_buff[reply_len++] = 0x00;	//
    6efc:	dc6e0001 	st.b      	r3, (r14, 0x1)
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6f00:	e3fffe72 	bsr      	0x6be4	// 6be4 <TouchKey_Comm_Reply>
    6f04:	0400      	br      	0x6f04	// 6f04 <TouchKey_ResetDevice_Processing+0x18>

Disassembly of section .text.TouchKey_Comm_Processing:

00006f08 <TouchKey_Comm_Processing>:
 * 		CMD：0x01 - 设置触摸灵敏度挡位参数
 * 		CMD：0x02 - 读取触摸灵敏度挡位参数
 * 		CMD：0x03 - 启动触摸调试模式
 * 		CMD：0x04 - 读取触摸按键环境值
 * */
U8_T TouchKey_Comm_Processing(U8_T *data,U16_T len){
    6f08:	14d2      	push      	r4-r5, r15
    6f0a:	1421      	subi      	r14, r14, 4
	/*校验数据头*/
	if(data[0] != 0xAF){
    6f0c:	8060      	ld.b      	r3, (r0, 0x0)
    6f0e:	32af      	movi      	r2, 175
    6f10:	648e      	cmpne      	r3, r2
U8_T TouchKey_Comm_Processing(U8_T *data,U16_T len){
    6f12:	6d43      	mov      	r5, r0
	if(data[0] != 0xAF){
    6f14:	0c09      	bf      	0x6f26	// 6f26 <TouchKey_Comm_Processing+0x1e>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Heard Error:%d",__func__,data[0]);
    6f16:	3000      	movi      	r0, 0
    6f18:	114b      	lrw      	r2, 0xc748	// 6fc4 <TouchKey_Comm_Processing+0xbc>
    6f1a:	112c      	lrw      	r1, 0xcc2f	// 6fc8 <TouchKey_Comm_Processing+0xc0>
    6f1c:	e3fffb90 	bsr      	0x663c	// 663c <Dbg_Println>
		return 0x01;
    6f20:	3001      	movi      	r0, 1
			break;
	}
	
	
	return 0;
}
    6f22:	1401      	addi      	r14, r14, 4
    6f24:	1492      	pop      	r4-r5, r15
	if(data[1] != g_eeprom.dev_addr){
    6f26:	114a      	lrw      	r2, 0x20000524	// 6fcc <TouchKey_Comm_Processing+0xc4>
    6f28:	8061      	ld.b      	r3, (r0, 0x1)
    6f2a:	8240      	ld.b      	r2, (r2, 0x0)
    6f2c:	64ca      	cmpne      	r2, r3
    6f2e:	0c08      	bf      	0x6f3e	// 6f3e <TouchKey_Comm_Processing+0x36>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Addr Error %d",__func__,data[1]);
    6f30:	3000      	movi      	r0, 0
    6f32:	1145      	lrw      	r2, 0xc748	// 6fc4 <TouchKey_Comm_Processing+0xbc>
    6f34:	1127      	lrw      	r1, 0xcc41	// 6fd0 <TouchKey_Comm_Processing+0xc8>
    6f36:	e3fffb83 	bsr      	0x663c	// 663c <Dbg_Println>
        return 0x02;
    6f3a:	3002      	movi      	r0, 2
    6f3c:	07f3      	br      	0x6f22	// 6f22 <TouchKey_Comm_Processing+0x1a>
	if(data[2] != len){
    6f3e:	8062      	ld.b      	r3, (r0, 0x2)
    6f40:	750d      	zexth      	r4, r3
    6f42:	6452      	cmpne      	r4, r1
    6f44:	0c09      	bf      	0x6f56	// 6f56 <TouchKey_Comm_Processing+0x4e>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Len Error %d-%d",__func__,data[2],len);
    6f46:	b820      	st.w      	r1, (r14, 0x0)
    6f48:	105f      	lrw      	r2, 0xc748	// 6fc4 <TouchKey_Comm_Processing+0xbc>
    6f4a:	1123      	lrw      	r1, 0xcc52	// 6fd4 <TouchKey_Comm_Processing+0xcc>
    6f4c:	3000      	movi      	r0, 0
    6f4e:	e3fffb77 	bsr      	0x663c	// 663c <Dbg_Println>
        return 0x03;
    6f52:	3003      	movi      	r0, 3
    6f54:	07e7      	br      	0x6f22	// 6f22 <TouchKey_Comm_Processing+0x1a>
	if(data[len-1] != 0xFA){
    6f56:	60c0      	addu      	r3, r0
    6f58:	2b00      	subi      	r3, 1
    6f5a:	8360      	ld.b      	r3, (r3, 0x0)
    6f5c:	32fa      	movi      	r2, 250
    6f5e:	648e      	cmpne      	r3, r2
    6f60:	0c07      	bf      	0x6f6e	// 6f6e <TouchKey_Comm_Processing+0x66>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s End Error %d",__func__,data[len-1]);
    6f62:	1059      	lrw      	r2, 0xc748	// 6fc4 <TouchKey_Comm_Processing+0xbc>
    6f64:	103d      	lrw      	r1, 0xcc65	// 6fd8 <TouchKey_Comm_Processing+0xd0>
    6f66:	3000      	movi      	r0, 0
    6f68:	e3fffb6a 	bsr      	0x663c	// 663c <Dbg_Println>
    6f6c:	07f3      	br      	0x6f52	// 6f52 <TouchKey_Comm_Processing+0x4a>
	if(TouchKey_CheckSum(data,(len - 1)) == 0x00){
    6f6e:	5c23      	subi      	r1, r4, 1
    6f70:	7445      	zexth      	r1, r1
    6f72:	e3fffe2d 	bsr      	0x6bcc	// 6bcc <TouchKey_CheckSum>
    6f76:	3840      	cmpnei      	r0, 0
    6f78:	0806      	bt      	0x6f84	// 6f84 <TouchKey_Comm_Processing+0x7c>
        Dbg_Println(DBG_BIT_SYS_STATUS,"%s Check Error",__func__);
    6f7a:	1053      	lrw      	r2, 0xc748	// 6fc4 <TouchKey_Comm_Processing+0xbc>
    6f7c:	1038      	lrw      	r1, 0xcc75	// 6fdc <TouchKey_Comm_Processing+0xd4>
    6f7e:	e3fffb5f 	bsr      	0x663c	// 663c <Dbg_Println>
    6f82:	07e8      	br      	0x6f52	// 6f52 <TouchKey_Comm_Processing+0x4a>
	switch(data[4]){
    6f84:	8504      	ld.b      	r0, (r5, 0x4)
    6f86:	2800      	subi      	r0, 1
    6f88:	3804      	cmphsi      	r0, 5
    6f8a:	080c      	bt      	0x6fa2	// 6fa2 <TouchKey_Comm_Processing+0x9a>
    6f8c:	5c37      	subi      	r1, r4, 6
    6f8e:	2504      	addi      	r5, 5
			TouchKey_ResetDevice_Processing(&data[5],(len - 6));
    6f90:	7445      	zexth      	r1, r1
	switch(data[4]){
    6f92:	e3ffe2b5 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    6f96:	0803      	.short	0x0803
    6f98:	0014100c 	.long	0x0014100c
			TouchKey_SetPara_Processing(&data[5],(len - 6));
    6f9c:	6c17      	mov      	r0, r5
    6f9e:	e3fffe5b 	bsr      	0x6c54	// 6c54 <TouchKey_SetPara_Processing>
	return 0;
    6fa2:	3000      	movi      	r0, 0
    6fa4:	07bf      	br      	0x6f22	// 6f22 <TouchKey_Comm_Processing+0x1a>
			TouchKey_ReadPara_Processing(&data[5],(len - 6));
    6fa6:	6c17      	mov      	r0, r5
    6fa8:	e3fffeb2 	bsr      	0x6d0c	// 6d0c <TouchKey_ReadPara_Processing>
    6fac:	07fb      	br      	0x6fa2	// 6fa2 <TouchKey_Comm_Processing+0x9a>
			TouchKey_DugPrintf_Processing(&data[5],(len - 6));
    6fae:	6c17      	mov      	r0, r5
    6fb0:	e3ffff2a 	bsr      	0x6e04	// 6e04 <TouchKey_DugPrintf_Processing>
    6fb4:	07f7      	br      	0x6fa2	// 6fa2 <TouchKey_Comm_Processing+0x9a>
			TouchKey_ReadEnve_Processing(&data[5],(len - 6));
    6fb6:	6c17      	mov      	r0, r5
    6fb8:	e3ffff42 	bsr      	0x6e3c	// 6e3c <TouchKey_ReadEnve_Processing>
    6fbc:	07f3      	br      	0x6fa2	// 6fa2 <TouchKey_Comm_Processing+0x9a>
			TouchKey_ResetDevice_Processing(&data[5],(len - 6));
    6fbe:	6c17      	mov      	r0, r5
    6fc0:	e3ffff96 	bsr      	0x6eec	// 6eec <TouchKey_ResetDevice_Processing>
    6fc4:	0000c748 	.long	0x0000c748
    6fc8:	0000cc2f 	.long	0x0000cc2f
    6fcc:	20000524 	.long	0x20000524
    6fd0:	0000cc41 	.long	0x0000cc41
    6fd4:	0000cc52 	.long	0x0000cc52
    6fd8:	0000cc65 	.long	0x0000cc65
    6fdc:	0000cc75 	.long	0x0000cc75

Disassembly of section .text.EEPROM_CheckSum:

00006fe0 <EEPROM_CheckSum>:
E_PARA_INFO g_eeprom;

E_MCU_DEV_INFO g_mcu_dev;

U8_T EEPROM_CheckSum(U8_T *data,U16_T len)
{
    6fe0:	6cc3      	mov      	r3, r0
    6fe2:	6040      	addu      	r1, r0
	U8_T data_sum = 0;
    6fe4:	3000      	movi      	r0, 0
	
	for(U16_T i = 0;i<len;i++)
    6fe6:	644e      	cmpne      	r3, r1
    6fe8:	0802      	bt      	0x6fec	// 6fec <EEPROM_CheckSum+0xc>
	{
		data_sum += data[i];
	}
	return data_sum;
}
    6fea:	783c      	jmp      	r15
		data_sum += data[i];
    6fec:	8340      	ld.b      	r2, (r3, 0x0)
    6fee:	6008      	addu      	r0, r2
    6ff0:	7400      	zextb      	r0, r0
    6ff2:	2300      	addi      	r3, 1
    6ff4:	07f9      	br      	0x6fe6	// 6fe6 <EEPROM_CheckSum+0x6>

Disassembly of section .text.EEPROM_ReadParaInfo:

00006ff8 <EEPROM_ReadParaInfo>:
//	}
	
}


U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){
    6ff8:	14d1      	push      	r4, r15
    6ffa:	143b      	subi      	r14, r14, 108
    6ffc:	6d03      	mov      	r4, r0
	U8_T read_info[6];
	U8_T para_data[EEPROM_APP_DATA_Size_Max];
	U16_T read_len = 0;
	
	memset(read_info,0,sizeof(read_info));
    6ffe:	3300      	movi      	r3, 0
	memset(para_data,0,sizeof(para_data));
    7000:	3264      	movi      	r2, 100
    7002:	3100      	movi      	r1, 0
    7004:	1802      	addi      	r0, r14, 8
	memset(read_info,0,sizeof(read_info));
    7006:	b860      	st.w      	r3, (r14, 0x0)
    7008:	dc6e1002 	st.h      	r3, (r14, 0x4)
	memset(para_data,0,sizeof(para_data));
    700c:	e3ffe8c8 	bsr      	0x419c	// 419c <__memset_fast>
	
	ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info);
    7010:	6cbb      	mov      	r2, r14
    7012:	3104      	movi      	r1, 4
    7014:	1014      	lrw      	r0, 0x10000100	// 7064 <EEPROM_ReadParaInfo+0x6c>
    7016:	e3fff17f 	bsr      	0x5314	// 5314 <ReadDataArry_U8>
	
	if(read_info[0] == EEPROM_APP_SVAE_FLAG){
    701a:	d84e0000 	ld.b      	r2, (r14, 0x0)
    701e:	33a6      	movi      	r3, 166
    7020:	64ca      	cmpne      	r2, r3
    7022:	0c04      	bf      	0x702a	// 702a <EEPROM_ReadParaInfo+0x32>
				return 0x00;
			}
		}
	}
	
	return 0x01;
    7024:	3001      	movi      	r0, 1
}
    7026:	141b      	addi      	r14, r14, 108
    7028:	1491      	pop      	r4, r15
		read_len |= read_info[1];
    702a:	d82e0002 	ld.b      	r1, (r14, 0x2)
    702e:	d86e0001 	ld.b      	r3, (r14, 0x1)
    7032:	4128      	lsli      	r1, r1, 8
    7034:	6c4c      	or      	r1, r3
		if(read_len <= EEPROM_APP_DATA_Size_Max){
    7036:	3364      	movi      	r3, 100
    7038:	644c      	cmphs      	r3, r1
    703a:	0ff5      	bf      	0x7024	// 7024 <EEPROM_ReadParaInfo+0x2c>
			ReadDataArry_U8(EEPROM_ParaInfo_Address+EEPROM_Offset_Data,read_len,para_data);
    703c:	1a02      	addi      	r2, r14, 8
    703e:	100b      	lrw      	r0, 0x10000104	// 7068 <EEPROM_ReadParaInfo+0x70>
    7040:	e3fff16a 	bsr      	0x5314	// 5314 <ReadDataArry_U8>
			if(EEPROM_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){
    7044:	3108      	movi      	r1, 8
    7046:	1802      	addi      	r0, r14, 8
    7048:	e3ffffcc 	bsr      	0x6fe0	// 6fe0 <EEPROM_CheckSum>
    704c:	d86e0003 	ld.b      	r3, (r14, 0x3)
    7050:	640e      	cmpne      	r3, r0
    7052:	0be9      	bt      	0x7024	// 7024 <EEPROM_ReadParaInfo+0x2c>
				memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO));
    7054:	3208      	movi      	r2, 8
    7056:	1902      	addi      	r1, r14, 8
    7058:	6c13      	mov      	r0, r4
    705a:	e3ffe8e5 	bsr      	0x4224	// 4224 <__memcpy_fast>
				return 0x00;
    705e:	3000      	movi      	r0, 0
    7060:	07e3      	br      	0x7026	// 7026 <EEPROM_ReadParaInfo+0x2e>
    7062:	0000      	bkpt
    7064:	10000100 	.long	0x10000100
    7068:	10000104 	.long	0x10000104

Disassembly of section .text.EEPROM_WriteParaInfo:

0000706c <EEPROM_WriteParaInfo>:

U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){
    706c:	14d0      	push      	r15
    706e:	143b      	subi      	r14, r14, 108
	U8_T save_data[EEPROM_APP_DATA_Size_Max + 6];
	U16_T save_len = sizeof(E_PARA_INFO);
	
	if(save_len >= EEPROM_APP_DATA_Size_Max) save_len = EEPROM_APP_DATA_Size_Max;
	
	save_data[0] = EEPROM_APP_SVAE_FLAG;
    7070:	3300      	movi      	r3, 0
    7072:	2b59      	subi      	r3, 90
    7074:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_data[1] = save_len & 0xFF;
    7078:	3308      	movi      	r3, 8
    707a:	dc6e0001 	st.b      	r3, (r14, 0x1)
	save_data[2] = (save_len >> 8) & 0xFF;
    707e:	3300      	movi      	r3, 0
    7080:	dc6e0002 	st.b      	r3, (r14, 0x2)
	
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    7084:	1b01      	addi      	r3, r14, 4
U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){
    7086:	6c43      	mov      	r1, r0
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    7088:	3208      	movi      	r2, 8
    708a:	6c0f      	mov      	r0, r3
    708c:	e3ffe8cc 	bsr      	0x4224	// 4224 <__memcpy_fast>
	
	save_data[3] = EEPROM_CheckSum(&save_data[4],save_len);
    7090:	3108      	movi      	r1, 8
    7092:	e3ffffa7 	bsr      	0x6fe0	// 6fe0 <EEPROM_CheckSum>
    7096:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len+=4;
	
	Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data);
    709a:	6cbb      	mov      	r2, r14
    709c:	310c      	movi      	r1, 12
    709e:	1004      	lrw      	r0, 0x10000100	// 70ac <EEPROM_WriteParaInfo+0x40>
    70a0:	e3fff0ea 	bsr      	0x5274	// 5274 <Page_ProgramData>
	
	return 0;
}
    70a4:	3000      	movi      	r0, 0
    70a6:	141b      	addi      	r14, r14, 108
    70a8:	1490      	pop      	r15
    70aa:	0000      	bkpt
    70ac:	10000100 	.long	0x10000100

Disassembly of section .text.EEPROM_Validate_ParaInfo:

000070b0 <EEPROM_Validate_ParaInfo>:
	Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data);
	
	return 0;
}

U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){
    70b0:	14d1      	push      	r4, r15
    70b2:	1423      	subi      	r14, r14, 12
	U8_T i=0;
	
	//以下为本地参数
	
	//温差
	if(info->temp_diff > 18 ){
    70b4:	8062      	ld.b      	r3, (r0, 0x2)
    70b6:	3b12      	cmphsi      	r3, 19
U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){
    70b8:	6d03      	mov      	r4, r0
	if(info->temp_diff > 18 ){
    70ba:	0c03      	bf      	0x70c0	// 70c0 <EEPROM_Validate_ParaInfo+0x10>
		info->temp_diff = EEPROM_TempDifference_Default;		//默认
    70bc:	3309      	movi      	r3, 9
    70be:	a062      	st.b      	r3, (r0, 0x2)
	}
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp_diff %d",info->temp_diff);
    70c0:	8442      	ld.b      	r2, (r4, 0x2)
    70c2:	103d      	lrw      	r1, 0xcc84	// 7134 <EEPROM_Validate_ParaInfo+0x84>
    70c4:	3000      	movi      	r0, 0
    70c6:	e3fffabb 	bsr      	0x663c	// 663c <Dbg_Println>
	
	//温度显示单位
	if(info->temp_select > 0x02 ){
    70ca:	8463      	ld.b      	r3, (r4, 0x3)
    70cc:	3b02      	cmphsi      	r3, 3
    70ce:	0c03      	bf      	0x70d4	// 70d4 <EEPROM_Validate_ParaInfo+0x24>
		info->temp_select = EEPROM_TempSelect_Default;				//默认保护电流为10A
    70d0:	3300      	movi      	r3, 0
    70d2:	a463      	st.b      	r3, (r4, 0x3)
	}
	
	
	if(info->backlight_en >= 0x02)
    70d4:	8464      	ld.b      	r3, (r4, 0x4)
    70d6:	3b01      	cmphsi      	r3, 2
    70d8:	0c03      	bf      	0x70de	// 70de <EEPROM_Validate_ParaInfo+0x2e>
	{
		info->backlight_en = 0x00;
    70da:	3300      	movi      	r3, 0
    70dc:	a464      	st.b      	r3, (r4, 0x4)
	}
	
	if(info->pipe_flag > 0x02)
    70de:	8461      	ld.b      	r3, (r4, 0x1)
    70e0:	3b02      	cmphsi      	r3, 3
    70e2:	0c03      	bf      	0x70e8	// 70e8 <EEPROM_Validate_ParaInfo+0x38>
	{
		info->pipe_flag = 0x00;
    70e4:	3300      	movi      	r3, 0
    70e6:	a461      	st.b      	r3, (r4, 0x1)
	}
	
	if((info->dev_addr == 0x00) || (info->dev_addr == 0xff))
    70e8:	8460      	ld.b      	r3, (r4, 0x0)
    70ea:	2b00      	subi      	r3, 1
    70ec:	74cc      	zextb      	r3, r3
    70ee:	32fd      	movi      	r2, 253
    70f0:	64c8      	cmphs      	r2, r3
    70f2:	0803      	bt      	0x70f8	// 70f8 <EEPROM_Validate_ParaInfo+0x48>
	{
		info->dev_addr = 0x01;
    70f4:	3301      	movi      	r3, 1
    70f6:	a460      	st.b      	r3, (r4, 0x0)
	}
	
	//按键灵敏度
	if(info->key_sens_level > 2)
    70f8:	8465      	ld.b      	r3, (r4, 0x5)
    70fa:	3b02      	cmphsi      	r3, 3
    70fc:	0c03      	bf      	0x7102	// 7102 <EEPROM_Validate_ParaInfo+0x52>
	{
		info->key_sens_level = EEPROM_TouchLevel_Default;    //默认中灵敏度
    70fe:	3301      	movi      	r3, 1
    7100:	a465      	st.b      	r3, (r4, 0x5)
	}
	
	//显示语言
	if(info->langue_select > 2)
    7102:	8466      	ld.b      	r3, (r4, 0x6)
    7104:	3b02      	cmphsi      	r3, 3
    7106:	0c03      	bf      	0x710c	// 710c <EEPROM_Validate_ParaInfo+0x5c>
	{
		info->langue_select = EEPROM_LangueSelect_Default;//默认中英文混合
    7108:	3300      	movi      	r3, 0
    710a:	a466      	st.b      	r3, (r4, 0x6)
	}	
	
	//设备端口类型
	if(info->dev_port > 2)                 //2024-12-16
    710c:	8467      	ld.b      	r3, (r4, 0x7)
    710e:	3b02      	cmphsi      	r3, 3
    7110:	0c03      	bf      	0x7116	// 7116 <EEPROM_Validate_ParaInfo+0x66>
	{
		info->dev_port = POLLING_PORT;                       //默认轮训端口
    7112:	3301      	movi      	r3, 1
    7114:	a467      	st.b      	r3, (r4, 0x7)
	}
	
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp unit:%d  backlight_en:%d  key_sens_level:%d device_addr:%d  device_port:%d",\
    7116:	8427      	ld.b      	r1, (r4, 0x7)
    7118:	b822      	st.w      	r1, (r14, 0x8)
    711a:	8420      	ld.b      	r1, (r4, 0x0)
    711c:	b821      	st.w      	r1, (r14, 0x4)
    711e:	8425      	ld.b      	r1, (r4, 0x5)
    7120:	b820      	st.w      	r1, (r14, 0x0)
    7122:	8464      	ld.b      	r3, (r4, 0x4)
    7124:	8443      	ld.b      	r2, (r4, 0x3)
    7126:	1025      	lrw      	r1, 0xcc9b	// 7138 <EEPROM_Validate_ParaInfo+0x88>
    7128:	3000      	movi      	r0, 0
    712a:	e3fffa89 	bsr      	0x663c	// 663c <Dbg_Println>
	info->temp_select,info->backlight_en,info->key_sens_level,info->dev_addr,info->dev_port);
	
	return 0;
}
    712e:	3000      	movi      	r0, 0
    7130:	1403      	addi      	r14, r14, 12
    7132:	1491      	pop      	r4, r15
    7134:	0000cc84 	.long	0x0000cc84
    7138:	0000cc9b 	.long	0x0000cc9b

Disassembly of section .text.EEPROM_Default_ParaInfo:

0000713c <EEPROM_Default_ParaInfo>:

/*恢复默认值*/
void EEPROM_Default_ParaInfo(E_PARA_INFO *info){
	info->dev_addr = 0x01;
    713c:	3301      	movi      	r3, 1
    713e:	a060      	st.b      	r3, (r0, 0x0)
	info->pipe_flag = 0x00;
    7140:	3300      	movi      	r3, 0
    7142:	a061      	st.b      	r3, (r0, 0x1)
	info->temp_diff = EEPROM_TempDifference_Default;
    7144:	3309      	movi      	r3, 9
    7146:	a062      	st.b      	r3, (r0, 0x2)
	info->temp_select = EEPROM_TempSelect_Default;
    7148:	3300      	movi      	r3, 0
    714a:	a063      	st.b      	r3, (r0, 0x3)
	info->backlight_en = 0x00;
    714c:	a064      	st.b      	r3, (r0, 0x4)
	info->key_sens_level = EEPROM_TouchLevel_Default;
    714e:	3301      	movi      	r3, 1
    7150:	a065      	st.b      	r3, (r0, 0x5)
	info->langue_select = EEPROM_LangueSelect_Default;	
    7152:	3300      	movi      	r3, 0
    7154:	a066      	st.b      	r3, (r0, 0x6)
	info->dev_port = POLLING_PORT;                          //2024-12-16
    7156:	3301      	movi      	r3, 1
    7158:	a067      	st.b      	r3, (r0, 0x7)
	
}
    715a:	783c      	jmp      	r15

Disassembly of section .text.EEPROM_Init:

0000715c <EEPROM_Init>:
void EEPROM_Init(void){
    715c:	14d1      	push      	r4, r15
	EnIFCClk; //使能 IFC 时钟
    715e:	1073      	lrw      	r3, 0x20000060	// 71a8 <EEPROM_Init+0x4c>
    7160:	3201      	movi      	r2, 1
    7162:	9360      	ld.w      	r3, (r3, 0x0)
    7164:	b341      	st.w      	r2, (r3, 0x4)
	IFC->MR |= 0x10002; //高速模式，延迟 2 个周期
    7166:	9345      	ld.w      	r2, (r3, 0x14)
    7168:	3aa1      	bseti      	r2, 1
    716a:	3ab0      	bseti      	r2, 16
    716c:	b345      	st.w      	r2, (r3, 0x14)
	delay_nms(10);
    716e:	300a      	movi      	r0, 10
	memset(&g_eeprom,0,sizeof(E_PARA_INFO));	
    7170:	108f      	lrw      	r4, 0x20000524	// 71ac <EEPROM_Init+0x50>
	delay_nms(10);
    7172:	e3fff1e9 	bsr      	0x5544	// 5544 <delay_nms>
	memset(&g_eeprom,0,sizeof(E_PARA_INFO));	
    7176:	3208      	movi      	r2, 8
    7178:	3100      	movi      	r1, 0
    717a:	6c13      	mov      	r0, r4
    717c:	e3ffe810 	bsr      	0x419c	// 419c <__memset_fast>
	rev = EEPROM_ReadParaInfo(&g_eeprom);
    7180:	6c13      	mov      	r0, r4
    7182:	e3ffff3b 	bsr      	0x6ff8	// 6ff8 <EEPROM_ReadParaInfo>
	if(rev == 0x00){
    7186:	3840      	cmpnei      	r0, 0
		EEPROM_Validate_ParaInfo(&g_eeprom);
    7188:	6c13      	mov      	r0, r4
	if(rev == 0x00){
    718a:	0804      	bt      	0x7192	// 7192 <EEPROM_Init+0x36>
		EEPROM_Validate_ParaInfo(&g_eeprom);
    718c:	e3ffff92 	bsr      	0x70b0	// 70b0 <EEPROM_Validate_ParaInfo>
}
    7190:	1491      	pop      	r4, r15
		EEPROM_Default_ParaInfo(&g_eeprom);
    7192:	e3ffffd5 	bsr      	0x713c	// 713c <EEPROM_Default_ParaInfo>
		EEPROM_WriteParaInfo(&g_eeprom);
    7196:	6c13      	mov      	r0, r4
    7198:	e3ffff6a 	bsr      	0x706c	// 706c <EEPROM_WriteParaInfo>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default:%d",g_eeprom.pipe_flag);
    719c:	8441      	ld.b      	r2, (r4, 0x1)
    719e:	1025      	lrw      	r1, 0xccf5	// 71b0 <EEPROM_Init+0x54>
    71a0:	3000      	movi      	r0, 0
    71a2:	e3fffa4d 	bsr      	0x663c	// 663c <Dbg_Println>
}
    71a6:	07f5      	br      	0x7190	// 7190 <EEPROM_Init+0x34>
    71a8:	20000060 	.long	0x20000060
    71ac:	20000524 	.long	0x20000524
    71b0:	0000ccf5 	.long	0x0000ccf5

Disassembly of section .text.EEPROM_WriteTouchPara:

000071b4 <EEPROM_WriteTouchPara>:
* Description    : 保存触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：保存参数
*******************************************************************************/
U8_T EEPROM_WriteTouchPara(U8_T level,TOUCHKEY_PARA *para){
    71b4:	14d2      	push      	r4-r5, r15
    71b6:	142f      	subi      	r14, r14, 60
	U32_T temp_addr = EEPROM_TOUCHPARA1_SaveAddr;
	U8_T save_para[EEPROM_PARA_Size+10];
	UINT16 save_len = sizeof(TOUCHKEY_PARA);
	
	switch(level){
    71b8:	3841      	cmpnei      	r0, 1
U8_T EEPROM_WriteTouchPara(U8_T level,TOUCHKEY_PARA *para){
    71ba:	6d47      	mov      	r5, r1
	switch(level){
    71bc:	0c07      	bf      	0x71ca	// 71ca <EEPROM_WriteTouchPara+0x16>
    71be:	3840      	cmpnei      	r0, 0
    71c0:	0c27      	bf      	0x720e	// 720e <EEPROM_WriteTouchPara+0x5a>
    71c2:	3842      	cmpnei      	r0, 2
    71c4:	0c23      	bf      	0x720a	// 720a <EEPROM_WriteTouchPara+0x56>
			break;
		case 0x02:
			temp_addr = EEPROM_TOUCHPARA3_SaveAddr;
			break;
		default:
			return 0x01;		//不在范围内，不保存
    71c6:	3001      	movi      	r0, 1
    71c8:	041f      	br      	0x7206	// 7206 <EEPROM_WriteTouchPara+0x52>
			temp_addr = EEPROM_TOUCHPARA2_SaveAddr;
    71ca:	1093      	lrw      	r4, 0x10000280	// 7214 <EEPROM_WriteTouchPara+0x60>
			break;
	}
	
	memset(save_para,0,sizeof(save_para));
    71cc:	323c      	movi      	r2, 60
    71ce:	3100      	movi      	r1, 0
    71d0:	6c3b      	mov      	r0, r14
    71d2:	e3ffe7e5 	bsr      	0x419c	// 419c <__memset_fast>
	
	if(save_len >= EEPROM_PARA_Size)	save_len = EEPROM_PARA_Size;
	
	save_para[0] = EEPROM_APP_SVAE_FLAG;
    71d6:	3300      	movi      	r3, 0
    71d8:	2b59      	subi      	r3, 90
    71da:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_para[1] = save_len & 0xFF;
    71de:	331c      	movi      	r3, 28
    71e0:	dc6e0001 	st.b      	r3, (r14, 0x1)
	save_para[2] = (save_len >> 8) & 0xFF;
	save_para[3] = 0x00;
	
	//保存的参数
	memcpy(&save_para[4],(uint8_t *)para,save_len);
    71e4:	1b01      	addi      	r3, r14, 4
    71e6:	321c      	movi      	r2, 28
    71e8:	6c0f      	mov      	r0, r3
    71ea:	6c57      	mov      	r1, r5
    71ec:	e3ffe81c 	bsr      	0x4224	// 4224 <__memcpy_fast>
	
	save_para[3] = EEPROM_CheckSum(&save_para[4],save_len);
    71f0:	311c      	movi      	r1, 28
    71f2:	e3fffef7 	bsr      	0x6fe0	// 6fe0 <EEPROM_CheckSum>
    71f6:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len += 4;
	Page_ProgramData(temp_addr,save_len,save_para);
    71fa:	6cbb      	mov      	r2, r14
    71fc:	6c13      	mov      	r0, r4
    71fe:	3120      	movi      	r1, 32
    7200:	e3fff03a 	bsr      	0x5274	// 5274 <Page_ProgramData>
	
	return 0;
    7204:	3000      	movi      	r0, 0
}
    7206:	140f      	addi      	r14, r14, 60
    7208:	1492      	pop      	r4-r5, r15
			temp_addr = EEPROM_TOUCHPARA3_SaveAddr;
    720a:	1084      	lrw      	r4, 0x10000300	// 7218 <EEPROM_WriteTouchPara+0x64>
			break;
    720c:	07e0      	br      	0x71cc	// 71cc <EEPROM_WriteTouchPara+0x18>
			temp_addr = EEPROM_TOUCHPARA1_SaveAddr;
    720e:	1084      	lrw      	r4, 0x10000200	// 721c <EEPROM_WriteTouchPara+0x68>
    7210:	07de      	br      	0x71cc	// 71cc <EEPROM_WriteTouchPara+0x18>
    7212:	0000      	bkpt
    7214:	10000280 	.long	0x10000280
    7218:	10000300 	.long	0x10000300
    721c:	10000200 	.long	0x10000200

Disassembly of section .text.EEPROM_ReadTouchPara:

00007220 <EEPROM_ReadTouchPara>:
* Description    : 读取触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：读取参数
*******************************************************************************/
U8_T EEPROM_ReadTouchPara(U8_T level,TOUCHKEY_PARA *para){
    7220:	14d2      	push      	r4-r5, r15
    7222:	142f      	subi      	r14, r14, 60
	U8_T read_info[6];
	U8_T para_data[EEPROM_PARA_Size+2];
	U16_T read_len = 0;
	U32_T temp_addr = EEPROM_TOUCHPARA1_SaveAddr;
	
	switch(level){
    7224:	3841      	cmpnei      	r0, 1
U8_T EEPROM_ReadTouchPara(U8_T level,TOUCHKEY_PARA *para){
    7226:	6d07      	mov      	r4, r1
	switch(level){
    7228:	0c3a      	bf      	0x729c	// 729c <EEPROM_ReadTouchPara+0x7c>
    722a:	3840      	cmpnei      	r0, 0
    722c:	0c05      	bf      	0x7236	// 7236 <EEPROM_ReadTouchPara+0x16>
    722e:	3842      	cmpnei      	r0, 2
    7230:	0c34      	bf      	0x7298	// 7298 <EEPROM_ReadTouchPara+0x78>
		}
	}else{
		Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"EEPROM_ReadTouchPara Flag Err",read_info,4);
	}
	
	return 0x01;
    7232:	3001      	movi      	r0, 1
    7234:	0430      	br      	0x7294	// 7294 <EEPROM_ReadTouchPara+0x74>
			temp_addr = EEPROM_TOUCHPARA1_SaveAddr;
    7236:	11a1      	lrw      	r5, 0x10000200	// 72b8 <EEPROM_ReadTouchPara+0x98>
	memset(read_info,0,sizeof(read_info));
    7238:	3300      	movi      	r3, 0
	memset(para_data,0,sizeof(para_data));
    723a:	3234      	movi      	r2, 52
    723c:	3100      	movi      	r1, 0
    723e:	1802      	addi      	r0, r14, 8
	memset(read_info,0,sizeof(read_info));
    7240:	b860      	st.w      	r3, (r14, 0x0)
    7242:	dc6e1002 	st.h      	r3, (r14, 0x4)
	memset(para_data,0,sizeof(para_data));
    7246:	e3ffe7ab 	bsr      	0x419c	// 419c <__memset_fast>
	ReadDataArry_U8(temp_addr,4,read_info);
    724a:	6cbb      	mov      	r2, r14
    724c:	3104      	movi      	r1, 4
    724e:	6c17      	mov      	r0, r5
    7250:	e3fff062 	bsr      	0x5314	// 5314 <ReadDataArry_U8>
	if(read_info[0] == EEPROM_APP_SVAE_FLAG){
    7254:	d84e0000 	ld.b      	r2, (r14, 0x0)
    7258:	33a6      	movi      	r3, 166
    725a:	64ca      	cmpne      	r2, r3
    725c:	0827      	bt      	0x72aa	// 72aa <EEPROM_ReadTouchPara+0x8a>
		read_len |= read_info[1];
    725e:	d84e0002 	ld.b      	r2, (r14, 0x2)
    7262:	d86e0001 	ld.b      	r3, (r14, 0x1)
    7266:	4248      	lsli      	r2, r2, 8
    7268:	6c8c      	or      	r2, r3
		if((read_len <= EEPROM_PARA_Size) && (read_len == sizeof(TOUCHKEY_PARA))){
    726a:	3a5c      	cmpnei      	r2, 28
    726c:	081a      	bt      	0x72a0	// 72a0 <EEPROM_ReadTouchPara+0x80>
			temp_addr += EEPROM_Offset_Data;
    726e:	5d0e      	addi      	r0, r5, 4
			ReadDataArry_U8(temp_addr,read_len,para_data);
    7270:	1a02      	addi      	r2, r14, 8
    7272:	311c      	movi      	r1, 28
    7274:	e3fff050 	bsr      	0x5314	// 5314 <ReadDataArry_U8>
			if(EEPROM_CheckSum(para_data,sizeof(TOUCHKEY_PARA)) == read_info[3]){
    7278:	311c      	movi      	r1, 28
    727a:	1802      	addi      	r0, r14, 8
    727c:	e3fffeb2 	bsr      	0x6fe0	// 6fe0 <EEPROM_CheckSum>
    7280:	d86e0003 	ld.b      	r3, (r14, 0x3)
    7284:	640e      	cmpne      	r3, r0
    7286:	0bd6      	bt      	0x7232	// 7232 <EEPROM_ReadTouchPara+0x12>
				memcpy((uint8_t *)para,para_data,sizeof(TOUCHKEY_PARA));
    7288:	321c      	movi      	r2, 28
    728a:	1902      	addi      	r1, r14, 8
    728c:	6c13      	mov      	r0, r4
    728e:	e3ffe7cb 	bsr      	0x4224	// 4224 <__memcpy_fast>
				return 0x00;
    7292:	3000      	movi      	r0, 0
}
    7294:	140f      	addi      	r14, r14, 60
    7296:	1492      	pop      	r4-r5, r15
			temp_addr = EEPROM_TOUCHPARA3_SaveAddr;
    7298:	10a9      	lrw      	r5, 0x10000300	// 72bc <EEPROM_ReadTouchPara+0x9c>
			break;
    729a:	07cf      	br      	0x7238	// 7238 <EEPROM_ReadTouchPara+0x18>
			temp_addr = EEPROM_TOUCHPARA2_SaveAddr;
    729c:	10a9      	lrw      	r5, 0x10000280	// 72c0 <EEPROM_ReadTouchPara+0xa0>
    729e:	07cd      	br      	0x7238	// 7238 <EEPROM_ReadTouchPara+0x18>
			Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadTouchPara LEN Error:%d",read_len);
    72a0:	1029      	lrw      	r1, 0xcd0e	// 72c4 <EEPROM_ReadTouchPara+0xa4>
    72a2:	3000      	movi      	r0, 0
    72a4:	e3fff9cc 	bsr      	0x663c	// 663c <Dbg_Println>
    72a8:	07c5      	br      	0x7232	// 7232 <EEPROM_ReadTouchPara+0x12>
		Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"EEPROM_ReadTouchPara Flag Err",read_info,4);
    72aa:	3304      	movi      	r3, 4
    72ac:	6cbb      	mov      	r2, r14
    72ae:	1027      	lrw      	r1, 0xcd30	// 72c8 <EEPROM_ReadTouchPara+0xa8>
    72b0:	3000      	movi      	r0, 0
    72b2:	e3fff9cb 	bsr      	0x6648	// 6648 <Dbg_Print_Buff>
    72b6:	07be      	br      	0x7232	// 7232 <EEPROM_ReadTouchPara+0x12>
    72b8:	10000200 	.long	0x10000200
    72bc:	10000300 	.long	0x10000300
    72c0:	10000280 	.long	0x10000280
    72c4:	0000cd0e 	.long	0x0000cd0e
    72c8:	0000cd30 	.long	0x0000cd30

Disassembly of section .text.EEPROM_Validate_TouchPara:

000072cc <EEPROM_Validate_TouchPara>:
* Description    : 校验触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：读取参数
*******************************************************************************/
U8_T EEPROM_Validate_TouchPara(U8_T level,TOUCHKEY_PARA *para){
    72cc:	14c4      	push      	r4-r7
    72ce:	1421      	subi      	r14, r14, 4
	U8_T i=0,rev = 0;
	
	/*Baseline 更新速度 1~100*/
	if( (para->base_speed < 1) || (para->base_speed > 100) ){
    72d0:	8163      	ld.b      	r3, (r1, 0x3)
    72d2:	2b00      	subi      	r3, 1
    72d4:	74cc      	zextb      	r3, r3
    72d6:	3263      	movi      	r2, 99
    72d8:	64c8      	cmphs      	r2, r3
    72da:	084f      	bt      	0x7378	// 7378 <EEPROM_Validate_TouchPara+0xac>
		para->base_speed = 20;			//默认参数 - 20
    72dc:	3314      	movi      	r3, 20
    72de:	a163      	st.b      	r3, (r1, 0x3)
		rev = 0x01;
    72e0:	3301      	movi      	r3, 1
	}
	
	/*press_debounce 触发消抖次数 1~10*/
	if((para->press_debounce < 1) || (para->press_debounce > 10) ){
    72e2:	8140      	ld.b      	r2, (r1, 0x0)
    72e4:	2a00      	subi      	r2, 1
    72e6:	7488      	zextb      	r2, r2
    72e8:	3a09      	cmphsi      	r2, 10
    72ea:	0c04      	bf      	0x72f2	// 72f2 <EEPROM_Validate_TouchPara+0x26>
		para->press_debounce = 4;			//默认参数 - 6
    72ec:	3304      	movi      	r3, 4
    72ee:	a160      	st.b      	r3, (r1, 0x0)
		rev = 0x01;
    72f0:	3301      	movi      	r3, 1
	}
	
	/*release_debounce 释放消抖次数 1~10*/
	if((para->release_debounce < 1) || (para->release_debounce > 10) ){
    72f2:	8141      	ld.b      	r2, (r1, 0x1)
    72f4:	2a00      	subi      	r2, 1
    72f6:	7488      	zextb      	r2, r2
    72f8:	3a09      	cmphsi      	r2, 10
    72fa:	0c04      	bf      	0x7302	// 7302 <EEPROM_Validate_TouchPara+0x36>
		para->release_debounce = 5;			//默认参数 - 5
    72fc:	3305      	movi      	r3, 5
    72fe:	a161      	st.b      	r3, (r1, 0x1)
		rev = 0x01;
    7300:	3301      	movi      	r3, 1
	}
	
	/*multiTimes_filt 释放消抖次数 1~100*/
	if((para->multiTimes_filt < 1) || (para->multiTimes_filt > 100) ){
    7302:	8142      	ld.b      	r2, (r1, 0x2)
    7304:	2a00      	subi      	r2, 1
    7306:	7488      	zextb      	r2, r2
    7308:	3463      	movi      	r4, 99
    730a:	6490      	cmphs      	r4, r2
    730c:	0804      	bt      	0x7314	// 7314 <EEPROM_Validate_TouchPara+0x48>
		para->multiTimes_filt = 40;			//默认参数 - 40
    730e:	3328      	movi      	r3, 40
    7310:	a162      	st.b      	r3, (r1, 0x2)
		rev = 0x01;
    7312:	3301      	movi      	r3, 1
	}
	
	/*longpress_time 按键长按强制更新时间设置 1~32*/
	if((para->longpress_time < 1) || (para->longpress_time > 32) ){
    7314:	9146      	ld.w      	r2, (r1, 0x18)
    7316:	2a00      	subi      	r2, 1
    7318:	3a1f      	cmphsi      	r2, 32
    731a:	0c04      	bf      	0x7322	// 7322 <EEPROM_Validate_TouchPara+0x56>
		para->longpress_time = 16;			//默认参数 - 16
    731c:	3310      	movi      	r3, 16
    731e:	b166      	st.w      	r3, (r1, 0x18)
		rev = 0x01;
    7320:	3301      	movi      	r3, 1
			}else if (i == 2){
				para->senprd[i] = 320;			//默认参数 - 320
			}else if (i == 3){
				para->senprd[i] = 320;			//默认参数 - 300
			}else if (i == 4){
				para->senprd[i] = 280;			//默认参数 - 280
    7322:	358c      	movi      	r5, 140
    7324:	45a1      	lsli      	r5, r5, 1
    7326:	dcae1001 	st.h      	r5, (r14, 0x2)
				para->senprd[i] = 320;			//默认参数 - 300
    732a:	35a0      	movi      	r5, 160
    732c:	598e      	addi      	r4, r1, 4
		rev = 0x01;
    732e:	3200      	movi      	r2, 0
				para->senprd[i] = 320;			//默认参数 - 300
    7330:	45a1      	lsli      	r5, r5, 1
		if((para->senprd[i] < 10) || (para->senprd[i] > 1000) ){
    7332:	8cc0      	ld.h      	r6, (r4, 0x0)
    7334:	2e09      	subi      	r6, 10
    7336:	7599      	zexth      	r6, r6
    7338:	10fb      	lrw      	r7, 0x3de	// 73a4 <EEPROM_Validate_TouchPara+0xd8>
    733a:	659c      	cmphs      	r7, r6
    733c:	0806      	bt      	0x7348	// 7348 <EEPROM_Validate_TouchPara+0x7c>
			if (i == 0){
    733e:	3a40      	cmpnei      	r2, 0
    7340:	081e      	bt      	0x737c	// 737c <EEPROM_Validate_TouchPara+0xb0>
				para->senprd[i] = 250;			//默认参数 - 280
    7342:	33fa      	movi      	r3, 250
    7344:	a962      	st.h      	r3, (r1, 0x4)
			}else {
				para->senprd[i] = 280;			//默认参数 - 320
			}
			
			rev = 0x01;
    7346:	3301      	movi      	r3, 1
//			
//			Dbg_Println(DBG_BIT_SYS_STATUS,"%s releaselevel %d:%d",__func__,i,para->releaselevel[i]);
//		}
		
		/*triggerlevel 触摸触发阈值 20~200*/
		if((para->triggerlevel[i] < 20) || (para->triggerlevel[i] > 1000) ){
    7348:	8cc5      	ld.h      	r6, (r4, 0xa)
    734a:	2e13      	subi      	r6, 20
    734c:	37f5      	movi      	r7, 245
    734e:	7599      	zexth      	r6, r6
    7350:	47e2      	lsli      	r7, r7, 2
    7352:	659c      	cmphs      	r7, r6
    7354:	080a      	bt      	0x7368	// 7368 <EEPROM_Validate_TouchPara+0x9c>
			
			switch(level){
    7356:	3841      	cmpnei      	r0, 1
    7358:	0c24      	bf      	0x73a0	// 73a0 <EEPROM_Validate_TouchPara+0xd4>
    735a:	3840      	cmpnei      	r0, 0
    735c:	0c20      	bf      	0x739c	// 739c <EEPROM_Validate_TouchPara+0xd0>
    735e:	3842      	cmpnei      	r0, 2
    7360:	0820      	bt      	0x73a0	// 73a0 <EEPROM_Validate_TouchPara+0xd4>
				case 0x02:
					para->triggerlevel[i] = 80;			//高灵敏度 默认参数 - 60
    7362:	3350      	movi      	r3, 80
					break;
				case 0x00:
					para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
					break;
				default:
					para->triggerlevel[i] = 100;
    7364:	ac65      	st.h      	r3, (r4, 0xa)
					break;
			}
			
			rev = 0x01;
    7366:	3301      	movi      	r3, 1
	for(i=0;i<TKE_CH_MAX;i++){
    7368:	2200      	addi      	r2, 1
    736a:	7488      	zextb      	r2, r2
    736c:	3a45      	cmpnei      	r2, 5
    736e:	2401      	addi      	r4, 2
    7370:	0be1      	bt      	0x7332	// 7332 <EEPROM_Validate_TouchPara+0x66>
		}
	}
	
	return rev;
}
    7372:	6c0f      	mov      	r0, r3
    7374:	1401      	addi      	r14, r14, 4
    7376:	1484      	pop      	r4-r7
	U8_T i=0,rev = 0;
    7378:	3300      	movi      	r3, 0
    737a:	07b4      	br      	0x72e2	// 72e2 <EEPROM_Validate_TouchPara+0x16>
			}else if (i == 1){
    737c:	3a41      	cmpnei      	r2, 1
    737e:	0803      	bt      	0x7384	// 7384 <EEPROM_Validate_TouchPara+0xb8>
				para->senprd[i] = 320;			//默认参数 - 320
    7380:	a9a3      	st.h      	r5, (r1, 0x6)
    7382:	07e2      	br      	0x7346	// 7346 <EEPROM_Validate_TouchPara+0x7a>
			}else if (i == 2){
    7384:	3a42      	cmpnei      	r2, 2
    7386:	0803      	bt      	0x738c	// 738c <EEPROM_Validate_TouchPara+0xc0>
				para->senprd[i] = 320;			//默认参数 - 320
    7388:	a9a4      	st.h      	r5, (r1, 0x8)
    738a:	07de      	br      	0x7346	// 7346 <EEPROM_Validate_TouchPara+0x7a>
			}else if (i == 3){
    738c:	3a43      	cmpnei      	r2, 3
    738e:	0803      	bt      	0x7394	// 7394 <EEPROM_Validate_TouchPara+0xc8>
				para->senprd[i] = 320;			//默认参数 - 300
    7390:	a9a5      	st.h      	r5, (r1, 0xa)
    7392:	07da      	br      	0x7346	// 7346 <EEPROM_Validate_TouchPara+0x7a>
				para->senprd[i] = 280;			//默认参数 - 280
    7394:	d86e1001 	ld.h      	r3, (r14, 0x2)
    7398:	a966      	st.h      	r3, (r1, 0xc)
    739a:	07d6      	br      	0x7346	// 7346 <EEPROM_Validate_TouchPara+0x7a>
					para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
    739c:	3378      	movi      	r3, 120
    739e:	07e3      	br      	0x7364	// 7364 <EEPROM_Validate_TouchPara+0x98>
					para->triggerlevel[i] = 100;
    73a0:	3364      	movi      	r3, 100
    73a2:	07e1      	br      	0x7364	// 7364 <EEPROM_Validate_TouchPara+0x98>
    73a4:	000003de 	.long	0x000003de

Disassembly of section .text.EEPROM_Default_TouchPara:

000073a8 <EEPROM_Default_TouchPara>:
* Description    : 设置默认触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：读取参数
*******************************************************************************/
void EEPROM_Default_TouchPara(U8_T level,TOUCHKEY_PARA *para){
    73a8:	14c3      	push      	r4-r6
	U8_T i=0;
	
	para->base_speed = 20;			//默认参数 - 20
    73aa:	3314      	movi      	r3, 20
    73ac:	a163      	st.b      	r3, (r1, 0x3)
	para->press_debounce = 4;		//默认参数 - 6
    73ae:	3304      	movi      	r3, 4
    73b0:	a160      	st.b      	r3, (r1, 0x0)
		}else if (i == 2){
			para->senprd[i] = 320;			//默认参数 - 320
		}else if (i == 3){
			para->senprd[i] = 320;			//默认参数 - 300
		}else if (i == 4){
			para->senprd[i] = 280;			//默认参数 - 280
    73b2:	328c      	movi      	r2, 140
	para->release_debounce = 5;			//默认参数 - 5
    73b4:	3305      	movi      	r3, 5
			para->senprd[i] = 280;			//默认参数 - 280
    73b6:	4241      	lsli      	r2, r2, 1
	para->release_debounce = 5;			//默认参数 - 5
    73b8:	a161      	st.b      	r3, (r1, 0x1)
	para->multiTimes_filt = 40;			//默认参数 - 40
    73ba:	3328      	movi      	r3, 40
    73bc:	a162      	st.b      	r3, (r1, 0x2)
    73be:	340e      	movi      	r4, 14
	para->longpress_time = 16;			//默认参数 - 8
    73c0:	3310      	movi      	r3, 16
			para->senprd[i] = 280;			//默认参数 - 280
    73c2:	6d4b      	mov      	r5, r2
			para->senprd[i] = 320;			//默认参数 - 300
    73c4:	32a0      	movi      	r2, 160
	para->longpress_time = 16;			//默认参数 - 8
    73c6:	b166      	st.w      	r3, (r1, 0x18)
    73c8:	6104      	addu      	r4, r1
	for(i=0;i<TKE_CH_MAX;i++){
    73ca:	3300      	movi      	r3, 0
			para->senprd[i] = 320;			//默认参数 - 300
    73cc:	4241      	lsli      	r2, r2, 1
		if (i == 0){
    73ce:	3b40      	cmpnei      	r3, 0
    73d0:	0811      	bt      	0x73f2	// 73f2 <EEPROM_Default_TouchPara+0x4a>
			para->senprd[i] = 250;			//默认参数 - 280
    73d2:	36fa      	movi      	r6, 250
    73d4:	a9c2      	st.h      	r6, (r1, 0x4)
//		para->updatevalue[i] = 20;				//默认参数 - 20
//		para->disupdatevalue[i] = 30;			//默认参数 - 30
//		para->releaselevel[i] = 50;				//默认参数 - 50
		
		/*triggerlevel 触摸触发阈值 20~200*/
		switch(level){
    73d6:	3841      	cmpnei      	r0, 1
    73d8:	0c1d      	bf      	0x7412	// 7412 <EEPROM_Default_TouchPara+0x6a>
    73da:	3840      	cmpnei      	r0, 0
    73dc:	0c19      	bf      	0x740e	// 740e <EEPROM_Default_TouchPara+0x66>
    73de:	3842      	cmpnei      	r0, 2
    73e0:	0819      	bt      	0x7412	// 7412 <EEPROM_Default_TouchPara+0x6a>
			case 0x02:
				para->triggerlevel[i] = 80;			//高灵敏度 默认参数 - 60
    73e2:	3650      	movi      	r6, 80
	for(i=0;i<TKE_CH_MAX;i++){
    73e4:	2300      	addi      	r3, 1
    73e6:	74cc      	zextb      	r3, r3
    73e8:	3b45      	cmpnei      	r3, 5
				break;
			case 0x00:
				para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
				break;
			default:
				para->triggerlevel[i] = 100;
    73ea:	acc0      	st.h      	r6, (r4, 0x0)
    73ec:	2401      	addi      	r4, 2
	for(i=0;i<TKE_CH_MAX;i++){
    73ee:	0bf0      	bt      	0x73ce	// 73ce <EEPROM_Default_TouchPara+0x26>
				break;
		}
		
	}
}
    73f0:	1483      	pop      	r4-r6
		}else if (i == 1){
    73f2:	3b41      	cmpnei      	r3, 1
    73f4:	0803      	bt      	0x73fa	// 73fa <EEPROM_Default_TouchPara+0x52>
			para->senprd[i] = 320;			//默认参数 - 320
    73f6:	a943      	st.h      	r2, (r1, 0x6)
    73f8:	07ef      	br      	0x73d6	// 73d6 <EEPROM_Default_TouchPara+0x2e>
		}else if (i == 2){
    73fa:	3b42      	cmpnei      	r3, 2
    73fc:	0803      	bt      	0x7402	// 7402 <EEPROM_Default_TouchPara+0x5a>
			para->senprd[i] = 320;			//默认参数 - 320
    73fe:	a944      	st.h      	r2, (r1, 0x8)
    7400:	07eb      	br      	0x73d6	// 73d6 <EEPROM_Default_TouchPara+0x2e>
		}else if (i == 3){
    7402:	3b43      	cmpnei      	r3, 3
    7404:	0803      	bt      	0x740a	// 740a <EEPROM_Default_TouchPara+0x62>
			para->senprd[i] = 320;			//默认参数 - 300
    7406:	a945      	st.h      	r2, (r1, 0xa)
    7408:	07e7      	br      	0x73d6	// 73d6 <EEPROM_Default_TouchPara+0x2e>
			para->senprd[i] = 280;			//默认参数 - 280
    740a:	a9a6      	st.h      	r5, (r1, 0xc)
    740c:	07e5      	br      	0x73d6	// 73d6 <EEPROM_Default_TouchPara+0x2e>
				para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
    740e:	3678      	movi      	r6, 120
    7410:	07ea      	br      	0x73e4	// 73e4 <EEPROM_Default_TouchPara+0x3c>
				para->triggerlevel[i] = 100;
    7412:	3664      	movi      	r6, 100
    7414:	07e8      	br      	0x73e4	// 73e4 <EEPROM_Default_TouchPara+0x3c>

Disassembly of section .text.EEPROM_TouchPara_Printf:

00007418 <EEPROM_TouchPara_Printf>:
* Function Name  : EEPROM_TouchPara_Printf 
* Description    : 打印触摸参数
* Para			 : 
* 		para	：参数
*******************************************************************************/
void EEPROM_TouchPara_Printf(TOUCHKEY_PARA *para){
    7418:	14d4      	push      	r4-r7, r15
    741a:	6d03      	mov      	r4, r0
	U8_T i=0;
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara base_speed:%d",para->base_speed);
    741c:	8043      	ld.b      	r2, (r0, 0x3)
    741e:	1038      	lrw      	r1, 0xcd4e	// 747c <EEPROM_TouchPara_Printf+0x64>
    7420:	3000      	movi      	r0, 0
    7422:	e3fff90d 	bsr      	0x663c	// 663c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara press_debounce:%d",para->press_debounce);
    7426:	8440      	ld.b      	r2, (r4, 0x0)
    7428:	1036      	lrw      	r1, 0xcd66	// 7480 <EEPROM_TouchPara_Printf+0x68>
    742a:	3000      	movi      	r0, 0
    742c:	e3fff908 	bsr      	0x663c	// 663c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara release_debounce:%d",para->release_debounce);
    7430:	8441      	ld.b      	r2, (r4, 0x1)
    7432:	1035      	lrw      	r1, 0xcd82	// 7484 <EEPROM_TouchPara_Printf+0x6c>
    7434:	3000      	movi      	r0, 0
    7436:	e3fff903 	bsr      	0x663c	// 663c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara multiTimes_filt:%d",para->multiTimes_filt);
    743a:	8442      	ld.b      	r2, (r4, 0x2)
    743c:	1033      	lrw      	r1, 0xcda0	// 7488 <EEPROM_TouchPara_Printf+0x70>
    743e:	3000      	movi      	r0, 0
    7440:	e3fff8fe 	bsr      	0x663c	// 663c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara longpress_time:%d",para->longpress_time);
    7444:	9446      	ld.w      	r2, (r4, 0x18)
    7446:	3000      	movi      	r0, 0
    7448:	1031      	lrw      	r1, 0xcdbd	// 748c <EEPROM_TouchPara_Printf+0x74>
    744a:	e3fff8f9 	bsr      	0x663c	// 663c <Dbg_Println>
    744e:	2403      	addi      	r4, 4
    7450:	3500      	movi      	r5, 0
	
	for(i=0;i<TKE_CH_MAX;i++){
		
		SYSCON_IWDCNT_Reload(); 				//IWDT Clear
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara senprd CH%d:%d",i,para->senprd[i]);
    7452:	10f0      	lrw      	r7, 0xcdd9	// 7490 <EEPROM_TouchPara_Printf+0x78>
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara triggerlevel CH%d:%d",i,para->triggerlevel[i]);
    7454:	10d0      	lrw      	r6, 0xcdf2	// 7494 <EEPROM_TouchPara_Printf+0x7c>
		SYSCON_IWDCNT_Reload(); 				//IWDT Clear
    7456:	e3ffe823 	bsr      	0x449c	// 449c <SYSCON_IWDCNT_Reload>
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara senprd CH%d:%d",i,para->senprd[i]);
    745a:	8c60      	ld.h      	r3, (r4, 0x0)
    745c:	6c97      	mov      	r2, r5
    745e:	6c5f      	mov      	r1, r7
    7460:	3000      	movi      	r0, 0
    7462:	e3fff8ed 	bsr      	0x663c	// 663c <Dbg_Println>
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara triggerlevel CH%d:%d",i,para->triggerlevel[i]);
    7466:	8c65      	ld.h      	r3, (r4, 0xa)
    7468:	6c97      	mov      	r2, r5
    746a:	6c5b      	mov      	r1, r6
    746c:	3000      	movi      	r0, 0
    746e:	2500      	addi      	r5, 1
    7470:	e3fff8e6 	bsr      	0x663c	// 663c <Dbg_Println>
	for(i=0;i<TKE_CH_MAX;i++){
    7474:	3d45      	cmpnei      	r5, 5
    7476:	2401      	addi      	r4, 2
    7478:	0bef      	bt      	0x7456	// 7456 <EEPROM_TouchPara_Printf+0x3e>
//		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara updatevalue CH%d:%d%%",i,para->updatevalue[i]);
//		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara disupdatevalue CH%d:%d%%",i,para->disupdatevalue[i]);
//		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara releaselevel CH%d:%d%%",i,para->releaselevel[i]);
	}
	
}
    747a:	1494      	pop      	r4-r7, r15
    747c:	0000cd4e 	.long	0x0000cd4e
    7480:	0000cd66 	.long	0x0000cd66
    7484:	0000cd82 	.long	0x0000cd82
    7488:	0000cda0 	.long	0x0000cda0
    748c:	0000cdbd 	.long	0x0000cdbd
    7490:	0000cdd9 	.long	0x0000cdd9
    7494:	0000cdf2 	.long	0x0000cdf2

Disassembly of section .text.EEPROM_WriteMCUDevInfo:

00007498 <EEPROM_WriteMCUDevInfo>:
/*******************************************************************************
* Function Name  : EEPROM_WriteMCUDevInfo 
* Description    : 将设备信息写入到EEPROM中
*******************************************************************************/
U8_T EEPROM_WriteMCUDevInfo(E_MCU_DEV_INFO *info)
{
    7498:	14d0      	push      	r15
    749a:	1432      	subi      	r14, r14, 72
	U8_T save_data[EEPROM_DATA_Size_Max + 6];
	U16_T save_len = sizeof(E_MCU_DEV_INFO);
	
	if(save_len >= EEPROM_DATA_Size_Max) save_len = EEPROM_DATA_Size_Max;
	
	save_data[0] = EEPROM_SVAE_FLAG;
    749c:	3300      	movi      	r3, 0
    749e:	2b51      	subi      	r3, 82
    74a0:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_data[1] = save_len & 0xFF;
    74a4:	3325      	movi      	r3, 37
    74a6:	dc6e0001 	st.b      	r3, (r14, 0x1)
	save_data[2] = (save_len >> 8) & 0xFF;
    74aa:	3300      	movi      	r3, 0
    74ac:	dc6e0002 	st.b      	r3, (r14, 0x2)
	
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    74b0:	1b01      	addi      	r3, r14, 4
{
    74b2:	6c43      	mov      	r1, r0
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    74b4:	3225      	movi      	r2, 37
    74b6:	6c0f      	mov      	r0, r3
    74b8:	e3ffe6b6 	bsr      	0x4224	// 4224 <__memcpy_fast>
	
	save_data[3] = EEPROM_CheckSum(&save_data[4],save_len);
    74bc:	3125      	movi      	r1, 37
    74be:	e3fffd91 	bsr      	0x6fe0	// 6fe0 <EEPROM_CheckSum>
    74c2:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len+=4;
	
	Page_ProgramData(EEPROM_MCUDevInfo_Address,save_len,save_data);
    74c6:	3080      	movi      	r0, 128
    74c8:	4015      	lsli      	r0, r0, 21
    74ca:	6cbb      	mov      	r2, r14
    74cc:	3129      	movi      	r1, 41
    74ce:	e3ffeed3 	bsr      	0x5274	// 5274 <Page_ProgramData>
	
	return 0;
}
    74d2:	3000      	movi      	r0, 0
    74d4:	1412      	addi      	r14, r14, 72
    74d6:	1490      	pop      	r15

Disassembly of section .text.ADC_Init:

000074d8 <ADC_Init>:
#include "includes.h"

ADC_INFO_G g_adc;

void ADC_Init(void){
    74d8:	14d0      	push      	r15
    74da:	1422      	subi      	r14, r14, 8
	ADC12_RESET_VALUE();				//ADC所有寄存器复位
    74dc:	e3ffec68 	bsr      	0x4dac	// 4dac <ADC12_RESET_VALUE>
	ADC12_Software_Reset();				//ADC软件复位
    74e0:	e3ffecc6 	bsr      	0x4e6c	// 4e6c <ADC12_Software_Reset>
	ADC12_CLK_CMD(ADC_CLK_CR,ENABLE);	//使能ADC CLK
    74e4:	3101      	movi      	r1, 1
    74e6:	3002      	movi      	r0, 2
    74e8:	e3ffecac 	bsr      	0x4e40	// 4e40 <ADC12_CLK_CMD>
	
	ADC12_Configure_Mode(ADC12_12BIT,Continuous_mode,0,6,2,1);
    74ec:	3301      	movi      	r3, 1
    74ee:	b861      	st.w      	r3, (r14, 0x4)
    74f0:	3302      	movi      	r3, 2
    74f2:	b860      	st.w      	r3, (r14, 0x0)
    74f4:	3200      	movi      	r2, 0
    74f6:	3306      	movi      	r3, 6
    74f8:	3101      	movi      	r1, 1
    74fa:	3001      	movi      	r0, 1
    74fc:	e3ffecf2 	bsr      	0x4ee0	// 4ee0 <ADC12_Configure_Mode>
	
	ADC12_Configure_VREF_Selecte(ADC12_VREFP_FVR4096_VREFN_VSS);//如果设置内部参考电压源需要把初始化放在触摸初始化前面，否则触摸会出现错误
    7500:	3003      	movi      	r0, 3
    7502:	e3ffed2d 	bsr      	0x4f5c	// 4f5c <ADC12_Configure_VREF_Selecte>
	
	ADC12_ConversionChannel_Config(ADC12_ADCIN15,ADC12_CV_RepeatNum1,ADC12_AVGDIS,0);
    7506:	3300      	movi      	r3, 0
    7508:	3200      	movi      	r2, 0
    750a:	3100      	movi      	r1, 0
    750c:	300f      	movi      	r0, 15
    750e:	e3ffedf3 	bsr      	0x50f4	// 50f4 <ADC12_ConversionChannel_Config>

	ADC12_CMD(ENABLE);
    7512:	3001      	movi      	r0, 1
    7514:	e3ffecb2 	bsr      	0x4e78	// 4e78 <ADC12_CMD>
	
	ADC12_ready_wait();
    7518:	e3ffecc4 	bsr      	0x4ea0	// 4ea0 <ADC12_ready_wait>
	
	ADC12_Control(ADC12_START);
    751c:	3008      	movi      	r0, 8
    751e:	e3ffec79 	bsr      	0x4e10	// 4e10 <ADC12_Control>
	
	memset(&g_adc,0,sizeof(ADC_INFO_G));
    7522:	3250      	movi      	r2, 80
    7524:	3100      	movi      	r1, 0
    7526:	1003      	lrw      	r0, 0x20000554	// 7530 <ADC_Init+0x58>
    7528:	e3ffe63a 	bsr      	0x419c	// 419c <__memset_fast>
}
    752c:	1402      	addi      	r14, r14, 8
    752e:	1490      	pop      	r15
    7530:	20000554 	.long	0x20000554

Disassembly of section .text.Thermistor_Array_Transform:

00007534 <Thermistor_Array_Transform>:
    5389 ,5365 ,5341 ,5317 ,5293 ,5269 ,5245 ,5222 ,5198 ,5175 ,
    5152 ,5129 ,5106 ,5083 ,5060 ,5037 ,5014 ,4992 ,4970 ,4947 ,
};

U16_T Thermistor_Array_Transform(U16_T r_value)
{
    7534:	14c1      	push      	r4
    U16_T i=0;

    if(r_value >= R_Array[0]) return 0;
    7536:	1070      	lrw      	r3, 0x79bd	// 7574 <Thermistor_Array_Transform+0x40>
    7538:	640c      	cmphs      	r3, r0
{
    753a:	6c43      	mov      	r1, r0
    if(r_value >= R_Array[0]) return 0;
    753c:	0c16      	bf      	0x7568	// 7568 <Thermistor_Array_Transform+0x34>

    if(r_value <= R_Array[Thermistor_Array_Size]) return Thermistor_Array_Size;
    753e:	33a1      	movi      	r3, 161
    7540:	4365      	lsli      	r3, r3, 5
    7542:	640c      	cmphs      	r3, r0
    7544:	0814      	bt      	0x756c	// 756c <Thermistor_Array_Transform+0x38>

    for(i=0;i<Thermistor_Array_Size;i++){
    7546:	34c8      	movi      	r4, 200
    7548:	104c      	lrw      	r2, 0xc762	// 7578 <Thermistor_Array_Transform+0x44>
    if(r_value <= R_Array[Thermistor_Array_Size]) return Thermistor_Array_Size;
    754a:	3000      	movi      	r0, 0
    for(i=0;i<Thermistor_Array_Size;i++){
    754c:	4481      	lsli      	r4, r4, 1
        if( (r_value <= R_Array[i]) && (r_value > R_Array[i+1])){
    754e:	8a60      	ld.h      	r3, (r2, 0x0)
    7550:	644c      	cmphs      	r3, r1
    7552:	0c04      	bf      	0x755a	// 755a <Thermistor_Array_Transform+0x26>
    7554:	8a61      	ld.h      	r3, (r2, 0x2)
    7556:	644c      	cmphs      	r3, r1
    7558:	0c07      	bf      	0x7566	// 7566 <Thermistor_Array_Transform+0x32>
    for(i=0;i<Thermistor_Array_Size;i++){
    755a:	5862      	addi      	r3, r0, 1
    755c:	740d      	zexth      	r0, r3
    755e:	6502      	cmpne      	r0, r4
    7560:	2201      	addi      	r2, 2
    7562:	0bf6      	bt      	0x754e	// 754e <Thermistor_Array_Transform+0x1a>
          return i;
        }
    }

    return 250;         //意外情况 - 返回25.0度
    7564:	30fa      	movi      	r0, 250
}
    7566:	1481      	pop      	r4
    if(r_value >= R_Array[0]) return 0;
    7568:	3000      	movi      	r0, 0
    756a:	07fe      	br      	0x7566	// 7566 <Thermistor_Array_Transform+0x32>
    if(r_value <= R_Array[Thermistor_Array_Size]) return Thermistor_Array_Size;
    756c:	30c8      	movi      	r0, 200
    756e:	4001      	lsli      	r0, r0, 1
    7570:	07fb      	br      	0x7566	// 7566 <Thermistor_Array_Transform+0x32>
    7572:	0000      	bkpt
    7574:	000079bd 	.long	0x000079bd
    7578:	0000c762 	.long	0x0000c762

Disassembly of section .text.Calculate_ADC_Sample_Average:

0000757c <Calculate_ADC_Sample_Average>:
 * @brief	ADC采集电压换算温度，存入温度采集数组。
 * @param
 * @retval
 * */
void Calculate_ADC_Sample_Average(void)
{
    757c:	14d2      	push      	r4-r5, r15
    757e:	1056      	lrw      	r2, 0x20000554	// 75d4 <Calculate_ADC_Sample_Average+0x58>
    uint32_t temp_val = 0;

    //电压平滑滤波 - 换算采集电压
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    7580:	3300      	movi      	r3, 0
    uint32_t temp_val = 0;
    7582:	3000      	movi      	r0, 0
    7584:	6d0b      	mov      	r4, r2
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    7586:	2300      	addi      	r3, 1
    7588:	74cd      	zexth      	r3, r3
    {
        temp_val += g_adc.dataBuff[i];
    758a:	8a24      	ld.h      	r1, (r2, 0x8)
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    758c:	3b4a      	cmpnei      	r3, 10
        temp_val += g_adc.dataBuff[i];
    758e:	6004      	addu      	r0, r1
    7590:	2201      	addi      	r2, 2
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    7592:	0bfa      	bt      	0x7586	// 7586 <Calculate_ADC_Sample_Average+0xa>
    }

    g_adc.avg_val = temp_val / ADC_DATABUFF_Size;
    7594:	310a      	movi      	r1, 10
    7596:	e3fff5e7 	bsr      	0x6164	// 6164 <__udivsi3>
    759a:	74c1      	zexth      	r3, r0
    759c:	ac62      	st.h      	r3, (r4, 0x4)

//    Dbg_Println(DBG_BIT_SYS_STATUS,"ADC sum_val:%d avg_val:%d",temp_val,g_adc.avg_val);   //,g_adc.RoughCalib_Value
//	temp_val = g_adc.avg_val;

    g_adc.voltage = g_adc.avg_val;//temp_val*4920/4096 ;
    759e:	ac63      	st.h      	r3, (r4, 0x6)


    if(g_adc.temp_index >= Temp_DataBuff_Size){
    75a0:	8c6e      	ld.h      	r3, (r4, 0x1c)
    75a2:	3b13      	cmphsi      	r3, 20
    75a4:	0c05      	bf      	0x75ae	// 75ae <Calculate_ADC_Sample_Average+0x32>
        g_adc.temp_index = 0;
    75a6:	3300      	movi      	r3, 0
    75a8:	ac6e      	st.h      	r3, (r4, 0x1c)
		g_adc.gather_full = 1;
    75aa:	3301      	movi      	r3, 1
    75ac:	a461      	st.b      	r3, (r4, 0x1)

    }	

    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    75ae:	8cae      	ld.h      	r5, (r4, 0x1c)
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    75b0:	74c1      	zexth      	r3, r0
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    75b2:	5d42      	addi      	r2, r5, 1
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    75b4:	1009      	lrw      	r0, 0x2710	// 75d8 <Calculate_ADC_Sample_Average+0x5c>
    75b6:	102a      	lrw      	r1, 0xce4	// 75dc <Calculate_ADC_Sample_Average+0x60>
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    75b8:	ac4e      	st.h      	r2, (r4, 0x1c)
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    75ba:	7c0c      	mult      	r0, r3
    75bc:	604e      	subu      	r1, r3
    75be:	e3fff5c1 	bsr      	0x6140	// 6140 <__divsi3>
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    75c2:	250f      	addi      	r5, 16
    75c4:	45a1      	lsli      	r5, r5, 1
    75c6:	7401      	zexth      	r0, r0
    75c8:	e3ffffb6 	bsr      	0x7534	// 7534 <Thermistor_Array_Transform>
    75cc:	6114      	addu      	r4, r5
    75ce:	ac00      	st.h      	r0, (r4, 0x0)

    //Dbg_Println(DBG_BIT_Debug_STATUS,"Conv Temp:%d avg_val:%d",Thermistor_Array_Transform(temp_val),g_adc.avg_val);
}
    75d0:	1492      	pop      	r4-r5, r15
    75d2:	0000      	bkpt
    75d4:	20000554 	.long	0x20000554
    75d8:	00002710 	.long	0x00002710
    75dc:	00000ce4 	.long	0x00000ce4

Disassembly of section .text.Get_Temp_Val:

000075e0 <Get_Temp_Val>:
    }
	Gather_Temp();
}

U16_T Get_Temp_Val(void){
    return g_adc.temp_val;
    75e0:	1062      	lrw      	r3, 0x20000554	// 75e8 <Get_Temp_Val+0x8>
    75e2:	8b0f      	ld.h      	r0, (r3, 0x1e)
}
    75e4:	783c      	jmp      	r15
    75e6:	0000      	bkpt
    75e8:	20000554 	.long	0x20000554

Disassembly of section .text.Gather_Temp:

000075ec <Gather_Temp>:
 * @brief	每隔1000ms取一次温度采集数组中的平均温度。
 * @param
 * @retval	
 * */
void Gather_Temp(void)
{
    75ec:	14d2      	push      	r4-r5, r15
    uint32_t temp_val = 0;
	U16_T temp_size = 0;	
	
	if(SysTick_1ms - g_adc.gather_tick >= 1000)
    75ee:	1058      	lrw      	r2, 0x200000c0	// 764c <Gather_Temp+0x60>
    75f0:	1098      	lrw      	r4, 0x20000554	// 7650 <Gather_Temp+0x64>
    75f2:	9260      	ld.w      	r3, (r2, 0x0)
    75f4:	9433      	ld.w      	r1, (r4, 0x4c)
    75f6:	60c6      	subu      	r3, r1
    75f8:	1037      	lrw      	r1, 0x3e7	// 7654 <Gather_Temp+0x68>
    75fa:	64c4      	cmphs      	r1, r3
    75fc:	080e      	bt      	0x7618	// 7618 <Gather_Temp+0x2c>
	{
		g_adc.gather_tick = SysTick_1ms;
    75fe:	9260      	ld.w      	r3, (r2, 0x0)
    7600:	b473      	st.w      	r3, (r4, 0x4c)
		//Dbg_Println(DBG_BIT_Debug_STATUS,"------Gather_Temp full %d  ",g_adc.gather_full);
		
		if(g_adc.gather_full == 1){
    7602:	8461      	ld.b      	r3, (r4, 0x1)
    7604:	3b41      	cmpnei      	r3, 1
    7606:	0c0a      	bf      	0x761a	// 761a <Gather_Temp+0x2e>
				temp_val +=	g_adc.tempBuff[i];
			}
			temp_size = Temp_DataBuff_Size;
			g_adc.gather_full = 0;
		}else {	//未满
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    7608:	8c2e      	ld.h      	r1, (r4, 0x1c)
    760a:	3300      	movi      	r3, 0
    760c:	3000      	movi      	r0, 0
				temp_val +=	g_adc.tempBuff[i];
    760e:	3510      	movi      	r5, 16
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    7610:	644c      	cmphs      	r3, r1
    7612:	0c14      	bf      	0x763a	// 763a <Gather_Temp+0x4e>
			}
			temp_size = g_adc.temp_index;
		}
		
		if(temp_size == 0){
    7614:	3940      	cmpnei      	r1, 0
    7616:	080e      	bt      	0x7632	// 7632 <Gather_Temp+0x46>
		}
		g_adc.temp_val = temp_val / temp_size;
		
		//Dbg_Println(DBG_BIT_Debug_STATUS,"------Gather_Temp  %d Temp:%.1f ",temp_val,(float)g_adc.temp_val/10);
	}	
}
    7618:	1492      	pop      	r4-r5, r15
    761a:	6c93      	mov      	r2, r4
		if(g_adc.gather_full == 1){
    761c:	3314      	movi      	r3, 20
    761e:	3000      	movi      	r0, 0
    7620:	2b00      	subi      	r3, 1
    7622:	74cc      	zextb      	r3, r3
				temp_val +=	g_adc.tempBuff[i];
    7624:	8a30      	ld.h      	r1, (r2, 0x20)
			for(U8_T i = 0;i < Temp_DataBuff_Size;i++){
    7626:	3b40      	cmpnei      	r3, 0
				temp_val +=	g_adc.tempBuff[i];
    7628:	6004      	addu      	r0, r1
    762a:	2201      	addi      	r2, 2
			for(U8_T i = 0;i < Temp_DataBuff_Size;i++){
    762c:	0bfa      	bt      	0x7620	// 7620 <Gather_Temp+0x34>
			g_adc.gather_full = 0;
    762e:	a461      	st.b      	r3, (r4, 0x1)
			temp_size = Temp_DataBuff_Size;
    7630:	3114      	movi      	r1, 20
		g_adc.temp_val = temp_val / temp_size;
    7632:	e3fff599 	bsr      	0x6164	// 6164 <__udivsi3>
    7636:	ac0f      	st.h      	r0, (r4, 0x1e)
    7638:	07f0      	br      	0x7618	// 7618 <Gather_Temp+0x2c>
				temp_val +=	g_adc.tempBuff[i];
    763a:	5b54      	addu      	r2, r3, r5
    763c:	4241      	lsli      	r2, r2, 1
    763e:	6090      	addu      	r2, r4
    7640:	8a40      	ld.h      	r2, (r2, 0x0)
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    7642:	2300      	addi      	r3, 1
				temp_val +=	g_adc.tempBuff[i];
    7644:	6008      	addu      	r0, r2
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    7646:	74cc      	zextb      	r3, r3
    7648:	07e4      	br      	0x7610	// 7610 <Gather_Temp+0x24>
    764a:	0000      	bkpt
    764c:	200000c0 	.long	0x200000c0
    7650:	20000554 	.long	0x20000554
    7654:	000003e7 	.long	0x000003e7

Disassembly of section .text.ADC_Sample_Task:

00007658 <ADC_Sample_Task>:
void ADC_Sample_Task(void){
    7658:	14d3      	push      	r4-r6, r15
    if (SysTick_1ms - g_adc.sample_tick > 10) {
    765a:	10d9      	lrw      	r6, 0x200000c0	// 76bc <ADC_Sample_Task+0x64>
    765c:	1099      	lrw      	r4, 0x20000554	// 76c0 <ADC_Sample_Task+0x68>
    765e:	9660      	ld.w      	r3, (r6, 0x0)
    7660:	9452      	ld.w      	r2, (r4, 0x48)
    7662:	60ca      	subu      	r3, r2
    7664:	3b0a      	cmphsi      	r3, 11
    7666:	0c14      	bf      	0x768e	// 768e <ADC_Sample_Task+0x36>
        g_adc.sample_tick = SysTick_1ms;
    7668:	9660      	ld.w      	r3, (r6, 0x0)
		ADC12_SEQEND_wait(0);
    766a:	3000      	movi      	r0, 0
        g_adc.sample_tick = SysTick_1ms;
    766c:	b472      	st.w      	r3, (r4, 0x48)
		ADC12_SEQEND_wait(0);
    766e:	e3ffec23 	bsr      	0x4eb4	// 4eb4 <ADC12_SEQEND_wait>
        g_adc.dataBuff[g_adc.index] = ADC12_DATA_OUPUT(0);
    7672:	3000      	movi      	r0, 0
    7674:	8ca1      	ld.h      	r5, (r4, 0x2)
    7676:	e3ffec2b 	bsr      	0x4ecc	// 4ecc <ADC12_DATA_OUPUT>
        g_adc.index++;
    767a:	8c61      	ld.h      	r3, (r4, 0x2)
        g_adc.dataBuff[g_adc.index] = ADC12_DATA_OUPUT(0);
    767c:	2503      	addi      	r5, 4
        g_adc.index++;
    767e:	2300      	addi      	r3, 1
        g_adc.dataBuff[g_adc.index] = ADC12_DATA_OUPUT(0);
    7680:	45a1      	lsli      	r5, r5, 1
        g_adc.index++;
    7682:	74cd      	zexth      	r3, r3
        g_adc.dataBuff[g_adc.index] = ADC12_DATA_OUPUT(0);
    7684:	6150      	addu      	r5, r4
        if (g_adc.index >= ADC_DATABUFF_Size) {
    7686:	3b09      	cmphsi      	r3, 10
        g_adc.dataBuff[g_adc.index] = ADC12_DATA_OUPUT(0);
    7688:	ad00      	st.h      	r0, (r5, 0x0)
        if (g_adc.index >= ADC_DATABUFF_Size) {
    768a:	0813      	bt      	0x76b0	// 76b0 <ADC_Sample_Task+0x58>
        g_adc.index++;
    768c:	ac61      	st.h      	r3, (r4, 0x2)
    if (g_adc.full_flag == 0x01) {
    768e:	8460      	ld.b      	r3, (r4, 0x0)
    7690:	3b41      	cmpnei      	r3, 1
    7692:	080c      	bt      	0x76aa	// 76aa <ADC_Sample_Task+0x52>
        if (SysTick_1ms - adc_tick >= 100) {
    7694:	104c      	lrw      	r2, 0x2000013c	// 76c4 <ADC_Sample_Task+0x6c>
    7696:	9220      	ld.w      	r1, (r2, 0x0)
    7698:	9660      	ld.w      	r3, (r6, 0x0)
    769a:	60c6      	subu      	r3, r1
    769c:	3163      	movi      	r1, 99
    769e:	64c4      	cmphs      	r1, r3
    76a0:	0805      	bt      	0x76aa	// 76aa <ADC_Sample_Task+0x52>
            adc_tick = SysTick_1ms;
    76a2:	9660      	ld.w      	r3, (r6, 0x0)
    76a4:	b260      	st.w      	r3, (r2, 0x0)
            Calculate_ADC_Sample_Average();
    76a6:	e3ffff6b 	bsr      	0x757c	// 757c <Calculate_ADC_Sample_Average>
	Gather_Temp();
    76aa:	e3ffffa1 	bsr      	0x75ec	// 75ec <Gather_Temp>
}
    76ae:	1493      	pop      	r4-r6, r15
            g_adc.index = 0;
    76b0:	3300      	movi      	r3, 0
    76b2:	ac61      	st.h      	r3, (r4, 0x2)
            g_adc.full_flag = 1;
    76b4:	3301      	movi      	r3, 1
    76b6:	a460      	st.b      	r3, (r4, 0x0)
    76b8:	07eb      	br      	0x768e	// 768e <ADC_Sample_Task+0x36>
    76ba:	0000      	bkpt
    76bc:	200000c0 	.long	0x200000c0
    76c0:	20000554 	.long	0x20000554
    76c4:	2000013c 	.long	0x2000013c

Disassembly of section .text.Contol_Switch_Light:

000076c8 <Contol_Switch_Light>:
  * @param  ch: 通道选择
  * @param  state: 控制状态 0x01:开，0x02:关
  * @retval None
  */
void Contol_Switch_Light(uint8_t ch,uint8_t state)
{
    76c8:	14d2      	push      	r4-r5, r15
    //Dbg_Println(DBG_BIT_SYS_STATUS,"%s ch:%d state:%d",__func__,ch,state);
	switch(ch)
    76ca:	3805      	cmphsi      	r0, 6
{
    76cc:	6d47      	mov      	r5, r1
	switch(ch)
    76ce:	0818      	bt      	0x76fe	// 76fe <Contol_Switch_Light+0x36>
    76d0:	009b      	lrw      	r4, 0x200005a4	// 7a60 <Contol_Switch_Light+0x398>
			}
			g_switch.light_state[T_CH5] = state;
			break;		
		
		case T_Backlight:		//背光
			if(state == Control_ON){
    76d2:	3941      	cmpnei      	r1, 1
	switch(ch)
    76d4:	e3ffdf2c 	bsr      	0x352c	// 352c <___gnu_csky_case_uhi>
    76d8:	00330006 	.long	0x00330006
    76dc:	008d0060 	.long	0x008d0060
    76e0:	00e700ba 	.long	0x00e700ba
			if(state == Control_ON){
    76e4:	0814      	bt      	0x770c	// 770c <Contol_Switch_Light+0x44>
				if(g_switch.feedback_light_selection == 0x01){
    76e6:	8462      	ld.b      	r3, (r4, 0x2)
    76e8:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK1_White,Control_ON);
    76ea:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    76ec:	080a      	bt      	0x7700	// 7700 <Contol_Switch_Light+0x38>
					TM1812_Control_CH_State(TPK1_White,Control_ON);
    76ee:	300b      	movi      	r0, 11
    76f0:	e0000532 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    76f4:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    76f6:	3006      	movi      	r0, 6
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_White,Control_ON);
    76f8:	e000052e 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH1] = state;
    76fc:	a4a5      	st.b      	r5, (r4, 0x5)
			}
            
            g_switch.light_state[T_Backlight] = state;
			break;
	}
}
    76fe:	1492      	pop      	r4-r5, r15
					TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7700:	3006      	movi      	r0, 6
    7702:	e0000529 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7706:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_White,Control_ON);
    7708:	300b      	movi      	r0, 11
    770a:	07f7      	br      	0x76f8	// 76f8 <Contol_Switch_Light+0x30>
			}else if(state == Control_OFF){
    770c:	3942      	cmpnei      	r1, 2
    770e:	0bf7      	bt      	0x76fc	// 76fc <Contol_Switch_Light+0x34>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7710:	016a      	lrw      	r3, 0x200000c0	// 7a64 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7712:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7714:	9360      	ld.w      	r3, (r3, 0x0)
    7716:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7718:	8462      	ld.b      	r3, (r4, 0x2)
    771a:	3b41      	cmpnei      	r3, 1
    771c:	0809      	bt      	0x772e	// 772e <Contol_Switch_Light+0x66>
					TM1812_Control_CH_State(TPK1_White,Control_OFF);
    771e:	300b      	movi      	r0, 11
    7720:	e000051a 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7724:	846a      	ld.b      	r3, (r4, 0xa)
    7726:	3b41      	cmpnei      	r3, 1
    7728:	0bea      	bt      	0x76fc	// 76fc <Contol_Switch_Light+0x34>
    772a:	3101      	movi      	r1, 1
    772c:	07e5      	br      	0x76f6	// 76f6 <Contol_Switch_Light+0x2e>
					TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    772e:	3006      	movi      	r0, 6
    7730:	e0000512 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_White,Control_ON);
    7734:	846a      	ld.b      	r3, (r4, 0xa)
    7736:	3b41      	cmpnei      	r3, 1
    7738:	0be2      	bt      	0x76fc	// 76fc <Contol_Switch_Light+0x34>
    773a:	3101      	movi      	r1, 1
    773c:	07e6      	br      	0x7708	// 7708 <Contol_Switch_Light+0x40>
			if(state == Control_ON){
    773e:	0814      	bt      	0x7766	// 7766 <Contol_Switch_Light+0x9e>
				if(g_switch.feedback_light_selection == 0x01){
    7740:	8462      	ld.b      	r3, (r4, 0x2)
    7742:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK2_White,Control_ON);
    7744:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7746:	080a      	bt      	0x775a	// 775a <Contol_Switch_Light+0x92>
					TM1812_Control_CH_State(TPK2_White,Control_ON);
    7748:	300c      	movi      	r0, 12
    774a:	e0000505 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    774e:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    7750:	3007      	movi      	r0, 7
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_White,Control_ON);
    7752:	e0000501 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH2] = state;
    7756:	a4a6      	st.b      	r5, (r4, 0x6)
			break;
    7758:	07d3      	br      	0x76fe	// 76fe <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    775a:	3007      	movi      	r0, 7
    775c:	e00004fc 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7760:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_White,Control_ON);
    7762:	300c      	movi      	r0, 12
    7764:	07f7      	br      	0x7752	// 7752 <Contol_Switch_Light+0x8a>
			}else if(state == Control_OFF){
    7766:	3942      	cmpnei      	r1, 2
    7768:	0bf7      	bt      	0x7756	// 7756 <Contol_Switch_Light+0x8e>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    776a:	0260      	lrw      	r3, 0x200000c0	// 7a64 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK2_White,Control_OFF);
    776c:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    776e:	9360      	ld.w      	r3, (r3, 0x0)
    7770:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7772:	8462      	ld.b      	r3, (r4, 0x2)
    7774:	3b41      	cmpnei      	r3, 1
    7776:	0809      	bt      	0x7788	// 7788 <Contol_Switch_Light+0xc0>
					TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7778:	300c      	movi      	r0, 12
    777a:	e00004ed 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    777e:	846a      	ld.b      	r3, (r4, 0xa)
    7780:	3b41      	cmpnei      	r3, 1
    7782:	0bea      	bt      	0x7756	// 7756 <Contol_Switch_Light+0x8e>
    7784:	3101      	movi      	r1, 1
    7786:	07e5      	br      	0x7750	// 7750 <Contol_Switch_Light+0x88>
					TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7788:	3007      	movi      	r0, 7
    778a:	e00004e5 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_White,Control_ON);
    778e:	846a      	ld.b      	r3, (r4, 0xa)
    7790:	3b41      	cmpnei      	r3, 1
    7792:	0be2      	bt      	0x7756	// 7756 <Contol_Switch_Light+0x8e>
    7794:	3101      	movi      	r1, 1
    7796:	07e6      	br      	0x7762	// 7762 <Contol_Switch_Light+0x9a>
			if(state == Control_ON){
    7798:	0814      	bt      	0x77c0	// 77c0 <Contol_Switch_Light+0xf8>
				if(g_switch.feedback_light_selection == 0x01){
    779a:	8462      	ld.b      	r3, (r4, 0x2)
    779c:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK3_White,Control_ON);
    779e:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    77a0:	080a      	bt      	0x77b4	// 77b4 <Contol_Switch_Light+0xec>
					TM1812_Control_CH_State(TPK3_White,Control_ON);
    77a2:	300d      	movi      	r0, 13
    77a4:	e00004d8 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    77a8:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    77aa:	3008      	movi      	r0, 8
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_White,Control_ON);
    77ac:	e00004d4 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH3] = state;
    77b0:	a4a7      	st.b      	r5, (r4, 0x7)
			break;
    77b2:	07a6      	br      	0x76fe	// 76fe <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    77b4:	3008      	movi      	r0, 8
    77b6:	e00004cf 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_White,Control_OFF);
    77ba:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_White,Control_ON);
    77bc:	300d      	movi      	r0, 13
    77be:	07f7      	br      	0x77ac	// 77ac <Contol_Switch_Light+0xe4>
			}else if(state == Control_OFF){
    77c0:	3942      	cmpnei      	r1, 2
    77c2:	0bf7      	bt      	0x77b0	// 77b0 <Contol_Switch_Light+0xe8>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    77c4:	0277      	lrw      	r3, 0x200000c0	// 7a64 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK3_White,Control_OFF);
    77c6:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    77c8:	9360      	ld.w      	r3, (r3, 0x0)
    77ca:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    77cc:	8462      	ld.b      	r3, (r4, 0x2)
    77ce:	3b41      	cmpnei      	r3, 1
    77d0:	0809      	bt      	0x77e2	// 77e2 <Contol_Switch_Light+0x11a>
					TM1812_Control_CH_State(TPK3_White,Control_OFF);
    77d2:	300d      	movi      	r0, 13
    77d4:	e00004c0 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    77d8:	846a      	ld.b      	r3, (r4, 0xa)
    77da:	3b41      	cmpnei      	r3, 1
    77dc:	0bea      	bt      	0x77b0	// 77b0 <Contol_Switch_Light+0xe8>
    77de:	3101      	movi      	r1, 1
    77e0:	07e5      	br      	0x77aa	// 77aa <Contol_Switch_Light+0xe2>
					TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    77e2:	3008      	movi      	r0, 8
    77e4:	e00004b8 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_White,Control_ON);
    77e8:	846a      	ld.b      	r3, (r4, 0xa)
    77ea:	3b41      	cmpnei      	r3, 1
    77ec:	0be2      	bt      	0x77b0	// 77b0 <Contol_Switch_Light+0xe8>
    77ee:	3101      	movi      	r1, 1
    77f0:	07e6      	br      	0x77bc	// 77bc <Contol_Switch_Light+0xf4>
			if(state == Control_ON){
    77f2:	0814      	bt      	0x781a	// 781a <Contol_Switch_Light+0x152>
				if(g_switch.feedback_light_selection == 0x01){
    77f4:	8462      	ld.b      	r3, (r4, 0x2)
    77f6:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK4_White,Control_ON);
    77f8:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    77fa:	080a      	bt      	0x780e	// 780e <Contol_Switch_Light+0x146>
					TM1812_Control_CH_State(TPK4_White,Control_ON);
    77fc:	300e      	movi      	r0, 14
    77fe:	e00004ab 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7802:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    7804:	3009      	movi      	r0, 9
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_White,Control_ON);
    7806:	e00004a7 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH4] = state;
    780a:	a4a8      	st.b      	r5, (r4, 0x8)
			break;
    780c:	0779      	br      	0x76fe	// 76fe <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    780e:	3009      	movi      	r0, 9
    7810:	e00004a2 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7814:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_White,Control_ON);
    7816:	300e      	movi      	r0, 14
    7818:	07f7      	br      	0x7806	// 7806 <Contol_Switch_Light+0x13e>
			}else if(state == Control_OFF){
    781a:	3942      	cmpnei      	r1, 2
    781c:	0bf7      	bt      	0x780a	// 780a <Contol_Switch_Light+0x142>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    781e:	036d      	lrw      	r3, 0x200000c0	// 7a64 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7820:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7822:	9360      	ld.w      	r3, (r3, 0x0)
    7824:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7826:	8462      	ld.b      	r3, (r4, 0x2)
    7828:	3b41      	cmpnei      	r3, 1
    782a:	0809      	bt      	0x783c	// 783c <Contol_Switch_Light+0x174>
					TM1812_Control_CH_State(TPK4_White,Control_OFF);
    782c:	300e      	movi      	r0, 14
    782e:	e0000493 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    7832:	846a      	ld.b      	r3, (r4, 0xa)
    7834:	3b41      	cmpnei      	r3, 1
    7836:	0bea      	bt      	0x780a	// 780a <Contol_Switch_Light+0x142>
    7838:	3101      	movi      	r1, 1
    783a:	07e5      	br      	0x7804	// 7804 <Contol_Switch_Light+0x13c>
					TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    783c:	3009      	movi      	r0, 9
    783e:	e000048b 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_White,Control_ON);
    7842:	846a      	ld.b      	r3, (r4, 0xa)
    7844:	3b41      	cmpnei      	r3, 1
    7846:	0be2      	bt      	0x780a	// 780a <Contol_Switch_Light+0x142>
    7848:	3101      	movi      	r1, 1
    784a:	07e6      	br      	0x7816	// 7816 <Contol_Switch_Light+0x14e>
			if(state == Control_ON){
    784c:	0814      	bt      	0x7874	// 7874 <Contol_Switch_Light+0x1ac>
				if(g_switch.feedback_light_selection == 0x01){
    784e:	8462      	ld.b      	r3, (r4, 0x2)
    7850:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK5_White,Control_ON);
    7852:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7854:	080a      	bt      	0x7868	// 7868 <Contol_Switch_Light+0x1a0>
					TM1812_Control_CH_State(TPK5_White,Control_ON);
    7856:	300f      	movi      	r0, 15
    7858:	e000047e 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    785c:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    785e:	300a      	movi      	r0, 10
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_White,Control_ON);
    7860:	e000047a 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH5] = state;
    7864:	a4a9      	st.b      	r5, (r4, 0x9)
			break;		
    7866:	074c      	br      	0x76fe	// 76fe <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    7868:	300a      	movi      	r0, 10
    786a:	e0000475 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK5_White,Control_OFF);
    786e:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_White,Control_ON);
    7870:	300f      	movi      	r0, 15
    7872:	07f7      	br      	0x7860	// 7860 <Contol_Switch_Light+0x198>
			}else if(state == Control_OFF){
    7874:	3942      	cmpnei      	r1, 2
    7876:	0bf7      	bt      	0x7864	// 7864 <Contol_Switch_Light+0x19c>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7878:	137b      	lrw      	r3, 0x200000c0	// 7a64 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK5_White,Control_OFF);
    787a:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    787c:	9360      	ld.w      	r3, (r3, 0x0)
    787e:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7880:	8462      	ld.b      	r3, (r4, 0x2)
    7882:	3b41      	cmpnei      	r3, 1
    7884:	0809      	bt      	0x7896	// 7896 <Contol_Switch_Light+0x1ce>
					TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7886:	300f      	movi      	r0, 15
    7888:	e0000466 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    788c:	846a      	ld.b      	r3, (r4, 0xa)
    788e:	3b41      	cmpnei      	r3, 1
    7890:	0bea      	bt      	0x7864	// 7864 <Contol_Switch_Light+0x19c>
    7892:	3101      	movi      	r1, 1
    7894:	07e5      	br      	0x785e	// 785e <Contol_Switch_Light+0x196>
					TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7896:	300a      	movi      	r0, 10
    7898:	e000045e 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_White,Control_ON);
    789c:	846a      	ld.b      	r3, (r4, 0xa)
    789e:	3b41      	cmpnei      	r3, 1
    78a0:	0be2      	bt      	0x7864	// 7864 <Contol_Switch_Light+0x19c>
    78a2:	3101      	movi      	r1, 1
    78a4:	07e6      	br      	0x7870	// 7870 <Contol_Switch_Light+0x1a8>
			if(state == Control_ON){
    78a6:	08b1      	bt      	0x7a08	// 7a08 <Contol_Switch_Light+0x340>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    78a8:	136f      	lrw      	r3, 0x200000c0	// 7a64 <Contol_Switch_Light+0x39c>
    78aa:	9360      	ld.w      	r3, (r3, 0x0)
    78ac:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    78ae:	8462      	ld.b      	r3, (r4, 0x2)
    78b0:	3b41      	cmpnei      	r3, 1
    78b2:	8465      	ld.b      	r3, (r4, 0x5)
    78b4:	0857      	bt      	0x7962	// 7962 <Contol_Switch_Light+0x29a>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    78b6:	3b41      	cmpnei      	r3, 1
    78b8:	0c33      	bf      	0x791e	// 791e <Contol_Switch_Light+0x256>
                        TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    78ba:	3101      	movi      	r1, 1
    78bc:	3006      	movi      	r0, 6
    78be:	e000044b 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_White,Control_OFF);
    78c2:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK1_White,Control_ON);
    78c4:	300b      	movi      	r0, 11
    78c6:	e0000447 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    78ca:	8466      	ld.b      	r3, (r4, 0x6)
    78cc:	3b41      	cmpnei      	r3, 1
    78ce:	0c2e      	bf      	0x792a	// 792a <Contol_Switch_Light+0x262>
                        TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    78d0:	3101      	movi      	r1, 1
    78d2:	3007      	movi      	r0, 7
    78d4:	e0000440 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_White,Control_OFF);
    78d8:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK2_White,Control_ON);
    78da:	300c      	movi      	r0, 12
    78dc:	e000043c 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    78e0:	8467      	ld.b      	r3, (r4, 0x7)
    78e2:	3b41      	cmpnei      	r3, 1
    78e4:	0c29      	bf      	0x7936	// 7936 <Contol_Switch_Light+0x26e>
                        TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    78e6:	3101      	movi      	r1, 1
    78e8:	3008      	movi      	r0, 8
    78ea:	e0000435 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_White,Control_OFF);
    78ee:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK3_White,Control_ON);
    78f0:	300d      	movi      	r0, 13
    78f2:	e0000431 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    78f6:	8468      	ld.b      	r3, (r4, 0x8)
    78f8:	3b41      	cmpnei      	r3, 1
    78fa:	0c24      	bf      	0x7942	// 7942 <Contol_Switch_Light+0x27a>
                        TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    78fc:	3101      	movi      	r1, 1
    78fe:	3009      	movi      	r0, 9
    7900:	e000042a 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7904:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK4_White,Control_ON);
    7906:	300e      	movi      	r0, 14
    7908:	e0000426 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    790c:	8469      	ld.b      	r3, (r4, 0x9)
    790e:	3b41      	cmpnei      	r3, 1
    7910:	0c1f      	bf      	0x794e	// 794e <Contol_Switch_Light+0x286>
                        TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    7912:	3101      	movi      	r1, 1
    7914:	300a      	movi      	r0, 10
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7916:	e000041f 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
						TM1812_Control_CH_State(TPK5_White,Control_OFF);
    791a:	3102      	movi      	r1, 2
    791c:	041e      	br      	0x7958	// 7958 <Contol_Switch_Light+0x290>
                        TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    791e:	3102      	movi      	r1, 2
    7920:	3006      	movi      	r0, 6
    7922:	e0000419 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_White,Control_ON);
    7926:	3101      	movi      	r1, 1
    7928:	07ce      	br      	0x78c4	// 78c4 <Contol_Switch_Light+0x1fc>
                        TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    792a:	3102      	movi      	r1, 2
    792c:	3007      	movi      	r0, 7
    792e:	e0000413 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_White,Control_ON);
    7932:	3101      	movi      	r1, 1
    7934:	07d3      	br      	0x78da	// 78da <Contol_Switch_Light+0x212>
                        TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7936:	3102      	movi      	r1, 2
    7938:	3008      	movi      	r0, 8
    793a:	e000040d 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_White,Control_ON);
    793e:	3101      	movi      	r1, 1
    7940:	07d8      	br      	0x78f0	// 78f0 <Contol_Switch_Light+0x228>
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7942:	3102      	movi      	r1, 2
    7944:	3009      	movi      	r0, 9
    7946:	e0000407 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_White,Control_ON);
    794a:	3101      	movi      	r1, 1
    794c:	07dd      	br      	0x7906	// 7906 <Contol_Switch_Light+0x23e>
                        TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    794e:	3102      	movi      	r1, 2
    7950:	300a      	movi      	r0, 10
    7952:	e0000401 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK5_White,Control_ON);
    7956:	3101      	movi      	r1, 1
						TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7958:	300f      	movi      	r0, 15
						TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    795a:	e00003fd 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
            g_switch.light_state[T_Backlight] = state;
    795e:	a4aa      	st.b      	r5, (r4, 0xa)
}
    7960:	06cf      	br      	0x76fe	// 76fe <Contol_Switch_Light+0x36>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7962:	3b41      	cmpnei      	r3, 1
    7964:	0c33      	bf      	0x79ca	// 79ca <Contol_Switch_Light+0x302>
                        TM1812_Control_CH_State(TPK1_White,Control_ON);
    7966:	3101      	movi      	r1, 1
    7968:	300b      	movi      	r0, 11
    796a:	e00003f5 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    796e:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7970:	3006      	movi      	r0, 6
    7972:	e00003f1 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7976:	8466      	ld.b      	r3, (r4, 0x6)
    7978:	3b41      	cmpnei      	r3, 1
    797a:	0c2e      	bf      	0x79d6	// 79d6 <Contol_Switch_Light+0x30e>
                        TM1812_Control_CH_State(TPK2_White,Control_ON);
    797c:	3101      	movi      	r1, 1
    797e:	300c      	movi      	r0, 12
    7980:	e00003ea 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7984:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    7986:	3007      	movi      	r0, 7
    7988:	e00003e6 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    798c:	8467      	ld.b      	r3, (r4, 0x7)
    798e:	3b41      	cmpnei      	r3, 1
    7990:	0c29      	bf      	0x79e2	// 79e2 <Contol_Switch_Light+0x31a>
                        TM1812_Control_CH_State(TPK3_White,Control_ON);
    7992:	3101      	movi      	r1, 1
    7994:	300d      	movi      	r0, 13
    7996:	e00003df 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    799a:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    799c:	3008      	movi      	r0, 8
    799e:	e00003db 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    79a2:	8468      	ld.b      	r3, (r4, 0x8)
    79a4:	3b41      	cmpnei      	r3, 1
    79a6:	0c24      	bf      	0x79ee	// 79ee <Contol_Switch_Light+0x326>
                        TM1812_Control_CH_State(TPK4_White,Control_ON);
    79a8:	3101      	movi      	r1, 1
    79aa:	300e      	movi      	r0, 14
    79ac:	e00003d4 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    79b0:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    79b2:	3009      	movi      	r0, 9
    79b4:	e00003d0 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    79b8:	8469      	ld.b      	r3, (r4, 0x9)
    79ba:	3b41      	cmpnei      	r3, 1
    79bc:	0c1f      	bf      	0x79fa	// 79fa <Contol_Switch_Light+0x332>
                        TM1812_Control_CH_State(TPK5_White,Control_ON);
    79be:	3101      	movi      	r1, 1
    79c0:	300f      	movi      	r0, 15
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    79c2:	e00003c9 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
						TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    79c6:	3102      	movi      	r1, 2
    79c8:	041e      	br      	0x7a04	// 7a04 <Contol_Switch_Light+0x33c>
                        TM1812_Control_CH_State(TPK1_White,Control_OFF);
    79ca:	3102      	movi      	r1, 2
    79cc:	300b      	movi      	r0, 11
    79ce:	e00003c3 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    79d2:	3101      	movi      	r1, 1
    79d4:	07ce      	br      	0x7970	// 7970 <Contol_Switch_Light+0x2a8>
                        TM1812_Control_CH_State(TPK2_White,Control_OFF);
    79d6:	3102      	movi      	r1, 2
    79d8:	300c      	movi      	r0, 12
    79da:	e00003bd 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    79de:	3101      	movi      	r1, 1
    79e0:	07d3      	br      	0x7986	// 7986 <Contol_Switch_Light+0x2be>
                        TM1812_Control_CH_State(TPK3_White,Control_OFF);
    79e2:	3102      	movi      	r1, 2
    79e4:	300d      	movi      	r0, 13
    79e6:	e00003b7 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    79ea:	3101      	movi      	r1, 1
    79ec:	07d8      	br      	0x799c	// 799c <Contol_Switch_Light+0x2d4>
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    79ee:	3102      	movi      	r1, 2
    79f0:	300e      	movi      	r0, 14
    79f2:	e00003b1 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    79f6:	3101      	movi      	r1, 1
    79f8:	07dd      	br      	0x79b2	// 79b2 <Contol_Switch_Light+0x2ea>
                        TM1812_Control_CH_State(TPK5_White,Control_OFF);
    79fa:	3102      	movi      	r1, 2
    79fc:	300f      	movi      	r0, 15
    79fe:	e00003ab 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    7a02:	3101      	movi      	r1, 1
						TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7a04:	300a      	movi      	r0, 10
    7a06:	07aa      	br      	0x795a	// 795a <Contol_Switch_Light+0x292>
			}else if(state == Control_OFF){
    7a08:	3942      	cmpnei      	r1, 2
    7a0a:	0baa      	bt      	0x795e	// 795e <Contol_Switch_Light+0x296>
				if(g_switch.feedback_light_selection == 0x01){
    7a0c:	8462      	ld.b      	r3, (r4, 0x2)
    7a0e:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7a10:	3102      	movi      	r1, 2
				if(g_switch.feedback_light_selection == 0x01){
    7a12:	082b      	bt      	0x7a68	// 7a68 <Contol_Switch_Light+0x3a0>
					TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7a14:	3006      	movi      	r0, 6
    7a16:	e000039f 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7a1a:	3102      	movi      	r1, 2
    7a1c:	3007      	movi      	r0, 7
    7a1e:	e000039b 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7a22:	3102      	movi      	r1, 2
    7a24:	3008      	movi      	r0, 8
    7a26:	e0000397 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7a2a:	3102      	movi      	r1, 2
    7a2c:	3009      	movi      	r0, 9
    7a2e:	e0000393 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7a32:	3102      	movi      	r1, 2
    7a34:	300a      	movi      	r0, 10
    7a36:	e000038f 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.autoOff_light_flag == 0x01){
    7a3a:	8461      	ld.b      	r3, (r4, 0x1)
    7a3c:	3b41      	cmpnei      	r3, 1
    7a3e:	0b90      	bt      	0x795e	// 795e <Contol_Switch_Light+0x296>
                        TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7a40:	3102      	movi      	r1, 2
    7a42:	300b      	movi      	r0, 11
    7a44:	e0000388 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7a48:	3102      	movi      	r1, 2
    7a4a:	300c      	movi      	r0, 12
    7a4c:	e0000384 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7a50:	3102      	movi      	r1, 2
    7a52:	300d      	movi      	r0, 13
    7a54:	e0000380 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7a58:	3102      	movi      	r1, 2
    7a5a:	300e      	movi      	r0, 14
    7a5c:	075d      	br      	0x7916	// 7916 <Contol_Switch_Light+0x24e>
    7a5e:	0000      	bkpt
    7a60:	200005a4 	.long	0x200005a4
    7a64:	200000c0 	.long	0x200000c0
					TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7a68:	300b      	movi      	r0, 11
    7a6a:	e0000375 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7a6e:	3102      	movi      	r1, 2
    7a70:	300c      	movi      	r0, 12
    7a72:	e0000371 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7a76:	3102      	movi      	r1, 2
    7a78:	300d      	movi      	r0, 13
    7a7a:	e000036d 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7a7e:	3102      	movi      	r1, 2
    7a80:	300e      	movi      	r0, 14
    7a82:	e0000369 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
					TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7a86:	3102      	movi      	r1, 2
    7a88:	300f      	movi      	r0, 15
    7a8a:	e0000365 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                    if(g_switch.autoOff_light_flag == 0x01){
    7a8e:	8461      	ld.b      	r3, (r4, 0x1)
    7a90:	3b41      	cmpnei      	r3, 1
    7a92:	0b66      	bt      	0x795e	// 795e <Contol_Switch_Light+0x296>
                        TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7a94:	3102      	movi      	r1, 2
    7a96:	3006      	movi      	r0, 6
    7a98:	e000035e 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7a9c:	3102      	movi      	r1, 2
    7a9e:	3007      	movi      	r0, 7
    7aa0:	e000035a 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7aa4:	3102      	movi      	r1, 2
    7aa6:	3008      	movi      	r0, 8
    7aa8:	e0000356 	bsr      	0x8154	// 8154 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7aac:	3102      	movi      	r1, 2
    7aae:	3009      	movi      	r0, 9
    7ab0:	0789      	br      	0x79c2	// 79c2 <Contol_Switch_Light+0x2fa>

Disassembly of section .text.Contol_Switch_Light_2:

00007ab4 <Contol_Switch_Light_2>:
/*不帶渐变效果控製*/
void Contol_Switch_Light_2(uint8_t ch,uint8_t state)
{
    7ab4:	14d2      	push      	r4-r5, r15
    //Dbg_Println(DBG_BIT_SYS_STATUS,"%s ch:%d state:%d",__func__,ch,state);
	switch(ch)
    7ab6:	3805      	cmphsi      	r0, 6
{
    7ab8:	6d47      	mov      	r5, r1
	switch(ch)
    7aba:	0818      	bt      	0x7aea	// 7aea <Contol_Switch_Light_2+0x36>
    7abc:	009b      	lrw      	r4, 0x200005a4	// 7e4c <Contol_Switch_Light_2+0x398>
			}
			g_switch.light_state[T_CH5] = state;
			break;		
		
		case T_Backlight:		//背光
			if(state == Control_ON){
    7abe:	3941      	cmpnei      	r1, 1
	switch(ch)
    7ac0:	e3ffdd36 	bsr      	0x352c	// 352c <___gnu_csky_case_uhi>
    7ac4:	00330006 	.long	0x00330006
    7ac8:	008d0060 	.long	0x008d0060
    7acc:	00e700ba 	.long	0x00e700ba
			if(state == Control_ON){
    7ad0:	0814      	bt      	0x7af8	// 7af8 <Contol_Switch_Light_2+0x44>
				if(g_switch.feedback_light_selection == 0x01){
    7ad2:	8462      	ld.b      	r3, (r4, 0x2)
    7ad4:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7ad6:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7ad8:	080a      	bt      	0x7aec	// 7aec <Contol_Switch_Light_2+0x38>
					TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7ada:	300b      	movi      	r0, 11
    7adc:	e0000374 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7ae0:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7ae2:	3006      	movi      	r0, 6
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7ae4:	e0000370 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH1] = state;
    7ae8:	a4a5      	st.b      	r5, (r4, 0x5)
			}
            
            g_switch.light_state[T_Backlight] = state;
			break;
	}
}
    7aea:	1492      	pop      	r4-r5, r15
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7aec:	3006      	movi      	r0, 6
    7aee:	e000036b 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7af2:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7af4:	300b      	movi      	r0, 11
    7af6:	07f7      	br      	0x7ae4	// 7ae4 <Contol_Switch_Light_2+0x30>
			}else if(state == Control_OFF){
    7af8:	3942      	cmpnei      	r1, 2
    7afa:	0bf7      	bt      	0x7ae8	// 7ae8 <Contol_Switch_Light_2+0x34>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7afc:	016a      	lrw      	r3, 0x200000c0	// 7e50 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7afe:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7b00:	9360      	ld.w      	r3, (r3, 0x0)
    7b02:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7b04:	8462      	ld.b      	r3, (r4, 0x2)
    7b06:	3b41      	cmpnei      	r3, 1
    7b08:	0809      	bt      	0x7b1a	// 7b1a <Contol_Switch_Light_2+0x66>
					TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7b0a:	300b      	movi      	r0, 11
    7b0c:	e000035c 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7b10:	846a      	ld.b      	r3, (r4, 0xa)
    7b12:	3b41      	cmpnei      	r3, 1
    7b14:	0bea      	bt      	0x7ae8	// 7ae8 <Contol_Switch_Light_2+0x34>
    7b16:	3101      	movi      	r1, 1
    7b18:	07e5      	br      	0x7ae2	// 7ae2 <Contol_Switch_Light_2+0x2e>
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7b1a:	3006      	movi      	r0, 6
    7b1c:	e0000354 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7b20:	846a      	ld.b      	r3, (r4, 0xa)
    7b22:	3b41      	cmpnei      	r3, 1
    7b24:	0be2      	bt      	0x7ae8	// 7ae8 <Contol_Switch_Light_2+0x34>
    7b26:	3101      	movi      	r1, 1
    7b28:	07e6      	br      	0x7af4	// 7af4 <Contol_Switch_Light_2+0x40>
			if(state == Control_ON){
    7b2a:	0814      	bt      	0x7b52	// 7b52 <Contol_Switch_Light_2+0x9e>
				if(g_switch.feedback_light_selection == 0x01){
    7b2c:	8462      	ld.b      	r3, (r4, 0x2)
    7b2e:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7b30:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7b32:	080a      	bt      	0x7b46	// 7b46 <Contol_Switch_Light_2+0x92>
					TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7b34:	300c      	movi      	r0, 12
    7b36:	e0000347 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7b3a:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7b3c:	3007      	movi      	r0, 7
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7b3e:	e0000343 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH2] = state;
    7b42:	a4a6      	st.b      	r5, (r4, 0x6)
			break;
    7b44:	07d3      	br      	0x7aea	// 7aea <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7b46:	3007      	movi      	r0, 7
    7b48:	e000033e 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7b4c:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7b4e:	300c      	movi      	r0, 12
    7b50:	07f7      	br      	0x7b3e	// 7b3e <Contol_Switch_Light_2+0x8a>
			}else if(state == Control_OFF){
    7b52:	3942      	cmpnei      	r1, 2
    7b54:	0bf7      	bt      	0x7b42	// 7b42 <Contol_Switch_Light_2+0x8e>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7b56:	0260      	lrw      	r3, 0x200000c0	// 7e50 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7b58:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7b5a:	9360      	ld.w      	r3, (r3, 0x0)
    7b5c:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7b5e:	8462      	ld.b      	r3, (r4, 0x2)
    7b60:	3b41      	cmpnei      	r3, 1
    7b62:	0809      	bt      	0x7b74	// 7b74 <Contol_Switch_Light_2+0xc0>
					TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7b64:	300c      	movi      	r0, 12
    7b66:	e000032f 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7b6a:	846a      	ld.b      	r3, (r4, 0xa)
    7b6c:	3b41      	cmpnei      	r3, 1
    7b6e:	0bea      	bt      	0x7b42	// 7b42 <Contol_Switch_Light_2+0x8e>
    7b70:	3101      	movi      	r1, 1
    7b72:	07e5      	br      	0x7b3c	// 7b3c <Contol_Switch_Light_2+0x88>
					TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7b74:	3007      	movi      	r0, 7
    7b76:	e0000327 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7b7a:	846a      	ld.b      	r3, (r4, 0xa)
    7b7c:	3b41      	cmpnei      	r3, 1
    7b7e:	0be2      	bt      	0x7b42	// 7b42 <Contol_Switch_Light_2+0x8e>
    7b80:	3101      	movi      	r1, 1
    7b82:	07e6      	br      	0x7b4e	// 7b4e <Contol_Switch_Light_2+0x9a>
			if(state == Control_ON){
    7b84:	0814      	bt      	0x7bac	// 7bac <Contol_Switch_Light_2+0xf8>
				if(g_switch.feedback_light_selection == 0x01){
    7b86:	8462      	ld.b      	r3, (r4, 0x2)
    7b88:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7b8a:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7b8c:	080a      	bt      	0x7ba0	// 7ba0 <Contol_Switch_Light_2+0xec>
					TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7b8e:	300d      	movi      	r0, 13
    7b90:	e000031a 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7b94:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7b96:	3008      	movi      	r0, 8
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7b98:	e0000316 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH3] = state;
    7b9c:	a4a7      	st.b      	r5, (r4, 0x7)
			break;
    7b9e:	07a6      	br      	0x7aea	// 7aea <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7ba0:	3008      	movi      	r0, 8
    7ba2:	e0000311 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7ba6:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7ba8:	300d      	movi      	r0, 13
    7baa:	07f7      	br      	0x7b98	// 7b98 <Contol_Switch_Light_2+0xe4>
			}else if(state == Control_OFF){
    7bac:	3942      	cmpnei      	r1, 2
    7bae:	0bf7      	bt      	0x7b9c	// 7b9c <Contol_Switch_Light_2+0xe8>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7bb0:	0277      	lrw      	r3, 0x200000c0	// 7e50 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7bb2:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7bb4:	9360      	ld.w      	r3, (r3, 0x0)
    7bb6:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7bb8:	8462      	ld.b      	r3, (r4, 0x2)
    7bba:	3b41      	cmpnei      	r3, 1
    7bbc:	0809      	bt      	0x7bce	// 7bce <Contol_Switch_Light_2+0x11a>
					TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7bbe:	300d      	movi      	r0, 13
    7bc0:	e0000302 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7bc4:	846a      	ld.b      	r3, (r4, 0xa)
    7bc6:	3b41      	cmpnei      	r3, 1
    7bc8:	0bea      	bt      	0x7b9c	// 7b9c <Contol_Switch_Light_2+0xe8>
    7bca:	3101      	movi      	r1, 1
    7bcc:	07e5      	br      	0x7b96	// 7b96 <Contol_Switch_Light_2+0xe2>
					TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7bce:	3008      	movi      	r0, 8
    7bd0:	e00002fa 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7bd4:	846a      	ld.b      	r3, (r4, 0xa)
    7bd6:	3b41      	cmpnei      	r3, 1
    7bd8:	0be2      	bt      	0x7b9c	// 7b9c <Contol_Switch_Light_2+0xe8>
    7bda:	3101      	movi      	r1, 1
    7bdc:	07e6      	br      	0x7ba8	// 7ba8 <Contol_Switch_Light_2+0xf4>
			if(state == Control_ON){
    7bde:	0814      	bt      	0x7c06	// 7c06 <Contol_Switch_Light_2+0x152>
				if(g_switch.feedback_light_selection == 0x01){
    7be0:	8462      	ld.b      	r3, (r4, 0x2)
    7be2:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7be4:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7be6:	080a      	bt      	0x7bfa	// 7bfa <Contol_Switch_Light_2+0x146>
					TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7be8:	300e      	movi      	r0, 14
    7bea:	e00002ed 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7bee:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7bf0:	3009      	movi      	r0, 9
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7bf2:	e00002e9 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH4] = state;
    7bf6:	a4a8      	st.b      	r5, (r4, 0x8)
			break;
    7bf8:	0779      	br      	0x7aea	// 7aea <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7bfa:	3009      	movi      	r0, 9
    7bfc:	e00002e4 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7c00:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7c02:	300e      	movi      	r0, 14
    7c04:	07f7      	br      	0x7bf2	// 7bf2 <Contol_Switch_Light_2+0x13e>
			}else if(state == Control_OFF){
    7c06:	3942      	cmpnei      	r1, 2
    7c08:	0bf7      	bt      	0x7bf6	// 7bf6 <Contol_Switch_Light_2+0x142>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c0a:	036d      	lrw      	r3, 0x200000c0	// 7e50 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7c0c:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c0e:	9360      	ld.w      	r3, (r3, 0x0)
    7c10:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7c12:	8462      	ld.b      	r3, (r4, 0x2)
    7c14:	3b41      	cmpnei      	r3, 1
    7c16:	0809      	bt      	0x7c28	// 7c28 <Contol_Switch_Light_2+0x174>
					TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7c18:	300e      	movi      	r0, 14
    7c1a:	e00002d5 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7c1e:	846a      	ld.b      	r3, (r4, 0xa)
    7c20:	3b41      	cmpnei      	r3, 1
    7c22:	0bea      	bt      	0x7bf6	// 7bf6 <Contol_Switch_Light_2+0x142>
    7c24:	3101      	movi      	r1, 1
    7c26:	07e5      	br      	0x7bf0	// 7bf0 <Contol_Switch_Light_2+0x13c>
					TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7c28:	3009      	movi      	r0, 9
    7c2a:	e00002cd 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7c2e:	846a      	ld.b      	r3, (r4, 0xa)
    7c30:	3b41      	cmpnei      	r3, 1
    7c32:	0be2      	bt      	0x7bf6	// 7bf6 <Contol_Switch_Light_2+0x142>
    7c34:	3101      	movi      	r1, 1
    7c36:	07e6      	br      	0x7c02	// 7c02 <Contol_Switch_Light_2+0x14e>
			if(state == Control_ON){
    7c38:	0814      	bt      	0x7c60	// 7c60 <Contol_Switch_Light_2+0x1ac>
				if(g_switch.feedback_light_selection == 0x01){
    7c3a:	8462      	ld.b      	r3, (r4, 0x2)
    7c3c:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7c3e:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7c40:	080a      	bt      	0x7c54	// 7c54 <Contol_Switch_Light_2+0x1a0>
					TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7c42:	300f      	movi      	r0, 15
    7c44:	e00002c0 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7c48:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7c4a:	300a      	movi      	r0, 10
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7c4c:	e00002bc 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH5] = state;
    7c50:	a4a9      	st.b      	r5, (r4, 0x9)
			break;		
    7c52:	074c      	br      	0x7aea	// 7aea <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7c54:	300a      	movi      	r0, 10
    7c56:	e00002b7 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7c5a:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7c5c:	300f      	movi      	r0, 15
    7c5e:	07f7      	br      	0x7c4c	// 7c4c <Contol_Switch_Light_2+0x198>
			}else if(state == Control_OFF){
    7c60:	3942      	cmpnei      	r1, 2
    7c62:	0bf7      	bt      	0x7c50	// 7c50 <Contol_Switch_Light_2+0x19c>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c64:	137b      	lrw      	r3, 0x200000c0	// 7e50 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7c66:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c68:	9360      	ld.w      	r3, (r3, 0x0)
    7c6a:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7c6c:	8462      	ld.b      	r3, (r4, 0x2)
    7c6e:	3b41      	cmpnei      	r3, 1
    7c70:	0809      	bt      	0x7c82	// 7c82 <Contol_Switch_Light_2+0x1ce>
					TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7c72:	300f      	movi      	r0, 15
    7c74:	e00002a8 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7c78:	846a      	ld.b      	r3, (r4, 0xa)
    7c7a:	3b41      	cmpnei      	r3, 1
    7c7c:	0bea      	bt      	0x7c50	// 7c50 <Contol_Switch_Light_2+0x19c>
    7c7e:	3101      	movi      	r1, 1
    7c80:	07e5      	br      	0x7c4a	// 7c4a <Contol_Switch_Light_2+0x196>
					TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7c82:	300a      	movi      	r0, 10
    7c84:	e00002a0 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7c88:	846a      	ld.b      	r3, (r4, 0xa)
    7c8a:	3b41      	cmpnei      	r3, 1
    7c8c:	0be2      	bt      	0x7c50	// 7c50 <Contol_Switch_Light_2+0x19c>
    7c8e:	3101      	movi      	r1, 1
    7c90:	07e6      	br      	0x7c5c	// 7c5c <Contol_Switch_Light_2+0x1a8>
			if(state == Control_ON){
    7c92:	08b1      	bt      	0x7df4	// 7df4 <Contol_Switch_Light_2+0x340>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c94:	136f      	lrw      	r3, 0x200000c0	// 7e50 <Contol_Switch_Light_2+0x39c>
    7c96:	9360      	ld.w      	r3, (r3, 0x0)
    7c98:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7c9a:	8462      	ld.b      	r3, (r4, 0x2)
    7c9c:	3b41      	cmpnei      	r3, 1
    7c9e:	8465      	ld.b      	r3, (r4, 0x5)
    7ca0:	0857      	bt      	0x7d4e	// 7d4e <Contol_Switch_Light_2+0x29a>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7ca2:	3b41      	cmpnei      	r3, 1
    7ca4:	0c33      	bf      	0x7d0a	// 7d0a <Contol_Switch_Light_2+0x256>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7ca6:	3101      	movi      	r1, 1
    7ca8:	3006      	movi      	r0, 6
    7caa:	e000028d 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7cae:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7cb0:	300b      	movi      	r0, 11
    7cb2:	e0000289 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7cb6:	8466      	ld.b      	r3, (r4, 0x6)
    7cb8:	3b41      	cmpnei      	r3, 1
    7cba:	0c2e      	bf      	0x7d16	// 7d16 <Contol_Switch_Light_2+0x262>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7cbc:	3101      	movi      	r1, 1
    7cbe:	3007      	movi      	r0, 7
    7cc0:	e0000282 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7cc4:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7cc6:	300c      	movi      	r0, 12
    7cc8:	e000027e 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    7ccc:	8467      	ld.b      	r3, (r4, 0x7)
    7cce:	3b41      	cmpnei      	r3, 1
    7cd0:	0c29      	bf      	0x7d22	// 7d22 <Contol_Switch_Light_2+0x26e>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7cd2:	3101      	movi      	r1, 1
    7cd4:	3008      	movi      	r0, 8
    7cd6:	e0000277 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7cda:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7cdc:	300d      	movi      	r0, 13
    7cde:	e0000273 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    7ce2:	8468      	ld.b      	r3, (r4, 0x8)
    7ce4:	3b41      	cmpnei      	r3, 1
    7ce6:	0c24      	bf      	0x7d2e	// 7d2e <Contol_Switch_Light_2+0x27a>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7ce8:	3101      	movi      	r1, 1
    7cea:	3009      	movi      	r0, 9
    7cec:	e000026c 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7cf0:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7cf2:	300e      	movi      	r0, 14
    7cf4:	e0000268 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    7cf8:	8469      	ld.b      	r3, (r4, 0x9)
    7cfa:	3b41      	cmpnei      	r3, 1
    7cfc:	0c1f      	bf      	0x7d3a	// 7d3a <Contol_Switch_Light_2+0x286>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7cfe:	3101      	movi      	r1, 1
    7d00:	300a      	movi      	r0, 10
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7d02:	e0000261 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
						TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7d06:	3102      	movi      	r1, 2
    7d08:	041e      	br      	0x7d44	// 7d44 <Contol_Switch_Light_2+0x290>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7d0a:	3102      	movi      	r1, 2
    7d0c:	3006      	movi      	r0, 6
    7d0e:	e000025b 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7d12:	3101      	movi      	r1, 1
    7d14:	07ce      	br      	0x7cb0	// 7cb0 <Contol_Switch_Light_2+0x1fc>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7d16:	3102      	movi      	r1, 2
    7d18:	3007      	movi      	r0, 7
    7d1a:	e0000255 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7d1e:	3101      	movi      	r1, 1
    7d20:	07d3      	br      	0x7cc6	// 7cc6 <Contol_Switch_Light_2+0x212>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7d22:	3102      	movi      	r1, 2
    7d24:	3008      	movi      	r0, 8
    7d26:	e000024f 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7d2a:	3101      	movi      	r1, 1
    7d2c:	07d8      	br      	0x7cdc	// 7cdc <Contol_Switch_Light_2+0x228>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7d2e:	3102      	movi      	r1, 2
    7d30:	3009      	movi      	r0, 9
    7d32:	e0000249 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d36:	3101      	movi      	r1, 1
    7d38:	07dd      	br      	0x7cf2	// 7cf2 <Contol_Switch_Light_2+0x23e>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7d3a:	3102      	movi      	r1, 2
    7d3c:	300a      	movi      	r0, 10
    7d3e:	e0000243 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7d42:	3101      	movi      	r1, 1
						TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7d44:	300f      	movi      	r0, 15
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7d46:	e000023f 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
            g_switch.light_state[T_Backlight] = state;
    7d4a:	a4aa      	st.b      	r5, (r4, 0xa)
}
    7d4c:	06cf      	br      	0x7aea	// 7aea <Contol_Switch_Light_2+0x36>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7d4e:	3b41      	cmpnei      	r3, 1
    7d50:	0c33      	bf      	0x7db6	// 7db6 <Contol_Switch_Light_2+0x302>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7d52:	3101      	movi      	r1, 1
    7d54:	300b      	movi      	r0, 11
    7d56:	e0000237 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7d5a:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7d5c:	3006      	movi      	r0, 6
    7d5e:	e0000233 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7d62:	8466      	ld.b      	r3, (r4, 0x6)
    7d64:	3b41      	cmpnei      	r3, 1
    7d66:	0c2e      	bf      	0x7dc2	// 7dc2 <Contol_Switch_Light_2+0x30e>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7d68:	3101      	movi      	r1, 1
    7d6a:	300c      	movi      	r0, 12
    7d6c:	e000022c 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7d70:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7d72:	3007      	movi      	r0, 7
    7d74:	e0000228 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    7d78:	8467      	ld.b      	r3, (r4, 0x7)
    7d7a:	3b41      	cmpnei      	r3, 1
    7d7c:	0c29      	bf      	0x7dce	// 7dce <Contol_Switch_Light_2+0x31a>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7d7e:	3101      	movi      	r1, 1
    7d80:	300d      	movi      	r0, 13
    7d82:	e0000221 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7d86:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7d88:	3008      	movi      	r0, 8
    7d8a:	e000021d 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    7d8e:	8468      	ld.b      	r3, (r4, 0x8)
    7d90:	3b41      	cmpnei      	r3, 1
    7d92:	0c24      	bf      	0x7dda	// 7dda <Contol_Switch_Light_2+0x326>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d94:	3101      	movi      	r1, 1
    7d96:	300e      	movi      	r0, 14
    7d98:	e0000216 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7d9c:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7d9e:	3009      	movi      	r0, 9
    7da0:	e0000212 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    7da4:	8469      	ld.b      	r3, (r4, 0x9)
    7da6:	3b41      	cmpnei      	r3, 1
    7da8:	0c1f      	bf      	0x7de6	// 7de6 <Contol_Switch_Light_2+0x332>
                        TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7daa:	3101      	movi      	r1, 1
    7dac:	300f      	movi      	r0, 15
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7dae:	e000020b 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7db2:	3102      	movi      	r1, 2
    7db4:	041e      	br      	0x7df0	// 7df0 <Contol_Switch_Light_2+0x33c>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7db6:	3102      	movi      	r1, 2
    7db8:	300b      	movi      	r0, 11
    7dba:	e0000205 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7dbe:	3101      	movi      	r1, 1
    7dc0:	07ce      	br      	0x7d5c	// 7d5c <Contol_Switch_Light_2+0x2a8>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7dc2:	3102      	movi      	r1, 2
    7dc4:	300c      	movi      	r0, 12
    7dc6:	e00001ff 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7dca:	3101      	movi      	r1, 1
    7dcc:	07d3      	br      	0x7d72	// 7d72 <Contol_Switch_Light_2+0x2be>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7dce:	3102      	movi      	r1, 2
    7dd0:	300d      	movi      	r0, 13
    7dd2:	e00001f9 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7dd6:	3101      	movi      	r1, 1
    7dd8:	07d8      	br      	0x7d88	// 7d88 <Contol_Switch_Light_2+0x2d4>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7dda:	3102      	movi      	r1, 2
    7ddc:	300e      	movi      	r0, 14
    7dde:	e00001f3 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7de2:	3101      	movi      	r1, 1
    7de4:	07dd      	br      	0x7d9e	// 7d9e <Contol_Switch_Light_2+0x2ea>
                        TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7de6:	3102      	movi      	r1, 2
    7de8:	300f      	movi      	r0, 15
    7dea:	e00001ed 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7dee:	3101      	movi      	r1, 1
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7df0:	300a      	movi      	r0, 10
    7df2:	07aa      	br      	0x7d46	// 7d46 <Contol_Switch_Light_2+0x292>
			}else if(state == Control_OFF){
    7df4:	3942      	cmpnei      	r1, 2
    7df6:	0baa      	bt      	0x7d4a	// 7d4a <Contol_Switch_Light_2+0x296>
				if(g_switch.feedback_light_selection == 0x01){
    7df8:	8462      	ld.b      	r3, (r4, 0x2)
    7dfa:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7dfc:	3102      	movi      	r1, 2
				if(g_switch.feedback_light_selection == 0x01){
    7dfe:	082b      	bt      	0x7e54	// 7e54 <Contol_Switch_Light_2+0x3a0>
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7e00:	3006      	movi      	r0, 6
    7e02:	e00001e1 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7e06:	3102      	movi      	r1, 2
    7e08:	3007      	movi      	r0, 7
    7e0a:	e00001dd 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7e0e:	3102      	movi      	r1, 2
    7e10:	3008      	movi      	r0, 8
    7e12:	e00001d9 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7e16:	3102      	movi      	r1, 2
    7e18:	3009      	movi      	r0, 9
    7e1a:	e00001d5 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7e1e:	3102      	movi      	r1, 2
    7e20:	300a      	movi      	r0, 10
    7e22:	e00001d1 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.autoOff_light_flag == 0x01){
    7e26:	8461      	ld.b      	r3, (r4, 0x1)
    7e28:	3b41      	cmpnei      	r3, 1
    7e2a:	0b90      	bt      	0x7d4a	// 7d4a <Contol_Switch_Light_2+0x296>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7e2c:	3102      	movi      	r1, 2
    7e2e:	300b      	movi      	r0, 11
    7e30:	e00001ca 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7e34:	3102      	movi      	r1, 2
    7e36:	300c      	movi      	r0, 12
    7e38:	e00001c6 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7e3c:	3102      	movi      	r1, 2
    7e3e:	300d      	movi      	r0, 13
    7e40:	e00001c2 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7e44:	3102      	movi      	r1, 2
    7e46:	300e      	movi      	r0, 14
    7e48:	075d      	br      	0x7d02	// 7d02 <Contol_Switch_Light_2+0x24e>
    7e4a:	0000      	bkpt
    7e4c:	200005a4 	.long	0x200005a4
    7e50:	200000c0 	.long	0x200000c0
					TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7e54:	300b      	movi      	r0, 11
    7e56:	e00001b7 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7e5a:	3102      	movi      	r1, 2
    7e5c:	300c      	movi      	r0, 12
    7e5e:	e00001b3 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7e62:	3102      	movi      	r1, 2
    7e64:	300d      	movi      	r0, 13
    7e66:	e00001af 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7e6a:	3102      	movi      	r1, 2
    7e6c:	300e      	movi      	r0, 14
    7e6e:	e00001ab 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
					TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7e72:	3102      	movi      	r1, 2
    7e74:	300f      	movi      	r0, 15
    7e76:	e00001a7 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                    if(g_switch.autoOff_light_flag == 0x01){
    7e7a:	8461      	ld.b      	r3, (r4, 0x1)
    7e7c:	3b41      	cmpnei      	r3, 1
    7e7e:	0b66      	bt      	0x7d4a	// 7d4a <Contol_Switch_Light_2+0x296>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7e80:	3102      	movi      	r1, 2
    7e82:	3006      	movi      	r0, 6
    7e84:	e00001a0 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7e88:	3102      	movi      	r1, 2
    7e8a:	3007      	movi      	r0, 7
    7e8c:	e000019c 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7e90:	3102      	movi      	r1, 2
    7e92:	3008      	movi      	r0, 8
    7e94:	e0000198 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7e98:	3102      	movi      	r1, 2
    7e9a:	3009      	movi      	r0, 9
    7e9c:	0789      	br      	0x7dae	// 7dae <Contol_Switch_Light_2+0x2fa>

Disassembly of section .text.Contol_Switch_ClickAction:

00007ea0 <Contol_Switch_ClickAction>:

void Contol_Switch_ClickAction(uint8_t ch,uint8_t state)
{
    7ea0:	14d0      	push      	r15
	switch(ch)
    7ea2:	3804      	cmphsi      	r0, 5
    7ea4:	0809      	bt      	0x7eb6	// 7eb6 <Contol_Switch_ClickAction+0x16>
		case T_CH1:
		case T_CH2:
		case T_CH3:
		case T_CH4:
		case T_CH5:
			if(g_switch.light_state[T_Backlight] == Control_ON){
    7ea6:	1068      	lrw      	r3, 0x200005a4	// 7ec4 <Contol_Switch_ClickAction+0x24>
    7ea8:	836a      	ld.b      	r3, (r3, 0xa)
    7eaa:	3b41      	cmpnei      	r3, 1
    7eac:	0806      	bt      	0x7eb8	// 7eb8 <Contol_Switch_ClickAction+0x18>
				if(state == Control_ON ){
    7eae:	3941      	cmpnei      	r1, 1
    7eb0:	0804      	bt      	0x7eb8	// 7eb8 <Contol_Switch_ClickAction+0x18>
					Contol_Switch_Light_2(ch,Control_ON);						
    7eb2:	e3fffe01 	bsr      	0x7ab4	// 7ab4 <Contol_Switch_Light_2>
		break;
		default:
		
		break;
	}
}
    7eb6:	1490      	pop      	r15
			if(state == Control_OFF ){
    7eb8:	3942      	cmpnei      	r1, 2
    7eba:	0bfe      	bt      	0x7eb6	// 7eb6 <Contol_Switch_ClickAction+0x16>
					Contol_Switch_Light(ch,Control_OFF);
    7ebc:	e3fffc06 	bsr      	0x76c8	// 76c8 <Contol_Switch_Light>
}
    7ec0:	07fb      	br      	0x7eb6	// 7eb6 <Contol_Switch_ClickAction+0x16>
    7ec2:	0000      	bkpt
    7ec4:	200005a4 	.long	0x200005a4

Disassembly of section .text.Get_TM1812_State_Change:

00007ec8 <Get_TM1812_State_Change>:
	
	//TM1812 数据映射
	SIO_TXBUF_Send2();
}

U8_T Get_TM1812_State_Change(void){
    7ec8:	14c2      	push      	r4-r5
	
	U8_T i=0,rev = 0;
	if(tm1812_param.change_flag == 0x01) {
    7eca:	106f      	lrw      	r3, 0x200001a0	// 7f04 <Get_TM1812_State_Change+0x3c>
    7ecc:	8318      	ld.b      	r0, (r3, 0x18)
    7ece:	3841      	cmpnei      	r0, 1
    7ed0:	0c19      	bf      	0x7f02	// 7f02 <Get_TM1812_State_Change+0x3a>
    7ed2:	104e      	lrw      	r2, 0x20000140	// 7f08 <Get_TM1812_State_Change+0x40>
    7ed4:	3018      	movi      	r0, 24
    7ed6:	3300      	movi      	r3, 0
	for(i=0;i<CH_Num_Max;i++){
		if(tm1812_param.curr_data[i] != tm1812_param.data[i]){
			rev++;
		}
		
		if(tm1812_param.gradient_flag[i] == 0x01)	{
    7ed8:	3130      	movi      	r1, 48
		if(tm1812_param.curr_data[i] != tm1812_param.data[i]){
    7eda:	82b8      	ld.b      	r5, (r2, 0x18)
    7edc:	8280      	ld.b      	r4, (r2, 0x0)
    7ede:	6516      	cmpne      	r5, r4
    7ee0:	0c03      	bf      	0x7ee6	// 7ee6 <Get_TM1812_State_Change+0x1e>
			rev++;
    7ee2:	2300      	addi      	r3, 1
    7ee4:	74cc      	zextb      	r3, r3
		if(tm1812_param.gradient_flag[i] == 0x01)	{
    7ee6:	5a84      	addu      	r4, r2, r1
    7ee8:	8480      	ld.b      	r4, (r4, 0x0)
    7eea:	3c41      	cmpnei      	r4, 1
    7eec:	0803      	bt      	0x7ef2	// 7ef2 <Get_TM1812_State_Change+0x2a>
			rev++;
    7eee:	2300      	addi      	r3, 1
    7ef0:	74cc      	zextb      	r3, r3
    7ef2:	2800      	subi      	r0, 1
    7ef4:	7400      	zextb      	r0, r0
	for(i=0;i<CH_Num_Max;i++){
    7ef6:	3840      	cmpnei      	r0, 0
    7ef8:	2200      	addi      	r2, 1
    7efa:	0bf0      	bt      	0x7eda	// 7eda <Get_TM1812_State_Change+0x12>
		}
	}
	
	if(rev != 0x00)	return 0x01;
    7efc:	3b40      	cmpnei      	r3, 0
    7efe:	6001      	addc      	r0, r0
		return 0x01;		//立即控制
    7f00:	7400      	zextb      	r0, r0
	return 0x00;
}
    7f02:	1482      	pop      	r4-r5
    7f04:	200001a0 	.long	0x200001a0
    7f08:	20000140 	.long	0x20000140

Disassembly of section .text.TimeCall_SIO_Send:

00007f0c <TimeCall_SIO_Send>:
	}
}

/*定时器 — 2ms 调用*/
volatile U8_T K=0;
void TimeCall_SIO_Send(void){
    7f0c:	14d4      	push      	r4-r7, r15
    7f0e:	1421      	subi      	r14, r14, 4
    7f10:	1264      	lrw      	r3, 0x20000140	// 8020 <TimeCall_SIO_Send+0x114>
    7f12:	3188      	movi      	r1, 136
    7f14:	3260      	movi      	r2, 96
    7f16:	604c      	addu      	r1, r3
    7f18:	608c      	addu      	r2, r3
    7f1a:	3718      	movi      	r7, 24
    7f1c:	b860      	st.w      	r3, (r14, 0x0)
	
	U8_T i=0,j=0;
	U32_T val = 0;
	for(i=0;i<CH_Num_Max;i++){
		
		if(tm1812_param.gradient_flag[i] == 0x01)//呼吸灯
    7f1e:	3030      	movi      	r0, 48
    7f20:	600c      	addu      	r0, r3
    7f22:	8000      	ld.b      	r0, (r0, 0x0)
    7f24:	3841      	cmpnei      	r0, 1
    7f26:	8318      	ld.b      	r0, (r3, 0x18)
    7f28:	084c      	bt      	0x7fc0	// 7fc0 <TimeCall_SIO_Send+0xb4>
    7f2a:	3448      	movi      	r4, 72
    7f2c:	610c      	addu      	r4, r3
		{
			if(tm1812_param.gradient_dir[i] == 0x01){
    7f2e:	84a0      	ld.b      	r5, (r4, 0x0)
    7f30:	3d41      	cmpnei      	r5, 1
				if(tm1812_param.curr_data[i] < TM1812_CH_ON){
    7f32:	7400      	zextb      	r0, r0
			if(tm1812_param.gradient_dir[i] == 0x01){
    7f34:	083a      	bt      	0x7fa8	// 7fa8 <TimeCall_SIO_Send+0x9c>
				if(tm1812_param.curr_data[i] < TM1812_CH_ON){
    7f36:	35ff      	movi      	r5, 255
    7f38:	6542      	cmpne      	r0, r5
    7f3a:	0c34      	bf      	0x7fa2	// 7fa2 <TimeCall_SIO_Send+0x96>
					//递增
					tm1812_param.gradient_cnt[i]++;
    7f3c:	8280      	ld.b      	r4, (r2, 0x0)
    7f3e:	2400      	addi      	r4, 1
    7f40:	7510      	zextb      	r4, r4
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    7f42:	3c40      	cmpnei      	r4, 0
					tm1812_param.gradient_cnt[i]++;
    7f44:	a280      	st.b      	r4, (r2, 0x0)
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    7f46:	0c05      	bf      	0x7f50	// 7f50 <TimeCall_SIO_Send+0x44>
						tm1812_param.curr_data[i]++;
    7f48:	2000      	addi      	r0, 1
				//递减
				if(tm1812_param.curr_data[i] > TM1812_CH_OFF){
					
					tm1812_param.gradient_cnt[i]++;
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
						tm1812_param.curr_data[i]--;
    7f4a:	a318      	st.b      	r0, (r3, 0x18)
						tm1812_param.gradient_cnt[i] = 0x00;
    7f4c:	3000      	movi      	r0, 0
    7f4e:	a200      	st.b      	r0, (r2, 0x0)
					tm1812_param.curr_data[i] = tm1812_param.data[i];
				}
			}
		}
		
		tm1812_param.write_buff[i] = 0x00;
    7f50:	3000      	movi      	r0, 0
    7f52:	b100      	st.w      	r0, (r1, 0x0)
		val = tm1812_param.curr_data[i];
    7f54:	83b8      	ld.b      	r5, (r3, 0x18)
		for(j=0;j<8;j++){
			if(val & 0x80){
    7f56:	3480      	movi      	r4, 128
    7f58:	6914      	and      	r4, r5
    7f5a:	3c40      	cmpnei      	r4, 0
    7f5c:	9180      	ld.w      	r4, (r1, 0x0)
    7f5e:	0c44      	bf      	0x7fe6	// 7fe6 <TimeCall_SIO_Send+0xda>
				tm1812_param.write_buff[i] |= TX_DH << (j*2);
    7f60:	3603      	movi      	r6, 3
			}else{
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    7f62:	7180      	lsl      	r6, r0
    7f64:	2001      	addi      	r0, 2
    7f66:	6d18      	or      	r4, r6
		for(j=0;j<8;j++){
    7f68:	3850      	cmpnei      	r0, 16
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    7f6a:	b180      	st.w      	r4, (r1, 0x0)
			}
			val <<= 0x01;
    7f6c:	45a1      	lsli      	r5, r5, 1
		for(j=0;j<8;j++){
    7f6e:	0bf4      	bt      	0x7f56	// 7f56 <TimeCall_SIO_Send+0x4a>
    7f70:	5f03      	subi      	r0, r7, 1
    7f72:	75c0      	zextb      	r7, r0
	for(i=0;i<CH_Num_Max;i++){
    7f74:	3f40      	cmpnei      	r7, 0
    7f76:	2300      	addi      	r3, 1
    7f78:	2103      	addi      	r1, 4
    7f7a:	2200      	addi      	r2, 1
    7f7c:	0bd1      	bt      	0x7f1e	// 7f1e <TimeCall_SIO_Send+0x12>
	
//	SIO0->TXBUF = tm1812_param.write_buff[0];
//	tm1812_param.write_cnt=0x01;
//	INTC_ISER_WRITE(SIO_INT);
				
	CK_CPU_DisAllNormalIrq();					//开启中断
    7f7e:	e3fff12c 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
	
	for(K=0;K<CH_Num_Max;K++)
    7f82:	3200      	movi      	r2, 0
    7f84:	1168      	lrw      	r3, 0x20000220	// 8024 <TimeCall_SIO_Send+0x118>
    7f86:	a348      	st.b      	r2, (r3, 0x8)
	{
		SIO0->TXBUF = tm1812_param.write_buff[K];
    7f88:	3022      	movi      	r0, 34
    7f8a:	1148      	lrw      	r2, 0x2000002c	// 8028 <TimeCall_SIO_Send+0x11c>
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    7f8c:	3404      	movi      	r4, 4
		SIO0->TXBUF = tm1812_param.write_buff[K];
    7f8e:	9240      	ld.w      	r2, (r2, 0x0)
		SIO0->ICR &= ~SIO_TXBUFEMPT;
		while(!(SIO0->RISR & SIO_TXDNE));
    7f90:	3501      	movi      	r5, 1
	for(K=0;K<CH_Num_Max;K++)
    7f92:	8328      	ld.b      	r1, (r3, 0x8)
    7f94:	7444      	zextb      	r1, r1
    7f96:	3917      	cmphsi      	r1, 24
    7f98:	0c29      	bf      	0x7fea	// 7fea <TimeCall_SIO_Send+0xde>
		SIO0->ICR &= ~SIO_TXDNE;
	}

	CK_CPU_EnAllNormalIrq();
    7f9a:	e3fff11b 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	
}
    7f9e:	1401      	addi      	r14, r14, 4
    7fa0:	1494      	pop      	r4-r7, r15
					tm1812_param.gradient_dir[i] = 0x00;
    7fa2:	3000      	movi      	r0, 0
					tm1812_param.gradient_dir[i] = 0x01;
    7fa4:	a400      	st.b      	r0, (r4, 0x0)
    7fa6:	07d5      	br      	0x7f50	// 7f50 <TimeCall_SIO_Send+0x44>
				if(tm1812_param.curr_data[i] > TM1812_CH_OFF){
    7fa8:	3840      	cmpnei      	r0, 0
    7faa:	0c09      	bf      	0x7fbc	// 7fbc <TimeCall_SIO_Send+0xb0>
					tm1812_param.gradient_cnt[i]++;
    7fac:	8280      	ld.b      	r4, (r2, 0x0)
    7fae:	2400      	addi      	r4, 1
    7fb0:	7510      	zextb      	r4, r4
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    7fb2:	3c40      	cmpnei      	r4, 0
					tm1812_param.gradient_cnt[i]++;
    7fb4:	a280      	st.b      	r4, (r2, 0x0)
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    7fb6:	0fcd      	bf      	0x7f50	// 7f50 <TimeCall_SIO_Send+0x44>
						tm1812_param.curr_data[i]--;
    7fb8:	2800      	subi      	r0, 1
    7fba:	07c8      	br      	0x7f4a	// 7f4a <TimeCall_SIO_Send+0x3e>
					tm1812_param.gradient_dir[i] = 0x01;
    7fbc:	3001      	movi      	r0, 1
    7fbe:	07f3      	br      	0x7fa4	// 7fa4 <TimeCall_SIO_Send+0x98>
			if(tm1812_param.curr_data[i] < tm1812_param.data[i]){
    7fc0:	7400      	zextb      	r0, r0
    7fc2:	8380      	ld.b      	r4, (r3, 0x0)
    7fc4:	6500      	cmphs      	r0, r4
    7fc6:	0807      	bt      	0x7fd4	// 7fd4 <TimeCall_SIO_Send+0xc8>
				if(tm1812_param.data[i] - tm1812_param.curr_data[i] > TM1812_CH_Transform){
    7fc8:	5ca1      	subu      	r5, r4, r0
    7fca:	3d24      	cmplti      	r5, 5
    7fcc:	080b      	bt      	0x7fe2	// 7fe2 <TimeCall_SIO_Send+0xd6>
					tm1812_param.curr_data[i] += TM1812_CH_Transform;	
    7fce:	2003      	addi      	r0, 4
					tm1812_param.curr_data[i] -= TM1812_CH_Transform;	
    7fd0:	a318      	st.b      	r0, (r3, 0x18)
    7fd2:	07bf      	br      	0x7f50	// 7f50 <TimeCall_SIO_Send+0x44>
			}else if( tm1812_param.curr_data[i] > tm1812_param.data[i]){
    7fd4:	6410      	cmphs      	r4, r0
    7fd6:	0bbd      	bt      	0x7f50	// 7f50 <TimeCall_SIO_Send+0x44>
				if(tm1812_param.curr_data[i] - tm1812_param.data[i] > TM1812_CH_Transform){
    7fd8:	58b1      	subu      	r5, r0, r4
    7fda:	3d24      	cmplti      	r5, 5
    7fdc:	0803      	bt      	0x7fe2	// 7fe2 <TimeCall_SIO_Send+0xd6>
					tm1812_param.curr_data[i] -= TM1812_CH_Transform;	
    7fde:	2803      	subi      	r0, 4
    7fe0:	07f8      	br      	0x7fd0	// 7fd0 <TimeCall_SIO_Send+0xc4>
					tm1812_param.curr_data[i] = tm1812_param.data[i];
    7fe2:	a398      	st.b      	r4, (r3, 0x18)
    7fe4:	07b6      	br      	0x7f50	// 7f50 <TimeCall_SIO_Send+0x44>
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    7fe6:	3602      	movi      	r6, 2
    7fe8:	07bd      	br      	0x7f62	// 7f62 <TimeCall_SIO_Send+0x56>
		SIO0->TXBUF = tm1812_param.write_buff[K];
    7fea:	8328      	ld.b      	r1, (r3, 0x8)
    7fec:	6040      	addu      	r1, r0
    7fee:	4122      	lsli      	r1, r1, 2
    7ff0:	98c0      	ld.w      	r6, (r14, 0x0)
    7ff2:	6058      	addu      	r1, r6
    7ff4:	9120      	ld.w      	r1, (r1, 0x0)
    7ff6:	b223      	st.w      	r1, (r2, 0xc)
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    7ff8:	9228      	ld.w      	r1, (r2, 0x20)
    7ffa:	6850      	and      	r1, r4
    7ffc:	3940      	cmpnei      	r1, 0
    7ffe:	0ffd      	bf      	0x7ff8	// 7ff8 <TimeCall_SIO_Send+0xec>
		SIO0->ICR &= ~SIO_TXBUFEMPT;
    8000:	922b      	ld.w      	r1, (r2, 0x2c)
    8002:	3982      	bclri      	r1, 2
    8004:	b22b      	st.w      	r1, (r2, 0x2c)
		while(!(SIO0->RISR & SIO_TXDNE));
    8006:	9228      	ld.w      	r1, (r2, 0x20)
    8008:	6854      	and      	r1, r5
    800a:	3940      	cmpnei      	r1, 0
    800c:	0ffd      	bf      	0x8006	// 8006 <TimeCall_SIO_Send+0xfa>
		SIO0->ICR &= ~SIO_TXDNE;
    800e:	922b      	ld.w      	r1, (r2, 0x2c)
    8010:	3980      	bclri      	r1, 0
    8012:	b22b      	st.w      	r1, (r2, 0x2c)
	for(K=0;K<CH_Num_Max;K++)
    8014:	8328      	ld.b      	r1, (r3, 0x8)
    8016:	2100      	addi      	r1, 1
    8018:	7444      	zextb      	r1, r1
    801a:	a328      	st.b      	r1, (r3, 0x8)
    801c:	07bb      	br      	0x7f92	// 7f92 <TimeCall_SIO_Send+0x86>
    801e:	0000      	bkpt
    8020:	20000140 	.long	0x20000140
    8024:	20000220 	.long	0x20000220
    8028:	2000002c 	.long	0x2000002c

Disassembly of section .text.TimeCall_SIO_Send2:

0000802c <TimeCall_SIO_Send2>:

volatile U8_T K2=0;
void TimeCall_SIO_Send2(void){
    802c:	14d4      	push      	r4-r7, r15
    802e:	1421      	subi      	r14, r14, 4
    8030:	1105      	lrw      	r0, 0x20000140	// 80c4 <TimeCall_SIO_Send2+0x98>
    8032:	1166      	lrw      	r3, 0x200001c8	// 80c8 <TimeCall_SIO_Send2+0x9c>
    8034:	3218      	movi      	r2, 24
    8036:	b800      	st.w      	r0, (r14, 0x0)
	
	U8_T i=0,j=0;
	U32_T val = 0;
	for(i=0;i<CH_Num_Max;i++){
		
		tm1812_param.write_buff[i] = 0x00;
    8038:	3100      	movi      	r1, 0
    803a:	b320      	st.w      	r1, (r3, 0x0)
		val = tm1812_param.curr_data[i];
    803c:	80b8      	ld.b      	r5, (r0, 0x18)
		for(j=0;j<8;j++){
			if(val & 0x80){
				tm1812_param.write_buff[i] |= TX_DH << (j*2);
    803e:	3703      	movi      	r7, 3
			if(val & 0x80){
    8040:	3480      	movi      	r4, 128
    8042:	6914      	and      	r4, r5
    8044:	3c40      	cmpnei      	r4, 0
    8046:	9380      	ld.w      	r4, (r3, 0x0)
    8048:	0c21      	bf      	0x808a	// 808a <TimeCall_SIO_Send2+0x5e>
				tm1812_param.write_buff[i] |= TX_DH << (j*2);
    804a:	6d9f      	mov      	r6, r7
			}else{
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    804c:	7184      	lsl      	r6, r1
    804e:	2101      	addi      	r1, 2
    8050:	6d18      	or      	r4, r6
		for(j=0;j<8;j++){
    8052:	3950      	cmpnei      	r1, 16
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    8054:	b380      	st.w      	r4, (r3, 0x0)
			}
			val <<= 0x01;
    8056:	45a1      	lsli      	r5, r5, 1
		for(j=0;j<8;j++){
    8058:	0bf4      	bt      	0x8040	// 8040 <TimeCall_SIO_Send2+0x14>
    805a:	2a00      	subi      	r2, 1
    805c:	7488      	zextb      	r2, r2
	for(i=0;i<CH_Num_Max;i++){
    805e:	3a40      	cmpnei      	r2, 0
    8060:	2303      	addi      	r3, 4
    8062:	2000      	addi      	r0, 1
    8064:	0bea      	bt      	0x8038	// 8038 <TimeCall_SIO_Send2+0xc>
		}
	}

	CK_CPU_DisAllNormalIrq();					//开启中断
    8066:	e3fff0b8 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
	
	for(K2=0;K2<CH_Num_Max;K2++)
    806a:	3200      	movi      	r2, 0
    806c:	1078      	lrw      	r3, 0x20000220	// 80cc <TimeCall_SIO_Send2+0xa0>
    806e:	a349      	st.b      	r2, (r3, 0x9)
	{
		SIO0->TXBUF = tm1812_param.write_buff[K2];
    8070:	3022      	movi      	r0, 34
    8072:	1058      	lrw      	r2, 0x2000002c	// 80d0 <TimeCall_SIO_Send2+0xa4>
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    8074:	3404      	movi      	r4, 4
		SIO0->TXBUF = tm1812_param.write_buff[K2];
    8076:	9240      	ld.w      	r2, (r2, 0x0)
		SIO0->ICR &= ~SIO_TXBUFEMPT;
		while(!(SIO0->RISR & SIO_TXDNE));
    8078:	3501      	movi      	r5, 1
	for(K2=0;K2<CH_Num_Max;K2++)
    807a:	8329      	ld.b      	r1, (r3, 0x9)
    807c:	7444      	zextb      	r1, r1
    807e:	3917      	cmphsi      	r1, 24
    8080:	0c07      	bf      	0x808e	// 808e <TimeCall_SIO_Send2+0x62>
		SIO0->ICR &= ~SIO_TXDNE;
	}

	CK_CPU_EnAllNormalIrq();
    8082:	e3fff0a7 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	
}
    8086:	1401      	addi      	r14, r14, 4
    8088:	1494      	pop      	r4-r7, r15
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    808a:	3602      	movi      	r6, 2
    808c:	07e0      	br      	0x804c	// 804c <TimeCall_SIO_Send2+0x20>
		SIO0->TXBUF = tm1812_param.write_buff[K2];
    808e:	8329      	ld.b      	r1, (r3, 0x9)
    8090:	6040      	addu      	r1, r0
    8092:	4122      	lsli      	r1, r1, 2
    8094:	98c0      	ld.w      	r6, (r14, 0x0)
    8096:	6058      	addu      	r1, r6
    8098:	9120      	ld.w      	r1, (r1, 0x0)
    809a:	b223      	st.w      	r1, (r2, 0xc)
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    809c:	9228      	ld.w      	r1, (r2, 0x20)
    809e:	6850      	and      	r1, r4
    80a0:	3940      	cmpnei      	r1, 0
    80a2:	0ffd      	bf      	0x809c	// 809c <TimeCall_SIO_Send2+0x70>
		SIO0->ICR &= ~SIO_TXBUFEMPT;
    80a4:	922b      	ld.w      	r1, (r2, 0x2c)
    80a6:	3982      	bclri      	r1, 2
    80a8:	b22b      	st.w      	r1, (r2, 0x2c)
		while(!(SIO0->RISR & SIO_TXDNE));
    80aa:	9228      	ld.w      	r1, (r2, 0x20)
    80ac:	6854      	and      	r1, r5
    80ae:	3940      	cmpnei      	r1, 0
    80b0:	0ffd      	bf      	0x80aa	// 80aa <TimeCall_SIO_Send2+0x7e>
		SIO0->ICR &= ~SIO_TXDNE;
    80b2:	922b      	ld.w      	r1, (r2, 0x2c)
    80b4:	3980      	bclri      	r1, 0
    80b6:	b22b      	st.w      	r1, (r2, 0x2c)
	for(K2=0;K2<CH_Num_Max;K2++)
    80b8:	8329      	ld.b      	r1, (r3, 0x9)
    80ba:	2100      	addi      	r1, 1
    80bc:	7444      	zextb      	r1, r1
    80be:	a329      	st.b      	r1, (r3, 0x9)
    80c0:	07dd      	br      	0x807a	// 807a <TimeCall_SIO_Send2+0x4e>
    80c2:	0000      	bkpt
    80c4:	20000140 	.long	0x20000140
    80c8:	200001c8 	.long	0x200001c8
    80cc:	20000220 	.long	0x20000220
    80d0:	2000002c 	.long	0x2000002c

Disassembly of section .text.Tm1812_Task:

000080d4 <Tm1812_Task>:


void Tm1812_Task(void) {
    80d4:	14d0      	push      	r15

	static U32_T StateChange_Tick = 0;
	
	if(Get_TM1812_State_Change() == 0x01){
    80d6:	e3fffef9 	bsr      	0x7ec8	// 7ec8 <Get_TM1812_State_Change>
    80da:	3841      	cmpnei      	r0, 1
    80dc:	1070      	lrw      	r3, 0x200001c0	// 811c <Tm1812_Task+0x48>
    80de:	0812      	bt      	0x8102	// 8102 <Tm1812_Task+0x2e>
		if(SysTick_100us - StateChange_Tick >= 20){
    80e0:	1030      	lrw      	r1, 0x200000bc	// 8120 <Tm1812_Task+0x4c>
    80e2:	9140      	ld.w      	r2, (r1, 0x0)
    80e4:	931b      	ld.w      	r0, (r3, 0x6c)
    80e6:	6082      	subu      	r2, r0
    80e8:	3a13      	cmphsi      	r2, 20
    80ea:	0c0b      	bf      	0x8100	// 8100 <Tm1812_Task+0x2c>
			StateChange_Tick = SysTick_100us;
    80ec:	9140      	ld.w      	r2, (r1, 0x0)
    80ee:	b35b      	st.w      	r2, (r3, 0x6c)
			tm1812_param.regular_tick = SysTick_1ms;
    80f0:	104d      	lrw      	r2, 0x200000c0	// 8124 <Tm1812_Task+0x50>
    80f2:	9240      	ld.w      	r2, (r2, 0x0)
    80f4:	b341      	st.w      	r2, (r3, 0x4)
			tm1812_param.change_flag = 0x00;
    80f6:	106d      	lrw      	r3, 0x200001a0	// 8128 <Tm1812_Task+0x54>
    80f8:	3200      	movi      	r2, 0
    80fa:	a358      	st.b      	r2, (r3, 0x18)
		/*定期更新一下背光状态*/
		if(SysTick_1ms - tm1812_param.regular_tick >= 2000){
			StateChange_Tick = SysTick_100us;
			tm1812_param.regular_tick = SysTick_1ms;
			
            TimeCall_SIO_Send();
    80fc:	e3ffff08 	bsr      	0x7f0c	// 7f0c <TimeCall_SIO_Send>
        }
	}
	
}
    8100:	1490      	pop      	r15
		if(SysTick_1ms - tm1812_param.regular_tick >= 2000){
    8102:	1029      	lrw      	r1, 0x200000c0	// 8124 <Tm1812_Task+0x50>
    8104:	9140      	ld.w      	r2, (r1, 0x0)
    8106:	9301      	ld.w      	r0, (r3, 0x4)
    8108:	6082      	subu      	r2, r0
    810a:	1009      	lrw      	r0, 0x7cf	// 812c <Tm1812_Task+0x58>
    810c:	6480      	cmphs      	r0, r2
    810e:	0bf9      	bt      	0x8100	// 8100 <Tm1812_Task+0x2c>
			StateChange_Tick = SysTick_100us;
    8110:	1044      	lrw      	r2, 0x200000bc	// 8120 <Tm1812_Task+0x4c>
    8112:	9240      	ld.w      	r2, (r2, 0x0)
    8114:	b35b      	st.w      	r2, (r3, 0x6c)
			tm1812_param.regular_tick = SysTick_1ms;
    8116:	9140      	ld.w      	r2, (r1, 0x0)
    8118:	b341      	st.w      	r2, (r3, 0x4)
    811a:	07f1      	br      	0x80fc	// 80fc <Tm1812_Task+0x28>
    811c:	200001c0 	.long	0x200001c0
    8120:	200000bc 	.long	0x200000bc
    8124:	200000c0 	.long	0x200000c0
    8128:	200001a0 	.long	0x200001a0
    812c:	000007cf 	.long	0x000007cf

Disassembly of section .text.Tm1812_Ch_Insert_Data:

00008130 <Tm1812_Ch_Insert_Data>:


void Tm1812_Ch_Insert_Data(U8_T select,U8_T data) {
    if(select>=CH_Num_Max) {  //防止出错输入通道
    8130:	3817      	cmphsi      	r0, 24
    8132:	080c      	bt      	0x814a	// 814a <Tm1812_Ch_Insert_Data+0x1a>
        return;
    } 

    tm1812_param.data[select] = data;
    8134:	1066      	lrw      	r3, 0x20000140	// 814c <Tm1812_Ch_Insert_Data+0x1c>
    8136:	600c      	addu      	r0, r3
    tm1812_param.change_flag = 0x01;
    8138:	3260      	movi      	r2, 96
    813a:	608c      	addu      	r2, r3
    tm1812_param.data[select] = data;
    813c:	a020      	st.b      	r1, (r0, 0x0)
    tm1812_param.change_flag = 0x01;
    813e:	3101      	movi      	r1, 1
    8140:	a238      	st.b      	r1, (r2, 0x18)
	tm1812_param.write_data_tick = SysTick_1ms;
    8142:	237f      	addi      	r3, 128
    8144:	1043      	lrw      	r2, 0x200000c0	// 8150 <Tm1812_Ch_Insert_Data+0x20>
    8146:	9240      	ld.w      	r2, (r2, 0x0)
    8148:	b340      	st.w      	r2, (r3, 0x0)
}
    814a:	783c      	jmp      	r15
    814c:	20000140 	.long	0x20000140
    8150:	200000c0 	.long	0x200000c0

Disassembly of section .text.TM1812_Control_CH_State:

00008154 <TM1812_Control_CH_State>:

U8_T TM1812_Control_CH_State(U8_T ch,U8_T state)
{
    8154:	14d0      	push      	r15
	if(ch>=CH_Num_Max) {  //防止出错输入通道
    8156:	3817      	cmphsi      	r0, 24
    8158:	082a      	bt      	0x81ac	// 81ac <TM1812_Control_CH_State+0x58>
        return 0x01;
    } 
	
	switch(state){
    815a:	3942      	cmpnei      	r1, 2
    815c:	0c12      	bf      	0x8180	// 8180 <TM1812_Control_CH_State+0x2c>
    815e:	3943      	cmpnei      	r1, 3
    8160:	0c14      	bf      	0x8188	// 8188 <TM1812_Control_CH_State+0x34>
    8162:	3941      	cmpnei      	r1, 1
    8164:	0806      	bt      	0x8170	// 8170 <TM1812_Control_CH_State+0x1c>
		case 0x01:
			tm1812_param.data[ch] = TM1812_CH_ON;
    8166:	1073      	lrw      	r3, 0x20000140	// 81b0 <TM1812_Control_CH_State+0x5c>
    8168:	600c      	addu      	r0, r3
    816a:	3300      	movi      	r3, 0
    816c:	2b00      	subi      	r3, 1
			break;
		case 0x02:
			tm1812_param.data[ch] = TM1812_CH_OFF;
    816e:	a060      	st.b      	r3, (r0, 0x0)
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
			}
			break;
	}
	
    tm1812_param.change_flag = 0x01;
    8170:	1071      	lrw      	r3, 0x200001a0	// 81b4 <TM1812_Control_CH_State+0x60>
    8172:	3201      	movi      	r2, 1
    8174:	a358      	st.b      	r2, (r3, 0x18)
	tm1812_param.write_data_tick = SysTick_1ms;
	
	return 0;
    8176:	3000      	movi      	r0, 0
	tm1812_param.write_data_tick = SysTick_1ms;
    8178:	1050      	lrw      	r2, 0x200000c0	// 81b8 <TM1812_Control_CH_State+0x64>
    817a:	9240      	ld.w      	r2, (r2, 0x0)
    817c:	b348      	st.w      	r2, (r3, 0x20)
}
    817e:	1490      	pop      	r15
			tm1812_param.data[ch] = TM1812_CH_OFF;
    8180:	106c      	lrw      	r3, 0x20000140	// 81b0 <TM1812_Control_CH_State+0x5c>
    8182:	600c      	addu      	r0, r3
    8184:	3300      	movi      	r3, 0
    8186:	07f4      	br      	0x816e	// 816e <TM1812_Control_CH_State+0x1a>
			if(tm1812_param.data[ch] != TM1812_CH_ON){
    8188:	106a      	lrw      	r3, 0x20000140	// 81b0 <TM1812_Control_CH_State+0x5c>
    818a:	600c      	addu      	r0, r3
    818c:	8020      	ld.b      	r1, (r0, 0x0)
    818e:	32ff      	movi      	r2, 255
    8190:	3300      	movi      	r3, 0
    8192:	6486      	cmpne      	r1, r2
    8194:	2b00      	subi      	r3, 1
    8196:	0c07      	bf      	0x81a4	// 81a4 <TM1812_Control_CH_State+0x50>
				tm1812_param.data[ch] = TM1812_CH_ON;
    8198:	a060      	st.b      	r3, (r0, 0x0)
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_ON !");
    819a:	1029      	lrw      	r1, 0xce21	// 81bc <TM1812_Control_CH_State+0x68>
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
    819c:	3000      	movi      	r0, 0
    819e:	e3fff24f 	bsr      	0x663c	// 663c <Dbg_Println>
    81a2:	07e7      	br      	0x8170	// 8170 <TM1812_Control_CH_State+0x1c>
				tm1812_param.data[ch] = TM1812_CH_OFF;
    81a4:	3300      	movi      	r3, 0
    81a6:	a060      	st.b      	r3, (r0, 0x0)
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
    81a8:	1026      	lrw      	r1, 0xce29	// 81c0 <TM1812_Control_CH_State+0x6c>
    81aa:	07f9      	br      	0x819c	// 819c <TM1812_Control_CH_State+0x48>
        return 0x01;
    81ac:	3001      	movi      	r0, 1
    81ae:	07e8      	br      	0x817e	// 817e <TM1812_Control_CH_State+0x2a>
    81b0:	20000140 	.long	0x20000140
    81b4:	200001a0 	.long	0x200001a0
    81b8:	200000c0 	.long	0x200000c0
    81bc:	0000ce21 	.long	0x0000ce21
    81c0:	0000ce29 	.long	0x0000ce29

Disassembly of section .text.TM1812_Control_CH_CurrState:

000081c4 <TM1812_Control_CH_CurrState>:

/*不帶渐变效果控製*/
U8_T TM1812_Control_CH_CurrState(U8_T ch,U8_T state)
{
    81c4:	14c1      	push      	r4
	if(ch>=CH_Num_Max) {  //防止出错输入通道
    81c6:	3817      	cmphsi      	r0, 24
    81c8:	0827      	bt      	0x8216	// 8216 <TM1812_Control_CH_CurrState+0x52>
        return 0x01;
    } 
	
	switch(state){
    81ca:	3942      	cmpnei      	r1, 2
    81cc:	0c13      	bf      	0x81f2	// 81f2 <TM1812_Control_CH_CurrState+0x2e>
    81ce:	3943      	cmpnei      	r1, 3
    81d0:	0c15      	bf      	0x81fa	// 81fa <TM1812_Control_CH_CurrState+0x36>
    81d2:	3941      	cmpnei      	r1, 1
    81d4:	0807      	bt      	0x81e2	// 81e2 <TM1812_Control_CH_CurrState+0x1e>
		case 0x01:
			tm1812_param.curr_data[ch] = TM1812_CH_ON;
    81d6:	1072      	lrw      	r3, 0x20000140	// 821c <TM1812_Control_CH_CurrState+0x58>
    81d8:	600c      	addu      	r0, r3
    81da:	3300      	movi      	r3, 0
    81dc:	2b00      	subi      	r3, 1
			tm1812_param.data[ch] = TM1812_CH_ON;
			break;
		case 0x02:
			tm1812_param.curr_data[ch] = TM1812_CH_OFF;
    81de:	a078      	st.b      	r3, (r0, 0x18)
				tm1812_param.curr_data[ch] = TM1812_CH_ON;
				tm1812_param.data[ch] = TM1812_CH_ON;
				//Dbg_Println(DBG_BIT_SYS_STATUS,"CH_ON !");
			}else {
				tm1812_param.curr_data[ch] = TM1812_CH_OFF;
				tm1812_param.data[ch] = TM1812_CH_OFF;
    81e0:	a060      	st.b      	r3, (r0, 0x0)
				//Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
			}
			break;
	}
	
    tm1812_param.change_flag = 0x01;
    81e2:	1070      	lrw      	r3, 0x200001a0	// 8220 <TM1812_Control_CH_CurrState+0x5c>
    81e4:	3201      	movi      	r2, 1
    81e6:	a358      	st.b      	r2, (r3, 0x18)
	tm1812_param.write_data_tick = SysTick_1ms;
    81e8:	3000      	movi      	r0, 0
    81ea:	104f      	lrw      	r2, 0x200000c0	// 8224 <TM1812_Control_CH_CurrState+0x60>
    81ec:	9240      	ld.w      	r2, (r2, 0x0)
    81ee:	b348      	st.w      	r2, (r3, 0x20)
	
	return 0;
}
    81f0:	1481      	pop      	r4
			tm1812_param.curr_data[ch] = TM1812_CH_OFF;
    81f2:	106b      	lrw      	r3, 0x20000140	// 821c <TM1812_Control_CH_CurrState+0x58>
    81f4:	600c      	addu      	r0, r3
    81f6:	3300      	movi      	r3, 0
    81f8:	07f3      	br      	0x81de	// 81de <TM1812_Control_CH_CurrState+0x1a>
			if(tm1812_param.curr_data[ch] != TM1812_CH_ON){
    81fa:	1069      	lrw      	r3, 0x20000140	// 821c <TM1812_Control_CH_CurrState+0x58>
    81fc:	600c      	addu      	r0, r3
    81fe:	3218      	movi      	r2, 24
    8200:	6080      	addu      	r2, r0
    8202:	8280      	ld.b      	r4, (r2, 0x0)
    8204:	31ff      	movi      	r1, 255
    8206:	3300      	movi      	r3, 0
    8208:	6452      	cmpne      	r4, r1
    820a:	2b00      	subi      	r3, 1
    820c:	0c03      	bf      	0x8212	// 8212 <TM1812_Control_CH_CurrState+0x4e>
				tm1812_param.curr_data[ch] = TM1812_CH_OFF;
    820e:	a260      	st.b      	r3, (r2, 0x0)
    8210:	07e8      	br      	0x81e0	// 81e0 <TM1812_Control_CH_CurrState+0x1c>
    8212:	3300      	movi      	r3, 0
    8214:	07fd      	br      	0x820e	// 820e <TM1812_Control_CH_CurrState+0x4a>
        return 0x01;
    8216:	3001      	movi      	r0, 1
    8218:	07ec      	br      	0x81f0	// 81f0 <TM1812_Control_CH_CurrState+0x2c>
    821a:	0000      	bkpt
    821c:	20000140 	.long	0x20000140
    8220:	200001a0 	.long	0x200001a0
    8224:	200000c0 	.long	0x200000c0

Disassembly of section .text.TM1812_LED_Init:

00008228 <TM1812_LED_Init>:
void TM1812_LED_Init(void){
    8228:	14d0      	push      	r15
    822a:	1426      	subi      	r14, r14, 24
	SIO_DeInit();
    822c:	e3ffe466 	bsr      	0x4af8	// 4af8 <SIO_DeInit>
	SIO_IO_Init(SIO_PA03);			//配置IO为SIO模式
    8230:	3001      	movi      	r0, 1
    8232:	e3ffe473 	bsr      	0x4b18	// 4b18 <SIO_IO_Init>
	SIO_TX_Init(SIOCLK_EN,9);		//
    8236:	3109      	movi      	r1, 9
    8238:	3001      	movi      	r0, 1
    823a:	e3ffe49f 	bsr      	0x4b78	// 4b78 <SIO_TX_Init>
	SIO_TX_Configure(SIO_IDLE_LOW,SIO_TX_LSB,7,23,0,0,SIO_OBH_6BIT,SIO_OBL_6BIT,0x0F,0x03);
    823e:	3303      	movi      	r3, 3
    8240:	b865      	st.w      	r3, (r14, 0x14)
    8242:	330f      	movi      	r3, 15
    8244:	b864      	st.w      	r3, (r14, 0x10)
    8246:	33a0      	movi      	r3, 160
    8248:	4366      	lsli      	r3, r3, 6
    824a:	b863      	st.w      	r3, (r14, 0xc)
    824c:	33a0      	movi      	r3, 160
    824e:	4363      	lsli      	r3, r3, 3
    8250:	b862      	st.w      	r3, (r14, 0x8)
    8252:	3300      	movi      	r3, 0
    8254:	b861      	st.w      	r3, (r14, 0x4)
    8256:	b860      	st.w      	r3, (r14, 0x0)
    8258:	3207      	movi      	r2, 7
    825a:	3317      	movi      	r3, 23
    825c:	3100      	movi      	r1, 0
    825e:	3002      	movi      	r0, 2
    8260:	e3ffe494 	bsr      	0x4b88	// 4b88 <SIO_TX_Configure>
	memset(&tm1812_param,0,sizeof(TM1812_Param));
    8264:	32e8      	movi      	r2, 232
    8266:	3100      	movi      	r1, 0
    8268:	100a      	lrw      	r0, 0x20000140	// 8290 <TM1812_LED_Init+0x68>
    826a:	e3ffdf99 	bsr      	0x419c	// 419c <__memset_fast>
	RLY1_HOT_CLOSE;
    826e:	3101      	movi      	r1, 1
    8270:	3012      	movi      	r0, 18
    8272:	e3ffffa9 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
	RLY2_COLD_CLOSE;
    8276:	3101      	movi      	r1, 1
    8278:	3013      	movi      	r0, 19
    827a:	e3ffffa5 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
	RLY_CTRL_EN;		//继电器使能
    827e:	3101      	movi      	r1, 1
    8280:	3017      	movi      	r0, 23
    8282:	e3ffffa1 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
	TimeCall_SIO_Send2();
    8286:	e3fffed3 	bsr      	0x802c	// 802c <TimeCall_SIO_Send2>
}
    828a:	1406      	addi      	r14, r14, 24
    828c:	1490      	pop      	r15
    828e:	0000      	bkpt
    8290:	20000140 	.long	0x20000140

Disassembly of section .text.HT1621_WR_Data:

00008294 <HT1621_WR_Data>:
*函数功能：HT1621写数据
*参数说明：data -> 需要发送的数据
*         cnt -> 发送的数据位数
*/
void HT1621_WR_Data(U8_T data,U8_T cnt)
{
    8294:	14d4      	push      	r4-r7, r15
    8296:	6d43      	mov      	r5, r0
    8298:	6dc7      	mov      	r7, r1
    U8_T i=0;
    for(i=0;i<cnt;i++)
    829a:	3400      	movi      	r4, 0
    {
        HT1621_WR_LOW;
    829c:	10cf      	lrw      	r6, 0x2000004c	// 82d8 <HT1621_WR_Data+0x44>
    for(i=0;i<cnt;i++)
    829e:	65d2      	cmpne      	r4, r7
    82a0:	0802      	bt      	0x82a4	// 82a4 <HT1621_WR_Data+0x10>
        nop;
        HT1621_WR_HIGH;
        
        data<<=1;
    }
}
    82a2:	1494      	pop      	r4-r7, r15
        HT1621_WR_LOW;
    82a4:	3101      	movi      	r1, 1
    82a6:	9600      	ld.w      	r0, (r6, 0x0)
    82a8:	e3ffe3b0 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
        nop;
    82ac:	6c03      	mov      	r0, r0
        if((data&0x80) != 0x00)   {
    82ae:	74d6      	sextb      	r3, r5
    82b0:	3bdf      	btsti      	r3, 31
			HT1621_DATA_HIGH;
    82b2:	3104      	movi      	r1, 4
    82b4:	9600      	ld.w      	r0, (r6, 0x0)
        if((data&0x80) != 0x00)   {
    82b6:	0c0d      	bf      	0x82d0	// 82d0 <HT1621_WR_Data+0x3c>
			HT1621_DATA_HIGH;
    82b8:	e3ffe3a4 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
        nop;
    82bc:	6c03      	mov      	r0, r0
        HT1621_WR_HIGH;
    82be:	3101      	movi      	r1, 1
    82c0:	9600      	ld.w      	r0, (r6, 0x0)
        data<<=1;
    82c2:	45a1      	lsli      	r5, r5, 1
    for(i=0;i<cnt;i++)
    82c4:	2400      	addi      	r4, 1
        HT1621_WR_HIGH;
    82c6:	e3ffe39d 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
        data<<=1;
    82ca:	7554      	zextb      	r5, r5
    for(i=0;i<cnt;i++)
    82cc:	7510      	zextb      	r4, r4
    82ce:	07e8      	br      	0x829e	// 829e <HT1621_WR_Data+0xa>
			HT1621_DATA_LOW;
    82d0:	e3ffe39c 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
    82d4:	07f4      	br      	0x82bc	// 82bc <HT1621_WR_Data+0x28>
    82d6:	0000      	bkpt
    82d8:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT1621_WR_CMD:

000082dc <HT1621_WR_CMD>:
/*
*函数功能：HT1621命令写入函数
*参数说明：cmd -> 写入命令数据
*/
void HT1621_WR_CMD(U8_T cmd)
{
    82dc:	14d2      	push      	r4-r5, r15
    HT1621_CS_LOW;
    82de:	108b      	lrw      	r4, 0x2000004c	// 8308 <HT1621_WR_CMD+0x2c>
{
    82e0:	6d43      	mov      	r5, r0
    HT1621_CS_LOW;
    82e2:	310f      	movi      	r1, 15
    82e4:	9400      	ld.w      	r0, (r4, 0x0)
    82e6:	e3ffe391 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
    nop;
    82ea:	6c03      	mov      	r0, r0
    HT1621_WR_Data(HT1621_CMD_Flag,4);
    82ec:	3104      	movi      	r1, 4
    82ee:	3080      	movi      	r0, 128
    82f0:	e3ffffd2 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    HT1621_WR_Data(cmd,8); 
    82f4:	6c17      	mov      	r0, r5
    82f6:	3108      	movi      	r1, 8
    82f8:	e3ffffce 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    HT1621_CS_HIGH;
    82fc:	9400      	ld.w      	r0, (r4, 0x0)
    82fe:	310f      	movi      	r1, 15
    8300:	e3ffe380 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
    nop;
    8304:	6c03      	mov      	r0, r0
}
    8306:	1492      	pop      	r4-r5, r15
    8308:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT1621_Init:

0000830c <HT1621_Init>:
void HT1621_Init(void){
    830c:	14d1      	push      	r4, r15
	GPIO_Init(GPIOA0,0,Output);	
    830e:	118b      	lrw      	r4, 0x2000004c	// 83b8 <HT1621_Init+0xac>
	memset(&HT1621,0,sizeof(HT1621_t));
    8310:	3240      	movi      	r2, 64
    8312:	3100      	movi      	r1, 0
    8314:	110a      	lrw      	r0, 0x200005c0	// 83bc <HT1621_Init+0xb0>
    8316:	e3ffdf43 	bsr      	0x419c	// 419c <__memset_fast>
	GPIO_Init(GPIOA0,0,Output);	
    831a:	9400      	ld.w      	r0, (r4, 0x0)
    831c:	3200      	movi      	r2, 0
    831e:	3100      	movi      	r1, 0
    8320:	e3ffe1b4 	bsr      	0x4688	// 4688 <GPIO_Init>
	GPIO_Init(GPIOA0,1,Output);	
    8324:	9400      	ld.w      	r0, (r4, 0x0)
    8326:	3200      	movi      	r2, 0
    8328:	3101      	movi      	r1, 1
    832a:	e3ffe1af 	bsr      	0x4688	// 4688 <GPIO_Init>
	GPIO_Init(GPIOA0,15,Output);	
    832e:	9400      	ld.w      	r0, (r4, 0x0)
    8330:	3200      	movi      	r2, 0
    8332:	310f      	movi      	r1, 15
    8334:	e3ffe1aa 	bsr      	0x4688	// 4688 <GPIO_Init>
	GPIO_Init(GPIOA0,4,Output);	
    8338:	3200      	movi      	r2, 0
    833a:	9400      	ld.w      	r0, (r4, 0x0)
    833c:	3104      	movi      	r1, 4
    833e:	e3ffe1a5 	bsr      	0x4688	// 4688 <GPIO_Init>
	GPIO_DriveStrength_EN(GPIOA0,0);
    8342:	9400      	ld.w      	r0, (r4, 0x0)
    8344:	3100      	movi      	r1, 0
    8346:	e3ffe21b 	bsr      	0x477c	// 477c <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,1);
    834a:	9400      	ld.w      	r0, (r4, 0x0)
    834c:	3101      	movi      	r1, 1
    834e:	e3ffe217 	bsr      	0x477c	// 477c <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,15);
    8352:	9400      	ld.w      	r0, (r4, 0x0)
    8354:	310f      	movi      	r1, 15
    8356:	e3ffe213 	bsr      	0x477c	// 477c <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,4);
    835a:	9400      	ld.w      	r0, (r4, 0x0)
    835c:	3104      	movi      	r1, 4
    835e:	e3ffe20f 	bsr      	0x477c	// 477c <GPIO_DriveStrength_EN>
	HT1621_CS_LOW;
    8362:	9400      	ld.w      	r0, (r4, 0x0)
    8364:	310f      	movi      	r1, 15
    8366:	e3ffe351 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
	HT1621_WR_LOW;
    836a:	9400      	ld.w      	r0, (r4, 0x0)
    836c:	3101      	movi      	r1, 1
    836e:	e3ffe34d 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
	HT1621_RD_LOW;
    8372:	9400      	ld.w      	r0, (r4, 0x0)
    8374:	3100      	movi      	r1, 0
    8376:	e3ffe349 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
	HT1621_DATA_LOW;
    837a:	3104      	movi      	r1, 4
    837c:	9400      	ld.w      	r0, (r4, 0x0)
    837e:	e3ffe345 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
	HT1621_WR_CMD(HT1621_BIAS);
    8382:	3052      	movi      	r0, 82
    8384:	e3ffffac 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_RC256);
    8388:	3030      	movi      	r0, 48
    838a:	e3ffffa9 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_SYSDIS);
    838e:	3000      	movi      	r0, 0
    8390:	e3ffffa6 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_WDTDIS);
    8394:	300a      	movi      	r0, 10
    8396:	e3ffffa3 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_SYSEN);
    839a:	3002      	movi      	r0, 2
    839c:	e3ffffa0 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_LCDON);
    83a0:	3006      	movi      	r0, 6
    83a2:	e3ffff9d 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
	HT1621_WR_CMD(HT1621_BIOFF);
    83a6:	3010      	movi      	r0, 16
    83a8:	e3ffff9a 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
	HT1621_CS_HIGH;
    83ac:	9400      	ld.w      	r0, (r4, 0x0)
    83ae:	310f      	movi      	r1, 15
    83b0:	e3ffe328 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
}
    83b4:	1491      	pop      	r4, r15
    83b6:	0000      	bkpt
    83b8:	2000004c 	.long	0x2000004c
    83bc:	200005c0 	.long	0x200005c0

Disassembly of section .text.HT1621_Clear:

000083c0 <HT1621_Clear>:
}
/*
*函数功能：HT1621 清屏函数
*/
void HT1621_Clear(void)
{
    83c0:	14d2      	push      	r4-r5, r15
    memset((U8_T *)HT1621.show_cache, 0, HT1621_BUFFLEN);
    83c2:	3214      	movi      	r2, 20
    83c4:	3100      	movi      	r1, 0
    
    HT1621_CS_LOW;
    83c6:	10b1      	lrw      	r5, 0x2000004c	// 8408 <HT1621_Clear+0x48>
    memset((U8_T *)HT1621.show_cache, 0, HT1621_BUFFLEN);
    83c8:	1011      	lrw      	r0, 0x200005cc	// 840c <HT1621_Clear+0x4c>
    83ca:	e3ffdee9 	bsr      	0x419c	// 419c <__memset_fast>
    HT1621_CS_LOW;
    83ce:	310f      	movi      	r1, 15
    83d0:	9500      	ld.w      	r0, (r5, 0x0)
    83d2:	e3ffe31b 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
    nop;
    83d6:	6c03      	mov      	r0, r0
    HT1621_WR_Data(HT1621_WRITE_Flag,3);
    83d8:	3103      	movi      	r1, 3
    83da:	30a0      	movi      	r0, 160
    83dc:	e3ffff5c 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    HT1621_WR_Data(0,6);
    83e0:	3106      	movi      	r1, 6
    83e2:	3000      	movi      	r0, 0
    83e4:	e3ffff58 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    83e8:	3414      	movi      	r4, 20
    83ea:	2c00      	subi      	r4, 1
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    {
        HT1621_WR_Data(0x00,4);
    83ec:	3104      	movi      	r1, 4
    83ee:	3000      	movi      	r0, 0
    83f0:	7510      	zextb      	r4, r4
    83f2:	e3ffff51 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    83f6:	3c40      	cmpnei      	r4, 0
    83f8:	0bf9      	bt      	0x83ea	// 83ea <HT1621_Clear+0x2a>
    }
    
    HT1621_CS_HIGH;
    83fa:	9500      	ld.w      	r0, (r5, 0x0)
    83fc:	310f      	movi      	r1, 15
    83fe:	e3ffe301 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
    nop;
    8402:	6c03      	mov      	r0, r0
}
    8404:	1492      	pop      	r4-r5, r15
    8406:	0000      	bkpt
    8408:	2000004c 	.long	0x2000004c
    840c:	200005cc 	.long	0x200005cc

Disassembly of section .text.HT1621_ALLON:

00008410 <HT1621_ALLON>:

/*
*函数功能：HT1621 全显函数
*/
void HT1621_ALLON(void)
{
    8410:	14d2      	push      	r4-r5, r15
    HT1621_CS_LOW;
    8412:	10af      	lrw      	r5, 0x2000004c	// 844c <HT1621_ALLON+0x3c>
    8414:	310f      	movi      	r1, 15
    8416:	9500      	ld.w      	r0, (r5, 0x0)
    8418:	e3ffe2f8 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
    nop;
    841c:	6c03      	mov      	r0, r0
    HT1621_WR_Data(HT1621_WRITE_Flag,3);
    841e:	3103      	movi      	r1, 3
    8420:	30a0      	movi      	r0, 160
    8422:	e3ffff39 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    HT1621_WR_Data(0,6);
    8426:	3106      	movi      	r1, 6
    8428:	3000      	movi      	r0, 0
    842a:	e3ffff35 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    842e:	3414      	movi      	r4, 20
    8430:	2c00      	subi      	r4, 1
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    {
        HT1621_WR_Data(0xf0,4);
    8432:	3104      	movi      	r1, 4
    8434:	30f0      	movi      	r0, 240
    8436:	7510      	zextb      	r4, r4
    8438:	e3ffff2e 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    843c:	3c40      	cmpnei      	r4, 0
    843e:	0bf9      	bt      	0x8430	// 8430 <HT1621_ALLON+0x20>
    }
    
    HT1621_CS_HIGH;
    8440:	9500      	ld.w      	r0, (r5, 0x0)
    8442:	310f      	movi      	r1, 15
    8444:	e3ffe2de 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
    nop;
    8448:	6c03      	mov      	r0, r0
}
    844a:	1492      	pop      	r4-r5, r15
    844c:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT1621_Refresh_Data:

00008450 <HT1621_Refresh_Data>:

/*
*函数功能：HT1621 刷屏函数
*/
void HT1621_Refresh_Data(void){
    8450:	14d2      	push      	r4-r5, r15
	HT1621_CS_LOW;
    8452:	1091      	lrw      	r4, 0x2000004c	// 8494 <HT1621_Refresh_Data+0x44>
    8454:	310f      	movi      	r1, 15
    8456:	9400      	ld.w      	r0, (r4, 0x0)
    8458:	e3ffe2d8 	bsr      	0x4a08	// 4a08 <GPIO_Write_Low>
	nop;
    845c:	6c03      	mov      	r0, r0
	HT1621_WR_Data(HT1621_WRITE_Flag,3);
    845e:	3103      	movi      	r1, 3
    8460:	30a0      	movi      	r0, 160
    8462:	e3ffff19 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
	HT1621_WR_Data(0,6);
    8466:	3106      	movi      	r1, 6
    8468:	3000      	movi      	r0, 0
    846a:	e3ffff15 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
    846e:	3500      	movi      	r5, 0
	for(U8_T i=0;i<HT1621_BUFFLEN;i++)
	{
		HT1621_WR_Data(HT1621.show_cache[i]<<4,4);
    8470:	106a      	lrw      	r3, 0x200005c0	// 8498 <HT1621_Refresh_Data+0x48>
    8472:	60d4      	addu      	r3, r5
    8474:	830c      	ld.b      	r0, (r3, 0xc)
    8476:	4004      	lsli      	r0, r0, 4
    8478:	7400      	zextb      	r0, r0
    847a:	3104      	movi      	r1, 4
    847c:	2500      	addi      	r5, 1
    847e:	e3ffff0b 	bsr      	0x8294	// 8294 <HT1621_WR_Data>
	for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    8482:	3d54      	cmpnei      	r5, 20
    8484:	0bf6      	bt      	0x8470	// 8470 <HT1621_Refresh_Data+0x20>
	}
	
	HT1621_CS_HIGH;
    8486:	9400      	ld.w      	r0, (r4, 0x0)
    8488:	310f      	movi      	r1, 15
    848a:	e3ffe2bb 	bsr      	0x4a00	// 4a00 <GPIO_Write_High>
	nop;
    848e:	6c03      	mov      	r0, r0
}
    8490:	1492      	pop      	r4-r5, r15
    8492:	0000      	bkpt
    8494:	2000004c 	.long	0x2000004c
    8498:	200005c0 	.long	0x200005c0

Disassembly of section .text.Set_Temperature_Display:

0000849c <Set_Temperature_Display>:
*函数功能：设置温度℃显示
*参数说明：因为需要显示小数点后一位，所以参数需要扩大10
*说   明：可显示小数点，
*/
void Set_Temperature_Display(U16_T tmp)
{
    849c:	14d4      	push      	r4-r7, r15
    849e:	1424      	subi      	r14, r14, 16
	U8_T tmp_Integer = 0;
	U8_T tmp_quantile = 0;
	U8_T tmp_H = 0;
	U8_T tmp_L = 0;
	
	if(Debug_Inf.TempDisplay == 0x00){//摄氏度
    84a0:	1170      	lrw      	r3, 0x20000868	// 8560 <Set_Temperature_Display+0xc4>
    84a2:	8368      	ld.b      	r3, (r3, 0x8)
    84a4:	3b40      	cmpnei      	r3, 0
{
    84a6:	6d03      	mov      	r4, r0
	if(Debug_Inf.TempDisplay == 0x00){//摄氏度
    84a8:	b861      	st.w      	r3, (r14, 0x4)
    84aa:	0845      	bt      	0x8534	// 8534 <Set_Temperature_Display+0x98>
		tmp_Integer = tmp/10;
    84ac:	310a      	movi      	r1, 10
    84ae:	e3ffee5b 	bsr      	0x6164	// 6164 <__udivsi3>
    84b2:	7580      	zextb      	r6, r0
		tmp_quantile = tmp%10;
    84b4:	310a      	movi      	r1, 10
    84b6:	6c13      	mov      	r0, r4
    84b8:	e3ffee7a 	bsr      	0x61ac	// 61ac <__umodsi3>
    tmp_L = tmp_Integer%10;
    //清楚原数字

    HT1621.show_cache[12] &= 0x01;
    HT1621.show_cache[11] = 0x00;
    HT1621.show_cache[10] &= 0x01;
    84bc:	118a      	lrw      	r4, 0x200005c0	// 8564 <Set_Temperature_Display+0xc8>
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    84be:	74c0      	zextb      	r3, r0
    HT1621.show_cache[10] &= 0x01;
    84c0:	3501      	movi      	r5, 1
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    84c2:	b860      	st.w      	r3, (r14, 0x0)
    HT1621.show_cache[10] &= 0x01;
    84c4:	8476      	ld.b      	r3, (r4, 0x16)
    84c6:	68d4      	and      	r3, r5
    84c8:	b862      	st.w      	r3, (r14, 0x8)
    HT1621.show_cache[9] = 0x00;      
    HT1621.show_cache[8] &= 0x01;
    84ca:	8474      	ld.b      	r3, (r4, 0x14)
    84cc:	68d4      	and      	r3, r5
    tmp_H = tmp_Integer/10;
    84ce:	310a      	movi      	r1, 10
    84d0:	6c1b      	mov      	r0, r6
    HT1621.show_cache[8] &= 0x01;
    84d2:	b863      	st.w      	r3, (r14, 0xc)
    tmp_H = tmp_Integer/10;
    84d4:	e3ffee48 	bsr      	0x6164	// 6164 <__udivsi3>
	HT1621.show_cache[7] = 0x00;    
    
    HT1621.show_cache[12] |= Diaital[tmp_H]&0x0F;
    84d8:	11e4      	lrw      	r7, 0xca96	// 8568 <Set_Temperature_Display+0xcc>
    84da:	7400      	zextb      	r0, r0
    84dc:	601c      	addu      	r0, r7
    84de:	8020      	ld.b      	r1, (r0, 0x0)
    HT1621.show_cache[12] &= 0x01;
    84e0:	8458      	ld.b      	r2, (r4, 0x18)
    84e2:	6894      	and      	r2, r5
    HT1621.show_cache[12] |= Diaital[tmp_H]&0x0F;
    84e4:	6c07      	mov      	r0, r1
    84e6:	350f      	movi      	r5, 15
    84e8:	6814      	and      	r0, r5
    84ea:	6c80      	or      	r2, r0
    HT1621.show_cache[11] |= Diaital[tmp_H] >> 4;
    84ec:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[12] |= Diaital[tmp_H]&0x0F;
    84ee:	a458      	st.b      	r2, (r4, 0x18)
    HT1621.show_cache[11] |= Diaital[tmp_H] >> 4;
    84f0:	a437      	st.b      	r1, (r4, 0x17)
    tmp_L = tmp_Integer%10;
    84f2:	6c1b      	mov      	r0, r6
    84f4:	310a      	movi      	r1, 10
    84f6:	e3ffee5b 	bsr      	0x61ac	// 61ac <__umodsi3>
    HT1621.show_cache[10] |= Diaital[tmp_L]&0x0F;
    84fa:	7400      	zextb      	r0, r0
    84fc:	601c      	addu      	r0, r7
    84fe:	8040      	ld.b      	r2, (r0, 0x0)
    8500:	6c4b      	mov      	r1, r2
    8502:	6854      	and      	r1, r5
    8504:	9862      	ld.w      	r3, (r14, 0x8)
    8506:	6c4c      	or      	r1, r3
    HT1621.show_cache[9] |= Diaital[tmp_L] >> 4;
    HT1621.show_cache[8] |= Diaital[tmp_quantile]&0x0F;      
    8508:	9860      	ld.w      	r3, (r14, 0x0)
    850a:	61cc      	addu      	r7, r3
    850c:	8760      	ld.b      	r3, (r7, 0x0)
    850e:	694c      	and      	r5, r3
    HT1621.show_cache[7] |= Diaital[tmp_quantile] >> 4; 
    8510:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[9] |= Diaital[tmp_L] >> 4;
    8512:	4a44      	lsri      	r2, r2, 4
    HT1621.show_cache[7] |= Diaital[tmp_quantile] >> 4; 
    8514:	a473      	st.b      	r3, (r4, 0x13)
    
	
	if(Debug_Inf.TempDisplay == 0x00){
    8516:	9861      	ld.w      	r3, (r14, 0x4)
    HT1621.show_cache[9] |= Diaital[tmp_L] >> 4;
    8518:	a455      	st.b      	r2, (r4, 0x15)
	if(Debug_Inf.TempDisplay == 0x00){
    851a:	3b40      	cmpnei      	r3, 0
    HT1621.show_cache[8] |= Diaital[tmp_quantile]&0x0F;      
    851c:	9843      	ld.w      	r2, (r14, 0xc)
    HT1621.show_cache[10] |= Diaital[tmp_L]&0x0F;
    851e:	a436      	st.b      	r1, (r4, 0x16)
    HT1621.show_cache[8] |= Diaital[tmp_quantile]&0x0F;      
    8520:	6d48      	or      	r5, r2
    8522:	8472      	ld.b      	r3, (r4, 0x12)
	if(Debug_Inf.TempDisplay == 0x00){
    8524:	081a      	bt      	0x8558	// 8558 <Set_Temperature_Display+0xbc>
		HT1621.show_cache[6] |= 0x0A;//显示“℃”
    8526:	3ba1      	bseti      	r3, 1
    8528:	3ba3      	bseti      	r3, 3
	}else {
		HT1621.show_cache[6] |= 0x0C;//显示“℉”
	}
     
	//显示小数点
    HT1621.show_cache[8] |= 0x01;       
    852a:	3da0      	bseti      	r5, 0
		HT1621.show_cache[6] |= 0x0C;//显示“℉”
    852c:	a472      	st.b      	r3, (r4, 0x12)
    HT1621.show_cache[8] |= 0x01;       
    852e:	a4b4      	st.b      	r5, (r4, 0x14)
}
    8530:	1404      	addi      	r14, r14, 16
    8532:	1494      	pop      	r4-r7, r15
		tmp_Integer = ((tmp*18)/10 + 320)/10;
    8534:	3012      	movi      	r0, 18
    8536:	7c10      	mult      	r0, r4
    8538:	310a      	movi      	r1, 10
    853a:	34a0      	movi      	r4, 160
    853c:	e3ffee02 	bsr      	0x6140	// 6140 <__divsi3>
    8540:	4481      	lsli      	r4, r4, 1
    8542:	6100      	addu      	r4, r0
    8544:	310a      	movi      	r1, 10
    8546:	6c13      	mov      	r0, r4
    8548:	e3ffedfc 	bsr      	0x6140	// 6140 <__divsi3>
    854c:	7580      	zextb      	r6, r0
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    854e:	310a      	movi      	r1, 10
    8550:	6c13      	mov      	r0, r4
    8552:	e3ffee1b 	bsr      	0x6188	// 6188 <__modsi3>
    8556:	07b3      	br      	0x84bc	// 84bc <Set_Temperature_Display+0x20>
		HT1621.show_cache[6] |= 0x0C;//显示“℉”
    8558:	3ba2      	bseti      	r3, 2
    855a:	3ba3      	bseti      	r3, 3
    855c:	07e7      	br      	0x852a	// 852a <Set_Temperature_Display+0x8e>
    855e:	0000      	bkpt
    8560:	20000868 	.long	0x20000868
    8564:	200005c0 	.long	0x200005c0
    8568:	0000ca96 	.long	0x0000ca96

Disassembly of section .text.Local_Temperature_Display:

0000856c <Local_Temperature_Display>:
*函数功能：本地温度℃显示
*参数说明：因为需要显示小数点后一位，所以参数需要扩大10
*说   明：可显示小数点，
*/
void Local_Temperature_Display(U16_T tmp)
{
    856c:	14d4      	push      	r4-r7, r15
    856e:	1424      	subi      	r14, r14, 16
	U8_T tmp_Integer = 0;
	U8_T tmp_quantile = 0;
	U8_T tmp_H = 0;
	U8_T tmp_L = 0;
	
	if(Debug_Inf.TempDisplay == 0x00){//摄氏度
    8570:	1170      	lrw      	r3, 0x20000868	// 8630 <Local_Temperature_Display+0xc4>
    8572:	8368      	ld.b      	r3, (r3, 0x8)
    8574:	3b40      	cmpnei      	r3, 0
{
    8576:	6d03      	mov      	r4, r0
	if(Debug_Inf.TempDisplay == 0x00){//摄氏度
    8578:	b861      	st.w      	r3, (r14, 0x4)
    857a:	0845      	bt      	0x8604	// 8604 <Local_Temperature_Display+0x98>
		tmp_Integer = tmp/10;
    857c:	310a      	movi      	r1, 10
    857e:	e3ffedf3 	bsr      	0x6164	// 6164 <__udivsi3>
    8582:	7580      	zextb      	r6, r0
		tmp_quantile = tmp%10;
    8584:	310a      	movi      	r1, 10
    8586:	6c13      	mov      	r0, r4
    8588:	e3ffee12 	bsr      	0x61ac	// 61ac <__umodsi3>
    tmp_L = tmp_Integer%10;
    //清除原数字

    HT1621.show_cache[19] &= 0x01;
    HT1621.show_cache[18] = 0x00;
    HT1621.show_cache[17] &= 0x01;
    858c:	118a      	lrw      	r4, 0x200005c0	// 8634 <Local_Temperature_Display+0xc8>
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    858e:	74c0      	zextb      	r3, r0
    HT1621.show_cache[17] &= 0x01;
    8590:	3501      	movi      	r5, 1
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    8592:	b860      	st.w      	r3, (r14, 0x0)
    HT1621.show_cache[17] &= 0x01;
    8594:	847d      	ld.b      	r3, (r4, 0x1d)
    8596:	68d4      	and      	r3, r5
    8598:	b862      	st.w      	r3, (r14, 0x8)
    HT1621.show_cache[16] = 0x00;      
    HT1621.show_cache[15] &= 0x01;
    859a:	847b      	ld.b      	r3, (r4, 0x1b)
    859c:	68d4      	and      	r3, r5
    tmp_H = tmp_Integer/10;
    859e:	310a      	movi      	r1, 10
    85a0:	6c1b      	mov      	r0, r6
    HT1621.show_cache[15] &= 0x01;
    85a2:	b863      	st.w      	r3, (r14, 0xc)
    tmp_H = tmp_Integer/10;
    85a4:	e3ffede0 	bsr      	0x6164	// 6164 <__udivsi3>
	HT1621.show_cache[14] = 0x00;    
    
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    85a8:	11e4      	lrw      	r7, 0xca96	// 8638 <Local_Temperature_Display+0xcc>
    85aa:	7400      	zextb      	r0, r0
    85ac:	601c      	addu      	r0, r7
    85ae:	8020      	ld.b      	r1, (r0, 0x0)
    HT1621.show_cache[19] &= 0x01;
    85b0:	845f      	ld.b      	r2, (r4, 0x1f)
    85b2:	6894      	and      	r2, r5
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    85b4:	6c07      	mov      	r0, r1
    85b6:	350f      	movi      	r5, 15
    85b8:	6814      	and      	r0, r5
    85ba:	6c80      	or      	r2, r0
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    85bc:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    85be:	a45f      	st.b      	r2, (r4, 0x1f)
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    85c0:	a43e      	st.b      	r1, (r4, 0x1e)
    tmp_L = tmp_Integer%10;
    85c2:	6c1b      	mov      	r0, r6
    85c4:	310a      	movi      	r1, 10
    85c6:	e3ffedf3 	bsr      	0x61ac	// 61ac <__umodsi3>
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    85ca:	7400      	zextb      	r0, r0
    85cc:	601c      	addu      	r0, r7
    85ce:	8040      	ld.b      	r2, (r0, 0x0)
    85d0:	6c4b      	mov      	r1, r2
    85d2:	6854      	and      	r1, r5
    85d4:	9862      	ld.w      	r3, (r14, 0x8)
    85d6:	6c4c      	or      	r1, r3
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    85d8:	9860      	ld.w      	r3, (r14, 0x0)
    85da:	61cc      	addu      	r7, r3
    85dc:	8760      	ld.b      	r3, (r7, 0x0)
    85de:	694c      	and      	r5, r3
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    85e0:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    85e2:	4a44      	lsri      	r2, r2, 4
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    85e4:	a47a      	st.b      	r3, (r4, 0x1a)
    

	if(Debug_Inf.TempDisplay == 0x00){
    85e6:	9861      	ld.w      	r3, (r14, 0x4)
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    85e8:	a45c      	st.b      	r2, (r4, 0x1c)
	if(Debug_Inf.TempDisplay == 0x00){
    85ea:	3b40      	cmpnei      	r3, 0
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    85ec:	9843      	ld.w      	r2, (r14, 0xc)
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    85ee:	a43d      	st.b      	r1, (r4, 0x1d)
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    85f0:	6d48      	or      	r5, r2
    85f2:	8479      	ld.b      	r3, (r4, 0x19)
	if(Debug_Inf.TempDisplay == 0x00){
    85f4:	081a      	bt      	0x8628	// 8628 <Local_Temperature_Display+0xbc>
		HT1621.show_cache[13] |= 0x0A;//显示“℃”
    85f6:	3ba1      	bseti      	r3, 1
    85f8:	3ba3      	bseti      	r3, 3
	}else {
		HT1621.show_cache[13] |= 0x0C;//显示“℉”
	}
     
	//显示小数点
    HT1621.show_cache[15] |= 0x01;       
    85fa:	3da0      	bseti      	r5, 0
		HT1621.show_cache[13] |= 0x0C;//显示“℉”
    85fc:	a479      	st.b      	r3, (r4, 0x19)
    HT1621.show_cache[15] |= 0x01;       
    85fe:	a4bb      	st.b      	r5, (r4, 0x1b)
}
    8600:	1404      	addi      	r14, r14, 16
    8602:	1494      	pop      	r4-r7, r15
		tmp_Integer = ((tmp*18)/10 + 320)/10;
    8604:	3012      	movi      	r0, 18
    8606:	7c10      	mult      	r0, r4
    8608:	310a      	movi      	r1, 10
    860a:	34a0      	movi      	r4, 160
    860c:	e3ffed9a 	bsr      	0x6140	// 6140 <__divsi3>
    8610:	4481      	lsli      	r4, r4, 1
    8612:	6100      	addu      	r4, r0
    8614:	310a      	movi      	r1, 10
    8616:	6c13      	mov      	r0, r4
    8618:	e3ffed94 	bsr      	0x6140	// 6140 <__divsi3>
    861c:	7580      	zextb      	r6, r0
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    861e:	310a      	movi      	r1, 10
    8620:	6c13      	mov      	r0, r4
    8622:	e3ffedb3 	bsr      	0x6188	// 6188 <__modsi3>
    8626:	07b3      	br      	0x858c	// 858c <Local_Temperature_Display+0x20>
		HT1621.show_cache[13] |= 0x0C;//显示“℉”
    8628:	3ba2      	bseti      	r3, 2
    862a:	3ba3      	bseti      	r3, 3
    862c:	07e7      	br      	0x85fa	// 85fa <Local_Temperature_Display+0x8e>
    862e:	0000      	bkpt
    8630:	20000868 	.long	0x20000868
    8634:	200005c0 	.long	0x200005c0
    8638:	0000ca96 	.long	0x0000ca96

Disassembly of section .text.Control_Mode:

0000863c <Control_Mode>:
*参数功能：mode : 0 -> 制冷模式;
*               1 -> 制热模式;
*               2 -> 送风模式;
* 				4 -> 自动;
*/
void Control_Mode(U8_T mode){
    863c:	14d1      	push      	r4, r15
	switch(mode){
    863e:	3806      	cmphsi      	r0, 7
    8640:	0823      	bt      	0x8686	// 8686 <Control_Mode+0x4a>
    8642:	e3ffd775 	bsr      	0x352c	// 352c <___gnu_csky_case_uhi>
    8646:	0007      	.short	0x0007
    8648:	005a0020 	.long	0x005a0020
    864c:	009a0020 	.long	0x009a0020
    8650:	00da0020 	.long	0x00da0020
		case MODEL_COLD:
			if(Debug_Inf.Language_Selection == 0x00)
    8654:	0376      	lrw      	r3, 0x20000868	// 8878 <Control_Mode+0x23c>
    8656:	8349      	ld.b      	r2, (r3, 0x9)
    8658:	3a40      	cmpnei      	r2, 0
    865a:	0376      	lrw      	r3, 0x200005c0	// 887c <Control_Mode+0x240>
    865c:	0816      	bt      	0x8688	// 8688 <Control_Mode+0x4c>
			{
				HT1621.show_cache[0] &= ~0x0C;
				HT1621.show_cache[1] &= ~0x07;
    865e:	3407      	movi      	r4, 7
				HT1621.show_cache[2] &= ~0x07;
    8660:	830e      	ld.b      	r0, (r3, 0xe)
    8662:	6811      	andn      	r0, r4
    8664:	a30e      	st.b      	r0, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8666:	830f      	ld.b      	r0, (r3, 0xf)
    8668:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    866a:	832c      	ld.b      	r1, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    866c:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    866e:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    8670:	3982      	bclri      	r1, 2
    8672:	3983      	bclri      	r1, 3
				HT1621.show_cache[1] &= ~0x07;
    8674:	834d      	ld.b      	r2, (r3, 0xd)
				HT1621.show_cache[5] &= ~0x01;
    8676:	3880      	bclri      	r0, 0
				HT1621.show_cache[1] &= ~0x07;
    8678:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    867a:	a311      	st.b      	r0, (r3, 0x11)
				
				HT1621.show_cache[0] |= 0x04;
				HT1621.show_cache[0] |= 0x08;
    867c:	39a2      	bseti      	r1, 2
    867e:	39a3      	bseti      	r1, 3
				HT1621.show_cache[2] &= ~0x07;
				HT1621.show_cache[3] &= ~0x07;
				HT1621.show_cache[5] &= ~0x01;
				
				HT1621.show_cache[0] |= 0x04;
				HT1621.show_cache[1] |= 0x01;
    8680:	3aa0      	bseti      	r2, 0
				HT1621.show_cache[0] |= 0x04;
    8682:	a32c      	st.b      	r1, (r3, 0xc)
				HT1621.show_cache[1] |= 0x01;
    8684:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
				HT1621.show_cache[5] &= ~0x01;
			}
			break;
	}
}
    8686:	1491      	pop      	r4, r15
			else if(Debug_Inf.Language_Selection == 0x01)
    8688:	3a41      	cmpnei      	r2, 1
    868a:	0812      	bt      	0x86ae	// 86ae <Control_Mode+0x72>
				HT1621.show_cache[1] &= ~0x07;
    868c:	3407      	movi      	r4, 7
				HT1621.show_cache[2] &= ~0x07;
    868e:	830e      	ld.b      	r0, (r3, 0xe)
    8690:	6811      	andn      	r0, r4
    8692:	a30e      	st.b      	r0, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8694:	830f      	ld.b      	r0, (r3, 0xf)
    8696:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    8698:	832c      	ld.b      	r1, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    869a:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    869c:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    869e:	3982      	bclri      	r1, 2
    86a0:	3983      	bclri      	r1, 3
				HT1621.show_cache[1] &= ~0x07;
    86a2:	834d      	ld.b      	r2, (r3, 0xd)
				HT1621.show_cache[5] &= ~0x01;
    86a4:	3880      	bclri      	r0, 0
				HT1621.show_cache[1] &= ~0x07;
    86a6:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    86a8:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] |= 0x04;
    86aa:	39a2      	bseti      	r1, 2
    86ac:	07ea      	br      	0x8680	// 8680 <Control_Mode+0x44>
			else if(Debug_Inf.Language_Selection == 0x02)
    86ae:	3a42      	cmpnei      	r2, 2
    86b0:	0812      	bt      	0x86d4	// 86d4 <Control_Mode+0x98>
				HT1621.show_cache[1] &= ~0x07;
    86b2:	3407      	movi      	r4, 7
				HT1621.show_cache[2] &= ~0x07;
    86b4:	830e      	ld.b      	r0, (r3, 0xe)
    86b6:	6811      	andn      	r0, r4
    86b8:	a30e      	st.b      	r0, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    86ba:	830f      	ld.b      	r0, (r3, 0xf)
    86bc:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    86be:	832c      	ld.b      	r1, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    86c0:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    86c2:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    86c4:	3982      	bclri      	r1, 2
    86c6:	3983      	bclri      	r1, 3
				HT1621.show_cache[1] &= ~0x07;
    86c8:	834d      	ld.b      	r2, (r3, 0xd)
				HT1621.show_cache[5] &= ~0x01;
    86ca:	3880      	bclri      	r0, 0
				HT1621.show_cache[1] &= ~0x07;
    86cc:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    86ce:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] |= 0x08;
    86d0:	39a3      	bseti      	r1, 3
    86d2:	07d7      	br      	0x8680	// 8680 <Control_Mode+0x44>
				HT1621.show_cache[0] &= ~0x0C;
    86d4:	136a      	lrw      	r3, 0x200005c0	// 887c <Control_Mode+0x240>
    86d6:	834c      	ld.b      	r2, (r3, 0xc)
    86d8:	3a82      	bclri      	r2, 2
    86da:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    86dc:	3107      	movi      	r1, 7
				HT1621.show_cache[0] &= ~0x0C;
    86de:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    86e0:	834d      	ld.b      	r2, (r3, 0xd)
    86e2:	6885      	andn      	r2, r1
    86e4:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    86e6:	834e      	ld.b      	r2, (r3, 0xe)
    86e8:	6885      	andn      	r2, r1
    86ea:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    86ec:	834f      	ld.b      	r2, (r3, 0xf)
    86ee:	6885      	andn      	r2, r1
    86f0:	a34f      	st.b      	r2, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    86f2:	8351      	ld.b      	r2, (r3, 0x11)
    86f4:	3a80      	bclri      	r2, 0
				HT1621.show_cache[5] |= 0x01;
    86f6:	a351      	st.b      	r2, (r3, 0x11)
}
    86f8:	07c7      	br      	0x8686	// 8686 <Control_Mode+0x4a>
			if(Debug_Inf.Language_Selection == 0x00)
    86fa:	1360      	lrw      	r3, 0x20000868	// 8878 <Control_Mode+0x23c>
    86fc:	8349      	ld.b      	r2, (r3, 0x9)
    86fe:	3a40      	cmpnei      	r2, 0
    8700:	127f      	lrw      	r3, 0x200005c0	// 887c <Control_Mode+0x240>
    8702:	0816      	bt      	0x872e	// 872e <Control_Mode+0xf2>
				HT1621.show_cache[1] &= ~0x07;
    8704:	3407      	movi      	r4, 7
				HT1621.show_cache[3] &= ~0x07;
    8706:	830f      	ld.b      	r0, (r3, 0xf)
				HT1621.show_cache[0] &= ~0x0C;
    8708:	834c      	ld.b      	r2, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    870a:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    870c:	3a82      	bclri      	r2, 2
    870e:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8710:	832d      	ld.b      	r1, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
    8712:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    8714:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    8716:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    8718:	6851      	andn      	r1, r4
				HT1621.show_cache[2] &= ~0x07;
    871a:	834e      	ld.b      	r2, (r3, 0xe)
				HT1621.show_cache[5] &= ~0x01;
    871c:	3880      	bclri      	r0, 0
				HT1621.show_cache[2] &= ~0x07;
    871e:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    8720:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[1] |= 0x04;
    8722:	39a1      	bseti      	r1, 1
    8724:	39a2      	bseti      	r1, 2
				HT1621.show_cache[2] |= 0x01;
    8726:	3aa0      	bseti      	r2, 0
				HT1621.show_cache[1] |= 0x04;
    8728:	a32d      	st.b      	r1, (r3, 0xd)
				HT1621.show_cache[2] |= 0x01;
    872a:	a34e      	st.b      	r2, (r3, 0xe)
    872c:	07ad      	br      	0x8686	// 8686 <Control_Mode+0x4a>
			else if(Debug_Inf.Language_Selection == 0x01)
    872e:	3a41      	cmpnei      	r2, 1
    8730:	0812      	bt      	0x8754	// 8754 <Control_Mode+0x118>
				HT1621.show_cache[1] &= ~0x07;
    8732:	3407      	movi      	r4, 7
				HT1621.show_cache[3] &= ~0x07;
    8734:	830f      	ld.b      	r0, (r3, 0xf)
				HT1621.show_cache[0] &= ~0x0C;
    8736:	834c      	ld.b      	r2, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    8738:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    873a:	3a82      	bclri      	r2, 2
    873c:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    873e:	832d      	ld.b      	r1, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
    8740:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    8742:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    8744:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    8746:	6851      	andn      	r1, r4
				HT1621.show_cache[2] &= ~0x07;
    8748:	834e      	ld.b      	r2, (r3, 0xe)
				HT1621.show_cache[5] &= ~0x01;
    874a:	3880      	bclri      	r0, 0
				HT1621.show_cache[2] &= ~0x07;
    874c:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    874e:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[1] |= 0x02;
    8750:	39a1      	bseti      	r1, 1
    8752:	07ea      	br      	0x8726	// 8726 <Control_Mode+0xea>
			else if(Debug_Inf.Language_Selection == 0x02)
    8754:	3a42      	cmpnei      	r2, 2
    8756:	0bbf      	bt      	0x86d4	// 86d4 <Control_Mode+0x98>
				HT1621.show_cache[1] &= ~0x07;
    8758:	3407      	movi      	r4, 7
				HT1621.show_cache[3] &= ~0x07;
    875a:	830f      	ld.b      	r0, (r3, 0xf)
				HT1621.show_cache[0] &= ~0x0C;
    875c:	834c      	ld.b      	r2, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    875e:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    8760:	3a82      	bclri      	r2, 2
    8762:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8764:	832d      	ld.b      	r1, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
    8766:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    8768:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    876a:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    876c:	6851      	andn      	r1, r4
				HT1621.show_cache[2] &= ~0x07;
    876e:	834e      	ld.b      	r2, (r3, 0xe)
				HT1621.show_cache[5] &= ~0x01;
    8770:	3880      	bclri      	r0, 0
				HT1621.show_cache[2] &= ~0x07;
    8772:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    8774:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[1] |= 0x04;
    8776:	39a2      	bseti      	r1, 2
    8778:	07d7      	br      	0x8726	// 8726 <Control_Mode+0xea>
			if(Debug_Inf.Language_Selection == 0x00)
    877a:	1260      	lrw      	r3, 0x20000868	// 8878 <Control_Mode+0x23c>
    877c:	8349      	ld.b      	r2, (r3, 0x9)
    877e:	3a40      	cmpnei      	r2, 0
    8780:	117f      	lrw      	r3, 0x200005c0	// 887c <Control_Mode+0x240>
    8782:	0816      	bt      	0x87ae	// 87ae <Control_Mode+0x172>
				HT1621.show_cache[0] &= ~0x0C;
    8784:	834c      	ld.b      	r2, (r3, 0xc)
    8786:	3a82      	bclri      	r2, 2
    8788:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    878a:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    878c:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    878e:	834d      	ld.b      	r2, (r3, 0xd)
    8790:	6881      	andn      	r2, r0
    8792:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8794:	832e      	ld.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8796:	834f      	ld.b      	r2, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    8798:	6841      	andn      	r1, r0
				HT1621.show_cache[3] &= ~0x07;
    879a:	6881      	andn      	r2, r0
				HT1621.show_cache[5] &= ~0x01;
    879c:	8311      	ld.b      	r0, (r3, 0x11)
    879e:	3880      	bclri      	r0, 0
    87a0:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[2] |= 0x04;
    87a2:	39a1      	bseti      	r1, 1
    87a4:	39a2      	bseti      	r1, 2
				HT1621.show_cache[3] |= 0x01;
    87a6:	3aa0      	bseti      	r2, 0
				HT1621.show_cache[2] |= 0x04;
    87a8:	a32e      	st.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] |= 0x01;
    87aa:	a34f      	st.b      	r2, (r3, 0xf)
    87ac:	076d      	br      	0x8686	// 8686 <Control_Mode+0x4a>
			else if(Debug_Inf.Language_Selection == 0x01)
    87ae:	3a41      	cmpnei      	r2, 1
    87b0:	0812      	bt      	0x87d4	// 87d4 <Control_Mode+0x198>
				HT1621.show_cache[0] &= ~0x0C;
    87b2:	834c      	ld.b      	r2, (r3, 0xc)
    87b4:	3a82      	bclri      	r2, 2
    87b6:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    87b8:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    87ba:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    87bc:	834d      	ld.b      	r2, (r3, 0xd)
    87be:	6881      	andn      	r2, r0
    87c0:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    87c2:	832e      	ld.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    87c4:	834f      	ld.b      	r2, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    87c6:	6841      	andn      	r1, r0
				HT1621.show_cache[3] &= ~0x07;
    87c8:	6881      	andn      	r2, r0
				HT1621.show_cache[5] &= ~0x01;
    87ca:	8311      	ld.b      	r0, (r3, 0x11)
    87cc:	3880      	bclri      	r0, 0
    87ce:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[2] |= 0x02;
    87d0:	39a1      	bseti      	r1, 1
    87d2:	07ea      	br      	0x87a6	// 87a6 <Control_Mode+0x16a>
			else if(Debug_Inf.Language_Selection == 0x02)
    87d4:	3a42      	cmpnei      	r2, 2
    87d6:	0b7f      	bt      	0x86d4	// 86d4 <Control_Mode+0x98>
				HT1621.show_cache[0] &= ~0x0C;
    87d8:	834c      	ld.b      	r2, (r3, 0xc)
    87da:	3a82      	bclri      	r2, 2
    87dc:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    87de:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    87e0:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    87e2:	834d      	ld.b      	r2, (r3, 0xd)
    87e4:	6881      	andn      	r2, r0
    87e6:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    87e8:	832e      	ld.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    87ea:	834f      	ld.b      	r2, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    87ec:	6841      	andn      	r1, r0
				HT1621.show_cache[3] &= ~0x07;
    87ee:	6881      	andn      	r2, r0
				HT1621.show_cache[5] &= ~0x01;
    87f0:	8311      	ld.b      	r0, (r3, 0x11)
    87f2:	3880      	bclri      	r0, 0
    87f4:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[2] |= 0x04;
    87f6:	39a2      	bseti      	r1, 2
    87f8:	07d7      	br      	0x87a6	// 87a6 <Control_Mode+0x16a>
			if(Debug_Inf.Language_Selection == 0x00)
    87fa:	1160      	lrw      	r3, 0x20000868	// 8878 <Control_Mode+0x23c>
    87fc:	8349      	ld.b      	r2, (r3, 0x9)
    87fe:	3a40      	cmpnei      	r2, 0
    8800:	107f      	lrw      	r3, 0x200005c0	// 887c <Control_Mode+0x240>
    8802:	0815      	bt      	0x882c	// 882c <Control_Mode+0x1f0>
				HT1621.show_cache[0] &= ~0x0C;
    8804:	834c      	ld.b      	r2, (r3, 0xc)
    8806:	3a82      	bclri      	r2, 2
    8808:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    880a:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    880c:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    880e:	834d      	ld.b      	r2, (r3, 0xd)
    8810:	6881      	andn      	r2, r0
    8812:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8814:	834e      	ld.b      	r2, (r3, 0xe)
    8816:	6881      	andn      	r2, r0
				HT1621.show_cache[3] &= ~0x07;
    8818:	832f      	ld.b      	r1, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    881a:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    881c:	6841      	andn      	r1, r0
				HT1621.show_cache[5] &= ~0x01;
    881e:	8351      	ld.b      	r2, (r3, 0x11)
    8820:	3a80      	bclri      	r2, 0
				HT1621.show_cache[3] |= 0x04;
    8822:	39a1      	bseti      	r1, 1
    8824:	39a2      	bseti      	r1, 2
				HT1621.show_cache[3] |= 0x04;
    8826:	a32f      	st.b      	r1, (r3, 0xf)
				HT1621.show_cache[5] |= 0x01;
    8828:	3aa0      	bseti      	r2, 0
    882a:	0766      	br      	0x86f6	// 86f6 <Control_Mode+0xba>
			else if(Debug_Inf.Language_Selection == 0x01)
    882c:	3a41      	cmpnei      	r2, 1
    882e:	0812      	bt      	0x8852	// 8852 <Control_Mode+0x216>
				HT1621.show_cache[0] &= ~0x0C;
    8830:	834c      	ld.b      	r2, (r3, 0xc)
    8832:	3a82      	bclri      	r2, 2
    8834:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8836:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    8838:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    883a:	834d      	ld.b      	r2, (r3, 0xd)
    883c:	6881      	andn      	r2, r0
    883e:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8840:	834e      	ld.b      	r2, (r3, 0xe)
    8842:	6881      	andn      	r2, r0
				HT1621.show_cache[3] &= ~0x07;
    8844:	832f      	ld.b      	r1, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    8846:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8848:	6841      	andn      	r1, r0
				HT1621.show_cache[5] &= ~0x01;
    884a:	8351      	ld.b      	r2, (r3, 0x11)
    884c:	3a80      	bclri      	r2, 0
				HT1621.show_cache[3] |= 0x02;
    884e:	39a1      	bseti      	r1, 1
    8850:	07eb      	br      	0x8826	// 8826 <Control_Mode+0x1ea>
			else if(Debug_Inf.Language_Selection == 0x02)
    8852:	3a42      	cmpnei      	r2, 2
    8854:	0b40      	bt      	0x86d4	// 86d4 <Control_Mode+0x98>
				HT1621.show_cache[0] &= ~0x0C;
    8856:	834c      	ld.b      	r2, (r3, 0xc)
    8858:	3a82      	bclri      	r2, 2
    885a:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    885c:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    885e:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    8860:	834d      	ld.b      	r2, (r3, 0xd)
    8862:	6881      	andn      	r2, r0
    8864:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8866:	834e      	ld.b      	r2, (r3, 0xe)
    8868:	6881      	andn      	r2, r0
				HT1621.show_cache[3] &= ~0x07;
    886a:	832f      	ld.b      	r1, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    886c:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    886e:	6841      	andn      	r1, r0
				HT1621.show_cache[5] &= ~0x01;
    8870:	8351      	ld.b      	r2, (r3, 0x11)
    8872:	3a80      	bclri      	r2, 0
				HT1621.show_cache[3] |= 0x04;
    8874:	39a2      	bseti      	r1, 2
    8876:	07d8      	br      	0x8826	// 8826 <Control_Mode+0x1ea>
    8878:	20000868 	.long	0x20000868
    887c:	200005c0 	.long	0x200005c0

Disassembly of section .text.Control_wind_velocity:

00008880 <Control_wind_velocity>:
* 					3 -> 风速停
*                   4 -> 自动风速
*                   
*/
void Control_wind_velocity(U8_T velocity)
{
    8880:	14d2      	push      	r4-r5, r15
    switch(velocity)
    8882:	3804      	cmphsi      	r0, 5
    8884:	0815      	bt      	0x88ae	// 88ae <Control_wind_velocity+0x2e>
    8886:	1172      	lrw      	r3, 0x200005c0	// 894c <Control_wind_velocity+0xcc>
    8888:	e3ffd63a 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    888c:	33201203 	.long	0x33201203
    8890:	0028      	.short	0x0028
    {
        case FAN_LOW:     //低风速
			HT1621.show_cache[4] &= ~0x0F;
			HT1621.show_cache[5] &= ~0x0E;
    8892:	8351      	ld.b      	r2, (r3, 0x11)
    8894:	310e      	movi      	r1, 14
    8896:	6885      	andn      	r2, r1
			HT1621.show_cache[4] &= ~0x0F;
    8898:	300f      	movi      	r0, 15
    889a:	8330      	ld.b      	r1, (r3, 0x10)
    889c:	6841      	andn      	r1, r0
		
            HT1621.show_cache[4] |= 0x08;
    889e:	3008      	movi      	r0, 8
			HT1621.show_cache[5] |= 0x08;
    88a0:	6c80      	or      	r2, r0
            HT1621.show_cache[4] |= 0x08;
    88a2:	6c40      	or      	r1, r0
			HT1621.show_cache[5] |= 0x08;
    88a4:	a351      	st.b      	r2, (r3, 0x11)
			
			HT1621.show_cache[3] |= 0x08;
    88a6:	834f      	ld.b      	r2, (r3, 0xf)
            HT1621.show_cache[4] |= 0x08;
    88a8:	a330      	st.b      	r1, (r3, 0x10)
			HT1621.show_cache[3] |= 0x08;
    88aa:	6c80      	or      	r2, r0
			HT1621.show_cache[5] &= ~0x0E;
		
            HT1621.show_cache[4] |= 0x0C;
			HT1621.show_cache[5] |= 0x0C;
			
			HT1621.show_cache[3] |= 0x08;
    88ac:	a34f      	st.b      	r2, (r3, 0xf)
            }
            break;
		default:
			break;
    }
}
    88ae:	1492      	pop      	r4-r5, r15
			HT1621.show_cache[5] &= ~0x0E;
    88b0:	310e      	movi      	r1, 14
    88b2:	8351      	ld.b      	r2, (r3, 0x11)
			HT1621.show_cache[4] &= ~0x0F;
    88b4:	300f      	movi      	r0, 15
			HT1621.show_cache[5] &= ~0x0E;
    88b6:	6885      	andn      	r2, r1
			HT1621.show_cache[4] &= ~0x0F;
    88b8:	8330      	ld.b      	r1, (r3, 0x10)
    88ba:	6841      	andn      	r1, r0
            HT1621.show_cache[4] |= 0x0C;
    88bc:	300c      	movi      	r0, 12
			HT1621.show_cache[5] |= 0x0C;
    88be:	6c80      	or      	r2, r0
            HT1621.show_cache[4] |= 0x0C;
    88c0:	6c40      	or      	r1, r0
			HT1621.show_cache[5] |= 0x0C;
    88c2:	a351      	st.b      	r2, (r3, 0x11)
			HT1621.show_cache[3] |= 0x08;
    88c4:	834f      	ld.b      	r2, (r3, 0xf)
            HT1621.show_cache[4] |= 0x0C;
    88c6:	a330      	st.b      	r1, (r3, 0x10)
			HT1621.show_cache[3] |= 0x08;
    88c8:	3aa3      	bseti      	r2, 3
    88ca:	07f1      	br      	0x88ac	// 88ac <Control_wind_velocity+0x2c>
			HT1621.show_cache[5] &= ~0x0E;
    88cc:	310e      	movi      	r1, 14
    88ce:	8351      	ld.b      	r2, (r3, 0x11)
			HT1621.show_cache[4] &= ~0x0F;
    88d0:	300f      	movi      	r0, 15
			HT1621.show_cache[5] &= ~0x0E;
    88d2:	6885      	andn      	r2, r1
			HT1621.show_cache[4] &= ~0x0F;
    88d4:	8330      	ld.b      	r1, (r3, 0x10)
    88d6:	6841      	andn      	r1, r0
            HT1621.show_cache[4] |= 0x0E;
    88d8:	300e      	movi      	r0, 14
    88da:	07f2      	br      	0x88be	// 88be <Control_wind_velocity+0x3e>
			HT1621.show_cache[4] &= ~0x0F;
    88dc:	8350      	ld.b      	r2, (r3, 0x10)
    88de:	310f      	movi      	r1, 15
    88e0:	6885      	andn      	r2, r1
    88e2:	a350      	st.b      	r2, (r3, 0x10)
			HT1621.show_cache[5] &= ~0x0E;
    88e4:	310e      	movi      	r1, 14
    88e6:	8351      	ld.b      	r2, (r3, 0x11)
    88e8:	6885      	andn      	r2, r1
    88ea:	a351      	st.b      	r2, (r3, 0x11)
			HT1621.show_cache[3] &= ~0x08;	
    88ec:	834f      	ld.b      	r2, (r3, 0xf)
    88ee:	3a83      	bclri      	r2, 3
    88f0:	07de      	br      	0x88ac	// 88ac <Control_wind_velocity+0x2c>
			HT1621.show_cache[4] &= ~0x0F;
    88f2:	8330      	ld.b      	r1, (r3, 0x10)
    88f4:	320f      	movi      	r2, 15
    88f6:	6849      	andn      	r1, r2
			HT1621.show_cache[5] &= ~0x0E;
    88f8:	300e      	movi      	r0, 14
    88fa:	8351      	ld.b      	r2, (r3, 0x11)
			HT1621.show_cache[3] |= 0x08;
    88fc:	83af      	ld.b      	r5, (r3, 0xf)
			HT1621.show_cache[5] &= ~0x0E;
    88fe:	6881      	andn      	r2, r0
			HT1621.show_cache[3] |= 0x08;
    8900:	3408      	movi      	r4, 8
    8902:	6c17      	mov      	r0, r5
    8904:	6c10      	or      	r0, r4
    8906:	a30f      	st.b      	r0, (r3, 0xf)
			HT1621.show_cache[4] |= 0x01;
    8908:	6c07      	mov      	r0, r1
    890a:	38a0      	bseti      	r0, 0
    890c:	a310      	st.b      	r0, (r3, 0x10)
            if(HT1621.wind_velocity == 3)       //关风扇
    890e:	8303      	ld.b      	r0, (r3, 0x3)
    8910:	3843      	cmpnei      	r0, 3
			HT1621.show_cache[5] &= ~0x0E;
    8912:	a351      	st.b      	r2, (r3, 0x11)
            if(HT1621.wind_velocity == 3)       //关风扇
    8914:	0804      	bt      	0x891c	// 891c <Control_wind_velocity+0x9c>
				HT1621.show_cache[3] &= ~0x08;
    8916:	3d83      	bclri      	r5, 3
    8918:	a3af      	st.b      	r5, (r3, 0xf)
    891a:	07ca      	br      	0x88ae	// 88ae <Control_wind_velocity+0x2e>
            }else if(HT1621.wind_velocity == 0) //低风速
    891c:	3840      	cmpnei      	r0, 0
    891e:	0807      	bt      	0x892c	// 892c <Control_wind_velocity+0xac>
				HT1621.show_cache[4] |= 0x08;
    8920:	39a0      	bseti      	r1, 0
    8922:	39a3      	bseti      	r1, 3
    8924:	a330      	st.b      	r1, (r3, 0x10)
				HT1621.show_cache[5] |= 0x08;
    8926:	6c90      	or      	r2, r4
				HT1621.show_cache[5] |= 0x0E;
    8928:	a351      	st.b      	r2, (r3, 0x11)
}
    892a:	07c2      	br      	0x88ae	// 88ae <Control_wind_velocity+0x2e>
            }else if(HT1621.wind_velocity == 1) //中风速
    892c:	3841      	cmpnei      	r0, 1
    892e:	0807      	bt      	0x893c	// 893c <Control_wind_velocity+0xbc>
				HT1621.show_cache[4] |= 0x0C;
    8930:	300d      	movi      	r0, 13
    8932:	6c40      	or      	r1, r0
    8934:	a330      	st.b      	r1, (r3, 0x10)
				HT1621.show_cache[5] |= 0x0C;
    8936:	3aa2      	bseti      	r2, 2
    8938:	3aa3      	bseti      	r2, 3
    893a:	07f7      	br      	0x8928	// 8928 <Control_wind_velocity+0xa8>
            }else if(HT1621.wind_velocity == 2) //高风速
    893c:	3842      	cmpnei      	r0, 2
    893e:	0bb8      	bt      	0x88ae	// 88ae <Control_wind_velocity+0x2e>
				HT1621.show_cache[4] |= 0x0E;
    8940:	300f      	movi      	r0, 15
    8942:	6c40      	or      	r1, r0
    8944:	a330      	st.b      	r1, (r3, 0x10)
				HT1621.show_cache[5] |= 0x0E;
    8946:	310e      	movi      	r1, 14
    8948:	6c84      	or      	r2, r1
    894a:	07ef      	br      	0x8928	// 8928 <Control_wind_velocity+0xa8>
    894c:	200005c0 	.long	0x200005c0

Disassembly of section .text.Control_Prompt_Text:

00008950 <Control_Prompt_Text>:
*参数功能：state : 0 -> 开，中英混合
*                   1 -> 开，中文提示
* 					2 ->  开，英语提示
* 					3 ->关
*/
void Control_Prompt_Text(U8_T state){
    8950:	14c4      	push      	r4-r7
    8952:	1421      	subi      	r14, r14, 4
	//中文消除
	HT1621.show_cache[0] &= ~0x01;		//模式
    8954:	1167      	lrw      	r3, 0x200005c0	// 89f0 <Control_Prompt_Text+0xa0>
	HT1621.show_cache[12] &= ~0x01;		//设置温度
	HT1621.show_cache[19] &= ~0x01;		//室内温度
	//英语消除
	HT1621.show_cache[0] &= ~0x02;		//模式
	HT1621.show_cache[2] &= ~0x08;		//风速
	HT1621.show_cache[10] &= ~0x01;		//设置温度
    8956:	83d6      	ld.b      	r6, (r3, 0x16)
    8958:	3e80      	bclri      	r6, 0
    895a:	7598      	zextb      	r6, r6
    895c:	b8c0      	st.w      	r6, (r14, 0x0)
    895e:	d8ce0000 	ld.b      	r6, (r14, 0x0)
	HT1621.show_cache[0] &= ~0x01;		//模式
    8962:	834c      	ld.b      	r2, (r3, 0xc)
	HT1621.show_cache[1] &= ~0x08;		//风速
    8964:	83ad      	ld.b      	r5, (r3, 0xd)
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8966:	8398      	ld.b      	r4, (r3, 0x18)
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8968:	833f      	ld.b      	r1, (r3, 0x1f)
	HT1621.show_cache[2] &= ~0x08;		//风速
    896a:	83ee      	ld.b      	r7, (r3, 0xe)
	HT1621.show_cache[10] &= ~0x01;		//设置温度
    896c:	a3d6      	st.b      	r6, (r3, 0x16)
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    896e:	83dd      	ld.b      	r6, (r3, 0x1d)
	HT1621.show_cache[1] &= ~0x08;		//风速
    8970:	3d83      	bclri      	r5, 3
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8972:	3c80      	bclri      	r4, 0
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8974:	3980      	bclri      	r1, 0
	HT1621.show_cache[0] &= ~0x02;		//模式
    8976:	3a80      	bclri      	r2, 0
    8978:	3a81      	bclri      	r2, 1
	HT1621.show_cache[2] &= ~0x08;		//风速
    897a:	3f83      	bclri      	r7, 3
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    897c:	3e80      	bclri      	r6, 0
	HT1621.show_cache[1] &= ~0x08;		//风速
    897e:	7554      	zextb      	r5, r5
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8980:	7510      	zextb      	r4, r4
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8982:	7444      	zextb      	r1, r1
	HT1621.show_cache[0] &= ~0x02;		//模式
    8984:	7488      	zextb      	r2, r2
	HT1621.show_cache[2] &= ~0x08;		//风速
    8986:	75dc      	zextb      	r7, r7
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    8988:	7598      	zextb      	r6, r6
	
	if(state == 0x00)
    898a:	3840      	cmpnei      	r0, 0
	HT1621.show_cache[1] &= ~0x08;		//风速
    898c:	a3ad      	st.b      	r5, (r3, 0xd)
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    898e:	a398      	st.b      	r4, (r3, 0x18)
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8990:	a33f      	st.b      	r1, (r3, 0x1f)
	HT1621.show_cache[0] &= ~0x02;		//模式
    8992:	a34c      	st.b      	r2, (r3, 0xc)
	HT1621.show_cache[2] &= ~0x08;		//风速
    8994:	a3ee      	st.b      	r7, (r3, 0xe)
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    8996:	a3dd      	st.b      	r6, (r3, 0x1d)
	if(state == 0x00)
    8998:	0814      	bt      	0x89c0	// 89c0 <Control_Prompt_Text+0x70>
	{
		//中文
		HT1621.show_cache[0] |= 0x01;		//模式
		HT1621.show_cache[1] |= 0x08;		//风速
    899a:	3008      	movi      	r0, 8
    899c:	6d40      	or      	r5, r0
		HT1621.show_cache[12] |= 0x01;		//设置温度
		HT1621.show_cache[19] |= 0x01;		//室内温度
		//英文
		HT1621.show_cache[0] |= 0x02;		//模式
    899e:	3aa0      	bseti      	r2, 0
    89a0:	3aa1      	bseti      	r2, 1
		HT1621.show_cache[1] |= 0x08;		//风速
    89a2:	a3ad      	st.b      	r5, (r3, 0xd)
		HT1621.show_cache[0] |= 0x02;		//模式
    89a4:	a34c      	st.b      	r2, (r3, 0xc)
		HT1621.show_cache[12] |= 0x01;		//设置温度
    89a6:	3501      	movi      	r5, 1
		HT1621.show_cache[2] |= 0x08;		//风速
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89a8:	9840      	ld.w      	r2, (r14, 0x0)
		HT1621.show_cache[12] |= 0x01;		//设置温度
    89aa:	6d14      	or      	r4, r5
		HT1621.show_cache[19] |= 0x01;		//室内温度
    89ac:	6c54      	or      	r1, r5
		HT1621.show_cache[2] |= 0x08;		//风速
    89ae:	6dc0      	or      	r7, r0
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89b0:	6c94      	or      	r2, r5
		HT1621.show_cache[12] |= 0x01;		//设置温度
    89b2:	a398      	st.b      	r4, (r3, 0x18)
		HT1621.show_cache[19] |= 0x01;		//室内温度
    89b4:	a33f      	st.b      	r1, (r3, 0x1f)
		HT1621.show_cache[2] |= 0x08;		//风速
    89b6:	a3ee      	st.b      	r7, (r3, 0xe)
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89b8:	a356      	st.b      	r2, (r3, 0x16)
		HT1621.show_cache[17] |= 0x01;		//室内温度		
    89ba:	6d94      	or      	r6, r5
		HT1621.show_cache[19] |= 0x01;		//室内温度
	}else if(state == 0x02){
		HT1621.show_cache[0] |= 0x02;		//模式
		HT1621.show_cache[2] |= 0x08;		//风速
		HT1621.show_cache[10] |= 0x01;		//设置温度
		HT1621.show_cache[17] |= 0x01;		//室内温度
    89bc:	a3dd      	st.b      	r6, (r3, 0x1d)
		HT1621.show_cache[0] &= ~0x02;		//模式
		HT1621.show_cache[2] &= ~0x08;		//风速
		HT1621.show_cache[10] &= ~0x01;		//设置温度
		HT1621.show_cache[17] &= ~0x01;		//室内温度
	}
}
    89be:	040b      	br      	0x89d4	// 89d4 <Control_Prompt_Text+0x84>
	else if(state == 0x01){
    89c0:	3841      	cmpnei      	r0, 1
    89c2:	080b      	bt      	0x89d8	// 89d8 <Control_Prompt_Text+0x88>
		HT1621.show_cache[0] |= 0x01;		//模式
    89c4:	6c80      	or      	r2, r0
		HT1621.show_cache[1] |= 0x08;		//风速
    89c6:	3da3      	bseti      	r5, 3
		HT1621.show_cache[12] |= 0x01;		//设置温度
    89c8:	6d00      	or      	r4, r0
		HT1621.show_cache[19] |= 0x01;		//室内温度
    89ca:	6c40      	or      	r1, r0
		HT1621.show_cache[0] |= 0x01;		//模式
    89cc:	a34c      	st.b      	r2, (r3, 0xc)
		HT1621.show_cache[1] |= 0x08;		//风速
    89ce:	a3ad      	st.b      	r5, (r3, 0xd)
		HT1621.show_cache[12] |= 0x01;		//设置温度
    89d0:	a398      	st.b      	r4, (r3, 0x18)
		HT1621.show_cache[19] |= 0x01;		//室内温度
    89d2:	a33f      	st.b      	r1, (r3, 0x1f)
}
    89d4:	1401      	addi      	r14, r14, 4
    89d6:	1484      	pop      	r4-r7
	}else if(state == 0x02){
    89d8:	3842      	cmpnei      	r0, 2
    89da:	0bfd      	bt      	0x89d4	// 89d4 <Control_Prompt_Text+0x84>
		HT1621.show_cache[0] |= 0x02;		//模式
    89dc:	3aa1      	bseti      	r2, 1
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89de:	3101      	movi      	r1, 1
		HT1621.show_cache[0] |= 0x02;		//模式
    89e0:	a34c      	st.b      	r2, (r3, 0xc)
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89e2:	9840      	ld.w      	r2, (r14, 0x0)
		HT1621.show_cache[2] |= 0x08;		//风速
    89e4:	3fa3      	bseti      	r7, 3
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89e6:	6c84      	or      	r2, r1
		HT1621.show_cache[2] |= 0x08;		//风速
    89e8:	a3ee      	st.b      	r7, (r3, 0xe)
		HT1621.show_cache[10] |= 0x01;		//设置温度
    89ea:	a356      	st.b      	r2, (r3, 0x16)
		HT1621.show_cache[17] |= 0x01;		//室内温度
    89ec:	6d84      	or      	r6, r1
    89ee:	07e7      	br      	0x89bc	// 89bc <Control_Prompt_Text+0x6c>
    89f0:	200005c0 	.long	0x200005c0

Disassembly of section .text.Controlled_Buzzer:

000089f4 <Controlled_Buzzer>:

/*
*函数功能：控制蜂鸣器
*参数功能：state : 控制状态 0x00:关，0x01:开 100ms，0x02：开 500ms
*/
void Controlled_Buzzer(U8_T state) {
    89f4:	14d0      	push      	r15
    
    //Dbg_Println(DBG_BIT_SYS_STATUS, "Controlled_Buzzer %d",g_switch.local_buz_flag);
    switch (state) {
    89f6:	3841      	cmpnei      	r0, 1
    89f8:	0c0a      	bf      	0x8a0c	// 8a0c <Controlled_Buzzer+0x18>
    89fa:	3840      	cmpnei      	r0, 0
    89fc:	0c04      	bf      	0x8a04	// 8a04 <Controlled_Buzzer+0x10>
    89fe:	3842      	cmpnei      	r0, 2
    8a00:	0c12      	bf      	0x8a24	// 8a24 <Controlled_Buzzer+0x30>
        HT1621_WR_CMD(HT1621_BLON);
        HT1621.buz_control = 0x02;
        HT1621.buz_tick = SysTick_1ms;
        break;
    }
}
    8a02:	1490      	pop      	r15
        HT1621_WR_CMD(HT1621_BIOFF);
    8a04:	3010      	movi      	r0, 16
    8a06:	e3fffc6b 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
        break;
    8a0a:	07fc      	br      	0x8a02	// 8a02 <Controlled_Buzzer+0xe>
        HT1621_WR_CMD(HT1621_BLON);
    8a0c:	3012      	movi      	r0, 18
    8a0e:	e3fffc67 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
        HT1621.buz_control = 0x01;
    8a12:	1069      	lrw      	r3, 0x200005c0	// 8a34 <Controlled_Buzzer+0x40>
    8a14:	3220      	movi      	r2, 32
    8a16:	608c      	addu      	r2, r3
    8a18:	3101      	movi      	r1, 1
        HT1621.buz_control = 0x02;
    8a1a:	a224      	st.b      	r1, (r2, 0x4)
        HT1621.buz_tick = SysTick_1ms;
    8a1c:	1047      	lrw      	r2, 0x200000c0	// 8a38 <Controlled_Buzzer+0x44>
    8a1e:	9240      	ld.w      	r2, (r2, 0x0)
    8a20:	b34e      	st.w      	r2, (r3, 0x38)
}
    8a22:	07f0      	br      	0x8a02	// 8a02 <Controlled_Buzzer+0xe>
        HT1621_WR_CMD(HT1621_BLON);
    8a24:	3012      	movi      	r0, 18
    8a26:	e3fffc5b 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
        HT1621.buz_control = 0x02;
    8a2a:	1063      	lrw      	r3, 0x200005c0	// 8a34 <Controlled_Buzzer+0x40>
    8a2c:	3220      	movi      	r2, 32
    8a2e:	608c      	addu      	r2, r3
    8a30:	3102      	movi      	r1, 2
    8a32:	07f4      	br      	0x8a1a	// 8a1a <Controlled_Buzzer+0x26>
    8a34:	200005c0 	.long	0x200005c0
    8a38:	200000c0 	.long	0x200000c0

Disassembly of section .text.Controlled_LCD_Backlight:

00008a3c <Controlled_LCD_Backlight>:

/*
*函数功能：控制LCD 背光
*参数功能：state : 控制状态 0x00:关，0x01:开，蓝开(制冷)；红开(制热)；白开(通风)
*/
void Controlled_LCD_Backlight(U8_T state){
    8a3c:	14d0      	push      	r15
	switch (state) {
    8a3e:	3840      	cmpnei      	r0, 0
    8a40:	0c04      	bf      	0x8a48	// 8a48 <Controlled_LCD_Backlight+0xc>
    8a42:	3841      	cmpnei      	r0, 1
    8a44:	0c16      	bf      	0x8a70	// 8a70 <Controlled_LCD_Backlight+0x34>
		
		}        
        break;

	}
}
    8a46:	1490      	pop      	r15
       if(tm1812_param.LCD_blaklingt_flag == 0x01)
    8a48:	1172      	lrw      	r3, 0x200001a0	// 8b10 <Controlled_LCD_Backlight+0xd4>
    8a4a:	8359      	ld.b      	r2, (r3, 0x19)
    8a4c:	3a41      	cmpnei      	r2, 1
    8a4e:	0bfc      	bt      	0x8a46	// 8a46 <Controlled_LCD_Backlight+0xa>
			tm1812_param.LCD_blaklingt_flag = 0x00;
    8a50:	3200      	movi      	r2, 0
    8a52:	a359      	st.b      	r2, (r3, 0x19)
			Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8a54:	3100      	movi      	r1, 0
    8a56:	3000      	movi      	r0, 0
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8a58:	e3fffb6c 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,0);
    8a5c:	3100      	movi      	r1, 0
    8a5e:	3001      	movi      	r0, 1
    8a60:	e3fffb68 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8a64:	3100      	movi      	r1, 0
    8a66:	3002      	movi      	r0, 2
    8a68:	e3fffb64 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8a6c:	3100      	movi      	r1, 0
    8a6e:	0437      	br      	0x8adc	// 8adc <Controlled_LCD_Backlight+0xa0>
		if(tm1812_param.LCD_blaklingt_flag == 0x00)
    8a70:	1128      	lrw      	r1, 0x200001a0	// 8b10 <Controlled_LCD_Backlight+0xd4>
    8a72:	8179      	ld.b      	r3, (r1, 0x19)
    8a74:	3b40      	cmpnei      	r3, 0
    8a76:	0be8      	bt      	0x8a46	// 8a46 <Controlled_LCD_Backlight+0xa>
			tm1812_param.LCD_blaklingt_flag = 0x01;
    8a78:	3301      	movi      	r3, 1
    8a7a:	a179      	st.b      	r3, (r1, 0x19)
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8a7c:	3000      	movi      	r0, 0
			tm1812_param.LCD_blacklingt_mode = TempCtrl.TemState_Now.mode;
    8a7e:	1166      	lrw      	r3, 0x2000083c	// 8b14 <Controlled_LCD_Backlight+0xd8>
    8a80:	8362      	ld.b      	r3, (r3, 0x2)
    8a82:	4379      	lsli      	r3, r3, 25
    8a84:	4b7d      	lsri      	r3, r3, 29
    8a86:	748c      	zextb      	r2, r3
			switch(TempCtrl.TemState_Now.mode)
    8a88:	3a42      	cmpnei      	r2, 2
			tm1812_param.LCD_blacklingt_mode = TempCtrl.TemState_Now.mode;
    8a8a:	a17a      	st.b      	r3, (r1, 0x1a)
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8a8c:	3100      	movi      	r1, 0
			switch(TempCtrl.TemState_Now.mode)
    8a8e:	0c1c      	bf      	0x8ac6	// 8ac6 <Controlled_LCD_Backlight+0x8a>
    8a90:	3a44      	cmpnei      	r2, 4
    8a92:	0c2a      	bf      	0x8ae6	// 8ae6 <Controlled_LCD_Backlight+0xaa>
    8a94:	3a40      	cmpnei      	r2, 0
    8a96:	0be1      	bt      	0x8a58	// 8a58 <Controlled_LCD_Backlight+0x1c>
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8a98:	e3fffb4c 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,255);
    8a9c:	31ff      	movi      	r1, 255
    8a9e:	3001      	movi      	r0, 1
    8aa0:	e3fffb48 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8aa4:	3100      	movi      	r1, 0
    8aa6:	3002      	movi      	r0, 2
    8aa8:	e3fffb44 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8aac:	3100      	movi      	r1, 0
    8aae:	3003      	movi      	r0, 3
    8ab0:	e3fffb40 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W2,0);
    8ab4:	3100      	movi      	r1, 0
    8ab6:	3004      	movi      	r0, 4
    8ab8:	e3fffb3c 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B2,255);	
    8abc:	31ff      	movi      	r1, 255
					Tm1812_Ch_Insert_Data(LCM_BK_B2,0);					
    8abe:	3005      	movi      	r0, 5
    8ac0:	e3fffb38 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
}
    8ac4:	07c1      	br      	0x8a46	// 8a46 <Controlled_LCD_Backlight+0xa>
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8ac6:	e3fffb35 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,255);
    8aca:	31ff      	movi      	r1, 255
    8acc:	3001      	movi      	r0, 1
    8ace:	e3fffb31 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8ad2:	3100      	movi      	r1, 0
    8ad4:	3002      	movi      	r0, 2
    8ad6:	e3fffb2d 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,255);
    8ada:	31ff      	movi      	r1, 255
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8adc:	3003      	movi      	r0, 3
    8ade:	e3fffb29 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W2,0);
    8ae2:	3100      	movi      	r1, 0
    8ae4:	0410      	br      	0x8b04	// 8b04 <Controlled_LCD_Backlight+0xc8>
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8ae6:	e3fffb25 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,255);
    8aea:	31ff      	movi      	r1, 255
    8aec:	3001      	movi      	r0, 1
    8aee:	e3fffb21 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8af2:	3100      	movi      	r1, 0
    8af4:	3002      	movi      	r0, 2
    8af6:	e3fffb1d 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8afa:	3100      	movi      	r1, 0
    8afc:	3003      	movi      	r0, 3
    8afe:	e3fffb19 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W2,255);
    8b02:	31ff      	movi      	r1, 255
					Tm1812_Ch_Insert_Data(LCM_BK_W2,0);
    8b04:	3004      	movi      	r0, 4
    8b06:	e3fffb15 	bsr      	0x8130	// 8130 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B2,0);					
    8b0a:	3100      	movi      	r1, 0
    8b0c:	07d9      	br      	0x8abe	// 8abe <Controlled_LCD_Backlight+0x82>
    8b0e:	0000      	bkpt
    8b10:	200001a0 	.long	0x200001a0
    8b14:	2000083c 	.long	0x2000083c

Disassembly of section .text.Controlled_Key_Backlight:

00008b18 <Controlled_Key_Backlight>:
/*
*函数功能：控制按键 背光
*参数功能：state : 控制状态 0x00:关，0x01:开 
*/

void Controlled_Key_Backlight(U8_T state){
    8b18:	14d0      	push      	r15
	switch(state){
    8b1a:	3840      	cmpnei      	r0, 0
    8b1c:	0c04      	bf      	0x8b24	// 8b24 <Controlled_Key_Backlight+0xc>
    8b1e:	3841      	cmpnei      	r0, 1
    8b20:	0c0b      	bf      	0x8b36	// 8b36 <Controlled_Key_Backlight+0x1e>
	
			}

			break;
	}
}
    8b22:	1490      	pop      	r15
			if(g_switch.light_state[T_Backlight] != Control_OFF)
    8b24:	1068      	lrw      	r3, 0x200005a4	// 8b44 <Controlled_Key_Backlight+0x2c>
    8b26:	836a      	ld.b      	r3, (r3, 0xa)
    8b28:	3b42      	cmpnei      	r3, 2
    8b2a:	0ffc      	bf      	0x8b22	// 8b22 <Controlled_Key_Backlight+0xa>
				Contol_Switch_Light_2(T_Backlight,Control_OFF);
    8b2c:	3102      	movi      	r1, 2
				Contol_Switch_Light_2(T_Backlight,Control_ON);
    8b2e:	3005      	movi      	r0, 5
    8b30:	e3fff7c2 	bsr      	0x7ab4	// 7ab4 <Contol_Switch_Light_2>
}
    8b34:	07f7      	br      	0x8b22	// 8b22 <Controlled_Key_Backlight+0xa>
			if(g_switch.light_state[T_Backlight] != Control_ON)
    8b36:	1064      	lrw      	r3, 0x200005a4	// 8b44 <Controlled_Key_Backlight+0x2c>
    8b38:	836a      	ld.b      	r3, (r3, 0xa)
    8b3a:	3b41      	cmpnei      	r3, 1
    8b3c:	0ff3      	bf      	0x8b22	// 8b22 <Controlled_Key_Backlight+0xa>
				Contol_Switch_Light_2(T_Backlight,Control_ON);
    8b3e:	3101      	movi      	r1, 1
    8b40:	07f7      	br      	0x8b2e	// 8b2e <Controlled_Key_Backlight+0x16>
    8b42:	0000      	bkpt
    8b44:	200005a4 	.long	0x200005a4

Disassembly of section .text.Set_Device_ADDR:

00008b48 <Set_Device_ADDR>:

/*
*函数功能：管理界面 - 显示设置本机设备地址
*参数功能：addr : 0~255
*/
void Set_Device_ADDR(U8_T page, U8_T addr){
    8b48:	14d4      	push      	r4-r7, r15
    8b4a:	1423      	subi      	r14, r14, 12
	
	//显示1	
	HT1621.show_cache[10] &= 0x01;
    HT1621.show_cache[9] = 0x00; 
	
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b4c:	11c4      	lrw      	r6, 0xca96	// 8bdc <Set_Device_ADDR+0x94>
    8b4e:	6018      	addu      	r0, r6
    8b50:	1184      	lrw      	r4, 0x200005c0	// 8be0 <Set_Device_ADDR+0x98>
void Set_Device_ADDR(U8_T page, U8_T addr){
    8b52:	6dc7      	mov      	r7, r1
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b54:	8020      	ld.b      	r1, (r0, 0x0)
	HT1621.show_cache[10] &= 0x01;
    8b56:	3301      	movi      	r3, 1
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b58:	350f      	movi      	r5, 15
	HT1621.show_cache[10] &= 0x01;
    8b5a:	8456      	ld.b      	r2, (r4, 0x16)
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b5c:	6c07      	mov      	r0, r1
	HT1621.show_cache[10] &= 0x01;
    8b5e:	688c      	and      	r2, r3
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b60:	6814      	and      	r0, r5
    HT1621.show_cache[9] |= Diaital[page] >> 4;
    8b62:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b64:	6c80      	or      	r2, r0
    HT1621.show_cache[9] |= Diaital[page] >> 4;
    8b66:	a435      	st.b      	r1, (r4, 0x15)
    //清楚原数字
    HT1621.show_cache[19] &= 0x01;
    HT1621.show_cache[18] = 0x00;
    HT1621.show_cache[17] &= 0x01;
    HT1621.show_cache[16] = 0x00;      
    HT1621.show_cache[15] &= 0x01;
    8b68:	843b      	ld.b      	r1, (r4, 0x1b)
    8b6a:	684c      	and      	r1, r3
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8b6c:	a456      	st.b      	r2, (r4, 0x16)
    HT1621.show_cache[17] &= 0x01;
    8b6e:	845d      	ld.b      	r2, (r4, 0x1d)
    8b70:	688c      	and      	r2, r3
    HT1621.show_cache[15] &= 0x01;
    8b72:	b820      	st.w      	r1, (r14, 0x0)
    U8_T tmp_H = tmp_Integer/10;
    8b74:	6c1f      	mov      	r0, r7
    8b76:	3164      	movi      	r1, 100
    HT1621.show_cache[17] &= 0x01;
    8b78:	b842      	st.w      	r2, (r14, 0x8)
    HT1621.show_cache[15] &= 0x01;
    8b7a:	b861      	st.w      	r3, (r14, 0x4)
    U8_T tmp_H = tmp_Integer/10;
    8b7c:	e3ffeaf4 	bsr      	0x6164	// 6164 <__udivsi3>
	HT1621.show_cache[14] = 0x00;    
    //显示
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8b80:	7400      	zextb      	r0, r0
    8b82:	6018      	addu      	r0, r6
    8b84:	8020      	ld.b      	r1, (r0, 0x0)
    HT1621.show_cache[19] &= 0x01;
    8b86:	9861      	ld.w      	r3, (r14, 0x4)
    8b88:	841f      	ld.b      	r0, (r4, 0x1f)
    8b8a:	68c0      	and      	r3, r0
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8b8c:	6c07      	mov      	r0, r1
    8b8e:	6814      	and      	r0, r5
    8b90:	6cc0      	or      	r3, r0
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    8b92:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8b94:	a47f      	st.b      	r3, (r4, 0x1f)
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    8b96:	a43e      	st.b      	r1, (r4, 0x1e)
	U8_T tmp_Integer = addr/10;
    8b98:	6c1f      	mov      	r0, r7
    8b9a:	310a      	movi      	r1, 10
    8b9c:	e3ffeae4 	bsr      	0x6164	// 6164 <__udivsi3>
    U8_T tmp_L = tmp_Integer%10;
    8ba0:	7400      	zextb      	r0, r0
    8ba2:	310a      	movi      	r1, 10
    8ba4:	e3ffeb04 	bsr      	0x61ac	// 61ac <__umodsi3>
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    8ba8:	7400      	zextb      	r0, r0
    8baa:	6018      	addu      	r0, r6
    8bac:	8060      	ld.b      	r3, (r0, 0x0)
    8bae:	6c4f      	mov      	r1, r3
    8bb0:	6854      	and      	r1, r5
    8bb2:	9842      	ld.w      	r2, (r14, 0x8)
    8bb4:	6c84      	or      	r2, r1
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    8bb6:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    8bb8:	a45d      	st.b      	r2, (r4, 0x1d)
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    8bba:	a47c      	st.b      	r3, (r4, 0x1c)
    U8_T tmp_quantile = addr%10;
    8bbc:	310a      	movi      	r1, 10
    8bbe:	6c1f      	mov      	r0, r7
    8bc0:	e3ffeaf6 	bsr      	0x61ac	// 61ac <__umodsi3>
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    8bc4:	7400      	zextb      	r0, r0
    8bc6:	6180      	addu      	r6, r0
    8bc8:	8660      	ld.b      	r3, (r6, 0x0)
    8bca:	694c      	and      	r5, r3
    8bcc:	9840      	ld.w      	r2, (r14, 0x0)
    8bce:	6d48      	or      	r5, r2
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    8bd0:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    8bd2:	a4bb      	st.b      	r5, (r4, 0x1b)
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    8bd4:	a47a      	st.b      	r3, (r4, 0x1a)
}
    8bd6:	1403      	addi      	r14, r14, 12
    8bd8:	1494      	pop      	r4-r7, r15
    8bda:	0000      	bkpt
    8bdc:	0000ca96 	.long	0x0000ca96
    8be0:	200005c0 	.long	0x200005c0

Disassembly of section .text.Set_Temp_Difference:

00008be4 <Set_Temp_Difference>:

	//显示1
	HT1621.show_cache[10] &= 0x01;
    HT1621.show_cache[9] = 0x00; 
	
    HT1621.show_cache[10] |= Diaital[2]&0x0F;
    8be4:	1057      	lrw      	r2, 0x200005c0	// 8c40 <Set_Temp_Difference+0x5c>
	HT1621.show_cache[10] &= 0x01;
    8be6:	3101      	movi      	r1, 1
    8be8:	8276      	ld.b      	r3, (r2, 0x16)
    8bea:	68c4      	and      	r3, r1
    HT1621.show_cache[10] |= Diaital[2]&0x0F;
    8bec:	3ba1      	bseti      	r3, 1
    8bee:	3ba2      	bseti      	r3, 2
    8bf0:	a276      	st.b      	r3, (r2, 0x16)
    HT1621.show_cache[9] |= Diaital[2] >> 4;
    8bf2:	330d      	movi      	r3, 13
    8bf4:	a275      	st.b      	r3, (r2, 0x15)
	
    //清楚原数字
    HT1621.show_cache[19] &= 0x01;
    8bf6:	827f      	ld.b      	r3, (r2, 0x1f)
    8bf8:	68c4      	and      	r3, r1
    8bfa:	a27f      	st.b      	r3, (r2, 0x1f)
    HT1621.show_cache[18] = 0x00;
    8bfc:	3300      	movi      	r3, 0
    8bfe:	a27e      	st.b      	r3, (r2, 0x1e)
    HT1621.show_cache[17] &= 0x01;
    8c00:	827d      	ld.b      	r3, (r2, 0x1d)
    8c02:	68c4      	and      	r3, r1
    8c04:	a27d      	st.b      	r3, (r2, 0x1d)
    HT1621.show_cache[16] = 0x00;      
    8c06:	3300      	movi      	r3, 0
    8c08:	a27c      	st.b      	r3, (r2, 0x1c)
    HT1621.show_cache[15] &= 0x01;
    8c0a:	827b      	ld.b      	r3, (r2, 0x1b)
    8c0c:	684c      	and      	r1, r3
	HT1621.show_cache[14] = 0x00;     
    
	//显示设置地址
    if((diff >= 0x09) && (diff <= 18) ){
    8c0e:	3300      	movi      	r3, 0
    8c10:	2b08      	subi      	r3, 9
    8c12:	60c0      	addu      	r3, r0
    8c14:	74cc      	zextb      	r3, r3
    8c16:	3b09      	cmphsi      	r3, 10
    8c18:	0c08      	bf      	0x8c28	// 8c28 <Set_Temp_Difference+0x44>
		tmp_quantile = diff - 9;
	}else if(diff < 0x09){
    8c1a:	3808      	cmphsi      	r0, 9
    8c1c:	0810      	bt      	0x8c3c	// 8c3c <Set_Temp_Difference+0x58>
		tmp_quantile = 9 - diff;
    8c1e:	3309      	movi      	r3, 9
    8c20:	60c2      	subu      	r3, r0
		
		//显示负号
		HT1621.show_cache[17] = 0x04;
    8c22:	3004      	movi      	r0, 4
		tmp_quantile = 9 - diff;
    8c24:	74cc      	zextb      	r3, r3
		HT1621.show_cache[17] = 0x04;
    8c26:	a21d      	st.b      	r0, (r2, 0x1d)
		HT1621.show_cache[16] = 0x00;
	}

    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4;      
    8c28:	1007      	lrw      	r0, 0xca96	// 8c44 <Set_Temp_Difference+0x60>
    8c2a:	60c0      	addu      	r3, r0
    8c2c:	8360      	ld.b      	r3, (r3, 0x0)
    8c2e:	4b04      	lsri      	r0, r3, 4
    8c30:	a21a      	st.b      	r0, (r2, 0x1a)
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F; 
    8c32:	300f      	movi      	r0, 15
    8c34:	68c0      	and      	r3, r0
    8c36:	6c4c      	or      	r1, r3
    8c38:	a23b      	st.b      	r1, (r2, 0x1b)
}
    8c3a:	783c      	jmp      	r15
    U8_T tmp_quantile = 0x00;
    8c3c:	3300      	movi      	r3, 0
    8c3e:	07f5      	br      	0x8c28	// 8c28 <Set_Temp_Difference+0x44>
    8c40:	200005c0 	.long	0x200005c0
    8c44:	0000ca96 	.long	0x0000ca96

Disassembly of section .text.HT1621_Refresh_Task:

00008c48 <HT1621_Refresh_Task>:


void HT1621_Refresh_Task(void){
    8c48:	14d2      	push      	r4-r5, r15
	
	if(SysTick_1ms - HT1621.Refresh_timing >= HT1621_Refresh_time){
    8c4a:	109e      	lrw      	r4, 0x200000c0	// 8cc0 <HT1621_Refresh_Task+0x78>
    8c4c:	10be      	lrw      	r5, 0x200005c0	// 8cc4 <HT1621_Refresh_Task+0x7c>
    8c4e:	9460      	ld.w      	r3, (r4, 0x0)
    8c50:	954c      	ld.w      	r2, (r5, 0x30)
    8c52:	60ca      	subu      	r3, r2
    8c54:	105d      	lrw      	r2, 0x1f3	// 8cc8 <HT1621_Refresh_Task+0x80>
    8c56:	64c8      	cmphs      	r2, r3
    8c58:	0806      	bt      	0x8c64	// 8c64 <HT1621_Refresh_Task+0x1c>
		HT1621.Refresh_timing = HT1621_Refresh_time;
    8c5a:	33fa      	movi      	r3, 250
    8c5c:	4361      	lsli      	r3, r3, 1
    8c5e:	b56c      	st.w      	r3, (r5, 0x30)
		
		HT1621_Refresh_Data();
    8c60:	e3fffbf8 	bsr      	0x8450	// 8450 <HT1621_Refresh_Data>
//		HT1621_ReadData();
	}
	
	//控制蜂鸣器
	if(HT1621.buz_control == 0x01){
    8c64:	107a      	lrw      	r3, 0x200005e0	// 8ccc <HT1621_Refresh_Task+0x84>
    8c66:	8344      	ld.b      	r2, (r3, 0x4)
    8c68:	3a41      	cmpnei      	r2, 1
    8c6a:	0824      	bt      	0x8cb2	// 8cb2 <HT1621_Refresh_Task+0x6a>
        if(SysTick_1ms - HT1621.buz_tick >= 100){
    8c6c:	952e      	ld.w      	r1, (r5, 0x38)
    8c6e:	9440      	ld.w      	r2, (r4, 0x0)
    8c70:	6086      	subu      	r2, r1
    8c72:	3163      	movi      	r1, 99
            HT1621.buz_control = 0x00;

            Controlled_Buzzer(0x00);
        }
    }else if(HT1621.buz_control == 0x02){
        if(SysTick_1ms - HT1621.buz_tick >= 500){
    8c74:	6484      	cmphs      	r1, r2
    8c76:	0808      	bt      	0x8c86	// 8c86 <HT1621_Refresh_Task+0x3e>
            HT1621.buz_tick = SysTick_1ms;
    8c78:	9440      	ld.w      	r2, (r4, 0x0)
    8c7a:	b54e      	st.w      	r2, (r5, 0x38)
        HT1621_WR_CMD(HT1621_BIOFF);
    8c7c:	3010      	movi      	r0, 16
            HT1621.buz_control = 0x00;
    8c7e:	3200      	movi      	r2, 0
    8c80:	a344      	st.b      	r2, (r3, 0x4)
        HT1621_WR_CMD(HT1621_BIOFF);
    8c82:	e3fffb2d 	bsr      	0x82dc	// 82dc <HT1621_WR_CMD>
            Controlled_Buzzer(0x00);
        }
    }
	
	//刷新LCD背光
	if(tm1812_param.LCD_blacklingt_mode != TempCtrl.TemState_Now.mode){
    8c86:	1053      	lrw      	r2, 0x2000083c	// 8cd0 <HT1621_Refresh_Task+0x88>
    8c88:	8202      	ld.b      	r0, (r2, 0x2)
    8c8a:	1033      	lrw      	r1, 0x200001a0	// 8cd4 <HT1621_Refresh_Task+0x8c>
    8c8c:	4079      	lsli      	r3, r0, 25
    8c8e:	81ba      	ld.b      	r5, (r1, 0x1a)
    8c90:	4b7d      	lsri      	r3, r3, 29
    8c92:	64d6      	cmpne      	r5, r3
    8c94:	0c0e      	bf      	0x8cb0	// 8cb0 <HT1621_Refresh_Task+0x68>
		TempCtrl.BackLightTick = SysTick_1ms;
    8c96:	9460      	ld.w      	r3, (r4, 0x0)
    8c98:	4b88      	lsri      	r4, r3, 8
    8c9a:	a270      	st.b      	r3, (r2, 0x10)
    8c9c:	a291      	st.b      	r4, (r2, 0x11)
    8c9e:	4b90      	lsri      	r4, r3, 16
    8ca0:	4b78      	lsri      	r3, r3, 24
    8ca2:	a273      	st.b      	r3, (r2, 0x13)
		tm1812_param.LCD_blaklingt_flag = 0x00;
		Controlled_LCD_Backlight(TempCtrl.TemState_Now.on_off);
    8ca4:	4807      	lsri      	r0, r0, 7
		tm1812_param.LCD_blaklingt_flag = 0x00;
    8ca6:	3300      	movi      	r3, 0
		TempCtrl.BackLightTick = SysTick_1ms;
    8ca8:	a292      	st.b      	r4, (r2, 0x12)
		tm1812_param.LCD_blaklingt_flag = 0x00;
    8caa:	a179      	st.b      	r3, (r1, 0x19)
		Controlled_LCD_Backlight(TempCtrl.TemState_Now.on_off);
    8cac:	e3fffec8 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
	}
	
}
    8cb0:	1492      	pop      	r4-r5, r15
    }else if(HT1621.buz_control == 0x02){
    8cb2:	3a42      	cmpnei      	r2, 2
    8cb4:	0be9      	bt      	0x8c86	// 8c86 <HT1621_Refresh_Task+0x3e>
        if(SysTick_1ms - HT1621.buz_tick >= 500){
    8cb6:	952e      	ld.w      	r1, (r5, 0x38)
    8cb8:	9440      	ld.w      	r2, (r4, 0x0)
    8cba:	6086      	subu      	r2, r1
    8cbc:	1023      	lrw      	r1, 0x1f3	// 8cc8 <HT1621_Refresh_Task+0x80>
    8cbe:	07db      	br      	0x8c74	// 8c74 <HT1621_Refresh_Task+0x2c>
    8cc0:	200000c0 	.long	0x200000c0
    8cc4:	200005c0 	.long	0x200005c0
    8cc8:	000001f3 	.long	0x000001f3
    8ccc:	200005e0 	.long	0x200005e0
    8cd0:	2000083c 	.long	0x2000083c
    8cd4:	200001a0 	.long	0x200001a0

Disassembly of section .text.Boot_Comm_CheckSum:

00008cd8 <Boot_Comm_CheckSum>:
    }

}

U8_T Boot_Comm_CheckSum(U8_T * buffer, U16_T len)
{
    8cd8:	14c1      	push      	r4
	U8_T sum = 0;
    8cda:	3300      	movi      	r3, 0
    U16_T i=0;

    while(len--)
    8cdc:	1047      	lrw      	r2, 0xffff	// 8cf8 <Boot_Comm_CheckSum+0x20>
    8cde:	2900      	subi      	r1, 1
    8ce0:	7445      	zexth      	r1, r1
    8ce2:	6486      	cmpne      	r1, r2
    8ce4:	0804      	bt      	0x8cec	// 8cec <Boot_Comm_CheckSum+0x14>
    {
        sum += buffer[i];
        i++;
    }
    return (~sum);
    8ce6:	6cce      	nor      	r3, r3
    8ce8:	740c      	zextb      	r0, r3
}
    8cea:	1481      	pop      	r4
        sum += buffer[i];
    8cec:	8080      	ld.b      	r4, (r0, 0x0)
    8cee:	60d0      	addu      	r3, r4
    8cf0:	74cc      	zextb      	r3, r3
    8cf2:	2000      	addi      	r0, 1
    8cf4:	07f5      	br      	0x8cde	// 8cde <Boot_Comm_CheckSum+0x6>
    8cf6:	0000      	bkpt
    8cf8:	0000ffff 	.long	0x0000ffff

Disassembly of section .text.Boot_Comm_FillReplyPack:

00008cfc <Boot_Comm_FillReplyPack>:
    }
    return xda;
}

void Boot_Comm_FillReplyPack(BOOT_INFO_T *ack_uart)
{
    8cfc:	14d4      	push      	r4-r7, r15
    8cfe:	1421      	subi      	r14, r14, 4
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8d00:	3780      	movi      	r7, 128
	
	ack_uart->ackBuffer[BCOMM_FMT_TXAddr] = g_mcu_dev.dev_addr;
    8d02:	1074      	lrw      	r3, 0x2000052c	// 8d50 <Boot_Comm_FillReplyPack+0x54>
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8d04:	47e1      	lsli      	r7, r7, 1
	ack_uart->ackBuffer[BCOMM_FMT_TXAddr] = g_mcu_dev.dev_addr;
    8d06:	8340      	ld.b      	r2, (r3, 0x0)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8d08:	61c0      	addu      	r7, r0
	ack_uart->ackBuffer[BCOMM_FMT_SN] = ack_uart->sn;
	ack_uart->ackBuffer[BCOMM_FMT_TYPE] = g_mcu_dev.dev_type;
    8d0a:	8361      	ld.b      	r3, (r3, 0x1)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8d0c:	8fb8      	ld.h      	r5, (r7, 0x30)
	ack_uart->ackBuffer[BCOMM_FMT_TYPE] = g_mcu_dev.dev_type;
    8d0e:	a066      	st.b      	r3, (r0, 0x6)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8d10:	2507      	addi      	r5, 8
	ack_uart->ackBuffer[BCOMM_FMT_RXAddr] = g_boot.pc_addr;
    8d12:	1071      	lrw      	r3, 0x20000600	// 8d54 <Boot_Comm_FillReplyPack+0x58>
    8d14:	8363      	ld.b      	r3, (r3, 0x3)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8d16:	7555      	zexth      	r5, r5
	ack_uart->ackBuffer[BCOMM_FMT_RXAddr] = g_boot.pc_addr;
    8d18:	a067      	st.b      	r3, (r0, 0x7)
	
    ack_uart->ackBuffer[BCOMM_FMT_CMD] = ack_uart->cmd;
    8d1a:	8062      	ld.b      	r3, (r0, 0x2)
    8d1c:	a06b      	st.b      	r3, (r0, 0xb)
    ack_uart->ackBuffer[BCOMM_FMT_LEN_L] = data_len & 0xFF;
	ack_uart->ackBuffer[BCOMM_FMT_LEN_H] = (data_len >> 8) & 0xFF;
    8d1e:	4d68      	lsri      	r3, r5, 8
	ack_uart->ackBuffer[BCOMM_FMT_TXAddr] = g_mcu_dev.dev_addr;
    8d20:	a044      	st.b      	r2, (r0, 0x4)
	ack_uart->ackBuffer[BCOMM_FMT_LEN_H] = (data_len >> 8) & 0xFF;
    8d22:	a069      	st.b      	r3, (r0, 0x9)
	ack_uart->ackBuffer[BCOMM_FMT_SN] = ack_uart->sn;
    8d24:	8041      	ld.b      	r2, (r0, 0x1)
	
    ack_uart->ackBuffer[BCOMM_FMT_CKS] = 0;
    8d26:	3300      	movi      	r3, 0

    ack_uart->ackBuffer[BCOMM_FMT_CKS] = Boot_Comm_CheckSum(ack_uart->ackBuffer, data_len);
    8d28:	58ce      	addi      	r6, r0, 4
{
    8d2a:	6d03      	mov      	r4, r0
	ack_uart->ackBuffer[BCOMM_FMT_SN] = ack_uart->sn;
    8d2c:	a045      	st.b      	r2, (r0, 0x5)
    ack_uart->ackBuffer[BCOMM_FMT_LEN_L] = data_len & 0xFF;
    8d2e:	a0a8      	st.b      	r5, (r0, 0x8)
    ack_uart->ackBuffer[BCOMM_FMT_CKS] = 0;
    8d30:	a06a      	st.b      	r3, (r0, 0xa)
    ack_uart->ackBuffer[BCOMM_FMT_CKS] = Boot_Comm_CheckSum(ack_uart->ackBuffer, data_len);
    8d32:	6c57      	mov      	r1, r5
    8d34:	6c1b      	mov      	r0, r6
    8d36:	e3ffffd1 	bsr      	0x8cd8	// 8cd8 <Boot_Comm_CheckSum>
    8d3a:	a40a      	st.b      	r0, (r4, 0xa)
#if DBG_LOG_EN
	Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"ACKBuff ",ack_uart->ackBuffer,data_len);
#endif
	
	//MCU485_SendData(ack_uart->ackBuffer, data_len);
	Set_GroupSend(ack_uart->ackBuffer,data_len,0x01,ack_uart->ackValidity,100);
    8d3c:	3264      	movi      	r2, 100
    8d3e:	8f79      	ld.h      	r3, (r7, 0x32)
    8d40:	6c57      	mov      	r1, r5
    8d42:	b840      	st.w      	r2, (r14, 0x0)
    8d44:	6c1b      	mov      	r0, r6
    8d46:	3201      	movi      	r2, 1
    8d48:	e3ffebd2 	bsr      	0x64ec	// 64ec <Set_GroupSend>
	
	//ack_uart->ackLen = 0x00;
}
    8d4c:	1401      	addi      	r14, r14, 4
    8d4e:	1494      	pop      	r4-r7, r15
    8d50:	2000052c 	.long	0x2000052c
    8d54:	20000600 	.long	0x20000600

Disassembly of section .text.Boot_Time_Refresh:

00008d58 <Boot_Time_Refresh>:
	
}

void Boot_Time_Refresh(void)
{
	g_boot.bootTick = SysTick_1ms;
    8d58:	1063      	lrw      	r3, 0x200000c0	// 8d64 <Boot_Time_Refresh+0xc>
    8d5a:	9340      	ld.w      	r2, (r3, 0x0)
    8d5c:	1063      	lrw      	r3, 0x20000700	// 8d68 <Boot_Time_Refresh+0x10>
    8d5e:	b34e      	st.w      	r2, (r3, 0x38)
}
    8d60:	783c      	jmp      	r15
    8d62:	0000      	bkpt
    8d64:	200000c0 	.long	0x200000c0
    8d68:	20000700 	.long	0x20000700

Disassembly of section .text.Boot_Comm_UpgradeProcess:

00008d6c <Boot_Comm_UpgradeProcess>:
{
    8d6c:	14d4      	push      	r4-r7, r15
    8d6e:	1423      	subi      	r14, r14, 12
	data_len |= data[BCOMM_FMT_LEN_L];
    8d70:	8065      	ld.b      	r3, (r0, 0x5)
    8d72:	8044      	ld.b      	r2, (r0, 0x4)
    8d74:	4368      	lsli      	r3, r3, 8
    8d76:	6cc8      	or      	r3, r2
	if(len != data_len) 	{
    8d78:	644e      	cmpne      	r3, r1
{
    8d7a:	6d43      	mov      	r5, r0
	data_len |= data[BCOMM_FMT_LEN_L];
    8d7c:	b860      	st.w      	r3, (r14, 0x0)
	if(len != data_len) 	{
    8d7e:	08aa      	bt      	0x8ed2	// 8ed2 <Boot_Comm_UpgradeProcess+0x166>
	if(Boot_Comm_CheckSum(data,len) != 0)	{
    8d80:	6c4f      	mov      	r1, r3
    8d82:	e3ffffab 	bsr      	0x8cd8	// 8cd8 <Boot_Comm_CheckSum>
    8d86:	3840      	cmpnei      	r0, 0
    8d88:	6cc3      	mov      	r3, r0
    8d8a:	08a6      	bt      	0x8ed6	// 8ed6 <Boot_Comm_UpgradeProcess+0x16a>
	if( (data[BCOMM_FMT_SN] & 0x80) == 0x80){
    8d8c:	8541      	ld.b      	r2, (r5, 0x1)
    8d8e:	744a      	sextb      	r1, r2
    8d90:	39df      	btsti      	r1, 31
    8d92:	1295      	lrw      	r4, 0x20000600	// 8ee4 <Boot_Comm_UpgradeProcess+0x178>
		if( (data[BCOMM_FMT_SN] & 0x0F) !=  g_boot.sn){
    8d94:	8401      	ld.b      	r0, (r4, 0x1)
    8d96:	310f      	movi      	r1, 15
	if( (data[BCOMM_FMT_SN] & 0x80) == 0x80){
    8d98:	0c2d      	bf      	0x8df2	// 8df2 <Boot_Comm_UpgradeProcess+0x86>
		if( (data[BCOMM_FMT_SN] & 0x0F) !=  g_boot.sn){
    8d9a:	6884      	and      	r2, r1
    8d9c:	6482      	cmpne      	r0, r2
    8d9e:	60cd      	addc      	r3, r3
			deal_flag = 0x00;
    8da0:	740c      	zextb      	r0, r3
	U8_T deal_flag = 0,group_flag = 0,reply_flag = 0,setinfo_flag = 0,crcResultFlag = 0;
    8da2:	3700      	movi      	r7, 0
		group_flag = 0x01;
    8da4:	3301      	movi      	r3, 1
	if( (data[BCOMM_FMT_TYPE] != g_mcu_dev.dev_type) && (data[BCOMM_FMT_TYPE] != 0xFF) ){
    8da6:	12d1      	lrw      	r6, 0x2000052c	// 8ee8 <Boot_Comm_UpgradeProcess+0x17c>
    8da8:	8542      	ld.b      	r2, (r5, 0x2)
    8daa:	8621      	ld.b      	r1, (r6, 0x1)
    8dac:	6486      	cmpne      	r1, r2
    8dae:	0c04      	bf      	0x8db6	// 8db6 <Boot_Comm_UpgradeProcess+0x4a>
    8db0:	31ff      	movi      	r1, 255
    8db2:	644a      	cmpne      	r2, r1
    8db4:	0893      	bt      	0x8eda	// 8eda <Boot_Comm_UpgradeProcess+0x16e>
	if( (data[BCOMM_FMT_RXAddr] != g_mcu_dev.dev_addr) && (data[BCOMM_FMT_RXAddr] != 0xFF) ){
    8db6:	8543      	ld.b      	r2, (r5, 0x3)
    8db8:	8620      	ld.b      	r1, (r6, 0x0)
    8dba:	6486      	cmpne      	r1, r2
    8dbc:	0c04      	bf      	0x8dc4	// 8dc4 <Boot_Comm_UpgradeProcess+0x58>
    8dbe:	31ff      	movi      	r1, 255
    8dc0:	644a      	cmpne      	r2, r1
    8dc2:	088e      	bt      	0x8ede	// 8ede <Boot_Comm_UpgradeProcess+0x172>
    8dc4:	b862      	st.w      	r3, (r14, 0x8)
    8dc6:	b801      	st.w      	r0, (r14, 0x4)
	Boot_Time_Refresh();
    8dc8:	e3ffffc8 	bsr      	0x8d58	// 8d58 <Boot_Time_Refresh>
	g_boot.pc_addr = data[BCOMM_FMT_TXAddr];
    8dcc:	8560      	ld.b      	r3, (r5, 0x0)
    8dce:	a463      	st.b      	r3, (r4, 0x3)
	g_boot.sn = data[BCOMM_FMT_SN] & 0x0F;
    8dd0:	8541      	ld.b      	r2, (r5, 0x1)
    8dd2:	310f      	movi      	r1, 15
    8dd4:	6884      	and      	r2, r1
    8dd6:	a441      	st.b      	r2, (r4, 0x1)
	switch(g_boot.cmd){
    8dd8:	31c0      	movi      	r1, 192
	g_boot.cmd = data[BCOMM_FMT_CMD];
    8dda:	8547      	ld.b      	r2, (r5, 0x7)
	switch(g_boot.cmd){
    8ddc:	644a      	cmpne      	r2, r1
	g_boot.cmd = data[BCOMM_FMT_CMD];
    8dde:	a442      	st.b      	r2, (r4, 0x2)
	switch(g_boot.cmd){
    8de0:	9801      	ld.w      	r0, (r14, 0x4)
    8de2:	9862      	ld.w      	r3, (r14, 0x8)
    8de4:	0c1a      	bf      	0x8e18	// 8e18 <Boot_Comm_UpgradeProcess+0xac>
    8de6:	31c1      	movi      	r1, 193
    8de8:	644a      	cmpne      	r2, r1
    8dea:	0c62      	bf      	0x8eae	// 8eae <Boot_Comm_UpgradeProcess+0x142>
			g_boot.ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplyFAIL;
    8dec:	3201      	movi      	r2, 1
    8dee:	a44c      	st.b      	r2, (r4, 0xc)
    8df0:	046a      	br      	0x8ec4	// 8ec4 <Boot_Comm_UpgradeProcess+0x158>
		if( (data[BCOMM_FMT_SN] & 0x0F) !=  g_boot.sn){
    8df2:	6848      	and      	r1, r2
    8df4:	6442      	cmpne      	r0, r1
    8df6:	080c      	bt      	0x8e0e	// 8e0e <Boot_Comm_UpgradeProcess+0xa2>
		}else if( (data[BCOMM_FMT_SN] & 0x40) == 0x40 ){
    8df8:	3140      	movi      	r1, 64
    8dfa:	6884      	and      	r2, r1
    8dfc:	3a40      	cmpnei      	r2, 0
    8dfe:	0c0b      	bf      	0x8e14	// 8e14 <Boot_Comm_UpgradeProcess+0xa8>
			if(data[BCOMM_FMT_CMD] == g_boot.ackBuffer[BCOMM_FMT_CMD] ){
    8e00:	8527      	ld.b      	r1, (r5, 0x7)
    8e02:	844b      	ld.b      	r2, (r4, 0xb)
    8e04:	6486      	cmpne      	r1, r2
    8e06:	65c3      	mvcv      	r7
	U8_T deal_flag = 0,group_flag = 0,reply_flag = 0,setinfo_flag = 0,crcResultFlag = 0;
    8e08:	75dc      	zextb      	r7, r7
    8e0a:	3000      	movi      	r0, 0
    8e0c:	07cd      	br      	0x8da6	// 8da6 <Boot_Comm_UpgradeProcess+0x3a>
			reply_flag = 0x01;
    8e0e:	3701      	movi      	r7, 1
			deal_flag = 0x01;
    8e10:	3001      	movi      	r0, 1
    8e12:	07ca      	br      	0x8da6	// 8da6 <Boot_Comm_UpgradeProcess+0x3a>
	U8_T deal_flag = 0,group_flag = 0,reply_flag = 0,setinfo_flag = 0,crcResultFlag = 0;
    8e14:	3700      	movi      	r7, 0
    8e16:	07fa      	br      	0x8e0a	// 8e0a <Boot_Comm_UpgradeProcess+0x9e>
			if( (deal_flag == 0x01) && (data_len >= (BCOMM_FMT_PARAM + 4) )  ){
    8e18:	3841      	cmpnei      	r0, 1
    8e1a:	0819      	bt      	0x8e4c	// 8e4c <Boot_Comm_UpgradeProcess+0xe0>
    8e1c:	9840      	ld.w      	r2, (r14, 0x0)
    8e1e:	3a0b      	cmphsi      	r2, 12
    8e20:	0c16      	bf      	0x8e4c	// 8e4c <Boot_Comm_UpgradeProcess+0xe0>
				temp_data |= data[BCOMM_FMT_PARAM];
    8e22:	8529      	ld.b      	r1, (r5, 0x9)
    8e24:	8548      	ld.b      	r2, (r5, 0x8)
    8e26:	4128      	lsli      	r1, r1, 8
    8e28:	6c48      	or      	r1, r2
				if(temp_data != g_boot.bootTimeout){
    8e2a:	1151      	lrw      	r2, 0x20000700	// 8eec <Boot_Comm_UpgradeProcess+0x180>
    8e2c:	920d      	ld.w      	r0, (r2, 0x34)
    8e2e:	6406      	cmpne      	r1, r0
    8e30:	0c09      	bf      	0x8e42	// 8e42 <Boot_Comm_UpgradeProcess+0xd6>
					if(g_boot.bootTimeout < 10) 	g_boot.bootTimeout = 10;
    8e32:	3909      	cmphsi      	r1, 10
    8e34:	0c3b      	bf      	0x8eaa	// 8eaa <Boot_Comm_UpgradeProcess+0x13e>
    8e36:	b22d      	st.w      	r1, (r2, 0x34)
					g_boot.bootTimeout = g_boot.bootTimeout  * 1000;
    8e38:	30fa      	movi      	r0, 250
    8e3a:	922d      	ld.w      	r1, (r2, 0x34)
    8e3c:	4002      	lsli      	r0, r0, 2
    8e3e:	7c40      	mult      	r1, r0
    8e40:	b22d      	st.w      	r1, (r2, 0x34)
    8e42:	852b      	ld.b      	r1, (r5, 0xb)
    8e44:	850a      	ld.b      	r0, (r5, 0xa)
    8e46:	4128      	lsli      	r1, r1, 8
    8e48:	6c40      	or      	r1, r0
				g_boot.ackValidity = temp_data;
    8e4a:	aa39      	st.h      	r1, (r2, 0x32)
			if(reply_flag != 0x01)	break;		//不回复，直接退出
    8e4c:	3f41      	cmpnei      	r7, 1
    8e4e:	082c      	bt      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
			g_boot.ackBuffer[BCOMM_FMT_PARAM] = Project_Area;						//当前处于Bootload区域  0x01：Boot;0x02：APP
    8e50:	3202      	movi      	r2, 2
    8e52:	a44c      	st.b      	r2, (r4, 0xc)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 1] = g_mcu_dev.dev_boot_ver;			//Boot 软件版本号
    8e54:	8642      	ld.b      	r2, (r6, 0x2)
    8e56:	a44d      	st.b      	r2, (r4, 0xd)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 2] = g_mcu_dev.dev_app_ver;			//APP  软件版本号
    8e58:	8643      	ld.b      	r2, (r6, 0x3)
    8e5a:	a44e      	st.b      	r2, (r4, 0xe)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 3] = 0x03;			//UUID 长度 MD203 UID 3Byte
    8e5c:	3203      	movi      	r2, 3
    8e5e:	a44f      	st.b      	r2, (r4, 0xf)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 4] = SYSCON->UID0;
    8e60:	1144      	lrw      	r2, 0x2000005c	// 8ef0 <Boot_Comm_UpgradeProcess+0x184>
    8e62:	9240      	ld.w      	r2, (r2, 0x0)
    8e64:	227f      	addi      	r2, 128
    8e66:	9239      	ld.w      	r1, (r2, 0x64)
    8e68:	a430      	st.b      	r1, (r4, 0x10)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 5] = SYSCON->UID1;
    8e6a:	923a      	ld.w      	r1, (r2, 0x68)
    8e6c:	a431      	st.b      	r1, (r4, 0x11)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 6] = SYSCON->UID2;
    8e6e:	925b      	ld.w      	r2, (r2, 0x6c)
    8e70:	a452      	st.b      	r2, (r4, 0x12)
			if(g_mcu_dev.dev_name_len > EEPROM_DEV_NAME_Size)	g_mcu_dev.dev_name_len = EEPROM_DEV_NAME_Size;
    8e72:	8624      	ld.b      	r1, (r6, 0x4)
    8e74:	3220      	movi      	r2, 32
    8e76:	6448      	cmphs      	r2, r1
    8e78:	0802      	bt      	0x8e7c	// 8e7c <Boot_Comm_UpgradeProcess+0x110>
    8e7a:	a644      	st.b      	r2, (r6, 0x4)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 7] = g_mcu_dev.dev_name_len;
    8e7c:	8644      	ld.b      	r2, (r6, 0x4)
    8e7e:	a453      	st.b      	r2, (r4, 0x13)
    8e80:	3220      	movi      	r2, 32
    8e82:	101a      	lrw      	r0, 0x2000052c	// 8ee8 <Boot_Comm_UpgradeProcess+0x17c>
    8e84:	1038      	lrw      	r1, 0x20000600	// 8ee4 <Boot_Comm_UpgradeProcess+0x178>
    8e86:	2a00      	subi      	r2, 1
    8e88:	7488      	zextb      	r2, r2
				g_boot.ackBuffer[BCOMM_FMT_PARAM + i + 8] = g_mcu_dev.dev_name[i];
    8e8a:	8085      	ld.b      	r4, (r0, 0x5)
			for(U8_T i=0;i<EEPROM_DEV_NAME_Size;i++){
    8e8c:	3a40      	cmpnei      	r2, 0
				g_boot.ackBuffer[BCOMM_FMT_PARAM + i + 8] = g_mcu_dev.dev_name[i];
    8e8e:	a194      	st.b      	r4, (r1, 0x14)
    8e90:	2000      	addi      	r0, 1
    8e92:	2100      	addi      	r1, 1
			for(U8_T i=0;i<EEPROM_DEV_NAME_Size;i++){
    8e94:	0bf9      	bt      	0x8e86	// 8e86 <Boot_Comm_UpgradeProcess+0x11a>
			g_boot.ackLen = 0x08 + EEPROM_DEV_NAME_Size;
    8e96:	1056      	lrw      	r2, 0x20000700	// 8eec <Boot_Comm_UpgradeProcess+0x180>
    8e98:	3128      	movi      	r1, 40
    8e9a:	aa38      	st.h      	r1, (r2, 0x30)
	if( (group_flag == 0x00) && (reply_flag == 0x01) )
    8e9c:	3b40      	cmpnei      	r3, 0
    8e9e:	0804      	bt      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
		Boot_Comm_FillReplyPack(&g_boot);
    8ea0:	1011      	lrw      	r0, 0x20000600	// 8ee4 <Boot_Comm_UpgradeProcess+0x178>
    8ea2:	e3ffff2d 	bsr      	0x8cfc	// 8cfc <Boot_Comm_FillReplyPack>
}
    8ea6:	1403      	addi      	r14, r14, 12
    8ea8:	1494      	pop      	r4-r7, r15
					if(g_boot.bootTimeout < 10) 	g_boot.bootTimeout = 10;
    8eaa:	310a      	movi      	r1, 10
    8eac:	07c5      	br      	0x8e36	// 8e36 <Boot_Comm_UpgradeProcess+0xca>
			if(deal_flag != 0x01) 	break;	//不处理直接退出
    8eae:	3841      	cmpnei      	r0, 1
    8eb0:	080d      	bt      	0x8eca	// 8eca <Boot_Comm_UpgradeProcess+0x15e>
				if(data[BCOMM_FMT_PARAM] == 0x01){
    8eb2:	8548      	ld.b      	r2, (r5, 0x8)
    8eb4:	3a41      	cmpnei      	r2, 1
    8eb6:	0b9b      	bt      	0x8dec	// 8dec <Boot_Comm_UpgradeProcess+0x80>
    8eb8:	b860      	st.w      	r3, (r14, 0x0)
					BUS485_Jump_Boot(0x01);
    8eba:	e3ffeb53 	bsr      	0x6560	// 6560 <BUS485_Jump_Boot>
					g_boot.ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplySUCC;
    8ebe:	3300      	movi      	r3, 0
    8ec0:	a46c      	st.b      	r3, (r4, 0xc)
    8ec2:	9860      	ld.w      	r3, (r14, 0x0)
			g_boot.ackLen = 1;
    8ec4:	104a      	lrw      	r2, 0x20000700	// 8eec <Boot_Comm_UpgradeProcess+0x180>
    8ec6:	3101      	movi      	r1, 1
    8ec8:	aa38      	st.h      	r1, (r2, 0x30)
	if( (group_flag == 0x00) && (reply_flag == 0x01) )
    8eca:	3b40      	cmpnei      	r3, 0
    8ecc:	0bed      	bt      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
    8ece:	3f41      	cmpnei      	r7, 1
    8ed0:	07e7      	br      	0x8e9e	// 8e9e <Boot_Comm_UpgradeProcess+0x132>
		return 0x01;
    8ed2:	3001      	movi      	r0, 1
    8ed4:	07e9      	br      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
		return 0x02;
    8ed6:	3002      	movi      	r0, 2
    8ed8:	07e7      	br      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
		return 0x03;
    8eda:	3003      	movi      	r0, 3
    8edc:	07e5      	br      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
		return 0x04;
    8ede:	3004      	movi      	r0, 4
    8ee0:	07e3      	br      	0x8ea6	// 8ea6 <Boot_Comm_UpgradeProcess+0x13a>
    8ee2:	0000      	bkpt
    8ee4:	20000600 	.long	0x20000600
    8ee8:	2000052c 	.long	0x2000052c
    8eec:	20000700 	.long	0x20000700
    8ef0:	2000005c 	.long	0x2000005c

Disassembly of section .text.TemCtrl_Init:

00008ef4 <TemCtrl_Init>:
 * 函数功能：温控初始化
 * 
 * 
*/
void TemCtrl_Init(void)
{
    8ef4:	14d1      	push      	r4, r15
	memset(&TempCtrl,0x00,sizeof(TempCtrl_Unit));
    8ef6:	1298      	lrw      	r4, 0x2000083c	// 9054 <TemCtrl_Init+0x160>
    8ef8:	3229      	movi      	r2, 41
    8efa:	3100      	movi      	r1, 0
    8efc:	6c13      	mov      	r0, r4
    8efe:	e3ffd94f 	bsr      	0x419c	// 419c <__memset_fast>
	
	if(Sys_RSR & 0xFFFFFFFE)        //除上电复位外其他复位源则恢复温控状态
    8f02:	1276      	lrw      	r3, 0x200000b4	// 9058 <TemCtrl_Init+0x164>
    8f04:	9360      	ld.w      	r3, (r3, 0x0)
    8f06:	3b80      	bclri      	r3, 0
    8f08:	3b40      	cmpnei      	r3, 0
    8f0a:	0c9e      	bf      	0x9046	// 9046 <TemCtrl_Init+0x152>
	{
		Dbg_Println(DBG_BIT_SYS_STATUS,"MCU reset,recover state!");
    8f0c:	1234      	lrw      	r1, 0xce32	// 905c <TemCtrl_Init+0x168>
    8f0e:	3000      	movi      	r0, 0
    8f10:	e3ffeb96 	bsr      	0x663c	// 663c <Dbg_Println>
		
		if(((Sav_Temp & 0xFF) == TEMP_OFF) || ((Sav_Temp & 0xFF) == TEMP_ON))    //读取的温控开关机状态合法
    8f14:	1273      	lrw      	r3, 0x200000b0	// 9060 <TemCtrl_Init+0x16c>
    8f16:	30ff      	movi      	r0, 255
    8f18:	9320      	ld.w      	r1, (r3, 0x0)
    8f1a:	6840      	and      	r1, r0
    8f1c:	3940      	cmpnei      	r1, 0
    8f1e:	0c05      	bf      	0x8f28	// 8f28 <TemCtrl_Init+0x34>
    8f20:	9340      	ld.w      	r2, (r3, 0x0)
    8f22:	6880      	and      	r2, r0
    8f24:	3a41      	cmpnei      	r2, 1
    8f26:	0883      	bt      	0x902c	// 902c <TemCtrl_Init+0x138>
		{
			TempCtrl.TemState_Now.on_off = (Sav_Temp & 0xFF);
    8f28:	9340      	ld.w      	r2, (r3, 0x0)
    8f2a:	4227      	lsli      	r1, r2, 7
    8f2c:	307f      	movi      	r0, 127
    8f2e:	8442      	ld.b      	r2, (r4, 0x2)
    8f30:	6880      	and      	r2, r0
    8f32:	6c84      	or      	r2, r1
		}
		else
		{
			TempCtrl.TemState_Now.on_off = TEMP_OFF;
    8f34:	a442      	st.b      	r2, (r4, 0x2)
		}
		
		if( (((Sav_Temp >> 8) & 0xFF) == MODEL_COLD) || (((Sav_Temp >> 8) & 0xFF) == MODEL_HOT)
    8f36:	9340      	ld.w      	r2, (r3, 0x0)
    8f38:	4a48      	lsri      	r2, r2, 8
    8f3a:	30ff      	movi      	r0, 255
    8f3c:	6880      	and      	r2, r0
    8f3e:	3a40      	cmpnei      	r2, 0
    8f40:	0c10      	bf      	0x8f60	// 8f60 <TemCtrl_Init+0x6c>
    8f42:	9340      	ld.w      	r2, (r3, 0x0)
    8f44:	4a48      	lsri      	r2, r2, 8
    8f46:	6880      	and      	r2, r0
    8f48:	3a42      	cmpnei      	r2, 2
    8f4a:	0c0b      	bf      	0x8f60	// 8f60 <TemCtrl_Init+0x6c>
		 || (((Sav_Temp >> 8) & 0xFF) == MODEL_WIND) || (((Sav_Temp >> 8) & 0xFF) == MODEL_AUTO) )        //读取的温控模式状态合法
    8f4c:	9320      	ld.w      	r1, (r3, 0x0)
    8f4e:	4928      	lsri      	r1, r1, 8
    8f50:	6840      	and      	r1, r0
    8f52:	3944      	cmpnei      	r1, 4
    8f54:	0c06      	bf      	0x8f60	// 8f60 <TemCtrl_Init+0x6c>
    8f56:	9340      	ld.w      	r2, (r3, 0x0)
    8f58:	4a48      	lsri      	r2, r2, 8
    8f5a:	6880      	and      	r2, r0
    8f5c:	3a46      	cmpnei      	r2, 6
    8f5e:	086b      	bt      	0x9034	// 9034 <TemCtrl_Init+0x140>
		{
			TempCtrl.TemState_Now.mode = ((Sav_Temp >> 8) & 0xFF);
    8f60:	9340      	ld.w      	r2, (r3, 0x0)
    8f62:	3107      	movi      	r1, 7
    8f64:	4a48      	lsri      	r2, r2, 8
    8f66:	6884      	and      	r2, r1
    8f68:	3070      	movi      	r0, 112
    8f6a:	8422      	ld.b      	r1, (r4, 0x2)
    8f6c:	4244      	lsli      	r2, r2, 4
    8f6e:	6841      	andn      	r1, r0
    8f70:	6c84      	or      	r2, r1
		}
		else
		{
			TempCtrl.TemState_Now.mode = MODEL_COLD;
    8f72:	a442      	st.b      	r2, (r4, 0x2)
		}
		
		if( (((Sav_Temp >> 16) & 0xFF) == FAN_LOW) || (((Sav_Temp >> 16) & 0xFF) == FAN_MID) 		//读取的温控风速状态合法
    8f74:	9340      	ld.w      	r2, (r3, 0x0)
    8f76:	4a50      	lsri      	r2, r2, 16
    8f78:	30ff      	movi      	r0, 255
    8f7a:	6880      	and      	r2, r0
    8f7c:	3a40      	cmpnei      	r2, 0
    8f7e:	0c10      	bf      	0x8f9e	// 8f9e <TemCtrl_Init+0xaa>
    8f80:	9340      	ld.w      	r2, (r3, 0x0)
    8f82:	4a50      	lsri      	r2, r2, 16
    8f84:	6880      	and      	r2, r0
    8f86:	3a41      	cmpnei      	r2, 1
    8f88:	0c0b      	bf      	0x8f9e	// 8f9e <TemCtrl_Init+0xaa>
		 || (((Sav_Temp >> 16) & 0xFF) == FAN_HIGH)|| (((Sav_Temp >> 16) & 0xFF) == FAN_AUTO))                             
    8f8a:	9320      	ld.w      	r1, (r3, 0x0)
    8f8c:	4930      	lsri      	r1, r1, 16
    8f8e:	6840      	and      	r1, r0
    8f90:	3942      	cmpnei      	r1, 2
    8f92:	0c06      	bf      	0x8f9e	// 8f9e <TemCtrl_Init+0xaa>
    8f94:	9340      	ld.w      	r2, (r3, 0x0)
    8f96:	4a50      	lsri      	r2, r2, 16
    8f98:	6880      	and      	r2, r0
    8f9a:	3a43      	cmpnei      	r2, 3
    8f9c:	0850      	bt      	0x903c	// 903c <TemCtrl_Init+0x148>
		{
			TempCtrl.TemState_Now.fan = ((Sav_Temp >> 16) & 0xFF);
    8f9e:	9340      	ld.w      	r2, (r3, 0x0)
    8fa0:	3107      	movi      	r1, 7
    8fa2:	4a50      	lsri      	r2, r2, 16
    8fa4:	6884      	and      	r2, r1
    8fa6:	300e      	movi      	r0, 14
    8fa8:	8422      	ld.b      	r1, (r4, 0x2)
    8faa:	4241      	lsli      	r2, r2, 1
    8fac:	6841      	andn      	r1, r0
    8fae:	6c84      	or      	r2, r1
		}
		else
		{
			TempCtrl.TemState_Now.fan = FAN_MID;
    8fb0:	a442      	st.b      	r2, (r4, 0x2)
		}
		//读取的温控设置温度合法   2024-04-18增加0==32的判断
		if(((((Sav_Temp >> 24) & 0xFF) >= 16) && (((Sav_Temp >> 24) & 0xFF) <= 32)) )  
    8fb2:	9340      	ld.w      	r2, (r3, 0x0)
    8fb4:	4a58      	lsri      	r2, r2, 24
    8fb6:	3a0f      	cmphsi      	r2, 16
    8fb8:	0c4c      	bf      	0x9050	// 9050 <TemCtrl_Init+0x15c>
    8fba:	3284      	movi      	r2, 132
    8fbc:	4256      	lsli      	r2, r2, 22
    8fbe:	9320      	ld.w      	r1, (r3, 0x0)
    8fc0:	2a00      	subi      	r2, 1
    8fc2:	6448      	cmphs      	r2, r1
    8fc4:	0c46      	bf      	0x9050	// 9050 <TemCtrl_Init+0x15c>
		{
			TempCtrl.TemState_Now.set_t = ((Sav_Temp >> 24) & 0xFF);
    8fc6:	9360      	ld.w      	r3, (r3, 0x0)
    8fc8:	4b78      	lsri      	r3, r3, 24
	else      //正常上电温控状态                      
	{
		TempCtrl.TemState_Now.on_off = TEMP_OFF;      //关机
		TempCtrl.TemState_Now.mode = MODEL_COLD;	  //制冷
		TempCtrl.TemState_Now.fan = FAN_MID;          //中风速
		TempCtrl.TemState_Now.set_t = 24;             //24
    8fca:	a461      	st.b      	r3, (r4, 0x1)
	}
	TempCtrl.IndoorTem = TEMPTIMENOWMATH;//Get_Temp_Val() + g_eeprom.temp_diff*10 - EEPROM_TempDifference_Default*10;
    8fcc:	e3fff30a 	bsr      	0x75e0	// 75e0 <Get_Temp_Val>
    8fd0:	1165      	lrw      	r3, 0x20000524	// 9064 <TemCtrl_Init+0x170>
    8fd2:	8362      	ld.b      	r3, (r3, 0x2)
    8fd4:	320a      	movi      	r2, 10
    8fd6:	7cc8      	mult      	r3, r2
    8fd8:	2b54      	subi      	r3, 85
    8fda:	600c      	addu      	r0, r3
    8fdc:	7401      	zexth      	r0, r0
    8fde:	4868      	lsri      	r3, r0, 8
    8fe0:	a469      	st.b      	r3, (r4, 0x9)
    8fe2:	a408      	st.b      	r0, (r4, 0x8)
	TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    8fe4:	310a      	movi      	r1, 10
    8fe6:	e3ffe8bf 	bsr      	0x6164	// 6164 <__udivsi3>
	TempCtrl.CardState = 0x01;             //默认插卡
    8fea:	3301      	movi      	r3, 1
    8fec:	a478      	st.b      	r3, (r4, 0x18)
	TempCtrl.CardEn = 0x00;                //插卡状态功能默认关闭
    8fee:	3300      	movi      	r3, 0
    8ff0:	a47a      	st.b      	r3, (r4, 0x1a)
	SYSCON->UREG0 = 0x00000000;
    8ff2:	3200      	movi      	r2, 0
    8ff4:	107d      	lrw      	r3, 0x2000005c	// 9068 <TemCtrl_Init+0x174>
    8ff6:	9360      	ld.w      	r3, (r3, 0x0)
    8ff8:	23ff      	addi      	r3, 256
    8ffa:	b340      	st.w      	r2, (r3, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8);
    8ffc:	8442      	ld.b      	r2, (r4, 0x2)
    8ffe:	4239      	lsli      	r1, r2, 25
    9000:	493d      	lsri      	r1, r1, 29
	TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    9002:	a400      	st.b      	r0, (r4, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8);
    9004:	4128      	lsli      	r1, r1, 8
    9006:	9300      	ld.w      	r0, (r3, 0x0)
    9008:	6c40      	or      	r1, r0
    900a:	b320      	st.w      	r1, (r3, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16);
    900c:	423c      	lsli      	r1, r2, 28
    900e:	493d      	lsri      	r1, r1, 29
    9010:	9300      	ld.w      	r0, (r3, 0x0)
    9012:	4130      	lsli      	r1, r1, 16
    9014:	6c40      	or      	r1, r0
    9016:	b320      	st.w      	r1, (r3, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24);
    9018:	8421      	ld.b      	r1, (r4, 0x1)
    901a:	9300      	ld.w      	r0, (r3, 0x0)
    901c:	4138      	lsli      	r1, r1, 24
    901e:	6c40      	or      	r1, r0
    9020:	b320      	st.w      	r1, (r3, 0x0)
	SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off;        //2024-03-15
    9022:	9320      	ld.w      	r1, (r3, 0x0)
    9024:	4a47      	lsri      	r2, r2, 7
    9026:	6c84      	or      	r2, r1
    9028:	b340      	st.w      	r2, (r3, 0x0)
}
    902a:	1491      	pop      	r4, r15
			TempCtrl.TemState_Now.on_off = TEMP_OFF;
    902c:	8442      	ld.b      	r2, (r4, 0x2)
    902e:	317f      	movi      	r1, 127
    9030:	6884      	and      	r2, r1
    9032:	0781      	br      	0x8f34	// 8f34 <TemCtrl_Init+0x40>
			TempCtrl.TemState_Now.mode = MODEL_COLD;
    9034:	8442      	ld.b      	r2, (r4, 0x2)
    9036:	3170      	movi      	r1, 112
    9038:	6885      	andn      	r2, r1
    903a:	079c      	br      	0x8f72	// 8f72 <TemCtrl_Init+0x7e>
			TempCtrl.TemState_Now.fan = FAN_MID;
    903c:	8442      	ld.b      	r2, (r4, 0x2)
    903e:	310e      	movi      	r1, 14
    9040:	6885      	andn      	r2, r1
    9042:	3aa1      	bseti      	r2, 1
    9044:	07b6      	br      	0x8fb0	// 8fb0 <TemCtrl_Init+0xbc>
		TempCtrl.TemState_Now.fan = FAN_MID;          //中风速
    9046:	8462      	ld.b      	r3, (r4, 0x2)
    9048:	320e      	movi      	r2, 14
    904a:	68c9      	andn      	r3, r2
    904c:	3ba1      	bseti      	r3, 1
    904e:	a462      	st.b      	r3, (r4, 0x2)
		TempCtrl.TemState_Now.set_t = 24;             //24
    9050:	3318      	movi      	r3, 24
    9052:	07bc      	br      	0x8fca	// 8fca <TemCtrl_Init+0xd6>
    9054:	2000083c 	.long	0x2000083c
    9058:	200000b4 	.long	0x200000b4
    905c:	0000ce32 	.long	0x0000ce32
    9060:	200000b0 	.long	0x200000b0
    9064:	20000524 	.long	0x20000524
    9068:	2000005c 	.long	0x2000005c

Disassembly of section .text.TemCtrl_Model_Set:

0000906c <TemCtrl_Model_Set>:
 * 函数功能：模式控制
 * 
 * 
*/
void TemCtrl_Model_Set(void)
{
    906c:	14d0      	push      	r15
	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    906e:	1031      	lrw      	r1, 0x2000083c	// 90b0 <TemCtrl_Model_Set+0x44>
    9070:	8162      	ld.b      	r3, (r1, 0x2)
    9072:	748e      	sextb      	r2, r3
    9074:	3adf      	btsti      	r2, 31
    9076:	0c14      	bf      	0x909e	// 909e <TemCtrl_Model_Set+0x32>
    {
      return ;
    }
    switch(TempCtrl.TemState_Now.mode)          
    9078:	4359      	lsli      	r2, r3, 25
    907a:	4a5d      	lsri      	r2, r2, 29
    907c:	3a42      	cmpnei      	r2, 2
    907e:	0c11      	bf      	0x90a0	// 90a0 <TemCtrl_Model_Set+0x34>
    9080:	3a44      	cmpnei      	r2, 4
    9082:	0c13      	bf      	0x90a8	// 90a8 <TemCtrl_Model_Set+0x3c>
    9084:	3a40      	cmpnei      	r2, 0
    {
      case MODEL_COLD:         
			TempCtrl.TemState_Now.mode = MODEL_HOT;  //制热
    9086:	3270      	movi      	r2, 112
    9088:	68c9      	andn      	r3, r2
    switch(TempCtrl.TemState_Now.mode)          
    908a:	0802      	bt      	0x908e	// 908e <TemCtrl_Model_Set+0x22>
			TempCtrl.TemState_Now.mode = MODEL_HOT;  //制热
    908c:	3ba5      	bseti      	r3, 5
			break;
	  case MODEL_WIND:
			TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷
			break;
      default:
			TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷   			
    908e:	a162      	st.b      	r3, (r1, 0x2)
			break;
    }
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Model:%d",TempCtrl.TemState_Now.mode);
    9090:	8142      	ld.b      	r2, (r1, 0x2)
    9092:	4259      	lsli      	r2, r2, 25
    9094:	4a5d      	lsri      	r2, r2, 29
    9096:	1028      	lrw      	r1, 0xce4b	// 90b4 <TemCtrl_Model_Set+0x48>
    9098:	3000      	movi      	r0, 0
    909a:	e3ffead1 	bsr      	0x663c	// 663c <Dbg_Println>
}
    909e:	1490      	pop      	r15
			TempCtrl.TemState_Now.mode = MODEL_WIND; //送风
    90a0:	3270      	movi      	r2, 112
    90a2:	68c9      	andn      	r3, r2
    90a4:	3ba6      	bseti      	r3, 6
    90a6:	07f4      	br      	0x908e	// 908e <TemCtrl_Model_Set+0x22>
			TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷
    90a8:	3270      	movi      	r2, 112
    90aa:	68c9      	andn      	r3, r2
    90ac:	07f1      	br      	0x908e	// 908e <TemCtrl_Model_Set+0x22>
    90ae:	0000      	bkpt
    90b0:	2000083c 	.long	0x2000083c
    90b4:	0000ce4b 	.long	0x0000ce4b

Disassembly of section .text.TemCtrl_Fan_Set:

000090b8 <TemCtrl_Fan_Set>:
 * 函数功能：风速控制
 * 
 * 
*/       
void TemCtrl_Fan_Set(void)
{
    90b8:	14d0      	push      	r15
	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    90ba:	1071      	lrw      	r3, 0x2000083c	// 90fc <TemCtrl_Fan_Set+0x44>
    90bc:	8342      	ld.b      	r2, (r3, 0x2)
    90be:	744a      	sextb      	r1, r2
    90c0:	39df      	btsti      	r1, 31
    90c2:	0c15      	bf      	0x90ec	// 90ec <TemCtrl_Fan_Set+0x34>
	{
		return ;
	}
	switch(TempCtrl.TemState_Now.fan)          //风速
    90c4:	421c      	lsli      	r0, r2, 28
    90c6:	481d      	lsri      	r0, r0, 29
    90c8:	3803      	cmphsi      	r0, 4
    90ca:	0814      	bt      	0x90f2	// 90f2 <TemCtrl_Fan_Set+0x3a>
		  break;
		case FAN_HIGH:
		  TempCtrl.TemState_Now.fan = FAN_AUTO;
		  break;
		case FAN_AUTO:
		  TempCtrl.TemState_Now.fan = FAN_LOW; 
    90cc:	8342      	ld.b      	r2, (r3, 0x2)
    90ce:	310e      	movi      	r1, 14
    90d0:	6885      	andn      	r2, r1
	switch(TempCtrl.TemState_Now.fan)          //风速
    90d2:	e3ffd215 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    90d6:	0c02      	.short	0x0c02
    90d8:	0310      	.short	0x0310
		  TempCtrl.TemState_Now.fan = FAN_MID;
    90da:	3aa1      	bseti      	r2, 1
		  break;
		default:
		  TempCtrl.TemState_Now.fan = FAN_AUTO;      
    90dc:	a342      	st.b      	r2, (r3, 0x2)
		  break;
	}
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Fan:%d",TempCtrl.TemState_Now.fan);
    90de:	8342      	ld.b      	r2, (r3, 0x2)
    90e0:	425c      	lsli      	r2, r2, 28
    90e2:	4a5d      	lsri      	r2, r2, 29
    90e4:	1027      	lrw      	r1, 0xce54	// 9100 <TemCtrl_Fan_Set+0x48>
    90e6:	3000      	movi      	r0, 0
    90e8:	e3ffeaaa 	bsr      	0x663c	// 663c <Dbg_Println>
}  
    90ec:	1490      	pop      	r15
		  TempCtrl.TemState_Now.fan = FAN_HIGH;
    90ee:	3aa2      	bseti      	r2, 2
    90f0:	07f6      	br      	0x90dc	// 90dc <TemCtrl_Fan_Set+0x24>
		  TempCtrl.TemState_Now.fan = FAN_AUTO;      
    90f2:	310e      	movi      	r1, 14
    90f4:	6885      	andn      	r2, r1
    90f6:	3aa1      	bseti      	r2, 1
    90f8:	3aa2      	bseti      	r2, 2
    90fa:	07f1      	br      	0x90dc	// 90dc <TemCtrl_Fan_Set+0x24>
    90fc:	2000083c 	.long	0x2000083c
    9100:	0000ce54 	.long	0x0000ce54

Disassembly of section .text.TemCtrl_Temperature_Dec:

00009104 <TemCtrl_Temperature_Dec>:
 * 函数功能：设置温度减
 * 
 * 
*/        
void TemCtrl_Temperature_Dec(void)
{
    9104:	14d0      	push      	r15
	U8_T TemSet;   //设置温度
	
	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    9106:	106a      	lrw      	r3, 0x2000083c	// 912c <TemCtrl_Temperature_Dec+0x28>
    9108:	8342      	ld.b      	r2, (r3, 0x2)
    910a:	748a      	sextb      	r2, r2
    910c:	3adf      	btsti      	r2, 31
    910e:	0c0b      	bf      	0x9124	// 9124 <TemCtrl_Temperature_Dec+0x20>
	{
		return ;
	}
//	TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);
	TemSet = TempCtrl.TemState_Now.set_t;
    9110:	8341      	ld.b      	r2, (r3, 0x1)
	
	if(TemSet > TEM_MIN_SET)   //大于最低温度
    9112:	3a10      	cmphsi      	r2, 17
    9114:	0c09      	bf      	0x9126	// 9126 <TemCtrl_Temperature_Dec+0x22>
	{
		TemSet--;             //超过最低温度，就减
    9116:	2a00      	subi      	r2, 1
    9118:	7488      	zextb      	r2, r2
		TemSet = TEM_MIN_SET;  //减到最低就不减了
	}
	
	TempCtrl.TemState_Now.set_t = TemSet;
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"set_t:%d",TempCtrl.TemState_Now.set_t);
    911a:	1026      	lrw      	r1, 0xce5b	// 9130 <TemCtrl_Temperature_Dec+0x2c>
    911c:	3000      	movi      	r0, 0
	TempCtrl.TemState_Now.set_t = TemSet;
    911e:	a341      	st.b      	r2, (r3, 0x1)
	Dbg_Println(DBG_BIT_SYS_STATUS,"set_t:%d",TempCtrl.TemState_Now.set_t);
    9120:	e3ffea8e 	bsr      	0x663c	// 663c <Dbg_Println>
}
    9124:	1490      	pop      	r15
		TemSet = TEM_MIN_SET;  //减到最低就不减了
    9126:	3210      	movi      	r2, 16
    9128:	07f9      	br      	0x911a	// 911a <TemCtrl_Temperature_Dec+0x16>
    912a:	0000      	bkpt
    912c:	2000083c 	.long	0x2000083c
    9130:	0000ce5b 	.long	0x0000ce5b

Disassembly of section .text.TemCtrl_Temperature_Add:

00009134 <TemCtrl_Temperature_Add>:
 * 函数功能：设置温度加
 * 
 * 
*/ 
void TemCtrl_Temperature_Add(void)
{
    9134:	14d0      	push      	r15
	U8_T TemSet;   //设置温度

	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    9136:	106a      	lrw      	r3, 0x2000083c	// 915c <TemCtrl_Temperature_Add+0x28>
    9138:	8342      	ld.b      	r2, (r3, 0x2)
    913a:	748a      	sextb      	r2, r2
    913c:	3adf      	btsti      	r2, 31
    913e:	0c0b      	bf      	0x9154	// 9154 <TemCtrl_Temperature_Add+0x20>
	{
		return ;
	}
//	TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);
	TemSet = TempCtrl.TemState_Now.set_t;
    9140:	8341      	ld.b      	r2, (r3, 0x1)
	
	if(TemSet < TEM_MAX_SET)   //小于最高温度  设置温度为0 即是32度
    9142:	3a1f      	cmphsi      	r2, 32
    9144:	0809      	bt      	0x9156	// 9156 <TemCtrl_Temperature_Add+0x22>
	{
		TemSet++;
    9146:	2200      	addi      	r2, 1
    9148:	7488      	zextb      	r2, r2
		TemSet = TEM_MAX_SET;     //加到最高温度就不加了  赋值32即是0
	}

	TempCtrl.TemState_Now.set_t = TemSet;      //室内温度
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Set Temp_1:%d",TempCtrl.TemState_Now.set_t);
    914a:	1026      	lrw      	r1, 0xce64	// 9160 <TemCtrl_Temperature_Add+0x2c>
    914c:	3000      	movi      	r0, 0
	TempCtrl.TemState_Now.set_t = TemSet;      //室内温度
    914e:	a341      	st.b      	r2, (r3, 0x1)
	Dbg_Println(DBG_BIT_SYS_STATUS,"Set Temp_1:%d",TempCtrl.TemState_Now.set_t);
    9150:	e3ffea76 	bsr      	0x663c	// 663c <Dbg_Println>
}
    9154:	1490      	pop      	r15
		TemSet = TEM_MAX_SET;     //加到最高温度就不加了  赋值32即是0
    9156:	3220      	movi      	r2, 32
    9158:	07f9      	br      	0x914a	// 914a <TemCtrl_Temperature_Add+0x16>
    915a:	0000      	bkpt
    915c:	2000083c 	.long	0x2000083c
    9160:	0000ce64 	.long	0x0000ce64

Disassembly of section .text.TemCtrl_OnOff_Set:

00009164 <TemCtrl_OnOff_Set>:
 * 函数功能：开关机控制
 * 
 * 
*/    
void TemCtrl_OnOff_Set(void)   
{
    9164:	14d0      	push      	r15
	switch(TempCtrl.TemState_Now.on_off)           
    9166:	104b      	lrw      	r2, 0x2000083c	// 9190 <TemCtrl_OnOff_Set+0x2c>
    9168:	8262      	ld.b      	r3, (r2, 0x2)
    916a:	4b27      	lsri      	r1, r3, 7
    916c:	3940      	cmpnei      	r1, 0
    916e:	0c0d      	bf      	0x9188	// 9188 <TemCtrl_OnOff_Set+0x24>
    9170:	3941      	cmpnei      	r1, 1
    9172:	080b      	bt      	0x9188	// 9188 <TemCtrl_OnOff_Set+0x24>
	{
		case TEMP_ON:
		  TempCtrl.TemState_Now.on_off = TEMP_OFF;  //关机
    9174:	317f      	movi      	r1, 127
    9176:	68c4      	and      	r3, r1
		  break;
		case TEMP_OFF:
		  TempCtrl.TemState_Now.on_off = TEMP_ON;   //开机
		  break;
		default:
		  TempCtrl.TemState_Now.on_off = TEMP_ON;   //开机
    9178:	a262      	st.b      	r3, (r2, 0x2)
		  break;
	}
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Set Temp_1:%d",TempCtrl.TemState_Now.on_off);
    917a:	8242      	ld.b      	r2, (r2, 0x2)
    917c:	4a47      	lsri      	r2, r2, 7
    917e:	1026      	lrw      	r1, 0xce64	// 9194 <TemCtrl_OnOff_Set+0x30>
    9180:	3000      	movi      	r0, 0
    9182:	e3ffea5d 	bsr      	0x663c	// 663c <Dbg_Println>
} 
    9186:	1490      	pop      	r15
		  TempCtrl.TemState_Now.on_off = TEMP_ON;   //开机
    9188:	3100      	movi      	r1, 0
    918a:	297f      	subi      	r1, 128
    918c:	6cc4      	or      	r3, r1
    918e:	07f5      	br      	0x9178	// 9178 <TemCtrl_OnOff_Set+0x14>
    9190:	2000083c 	.long	0x2000083c
    9194:	0000ce64 	.long	0x0000ce64

Disassembly of section .text.Tem_Valve_Ctrl:

00009198 <Tem_Valve_Ctrl>:
 * 函数功能：阀门控制
 * 
 * 
*/
void Tem_Valve_Ctrl(void)
{
    9198:	14d1      	push      	r4, r15
	uint8_t TemIndoor = 0x00;
	uint8_t TemSet = 0x00; 
	
	TemIndoor = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);
    919a:	1130      	lrw      	r1, 0x2000083c	// 9258 <Tem_Valve_Ctrl+0xc0>
    919c:	8100      	ld.b      	r0, (r1, 0x0)
    919e:	3840      	cmpnei      	r0, 0
    91a0:	0802      	bt      	0x91a4	// 91a4 <Tem_Valve_Ctrl+0xc>
    91a2:	3020      	movi      	r0, 32
	TemSet = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);
    91a4:	8141      	ld.b      	r2, (r1, 0x1)
    91a6:	3a40      	cmpnei      	r2, 0
    91a8:	0802      	bt      	0x91ac	// 91ac <Tem_Valve_Ctrl+0x14>
    91aa:	3220      	movi      	r2, 32
	switch(TempCtrl.TemState_Now.on_off)  //
    91ac:	8162      	ld.b      	r3, (r1, 0x2)
    91ae:	4b87      	lsri      	r4, r3, 7
    91b0:	3c40      	cmpnei      	r4, 0
    91b2:	0c0f      	bf      	0x91d0	// 91d0 <Tem_Valve_Ctrl+0x38>
    91b4:	3c41      	cmpnei      	r4, 1
    91b6:	0850      	bt      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
	{
		case TEMP_ON:
			switch(TempCtrl.TemState_Now.mode)  //模式
    91b8:	4399      	lsli      	r4, r3, 25
    91ba:	4c9d      	lsri      	r4, r4, 29
    91bc:	3c42      	cmpnei      	r4, 2
    91be:	0c26      	bf      	0x920a	// 920a <Tem_Valve_Ctrl+0x72>
    91c0:	3c44      	cmpnei      	r4, 4
    91c2:	0c36      	bf      	0x922e	// 922e <Tem_Valve_Ctrl+0x96>
    91c4:	3c40      	cmpnei      	r4, 0
    91c6:	0848      	bt      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
			{
				case MODEL_COLD:
					if(TemIndoor < TemSet - 1)   //室内温度小于设置温度
    91c8:	5a83      	subi      	r4, r2, 1
    91ca:	6501      	cmplt      	r0, r4
    91cc:	0c05      	bf      	0x91d6	// 91d6 <Tem_Valve_Ctrl+0x3e>
					{
						TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE;
    91ce:	8162      	ld.b      	r3, (r1, 0x2)

					break;
			}
			break;
		case TEMP_OFF:
			TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE;
    91d0:	3b80      	bclri      	r3, 0
    91d2:	a162      	st.b      	r3, (r1, 0x2)
    91d4:	0419      	br      	0x9206	// 9206 <Tem_Valve_Ctrl+0x6e>
					else if(TemIndoor > TemSet + 1)   //室内温度大于设置温度
    91d6:	2200      	addi      	r2, 1
    91d8:	6409      	cmplt      	r2, r0
    91da:	0c3e      	bf      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
						TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN;
    91dc:	3ba0      	bseti      	r3, 0
    91de:	a162      	st.b      	r3, (r1, 0x2)
						if(g_eeprom.pipe_flag == 0x01)   //冷热阀分离
    91e0:	107f      	lrw      	r3, 0x20000524	// 925c <Tem_Valve_Ctrl+0xc4>
    91e2:	8361      	ld.b      	r3, (r3, 0x1)
    91e4:	3b41      	cmpnei      	r3, 1
    91e6:	080a      	bt      	0x91fa	// 91fa <Tem_Valve_Ctrl+0x62>
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    91e8:	3102      	movi      	r1, 2
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_ON);
    91ea:	3000      	movi      	r0, 0
    91ec:	e0000730 	bsr      	0xa04c	// a04c <BLV_RLY_Ctrl_Purpose>
							BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_ON);							
    91f0:	3101      	movi      	r1, 1
//			RLY1_HOT_CLOSE;
//			RLY2_COLD_CLOSE;
			BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
			BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_OFF);
    91f2:	3001      	movi      	r0, 1
    91f4:	e000072c 	bsr      	0xa04c	// a04c <BLV_RLY_Ctrl_Purpose>
		default:
			break;
	}
	
//	Dbg_Println(DBG_BIT_SYS_STATUS,"valve:%d",TempCtrl.TemState_Now.valve);
}
    91f8:	042f      	br      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
						else if(g_eeprom.pipe_flag == 0x00)   //冷热阀不分离
    91fa:	3b40      	cmpnei      	r3, 0
    91fc:	0803      	bt      	0x9202	// 9202 <Tem_Valve_Ctrl+0x6a>
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_ON);
    91fe:	3101      	movi      	r1, 1
    9200:	07f5      	br      	0x91ea	// 91ea <Tem_Valve_Ctrl+0x52>
						}else if (g_eeprom.pipe_flag == 0x02) {		//无阀
    9202:	3b42      	cmpnei      	r3, 2
    9204:	0829      	bt      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
			BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    9206:	3102      	movi      	r1, 2
    9208:	040e      	br      	0x9224	// 9224 <Tem_Valve_Ctrl+0x8c>
					if(TemIndoor > TemSet + 1)   //室内温度大于设置温度
    920a:	5a82      	addi      	r4, r2, 1
    920c:	6411      	cmplt      	r4, r0
    920e:	0be0      	bt      	0x91ce	// 91ce <Tem_Valve_Ctrl+0x36>
					else if(TemIndoor < TemSet - 1)   //室内温度小于设置温度
    9210:	2a00      	subi      	r2, 1
    9212:	6481      	cmplt      	r0, r2
    9214:	0c21      	bf      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
						TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN;
    9216:	3ba0      	bseti      	r3, 0
    9218:	a162      	st.b      	r3, (r1, 0x2)
						if(g_eeprom.pipe_flag == 0x01)   //冷热阀分离
    921a:	1071      	lrw      	r3, 0x20000524	// 925c <Tem_Valve_Ctrl+0xc4>
    921c:	8361      	ld.b      	r3, (r3, 0x1)
    921e:	3b41      	cmpnei      	r3, 1
    9220:	0bed      	bt      	0x91fa	// 91fa <Tem_Valve_Ctrl+0x62>
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_ON);
    9222:	3101      	movi      	r1, 1
			BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    9224:	3000      	movi      	r0, 0
    9226:	e0000713 	bsr      	0xa04c	// a04c <BLV_RLY_Ctrl_Purpose>
			BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_OFF);
    922a:	3102      	movi      	r1, 2
    922c:	07e3      	br      	0x91f2	// 91f2 <Tem_Valve_Ctrl+0x5a>
						TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE;
    922e:	3b80      	bclri      	r3, 0
    9230:	a162      	st.b      	r3, (r1, 0x2)
						BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    9232:	3000      	movi      	r0, 0
    9234:	3102      	movi      	r1, 2
    9236:	e000070b 	bsr      	0xa04c	// a04c <BLV_RLY_Ctrl_Purpose>
						BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_OFF);
    923a:	3102      	movi      	r1, 2
    923c:	3001      	movi      	r0, 1
    923e:	e0000707 	bsr      	0xa04c	// a04c <BLV_RLY_Ctrl_Purpose>
						if(g_eeprom.pipe_flag == 0x02)   //水机无阀  送风模式下风机都不开  2024-11-14 wpd
    9242:	1067      	lrw      	r3, 0x20000524	// 925c <Tem_Valve_Ctrl+0xc4>
    9244:	8361      	ld.b      	r3, (r3, 0x1)
    9246:	3b42      	cmpnei      	r3, 2
    9248:	0807      	bt      	0x9256	// 9256 <Tem_Valve_Ctrl+0xbe>
							Relay_Stop();
    924a:	e00006f3 	bsr      	0xa030	// a030 <Relay_Stop>
							Dbg_Println(DBG_BIT_SYS_STATUS," no pipe");
    924e:	1025      	lrw      	r1, 0xce72	// 9260 <Tem_Valve_Ctrl+0xc8>
    9250:	3000      	movi      	r0, 0
    9252:	e3ffe9f5 	bsr      	0x663c	// 663c <Dbg_Println>
}
    9256:	1491      	pop      	r4, r15
    9258:	2000083c 	.long	0x2000083c
    925c:	20000524 	.long	0x20000524
    9260:	0000ce72 	.long	0x0000ce72

Disassembly of section .text.TemCtrl_Pro:

00009264 <TemCtrl_Pro>:
 * 函数功能：温控轮询任务
 * 
 * 
*/
void TemCtrl_Pro(void)
{
    9264:	14d3      	push      	r4-r6, r15
	static uint32_t tick = 0;
	if(SysTick_1ms - tick > 1000)
    9266:	1218      	lrw      	r0, 0x200000c0	// 93c4 <TemCtrl_Pro+0x160>
    9268:	1238      	lrw      	r1, 0x20000230	// 93c8 <TemCtrl_Pro+0x164>
    926a:	9040      	ld.w      	r2, (r0, 0x0)
    926c:	9160      	ld.w      	r3, (r1, 0x0)
    926e:	608e      	subu      	r2, r3
    9270:	33fa      	movi      	r3, 250
    9272:	4362      	lsli      	r3, r3, 2
    9274:	648c      	cmphs      	r3, r2
    9276:	083b      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
	{
		tick = SysTick_1ms;
    9278:	9060      	ld.w      	r3, (r0, 0x0)
    927a:	b160      	st.w      	r3, (r1, 0x0)
		TempCtrl.IndoorTem = TEMPTIMENOWMATH;//Get_Temp_Val() + g_eeprom.temp_diff*10 - EEPROM_TempDifference_Default*10;
    927c:	360a      	movi      	r6, 10
    927e:	12b4      	lrw      	r5, 0x20000524	// 93cc <TemCtrl_Pro+0x168>
    9280:	e3fff1b0 	bsr      	0x75e0	// 75e0 <Get_Temp_Val>
    9284:	8542      	ld.b      	r2, (r5, 0x2)
    9286:	7c98      	mult      	r2, r6
    9288:	2a54      	subi      	r2, 85
    928a:	6080      	addu      	r2, r0
    928c:	7589      	zexth      	r6, r2
    928e:	1291      	lrw      	r4, 0x2000083c	// 93d0 <TemCtrl_Pro+0x16c>
    9290:	7498      	zextb      	r2, r6
    9292:	4e68      	lsri      	r3, r6, 8
    9294:	a448      	st.b      	r2, (r4, 0x8)
    9296:	a469      	st.b      	r3, (r4, 0x9)
		
		TempCtrl.ReportTem = TempCtrl.IndoorTem;
    9298:	a44c      	st.b      	r2, (r4, 0xc)
    929a:	a46d      	st.b      	r3, (r4, 0xd)
		
		TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    929c:	310a      	movi      	r1, 10
    929e:	6c1b      	mov      	r0, r6
    92a0:	e3ffe762 	bsr      	0x6164	// 6164 <__udivsi3>
    92a4:	74c0      	zextb      	r3, r0
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"IndoorTem:%d  TemState_Now.indoor_t:%d ",TempCtrl.IndoorTem,TempCtrl.TemState_Now.indoor_t);
    92a6:	6c9b      	mov      	r2, r6
    92a8:	122b      	lrw      	r1, 0xce7b	// 93d4 <TemCtrl_Pro+0x170>
    92aa:	3000      	movi      	r0, 0
		TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    92ac:	a460      	st.b      	r3, (r4, 0x0)
		Dbg_Println(DBG_BIT_SYS_STATUS,"IndoorTem:%d  TemState_Now.indoor_t:%d ",TempCtrl.IndoorTem,TempCtrl.TemState_Now.indoor_t);
    92ae:	e3ffe9c7 	bsr      	0x663c	// 663c <Dbg_Println>
	
		Tem_Valve_Ctrl();
    92b2:	e3ffff73 	bsr      	0x9198	// 9198 <Tem_Valve_Ctrl>
		
		if(TempCtrl.TemState_Now.fan == FAN_AUTO && TempCtrl.TemState_Now.on_off == TEMP_ON)  //自动风继电器逻辑
    92b6:	8442      	ld.b      	r2, (r4, 0x2)
    92b8:	74c8      	zextb      	r3, r2
    92ba:	3171      	movi      	r1, 113
    92bc:	6c0f      	mov      	r0, r3
    92be:	6805      	andn      	r0, r1
    92c0:	3186      	movi      	r1, 134
    92c2:	6442      	cmpne      	r0, r1
    92c4:	083d      	bt      	0x933e	// 933e <TemCtrl_Pro+0xda>
		{
			if(TempCtrl.TemState_Now.mode == MODEL_COLD)
    92c6:	3270      	movi      	r2, 112
    92c8:	68c8      	and      	r3, r2
    92ca:	3b40      	cmpnei      	r3, 0
    92cc:	0827      	bt      	0x931a	// 931a <TemCtrl_Pro+0xb6>
			{
				if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)	//2025-02-26,
    92ce:	8461      	ld.b      	r3, (r4, 0x1)
    92d0:	8440      	ld.b      	r2, (r4, 0x0)
    92d2:	5b27      	subi      	r1, r3, 2
    92d4:	6449      	cmplt      	r2, r1
    92d6:	0c0c      	bf      	0x92ee	// 92ee <TemCtrl_Pro+0x8a>
				{
					Relay_Stop();     //低风速
    92d8:	e00006ac 	bsr      	0xa030	// a030 <Relay_Stop>
					Control_wind_velocity(TempCtrl.TemState_Now.fan);
				}
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
				{
					Relay_Low();      //低风速
					HT1621.wind_velocity = 0;
    92dc:	117f      	lrw      	r3, 0x200005c0	// 93d8 <TemCtrl_Pro+0x174>
    92de:	3200      	movi      	r2, 0
					Control_wind_velocity(TempCtrl.TemState_Now.fan);
    92e0:	8402      	ld.b      	r0, (r4, 0x2)
    92e2:	401c      	lsli      	r0, r0, 28
    92e4:	481d      	lsri      	r0, r0, 29
					HT1621.wind_velocity = 0;
    92e6:	a343      	st.b      	r2, (r3, 0x3)
					Control_wind_velocity(TempCtrl.TemState_Now.fan);
    92e8:	e3fffacc 	bsr      	0x8880	// 8880 <Control_wind_velocity>
		else if(TempCtrl.TemState_Now.on_off == TEMP_OFF)
		{
			Relay_Stop();     //风速停
		}
	}
    92ec:	1493      	pop      	r4-r6, r15
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    92ee:	5b23      	subi      	r1, r3, 1
    92f0:	644a      	cmpne      	r2, r1
    92f2:	0804      	bt      	0x92fa	// 92fa <TemCtrl_Pro+0x96>
					Relay_Low();      //低风速
    92f4:	e0000690 	bsr      	0xa014	// a014 <Relay_Low>
    92f8:	07f2      	br      	0x92dc	// 92dc <TemCtrl_Pro+0x78>
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    92fa:	5b22      	addi      	r1, r3, 1
    92fc:	644a      	cmpne      	r2, r1
    92fe:	0806      	bt      	0x930a	// 930a <TemCtrl_Pro+0xa6>
					Relay_Mid();      //中风速
    9300:	e000067c 	bsr      	0x9ff8	// 9ff8 <Relay_Mid>
					HT1621.wind_velocity = 1;
    9304:	1175      	lrw      	r3, 0x200005c0	// 93d8 <TemCtrl_Pro+0x174>
    9306:	3201      	movi      	r2, 1
    9308:	07ec      	br      	0x92e0	// 92e0 <TemCtrl_Pro+0x7c>
				else if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)
    930a:	2301      	addi      	r3, 2
    930c:	648d      	cmplt      	r3, r2
    930e:	0fef      	bf      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
					Relay_High();     //高风速
    9310:	e0000666 	bsr      	0x9fdc	// 9fdc <Relay_High>
					HT1621.wind_velocity = 2;
    9314:	1171      	lrw      	r3, 0x200005c0	// 93d8 <TemCtrl_Pro+0x174>
    9316:	3202      	movi      	r2, 2
    9318:	07e4      	br      	0x92e0	// 92e0 <TemCtrl_Pro+0x7c>
			else if(TempCtrl.TemState_Now.mode == MODEL_HOT)
    931a:	3220      	movi      	r2, 32
    931c:	648e      	cmpne      	r3, r2
    931e:	0be7      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
				if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)
    9320:	8461      	ld.b      	r3, (r4, 0x1)
    9322:	8440      	ld.b      	r2, (r4, 0x0)
    9324:	5b27      	subi      	r1, r3, 2
    9326:	6449      	cmplt      	r2, r1
    9328:	0bf4      	bt      	0x9310	// 9310 <TemCtrl_Pro+0xac>
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    932a:	5b23      	subi      	r1, r3, 1
    932c:	644a      	cmpne      	r2, r1
    932e:	0fe9      	bf      	0x9300	// 9300 <TemCtrl_Pro+0x9c>
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)	
    9330:	5b22      	addi      	r1, r3, 1
    9332:	644a      	cmpne      	r2, r1
    9334:	0fe0      	bf      	0x92f4	// 92f4 <TemCtrl_Pro+0x90>
				else if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)//2025-02-26,
    9336:	2301      	addi      	r3, 2
    9338:	648d      	cmplt      	r3, r2
    933a:	0fd9      	bf      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
    933c:	07ce      	br      	0x92d8	// 92d8 <TemCtrl_Pro+0x74>
		}else if (g_eeprom.pipe_flag == 0x02 && TempCtrl.TemState_Now.on_off == TEMP_ON) {
    933e:	8521      	ld.b      	r1, (r5, 0x1)
    9340:	3942      	cmpnei      	r1, 2
    9342:	744e      	sextb      	r1, r3
    9344:	083a      	bt      	0x93b8	// 93b8 <TemCtrl_Pro+0x154>
    9346:	39df      	btsti      	r1, 31
    9348:	0c38      	bf      	0x93b8	// 93b8 <TemCtrl_Pro+0x154>
			if (TempCtrl.TemState_Now.fan != FAN_AUTO) {								//无阀 制冷/制热 非自动风模式 风机控制逻辑
    934a:	310e      	movi      	r1, 14
    934c:	684c      	and      	r1, r3
    934e:	3946      	cmpnei      	r1, 6
    9350:	0fce      	bf      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
				if(TempCtrl.TemState_Now.mode == MODEL_COLD)
    9352:	3170      	movi      	r1, 112
    9354:	68c4      	and      	r3, r1
    9356:	3b40      	cmpnei      	r3, 0
    9358:	0819      	bt      	0x938a	// 938a <TemCtrl_Pro+0x126>
					if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)
    935a:	8461      	ld.b      	r3, (r4, 0x1)
    935c:	8420      	ld.b      	r1, (r4, 0x0)
    935e:	5b07      	subi      	r0, r3, 2
    9360:	6405      	cmplt      	r1, r0
    9362:	0bbb      	bt      	0x92d8	// 92d8 <TemCtrl_Pro+0x74>
						switch(TempCtrl.TemState_Now.fan)
    9364:	425c      	lsli      	r2, r2, 28
    9366:	4a5d      	lsri      	r2, r2, 29
    9368:	3a41      	cmpnei      	r2, 1
    936a:	0c0c      	bf      	0x9382	// 9382 <TemCtrl_Pro+0x11e>
    936c:	3a40      	cmpnei      	r2, 0
    936e:	0c06      	bf      	0x937a	// 937a <TemCtrl_Pro+0x116>
    9370:	3a42      	cmpnei      	r2, 2
    9372:	0bbd      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
								if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)
    9374:	2301      	addi      	r3, 2
    9376:	644d      	cmplt      	r3, r1
    9378:	07cb      	br      	0x930e	// 930e <TemCtrl_Pro+0xaa>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    937a:	2b00      	subi      	r3, 1
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    937c:	64c6      	cmpne      	r1, r3
    937e:	0bb7      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
    9380:	07ba      	br      	0x92f4	// 92f4 <TemCtrl_Pro+0x90>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    9382:	2300      	addi      	r3, 1
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    9384:	64c6      	cmpne      	r1, r3
    9386:	0bb3      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
    9388:	07bc      	br      	0x9300	// 9300 <TemCtrl_Pro+0x9c>
				else if(TempCtrl.TemState_Now.mode == MODEL_HOT)
    938a:	3120      	movi      	r1, 32
    938c:	644e      	cmpne      	r3, r1
    938e:	0baf      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
					if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)
    9390:	8461      	ld.b      	r3, (r4, 0x1)
    9392:	8420      	ld.b      	r1, (r4, 0x0)
    9394:	5b06      	addi      	r0, r3, 2
    9396:	6441      	cmplt      	r0, r1
    9398:	0ba0      	bt      	0x92d8	// 92d8 <TemCtrl_Pro+0x74>
						switch(TempCtrl.TemState_Now.fan)
    939a:	425c      	lsli      	r2, r2, 28
    939c:	4a5d      	lsri      	r2, r2, 29
    939e:	3a41      	cmpnei      	r2, 1
    93a0:	0c0a      	bf      	0x93b4	// 93b4 <TemCtrl_Pro+0x150>
    93a2:	3a40      	cmpnei      	r2, 0
    93a4:	0c06      	bf      	0x93b0	// 93b0 <TemCtrl_Pro+0x14c>
    93a6:	3a42      	cmpnei      	r2, 2
    93a8:	0ba2      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
								if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)
    93aa:	2b01      	subi      	r3, 2
    93ac:	64c5      	cmplt      	r1, r3
    93ae:	07b0      	br      	0x930e	// 930e <TemCtrl_Pro+0xaa>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    93b0:	2300      	addi      	r3, 1
    93b2:	07e5      	br      	0x937c	// 937c <TemCtrl_Pro+0x118>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    93b4:	2b00      	subi      	r3, 1
    93b6:	07e7      	br      	0x9384	// 9384 <TemCtrl_Pro+0x120>
		else if(TempCtrl.TemState_Now.on_off == TEMP_OFF)
    93b8:	39df      	btsti      	r1, 31
    93ba:	0b99      	bt      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
			Relay_Stop();     //风速停
    93bc:	e000063a 	bsr      	0xa030	// a030 <Relay_Stop>
    93c0:	0796      	br      	0x92ec	// 92ec <TemCtrl_Pro+0x88>
    93c2:	0000      	bkpt
    93c4:	200000c0 	.long	0x200000c0
    93c8:	20000230 	.long	0x20000230
    93cc:	20000524 	.long	0x20000524
    93d0:	2000083c 	.long	0x2000083c
    93d4:	0000ce7b 	.long	0x0000ce7b
    93d8:	200005c0 	.long	0x200005c0

Disassembly of section .text.KEY1_Model_Press_Fun:

000093dc <KEY1_Model_Press_Fun>:
#include "includes.h"

extern volatile U32_T SysTick_1ms;

void KEY1_Model_Press_Fun(void)
{
    93dc:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY1_Model_Press_Fun");
    93de:	112e      	lrw      	r1, 0xcea3	// 9494 <KEY1_Model_Press_Fun+0xb8>
    93e0:	3000      	movi      	r0, 0
	
	if(Debug_Inf.State == 0x01)                   //设置模式下功能
    93e2:	118e      	lrw      	r4, 0x20000868	// 9498 <KEY1_Model_Press_Fun+0xbc>
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY1_Model_Press_Fun");
    93e4:	e3ffe92c 	bsr      	0x663c	// 663c <Dbg_Println>
	if(Debug_Inf.State == 0x01)                   //设置模式下功能
    93e8:	8460      	ld.b      	r3, (r4, 0x0)
    93ea:	3b41      	cmpnei      	r3, 1
    93ec:	11ac      	lrw      	r5, 0x200000c0	// 949c <KEY1_Model_Press_Fun+0xc0>
    93ee:	0836      	bt      	0x945a	// 945a <KEY1_Model_Press_Fun+0x7e>
	{
		Debug_Inf.Tick = SysTick_1ms;
    93f0:	9560      	ld.w      	r3, (r5, 0x0)
    93f2:	b463      	st.w      	r3, (r4, 0xc)
		if(Debug_Inf.Page < PAGE8ID)
    93f4:	8462      	ld.b      	r3, (r4, 0x2)
    93f6:	3b07      	cmphsi      	r3, 8
    93f8:	0803      	bt      	0x93fe	// 93fe <KEY1_Model_Press_Fun+0x22>
		{
			Debug_Inf.Page++;
    93fa:	2300      	addi      	r3, 1
    93fc:	a462      	st.b      	r3, (r4, 0x2)
		}
		HT1621_Clear();
    93fe:	e3fff7e1 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
		if(Debug_Inf.Page == PAGE2ID)                    //设置模式下：页面2 温差
    9402:	8462      	ld.b      	r3, (r4, 0x2)
    9404:	3b42      	cmpnei      	r3, 2
    9406:	0805      	bt      	0x9410	// 9410 <KEY1_Model_Press_Fun+0x34>
		{
			Set_Temp_Difference(Debug_Inf.TempDiff);
    9408:	8405      	ld.b      	r0, (r4, 0x5)
    940a:	e3fffbed 	bsr      	0x8be4	// 8be4 <Set_Temp_Difference>
				}
			}
		}
		TempCtrl.BackLightTick = SysTick_1ms;
	}
}
    940e:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == PAGE1ID)               //设置模式下：页面1 温控管制
    9410:	3b41      	cmpnei      	r3, 1
    9412:	0806      	bt      	0x941e	// 941e <KEY1_Model_Press_Fun+0x42>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);
    9414:	8424      	ld.b      	r1, (r4, 0x4)
    9416:	3001      	movi      	r0, 1
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9418:	e3fffb98 	bsr      	0x8b48	// 8b48 <Set_Device_ADDR>
    941c:	07f9      	br      	0x940e	// 940e <KEY1_Model_Press_Fun+0x32>
		else if(Debug_Inf.Page == PAGE3ID)               //设置模式下：页面3 背光延时关
    941e:	3b43      	cmpnei      	r3, 3
    9420:	0804      	bt      	0x9428	// 9428 <KEY1_Model_Press_Fun+0x4c>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    9422:	8426      	ld.b      	r1, (r4, 0x6)
    9424:	3003      	movi      	r0, 3
    9426:	07f9      	br      	0x9418	// 9418 <KEY1_Model_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE4ID)               //设置模式下：页面4 按键灵敏度
    9428:	3b44      	cmpnei      	r3, 4
    942a:	0804      	bt      	0x9432	// 9432 <KEY1_Model_Press_Fun+0x56>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    942c:	8427      	ld.b      	r1, (r4, 0x7)
    942e:	3004      	movi      	r0, 4
    9430:	07f4      	br      	0x9418	// 9418 <KEY1_Model_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE5ID)               //设置模式下：页面5 设置地址
    9432:	3b45      	cmpnei      	r3, 5
    9434:	0804      	bt      	0x943c	// 943c <KEY1_Model_Press_Fun+0x60>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);
    9436:	8423      	ld.b      	r1, (r4, 0x3)
    9438:	3005      	movi      	r0, 5
    943a:	07ef      	br      	0x9418	// 9418 <KEY1_Model_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE6ID)               //设置模式下：页面6 设置温度显示单位
    943c:	3b46      	cmpnei      	r3, 6
    943e:	0804      	bt      	0x9446	// 9446 <KEY1_Model_Press_Fun+0x6a>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    9440:	8428      	ld.b      	r1, (r4, 0x8)
    9442:	3006      	movi      	r0, 6
    9444:	07ea      	br      	0x9418	// 9418 <KEY1_Model_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE7ID)               //设置模式下：页面7 设置LCD屏幕文本显示
    9446:	3b47      	cmpnei      	r3, 7
    9448:	0804      	bt      	0x9450	// 9450 <KEY1_Model_Press_Fun+0x74>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    944a:	8429      	ld.b      	r1, (r4, 0x9)
    944c:	3007      	movi      	r0, 7
    944e:	07e5      	br      	0x9418	// 9418 <KEY1_Model_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE8ID)               //设置模式下：页面8 查询软件版本号功能
    9450:	3b48      	cmpnei      	r3, 8
    9452:	0bde      	bt      	0x940e	// 940e <KEY1_Model_Press_Fun+0x32>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9454:	3104      	movi      	r1, 4
    9456:	3008      	movi      	r0, 8
    9458:	07e0      	br      	0x9418	// 9418 <KEY1_Model_Press_Fun+0x3c>
		if(TempCtrl.CardState == CARDIN)  //插卡状态
    945a:	1092      	lrw      	r4, 0x2000083c	// 94a0 <KEY1_Model_Press_Fun+0xc4>
    945c:	8478      	ld.b      	r3, (r4, 0x18)
    945e:	3b41      	cmpnei      	r3, 1
    9460:	0811      	bt      	0x9482	// 9482 <KEY1_Model_Press_Fun+0xa6>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)      
    9462:	8462      	ld.b      	r3, (r4, 0x2)
    9464:	74ce      	sextb      	r3, r3
    9466:	3bdf      	btsti      	r3, 31
    9468:	0c0d      	bf      	0x9482	// 9482 <KEY1_Model_Press_Fun+0xa6>
				TemCtrl_Model_Set();                   //模式切换
    946a:	e3fffe01 	bsr      	0x906c	// 906c <TemCtrl_Model_Set>
				if(g_eeprom.backlight_en == 0x01)
    946e:	106e      	lrw      	r3, 0x20000524	// 94a4 <KEY1_Model_Press_Fun+0xc8>
    9470:	8364      	ld.b      	r3, (r3, 0x4)
    9472:	3b41      	cmpnei      	r3, 1
    9474:	0807      	bt      	0x9482	// 9482 <KEY1_Model_Press_Fun+0xa6>
					Controlled_LCD_Backlight(0x01);
    9476:	3001      	movi      	r0, 1
    9478:	e3fffae2 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
					Controlled_Key_Backlight(0x01);
    947c:	3001      	movi      	r0, 1
    947e:	e3fffb4d 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    9482:	9560      	ld.w      	r3, (r5, 0x0)
    9484:	4b48      	lsri      	r2, r3, 8
    9486:	a470      	st.b      	r3, (r4, 0x10)
    9488:	a451      	st.b      	r2, (r4, 0x11)
    948a:	4b50      	lsri      	r2, r3, 16
    948c:	4b78      	lsri      	r3, r3, 24
    948e:	a452      	st.b      	r2, (r4, 0x12)
    9490:	a473      	st.b      	r3, (r4, 0x13)
}
    9492:	07be      	br      	0x940e	// 940e <KEY1_Model_Press_Fun+0x32>
    9494:	0000cea3 	.long	0x0000cea3
    9498:	20000868 	.long	0x20000868
    949c:	200000c0 	.long	0x200000c0
    94a0:	2000083c 	.long	0x2000083c
    94a4:	20000524 	.long	0x20000524

Disassembly of section .text.KEY2_Fan_Press_Fun:

000094a8 <KEY2_Fan_Press_Fun>:




void KEY2_Fan_Press_Fun(void)
{
    94a8:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY2_Fan_Press_Fun");
    94aa:	112e      	lrw      	r1, 0xceb8	// 9560 <KEY2_Fan_Press_Fun+0xb8>
    94ac:	3000      	movi      	r0, 0
	
	if(Debug_Inf.State == 0x01)    //设置模式下功能
    94ae:	118e      	lrw      	r4, 0x20000868	// 9564 <KEY2_Fan_Press_Fun+0xbc>
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY2_Fan_Press_Fun");
    94b0:	e3ffe8c6 	bsr      	0x663c	// 663c <Dbg_Println>
	if(Debug_Inf.State == 0x01)    //设置模式下功能
    94b4:	8460      	ld.b      	r3, (r4, 0x0)
    94b6:	3b41      	cmpnei      	r3, 1
    94b8:	11ac      	lrw      	r5, 0x200000c0	// 9568 <KEY2_Fan_Press_Fun+0xc0>
    94ba:	0836      	bt      	0x9526	// 9526 <KEY2_Fan_Press_Fun+0x7e>
	{
		Debug_Inf.Tick = SysTick_1ms;
    94bc:	9560      	ld.w      	r3, (r5, 0x0)
    94be:	b463      	st.w      	r3, (r4, 0xc)
		if(Debug_Inf.Page > PAGE1ID)
    94c0:	8462      	ld.b      	r3, (r4, 0x2)
    94c2:	3b01      	cmphsi      	r3, 2
    94c4:	0c03      	bf      	0x94ca	// 94ca <KEY2_Fan_Press_Fun+0x22>
		{
			Debug_Inf.Page--;
    94c6:	2b00      	subi      	r3, 1
    94c8:	a462      	st.b      	r3, (r4, 0x2)
		}
		HT1621_Clear();
    94ca:	e3fff77b 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
		if(Debug_Inf.Page == PAGE2ID)                                  //设置模式下：页面2 温差
    94ce:	8462      	ld.b      	r3, (r4, 0x2)
    94d0:	3b42      	cmpnei      	r3, 2
    94d2:	0805      	bt      	0x94dc	// 94dc <KEY2_Fan_Press_Fun+0x34>
		{
			Set_Temp_Difference(Debug_Inf.TempDiff);
    94d4:	8405      	ld.b      	r0, (r4, 0x5)
    94d6:	e3fffb87 	bsr      	0x8be4	// 8be4 <Set_Temp_Difference>
		TempCtrl.BackLightTick = SysTick_1ms;
	
	}
	

}
    94da:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == PAGE1ID)                             //设置模式下：页面1 温控管制 
    94dc:	3b41      	cmpnei      	r3, 1
    94de:	0806      	bt      	0x94ea	// 94ea <KEY2_Fan_Press_Fun+0x42>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);	   	   
    94e0:	8424      	ld.b      	r1, (r4, 0x4)
    94e2:	3001      	movi      	r0, 1
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    94e4:	e3fffb32 	bsr      	0x8b48	// 8b48 <Set_Device_ADDR>
    94e8:	07f9      	br      	0x94da	// 94da <KEY2_Fan_Press_Fun+0x32>
		else if(Debug_Inf.Page == PAGE3ID)                             //设置模式下：页面3 背光延时关
    94ea:	3b43      	cmpnei      	r3, 3
    94ec:	0804      	bt      	0x94f4	// 94f4 <KEY2_Fan_Press_Fun+0x4c>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    94ee:	8426      	ld.b      	r1, (r4, 0x6)
    94f0:	3003      	movi      	r0, 3
    94f2:	07f9      	br      	0x94e4	// 94e4 <KEY2_Fan_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE4ID)                             //设置模式下：页面4 按键灵敏度
    94f4:	3b44      	cmpnei      	r3, 4
    94f6:	0804      	bt      	0x94fe	// 94fe <KEY2_Fan_Press_Fun+0x56>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    94f8:	8427      	ld.b      	r1, (r4, 0x7)
    94fa:	3004      	movi      	r0, 4
    94fc:	07f4      	br      	0x94e4	// 94e4 <KEY2_Fan_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE5ID)                             //设置模式下：页面5 设置地址
    94fe:	3b45      	cmpnei      	r3, 5
    9500:	0804      	bt      	0x9508	// 9508 <KEY2_Fan_Press_Fun+0x60>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);		   
    9502:	8423      	ld.b      	r1, (r4, 0x3)
    9504:	3005      	movi      	r0, 5
    9506:	07ef      	br      	0x94e4	// 94e4 <KEY2_Fan_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE6ID)               				//设置模式下：页面6 设置温度显示单位
    9508:	3b46      	cmpnei      	r3, 6
    950a:	0804      	bt      	0x9512	// 9512 <KEY2_Fan_Press_Fun+0x6a>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    950c:	8428      	ld.b      	r1, (r4, 0x8)
    950e:	3006      	movi      	r0, 6
    9510:	07ea      	br      	0x94e4	// 94e4 <KEY2_Fan_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE7ID)               				//设置模式下：页面7 设置LCD屏幕文本显示
    9512:	3b47      	cmpnei      	r3, 7
    9514:	0804      	bt      	0x951c	// 951c <KEY2_Fan_Press_Fun+0x74>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    9516:	8429      	ld.b      	r1, (r4, 0x9)
    9518:	3007      	movi      	r0, 7
    951a:	07e5      	br      	0x94e4	// 94e4 <KEY2_Fan_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE8ID)               				//设置模式下：页面8 查询软件版本号功能
    951c:	3b48      	cmpnei      	r3, 8
    951e:	0bde      	bt      	0x94da	// 94da <KEY2_Fan_Press_Fun+0x32>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9520:	3104      	movi      	r1, 4
    9522:	3008      	movi      	r0, 8
    9524:	07e0      	br      	0x94e4	// 94e4 <KEY2_Fan_Press_Fun+0x3c>
		if(TempCtrl.CardState == CARDIN)
    9526:	1092      	lrw      	r4, 0x2000083c	// 956c <KEY2_Fan_Press_Fun+0xc4>
    9528:	8478      	ld.b      	r3, (r4, 0x18)
    952a:	3b41      	cmpnei      	r3, 1
    952c:	0811      	bt      	0x954e	// 954e <KEY2_Fan_Press_Fun+0xa6>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    952e:	8462      	ld.b      	r3, (r4, 0x2)
    9530:	74ce      	sextb      	r3, r3
    9532:	3bdf      	btsti      	r3, 31
    9534:	0c0d      	bf      	0x954e	// 954e <KEY2_Fan_Press_Fun+0xa6>
				TemCtrl_Fan_Set();                               //风速切换
    9536:	e3fffdc1 	bsr      	0x90b8	// 90b8 <TemCtrl_Fan_Set>
				if(g_eeprom.backlight_en == 0x01)
    953a:	106e      	lrw      	r3, 0x20000524	// 9570 <KEY2_Fan_Press_Fun+0xc8>
    953c:	8364      	ld.b      	r3, (r3, 0x4)
    953e:	3b41      	cmpnei      	r3, 1
    9540:	0807      	bt      	0x954e	// 954e <KEY2_Fan_Press_Fun+0xa6>
				Controlled_LCD_Backlight(0x01);
    9542:	3001      	movi      	r0, 1
    9544:	e3fffa7c 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x01);
    9548:	3001      	movi      	r0, 1
    954a:	e3fffae7 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    954e:	9560      	ld.w      	r3, (r5, 0x0)
    9550:	4b48      	lsri      	r2, r3, 8
    9552:	a470      	st.b      	r3, (r4, 0x10)
    9554:	a451      	st.b      	r2, (r4, 0x11)
    9556:	4b50      	lsri      	r2, r3, 16
    9558:	4b78      	lsri      	r3, r3, 24
    955a:	a452      	st.b      	r2, (r4, 0x12)
    955c:	a473      	st.b      	r3, (r4, 0x13)
}
    955e:	07be      	br      	0x94da	// 94da <KEY2_Fan_Press_Fun+0x32>
    9560:	0000ceb8 	.long	0x0000ceb8
    9564:	20000868 	.long	0x20000868
    9568:	200000c0 	.long	0x200000c0
    956c:	2000083c 	.long	0x2000083c
    9570:	20000524 	.long	0x20000524

Disassembly of section .text.KEY3_TempAdd_Press_Fun:

00009574 <KEY3_TempAdd_Press_Fun>:


void KEY3_TempAdd_Press_Fun(void)
{
    9574:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY3_TempAdd_Press_Fun");
    9576:	113b      	lrw      	r1, 0xcecb	// 9660 <KEY3_TempAdd_Press_Fun+0xec>
    9578:	3000      	movi      	r0, 0
    957a:	e3ffe861 	bsr      	0x663c	// 663c <Dbg_Println>
	
	if(Debug_Inf.State == 0x01)  //设置模式下功能
    957e:	117a      	lrw      	r3, 0x20000868	// 9664 <KEY3_TempAdd_Press_Fun+0xf0>
    9580:	8340      	ld.b      	r2, (r3, 0x0)
    9582:	3a41      	cmpnei      	r2, 1
    9584:	11b9      	lrw      	r5, 0x200000c0	// 9668 <KEY3_TempAdd_Press_Fun+0xf4>
    9586:	0850      	bt      	0x9626	// 9626 <KEY3_TempAdd_Press_Fun+0xb2>
	{
		Debug_Inf.Tick = SysTick_1ms;
    9588:	9540      	ld.w      	r2, (r5, 0x0)
    958a:	b343      	st.w      	r2, (r3, 0xc)
		if((Debug_Inf.Page == 0x01) && (Debug_Inf.PipeFlag < 2))                           				  //设置模式下：页面1 温控管制
    958c:	8342      	ld.b      	r2, (r3, 0x2)
    958e:	3a41      	cmpnei      	r2, 1
    9590:	080b      	bt      	0x95a6	// 95a6 <KEY3_TempAdd_Press_Fun+0x32>
    9592:	8324      	ld.b      	r1, (r3, 0x4)
    9594:	3901      	cmphsi      	r1, 2
    9596:	0812      	bt      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
		{
			Debug_Inf.PipeFlag ++;			
    9598:	2100      	addi      	r1, 1
    959a:	7444      	zextb      	r1, r1
    959c:	a324      	st.b      	r1, (r3, 0x4)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);
    959e:	3001      	movi      	r0, 1
			Debug_Inf.Language_Selection++;
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
		}
		else if(Debug_Inf.Page == PAGE8ID)               						//设置模式下：页面8 软件版本号
		{
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    95a0:	e3fffad4 	bsr      	0x8b48	// 8b48 <Set_Device_ADDR>
    95a4:	040b      	br      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
		else if((Debug_Inf.Page == 0x02) && (Debug_Inf.TempDiff < 18))       //设置模式下：页面2 温差
    95a6:	3a42      	cmpnei      	r2, 2
    95a8:	080a      	bt      	0x95bc	// 95bc <KEY3_TempAdd_Press_Fun+0x48>
    95aa:	8305      	ld.b      	r0, (r3, 0x5)
    95ac:	3811      	cmphsi      	r0, 18
    95ae:	0806      	bt      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
			Debug_Inf.TempDiff++;
    95b0:	2000      	addi      	r0, 1
    95b2:	7400      	zextb      	r0, r0
    95b4:	a305      	st.b      	r0, (r3, 0x5)
			Set_Temp_Difference(Debug_Inf.TempDiff);
    95b6:	e3fffb17 	bsr      	0x8be4	// 8be4 <Set_Temp_Difference>
		}
		TempCtrl.BackLightTick = SysTick_1ms;

	}

}
    95ba:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == 0x03)     							     //设置模式下：页面3 背光延时关
    95bc:	3a43      	cmpnei      	r2, 3
    95be:	0806      	bt      	0x95ca	// 95ca <KEY3_TempAdd_Press_Fun+0x56>
			Debug_Inf.BackLight_En = 0x01;
    95c0:	3201      	movi      	r2, 1
    95c2:	a346      	st.b      	r2, (r3, 0x6)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    95c4:	3101      	movi      	r1, 1
    95c6:	3003      	movi      	r0, 3
    95c8:	07ec      	br      	0x95a0	// 95a0 <KEY3_TempAdd_Press_Fun+0x2c>
		else if(Debug_Inf.Page == 0x04 && Debug_Inf.KSens_Level <= 1)        //设置模式下：页面4 按键灵敏度
    95ca:	3a44      	cmpnei      	r2, 4
    95cc:	0809      	bt      	0x95de	// 95de <KEY3_TempAdd_Press_Fun+0x6a>
    95ce:	8327      	ld.b      	r1, (r3, 0x7)
    95d0:	3901      	cmphsi      	r1, 2
    95d2:	0bf4      	bt      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
			Debug_Inf.KSens_Level++;
    95d4:	2100      	addi      	r1, 1
    95d6:	7444      	zextb      	r1, r1
    95d8:	a327      	st.b      	r1, (r3, 0x7)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    95da:	3004      	movi      	r0, 4
    95dc:	07e2      	br      	0x95a0	// 95a0 <KEY3_TempAdd_Press_Fun+0x2c>
		else if(Debug_Inf.Page == 0x05 && Debug_Inf.DevAddr < 0xff)            //设置模式下：页面5 设置地址
    95de:	3a45      	cmpnei      	r2, 5
    95e0:	080a      	bt      	0x95f4	// 95f4 <KEY3_TempAdd_Press_Fun+0x80>
    95e2:	8323      	ld.b      	r1, (r3, 0x3)
    95e4:	32ff      	movi      	r2, 255
    95e6:	6486      	cmpne      	r1, r2
    95e8:	0fe9      	bf      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
			Debug_Inf.DevAddr++;					//刷新地址
    95ea:	2100      	addi      	r1, 1
    95ec:	7444      	zextb      	r1, r1
    95ee:	a323      	st.b      	r1, (r3, 0x3)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);
    95f0:	3005      	movi      	r0, 5
    95f2:	07d7      	br      	0x95a0	// 95a0 <KEY3_TempAdd_Press_Fun+0x2c>
		else if(Debug_Inf.Page == PAGE6ID && Debug_Inf.TempDisplay <1)         //设置模式下：页面6 温度单位选择
    95f4:	3a46      	cmpnei      	r2, 6
    95f6:	0809      	bt      	0x9608	// 9608 <KEY3_TempAdd_Press_Fun+0x94>
    95f8:	8348      	ld.b      	r2, (r3, 0x8)
    95fa:	3a40      	cmpnei      	r2, 0
    95fc:	0bdf      	bt      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
			Debug_Inf.TempDisplay++;
    95fe:	3201      	movi      	r2, 1
    9600:	a348      	st.b      	r2, (r3, 0x8)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    9602:	3101      	movi      	r1, 1
    9604:	3006      	movi      	r0, 6
    9606:	07cd      	br      	0x95a0	// 95a0 <KEY3_TempAdd_Press_Fun+0x2c>
		else if(Debug_Inf.Page == PAGE7ID && Debug_Inf.Language_Selection < 2) //设置模式下：页面7 界面语言选择
    9608:	3a47      	cmpnei      	r2, 7
    960a:	0809      	bt      	0x961c	// 961c <KEY3_TempAdd_Press_Fun+0xa8>
    960c:	8329      	ld.b      	r1, (r3, 0x9)
    960e:	3901      	cmphsi      	r1, 2
    9610:	0bd5      	bt      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
			Debug_Inf.Language_Selection++;
    9612:	2100      	addi      	r1, 1
    9614:	7444      	zextb      	r1, r1
    9616:	a329      	st.b      	r1, (r3, 0x9)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    9618:	3007      	movi      	r0, 7
    961a:	07c3      	br      	0x95a0	// 95a0 <KEY3_TempAdd_Press_Fun+0x2c>
		else if(Debug_Inf.Page == PAGE8ID)               						//设置模式下：页面8 软件版本号
    961c:	3a48      	cmpnei      	r2, 8
    961e:	0bce      	bt      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9620:	3104      	movi      	r1, 4
    9622:	3008      	movi      	r0, 8
    9624:	07be      	br      	0x95a0	// 95a0 <KEY3_TempAdd_Press_Fun+0x2c>
		if(TempCtrl.CardState == CARDIN)
    9626:	1092      	lrw      	r4, 0x2000083c	// 966c <KEY3_TempAdd_Press_Fun+0xf8>
    9628:	8478      	ld.b      	r3, (r4, 0x18)
    962a:	3b41      	cmpnei      	r3, 1
    962c:	0811      	bt      	0x964e	// 964e <KEY3_TempAdd_Press_Fun+0xda>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    962e:	8462      	ld.b      	r3, (r4, 0x2)
    9630:	74ce      	sextb      	r3, r3
    9632:	3bdf      	btsti      	r3, 31
    9634:	0c0d      	bf      	0x964e	// 964e <KEY3_TempAdd_Press_Fun+0xda>
				TemCtrl_Temperature_Add();                          //设置温度+
    9636:	e3fffd7f 	bsr      	0x9134	// 9134 <TemCtrl_Temperature_Add>
				if(g_eeprom.backlight_en == 0x01)
    963a:	106e      	lrw      	r3, 0x20000524	// 9670 <KEY3_TempAdd_Press_Fun+0xfc>
    963c:	8364      	ld.b      	r3, (r3, 0x4)
    963e:	3b41      	cmpnei      	r3, 1
    9640:	0807      	bt      	0x964e	// 964e <KEY3_TempAdd_Press_Fun+0xda>
				Controlled_LCD_Backlight(0x01);
    9642:	3001      	movi      	r0, 1
    9644:	e3fff9fc 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x01);
    9648:	3001      	movi      	r0, 1
    964a:	e3fffa67 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    964e:	9560      	ld.w      	r3, (r5, 0x0)
    9650:	4b48      	lsri      	r2, r3, 8
    9652:	a470      	st.b      	r3, (r4, 0x10)
    9654:	a451      	st.b      	r2, (r4, 0x11)
    9656:	4b50      	lsri      	r2, r3, 16
    9658:	4b78      	lsri      	r3, r3, 24
    965a:	a452      	st.b      	r2, (r4, 0x12)
    965c:	a473      	st.b      	r3, (r4, 0x13)
}
    965e:	07ae      	br      	0x95ba	// 95ba <KEY3_TempAdd_Press_Fun+0x46>
    9660:	0000cecb 	.long	0x0000cecb
    9664:	20000868 	.long	0x20000868
    9668:	200000c0 	.long	0x200000c0
    966c:	2000083c 	.long	0x2000083c
    9670:	20000524 	.long	0x20000524

Disassembly of section .text.KEY3_Long_Press_Fun:

00009674 <KEY3_Long_Press_Fun>:

///按键3和按键4 同时长按进入设置功能
void KEY3_Long_Press_Fun(void)
{
    9674:	14d1      	push      	r4, r15
	if(Debug_Inf.State == 0x00)
    9676:	1097      	lrw      	r4, 0x20000868	// 96d0 <KEY3_Long_Press_Fun+0x5c>
    9678:	8460      	ld.b      	r3, (r4, 0x0)
    967a:	3b40      	cmpnei      	r3, 0
    967c:	0829      	bt      	0x96ce	// 96ce <KEY3_Long_Press_Fun+0x5a>
	{
		Debug_Inf.Press_Flag |= (0x01<<0);
    967e:	8461      	ld.b      	r3, (r4, 0x1)
    9680:	3ba0      	bseti      	r3, 0
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    9682:	3b43      	cmpnei      	r3, 3
		Debug_Inf.Press_Flag |= (0x01<<0);
    9684:	a461      	st.b      	r3, (r4, 0x1)
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    9686:	0824      	bt      	0x96ce	// 96ce <KEY3_Long_Press_Fun+0x5a>
    9688:	1073      	lrw      	r3, 0x2000083c	// 96d4 <KEY3_Long_Press_Fun+0x60>
    968a:	8362      	ld.b      	r3, (r3, 0x2)
    968c:	74ce      	sextb      	r3, r3
    968e:	3bdf      	btsti      	r3, 31
    9690:	081f      	bt      	0x96ce	// 96ce <KEY3_Long_Press_Fun+0x5a>
		{
			Dbg_Println(DBG_BIT_SYS_STATUS,"Debug_In");
    9692:	1032      	lrw      	r1, 0xcee2	// 96d8 <KEY3_Long_Press_Fun+0x64>
    9694:	3000      	movi      	r0, 0
    9696:	e3ffe7d3 	bsr      	0x663c	// 663c <Dbg_Println>
			Debug_Inf.Tick = SysTick_1ms;
    969a:	1071      	lrw      	r3, 0x200000c0	// 96dc <KEY3_Long_Press_Fun+0x68>
			Debug_Inf.Press_Flag = 0x00;
			//进入Debug模式
			Debug_Inf.State = 0x01;
			Debug_Inf.Page = 0x01;
			//Debug_Inf.Renetwork = 0;
			HT1621.buz_ctrl_flag = 0x01;
    969c:	3201      	movi      	r2, 1
			Debug_Inf.Tick = SysTick_1ms;
    969e:	9360      	ld.w      	r3, (r3, 0x0)
    96a0:	b463      	st.w      	r3, (r4, 0xc)
			Debug_Inf.Press_Flag = 0x00;
    96a2:	3300      	movi      	r3, 0
    96a4:	a461      	st.b      	r3, (r4, 0x1)
			Debug_Inf.State = 0x01;
    96a6:	3301      	movi      	r3, 1
    96a8:	a460      	st.b      	r3, (r4, 0x0)
			Debug_Inf.Page = 0x01;
    96aa:	a462      	st.b      	r3, (r4, 0x2)
			HT1621.buz_ctrl_flag = 0x01;
    96ac:	106d      	lrw      	r3, 0x200005e0	// 96e0 <KEY3_Long_Press_Fun+0x6c>
    96ae:	a345      	st.b      	r2, (r3, 0x5)
			HT1621_Clear();
    96b0:	e3fff688 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
			Controlled_LCD_Backlight(0x01);
    96b4:	3001      	movi      	r0, 1
    96b6:	e3fff9c3 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x01);
    96ba:	3001      	movi      	r0, 1
    96bc:	e3fffa2e 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
			Controlled_Buzzer(0x01);
    96c0:	3001      	movi      	r0, 1
    96c2:	e3fff999 	bsr      	0x89f4	// 89f4 <Controlled_Buzzer>
			//刷新页面
			Set_Device_ADDR(0x01,Debug_Inf.PipeFlag);
    96c6:	8424      	ld.b      	r1, (r4, 0x4)
    96c8:	3001      	movi      	r0, 1
    96ca:	e3fffa3f 	bsr      	0x8b48	// 8b48 <Set_Device_ADDR>
			
		}
	}
	
}
    96ce:	1491      	pop      	r4, r15
    96d0:	20000868 	.long	0x20000868
    96d4:	2000083c 	.long	0x2000083c
    96d8:	0000cee2 	.long	0x0000cee2
    96dc:	200000c0 	.long	0x200000c0
    96e0:	200005e0 	.long	0x200005e0

Disassembly of section .text.KEY4_TempDec_Press_Fun:

000096e4 <KEY4_TempDec_Press_Fun>:


void KEY4_TempDec_Press_Fun(void)
{
    96e4:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY4_TempDec_Press_Fun");
    96e6:	113b      	lrw      	r1, 0xceeb	// 97d0 <KEY4_TempDec_Press_Fun+0xec>
    96e8:	3000      	movi      	r0, 0
    96ea:	e3ffe7a9 	bsr      	0x663c	// 663c <Dbg_Println>
	
	if(Debug_Inf.State == 0x01)           //设置模式下功能
    96ee:	117a      	lrw      	r3, 0x20000868	// 97d4 <KEY4_TempDec_Press_Fun+0xf0>
    96f0:	8340      	ld.b      	r2, (r3, 0x0)
    96f2:	3a41      	cmpnei      	r2, 1
    96f4:	11b9      	lrw      	r5, 0x200000c0	// 97d8 <KEY4_TempDec_Press_Fun+0xf4>
    96f6:	084f      	bt      	0x9794	// 9794 <KEY4_TempDec_Press_Fun+0xb0>
	{
		Debug_Inf.Tick = SysTick_1ms;
    96f8:	9540      	ld.w      	r2, (r5, 0x0)
    96fa:	b343      	st.w      	r2, (r3, 0xc)
		if((Debug_Inf.Page == 0x01) && (Debug_Inf.PipeFlag >0))           //设置模式下：页面1 温控管制
    96fc:	8342      	ld.b      	r2, (r3, 0x2)
    96fe:	3a41      	cmpnei      	r2, 1
    9700:	080b      	bt      	0x9716	// 9716 <KEY4_TempDec_Press_Fun+0x32>
    9702:	8324      	ld.b      	r1, (r3, 0x4)
    9704:	3940      	cmpnei      	r1, 0
    9706:	0c12      	bf      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
		{
			Debug_Inf.PipeFlag --;		
    9708:	2900      	subi      	r1, 1
    970a:	7444      	zextb      	r1, r1
    970c:	a324      	st.b      	r1, (r3, 0x4)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);
    970e:	3001      	movi      	r0, 1
			Debug_Inf.Language_Selection--;
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
		}
		else if(Debug_Inf.Page == PAGE8ID)               						//设置模式下：页面8 软件版本号
		{
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9710:	e3fffa1c 	bsr      	0x8b48	// 8b48 <Set_Device_ADDR>
    9714:	040b      	br      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
		else if((Debug_Inf.Page == 0x02) && (Debug_Inf.TempDiff > 0))       //设置模式下：页面2 温差
    9716:	3a42      	cmpnei      	r2, 2
    9718:	080a      	bt      	0x972c	// 972c <KEY4_TempDec_Press_Fun+0x48>
    971a:	8305      	ld.b      	r0, (r3, 0x5)
    971c:	3840      	cmpnei      	r0, 0
    971e:	0c06      	bf      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
			Debug_Inf.TempDiff--;
    9720:	2800      	subi      	r0, 1
    9722:	7400      	zextb      	r0, r0
    9724:	a305      	st.b      	r0, (r3, 0x5)
			Set_Temp_Difference(Debug_Inf.TempDiff);
    9726:	e3fffa5f 	bsr      	0x8be4	// 8be4 <Set_Temp_Difference>
		}
		TempCtrl.BackLightTick = SysTick_1ms;

	}

}
    972a:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == 0x03)     								//设置模式下：页面3 背光延时关
    972c:	3a43      	cmpnei      	r2, 3
    972e:	0806      	bt      	0x973a	// 973a <KEY4_TempDec_Press_Fun+0x56>
			Debug_Inf.BackLight_En = 0x00;
    9730:	3200      	movi      	r2, 0
    9732:	a346      	st.b      	r2, (r3, 0x6)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    9734:	3100      	movi      	r1, 0
    9736:	3003      	movi      	r0, 3
    9738:	07ec      	br      	0x9710	// 9710 <KEY4_TempDec_Press_Fun+0x2c>
		else if(Debug_Inf.Page == 0x04 && Debug_Inf.KSens_Level > 0)        //设置模式下：页面4 按键灵敏度
    973a:	3a44      	cmpnei      	r2, 4
    973c:	0809      	bt      	0x974e	// 974e <KEY4_TempDec_Press_Fun+0x6a>
    973e:	8327      	ld.b      	r1, (r3, 0x7)
    9740:	3940      	cmpnei      	r1, 0
    9742:	0ff4      	bf      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
			Debug_Inf.KSens_Level--;
    9744:	2900      	subi      	r1, 1
    9746:	7444      	zextb      	r1, r1
    9748:	a327      	st.b      	r1, (r3, 0x7)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    974a:	3004      	movi      	r0, 4
    974c:	07e2      	br      	0x9710	// 9710 <KEY4_TempDec_Press_Fun+0x2c>
		else if(Debug_Inf.Page == 0x05 && Debug_Inf.DevAddr > 0)            //设置模式下：页面5 设置地址
    974e:	3a45      	cmpnei      	r2, 5
    9750:	0809      	bt      	0x9762	// 9762 <KEY4_TempDec_Press_Fun+0x7e>
    9752:	8323      	ld.b      	r1, (r3, 0x3)
    9754:	3940      	cmpnei      	r1, 0
    9756:	0fea      	bf      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
			Debug_Inf.DevAddr--;				//刷新地址
    9758:	2900      	subi      	r1, 1
    975a:	7444      	zextb      	r1, r1
    975c:	a323      	st.b      	r1, (r3, 0x3)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);
    975e:	3005      	movi      	r0, 5
    9760:	07d8      	br      	0x9710	// 9710 <KEY4_TempDec_Press_Fun+0x2c>
		else if(Debug_Inf.Page == PAGE6ID && Debug_Inf.TempDisplay > 0)           //设置模式下：页面6 温度单位选择
    9762:	3a46      	cmpnei      	r2, 6
    9764:	0809      	bt      	0x9776	// 9776 <KEY4_TempDec_Press_Fun+0x92>
    9766:	8328      	ld.b      	r1, (r3, 0x8)
    9768:	3940      	cmpnei      	r1, 0
    976a:	0fe0      	bf      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
			Debug_Inf.TempDisplay--;
    976c:	2900      	subi      	r1, 1
    976e:	7444      	zextb      	r1, r1
    9770:	a328      	st.b      	r1, (r3, 0x8)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    9772:	3006      	movi      	r0, 6
    9774:	07ce      	br      	0x9710	// 9710 <KEY4_TempDec_Press_Fun+0x2c>
		else if(Debug_Inf.Page == PAGE7ID && Debug_Inf.Language_Selection > 0)   //设置模式下：页面7 界面语言选择
    9776:	3a47      	cmpnei      	r2, 7
    9778:	0809      	bt      	0x978a	// 978a <KEY4_TempDec_Press_Fun+0xa6>
    977a:	8329      	ld.b      	r1, (r3, 0x9)
    977c:	3940      	cmpnei      	r1, 0
    977e:	0fd6      	bf      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
			Debug_Inf.Language_Selection--;
    9780:	2900      	subi      	r1, 1
    9782:	7444      	zextb      	r1, r1
    9784:	a329      	st.b      	r1, (r3, 0x9)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    9786:	3007      	movi      	r0, 7
    9788:	07c4      	br      	0x9710	// 9710 <KEY4_TempDec_Press_Fun+0x2c>
		else if(Debug_Inf.Page == PAGE8ID)               						//设置模式下：页面8 软件版本号
    978a:	3a48      	cmpnei      	r2, 8
    978c:	0bcf      	bt      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    978e:	3104      	movi      	r1, 4
    9790:	3008      	movi      	r0, 8
    9792:	07bf      	br      	0x9710	// 9710 <KEY4_TempDec_Press_Fun+0x2c>
		if(TempCtrl.CardState == CARDIN)
    9794:	1092      	lrw      	r4, 0x2000083c	// 97dc <KEY4_TempDec_Press_Fun+0xf8>
    9796:	8478      	ld.b      	r3, (r4, 0x18)
    9798:	3b41      	cmpnei      	r3, 1
    979a:	0811      	bt      	0x97bc	// 97bc <KEY4_TempDec_Press_Fun+0xd8>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    979c:	8462      	ld.b      	r3, (r4, 0x2)
    979e:	74ce      	sextb      	r3, r3
    97a0:	3bdf      	btsti      	r3, 31
    97a2:	0c0d      	bf      	0x97bc	// 97bc <KEY4_TempDec_Press_Fun+0xd8>
				TemCtrl_Temperature_Dec();                     //设置温度-
    97a4:	e3fffcb0 	bsr      	0x9104	// 9104 <TemCtrl_Temperature_Dec>
				if(g_eeprom.backlight_en == 0x01)
    97a8:	106e      	lrw      	r3, 0x20000524	// 97e0 <KEY4_TempDec_Press_Fun+0xfc>
    97aa:	8364      	ld.b      	r3, (r3, 0x4)
    97ac:	3b41      	cmpnei      	r3, 1
    97ae:	0807      	bt      	0x97bc	// 97bc <KEY4_TempDec_Press_Fun+0xd8>
				Controlled_LCD_Backlight(0x01);
    97b0:	3001      	movi      	r0, 1
    97b2:	e3fff945 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x01);
    97b6:	3001      	movi      	r0, 1
    97b8:	e3fff9b0 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    97bc:	9560      	ld.w      	r3, (r5, 0x0)
    97be:	4b48      	lsri      	r2, r3, 8
    97c0:	a470      	st.b      	r3, (r4, 0x10)
    97c2:	a451      	st.b      	r2, (r4, 0x11)
    97c4:	4b50      	lsri      	r2, r3, 16
    97c6:	4b78      	lsri      	r3, r3, 24
    97c8:	a452      	st.b      	r2, (r4, 0x12)
    97ca:	a473      	st.b      	r3, (r4, 0x13)
}
    97cc:	07af      	br      	0x972a	// 972a <KEY4_TempDec_Press_Fun+0x46>
    97ce:	0000      	bkpt
    97d0:	0000ceeb 	.long	0x0000ceeb
    97d4:	20000868 	.long	0x20000868
    97d8:	200000c0 	.long	0x200000c0
    97dc:	2000083c 	.long	0x2000083c
    97e0:	20000524 	.long	0x20000524

Disassembly of section .text.KEY4_Long_Press:

000097e4 <KEY4_Long_Press>:

void KEY4_Long_Press(void)
{
    97e4:	14d1      	push      	r4, r15
	if(Debug_Inf.State == 0x00)
    97e6:	1097      	lrw      	r4, 0x20000868	// 9840 <KEY4_Long_Press+0x5c>
    97e8:	8460      	ld.b      	r3, (r4, 0x0)
    97ea:	3b40      	cmpnei      	r3, 0
    97ec:	0829      	bt      	0x983e	// 983e <KEY4_Long_Press+0x5a>
	{
		Debug_Inf.Press_Flag |= (0x01<<1);
    97ee:	8461      	ld.b      	r3, (r4, 0x1)
    97f0:	3ba1      	bseti      	r3, 1
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    97f2:	3b43      	cmpnei      	r3, 3
		Debug_Inf.Press_Flag |= (0x01<<1);
    97f4:	a461      	st.b      	r3, (r4, 0x1)
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    97f6:	0824      	bt      	0x983e	// 983e <KEY4_Long_Press+0x5a>
    97f8:	1073      	lrw      	r3, 0x2000083c	// 9844 <KEY4_Long_Press+0x60>
    97fa:	8362      	ld.b      	r3, (r3, 0x2)
    97fc:	74ce      	sextb      	r3, r3
    97fe:	3bdf      	btsti      	r3, 31
    9800:	081f      	bt      	0x983e	// 983e <KEY4_Long_Press+0x5a>
		{
			Dbg_Println(DBG_BIT_SYS_STATUS,"Debug_In");
    9802:	1032      	lrw      	r1, 0xcee2	// 9848 <KEY4_Long_Press+0x64>
    9804:	3000      	movi      	r0, 0
    9806:	e3ffe71b 	bsr      	0x663c	// 663c <Dbg_Println>
			Debug_Inf.Tick = SysTick_1ms;
    980a:	1071      	lrw      	r3, 0x200000c0	// 984c <KEY4_Long_Press+0x68>
			Debug_Inf.Press_Flag = 0x00;
			//进入Debug模式
			Debug_Inf.State = 0x01;
			Debug_Inf.Page = 0x01;
			//Debug_Inf.Renetwork = 0;
			HT1621.buz_ctrl_flag = 0x01;
    980c:	3201      	movi      	r2, 1
			Debug_Inf.Tick = SysTick_1ms;
    980e:	9360      	ld.w      	r3, (r3, 0x0)
    9810:	b463      	st.w      	r3, (r4, 0xc)
			Debug_Inf.Press_Flag = 0x00;
    9812:	3300      	movi      	r3, 0
    9814:	a461      	st.b      	r3, (r4, 0x1)
			Debug_Inf.State = 0x01;
    9816:	3301      	movi      	r3, 1
    9818:	a460      	st.b      	r3, (r4, 0x0)
			Debug_Inf.Page = 0x01;
    981a:	a462      	st.b      	r3, (r4, 0x2)
			//Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Renetwork);
			Controlled_LCD_Backlight(0x01);
    981c:	3001      	movi      	r0, 1
			HT1621.buz_ctrl_flag = 0x01;
    981e:	106d      	lrw      	r3, 0x200005e0	// 9850 <KEY4_Long_Press+0x6c>
    9820:	a345      	st.b      	r2, (r3, 0x5)
			Controlled_LCD_Backlight(0x01);
    9822:	e3fff90d 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x01);
    9826:	3001      	movi      	r0, 1
    9828:	e3fff978 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
			HT1621_Clear();
    982c:	e3fff5ca 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
			Controlled_Buzzer(0x01);
    9830:	3001      	movi      	r0, 1
    9832:	e3fff8e1 	bsr      	0x89f4	// 89f4 <Controlled_Buzzer>
			
			//刷新页面
			Set_Device_ADDR(0x01,Debug_Inf.PipeFlag);
    9836:	8424      	ld.b      	r1, (r4, 0x4)
    9838:	3001      	movi      	r0, 1
    983a:	e3fff987 	bsr      	0x8b48	// 8b48 <Set_Device_ADDR>
			
		}
	}
}
    983e:	1491      	pop      	r4, r15
    9840:	20000868 	.long	0x20000868
    9844:	2000083c 	.long	0x2000083c
    9848:	0000cee2 	.long	0x0000cee2
    984c:	200000c0 	.long	0x200000c0
    9850:	200005e0 	.long	0x200005e0

Disassembly of section .text.KEY5_OnOff_Press_Fun:

00009854 <KEY5_OnOff_Press_Fun>:


void KEY5_OnOff_Press_Fun(void)
{
    9854:	14d1      	push      	r4, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY5_OnOff_Press_Fun");
    9856:	103e      	lrw      	r1, 0xcf02	// 98cc <KEY5_OnOff_Press_Fun+0x78>
    9858:	3000      	movi      	r0, 0
	if(Debug_Inf.State == 0x00)            //正常模式
    985a:	109e      	lrw      	r4, 0x20000868	// 98d0 <KEY5_OnOff_Press_Fun+0x7c>
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY5_OnOff_Press_Fun");
    985c:	e3ffe6f0 	bsr      	0x663c	// 663c <Dbg_Println>
	if(Debug_Inf.State == 0x00)            //正常模式
    9860:	8460      	ld.b      	r3, (r4, 0x0)
    9862:	3b40      	cmpnei      	r3, 0
    9864:	081b      	bt      	0x989a	// 989a <KEY5_OnOff_Press_Fun+0x46>
	{
		if(TempCtrl.CardState == CARDIN)
    9866:	109c      	lrw      	r4, 0x2000083c	// 98d4 <KEY5_OnOff_Press_Fun+0x80>
    9868:	8478      	ld.b      	r3, (r4, 0x18)
    986a:	3b41      	cmpnei      	r3, 1
    986c:	080d      	bt      	0x9886	// 9886 <KEY5_OnOff_Press_Fun+0x32>
		{
			TemCtrl_OnOff_Set();
    986e:	e3fffc7b 	bsr      	0x9164	// 9164 <TemCtrl_OnOff_Set>
		{
			TempCtrl_OnOff_DisPlay(1);
			Controlled_LCD_Backlight(1);
			Controlled_Key_Backlight(1);
		}
		TempCtrl.BackLightTick = SysTick_1ms;
    9872:	107a      	lrw      	r3, 0x200000c0	// 98d8 <KEY5_OnOff_Press_Fun+0x84>
    9874:	9360      	ld.w      	r3, (r3, 0x0)
    9876:	4b48      	lsri      	r2, r3, 8
    9878:	a470      	st.b      	r3, (r4, 0x10)
    987a:	a451      	st.b      	r2, (r4, 0x11)
    987c:	4b50      	lsri      	r2, r3, 16
    987e:	4b78      	lsri      	r3, r3, 24
    9880:	a452      	st.b      	r2, (r4, 0x12)
    9882:	a473      	st.b      	r3, (r4, 0x13)
		Controlled_LCD_Backlight(0x00);
		Controlled_Key_Backlight(0x00);
		//保存参数
		Dev_SaveData();
	}
}
    9884:	1491      	pop      	r4, r15
			TempCtrl_OnOff_DisPlay(1);
    9886:	3001      	movi      	r0, 1
    9888:	e000002e 	bsr      	0x98e4	// 98e4 <TempCtrl_OnOff_DisPlay>
			Controlled_LCD_Backlight(1);
    988c:	3001      	movi      	r0, 1
    988e:	e3fff8d7 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(1);
    9892:	3001      	movi      	r0, 1
    9894:	e3fff942 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
    9898:	07ed      	br      	0x9872	// 9872 <KEY5_OnOff_Press_Fun+0x1e>
	else if(Debug_Inf.State == 0x01)     //设置模式
    989a:	3b41      	cmpnei      	r3, 1
    989c:	0bf4      	bt      	0x9884	// 9884 <KEY5_OnOff_Press_Fun+0x30>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Debug_Out");
    989e:	1030      	lrw      	r1, 0xcf17	// 98dc <KEY5_OnOff_Press_Fun+0x88>
    98a0:	3000      	movi      	r0, 0
    98a2:	e3ffe6cd 	bsr      	0x663c	// 663c <Dbg_Println>
		Debug_Inf.State = 0x00;
    98a6:	3300      	movi      	r3, 0
    98a8:	a460      	st.b      	r3, (r4, 0x0)
		Debug_Inf.Page = 0x01;
    98aa:	3301      	movi      	r3, 1
		HT1621.buz_ctrl_flag = 0x00;
    98ac:	3200      	movi      	r2, 0
		Debug_Inf.Page = 0x01;
    98ae:	a462      	st.b      	r3, (r4, 0x2)
		HT1621.buz_ctrl_flag = 0x00;
    98b0:	106c      	lrw      	r3, 0x200005e0	// 98e0 <KEY5_OnOff_Press_Fun+0x8c>
    98b2:	a345      	st.b      	r2, (r3, 0x5)
		HT1621_Clear();
    98b4:	e3fff586 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
		Controlled_LCD_Backlight(0x00);
    98b8:	3000      	movi      	r0, 0
    98ba:	e3fff8c1 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
		Controlled_Key_Backlight(0x00);
    98be:	3000      	movi      	r0, 0
    98c0:	e3fff92c 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		Dev_SaveData();
    98c4:	e00002dc 	bsr      	0x9e7c	// 9e7c <Dev_SaveData>
}
    98c8:	07de      	br      	0x9884	// 9884 <KEY5_OnOff_Press_Fun+0x30>
    98ca:	0000      	bkpt
    98cc:	0000cf02 	.long	0x0000cf02
    98d0:	20000868 	.long	0x20000868
    98d4:	2000083c 	.long	0x2000083c
    98d8:	200000c0 	.long	0x200000c0
    98dc:	0000cf17 	.long	0x0000cf17
    98e0:	200005e0 	.long	0x200005e0

Disassembly of section .text.TempCtrl_OnOff_DisPlay:

000098e4 <TempCtrl_OnOff_DisPlay>:
 * 函数功能：开/关机显示
 * 
 * 
*/
void TempCtrl_OnOff_DisPlay(U8_T state)
{
    98e4:	14d1      	push      	r4, r15
	if(state == TEMP_ON)
    98e6:	3841      	cmpnei      	r0, 1
    98e8:	0821      	bt      	0x992a	// 992a <TempCtrl_OnOff_DisPlay+0x46>
	{
		Control_Prompt_Text(Debug_Inf.Language_Selection);
    98ea:	1072      	lrw      	r3, 0x20000868	// 9930 <TempCtrl_OnOff_DisPlay+0x4c>
    98ec:	8309      	ld.b      	r0, (r3, 0x9)
		Control_Mode(TempCtrl.TemState_Now.mode);
    98ee:	1092      	lrw      	r4, 0x2000083c	// 9934 <TempCtrl_OnOff_DisPlay+0x50>
		Control_Prompt_Text(Debug_Inf.Language_Selection);
    98f0:	e3fff830 	bsr      	0x8950	// 8950 <Control_Prompt_Text>
		Control_Mode(TempCtrl.TemState_Now.mode);
    98f4:	8402      	ld.b      	r0, (r4, 0x2)
    98f6:	4019      	lsli      	r0, r0, 25
    98f8:	481d      	lsri      	r0, r0, 29
    98fa:	e3fff6a1 	bsr      	0x863c	// 863c <Control_Mode>
		Control_wind_velocity(TempCtrl.TemState_Now.fan);
    98fe:	8402      	ld.b      	r0, (r4, 0x2)
    9900:	401c      	lsli      	r0, r0, 28
    9902:	481d      	lsri      	r0, r0, 29
    9904:	e3fff7be 	bsr      	0x8880	// 8880 <Control_wind_velocity>
		Set_Temperature_Display(TEMTEMPCONVER(TempCtrl.TemState_Now.set_t)*10);
    9908:	8401      	ld.b      	r0, (r4, 0x1)
    990a:	3840      	cmpnei      	r0, 0
    990c:	0c0c      	bf      	0x9924	// 9924 <TempCtrl_OnOff_DisPlay+0x40>
    990e:	330a      	movi      	r3, 10
    9910:	7c0c      	mult      	r0, r3
    9912:	e3fff5c5 	bsr      	0x849c	// 849c <Set_Temperature_Display>
		Local_Temperature_Display(TempCtrl.TemState_Now.indoor_t*10);
    9916:	8400      	ld.b      	r0, (r4, 0x0)
    9918:	330a      	movi      	r3, 10
    991a:	7c0c      	mult      	r0, r3
    991c:	7401      	zexth      	r0, r0
    991e:	e3fff627 	bsr      	0x856c	// 856c <Local_Temperature_Display>
	}
	else
	{
		HT1621_Clear();
	}
}
    9922:	1491      	pop      	r4, r15
		Set_Temperature_Display(TEMTEMPCONVER(TempCtrl.TemState_Now.set_t)*10);
    9924:	30a0      	movi      	r0, 160
    9926:	4001      	lsli      	r0, r0, 1
    9928:	07f5      	br      	0x9912	// 9912 <TempCtrl_OnOff_DisPlay+0x2e>
		HT1621_Clear();
    992a:	e3fff54b 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
}
    992e:	07fa      	br      	0x9922	// 9922 <TempCtrl_OnOff_DisPlay+0x3e>
    9930:	20000868 	.long	0x20000868
    9934:	2000083c 	.long	0x2000083c

Disassembly of section .text.DisPlay_Init:

00009938 <DisPlay_Init>:
 * 函数功能：显示初始化
 * 
 * 
*/
void DisPlay_Init(void)
{
    9938:	14d0      	push      	r15
	HT1621_ALLON();
    993a:	e3fff56b 	bsr      	0x8410	// 8410 <HT1621_ALLON>
	
	delay_nms(5000);
    993e:	1005      	lrw      	r0, 0x1388	// 9950 <DisPlay_Init+0x18>
    9940:	e3ffde02 	bsr      	0x5544	// 5544 <delay_nms>
	
	TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
    9944:	1064      	lrw      	r3, 0x2000083c	// 9954 <DisPlay_Init+0x1c>
    9946:	8302      	ld.b      	r0, (r3, 0x2)
    9948:	4807      	lsri      	r0, r0, 7
    994a:	e3ffffcd 	bsr      	0x98e4	// 98e4 <TempCtrl_OnOff_DisPlay>
	
}
    994e:	1490      	pop      	r15
    9950:	00001388 	.long	0x00001388
    9954:	2000083c 	.long	0x2000083c

Disassembly of section .text.DisPlay_Task:

00009958 <DisPlay_Task>:
 * 
 * 
*/
static U8_T OpenDisPlay_Flag = 0x00;	//开机刷新标志
void DisPlay_Task(void)
{
    9958:	14d4      	push      	r4-r7, r15
	if(Debug_Inf.State == 0x00)           //正常模式
    995a:	0168      	lrw      	r3, 0x20000868	// 9cb4 <DisPlay_Task+0x35c>
    995c:	8360      	ld.b      	r3, (r3, 0x0)
    995e:	3b40      	cmpnei      	r3, 0
    9960:	0c03      	bf      	0x9966	// 9966 <DisPlay_Task+0xe>
    9962:	e8000253 	br      	0x9e08	// 9e08 <DisPlay_Task+0x4b0>
	{
		///1、根据插卡状态处理显示和背光状态
		if((SysTick_1ms - TempCtrl.BackLightTick > 3000) && (TempCtrl.CardState == CARDOUT))     //拔卡关背光
    9966:	018a      	lrw      	r4, 0x2000083c	// 9cb8 <DisPlay_Task+0x360>
    9968:	8451      	ld.b      	r2, (r4, 0x11)
    996a:	8470      	ld.b      	r3, (r4, 0x10)
    996c:	4248      	lsli      	r2, r2, 8
    996e:	6c8c      	or      	r2, r3
    9970:	8472      	ld.b      	r3, (r4, 0x12)
    9972:	4370      	lsli      	r3, r3, 16
    9974:	6c8c      	or      	r2, r3
    9976:	8473      	ld.b      	r3, (r4, 0x13)
    9978:	01ae      	lrw      	r5, 0x200000c0	// 9cbc <DisPlay_Task+0x364>
    997a:	4378      	lsli      	r3, r3, 24
    997c:	6cc8      	or      	r3, r2
    997e:	9520      	ld.w      	r1, (r5, 0x0)
    9980:	604e      	subu      	r1, r3
    9982:	014f      	lrw      	r2, 0xbb8	// 9cc0 <DisPlay_Task+0x368>
    9984:	6448      	cmphs      	r2, r1
    9986:	08b7      	bt      	0x9af4	// 9af4 <DisPlay_Task+0x19c>
    9988:	8458      	ld.b      	r2, (r4, 0x18)
    998a:	3a40      	cmpnei      	r2, 0
    998c:	08b4      	bt      	0x9af4	// 9af4 <DisPlay_Task+0x19c>
		{
			TempCtrl.BackLightTick = SysTick_1ms;
    998e:	9560      	ld.w      	r3, (r5, 0x0)
    9990:	4b48      	lsri      	r2, r3, 8
    9992:	a470      	st.b      	r3, (r4, 0x10)
    9994:	a451      	st.b      	r2, (r4, 0x11)
    9996:	4b50      	lsri      	r2, r3, 16
    9998:	4b78      	lsri      	r3, r3, 24
    999a:	a473      	st.b      	r3, (r4, 0x13)
			TempCtrl.CardFlag = 0x00;
    999c:	3300      	movi      	r3, 0
    999e:	a479      	st.b      	r3, (r4, 0x19)
			if(TempCtrl.TemState_Now.on_off == TEMP_OFF)         //开机状态下不清屏，只关背光
    99a0:	8462      	ld.b      	r3, (r4, 0x2)
    99a2:	74ce      	sextb      	r3, r3
    99a4:	3bdf      	btsti      	r3, 31
			TempCtrl.BackLightTick = SysTick_1ms;
    99a6:	a452      	st.b      	r2, (r4, 0x12)
			if(TempCtrl.TemState_Now.on_off == TEMP_OFF)         //开机状态下不清屏，只关背光
    99a8:	0803      	bt      	0x99ae	// 99ae <DisPlay_Task+0x56>
			{
				HT1621_Clear();
    99aa:	e3fff50b 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
			}
			//关背光
			Controlled_LCD_Backlight(0);
    99ae:	3000      	movi      	r0, 0
    99b0:	e3fff846 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x00);
    99b4:	3000      	movi      	r0, 0
    99b6:	e3fff8b1 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
			Dbg_Println(DBG_BIT_SYS_STATUS,"CARDOUT off light");
    99ba:	013c      	lrw      	r1, 0xcf21	// 9cc4 <DisPlay_Task+0x36c>
				TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
				if(TempCtrl.SceneNo != 0x04)        //不是处于睡眠模式，开背光
				{
					Controlled_LCD_Backlight(1);
					Controlled_Key_Backlight(0x01);
					Dbg_Println(DBG_BIT_SYS_STATUS,"CARDIn on light");
    99bc:	3000      	movi      	r0, 0
    99be:	e3ffe63f 	bsr      	0x663c	// 663c <Dbg_Println>
				}
			}
		}
		
		///2、根据场景是否为睡眠模式处理背光状态
		if(SysTick_1ms - TempCtrl.SceneNoTick > 1000)      
    99c2:	8455      	ld.b      	r2, (r4, 0x15)
    99c4:	8474      	ld.b      	r3, (r4, 0x14)
    99c6:	4248      	lsli      	r2, r2, 8
    99c8:	6c8c      	or      	r2, r3
    99ca:	8476      	ld.b      	r3, (r4, 0x16)
    99cc:	4370      	lsli      	r3, r3, 16
    99ce:	6c8c      	or      	r2, r3
    99d0:	8477      	ld.b      	r3, (r4, 0x17)
    99d2:	4378      	lsli      	r3, r3, 24
    99d4:	6cc8      	or      	r3, r2
    99d6:	9520      	ld.w      	r1, (r5, 0x0)
    99d8:	604e      	subu      	r1, r3
    99da:	33fa      	movi      	r3, 250
    99dc:	4362      	lsli      	r3, r3, 2
    99de:	644c      	cmphs      	r3, r1
    99e0:	081b      	bt      	0x9a16	// 9a16 <DisPlay_Task+0xbe>
		{
			TempCtrl.SceneNoTick = SysTick_1ms;
    99e2:	9560      	ld.w      	r3, (r5, 0x0)
    99e4:	4b48      	lsri      	r2, r3, 8
    99e6:	a474      	st.b      	r3, (r4, 0x14)
    99e8:	a455      	st.b      	r2, (r4, 0x15)
    99ea:	4b50      	lsri      	r2, r3, 16
    99ec:	4b78      	lsri      	r3, r3, 24
    99ee:	a477      	st.b      	r3, (r4, 0x17)
			if(TempCtrl.SceneNo == 0x04 && TempCtrl.SceneFlag == 0x01)       //睡眠模式关背光
    99f0:	847b      	ld.b      	r3, (r4, 0x1b)
    99f2:	3b44      	cmpnei      	r3, 4
			TempCtrl.SceneNoTick = SysTick_1ms;
    99f4:	a456      	st.b      	r2, (r4, 0x16)
			if(TempCtrl.SceneNo == 0x04 && TempCtrl.SceneFlag == 0x01)       //睡眠模式关背光
    99f6:	08a7      	bt      	0x9b44	// 9b44 <DisPlay_Task+0x1ec>
    99f8:	847c      	ld.b      	r3, (r4, 0x1c)
    99fa:	3b41      	cmpnei      	r3, 1
    99fc:	08a4      	bt      	0x9b44	// 9b44 <DisPlay_Task+0x1ec>
			{
				TempCtrl.SceneFlag = 0x00;
    99fe:	3300      	movi      	r3, 0
				//关背光
				Controlled_LCD_Backlight(0);
    9a00:	3000      	movi      	r0, 0
				TempCtrl.SceneFlag = 0x00;
    9a02:	a47c      	st.b      	r3, (r4, 0x1c)
				Controlled_LCD_Backlight(0);
    9a04:	e3fff81c 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x00);
    9a08:	3000      	movi      	r0, 0
    9a0a:	e3fff887 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
				Dbg_Println(DBG_BIT_SYS_STATUS,"sleep off light");
    9a0e:	0230      	lrw      	r1, 0xcf43	// 9cc8 <DisPlay_Task+0x370>
				{
					TempCtrl.SceneFlag = 0x00;
					//开背光
					Controlled_LCD_Backlight(1);
					Controlled_Key_Backlight(0x01);
					Dbg_Println(DBG_BIT_SYS_STATUS,"Not sleep on light");
    9a10:	3000      	movi      	r0, 0
    9a12:	e3ffe615 	bsr      	0x663c	// 663c <Dbg_Println>
				}
			}
		}
		
		///3、根据背光延时关功能是否开启处理背光
		if(g_eeprom.backlight_en == 0x01 && (SysTick_1ms - TempCtrl.BackLightTick > 5000))
    9a16:	02f1      	lrw      	r7, 0x20000524	// 9ccc <DisPlay_Task+0x374>
    9a18:	8764      	ld.b      	r3, (r7, 0x4)
    9a1a:	3b41      	cmpnei      	r3, 1
    9a1c:	081e      	bt      	0x9a58	// 9a58 <DisPlay_Task+0x100>
    9a1e:	8451      	ld.b      	r2, (r4, 0x11)
    9a20:	8470      	ld.b      	r3, (r4, 0x10)
    9a22:	4248      	lsli      	r2, r2, 8
    9a24:	6c8c      	or      	r2, r3
    9a26:	8472      	ld.b      	r3, (r4, 0x12)
    9a28:	4370      	lsli      	r3, r3, 16
    9a2a:	6c8c      	or      	r2, r3
    9a2c:	8473      	ld.b      	r3, (r4, 0x13)
    9a2e:	4378      	lsli      	r3, r3, 24
    9a30:	6cc8      	or      	r3, r2
    9a32:	9520      	ld.w      	r1, (r5, 0x0)
    9a34:	604e      	subu      	r1, r3
    9a36:	0278      	lrw      	r3, 0x1388	// 9cd0 <DisPlay_Task+0x378>
    9a38:	644c      	cmphs      	r3, r1
    9a3a:	080f      	bt      	0x9a58	// 9a58 <DisPlay_Task+0x100>
		{
			TempCtrl.BackLightTick = SysTick_1ms;
    9a3c:	9560      	ld.w      	r3, (r5, 0x0)
    9a3e:	4b48      	lsri      	r2, r3, 8
    9a40:	a470      	st.b      	r3, (r4, 0x10)
    9a42:	a451      	st.b      	r2, (r4, 0x11)
			Controlled_LCD_Backlight(0);
    9a44:	3000      	movi      	r0, 0
			TempCtrl.BackLightTick = SysTick_1ms;
    9a46:	4b50      	lsri      	r2, r3, 16
    9a48:	4b78      	lsri      	r3, r3, 24
    9a4a:	a452      	st.b      	r2, (r4, 0x12)
    9a4c:	a473      	st.b      	r3, (r4, 0x13)
			Controlled_LCD_Backlight(0);
    9a4e:	e3fff7f7 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x00);
    9a52:	3000      	movi      	r0, 0
    9a54:	e3fff862 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		}
		
		///4、温控状态变化刷新屏幕内容
		if(TempCtrl.TemState_Now.on_off == TEMP_ON)           
    9a58:	8402      	ld.b      	r0, (r4, 0x2)
    9a5a:	74c2      	sextb      	r3, r0
    9a5c:	3bdf      	btsti      	r3, 31
    9a5e:	03c1      	lrw      	r6, 0x2000085c	// 9cd4 <DisPlay_Task+0x37c>
    9a60:	0d4a      	bf      	0x9cf4	// 9cf4 <DisPlay_Task+0x39c>
		{
			if(TempCtrl.TemStateLast.mode != TempCtrl.TemState_Now.mode)     //刷新模式
    9a62:	8466      	ld.b      	r3, (r4, 0x6)
    9a64:	4019      	lsli      	r0, r0, 25
    9a66:	4359      	lsli      	r2, r3, 25
    9a68:	481d      	lsri      	r0, r0, 29
    9a6a:	4a5d      	lsri      	r2, r2, 29
    9a6c:	640a      	cmpne      	r2, r0
    9a6e:	0c21      	bf      	0x9ab0	// 9ab0 <DisPlay_Task+0x158>
			{
				TempCtrl.TemStateLast.mode = TempCtrl.TemState_Now.mode;
    9a70:	3170      	movi      	r1, 112
    9a72:	4044      	lsli      	r2, r0, 4
    9a74:	68c5      	andn      	r3, r1
    9a76:	6cc8      	or      	r3, r2
    9a78:	a466      	st.b      	r3, (r4, 0x6)
				Control_Mode(TempCtrl.TemState_Now.mode);
    9a7a:	e3fff5e1 	bsr      	0x863c	// 863c <Control_Mode>
				
				SYSCON->UREG0 &= 0xFFFF00FF;
    9a7e:	0368      	lrw      	r3, 0x2000005c	// 9cd8 <DisPlay_Task+0x380>
    9a80:	31ff      	movi      	r1, 255
    9a82:	9340      	ld.w      	r2, (r3, 0x0)
    9a84:	22ff      	addi      	r2, 256
    9a86:	9260      	ld.w      	r3, (r2, 0x0)
    9a88:	4128      	lsli      	r1, r1, 8
    9a8a:	68c5      	andn      	r3, r1
    9a8c:	b260      	st.w      	r3, (r2, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8);
    9a8e:	8462      	ld.b      	r3, (r4, 0x2)
    9a90:	4379      	lsli      	r3, r3, 25
    9a92:	4b7d      	lsri      	r3, r3, 29
    9a94:	9220      	ld.w      	r1, (r2, 0x0)
    9a96:	4368      	lsli      	r3, r3, 8
    9a98:	6cc4      	or      	r3, r1
    9a9a:	b260      	st.w      	r3, (r2, 0x0)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9a9c:	3301      	movi      	r3, 1
    9a9e:	a660      	st.b      	r3, (r6, 0x0)
				TempCtrl.TempChange_Tick = SysTick_1ms;
    9aa0:	9560      	ld.w      	r3, (r5, 0x0)
    9aa2:	4b28      	lsri      	r1, r3, 8
    9aa4:	a665      	st.b      	r3, (r6, 0x5)
    9aa6:	a626      	st.b      	r1, (r6, 0x6)
    9aa8:	4b30      	lsri      	r1, r3, 16
    9aaa:	4b78      	lsri      	r3, r3, 24
    9aac:	a627      	st.b      	r1, (r6, 0x7)
    9aae:	a668      	st.b      	r3, (r6, 0x8)
			}
			
			if((TempCtrl.TemStateLast.fan != TempCtrl.TemState_Now.fan) || (OpenDisPlay_Flag == 0x01))       //刷新风速,2025-03-20
    9ab0:	8402      	ld.b      	r0, (r4, 0x2)
    9ab2:	8466      	ld.b      	r3, (r4, 0x6)
    9ab4:	401c      	lsli      	r0, r0, 28
    9ab6:	437c      	lsli      	r3, r3, 28
    9ab8:	4b7d      	lsri      	r3, r3, 29
    9aba:	481d      	lsri      	r0, r0, 29
    9abc:	640e      	cmpne      	r3, r0
    9abe:	0377      	lrw      	r3, 0x20000234	// 9cdc <DisPlay_Task+0x384>
    9ac0:	0804      	bt      	0x9ac8	// 9ac8 <DisPlay_Task+0x170>
    9ac2:	8340      	ld.b      	r2, (r3, 0x0)
    9ac4:	3a41      	cmpnei      	r2, 1
    9ac6:	087b      	bt      	0x9bbc	// 9bbc <DisPlay_Task+0x264>
			{
				OpenDisPlay_Flag = 0x00;
    9ac8:	3200      	movi      	r2, 0
    9aca:	a340      	st.b      	r2, (r3, 0x0)
				
				TempCtrl.TemStateLast.fan = TempCtrl.TemState_Now.fan;
    9acc:	8466      	ld.b      	r3, (r4, 0x6)
    9ace:	310e      	movi      	r1, 14
    9ad0:	4041      	lsli      	r2, r0, 1
    9ad2:	68c5      	andn      	r3, r1
    9ad4:	6cc8      	or      	r3, r2
    9ad6:	a466      	st.b      	r3, (r4, 0x6)
				Control_wind_velocity(TempCtrl.TemState_Now.fan);
    9ad8:	e3fff6d4 	bsr      	0x8880	// 8880 <Control_wind_velocity>
				if((TempCtrl.TemState_Now.mode == MODEL_WIND)&&(g_eeprom.pipe_flag == 0x02))  //水机无阀  送风模式下风机都不开  2024-11-14 wpd
    9adc:	3270      	movi      	r2, 112
    9ade:	8462      	ld.b      	r3, (r4, 0x2)
    9ae0:	68c8      	and      	r3, r2
    9ae2:	3240      	movi      	r2, 64
    9ae4:	648e      	cmpne      	r3, r2
    9ae6:	0843      	bt      	0x9b6c	// 9b6c <DisPlay_Task+0x214>
    9ae8:	8761      	ld.b      	r3, (r7, 0x1)
    9aea:	3b42      	cmpnei      	r3, 2
    9aec:	0840      	bt      	0x9b6c	// 9b6c <DisPlay_Task+0x214>
							break;
						case FAN_HIGH:
							Relay_High();
							break;
						case FAN_STOP:
							Relay_Stop();
    9aee:	e00002a1 	bsr      	0xa030	// a030 <Relay_Stop>
							break;						
    9af2:	044b      	br      	0x9b88	// 9b88 <DisPlay_Task+0x230>
		else if((SysTick_1ms - TempCtrl.BackLightTick > 2000) && (TempCtrl.CardState == CARDIN) && (TempCtrl.CardFlag == 0x01))    //处于开机，插卡恢复页面
    9af4:	9540      	ld.w      	r2, (r5, 0x0)
    9af6:	608e      	subu      	r2, r3
    9af8:	33fa      	movi      	r3, 250
    9afa:	4363      	lsli      	r3, r3, 3
    9afc:	648c      	cmphs      	r3, r2
    9afe:	0b62      	bt      	0x99c2	// 99c2 <DisPlay_Task+0x6a>
    9b00:	8478      	ld.b      	r3, (r4, 0x18)
    9b02:	3b41      	cmpnei      	r3, 1
    9b04:	0b5f      	bt      	0x99c2	// 99c2 <DisPlay_Task+0x6a>
    9b06:	8479      	ld.b      	r3, (r4, 0x19)
    9b08:	3b41      	cmpnei      	r3, 1
    9b0a:	0b5c      	bt      	0x99c2	// 99c2 <DisPlay_Task+0x6a>
			TempCtrl.BackLightTick = SysTick_1ms;
    9b0c:	9560      	ld.w      	r3, (r5, 0x0)
    9b0e:	4b48      	lsri      	r2, r3, 8
    9b10:	a470      	st.b      	r3, (r4, 0x10)
    9b12:	a451      	st.b      	r2, (r4, 0x11)
    9b14:	4b50      	lsri      	r2, r3, 16
    9b16:	4b78      	lsri      	r3, r3, 24
    9b18:	a473      	st.b      	r3, (r4, 0x13)
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9b1a:	8402      	ld.b      	r0, (r4, 0x2)
			TempCtrl.CardFlag = 0x00;
    9b1c:	3300      	movi      	r3, 0
    9b1e:	a479      	st.b      	r3, (r4, 0x19)
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9b20:	74c2      	sextb      	r3, r0
    9b22:	3bdf      	btsti      	r3, 31
			TempCtrl.BackLightTick = SysTick_1ms;
    9b24:	a452      	st.b      	r2, (r4, 0x12)
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9b26:	0f4e      	bf      	0x99c2	// 99c2 <DisPlay_Task+0x6a>
				TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
    9b28:	4807      	lsri      	r0, r0, 7
    9b2a:	e3fffedd 	bsr      	0x98e4	// 98e4 <TempCtrl_OnOff_DisPlay>
				if(TempCtrl.SceneNo != 0x04)        //不是处于睡眠模式，开背光
    9b2e:	847b      	ld.b      	r3, (r4, 0x1b)
    9b30:	3b44      	cmpnei      	r3, 4
    9b32:	0f48      	bf      	0x99c2	// 99c2 <DisPlay_Task+0x6a>
					Controlled_LCD_Backlight(1);
    9b34:	3001      	movi      	r0, 1
    9b36:	e3fff783 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
					Controlled_Key_Backlight(0x01);
    9b3a:	3001      	movi      	r0, 1
    9b3c:	e3fff7ee 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
					Dbg_Println(DBG_BIT_SYS_STATUS,"CARDIn on light");
    9b40:	1328      	lrw      	r1, 0xcf33	// 9ce0 <DisPlay_Task+0x388>
    9b42:	073d      	br      	0x99bc	// 99bc <DisPlay_Task+0x64>
				if((TempCtrl.TemState_Now.on_off == TEMP_ON) && (TempCtrl.CardState == CARDIN) && (TempCtrl.SceneFlag == 0x01))
    9b44:	8462      	ld.b      	r3, (r4, 0x2)
    9b46:	74ce      	sextb      	r3, r3
    9b48:	3bdf      	btsti      	r3, 31
    9b4a:	0f66      	bf      	0x9a16	// 9a16 <DisPlay_Task+0xbe>
    9b4c:	8478      	ld.b      	r3, (r4, 0x18)
    9b4e:	3b41      	cmpnei      	r3, 1
    9b50:	0b63      	bt      	0x9a16	// 9a16 <DisPlay_Task+0xbe>
    9b52:	847c      	ld.b      	r3, (r4, 0x1c)
    9b54:	3b41      	cmpnei      	r3, 1
    9b56:	0b60      	bt      	0x9a16	// 9a16 <DisPlay_Task+0xbe>
					TempCtrl.SceneFlag = 0x00;
    9b58:	3300      	movi      	r3, 0
					Controlled_LCD_Backlight(1);
    9b5a:	3001      	movi      	r0, 1
					TempCtrl.SceneFlag = 0x00;
    9b5c:	a47c      	st.b      	r3, (r4, 0x1c)
					Controlled_LCD_Backlight(1);
    9b5e:	e3fff76f 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
					Controlled_Key_Backlight(0x01);
    9b62:	3001      	movi      	r0, 1
    9b64:	e3fff7da 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
					Dbg_Println(DBG_BIT_SYS_STATUS,"Not sleep on light");
    9b68:	123f      	lrw      	r1, 0xcf53	// 9ce4 <DisPlay_Task+0x38c>
    9b6a:	0753      	br      	0x9a10	// 9a10 <DisPlay_Task+0xb8>
					switch(TempCtrl.TemState_Now.fan)
    9b6c:	8402      	ld.b      	r0, (r4, 0x2)
    9b6e:	401c      	lsli      	r0, r0, 28
    9b70:	481d      	lsri      	r0, r0, 29
    9b72:	3804      	cmphsi      	r0, 5
    9b74:	080a      	bt      	0x9b88	// 9b88 <DisPlay_Task+0x230>
    9b76:	e3ffcccd 	bsr      	0x3510	// 3510 <___gnu_csky_case_shi>
    9b7a:	0005      	.short	0x0005
    9b7c:	014b0148 	.long	0x014b0148
    9b80:	ffba0007 	.long	0xffba0007
							Relay_Low();
    9b84:	e0000248 	bsr      	0xa014	// a014 <Relay_Low>
						default:
							break;
					}
				}
				
				SYSCON->UREG0 &= 0xFF00FFFF;
    9b88:	1274      	lrw      	r3, 0x2000005c	// 9cd8 <DisPlay_Task+0x380>
    9b8a:	31ff      	movi      	r1, 255
    9b8c:	9340      	ld.w      	r2, (r3, 0x0)
    9b8e:	22ff      	addi      	r2, 256
    9b90:	9260      	ld.w      	r3, (r2, 0x0)
    9b92:	4130      	lsli      	r1, r1, 16
    9b94:	68c5      	andn      	r3, r1
    9b96:	b260      	st.w      	r3, (r2, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16);
    9b98:	8462      	ld.b      	r3, (r4, 0x2)
    9b9a:	437c      	lsli      	r3, r3, 28
    9b9c:	4b7d      	lsri      	r3, r3, 29
    9b9e:	9220      	ld.w      	r1, (r2, 0x0)
    9ba0:	4370      	lsli      	r3, r3, 16
    9ba2:	6cc4      	or      	r3, r1
    9ba4:	b260      	st.w      	r3, (r2, 0x0)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9ba6:	3301      	movi      	r3, 1
    9ba8:	a660      	st.b      	r3, (r6, 0x0)
				TempCtrl.TempChange_Tick = SysTick_1ms;
    9baa:	9560      	ld.w      	r3, (r5, 0x0)
    9bac:	124f      	lrw      	r2, 0x20000861	// 9ce8 <DisPlay_Task+0x390>
    9bae:	4b28      	lsri      	r1, r3, 8
    9bb0:	a260      	st.b      	r3, (r2, 0x0)
    9bb2:	a221      	st.b      	r1, (r2, 0x1)
    9bb4:	4b30      	lsri      	r1, r3, 16
    9bb6:	4b78      	lsri      	r3, r3, 24
    9bb8:	a222      	st.b      	r1, (r2, 0x2)
    9bba:	a263      	st.b      	r3, (r2, 0x3)
			}
			
			if(TempCtrl.TemStateLast.set_t != TempCtrl.TemState_Now.set_t)   //刷新设置温度
    9bbc:	8401      	ld.b      	r0, (r4, 0x1)
    9bbe:	8465      	ld.b      	r3, (r4, 0x5)
    9bc0:	640e      	cmpne      	r3, r0
    9bc2:	0c1f      	bf      	0x9c00	// 9c00 <DisPlay_Task+0x2a8>
			{
				TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t;
			
				if(TempCtrl.TemState_Now.set_t==0x00)
    9bc4:	3840      	cmpnei      	r0, 0
				TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t;
    9bc6:	a405      	st.b      	r0, (r4, 0x5)
				if(TempCtrl.TemState_Now.set_t==0x00)
    9bc8:	0927      	bt      	0x9e16	// 9e16 <DisPlay_Task+0x4be>
				{
					Set_Temperature_Display(320);
    9bca:	30a0      	movi      	r0, 160
    9bcc:	4001      	lsli      	r0, r0, 1
				}
				else
				{
					Set_Temperature_Display(TempCtrl.TemState_Now.set_t*10);
    9bce:	e3fff467 	bsr      	0x849c	// 849c <Set_Temperature_Display>
				}
				
				SYSCON->UREG0 &= 0x00FFFFFF;
    9bd2:	1262      	lrw      	r3, 0x2000005c	// 9cd8 <DisPlay_Task+0x380>
    9bd4:	9360      	ld.w      	r3, (r3, 0x0)
    9bd6:	23ff      	addi      	r3, 256
    9bd8:	9340      	ld.w      	r2, (r3, 0x0)
    9bda:	4248      	lsli      	r2, r2, 8
    9bdc:	4a48      	lsri      	r2, r2, 8
    9bde:	b340      	st.w      	r2, (r3, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24);
    9be0:	8441      	ld.b      	r2, (r4, 0x1)
    9be2:	9320      	ld.w      	r1, (r3, 0x0)
    9be4:	4258      	lsli      	r2, r2, 24
    9be6:	6c84      	or      	r2, r1
    9be8:	b340      	st.w      	r2, (r3, 0x0)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9bea:	3301      	movi      	r3, 1
    9bec:	a660      	st.b      	r3, (r6, 0x0)
				TempCtrl.TempChange_Tick = SysTick_1ms;
    9bee:	9560      	ld.w      	r3, (r5, 0x0)
    9bf0:	115e      	lrw      	r2, 0x20000861	// 9ce8 <DisPlay_Task+0x390>
    9bf2:	4b28      	lsri      	r1, r3, 8
    9bf4:	a260      	st.b      	r3, (r2, 0x0)
    9bf6:	a221      	st.b      	r1, (r2, 0x1)
    9bf8:	4b30      	lsri      	r1, r3, 16
    9bfa:	4b78      	lsri      	r3, r3, 24
    9bfc:	a222      	st.b      	r1, (r2, 0x2)
    9bfe:	a263      	st.b      	r3, (r2, 0x3)
			}
			
			
			if(TempCtrl.IndoorTemLast != TempCtrl.IndoorTem)          //刷新室内温度
    9c00:	8409      	ld.b      	r0, (r4, 0x9)
    9c02:	8468      	ld.b      	r3, (r4, 0x8)
    9c04:	4008      	lsli      	r0, r0, 8
    9c06:	6c0c      	or      	r0, r3
    9c08:	846b      	ld.b      	r3, (r4, 0xb)
    9c0a:	844a      	ld.b      	r2, (r4, 0xa)
    9c0c:	4368      	lsli      	r3, r3, 8
    9c0e:	6cc8      	or      	r3, r2
    9c10:	640e      	cmpne      	r3, r0
    9c12:	0c12      	bf      	0x9c36	// 9c36 <DisPlay_Task+0x2de>
			{
				TempCtrl.IndoorTemLast = TempCtrl.IndoorTem;
    9c14:	4868      	lsri      	r3, r0, 8
    9c16:	a46b      	st.b      	r3, (r4, 0xb)
    9c18:	a40a      	st.b      	r0, (r4, 0xa)
				
				Local_Temperature_Display(TempCtrl.IndoorTem);
    9c1a:	e3fff4a9 	bsr      	0x856c	// 856c <Local_Temperature_Display>
				
				SYSCON->UREG0 &= 0x00FFFFFF;
    9c1e:	116f      	lrw      	r3, 0x2000005c	// 9cd8 <DisPlay_Task+0x380>
    9c20:	9360      	ld.w      	r3, (r3, 0x0)
    9c22:	23ff      	addi      	r3, 256
    9c24:	9340      	ld.w      	r2, (r3, 0x0)
    9c26:	4248      	lsli      	r2, r2, 8
    9c28:	4a48      	lsri      	r2, r2, 8
    9c2a:	b340      	st.w      	r2, (r3, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24);
    9c2c:	8441      	ld.b      	r2, (r4, 0x1)
    9c2e:	9320      	ld.w      	r1, (r3, 0x0)
    9c30:	4258      	lsli      	r2, r2, 24
    9c32:	6c84      	or      	r2, r1
    9c34:	b340      	st.w      	r2, (r3, 0x0)
				
			}
			
			if(((TempCtrl.ReportTemLast > TempCtrl.ReportTem) && (TempCtrl.ReportTemLast - TempCtrl.ReportTem > 10)) \
    9c36:	844f      	ld.b      	r2, (r4, 0xf)
    9c38:	846e      	ld.b      	r3, (r4, 0xe)
    9c3a:	4248      	lsli      	r2, r2, 8
    9c3c:	6c8c      	or      	r2, r3
    9c3e:	846d      	ld.b      	r3, (r4, 0xd)
    9c40:	842c      	ld.b      	r1, (r4, 0xc)
    9c42:	4368      	lsli      	r3, r3, 8
    9c44:	6cc4      	or      	r3, r1
    9c46:	648c      	cmphs      	r3, r2
    9c48:	0804      	bt      	0x9c50	// 9c50 <DisPlay_Task+0x2f8>
    9c4a:	5a2d      	subu      	r1, r2, r3
    9c4c:	392a      	cmplti      	r1, 11
    9c4e:	0c06      	bf      	0x9c5a	// 9c5a <DisPlay_Task+0x302>
			|| ((TempCtrl.ReportTem > TempCtrl.ReportTemLast) && (TempCtrl.ReportTem - TempCtrl.ReportTemLast > 10)))
    9c50:	64c8      	cmphs      	r2, r3
    9c52:	0812      	bt      	0x9c76	// 9c76 <DisPlay_Task+0x31e>
    9c54:	5b49      	subu      	r2, r3, r2
    9c56:	3a2a      	cmplti      	r2, 11
    9c58:	080f      	bt      	0x9c76	// 9c76 <DisPlay_Task+0x31e>
			{
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9c5a:	9540      	ld.w      	r2, (r5, 0x0)
    9c5c:	1124      	lrw      	r1, 0x2000085d	// 9cec <DisPlay_Task+0x394>
    9c5e:	4a08      	lsri      	r0, r2, 8
    9c60:	a140      	st.b      	r2, (r1, 0x0)
    9c62:	a101      	st.b      	r0, (r1, 0x1)
    9c64:	4a10      	lsri      	r0, r2, 16
    9c66:	4a58      	lsri      	r2, r2, 24
    9c68:	a143      	st.b      	r2, (r1, 0x3)
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9c6a:	4b48      	lsri      	r2, r3, 8
    9c6c:	a44f      	st.b      	r2, (r4, 0xf)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16,变化一度上报一次
    9c6e:	3201      	movi      	r2, 1
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9c70:	a102      	st.b      	r0, (r1, 0x2)
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9c72:	a46e      	st.b      	r3, (r4, 0xe)
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16,变化一度上报一次
    9c74:	a640      	st.b      	r2, (r6, 0x0)
			}
			
			if(SysTick_1ms - TempCtrl.Temp_SendTick >= 30000 )
    9c76:	8602      	ld.b      	r0, (r6, 0x2)
    9c78:	8641      	ld.b      	r2, (r6, 0x1)
    9c7a:	4008      	lsli      	r0, r0, 8
    9c7c:	6c08      	or      	r0, r2
    9c7e:	8643      	ld.b      	r2, (r6, 0x3)
    9c80:	4250      	lsli      	r2, r2, 16
    9c82:	6c08      	or      	r0, r2
    9c84:	8644      	ld.b      	r2, (r6, 0x4)
    9c86:	4258      	lsli      	r2, r2, 24
    9c88:	6c80      	or      	r2, r0
    9c8a:	9520      	ld.w      	r1, (r5, 0x0)
    9c8c:	604a      	subu      	r1, r2
    9c8e:	1059      	lrw      	r2, 0x752f	// 9cf0 <DisPlay_Task+0x398>
    9c90:	6448      	cmphs      	r2, r1
    9c92:	0831      	bt      	0x9cf4	// 9cf4 <DisPlay_Task+0x39c>
			{
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9c94:	9540      	ld.w      	r2, (r5, 0x0)
    9c96:	1036      	lrw      	r1, 0x2000085d	// 9cec <DisPlay_Task+0x394>
    9c98:	4a08      	lsri      	r0, r2, 8
				
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9c9a:	a46e      	st.b      	r3, (r4, 0xe)
    9c9c:	4b68      	lsri      	r3, r3, 8
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9c9e:	a140      	st.b      	r2, (r1, 0x0)
    9ca0:	a101      	st.b      	r0, (r1, 0x1)
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9ca2:	a46f      	st.b      	r3, (r4, 0xf)
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9ca4:	4a10      	lsri      	r0, r2, 16
				TempCtrl.TempChange_Flag = 0x01;     //2025-02-25,温度变化每隔30s未变化，上报一次。
    9ca6:	3301      	movi      	r3, 1
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9ca8:	4a58      	lsri      	r2, r2, 24
    9caa:	a102      	st.b      	r0, (r1, 0x2)
    9cac:	a143      	st.b      	r2, (r1, 0x3)
				TempCtrl.TempChange_Flag = 0x01;     //2025-02-25,温度变化每隔30s未变化，上报一次。
    9cae:	a660      	st.b      	r3, (r6, 0x0)
    9cb0:	0422      	br      	0x9cf4	// 9cf4 <DisPlay_Task+0x39c>
    9cb2:	0000      	bkpt
    9cb4:	20000868 	.long	0x20000868
    9cb8:	2000083c 	.long	0x2000083c
    9cbc:	200000c0 	.long	0x200000c0
    9cc0:	00000bb8 	.long	0x00000bb8
    9cc4:	0000cf21 	.long	0x0000cf21
    9cc8:	0000cf43 	.long	0x0000cf43
    9ccc:	20000524 	.long	0x20000524
    9cd0:	00001388 	.long	0x00001388
    9cd4:	2000085c 	.long	0x2000085c
    9cd8:	2000005c 	.long	0x2000005c
    9cdc:	20000234 	.long	0x20000234
    9ce0:	0000cf33 	.long	0x0000cf33
    9ce4:	0000cf53 	.long	0x0000cf53
    9ce8:	20000861 	.long	0x20000861
    9cec:	2000085d 	.long	0x2000085d
    9cf0:	0000752f 	.long	0x0000752f
				
			}
		}
		

		if(TempCtrl.TemStateLast.on_off != TempCtrl.TemState_Now.on_off)      //刷新开关机
    9cf4:	8462      	ld.b      	r3, (r4, 0x2)
    9cf6:	8446      	ld.b      	r2, (r4, 0x6)
    9cf8:	4b07      	lsri      	r0, r3, 7
    9cfa:	4a47      	lsri      	r2, r2, 7
    9cfc:	640a      	cmpne      	r2, r0
    9cfe:	0c31      	bf      	0x9d60	// 9d60 <DisPlay_Task+0x408>
		{
			if (TempCtrl.TemState_Now.on_off == TEMP_ON){            
    9d00:	74ce      	sextb      	r3, r3
    9d02:	3bdf      	btsti      	r3, 31
    9d04:	1267      	lrw      	r3, 0x200005e0	// 9e20 <DisPlay_Task+0x4c8>
    9d06:	0c8b      	bf      	0x9e1c	// 9e1c <DisPlay_Task+0x4c4>
				OpenDisPlay_Flag = 1; 							//目前这个标志给刷新风速用，目的是开启时进入风速刷新，从而开启风速阀
    9d08:	1247      	lrw      	r2, 0x20000234	// 9e24 <DisPlay_Task+0x4cc>
    9d0a:	3101      	movi      	r1, 1
    9d0c:	a220      	st.b      	r1, (r2, 0x0)
				HT1621.buz_ctrl_flag = 0x01;
    9d0e:	3201      	movi      	r2, 1
			}else{
				HT1621.buz_ctrl_flag = 0x00;
    9d10:	a345      	st.b      	r2, (r3, 0x5)
			}			
			TempCtrl.TemStateLast.on_off = TempCtrl.TemState_Now.on_off;
    9d12:	317f      	movi      	r1, 127
    9d14:	8466      	ld.b      	r3, (r4, 0x6)
    9d16:	4047      	lsli      	r2, r0, 7
    9d18:	68c4      	and      	r3, r1
    9d1a:	6cc8      	or      	r3, r2
    9d1c:	a466      	st.b      	r3, (r4, 0x6)
			Controlled_LCD_Backlight(TempCtrl.TemState_Now.on_off);
    9d1e:	e3fff68f 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(TempCtrl.TemState_Now.on_off);
    9d22:	8402      	ld.b      	r0, (r4, 0x2)
    9d24:	4807      	lsri      	r0, r0, 7
    9d26:	e3fff6f9 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
			TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
    9d2a:	8402      	ld.b      	r0, (r4, 0x2)
    9d2c:	4807      	lsri      	r0, r0, 7
    9d2e:	e3fffddb 	bsr      	0x98e4	// 98e4 <TempCtrl_OnOff_DisPlay>
			
			
			
			SYSCON->UREG0 &= 0xFFFFFF00;                      //2024-03-15
    9d32:	117e      	lrw      	r3, 0x2000005c	// 9e28 <DisPlay_Task+0x4d0>
    9d34:	31ff      	movi      	r1, 255
    9d36:	9340      	ld.w      	r2, (r3, 0x0)
    9d38:	22ff      	addi      	r2, 256
    9d3a:	9260      	ld.w      	r3, (r2, 0x0)
    9d3c:	68c5      	andn      	r3, r1
    9d3e:	b260      	st.w      	r3, (r2, 0x0)
			SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off;   //2024-03-15
    9d40:	8462      	ld.b      	r3, (r4, 0x2)
    9d42:	9220      	ld.w      	r1, (r2, 0x0)
    9d44:	4b67      	lsri      	r3, r3, 7
    9d46:	6cc4      	or      	r3, r1
    9d48:	b260      	st.w      	r3, (r2, 0x0)
			
			TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9d4a:	3301      	movi      	r3, 1
    9d4c:	a660      	st.b      	r3, (r6, 0x0)
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9d4e:	9560      	ld.w      	r3, (r5, 0x0)
    9d50:	1157      	lrw      	r2, 0x20000861	// 9e2c <DisPlay_Task+0x4d4>
    9d52:	4b28      	lsri      	r1, r3, 8
    9d54:	a260      	st.b      	r3, (r2, 0x0)
    9d56:	a221      	st.b      	r1, (r2, 0x1)
    9d58:	4b30      	lsri      	r1, r3, 16
    9d5a:	4b78      	lsri      	r3, r3, 24
    9d5c:	a222      	st.b      	r1, (r2, 0x2)
    9d5e:	a263      	st.b      	r3, (r2, 0x3)
		}
		
		//发送组包
		if((TempCtrl.TempChange_Flag == 0x01) && (SysTick_1ms - TempCtrl.TempChange_Tick >= 1000))	//2025-03-24,温度变化人为操作1s间隔上报一次
    9d60:	8660      	ld.b      	r3, (r6, 0x0)
    9d62:	3b41      	cmpnei      	r3, 1
    9d64:	082b      	bt      	0x9dba	// 9dba <DisPlay_Task+0x462>
    9d66:	8646      	ld.b      	r2, (r6, 0x6)
    9d68:	8665      	ld.b      	r3, (r6, 0x5)
    9d6a:	4248      	lsli      	r2, r2, 8
    9d6c:	6c8c      	or      	r2, r3
    9d6e:	8667      	ld.b      	r3, (r6, 0x7)
    9d70:	4370      	lsli      	r3, r3, 16
    9d72:	6c8c      	or      	r2, r3
    9d74:	8668      	ld.b      	r3, (r6, 0x8)
    9d76:	4378      	lsli      	r3, r3, 24
    9d78:	6cc8      	or      	r3, r2
    9d7a:	9520      	ld.w      	r1, (r5, 0x0)
    9d7c:	604e      	subu      	r1, r3
    9d7e:	116d      	lrw      	r3, 0x3e7	// 9e30 <DisPlay_Task+0x4d8>
    9d80:	644c      	cmphs      	r3, r1
    9d82:	081c      	bt      	0x9dba	// 9dba <DisPlay_Task+0x462>
		{
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9d84:	9560      	ld.w      	r3, (r5, 0x0)
    9d86:	114a      	lrw      	r2, 0x20000861	// 9e2c <DisPlay_Task+0x4d4>
    9d88:	4b28      	lsri      	r1, r3, 8
    9d8a:	a260      	st.b      	r3, (r2, 0x0)
    9d8c:	a221      	st.b      	r1, (r2, 0x1)
    9d8e:	4b30      	lsri      	r1, r3, 16
    9d90:	4b78      	lsri      	r3, r3, 24
    9d92:	a263      	st.b      	r3, (r2, 0x3)
			TempCtrl.TempChange_Flag = 0x00;
    9d94:	3300      	movi      	r3, 0
    9d96:	a660      	st.b      	r3, (r6, 0x0)
			
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9d98:	9560      	ld.w      	r3, (r5, 0x0)
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9d9a:	a222      	st.b      	r1, (r2, 0x2)
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9d9c:	1146      	lrw      	r2, 0x2000085d	// 9e34 <DisPlay_Task+0x4dc>
    9d9e:	4b28      	lsri      	r1, r3, 8
    9da0:	a260      	st.b      	r3, (r2, 0x0)
    9da2:	a221      	st.b      	r1, (r2, 0x1)
    9da4:	4b30      	lsri      	r1, r3, 16
    9da6:	4b78      	lsri      	r3, r3, 24
    9da8:	a263      	st.b      	r3, (r2, 0x3)

			//防冲撞上报
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9daa:	8767      	ld.b      	r3, (r7, 0x7)
    9dac:	3b42      	cmpnei      	r3, 2
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9dae:	a222      	st.b      	r1, (r2, 0x2)
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9db0:	0805      	bt      	0x9dba	// 9dba <DisPlay_Task+0x462>
				Rs485_ASend(BUSSend_ValidTime2);//组包发送
    9db2:	30fa      	movi      	r0, 250
    9db4:	4002      	lsli      	r0, r0, 2
    9db6:	e0000255 	bsr      	0xa260	// a260 <Rs485_ASend>
			}
			
		}
		
		//	状态5min未变化，上报
		if((SysTick_1ms - TempCtrl.TempChange_Tick >= 300000))
    9dba:	8646      	ld.b      	r2, (r6, 0x6)
    9dbc:	8665      	ld.b      	r3, (r6, 0x5)
    9dbe:	4248      	lsli      	r2, r2, 8
    9dc0:	6c8c      	or      	r2, r3
    9dc2:	8667      	ld.b      	r3, (r6, 0x7)
    9dc4:	4370      	lsli      	r3, r3, 16
    9dc6:	6c8c      	or      	r2, r3
    9dc8:	8668      	ld.b      	r3, (r6, 0x8)
    9dca:	4378      	lsli      	r3, r3, 24
    9dcc:	6cc8      	or      	r3, r2
    9dce:	9520      	ld.w      	r1, (r5, 0x0)
    9dd0:	604e      	subu      	r1, r3
    9dd2:	107a      	lrw      	r3, 0x493df	// 9e38 <DisPlay_Task+0x4e0>
    9dd4:	644c      	cmphs      	r3, r1
    9dd6:	0819      	bt      	0x9e08	// 9e08 <DisPlay_Task+0x4b0>
		{
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9dd8:	9560      	ld.w      	r3, (r5, 0x0)
    9dda:	1055      	lrw      	r2, 0x20000861	// 9e2c <DisPlay_Task+0x4d4>
    9ddc:	4b28      	lsri      	r1, r3, 8
    9dde:	a260      	st.b      	r3, (r2, 0x0)
    9de0:	a221      	st.b      	r1, (r2, 0x1)
    9de2:	4b30      	lsri      	r1, r3, 16
    9de4:	4b78      	lsri      	r3, r3, 24
    9de6:	a263      	st.b      	r3, (r2, 0x3)
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9de8:	9560      	ld.w      	r3, (r5, 0x0)
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9dea:	a222      	st.b      	r1, (r2, 0x2)
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9dec:	1052      	lrw      	r2, 0x2000085d	// 9e34 <DisPlay_Task+0x4dc>
    9dee:	4b28      	lsri      	r1, r3, 8
    9df0:	a260      	st.b      	r3, (r2, 0x0)
    9df2:	a221      	st.b      	r1, (r2, 0x1)
    9df4:	4b30      	lsri      	r1, r3, 16
    9df6:	4b78      	lsri      	r3, r3, 24
    9df8:	a263      	st.b      	r3, (r2, 0x3)
			
			//防冲撞上报
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9dfa:	8767      	ld.b      	r3, (r7, 0x7)
    9dfc:	3b42      	cmpnei      	r3, 2
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9dfe:	a222      	st.b      	r1, (r2, 0x2)
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9e00:	0804      	bt      	0x9e08	// 9e08 <DisPlay_Task+0x4b0>
				Rs485_ASend(BUSSend_ValidTime1);//组包发送	
    9e02:	100f      	lrw      	r0, 0xea60	// 9e3c <DisPlay_Task+0x4e4>
    9e04:	e000022e 	bsr      	0xa260	// a260 <Rs485_ASend>
			}
		}
	}
}
    9e08:	1494      	pop      	r4-r7, r15
							Relay_Mid();
    9e0a:	e00000f7 	bsr      	0x9ff8	// 9ff8 <Relay_Mid>
							break;
    9e0e:	06bd      	br      	0x9b88	// 9b88 <DisPlay_Task+0x230>
							Relay_High();
    9e10:	e00000e6 	bsr      	0x9fdc	// 9fdc <Relay_High>
							break;
    9e14:	06ba      	br      	0x9b88	// 9b88 <DisPlay_Task+0x230>
					Set_Temperature_Display(TempCtrl.TemState_Now.set_t*10);
    9e16:	330a      	movi      	r3, 10
    9e18:	7c0c      	mult      	r0, r3
    9e1a:	06da      	br      	0x9bce	// 9bce <DisPlay_Task+0x276>
				HT1621.buz_ctrl_flag = 0x00;
    9e1c:	3200      	movi      	r2, 0
    9e1e:	0779      	br      	0x9d10	// 9d10 <DisPlay_Task+0x3b8>
    9e20:	200005e0 	.long	0x200005e0
    9e24:	20000234 	.long	0x20000234
    9e28:	2000005c 	.long	0x2000005c
    9e2c:	20000861 	.long	0x20000861
    9e30:	000003e7 	.long	0x000003e7
    9e34:	2000085d 	.long	0x2000085d
    9e38:	000493df 	.long	0x000493df
    9e3c:	0000ea60 	.long	0x0000ea60

Disassembly of section .text.Debug_Init:

00009e40 <Debug_Init>:
 * 函数功能：设置模式参数初始化
 * 
 * 
*/
void Debug_Init(void)
{
    9e40:	14d1      	push      	r4, r15
	memset(&Debug_Inf,0x00,sizeof(DEBUG_UNIT));
    9e42:	108d      	lrw      	r4, 0x20000868	// 9e74 <Debug_Init+0x34>
    9e44:	3210      	movi      	r2, 16
    9e46:	3100      	movi      	r1, 0
    9e48:	6c13      	mov      	r0, r4
    9e4a:	e3ffd1a9 	bsr      	0x419c	// 419c <__memset_fast>
	Debug_Inf.Page = 0x01;
    9e4e:	3301      	movi      	r3, 1
    9e50:	a462      	st.b      	r3, (r4, 0x2)
	
	Debug_Inf.DevAddr = g_eeprom.dev_addr;
    9e52:	106a      	lrw      	r3, 0x20000524	// 9e78 <Debug_Init+0x38>
    9e54:	8340      	ld.b      	r2, (r3, 0x0)
    9e56:	a443      	st.b      	r2, (r4, 0x3)
	Debug_Inf.PipeFlag = g_eeprom.pipe_flag;
    9e58:	8341      	ld.b      	r2, (r3, 0x1)
    9e5a:	a444      	st.b      	r2, (r4, 0x4)
		
	Debug_Inf.TempDiff = g_eeprom.temp_diff;
    9e5c:	8342      	ld.b      	r2, (r3, 0x2)
    9e5e:	a445      	st.b      	r2, (r4, 0x5)
	Debug_Inf.BackLight_En = g_eeprom.backlight_en;
    9e60:	8344      	ld.b      	r2, (r3, 0x4)
    9e62:	a446      	st.b      	r2, (r4, 0x6)
	Debug_Inf.KSens_Level = g_eeprom.key_sens_level;
    9e64:	8345      	ld.b      	r2, (r3, 0x5)
    9e66:	a447      	st.b      	r2, (r4, 0x7)
	Debug_Inf.TempDisplay = g_eeprom.temp_select;
    9e68:	8343      	ld.b      	r2, (r3, 0x3)
	Debug_Inf.Language_Selection = g_eeprom.langue_select;
    9e6a:	8366      	ld.b      	r3, (r3, 0x6)
	Debug_Inf.TempDisplay = g_eeprom.temp_select;
    9e6c:	a448      	st.b      	r2, (r4, 0x8)
	Debug_Inf.Language_Selection = g_eeprom.langue_select;
    9e6e:	a469      	st.b      	r3, (r4, 0x9)
	
	
}
    9e70:	1491      	pop      	r4, r15
    9e72:	0000      	bkpt
    9e74:	20000868 	.long	0x20000868
    9e78:	20000524 	.long	0x20000524

Disassembly of section .text.Dev_SaveData:

00009e7c <Dev_SaveData>:
 * 函数功能：设置模式下参数保存
 * 
 * 
*/
void Dev_SaveData(void)
{
    9e7c:	14d1      	push      	r4, r15
    9e7e:	1423      	subi      	r14, r14, 12
	if((Debug_Inf.DevAddr != g_eeprom.dev_addr)|| Debug_Inf.PipeFlag != g_eeprom.pipe_flag || Debug_Inf.TempDiff != g_eeprom.temp_diff \
    9e80:	1165      	lrw      	r3, 0x20000868	// 9f14 <Dev_SaveData+0x98>
    9e82:	1186      	lrw      	r4, 0x20000524	// 9f18 <Dev_SaveData+0x9c>
    9e84:	8343      	ld.b      	r2, (r3, 0x3)
    9e86:	8420      	ld.b      	r1, (r4, 0x0)
    9e88:	6486      	cmpne      	r1, r2
    9e8a:	0819      	bt      	0x9ebc	// 9ebc <Dev_SaveData+0x40>
    9e8c:	8304      	ld.b      	r0, (r3, 0x4)
    9e8e:	8421      	ld.b      	r1, (r4, 0x1)
    9e90:	6442      	cmpne      	r0, r1
    9e92:	0815      	bt      	0x9ebc	// 9ebc <Dev_SaveData+0x40>
    9e94:	8305      	ld.b      	r0, (r3, 0x5)
    9e96:	8422      	ld.b      	r1, (r4, 0x2)
    9e98:	6442      	cmpne      	r0, r1
    9e9a:	0811      	bt      	0x9ebc	// 9ebc <Dev_SaveData+0x40>
	|| Debug_Inf.BackLight_En != g_eeprom.backlight_en || Debug_Inf.KSens_Level != g_eeprom.key_sens_level\
    9e9c:	8306      	ld.b      	r0, (r3, 0x6)
    9e9e:	8424      	ld.b      	r1, (r4, 0x4)
    9ea0:	6442      	cmpne      	r0, r1
    9ea2:	080d      	bt      	0x9ebc	// 9ebc <Dev_SaveData+0x40>
    9ea4:	8307      	ld.b      	r0, (r3, 0x7)
    9ea6:	8425      	ld.b      	r1, (r4, 0x5)
    9ea8:	6442      	cmpne      	r0, r1
    9eaa:	0809      	bt      	0x9ebc	// 9ebc <Dev_SaveData+0x40>
	|| Debug_Inf.TempDisplay != g_eeprom.temp_select || Debug_Inf.Language_Selection != g_eeprom.langue_select)
    9eac:	8308      	ld.b      	r0, (r3, 0x8)
    9eae:	8423      	ld.b      	r1, (r4, 0x3)
    9eb0:	6442      	cmpne      	r0, r1
    9eb2:	0805      	bt      	0x9ebc	// 9ebc <Dev_SaveData+0x40>
    9eb4:	8309      	ld.b      	r0, (r3, 0x9)
    9eb6:	8426      	ld.b      	r1, (r4, 0x6)
    9eb8:	6442      	cmpne      	r0, r1
    9eba:	0c2b      	bf      	0x9f10	// 9f10 <Dev_SaveData+0x94>
	{
		g_eeprom.dev_addr = Debug_Inf.DevAddr;
    9ebc:	a440      	st.b      	r2, (r4, 0x0)
		g_eeprom.pipe_flag = Debug_Inf.PipeFlag;
    9ebe:	8344      	ld.b      	r2, (r3, 0x4)
    9ec0:	a441      	st.b      	r2, (r4, 0x1)
		g_eeprom.temp_diff = Debug_Inf.TempDiff;
    9ec2:	8345      	ld.b      	r2, (r3, 0x5)
    9ec4:	a442      	st.b      	r2, (r4, 0x2)
		g_eeprom.backlight_en = Debug_Inf.BackLight_En;
    9ec6:	8346      	ld.b      	r2, (r3, 0x6)
    9ec8:	a444      	st.b      	r2, (r4, 0x4)
		g_eeprom.key_sens_level = Debug_Inf.KSens_Level;
    9eca:	8347      	ld.b      	r2, (r3, 0x7)
    9ecc:	a445      	st.b      	r2, (r4, 0x5)
		g_eeprom.temp_select = Debug_Inf.TempDisplay;
    9ece:	8348      	ld.b      	r2, (r3, 0x8)
		g_eeprom.langue_select = Debug_Inf.Language_Selection;
		
		EEPROM_WriteParaInfo(&g_eeprom);
    9ed0:	1012      	lrw      	r0, 0x20000524	// 9f18 <Dev_SaveData+0x9c>
		g_eeprom.langue_select = Debug_Inf.Language_Selection;
    9ed2:	8369      	ld.b      	r3, (r3, 0x9)
		g_eeprom.temp_select = Debug_Inf.TempDisplay;
    9ed4:	a443      	st.b      	r2, (r4, 0x3)
		g_eeprom.langue_select = Debug_Inf.Language_Selection;
    9ed6:	a466      	st.b      	r3, (r4, 0x6)
		EEPROM_WriteParaInfo(&g_eeprom);
    9ed8:	e3ffe8ca 	bsr      	0x706c	// 706c <EEPROM_WriteParaInfo>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Dev_SaveData, addr:%d  pipe:%d  diff:%d  backlight_en:%d  key_sens_level:%d",\
    9edc:	8425      	ld.b      	r1, (r4, 0x5)
    9ede:	b822      	st.w      	r1, (r14, 0x8)
    9ee0:	8424      	ld.b      	r1, (r4, 0x4)
    9ee2:	b821      	st.w      	r1, (r14, 0x4)
    9ee4:	8422      	ld.b      	r1, (r4, 0x2)
    9ee6:	8461      	ld.b      	r3, (r4, 0x1)
    9ee8:	8440      	ld.b      	r2, (r4, 0x0)
    9eea:	b820      	st.w      	r1, (r14, 0x0)
    9eec:	3000      	movi      	r0, 0
    9eee:	102c      	lrw      	r1, 0xcf66	// 9f1c <Dev_SaveData+0xa0>
    9ef0:	e3ffe3a6 	bsr      	0x663c	// 663c <Dbg_Println>
		g_eeprom.dev_addr,g_eeprom.pipe_flag,g_eeprom.temp_diff,g_eeprom.backlight_en,g_eeprom.key_sens_level);
		Dbg_Println(DBG_BIT_SYS_STATUS,"Dev_SaveData, temp_select:%d  langue_select:%d ",\
    9ef4:	8466      	ld.b      	r3, (r4, 0x6)
    9ef6:	8443      	ld.b      	r2, (r4, 0x3)
    9ef8:	3000      	movi      	r0, 0
    9efa:	102a      	lrw      	r1, 0xcfb2	// 9f20 <Dev_SaveData+0xa4>
    9efc:	e3ffe3a0 	bsr      	0x663c	// 663c <Dbg_Println>
		g_eeprom.temp_select,g_eeprom.langue_select);
		
		//boot
		if(g_eeprom.dev_addr != g_mcu_dev.dev_addr){
    9f00:	1009      	lrw      	r0, 0x2000052c	// 9f24 <Dev_SaveData+0xa8>
    9f02:	8460      	ld.b      	r3, (r4, 0x0)
    9f04:	8040      	ld.b      	r2, (r0, 0x0)
    9f06:	64ca      	cmpne      	r2, r3
    9f08:	0c04      	bf      	0x9f10	// 9f10 <Dev_SaveData+0x94>
			g_mcu_dev.dev_addr = g_eeprom.dev_addr;
    9f0a:	a060      	st.b      	r3, (r0, 0x0)
			EEPROM_WriteMCUDevInfo(&g_mcu_dev);
    9f0c:	e3ffeac6 	bsr      	0x7498	// 7498 <EEPROM_WriteMCUDevInfo>
		}
		
	}
}
    9f10:	1403      	addi      	r14, r14, 12
    9f12:	1491      	pop      	r4, r15
    9f14:	20000868 	.long	0x20000868
    9f18:	20000524 	.long	0x20000524
    9f1c:	0000cf66 	.long	0x0000cf66
    9f20:	0000cfb2 	.long	0x0000cfb2
    9f24:	2000052c 	.long	0x2000052c

Disassembly of section .text.Debug_Task:

00009f28 <Debug_Task>:
 * 函数功能：设置模式轮询任务
 * 
 * 
*/
void Debug_Task(void)
{
    9f28:	14d0      	push      	r15
	if((Debug_Inf.State == 0x01) && (SysTick_1ms - Debug_Inf.Tick) > 10000 && (Debug_Inf.Page != PAGE8ID))      //设置模式
    9f2a:	1074      	lrw      	r3, 0x20000868	// 9f78 <Debug_Task+0x50>
    9f2c:	8340      	ld.b      	r2, (r3, 0x0)
    9f2e:	3a41      	cmpnei      	r2, 1
    9f30:	0822      	bt      	0x9f74	// 9f74 <Debug_Task+0x4c>
    9f32:	1033      	lrw      	r1, 0x200000c0	// 9f7c <Debug_Task+0x54>
    9f34:	9140      	ld.w      	r2, (r1, 0x0)
    9f36:	9303      	ld.w      	r0, (r3, 0xc)
    9f38:	6082      	subu      	r2, r0
    9f3a:	1012      	lrw      	r0, 0x2710	// 9f80 <Debug_Task+0x58>
    9f3c:	6480      	cmphs      	r0, r2
    9f3e:	081b      	bt      	0x9f74	// 9f74 <Debug_Task+0x4c>
    9f40:	8342      	ld.b      	r2, (r3, 0x2)
    9f42:	3a48      	cmpnei      	r2, 8
    9f44:	0c18      	bf      	0x9f74	// 9f74 <Debug_Task+0x4c>
	{
		Debug_Inf.Tick = SysTick_1ms;
    9f46:	9140      	ld.w      	r2, (r1, 0x0)
    9f48:	b343      	st.w      	r2, (r3, 0xc)
		Debug_Inf.State = 0x00;
    9f4a:	3200      	movi      	r2, 0
    9f4c:	a340      	st.b      	r2, (r3, 0x0)
		Debug_Inf.Page = 0x01;
    9f4e:	3201      	movi      	r2, 1
    9f50:	a342      	st.b      	r2, (r3, 0x2)
		HT1621.buz_ctrl_flag = 0x00;
    9f52:	106d      	lrw      	r3, 0x200005e0	// 9f84 <Debug_Task+0x5c>
    9f54:	3200      	movi      	r2, 0
    9f56:	a345      	st.b      	r2, (r3, 0x5)
		
		Dev_SaveData();
    9f58:	e3ffff92 	bsr      	0x9e7c	// 9e7c <Dev_SaveData>
		
		HT1621_Clear();
    9f5c:	e3fff232 	bsr      	0x83c0	// 83c0 <HT1621_Clear>
		//关背光
		Controlled_LCD_Backlight(0x00);
    9f60:	3000      	movi      	r0, 0
    9f62:	e3fff56d 	bsr      	0x8a3c	// 8a3c <Controlled_LCD_Backlight>
		Controlled_Key_Backlight(0x00);
    9f66:	3000      	movi      	r0, 0
    9f68:	e3fff5d8 	bsr      	0x8b18	// 8b18 <Controlled_Key_Backlight>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Debug Out!");
    9f6c:	1027      	lrw      	r1, 0xcfe2	// 9f88 <Debug_Task+0x60>
    9f6e:	3000      	movi      	r0, 0
    9f70:	e3ffe366 	bsr      	0x663c	// 663c <Dbg_Println>
	}
    9f74:	1490      	pop      	r15
    9f76:	0000      	bkpt
    9f78:	20000868 	.long	0x20000868
    9f7c:	200000c0 	.long	0x200000c0
    9f80:	00002710 	.long	0x00002710
    9f84:	200005e0 	.long	0x200005e0
    9f88:	0000cfe2 	.long	0x0000cfe2

Disassembly of section .text.BLV_RLY_Ctrl_Purpose.part.0:

00009f8c <BLV_RLY_Ctrl_Purpose.part.0>:
 * @brief	产生继电器控制动作检测
 * @param	rly_id:继电器id
 * @param	state：继电器要改变的状态
 * @retval 	None
 * */
void BLV_RLY_Ctrl_Purpose(U8_T rly_id,U8_T state)
    9f8c:	14d3      	push      	r4-r6, r15
	//c_rly.rly_zero
	
	if( !((state == Control_ON)||(state == Control_OFF))) return;
	if(rly_id >= RLY_MAX) return;
	
	if(c_rly.rly_state[rly_id] != state)
    9f8e:	10a9      	lrw      	r5, 0x20000878	// 9fb0 <BLV_RLY_Ctrl_Purpose.part.0+0x24>
    9f90:	5d80      	addu      	r4, r5, r0
    9f92:	8463      	ld.b      	r3, (r4, 0x3)
    9f94:	644e      	cmpne      	r3, r1
void BLV_RLY_Ctrl_Purpose(U8_T rly_id,U8_T state)
    9f96:	6d87      	mov      	r6, r1
	if(c_rly.rly_state[rly_id] != state)
    9f98:	0c0b      	bf      	0x9fae	// 9fae <BLV_RLY_Ctrl_Purpose.part.0+0x22>
	{	
		CK_CPU_DisAllNormalIrq();	//关闭全局中断
    9f9a:	e3ffe11e 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
		c_rly.rly_state[rly_id] = state;
		if(c_rly.rly_zero == UNZEROCROSSING){
    9f9e:	8560      	ld.b      	r3, (r5, 0x0)
			c_rly.rly_control = 0x02;
    9fa0:	3b40      	cmpnei      	r3, 0
    9fa2:	64c3      	mvcv      	r3
    9fa4:	2300      	addi      	r3, 1
		c_rly.rly_state[rly_id] = state;
    9fa6:	a4c3      	st.b      	r6, (r4, 0x3)
			c_rly.rly_control = 0x02;
    9fa8:	a562      	st.b      	r3, (r5, 0x2)
		}else{
			c_rly.rly_control = 0x01;
		}
		CK_CPU_EnAllNormalIrq();	//打开全局中断				
    9faa:	e3ffe113 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	}
}
    9fae:	1493      	pop      	r4-r6, r15
    9fb0:	20000878 	.long	0x20000878

Disassembly of section .text.Relay_Init:

00009fb4 <Relay_Init>:
{
    9fb4:	14d1      	push      	r4, r15
	memset(&g_switch,0,sizeof(FUN_SWITCH_INFO));
    9fb6:	1088      	lrw      	r4, 0x200005a4	// 9fd4 <Relay_Init+0x20>
    9fb8:	321c      	movi      	r2, 28
    9fba:	3100      	movi      	r1, 0
    9fbc:	6c13      	mov      	r0, r4
    9fbe:	e3ffd0ef 	bsr      	0x419c	// 419c <__memset_fast>
	memset(&c_rly,0, sizeof(ZERO_CTRL_RLY));
    9fc2:	320c      	movi      	r2, 12
    9fc4:	3100      	movi      	r1, 0
    9fc6:	1005      	lrw      	r0, 0x20000878	// 9fd8 <Relay_Init+0x24>
    9fc8:	e3ffd0ea 	bsr      	0x419c	// 419c <__memset_fast>
	g_switch.feedback_light_selection = 0x01;
    9fcc:	3301      	movi      	r3, 1
    9fce:	a462      	st.b      	r3, (r4, 0x2)
}
    9fd0:	1491      	pop      	r4, r15
    9fd2:	0000      	bkpt
    9fd4:	200005a4 	.long	0x200005a4
    9fd8:	20000878 	.long	0x20000878

Disassembly of section .text.Relay_High:

00009fdc <Relay_High>:
{
    9fdc:	14d0      	push      	r15
    9fde:	3101      	movi      	r1, 1
    9fe0:	3002      	movi      	r0, 2
    9fe2:	e3ffffd5 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    9fe6:	3102      	movi      	r1, 2
    9fe8:	3003      	movi      	r0, 3
    9fea:	e3ffffd1 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    9fee:	3102      	movi      	r1, 2
    9ff0:	3004      	movi      	r0, 4
    9ff2:	e3ffffcd 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
}
    9ff6:	1490      	pop      	r15

Disassembly of section .text.Relay_Mid:

00009ff8 <Relay_Mid>:
{
    9ff8:	14d0      	push      	r15
    9ffa:	3102      	movi      	r1, 2
    9ffc:	3002      	movi      	r0, 2
    9ffe:	e3ffffc7 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    a002:	3101      	movi      	r1, 1
    a004:	3003      	movi      	r0, 3
    a006:	e3ffffc3 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    a00a:	3102      	movi      	r1, 2
    a00c:	3004      	movi      	r0, 4
    a00e:	e3ffffbf 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a012:	1490      	pop      	r15

Disassembly of section .text.Relay_Low:

0000a014 <Relay_Low>:
{
    a014:	14d0      	push      	r15
    a016:	3102      	movi      	r1, 2
    a018:	3002      	movi      	r0, 2
    a01a:	e3ffffb9 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    a01e:	3102      	movi      	r1, 2
    a020:	3003      	movi      	r0, 3
    a022:	e3ffffb5 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    a026:	3101      	movi      	r1, 1
    a028:	3004      	movi      	r0, 4
    a02a:	e3ffffb1 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a02e:	1490      	pop      	r15

Disassembly of section .text.Relay_Stop:

0000a030 <Relay_Stop>:
{
    a030:	14d0      	push      	r15
    a032:	3102      	movi      	r1, 2
    a034:	3002      	movi      	r0, 2
    a036:	e3ffffab 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    a03a:	3102      	movi      	r1, 2
    a03c:	3003      	movi      	r0, 3
    a03e:	e3ffffa7 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
    a042:	3102      	movi      	r1, 2
    a044:	3004      	movi      	r0, 4
    a046:	e3ffffa3 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a04a:	1490      	pop      	r15

Disassembly of section .text.BLV_RLY_Ctrl_Purpose:

0000a04c <BLV_RLY_Ctrl_Purpose>:
{
    a04c:	14d0      	push      	r15
	if( !((state == Control_ON)||(state == Control_OFF))) return;
    a04e:	5963      	subi      	r3, r1, 1
    a050:	74cc      	zextb      	r3, r3
    a052:	3b01      	cmphsi      	r3, 2
    a054:	0805      	bt      	0xa05e	// a05e <BLV_RLY_Ctrl_Purpose+0x12>
	if(rly_id >= RLY_MAX) return;
    a056:	3804      	cmphsi      	r0, 5
    a058:	0803      	bt      	0xa05e	// a05e <BLV_RLY_Ctrl_Purpose+0x12>
    a05a:	e3ffff99 	bsr      	0x9f8c	// 9f8c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a05e:	1490      	pop      	r15

Disassembly of section .text.RLY_Direct_Control:

0000a060 <RLY_Direct_Control>:
/********************************************************************
 * @brief	有无过零信号检测，以及无过零信号时直接控制继电器功能
 * @retval 	None
 * */
void RLY_Direct_Control(void)
{
    a060:	14d2      	push      	r4-r5, r15
	if(SysTick_1ms - c_rly.ZCrossing_tick >= 50)// 50ms
    a062:	1150      	lrw      	r2, 0x200000c0	// a120 <RLY_Direct_Control+0xc0>
    a064:	1190      	lrw      	r4, 0x20000878	// a124 <RLY_Direct_Control+0xc4>
    a066:	9260      	ld.w      	r3, (r2, 0x0)
    a068:	9422      	ld.w      	r1, (r4, 0x8)
    a06a:	60c6      	subu      	r3, r1
    a06c:	3131      	movi      	r1, 49
    a06e:	64c4      	cmphs      	r1, r3
    a070:	0810      	bt      	0xa090	// a090 <RLY_Direct_Control+0x30>
	{
		c_rly.ZCrossing_tick = SysTick_1ms;
    a072:	9260      	ld.w      	r3, (r2, 0x0)
    a074:	b462      	st.w      	r3, (r4, 0x8)
		
		CK_CPU_DisAllNormalIrq();	//关闭全局中断
    a076:	e3ffe0b0 	bsr      	0x61d6	// 61d6 <CK_CPU_DisAllNormalIrq>
		if( (c_rly.rly_zCnt >= 2)&&(c_rly.rly_zCnt <= 5) ){	//有过零信号
    a07a:	8461      	ld.b      	r3, (r4, 0x1)
    a07c:	2b01      	subi      	r3, 2
    a07e:	74cc      	zextb      	r3, r3
    a080:	3b03      	cmphsi      	r3, 4
    a082:	0812      	bt      	0xa0a6	// a0a6 <RLY_Direct_Control+0x46>
			c_rly.rly_zero = ZEROCROSSING;
    a084:	3301      	movi      	r3, 1
    a086:	a460      	st.b      	r3, (r4, 0x0)
			c_rly.rly_zCnt = 0;
    a088:	3300      	movi      	r3, 0
		}else {						//无过零信号
			c_rly.rly_zero = UNZEROCROSSING;
			c_rly.rly_zCnt = 0;			
    a08a:	a461      	st.b      	r3, (r4, 0x1)
		}
		CK_CPU_EnAllNormalIrq();	//打开全局中断
    a08c:	e3ffe0a2 	bsr      	0x61d0	// 61d0 <CK_CPU_EnAllNormalIrq>
	}
	
	if(c_rly.rly_control != 0x02) return;
    a090:	8462      	ld.b      	r3, (r4, 0x2)
    a092:	3b42      	cmpnei      	r3, 2
    a094:	0819      	bt      	0xa0c6	// a0c6 <RLY_Direct_Control+0x66>
    a096:	3500      	movi      	r5, 0
	
	for (U8_T i = 0; i < RLY_MAX; i++) {
		switch (i) {
    a098:	5d03      	subi      	r0, r5, 1
    a09a:	3803      	cmphsi      	r0, 4
    a09c:	0808      	bt      	0xa0ac	// a0ac <RLY_Direct_Control+0x4c>
    a09e:	e3ffca2f 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a0a2:	2117      	.short	0x2117
    a0a4:	352b      	.short	0x352b
			c_rly.rly_zero = UNZEROCROSSING;
    a0a6:	3300      	movi      	r3, 0
    a0a8:	a460      	st.b      	r3, (r4, 0x0)
    a0aa:	07f0      	br      	0xa08a	// a08a <RLY_Direct_Control+0x2a>
			case HOT_RLY:
				if (c_rly.rly_state[HOT_RLY] == Control_ON) {
    a0ac:	8463      	ld.b      	r3, (r4, 0x3)
    a0ae:	3b41      	cmpnei      	r3, 1
    a0b0:	080c      	bt      	0xa0c8	// a0c8 <RLY_Direct_Control+0x68>
					RLY1_HOT_OPEN;
    a0b2:	3102      	movi      	r1, 2
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
					RLY1_HOT_CLOSE;
    a0b4:	3012      	movi      	r0, 18
			break;
			case LOW_RLY:
				if (c_rly.rly_state[LOW_RLY] == Control_ON) {
					RLY5_LOW_OPEN;
				}else if (c_rly.rly_state[LOW_RLY] == Control_OFF) {
					RLY5_LOW_CLOSE;
    a0b6:	e3fff087 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
	for (U8_T i = 0; i < RLY_MAX; i++) {
    a0ba:	2500      	addi      	r5, 1
    a0bc:	7554      	zextb      	r5, r5
    a0be:	3d45      	cmpnei      	r5, 5
    a0c0:	0bec      	bt      	0xa098	// a098 <RLY_Direct_Control+0x38>
				}
			break;
		}
	}	
	
	c_rly.rly_control = 0x00;
    a0c2:	3300      	movi      	r3, 0
    a0c4:	a462      	st.b      	r3, (r4, 0x2)
}
    a0c6:	1492      	pop      	r4-r5, r15
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
    a0c8:	3b42      	cmpnei      	r3, 2
    a0ca:	0bf8      	bt      	0xa0ba	// a0ba <RLY_Direct_Control+0x5a>
					RLY1_HOT_CLOSE;
    a0cc:	3101      	movi      	r1, 1
    a0ce:	07f3      	br      	0xa0b4	// a0b4 <RLY_Direct_Control+0x54>
				if (c_rly.rly_state[COOL_RLY] == Control_ON) {
    a0d0:	8464      	ld.b      	r3, (r4, 0x4)
    a0d2:	3b41      	cmpnei      	r3, 1
    a0d4:	0804      	bt      	0xa0dc	// a0dc <RLY_Direct_Control+0x7c>
					RLY2_COLD_OPEN;
    a0d6:	3102      	movi      	r1, 2
					RLY2_COLD_CLOSE;
    a0d8:	3013      	movi      	r0, 19
    a0da:	07ee      	br      	0xa0b6	// a0b6 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[COOL_RLY] == Control_OFF) {
    a0dc:	3b42      	cmpnei      	r3, 2
    a0de:	0bee      	bt      	0xa0ba	// a0ba <RLY_Direct_Control+0x5a>
					RLY2_COLD_CLOSE;
    a0e0:	3101      	movi      	r1, 1
    a0e2:	07fb      	br      	0xa0d8	// a0d8 <RLY_Direct_Control+0x78>
				if (c_rly.rly_state[HIGH_RLY] == Control_ON) {
    a0e4:	8465      	ld.b      	r3, (r4, 0x5)
    a0e6:	3b41      	cmpnei      	r3, 1
    a0e8:	0804      	bt      	0xa0f0	// a0f0 <RLY_Direct_Control+0x90>
					RLY3_HIGH_OPEN;
    a0ea:	3102      	movi      	r1, 2
					RLY3_HIGH_CLOSE;
    a0ec:	3014      	movi      	r0, 20
    a0ee:	07e4      	br      	0xa0b6	// a0b6 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[HIGH_RLY] == Control_OFF) {
    a0f0:	3b42      	cmpnei      	r3, 2
    a0f2:	0be4      	bt      	0xa0ba	// a0ba <RLY_Direct_Control+0x5a>
					RLY3_HIGH_CLOSE;
    a0f4:	3101      	movi      	r1, 1
    a0f6:	07fb      	br      	0xa0ec	// a0ec <RLY_Direct_Control+0x8c>
				if (c_rly.rly_state[MAD_RLY] == Control_ON) {
    a0f8:	8466      	ld.b      	r3, (r4, 0x6)
    a0fa:	3b41      	cmpnei      	r3, 1
    a0fc:	0804      	bt      	0xa104	// a104 <RLY_Direct_Control+0xa4>
					RLY4_MID_OPEN;
    a0fe:	3102      	movi      	r1, 2
					RLY4_MID_CLOSE;
    a100:	3015      	movi      	r0, 21
    a102:	07da      	br      	0xa0b6	// a0b6 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[MAD_RLY] == Control_OFF) {
    a104:	3b42      	cmpnei      	r3, 2
    a106:	0bda      	bt      	0xa0ba	// a0ba <RLY_Direct_Control+0x5a>
					RLY4_MID_CLOSE;
    a108:	3101      	movi      	r1, 1
    a10a:	07fb      	br      	0xa100	// a100 <RLY_Direct_Control+0xa0>
				if (c_rly.rly_state[LOW_RLY] == Control_ON) {
    a10c:	8467      	ld.b      	r3, (r4, 0x7)
    a10e:	3b41      	cmpnei      	r3, 1
    a110:	0804      	bt      	0xa118	// a118 <RLY_Direct_Control+0xb8>
					RLY5_LOW_OPEN;
    a112:	3102      	movi      	r1, 2
					RLY5_LOW_CLOSE;
    a114:	3016      	movi      	r0, 22
    a116:	07d0      	br      	0xa0b6	// a0b6 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[LOW_RLY] == Control_OFF) {
    a118:	3b42      	cmpnei      	r3, 2
    a11a:	0bd0      	bt      	0xa0ba	// a0ba <RLY_Direct_Control+0x5a>
					RLY5_LOW_CLOSE;
    a11c:	3101      	movi      	r1, 1
    a11e:	07fb      	br      	0xa114	// a114 <RLY_Direct_Control+0xb4>
    a120:	200000c0 	.long	0x200000c0
    a124:	20000878 	.long	0x20000878

Disassembly of section .text.RLY_Zero_Control:

0000a128 <RLY_Zero_Control>:
 * @brief	有过零信号控制继电器，在中断中调用
 * 
 * @retval 	None
 * */
void RLY_Zero_Control(void)
{
    a128:	14d2      	push      	r4-r5, r15
	if(c_rly.rly_control != 0x01) return;
    a12a:	1185      	lrw      	r4, 0x20000878	// a1bc <RLY_Zero_Control+0x94>
    a12c:	8462      	ld.b      	r3, (r4, 0x2)
    a12e:	3b41      	cmpnei      	r3, 1
    a130:	0818      	bt      	0xa160	// a160 <RLY_Zero_Control+0x38>
    a132:	3500      	movi      	r5, 0
	
	for (U8_T i = 0; i < RLY_MAX; i++) {
		switch (i) {
    a134:	5d03      	subi      	r0, r5, 1
    a136:	3803      	cmphsi      	r0, 4
    a138:	0805      	bt      	0xa142	// a142 <RLY_Zero_Control+0x1a>
    a13a:	e3ffc9e1 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a13e:	2016      	.short	0x2016
    a140:	342a      	.short	0x342a
			case HOT_RLY:
				if (c_rly.rly_state[HOT_RLY] == Control_ON) {
    a142:	8463      	ld.b      	r3, (r4, 0x3)
    a144:	3b41      	cmpnei      	r3, 1
    a146:	080e      	bt      	0xa162	// a162 <RLY_Zero_Control+0x3a>
					RLY1_HOT_OPEN;
    a148:	3102      	movi      	r1, 2
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
					RLY1_HOT_CLOSE;
    a14a:	3012      	movi      	r0, 18
			break;
			case LOW_RLY:
				if (c_rly.rly_state[LOW_RLY] == Control_ON) {
					RLY5_LOW_OPEN;
				}else if (c_rly.rly_state[LOW_RLY] == Control_OFF) {
					RLY5_LOW_CLOSE;
    a14c:	e3fff03c 	bsr      	0x81c4	// 81c4 <TM1812_Control_CH_CurrState>
	for (U8_T i = 0; i < RLY_MAX; i++) {
    a150:	2500      	addi      	r5, 1
    a152:	7554      	zextb      	r5, r5
    a154:	3d45      	cmpnei      	r5, 5
    a156:	0bef      	bt      	0xa134	// a134 <RLY_Zero_Control+0xc>
			break;
		}

	}
	
	TimeCall_SIO_Send2();	
    a158:	e3ffef6a 	bsr      	0x802c	// 802c <TimeCall_SIO_Send2>
	
	c_rly.rly_control = 0x00;
    a15c:	3300      	movi      	r3, 0
    a15e:	a462      	st.b      	r3, (r4, 0x2)
    a160:	1492      	pop      	r4-r5, r15
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
    a162:	3b42      	cmpnei      	r3, 2
    a164:	0bf6      	bt      	0xa150	// a150 <RLY_Zero_Control+0x28>
					RLY1_HOT_CLOSE;
    a166:	3101      	movi      	r1, 1
    a168:	07f1      	br      	0xa14a	// a14a <RLY_Zero_Control+0x22>
				if (c_rly.rly_state[COOL_RLY] == Control_ON) {
    a16a:	8464      	ld.b      	r3, (r4, 0x4)
    a16c:	3b41      	cmpnei      	r3, 1
    a16e:	0804      	bt      	0xa176	// a176 <RLY_Zero_Control+0x4e>
					RLY2_COLD_OPEN;
    a170:	3102      	movi      	r1, 2
					RLY2_COLD_CLOSE;
    a172:	3013      	movi      	r0, 19
    a174:	07ec      	br      	0xa14c	// a14c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[COOL_RLY] == Control_OFF) {
    a176:	3b42      	cmpnei      	r3, 2
    a178:	0bec      	bt      	0xa150	// a150 <RLY_Zero_Control+0x28>
					RLY2_COLD_CLOSE;
    a17a:	3101      	movi      	r1, 1
    a17c:	07fb      	br      	0xa172	// a172 <RLY_Zero_Control+0x4a>
				if (c_rly.rly_state[HIGH_RLY] == Control_ON) {
    a17e:	8465      	ld.b      	r3, (r4, 0x5)
    a180:	3b41      	cmpnei      	r3, 1
    a182:	0804      	bt      	0xa18a	// a18a <RLY_Zero_Control+0x62>
					RLY3_HIGH_OPEN;
    a184:	3102      	movi      	r1, 2
					RLY3_HIGH_CLOSE;
    a186:	3014      	movi      	r0, 20
    a188:	07e2      	br      	0xa14c	// a14c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[HIGH_RLY] == Control_OFF) {
    a18a:	3b42      	cmpnei      	r3, 2
    a18c:	0be2      	bt      	0xa150	// a150 <RLY_Zero_Control+0x28>
					RLY3_HIGH_CLOSE;
    a18e:	3101      	movi      	r1, 1
    a190:	07fb      	br      	0xa186	// a186 <RLY_Zero_Control+0x5e>
				if (c_rly.rly_state[MAD_RLY] == Control_ON) {
    a192:	8466      	ld.b      	r3, (r4, 0x6)
    a194:	3b41      	cmpnei      	r3, 1
    a196:	0804      	bt      	0xa19e	// a19e <RLY_Zero_Control+0x76>
					RLY4_MID_OPEN;
    a198:	3102      	movi      	r1, 2
					RLY4_MID_CLOSE;
    a19a:	3015      	movi      	r0, 21
    a19c:	07d8      	br      	0xa14c	// a14c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[MAD_RLY] == Control_OFF) {
    a19e:	3b42      	cmpnei      	r3, 2
    a1a0:	0bd8      	bt      	0xa150	// a150 <RLY_Zero_Control+0x28>
					RLY4_MID_CLOSE;
    a1a2:	3101      	movi      	r1, 1
    a1a4:	07fb      	br      	0xa19a	// a19a <RLY_Zero_Control+0x72>
				if (c_rly.rly_state[LOW_RLY] == Control_ON) {
    a1a6:	8467      	ld.b      	r3, (r4, 0x7)
    a1a8:	3b41      	cmpnei      	r3, 1
    a1aa:	0804      	bt      	0xa1b2	// a1b2 <RLY_Zero_Control+0x8a>
					RLY5_LOW_OPEN;
    a1ac:	3102      	movi      	r1, 2
					RLY5_LOW_CLOSE;
    a1ae:	3016      	movi      	r0, 22
    a1b0:	07ce      	br      	0xa14c	// a14c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[LOW_RLY] == Control_OFF) {
    a1b2:	3b42      	cmpnei      	r3, 2
    a1b4:	0bce      	bt      	0xa150	// a150 <RLY_Zero_Control+0x28>
					RLY5_LOW_CLOSE;
    a1b6:	3101      	movi      	r1, 1
    a1b8:	07fb      	br      	0xa1ae	// a1ae <RLY_Zero_Control+0x86>
    a1ba:	0000      	bkpt
    a1bc:	20000878 	.long	0x20000878

Disassembly of section .text.NetCRC16_Check:

0000a1c0 <NetCRC16_Check>:

/*两字节CRC校验
*len包括校验的长度
*/
void NetCRC16_Check(U8_T *aStr ,U16_T len)
{
    a1c0:	14c4      	push      	r4-r7
	U16_T alen = len-2;   //CRC16???????
	U16_T xda , xdapoly ; //校验后的结果，多项式
	U16_T i,j, xdabit ;  //缓存变量
	
	if(len < 3)        //长度小于3
    a1c2:	3902      	cmphsi      	r1, 3
    a1c4:	0c1f      	bf      	0xa202	// a202 <NetCRC16_Check+0x42>
	U16_T alen = len-2;   //CRC16???????
    a1c6:	2901      	subi      	r1, 2
    a1c8:	7445      	zexth      	r1, r1
    a1ca:	6d43      	mov      	r5, r0
    a1cc:	3200      	movi      	r2, 0
    a1ce:	106e      	lrw      	r3, 0xffff	// a204 <NetCRC16_Check+0x44>
	}
	xda = 0xFFFF ;
	xdapoly = 0xA001 ;	// (X**16 + X**15 + X**2 + 1)
	for(i=0;i<alen;i++) 
	{
		xda ^= aStr[i] ;
    a1d0:	8580      	ld.b      	r4, (r5, 0x0)
    a1d2:	6cd1      	xor      	r3, r4
		for(j=0;j<8;j++) 
		{
			xdabit = (U8_T)(xda & 0x01) ;
    a1d4:	3701      	movi      	r7, 1
		xda ^= aStr[i] ;
    a1d6:	3408      	movi      	r4, 8
			xda >>= 1 ;
			if( xdabit ) xda ^= xdapoly ;
    a1d8:	6d8f      	mov      	r6, r3
    a1da:	699c      	and      	r6, r7
    a1dc:	3e40      	cmpnei      	r6, 0
    a1de:	4b61      	lsri      	r3, r3, 1
    a1e0:	0c04      	bf      	0xa1e8	// a1e8 <NetCRC16_Check+0x28>
    a1e2:	10ca      	lrw      	r6, 0xffffa001	// a208 <NetCRC16_Check+0x48>
    a1e4:	6cd9      	xor      	r3, r6
    a1e6:	74cd      	zexth      	r3, r3
    a1e8:	2c00      	subi      	r4, 1
    a1ea:	7511      	zexth      	r4, r4
		for(j=0;j<8;j++) 
    a1ec:	3c40      	cmpnei      	r4, 0
    a1ee:	0bf5      	bt      	0xa1d8	// a1d8 <NetCRC16_Check+0x18>
	for(i=0;i<alen;i++) 
    a1f0:	2200      	addi      	r2, 1
    a1f2:	7489      	zexth      	r2, r2
    a1f4:	6448      	cmphs      	r2, r1
    a1f6:	2500      	addi      	r5, 1
    a1f8:	0fec      	bf      	0xa1d0	// a1d0 <NetCRC16_Check+0x10>
		}
	}    
	aStr[alen] = (U8_T)(xda & 0xFF) ;
    a1fa:	6040      	addu      	r1, r0
    a1fc:	a160      	st.b      	r3, (r1, 0x0)
	aStr[alen+1] = (U8_T)(xda>>8) ;
    a1fe:	4b68      	lsri      	r3, r3, 8
    a200:	a161      	st.b      	r3, (r1, 0x1)
}
    a202:	1484      	pop      	r4-r7
    a204:	0000ffff 	.long	0x0000ffff
    a208:	ffffa001 	.long	0xffffa001

Disassembly of section .text.GetCRC16:

0000a20c <GetCRC16>:
*   @para
*      aStr   数组首地址
*      len    数组长度，不包括校验
*/
U16_T GetCRC16( U8_T *aStr , U16_T len)
{
    a20c:	14c3      	push      	r4-r6
    a20e:	6cc3      	mov      	r3, r0
    a210:	6040      	addu      	r1, r0
        xda ^= aStr[i] ;
        for (j = 0; j < 8; j++)
        {
            xdabit = (unsigned char)(xda & 0x01) ;
            xda >>= 1 ;
            if ( xdabit ) xda ^= xdapoly ;
    a212:	10ac      	lrw      	r5, 0xffffa001	// a240 <GetCRC16+0x34>
    xda = 0xFFFF ;
    a214:	100c      	lrw      	r0, 0xffff	// a244 <GetCRC16+0x38>
    for (i = 0; i < len; i++)
    a216:	644e      	cmpne      	r3, r1
    a218:	0802      	bt      	0xa21c	// a21c <GetCRC16+0x10>
    }
	
//	Dbg_Println(DBG_BIT_SYS_STATUS,"GetCRC16:%04X",xda);
	
    return xda;
}
    a21a:	1483      	pop      	r4-r6
        xda ^= aStr[i] ;
    a21c:	8340      	ld.b      	r2, (r3, 0x0)
    a21e:	6c09      	xor      	r0, r2
            xdabit = (unsigned char)(xda & 0x01) ;
    a220:	3601      	movi      	r6, 1
        xda ^= aStr[i] ;
    a222:	3208      	movi      	r2, 8
            if ( xdabit ) xda ^= xdapoly ;
    a224:	6d03      	mov      	r4, r0
    a226:	6918      	and      	r4, r6
    a228:	3c40      	cmpnei      	r4, 0
    a22a:	4801      	lsri      	r0, r0, 1
    a22c:	0c03      	bf      	0xa232	// a232 <GetCRC16+0x26>
    a22e:	6c15      	xor      	r0, r5
    a230:	7401      	zexth      	r0, r0
    a232:	2a00      	subi      	r2, 1
    a234:	7489      	zexth      	r2, r2
        for (j = 0; j < 8; j++)
    a236:	3a40      	cmpnei      	r2, 0
    a238:	0bf6      	bt      	0xa224	// a224 <GetCRC16+0x18>
    a23a:	2300      	addi      	r3, 1
    a23c:	07ed      	br      	0xa216	// a216 <GetCRC16+0xa>
    a23e:	0000      	bkpt
    a240:	ffffa001 	.long	0xffffa001
    a244:	0000ffff 	.long	0x0000ffff

Disassembly of section .text.SOR_CRC:

0000a248 <SOR_CRC>:

/*和校验*/
U8_T SOR_CRC(U8_T *Data, U8_T DataLen)
{
    a248:	6cc3      	mov      	r3, r0
    a24a:	6040      	addu      	r1, r0
	U8_T i;
	U8_T sor_data = 0;
    a24c:	3000      	movi      	r0, 0
	
	for(i = 0; i < DataLen; i++)//i可能为0 ，也可以是1
    a24e:	644e      	cmpne      	r3, r1
    a250:	0802      	bt      	0xa254	// a254 <SOR_CRC+0xc>
	{
		sor_data = sor_data+Data[i];
	}
	return sor_data;
}
    a252:	783c      	jmp      	r15
		sor_data = sor_data+Data[i];
    a254:	8340      	ld.b      	r2, (r3, 0x0)
    a256:	6008      	addu      	r0, r2
    a258:	7400      	zextb      	r0, r0
    a25a:	2300      	addi      	r3, 1
    a25c:	07f9      	br      	0xa24e	// a24e <SOR_CRC+0x6>

Disassembly of section .text.Rs485_ASend:

0000a260 <Rs485_ASend>:

/*主动回复组包报文*/
void Rs485_ASend(U32_T valtim)
{
    a260:	14d1      	push      	r4, r15
    a262:	1427      	subi      	r14, r14, 28
	if(g_eeprom.dev_port != ACTIVE_PORT) return;	
    a264:	117f      	lrw      	r3, 0x20000524	// a360 <Rs485_ASend+0x100>
    a266:	8347      	ld.b      	r2, (r3, 0x7)
    a268:	3a42      	cmpnei      	r2, 2
{
    a26a:	6d03      	mov      	r4, r0
	if(g_eeprom.dev_port != ACTIVE_PORT) return;	
    a26c:	0870      	bt      	0xa34c	// a34c <Rs485_ASend+0xec>
	
	U8_T SendData[24];      //24个字节
	SendData[0] = 0x55;
    a26e:	3255      	movi      	r2, 85
    a270:	dc4e0004 	st.b      	r2, (r14, 0x4)
	SendData[1] = 0x55;
    a274:	dc4e0005 	st.b      	r2, (r14, 0x5)
	SendData[2] = 0xee;
    a278:	3200      	movi      	r2, 0
    a27a:	2a11      	subi      	r2, 18
    a27c:	dc4e0006 	st.b      	r2, (r14, 0x6)
	SendData[3] = 0x15;
    a280:	3215      	movi      	r2, 21
	
	SendData[4] = 0x03;    //类型
	SendData[5] = g_eeprom.dev_addr;                           
    a282:	8360      	ld.b      	r3, (r3, 0x0)
	SendData[3] = 0x15;
    a284:	dc4e0007 	st.b      	r2, (r14, 0x7)
	SendData[4] = 0x03;    //类型
    a288:	3203      	movi      	r2, 3
    a28a:	dc4e0008 	st.b      	r2, (r14, 0x8)
	SendData[5] = g_eeprom.dev_addr;                           
    a28e:	dc6e0009 	st.b      	r3, (r14, 0x9)
	
	SendData[6] = 0x00;    //Func0    温控器高字节，通常为0
    a292:	3300      	movi      	r3, 0
	SendData[7] = TempCtrl.TemState_Now.on_off;    //Func1    温控器低字节，0关 1开
    a294:	1154      	lrw      	r2, 0x2000083c	// a364 <Rs485_ASend+0x104>
	SendData[6] = 0x00;    //Func0    温控器高字节，通常为0
    a296:	dc6e000a 	st.b      	r3, (r14, 0xa)
	SendData[7] = TempCtrl.TemState_Now.on_off;    //Func1    温控器低字节，0关 1开
    a29a:	8262      	ld.b      	r3, (r2, 0x2)
    a29c:	4b27      	lsri      	r1, r3, 7
    a29e:	dc2e000b 	st.b      	r1, (r14, 0xb)
	SendData[8] = 0x00;    //Func2    模式高字节  通常为0
    a2a2:	3100      	movi      	r1, 0
    a2a4:	dc2e000c 	st.b      	r1, (r14, 0xc)
	if (TempCtrl.TemState_Now.mode == MODEL_COLD) {
    a2a8:	3170      	movi      	r1, 112
    a2aa:	68c4      	and      	r3, r1
    a2ac:	3b40      	cmpnei      	r3, 0
    a2ae:	081a      	bt      	0xa2e2	// a2e2 <Rs485_ASend+0x82>
		SendData[9] = 0x01;    //Func3    模式低字节  1制冷 2制热 3通风
    a2b0:	3301      	movi      	r3, 1
	}else if (TempCtrl.TemState_Now.mode == MODEL_HOT) {
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
	}else if (TempCtrl.TemState_Now.mode == MODEL_WIND) {
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a2b2:	dc6e000d 	st.b      	r3, (r14, 0xd)
	}
	
	SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);   //Func4    设定温度值高字节  整数值
    a2b6:	8261      	ld.b      	r3, (r2, 0x1)
    a2b8:	3b40      	cmpnei      	r3, 0
    a2ba:	0802      	bt      	0xa2be	// a2be <Rs485_ASend+0x5e>
    a2bc:	3320      	movi      	r3, 32
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a2be:	8202      	ld.b      	r0, (r2, 0x2)
	SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);   //Func4    设定温度值高字节  整数值
    a2c0:	dc6e000e 	st.b      	r3, (r14, 0xe)
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a2c4:	401c      	lsli      	r0, r0, 28
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
    a2c6:	3300      	movi      	r3, 0
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a2c8:	481d      	lsri      	r0, r0, 29
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
    a2ca:	dc6e000f 	st.b      	r3, (r14, 0xf)
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a2ce:	3304      	movi      	r3, 4
    a2d0:	60c2      	subu      	r3, r0
	switch(TempCtrl.TemState_Now.fan)
    a2d2:	3803      	cmphsi      	r0, 4
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a2d4:	dc6e0010 	st.b      	r3, (r14, 0x10)
	switch(TempCtrl.TemState_Now.fan)
    a2d8:	0842      	bt      	0xa35c	// a35c <Rs485_ASend+0xfc>
    a2da:	e3ffc911 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a2de:	390c      	.short	0x390c
    a2e0:	3d3b      	.short	0x3d3b
	}else if (TempCtrl.TemState_Now.mode == MODEL_HOT) {
    a2e2:	3120      	movi      	r1, 32
    a2e4:	644e      	cmpne      	r3, r1
    a2e6:	0803      	bt      	0xa2ec	// a2ec <Rs485_ASend+0x8c>
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
    a2e8:	3302      	movi      	r3, 2
    a2ea:	07e4      	br      	0xa2b2	// a2b2 <Rs485_ASend+0x52>
	}else if (TempCtrl.TemState_Now.mode == MODEL_WIND) {
    a2ec:	3140      	movi      	r1, 64
    a2ee:	644e      	cmpne      	r3, r1
    a2f0:	0be3      	bt      	0xa2b6	// a2b6 <Rs485_ASend+0x56>
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a2f2:	3303      	movi      	r3, 3
    a2f4:	07df      	br      	0xa2b2	// a2b2 <Rs485_ASend+0x52>
	{
		case FAN_LOW:   //低速
			SendData[13] = 0x03;
    a2f6:	3303      	movi      	r3, 3
			SendData[13] = 0x04;         //
			break;
	}
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
	SendData[15] = 0x00;   //Func9    温控器机器型号低字节
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a2f8:	8222      	ld.b      	r1, (r2, 0x2)
			SendData[13] = 0x04;         //
    a2fa:	dc6e0011 	st.b      	r3, (r14, 0x11)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a2fe:	413f      	lsli      	r1, r1, 31
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
    a300:	3300      	movi      	r3, 0
    a302:	dc6e0012 	st.b      	r3, (r14, 0x12)
	SendData[15] = 0x00;   //Func9    温控器机器型号低字节
    a306:	dc6e0013 	st.b      	r3, (r14, 0x13)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a30a:	493f      	lsri      	r1, r1, 31
	SendData[17] = 0x00;   //Func11   备用字节1
    a30c:	dc6e0015 	st.b      	r3, (r14, 0x15)
	SendData[18] = 0x00;   //Func12   备用字节2
    a310:	dc6e0016 	st.b      	r3, (r14, 0x16)
	SendData[19] = 0x00;   //Func13   备用字节3
    a314:	dc6e0017 	st.b      	r3, (r14, 0x17)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a318:	8260      	ld.b      	r3, (r2, 0x0)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a31a:	4123      	lsli      	r1, r1, 3
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a31c:	3b40      	cmpnei      	r3, 0
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a31e:	dc2e0014 	st.b      	r1, (r14, 0x14)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a322:	0802      	bt      	0xa326	// a326 <Rs485_ASend+0xc6>
    a324:	3320      	movi      	r3, 32
    a326:	dc6e0018 	st.b      	r3, (r14, 0x18)
	SendData[21] = 0x00;   //Func15   室内温度小数值
    a32a:	3300      	movi      	r3, 0
    a32c:	dc6e0019 	st.b      	r3, (r14, 0x19)
	
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a330:	1b01      	addi      	r3, r14, 4
    a332:	5b0a      	addi      	r0, r3, 3
    a334:	3115      	movi      	r1, 21
    a336:	e3ffff45 	bsr      	0xa1c0	// a1c0 <NetCRC16_Check>
	
	Set_GroupSend(SendData,24,BUSSend_Cnt,valtim,300);
    a33a:	3396      	movi      	r3, 150
    a33c:	4361      	lsli      	r3, r3, 1
    a33e:	b860      	st.w      	r3, (r14, 0x0)
    a340:	3201      	movi      	r2, 1
    a342:	6cd3      	mov      	r3, r4
    a344:	3118      	movi      	r1, 24
    a346:	1801      	addi      	r0, r14, 4
    a348:	e3ffe0d2 	bsr      	0x64ec	// 64ec <Set_GroupSend>
	
}
    a34c:	1407      	addi      	r14, r14, 28
    a34e:	1491      	pop      	r4, r15
			SendData[13] = 0x02;
    a350:	3302      	movi      	r3, 2
    a352:	07d3      	br      	0xa2f8	// a2f8 <Rs485_ASend+0x98>
			SendData[13] = 0x01;
    a354:	3301      	movi      	r3, 1
    a356:	07d1      	br      	0xa2f8	// a2f8 <Rs485_ASend+0x98>
			SendData[13] = 0x00;         //
    a358:	3300      	movi      	r3, 0
    a35a:	07cf      	br      	0xa2f8	// a2f8 <Rs485_ASend+0x98>
			SendData[13] = 0x04;         //
    a35c:	3304      	movi      	r3, 4
    a35e:	07cd      	br      	0xa2f8	// a2f8 <Rs485_ASend+0x98>
    a360:	20000524 	.long	0x20000524
    a364:	2000083c 	.long	0x2000083c

Disassembly of section .text.Rs485AskCycleSend:

0000a368 <Rs485AskCycleSend>:


/*轮询回复报文*/
void Rs485AskCycleSend(void)
{
    a368:	14d0      	push      	r15
    a36a:	1427      	subi      	r14, r14, 28
	U8_T SendData[24];      //24个字节
	SendData[0] = 0x55;
    a36c:	3355      	movi      	r3, 85
    a36e:	dc6e0004 	st.b      	r3, (r14, 0x4)
	SendData[1] = 0x55;
    a372:	dc6e0005 	st.b      	r3, (r14, 0x5)
	SendData[2] = 0xee;
    a376:	3300      	movi      	r3, 0
    a378:	2b11      	subi      	r3, 18
    a37a:	dc6e0006 	st.b      	r3, (r14, 0x6)
	SendData[3] = 0x15;
    a37e:	3315      	movi      	r3, 21
    a380:	dc6e0007 	st.b      	r3, (r14, 0x7)
	
	SendData[4] = 0x03;    //类型
    a384:	3303      	movi      	r3, 3
    a386:	dc6e0008 	st.b      	r3, (r14, 0x8)
	SendData[5] = g_eeprom.dev_addr;                           
    a38a:	1177      	lrw      	r3, 0x20000524	// a464 <Rs485AskCycleSend+0xfc>
    a38c:	8360      	ld.b      	r3, (r3, 0x0)
    a38e:	dc6e0009 	st.b      	r3, (r14, 0x9)
	
	SendData[6] = 0x00;    //Func0    温控器高字节，通常为0
    a392:	3300      	movi      	r3, 0
    a394:	dc6e000a 	st.b      	r3, (r14, 0xa)
	SendData[7] = TempCtrl.TemState_Now.on_off;    //Func1    温控器低字节，0关 1开
    a398:	1174      	lrw      	r3, 0x2000083c	// a468 <Rs485AskCycleSend+0x100>
    a39a:	8342      	ld.b      	r2, (r3, 0x2)
    a39c:	4a27      	lsri      	r1, r2, 7
    a39e:	dc2e000b 	st.b      	r1, (r14, 0xb)
	SendData[8] = 0x00;    //Func2    模式高字节  通常为0
    a3a2:	3100      	movi      	r1, 0
    a3a4:	dc2e000c 	st.b      	r1, (r14, 0xc)
	if (TempCtrl.TemState_Now.mode == MODEL_COLD) {
    a3a8:	3170      	movi      	r1, 112
    a3aa:	6884      	and      	r2, r1
    a3ac:	3a40      	cmpnei      	r2, 0
    a3ae:	081a      	bt      	0xa3e2	// a3e2 <Rs485AskCycleSend+0x7a>
		SendData[9] = 0x01;    //Func3    模式低字节  1制冷 2制热 3通风
    a3b0:	3201      	movi      	r2, 1
	}else if (TempCtrl.TemState_Now.mode == MODEL_HOT) {
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
	}else if (TempCtrl.TemState_Now.mode == MODEL_WIND) {
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a3b2:	dc4e000d 	st.b      	r2, (r14, 0xd)
	}
	
	SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);   //Func4    设定温度值高字节  整数值
    a3b6:	8341      	ld.b      	r2, (r3, 0x1)
    a3b8:	3a40      	cmpnei      	r2, 0
    a3ba:	0802      	bt      	0xa3be	// a3be <Rs485AskCycleSend+0x56>
    a3bc:	3220      	movi      	r2, 32
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a3be:	8302      	ld.b      	r0, (r3, 0x2)
	SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);   //Func4    设定温度值高字节  整数值
    a3c0:	dc4e000e 	st.b      	r2, (r14, 0xe)
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a3c4:	401c      	lsli      	r0, r0, 28
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
    a3c6:	3200      	movi      	r2, 0
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a3c8:	481d      	lsri      	r0, r0, 29
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
    a3ca:	dc4e000f 	st.b      	r2, (r14, 0xf)
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a3ce:	3204      	movi      	r2, 4
    a3d0:	6082      	subu      	r2, r0
	switch(TempCtrl.TemState_Now.fan)
    a3d2:	3803      	cmphsi      	r0, 4
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a3d4:	dc4e0010 	st.b      	r2, (r14, 0x10)
	switch(TempCtrl.TemState_Now.fan)
    a3d8:	0843      	bt      	0xa45e	// a45e <Rs485AskCycleSend+0xf6>
    a3da:	e3ffc891 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a3de:	3a0c      	.short	0x3a0c
    a3e0:	3e3c      	.short	0x3e3c
	}else if (TempCtrl.TemState_Now.mode == MODEL_HOT) {
    a3e2:	3120      	movi      	r1, 32
    a3e4:	644a      	cmpne      	r2, r1
    a3e6:	0803      	bt      	0xa3ec	// a3ec <Rs485AskCycleSend+0x84>
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
    a3e8:	3202      	movi      	r2, 2
    a3ea:	07e4      	br      	0xa3b2	// a3b2 <Rs485AskCycleSend+0x4a>
	}else if (TempCtrl.TemState_Now.mode == MODEL_WIND) {
    a3ec:	3140      	movi      	r1, 64
    a3ee:	644a      	cmpne      	r2, r1
    a3f0:	0be3      	bt      	0xa3b6	// a3b6 <Rs485AskCycleSend+0x4e>
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a3f2:	3203      	movi      	r2, 3
    a3f4:	07df      	br      	0xa3b2	// a3b2 <Rs485AskCycleSend+0x4a>
	{
		case FAN_LOW:   //低速
			SendData[13] = 0x03;
    a3f6:	3203      	movi      	r2, 3
			break;
		case FAN_AUTO:
			SendData[13] = 0x00;         //
			break;
		default:
			SendData[13] = 0x04;         //
    a3f8:	dc4e0011 	st.b      	r2, (r14, 0x11)
			break;
	}
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
    a3fc:	3200      	movi      	r2, 0
    a3fe:	dc4e0012 	st.b      	r2, (r14, 0x12)
	SendData[15] = 0x00;   //Func9    温控器机器型号低字节
    a402:	dc4e0013 	st.b      	r2, (r14, 0x13)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a406:	8342      	ld.b      	r2, (r3, 0x2)
    a408:	425f      	lsli      	r2, r2, 31
    a40a:	4a5f      	lsri      	r2, r2, 31
    a40c:	4243      	lsli      	r2, r2, 3
	SendData[17] = 0x00;   //Func11   备用字节1
	SendData[18] = 0x00;   //Func12   备用字节2
	SendData[19] = 0x00;   //Func13   备用字节3
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a40e:	8360      	ld.b      	r3, (r3, 0x0)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a410:	dc4e0014 	st.b      	r2, (r14, 0x14)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a414:	3b40      	cmpnei      	r3, 0
	SendData[17] = 0x00;   //Func11   备用字节1
    a416:	3200      	movi      	r2, 0
    a418:	dc4e0015 	st.b      	r2, (r14, 0x15)
	SendData[18] = 0x00;   //Func12   备用字节2
    a41c:	dc4e0016 	st.b      	r2, (r14, 0x16)
	SendData[19] = 0x00;   //Func13   备用字节3
    a420:	dc4e0017 	st.b      	r2, (r14, 0x17)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a424:	0802      	bt      	0xa428	// a428 <Rs485AskCycleSend+0xc0>
    a426:	3320      	movi      	r3, 32
    a428:	dc6e0018 	st.b      	r3, (r14, 0x18)
	SendData[21] = 0x00;   //Func15   室内温度小数值
    a42c:	3300      	movi      	r3, 0
    a42e:	dc6e0019 	st.b      	r3, (r14, 0x19)
	
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a432:	1b01      	addi      	r3, r14, 4
    a434:	5b0a      	addi      	r0, r3, 3
    a436:	3115      	movi      	r1, 21
    a438:	e3fffec4 	bsr      	0xa1c0	// a1c0 <NetCRC16_Check>
	
	//MCU485_SendData(SendData, 24);
	Set_GroupSend(SendData,24,1,BUSSend_ValidTime3,20);	//组包
    a43c:	3314      	movi      	r3, 20
    a43e:	b860      	st.w      	r3, (r14, 0x0)
    a440:	3396      	movi      	r3, 150
    a442:	4361      	lsli      	r3, r3, 1
    a444:	3201      	movi      	r2, 1
    a446:	3118      	movi      	r1, 24
    a448:	1801      	addi      	r0, r14, 4
    a44a:	e3ffe051 	bsr      	0x64ec	// 64ec <Set_GroupSend>
	
}
    a44e:	1407      	addi      	r14, r14, 28
    a450:	1490      	pop      	r15
			SendData[13] = 0x02;
    a452:	3202      	movi      	r2, 2
    a454:	07d2      	br      	0xa3f8	// a3f8 <Rs485AskCycleSend+0x90>
			SendData[13] = 0x01;
    a456:	3201      	movi      	r2, 1
    a458:	07d0      	br      	0xa3f8	// a3f8 <Rs485AskCycleSend+0x90>
			SendData[13] = 0x00;         //
    a45a:	3200      	movi      	r2, 0
    a45c:	07ce      	br      	0xa3f8	// a3f8 <Rs485AskCycleSend+0x90>
			SendData[13] = 0x04;         //
    a45e:	3204      	movi      	r2, 4
    a460:	07cc      	br      	0xa3f8	// a3f8 <Rs485AskCycleSend+0x90>
    a462:	0000      	bkpt
    a464:	20000524 	.long	0x20000524
    a468:	2000083c 	.long	0x2000083c

Disassembly of section .text.Rs485AskCtrlSend:

0000a46c <Rs485AskCtrlSend>:


/*控制回复报文*/
void Rs485AskCtrlSend(U8_T* Recdata)
{
    a46c:	14d0      	push      	r15
    a46e:	1424      	subi      	r14, r14, 16
	U8_T SendData[10];
	
	SendData[0] = 0x55;
    a470:	3355      	movi      	r3, 85
    a472:	dc6e0004 	st.b      	r3, (r14, 0x4)
	SendData[1] = 0x55;
    a476:	dc6e0005 	st.b      	r3, (r14, 0x5)
	SendData[2] = 0xee;  //头
    a47a:	3300      	movi      	r3, 0
    a47c:	2b11      	subi      	r3, 18
    a47e:	dc6e0006 	st.b      	r3, (r14, 0x6)
	
	SendData[3] = 0x07;  //长度
    a482:	3307      	movi      	r3, 7
    a484:	dc6e0007 	st.b      	r3, (r14, 0x7)
	SendData[4] = 0x03;  //类型
    a488:	3303      	movi      	r3, 3
    a48a:	dc6e0008 	st.b      	r3, (r14, 0x8)
	SendData[5] = g_eeprom.dev_addr;  
	SendData[6] = Recdata[6];//Rs485Tem.AskModeState;  //类型
	SendData[7] = Recdata[7];//0x01;  //内容
	
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a48e:	3107      	movi      	r1, 7
	SendData[5] = g_eeprom.dev_addr;  
    a490:	106d      	lrw      	r3, 0x20000524	// a4c4 <Rs485AskCtrlSend+0x58>
    a492:	8360      	ld.b      	r3, (r3, 0x0)
    a494:	dc6e0009 	st.b      	r3, (r14, 0x9)
	SendData[6] = Recdata[6];//Rs485Tem.AskModeState;  //类型
    a498:	8066      	ld.b      	r3, (r0, 0x6)
    a49a:	dc6e000a 	st.b      	r3, (r14, 0xa)
	SendData[7] = Recdata[7];//0x01;  //内容
    a49e:	8067      	ld.b      	r3, (r0, 0x7)
    a4a0:	dc6e000b 	st.b      	r3, (r14, 0xb)
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a4a4:	1b01      	addi      	r3, r14, 4
    a4a6:	5b0a      	addi      	r0, r3, 3
    a4a8:	e3fffe8c 	bsr      	0xa1c0	// a1c0 <NetCRC16_Check>

//	MCU485_SendData(SendData, 10);
	Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20);	//组包
    a4ac:	3314      	movi      	r3, 20
    a4ae:	b860      	st.w      	r3, (r14, 0x0)
    a4b0:	3396      	movi      	r3, 150
    a4b2:	4361      	lsli      	r3, r3, 1
    a4b4:	3201      	movi      	r2, 1
    a4b6:	310a      	movi      	r1, 10
    a4b8:	1801      	addi      	r0, r14, 4
    a4ba:	e3ffe019 	bsr      	0x64ec	// 64ec <Set_GroupSend>
	
}
    a4be:	1404      	addi      	r14, r14, 16
    a4c0:	1490      	pop      	r15
    a4c2:	0000      	bkpt
    a4c4:	20000524 	.long	0x20000524

Disassembly of section .text.Rs485AskReadSend:

0000a4c8 <Rs485AskReadSend>:


/*控制回复报文cmd:0x10*/
void Rs485AskReadSend(U8_T* Recdata)
{
    a4c8:	14d0      	push      	r15
    a4ca:	1424      	subi      	r14, r14, 16
	U8_T SendData[11];
	
	SendData[0] = 0x55;
    a4cc:	3355      	movi      	r3, 85
    a4ce:	dc6e0004 	st.b      	r3, (r14, 0x4)
	SendData[1] = 0x55;
    a4d2:	dc6e0005 	st.b      	r3, (r14, 0x5)
	SendData[2] = 0xee;  //头
    a4d6:	3300      	movi      	r3, 0
    a4d8:	2b11      	subi      	r3, 18
    a4da:	dc6e0006 	st.b      	r3, (r14, 0x6)
	
	SendData[3] = 0x09;  //长度
    a4de:	3309      	movi      	r3, 9
    a4e0:	dc6e0007 	st.b      	r3, (r14, 0x7)
	SendData[4] = 0x03;  //类型
    a4e4:	3303      	movi      	r3, 3
    a4e6:	dc6e0008 	st.b      	r3, (r14, 0x8)
	SendData[6] = Recdata[6];
	SendData[7] = Project_FW_Version;
	SendData[8] = Project_HW_Version;
	SendData[9] = g_eeprom.dev_port;	//所处RCU端口  2024-12-16
	
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a4ea:	3109      	movi      	r1, 9
	SendData[5] = g_eeprom.dev_addr; 
    a4ec:	1070      	lrw      	r3, 0x20000524	// a52c <Rs485AskReadSend+0x64>
    a4ee:	8340      	ld.b      	r2, (r3, 0x0)
    a4f0:	dc4e0009 	st.b      	r2, (r14, 0x9)
	SendData[9] = g_eeprom.dev_port;	//所处RCU端口  2024-12-16
    a4f4:	8367      	ld.b      	r3, (r3, 0x7)
	SendData[6] = Recdata[6];
    a4f6:	8046      	ld.b      	r2, (r0, 0x6)
    a4f8:	dc4e000a 	st.b      	r2, (r14, 0xa)
	SendData[9] = g_eeprom.dev_port;	//所处RCU端口  2024-12-16
    a4fc:	dc6e000d 	st.b      	r3, (r14, 0xd)
	SendData[7] = Project_FW_Version;
    a500:	3204      	movi      	r2, 4
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a502:	1b01      	addi      	r3, r14, 4
	SendData[7] = Project_FW_Version;
    a504:	dc4e000b 	st.b      	r2, (r14, 0xb)
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a508:	5b0a      	addi      	r0, r3, 3
	SendData[8] = Project_HW_Version;
    a50a:	3202      	movi      	r2, 2
    a50c:	dc4e000c 	st.b      	r2, (r14, 0xc)
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a510:	e3fffe58 	bsr      	0xa1c0	// a1c0 <NetCRC16_Check>
	
//	MCU485_SendData(SendData, 12);
	Set_GroupSend(SendData,12,1,BUSSend_ValidTime3,20);	//组包
    a514:	3314      	movi      	r3, 20
    a516:	b860      	st.w      	r3, (r14, 0x0)
    a518:	3396      	movi      	r3, 150
    a51a:	4361      	lsli      	r3, r3, 1
    a51c:	3201      	movi      	r2, 1
    a51e:	310c      	movi      	r1, 12
    a520:	1801      	addi      	r0, r14, 4
    a522:	e3ffdfe5 	bsr      	0x64ec	// 64ec <Set_GroupSend>
}
    a526:	1404      	addi      	r14, r14, 16
    a528:	1490      	pop      	r15
    a52a:	0000      	bkpt
    a52c:	20000524 	.long	0x20000524

Disassembly of section .text.Rs485_DevPort_ACK:

0000a530 <Rs485_DevPort_ACK>:

/*设置端口回复报文cmd:0x12*/
void Rs485_DevPort_ACK(U8_T* Recdata,U8_T Lens)
{
    a530:	14d0      	push      	r15
    a532:	1421      	subi      	r14, r14, 4

//	MCU485_SendData(Recdata, Lens);
	
	Set_GroupSend(Recdata,Lens,1,BUSSend_ValidTime3,20);	//组包
    a534:	3314      	movi      	r3, 20
    a536:	b860      	st.w      	r3, (r14, 0x0)
    a538:	3396      	movi      	r3, 150
    a53a:	7445      	zexth      	r1, r1
    a53c:	4361      	lsli      	r3, r3, 1
    a53e:	3201      	movi      	r2, 1
    a540:	e3ffdfd6 	bsr      	0x64ec	// 64ec <Set_GroupSend>
}
    a544:	1401      	addi      	r14, r14, 4
    a546:	1490      	pop      	r15

Disassembly of section .text.Temp_Rec_Analysis:

0000a548 <Temp_Rec_Analysis>:

U8_T Temp_Rec_Analysis(U8_T *RecData, U16_T Len)
{
    a548:	14d3      	push      	r4-r6, r15
	U8_T ret = 0;
	U16_T Crc_buf;   //正确报文校验保存
	
	if((0x09 != Len) && (0x0A != Len))
    a54a:	3300      	movi      	r3, 0
    a54c:	2b08      	subi      	r3, 9
    a54e:	60c4      	addu      	r3, r1
    a550:	74cd      	zexth      	r3, r3
    a552:	3b01      	cmphsi      	r3, 2
{
    a554:	6d03      	mov      	r4, r0
    a556:	6d47      	mov      	r5, r1
	if((0x09 != Len) && (0x0A != Len))
    a558:	08c8      	bt      	0xa6e8	// a6e8 <Temp_Rec_Analysis+0x1a0>
	{
		return 0x01;
	}

	if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) )
    a55a:	8060      	ld.b      	r3, (r0, 0x0)
    a55c:	3255      	movi      	r2, 85
    a55e:	648e      	cmpne      	r3, r2
    a560:	08c0      	bt      	0xa6e0	// a6e0 <Temp_Rec_Analysis+0x198>
    a562:	8041      	ld.b      	r2, (r0, 0x1)
    a564:	64ca      	cmpne      	r2, r3
    a566:	08bd      	bt      	0xa6e0	// a6e0 <Temp_Rec_Analysis+0x198>
    a568:	8042      	ld.b      	r2, (r0, 0x2)
    a56a:	33ee      	movi      	r3, 238
    a56c:	64ca      	cmpne      	r2, r3
    a56e:	08b9      	bt      	0xa6e0	// a6e0 <Temp_Rec_Analysis+0x198>
	{
		return 0x02;
	}
	if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4]) || (g_eeprom.dev_addr != RecData[5]) )
    a570:	8023      	ld.b      	r1, (r0, 0x3)
    a572:	596a      	addi      	r3, r1, 3
    a574:	654e      	cmpne      	r3, r5
    a576:	08b7      	bt      	0xa6e4	// a6e4 <Temp_Rec_Analysis+0x19c>
    a578:	8004      	ld.b      	r0, (r0, 0x4)
    a57a:	3843      	cmpnei      	r0, 3
    a57c:	08b4      	bt      	0xa6e4	// a6e4 <Temp_Rec_Analysis+0x19c>
    a57e:	12dc      	lrw      	r6, 0x20000524	// a6ec <Temp_Rec_Analysis+0x1a4>
    a580:	8640      	ld.b      	r2, (r6, 0x0)
    a582:	8465      	ld.b      	r3, (r4, 0x5)
    a584:	64ca      	cmpne      	r2, r3
    a586:	08ae      	bt      	0xa6e2	// a6e2 <Temp_Rec_Analysis+0x19a>
	{
		return 0x03;
	}
	
	Crc_buf = GetCRC16(&RecData[3], RecData[3]-2);
    a588:	2901      	subi      	r1, 2
    a58a:	7445      	zexth      	r1, r1
    a58c:	5c0a      	addi      	r0, r4, 3
    a58e:	e3fffe3f 	bsr      	0xa20c	// a20c <GetCRC16>
	if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8)))   //校验通过
    a592:	5c54      	addu      	r2, r4, r5
    a594:	5a63      	subi      	r3, r2, 1
    a596:	8360      	ld.b      	r3, (r3, 0x0)
    a598:	2a01      	subi      	r2, 2
    a59a:	4368      	lsli      	r3, r3, 8
    a59c:	8240      	ld.b      	r2, (r2, 0x0)
    a59e:	60c8      	addu      	r3, r2
    a5a0:	64c2      	cmpne      	r0, r3
    a5a2:	08a3      	bt      	0xa6e8	// a6e8 <Temp_Rec_Analysis+0x1a0>
	{
		switch(RecData[6])
    a5a4:	8406      	ld.b      	r0, (r4, 0x6)
    a5a6:	2800      	subi      	r0, 1
    a5a8:	3811      	cmphsi      	r0, 18
    a5aa:	0811      	bt      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
    a5ac:	e3ffc7a8 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a5b0:	1e1e1e1e 	.long	0x1e1e1e1e
    a5b4:	0e0e0e0e 	.long	0x0e0e0e0e
    a5b8:	0e0e090e 	.long	0x0e0e090e
    a5bc:	220e0e0e 	.long	0x220e0e0e
    a5c0:	3926      	.short	0x3926
		{
			case 0x0A:
				if(g_eeprom.dev_port == ACTIVE_PORT)
    a5c2:	8667      	ld.b      	r3, (r6, 0x7)
    a5c4:	3b42      	cmpnei      	r3, 2
    a5c6:	080c      	bt      	0xa5de	// a5de <Temp_Rec_Analysis+0x96>
				{
					Clear_SendFlag();
    a5c8:	e3ffdfc4 	bsr      	0x6550	// 6550 <Clear_SendFlag>
					}

				}
				break;
		}
		switch(RecData[6])      
    a5cc:	8406      	ld.b      	r0, (r4, 0x6)
    a5ce:	2800      	subi      	r0, 1
    a5d0:	3803      	cmphsi      	r0, 4
    a5d2:	0808      	bt      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
    a5d4:	8467      	ld.b      	r3, (r4, 0x7)
    a5d6:	e3ffc793 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a5da:	4836      	.short	0x4836
    a5dc:	7060      	.short	0x7060
				else if(g_eeprom.dev_port == POLLING_PORT)
    a5de:	3b41      	cmpnei      	r3, 1
    a5e0:	0c03      	bf      	0xa5e6	// a5e6 <Temp_Rec_Analysis+0x9e>
						break;			
				}
				break;
		}
		
		return ret;
    a5e2:	3000      	movi      	r0, 0
    a5e4:	047f      	br      	0xa6e2	// a6e2 <Temp_Rec_Analysis+0x19a>
					Rs485AskCycleSend();
    a5e6:	e3fffec1 	bsr      	0xa368	// a368 <Rs485AskCycleSend>
    a5ea:	07f1      	br      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
				Rs485AskCtrlSend(RecData);
    a5ec:	6c13      	mov      	r0, r4
    a5ee:	e3ffff3f 	bsr      	0xa46c	// a46c <Rs485AskCtrlSend>
    a5f2:	07ed      	br      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
				Rs485AskReadSend(RecData);     //版本号查询
    a5f4:	6c13      	mov      	r0, r4
    a5f6:	e3ffff69 	bsr      	0xa4c8	// a4c8 <Rs485AskReadSend>
    a5fa:	07e9      	br      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
				Rs485AskCtrlSend(RecData);
    a5fc:	6c13      	mov      	r0, r4
				Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn);
    a5fe:	11bd      	lrw      	r5, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
				Rs485AskCtrlSend(RecData);
    a600:	e3ffff36 	bsr      	0xa46c	// a46c <Rs485AskCtrlSend>
				Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn);
    a604:	855a      	ld.b      	r2, (r5, 0x1a)
    a606:	113c      	lrw      	r1, 0xcfed	// a6f4 <Temp_Rec_Analysis+0x1ac>
    a608:	3000      	movi      	r0, 0
    a60a:	e3ffe019 	bsr      	0x663c	// 663c <Dbg_Println>
				if(TempCtrl.CardEn != RecData[7])   //00:关闭    01：开启
    a60e:	8467      	ld.b      	r3, (r4, 0x7)
    a610:	855a      	ld.b      	r2, (r5, 0x1a)
    a612:	64ca      	cmpne      	r2, r3
    a614:	0fdc      	bf      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
					if(TempCtrl.CardEn == 0x00)
    a616:	3b40      	cmpnei      	r3, 0
					TempCtrl.CardEn = RecData[7];
    a618:	a57a      	st.b      	r3, (r5, 0x1a)
					if(TempCtrl.CardEn == 0x00)
    a61a:	0bd9      	bt      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
						TempCtrl.CardState = 0x01;
    a61c:	3301      	movi      	r3, 1
    a61e:	a578      	st.b      	r3, (r5, 0x18)
    a620:	07d6      	br      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
				if(RecData[7] != g_eeprom.dev_port)
    a622:	8467      	ld.b      	r3, (r4, 0x7)
    a624:	8647      	ld.b      	r2, (r6, 0x7)
    a626:	64ca      	cmpne      	r2, r3
    a628:	0fdd      	bf      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
					EEPROM_WriteParaInfo(&g_eeprom);
    a62a:	1111      	lrw      	r0, 0x20000524	// a6ec <Temp_Rec_Analysis+0x1a4>
					g_eeprom.dev_port = RecData[7];
    a62c:	a667      	st.b      	r3, (r6, 0x7)
					EEPROM_WriteParaInfo(&g_eeprom);
    a62e:	e3ffe51f 	bsr      	0x706c	// 706c <EEPROM_WriteParaInfo>
					rev_val = EEPROM_ReadParaInfo(&g_eeprom);
    a632:	110f      	lrw      	r0, 0x20000524	// a6ec <Temp_Rec_Analysis+0x1a4>
    a634:	e3ffe4e2 	bsr      	0x6ff8	// 6ff8 <EEPROM_ReadParaInfo>
					if(rev_val == 0x00){
    a638:	3840      	cmpnei      	r0, 0
    a63a:	0bc9      	bt      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
						Rs485_DevPort_ACK(RecData,Len);
    a63c:	7454      	zextb      	r1, r5
    a63e:	6c13      	mov      	r0, r4
    a640:	e3ffff78 	bsr      	0xa530	// a530 <Rs485_DevPort_ACK>
    a644:	07c4      	br      	0xa5cc	// a5cc <Temp_Rec_Analysis+0x84>
				switch(RecData[7])     
    a646:	74cc      	zextb      	r3, r3
    a648:	3b40      	cmpnei      	r3, 0
    a64a:	0c0a      	bf      	0xa65e	// a65e <Temp_Rec_Analysis+0x116>
    a64c:	3b41      	cmpnei      	r3, 1
    a64e:	0bca      	bt      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.on_off = TEMP_ON;      //开机
    a650:	1128      	lrw      	r1, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a652:	3200      	movi      	r2, 0
    a654:	8162      	ld.b      	r3, (r1, 0x2)
    a656:	2a7f      	subi      	r2, 128
    a658:	6cc8      	or      	r3, r2
    a65a:	a162      	st.b      	r3, (r1, 0x2)
    a65c:	07c3      	br      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.on_off = TEMP_OFF;     //关机
    a65e:	1145      	lrw      	r2, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a660:	8262      	ld.b      	r3, (r2, 0x2)
    a662:	317f      	movi      	r1, 127
    a664:	68c4      	and      	r3, r1
						TempCtrl.TemState_Now.mode = MODEL_COLD;     //制冷
    a666:	a262      	st.b      	r3, (r2, 0x2)
    a668:	07bd      	br      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
				switch(RecData[7])          //
    a66a:	74cc      	zextb      	r3, r3
    a66c:	3b42      	cmpnei      	r3, 2
    a66e:	0c0a      	bf      	0xa682	// a682 <Temp_Rec_Analysis+0x13a>
    a670:	3b43      	cmpnei      	r3, 3
    a672:	0c0e      	bf      	0xa68e	// a68e <Temp_Rec_Analysis+0x146>
    a674:	3b41      	cmpnei      	r3, 1
    a676:	0bb6      	bt      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.mode = MODEL_COLD;     //制冷
    a678:	105e      	lrw      	r2, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a67a:	8262      	ld.b      	r3, (r2, 0x2)
    a67c:	3170      	movi      	r1, 112
    a67e:	68c5      	andn      	r3, r1
    a680:	07f3      	br      	0xa666	// a666 <Temp_Rec_Analysis+0x11e>
						TempCtrl.TemState_Now.mode = MODEL_HOT;      //制热
    a682:	105c      	lrw      	r2, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a684:	8262      	ld.b      	r3, (r2, 0x2)
    a686:	3170      	movi      	r1, 112
    a688:	68c5      	andn      	r3, r1
    a68a:	3ba5      	bseti      	r3, 5
    a68c:	07ed      	br      	0xa666	// a666 <Temp_Rec_Analysis+0x11e>
						TempCtrl.TemState_Now.mode = MODEL_WIND;     //送风
    a68e:	1059      	lrw      	r2, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a690:	8262      	ld.b      	r3, (r2, 0x2)
    a692:	3170      	movi      	r1, 112
    a694:	68c5      	andn      	r3, r1
    a696:	3ba6      	bseti      	r3, 6
    a698:	07e7      	br      	0xa666	// a666 <Temp_Rec_Analysis+0x11e>
				if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET))  //在指定温度范围内
    a69a:	3200      	movi      	r2, 0
    a69c:	74cc      	zextb      	r3, r3
    a69e:	2a0f      	subi      	r2, 16
    a6a0:	608c      	addu      	r2, r3
    a6a2:	7488      	zextb      	r2, r2
    a6a4:	3a0f      	cmphsi      	r2, 16
    a6a6:	0804      	bt      	0xa6ae	// a6ae <Temp_Rec_Analysis+0x166>
					TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f);  
    a6a8:	1052      	lrw      	r2, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a6aa:	a261      	st.b      	r3, (r2, 0x1)
    a6ac:	079b      	br      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
				}else if(RecData[7] == TEM_MAX_SET){
    a6ae:	3220      	movi      	r2, 32
    a6b0:	648e      	cmpne      	r3, r2
    a6b2:	0b98      	bt      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
					TempCtrl.TemState_Now.set_t = (RecData[7]&0x20);
    a6b4:	106f      	lrw      	r3, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
    a6b6:	a341      	st.b      	r2, (r3, 0x1)
    a6b8:	0795      	br      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
				switch(RecData[7])                 //风速
    a6ba:	740c      	zextb      	r0, r3
    a6bc:	106d      	lrw      	r3, 0x2000083c	// a6f0 <Temp_Rec_Analysis+0x1a8>
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a6be:	8342      	ld.b      	r2, (r3, 0x2)
    a6c0:	310e      	movi      	r1, 14
				switch(RecData[7])                 //风速
    a6c2:	3803      	cmphsi      	r0, 4
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a6c4:	6885      	andn      	r2, r1
				switch(RecData[7])                 //风速
    a6c6:	0807      	bt      	0xa6d4	// a6d4 <Temp_Rec_Analysis+0x18c>
    a6c8:	e3ffc71a 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a6cc:	04080602 	.long	0x04080602
						TempCtrl.TemState_Now.fan = FAN_AUTO;      //自动风
    a6d0:	3aa1      	bseti      	r2, 1
    a6d2:	3aa2      	bseti      	r2, 2
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a6d4:	a342      	st.b      	r2, (r3, 0x2)
    a6d6:	0786      	br      	0xa5e2	// a5e2 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.fan = FAN_HIGH;      //高风速
    a6d8:	3aa2      	bseti      	r2, 2
    a6da:	07fd      	br      	0xa6d4	// a6d4 <Temp_Rec_Analysis+0x18c>
						TempCtrl.TemState_Now.fan = FAN_MID;       //中风速
    a6dc:	3aa1      	bseti      	r2, 1
    a6de:	07fb      	br      	0xa6d4	// a6d4 <Temp_Rec_Analysis+0x18c>
		return 0x02;
    a6e0:	3002      	movi      	r0, 2
	}
	else
	{
		return ret = 0x01;
	}
}
    a6e2:	1493      	pop      	r4-r6, r15
		return 0x03;
    a6e4:	3003      	movi      	r0, 3
    a6e6:	07fe      	br      	0xa6e2	// a6e2 <Temp_Rec_Analysis+0x19a>
		return 0x01;
    a6e8:	3001      	movi      	r0, 1
    a6ea:	07fc      	br      	0xa6e2	// a6e2 <Temp_Rec_Analysis+0x19a>
    a6ec:	20000524 	.long	0x20000524
    a6f0:	2000083c 	.long	0x2000083c
    a6f4:	0000cfed 	.long	0x0000cfed

Disassembly of section .text.Tem_Rs485_Rec_Pro:

0000a6f8 <Tem_Rs485_Rec_Pro>:
 *   Len       数据长度
 * 输出  ：无
 * 调用  ：无
 *************************************************************************/
U8_T Tem_Rs485_Rec_Pro(U8_T *RecData, U16_T Len)
{
    a6f8:	14d2      	push      	r4-r5, r15
    a6fa:	6d43      	mov      	r5, r0
    a6fc:	6d07      	mov      	r4, r1
	U8_T ret = 0x00;
	if(Temp_Rec_Analysis(RecData,Len) != 0x00)      
    a6fe:	e3ffff25 	bsr      	0xa548	// a548 <Temp_Rec_Analysis>
    a702:	3840      	cmpnei      	r0, 0
    a704:	0803      	bt      	0xa70a	// a70a <Tem_Rs485_Rec_Pro+0x12>
		{
			return ret = 1;
		}
	}
	
	return ret;
    a706:	3000      	movi      	r0, 0
			Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo);
    a708:	0404      	br      	0xa710	// a710 <Tem_Rs485_Rec_Pro+0x18>
		if (Len < 5){         //长度校验 
    a70a:	3c04      	cmphsi      	r4, 5
    a70c:	0803      	bt      	0xa712	// a712 <Tem_Rs485_Rec_Pro+0x1a>
			return ret = 1;
    a70e:	3001      	movi      	r0, 1
    a710:	1492      	pop      	r4-r5, r15
		if(RecData[0] != 0xFF && RecData[1] != 0x08)          
    a712:	8540      	ld.b      	r2, (r5, 0x0)
    a714:	33ff      	movi      	r3, 255
    a716:	64ca      	cmpne      	r2, r3
    a718:	0c04      	bf      	0xa720	// a720 <Tem_Rs485_Rec_Pro+0x28>
    a71a:	8561      	ld.b      	r3, (r5, 0x1)
    a71c:	3b48      	cmpnei      	r3, 8
    a71e:	0bf8      	bt      	0xa70e	// a70e <Tem_Rs485_Rec_Pro+0x16>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Tem_Rs485_Rec_Pro");
    a720:	1125      	lrw      	r1, 0xcffc	// a7b4 <Tem_Rs485_Rec_Pro+0xbc>
    a722:	3000      	movi      	r0, 0
    a724:	e3ffdf8c 	bsr      	0x663c	// 663c <Dbg_Println>
		if(Len == 0x05 && RecData[4]==SOR_CRC(RecData,4))           //长度为5的旧版协议广播数据
    a728:	3c45      	cmpnei      	r4, 5
    a72a:	0814      	bt      	0xa752	// a752 <Tem_Rs485_Rec_Pro+0x5a>
    a72c:	3104      	movi      	r1, 4
    a72e:	6c17      	mov      	r0, r5
    a730:	e3fffd8c 	bsr      	0xa248	// a248 <SOR_CRC>
    a734:	8564      	ld.b      	r3, (r5, 0x4)
    a736:	640e      	cmpne      	r3, r0
    a738:	0beb      	bt      	0xa70e	// a70e <Tem_Rs485_Rec_Pro+0x16>
			if(TempCtrl.CardState != RecData[2] && TempCtrl.CardEn == 0x01)    //启用了插卡状态功能
    a73a:	1160      	lrw      	r3, 0x2000083c	// a7b8 <Tem_Rs485_Rec_Pro+0xc0>
    a73c:	8542      	ld.b      	r2, (r5, 0x2)
    a73e:	8338      	ld.b      	r1, (r3, 0x18)
    a740:	6486      	cmpne      	r1, r2
    a742:	0fe2      	bf      	0xa706	// a706 <Tem_Rs485_Rec_Pro+0xe>
    a744:	833a      	ld.b      	r1, (r3, 0x1a)
    a746:	3941      	cmpnei      	r1, 1
    a748:	0bdf      	bt      	0xa706	// a706 <Tem_Rs485_Rec_Pro+0xe>
				TempCtrl.CardState = RecData[2];
    a74a:	a358      	st.b      	r2, (r3, 0x18)
				TempCtrl.CardFlag = 0x01;
    a74c:	3201      	movi      	r2, 1
    a74e:	a359      	st.b      	r2, (r3, 0x19)
    a750:	07db      	br      	0xa706	// a706 <Tem_Rs485_Rec_Pro+0xe>
		else if((Len >= 0x0A) && (GetCRC16(RecData, (Len-2)) == (RecData[Len-2]+(RecData[Len-1]<<8))))   //长度不固定的新版协议广播数据
    a752:	3c09      	cmphsi      	r4, 10
    a754:	0fdd      	bf      	0xa70e	// a70e <Tem_Rs485_Rec_Pro+0x16>
    a756:	5c27      	subi      	r1, r4, 2
    a758:	7445      	zexth      	r1, r1
    a75a:	6114      	addu      	r4, r5
    a75c:	6c17      	mov      	r0, r5
    a75e:	e3fffd57 	bsr      	0xa20c	// a20c <GetCRC16>
    a762:	5c63      	subi      	r3, r4, 1
    a764:	8360      	ld.b      	r3, (r3, 0x0)
    a766:	2c01      	subi      	r4, 2
    a768:	4368      	lsli      	r3, r3, 8
    a76a:	8440      	ld.b      	r2, (r4, 0x0)
    a76c:	60c8      	addu      	r3, r2
    a76e:	64c2      	cmpne      	r0, r3
    a770:	0bcf      	bt      	0xa70e	// a70e <Tem_Rs485_Rec_Pro+0x16>
			if(TempCtrl.CardState != RecData[3] && TempCtrl.CardEn == 0x01)    //启用了插卡状态功能      2024-04-17  修正判断条件1错误导致定期亮屏问题
    a772:	1072      	lrw      	r3, 0x2000083c	// a7b8 <Tem_Rs485_Rec_Pro+0xc0>
    a774:	8543      	ld.b      	r2, (r5, 0x3)
    a776:	8338      	ld.b      	r1, (r3, 0x18)
    a778:	6486      	cmpne      	r1, r2
    a77a:	0c07      	bf      	0xa788	// a788 <Tem_Rs485_Rec_Pro+0x90>
    a77c:	833a      	ld.b      	r1, (r3, 0x1a)
    a77e:	3941      	cmpnei      	r1, 1
    a780:	0804      	bt      	0xa788	// a788 <Tem_Rs485_Rec_Pro+0x90>
				TempCtrl.CardState = RecData[3];
    a782:	a358      	st.b      	r2, (r3, 0x18)
				TempCtrl.CardFlag = 0x01;
    a784:	3201      	movi      	r2, 1
    a786:	a359      	st.b      	r2, (r3, 0x19)
			if(TempCtrl.SceneNo != RecData[7])
    a788:	8547      	ld.b      	r2, (r5, 0x7)
    a78a:	833b      	ld.b      	r1, (r3, 0x1b)
    a78c:	6486      	cmpne      	r1, r2
    a78e:	0c0d      	bf      	0xa7a8	// a7a8 <Tem_Rs485_Rec_Pro+0xb0>
				TempCtrl.SceneNo = RecData[7];
    a790:	a35b      	st.b      	r2, (r3, 0x1b)
				TempCtrl.SceneNoTick = SysTick_1ms;
    a792:	104b      	lrw      	r2, 0x200000c0	// a7bc <Tem_Rs485_Rec_Pro+0xc4>
    a794:	9240      	ld.w      	r2, (r2, 0x0)
    a796:	4a28      	lsri      	r1, r2, 8
    a798:	a354      	st.b      	r2, (r3, 0x14)
    a79a:	a335      	st.b      	r1, (r3, 0x15)
    a79c:	4a30      	lsri      	r1, r2, 16
    a79e:	4a58      	lsri      	r2, r2, 24
    a7a0:	a357      	st.b      	r2, (r3, 0x17)
				TempCtrl.SceneFlag = 0x01;
    a7a2:	3201      	movi      	r2, 1
				TempCtrl.SceneNoTick = SysTick_1ms;
    a7a4:	a336      	st.b      	r1, (r3, 0x16)
				TempCtrl.SceneFlag = 0x01;
    a7a6:	a35c      	st.b      	r2, (r3, 0x1c)
			Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo);
    a7a8:	835b      	ld.b      	r2, (r3, 0x1b)
    a7aa:	1026      	lrw      	r1, 0xd00e	// a7c0 <Tem_Rs485_Rec_Pro+0xc8>
    a7ac:	3000      	movi      	r0, 0
    a7ae:	e3ffdf47 	bsr      	0x663c	// 663c <Dbg_Println>
    a7b2:	07aa      	br      	0xa706	// a706 <Tem_Rs485_Rec_Pro+0xe>
    a7b4:	0000cffc 	.long	0x0000cffc
    a7b8:	2000083c 	.long	0x2000083c
    a7bc:	200000c0 	.long	0x200000c0
    a7c0:	0000d00e 	.long	0x0000d00e

Disassembly of section .text.TK_ConfigInterrupt_CMD.part.0:

0000a7c4 <TK_ConfigInterrupt_CMD.part.0>:
    a7c4:	1063      	lrw      	r3, 0x20000058	// a7d0 <TK_ConfigInterrupt_CMD.part.0+0xc>
    a7c6:	9340      	ld.w      	r2, (r3, 0x0)
    a7c8:	926b      	ld.w      	r3, (r2, 0x2c)
    a7ca:	6c0c      	or      	r0, r3
    a7cc:	b20b      	st.w      	r0, (r2, 0x2c)
    a7ce:	783c      	jmp      	r15
    a7d0:	20000058 	.long	0x20000058

Disassembly of section .text.tk_clk_config:

0000a7d4 <tk_clk_config>:
    a7d4:	14c1      	push      	r4
    a7d6:	1069      	lrw      	r3, 0x20000058	// a7f8 <tk_clk_config+0x24>
    a7d8:	3840      	cmpnei      	r0, 0
    a7da:	9380      	ld.w      	r4, (r3, 0x0)
    a7dc:	9400      	ld.w      	r0, (r4, 0x0)
    a7de:	0c0b      	bf      	0xa7f4	// a7f4 <tk_clk_config+0x20>
    a7e0:	38a0      	bseti      	r0, 0
    a7e2:	b400      	st.w      	r0, (r4, 0x0)
    a7e4:	9360      	ld.w      	r3, (r3, 0x0)
    a7e6:	4248      	lsli      	r2, r2, 8
    a7e8:	4122      	lsli      	r1, r1, 2
    a7ea:	9300      	ld.w      	r0, (r3, 0x0)
    a7ec:	6c48      	or      	r1, r2
    a7ee:	6c40      	or      	r1, r0
    a7f0:	b320      	st.w      	r1, (r3, 0x0)
    a7f2:	1481      	pop      	r4
    a7f4:	3880      	bclri      	r0, 0
    a7f6:	07f6      	br      	0xa7e2	// a7e2 <tk_clk_config+0xe>
    a7f8:	20000058 	.long	0x20000058

Disassembly of section .text.TK_con0_config:

0000a7fc <TK_con0_config>:
    a7fc:	14c4      	push      	r4-r7
    a7fe:	1429      	subi      	r14, r14, 36
    a800:	b840      	st.w      	r2, (r14, 0x0)
    a802:	984d      	ld.w      	r2, (r14, 0x34)
    a804:	b841      	st.w      	r2, (r14, 0x4)
    a806:	984e      	ld.w      	r2, (r14, 0x38)
    a808:	b842      	st.w      	r2, (r14, 0x8)
    a80a:	984f      	ld.w      	r2, (r14, 0x3c)
    a80c:	b843      	st.w      	r2, (r14, 0xc)
    a80e:	9850      	ld.w      	r2, (r14, 0x40)
    a810:	9895      	ld.w      	r4, (r14, 0x54)
    a812:	b844      	st.w      	r2, (r14, 0x10)
    a814:	9853      	ld.w      	r2, (r14, 0x4c)
    a816:	b845      	st.w      	r2, (r14, 0x14)
    a818:	b887      	st.w      	r4, (r14, 0x1c)
    a81a:	9854      	ld.w      	r2, (r14, 0x50)
    a81c:	1c11      	addi      	r4, r14, 68
    a81e:	b846      	st.w      	r2, (r14, 0x18)
    a820:	8c80      	ld.h      	r4, (r4, 0x0)
    a822:	1a15      	addi      	r2, r14, 84
    a824:	1d12      	addi      	r5, r14, 72
    a826:	8244      	ld.b      	r2, (r2, 0x4)
    a828:	3c40      	cmpnei      	r4, 0
    a82a:	8dc0      	ld.h      	r6, (r5, 0x0)
    a82c:	b848      	st.w      	r2, (r14, 0x20)
    a82e:	0813      	bt      	0xa854	// a854 <TK_con0_config+0x58>
    a830:	105f      	lrw      	r2, 0x2000004c	// a8ac <TK_con0_config+0xb0>
    a832:	35f0      	movi      	r5, 240
    a834:	92e0      	ld.w      	r7, (r2, 0x0)
    a836:	9740      	ld.w      	r2, (r7, 0x0)
    a838:	45a4      	lsli      	r5, r5, 4
    a83a:	6895      	andn      	r2, r5
    a83c:	3aab      	bseti      	r2, 11
    a83e:	b740      	st.w      	r2, (r7, 0x0)
    a840:	3502      	movi      	r5, 2
    a842:	105c      	lrw      	r2, 0x20000050	// a8b0 <TK_con0_config+0xb4>
    a844:	3e41      	cmpnei      	r6, 1
    a846:	9240      	ld.w      	r2, (r2, 0x0)
    a848:	b2a0      	st.w      	r5, (r2, 0x0)
    a84a:	0828      	bt      	0xa89a	// a89a <TK_con0_config+0x9e>
    a84c:	92a4      	ld.w      	r5, (r2, 0x10)
    a84e:	3db8      	bseti      	r5, 24
    a850:	3db9      	bseti      	r5, 25
    a852:	b2a4      	st.w      	r5, (r2, 0x10)
    a854:	1058      	lrw      	r2, 0x20000058	// a8b4 <TK_con0_config+0xb8>
    a856:	448d      	lsli      	r4, r4, 13
    a858:	92a0      	ld.w      	r5, (r2, 0x0)
    a85a:	9541      	ld.w      	r2, (r5, 0x4)
    a85c:	3200      	movi      	r2, 0
    a85e:	b541      	st.w      	r2, (r5, 0x4)
    a860:	9541      	ld.w      	r2, (r5, 0x4)
    a862:	98c7      	ld.w      	r6, (r14, 0x1c)
    a864:	6c98      	or      	r2, r6
    a866:	98c6      	ld.w      	r6, (r14, 0x18)
    a868:	6c98      	or      	r2, r6
    a86a:	98c5      	ld.w      	r6, (r14, 0x14)
    a86c:	6c98      	or      	r2, r6
    a86e:	98c8      	ld.w      	r6, (r14, 0x20)
    a870:	46d8      	lsli      	r6, r6, 24
    a872:	6c98      	or      	r2, r6
    a874:	98c4      	ld.w      	r6, (r14, 0x10)
    a876:	6c98      	or      	r2, r6
    a878:	98c3      	ld.w      	r6, (r14, 0xc)
    a87a:	6c98      	or      	r2, r6
    a87c:	98c2      	ld.w      	r6, (r14, 0x8)
    a87e:	6c98      	or      	r2, r6
    a880:	98c1      	ld.w      	r6, (r14, 0x4)
    a882:	6c98      	or      	r2, r6
    a884:	6c48      	or      	r1, r2
    a886:	9840      	ld.w      	r2, (r14, 0x0)
    a888:	6c04      	or      	r0, r1
    a88a:	4242      	lsli      	r2, r2, 2
    a88c:	6c08      	or      	r0, r2
    a88e:	6d00      	or      	r4, r0
    a890:	4367      	lsli      	r3, r3, 7
    a892:	6cd0      	or      	r3, r4
    a894:	b561      	st.w      	r3, (r5, 0x4)
    a896:	1409      	addi      	r14, r14, 36
    a898:	1484      	pop      	r4-r7
    a89a:	3e40      	cmpnei      	r6, 0
    a89c:	0bdc      	bt      	0xa854	// a854 <TK_con0_config+0x58>
    a89e:	9264      	ld.w      	r3, (r2, 0x10)
    a8a0:	3b98      	bclri      	r3, 24
    a8a2:	3b99      	bclri      	r3, 25
    a8a4:	3bb8      	bseti      	r3, 24
    a8a6:	b264      	st.w      	r3, (r2, 0x10)
    a8a8:	3300      	movi      	r3, 0
    a8aa:	07d5      	br      	0xa854	// a854 <TK_con0_config+0x58>
    a8ac:	2000004c 	.long	0x2000004c
    a8b0:	20000050 	.long	0x20000050
    a8b4:	20000058 	.long	0x20000058

Disassembly of section .text.tk_io_enable:

0000a8b8 <tk_io_enable>:
    a8b8:	14d4      	push      	r4-r7, r15
    a8ba:	1422      	subi      	r14, r14, 8
    a8bc:	1269      	lrw      	r3, 0x2000004c	// a9e0 <tk_io_enable+0x128>
    a8be:	31f0      	movi      	r1, 240
    a8c0:	9360      	ld.w      	r3, (r3, 0x0)
    a8c2:	9340      	ld.w      	r2, (r3, 0x0)
    a8c4:	4130      	lsli      	r1, r1, 16
    a8c6:	6885      	andn      	r2, r1
    a8c8:	3ab4      	bseti      	r2, 20
    a8ca:	3ab7      	bseti      	r2, 23
    a8cc:	b340      	st.w      	r2, (r3, 0x0)
    a8ce:	35f0      	movi      	r5, 240
    a8d0:	1245      	lrw      	r2, 0x20000268	// a9e4 <tk_io_enable+0x12c>
    a8d2:	36f0      	movi      	r6, 240
    a8d4:	9240      	ld.w      	r2, (r2, 0x0)
    a8d6:	b841      	st.w      	r2, (r14, 0x4)
    a8d8:	3400      	movi      	r4, 0
    a8da:	1244      	lrw      	r2, 0x20000048	// a9e8 <tk_io_enable+0x130>
    a8dc:	45ac      	lsli      	r5, r5, 12
    a8de:	9240      	ld.w      	r2, (r2, 0x0)
    a8e0:	b820      	st.w      	r1, (r14, 0x0)
    a8e2:	46c8      	lsli      	r6, r6, 8
    a8e4:	3701      	movi      	r7, 1
    a8e6:	71d0      	lsl      	r7, r4
    a8e8:	9821      	ld.w      	r1, (r14, 0x4)
    a8ea:	69c4      	and      	r7, r1
    a8ec:	3f40      	cmpnei      	r7, 0
    a8ee:	7410      	zextb      	r0, r4
    a8f0:	0c1b      	bf      	0xa926	// a926 <tk_io_enable+0x6e>
    a8f2:	2800      	subi      	r0, 1
    a8f4:	380f      	cmphsi      	r0, 16
    a8f6:	080b      	bt      	0xa90c	// a90c <tk_io_enable+0x54>
    a8f8:	e3ffc602 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a8fc:	27201a0f 	.long	0x27201a0f
    a900:	3d38312c 	.long	0x3d38312c
    a904:	56514a44 	.long	0x56514a44
    a908:	6c67615b 	.long	0x6c67615b
    a90c:	9200      	ld.w      	r0, (r2, 0x0)
    a90e:	37f0      	movi      	r7, 240
    a910:	681d      	andn      	r0, r7
    a912:	38a4      	bseti      	r0, 4
    a914:	38a7      	bseti      	r0, 7
    a916:	b200      	st.w      	r0, (r2, 0x0)
    a918:	0407      	br      	0xa926	// a926 <tk_io_enable+0x6e>
    a91a:	9300      	ld.w      	r0, (r3, 0x0)
    a91c:	370f      	movi      	r7, 15
    a91e:	681d      	andn      	r0, r7
    a920:	38a0      	bseti      	r0, 0
    a922:	38a3      	bseti      	r0, 3
    a924:	b300      	st.w      	r0, (r3, 0x0)
    a926:	2400      	addi      	r4, 1
    a928:	3c51      	cmpnei      	r4, 17
    a92a:	0bdd      	bt      	0xa8e4	// a8e4 <tk_io_enable+0x2c>
    a92c:	1402      	addi      	r14, r14, 8
    a92e:	1494      	pop      	r4-r7, r15
    a930:	9300      	ld.w      	r0, (r3, 0x0)
    a932:	37f0      	movi      	r7, 240
    a934:	681d      	andn      	r0, r7
    a936:	38a4      	bseti      	r0, 4
    a938:	38a7      	bseti      	r0, 7
    a93a:	07f5      	br      	0xa924	// a924 <tk_io_enable+0x6c>
    a93c:	37f0      	movi      	r7, 240
    a93e:	9300      	ld.w      	r0, (r3, 0x0)
    a940:	47e4      	lsli      	r7, r7, 4
    a942:	681d      	andn      	r0, r7
    a944:	38a8      	bseti      	r0, 8
    a946:	38ab      	bseti      	r0, 11
    a948:	07ee      	br      	0xa924	// a924 <tk_io_enable+0x6c>
    a94a:	9300      	ld.w      	r0, (r3, 0x0)
    a94c:	6819      	andn      	r0, r6
    a94e:	38ac      	bseti      	r0, 12
    a950:	38af      	bseti      	r0, 15
    a952:	07e9      	br      	0xa924	// a924 <tk_io_enable+0x6c>
    a954:	9300      	ld.w      	r0, (r3, 0x0)
    a956:	6815      	andn      	r0, r5
    a958:	38b0      	bseti      	r0, 16
    a95a:	38b3      	bseti      	r0, 19
    a95c:	07e4      	br      	0xa924	// a924 <tk_io_enable+0x6c>
    a95e:	37f0      	movi      	r7, 240
    a960:	9200      	ld.w      	r0, (r2, 0x0)
    a962:	47e4      	lsli      	r7, r7, 4
    a964:	681d      	andn      	r0, r7
    a966:	38a8      	bseti      	r0, 8
    a968:	38ab      	bseti      	r0, 11
    a96a:	07d6      	br      	0xa916	// a916 <tk_io_enable+0x5e>
    a96c:	9200      	ld.w      	r0, (r2, 0x0)
    a96e:	6819      	andn      	r0, r6
    a970:	38ac      	bseti      	r0, 12
    a972:	38af      	bseti      	r0, 15
    a974:	07d1      	br      	0xa916	// a916 <tk_io_enable+0x5e>
    a976:	9301      	ld.w      	r0, (r3, 0x4)
    a978:	370f      	movi      	r7, 15
    a97a:	681d      	andn      	r0, r7
    a97c:	38a0      	bseti      	r0, 0
    a97e:	38a3      	bseti      	r0, 3
    a980:	b301      	st.w      	r0, (r3, 0x4)
    a982:	07d2      	br      	0xa926	// a926 <tk_io_enable+0x6e>
    a984:	9301      	ld.w      	r0, (r3, 0x4)
    a986:	37f0      	movi      	r7, 240
    a988:	681d      	andn      	r0, r7
    a98a:	38a4      	bseti      	r0, 4
    a98c:	38a7      	bseti      	r0, 7
    a98e:	07f9      	br      	0xa980	// a980 <tk_io_enable+0xc8>
    a990:	37f0      	movi      	r7, 240
    a992:	9301      	ld.w      	r0, (r3, 0x4)
    a994:	47e4      	lsli      	r7, r7, 4
    a996:	681d      	andn      	r0, r7
    a998:	38a8      	bseti      	r0, 8
    a99a:	38ab      	bseti      	r0, 11
    a99c:	07f2      	br      	0xa980	// a980 <tk_io_enable+0xc8>
    a99e:	9301      	ld.w      	r0, (r3, 0x4)
    a9a0:	6819      	andn      	r0, r6
    a9a2:	38ac      	bseti      	r0, 12
    a9a4:	38af      	bseti      	r0, 15
    a9a6:	07ed      	br      	0xa980	// a980 <tk_io_enable+0xc8>
    a9a8:	9301      	ld.w      	r0, (r3, 0x4)
    a9aa:	6815      	andn      	r0, r5
    a9ac:	38b0      	bseti      	r0, 16
    a9ae:	38b3      	bseti      	r0, 19
    a9b0:	07e8      	br      	0xa980	// a980 <tk_io_enable+0xc8>
    a9b2:	9301      	ld.w      	r0, (r3, 0x4)
    a9b4:	9820      	ld.w      	r1, (r14, 0x0)
    a9b6:	6805      	andn      	r0, r1
    a9b8:	38b4      	bseti      	r0, 20
    a9ba:	38b7      	bseti      	r0, 23
    a9bc:	07e2      	br      	0xa980	// a980 <tk_io_enable+0xc8>
    a9be:	9200      	ld.w      	r0, (r2, 0x0)
    a9c0:	370f      	movi      	r7, 15
    a9c2:	681d      	andn      	r0, r7
    a9c4:	38a0      	bseti      	r0, 0
    a9c6:	38a3      	bseti      	r0, 3
    a9c8:	07a7      	br      	0xa916	// a916 <tk_io_enable+0x5e>
    a9ca:	9200      	ld.w      	r0, (r2, 0x0)
    a9cc:	6815      	andn      	r0, r5
    a9ce:	38b0      	bseti      	r0, 16
    a9d0:	38b3      	bseti      	r0, 19
    a9d2:	07a2      	br      	0xa916	// a916 <tk_io_enable+0x5e>
    a9d4:	9200      	ld.w      	r0, (r2, 0x0)
    a9d6:	9820      	ld.w      	r1, (r14, 0x0)
    a9d8:	6805      	andn      	r0, r1
    a9da:	38b4      	bseti      	r0, 20
    a9dc:	38b7      	bseti      	r0, 23
    a9de:	079c      	br      	0xa916	// a916 <tk_io_enable+0x5e>
    a9e0:	2000004c 	.long	0x2000004c
    a9e4:	20000268 	.long	0x20000268
    a9e8:	20000048 	.long	0x20000048

Disassembly of section .text.TK_Single_Longpress_prg:

0000a9ec <TK_Single_Longpress_prg>:
    a9ec:	14c2      	push      	r4-r5
    a9ee:	117d      	lrw      	r3, 0x20000a28	// aae0 <TK_Single_Longpress_prg+0xf4>
    a9f0:	115d      	lrw      	r2, 0x20000994	// aae4 <TK_Single_Longpress_prg+0xf8>
    a9f2:	9360      	ld.w      	r3, (r3, 0x0)
    a9f4:	3b40      	cmpnei      	r3, 0
    a9f6:	0840      	bt      	0xaa76	// aa76 <TK_Single_Longpress_prg+0x8a>
    a9f8:	113c      	lrw      	r1, 0x20000070	// aae8 <TK_Single_Longpress_prg+0xfc>
    a9fa:	8962      	ld.h      	r3, (r1, 0x4)
    a9fc:	74cd      	zexth      	r3, r3
    a9fe:	3b40      	cmpnei      	r3, 0
    aa00:	0c3b      	bf      	0xaa76	// aa76 <TK_Single_Longpress_prg+0x8a>
    aa02:	117b      	lrw      	r3, 0x20000928	// aaec <TK_Single_Longpress_prg+0x100>
    aa04:	9360      	ld.w      	r3, (r3, 0x0)
    aa06:	3b40      	cmpnei      	r3, 0
    aa08:	117a      	lrw      	r3, 0x20000ade	// aaf0 <TK_Single_Longpress_prg+0x104>
    aa0a:	0c0e      	bf      	0xaa26	// aa26 <TK_Single_Longpress_prg+0x3a>
    aa0c:	8300      	ld.b      	r0, (r3, 0x0)
    aa0e:	2000      	addi      	r0, 1
    aa10:	7400      	zextb      	r0, r0
    aa12:	a300      	st.b      	r0, (r3, 0x0)
    aa14:	8380      	ld.b      	r4, (r3, 0x0)
    aa16:	8902      	ld.h      	r0, (r1, 0x4)
    aa18:	7401      	zexth      	r0, r0
    aa1a:	3564      	movi      	r5, 100
    aa1c:	7c14      	mult      	r0, r5
    aa1e:	6501      	cmplt      	r0, r4
    aa20:	0c05      	bf      	0xaa2a	// aa2a <TK_Single_Longpress_prg+0x3e>
    aa22:	3001      	movi      	r0, 1
    aa24:	a200      	st.b      	r0, (r2, 0x0)
    aa26:	3000      	movi      	r0, 0
    aa28:	a300      	st.b      	r0, (r3, 0x0)
    aa2a:	1113      	lrw      	r0, 0x200008bc	// aaf4 <TK_Single_Longpress_prg+0x108>
    aa2c:	9000      	ld.w      	r0, (r0, 0x0)
    aa2e:	3840      	cmpnei      	r0, 0
    aa30:	0c0e      	bf      	0xaa4c	// aa4c <TK_Single_Longpress_prg+0x60>
    aa32:	8301      	ld.b      	r0, (r3, 0x1)
    aa34:	2000      	addi      	r0, 1
    aa36:	7400      	zextb      	r0, r0
    aa38:	a301      	st.b      	r0, (r3, 0x1)
    aa3a:	8381      	ld.b      	r4, (r3, 0x1)
    aa3c:	8902      	ld.h      	r0, (r1, 0x4)
    aa3e:	7401      	zexth      	r0, r0
    aa40:	3564      	movi      	r5, 100
    aa42:	7c14      	mult      	r0, r5
    aa44:	6501      	cmplt      	r0, r4
    aa46:	0c05      	bf      	0xaa50	// aa50 <TK_Single_Longpress_prg+0x64>
    aa48:	3001      	movi      	r0, 1
    aa4a:	a201      	st.b      	r0, (r2, 0x1)
    aa4c:	3000      	movi      	r0, 0
    aa4e:	a301      	st.b      	r0, (r3, 0x1)
    aa50:	110a      	lrw      	r0, 0x200009a0	// aaf8 <TK_Single_Longpress_prg+0x10c>
    aa52:	9000      	ld.w      	r0, (r0, 0x0)
    aa54:	3840      	cmpnei      	r0, 0
    aa56:	0c0e      	bf      	0xaa72	// aa72 <TK_Single_Longpress_prg+0x86>
    aa58:	8302      	ld.b      	r0, (r3, 0x2)
    aa5a:	2000      	addi      	r0, 1
    aa5c:	7400      	zextb      	r0, r0
    aa5e:	a302      	st.b      	r0, (r3, 0x2)
    aa60:	8302      	ld.b      	r0, (r3, 0x2)
    aa62:	8922      	ld.h      	r1, (r1, 0x4)
    aa64:	7445      	zexth      	r1, r1
    aa66:	3464      	movi      	r4, 100
    aa68:	7c50      	mult      	r1, r4
    aa6a:	6405      	cmplt      	r1, r0
    aa6c:	0c05      	bf      	0xaa76	// aa76 <TK_Single_Longpress_prg+0x8a>
    aa6e:	3101      	movi      	r1, 1
    aa70:	a222      	st.b      	r1, (r2, 0x2)
    aa72:	3100      	movi      	r1, 0
    aa74:	a322      	st.b      	r1, (r3, 0x2)
    aa76:	8260      	ld.b      	r3, (r2, 0x0)
    aa78:	3b41      	cmpnei      	r3, 1
    aa7a:	080f      	bt      	0xaa98	// aa98 <TK_Single_Longpress_prg+0xac>
    aa7c:	3300      	movi      	r3, 0
    aa7e:	11a0      	lrw      	r5, 0x20000bda	// aafc <TK_Single_Longpress_prg+0x110>
    aa80:	1180      	lrw      	r4, 0x20000888	// ab00 <TK_Single_Longpress_prg+0x114>
    aa82:	4321      	lsli      	r1, r3, 1
    aa84:	5d04      	addu      	r0, r5, r1
    aa86:	8800      	ld.h      	r0, (r0, 0x0)
    aa88:	2300      	addi      	r3, 1
    aa8a:	7401      	zexth      	r0, r0
    aa8c:	6050      	addu      	r1, r4
    aa8e:	3b51      	cmpnei      	r3, 17
    aa90:	a900      	st.h      	r0, (r1, 0x0)
    aa92:	0bf8      	bt      	0xaa82	// aa82 <TK_Single_Longpress_prg+0x96>
    aa94:	3300      	movi      	r3, 0
    aa96:	a260      	st.b      	r3, (r2, 0x0)
    aa98:	8261      	ld.b      	r3, (r2, 0x1)
    aa9a:	3b41      	cmpnei      	r3, 1
    aa9c:	080f      	bt      	0xaaba	// aaba <TK_Single_Longpress_prg+0xce>
    aa9e:	3300      	movi      	r3, 0
    aaa0:	10b9      	lrw      	r5, 0x20000970	// ab04 <TK_Single_Longpress_prg+0x118>
    aaa2:	109a      	lrw      	r4, 0x20000a32	// ab08 <TK_Single_Longpress_prg+0x11c>
    aaa4:	4321      	lsli      	r1, r3, 1
    aaa6:	5d04      	addu      	r0, r5, r1
    aaa8:	8800      	ld.h      	r0, (r0, 0x0)
    aaaa:	2300      	addi      	r3, 1
    aaac:	7401      	zexth      	r0, r0
    aaae:	6050      	addu      	r1, r4
    aab0:	3b51      	cmpnei      	r3, 17
    aab2:	a900      	st.h      	r0, (r1, 0x0)
    aab4:	0bf8      	bt      	0xaaa4	// aaa4 <TK_Single_Longpress_prg+0xb8>
    aab6:	3300      	movi      	r3, 0
    aab8:	a261      	st.b      	r3, (r2, 0x1)
    aaba:	8262      	ld.b      	r3, (r2, 0x2)
    aabc:	3b41      	cmpnei      	r3, 1
    aabe:	080f      	bt      	0xaadc	// aadc <TK_Single_Longpress_prg+0xf0>
    aac0:	3300      	movi      	r3, 0
    aac2:	10b3      	lrw      	r5, 0x20000a66	// ab0c <TK_Single_Longpress_prg+0x120>
    aac4:	1093      	lrw      	r4, 0x20000b48	// ab10 <TK_Single_Longpress_prg+0x124>
    aac6:	4321      	lsli      	r1, r3, 1
    aac8:	5d04      	addu      	r0, r5, r1
    aaca:	8800      	ld.h      	r0, (r0, 0x0)
    aacc:	2300      	addi      	r3, 1
    aace:	7401      	zexth      	r0, r0
    aad0:	6050      	addu      	r1, r4
    aad2:	3b51      	cmpnei      	r3, 17
    aad4:	a900      	st.h      	r0, (r1, 0x0)
    aad6:	0bf8      	bt      	0xaac6	// aac6 <TK_Single_Longpress_prg+0xda>
    aad8:	3300      	movi      	r3, 0
    aada:	a262      	st.b      	r3, (r2, 0x2)
    aadc:	1482      	pop      	r4-r5
    aade:	0000      	bkpt
    aae0:	20000a28 	.long	0x20000a28
    aae4:	20000994 	.long	0x20000994
    aae8:	20000070 	.long	0x20000070
    aaec:	20000928 	.long	0x20000928
    aaf0:	20000ade 	.long	0x20000ade
    aaf4:	200008bc 	.long	0x200008bc
    aaf8:	200009a0 	.long	0x200009a0
    aafc:	20000bda 	.long	0x20000bda
    ab00:	20000888 	.long	0x20000888
    ab04:	20000970 	.long	0x20000970
    ab08:	20000a32 	.long	0x20000a32
    ab0c:	20000a66 	.long	0x20000a66
    ab10:	20000b48 	.long	0x20000b48

Disassembly of section .text.TK_Sampling_prog:

0000ab14 <TK_Sampling_prog>:
    ab14:	14c4      	push      	r4-r7
    ab16:	1423      	subi      	r14, r14, 12
    ab18:	1169      	lrw      	r3, 0x20000054	// abbc <TK_Sampling_prog+0xa8>
    ab1a:	114a      	lrw      	r2, 0x20000b45	// abc0 <TK_Sampling_prog+0xac>
    ab1c:	6d0b      	mov      	r4, r2
    ab1e:	9320      	ld.w      	r1, (r3, 0x0)
    ab20:	b840      	st.w      	r2, (r14, 0x0)
    ab22:	3300      	movi      	r3, 0
    ab24:	11a8      	lrw      	r5, 0x20000bda	// abc4 <TK_Sampling_prog+0xb0>
    ab26:	9840      	ld.w      	r2, (r14, 0x0)
    ab28:	8240      	ld.b      	r2, (r2, 0x0)
    ab2a:	3a41      	cmpnei      	r2, 1
    ab2c:	0808      	bt      	0xab3c	// ab3c <TK_Sampling_prog+0x28>
    ab2e:	4342      	lsli      	r2, r3, 2
    ab30:	6084      	addu      	r2, r1
    ab32:	9200      	ld.w      	r0, (r2, 0x0)
    ab34:	4341      	lsli      	r2, r3, 1
    ab36:	7401      	zexth      	r0, r0
    ab38:	6094      	addu      	r2, r5
    ab3a:	aa00      	st.h      	r0, (r2, 0x0)
    ab3c:	8440      	ld.b      	r2, (r4, 0x0)
    ab3e:	3a42      	cmpnei      	r2, 2
    ab40:	0809      	bt      	0xab52	// ab52 <TK_Sampling_prog+0x3e>
    ab42:	4342      	lsli      	r2, r3, 2
    ab44:	6084      	addu      	r2, r1
    ab46:	9200      	ld.w      	r0, (r2, 0x0)
    ab48:	4341      	lsli      	r2, r3, 1
    ab4a:	11c0      	lrw      	r6, 0x20000970	// abc8 <TK_Sampling_prog+0xb4>
    ab4c:	7401      	zexth      	r0, r0
    ab4e:	6098      	addu      	r2, r6
    ab50:	aa00      	st.h      	r0, (r2, 0x0)
    ab52:	8440      	ld.b      	r2, (r4, 0x0)
    ab54:	3a40      	cmpnei      	r2, 0
    ab56:	0809      	bt      	0xab68	// ab68 <TK_Sampling_prog+0x54>
    ab58:	4342      	lsli      	r2, r3, 2
    ab5a:	6084      	addu      	r2, r1
    ab5c:	9200      	ld.w      	r0, (r2, 0x0)
    ab5e:	4341      	lsli      	r2, r3, 1
    ab60:	10db      	lrw      	r6, 0x20000a66	// abcc <TK_Sampling_prog+0xb8>
    ab62:	7401      	zexth      	r0, r0
    ab64:	6098      	addu      	r2, r6
    ab66:	aa00      	st.h      	r0, (r2, 0x0)
    ab68:	10da      	lrw      	r6, 0x200009cd	// abd0 <TK_Sampling_prog+0xbc>
    ab6a:	8640      	ld.b      	r2, (r6, 0x0)
    ab6c:	3a41      	cmpnei      	r2, 1
    ab6e:	0821      	bt      	0xabb0	// abb0 <TK_Sampling_prog+0x9c>
    ab70:	1079      	lrw      	r3, 0x20000888	// abd4 <TK_Sampling_prog+0xc0>
    ab72:	3200      	movi      	r2, 0
    ab74:	b861      	st.w      	r3, (r14, 0x4)
    ab76:	1075      	lrw      	r3, 0x20000970	// abc8 <TK_Sampling_prog+0xb4>
    ab78:	b862      	st.w      	r3, (r14, 0x8)
    ab7a:	4261      	lsli      	r3, r2, 1
    ab7c:	5d0c      	addu      	r0, r5, r3
    ab7e:	8800      	ld.h      	r0, (r0, 0x0)
    ab80:	98e1      	ld.w      	r7, (r14, 0x4)
    ab82:	61cc      	addu      	r7, r3
    ab84:	7401      	zexth      	r0, r0
    ab86:	af00      	st.h      	r0, (r7, 0x0)
    ab88:	9802      	ld.w      	r0, (r14, 0x8)
    ab8a:	600c      	addu      	r0, r3
    ab8c:	8800      	ld.h      	r0, (r0, 0x0)
    ab8e:	10f3      	lrw      	r7, 0x20000a32	// abd8 <TK_Sampling_prog+0xc4>
    ab90:	61cc      	addu      	r7, r3
    ab92:	7401      	zexth      	r0, r0
    ab94:	af00      	st.h      	r0, (r7, 0x0)
    ab96:	2200      	addi      	r2, 1
    ab98:	100d      	lrw      	r0, 0x20000a66	// abcc <TK_Sampling_prog+0xb8>
    ab9a:	600c      	addu      	r0, r3
    ab9c:	8800      	ld.h      	r0, (r0, 0x0)
    ab9e:	10f0      	lrw      	r7, 0x20000b48	// abdc <TK_Sampling_prog+0xc8>
    aba0:	7401      	zexth      	r0, r0
    aba2:	60dc      	addu      	r3, r7
    aba4:	3a51      	cmpnei      	r2, 17
    aba6:	ab00      	st.h      	r0, (r3, 0x0)
    aba8:	0be9      	bt      	0xab7a	// ab7a <TK_Sampling_prog+0x66>
    abaa:	3300      	movi      	r3, 0
    abac:	a660      	st.b      	r3, (r6, 0x0)
    abae:	3311      	movi      	r3, 17
    abb0:	2300      	addi      	r3, 1
    abb2:	74cc      	zextb      	r3, r3
    abb4:	3b10      	cmphsi      	r3, 17
    abb6:	0fb8      	bf      	0xab26	// ab26 <TK_Sampling_prog+0x12>
    abb8:	1403      	addi      	r14, r14, 12
    abba:	1484      	pop      	r4-r7
    abbc:	20000054 	.long	0x20000054
    abc0:	20000b45 	.long	0x20000b45
    abc4:	20000bda 	.long	0x20000bda
    abc8:	20000970 	.long	0x20000970
    abcc:	20000a66 	.long	0x20000a66
    abd0:	200009cd 	.long	0x200009cd
    abd4:	20000888 	.long	0x20000888
    abd8:	20000a32 	.long	0x20000a32
    abdc:	20000b48 	.long	0x20000b48

Disassembly of section .text.get_key_number:

0000abe0 <get_key_number>:
    abe0:	14c2      	push      	r4-r5
    abe2:	3200      	movi      	r2, 0
    abe4:	3000      	movi      	r0, 0
    abe6:	1088      	lrw      	r4, 0x20000a28	// ac04 <get_key_number+0x24>
    abe8:	3501      	movi      	r5, 1
    abea:	3120      	movi      	r1, 32
    abec:	9460      	ld.w      	r3, (r4, 0x0)
    abee:	70c9      	lsr      	r3, r2
    abf0:	68d4      	and      	r3, r5
    abf2:	3b40      	cmpnei      	r3, 0
    abf4:	0c02      	bf      	0xabf8	// abf8 <get_key_number+0x18>
    abf6:	2000      	addi      	r0, 1
    abf8:	2200      	addi      	r2, 1
    abfa:	644a      	cmpne      	r2, r1
    abfc:	0bf8      	bt      	0xabec	// abec <get_key_number+0xc>
    abfe:	7400      	zextb      	r0, r0
    ac00:	1482      	pop      	r4-r5
    ac02:	0000      	bkpt
    ac04:	20000a28 	.long	0x20000a28

Disassembly of section .text.get_key_number0:

0000ac08 <get_key_number0>:
    ac08:	14c2      	push      	r4-r5
    ac0a:	3200      	movi      	r2, 0
    ac0c:	3000      	movi      	r0, 0
    ac0e:	1088      	lrw      	r4, 0x20000928	// ac2c <get_key_number0+0x24>
    ac10:	3501      	movi      	r5, 1
    ac12:	3120      	movi      	r1, 32
    ac14:	9460      	ld.w      	r3, (r4, 0x0)
    ac16:	70c9      	lsr      	r3, r2
    ac18:	68d4      	and      	r3, r5
    ac1a:	3b40      	cmpnei      	r3, 0
    ac1c:	0c02      	bf      	0xac20	// ac20 <get_key_number0+0x18>
    ac1e:	2000      	addi      	r0, 1
    ac20:	2200      	addi      	r2, 1
    ac22:	644a      	cmpne      	r2, r1
    ac24:	0bf8      	bt      	0xac14	// ac14 <get_key_number0+0xc>
    ac26:	7400      	zextb      	r0, r0
    ac28:	1482      	pop      	r4-r5
    ac2a:	0000      	bkpt
    ac2c:	20000928 	.long	0x20000928

Disassembly of section .text.get_key_number1:

0000ac30 <get_key_number1>:
    ac30:	14c2      	push      	r4-r5
    ac32:	3200      	movi      	r2, 0
    ac34:	3000      	movi      	r0, 0
    ac36:	1088      	lrw      	r4, 0x200008bc	// ac54 <get_key_number1+0x24>
    ac38:	3501      	movi      	r5, 1
    ac3a:	3120      	movi      	r1, 32
    ac3c:	9460      	ld.w      	r3, (r4, 0x0)
    ac3e:	70c9      	lsr      	r3, r2
    ac40:	68d4      	and      	r3, r5
    ac42:	3b40      	cmpnei      	r3, 0
    ac44:	0c02      	bf      	0xac48	// ac48 <get_key_number1+0x18>
    ac46:	2000      	addi      	r0, 1
    ac48:	2200      	addi      	r2, 1
    ac4a:	644a      	cmpne      	r2, r1
    ac4c:	0bf8      	bt      	0xac3c	// ac3c <get_key_number1+0xc>
    ac4e:	7400      	zextb      	r0, r0
    ac50:	1482      	pop      	r4-r5
    ac52:	0000      	bkpt
    ac54:	200008bc 	.long	0x200008bc

Disassembly of section .text.get_key_number2:

0000ac58 <get_key_number2>:
    ac58:	14c2      	push      	r4-r5
    ac5a:	3200      	movi      	r2, 0
    ac5c:	3000      	movi      	r0, 0
    ac5e:	1088      	lrw      	r4, 0x200009a0	// ac7c <get_key_number2+0x24>
    ac60:	3501      	movi      	r5, 1
    ac62:	3120      	movi      	r1, 32
    ac64:	9460      	ld.w      	r3, (r4, 0x0)
    ac66:	70c9      	lsr      	r3, r2
    ac68:	68d4      	and      	r3, r5
    ac6a:	3b40      	cmpnei      	r3, 0
    ac6c:	0c02      	bf      	0xac70	// ac70 <get_key_number2+0x18>
    ac6e:	2000      	addi      	r0, 1
    ac70:	2200      	addi      	r2, 1
    ac72:	644a      	cmpne      	r2, r1
    ac74:	0bf8      	bt      	0xac64	// ac64 <get_key_number2+0xc>
    ac76:	7400      	zextb      	r0, r0
    ac78:	1482      	pop      	r4-r5
    ac7a:	0000      	bkpt
    ac7c:	200009a0 	.long	0x200009a0

Disassembly of section .text.TK_Baseline_prog:

0000ac80 <TK_Baseline_prog>:
    ac80:	14c4      	push      	r4-r7
    ac82:	142a      	subi      	r14, r14, 40
    ac84:	1264      	lrw      	r3, 0x2000099c	// ad94 <TK_Baseline_prog+0x114>
    ac86:	1245      	lrw      	r2, 0x20000b45	// ad98 <TK_Baseline_prog+0x118>
    ac88:	6c0b      	mov      	r0, r2
    ac8a:	9360      	ld.w      	r3, (r3, 0x0)
    ac8c:	b865      	st.w      	r3, (r14, 0x14)
    ac8e:	1264      	lrw      	r3, 0x2000096c	// ad9c <TK_Baseline_prog+0x11c>
    ac90:	9360      	ld.w      	r3, (r3, 0x0)
    ac92:	b864      	st.w      	r3, (r14, 0x10)
    ac94:	1263      	lrw      	r3, 0x20000bfc	// ada0 <TK_Baseline_prog+0x120>
    ac96:	9360      	ld.w      	r3, (r3, 0x0)
    ac98:	b863      	st.w      	r3, (r14, 0xc)
    ac9a:	1263      	lrw      	r3, 0x20000058	// ada4 <TK_Baseline_prog+0x124>
    ac9c:	9360      	ld.w      	r3, (r3, 0x0)
    ac9e:	b866      	st.w      	r3, (r14, 0x18)
    aca0:	1262      	lrw      	r3, 0x20000054	// ada8 <TK_Baseline_prog+0x128>
    aca2:	9360      	ld.w      	r3, (r3, 0x0)
    aca4:	b860      	st.w      	r3, (r14, 0x0)
    aca6:	3306      	movi      	r3, 6
    aca8:	b861      	st.w      	r3, (r14, 0x4)
    acaa:	1261      	lrw      	r3, 0x20000070	// adac <TK_Baseline_prog+0x12c>
    acac:	b862      	st.w      	r3, (r14, 0x8)
    acae:	3103      	movi      	r1, 3
    acb0:	8260      	ld.b      	r3, (r2, 0x0)
    acb2:	74cc      	zextb      	r3, r3
    acb4:	3b41      	cmpnei      	r3, 1
    acb6:	0c66      	bf      	0xad82	// ad82 <TK_Baseline_prog+0x102>
    acb8:	3b40      	cmpnei      	r3, 0
    acba:	0c5c      	bf      	0xad72	// ad72 <TK_Baseline_prog+0xf2>
    acbc:	3b42      	cmpnei      	r3, 2
    acbe:	0c65      	bf      	0xad88	// ad88 <TK_Baseline_prog+0x108>
    acc0:	3301      	movi      	r3, 1
    acc2:	9886      	ld.w      	r4, (r14, 0x18)
    acc4:	b462      	st.w      	r3, (r4, 0x8)
    acc6:	9862      	ld.w      	r3, (r14, 0x8)
    acc8:	3400      	movi      	r4, 0
    acca:	a380      	st.b      	r4, (r3, 0x0)
    accc:	9862      	ld.w      	r3, (r14, 0x8)
    acce:	8360      	ld.b      	r3, (r3, 0x0)
    acd0:	3b40      	cmpnei      	r3, 0
    acd2:	0ffd      	bf      	0xaccc	// accc <TK_Baseline_prog+0x4c>
    acd4:	6c03      	mov      	r0, r0
    acd6:	1197      	lrw      	r4, 0x20000888	// adb0 <TK_Baseline_prog+0x130>
    acd8:	3300      	movi      	r3, 0
    acda:	b887      	st.w      	r4, (r14, 0x1c)
    acdc:	1196      	lrw      	r4, 0x20000bda	// adb4 <TK_Baseline_prog+0x134>
    acde:	b888      	st.w      	r4, (r14, 0x20)
    ace0:	1196      	lrw      	r4, 0x20000a32	// adb8 <TK_Baseline_prog+0x138>
    ace2:	b889      	st.w      	r4, (r14, 0x24)
    ace4:	8080      	ld.b      	r4, (r0, 0x0)
    ace6:	3c41      	cmpnei      	r4, 1
    ace8:	080f      	bt      	0xad06	// ad06 <TK_Baseline_prog+0x86>
    acea:	9880      	ld.w      	r4, (r14, 0x0)
    acec:	43a2      	lsli      	r5, r3, 2
    acee:	6150      	addu      	r5, r4
    acf0:	95c0      	ld.w      	r6, (r5, 0x0)
    acf2:	4381      	lsli      	r4, r3, 1
    acf4:	98e7      	ld.w      	r7, (r14, 0x1c)
    acf6:	7599      	zexth      	r6, r6
    acf8:	61d0      	addu      	r7, r4
    acfa:	afc0      	st.h      	r6, (r7, 0x0)
    acfc:	95a0      	ld.w      	r5, (r5, 0x0)
    acfe:	98c8      	ld.w      	r6, (r14, 0x20)
    ad00:	7555      	zexth      	r5, r5
    ad02:	6118      	addu      	r4, r6
    ad04:	aca0      	st.h      	r5, (r4, 0x0)
    ad06:	8080      	ld.b      	r4, (r0, 0x0)
    ad08:	3c42      	cmpnei      	r4, 2
    ad0a:	080f      	bt      	0xad28	// ad28 <TK_Baseline_prog+0xa8>
    ad0c:	9880      	ld.w      	r4, (r14, 0x0)
    ad0e:	43a2      	lsli      	r5, r3, 2
    ad10:	6150      	addu      	r5, r4
    ad12:	95c0      	ld.w      	r6, (r5, 0x0)
    ad14:	4381      	lsli      	r4, r3, 1
    ad16:	98e9      	ld.w      	r7, (r14, 0x24)
    ad18:	7599      	zexth      	r6, r6
    ad1a:	61d0      	addu      	r7, r4
    ad1c:	afc0      	st.h      	r6, (r7, 0x0)
    ad1e:	95a0      	ld.w      	r5, (r5, 0x0)
    ad20:	7555      	zexth      	r5, r5
    ad22:	11c7      	lrw      	r6, 0x20000970	// adbc <TK_Baseline_prog+0x13c>
    ad24:	6118      	addu      	r4, r6
    ad26:	aca0      	st.h      	r5, (r4, 0x0)
    ad28:	8080      	ld.b      	r4, (r0, 0x0)
    ad2a:	3c40      	cmpnei      	r4, 0
    ad2c:	080f      	bt      	0xad4a	// ad4a <TK_Baseline_prog+0xca>
    ad2e:	9880      	ld.w      	r4, (r14, 0x0)
    ad30:	43a2      	lsli      	r5, r3, 2
    ad32:	6150      	addu      	r5, r4
    ad34:	95c0      	ld.w      	r6, (r5, 0x0)
    ad36:	4381      	lsli      	r4, r3, 1
    ad38:	11e2      	lrw      	r7, 0x20000b48	// adc0 <TK_Baseline_prog+0x140>
    ad3a:	7599      	zexth      	r6, r6
    ad3c:	61d0      	addu      	r7, r4
    ad3e:	afc0      	st.h      	r6, (r7, 0x0)
    ad40:	95a0      	ld.w      	r5, (r5, 0x0)
    ad42:	7555      	zexth      	r5, r5
    ad44:	11c0      	lrw      	r6, 0x20000a66	// adc4 <TK_Baseline_prog+0x144>
    ad46:	6118      	addu      	r4, r6
    ad48:	aca0      	st.h      	r5, (r4, 0x0)
    ad4a:	2300      	addi      	r3, 1
    ad4c:	3b51      	cmpnei      	r3, 17
    ad4e:	0bcb      	bt      	0xace4	// ace4 <TK_Baseline_prog+0x64>
    ad50:	2900      	subi      	r1, 1
    ad52:	7444      	zextb      	r1, r1
    ad54:	3940      	cmpnei      	r1, 0
    ad56:	0bad      	bt      	0xacb0	// acb0 <TK_Baseline_prog+0x30>
    ad58:	9861      	ld.w      	r3, (r14, 0x4)
    ad5a:	2b00      	subi      	r3, 1
    ad5c:	74cc      	zextb      	r3, r3
    ad5e:	3b40      	cmpnei      	r3, 0
    ad60:	b861      	st.w      	r3, (r14, 0x4)
    ad62:	0ba6      	bt      	0xacae	// acae <TK_Baseline_prog+0x2e>
    ad64:	1079      	lrw      	r3, 0x20000934	// adc8 <TK_Baseline_prog+0x148>
    ad66:	3201      	movi      	r2, 1
    ad68:	a340      	st.b      	r2, (r3, 0x0)
    ad6a:	3300      	movi      	r3, 0
    ad6c:	a060      	st.b      	r3, (r0, 0x0)
    ad6e:	140a      	addi      	r14, r14, 40
    ad70:	1484      	pop      	r4-r7
    ad72:	1077      	lrw      	r3, 0x40011200	// adcc <TK_Baseline_prog+0x14c>
    ad74:	9883      	ld.w      	r4, (r14, 0xc)
    ad76:	b390      	st.w      	r4, (r3, 0x40)
    ad78:	8260      	ld.b      	r3, (r2, 0x0)
    ad7a:	2300      	addi      	r3, 1
    ad7c:	74cc      	zextb      	r3, r3
    ad7e:	a260      	st.b      	r3, (r2, 0x0)
    ad80:	07a0      	br      	0xacc0	// acc0 <TK_Baseline_prog+0x40>
    ad82:	1073      	lrw      	r3, 0x40011200	// adcc <TK_Baseline_prog+0x14c>
    ad84:	9884      	ld.w      	r4, (r14, 0x10)
    ad86:	07f8      	br      	0xad76	// ad76 <TK_Baseline_prog+0xf6>
    ad88:	1071      	lrw      	r3, 0x40011200	// adcc <TK_Baseline_prog+0x14c>
    ad8a:	9885      	ld.w      	r4, (r14, 0x14)
    ad8c:	b390      	st.w      	r4, (r3, 0x40)
    ad8e:	3300      	movi      	r3, 0
    ad90:	07f7      	br      	0xad7e	// ad7e <TK_Baseline_prog+0xfe>
    ad92:	0000      	bkpt
    ad94:	2000099c 	.long	0x2000099c
    ad98:	20000b45 	.long	0x20000b45
    ad9c:	2000096c 	.long	0x2000096c
    ada0:	20000bfc 	.long	0x20000bfc
    ada4:	20000058 	.long	0x20000058
    ada8:	20000054 	.long	0x20000054
    adac:	20000070 	.long	0x20000070
    adb0:	20000888 	.long	0x20000888
    adb4:	20000bda 	.long	0x20000bda
    adb8:	20000a32 	.long	0x20000a32
    adbc:	20000970 	.long	0x20000970
    adc0:	20000b48 	.long	0x20000b48
    adc4:	20000a66 	.long	0x20000a66
    adc8:	20000934 	.long	0x20000934
    adcc:	40011200 	.long	0x40011200

Disassembly of section .text.TK_Baseline_prog2:

0000add0 <TK_Baseline_prog2>:
    add0:	14c4      	push      	r4-r7
    add2:	142a      	subi      	r14, r14, 40
    add4:	1262      	lrw      	r3, 0x20000934	// aedc <TK_Baseline_prog2+0x10c>
    add6:	3200      	movi      	r2, 0
    add8:	a340      	st.b      	r2, (r3, 0x0)
    adda:	b866      	st.w      	r3, (r14, 0x18)
    addc:	3103      	movi      	r1, 3
    adde:	1241      	lrw      	r2, 0x2000099c	// aee0 <TK_Baseline_prog2+0x110>
    ade0:	1261      	lrw      	r3, 0x20000070	// aee4 <TK_Baseline_prog2+0x114>
    ade2:	9240      	ld.w      	r2, (r2, 0x0)
    ade4:	b844      	st.w      	r2, (r14, 0x10)
    ade6:	b861      	st.w      	r3, (r14, 0x4)
    ade8:	1240      	lrw      	r2, 0x2000096c	// aee8 <TK_Baseline_prog2+0x118>
    adea:	9240      	ld.w      	r2, (r2, 0x0)
    adec:	b843      	st.w      	r2, (r14, 0xc)
    adee:	1240      	lrw      	r2, 0x20000bfc	// aeec <TK_Baseline_prog2+0x11c>
    adf0:	9240      	ld.w      	r2, (r2, 0x0)
    adf2:	b842      	st.w      	r2, (r14, 0x8)
    adf4:	115f      	lrw      	r2, 0x20000058	// aef0 <TK_Baseline_prog2+0x120>
    adf6:	9240      	ld.w      	r2, (r2, 0x0)
    adf8:	b845      	st.w      	r2, (r14, 0x14)
    adfa:	115f      	lrw      	r2, 0x20000054	// aef4 <TK_Baseline_prog2+0x124>
    adfc:	9240      	ld.w      	r2, (r2, 0x0)
    adfe:	b840      	st.w      	r2, (r14, 0x0)
    ae00:	115e      	lrw      	r2, 0x20000b45	// aef8 <TK_Baseline_prog2+0x128>
    ae02:	6c0b      	mov      	r0, r2
    ae04:	8260      	ld.b      	r3, (r2, 0x0)
    ae06:	74cc      	zextb      	r3, r3
    ae08:	3b41      	cmpnei      	r3, 1
    ae0a:	0c60      	bf      	0xaeca	// aeca <TK_Baseline_prog2+0xfa>
    ae0c:	3b40      	cmpnei      	r3, 0
    ae0e:	0c56      	bf      	0xaeba	// aeba <TK_Baseline_prog2+0xea>
    ae10:	3b42      	cmpnei      	r3, 2
    ae12:	0c5f      	bf      	0xaed0	// aed0 <TK_Baseline_prog2+0x100>
    ae14:	3301      	movi      	r3, 1
    ae16:	9885      	ld.w      	r4, (r14, 0x14)
    ae18:	b462      	st.w      	r3, (r4, 0x8)
    ae1a:	9861      	ld.w      	r3, (r14, 0x4)
    ae1c:	3400      	movi      	r4, 0
    ae1e:	a380      	st.b      	r4, (r3, 0x0)
    ae20:	9861      	ld.w      	r3, (r14, 0x4)
    ae22:	8360      	ld.b      	r3, (r3, 0x0)
    ae24:	3b40      	cmpnei      	r3, 0
    ae26:	0ffd      	bf      	0xae20	// ae20 <TK_Baseline_prog2+0x50>
    ae28:	6c03      	mov      	r0, r0
    ae2a:	1195      	lrw      	r4, 0x20000888	// aefc <TK_Baseline_prog2+0x12c>
    ae2c:	3300      	movi      	r3, 0
    ae2e:	b887      	st.w      	r4, (r14, 0x1c)
    ae30:	1194      	lrw      	r4, 0x20000bda	// af00 <TK_Baseline_prog2+0x130>
    ae32:	b888      	st.w      	r4, (r14, 0x20)
    ae34:	1194      	lrw      	r4, 0x20000a32	// af04 <TK_Baseline_prog2+0x134>
    ae36:	b889      	st.w      	r4, (r14, 0x24)
    ae38:	8080      	ld.b      	r4, (r0, 0x0)
    ae3a:	3c41      	cmpnei      	r4, 1
    ae3c:	080f      	bt      	0xae5a	// ae5a <TK_Baseline_prog2+0x8a>
    ae3e:	9880      	ld.w      	r4, (r14, 0x0)
    ae40:	43a2      	lsli      	r5, r3, 2
    ae42:	6150      	addu      	r5, r4
    ae44:	95c0      	ld.w      	r6, (r5, 0x0)
    ae46:	4381      	lsli      	r4, r3, 1
    ae48:	98e7      	ld.w      	r7, (r14, 0x1c)
    ae4a:	7599      	zexth      	r6, r6
    ae4c:	61d0      	addu      	r7, r4
    ae4e:	afc0      	st.h      	r6, (r7, 0x0)
    ae50:	95a0      	ld.w      	r5, (r5, 0x0)
    ae52:	98c8      	ld.w      	r6, (r14, 0x20)
    ae54:	7555      	zexth      	r5, r5
    ae56:	6118      	addu      	r4, r6
    ae58:	aca0      	st.h      	r5, (r4, 0x0)
    ae5a:	8080      	ld.b      	r4, (r0, 0x0)
    ae5c:	3c42      	cmpnei      	r4, 2
    ae5e:	080f      	bt      	0xae7c	// ae7c <TK_Baseline_prog2+0xac>
    ae60:	9880      	ld.w      	r4, (r14, 0x0)
    ae62:	43a2      	lsli      	r5, r3, 2
    ae64:	6150      	addu      	r5, r4
    ae66:	95c0      	ld.w      	r6, (r5, 0x0)
    ae68:	4381      	lsli      	r4, r3, 1
    ae6a:	98e9      	ld.w      	r7, (r14, 0x24)
    ae6c:	7599      	zexth      	r6, r6
    ae6e:	61d0      	addu      	r7, r4
    ae70:	afc0      	st.h      	r6, (r7, 0x0)
    ae72:	95a0      	ld.w      	r5, (r5, 0x0)
    ae74:	7555      	zexth      	r5, r5
    ae76:	11c5      	lrw      	r6, 0x20000970	// af08 <TK_Baseline_prog2+0x138>
    ae78:	6118      	addu      	r4, r6
    ae7a:	aca0      	st.h      	r5, (r4, 0x0)
    ae7c:	8080      	ld.b      	r4, (r0, 0x0)
    ae7e:	3c40      	cmpnei      	r4, 0
    ae80:	080f      	bt      	0xae9e	// ae9e <TK_Baseline_prog2+0xce>
    ae82:	9880      	ld.w      	r4, (r14, 0x0)
    ae84:	43a2      	lsli      	r5, r3, 2
    ae86:	6150      	addu      	r5, r4
    ae88:	95c0      	ld.w      	r6, (r5, 0x0)
    ae8a:	4381      	lsli      	r4, r3, 1
    ae8c:	11e0      	lrw      	r7, 0x20000b48	// af0c <TK_Baseline_prog2+0x13c>
    ae8e:	7599      	zexth      	r6, r6
    ae90:	61d0      	addu      	r7, r4
    ae92:	afc0      	st.h      	r6, (r7, 0x0)
    ae94:	95a0      	ld.w      	r5, (r5, 0x0)
    ae96:	7555      	zexth      	r5, r5
    ae98:	10de      	lrw      	r6, 0x20000a66	// af10 <TK_Baseline_prog2+0x140>
    ae9a:	6118      	addu      	r4, r6
    ae9c:	aca0      	st.h      	r5, (r4, 0x0)
    ae9e:	2300      	addi      	r3, 1
    aea0:	3b51      	cmpnei      	r3, 17
    aea2:	0bcb      	bt      	0xae38	// ae38 <TK_Baseline_prog2+0x68>
    aea4:	2900      	subi      	r1, 1
    aea6:	7444      	zextb      	r1, r1
    aea8:	3940      	cmpnei      	r1, 0
    aeaa:	0bad      	bt      	0xae04	// ae04 <TK_Baseline_prog2+0x34>
    aeac:	9866      	ld.w      	r3, (r14, 0x18)
    aeae:	3201      	movi      	r2, 1
    aeb0:	a340      	st.b      	r2, (r3, 0x0)
    aeb2:	3300      	movi      	r3, 0
    aeb4:	a060      	st.b      	r3, (r0, 0x0)
    aeb6:	140a      	addi      	r14, r14, 40
    aeb8:	1484      	pop      	r4-r7
    aeba:	1077      	lrw      	r3, 0x40011200	// af14 <TK_Baseline_prog2+0x144>
    aebc:	9882      	ld.w      	r4, (r14, 0x8)
    aebe:	b390      	st.w      	r4, (r3, 0x40)
    aec0:	8260      	ld.b      	r3, (r2, 0x0)
    aec2:	2300      	addi      	r3, 1
    aec4:	74cc      	zextb      	r3, r3
    aec6:	a260      	st.b      	r3, (r2, 0x0)
    aec8:	07a6      	br      	0xae14	// ae14 <TK_Baseline_prog2+0x44>
    aeca:	1073      	lrw      	r3, 0x40011200	// af14 <TK_Baseline_prog2+0x144>
    aecc:	9883      	ld.w      	r4, (r14, 0xc)
    aece:	07f8      	br      	0xaebe	// aebe <TK_Baseline_prog2+0xee>
    aed0:	1071      	lrw      	r3, 0x40011200	// af14 <TK_Baseline_prog2+0x144>
    aed2:	9884      	ld.w      	r4, (r14, 0x10)
    aed4:	b390      	st.w      	r4, (r3, 0x40)
    aed6:	3300      	movi      	r3, 0
    aed8:	07f7      	br      	0xaec6	// aec6 <TK_Baseline_prog2+0xf6>
    aeda:	0000      	bkpt
    aedc:	20000934 	.long	0x20000934
    aee0:	2000099c 	.long	0x2000099c
    aee4:	20000070 	.long	0x20000070
    aee8:	2000096c 	.long	0x2000096c
    aeec:	20000bfc 	.long	0x20000bfc
    aef0:	20000058 	.long	0x20000058
    aef4:	20000054 	.long	0x20000054
    aef8:	20000b45 	.long	0x20000b45
    aefc:	20000888 	.long	0x20000888
    af00:	20000bda 	.long	0x20000bda
    af04:	20000a32 	.long	0x20000a32
    af08:	20000970 	.long	0x20000970
    af0c:	20000b48 	.long	0x20000b48
    af10:	20000a66 	.long	0x20000a66
    af14:	40011200 	.long	0x40011200

Disassembly of section .text.tk_poweron_data_fineturn:

0000af18 <tk_poweron_data_fineturn>:
    af18:	14d4      	push      	r4-r7, r15
    af1a:	1433      	subi      	r14, r14, 76
    af1c:	117e      	lrw      	r3, 0x20000070	// b014 <tk_poweron_data_fineturn+0xfc>
    af1e:	8366      	ld.b      	r3, (r3, 0x6)
    af20:	3b41      	cmpnei      	r3, 1
    af22:	0877      	bt      	0xb010	// b010 <tk_poweron_data_fineturn+0xf8>
    af24:	117d      	lrw      	r3, 0x20000bda	// b018 <tk_poweron_data_fineturn+0x100>
    af26:	b860      	st.w      	r3, (r14, 0x0)
    af28:	3300      	movi      	r3, 0
    af2a:	301e      	movi      	r0, 30
    af2c:	4321      	lsli      	r1, r3, 1
    af2e:	1a02      	addi      	r2, r14, 8
    af30:	6048      	addu      	r1, r2
    af32:	115b      	lrw      	r2, 0x2000026e	// b01c <tk_poweron_data_fineturn+0x104>
    af34:	608c      	addu      	r2, r3
    af36:	8a40      	ld.h      	r2, (r2, 0x0)
    af38:	4245      	lsli      	r2, r2, 5
    af3a:	6080      	addu      	r2, r0
    af3c:	b140      	st.w      	r2, (r1, 0x0)
    af3e:	2301      	addi      	r3, 2
    af40:	3222      	movi      	r2, 34
    af42:	648e      	cmpne      	r3, r2
    af44:	0bf4      	bt      	0xaf2c	// af2c <tk_poweron_data_fineturn+0x14>
    af46:	1197      	lrw      	r4, 0x20000242	// b020 <tk_poweron_data_fineturn+0x108>
    af48:	3200      	movi      	r2, 0
    af4a:	3000      	movi      	r0, 0
    af4c:	b881      	st.w      	r4, (r14, 0x4)
    af4e:	11d6      	lrw      	r6, 0x20000970	// b024 <tk_poweron_data_fineturn+0x10c>
    af50:	4261      	lsli      	r3, r2, 1
    af52:	98a0      	ld.w      	r5, (r14, 0x0)
    af54:	614c      	addu      	r5, r3
    af56:	8d20      	ld.h      	r1, (r5, 0x0)
    af58:	7445      	zexth      	r1, r1
    af5a:	3940      	cmpnei      	r1, 0
    af5c:	0c36      	bf      	0xafc8	// afc8 <tk_poweron_data_fineturn+0xb0>
    af5e:	5e2c      	addu      	r1, r6, r3
    af60:	8920      	ld.h      	r1, (r1, 0x0)
    af62:	7445      	zexth      	r1, r1
    af64:	3940      	cmpnei      	r1, 0
    af66:	0c31      	bf      	0xafc8	// afc8 <tk_poweron_data_fineturn+0xb0>
    af68:	1130      	lrw      	r1, 0x20000a66	// b028 <tk_poweron_data_fineturn+0x110>
    af6a:	60c4      	addu      	r3, r1
    af6c:	8b60      	ld.h      	r3, (r3, 0x0)
    af6e:	74cd      	zexth      	r3, r3
    af70:	3b40      	cmpnei      	r3, 0
    af72:	0c2b      	bf      	0xafc8	// afc8 <tk_poweron_data_fineturn+0xb0>
    af74:	8d60      	ld.h      	r3, (r5, 0x0)
    af76:	1f02      	addi      	r7, r14, 8
    af78:	42a2      	lsli      	r5, r2, 2
    af7a:	615c      	addu      	r5, r7
    af7c:	74cd      	zexth      	r3, r3
    af7e:	95a0      	ld.w      	r5, (r5, 0x0)
    af80:	60d6      	subu      	r3, r5
    af82:	3bdf      	btsti      	r3, 31
    af84:	0c03      	bf      	0xaf8a	// af8a <tk_poweron_data_fineturn+0x72>
    af86:	3700      	movi      	r7, 0
    af88:	5f6d      	subu      	r3, r7, r3
    af8a:	3b24      	cmplti      	r3, 5
    af8c:	0817      	bt      	0xafba	// afba <tk_poweron_data_fineturn+0xa2>
    af8e:	4261      	lsli      	r3, r2, 1
    af90:	60d8      	addu      	r3, r6
    af92:	8b60      	ld.h      	r3, (r3, 0x0)
    af94:	74cd      	zexth      	r3, r3
    af96:	60d6      	subu      	r3, r5
    af98:	3bdf      	btsti      	r3, 31
    af9a:	0c03      	bf      	0xafa0	// afa0 <tk_poweron_data_fineturn+0x88>
    af9c:	3700      	movi      	r7, 0
    af9e:	5f6d      	subu      	r3, r7, r3
    afa0:	3b24      	cmplti      	r3, 5
    afa2:	080c      	bt      	0xafba	// afba <tk_poweron_data_fineturn+0xa2>
    afa4:	4261      	lsli      	r3, r2, 1
    afa6:	604c      	addu      	r1, r3
    afa8:	8960      	ld.h      	r3, (r1, 0x0)
    afaa:	74cd      	zexth      	r3, r3
    afac:	60d6      	subu      	r3, r5
    afae:	3bdf      	btsti      	r3, 31
    afb0:	0c03      	bf      	0xafb6	// afb6 <tk_poweron_data_fineturn+0x9e>
    afb2:	3100      	movi      	r1, 0
    afb4:	596d      	subu      	r3, r1, r3
    afb6:	3b24      	cmplti      	r3, 5
    afb8:	0c08      	bf      	0xafc8	// afc8 <tk_poweron_data_fineturn+0xb0>
    afba:	8c60      	ld.h      	r3, (r4, 0x0)
    afbc:	3b06      	cmphsi      	r3, 7
    afbe:	0805      	bt      	0xafc8	// afc8 <tk_poweron_data_fineturn+0xb0>
    afc0:	2300      	addi      	r3, 1
    afc2:	2000      	addi      	r0, 1
    afc4:	ac60      	st.h      	r3, (r4, 0x0)
    afc6:	7400      	zextb      	r0, r0
    afc8:	2200      	addi      	r2, 1
    afca:	3a51      	cmpnei      	r2, 17
    afcc:	2401      	addi      	r4, 2
    afce:	0bc1      	bt      	0xaf50	// af50 <tk_poweron_data_fineturn+0x38>
    afd0:	3840      	cmpnei      	r0, 0
    afd2:	0c1f      	bf      	0xb010	// b010 <tk_poweron_data_fineturn+0xf8>
    afd4:	1076      	lrw      	r3, 0x20000058	// b02c <tk_poweron_data_fineturn+0x114>
    afd6:	3200      	movi      	r2, 0
    afd8:	9360      	ld.w      	r3, (r3, 0x0)
    afda:	b342      	st.w      	r2, (r3, 0x8)
    afdc:	10b5      	lrw      	r5, 0x20000b34	// b030 <tk_poweron_data_fineturn+0x118>
    afde:	1076      	lrw      	r3, 0x20000054	// b034 <tk_poweron_data_fineturn+0x11c>
    afe0:	1016      	lrw      	r0, 0x20000ae4	// b038 <tk_poweron_data_fineturn+0x120>
    afe2:	9380      	ld.w      	r4, (r3, 0x0)
    afe4:	3300      	movi      	r3, 0
    afe6:	8040      	ld.b      	r2, (r0, 0x0)
    afe8:	648c      	cmphs      	r3, r2
    afea:	0c04      	bf      	0xaff2	// aff2 <tk_poweron_data_fineturn+0xda>
    afec:	e3fffef2 	bsr      	0xadd0	// add0 <TK_Baseline_prog2>
    aff0:	079c      	br      	0xaf28	// af28 <tk_poweron_data_fineturn+0x10>
    aff2:	5d4c      	addu      	r2, r5, r3
    aff4:	8240      	ld.b      	r2, (r2, 0x0)
    aff6:	4241      	lsli      	r2, r2, 1
    aff8:	98e1      	ld.w      	r7, (r14, 0x4)
    affa:	4322      	lsli      	r1, r3, 2
    affc:	609c      	addu      	r2, r7
    affe:	6050      	addu      	r1, r4
    b000:	8a40      	ld.h      	r2, (r2, 0x0)
    b002:	91d2      	ld.w      	r6, (r1, 0x48)
    b004:	4254      	lsli      	r2, r2, 20
    b006:	6c98      	or      	r2, r6
    b008:	2300      	addi      	r3, 1
    b00a:	b152      	st.w      	r2, (r1, 0x48)
    b00c:	74cc      	zextb      	r3, r3
    b00e:	07ec      	br      	0xafe6	// afe6 <tk_poweron_data_fineturn+0xce>
    b010:	1413      	addi      	r14, r14, 76
    b012:	1494      	pop      	r4-r7, r15
    b014:	20000070 	.long	0x20000070
    b018:	20000bda 	.long	0x20000bda
    b01c:	2000026e 	.long	0x2000026e
    b020:	20000242 	.long	0x20000242
    b024:	20000970 	.long	0x20000970
    b028:	20000a66 	.long	0x20000a66
    b02c:	20000058 	.long	0x20000058
    b030:	20000b34 	.long	0x20000b34
    b034:	20000054 	.long	0x20000054
    b038:	20000ae4 	.long	0x20000ae4

Disassembly of section .text.TK_Scan_Start:

0000b03c <TK_Scan_Start>:
    b03c:	1073      	lrw      	r3, 0x20000070	// b088 <TK_Scan_Start+0x4c>
    b03e:	1054      	lrw      	r2, 0x20000b45	// b08c <TK_Scan_Start+0x50>
    b040:	8302      	ld.b      	r0, (r3, 0x2)
    b042:	8220      	ld.b      	r1, (r2, 0x0)
    b044:	6442      	cmpne      	r0, r1
    b046:	0c16      	bf      	0xb072	// b072 <TK_Scan_Start+0x36>
    b048:	8220      	ld.b      	r1, (r2, 0x0)
    b04a:	7444      	zextb      	r1, r1
    b04c:	3941      	cmpnei      	r1, 1
    b04e:	0c18      	bf      	0xb07e	// b07e <TK_Scan_Start+0x42>
    b050:	3940      	cmpnei      	r1, 0
    b052:	0c11      	bf      	0xb074	// b074 <TK_Scan_Start+0x38>
    b054:	3942      	cmpnei      	r1, 2
    b056:	0c16      	bf      	0xb082	// b082 <TK_Scan_Start+0x46>
    b058:	8240      	ld.b      	r2, (r2, 0x0)
    b05a:	7488      	zextb      	r2, r2
    b05c:	a342      	st.b      	r2, (r3, 0x2)
    b05e:	8341      	ld.b      	r2, (r3, 0x1)
    b060:	7488      	zextb      	r2, r2
    b062:	3a41      	cmpnei      	r2, 1
    b064:	0807      	bt      	0xb072	// b072 <TK_Scan_Start+0x36>
    b066:	102b      	lrw      	r1, 0x20000058	// b090 <TK_Scan_Start+0x54>
    b068:	9120      	ld.w      	r1, (r1, 0x0)
    b06a:	b142      	st.w      	r2, (r1, 0x8)
    b06c:	3200      	movi      	r2, 0
    b06e:	a340      	st.b      	r2, (r3, 0x0)
    b070:	a341      	st.b      	r2, (r3, 0x1)
    b072:	783c      	jmp      	r15
    b074:	1028      	lrw      	r1, 0x20000bfc	// b094 <TK_Scan_Start+0x58>
    b076:	9100      	ld.w      	r0, (r1, 0x0)
    b078:	1028      	lrw      	r1, 0x40011200	// b098 <TK_Scan_Start+0x5c>
    b07a:	b110      	st.w      	r0, (r1, 0x40)
    b07c:	07ee      	br      	0xb058	// b058 <TK_Scan_Start+0x1c>
    b07e:	1028      	lrw      	r1, 0x2000096c	// b09c <TK_Scan_Start+0x60>
    b080:	07fb      	br      	0xb076	// b076 <TK_Scan_Start+0x3a>
    b082:	1028      	lrw      	r1, 0x2000099c	// b0a0 <TK_Scan_Start+0x64>
    b084:	07f9      	br      	0xb076	// b076 <TK_Scan_Start+0x3a>
    b086:	0000      	bkpt
    b088:	20000070 	.long	0x20000070
    b08c:	20000b45 	.long	0x20000b45
    b090:	20000058 	.long	0x20000058
    b094:	20000bfc 	.long	0x20000bfc
    b098:	40011200 	.long	0x40011200
    b09c:	2000096c 	.long	0x2000096c
    b0a0:	2000099c 	.long	0x2000099c

Disassembly of section .text.TK_Keymap_prog:

0000b0a4 <TK_Keymap_prog>:
    b0a4:	14d4      	push      	r4-r7, r15
    b0a6:	142a      	subi      	r14, r14, 40
    b0a8:	0171      	lrw      	r3, 0x20000264	// b3e0 <TK_Keymap_prog+0x33c>
    b0aa:	8360      	ld.b      	r3, (r3, 0x0)
    b0ac:	b860      	st.w      	r3, (r14, 0x0)
    b0ae:	3400      	movi      	r4, 0
    b0b0:	0172      	lrw      	r3, 0x20000238	// b3e4 <TK_Keymap_prog+0x340>
    b0b2:	8360      	ld.b      	r3, (r3, 0x0)
    b0b4:	b863      	st.w      	r3, (r14, 0xc)
    b0b6:	0172      	lrw      	r3, 0x20000241	// b3e8 <TK_Keymap_prog+0x344>
    b0b8:	83a0      	ld.b      	r5, (r3, 0x0)
    b0ba:	0172      	lrw      	r3, 0x20000240	// b3ec <TK_Keymap_prog+0x348>
    b0bc:	8360      	ld.b      	r3, (r3, 0x0)
    b0be:	b866      	st.w      	r3, (r14, 0x18)
    b0c0:	0173      	lrw      	r3, 0x20000bda	// b3f0 <TK_Keymap_prog+0x34c>
    b0c2:	b868      	st.w      	r3, (r14, 0x20)
    b0c4:	0173      	lrw      	r3, 0x20000948	// b3f4 <TK_Keymap_prog+0x350>
    b0c6:	b864      	st.w      	r3, (r14, 0x10)
    b0c8:	b869      	st.w      	r3, (r14, 0x24)
    b0ca:	4461      	lsli      	r3, r4, 1
    b0cc:	9848      	ld.w      	r2, (r14, 0x20)
    b0ce:	608c      	addu      	r2, r3
    b0d0:	0135      	lrw      	r1, 0x20000888	// b3f8 <TK_Keymap_prog+0x354>
    b0d2:	604c      	addu      	r1, r3
    b0d4:	8a40      	ld.h      	r2, (r2, 0x0)
    b0d6:	8920      	ld.h      	r1, (r1, 0x0)
    b0d8:	6086      	subu      	r2, r1
    b0da:	9829      	ld.w      	r1, (r14, 0x24)
    b0dc:	604c      	addu      	r1, r3
    b0de:	748b      	sexth      	r2, r2
    b0e0:	a940      	st.h      	r2, (r1, 0x0)
    b0e2:	0118      	lrw      	r0, 0x20000a32	// b3fc <TK_Keymap_prog+0x358>
    b0e4:	0158      	lrw      	r2, 0x20000970	// b400 <TK_Keymap_prog+0x35c>
    b0e6:	608c      	addu      	r2, r3
    b0e8:	600c      	addu      	r0, r3
    b0ea:	8a40      	ld.h      	r2, (r2, 0x0)
    b0ec:	8800      	ld.h      	r0, (r0, 0x0)
    b0ee:	6082      	subu      	r2, r0
    b0f0:	01da      	lrw      	r6, 0x20000a88	// b404 <TK_Keymap_prog+0x360>
    b0f2:	5e0c      	addu      	r0, r6, r3
    b0f4:	748b      	sexth      	r2, r2
    b0f6:	a840      	st.h      	r2, (r0, 0x0)
    b0f8:	b8c1      	st.w      	r6, (r14, 0x4)
    b0fa:	015b      	lrw      	r2, 0x20000a66	// b408 <TK_Keymap_prog+0x364>
    b0fc:	011b      	lrw      	r0, 0x20000b48	// b40c <TK_Keymap_prog+0x368>
    b0fe:	608c      	addu      	r2, r3
    b100:	600c      	addu      	r0, r3
    b102:	8a40      	ld.h      	r2, (r2, 0x0)
    b104:	8800      	ld.h      	r0, (r0, 0x0)
    b106:	6082      	subu      	r2, r0
    b108:	011d      	lrw      	r0, 0x20000bb4	// b410 <TK_Keymap_prog+0x36c>
    b10a:	748b      	sexth      	r2, r2
    b10c:	58ec      	addu      	r7, r0, r3
    b10e:	af40      	st.h      	r2, (r7, 0x0)
    b110:	8940      	ld.h      	r2, (r1, 0x0)
    b112:	748b      	sexth      	r2, r2
    b114:	3adf      	btsti      	r2, 31
    b116:	015f      	lrw      	r2, 0x20000b92	// b414 <TK_Keymap_prog+0x370>
    b118:	60c8      	addu      	r3, r2
    b11a:	b802      	st.w      	r0, (r14, 0x8)
    b11c:	0c49      	bf      	0xb1ae	// b1ae <TK_Keymap_prog+0x10a>
    b11e:	3200      	movi      	r2, 0
    b120:	ab40      	st.h      	r2, (r3, 0x0)
    b122:	9821      	ld.w      	r1, (r14, 0x4)
    b124:	4461      	lsli      	r3, r4, 1
    b126:	604c      	addu      	r1, r3
    b128:	8940      	ld.h      	r2, (r1, 0x0)
    b12a:	748b      	sexth      	r2, r2
    b12c:	3adf      	btsti      	r2, 31
    b12e:	0244      	lrw      	r2, 0x200008f0	// b418 <TK_Keymap_prog+0x374>
    b130:	60c8      	addu      	r3, r2
    b132:	0c41      	bf      	0xb1b4	// b1b4 <TK_Keymap_prog+0x110>
    b134:	3200      	movi      	r2, 0
    b136:	ab40      	st.h      	r2, (r3, 0x0)
    b138:	9822      	ld.w      	r1, (r14, 0x8)
    b13a:	4461      	lsli      	r3, r4, 1
    b13c:	604c      	addu      	r1, r3
    b13e:	8940      	ld.h      	r2, (r1, 0x0)
    b140:	748b      	sexth      	r2, r2
    b142:	3adf      	btsti      	r2, 31
    b144:	0249      	lrw      	r2, 0x200008c4	// b41c <TK_Keymap_prog+0x378>
    b146:	60c8      	addu      	r3, r2
    b148:	0c39      	bf      	0xb1ba	// b1ba <TK_Keymap_prog+0x116>
    b14a:	3200      	movi      	r2, 0
    b14c:	ab40      	st.h      	r2, (r3, 0x0)
    b14e:	9860      	ld.w      	r3, (r14, 0x0)
    b150:	3b03      	cmphsi      	r3, 4
    b152:	4421      	lsli      	r1, r4, 1
    b154:	0cb5      	bf      	0xb2be	// b2be <TK_Keymap_prog+0x21a>
    b156:	9864      	ld.w      	r3, (r14, 0x10)
    b158:	60c4      	addu      	r3, r1
    b15a:	024d      	lrw      	r2, 0x20000292	// b420 <TK_Keymap_prog+0x37c>
    b15c:	6048      	addu      	r1, r2
    b15e:	8b00      	ld.h      	r0, (r3, 0x0)
    b160:	8940      	ld.h      	r2, (r1, 0x0)
    b162:	7403      	sexth      	r0, r0
    b164:	6409      	cmplt      	r2, r0
    b166:	9820      	ld.w      	r1, (r14, 0x0)
    b168:	7c84      	mult      	r2, r1
    b16a:	0c9b      	bf      	0xb2a0	// b2a0 <TK_Keymap_prog+0x1fc>
    b16c:	8b20      	ld.h      	r1, (r3, 0x0)
    b16e:	7447      	sexth      	r1, r1
    b170:	6485      	cmplt      	r1, r2
    b172:	0c97      	bf      	0xb2a0	// b2a0 <TK_Keymap_prog+0x1fc>
    b174:	0233      	lrw      	r1, 0x20000935	// b424 <TK_Keymap_prog+0x380>
    b176:	6050      	addu      	r1, r4
    b178:	8140      	ld.b      	r2, (r1, 0x0)
    b17a:	2200      	addi      	r2, 1
    b17c:	7488      	zextb      	r2, r2
    b17e:	a140      	st.b      	r2, (r1, 0x0)
    b180:	3000      	movi      	r0, 0
    b182:	0255      	lrw      	r2, 0x20000914	// b428 <TK_Keymap_prog+0x384>
    b184:	6090      	addu      	r2, r4
    b186:	a200      	st.b      	r0, (r2, 0x0)
    b188:	0256      	lrw      	r2, 0x20000a54	// b42c <TK_Keymap_prog+0x388>
    b18a:	6090      	addu      	r2, r4
    b18c:	a200      	st.b      	r0, (r2, 0x0)
    b18e:	0256      	lrw      	r2, 0x20000aec	// b430 <TK_Keymap_prog+0x38c>
    b190:	6090      	addu      	r2, r4
    b192:	a200      	st.b      	r0, (r2, 0x0)
    b194:	8140      	ld.b      	r2, (r1, 0x0)
    b196:	9803      	ld.w      	r0, (r14, 0xc)
    b198:	6480      	cmphs      	r0, r2
    b19a:	081d      	bt      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b19c:	3d40      	cmpnei      	r5, 0
    b19e:	0811      	bt      	0xb1c0	// b1c0 <TK_Keymap_prog+0x11c>
    b1a0:	025a      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b1a2:	9260      	ld.w      	r3, (r2, 0x0)
    b1a4:	3b40      	cmpnei      	r3, 0
    b1a6:	0815      	bt      	0xb1d0	// b1d0 <TK_Keymap_prog+0x12c>
    b1a8:	9200      	ld.w      	r0, (r2, 0x0)
    b1aa:	3301      	movi      	r3, 1
    b1ac:	040f      	br      	0xb1ca	// b1ca <TK_Keymap_prog+0x126>
    b1ae:	8940      	ld.h      	r2, (r1, 0x0)
    b1b0:	7489      	zexth      	r2, r2
    b1b2:	07b7      	br      	0xb120	// b120 <TK_Keymap_prog+0x7c>
    b1b4:	8940      	ld.h      	r2, (r1, 0x0)
    b1b6:	7489      	zexth      	r2, r2
    b1b8:	07bf      	br      	0xb136	// b136 <TK_Keymap_prog+0x92>
    b1ba:	8940      	ld.h      	r2, (r1, 0x0)
    b1bc:	7489      	zexth      	r2, r2
    b1be:	07c7      	br      	0xb14c	// b14c <TK_Keymap_prog+0xa8>
    b1c0:	3d41      	cmpnei      	r5, 1
    b1c2:	085c      	bt      	0xb27a	// b27a <TK_Keymap_prog+0x1d6>
    b1c4:	0343      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b1c6:	6cd7      	mov      	r3, r5
    b1c8:	9200      	ld.w      	r0, (r2, 0x0)
    b1ca:	70d0      	lsl      	r3, r4
    b1cc:	6cc0      	or      	r3, r0
    b1ce:	b260      	st.w      	r3, (r2, 0x0)
    b1d0:	3300      	movi      	r3, 0
    b1d2:	a160      	st.b      	r3, (r1, 0x0)
    b1d4:	4461      	lsli      	r3, r4, 1
    b1d6:	9844      	ld.w      	r2, (r14, 0x10)
    b1d8:	608c      	addu      	r2, r3
    b1da:	8ac0      	ld.h      	r6, (r2, 0x0)
    b1dc:	034e      	lrw      	r2, 0x20000292	// b420 <TK_Keymap_prog+0x37c>
    b1de:	60c8      	addu      	r3, r2
    b1e0:	8be0      	ld.h      	r7, (r3, 0x0)
    b1e2:	4702      	lsli      	r0, r7, 2
    b1e4:	3105      	movi      	r1, 5
    b1e6:	e3ffd7ad 	bsr      	0x6140	// 6140 <__divsi3>
    b1ea:	759b      	sexth      	r6, r6
    b1ec:	6419      	cmplt      	r6, r0
    b1ee:	b805      	st.w      	r0, (r14, 0x14)
    b1f0:	0c18      	bf      	0xb220	// b220 <TK_Keymap_prog+0x17c>
    b1f2:	0351      	lrw      	r2, 0x20000914	// b428 <TK_Keymap_prog+0x384>
    b1f4:	6090      	addu      	r2, r4
    b1f6:	8260      	ld.b      	r3, (r2, 0x0)
    b1f8:	2300      	addi      	r3, 1
    b1fa:	74cc      	zextb      	r3, r3
    b1fc:	a260      	st.b      	r3, (r2, 0x0)
    b1fe:	3100      	movi      	r1, 0
    b200:	0376      	lrw      	r3, 0x20000935	// b424 <TK_Keymap_prog+0x380>
    b202:	60d0      	addu      	r3, r4
    b204:	a320      	st.b      	r1, (r3, 0x0)
    b206:	8260      	ld.b      	r3, (r2, 0x0)
    b208:	9826      	ld.w      	r1, (r14, 0x18)
    b20a:	64c4      	cmphs      	r1, r3
    b20c:	080a      	bt      	0xb220	// b220 <TK_Keymap_prog+0x17c>
    b20e:	3300      	movi      	r3, 0
    b210:	0336      	lrw      	r1, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b212:	2b01      	subi      	r3, 2
    b214:	9100      	ld.w      	r0, (r1, 0x0)
    b216:	70d3      	rotl      	r3, r4
    b218:	68c0      	and      	r3, r0
    b21a:	b160      	st.w      	r3, (r1, 0x0)
    b21c:	3300      	movi      	r3, 0
    b21e:	a260      	st.b      	r3, (r2, 0x0)
    b220:	9860      	ld.w      	r3, (r14, 0x0)
    b222:	9841      	ld.w      	r2, (r14, 0x4)
    b224:	3b03      	cmphsi      	r3, 4
    b226:	4461      	lsli      	r3, r4, 1
    b228:	60c8      	addu      	r3, r2
    b22a:	8b40      	ld.h      	r2, (r3, 0x0)
    b22c:	748b      	sexth      	r2, r2
    b22e:	0d4d      	bf      	0xb4c8	// b4c8 <TK_Keymap_prog+0x424>
    b230:	649d      	cmplt      	r7, r2
    b232:	0d3a      	bf      	0xb4a6	// b4a6 <TK_Keymap_prog+0x402>
    b234:	8b40      	ld.h      	r2, (r3, 0x0)
    b236:	9820      	ld.w      	r1, (r14, 0x0)
    b238:	748b      	sexth      	r2, r2
    b23a:	7c5c      	mult      	r1, r7
    b23c:	6449      	cmplt      	r2, r1
    b23e:	0d34      	bf      	0xb4a6	// b4a6 <TK_Keymap_prog+0x402>
    b240:	133e      	lrw      	r1, 0x20000b08	// b438 <TK_Keymap_prog+0x394>
    b242:	6050      	addu      	r1, r4
    b244:	8140      	ld.b      	r2, (r1, 0x0)
    b246:	2200      	addi      	r2, 1
    b248:	7488      	zextb      	r2, r2
    b24a:	a140      	st.b      	r2, (r1, 0x0)
    b24c:	3000      	movi      	r0, 0
    b24e:	135c      	lrw      	r2, 0x200009a4	// b43c <TK_Keymap_prog+0x398>
    b250:	6090      	addu      	r2, r4
    b252:	a200      	st.b      	r0, (r2, 0x0)
    b254:	135b      	lrw      	r2, 0x200009ce	// b440 <TK_Keymap_prog+0x39c>
    b256:	6090      	addu      	r2, r4
    b258:	a200      	st.b      	r0, (r2, 0x0)
    b25a:	135b      	lrw      	r2, 0x20000acc	// b444 <TK_Keymap_prog+0x3a0>
    b25c:	6090      	addu      	r2, r4
    b25e:	a200      	st.b      	r0, (r2, 0x0)
    b260:	8140      	ld.b      	r2, (r1, 0x0)
    b262:	9803      	ld.w      	r0, (r14, 0xc)
    b264:	6480      	cmphs      	r0, r2
    b266:	087d      	bt      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b268:	3d40      	cmpnei      	r5, 0
    b26a:	0871      	bt      	0xb34c	// b34c <TK_Keymap_prog+0x2a8>
    b26c:	1357      	lrw      	r2, 0x200008bc	// b448 <TK_Keymap_prog+0x3a4>
    b26e:	9260      	ld.w      	r3, (r2, 0x0)
    b270:	3b40      	cmpnei      	r3, 0
    b272:	0875      	bt      	0xb35c	// b35c <TK_Keymap_prog+0x2b8>
    b274:	9200      	ld.w      	r0, (r2, 0x0)
    b276:	3301      	movi      	r3, 1
    b278:	046f      	br      	0xb356	// b356 <TK_Keymap_prog+0x2b2>
    b27a:	3d42      	cmpnei      	r5, 2
    b27c:	0c03      	bf      	0xb282	// b282 <TK_Keymap_prog+0x1de>
    b27e:	e8000201 	br      	0xb680	// b680 <TK_Keymap_prog+0x5dc>
    b282:	13d3      	lrw      	r6, 0x20000ae2	// b44c <TK_Keymap_prog+0x3a8>
    b284:	8b00      	ld.h      	r0, (r3, 0x0)
    b286:	8e40      	ld.h      	r2, (r6, 0x0)
    b288:	7489      	zexth      	r2, r2
    b28a:	7403      	sexth      	r0, r0
    b28c:	2209      	addi      	r2, 10
    b28e:	6409      	cmplt      	r2, r0
    b290:	0fa0      	bf      	0xb1d0	// b1d0 <TK_Keymap_prog+0x12c>
    b292:	8b60      	ld.h      	r3, (r3, 0x0)
    b294:	74cd      	zexth      	r3, r3
    b296:	ae60      	st.h      	r3, (r6, 0x0)
    b298:	3300      	movi      	r3, 0
    b29a:	1347      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b29c:	b260      	st.w      	r3, (r2, 0x0)
    b29e:	0785      	br      	0xb1a8	// b1a8 <TK_Keymap_prog+0x104>
    b2a0:	4461      	lsli      	r3, r4, 1
    b2a2:	9824      	ld.w      	r1, (r14, 0x10)
    b2a4:	60c4      	addu      	r3, r1
    b2a6:	8b60      	ld.h      	r3, (r3, 0x0)
    b2a8:	74cf      	sexth      	r3, r3
    b2aa:	64c9      	cmplt      	r2, r3
    b2ac:	0f94      	bf      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b2ae:	3300      	movi      	r3, 0
    b2b0:	1341      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b2b2:	2b01      	subi      	r3, 2
    b2b4:	9220      	ld.w      	r1, (r2, 0x0)
    b2b6:	70d3      	rotl      	r3, r4
    b2b8:	68c4      	and      	r3, r1
    b2ba:	b260      	st.w      	r3, (r2, 0x0)
    b2bc:	078c      	br      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b2be:	9844      	ld.w      	r2, (r14, 0x10)
    b2c0:	6084      	addu      	r2, r1
    b2c2:	1218      	lrw      	r0, 0x20000292	// b420 <TK_Keymap_prog+0x37c>
    b2c4:	8a60      	ld.h      	r3, (r2, 0x0)
    b2c6:	6040      	addu      	r1, r0
    b2c8:	74cf      	sexth      	r3, r3
    b2ca:	8920      	ld.h      	r1, (r1, 0x0)
    b2cc:	64c5      	cmplt      	r1, r3
    b2ce:	0f83      	bf      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b2d0:	1360      	lrw      	r3, 0x20000946	// b450 <TK_Keymap_prog+0x3ac>
    b2d2:	8360      	ld.b      	r3, (r3, 0x0)
    b2d4:	74cc      	zextb      	r3, r3
    b2d6:	3b40      	cmpnei      	r3, 0
    b2d8:	0b7e      	bt      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b2da:	1213      	lrw      	r0, 0x20000935	// b424 <TK_Keymap_prog+0x380>
    b2dc:	6010      	addu      	r0, r4
    b2de:	8020      	ld.b      	r1, (r0, 0x0)
    b2e0:	2100      	addi      	r1, 1
    b2e2:	7444      	zextb      	r1, r1
    b2e4:	a020      	st.b      	r1, (r0, 0x0)
    b2e6:	3600      	movi      	r6, 0
    b2e8:	1230      	lrw      	r1, 0x20000914	// b428 <TK_Keymap_prog+0x384>
    b2ea:	6050      	addu      	r1, r4
    b2ec:	a1c0      	st.b      	r6, (r1, 0x0)
    b2ee:	1230      	lrw      	r1, 0x20000a54	// b42c <TK_Keymap_prog+0x388>
    b2f0:	6050      	addu      	r1, r4
    b2f2:	a1c0      	st.b      	r6, (r1, 0x0)
    b2f4:	122f      	lrw      	r1, 0x20000aec	// b430 <TK_Keymap_prog+0x38c>
    b2f6:	6050      	addu      	r1, r4
    b2f8:	a1c0      	st.b      	r6, (r1, 0x0)
    b2fa:	8020      	ld.b      	r1, (r0, 0x0)
    b2fc:	98c3      	ld.w      	r6, (r14, 0xc)
    b2fe:	6458      	cmphs      	r6, r1
    b300:	0b6a      	bt      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b302:	3d40      	cmpnei      	r5, 0
    b304:	0808      	bt      	0xb314	// b314 <TK_Keymap_prog+0x270>
    b306:	124c      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b308:	9260      	ld.w      	r3, (r2, 0x0)
    b30a:	3b40      	cmpnei      	r3, 0
    b30c:	080c      	bt      	0xb324	// b324 <TK_Keymap_prog+0x280>
    b30e:	9220      	ld.w      	r1, (r2, 0x0)
    b310:	3301      	movi      	r3, 1
    b312:	0406      	br      	0xb31e	// b31e <TK_Keymap_prog+0x27a>
    b314:	3d41      	cmpnei      	r5, 1
    b316:	080a      	bt      	0xb32a	// b32a <TK_Keymap_prog+0x286>
    b318:	1247      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b31a:	6cd7      	mov      	r3, r5
    b31c:	9220      	ld.w      	r1, (r2, 0x0)
    b31e:	70d0      	lsl      	r3, r4
    b320:	6cc4      	or      	r3, r1
    b322:	b260      	st.w      	r3, (r2, 0x0)
    b324:	3300      	movi      	r3, 0
    b326:	a060      	st.b      	r3, (r0, 0x0)
    b328:	0756      	br      	0xb1d4	// b1d4 <TK_Keymap_prog+0x130>
    b32a:	3d42      	cmpnei      	r5, 2
    b32c:	0c02      	bf      	0xb330	// b330 <TK_Keymap_prog+0x28c>
    b32e:	05dc      	br      	0xb6e6	// b6e6 <TK_Keymap_prog+0x642>
    b330:	12e7      	lrw      	r7, 0x20000ae2	// b44c <TK_Keymap_prog+0x3a8>
    b332:	8ac0      	ld.h      	r6, (r2, 0x0)
    b334:	8f20      	ld.h      	r1, (r7, 0x0)
    b336:	7445      	zexth      	r1, r1
    b338:	759b      	sexth      	r6, r6
    b33a:	2109      	addi      	r1, 10
    b33c:	6585      	cmplt      	r1, r6
    b33e:	0ff3      	bf      	0xb324	// b324 <TK_Keymap_prog+0x280>
    b340:	8a40      	ld.h      	r2, (r2, 0x0)
    b342:	7489      	zexth      	r2, r2
    b344:	af40      	st.h      	r2, (r7, 0x0)
    b346:	115c      	lrw      	r2, 0x20000928	// b434 <TK_Keymap_prog+0x390>
    b348:	b260      	st.w      	r3, (r2, 0x0)
    b34a:	07e2      	br      	0xb30e	// b30e <TK_Keymap_prog+0x26a>
    b34c:	3d41      	cmpnei      	r5, 1
    b34e:	089b      	bt      	0xb484	// b484 <TK_Keymap_prog+0x3e0>
    b350:	115e      	lrw      	r2, 0x200008bc	// b448 <TK_Keymap_prog+0x3a4>
    b352:	6cd7      	mov      	r3, r5
    b354:	9200      	ld.w      	r0, (r2, 0x0)
    b356:	70d0      	lsl      	r3, r4
    b358:	6cc0      	or      	r3, r0
    b35a:	b260      	st.w      	r3, (r2, 0x0)
    b35c:	3300      	movi      	r3, 0
    b35e:	a160      	st.b      	r3, (r1, 0x0)
    b360:	4461      	lsli      	r3, r4, 1
    b362:	9841      	ld.w      	r2, (r14, 0x4)
    b364:	608c      	addu      	r2, r3
    b366:	8a60      	ld.h      	r3, (r2, 0x0)
    b368:	74cf      	sexth      	r3, r3
    b36a:	9845      	ld.w      	r2, (r14, 0x14)
    b36c:	648d      	cmplt      	r3, r2
    b36e:	0c18      	bf      	0xb39e	// b39e <TK_Keymap_prog+0x2fa>
    b370:	1153      	lrw      	r2, 0x200009a4	// b43c <TK_Keymap_prog+0x398>
    b372:	6090      	addu      	r2, r4
    b374:	8260      	ld.b      	r3, (r2, 0x0)
    b376:	2300      	addi      	r3, 1
    b378:	74cc      	zextb      	r3, r3
    b37a:	a260      	st.b      	r3, (r2, 0x0)
    b37c:	3100      	movi      	r1, 0
    b37e:	116f      	lrw      	r3, 0x20000b08	// b438 <TK_Keymap_prog+0x394>
    b380:	60d0      	addu      	r3, r4
    b382:	a320      	st.b      	r1, (r3, 0x0)
    b384:	8260      	ld.b      	r3, (r2, 0x0)
    b386:	9826      	ld.w      	r1, (r14, 0x18)
    b388:	64c4      	cmphs      	r1, r3
    b38a:	080a      	bt      	0xb39e	// b39e <TK_Keymap_prog+0x2fa>
    b38c:	3300      	movi      	r3, 0
    b38e:	112f      	lrw      	r1, 0x200008bc	// b448 <TK_Keymap_prog+0x3a4>
    b390:	2b01      	subi      	r3, 2
    b392:	9100      	ld.w      	r0, (r1, 0x0)
    b394:	70d3      	rotl      	r3, r4
    b396:	68c0      	and      	r3, r0
    b398:	b160      	st.w      	r3, (r1, 0x0)
    b39a:	3300      	movi      	r3, 0
    b39c:	a260      	st.b      	r3, (r2, 0x0)
    b39e:	9860      	ld.w      	r3, (r14, 0x0)
    b3a0:	9842      	ld.w      	r2, (r14, 0x8)
    b3a2:	3b03      	cmphsi      	r3, 4
    b3a4:	4461      	lsli      	r3, r4, 1
    b3a6:	60c8      	addu      	r3, r2
    b3a8:	8b40      	ld.h      	r2, (r3, 0x0)
    b3aa:	748b      	sexth      	r2, r2
    b3ac:	0d26      	bf      	0xb5f8	// b5f8 <TK_Keymap_prog+0x554>
    b3ae:	9820      	ld.w      	r1, (r14, 0x0)
    b3b0:	649d      	cmplt      	r7, r2
    b3b2:	7c5c      	mult      	r1, r7
    b3b4:	0d13      	bf      	0xb5da	// b5da <TK_Keymap_prog+0x536>
    b3b6:	8b40      	ld.h      	r2, (r3, 0x0)
    b3b8:	748b      	sexth      	r2, r2
    b3ba:	6449      	cmplt      	r2, r1
    b3bc:	0d0f      	bf      	0xb5da	// b5da <TK_Keymap_prog+0x536>
    b3be:	1126      	lrw      	r1, 0x20000ab0	// b454 <TK_Keymap_prog+0x3b0>
    b3c0:	6050      	addu      	r1, r4
    b3c2:	8140      	ld.b      	r2, (r1, 0x0)
    b3c4:	2200      	addi      	r2, 1
    b3c6:	7488      	zextb      	r2, r2
    b3c8:	a140      	st.b      	r2, (r1, 0x0)
    b3ca:	3000      	movi      	r0, 0
    b3cc:	1143      	lrw      	r2, 0x20000b1e	// b458 <TK_Keymap_prog+0x3b4>
    b3ce:	6090      	addu      	r2, r4
    b3d0:	a200      	st.b      	r0, (r2, 0x0)
    b3d2:	1143      	lrw      	r2, 0x200008aa	// b45c <TK_Keymap_prog+0x3b8>
    b3d4:	6090      	addu      	r2, r4
    b3d6:	a200      	st.b      	r0, (r2, 0x0)
    b3d8:	1142      	lrw      	r2, 0x200009bc	// b460 <TK_Keymap_prog+0x3bc>
    b3da:	6090      	addu      	r2, r4
    b3dc:	a200      	st.b      	r0, (r2, 0x0)
    b3de:	0443      	br      	0xb464	// b464 <TK_Keymap_prog+0x3c0>
    b3e0:	20000264 	.long	0x20000264
    b3e4:	20000238 	.long	0x20000238
    b3e8:	20000241 	.long	0x20000241
    b3ec:	20000240 	.long	0x20000240
    b3f0:	20000bda 	.long	0x20000bda
    b3f4:	20000948 	.long	0x20000948
    b3f8:	20000888 	.long	0x20000888
    b3fc:	20000a32 	.long	0x20000a32
    b400:	20000970 	.long	0x20000970
    b404:	20000a88 	.long	0x20000a88
    b408:	20000a66 	.long	0x20000a66
    b40c:	20000b48 	.long	0x20000b48
    b410:	20000bb4 	.long	0x20000bb4
    b414:	20000b92 	.long	0x20000b92
    b418:	200008f0 	.long	0x200008f0
    b41c:	200008c4 	.long	0x200008c4
    b420:	20000292 	.long	0x20000292
    b424:	20000935 	.long	0x20000935
    b428:	20000914 	.long	0x20000914
    b42c:	20000a54 	.long	0x20000a54
    b430:	20000aec 	.long	0x20000aec
    b434:	20000928 	.long	0x20000928
    b438:	20000b08 	.long	0x20000b08
    b43c:	200009a4 	.long	0x200009a4
    b440:	200009ce 	.long	0x200009ce
    b444:	20000acc 	.long	0x20000acc
    b448:	200008bc 	.long	0x200008bc
    b44c:	20000ae2 	.long	0x20000ae2
    b450:	20000946 	.long	0x20000946
    b454:	20000ab0 	.long	0x20000ab0
    b458:	20000b1e 	.long	0x20000b1e
    b45c:	200008aa 	.long	0x200008aa
    b460:	200009bc 	.long	0x200009bc
    b464:	8140      	ld.b      	r2, (r1, 0x0)
    b466:	9803      	ld.w      	r0, (r14, 0xc)
    b468:	6480      	cmphs      	r0, r2
    b46a:	0881      	bt      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b46c:	3d40      	cmpnei      	r5, 0
    b46e:	0874      	bt      	0xb556	// b556 <TK_Keymap_prog+0x4b2>
    b470:	014b      	lrw      	r2, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b472:	9260      	ld.w      	r3, (r2, 0x0)
    b474:	3b40      	cmpnei      	r3, 0
    b476:	0879      	bt      	0xb568	// b568 <TK_Keymap_prog+0x4c4>
    b478:	3301      	movi      	r3, 1
    b47a:	9200      	ld.w      	r0, (r2, 0x0)
    b47c:	70d0      	lsl      	r3, r4
    b47e:	6cc0      	or      	r3, r0
    b480:	b260      	st.w      	r3, (r2, 0x0)
    b482:	0473      	br      	0xb568	// b568 <TK_Keymap_prog+0x4c4>
    b484:	3d42      	cmpnei      	r5, 2
    b486:	0960      	bt      	0xb746	// b746 <TK_Keymap_prog+0x6a2>
    b488:	01d0      	lrw      	r6, 0x20000bd8	// b7c4 <TK_Keymap_prog+0x720>
    b48a:	8b00      	ld.h      	r0, (r3, 0x0)
    b48c:	8e40      	ld.h      	r2, (r6, 0x0)
    b48e:	7489      	zexth      	r2, r2
    b490:	7403      	sexth      	r0, r0
    b492:	2209      	addi      	r2, 10
    b494:	6409      	cmplt      	r2, r0
    b496:	0f63      	bf      	0xb35c	// b35c <TK_Keymap_prog+0x2b8>
    b498:	8b60      	ld.h      	r3, (r3, 0x0)
    b49a:	74cd      	zexth      	r3, r3
    b49c:	ae60      	st.h      	r3, (r6, 0x0)
    b49e:	3300      	movi      	r3, 0
    b4a0:	0155      	lrw      	r2, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b4a2:	b260      	st.w      	r3, (r2, 0x0)
    b4a4:	06e8      	br      	0xb274	// b274 <TK_Keymap_prog+0x1d0>
    b4a6:	9841      	ld.w      	r2, (r14, 0x4)
    b4a8:	4461      	lsli      	r3, r4, 1
    b4aa:	60c8      	addu      	r3, r2
    b4ac:	8b60      	ld.h      	r3, (r3, 0x0)
    b4ae:	9840      	ld.w      	r2, (r14, 0x0)
    b4b0:	74cf      	sexth      	r3, r3
    b4b2:	7c9c      	mult      	r2, r7
    b4b4:	64c9      	cmplt      	r2, r3
    b4b6:	0f55      	bf      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b4b8:	3300      	movi      	r3, 0
    b4ba:	015b      	lrw      	r2, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b4bc:	2b01      	subi      	r3, 2
    b4be:	9220      	ld.w      	r1, (r2, 0x0)
    b4c0:	70d3      	rotl      	r3, r4
    b4c2:	68c4      	and      	r3, r1
    b4c4:	b260      	st.w      	r3, (r2, 0x0)
    b4c6:	074d      	br      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b4c8:	649d      	cmplt      	r7, r2
    b4ca:	0f4b      	bf      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b4cc:	015f      	lrw      	r2, 0x20000946	// b7cc <TK_Keymap_prog+0x728>
    b4ce:	8240      	ld.b      	r2, (r2, 0x0)
    b4d0:	7488      	zextb      	r2, r2
    b4d2:	3a40      	cmpnei      	r2, 0
    b4d4:	b847      	st.w      	r2, (r14, 0x1c)
    b4d6:	0b45      	bt      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b4d8:	0201      	lrw      	r0, 0x20000b08	// b7d0 <TK_Keymap_prog+0x72c>
    b4da:	6010      	addu      	r0, r4
    b4dc:	8020      	ld.b      	r1, (r0, 0x0)
    b4de:	2100      	addi      	r1, 1
    b4e0:	7444      	zextb      	r1, r1
    b4e2:	a020      	st.b      	r1, (r0, 0x0)
    b4e4:	3600      	movi      	r6, 0
    b4e6:	0223      	lrw      	r1, 0x200009a4	// b7d4 <TK_Keymap_prog+0x730>
    b4e8:	6050      	addu      	r1, r4
    b4ea:	a1c0      	st.b      	r6, (r1, 0x0)
    b4ec:	0224      	lrw      	r1, 0x200009ce	// b7d8 <TK_Keymap_prog+0x734>
    b4ee:	6050      	addu      	r1, r4
    b4f0:	a1c0      	st.b      	r6, (r1, 0x0)
    b4f2:	0224      	lrw      	r1, 0x20000acc	// b7dc <TK_Keymap_prog+0x738>
    b4f4:	6050      	addu      	r1, r4
    b4f6:	a1c0      	st.b      	r6, (r1, 0x0)
    b4f8:	8020      	ld.b      	r1, (r0, 0x0)
    b4fa:	98c3      	ld.w      	r6, (r14, 0xc)
    b4fc:	6458      	cmphs      	r6, r1
    b4fe:	0b31      	bt      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b500:	3d40      	cmpnei      	r5, 0
    b502:	0808      	bt      	0xb512	// b512 <TK_Keymap_prog+0x46e>
    b504:	024e      	lrw      	r2, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b506:	9260      	ld.w      	r3, (r2, 0x0)
    b508:	3b40      	cmpnei      	r3, 0
    b50a:	0823      	bt      	0xb550	// b550 <TK_Keymap_prog+0x4ac>
    b50c:	9220      	ld.w      	r1, (r2, 0x0)
    b50e:	3301      	movi      	r3, 1
    b510:	0406      	br      	0xb51c	// b51c <TK_Keymap_prog+0x478>
    b512:	3d41      	cmpnei      	r5, 1
    b514:	0808      	bt      	0xb524	// b524 <TK_Keymap_prog+0x480>
    b516:	0252      	lrw      	r2, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b518:	6cd7      	mov      	r3, r5
    b51a:	9220      	ld.w      	r1, (r2, 0x0)
    b51c:	70d0      	lsl      	r3, r4
    b51e:	6cc4      	or      	r3, r1
    b520:	b260      	st.w      	r3, (r2, 0x0)
    b522:	0417      	br      	0xb550	// b550 <TK_Keymap_prog+0x4ac>
    b524:	3d42      	cmpnei      	r5, 2
    b526:	0942      	bt      	0xb7aa	// b7aa <TK_Keymap_prog+0x706>
    b528:	8bc0      	ld.h      	r6, (r3, 0x0)
    b52a:	745b      	sexth      	r1, r6
    b52c:	02d9      	lrw      	r6, 0x20000bd8	// b7c4 <TK_Keymap_prog+0x720>
    b52e:	6c87      	mov      	r2, r1
    b530:	8e20      	ld.h      	r1, (r6, 0x0)
    b532:	7445      	zexth      	r1, r1
    b534:	2109      	addi      	r1, 10
    b536:	6485      	cmplt      	r1, r2
    b538:	0c0c      	bf      	0xb550	// b550 <TK_Keymap_prog+0x4ac>
    b53a:	8b60      	ld.h      	r3, (r3, 0x0)
    b53c:	74cd      	zexth      	r3, r3
    b53e:	ae60      	st.h      	r3, (r6, 0x0)
    b540:	9867      	ld.w      	r3, (r14, 0x1c)
    b542:	023d      	lrw      	r1, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b544:	b160      	st.w      	r3, (r1, 0x0)
    b546:	3301      	movi      	r3, 1
    b548:	9140      	ld.w      	r2, (r1, 0x0)
    b54a:	70d0      	lsl      	r3, r4
    b54c:	6cc8      	or      	r3, r2
    b54e:	b160      	st.w      	r3, (r1, 0x0)
    b550:	3300      	movi      	r3, 0
    b552:	a060      	st.b      	r3, (r0, 0x0)
    b554:	0706      	br      	0xb360	// b360 <TK_Keymap_prog+0x2bc>
    b556:	3d41      	cmpnei      	r5, 1
    b558:	0830      	bt      	0xb5b8	// b5b8 <TK_Keymap_prog+0x514>
    b55a:	0345      	lrw      	r2, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b55c:	6cd7      	mov      	r3, r5
    b55e:	9200      	ld.w      	r0, (r2, 0x0)
    b560:	70d0      	lsl      	r3, r4
    b562:	6cc0      	or      	r3, r0
    b564:	b260      	st.w      	r3, (r2, 0x0)
    b566:	6c03      	mov      	r0, r0
    b568:	3300      	movi      	r3, 0
    b56a:	a160      	st.b      	r3, (r1, 0x0)
    b56c:	4461      	lsli      	r3, r4, 1
    b56e:	9842      	ld.w      	r2, (r14, 0x8)
    b570:	608c      	addu      	r2, r3
    b572:	8a60      	ld.h      	r3, (r2, 0x0)
    b574:	74cf      	sexth      	r3, r3
    b576:	9845      	ld.w      	r2, (r14, 0x14)
    b578:	648d      	cmplt      	r3, r2
    b57a:	0c18      	bf      	0xb5aa	// b5aa <TK_Keymap_prog+0x506>
    b57c:	0346      	lrw      	r2, 0x20000b1e	// b7e0 <TK_Keymap_prog+0x73c>
    b57e:	6090      	addu      	r2, r4
    b580:	8260      	ld.b      	r3, (r2, 0x0)
    b582:	2300      	addi      	r3, 1
    b584:	74cc      	zextb      	r3, r3
    b586:	a260      	st.b      	r3, (r2, 0x0)
    b588:	3100      	movi      	r1, 0
    b58a:	0368      	lrw      	r3, 0x20000ab0	// b7e4 <TK_Keymap_prog+0x740>
    b58c:	60d0      	addu      	r3, r4
    b58e:	a320      	st.b      	r1, (r3, 0x0)
    b590:	8260      	ld.b      	r3, (r2, 0x0)
    b592:	9826      	ld.w      	r1, (r14, 0x18)
    b594:	64c4      	cmphs      	r1, r3
    b596:	080a      	bt      	0xb5aa	// b5aa <TK_Keymap_prog+0x506>
    b598:	3300      	movi      	r3, 0
    b59a:	0335      	lrw      	r1, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b59c:	2b01      	subi      	r3, 2
    b59e:	9100      	ld.w      	r0, (r1, 0x0)
    b5a0:	70d3      	rotl      	r3, r4
    b5a2:	68c0      	and      	r3, r0
    b5a4:	b160      	st.w      	r3, (r1, 0x0)
    b5a6:	3300      	movi      	r3, 0
    b5a8:	a260      	st.b      	r3, (r2, 0x0)
    b5aa:	2400      	addi      	r4, 1
    b5ac:	3c51      	cmpnei      	r4, 17
    b5ae:	0c03      	bf      	0xb5b4	// b5b4 <TK_Keymap_prog+0x510>
    b5b0:	e800fd8d 	br      	0xb0ca	// b0ca <TK_Keymap_prog+0x26>
    b5b4:	140a      	addi      	r14, r14, 40
    b5b6:	1494      	pop      	r4-r7, r15
    b5b8:	3d42      	cmpnei      	r5, 2
    b5ba:	0948      	bt      	0xb84a	// b84a <TK_Keymap_prog+0x7a6>
    b5bc:	03d4      	lrw      	r6, 0x2000096a	// b7e8 <TK_Keymap_prog+0x744>
    b5be:	8b00      	ld.h      	r0, (r3, 0x0)
    b5c0:	8e40      	ld.h      	r2, (r6, 0x0)
    b5c2:	7489      	zexth      	r2, r2
    b5c4:	7403      	sexth      	r0, r0
    b5c6:	2209      	addi      	r2, 10
    b5c8:	6409      	cmplt      	r2, r0
    b5ca:	0fcf      	bf      	0xb568	// b568 <TK_Keymap_prog+0x4c4>
    b5cc:	8b60      	ld.h      	r3, (r3, 0x0)
    b5ce:	74cd      	zexth      	r3, r3
    b5d0:	ae60      	st.h      	r3, (r6, 0x0)
    b5d2:	3300      	movi      	r3, 0
    b5d4:	135b      	lrw      	r2, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b5d6:	b260      	st.w      	r3, (r2, 0x0)
    b5d8:	0750      	br      	0xb478	// b478 <TK_Keymap_prog+0x3d4>
    b5da:	4461      	lsli      	r3, r4, 1
    b5dc:	9842      	ld.w      	r2, (r14, 0x8)
    b5de:	60c8      	addu      	r3, r2
    b5e0:	8b60      	ld.h      	r3, (r3, 0x0)
    b5e2:	74cf      	sexth      	r3, r3
    b5e4:	64c5      	cmplt      	r1, r3
    b5e6:	0fc3      	bf      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b5e8:	3300      	movi      	r3, 0
    b5ea:	1356      	lrw      	r2, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b5ec:	2b01      	subi      	r3, 2
    b5ee:	9220      	ld.w      	r1, (r2, 0x0)
    b5f0:	70d3      	rotl      	r3, r4
    b5f2:	68c4      	and      	r3, r1
    b5f4:	b260      	st.w      	r3, (r2, 0x0)
    b5f6:	07bb      	br      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b5f8:	649d      	cmplt      	r7, r2
    b5fa:	0fb9      	bf      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b5fc:	1354      	lrw      	r2, 0x20000946	// b7cc <TK_Keymap_prog+0x728>
    b5fe:	8240      	ld.b      	r2, (r2, 0x0)
    b600:	7488      	zextb      	r2, r2
    b602:	3a40      	cmpnei      	r2, 0
    b604:	0bb4      	bt      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b606:	1318      	lrw      	r0, 0x20000ab0	// b7e4 <TK_Keymap_prog+0x740>
    b608:	6010      	addu      	r0, r4
    b60a:	8020      	ld.b      	r1, (r0, 0x0)
    b60c:	2100      	addi      	r1, 1
    b60e:	7444      	zextb      	r1, r1
    b610:	a020      	st.b      	r1, (r0, 0x0)
    b612:	3600      	movi      	r6, 0
    b614:	1333      	lrw      	r1, 0x20000b1e	// b7e0 <TK_Keymap_prog+0x73c>
    b616:	6050      	addu      	r1, r4
    b618:	a1c0      	st.b      	r6, (r1, 0x0)
    b61a:	1335      	lrw      	r1, 0x200008aa	// b7ec <TK_Keymap_prog+0x748>
    b61c:	6050      	addu      	r1, r4
    b61e:	a1c0      	st.b      	r6, (r1, 0x0)
    b620:	1334      	lrw      	r1, 0x200009bc	// b7f0 <TK_Keymap_prog+0x74c>
    b622:	6050      	addu      	r1, r4
    b624:	a1c0      	st.b      	r6, (r1, 0x0)
    b626:	8020      	ld.b      	r1, (r0, 0x0)
    b628:	98c3      	ld.w      	r6, (r14, 0xc)
    b62a:	6458      	cmphs      	r6, r1
    b62c:	0ba0      	bt      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b62e:	3d40      	cmpnei      	r5, 0
    b630:	0808      	bt      	0xb640	// b640 <TK_Keymap_prog+0x59c>
    b632:	1344      	lrw      	r2, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b634:	9260      	ld.w      	r3, (r2, 0x0)
    b636:	3b40      	cmpnei      	r3, 0
    b638:	0821      	bt      	0xb67a	// b67a <TK_Keymap_prog+0x5d6>
    b63a:	9220      	ld.w      	r1, (r2, 0x0)
    b63c:	3301      	movi      	r3, 1
    b63e:	0406      	br      	0xb64a	// b64a <TK_Keymap_prog+0x5a6>
    b640:	3d41      	cmpnei      	r5, 1
    b642:	0808      	bt      	0xb652	// b652 <TK_Keymap_prog+0x5ae>
    b644:	125f      	lrw      	r2, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b646:	6cd7      	mov      	r3, r5
    b648:	9220      	ld.w      	r1, (r2, 0x0)
    b64a:	70d0      	lsl      	r3, r4
    b64c:	6cc4      	or      	r3, r1
    b64e:	b260      	st.w      	r3, (r2, 0x0)
    b650:	0415      	br      	0xb67a	// b67a <TK_Keymap_prog+0x5d6>
    b652:	3d42      	cmpnei      	r5, 2
    b654:	092a      	bt      	0xb8a8	// b8a8 <TK_Keymap_prog+0x804>
    b656:	13e5      	lrw      	r7, 0x2000096a	// b7e8 <TK_Keymap_prog+0x744>
    b658:	8bc0      	ld.h      	r6, (r3, 0x0)
    b65a:	8f20      	ld.h      	r1, (r7, 0x0)
    b65c:	7445      	zexth      	r1, r1
    b65e:	759b      	sexth      	r6, r6
    b660:	2109      	addi      	r1, 10
    b662:	6585      	cmplt      	r1, r6
    b664:	0c0b      	bf      	0xb67a	// b67a <TK_Keymap_prog+0x5d6>
    b666:	8b60      	ld.h      	r3, (r3, 0x0)
    b668:	1236      	lrw      	r1, 0x200009a0	// b7c0 <TK_Keymap_prog+0x71c>
    b66a:	74cd      	zexth      	r3, r3
    b66c:	af60      	st.h      	r3, (r7, 0x0)
    b66e:	b140      	st.w      	r2, (r1, 0x0)
    b670:	3301      	movi      	r3, 1
    b672:	9140      	ld.w      	r2, (r1, 0x0)
    b674:	70d0      	lsl      	r3, r4
    b676:	6cc8      	or      	r3, r2
    b678:	b160      	st.w      	r3, (r1, 0x0)
    b67a:	3300      	movi      	r3, 0
    b67c:	a060      	st.b      	r3, (r0, 0x0)
    b67e:	0777      	br      	0xb56c	// b56c <TK_Keymap_prog+0x4c8>
    b680:	3d43      	cmpnei      	r5, 3
    b682:	0c03      	bf      	0xb688	// b688 <TK_Keymap_prog+0x5e4>
    b684:	e800fda6 	br      	0xb1d0	// b1d0 <TK_Keymap_prog+0x12c>
    b688:	125b      	lrw      	r2, 0x20000ae2	// b7f4 <TK_Keymap_prog+0x750>
    b68a:	8bc0      	ld.h      	r6, (r3, 0x0)
    b68c:	8a00      	ld.h      	r0, (r2, 0x0)
    b68e:	7401      	zexth      	r0, r0
    b690:	759b      	sexth      	r6, r6
    b692:	2009      	addi      	r0, 10
    b694:	6581      	cmplt      	r0, r6
    b696:	0c0c      	bf      	0xb6ae	// b6ae <TK_Keymap_prog+0x60a>
    b698:	8b60      	ld.h      	r3, (r3, 0x0)
    b69a:	74cd      	zexth      	r3, r3
    b69c:	aa60      	st.h      	r3, (r2, 0x0)
    b69e:	3300      	movi      	r3, 0
    b6a0:	1216      	lrw      	r0, 0x20000928	// b7f8 <TK_Keymap_prog+0x754>
    b6a2:	b060      	st.w      	r3, (r0, 0x0)
    b6a4:	3301      	movi      	r3, 1
    b6a6:	90c0      	ld.w      	r6, (r0, 0x0)
    b6a8:	70d0      	lsl      	r3, r4
    b6aa:	6cd8      	or      	r3, r6
    b6ac:	b060      	st.w      	r3, (r0, 0x0)
    b6ae:	9804      	ld.w      	r0, (r14, 0x10)
    b6b0:	4461      	lsli      	r3, r4, 1
    b6b2:	60c0      	addu      	r3, r0
    b6b4:	8b00      	ld.h      	r0, (r3, 0x0)
    b6b6:	8a40      	ld.h      	r2, (r2, 0x0)
    b6b8:	7489      	zexth      	r2, r2
    b6ba:	7403      	sexth      	r0, r0
    b6bc:	2a04      	subi      	r2, 5
    b6be:	6481      	cmplt      	r0, r2
    b6c0:	0803      	bt      	0xb6c6	// b6c6 <TK_Keymap_prog+0x622>
    b6c2:	e800fd87 	br      	0xb1d0	// b1d0 <TK_Keymap_prog+0x12c>
    b6c6:	12ce      	lrw      	r6, 0x200008ec	// b7fc <TK_Keymap_prog+0x758>
    b6c8:	8b00      	ld.h      	r0, (r3, 0x0)
    b6ca:	8e40      	ld.h      	r2, (r6, 0x0)
    b6cc:	7489      	zexth      	r2, r2
    b6ce:	7403      	sexth      	r0, r0
    b6d0:	2204      	addi      	r2, 5
    b6d2:	6409      	cmplt      	r2, r0
    b6d4:	0803      	bt      	0xb6da	// b6da <TK_Keymap_prog+0x636>
    b6d6:	e800fd7d 	br      	0xb1d0	// b1d0 <TK_Keymap_prog+0x12c>
    b6da:	8b60      	ld.h      	r3, (r3, 0x0)
    b6dc:	74cd      	zexth      	r3, r3
    b6de:	ae60      	st.h      	r3, (r6, 0x0)
    b6e0:	1246      	lrw      	r2, 0x20000928	// b7f8 <TK_Keymap_prog+0x754>
    b6e2:	e800fd63 	br      	0xb1a8	// b1a8 <TK_Keymap_prog+0x104>
    b6e6:	3d43      	cmpnei      	r5, 3
    b6e8:	0c02      	bf      	0xb6ec	// b6ec <TK_Keymap_prog+0x648>
    b6ea:	061d      	br      	0xb324	// b324 <TK_Keymap_prog+0x280>
    b6ec:	12c2      	lrw      	r6, 0x20000ae2	// b7f4 <TK_Keymap_prog+0x750>
    b6ee:	8ae0      	ld.h      	r7, (r2, 0x0)
    b6f0:	8e20      	ld.h      	r1, (r6, 0x0)
    b6f2:	7445      	zexth      	r1, r1
    b6f4:	75df      	sexth      	r7, r7
    b6f6:	2109      	addi      	r1, 10
    b6f8:	65c5      	cmplt      	r1, r7
    b6fa:	0c0b      	bf      	0xb710	// b710 <TK_Keymap_prog+0x66c>
    b6fc:	8a40      	ld.h      	r2, (r2, 0x0)
    b6fe:	7489      	zexth      	r2, r2
    b700:	ae40      	st.h      	r2, (r6, 0x0)
    b702:	115e      	lrw      	r2, 0x20000928	// b7f8 <TK_Keymap_prog+0x754>
    b704:	b260      	st.w      	r3, (r2, 0x0)
    b706:	3301      	movi      	r3, 1
    b708:	9220      	ld.w      	r1, (r2, 0x0)
    b70a:	70d0      	lsl      	r3, r4
    b70c:	6cc4      	or      	r3, r1
    b70e:	b260      	st.w      	r3, (r2, 0x0)
    b710:	9844      	ld.w      	r2, (r14, 0x10)
    b712:	4461      	lsli      	r3, r4, 1
    b714:	60c8      	addu      	r3, r2
    b716:	8b40      	ld.h      	r2, (r3, 0x0)
    b718:	8e20      	ld.h      	r1, (r6, 0x0)
    b71a:	7445      	zexth      	r1, r1
    b71c:	748b      	sexth      	r2, r2
    b71e:	2904      	subi      	r1, 5
    b720:	6449      	cmplt      	r2, r1
    b722:	0802      	bt      	0xb726	// b726 <TK_Keymap_prog+0x682>
    b724:	0600      	br      	0xb324	// b324 <TK_Keymap_prog+0x280>
    b726:	11d6      	lrw      	r6, 0x200008ec	// b7fc <TK_Keymap_prog+0x758>
    b728:	8b20      	ld.h      	r1, (r3, 0x0)
    b72a:	8e40      	ld.h      	r2, (r6, 0x0)
    b72c:	7489      	zexth      	r2, r2
    b72e:	7447      	sexth      	r1, r1
    b730:	2204      	addi      	r2, 5
    b732:	6449      	cmplt      	r2, r1
    b734:	0803      	bt      	0xb73a	// b73a <TK_Keymap_prog+0x696>
    b736:	e800fdf7 	br      	0xb324	// b324 <TK_Keymap_prog+0x280>
    b73a:	8b60      	ld.h      	r3, (r3, 0x0)
    b73c:	74cd      	zexth      	r3, r3
    b73e:	ae60      	st.h      	r3, (r6, 0x0)
    b740:	114e      	lrw      	r2, 0x20000928	// b7f8 <TK_Keymap_prog+0x754>
    b742:	e800fde6 	br      	0xb30e	// b30e <TK_Keymap_prog+0x26a>
    b746:	3d43      	cmpnei      	r5, 3
    b748:	0c02      	bf      	0xb74c	// b74c <TK_Keymap_prog+0x6a8>
    b74a:	0609      	br      	0xb35c	// b35c <TK_Keymap_prog+0x2b8>
    b74c:	105e      	lrw      	r2, 0x20000bd8	// b7c4 <TK_Keymap_prog+0x720>
    b74e:	8bc0      	ld.h      	r6, (r3, 0x0)
    b750:	8a00      	ld.h      	r0, (r2, 0x0)
    b752:	7401      	zexth      	r0, r0
    b754:	759b      	sexth      	r6, r6
    b756:	2009      	addi      	r0, 10
    b758:	6581      	cmplt      	r0, r6
    b75a:	0c0c      	bf      	0xb772	// b772 <TK_Keymap_prog+0x6ce>
    b75c:	8b60      	ld.h      	r3, (r3, 0x0)
    b75e:	74cd      	zexth      	r3, r3
    b760:	aa60      	st.h      	r3, (r2, 0x0)
    b762:	3300      	movi      	r3, 0
    b764:	1019      	lrw      	r0, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b766:	b060      	st.w      	r3, (r0, 0x0)
    b768:	3301      	movi      	r3, 1
    b76a:	90c0      	ld.w      	r6, (r0, 0x0)
    b76c:	70d0      	lsl      	r3, r4
    b76e:	6cd8      	or      	r3, r6
    b770:	b060      	st.w      	r3, (r0, 0x0)
    b772:	9801      	ld.w      	r0, (r14, 0x4)
    b774:	4461      	lsli      	r3, r4, 1
    b776:	60c0      	addu      	r3, r0
    b778:	8b00      	ld.h      	r0, (r3, 0x0)
    b77a:	8a40      	ld.h      	r2, (r2, 0x0)
    b77c:	7489      	zexth      	r2, r2
    b77e:	7403      	sexth      	r0, r0
    b780:	2a04      	subi      	r2, 5
    b782:	6481      	cmplt      	r0, r2
    b784:	0803      	bt      	0xb78a	// b78a <TK_Keymap_prog+0x6e6>
    b786:	e800fdeb 	br      	0xb35c	// b35c <TK_Keymap_prog+0x2b8>
    b78a:	10de      	lrw      	r6, 0x20000aea	// b800 <TK_Keymap_prog+0x75c>
    b78c:	8b00      	ld.h      	r0, (r3, 0x0)
    b78e:	8e40      	ld.h      	r2, (r6, 0x0)
    b790:	7489      	zexth      	r2, r2
    b792:	7403      	sexth      	r0, r0
    b794:	2204      	addi      	r2, 5
    b796:	6409      	cmplt      	r2, r0
    b798:	0803      	bt      	0xb79e	// b79e <TK_Keymap_prog+0x6fa>
    b79a:	e800fde1 	br      	0xb35c	// b35c <TK_Keymap_prog+0x2b8>
    b79e:	8b60      	ld.h      	r3, (r3, 0x0)
    b7a0:	74cd      	zexth      	r3, r3
    b7a2:	ae60      	st.h      	r3, (r6, 0x0)
    b7a4:	1049      	lrw      	r2, 0x200008bc	// b7c8 <TK_Keymap_prog+0x724>
    b7a6:	e800fd67 	br      	0xb274	// b274 <TK_Keymap_prog+0x1d0>
    b7aa:	3d43      	cmpnei      	r5, 3
    b7ac:	0ad2      	bt      	0xb550	// b550 <TK_Keymap_prog+0x4ac>
    b7ae:	8b20      	ld.h      	r1, (r3, 0x0)
    b7b0:	10c5      	lrw      	r6, 0x20000bd8	// b7c4 <TK_Keymap_prog+0x720>
    b7b2:	7487      	sexth      	r2, r1
    b7b4:	8e20      	ld.h      	r1, (r6, 0x0)
    b7b6:	7445      	zexth      	r1, r1
    b7b8:	2109      	addi      	r1, 10
    b7ba:	6485      	cmplt      	r1, r2
    b7bc:	0c2f      	bf      	0xb81a	// b81a <TK_Keymap_prog+0x776>
    b7be:	0423      	br      	0xb804	// b804 <TK_Keymap_prog+0x760>
    b7c0:	200009a0 	.long	0x200009a0
    b7c4:	20000bd8 	.long	0x20000bd8
    b7c8:	200008bc 	.long	0x200008bc
    b7cc:	20000946 	.long	0x20000946
    b7d0:	20000b08 	.long	0x20000b08
    b7d4:	200009a4 	.long	0x200009a4
    b7d8:	200009ce 	.long	0x200009ce
    b7dc:	20000acc 	.long	0x20000acc
    b7e0:	20000b1e 	.long	0x20000b1e
    b7e4:	20000ab0 	.long	0x20000ab0
    b7e8:	2000096a 	.long	0x2000096a
    b7ec:	200008aa 	.long	0x200008aa
    b7f0:	200009bc 	.long	0x200009bc
    b7f4:	20000ae2 	.long	0x20000ae2
    b7f8:	20000928 	.long	0x20000928
    b7fc:	200008ec 	.long	0x200008ec
    b800:	20000aea 	.long	0x20000aea
    b804:	8b60      	ld.h      	r3, (r3, 0x0)
    b806:	74cd      	zexth      	r3, r3
    b808:	ae60      	st.h      	r3, (r6, 0x0)
    b80a:	9867      	ld.w      	r3, (r14, 0x1c)
    b80c:	113d      	lrw      	r1, 0x200008bc	// b900 <TK_Keymap_prog+0x85c>
    b80e:	b160      	st.w      	r3, (r1, 0x0)
    b810:	3301      	movi      	r3, 1
    b812:	9140      	ld.w      	r2, (r1, 0x0)
    b814:	70d0      	lsl      	r3, r4
    b816:	6cc8      	or      	r3, r2
    b818:	b160      	st.w      	r3, (r1, 0x0)
    b81a:	9841      	ld.w      	r2, (r14, 0x4)
    b81c:	4461      	lsli      	r3, r4, 1
    b81e:	60c8      	addu      	r3, r2
    b820:	8b40      	ld.h      	r2, (r3, 0x0)
    b822:	8e20      	ld.h      	r1, (r6, 0x0)
    b824:	7445      	zexth      	r1, r1
    b826:	748b      	sexth      	r2, r2
    b828:	2904      	subi      	r1, 5
    b82a:	6449      	cmplt      	r2, r1
    b82c:	0e92      	bf      	0xb550	// b550 <TK_Keymap_prog+0x4ac>
    b82e:	11d6      	lrw      	r6, 0x20000aea	// b904 <TK_Keymap_prog+0x860>
    b830:	8b20      	ld.h      	r1, (r3, 0x0)
    b832:	8e40      	ld.h      	r2, (r6, 0x0)
    b834:	7489      	zexth      	r2, r2
    b836:	7447      	sexth      	r1, r1
    b838:	2204      	addi      	r2, 5
    b83a:	6449      	cmplt      	r2, r1
    b83c:	0802      	bt      	0xb840	// b840 <TK_Keymap_prog+0x79c>
    b83e:	0689      	br      	0xb550	// b550 <TK_Keymap_prog+0x4ac>
    b840:	8b60      	ld.h      	r3, (r3, 0x0)
    b842:	74cd      	zexth      	r3, r3
    b844:	ae60      	st.h      	r3, (r6, 0x0)
    b846:	114f      	lrw      	r2, 0x200008bc	// b900 <TK_Keymap_prog+0x85c>
    b848:	0662      	br      	0xb50c	// b50c <TK_Keymap_prog+0x468>
    b84a:	3d43      	cmpnei      	r5, 3
    b84c:	0a8e      	bt      	0xb568	// b568 <TK_Keymap_prog+0x4c4>
    b84e:	114f      	lrw      	r2, 0x2000096a	// b908 <TK_Keymap_prog+0x864>
    b850:	8bc0      	ld.h      	r6, (r3, 0x0)
    b852:	8a00      	ld.h      	r0, (r2, 0x0)
    b854:	7401      	zexth      	r0, r0
    b856:	759b      	sexth      	r6, r6
    b858:	2009      	addi      	r0, 10
    b85a:	6581      	cmplt      	r0, r6
    b85c:	0c0c      	bf      	0xb874	// b874 <TK_Keymap_prog+0x7d0>
    b85e:	8b60      	ld.h      	r3, (r3, 0x0)
    b860:	74cd      	zexth      	r3, r3
    b862:	aa60      	st.h      	r3, (r2, 0x0)
    b864:	3300      	movi      	r3, 0
    b866:	110a      	lrw      	r0, 0x200009a0	// b90c <TK_Keymap_prog+0x868>
    b868:	b060      	st.w      	r3, (r0, 0x0)
    b86a:	3301      	movi      	r3, 1
    b86c:	90c0      	ld.w      	r6, (r0, 0x0)
    b86e:	70d0      	lsl      	r3, r4
    b870:	6cd8      	or      	r3, r6
    b872:	b060      	st.w      	r3, (r0, 0x0)
    b874:	9802      	ld.w      	r0, (r14, 0x8)
    b876:	4461      	lsli      	r3, r4, 1
    b878:	60c0      	addu      	r3, r0
    b87a:	8b00      	ld.h      	r0, (r3, 0x0)
    b87c:	8a40      	ld.h      	r2, (r2, 0x0)
    b87e:	7489      	zexth      	r2, r2
    b880:	7403      	sexth      	r0, r0
    b882:	2a04      	subi      	r2, 5
    b884:	6481      	cmplt      	r0, r2
    b886:	0802      	bt      	0xb88a	// b88a <TK_Keymap_prog+0x7e6>
    b888:	0670      	br      	0xb568	// b568 <TK_Keymap_prog+0x4c4>
    b88a:	11c2      	lrw      	r6, 0x20000a30	// b910 <TK_Keymap_prog+0x86c>
    b88c:	8b00      	ld.h      	r0, (r3, 0x0)
    b88e:	8e40      	ld.h      	r2, (r6, 0x0)
    b890:	7489      	zexth      	r2, r2
    b892:	7403      	sexth      	r0, r0
    b894:	2204      	addi      	r2, 5
    b896:	6409      	cmplt      	r2, r0
    b898:	0802      	bt      	0xb89c	// b89c <TK_Keymap_prog+0x7f8>
    b89a:	0667      	br      	0xb568	// b568 <TK_Keymap_prog+0x4c4>
    b89c:	8b60      	ld.h      	r3, (r3, 0x0)
    b89e:	74cd      	zexth      	r3, r3
    b8a0:	ae60      	st.h      	r3, (r6, 0x0)
    b8a2:	105b      	lrw      	r2, 0x200009a0	// b90c <TK_Keymap_prog+0x868>
    b8a4:	e800fdea 	br      	0xb478	// b478 <TK_Keymap_prog+0x3d4>
    b8a8:	3d43      	cmpnei      	r5, 3
    b8aa:	0ae8      	bt      	0xb67a	// b67a <TK_Keymap_prog+0x5d6>
    b8ac:	10d7      	lrw      	r6, 0x2000096a	// b908 <TK_Keymap_prog+0x864>
    b8ae:	8be0      	ld.h      	r7, (r3, 0x0)
    b8b0:	8e20      	ld.h      	r1, (r6, 0x0)
    b8b2:	7445      	zexth      	r1, r1
    b8b4:	75df      	sexth      	r7, r7
    b8b6:	2109      	addi      	r1, 10
    b8b8:	65c5      	cmplt      	r1, r7
    b8ba:	0c0b      	bf      	0xb8d0	// b8d0 <TK_Keymap_prog+0x82c>
    b8bc:	8b60      	ld.h      	r3, (r3, 0x0)
    b8be:	1034      	lrw      	r1, 0x200009a0	// b90c <TK_Keymap_prog+0x868>
    b8c0:	74cd      	zexth      	r3, r3
    b8c2:	ae60      	st.h      	r3, (r6, 0x0)
    b8c4:	b140      	st.w      	r2, (r1, 0x0)
    b8c6:	3301      	movi      	r3, 1
    b8c8:	9140      	ld.w      	r2, (r1, 0x0)
    b8ca:	70d0      	lsl      	r3, r4
    b8cc:	6cc8      	or      	r3, r2
    b8ce:	b160      	st.w      	r3, (r1, 0x0)
    b8d0:	9842      	ld.w      	r2, (r14, 0x8)
    b8d2:	4461      	lsli      	r3, r4, 1
    b8d4:	60c8      	addu      	r3, r2
    b8d6:	8b40      	ld.h      	r2, (r3, 0x0)
    b8d8:	8e20      	ld.h      	r1, (r6, 0x0)
    b8da:	7445      	zexth      	r1, r1
    b8dc:	748b      	sexth      	r2, r2
    b8de:	2904      	subi      	r1, 5
    b8e0:	6449      	cmplt      	r2, r1
    b8e2:	0ecc      	bf      	0xb67a	// b67a <TK_Keymap_prog+0x5d6>
    b8e4:	10cb      	lrw      	r6, 0x20000a30	// b910 <TK_Keymap_prog+0x86c>
    b8e6:	8b20      	ld.h      	r1, (r3, 0x0)
    b8e8:	8e40      	ld.h      	r2, (r6, 0x0)
    b8ea:	7489      	zexth      	r2, r2
    b8ec:	7447      	sexth      	r1, r1
    b8ee:	2204      	addi      	r2, 5
    b8f0:	6449      	cmplt      	r2, r1
    b8f2:	0ec4      	bf      	0xb67a	// b67a <TK_Keymap_prog+0x5d6>
    b8f4:	8b60      	ld.h      	r3, (r3, 0x0)
    b8f6:	74cd      	zexth      	r3, r3
    b8f8:	ae60      	st.h      	r3, (r6, 0x0)
    b8fa:	1045      	lrw      	r2, 0x200009a0	// b90c <TK_Keymap_prog+0x868>
    b8fc:	069f      	br      	0xb63a	// b63a <TK_Keymap_prog+0x596>
    b8fe:	0000      	bkpt
    b900:	200008bc 	.long	0x200008bc
    b904:	20000aea 	.long	0x20000aea
    b908:	2000096a 	.long	0x2000096a
    b90c:	200009a0 	.long	0x200009a0
    b910:	20000a30 	.long	0x20000a30

Disassembly of section .text.TK_overflow_predict:

0000b914 <TK_overflow_predict>:
    b914:	14d4      	push      	r4-r7, r15
    b916:	1422      	subi      	r14, r14, 8
    b918:	113c      	lrw      	r1, 0x20000070	// ba08 <TK_overflow_predict+0xf4>
    b91a:	8167      	ld.b      	r3, (r1, 0x7)
    b91c:	3b41      	cmpnei      	r3, 1
    b91e:	0823      	bt      	0xb964	// b964 <TK_overflow_predict+0x50>
    b920:	115b      	lrw      	r2, 0x20000aaa	// ba0c <TK_overflow_predict+0xf8>
    b922:	8260      	ld.b      	r3, (r2, 0x0)
    b924:	2300      	addi      	r3, 1
    b926:	74cc      	zextb      	r3, r3
    b928:	a260      	st.b      	r3, (r2, 0x0)
    b92a:	8260      	ld.b      	r3, (r2, 0x0)
    b92c:	1119      	lrw      	r0, 0x20000265	// ba10 <TK_overflow_predict+0xfc>
    b92e:	8000      	ld.b      	r0, (r0, 0x0)
    b930:	64c0      	cmphs      	r0, r3
    b932:	0819      	bt      	0xb964	// b964 <TK_overflow_predict+0x50>
    b934:	3300      	movi      	r3, 0
    b936:	a260      	st.b      	r3, (r2, 0x0)
    b938:	11b7      	lrw      	r5, 0x200009b5	// ba14 <TK_overflow_predict+0x100>
    b93a:	8560      	ld.b      	r3, (r5, 0x0)
    b93c:	3b40      	cmpnei      	r3, 0
    b93e:	0c15      	bf      	0xb968	// b968 <TK_overflow_predict+0x54>
    b940:	8560      	ld.b      	r3, (r5, 0x0)
    b942:	3b41      	cmpnei      	r3, 1
    b944:	0810      	bt      	0xb964	// b964 <TK_overflow_predict+0x50>
    b946:	3300      	movi      	r3, 0
    b948:	a560      	st.b      	r3, (r5, 0x0)
    b94a:	3200      	movi      	r2, 0
    b94c:	1173      	lrw      	r3, 0x20000058	// ba18 <TK_overflow_predict+0x104>
    b94e:	1114      	lrw      	r0, 0x20000ae4	// ba1c <TK_overflow_predict+0x108>
    b950:	11b4      	lrw      	r5, 0x20000b34	// ba20 <TK_overflow_predict+0x10c>
    b952:	11d5      	lrw      	r6, 0x20000242	// ba24 <TK_overflow_predict+0x110>
    b954:	9360      	ld.w      	r3, (r3, 0x0)
    b956:	b342      	st.w      	r2, (r3, 0x8)
    b958:	1174      	lrw      	r3, 0x20000054	// ba28 <TK_overflow_predict+0x114>
    b95a:	9380      	ld.w      	r4, (r3, 0x0)
    b95c:	3300      	movi      	r3, 0
    b95e:	8040      	ld.b      	r2, (r0, 0x0)
    b960:	648c      	cmphs      	r3, r2
    b962:	0c44      	bf      	0xb9ea	// b9ea <TK_overflow_predict+0xd6>
    b964:	1402      	addi      	r14, r14, 8
    b966:	1494      	pop      	r4-r7, r15
    b968:	597e      	addi      	r3, r1, 8
    b96a:	3600      	movi      	r6, 0
    b96c:	11f0      	lrw      	r7, 0x20000268	// ba2c <TK_overflow_predict+0x118>
    b96e:	b860      	st.w      	r3, (r14, 0x0)
    b970:	9760      	ld.w      	r3, (r7, 0x0)
    b972:	70d9      	lsr      	r3, r6
    b974:	3201      	movi      	r2, 1
    b976:	68c8      	and      	r3, r2
    b978:	3b40      	cmpnei      	r3, 0
    b97a:	0c34      	bf      	0xb9e2	// b9e2 <TK_overflow_predict+0xce>
    b97c:	4681      	lsli      	r4, r6, 1
    b97e:	9860      	ld.w      	r3, (r14, 0x0)
    b980:	60d0      	addu      	r3, r4
    b982:	8b00      	ld.h      	r0, (r3, 0x0)
    b984:	e3ffc22a 	bsr      	0x3dd8	// 3dd8 <__floatunsidf>
    b988:	6cc7      	mov      	r3, r1
    b98a:	3180      	movi      	r1, 128
    b98c:	6c83      	mov      	r2, r0
    b98e:	4137      	lsli      	r1, r1, 23
    b990:	3000      	movi      	r0, 0
    b992:	e3ffb811 	bsr      	0x29b4	// 29b4 <__GI_pow>
    b996:	1167      	lrw      	r3, 0x2000026e	// ba30 <TK_overflow_predict+0x11c>
    b998:	60d0      	addu      	r3, r4
    b99a:	8b60      	ld.h      	r3, (r3, 0x0)
    b99c:	4364      	lsli      	r3, r3, 4
    b99e:	230e      	addi      	r3, 15
    b9a0:	b861      	st.w      	r3, (r14, 0x4)
    b9a2:	e3ffbdd3 	bsr      	0x3548	// 3548 <__fixunsdfsi>
    b9a6:	9861      	ld.w      	r3, (r14, 0x4)
    b9a8:	7cc0      	mult      	r3, r0
    b9aa:	1143      	lrw      	r2, 0x20000b6a	// ba34 <TK_overflow_predict+0x120>
    b9ac:	740d      	zexth      	r0, r3
    b9ae:	6090      	addu      	r2, r4
    b9b0:	1162      	lrw      	r3, 0x20000bda	// ba38 <TK_overflow_predict+0x124>
    b9b2:	60d0      	addu      	r3, r4
    b9b4:	aa00      	st.h      	r0, (r2, 0x0)
    b9b6:	8b60      	ld.h      	r3, (r3, 0x0)
    b9b8:	8a00      	ld.h      	r0, (r2, 0x0)
    b9ba:	7401      	zexth      	r0, r0
    b9bc:	325f      	movi      	r2, 95
    b9be:	74cd      	zexth      	r3, r3
    b9c0:	7c08      	mult      	r0, r2
    b9c2:	3164      	movi      	r1, 100
    b9c4:	b861      	st.w      	r3, (r14, 0x4)
    b9c6:	e3ffd3bd 	bsr      	0x6140	// 6140 <__divsi3>
    b9ca:	9861      	ld.w      	r3, (r14, 0x4)
    b9cc:	64c1      	cmplt      	r0, r3
    b9ce:	0c0a      	bf      	0xb9e2	// b9e2 <TK_overflow_predict+0xce>
    b9d0:	1075      	lrw      	r3, 0x20000242	// ba24 <TK_overflow_predict+0x110>
    b9d2:	610c      	addu      	r4, r3
    b9d4:	8c60      	ld.h      	r3, (r4, 0x0)
    b9d6:	3b06      	cmphsi      	r3, 7
    b9d8:	0805      	bt      	0xb9e2	// b9e2 <TK_overflow_predict+0xce>
    b9da:	2300      	addi      	r3, 1
    b9dc:	ac60      	st.h      	r3, (r4, 0x0)
    b9de:	3301      	movi      	r3, 1
    b9e0:	a560      	st.b      	r3, (r5, 0x0)
    b9e2:	2600      	addi      	r6, 1
    b9e4:	3e51      	cmpnei      	r6, 17
    b9e6:	0bc5      	bt      	0xb970	// b970 <TK_overflow_predict+0x5c>
    b9e8:	07ac      	br      	0xb940	// b940 <TK_overflow_predict+0x2c>
    b9ea:	5d4c      	addu      	r2, r5, r3
    b9ec:	8240      	ld.b      	r2, (r2, 0x0)
    b9ee:	4241      	lsli      	r2, r2, 1
    b9f0:	4322      	lsli      	r1, r3, 2
    b9f2:	6098      	addu      	r2, r6
    b9f4:	6050      	addu      	r1, r4
    b9f6:	8a40      	ld.h      	r2, (r2, 0x0)
    b9f8:	91f2      	ld.w      	r7, (r1, 0x48)
    b9fa:	4254      	lsli      	r2, r2, 20
    b9fc:	6c9c      	or      	r2, r7
    b9fe:	2300      	addi      	r3, 1
    ba00:	b152      	st.w      	r2, (r1, 0x48)
    ba02:	74cc      	zextb      	r3, r3
    ba04:	07ad      	br      	0xb95e	// b95e <TK_overflow_predict+0x4a>
    ba06:	0000      	bkpt
    ba08:	20000070 	.long	0x20000070
    ba0c:	20000aaa 	.long	0x20000aaa
    ba10:	20000265 	.long	0x20000265
    ba14:	200009b5 	.long	0x200009b5
    ba18:	20000058 	.long	0x20000058
    ba1c:	20000ae4 	.long	0x20000ae4
    ba20:	20000b34 	.long	0x20000b34
    ba24:	20000242 	.long	0x20000242
    ba28:	20000054 	.long	0x20000054
    ba2c:	20000268 	.long	0x20000268
    ba30:	2000026e 	.long	0x2000026e
    ba34:	20000b6a 	.long	0x20000b6a
    ba38:	20000bda 	.long	0x20000bda

Disassembly of section .text.TK_Baseline_tracking:

0000ba3c <TK_Baseline_tracking>:
    ba3c:	14d4      	push      	r4-r7, r15
    ba3e:	1421      	subi      	r14, r14, 4
    ba40:	014a      	lrw      	r2, 0x20000a26	// bd94 <TK_Baseline_tracking+0x358>
    ba42:	8260      	ld.b      	r3, (r2, 0x0)
    ba44:	2300      	addi      	r3, 1
    ba46:	74cc      	zextb      	r3, r3
    ba48:	a260      	st.b      	r3, (r2, 0x0)
    ba4a:	8260      	ld.b      	r3, (r2, 0x0)
    ba4c:	012c      	lrw      	r1, 0x20000265	// bd98 <TK_Baseline_tracking+0x35c>
    ba4e:	8120      	ld.b      	r1, (r1, 0x0)
    ba50:	644c      	cmphs      	r3, r1
    ba52:	0803      	bt      	0xba58	// ba58 <TK_Baseline_tracking+0x1c>
    ba54:	e800020f 	br      	0xbe72	// be72 <TK_Baseline_tracking+0x436>
    ba58:	3300      	movi      	r3, 0
    ba5a:	a260      	st.b      	r3, (r2, 0x0)
    ba5c:	016f      	lrw      	r3, 0x20000928	// bd9c <TK_Baseline_tracking+0x360>
    ba5e:	9360      	ld.w      	r3, (r3, 0x0)
    ba60:	3b40      	cmpnei      	r3, 0
    ba62:	0c03      	bf      	0xba68	// ba68 <TK_Baseline_tracking+0x2c>
    ba64:	e8000209 	br      	0xbe76	// be76 <TK_Baseline_tracking+0x43a>
    ba68:	0171      	lrw      	r3, 0x20000948	// bda0 <TK_Baseline_tracking+0x364>
    ba6a:	0150      	lrw      	r2, 0x20000292	// bda4 <TK_Baseline_tracking+0x368>
    ba6c:	3100      	movi      	r1, 0
    ba6e:	b860      	st.w      	r3, (r14, 0x0)
    ba70:	6d0f      	mov      	r4, r3
    ba72:	0111      	lrw      	r0, 0x20000888	// bda8 <TK_Baseline_tracking+0x36c>
    ba74:	4161      	lsli      	r3, r1, 1
    ba76:	98a0      	ld.w      	r5, (r14, 0x0)
    ba78:	614c      	addu      	r5, r3
    ba7a:	8da0      	ld.h      	r5, (r5, 0x0)
    ba7c:	7557      	sexth      	r5, r5
    ba7e:	3ddf      	btsti      	r5, 31
    ba80:	0c1c      	bf      	0xbab8	// bab8 <TK_Baseline_tracking+0x7c>
    ba82:	01d4      	lrw      	r6, 0x20000bda	// bdac <TK_Baseline_tracking+0x370>
    ba84:	58ac      	addu      	r5, r0, r3
    ba86:	618c      	addu      	r6, r3
    ba88:	8da0      	ld.h      	r5, (r5, 0x0)
    ba8a:	8ec0      	ld.h      	r6, (r6, 0x0)
    ba8c:	7599      	zexth      	r6, r6
    ba8e:	7555      	zexth      	r5, r5
    ba90:	615a      	subu      	r5, r6
    ba92:	8ac0      	ld.h      	r6, (r2, 0x0)
    ba94:	6595      	cmplt      	r5, r6
    ba96:	0811      	bt      	0xbab8	// bab8 <TK_Baseline_tracking+0x7c>
    ba98:	01b9      	lrw      	r5, 0x20000aec	// bdb0 <TK_Baseline_tracking+0x374>
    ba9a:	6144      	addu      	r5, r1
    ba9c:	85c0      	ld.b      	r6, (r5, 0x0)
    ba9e:	2600      	addi      	r6, 1
    baa0:	7598      	zextb      	r6, r6
    baa2:	a5c0      	st.b      	r6, (r5, 0x0)
    baa4:	01db      	lrw      	r6, 0x20000090	// bdb4 <TK_Baseline_tracking+0x378>
    baa6:	85e0      	ld.b      	r7, (r5, 0x0)
    baa8:	86ca      	ld.b      	r6, (r6, 0xa)
    baaa:	65d8      	cmphs      	r6, r7
    baac:	0806      	bt      	0xbab8	// bab8 <TK_Baseline_tracking+0x7c>
    baae:	01dc      	lrw      	r6, 0x20000994	// bdb8 <TK_Baseline_tracking+0x37c>
    bab0:	3701      	movi      	r7, 1
    bab2:	a6e0      	st.b      	r7, (r6, 0x0)
    bab4:	3600      	movi      	r6, 0
    bab6:	a5c0      	st.b      	r6, (r5, 0x0)
    bab8:	5cac      	addu      	r5, r4, r3
    baba:	8da0      	ld.h      	r5, (r5, 0x0)
    babc:	7557      	sexth      	r5, r5
    babe:	3d20      	cmplti      	r5, 1
    bac0:	081d      	bt      	0xbafa	// bafa <TK_Baseline_tracking+0xbe>
    bac2:	02a4      	lrw      	r5, 0x20000bda	// bdac <TK_Baseline_tracking+0x370>
    bac4:	614c      	addu      	r5, r3
    bac6:	58cc      	addu      	r6, r0, r3
    bac8:	8da0      	ld.h      	r5, (r5, 0x0)
    baca:	8ec0      	ld.h      	r6, (r6, 0x0)
    bacc:	7599      	zexth      	r6, r6
    bace:	7555      	zexth      	r5, r5
    bad0:	615a      	subu      	r5, r6
    bad2:	8ac0      	ld.h      	r6, (r2, 0x0)
    bad4:	46c2      	lsli      	r6, r6, 2
    bad6:	6595      	cmplt      	r5, r6
    bad8:	0811      	bt      	0xbafa	// bafa <TK_Baseline_tracking+0xbe>
    bada:	02a6      	lrw      	r5, 0x20000a54	// bdbc <TK_Baseline_tracking+0x380>
    badc:	6144      	addu      	r5, r1
    bade:	85c0      	ld.b      	r6, (r5, 0x0)
    bae0:	2600      	addi      	r6, 1
    bae2:	7598      	zextb      	r6, r6
    bae4:	a5c0      	st.b      	r6, (r5, 0x0)
    bae6:	02cb      	lrw      	r6, 0x20000090	// bdb4 <TK_Baseline_tracking+0x378>
    bae8:	85e0      	ld.b      	r7, (r5, 0x0)
    baea:	86cb      	ld.b      	r6, (r6, 0xb)
    baec:	65d8      	cmphs      	r6, r7
    baee:	0806      	bt      	0xbafa	// bafa <TK_Baseline_tracking+0xbe>
    baf0:	02cd      	lrw      	r6, 0x20000994	// bdb8 <TK_Baseline_tracking+0x37c>
    baf2:	3701      	movi      	r7, 1
    baf4:	a6e0      	st.b      	r7, (r6, 0x0)
    baf6:	3600      	movi      	r6, 0
    baf8:	a5c0      	st.b      	r6, (r5, 0x0)
    bafa:	5cac      	addu      	r5, r4, r3
    bafc:	8da0      	ld.h      	r5, (r5, 0x0)
    bafe:	7557      	sexth      	r5, r5
    bb00:	3ddf      	btsti      	r5, 31
    bb02:	0c10      	bf      	0xbb22	// bb22 <TK_Baseline_tracking+0xe6>
    bb04:	02f5      	lrw      	r7, 0x20000bda	// bdac <TK_Baseline_tracking+0x370>
    bb06:	58cc      	addu      	r6, r0, r3
    bb08:	61cc      	addu      	r7, r3
    bb0a:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb0c:	8fe0      	ld.h      	r7, (r7, 0x0)
    bb0e:	75dd      	zexth      	r7, r7
    bb10:	7555      	zexth      	r5, r5
    bb12:	615e      	subu      	r5, r7
    bb14:	8ae0      	ld.h      	r7, (r2, 0x0)
    bb16:	65d5      	cmplt      	r5, r7
    bb18:	0c05      	bf      	0xbb22	// bb22 <TK_Baseline_tracking+0xe6>
    bb1a:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb1c:	2d00      	subi      	r5, 1
    bb1e:	7555      	zexth      	r5, r5
    bb20:	aea0      	st.h      	r5, (r6, 0x0)
    bb22:	5cac      	addu      	r5, r4, r3
    bb24:	8da0      	ld.h      	r5, (r5, 0x0)
    bb26:	7557      	sexth      	r5, r5
    bb28:	3ddf      	btsti      	r5, 31
    bb2a:	0c11      	bf      	0xbb4c	// bb4c <TK_Baseline_tracking+0x110>
    bb2c:	02ff      	lrw      	r7, 0x20000bda	// bdac <TK_Baseline_tracking+0x370>
    bb2e:	58cc      	addu      	r6, r0, r3
    bb30:	61cc      	addu      	r7, r3
    bb32:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb34:	8fe0      	ld.h      	r7, (r7, 0x0)
    bb36:	75dd      	zexth      	r7, r7
    bb38:	7555      	zexth      	r5, r5
    bb3a:	615e      	subu      	r5, r7
    bb3c:	8ae0      	ld.h      	r7, (r2, 0x0)
    bb3e:	4fe1      	lsri      	r7, r7, 1
    bb40:	65d5      	cmplt      	r5, r7
    bb42:	0805      	bt      	0xbb4c	// bb4c <TK_Baseline_tracking+0x110>
    bb44:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb46:	2d01      	subi      	r5, 2
    bb48:	7555      	zexth      	r5, r5
    bb4a:	aea0      	st.h      	r5, (r6, 0x0)
    bb4c:	5ccc      	addu      	r6, r4, r3
    bb4e:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb50:	7557      	sexth      	r5, r5
    bb52:	3d20      	cmplti      	r5, 1
    bb54:	080c      	bt      	0xbb6c	// bb6c <TK_Baseline_tracking+0x130>
    bb56:	8ec0      	ld.h      	r6, (r6, 0x0)
    bb58:	8aa0      	ld.h      	r5, (r2, 0x0)
    bb5a:	759b      	sexth      	r6, r6
    bb5c:	4da1      	lsri      	r5, r5, 1
    bb5e:	6559      	cmplt      	r6, r5
    bb60:	0c06      	bf      	0xbb6c	// bb6c <TK_Baseline_tracking+0x130>
    bb62:	58cc      	addu      	r6, r0, r3
    bb64:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb66:	2500      	addi      	r5, 1
    bb68:	7555      	zexth      	r5, r5
    bb6a:	aea0      	st.h      	r5, (r6, 0x0)
    bb6c:	5ccc      	addu      	r6, r4, r3
    bb6e:	8ea0      	ld.h      	r5, (r6, 0x0)
    bb70:	7557      	sexth      	r5, r5
    bb72:	3d20      	cmplti      	r5, 1
    bb74:	0810      	bt      	0xbb94	// bb94 <TK_Baseline_tracking+0x158>
    bb76:	8ee0      	ld.h      	r7, (r6, 0x0)
    bb78:	75df      	sexth      	r7, r7
    bb7a:	8aa0      	ld.h      	r5, (r2, 0x0)
    bb7c:	655d      	cmplt      	r7, r5
    bb7e:	0c0b      	bf      	0xbb94	// bb94 <TK_Baseline_tracking+0x158>
    bb80:	8ec0      	ld.h      	r6, (r6, 0x0)
    bb82:	759b      	sexth      	r6, r6
    bb84:	4da1      	lsri      	r5, r5, 1
    bb86:	6559      	cmplt      	r6, r5
    bb88:	0806      	bt      	0xbb94	// bb94 <TK_Baseline_tracking+0x158>
    bb8a:	60c0      	addu      	r3, r0
    bb8c:	8ba0      	ld.h      	r5, (r3, 0x0)
    bb8e:	2501      	addi      	r5, 2
    bb90:	7555      	zexth      	r5, r5
    bb92:	aba0      	st.h      	r5, (r3, 0x0)
    bb94:	2100      	addi      	r1, 1
    bb96:	3951      	cmpnei      	r1, 17
    bb98:	2201      	addi      	r2, 2
    bb9a:	0b6d      	bt      	0xba74	// ba74 <TK_Baseline_tracking+0x38>
    bb9c:	0376      	lrw      	r3, 0x200008bc	// bdc0 <TK_Baseline_tracking+0x384>
    bb9e:	9360      	ld.w      	r3, (r3, 0x0)
    bba0:	3b40      	cmpnei      	r3, 0
    bba2:	0980      	bt      	0xbea2	// bea2 <TK_Baseline_tracking+0x466>
    bba4:	0377      	lrw      	r3, 0x20000a88	// bdc4 <TK_Baseline_tracking+0x388>
    bba6:	035f      	lrw      	r2, 0x20000292	// bda4 <TK_Baseline_tracking+0x368>
    bba8:	3100      	movi      	r1, 0
    bbaa:	b860      	st.w      	r3, (r14, 0x0)
    bbac:	6d0f      	mov      	r4, r3
    bbae:	0318      	lrw      	r0, 0x20000a32	// bdc8 <TK_Baseline_tracking+0x38c>
    bbb0:	4161      	lsli      	r3, r1, 1
    bbb2:	98a0      	ld.w      	r5, (r14, 0x0)
    bbb4:	614c      	addu      	r5, r3
    bbb6:	8da0      	ld.h      	r5, (r5, 0x0)
    bbb8:	7557      	sexth      	r5, r5
    bbba:	3ddf      	btsti      	r5, 31
    bbbc:	0c1c      	bf      	0xbbf4	// bbf4 <TK_Baseline_tracking+0x1b8>
    bbbe:	03db      	lrw      	r6, 0x20000970	// bdcc <TK_Baseline_tracking+0x390>
    bbc0:	58ac      	addu      	r5, r0, r3
    bbc2:	618c      	addu      	r6, r3
    bbc4:	8da0      	ld.h      	r5, (r5, 0x0)
    bbc6:	8ec0      	ld.h      	r6, (r6, 0x0)
    bbc8:	7599      	zexth      	r6, r6
    bbca:	7555      	zexth      	r5, r5
    bbcc:	615a      	subu      	r5, r6
    bbce:	8ac0      	ld.h      	r6, (r2, 0x0)
    bbd0:	6595      	cmplt      	r5, r6
    bbd2:	0811      	bt      	0xbbf4	// bbf4 <TK_Baseline_tracking+0x1b8>
    bbd4:	13bf      	lrw      	r5, 0x20000acc	// bdd0 <TK_Baseline_tracking+0x394>
    bbd6:	6144      	addu      	r5, r1
    bbd8:	85c0      	ld.b      	r6, (r5, 0x0)
    bbda:	2600      	addi      	r6, 1
    bbdc:	7598      	zextb      	r6, r6
    bbde:	a5c0      	st.b      	r6, (r5, 0x0)
    bbe0:	13d5      	lrw      	r6, 0x20000090	// bdb4 <TK_Baseline_tracking+0x378>
    bbe2:	85e0      	ld.b      	r7, (r5, 0x0)
    bbe4:	86ca      	ld.b      	r6, (r6, 0xa)
    bbe6:	65d8      	cmphs      	r6, r7
    bbe8:	0806      	bt      	0xbbf4	// bbf4 <TK_Baseline_tracking+0x1b8>
    bbea:	13d4      	lrw      	r6, 0x20000994	// bdb8 <TK_Baseline_tracking+0x37c>
    bbec:	3701      	movi      	r7, 1
    bbee:	a6e1      	st.b      	r7, (r6, 0x1)
    bbf0:	3600      	movi      	r6, 0
    bbf2:	a5c0      	st.b      	r6, (r5, 0x0)
    bbf4:	5cac      	addu      	r5, r4, r3
    bbf6:	8da0      	ld.h      	r5, (r5, 0x0)
    bbf8:	7557      	sexth      	r5, r5
    bbfa:	3d20      	cmplti      	r5, 1
    bbfc:	081d      	bt      	0xbc36	// bc36 <TK_Baseline_tracking+0x1fa>
    bbfe:	13b4      	lrw      	r5, 0x20000970	// bdcc <TK_Baseline_tracking+0x390>
    bc00:	614c      	addu      	r5, r3
    bc02:	58cc      	addu      	r6, r0, r3
    bc04:	8da0      	ld.h      	r5, (r5, 0x0)
    bc06:	8ec0      	ld.h      	r6, (r6, 0x0)
    bc08:	7599      	zexth      	r6, r6
    bc0a:	7555      	zexth      	r5, r5
    bc0c:	615a      	subu      	r5, r6
    bc0e:	8ac0      	ld.h      	r6, (r2, 0x0)
    bc10:	46c2      	lsli      	r6, r6, 2
    bc12:	6595      	cmplt      	r5, r6
    bc14:	0811      	bt      	0xbc36	// bc36 <TK_Baseline_tracking+0x1fa>
    bc16:	13b0      	lrw      	r5, 0x200009ce	// bdd4 <TK_Baseline_tracking+0x398>
    bc18:	6144      	addu      	r5, r1
    bc1a:	85c0      	ld.b      	r6, (r5, 0x0)
    bc1c:	2600      	addi      	r6, 1
    bc1e:	7598      	zextb      	r6, r6
    bc20:	a5c0      	st.b      	r6, (r5, 0x0)
    bc22:	13c5      	lrw      	r6, 0x20000090	// bdb4 <TK_Baseline_tracking+0x378>
    bc24:	85e0      	ld.b      	r7, (r5, 0x0)
    bc26:	86cb      	ld.b      	r6, (r6, 0xb)
    bc28:	65d8      	cmphs      	r6, r7
    bc2a:	0806      	bt      	0xbc36	// bc36 <TK_Baseline_tracking+0x1fa>
    bc2c:	13c3      	lrw      	r6, 0x20000994	// bdb8 <TK_Baseline_tracking+0x37c>
    bc2e:	3701      	movi      	r7, 1
    bc30:	a6e1      	st.b      	r7, (r6, 0x1)
    bc32:	3600      	movi      	r6, 0
    bc34:	a5c0      	st.b      	r6, (r5, 0x0)
    bc36:	5cac      	addu      	r5, r4, r3
    bc38:	8da0      	ld.h      	r5, (r5, 0x0)
    bc3a:	7557      	sexth      	r5, r5
    bc3c:	3ddf      	btsti      	r5, 31
    bc3e:	0c10      	bf      	0xbc5e	// bc5e <TK_Baseline_tracking+0x222>
    bc40:	13e3      	lrw      	r7, 0x20000970	// bdcc <TK_Baseline_tracking+0x390>
    bc42:	58cc      	addu      	r6, r0, r3
    bc44:	61cc      	addu      	r7, r3
    bc46:	8ea0      	ld.h      	r5, (r6, 0x0)
    bc48:	8fe0      	ld.h      	r7, (r7, 0x0)
    bc4a:	75dd      	zexth      	r7, r7
    bc4c:	7555      	zexth      	r5, r5
    bc4e:	615e      	subu      	r5, r7
    bc50:	8ae0      	ld.h      	r7, (r2, 0x0)
    bc52:	65d5      	cmplt      	r5, r7
    bc54:	0c05      	bf      	0xbc5e	// bc5e <TK_Baseline_tracking+0x222>
    bc56:	8ea0      	ld.h      	r5, (r6, 0x0)
    bc58:	2d00      	subi      	r5, 1
    bc5a:	7555      	zexth      	r5, r5
    bc5c:	aea0      	st.h      	r5, (r6, 0x0)
    bc5e:	5cac      	addu      	r5, r4, r3
    bc60:	8da0      	ld.h      	r5, (r5, 0x0)
    bc62:	7557      	sexth      	r5, r5
    bc64:	3ddf      	btsti      	r5, 31
    bc66:	0c11      	bf      	0xbc88	// bc88 <TK_Baseline_tracking+0x24c>
    bc68:	12f9      	lrw      	r7, 0x20000970	// bdcc <TK_Baseline_tracking+0x390>
    bc6a:	58cc      	addu      	r6, r0, r3
    bc6c:	61cc      	addu      	r7, r3
    bc6e:	8ea0      	ld.h      	r5, (r6, 0x0)
    bc70:	8fe0      	ld.h      	r7, (r7, 0x0)
    bc72:	75dd      	zexth      	r7, r7
    bc74:	7555      	zexth      	r5, r5
    bc76:	615e      	subu      	r5, r7
    bc78:	8ae0      	ld.h      	r7, (r2, 0x0)
    bc7a:	4fe1      	lsri      	r7, r7, 1
    bc7c:	65d5      	cmplt      	r5, r7
    bc7e:	0805      	bt      	0xbc88	// bc88 <TK_Baseline_tracking+0x24c>
    bc80:	8ea0      	ld.h      	r5, (r6, 0x0)
    bc82:	2d01      	subi      	r5, 2
    bc84:	7555      	zexth      	r5, r5
    bc86:	aea0      	st.h      	r5, (r6, 0x0)
    bc88:	5ccc      	addu      	r6, r4, r3
    bc8a:	8ea0      	ld.h      	r5, (r6, 0x0)
    bc8c:	7557      	sexth      	r5, r5
    bc8e:	3d20      	cmplti      	r5, 1
    bc90:	080c      	bt      	0xbca8	// bca8 <TK_Baseline_tracking+0x26c>
    bc92:	8ec0      	ld.h      	r6, (r6, 0x0)
    bc94:	8aa0      	ld.h      	r5, (r2, 0x0)
    bc96:	759b      	sexth      	r6, r6
    bc98:	4da1      	lsri      	r5, r5, 1
    bc9a:	6559      	cmplt      	r6, r5
    bc9c:	0c06      	bf      	0xbca8	// bca8 <TK_Baseline_tracking+0x26c>
    bc9e:	58cc      	addu      	r6, r0, r3
    bca0:	8ea0      	ld.h      	r5, (r6, 0x0)
    bca2:	2500      	addi      	r5, 1
    bca4:	7555      	zexth      	r5, r5
    bca6:	aea0      	st.h      	r5, (r6, 0x0)
    bca8:	5ccc      	addu      	r6, r4, r3
    bcaa:	8ea0      	ld.h      	r5, (r6, 0x0)
    bcac:	7557      	sexth      	r5, r5
    bcae:	3d20      	cmplti      	r5, 1
    bcb0:	0810      	bt      	0xbcd0	// bcd0 <TK_Baseline_tracking+0x294>
    bcb2:	8ee0      	ld.h      	r7, (r6, 0x0)
    bcb4:	75df      	sexth      	r7, r7
    bcb6:	8aa0      	ld.h      	r5, (r2, 0x0)
    bcb8:	655d      	cmplt      	r7, r5
    bcba:	0c0b      	bf      	0xbcd0	// bcd0 <TK_Baseline_tracking+0x294>
    bcbc:	8ec0      	ld.h      	r6, (r6, 0x0)
    bcbe:	759b      	sexth      	r6, r6
    bcc0:	4da1      	lsri      	r5, r5, 1
    bcc2:	6559      	cmplt      	r6, r5
    bcc4:	0806      	bt      	0xbcd0	// bcd0 <TK_Baseline_tracking+0x294>
    bcc6:	60c0      	addu      	r3, r0
    bcc8:	8ba0      	ld.h      	r5, (r3, 0x0)
    bcca:	2501      	addi      	r5, 2
    bccc:	7555      	zexth      	r5, r5
    bcce:	aba0      	st.h      	r5, (r3, 0x0)
    bcd0:	2100      	addi      	r1, 1
    bcd2:	3951      	cmpnei      	r1, 17
    bcd4:	2201      	addi      	r2, 2
    bcd6:	0b6d      	bt      	0xbbb0	// bbb0 <TK_Baseline_tracking+0x174>
    bcd8:	1260      	lrw      	r3, 0x200009a0	// bdd8 <TK_Baseline_tracking+0x39c>
    bcda:	9360      	ld.w      	r3, (r3, 0x0)
    bcdc:	3b40      	cmpnei      	r3, 0
    bcde:	08f8      	bt      	0xbece	// bece <TK_Baseline_tracking+0x492>
    bce0:	117f      	lrw      	r3, 0x20000bb4	// bddc <TK_Baseline_tracking+0x3a0>
    bce2:	1151      	lrw      	r2, 0x20000292	// bda4 <TK_Baseline_tracking+0x368>
    bce4:	3100      	movi      	r1, 0
    bce6:	b860      	st.w      	r3, (r14, 0x0)
    bce8:	6d0f      	mov      	r4, r3
    bcea:	111e      	lrw      	r0, 0x20000b48	// bde0 <TK_Baseline_tracking+0x3a4>
    bcec:	4161      	lsli      	r3, r1, 1
    bcee:	98a0      	ld.w      	r5, (r14, 0x0)
    bcf0:	614c      	addu      	r5, r3
    bcf2:	8da0      	ld.h      	r5, (r5, 0x0)
    bcf4:	7557      	sexth      	r5, r5
    bcf6:	3ddf      	btsti      	r5, 31
    bcf8:	0c1c      	bf      	0xbd30	// bd30 <TK_Baseline_tracking+0x2f4>
    bcfa:	11db      	lrw      	r6, 0x20000a66	// bde4 <TK_Baseline_tracking+0x3a8>
    bcfc:	58ac      	addu      	r5, r0, r3
    bcfe:	618c      	addu      	r6, r3
    bd00:	8da0      	ld.h      	r5, (r5, 0x0)
    bd02:	8ec0      	ld.h      	r6, (r6, 0x0)
    bd04:	7599      	zexth      	r6, r6
    bd06:	7555      	zexth      	r5, r5
    bd08:	615a      	subu      	r5, r6
    bd0a:	8ac0      	ld.h      	r6, (r2, 0x0)
    bd0c:	6595      	cmplt      	r5, r6
    bd0e:	0811      	bt      	0xbd30	// bd30 <TK_Baseline_tracking+0x2f4>
    bd10:	11b6      	lrw      	r5, 0x200009bc	// bde8 <TK_Baseline_tracking+0x3ac>
    bd12:	6144      	addu      	r5, r1
    bd14:	85c0      	ld.b      	r6, (r5, 0x0)
    bd16:	2600      	addi      	r6, 1
    bd18:	7598      	zextb      	r6, r6
    bd1a:	a5c0      	st.b      	r6, (r5, 0x0)
    bd1c:	11c6      	lrw      	r6, 0x20000090	// bdb4 <TK_Baseline_tracking+0x378>
    bd1e:	85e0      	ld.b      	r7, (r5, 0x0)
    bd20:	86ca      	ld.b      	r6, (r6, 0xa)
    bd22:	65d8      	cmphs      	r6, r7
    bd24:	0806      	bt      	0xbd30	// bd30 <TK_Baseline_tracking+0x2f4>
    bd26:	11c5      	lrw      	r6, 0x20000994	// bdb8 <TK_Baseline_tracking+0x37c>
    bd28:	3701      	movi      	r7, 1
    bd2a:	a6e2      	st.b      	r7, (r6, 0x2)
    bd2c:	3600      	movi      	r6, 0
    bd2e:	a5c0      	st.b      	r6, (r5, 0x0)
    bd30:	5cac      	addu      	r5, r4, r3
    bd32:	8da0      	ld.h      	r5, (r5, 0x0)
    bd34:	7557      	sexth      	r5, r5
    bd36:	3d20      	cmplti      	r5, 1
    bd38:	081d      	bt      	0xbd72	// bd72 <TK_Baseline_tracking+0x336>
    bd3a:	11ab      	lrw      	r5, 0x20000a66	// bde4 <TK_Baseline_tracking+0x3a8>
    bd3c:	614c      	addu      	r5, r3
    bd3e:	58cc      	addu      	r6, r0, r3
    bd40:	8da0      	ld.h      	r5, (r5, 0x0)
    bd42:	8ec0      	ld.h      	r6, (r6, 0x0)
    bd44:	7599      	zexth      	r6, r6
    bd46:	7555      	zexth      	r5, r5
    bd48:	615a      	subu      	r5, r6
    bd4a:	8ac0      	ld.h      	r6, (r2, 0x0)
    bd4c:	46c2      	lsli      	r6, r6, 2
    bd4e:	6595      	cmplt      	r5, r6
    bd50:	0811      	bt      	0xbd72	// bd72 <TK_Baseline_tracking+0x336>
    bd52:	11a7      	lrw      	r5, 0x200008aa	// bdec <TK_Baseline_tracking+0x3b0>
    bd54:	6144      	addu      	r5, r1
    bd56:	85c0      	ld.b      	r6, (r5, 0x0)
    bd58:	2600      	addi      	r6, 1
    bd5a:	7598      	zextb      	r6, r6
    bd5c:	a5c0      	st.b      	r6, (r5, 0x0)
    bd5e:	10d6      	lrw      	r6, 0x20000090	// bdb4 <TK_Baseline_tracking+0x378>
    bd60:	85e0      	ld.b      	r7, (r5, 0x0)
    bd62:	86cb      	ld.b      	r6, (r6, 0xb)
    bd64:	65d8      	cmphs      	r6, r7
    bd66:	0806      	bt      	0xbd72	// bd72 <TK_Baseline_tracking+0x336>
    bd68:	10d4      	lrw      	r6, 0x20000994	// bdb8 <TK_Baseline_tracking+0x37c>
    bd6a:	3701      	movi      	r7, 1
    bd6c:	a6e2      	st.b      	r7, (r6, 0x2)
    bd6e:	3600      	movi      	r6, 0
    bd70:	a5c0      	st.b      	r6, (r5, 0x0)
    bd72:	5cac      	addu      	r5, r4, r3
    bd74:	8da0      	ld.h      	r5, (r5, 0x0)
    bd76:	7557      	sexth      	r5, r5
    bd78:	3ddf      	btsti      	r5, 31
    bd7a:	0c3f      	bf      	0xbdf8	// bdf8 <TK_Baseline_tracking+0x3bc>
    bd7c:	10fa      	lrw      	r7, 0x20000a66	// bde4 <TK_Baseline_tracking+0x3a8>
    bd7e:	58cc      	addu      	r6, r0, r3
    bd80:	61cc      	addu      	r7, r3
    bd82:	8ea0      	ld.h      	r5, (r6, 0x0)
    bd84:	8fe0      	ld.h      	r7, (r7, 0x0)
    bd86:	75dd      	zexth      	r7, r7
    bd88:	7555      	zexth      	r5, r5
    bd8a:	615e      	subu      	r5, r7
    bd8c:	8ae0      	ld.h      	r7, (r2, 0x0)
    bd8e:	65d5      	cmplt      	r5, r7
    bd90:	0c34      	bf      	0xbdf8	// bdf8 <TK_Baseline_tracking+0x3bc>
    bd92:	042f      	br      	0xbdf0	// bdf0 <TK_Baseline_tracking+0x3b4>
    bd94:	20000a26 	.long	0x20000a26
    bd98:	20000265 	.long	0x20000265
    bd9c:	20000928 	.long	0x20000928
    bda0:	20000948 	.long	0x20000948
    bda4:	20000292 	.long	0x20000292
    bda8:	20000888 	.long	0x20000888
    bdac:	20000bda 	.long	0x20000bda
    bdb0:	20000aec 	.long	0x20000aec
    bdb4:	20000090 	.long	0x20000090
    bdb8:	20000994 	.long	0x20000994
    bdbc:	20000a54 	.long	0x20000a54
    bdc0:	200008bc 	.long	0x200008bc
    bdc4:	20000a88 	.long	0x20000a88
    bdc8:	20000a32 	.long	0x20000a32
    bdcc:	20000970 	.long	0x20000970
    bdd0:	20000acc 	.long	0x20000acc
    bdd4:	200009ce 	.long	0x200009ce
    bdd8:	200009a0 	.long	0x200009a0
    bddc:	20000bb4 	.long	0x20000bb4
    bde0:	20000b48 	.long	0x20000b48
    bde4:	20000a66 	.long	0x20000a66
    bde8:	200009bc 	.long	0x200009bc
    bdec:	200008aa 	.long	0x200008aa
    bdf0:	8ea0      	ld.h      	r5, (r6, 0x0)
    bdf2:	2d00      	subi      	r5, 1
    bdf4:	7555      	zexth      	r5, r5
    bdf6:	aea0      	st.h      	r5, (r6, 0x0)
    bdf8:	5cac      	addu      	r5, r4, r3
    bdfa:	8da0      	ld.h      	r5, (r5, 0x0)
    bdfc:	7557      	sexth      	r5, r5
    bdfe:	3ddf      	btsti      	r5, 31
    be00:	0c11      	bf      	0xbe22	// be22 <TK_Baseline_tracking+0x3e6>
    be02:	11ff      	lrw      	r7, 0x20000a66	// befc <TK_Baseline_tracking+0x4c0>
    be04:	58cc      	addu      	r6, r0, r3
    be06:	61cc      	addu      	r7, r3
    be08:	8ea0      	ld.h      	r5, (r6, 0x0)
    be0a:	8fe0      	ld.h      	r7, (r7, 0x0)
    be0c:	75dd      	zexth      	r7, r7
    be0e:	7555      	zexth      	r5, r5
    be10:	615e      	subu      	r5, r7
    be12:	8ae0      	ld.h      	r7, (r2, 0x0)
    be14:	4fe1      	lsri      	r7, r7, 1
    be16:	65d5      	cmplt      	r5, r7
    be18:	0805      	bt      	0xbe22	// be22 <TK_Baseline_tracking+0x3e6>
    be1a:	8ea0      	ld.h      	r5, (r6, 0x0)
    be1c:	2d01      	subi      	r5, 2
    be1e:	7555      	zexth      	r5, r5
    be20:	aea0      	st.h      	r5, (r6, 0x0)
    be22:	5ccc      	addu      	r6, r4, r3
    be24:	8ea0      	ld.h      	r5, (r6, 0x0)
    be26:	7557      	sexth      	r5, r5
    be28:	3d20      	cmplti      	r5, 1
    be2a:	080c      	bt      	0xbe42	// be42 <TK_Baseline_tracking+0x406>
    be2c:	8ec0      	ld.h      	r6, (r6, 0x0)
    be2e:	8aa0      	ld.h      	r5, (r2, 0x0)
    be30:	759b      	sexth      	r6, r6
    be32:	4da1      	lsri      	r5, r5, 1
    be34:	6559      	cmplt      	r6, r5
    be36:	0c06      	bf      	0xbe42	// be42 <TK_Baseline_tracking+0x406>
    be38:	58cc      	addu      	r6, r0, r3
    be3a:	8ea0      	ld.h      	r5, (r6, 0x0)
    be3c:	2500      	addi      	r5, 1
    be3e:	7555      	zexth      	r5, r5
    be40:	aea0      	st.h      	r5, (r6, 0x0)
    be42:	5ccc      	addu      	r6, r4, r3
    be44:	8ea0      	ld.h      	r5, (r6, 0x0)
    be46:	7557      	sexth      	r5, r5
    be48:	3d20      	cmplti      	r5, 1
    be4a:	0810      	bt      	0xbe6a	// be6a <TK_Baseline_tracking+0x42e>
    be4c:	8ee0      	ld.h      	r7, (r6, 0x0)
    be4e:	75df      	sexth      	r7, r7
    be50:	8aa0      	ld.h      	r5, (r2, 0x0)
    be52:	655d      	cmplt      	r7, r5
    be54:	0c0b      	bf      	0xbe6a	// be6a <TK_Baseline_tracking+0x42e>
    be56:	8ec0      	ld.h      	r6, (r6, 0x0)
    be58:	759b      	sexth      	r6, r6
    be5a:	4da1      	lsri      	r5, r5, 1
    be5c:	6559      	cmplt      	r6, r5
    be5e:	0806      	bt      	0xbe6a	// be6a <TK_Baseline_tracking+0x42e>
    be60:	60c0      	addu      	r3, r0
    be62:	8ba0      	ld.h      	r5, (r3, 0x0)
    be64:	2501      	addi      	r5, 2
    be66:	7555      	zexth      	r5, r5
    be68:	aba0      	st.h      	r5, (r3, 0x0)
    be6a:	2100      	addi      	r1, 1
    be6c:	3951      	cmpnei      	r1, 17
    be6e:	2201      	addi      	r2, 2
    be70:	0b3e      	bt      	0xbcec	// bcec <TK_Baseline_tracking+0x2b0>
    be72:	1401      	addi      	r14, r14, 4
    be74:	1494      	pop      	r4-r7, r15
    be76:	e3fff6c9 	bsr      	0xac08	// ac08 <get_key_number0>
    be7a:	1162      	lrw      	r3, 0x20000090	// bf00 <TK_Baseline_tracking+0x4c4>
    be7c:	836c      	ld.b      	r3, (r3, 0xc)
    be7e:	64c0      	cmphs      	r0, r3
    be80:	1141      	lrw      	r2, 0x200008c0	// bf04 <TK_Baseline_tracking+0x4c8>
    be82:	0c0e      	bf      	0xbe9e	// be9e <TK_Baseline_tracking+0x462>
    be84:	8260      	ld.b      	r3, (r2, 0x0)
    be86:	74cc      	zextb      	r3, r3
    be88:	3b01      	cmphsi      	r3, 2
    be8a:	0c05      	bf      	0xbe94	// be94 <TK_Baseline_tracking+0x458>
    be8c:	107f      	lrw      	r3, 0x20000994	// bf08 <TK_Baseline_tracking+0x4cc>
    be8e:	3201      	movi      	r2, 1
    be90:	a340      	st.b      	r2, (r3, 0x0)
    be92:	0685      	br      	0xbb9c	// bb9c <TK_Baseline_tracking+0x160>
    be94:	8260      	ld.b      	r3, (r2, 0x0)
    be96:	2300      	addi      	r3, 1
    be98:	74cc      	zextb      	r3, r3
    be9a:	a260      	st.b      	r3, (r2, 0x0)
    be9c:	0680      	br      	0xbb9c	// bb9c <TK_Baseline_tracking+0x160>
    be9e:	3300      	movi      	r3, 0
    bea0:	07fd      	br      	0xbe9a	// be9a <TK_Baseline_tracking+0x45e>
    bea2:	e3fff6c7 	bsr      	0xac30	// ac30 <get_key_number1>
    bea6:	1077      	lrw      	r3, 0x20000090	// bf00 <TK_Baseline_tracking+0x4c4>
    bea8:	836c      	ld.b      	r3, (r3, 0xc)
    beaa:	64c0      	cmphs      	r0, r3
    beac:	1056      	lrw      	r2, 0x200008c0	// bf04 <TK_Baseline_tracking+0x4c8>
    beae:	0c0e      	bf      	0xbeca	// beca <TK_Baseline_tracking+0x48e>
    beb0:	8261      	ld.b      	r3, (r2, 0x1)
    beb2:	74cc      	zextb      	r3, r3
    beb4:	3b01      	cmphsi      	r3, 2
    beb6:	0c05      	bf      	0xbec0	// bec0 <TK_Baseline_tracking+0x484>
    beb8:	1074      	lrw      	r3, 0x20000994	// bf08 <TK_Baseline_tracking+0x4cc>
    beba:	3201      	movi      	r2, 1
    bebc:	a341      	st.b      	r2, (r3, 0x1)
    bebe:	070d      	br      	0xbcd8	// bcd8 <TK_Baseline_tracking+0x29c>
    bec0:	8261      	ld.b      	r3, (r2, 0x1)
    bec2:	2300      	addi      	r3, 1
    bec4:	74cc      	zextb      	r3, r3
    bec6:	a261      	st.b      	r3, (r2, 0x1)
    bec8:	0708      	br      	0xbcd8	// bcd8 <TK_Baseline_tracking+0x29c>
    beca:	3300      	movi      	r3, 0
    becc:	07fd      	br      	0xbec6	// bec6 <TK_Baseline_tracking+0x48a>
    bece:	e3fff6c5 	bsr      	0xac58	// ac58 <get_key_number2>
    bed2:	106c      	lrw      	r3, 0x20000090	// bf00 <TK_Baseline_tracking+0x4c4>
    bed4:	836c      	ld.b      	r3, (r3, 0xc)
    bed6:	64c0      	cmphs      	r0, r3
    bed8:	104b      	lrw      	r2, 0x200008c0	// bf04 <TK_Baseline_tracking+0x4c8>
    beda:	0c0e      	bf      	0xbef6	// bef6 <TK_Baseline_tracking+0x4ba>
    bedc:	8262      	ld.b      	r3, (r2, 0x2)
    bede:	74cc      	zextb      	r3, r3
    bee0:	3b01      	cmphsi      	r3, 2
    bee2:	0c05      	bf      	0xbeec	// beec <TK_Baseline_tracking+0x4b0>
    bee4:	1069      	lrw      	r3, 0x20000994	// bf08 <TK_Baseline_tracking+0x4cc>
    bee6:	3201      	movi      	r2, 1
    bee8:	a342      	st.b      	r2, (r3, 0x2)
    beea:	07c4      	br      	0xbe72	// be72 <TK_Baseline_tracking+0x436>
    beec:	8262      	ld.b      	r3, (r2, 0x2)
    beee:	2300      	addi      	r3, 1
    bef0:	74cc      	zextb      	r3, r3
    bef2:	a262      	st.b      	r3, (r2, 0x2)
    bef4:	07bf      	br      	0xbe72	// be72 <TK_Baseline_tracking+0x436>
    bef6:	3300      	movi      	r3, 0
    bef8:	07fd      	br      	0xbef2	// bef2 <TK_Baseline_tracking+0x4b6>
    befa:	0000      	bkpt
    befc:	20000a66 	.long	0x20000a66
    bf00:	20000090 	.long	0x20000090
    bf04:	200008c0 	.long	0x200008c0
    bf08:	20000994 	.long	0x20000994

Disassembly of section .text.TK_result_prog:

0000bf0c <TK_result_prog>:
    bf0c:	14d4      	push      	r4-r7, r15
    bf0e:	1424      	subi      	r14, r14, 16
    bf10:	111f      	lrw      	r0, 0x20000928	// c00c <TK_result_prog+0x100>
    bf12:	1220      	lrw      	r1, 0x200008bc	// c010 <TK_result_prog+0x104>
    bf14:	1240      	lrw      	r2, 0x200009a0	// c014 <TK_result_prog+0x108>
    bf16:	b821      	st.w      	r1, (r14, 0x4)
    bf18:	9060      	ld.w      	r3, (r0, 0x0)
    bf1a:	91a0      	ld.w      	r5, (r1, 0x0)
    bf1c:	6cd4      	or      	r3, r5
    bf1e:	9280      	ld.w      	r4, (r2, 0x0)
    bf20:	6cd0      	or      	r3, r4
    bf22:	3b40      	cmpnei      	r3, 0
    bf24:	b800      	st.w      	r0, (r14, 0x0)
    bf26:	b842      	st.w      	r2, (r14, 0x8)
    bf28:	119c      	lrw      	r4, 0x20000a28	// c018 <TK_result_prog+0x10c>
    bf2a:	0c67      	bf      	0xbff8	// bff8 <TK_result_prog+0xec>
    bf2c:	111c      	lrw      	r0, 0x20000b00	// c01c <TK_result_prog+0x110>
    bf2e:	3500      	movi      	r5, 0
    bf30:	117c      	lrw      	r3, 0x20000ac8	// c020 <TK_result_prog+0x114>
    bf32:	b803      	st.w      	r0, (r14, 0xc)
    bf34:	3201      	movi      	r2, 1
    bf36:	7094      	lsl      	r2, r5
    bf38:	b040      	st.w      	r2, (r0, 0x0)
    bf3a:	9840      	ld.w      	r2, (r14, 0x0)
    bf3c:	9240      	ld.w      	r2, (r2, 0x0)
    bf3e:	9020      	ld.w      	r1, (r0, 0x0)
    bf40:	6884      	and      	r2, r1
    bf42:	b340      	st.w      	r2, (r3, 0x0)
    bf44:	9841      	ld.w      	r2, (r14, 0x4)
    bf46:	9240      	ld.w      	r2, (r2, 0x0)
    bf48:	9020      	ld.w      	r1, (r0, 0x0)
    bf4a:	6848      	and      	r1, r2
    bf4c:	1156      	lrw      	r2, 0x20000b8c	// c024 <TK_result_prog+0x118>
    bf4e:	b220      	st.w      	r1, (r2, 0x0)
    bf50:	9822      	ld.w      	r1, (r14, 0x8)
    bf52:	9120      	ld.w      	r1, (r1, 0x0)
    bf54:	90c0      	ld.w      	r6, (r0, 0x0)
    bf56:	6984      	and      	r6, r1
    bf58:	1134      	lrw      	r1, 0x20000a2c	// c028 <TK_result_prog+0x11c>
    bf5a:	b1c0      	st.w      	r6, (r1, 0x0)
    bf5c:	93e0      	ld.w      	r7, (r3, 0x0)
    bf5e:	92c0      	ld.w      	r6, (r2, 0x0)
    bf60:	659e      	cmpne      	r7, r6
    bf62:	0807      	bt      	0xbf70	// bf70 <TK_result_prog+0x64>
    bf64:	92e0      	ld.w      	r7, (r2, 0x0)
    bf66:	91c0      	ld.w      	r6, (r1, 0x0)
    bf68:	659e      	cmpne      	r7, r6
    bf6a:	0803      	bt      	0xbf70	// bf70 <TK_result_prog+0x64>
    bf6c:	9340      	ld.w      	r2, (r3, 0x0)
    bf6e:	040c      	br      	0xbf86	// bf86 <TK_result_prog+0x7a>
    bf70:	92c0      	ld.w      	r6, (r2, 0x0)
    bf72:	3e40      	cmpnei      	r6, 0
    bf74:	0c29      	bf      	0xbfc6	// bfc6 <TK_result_prog+0xba>
    bf76:	91c0      	ld.w      	r6, (r1, 0x0)
    bf78:	3e40      	cmpnei      	r6, 0
    bf7a:	0c26      	bf      	0xbfc6	// bfc6 <TK_result_prog+0xba>
    bf7c:	92e0      	ld.w      	r7, (r2, 0x0)
    bf7e:	91c0      	ld.w      	r6, (r1, 0x0)
    bf80:	659e      	cmpne      	r7, r6
    bf82:	0822      	bt      	0xbfc6	// bfc6 <TK_result_prog+0xba>
    bf84:	9240      	ld.w      	r2, (r2, 0x0)
    bf86:	9420      	ld.w      	r1, (r4, 0x0)
    bf88:	6c84      	or      	r2, r1
    bf8a:	2500      	addi      	r5, 1
    bf8c:	3d51      	cmpnei      	r5, 17
    bf8e:	b440      	st.w      	r2, (r4, 0x0)
    bf90:	0bd2      	bt      	0xbf34	// bf34 <TK_result_prog+0x28>
    bf92:	9460      	ld.w      	r3, (r4, 0x0)
    bf94:	3b40      	cmpnei      	r3, 0
    bf96:	1146      	lrw      	r2, 0x20000b30	// c02c <TK_result_prog+0x120>
    bf98:	0c32      	bf      	0xbffc	// bffc <TK_result_prog+0xf0>
    bf9a:	9420      	ld.w      	r1, (r4, 0x0)
    bf9c:	9260      	ld.w      	r3, (r2, 0x0)
    bf9e:	64c6      	cmpne      	r1, r3
    bfa0:	0c06      	bf      	0xbfac	// bfac <TK_result_prog+0xa0>
    bfa2:	9460      	ld.w      	r3, (r4, 0x0)
    bfa4:	b260      	st.w      	r3, (r2, 0x0)
    bfa6:	3200      	movi      	r2, 0
    bfa8:	1162      	lrw      	r3, 0x20000946	// c030 <TK_result_prog+0x124>
    bfaa:	a340      	st.b      	r2, (r3, 0x0)
    bfac:	e3fff61a 	bsr      	0xabe0	// abe0 <get_key_number>
    bfb0:	1161      	lrw      	r3, 0x2000026c	// c034 <TK_result_prog+0x128>
    bfb2:	8360      	ld.b      	r3, (r3, 0x0)
    bfb4:	640c      	cmphs      	r3, r0
    bfb6:	0806      	bt      	0xbfc2	// bfc2 <TK_result_prog+0xb6>
    bfb8:	3300      	movi      	r3, 0
    bfba:	b460      	st.w      	r3, (r4, 0x0)
    bfbc:	3201      	movi      	r2, 1
    bfbe:	107d      	lrw      	r3, 0x20000946	// c030 <TK_result_prog+0x124>
    bfc0:	a340      	st.b      	r2, (r3, 0x0)
    bfc2:	1404      	addi      	r14, r14, 16
    bfc4:	1494      	pop      	r4-r7, r15
    bfc6:	93c0      	ld.w      	r6, (r3, 0x0)
    bfc8:	3e40      	cmpnei      	r6, 0
    bfca:	0c08      	bf      	0xbfda	// bfda <TK_result_prog+0xce>
    bfcc:	92c0      	ld.w      	r6, (r2, 0x0)
    bfce:	3e40      	cmpnei      	r6, 0
    bfd0:	0c05      	bf      	0xbfda	// bfda <TK_result_prog+0xce>
    bfd2:	93c0      	ld.w      	r6, (r3, 0x0)
    bfd4:	9240      	ld.w      	r2, (r2, 0x0)
    bfd6:	649a      	cmpne      	r6, r2
    bfd8:	0fca      	bf      	0xbf6c	// bf6c <TK_result_prog+0x60>
    bfda:	9340      	ld.w      	r2, (r3, 0x0)
    bfdc:	3a40      	cmpnei      	r2, 0
    bfde:	0c08      	bf      	0xbfee	// bfee <TK_result_prog+0xe2>
    bfe0:	9140      	ld.w      	r2, (r1, 0x0)
    bfe2:	3a40      	cmpnei      	r2, 0
    bfe4:	0c05      	bf      	0xbfee	// bfee <TK_result_prog+0xe2>
    bfe6:	9340      	ld.w      	r2, (r3, 0x0)
    bfe8:	9120      	ld.w      	r1, (r1, 0x0)
    bfea:	644a      	cmpne      	r2, r1
    bfec:	0fc0      	bf      	0xbf6c	// bf6c <TK_result_prog+0x60>
    bfee:	9843      	ld.w      	r2, (r14, 0xc)
    bff0:	9220      	ld.w      	r1, (r2, 0x0)
    bff2:	9440      	ld.w      	r2, (r4, 0x0)
    bff4:	6885      	andn      	r2, r1
    bff6:	07ca      	br      	0xbf8a	// bf8a <TK_result_prog+0x7e>
    bff8:	b460      	st.w      	r3, (r4, 0x0)
    bffa:	07cc      	br      	0xbf92	// bf92 <TK_result_prog+0x86>
    bffc:	b260      	st.w      	r3, (r2, 0x0)
    bffe:	3100      	movi      	r1, 0
    c000:	104c      	lrw      	r2, 0x20000946	// c030 <TK_result_prog+0x124>
    c002:	a220      	st.b      	r1, (r2, 0x0)
    c004:	104d      	lrw      	r2, 0x20000a20	// c038 <TK_result_prog+0x12c>
    c006:	b260      	st.w      	r3, (r2, 0x0)
    c008:	07dd      	br      	0xbfc2	// bfc2 <TK_result_prog+0xb6>
    c00a:	0000      	bkpt
    c00c:	20000928 	.long	0x20000928
    c010:	200008bc 	.long	0x200008bc
    c014:	200009a0 	.long	0x200009a0
    c018:	20000a28 	.long	0x20000a28
    c01c:	20000b00 	.long	0x20000b00
    c020:	20000ac8 	.long	0x20000ac8
    c024:	20000b8c 	.long	0x20000b8c
    c028:	20000a2c 	.long	0x20000a2c
    c02c:	20000b30 	.long	0x20000b30
    c030:	20000946 	.long	0x20000946
    c034:	2000026c 	.long	0x2000026c
    c038:	20000a20 	.long	0x20000a20

Disassembly of section .text.get_key_seq:

0000c03c <get_key_seq>:
    c03c:	14c4      	push      	r4-r7
    c03e:	106c      	lrw      	r3, 0x20000268	// c06c <get_key_seq+0x30>
    c040:	3200      	movi      	r2, 0
    c042:	9380      	ld.w      	r4, (r3, 0x0)
    c044:	3000      	movi      	r0, 0
    c046:	3300      	movi      	r3, 0
    c048:	3501      	movi      	r5, 1
    c04a:	10ca      	lrw      	r6, 0x20000b34	// c070 <get_key_seq+0x34>
    c04c:	6c53      	mov      	r1, r4
    c04e:	704d      	lsr      	r1, r3
    c050:	6854      	and      	r1, r5
    c052:	3940      	cmpnei      	r1, 0
    c054:	75cc      	zextb      	r7, r3
    c056:	0c06      	bf      	0xc062	// c062 <get_key_seq+0x26>
    c058:	5e28      	addu      	r1, r6, r2
    c05a:	2200      	addi      	r2, 1
    c05c:	2000      	addi      	r0, 1
    c05e:	a1e0      	st.b      	r7, (r1, 0x0)
    c060:	7488      	zextb      	r2, r2
    c062:	2300      	addi      	r3, 1
    c064:	3b51      	cmpnei      	r3, 17
    c066:	0bf3      	bt      	0xc04c	// c04c <get_key_seq+0x10>
    c068:	7400      	zextb      	r0, r0
    c06a:	1484      	pop      	r4-r7
    c06c:	20000268 	.long	0x20000268
    c070:	20000b34 	.long	0x20000b34

Disassembly of section .text.CORET_CONFIG:

0000c074 <CORET_CONFIG>:
    c074:	14d0      	push      	r15
    c076:	e3ffca05 	bsr      	0x5480	// 5480 <CORET_DeInit>
    c07a:	3180      	movi      	r1, 128
    c07c:	4124      	lsli      	r1, r1, 4
    c07e:	3001      	movi      	r0, 1
    c080:	e3ffc180 	bsr      	0x4380	// 4380 <SYSCON_General_CMD>
    c084:	1068      	lrw      	r3, 0x20000064	// c0a4 <CORET_CONFIG+0x30>
    c086:	1049      	lrw      	r2, 0x200002b8	// c0a8 <CORET_CONFIG+0x34>
    c088:	9360      	ld.w      	r3, (r3, 0x0)
    c08a:	9240      	ld.w      	r2, (r2, 0x0)
    c08c:	b345      	st.w      	r2, (r3, 0x14)
    c08e:	e3ffca29 	bsr      	0x54e0	// 54e0 <CORET_reload>
    c092:	e3ffca17 	bsr      	0x54c0	// 54c0 <CORET_CLKSOURCE_EX>
    c096:	e3ffca1d 	bsr      	0x54d0	// 54d0 <CORET_TICKINT_Enable>
    c09a:	e3ffca0b 	bsr      	0x54b0	// 54b0 <CORET_start>
    c09e:	e3ffc9fd 	bsr      	0x5498	// 5498 <CORET_Int_Enable>
    c0a2:	1490      	pop      	r15
    c0a4:	20000064 	.long	0x20000064
    c0a8:	200002b8 	.long	0x200002b8

Disassembly of section .text.tk_chxval_seqxcon_clr:

0000c0ac <tk_chxval_seqxcon_clr>:
    c0ac:	1066      	lrw      	r3, 0x20000054	// c0c4 <tk_chxval_seqxcon_clr+0x18>
    c0ae:	3100      	movi      	r1, 0
    c0b0:	9300      	ld.w      	r0, (r3, 0x0)
    c0b2:	3300      	movi      	r3, 0
    c0b4:	4342      	lsli      	r2, r3, 2
    c0b6:	2300      	addi      	r3, 1
    c0b8:	6080      	addu      	r2, r0
    c0ba:	3b51      	cmpnei      	r3, 17
    c0bc:	b220      	st.w      	r1, (r2, 0x0)
    c0be:	b232      	st.w      	r1, (r2, 0x48)
    c0c0:	0bfa      	bt      	0xc0b4	// c0b4 <tk_chxval_seqxcon_clr+0x8>
    c0c2:	783c      	jmp      	r15
    c0c4:	20000054 	.long	0x20000054

Disassembly of section .text.tk_freq_para_init:

0000c0c8 <tk_freq_para_init>:
    c0c8:	14d1      	push      	r4, r15
    c0ca:	107e      	lrw      	r3, 0x20000239	// c140 <tk_freq_para_init+0x78>
    c0cc:	8360      	ld.b      	r3, (r3, 0x0)
    c0ce:	3b40      	cmpnei      	r3, 0
    c0d0:	080c      	bt      	0xc0e8	// c0e8 <tk_freq_para_init+0x20>
    c0d2:	107d      	lrw      	r3, 0x20000070	// c144 <tk_freq_para_init+0x7c>
    c0d4:	105d      	lrw      	r2, 0x20000bfc	// c148 <tk_freq_para_init+0x80>
    c0d6:	932c      	ld.w      	r1, (r3, 0x30)
    c0d8:	b220      	st.w      	r1, (r2, 0x0)
    c0da:	932d      	ld.w      	r1, (r3, 0x34)
    c0dc:	105c      	lrw      	r2, 0x2000096c	// c14c <tk_freq_para_init+0x84>
    c0de:	b220      	st.w      	r1, (r2, 0x0)
    c0e0:	934e      	ld.w      	r2, (r3, 0x38)
    c0e2:	107c      	lrw      	r3, 0x2000099c	// c150 <tk_freq_para_init+0x88>
    c0e4:	b340      	st.w      	r2, (r3, 0x0)
    c0e6:	1491      	pop      	r4, r15
    c0e8:	3b41      	cmpnei      	r3, 1
    c0ea:	0bfe      	bt      	0xc0e6	// c0e6 <tk_freq_para_init+0x1e>
    c0ec:	1076      	lrw      	r3, 0x20000070	// c144 <tk_freq_para_init+0x7c>
    c0ee:	1057      	lrw      	r2, 0x20000bfc	// c148 <tk_freq_para_init+0x80>
    c0f0:	932d      	ld.w      	r1, (r3, 0x34)
    c0f2:	b220      	st.w      	r1, (r2, 0x0)
    c0f4:	932d      	ld.w      	r1, (r3, 0x34)
    c0f6:	1056      	lrw      	r2, 0x2000096c	// c14c <tk_freq_para_init+0x84>
    c0f8:	b220      	st.w      	r1, (r2, 0x0)
    c0fa:	934d      	ld.w      	r2, (r3, 0x34)
    c0fc:	3105      	movi      	r1, 5
    c0fe:	1075      	lrw      	r3, 0x2000099c	// c150 <tk_freq_para_init+0x88>
    c100:	b340      	st.w      	r2, (r3, 0x0)
    c102:	1075      	lrw      	r3, 0x20000058	// c154 <tk_freq_para_init+0x8c>
    c104:	9380      	ld.w      	r4, (r3, 0x0)
    c106:	1075      	lrw      	r3, 0x20000290	// c158 <tk_freq_para_init+0x90>
    c108:	8300      	ld.b      	r0, (r3, 0x0)
    c10a:	e3ffd02d 	bsr      	0x6164	// 6164 <__udivsi3>
    c10e:	7400      	zextb      	r0, r0
    c110:	1073      	lrw      	r3, 0x2000023a	// c15c <tk_freq_para_init+0x94>
    c112:	b408      	st.w      	r0, (r4, 0x20)
    c114:	8300      	ld.b      	r0, (r3, 0x0)
    c116:	3804      	cmphsi      	r0, 5
    c118:	1072      	lrw      	r3, 0x20000a24	// c160 <tk_freq_para_init+0x98>
    c11a:	0810      	bt      	0xc13a	// c13a <tk_freq_para_init+0x72>
    c11c:	e3ffb9f0 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    c120:	090d0703 	.long	0x090d0703
    c124:	000b      	.short	0x000b
    c126:	3296      	movi      	r2, 150
    c128:	4242      	lsli      	r2, r2, 2
    c12a:	ab40      	st.h      	r2, (r3, 0x0)
    c12c:	07dd      	br      	0xc0e6	// c0e6 <tk_freq_para_init+0x1e>
    c12e:	104e      	lrw      	r2, 0x5dc	// c164 <tk_freq_para_init+0x9c>
    c130:	07fd      	br      	0xc12a	// c12a <tk_freq_para_init+0x62>
    c132:	104e      	lrw      	r2, 0x1194	// c168 <tk_freq_para_init+0xa0>
    c134:	07fb      	br      	0xc12a	// c12a <tk_freq_para_init+0x62>
    c136:	104e      	lrw      	r2, 0x1770	// c16c <tk_freq_para_init+0xa4>
    c138:	07f9      	br      	0xc12a	// c12a <tk_freq_para_init+0x62>
    c13a:	104e      	lrw      	r2, 0xbb8	// c170 <tk_freq_para_init+0xa8>
    c13c:	07f7      	br      	0xc12a	// c12a <tk_freq_para_init+0x62>
    c13e:	0000      	bkpt
    c140:	20000239 	.long	0x20000239
    c144:	20000070 	.long	0x20000070
    c148:	20000bfc 	.long	0x20000bfc
    c14c:	2000096c 	.long	0x2000096c
    c150:	2000099c 	.long	0x2000099c
    c154:	20000058 	.long	0x20000058
    c158:	20000290 	.long	0x20000290
    c15c:	2000023a 	.long	0x2000023a
    c160:	20000a24 	.long	0x20000a24
    c164:	000005dc 	.long	0x000005dc
    c168:	00001194 	.long	0x00001194
    c16c:	00001770 	.long	0x00001770
    c170:	00000bb8 	.long	0x00000bb8

Disassembly of section .text.tk_reserved_init:

0000c174 <tk_reserved_init>:
    c174:	1065      	lrw      	r3, 0x2000005c	// c188 <tk_reserved_init+0x14>
    c176:	1046      	lrw      	r2, 0xa67a6cc7	// c18c <tk_reserved_init+0x18>
    c178:	9360      	ld.w      	r3, (r3, 0x0)
    c17a:	b356      	st.w      	r2, (r3, 0x58)
    c17c:	1045      	lrw      	r2, 0x21f1f04	// c190 <tk_reserved_init+0x1c>
    c17e:	b355      	st.w      	r2, (r3, 0x54)
    c180:	1045      	lrw      	r2, 0x69966996	// c194 <tk_reserved_init+0x20>
    c182:	1066      	lrw      	r3, 0x40011180	// c198 <tk_reserved_init+0x24>
    c184:	b35f      	st.w      	r2, (r3, 0x7c)
    c186:	783c      	jmp      	r15
    c188:	2000005c 	.long	0x2000005c
    c18c:	a67a6cc7 	.long	0xa67a6cc7
    c190:	021f1f04 	.long	0x021f1f04
    c194:	69966996 	.long	0x69966996
    c198:	40011180 	.long	0x40011180

Disassembly of section .text.TKEYIntHandler:

0000c19c <TKEYIntHandler>:
    c19c:	1460      	nie
    c19e:	1462      	ipush
    c1a0:	14d1      	push      	r4, r15
    c1a2:	1183      	lrw      	r4, 0x20000070	// c22c <TKEYIntHandler+0x90>
    c1a4:	8460      	ld.b      	r3, (r4, 0x0)
    c1a6:	3b40      	cmpnei      	r3, 0
    c1a8:	0815      	bt      	0xc1d2	// c1d2 <TKEYIntHandler+0x36>
    c1aa:	3301      	movi      	r3, 1
    c1ac:	a460      	st.b      	r3, (r4, 0x0)
    c1ae:	1161      	lrw      	r3, 0x20000934	// c230 <TKEYIntHandler+0x94>
    c1b0:	8360      	ld.b      	r3, (r3, 0x0)
    c1b2:	3b41      	cmpnei      	r3, 1
    c1b4:	080f      	bt      	0xc1d2	// c1d2 <TKEYIntHandler+0x36>
    c1b6:	1140      	lrw      	r2, 0x20000b45	// c234 <TKEYIntHandler+0x98>
    c1b8:	8260      	ld.b      	r3, (r2, 0x0)
    c1ba:	2300      	addi      	r3, 1
    c1bc:	74cc      	zextb      	r3, r3
    c1be:	a260      	st.b      	r3, (r2, 0x0)
    c1c0:	8260      	ld.b      	r3, (r2, 0x0)
    c1c2:	3b43      	cmpnei      	r3, 3
    c1c4:	0803      	bt      	0xc1ca	// c1ca <TKEYIntHandler+0x2e>
    c1c6:	3300      	movi      	r3, 0
    c1c8:	a260      	st.b      	r3, (r2, 0x0)
    c1ca:	e3fff4a5 	bsr      	0xab14	// ab14 <TK_Sampling_prog>
    c1ce:	3301      	movi      	r3, 1
    c1d0:	a461      	st.b      	r3, (r4, 0x1)
    c1d2:	107a      	lrw      	r3, 0x20000058	// c238 <TKEYIntHandler+0x9c>
    c1d4:	3101      	movi      	r1, 1
    c1d6:	9360      	ld.w      	r3, (r3, 0x0)
    c1d8:	934a      	ld.w      	r2, (r3, 0x28)
    c1da:	6884      	and      	r2, r1
    c1dc:	3a40      	cmpnei      	r2, 0
    c1de:	0c02      	bf      	0xc1e2	// c1e2 <TKEYIntHandler+0x46>
    c1e0:	b32c      	st.w      	r1, (r3, 0x30)
    c1e2:	934a      	ld.w      	r2, (r3, 0x28)
    c1e4:	3102      	movi      	r1, 2
    c1e6:	6884      	and      	r2, r1
    c1e8:	3a40      	cmpnei      	r2, 0
    c1ea:	0c02      	bf      	0xc1ee	// c1ee <TKEYIntHandler+0x52>
    c1ec:	b32c      	st.w      	r1, (r3, 0x30)
    c1ee:	934a      	ld.w      	r2, (r3, 0x28)
    c1f0:	3104      	movi      	r1, 4
    c1f2:	6884      	and      	r2, r1
    c1f4:	3a40      	cmpnei      	r2, 0
    c1f6:	0c02      	bf      	0xc1fa	// c1fa <TKEYIntHandler+0x5e>
    c1f8:	b32c      	st.w      	r1, (r3, 0x30)
    c1fa:	934a      	ld.w      	r2, (r3, 0x28)
    c1fc:	3108      	movi      	r1, 8
    c1fe:	6884      	and      	r2, r1
    c200:	3a40      	cmpnei      	r2, 0
    c202:	0c02      	bf      	0xc206	// c206 <TKEYIntHandler+0x6a>
    c204:	b32c      	st.w      	r1, (r3, 0x30)
    c206:	934a      	ld.w      	r2, (r3, 0x28)
    c208:	3110      	movi      	r1, 16
    c20a:	6884      	and      	r2, r1
    c20c:	3a40      	cmpnei      	r2, 0
    c20e:	0c02      	bf      	0xc212	// c212 <TKEYIntHandler+0x76>
    c210:	b32c      	st.w      	r1, (r3, 0x30)
    c212:	934a      	ld.w      	r2, (r3, 0x28)
    c214:	3120      	movi      	r1, 32
    c216:	6884      	and      	r2, r1
    c218:	3a40      	cmpnei      	r2, 0
    c21a:	0c02      	bf      	0xc21e	// c21e <TKEYIntHandler+0x82>
    c21c:	b32c      	st.w      	r1, (r3, 0x30)
    c21e:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    c222:	9880      	ld.w      	r4, (r14, 0x0)
    c224:	1402      	addi      	r14, r14, 8
    c226:	1463      	ipop
    c228:	1461      	nir
    c22a:	0000      	bkpt
    c22c:	20000070 	.long	0x20000070
    c230:	20000934 	.long	0x20000934
    c234:	20000b45 	.long	0x20000b45
    c238:	20000058 	.long	0x20000058

Disassembly of section .text.CORETHandler:

0000c23c <CORETHandler>:
    c23c:	1460      	nie
    c23e:	1462      	ipush
    c240:	14d3      	push      	r4-r6, r15
    c242:	1269      	lrw      	r3, 0x20000064	// c364 <CORETHandler+0x128>
    c244:	3400      	movi      	r4, 0
    c246:	9360      	ld.w      	r3, (r3, 0x0)
    c248:	b386      	st.w      	r4, (r3, 0x18)
    c24a:	1268      	lrw      	r3, 0x20000934	// c368 <CORETHandler+0x12c>
    c24c:	8360      	ld.b      	r3, (r3, 0x0)
    c24e:	3b41      	cmpnei      	r3, 1
    c250:	0840      	bt      	0xc2d0	// c2d0 <CORETHandler+0x94>
    c252:	e3fff6f5 	bsr      	0xb03c	// b03c <TK_Scan_Start>
    c256:	e3fff727 	bsr      	0xb0a4	// b0a4 <TK_Keymap_prog>
    c25a:	e3fffb5d 	bsr      	0xb914	// b914 <TK_overflow_predict>
    c25e:	e3fffbef 	bsr      	0xba3c	// ba3c <TK_Baseline_tracking>
    c262:	e3fff3c5 	bsr      	0xa9ec	// a9ec <TK_Single_Longpress_prg>
    c266:	e3fffe53 	bsr      	0xbf0c	// bf0c <TK_result_prog>
    c26a:	1261      	lrw      	r3, 0x20000a28	// c36c <CORETHandler+0x130>
    c26c:	9360      	ld.w      	r3, (r3, 0x0)
    c26e:	3b40      	cmpnei      	r3, 0
    c270:	0c12      	bf      	0xc294	// c294 <CORETHandler+0x58>
    c272:	1260      	lrw      	r3, 0x2000023c	// c370 <CORETHandler+0x134>
    c274:	9340      	ld.w      	r2, (r3, 0x0)
    c276:	3a40      	cmpnei      	r2, 0
    c278:	0c0e      	bf      	0xc294	// c294 <CORETHandler+0x58>
    c27a:	117f      	lrw      	r3, 0x20000a20	// c374 <CORETHandler+0x138>
    c27c:	3064      	movi      	r0, 100
    c27e:	9320      	ld.w      	r1, (r3, 0x0)
    c280:	2100      	addi      	r1, 1
    c282:	b320      	st.w      	r1, (r3, 0x0)
    c284:	9320      	ld.w      	r1, (r3, 0x0)
    c286:	7c80      	mult      	r2, r0
    c288:	6448      	cmphs      	r2, r1
    c28a:	0805      	bt      	0xc294	// c294 <CORETHandler+0x58>
    c28c:	115b      	lrw      	r2, 0x200009cd	// c378 <CORETHandler+0x13c>
    c28e:	3101      	movi      	r1, 1
    c290:	a220      	st.b      	r1, (r2, 0x0)
    c292:	b380      	st.w      	r4, (r3, 0x0)
    c294:	117a      	lrw      	r3, 0x20000235	// c37c <CORETHandler+0x140>
    c296:	8340      	ld.b      	r2, (r3, 0x0)
    c298:	3a41      	cmpnei      	r2, 1
    c29a:	0823      	bt      	0xc2e0	// c2e0 <CORETHandler+0xa4>
    c29c:	1139      	lrw      	r1, 0x20000928	// c380 <CORETHandler+0x144>
    c29e:	115a      	lrw      	r2, 0x200008bc	// c384 <CORETHandler+0x148>
    c2a0:	9100      	ld.w      	r0, (r1, 0x0)
    c2a2:	9260      	ld.w      	r3, (r2, 0x0)
    c2a4:	64c2      	cmpne      	r0, r3
    c2a6:	1179      	lrw      	r3, 0x20000ac4	// c388 <CORETHandler+0x14c>
    c2a8:	080a      	bt      	0xc2bc	// c2bc <CORETHandler+0x80>
    c2aa:	9280      	ld.w      	r4, (r2, 0x0)
    c2ac:	1158      	lrw      	r2, 0x200009a0	// c38c <CORETHandler+0x150>
    c2ae:	9200      	ld.w      	r0, (r2, 0x0)
    c2b0:	6412      	cmpne      	r4, r0
    c2b2:	0805      	bt      	0xc2bc	// c2bc <CORETHandler+0x80>
    c2b4:	9120      	ld.w      	r1, (r1, 0x0)
    c2b6:	9240      	ld.w      	r2, (r2, 0x0)
    c2b8:	6486      	cmpne      	r1, r2
    c2ba:	0c09      	bf      	0xc2cc	// c2cc <CORETHandler+0x90>
    c2bc:	9340      	ld.w      	r2, (r3, 0x0)
    c2be:	2200      	addi      	r2, 1
    c2c0:	b340      	st.w      	r2, (r3, 0x0)
    c2c2:	1154      	lrw      	r2, 0x20000090	// c390 <CORETHandler+0x154>
    c2c4:	823c      	ld.b      	r1, (r2, 0x1c)
    c2c6:	9340      	ld.w      	r2, (r3, 0x0)
    c2c8:	6484      	cmphs      	r1, r2
    c2ca:	0803      	bt      	0xc2d0	// c2d0 <CORETHandler+0x94>
    c2cc:	3200      	movi      	r2, 0
    c2ce:	b340      	st.w      	r2, (r3, 0x0)
    c2d0:	d9ee2003 	ld.w      	r15, (r14, 0xc)
    c2d4:	98c2      	ld.w      	r6, (r14, 0x8)
    c2d6:	98a1      	ld.w      	r5, (r14, 0x4)
    c2d8:	9880      	ld.w      	r4, (r14, 0x0)
    c2da:	1404      	addi      	r14, r14, 16
    c2dc:	1463      	ipop
    c2de:	1461      	nir
    c2e0:	83a0      	ld.b      	r5, (r3, 0x0)
    c2e2:	7554      	zextb      	r5, r5
    c2e4:	3d40      	cmpnei      	r5, 0
    c2e6:	0bf5      	bt      	0xc2d0	// c2d0 <CORETHandler+0x94>
    c2e8:	1166      	lrw      	r3, 0x20000928	// c380 <CORETHandler+0x144>
    c2ea:	1147      	lrw      	r2, 0x200008bc	// c384 <CORETHandler+0x148>
    c2ec:	9300      	ld.w      	r0, (r3, 0x0)
    c2ee:	9220      	ld.w      	r1, (r2, 0x0)
    c2f0:	6442      	cmpne      	r0, r1
    c2f2:	1127      	lrw      	r1, 0x200009a0	// c38c <CORETHandler+0x150>
    c2f4:	1105      	lrw      	r0, 0x20000ac4	// c388 <CORETHandler+0x14c>
    c2f6:	0c33      	bf      	0xc35c	// c35c <CORETHandler+0x120>
    c2f8:	92c0      	ld.w      	r6, (r2, 0x0)
    c2fa:	9180      	ld.w      	r4, (r1, 0x0)
    c2fc:	651a      	cmpne      	r6, r4
    c2fe:	0c2f      	bf      	0xc35c	// c35c <CORETHandler+0x120>
    c300:	93c0      	ld.w      	r6, (r3, 0x0)
    c302:	9180      	ld.w      	r4, (r1, 0x0)
    c304:	651a      	cmpne      	r6, r4
    c306:	0c2b      	bf      	0xc35c	// c35c <CORETHandler+0x120>
    c308:	9080      	ld.w      	r4, (r0, 0x0)
    c30a:	2400      	addi      	r4, 1
    c30c:	b080      	st.w      	r4, (r0, 0x0)
    c30e:	1181      	lrw      	r4, 0x20000090	// c390 <CORETHandler+0x154>
    c310:	84dc      	ld.b      	r6, (r4, 0x1c)
    c312:	9080      	ld.w      	r4, (r0, 0x0)
    c314:	6518      	cmphs      	r6, r4
    c316:	0802      	bt      	0xc31a	// c31a <CORETHandler+0xde>
    c318:	b0a0      	st.w      	r5, (r0, 0x0)
    c31a:	9380      	ld.w      	r4, (r3, 0x0)
    c31c:	9200      	ld.w      	r0, (r2, 0x0)
    c31e:	6412      	cmpne      	r4, r0
    c320:	101d      	lrw      	r0, 0x20000b04	// c394 <CORETHandler+0x158>
    c322:	0c04      	bf      	0xc32a	// c32a <CORETHandler+0xee>
    c324:	9180      	ld.w      	r4, (r1, 0x0)
    c326:	3c40      	cmpnei      	r4, 0
    c328:	0c0f      	bf      	0xc346	// c346 <CORETHandler+0x10a>
    c32a:	93a0      	ld.w      	r5, (r3, 0x0)
    c32c:	9180      	ld.w      	r4, (r1, 0x0)
    c32e:	6516      	cmpne      	r5, r4
    c330:	0c04      	bf      	0xc338	// c338 <CORETHandler+0xfc>
    c332:	9280      	ld.w      	r4, (r2, 0x0)
    c334:	3c40      	cmpnei      	r4, 0
    c336:	0c08      	bf      	0xc346	// c346 <CORETHandler+0x10a>
    c338:	9120      	ld.w      	r1, (r1, 0x0)
    c33a:	9240      	ld.w      	r2, (r2, 0x0)
    c33c:	6486      	cmpne      	r1, r2
    c33e:	0c0c      	bf      	0xc356	// c356 <CORETHandler+0x11a>
    c340:	9360      	ld.w      	r3, (r3, 0x0)
    c342:	3b40      	cmpnei      	r3, 0
    c344:	0809      	bt      	0xc356	// c356 <CORETHandler+0x11a>
    c346:	9060      	ld.w      	r3, (r0, 0x0)
    c348:	2300      	addi      	r3, 1
    c34a:	b060      	st.w      	r3, (r0, 0x0)
    c34c:	1071      	lrw      	r3, 0x20000090	// c390 <CORETHandler+0x154>
    c34e:	835c      	ld.b      	r2, (r3, 0x1c)
    c350:	9060      	ld.w      	r3, (r0, 0x0)
    c352:	64c8      	cmphs      	r2, r3
    c354:	0bbe      	bt      	0xc2d0	// c2d0 <CORETHandler+0x94>
    c356:	3300      	movi      	r3, 0
    c358:	b060      	st.w      	r3, (r0, 0x0)
    c35a:	07bb      	br      	0xc2d0	// c2d0 <CORETHandler+0x94>
    c35c:	3400      	movi      	r4, 0
    c35e:	b080      	st.w      	r4, (r0, 0x0)
    c360:	07dd      	br      	0xc31a	// c31a <CORETHandler+0xde>
    c362:	0000      	bkpt
    c364:	20000064 	.long	0x20000064
    c368:	20000934 	.long	0x20000934
    c36c:	20000a28 	.long	0x20000a28
    c370:	2000023c 	.long	0x2000023c
    c374:	20000a20 	.long	0x20000a20
    c378:	200009cd 	.long	0x200009cd
    c37c:	20000235 	.long	0x20000235
    c380:	20000928 	.long	0x20000928
    c384:	200008bc 	.long	0x200008bc
    c388:	20000ac4 	.long	0x20000ac4
    c38c:	200009a0 	.long	0x200009a0
    c390:	20000090 	.long	0x20000090
    c394:	20000b04 	.long	0x20000b04

Disassembly of section .text.tk_init:

0000c398 <tk_init>:
    c398:	14d4      	push      	r4-r7, r15
    c39a:	142c      	subi      	r14, r14, 48
    c39c:	e3fffeec 	bsr      	0xc174	// c174 <tk_reserved_init>
    c3a0:	e3ffc7d0 	bsr      	0x5340	// 5340 <tk_parameter_init>
    c3a4:	e3fffe92 	bsr      	0xc0c8	// c0c8 <tk_freq_para_init>
    c3a8:	e3fff288 	bsr      	0xa8b8	// a8b8 <tk_io_enable>
    c3ac:	3200      	movi      	r2, 0
    c3ae:	3100      	movi      	r1, 0
    c3b0:	3001      	movi      	r0, 1
    c3b2:	e3fff211 	bsr      	0xa7d4	// a7d4 <tk_clk_config>
    c3b6:	e3fffe7b 	bsr      	0xc0ac	// c0ac <tk_chxval_seqxcon_clr>
    c3ba:	e3fffe41 	bsr      	0xc03c	// c03c <get_key_seq>
    c3be:	1191      	lrw      	r4, 0x20000ae4	// c480 <tk_init+0xe8>
    c3c0:	3101      	movi      	r1, 1
    c3c2:	a400      	st.b      	r0, (r4, 0x0)
    c3c4:	8440      	ld.b      	r2, (r4, 0x0)
    c3c6:	1170      	lrw      	r3, 0x200002b4	// c484 <tk_init+0xec>
    c3c8:	8b60      	ld.h      	r3, (r3, 0x0)
    c3ca:	b829      	st.w      	r1, (r14, 0x24)
    c3cc:	3180      	movi      	r1, 128
    c3ce:	412d      	lsli      	r1, r1, 13
    c3d0:	b828      	st.w      	r1, (r14, 0x20)
    c3d2:	3180      	movi      	r1, 128
    c3d4:	4129      	lsli      	r1, r1, 9
    c3d6:	b827      	st.w      	r1, (r14, 0x1c)
    c3d8:	3100      	movi      	r1, 0
    c3da:	b826      	st.w      	r1, (r14, 0x18)
    c3dc:	2a00      	subi      	r2, 1
    c3de:	110b      	lrw      	r0, 0x200002b6	// c488 <tk_init+0xf0>
    c3e0:	8800      	ld.h      	r0, (r0, 0x0)
    c3e2:	b805      	st.w      	r0, (r14, 0x14)
    c3e4:	7488      	zextb      	r2, r2
    c3e6:	110a      	lrw      	r0, 0x200002bc	// c48c <tk_init+0xf4>
    c3e8:	8800      	ld.h      	r0, (r0, 0x0)
    c3ea:	b804      	st.w      	r0, (r14, 0x10)
    c3ec:	3080      	movi      	r0, 128
    c3ee:	4005      	lsli      	r0, r0, 5
    c3f0:	b803      	st.w      	r0, (r14, 0xc)
    c3f2:	3080      	movi      	r0, 128
    c3f4:	4004      	lsli      	r0, r0, 4
    c3f6:	b802      	st.w      	r0, (r14, 0x8)
    c3f8:	b821      	st.w      	r1, (r14, 0x4)
    c3fa:	b820      	st.w      	r1, (r14, 0x0)
    c3fc:	3001      	movi      	r0, 1
    c3fe:	3102      	movi      	r1, 2
    c400:	e3fff1fe 	bsr      	0xa7fc	// a7fc <TK_con0_config>
    c404:	3002      	movi      	r0, 2
    c406:	e3fff1df 	bsr      	0xa7c4	// a7c4 <TK_ConfigInterrupt_CMD.part.0>
    c40a:	3020      	movi      	r0, 32
    c40c:	e3fff1dc 	bsr      	0xa7c4	// a7c4 <TK_ConfigInterrupt_CMD.part.0>
    c410:	3380      	movi      	r3, 128
    c412:	4372      	lsli      	r3, r3, 18
    c414:	105f      	lrw      	r2, 0xe000e100	// c490 <tk_init+0xf8>
    c416:	b260      	st.w      	r3, (r2, 0x0)
    c418:	b270      	st.w      	r3, (r2, 0x40)
    c41a:	10ff      	lrw      	r7, 0x20000078	// c494 <tk_init+0xfc>
    c41c:	107f      	lrw      	r3, 0x20000054	// c498 <tk_init+0x100>
    c41e:	11a0      	lrw      	r5, 0x20000b34	// c49c <tk_init+0x104>
    c420:	11c0      	lrw      	r6, 0x2000026e	// c4a0 <tk_init+0x108>
    c422:	9360      	ld.w      	r3, (r3, 0x0)
    c424:	b86a      	st.w      	r3, (r14, 0x28)
    c426:	b88b      	st.w      	r4, (r14, 0x2c)
    c428:	3300      	movi      	r3, 0
    c42a:	984b      	ld.w      	r2, (r14, 0x2c)
    c42c:	8240      	ld.b      	r2, (r2, 0x0)
    c42e:	648c      	cmphs      	r3, r2
    c430:	0c09      	bf      	0xc442	// c442 <tk_init+0xaa>
    c432:	e3fffe21 	bsr      	0xc074	// c074 <CORET_CONFIG>
    c436:	e3fff425 	bsr      	0xac80	// ac80 <TK_Baseline_prog>
    c43a:	e3fff56f 	bsr      	0xaf18	// af18 <tk_poweron_data_fineturn>
    c43e:	140c      	addi      	r14, r14, 48
    c440:	1494      	pop      	r4-r7, r15
    c442:	5d0c      	addu      	r0, r5, r3
    c444:	8020      	ld.b      	r1, (r0, 0x0)
    c446:	8040      	ld.b      	r2, (r0, 0x0)
    c448:	8080      	ld.b      	r4, (r0, 0x0)
    c44a:	8000      	ld.b      	r0, (r0, 0x0)
    c44c:	4001      	lsli      	r0, r0, 1
    c44e:	6018      	addu      	r0, r6
    c450:	4121      	lsli      	r1, r1, 1
    c452:	8800      	ld.h      	r0, (r0, 0x0)
    c454:	605c      	addu      	r1, r7
    c456:	448f      	lsli      	r4, r4, 15
    c458:	6d00      	or      	r4, r0
    c45a:	4241      	lsli      	r2, r2, 1
    c45c:	8900      	ld.h      	r0, (r1, 0x0)
    c45e:	1032      	lrw      	r1, 0x20000242	// c4a4 <tk_init+0x10c>
    c460:	6084      	addu      	r2, r1
    c462:	4018      	lsli      	r0, r0, 24
    c464:	6c10      	or      	r0, r4
    c466:	8a80      	ld.h      	r4, (r2, 0x0)
    c468:	3212      	movi      	r2, 18
    c46a:	608c      	addu      	r2, r3
    c46c:	4494      	lsli      	r4, r4, 20
    c46e:	4242      	lsli      	r2, r2, 2
    c470:	982a      	ld.w      	r1, (r14, 0x28)
    c472:	6c10      	or      	r0, r4
    c474:	6084      	addu      	r2, r1
    c476:	2300      	addi      	r3, 1
    c478:	b200      	st.w      	r0, (r2, 0x0)
    c47a:	74cc      	zextb      	r3, r3
    c47c:	07d7      	br      	0xc42a	// c42a <tk_init+0x92>
    c47e:	0000      	bkpt
    c480:	20000ae4 	.long	0x20000ae4
    c484:	200002b4 	.long	0x200002b4
    c488:	200002b6 	.long	0x200002b6
    c48c:	200002bc 	.long	0x200002bc
    c490:	e000e100 	.long	0xe000e100
    c494:	20000078 	.long	0x20000078
    c498:	20000054 	.long	0x20000054
    c49c:	20000b34 	.long	0x20000b34
    c4a0:	2000026e 	.long	0x2000026e
    c4a4:	20000242 	.long	0x20000242

Disassembly of section .text.std_clk_calib:

0000c4a8 <std_clk_calib>:
    c4a8:	14d4      	push      	r4-r7, r15
    c4aa:	142d      	subi      	r14, r14, 52
    c4ac:	3201      	movi      	r2, 1
    c4ae:	03ce      	lrw      	r6, 0x2000005c	// c6f0 <std_clk_calib+0x248>
    c4b0:	6cc3      	mov      	r3, r0
    c4b2:	dc4e000a 	st.b      	r2, (r14, 0xa)
    c4b6:	9640      	ld.w      	r2, (r6, 0x0)
    c4b8:	9247      	ld.w      	r2, (r2, 0x1c)
    c4ba:	7488      	zextb      	r2, r2
    c4bc:	dc4e0009 	st.b      	r2, (r14, 0x9)
    c4c0:	d84e0009 	ld.b      	r2, (r14, 0x9)
    c4c4:	3a40      	cmpnei      	r2, 0
    c4c6:	0c08      	bf      	0xc4d6	// c4d6 <std_clk_calib+0x2e>
    c4c8:	d84e0009 	ld.b      	r2, (r14, 0x9)
    c4cc:	3a42      	cmpnei      	r2, 2
    c4ce:	0c04      	bf      	0xc4d6	// c4d6 <std_clk_calib+0x2e>
    c4d0:	3000      	movi      	r0, 0
    c4d2:	140d      	addi      	r14, r14, 52
    c4d4:	1494      	pop      	r4-r7, r15
    c4d6:	0397      	lrw      	r4, 0x2000000c	// c6f4 <std_clk_calib+0x24c>
    c4d8:	3209      	movi      	r2, 9
    c4da:	9400      	ld.w      	r0, (r4, 0x0)
    c4dc:	3b40      	cmpnei      	r3, 0
    c4de:	b041      	st.w      	r2, (r0, 0x4)
    c4e0:	0857      	bt      	0xc58e	// c58e <std_clk_calib+0xe6>
    c4e2:	3307      	movi      	r3, 7
    c4e4:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c4e8:	037b      	lrw      	r3, 0x2dc6c00	// c6f8 <std_clk_calib+0x250>
    c4ea:	b863      	st.w      	r3, (r14, 0xc)
    c4ec:	3380      	movi      	r3, 128
    c4ee:	4362      	lsli      	r3, r3, 2
    c4f0:	b867      	st.w      	r3, (r14, 0x1c)
    c4f2:	d86e000b 	ld.b      	r3, (r14, 0xb)
    c4f6:	74cc      	zextb      	r3, r3
    c4f8:	b062      	st.w      	r3, (r0, 0x8)
    c4fa:	037e      	lrw      	r3, 0xffff	// c6fc <std_clk_calib+0x254>
    c4fc:	b063      	st.w      	r3, (r0, 0xc)
    c4fe:	3201      	movi      	r2, 1
    c500:	3101      	movi      	r1, 1
    c502:	03bf      	lrw      	r5, 0x20000014	// c700 <std_clk_calib+0x258>
    c504:	e3ffc2e8 	bsr      	0x4ad4	// 4ad4 <BT_ConfigInterrupt_CMD>
    c508:	95e0      	ld.w      	r7, (r5, 0x0)
    c50a:	137f      	lrw      	r3, 0xbe9c0005	// c704 <std_clk_calib+0x25c>
    c50c:	b760      	st.w      	r3, (r7, 0x0)
    c50e:	135f      	lrw      	r2, 0x30010	// c708 <std_clk_calib+0x260>
    c510:	3300      	movi      	r3, 0
    c512:	b762      	st.w      	r3, (r7, 0x8)
    c514:	b743      	st.w      	r2, (r7, 0xc)
    c516:	32d8      	movi      	r2, 216
    c518:	b745      	st.w      	r2, (r7, 0x14)
    c51a:	974f      	ld.w      	r2, (r7, 0x3c)
    c51c:	3aa2      	bseti      	r2, 2
    c51e:	b74f      	st.w      	r2, (r7, 0x3c)
    c520:	9803      	ld.w      	r0, (r14, 0xc)
    c522:	d82e000b 	ld.b      	r1, (r14, 0xb)
    c526:	327d      	movi      	r2, 125
    c528:	2100      	addi      	r1, 1
    c52a:	7c48      	mult      	r1, r2
    c52c:	b861      	st.w      	r3, (r14, 0x4)
    c52e:	e3ffce1b 	bsr      	0x6164	// 6164 <__udivsi3>
    c532:	b804      	st.w      	r0, (r14, 0x10)
    c534:	32fa      	movi      	r2, 250
    c536:	9824      	ld.w      	r1, (r14, 0x10)
    c538:	4242      	lsli      	r2, r2, 2
    c53a:	6448      	cmphs      	r2, r1
    c53c:	0bca      	bt      	0xc4d0	// c4d0 <std_clk_calib+0x28>
    c53e:	9844      	ld.w      	r2, (r14, 0x10)
    c540:	3178      	movi      	r1, 120
    c542:	9804      	ld.w      	r0, (r14, 0x10)
    c544:	b840      	st.w      	r2, (r14, 0x0)
    c546:	e3ffce0f 	bsr      	0x6164	// 6164 <__udivsi3>
    c54a:	9840      	ld.w      	r2, (r14, 0x0)
    c54c:	6082      	subu      	r2, r0
    c54e:	b845      	st.w      	r2, (r14, 0x14)
    c550:	9804      	ld.w      	r0, (r14, 0x10)
    c552:	3178      	movi      	r1, 120
    c554:	9844      	ld.w      	r2, (r14, 0x10)
    c556:	b840      	st.w      	r2, (r14, 0x0)
    c558:	e3ffce06 	bsr      	0x6164	// 6164 <__udivsi3>
    c55c:	9840      	ld.w      	r2, (r14, 0x0)
    c55e:	6008      	addu      	r0, r2
    c560:	b806      	st.w      	r0, (r14, 0x18)
    c562:	c0807020 	psrclr      	ie
    c566:	9640      	ld.w      	r2, (r6, 0x0)
    c568:	9254      	ld.w      	r2, (r2, 0x50)
    c56a:	b848      	st.w      	r2, (r14, 0x20)
    c56c:	9861      	ld.w      	r3, (r14, 0x4)
    c56e:	9440      	ld.w      	r2, (r4, 0x0)
    c570:	b260      	st.w      	r3, (r2, 0x0)
    c572:	b761      	st.w      	r3, (r7, 0x4)
    c574:	d86e000a 	ld.b      	r3, (r14, 0xa)
    c578:	3b40      	cmpnei      	r3, 0
    c57a:	083e      	bt      	0xc5f6	// c5f6 <std_clk_calib+0x14e>
    c57c:	e3ffc25e 	bsr      	0x4a38	// 4a38 <LPT_Soft_Reset>
    c580:	9400      	ld.w      	r0, (r4, 0x0)
    c582:	e3ffc27f 	bsr      	0x4a80	// 4a80 <BT_Soft_Reset>
    c586:	c1807420 	psrset      	ee, ie
    c58a:	3001      	movi      	r0, 1
    c58c:	07a3      	br      	0xc4d2	// c4d2 <std_clk_calib+0x2a>
    c58e:	3b41      	cmpnei      	r3, 1
    c590:	0806      	bt      	0xc59c	// c59c <std_clk_calib+0xf4>
    c592:	3303      	movi      	r3, 3
    c594:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c598:	127d      	lrw      	r3, 0x16e3600	// c70c <std_clk_calib+0x264>
    c59a:	07a8      	br      	0xc4ea	// c4ea <std_clk_calib+0x42>
    c59c:	3b42      	cmpnei      	r3, 2
    c59e:	0806      	bt      	0xc5aa	// c5aa <std_clk_calib+0x102>
    c5a0:	3301      	movi      	r3, 1
    c5a2:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c5a6:	127b      	lrw      	r3, 0xb71b00	// c710 <std_clk_calib+0x268>
    c5a8:	07a1      	br      	0xc4ea	// c4ea <std_clk_calib+0x42>
    c5aa:	3b43      	cmpnei      	r3, 3
    c5ac:	0806      	bt      	0xc5b8	// c5b8 <std_clk_calib+0x110>
    c5ae:	3300      	movi      	r3, 0
    c5b0:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c5b4:	1278      	lrw      	r3, 0x5b8d80	// c714 <std_clk_calib+0x26c>
    c5b6:	079a      	br      	0xc4ea	// c4ea <std_clk_calib+0x42>
    c5b8:	3b44      	cmpnei      	r3, 4
    c5ba:	0809      	bt      	0xc5cc	// c5cc <std_clk_calib+0x124>
    c5bc:	3300      	movi      	r3, 0
    c5be:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c5c2:	1276      	lrw      	r3, 0x54c720	// c718 <std_clk_calib+0x270>
    c5c4:	b863      	st.w      	r3, (r14, 0xc)
    c5c6:	3380      	movi      	r3, 128
    c5c8:	4369      	lsli      	r3, r3, 9
    c5ca:	0793      	br      	0xc4f0	// c4f0 <std_clk_calib+0x48>
    c5cc:	3b45      	cmpnei      	r3, 5
    c5ce:	0806      	bt      	0xc5da	// c5da <std_clk_calib+0x132>
    c5d0:	3300      	movi      	r3, 0
    c5d2:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c5d6:	1272      	lrw      	r3, 0x3ffed0	// c71c <std_clk_calib+0x274>
    c5d8:	07f6      	br      	0xc5c4	// c5c4 <std_clk_calib+0x11c>
    c5da:	3b46      	cmpnei      	r3, 6
    c5dc:	0806      	bt      	0xc5e8	// c5e8 <std_clk_calib+0x140>
    c5de:	3300      	movi      	r3, 0
    c5e0:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c5e4:	126f      	lrw      	r3, 0x1fff68	// c720 <std_clk_calib+0x278>
    c5e6:	07ef      	br      	0xc5c4	// c5c4 <std_clk_calib+0x11c>
    c5e8:	3b47      	cmpnei      	r3, 7
    c5ea:	0b84      	bt      	0xc4f2	// c4f2 <std_clk_calib+0x4a>
    c5ec:	3300      	movi      	r3, 0
    c5ee:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c5f2:	126d      	lrw      	r3, 0x1ffb8	// c724 <std_clk_calib+0x27c>
    c5f4:	07e8      	br      	0xc5c4	// c5c4 <std_clk_calib+0x11c>
    c5f6:	9560      	ld.w      	r3, (r5, 0x0)
    c5f8:	3101      	movi      	r1, 1
    c5fa:	9440      	ld.w      	r2, (r4, 0x0)
    c5fc:	b321      	st.w      	r1, (r3, 0x4)
    c5fe:	b220      	st.w      	r1, (r2, 0x0)
    c600:	3100      	movi      	r1, 0
    c602:	b327      	st.w      	r1, (r3, 0x1c)
    c604:	3004      	movi      	r0, 4
    c606:	b225      	st.w      	r1, (r2, 0x14)
    c608:	932e      	ld.w      	r1, (r3, 0x38)
    c60a:	6840      	and      	r1, r0
    c60c:	3940      	cmpnei      	r1, 0
    c60e:	0ffd      	bf      	0xc608	// c608 <std_clk_calib+0x160>
    c610:	9225      	ld.w      	r1, (r2, 0x14)
    c612:	b82a      	st.w      	r1, (r14, 0x28)
    c614:	3100      	movi      	r1, 0
    c616:	b310      	st.w      	r0, (r3, 0x40)
    c618:	b327      	st.w      	r1, (r3, 0x1c)
    c61a:	3004      	movi      	r0, 4
    c61c:	b225      	st.w      	r1, (r2, 0x14)
    c61e:	932e      	ld.w      	r1, (r3, 0x38)
    c620:	6840      	and      	r1, r0
    c622:	3940      	cmpnei      	r1, 0
    c624:	0ffd      	bf      	0xc61e	// c61e <std_clk_calib+0x176>
    c626:	9225      	ld.w      	r1, (r2, 0x14)
    c628:	b82b      	st.w      	r1, (r14, 0x2c)
    c62a:	3100      	movi      	r1, 0
    c62c:	b310      	st.w      	r0, (r3, 0x40)
    c62e:	b327      	st.w      	r1, (r3, 0x1c)
    c630:	3004      	movi      	r0, 4
    c632:	b225      	st.w      	r1, (r2, 0x14)
    c634:	932e      	ld.w      	r1, (r3, 0x38)
    c636:	6840      	and      	r1, r0
    c638:	3940      	cmpnei      	r1, 0
    c63a:	0ffd      	bf      	0xc634	// c634 <std_clk_calib+0x18c>
    c63c:	9225      	ld.w      	r1, (r2, 0x14)
    c63e:	b82c      	st.w      	r1, (r14, 0x30)
    c640:	b310      	st.w      	r0, (r3, 0x40)
    c642:	982b      	ld.w      	r1, (r14, 0x2c)
    c644:	980c      	ld.w      	r0, (r14, 0x30)
    c646:	6040      	addu      	r1, r0
    c648:	b829      	st.w      	r1, (r14, 0x24)
    c64a:	9829      	ld.w      	r1, (r14, 0x24)
    c64c:	4921      	lsri      	r1, r1, 1
    c64e:	b829      	st.w      	r1, (r14, 0x24)
    c650:	3100      	movi      	r1, 0
    c652:	b321      	st.w      	r1, (r3, 0x4)
    c654:	b220      	st.w      	r1, (r2, 0x0)
    c656:	b327      	st.w      	r1, (r3, 0x1c)
    c658:	b225      	st.w      	r1, (r2, 0x14)
    c65a:	d86e0009 	ld.b      	r3, (r14, 0x9)
    c65e:	3b42      	cmpnei      	r3, 2
    c660:	9849      	ld.w      	r2, (r14, 0x24)
    c662:	082c      	bt      	0xc6ba	// c6ba <std_clk_calib+0x212>
    c664:	1171      	lrw      	r3, 0x7ff	// c728 <std_clk_calib+0x280>
    c666:	648c      	cmphs      	r3, r2
    c668:	0c03      	bf      	0xc66e	// c66e <std_clk_calib+0x1c6>
    c66a:	3300      	movi      	r3, 0
    c66c:	040f      	br      	0xc68a	// c68a <std_clk_calib+0x1e2>
    c66e:	9849      	ld.w      	r2, (r14, 0x24)
    c670:	9866      	ld.w      	r3, (r14, 0x18)
    c672:	648c      	cmphs      	r3, r2
    c674:	080e      	bt      	0xc690	// c690 <std_clk_calib+0x1e8>
    c676:	9868      	ld.w      	r3, (r14, 0x20)
    c678:	9847      	ld.w      	r2, (r14, 0x1c)
    c67a:	60ca      	subu      	r3, r2
    c67c:	b868      	st.w      	r3, (r14, 0x20)
    c67e:	32fe      	movi      	r2, 254
    c680:	9868      	ld.w      	r3, (r14, 0x20)
    c682:	4248      	lsli      	r2, r2, 8
    c684:	68c8      	and      	r3, r2
    c686:	3b40      	cmpnei      	r3, 0
    c688:	0812      	bt      	0xc6ac	// c6ac <std_clk_calib+0x204>
    c68a:	dc6e000a 	st.b      	r3, (r14, 0xa)
    c68e:	0721      	br      	0xc4d0	// c4d0 <std_clk_calib+0x28>
    c690:	9849      	ld.w      	r2, (r14, 0x24)
    c692:	9865      	ld.w      	r3, (r14, 0x14)
    c694:	64c8      	cmphs      	r2, r3
    c696:	0829      	bt      	0xc6e8	// c6e8 <std_clk_calib+0x240>
    c698:	9868      	ld.w      	r3, (r14, 0x20)
    c69a:	9847      	ld.w      	r2, (r14, 0x1c)
    c69c:	60c8      	addu      	r3, r2
    c69e:	b868      	st.w      	r3, (r14, 0x20)
    c6a0:	33fe      	movi      	r3, 254
    c6a2:	9848      	ld.w      	r2, (r14, 0x20)
    c6a4:	4368      	lsli      	r3, r3, 8
    c6a6:	688c      	and      	r2, r3
    c6a8:	64ca      	cmpne      	r2, r3
    c6aa:	0fe0      	bf      	0xc66a	// c66a <std_clk_calib+0x1c2>
    c6ac:	9660      	ld.w      	r3, (r6, 0x0)
    c6ae:	9848      	ld.w      	r2, (r14, 0x20)
    c6b0:	b354      	st.w      	r2, (r3, 0x50)
    c6b2:	3001      	movi      	r0, 1
    c6b4:	e3ffc748 	bsr      	0x5544	// 5544 <delay_nms>
    c6b8:	075e      	br      	0xc574	// c574 <std_clk_calib+0xcc>
    c6ba:	9866      	ld.w      	r3, (r14, 0x18)
    c6bc:	648c      	cmphs      	r3, r2
    c6be:	0809      	bt      	0xc6d0	// c6d0 <std_clk_calib+0x228>
    c6c0:	9868      	ld.w      	r3, (r14, 0x20)
    c6c2:	9847      	ld.w      	r2, (r14, 0x1c)
    c6c4:	60ca      	subu      	r3, r2
    c6c6:	b868      	st.w      	r3, (r14, 0x20)
    c6c8:	32ff      	movi      	r2, 255
    c6ca:	9868      	ld.w      	r3, (r14, 0x20)
    c6cc:	4250      	lsli      	r2, r2, 16
    c6ce:	07db      	br      	0xc684	// c684 <std_clk_calib+0x1dc>
    c6d0:	9849      	ld.w      	r2, (r14, 0x24)
    c6d2:	9865      	ld.w      	r3, (r14, 0x14)
    c6d4:	64c8      	cmphs      	r2, r3
    c6d6:	0809      	bt      	0xc6e8	// c6e8 <std_clk_calib+0x240>
    c6d8:	9868      	ld.w      	r3, (r14, 0x20)
    c6da:	9847      	ld.w      	r2, (r14, 0x1c)
    c6dc:	60c8      	addu      	r3, r2
    c6de:	b868      	st.w      	r3, (r14, 0x20)
    c6e0:	33ff      	movi      	r3, 255
    c6e2:	9848      	ld.w      	r2, (r14, 0x20)
    c6e4:	4370      	lsli      	r3, r3, 16
    c6e6:	07e0      	br      	0xc6a6	// c6a6 <std_clk_calib+0x1fe>
    c6e8:	3300      	movi      	r3, 0
    c6ea:	dc6e000a 	st.b      	r3, (r14, 0xa)
    c6ee:	07e2      	br      	0xc6b2	// c6b2 <std_clk_calib+0x20a>
    c6f0:	2000005c 	.long	0x2000005c
    c6f4:	2000000c 	.long	0x2000000c
    c6f8:	02dc6c00 	.long	0x02dc6c00
    c6fc:	0000ffff 	.long	0x0000ffff
    c700:	20000014 	.long	0x20000014
    c704:	be9c0005 	.long	0xbe9c0005
    c708:	00030010 	.long	0x00030010
    c70c:	016e3600 	.long	0x016e3600
    c710:	00b71b00 	.long	0x00b71b00
    c714:	005b8d80 	.long	0x005b8d80
    c718:	0054c720 	.long	0x0054c720
    c71c:	003ffed0 	.long	0x003ffed0
    c720:	001fff68 	.long	0x001fff68
    c724:	0001ffb8 	.long	0x0001ffb8
    c728:	000007ff 	.long	0x000007ff
