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


Disassembly of section .text:

00002800 <vector_table>:
    2800:	0000290c 	.long	0x0000290c
    2804:	000060fa 	.long	0x000060fa
    2808:	000060ea 	.long	0x000060ea
    280c:	00002984 	.long	0x00002984
    2810:	000060f2 	.long	0x000060f2
    2814:	000060b0 	.long	0x000060b0
    2818:	00002984 	.long	0x00002984
    281c:	000060e2 	.long	0x000060e2
    2820:	000060da 	.long	0x000060da
    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:	000060d2 	.long	0x000060d2
    2844:	000060ca 	.long	0x000060ca
    2848:	000060c2 	.long	0x000060c2
    284c:	000060ba 	.long	0x000060ba
    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:	000060b2 	.long	0x000060b2
    2880:	0000c3ec 	.long	0x0000c3ec
    2884:	00005754 	.long	0x00005754
    2888:	00005844 	.long	0x00005844
    288c:	000058ac 	.long	0x000058ac
    2890:	00005914 	.long	0x00005914
    2894:	00002984 	.long	0x00002984
    2898:	00005ac0 	.long	0x00005ac0
    289c:	00005e2c 	.long	0x00005e2c
    28a0:	00005e5c 	.long	0x00005e5c
    28a4:	00005af4 	.long	0x00005af4
    28a8:	00002984 	.long	0x00002984
    28ac:	00002984 	.long	0x00002984
    28b0:	00005b74 	.long	0x00005b74
    28b4:	00005be4 	.long	0x00005be4
    28b8:	00005c20 	.long	0x00005c20
    28bc:	00005c5c 	.long	0x00005c5c
    28c0:	00002984 	.long	0x00002984
    28c4:	0000610a 	.long	0x0000610a
    28c8:	00002984 	.long	0x00002984
    28cc:	00005cf0 	.long	0x00005cf0
    28d0:	00005dd8 	.long	0x00005dd8
    28d4:	00005e8c 	.long	0x00005e8c
    28d8:	00005ed4 	.long	0x00005ed4
    28dc:	00005f40 	.long	0x00005f40
    28e0:	00006102 	.long	0x00006102
    28e4:	0000c34c 	.long	0x0000c34c
    28e8:	00005fc0 	.long	0x00005fc0
    28ec:	00002984 	.long	0x00002984
    28f0:	00005ff4 	.long	0x00005ff4
    28f4:	00006040 	.long	0x00006040
    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, 0x42b0	// 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, 0x54c8	// 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:	000042b0 	.long	0x000042b0
    2998:	00002960 	.long	0x00002960
    299c:	000054c8 	.long	0x000054c8
    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, 0xcc50	// 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:	0000cc50 	.long	0x0000cc50
    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, 0xcc50	// 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, 0xcc50	// 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:	0000cc50 	.long	0x0000cc50
    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, 0xcc80	// 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:	0000cc80 	.long	0x0000cc80

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, 0xcc80	// 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:	0000cc80 	.long	0x0000cc80
    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, 0xcc80	// 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:	0000cc80 	.long	0x0000cc80

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, 0xcc94	// 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:	0000cc94 	.long	0x0000cc94

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>

00004288 <__GI_strncmp>:
    4288:	14c1      	push      	r4
    428a:	6cc3      	mov      	r3, r0
    428c:	6080      	addu      	r2, r0
    428e:	040c      	br      	0x42a6	// 42a6 <__GI_strncmp+0x1e>
    4290:	8380      	ld.b      	r4, (r3, 0x0)
    4292:	8100      	ld.b      	r0, (r1, 0x0)
    4294:	6012      	subu      	r0, r4
    4296:	6c02      	nor      	r0, r0
    4298:	2000      	addi      	r0, 1
    429a:	3840      	cmpnei      	r0, 0
    429c:	0808      	bt      	0x42ac	// 42ac <__GI_strncmp+0x24>
    429e:	3c40      	cmpnei      	r4, 0
    42a0:	0c06      	bf      	0x42ac	// 42ac <__GI_strncmp+0x24>
    42a2:	2300      	addi      	r3, 1
    42a4:	2100      	addi      	r1, 1
    42a6:	648c      	cmphs      	r3, r2
    42a8:	0ff4      	bf      	0x4290	// 4290 <__GI_strncmp+0x8>
    42aa:	3000      	movi      	r0, 0
    42ac:	1481      	pop      	r4

Disassembly of section .text.__main:

000042b0 <__main>:
extern char _bss_start[];
extern char _ebss[];


void __main( void ) 
{
    42b0:	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 ) {
    42b2:	1009      	lrw      	r0, 0x20000000	// 42d4 <__main+0x24>
    42b4:	1029      	lrw      	r1, 0xd1c8	// 42d8 <__main+0x28>
    42b6:	6442      	cmpne      	r0, r1
    42b8:	0c05      	bf      	0x42c2	// 42c2 <__main+0x12>
//    __memcpy_fast( dst, src, (_end_data - _start_data));
    memcpy( dst, src, (_end_data - _start_data));
    42ba:	1049      	lrw      	r2, 0x200000b0	// 42dc <__main+0x2c>
    42bc:	6082      	subu      	r2, r0
    42be:	e3ffffb3 	bsr      	0x4224	// 4224 <__memcpy_fast>
  }

  /* zero the bss 
   */
  if( _ebss - _bss_start ) {
    42c2:	1048      	lrw      	r2, 0x20000bcc	// 42e0 <__main+0x30>
    42c4:	1008      	lrw      	r0, 0x200000b0	// 42e4 <__main+0x34>
    42c6:	640a      	cmpne      	r2, r0
    42c8:	0c05      	bf      	0x42d2	// 42d2 <__main+0x22>
//    __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
    memset( _bss_start, 0x00, ( _ebss - _bss_start ));
    42ca:	6082      	subu      	r2, r0
    42cc:	3100      	movi      	r1, 0
    42ce:	e3ffff67 	bsr      	0x419c	// 419c <__memset_fast>
  }

	
}
    42d2:	1490      	pop      	r15
    42d4:	20000000 	.long	0x20000000
    42d8:	0000d1c8 	.long	0x0000d1c8
    42dc:	200000b0 	.long	0x200000b0
    42e0:	20000bcc 	.long	0x20000bcc
    42e4:	200000b0 	.long	0x200000b0

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

000042e8 <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) 
    42e8:	3848      	cmpnei      	r0, 8
    42ea:	080a      	bt      	0x42fe	// 42fe <SYSCON_General_CMD.part.0+0x16>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000;					//enable EMOSC PIN
    42ec:	107a      	lrw      	r3, 0x2000004c	// 4354 <SYSCON_General_CMD.part.0+0x6c>
    42ee:	32ff      	movi      	r2, 255
    42f0:	9320      	ld.w      	r1, (r3, 0x0)
    42f2:	9160      	ld.w      	r3, (r1, 0x0)
    42f4:	424c      	lsli      	r2, r2, 12
    42f6:	68c9      	andn      	r3, r2
    42f8:	3bae      	bseti      	r3, 14
    42fa:	3bb2      	bseti      	r3, 18
    42fc:	b160      	st.w      	r3, (r1, 0x0)
		SYSCON->GCER|=ENDIS_X;													//enable SYSCON General Control
    42fe:	1077      	lrw      	r3, 0x2000005c	// 4358 <SYSCON_General_CMD.part.0+0x70>
    4300:	9360      	ld.w      	r3, (r3, 0x0)
    4302:	9341      	ld.w      	r2, (r3, 0x4)
    4304:	6c80      	or      	r2, r0
    4306:	b341      	st.w      	r2, (r3, 0x4)
		while(!(SYSCON->GCSR&ENDIS_X));											//check  Enable?	
    4308:	9343      	ld.w      	r2, (r3, 0xc)
    430a:	6880      	and      	r2, r0
    430c:	3a40      	cmpnei      	r2, 0
    430e:	0ffd      	bf      	0x4308	// 4308 <SYSCON_General_CMD.part.0+0x20>
		switch(ENDIS_X)
    4310:	3842      	cmpnei      	r0, 2
    4312:	0807      	bt      	0x4320	// 4320 <SYSCON_General_CMD.part.0+0x38>
		{
			case ENDIS_IMOSC:
				while (!(SYSCON->CKST & ENDIS_IMOSC)); 	
    4314:	3102      	movi      	r1, 2
    4316:	9344      	ld.w      	r2, (r3, 0x10)
    4318:	6884      	and      	r2, r1
    431a:	3a40      	cmpnei      	r2, 0
    431c:	0ffd      	bf      	0x4316	// 4316 <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
	}
}
    431e:	783c      	jmp      	r15
		switch(ENDIS_X)
    4320:	3802      	cmphsi      	r0, 3
    4322:	0809      	bt      	0x4334	// 4334 <SYSCON_General_CMD.part.0+0x4c>
    4324:	3841      	cmpnei      	r0, 1
    4326:	0bfc      	bt      	0x431e	// 431e <SYSCON_General_CMD.part.0+0x36>
				while (!(SYSCON->CKST & ENDIS_ISOSC)); 
    4328:	3101      	movi      	r1, 1
    432a:	9344      	ld.w      	r2, (r3, 0x10)
    432c:	6884      	and      	r2, r1
    432e:	3a40      	cmpnei      	r2, 0
    4330:	0ffd      	bf      	0x432a	// 432a <SYSCON_General_CMD.part.0+0x42>
    4332:	07f6      	br      	0x431e	// 431e <SYSCON_General_CMD.part.0+0x36>
		switch(ENDIS_X)
    4334:	3848      	cmpnei      	r0, 8
    4336:	0807      	bt      	0x4344	// 4344 <SYSCON_General_CMD.part.0+0x5c>
				while (!(SYSCON->CKST & ENDIS_EMOSC)); 
    4338:	3108      	movi      	r1, 8
    433a:	9344      	ld.w      	r2, (r3, 0x10)
    433c:	6884      	and      	r2, r1
    433e:	3a40      	cmpnei      	r2, 0
    4340:	0ffd      	bf      	0x433a	// 433a <SYSCON_General_CMD.part.0+0x52>
    4342:	07ee      	br      	0x431e	// 431e <SYSCON_General_CMD.part.0+0x36>
		switch(ENDIS_X)
    4344:	3850      	cmpnei      	r0, 16
    4346:	0bec      	bt      	0x431e	// 431e <SYSCON_General_CMD.part.0+0x36>
				while (!(SYSCON->CKST & ENDIS_HFOSC)); 
    4348:	3110      	movi      	r1, 16
    434a:	9344      	ld.w      	r2, (r3, 0x10)
    434c:	6884      	and      	r2, r1
    434e:	3a40      	cmpnei      	r2, 0
    4350:	0ffd      	bf      	0x434a	// 434a <SYSCON_General_CMD.part.0+0x62>
    4352:	07e6      	br      	0x431e	// 431e <SYSCON_General_CMD.part.0+0x36>
    4354:	2000004c 	.long	0x2000004c
    4358:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_RST_VALUE:

0000435c <SYSCON_RST_VALUE>:
	SYSCON->RAMCHK=SYSCON_RAMCHK_RST;
    435c:	106c      	lrw      	r3, 0x2000005c	// 438c <SYSCON_RST_VALUE+0x30>
    435e:	104d      	lrw      	r2, 0xffff	// 4390 <SYSCON_RST_VALUE+0x34>
    4360:	9360      	ld.w      	r3, (r3, 0x0)
    4362:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EFLCHK=SYSCON_EFLCHK_RST;
    4364:	104c      	lrw      	r2, 0xffffff	// 4394 <SYSCON_RST_VALUE+0x38>
    4366:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->SCLKCR=SYSCON_SCLKCR_RST;
    4368:	104c      	lrw      	r2, 0xd22d0000	// 4398 <SYSCON_RST_VALUE+0x3c>
    436a:	b347      	st.w      	r2, (r3, 0x1c)
	SYSCON->OSTR=SYSCON_OSTR_RST;
    436c:	104c      	lrw      	r2, 0x70ff3bff	// 439c <SYSCON_RST_VALUE+0x40>
    436e:	b350      	st.w      	r2, (r3, 0x40)
	SYSCON->LVDCR=SYSCON_LVDCR_RST;
    4370:	320a      	movi      	r2, 10
    4372:	b353      	st.w      	r2, (r3, 0x4c)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    4374:	102b      	lrw      	r1, 0x70c	// 43a0 <SYSCON_RST_VALUE+0x44>
	SYSCON->EXIRT=SYSCON_EXIRT_RST;
    4376:	237f      	addi      	r3, 128
    4378:	3200      	movi      	r2, 0
    437a:	b345      	st.w      	r2, (r3, 0x14)
	SYSCON->EXIFT=SYSCON_EXIFT_RST;
    437c:	b346      	st.w      	r2, (r3, 0x18)
	SYSCON->IWDCR=SYSCON_IWDCR_RST;
    437e:	b32d      	st.w      	r1, (r3, 0x34)
	SYSCON->IWDCNT=SYSCON_IWDCNT_RST;
    4380:	1029      	lrw      	r1, 0x3fe	// 43a4 <SYSCON_RST_VALUE+0x48>
    4382:	b32e      	st.w      	r1, (r3, 0x38)
	SYSCON->EVTRG=SYSCON_EVTRG_RST;
    4384:	b35d      	st.w      	r2, (r3, 0x74)
	SYSCON->EVPS=SYSCON_EVPS_RST;
    4386:	b35e      	st.w      	r2, (r3, 0x78)
	SYSCON->EVSWF=SYSCON_EVSWF_RST;
    4388:	b35f      	st.w      	r2, (r3, 0x7c)
}
    438a:	783c      	jmp      	r15
    438c:	2000005c 	.long	0x2000005c
    4390:	0000ffff 	.long	0x0000ffff
    4394:	00ffffff 	.long	0x00ffffff
    4398:	d22d0000 	.long	0xd22d0000
    439c:	70ff3bff 	.long	0x70ff3bff
    43a0:	0000070c 	.long	0x0000070c
    43a4:	000003fe 	.long	0x000003fe

Disassembly of section .text.SYSCON_General_CMD:

000043a8 <SYSCON_General_CMD>:
{
    43a8:	14d0      	push      	r15
	if (NewState != DISABLE)
    43aa:	3840      	cmpnei      	r0, 0
    43ac:	0c05      	bf      	0x43b6	// 43b6 <SYSCON_General_CMD+0xe>
    43ae:	6c07      	mov      	r0, r1
    43b0:	e3ffff9c 	bsr      	0x42e8	// 42e8 <SYSCON_General_CMD.part.0>
}
    43b4:	1490      	pop      	r15
		SYSCON->GCDR|=ENDIS_X;													//disable SYSCON General Control
    43b6:	1068      	lrw      	r3, 0x2000005c	// 43d4 <SYSCON_General_CMD+0x2c>
    43b8:	9360      	ld.w      	r3, (r3, 0x0)
    43ba:	9342      	ld.w      	r2, (r3, 0x8)
    43bc:	6c84      	or      	r2, r1
    43be:	b342      	st.w      	r2, (r3, 0x8)
		while(SYSCON->GCSR&ENDIS_X);											//check Disable?
    43c0:	9343      	ld.w      	r2, (r3, 0xc)
    43c2:	6884      	and      	r2, r1
    43c4:	3a40      	cmpnei      	r2, 0
    43c6:	0bfd      	bt      	0x43c0	// 43c0 <SYSCON_General_CMD+0x18>
		SYSCON->ICR|=ENDIS_X;													//Clear ENDIS_X stable bit
    43c8:	237f      	addi      	r3, 128
    43ca:	9301      	ld.w      	r0, (r3, 0x4)
    43cc:	6c40      	or      	r1, r0
    43ce:	b321      	st.w      	r1, (r3, 0x4)
}
    43d0:	07f2      	br      	0x43b4	// 43b4 <SYSCON_General_CMD+0xc>
    43d2:	0000      	bkpt
    43d4:	2000005c 	.long	0x2000005c

Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config:

000043d8 <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 )
{
    43d8:	14c2      	push      	r4-r5
	if(SystemClk_data_x==HFOSC_48M)
    43da:	3b48      	cmpnei      	r3, 8
    43dc:	0828      	bt      	0x442c	// 442c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x54>
	{
		IFC->CEDR=0X01;						//CLKEN
    43de:	109d      	lrw      	r4, 0x20000060	// 4450 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    43e0:	3501      	movi      	r5, 1
    43e2:	9480      	ld.w      	r4, (r4, 0x0)
    43e4:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X04|(0X00<<16);			//High speed mode
    43e6:	3504      	movi      	r5, 4
    43e8:	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))
    43ea:	5b83      	subi      	r4, r3, 1
    43ec:	3c01      	cmphsi      	r4, 2
    43ee:	0c2b      	bf      	0x4444	// 4444 <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))
    43f0:	5b8b      	subi      	r4, r3, 3
	if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
    43f2:	3c04      	cmphsi      	r4, 5
    43f4:	0c03      	bf      	0x43fa	// 43fa <SystemCLK_HCLKDIV_PCLKDIV_Config+0x22>
		||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M))
    43f6:	3b4b      	cmpnei      	r3, 11
    43f8:	0807      	bt      	0x4406	// 4406 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x2e>
	{
		IFC->CEDR=0X01;						//CLKEN
    43fa:	1076      	lrw      	r3, 0x20000060	// 4450 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    43fc:	3401      	movi      	r4, 1
    43fe:	9360      	ld.w      	r3, (r3, 0x0)
    4400:	b381      	st.w      	r4, (r3, 0x4)
		IFC->MR=0X00|(0X00<<16);			//Low speed mode
    4402:	3400      	movi      	r4, 0
    4404:	b385      	st.w      	r4, (r3, 0x14)
	}
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
    4406:	1094      	lrw      	r4, 0xd22d0000	// 4454 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x7c>
    4408:	6c10      	or      	r0, r4
    440a:	1074      	lrw      	r3, 0x2000005c	// 4458 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x80>
    440c:	6c40      	or      	r1, r0
    440e:	9360      	ld.w      	r3, (r3, 0x0)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
    4410:	3080      	movi      	r0, 128
	SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
    4412:	b327      	st.w      	r1, (r3, 0x1c)
	while (!(SYSCON->CKST & (1<<8))); 											// waiting for sysclk stable
    4414:	4001      	lsli      	r0, r0, 1
    4416:	9324      	ld.w      	r1, (r3, 0x10)
    4418:	6840      	and      	r1, r0
    441a:	3940      	cmpnei      	r1, 0
    441c:	0ffd      	bf      	0x4416	// 4416 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x3e>
	SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X;											//PCLK DIV 1 2 4 6 8 16		
    441e:	1030      	lrw      	r1, 0xc33c0000	// 445c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x84>
    4420:	6c48      	or      	r1, r2
    4422:	b328      	st.w      	r1, (r3, 0x20)
	while(SYSCON->PCLKCR!=PCLK_DIV_X);											//Wait PCLK DIV
    4424:	9328      	ld.w      	r1, (r3, 0x20)
    4426:	644a      	cmpne      	r2, r1
    4428:	0bfe      	bt      	0x4424	// 4424 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x4c>
}
    442a:	1482      	pop      	r4-r5
	if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M))
    442c:	3b40      	cmpnei      	r3, 0
    442e:	0c03      	bf      	0x4434	// 4434 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x5c>
    4430:	3b49      	cmpnei      	r3, 9
    4432:	0807      	bt      	0x4440	// 4440 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x68>
		IFC->CEDR=0X01;						//CLKEN
    4434:	1087      	lrw      	r4, 0x20000060	// 4450 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    4436:	3501      	movi      	r5, 1
    4438:	9480      	ld.w      	r4, (r4, 0x0)
    443a:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X02|(0X00<<16);			//Medium speed mode
    443c:	3502      	movi      	r5, 2
    443e:	b4a5      	st.w      	r5, (r4, 0x14)
	if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M))
    4440:	3b4a      	cmpnei      	r3, 10
    4442:	0bd4      	bt      	0x43ea	// 43ea <SystemCLK_HCLKDIV_PCLKDIV_Config+0x12>
		IFC->CEDR=0X01;						//CLKEN
    4444:	1083      	lrw      	r4, 0x20000060	// 4450 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
    4446:	3501      	movi      	r5, 1
    4448:	9480      	ld.w      	r4, (r4, 0x0)
    444a:	b4a1      	st.w      	r5, (r4, 0x4)
		IFC->MR=0X01|(0X00<<16);			//Low speed mode
    444c:	b4a5      	st.w      	r5, (r4, 0x14)
    444e:	07d1      	br      	0x43f0	// 43f0 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x18>
    4450:	20000060 	.long	0x20000060
    4454:	d22d0000 	.long	0xd22d0000
    4458:	2000005c 	.long	0x2000005c
    445c:	c33c0000 	.long	0xc33c0000

Disassembly of section .text.SYSCON_HFOSC_SELECTE:

00004460 <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)
{		
    4460:	14d1      	push      	r4, r15
    4462:	6d03      	mov      	r4, r0
	SYSCON_General_CMD(DISABLE,ENDIS_HFOSC);					//disable HFOSC
    4464:	3110      	movi      	r1, 16
    4466:	3000      	movi      	r0, 0
    4468:	e3ffffa0 	bsr      	0x43a8	// 43a8 <SYSCON_General_CMD>
	SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X;
    446c:	1066      	lrw      	r3, 0x2000005c	// 4484 <SYSCON_HFOSC_SELECTE+0x24>
    446e:	9360      	ld.w      	r3, (r3, 0x0)
    4470:	9319      	ld.w      	r0, (r3, 0x64)
    4472:	3884      	bclri      	r0, 4
    4474:	3885      	bclri      	r0, 5
    4476:	6c10      	or      	r0, r4
    4478:	b319      	st.w      	r0, (r3, 0x64)
    447a:	3010      	movi      	r0, 16
    447c:	e3ffff36 	bsr      	0x42e8	// 42e8 <SYSCON_General_CMD.part.0>
	SYSCON_General_CMD(ENABLE,ENDIS_HFOSC);						//enable HFOSC
}
    4480:	1491      	pop      	r4, r15
    4482:	0000      	bkpt
    4484:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_WDT_CMD:

00004488 <SYSCON_WDT_CMD>:
//EntryParameter:,NewState
//NewState:ENABLE,DISABLE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_WDT_CMD(FunctionalStatus NewState)
{
    4488:	106c      	lrw      	r3, 0x2000005c	// 44b8 <SYSCON_WDT_CMD+0x30>
	if(NewState != DISABLE)
    448a:	3840      	cmpnei      	r0, 0
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    448c:	9360      	ld.w      	r3, (r3, 0x0)
    448e:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    4490:	0c0a      	bf      	0x44a4	// 44a4 <SYSCON_WDT_CMD+0x1c>
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    4492:	104b      	lrw      	r2, 0x78870000	// 44bc <SYSCON_WDT_CMD+0x34>
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
    4494:	3180      	movi      	r1, 128
		SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
    4496:	b34f      	st.w      	r2, (r3, 0x3c)
		while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
    4498:	4125      	lsli      	r1, r1, 5
    449a:	934d      	ld.w      	r2, (r3, 0x34)
    449c:	6884      	and      	r2, r1
    449e:	3a40      	cmpnei      	r2, 0
    44a0:	0ffd      	bf      	0x449a	// 449a <SYSCON_WDT_CMD+0x12>
	else
	{
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
	}
}
    44a2:	783c      	jmp      	r15
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
    44a4:	1047      	lrw      	r2, 0x788755aa	// 44c0 <SYSCON_WDT_CMD+0x38>
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
    44a6:	3180      	movi      	r1, 128
		SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
    44a8:	b34f      	st.w      	r2, (r3, 0x3c)
		while(SYSCON->IWDCR&Check_IWDT_BUSY);
    44aa:	4125      	lsli      	r1, r1, 5
    44ac:	934d      	ld.w      	r2, (r3, 0x34)
    44ae:	6884      	and      	r2, r1
    44b0:	3a40      	cmpnei      	r2, 0
    44b2:	0bfd      	bt      	0x44ac	// 44ac <SYSCON_WDT_CMD+0x24>
    44b4:	07f7      	br      	0x44a2	// 44a2 <SYSCON_WDT_CMD+0x1a>
    44b6:	0000      	bkpt
    44b8:	2000005c 	.long	0x2000005c
    44bc:	78870000 	.long	0x78870000
    44c0:	788755aa 	.long	0x788755aa

Disassembly of section .text.SYSCON_IWDCNT_Reload:

000044c4 <SYSCON_IWDCNT_Reload>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void SYSCON_IWDCNT_Reload(void)
{
	SYSCON->IWDCNT=CLR_IWDT;
    44c4:	1064      	lrw      	r3, 0x2000005c	// 44d4 <SYSCON_IWDCNT_Reload+0x10>
    44c6:	32b4      	movi      	r2, 180
    44c8:	9360      	ld.w      	r3, (r3, 0x0)
    44ca:	237f      	addi      	r3, 128
    44cc:	4257      	lsli      	r2, r2, 23
    44ce:	b34e      	st.w      	r2, (r3, 0x38)
}
    44d0:	783c      	jmp      	r15
    44d2:	0000      	bkpt
    44d4:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_IWDCNT_Config:

000044d8 <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;
    44d8:	1044      	lrw      	r2, 0x87780000	// 44e8 <SYSCON_IWDCNT_Config+0x10>
    44da:	1065      	lrw      	r3, 0x2000005c	// 44ec <SYSCON_IWDCNT_Config+0x14>
    44dc:	6c48      	or      	r1, r2
    44de:	9360      	ld.w      	r3, (r3, 0x0)
    44e0:	6c04      	or      	r0, r1
    44e2:	237f      	addi      	r3, 128
    44e4:	b30d      	st.w      	r0, (r3, 0x34)
}
    44e6:	783c      	jmp      	r15
    44e8:	87780000 	.long	0x87780000
    44ec:	2000005c 	.long	0x2000005c

Disassembly of section .text.SYSCON_LVD_Config:

000044f0 <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)
{
    44f0:	14c3      	push      	r4-r6
    44f2:	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;
    44f4:	10c5      	lrw      	r6, 0xb44b0000	// 4508 <SYSCON_LVD_Config+0x18>
    44f6:	6d18      	or      	r4, r6
    44f8:	6cd0      	or      	r3, r4
    44fa:	6c8c      	or      	r2, r3
    44fc:	6c48      	or      	r1, r2
    44fe:	10a4      	lrw      	r5, 0x2000005c	// 450c <SYSCON_LVD_Config+0x1c>
    4500:	6c04      	or      	r0, r1
    4502:	95a0      	ld.w      	r5, (r5, 0x0)
    4504:	b513      	st.w      	r0, (r5, 0x4c)
}
    4506:	1483      	pop      	r4-r6
    4508:	b44b0000 	.long	0xb44b0000
    450c:	2000005c 	.long	0x2000005c

Disassembly of section .text.LVD_Int_Enable:

00004510 <LVD_Int_Enable>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void LVD_Int_Enable(void)
{
	SYSCON->ICR = LVD_INT_ST;				//clear LVD INT status
    4510:	1066      	lrw      	r3, 0x2000005c	// 4528 <LVD_Int_Enable+0x18>
    4512:	3180      	movi      	r1, 128
    4514:	9360      	ld.w      	r3, (r3, 0x0)
    4516:	3280      	movi      	r2, 128
    4518:	604c      	addu      	r1, r3
    451a:	4244      	lsli      	r2, r2, 4
    451c:	b141      	st.w      	r2, (r1, 0x4)
	SYSCON->IMER  |= LVD_INT_ST;
    451e:	935d      	ld.w      	r2, (r3, 0x74)
    4520:	3aab      	bseti      	r2, 11
    4522:	b35d      	st.w      	r2, (r3, 0x74)
}
    4524:	783c      	jmp      	r15
    4526:	0000      	bkpt
    4528:	2000005c 	.long	0x2000005c

Disassembly of section .text.IWDT_Int_Enable:

0000452c <IWDT_Int_Enable>:
//EntryParameter:NONE
//ReturnValue: NONE
/*************************************************************/
void IWDT_Int_Enable(void)
{
	SYSCON->ICR = IWDT_INT_ST;				//clear LVD INT status
    452c:	1066      	lrw      	r3, 0x2000005c	// 4544 <IWDT_Int_Enable+0x18>
    452e:	3180      	movi      	r1, 128
    4530:	9360      	ld.w      	r3, (r3, 0x0)
    4532:	3280      	movi      	r2, 128
    4534:	604c      	addu      	r1, r3
    4536:	4241      	lsli      	r2, r2, 1
    4538:	b141      	st.w      	r2, (r1, 0x4)
	SYSCON->IMER  |= IWDT_INT_ST;
    453a:	935d      	ld.w      	r2, (r3, 0x74)
    453c:	3aa8      	bseti      	r2, 8
    453e:	b35d      	st.w      	r2, (r3, 0x74)
}
    4540:	783c      	jmp      	r15
    4542:	0000      	bkpt
    4544:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXTI_trigger_CMD:

00004548 <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)
    4548:	3a40      	cmpnei      	r2, 0
    454a:	0c04      	bf      	0x4552	// 4552 <EXTI_trigger_CMD+0xa>
    454c:	3a41      	cmpnei      	r2, 1
    454e:	0c0e      	bf      	0x456a	// 456a <EXTI_trigger_CMD+0x22>
		{
			SYSCON->EXIFT &=~EXIPIN;	
		}
		break;
	}	
}
    4550:	783c      	jmp      	r15
    4552:	106d      	lrw      	r3, 0x2000005c	// 4584 <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    4554:	3840      	cmpnei      	r0, 0
			SYSCON->EXIRT |=EXIPIN;
    4556:	9360      	ld.w      	r3, (r3, 0x0)
    4558:	237f      	addi      	r3, 128
    455a:	9345      	ld.w      	r2, (r3, 0x14)
		if(NewState != DISABLE)
    455c:	0c04      	bf      	0x4564	// 4564 <EXTI_trigger_CMD+0x1c>
			SYSCON->EXIRT |=EXIPIN;
    455e:	6c48      	or      	r1, r2
    4560:	b325      	st.w      	r1, (r3, 0x14)
    4562:	07f7      	br      	0x4550	// 4550 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIRT &=~EXIPIN;	
    4564:	6885      	andn      	r2, r1
    4566:	b345      	st.w      	r2, (r3, 0x14)
    4568:	07f4      	br      	0x4550	// 4550 <EXTI_trigger_CMD+0x8>
    456a:	1067      	lrw      	r3, 0x2000005c	// 4584 <EXTI_trigger_CMD+0x3c>
		if(NewState != DISABLE)
    456c:	3840      	cmpnei      	r0, 0
			SYSCON->EXIFT |=EXIPIN;
    456e:	9360      	ld.w      	r3, (r3, 0x0)
    4570:	237f      	addi      	r3, 128
    4572:	9346      	ld.w      	r2, (r3, 0x18)
		if(NewState != DISABLE)
    4574:	0c04      	bf      	0x457c	// 457c <EXTI_trigger_CMD+0x34>
			SYSCON->EXIFT |=EXIPIN;
    4576:	6c48      	or      	r1, r2
    4578:	b326      	st.w      	r1, (r3, 0x18)
    457a:	07eb      	br      	0x4550	// 4550 <EXTI_trigger_CMD+0x8>
			SYSCON->EXIFT &=~EXIPIN;	
    457c:	6885      	andn      	r2, r1
    457e:	b346      	st.w      	r2, (r3, 0x18)
}
    4580:	07e8      	br      	0x4550	// 4550 <EXTI_trigger_CMD+0x8>
    4582:	0000      	bkpt
    4584:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXTI_interrupt_CMD:

00004588 <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
    4588:	106b      	lrw      	r3, 0x2000005c	// 45b4 <EXTI_interrupt_CMD+0x2c>
    458a:	104c      	lrw      	r2, 0x3fff	// 45b8 <EXTI_interrupt_CMD+0x30>
    458c:	9360      	ld.w      	r3, (r3, 0x0)
    458e:	237f      	addi      	r3, 128
	if(NewState != DISABLE)
    4590:	3840      	cmpnei      	r0, 0
	SYSCON->EXICR = 0X3FFF;									//Claer EXI INT status
    4592:	b34b      	st.w      	r2, (r3, 0x2c)
	if(NewState != DISABLE)
    4594:	0c0c      	bf      	0x45ac	// 45ac <EXTI_interrupt_CMD+0x24>
	{
		SYSCON->EXIER|=EXIPIN;								//EXI4 interrupt enable
    4596:	9347      	ld.w      	r2, (r3, 0x1c)
    4598:	6c84      	or      	r2, r1
    459a:	b347      	st.w      	r2, (r3, 0x1c)
		while(!(SYSCON->EXIMR&EXIPIN));						//Check EXI is enabled or not
    459c:	9349      	ld.w      	r2, (r3, 0x24)
    459e:	6884      	and      	r2, r1
    45a0:	3a40      	cmpnei      	r2, 0
    45a2:	0ffd      	bf      	0x459c	// 459c <EXTI_interrupt_CMD+0x14>
		SYSCON->EXICR |=EXIPIN;								// Clear EXI status bit
    45a4:	934b      	ld.w      	r2, (r3, 0x2c)
    45a6:	6c48      	or      	r1, r2
    45a8:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else
	{
		SYSCON->EXIDR|=EXIPIN;
	}
}
    45aa:	783c      	jmp      	r15
		SYSCON->EXIDR|=EXIPIN;
    45ac:	9348      	ld.w      	r2, (r3, 0x20)
    45ae:	6c48      	or      	r1, r2
    45b0:	b328      	st.w      	r1, (r3, 0x20)
}
    45b2:	07fc      	br      	0x45aa	// 45aa <EXTI_interrupt_CMD+0x22>
    45b4:	2000005c 	.long	0x2000005c
    45b8:	00003fff 	.long	0x00003fff

Disassembly of section .text.GPIO_EXTI_interrupt:

000045bc <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;
    45bc:	b02b      	st.w      	r1, (r0, 0x2c)
}
    45be:	783c      	jmp      	r15

Disassembly of section .text.EXI3_Int_Enable:

000045c0 <EXI3_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI3_Int_Enable(void)
{
	INTC_ISER_WRITE(EXI3_INT);    
    45c0:	3380      	movi      	r3, 128
    45c2:	436f      	lsli      	r3, r3, 15
    45c4:	1042      	lrw      	r2, 0xe000e100	// 45cc <EXI3_Int_Enable+0xc>
    45c6:	b260      	st.w      	r3, (r2, 0x0)
}
    45c8:	783c      	jmp      	r15
    45ca:	0000      	bkpt
    45cc:	e000e100 	.long	0xe000e100

Disassembly of section .text.EXI4_Int_Enable:

000045d0 <EXI4_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4_Int_Enable(void)
{
	INTC_ISER_WRITE(EXI4_INT);    
    45d0:	3380      	movi      	r3, 128
    45d2:	4370      	lsli      	r3, r3, 16
    45d4:	1042      	lrw      	r2, 0xe000e100	// 45dc <EXI4_Int_Enable+0xc>
    45d6:	b260      	st.w      	r3, (r2, 0x0)
}
    45d8:	783c      	jmp      	r15
    45da:	0000      	bkpt
    45dc:	e000e100 	.long	0xe000e100

Disassembly of section .text.SYSCON_Int_Enable:

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

Disassembly of section .text.SYSCON_Int_Disable:

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

Disassembly of section .text.SYSCON_Software_Reset:

000045f8 <SYSCON_Software_Reset>:
//EntryParameter:None
//ReturnValue:MCU reset
/*************************************************************/
void SYSCON_Software_Reset(void)
{
	SYSCON->IDCCR=IDCCR_KEY|SWRST;
    45f8:	1063      	lrw      	r3, 0x2000005c	// 4604 <SYSCON_Software_Reset+0xc>
    45fa:	1044      	lrw      	r2, 0xe11e0080	// 4608 <SYSCON_Software_Reset+0x10>
    45fc:	9360      	ld.w      	r3, (r3, 0x0)
    45fe:	b340      	st.w      	r2, (r3, 0x0)
}
    4600:	783c      	jmp      	r15
    4602:	0000      	bkpt
    4604:	2000005c 	.long	0x2000005c
    4608:	e11e0080 	.long	0xe11e0080

Disassembly of section .text.SYSCON_INT_Priority:

0000460c <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
    460c:	1066      	lrw      	r3, 0xe000e400	// 4624 <SYSCON_INT_Priority+0x18>
    460e:	1047      	lrw      	r2, 0xc0c0c0c0	// 4628 <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  
    4610:	1027      	lrw      	r1, 0xc0c000c0	// 462c <SYSCON_INT_Priority+0x20>
	INTC_IPR0_WRITE(0XC0C0C0C0);   //IQR0-3  low bit-->high bit
    4612:	b340      	st.w      	r2, (r3, 0x0)
	INTC_IPR1_WRITE(0XC0C0C0C0);   //IQR4-7  
    4614:	b341      	st.w      	r2, (r3, 0x4)
	INTC_IPR2_WRITE(0XC0C0C0C0);   //IQR8-11  
    4616:	b342      	st.w      	r2, (r3, 0x8)
	INTC_IPR3_WRITE(0XC0C0C0C0);   //IQR12-15  
    4618:	b343      	st.w      	r2, (r3, 0xc)
	INTC_IPR4_WRITE(0XC0C0C0C0);   //IQR16-19  
    461a:	b344      	st.w      	r2, (r3, 0x10)
	INTC_IPR5_WRITE(0XC0C0C0C0);   //IQR20-23 
    461c:	b345      	st.w      	r2, (r3, 0x14)
	INTC_IPR6_WRITE(0XC0C000C0);   //IQR24-27  
    461e:	b326      	st.w      	r1, (r3, 0x18)
	INTC_IPR7_WRITE(0XC0C0C0C0);   //IQR28-31
    4620:	b347      	st.w      	r2, (r3, 0x1c)
}
    4622:	783c      	jmp      	r15
    4624:	e000e400 	.long	0xe000e400
    4628:	c0c0c0c0 	.long	0xc0c0c0c0
    462c:	c0c000c0 	.long	0xc0c000c0

Disassembly of section .text.Set_INT_Priority:

00004630 <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)
{
    4630:	14c1      	push      	r4
    4632:	4862      	lsri      	r3, r0, 2
    4634:	4342      	lsli      	r2, r3, 2
    4636:	106a      	lrw      	r3, 0x20000064	// 465c <Set_INT_Priority+0x2c>
	U8_T i_temp,j_temp;
	U32_T k_temp;
	i_temp=(int_name%4)*8;
    4638:	3403      	movi      	r4, 3
    463a:	9360      	ld.w      	r3, (r3, 0x0)
    463c:	60c8      	addu      	r3, r2
	j_temp=int_name/4;
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    463e:	3280      	movi      	r2, 128
    4640:	4243      	lsli      	r2, r2, 3
	i_temp=(int_name%4)*8;
    4642:	6810      	and      	r0, r4
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    4644:	60c8      	addu      	r3, r2
    4646:	4003      	lsli      	r0, r0, 3
    4648:	34ff      	movi      	r4, 255
    464a:	9340      	ld.w      	r2, (r3, 0x0)
    464c:	7100      	lsl      	r4, r0
	CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
    464e:	4126      	lsli      	r1, r1, 6
	k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
    4650:	6891      	andn      	r2, r4
	CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
    4652:	7040      	lsl      	r1, r0
    4654:	6c48      	or      	r1, r2
    4656:	b320      	st.w      	r1, (r3, 0x0)
}
    4658:	1481      	pop      	r4
    465a:	0000      	bkpt
    465c:	20000064 	.long	0x20000064

Disassembly of section .text.GPIO_Init:

00004660 <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)
{
    4660:	14d1      	push      	r4, r15
    uint32_t data_temp;
    uint8_t GPIO_Pin;
    if(PinNum<8)
    4662:	3907      	cmphsi      	r1, 8
{
    4664:	6d03      	mov      	r4, r0
    if(PinNum<8)
    4666:	0830      	bt      	0x46c6	// 46c6 <GPIO_Init+0x66>
    {
    switch (PinNum)
    4668:	5903      	subi      	r0, r1, 1
    466a:	3806      	cmphsi      	r0, 7
    466c:	0827      	bt      	0x46ba	// 46ba <GPIO_Init+0x5a>
    466e:	e3fff747 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    4672:	1004      	.short	0x1004
    4674:	1d1a1613 	.long	0x1d1a1613
    4678:	0021      	.short	0x0021
    {
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
        case 1:data_temp=0xffffff0f;GPIO_Pin=4;break;
    467a:	3300      	movi      	r3, 0
    467c:	3104      	movi      	r1, 4
    467e:	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)
    4680:	3a40      	cmpnei      	r2, 0
        {
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    4682:	9440      	ld.w      	r2, (r4, 0x0)
    4684:	68c8      	and      	r3, r2
        if (Dir)
    4686:	0c1e      	bf      	0x46c2	// 46c2 <GPIO_Init+0x62>
          (GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
    4688:	3201      	movi      	r2, 1
        }
        else
        {
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    468a:	7084      	lsl      	r2, r1
    468c:	6cc8      	or      	r3, r2
    468e:	b460      	st.w      	r3, (r4, 0x0)
        else
        {
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
        }
    }
}
    4690:	1491      	pop      	r4, r15
        case 2:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    4692:	3108      	movi      	r1, 8
    4694:	1166      	lrw      	r3, 0xfffff0ff	// 472c <GPIO_Init+0xcc>
    4696:	07f5      	br      	0x4680	// 4680 <GPIO_Init+0x20>
        case 3:data_temp=0xffff0fff;GPIO_Pin=12;break;
    4698:	310c      	movi      	r1, 12
    469a:	1166      	lrw      	r3, 0xffff0fff	// 4730 <GPIO_Init+0xd0>
    469c:	07f2      	br      	0x4680	// 4680 <GPIO_Init+0x20>
        case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    469e:	3110      	movi      	r1, 16
    46a0:	1165      	lrw      	r3, 0xfff10000	// 4734 <GPIO_Init+0xd4>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    46a2:	2b00      	subi      	r3, 1
    46a4:	07ee      	br      	0x4680	// 4680 <GPIO_Init+0x20>
        case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
    46a6:	3114      	movi      	r1, 20
    46a8:	1164      	lrw      	r3, 0xff100000	// 4738 <GPIO_Init+0xd8>
    46aa:	07fc      	br      	0x46a2	// 46a2 <GPIO_Init+0x42>
        case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    46ac:	33f1      	movi      	r3, 241
    46ae:	3118      	movi      	r1, 24
    46b0:	4378      	lsli      	r3, r3, 24
    46b2:	07f8      	br      	0x46a2	// 46a2 <GPIO_Init+0x42>
        case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
    46b4:	311c      	movi      	r1, 28
    46b6:	1162      	lrw      	r3, 0xfffffff	// 473c <GPIO_Init+0xdc>
    46b8:	07e4      	br      	0x4680	// 4680 <GPIO_Init+0x20>
        case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
    46ba:	3300      	movi      	r3, 0
    46bc:	3100      	movi      	r1, 0
    46be:	2b0f      	subi      	r3, 16
    46c0:	07e0      	br      	0x4680	// 4680 <GPIO_Init+0x20>
         (GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin; 
    46c2:	3202      	movi      	r2, 2
    46c4:	07e3      	br      	0x468a	// 468a <GPIO_Init+0x2a>
    else if (PinNum<16)
    46c6:	390f      	cmphsi      	r1, 16
    46c8:	0be4      	bt      	0x4690	// 4690 <GPIO_Init+0x30>
        switch (PinNum)
    46ca:	2908      	subi      	r1, 9
    46cc:	3906      	cmphsi      	r1, 7
    46ce:	6c07      	mov      	r0, r1
    46d0:	0827      	bt      	0x471e	// 471e <GPIO_Init+0xbe>
    46d2:	e3fff715 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    46d6:	1004      	.short	0x1004
    46d8:	1d1a1613 	.long	0x1d1a1613
    46dc:	0021      	.short	0x0021
        case 9:data_temp=0xffffff0f;GPIO_Pin=4;break;
    46de:	3300      	movi      	r3, 0
    46e0:	3104      	movi      	r1, 4
    46e2:	2bf0      	subi      	r3, 241
      if (Dir)
    46e4:	3a40      	cmpnei      	r2, 0
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    46e6:	9441      	ld.w      	r2, (r4, 0x4)
    46e8:	68c8      	and      	r3, r2
      if (Dir)
    46ea:	0c1e      	bf      	0x4726	// 4726 <GPIO_Init+0xc6>
        (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;  
    46ec:	3201      	movi      	r2, 1
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    46ee:	7084      	lsl      	r2, r1
    46f0:	6cc8      	or      	r3, r2
    46f2:	b461      	st.w      	r3, (r4, 0x4)
}
    46f4:	07ce      	br      	0x4690	// 4690 <GPIO_Init+0x30>
        case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break;
    46f6:	3108      	movi      	r1, 8
    46f8:	106d      	lrw      	r3, 0xfffff0ff	// 472c <GPIO_Init+0xcc>
    46fa:	07f5      	br      	0x46e4	// 46e4 <GPIO_Init+0x84>
        case 11:data_temp=0xffff0fff;GPIO_Pin=12;break;
    46fc:	310c      	movi      	r1, 12
    46fe:	106d      	lrw      	r3, 0xffff0fff	// 4730 <GPIO_Init+0xd0>
    4700:	07f2      	br      	0x46e4	// 46e4 <GPIO_Init+0x84>
        case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break;
    4702:	3110      	movi      	r1, 16
    4704:	106c      	lrw      	r3, 0xfff10000	// 4734 <GPIO_Init+0xd4>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    4706:	2b00      	subi      	r3, 1
    4708:	07ee      	br      	0x46e4	// 46e4 <GPIO_Init+0x84>
        case 13:data_temp=0xff0fffff;GPIO_Pin=20;break;
    470a:	3114      	movi      	r1, 20
    470c:	106b      	lrw      	r3, 0xff100000	// 4738 <GPIO_Init+0xd8>
    470e:	07fc      	br      	0x4706	// 4706 <GPIO_Init+0xa6>
        case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
    4710:	33f1      	movi      	r3, 241
    4712:	3118      	movi      	r1, 24
    4714:	4378      	lsli      	r3, r3, 24
    4716:	07f8      	br      	0x4706	// 4706 <GPIO_Init+0xa6>
        case 15:data_temp=0x0fffffff;GPIO_Pin=28;break;
    4718:	311c      	movi      	r1, 28
    471a:	1069      	lrw      	r3, 0xfffffff	// 473c <GPIO_Init+0xdc>
    471c:	07e4      	br      	0x46e4	// 46e4 <GPIO_Init+0x84>
        case 8:data_temp=0xfffffff0;GPIO_Pin=0;break;
    471e:	3300      	movi      	r3, 0
    4720:	3100      	movi      	r1, 0
    4722:	2b0f      	subi      	r3, 16
    4724:	07e0      	br      	0x46e4	// 46e4 <GPIO_Init+0x84>
         (GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;    
    4726:	3202      	movi      	r2, 2
    4728:	07e3      	br      	0x46ee	// 46ee <GPIO_Init+0x8e>
    472a:	0000      	bkpt
    472c:	fffff0ff 	.long	0xfffff0ff
    4730:	ffff0fff 	.long	0xffff0fff
    4734:	fff10000 	.long	0xfff10000
    4738:	ff100000 	.long	0xff100000
    473c:	0fffffff 	.long	0x0fffffff

Disassembly of section .text.GPIO_PullHigh_Init:

00004740 <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));
    4740:	4121      	lsli      	r1, r1, 1
    4742:	3203      	movi      	r2, 3
    4744:	9068      	ld.w      	r3, (r0, 0x20)
    4746:	7084      	lsl      	r2, r1
    4748:	68c9      	andn      	r3, r2
    474a:	3201      	movi      	r2, 1
    474c:	7084      	lsl      	r2, r1
    474e:	6cc8      	or      	r3, r2
    4750:	b068      	st.w      	r3, (r0, 0x20)
}
    4752:	783c      	jmp      	r15

Disassembly of section .text.GPIO_DriveStrength_EN:

00004754 <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));
    4754:	4121      	lsli      	r1, r1, 1
    4756:	3301      	movi      	r3, 1
    4758:	9049      	ld.w      	r2, (r0, 0x24)
    475a:	70c4      	lsl      	r3, r1
    475c:	6cc8      	or      	r3, r2
    475e:	b069      	st.w      	r3, (r0, 0x24)
}
    4760:	783c      	jmp      	r15

Disassembly of section .text.GPIO_IntGroup_Set:

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

Disassembly of section .text.GPIOA0_EXI_Init:

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

Disassembly of section .text.GPIOB0_EXI_Init:

0000496c <GPIOB0_EXI_Init>:
void GPIOB0_EXI_Init(GPIO_EXI_TypeDef EXI_IO)
{
    496c:	14d0      	push      	r15
    switch (EXI_IO)
    496e:	3805      	cmphsi      	r0, 6
    4970:	080d      	bt      	0x498a	// 498a <GPIOB0_EXI_Init+0x1e>
    4972:	1079      	lrw      	r3, 0x20000048	// 49d4 <GPIOB0_EXI_Init+0x68>
    4974:	e3fff5c4 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    4978:	18100a03 	.long	0x18100a03
    497c:	261f      	.short	0x261f
    {
        case 0:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0X00000001;break;
    497e:	9340      	ld.w      	r2, (r3, 0x0)
    4980:	9260      	ld.w      	r3, (r2, 0x0)
    4982:	310f      	movi      	r1, 15
    4984:	68c5      	andn      	r3, r1
    4986:	3ba0      	bseti      	r3, 0
        case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    4988:	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;
    }
}
    498a:	1490      	pop      	r15
        case 1:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFF0F) | 0X00000010;break;
    498c:	9340      	ld.w      	r2, (r3, 0x0)
    498e:	9260      	ld.w      	r3, (r2, 0x0)
    4990:	31f0      	movi      	r1, 240
    4992:	68c5      	andn      	r3, r1
    4994:	3ba4      	bseti      	r3, 4
    4996:	07f9      	br      	0x4988	// 4988 <GPIOB0_EXI_Init+0x1c>
        case 2:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFF0FF) | 0X00000100;break;
    4998:	9320      	ld.w      	r1, (r3, 0x0)
    499a:	32f0      	movi      	r2, 240
    499c:	9160      	ld.w      	r3, (r1, 0x0)
    499e:	4244      	lsli      	r2, r2, 4
    49a0:	68c9      	andn      	r3, r2
    49a2:	3ba8      	bseti      	r3, 8
		case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break;
    49a4:	b160      	st.w      	r3, (r1, 0x0)
}
    49a6:	07f2      	br      	0x498a	// 498a <GPIOB0_EXI_Init+0x1e>
        case 3:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFF0FFF) | 0X00001000;break;
    49a8:	9320      	ld.w      	r1, (r3, 0x0)
    49aa:	32f0      	movi      	r2, 240
    49ac:	9160      	ld.w      	r3, (r1, 0x0)
    49ae:	4248      	lsli      	r2, r2, 8
    49b0:	68c9      	andn      	r3, r2
    49b2:	3bac      	bseti      	r3, 12
    49b4:	07f8      	br      	0x49a4	// 49a4 <GPIOB0_EXI_Init+0x38>
		case 4:GPIOB0->CONLR = (GPIOB0->CONLR&0XFFF0FFFF) | 0X00010000;break;
    49b6:	9320      	ld.w      	r1, (r3, 0x0)
    49b8:	32f0      	movi      	r2, 240
    49ba:	9160      	ld.w      	r3, (r1, 0x0)
    49bc:	424c      	lsli      	r2, r2, 12
    49be:	68c9      	andn      	r3, r2
    49c0:	3bb0      	bseti      	r3, 16
    49c2:	07f1      	br      	0x49a4	// 49a4 <GPIOB0_EXI_Init+0x38>
		case 5:GPIOB0->CONLR = (GPIOB0->CONLR&0XFF0FFFFF) | 0X00100000;break;
    49c4:	9320      	ld.w      	r1, (r3, 0x0)
    49c6:	32f0      	movi      	r2, 240
    49c8:	9160      	ld.w      	r3, (r1, 0x0)
    49ca:	4250      	lsli      	r2, r2, 16
    49cc:	68c9      	andn      	r3, r2
    49ce:	3bb4      	bseti      	r3, 20
    49d0:	07ea      	br      	0x49a4	// 49a4 <GPIOB0_EXI_Init+0x38>
    49d2:	0000      	bkpt
    49d4:	20000048 	.long	0x20000048

Disassembly of section .text.GPIO_Write_High:

000049d8 <GPIO_Write_High>:
//bit:0~15
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->SODR = (1ul<<bit);
    49d8:	3301      	movi      	r3, 1
    49da:	70c4      	lsl      	r3, r1
    49dc:	b063      	st.w      	r3, (r0, 0xc)
}
    49de:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Write_Low:

000049e0 <GPIO_Write_Low>:
void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit)
{
        (GPIOx)->CODR = (1ul<<bit);
    49e0:	3301      	movi      	r3, 1
    49e2:	70c4      	lsl      	r3, r1
    49e4:	b064      	st.w      	r3, (r0, 0x10)
}
    49e6:	783c      	jmp      	r15

Disassembly of section .text.GPIO_Reverse:

000049e8 <GPIO_Reverse>:
//ReturnValue:VALUE
/*************************************************************/
void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit)
{
     uint32_t dat = 0;
     dat=((GPIOx)->ODSR>>bit)&1ul;
    49e8:	9045      	ld.w      	r2, (r0, 0x14)
    49ea:	3301      	movi      	r3, 1
    49ec:	7085      	lsr      	r2, r1
    49ee:	688c      	and      	r2, r3
     {
       if (dat==1)  
    49f0:	3a40      	cmpnei      	r2, 0
    49f2:	70c4      	lsl      	r3, r1
    49f4:	0c03      	bf      	0x49fa	// 49fa <GPIO_Reverse+0x12>
       {
           (GPIOx)->CODR = (1ul<<bit);
    49f6:	b064      	st.w      	r3, (r0, 0x10)
       {
           (GPIOx)->SODR = (1ul<<bit);
           return;
       }
     }
}
    49f8:	783c      	jmp      	r15
           (GPIOx)->SODR = (1ul<<bit);
    49fa:	b063      	st.w      	r3, (r0, 0xc)
           return;
    49fc:	07fe      	br      	0x49f8	// 49f8 <GPIO_Reverse+0x10>

Disassembly of section .text.GPIO_Read_Status:

000049fe <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);
    49fe:	3301      	movi      	r3, 1
    4a00:	9046      	ld.w      	r2, (r0, 0x18)
    4a02:	70c4      	lsl      	r3, r1
    4a04:	688c      	and      	r2, r3
    if (dat == (1<<bit))								
    4a06:	64ca      	cmpne      	r2, r3
    4a08:	6403      	mvcv      	r0
	{
	    value = 1;
	} 
    return value;
    4a0a:	7400      	zextb      	r0, r0
}
    4a0c:	783c      	jmp      	r15

Disassembly of section .text.LPT_Soft_Reset:

00004a10 <LPT_Soft_Reset>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void LPT_Soft_Reset(void)
{
	LPT->RSSR |= (0X5<<12);
    4a10:	1064      	lrw      	r3, 0x20000014	// 4a20 <LPT_Soft_Reset+0x10>
    4a12:	9340      	ld.w      	r2, (r3, 0x0)
    4a14:	9261      	ld.w      	r3, (r2, 0x4)
    4a16:	3bac      	bseti      	r3, 12
    4a18:	3bae      	bseti      	r3, 14
    4a1a:	b261      	st.w      	r3, (r2, 0x4)
}
    4a1c:	783c      	jmp      	r15
    4a1e:	0000      	bkpt
    4a20:	20000014 	.long	0x20000014

Disassembly of section .text.WWDT_CNT_Load:

00004a24 <WWDT_CNT_Load>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/ 
void WWDT_CNT_Load(U8_T cnt_data)
{
	WWDT->CR  |= cnt_data;						//SET
    4a24:	1063      	lrw      	r3, 0x20000010	// 4a30 <WWDT_CNT_Load+0xc>
    4a26:	9360      	ld.w      	r3, (r3, 0x0)
    4a28:	9340      	ld.w      	r2, (r3, 0x0)
    4a2a:	6c08      	or      	r0, r2
    4a2c:	b300      	st.w      	r0, (r3, 0x0)
}
    4a2e:	783c      	jmp      	r15
    4a30:	20000010 	.long	0x20000010

Disassembly of section .text.BT_DeInit:

00004a34 <BT_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void BT_DeInit(CSP_BT_T *BTx)
{
	BTx->RSSR=BT_RESET_VALUE;
    4a34:	3300      	movi      	r3, 0
    4a36:	b060      	st.w      	r3, (r0, 0x0)
	BTx->CR=BT_RESET_VALUE;
    4a38:	b061      	st.w      	r3, (r0, 0x4)
	BTx->PSCR=BT_RESET_VALUE;
    4a3a:	b062      	st.w      	r3, (r0, 0x8)
	BTx->PRDR=BT_RESET_VALUE;
    4a3c:	b063      	st.w      	r3, (r0, 0xc)
	BTx->CMP=BT_RESET_VALUE;
    4a3e:	b064      	st.w      	r3, (r0, 0x10)
	BTx->CNT=BT_RESET_VALUE;
    4a40:	b065      	st.w      	r3, (r0, 0x14)
	BTx->EVTRG=BT_RESET_VALUE;
    4a42:	b066      	st.w      	r3, (r0, 0x18)
	BTx->EVSWF=BT_RESET_VALUE;
    4a44:	b069      	st.w      	r3, (r0, 0x24)
	BTx->RISR=BT_RESET_VALUE;
    4a46:	b06a      	st.w      	r3, (r0, 0x28)
	BTx->IMCR=BT_RESET_VALUE;
    4a48:	b06b      	st.w      	r3, (r0, 0x2c)
	BTx->MISR=BT_RESET_VALUE;
    4a4a:	b06c      	st.w      	r3, (r0, 0x30)
	BTx->ICR=BT_RESET_VALUE;
    4a4c:	b06d      	st.w      	r3, (r0, 0x34)
}
    4a4e:	783c      	jmp      	r15

Disassembly of section .text.BT_Start:

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

Disassembly of section .text.BT_Soft_Reset:

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

Disassembly of section .text.BT_Configure:

00004a62 <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)
{
    4a62:	14c3      	push      	r4-r6
    4a64:	98a4      	ld.w      	r5, (r14, 0x10)
    4a66:	6d97      	mov      	r6, r5
    4a68:	9883      	ld.w      	r4, (r14, 0xc)
	BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM;
    4a6a:	6d18      	or      	r4, r6
    4a6c:	6cd0      	or      	r3, r4
    4a6e:	90a1      	ld.w      	r5, (r0, 0x4)
    4a70:	6c4c      	or      	r1, r3
    4a72:	6c54      	or      	r1, r5
    4a74:	b021      	st.w      	r1, (r0, 0x4)
	BTx->PSCR = PSCR_DATA;
    4a76:	b042      	st.w      	r2, (r0, 0x8)
}
    4a78:	1483      	pop      	r4-r6

Disassembly of section .text.BT_ControlSet_Configure:

00004a7a <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)
{
    4a7a:	14c4      	push      	r4-r7
    4a7c:	1421      	subi      	r14, r14, 4
    4a7e:	9885      	ld.w      	r4, (r14, 0x14)
    4a80:	6dd3      	mov      	r7, r4
    4a82:	9886      	ld.w      	r4, (r14, 0x18)
    4a84:	b880      	st.w      	r4, (r14, 0x0)
    4a86:	9887      	ld.w      	r4, (r14, 0x1c)
    4a88:	6d93      	mov      	r6, r4
    4a8a:	98a8      	ld.w      	r5, (r14, 0x20)
	BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD;
    4a8c:	6d58      	or      	r5, r6
    4a8e:	98c0      	ld.w      	r6, (r14, 0x0)
    4a90:	6d58      	or      	r5, r6
    4a92:	6d5c      	or      	r5, r7
    4a94:	6cd4      	or      	r3, r5
    4a96:	6c8c      	or      	r2, r3
    4a98:	9081      	ld.w      	r4, (r0, 0x4)
    4a9a:	6c48      	or      	r1, r2
    4a9c:	6d04      	or      	r4, r1
    4a9e:	6d9f      	mov      	r6, r7
    4aa0:	b081      	st.w      	r4, (r0, 0x4)
}
    4aa2:	1401      	addi      	r14, r14, 4
    4aa4:	1484      	pop      	r4-r7

Disassembly of section .text.BT_Period_CMP_Write:

00004aa6 <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;
    4aa6:	b023      	st.w      	r1, (r0, 0xc)
	BTx->CMP =BTCMP_DATA;
    4aa8:	b044      	st.w      	r2, (r0, 0x10)
}
    4aaa:	783c      	jmp      	r15

Disassembly of section .text.BT_ConfigInterrupt_CMD:

00004aac <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)
    4aac:	3940      	cmpnei      	r1, 0
	{
		BTx->IMCR  |= BT_IMSCR_X;						
    4aae:	906b      	ld.w      	r3, (r0, 0x2c)
	if (NewState != DISABLE)
    4ab0:	0c04      	bf      	0x4ab8	// 4ab8 <BT_ConfigInterrupt_CMD+0xc>
		BTx->IMCR  |= BT_IMSCR_X;						
    4ab2:	6c8c      	or      	r2, r3
    4ab4:	b04b      	st.w      	r2, (r0, 0x2c)
	}
	else
	{
		BTx->IMCR  &= ~BT_IMSCR_X;					
	}
}
    4ab6:	783c      	jmp      	r15
		BTx->IMCR  &= ~BT_IMSCR_X;					
    4ab8:	68c9      	andn      	r3, r2
    4aba:	b06b      	st.w      	r3, (r0, 0x2c)
}
    4abc:	07fd      	br      	0x4ab6	// 4ab6 <BT_ConfigInterrupt_CMD+0xa>

Disassembly of section .text.BT1_INT_ENABLE:

00004ac0 <BT1_INT_ENABLE>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1_INT_ENABLE(void)
{
	INTC_ISER_WRITE(BT1_INT);
    4ac0:	3380      	movi      	r3, 128
    4ac2:	4376      	lsli      	r3, r3, 22
    4ac4:	1042      	lrw      	r2, 0xe000e100	// 4acc <BT1_INT_ENABLE+0xc>
    4ac6:	b260      	st.w      	r3, (r2, 0x0)
}
    4ac8:	783c      	jmp      	r15
    4aca:	0000      	bkpt
    4acc:	e000e100 	.long	0xe000e100

Disassembly of section .text.SIO_DeInit:

00004ad0 <SIO_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void SIO_DeInit(void)
{
	SIO0->CR 		= SIO_RESET_VALUE;
    4ad0:	1067      	lrw      	r3, 0x2000002c	// 4aec <SIO_DeInit+0x1c>
    4ad2:	3200      	movi      	r2, 0
    4ad4:	9360      	ld.w      	r3, (r3, 0x0)
    4ad6:	b340      	st.w      	r2, (r3, 0x0)
	SIO0->TXCR0 	= SIO_RESET_VALUE;
    4ad8:	b341      	st.w      	r2, (r3, 0x4)
	SIO0->TXCR1 	= SIO_RESET_VALUE;
    4ada:	b342      	st.w      	r2, (r3, 0x8)
	//SIO0->TXBUF 	= SIO_RESET_VALUE;
	SIO0->RXCR0 	= SIO_RESET_VALUE;
    4adc:	b344      	st.w      	r2, (r3, 0x10)
	SIO0->RXCR1 	= SIO_RESET_VALUE;
    4ade:	b345      	st.w      	r2, (r3, 0x14)
	SIO0->RXCR1 	= SIO_RESET_VALUE;
    4ae0:	b345      	st.w      	r2, (r3, 0x14)
	//SIO0->RXBUF 	= SIO_RESET_VALUE;
	SIO0->RISR 		= SIO_RESET_VALUE;
    4ae2:	b348      	st.w      	r2, (r3, 0x20)
	SIO0->MISR 		= SIO_RESET_VALUE;
    4ae4:	b349      	st.w      	r2, (r3, 0x24)
	SIO0->IMCR 		= SIO_RESET_VALUE;
    4ae6:	b34a      	st.w      	r2, (r3, 0x28)
	SIO0->ICR 		= SIO_RESET_VALUE;
    4ae8:	b34b      	st.w      	r2, (r3, 0x2c)
}
    4aea:	783c      	jmp      	r15
    4aec:	2000002c 	.long	0x2000002c

Disassembly of section .text.SIO_IO_Init:

00004af0 <SIO_IO_Init>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/  
void SIO_IO_Init(SIO_IOG_TypeDef IOGx)
{
	if(IOGx==SIO_PA02)
    4af0:	3840      	cmpnei      	r0, 0
    4af2:	080a      	bt      	0x4b06	// 4b06 <SIO_IO_Init+0x16>
	{
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFFF0FF)|0x00000400;
    4af4:	1075      	lrw      	r3, 0x2000004c	// 4b48 <SIO_IO_Init+0x58>
    4af6:	32f0      	movi      	r2, 240
    4af8:	9320      	ld.w      	r1, (r3, 0x0)
    4afa:	9160      	ld.w      	r3, (r1, 0x0)
    4afc:	4244      	lsli      	r2, r2, 4
    4afe:	68c9      	andn      	r3, r2
    4b00:	3baa      	bseti      	r3, 10
	}
	if(IOGx==SIO_PA03)
	{
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFF0FFF)|0x00008000;
    4b02:	b160      	st.w      	r3, (r1, 0x0)
	}
	if(IOGx==SIO_PB01)
	{
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000070;
	}
}
    4b04:	783c      	jmp      	r15
	if(IOGx==SIO_PA03)
    4b06:	3841      	cmpnei      	r0, 1
    4b08:	0809      	bt      	0x4b1a	// 4b1a <SIO_IO_Init+0x2a>
		GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFFF0FFF)|0x00008000;
    4b0a:	1070      	lrw      	r3, 0x2000004c	// 4b48 <SIO_IO_Init+0x58>
    4b0c:	32f0      	movi      	r2, 240
    4b0e:	9320      	ld.w      	r1, (r3, 0x0)
    4b10:	9160      	ld.w      	r3, (r1, 0x0)
    4b12:	4248      	lsli      	r2, r2, 8
    4b14:	68c9      	andn      	r3, r2
    4b16:	3baf      	bseti      	r3, 15
    4b18:	07f5      	br      	0x4b02	// 4b02 <SIO_IO_Init+0x12>
	if(IOGx==SIO_PA012)
    4b1a:	3842      	cmpnei      	r0, 2
    4b1c:	080a      	bt      	0x4b30	// 4b30 <SIO_IO_Init+0x40>
		GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFF0FFFF)|0x00080000;
    4b1e:	106b      	lrw      	r3, 0x2000004c	// 4b48 <SIO_IO_Init+0x58>
    4b20:	32f0      	movi      	r2, 240
    4b22:	9320      	ld.w      	r1, (r3, 0x0)
    4b24:	9161      	ld.w      	r3, (r1, 0x4)
    4b26:	424c      	lsli      	r2, r2, 12
    4b28:	68c9      	andn      	r3, r2
    4b2a:	3bb3      	bseti      	r3, 19
    4b2c:	b161      	st.w      	r3, (r1, 0x4)
    4b2e:	07eb      	br      	0x4b04	// 4b04 <SIO_IO_Init+0x14>
	if(IOGx==SIO_PB01)
    4b30:	3843      	cmpnei      	r0, 3
    4b32:	0be9      	bt      	0x4b04	// 4b04 <SIO_IO_Init+0x14>
		GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000070;
    4b34:	1066      	lrw      	r3, 0x20000048	// 4b4c <SIO_IO_Init+0x5c>
    4b36:	31f0      	movi      	r1, 240
    4b38:	9340      	ld.w      	r2, (r3, 0x0)
    4b3a:	9260      	ld.w      	r3, (r2, 0x0)
    4b3c:	68c5      	andn      	r3, r1
    4b3e:	3170      	movi      	r1, 112
    4b40:	6cc4      	or      	r3, r1
    4b42:	b260      	st.w      	r3, (r2, 0x0)
}
    4b44:	07e0      	br      	0x4b04	// 4b04 <SIO_IO_Init+0x14>
    4b46:	0000      	bkpt
    4b48:	2000004c 	.long	0x2000004c
    4b4c:	20000048 	.long	0x20000048

Disassembly of section .text.SIO_TX_Init:

00004b50 <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);
    4b50:	4130      	lsli      	r1, r1, 16
    4b52:	1063      	lrw      	r3, 0x2000002c	// 4b5c <SIO_TX_Init+0xc>
    4b54:	6c04      	or      	r0, r1
    4b56:	9360      	ld.w      	r3, (r3, 0x0)
    4b58:	b300      	st.w      	r0, (r3, 0x0)
	
}
    4b5a:	783c      	jmp      	r15
    4b5c:	2000002c 	.long	0x2000002c

Disassembly of section .text.SIO_TX_Configure:

00004b60 <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)
{
    4b60:	14c4      	push      	r4-r7
    4b62:	1423      	subi      	r14, r14, 12
    4b64:	9889      	ld.w      	r4, (r14, 0x24)
    4b66:	b881      	st.w      	r4, (r14, 0x4)
    4b68:	988a      	ld.w      	r4, (r14, 0x28)
    4b6a:	b882      	st.w      	r4, (r14, 0x8)
    4b6c:	1c08      	addi      	r4, r14, 32
    4b6e:	8480      	ld.b      	r4, (r4, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b70:	4368      	lsli      	r3, r3, 8
{
    4b72:	b880      	st.w      	r4, (r14, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b74:	6cc0      	or      	r3, r0
{
    4b76:	1c0b      	addi      	r4, r14, 44
    4b78:	84c0      	ld.b      	r6, (r4, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b7a:	6cc4      	or      	r3, r1
{
    4b7c:	1c0c      	addi      	r4, r14, 48
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b7e:	4244      	lsli      	r2, r2, 4
    4b80:	10eb      	lrw      	r7, 0x2000002c	// 4bac <SIO_TX_Configure+0x4c>
    4b82:	6cc8      	or      	r3, r2
    4b84:	97e0      	ld.w      	r7, (r7, 0x0)
{
    4b86:	8480      	ld.b      	r4, (r4, 0x0)
	SIO0->TXCR0 =IDLEX | TXDIRX | (TXBUFLENX<<4) |(TXCNTX<<8);
    4b88:	b761      	st.w      	r3, (r7, 0x4)
	SIO0->TXCR1=(D0DURX<<2)|(D1DURX<<5)|LENOBHX|LENOBLX|(HSQX<<16)|(LSQX<<24);
    4b8a:	4498      	lsli      	r4, r4, 24
    4b8c:	9861      	ld.w      	r3, (r14, 0x4)
    4b8e:	6d0c      	or      	r4, r3
    4b90:	9862      	ld.w      	r3, (r14, 0x8)
    4b92:	6d0c      	or      	r4, r3
{
    4b94:	d8ae001c 	ld.b      	r5, (r14, 0x1c)
	SIO0->TXCR1=(D0DURX<<2)|(D1DURX<<5)|LENOBHX|LENOBLX|(HSQX<<16)|(LSQX<<24);
    4b98:	9860      	ld.w      	r3, (r14, 0x0)
    4b9a:	46d0      	lsli      	r6, r6, 16
    4b9c:	6d90      	or      	r6, r4
    4b9e:	45a2      	lsli      	r5, r5, 2
    4ba0:	4385      	lsli      	r4, r3, 5
    4ba2:	6d50      	or      	r5, r4
    4ba4:	6d58      	or      	r5, r6
    4ba6:	b7a2      	st.w      	r5, (r7, 0x8)
}
    4ba8:	1403      	addi      	r14, r14, 12
    4baa:	1484      	pop      	r4-r7
    4bac:	2000002c 	.long	0x2000002c

Disassembly of section .text.UART0_DeInit:

00004bb0 <UART0_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0_DeInit(void)
{
    UART0->DATA = UART_RESET_VALUE;
    4bb0:	1065      	lrw      	r3, 0x20000040	// 4bc4 <UART0_DeInit+0x14>
    4bb2:	3200      	movi      	r2, 0
    4bb4:	9360      	ld.w      	r3, (r3, 0x0)
    4bb6:	b340      	st.w      	r2, (r3, 0x0)
    UART0->SR   = UART_RESET_VALUE;
    4bb8:	b341      	st.w      	r2, (r3, 0x4)
    UART0->CTRL = UART_RESET_VALUE;
    4bba:	b342      	st.w      	r2, (r3, 0x8)
    UART0->ISR  = UART_RESET_VALUE;
    4bbc:	b343      	st.w      	r2, (r3, 0xc)
    UART0->BRDIV =UART_RESET_VALUE;
    4bbe:	b344      	st.w      	r2, (r3, 0x10)
}
    4bc0:	783c      	jmp      	r15
    4bc2:	0000      	bkpt
    4bc4:	20000040 	.long	0x20000040

Disassembly of section .text.UART1_DeInit:

00004bc8 <UART1_DeInit>:
void UART1_DeInit(void)
{
    UART1->DATA = UART_RESET_VALUE;
    4bc8:	1065      	lrw      	r3, 0x2000003c	// 4bdc <UART1_DeInit+0x14>
    4bca:	3200      	movi      	r2, 0
    4bcc:	9360      	ld.w      	r3, (r3, 0x0)
    4bce:	b340      	st.w      	r2, (r3, 0x0)
    UART1->SR   = UART_RESET_VALUE;
    4bd0:	b341      	st.w      	r2, (r3, 0x4)
    UART1->CTRL = UART_RESET_VALUE;
    4bd2:	b342      	st.w      	r2, (r3, 0x8)
    UART1->ISR  = UART_RESET_VALUE;
    4bd4:	b343      	st.w      	r2, (r3, 0xc)
    UART1->BRDIV =UART_RESET_VALUE;
    4bd6:	b344      	st.w      	r2, (r3, 0x10)
}
    4bd8:	783c      	jmp      	r15
    4bda:	0000      	bkpt
    4bdc:	2000003c 	.long	0x2000003c

Disassembly of section .text.UART2_DeInit:

00004be0 <UART2_DeInit>:
void UART2_DeInit(void)
{
	UART2->DATA = UART_RESET_VALUE;
    4be0:	1065      	lrw      	r3, 0x20000038	// 4bf4 <UART2_DeInit+0x14>
    4be2:	3200      	movi      	r2, 0
    4be4:	9360      	ld.w      	r3, (r3, 0x0)
    4be6:	b340      	st.w      	r2, (r3, 0x0)
    UART2->SR   = UART_RESET_VALUE;
    4be8:	b341      	st.w      	r2, (r3, 0x4)
    UART2->CTRL = UART_RESET_VALUE;
    4bea:	b342      	st.w      	r2, (r3, 0x8)
    UART2->ISR  = UART_RESET_VALUE;
    4bec:	b343      	st.w      	r2, (r3, 0xc)
    UART2->BRDIV =UART_RESET_VALUE;
    4bee:	b344      	st.w      	r2, (r3, 0x10)
}
    4bf0:	783c      	jmp      	r15
    4bf2:	0000      	bkpt
    4bf4:	20000038 	.long	0x20000038

Disassembly of section .text.UART0_Int_Enable:

00004bf8 <UART0_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0_Int_Enable(void)
{
    UART0->ISR=0x0F;									//clear UART0 INT status
    4bf8:	1065      	lrw      	r3, 0x20000040	// 4c0c <UART0_Int_Enable+0x14>
    4bfa:	320f      	movi      	r2, 15
    4bfc:	9360      	ld.w      	r3, (r3, 0x0)
    4bfe:	b343      	st.w      	r2, (r3, 0xc)
	INTC_ISER_WRITE(UART0_INT);							//INT Vector Enable UART0/1 Interrupt in CK802
    4c00:	3380      	movi      	r3, 128
    4c02:	4366      	lsli      	r3, r3, 6
    4c04:	1043      	lrw      	r2, 0xe000e100	// 4c10 <UART0_Int_Enable+0x18>
    4c06:	b260      	st.w      	r3, (r2, 0x0)
}
    4c08:	783c      	jmp      	r15
    4c0a:	0000      	bkpt
    4c0c:	20000040 	.long	0x20000040
    4c10:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART2_Int_Enable:

00004c14 <UART2_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2_Int_Enable(void)
{
    UART2->ISR=0x0F;									//clear UART1 INT status
    4c14:	1065      	lrw      	r3, 0x20000038	// 4c28 <UART2_Int_Enable+0x14>
    4c16:	320f      	movi      	r2, 15
    4c18:	9360      	ld.w      	r3, (r3, 0x0)
    4c1a:	b343      	st.w      	r2, (r3, 0xc)
	INTC_ISER_WRITE(UART2_INT);							//INT Vector Enable UART0/1 Interrupt in CK802
    4c1c:	3380      	movi      	r3, 128
    4c1e:	4368      	lsli      	r3, r3, 8
    4c20:	1043      	lrw      	r2, 0xe000e100	// 4c2c <UART2_Int_Enable+0x18>
    4c22:	b260      	st.w      	r3, (r2, 0x0)
}
    4c24:	783c      	jmp      	r15
    4c26:	0000      	bkpt
    4c28:	20000038 	.long	0x20000038
    4c2c:	e000e100 	.long	0xe000e100

Disassembly of section .text.UART_IO_Init:

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

Disassembly of section .text.UARTInit:

00004d1c <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);
    4d1c:	1063      	lrw      	r3, 0x80003	// 4d28 <UARTInit+0xc>
    4d1e:	6c8c      	or      	r2, r3
    4d20:	b042      	st.w      	r2, (r0, 0x8)
   // Set Baudrate
   CSP_UART_SET_BRDIV(uart, baudrate_u16);
    4d22:	b024      	st.w      	r1, (r0, 0x10)
}
    4d24:	783c      	jmp      	r15
    4d26:	0000      	bkpt
    4d28:	00080003 	.long	0x00080003

Disassembly of section .text.UARTInitRxTxIntEn:

00004d2c <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);
    4d2c:	1063      	lrw      	r3, 0x8000f	// 4d38 <UARTInitRxTxIntEn+0xc>
    4d2e:	6c8c      	or      	r2, r3
    4d30:	b042      	st.w      	r2, (r0, 0x8)
   // Set Baudrate
   CSP_UART_SET_BRDIV(uart, baudrate_u16);
    4d32:	b024      	st.w      	r1, (r0, 0x10)
}
    4d34:	783c      	jmp      	r15
    4d36:	0000      	bkpt
    4d38:	0008000f 	.long	0x0008000f

Disassembly of section .text.UARTTransmit:

00004d3c <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)
{
    4d3c:	14c2      	push      	r4-r5
	unsigned int  DataI,DataJ;
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
    4d3e:	6cc7      	mov      	r3, r1
	{
		CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
		do{
			DataI = CSP_UART_GET_SR(uart);
			DataI = DataI & UART_TX_FULL;
    4d40:	3501      	movi      	r5, 1
	for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
    4d42:	5b85      	subu      	r4, r3, r1
    4d44:	6490      	cmphs      	r4, r2
    4d46:	0c02      	bf      	0x4d4a	// 4d4a <UARTTransmit+0xe>
		}while(DataI == UART_TX_FULL);    //Loop  when tx is full
	}
}
    4d48:	1482      	pop      	r4-r5
		CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
    4d4a:	8380      	ld.b      	r4, (r3, 0x0)
    4d4c:	b080      	st.w      	r4, (r0, 0x0)
			DataI = CSP_UART_GET_SR(uart);
    4d4e:	9081      	ld.w      	r4, (r0, 0x4)
			DataI = DataI & UART_TX_FULL;
    4d50:	6914      	and      	r4, r5
		}while(DataI == UART_TX_FULL);    //Loop  when tx is full
    4d52:	3c40      	cmpnei      	r4, 0
    4d54:	0bfd      	bt      	0x4d4e	// 4d4e <UARTTransmit+0x12>
    4d56:	2300      	addi      	r3, 1
    4d58:	07f5      	br      	0x4d42	// 4d42 <UARTTransmit+0x6>

Disassembly of section .text.EPT_Stop:

00004d5c <EPT_Stop>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/   
void EPT_Stop(void)
{
	EPT0->REGPROT = (0xA55A<<16) | 0xC73A;
    4d5c:	1068      	lrw      	r3, 0x20000020	// 4d7c <EPT_Stop+0x20>
    4d5e:	3280      	movi      	r2, 128
    4d60:	9360      	ld.w      	r3, (r3, 0x0)
    4d62:	608c      	addu      	r2, r3
    4d64:	1027      	lrw      	r1, 0xa55ac73a	// 4d80 <EPT_Stop+0x24>
    4d66:	b23a      	st.w      	r1, (r2, 0x68)
	EPT0->RSSR&=0Xfe;
    4d68:	9341      	ld.w      	r2, (r3, 0x4)
    4d6a:	31fe      	movi      	r1, 254
    4d6c:	6884      	and      	r2, r1
    4d6e:	b341      	st.w      	r2, (r3, 0x4)
	while(EPT0->RSSR&0x01);
    4d70:	3101      	movi      	r1, 1
    4d72:	9341      	ld.w      	r2, (r3, 0x4)
    4d74:	6884      	and      	r2, r1
    4d76:	3a40      	cmpnei      	r2, 0
    4d78:	0bfd      	bt      	0x4d72	// 4d72 <EPT_Stop+0x16>
}
    4d7a:	783c      	jmp      	r15
    4d7c:	20000020 	.long	0x20000020
    4d80:	a55ac73a 	.long	0xa55ac73a

Disassembly of section .text.ADC12_RESET_VALUE:

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

Disassembly of section .text.ADC12_Control:

00004de8 <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;							// 
    4de8:	1063      	lrw      	r3, 0x20000050	// 4df4 <ADC12_Control+0xc>
    4dea:	9340      	ld.w      	r2, (r3, 0x0)
    4dec:	9264      	ld.w      	r3, (r2, 0x10)
    4dee:	6c0c      	or      	r0, r3
    4df0:	b204      	st.w      	r0, (r2, 0x10)
}
    4df2:	783c      	jmp      	r15
    4df4:	20000050 	.long	0x20000050

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

00004df8 <ADC12_CMD.part.0>:
//ADC12 ENABLE
//EntryParameter:NewState
//NewState:ENABLE , DISABLE
//ReturnValue:NONE
/*************************************************************/ 
void ADC12_CMD(FunctionalStatus NewState)
    4df8:	14d0      	push      	r15
{
	if (NewState != DISABLE)
	{
		ADC12_Control(ADC12_ADCEN);						//ADC12 ENABLE
    4dfa:	3002      	movi      	r0, 2
    4dfc:	e3fffff6 	bsr      	0x4de8	// 4de8 <ADC12_Control>
		while(!(ADC0->SR &ADC12_ADCENS));
    4e00:	1065      	lrw      	r3, 0x20000050	// 4e14 <ADC12_CMD.part.0+0x1c>
    4e02:	3280      	movi      	r2, 128
    4e04:	9320      	ld.w      	r1, (r3, 0x0)
    4e06:	4241      	lsli      	r2, r2, 1
    4e08:	9168      	ld.w      	r3, (r1, 0x20)
    4e0a:	68c8      	and      	r3, r2
    4e0c:	3b40      	cmpnei      	r3, 0
    4e0e:	0ffd      	bf      	0x4e08	// 4e08 <ADC12_CMD.part.0+0x10>
	else
	{
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
		while(ADC0->SR&ADC12_ADCENS);
	}
}
    4e10:	1490      	pop      	r15
    4e12:	0000      	bkpt
    4e14:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_CLK_CMD:

00004e18 <ADC12_CLK_CMD>:
	if (NewState != DISABLE)
    4e18:	3940      	cmpnei      	r1, 0
    4e1a:	106a      	lrw      	r3, 0x20000050	// 4e40 <ADC12_CLK_CMD+0x28>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    4e1c:	9340      	ld.w      	r2, (r3, 0x0)
	if (NewState != DISABLE)
    4e1e:	0c09      	bf      	0x4e30	// 4e30 <ADC12_CLK_CMD+0x18>
		ADC0->ECR  |= ADC_CLK_CMD;						//ENABLE
    4e20:	9260      	ld.w      	r3, (r2, 0x0)
    4e22:	6cc0      	or      	r3, r0
    4e24:	b260      	st.w      	r3, (r2, 0x0)
		while(!(ADC0->PMSR&ADC_CLK_CMD));
    4e26:	9262      	ld.w      	r3, (r2, 0x8)
    4e28:	68c0      	and      	r3, r0
    4e2a:	3b40      	cmpnei      	r3, 0
    4e2c:	0ffd      	bf      	0x4e26	// 4e26 <ADC12_CLK_CMD+0xe>
}
    4e2e:	783c      	jmp      	r15
		ADC0->DCR  |= ADC_CLK_CMD;						//DISABLE
    4e30:	9261      	ld.w      	r3, (r2, 0x4)
    4e32:	6cc0      	or      	r3, r0
    4e34:	b261      	st.w      	r3, (r2, 0x4)
		while(ADC0->PMSR&ADC_CLK_CMD);
    4e36:	9262      	ld.w      	r3, (r2, 0x8)
    4e38:	68c0      	and      	r3, r0
    4e3a:	3b40      	cmpnei      	r3, 0
    4e3c:	0bfd      	bt      	0x4e36	// 4e36 <ADC12_CLK_CMD+0x1e>
    4e3e:	07f8      	br      	0x4e2e	// 4e2e <ADC12_CLK_CMD+0x16>
    4e40:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Software_Reset:

00004e44 <ADC12_Software_Reset>:
{
    4e44:	14d0      	push      	r15
	ADC12_Control(ADC12_SWRST);
    4e46:	3001      	movi      	r0, 1
    4e48:	e3ffffd0 	bsr      	0x4de8	// 4de8 <ADC12_Control>
}
    4e4c:	1490      	pop      	r15

Disassembly of section .text.ADC12_CMD:

00004e50 <ADC12_CMD>:
{
    4e50:	14d0      	push      	r15
	if (NewState != DISABLE)
    4e52:	3840      	cmpnei      	r0, 0
    4e54:	0c04      	bf      	0x4e5c	// 4e5c <ADC12_CMD+0xc>
    4e56:	e3ffffd1 	bsr      	0x4df8	// 4df8 <ADC12_CMD.part.0>
}
    4e5a:	1490      	pop      	r15
		ADC12_Control(ADC12_ADCDIS);					//ADC12 DISABLE
    4e5c:	3004      	movi      	r0, 4
    4e5e:	e3ffffc5 	bsr      	0x4de8	// 4de8 <ADC12_Control>
		while(ADC0->SR&ADC12_ADCENS);
    4e62:	1065      	lrw      	r3, 0x20000050	// 4e74 <ADC12_CMD+0x24>
    4e64:	3280      	movi      	r2, 128
    4e66:	9320      	ld.w      	r1, (r3, 0x0)
    4e68:	4241      	lsli      	r2, r2, 1
    4e6a:	9168      	ld.w      	r3, (r1, 0x20)
    4e6c:	68c8      	and      	r3, r2
    4e6e:	3b40      	cmpnei      	r3, 0
    4e70:	0bfd      	bt      	0x4e6a	// 4e6a <ADC12_CMD+0x1a>
    4e72:	07f4      	br      	0x4e5a	// 4e5a <ADC12_CMD+0xa>
    4e74:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_ready_wait:

00004e78 <ADC12_ready_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 READ FLAG
/*************************************************************/ 
void ADC12_ready_wait(void)  
{
	while(!(ADC0->SR&ADC12_READY));   					// Waiting for ADC0 Ready
    4e78:	1064      	lrw      	r3, 0x20000050	// 4e88 <ADC12_ready_wait+0x10>
    4e7a:	3202      	movi      	r2, 2
    4e7c:	9320      	ld.w      	r1, (r3, 0x0)
    4e7e:	9168      	ld.w      	r3, (r1, 0x20)
    4e80:	68c8      	and      	r3, r2
    4e82:	3b40      	cmpnei      	r3, 0
    4e84:	0ffd      	bf      	0x4e7e	// 4e7e <ADC12_ready_wait+0x6>
}
    4e86:	783c      	jmp      	r15
    4e88:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_SEQEND_wait:

00004e8c <ADC12_SEQEND_wait>:
//EntryParameter:NONE
//ReturnValue:ADC12 EOC
/*************************************************************/ 
void ADC12_SEQEND_wait(U8_T val)
{
	while(!(ADC0->SR & (0x01ul << (16+val))));			// EOC wait
    4e8c:	200f      	addi      	r0, 16
    4e8e:	1065      	lrw      	r3, 0x20000050	// 4ea0 <ADC12_SEQEND_wait+0x14>
    4e90:	3201      	movi      	r2, 1
    4e92:	9320      	ld.w      	r1, (r3, 0x0)
    4e94:	7080      	lsl      	r2, r0
    4e96:	9168      	ld.w      	r3, (r1, 0x20)
    4e98:	68c8      	and      	r3, r2
    4e9a:	3b40      	cmpnei      	r3, 0
    4e9c:	0ffd      	bf      	0x4e96	// 4e96 <ADC12_SEQEND_wait+0xa>
}  
    4e9e:	783c      	jmp      	r15
    4ea0:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_DATA_OUPUT:

00004ea4 <ADC12_DATA_OUPUT>:
//EntryParameter:NONE
//ReturnValue:ADC12 DR
/*************************************************************/ 
U16_T ADC12_DATA_OUPUT(U16_T Data_index )
{
	return(ADC0->DR[Data_index]);
    4ea4:	203f      	addi      	r0, 64
    4ea6:	1064      	lrw      	r3, 0x20000050	// 4eb4 <ADC12_DATA_OUPUT+0x10>
    4ea8:	4002      	lsli      	r0, r0, 2
    4eaa:	9360      	ld.w      	r3, (r3, 0x0)
    4eac:	600c      	addu      	r0, r3
    4eae:	9000      	ld.w      	r0, (r0, 0x0)
    4eb0:	7401      	zexth      	r0, r0
} 
    4eb2:	783c      	jmp      	r15
    4eb4:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_Mode:

00004eb8 <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 ) 
{
    4eb8:	14d4      	push      	r4-r7, r15
    4eba:	1422      	subi      	r14, r14, 8
    4ebc:	1c08      	addi      	r4, r14, 32
    4ebe:	84a0      	ld.b      	r5, (r4, 0x0)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4ec0:	2d00      	subi      	r5, 1
{
    4ec2:	6dc3      	mov      	r7, r0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4ec4:	10db      	lrw      	r6, 0x20000050	// 4f30 <ADC12_Configure_Mode+0x78>
{
    4ec6:	d80e001c 	ld.b      	r0, (r14, 0x1c)
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4eca:	45aa      	lsli      	r5, r5, 10
    4ecc:	9680      	ld.w      	r4, (r6, 0x0)
    4ece:	6d40      	or      	r5, r0
	if(ADC12_ConverMode==One_shot_mode)
    4ed0:	3940      	cmpnei      	r1, 0
	ADC0->MR=ADC12_DIV|((NumConver-1)<<10);
    4ed2:	b4a5      	st.w      	r5, (r4, 0x14)
	if(ADC12_ConverMode==One_shot_mode)
    4ed4:	081c      	bt      	0x4f0c	// 4f0c <ADC12_Configure_Mode+0x54>
	{
		ADC0->MR&=~CONTCV;								//one short mode
    4ed6:	9425      	ld.w      	r1, (r4, 0x14)
    4ed8:	4121      	lsli      	r1, r1, 1
    4eda:	4921      	lsri      	r1, r1, 1
		while(ADC0->SR&ADC12_CTCVS);							
    4edc:	3080      	movi      	r0, 128
		ADC0->MR&=~CONTCV;								//one short mode
    4ede:	b425      	st.w      	r1, (r4, 0x14)
		while(ADC0->SR&ADC12_CTCVS);							
    4ee0:	4002      	lsli      	r0, r0, 2
    4ee2:	9428      	ld.w      	r1, (r4, 0x20)
    4ee4:	6840      	and      	r1, r0
    4ee6:	3940      	cmpnei      	r1, 0
    4ee8:	0bfd      	bt      	0x4ee2	// 4ee2 <ADC12_Configure_Mode+0x2a>
    4eea:	b861      	st.w      	r3, (r14, 0x4)
    4eec:	b840      	st.w      	r2, (r14, 0x0)
    4eee:	e3ffff85 	bsr      	0x4df8	// 4df8 <ADC12_CMD.part.0>
	{
		ADC0->MR|=CONTCV;								//Continuous mode
		while(!(ADC0->SR&ADC12_CTCVS));							
	}
	ADC12_CMD(ENABLE);									//ADC0 enable
	if(ADC12_BIT_SELECTED)
    4ef2:	3f40      	cmpnei      	r7, 0
    4ef4:	9840      	ld.w      	r2, (r14, 0x0)
    4ef6:	9861      	ld.w      	r3, (r14, 0x4)
    4ef8:	0c16      	bf      	0x4f24	// 4f24 <ADC12_Configure_Mode+0x6c>
	{
		ADC0->CR|=ADC12_10BITor12BIT;
    4efa:	9600      	ld.w      	r0, (r6, 0x0)
    4efc:	9024      	ld.w      	r1, (r0, 0x10)
    4efe:	39bf      	bseti      	r1, 31
	}
	else
	{
		ADC0->CR&=~ADC12_10BITor12BIT;
    4f00:	b024      	st.w      	r1, (r0, 0x10)
	}
	//ADC0->CR|=ADC12_VREF_VDD | ADC12_FVR_DIS;
	ADC0->PRI=ADC12_PRI;
    4f02:	9620      	ld.w      	r1, (r6, 0x0)
    4f04:	b15c      	st.w      	r2, (r1, 0x70)
	ADC0->SHR=adc12_SHR;								//adc Sampling & Holding cycles
    4f06:	b166      	st.w      	r3, (r1, 0x18)
} 
    4f08:	1402      	addi      	r14, r14, 8
    4f0a:	1494      	pop      	r4-r7, r15
	else if(ADC12_ConverMode==Continuous_mode)
    4f0c:	3941      	cmpnei      	r1, 1
    4f0e:	0bee      	bt      	0x4eea	// 4eea <ADC12_Configure_Mode+0x32>
		ADC0->MR|=CONTCV;								//Continuous mode
    4f10:	9425      	ld.w      	r1, (r4, 0x14)
    4f12:	39bf      	bseti      	r1, 31
		while(!(ADC0->SR&ADC12_CTCVS));							
    4f14:	3080      	movi      	r0, 128
		ADC0->MR|=CONTCV;								//Continuous mode
    4f16:	b425      	st.w      	r1, (r4, 0x14)
		while(!(ADC0->SR&ADC12_CTCVS));							
    4f18:	4002      	lsli      	r0, r0, 2
    4f1a:	9428      	ld.w      	r1, (r4, 0x20)
    4f1c:	6840      	and      	r1, r0
    4f1e:	3940      	cmpnei      	r1, 0
    4f20:	0ffd      	bf      	0x4f1a	// 4f1a <ADC12_Configure_Mode+0x62>
    4f22:	07e4      	br      	0x4eea	// 4eea <ADC12_Configure_Mode+0x32>
		ADC0->CR&=~ADC12_10BITor12BIT;
    4f24:	9600      	ld.w      	r0, (r6, 0x0)
    4f26:	9024      	ld.w      	r1, (r0, 0x10)
    4f28:	4121      	lsli      	r1, r1, 1
    4f2a:	4921      	lsri      	r1, r1, 1
    4f2c:	07ea      	br      	0x4f00	// 4f00 <ADC12_Configure_Mode+0x48>
    4f2e:	0000      	bkpt
    4f30:	20000050 	.long	0x20000050

Disassembly of section .text.ADC12_Configure_VREF_Selecte:

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

Disassembly of section .text.ADC12_ConversionChannel_Config:

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

Disassembly of section .text.Page_ProgramData:

0000524c <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)
{
    524c:	14c4      	push      	r4-r7
    524e:	1422      	subi      	r14, r14, 8
	int i,DataBuffer;

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

Disassembly of section .text.ReadDataArry_U8:

000052ec <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)
{
    52ec:	14c3      	push      	r4-r6
	unsigned int i;
	for (i=0;i<DataLength;i++)
    52ee:	3300      	movi      	r3, 0
	{
		if((i!=0)&&(i%4==0))
    52f0:	3503      	movi      	r5, 3
	for (i=0;i<DataLength;i++)
    52f2:	644e      	cmpne      	r3, r1
    52f4:	5acc      	addu      	r6, r2, r3
    52f6:	0802      	bt      	0x52fa	// 52fa <ReadDataArry_U8+0xe>
			RdStartAdd +=4;
		}	
		*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
		DataArryPoint++;
	}
}
    52f8:	1483      	pop      	r4-r6
		if((i!=0)&&(i%4==0))
    52fa:	3b40      	cmpnei      	r3, 0
    52fc:	0c06      	bf      	0x5308	// 5308 <ReadDataArry_U8+0x1c>
    52fe:	6d0f      	mov      	r4, r3
    5300:	6914      	and      	r4, r5
    5302:	3c40      	cmpnei      	r4, 0
    5304:	0802      	bt      	0x5308	// 5308 <ReadDataArry_U8+0x1c>
			RdStartAdd +=4;
    5306:	2003      	addi      	r0, 4
		*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
    5308:	6d0f      	mov      	r4, r3
    530a:	6914      	and      	r4, r5
    530c:	6100      	addu      	r4, r0
    530e:	8480      	ld.b      	r4, (r4, 0x0)
    5310:	a680      	st.b      	r4, (r6, 0x0)
	for (i=0;i<DataLength;i++)
    5312:	2300      	addi      	r3, 1
    5314:	07ef      	br      	0x52f2	// 52f2 <ReadDataArry_U8+0x6>

Disassembly of section .text.tk_parameter_init:

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

Disassembly of section .text.CORET_DeInit:

00005458 <CORET_DeInit>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/    
void CORET_DeInit(void)
{
	CK801->CORET_CSR=CORET_CSR_RST;
    5458:	1065      	lrw      	r3, 0x20000064	// 546c <CORET_DeInit+0x14>
    545a:	3204      	movi      	r2, 4
    545c:	9360      	ld.w      	r3, (r3, 0x0)
    545e:	b344      	st.w      	r2, (r3, 0x10)
	CK801->CORET_RVR=CORET_RVR_RST;
    5460:	3200      	movi      	r2, 0
    5462:	b345      	st.w      	r2, (r3, 0x14)
	CK801->CORET_CVR=CORET_CVR_RST;
    5464:	b346      	st.w      	r2, (r3, 0x18)
	CK801->CORET_CALIB=CORET_CALIB_RST;
    5466:	b347      	st.w      	r2, (r3, 0x1c)
}
    5468:	783c      	jmp      	r15
    546a:	0000      	bkpt
    546c:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_Int_Enable:

00005470 <CORET_Int_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_Int_Enable(void)
{
    CK801->CORET_CVR = 0x0;							// Clear counter and flag
    5470:	1064      	lrw      	r3, 0x20000064	// 5480 <CORET_Int_Enable+0x10>
    5472:	3200      	movi      	r2, 0
    5474:	9360      	ld.w      	r3, (r3, 0x0)
    5476:	b346      	st.w      	r2, (r3, 0x18)
	INTC_ISER_WRITE(CORET_INT);    
    5478:	3201      	movi      	r2, 1
    547a:	1063      	lrw      	r3, 0xe000e100	// 5484 <CORET_Int_Enable+0x14>
    547c:	b340      	st.w      	r2, (r3, 0x0)
}
    547e:	783c      	jmp      	r15
    5480:	20000064 	.long	0x20000064
    5484:	e000e100 	.long	0xe000e100

Disassembly of section .text.CORET_start:

00005488 <CORET_start>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_start(void)
{
	CK801->CORET_CSR|=0x01;
    5488:	1063      	lrw      	r3, 0x20000064	// 5494 <CORET_start+0xc>
    548a:	9340      	ld.w      	r2, (r3, 0x0)
    548c:	9264      	ld.w      	r3, (r2, 0x10)
    548e:	3ba0      	bseti      	r3, 0
    5490:	b264      	st.w      	r3, (r2, 0x10)
}
    5492:	783c      	jmp      	r15
    5494:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_CLKSOURCE_EX:

00005498 <CORET_CLKSOURCE_EX>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_CLKSOURCE_EX(void)
{
	CK801->CORET_CSR&=0Xfffffffb;
    5498:	1063      	lrw      	r3, 0x20000064	// 54a4 <CORET_CLKSOURCE_EX+0xc>
    549a:	9340      	ld.w      	r2, (r3, 0x0)
    549c:	9264      	ld.w      	r3, (r2, 0x10)
    549e:	3b82      	bclri      	r3, 2
    54a0:	b264      	st.w      	r3, (r2, 0x10)
}
    54a2:	783c      	jmp      	r15
    54a4:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_TICKINT_Enable:

000054a8 <CORET_TICKINT_Enable>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_TICKINT_Enable(void)
{
    CK801->CORET_CSR|=0x02;
    54a8:	1063      	lrw      	r3, 0x20000064	// 54b4 <CORET_TICKINT_Enable+0xc>
    54aa:	9340      	ld.w      	r2, (r3, 0x0)
    54ac:	9264      	ld.w      	r3, (r2, 0x10)
    54ae:	3ba1      	bseti      	r3, 1
    54b0:	b264      	st.w      	r3, (r2, 0x10)
}
    54b2:	783c      	jmp      	r15
    54b4:	20000064 	.long	0x20000064

Disassembly of section .text.CORET_reload:

000054b8 <CORET_reload>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void CORET_reload(void)
{
	CK801->CORET_CVR = 0x0;							// Clear counter and flag
    54b8:	1063      	lrw      	r3, 0x20000064	// 54c4 <CORET_reload+0xc>
    54ba:	3200      	movi      	r2, 0
    54bc:	9360      	ld.w      	r3, (r3, 0x0)
    54be:	b346      	st.w      	r2, (r3, 0x18)
}
    54c0:	783c      	jmp      	r15
    54c2:	0000      	bkpt
    54c4:	20000064 	.long	0x20000064

Disassembly of section .text.startup.main:

000054c8 <main>:
volatile unsigned int Sav_Temp = 0;
/***************************************************/
//main
/**************************************************/
int main(void) 
{
    54c8:	14d0      	push      	r15
//	delay_nms(20000);
	APT32F102_init();							//102 initial
    54ca:	e00000f9 	bsr      	0x56bc	// 56bc <APT32F102_init>

	Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start! %d",g_eeprom.dev_addr);
    54ce:	1072      	lrw      	r3, 0x200004f4	// 5514 <main+0x4c>
    54d0:	8340      	ld.b      	r2, (r3, 0x0)
    54d2:	1032      	lrw      	r1, 0xcd94	// 5518 <main+0x50>
    54d4:	3000      	movi      	r0, 0
    54d6:	e00008d3 	bsr      	0x667c	// 667c <Dbg_Println>
	
	TemCtrl_Init();
    54da:	e0001dbf 	bsr      	0x9058	// 9058 <TemCtrl_Init>
	DisPlay_Init();
    54de:	e0002309 	bsr      	0x9af0	// 9af0 <DisPlay_Init>
	Debug_Init();
    54e2:	e0002585 	bsr      	0x9fec	// 9fec <Debug_Init>
	
    while(1)
	{
		SYSCON_IWDCNT_Reload(); 				//IWDT Clear
    54e6:	e3fff7ef 	bsr      	0x44c4	// 44c4 <SYSCON_IWDCNT_Reload>
		
		UART2_TASK();
    54ea:	e0000727 	bsr      	0x6338	// 6338 <UART2_TASK>
		
		
		
		Touch_Key_Task();
    54ee:	e0000abf 	bsr      	0x6a6c	// 6a6c <Touch_Key_Task>
		
		TemCtrl_Pro();
    54f2:	e0001f6f 	bsr      	0x93d0	// 93d0 <TemCtrl_Pro>
		
		DisPlay_Task();
    54f6:	e000230d 	bsr      	0x9b10	// 9b10 <DisPlay_Task>
		
		BUS485Send_Task();		
    54fa:	e0000851 	bsr      	0x659c	// 659c <BUS485Send_Task>
		
		HT1621_Refresh_Task();
    54fe:	e0001c53 	bsr      	0x8da4	// 8da4 <HT1621_Refresh_Task>
		
		ADC_Sample_Task();
    5502:	e0001147 	bsr      	0x7790	// 7790 <ADC_Sample_Task>
		
		Debug_Task();
    5506:	e00025e5 	bsr      	0xa0d0	// a0d0 <Debug_Task>
		
		RLY_Direct_Control();
    550a:	e000268b 	bsr      	0xa220	// a220 <RLY_Direct_Control>
		
		Tm1812_Task();
    550e:	e000169b 	bsr      	0x8244	// 8244 <Tm1812_Task>
    5512:	07ea      	br      	0x54e6	// 54e6 <main+0x1e>
    5514:	200004f4 	.long	0x200004f4
    5518:	0000cd94 	.long	0x0000cd94

Disassembly of section .text.delay_nms:

0000551c <delay_nms>:
//software delay
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void delay_nms(unsigned int t)
{
    551c:	14d0      	push      	r15
    551e:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    j = 50* t;
    5520:	3232      	movi      	r2, 50
    volatile unsigned int i,j ,k=0;
    5522:	3300      	movi      	r3, 0
    j = 50* t;
    5524:	7c08      	mult      	r0, r2
    volatile unsigned int i,j ,k=0;
    5526:	b862      	st.w      	r3, (r14, 0x8)
    j = 50* t;
    5528:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    552a:	b860      	st.w      	r3, (r14, 0x0)
    552c:	9840      	ld.w      	r2, (r14, 0x0)
    552e:	9861      	ld.w      	r3, (r14, 0x4)
    5530:	64c8      	cmphs      	r2, r3
    5532:	0c03      	bf      	0x5538	// 5538 <delay_nms+0x1c>
    {
        k++;
		SYSCON_IWDCNT_Reload(); 
    }
}
    5534:	1403      	addi      	r14, r14, 12
    5536:	1490      	pop      	r15
        k++;
    5538:	9862      	ld.w      	r3, (r14, 0x8)
    553a:	2300      	addi      	r3, 1
    553c:	b862      	st.w      	r3, (r14, 0x8)
		SYSCON_IWDCNT_Reload(); 
    553e:	e3fff7c3 	bsr      	0x44c4	// 44c4 <SYSCON_IWDCNT_Reload>
    for ( i = 0; i < j; i++ )
    5542:	9860      	ld.w      	r3, (r14, 0x0)
    5544:	2300      	addi      	r3, 1
    5546:	07f2      	br      	0x552a	// 552a <delay_nms+0xe>

Disassembly of section .text.delay_nus:

00005548 <delay_nus>:
void delay_nus(unsigned int t)
{
    5548:	1423      	subi      	r14, r14, 12
    volatile unsigned int i,j ,k=0;
    554a:	3300      	movi      	r3, 0
    554c:	b862      	st.w      	r3, (r14, 0x8)
    j = 1* t;
    554e:	b801      	st.w      	r0, (r14, 0x4)
    for ( i = 0; i < j; i++ )
    5550:	b860      	st.w      	r3, (r14, 0x0)
    5552:	9840      	ld.w      	r2, (r14, 0x0)
    5554:	9861      	ld.w      	r3, (r14, 0x4)
    5556:	64c8      	cmphs      	r2, r3
    5558:	0c03      	bf      	0x555e	// 555e <delay_nus+0x16>
    {
        k++;
    }
}
    555a:	1403      	addi      	r14, r14, 12
    555c:	783c      	jmp      	r15
        k++;
    555e:	9862      	ld.w      	r3, (r14, 0x8)
    5560:	2300      	addi      	r3, 1
    5562:	b862      	st.w      	r3, (r14, 0x8)
    for ( i = 0; i < j; i++ )
    5564:	9860      	ld.w      	r3, (r14, 0x0)
    5566:	2300      	addi      	r3, 1
    5568:	07f4      	br      	0x5550	// 5550 <delay_nus+0x8>

Disassembly of section .text.GPIO_CONFIG:

0000556c <GPIO_CONFIG>:
//GPIO Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void GPIO_CONFIG(void)
{
    556c:	14d1      	push      	r4, r15
	//外部中断初始化,过零信号触发
	GPIO_PullHigh_Init(GPIOA0,14);							//PA0.14
    556e:	1181      	lrw      	r4, 0x2000004c	// 55f0 <GPIO_CONFIG+0x84>
    5570:	310e      	movi      	r1, 14
    5572:	9400      	ld.w      	r0, (r4, 0x0)
    5574:	e3fff8e6 	bsr      	0x4740	// 4740 <GPIO_PullHigh_Init>

	GPIO_IntGroup_Set(PA0,14,Selete_EXI_PIN14); 					//EXI0 set PB0.2
    5578:	320e      	movi      	r2, 14
    557a:	310e      	movi      	r1, 14
    557c:	3000      	movi      	r0, 0
    557e:	e3fff8f3 	bsr      	0x4764	// 4764 <GPIO_IntGroup_Set>
	GPIOA0_EXI_Init(EXI14); 										//PB0.2 as input
    5582:	300e      	movi      	r0, 14
    5584:	e3fff976 	bsr      	0x4870	// 4870 <GPIOA0_EXI_Init>
//	EXTI_trigger_CMD(ENABLE,EXI_PIN14,_EXIFT); 					//ENABLE falling edge，下降沿触发
	EXTI_trigger_CMD(ENABLE,EXI_PIN14,_EXIRT);
    5588:	3180      	movi      	r1, 128
    558a:	3200      	movi      	r2, 0
    558c:	4127      	lsli      	r1, r1, 7
    558e:	3001      	movi      	r0, 1
    5590:	e3fff7dc 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
	EXTI_interrupt_CMD(ENABLE,EXI_PIN14); 						//enable EXI
    5594:	3180      	movi      	r1, 128
    5596:	4127      	lsli      	r1, r1, 7
    5598:	3001      	movi      	r0, 1
    559a:	e3fff7f7 	bsr      	0x4588	// 4588 <EXTI_interrupt_CMD>
	GPIO_EXTI_interrupt(GPIOA0,0b0100000000000000); 			//enable GPIOB02 as EXI
    559e:	3180      	movi      	r1, 128
    55a0:	9400      	ld.w      	r0, (r4, 0x0)
    55a2:	4127      	lsli      	r1, r1, 7
    55a4:	e3fff80c 	bsr      	0x45bc	// 45bc <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
    55a8:	1093      	lrw      	r4, 0x20000048	// 55f4 <GPIO_CONFIG+0x88>
	EXI4_Int_Enable(); 										//EXI2~EXI3 INT Vector
    55aa:	e3fff813 	bsr      	0x45d0	// 45d0 <EXI4_Int_Enable>
	GPIO_PullHigh_Init(GPIOB0,5);								//RX,PB0.5
    55ae:	9400      	ld.w      	r0, (r4, 0x0)
    55b0:	3105      	movi      	r1, 5
    55b2:	e3fff8c7 	bsr      	0x4740	// 4740 <GPIO_PullHigh_Init>
	
	GPIO_IntGroup_Set(PB0,5,Selete_EXI_PIN5); 					//EXI0 set PB0.2
    55b6:	3205      	movi      	r2, 5
    55b8:	3105      	movi      	r1, 5
    55ba:	3002      	movi      	r0, 2
    55bc:	e3fff8d4 	bsr      	0x4764	// 4764 <GPIO_IntGroup_Set>
	GPIOB0_EXI_Init(EXI5); 										//PB0.2 as input
    55c0:	3005      	movi      	r0, 5
    55c2:	e3fff9d5 	bsr      	0x496c	// 496c <GPIOB0_EXI_Init>
	EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIFT); 					//ENABLE falling edge，下降沿触发
    55c6:	3201      	movi      	r2, 1
    55c8:	3120      	movi      	r1, 32
    55ca:	3001      	movi      	r0, 1
    55cc:	e3fff7be 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
	EXTI_trigger_CMD(ENABLE,EXI_PIN5,_EXIRT);					//上升沿触发
    55d0:	3200      	movi      	r2, 0
    55d2:	3120      	movi      	r1, 32
    55d4:	3001      	movi      	r0, 1
    55d6:	e3fff7b9 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
	EXTI_interrupt_CMD(ENABLE,EXI_PIN5); 						//enable EXI
    55da:	3120      	movi      	r1, 32
    55dc:	3001      	movi      	r0, 1
    55de:	e3fff7d5 	bsr      	0x4588	// 4588 <EXTI_interrupt_CMD>
	GPIO_EXTI_interrupt(GPIOB0,0b0000000000100000); 			//enable GPIOB02 as EXI
    55e2:	9400      	ld.w      	r0, (r4, 0x0)
    55e4:	3120      	movi      	r1, 32
    55e6:	e3fff7eb 	bsr      	0x45bc	// 45bc <GPIO_EXTI_interrupt>
	EXI3_Int_Enable(); 		
    55ea:	e3fff7eb 	bsr      	0x45c0	// 45c0 <EXI3_Int_Enable>
//
//	GPIO_DriveStrength_EN(GPIOB0,3);
//
//	GPIO_Write_High(GPIOB0,3);		//上电默认为高电平

}
    55ee:	1491      	pop      	r4, r15
    55f0:	2000004c 	.long	0x2000004c
    55f4:	20000048 	.long	0x20000048

Disassembly of section .text.BT_CONFIG:

000055f8 <BT_CONFIG>:
//BT Initial
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/	
void BT_CONFIG(void)
{
    55f8:	14d2      	push      	r4-r5, r15
    55fa:	1424      	subi      	r14, r14, 16
//	BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND);
//	BT0_INT_ENABLE();
	
	
	//100us 定时器初始化
	BT_DeInit(BT1);
    55fc:	1095      	lrw      	r4, 0x20000008	// 5650 <BT_CONFIG+0x58>
	BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
    55fe:	3500      	movi      	r5, 0
	BT_DeInit(BT1);
    5600:	9400      	ld.w      	r0, (r4, 0x0)
    5602:	e3fffa19 	bsr      	0x4a34	// 4a34 <BT_DeInit>
	BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
    5606:	9400      	ld.w      	r0, (r4, 0x0)
    5608:	b8a1      	st.w      	r5, (r14, 0x4)
    560a:	b8a0      	st.w      	r5, (r14, 0x0)
    560c:	3308      	movi      	r3, 8
    560e:	3200      	movi      	r2, 0
    5610:	3101      	movi      	r1, 1
    5612:	e3fffa28 	bsr      	0x4a62	// 4a62 <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);
    5616:	3380      	movi      	r3, 128
    5618:	4363      	lsli      	r3, r3, 3
    561a:	b861      	st.w      	r3, (r14, 0x4)
    561c:	9400      	ld.w      	r0, (r4, 0x0)
    561e:	3300      	movi      	r3, 0
    5620:	b8a3      	st.w      	r5, (r14, 0xc)
    5622:	b8a2      	st.w      	r5, (r14, 0x8)
    5624:	b8a0      	st.w      	r5, (r14, 0x0)
    5626:	3200      	movi      	r2, 0
    5628:	3180      	movi      	r1, 128
    562a:	e3fffa28 	bsr      	0x4a7a	// 4a7a <BT_ControlSet_Configure>
	BT_Period_CMP_Write(BT1,4780,1);		
    562e:	3201      	movi      	r2, 1
    5630:	1029      	lrw      	r1, 0x12ac	// 5654 <BT_CONFIG+0x5c>
    5632:	9400      	ld.w      	r0, (r4, 0x0)
    5634:	e3fffa39 	bsr      	0x4aa6	// 4aa6 <BT_Period_CMP_Write>
	BT_Start(BT1);
    5638:	9400      	ld.w      	r0, (r4, 0x0)
    563a:	e3fffa0b 	bsr      	0x4a50	// 4a50 <BT_Start>
	BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP);
    563e:	9400      	ld.w      	r0, (r4, 0x0)
    5640:	3202      	movi      	r2, 2
    5642:	3101      	movi      	r1, 1
    5644:	e3fffa34 	bsr      	0x4aac	// 4aac <BT_ConfigInterrupt_CMD>
	BT1_INT_ENABLE();
    5648:	e3fffa3c 	bsr      	0x4ac0	// 4ac0 <BT1_INT_ENABLE>
	
}
    564c:	1404      	addi      	r14, r14, 16
    564e:	1492      	pop      	r4-r5, r15
    5650:	20000008 	.long	0x20000008
    5654:	000012ac 	.long	0x000012ac

Disassembly of section .text.SYSCON_CONFIG:

00005658 <SYSCON_CONFIG>:
//syscon Functions
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SYSCON_CONFIG(void)
{
    5658:	14d0      	push      	r15
    565a:	1421      	subi      	r14, r14, 4
//------SYSTEM CLK AND PCLK FUNTION---------------------------/
	SYSCON_RST_VALUE();                                                         //SYSCON all register clr
    565c:	e3fff680 	bsr      	0x435c	// 435c <SYSCON_RST_VALUE>
	SYSCON_General_CMD(ENABLE,ENDIS_ISOSC);										//SYSCON enable/disable clock source
    5660:	3101      	movi      	r1, 1
    5662:	3001      	movi      	r0, 1
    5664:	e3fff6a2 	bsr      	0x43a8	// 43a8 <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
    5668:	3000      	movi      	r0, 0
    566a:	e3fff6fb 	bsr      	0x4460	// 4460 <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
    566e:	3180      	movi      	r1, 128
    5670:	3308      	movi      	r3, 8
    5672:	3200      	movi      	r2, 0
    5674:	4121      	lsli      	r1, r1, 1
    5676:	3002      	movi      	r0, 2
    5678:	e3fff6b0 	bsr      	0x43d8	// 43d8 <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
    567c:	30c0      	movi      	r0, 192
    567e:	3118      	movi      	r1, 24
    5680:	4002      	lsli      	r0, r0, 2
    5682:	e3fff72b 	bsr      	0x44d8	// 44d8 <SYSCON_IWDCNT_Config>
    SYSCON_WDT_CMD(ENABLE);                                                  	//enable/disable WDT		
    5686:	3001      	movi      	r0, 1
    5688:	e3fff700 	bsr      	0x4488	// 4488 <SYSCON_WDT_CMD>
    SYSCON_IWDCNT_Reload();                                                   	//reload WDT
    568c:	e3fff71c 	bsr      	0x44c4	// 44c4 <SYSCON_IWDCNT_Reload>
	IWDT_Int_Enable();
    5690:	e3fff74e 	bsr      	0x452c	// 452c <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
    5694:	3340      	movi      	r3, 64
    5696:	b860      	st.w      	r3, (r14, 0x0)
    5698:	31c0      	movi      	r1, 192
    569a:	3380      	movi      	r3, 128
    569c:	4364      	lsli      	r3, r3, 4
    569e:	3200      	movi      	r2, 0
    56a0:	4123      	lsli      	r1, r1, 3
    56a2:	3000      	movi      	r0, 0
    56a4:	e3fff726 	bsr      	0x44f0	// 44f0 <SYSCON_LVD_Config>
    LVD_Int_Enable();	
    56a8:	e3fff734 	bsr      	0x4510	// 4510 <LVD_Int_Enable>
//------------  SYSCON Vector  --------------------------------/ 	
	SYSCON_Int_Enable();    														//SYSCON VECTOR
    56ac:	e3fff79a 	bsr      	0x45e0	// 45e0 <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
    56b0:	3000      	movi      	r0, 0
    56b2:	e00037d3 	bsr      	0xc658	// c658 <std_clk_calib>
	
}
    56b6:	1401      	addi      	r14, r14, 4
    56b8:	1490      	pop      	r15

Disassembly of section .text.APT32F102_init:

000056bc <APT32F102_init>:
//APT32F102_init                                                                  /
//EntryParameter:NONE                                                             /
//ReturnValue:NONE                                                                /
/*********************************************************************************/
void APT32F102_init(void) 
{
    56bc:	14d0      	push      	r15
	Sys_RSR = 0x00000000;
	Sys_RSR = SYSCON->RSR;         //读取复位源          2024-03-15
    56be:	1161      	lrw      	r3, 0x2000005c	// 5740 <APT32F102_init+0x84>
	Sys_RSR = 0x00000000;
    56c0:	1141      	lrw      	r2, 0x200000b4	// 5744 <APT32F102_init+0x88>
    56c2:	3100      	movi      	r1, 0
	Sys_RSR = SYSCON->RSR;         //读取复位源          2024-03-15
    56c4:	9360      	ld.w      	r3, (r3, 0x0)
    56c6:	3080      	movi      	r0, 128
	Sys_RSR = 0x00000000;
    56c8:	b220      	st.w      	r1, (r2, 0x0)
	Sys_RSR = SYSCON->RSR;         //读取复位源          2024-03-15
    56ca:	600c      	addu      	r0, r3
    56cc:	9004      	ld.w      	r0, (r0, 0x10)
    56ce:	b200      	st.w      	r0, (r2, 0x0)
	
	Sav_Temp = 0x00000000;
    56d0:	105e      	lrw      	r2, 0x200000b0	// 5748 <APT32F102_init+0x8c>
    56d2:	b220      	st.w      	r1, (r2, 0x0)
	Sav_Temp = SYSCON->UREG0;      //读取保存的温控数据  2024-03-15
    56d4:	3180      	movi      	r1, 128
    56d6:	4121      	lsli      	r1, r1, 1
    56d8:	604c      	addu      	r1, r3
    56da:	9120      	ld.w      	r1, (r1, 0x0)
    56dc:	b220      	st.w      	r1, (r2, 0x0)
//------------------------------------------------------------/
//Peripheral clock enable and disable
//EntryParameter:NONE
//ReturnValue:NONE
//------------------------------------------------------------/
    SYSCON->PCER0=0xFFFFFFF;                                        //PCLK Enable
    56de:	105c      	lrw      	r2, 0xfffffff	// 574c <APT32F102_init+0x90>
    56e0:	b34a      	st.w      	r2, (r3, 0x28)
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    56e2:	3101      	movi      	r1, 1
    SYSCON->PCER1=0xFFFFFFF;                                        //PCLK Enable
    56e4:	b34d      	st.w      	r2, (r3, 0x34)
    while(!(SYSCON->PCSR0&0x1));                                    //Wait PCLK enabled	
    56e6:	934c      	ld.w      	r2, (r3, 0x30)
    56e8:	6884      	and      	r2, r1
    56ea:	3a40      	cmpnei      	r2, 0
    56ec:	0ffd      	bf      	0x56e6	// 56e6 <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
    56ee:	e3ffffb5 	bsr      	0x5658	// 5658 <SYSCON_CONFIG>
	CK_CPU_EnAllNormalIrq();                                         //enable all IRQ
    56f2:	e0000559 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	SYSCON_INT_Priority();										 //initial all Priority=0xC0
    56f6:	e3fff78b 	bsr      	0x460c	// 460c <SYSCON_INT_Priority>
	
	//设置中断优先级 	0最高，3最低
	Set_INT_Priority(UART2_IRQ,1);				//串口优先级最高
    56fa:	3101      	movi      	r1, 1
    56fc:	300f      	movi      	r0, 15
    56fe:	e3fff799 	bsr      	0x4630	// 4630 <Set_INT_Priority>

	Set_INT_Priority(TKEY_IRQ,2);				//触摸中断优先级
    5702:	3102      	movi      	r1, 2
    5704:	3019      	movi      	r0, 25
    5706:	e3fff795 	bsr      	0x4630	// 4630 <Set_INT_Priority>

	Set_INT_Priority(EXI3_IRQ, 1);				//总线繁忙判断外部IO中断
    570a:	3101      	movi      	r1, 1
    570c:	3016      	movi      	r0, 22
    570e:	e3fff791 	bsr      	0x4630	// 4630 <Set_INT_Priority>
	
	Set_INT_Priority(EXI4_IRQ, 1);				//过零信号外部IO中断
    5712:	3101      	movi      	r1, 1
    5714:	3017      	movi      	r0, 23
    5716:	e3fff78d 	bsr      	0x4630	// 4630 <Set_INT_Priority>
	
//------------------------------------------------------------/
//Other IP config
//------------------------------------------------------------/	
	Relay_Init();
    571a:	e000252d 	bsr      	0xa174	// a174 <Relay_Init>

	BT_CONFIG();		//BT initial
    571e:	e3ffff6d 	bsr      	0x55f8	// 55f8 <BT_CONFIG>
	
	GPIO_CONFIG();
    5722:	e3ffff25 	bsr      	0x556c	// 556c <GPIO_CONFIG>
	
	UARTx_Init(UART_2,Tem_Rs485_Rec_Pro);		//通讯串口
    5726:	102b      	lrw      	r1, 0xa8a8	// 5750 <APT32F102_init+0x94>
    5728:	3002      	movi      	r0, 2
    572a:	e0000543 	bsr      	0x61b0	// 61b0 <UARTx_Init>
	
	HT1621_Init();        //显示驱动初始化
    572e:	e000169d 	bsr      	0x8468	// 8468 <HT1621_Init>

	TM1812_LED_Init();
    5732:	e0001633 	bsr      	0x8398	// 8398 <TM1812_LED_Init>
	
	ADC_Init();
    5736:	e0000f39 	bsr      	0x75a8	// 75a8 <ADC_Init>
	
	Touch_Key_Init();
    573a:	e00007a9 	bsr      	0x668c	// 668c <Touch_Key_Init>
}
    573e:	1490      	pop      	r15
    5740:	2000005c 	.long	0x2000005c
    5744:	200000b4 	.long	0x200000b4
    5748:	200000b0 	.long	0x200000b0
    574c:	0fffffff 	.long	0x0fffffff
    5750:	0000a8a8 	.long	0x0000a8a8

Disassembly of section .text.SYSCONIntHandler:

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

Disassembly of section .text.IFCIntHandler:

00005844 <IFCIntHandler>:
//IFC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void IFCIntHandler(void) 
{
    5844:	1460      	nie
    5846:	1462      	ipush
    // ISR content ...
	if(IFC->MISR&ERS_END_INT)			
    5848:	1078      	lrw      	r3, 0x20000060	// 58a8 <IFCIntHandler+0x64>
    584a:	3101      	movi      	r1, 1
    584c:	9360      	ld.w      	r3, (r3, 0x0)
    584e:	934b      	ld.w      	r2, (r3, 0x2c)
    5850:	6884      	and      	r2, r1
    5852:	3a40      	cmpnei      	r2, 0
    5854:	0c04      	bf      	0x585c	// 585c <IFCIntHandler+0x18>
	{
		IFC->ICR=RGM_END_INT;
	}
	else if(IFC->MISR&PEP_END_INT)		
	{
		IFC->ICR=PEP_END_INT;
    5856:	b32c      	st.w      	r1, (r3, 0x30)
	}
	else if(IFC->MISR&OVW_ERR_INT)		
	{
		IFC->ICR=OVW_ERR_INT;
	}
}
    5858:	1463      	ipop
    585a:	1461      	nir
	else if(IFC->MISR&RGM_END_INT)		
    585c:	934b      	ld.w      	r2, (r3, 0x2c)
    585e:	3102      	movi      	r1, 2
    5860:	6884      	and      	r2, r1
    5862:	3a40      	cmpnei      	r2, 0
    5864:	0bf9      	bt      	0x5856	// 5856 <IFCIntHandler+0x12>
	else if(IFC->MISR&PEP_END_INT)		
    5866:	934b      	ld.w      	r2, (r3, 0x2c)
    5868:	3104      	movi      	r1, 4
    586a:	6884      	and      	r2, r1
    586c:	3a40      	cmpnei      	r2, 0
    586e:	0bf4      	bt      	0x5856	// 5856 <IFCIntHandler+0x12>
	else if(IFC->MISR&PROT_ERR_INT)		
    5870:	3280      	movi      	r2, 128
    5872:	932b      	ld.w      	r1, (r3, 0x2c)
    5874:	4245      	lsli      	r2, r2, 5
    5876:	6848      	and      	r1, r2
    5878:	3940      	cmpnei      	r1, 0
    587a:	0c03      	bf      	0x5880	// 5880 <IFCIntHandler+0x3c>
		IFC->ICR=OVW_ERR_INT;
    587c:	b34c      	st.w      	r2, (r3, 0x30)
}
    587e:	07ed      	br      	0x5858	// 5858 <IFCIntHandler+0x14>
	else if(IFC->MISR&UDEF_ERR_INT)		
    5880:	3280      	movi      	r2, 128
    5882:	932b      	ld.w      	r1, (r3, 0x2c)
    5884:	4246      	lsli      	r2, r2, 6
    5886:	6848      	and      	r1, r2
    5888:	3940      	cmpnei      	r1, 0
    588a:	0bf9      	bt      	0x587c	// 587c <IFCIntHandler+0x38>
	else if(IFC->MISR&ADDR_ERR_INT)		
    588c:	3280      	movi      	r2, 128
    588e:	932b      	ld.w      	r1, (r3, 0x2c)
    5890:	4247      	lsli      	r2, r2, 7
    5892:	6848      	and      	r1, r2
    5894:	3940      	cmpnei      	r1, 0
    5896:	0bf3      	bt      	0x587c	// 587c <IFCIntHandler+0x38>
	else if(IFC->MISR&OVW_ERR_INT)		
    5898:	3280      	movi      	r2, 128
    589a:	932b      	ld.w      	r1, (r3, 0x2c)
    589c:	4248      	lsli      	r2, r2, 8
    589e:	6848      	and      	r1, r2
    58a0:	3940      	cmpnei      	r1, 0
    58a2:	0bed      	bt      	0x587c	// 587c <IFCIntHandler+0x38>
    58a4:	07da      	br      	0x5858	// 5858 <IFCIntHandler+0x14>
    58a6:	0000      	bkpt
    58a8:	20000060 	.long	0x20000060

Disassembly of section .text.ADCIntHandler:

000058ac <ADCIntHandler>:
//ADC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void ADCIntHandler(void) 
{
    58ac:	1460      	nie
    58ae:	1462      	ipush
    // ISR content ...
	if((ADC0->SR&ADC12_EOC)==ADC12_EOC)				//ADC EOC interrupt
    58b0:	1078      	lrw      	r3, 0x20000050	// 5910 <ADCIntHandler+0x64>
    58b2:	3101      	movi      	r1, 1
    58b4:	9360      	ld.w      	r3, (r3, 0x0)
    58b6:	9348      	ld.w      	r2, (r3, 0x20)
    58b8:	6884      	and      	r2, r1
    58ba:	3a40      	cmpnei      	r2, 0
    58bc:	0c04      	bf      	0x58c4	// 58c4 <ADCIntHandler+0x18>
	{
		ADC0->CSR = ADC12_CMP1H;
	}
	else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L)	//ADC CMP1L interrupt.
	{
		ADC0->CSR = ADC12_CMP1L;
    58be:	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;
	}
}
    58c0:	1463      	ipop
    58c2:	1461      	nir
	else if((ADC0->SR&ADC12_READY)==ADC12_READY)	//ADC READY interrupt
    58c4:	9348      	ld.w      	r2, (r3, 0x20)
    58c6:	3102      	movi      	r1, 2
    58c8:	6884      	and      	r2, r1
    58ca:	3a40      	cmpnei      	r2, 0
    58cc:	0bf9      	bt      	0x58be	// 58be <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_OVR)==ADC12_OVR)		//ADC OVR interrupt
    58ce:	9348      	ld.w      	r2, (r3, 0x20)
    58d0:	3104      	movi      	r1, 4
    58d2:	6884      	and      	r2, r1
    58d4:	3a40      	cmpnei      	r2, 0
    58d6:	0bf4      	bt      	0x58be	// 58be <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H)	//ADC CMP0H interrupt
    58d8:	9348      	ld.w      	r2, (r3, 0x20)
    58da:	3110      	movi      	r1, 16
    58dc:	6884      	and      	r2, r1
    58de:	3a40      	cmpnei      	r2, 0
    58e0:	0bef      	bt      	0x58be	// 58be <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L)	//ADC CMP0L interrupt.
    58e2:	9348      	ld.w      	r2, (r3, 0x20)
    58e4:	3120      	movi      	r1, 32
    58e6:	6884      	and      	r2, r1
    58e8:	3a40      	cmpnei      	r2, 0
    58ea:	0bea      	bt      	0x58be	// 58be <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H)	//ADC CMP1H interrupt.
    58ec:	9348      	ld.w      	r2, (r3, 0x20)
    58ee:	3140      	movi      	r1, 64
    58f0:	6884      	and      	r2, r1
    58f2:	3a40      	cmpnei      	r2, 0
    58f4:	0be5      	bt      	0x58be	// 58be <ADCIntHandler+0x12>
	else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L)	//ADC CMP1L interrupt.
    58f6:	9348      	ld.w      	r2, (r3, 0x20)
    58f8:	3180      	movi      	r1, 128
    58fa:	6884      	and      	r2, r1
    58fc:	3a40      	cmpnei      	r2, 0
    58fe:	0be0      	bt      	0x58be	// 58be <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
    5900:	3280      	movi      	r2, 128
    5902:	9328      	ld.w      	r1, (r3, 0x20)
    5904:	4249      	lsli      	r2, r2, 9
    5906:	6848      	and      	r1, r2
    5908:	3940      	cmpnei      	r1, 0
    590a:	0fdb      	bf      	0x58c0	// 58c0 <ADCIntHandler+0x14>
		ADC0->CSR = ADC12_SEQ_END0;
    590c:	b347      	st.w      	r2, (r3, 0x1c)
}
    590e:	07d9      	br      	0x58c0	// 58c0 <ADCIntHandler+0x14>
    5910:	20000050 	.long	0x20000050

Disassembly of section .text.EPT0IntHandler:

00005914 <EPT0IntHandler>:
//EPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EPT0IntHandler(void) 
{
    5914:	1460      	nie
    5916:	1462      	ipush
    5918:	14d1      	push      	r4, r15
    // ISR content ...
	if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT)			//TRGEV0 interrupt
    591a:	1387      	lrw      	r4, 0x20000020	// 5ab4 <EPT0IntHandler+0x1a0>
    591c:	3280      	movi      	r2, 128
    591e:	9460      	ld.w      	r3, (r4, 0x0)
    5920:	60c8      	addu      	r3, r2
    5922:	9335      	ld.w      	r1, (r3, 0x54)
    5924:	3001      	movi      	r0, 1
    5926:	6840      	and      	r1, r0
    5928:	3940      	cmpnei      	r1, 0
    592a:	0c03      	bf      	0x5930	// 5930 <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;
    592c:	b317      	st.w      	r0, (r3, 0x5c)
    592e:	0424      	br      	0x5976	// 5976 <EPT0IntHandler+0x62>
	else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT)	//TRGEV1 interrupt
    5930:	9335      	ld.w      	r1, (r3, 0x54)
    5932:	3002      	movi      	r0, 2
    5934:	6840      	and      	r1, r0
    5936:	3940      	cmpnei      	r1, 0
    5938:	0bfa      	bt      	0x592c	// 592c <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT)	//TRGEV2 interrupt
    593a:	9335      	ld.w      	r1, (r3, 0x54)
    593c:	3004      	movi      	r0, 4
    593e:	6840      	and      	r1, r0
    5940:	3940      	cmpnei      	r1, 0
    5942:	0bf5      	bt      	0x592c	// 592c <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT)	//TRGEV3 interrupt
    5944:	9335      	ld.w      	r1, (r3, 0x54)
    5946:	3008      	movi      	r0, 8
    5948:	6840      	and      	r1, r0
    594a:	3940      	cmpnei      	r1, 0
    594c:	0bf0      	bt      	0x592c	// 592c <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0)			//Capture Load to CMPA interrupt
    594e:	9335      	ld.w      	r1, (r3, 0x54)
    5950:	3010      	movi      	r0, 16
    5952:	6840      	and      	r1, r0
    5954:	3940      	cmpnei      	r1, 0
    5956:	0c1f      	bf      	0x5994	// 5994 <EPT0IntHandler+0x80>
		EPT0->ICR=EPT_CAP_LD0;
    5958:	b317      	st.w      	r0, (r3, 0x5c)
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT);
    595a:	3200      	movi      	r2, 0
    595c:	3101      	movi      	r1, 1
    595e:	3000      	movi      	r0, 0
    5960:	e3fff5f4 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT);
    5964:	3201      	movi      	r2, 1
    5966:	3101      	movi      	r1, 1
    5968:	3001      	movi      	r0, 1
    596a:	e3fff5ef 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
		R_CMPA_BUF=EPT0->CMPA;			//Low voltage counter
    596e:	9460      	ld.w      	r3, (r4, 0x0)
    5970:	934b      	ld.w      	r2, (r3, 0x2c)
    5972:	1272      	lrw      	r3, 0x200002c4	// 5ab8 <EPT0IntHandler+0x1a4>
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
    5974:	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
    5976:	9460      	ld.w      	r3, (r4, 0x0)
    5978:	3280      	movi      	r2, 128
    597a:	60c8      	addu      	r3, r2
    597c:	932b      	ld.w      	r1, (r3, 0x2c)
    597e:	3001      	movi      	r0, 1
    5980:	6840      	and      	r1, r0
    5982:	3940      	cmpnei      	r1, 0
    5984:	0c61      	bf      	0x5a46	// 5a46 <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;
    5986:	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;
	}
}
    5988:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    598c:	9880      	ld.w      	r4, (r14, 0x0)
    598e:	1402      	addi      	r14, r14, 8
    5990:	1463      	ipop
    5992:	1461      	nir
	else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1)			//Capture Load to CMPB interrupt
    5994:	9335      	ld.w      	r1, (r3, 0x54)
    5996:	3020      	movi      	r0, 32
    5998:	6840      	and      	r1, r0
    599a:	3940      	cmpnei      	r1, 0
    599c:	0c10      	bf      	0x59bc	// 59bc <EPT0IntHandler+0xa8>
		EPT0->ICR=EPT_CAP_LD1;
    599e:	b317      	st.w      	r0, (r3, 0x5c)
		EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT);
    59a0:	3200      	movi      	r2, 0
    59a2:	3101      	movi      	r1, 1
    59a4:	3001      	movi      	r0, 1
    59a6:	e3fff5d1 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
		EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
    59aa:	3201      	movi      	r2, 1
    59ac:	3101      	movi      	r1, 1
    59ae:	3000      	movi      	r0, 0
    59b0:	e3fff5cc 	bsr      	0x4548	// 4548 <EXTI_trigger_CMD>
		R_CMPB_BUF=EPT0->CMPB;			//Duty counter
    59b4:	9460      	ld.w      	r3, (r4, 0x0)
    59b6:	934c      	ld.w      	r2, (r3, 0x30)
    59b8:	1261      	lrw      	r3, 0x200002c0	// 5abc <EPT0IntHandler+0x1a8>
    59ba:	07dd      	br      	0x5974	// 5974 <EPT0IntHandler+0x60>
	else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2)			//Capture Load to CMPC interrupt
    59bc:	9335      	ld.w      	r1, (r3, 0x54)
    59be:	3040      	movi      	r0, 64
    59c0:	6840      	and      	r1, r0
    59c2:	3940      	cmpnei      	r1, 0
    59c4:	0bb4      	bt      	0x592c	// 592c <EPT0IntHandler+0x18>
	else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3)			//Capture Load to CMPD interrupt
    59c6:	9335      	ld.w      	r1, (r3, 0x54)
    59c8:	6848      	and      	r1, r2
    59ca:	3940      	cmpnei      	r1, 0
    59cc:	0c03      	bf      	0x59d2	// 59d2 <EPT0IntHandler+0xbe>
		EPT0->ICR=EPT_CDD;
    59ce:	b357      	st.w      	r2, (r3, 0x5c)
    59d0:	07d3      	br      	0x5976	// 5976 <EPT0IntHandler+0x62>
	else if((EPT0->MISR&EPT_CAU)==EPT_CAU)					//Up-Counting phase CNT = CMPA interrupt
    59d2:	3280      	movi      	r2, 128
    59d4:	9335      	ld.w      	r1, (r3, 0x54)
    59d6:	4241      	lsli      	r2, r2, 1
    59d8:	6848      	and      	r1, r2
    59da:	3940      	cmpnei      	r1, 0
    59dc:	0bf9      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CAD)==EPT_CAD)					//Down-Counting phase CNT = CMPA interrupt
    59de:	3280      	movi      	r2, 128
    59e0:	9335      	ld.w      	r1, (r3, 0x54)
    59e2:	4242      	lsli      	r2, r2, 2
    59e4:	6848      	and      	r1, r2
    59e6:	3940      	cmpnei      	r1, 0
    59e8:	0bf3      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CBU)==EPT_CBU)					//Up-Counting phase CNT = CMPB interrupt 
    59ea:	3280      	movi      	r2, 128
    59ec:	9335      	ld.w      	r1, (r3, 0x54)
    59ee:	4243      	lsli      	r2, r2, 3
    59f0:	6848      	and      	r1, r2
    59f2:	3940      	cmpnei      	r1, 0
    59f4:	0bed      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CBD)==EPT_CBD)					//Down-Counting phase CNT = CMPB interrupt
    59f6:	3280      	movi      	r2, 128
    59f8:	9335      	ld.w      	r1, (r3, 0x54)
    59fa:	4244      	lsli      	r2, r2, 4
    59fc:	6848      	and      	r1, r2
    59fe:	3940      	cmpnei      	r1, 0
    5a00:	0be7      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CCU)==EPT_CCU)					//Up-Counting phase CNT = CMPC interrupt 
    5a02:	3280      	movi      	r2, 128
    5a04:	9335      	ld.w      	r1, (r3, 0x54)
    5a06:	4245      	lsli      	r2, r2, 5
    5a08:	6848      	and      	r1, r2
    5a0a:	3940      	cmpnei      	r1, 0
    5a0c:	0be1      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CCD)==EPT_CCD)					//Down-Counting phase CNT = CMPC interrupt
    5a0e:	3280      	movi      	r2, 128
    5a10:	9335      	ld.w      	r1, (r3, 0x54)
    5a12:	4246      	lsli      	r2, r2, 6
    5a14:	6848      	and      	r1, r2
    5a16:	3940      	cmpnei      	r1, 0
    5a18:	0bdb      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CDU)==EPT_CDU)					//Up-Counting phase CNT = CMPD interrupt
    5a1a:	3280      	movi      	r2, 128
    5a1c:	9335      	ld.w      	r1, (r3, 0x54)
    5a1e:	4247      	lsli      	r2, r2, 7
    5a20:	6848      	and      	r1, r2
    5a22:	3940      	cmpnei      	r1, 0
    5a24:	0bd5      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_CDD)==EPT_CDD)					//Down-Counting phase CNT = CMPD interrupt
    5a26:	3280      	movi      	r2, 128
    5a28:	9335      	ld.w      	r1, (r3, 0x54)
    5a2a:	4248      	lsli      	r2, r2, 8
    5a2c:	6848      	and      	r1, r2
    5a2e:	3940      	cmpnei      	r1, 0
    5a30:	0bcf      	bt      	0x59ce	// 59ce <EPT0IntHandler+0xba>
	else if((EPT0->MISR&EPT_PEND)==EPT_PEND)				//End of cycle interrupt
    5a32:	3280      	movi      	r2, 128
    5a34:	9335      	ld.w      	r1, (r3, 0x54)
    5a36:	4249      	lsli      	r2, r2, 9
    5a38:	6848      	and      	r1, r2
    5a3a:	3940      	cmpnei      	r1, 0
    5a3c:	0f9d      	bf      	0x5976	// 5976 <EPT0IntHandler+0x62>
		EPT0->ICR=EPT_PEND;
    5a3e:	b357      	st.w      	r2, (r3, 0x5c)
		EPT_Stop();
    5a40:	e3fff98e 	bsr      	0x4d5c	// 4d5c <EPT_Stop>
    5a44:	0799      	br      	0x5976	// 5976 <EPT0IntHandler+0x62>
	else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT)	//interrupt flag of EP1 event
    5a46:	932b      	ld.w      	r1, (r3, 0x2c)
    5a48:	3002      	movi      	r0, 2
    5a4a:	6840      	and      	r1, r0
    5a4c:	3940      	cmpnei      	r1, 0
    5a4e:	0b9c      	bt      	0x5986	// 5986 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT)	//interrupt flag of EP2 event
    5a50:	932b      	ld.w      	r1, (r3, 0x2c)
    5a52:	3004      	movi      	r0, 4
    5a54:	6840      	and      	r1, r0
    5a56:	3940      	cmpnei      	r1, 0
    5a58:	0b97      	bt      	0x5986	// 5986 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT)	//interrupt flag of EP3 event
    5a5a:	932b      	ld.w      	r1, (r3, 0x2c)
    5a5c:	3008      	movi      	r0, 8
    5a5e:	6840      	and      	r1, r0
    5a60:	3940      	cmpnei      	r1, 0
    5a62:	0b92      	bt      	0x5986	// 5986 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT)	//interrupt flag of EP4 event
    5a64:	932b      	ld.w      	r1, (r3, 0x2c)
    5a66:	3010      	movi      	r0, 16
    5a68:	6840      	and      	r1, r0
    5a6a:	3940      	cmpnei      	r1, 0
    5a6c:	0b8d      	bt      	0x5986	// 5986 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT)	//interrupt flag of EP5 event
    5a6e:	932b      	ld.w      	r1, (r3, 0x2c)
    5a70:	3020      	movi      	r0, 32
    5a72:	6840      	and      	r1, r0
    5a74:	3940      	cmpnei      	r1, 0
    5a76:	0b88      	bt      	0x5986	// 5986 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT)	//interrupt flag of EP6 event
    5a78:	932b      	ld.w      	r1, (r3, 0x2c)
    5a7a:	3040      	movi      	r0, 64
    5a7c:	6840      	and      	r1, r0
    5a7e:	3940      	cmpnei      	r1, 0
    5a80:	0b83      	bt      	0x5986	// 5986 <EPT0IntHandler+0x72>
	else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT)	//interrupt flag of EP7 event
    5a82:	932b      	ld.w      	r1, (r3, 0x2c)
    5a84:	6848      	and      	r1, r2
    5a86:	3940      	cmpnei      	r1, 0
    5a88:	0c03      	bf      	0x5a8e	// 5a8e <EPT0IntHandler+0x17a>
		EPT0->EMICR=EPT_EOM_FAULT_EMINT;
    5a8a:	b34d      	st.w      	r2, (r3, 0x34)
}
    5a8c:	077e      	br      	0x5988	// 5988 <EPT0IntHandler+0x74>
	else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT)	//interrupt flag of CPU_FAULT event
    5a8e:	3280      	movi      	r2, 128
    5a90:	932b      	ld.w      	r1, (r3, 0x2c)
    5a92:	4241      	lsli      	r2, r2, 1
    5a94:	6848      	and      	r1, r2
    5a96:	3940      	cmpnei      	r1, 0
    5a98:	0bf9      	bt      	0x5a8a	// 5a8a <EPT0IntHandler+0x176>
	else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT)	//interrupt flag of MEM_FAULT event
    5a9a:	3280      	movi      	r2, 128
    5a9c:	932b      	ld.w      	r1, (r3, 0x2c)
    5a9e:	4242      	lsli      	r2, r2, 2
    5aa0:	6848      	and      	r1, r2
    5aa2:	3940      	cmpnei      	r1, 0
    5aa4:	0bf3      	bt      	0x5a8a	// 5a8a <EPT0IntHandler+0x176>
	else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT)	//interrupt flag of EOM_FAULT event
    5aa6:	3280      	movi      	r2, 128
    5aa8:	932b      	ld.w      	r1, (r3, 0x2c)
    5aaa:	4243      	lsli      	r2, r2, 3
    5aac:	6848      	and      	r1, r2
    5aae:	3940      	cmpnei      	r1, 0
    5ab0:	0bed      	bt      	0x5a8a	// 5a8a <EPT0IntHandler+0x176>
    5ab2:	076b      	br      	0x5988	// 5988 <EPT0IntHandler+0x74>
    5ab4:	20000020 	.long	0x20000020
    5ab8:	200002c4 	.long	0x200002c4
    5abc:	200002c0 	.long	0x200002c0

Disassembly of section .text.WWDTHandler:

00005ac0 <WWDTHandler>:
//WWDT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void WWDTHandler(void)
{
    5ac0:	1460      	nie
    5ac2:	1462      	ipush
    5ac4:	14d2      	push      	r4-r5, r15
	WWDT->ICR=0X01;
    5ac6:	10ab      	lrw      	r5, 0x20000010	// 5af0 <WWDTHandler+0x30>
    5ac8:	3401      	movi      	r4, 1
    5aca:	9560      	ld.w      	r3, (r5, 0x0)
    5acc:	b385      	st.w      	r4, (r3, 0x14)
	WWDT_CNT_Load(0xFF);
    5ace:	30ff      	movi      	r0, 255
    5ad0:	e3fff7aa 	bsr      	0x4a24	// 4a24 <WWDT_CNT_Load>
	if((WWDT->MISR&WWDT_EVI)==WWDT_EVI)					//WWDT EVI interrupt
    5ad4:	9540      	ld.w      	r2, (r5, 0x0)
    5ad6:	9263      	ld.w      	r3, (r2, 0xc)
    5ad8:	68d0      	and      	r3, r4
    5ada:	3b40      	cmpnei      	r3, 0
    5adc:	0c02      	bf      	0x5ae0	// 5ae0 <WWDTHandler+0x20>
	{
		WWDT->ICR = WWDT_EVI;
    5ade:	b285      	st.w      	r4, (r2, 0x14)
	} 
}
    5ae0:	d9ee2002 	ld.w      	r15, (r14, 0x8)
    5ae4:	98a1      	ld.w      	r5, (r14, 0x4)
    5ae6:	9880      	ld.w      	r4, (r14, 0x0)
    5ae8:	1403      	addi      	r14, r14, 12
    5aea:	1463      	ipop
    5aec:	1461      	nir
    5aee:	0000      	bkpt
    5af0:	20000010 	.long	0x20000010

Disassembly of section .text.GPT0IntHandler:

00005af4 <GPT0IntHandler>:
//GPT0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void GPT0IntHandler(void) 
{
    5af4:	1460      	nie
    5af6:	1462      	ipush
    // ISR content ...
	if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0)			//TRGEV0 interrupt
    5af8:	107e      	lrw      	r3, 0x20000024	// 5b70 <GPT0IntHandler+0x7c>
    5afa:	3101      	movi      	r1, 1
    5afc:	9360      	ld.w      	r3, (r3, 0x0)
    5afe:	237f      	addi      	r3, 128
    5b00:	9355      	ld.w      	r2, (r3, 0x54)
    5b02:	6884      	and      	r2, r1
    5b04:	3a40      	cmpnei      	r2, 0
    5b06:	0c04      	bf      	0x5b0e	// 5b0e <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;
    5b08:	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;
	}
}
    5b0a:	1463      	ipop
    5b0c:	1461      	nir
	else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1)	//TRGEV1 interrupt
    5b0e:	9355      	ld.w      	r2, (r3, 0x54)
    5b10:	3102      	movi      	r1, 2
    5b12:	6884      	and      	r2, r1
    5b14:	3a40      	cmpnei      	r2, 0
    5b16:	0bf9      	bt      	0x5b08	// 5b08 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0)		//Capture Load to CMPA interrupt
    5b18:	9355      	ld.w      	r2, (r3, 0x54)
    5b1a:	3110      	movi      	r1, 16
    5b1c:	6884      	and      	r2, r1
    5b1e:	3a40      	cmpnei      	r2, 0
    5b20:	0bf4      	bt      	0x5b08	// 5b08 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1)		//Capture Load to CMPB interrupt
    5b22:	9355      	ld.w      	r2, (r3, 0x54)
    5b24:	3120      	movi      	r1, 32
    5b26:	6884      	and      	r2, r1
    5b28:	3a40      	cmpnei      	r2, 0
    5b2a:	0bef      	bt      	0x5b08	// 5b08 <GPT0IntHandler+0x14>
	else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU)			//Up-Counting phase CNT = CMPA Interrupt
    5b2c:	3280      	movi      	r2, 128
    5b2e:	9335      	ld.w      	r1, (r3, 0x54)
    5b30:	4241      	lsli      	r2, r2, 1
    5b32:	6848      	and      	r1, r2
    5b34:	3940      	cmpnei      	r1, 0
    5b36:	0c03      	bf      	0x5b3c	// 5b3c <GPT0IntHandler+0x48>
		GPT0->ICR = GPT_INT_PEND;
    5b38:	b357      	st.w      	r2, (r3, 0x5c)
}
    5b3a:	07e8      	br      	0x5b0a	// 5b0a <GPT0IntHandler+0x16>
	else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD)			//Down-Counting phase CNT = CMPA Interrupt
    5b3c:	3280      	movi      	r2, 128
    5b3e:	9335      	ld.w      	r1, (r3, 0x54)
    5b40:	4242      	lsli      	r2, r2, 2
    5b42:	6848      	and      	r1, r2
    5b44:	3940      	cmpnei      	r1, 0
    5b46:	0bf9      	bt      	0x5b38	// 5b38 <GPT0IntHandler+0x44>
	else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU)			//Up-Counting phase CNT = CMPB Interrupt
    5b48:	3280      	movi      	r2, 128
    5b4a:	9335      	ld.w      	r1, (r3, 0x54)
    5b4c:	4243      	lsli      	r2, r2, 3
    5b4e:	6848      	and      	r1, r2
    5b50:	3940      	cmpnei      	r1, 0
    5b52:	0bf3      	bt      	0x5b38	// 5b38 <GPT0IntHandler+0x44>
	else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD)			//Down-Counting phase CNT = CMPB Interrupt
    5b54:	3280      	movi      	r2, 128
    5b56:	9335      	ld.w      	r1, (r3, 0x54)
    5b58:	4244      	lsli      	r2, r2, 4
    5b5a:	6848      	and      	r1, r2
    5b5c:	3940      	cmpnei      	r1, 0
    5b5e:	0bed      	bt      	0x5b38	// 5b38 <GPT0IntHandler+0x44>
	else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND)		//End of cycle interrupt 
    5b60:	3280      	movi      	r2, 128
    5b62:	9335      	ld.w      	r1, (r3, 0x54)
    5b64:	4249      	lsli      	r2, r2, 9
    5b66:	6848      	and      	r1, r2
    5b68:	3940      	cmpnei      	r1, 0
    5b6a:	0be7      	bt      	0x5b38	// 5b38 <GPT0IntHandler+0x44>
    5b6c:	07cf      	br      	0x5b0a	// 5b0a <GPT0IntHandler+0x16>
    5b6e:	0000      	bkpt
    5b70:	20000024 	.long	0x20000024

Disassembly of section .text.RTCIntHandler:

00005b74 <RTCIntHandler>:
//RTC Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void RTCIntHandler(void) 
{
    5b74:	1460      	nie
    5b76:	1462      	ipush
    // ISR content ...
	if((RTC->MISR&ALRA_INT)==ALRA_INT)			//Interrupt of alarm A
    5b78:	1079      	lrw      	r3, 0x20000018	// 5bdc <RTCIntHandler+0x68>
    5b7a:	3101      	movi      	r1, 1
    5b7c:	9360      	ld.w      	r3, (r3, 0x0)
    5b7e:	934a      	ld.w      	r2, (r3, 0x28)
    5b80:	6884      	and      	r2, r1
    5b82:	3a40      	cmpnei      	r2, 0
    5b84:	0c14      	bf      	0x5bac	// 5bac <RTCIntHandler+0x38>
	{
		RTC->ICR=ALRA_INT;
		RTC->KEY=0XCA53;
    5b86:	1057      	lrw      	r2, 0xca53	// 5be0 <RTCIntHandler+0x6c>
		RTC->ICR=ALRA_INT;
    5b88:	b32b      	st.w      	r1, (r3, 0x2c)
		RTC->KEY=0XCA53;
    5b8a:	b34c      	st.w      	r2, (r3, 0x30)
		RTC->CR=RTC->CR|0x01;
    5b8c:	9342      	ld.w      	r2, (r3, 0x8)
    5b8e:	6c84      	or      	r2, r1
    5b90:	b342      	st.w      	r2, (r3, 0x8)
		RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00);			//Hour bit6->0:am 1:pm	
    5b92:	3280      	movi      	r2, 128
    5b94:	424d      	lsli      	r2, r2, 13
    5b96:	b340      	st.w      	r2, (r3, 0x0)
		while(RTC->CR&0x02);							//busy TIMR DATR ALRAR ALRBR Update done
    5b98:	3102      	movi      	r1, 2
    5b9a:	9342      	ld.w      	r2, (r3, 0x8)
    5b9c:	6884      	and      	r2, r1
    5b9e:	3a40      	cmpnei      	r2, 0
    5ba0:	0bfd      	bt      	0x5b9a	// 5b9a <RTCIntHandler+0x26>
		RTC->CR &= ~0x1;
    5ba2:	9342      	ld.w      	r2, (r3, 0x8)
    5ba4:	3a80      	bclri      	r2, 0
    5ba6:	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;
	}
}
    5ba8:	1463      	ipop
    5baa:	1461      	nir
	else if((RTC->MISR&ALRB_INT)==ALRB_INT)			//Interrupt of alarm B				
    5bac:	934a      	ld.w      	r2, (r3, 0x28)
    5bae:	3102      	movi      	r1, 2
    5bb0:	6884      	and      	r2, r1
    5bb2:	3a40      	cmpnei      	r2, 0
    5bb4:	0c03      	bf      	0x5bba	// 5bba <RTCIntHandler+0x46>
		RTC->ICR=RTC_TRGEV1_INT;
    5bb6:	b32b      	st.w      	r1, (r3, 0x2c)
}
    5bb8:	07f8      	br      	0x5ba8	// 5ba8 <RTCIntHandler+0x34>
	else if((RTC->MISR&CPRD_INT)==CPRD_INT)			//Interrupt of alarm CPRD
    5bba:	934a      	ld.w      	r2, (r3, 0x28)
    5bbc:	3104      	movi      	r1, 4
    5bbe:	6884      	and      	r2, r1
    5bc0:	3a40      	cmpnei      	r2, 0
    5bc2:	0bfa      	bt      	0x5bb6	// 5bb6 <RTCIntHandler+0x42>
	else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT)		//Interrupt of trigger event 0
    5bc4:	934a      	ld.w      	r2, (r3, 0x28)
    5bc6:	3108      	movi      	r1, 8
    5bc8:	6884      	and      	r2, r1
    5bca:	3a40      	cmpnei      	r2, 0
    5bcc:	0bf5      	bt      	0x5bb6	// 5bb6 <RTCIntHandler+0x42>
	else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT)		//Interrupt of trigger event 1
    5bce:	934a      	ld.w      	r2, (r3, 0x28)
    5bd0:	3110      	movi      	r1, 16
    5bd2:	6884      	and      	r2, r1
    5bd4:	3a40      	cmpnei      	r2, 0
    5bd6:	0bf0      	bt      	0x5bb6	// 5bb6 <RTCIntHandler+0x42>
    5bd8:	07e8      	br      	0x5ba8	// 5ba8 <RTCIntHandler+0x34>
    5bda:	0000      	bkpt
    5bdc:	20000018 	.long	0x20000018
    5be0:	0000ca53 	.long	0x0000ca53

Disassembly of section .text.UART0IntHandler:

00005be4 <UART0IntHandler>:
//UART0 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART0IntHandler(void) 
{
    5be4:	1460      	nie
    5be6:	1462      	ipush
	char inchar = 0;
	
    // ISR content ...
	if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    5be8:	106d      	lrw      	r3, 0x20000040	// 5c1c <UART0IntHandler+0x38>
    5bea:	3102      	movi      	r1, 2
    5bec:	9360      	ld.w      	r3, (r3, 0x0)
    5bee:	9343      	ld.w      	r2, (r3, 0xc)
    5bf0:	6884      	and      	r2, r1
    5bf2:	3a40      	cmpnei      	r2, 0
    5bf4:	0c03      	bf      	0x5bfa	// 5bfa <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;
    5bf6:	b323      	st.w      	r1, (r3, 0xc)
	}
}
    5bf8:	0410      	br      	0x5c18	// 5c18 <UART0IntHandler+0x34>
	else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    5bfa:	9343      	ld.w      	r2, (r3, 0xc)
    5bfc:	3101      	movi      	r1, 1
    5bfe:	6884      	and      	r2, r1
    5c00:	3a40      	cmpnei      	r2, 0
    5c02:	0bfa      	bt      	0x5bf6	// 5bf6 <UART0IntHandler+0x12>
	else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    5c04:	9343      	ld.w      	r2, (r3, 0xc)
    5c06:	3108      	movi      	r1, 8
    5c08:	6884      	and      	r2, r1
    5c0a:	3a40      	cmpnei      	r2, 0
    5c0c:	0bf5      	bt      	0x5bf6	// 5bf6 <UART0IntHandler+0x12>
	else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    5c0e:	9343      	ld.w      	r2, (r3, 0xc)
    5c10:	3104      	movi      	r1, 4
    5c12:	6884      	and      	r2, r1
    5c14:	3a40      	cmpnei      	r2, 0
    5c16:	0bf0      	bt      	0x5bf6	// 5bf6 <UART0IntHandler+0x12>
}
    5c18:	1463      	ipop
    5c1a:	1461      	nir
    5c1c:	20000040 	.long	0x20000040

Disassembly of section .text.UART1IntHandler:

00005c20 <UART1IntHandler>:
//UART1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART1IntHandler(void) 
{
    5c20:	1460      	nie
    5c22:	1462      	ipush
	char inchar = 0;
	
    // ISR content ...
	if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    5c24:	106d      	lrw      	r3, 0x2000003c	// 5c58 <UART1IntHandler+0x38>
    5c26:	3102      	movi      	r1, 2
    5c28:	9360      	ld.w      	r3, (r3, 0x0)
    5c2a:	9343      	ld.w      	r2, (r3, 0xc)
    5c2c:	6884      	and      	r2, r1
    5c2e:	3a40      	cmpnei      	r2, 0
    5c30:	0c03      	bf      	0x5c36	// 5c36 <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;
    5c32:	b323      	st.w      	r1, (r3, 0xc)
	}
}
    5c34:	0410      	br      	0x5c54	// 5c54 <UART1IntHandler+0x34>
	else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    5c36:	9343      	ld.w      	r2, (r3, 0xc)
    5c38:	3101      	movi      	r1, 1
    5c3a:	6884      	and      	r2, r1
    5c3c:	3a40      	cmpnei      	r2, 0
    5c3e:	0bfa      	bt      	0x5c32	// 5c32 <UART1IntHandler+0x12>
	else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    5c40:	9343      	ld.w      	r2, (r3, 0xc)
    5c42:	3108      	movi      	r1, 8
    5c44:	6884      	and      	r2, r1
    5c46:	3a40      	cmpnei      	r2, 0
    5c48:	0bf5      	bt      	0x5c32	// 5c32 <UART1IntHandler+0x12>
	else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    5c4a:	9343      	ld.w      	r2, (r3, 0xc)
    5c4c:	3104      	movi      	r1, 4
    5c4e:	6884      	and      	r2, r1
    5c50:	3a40      	cmpnei      	r2, 0
    5c52:	0bf0      	bt      	0x5c32	// 5c32 <UART1IntHandler+0x12>
}
    5c54:	1463      	ipop
    5c56:	1461      	nir
    5c58:	2000003c 	.long	0x2000003c

Disassembly of section .text.UART2IntHandler:

00005c5c <UART2IntHandler>:
//UART2 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void UART2IntHandler(void) 
{
    5c5c:	1460      	nie
    5c5e:	1462      	ipush
    5c60:	14d0      	push      	r15
	char inchar = 0;
	
    // ISR content ...
	if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S)				//RX interrupt
    5c62:	107f      	lrw      	r3, 0x20000038	// 5cdc <UART2IntHandler+0x80>
    5c64:	3102      	movi      	r1, 2
    5c66:	9360      	ld.w      	r3, (r3, 0x0)
    5c68:	9343      	ld.w      	r2, (r3, 0xc)
    5c6a:	6884      	and      	r2, r1
    5c6c:	3a40      	cmpnei      	r2, 0
    5c6e:	0c0b      	bf      	0x5c84	// 5c84 <UART2IntHandler+0x28>
	{
		UART2->ISR=UART_RX_INT_S;
    5c70:	b323      	st.w      	r1, (r3, 0xc)
		inchar = CSP_UART_GET_DATA(UART2);
    5c72:	9300      	ld.w      	r0, (r3, 0x0)
		UART2_RecvINT_Processing(inchar);
    5c74:	7400      	zextb      	r0, r0
    5c76:	e000032d 	bsr      	0x62d0	// 62d0 <UART2_RecvINT_Processing>
			RS485_Comm_End ++;
		}
		
	}
	
}
    5c7a:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    5c7e:	1401      	addi      	r14, r14, 4
    5c80:	1463      	ipop
    5c82:	1461      	nir
	else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) 		//TX interrupt
    5c84:	9323      	ld.w      	r1, (r3, 0xc)
    5c86:	3201      	movi      	r2, 1
    5c88:	6848      	and      	r1, r2
    5c8a:	3940      	cmpnei      	r1, 0
    5c8c:	0c0d      	bf      	0x5ca6	// 5ca6 <UART2IntHandler+0x4a>
		UART2->ISR=UART_TX_INT_S;
    5c8e:	b343      	st.w      	r2, (r3, 0xc)
		RS485_Comming = 0x01;
    5c90:	1074      	lrw      	r3, 0x2000012c	// 5ce0 <UART2IntHandler+0x84>
    5c92:	b340      	st.w      	r2, (r3, 0x0)
		if(RS485_Comm_Flag == 0x01){
    5c94:	1074      	lrw      	r3, 0x20000130	// 5ce4 <UART2IntHandler+0x88>
    5c96:	9360      	ld.w      	r3, (r3, 0x0)
    5c98:	3b41      	cmpnei      	r3, 1
    5c9a:	0bf0      	bt      	0x5c7a	// 5c7a <UART2IntHandler+0x1e>
			RS485_Comm_Start ++;
    5c9c:	1053      	lrw      	r2, 0x20000134	// 5ce8 <UART2IntHandler+0x8c>
			RS485_Comm_End ++;
    5c9e:	9260      	ld.w      	r3, (r2, 0x0)
    5ca0:	2300      	addi      	r3, 1
    5ca2:	b260      	st.w      	r3, (r2, 0x0)
}
    5ca4:	07eb      	br      	0x5c7a	// 5c7a <UART2IntHandler+0x1e>
	else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S)			//RX overrun interrupt
    5ca6:	9343      	ld.w      	r2, (r3, 0xc)
    5ca8:	3108      	movi      	r1, 8
    5caa:	6884      	and      	r2, r1
    5cac:	3a40      	cmpnei      	r2, 0
    5cae:	0c03      	bf      	0x5cb4	// 5cb4 <UART2IntHandler+0x58>
		UART2->ISR=UART_TX_IOV_S;
    5cb0:	b323      	st.w      	r1, (r3, 0xc)
    5cb2:	07e4      	br      	0x5c7a	// 5c7a <UART2IntHandler+0x1e>
	else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S)			//TX overrun interrupt
    5cb4:	9343      	ld.w      	r2, (r3, 0xc)
    5cb6:	3104      	movi      	r1, 4
    5cb8:	6884      	and      	r2, r1
    5cba:	3a40      	cmpnei      	r2, 0
    5cbc:	0bfa      	bt      	0x5cb0	// 5cb0 <UART2IntHandler+0x54>
	else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S)			
    5cbe:	3180      	movi      	r1, 128
    5cc0:	9303      	ld.w      	r0, (r3, 0xc)
    5cc2:	412c      	lsli      	r1, r1, 12
    5cc4:	6804      	and      	r0, r1
    5cc6:	3840      	cmpnei      	r0, 0
    5cc8:	0fd9      	bf      	0x5c7a	// 5c7a <UART2IntHandler+0x1e>
		UART2->ISR=UART_TX_DONE_S;
    5cca:	b323      	st.w      	r1, (r3, 0xc)
		RS485_Comming = 0x00;
    5ccc:	1065      	lrw      	r3, 0x2000012c	// 5ce0 <UART2IntHandler+0x84>
    5cce:	b340      	st.w      	r2, (r3, 0x0)
		if(RS485_Comm_Flag == 0x01){
    5cd0:	1065      	lrw      	r3, 0x20000130	// 5ce4 <UART2IntHandler+0x88>
    5cd2:	9360      	ld.w      	r3, (r3, 0x0)
    5cd4:	3b41      	cmpnei      	r3, 1
    5cd6:	0bd2      	bt      	0x5c7a	// 5c7a <UART2IntHandler+0x1e>
			RS485_Comm_End ++;
    5cd8:	1045      	lrw      	r2, 0x20000138	// 5cec <UART2IntHandler+0x90>
    5cda:	07e2      	br      	0x5c9e	// 5c9e <UART2IntHandler+0x42>
    5cdc:	20000038 	.long	0x20000038
    5ce0:	2000012c 	.long	0x2000012c
    5ce4:	20000130 	.long	0x20000130
    5ce8:	20000134 	.long	0x20000134
    5cec:	20000138 	.long	0x20000138

Disassembly of section .text.SPI0IntHandler:

00005cf0 <SPI0IntHandler>:
//SPI Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SPI0IntHandler(void) 
{
    5cf0:	1460      	nie
    5cf2:	1462      	ipush
    // ISR content ...
	if((SPI0->MISR&SPI_PORIM)==SPI_PORIM)					//Receive Overrun Interrupt
    5cf4:	1178      	lrw      	r3, 0x20000034	// 5dd4 <SPI0IntHandler+0xe4>
    5cf6:	3101      	movi      	r1, 1
    5cf8:	9360      	ld.w      	r3, (r3, 0x0)
    5cfa:	9347      	ld.w      	r2, (r3, 0x1c)
    5cfc:	6884      	and      	r2, r1
    5cfe:	3a40      	cmpnei      	r2, 0
    5d00:	0c03      	bf      	0x5d06	// 5d06 <SPI0IntHandler+0x16>
			}
		}
	}
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
	{
		SPI0->ICR = SPI_TXIM;
    5d02:	b328      	st.w      	r1, (r3, 0x20)
	}

}
    5d04:	0407      	br      	0x5d12	// 5d12 <SPI0IntHandler+0x22>
	else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM)				//Receive Timeout Interrupt
    5d06:	9347      	ld.w      	r2, (r3, 0x1c)
    5d08:	3002      	movi      	r0, 2
    5d0a:	6880      	and      	r2, r0
    5d0c:	3a40      	cmpnei      	r2, 0
    5d0e:	0c04      	bf      	0x5d16	// 5d16 <SPI0IntHandler+0x26>
		SPI0->ICR = SPI_RTIM;
    5d10:	b308      	st.w      	r0, (r3, 0x20)
}
    5d12:	1463      	ipop
    5d14:	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
    5d16:	9347      	ld.w      	r2, (r3, 0x1c)
    5d18:	3004      	movi      	r0, 4
    5d1a:	6880      	and      	r2, r0
    5d1c:	3a40      	cmpnei      	r2, 0
    5d1e:	0c55      	bf      	0x5dc8	// 5dc8 <SPI0IntHandler+0xd8>
		SPI0->ICR = SPI_RXIM;
    5d20:	b308      	st.w      	r0, (r3, 0x20)
		if(SPI0->DR==0xaa)
    5d22:	9302      	ld.w      	r0, (r3, 0x8)
    5d24:	32aa      	movi      	r2, 170
    5d26:	6482      	cmpne      	r0, r2
    5d28:	083e      	bt      	0x5da4	// 5da4 <SPI0IntHandler+0xb4>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d2a:	3102      	movi      	r1, 2
    5d2c:	9343      	ld.w      	r2, (r3, 0xc)
    5d2e:	6884      	and      	r2, r1
    5d30:	3a40      	cmpnei      	r2, 0
    5d32:	0ffd      	bf      	0x5d2c	// 5d2c <SPI0IntHandler+0x3c>
			SPI0->DR = 0x11;
    5d34:	3211      	movi      	r2, 17
    5d36:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d38:	3110      	movi      	r1, 16
    5d3a:	9343      	ld.w      	r2, (r3, 0xc)
    5d3c:	6884      	and      	r2, r1
    5d3e:	3a40      	cmpnei      	r2, 0
    5d40:	0bfd      	bt      	0x5d3a	// 5d3a <SPI0IntHandler+0x4a>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d42:	3102      	movi      	r1, 2
    5d44:	9343      	ld.w      	r2, (r3, 0xc)
    5d46:	6884      	and      	r2, r1
    5d48:	3a40      	cmpnei      	r2, 0
    5d4a:	0ffd      	bf      	0x5d44	// 5d44 <SPI0IntHandler+0x54>
			SPI0->DR = 0x12;
    5d4c:	3212      	movi      	r2, 18
    5d4e:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d50:	3110      	movi      	r1, 16
    5d52:	9343      	ld.w      	r2, (r3, 0xc)
    5d54:	6884      	and      	r2, r1
    5d56:	3a40      	cmpnei      	r2, 0
    5d58:	0bfd      	bt      	0x5d52	// 5d52 <SPI0IntHandler+0x62>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d5a:	3102      	movi      	r1, 2
    5d5c:	9343      	ld.w      	r2, (r3, 0xc)
    5d5e:	6884      	and      	r2, r1
    5d60:	3a40      	cmpnei      	r2, 0
    5d62:	0ffd      	bf      	0x5d5c	// 5d5c <SPI0IntHandler+0x6c>
			SPI0->DR = 0x13;
    5d64:	3213      	movi      	r2, 19
    5d66:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d68:	3110      	movi      	r1, 16
    5d6a:	9343      	ld.w      	r2, (r3, 0xc)
    5d6c:	6884      	and      	r2, r1
    5d6e:	3a40      	cmpnei      	r2, 0
    5d70:	0bfd      	bt      	0x5d6a	// 5d6a <SPI0IntHandler+0x7a>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d72:	3102      	movi      	r1, 2
    5d74:	9343      	ld.w      	r2, (r3, 0xc)
    5d76:	6884      	and      	r2, r1
    5d78:	3a40      	cmpnei      	r2, 0
    5d7a:	0ffd      	bf      	0x5d74	// 5d74 <SPI0IntHandler+0x84>
			SPI0->DR = 0x14;
    5d7c:	3214      	movi      	r2, 20
    5d7e:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d80:	3110      	movi      	r1, 16
    5d82:	9343      	ld.w      	r2, (r3, 0xc)
    5d84:	6884      	and      	r2, r1
    5d86:	3a40      	cmpnei      	r2, 0
    5d88:	0bfd      	bt      	0x5d82	// 5d82 <SPI0IntHandler+0x92>
			while(((SPI0->SR) & SSP_TNF) != SSP_TNF);	//Transmit FIFO is not full？
    5d8a:	3102      	movi      	r1, 2
    5d8c:	9343      	ld.w      	r2, (r3, 0xc)
    5d8e:	6884      	and      	r2, r1
    5d90:	3a40      	cmpnei      	r2, 0
    5d92:	0ffd      	bf      	0x5d8c	// 5d8c <SPI0IntHandler+0x9c>
			SPI0->DR = 0x15;
    5d94:	3215      	movi      	r2, 21
    5d96:	b342      	st.w      	r2, (r3, 0x8)
			while(((SPI0->SR) & SSP_BSY) == SSP_BSY);	//Send or receive over？
    5d98:	3110      	movi      	r1, 16
    5d9a:	9343      	ld.w      	r2, (r3, 0xc)
    5d9c:	6884      	and      	r2, r1
    5d9e:	3a40      	cmpnei      	r2, 0
    5da0:	0bfd      	bt      	0x5d9a	// 5d9a <SPI0IntHandler+0xaa>
    5da2:	07b8      	br      	0x5d12	// 5d12 <SPI0IntHandler+0x22>
			if(((SPI0->SR) & SSP_TFE)!=SSP_TFE)
    5da4:	9343      	ld.w      	r2, (r3, 0xc)
    5da6:	6884      	and      	r2, r1
    5da8:	3a40      	cmpnei      	r2, 0
    5daa:	0bb4      	bt      	0x5d12	// 5d12 <SPI0IntHandler+0x22>
				SPI0->DR=0x0;								//FIFO=0
    5dac:	b342      	st.w      	r2, (r3, 0x8)
				while(((SPI0->SR) & SSP_BSY) == SSP_BSY);		//Send or receive over？
    5dae:	3110      	movi      	r1, 16
				SPI0->DR=0x0;								//FIFO=0
    5db0:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5db2:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5db4:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5db6:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5db8:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5dba:	b342      	st.w      	r2, (r3, 0x8)
				SPI0->DR=0x0;								//FIFO=0
    5dbc:	b342      	st.w      	r2, (r3, 0x8)
				while(((SPI0->SR) & SSP_BSY) == SSP_BSY);		//Send or receive over？
    5dbe:	9343      	ld.w      	r2, (r3, 0xc)
    5dc0:	6884      	and      	r2, r1
    5dc2:	3a40      	cmpnei      	r2, 0
    5dc4:	0bfd      	bt      	0x5dbe	// 5dbe <SPI0IntHandler+0xce>
    5dc6:	07a6      	br      	0x5d12	// 5d12 <SPI0IntHandler+0x22>
	else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM)				//Transmit FIFO Interrupt
    5dc8:	9347      	ld.w      	r2, (r3, 0x1c)
    5dca:	3108      	movi      	r1, 8
    5dcc:	6884      	and      	r2, r1
    5dce:	3a40      	cmpnei      	r2, 0
    5dd0:	0b99      	bt      	0x5d02	// 5d02 <SPI0IntHandler+0x12>
    5dd2:	07a0      	br      	0x5d12	// 5d12 <SPI0IntHandler+0x22>
    5dd4:	20000034 	.long	0x20000034

Disassembly of section .text.SIO0IntHandler:

00005dd8 <SIO0IntHandler>:
//SIO Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void SIO0IntHandler(void) 
{
    5dd8:	1460      	nie
    5dda:	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)
    5ddc:	1073      	lrw      	r3, 0x2000002c	// 5e28 <SIO0IntHandler+0x50>
    5dde:	3104      	movi      	r1, 4
    5de0:	9360      	ld.w      	r3, (r3, 0x0)
    5de2:	9349      	ld.w      	r2, (r3, 0x24)
    5de4:	6884      	and      	r2, r1
    5de6:	3a40      	cmpnei      	r2, 0
    5de8:	0c02      	bf      	0x5dec	// 5dec <SIO0IntHandler+0x14>
	{
		SIO0->ICR=0X04;
    5dea:	b32b      	st.w      	r1, (r3, 0x2c)
		
	}
	if(SIO0->MISR&0X01)					//TXDNE  发送完成
    5dec:	9349      	ld.w      	r2, (r3, 0x24)
    5dee:	3101      	movi      	r1, 1
    5df0:	6884      	and      	r2, r1
    5df2:	3a40      	cmpnei      	r2, 0
    5df4:	0c02      	bf      	0x5df8	// 5df8 <SIO0IntHandler+0x20>
	{
		SIO0->ICR=0X01;
    5df6:	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
    5df8:	9349      	ld.w      	r2, (r3, 0x24)
    5dfa:	3102      	movi      	r1, 2
    5dfc:	6884      	and      	r2, r1
    5dfe:	3a40      	cmpnei      	r2, 0
    5e00:	0c03      	bf      	0x5e06	// 5e06 <SIO0IntHandler+0x2e>
	{
		SIO0->ICR=0X10;
	}
	else if(SIO0->MISR&0X020)				//TIMEOUT
	{
		SIO0->ICR=0X20;
    5e02:	b32b      	st.w      	r1, (r3, 0x2c)
	}
}
    5e04:	0410      	br      	0x5e24	// 5e24 <SIO0IntHandler+0x4c>
	else if(SIO0->MISR&0X08)					//RXBUFFULL	
    5e06:	9349      	ld.w      	r2, (r3, 0x24)
    5e08:	3108      	movi      	r1, 8
    5e0a:	6884      	and      	r2, r1
    5e0c:	3a40      	cmpnei      	r2, 0
    5e0e:	0bfa      	bt      	0x5e02	// 5e02 <SIO0IntHandler+0x2a>
	else if(SIO0->MISR&0X010)				//BREAK
    5e10:	9349      	ld.w      	r2, (r3, 0x24)
    5e12:	3110      	movi      	r1, 16
    5e14:	6884      	and      	r2, r1
    5e16:	3a40      	cmpnei      	r2, 0
    5e18:	0bf5      	bt      	0x5e02	// 5e02 <SIO0IntHandler+0x2a>
	else if(SIO0->MISR&0X020)				//TIMEOUT
    5e1a:	9349      	ld.w      	r2, (r3, 0x24)
    5e1c:	3120      	movi      	r1, 32
    5e1e:	6884      	and      	r2, r1
    5e20:	3a40      	cmpnei      	r2, 0
    5e22:	0bf0      	bt      	0x5e02	// 5e02 <SIO0IntHandler+0x2a>
}
    5e24:	1463      	ipop
    5e26:	1461      	nir
    5e28:	2000002c 	.long	0x2000002c

Disassembly of section .text.EXI0IntHandler:

00005e2c <EXI0IntHandler>:
//EXT0/16 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI0IntHandler(void) 
{
    5e2c:	1460      	nie
    5e2e:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) 			//EXT0 Interrupt
    5e30:	106a      	lrw      	r3, 0x2000005c	// 5e58 <EXI0IntHandler+0x2c>
    5e32:	3101      	movi      	r1, 1
    5e34:	9360      	ld.w      	r3, (r3, 0x0)
    5e36:	237f      	addi      	r3, 128
    5e38:	934c      	ld.w      	r2, (r3, 0x30)
    5e3a:	6884      	and      	r2, r1
    5e3c:	3a40      	cmpnei      	r2, 0
    5e3e:	0c04      	bf      	0x5e46	// 5e46 <EXI0IntHandler+0x1a>
	{
		SYSCON->EXICR = EXI_PIN0;
    5e40:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) 		//EXT16 Interrupt
	{
		SYSCON->EXICR = EXI_PIN16;
	}
}
    5e42:	1463      	ipop
    5e44:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) 		//EXT16 Interrupt
    5e46:	3280      	movi      	r2, 128
    5e48:	932c      	ld.w      	r1, (r3, 0x30)
    5e4a:	4249      	lsli      	r2, r2, 9
    5e4c:	6848      	and      	r1, r2
    5e4e:	3940      	cmpnei      	r1, 0
    5e50:	0ff9      	bf      	0x5e42	// 5e42 <EXI0IntHandler+0x16>
		SYSCON->EXICR = EXI_PIN16;
    5e52:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5e54:	07f7      	br      	0x5e42	// 5e42 <EXI0IntHandler+0x16>
    5e56:	0000      	bkpt
    5e58:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI1IntHandler:

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

Disassembly of section .text.EXI2to3IntHandler:

00005e8c <EXI2to3IntHandler>:
//EXI2~3 18~19Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI2to3IntHandler(void) 
{
    5e8c:	1460      	nie
    5e8e:	1462      	ipush
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) 			//EXT2 Interrupt
    5e90:	1070      	lrw      	r3, 0x2000005c	// 5ed0 <EXI2to3IntHandler+0x44>
    5e92:	3104      	movi      	r1, 4
    5e94:	9360      	ld.w      	r3, (r3, 0x0)
    5e96:	237f      	addi      	r3, 128
    5e98:	934c      	ld.w      	r2, (r3, 0x30)
    5e9a:	6884      	and      	r2, r1
    5e9c:	3a40      	cmpnei      	r2, 0
    5e9e:	0c04      	bf      	0x5ea6	// 5ea6 <EXI2to3IntHandler+0x1a>
		SYSCON->EXICR = EXI_PIN2;
//		RLY_State_Multi_Control();
	} 
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 		//EXT3 Interrupt
	{
		SYSCON->EXICR = EXI_PIN3;
    5ea0:	b32b      	st.w      	r1, (r3, 0x2c)
	}
	else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) 		//EXT19 Interrupt
	{
		SYSCON->EXICR = EXI_PIN19;
	}
}
    5ea2:	1463      	ipop
    5ea4:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) 		//EXT3 Interrupt
    5ea6:	934c      	ld.w      	r2, (r3, 0x30)
    5ea8:	3108      	movi      	r1, 8
    5eaa:	6884      	and      	r2, r1
    5eac:	3a40      	cmpnei      	r2, 0
    5eae:	0bf9      	bt      	0x5ea0	// 5ea0 <EXI2to3IntHandler+0x14>
	else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) 		//EXT18 Interrupt
    5eb0:	3280      	movi      	r2, 128
    5eb2:	932c      	ld.w      	r1, (r3, 0x30)
    5eb4:	424b      	lsli      	r2, r2, 11
    5eb6:	6848      	and      	r1, r2
    5eb8:	3940      	cmpnei      	r1, 0
    5eba:	0c03      	bf      	0x5ec0	// 5ec0 <EXI2to3IntHandler+0x34>
		SYSCON->EXICR = EXI_PIN19;
    5ebc:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5ebe:	07f2      	br      	0x5ea2	// 5ea2 <EXI2to3IntHandler+0x16>
	else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) 		//EXT19 Interrupt
    5ec0:	3280      	movi      	r2, 128
    5ec2:	932c      	ld.w      	r1, (r3, 0x30)
    5ec4:	424c      	lsli      	r2, r2, 12
    5ec6:	6848      	and      	r1, r2
    5ec8:	3940      	cmpnei      	r1, 0
    5eca:	0bf9      	bt      	0x5ebc	// 5ebc <EXI2to3IntHandler+0x30>
    5ecc:	07eb      	br      	0x5ea2	// 5ea2 <EXI2to3IntHandler+0x16>
    5ece:	0000      	bkpt
    5ed0:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI4to9IntHandler:

00005ed4 <EXI4to9IntHandler>:
//EXI4~9 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI4to9IntHandler(void) 
{
    5ed4:	1460      	nie
    5ed6:	1462      	ipush
    5ed8:	14d0      	push      	r15
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) 			//EXT4 Interrupt
    5eda:	1079      	lrw      	r3, 0x2000005c	// 5f3c <EXI4to9IntHandler+0x68>
    5edc:	3280      	movi      	r2, 128
    5ede:	9360      	ld.w      	r3, (r3, 0x0)
    5ee0:	60c8      	addu      	r3, r2
    5ee2:	932c      	ld.w      	r1, (r3, 0x30)
    5ee4:	3010      	movi      	r0, 16
    5ee6:	6840      	and      	r1, r0
    5ee8:	3940      	cmpnei      	r1, 0
    5eea:	0c03      	bf      	0x5ef0	// 5ef0 <EXI4to9IntHandler+0x1c>
		BusBusy_Task();	
		
	} 
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 		//EXT6 Interrupt
	{
		SYSCON->EXICR = EXI_PIN6;
    5eec:	b30b      	st.w      	r0, (r3, 0x2c)
    5eee:	0409      	br      	0x5f00	// 5f00 <EXI4to9IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN5)==EXI_PIN5) 		//EXT5 Interrupt
    5ef0:	932c      	ld.w      	r1, (r3, 0x30)
    5ef2:	3020      	movi      	r0, 32
    5ef4:	6840      	and      	r1, r0
    5ef6:	3940      	cmpnei      	r1, 0
    5ef8:	0c09      	bf      	0x5f0a	// 5f0a <EXI4to9IntHandler+0x36>
		SYSCON->EXICR = EXI_PIN5;
    5efa:	b30b      	st.w      	r0, (r3, 0x2c)
		BusBusy_Task();	
    5efc:	e0000394 	bsr      	0x6624	// 6624 <BusBusy_Task>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 		//EXT9 Interrupt
	{
		SYSCON->EXICR = EXI_PIN9;
	} 

}
    5f00:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    5f04:	1401      	addi      	r14, r14, 4
    5f06:	1463      	ipop
    5f08:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN6)==EXI_PIN6) 		//EXT6 Interrupt
    5f0a:	932c      	ld.w      	r1, (r3, 0x30)
    5f0c:	3040      	movi      	r0, 64
    5f0e:	6840      	and      	r1, r0
    5f10:	3940      	cmpnei      	r1, 0
    5f12:	0bed      	bt      	0x5eec	// 5eec <EXI4to9IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN7)==EXI_PIN7) 		//EXT7 Interrupt
    5f14:	932c      	ld.w      	r1, (r3, 0x30)
    5f16:	6848      	and      	r1, r2
    5f18:	3940      	cmpnei      	r1, 0
    5f1a:	0c03      	bf      	0x5f20	// 5f20 <EXI4to9IntHandler+0x4c>
		SYSCON->EXICR = EXI_PIN9;
    5f1c:	b34b      	st.w      	r2, (r3, 0x2c)
}
    5f1e:	07f1      	br      	0x5f00	// 5f00 <EXI4to9IntHandler+0x2c>
	else if ((SYSCON->EXIRS&EXI_PIN8)==EXI_PIN8) 		//EXT8 Interrupt
    5f20:	3280      	movi      	r2, 128
    5f22:	932c      	ld.w      	r1, (r3, 0x30)
    5f24:	4241      	lsli      	r2, r2, 1
    5f26:	6848      	and      	r1, r2
    5f28:	3940      	cmpnei      	r1, 0
    5f2a:	0bf9      	bt      	0x5f1c	// 5f1c <EXI4to9IntHandler+0x48>
	else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) 		//EXT9 Interrupt
    5f2c:	3280      	movi      	r2, 128
    5f2e:	932c      	ld.w      	r1, (r3, 0x30)
    5f30:	4242      	lsli      	r2, r2, 2
    5f32:	6848      	and      	r1, r2
    5f34:	3940      	cmpnei      	r1, 0
    5f36:	0bf3      	bt      	0x5f1c	// 5f1c <EXI4to9IntHandler+0x48>
    5f38:	07e4      	br      	0x5f00	// 5f00 <EXI4to9IntHandler+0x2c>
    5f3a:	0000      	bkpt
    5f3c:	2000005c 	.long	0x2000005c

Disassembly of section .text.EXI10to15IntHandler:

00005f40 <EXI10to15IntHandler>:
//EXI4 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void EXI10to15IntHandler(void) 
{
    5f40:	1460      	nie
    5f42:	1462      	ipush
    5f44:	14d0      	push      	r15
    // ISR content ...
	if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) 			//EXT10 Interrupt
    5f46:	107d      	lrw      	r3, 0x2000005c	// 5fb8 <EXI10to15IntHandler+0x78>
    5f48:	3280      	movi      	r2, 128
    5f4a:	9360      	ld.w      	r3, (r3, 0x0)
    5f4c:	237f      	addi      	r3, 128
    5f4e:	932c      	ld.w      	r1, (r3, 0x30)
    5f50:	4243      	lsli      	r2, r2, 3
    5f52:	6848      	and      	r1, r2
    5f54:	3940      	cmpnei      	r1, 0
    5f56:	0c03      	bf      	0x5f5c	// 5f5c <EXI10to15IntHandler+0x1c>
		
		RLY_Zero_Control();			//继电器控制
	}
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 		//EXT15 Interrupt
	{
		SYSCON->EXICR = EXI_PIN15;
    5f58:	b34b      	st.w      	r2, (r3, 0x2c)
	}
}
    5f5a:	0422      	br      	0x5f9e	// 5f9e <EXI10to15IntHandler+0x5e>
	else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) 		//EXT11 Interrupt
    5f5c:	3280      	movi      	r2, 128
    5f5e:	932c      	ld.w      	r1, (r3, 0x30)
    5f60:	4244      	lsli      	r2, r2, 4
    5f62:	6848      	and      	r1, r2
    5f64:	3940      	cmpnei      	r1, 0
    5f66:	0bf9      	bt      	0x5f58	// 5f58 <EXI10to15IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) 		//EXT12 Interrupt
    5f68:	3280      	movi      	r2, 128
    5f6a:	932c      	ld.w      	r1, (r3, 0x30)
    5f6c:	4245      	lsli      	r2, r2, 5
    5f6e:	6848      	and      	r1, r2
    5f70:	3940      	cmpnei      	r1, 0
    5f72:	0bf3      	bt      	0x5f58	// 5f58 <EXI10to15IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) 		//EXT13 Interrupt
    5f74:	3280      	movi      	r2, 128
    5f76:	932c      	ld.w      	r1, (r3, 0x30)
    5f78:	4246      	lsli      	r2, r2, 6
    5f7a:	6848      	and      	r1, r2
    5f7c:	3940      	cmpnei      	r1, 0
    5f7e:	0bed      	bt      	0x5f58	// 5f58 <EXI10to15IntHandler+0x18>
	else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) 		//EXT14 Interrupt
    5f80:	3280      	movi      	r2, 128
    5f82:	932c      	ld.w      	r1, (r3, 0x30)
    5f84:	4247      	lsli      	r2, r2, 7
    5f86:	6848      	and      	r1, r2
    5f88:	3940      	cmpnei      	r1, 0
    5f8a:	0c0f      	bf      	0x5fa8	// 5fa8 <EXI10to15IntHandler+0x68>
		SYSCON->EXICR = EXI_PIN14;
    5f8c:	b34b      	st.w      	r2, (r3, 0x2c)
		if(c_rly.rly_zCnt < 8){
    5f8e:	104c      	lrw      	r2, 0x20000844	// 5fbc <EXI10to15IntHandler+0x7c>
    5f90:	8261      	ld.b      	r3, (r2, 0x1)
    5f92:	3b07      	cmphsi      	r3, 8
    5f94:	0803      	bt      	0x5f9a	// 5f9a <EXI10to15IntHandler+0x5a>
			c_rly.rly_zCnt++;
    5f96:	2300      	addi      	r3, 1
    5f98:	a261      	st.b      	r3, (r2, 0x1)
		RLY_Zero_Control();			//继电器控制
    5f9a:	e00021a7 	bsr      	0xa2e8	// a2e8 <RLY_Zero_Control>
}
    5f9e:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    5fa2:	1401      	addi      	r14, r14, 4
    5fa4:	1463      	ipop
    5fa6:	1461      	nir
	else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) 		//EXT15 Interrupt
    5fa8:	3280      	movi      	r2, 128
    5faa:	932c      	ld.w      	r1, (r3, 0x30)
    5fac:	4248      	lsli      	r2, r2, 8
    5fae:	6848      	and      	r1, r2
    5fb0:	3940      	cmpnei      	r1, 0
    5fb2:	0bd3      	bt      	0x5f58	// 5f58 <EXI10to15IntHandler+0x18>
    5fb4:	07f5      	br      	0x5f9e	// 5f9e <EXI10to15IntHandler+0x5e>
    5fb6:	0000      	bkpt
    5fb8:	2000005c 	.long	0x2000005c
    5fbc:	20000844 	.long	0x20000844

Disassembly of section .text.LPTIntHandler:

00005fc0 <LPTIntHandler>:
//LPT Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void LPTIntHandler(void) 
{
    5fc0:	1460      	nie
    5fc2:	1462      	ipush
    // ISR content ...
	if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0)			//TRGEV0 interrupt
    5fc4:	106b      	lrw      	r3, 0x20000014	// 5ff0 <LPTIntHandler+0x30>
    5fc6:	3101      	movi      	r1, 1
    5fc8:	9360      	ld.w      	r3, (r3, 0x0)
    5fca:	934e      	ld.w      	r2, (r3, 0x38)
    5fcc:	6884      	and      	r2, r1
    5fce:	3a40      	cmpnei      	r2, 0
    5fd0:	0c03      	bf      	0x5fd6	// 5fd6 <LPTIntHandler+0x16>
	{
		LPT->ICR = LPT_MATCH;
	}
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)			//PEND interrupt
	{
		LPT->ICR = LPT_PEND;
    5fd2:	b330      	st.w      	r1, (r3, 0x40)
	}
}
    5fd4:	040b      	br      	0x5fea	// 5fea <LPTIntHandler+0x2a>
	else if((LPT->MISR&LPT_MATCH)==LPT_MATCH)		//MATCH interrupt
    5fd6:	934e      	ld.w      	r2, (r3, 0x38)
    5fd8:	3102      	movi      	r1, 2
    5fda:	6884      	and      	r2, r1
    5fdc:	3a40      	cmpnei      	r2, 0
    5fde:	0bfa      	bt      	0x5fd2	// 5fd2 <LPTIntHandler+0x12>
	else if((LPT->MISR&LPT_PEND)==LPT_PEND)			//PEND interrupt
    5fe0:	934e      	ld.w      	r2, (r3, 0x38)
    5fe2:	3104      	movi      	r1, 4
    5fe4:	6884      	and      	r2, r1
    5fe6:	3a40      	cmpnei      	r2, 0
    5fe8:	0bf5      	bt      	0x5fd2	// 5fd2 <LPTIntHandler+0x12>
}
    5fea:	1463      	ipop
    5fec:	1461      	nir
    5fee:	0000      	bkpt
    5ff0:	20000014 	.long	0x20000014

Disassembly of section .text.BT0IntHandler:

00005ff4 <BT0IntHandler>:
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
U8_T BT_TEMP_State = 1;
void BT0IntHandler(void) 
{
    5ff4:	1460      	nie
    5ff6:	1462      	ipush
    // ISR content ...
	if((BT0->MISR&BT_PEND)==BT_PEND)				//BT0 PEND interrupt
    5ff8:	1071      	lrw      	r3, 0x2000000c	// 603c <BT0IntHandler+0x48>
    5ffa:	3101      	movi      	r1, 1
    5ffc:	9360      	ld.w      	r3, (r3, 0x0)
    5ffe:	934c      	ld.w      	r2, (r3, 0x30)
    6000:	6884      	and      	r2, r1
    6002:	3a40      	cmpnei      	r2, 0
    6004:	0c0a      	bf      	0x6018	// 6018 <BT0IntHandler+0x24>
	{
		BT0->ICR = BT_PEND;
    6006:	b32d      	st.w      	r1, (r3, 0x34)
		
		//BT_Stop_Low(BT0);
		
		BT0->CR =BT0->CR & ~(0x01<<6);
    6008:	9341      	ld.w      	r2, (r3, 0x4)
    600a:	3a86      	bclri      	r2, 6
    600c:	b341      	st.w      	r2, (r3, 0x4)
		BT0->RSSR &=0X0;
    600e:	9340      	ld.w      	r2, (r3, 0x0)
    6010:	3200      	movi      	r2, 0
    6012:	b340      	st.w      	r2, (r3, 0x0)
	} 
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)			//BT0 Event trigger interrupt
	{
		BT0->ICR = BT_EVTRG;
	} 
}
    6014:	1463      	ipop
    6016:	1461      	nir
	else if((BT0->MISR&BT_CMP)==BT_CMP)				//BT0 CMP Match interrupt 
    6018:	934c      	ld.w      	r2, (r3, 0x30)
    601a:	3102      	movi      	r1, 2
    601c:	6884      	and      	r2, r1
    601e:	3a40      	cmpnei      	r2, 0
    6020:	0c03      	bf      	0x6026	// 6026 <BT0IntHandler+0x32>
		BT0->ICR = BT_EVTRG;
    6022:	b32d      	st.w      	r1, (r3, 0x34)
}
    6024:	07f8      	br      	0x6014	// 6014 <BT0IntHandler+0x20>
	else if((BT0->MISR&BT_OVF)==BT_OVF)				//BT0 OVF interrupt
    6026:	934c      	ld.w      	r2, (r3, 0x30)
    6028:	3104      	movi      	r1, 4
    602a:	6884      	and      	r2, r1
    602c:	3a40      	cmpnei      	r2, 0
    602e:	0bfa      	bt      	0x6022	// 6022 <BT0IntHandler+0x2e>
	else if((BT0->MISR&BT_EVTRG)==BT_EVTRG)			//BT0 Event trigger interrupt
    6030:	934c      	ld.w      	r2, (r3, 0x30)
    6032:	3108      	movi      	r1, 8
    6034:	6884      	and      	r2, r1
    6036:	3a40      	cmpnei      	r2, 0
    6038:	0bf5      	bt      	0x6022	// 6022 <BT0IntHandler+0x2e>
    603a:	07ed      	br      	0x6014	// 6014 <BT0IntHandler+0x20>
    603c:	2000000c 	.long	0x2000000c

Disassembly of section .text.BT1IntHandler:

00006040 <BT1IntHandler>:
//BT1 Interrupt
//EntryParameter:NONE
//ReturnValue:NONE
/*************************************************************/
void BT1IntHandler(void) 
{
    6040:	1460      	nie
    6042:	1462      	ipush
    6044:	14d0      	push      	r15
	static U8_T NUM = 0;
    // ISR content ...
	if((BT1->MISR&BT_PEND)==BT_PEND)				//BT1 PEND interrupt
    6046:	1079      	lrw      	r3, 0x20000008	// 60a8 <BT1IntHandler+0x68>
    6048:	3101      	movi      	r1, 1
    604a:	9360      	ld.w      	r3, (r3, 0x0)
    604c:	934c      	ld.w      	r2, (r3, 0x30)
    604e:	6884      	and      	r2, r1
    6050:	3a40      	cmpnei      	r2, 0
    6052:	0c03      	bf      	0x6058	// 6058 <BT1IntHandler+0x18>
	{
		BT1->ICR = BT_OVF;
	} 
	else if((BT1->MISR&BT_EVTRG)==BT_EVTRG)			//BT1 Event trigger interrupt
	{
		BT1->ICR = BT_EVTRG;
    6054:	b32d      	st.w      	r1, (r3, 0x34)
	} 
}
    6056:	0418      	br      	0x6086	// 6086 <BT1IntHandler+0x46>
	else if((BT1->MISR&BT_CMP)==BT_CMP)				//BT1 CMP Match interrupt 
    6058:	934c      	ld.w      	r2, (r3, 0x30)
    605a:	3102      	movi      	r1, 2
    605c:	6884      	and      	r2, r1
    605e:	3a40      	cmpnei      	r2, 0
    6060:	0c18      	bf      	0x6090	// 6090 <BT1IntHandler+0x50>
		BT1->ICR = BT_CMP;
    6062:	b32d      	st.w      	r1, (r3, 0x34)
		NUM++;
    6064:	1072      	lrw      	r3, 0x200000b8	// 60ac <BT1IntHandler+0x6c>
    6066:	8340      	ld.b      	r2, (r3, 0x0)
    6068:	2200      	addi      	r2, 1
    606a:	7488      	zextb      	r2, r2
		SysTick_100us++;
    606c:	9321      	ld.w      	r1, (r3, 0x4)
    606e:	2100      	addi      	r1, 1
		if(NUM >= 10){
    6070:	3a09      	cmphsi      	r2, 10
		NUM++;
    6072:	a340      	st.b      	r2, (r3, 0x0)
		SysTick_100us++;
    6074:	b321      	st.w      	r1, (r3, 0x4)
		if(NUM >= 10){
    6076:	0c08      	bf      	0x6086	// 6086 <BT1IntHandler+0x46>
			NUM = 0;
    6078:	3200      	movi      	r2, 0
    607a:	a340      	st.b      	r2, (r3, 0x0)
			SysTick_1ms++;
    607c:	9342      	ld.w      	r2, (r3, 0x8)
    607e:	2200      	addi      	r2, 1
    6080:	b342      	st.w      	r2, (r3, 0x8)
			BusIdle_Task();
    6082:	e00002b1 	bsr      	0x65e4	// 65e4 <BusIdle_Task>
}
    6086:	d9ee2000 	ld.w      	r15, (r14, 0x0)
    608a:	1401      	addi      	r14, r14, 4
    608c:	1463      	ipop
    608e:	1461      	nir
	else if((BT1->MISR&BT_OVF)==BT_OVF)				//BT1 OVF interrupt
    6090:	934c      	ld.w      	r2, (r3, 0x30)
    6092:	3104      	movi      	r1, 4
    6094:	6884      	and      	r2, r1
    6096:	3a40      	cmpnei      	r2, 0
    6098:	0bde      	bt      	0x6054	// 6054 <BT1IntHandler+0x14>
	else if((BT1->MISR&BT_EVTRG)==BT_EVTRG)			//BT1 Event trigger interrupt
    609a:	934c      	ld.w      	r2, (r3, 0x30)
    609c:	3108      	movi      	r1, 8
    609e:	6884      	and      	r2, r1
    60a0:	3a40      	cmpnei      	r2, 0
    60a2:	0bd9      	bt      	0x6054	// 6054 <BT1IntHandler+0x14>
    60a4:	07f1      	br      	0x6086	// 6086 <BT1IntHandler+0x46>
    60a6:	0000      	bkpt
    60a8:	20000008 	.long	0x20000008
    60ac:	200000b8 	.long	0x200000b8

Disassembly of section .text.PriviledgeVioHandler:

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

Disassembly of section .text.PendTrapHandler:

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

}

void PendTrapHandler(void) 
{
    60b2:	1460      	nie
    60b4:	1462      	ipush
    // ISR content ...

}
    60b6:	1463      	ipop
    60b8:	1461      	nir

Disassembly of section .text.Trap3Handler:

000060ba <Trap3Handler>:
    60ba:	1460      	nie
    60bc:	1462      	ipush
    60be:	1463      	ipop
    60c0:	1461      	nir

Disassembly of section .text.Trap2Handler:

000060c2 <Trap2Handler>:
    60c2:	1460      	nie
    60c4:	1462      	ipush
    60c6:	1463      	ipop
    60c8:	1461      	nir

Disassembly of section .text.Trap1Handler:

000060ca <Trap1Handler>:
    60ca:	1460      	nie
    60cc:	1462      	ipush
    60ce:	1463      	ipop
    60d0:	1461      	nir

Disassembly of section .text.Trap0Handler:

000060d2 <Trap0Handler>:
    60d2:	1460      	nie
    60d4:	1462      	ipush
    60d6:	1463      	ipop
    60d8:	1461      	nir

Disassembly of section .text.UnrecExecpHandler:

000060da <UnrecExecpHandler>:
    60da:	1460      	nie
    60dc:	1462      	ipush
    60de:	1463      	ipop
    60e0:	1461      	nir

Disassembly of section .text.BreakPointHandler:

000060e2 <BreakPointHandler>:
    60e2:	1460      	nie
    60e4:	1462      	ipush
    60e6:	1463      	ipop
    60e8:	1461      	nir

Disassembly of section .text.AccessErrHandler:

000060ea <AccessErrHandler>:
    60ea:	1460      	nie
    60ec:	1462      	ipush
    60ee:	1463      	ipop
    60f0:	1461      	nir

Disassembly of section .text.IllegalInstrHandler:

000060f2 <IllegalInstrHandler>:
    60f2:	1460      	nie
    60f4:	1462      	ipush
    60f6:	1463      	ipop
    60f8:	1461      	nir

Disassembly of section .text.MisalignedHandler:

000060fa <MisalignedHandler>:
    60fa:	1460      	nie
    60fc:	1462      	ipush
    60fe:	1463      	ipop
    6100:	1461      	nir

Disassembly of section .text.CNTAIntHandler:

00006102 <CNTAIntHandler>:
    6102:	1460      	nie
    6104:	1462      	ipush
    6106:	1463      	ipop
    6108:	1461      	nir

Disassembly of section .text.I2CIntHandler:

0000610a <I2CIntHandler>:
    610a:	1460      	nie
    610c:	1462      	ipush
    610e:	1463      	ipop
    6110:	1461      	nir

Disassembly of section .text.__divsi3:

00006114 <__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)
{   
    6114:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    6116:	c0006023 	mfcr      	r3, cr<0, 0>
    611a:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );

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

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

Disassembly of section .text.__udivsi3:

00006138 <__udivsi3>:
 unsigned int __udivsi3 ( unsigned int a,  unsigned int b)
{   
    6138:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    613a:	c0006023 	mfcr      	r3, cr<0, 0>
    613e:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    6142:	1046      	lrw      	r2, 0x20000000	// 6158 <__udivsi3+0x20>
    6144:	3401      	movi      	r4, 1
    6146:	9240      	ld.w      	r2, (r2, 0x0)
    6148:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

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

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

Disassembly of section .text.__modsi3:

0000615c <__modsi3>:

int __modsi3 ( int a,  int b)
{   
    615c:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    615e:	c0006023 	mfcr      	r3, cr<0, 0>
    6162:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 0;
    6166:	1046      	lrw      	r2, 0x20000000	// 617c <__modsi3+0x20>
    6168:	3400      	movi      	r4, 0
    616a:	9240      	ld.w      	r2, (r2, 0x0)
    616c:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

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

Disassembly of section .text.__umodsi3:

00006180 <__umodsi3>:

unsigned int __umodsi3 ( unsigned int a,  unsigned int b)
{   
    6180:	14c1      	push      	r4
	int PSR;
	__asm volatile(
    6182:	c0006023 	mfcr      	r3, cr<0, 0>
    6186:	c0807020 	psrclr      	ie
					"mfcr %0 , psr \n\r"
					"psrclr ie \n\r"
					: "=r"(PSR)
				   );
	
	HWD->CR = 1;
    618a:	1046      	lrw      	r2, 0x20000000	// 61a0 <__umodsi3+0x20>
    618c:	3401      	movi      	r4, 1
    618e:	9240      	ld.w      	r2, (r2, 0x0)
    6190:	b284      	st.w      	r4, (r2, 0x10)
	HWD->DIVIDENT = a;
	HWD->DIVISOR = b;

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

Disassembly of section .text.CK_CPU_EnAllNormalIrq:

000061a4 <CK_CPU_EnAllNormalIrq>:
}


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

Disassembly of section .text.CK_CPU_DisAllNormalIrq:

000061aa <CK_CPU_DisAllNormalIrq>:

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

Disassembly of section .text.UARTx_Init:

000061b0 <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) {
    61b0:	14d2      	push      	r4-r5, r15
	switch(uart_id){
    61b2:	3841      	cmpnei      	r0, 1
void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
    61b4:	6d07      	mov      	r4, r1
	switch(uart_id){
    61b6:	0c24      	bf      	0x61fe	// 61fe <UARTx_Init+0x4e>
    61b8:	3840      	cmpnei      	r0, 0
    61ba:	0c04      	bf      	0x61c2	// 61c2 <UARTx_Init+0x12>
    61bc:	3842      	cmpnei      	r0, 2
    61be:	0c3a      	bf      	0x6232	// 6232 <UARTx_Init+0x82>
			GPIO_DriveStrength_EN(GPIOB0,3);
			GPIO_Write_Low(GPIOB0,3);
			
			break;
	}
}
    61c0:	1492      	pop      	r4-r5, r15
			UART0_DeInit();                                               //clear all UART Register
    61c2:	e3fff4f7 	bsr      	0x4bb0	// 4bb0 <UART0_DeInit>
			UART_IO_Init(IO_UART0,0);                                     //use PA0.1->RXD0, PA0.0->TXD0
    61c6:	3100      	movi      	r1, 0
    61c8:	3000      	movi      	r0, 0
    61ca:	e3fff533 	bsr      	0x4c30	// 4c30 <UART_IO_Init>
			UARTInitRxTxIntEn(UART0,5000,UART_PAR_NONE);				  //baudrate=sysclock 48M/1000=4800,tx rx int enabled 
    61ce:	1174      	lrw      	r3, 0x20000040	// 629c <UARTx_Init+0xec>
    61d0:	3200      	movi      	r2, 0
    61d2:	9300      	ld.w      	r0, (r3, 0x0)
    61d4:	1133      	lrw      	r1, 0x1388	// 62a0 <UARTx_Init+0xf0>
    61d6:	e3fff5ab 	bsr      	0x4d2c	// 4d2c <UARTInitRxTxIntEn>
			UART0_Int_Enable();
    61da:	e3fff50f 	bsr      	0x4bf8	// 4bf8 <UART0_Int_Enable>
			memset(&g_uart[UART_0],0,sizeof(UART_t));
    61de:	3273      	movi      	r2, 115
    61e0:	3100      	movi      	r1, 0
    61e2:	1111      	lrw      	r0, 0x200002f0	// 62a4 <UARTx_Init+0xf4>
    61e4:	e3ffefdc 	bsr      	0x419c	// 419c <__memset_fast>
			g_uart[UART_0].RecvTimeout = Recv_9600_TimeOut;
    61e8:	1170      	lrw      	r3, 0x20000357	// 62a8 <UARTx_Init+0xf8>
			g_uart[UART_1].RecvTimeout = Recv_115200_TimeOut;
    61ea:	3203      	movi      	r2, 3
    61ec:	a340      	st.b      	r2, (r3, 0x0)
			g_uart[UART_1].processing_cf = prt_cf;
    61ee:	4c48      	lsri      	r2, r4, 8
    61f0:	a388      	st.b      	r4, (r3, 0x8)
    61f2:	a349      	st.b      	r2, (r3, 0x9)
    61f4:	4c50      	lsri      	r2, r4, 16
    61f6:	4c98      	lsri      	r4, r4, 24
    61f8:	a34a      	st.b      	r2, (r3, 0xa)
    61fa:	a38b      	st.b      	r4, (r3, 0xb)
			break;
    61fc:	07e2      	br      	0x61c0	// 61c0 <UARTx_Init+0x10>
			UART1_DeInit();                                                 //clear all UART Register
    61fe:	e3fff4e5 	bsr      	0x4bc8	// 4bc8 <UART1_DeInit>
			UART_IO_Init(IO_UART1,2);                                    	//use PA0.13->RXD1, PB0.0->TXD1
    6202:	3102      	movi      	r1, 2
    6204:	3001      	movi      	r0, 1
    6206:	e3fff515 	bsr      	0x4c30	// 4c30 <UART_IO_Init>
			UARTInit(UART1,416,UART_PAR_NONE);							  //baudrate=sysclock 48M/416=115200
    620a:	11a9      	lrw      	r5, 0x2000003c	// 62ac <UARTx_Init+0xfc>
    620c:	31d0      	movi      	r1, 208
    620e:	3200      	movi      	r2, 0
    6210:	4121      	lsli      	r1, r1, 1
    6212:	9500      	ld.w      	r0, (r5, 0x0)
    6214:	e3fff584 	bsr      	0x4d1c	// 4d1c <UARTInit>
			UARTInitRxTxIntEn(UART1,416,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
    6218:	31d0      	movi      	r1, 208
    621a:	9500      	ld.w      	r0, (r5, 0x0)
    621c:	3200      	movi      	r2, 0
    621e:	4121      	lsli      	r1, r1, 1
    6220:	e3fff586 	bsr      	0x4d2c	// 4d2c <UARTInitRxTxIntEn>
			memset(&g_uart[UART_1],0,sizeof(UART_t));
    6224:	3273      	movi      	r2, 115
    6226:	3100      	movi      	r1, 0
    6228:	1102      	lrw      	r0, 0x20000363	// 62b0 <UARTx_Init+0x100>
    622a:	e3ffefb9 	bsr      	0x419c	// 419c <__memset_fast>
			g_uart[UART_1].RecvTimeout = Recv_115200_TimeOut;
    622e:	1162      	lrw      	r3, 0x200003ca	// 62b4 <UARTx_Init+0x104>
    6230:	07dd      	br      	0x61ea	// 61ea <UARTx_Init+0x3a>
			UART2_DeInit();                                                 //clear all UART Register
    6232:	e3fff4d7 	bsr      	0x4be0	// 4be0 <UART2_DeInit>
			UART_IO_Init(IO_UART2,2);                                    	//use PB0.4->RXD1, PB0.5->TXD1
    6236:	3102      	movi      	r1, 2
    6238:	3002      	movi      	r0, 2
    623a:	e3fff4fb 	bsr      	0x4c30	// 4c30 <UART_IO_Init>
			UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE);					//baudrate=sysclock 48M/416=115200 tx rx int enabled 
    623e:	107f      	lrw      	r3, 0x20000038	// 62b8 <UARTx_Init+0x108>
    6240:	3200      	movi      	r2, 0
    6242:	9300      	ld.w      	r0, (r3, 0x0)
    6244:	1037      	lrw      	r1, 0x1388	// 62a0 <UARTx_Init+0xf0>
    6246:	e3fff573 	bsr      	0x4d2c	// 4d2c <UARTInitRxTxIntEn>
			UART2_Int_Enable();
    624a:	e3fff4e5 	bsr      	0x4c14	// 4c14 <UART2_Int_Enable>
			memset(&g_uart[UART_2],0,sizeof(UART_t));
    624e:	3273      	movi      	r2, 115
    6250:	3100      	movi      	r1, 0
    6252:	101b      	lrw      	r0, 0x200003d6	// 62bc <UARTx_Init+0x10c>
    6254:	e3ffefa4 	bsr      	0x419c	// 419c <__memset_fast>
			memset(&m_send,0,sizeof(MULIT_t));
    6258:	3258      	movi      	r2, 88
    625a:	3100      	movi      	r1, 0
    625c:	1019      	lrw      	r0, 0x2000044c	// 62c0 <UARTx_Init+0x110>
    625e:	e3ffef9f 	bsr      	0x419c	// 419c <__memset_fast>
			m_send.HighBit_Flag = 0x01;
    6262:	1079      	lrw      	r3, 0x2000046c	// 62c4 <UARTx_Init+0x114>
    6264:	3201      	movi      	r2, 1
    6266:	a353      	st.b      	r2, (r3, 0x13)
			g_uart[UART_2].RecvTimeout = Recv_9600_TimeOut;
    6268:	1078      	lrw      	r3, 0x2000043d	// 62c8 <UARTx_Init+0x118>
    626a:	3203      	movi      	r2, 3
    626c:	a340      	st.b      	r2, (r3, 0x0)
			g_uart[UART_2].processing_cf = prt_cf;
    626e:	4c48      	lsri      	r2, r4, 8
    6270:	a388      	st.b      	r4, (r3, 0x8)
    6272:	a349      	st.b      	r2, (r3, 0x9)
    6274:	4c50      	lsri      	r2, r4, 16
    6276:	4c98      	lsri      	r4, r4, 24
    6278:	a38b      	st.b      	r4, (r3, 0xb)
    627a:	a34a      	st.b      	r2, (r3, 0xa)
			GPIO_Init(GPIOB0,3,Output);
    627c:	3103      	movi      	r1, 3
    627e:	1094      	lrw      	r4, 0x20000048	// 62cc <UARTx_Init+0x11c>
    6280:	3200      	movi      	r2, 0
    6282:	9400      	ld.w      	r0, (r4, 0x0)
    6284:	e3fff1ee 	bsr      	0x4660	// 4660 <GPIO_Init>
			GPIO_DriveStrength_EN(GPIOB0,3);
    6288:	9400      	ld.w      	r0, (r4, 0x0)
    628a:	3103      	movi      	r1, 3
    628c:	e3fff264 	bsr      	0x4754	// 4754 <GPIO_DriveStrength_EN>
			GPIO_Write_Low(GPIOB0,3);
    6290:	9400      	ld.w      	r0, (r4, 0x0)
    6292:	3103      	movi      	r1, 3
    6294:	e3fff3a6 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
}
    6298:	0794      	br      	0x61c0	// 61c0 <UARTx_Init+0x10>
    629a:	0000      	bkpt
    629c:	20000040 	.long	0x20000040
    62a0:	00001388 	.long	0x00001388
    62a4:	200002f0 	.long	0x200002f0
    62a8:	20000357 	.long	0x20000357
    62ac:	2000003c 	.long	0x2000003c
    62b0:	20000363 	.long	0x20000363
    62b4:	200003ca 	.long	0x200003ca
    62b8:	20000038 	.long	0x20000038
    62bc:	200003d6 	.long	0x200003d6
    62c0:	2000044c 	.long	0x2000044c
    62c4:	2000046c 	.long	0x2000046c
    62c8:	2000043d 	.long	0x2000043d
    62cc:	20000048 	.long	0x20000048

Disassembly of section .text.UART2_RecvINT_Processing:

000062d0 <UART2_RecvINT_Processing>:

/*******************************************************************************
* Function Name  : UART2_RecvINT_Processing 
* Description    : 串口2 接收中断处理函数 - 接收中断调用
*******************************************************************************/
void UART2_RecvINT_Processing(char data){
    62d0:	14c2      	push      	r4-r5
	if((g_uart[UART_2].RecvLen + 1) >= USART_BUFFER_SIZE) g_uart[UART_2].RecvLen = 0;
    62d2:	1056      	lrw      	r2, 0x2000043b	// 6328 <UART2_RecvINT_Processing+0x58>
    62d4:	8261      	ld.b      	r3, (r2, 0x1)
    62d6:	8280      	ld.b      	r4, (r2, 0x0)
    62d8:	4368      	lsli      	r3, r3, 8
    62da:	6cd0      	or      	r3, r4
    62dc:	3462      	movi      	r4, 98
    62de:	5a22      	addi      	r1, r2, 1
    62e0:	64d1      	cmplt      	r4, r3
    62e2:	6d07      	mov      	r4, r1
    62e4:	0c04      	bf      	0x62ec	// 62ec <UART2_RecvINT_Processing+0x1c>
    62e6:	3300      	movi      	r3, 0
    62e8:	a260      	st.b      	r3, (r2, 0x0)
    62ea:	a261      	st.b      	r3, (r2, 0x1)
	g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data;
    62ec:	8460      	ld.b      	r3, (r4, 0x0)
    62ee:	82a0      	ld.b      	r5, (r2, 0x0)
    62f0:	4368      	lsli      	r3, r3, 8
    62f2:	102f      	lrw      	r1, 0x200002f0	// 632c <UART2_RecvINT_Processing+0x5c>
    62f4:	6cd4      	or      	r3, r5
    62f6:	5b82      	addi      	r4, r3, 1
    62f8:	60c4      	addu      	r3, r1
    62fa:	7511      	zexth      	r4, r4
    62fc:	23e5      	addi      	r3, 230
    62fe:	a280      	st.b      	r4, (r2, 0x0)
    6300:	a300      	st.b      	r0, (r3, 0x0)
    6302:	4c88      	lsri      	r4, r4, 8
	
//	uart_receive_input((U8_T)data);
	
	g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    6304:	106b      	lrw      	r3, 0x200000c0	// 6330 <UART2_RecvINT_Processing+0x60>
    6306:	9360      	ld.w      	r3, (r3, 0x0)
	g_uart[UART_2].RecvBuffer[g_uart[UART_2].RecvLen++] = (U8_T)data;
    6308:	a281      	st.b      	r4, (r2, 0x1)
	g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    630a:	104b      	lrw      	r2, 0x151	// 6334 <UART2_RecvINT_Processing+0x64>
    630c:	6084      	addu      	r2, r1
    630e:	4b08      	lsri      	r0, r3, 8
    6310:	a260      	st.b      	r3, (r2, 0x0)
    6312:	a201      	st.b      	r0, (r2, 0x1)
    6314:	4b10      	lsri      	r0, r3, 16
    6316:	4b78      	lsri      	r3, r3, 24
    6318:	a263      	st.b      	r3, (r2, 0x3)
	g_uart[UART_2].Receiving = 0x01;
    631a:	33a5      	movi      	r3, 165
    631c:	4361      	lsli      	r3, r3, 1
    631e:	604c      	addu      	r1, r3
    6320:	3301      	movi      	r3, 1
	g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    6322:	a202      	st.b      	r0, (r2, 0x2)
	g_uart[UART_2].Receiving = 0x01;
    6324:	a160      	st.b      	r3, (r1, 0x0)
}
    6326:	1482      	pop      	r4-r5
    6328:	2000043b 	.long	0x2000043b
    632c:	200002f0 	.long	0x200002f0
    6330:	200000c0 	.long	0x200000c0
    6334:	00000151 	.long	0x00000151

Disassembly of section .text.UART2_TASK:

00006338 <UART2_TASK>:


void UART2_TASK(void){
    6338:	14d4      	push      	r4-r7, r15
	U8_T rev = 0xFF;
	if(g_uart[UART_2].Receiving == 0x01){
    633a:	118e      	lrw      	r4, 0x2000043a	// 63f0 <UART2_TASK+0xb8>
    633c:	8460      	ld.b      	r3, (r4, 0x0)
    633e:	3b41      	cmpnei      	r3, 1
    6340:	0850      	bt      	0x63e0	// 63e0 <UART2_TASK+0xa8>
		if(SysTick_1ms - g_uart[UART_2].RecvIdleTiming > g_uart[UART_2].RecvTimeout){
    6342:	8448      	ld.b      	r2, (r4, 0x8)
    6344:	8467      	ld.b      	r3, (r4, 0x7)
    6346:	4248      	lsli      	r2, r2, 8
    6348:	6c8c      	or      	r2, r3
    634a:	8469      	ld.b      	r3, (r4, 0x9)
    634c:	4370      	lsli      	r3, r3, 16
    634e:	6c8c      	or      	r2, r3
    6350:	846a      	ld.b      	r3, (r4, 0xa)
    6352:	11c9      	lrw      	r6, 0x200000c0	// 63f4 <UART2_TASK+0xbc>
    6354:	4378      	lsli      	r3, r3, 24
    6356:	6cc8      	or      	r3, r2
    6358:	9620      	ld.w      	r1, (r6, 0x0)
    635a:	8444      	ld.b      	r2, (r4, 0x4)
    635c:	604e      	subu      	r1, r3
    635e:	4248      	lsli      	r2, r2, 8
    6360:	8463      	ld.b      	r3, (r4, 0x3)
    6362:	6c8c      	or      	r2, r3
    6364:	8465      	ld.b      	r3, (r4, 0x5)
    6366:	4370      	lsli      	r3, r3, 16
    6368:	6c8c      	or      	r2, r3
    636a:	8466      	ld.b      	r3, (r4, 0x6)
    636c:	4378      	lsli      	r3, r3, 24
    636e:	6cc8      	or      	r3, r2
    6370:	644c      	cmphs      	r3, r1
    6372:	5cba      	addi      	r5, r4, 7
    6374:	0836      	bt      	0x63e0	// 63e0 <UART2_TASK+0xa8>

			SYSCON_Int_Disable();					//2025-03-19,复制接收缓冲到数据处理缓冲内
    6376:	e3fff13b 	bsr      	0x45ec	// 45ec <SYSCON_Int_Disable>
			g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    637a:	9660      	ld.w      	r3, (r6, 0x0)
    637c:	4b48      	lsri      	r2, r3, 8
    637e:	a467      	st.b      	r3, (r4, 0x7)
    6380:	a448      	st.b      	r2, (r4, 0x8)
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    6382:	84c2      	ld.b      	r6, (r4, 0x2)
			g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    6384:	4b50      	lsri      	r2, r3, 16
    6386:	4b78      	lsri      	r3, r3, 24
    6388:	a46a      	st.b      	r3, (r4, 0xa)
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    638a:	46c8      	lsli      	r6, r6, 8
    638c:	8461      	ld.b      	r3, (r4, 0x1)
    638e:	6d8c      	or      	r6, r3
			g_uart[UART_2].RecvIdleTiming = SysTick_1ms;
    6390:	a449      	st.b      	r2, (r4, 0x9)
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    6392:	103a      	lrw      	r1, 0x200003d6	// 63f8 <UART2_TASK+0xc0>
    6394:	6c9b      	mov      	r2, r6
    6396:	101a      	lrw      	r0, 0x200000c4	// 63fc <UART2_TASK+0xc4>
    6398:	e3ffef46 	bsr      	0x4224	// 4224 <__memcpy_fast>
			DealLen = g_uart[UART_2].RecvLen;
    639c:	10b9      	lrw      	r5, 0x20000104	// 6400 <UART2_TASK+0xc8>
			g_uart[UART_2].RecvLen = 0;
    639e:	3300      	movi      	r3, 0
    63a0:	a461      	st.b      	r3, (r4, 0x1)
    63a2:	a462      	st.b      	r3, (r4, 0x2)
			g_uart[UART_2].Receiving = 0;
    63a4:	a460      	st.b      	r3, (r4, 0x0)
			DealLen = g_uart[UART_2].RecvLen;
    63a6:	add2      	st.h      	r6, (r5, 0x24)
			SYSCON_Int_Enable();
    63a8:	e3fff11c 	bsr      	0x45e0	// 45e0 <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){
    63ac:	844c      	ld.b      	r2, (r4, 0xc)
    63ae:	846b      	ld.b      	r3, (r4, 0xb)
    63b0:	4248      	lsli      	r2, r2, 8
    63b2:	6c8c      	or      	r2, r3
    63b4:	846d      	ld.b      	r3, (r4, 0xd)
    63b6:	4370      	lsli      	r3, r3, 16
    63b8:	6c8c      	or      	r2, r3
    63ba:	846e      	ld.b      	r3, (r4, 0xe)
    63bc:	4378      	lsli      	r3, r3, 24
    63be:	6cc8      	or      	r3, r2
    63c0:	3b40      	cmpnei      	r3, 0
			memcpy(DealBuffer,g_uart[UART_2].RecvBuffer,g_uart[UART_2].RecvLen);
    63c2:	5ce2      	addi      	r7, r4, 1
			if(g_uart[UART_2].processing_cf != NULL){
    63c4:	080f      	bt      	0x63e2	// 63e2 <UART2_TASK+0xaa>
                rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen);
            }
			
			if(rev != 0x00){
				/*设置本机触摸参数 - 通讯协议*/
				TouchKey_Comm_Processing(DealBuffer,DealLen);
    63c6:	8d32      	ld.h      	r1, (r5, 0x24)
    63c8:	100d      	lrw      	r0, 0x200000c4	// 63fc <UART2_TASK+0xc4>
    63ca:	e0000567 	bsr      	0x6e98	// 6e98 <TouchKey_Comm_Processing>
			}
			
			/*Boot处理函数 */
			if(rev != 0x00)
			{
				Boot_Comm_UpgradeProcess(DealBuffer,DealLen);
    63ce:	8d32      	ld.h      	r1, (r5, 0x24)
    63d0:	100b      	lrw      	r0, 0x200000c4	// 63fc <UART2_TASK+0xc4>
    63d2:	e000157b 	bsr      	0x8ec8	// 8ec8 <Boot_Comm_UpgradeProcess>
			}

//            g_uart[UART_2].RecvLen = 0;
//            g_uart[UART_2].Receiving = 0;
			memset(DealBuffer,0,USART_BUFFER_SIZE);		
    63d6:	3264      	movi      	r2, 100
    63d8:	3100      	movi      	r1, 0
    63da:	1009      	lrw      	r0, 0x200000c4	// 63fc <UART2_TASK+0xc4>
    63dc:	e3ffeee0 	bsr      	0x419c	// 419c <__memset_fast>
		}
	}
}
    63e0:	1494      	pop      	r4-r7, r15
                rev = g_uart[UART_2].processing_cf(DealBuffer,DealLen);
    63e2:	8d32      	ld.h      	r1, (r5, 0x24)
    63e4:	1006      	lrw      	r0, 0x200000c4	// 63fc <UART2_TASK+0xc4>
    63e6:	7bcd      	jsr      	r3
			if(rev != 0x00){
    63e8:	3840      	cmpnei      	r0, 0
    63ea:	0ff6      	bf      	0x63d6	// 63d6 <UART2_TASK+0x9e>
    63ec:	07ed      	br      	0x63c6	// 63c6 <UART2_TASK+0x8e>
    63ee:	0000      	bkpt
    63f0:	2000043a 	.long	0x2000043a
    63f4:	200000c0 	.long	0x200000c0
    63f8:	200003d6 	.long	0x200003d6
    63fc:	200000c4 	.long	0x200000c4
    6400:	20000104 	.long	0x20000104

Disassembly of section .text.BUS485_Send:

00006404 <BUS485_Send>:
 * 			buff:发送数据
 * 			len：数据长度
 * @retval 	
 * */
U8_T BUS485_Send(U8_T *buff,U16_T len)
{
    6404:	14d4      	push      	r4-r7, r15
    6406:	1423      	subi      	r14, r14, 12
    6408:	b802      	st.w      	r0, (r14, 0x8)
    640a:	b820      	st.w      	r1, (r14, 0x0)
	unsigned int Dataval = 0,delay_cnt = 0;
    640c:	3500      	movi      	r5, 0

	//等待通讯发送完成
	while(RS485_Comming == 0x01){
    640e:	1189      	lrw      	r4, 0x200000c4	// 64b0 <BUS485_Send+0xac>
		
		delay_cnt ++;
		if(delay_cnt >= 100){
			break;
		}
		GPIO_Reverse(GPIOB0,3);
    6410:	11c9      	lrw      	r6, 0x20000048	// 64b4 <BUS485_Send+0xb0>
	while(RS485_Comming == 0x01){
    6412:	947a      	ld.w      	r3, (r4, 0x68)
    6414:	3b41      	cmpnei      	r3, 1
    6416:	0c3e      	bf      	0x6492	// 6492 <BUS485_Send+0x8e>
	}

	if(m_send.BusState_Flag == UART_BUSIDLE){		//总线空闲
    6418:	1168      	lrw      	r3, 0x2000046c	// 64b8 <BUS485_Send+0xb4>
    641a:	83d2      	ld.b      	r6, (r3, 0x12)
    641c:	3e40      	cmpnei      	r6, 0
    641e:	b861      	st.w      	r3, (r14, 0x4)
    6420:	0845      	bt      	0x64aa	// 64aa <BUS485_Send+0xa6>
		
		CK_CPU_DisAllNormalIrq();	
		
		GPIO_Write_High(GPIOB0,3);
    6422:	11e5      	lrw      	r7, 0x20000048	// 64b4 <BUS485_Send+0xb0>
		CK_CPU_DisAllNormalIrq();	
    6424:	e3fffec3 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
		GPIO_Write_High(GPIOB0,3);
    6428:	3103      	movi      	r1, 3
    642a:	9700      	ld.w      	r0, (r7, 0x0)
    642c:	e3fff2d6 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
		
		RS485_Comm_Flag = 0x01;
    6430:	3201      	movi      	r2, 1
		RS485_Comm_Start = 0x00;
		RS485_Comm_End = 0x00;		
		
		m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙
    6432:	9861      	ld.w      	r3, (r14, 0x4)
		RS485_Comm_Flag = 0x01;
    6434:	b45b      	st.w      	r2, (r4, 0x6c)
		m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙
    6436:	a352      	st.b      	r2, (r3, 0x12)
		RS485_Comm_Start = 0x00;
    6438:	b4dc      	st.w      	r6, (r4, 0x70)
		m_send.BUSBUSY_LOCK = 0x01;			//锁定总线状态
    643a:	a354      	st.b      	r2, (r3, 0x14)
		RS485_Comm_End = 0x00;		
    643c:	b4dd      	st.w      	r6, (r4, 0x74)

		CK_CPU_EnAllNormalIrq();		
    643e:	e3fffeb3 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
		
		UARTTransmit(UART2,buff,len);
    6442:	105f      	lrw      	r2, 0x20000038	// 64bc <BUS485_Send+0xb8>
    6444:	9200      	ld.w      	r0, (r2, 0x0)
    6446:	9822      	ld.w      	r1, (r14, 0x8)
    6448:	9840      	ld.w      	r2, (r14, 0x0)
    644a:	e3fff479 	bsr      	0x4d3c	// 4d3c <UARTTransmit>
		do{
			delay_nus(100);
    644e:	3064      	movi      	r0, 100
    6450:	e3fff87c 	bsr      	0x5548	// 5548 <delay_nus>
			delay_cnt ++;
    6454:	2500      	addi      	r5, 1
			if(delay_cnt >= 100){
    6456:	3363      	movi      	r3, 99
    6458:	654c      	cmphs      	r3, r5
    645a:	0c08      	bf      	0x646a	// 646a <BUS485_Send+0x66>
				break;
			}
			
		}while((RS485_Comm_Start < len) || (RS485_Comm_End < len));    //发送完成
    645c:	947c      	ld.w      	r3, (r4, 0x70)
    645e:	9840      	ld.w      	r2, (r14, 0x0)
    6460:	648d      	cmplt      	r3, r2
    6462:	0bf6      	bt      	0x644e	// 644e <BUS485_Send+0x4a>
    6464:	947d      	ld.w      	r3, (r4, 0x74)
    6466:	648d      	cmplt      	r3, r2
    6468:	0bf3      	bt      	0x644e	// 644e <BUS485_Send+0x4a>


		CK_CPU_DisAllNormalIrq();	
    646a:	e3fffea0 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
		
		GPIO_Write_Low(GPIOB0,3);
    646e:	9700      	ld.w      	r0, (r7, 0x0)
    6470:	3103      	movi      	r1, 3
    6472:	e3fff2b7 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
		RS485_Comm_Flag = 0x00;			
    6476:	3300      	movi      	r3, 0
    6478:	b47b      	st.w      	r3, (r4, 0x6c)
		
		m_send.BusState_Tick = SysTick_1ms;
    647a:	1072      	lrw      	r3, 0x200000c0	// 64c0 <BUS485_Send+0xbc>
    647c:	9340      	ld.w      	r2, (r3, 0x0)
    647e:	1072      	lrw      	r3, 0x2000044c	// 64c4 <BUS485_Send+0xc0>
    6480:	b353      	st.w      	r2, (r3, 0x4c)
		m_send.BUSBUSY_LOCK = 0x00;			//解锁总线状态
    6482:	9861      	ld.w      	r3, (r14, 0x4)
    6484:	3200      	movi      	r2, 0
    6486:	a354      	st.b      	r2, (r3, 0x14)
		
		CK_CPU_EnAllNormalIrq();			
    6488:	e3fffe8e 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	{ 		
		return UART_BUSBUSY;	//发送失败
	}	
	
	return 0x02;		//传入状态无效
}
    648c:	6c1b      	mov      	r0, r6
    648e:	1403      	addi      	r14, r14, 12
    6490:	1494      	pop      	r4-r7, r15
		delay_nus(100);
    6492:	3064      	movi      	r0, 100
    6494:	e3fff85a 	bsr      	0x5548	// 5548 <delay_nus>
		delay_cnt ++;
    6498:	2500      	addi      	r5, 1
		if(delay_cnt >= 100){
    649a:	3364      	movi      	r3, 100
    649c:	64d6      	cmpne      	r5, r3
    649e:	0fbd      	bf      	0x6418	// 6418 <BUS485_Send+0x14>
		GPIO_Reverse(GPIOB0,3);
    64a0:	3103      	movi      	r1, 3
    64a2:	9600      	ld.w      	r0, (r6, 0x0)
    64a4:	e3fff2a2 	bsr      	0x49e8	// 49e8 <GPIO_Reverse>
    64a8:	07b5      	br      	0x6412	// 6412 <BUS485_Send+0xe>
		return UART_BUSBUSY;	//发送失败
    64aa:	3601      	movi      	r6, 1
    64ac:	07f0      	br      	0x648c	// 648c <BUS485_Send+0x88>
    64ae:	0000      	bkpt
    64b0:	200000c4 	.long	0x200000c4
    64b4:	20000048 	.long	0x20000048
    64b8:	2000046c 	.long	0x2000046c
    64bc:	20000038 	.long	0x20000038
    64c0:	200000c0 	.long	0x200000c0
    64c4:	2000044c 	.long	0x2000044c

Disassembly of section .text.MultSend_Task:

000064c8 <MultSend_Task>:
 * 			DatSd：发送标记,0x00:无发送，0x01：有数据发送
 * 
 * @retval 	0x00:发送成功	0x01:等待发送	0x02:数据无效
 * */
U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd)
{
    64c8:	14d4      	push      	r4-r7, r15
	if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
    64ca:	5963      	subi      	r3, r1, 1
    64cc:	74cd      	zexth      	r3, r3
    64ce:	3431      	movi      	r4, 49
    64d0:	64d0      	cmphs      	r4, r3
    64d2:	0c25      	bf      	0x651c	// 651c <MultSend_Task+0x54>
	
	if(DatSd == 0x01)	
    64d4:	3a41      	cmpnei      	r2, 1
    64d6:	0c03      	bf      	0x64dc	// 64dc <MultSend_Task+0x14>
		}else{
			Dbg_Println(DBG_BIT_Debug_STATUS,"retry end,%d",m_send.ResendCnt );
			return RETRY_END;//没有重发次数
		}
	}
	return BUSSEND_WAIT;//等待
    64d8:	3001      	movi      	r0, 1
}
    64da:	1494      	pop      	r4-r7, r15
		if( m_send.ResendCnt < m_send.TotalCnt)	//判断数据是否还在有效期，是否还有发送次数
    64dc:	1093      	lrw      	r4, 0x2000044c	// 6528 <MultSend_Task+0x60>
    64de:	3520      	movi      	r5, 32
    64e0:	6150      	addu      	r5, r4
    64e2:	8556      	ld.b      	r2, (r5, 0x16)
    64e4:	8578      	ld.b      	r3, (r5, 0x18)
    64e6:	64c8      	cmphs      	r2, r3
    64e8:	081c      	bt      	0x6520	// 6520 <MultSend_Task+0x58>
			if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time)
    64ea:	10d1      	lrw      	r6, 0x200000c0	// 652c <MultSend_Task+0x64>
    64ec:	9660      	ld.w      	r3, (r6, 0x0)
    64ee:	94f5      	ld.w      	r7, (r4, 0x54)
    64f0:	60de      	subu      	r3, r7
    64f2:	94f2      	ld.w      	r7, (r4, 0x48)
    64f4:	65cc      	cmphs      	r3, r7
    64f6:	0817      	bt      	0x6524	// 6524 <MultSend_Task+0x5c>
				if( (m_send.ResendCnt == 0x00) || (SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time) ){//数据发送间隔
    64f8:	3a40      	cmpnei      	r2, 0
    64fa:	0c07      	bf      	0x6508	// 6508 <MultSend_Task+0x40>
    64fc:	9454      	ld.w      	r2, (r4, 0x50)
    64fe:	9660      	ld.w      	r3, (r6, 0x0)
    6500:	60ca      	subu      	r3, r2
    6502:	9451      	ld.w      	r2, (r4, 0x44)
    6504:	648c      	cmphs      	r3, r2
    6506:	0fe9      	bf      	0x64d8	// 64d8 <MultSend_Task+0x10>
					if(BUS485_Send(buff,len) == UART_BUSIDLE){	//发送数据
    6508:	e3ffff7e 	bsr      	0x6404	// 6404 <BUS485_Send>
    650c:	3840      	cmpnei      	r0, 0
    650e:	0be5      	bt      	0x64d8	// 64d8 <MultSend_Task+0x10>
						m_send.ASend_Tick = SysTick_1ms;
    6510:	9660      	ld.w      	r3, (r6, 0x0)
    6512:	b474      	st.w      	r3, (r4, 0x50)
						m_send.ResendCnt++;
    6514:	8576      	ld.b      	r3, (r5, 0x16)
    6516:	2300      	addi      	r3, 1
    6518:	a576      	st.b      	r3, (r5, 0x16)
    651a:	07e0      	br      	0x64da	// 64da <MultSend_Task+0x12>
	if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
    651c:	3004      	movi      	r0, 4
    651e:	07de      	br      	0x64da	// 64da <MultSend_Task+0x12>
			return RETRY_END;//没有重发次数
    6520:	3003      	movi      	r0, 3
    6522:	07dc      	br      	0x64da	// 64da <MultSend_Task+0x12>
				return DATA_END;//数据有效期结束
    6524:	3002      	movi      	r0, 2
    6526:	07da      	br      	0x64da	// 64da <MultSend_Task+0x12>
    6528:	2000044c 	.long	0x2000044c
    652c:	200000c0 	.long	0x200000c0

Disassembly of section .text.Set_GroupSend:

00006530 <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)
{
    6530:	14d4      	push      	r4-r7, r15
    6532:	1422      	subi      	r14, r14, 8
    6534:	6d8b      	mov      	r6, r2
    6536:	9847      	ld.w      	r2, (r14, 0x1c)
    6538:	b840      	st.w      	r2, (r14, 0x0)
	if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
    653a:	5943      	subi      	r2, r1, 1
{
    653c:	6d47      	mov      	r5, r1
	if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
    653e:	7489      	zexth      	r2, r2
    6540:	3131      	movi      	r1, 49
    6542:	6484      	cmphs      	r1, r2
{
    6544:	6dc3      	mov      	r7, r0
	if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
    6546:	0c1d      	bf      	0x6580	// 6580 <Set_GroupSend+0x50>
	
	memset(m_send.SendBuffer,0, USART_SEND_SIZE);
    6548:	108f      	lrw      	r4, 0x2000044c	// 6584 <Set_GroupSend+0x54>
    654a:	3232      	movi      	r2, 50
    654c:	3100      	movi      	r1, 0
    654e:	6c13      	mov      	r0, r4
    6550:	b861      	st.w      	r3, (r14, 0x4)
    6552:	e3ffee25 	bsr      	0x419c	// 419c <__memset_fast>
	memcpy(m_send.SendBuffer,data,sled);
    6556:	6c97      	mov      	r2, r5
    6558:	6c5f      	mov      	r1, r7
    655a:	6c13      	mov      	r0, r4
    655c:	e3ffee64 	bsr      	0x4224	// 4224 <__memcpy_fast>
	m_send.SendLen = sled;
	
	m_send.DataValid_Time = indate;//数据有效期
    6560:	9861      	ld.w      	r3, (r14, 0x4)
	m_send.TotalCnt = SCnt;			//数据发送次数
	m_send.DataWait_Time = tim_val;//发送数据间隔
    6562:	9840      	ld.w      	r2, (r14, 0x0)
	m_send.DataValid_Time = indate;//数据有效期
    6564:	b472      	st.w      	r3, (r4, 0x48)
	m_send.TotalCnt = SCnt;			//数据发送次数
    6566:	3320      	movi      	r3, 32
    6568:	60d0      	addu      	r3, r4
	m_send.DataWait_Time = tim_val;//发送数据间隔
    656a:	b451      	st.w      	r2, (r4, 0x44)
	
	m_send.ASend_Flag = 0x01;
    656c:	3201      	movi      	r2, 1
    656e:	a357      	st.b      	r2, (r3, 0x17)
	m_send.SendState = BUSSEND_WAIT;
    6570:	a355      	st.b      	r2, (r3, 0x15)
	m_send.ResendCnt = 0x00;
    6572:	3200      	movi      	r2, 0
	m_send.TotalCnt = SCnt;			//数据发送次数
    6574:	a3d8      	st.b      	r6, (r3, 0x18)
	m_send.ResendCnt = 0x00;
    6576:	a356      	st.b      	r2, (r3, 0x16)
	m_send.SendLen = sled;
    6578:	acbe      	st.h      	r5, (r4, 0x3c)
	m_send.BusbusyTimeout = SysTick_1ms;
    657a:	1064      	lrw      	r3, 0x200000c0	// 6588 <Set_GroupSend+0x58>
    657c:	9360      	ld.w      	r3, (r3, 0x0)
    657e:	b475      	st.w      	r3, (r4, 0x54)
}
    6580:	1402      	addi      	r14, r14, 8
    6582:	1494      	pop      	r4-r7, r15
    6584:	2000044c 	.long	0x2000044c
    6588:	200000c0 	.long	0x200000c0

Disassembly of section .text.Clear_SendFlag:

0000658c <Clear_SendFlag>:
//清除发送标志
void Clear_SendFlag(void)
{
	m_send.ASend_Flag = 0x00;
    658c:	1063      	lrw      	r3, 0x2000046c	// 6598 <Clear_SendFlag+0xc>
    658e:	3200      	movi      	r2, 0
    6590:	a357      	st.b      	r2, (r3, 0x17)
	m_send.SendState = BUSSEND_SUCC;
    6592:	a355      	st.b      	r2, (r3, 0x15)
}
    6594:	783c      	jmp      	r15
    6596:	0000      	bkpt
    6598:	2000046c 	.long	0x2000046c

Disassembly of section .text.BUS485Send_Task:

0000659c <BUS485Send_Task>:
	m_send.Jump_Flag = jump;
}

//485发送任务
void BUS485Send_Task(void)	//2025-03-29
{	
    659c:	14d1      	push      	r4, r15
	//空闲等待
	if(m_send.ASend_Flag == 0x01)
    659e:	100f      	lrw      	r0, 0x2000044c	// 65d8 <BUS485Send_Task+0x3c>
    65a0:	3420      	movi      	r4, 32
    65a2:	6100      	addu      	r4, r0
    65a4:	8477      	ld.b      	r3, (r4, 0x17)
    65a6:	3b41      	cmpnei      	r3, 1
    65a8:	0817      	bt      	0x65d6	// 65d6 <BUS485Send_Task+0x3a>
	{
		m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag);
    65aa:	883e      	ld.h      	r1, (r0, 0x3c)
    65ac:	3201      	movi      	r2, 1
    65ae:	e3ffff8d 	bsr      	0x64c8	// 64c8 <MultSend_Task>
    65b2:	a415      	st.b      	r0, (r4, 0x15)
		
		if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效
    65b4:	2801      	subi      	r0, 2
    65b6:	7400      	zextb      	r0, r0
    65b8:	3801      	cmphsi      	r0, 2
    65ba:	080e      	bt      	0x65d6	// 65d6 <BUS485Send_Task+0x3a>
		{
			Dbg_Println(DBG_BIT_Debug_STATUS,"send end");
			
			m_send.ASend_Flag = 0x00;		//清除发生标志位
    65bc:	3300      	movi      	r3, 0
    65be:	a477      	st.b      	r3, (r4, 0x17)
//				UARTx_ChangeBaud(UART_2,m_send.SetBaud);
//				m_send.SetBaudFlag = 0x00;
//				m_send.SetBaud = 0x00;
//			}
			
			if(m_send.Jump_Flag == 0x01){
    65c0:	847a      	ld.b      	r3, (r4, 0x1a)
    65c2:	3b41      	cmpnei      	r3, 1
    65c4:	0809      	bt      	0x65d6	// 65d6 <BUS485Send_Task+0x3a>
				Dbg_Println(DBG_BIT_Debug_STATUS,"Jump Boot");
				
				SYSCON->UREG3 = g_boot.bootTimeout;		//向Boot 设定Boot超时时间
    65c6:	1066      	lrw      	r3, 0x2000005c	// 65dc <BUS485Send_Task+0x40>
    65c8:	1046      	lrw      	r2, 0x200006d0	// 65e0 <BUS485Send_Task+0x44>
    65ca:	9360      	ld.w      	r3, (r3, 0x0)
    65cc:	924d      	ld.w      	r2, (r2, 0x34)
    65ce:	23ff      	addi      	r3, 256
    65d0:	b343      	st.w      	r2, (r3, 0xc)
				SYSCON_Software_Reset();
    65d2:	e3fff013 	bsr      	0x45f8	// 45f8 <SYSCON_Software_Reset>
			}			
		}
	}
}
    65d6:	1491      	pop      	r4, r15
    65d8:	2000044c 	.long	0x2000044c
    65dc:	2000005c 	.long	0x2000005c
    65e0:	200006d0 	.long	0x200006d0

Disassembly of section .text.BusIdle_Task:

000065e4 <BusIdle_Task>:
/**********************************************************
 * @brief	2025-03-25，检测总线空闲，在定时器中断里调用
 * @retval 	None
 * */
void BusIdle_Task(void)
{
    65e4:	14d2      	push      	r4-r5, r15
	if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01))
    65e6:	10ae      	lrw      	r5, 0x2000044c	// 661c <BusIdle_Task+0x38>
    65e8:	3420      	movi      	r4, 32
    65ea:	6114      	addu      	r4, r5
    65ec:	8472      	ld.b      	r3, (r4, 0x12)
    65ee:	3b40      	cmpnei      	r3, 0
    65f0:	0c15      	bf      	0x661a	// 661a <BusIdle_Task+0x36>
    65f2:	8474      	ld.b      	r3, (r4, 0x14)
    65f4:	3b41      	cmpnei      	r3, 1
    65f6:	0c12      	bf      	0x661a	// 661a <BusIdle_Task+0x36>
	{
		CK_CPU_DisAllNormalIrq();
    65f8:	e3fffdd9 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
		if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) )
    65fc:	8473      	ld.b      	r3, (r4, 0x13)
    65fe:	3b41      	cmpnei      	r3, 1
    6600:	080b      	bt      	0x6616	// 6616 <BusIdle_Task+0x32>
    6602:	1068      	lrw      	r3, 0x200000c0	// 6620 <BusIdle_Task+0x3c>
    6604:	9340      	ld.w      	r2, (r3, 0x0)
    6606:	9573      	ld.w      	r3, (r5, 0x4c)
    6608:	608e      	subu      	r2, r3
    660a:	9570      	ld.w      	r3, (r5, 0x40)
    660c:	2305      	addi      	r3, 6
    660e:	64c8      	cmphs      	r2, r3
    6610:	0c03      	bf      	0x6616	// 6616 <BusIdle_Task+0x32>
		{
			m_send.BusState_Flag = UART_BUSIDLE;
    6612:	3300      	movi      	r3, 0
    6614:	a472      	st.b      	r3, (r4, 0x12)
		}	
		CK_CPU_EnAllNormalIrq();
    6616:	e3fffdc7 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	}
}
    661a:	1492      	pop      	r4-r5, r15
    661c:	2000044c 	.long	0x2000044c
    6620:	200000c0 	.long	0x200000c0

Disassembly of section .text.BusBusy_Task:

00006624 <BusBusy_Task>:
/*******************************************************************
 * @brief	检测总线繁忙，在串口接收RX引脚的外部中断服务函数里调用
 * @retval 	None
 * */
void BusBusy_Task(void)
{
    6624:	14d2      	push      	r4-r5, r15
	CK_CPU_DisAllNormalIrq();
	m_send.BusState_Flag = UART_BUSBUSY;
    6626:	1093      	lrw      	r4, 0x2000044c	// 6670 <BusBusy_Task+0x4c>
    6628:	3520      	movi      	r5, 32
	CK_CPU_DisAllNormalIrq();
    662a:	e3fffdc0 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
	m_send.BusState_Flag = UART_BUSBUSY;
    662e:	6150      	addu      	r5, r4
    6630:	3301      	movi      	r3, 1
    6632:	a572      	st.b      	r3, (r5, 0x12)
	m_send.BusState_Tick = SysTick_1ms;
	m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
    6634:	310a      	movi      	r1, 10
	m_send.BusState_Tick = SysTick_1ms;
    6636:	1070      	lrw      	r3, 0x200000c0	// 6674 <BusBusy_Task+0x50>
    6638:	9340      	ld.w      	r2, (r3, 0x0)
	m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
    663a:	9300      	ld.w      	r0, (r3, 0x0)
    663c:	9474      	ld.w      	r3, (r4, 0x50)
	m_send.BusState_Tick = SysTick_1ms;
    663e:	b453      	st.w      	r2, (r4, 0x4c)
	m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
    6640:	600e      	subu      	r0, r3
    6642:	e3fffd9f 	bsr      	0x6180	// 6180 <__umodsi3>
    6646:	b410      	st.w      	r0, (r4, 0x40)

	if(READ_RXLEVEL_STATE == 0x01){
    6648:	3105      	movi      	r1, 5
    664a:	108c      	lrw      	r4, 0x20000048	// 6678 <BusBusy_Task+0x54>
    664c:	9400      	ld.w      	r0, (r4, 0x0)
    664e:	e3fff1d8 	bsr      	0x49fe	// 49fe <GPIO_Read_Status>
    6652:	3841      	cmpnei      	r0, 1
    6654:	0806      	bt      	0x6660	// 6660 <BusBusy_Task+0x3c>
		m_send.HighBit_Flag = 0x01;			//高电平标志置位
    6656:	3301      	movi      	r3, 1
	}else if(READ_RXLEVEL_STATE == 0x00){
		m_send.HighBit_Flag = 0x00;			//低电平
    6658:	a573      	st.b      	r3, (r5, 0x13)
	}	
	CK_CPU_EnAllNormalIrq();
    665a:	e3fffda5 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
}
    665e:	1492      	pop      	r4-r5, r15
	}else if(READ_RXLEVEL_STATE == 0x00){
    6660:	9400      	ld.w      	r0, (r4, 0x0)
    6662:	3105      	movi      	r1, 5
    6664:	e3fff1cd 	bsr      	0x49fe	// 49fe <GPIO_Read_Status>
    6668:	3840      	cmpnei      	r0, 0
    666a:	0bf8      	bt      	0x665a	// 665a <BusBusy_Task+0x36>
		m_send.HighBit_Flag = 0x00;			//低电平
    666c:	3300      	movi      	r3, 0
    666e:	07f5      	br      	0x6658	// 6658 <BusBusy_Task+0x34>
    6670:	2000044c 	.long	0x2000044c
    6674:	200000c0 	.long	0x200000c0
    6678:	20000048 	.long	0x20000048

Disassembly of section .text.Dbg_Println:

0000667c <Dbg_Println>:
    }

#endif	
}

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

#endif	
}
    6684:	1403      	addi      	r14, r14, 12
    6686:	783c      	jmp      	r15

Disassembly of section .text.Dbg_Print_Buff:

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

#endif	
}
    6688:	783c      	jmp      	r15

Disassembly of section .text.Touch_Key_Init:

0000668c <Touch_Key_Init>:

TOUCHKEY_INFO_T g_key;

TOUCHKEY_PARA	touch_para;		//触摸参数

void Touch_Key_Init(void){
    668c:	14d1      	push      	r4, r15
	U8_T rev = 0;
	memset(&g_key,0,sizeof(TOUCHKEY_INFO_T));
    668e:	3234      	movi      	r2, 52
    6690:	3100      	movi      	r1, 0
    6692:	1014      	lrw      	r0, 0x200004c0	// 66e0 <Touch_Key_Init+0x54>
    6694:	e3ffed84 	bsr      	0x419c	// 419c <__memset_fast>
//	memset(&touch_state,0,sizeof(TOUCH_STATUS_T));
	memset(&touch_para,0,sizeof(TOUCHKEY_PARA));
    6698:	321c      	movi      	r2, 28
    669a:	3100      	movi      	r1, 0
    669c:	1012      	lrw      	r0, 0x200004a4	// 66e4 <Touch_Key_Init+0x58>
    669e:	e3ffed7f 	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);
    66a2:	1092      	lrw      	r4, 0x200004f4	// 66e8 <Touch_Key_Init+0x5c>
	EEPROM_Init();     //按键库初始化前先读取参数
    66a4:	e000073a 	bsr      	0x7518	// 7518 <EEPROM_Init>
	rev = EEPROM_ReadTouchPara(g_eeprom.key_sens_level,&touch_para);
    66a8:	8405      	ld.b      	r0, (r4, 0x5)
    66aa:	102f      	lrw      	r1, 0x200004a4	// 66e4 <Touch_Key_Init+0x58>
    66ac:	e0000556 	bsr      	0x7158	// 7158 <EEPROM_ReadTouchPara>
	if(rev == 0x00){
    66b0:	3840      	cmpnei      	r0, 0
    66b2:	080e      	bt      	0x66ce	// 66ce <Touch_Key_Init+0x42>
		EEPROM_Validate_TouchPara(g_eeprom.key_sens_level,&touch_para);
    66b4:	8405      	ld.b      	r0, (r4, 0x5)
    66b6:	102c      	lrw      	r1, 0x200004a4	// 66e4 <Touch_Key_Init+0x58>
    66b8:	e00005a6 	bsr      	0x7204	// 7204 <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);
    66bc:	100a      	lrw      	r0, 0x200004a4	// 66e4 <Touch_Key_Init+0x58>
    66be:	e000064d 	bsr      	0x7358	// 7358 <EEPROM_TouchPara_Printf>
	
//	tk_scan_para0=0x70008;
//	tk_overflow_en  =0;
	tk_init();		//触摸库初始化
    66c2:	e0002f43 	bsr      	0xc548	// c548 <tk_init>

	base_update_f = 0x01;		//触摸状态强制更新
    66c6:	106a      	lrw      	r3, 0x20000999	// 66ec <Touch_Key_Init+0x60>
    66c8:	3201      	movi      	r2, 1
    66ca:	a340      	st.b      	r2, (r3, 0x0)
	
}
    66cc:	1491      	pop      	r4, r15
		Dbg_Println(DBG_BIT_SYS_STATUS,"Default TouchPara");
    66ce:	1029      	lrw      	r1, 0xcda2	// 66f0 <Touch_Key_Init+0x64>
    66d0:	3000      	movi      	r0, 0
    66d2:	e3ffffd5 	bsr      	0x667c	// 667c <Dbg_Println>
		EEPROM_Default_TouchPara(g_eeprom.key_sens_level,&touch_para);
    66d6:	8405      	ld.b      	r0, (r4, 0x5)
    66d8:	1023      	lrw      	r1, 0x200004a4	// 66e4 <Touch_Key_Init+0x58>
    66da:	e0000607 	bsr      	0x72e8	// 72e8 <EEPROM_Default_TouchPara>
    66de:	07ef      	br      	0x66bc	// 66bc <Touch_Key_Init+0x30>
    66e0:	200004c0 	.long	0x200004c0
    66e4:	200004a4 	.long	0x200004a4
    66e8:	200004f4 	.long	0x200004f4
    66ec:	20000999 	.long	0x20000999
    66f0:	0000cda2 	.long	0x0000cda2

Disassembly of section .text.TouchKey_RS485_Printf_2:

000066f4 <TouchKey_RS485_Printf_2>:
}

//2025-03-31，新触摸库打印触摸环境值函数

U8_T Printf_Ch = TKE_CH_MAX;
void TouchKey_RS485_Printf_2(void){
    66f4:	14d4      	push      	r4-r7, r15
    66f6:	1432      	subi      	r14, r14, 72
	U8_T ch = 0;
	U8_T send_buff[50];
	U8_T send_len = 0;
	U8_T i = 0;
	
	switch ((Key_Map>>9)&0x1f) {
    66f8:	0378      	lrw      	r3, 0x200009f4	// 6914 <TouchKey_RS485_Printf_2+0x220>
    66fa:	321f      	movi      	r2, 31
    66fc:	9300      	ld.w      	r0, (r3, 0x0)
    66fe:	4809      	lsri      	r0, r0, 9
    6700:	6808      	and      	r0, r2
    6702:	3810      	cmphsi      	r0, 17
    6704:	b862      	st.w      	r3, (r14, 0x8)
    6706:	037a      	lrw      	r3, 0x20000068	// 6918 <TouchKey_RS485_Printf_2+0x224>
    6708:	0852      	bt      	0x67ac	// 67ac <TouchKey_RS485_Printf_2+0xb8>
    670a:	e3ffe6f9 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    670e:	090b      	.short	0x090b
    6710:	4f494f47 	.long	0x4f494f47
    6714:	4f4b4f4f 	.long	0x4f4b4f4f
    6718:	4f4f4f4f 	.long	0x4f4f4f4f
    671c:	004d4f4f 	.long	0x004d4f4f
		case 0x00:break;
		case 0x01:Printf_Ch = TKE_CH1;break;
    6720:	3200      	movi      	r2, 0
		case 0x02:Printf_Ch = TKE_CH2;break;
		case 0x04:Printf_Ch = TKE_CH3;break;
		case 0x08:Printf_Ch = TKE_CH4;break;
		case 0x10:Printf_Ch = TKE_CH5;break;
		default:Printf_Ch = TKE_CH_MAX;break;
    6722:	a340      	st.b      	r2, (r3, 0x0)
	}
	
	ch = Printf_Ch;
    6724:	8360      	ld.b      	r3, (r3, 0x0)
    6726:	b861      	st.w      	r3, (r14, 0x4)
	
	send_buff[send_len++] = 0x0D;
    6728:	1805      	addi      	r0, r14, 20
    672a:	330d      	movi      	r3, 13
    672c:	a060      	st.b      	r3, (r0, 0x0)
	send_buff[send_len++] = 0x0A;
    672e:	330a      	movi      	r3, 10
    6730:	135b      	lrw      	r2, 0x200008bc	// 691c <TouchKey_RS485_Printf_2+0x228>
    6732:	139c      	lrw      	r4, 0x20000069	// 6920 <TouchKey_RS485_Printf_2+0x22c>
    6734:	a061      	st.b      	r3, (r0, 0x1)
	
	if (ch == TKE_CH_MAX){
    6736:	9861      	ld.w      	r3, (r14, 0x4)
    6738:	3b45      	cmpnei      	r3, 5
    673a:	b843      	st.w      	r2, (r14, 0xc)
    673c:	137a      	lrw      	r3, 0x20000b5e	// 6924 <TouchKey_RS485_Printf_2+0x230>
    673e:	135b      	lrw      	r2, 0x20000890	// 6928 <TouchKey_RS485_Printf_2+0x234>
    6740:	b844      	st.w      	r2, (r14, 0x10)
    6742:	0837      	bt      	0x67b0	// 67b0 <TouchKey_RS485_Printf_2+0xbc>
    6744:	6c83      	mov      	r2, r0
    6746:	3500      	movi      	r5, 0
		
		for(i=0;i<TKE_CH_MAX;i++){
				
			send_buff[send_len++] = offset_data0_abs[MCU_Touch_CH[i]]>>8;
    6748:	5c34      	addu      	r1, r4, r5
    674a:	8120      	ld.b      	r1, (r1, 0x0)
    674c:	4121      	lsli      	r1, r1, 1
    674e:	5be4      	addu      	r7, r3, r1
    6750:	8fc0      	ld.h      	r6, (r7, 0x0)
    6752:	4ec8      	lsri      	r6, r6, 8
    6754:	a2c2      	st.b      	r6, (r2, 0x2)
			send_buff[send_len++] = offset_data0_abs[MCU_Touch_CH[i]]&0xff;
    6756:	8fc0      	ld.h      	r6, (r7, 0x0)
			
			send_buff[send_len++] = offset_data1_abs[MCU_Touch_CH[i]]>>8;
    6758:	98e3      	ld.w      	r7, (r14, 0xc)
    675a:	61c4      	addu      	r7, r1
			send_buff[send_len++] = offset_data0_abs[MCU_Touch_CH[i]]&0xff;
    675c:	a2c3      	st.b      	r6, (r2, 0x3)
			send_buff[send_len++] = offset_data1_abs[MCU_Touch_CH[i]]>>8;
    675e:	8fc0      	ld.h      	r6, (r7, 0x0)
    6760:	4ec8      	lsri      	r6, r6, 8
    6762:	a2c4      	st.b      	r6, (r2, 0x4)
			send_buff[send_len++] = offset_data1_abs[MCU_Touch_CH[i]]&0xff;
    6764:	8fc0      	ld.h      	r6, (r7, 0x0)
    6766:	a2c5      	st.b      	r6, (r2, 0x5)
			
			send_buff[send_len++] = offset_data2_abs[MCU_Touch_CH[i]]>>8;
    6768:	98c4      	ld.w      	r6, (r14, 0x10)
    676a:	6058      	addu      	r1, r6
    676c:	89c0      	ld.h      	r6, (r1, 0x0)
    676e:	2500      	addi      	r5, 1
    6770:	4ec8      	lsri      	r6, r6, 8
			send_buff[send_len++] = offset_data2_abs[MCU_Touch_CH[i]]&0xff;
    6772:	8920      	ld.h      	r1, (r1, 0x0)
		for(i=0;i<TKE_CH_MAX;i++){
    6774:	3d45      	cmpnei      	r5, 5
			send_buff[send_len++] = offset_data2_abs[MCU_Touch_CH[i]]>>8;
    6776:	a2c6      	st.b      	r6, (r2, 0x6)
			send_buff[send_len++] = offset_data2_abs[MCU_Touch_CH[i]]&0xff;
    6778:	a227      	st.b      	r1, (r2, 0x7)
    677a:	2205      	addi      	r2, 6
		for(i=0;i<TKE_CH_MAX;i++){
    677c:	0be6      	bt      	0x6748	// 6748 <TouchKey_RS485_Printf_2+0x54>

		}	
		
		send_buff[send_len++] = 0x00;
    677e:	3320      	movi      	r3, 32
    6780:	60c0      	addu      	r3, r0
    6782:	3200      	movi      	r2, 0
    6784:	a340      	st.b      	r2, (r3, 0x0)
		send_buff[send_len++] = 0x00;
    6786:	a341      	st.b      	r2, (r3, 0x1)
	
	send_buff[send_len++] = 0x00;
	send_buff[send_len++] = ((Key_Map & 0x0200<<ch) != 0);
	
//	MCU485_SendData(send_buff,send_len);
	Set_GroupSend(send_buff,send_len,1,BUSSend_ValidTime3,20);	//组包
    6788:	3314      	movi      	r3, 20
    678a:	b860      	st.w      	r3, (r14, 0x0)
    678c:	3396      	movi      	r3, 150
    678e:	4361      	lsli      	r3, r3, 1
    6790:	3201      	movi      	r2, 1
    6792:	3122      	movi      	r1, 34
    6794:	e3fffece 	bsr      	0x6530	// 6530 <Set_GroupSend>

}
    6798:	1412      	addi      	r14, r14, 72
    679a:	1494      	pop      	r4-r7, r15
		case 0x02:Printf_Ch = TKE_CH2;break;
    679c:	3201      	movi      	r2, 1
    679e:	07c2      	br      	0x6722	// 6722 <TouchKey_RS485_Printf_2+0x2e>
		case 0x04:Printf_Ch = TKE_CH3;break;
    67a0:	3202      	movi      	r2, 2
    67a2:	07c0      	br      	0x6722	// 6722 <TouchKey_RS485_Printf_2+0x2e>
		case 0x08:Printf_Ch = TKE_CH4;break;
    67a4:	3203      	movi      	r2, 3
    67a6:	07be      	br      	0x6722	// 6722 <TouchKey_RS485_Printf_2+0x2e>
		case 0x10:Printf_Ch = TKE_CH5;break;
    67a8:	3204      	movi      	r2, 4
    67aa:	07bc      	br      	0x6722	// 6722 <TouchKey_RS485_Printf_2+0x2e>
		default:Printf_Ch = TKE_CH_MAX;break;
    67ac:	3205      	movi      	r2, 5
    67ae:	07ba      	br      	0x6722	// 6722 <TouchKey_RS485_Printf_2+0x2e>
	i=MCU_Touch_CH[ch];
    67b0:	9841      	ld.w      	r2, (r14, 0x4)
    67b2:	6108      	addu      	r4, r2
	send_buff[send_len++] = sampling_data0[i]>>8;		
    67b4:	8440      	ld.b      	r2, (r4, 0x0)
    67b6:	4241      	lsli      	r2, r2, 1
    67b8:	129d      	lrw      	r4, 0x20000ba6	// 692c <TouchKey_RS485_Printf_2+0x238>
    67ba:	6108      	addu      	r4, r2
    67bc:	8c20      	ld.h      	r1, (r4, 0x0)
    67be:	4928      	lsri      	r1, r1, 8
    67c0:	a022      	st.b      	r1, (r0, 0x2)
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    67c2:	8c20      	ld.h      	r1, (r4, 0x0)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    67c4:	129b      	lrw      	r4, 0x20000854	// 6930 <TouchKey_RS485_Printf_2+0x23c>
    67c6:	6108      	addu      	r4, r2
	send_buff[send_len++] = sampling_data0[i]&0xff;	
    67c8:	a023      	st.b      	r1, (r0, 0x3)
	send_buff[send_len++] = baseline_data0[i]>>8;		
    67ca:	8c20      	ld.h      	r1, (r4, 0x0)
    67cc:	4928      	lsri      	r1, r1, 8
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    67ce:	60c8      	addu      	r3, r2
	send_buff[send_len++] = baseline_data0[i]>>8;		
    67d0:	a024      	st.b      	r1, (r0, 0x4)
	send_buff[send_len++] = baseline_data0[i]&0xff;
    67d2:	8c20      	ld.h      	r1, (r4, 0x0)
    67d4:	a025      	st.b      	r1, (r0, 0x5)
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    67d6:	8b20      	ld.h      	r1, (r3, 0x0)
    67d8:	4928      	lsri      	r1, r1, 8
	send_buff[send_len++] = sampling_data1[i]>>8;		
    67da:	1297      	lrw      	r4, 0x2000093c	// 6934 <TouchKey_RS485_Printf_2+0x240>
    67dc:	6108      	addu      	r4, r2
	send_buff[send_len++] = offset_data0_abs[i]>>8;
    67de:	a026      	st.b      	r1, (r0, 0x6)
	send_buff[send_len++] = offset_data0_abs[i]&0xff;
    67e0:	8b20      	ld.h      	r1, (r3, 0x0)
    67e2:	a027      	st.b      	r1, (r0, 0x7)
	send_buff[send_len++] = sampling_data1[i]>>8;		
    67e4:	8c20      	ld.h      	r1, (r4, 0x0)
    67e6:	4928      	lsri      	r1, r1, 8
    67e8:	a028      	st.b      	r1, (r0, 0x8)
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    67ea:	8c20      	ld.h      	r1, (r4, 0x0)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    67ec:	1293      	lrw      	r4, 0x200009fe	// 6938 <TouchKey_RS485_Printf_2+0x244>
    67ee:	6108      	addu      	r4, r2
	send_buff[send_len++] = sampling_data1[i]&0xff;	
    67f0:	a029      	st.b      	r1, (r0, 0x9)
	send_buff[send_len++] = baseline_data1[i]>>8;		
    67f2:	8c20      	ld.h      	r1, (r4, 0x0)
    67f4:	4928      	lsri      	r1, r1, 8
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    67f6:	12aa      	lrw      	r5, 0x200008bc	// 691c <TouchKey_RS485_Printf_2+0x228>
    67f8:	6148      	addu      	r5, r2
	send_buff[send_len++] = baseline_data1[i]>>8;		
    67fa:	a02a      	st.b      	r1, (r0, 0xa)
	send_buff[send_len++] = baseline_data1[i]&0xff;
    67fc:	8c20      	ld.h      	r1, (r4, 0x0)
    67fe:	a02b      	st.b      	r1, (r0, 0xb)
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    6800:	8d20      	ld.h      	r1, (r5, 0x0)
    6802:	4928      	lsri      	r1, r1, 8
	send_buff[send_len++] = sampling_data2[i]>>8;		
    6804:	128e      	lrw      	r4, 0x20000a32	// 693c <TouchKey_RS485_Printf_2+0x248>
    6806:	6108      	addu      	r4, r2
	send_buff[send_len++] = offset_data1_abs[i]>>8;
    6808:	a02c      	st.b      	r1, (r0, 0xc)
	send_buff[send_len++] = offset_data1_abs[i]&0xff;
    680a:	8d20      	ld.h      	r1, (r5, 0x0)
    680c:	a02d      	st.b      	r1, (r0, 0xd)
	send_buff[send_len++] = sampling_data2[i]>>8;		
    680e:	8c20      	ld.h      	r1, (r4, 0x0)
    6810:	4928      	lsri      	r1, r1, 8
    6812:	a02e      	st.b      	r1, (r0, 0xe)
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    6814:	8c20      	ld.h      	r1, (r4, 0x0)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    6816:	128b      	lrw      	r4, 0x20000b14	// 6940 <TouchKey_RS485_Printf_2+0x24c>
    6818:	6108      	addu      	r4, r2
	send_buff[send_len++] = sampling_data2[i]&0xff;	
    681a:	a02f      	st.b      	r1, (r0, 0xf)
	send_buff[send_len++] = baseline_data2[i]>>8;		
    681c:	8c20      	ld.h      	r1, (r4, 0x0)
    681e:	4928      	lsri      	r1, r1, 8
    6820:	a030      	st.b      	r1, (r0, 0x10)
	send_buff[send_len++] = baseline_data2[i]&0xff;
    6822:	8c20      	ld.h      	r1, (r4, 0x0)
    6824:	a031      	st.b      	r1, (r0, 0x11)
	send_buff[send_len++] = (offset_data0_abs[i]>= touch_para.triggerlevel[ch]);
    6826:	12c8      	lrw      	r6, 0x200004b0	// 6944 <TouchKey_RS485_Printf_2+0x250>
	send_buff[send_len++] = offset_data2_abs[i]>>8;
    6828:	1220      	lrw      	r1, 0x20000890	// 6928 <TouchKey_RS485_Printf_2+0x234>
    682a:	6048      	addu      	r1, r2
    682c:	6c87      	mov      	r2, r1
    682e:	8920      	ld.h      	r1, (r1, 0x0)
    6830:	4928      	lsri      	r1, r1, 8
    6832:	a032      	st.b      	r1, (r0, 0x12)
	send_buff[send_len++] = offset_data2_abs[i]&0xff;
    6834:	8a20      	ld.h      	r1, (r2, 0x0)
    6836:	a033      	st.b      	r1, (r0, 0x13)
	send_buff[send_len++] = 0x00;
    6838:	3100      	movi      	r1, 0
    683a:	a034      	st.b      	r1, (r0, 0x14)
	send_buff[send_len++] = (offset_data0_abs[i]>= touch_para.triggerlevel[ch]);
    683c:	9821      	ld.w      	r1, (r14, 0x4)
    683e:	4121      	lsli      	r1, r1, 1
    6840:	8b80      	ld.h      	r4, (r3, 0x0)
    6842:	6058      	addu      	r1, r6
    6844:	8921      	ld.h      	r1, (r1, 0x2)
    6846:	7511      	zexth      	r4, r4
    6848:	6450      	cmphs      	r4, r1
    684a:	3400      	movi      	r4, 0
    684c:	6111      	addc      	r4, r4
    684e:	a095      	st.b      	r4, (r0, 0x15)
	send_buff[send_len++] = 0x00;
    6850:	3400      	movi      	r4, 0
    6852:	a096      	st.b      	r4, (r0, 0x16)
	send_buff[send_len++] = (offset_data1_abs[i]>= touch_para.triggerlevel[ch]);
    6854:	8d80      	ld.h      	r4, (r5, 0x0)
    6856:	7511      	zexth      	r4, r4
    6858:	6450      	cmphs      	r4, r1
    685a:	3400      	movi      	r4, 0
    685c:	6111      	addc      	r4, r4
    685e:	a097      	st.b      	r4, (r0, 0x17)
	send_buff[send_len++] = 0x00;
    6860:	3400      	movi      	r4, 0
    6862:	a098      	st.b      	r4, (r0, 0x18)
	send_buff[send_len++] = (offset_data2_abs[i]>= touch_para.triggerlevel[ch]);
    6864:	8a80      	ld.h      	r4, (r2, 0x0)
    6866:	7511      	zexth      	r4, r4
    6868:	6450      	cmphs      	r4, r1
    686a:	3400      	movi      	r4, 0
    686c:	6111      	addc      	r4, r4
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=1);
    686e:	8bc0      	ld.h      	r6, (r3, 0x0)
	send_buff[send_len++] = (offset_data2_abs[i]>= touch_para.triggerlevel[ch]);
    6870:	a099      	st.b      	r4, (r0, 0x19)
	send_buff[send_len++] = 0x00;
    6872:	3400      	movi      	r4, 0
    6874:	a09a      	st.b      	r4, (r0, 0x1a)
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=1);
    6876:	7599      	zexth      	r6, r6
    6878:	8d80      	ld.h      	r4, (r5, 0x0)
    687a:	6458      	cmphs      	r6, r1
    687c:	7511      	zexth      	r4, r4
    687e:	3600      	movi      	r6, 0
    6880:	8ae0      	ld.h      	r7, (r2, 0x0)
    6882:	6199      	addc      	r6, r6
    6884:	6450      	cmphs      	r4, r1
    6886:	3400      	movi      	r4, 0
    6888:	75dd      	zexth      	r7, r7
    688a:	6111      	addc      	r4, r4
    688c:	6118      	addu      	r4, r6
    688e:	645c      	cmphs      	r7, r1
    6890:	3600      	movi      	r6, 0
    6892:	6199      	addc      	r6, r6
    6894:	6118      	addu      	r4, r6
    6896:	3c20      	cmplti      	r4, 1
    6898:	6503      	mvcv      	r4
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=2);
    689a:	8bc0      	ld.h      	r6, (r3, 0x0)
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=1);
    689c:	a09b      	st.b      	r4, (r0, 0x1b)
	send_buff[send_len++] = 0x00;
    689e:	3400      	movi      	r4, 0
    68a0:	a09c      	st.b      	r4, (r0, 0x1c)
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=2);
    68a2:	7599      	zexth      	r6, r6
    68a4:	8d80      	ld.h      	r4, (r5, 0x0)
    68a6:	6458      	cmphs      	r6, r1
    68a8:	7511      	zexth      	r4, r4
    68aa:	3600      	movi      	r6, 0
    68ac:	8ae0      	ld.h      	r7, (r2, 0x0)
    68ae:	6199      	addc      	r6, r6
    68b0:	6450      	cmphs      	r4, r1
    68b2:	3400      	movi      	r4, 0
    68b4:	6111      	addc      	r4, r4
    68b6:	75dd      	zexth      	r7, r7
    68b8:	645c      	cmphs      	r7, r1
    68ba:	6118      	addu      	r4, r6
    68bc:	3600      	movi      	r6, 0
    68be:	6199      	addc      	r6, r6
    68c0:	6118      	addu      	r4, r6
    68c2:	3c21      	cmplti      	r4, 2
    68c4:	6503      	mvcv      	r4
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=3);
    68c6:	8b60      	ld.h      	r3, (r3, 0x0)
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=2);
    68c8:	a09d      	st.b      	r4, (r0, 0x1d)
	send_buff[send_len++] = 0x00;
    68ca:	3400      	movi      	r4, 0
    68cc:	a09e      	st.b      	r4, (r0, 0x1e)
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=3);
    68ce:	74cd      	zexth      	r3, r3
    68d0:	8d80      	ld.h      	r4, (r5, 0x0)
    68d2:	644c      	cmphs      	r3, r1
    68d4:	7511      	zexth      	r4, r4
    68d6:	8a40      	ld.h      	r2, (r2, 0x0)
    68d8:	3300      	movi      	r3, 0
    68da:	7489      	zexth      	r2, r2
    68dc:	60cd      	addc      	r3, r3
    68de:	6450      	cmphs      	r4, r1
    68e0:	3400      	movi      	r4, 0
    68e2:	6111      	addc      	r4, r4
    68e4:	6448      	cmphs      	r2, r1
    68e6:	3200      	movi      	r2, 0
    68e8:	6089      	addc      	r2, r2
    68ea:	60d0      	addu      	r3, r4
    68ec:	60c8      	addu      	r3, r2
    68ee:	3b22      	cmplti      	r3, 3
    68f0:	64c3      	mvcv      	r3
	send_buff[send_len++] = 0x00;
    68f2:	3220      	movi      	r2, 32
	send_buff[send_len++] = (((offset_data0_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data1_abs[i]>= touch_para.triggerlevel[ch]) + (offset_data2_abs[i]>= touch_para.triggerlevel[ch]))>=3);
    68f4:	a07f      	st.b      	r3, (r0, 0x1f)
	send_buff[send_len++] = 0x00;
    68f6:	6080      	addu      	r2, r0
    68f8:	3300      	movi      	r3, 0
    68fa:	a260      	st.b      	r3, (r2, 0x0)
	send_buff[send_len++] = ((Key_Map & 0x0200<<ch) != 0);
    68fc:	9862      	ld.w      	r3, (r14, 0x8)
    68fe:	9320      	ld.w      	r1, (r3, 0x0)
    6900:	3380      	movi      	r3, 128
    6902:	4362      	lsli      	r3, r3, 2
    6904:	9881      	ld.w      	r4, (r14, 0x4)
    6906:	70d0      	lsl      	r3, r4
    6908:	68c4      	and      	r3, r1
    690a:	3b40      	cmpnei      	r3, 0
    690c:	3300      	movi      	r3, 0
    690e:	60cd      	addc      	r3, r3
    6910:	a261      	st.b      	r3, (r2, 0x1)
    6912:	073b      	br      	0x6788	// 6788 <TouchKey_RS485_Printf_2+0x94>
    6914:	200009f4 	.long	0x200009f4
    6918:	20000068 	.long	0x20000068
    691c:	200008bc 	.long	0x200008bc
    6920:	20000069 	.long	0x20000069
    6924:	20000b5e 	.long	0x20000b5e
    6928:	20000890 	.long	0x20000890
    692c:	20000ba6 	.long	0x20000ba6
    6930:	20000854 	.long	0x20000854
    6934:	2000093c 	.long	0x2000093c
    6938:	200009fe 	.long	0x200009fe
    693c:	20000a32 	.long	0x20000a32
    6940:	20000b14 	.long	0x20000b14
    6944:	200004b0 	.long	0x200004b0

Disassembly of section .text.Get_TouchKey_CH_State:

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


U8_T Get_TouchKey_CH_State(U8_T ch){
    6948:	14d0      	push      	r15
	U8_T state = 0;
	
	switch(ch){
    694a:	3804      	cmphsi      	r0, 5
    694c:	0818      	bt      	0x697c	// 697c <Get_TouchKey_CH_State+0x34>
    694e:	106d      	lrw      	r3, 0x200004c0	// 6980 <Get_TouchKey_CH_State+0x38>
    6950:	e3ffe5d6 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    6954:	0e0b0803 	.long	0x0e0b0803
    6958:	0011      	.short	0x0011
		case TKE_CH1:
			if(g_key.key_state & 0x0200){
    695a:	930a      	ld.w      	r0, (r3, 0x28)
    695c:	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){
    695e:	3301      	movi      	r3, 1
	U8_T state = 0;
    6960:	680c      	and      	r0, r3
//			}
			break;
	}
	
	return state;
}
    6962:	1490      	pop      	r15
			if(g_key.key_state & 0x0400){
    6964:	930a      	ld.w      	r0, (r3, 0x28)
    6966:	480a      	lsri      	r0, r0, 10
    6968:	07fb      	br      	0x695e	// 695e <Get_TouchKey_CH_State+0x16>
			if(g_key.key_state & 0x0800){
    696a:	930a      	ld.w      	r0, (r3, 0x28)
    696c:	480b      	lsri      	r0, r0, 11
    696e:	07f8      	br      	0x695e	// 695e <Get_TouchKey_CH_State+0x16>
			if(g_key.key_state & 0x1000){
    6970:	930a      	ld.w      	r0, (r3, 0x28)
    6972:	480c      	lsri      	r0, r0, 12
    6974:	07f5      	br      	0x695e	// 695e <Get_TouchKey_CH_State+0x16>
			if(g_key.key_state & 0x2000){
    6976:	930a      	ld.w      	r0, (r3, 0x28)
    6978:	480d      	lsri      	r0, r0, 13
    697a:	07f2      	br      	0x695e	// 695e <Get_TouchKey_CH_State+0x16>
	U8_T state = 0;
    697c:	3000      	movi      	r0, 0
    697e:	07f2      	br      	0x6962	// 6962 <Get_TouchKey_CH_State+0x1a>
    6980:	200004c0 	.long	0x200004c0

Disassembly of section .text.Touch_Key_Event_Handling:

00006984 <Touch_Key_Event_Handling>:
	
	
}

/*按键数据处理函数*/
void Touch_Key_Event_Handling(void){
    6984:	14d1      	push      	r4, r15
	/*按键相关处理*/
    if (g_key.key_val[TKE_CH1] == KEY_VAL_CONT_LONG_PRESS) {
    6986:	118a      	lrw      	r4, 0x200004c0	// 6a2c <Touch_Key_Event_Handling+0xa8>
    6988:	8465      	ld.b      	r3, (r4, 0x5)
    698a:	3b42      	cmpnei      	r3, 2
    698c:	081c      	bt      	0x69c4	// 69c4 <Touch_Key_Event_Handling+0x40>
        //长按按下
        g_key.key_val[TKE_CH1] = KEY_VAL_NOT;
    698e:	3300      	movi      	r3, 0
    6990:	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) {
    6992:	8466      	ld.b      	r3, (r4, 0x6)
    6994:	3b42      	cmpnei      	r3, 2
    6996:	0820      	bt      	0x69d6	// 69d6 <Touch_Key_Event_Handling+0x52>
        //长按按下
        g_key.key_val[TKE_CH2] = KEY_VAL_NOT;
    6998:	3300      	movi      	r3, 0
    699a:	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) {
    699c:	8467      	ld.b      	r3, (r4, 0x7)
    699e:	3b42      	cmpnei      	r3, 2
    69a0:	0824      	bt      	0x69e8	// 69e8 <Touch_Key_Event_Handling+0x64>
        //长按按下
        g_key.key_val[TKE_CH3] = KEY_VAL_NOT;
    69a2:	3300      	movi      	r3, 0
    69a4:	a467      	st.b      	r3, (r4, 0x7)

		KEY3_Long_Press_Fun();
    69a6:	e0001739 	bsr      	0x9818	// 9818 <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) {
    69aa:	8468      	ld.b      	r3, (r4, 0x8)
    69ac:	3b42      	cmpnei      	r3, 2
    69ae:	0829      	bt      	0x6a00	// 6a00 <Touch_Key_Event_Handling+0x7c>
        //长按按下
        g_key.key_val[TKE_CH4] = KEY_VAL_NOT;
    69b0:	3300      	movi      	r3, 0
    69b2:	a468      	st.b      	r3, (r4, 0x8)

		KEY4_Long_Press();
    69b4:	e00017f6 	bsr      	0x99a0	// 99a0 <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) {
    69b8:	8469      	ld.b      	r3, (r4, 0x9)
    69ba:	3b42      	cmpnei      	r3, 2
    69bc:	082e      	bt      	0x6a18	// 6a18 <Touch_Key_Event_Handling+0x94>
        //长按按下
        g_key.key_val[TKE_CH5] = KEY_VAL_NOT;
    69be:	3300      	movi      	r3, 0
    69c0:	a469      	st.b      	r3, (r4, 0x9)
		#if DBG_LOG_EN
        Dbg_Println(DBG_BIT_SYS_STATUS,"TKE_CH5 Press\r\n");
		#endif
    }
	
}
    69c2:	1491      	pop      	r4, r15
    } else if (g_key.key_val[TKE_CH1] == KEY_VAL_LONG_PRESS_LOOSEN) {
    69c4:	3b44      	cmpnei      	r3, 4
    69c6:	0fe4      	bf      	0x698e	// 698e <Touch_Key_Event_Handling+0xa>
    } else if (g_key.key_val[TKE_CH1] == KEY_VAL_SHORT_PRESS) {
    69c8:	3b41      	cmpnei      	r3, 1
    69ca:	0be4      	bt      	0x6992	// 6992 <Touch_Key_Event_Handling+0xe>
        g_key.key_val[TKE_CH1] = KEY_VAL_NOT;
    69cc:	3300      	movi      	r3, 0
    69ce:	a465      	st.b      	r3, (r4, 0x5)
		KEY1_Model_Press_Fun();
    69d0:	e00015bc 	bsr      	0x9548	// 9548 <KEY1_Model_Press_Fun>
    69d4:	07df      	br      	0x6992	// 6992 <Touch_Key_Event_Handling+0xe>
    } else if (g_key.key_val[TKE_CH2] == KEY_VAL_LONG_PRESS_LOOSEN) {
    69d6:	3b44      	cmpnei      	r3, 4
    69d8:	0fe0      	bf      	0x6998	// 6998 <Touch_Key_Event_Handling+0x14>
    } else if (g_key.key_val[TKE_CH2] == KEY_VAL_SHORT_PRESS) {
    69da:	3b41      	cmpnei      	r3, 1
    69dc:	0be0      	bt      	0x699c	// 699c <Touch_Key_Event_Handling+0x18>
        g_key.key_val[TKE_CH2] = KEY_VAL_NOT;
    69de:	3300      	movi      	r3, 0
    69e0:	a466      	st.b      	r3, (r4, 0x6)
		KEY2_Fan_Press_Fun();
    69e2:	e0001623 	bsr      	0x9628	// 9628 <KEY2_Fan_Press_Fun>
    69e6:	07db      	br      	0x699c	// 699c <Touch_Key_Event_Handling+0x18>
    } else if (g_key.key_val[TKE_CH3] == KEY_VAL_LONG_PRESS_LOOSEN) {
    69e8:	3b44      	cmpnei      	r3, 4
    69ea:	0804      	bt      	0x69f2	// 69f2 <Touch_Key_Event_Handling+0x6e>
        g_key.key_val[TKE_CH3] = KEY_VAL_NOT;
    69ec:	3300      	movi      	r3, 0
    69ee:	a467      	st.b      	r3, (r4, 0x7)
    69f0:	07dd      	br      	0x69aa	// 69aa <Touch_Key_Event_Handling+0x26>
    } else if (g_key.key_val[TKE_CH3] == KEY_VAL_SHORT_PRESS) {
    69f2:	3b41      	cmpnei      	r3, 1
    69f4:	0bdb      	bt      	0x69aa	// 69aa <Touch_Key_Event_Handling+0x26>
        g_key.key_val[TKE_CH3] = KEY_VAL_NOT;
    69f6:	3300      	movi      	r3, 0
    69f8:	a467      	st.b      	r3, (r4, 0x7)
		KEY3_TempAdd_Press_Fun();
    69fa:	e0001687 	bsr      	0x9708	// 9708 <KEY3_TempAdd_Press_Fun>
    69fe:	07d6      	br      	0x69aa	// 69aa <Touch_Key_Event_Handling+0x26>
    } else if (g_key.key_val[TKE_CH4] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a00:	3b44      	cmpnei      	r3, 4
    6a02:	0804      	bt      	0x6a0a	// 6a0a <Touch_Key_Event_Handling+0x86>
        g_key.key_val[TKE_CH4] = KEY_VAL_NOT;
    6a04:	3300      	movi      	r3, 0
    6a06:	a468      	st.b      	r3, (r4, 0x8)
    6a08:	07d8      	br      	0x69b8	// 69b8 <Touch_Key_Event_Handling+0x34>
    } else if (g_key.key_val[TKE_CH4] == KEY_VAL_SHORT_PRESS) {
    6a0a:	3b41      	cmpnei      	r3, 1
    6a0c:	0bd6      	bt      	0x69b8	// 69b8 <Touch_Key_Event_Handling+0x34>
        g_key.key_val[TKE_CH4] = KEY_VAL_NOT;
    6a0e:	3300      	movi      	r3, 0
    6a10:	a468      	st.b      	r3, (r4, 0x8)
        KEY4_TempDec_Press_Fun();
    6a12:	e000173f 	bsr      	0x9890	// 9890 <KEY4_TempDec_Press_Fun>
    6a16:	07d1      	br      	0x69b8	// 69b8 <Touch_Key_Event_Handling+0x34>
    } else if (g_key.key_val[TKE_CH5] == KEY_VAL_LONG_PRESS_LOOSEN) {
    6a18:	3b44      	cmpnei      	r3, 4
    6a1a:	0fd2      	bf      	0x69be	// 69be <Touch_Key_Event_Handling+0x3a>
    } else if (g_key.key_val[TKE_CH5] == KEY_VAL_SHORT_PRESS) {
    6a1c:	3b41      	cmpnei      	r3, 1
    6a1e:	0bd2      	bt      	0x69c2	// 69c2 <Touch_Key_Event_Handling+0x3e>
        g_key.key_val[TKE_CH5] = KEY_VAL_NOT;
    6a20:	3300      	movi      	r3, 0
    6a22:	a469      	st.b      	r3, (r4, 0x9)
		KEY5_OnOff_Press_Fun();
    6a24:	e00017fa 	bsr      	0x9a18	// 9a18 <KEY5_OnOff_Press_Fun>
}
    6a28:	07cd      	br      	0x69c2	// 69c2 <Touch_Key_Event_Handling+0x3e>
    6a2a:	0000      	bkpt
    6a2c:	200004c0 	.long	0x200004c0

Disassembly of section .text.TouchKey_Set_Interface_Task:

00006a30 <TouchKey_Set_Interface_Task>:


/*设置触摸任务*/
void TouchKey_Set_Interface_Task(void){
    6a30:	14d0      	push      	r15
	
	if((Debug_Inf.State != 0x01) && (Debug_Inf.Page == PAGE5ID))	
    6a32:	106c      	lrw      	r3, 0x20000835	// 6a60 <TouchKey_Set_Interface_Task+0x30>
    6a34:	8340      	ld.b      	r2, (r3, 0x0)
    6a36:	3a41      	cmpnei      	r2, 1
    6a38:	0c04      	bf      	0x6a40	// 6a40 <TouchKey_Set_Interface_Task+0x10>
    6a3a:	8362      	ld.b      	r3, (r3, 0x2)
    6a3c:	3b45      	cmpnei      	r3, 5
    6a3e:	0c10      	bf      	0x6a5e	// 6a5e <TouchKey_Set_Interface_Task+0x2e>
	{
		return ;
	}
	
	if(g_key.key_dug_printf == 0x01){
    6a40:	1069      	lrw      	r3, 0x200004c0	// 6a64 <TouchKey_Set_Interface_Task+0x34>
    6a42:	835b      	ld.b      	r2, (r3, 0x1b)
    6a44:	3a41      	cmpnei      	r2, 1
    6a46:	080c      	bt      	0x6a5e	// 6a5e <TouchKey_Set_Interface_Task+0x2e>
		if(SysTick_1ms - g_key.key_dug_tick >= 150){
    6a48:	1028      	lrw      	r1, 0x200000c0	// 6a68 <TouchKey_Set_Interface_Task+0x38>
    6a4a:	9140      	ld.w      	r2, (r1, 0x0)
    6a4c:	930c      	ld.w      	r0, (r3, 0x30)
    6a4e:	6082      	subu      	r2, r0
    6a50:	3095      	movi      	r0, 149
    6a52:	6480      	cmphs      	r0, r2
    6a54:	0805      	bt      	0x6a5e	// 6a5e <TouchKey_Set_Interface_Task+0x2e>
			g_key.key_dug_tick = SysTick_1ms;
    6a56:	9140      	ld.w      	r2, (r1, 0x0)
    6a58:	b34c      	st.w      	r2, (r3, 0x30)
			
			/*打印触摸按键数值*/
			//Touch_Key_FilterPrint();
			//TouchKey_RS485_Printf();
			TouchKey_RS485_Printf_2();
    6a5a:	e3fffe4d 	bsr      	0x66f4	// 66f4 <TouchKey_RS485_Printf_2>
		}
	}
}
    6a5e:	1490      	pop      	r15
    6a60:	20000835 	.long	0x20000835
    6a64:	200004c0 	.long	0x200004c0
    6a68:	200000c0 	.long	0x200000c0

Disassembly of section .text.Touch_Key_Task:

00006a6c <Touch_Key_Task>:
void Touch_Key_Task(void){
    6a6c:	14d4      	push      	r4-r7, r15
	
	/*按键扫描*/
	if(SysTick_1ms - g_key.scan_tick >= 5){
    6a6e:	1138      	lrw      	r1, 0x200000c0	// 6b4c <Touch_Key_Task+0xe0>
    6a70:	1178      	lrw      	r3, 0x200004c0	// 6b50 <Touch_Key_Task+0xe4>
    6a72:	9140      	ld.w      	r2, (r1, 0x0)
    6a74:	930b      	ld.w      	r0, (r3, 0x2c)
    6a76:	6082      	subu      	r2, r0
    6a78:	3a04      	cmphsi      	r2, 5
    6a7a:	0806      	bt      	0x6a86	// 6a86 <Touch_Key_Task+0x1a>
                break;
            }
        }
	}
	
	Touch_Key_Event_Handling();
    6a7c:	e3ffff84 	bsr      	0x6984	// 6984 <Touch_Key_Event_Handling>
	
	TouchKey_Set_Interface_Task();
    6a80:	e3ffffd8 	bsr      	0x6a30	// 6a30 <TouchKey_Set_Interface_Task>
	
}
    6a84:	1494      	pop      	r4-r7, r15
		g_key.scan_tick = SysTick_1ms;
    6a86:	9140      	ld.w      	r2, (r1, 0x0)
    6a88:	b34b      	st.w      	r2, (r3, 0x2c)
		if(Key_Map != 0x00){
    6a8a:	1133      	lrw      	r1, 0x200009f4	// 6b54 <Touch_Key_Task+0xe8>
    6a8c:	9140      	ld.w      	r2, (r1, 0x0)
    6a8e:	3a40      	cmpnei      	r2, 0
    6a90:	0c02      	bf      	0x6a94	// 6a94 <Touch_Key_Task+0x28>
			g_key.key_state = Key_Map;
    6a92:	9140      	ld.w      	r2, (r1, 0x0)
    6a94:	118f      	lrw      	r4, 0x200004c0	// 6b50 <Touch_Key_Task+0xe4>
void Touch_Key_Task(void){
    6a96:	6d93      	mov      	r6, r4
			g_key.key_state = Key_Map;
    6a98:	b34a      	st.w      	r2, (r3, 0x28)
void Touch_Key_Task(void){
    6a9a:	3500      	movi      	r5, 0
                if (g_key.key_time[i] < KEY_DELAY_COUNT_LONG) {
    6a9c:	11ef      	lrw      	r7, 0x257	// 6b58 <Touch_Key_Task+0xec>
            switch (g_key.KEY_STA[i]) {
    6a9e:	8460      	ld.b      	r3, (r4, 0x0)
    6aa0:	3b41      	cmpnei      	r3, 1
    6aa2:	0c28      	bf      	0x6af2	// 6af2 <Touch_Key_Task+0x86>
    6aa4:	3b40      	cmpnei      	r3, 0
    6aa6:	0c0a      	bf      	0x6aba	// 6aba <Touch_Key_Task+0x4e>
    6aa8:	3b42      	cmpnei      	r3, 2
    6aaa:	0c41      	bf      	0x6b2c	// 6b2c <Touch_Key_Task+0xc0>
		for (uint8_t i = 0; i < TKE_CH_MAX; i++) {
    6aac:	2500      	addi      	r5, 1
    6aae:	7554      	zextb      	r5, r5
    6ab0:	3d45      	cmpnei      	r5, 5
    6ab2:	2400      	addi      	r4, 1
    6ab4:	2601      	addi      	r6, 2
    6ab6:	0bf4      	bt      	0x6a9e	// 6a9e <Touch_Key_Task+0x32>
    6ab8:	07e2      	br      	0x6a7c	// 6a7c <Touch_Key_Task+0x10>
                if (Get_TouchKey_CH_State(i) == KEY_PRESS) {
    6aba:	6c17      	mov      	r0, r5
    6abc:	e3ffff46 	bsr      	0x6948	// 6948 <Get_TouchKey_CH_State>
    6ac0:	3841      	cmpnei      	r0, 1
    6ac2:	0813      	bt      	0x6ae8	// 6ae8 <Touch_Key_Task+0x7c>
                    if (g_key.delayCnt[i] < KEY_DELAY_COUNT) {
    6ac4:	8474      	ld.b      	r3, (r4, 0x14)
    6ac6:	3b01      	cmphsi      	r3, 2
    6ac8:	0804      	bt      	0x6ad0	// 6ad0 <Touch_Key_Task+0x64>
                        g_key.delayCnt[i]++;
    6aca:	2300      	addi      	r3, 1
                        g_key.delayCnt[i] = 0;
    6acc:	a474      	st.b      	r3, (r4, 0x14)
    6ace:	07ef      	br      	0x6aac	// 6aac <Touch_Key_Task+0x40>
						Controlled_Buzzer(0x01);
    6ad0:	3001      	movi      	r0, 1
    6ad2:	e000103f 	bsr      	0x8b50	// 8b50 <Controlled_Buzzer>
						Contol_Switch_ClickAction(i,Control_ON);
    6ad6:	3101      	movi      	r1, 1
    6ad8:	6c17      	mov      	r0, r5
    6ada:	e0000a9b 	bsr      	0x8010	// 8010 <Contol_Switch_ClickAction>
                        g_key.KEY_STA[i] = KEY_STA_S1;              //消抖后
    6ade:	3301      	movi      	r3, 1
    6ae0:	a460      	st.b      	r3, (r4, 0x0)
                        g_key.key_time[i] = 0;
    6ae2:	3300      	movi      	r3, 0
    6ae4:	ae6e      	st.h      	r3, (r6, 0x1c)
    6ae6:	07f3      	br      	0x6acc	// 6acc <Touch_Key_Task+0x60>
                    g_key.delayCnt[i] = 0;
    6ae8:	3300      	movi      	r3, 0
    6aea:	a474      	st.b      	r3, (r4, 0x14)
                    g_key.KEY_STA[i] = KEY_STA_S0;
    6aec:	a460      	st.b      	r3, (r4, 0x0)
                    g_key.key_val[i] = KEY_VAL_LONG_PRESS_LOOSEN;         //长按松开
    6aee:	a465      	st.b      	r3, (r4, 0x5)
    6af0:	07de      	br      	0x6aac	// 6aac <Touch_Key_Task+0x40>
                g_key.key_time[i]++;
    6af2:	8e6e      	ld.h      	r3, (r6, 0x1c)
    6af4:	2300      	addi      	r3, 1
    6af6:	74cd      	zexth      	r3, r3
                if (g_key.key_time[i] < KEY_DELAY_COUNT_LONG) {
    6af8:	64dc      	cmphs      	r7, r3
                g_key.key_time[i]++;
    6afa:	ae6e      	st.h      	r3, (r6, 0x1c)
                if (g_key.key_time[i] < KEY_DELAY_COUNT_LONG) {
    6afc:	0c10      	bf      	0x6b1c	// 6b1c <Touch_Key_Task+0xb0>
                    if (Get_TouchKey_CH_State(i) == KEY_LOOSEN)                   //松开
    6afe:	6c17      	mov      	r0, r5
    6b00:	e3ffff24 	bsr      	0x6948	// 6948 <Get_TouchKey_CH_State>
    6b04:	3840      	cmpnei      	r0, 0
    6b06:	0bd3      	bt      	0x6aac	// 6aac <Touch_Key_Task+0x40>
						Contol_Switch_ClickAction(i,Control_OFF);
    6b08:	3102      	movi      	r1, 2
    6b0a:	6c17      	mov      	r0, r5
    6b0c:	e0000a82 	bsr      	0x8010	// 8010 <Contol_Switch_ClickAction>
                        g_key.key_val[i] = KEY_VAL_SHORT_PRESS;           //短按松开
    6b10:	3301      	movi      	r3, 1
    6b12:	a465      	st.b      	r3, (r4, 0x5)
                        g_key.key_time[i] = 0;
    6b14:	3300      	movi      	r3, 0
    6b16:	ae6e      	st.h      	r3, (r6, 0x1c)
                        g_key.KEY_STA[i] = KEY_STA_S0;
    6b18:	a460      	st.b      	r3, (r4, 0x0)
    6b1a:	07c9      	br      	0x6aac	// 6aac <Touch_Key_Task+0x40>
                    g_key.KEY_STA[i] = KEY_STA_S2;
    6b1c:	3302      	movi      	r3, 2
    6b1e:	a460      	st.b      	r3, (r4, 0x0)
                    g_key.key_time[i] = 0;
    6b20:	3300      	movi      	r3, 0
    6b22:	ae6e      	st.h      	r3, (r6, 0x1c)
                    g_key.key_longPress[i] = KEY_VAL_SINGLE_LONG_PRESS; //长按单击按下
    6b24:	3303      	movi      	r3, 3
    6b26:	a46f      	st.b      	r3, (r4, 0xf)
                    g_key.key_val[i] = KEY_VAL_CONT_LONG_PRESS;           //长按按下
    6b28:	3302      	movi      	r3, 2
    6b2a:	07e2      	br      	0x6aee	// 6aee <Touch_Key_Task+0x82>
                g_key.key_longPress[i] = KEY_VAL_NOT;
    6b2c:	3300      	movi      	r3, 0
                if (Get_TouchKey_CH_State(i) == KEY_LOOSEN) {
    6b2e:	6c17      	mov      	r0, r5
                g_key.key_longPress[i] = KEY_VAL_NOT;
    6b30:	a46f      	st.b      	r3, (r4, 0xf)
                if (Get_TouchKey_CH_State(i) == KEY_LOOSEN) {
    6b32:	e3ffff0b 	bsr      	0x6948	// 6948 <Get_TouchKey_CH_State>
    6b36:	3840      	cmpnei      	r0, 0
    6b38:	0bba      	bt      	0x6aac	// 6aac <Touch_Key_Task+0x40>
					Contol_Switch_ClickAction(i,Control_OFF);
    6b3a:	3102      	movi      	r1, 2
    6b3c:	6c17      	mov      	r0, r5
    6b3e:	e0000a69 	bsr      	0x8010	// 8010 <Contol_Switch_ClickAction>
                    g_key.KEY_STA[i] = KEY_STA_S0;
    6b42:	3300      	movi      	r3, 0
    6b44:	a460      	st.b      	r3, (r4, 0x0)
                    g_key.key_val[i] = KEY_VAL_LONG_PRESS_LOOSEN;         //长按松开
    6b46:	3304      	movi      	r3, 4
    6b48:	07d3      	br      	0x6aee	// 6aee <Touch_Key_Task+0x82>
    6b4a:	0000      	bkpt
    6b4c:	200000c0 	.long	0x200000c0
    6b50:	200004c0 	.long	0x200004c0
    6b54:	200009f4 	.long	0x200009f4
    6b58:	00000257 	.long	0x00000257

Disassembly of section .text.TouchKey_CheckSum:

00006b5c <TouchKey_CheckSum>:


U8_T TouchKey_CheckSum(U8_T *data,U16_T len)
{
    6b5c:	6040      	addu      	r1, r0
	U8_T data_sum = 0;
    6b5e:	3300      	movi      	r3, 0
	
	for(U16_T i = 0;i<len;i++)
    6b60:	6442      	cmpne      	r0, r1
    6b62:	0804      	bt      	0x6b6a	// 6b6a <TouchKey_CheckSum+0xe>
	{
		data_sum += data[i];
	}
	return ~data_sum;
    6b64:	6cce      	nor      	r3, r3
    6b66:	740c      	zextb      	r0, r3
}
    6b68:	783c      	jmp      	r15
		data_sum += data[i];
    6b6a:	8040      	ld.b      	r2, (r0, 0x0)
    6b6c:	60c8      	addu      	r3, r2
    6b6e:	74cc      	zextb      	r3, r3
    6b70:	2000      	addi      	r0, 1
    6b72:	07f7      	br      	0x6b60	// 6b60 <TouchKey_CheckSum+0x4>

Disassembly of section .text.TouchKey_Comm_Reply:

00006b74 <TouchKey_Comm_Reply>:
U8_T TouchKey_Comm_Reply(U8_T *para,U16_T len){
    6b74:	14d2      	push      	r4-r5, r15
    6b76:	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;
    6b78:	5992      	addi      	r4, r1, 5
    6b7a:	7511      	zexth      	r4, r4
	
	if(reply_len >= 50)	{
    6b7c:	3331      	movi      	r3, 49
    6b7e:	650c      	cmphs      	r3, r4
    6b80:	0803      	bt      	0x6b86	// 6b86 <TouchKey_Comm_Reply+0x12>
		para_len = 44;
    6b82:	312c      	movi      	r1, 44
		reply_len = 50;
    6b84:	3432      	movi      	r4, 50
	}
	
	send_data[0] = 0xAF;
    6b86:	3300      	movi      	r3, 0
    6b88:	2b50      	subi      	r3, 81
    6b8a:	dc6e0004 	st.b      	r3, (r14, 0x4)
	send_data[1] = g_eeprom.dev_addr;
	send_data[2] = reply_len;
    6b8e:	dc8e0006 	st.b      	r4, (r14, 0x6)
	send_data[1] = g_eeprom.dev_addr;
    6b92:	1074      	lrw      	r3, 0x200004f4	// 6be0 <TouchKey_Comm_Reply+0x6c>
    6b94:	8360      	ld.b      	r3, (r3, 0x0)
    6b96:	dc6e0005 	st.b      	r3, (r14, 0x5)
	send_data[3] = 0x00;
    6b9a:	3300      	movi      	r3, 0
    6b9c:	dc6e0007 	st.b      	r3, (r14, 0x7)
	
    for(i=0;i<para_len;i++){
    6ba0:	3300      	movi      	r3, 0
    6ba2:	644c      	cmphs      	r3, r1
        send_data[i+4] = para[i];
    6ba4:	1a01      	addi      	r2, r14, 4
    for(i=0;i<para_len;i++){
    6ba6:	0c16      	bf      	0x6bd2	// 6bd2 <TouchKey_Comm_Reply+0x5e>
    }
	send_data[i+4] = 0xFA;
    6ba8:	60c8      	addu      	r3, r2
    6baa:	3200      	movi      	r2, 0
    6bac:	2a05      	subi      	r2, 6
	
	send_data[3] = TouchKey_CheckSum(send_data,reply_len);
    6bae:	6c53      	mov      	r1, r4
    6bb0:	1801      	addi      	r0, r14, 4
	send_data[i+4] = 0xFA;
    6bb2:	a344      	st.b      	r2, (r3, 0x4)
	send_data[3] = TouchKey_CheckSum(send_data,reply_len);
    6bb4:	e3ffffd4 	bsr      	0x6b5c	// 6b5c <TouchKey_CheckSum>
	
//	if (detect_inf.control_model == 0x00){
//		MCU485_SendData(send_data,reply_len);
		Set_GroupSend(send_data,reply_len,1,BUSSend_ValidTime3,20);	//组包
    6bb8:	3314      	movi      	r3, 20
    6bba:	b860      	st.w      	r3, (r14, 0x0)
    6bbc:	3396      	movi      	r3, 150
	send_data[3] = TouchKey_CheckSum(send_data,reply_len);
    6bbe:	dc0e0007 	st.b      	r0, (r14, 0x7)
		Set_GroupSend(send_data,reply_len,1,BUSSend_ValidTime3,20);	//组包
    6bc2:	4361      	lsli      	r3, r3, 1
    6bc4:	1801      	addi      	r0, r14, 4
    6bc6:	3201      	movi      	r2, 1
    6bc8:	6c53      	mov      	r1, r4
    6bca:	e3fffcb3 	bsr      	0x6530	// 6530 <Set_GroupSend>
//	}else {
//		UARTTransmit(UART2,send_data,reply_len);
//	}	
}
    6bce:	1410      	addi      	r14, r14, 64
    6bd0:	1492      	pop      	r4-r5, r15
        send_data[i+4] = para[i];
    6bd2:	58ac      	addu      	r5, r0, r3
    6bd4:	608c      	addu      	r2, r3
    6bd6:	85a0      	ld.b      	r5, (r5, 0x0)
    for(i=0;i<para_len;i++){
    6bd8:	2300      	addi      	r3, 1
        send_data[i+4] = para[i];
    6bda:	a2a4      	st.b      	r5, (r2, 0x4)
    for(i=0;i<para_len;i++){
    6bdc:	74cc      	zextb      	r3, r3
    6bde:	07e2      	br      	0x6ba2	// 6ba2 <TouchKey_Comm_Reply+0x2e>
    6be0:	200004f4 	.long	0x200004f4

Disassembly of section .text.TouchKey_SetPara_Processing:

00006be4 <TouchKey_SetPara_Processing>:
/*设置触摸按键参数处理*/
U8_T TouchKey_SetPara_Processing(U8_T *para,U16_T len){
    6be4:	14d4      	push      	r4-r7, r15
    6be6:	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) ){
    6be8:	80a0      	ld.b      	r5, (r0, 0x0)
    6bea:	5dc3      	subi      	r6, r5, 1
    6bec:	7598      	zextb      	r6, r6
    6bee:	3e02      	cmphsi      	r6, 3
U8_T TouchKey_SetPara_Processing(U8_T *para,U16_T len){
    6bf0:	6d03      	mov      	r4, r0
	if( (para[0] > 0) && (para[0] <= 3) ){
    6bf2:	0834      	bt      	0x6c5a	// 6c5a <TouchKey_SetPara_Processing+0x76>
    6bf4:	1125      	lrw      	r1, 0x200004a4	// 6c88 <TouchKey_SetPara_Processing+0xa4>
    6bf6:	350b      	movi      	r5, 11
    6bf8:	5862      	addi      	r3, r0, 1
    6bfa:	6140      	addu      	r5, r0
    6bfc:	6c87      	mov      	r2, r1
		level = para[0]-1;
		for(i=0;i<TKE_CH_MAX;i++){
			temp_val = para[i*2+2];
    6bfe:	8301      	ld.b      	r0, (r3, 0x1)
			temp_val <<= 8;
			temp_val |= para[i*2+1];
    6c00:	83e0      	ld.b      	r7, (r3, 0x0)
			temp_val <<= 8;
    6c02:	4008      	lsli      	r0, r0, 8
			temp_val |= para[i*2+1];
    6c04:	6c1c      	or      	r0, r7
			
			touch_para.senprd[i] = temp_val;
    6c06:	a902      	st.h      	r0, (r1, 0x4)
			
			temp_val = para[i*2+14];
    6c08:	830d      	ld.b      	r0, (r3, 0xd)
			temp_val <<= 8;
			temp_val |= para[i*2+13];
    6c0a:	83ec      	ld.b      	r7, (r3, 0xc)
			temp_val <<= 8;
    6c0c:	4008      	lsli      	r0, r0, 8
    6c0e:	2301      	addi      	r3, 2
			temp_val |= para[i*2+13];
    6c10:	6c1c      	or      	r0, r7
		for(i=0;i<TKE_CH_MAX;i++){
    6c12:	64d6      	cmpne      	r5, r3
			
			touch_para.triggerlevel[i] = temp_val;
    6c14:	a907      	st.h      	r0, (r1, 0xe)
    6c16:	2101      	addi      	r1, 2
		for(i=0;i<TKE_CH_MAX;i++){
    6c18:	0bf3      	bt      	0x6bfe	// 6bfe <TouchKey_SetPara_Processing+0x1a>
		}
		
		touch_para.press_debounce = para[25];
    6c1a:	8479      	ld.b      	r3, (r4, 0x19)
    6c1c:	a260      	st.b      	r3, (r2, 0x0)
		touch_para.release_debounce = para[26];
    6c1e:	847a      	ld.b      	r3, (r4, 0x1a)
    6c20:	a261      	st.b      	r3, (r2, 0x1)
		touch_para.multiTimes_filt = para[27];
    6c22:	847b      	ld.b      	r3, (r4, 0x1b)
    6c24:	a262      	st.b      	r3, (r2, 0x2)
		touch_para.base_speed = para[28];
    6c26:	847c      	ld.b      	r3, (r4, 0x1c)
    6c28:	a263      	st.b      	r3, (r2, 0x3)
		touch_para.longpress_time = para[29];

		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6c2a:	6c1b      	mov      	r0, r6
		touch_para.longpress_time = para[29];
    6c2c:	847d      	ld.b      	r3, (r4, 0x1d)
		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6c2e:	1037      	lrw      	r1, 0x200004a4	// 6c88 <TouchKey_SetPara_Processing+0xa4>
		touch_para.longpress_time = para[29];
    6c30:	b266      	st.w      	r3, (r2, 0x18)
		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6c32:	e00002e9 	bsr      	0x7204	// 7204 <EEPROM_Validate_TouchPara>

		if(rev == 0x00){
    6c36:	3840      	cmpnei      	r0, 0
		rev = EEPROM_Validate_TouchPara(level,&touch_para);
    6c38:	6d43      	mov      	r5, r0
		if(rev == 0x00){
    6c3a:	0805      	bt      	0x6c44	// 6c44 <TouchKey_SetPara_Processing+0x60>
			/*保存参数*/
			EEPROM_WriteTouchPara(level,&touch_para);
    6c3c:	1033      	lrw      	r1, 0x200004a4	// 6c88 <TouchKey_SetPara_Processing+0xa4>
    6c3e:	6c1b      	mov      	r0, r6
    6c40:	e0000256 	bsr      	0x70ec	// 70ec <EEPROM_WriteTouchPara>
		rev = 0x01;
	}
	

	//回复数据
	reply_buff[0] = 0x01;	//CMD
    6c44:	3301      	movi      	r3, 1
	reply_buff[1] = rev;	//结果
	
	TouchKey_Comm_Reply(reply_buff,0x02);
    6c46:	3102      	movi      	r1, 2
    6c48:	6c3b      	mov      	r0, r14
	reply_buff[0] = 0x01;	//CMD
    6c4a:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[1] = rev;	//结果
    6c4e:	dcae0001 	st.b      	r5, (r14, 0x1)
	TouchKey_Comm_Reply(reply_buff,0x02);
    6c52:	e3ffff91 	bsr      	0x6b74	// 6b74 <TouchKey_Comm_Reply>
}
    6c56:	1401      	addi      	r14, r14, 4
    6c58:	1494      	pop      	r4-r7, r15
	}else if(para[0] == 0x00){
    6c5a:	3d40      	cmpnei      	r5, 0
    6c5c:	0c03      	bf      	0x6c62	// 6c62 <TouchKey_SetPara_Processing+0x7e>
		rev = 0x01;
    6c5e:	3501      	movi      	r5, 1
    6c60:	07f2      	br      	0x6c44	// 6c44 <TouchKey_SetPara_Processing+0x60>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Set Level %d",__func__,para[1]);
    6c62:	8061      	ld.b      	r3, (r0, 0x1)
    6c64:	104a      	lrw      	r2, 0xc8dc	// 6c8c <TouchKey_SetPara_Processing+0xa8>
    6c66:	102b      	lrw      	r1, 0xcdcf	// 6c90 <TouchKey_SetPara_Processing+0xac>
    6c68:	3000      	movi      	r0, 0
    6c6a:	e3fffd09 	bsr      	0x667c	// 667c <Dbg_Println>
		if( (para[1] > 0) && (para[1] <= 3) ){
    6c6e:	8461      	ld.b      	r3, (r4, 0x1)
    6c70:	2b00      	subi      	r3, 1
    6c72:	74cc      	zextb      	r3, r3
    6c74:	3b02      	cmphsi      	r3, 3
    6c76:	0bf4      	bt      	0x6c5e	// 6c5e <TouchKey_SetPara_Processing+0x7a>
			Debug_Inf.KSens_Level = g_eeprom.key_sens_level;
    6c78:	1047      	lrw      	r2, 0x20000835	// 6c94 <TouchKey_SetPara_Processing+0xb0>
			g_eeprom.key_sens_level = para[1] - 1;
    6c7a:	1008      	lrw      	r0, 0x200004f4	// 6c98 <TouchKey_SetPara_Processing+0xb4>
			Debug_Inf.KSens_Level = g_eeprom.key_sens_level;
    6c7c:	a267      	st.b      	r3, (r2, 0x7)
			g_eeprom.key_sens_level = para[1] - 1;
    6c7e:	a065      	st.b      	r3, (r0, 0x5)
			EEPROM_WriteParaInfo(&g_eeprom);
    6c80:	e00001be 	bsr      	0x6ffc	// 6ffc <EEPROM_WriteParaInfo>
    6c84:	07e0      	br      	0x6c44	// 6c44 <TouchKey_SetPara_Processing+0x60>
    6c86:	0000      	bkpt
    6c88:	200004a4 	.long	0x200004a4
    6c8c:	0000c8dc 	.long	0x0000c8dc
    6c90:	0000cdcf 	.long	0x0000cdcf
    6c94:	20000835 	.long	0x20000835
    6c98:	200004f4 	.long	0x200004f4

Disassembly of section .text.TouchKey_ReadPara_Processing:

00006c9c <TouchKey_ReadPara_Processing>:
/*读取触摸按键参数处理*/
U8_T TouchKey_ReadPara_Processing(U8_T *para,U16_T len){
    6c9c:	14d3      	push      	r4-r6, r15
    6c9e:	142d      	subi      	r14, r14, 52
    6ca0:	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));
    6ca2:	3232      	movi      	r2, 50
    6ca4:	3100      	movi      	r1, 0
    6ca6:	6c3b      	mov      	r0, r14
    6ca8:	e3ffea7a 	bsr      	0x419c	// 419c <__memset_fast>
	
	reply_buff[reply_len++] = 0x02;
	
	if(para[0] == 0x00){
    6cac:	8580      	ld.b      	r4, (r5, 0x0)
	reply_buff[reply_len++] = 0x02;
    6cae:	3302      	movi      	r3, 2
	if(para[0] == 0x00){
    6cb0:	3c40      	cmpnei      	r4, 0
	reply_buff[reply_len++] = 0x02;
    6cb2:	dc6e0000 	st.b      	r3, (r14, 0x0)
	if(para[0] == 0x00){
    6cb6:	0837      	bt      	0x6d24	// 6d24 <TouchKey_ReadPara_Processing+0x88>
		
		//注意：此处是为查询数据服务，实际数据只在上电时生效	修改时间：2025/01/13
		rev = EEPROM_ReadTouchPara(g_eeprom.key_sens_level,&touch_para);
    6cb8:	11d5      	lrw      	r6, 0x200004f4	// 6d8c <TouchKey_ReadPara_Processing+0xf0>
    6cba:	8605      	ld.b      	r0, (r6, 0x5)
    6cbc:	1135      	lrw      	r1, 0x200004a4	// 6d90 <TouchKey_ReadPara_Processing+0xf4>
    6cbe:	e000024d 	bsr      	0x7158	// 7158 <EEPROM_ReadTouchPara>
		if(rev != 0x00){
    6cc2:	3840      	cmpnei      	r0, 0
    6cc4:	11b3      	lrw      	r5, 0x200004a4	// 6d90 <TouchKey_ReadPara_Processing+0xf4>
    6cc6:	0c05      	bf      	0x6cd0	// 6cd0 <TouchKey_ReadPara_Processing+0x34>
			EEPROM_Default_TouchPara(g_eeprom.key_sens_level,&touch_para);
    6cc8:	8605      	ld.b      	r0, (r6, 0x5)
    6cca:	6c57      	mov      	r1, r5
    6ccc:	e000030e 	bsr      	0x72e8	// 72e8 <EEPROM_Default_TouchPara>
		}
		
		reply_buff[reply_len++] = g_eeprom.key_sens_level + 1;
    6cd0:	8665      	ld.b      	r3, (r6, 0x5)
    6cd2:	2300      	addi      	r3, 1
    6cd4:	dc6e0001 	st.b      	r3, (r14, 0x1)
    6cd8:	6cfb      	mov      	r3, r14
    6cda:	114e      	lrw      	r2, 0x200004a4	// 6d90 <TouchKey_ReadPara_Processing+0xf4>
		
		for(i=0;i<TKE_CH_MAX;i++){
			
			reply_buff[reply_len+i*2] = touch_para.senprd[i] & 0xFF;
    6cdc:	8a22      	ld.h      	r1, (r2, 0x4)
    6cde:	a322      	st.b      	r1, (r3, 0x2)
		for(i=0;i<TKE_CH_MAX;i++){
    6ce0:	2400      	addi      	r4, 1
			reply_buff[reply_len+i*2+1] = touch_para.senprd[i] >> 8;
    6ce2:	4928      	lsri      	r1, r1, 8
    6ce4:	a323      	st.b      	r1, (r3, 0x3)
		for(i=0;i<TKE_CH_MAX;i++){
    6ce6:	7510      	zextb      	r4, r4
			
			reply_buff[reply_len+i*2+12] = touch_para.triggerlevel[i] & 0xFF;
    6ce8:	8a27      	ld.h      	r1, (r2, 0xe)
    6cea:	a32e      	st.b      	r1, (r3, 0xe)
		for(i=0;i<TKE_CH_MAX;i++){
    6cec:	3c45      	cmpnei      	r4, 5
			reply_buff[reply_len+i*2+13] = touch_para.triggerlevel[i] >> 8;
    6cee:	4928      	lsri      	r1, r1, 8
    6cf0:	a32f      	st.b      	r1, (r3, 0xf)
    6cf2:	2201      	addi      	r2, 2
    6cf4:	2301      	addi      	r3, 2
		for(i=0;i<TKE_CH_MAX;i++){
    6cf6:	0bf3      	bt      	0x6cdc	// 6cdc <TouchKey_ReadPara_Processing+0x40>
		}
		
		reply_len += 24;
		
		reply_buff[reply_len++] = touch_para.press_debounce;
    6cf8:	8560      	ld.b      	r3, (r5, 0x0)
    6cfa:	dc6e001a 	st.b      	r3, (r14, 0x1a)
		reply_buff[reply_len++] = touch_para.release_debounce;
    6cfe:	8561      	ld.b      	r3, (r5, 0x1)
    6d00:	dc6e001b 	st.b      	r3, (r14, 0x1b)
		reply_buff[reply_len++] = touch_para.multiTimes_filt;
    6d04:	8562      	ld.b      	r3, (r5, 0x2)
    6d06:	dc6e001c 	st.b      	r3, (r14, 0x1c)
		reply_buff[reply_len++] = touch_para.base_speed;
    6d0a:	8563      	ld.b      	r3, (r5, 0x3)
    6d0c:	dc6e001d 	st.b      	r3, (r14, 0x1d)
		reply_buff[reply_len++] = touch_para.longpress_time & 0xFF;
    6d10:	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;
    6d12:	dc6e001e 	st.b      	r3, (r14, 0x1e)
    6d16:	311f      	movi      	r1, 31
		/*参数错误*/
		reply_buff[reply_len++] = 0x00;
	}
	
	//回复数据
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6d18:	7445      	zexth      	r1, r1
    6d1a:	6c3b      	mov      	r0, r14
    6d1c:	e3ffff2c 	bsr      	0x6b74	// 6b74 <TouchKey_Comm_Reply>
}
    6d20:	140d      	addi      	r14, r14, 52
    6d22:	1493      	pop      	r4-r6, r15
	}else if(para[0] <= 3){
    6d24:	3c03      	cmphsi      	r4, 4
    6d26:	0831      	bt      	0x6d88	// 6d88 <TouchKey_ReadPara_Processing+0xec>
		rev = EEPROM_ReadTouchPara(para[0]-1,&touch_para);
    6d28:	2c00      	subi      	r4, 1
    6d2a:	7410      	zextb      	r0, r4
    6d2c:	1039      	lrw      	r1, 0x200004a4	// 6d90 <TouchKey_ReadPara_Processing+0xf4>
    6d2e:	e0000215 	bsr      	0x7158	// 7158 <EEPROM_ReadTouchPara>
		if(rev != 0x00){
    6d32:	3840      	cmpnei      	r0, 0
    6d34:	1097      	lrw      	r4, 0x200004a4	// 6d90 <TouchKey_ReadPara_Processing+0xf4>
    6d36:	0c07      	bf      	0x6d44	// 6d44 <TouchKey_ReadPara_Processing+0xa8>
			EEPROM_Default_TouchPara(para[0]-1,&touch_para);
    6d38:	8500      	ld.b      	r0, (r5, 0x0)
    6d3a:	2800      	subi      	r0, 1
    6d3c:	7400      	zextb      	r0, r0
    6d3e:	6c53      	mov      	r1, r4
    6d40:	e00002d4 	bsr      	0x72e8	// 72e8 <EEPROM_Default_TouchPara>
		reply_buff[reply_len++] = para[0];
    6d44:	8560      	ld.b      	r3, (r5, 0x0)
    6d46:	dc6e0001 	st.b      	r3, (r14, 0x1)
		for(i=0;i<TKE_CH_MAX;i++){
    6d4a:	3200      	movi      	r2, 0
    6d4c:	1031      	lrw      	r1, 0x200004a4	// 6d90 <TouchKey_ReadPara_Processing+0xf4>
    6d4e:	6cfb      	mov      	r3, r14
			reply_buff[reply_len+i*2] = touch_para.senprd[i];
    6d50:	8902      	ld.h      	r0, (r1, 0x4)
    6d52:	a302      	st.b      	r0, (r3, 0x2)
		for(i=0;i<TKE_CH_MAX;i++){
    6d54:	2200      	addi      	r2, 1
			reply_buff[reply_len+i*2+1] = touch_para.senprd[i] >> 8;
    6d56:	4808      	lsri      	r0, r0, 8
    6d58:	a303      	st.b      	r0, (r3, 0x3)
		for(i=0;i<TKE_CH_MAX;i++){
    6d5a:	7488      	zextb      	r2, r2
			reply_buff[reply_len+i*2+12] = touch_para.triggerlevel[i];
    6d5c:	8907      	ld.h      	r0, (r1, 0xe)
    6d5e:	a30e      	st.b      	r0, (r3, 0xe)
		for(i=0;i<TKE_CH_MAX;i++){
    6d60:	3a45      	cmpnei      	r2, 5
			reply_buff[reply_len+i*2+13] = touch_para.triggerlevel[i] >> 8;
    6d62:	4808      	lsri      	r0, r0, 8
    6d64:	a30f      	st.b      	r0, (r3, 0xf)
    6d66:	2101      	addi      	r1, 2
    6d68:	2301      	addi      	r3, 2
		for(i=0;i<TKE_CH_MAX;i++){
    6d6a:	0bf3      	bt      	0x6d50	// 6d50 <TouchKey_ReadPara_Processing+0xb4>
		reply_buff[reply_len++] = touch_para.press_debounce;
    6d6c:	8460      	ld.b      	r3, (r4, 0x0)
    6d6e:	dc6e001a 	st.b      	r3, (r14, 0x1a)
		reply_buff[reply_len++] = touch_para.release_debounce;
    6d72:	8461      	ld.b      	r3, (r4, 0x1)
    6d74:	dc6e001b 	st.b      	r3, (r14, 0x1b)
		reply_buff[reply_len++] = touch_para.multiTimes_filt;
    6d78:	8462      	ld.b      	r3, (r4, 0x2)
    6d7a:	dc6e001c 	st.b      	r3, (r14, 0x1c)
		reply_buff[reply_len++] = touch_para.base_speed;
    6d7e:	8463      	ld.b      	r3, (r4, 0x3)
    6d80:	dc6e001d 	st.b      	r3, (r14, 0x1d)
		reply_buff[reply_len++] = touch_para.longpress_time & 0xFF;
    6d84:	8478      	ld.b      	r3, (r4, 0x18)
    6d86:	07c6      	br      	0x6d12	// 6d12 <TouchKey_ReadPara_Processing+0x76>
		reply_buff[reply_len++] = 0x00;
    6d88:	3102      	movi      	r1, 2
    6d8a:	07c7      	br      	0x6d18	// 6d18 <TouchKey_ReadPara_Processing+0x7c>
    6d8c:	200004f4 	.long	0x200004f4
    6d90:	200004a4 	.long	0x200004a4

Disassembly of section .text.TouchKey_DugPrintf_Processing:

00006d94 <TouchKey_DugPrintf_Processing>:
//开启/关闭触摸打印值
void TouchKey_DugPrintf_Processing(U8_T *para,U16_T len){
    6d94:	14d0      	push      	r15
    6d96:	1421      	subi      	r14, r14, 4
	U8_T reply_buff[4];
	
	if(para[0] == 0x01){
    6d98:	8060      	ld.b      	r3, (r0, 0x0)
    6d9a:	3b41      	cmpnei      	r3, 1
    6d9c:	0810      	bt      	0x6dbc	// 6dbc <TouchKey_DugPrintf_Processing+0x28>
		/*开启调试信息*/
		
		g_key.key_dug_printf = 0x01;
    6d9e:	106b      	lrw      	r3, 0x200004c0	// 6dc8 <TouchKey_DugPrintf_Processing+0x34>
    6da0:	3201      	movi      	r2, 1
		
	}else if(para[0] == 0x02){
		/*关闭调试信息*/
		g_key.key_dug_printf = 0x00;
    6da2:	a35b      	st.b      	r2, (r3, 0x1b)
	}
	
	//回复数据
	reply_buff[0] = 0x03;	//CMD
    6da4:	3303      	movi      	r3, 3
    6da6:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[1] = 0x00;	//结果
	
	TouchKey_Comm_Reply(reply_buff,0x02);
    6daa:	3102      	movi      	r1, 2
	reply_buff[1] = 0x00;	//结果
    6dac:	3300      	movi      	r3, 0
	TouchKey_Comm_Reply(reply_buff,0x02);
    6dae:	6c3b      	mov      	r0, r14
	reply_buff[1] = 0x00;	//结果
    6db0:	dc6e0001 	st.b      	r3, (r14, 0x1)
	TouchKey_Comm_Reply(reply_buff,0x02);
    6db4:	e3fffee0 	bsr      	0x6b74	// 6b74 <TouchKey_Comm_Reply>
}
    6db8:	1401      	addi      	r14, r14, 4
    6dba:	1490      	pop      	r15
	}else if(para[0] == 0x02){
    6dbc:	3b42      	cmpnei      	r3, 2
    6dbe:	0bf3      	bt      	0x6da4	// 6da4 <TouchKey_DugPrintf_Processing+0x10>
		g_key.key_dug_printf = 0x00;
    6dc0:	1062      	lrw      	r3, 0x200004c0	// 6dc8 <TouchKey_DugPrintf_Processing+0x34>
    6dc2:	3200      	movi      	r2, 0
    6dc4:	07ef      	br      	0x6da2	// 6da2 <TouchKey_DugPrintf_Processing+0xe>
    6dc6:	0000      	bkpt
    6dc8:	200004c0 	.long	0x200004c0

Disassembly of section .text.TouchKey_ReadEnve_Processing:

00006dcc <TouchKey_ReadEnve_Processing>:
/*读取触摸环境值*/
void TouchKey_ReadEnve_Processing(U8_T *para,U16_T len){
    6dcc:	14d0      	push      	r15
    6dce:	142d      	subi      	r14, r14, 52
	
	//回复数据
	reply_buff[reply_len++] = 0x04;	//CMD
	
	i=9;
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6dd0:	1149      	lrw      	r2, 0x20000ba6	// 6e74 <TouchKey_ReadEnve_Processing+0xa8>
	reply_buff[reply_len++] = 0x04;	//CMD
    6dd2:	3304      	movi      	r3, 4
    6dd4:	dc6e0000 	st.b      	r3, (r14, 0x0)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6dd8:	8a69      	ld.h      	r3, (r2, 0x12)
    6dda:	4b68      	lsri      	r3, r3, 8
    6ddc:	dc6e0001 	st.b      	r3, (r14, 0x1)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6de0:	8a69      	ld.h      	r3, (r2, 0x12)
    6de2:	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);
    6de6:	6c3b      	mov      	r0, r14
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6de8:	1164      	lrw      	r3, 0x20000854	// 6e78 <TouchKey_ReadEnve_Processing+0xac>
    6dea:	8b29      	ld.h      	r1, (r3, 0x12)
    6dec:	4928      	lsri      	r1, r1, 8
    6dee:	dc2e0003 	st.b      	r1, (r14, 0x3)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6df2:	8b29      	ld.h      	r1, (r3, 0x12)
    6df4:	dc2e0004 	st.b      	r1, (r14, 0x4)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6df8:	8a2a      	ld.h      	r1, (r2, 0x14)
    6dfa:	4928      	lsri      	r1, r1, 8
    6dfc:	dc2e0005 	st.b      	r1, (r14, 0x5)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e00:	8a2a      	ld.h      	r1, (r2, 0x14)
    6e02:	dc2e0006 	st.b      	r1, (r14, 0x6)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e06:	8b2a      	ld.h      	r1, (r3, 0x14)
    6e08:	4928      	lsri      	r1, r1, 8
    6e0a:	dc2e0007 	st.b      	r1, (r14, 0x7)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e0e:	8b2a      	ld.h      	r1, (r3, 0x14)
    6e10:	dc2e0008 	st.b      	r1, (r14, 0x8)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e14:	8a2b      	ld.h      	r1, (r2, 0x16)
    6e16:	4928      	lsri      	r1, r1, 8
    6e18:	dc2e0009 	st.b      	r1, (r14, 0x9)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e1c:	8a2b      	ld.h      	r1, (r2, 0x16)
    6e1e:	dc2e000a 	st.b      	r1, (r14, 0xa)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e22:	8b2b      	ld.h      	r1, (r3, 0x16)
    6e24:	4928      	lsri      	r1, r1, 8
    6e26:	dc2e000b 	st.b      	r1, (r14, 0xb)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e2a:	8b2b      	ld.h      	r1, (r3, 0x16)
    6e2c:	dc2e000c 	st.b      	r1, (r14, 0xc)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e30:	8a2c      	ld.h      	r1, (r2, 0x18)
    6e32:	4928      	lsri      	r1, r1, 8
    6e34:	dc2e000d 	st.b      	r1, (r14, 0xd)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e38:	8a2c      	ld.h      	r1, (r2, 0x18)
    6e3a:	dc2e000e 	st.b      	r1, (r14, 0xe)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e3e:	8b2c      	ld.h      	r1, (r3, 0x18)
    6e40:	4928      	lsri      	r1, r1, 8
    6e42:	dc2e000f 	st.b      	r1, (r14, 0xf)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e46:	8b2c      	ld.h      	r1, (r3, 0x18)
    6e48:	dc2e0010 	st.b      	r1, (r14, 0x10)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e4c:	8a2d      	ld.h      	r1, (r2, 0x1a)
	reply_buff[reply_len++] = sampling_data0[i]&0xff;	
    6e4e:	8a4d      	ld.h      	r2, (r2, 0x1a)
    6e50:	dc4e0012 	st.b      	r2, (r14, 0x12)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e54:	4928      	lsri      	r1, r1, 8
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e56:	8b4d      	ld.h      	r2, (r3, 0x1a)
	reply_buff[reply_len++] = sampling_data0[i]>>8;		
    6e58:	dc2e0011 	st.b      	r1, (r14, 0x11)
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e5c:	4a48      	lsri      	r2, r2, 8
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e5e:	8b6d      	ld.h      	r3, (r3, 0x1a)
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6e60:	3115      	movi      	r1, 21
	reply_buff[reply_len++] = baseline_data0[i]>>8;		
    6e62:	dc4e0013 	st.b      	r2, (r14, 0x13)
	reply_buff[reply_len++] = baseline_data0[i]&0xff;
    6e66:	dc6e0014 	st.b      	r3, (r14, 0x14)
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6e6a:	e3fffe85 	bsr      	0x6b74	// 6b74 <TouchKey_Comm_Reply>
}
    6e6e:	140d      	addi      	r14, r14, 52
    6e70:	1490      	pop      	r15
    6e72:	0000      	bkpt
    6e74:	20000ba6 	.long	0x20000ba6
    6e78:	20000854 	.long	0x20000854

Disassembly of section .text.TouchKey_ResetDevice_Processing:

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

	TouchKey_Comm_Reply(reply_buff,reply_len);
    6e86:	3102      	movi      	r1, 2
	reply_buff[reply_len++] = 0x00;	//
    6e88:	3300      	movi      	r3, 0
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6e8a:	6c3b      	mov      	r0, r14
	reply_buff[reply_len++] = 0x00;	//
    6e8c:	dc6e0001 	st.b      	r3, (r14, 0x1)
	TouchKey_Comm_Reply(reply_buff,reply_len);
    6e90:	e3fffe72 	bsr      	0x6b74	// 6b74 <TouchKey_Comm_Reply>
    6e94:	0400      	br      	0x6e94	// 6e94 <TouchKey_ResetDevice_Processing+0x18>

Disassembly of section .text.TouchKey_Comm_Processing:

00006e98 <TouchKey_Comm_Processing>:
 * 		CMD：0x01 - 设置触摸灵敏度挡位参数
 * 		CMD：0x02 - 读取触摸灵敏度挡位参数
 * 		CMD：0x03 - 启动触摸调试模式
 * 		CMD：0x04 - 读取触摸按键环境值
 * */
U8_T TouchKey_Comm_Processing(U8_T *data,U16_T len){
    6e98:	14d2      	push      	r4-r5, r15
    6e9a:	1421      	subi      	r14, r14, 4
	/*校验数据头*/
	if(data[0] != 0xAF){
    6e9c:	8060      	ld.b      	r3, (r0, 0x0)
    6e9e:	32af      	movi      	r2, 175
    6ea0:	648e      	cmpne      	r3, r2
U8_T TouchKey_Comm_Processing(U8_T *data,U16_T len){
    6ea2:	6d43      	mov      	r5, r0
	if(data[0] != 0xAF){
    6ea4:	0c09      	bf      	0x6eb6	// 6eb6 <TouchKey_Comm_Processing+0x1e>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Heard Error:%d",__func__,data[0]);
    6ea6:	3000      	movi      	r0, 0
    6ea8:	114b      	lrw      	r2, 0xc8f8	// 6f54 <TouchKey_Comm_Processing+0xbc>
    6eaa:	112c      	lrw      	r1, 0xcddf	// 6f58 <TouchKey_Comm_Processing+0xc0>
    6eac:	e3fffbe8 	bsr      	0x667c	// 667c <Dbg_Println>
		return 0x01;
    6eb0:	3001      	movi      	r0, 1
			break;
	}
	
	
	return 0;
}
    6eb2:	1401      	addi      	r14, r14, 4
    6eb4:	1492      	pop      	r4-r5, r15
	if(data[1] != g_eeprom.dev_addr){
    6eb6:	114a      	lrw      	r2, 0x200004f4	// 6f5c <TouchKey_Comm_Processing+0xc4>
    6eb8:	8061      	ld.b      	r3, (r0, 0x1)
    6eba:	8240      	ld.b      	r2, (r2, 0x0)
    6ebc:	64ca      	cmpne      	r2, r3
    6ebe:	0c08      	bf      	0x6ece	// 6ece <TouchKey_Comm_Processing+0x36>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Addr Error %d",__func__,data[1]);
    6ec0:	3000      	movi      	r0, 0
    6ec2:	1145      	lrw      	r2, 0xc8f8	// 6f54 <TouchKey_Comm_Processing+0xbc>
    6ec4:	1127      	lrw      	r1, 0xcdf1	// 6f60 <TouchKey_Comm_Processing+0xc8>
    6ec6:	e3fffbdb 	bsr      	0x667c	// 667c <Dbg_Println>
        return 0x02;
    6eca:	3002      	movi      	r0, 2
    6ecc:	07f3      	br      	0x6eb2	// 6eb2 <TouchKey_Comm_Processing+0x1a>
	if(data[2] != len){
    6ece:	8062      	ld.b      	r3, (r0, 0x2)
    6ed0:	750d      	zexth      	r4, r3
    6ed2:	6452      	cmpne      	r4, r1
    6ed4:	0c09      	bf      	0x6ee6	// 6ee6 <TouchKey_Comm_Processing+0x4e>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s Len Error %d-%d",__func__,data[2],len);
    6ed6:	b820      	st.w      	r1, (r14, 0x0)
    6ed8:	105f      	lrw      	r2, 0xc8f8	// 6f54 <TouchKey_Comm_Processing+0xbc>
    6eda:	1123      	lrw      	r1, 0xce02	// 6f64 <TouchKey_Comm_Processing+0xcc>
    6edc:	3000      	movi      	r0, 0
    6ede:	e3fffbcf 	bsr      	0x667c	// 667c <Dbg_Println>
        return 0x03;
    6ee2:	3003      	movi      	r0, 3
    6ee4:	07e7      	br      	0x6eb2	// 6eb2 <TouchKey_Comm_Processing+0x1a>
	if(data[len-1] != 0xFA){
    6ee6:	60c0      	addu      	r3, r0
    6ee8:	2b00      	subi      	r3, 1
    6eea:	8360      	ld.b      	r3, (r3, 0x0)
    6eec:	32fa      	movi      	r2, 250
    6eee:	648e      	cmpne      	r3, r2
    6ef0:	0c07      	bf      	0x6efe	// 6efe <TouchKey_Comm_Processing+0x66>
		Dbg_Println(DBG_BIT_SYS_STATUS,"%s End Error %d",__func__,data[len-1]);
    6ef2:	1059      	lrw      	r2, 0xc8f8	// 6f54 <TouchKey_Comm_Processing+0xbc>
    6ef4:	103d      	lrw      	r1, 0xce15	// 6f68 <TouchKey_Comm_Processing+0xd0>
    6ef6:	3000      	movi      	r0, 0
    6ef8:	e3fffbc2 	bsr      	0x667c	// 667c <Dbg_Println>
    6efc:	07f3      	br      	0x6ee2	// 6ee2 <TouchKey_Comm_Processing+0x4a>
	if(TouchKey_CheckSum(data,(len - 1)) == 0x00){
    6efe:	5c23      	subi      	r1, r4, 1
    6f00:	7445      	zexth      	r1, r1
    6f02:	e3fffe2d 	bsr      	0x6b5c	// 6b5c <TouchKey_CheckSum>
    6f06:	3840      	cmpnei      	r0, 0
    6f08:	0806      	bt      	0x6f14	// 6f14 <TouchKey_Comm_Processing+0x7c>
        Dbg_Println(DBG_BIT_SYS_STATUS,"%s Check Error",__func__);
    6f0a:	1053      	lrw      	r2, 0xc8f8	// 6f54 <TouchKey_Comm_Processing+0xbc>
    6f0c:	1038      	lrw      	r1, 0xce25	// 6f6c <TouchKey_Comm_Processing+0xd4>
    6f0e:	e3fffbb7 	bsr      	0x667c	// 667c <Dbg_Println>
    6f12:	07e8      	br      	0x6ee2	// 6ee2 <TouchKey_Comm_Processing+0x4a>
	switch(data[4]){
    6f14:	8504      	ld.b      	r0, (r5, 0x4)
    6f16:	2800      	subi      	r0, 1
    6f18:	3804      	cmphsi      	r0, 5
    6f1a:	080c      	bt      	0x6f32	// 6f32 <TouchKey_Comm_Processing+0x9a>
    6f1c:	5c37      	subi      	r1, r4, 6
    6f1e:	2504      	addi      	r5, 5
			TouchKey_ResetDevice_Processing(&data[5],(len - 6));
    6f20:	7445      	zexth      	r1, r1
	switch(data[4]){
    6f22:	e3ffe2ed 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    6f26:	0803      	.short	0x0803
    6f28:	0014100c 	.long	0x0014100c
			TouchKey_SetPara_Processing(&data[5],(len - 6));
    6f2c:	6c17      	mov      	r0, r5
    6f2e:	e3fffe5b 	bsr      	0x6be4	// 6be4 <TouchKey_SetPara_Processing>
	return 0;
    6f32:	3000      	movi      	r0, 0
    6f34:	07bf      	br      	0x6eb2	// 6eb2 <TouchKey_Comm_Processing+0x1a>
			TouchKey_ReadPara_Processing(&data[5],(len - 6));
    6f36:	6c17      	mov      	r0, r5
    6f38:	e3fffeb2 	bsr      	0x6c9c	// 6c9c <TouchKey_ReadPara_Processing>
    6f3c:	07fb      	br      	0x6f32	// 6f32 <TouchKey_Comm_Processing+0x9a>
			TouchKey_DugPrintf_Processing(&data[5],(len - 6));
    6f3e:	6c17      	mov      	r0, r5
    6f40:	e3ffff2a 	bsr      	0x6d94	// 6d94 <TouchKey_DugPrintf_Processing>
    6f44:	07f7      	br      	0x6f32	// 6f32 <TouchKey_Comm_Processing+0x9a>
			TouchKey_ReadEnve_Processing(&data[5],(len - 6));
    6f46:	6c17      	mov      	r0, r5
    6f48:	e3ffff42 	bsr      	0x6dcc	// 6dcc <TouchKey_ReadEnve_Processing>
    6f4c:	07f3      	br      	0x6f32	// 6f32 <TouchKey_Comm_Processing+0x9a>
			TouchKey_ResetDevice_Processing(&data[5],(len - 6));
    6f4e:	6c17      	mov      	r0, r5
    6f50:	e3ffff96 	bsr      	0x6e7c	// 6e7c <TouchKey_ResetDevice_Processing>
    6f54:	0000c8f8 	.long	0x0000c8f8
    6f58:	0000cddf 	.long	0x0000cddf
    6f5c:	200004f4 	.long	0x200004f4
    6f60:	0000cdf1 	.long	0x0000cdf1
    6f64:	0000ce02 	.long	0x0000ce02
    6f68:	0000ce15 	.long	0x0000ce15
    6f6c:	0000ce25 	.long	0x0000ce25

Disassembly of section .text.EEPROM_CheckSum:

00006f70 <EEPROM_CheckSum>:
E_PARA_INFO g_eeprom;
E_MCU_DEV_INFO g_mcu_dev;


U8_T EEPROM_CheckSum(U8_T *data,U16_T len)
{
    6f70:	6cc3      	mov      	r3, r0
    6f72:	6040      	addu      	r1, r0
	U8_T data_sum = 0;
    6f74:	3000      	movi      	r0, 0
	
	for(U16_T i = 0;i<len;i++)
    6f76:	644e      	cmpne      	r3, r1
    6f78:	0802      	bt      	0x6f7c	// 6f7c <EEPROM_CheckSum+0xc>
	{
		data_sum += data[i];
	}
	return data_sum;
}
    6f7a:	783c      	jmp      	r15
		data_sum += data[i];
    6f7c:	8340      	ld.b      	r2, (r3, 0x0)
    6f7e:	6008      	addu      	r0, r2
    6f80:	7400      	zextb      	r0, r0
    6f82:	2300      	addi      	r3, 1
    6f84:	07f9      	br      	0x6f76	// 6f76 <EEPROM_CheckSum+0x6>

Disassembly of section .text.EEPROM_ReadParaInfo:

00006f88 <EEPROM_ReadParaInfo>:
#endif	
	}
}


U8_T EEPROM_ReadParaInfo(E_PARA_INFO *info){
    6f88:	14d1      	push      	r4, r15
    6f8a:	143b      	subi      	r14, r14, 108
    6f8c:	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));
    6f8e:	3300      	movi      	r3, 0
	memset(para_data,0,sizeof(para_data));
    6f90:	3264      	movi      	r2, 100
    6f92:	3100      	movi      	r1, 0
    6f94:	1802      	addi      	r0, r14, 8
	memset(read_info,0,sizeof(read_info));
    6f96:	b860      	st.w      	r3, (r14, 0x0)
    6f98:	dc6e1002 	st.h      	r3, (r14, 0x4)
	memset(para_data,0,sizeof(para_data));
    6f9c:	e3ffe900 	bsr      	0x419c	// 419c <__memset_fast>
	
	ReadDataArry_U8(EEPROM_ParaInfo_Address,4,read_info);
    6fa0:	6cbb      	mov      	r2, r14
    6fa2:	3104      	movi      	r1, 4
    6fa4:	1014      	lrw      	r0, 0x10000100	// 6ff4 <EEPROM_ReadParaInfo+0x6c>
    6fa6:	e3fff1a3 	bsr      	0x52ec	// 52ec <ReadDataArry_U8>
	
	if(read_info[0] == EEPROM_APP_SVAE_FLAG){
    6faa:	d84e0000 	ld.b      	r2, (r14, 0x0)
    6fae:	33a6      	movi      	r3, 166
    6fb0:	64ca      	cmpne      	r2, r3
    6fb2:	0c04      	bf      	0x6fba	// 6fba <EEPROM_ReadParaInfo+0x32>
				return 0x00;
			}
		}
	}
	
	return 0x01;
    6fb4:	3001      	movi      	r0, 1
}
    6fb6:	141b      	addi      	r14, r14, 108
    6fb8:	1491      	pop      	r4, r15
		read_len |= read_info[1];
    6fba:	d82e0002 	ld.b      	r1, (r14, 0x2)
    6fbe:	d86e0001 	ld.b      	r3, (r14, 0x1)
    6fc2:	4128      	lsli      	r1, r1, 8
    6fc4:	6c4c      	or      	r1, r3
		if(read_len <= EEPROM_APP_DATA_Size_Max){
    6fc6:	3364      	movi      	r3, 100
    6fc8:	644c      	cmphs      	r3, r1
    6fca:	0ff5      	bf      	0x6fb4	// 6fb4 <EEPROM_ReadParaInfo+0x2c>
			ReadDataArry_U8(EEPROM_ParaInfo_Address+EEPROM_Offset_Data,read_len,para_data);
    6fcc:	1a02      	addi      	r2, r14, 8
    6fce:	100b      	lrw      	r0, 0x10000104	// 6ff8 <EEPROM_ReadParaInfo+0x70>
    6fd0:	e3fff18e 	bsr      	0x52ec	// 52ec <ReadDataArry_U8>
			if(EEPROM_CheckSum(para_data,sizeof(E_PARA_INFO)) == read_info[3]){
    6fd4:	3108      	movi      	r1, 8
    6fd6:	1802      	addi      	r0, r14, 8
    6fd8:	e3ffffcc 	bsr      	0x6f70	// 6f70 <EEPROM_CheckSum>
    6fdc:	d86e0003 	ld.b      	r3, (r14, 0x3)
    6fe0:	640e      	cmpne      	r3, r0
    6fe2:	0be9      	bt      	0x6fb4	// 6fb4 <EEPROM_ReadParaInfo+0x2c>
				memcpy((uint8_t *)info,para_data,sizeof(E_PARA_INFO));
    6fe4:	3208      	movi      	r2, 8
    6fe6:	1902      	addi      	r1, r14, 8
    6fe8:	6c13      	mov      	r0, r4
    6fea:	e3ffe91d 	bsr      	0x4224	// 4224 <__memcpy_fast>
				return 0x00;
    6fee:	3000      	movi      	r0, 0
    6ff0:	07e3      	br      	0x6fb6	// 6fb6 <EEPROM_ReadParaInfo+0x2e>
    6ff2:	0000      	bkpt
    6ff4:	10000100 	.long	0x10000100
    6ff8:	10000104 	.long	0x10000104

Disassembly of section .text.EEPROM_WriteParaInfo:

00006ffc <EEPROM_WriteParaInfo>:

U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){
    6ffc:	14d0      	push      	r15
    6ffe:	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;
    7000:	3300      	movi      	r3, 0
    7002:	2b59      	subi      	r3, 90
    7004:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_data[1] = save_len & 0xFF;
    7008:	3308      	movi      	r3, 8
    700a:	dc6e0001 	st.b      	r3, (r14, 0x1)
	save_data[2] = (save_len >> 8) & 0xFF;
    700e:	3300      	movi      	r3, 0
    7010:	dc6e0002 	st.b      	r3, (r14, 0x2)
	
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    7014:	1b01      	addi      	r3, r14, 4
U8_T EEPROM_WriteParaInfo(E_PARA_INFO *info){
    7016:	6c43      	mov      	r1, r0
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    7018:	3208      	movi      	r2, 8
    701a:	6c0f      	mov      	r0, r3
    701c:	e3ffe904 	bsr      	0x4224	// 4224 <__memcpy_fast>
	
	save_data[3] = EEPROM_CheckSum(&save_data[4],save_len);
    7020:	3108      	movi      	r1, 8
    7022:	e3ffffa7 	bsr      	0x6f70	// 6f70 <EEPROM_CheckSum>
    7026:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len+=4;
	
	Page_ProgramData(EEPROM_ParaInfo_Address,save_len,save_data);
    702a:	6cbb      	mov      	r2, r14
    702c:	310c      	movi      	r1, 12
    702e:	1004      	lrw      	r0, 0x10000100	// 703c <EEPROM_WriteParaInfo+0x40>
    7030:	e3fff10e 	bsr      	0x524c	// 524c <Page_ProgramData>
	
	return 0;
}
    7034:	3000      	movi      	r0, 0
    7036:	141b      	addi      	r14, r14, 108
    7038:	1490      	pop      	r15
    703a:	0000      	bkpt
    703c:	10000100 	.long	0x10000100

Disassembly of section .text.EEPROM_Validate_ParaInfo:

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

U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){
    7040:	14d1      	push      	r4, r15
    7042:	1423      	subi      	r14, r14, 12
	U8_T i=0;
	
	//以下为本地参数
	
	//温差
	if(info->temp_diff > 18 ){
    7044:	8062      	ld.b      	r3, (r0, 0x2)
    7046:	3b12      	cmphsi      	r3, 19
U8_T EEPROM_Validate_ParaInfo(E_PARA_INFO *info){
    7048:	6d03      	mov      	r4, r0
	if(info->temp_diff > 18 ){
    704a:	0c03      	bf      	0x7050	// 7050 <EEPROM_Validate_ParaInfo+0x10>
		info->temp_diff = EEPROM_TempDifference_Default;		//默认
    704c:	3309      	movi      	r3, 9
    704e:	a062      	st.b      	r3, (r0, 0x2)
	}
	Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info temp_diff %d",info->temp_diff);
    7050:	8442      	ld.b      	r2, (r4, 0x2)
    7052:	103d      	lrw      	r1, 0xce34	// 70c4 <EEPROM_Validate_ParaInfo+0x84>
    7054:	3000      	movi      	r0, 0
    7056:	e3fffb13 	bsr      	0x667c	// 667c <Dbg_Println>
	
	//温度显示单位
	if(info->temp_select > 0x02 ){
    705a:	8463      	ld.b      	r3, (r4, 0x3)
    705c:	3b02      	cmphsi      	r3, 3
    705e:	0c03      	bf      	0x7064	// 7064 <EEPROM_Validate_ParaInfo+0x24>
		info->temp_select = EEPROM_TempSelect_Default;				//默认保护电流为10A
    7060:	3300      	movi      	r3, 0
    7062:	a463      	st.b      	r3, (r4, 0x3)
	}
	
	
	if(info->backlight_en >= 0x02)
    7064:	8464      	ld.b      	r3, (r4, 0x4)
    7066:	3b01      	cmphsi      	r3, 2
    7068:	0c03      	bf      	0x706e	// 706e <EEPROM_Validate_ParaInfo+0x2e>
	{
		info->backlight_en = 0x00;
    706a:	3300      	movi      	r3, 0
    706c:	a464      	st.b      	r3, (r4, 0x4)
	}
	
	if(info->pipe_flag > 0x02)
    706e:	8461      	ld.b      	r3, (r4, 0x1)
    7070:	3b02      	cmphsi      	r3, 3
    7072:	0c03      	bf      	0x7078	// 7078 <EEPROM_Validate_ParaInfo+0x38>
	{
		info->pipe_flag = 0x00;
    7074:	3300      	movi      	r3, 0
    7076:	a461      	st.b      	r3, (r4, 0x1)
	}
	
	if((info->dev_addr == 0x00) || (info->dev_addr == 0xff))
    7078:	8460      	ld.b      	r3, (r4, 0x0)
    707a:	2b00      	subi      	r3, 1
    707c:	74cc      	zextb      	r3, r3
    707e:	32fd      	movi      	r2, 253
    7080:	64c8      	cmphs      	r2, r3
    7082:	0803      	bt      	0x7088	// 7088 <EEPROM_Validate_ParaInfo+0x48>
	{
		info->dev_addr = 0x01;
    7084:	3301      	movi      	r3, 1
    7086:	a460      	st.b      	r3, (r4, 0x0)
	}
	
	//按键灵敏度
	if(info->key_sens_level > 2)
    7088:	8465      	ld.b      	r3, (r4, 0x5)
    708a:	3b02      	cmphsi      	r3, 3
    708c:	0c03      	bf      	0x7092	// 7092 <EEPROM_Validate_ParaInfo+0x52>
	{
		info->key_sens_level = EEPROM_TouchLevel_Default;    //默认中灵敏度
    708e:	3301      	movi      	r3, 1
    7090:	a465      	st.b      	r3, (r4, 0x5)
	}
	
	//显示语言
	if(info->langue_select > 2)
    7092:	8466      	ld.b      	r3, (r4, 0x6)
    7094:	3b02      	cmphsi      	r3, 3
    7096:	0c03      	bf      	0x709c	// 709c <EEPROM_Validate_ParaInfo+0x5c>
	{
		info->langue_select = EEPROM_LangueSelect_Default;//默认中英文混合
    7098:	3300      	movi      	r3, 0
    709a:	a466      	st.b      	r3, (r4, 0x6)
	}	
	
	//设备端口类型
	if(info->dev_port > 2)                 //2024-12-16
    709c:	8467      	ld.b      	r3, (r4, 0x7)
    709e:	3b02      	cmphsi      	r3, 3
    70a0:	0c03      	bf      	0x70a6	// 70a6 <EEPROM_Validate_ParaInfo+0x66>
	{
		info->dev_port = POLLING_PORT;                       //默认轮训端口
    70a2:	3301      	movi      	r3, 1
    70a4:	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",\
    70a6:	8427      	ld.b      	r1, (r4, 0x7)
    70a8:	b822      	st.w      	r1, (r14, 0x8)
    70aa:	8420      	ld.b      	r1, (r4, 0x0)
    70ac:	b821      	st.w      	r1, (r14, 0x4)
    70ae:	8425      	ld.b      	r1, (r4, 0x5)
    70b0:	b820      	st.w      	r1, (r14, 0x0)
    70b2:	8464      	ld.b      	r3, (r4, 0x4)
    70b4:	8443      	ld.b      	r2, (r4, 0x3)
    70b6:	1025      	lrw      	r1, 0xce4b	// 70c8 <EEPROM_Validate_ParaInfo+0x88>
    70b8:	3000      	movi      	r0, 0
    70ba:	e3fffae1 	bsr      	0x667c	// 667c <Dbg_Println>
	info->temp_select,info->backlight_en,info->key_sens_level,info->dev_addr,info->dev_port);
	
	return 0;
}
    70be:	3000      	movi      	r0, 0
    70c0:	1403      	addi      	r14, r14, 12
    70c2:	1491      	pop      	r4, r15
    70c4:	0000ce34 	.long	0x0000ce34
    70c8:	0000ce4b 	.long	0x0000ce4b

Disassembly of section .text.EEPROM_Default_ParaInfo:

000070cc <EEPROM_Default_ParaInfo>:

/*恢复默认值*/
void EEPROM_Default_ParaInfo(E_PARA_INFO *info){
	info->dev_addr = 0x01;
    70cc:	3301      	movi      	r3, 1
    70ce:	a060      	st.b      	r3, (r0, 0x0)
	info->pipe_flag = 0x00;
    70d0:	3300      	movi      	r3, 0
    70d2:	a061      	st.b      	r3, (r0, 0x1)
	info->temp_diff = EEPROM_TempDifference_Default;
    70d4:	3309      	movi      	r3, 9
    70d6:	a062      	st.b      	r3, (r0, 0x2)
	info->temp_select = EEPROM_TempSelect_Default;
    70d8:	3300      	movi      	r3, 0
    70da:	a063      	st.b      	r3, (r0, 0x3)
	info->backlight_en = 0x00;
    70dc:	a064      	st.b      	r3, (r0, 0x4)
	info->key_sens_level = EEPROM_TouchLevel_Default;
    70de:	3301      	movi      	r3, 1
    70e0:	a065      	st.b      	r3, (r0, 0x5)
	info->langue_select = EEPROM_LangueSelect_Default;	
    70e2:	3300      	movi      	r3, 0
    70e4:	a066      	st.b      	r3, (r0, 0x6)
	info->dev_port = POLLING_PORT;                          //2024-12-16
    70e6:	3301      	movi      	r3, 1
    70e8:	a067      	st.b      	r3, (r0, 0x7)
	
}
    70ea:	783c      	jmp      	r15

Disassembly of section .text.EEPROM_WriteTouchPara:

000070ec <EEPROM_WriteTouchPara>:
* Description    : 保存触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：保存参数
*******************************************************************************/
U8_T EEPROM_WriteTouchPara(U8_T level,TOUCHKEY_PARA *para){
    70ec:	14d2      	push      	r4-r5, r15
    70ee:	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){
    70f0:	3841      	cmpnei      	r0, 1
U8_T EEPROM_WriteTouchPara(U8_T level,TOUCHKEY_PARA *para){
    70f2:	6d47      	mov      	r5, r1
	switch(level){
    70f4:	0c07      	bf      	0x7102	// 7102 <EEPROM_WriteTouchPara+0x16>
    70f6:	3840      	cmpnei      	r0, 0
    70f8:	0c27      	bf      	0x7146	// 7146 <EEPROM_WriteTouchPara+0x5a>
    70fa:	3842      	cmpnei      	r0, 2
    70fc:	0c23      	bf      	0x7142	// 7142 <EEPROM_WriteTouchPara+0x56>
			break;
		case 0x02:
			temp_addr = EEPROM_TOUCHPARA3_SaveAddr;
			break;
		default:
			return 0x01;		//不在范围内，不保存
    70fe:	3001      	movi      	r0, 1
    7100:	041f      	br      	0x713e	// 713e <EEPROM_WriteTouchPara+0x52>
			temp_addr = EEPROM_TOUCHPARA2_SaveAddr;
    7102:	1093      	lrw      	r4, 0x10000280	// 714c <EEPROM_WriteTouchPara+0x60>
			break;
	}
	
	memset(save_para,0,sizeof(save_para));
    7104:	323c      	movi      	r2, 60
    7106:	3100      	movi      	r1, 0
    7108:	6c3b      	mov      	r0, r14
    710a:	e3ffe849 	bsr      	0x419c	// 419c <__memset_fast>
	
	if(save_len >= EEPROM_PARA_Size)	save_len = EEPROM_PARA_Size;
	
	save_para[0] = EEPROM_APP_SVAE_FLAG;
    710e:	3300      	movi      	r3, 0
    7110:	2b59      	subi      	r3, 90
    7112:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_para[1] = save_len & 0xFF;
    7116:	331c      	movi      	r3, 28
    7118:	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);
    711c:	1b01      	addi      	r3, r14, 4
    711e:	321c      	movi      	r2, 28
    7120:	6c0f      	mov      	r0, r3
    7122:	6c57      	mov      	r1, r5
    7124:	e3ffe880 	bsr      	0x4224	// 4224 <__memcpy_fast>
	
	save_para[3] = EEPROM_CheckSum(&save_para[4],save_len);
    7128:	311c      	movi      	r1, 28
    712a:	e3ffff23 	bsr      	0x6f70	// 6f70 <EEPROM_CheckSum>
    712e:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len += 4;
	Page_ProgramData(temp_addr,save_len,save_para);
    7132:	6cbb      	mov      	r2, r14
    7134:	6c13      	mov      	r0, r4
    7136:	3120      	movi      	r1, 32
    7138:	e3fff08a 	bsr      	0x524c	// 524c <Page_ProgramData>
	
	return 0;
    713c:	3000      	movi      	r0, 0
}
    713e:	140f      	addi      	r14, r14, 60
    7140:	1492      	pop      	r4-r5, r15
			temp_addr = EEPROM_TOUCHPARA3_SaveAddr;
    7142:	1084      	lrw      	r4, 0x10000300	// 7150 <EEPROM_WriteTouchPara+0x64>
			break;
    7144:	07e0      	br      	0x7104	// 7104 <EEPROM_WriteTouchPara+0x18>
			temp_addr = EEPROM_TOUCHPARA1_SaveAddr;
    7146:	1084      	lrw      	r4, 0x10000200	// 7154 <EEPROM_WriteTouchPara+0x68>
    7148:	07de      	br      	0x7104	// 7104 <EEPROM_WriteTouchPara+0x18>
    714a:	0000      	bkpt
    714c:	10000280 	.long	0x10000280
    7150:	10000300 	.long	0x10000300
    7154:	10000200 	.long	0x10000200

Disassembly of section .text.EEPROM_ReadTouchPara:

00007158 <EEPROM_ReadTouchPara>:
* Description    : 读取触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：读取参数
*******************************************************************************/
U8_T EEPROM_ReadTouchPara(U8_T level,TOUCHKEY_PARA *para){
    7158:	14d2      	push      	r4-r5, r15
    715a:	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){
    715c:	3841      	cmpnei      	r0, 1
U8_T EEPROM_ReadTouchPara(U8_T level,TOUCHKEY_PARA *para){
    715e:	6d07      	mov      	r4, r1
	switch(level){
    7160:	0c3a      	bf      	0x71d4	// 71d4 <EEPROM_ReadTouchPara+0x7c>
    7162:	3840      	cmpnei      	r0, 0
    7164:	0c05      	bf      	0x716e	// 716e <EEPROM_ReadTouchPara+0x16>
    7166:	3842      	cmpnei      	r0, 2
    7168:	0c34      	bf      	0x71d0	// 71d0 <EEPROM_ReadTouchPara+0x78>
		}
	}else{
		Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"EEPROM_ReadTouchPara Flag Err",read_info,4);
	}
	
	return 0x01;
    716a:	3001      	movi      	r0, 1
    716c:	0430      	br      	0x71cc	// 71cc <EEPROM_ReadTouchPara+0x74>
			temp_addr = EEPROM_TOUCHPARA1_SaveAddr;
    716e:	11a1      	lrw      	r5, 0x10000200	// 71f0 <EEPROM_ReadTouchPara+0x98>
	memset(read_info,0,sizeof(read_info));
    7170:	3300      	movi      	r3, 0
	memset(para_data,0,sizeof(para_data));
    7172:	3234      	movi      	r2, 52
    7174:	3100      	movi      	r1, 0
    7176:	1802      	addi      	r0, r14, 8
	memset(read_info,0,sizeof(read_info));
    7178:	b860      	st.w      	r3, (r14, 0x0)
    717a:	dc6e1002 	st.h      	r3, (r14, 0x4)
	memset(para_data,0,sizeof(para_data));
    717e:	e3ffe80f 	bsr      	0x419c	// 419c <__memset_fast>
	ReadDataArry_U8(temp_addr,4,read_info);
    7182:	6cbb      	mov      	r2, r14
    7184:	3104      	movi      	r1, 4
    7186:	6c17      	mov      	r0, r5
    7188:	e3fff0b2 	bsr      	0x52ec	// 52ec <ReadDataArry_U8>
	if(read_info[0] == EEPROM_APP_SVAE_FLAG){
    718c:	d84e0000 	ld.b      	r2, (r14, 0x0)
    7190:	33a6      	movi      	r3, 166
    7192:	64ca      	cmpne      	r2, r3
    7194:	0827      	bt      	0x71e2	// 71e2 <EEPROM_ReadTouchPara+0x8a>
		read_len |= read_info[1];
    7196:	d84e0002 	ld.b      	r2, (r14, 0x2)
    719a:	d86e0001 	ld.b      	r3, (r14, 0x1)
    719e:	4248      	lsli      	r2, r2, 8
    71a0:	6c8c      	or      	r2, r3
		if((read_len <= EEPROM_PARA_Size) && (read_len == sizeof(TOUCHKEY_PARA))){
    71a2:	3a5c      	cmpnei      	r2, 28
    71a4:	081a      	bt      	0x71d8	// 71d8 <EEPROM_ReadTouchPara+0x80>
			temp_addr += EEPROM_Offset_Data;
    71a6:	5d0e      	addi      	r0, r5, 4
			ReadDataArry_U8(temp_addr,read_len,para_data);
    71a8:	1a02      	addi      	r2, r14, 8
    71aa:	311c      	movi      	r1, 28
    71ac:	e3fff0a0 	bsr      	0x52ec	// 52ec <ReadDataArry_U8>
			if(EEPROM_CheckSum(para_data,sizeof(TOUCHKEY_PARA)) == read_info[3]){
    71b0:	311c      	movi      	r1, 28
    71b2:	1802      	addi      	r0, r14, 8
    71b4:	e3fffede 	bsr      	0x6f70	// 6f70 <EEPROM_CheckSum>
    71b8:	d86e0003 	ld.b      	r3, (r14, 0x3)
    71bc:	640e      	cmpne      	r3, r0
    71be:	0bd6      	bt      	0x716a	// 716a <EEPROM_ReadTouchPara+0x12>
				memcpy((uint8_t *)para,para_data,sizeof(TOUCHKEY_PARA));
    71c0:	321c      	movi      	r2, 28
    71c2:	1902      	addi      	r1, r14, 8
    71c4:	6c13      	mov      	r0, r4
    71c6:	e3ffe82f 	bsr      	0x4224	// 4224 <__memcpy_fast>
				return 0x00;
    71ca:	3000      	movi      	r0, 0
}
    71cc:	140f      	addi      	r14, r14, 60
    71ce:	1492      	pop      	r4-r5, r15
			temp_addr = EEPROM_TOUCHPARA3_SaveAddr;
    71d0:	10a9      	lrw      	r5, 0x10000300	// 71f4 <EEPROM_ReadTouchPara+0x9c>
			break;
    71d2:	07cf      	br      	0x7170	// 7170 <EEPROM_ReadTouchPara+0x18>
			temp_addr = EEPROM_TOUCHPARA2_SaveAddr;
    71d4:	10a9      	lrw      	r5, 0x10000280	// 71f8 <EEPROM_ReadTouchPara+0xa0>
    71d6:	07cd      	br      	0x7170	// 7170 <EEPROM_ReadTouchPara+0x18>
			Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadTouchPara LEN Error:%d",read_len);
    71d8:	1029      	lrw      	r1, 0xcea5	// 71fc <EEPROM_ReadTouchPara+0xa4>
    71da:	3000      	movi      	r0, 0
    71dc:	e3fffa50 	bsr      	0x667c	// 667c <Dbg_Println>
    71e0:	07c5      	br      	0x716a	// 716a <EEPROM_ReadTouchPara+0x12>
		Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"EEPROM_ReadTouchPara Flag Err",read_info,4);
    71e2:	3304      	movi      	r3, 4
    71e4:	6cbb      	mov      	r2, r14
    71e6:	1027      	lrw      	r1, 0xcec7	// 7200 <EEPROM_ReadTouchPara+0xa8>
    71e8:	3000      	movi      	r0, 0
    71ea:	e3fffa4f 	bsr      	0x6688	// 6688 <Dbg_Print_Buff>
    71ee:	07be      	br      	0x716a	// 716a <EEPROM_ReadTouchPara+0x12>
    71f0:	10000200 	.long	0x10000200
    71f4:	10000300 	.long	0x10000300
    71f8:	10000280 	.long	0x10000280
    71fc:	0000cea5 	.long	0x0000cea5
    7200:	0000cec7 	.long	0x0000cec7

Disassembly of section .text.EEPROM_Validate_TouchPara:

00007204 <EEPROM_Validate_TouchPara>:
* Description    : 校验触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：读取参数
*******************************************************************************/
U8_T EEPROM_Validate_TouchPara(U8_T level,TOUCHKEY_PARA *para){
    7204:	14c4      	push      	r4-r7
    7206:	1421      	subi      	r14, r14, 4
	U8_T i=0,rev = 0;
	
	/*Baseline 更新速度 1~100*/
	if( (para->base_speed < 1) || (para->base_speed > 100) ){
    7208:	8163      	ld.b      	r3, (r1, 0x3)
    720a:	2b00      	subi      	r3, 1
    720c:	74cc      	zextb      	r3, r3
    720e:	3263      	movi      	r2, 99
    7210:	64c8      	cmphs      	r2, r3
    7212:	084e      	bt      	0x72ae	// 72ae <EEPROM_Validate_TouchPara+0xaa>
		para->base_speed = 20;			//默认参数 - 20
    7214:	3314      	movi      	r3, 20
    7216:	a163      	st.b      	r3, (r1, 0x3)
		rev = 0x01;
    7218:	3301      	movi      	r3, 1
	}
	
	/*press_debounce 触发消抖次数 1~10*/
	if((para->press_debounce < 1) || (para->press_debounce > 10) ){
    721a:	8140      	ld.b      	r2, (r1, 0x0)
    721c:	2a00      	subi      	r2, 1
    721e:	7488      	zextb      	r2, r2
    7220:	3a09      	cmphsi      	r2, 10
    7222:	0c04      	bf      	0x722a	// 722a <EEPROM_Validate_TouchPara+0x26>
		para->press_debounce = 4;			//默认参数 - 6
    7224:	3304      	movi      	r3, 4
    7226:	a160      	st.b      	r3, (r1, 0x0)
		rev = 0x01;
    7228:	3301      	movi      	r3, 1
	}
	
	/*release_debounce 释放消抖次数 1~10*/
	if((para->release_debounce < 1) || (para->release_debounce > 10) ){
    722a:	8141      	ld.b      	r2, (r1, 0x1)
    722c:	2a00      	subi      	r2, 1
    722e:	7488      	zextb      	r2, r2
    7230:	3a09      	cmphsi      	r2, 10
    7232:	0c04      	bf      	0x723a	// 723a <EEPROM_Validate_TouchPara+0x36>
		para->release_debounce = 5;			//默认参数 - 5
    7234:	3305      	movi      	r3, 5
    7236:	a161      	st.b      	r3, (r1, 0x1)
		rev = 0x01;
    7238:	3301      	movi      	r3, 1
	}
	
	/*multiTimes_filt 释放消抖次数 1~100*/
	if((para->multiTimes_filt < 1) || (para->multiTimes_filt > 100) ){
    723a:	8142      	ld.b      	r2, (r1, 0x2)
    723c:	2a00      	subi      	r2, 1
    723e:	7488      	zextb      	r2, r2
    7240:	3463      	movi      	r4, 99
    7242:	6490      	cmphs      	r4, r2
    7244:	0804      	bt      	0x724c	// 724c <EEPROM_Validate_TouchPara+0x48>
		para->multiTimes_filt = 40;			//默认参数 - 40
    7246:	3328      	movi      	r3, 40
    7248:	a162      	st.b      	r3, (r1, 0x2)
		rev = 0x01;
    724a:	3301      	movi      	r3, 1
	}
	
	/*longpress_time 按键长按强制更新时间设置 1~32*/
	if((para->longpress_time < 1) || (para->longpress_time > 32) ){
    724c:	9146      	ld.w      	r2, (r1, 0x18)
    724e:	2a00      	subi      	r2, 1
    7250:	3a1f      	cmphsi      	r2, 32
    7252:	0c04      	bf      	0x725a	// 725a <EEPROM_Validate_TouchPara+0x56>
		para->longpress_time = 16;			//默认参数 - 16
    7254:	3310      	movi      	r3, 16
    7256:	b166      	st.w      	r3, (r1, 0x18)
		rev = 0x01;
    7258:	3301      	movi      	r3, 1
			}else if (i == 1){
				para->senprd[i] = 320;			//默认参数 - 320
			}else if (i == 2){
				para->senprd[i] = 320;			//默认参数 - 320
			}else if (i == 3){
				para->senprd[i] = 300;			//默认参数 - 320
    725a:	3696      	movi      	r6, 150
			}else if (i == 4){
				para->senprd[i] = 280;			//默认参数 - 320
    725c:	358c      	movi      	r5, 140
				para->senprd[i] = 300;			//默认参数 - 320
    725e:	46c1      	lsli      	r6, r6, 1
    7260:	598e      	addi      	r4, r1, 4
		rev = 0x01;
    7262:	3200      	movi      	r2, 0
				para->senprd[i] = 280;			//默认参数 - 320
    7264:	45a1      	lsli      	r5, r5, 1
				para->senprd[i] = 300;			//默认参数 - 320
    7266:	dcce1001 	st.h      	r6, (r14, 0x2)
		if((para->senprd[i] < 10) || (para->senprd[i] > 1000) ){
    726a:	8cc0      	ld.h      	r6, (r4, 0x0)
    726c:	2e09      	subi      	r6, 10
    726e:	7599      	zexth      	r6, r6
    7270:	10fd      	lrw      	r7, 0x3de	// 72e4 <EEPROM_Validate_TouchPara+0xe0>
    7272:	659c      	cmphs      	r7, r6
    7274:	0805      	bt      	0x727e	// 727e <EEPROM_Validate_TouchPara+0x7a>
			if (i == 0){
    7276:	3a40      	cmpnei      	r2, 0
    7278:	081d      	bt      	0x72b2	// 72b2 <EEPROM_Validate_TouchPara+0xae>
				para->senprd[i] = 280;			//默认参数 - 320
    727a:	a9a2      	st.h      	r5, (r1, 0x4)
			}else {
				para->senprd[i] = 300;			//默认参数 - 320
			}
			
			rev = 0x01;
    727c:	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) ){
    727e:	8cc5      	ld.h      	r6, (r4, 0xa)
    7280:	2e13      	subi      	r6, 20
    7282:	37f5      	movi      	r7, 245
    7284:	7599      	zexth      	r6, r6
    7286:	47e2      	lsli      	r7, r7, 2
    7288:	659c      	cmphs      	r7, r6
    728a:	080a      	bt      	0x729e	// 729e <EEPROM_Validate_TouchPara+0x9a>
			
			switch(level){
    728c:	3841      	cmpnei      	r0, 1
    728e:	0c28      	bf      	0x72de	// 72de <EEPROM_Validate_TouchPara+0xda>
    7290:	3840      	cmpnei      	r0, 0
    7292:	0c24      	bf      	0x72da	// 72da <EEPROM_Validate_TouchPara+0xd6>
    7294:	3842      	cmpnei      	r0, 2
    7296:	0824      	bt      	0x72de	// 72de <EEPROM_Validate_TouchPara+0xda>
				case 0x02:
					para->triggerlevel[i] = 80;			//高灵敏度 默认参数 - 60
    7298:	3350      	movi      	r3, 80
					break;
				case 0x00:
					para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
					break;
				default:
					para->triggerlevel[i] = 100;
    729a:	ac65      	st.h      	r3, (r4, 0xa)
					break;
			}
			
			rev = 0x01;
    729c:	3301      	movi      	r3, 1
	for(i=0;i<TKE_CH_MAX;i++){
    729e:	2200      	addi      	r2, 1
    72a0:	7488      	zextb      	r2, r2
    72a2:	3a45      	cmpnei      	r2, 5
    72a4:	2401      	addi      	r4, 2
    72a6:	0be2      	bt      	0x726a	// 726a <EEPROM_Validate_TouchPara+0x66>
		}
	}
	
	return rev;
}
    72a8:	6c0f      	mov      	r0, r3
    72aa:	1401      	addi      	r14, r14, 4
    72ac:	1484      	pop      	r4-r7
	U8_T i=0,rev = 0;
    72ae:	3300      	movi      	r3, 0
    72b0:	07b5      	br      	0x721a	// 721a <EEPROM_Validate_TouchPara+0x16>
			}else if (i == 1){
    72b2:	3a41      	cmpnei      	r2, 1
    72b4:	0805      	bt      	0x72be	// 72be <EEPROM_Validate_TouchPara+0xba>
				para->senprd[i] = 320;			//默认参数 - 320
    72b6:	33a0      	movi      	r3, 160
    72b8:	4361      	lsli      	r3, r3, 1
    72ba:	a963      	st.h      	r3, (r1, 0x6)
    72bc:	07e0      	br      	0x727c	// 727c <EEPROM_Validate_TouchPara+0x78>
			}else if (i == 2){
    72be:	3a42      	cmpnei      	r2, 2
    72c0:	0805      	bt      	0x72ca	// 72ca <EEPROM_Validate_TouchPara+0xc6>
				para->senprd[i] = 320;			//默认参数 - 320
    72c2:	33a0      	movi      	r3, 160
    72c4:	4361      	lsli      	r3, r3, 1
    72c6:	a964      	st.h      	r3, (r1, 0x8)
    72c8:	07da      	br      	0x727c	// 727c <EEPROM_Validate_TouchPara+0x78>
			}else if (i == 3){
    72ca:	3a43      	cmpnei      	r2, 3
    72cc:	0805      	bt      	0x72d6	// 72d6 <EEPROM_Validate_TouchPara+0xd2>
				para->senprd[i] = 300;			//默认参数 - 320
    72ce:	d86e1001 	ld.h      	r3, (r14, 0x2)
    72d2:	a965      	st.h      	r3, (r1, 0xa)
    72d4:	07d4      	br      	0x727c	// 727c <EEPROM_Validate_TouchPara+0x78>
				para->senprd[i] = 280;			//默认参数 - 320
    72d6:	a9a6      	st.h      	r5, (r1, 0xc)
    72d8:	07d2      	br      	0x727c	// 727c <EEPROM_Validate_TouchPara+0x78>
					para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
    72da:	3378      	movi      	r3, 120
    72dc:	07df      	br      	0x729a	// 729a <EEPROM_Validate_TouchPara+0x96>
					para->triggerlevel[i] = 100;
    72de:	3364      	movi      	r3, 100
    72e0:	07dd      	br      	0x729a	// 729a <EEPROM_Validate_TouchPara+0x96>
    72e2:	0000      	bkpt
    72e4:	000003de 	.long	0x000003de

Disassembly of section .text.EEPROM_Default_TouchPara:

000072e8 <EEPROM_Default_TouchPara>:
* Description    : 设置默认触摸参数
* Para			 : 
* 		level	：参数等级
* 		para	：读取参数
*******************************************************************************/
void EEPROM_Default_TouchPara(U8_T level,TOUCHKEY_PARA *para){
    72e8:	14c4      	push      	r4-r7
	U8_T i=0;
	
	para->base_speed = 20;			//默认参数 - 20
    72ea:	3314      	movi      	r3, 20
    72ec:	a163      	st.b      	r3, (r1, 0x3)
	para->press_debounce = 4;		//默认参数 - 6
    72ee:	3304      	movi      	r3, 4
    72f0:	a160      	st.b      	r3, (r1, 0x0)
		}else if (i == 1){
			para->senprd[i] = 320;			//默认参数 - 320
		}else if (i == 2){
			para->senprd[i] = 320;			//默认参数 - 320
		}else if (i == 3){
			para->senprd[i] = 300;			//默认参数 - 320
    72f2:	3596      	movi      	r5, 150
	para->release_debounce = 5;			//默认参数 - 5
    72f4:	3305      	movi      	r3, 5
			para->senprd[i] = 300;			//默认参数 - 320
    72f6:	45a1      	lsli      	r5, r5, 1
	para->release_debounce = 5;			//默认参数 - 5
    72f8:	a161      	st.b      	r3, (r1, 0x1)
	para->multiTimes_filt = 40;			//默认参数 - 40
    72fa:	3328      	movi      	r3, 40
    72fc:	a162      	st.b      	r3, (r1, 0x2)
    72fe:	320e      	movi      	r2, 14
	para->longpress_time = 16;			//默认参数 - 8
    7300:	3310      	movi      	r3, 16
		}else if (i == 4){
			para->senprd[i] = 280;			//默认参数 - 320
    7302:	348c      	movi      	r4, 140
			para->senprd[i] = 300;			//默认参数 - 320
    7304:	6d97      	mov      	r6, r5
			para->senprd[i] = 320;			//默认参数 - 320
    7306:	35a0      	movi      	r5, 160
	para->longpress_time = 16;			//默认参数 - 8
    7308:	b166      	st.w      	r3, (r1, 0x18)
    730a:	6084      	addu      	r2, r1
	for(i=0;i<TKE_CH_MAX;i++){
    730c:	3300      	movi      	r3, 0
			para->senprd[i] = 280;			//默认参数 - 320
    730e:	4481      	lsli      	r4, r4, 1
			para->senprd[i] = 320;			//默认参数 - 320
    7310:	45a1      	lsli      	r5, r5, 1
		if (i == 0){
    7312:	3b40      	cmpnei      	r3, 0
    7314:	0810      	bt      	0x7334	// 7334 <EEPROM_Default_TouchPara+0x4c>
			para->senprd[i] = 280;			//默认参数 - 320
    7316:	a982      	st.h      	r4, (r1, 0x4)
//		para->updatevalue[i] = 20;				//默认参数 - 20
//		para->disupdatevalue[i] = 30;			//默认参数 - 30
//		para->releaselevel[i] = 50;				//默认参数 - 50
		
		/*triggerlevel 触摸触发阈值 20~200*/
		switch(level){
    7318:	3841      	cmpnei      	r0, 1
    731a:	0c1d      	bf      	0x7354	// 7354 <EEPROM_Default_TouchPara+0x6c>
    731c:	3840      	cmpnei      	r0, 0
    731e:	0c19      	bf      	0x7350	// 7350 <EEPROM_Default_TouchPara+0x68>
    7320:	3842      	cmpnei      	r0, 2
    7322:	0819      	bt      	0x7354	// 7354 <EEPROM_Default_TouchPara+0x6c>
			case 0x02:
				para->triggerlevel[i] = 80;			//高灵敏度 默认参数 - 60
    7324:	3750      	movi      	r7, 80
	for(i=0;i<TKE_CH_MAX;i++){
    7326:	2300      	addi      	r3, 1
    7328:	74cc      	zextb      	r3, r3
    732a:	3b45      	cmpnei      	r3, 5
				break;
			case 0x00:
				para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
				break;
			default:
				para->triggerlevel[i] = 100;
    732c:	aae0      	st.h      	r7, (r2, 0x0)
    732e:	2201      	addi      	r2, 2
	for(i=0;i<TKE_CH_MAX;i++){
    7330:	0bf1      	bt      	0x7312	// 7312 <EEPROM_Default_TouchPara+0x2a>
				break;
		}
		
	}
}
    7332:	1484      	pop      	r4-r7
		}else if (i == 1){
    7334:	3b41      	cmpnei      	r3, 1
    7336:	0803      	bt      	0x733c	// 733c <EEPROM_Default_TouchPara+0x54>
			para->senprd[i] = 320;			//默认参数 - 320
    7338:	a9a3      	st.h      	r5, (r1, 0x6)
    733a:	07ef      	br      	0x7318	// 7318 <EEPROM_Default_TouchPara+0x30>
		}else if (i == 2){
    733c:	3b42      	cmpnei      	r3, 2
    733e:	0803      	bt      	0x7344	// 7344 <EEPROM_Default_TouchPara+0x5c>
			para->senprd[i] = 320;			//默认参数 - 320
    7340:	a9a4      	st.h      	r5, (r1, 0x8)
    7342:	07eb      	br      	0x7318	// 7318 <EEPROM_Default_TouchPara+0x30>
		}else if (i == 3){
    7344:	3b43      	cmpnei      	r3, 3
    7346:	0803      	bt      	0x734c	// 734c <EEPROM_Default_TouchPara+0x64>
			para->senprd[i] = 300;			//默认参数 - 320
    7348:	a9c5      	st.h      	r6, (r1, 0xa)
    734a:	07e7      	br      	0x7318	// 7318 <EEPROM_Default_TouchPara+0x30>
			para->senprd[i] = 280;			//默认参数 - 320
    734c:	a986      	st.h      	r4, (r1, 0xc)
    734e:	07e5      	br      	0x7318	// 7318 <EEPROM_Default_TouchPara+0x30>
				para->triggerlevel[i] = 120;			//低灵敏度 默认参数 - 140
    7350:	3778      	movi      	r7, 120
    7352:	07ea      	br      	0x7326	// 7326 <EEPROM_Default_TouchPara+0x3e>
				para->triggerlevel[i] = 100;
    7354:	3764      	movi      	r7, 100
    7356:	07e8      	br      	0x7326	// 7326 <EEPROM_Default_TouchPara+0x3e>

Disassembly of section .text.EEPROM_TouchPara_Printf:

00007358 <EEPROM_TouchPara_Printf>:
* Function Name  : EEPROM_TouchPara_Printf 
* Description    : 打印触摸参数
* Para			 : 
* 		para	：参数
*******************************************************************************/
void EEPROM_TouchPara_Printf(TOUCHKEY_PARA *para){
    7358:	14d4      	push      	r4-r7, r15
    735a:	6d03      	mov      	r4, r0
	U8_T i=0;
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara base_speed:%d",para->base_speed);
    735c:	8043      	ld.b      	r2, (r0, 0x3)
    735e:	1038      	lrw      	r1, 0xcee5	// 73bc <EEPROM_TouchPara_Printf+0x64>
    7360:	3000      	movi      	r0, 0
    7362:	e3fff98d 	bsr      	0x667c	// 667c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara press_debounce:%d",para->press_debounce);
    7366:	8440      	ld.b      	r2, (r4, 0x0)
    7368:	1036      	lrw      	r1, 0xcefd	// 73c0 <EEPROM_TouchPara_Printf+0x68>
    736a:	3000      	movi      	r0, 0
    736c:	e3fff988 	bsr      	0x667c	// 667c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara release_debounce:%d",para->release_debounce);
    7370:	8441      	ld.b      	r2, (r4, 0x1)
    7372:	1035      	lrw      	r1, 0xcf19	// 73c4 <EEPROM_TouchPara_Printf+0x6c>
    7374:	3000      	movi      	r0, 0
    7376:	e3fff983 	bsr      	0x667c	// 667c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara multiTimes_filt:%d",para->multiTimes_filt);
    737a:	8442      	ld.b      	r2, (r4, 0x2)
    737c:	1033      	lrw      	r1, 0xcf37	// 73c8 <EEPROM_TouchPara_Printf+0x70>
    737e:	3000      	movi      	r0, 0
    7380:	e3fff97e 	bsr      	0x667c	// 667c <Dbg_Println>
	Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara longpress_time:%d",para->longpress_time);
    7384:	9446      	ld.w      	r2, (r4, 0x18)
    7386:	3000      	movi      	r0, 0
    7388:	1031      	lrw      	r1, 0xcf54	// 73cc <EEPROM_TouchPara_Printf+0x74>
    738a:	e3fff979 	bsr      	0x667c	// 667c <Dbg_Println>
    738e:	2403      	addi      	r4, 4
    7390:	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]);
    7392:	10f0      	lrw      	r7, 0xcf70	// 73d0 <EEPROM_TouchPara_Printf+0x78>
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara triggerlevel CH%d:%d",i,para->triggerlevel[i]);
    7394:	10d0      	lrw      	r6, 0xcf89	// 73d4 <EEPROM_TouchPara_Printf+0x7c>
		SYSCON_IWDCNT_Reload(); 				//IWDT Clear
    7396:	e3ffe897 	bsr      	0x44c4	// 44c4 <SYSCON_IWDCNT_Reload>
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara senprd CH%d:%d",i,para->senprd[i]);
    739a:	8c60      	ld.h      	r3, (r4, 0x0)
    739c:	6c97      	mov      	r2, r5
    739e:	6c5f      	mov      	r1, r7
    73a0:	3000      	movi      	r0, 0
    73a2:	e3fff96d 	bsr      	0x667c	// 667c <Dbg_Println>
		Dbg_Println(DBG_BIT_SYS_STATUS,"TouchPara triggerlevel CH%d:%d",i,para->triggerlevel[i]);
    73a6:	8c65      	ld.h      	r3, (r4, 0xa)
    73a8:	6c97      	mov      	r2, r5
    73aa:	6c5b      	mov      	r1, r6
    73ac:	3000      	movi      	r0, 0
    73ae:	2500      	addi      	r5, 1
    73b0:	e3fff966 	bsr      	0x667c	// 667c <Dbg_Println>
	for(i=0;i<TKE_CH_MAX;i++){
    73b4:	3d45      	cmpnei      	r5, 5
    73b6:	2401      	addi      	r4, 2
    73b8:	0bef      	bt      	0x7396	// 7396 <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]);
	}
	
}
    73ba:	1494      	pop      	r4-r7, r15
    73bc:	0000cee5 	.long	0x0000cee5
    73c0:	0000cefd 	.long	0x0000cefd
    73c4:	0000cf19 	.long	0x0000cf19
    73c8:	0000cf37 	.long	0x0000cf37
    73cc:	0000cf54 	.long	0x0000cf54
    73d0:	0000cf70 	.long	0x0000cf70
    73d4:	0000cf89 	.long	0x0000cf89

Disassembly of section .text.EEPROM_ReadMCUDevInfo:

000073d8 <EEPROM_ReadMCUDevInfo>:
/*******************************************************************************
* Function Name  : EEPROM_ReadMCUDevInfo 
* Description    : 从EEPROM中读取设备信息
*******************************************************************************/
U8_T EEPROM_ReadMCUDevInfo(E_MCU_DEV_INFO *info)
{
    73d8:	14d1      	push      	r4, r15
    73da:	1432      	subi      	r14, r14, 72
    73dc:	6d03      	mov      	r4, r0
	U8_T read_info[6];
	U8_T para_data[EEPROM_DATA_Size_Max];
	U16_T read_len = 0;
	
	memset(read_info,0,sizeof(read_info));
    73de:	3300      	movi      	r3, 0
	memset(para_data,0,sizeof(para_data));
    73e0:	3240      	movi      	r2, 64
    73e2:	3100      	movi      	r1, 0
    73e4:	1802      	addi      	r0, r14, 8
	memset(read_info,0,sizeof(read_info));
    73e6:	b860      	st.w      	r3, (r14, 0x0)
    73e8:	dc6e1002 	st.h      	r3, (r14, 0x4)
	memset(para_data,0,sizeof(para_data));
    73ec:	e3ffe6d8 	bsr      	0x419c	// 419c <__memset_fast>
	
	ReadDataArry_U8(EEPROM_MCUDevInfo_Address,4,read_info);
    73f0:	3080      	movi      	r0, 128
    73f2:	6cbb      	mov      	r2, r14
    73f4:	3104      	movi      	r1, 4
    73f6:	4015      	lsli      	r0, r0, 21
    73f8:	e3ffef7a 	bsr      	0x52ec	// 52ec <ReadDataArry_U8>
	
	if(read_info[0] == EEPROM_SVAE_FLAG){
    73fc:	d84e0000 	ld.b      	r2, (r14, 0x0)
    7400:	33ae      	movi      	r3, 174
    7402:	64ca      	cmpne      	r2, r3
    7404:	0c04      	bf      	0x740c	// 740c <EEPROM_ReadMCUDevInfo+0x34>
				return 0x00;
			}
		}
	}
	
	return 0x01;
    7406:	3001      	movi      	r0, 1
}
    7408:	1412      	addi      	r14, r14, 72
    740a:	1491      	pop      	r4, r15
		read_len |= read_info[1];
    740c:	d82e0002 	ld.b      	r1, (r14, 0x2)
    7410:	d86e0001 	ld.b      	r3, (r14, 0x1)
    7414:	4128      	lsli      	r1, r1, 8
    7416:	6c4c      	or      	r1, r3
		if(read_len <= EEPROM_DATA_Size_Max){
    7418:	3340      	movi      	r3, 64
    741a:	644c      	cmphs      	r3, r1
    741c:	0ff5      	bf      	0x7406	// 7406 <EEPROM_ReadMCUDevInfo+0x2e>
			ReadDataArry_U8(EEPROM_MCUDevInfo_Address+EEPROM_Offset_Data,read_len,para_data);
    741e:	1a02      	addi      	r2, r14, 8
    7420:	1009      	lrw      	r0, 0x10000004	// 7444 <EEPROM_ReadMCUDevInfo+0x6c>
    7422:	e3ffef65 	bsr      	0x52ec	// 52ec <ReadDataArry_U8>
			if(EEPROM_CheckSum(para_data,sizeof(E_MCU_DEV_INFO)) == read_info[3]){
    7426:	3125      	movi      	r1, 37
    7428:	1802      	addi      	r0, r14, 8
    742a:	e3fffda3 	bsr      	0x6f70	// 6f70 <EEPROM_CheckSum>
    742e:	d86e0003 	ld.b      	r3, (r14, 0x3)
    7432:	640e      	cmpne      	r3, r0
    7434:	0be9      	bt      	0x7406	// 7406 <EEPROM_ReadMCUDevInfo+0x2e>
				memcpy((uint8_t *)info,para_data,sizeof(E_MCU_DEV_INFO));
    7436:	3225      	movi      	r2, 37
    7438:	1902      	addi      	r1, r14, 8
    743a:	6c13      	mov      	r0, r4
    743c:	e3ffe6f4 	bsr      	0x4224	// 4224 <__memcpy_fast>
				return 0x00;
    7440:	3000      	movi      	r0, 0
    7442:	07e3      	br      	0x7408	// 7408 <EEPROM_ReadMCUDevInfo+0x30>
    7444:	10000004 	.long	0x10000004

Disassembly of section .text.EEPROM_WriteMCUDevInfo:

00007448 <EEPROM_WriteMCUDevInfo>:
/*******************************************************************************
* Function Name  : EEPROM_WriteMCUDevInfo 
* Description    : 将设备信息写入到EEPROM中
*******************************************************************************/
U8_T EEPROM_WriteMCUDevInfo(E_MCU_DEV_INFO *info)
{
    7448:	14d0      	push      	r15
    744a:	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;
    744c:	3300      	movi      	r3, 0
    744e:	2b51      	subi      	r3, 82
    7450:	dc6e0000 	st.b      	r3, (r14, 0x0)
	save_data[1] = save_len & 0xFF;
    7454:	3325      	movi      	r3, 37
    7456:	dc6e0001 	st.b      	r3, (r14, 0x1)
	save_data[2] = (save_len >> 8) & 0xFF;
    745a:	3300      	movi      	r3, 0
    745c:	dc6e0002 	st.b      	r3, (r14, 0x2)
	
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    7460:	1b01      	addi      	r3, r14, 4
{
    7462:	6c43      	mov      	r1, r0
	memcpy(&save_data[4],(uint8_t *)info,save_len);
    7464:	3225      	movi      	r2, 37
    7466:	6c0f      	mov      	r0, r3
    7468:	e3ffe6de 	bsr      	0x4224	// 4224 <__memcpy_fast>
	
	save_data[3] = EEPROM_CheckSum(&save_data[4],save_len);
    746c:	3125      	movi      	r1, 37
    746e:	e3fffd81 	bsr      	0x6f70	// 6f70 <EEPROM_CheckSum>
    7472:	dc0e0003 	st.b      	r0, (r14, 0x3)
	
	save_len+=4;
	
	Page_ProgramData(EEPROM_MCUDevInfo_Address,save_len,save_data);
    7476:	3080      	movi      	r0, 128
    7478:	4015      	lsli      	r0, r0, 21
    747a:	6cbb      	mov      	r2, r14
    747c:	3129      	movi      	r1, 41
    747e:	e3ffeee7 	bsr      	0x524c	// 524c <Page_ProgramData>
	
	return 0;
}
    7482:	3000      	movi      	r0, 0
    7484:	1412      	addi      	r14, r14, 72
    7486:	1490      	pop      	r15

Disassembly of section .text.EEPROM_Default_MCUDevInfo:

00007488 <EEPROM_Default_MCUDevInfo>:
/*******************************************************************************
* Function Name  : EEPROM_Default_MCUDevInfo 
* Description    : EEPROM中参数恢复默认值，且将默认参数保存至EEPROM中
*******************************************************************************/
void EEPROM_Default_MCUDevInfo(E_MCU_DEV_INFO *info)
{
    7488:	14d2      	push      	r4-r5, r15
	memcpy((char *)info->dev_name,(char *)Peoject_Name,info->dev_name_len);

	EEPROM_WriteMCUDevInfo(info);
#elif (Project_Area == 0x02)
	/*APP 区域*/
	info->dev_addr = 0x01;
    748a:	3301      	movi      	r3, 1
    748c:	a060      	st.b      	r3, (r0, 0x0)
	info->dev_type = Project_Type;
    748e:	3307      	movi      	r3, 7
    7490:	a061      	st.b      	r3, (r0, 0x1)
	info->dev_app_ver = Project_FW_Version;
    7492:	3303      	movi      	r3, 3
    7494:	a063      	st.b      	r3, (r0, 0x3)
	info->dev_name_len = sizeof(Peoject_Name);

	memset((char *)info->dev_name,0,EEPROM_DEV_NAME_Size);
    7496:	58b2      	addi      	r5, r0, 5
	info->dev_name_len = sizeof(Peoject_Name);
    7498:	330c      	movi      	r3, 12
    749a:	a064      	st.b      	r3, (r0, 0x4)
{
    749c:	6d03      	mov      	r4, r0
	memset((char *)info->dev_name,0,EEPROM_DEV_NAME_Size);
    749e:	3220      	movi      	r2, 32
    74a0:	3100      	movi      	r1, 0
    74a2:	6c17      	mov      	r0, r5
    74a4:	e3ffe67c 	bsr      	0x419c	// 419c <__memset_fast>
	memcpy((char *)info->dev_name,(char *)Peoject_Name,info->dev_name_len);
    74a8:	320c      	movi      	r2, 12
    74aa:	1025      	lrw      	r1, 0xcfa8	// 74bc <EEPROM_Default_MCUDevInfo+0x34>
    74ac:	6c17      	mov      	r0, r5
    74ae:	e3ffe6bb 	bsr      	0x4224	// 4224 <__memcpy_fast>

	EEPROM_WriteMCUDevInfo(info);
    74b2:	6c13      	mov      	r0, r4
    74b4:	e3ffffca 	bsr      	0x7448	// 7448 <EEPROM_WriteMCUDevInfo>
#endif
}
    74b8:	1492      	pop      	r4-r5, r15
    74ba:	0000      	bkpt
    74bc:	0000cfa8 	.long	0x0000cfa8

Disassembly of section .text.EEPROM_Validate_MCUDevInfo:

000074c0 <EEPROM_Validate_MCUDevInfo>:
* Description    : 校验从EEPROM 中读取的参数是否正确，如果不正确的话，便将当前正确的参数写入
		APP区域中，判断APP参数与EEPROM中记录的是否一致
		Boot区域中，判断Boot参数与EEPROM中记录的是否一致
*******************************************************************************/
void EEPROM_Validate_MCUDevInfo(E_MCU_DEV_INFO *info)
{
    74c0:	14d3      	push      	r4-r6, r15
	}
#elif (Project_Area == 0x02)
	/*APP 区域*/
	U8_T save_flag = 0;

	if(info->dev_app_ver != Project_FW_Version)
    74c2:	8063      	ld.b      	r3, (r0, 0x3)
    74c4:	3b43      	cmpnei      	r3, 3
{
    74c6:	6d03      	mov      	r4, r0
	if(info->dev_app_ver != Project_FW_Version)
    74c8:	0c21      	bf      	0x750a	// 750a <EEPROM_Validate_MCUDevInfo+0x4a>
	{
		info->dev_app_ver = Project_FW_Version;
    74ca:	3303      	movi      	r3, 3
    74cc:	a063      	st.b      	r3, (r0, 0x3)
		save_flag = 0x01;
    74ce:	3501      	movi      	r5, 1
	}

	if(info->dev_type != Project_Type)
    74d0:	8461      	ld.b      	r3, (r4, 0x1)
    74d2:	3b47      	cmpnei      	r3, 7
    74d4:	0c04      	bf      	0x74dc	// 74dc <EEPROM_Validate_MCUDevInfo+0x1c>
	{
		info->dev_type = Project_Type;
    74d6:	3307      	movi      	r3, 7
    74d8:	a461      	st.b      	r3, (r4, 0x1)
		save_flag = 0x01;
    74da:	3501      	movi      	r5, 1
	}

	if(info->dev_name_len != sizeof(Peoject_Name))
    74dc:	8464      	ld.b      	r3, (r4, 0x4)
    74de:	3b4c      	cmpnei      	r3, 12
    74e0:	0c04      	bf      	0x74e8	// 74e8 <EEPROM_Validate_MCUDevInfo+0x28>
	{
		info->dev_name_len = sizeof(Peoject_Name);
    74e2:	330c      	movi      	r3, 12
    74e4:	a464      	st.b      	r3, (r4, 0x4)
		save_flag = 0x01;
    74e6:	3501      	movi      	r5, 1
	}

	if(strncmp((char *)info->dev_name,(char *)Peoject_Name,sizeof(Peoject_Name)))
    74e8:	5cd2      	addi      	r6, r4, 5
    74ea:	320c      	movi      	r2, 12
    74ec:	102a      	lrw      	r1, 0xcfa8	// 7514 <EEPROM_Validate_MCUDevInfo+0x54>
    74ee:	6c1b      	mov      	r0, r6
    74f0:	e3ffe6cc 	bsr      	0x4288	// 4288 <__GI_strncmp>
    74f4:	3840      	cmpnei      	r0, 0
    74f6:	0c0c      	bf      	0x750e	// 750e <EEPROM_Validate_MCUDevInfo+0x4e>
	{
		memcpy((char *)info->dev_name,(char *)Peoject_Name,info->dev_name_len);
    74f8:	8444      	ld.b      	r2, (r4, 0x4)
    74fa:	1027      	lrw      	r1, 0xcfa8	// 7514 <EEPROM_Validate_MCUDevInfo+0x54>
    74fc:	6c1b      	mov      	r0, r6
    74fe:	e3ffe693 	bsr      	0x4224	// 4224 <__memcpy_fast>
		save_flag = 0x01;
	}

	if(save_flag == 0x01)
	{
		EEPROM_WriteMCUDevInfo(info);
    7502:	6c13      	mov      	r0, r4
    7504:	e3ffffa2 	bsr      	0x7448	// 7448 <EEPROM_WriteMCUDevInfo>
	}
#endif
}
    7508:	0405      	br      	0x7512	// 7512 <EEPROM_Validate_MCUDevInfo+0x52>
	U8_T save_flag = 0;
    750a:	3500      	movi      	r5, 0
    750c:	07e2      	br      	0x74d0	// 74d0 <EEPROM_Validate_MCUDevInfo+0x10>
	if(save_flag == 0x01)
    750e:	3d41      	cmpnei      	r5, 1
    7510:	0ff9      	bf      	0x7502	// 7502 <EEPROM_Validate_MCUDevInfo+0x42>
}
    7512:	1493      	pop      	r4-r6, r15
    7514:	0000cfa8 	.long	0x0000cfa8

Disassembly of section .text.EEPROM_Init:

00007518 <EEPROM_Init>:
void EEPROM_Init(void){
    7518:	14d1      	push      	r4, r15
	EnIFCClk; //使能 IFC 时钟
    751a:	107e      	lrw      	r3, 0x20000060	// 7590 <EEPROM_Init+0x78>
    751c:	3201      	movi      	r2, 1
    751e:	9360      	ld.w      	r3, (r3, 0x0)
    7520:	b341      	st.w      	r2, (r3, 0x4)
	IFC->MR |= 0x10002; //高速模式，延迟 2 个周期
    7522:	9345      	ld.w      	r2, (r3, 0x14)
    7524:	3aa1      	bseti      	r2, 1
    7526:	3ab0      	bseti      	r2, 16
    7528:	b345      	st.w      	r2, (r3, 0x14)
	delay_nms(10);
    752a:	300a      	movi      	r0, 10
    752c:	e3ffeff8 	bsr      	0x551c	// 551c <delay_nms>
	memset(&g_boot,0,sizeof(BOOT_INFO_T));//boot
    7530:	329e      	movi      	r2, 158
    7532:	4241      	lsli      	r2, r2, 1
    7534:	3100      	movi      	r1, 0
    7536:	1018      	lrw      	r0, 0x200005d0	// 7594 <EEPROM_Init+0x7c>
    7538:	e3ffe632 	bsr      	0x419c	// 419c <__memset_fast>
	g_boot.ackValidity = 1000;			//数据默认有效期为1000ms
    753c:	32fa      	movi      	r2, 250
    753e:	1077      	lrw      	r3, 0x200006d0	// 7598 <EEPROM_Init+0x80>
	memset(&g_eeprom,0,sizeof(E_PARA_INFO));	
    7540:	1097      	lrw      	r4, 0x200004f4	// 759c <EEPROM_Init+0x84>
	g_boot.ackValidity = 1000;			//数据默认有效期为1000ms
    7542:	4242      	lsli      	r2, r2, 2
    7544:	ab59      	st.h      	r2, (r3, 0x32)
	memset(&g_eeprom,0,sizeof(E_PARA_INFO));	
    7546:	3100      	movi      	r1, 0
    7548:	3208      	movi      	r2, 8
    754a:	6c13      	mov      	r0, r4
    754c:	e3ffe628 	bsr      	0x419c	// 419c <__memset_fast>
	rev = EEPROM_ReadParaInfo(&g_eeprom);
    7550:	6c13      	mov      	r0, r4
    7552:	e3fffd1b 	bsr      	0x6f88	// 6f88 <EEPROM_ReadParaInfo>
	if(rev == 0x00){
    7556:	3840      	cmpnei      	r0, 0
		EEPROM_Validate_ParaInfo(&g_eeprom);
    7558:	6c13      	mov      	r0, r4
	if(rev == 0x00){
    755a:	080c      	bt      	0x7572	// 7572 <EEPROM_Init+0x5a>
		EEPROM_Validate_ParaInfo(&g_eeprom);
    755c:	e3fffd72 	bsr      	0x7040	// 7040 <EEPROM_Validate_ParaInfo>
	rev = EEPROM_ReadMCUDevInfo(&g_mcu_dev);
    7560:	1010      	lrw      	r0, 0x200004fc	// 75a0 <EEPROM_Init+0x88>
    7562:	e3ffff3b 	bsr      	0x73d8	// 73d8 <EEPROM_ReadMCUDevInfo>
	if(rev == 0x00){
    7566:	3840      	cmpnei      	r0, 0
		EEPROM_Validate_MCUDevInfo(&g_mcu_dev);
    7568:	100e      	lrw      	r0, 0x200004fc	// 75a0 <EEPROM_Init+0x88>
	if(rev == 0x00){
    756a:	080f      	bt      	0x7588	// 7588 <EEPROM_Init+0x70>
		EEPROM_Validate_MCUDevInfo(&g_mcu_dev);
    756c:	e3ffffaa 	bsr      	0x74c0	// 74c0 <EEPROM_Validate_MCUDevInfo>
}
    7570:	1491      	pop      	r4, r15
		EEPROM_Default_ParaInfo(&g_eeprom);
    7572:	e3fffdad 	bsr      	0x70cc	// 70cc <EEPROM_Default_ParaInfo>
		EEPROM_WriteParaInfo(&g_eeprom);
    7576:	6c13      	mov      	r0, r4
    7578:	e3fffd42 	bsr      	0x6ffc	// 6ffc <EEPROM_WriteParaInfo>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Para Info Use Default:%d",g_eeprom.pipe_flag);
    757c:	8441      	ld.b      	r2, (r4, 0x1)
    757e:	102a      	lrw      	r1, 0xcfb4	// 75a4 <EEPROM_Init+0x8c>
    7580:	3000      	movi      	r0, 0
    7582:	e3fff87d 	bsr      	0x667c	// 667c <Dbg_Println>
    7586:	07ed      	br      	0x7560	// 7560 <EEPROM_Init+0x48>
		EEPROM_Default_MCUDevInfo(&g_mcu_dev);
    7588:	e3ffff80 	bsr      	0x7488	// 7488 <EEPROM_Default_MCUDevInfo>
}
    758c:	07f2      	br      	0x7570	// 7570 <EEPROM_Init+0x58>
    758e:	0000      	bkpt
    7590:	20000060 	.long	0x20000060
    7594:	200005d0 	.long	0x200005d0
    7598:	200006d0 	.long	0x200006d0
    759c:	200004f4 	.long	0x200004f4
    75a0:	200004fc 	.long	0x200004fc
    75a4:	0000cfb4 	.long	0x0000cfb4

Disassembly of section .text.ADC_Init:

000075a8 <ADC_Init>:
#include "includes.h"

ADC_INFO_G g_adc;

void ADC_Init(void){
    75a8:	14d0      	push      	r15
    75aa:	1422      	subi      	r14, r14, 8
	ADC12_RESET_VALUE();				//ADC所有寄存器复位
    75ac:	e3ffebec 	bsr      	0x4d84	// 4d84 <ADC12_RESET_VALUE>
	ADC12_Software_Reset();				//ADC软件复位
    75b0:	e3ffec4a 	bsr      	0x4e44	// 4e44 <ADC12_Software_Reset>
	ADC12_CLK_CMD(ADC_CLK_CR,ENABLE);	//使能ADC CLK
    75b4:	3101      	movi      	r1, 1
    75b6:	3002      	movi      	r0, 2
    75b8:	e3ffec30 	bsr      	0x4e18	// 4e18 <ADC12_CLK_CMD>
	
	ADC12_Configure_Mode(ADC12_12BIT,Continuous_mode,0,6,2,1);
    75bc:	3301      	movi      	r3, 1
    75be:	b861      	st.w      	r3, (r14, 0x4)
    75c0:	3302      	movi      	r3, 2
    75c2:	b860      	st.w      	r3, (r14, 0x0)
    75c4:	3200      	movi      	r2, 0
    75c6:	3306      	movi      	r3, 6
    75c8:	3101      	movi      	r1, 1
    75ca:	3001      	movi      	r0, 1
    75cc:	e3ffec76 	bsr      	0x4eb8	// 4eb8 <ADC12_Configure_Mode>
	
	ADC12_Configure_VREF_Selecte(ADC12_VREFP_FVR4096_VREFN_VSS);//如果设置内部参考电压源需要把初始化放在触摸初始化前面，否则触摸会出现错误
    75d0:	3003      	movi      	r0, 3
    75d2:	e3ffecb1 	bsr      	0x4f34	// 4f34 <ADC12_Configure_VREF_Selecte>
	
	ADC12_ConversionChannel_Config(ADC12_ADCIN15,ADC12_CV_RepeatNum1,ADC12_AVGDIS,0);
    75d6:	3300      	movi      	r3, 0
    75d8:	3200      	movi      	r2, 0
    75da:	3100      	movi      	r1, 0
    75dc:	300f      	movi      	r0, 15
    75de:	e3ffed77 	bsr      	0x50cc	// 50cc <ADC12_ConversionChannel_Config>

	ADC12_CMD(ENABLE);
    75e2:	3001      	movi      	r0, 1
    75e4:	e3ffec36 	bsr      	0x4e50	// 4e50 <ADC12_CMD>
	
	ADC12_ready_wait();
    75e8:	e3ffec48 	bsr      	0x4e78	// 4e78 <ADC12_ready_wait>
	
	ADC12_Control(ADC12_START);
    75ec:	3008      	movi      	r0, 8
    75ee:	e3ffebfd 	bsr      	0x4de8	// 4de8 <ADC12_Control>
	
	memset(&g_adc,0,sizeof(ADC_INFO_G));
    75f2:	3250      	movi      	r2, 80
    75f4:	3100      	movi      	r1, 0
    75f6:	1003      	lrw      	r0, 0x20000521	// 7600 <ADC_Init+0x58>
    75f8:	e3ffe5d2 	bsr      	0x419c	// 419c <__memset_fast>
}
    75fc:	1402      	addi      	r14, r14, 8
    75fe:	1490      	pop      	r15
    7600:	20000521 	.long	0x20000521

Disassembly of section .text.Thermistor_Array_Transform:

00007604 <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)
{
    7604:	14c1      	push      	r4
    U16_T i=0;

    if(r_value >= R_Array[0]) return 0;
    7606:	1070      	lrw      	r3, 0x79bd	// 7644 <Thermistor_Array_Transform+0x40>
    7608:	640c      	cmphs      	r3, r0
{
    760a:	6c43      	mov      	r1, r0
    if(r_value >= R_Array[0]) return 0;
    760c:	0c16      	bf      	0x7638	// 7638 <Thermistor_Array_Transform+0x34>

    if(r_value <= R_Array[Thermistor_Array_Size]) return Thermistor_Array_Size;
    760e:	33a1      	movi      	r3, 161
    7610:	4365      	lsli      	r3, r3, 5
    7612:	640c      	cmphs      	r3, r0
    7614:	0814      	bt      	0x763c	// 763c <Thermistor_Array_Transform+0x38>

    for(i=0;i<Thermistor_Array_Size;i++){
    7616:	34c8      	movi      	r4, 200
    7618:	104c      	lrw      	r2, 0xc912	// 7648 <Thermistor_Array_Transform+0x44>
    if(r_value <= R_Array[Thermistor_Array_Size]) return Thermistor_Array_Size;
    761a:	3000      	movi      	r0, 0
    for(i=0;i<Thermistor_Array_Size;i++){
    761c:	4481      	lsli      	r4, r4, 1
        if( (r_value <= R_Array[i]) && (r_value > R_Array[i+1])){
    761e:	8a60      	ld.h      	r3, (r2, 0x0)
    7620:	644c      	cmphs      	r3, r1
    7622:	0c04      	bf      	0x762a	// 762a <Thermistor_Array_Transform+0x26>
    7624:	8a61      	ld.h      	r3, (r2, 0x2)
    7626:	644c      	cmphs      	r3, r1
    7628:	0c07      	bf      	0x7636	// 7636 <Thermistor_Array_Transform+0x32>
    for(i=0;i<Thermistor_Array_Size;i++){
    762a:	5862      	addi      	r3, r0, 1
    762c:	740d      	zexth      	r0, r3
    762e:	6502      	cmpne      	r0, r4
    7630:	2201      	addi      	r2, 2
    7632:	0bf6      	bt      	0x761e	// 761e <Thermistor_Array_Transform+0x1a>
          return i;
        }
    }

    return 250;         //意外情况 - 返回25.0度
    7634:	30fa      	movi      	r0, 250
}
    7636:	1481      	pop      	r4
    if(r_value >= R_Array[0]) return 0;
    7638:	3000      	movi      	r0, 0
    763a:	07fe      	br      	0x7636	// 7636 <Thermistor_Array_Transform+0x32>
    if(r_value <= R_Array[Thermistor_Array_Size]) return Thermistor_Array_Size;
    763c:	30c8      	movi      	r0, 200
    763e:	4001      	lsli      	r0, r0, 1
    7640:	07fb      	br      	0x7636	// 7636 <Thermistor_Array_Transform+0x32>
    7642:	0000      	bkpt
    7644:	000079bd 	.long	0x000079bd
    7648:	0000c912 	.long	0x0000c912

Disassembly of section .text.Calculate_ADC_Sample_Average:

0000764c <Calculate_ADC_Sample_Average>:
 * @brief	ADC采集电压换算温度，存入温度采集数组。
 * @param
 * @retval
 * */
void Calculate_ADC_Sample_Average(void)
{
    764c:	14d2      	push      	r4-r5, r15
    uint32_t temp_val = 0;

    //电压平滑滤波 - 换算采集电压
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    {
        temp_val += g_adc.dataBuff[i];
    764e:	1180      	lrw      	r4, 0x20000521	// 76cc <Calculate_ADC_Sample_Average+0x80>
{
    7650:	3200      	movi      	r2, 0
    uint32_t temp_val = 0;
    7652:	3000      	movi      	r0, 0
    7654:	6d53      	mov      	r5, r4
        temp_val += g_adc.dataBuff[i];
    7656:	5a6e      	addi      	r3, r2, 4
    7658:	4361      	lsli      	r3, r3, 1
    765a:	60d0      	addu      	r3, r4
    765c:	8320      	ld.b      	r1, (r3, 0x0)
    765e:	8361      	ld.b      	r3, (r3, 0x1)
    7660:	4368      	lsli      	r3, r3, 8
    7662:	2200      	addi      	r2, 1
    7664:	6cc4      	or      	r3, r1
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    7666:	3a4a      	cmpnei      	r2, 10
        temp_val += g_adc.dataBuff[i];
    7668:	600c      	addu      	r0, r3
    for(U16_T i=0;i<ADC_DATABUFF_Size;i++)
    766a:	0bf6      	bt      	0x7656	// 7656 <Calculate_ADC_Sample_Average+0xa>
    }

    g_adc.avg_val = temp_val / ADC_DATABUFF_Size;
    766c:	310a      	movi      	r1, 10
    766e:	e3fff565 	bsr      	0x6138	// 6138 <__udivsi3>
    7672:	74c1      	zexth      	r3, r0
    7674:	748c      	zextb      	r2, r3
    7676:	4b68      	lsri      	r3, r3, 8
    7678:	a465      	st.b      	r3, (r4, 0x5)

//    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 ;
    767a:	a467      	st.b      	r3, (r4, 0x7)


    if(g_adc.temp_index >= Temp_DataBuff_Size){
    767c:	847d      	ld.b      	r3, (r4, 0x1d)
    g_adc.avg_val = temp_val / ADC_DATABUFF_Size;
    767e:	a444      	st.b      	r2, (r4, 0x4)
    g_adc.voltage = g_adc.avg_val;//temp_val*4920/4096 ;
    7680:	a446      	st.b      	r2, (r4, 0x6)
    if(g_adc.temp_index >= Temp_DataBuff_Size){
    7682:	4368      	lsli      	r3, r3, 8
    7684:	845c      	ld.b      	r2, (r4, 0x1c)
    7686:	6cc8      	or      	r3, r2
    7688:	3b13      	cmphsi      	r3, 20
    768a:	0c06      	bf      	0x7696	// 7696 <Calculate_ADC_Sample_Average+0x4a>
        g_adc.temp_index = 0;
    768c:	3300      	movi      	r3, 0
    768e:	a47c      	st.b      	r3, (r4, 0x1c)
    7690:	a47d      	st.b      	r3, (r4, 0x1d)
		g_adc.gather_full = 1;
    7692:	3301      	movi      	r3, 1
    7694:	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);
    7696:	859d      	ld.b      	r4, (r5, 0x1d)
    7698:	857c      	ld.b      	r3, (r5, 0x1c)
    769a:	4488      	lsli      	r4, r4, 8
    769c:	6d0c      	or      	r4, r3
    769e:	5c62      	addi      	r3, r4, 1
    76a0:	74cd      	zexth      	r3, r3
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    76a2:	7481      	zexth      	r2, r0
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    76a4:	a57c      	st.b      	r3, (r5, 0x1c)
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    76a6:	100b      	lrw      	r0, 0x2710	// 76d0 <Calculate_ADC_Sample_Average+0x84>
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    76a8:	4b68      	lsri      	r3, r3, 8
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    76aa:	102b      	lrw      	r1, 0xce4	// 76d4 <Calculate_ADC_Sample_Average+0x88>
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    76ac:	a57d      	st.b      	r3, (r5, 0x1d)
    temp_val = g_adc.voltage * 10000/(3300 - g_adc.voltage);
    76ae:	7c08      	mult      	r0, r2
    76b0:	604a      	subu      	r1, r2
    76b2:	e3fff531 	bsr      	0x6114	// 6114 <__divsi3>
    g_adc.tempBuff[g_adc.temp_index++] = Thermistor_Array_Transform(temp_val);
    76b6:	240f      	addi      	r4, 16
    76b8:	7401      	zexth      	r0, r0
    76ba:	4481      	lsli      	r4, r4, 1
    76bc:	e3ffffa4 	bsr      	0x7604	// 7604 <Thermistor_Array_Transform>
    76c0:	6114      	addu      	r4, r5
    76c2:	a400      	st.b      	r0, (r4, 0x0)
    76c4:	4808      	lsri      	r0, r0, 8
    76c6:	a401      	st.b      	r0, (r4, 0x1)

    //Dbg_Println(DBG_BIT_Debug_STATUS,"Conv Temp:%d avg_val:%d",Thermistor_Array_Transform(temp_val),g_adc.avg_val);
}
    76c8:	1492      	pop      	r4-r5, r15
    76ca:	0000      	bkpt
    76cc:	20000521 	.long	0x20000521
    76d0:	00002710 	.long	0x00002710
    76d4:	00000ce4 	.long	0x00000ce4

Disassembly of section .text.Get_Temp_Val:

000076d8 <Get_Temp_Val>:
    }
	Gather_Temp();
}

U16_T Get_Temp_Val(void){
    return g_adc.temp_val;
    76d8:	1063      	lrw      	r3, 0x20000521	// 76e4 <Get_Temp_Val+0xc>
    76da:	831f      	ld.b      	r0, (r3, 0x1f)
    76dc:	835e      	ld.b      	r2, (r3, 0x1e)
    76de:	4008      	lsli      	r0, r0, 8
    76e0:	6c08      	or      	r0, r2
}
    76e2:	783c      	jmp      	r15
    76e4:	20000521 	.long	0x20000521

Disassembly of section .text.Gather_Temp:

000076e8 <Gather_Temp>:
 * @brief	每隔1000ms取一次温度采集数组中的平均温度。
 * @param
 * @retval	
 * */
void Gather_Temp(void)
{
    76e8:	14d3      	push      	r4-r6, r15
    uint32_t temp_val = 0;
	U16_T temp_size = 0;	
	
	if(SysTick_1ms - g_adc.gather_tick >= 1000)
    76ea:	1187      	lrw      	r4, 0x20000521	// 7784 <Gather_Temp+0x9c>
    76ec:	3340      	movi      	r3, 64
    76ee:	60d0      	addu      	r3, r4
    76f0:	832d      	ld.b      	r1, (r3, 0xd)
    76f2:	834c      	ld.b      	r2, (r3, 0xc)
    76f4:	4128      	lsli      	r1, r1, 8
    76f6:	6c48      	or      	r1, r2
    76f8:	834e      	ld.b      	r2, (r3, 0xe)
    76fa:	4250      	lsli      	r2, r2, 16
    76fc:	6c48      	or      	r1, r2
    76fe:	834f      	ld.b      	r2, (r3, 0xf)
    7700:	11a2      	lrw      	r5, 0x200000c0	// 7788 <Gather_Temp+0xa0>
    7702:	4258      	lsli      	r2, r2, 24
    7704:	6c84      	or      	r2, r1
    7706:	9500      	ld.w      	r0, (r5, 0x0)
    7708:	600a      	subu      	r0, r2
    770a:	1141      	lrw      	r2, 0x3e7	// 778c <Gather_Temp+0xa4>
    770c:	6408      	cmphs      	r2, r0
    770e:	0817      	bt      	0x773c	// 773c <Gather_Temp+0x54>
	{
		g_adc.gather_tick = SysTick_1ms;
    7710:	9540      	ld.w      	r2, (r5, 0x0)
    7712:	4a28      	lsri      	r1, r2, 8
    7714:	a34c      	st.b      	r2, (r3, 0xc)
    7716:	a32d      	st.b      	r1, (r3, 0xd)
    7718:	4a30      	lsri      	r1, r2, 16
    771a:	4a58      	lsri      	r2, r2, 24
    771c:	a32e      	st.b      	r1, (r3, 0xe)
    771e:	a34f      	st.b      	r2, (r3, 0xf)
		//Dbg_Println(DBG_BIT_Debug_STATUS,"------Gather_Temp full %d  ",g_adc.gather_full);
		
		if(g_adc.gather_full == 1){
    7720:	8461      	ld.b      	r3, (r4, 0x1)
    7722:	3b41      	cmpnei      	r3, 1
    7724:	0c0d      	bf      	0x773e	// 773e <Gather_Temp+0x56>
				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++){
    7726:	843d      	ld.b      	r1, (r4, 0x1d)
    7728:	847c      	ld.b      	r3, (r4, 0x1c)
    772a:	4128      	lsli      	r1, r1, 8
    772c:	6c4c      	or      	r1, r3
    772e:	3000      	movi      	r0, 0
    7730:	3300      	movi      	r3, 0
				temp_val +=	g_adc.tempBuff[i];
    7732:	3510      	movi      	r5, 16
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    7734:	644c      	cmphs      	r3, r1
    7736:	0c1c      	bf      	0x776e	// 776e <Gather_Temp+0x86>
			}
			temp_size = g_adc.temp_index;
		}
		
		if(temp_size == 0){
    7738:	3940      	cmpnei      	r1, 0
    773a:	0813      	bt      	0x7760	// 7760 <Gather_Temp+0x78>
		}
		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);
	}	
}
    773c:	1493      	pop      	r4-r6, r15
		if(g_adc.gather_full == 1){
    773e:	3200      	movi      	r2, 0
    7740:	3000      	movi      	r0, 0
				temp_val +=	g_adc.tempBuff[i];
    7742:	3110      	movi      	r1, 16
    7744:	5a64      	addu      	r3, r2, r1
    7746:	4361      	lsli      	r3, r3, 1
    7748:	60d0      	addu      	r3, r4
    774a:	83a0      	ld.b      	r5, (r3, 0x0)
    774c:	8361      	ld.b      	r3, (r3, 0x1)
    774e:	4368      	lsli      	r3, r3, 8
    7750:	2200      	addi      	r2, 1
    7752:	6cd4      	or      	r3, r5
			for(U8_T i = 0;i < Temp_DataBuff_Size;i++){
    7754:	3a54      	cmpnei      	r2, 20
				temp_val +=	g_adc.tempBuff[i];
    7756:	600c      	addu      	r0, r3
			for(U8_T i = 0;i < Temp_DataBuff_Size;i++){
    7758:	0bf6      	bt      	0x7744	// 7744 <Gather_Temp+0x5c>
			g_adc.gather_full = 0;
    775a:	3300      	movi      	r3, 0
    775c:	a461      	st.b      	r3, (r4, 0x1)
			temp_size = Temp_DataBuff_Size;
    775e:	3114      	movi      	r1, 20
		g_adc.temp_val = temp_val / temp_size;
    7760:	e3fff4ec 	bsr      	0x6138	// 6138 <__udivsi3>
    7764:	7401      	zexth      	r0, r0
    7766:	a41e      	st.b      	r0, (r4, 0x1e)
    7768:	4808      	lsri      	r0, r0, 8
    776a:	a41f      	st.b      	r0, (r4, 0x1f)
    776c:	07e8      	br      	0x773c	// 773c <Gather_Temp+0x54>
				temp_val +=	g_adc.tempBuff[i];
    776e:	5b54      	addu      	r2, r3, r5
    7770:	4241      	lsli      	r2, r2, 1
    7772:	6090      	addu      	r2, r4
    7774:	82c0      	ld.b      	r6, (r2, 0x0)
    7776:	8241      	ld.b      	r2, (r2, 0x1)
    7778:	4248      	lsli      	r2, r2, 8
    777a:	6c98      	or      	r2, r6
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    777c:	2300      	addi      	r3, 1
				temp_val +=	g_adc.tempBuff[i];
    777e:	6008      	addu      	r0, r2
			for(U8_T i = 0;i < g_adc.temp_index;i++){
    7780:	74cc      	zextb      	r3, r3
    7782:	07d9      	br      	0x7734	// 7734 <Gather_Temp+0x4c>
    7784:	20000521 	.long	0x20000521
    7788:	200000c0 	.long	0x200000c0
    778c:	000003e7 	.long	0x000003e7

Disassembly of section .text.ADC_Sample_Task:

00007790 <ADC_Sample_Task>:
void ADC_Sample_Task(void){
    7790:	14d3      	push      	r4-r6, r15
    if (SysTick_1ms - g_adc.sample_tick > 10) {
    7792:	1187      	lrw      	r4, 0x20000521	// 782c <ADC_Sample_Task+0x9c>
    7794:	3340      	movi      	r3, 64
    7796:	60d0      	addu      	r3, r4
    7798:	8329      	ld.b      	r1, (r3, 0x9)
    779a:	8348      	ld.b      	r2, (r3, 0x8)
    779c:	4128      	lsli      	r1, r1, 8
    779e:	6c48      	or      	r1, r2
    77a0:	834a      	ld.b      	r2, (r3, 0xa)
    77a2:	4250      	lsli      	r2, r2, 16
    77a4:	6c48      	or      	r1, r2
    77a6:	834b      	ld.b      	r2, (r3, 0xb)
    77a8:	11a2      	lrw      	r5, 0x200000c0	// 7830 <ADC_Sample_Task+0xa0>
    77aa:	4258      	lsli      	r2, r2, 24
    77ac:	9500      	ld.w      	r0, (r5, 0x0)
    77ae:	6c84      	or      	r2, r1
    77b0:	600a      	subu      	r0, r2
    77b2:	380a      	cmphsi      	r0, 11
    77b4:	0c24      	bf      	0x77fc	// 77fc <ADC_Sample_Task+0x6c>
        g_adc.sample_tick = SysTick_1ms;
    77b6:	9540      	ld.w      	r2, (r5, 0x0)
    77b8:	4a28      	lsri      	r1, r2, 8
    77ba:	a348      	st.b      	r2, (r3, 0x8)
    77bc:	a329      	st.b      	r1, (r3, 0x9)
		ADC12_SEQEND_wait(0);
    77be:	3000      	movi      	r0, 0
        g_adc.sample_tick = SysTick_1ms;
    77c0:	4a30      	lsri      	r1, r2, 16
    77c2:	4a58      	lsri      	r2, r2, 24
    77c4:	a34b      	st.b      	r2, (r3, 0xb)
    77c6:	a32a      	st.b      	r1, (r3, 0xa)
		ADC12_SEQEND_wait(0);
    77c8:	e3ffeb62 	bsr      	0x4e8c	// 4e8c <ADC12_SEQEND_wait>
        g_adc.dataBuff[g_adc.index] = ADC12_DATA_OUPUT(0);
    77cc:	84c3      	ld.b      	r6, (r4, 0x3)
    77ce:	8462      	ld.b      	r3, (r4, 0x2)
    77d0:	46c8      	lsli      	r6, r6, 8
    77d2:	6d8c      	or      	r6, r3
    77d4:	3000      	movi      	r0, 0
    77d6:	e3ffeb67 	bsr      	0x4ea4	// 4ea4 <ADC12_DATA_OUPUT>
    77da:	5e6e      	addi      	r3, r6, 4
    77dc:	4361      	lsli      	r3, r3, 1
    77de:	60d0      	addu      	r3, r4
    77e0:	a300      	st.b      	r0, (r3, 0x0)
    77e2:	4808      	lsri      	r0, r0, 8
    77e4:	a301      	st.b      	r0, (r3, 0x1)
        g_adc.index++;
    77e6:	8463      	ld.b      	r3, (r4, 0x3)
    77e8:	8442      	ld.b      	r2, (r4, 0x2)
    77ea:	4368      	lsli      	r3, r3, 8
    77ec:	6cc8      	or      	r3, r2
    77ee:	2300      	addi      	r3, 1
    77f0:	74cd      	zexth      	r3, r3
        if (g_adc.index >= ADC_DATABUFF_Size) {
    77f2:	3b09      	cmphsi      	r3, 10
    77f4:	0815      	bt      	0x781e	// 781e <ADC_Sample_Task+0x8e>
        g_adc.index++;
    77f6:	a462      	st.b      	r3, (r4, 0x2)
    77f8:	4b68      	lsri      	r3, r3, 8
    77fa:	a463      	st.b      	r3, (r4, 0x3)
    if (g_adc.full_flag == 0x01) {
    77fc:	8460      	ld.b      	r3, (r4, 0x0)
    77fe:	3b41      	cmpnei      	r3, 1
    7800:	080c      	bt      	0x7818	// 7818 <ADC_Sample_Task+0x88>
        if (SysTick_1ms - adc_tick >= 100) {
    7802:	104d      	lrw      	r2, 0x2000013c	// 7834 <ADC_Sample_Task+0xa4>
    7804:	9220      	ld.w      	r1, (r2, 0x0)
    7806:	9560      	ld.w      	r3, (r5, 0x0)
    7808:	60c6      	subu      	r3, r1
    780a:	3163      	movi      	r1, 99
    780c:	64c4      	cmphs      	r1, r3
    780e:	0805      	bt      	0x7818	// 7818 <ADC_Sample_Task+0x88>
            adc_tick = SysTick_1ms;
    7810:	9560      	ld.w      	r3, (r5, 0x0)
    7812:	b260      	st.w      	r3, (r2, 0x0)
            Calculate_ADC_Sample_Average();
    7814:	e3ffff1c 	bsr      	0x764c	// 764c <Calculate_ADC_Sample_Average>
	Gather_Temp();
    7818:	e3ffff68 	bsr      	0x76e8	// 76e8 <Gather_Temp>
}
    781c:	1493      	pop      	r4-r6, r15
            g_adc.index = 0;
    781e:	3300      	movi      	r3, 0
    7820:	a462      	st.b      	r3, (r4, 0x2)
    7822:	a463      	st.b      	r3, (r4, 0x3)
            g_adc.full_flag = 1;
    7824:	3301      	movi      	r3, 1
    7826:	a460      	st.b      	r3, (r4, 0x0)
    7828:	07ea      	br      	0x77fc	// 77fc <ADC_Sample_Task+0x6c>
    782a:	0000      	bkpt
    782c:	20000521 	.long	0x20000521
    7830:	200000c0 	.long	0x200000c0
    7834:	2000013c 	.long	0x2000013c

Disassembly of section .text.Contol_Switch_Light:

00007838 <Contol_Switch_Light>:
  * @param  ch: 通道选择
  * @param  state: 控制状态 0x01:开，0x02:关
  * @retval None
  */
void Contol_Switch_Light(uint8_t ch,uint8_t state)
{
    7838:	14d2      	push      	r4-r5, r15
    //Dbg_Println(DBG_BIT_SYS_STATUS,"%s ch:%d state:%d",__func__,ch,state);
	switch(ch)
    783a:	3805      	cmphsi      	r0, 6
{
    783c:	6d47      	mov      	r5, r1
	switch(ch)
    783e:	0818      	bt      	0x786e	// 786e <Contol_Switch_Light+0x36>
    7840:	009b      	lrw      	r4, 0x20000574	// 7bd0 <Contol_Switch_Light+0x398>
			}
			g_switch.light_state[T_CH5] = state;
			break;		
		
		case T_Backlight:		//背光
			if(state == Control_ON){
    7842:	3941      	cmpnei      	r1, 1
	switch(ch)
    7844:	e3ffde74 	bsr      	0x352c	// 352c <___gnu_csky_case_uhi>
    7848:	00330006 	.long	0x00330006
    784c:	008d0060 	.long	0x008d0060
    7850:	00e700ba 	.long	0x00e700ba
			if(state == Control_ON){
    7854:	0814      	bt      	0x787c	// 787c <Contol_Switch_Light+0x44>
				if(g_switch.feedback_light_selection == 0x01){
    7856:	8462      	ld.b      	r3, (r4, 0x2)
    7858:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK1_White,Control_ON);
    785a:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    785c:	080a      	bt      	0x7870	// 7870 <Contol_Switch_Light+0x38>
					TM1812_Control_CH_State(TPK1_White,Control_ON);
    785e:	300b      	movi      	r0, 11
    7860:	e0000532 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7864:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7866:	3006      	movi      	r0, 6
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_White,Control_ON);
    7868:	e000052e 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH1] = state;
    786c:	a4a5      	st.b      	r5, (r4, 0x5)
			}
            
            g_switch.light_state[T_Backlight] = state;
			break;
	}
}
    786e:	1492      	pop      	r4-r5, r15
					TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7870:	3006      	movi      	r0, 6
    7872:	e0000529 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7876:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_White,Control_ON);
    7878:	300b      	movi      	r0, 11
    787a:	07f7      	br      	0x7868	// 7868 <Contol_Switch_Light+0x30>
			}else if(state == Control_OFF){
    787c:	3942      	cmpnei      	r1, 2
    787e:	0bf7      	bt      	0x786c	// 786c <Contol_Switch_Light+0x34>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7880:	016a      	lrw      	r3, 0x200000c0	// 7bd4 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7882:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7884:	9360      	ld.w      	r3, (r3, 0x0)
    7886:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7888:	8462      	ld.b      	r3, (r4, 0x2)
    788a:	3b41      	cmpnei      	r3, 1
    788c:	0809      	bt      	0x789e	// 789e <Contol_Switch_Light+0x66>
					TM1812_Control_CH_State(TPK1_White,Control_OFF);
    788e:	300b      	movi      	r0, 11
    7890:	e000051a 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7894:	846a      	ld.b      	r3, (r4, 0xa)
    7896:	3b41      	cmpnei      	r3, 1
    7898:	0bea      	bt      	0x786c	// 786c <Contol_Switch_Light+0x34>
    789a:	3101      	movi      	r1, 1
    789c:	07e5      	br      	0x7866	// 7866 <Contol_Switch_Light+0x2e>
					TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    789e:	3006      	movi      	r0, 6
    78a0:	e0000512 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK1_White,Control_ON);
    78a4:	846a      	ld.b      	r3, (r4, 0xa)
    78a6:	3b41      	cmpnei      	r3, 1
    78a8:	0be2      	bt      	0x786c	// 786c <Contol_Switch_Light+0x34>
    78aa:	3101      	movi      	r1, 1
    78ac:	07e6      	br      	0x7878	// 7878 <Contol_Switch_Light+0x40>
			if(state == Control_ON){
    78ae:	0814      	bt      	0x78d6	// 78d6 <Contol_Switch_Light+0x9e>
				if(g_switch.feedback_light_selection == 0x01){
    78b0:	8462      	ld.b      	r3, (r4, 0x2)
    78b2:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK2_White,Control_ON);
    78b4:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    78b6:	080a      	bt      	0x78ca	// 78ca <Contol_Switch_Light+0x92>
					TM1812_Control_CH_State(TPK2_White,Control_ON);
    78b8:	300c      	movi      	r0, 12
    78ba:	e0000505 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    78be:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    78c0:	3007      	movi      	r0, 7
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_White,Control_ON);
    78c2:	e0000501 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH2] = state;
    78c6:	a4a6      	st.b      	r5, (r4, 0x6)
			break;
    78c8:	07d3      	br      	0x786e	// 786e <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    78ca:	3007      	movi      	r0, 7
    78cc:	e00004fc 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_White,Control_OFF);
    78d0:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_White,Control_ON);
    78d2:	300c      	movi      	r0, 12
    78d4:	07f7      	br      	0x78c2	// 78c2 <Contol_Switch_Light+0x8a>
			}else if(state == Control_OFF){
    78d6:	3942      	cmpnei      	r1, 2
    78d8:	0bf7      	bt      	0x78c6	// 78c6 <Contol_Switch_Light+0x8e>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    78da:	0260      	lrw      	r3, 0x200000c0	// 7bd4 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK2_White,Control_OFF);
    78dc:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    78de:	9360      	ld.w      	r3, (r3, 0x0)
    78e0:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    78e2:	8462      	ld.b      	r3, (r4, 0x2)
    78e4:	3b41      	cmpnei      	r3, 1
    78e6:	0809      	bt      	0x78f8	// 78f8 <Contol_Switch_Light+0xc0>
					TM1812_Control_CH_State(TPK2_White,Control_OFF);
    78e8:	300c      	movi      	r0, 12
    78ea:	e00004ed 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    78ee:	846a      	ld.b      	r3, (r4, 0xa)
    78f0:	3b41      	cmpnei      	r3, 1
    78f2:	0bea      	bt      	0x78c6	// 78c6 <Contol_Switch_Light+0x8e>
    78f4:	3101      	movi      	r1, 1
    78f6:	07e5      	br      	0x78c0	// 78c0 <Contol_Switch_Light+0x88>
					TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    78f8:	3007      	movi      	r0, 7
    78fa:	e00004e5 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK2_White,Control_ON);
    78fe:	846a      	ld.b      	r3, (r4, 0xa)
    7900:	3b41      	cmpnei      	r3, 1
    7902:	0be2      	bt      	0x78c6	// 78c6 <Contol_Switch_Light+0x8e>
    7904:	3101      	movi      	r1, 1
    7906:	07e6      	br      	0x78d2	// 78d2 <Contol_Switch_Light+0x9a>
			if(state == Control_ON){
    7908:	0814      	bt      	0x7930	// 7930 <Contol_Switch_Light+0xf8>
				if(g_switch.feedback_light_selection == 0x01){
    790a:	8462      	ld.b      	r3, (r4, 0x2)
    790c:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK3_White,Control_ON);
    790e:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7910:	080a      	bt      	0x7924	// 7924 <Contol_Switch_Light+0xec>
					TM1812_Control_CH_State(TPK3_White,Control_ON);
    7912:	300d      	movi      	r0, 13
    7914:	e00004d8 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7918:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    791a:	3008      	movi      	r0, 8
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_White,Control_ON);
    791c:	e00004d4 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH3] = state;
    7920:	a4a7      	st.b      	r5, (r4, 0x7)
			break;
    7922:	07a6      	br      	0x786e	// 786e <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    7924:	3008      	movi      	r0, 8
    7926:	e00004cf 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_White,Control_OFF);
    792a:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_White,Control_ON);
    792c:	300d      	movi      	r0, 13
    792e:	07f7      	br      	0x791c	// 791c <Contol_Switch_Light+0xe4>
			}else if(state == Control_OFF){
    7930:	3942      	cmpnei      	r1, 2
    7932:	0bf7      	bt      	0x7920	// 7920 <Contol_Switch_Light+0xe8>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7934:	0277      	lrw      	r3, 0x200000c0	// 7bd4 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7936:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7938:	9360      	ld.w      	r3, (r3, 0x0)
    793a:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    793c:	8462      	ld.b      	r3, (r4, 0x2)
    793e:	3b41      	cmpnei      	r3, 1
    7940:	0809      	bt      	0x7952	// 7952 <Contol_Switch_Light+0x11a>
					TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7942:	300d      	movi      	r0, 13
    7944:	e00004c0 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    7948:	846a      	ld.b      	r3, (r4, 0xa)
    794a:	3b41      	cmpnei      	r3, 1
    794c:	0bea      	bt      	0x7920	// 7920 <Contol_Switch_Light+0xe8>
    794e:	3101      	movi      	r1, 1
    7950:	07e5      	br      	0x791a	// 791a <Contol_Switch_Light+0xe2>
					TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7952:	3008      	movi      	r0, 8
    7954:	e00004b8 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK3_White,Control_ON);
    7958:	846a      	ld.b      	r3, (r4, 0xa)
    795a:	3b41      	cmpnei      	r3, 1
    795c:	0be2      	bt      	0x7920	// 7920 <Contol_Switch_Light+0xe8>
    795e:	3101      	movi      	r1, 1
    7960:	07e6      	br      	0x792c	// 792c <Contol_Switch_Light+0xf4>
			if(state == Control_ON){
    7962:	0814      	bt      	0x798a	// 798a <Contol_Switch_Light+0x152>
				if(g_switch.feedback_light_selection == 0x01){
    7964:	8462      	ld.b      	r3, (r4, 0x2)
    7966:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK4_White,Control_ON);
    7968:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    796a:	080a      	bt      	0x797e	// 797e <Contol_Switch_Light+0x146>
					TM1812_Control_CH_State(TPK4_White,Control_ON);
    796c:	300e      	movi      	r0, 14
    796e:	e00004ab 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7972:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    7974:	3009      	movi      	r0, 9
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_White,Control_ON);
    7976:	e00004a7 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH4] = state;
    797a:	a4a8      	st.b      	r5, (r4, 0x8)
			break;
    797c:	0779      	br      	0x786e	// 786e <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    797e:	3009      	movi      	r0, 9
    7980:	e00004a2 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7984:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_White,Control_ON);
    7986:	300e      	movi      	r0, 14
    7988:	07f7      	br      	0x7976	// 7976 <Contol_Switch_Light+0x13e>
			}else if(state == Control_OFF){
    798a:	3942      	cmpnei      	r1, 2
    798c:	0bf7      	bt      	0x797a	// 797a <Contol_Switch_Light+0x142>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    798e:	036d      	lrw      	r3, 0x200000c0	// 7bd4 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7990:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7992:	9360      	ld.w      	r3, (r3, 0x0)
    7994:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7996:	8462      	ld.b      	r3, (r4, 0x2)
    7998:	3b41      	cmpnei      	r3, 1
    799a:	0809      	bt      	0x79ac	// 79ac <Contol_Switch_Light+0x174>
					TM1812_Control_CH_State(TPK4_White,Control_OFF);
    799c:	300e      	movi      	r0, 14
    799e:	e0000493 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    79a2:	846a      	ld.b      	r3, (r4, 0xa)
    79a4:	3b41      	cmpnei      	r3, 1
    79a6:	0bea      	bt      	0x797a	// 797a <Contol_Switch_Light+0x142>
    79a8:	3101      	movi      	r1, 1
    79aa:	07e5      	br      	0x7974	// 7974 <Contol_Switch_Light+0x13c>
					TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    79ac:	3009      	movi      	r0, 9
    79ae:	e000048b 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK4_White,Control_ON);
    79b2:	846a      	ld.b      	r3, (r4, 0xa)
    79b4:	3b41      	cmpnei      	r3, 1
    79b6:	0be2      	bt      	0x797a	// 797a <Contol_Switch_Light+0x142>
    79b8:	3101      	movi      	r1, 1
    79ba:	07e6      	br      	0x7986	// 7986 <Contol_Switch_Light+0x14e>
			if(state == Control_ON){
    79bc:	0814      	bt      	0x79e4	// 79e4 <Contol_Switch_Light+0x1ac>
				if(g_switch.feedback_light_selection == 0x01){
    79be:	8462      	ld.b      	r3, (r4, 0x2)
    79c0:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK5_White,Control_ON);
    79c2:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    79c4:	080a      	bt      	0x79d8	// 79d8 <Contol_Switch_Light+0x1a0>
					TM1812_Control_CH_State(TPK5_White,Control_ON);
    79c6:	300f      	movi      	r0, 15
    79c8:	e000047e 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    79cc:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    79ce:	300a      	movi      	r0, 10
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_White,Control_ON);
    79d0:	e000047a 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
			g_switch.light_state[T_CH5] = state;
    79d4:	a4a9      	st.b      	r5, (r4, 0x9)
			break;		
    79d6:	074c      	br      	0x786e	// 786e <Contol_Switch_Light+0x36>
					TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    79d8:	300a      	movi      	r0, 10
    79da:	e0000475 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK5_White,Control_OFF);
    79de:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_White,Control_ON);
    79e0:	300f      	movi      	r0, 15
    79e2:	07f7      	br      	0x79d0	// 79d0 <Contol_Switch_Light+0x198>
			}else if(state == Control_OFF){
    79e4:	3942      	cmpnei      	r1, 2
    79e6:	0bf7      	bt      	0x79d4	// 79d4 <Contol_Switch_Light+0x19c>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    79e8:	137b      	lrw      	r3, 0x200000c0	// 7bd4 <Contol_Switch_Light+0x39c>
					TM1812_Control_CH_State(TPK5_White,Control_OFF);
    79ea:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    79ec:	9360      	ld.w      	r3, (r3, 0x0)
    79ee:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    79f0:	8462      	ld.b      	r3, (r4, 0x2)
    79f2:	3b41      	cmpnei      	r3, 1
    79f4:	0809      	bt      	0x7a06	// 7a06 <Contol_Switch_Light+0x1ce>
					TM1812_Control_CH_State(TPK5_White,Control_OFF);
    79f6:	300f      	movi      	r0, 15
    79f8:	e0000466 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    79fc:	846a      	ld.b      	r3, (r4, 0xa)
    79fe:	3b41      	cmpnei      	r3, 1
    7a00:	0bea      	bt      	0x79d4	// 79d4 <Contol_Switch_Light+0x19c>
    7a02:	3101      	movi      	r1, 1
    7a04:	07e5      	br      	0x79ce	// 79ce <Contol_Switch_Light+0x196>
					TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7a06:	300a      	movi      	r0, 10
    7a08:	e000045e 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_State(TPK5_White,Control_ON);
    7a0c:	846a      	ld.b      	r3, (r4, 0xa)
    7a0e:	3b41      	cmpnei      	r3, 1
    7a10:	0be2      	bt      	0x79d4	// 79d4 <Contol_Switch_Light+0x19c>
    7a12:	3101      	movi      	r1, 1
    7a14:	07e6      	br      	0x79e0	// 79e0 <Contol_Switch_Light+0x1a8>
			if(state == Control_ON){
    7a16:	08b1      	bt      	0x7b78	// 7b78 <Contol_Switch_Light+0x340>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7a18:	136f      	lrw      	r3, 0x200000c0	// 7bd4 <Contol_Switch_Light+0x39c>
    7a1a:	9360      	ld.w      	r3, (r3, 0x0)
    7a1c:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7a1e:	8462      	ld.b      	r3, (r4, 0x2)
    7a20:	3b41      	cmpnei      	r3, 1
    7a22:	8465      	ld.b      	r3, (r4, 0x5)
    7a24:	0857      	bt      	0x7ad2	// 7ad2 <Contol_Switch_Light+0x29a>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7a26:	3b41      	cmpnei      	r3, 1
    7a28:	0c33      	bf      	0x7a8e	// 7a8e <Contol_Switch_Light+0x256>
                        TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7a2a:	3101      	movi      	r1, 1
    7a2c:	3006      	movi      	r0, 6
    7a2e:	e000044b 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7a32:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK1_White,Control_ON);
    7a34:	300b      	movi      	r0, 11
    7a36:	e0000447 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7a3a:	8466      	ld.b      	r3, (r4, 0x6)
    7a3c:	3b41      	cmpnei      	r3, 1
    7a3e:	0c2e      	bf      	0x7a9a	// 7a9a <Contol_Switch_Light+0x262>
                        TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    7a40:	3101      	movi      	r1, 1
    7a42:	3007      	movi      	r0, 7
    7a44:	e0000440 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7a48:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK2_White,Control_ON);
    7a4a:	300c      	movi      	r0, 12
    7a4c:	e000043c 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    7a50:	8467      	ld.b      	r3, (r4, 0x7)
    7a52:	3b41      	cmpnei      	r3, 1
    7a54:	0c29      	bf      	0x7aa6	// 7aa6 <Contol_Switch_Light+0x26e>
                        TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    7a56:	3101      	movi      	r1, 1
    7a58:	3008      	movi      	r0, 8
    7a5a:	e0000435 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7a5e:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK3_White,Control_ON);
    7a60:	300d      	movi      	r0, 13
    7a62:	e0000431 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    7a66:	8468      	ld.b      	r3, (r4, 0x8)
    7a68:	3b41      	cmpnei      	r3, 1
    7a6a:	0c24      	bf      	0x7ab2	// 7ab2 <Contol_Switch_Light+0x27a>
                        TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    7a6c:	3101      	movi      	r1, 1
    7a6e:	3009      	movi      	r0, 9
    7a70:	e000042a 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7a74:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK4_White,Control_ON);
    7a76:	300e      	movi      	r0, 14
    7a78:	e0000426 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    7a7c:	8469      	ld.b      	r3, (r4, 0x9)
    7a7e:	3b41      	cmpnei      	r3, 1
    7a80:	0c1f      	bf      	0x7abe	// 7abe <Contol_Switch_Light+0x286>
                        TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    7a82:	3101      	movi      	r1, 1
    7a84:	300a      	movi      	r0, 10
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7a86:	e000041f 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
						TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7a8a:	3102      	movi      	r1, 2
    7a8c:	041e      	br      	0x7ac8	// 7ac8 <Contol_Switch_Light+0x290>
                        TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7a8e:	3102      	movi      	r1, 2
    7a90:	3006      	movi      	r0, 6
    7a92:	e0000419 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_White,Control_ON);
    7a96:	3101      	movi      	r1, 1
    7a98:	07ce      	br      	0x7a34	// 7a34 <Contol_Switch_Light+0x1fc>
                        TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7a9a:	3102      	movi      	r1, 2
    7a9c:	3007      	movi      	r0, 7
    7a9e:	e0000413 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_White,Control_ON);
    7aa2:	3101      	movi      	r1, 1
    7aa4:	07d3      	br      	0x7a4a	// 7a4a <Contol_Switch_Light+0x212>
                        TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7aa6:	3102      	movi      	r1, 2
    7aa8:	3008      	movi      	r0, 8
    7aaa:	e000040d 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_White,Control_ON);
    7aae:	3101      	movi      	r1, 1
    7ab0:	07d8      	br      	0x7a60	// 7a60 <Contol_Switch_Light+0x228>
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7ab2:	3102      	movi      	r1, 2
    7ab4:	3009      	movi      	r0, 9
    7ab6:	e0000407 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_White,Control_ON);
    7aba:	3101      	movi      	r1, 1
    7abc:	07dd      	br      	0x7a76	// 7a76 <Contol_Switch_Light+0x23e>
                        TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7abe:	3102      	movi      	r1, 2
    7ac0:	300a      	movi      	r0, 10
    7ac2:	e0000401 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK5_White,Control_ON);
    7ac6:	3101      	movi      	r1, 1
						TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7ac8:	300f      	movi      	r0, 15
						TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7aca:	e00003fd 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
            g_switch.light_state[T_Backlight] = state;
    7ace:	a4aa      	st.b      	r5, (r4, 0xa)
}
    7ad0:	06cf      	br      	0x786e	// 786e <Contol_Switch_Light+0x36>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7ad2:	3b41      	cmpnei      	r3, 1
    7ad4:	0c33      	bf      	0x7b3a	// 7b3a <Contol_Switch_Light+0x302>
                        TM1812_Control_CH_State(TPK1_White,Control_ON);
    7ad6:	3101      	movi      	r1, 1
    7ad8:	300b      	movi      	r0, 11
    7ada:	e00003f5 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7ade:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7ae0:	3006      	movi      	r0, 6
    7ae2:	e00003f1 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7ae6:	8466      	ld.b      	r3, (r4, 0x6)
    7ae8:	3b41      	cmpnei      	r3, 1
    7aea:	0c2e      	bf      	0x7b46	// 7b46 <Contol_Switch_Light+0x30e>
                        TM1812_Control_CH_State(TPK2_White,Control_ON);
    7aec:	3101      	movi      	r1, 1
    7aee:	300c      	movi      	r0, 12
    7af0:	e00003ea 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7af4:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    7af6:	3007      	movi      	r0, 7
    7af8:	e00003e6 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    7afc:	8467      	ld.b      	r3, (r4, 0x7)
    7afe:	3b41      	cmpnei      	r3, 1
    7b00:	0c29      	bf      	0x7b52	// 7b52 <Contol_Switch_Light+0x31a>
                        TM1812_Control_CH_State(TPK3_White,Control_ON);
    7b02:	3101      	movi      	r1, 1
    7b04:	300d      	movi      	r0, 13
    7b06:	e00003df 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7b0a:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    7b0c:	3008      	movi      	r0, 8
    7b0e:	e00003db 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    7b12:	8468      	ld.b      	r3, (r4, 0x8)
    7b14:	3b41      	cmpnei      	r3, 1
    7b16:	0c24      	bf      	0x7b5e	// 7b5e <Contol_Switch_Light+0x326>
                        TM1812_Control_CH_State(TPK4_White,Control_ON);
    7b18:	3101      	movi      	r1, 1
    7b1a:	300e      	movi      	r0, 14
    7b1c:	e00003d4 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7b20:	3102      	movi      	r1, 2
                        TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    7b22:	3009      	movi      	r0, 9
    7b24:	e00003d0 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    7b28:	8469      	ld.b      	r3, (r4, 0x9)
    7b2a:	3b41      	cmpnei      	r3, 1
    7b2c:	0c1f      	bf      	0x7b6a	// 7b6a <Contol_Switch_Light+0x332>
                        TM1812_Control_CH_State(TPK5_White,Control_ON);
    7b2e:	3101      	movi      	r1, 1
    7b30:	300f      	movi      	r0, 15
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7b32:	e00003c9 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
						TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7b36:	3102      	movi      	r1, 2
    7b38:	041e      	br      	0x7b74	// 7b74 <Contol_Switch_Light+0x33c>
                        TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7b3a:	3102      	movi      	r1, 2
    7b3c:	300b      	movi      	r0, 11
    7b3e:	e00003c3 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK1_Amber,Control_ON);
    7b42:	3101      	movi      	r1, 1
    7b44:	07ce      	br      	0x7ae0	// 7ae0 <Contol_Switch_Light+0x2a8>
                        TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7b46:	3102      	movi      	r1, 2
    7b48:	300c      	movi      	r0, 12
    7b4a:	e00003bd 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_Amber,Control_ON);
    7b4e:	3101      	movi      	r1, 1
    7b50:	07d3      	br      	0x7af6	// 7af6 <Contol_Switch_Light+0x2be>
                        TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7b52:	3102      	movi      	r1, 2
    7b54:	300d      	movi      	r0, 13
    7b56:	e00003b7 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_Amber,Control_ON);
    7b5a:	3101      	movi      	r1, 1
    7b5c:	07d8      	br      	0x7b0c	// 7b0c <Contol_Switch_Light+0x2d4>
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7b5e:	3102      	movi      	r1, 2
    7b60:	300e      	movi      	r0, 14
    7b62:	e00003b1 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_Amber,Control_ON);
    7b66:	3101      	movi      	r1, 1
    7b68:	07dd      	br      	0x7b22	// 7b22 <Contol_Switch_Light+0x2ea>
                        TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7b6a:	3102      	movi      	r1, 2
    7b6c:	300f      	movi      	r0, 15
    7b6e:	e00003ab 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK5_Amber,Control_ON);
    7b72:	3101      	movi      	r1, 1
						TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7b74:	300a      	movi      	r0, 10
    7b76:	07aa      	br      	0x7aca	// 7aca <Contol_Switch_Light+0x292>
			}else if(state == Control_OFF){
    7b78:	3942      	cmpnei      	r1, 2
    7b7a:	0baa      	bt      	0x7ace	// 7ace <Contol_Switch_Light+0x296>
				if(g_switch.feedback_light_selection == 0x01){
    7b7c:	8462      	ld.b      	r3, (r4, 0x2)
    7b7e:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7b80:	3102      	movi      	r1, 2
				if(g_switch.feedback_light_selection == 0x01){
    7b82:	082b      	bt      	0x7bd8	// 7bd8 <Contol_Switch_Light+0x3a0>
					TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7b84:	3006      	movi      	r0, 6
    7b86:	e000039f 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7b8a:	3102      	movi      	r1, 2
    7b8c:	3007      	movi      	r0, 7
    7b8e:	e000039b 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7b92:	3102      	movi      	r1, 2
    7b94:	3008      	movi      	r0, 8
    7b96:	e0000397 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7b9a:	3102      	movi      	r1, 2
    7b9c:	3009      	movi      	r0, 9
    7b9e:	e0000393 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					TM1812_Control_CH_State(TPK5_Amber,Control_OFF);
    7ba2:	3102      	movi      	r1, 2
    7ba4:	300a      	movi      	r0, 10
    7ba6:	e000038f 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.autoOff_light_flag == 0x01){
    7baa:	8461      	ld.b      	r3, (r4, 0x1)
    7bac:	3b41      	cmpnei      	r3, 1
    7bae:	0b90      	bt      	0x7ace	// 7ace <Contol_Switch_Light+0x296>
                        TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7bb0:	3102      	movi      	r1, 2
    7bb2:	300b      	movi      	r0, 11
    7bb4:	e0000388 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7bb8:	3102      	movi      	r1, 2
    7bba:	300c      	movi      	r0, 12
    7bbc:	e0000384 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7bc0:	3102      	movi      	r1, 2
    7bc2:	300d      	movi      	r0, 13
    7bc4:	e0000380 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7bc8:	3102      	movi      	r1, 2
    7bca:	300e      	movi      	r0, 14
    7bcc:	075d      	br      	0x7a86	// 7a86 <Contol_Switch_Light+0x24e>
    7bce:	0000      	bkpt
    7bd0:	20000574 	.long	0x20000574
    7bd4:	200000c0 	.long	0x200000c0
					TM1812_Control_CH_State(TPK1_White,Control_OFF);
    7bd8:	300b      	movi      	r0, 11
    7bda:	e0000375 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK2_White,Control_OFF);
    7bde:	3102      	movi      	r1, 2
    7be0:	300c      	movi      	r0, 12
    7be2:	e0000371 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK3_White,Control_OFF);
    7be6:	3102      	movi      	r1, 2
    7be8:	300d      	movi      	r0, 13
    7bea:	e000036d 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    TM1812_Control_CH_State(TPK4_White,Control_OFF);
    7bee:	3102      	movi      	r1, 2
    7bf0:	300e      	movi      	r0, 14
    7bf2:	e0000369 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
					TM1812_Control_CH_State(TPK5_White,Control_OFF);
    7bf6:	3102      	movi      	r1, 2
    7bf8:	300f      	movi      	r0, 15
    7bfa:	e0000365 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                    if(g_switch.autoOff_light_flag == 0x01){
    7bfe:	8461      	ld.b      	r3, (r4, 0x1)
    7c00:	3b41      	cmpnei      	r3, 1
    7c02:	0b66      	bt      	0x7ace	// 7ace <Contol_Switch_Light+0x296>
                        TM1812_Control_CH_State(TPK1_Amber,Control_OFF);
    7c04:	3102      	movi      	r1, 2
    7c06:	3006      	movi      	r0, 6
    7c08:	e000035e 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK2_Amber,Control_OFF);
    7c0c:	3102      	movi      	r1, 2
    7c0e:	3007      	movi      	r0, 7
    7c10:	e000035a 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK3_Amber,Control_OFF);
    7c14:	3102      	movi      	r1, 2
    7c16:	3008      	movi      	r0, 8
    7c18:	e0000356 	bsr      	0x82c4	// 82c4 <TM1812_Control_CH_State>
                        TM1812_Control_CH_State(TPK4_Amber,Control_OFF);
    7c1c:	3102      	movi      	r1, 2
    7c1e:	3009      	movi      	r0, 9
    7c20:	0789      	br      	0x7b32	// 7b32 <Contol_Switch_Light+0x2fa>

Disassembly of section .text.Contol_Switch_Light_2:

00007c24 <Contol_Switch_Light_2>:
/*不帶渐变效果控製*/
void Contol_Switch_Light_2(uint8_t ch,uint8_t state)
{
    7c24:	14d2      	push      	r4-r5, r15
    //Dbg_Println(DBG_BIT_SYS_STATUS,"%s ch:%d state:%d",__func__,ch,state);
	switch(ch)
    7c26:	3805      	cmphsi      	r0, 6
{
    7c28:	6d47      	mov      	r5, r1
	switch(ch)
    7c2a:	0818      	bt      	0x7c5a	// 7c5a <Contol_Switch_Light_2+0x36>
    7c2c:	009b      	lrw      	r4, 0x20000574	// 7fbc <Contol_Switch_Light_2+0x398>
			}
			g_switch.light_state[T_CH5] = state;
			break;		
		
		case T_Backlight:		//背光
			if(state == Control_ON){
    7c2e:	3941      	cmpnei      	r1, 1
	switch(ch)
    7c30:	e3ffdc7e 	bsr      	0x352c	// 352c <___gnu_csky_case_uhi>
    7c34:	00330006 	.long	0x00330006
    7c38:	008d0060 	.long	0x008d0060
    7c3c:	00e700ba 	.long	0x00e700ba
			if(state == Control_ON){
    7c40:	0814      	bt      	0x7c68	// 7c68 <Contol_Switch_Light_2+0x44>
				if(g_switch.feedback_light_selection == 0x01){
    7c42:	8462      	ld.b      	r3, (r4, 0x2)
    7c44:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7c46:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7c48:	080a      	bt      	0x7c5c	// 7c5c <Contol_Switch_Light_2+0x38>
					TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7c4a:	300b      	movi      	r0, 11
    7c4c:	e0000374 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7c50:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7c52:	3006      	movi      	r0, 6
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7c54:	e0000370 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH1] = state;
    7c58:	a4a5      	st.b      	r5, (r4, 0x5)
			}
            
            g_switch.light_state[T_Backlight] = state;
			break;
	}
}
    7c5a:	1492      	pop      	r4-r5, r15
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7c5c:	3006      	movi      	r0, 6
    7c5e:	e000036b 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7c62:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7c64:	300b      	movi      	r0, 11
    7c66:	07f7      	br      	0x7c54	// 7c54 <Contol_Switch_Light_2+0x30>
			}else if(state == Control_OFF){
    7c68:	3942      	cmpnei      	r1, 2
    7c6a:	0bf7      	bt      	0x7c58	// 7c58 <Contol_Switch_Light_2+0x34>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c6c:	016a      	lrw      	r3, 0x200000c0	// 7fc0 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7c6e:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7c70:	9360      	ld.w      	r3, (r3, 0x0)
    7c72:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7c74:	8462      	ld.b      	r3, (r4, 0x2)
    7c76:	3b41      	cmpnei      	r3, 1
    7c78:	0809      	bt      	0x7c8a	// 7c8a <Contol_Switch_Light_2+0x66>
					TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7c7a:	300b      	movi      	r0, 11
    7c7c:	e000035c 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7c80:	846a      	ld.b      	r3, (r4, 0xa)
    7c82:	3b41      	cmpnei      	r3, 1
    7c84:	0bea      	bt      	0x7c58	// 7c58 <Contol_Switch_Light_2+0x34>
    7c86:	3101      	movi      	r1, 1
    7c88:	07e5      	br      	0x7c52	// 7c52 <Contol_Switch_Light_2+0x2e>
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7c8a:	3006      	movi      	r0, 6
    7c8c:	e0000354 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7c90:	846a      	ld.b      	r3, (r4, 0xa)
    7c92:	3b41      	cmpnei      	r3, 1
    7c94:	0be2      	bt      	0x7c58	// 7c58 <Contol_Switch_Light_2+0x34>
    7c96:	3101      	movi      	r1, 1
    7c98:	07e6      	br      	0x7c64	// 7c64 <Contol_Switch_Light_2+0x40>
			if(state == Control_ON){
    7c9a:	0814      	bt      	0x7cc2	// 7cc2 <Contol_Switch_Light_2+0x9e>
				if(g_switch.feedback_light_selection == 0x01){
    7c9c:	8462      	ld.b      	r3, (r4, 0x2)
    7c9e:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7ca0:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7ca2:	080a      	bt      	0x7cb6	// 7cb6 <Contol_Switch_Light_2+0x92>
					TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7ca4:	300c      	movi      	r0, 12
    7ca6:	e0000347 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7caa:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7cac:	3007      	movi      	r0, 7
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7cae:	e0000343 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH2] = state;
    7cb2:	a4a6      	st.b      	r5, (r4, 0x6)
			break;
    7cb4:	07d3      	br      	0x7c5a	// 7c5a <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7cb6:	3007      	movi      	r0, 7
    7cb8:	e000033e 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7cbc:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7cbe:	300c      	movi      	r0, 12
    7cc0:	07f7      	br      	0x7cae	// 7cae <Contol_Switch_Light_2+0x8a>
			}else if(state == Control_OFF){
    7cc2:	3942      	cmpnei      	r1, 2
    7cc4:	0bf7      	bt      	0x7cb2	// 7cb2 <Contol_Switch_Light_2+0x8e>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7cc6:	0260      	lrw      	r3, 0x200000c0	// 7fc0 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7cc8:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7cca:	9360      	ld.w      	r3, (r3, 0x0)
    7ccc:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7cce:	8462      	ld.b      	r3, (r4, 0x2)
    7cd0:	3b41      	cmpnei      	r3, 1
    7cd2:	0809      	bt      	0x7ce4	// 7ce4 <Contol_Switch_Light_2+0xc0>
					TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7cd4:	300c      	movi      	r0, 12
    7cd6:	e000032f 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7cda:	846a      	ld.b      	r3, (r4, 0xa)
    7cdc:	3b41      	cmpnei      	r3, 1
    7cde:	0bea      	bt      	0x7cb2	// 7cb2 <Contol_Switch_Light_2+0x8e>
    7ce0:	3101      	movi      	r1, 1
    7ce2:	07e5      	br      	0x7cac	// 7cac <Contol_Switch_Light_2+0x88>
					TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7ce4:	3007      	movi      	r0, 7
    7ce6:	e0000327 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7cea:	846a      	ld.b      	r3, (r4, 0xa)
    7cec:	3b41      	cmpnei      	r3, 1
    7cee:	0be2      	bt      	0x7cb2	// 7cb2 <Contol_Switch_Light_2+0x8e>
    7cf0:	3101      	movi      	r1, 1
    7cf2:	07e6      	br      	0x7cbe	// 7cbe <Contol_Switch_Light_2+0x9a>
			if(state == Control_ON){
    7cf4:	0814      	bt      	0x7d1c	// 7d1c <Contol_Switch_Light_2+0xf8>
				if(g_switch.feedback_light_selection == 0x01){
    7cf6:	8462      	ld.b      	r3, (r4, 0x2)
    7cf8:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7cfa:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7cfc:	080a      	bt      	0x7d10	// 7d10 <Contol_Switch_Light_2+0xec>
					TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7cfe:	300d      	movi      	r0, 13
    7d00:	e000031a 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7d04:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7d06:	3008      	movi      	r0, 8
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7d08:	e0000316 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH3] = state;
    7d0c:	a4a7      	st.b      	r5, (r4, 0x7)
			break;
    7d0e:	07a6      	br      	0x7c5a	// 7c5a <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7d10:	3008      	movi      	r0, 8
    7d12:	e0000311 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7d16:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7d18:	300d      	movi      	r0, 13
    7d1a:	07f7      	br      	0x7d08	// 7d08 <Contol_Switch_Light_2+0xe4>
			}else if(state == Control_OFF){
    7d1c:	3942      	cmpnei      	r1, 2
    7d1e:	0bf7      	bt      	0x7d0c	// 7d0c <Contol_Switch_Light_2+0xe8>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7d20:	0277      	lrw      	r3, 0x200000c0	// 7fc0 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7d22:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7d24:	9360      	ld.w      	r3, (r3, 0x0)
    7d26:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7d28:	8462      	ld.b      	r3, (r4, 0x2)
    7d2a:	3b41      	cmpnei      	r3, 1
    7d2c:	0809      	bt      	0x7d3e	// 7d3e <Contol_Switch_Light_2+0x11a>
					TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7d2e:	300d      	movi      	r0, 13
    7d30:	e0000302 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7d34:	846a      	ld.b      	r3, (r4, 0xa)
    7d36:	3b41      	cmpnei      	r3, 1
    7d38:	0bea      	bt      	0x7d0c	// 7d0c <Contol_Switch_Light_2+0xe8>
    7d3a:	3101      	movi      	r1, 1
    7d3c:	07e5      	br      	0x7d06	// 7d06 <Contol_Switch_Light_2+0xe2>
					TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7d3e:	3008      	movi      	r0, 8
    7d40:	e00002fa 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7d44:	846a      	ld.b      	r3, (r4, 0xa)
    7d46:	3b41      	cmpnei      	r3, 1
    7d48:	0be2      	bt      	0x7d0c	// 7d0c <Contol_Switch_Light_2+0xe8>
    7d4a:	3101      	movi      	r1, 1
    7d4c:	07e6      	br      	0x7d18	// 7d18 <Contol_Switch_Light_2+0xf4>
			if(state == Control_ON){
    7d4e:	0814      	bt      	0x7d76	// 7d76 <Contol_Switch_Light_2+0x152>
				if(g_switch.feedback_light_selection == 0x01){
    7d50:	8462      	ld.b      	r3, (r4, 0x2)
    7d52:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d54:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7d56:	080a      	bt      	0x7d6a	// 7d6a <Contol_Switch_Light_2+0x146>
					TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d58:	300e      	movi      	r0, 14
    7d5a:	e00002ed 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7d5e:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7d60:	3009      	movi      	r0, 9
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d62:	e00002e9 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH4] = state;
    7d66:	a4a8      	st.b      	r5, (r4, 0x8)
			break;
    7d68:	0779      	br      	0x7c5a	// 7c5a <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7d6a:	3009      	movi      	r0, 9
    7d6c:	e00002e4 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7d70:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d72:	300e      	movi      	r0, 14
    7d74:	07f7      	br      	0x7d62	// 7d62 <Contol_Switch_Light_2+0x13e>
			}else if(state == Control_OFF){
    7d76:	3942      	cmpnei      	r1, 2
    7d78:	0bf7      	bt      	0x7d66	// 7d66 <Contol_Switch_Light_2+0x142>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7d7a:	036d      	lrw      	r3, 0x200000c0	// 7fc0 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7d7c:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7d7e:	9360      	ld.w      	r3, (r3, 0x0)
    7d80:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7d82:	8462      	ld.b      	r3, (r4, 0x2)
    7d84:	3b41      	cmpnei      	r3, 1
    7d86:	0809      	bt      	0x7d98	// 7d98 <Contol_Switch_Light_2+0x174>
					TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7d88:	300e      	movi      	r0, 14
    7d8a:	e00002d5 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7d8e:	846a      	ld.b      	r3, (r4, 0xa)
    7d90:	3b41      	cmpnei      	r3, 1
    7d92:	0bea      	bt      	0x7d66	// 7d66 <Contol_Switch_Light_2+0x142>
    7d94:	3101      	movi      	r1, 1
    7d96:	07e5      	br      	0x7d60	// 7d60 <Contol_Switch_Light_2+0x13c>
					TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7d98:	3009      	movi      	r0, 9
    7d9a:	e00002cd 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7d9e:	846a      	ld.b      	r3, (r4, 0xa)
    7da0:	3b41      	cmpnei      	r3, 1
    7da2:	0be2      	bt      	0x7d66	// 7d66 <Contol_Switch_Light_2+0x142>
    7da4:	3101      	movi      	r1, 1
    7da6:	07e6      	br      	0x7d72	// 7d72 <Contol_Switch_Light_2+0x14e>
			if(state == Control_ON){
    7da8:	0814      	bt      	0x7dd0	// 7dd0 <Contol_Switch_Light_2+0x1ac>
				if(g_switch.feedback_light_selection == 0x01){
    7daa:	8462      	ld.b      	r3, (r4, 0x2)
    7dac:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7dae:	3101      	movi      	r1, 1
				if(g_switch.feedback_light_selection == 0x01){
    7db0:	080a      	bt      	0x7dc4	// 7dc4 <Contol_Switch_Light_2+0x1a0>
					TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7db2:	300f      	movi      	r0, 15
    7db4:	e00002c0 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7db8:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7dba:	300a      	movi      	r0, 10
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7dbc:	e00002bc 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
			g_switch.light_state[T_CH5] = state;
    7dc0:	a4a9      	st.b      	r5, (r4, 0x9)
			break;		
    7dc2:	074c      	br      	0x7c5a	// 7c5a <Contol_Switch_Light_2+0x36>
					TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7dc4:	300a      	movi      	r0, 10
    7dc6:	e00002b7 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7dca:	3102      	movi      	r1, 2
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7dcc:	300f      	movi      	r0, 15
    7dce:	07f7      	br      	0x7dbc	// 7dbc <Contol_Switch_Light_2+0x198>
			}else if(state == Control_OFF){
    7dd0:	3942      	cmpnei      	r1, 2
    7dd2:	0bf7      	bt      	0x7dc0	// 7dc0 <Contol_Switch_Light_2+0x19c>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7dd4:	137b      	lrw      	r3, 0x200000c0	// 7fc0 <Contol_Switch_Light_2+0x39c>
					TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7dd6:	3102      	movi      	r1, 2
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7dd8:	9360      	ld.w      	r3, (r3, 0x0)
    7dda:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7ddc:	8462      	ld.b      	r3, (r4, 0x2)
    7dde:	3b41      	cmpnei      	r3, 1
    7de0:	0809      	bt      	0x7df2	// 7df2 <Contol_Switch_Light_2+0x1ce>
					TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7de2:	300f      	movi      	r0, 15
    7de4:	e00002a8 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7de8:	846a      	ld.b      	r3, (r4, 0xa)
    7dea:	3b41      	cmpnei      	r3, 1
    7dec:	0bea      	bt      	0x7dc0	// 7dc0 <Contol_Switch_Light_2+0x19c>
    7dee:	3101      	movi      	r1, 1
    7df0:	07e5      	br      	0x7dba	// 7dba <Contol_Switch_Light_2+0x196>
					TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7df2:	300a      	movi      	r0, 10
    7df4:	e00002a0 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.light_state[T_Backlight] == 0x01) TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7df8:	846a      	ld.b      	r3, (r4, 0xa)
    7dfa:	3b41      	cmpnei      	r3, 1
    7dfc:	0be2      	bt      	0x7dc0	// 7dc0 <Contol_Switch_Light_2+0x19c>
    7dfe:	3101      	movi      	r1, 1
    7e00:	07e6      	br      	0x7dcc	// 7dcc <Contol_Switch_Light_2+0x1a8>
			if(state == Control_ON){
    7e02:	08b1      	bt      	0x7f64	// 7f64 <Contol_Switch_Light_2+0x340>
                g_switch.autooff_tick = SysTick_1ms;    //更新自动关闭背光灯时间
    7e04:	136f      	lrw      	r3, 0x200000c0	// 7fc0 <Contol_Switch_Light_2+0x39c>
    7e06:	9360      	ld.w      	r3, (r3, 0x0)
    7e08:	b465      	st.w      	r3, (r4, 0x14)
				if(g_switch.feedback_light_selection == 0x01){
    7e0a:	8462      	ld.b      	r3, (r4, 0x2)
    7e0c:	3b41      	cmpnei      	r3, 1
    7e0e:	8465      	ld.b      	r3, (r4, 0x5)
    7e10:	0857      	bt      	0x7ebe	// 7ebe <Contol_Switch_Light_2+0x29a>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7e12:	3b41      	cmpnei      	r3, 1
    7e14:	0c33      	bf      	0x7e7a	// 7e7a <Contol_Switch_Light_2+0x256>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7e16:	3101      	movi      	r1, 1
    7e18:	3006      	movi      	r0, 6
    7e1a:	e000028d 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7e1e:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7e20:	300b      	movi      	r0, 11
    7e22:	e0000289 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7e26:	8466      	ld.b      	r3, (r4, 0x6)
    7e28:	3b41      	cmpnei      	r3, 1
    7e2a:	0c2e      	bf      	0x7e86	// 7e86 <Contol_Switch_Light_2+0x262>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7e2c:	3101      	movi      	r1, 1
    7e2e:	3007      	movi      	r0, 7
    7e30:	e0000282 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7e34:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7e36:	300c      	movi      	r0, 12
    7e38:	e000027e 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    7e3c:	8467      	ld.b      	r3, (r4, 0x7)
    7e3e:	3b41      	cmpnei      	r3, 1
    7e40:	0c29      	bf      	0x7e92	// 7e92 <Contol_Switch_Light_2+0x26e>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7e42:	3101      	movi      	r1, 1
    7e44:	3008      	movi      	r0, 8
    7e46:	e0000277 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7e4a:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7e4c:	300d      	movi      	r0, 13
    7e4e:	e0000273 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    7e52:	8468      	ld.b      	r3, (r4, 0x8)
    7e54:	3b41      	cmpnei      	r3, 1
    7e56:	0c24      	bf      	0x7e9e	// 7e9e <Contol_Switch_Light_2+0x27a>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7e58:	3101      	movi      	r1, 1
    7e5a:	3009      	movi      	r0, 9
    7e5c:	e000026c 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7e60:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7e62:	300e      	movi      	r0, 14
    7e64:	e0000268 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    7e68:	8469      	ld.b      	r3, (r4, 0x9)
    7e6a:	3b41      	cmpnei      	r3, 1
    7e6c:	0c1f      	bf      	0x7eaa	// 7eaa <Contol_Switch_Light_2+0x286>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7e6e:	3101      	movi      	r1, 1
    7e70:	300a      	movi      	r0, 10
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7e72:	e0000261 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
						TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7e76:	3102      	movi      	r1, 2
    7e78:	041e      	br      	0x7eb4	// 7eb4 <Contol_Switch_Light_2+0x290>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7e7a:	3102      	movi      	r1, 2
    7e7c:	3006      	movi      	r0, 6
    7e7e:	e000025b 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7e82:	3101      	movi      	r1, 1
    7e84:	07ce      	br      	0x7e20	// 7e20 <Contol_Switch_Light_2+0x1fc>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7e86:	3102      	movi      	r1, 2
    7e88:	3007      	movi      	r0, 7
    7e8a:	e0000255 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7e8e:	3101      	movi      	r1, 1
    7e90:	07d3      	br      	0x7e36	// 7e36 <Contol_Switch_Light_2+0x212>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7e92:	3102      	movi      	r1, 2
    7e94:	3008      	movi      	r0, 8
    7e96:	e000024f 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7e9a:	3101      	movi      	r1, 1
    7e9c:	07d8      	br      	0x7e4c	// 7e4c <Contol_Switch_Light_2+0x228>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7e9e:	3102      	movi      	r1, 2
    7ea0:	3009      	movi      	r0, 9
    7ea2:	e0000249 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7ea6:	3101      	movi      	r1, 1
    7ea8:	07dd      	br      	0x7e62	// 7e62 <Contol_Switch_Light_2+0x23e>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7eaa:	3102      	movi      	r1, 2
    7eac:	300a      	movi      	r0, 10
    7eae:	e0000243 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7eb2:	3101      	movi      	r1, 1
						TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7eb4:	300f      	movi      	r0, 15
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7eb6:	e000023f 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
            g_switch.light_state[T_Backlight] = state;
    7eba:	a4aa      	st.b      	r5, (r4, 0xa)
}
    7ebc:	06cf      	br      	0x7c5a	// 7c5a <Contol_Switch_Light_2+0x36>
					if(g_switch.light_state[T_CH1] != Control_ON)	{
    7ebe:	3b41      	cmpnei      	r3, 1
    7ec0:	0c33      	bf      	0x7f26	// 7f26 <Contol_Switch_Light_2+0x302>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_ON);
    7ec2:	3101      	movi      	r1, 1
    7ec4:	300b      	movi      	r0, 11
    7ec6:	e0000237 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7eca:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7ecc:	3006      	movi      	r0, 6
    7ece:	e0000233 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH2] != Control_ON)	{
    7ed2:	8466      	ld.b      	r3, (r4, 0x6)
    7ed4:	3b41      	cmpnei      	r3, 1
    7ed6:	0c2e      	bf      	0x7f32	// 7f32 <Contol_Switch_Light_2+0x30e>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_ON);
    7ed8:	3101      	movi      	r1, 1
    7eda:	300c      	movi      	r0, 12
    7edc:	e000022c 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7ee0:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7ee2:	3007      	movi      	r0, 7
    7ee4:	e0000228 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH3] != Control_ON)	{
    7ee8:	8467      	ld.b      	r3, (r4, 0x7)
    7eea:	3b41      	cmpnei      	r3, 1
    7eec:	0c29      	bf      	0x7f3e	// 7f3e <Contol_Switch_Light_2+0x31a>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_ON);
    7eee:	3101      	movi      	r1, 1
    7ef0:	300d      	movi      	r0, 13
    7ef2:	e0000221 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7ef6:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7ef8:	3008      	movi      	r0, 8
    7efa:	e000021d 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH4] != Control_ON)	{
    7efe:	8468      	ld.b      	r3, (r4, 0x8)
    7f00:	3b41      	cmpnei      	r3, 1
    7f02:	0c24      	bf      	0x7f4a	// 7f4a <Contol_Switch_Light_2+0x326>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_ON);
    7f04:	3101      	movi      	r1, 1
    7f06:	300e      	movi      	r0, 14
    7f08:	e0000216 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7f0c:	3102      	movi      	r1, 2
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7f0e:	3009      	movi      	r0, 9
    7f10:	e0000212 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					if(g_switch.light_state[T_CH5] != Control_ON)	{
    7f14:	8469      	ld.b      	r3, (r4, 0x9)
    7f16:	3b41      	cmpnei      	r3, 1
    7f18:	0c1f      	bf      	0x7f56	// 7f56 <Contol_Switch_Light_2+0x332>
                        TM1812_Control_CH_CurrState(TPK5_White,Control_ON);
    7f1a:	3101      	movi      	r1, 1
    7f1c:	300f      	movi      	r0, 15
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7f1e:	e000020b 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7f22:	3102      	movi      	r1, 2
    7f24:	041e      	br      	0x7f60	// 7f60 <Contol_Switch_Light_2+0x33c>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7f26:	3102      	movi      	r1, 2
    7f28:	300b      	movi      	r0, 11
    7f2a:	e0000205 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_ON);
    7f2e:	3101      	movi      	r1, 1
    7f30:	07ce      	br      	0x7ecc	// 7ecc <Contol_Switch_Light_2+0x2a8>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7f32:	3102      	movi      	r1, 2
    7f34:	300c      	movi      	r0, 12
    7f36:	e00001ff 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_ON);
    7f3a:	3101      	movi      	r1, 1
    7f3c:	07d3      	br      	0x7ee2	// 7ee2 <Contol_Switch_Light_2+0x2be>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7f3e:	3102      	movi      	r1, 2
    7f40:	300d      	movi      	r0, 13
    7f42:	e00001f9 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_ON);
    7f46:	3101      	movi      	r1, 1
    7f48:	07d8      	br      	0x7ef8	// 7ef8 <Contol_Switch_Light_2+0x2d4>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7f4a:	3102      	movi      	r1, 2
    7f4c:	300e      	movi      	r0, 14
    7f4e:	e00001f3 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_ON);
    7f52:	3101      	movi      	r1, 1
    7f54:	07dd      	br      	0x7f0e	// 7f0e <Contol_Switch_Light_2+0x2ea>
                        TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7f56:	3102      	movi      	r1, 2
    7f58:	300f      	movi      	r0, 15
    7f5a:	e00001ed 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_ON);
    7f5e:	3101      	movi      	r1, 1
                        TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7f60:	300a      	movi      	r0, 10
    7f62:	07aa      	br      	0x7eb6	// 7eb6 <Contol_Switch_Light_2+0x292>
			}else if(state == Control_OFF){
    7f64:	3942      	cmpnei      	r1, 2
    7f66:	0baa      	bt      	0x7eba	// 7eba <Contol_Switch_Light_2+0x296>
				if(g_switch.feedback_light_selection == 0x01){
    7f68:	8462      	ld.b      	r3, (r4, 0x2)
    7f6a:	3b41      	cmpnei      	r3, 1
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7f6c:	3102      	movi      	r1, 2
				if(g_switch.feedback_light_selection == 0x01){
    7f6e:	082b      	bt      	0x7fc4	// 7fc4 <Contol_Switch_Light_2+0x3a0>
					TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7f70:	3006      	movi      	r0, 6
    7f72:	e00001e1 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7f76:	3102      	movi      	r1, 2
    7f78:	3007      	movi      	r0, 7
    7f7a:	e00001dd 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    7f7e:	3102      	movi      	r1, 2
    7f80:	3008      	movi      	r0, 8
    7f82:	e00001d9 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    7f86:	3102      	movi      	r1, 2
    7f88:	3009      	movi      	r0, 9
    7f8a:	e00001d5 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					TM1812_Control_CH_CurrState(TPK5_Amber,Control_OFF);
    7f8e:	3102      	movi      	r1, 2
    7f90:	300a      	movi      	r0, 10
    7f92:	e00001d1 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.autoOff_light_flag == 0x01){
    7f96:	8461      	ld.b      	r3, (r4, 0x1)
    7f98:	3b41      	cmpnei      	r3, 1
    7f9a:	0b90      	bt      	0x7eba	// 7eba <Contol_Switch_Light_2+0x296>
                        TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7f9c:	3102      	movi      	r1, 2
    7f9e:	300b      	movi      	r0, 11
    7fa0:	e00001ca 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7fa4:	3102      	movi      	r1, 2
    7fa6:	300c      	movi      	r0, 12
    7fa8:	e00001c6 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7fac:	3102      	movi      	r1, 2
    7fae:	300d      	movi      	r0, 13
    7fb0:	e00001c2 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7fb4:	3102      	movi      	r1, 2
    7fb6:	300e      	movi      	r0, 14
    7fb8:	075d      	br      	0x7e72	// 7e72 <Contol_Switch_Light_2+0x24e>
    7fba:	0000      	bkpt
    7fbc:	20000574 	.long	0x20000574
    7fc0:	200000c0 	.long	0x200000c0
					TM1812_Control_CH_CurrState(TPK1_White,Control_OFF);
    7fc4:	300b      	movi      	r0, 11
    7fc6:	e00001b7 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK2_White,Control_OFF);
    7fca:	3102      	movi      	r1, 2
    7fcc:	300c      	movi      	r0, 12
    7fce:	e00001b3 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK3_White,Control_OFF);
    7fd2:	3102      	movi      	r1, 2
    7fd4:	300d      	movi      	r0, 13
    7fd6:	e00001af 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    TM1812_Control_CH_CurrState(TPK4_White,Control_OFF);
    7fda:	3102      	movi      	r1, 2
    7fdc:	300e      	movi      	r0, 14
    7fde:	e00001ab 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
					TM1812_Control_CH_CurrState(TPK5_White,Control_OFF);
    7fe2:	3102      	movi      	r1, 2
    7fe4:	300f      	movi      	r0, 15
    7fe6:	e00001a7 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                    if(g_switch.autoOff_light_flag == 0x01){
    7fea:	8461      	ld.b      	r3, (r4, 0x1)
    7fec:	3b41      	cmpnei      	r3, 1
    7fee:	0b66      	bt      	0x7eba	// 7eba <Contol_Switch_Light_2+0x296>
                        TM1812_Control_CH_CurrState(TPK1_Amber,Control_OFF);
    7ff0:	3102      	movi      	r1, 2
    7ff2:	3006      	movi      	r0, 6
    7ff4:	e00001a0 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK2_Amber,Control_OFF);
    7ff8:	3102      	movi      	r1, 2
    7ffa:	3007      	movi      	r0, 7
    7ffc:	e000019c 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK3_Amber,Control_OFF);
    8000:	3102      	movi      	r1, 2
    8002:	3008      	movi      	r0, 8
    8004:	e0000198 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
                        TM1812_Control_CH_CurrState(TPK4_Amber,Control_OFF);
    8008:	3102      	movi      	r1, 2
    800a:	3009      	movi      	r0, 9
    800c:	0789      	br      	0x7f1e	// 7f1e <Contol_Switch_Light_2+0x2fa>

Disassembly of section .text.Contol_Switch_ClickAction:

00008010 <Contol_Switch_ClickAction>:

void Contol_Switch_ClickAction(uint8_t ch,uint8_t state)
{
    8010:	14d0      	push      	r15
	switch(ch)
    8012:	3804      	cmphsi      	r0, 5
    8014:	0809      	bt      	0x8026	// 8026 <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){
    8016:	1068      	lrw      	r3, 0x20000574	// 8034 <Contol_Switch_ClickAction+0x24>
    8018:	836a      	ld.b      	r3, (r3, 0xa)
    801a:	3b41      	cmpnei      	r3, 1
    801c:	0806      	bt      	0x8028	// 8028 <Contol_Switch_ClickAction+0x18>
				if(state == Control_ON ){
    801e:	3941      	cmpnei      	r1, 1
    8020:	0804      	bt      	0x8028	// 8028 <Contol_Switch_ClickAction+0x18>
					Contol_Switch_Light_2(ch,Control_ON);						
    8022:	e3fffe01 	bsr      	0x7c24	// 7c24 <Contol_Switch_Light_2>
		break;
		default:
		
		break;
	}
}
    8026:	1490      	pop      	r15
			if(state == Control_OFF ){
    8028:	3942      	cmpnei      	r1, 2
    802a:	0bfe      	bt      	0x8026	// 8026 <Contol_Switch_ClickAction+0x16>
					Contol_Switch_Light(ch,Control_OFF);
    802c:	e3fffc06 	bsr      	0x7838	// 7838 <Contol_Switch_Light>
}
    8030:	07fb      	br      	0x8026	// 8026 <Contol_Switch_ClickAction+0x16>
    8032:	0000      	bkpt
    8034:	20000574 	.long	0x20000574

Disassembly of section .text.Get_TM1812_State_Change:

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

U8_T Get_TM1812_State_Change(void){
    8038:	14c2      	push      	r4-r5
	
	U8_T i=0,rev = 0;
	if(tm1812_param.change_flag == 0x01) {
    803a:	106f      	lrw      	r3, 0x200001a0	// 8074 <Get_TM1812_State_Change+0x3c>
    803c:	8318      	ld.b      	r0, (r3, 0x18)
    803e:	3841      	cmpnei      	r0, 1
    8040:	0c19      	bf      	0x8072	// 8072 <Get_TM1812_State_Change+0x3a>
    8042:	104e      	lrw      	r2, 0x20000140	// 8078 <Get_TM1812_State_Change+0x40>
    8044:	3018      	movi      	r0, 24
    8046:	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)	{
    8048:	3130      	movi      	r1, 48
		if(tm1812_param.curr_data[i] != tm1812_param.data[i]){
    804a:	82b8      	ld.b      	r5, (r2, 0x18)
    804c:	8280      	ld.b      	r4, (r2, 0x0)
    804e:	6516      	cmpne      	r5, r4
    8050:	0c03      	bf      	0x8056	// 8056 <Get_TM1812_State_Change+0x1e>
			rev++;
    8052:	2300      	addi      	r3, 1
    8054:	74cc      	zextb      	r3, r3
		if(tm1812_param.gradient_flag[i] == 0x01)	{
    8056:	5a84      	addu      	r4, r2, r1
    8058:	8480      	ld.b      	r4, (r4, 0x0)
    805a:	3c41      	cmpnei      	r4, 1
    805c:	0803      	bt      	0x8062	// 8062 <Get_TM1812_State_Change+0x2a>
			rev++;
    805e:	2300      	addi      	r3, 1
    8060:	74cc      	zextb      	r3, r3
    8062:	2800      	subi      	r0, 1
    8064:	7400      	zextb      	r0, r0
	for(i=0;i<CH_Num_Max;i++){
    8066:	3840      	cmpnei      	r0, 0
    8068:	2200      	addi      	r2, 1
    806a:	0bf0      	bt      	0x804a	// 804a <Get_TM1812_State_Change+0x12>
		}
	}
	
	if(rev != 0x00)	return 0x01;
    806c:	3b40      	cmpnei      	r3, 0
    806e:	6001      	addc      	r0, r0
		return 0x01;		//立即控制
    8070:	7400      	zextb      	r0, r0
	return 0x00;
}
    8072:	1482      	pop      	r4-r5
    8074:	200001a0 	.long	0x200001a0
    8078:	20000140 	.long	0x20000140

Disassembly of section .text.TimeCall_SIO_Send:

0000807c <TimeCall_SIO_Send>:
	}
}

/*定时器 — 2ms 调用*/
volatile U8_T K=0;
void TimeCall_SIO_Send(void){
    807c:	14d4      	push      	r4-r7, r15
    807e:	1421      	subi      	r14, r14, 4
    8080:	1264      	lrw      	r3, 0x20000140	// 8190 <TimeCall_SIO_Send+0x114>
    8082:	3188      	movi      	r1, 136
    8084:	3260      	movi      	r2, 96
    8086:	604c      	addu      	r1, r3
    8088:	608c      	addu      	r2, r3
    808a:	3718      	movi      	r7, 24
    808c:	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)//呼吸灯
    808e:	3030      	movi      	r0, 48
    8090:	600c      	addu      	r0, r3
    8092:	8000      	ld.b      	r0, (r0, 0x0)
    8094:	3841      	cmpnei      	r0, 1
    8096:	8318      	ld.b      	r0, (r3, 0x18)
    8098:	084c      	bt      	0x8130	// 8130 <TimeCall_SIO_Send+0xb4>
    809a:	3448      	movi      	r4, 72
    809c:	610c      	addu      	r4, r3
		{
			if(tm1812_param.gradient_dir[i] == 0x01){
    809e:	84a0      	ld.b      	r5, (r4, 0x0)
    80a0:	3d41      	cmpnei      	r5, 1
				if(tm1812_param.curr_data[i] < TM1812_CH_ON){
    80a2:	7400      	zextb      	r0, r0
			if(tm1812_param.gradient_dir[i] == 0x01){
    80a4:	083a      	bt      	0x8118	// 8118 <TimeCall_SIO_Send+0x9c>
				if(tm1812_param.curr_data[i] < TM1812_CH_ON){
    80a6:	35ff      	movi      	r5, 255
    80a8:	6542      	cmpne      	r0, r5
    80aa:	0c34      	bf      	0x8112	// 8112 <TimeCall_SIO_Send+0x96>
					//递增
					tm1812_param.gradient_cnt[i]++;
    80ac:	8280      	ld.b      	r4, (r2, 0x0)
    80ae:	2400      	addi      	r4, 1
    80b0:	7510      	zextb      	r4, r4
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    80b2:	3c40      	cmpnei      	r4, 0
					tm1812_param.gradient_cnt[i]++;
    80b4:	a280      	st.b      	r4, (r2, 0x0)
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    80b6:	0c05      	bf      	0x80c0	// 80c0 <TimeCall_SIO_Send+0x44>
						tm1812_param.curr_data[i]++;
    80b8:	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]--;
    80ba:	a318      	st.b      	r0, (r3, 0x18)
						tm1812_param.gradient_cnt[i] = 0x00;
    80bc:	3000      	movi      	r0, 0
    80be:	a200      	st.b      	r0, (r2, 0x0)
					tm1812_param.curr_data[i] = tm1812_param.data[i];
				}
			}
		}
		
		tm1812_param.write_buff[i] = 0x00;
    80c0:	3000      	movi      	r0, 0
    80c2:	b100      	st.w      	r0, (r1, 0x0)
		val = tm1812_param.curr_data[i];
    80c4:	83b8      	ld.b      	r5, (r3, 0x18)
		for(j=0;j<8;j++){
			if(val & 0x80){
    80c6:	3480      	movi      	r4, 128
    80c8:	6914      	and      	r4, r5
    80ca:	3c40      	cmpnei      	r4, 0
    80cc:	9180      	ld.w      	r4, (r1, 0x0)
    80ce:	0c44      	bf      	0x8156	// 8156 <TimeCall_SIO_Send+0xda>
				tm1812_param.write_buff[i] |= TX_DH << (j*2);
    80d0:	3603      	movi      	r6, 3
			}else{
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    80d2:	7180      	lsl      	r6, r0
    80d4:	2001      	addi      	r0, 2
    80d6:	6d18      	or      	r4, r6
		for(j=0;j<8;j++){
    80d8:	3850      	cmpnei      	r0, 16
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    80da:	b180      	st.w      	r4, (r1, 0x0)
			}
			val <<= 0x01;
    80dc:	45a1      	lsli      	r5, r5, 1
		for(j=0;j<8;j++){
    80de:	0bf4      	bt      	0x80c6	// 80c6 <TimeCall_SIO_Send+0x4a>
    80e0:	5f03      	subi      	r0, r7, 1
    80e2:	75c0      	zextb      	r7, r0
	for(i=0;i<CH_Num_Max;i++){
    80e4:	3f40      	cmpnei      	r7, 0
    80e6:	2300      	addi      	r3, 1
    80e8:	2103      	addi      	r1, 4
    80ea:	2200      	addi      	r2, 1
    80ec:	0bd1      	bt      	0x808e	// 808e <TimeCall_SIO_Send+0x12>
	
//	SIO0->TXBUF = tm1812_param.write_buff[0];
//	tm1812_param.write_cnt=0x01;
//	INTC_ISER_WRITE(SIO_INT);
				
	CK_CPU_DisAllNormalIrq();					//开启中断
    80ee:	e3fff05e 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
	
	for(K=0;K<CH_Num_Max;K++)
    80f2:	3200      	movi      	r2, 0
    80f4:	1168      	lrw      	r3, 0x20000220	// 8194 <TimeCall_SIO_Send+0x118>
    80f6:	a348      	st.b      	r2, (r3, 0x8)
	{
		SIO0->TXBUF = tm1812_param.write_buff[K];
    80f8:	3022      	movi      	r0, 34
    80fa:	1148      	lrw      	r2, 0x2000002c	// 8198 <TimeCall_SIO_Send+0x11c>
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    80fc:	3404      	movi      	r4, 4
		SIO0->TXBUF = tm1812_param.write_buff[K];
    80fe:	9240      	ld.w      	r2, (r2, 0x0)
		SIO0->ICR &= ~SIO_TXBUFEMPT;
		while(!(SIO0->RISR & SIO_TXDNE));
    8100:	3501      	movi      	r5, 1
	for(K=0;K<CH_Num_Max;K++)
    8102:	8328      	ld.b      	r1, (r3, 0x8)
    8104:	7444      	zextb      	r1, r1
    8106:	3917      	cmphsi      	r1, 24
    8108:	0c29      	bf      	0x815a	// 815a <TimeCall_SIO_Send+0xde>
		SIO0->ICR &= ~SIO_TXDNE;
	}

	CK_CPU_EnAllNormalIrq();
    810a:	e3fff04d 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	
}
    810e:	1401      	addi      	r14, r14, 4
    8110:	1494      	pop      	r4-r7, r15
					tm1812_param.gradient_dir[i] = 0x00;
    8112:	3000      	movi      	r0, 0
					tm1812_param.gradient_dir[i] = 0x01;
    8114:	a400      	st.b      	r0, (r4, 0x0)
    8116:	07d5      	br      	0x80c0	// 80c0 <TimeCall_SIO_Send+0x44>
				if(tm1812_param.curr_data[i] > TM1812_CH_OFF){
    8118:	3840      	cmpnei      	r0, 0
    811a:	0c09      	bf      	0x812c	// 812c <TimeCall_SIO_Send+0xb0>
					tm1812_param.gradient_cnt[i]++;
    811c:	8280      	ld.b      	r4, (r2, 0x0)
    811e:	2400      	addi      	r4, 1
    8120:	7510      	zextb      	r4, r4
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    8122:	3c40      	cmpnei      	r4, 0
					tm1812_param.gradient_cnt[i]++;
    8124:	a280      	st.b      	r4, (r2, 0x0)
					if(tm1812_param.gradient_cnt[i] >= TM1812_CH_GradientTime){
    8126:	0fcd      	bf      	0x80c0	// 80c0 <TimeCall_SIO_Send+0x44>
						tm1812_param.curr_data[i]--;
    8128:	2800      	subi      	r0, 1
    812a:	07c8      	br      	0x80ba	// 80ba <TimeCall_SIO_Send+0x3e>
					tm1812_param.gradient_dir[i] = 0x01;
    812c:	3001      	movi      	r0, 1
    812e:	07f3      	br      	0x8114	// 8114 <TimeCall_SIO_Send+0x98>
			if(tm1812_param.curr_data[i] < tm1812_param.data[i]){
    8130:	7400      	zextb      	r0, r0
    8132:	8380      	ld.b      	r4, (r3, 0x0)
    8134:	6500      	cmphs      	r0, r4
    8136:	0807      	bt      	0x8144	// 8144 <TimeCall_SIO_Send+0xc8>
				if(tm1812_param.data[i] - tm1812_param.curr_data[i] > TM1812_CH_Transform){
    8138:	5ca1      	subu      	r5, r4, r0
    813a:	3d24      	cmplti      	r5, 5
    813c:	080b      	bt      	0x8152	// 8152 <TimeCall_SIO_Send+0xd6>
					tm1812_param.curr_data[i] += TM1812_CH_Transform;	
    813e:	2003      	addi      	r0, 4
					tm1812_param.curr_data[i] -= TM1812_CH_Transform;	
    8140:	a318      	st.b      	r0, (r3, 0x18)
    8142:	07bf      	br      	0x80c0	// 80c0 <TimeCall_SIO_Send+0x44>
			}else if( tm1812_param.curr_data[i] > tm1812_param.data[i]){
    8144:	6410      	cmphs      	r4, r0
    8146:	0bbd      	bt      	0x80c0	// 80c0 <TimeCall_SIO_Send+0x44>
				if(tm1812_param.curr_data[i] - tm1812_param.data[i] > TM1812_CH_Transform){
    8148:	58b1      	subu      	r5, r0, r4
    814a:	3d24      	cmplti      	r5, 5
    814c:	0803      	bt      	0x8152	// 8152 <TimeCall_SIO_Send+0xd6>
					tm1812_param.curr_data[i] -= TM1812_CH_Transform;	
    814e:	2803      	subi      	r0, 4
    8150:	07f8      	br      	0x8140	// 8140 <TimeCall_SIO_Send+0xc4>
					tm1812_param.curr_data[i] = tm1812_param.data[i];
    8152:	a398      	st.b      	r4, (r3, 0x18)
    8154:	07b6      	br      	0x80c0	// 80c0 <TimeCall_SIO_Send+0x44>
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    8156:	3602      	movi      	r6, 2
    8158:	07bd      	br      	0x80d2	// 80d2 <TimeCall_SIO_Send+0x56>
		SIO0->TXBUF = tm1812_param.write_buff[K];
    815a:	8328      	ld.b      	r1, (r3, 0x8)
    815c:	6040      	addu      	r1, r0
    815e:	4122      	lsli      	r1, r1, 2
    8160:	98c0      	ld.w      	r6, (r14, 0x0)
    8162:	6058      	addu      	r1, r6
    8164:	9120      	ld.w      	r1, (r1, 0x0)
    8166:	b223      	st.w      	r1, (r2, 0xc)
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    8168:	9228      	ld.w      	r1, (r2, 0x20)
    816a:	6850      	and      	r1, r4
    816c:	3940      	cmpnei      	r1, 0
    816e:	0ffd      	bf      	0x8168	// 8168 <TimeCall_SIO_Send+0xec>
		SIO0->ICR &= ~SIO_TXBUFEMPT;
    8170:	922b      	ld.w      	r1, (r2, 0x2c)
    8172:	3982      	bclri      	r1, 2
    8174:	b22b      	st.w      	r1, (r2, 0x2c)
		while(!(SIO0->RISR & SIO_TXDNE));
    8176:	9228      	ld.w      	r1, (r2, 0x20)
    8178:	6854      	and      	r1, r5
    817a:	3940      	cmpnei      	r1, 0
    817c:	0ffd      	bf      	0x8176	// 8176 <TimeCall_SIO_Send+0xfa>
		SIO0->ICR &= ~SIO_TXDNE;
    817e:	922b      	ld.w      	r1, (r2, 0x2c)
    8180:	3980      	bclri      	r1, 0
    8182:	b22b      	st.w      	r1, (r2, 0x2c)
	for(K=0;K<CH_Num_Max;K++)
    8184:	8328      	ld.b      	r1, (r3, 0x8)
    8186:	2100      	addi      	r1, 1
    8188:	7444      	zextb      	r1, r1
    818a:	a328      	st.b      	r1, (r3, 0x8)
    818c:	07bb      	br      	0x8102	// 8102 <TimeCall_SIO_Send+0x86>
    818e:	0000      	bkpt
    8190:	20000140 	.long	0x20000140
    8194:	20000220 	.long	0x20000220
    8198:	2000002c 	.long	0x2000002c

Disassembly of section .text.TimeCall_SIO_Send2:

0000819c <TimeCall_SIO_Send2>:

volatile U8_T K2=0;
void TimeCall_SIO_Send2(void){
    819c:	14d4      	push      	r4-r7, r15
    819e:	1421      	subi      	r14, r14, 4
    81a0:	1105      	lrw      	r0, 0x20000140	// 8234 <TimeCall_SIO_Send2+0x98>
    81a2:	1166      	lrw      	r3, 0x200001c8	// 8238 <TimeCall_SIO_Send2+0x9c>
    81a4:	3218      	movi      	r2, 24
    81a6:	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;
    81a8:	3100      	movi      	r1, 0
    81aa:	b320      	st.w      	r1, (r3, 0x0)
		val = tm1812_param.curr_data[i];
    81ac:	80b8      	ld.b      	r5, (r0, 0x18)
		for(j=0;j<8;j++){
			if(val & 0x80){
				tm1812_param.write_buff[i] |= TX_DH << (j*2);
    81ae:	3703      	movi      	r7, 3
			if(val & 0x80){
    81b0:	3480      	movi      	r4, 128
    81b2:	6914      	and      	r4, r5
    81b4:	3c40      	cmpnei      	r4, 0
    81b6:	9380      	ld.w      	r4, (r3, 0x0)
    81b8:	0c21      	bf      	0x81fa	// 81fa <TimeCall_SIO_Send2+0x5e>
				tm1812_param.write_buff[i] |= TX_DH << (j*2);
    81ba:	6d9f      	mov      	r6, r7
			}else{
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    81bc:	7184      	lsl      	r6, r1
    81be:	2101      	addi      	r1, 2
    81c0:	6d18      	or      	r4, r6
		for(j=0;j<8;j++){
    81c2:	3950      	cmpnei      	r1, 16
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    81c4:	b380      	st.w      	r4, (r3, 0x0)
			}
			val <<= 0x01;
    81c6:	45a1      	lsli      	r5, r5, 1
		for(j=0;j<8;j++){
    81c8:	0bf4      	bt      	0x81b0	// 81b0 <TimeCall_SIO_Send2+0x14>
    81ca:	2a00      	subi      	r2, 1
    81cc:	7488      	zextb      	r2, r2
	for(i=0;i<CH_Num_Max;i++){
    81ce:	3a40      	cmpnei      	r2, 0
    81d0:	2303      	addi      	r3, 4
    81d2:	2000      	addi      	r0, 1
    81d4:	0bea      	bt      	0x81a8	// 81a8 <TimeCall_SIO_Send2+0xc>
		}
	}

	CK_CPU_DisAllNormalIrq();					//开启中断
    81d6:	e3ffefea 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
	
	for(K2=0;K2<CH_Num_Max;K2++)
    81da:	3200      	movi      	r2, 0
    81dc:	1078      	lrw      	r3, 0x20000220	// 823c <TimeCall_SIO_Send2+0xa0>
    81de:	a349      	st.b      	r2, (r3, 0x9)
	{
		SIO0->TXBUF = tm1812_param.write_buff[K2];
    81e0:	3022      	movi      	r0, 34
    81e2:	1058      	lrw      	r2, 0x2000002c	// 8240 <TimeCall_SIO_Send2+0xa4>
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    81e4:	3404      	movi      	r4, 4
		SIO0->TXBUF = tm1812_param.write_buff[K2];
    81e6:	9240      	ld.w      	r2, (r2, 0x0)
		SIO0->ICR &= ~SIO_TXBUFEMPT;
		while(!(SIO0->RISR & SIO_TXDNE));
    81e8:	3501      	movi      	r5, 1
	for(K2=0;K2<CH_Num_Max;K2++)
    81ea:	8329      	ld.b      	r1, (r3, 0x9)
    81ec:	7444      	zextb      	r1, r1
    81ee:	3917      	cmphsi      	r1, 24
    81f0:	0c07      	bf      	0x81fe	// 81fe <TimeCall_SIO_Send2+0x62>
		SIO0->ICR &= ~SIO_TXDNE;
	}

	CK_CPU_EnAllNormalIrq();
    81f2:	e3ffefd9 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	
}
    81f6:	1401      	addi      	r14, r14, 4
    81f8:	1494      	pop      	r4-r7, r15
				tm1812_param.write_buff[i] |= TX_DL << (j*2);
    81fa:	3602      	movi      	r6, 2
    81fc:	07e0      	br      	0x81bc	// 81bc <TimeCall_SIO_Send2+0x20>
		SIO0->TXBUF = tm1812_param.write_buff[K2];
    81fe:	8329      	ld.b      	r1, (r3, 0x9)
    8200:	6040      	addu      	r1, r0
    8202:	4122      	lsli      	r1, r1, 2
    8204:	98c0      	ld.w      	r6, (r14, 0x0)
    8206:	6058      	addu      	r1, r6
    8208:	9120      	ld.w      	r1, (r1, 0x0)
    820a:	b223      	st.w      	r1, (r2, 0xc)
		while(!(SIO0->RISR & SIO_TXBUFEMPT));
    820c:	9228      	ld.w      	r1, (r2, 0x20)
    820e:	6850      	and      	r1, r4
    8210:	3940      	cmpnei      	r1, 0
    8212:	0ffd      	bf      	0x820c	// 820c <TimeCall_SIO_Send2+0x70>
		SIO0->ICR &= ~SIO_TXBUFEMPT;
    8214:	922b      	ld.w      	r1, (r2, 0x2c)
    8216:	3982      	bclri      	r1, 2
    8218:	b22b      	st.w      	r1, (r2, 0x2c)
		while(!(SIO0->RISR & SIO_TXDNE));
    821a:	9228      	ld.w      	r1, (r2, 0x20)
    821c:	6854      	and      	r1, r5
    821e:	3940      	cmpnei      	r1, 0
    8220:	0ffd      	bf      	0x821a	// 821a <TimeCall_SIO_Send2+0x7e>
		SIO0->ICR &= ~SIO_TXDNE;
    8222:	922b      	ld.w      	r1, (r2, 0x2c)
    8224:	3980      	bclri      	r1, 0
    8226:	b22b      	st.w      	r1, (r2, 0x2c)
	for(K2=0;K2<CH_Num_Max;K2++)
    8228:	8329      	ld.b      	r1, (r3, 0x9)
    822a:	2100      	addi      	r1, 1
    822c:	7444      	zextb      	r1, r1
    822e:	a329      	st.b      	r1, (r3, 0x9)
    8230:	07dd      	br      	0x81ea	// 81ea <TimeCall_SIO_Send2+0x4e>
    8232:	0000      	bkpt
    8234:	20000140 	.long	0x20000140
    8238:	200001c8 	.long	0x200001c8
    823c:	20000220 	.long	0x20000220
    8240:	2000002c 	.long	0x2000002c

Disassembly of section .text.Tm1812_Task:

00008244 <Tm1812_Task>:


void Tm1812_Task(void) {
    8244:	14d0      	push      	r15

	static U32_T StateChange_Tick = 0;
	
	if(Get_TM1812_State_Change() == 0x01){
    8246:	e3fffef9 	bsr      	0x8038	// 8038 <Get_TM1812_State_Change>
    824a:	3841      	cmpnei      	r0, 1
    824c:	1070      	lrw      	r3, 0x200001c0	// 828c <Tm1812_Task+0x48>
    824e:	0812      	bt      	0x8272	// 8272 <Tm1812_Task+0x2e>
		if(SysTick_100us - StateChange_Tick >= 20){
    8250:	1030      	lrw      	r1, 0x200000bc	// 8290 <Tm1812_Task+0x4c>
    8252:	9140      	ld.w      	r2, (r1, 0x0)
    8254:	931b      	ld.w      	r0, (r3, 0x6c)
    8256:	6082      	subu      	r2, r0
    8258:	3a13      	cmphsi      	r2, 20
    825a:	0c0b      	bf      	0x8270	// 8270 <Tm1812_Task+0x2c>
			StateChange_Tick = SysTick_100us;
    825c:	9140      	ld.w      	r2, (r1, 0x0)
    825e:	b35b      	st.w      	r2, (r3, 0x6c)
			tm1812_param.regular_tick = SysTick_1ms;
    8260:	104d      	lrw      	r2, 0x200000c0	// 8294 <Tm1812_Task+0x50>
    8262:	9240      	ld.w      	r2, (r2, 0x0)
    8264:	b341      	st.w      	r2, (r3, 0x4)
			tm1812_param.change_flag = 0x00;
    8266:	106d      	lrw      	r3, 0x200001a0	// 8298 <Tm1812_Task+0x54>
    8268:	3200      	movi      	r2, 0
    826a:	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();
    826c:	e3ffff08 	bsr      	0x807c	// 807c <TimeCall_SIO_Send>
        }
	}
	
}
    8270:	1490      	pop      	r15
		if(SysTick_1ms - tm1812_param.regular_tick >= 2000){
    8272:	1029      	lrw      	r1, 0x200000c0	// 8294 <Tm1812_Task+0x50>
    8274:	9140      	ld.w      	r2, (r1, 0x0)
    8276:	9301      	ld.w      	r0, (r3, 0x4)
    8278:	6082      	subu      	r2, r0
    827a:	1009      	lrw      	r0, 0x7cf	// 829c <Tm1812_Task+0x58>
    827c:	6480      	cmphs      	r0, r2
    827e:	0bf9      	bt      	0x8270	// 8270 <Tm1812_Task+0x2c>
			StateChange_Tick = SysTick_100us;
    8280:	1044      	lrw      	r2, 0x200000bc	// 8290 <Tm1812_Task+0x4c>
    8282:	9240      	ld.w      	r2, (r2, 0x0)
    8284:	b35b      	st.w      	r2, (r3, 0x6c)
			tm1812_param.regular_tick = SysTick_1ms;
    8286:	9140      	ld.w      	r2, (r1, 0x0)
    8288:	b341      	st.w      	r2, (r3, 0x4)
    828a:	07f1      	br      	0x826c	// 826c <Tm1812_Task+0x28>
    828c:	200001c0 	.long	0x200001c0
    8290:	200000bc 	.long	0x200000bc
    8294:	200000c0 	.long	0x200000c0
    8298:	200001a0 	.long	0x200001a0
    829c:	000007cf 	.long	0x000007cf

Disassembly of section .text.Tm1812_Ch_Insert_Data:

000082a0 <Tm1812_Ch_Insert_Data>:


void Tm1812_Ch_Insert_Data(U8_T select,U8_T data) {
    if(select>=CH_Num_Max) {  //防止出错输入通道
    82a0:	3817      	cmphsi      	r0, 24
    82a2:	080c      	bt      	0x82ba	// 82ba <Tm1812_Ch_Insert_Data+0x1a>
        return;
    } 

    tm1812_param.data[select] = data;
    82a4:	1066      	lrw      	r3, 0x20000140	// 82bc <Tm1812_Ch_Insert_Data+0x1c>
    82a6:	600c      	addu      	r0, r3
    tm1812_param.change_flag = 0x01;
    82a8:	3260      	movi      	r2, 96
    82aa:	608c      	addu      	r2, r3
    tm1812_param.data[select] = data;
    82ac:	a020      	st.b      	r1, (r0, 0x0)
    tm1812_param.change_flag = 0x01;
    82ae:	3101      	movi      	r1, 1
    82b0:	a238      	st.b      	r1, (r2, 0x18)
	tm1812_param.write_data_tick = SysTick_1ms;
    82b2:	237f      	addi      	r3, 128
    82b4:	1043      	lrw      	r2, 0x200000c0	// 82c0 <Tm1812_Ch_Insert_Data+0x20>
    82b6:	9240      	ld.w      	r2, (r2, 0x0)
    82b8:	b340      	st.w      	r2, (r3, 0x0)
}
    82ba:	783c      	jmp      	r15
    82bc:	20000140 	.long	0x20000140
    82c0:	200000c0 	.long	0x200000c0

Disassembly of section .text.TM1812_Control_CH_State:

000082c4 <TM1812_Control_CH_State>:

U8_T TM1812_Control_CH_State(U8_T ch,U8_T state)
{
    82c4:	14d0      	push      	r15
	if(ch>=CH_Num_Max) {  //防止出错输入通道
    82c6:	3817      	cmphsi      	r0, 24
    82c8:	082a      	bt      	0x831c	// 831c <TM1812_Control_CH_State+0x58>
        return 0x01;
    } 
	
	switch(state){
    82ca:	3942      	cmpnei      	r1, 2
    82cc:	0c12      	bf      	0x82f0	// 82f0 <TM1812_Control_CH_State+0x2c>
    82ce:	3943      	cmpnei      	r1, 3
    82d0:	0c14      	bf      	0x82f8	// 82f8 <TM1812_Control_CH_State+0x34>
    82d2:	3941      	cmpnei      	r1, 1
    82d4:	0806      	bt      	0x82e0	// 82e0 <TM1812_Control_CH_State+0x1c>
		case 0x01:
			tm1812_param.data[ch] = TM1812_CH_ON;
    82d6:	1073      	lrw      	r3, 0x20000140	// 8320 <TM1812_Control_CH_State+0x5c>
    82d8:	600c      	addu      	r0, r3
    82da:	3300      	movi      	r3, 0
    82dc:	2b00      	subi      	r3, 1
			break;
		case 0x02:
			tm1812_param.data[ch] = TM1812_CH_OFF;
    82de:	a060      	st.b      	r3, (r0, 0x0)
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
			}
			break;
	}
	
    tm1812_param.change_flag = 0x01;
    82e0:	1071      	lrw      	r3, 0x200001a0	// 8324 <TM1812_Control_CH_State+0x60>
    82e2:	3201      	movi      	r2, 1
    82e4:	a358      	st.b      	r2, (r3, 0x18)
	tm1812_param.write_data_tick = SysTick_1ms;
	
	return 0;
    82e6:	3000      	movi      	r0, 0
	tm1812_param.write_data_tick = SysTick_1ms;
    82e8:	1050      	lrw      	r2, 0x200000c0	// 8328 <TM1812_Control_CH_State+0x64>
    82ea:	9240      	ld.w      	r2, (r2, 0x0)
    82ec:	b348      	st.w      	r2, (r3, 0x20)
}
    82ee:	1490      	pop      	r15
			tm1812_param.data[ch] = TM1812_CH_OFF;
    82f0:	106c      	lrw      	r3, 0x20000140	// 8320 <TM1812_Control_CH_State+0x5c>
    82f2:	600c      	addu      	r0, r3
    82f4:	3300      	movi      	r3, 0
    82f6:	07f4      	br      	0x82de	// 82de <TM1812_Control_CH_State+0x1a>
			if(tm1812_param.data[ch] != TM1812_CH_ON){
    82f8:	106a      	lrw      	r3, 0x20000140	// 8320 <TM1812_Control_CH_State+0x5c>
    82fa:	600c      	addu      	r0, r3
    82fc:	8020      	ld.b      	r1, (r0, 0x0)
    82fe:	32ff      	movi      	r2, 255
    8300:	3300      	movi      	r3, 0
    8302:	6486      	cmpne      	r1, r2
    8304:	2b00      	subi      	r3, 1
    8306:	0c07      	bf      	0x8314	// 8314 <TM1812_Control_CH_State+0x50>
				tm1812_param.data[ch] = TM1812_CH_ON;
    8308:	a060      	st.b      	r3, (r0, 0x0)
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_ON !");
    830a:	1029      	lrw      	r1, 0xcfcd	// 832c <TM1812_Control_CH_State+0x68>
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
    830c:	3000      	movi      	r0, 0
    830e:	e3fff1b7 	bsr      	0x667c	// 667c <Dbg_Println>
    8312:	07e7      	br      	0x82e0	// 82e0 <TM1812_Control_CH_State+0x1c>
				tm1812_param.data[ch] = TM1812_CH_OFF;
    8314:	3300      	movi      	r3, 0
    8316:	a060      	st.b      	r3, (r0, 0x0)
				Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
    8318:	1026      	lrw      	r1, 0xcfd5	// 8330 <TM1812_Control_CH_State+0x6c>
    831a:	07f9      	br      	0x830c	// 830c <TM1812_Control_CH_State+0x48>
        return 0x01;
    831c:	3001      	movi      	r0, 1
    831e:	07e8      	br      	0x82ee	// 82ee <TM1812_Control_CH_State+0x2a>
    8320:	20000140 	.long	0x20000140
    8324:	200001a0 	.long	0x200001a0
    8328:	200000c0 	.long	0x200000c0
    832c:	0000cfcd 	.long	0x0000cfcd
    8330:	0000cfd5 	.long	0x0000cfd5

Disassembly of section .text.TM1812_Control_CH_CurrState:

00008334 <TM1812_Control_CH_CurrState>:

/*不帶渐变效果控製*/
U8_T TM1812_Control_CH_CurrState(U8_T ch,U8_T state)
{
    8334:	14c1      	push      	r4
	if(ch>=CH_Num_Max) {  //防止出错输入通道
    8336:	3817      	cmphsi      	r0, 24
    8338:	0827      	bt      	0x8386	// 8386 <TM1812_Control_CH_CurrState+0x52>
        return 0x01;
    } 
	
	switch(state){
    833a:	3942      	cmpnei      	r1, 2
    833c:	0c13      	bf      	0x8362	// 8362 <TM1812_Control_CH_CurrState+0x2e>
    833e:	3943      	cmpnei      	r1, 3
    8340:	0c15      	bf      	0x836a	// 836a <TM1812_Control_CH_CurrState+0x36>
    8342:	3941      	cmpnei      	r1, 1
    8344:	0807      	bt      	0x8352	// 8352 <TM1812_Control_CH_CurrState+0x1e>
		case 0x01:
			tm1812_param.curr_data[ch] = TM1812_CH_ON;
    8346:	1072      	lrw      	r3, 0x20000140	// 838c <TM1812_Control_CH_CurrState+0x58>
    8348:	600c      	addu      	r0, r3
    834a:	3300      	movi      	r3, 0
    834c:	2b00      	subi      	r3, 1
			tm1812_param.data[ch] = TM1812_CH_ON;
			break;
		case 0x02:
			tm1812_param.curr_data[ch] = TM1812_CH_OFF;
    834e:	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;
    8350:	a060      	st.b      	r3, (r0, 0x0)
				//Dbg_Println(DBG_BIT_SYS_STATUS,"CH_OFF !");
			}
			break;
	}
	
    tm1812_param.change_flag = 0x01;
    8352:	1070      	lrw      	r3, 0x200001a0	// 8390 <TM1812_Control_CH_CurrState+0x5c>
    8354:	3201      	movi      	r2, 1
    8356:	a358      	st.b      	r2, (r3, 0x18)
	tm1812_param.write_data_tick = SysTick_1ms;
    8358:	3000      	movi      	r0, 0
    835a:	104f      	lrw      	r2, 0x200000c0	// 8394 <TM1812_Control_CH_CurrState+0x60>
    835c:	9240      	ld.w      	r2, (r2, 0x0)
    835e:	b348      	st.w      	r2, (r3, 0x20)
	
	return 0;
}
    8360:	1481      	pop      	r4
			tm1812_param.curr_data[ch] = TM1812_CH_OFF;
    8362:	106b      	lrw      	r3, 0x20000140	// 838c <TM1812_Control_CH_CurrState+0x58>
    8364:	600c      	addu      	r0, r3
    8366:	3300      	movi      	r3, 0
    8368:	07f3      	br      	0x834e	// 834e <TM1812_Control_CH_CurrState+0x1a>
			if(tm1812_param.curr_data[ch] != TM1812_CH_ON){
    836a:	1069      	lrw      	r3, 0x20000140	// 838c <TM1812_Control_CH_CurrState+0x58>
    836c:	600c      	addu      	r0, r3
    836e:	3218      	movi      	r2, 24
    8370:	6080      	addu      	r2, r0
    8372:	8280      	ld.b      	r4, (r2, 0x0)
    8374:	31ff      	movi      	r1, 255
    8376:	3300      	movi      	r3, 0
    8378:	6452      	cmpne      	r4, r1
    837a:	2b00      	subi      	r3, 1
    837c:	0c03      	bf      	0x8382	// 8382 <TM1812_Control_CH_CurrState+0x4e>
				tm1812_param.curr_data[ch] = TM1812_CH_OFF;
    837e:	a260      	st.b      	r3, (r2, 0x0)
    8380:	07e8      	br      	0x8350	// 8350 <TM1812_Control_CH_CurrState+0x1c>
    8382:	3300      	movi      	r3, 0
    8384:	07fd      	br      	0x837e	// 837e <TM1812_Control_CH_CurrState+0x4a>
        return 0x01;
    8386:	3001      	movi      	r0, 1
    8388:	07ec      	br      	0x8360	// 8360 <TM1812_Control_CH_CurrState+0x2c>
    838a:	0000      	bkpt
    838c:	20000140 	.long	0x20000140
    8390:	200001a0 	.long	0x200001a0
    8394:	200000c0 	.long	0x200000c0

Disassembly of section .text.TM1812_LED_Init:

00008398 <TM1812_LED_Init>:
void TM1812_LED_Init(void){
    8398:	14d0      	push      	r15
    839a:	1426      	subi      	r14, r14, 24
	SIO_DeInit();
    839c:	e3ffe39a 	bsr      	0x4ad0	// 4ad0 <SIO_DeInit>
	SIO_IO_Init(SIO_PA03);			//配置IO为SIO模式
    83a0:	3001      	movi      	r0, 1
    83a2:	e3ffe3a7 	bsr      	0x4af0	// 4af0 <SIO_IO_Init>
	SIO_TX_Init(SIOCLK_EN,9);		//
    83a6:	3109      	movi      	r1, 9
    83a8:	3001      	movi      	r0, 1
    83aa:	e3ffe3d3 	bsr      	0x4b50	// 4b50 <SIO_TX_Init>
	SIO_TX_Configure(SIO_IDLE_LOW,SIO_TX_LSB,7,23,0,0,SIO_OBH_6BIT,SIO_OBL_6BIT,0x0F,0x03);
    83ae:	3303      	movi      	r3, 3
    83b0:	b865      	st.w      	r3, (r14, 0x14)
    83b2:	330f      	movi      	r3, 15
    83b4:	b864      	st.w      	r3, (r14, 0x10)
    83b6:	33a0      	movi      	r3, 160
    83b8:	4366      	lsli      	r3, r3, 6
    83ba:	b863      	st.w      	r3, (r14, 0xc)
    83bc:	33a0      	movi      	r3, 160
    83be:	4363      	lsli      	r3, r3, 3
    83c0:	b862      	st.w      	r3, (r14, 0x8)
    83c2:	3300      	movi      	r3, 0
    83c4:	b861      	st.w      	r3, (r14, 0x4)
    83c6:	b860      	st.w      	r3, (r14, 0x0)
    83c8:	3207      	movi      	r2, 7
    83ca:	3317      	movi      	r3, 23
    83cc:	3100      	movi      	r1, 0
    83ce:	3002      	movi      	r0, 2
    83d0:	e3ffe3c8 	bsr      	0x4b60	// 4b60 <SIO_TX_Configure>
	memset(&tm1812_param,0,sizeof(TM1812_Param));
    83d4:	32e8      	movi      	r2, 232
    83d6:	3100      	movi      	r1, 0
    83d8:	1005      	lrw      	r0, 0x20000140	// 83ec <TM1812_LED_Init+0x54>
    83da:	e3ffdee1 	bsr      	0x419c	// 419c <__memset_fast>
	RLY_CTRL_EN;		//继电器使能
    83de:	3101      	movi      	r1, 1
    83e0:	3017      	movi      	r0, 23
    83e2:	e3ffffa9 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
}
    83e6:	1406      	addi      	r14, r14, 24
    83e8:	1490      	pop      	r15
    83ea:	0000      	bkpt
    83ec:	20000140 	.long	0x20000140

Disassembly of section .text.HT1621_WR_Data:

000083f0 <HT1621_WR_Data>:
*函数功能：HT1621写数据
*参数说明：data -> 需要发送的数据
*         cnt -> 发送的数据位数
*/
void HT1621_WR_Data(U8_T data,U8_T cnt)
{
    83f0:	14d4      	push      	r4-r7, r15
    83f2:	6d43      	mov      	r5, r0
    83f4:	6dc7      	mov      	r7, r1
    U8_T i=0;
    for(i=0;i<cnt;i++)
    83f6:	3400      	movi      	r4, 0
    {
        HT1621_WR_LOW;
    83f8:	10cf      	lrw      	r6, 0x2000004c	// 8434 <HT1621_WR_Data+0x44>
    for(i=0;i<cnt;i++)
    83fa:	65d2      	cmpne      	r4, r7
    83fc:	0802      	bt      	0x8400	// 8400 <HT1621_WR_Data+0x10>
        nop;
        HT1621_WR_HIGH;
        
        data<<=1;
    }
}
    83fe:	1494      	pop      	r4-r7, r15
        HT1621_WR_LOW;
    8400:	3101      	movi      	r1, 1
    8402:	9600      	ld.w      	r0, (r6, 0x0)
    8404:	e3ffe2ee 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
        nop;
    8408:	6c03      	mov      	r0, r0
        if((data&0x80) != 0x00)   {
    840a:	74d6      	sextb      	r3, r5
    840c:	3bdf      	btsti      	r3, 31
			HT1621_DATA_HIGH;
    840e:	3104      	movi      	r1, 4
    8410:	9600      	ld.w      	r0, (r6, 0x0)
        if((data&0x80) != 0x00)   {
    8412:	0c0d      	bf      	0x842c	// 842c <HT1621_WR_Data+0x3c>
			HT1621_DATA_HIGH;
    8414:	e3ffe2e2 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
        nop;
    8418:	6c03      	mov      	r0, r0
        HT1621_WR_HIGH;
    841a:	3101      	movi      	r1, 1
    841c:	9600      	ld.w      	r0, (r6, 0x0)
        data<<=1;
    841e:	45a1      	lsli      	r5, r5, 1
    for(i=0;i<cnt;i++)
    8420:	2400      	addi      	r4, 1
        HT1621_WR_HIGH;
    8422:	e3ffe2db 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
        data<<=1;
    8426:	7554      	zextb      	r5, r5
    for(i=0;i<cnt;i++)
    8428:	7510      	zextb      	r4, r4
    842a:	07e8      	br      	0x83fa	// 83fa <HT1621_WR_Data+0xa>
			HT1621_DATA_LOW;
    842c:	e3ffe2da 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
    8430:	07f4      	br      	0x8418	// 8418 <HT1621_WR_Data+0x28>
    8432:	0000      	bkpt
    8434:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT1621_WR_CMD:

00008438 <HT1621_WR_CMD>:
/*
*函数功能：HT1621命令写入函数
*参数说明：cmd -> 写入命令数据
*/
void HT1621_WR_CMD(U8_T cmd)
{
    8438:	14d2      	push      	r4-r5, r15
    HT1621_CS_LOW;
    843a:	108b      	lrw      	r4, 0x2000004c	// 8464 <HT1621_WR_CMD+0x2c>
{
    843c:	6d43      	mov      	r5, r0
    HT1621_CS_LOW;
    843e:	310f      	movi      	r1, 15
    8440:	9400      	ld.w      	r0, (r4, 0x0)
    8442:	e3ffe2cf 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
    nop;
    8446:	6c03      	mov      	r0, r0
    HT1621_WR_Data(HT1621_CMD_Flag,4);
    8448:	3104      	movi      	r1, 4
    844a:	3080      	movi      	r0, 128
    844c:	e3ffffd2 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    HT1621_WR_Data(cmd,8); 
    8450:	6c17      	mov      	r0, r5
    8452:	3108      	movi      	r1, 8
    8454:	e3ffffce 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    HT1621_CS_HIGH;
    8458:	9400      	ld.w      	r0, (r4, 0x0)
    845a:	310f      	movi      	r1, 15
    845c:	e3ffe2be 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
    nop;
    8460:	6c03      	mov      	r0, r0
}
    8462:	1492      	pop      	r4-r5, r15
    8464:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT1621_Init:

00008468 <HT1621_Init>:
void HT1621_Init(void){
    8468:	14d1      	push      	r4, r15
	GPIO_Init(GPIOA0,0,Output);	
    846a:	118b      	lrw      	r4, 0x2000004c	// 8514 <HT1621_Init+0xac>
	memset(&HT1621,0,sizeof(HT1621_t));
    846c:	3240      	movi      	r2, 64
    846e:	3100      	movi      	r1, 0
    8470:	110a      	lrw      	r0, 0x20000590	// 8518 <HT1621_Init+0xb0>
    8472:	e3ffde95 	bsr      	0x419c	// 419c <__memset_fast>
	GPIO_Init(GPIOA0,0,Output);	
    8476:	9400      	ld.w      	r0, (r4, 0x0)
    8478:	3200      	movi      	r2, 0
    847a:	3100      	movi      	r1, 0
    847c:	e3ffe0f2 	bsr      	0x4660	// 4660 <GPIO_Init>
	GPIO_Init(GPIOA0,1,Output);	
    8480:	9400      	ld.w      	r0, (r4, 0x0)
    8482:	3200      	movi      	r2, 0
    8484:	3101      	movi      	r1, 1
    8486:	e3ffe0ed 	bsr      	0x4660	// 4660 <GPIO_Init>
	GPIO_Init(GPIOA0,15,Output);	
    848a:	9400      	ld.w      	r0, (r4, 0x0)
    848c:	3200      	movi      	r2, 0
    848e:	310f      	movi      	r1, 15
    8490:	e3ffe0e8 	bsr      	0x4660	// 4660 <GPIO_Init>
	GPIO_Init(GPIOA0,4,Output);	
    8494:	3200      	movi      	r2, 0
    8496:	9400      	ld.w      	r0, (r4, 0x0)
    8498:	3104      	movi      	r1, 4
    849a:	e3ffe0e3 	bsr      	0x4660	// 4660 <GPIO_Init>
	GPIO_DriveStrength_EN(GPIOA0,0);
    849e:	9400      	ld.w      	r0, (r4, 0x0)
    84a0:	3100      	movi      	r1, 0
    84a2:	e3ffe159 	bsr      	0x4754	// 4754 <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,1);
    84a6:	9400      	ld.w      	r0, (r4, 0x0)
    84a8:	3101      	movi      	r1, 1
    84aa:	e3ffe155 	bsr      	0x4754	// 4754 <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,15);
    84ae:	9400      	ld.w      	r0, (r4, 0x0)
    84b0:	310f      	movi      	r1, 15
    84b2:	e3ffe151 	bsr      	0x4754	// 4754 <GPIO_DriveStrength_EN>
	GPIO_DriveStrength_EN(GPIOA0,4);
    84b6:	9400      	ld.w      	r0, (r4, 0x0)
    84b8:	3104      	movi      	r1, 4
    84ba:	e3ffe14d 	bsr      	0x4754	// 4754 <GPIO_DriveStrength_EN>
	HT1621_CS_LOW;
    84be:	9400      	ld.w      	r0, (r4, 0x0)
    84c0:	310f      	movi      	r1, 15
    84c2:	e3ffe28f 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
	HT1621_WR_LOW;
    84c6:	9400      	ld.w      	r0, (r4, 0x0)
    84c8:	3101      	movi      	r1, 1
    84ca:	e3ffe28b 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
	HT1621_RD_LOW;
    84ce:	9400      	ld.w      	r0, (r4, 0x0)
    84d0:	3100      	movi      	r1, 0
    84d2:	e3ffe287 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
	HT1621_DATA_LOW;
    84d6:	3104      	movi      	r1, 4
    84d8:	9400      	ld.w      	r0, (r4, 0x0)
    84da:	e3ffe283 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
	HT1621_WR_CMD(HT1621_BIAS);
    84de:	3052      	movi      	r0, 82
    84e0:	e3ffffac 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_RC256);
    84e4:	3030      	movi      	r0, 48
    84e6:	e3ffffa9 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_SYSDIS);
    84ea:	3000      	movi      	r0, 0
    84ec:	e3ffffa6 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_WDTDIS);
    84f0:	300a      	movi      	r0, 10
    84f2:	e3ffffa3 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_SYSEN);
    84f6:	3002      	movi      	r0, 2
    84f8:	e3ffffa0 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
    HT1621_WR_CMD(HT1621_LCDON);
    84fc:	3006      	movi      	r0, 6
    84fe:	e3ffff9d 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
	HT1621_WR_CMD(HT1621_BIOFF);
    8502:	3010      	movi      	r0, 16
    8504:	e3ffff9a 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
	HT1621_CS_HIGH;
    8508:	9400      	ld.w      	r0, (r4, 0x0)
    850a:	310f      	movi      	r1, 15
    850c:	e3ffe266 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
}
    8510:	1491      	pop      	r4, r15
    8512:	0000      	bkpt
    8514:	2000004c 	.long	0x2000004c
    8518:	20000590 	.long	0x20000590

Disassembly of section .text.HT1621_Clear:

0000851c <HT1621_Clear>:
}
/*
*函数功能：HT1621 清屏函数
*/
void HT1621_Clear(void)
{
    851c:	14d2      	push      	r4-r5, r15
    memset((U8_T *)HT1621.show_cache, 0, HT1621_BUFFLEN);
    851e:	3214      	movi      	r2, 20
    8520:	3100      	movi      	r1, 0
    
    HT1621_CS_LOW;
    8522:	10b1      	lrw      	r5, 0x2000004c	// 8564 <HT1621_Clear+0x48>
    memset((U8_T *)HT1621.show_cache, 0, HT1621_BUFFLEN);
    8524:	1011      	lrw      	r0, 0x2000059c	// 8568 <HT1621_Clear+0x4c>
    8526:	e3ffde3b 	bsr      	0x419c	// 419c <__memset_fast>
    HT1621_CS_LOW;
    852a:	310f      	movi      	r1, 15
    852c:	9500      	ld.w      	r0, (r5, 0x0)
    852e:	e3ffe259 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
    nop;
    8532:	6c03      	mov      	r0, r0
    HT1621_WR_Data(HT1621_WRITE_Flag,3);
    8534:	3103      	movi      	r1, 3
    8536:	30a0      	movi      	r0, 160
    8538:	e3ffff5c 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    HT1621_WR_Data(0,6);
    853c:	3106      	movi      	r1, 6
    853e:	3000      	movi      	r0, 0
    8540:	e3ffff58 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    8544:	3414      	movi      	r4, 20
    8546:	2c00      	subi      	r4, 1
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    {
        HT1621_WR_Data(0x00,4);
    8548:	3104      	movi      	r1, 4
    854a:	3000      	movi      	r0, 0
    854c:	7510      	zextb      	r4, r4
    854e:	e3ffff51 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    8552:	3c40      	cmpnei      	r4, 0
    8554:	0bf9      	bt      	0x8546	// 8546 <HT1621_Clear+0x2a>
    }
    
    HT1621_CS_HIGH;
    8556:	9500      	ld.w      	r0, (r5, 0x0)
    8558:	310f      	movi      	r1, 15
    855a:	e3ffe23f 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
    nop;
    855e:	6c03      	mov      	r0, r0
}
    8560:	1492      	pop      	r4-r5, r15
    8562:	0000      	bkpt
    8564:	2000004c 	.long	0x2000004c
    8568:	2000059c 	.long	0x2000059c

Disassembly of section .text.HT1621_ALLON:

0000856c <HT1621_ALLON>:

/*
*函数功能：HT1621 全显函数
*/
void HT1621_ALLON(void)
{
    856c:	14d2      	push      	r4-r5, r15
    HT1621_CS_LOW;
    856e:	10af      	lrw      	r5, 0x2000004c	// 85a8 <HT1621_ALLON+0x3c>
    8570:	310f      	movi      	r1, 15
    8572:	9500      	ld.w      	r0, (r5, 0x0)
    8574:	e3ffe236 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
    nop;
    8578:	6c03      	mov      	r0, r0
    HT1621_WR_Data(HT1621_WRITE_Flag,3);
    857a:	3103      	movi      	r1, 3
    857c:	30a0      	movi      	r0, 160
    857e:	e3ffff39 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    HT1621_WR_Data(0,6);
    8582:	3106      	movi      	r1, 6
    8584:	3000      	movi      	r0, 0
    8586:	e3ffff35 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    858a:	3414      	movi      	r4, 20
    858c:	2c00      	subi      	r4, 1
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    {
        HT1621_WR_Data(0xf0,4);
    858e:	3104      	movi      	r1, 4
    8590:	30f0      	movi      	r0, 240
    8592:	7510      	zextb      	r4, r4
    8594:	e3ffff2e 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    8598:	3c40      	cmpnei      	r4, 0
    859a:	0bf9      	bt      	0x858c	// 858c <HT1621_ALLON+0x20>
    }
    
    HT1621_CS_HIGH;
    859c:	9500      	ld.w      	r0, (r5, 0x0)
    859e:	310f      	movi      	r1, 15
    85a0:	e3ffe21c 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
    nop;
    85a4:	6c03      	mov      	r0, r0
}
    85a6:	1492      	pop      	r4-r5, r15
    85a8:	2000004c 	.long	0x2000004c

Disassembly of section .text.HT1621_Refresh_Data:

000085ac <HT1621_Refresh_Data>:

/*
*函数功能：HT1621 刷屏函数
*/
void HT1621_Refresh_Data(void){
    85ac:	14d2      	push      	r4-r5, r15
	HT1621_CS_LOW;
    85ae:	1091      	lrw      	r4, 0x2000004c	// 85f0 <HT1621_Refresh_Data+0x44>
    85b0:	310f      	movi      	r1, 15
    85b2:	9400      	ld.w      	r0, (r4, 0x0)
    85b4:	e3ffe216 	bsr      	0x49e0	// 49e0 <GPIO_Write_Low>
	nop;
    85b8:	6c03      	mov      	r0, r0
	HT1621_WR_Data(HT1621_WRITE_Flag,3);
    85ba:	3103      	movi      	r1, 3
    85bc:	30a0      	movi      	r0, 160
    85be:	e3ffff19 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
	HT1621_WR_Data(0,6);
    85c2:	3106      	movi      	r1, 6
    85c4:	3000      	movi      	r0, 0
    85c6:	e3ffff15 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
    85ca:	3500      	movi      	r5, 0
	for(U8_T i=0;i<HT1621_BUFFLEN;i++)
	{
		HT1621_WR_Data(HT1621.show_cache[i]<<4,4);
    85cc:	106a      	lrw      	r3, 0x20000590	// 85f4 <HT1621_Refresh_Data+0x48>
    85ce:	60d4      	addu      	r3, r5
    85d0:	830c      	ld.b      	r0, (r3, 0xc)
    85d2:	4004      	lsli      	r0, r0, 4
    85d4:	7400      	zextb      	r0, r0
    85d6:	3104      	movi      	r1, 4
    85d8:	2500      	addi      	r5, 1
    85da:	e3ffff0b 	bsr      	0x83f0	// 83f0 <HT1621_WR_Data>
	for(U8_T i=0;i<HT1621_BUFFLEN;i++)
    85de:	3d54      	cmpnei      	r5, 20
    85e0:	0bf6      	bt      	0x85cc	// 85cc <HT1621_Refresh_Data+0x20>
	}
	
	HT1621_CS_HIGH;
    85e2:	9400      	ld.w      	r0, (r4, 0x0)
    85e4:	310f      	movi      	r1, 15
    85e6:	e3ffe1f9 	bsr      	0x49d8	// 49d8 <GPIO_Write_High>
	nop;
    85ea:	6c03      	mov      	r0, r0
}
    85ec:	1492      	pop      	r4-r5, r15
    85ee:	0000      	bkpt
    85f0:	2000004c 	.long	0x2000004c
    85f4:	20000590 	.long	0x20000590

Disassembly of section .text.Set_Temperature_Display:

000085f8 <Set_Temperature_Display>:
*函数功能：设置温度℃显示
*参数说明：因为需要显示小数点后一位，所以参数需要扩大10
*说   明：可显示小数点，
*/
void Set_Temperature_Display(U16_T tmp)
{
    85f8:	14d4      	push      	r4-r7, r15
    85fa:	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){//摄氏度
    85fc:	1170      	lrw      	r3, 0x20000835	// 86bc <Set_Temperature_Display+0xc4>
    85fe:	8368      	ld.b      	r3, (r3, 0x8)
    8600:	3b40      	cmpnei      	r3, 0
{
    8602:	6d03      	mov      	r4, r0
	if(Debug_Inf.TempDisplay == 0x00){//摄氏度
    8604:	b861      	st.w      	r3, (r14, 0x4)
    8606:	0845      	bt      	0x8690	// 8690 <Set_Temperature_Display+0x98>
		tmp_Integer = tmp/10;
    8608:	310a      	movi      	r1, 10
    860a:	e3ffed97 	bsr      	0x6138	// 6138 <__udivsi3>
    860e:	7580      	zextb      	r6, r0
		tmp_quantile = tmp%10;
    8610:	310a      	movi      	r1, 10
    8612:	6c13      	mov      	r0, r4
    8614:	e3ffedb6 	bsr      	0x6180	// 6180 <__umodsi3>
    tmp_L = tmp_Integer%10;
    //清楚原数字

    HT1621.show_cache[12] &= 0x01;
    HT1621.show_cache[11] = 0x00;
    HT1621.show_cache[10] &= 0x01;
    8618:	118a      	lrw      	r4, 0x20000590	// 86c0 <Set_Temperature_Display+0xc8>
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    861a:	74c0      	zextb      	r3, r0
    HT1621.show_cache[10] &= 0x01;
    861c:	3501      	movi      	r5, 1
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    861e:	b860      	st.w      	r3, (r14, 0x0)
    HT1621.show_cache[10] &= 0x01;
    8620:	8476      	ld.b      	r3, (r4, 0x16)
    8622:	68d4      	and      	r3, r5
    8624:	b862      	st.w      	r3, (r14, 0x8)
    HT1621.show_cache[9] = 0x00;      
    HT1621.show_cache[8] &= 0x01;
    8626:	8474      	ld.b      	r3, (r4, 0x14)
    8628:	68d4      	and      	r3, r5
    tmp_H = tmp_Integer/10;
    862a:	310a      	movi      	r1, 10
    862c:	6c1b      	mov      	r0, r6
    HT1621.show_cache[8] &= 0x01;
    862e:	b863      	st.w      	r3, (r14, 0xc)
    tmp_H = tmp_Integer/10;
    8630:	e3ffed84 	bsr      	0x6138	// 6138 <__udivsi3>
	HT1621.show_cache[7] = 0x00;    
    
    HT1621.show_cache[12] |= Diaital[tmp_H]&0x0F;
    8634:	11e4      	lrw      	r7, 0xcc46	// 86c4 <Set_Temperature_Display+0xcc>
    8636:	7400      	zextb      	r0, r0
    8638:	601c      	addu      	r0, r7
    863a:	8020      	ld.b      	r1, (r0, 0x0)
    HT1621.show_cache[12] &= 0x01;
    863c:	8458      	ld.b      	r2, (r4, 0x18)
    863e:	6894      	and      	r2, r5
    HT1621.show_cache[12] |= Diaital[tmp_H]&0x0F;
    8640:	6c07      	mov      	r0, r1
    8642:	350f      	movi      	r5, 15
    8644:	6814      	and      	r0, r5
    8646:	6c80      	or      	r2, r0
    HT1621.show_cache[11] |= Diaital[tmp_H] >> 4;
    8648:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[12] |= Diaital[tmp_H]&0x0F;
    864a:	a458      	st.b      	r2, (r4, 0x18)
    HT1621.show_cache[11] |= Diaital[tmp_H] >> 4;
    864c:	a437      	st.b      	r1, (r4, 0x17)
    tmp_L = tmp_Integer%10;
    864e:	6c1b      	mov      	r0, r6
    8650:	310a      	movi      	r1, 10
    8652:	e3ffed97 	bsr      	0x6180	// 6180 <__umodsi3>
    HT1621.show_cache[10] |= Diaital[tmp_L]&0x0F;
    8656:	7400      	zextb      	r0, r0
    8658:	601c      	addu      	r0, r7
    865a:	8040      	ld.b      	r2, (r0, 0x0)
    865c:	6c4b      	mov      	r1, r2
    865e:	6854      	and      	r1, r5
    8660:	9862      	ld.w      	r3, (r14, 0x8)
    8662:	6c4c      	or      	r1, r3
    HT1621.show_cache[9] |= Diaital[tmp_L] >> 4;
    HT1621.show_cache[8] |= Diaital[tmp_quantile]&0x0F;      
    8664:	9860      	ld.w      	r3, (r14, 0x0)
    8666:	61cc      	addu      	r7, r3
    8668:	8760      	ld.b      	r3, (r7, 0x0)
    866a:	694c      	and      	r5, r3
    HT1621.show_cache[7] |= Diaital[tmp_quantile] >> 4; 
    866c:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[9] |= Diaital[tmp_L] >> 4;
    866e:	4a44      	lsri      	r2, r2, 4
    HT1621.show_cache[7] |= Diaital[tmp_quantile] >> 4; 
    8670:	a473      	st.b      	r3, (r4, 0x13)
    
	
	if(Debug_Inf.TempDisplay == 0x00){
    8672:	9861      	ld.w      	r3, (r14, 0x4)
    HT1621.show_cache[9] |= Diaital[tmp_L] >> 4;
    8674:	a455      	st.b      	r2, (r4, 0x15)
	if(Debug_Inf.TempDisplay == 0x00){
    8676:	3b40      	cmpnei      	r3, 0
    HT1621.show_cache[8] |= Diaital[tmp_quantile]&0x0F;      
    8678:	9843      	ld.w      	r2, (r14, 0xc)
    HT1621.show_cache[10] |= Diaital[tmp_L]&0x0F;
    867a:	a436      	st.b      	r1, (r4, 0x16)
    HT1621.show_cache[8] |= Diaital[tmp_quantile]&0x0F;      
    867c:	6d48      	or      	r5, r2
    867e:	8472      	ld.b      	r3, (r4, 0x12)
	if(Debug_Inf.TempDisplay == 0x00){
    8680:	081a      	bt      	0x86b4	// 86b4 <Set_Temperature_Display+0xbc>
		HT1621.show_cache[6] |= 0x0A;//显示“℃”
    8682:	3ba1      	bseti      	r3, 1
    8684:	3ba3      	bseti      	r3, 3
	}else {
		HT1621.show_cache[6] |= 0x0C;//显示“℉”
	}
     
	//显示小数点
    HT1621.show_cache[8] |= 0x01;       
    8686:	3da0      	bseti      	r5, 0
		HT1621.show_cache[6] |= 0x0C;//显示“℉”
    8688:	a472      	st.b      	r3, (r4, 0x12)
    HT1621.show_cache[8] |= 0x01;       
    868a:	a4b4      	st.b      	r5, (r4, 0x14)
}
    868c:	1404      	addi      	r14, r14, 16
    868e:	1494      	pop      	r4-r7, r15
		tmp_Integer = ((tmp*18)/10 + 320)/10;
    8690:	3012      	movi      	r0, 18
    8692:	7c10      	mult      	r0, r4
    8694:	310a      	movi      	r1, 10
    8696:	34a0      	movi      	r4, 160
    8698:	e3ffed3e 	bsr      	0x6114	// 6114 <__divsi3>
    869c:	4481      	lsli      	r4, r4, 1
    869e:	6100      	addu      	r4, r0
    86a0:	310a      	movi      	r1, 10
    86a2:	6c13      	mov      	r0, r4
    86a4:	e3ffed38 	bsr      	0x6114	// 6114 <__divsi3>
    86a8:	7580      	zextb      	r6, r0
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    86aa:	310a      	movi      	r1, 10
    86ac:	6c13      	mov      	r0, r4
    86ae:	e3ffed57 	bsr      	0x615c	// 615c <__modsi3>
    86b2:	07b3      	br      	0x8618	// 8618 <Set_Temperature_Display+0x20>
		HT1621.show_cache[6] |= 0x0C;//显示“℉”
    86b4:	3ba2      	bseti      	r3, 2
    86b6:	3ba3      	bseti      	r3, 3
    86b8:	07e7      	br      	0x8686	// 8686 <Set_Temperature_Display+0x8e>
    86ba:	0000      	bkpt
    86bc:	20000835 	.long	0x20000835
    86c0:	20000590 	.long	0x20000590
    86c4:	0000cc46 	.long	0x0000cc46

Disassembly of section .text.Local_Temperature_Display:

000086c8 <Local_Temperature_Display>:
*函数功能：本地温度℃显示
*参数说明：因为需要显示小数点后一位，所以参数需要扩大10
*说   明：可显示小数点，
*/
void Local_Temperature_Display(U16_T tmp)
{
    86c8:	14d4      	push      	r4-r7, r15
    86ca:	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){//摄氏度
    86cc:	1170      	lrw      	r3, 0x20000835	// 878c <Local_Temperature_Display+0xc4>
    86ce:	8368      	ld.b      	r3, (r3, 0x8)
    86d0:	3b40      	cmpnei      	r3, 0
{
    86d2:	6d03      	mov      	r4, r0
	if(Debug_Inf.TempDisplay == 0x00){//摄氏度
    86d4:	b861      	st.w      	r3, (r14, 0x4)
    86d6:	0845      	bt      	0x8760	// 8760 <Local_Temperature_Display+0x98>
		tmp_Integer = tmp/10;
    86d8:	310a      	movi      	r1, 10
    86da:	e3ffed2f 	bsr      	0x6138	// 6138 <__udivsi3>
    86de:	7580      	zextb      	r6, r0
		tmp_quantile = tmp%10;
    86e0:	310a      	movi      	r1, 10
    86e2:	6c13      	mov      	r0, r4
    86e4:	e3ffed4e 	bsr      	0x6180	// 6180 <__umodsi3>
    tmp_L = tmp_Integer%10;
    //清除原数字

    HT1621.show_cache[19] &= 0x01;
    HT1621.show_cache[18] = 0x00;
    HT1621.show_cache[17] &= 0x01;
    86e8:	118a      	lrw      	r4, 0x20000590	// 8790 <Local_Temperature_Display+0xc8>
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    86ea:	74c0      	zextb      	r3, r0
    HT1621.show_cache[17] &= 0x01;
    86ec:	3501      	movi      	r5, 1
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    86ee:	b860      	st.w      	r3, (r14, 0x0)
    HT1621.show_cache[17] &= 0x01;
    86f0:	847d      	ld.b      	r3, (r4, 0x1d)
    86f2:	68d4      	and      	r3, r5
    86f4:	b862      	st.w      	r3, (r14, 0x8)
    HT1621.show_cache[16] = 0x00;      
    HT1621.show_cache[15] &= 0x01;
    86f6:	847b      	ld.b      	r3, (r4, 0x1b)
    86f8:	68d4      	and      	r3, r5
    tmp_H = tmp_Integer/10;
    86fa:	310a      	movi      	r1, 10
    86fc:	6c1b      	mov      	r0, r6
    HT1621.show_cache[15] &= 0x01;
    86fe:	b863      	st.w      	r3, (r14, 0xc)
    tmp_H = tmp_Integer/10;
    8700:	e3ffed1c 	bsr      	0x6138	// 6138 <__udivsi3>
	HT1621.show_cache[14] = 0x00;    
    
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8704:	11e4      	lrw      	r7, 0xcc46	// 8794 <Local_Temperature_Display+0xcc>
    8706:	7400      	zextb      	r0, r0
    8708:	601c      	addu      	r0, r7
    870a:	8020      	ld.b      	r1, (r0, 0x0)
    HT1621.show_cache[19] &= 0x01;
    870c:	845f      	ld.b      	r2, (r4, 0x1f)
    870e:	6894      	and      	r2, r5
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8710:	6c07      	mov      	r0, r1
    8712:	350f      	movi      	r5, 15
    8714:	6814      	and      	r0, r5
    8716:	6c80      	or      	r2, r0
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    8718:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    871a:	a45f      	st.b      	r2, (r4, 0x1f)
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    871c:	a43e      	st.b      	r1, (r4, 0x1e)
    tmp_L = tmp_Integer%10;
    871e:	6c1b      	mov      	r0, r6
    8720:	310a      	movi      	r1, 10
    8722:	e3ffed2f 	bsr      	0x6180	// 6180 <__umodsi3>
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    8726:	7400      	zextb      	r0, r0
    8728:	601c      	addu      	r0, r7
    872a:	8040      	ld.b      	r2, (r0, 0x0)
    872c:	6c4b      	mov      	r1, r2
    872e:	6854      	and      	r1, r5
    8730:	9862      	ld.w      	r3, (r14, 0x8)
    8732:	6c4c      	or      	r1, r3
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    8734:	9860      	ld.w      	r3, (r14, 0x0)
    8736:	61cc      	addu      	r7, r3
    8738:	8760      	ld.b      	r3, (r7, 0x0)
    873a:	694c      	and      	r5, r3
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    873c:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    873e:	4a44      	lsri      	r2, r2, 4
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    8740:	a47a      	st.b      	r3, (r4, 0x1a)
    

	if(Debug_Inf.TempDisplay == 0x00){
    8742:	9861      	ld.w      	r3, (r14, 0x4)
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    8744:	a45c      	st.b      	r2, (r4, 0x1c)
	if(Debug_Inf.TempDisplay == 0x00){
    8746:	3b40      	cmpnei      	r3, 0
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    8748:	9843      	ld.w      	r2, (r14, 0xc)
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    874a:	a43d      	st.b      	r1, (r4, 0x1d)
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    874c:	6d48      	or      	r5, r2
    874e:	8479      	ld.b      	r3, (r4, 0x19)
	if(Debug_Inf.TempDisplay == 0x00){
    8750:	081a      	bt      	0x8784	// 8784 <Local_Temperature_Display+0xbc>
		HT1621.show_cache[13] |= 0x0A;//显示“℃”
    8752:	3ba1      	bseti      	r3, 1
    8754:	3ba3      	bseti      	r3, 3
	}else {
		HT1621.show_cache[13] |= 0x0C;//显示“℉”
	}
     
	//显示小数点
    HT1621.show_cache[15] |= 0x01;       
    8756:	3da0      	bseti      	r5, 0
		HT1621.show_cache[13] |= 0x0C;//显示“℉”
    8758:	a479      	st.b      	r3, (r4, 0x19)
    HT1621.show_cache[15] |= 0x01;       
    875a:	a4bb      	st.b      	r5, (r4, 0x1b)
}
    875c:	1404      	addi      	r14, r14, 16
    875e:	1494      	pop      	r4-r7, r15
		tmp_Integer = ((tmp*18)/10 + 320)/10;
    8760:	3012      	movi      	r0, 18
    8762:	7c10      	mult      	r0, r4
    8764:	310a      	movi      	r1, 10
    8766:	34a0      	movi      	r4, 160
    8768:	e3ffecd6 	bsr      	0x6114	// 6114 <__divsi3>
    876c:	4481      	lsli      	r4, r4, 1
    876e:	6100      	addu      	r4, r0
    8770:	310a      	movi      	r1, 10
    8772:	6c13      	mov      	r0, r4
    8774:	e3ffecd0 	bsr      	0x6114	// 6114 <__divsi3>
    8778:	7580      	zextb      	r6, r0
		tmp_quantile = ((tmp*18)/10 + 320)%10;
    877a:	310a      	movi      	r1, 10
    877c:	6c13      	mov      	r0, r4
    877e:	e3ffecef 	bsr      	0x615c	// 615c <__modsi3>
    8782:	07b3      	br      	0x86e8	// 86e8 <Local_Temperature_Display+0x20>
		HT1621.show_cache[13] |= 0x0C;//显示“℉”
    8784:	3ba2      	bseti      	r3, 2
    8786:	3ba3      	bseti      	r3, 3
    8788:	07e7      	br      	0x8756	// 8756 <Local_Temperature_Display+0x8e>
    878a:	0000      	bkpt
    878c:	20000835 	.long	0x20000835
    8790:	20000590 	.long	0x20000590
    8794:	0000cc46 	.long	0x0000cc46

Disassembly of section .text.Control_Mode:

00008798 <Control_Mode>:
*参数功能：mode : 0 -> 制冷模式;
*               1 -> 制热模式;
*               2 -> 送风模式;
* 				4 -> 自动;
*/
void Control_Mode(U8_T mode){
    8798:	14d1      	push      	r4, r15
	switch(mode){
    879a:	3806      	cmphsi      	r0, 7
    879c:	0823      	bt      	0x87e2	// 87e2 <Control_Mode+0x4a>
    879e:	e3ffd6c7 	bsr      	0x352c	// 352c <___gnu_csky_case_uhi>
    87a2:	0007      	.short	0x0007
    87a4:	005a0020 	.long	0x005a0020
    87a8:	009a0020 	.long	0x009a0020
    87ac:	00da0020 	.long	0x00da0020
		case MODEL_COLD:
			if(Debug_Inf.Language_Selection == 0x00)
    87b0:	0376      	lrw      	r3, 0x20000835	// 89d4 <Control_Mode+0x23c>
    87b2:	8349      	ld.b      	r2, (r3, 0x9)
    87b4:	3a40      	cmpnei      	r2, 0
    87b6:	0376      	lrw      	r3, 0x20000590	// 89d8 <Control_Mode+0x240>
    87b8:	0816      	bt      	0x87e4	// 87e4 <Control_Mode+0x4c>
			{
				HT1621.show_cache[0] &= ~0x0C;
				HT1621.show_cache[1] &= ~0x07;
    87ba:	3407      	movi      	r4, 7
				HT1621.show_cache[2] &= ~0x07;
    87bc:	830e      	ld.b      	r0, (r3, 0xe)
    87be:	6811      	andn      	r0, r4
    87c0:	a30e      	st.b      	r0, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    87c2:	830f      	ld.b      	r0, (r3, 0xf)
    87c4:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    87c6:	832c      	ld.b      	r1, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    87c8:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    87ca:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    87cc:	3982      	bclri      	r1, 2
    87ce:	3983      	bclri      	r1, 3
				HT1621.show_cache[1] &= ~0x07;
    87d0:	834d      	ld.b      	r2, (r3, 0xd)
				HT1621.show_cache[5] &= ~0x01;
    87d2:	3880      	bclri      	r0, 0
				HT1621.show_cache[1] &= ~0x07;
    87d4:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    87d6:	a311      	st.b      	r0, (r3, 0x11)
				
				HT1621.show_cache[0] |= 0x04;
				HT1621.show_cache[0] |= 0x08;
    87d8:	39a2      	bseti      	r1, 2
    87da:	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;
    87dc:	3aa0      	bseti      	r2, 0
				HT1621.show_cache[0] |= 0x04;
    87de:	a32c      	st.b      	r1, (r3, 0xc)
				HT1621.show_cache[1] |= 0x01;
    87e0:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
				HT1621.show_cache[5] &= ~0x01;
			}
			break;
	}
}
    87e2:	1491      	pop      	r4, r15
			else if(Debug_Inf.Language_Selection == 0x01)
    87e4:	3a41      	cmpnei      	r2, 1
    87e6:	0812      	bt      	0x880a	// 880a <Control_Mode+0x72>
				HT1621.show_cache[1] &= ~0x07;
    87e8:	3407      	movi      	r4, 7
				HT1621.show_cache[2] &= ~0x07;
    87ea:	830e      	ld.b      	r0, (r3, 0xe)
    87ec:	6811      	andn      	r0, r4
    87ee:	a30e      	st.b      	r0, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    87f0:	830f      	ld.b      	r0, (r3, 0xf)
    87f2:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    87f4:	832c      	ld.b      	r1, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    87f6:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    87f8:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    87fa:	3982      	bclri      	r1, 2
    87fc:	3983      	bclri      	r1, 3
				HT1621.show_cache[1] &= ~0x07;
    87fe:	834d      	ld.b      	r2, (r3, 0xd)
				HT1621.show_cache[5] &= ~0x01;
    8800:	3880      	bclri      	r0, 0
				HT1621.show_cache[1] &= ~0x07;
    8802:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    8804:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] |= 0x04;
    8806:	39a2      	bseti      	r1, 2
    8808:	07ea      	br      	0x87dc	// 87dc <Control_Mode+0x44>
			else if(Debug_Inf.Language_Selection == 0x02)
    880a:	3a42      	cmpnei      	r2, 2
    880c:	0812      	bt      	0x8830	// 8830 <Control_Mode+0x98>
				HT1621.show_cache[1] &= ~0x07;
    880e:	3407      	movi      	r4, 7
				HT1621.show_cache[2] &= ~0x07;
    8810:	830e      	ld.b      	r0, (r3, 0xe)
    8812:	6811      	andn      	r0, r4
    8814:	a30e      	st.b      	r0, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8816:	830f      	ld.b      	r0, (r3, 0xf)
    8818:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    881a:	832c      	ld.b      	r1, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    881c:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    881e:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    8820:	3982      	bclri      	r1, 2
    8822:	3983      	bclri      	r1, 3
				HT1621.show_cache[1] &= ~0x07;
    8824:	834d      	ld.b      	r2, (r3, 0xd)
				HT1621.show_cache[5] &= ~0x01;
    8826:	3880      	bclri      	r0, 0
				HT1621.show_cache[1] &= ~0x07;
    8828:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    882a:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] |= 0x08;
    882c:	39a3      	bseti      	r1, 3
    882e:	07d7      	br      	0x87dc	// 87dc <Control_Mode+0x44>
				HT1621.show_cache[0] &= ~0x0C;
    8830:	136a      	lrw      	r3, 0x20000590	// 89d8 <Control_Mode+0x240>
    8832:	834c      	ld.b      	r2, (r3, 0xc)
    8834:	3a82      	bclri      	r2, 2
    8836:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8838:	3107      	movi      	r1, 7
				HT1621.show_cache[0] &= ~0x0C;
    883a:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    883c:	834d      	ld.b      	r2, (r3, 0xd)
    883e:	6885      	andn      	r2, r1
    8840:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8842:	834e      	ld.b      	r2, (r3, 0xe)
    8844:	6885      	andn      	r2, r1
    8846:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8848:	834f      	ld.b      	r2, (r3, 0xf)
    884a:	6885      	andn      	r2, r1
    884c:	a34f      	st.b      	r2, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    884e:	8351      	ld.b      	r2, (r3, 0x11)
    8850:	3a80      	bclri      	r2, 0
				HT1621.show_cache[5] |= 0x01;
    8852:	a351      	st.b      	r2, (r3, 0x11)
}
    8854:	07c7      	br      	0x87e2	// 87e2 <Control_Mode+0x4a>
			if(Debug_Inf.Language_Selection == 0x00)
    8856:	1360      	lrw      	r3, 0x20000835	// 89d4 <Control_Mode+0x23c>
    8858:	8349      	ld.b      	r2, (r3, 0x9)
    885a:	3a40      	cmpnei      	r2, 0
    885c:	127f      	lrw      	r3, 0x20000590	// 89d8 <Control_Mode+0x240>
    885e:	0816      	bt      	0x888a	// 888a <Control_Mode+0xf2>
				HT1621.show_cache[1] &= ~0x07;
    8860:	3407      	movi      	r4, 7
				HT1621.show_cache[3] &= ~0x07;
    8862:	830f      	ld.b      	r0, (r3, 0xf)
				HT1621.show_cache[0] &= ~0x0C;
    8864:	834c      	ld.b      	r2, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    8866:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    8868:	3a82      	bclri      	r2, 2
    886a:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    886c:	832d      	ld.b      	r1, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
    886e:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    8870:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    8872:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    8874:	6851      	andn      	r1, r4
				HT1621.show_cache[2] &= ~0x07;
    8876:	834e      	ld.b      	r2, (r3, 0xe)
				HT1621.show_cache[5] &= ~0x01;
    8878:	3880      	bclri      	r0, 0
				HT1621.show_cache[2] &= ~0x07;
    887a:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    887c:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[1] |= 0x04;
    887e:	39a1      	bseti      	r1, 1
    8880:	39a2      	bseti      	r1, 2
				HT1621.show_cache[2] |= 0x01;
    8882:	3aa0      	bseti      	r2, 0
				HT1621.show_cache[1] |= 0x04;
    8884:	a32d      	st.b      	r1, (r3, 0xd)
				HT1621.show_cache[2] |= 0x01;
    8886:	a34e      	st.b      	r2, (r3, 0xe)
    8888:	07ad      	br      	0x87e2	// 87e2 <Control_Mode+0x4a>
			else if(Debug_Inf.Language_Selection == 0x01)
    888a:	3a41      	cmpnei      	r2, 1
    888c:	0812      	bt      	0x88b0	// 88b0 <Control_Mode+0x118>
				HT1621.show_cache[1] &= ~0x07;
    888e:	3407      	movi      	r4, 7
				HT1621.show_cache[3] &= ~0x07;
    8890:	830f      	ld.b      	r0, (r3, 0xf)
				HT1621.show_cache[0] &= ~0x0C;
    8892:	834c      	ld.b      	r2, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    8894:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    8896:	3a82      	bclri      	r2, 2
    8898:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    889a:	832d      	ld.b      	r1, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
    889c:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    889e:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    88a0:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    88a2:	6851      	andn      	r1, r4
				HT1621.show_cache[2] &= ~0x07;
    88a4:	834e      	ld.b      	r2, (r3, 0xe)
				HT1621.show_cache[5] &= ~0x01;
    88a6:	3880      	bclri      	r0, 0
				HT1621.show_cache[2] &= ~0x07;
    88a8:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    88aa:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[1] |= 0x02;
    88ac:	39a1      	bseti      	r1, 1
    88ae:	07ea      	br      	0x8882	// 8882 <Control_Mode+0xea>
			else if(Debug_Inf.Language_Selection == 0x02)
    88b0:	3a42      	cmpnei      	r2, 2
    88b2:	0bbf      	bt      	0x8830	// 8830 <Control_Mode+0x98>
				HT1621.show_cache[1] &= ~0x07;
    88b4:	3407      	movi      	r4, 7
				HT1621.show_cache[3] &= ~0x07;
    88b6:	830f      	ld.b      	r0, (r3, 0xf)
				HT1621.show_cache[0] &= ~0x0C;
    88b8:	834c      	ld.b      	r2, (r3, 0xc)
				HT1621.show_cache[3] &= ~0x07;
    88ba:	6811      	andn      	r0, r4
				HT1621.show_cache[0] &= ~0x0C;
    88bc:	3a82      	bclri      	r2, 2
    88be:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    88c0:	832d      	ld.b      	r1, (r3, 0xd)
				HT1621.show_cache[3] &= ~0x07;
    88c2:	a30f      	st.b      	r0, (r3, 0xf)
				HT1621.show_cache[5] &= ~0x01;
    88c4:	8311      	ld.b      	r0, (r3, 0x11)
				HT1621.show_cache[0] &= ~0x0C;
    88c6:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    88c8:	6851      	andn      	r1, r4
				HT1621.show_cache[2] &= ~0x07;
    88ca:	834e      	ld.b      	r2, (r3, 0xe)
				HT1621.show_cache[5] &= ~0x01;
    88cc:	3880      	bclri      	r0, 0
				HT1621.show_cache[2] &= ~0x07;
    88ce:	6891      	andn      	r2, r4
				HT1621.show_cache[5] &= ~0x01;
    88d0:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[1] |= 0x04;
    88d2:	39a2      	bseti      	r1, 2
    88d4:	07d7      	br      	0x8882	// 8882 <Control_Mode+0xea>
			if(Debug_Inf.Language_Selection == 0x00)
    88d6:	1260      	lrw      	r3, 0x20000835	// 89d4 <Control_Mode+0x23c>
    88d8:	8349      	ld.b      	r2, (r3, 0x9)
    88da:	3a40      	cmpnei      	r2, 0
    88dc:	117f      	lrw      	r3, 0x20000590	// 89d8 <Control_Mode+0x240>
    88de:	0816      	bt      	0x890a	// 890a <Control_Mode+0x172>
				HT1621.show_cache[0] &= ~0x0C;
    88e0:	834c      	ld.b      	r2, (r3, 0xc)
    88e2:	3a82      	bclri      	r2, 2
    88e4:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    88e6:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    88e8:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    88ea:	834d      	ld.b      	r2, (r3, 0xd)
    88ec:	6881      	andn      	r2, r0
    88ee:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    88f0:	832e      	ld.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    88f2:	834f      	ld.b      	r2, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    88f4:	6841      	andn      	r1, r0
				HT1621.show_cache[3] &= ~0x07;
    88f6:	6881      	andn      	r2, r0
				HT1621.show_cache[5] &= ~0x01;
    88f8:	8311      	ld.b      	r0, (r3, 0x11)
    88fa:	3880      	bclri      	r0, 0
    88fc:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[2] |= 0x04;
    88fe:	39a1      	bseti      	r1, 1
    8900:	39a2      	bseti      	r1, 2
				HT1621.show_cache[3] |= 0x01;
    8902:	3aa0      	bseti      	r2, 0
				HT1621.show_cache[2] |= 0x04;
    8904:	a32e      	st.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] |= 0x01;
    8906:	a34f      	st.b      	r2, (r3, 0xf)
    8908:	076d      	br      	0x87e2	// 87e2 <Control_Mode+0x4a>
			else if(Debug_Inf.Language_Selection == 0x01)
    890a:	3a41      	cmpnei      	r2, 1
    890c:	0812      	bt      	0x8930	// 8930 <Control_Mode+0x198>
				HT1621.show_cache[0] &= ~0x0C;
    890e:	834c      	ld.b      	r2, (r3, 0xc)
    8910:	3a82      	bclri      	r2, 2
    8912:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8914:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    8916:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    8918:	834d      	ld.b      	r2, (r3, 0xd)
    891a:	6881      	andn      	r2, r0
    891c:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    891e:	832e      	ld.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8920:	834f      	ld.b      	r2, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    8922:	6841      	andn      	r1, r0
				HT1621.show_cache[3] &= ~0x07;
    8924:	6881      	andn      	r2, r0
				HT1621.show_cache[5] &= ~0x01;
    8926:	8311      	ld.b      	r0, (r3, 0x11)
    8928:	3880      	bclri      	r0, 0
    892a:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[2] |= 0x02;
    892c:	39a1      	bseti      	r1, 1
    892e:	07ea      	br      	0x8902	// 8902 <Control_Mode+0x16a>
			else if(Debug_Inf.Language_Selection == 0x02)
    8930:	3a42      	cmpnei      	r2, 2
    8932:	0b7f      	bt      	0x8830	// 8830 <Control_Mode+0x98>
				HT1621.show_cache[0] &= ~0x0C;
    8934:	834c      	ld.b      	r2, (r3, 0xc)
    8936:	3a82      	bclri      	r2, 2
    8938:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    893a:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    893c:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    893e:	834d      	ld.b      	r2, (r3, 0xd)
    8940:	6881      	andn      	r2, r0
    8942:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8944:	832e      	ld.b      	r1, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8946:	834f      	ld.b      	r2, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    8948:	6841      	andn      	r1, r0
				HT1621.show_cache[3] &= ~0x07;
    894a:	6881      	andn      	r2, r0
				HT1621.show_cache[5] &= ~0x01;
    894c:	8311      	ld.b      	r0, (r3, 0x11)
    894e:	3880      	bclri      	r0, 0
    8950:	a311      	st.b      	r0, (r3, 0x11)
				HT1621.show_cache[2] |= 0x04;
    8952:	39a2      	bseti      	r1, 2
    8954:	07d7      	br      	0x8902	// 8902 <Control_Mode+0x16a>
			if(Debug_Inf.Language_Selection == 0x00)
    8956:	1160      	lrw      	r3, 0x20000835	// 89d4 <Control_Mode+0x23c>
    8958:	8349      	ld.b      	r2, (r3, 0x9)
    895a:	3a40      	cmpnei      	r2, 0
    895c:	107f      	lrw      	r3, 0x20000590	// 89d8 <Control_Mode+0x240>
    895e:	0815      	bt      	0x8988	// 8988 <Control_Mode+0x1f0>
				HT1621.show_cache[0] &= ~0x0C;
    8960:	834c      	ld.b      	r2, (r3, 0xc)
    8962:	3a82      	bclri      	r2, 2
    8964:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8966:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    8968:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    896a:	834d      	ld.b      	r2, (r3, 0xd)
    896c:	6881      	andn      	r2, r0
    896e:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    8970:	834e      	ld.b      	r2, (r3, 0xe)
    8972:	6881      	andn      	r2, r0
				HT1621.show_cache[3] &= ~0x07;
    8974:	832f      	ld.b      	r1, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    8976:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    8978:	6841      	andn      	r1, r0
				HT1621.show_cache[5] &= ~0x01;
    897a:	8351      	ld.b      	r2, (r3, 0x11)
    897c:	3a80      	bclri      	r2, 0
				HT1621.show_cache[3] |= 0x04;
    897e:	39a1      	bseti      	r1, 1
    8980:	39a2      	bseti      	r1, 2
				HT1621.show_cache[3] |= 0x04;
    8982:	a32f      	st.b      	r1, (r3, 0xf)
				HT1621.show_cache[5] |= 0x01;
    8984:	3aa0      	bseti      	r2, 0
    8986:	0766      	br      	0x8852	// 8852 <Control_Mode+0xba>
			else if(Debug_Inf.Language_Selection == 0x01)
    8988:	3a41      	cmpnei      	r2, 1
    898a:	0812      	bt      	0x89ae	// 89ae <Control_Mode+0x216>
				HT1621.show_cache[0] &= ~0x0C;
    898c:	834c      	ld.b      	r2, (r3, 0xc)
    898e:	3a82      	bclri      	r2, 2
    8990:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    8992:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    8994:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    8996:	834d      	ld.b      	r2, (r3, 0xd)
    8998:	6881      	andn      	r2, r0
    899a:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    899c:	834e      	ld.b      	r2, (r3, 0xe)
    899e:	6881      	andn      	r2, r0
				HT1621.show_cache[3] &= ~0x07;
    89a0:	832f      	ld.b      	r1, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    89a2:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    89a4:	6841      	andn      	r1, r0
				HT1621.show_cache[5] &= ~0x01;
    89a6:	8351      	ld.b      	r2, (r3, 0x11)
    89a8:	3a80      	bclri      	r2, 0
				HT1621.show_cache[3] |= 0x02;
    89aa:	39a1      	bseti      	r1, 1
    89ac:	07eb      	br      	0x8982	// 8982 <Control_Mode+0x1ea>
			else if(Debug_Inf.Language_Selection == 0x02)
    89ae:	3a42      	cmpnei      	r2, 2
    89b0:	0b40      	bt      	0x8830	// 8830 <Control_Mode+0x98>
				HT1621.show_cache[0] &= ~0x0C;
    89b2:	834c      	ld.b      	r2, (r3, 0xc)
    89b4:	3a82      	bclri      	r2, 2
    89b6:	3a83      	bclri      	r2, 3
				HT1621.show_cache[1] &= ~0x07;
    89b8:	3007      	movi      	r0, 7
				HT1621.show_cache[0] &= ~0x0C;
    89ba:	a34c      	st.b      	r2, (r3, 0xc)
				HT1621.show_cache[1] &= ~0x07;
    89bc:	834d      	ld.b      	r2, (r3, 0xd)
    89be:	6881      	andn      	r2, r0
    89c0:	a34d      	st.b      	r2, (r3, 0xd)
				HT1621.show_cache[2] &= ~0x07;
    89c2:	834e      	ld.b      	r2, (r3, 0xe)
    89c4:	6881      	andn      	r2, r0
				HT1621.show_cache[3] &= ~0x07;
    89c6:	832f      	ld.b      	r1, (r3, 0xf)
				HT1621.show_cache[2] &= ~0x07;
    89c8:	a34e      	st.b      	r2, (r3, 0xe)
				HT1621.show_cache[3] &= ~0x07;
    89ca:	6841      	andn      	r1, r0
				HT1621.show_cache[5] &= ~0x01;
    89cc:	8351      	ld.b      	r2, (r3, 0x11)
    89ce:	3a80      	bclri      	r2, 0
				HT1621.show_cache[3] |= 0x04;
    89d0:	39a2      	bseti      	r1, 2
    89d2:	07d8      	br      	0x8982	// 8982 <Control_Mode+0x1ea>
    89d4:	20000835 	.long	0x20000835
    89d8:	20000590 	.long	0x20000590

Disassembly of section .text.Control_wind_velocity:

000089dc <Control_wind_velocity>:
* 					3 -> 风速停
*                   4 -> 自动风速
*                   
*/
void Control_wind_velocity(U8_T velocity)
{
    89dc:	14d2      	push      	r4-r5, r15
    switch(velocity)
    89de:	3804      	cmphsi      	r0, 5
    89e0:	0815      	bt      	0x8a0a	// 8a0a <Control_wind_velocity+0x2e>
    89e2:	1172      	lrw      	r3, 0x20000590	// 8aa8 <Control_wind_velocity+0xcc>
    89e4:	e3ffd58c 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    89e8:	20120333 	.long	0x20120333
    89ec:	0028      	.short	0x0028
    {
        case FAN_LOW:     //低风速
			HT1621.show_cache[4] &= ~0x0F;
			HT1621.show_cache[5] &= ~0x0E;
    89ee:	8351      	ld.b      	r2, (r3, 0x11)
    89f0:	310e      	movi      	r1, 14
    89f2:	6885      	andn      	r2, r1
			HT1621.show_cache[4] &= ~0x0F;
    89f4:	300f      	movi      	r0, 15
    89f6:	8330      	ld.b      	r1, (r3, 0x10)
    89f8:	6841      	andn      	r1, r0
		
            HT1621.show_cache[4] |= 0x08;
    89fa:	3008      	movi      	r0, 8
			HT1621.show_cache[5] |= 0x08;
    89fc:	6c80      	or      	r2, r0
            HT1621.show_cache[4] |= 0x08;
    89fe:	6c40      	or      	r1, r0
			HT1621.show_cache[5] |= 0x08;
    8a00:	a351      	st.b      	r2, (r3, 0x11)
			
			HT1621.show_cache[3] |= 0x08;
    8a02:	834f      	ld.b      	r2, (r3, 0xf)
            HT1621.show_cache[4] |= 0x08;
    8a04:	a330      	st.b      	r1, (r3, 0x10)
			HT1621.show_cache[3] |= 0x08;
    8a06:	6c80      	or      	r2, r0
			HT1621.show_cache[5] &= ~0x0E;
		
            HT1621.show_cache[4] |= 0x0C;
			HT1621.show_cache[5] |= 0x0C;
			
			HT1621.show_cache[3] |= 0x08;
    8a08:	a34f      	st.b      	r2, (r3, 0xf)
            }
            break;
		default:
			break;
    }
}
    8a0a:	1492      	pop      	r4-r5, r15
			HT1621.show_cache[5] &= ~0x0E;
    8a0c:	310e      	movi      	r1, 14
    8a0e:	8351      	ld.b      	r2, (r3, 0x11)
			HT1621.show_cache[4] &= ~0x0F;
    8a10:	300f      	movi      	r0, 15
			HT1621.show_cache[5] &= ~0x0E;
    8a12:	6885      	andn      	r2, r1
			HT1621.show_cache[4] &= ~0x0F;
    8a14:	8330      	ld.b      	r1, (r3, 0x10)
    8a16:	6841      	andn      	r1, r0
            HT1621.show_cache[4] |= 0x0C;
    8a18:	300c      	movi      	r0, 12
			HT1621.show_cache[5] |= 0x0C;
    8a1a:	6c80      	or      	r2, r0
            HT1621.show_cache[4] |= 0x0C;
    8a1c:	6c40      	or      	r1, r0
			HT1621.show_cache[5] |= 0x0C;
    8a1e:	a351      	st.b      	r2, (r3, 0x11)
			HT1621.show_cache[3] |= 0x08;
    8a20:	834f      	ld.b      	r2, (r3, 0xf)
            HT1621.show_cache[4] |= 0x0C;
    8a22:	a330      	st.b      	r1, (r3, 0x10)
			HT1621.show_cache[3] |= 0x08;
    8a24:	3aa3      	bseti      	r2, 3
    8a26:	07f1      	br      	0x8a08	// 8a08 <Control_wind_velocity+0x2c>
			HT1621.show_cache[5] &= ~0x0E;
    8a28:	310e      	movi      	r1, 14
    8a2a:	8351      	ld.b      	r2, (r3, 0x11)
			HT1621.show_cache[4] &= ~0x0F;
    8a2c:	300f      	movi      	r0, 15
			HT1621.show_cache[5] &= ~0x0E;
    8a2e:	6885      	andn      	r2, r1
			HT1621.show_cache[4] &= ~0x0F;
    8a30:	8330      	ld.b      	r1, (r3, 0x10)
    8a32:	6841      	andn      	r1, r0
            HT1621.show_cache[4] |= 0x0E;
    8a34:	300e      	movi      	r0, 14
    8a36:	07f2      	br      	0x8a1a	// 8a1a <Control_wind_velocity+0x3e>
			HT1621.show_cache[4] &= ~0x0F;
    8a38:	8350      	ld.b      	r2, (r3, 0x10)
    8a3a:	310f      	movi      	r1, 15
    8a3c:	6885      	andn      	r2, r1
    8a3e:	a350      	st.b      	r2, (r3, 0x10)
			HT1621.show_cache[5] &= ~0x0E;
    8a40:	310e      	movi      	r1, 14
    8a42:	8351      	ld.b      	r2, (r3, 0x11)
    8a44:	6885      	andn      	r2, r1
    8a46:	a351      	st.b      	r2, (r3, 0x11)
			HT1621.show_cache[3] &= ~0x08;	
    8a48:	834f      	ld.b      	r2, (r3, 0xf)
    8a4a:	3a83      	bclri      	r2, 3
    8a4c:	07de      	br      	0x8a08	// 8a08 <Control_wind_velocity+0x2c>
			HT1621.show_cache[4] &= ~0x0F;
    8a4e:	8330      	ld.b      	r1, (r3, 0x10)
    8a50:	320f      	movi      	r2, 15
    8a52:	6849      	andn      	r1, r2
			HT1621.show_cache[5] &= ~0x0E;
    8a54:	300e      	movi      	r0, 14
    8a56:	8351      	ld.b      	r2, (r3, 0x11)
			HT1621.show_cache[3] |= 0x08;
    8a58:	83af      	ld.b      	r5, (r3, 0xf)
			HT1621.show_cache[5] &= ~0x0E;
    8a5a:	6881      	andn      	r2, r0
			HT1621.show_cache[3] |= 0x08;
    8a5c:	3408      	movi      	r4, 8
    8a5e:	6c17      	mov      	r0, r5
    8a60:	6c10      	or      	r0, r4
    8a62:	a30f      	st.b      	r0, (r3, 0xf)
			HT1621.show_cache[4] |= 0x01;
    8a64:	6c07      	mov      	r0, r1
    8a66:	38a0      	bseti      	r0, 0
    8a68:	a310      	st.b      	r0, (r3, 0x10)
            if(HT1621.wind_velocity == 3)       //关风扇
    8a6a:	8303      	ld.b      	r0, (r3, 0x3)
    8a6c:	3843      	cmpnei      	r0, 3
			HT1621.show_cache[5] &= ~0x0E;
    8a6e:	a351      	st.b      	r2, (r3, 0x11)
            if(HT1621.wind_velocity == 3)       //关风扇
    8a70:	0804      	bt      	0x8a78	// 8a78 <Control_wind_velocity+0x9c>
				HT1621.show_cache[3] &= ~0x08;
    8a72:	3d83      	bclri      	r5, 3
    8a74:	a3af      	st.b      	r5, (r3, 0xf)
    8a76:	07ca      	br      	0x8a0a	// 8a0a <Control_wind_velocity+0x2e>
            }else if(HT1621.wind_velocity == 0) //低风速
    8a78:	3840      	cmpnei      	r0, 0
    8a7a:	0807      	bt      	0x8a88	// 8a88 <Control_wind_velocity+0xac>
				HT1621.show_cache[4] |= 0x08;
    8a7c:	39a0      	bseti      	r1, 0
    8a7e:	39a3      	bseti      	r1, 3
    8a80:	a330      	st.b      	r1, (r3, 0x10)
				HT1621.show_cache[5] |= 0x08;
    8a82:	6c90      	or      	r2, r4
				HT1621.show_cache[5] |= 0x0E;
    8a84:	a351      	st.b      	r2, (r3, 0x11)
}
    8a86:	07c2      	br      	0x8a0a	// 8a0a <Control_wind_velocity+0x2e>
            }else if(HT1621.wind_velocity == 1) //中风速
    8a88:	3841      	cmpnei      	r0, 1
    8a8a:	0807      	bt      	0x8a98	// 8a98 <Control_wind_velocity+0xbc>
				HT1621.show_cache[4] |= 0x0C;
    8a8c:	300d      	movi      	r0, 13
    8a8e:	6c40      	or      	r1, r0
    8a90:	a330      	st.b      	r1, (r3, 0x10)
				HT1621.show_cache[5] |= 0x0C;
    8a92:	3aa2      	bseti      	r2, 2
    8a94:	3aa3      	bseti      	r2, 3
    8a96:	07f7      	br      	0x8a84	// 8a84 <Control_wind_velocity+0xa8>
            }else if(HT1621.wind_velocity == 2) //高风速
    8a98:	3842      	cmpnei      	r0, 2
    8a9a:	0bb8      	bt      	0x8a0a	// 8a0a <Control_wind_velocity+0x2e>
				HT1621.show_cache[4] |= 0x0E;
    8a9c:	300f      	movi      	r0, 15
    8a9e:	6c40      	or      	r1, r0
    8aa0:	a330      	st.b      	r1, (r3, 0x10)
				HT1621.show_cache[5] |= 0x0E;
    8aa2:	310e      	movi      	r1, 14
    8aa4:	6c84      	or      	r2, r1
    8aa6:	07ef      	br      	0x8a84	// 8a84 <Control_wind_velocity+0xa8>
    8aa8:	20000590 	.long	0x20000590

Disassembly of section .text.Control_Prompt_Text:

00008aac <Control_Prompt_Text>:
*参数功能：state : 0 -> 开，中英混合
*                   1 -> 开，中文提示
* 					2 ->  开，英语提示
* 					3 ->关
*/
void Control_Prompt_Text(U8_T state){
    8aac:	14c4      	push      	r4-r7
    8aae:	1421      	subi      	r14, r14, 4
	//中文消除
	HT1621.show_cache[0] &= ~0x01;		//模式
    8ab0:	1167      	lrw      	r3, 0x20000590	// 8b4c <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;		//设置温度
    8ab2:	83d6      	ld.b      	r6, (r3, 0x16)
    8ab4:	3e80      	bclri      	r6, 0
    8ab6:	7598      	zextb      	r6, r6
    8ab8:	b8c0      	st.w      	r6, (r14, 0x0)
    8aba:	d8ce0000 	ld.b      	r6, (r14, 0x0)
	HT1621.show_cache[0] &= ~0x01;		//模式
    8abe:	834c      	ld.b      	r2, (r3, 0xc)
	HT1621.show_cache[1] &= ~0x08;		//风速
    8ac0:	83ad      	ld.b      	r5, (r3, 0xd)
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8ac2:	8398      	ld.b      	r4, (r3, 0x18)
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8ac4:	833f      	ld.b      	r1, (r3, 0x1f)
	HT1621.show_cache[2] &= ~0x08;		//风速
    8ac6:	83ee      	ld.b      	r7, (r3, 0xe)
	HT1621.show_cache[10] &= ~0x01;		//设置温度
    8ac8:	a3d6      	st.b      	r6, (r3, 0x16)
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    8aca:	83dd      	ld.b      	r6, (r3, 0x1d)
	HT1621.show_cache[1] &= ~0x08;		//风速
    8acc:	3d83      	bclri      	r5, 3
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8ace:	3c80      	bclri      	r4, 0
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8ad0:	3980      	bclri      	r1, 0
	HT1621.show_cache[0] &= ~0x02;		//模式
    8ad2:	3a80      	bclri      	r2, 0
    8ad4:	3a81      	bclri      	r2, 1
	HT1621.show_cache[2] &= ~0x08;		//风速
    8ad6:	3f83      	bclri      	r7, 3
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    8ad8:	3e80      	bclri      	r6, 0
	HT1621.show_cache[1] &= ~0x08;		//风速
    8ada:	7554      	zextb      	r5, r5
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8adc:	7510      	zextb      	r4, r4
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8ade:	7444      	zextb      	r1, r1
	HT1621.show_cache[0] &= ~0x02;		//模式
    8ae0:	7488      	zextb      	r2, r2
	HT1621.show_cache[2] &= ~0x08;		//风速
    8ae2:	75dc      	zextb      	r7, r7
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    8ae4:	7598      	zextb      	r6, r6
	
	if(state == 0x00)
    8ae6:	3840      	cmpnei      	r0, 0
	HT1621.show_cache[1] &= ~0x08;		//风速
    8ae8:	a3ad      	st.b      	r5, (r3, 0xd)
	HT1621.show_cache[12] &= ~0x01;		//设置温度
    8aea:	a398      	st.b      	r4, (r3, 0x18)
	HT1621.show_cache[19] &= ~0x01;		//室内温度
    8aec:	a33f      	st.b      	r1, (r3, 0x1f)
	HT1621.show_cache[0] &= ~0x02;		//模式
    8aee:	a34c      	st.b      	r2, (r3, 0xc)
	HT1621.show_cache[2] &= ~0x08;		//风速
    8af0:	a3ee      	st.b      	r7, (r3, 0xe)
	HT1621.show_cache[17] &= ~0x01;		//室内温度
    8af2:	a3dd      	st.b      	r6, (r3, 0x1d)
	if(state == 0x00)
    8af4:	0814      	bt      	0x8b1c	// 8b1c <Control_Prompt_Text+0x70>
	{
		//中文
		HT1621.show_cache[0] |= 0x01;		//模式
		HT1621.show_cache[1] |= 0x08;		//风速
    8af6:	3008      	movi      	r0, 8
    8af8:	6d40      	or      	r5, r0
		HT1621.show_cache[12] |= 0x01;		//设置温度
		HT1621.show_cache[19] |= 0x01;		//室内温度
		//英文
		HT1621.show_cache[0] |= 0x02;		//模式
    8afa:	3aa0      	bseti      	r2, 0
    8afc:	3aa1      	bseti      	r2, 1
		HT1621.show_cache[1] |= 0x08;		//风速
    8afe:	a3ad      	st.b      	r5, (r3, 0xd)
		HT1621.show_cache[0] |= 0x02;		//模式
    8b00:	a34c      	st.b      	r2, (r3, 0xc)
		HT1621.show_cache[12] |= 0x01;		//设置温度
    8b02:	3501      	movi      	r5, 1
		HT1621.show_cache[2] |= 0x08;		//风速
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b04:	9840      	ld.w      	r2, (r14, 0x0)
		HT1621.show_cache[12] |= 0x01;		//设置温度
    8b06:	6d14      	or      	r4, r5
		HT1621.show_cache[19] |= 0x01;		//室内温度
    8b08:	6c54      	or      	r1, r5
		HT1621.show_cache[2] |= 0x08;		//风速
    8b0a:	6dc0      	or      	r7, r0
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b0c:	6c94      	or      	r2, r5
		HT1621.show_cache[12] |= 0x01;		//设置温度
    8b0e:	a398      	st.b      	r4, (r3, 0x18)
		HT1621.show_cache[19] |= 0x01;		//室内温度
    8b10:	a33f      	st.b      	r1, (r3, 0x1f)
		HT1621.show_cache[2] |= 0x08;		//风速
    8b12:	a3ee      	st.b      	r7, (r3, 0xe)
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b14:	a356      	st.b      	r2, (r3, 0x16)
		HT1621.show_cache[17] |= 0x01;		//室内温度		
    8b16:	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;		//室内温度
    8b18:	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;		//室内温度
	}
}
    8b1a:	040b      	br      	0x8b30	// 8b30 <Control_Prompt_Text+0x84>
	else if(state == 0x01){
    8b1c:	3841      	cmpnei      	r0, 1
    8b1e:	080b      	bt      	0x8b34	// 8b34 <Control_Prompt_Text+0x88>
		HT1621.show_cache[0] |= 0x01;		//模式
    8b20:	6c80      	or      	r2, r0
		HT1621.show_cache[1] |= 0x08;		//风速
    8b22:	3da3      	bseti      	r5, 3
		HT1621.show_cache[12] |= 0x01;		//设置温度
    8b24:	6d00      	or      	r4, r0
		HT1621.show_cache[19] |= 0x01;		//室内温度
    8b26:	6c40      	or      	r1, r0
		HT1621.show_cache[0] |= 0x01;		//模式
    8b28:	a34c      	st.b      	r2, (r3, 0xc)
		HT1621.show_cache[1] |= 0x08;		//风速
    8b2a:	a3ad      	st.b      	r5, (r3, 0xd)
		HT1621.show_cache[12] |= 0x01;		//设置温度
    8b2c:	a398      	st.b      	r4, (r3, 0x18)
		HT1621.show_cache[19] |= 0x01;		//室内温度
    8b2e:	a33f      	st.b      	r1, (r3, 0x1f)
}
    8b30:	1401      	addi      	r14, r14, 4
    8b32:	1484      	pop      	r4-r7
	}else if(state == 0x02){
    8b34:	3842      	cmpnei      	r0, 2
    8b36:	0bfd      	bt      	0x8b30	// 8b30 <Control_Prompt_Text+0x84>
		HT1621.show_cache[0] |= 0x02;		//模式
    8b38:	3aa1      	bseti      	r2, 1
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b3a:	3101      	movi      	r1, 1
		HT1621.show_cache[0] |= 0x02;		//模式
    8b3c:	a34c      	st.b      	r2, (r3, 0xc)
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b3e:	9840      	ld.w      	r2, (r14, 0x0)
		HT1621.show_cache[2] |= 0x08;		//风速
    8b40:	3fa3      	bseti      	r7, 3
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b42:	6c84      	or      	r2, r1
		HT1621.show_cache[2] |= 0x08;		//风速
    8b44:	a3ee      	st.b      	r7, (r3, 0xe)
		HT1621.show_cache[10] |= 0x01;		//设置温度
    8b46:	a356      	st.b      	r2, (r3, 0x16)
		HT1621.show_cache[17] |= 0x01;		//室内温度
    8b48:	6d84      	or      	r6, r1
    8b4a:	07e7      	br      	0x8b18	// 8b18 <Control_Prompt_Text+0x6c>
    8b4c:	20000590 	.long	0x20000590

Disassembly of section .text.Controlled_Buzzer:

00008b50 <Controlled_Buzzer>:

/*
*函数功能：控制蜂鸣器
*参数功能：state : 控制状态 0x00:关，0x01:开 100ms，0x02：开 500ms
*/
void Controlled_Buzzer(U8_T state) {
    8b50:	14d0      	push      	r15
    
    //Dbg_Println(DBG_BIT_SYS_STATUS, "Controlled_Buzzer %d",g_switch.local_buz_flag);
    switch (state) {
    8b52:	3841      	cmpnei      	r0, 1
    8b54:	0c0a      	bf      	0x8b68	// 8b68 <Controlled_Buzzer+0x18>
    8b56:	3840      	cmpnei      	r0, 0
    8b58:	0c04      	bf      	0x8b60	// 8b60 <Controlled_Buzzer+0x10>
    8b5a:	3842      	cmpnei      	r0, 2
    8b5c:	0c12      	bf      	0x8b80	// 8b80 <Controlled_Buzzer+0x30>
        HT1621_WR_CMD(HT1621_BLON);
        HT1621.buz_control = 0x02;
        HT1621.buz_tick = SysTick_1ms;
        break;
    }
}
    8b5e:	1490      	pop      	r15
        HT1621_WR_CMD(HT1621_BIOFF);
    8b60:	3010      	movi      	r0, 16
    8b62:	e3fffc6b 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
        break;
    8b66:	07fc      	br      	0x8b5e	// 8b5e <Controlled_Buzzer+0xe>
        HT1621_WR_CMD(HT1621_BLON);
    8b68:	3012      	movi      	r0, 18
    8b6a:	e3fffc67 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
        HT1621.buz_control = 0x01;
    8b6e:	1069      	lrw      	r3, 0x20000590	// 8b90 <Controlled_Buzzer+0x40>
    8b70:	3220      	movi      	r2, 32
    8b72:	608c      	addu      	r2, r3
    8b74:	3101      	movi      	r1, 1
        HT1621.buz_control = 0x02;
    8b76:	a224      	st.b      	r1, (r2, 0x4)
        HT1621.buz_tick = SysTick_1ms;
    8b78:	1047      	lrw      	r2, 0x200000c0	// 8b94 <Controlled_Buzzer+0x44>
    8b7a:	9240      	ld.w      	r2, (r2, 0x0)
    8b7c:	b34e      	st.w      	r2, (r3, 0x38)
}
    8b7e:	07f0      	br      	0x8b5e	// 8b5e <Controlled_Buzzer+0xe>
        HT1621_WR_CMD(HT1621_BLON);
    8b80:	3012      	movi      	r0, 18
    8b82:	e3fffc5b 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
        HT1621.buz_control = 0x02;
    8b86:	1063      	lrw      	r3, 0x20000590	// 8b90 <Controlled_Buzzer+0x40>
    8b88:	3220      	movi      	r2, 32
    8b8a:	608c      	addu      	r2, r3
    8b8c:	3102      	movi      	r1, 2
    8b8e:	07f4      	br      	0x8b76	// 8b76 <Controlled_Buzzer+0x26>
    8b90:	20000590 	.long	0x20000590
    8b94:	200000c0 	.long	0x200000c0

Disassembly of section .text.Controlled_LCD_Backlight:

00008b98 <Controlled_LCD_Backlight>:

/*
*函数功能：控制LCD 背光
*参数功能：state : 控制状态 0x00:关，0x01:开，蓝开(制冷)；红开(制热)；白开(通风)
*/
void Controlled_LCD_Backlight(U8_T state){
    8b98:	14d0      	push      	r15
	switch (state) {
    8b9a:	3840      	cmpnei      	r0, 0
    8b9c:	0c04      	bf      	0x8ba4	// 8ba4 <Controlled_LCD_Backlight+0xc>
    8b9e:	3841      	cmpnei      	r0, 1
    8ba0:	0c16      	bf      	0x8bcc	// 8bcc <Controlled_LCD_Backlight+0x34>
		
		}        
        break;

	}
}
    8ba2:	1490      	pop      	r15
       if(tm1812_param.LCD_blaklingt_flag == 0x01)
    8ba4:	1172      	lrw      	r3, 0x200001a0	// 8c6c <Controlled_LCD_Backlight+0xd4>
    8ba6:	8359      	ld.b      	r2, (r3, 0x19)
    8ba8:	3a41      	cmpnei      	r2, 1
    8baa:	0bfc      	bt      	0x8ba2	// 8ba2 <Controlled_LCD_Backlight+0xa>
			tm1812_param.LCD_blaklingt_flag = 0x00;
    8bac:	3200      	movi      	r2, 0
    8bae:	a359      	st.b      	r2, (r3, 0x19)
			Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8bb0:	3100      	movi      	r1, 0
    8bb2:	3000      	movi      	r0, 0
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8bb4:	e3fffb76 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,0);
    8bb8:	3100      	movi      	r1, 0
    8bba:	3001      	movi      	r0, 1
    8bbc:	e3fffb72 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8bc0:	3100      	movi      	r1, 0
    8bc2:	3002      	movi      	r0, 2
    8bc4:	e3fffb6e 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8bc8:	3100      	movi      	r1, 0
    8bca:	0437      	br      	0x8c38	// 8c38 <Controlled_LCD_Backlight+0xa0>
		if(tm1812_param.LCD_blaklingt_flag == 0x00)
    8bcc:	1128      	lrw      	r1, 0x200001a0	// 8c6c <Controlled_LCD_Backlight+0xd4>
    8bce:	8179      	ld.b      	r3, (r1, 0x19)
    8bd0:	3b40      	cmpnei      	r3, 0
    8bd2:	0be8      	bt      	0x8ba2	// 8ba2 <Controlled_LCD_Backlight+0xa>
			tm1812_param.LCD_blaklingt_flag = 0x01;
    8bd4:	3301      	movi      	r3, 1
    8bd6:	a179      	st.b      	r3, (r1, 0x19)
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8bd8:	3000      	movi      	r0, 0
			tm1812_param.LCD_blacklingt_mode = TempCtrl.TemState_Now.mode;
    8bda:	1166      	lrw      	r3, 0x2000080c	// 8c70 <Controlled_LCD_Backlight+0xd8>
    8bdc:	8362      	ld.b      	r3, (r3, 0x2)
    8bde:	4379      	lsli      	r3, r3, 25
    8be0:	4b7d      	lsri      	r3, r3, 29
    8be2:	748c      	zextb      	r2, r3
			switch(TempCtrl.TemState_Now.mode)
    8be4:	3a42      	cmpnei      	r2, 2
			tm1812_param.LCD_blacklingt_mode = TempCtrl.TemState_Now.mode;
    8be6:	a17a      	st.b      	r3, (r1, 0x1a)
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8be8:	3100      	movi      	r1, 0
			switch(TempCtrl.TemState_Now.mode)
    8bea:	0c1c      	bf      	0x8c22	// 8c22 <Controlled_LCD_Backlight+0x8a>
    8bec:	3a44      	cmpnei      	r2, 4
    8bee:	0c2a      	bf      	0x8c42	// 8c42 <Controlled_LCD_Backlight+0xaa>
    8bf0:	3a40      	cmpnei      	r2, 0
    8bf2:	0be1      	bt      	0x8bb4	// 8bb4 <Controlled_LCD_Backlight+0x1c>
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8bf4:	e3fffb56 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,255);
    8bf8:	31ff      	movi      	r1, 255
    8bfa:	3001      	movi      	r0, 1
    8bfc:	e3fffb52 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8c00:	3100      	movi      	r1, 0
    8c02:	3002      	movi      	r0, 2
    8c04:	e3fffb4e 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8c08:	3100      	movi      	r1, 0
    8c0a:	3003      	movi      	r0, 3
    8c0c:	e3fffb4a 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W2,0);
    8c10:	3100      	movi      	r1, 0
    8c12:	3004      	movi      	r0, 4
    8c14:	e3fffb46 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B2,255);	
    8c18:	31ff      	movi      	r1, 255
					Tm1812_Ch_Insert_Data(LCM_BK_B2,0);					
    8c1a:	3005      	movi      	r0, 5
    8c1c:	e3fffb42 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
}
    8c20:	07c1      	br      	0x8ba2	// 8ba2 <Controlled_LCD_Backlight+0xa>
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8c22:	e3fffb3f 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,255);
    8c26:	31ff      	movi      	r1, 255
    8c28:	3001      	movi      	r0, 1
    8c2a:	e3fffb3b 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8c2e:	3100      	movi      	r1, 0
    8c30:	3002      	movi      	r0, 2
    8c32:	e3fffb37 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,255);
    8c36:	31ff      	movi      	r1, 255
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8c38:	3003      	movi      	r0, 3
    8c3a:	e3fffb33 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W2,0);
    8c3e:	3100      	movi      	r1, 0
    8c40:	0410      	br      	0x8c60	// 8c60 <Controlled_LCD_Backlight+0xc8>
					Tm1812_Ch_Insert_Data(LCM_BK_R1,0);
    8c42:	e3fffb2f 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W1,255);
    8c46:	31ff      	movi      	r1, 255
    8c48:	3001      	movi      	r0, 1
    8c4a:	e3fffb2b 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B1,0);
    8c4e:	3100      	movi      	r1, 0
    8c50:	3002      	movi      	r0, 2
    8c52:	e3fffb27 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_R2,0);
    8c56:	3100      	movi      	r1, 0
    8c58:	3003      	movi      	r0, 3
    8c5a:	e3fffb23 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_W2,255);
    8c5e:	31ff      	movi      	r1, 255
					Tm1812_Ch_Insert_Data(LCM_BK_W2,0);
    8c60:	3004      	movi      	r0, 4
    8c62:	e3fffb1f 	bsr      	0x82a0	// 82a0 <Tm1812_Ch_Insert_Data>
					Tm1812_Ch_Insert_Data(LCM_BK_B2,0);					
    8c66:	3100      	movi      	r1, 0
    8c68:	07d9      	br      	0x8c1a	// 8c1a <Controlled_LCD_Backlight+0x82>
    8c6a:	0000      	bkpt
    8c6c:	200001a0 	.long	0x200001a0
    8c70:	2000080c 	.long	0x2000080c

Disassembly of section .text.Controlled_Key_Backlight:

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

void Controlled_Key_Backlight(U8_T state){
    8c74:	14d0      	push      	r15
	switch(state){
    8c76:	3840      	cmpnei      	r0, 0
    8c78:	0c04      	bf      	0x8c80	// 8c80 <Controlled_Key_Backlight+0xc>
    8c7a:	3841      	cmpnei      	r0, 1
    8c7c:	0c0b      	bf      	0x8c92	// 8c92 <Controlled_Key_Backlight+0x1e>
								
			}

			break;
	}
}
    8c7e:	1490      	pop      	r15
			if(g_switch.light_state[T_Backlight] != Control_OFF)
    8c80:	1068      	lrw      	r3, 0x20000574	// 8ca0 <Controlled_Key_Backlight+0x2c>
    8c82:	836a      	ld.b      	r3, (r3, 0xa)
    8c84:	3b42      	cmpnei      	r3, 2
    8c86:	0ffc      	bf      	0x8c7e	// 8c7e <Controlled_Key_Backlight+0xa>
				Contol_Switch_Light_2(T_Backlight,Control_OFF);
    8c88:	3102      	movi      	r1, 2
				Contol_Switch_Light_2(T_Backlight,Control_ON);
    8c8a:	3005      	movi      	r0, 5
    8c8c:	e3fff7cc 	bsr      	0x7c24	// 7c24 <Contol_Switch_Light_2>
}
    8c90:	07f7      	br      	0x8c7e	// 8c7e <Controlled_Key_Backlight+0xa>
			if(g_switch.light_state[T_Backlight] != Control_ON)
    8c92:	1064      	lrw      	r3, 0x20000574	// 8ca0 <Controlled_Key_Backlight+0x2c>
    8c94:	836a      	ld.b      	r3, (r3, 0xa)
    8c96:	3b41      	cmpnei      	r3, 1
    8c98:	0ff3      	bf      	0x8c7e	// 8c7e <Controlled_Key_Backlight+0xa>
				Contol_Switch_Light_2(T_Backlight,Control_ON);
    8c9a:	3101      	movi      	r1, 1
    8c9c:	07f7      	br      	0x8c8a	// 8c8a <Controlled_Key_Backlight+0x16>
    8c9e:	0000      	bkpt
    8ca0:	20000574 	.long	0x20000574

Disassembly of section .text.Set_Device_ADDR:

00008ca4 <Set_Device_ADDR>:

/*
*函数功能：管理界面 - 显示设置本机设备地址
*参数功能：addr : 0~255
*/
void Set_Device_ADDR(U8_T page, U8_T addr){
    8ca4:	14d4      	push      	r4-r7, r15
    8ca6:	1423      	subi      	r14, r14, 12
	
	//显示1	
	HT1621.show_cache[10] &= 0x01;
    HT1621.show_cache[9] = 0x00; 
	
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8ca8:	11c4      	lrw      	r6, 0xcc46	// 8d38 <Set_Device_ADDR+0x94>
    8caa:	6018      	addu      	r0, r6
    8cac:	1184      	lrw      	r4, 0x20000590	// 8d3c <Set_Device_ADDR+0x98>
void Set_Device_ADDR(U8_T page, U8_T addr){
    8cae:	6dc7      	mov      	r7, r1
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8cb0:	8020      	ld.b      	r1, (r0, 0x0)
	HT1621.show_cache[10] &= 0x01;
    8cb2:	3301      	movi      	r3, 1
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8cb4:	350f      	movi      	r5, 15
	HT1621.show_cache[10] &= 0x01;
    8cb6:	8456      	ld.b      	r2, (r4, 0x16)
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8cb8:	6c07      	mov      	r0, r1
	HT1621.show_cache[10] &= 0x01;
    8cba:	688c      	and      	r2, r3
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8cbc:	6814      	and      	r0, r5
    HT1621.show_cache[9] |= Diaital[page] >> 4;
    8cbe:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8cc0:	6c80      	or      	r2, r0
    HT1621.show_cache[9] |= Diaital[page] >> 4;
    8cc2:	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;
    8cc4:	843b      	ld.b      	r1, (r4, 0x1b)
    8cc6:	684c      	and      	r1, r3
    HT1621.show_cache[10] |= Diaital[page]&0x0F;
    8cc8:	a456      	st.b      	r2, (r4, 0x16)
    HT1621.show_cache[17] &= 0x01;
    8cca:	845d      	ld.b      	r2, (r4, 0x1d)
    8ccc:	688c      	and      	r2, r3
    HT1621.show_cache[15] &= 0x01;
    8cce:	b820      	st.w      	r1, (r14, 0x0)
    U8_T tmp_H = tmp_Integer/10;
    8cd0:	6c1f      	mov      	r0, r7
    8cd2:	3164      	movi      	r1, 100
    HT1621.show_cache[17] &= 0x01;
    8cd4:	b842      	st.w      	r2, (r14, 0x8)
    HT1621.show_cache[15] &= 0x01;
    8cd6:	b861      	st.w      	r3, (r14, 0x4)
    U8_T tmp_H = tmp_Integer/10;
    8cd8:	e3ffea30 	bsr      	0x6138	// 6138 <__udivsi3>
	HT1621.show_cache[14] = 0x00;    
    //显示
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8cdc:	7400      	zextb      	r0, r0
    8cde:	6018      	addu      	r0, r6
    8ce0:	8020      	ld.b      	r1, (r0, 0x0)
    HT1621.show_cache[19] &= 0x01;
    8ce2:	9861      	ld.w      	r3, (r14, 0x4)
    8ce4:	841f      	ld.b      	r0, (r4, 0x1f)
    8ce6:	68c0      	and      	r3, r0
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8ce8:	6c07      	mov      	r0, r1
    8cea:	6814      	and      	r0, r5
    8cec:	6cc0      	or      	r3, r0
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    8cee:	4924      	lsri      	r1, r1, 4
    HT1621.show_cache[19] |= Diaital[tmp_H]&0x0F;
    8cf0:	a47f      	st.b      	r3, (r4, 0x1f)
    HT1621.show_cache[18] |= Diaital[tmp_H] >> 4;
    8cf2:	a43e      	st.b      	r1, (r4, 0x1e)
	U8_T tmp_Integer = addr/10;
    8cf4:	6c1f      	mov      	r0, r7
    8cf6:	310a      	movi      	r1, 10
    8cf8:	e3ffea20 	bsr      	0x6138	// 6138 <__udivsi3>
    U8_T tmp_L = tmp_Integer%10;
    8cfc:	7400      	zextb      	r0, r0
    8cfe:	310a      	movi      	r1, 10
    8d00:	e3ffea40 	bsr      	0x6180	// 6180 <__umodsi3>
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    8d04:	7400      	zextb      	r0, r0
    8d06:	6018      	addu      	r0, r6
    8d08:	8060      	ld.b      	r3, (r0, 0x0)
    8d0a:	6c4f      	mov      	r1, r3
    8d0c:	6854      	and      	r1, r5
    8d0e:	9842      	ld.w      	r2, (r14, 0x8)
    8d10:	6c84      	or      	r2, r1
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    8d12:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[17] |= Diaital[tmp_L]&0x0F;
    8d14:	a45d      	st.b      	r2, (r4, 0x1d)
    HT1621.show_cache[16] |= Diaital[tmp_L] >> 4;
    8d16:	a47c      	st.b      	r3, (r4, 0x1c)
    U8_T tmp_quantile = addr%10;
    8d18:	310a      	movi      	r1, 10
    8d1a:	6c1f      	mov      	r0, r7
    8d1c:	e3ffea32 	bsr      	0x6180	// 6180 <__umodsi3>
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    8d20:	7400      	zextb      	r0, r0
    8d22:	6180      	addu      	r6, r0
    8d24:	8660      	ld.b      	r3, (r6, 0x0)
    8d26:	694c      	and      	r5, r3
    8d28:	9840      	ld.w      	r2, (r14, 0x0)
    8d2a:	6d48      	or      	r5, r2
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    8d2c:	4b64      	lsri      	r3, r3, 4
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F;      
    8d2e:	a4bb      	st.b      	r5, (r4, 0x1b)
    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4; 
    8d30:	a47a      	st.b      	r3, (r4, 0x1a)
}
    8d32:	1403      	addi      	r14, r14, 12
    8d34:	1494      	pop      	r4-r7, r15
    8d36:	0000      	bkpt
    8d38:	0000cc46 	.long	0x0000cc46
    8d3c:	20000590 	.long	0x20000590

Disassembly of section .text.Set_Temp_Difference:

00008d40 <Set_Temp_Difference>:

	//显示1
	HT1621.show_cache[10] &= 0x01;
    HT1621.show_cache[9] = 0x00; 
	
    HT1621.show_cache[10] |= Diaital[2]&0x0F;
    8d40:	1057      	lrw      	r2, 0x20000590	// 8d9c <Set_Temp_Difference+0x5c>
	HT1621.show_cache[10] &= 0x01;
    8d42:	3101      	movi      	r1, 1
    8d44:	8276      	ld.b      	r3, (r2, 0x16)
    8d46:	68c4      	and      	r3, r1
    HT1621.show_cache[10] |= Diaital[2]&0x0F;
    8d48:	3ba1      	bseti      	r3, 1
    8d4a:	3ba2      	bseti      	r3, 2
    8d4c:	a276      	st.b      	r3, (r2, 0x16)
    HT1621.show_cache[9] |= Diaital[2] >> 4;
    8d4e:	330d      	movi      	r3, 13
    8d50:	a275      	st.b      	r3, (r2, 0x15)
	
    //清楚原数字
    HT1621.show_cache[19] &= 0x01;
    8d52:	827f      	ld.b      	r3, (r2, 0x1f)
    8d54:	68c4      	and      	r3, r1
    8d56:	a27f      	st.b      	r3, (r2, 0x1f)
    HT1621.show_cache[18] = 0x00;
    8d58:	3300      	movi      	r3, 0
    8d5a:	a27e      	st.b      	r3, (r2, 0x1e)
    HT1621.show_cache[17] &= 0x01;
    8d5c:	827d      	ld.b      	r3, (r2, 0x1d)
    8d5e:	68c4      	and      	r3, r1
    8d60:	a27d      	st.b      	r3, (r2, 0x1d)
    HT1621.show_cache[16] = 0x00;      
    8d62:	3300      	movi      	r3, 0
    8d64:	a27c      	st.b      	r3, (r2, 0x1c)
    HT1621.show_cache[15] &= 0x01;
    8d66:	827b      	ld.b      	r3, (r2, 0x1b)
    8d68:	684c      	and      	r1, r3
	HT1621.show_cache[14] = 0x00;     
    
	//显示设置地址
    if((diff >= 0x09) && (diff <= 18) ){
    8d6a:	3300      	movi      	r3, 0
    8d6c:	2b08      	subi      	r3, 9
    8d6e:	60c0      	addu      	r3, r0
    8d70:	74cc      	zextb      	r3, r3
    8d72:	3b09      	cmphsi      	r3, 10
    8d74:	0c08      	bf      	0x8d84	// 8d84 <Set_Temp_Difference+0x44>
		tmp_quantile = diff - 9;
	}else if(diff < 0x09){
    8d76:	3808      	cmphsi      	r0, 9
    8d78:	0810      	bt      	0x8d98	// 8d98 <Set_Temp_Difference+0x58>
		tmp_quantile = 9 - diff;
    8d7a:	3309      	movi      	r3, 9
    8d7c:	60c2      	subu      	r3, r0
		
		//显示负号
		HT1621.show_cache[17] = 0x04;
    8d7e:	3004      	movi      	r0, 4
		tmp_quantile = 9 - diff;
    8d80:	74cc      	zextb      	r3, r3
		HT1621.show_cache[17] = 0x04;
    8d82:	a21d      	st.b      	r0, (r2, 0x1d)
		HT1621.show_cache[16] = 0x00;
	}

    HT1621.show_cache[14] |= Diaital[tmp_quantile] >> 4;      
    8d84:	1007      	lrw      	r0, 0xcc46	// 8da0 <Set_Temp_Difference+0x60>
    8d86:	60c0      	addu      	r3, r0
    8d88:	8360      	ld.b      	r3, (r3, 0x0)
    8d8a:	4b04      	lsri      	r0, r3, 4
    8d8c:	a21a      	st.b      	r0, (r2, 0x1a)
    HT1621.show_cache[15] |= Diaital[tmp_quantile]&0x0F; 
    8d8e:	300f      	movi      	r0, 15
    8d90:	68c0      	and      	r3, r0
    8d92:	6c4c      	or      	r1, r3
    8d94:	a23b      	st.b      	r1, (r2, 0x1b)
}
    8d96:	783c      	jmp      	r15
    U8_T tmp_quantile = 0x00;
    8d98:	3300      	movi      	r3, 0
    8d9a:	07f5      	br      	0x8d84	// 8d84 <Set_Temp_Difference+0x44>
    8d9c:	20000590 	.long	0x20000590
    8da0:	0000cc46 	.long	0x0000cc46

Disassembly of section .text.HT1621_Refresh_Task:

00008da4 <HT1621_Refresh_Task>:


void HT1621_Refresh_Task(void){
    8da4:	14d2      	push      	r4-r5, r15
	
	if(SysTick_1ms - HT1621.Refresh_timing >= HT1621_Refresh_time){
    8da6:	109e      	lrw      	r4, 0x200000c0	// 8e1c <HT1621_Refresh_Task+0x78>
    8da8:	10be      	lrw      	r5, 0x20000590	// 8e20 <HT1621_Refresh_Task+0x7c>
    8daa:	9460      	ld.w      	r3, (r4, 0x0)
    8dac:	954c      	ld.w      	r2, (r5, 0x30)
    8dae:	60ca      	subu      	r3, r2
    8db0:	105d      	lrw      	r2, 0x1f3	// 8e24 <HT1621_Refresh_Task+0x80>
    8db2:	64c8      	cmphs      	r2, r3
    8db4:	0806      	bt      	0x8dc0	// 8dc0 <HT1621_Refresh_Task+0x1c>
		HT1621.Refresh_timing = HT1621_Refresh_time;
    8db6:	33fa      	movi      	r3, 250
    8db8:	4361      	lsli      	r3, r3, 1
    8dba:	b56c      	st.w      	r3, (r5, 0x30)
		
		HT1621_Refresh_Data();
    8dbc:	e3fffbf8 	bsr      	0x85ac	// 85ac <HT1621_Refresh_Data>
//		HT1621_ReadData();
	}
	
	//控制蜂鸣器
	if(HT1621.buz_control == 0x01){
    8dc0:	107a      	lrw      	r3, 0x200005b0	// 8e28 <HT1621_Refresh_Task+0x84>
    8dc2:	8344      	ld.b      	r2, (r3, 0x4)
    8dc4:	3a41      	cmpnei      	r2, 1
    8dc6:	0824      	bt      	0x8e0e	// 8e0e <HT1621_Refresh_Task+0x6a>
        if(SysTick_1ms - HT1621.buz_tick >= 100){
    8dc8:	952e      	ld.w      	r1, (r5, 0x38)
    8dca:	9440      	ld.w      	r2, (r4, 0x0)
    8dcc:	6086      	subu      	r2, r1
    8dce:	3163      	movi      	r1, 99
            HT1621.buz_control = 0x00;

            Controlled_Buzzer(0x00);
        }
    }else if(HT1621.buz_control == 0x02){
        if(SysTick_1ms - HT1621.buz_tick >= 500){
    8dd0:	6484      	cmphs      	r1, r2
    8dd2:	0808      	bt      	0x8de2	// 8de2 <HT1621_Refresh_Task+0x3e>
            HT1621.buz_tick = SysTick_1ms;
    8dd4:	9440      	ld.w      	r2, (r4, 0x0)
    8dd6:	b54e      	st.w      	r2, (r5, 0x38)
        HT1621_WR_CMD(HT1621_BIOFF);
    8dd8:	3010      	movi      	r0, 16
            HT1621.buz_control = 0x00;
    8dda:	3200      	movi      	r2, 0
    8ddc:	a344      	st.b      	r2, (r3, 0x4)
        HT1621_WR_CMD(HT1621_BIOFF);
    8dde:	e3fffb2d 	bsr      	0x8438	// 8438 <HT1621_WR_CMD>
            Controlled_Buzzer(0x00);
        }
    }
	
	//刷新LCD背光
	if(tm1812_param.LCD_blacklingt_mode != TempCtrl.TemState_Now.mode){
    8de2:	1053      	lrw      	r2, 0x2000080c	// 8e2c <HT1621_Refresh_Task+0x88>
    8de4:	8202      	ld.b      	r0, (r2, 0x2)
    8de6:	1033      	lrw      	r1, 0x200001a0	// 8e30 <HT1621_Refresh_Task+0x8c>
    8de8:	4079      	lsli      	r3, r0, 25
    8dea:	81ba      	ld.b      	r5, (r1, 0x1a)
    8dec:	4b7d      	lsri      	r3, r3, 29
    8dee:	64d6      	cmpne      	r5, r3
    8df0:	0c0e      	bf      	0x8e0c	// 8e0c <HT1621_Refresh_Task+0x68>
		TempCtrl.BackLightTick = SysTick_1ms;
    8df2:	9460      	ld.w      	r3, (r4, 0x0)
    8df4:	4b88      	lsri      	r4, r3, 8
    8df6:	a270      	st.b      	r3, (r2, 0x10)
    8df8:	a291      	st.b      	r4, (r2, 0x11)
    8dfa:	4b90      	lsri      	r4, r3, 16
    8dfc:	4b78      	lsri      	r3, r3, 24
    8dfe:	a273      	st.b      	r3, (r2, 0x13)
		tm1812_param.LCD_blaklingt_flag = 0x00;
		Controlled_LCD_Backlight(TempCtrl.TemState_Now.on_off);
    8e00:	4807      	lsri      	r0, r0, 7
		tm1812_param.LCD_blaklingt_flag = 0x00;
    8e02:	3300      	movi      	r3, 0
		TempCtrl.BackLightTick = SysTick_1ms;
    8e04:	a292      	st.b      	r4, (r2, 0x12)
		tm1812_param.LCD_blaklingt_flag = 0x00;
    8e06:	a179      	st.b      	r3, (r1, 0x19)
		Controlled_LCD_Backlight(TempCtrl.TemState_Now.on_off);
    8e08:	e3fffec8 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
	}
	
}
    8e0c:	1492      	pop      	r4-r5, r15
    }else if(HT1621.buz_control == 0x02){
    8e0e:	3a42      	cmpnei      	r2, 2
    8e10:	0be9      	bt      	0x8de2	// 8de2 <HT1621_Refresh_Task+0x3e>
        if(SysTick_1ms - HT1621.buz_tick >= 500){
    8e12:	952e      	ld.w      	r1, (r5, 0x38)
    8e14:	9440      	ld.w      	r2, (r4, 0x0)
    8e16:	6086      	subu      	r2, r1
    8e18:	1023      	lrw      	r1, 0x1f3	// 8e24 <HT1621_Refresh_Task+0x80>
    8e1a:	07db      	br      	0x8dd0	// 8dd0 <HT1621_Refresh_Task+0x2c>
    8e1c:	200000c0 	.long	0x200000c0
    8e20:	20000590 	.long	0x20000590
    8e24:	000001f3 	.long	0x000001f3
    8e28:	200005b0 	.long	0x200005b0
    8e2c:	2000080c 	.long	0x2000080c
    8e30:	200001a0 	.long	0x200001a0

Disassembly of section .text.Boot_Comm_CheckSum:

00008e34 <Boot_Comm_CheckSum>:
    }

}

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

    while(len--)
    8e38:	1047      	lrw      	r2, 0xffff	// 8e54 <Boot_Comm_CheckSum+0x20>
    8e3a:	2900      	subi      	r1, 1
    8e3c:	7445      	zexth      	r1, r1
    8e3e:	6486      	cmpne      	r1, r2
    8e40:	0804      	bt      	0x8e48	// 8e48 <Boot_Comm_CheckSum+0x14>
    {
        sum += buffer[i];
        i++;
    }
    return (~sum);
    8e42:	6cce      	nor      	r3, r3
    8e44:	740c      	zextb      	r0, r3
}
    8e46:	1481      	pop      	r4
        sum += buffer[i];
    8e48:	8080      	ld.b      	r4, (r0, 0x0)
    8e4a:	60d0      	addu      	r3, r4
    8e4c:	74cc      	zextb      	r3, r3
    8e4e:	2000      	addi      	r0, 1
    8e50:	07f5      	br      	0x8e3a	// 8e3a <Boot_Comm_CheckSum+0x6>
    8e52:	0000      	bkpt
    8e54:	0000ffff 	.long	0x0000ffff

Disassembly of section .text.Boot_Comm_FillReplyPack:

00008e58 <Boot_Comm_FillReplyPack>:
    }
    return xda;
}

void Boot_Comm_FillReplyPack(BOOT_INFO_T *ack_uart)
{
    8e58:	14d4      	push      	r4-r7, r15
    8e5a:	1421      	subi      	r14, r14, 4
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8e5c:	3780      	movi      	r7, 128
	
	ack_uart->ackBuffer[BCOMM_FMT_TXAddr] = g_mcu_dev.dev_addr;
    8e5e:	1074      	lrw      	r3, 0x200004fc	// 8eac <Boot_Comm_FillReplyPack+0x54>
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8e60:	47e1      	lsli      	r7, r7, 1
	ack_uart->ackBuffer[BCOMM_FMT_TXAddr] = g_mcu_dev.dev_addr;
    8e62:	8340      	ld.b      	r2, (r3, 0x0)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8e64:	61c0      	addu      	r7, r0
	ack_uart->ackBuffer[BCOMM_FMT_SN] = ack_uart->sn;
	ack_uart->ackBuffer[BCOMM_FMT_TYPE] = g_mcu_dev.dev_type;
    8e66:	8361      	ld.b      	r3, (r3, 0x1)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8e68:	8fb8      	ld.h      	r5, (r7, 0x30)
	ack_uart->ackBuffer[BCOMM_FMT_TYPE] = g_mcu_dev.dev_type;
    8e6a:	a066      	st.b      	r3, (r0, 0x6)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8e6c:	2507      	addi      	r5, 8
	ack_uart->ackBuffer[BCOMM_FMT_RXAddr] = g_boot.pc_addr;
    8e6e:	1071      	lrw      	r3, 0x200005d0	// 8eb0 <Boot_Comm_FillReplyPack+0x58>
    8e70:	8363      	ld.b      	r3, (r3, 0x3)
    U16_T data_len = ack_uart->ackLen + BCOMM_FMT_PARAM;
    8e72:	7555      	zexth      	r5, r5
	ack_uart->ackBuffer[BCOMM_FMT_RXAddr] = g_boot.pc_addr;
    8e74:	a067      	st.b      	r3, (r0, 0x7)
	
    ack_uart->ackBuffer[BCOMM_FMT_CMD] = ack_uart->cmd;
    8e76:	8062      	ld.b      	r3, (r0, 0x2)
    8e78:	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;
    8e7a:	4d68      	lsri      	r3, r5, 8
	ack_uart->ackBuffer[BCOMM_FMT_TXAddr] = g_mcu_dev.dev_addr;
    8e7c:	a044      	st.b      	r2, (r0, 0x4)
	ack_uart->ackBuffer[BCOMM_FMT_LEN_H] = (data_len >> 8) & 0xFF;
    8e7e:	a069      	st.b      	r3, (r0, 0x9)
	ack_uart->ackBuffer[BCOMM_FMT_SN] = ack_uart->sn;
    8e80:	8041      	ld.b      	r2, (r0, 0x1)
	
    ack_uart->ackBuffer[BCOMM_FMT_CKS] = 0;
    8e82:	3300      	movi      	r3, 0

    ack_uart->ackBuffer[BCOMM_FMT_CKS] = Boot_Comm_CheckSum(ack_uart->ackBuffer, data_len);
    8e84:	58ce      	addi      	r6, r0, 4
{
    8e86:	6d03      	mov      	r4, r0
	ack_uart->ackBuffer[BCOMM_FMT_SN] = ack_uart->sn;
    8e88:	a045      	st.b      	r2, (r0, 0x5)
    ack_uart->ackBuffer[BCOMM_FMT_LEN_L] = data_len & 0xFF;
    8e8a:	a0a8      	st.b      	r5, (r0, 0x8)
    ack_uart->ackBuffer[BCOMM_FMT_CKS] = 0;
    8e8c:	a06a      	st.b      	r3, (r0, 0xa)
    ack_uart->ackBuffer[BCOMM_FMT_CKS] = Boot_Comm_CheckSum(ack_uart->ackBuffer, data_len);
    8e8e:	6c57      	mov      	r1, r5
    8e90:	6c1b      	mov      	r0, r6
    8e92:	e3ffffd1 	bsr      	0x8e34	// 8e34 <Boot_Comm_CheckSum>
    8e96:	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);
    8e98:	3264      	movi      	r2, 100
    8e9a:	8f79      	ld.h      	r3, (r7, 0x32)
    8e9c:	6c57      	mov      	r1, r5
    8e9e:	b840      	st.w      	r2, (r14, 0x0)
    8ea0:	6c1b      	mov      	r0, r6
    8ea2:	3201      	movi      	r2, 1
    8ea4:	e3ffeb46 	bsr      	0x6530	// 6530 <Set_GroupSend>
	
	//ack_uart->ackLen = 0x00;
}
    8ea8:	1401      	addi      	r14, r14, 4
    8eaa:	1494      	pop      	r4-r7, r15
    8eac:	200004fc 	.long	0x200004fc
    8eb0:	200005d0 	.long	0x200005d0

Disassembly of section .text.Boot_Time_Refresh:

00008eb4 <Boot_Time_Refresh>:
	
}

void Boot_Time_Refresh(void)
{
	g_boot.bootTick = SysTick_1ms;
    8eb4:	1063      	lrw      	r3, 0x200000c0	// 8ec0 <Boot_Time_Refresh+0xc>
    8eb6:	9340      	ld.w      	r2, (r3, 0x0)
    8eb8:	1063      	lrw      	r3, 0x200006d0	// 8ec4 <Boot_Time_Refresh+0x10>
    8eba:	b34e      	st.w      	r2, (r3, 0x38)
}
    8ebc:	783c      	jmp      	r15
    8ebe:	0000      	bkpt
    8ec0:	200000c0 	.long	0x200000c0
    8ec4:	200006d0 	.long	0x200006d0

Disassembly of section .text.Boot_Comm_UpgradeProcess:

00008ec8 <Boot_Comm_UpgradeProcess>:
{
    8ec8:	14d4      	push      	r4-r7, r15
    8eca:	1423      	subi      	r14, r14, 12
	data_len |= data[BCOMM_FMT_LEN_L];
    8ecc:	8065      	ld.b      	r3, (r0, 0x5)
    8ece:	8044      	ld.b      	r2, (r0, 0x4)
    8ed0:	4368      	lsli      	r3, r3, 8
    8ed2:	6cc8      	or      	r3, r2
	if(len != data_len) 	{
    8ed4:	644e      	cmpne      	r3, r1
{
    8ed6:	6d43      	mov      	r5, r0
	data_len |= data[BCOMM_FMT_LEN_L];
    8ed8:	b860      	st.w      	r3, (r14, 0x0)
	if(len != data_len) 	{
    8eda:	08ad      	bt      	0x9034	// 9034 <Boot_Comm_UpgradeProcess+0x16c>
	if(Boot_Comm_CheckSum(data,len) != 0)	{
    8edc:	6c4f      	mov      	r1, r3
    8ede:	e3ffffab 	bsr      	0x8e34	// 8e34 <Boot_Comm_CheckSum>
    8ee2:	3840      	cmpnei      	r0, 0
    8ee4:	08aa      	bt      	0x9038	// 9038 <Boot_Comm_UpgradeProcess+0x170>
	if( (data[BCOMM_FMT_SN] & 0x80) == 0x80){
    8ee6:	8561      	ld.b      	r3, (r5, 0x1)
    8ee8:	748e      	sextb      	r2, r3
    8eea:	3adf      	btsti      	r2, 31
    8eec:	1296      	lrw      	r4, 0x200005d0	// 9044 <Boot_Comm_UpgradeProcess+0x17c>
		if( (data[BCOMM_FMT_SN] & 0x0F) !=  g_boot.sn){
    8eee:	8421      	ld.b      	r1, (r4, 0x1)
    8ef0:	320f      	movi      	r2, 15
	if( (data[BCOMM_FMT_SN] & 0x80) == 0x80){
    8ef2:	0c2e      	bf      	0x8f4e	// 8f4e <Boot_Comm_UpgradeProcess+0x86>
		if( (data[BCOMM_FMT_SN] & 0x0F) !=  g_boot.sn){
    8ef4:	68c8      	and      	r3, r2
    8ef6:	64c6      	cmpne      	r1, r3
    8ef8:	6001      	addc      	r0, r0
			deal_flag = 0x00;
    8efa:	74c0      	zextb      	r3, r0
	U8_T deal_flag = 0,group_flag = 0,reply_flag = 0,setinfo_flag = 0,crcResultFlag = 0;
    8efc:	3700      	movi      	r7, 0
		group_flag = 0x01;
    8efe:	3001      	movi      	r0, 1
	if( (data[BCOMM_FMT_TYPE] != g_mcu_dev.dev_type) && (data[BCOMM_FMT_TYPE] != 0xFF) ){
    8f00:	12d2      	lrw      	r6, 0x200004fc	// 9048 <Boot_Comm_UpgradeProcess+0x180>
    8f02:	8542      	ld.b      	r2, (r5, 0x2)
    8f04:	8621      	ld.b      	r1, (r6, 0x1)
    8f06:	6486      	cmpne      	r1, r2
    8f08:	0c04      	bf      	0x8f10	// 8f10 <Boot_Comm_UpgradeProcess+0x48>
    8f0a:	31ff      	movi      	r1, 255
    8f0c:	644a      	cmpne      	r2, r1
    8f0e:	0897      	bt      	0x903c	// 903c <Boot_Comm_UpgradeProcess+0x174>
	if( (data[BCOMM_FMT_RXAddr] != g_mcu_dev.dev_addr) && (data[BCOMM_FMT_RXAddr] != 0xFF) ){
    8f10:	8543      	ld.b      	r2, (r5, 0x3)
    8f12:	8620      	ld.b      	r1, (r6, 0x0)
    8f14:	6486      	cmpne      	r1, r2
    8f16:	0c04      	bf      	0x8f1e	// 8f1e <Boot_Comm_UpgradeProcess+0x56>
    8f18:	31ff      	movi      	r1, 255
    8f1a:	644a      	cmpne      	r2, r1
    8f1c:	0892      	bt      	0x9040	// 9040 <Boot_Comm_UpgradeProcess+0x178>
    8f1e:	b802      	st.w      	r0, (r14, 0x8)
    8f20:	b861      	st.w      	r3, (r14, 0x4)
	Boot_Time_Refresh();
    8f22:	e3ffffc9 	bsr      	0x8eb4	// 8eb4 <Boot_Time_Refresh>
	g_boot.pc_addr = data[BCOMM_FMT_TXAddr];
    8f26:	8560      	ld.b      	r3, (r5, 0x0)
    8f28:	a463      	st.b      	r3, (r4, 0x3)
	g_boot.sn = data[BCOMM_FMT_SN] & 0x0F;
    8f2a:	8541      	ld.b      	r2, (r5, 0x1)
    8f2c:	310f      	movi      	r1, 15
    8f2e:	6884      	and      	r2, r1
    8f30:	a441      	st.b      	r2, (r4, 0x1)
	switch(g_boot.cmd){
    8f32:	31c0      	movi      	r1, 192
	g_boot.cmd = data[BCOMM_FMT_CMD];
    8f34:	8547      	ld.b      	r2, (r5, 0x7)
	switch(g_boot.cmd){
    8f36:	644a      	cmpne      	r2, r1
	g_boot.cmd = data[BCOMM_FMT_CMD];
    8f38:	a442      	st.b      	r2, (r4, 0x2)
	switch(g_boot.cmd){
    8f3a:	9861      	ld.w      	r3, (r14, 0x4)
    8f3c:	9802      	ld.w      	r0, (r14, 0x8)
    8f3e:	0c1b      	bf      	0x8f74	// 8f74 <Boot_Comm_UpgradeProcess+0xac>
    8f40:	31c1      	movi      	r1, 193
    8f42:	644a      	cmpne      	r2, r1
    8f44:	0c63      	bf      	0x900a	// 900a <Boot_Comm_UpgradeProcess+0x142>
			g_boot.ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplyFAIL;
    8f46:	3301      	movi      	r3, 1
    8f48:	a46c      	st.b      	r3, (r4, 0xc)
			g_boot.ackLen = 1;
    8f4a:	1261      	lrw      	r3, 0x200006d0	// 904c <Boot_Comm_UpgradeProcess+0x184>
    8f4c:	046c      	br      	0x9024	// 9024 <Boot_Comm_UpgradeProcess+0x15c>
		if( (data[BCOMM_FMT_SN] & 0x0F) !=  g_boot.sn){
    8f4e:	688c      	and      	r2, r3
    8f50:	6486      	cmpne      	r1, r2
    8f52:	080c      	bt      	0x8f6a	// 8f6a <Boot_Comm_UpgradeProcess+0xa2>
		}else if( (data[BCOMM_FMT_SN] & 0x40) == 0x40 ){
    8f54:	3240      	movi      	r2, 64
    8f56:	68c8      	and      	r3, r2
    8f58:	3b40      	cmpnei      	r3, 0
    8f5a:	0c0b      	bf      	0x8f70	// 8f70 <Boot_Comm_UpgradeProcess+0xa8>
			if(data[BCOMM_FMT_CMD] == g_boot.ackBuffer[BCOMM_FMT_CMD] ){
    8f5c:	8547      	ld.b      	r2, (r5, 0x7)
    8f5e:	846b      	ld.b      	r3, (r4, 0xb)
    8f60:	64ca      	cmpne      	r2, r3
    8f62:	65c3      	mvcv      	r7
	U8_T deal_flag = 0,group_flag = 0,reply_flag = 0,setinfo_flag = 0,crcResultFlag = 0;
    8f64:	75dc      	zextb      	r7, r7
    8f66:	3300      	movi      	r3, 0
    8f68:	07cc      	br      	0x8f00	// 8f00 <Boot_Comm_UpgradeProcess+0x38>
			reply_flag = 0x01;
    8f6a:	3701      	movi      	r7, 1
			deal_flag = 0x01;
    8f6c:	3301      	movi      	r3, 1
    8f6e:	07c9      	br      	0x8f00	// 8f00 <Boot_Comm_UpgradeProcess+0x38>
	U8_T deal_flag = 0,group_flag = 0,reply_flag = 0,setinfo_flag = 0,crcResultFlag = 0;
    8f70:	3700      	movi      	r7, 0
    8f72:	07fa      	br      	0x8f66	// 8f66 <Boot_Comm_UpgradeProcess+0x9e>
			if( (deal_flag == 0x01) && (data_len >= (BCOMM_FMT_PARAM + 4) )  ){
    8f74:	3b41      	cmpnei      	r3, 1
    8f76:	0819      	bt      	0x8fa8	// 8fa8 <Boot_Comm_UpgradeProcess+0xe0>
    8f78:	9860      	ld.w      	r3, (r14, 0x0)
    8f7a:	3b0b      	cmphsi      	r3, 12
    8f7c:	0c16      	bf      	0x8fa8	// 8fa8 <Boot_Comm_UpgradeProcess+0xe0>
				temp_data |= data[BCOMM_FMT_PARAM];
    8f7e:	8549      	ld.b      	r2, (r5, 0x9)
    8f80:	8568      	ld.b      	r3, (r5, 0x8)
    8f82:	4248      	lsli      	r2, r2, 8
    8f84:	6c8c      	or      	r2, r3
				if(temp_data != g_boot.bootTimeout){
    8f86:	1172      	lrw      	r3, 0x200006d0	// 904c <Boot_Comm_UpgradeProcess+0x184>
    8f88:	932d      	ld.w      	r1, (r3, 0x34)
    8f8a:	644a      	cmpne      	r2, r1
    8f8c:	0c09      	bf      	0x8f9e	// 8f9e <Boot_Comm_UpgradeProcess+0xd6>
					if(g_boot.bootTimeout < 10) 	g_boot.bootTimeout = 10;
    8f8e:	3a09      	cmphsi      	r2, 10
    8f90:	0c3b      	bf      	0x9006	// 9006 <Boot_Comm_UpgradeProcess+0x13e>
    8f92:	b34d      	st.w      	r2, (r3, 0x34)
					g_boot.bootTimeout = g_boot.bootTimeout  * 1000;
    8f94:	31fa      	movi      	r1, 250
    8f96:	934d      	ld.w      	r2, (r3, 0x34)
    8f98:	4122      	lsli      	r1, r1, 2
    8f9a:	7c84      	mult      	r2, r1
    8f9c:	b34d      	st.w      	r2, (r3, 0x34)
    8f9e:	854b      	ld.b      	r2, (r5, 0xb)
    8fa0:	852a      	ld.b      	r1, (r5, 0xa)
    8fa2:	4248      	lsli      	r2, r2, 8
    8fa4:	6c84      	or      	r2, r1
				g_boot.ackValidity = temp_data;
    8fa6:	ab59      	st.h      	r2, (r3, 0x32)
			if(reply_flag != 0x01)	break;		//不回复，直接退出
    8fa8:	3f41      	cmpnei      	r7, 1
    8faa:	082c      	bt      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
			g_boot.ackBuffer[BCOMM_FMT_PARAM] = Project_Area;						//当前处于Bootload区域  0x01：Boot;0x02：APP
    8fac:	3302      	movi      	r3, 2
    8fae:	a46c      	st.b      	r3, (r4, 0xc)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 1] = g_mcu_dev.dev_boot_ver;			//Boot 软件版本号
    8fb0:	8662      	ld.b      	r3, (r6, 0x2)
    8fb2:	a46d      	st.b      	r3, (r4, 0xd)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 2] = g_mcu_dev.dev_app_ver;			//APP  软件版本号
    8fb4:	8663      	ld.b      	r3, (r6, 0x3)
    8fb6:	a46e      	st.b      	r3, (r4, 0xe)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 3] = 0x03;			//UUID 长度 MD203 UID 3Byte
    8fb8:	3303      	movi      	r3, 3
    8fba:	a46f      	st.b      	r3, (r4, 0xf)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 4] = SYSCON->UID0;
    8fbc:	1165      	lrw      	r3, 0x2000005c	// 9050 <Boot_Comm_UpgradeProcess+0x188>
    8fbe:	9360      	ld.w      	r3, (r3, 0x0)
    8fc0:	237f      	addi      	r3, 128
    8fc2:	9359      	ld.w      	r2, (r3, 0x64)
    8fc4:	a450      	st.b      	r2, (r4, 0x10)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 5] = SYSCON->UID1;
    8fc6:	935a      	ld.w      	r2, (r3, 0x68)
    8fc8:	a451      	st.b      	r2, (r4, 0x11)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 6] = SYSCON->UID2;
    8fca:	937b      	ld.w      	r3, (r3, 0x6c)
    8fcc:	a472      	st.b      	r3, (r4, 0x12)
			if(g_mcu_dev.dev_name_len > EEPROM_DEV_NAME_Size)	g_mcu_dev.dev_name_len = EEPROM_DEV_NAME_Size;
    8fce:	8644      	ld.b      	r2, (r6, 0x4)
    8fd0:	3320      	movi      	r3, 32
    8fd2:	648c      	cmphs      	r3, r2
    8fd4:	0802      	bt      	0x8fd8	// 8fd8 <Boot_Comm_UpgradeProcess+0x110>
    8fd6:	a664      	st.b      	r3, (r6, 0x4)
			g_boot.ackBuffer[BCOMM_FMT_PARAM + 7] = g_mcu_dev.dev_name_len;
    8fd8:	8664      	ld.b      	r3, (r6, 0x4)
    8fda:	a473      	st.b      	r3, (r4, 0x13)
    8fdc:	3320      	movi      	r3, 32
    8fde:	103b      	lrw      	r1, 0x200004fc	// 9048 <Boot_Comm_UpgradeProcess+0x180>
    8fe0:	1059      	lrw      	r2, 0x200005d0	// 9044 <Boot_Comm_UpgradeProcess+0x17c>
    8fe2:	2b00      	subi      	r3, 1
    8fe4:	74cc      	zextb      	r3, r3
				g_boot.ackBuffer[BCOMM_FMT_PARAM + i + 8] = g_mcu_dev.dev_name[i];
    8fe6:	8185      	ld.b      	r4, (r1, 0x5)
			for(U8_T i=0;i<EEPROM_DEV_NAME_Size;i++){
    8fe8:	3b40      	cmpnei      	r3, 0
				g_boot.ackBuffer[BCOMM_FMT_PARAM + i + 8] = g_mcu_dev.dev_name[i];
    8fea:	a294      	st.b      	r4, (r2, 0x14)
    8fec:	2100      	addi      	r1, 1
    8fee:	2200      	addi      	r2, 1
			for(U8_T i=0;i<EEPROM_DEV_NAME_Size;i++){
    8ff0:	0bf9      	bt      	0x8fe2	// 8fe2 <Boot_Comm_UpgradeProcess+0x11a>
			g_boot.ackLen = 0x08 + EEPROM_DEV_NAME_Size;
    8ff2:	1077      	lrw      	r3, 0x200006d0	// 904c <Boot_Comm_UpgradeProcess+0x184>
    8ff4:	3228      	movi      	r2, 40
    8ff6:	ab58      	st.h      	r2, (r3, 0x30)
	if( (group_flag == 0x00) && (reply_flag == 0x01) )
    8ff8:	3840      	cmpnei      	r0, 0
    8ffa:	0804      	bt      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
		Boot_Comm_FillReplyPack(&g_boot);
    8ffc:	1012      	lrw      	r0, 0x200005d0	// 9044 <Boot_Comm_UpgradeProcess+0x17c>
    8ffe:	e3ffff2d 	bsr      	0x8e58	// 8e58 <Boot_Comm_FillReplyPack>
}
    9002:	1403      	addi      	r14, r14, 12
    9004:	1494      	pop      	r4-r7, r15
					if(g_boot.bootTimeout < 10) 	g_boot.bootTimeout = 10;
    9006:	320a      	movi      	r2, 10
    9008:	07c5      	br      	0x8f92	// 8f92 <Boot_Comm_UpgradeProcess+0xca>
			if(deal_flag != 0x01) 	break;	//不处理直接退出
    900a:	3b41      	cmpnei      	r3, 1
    900c:	080e      	bt      	0x9028	// 9028 <Boot_Comm_UpgradeProcess+0x160>
			if(data[BCOMM_FMT_PARAM] == 0x02){
    900e:	8568      	ld.b      	r3, (r5, 0x8)
    9010:	3b42      	cmpnei      	r3, 2
    9012:	106f      	lrw      	r3, 0x200006d0	// 904c <Boot_Comm_UpgradeProcess+0x184>
    9014:	080e      	bt      	0x9030	// 9030 <Boot_Comm_UpgradeProcess+0x168>
				g_boot.bootTimeout = 200;			//在Boot超时中跳转
    9016:	32c8      	movi      	r2, 200
    9018:	b34d      	st.w      	r2, (r3, 0x34)
				g_boot.bootTick = SysTick_1ms;
    901a:	104f      	lrw      	r2, 0x200000c0	// 9054 <Boot_Comm_UpgradeProcess+0x18c>
    901c:	9240      	ld.w      	r2, (r2, 0x0)
    901e:	b34e      	st.w      	r2, (r3, 0x38)
				g_boot.ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplySUCC;
    9020:	3200      	movi      	r2, 0
				g_boot.ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplyFAIL;
    9022:	a44c      	st.b      	r2, (r4, 0xc)
			g_boot.ackLen = 1;
    9024:	3201      	movi      	r2, 1
    9026:	ab58      	st.h      	r2, (r3, 0x30)
	if( (group_flag == 0x00) && (reply_flag == 0x01) )
    9028:	3840      	cmpnei      	r0, 0
    902a:	0bec      	bt      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
    902c:	3f41      	cmpnei      	r7, 1
    902e:	07e6      	br      	0x8ffa	// 8ffa <Boot_Comm_UpgradeProcess+0x132>
				g_boot.ackBuffer[BCOMM_FMT_PARAM] = BCOMM_CMD_ReplyFAIL;
    9030:	3201      	movi      	r2, 1
    9032:	07f8      	br      	0x9022	// 9022 <Boot_Comm_UpgradeProcess+0x15a>
		return 0x01;
    9034:	3001      	movi      	r0, 1
    9036:	07e6      	br      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
		return 0x02;
    9038:	3002      	movi      	r0, 2
    903a:	07e4      	br      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
		return 0x03;
    903c:	3003      	movi      	r0, 3
    903e:	07e2      	br      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
		return 0x04;
    9040:	3004      	movi      	r0, 4
    9042:	07e0      	br      	0x9002	// 9002 <Boot_Comm_UpgradeProcess+0x13a>
    9044:	200005d0 	.long	0x200005d0
    9048:	200004fc 	.long	0x200004fc
    904c:	200006d0 	.long	0x200006d0
    9050:	2000005c 	.long	0x2000005c
    9054:	200000c0 	.long	0x200000c0

Disassembly of section .text.TemCtrl_Init:

00009058 <TemCtrl_Init>:
 * 函数功能：温控初始化
 * 
 * 
*/
void TemCtrl_Init(void)
{
    9058:	14d1      	push      	r4, r15
	memset(&TempCtrl,0x00,sizeof(TempCtrl_Unit));
    905a:	1299      	lrw      	r4, 0x2000080c	// 91bc <TemCtrl_Init+0x164>
    905c:	3229      	movi      	r2, 41
    905e:	3100      	movi      	r1, 0
    9060:	6c13      	mov      	r0, r4
    9062:	e3ffd89d 	bsr      	0x419c	// 419c <__memset_fast>
	
	if(Sys_RSR & 0xFFFFFFFE)        //除上电复位外其他复位源则恢复温控状态
    9066:	1277      	lrw      	r3, 0x200000b4	// 91c0 <TemCtrl_Init+0x168>
    9068:	9360      	ld.w      	r3, (r3, 0x0)
    906a:	3b80      	bclri      	r3, 0
    906c:	3b40      	cmpnei      	r3, 0
    906e:	0ca0      	bf      	0x91ae	// 91ae <TemCtrl_Init+0x156>
	{
		Dbg_Println(DBG_BIT_SYS_STATUS,"MCU reset,recover state!");
    9070:	1235      	lrw      	r1, 0xcfde	// 91c4 <TemCtrl_Init+0x16c>
    9072:	3000      	movi      	r0, 0
    9074:	e3ffeb04 	bsr      	0x667c	// 667c <Dbg_Println>
		
		if(((Sav_Temp & 0xFF) == TEMP_OFF) || ((Sav_Temp & 0xFF) == TEMP_ON))    //读取的温控开关机状态合法
    9078:	1274      	lrw      	r3, 0x200000b0	// 91c8 <TemCtrl_Init+0x170>
    907a:	30ff      	movi      	r0, 255
    907c:	9320      	ld.w      	r1, (r3, 0x0)
    907e:	6840      	and      	r1, r0
    9080:	3940      	cmpnei      	r1, 0
    9082:	0c05      	bf      	0x908c	// 908c <TemCtrl_Init+0x34>
    9084:	9340      	ld.w      	r2, (r3, 0x0)
    9086:	6880      	and      	r2, r0
    9088:	3a41      	cmpnei      	r2, 1
    908a:	0885      	bt      	0x9194	// 9194 <TemCtrl_Init+0x13c>
		{
			TempCtrl.TemState_Now.on_off = (Sav_Temp & 0xFF);
    908c:	9340      	ld.w      	r2, (r3, 0x0)
    908e:	4227      	lsli      	r1, r2, 7
    9090:	307f      	movi      	r0, 127
    9092:	8442      	ld.b      	r2, (r4, 0x2)
    9094:	6880      	and      	r2, r0
    9096:	6c84      	or      	r2, r1
		}
		else
		{
			TempCtrl.TemState_Now.on_off = TEMP_OFF;
    9098:	a442      	st.b      	r2, (r4, 0x2)
		}
		
		if( (((Sav_Temp >> 8) & 0xFF) == MODEL_COLD) || (((Sav_Temp >> 8) & 0xFF) == MODEL_HOT)
    909a:	9340      	ld.w      	r2, (r3, 0x0)
    909c:	4a48      	lsri      	r2, r2, 8
    909e:	30ff      	movi      	r0, 255
    90a0:	6880      	and      	r2, r0
    90a2:	3a40      	cmpnei      	r2, 0
    90a4:	0c10      	bf      	0x90c4	// 90c4 <TemCtrl_Init+0x6c>
    90a6:	9340      	ld.w      	r2, (r3, 0x0)
    90a8:	4a48      	lsri      	r2, r2, 8
    90aa:	6880      	and      	r2, r0
    90ac:	3a42      	cmpnei      	r2, 2
    90ae:	0c0b      	bf      	0x90c4	// 90c4 <TemCtrl_Init+0x6c>
		 || (((Sav_Temp >> 8) & 0xFF) == MODEL_WIND) || (((Sav_Temp >> 8) & 0xFF) == MODEL_AUTO) )        //读取的温控模式状态合法
    90b0:	9320      	ld.w      	r1, (r3, 0x0)
    90b2:	4928      	lsri      	r1, r1, 8
    90b4:	6840      	and      	r1, r0
    90b6:	3944      	cmpnei      	r1, 4
    90b8:	0c06      	bf      	0x90c4	// 90c4 <TemCtrl_Init+0x6c>
    90ba:	9340      	ld.w      	r2, (r3, 0x0)
    90bc:	4a48      	lsri      	r2, r2, 8
    90be:	6880      	and      	r2, r0
    90c0:	3a46      	cmpnei      	r2, 6
    90c2:	086d      	bt      	0x919c	// 919c <TemCtrl_Init+0x144>
		{
			TempCtrl.TemState_Now.mode = ((Sav_Temp >> 8) & 0xFF);
    90c4:	9340      	ld.w      	r2, (r3, 0x0)
    90c6:	3107      	movi      	r1, 7
    90c8:	4a48      	lsri      	r2, r2, 8
    90ca:	6884      	and      	r2, r1
    90cc:	3070      	movi      	r0, 112
    90ce:	8422      	ld.b      	r1, (r4, 0x2)
    90d0:	4244      	lsli      	r2, r2, 4
    90d2:	6841      	andn      	r1, r0
    90d4:	6c84      	or      	r2, r1
		}
		else
		{
			TempCtrl.TemState_Now.mode = MODEL_COLD;
    90d6:	a442      	st.b      	r2, (r4, 0x2)
		}
		
		if( (((Sav_Temp >> 16) & 0xFF) == FAN_LOW) || (((Sav_Temp >> 16) & 0xFF) == FAN_MID) 		//读取的温控风速状态合法
    90d8:	9340      	ld.w      	r2, (r3, 0x0)
    90da:	4a50      	lsri      	r2, r2, 16
    90dc:	30ff      	movi      	r0, 255
    90de:	6880      	and      	r2, r0
    90e0:	3a41      	cmpnei      	r2, 1
    90e2:	0c10      	bf      	0x9102	// 9102 <TemCtrl_Init+0xaa>
    90e4:	9340      	ld.w      	r2, (r3, 0x0)
    90e6:	4a50      	lsri      	r2, r2, 16
    90e8:	6880      	and      	r2, r0
    90ea:	3a42      	cmpnei      	r2, 2
    90ec:	0c0b      	bf      	0x9102	// 9102 <TemCtrl_Init+0xaa>
		 || (((Sav_Temp >> 16) & 0xFF) == FAN_HIGH)|| (((Sav_Temp >> 16) & 0xFF) == FAN_AUTO))                             
    90ee:	9320      	ld.w      	r1, (r3, 0x0)
    90f0:	4930      	lsri      	r1, r1, 16
    90f2:	6840      	and      	r1, r0
    90f4:	3943      	cmpnei      	r1, 3
    90f6:	0c06      	bf      	0x9102	// 9102 <TemCtrl_Init+0xaa>
    90f8:	9340      	ld.w      	r2, (r3, 0x0)
    90fa:	4a50      	lsri      	r2, r2, 16
    90fc:	6880      	and      	r2, r0
    90fe:	3a40      	cmpnei      	r2, 0
    9100:	0852      	bt      	0x91a4	// 91a4 <TemCtrl_Init+0x14c>
		{
			TempCtrl.TemState_Now.fan = ((Sav_Temp >> 16) & 0xFF);
    9102:	9340      	ld.w      	r2, (r3, 0x0)
    9104:	3107      	movi      	r1, 7
    9106:	4a50      	lsri      	r2, r2, 16
    9108:	6884      	and      	r2, r1
    910a:	300e      	movi      	r0, 14
    910c:	8422      	ld.b      	r1, (r4, 0x2)
    910e:	4241      	lsli      	r2, r2, 1
    9110:	6841      	andn      	r1, r0
    9112:	6c84      	or      	r2, r1
		}
		else
		{
			TempCtrl.TemState_Now.fan = FAN_MID;
    9114:	a442      	st.b      	r2, (r4, 0x2)
		}
		//读取的温控设置温度合法   2024-04-18增加0==32的判断
		if(((((Sav_Temp >> 24) & 0xFF) >= 16) && (((Sav_Temp >> 24) & 0xFF) <= 31)) || (((Sav_Temp >> 24) & 0xFF) == 0x00))  
    9116:	9340      	ld.w      	r2, (r3, 0x0)
    9118:	4a58      	lsri      	r2, r2, 24
    911a:	3a0f      	cmphsi      	r2, 16
    911c:	0c05      	bf      	0x9126	// 9126 <TemCtrl_Init+0xce>
    911e:	9340      	ld.w      	r2, (r3, 0x0)
    9120:	4a58      	lsri      	r2, r2, 24
    9122:	3a1f      	cmphsi      	r2, 32
    9124:	0c05      	bf      	0x912e	// 912e <TemCtrl_Init+0xd6>
    9126:	9340      	ld.w      	r2, (r3, 0x0)
    9128:	4a58      	lsri      	r2, r2, 24
    912a:	3a40      	cmpnei      	r2, 0
    912c:	0846      	bt      	0x91b8	// 91b8 <TemCtrl_Init+0x160>
		{
			TempCtrl.TemState_Now.set_t = ((Sav_Temp >> 24) & 0xFF);
    912e:	9360      	ld.w      	r3, (r3, 0x0)
    9130:	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
    9132:	a461      	st.b      	r3, (r4, 0x1)
	}
	TempCtrl.IndoorTem = TEMPTIMENOWMATH;//Get_Temp_Val() + g_eeprom.temp_diff*10 - EEPROM_TempDifference_Default*10;
    9134:	e3fff2d2 	bsr      	0x76d8	// 76d8 <Get_Temp_Val>
    9138:	1165      	lrw      	r3, 0x200004f4	// 91cc <TemCtrl_Init+0x174>
    913a:	8362      	ld.b      	r3, (r3, 0x2)
    913c:	320a      	movi      	r2, 10
    913e:	7cc8      	mult      	r3, r2
    9140:	2b54      	subi      	r3, 85
    9142:	600c      	addu      	r0, r3
    9144:	7401      	zexth      	r0, r0
    9146:	4868      	lsri      	r3, r0, 8
    9148:	a469      	st.b      	r3, (r4, 0x9)
    914a:	a408      	st.b      	r0, (r4, 0x8)
	TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    914c:	310a      	movi      	r1, 10
    914e:	e3ffe7f5 	bsr      	0x6138	// 6138 <__udivsi3>
	TempCtrl.CardState = 0x01;             //默认插卡
    9152:	3301      	movi      	r3, 1
    9154:	a478      	st.b      	r3, (r4, 0x18)
	TempCtrl.CardEn = 0x00;                //插卡状态功能默认关闭
    9156:	3300      	movi      	r3, 0
    9158:	a47a      	st.b      	r3, (r4, 0x1a)
	SYSCON->UREG0 = 0x00000000;
    915a:	3200      	movi      	r2, 0
    915c:	107d      	lrw      	r3, 0x2000005c	// 91d0 <TemCtrl_Init+0x178>
    915e:	9360      	ld.w      	r3, (r3, 0x0)
    9160:	23ff      	addi      	r3, 256
    9162:	b340      	st.w      	r2, (r3, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8);
    9164:	8442      	ld.b      	r2, (r4, 0x2)
    9166:	4239      	lsli      	r1, r2, 25
    9168:	493d      	lsri      	r1, r1, 29
	TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    916a:	a400      	st.b      	r0, (r4, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8);
    916c:	4128      	lsli      	r1, r1, 8
    916e:	9300      	ld.w      	r0, (r3, 0x0)
    9170:	6c40      	or      	r1, r0
    9172:	b320      	st.w      	r1, (r3, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16);
    9174:	423c      	lsli      	r1, r2, 28
    9176:	493d      	lsri      	r1, r1, 29
    9178:	9300      	ld.w      	r0, (r3, 0x0)
    917a:	4130      	lsli      	r1, r1, 16
    917c:	6c40      	or      	r1, r0
    917e:	b320      	st.w      	r1, (r3, 0x0)
	SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24);
    9180:	8421      	ld.b      	r1, (r4, 0x1)
    9182:	9300      	ld.w      	r0, (r3, 0x0)
    9184:	4138      	lsli      	r1, r1, 24
    9186:	6c40      	or      	r1, r0
    9188:	b320      	st.w      	r1, (r3, 0x0)
	SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off;        //2024-03-15
    918a:	9320      	ld.w      	r1, (r3, 0x0)
    918c:	4a47      	lsri      	r2, r2, 7
    918e:	6c84      	or      	r2, r1
    9190:	b340      	st.w      	r2, (r3, 0x0)
}
    9192:	1491      	pop      	r4, r15
			TempCtrl.TemState_Now.on_off = TEMP_OFF;
    9194:	8442      	ld.b      	r2, (r4, 0x2)
    9196:	317f      	movi      	r1, 127
    9198:	6884      	and      	r2, r1
    919a:	077f      	br      	0x9098	// 9098 <TemCtrl_Init+0x40>
			TempCtrl.TemState_Now.mode = MODEL_COLD;
    919c:	8442      	ld.b      	r2, (r4, 0x2)
    919e:	3170      	movi      	r1, 112
    91a0:	6885      	andn      	r2, r1
    91a2:	079a      	br      	0x90d6	// 90d6 <TemCtrl_Init+0x7e>
			TempCtrl.TemState_Now.fan = FAN_MID;
    91a4:	8442      	ld.b      	r2, (r4, 0x2)
    91a6:	310e      	movi      	r1, 14
    91a8:	6885      	andn      	r2, r1
    91aa:	3aa2      	bseti      	r2, 2
    91ac:	07b4      	br      	0x9114	// 9114 <TemCtrl_Init+0xbc>
		TempCtrl.TemState_Now.fan = FAN_MID;          //中风速
    91ae:	8462      	ld.b      	r3, (r4, 0x2)
    91b0:	320e      	movi      	r2, 14
    91b2:	68c9      	andn      	r3, r2
    91b4:	3ba2      	bseti      	r3, 2
    91b6:	a462      	st.b      	r3, (r4, 0x2)
		TempCtrl.TemState_Now.set_t = 24;             //24
    91b8:	3318      	movi      	r3, 24
    91ba:	07bc      	br      	0x9132	// 9132 <TemCtrl_Init+0xda>
    91bc:	2000080c 	.long	0x2000080c
    91c0:	200000b4 	.long	0x200000b4
    91c4:	0000cfde 	.long	0x0000cfde
    91c8:	200000b0 	.long	0x200000b0
    91cc:	200004f4 	.long	0x200004f4
    91d0:	2000005c 	.long	0x2000005c

Disassembly of section .text.TemCtrl_Model_Set:

000091d4 <TemCtrl_Model_Set>:
 * 函数功能：模式控制
 * 
 * 
*/
void TemCtrl_Model_Set(void)
{
    91d4:	14d0      	push      	r15
	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    91d6:	1031      	lrw      	r1, 0x2000080c	// 9218 <TemCtrl_Model_Set+0x44>
    91d8:	8162      	ld.b      	r3, (r1, 0x2)
    91da:	748e      	sextb      	r2, r3
    91dc:	3adf      	btsti      	r2, 31
    91de:	0c14      	bf      	0x9206	// 9206 <TemCtrl_Model_Set+0x32>
    {
      return ;
    }
    switch(TempCtrl.TemState_Now.mode)          
    91e0:	4359      	lsli      	r2, r3, 25
    91e2:	4a5d      	lsri      	r2, r2, 29
    91e4:	3a42      	cmpnei      	r2, 2
    91e6:	0c11      	bf      	0x9208	// 9208 <TemCtrl_Model_Set+0x34>
    91e8:	3a44      	cmpnei      	r2, 4
    91ea:	0c13      	bf      	0x9210	// 9210 <TemCtrl_Model_Set+0x3c>
    91ec:	3a40      	cmpnei      	r2, 0
    {
      case MODEL_COLD:         
			TempCtrl.TemState_Now.mode = MODEL_HOT;  //制热
    91ee:	3270      	movi      	r2, 112
    91f0:	68c9      	andn      	r3, r2
    switch(TempCtrl.TemState_Now.mode)          
    91f2:	0802      	bt      	0x91f6	// 91f6 <TemCtrl_Model_Set+0x22>
			TempCtrl.TemState_Now.mode = MODEL_HOT;  //制热
    91f4:	3ba5      	bseti      	r3, 5
			break;
	  case MODEL_WIND:
			TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷
			break;
      default:
			TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷   			
    91f6:	a162      	st.b      	r3, (r1, 0x2)
			break;
    }
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Model:%d",TempCtrl.TemState_Now.mode);
    91f8:	8142      	ld.b      	r2, (r1, 0x2)
    91fa:	4259      	lsli      	r2, r2, 25
    91fc:	4a5d      	lsri      	r2, r2, 29
    91fe:	1028      	lrw      	r1, 0xcff7	// 921c <TemCtrl_Model_Set+0x48>
    9200:	3000      	movi      	r0, 0
    9202:	e3ffea3d 	bsr      	0x667c	// 667c <Dbg_Println>
}
    9206:	1490      	pop      	r15
			TempCtrl.TemState_Now.mode = MODEL_WIND; //送风
    9208:	3270      	movi      	r2, 112
    920a:	68c9      	andn      	r3, r2
    920c:	3ba6      	bseti      	r3, 6
    920e:	07f4      	br      	0x91f6	// 91f6 <TemCtrl_Model_Set+0x22>
			TempCtrl.TemState_Now.mode = MODEL_COLD; //制冷
    9210:	3270      	movi      	r2, 112
    9212:	68c9      	andn      	r3, r2
    9214:	07f1      	br      	0x91f6	// 91f6 <TemCtrl_Model_Set+0x22>
    9216:	0000      	bkpt
    9218:	2000080c 	.long	0x2000080c
    921c:	0000cff7 	.long	0x0000cff7

Disassembly of section .text.TemCtrl_Fan_Set:

00009220 <TemCtrl_Fan_Set>:
 * 函数功能：风速控制
 * 
 * 
*/       
void TemCtrl_Fan_Set(void)
{
    9220:	14d0      	push      	r15
	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    9222:	1072      	lrw      	r3, 0x2000080c	// 9268 <TemCtrl_Fan_Set+0x48>
    9224:	8342      	ld.b      	r2, (r3, 0x2)
    9226:	744a      	sextb      	r1, r2
    9228:	39df      	btsti      	r1, 31
    922a:	0c15      	bf      	0x9254	// 9254 <TemCtrl_Fan_Set+0x34>
	{
		return ;
	}
	switch(TempCtrl.TemState_Now.fan)          //风速
    922c:	421c      	lsli      	r0, r2, 28
    922e:	481d      	lsri      	r0, r0, 29
    9230:	3803      	cmphsi      	r0, 4
    9232:	0817      	bt      	0x9260	// 9260 <TemCtrl_Fan_Set+0x40>
		  break;
		case FAN_MID:
		  TempCtrl.TemState_Now.fan = FAN_HIGH;
		  break;
		case FAN_HIGH:
		  TempCtrl.TemState_Now.fan = FAN_AUTO;
    9234:	8342      	ld.b      	r2, (r3, 0x2)
    9236:	310e      	movi      	r1, 14
    9238:	6885      	andn      	r2, r1
	switch(TempCtrl.TemState_Now.fan)          //风速
    923a:	e3ffd161 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    923e:	020f      	.short	0x020f
    9240:	030c      	.short	0x030c
		  TempCtrl.TemState_Now.fan = FAN_MID;
    9242:	3aa2      	bseti      	r2, 2
		  break;
		case FAN_AUTO:
		  TempCtrl.TemState_Now.fan = FAN_LOW; 
		  break;
		default:
		  TempCtrl.TemState_Now.fan = FAN_AUTO;      
    9244:	a342      	st.b      	r2, (r3, 0x2)
		  break;
	}
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Fan:%d",TempCtrl.TemState_Now.fan);
    9246:	8342      	ld.b      	r2, (r3, 0x2)
    9248:	425c      	lsli      	r2, r2, 28
    924a:	4a5d      	lsri      	r2, r2, 29
    924c:	1028      	lrw      	r1, 0xd000	// 926c <TemCtrl_Fan_Set+0x4c>
    924e:	3000      	movi      	r0, 0
    9250:	e3ffea16 	bsr      	0x667c	// 667c <Dbg_Println>
}  
    9254:	1490      	pop      	r15
		  TempCtrl.TemState_Now.fan = FAN_HIGH;
    9256:	3aa1      	bseti      	r2, 1
    9258:	3aa2      	bseti      	r2, 2
    925a:	07f5      	br      	0x9244	// 9244 <TemCtrl_Fan_Set+0x24>
		  TempCtrl.TemState_Now.fan = FAN_LOW; 
    925c:	3aa1      	bseti      	r2, 1
    925e:	07f3      	br      	0x9244	// 9244 <TemCtrl_Fan_Set+0x24>
		  TempCtrl.TemState_Now.fan = FAN_AUTO;      
    9260:	310e      	movi      	r1, 14
    9262:	6885      	andn      	r2, r1
    9264:	07f0      	br      	0x9244	// 9244 <TemCtrl_Fan_Set+0x24>
    9266:	0000      	bkpt
    9268:	2000080c 	.long	0x2000080c
    926c:	0000d000 	.long	0x0000d000

Disassembly of section .text.TemCtrl_Temperature_Dec:

00009270 <TemCtrl_Temperature_Dec>:
 * 函数功能：设置温度减
 * 
 * 
*/        
void TemCtrl_Temperature_Dec(void)
{
    9270:	14d0      	push      	r15
	U8_T TemSet;   //设置温度
	
	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    9272:	106a      	lrw      	r3, 0x2000080c	// 9298 <TemCtrl_Temperature_Dec+0x28>
    9274:	8342      	ld.b      	r2, (r3, 0x2)
    9276:	748a      	sextb      	r2, r2
    9278:	3adf      	btsti      	r2, 31
    927a:	0c0b      	bf      	0x9290	// 9290 <TemCtrl_Temperature_Dec+0x20>
	{
		return ;
	}
//	TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);
	TemSet = TempCtrl.TemState_Now.set_t;
    927c:	8341      	ld.b      	r2, (r3, 0x1)
	
	if(TemSet > TEM_MIN_SET)   //大于最低温度
    927e:	3a10      	cmphsi      	r2, 17
    9280:	0c09      	bf      	0x9292	// 9292 <TemCtrl_Temperature_Dec+0x22>
	{
		TemSet--;             //超过最低温度，就减
    9282:	2a00      	subi      	r2, 1
    9284:	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);
    9286:	1026      	lrw      	r1, 0xd007	// 929c <TemCtrl_Temperature_Dec+0x2c>
    9288:	3000      	movi      	r0, 0
	TempCtrl.TemState_Now.set_t = TemSet;
    928a:	a341      	st.b      	r2, (r3, 0x1)
	Dbg_Println(DBG_BIT_SYS_STATUS,"set_t:%d",TempCtrl.TemState_Now.set_t);
    928c:	e3ffe9f8 	bsr      	0x667c	// 667c <Dbg_Println>
}
    9290:	1490      	pop      	r15
		TemSet = TEM_MIN_SET;  //减到最低就不减了
    9292:	3210      	movi      	r2, 16
    9294:	07f9      	br      	0x9286	// 9286 <TemCtrl_Temperature_Dec+0x16>
    9296:	0000      	bkpt
    9298:	2000080c 	.long	0x2000080c
    929c:	0000d007 	.long	0x0000d007

Disassembly of section .text.TemCtrl_Temperature_Add:

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

	if(TEMP_OFF == TempCtrl.TemState_Now.on_off)
    92a2:	106a      	lrw      	r3, 0x2000080c	// 92c8 <TemCtrl_Temperature_Add+0x28>
    92a4:	8342      	ld.b      	r2, (r3, 0x2)
    92a6:	748a      	sextb      	r2, r2
    92a8:	3adf      	btsti      	r2, 31
    92aa:	0c0b      	bf      	0x92c0	// 92c0 <TemCtrl_Temperature_Add+0x20>
	{
		return ;
	}
//	TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);
	TemSet = TempCtrl.TemState_Now.set_t;
    92ac:	8341      	ld.b      	r2, (r3, 0x1)
	
	if(TemSet < TEM_MAX_SET)   //小于最高温度  设置温度为0 即是32度
    92ae:	3a1f      	cmphsi      	r2, 32
    92b0:	0809      	bt      	0x92c2	// 92c2 <TemCtrl_Temperature_Add+0x22>
	{
		TemSet++;
    92b2:	2200      	addi      	r2, 1
    92b4:	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);
    92b6:	1026      	lrw      	r1, 0xd010	// 92cc <TemCtrl_Temperature_Add+0x2c>
    92b8:	3000      	movi      	r0, 0
	TempCtrl.TemState_Now.set_t = TemSet;      //室内温度
    92ba:	a341      	st.b      	r2, (r3, 0x1)
	Dbg_Println(DBG_BIT_SYS_STATUS,"Set Temp_1:%d",TempCtrl.TemState_Now.set_t);
    92bc:	e3ffe9e0 	bsr      	0x667c	// 667c <Dbg_Println>
}
    92c0:	1490      	pop      	r15
		TemSet = TEM_MAX_SET;     //加到最高温度就不加了  赋值32即是0
    92c2:	3220      	movi      	r2, 32
    92c4:	07f9      	br      	0x92b6	// 92b6 <TemCtrl_Temperature_Add+0x16>
    92c6:	0000      	bkpt
    92c8:	2000080c 	.long	0x2000080c
    92cc:	0000d010 	.long	0x0000d010

Disassembly of section .text.TemCtrl_OnOff_Set:

000092d0 <TemCtrl_OnOff_Set>:
 * 函数功能：开关机控制
 * 
 * 
*/    
void TemCtrl_OnOff_Set(void)   
{
    92d0:	14d0      	push      	r15
	switch(TempCtrl.TemState_Now.on_off)           
    92d2:	104b      	lrw      	r2, 0x2000080c	// 92fc <TemCtrl_OnOff_Set+0x2c>
    92d4:	8262      	ld.b      	r3, (r2, 0x2)
    92d6:	4b27      	lsri      	r1, r3, 7
    92d8:	3940      	cmpnei      	r1, 0
    92da:	0c0d      	bf      	0x92f4	// 92f4 <TemCtrl_OnOff_Set+0x24>
    92dc:	3941      	cmpnei      	r1, 1
    92de:	080b      	bt      	0x92f4	// 92f4 <TemCtrl_OnOff_Set+0x24>
	{
		case TEMP_ON:
		  TempCtrl.TemState_Now.on_off = TEMP_OFF;  //关机
    92e0:	317f      	movi      	r1, 127
    92e2:	68c4      	and      	r3, r1
		  break;
		case TEMP_OFF:
		  TempCtrl.TemState_Now.on_off = TEMP_ON;   //开机
		  break;
		default:
		  TempCtrl.TemState_Now.on_off = TEMP_ON;   //开机
    92e4:	a262      	st.b      	r3, (r2, 0x2)
		  break;
	}
	
	Dbg_Println(DBG_BIT_SYS_STATUS,"Set Temp_1:%d",TempCtrl.TemState_Now.on_off);
    92e6:	8242      	ld.b      	r2, (r2, 0x2)
    92e8:	4a47      	lsri      	r2, r2, 7
    92ea:	1026      	lrw      	r1, 0xd010	// 9300 <TemCtrl_OnOff_Set+0x30>
    92ec:	3000      	movi      	r0, 0
    92ee:	e3ffe9c7 	bsr      	0x667c	// 667c <Dbg_Println>
} 
    92f2:	1490      	pop      	r15
		  TempCtrl.TemState_Now.on_off = TEMP_ON;   //开机
    92f4:	3100      	movi      	r1, 0
    92f6:	297f      	subi      	r1, 128
    92f8:	6cc4      	or      	r3, r1
    92fa:	07f5      	br      	0x92e4	// 92e4 <TemCtrl_OnOff_Set+0x14>
    92fc:	2000080c 	.long	0x2000080c
    9300:	0000d010 	.long	0x0000d010

Disassembly of section .text.Tem_Valve_Ctrl:

00009304 <Tem_Valve_Ctrl>:
 * 函数功能：阀门控制
 * 
 * 
*/
void Tem_Valve_Ctrl(void)
{
    9304:	14d1      	push      	r4, r15
	uint8_t TemIndoor = 0x00;
	uint8_t TemSet = 0x00; 
	
	TemIndoor = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);
    9306:	1130      	lrw      	r1, 0x2000080c	// 93c4 <Tem_Valve_Ctrl+0xc0>
    9308:	8100      	ld.b      	r0, (r1, 0x0)
    930a:	3840      	cmpnei      	r0, 0
    930c:	0802      	bt      	0x9310	// 9310 <Tem_Valve_Ctrl+0xc>
    930e:	3020      	movi      	r0, 32
	TemSet = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);
    9310:	8141      	ld.b      	r2, (r1, 0x1)
    9312:	3a40      	cmpnei      	r2, 0
    9314:	0802      	bt      	0x9318	// 9318 <Tem_Valve_Ctrl+0x14>
    9316:	3220      	movi      	r2, 32
	switch(TempCtrl.TemState_Now.on_off)  //
    9318:	8162      	ld.b      	r3, (r1, 0x2)
    931a:	4b87      	lsri      	r4, r3, 7
    931c:	3c40      	cmpnei      	r4, 0
    931e:	0c0f      	bf      	0x933c	// 933c <Tem_Valve_Ctrl+0x38>
    9320:	3c41      	cmpnei      	r4, 1
    9322:	0850      	bt      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
	{
		case TEMP_ON:
			switch(TempCtrl.TemState_Now.mode)  //模式
    9324:	4399      	lsli      	r4, r3, 25
    9326:	4c9d      	lsri      	r4, r4, 29
    9328:	3c42      	cmpnei      	r4, 2
    932a:	0c26      	bf      	0x9376	// 9376 <Tem_Valve_Ctrl+0x72>
    932c:	3c44      	cmpnei      	r4, 4
    932e:	0c36      	bf      	0x939a	// 939a <Tem_Valve_Ctrl+0x96>
    9330:	3c40      	cmpnei      	r4, 0
    9332:	0848      	bt      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
			{
				case MODEL_COLD:
					if(TemIndoor < TemSet - 1)   //室内温度小于设置温度
    9334:	5a83      	subi      	r4, r2, 1
    9336:	6501      	cmplt      	r0, r4
    9338:	0c05      	bf      	0x9342	// 9342 <Tem_Valve_Ctrl+0x3e>
					{
						TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE;
    933a:	8162      	ld.b      	r3, (r1, 0x2)

					break;
			}
			break;
		case TEMP_OFF:
			TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE;
    933c:	3b80      	bclri      	r3, 0
    933e:	a162      	st.b      	r3, (r1, 0x2)
    9340:	0419      	br      	0x9372	// 9372 <Tem_Valve_Ctrl+0x6e>
					else if(TemIndoor > TemSet + 1)   //室内温度大于设置温度
    9342:	2200      	addi      	r2, 1
    9344:	6409      	cmplt      	r2, r0
    9346:	0c3e      	bf      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
						TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN;
    9348:	3ba0      	bseti      	r3, 0
    934a:	a162      	st.b      	r3, (r1, 0x2)
						if(g_eeprom.pipe_flag == 0x01)   //冷热阀分离
    934c:	107f      	lrw      	r3, 0x200004f4	// 93c8 <Tem_Valve_Ctrl+0xc4>
    934e:	8361      	ld.b      	r3, (r3, 0x1)
    9350:	3b41      	cmpnei      	r3, 1
    9352:	080a      	bt      	0x9366	// 9366 <Tem_Valve_Ctrl+0x62>
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    9354:	3102      	movi      	r1, 2
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_ON);
    9356:	3000      	movi      	r0, 0
    9358:	e000075a 	bsr      	0xa20c	// a20c <BLV_RLY_Ctrl_Purpose>
							BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_ON);							
    935c:	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);
    935e:	3001      	movi      	r0, 1
    9360:	e0000756 	bsr      	0xa20c	// a20c <BLV_RLY_Ctrl_Purpose>
		default:
			break;
	}
	
//	Dbg_Println(DBG_BIT_SYS_STATUS,"valve:%d",TempCtrl.TemState_Now.valve);
}
    9364:	042f      	br      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
						else if(g_eeprom.pipe_flag == 0x00)   //冷热阀不分离
    9366:	3b40      	cmpnei      	r3, 0
    9368:	0803      	bt      	0x936e	// 936e <Tem_Valve_Ctrl+0x6a>
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_ON);
    936a:	3101      	movi      	r1, 1
    936c:	07f5      	br      	0x9356	// 9356 <Tem_Valve_Ctrl+0x52>
						}else if (g_eeprom.pipe_flag == 0x02) {		//无阀
    936e:	3b42      	cmpnei      	r3, 2
    9370:	0829      	bt      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
			BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    9372:	3102      	movi      	r1, 2
    9374:	040e      	br      	0x9390	// 9390 <Tem_Valve_Ctrl+0x8c>
					if(TemIndoor > TemSet + 1)   //室内温度大于设置温度
    9376:	5a82      	addi      	r4, r2, 1
    9378:	6411      	cmplt      	r4, r0
    937a:	0be0      	bt      	0x933a	// 933a <Tem_Valve_Ctrl+0x36>
					else if(TemIndoor < TemSet - 1)   //室内温度小于设置温度
    937c:	2a00      	subi      	r2, 1
    937e:	6481      	cmplt      	r0, r2
    9380:	0c21      	bf      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
						TempCtrl.TemState_Now.valve = TEM_VALVE_OPEN;
    9382:	3ba0      	bseti      	r3, 0
    9384:	a162      	st.b      	r3, (r1, 0x2)
						if(g_eeprom.pipe_flag == 0x01)   //冷热阀分离
    9386:	1071      	lrw      	r3, 0x200004f4	// 93c8 <Tem_Valve_Ctrl+0xc4>
    9388:	8361      	ld.b      	r3, (r3, 0x1)
    938a:	3b41      	cmpnei      	r3, 1
    938c:	0bed      	bt      	0x9366	// 9366 <Tem_Valve_Ctrl+0x62>
							BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_ON);
    938e:	3101      	movi      	r1, 1
			BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    9390:	3000      	movi      	r0, 0
    9392:	e000073d 	bsr      	0xa20c	// a20c <BLV_RLY_Ctrl_Purpose>
			BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_OFF);
    9396:	3102      	movi      	r1, 2
    9398:	07e3      	br      	0x935e	// 935e <Tem_Valve_Ctrl+0x5a>
						TempCtrl.TemState_Now.valve = TEM_VALVE_CLOSE;
    939a:	3b80      	bclri      	r3, 0
    939c:	a162      	st.b      	r3, (r1, 0x2)
						BLV_RLY_Ctrl_Purpose(HOT_RLY,Control_OFF);
    939e:	3000      	movi      	r0, 0
    93a0:	3102      	movi      	r1, 2
    93a2:	e0000735 	bsr      	0xa20c	// a20c <BLV_RLY_Ctrl_Purpose>
						BLV_RLY_Ctrl_Purpose(COOL_RLY,Control_OFF);
    93a6:	3102      	movi      	r1, 2
    93a8:	3001      	movi      	r0, 1
    93aa:	e0000731 	bsr      	0xa20c	// a20c <BLV_RLY_Ctrl_Purpose>
						if(g_eeprom.pipe_flag == 0x02)   //水机无阀  送风模式下风机都不开  2024-11-14 wpd
    93ae:	1067      	lrw      	r3, 0x200004f4	// 93c8 <Tem_Valve_Ctrl+0xc4>
    93b0:	8361      	ld.b      	r3, (r3, 0x1)
    93b2:	3b42      	cmpnei      	r3, 2
    93b4:	0807      	bt      	0x93c2	// 93c2 <Tem_Valve_Ctrl+0xbe>
							Relay_Stop();
    93b6:	e000071d 	bsr      	0xa1f0	// a1f0 <Relay_Stop>
							Dbg_Println(DBG_BIT_SYS_STATUS," no pipe");
    93ba:	1025      	lrw      	r1, 0xd01e	// 93cc <Tem_Valve_Ctrl+0xc8>
    93bc:	3000      	movi      	r0, 0
    93be:	e3ffe95f 	bsr      	0x667c	// 667c <Dbg_Println>
}
    93c2:	1491      	pop      	r4, r15
    93c4:	2000080c 	.long	0x2000080c
    93c8:	200004f4 	.long	0x200004f4
    93cc:	0000d01e 	.long	0x0000d01e

Disassembly of section .text.TemCtrl_Pro:

000093d0 <TemCtrl_Pro>:
 * 函数功能：温控轮询任务
 * 
 * 
*/
void TemCtrl_Pro(void)
{
    93d0:	14d3      	push      	r4-r6, r15
	static uint32_t tick = 0;
	if(SysTick_1ms - tick > 1000)
    93d2:	1218      	lrw      	r0, 0x200000c0	// 9530 <TemCtrl_Pro+0x160>
    93d4:	1238      	lrw      	r1, 0x20000230	// 9534 <TemCtrl_Pro+0x164>
    93d6:	9040      	ld.w      	r2, (r0, 0x0)
    93d8:	9160      	ld.w      	r3, (r1, 0x0)
    93da:	608e      	subu      	r2, r3
    93dc:	33fa      	movi      	r3, 250
    93de:	4362      	lsli      	r3, r3, 2
    93e0:	648c      	cmphs      	r3, r2
    93e2:	083b      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
	{
		tick = SysTick_1ms;
    93e4:	9060      	ld.w      	r3, (r0, 0x0)
    93e6:	b160      	st.w      	r3, (r1, 0x0)
		TempCtrl.IndoorTem = TEMPTIMENOWMATH;//Get_Temp_Val() + g_eeprom.temp_diff*10 - EEPROM_TempDifference_Default*10;
    93e8:	360a      	movi      	r6, 10
    93ea:	12b4      	lrw      	r5, 0x200004f4	// 9538 <TemCtrl_Pro+0x168>
    93ec:	e3fff176 	bsr      	0x76d8	// 76d8 <Get_Temp_Val>
    93f0:	8542      	ld.b      	r2, (r5, 0x2)
    93f2:	7c98      	mult      	r2, r6
    93f4:	2a54      	subi      	r2, 85
    93f6:	6080      	addu      	r2, r0
    93f8:	7589      	zexth      	r6, r2
    93fa:	1291      	lrw      	r4, 0x2000080c	// 953c <TemCtrl_Pro+0x16c>
    93fc:	7498      	zextb      	r2, r6
    93fe:	4e68      	lsri      	r3, r6, 8
    9400:	a448      	st.b      	r2, (r4, 0x8)
    9402:	a469      	st.b      	r3, (r4, 0x9)
		
		TempCtrl.ReportTem = TempCtrl.IndoorTem;
    9404:	a44c      	st.b      	r2, (r4, 0xc)
    9406:	a46d      	st.b      	r3, (r4, 0xd)
		
		TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    9408:	310a      	movi      	r1, 10
    940a:	6c1b      	mov      	r0, r6
    940c:	e3ffe696 	bsr      	0x6138	// 6138 <__udivsi3>
    9410:	74c0      	zextb      	r3, r0
		
		Dbg_Println(DBG_BIT_SYS_STATUS,"IndoorTem:%d  TemState_Now.indoor_t:%d ",TempCtrl.IndoorTem,TempCtrl.TemState_Now.indoor_t);
    9412:	6c9b      	mov      	r2, r6
    9414:	122b      	lrw      	r1, 0xd027	// 9540 <TemCtrl_Pro+0x170>
    9416:	3000      	movi      	r0, 0
		TempCtrl.TemState_Now.indoor_t = TempCtrl.IndoorTem/10;
    9418:	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);
    941a:	e3ffe931 	bsr      	0x667c	// 667c <Dbg_Println>
	
		Tem_Valve_Ctrl();
    941e:	e3ffff73 	bsr      	0x9304	// 9304 <Tem_Valve_Ctrl>
		
		if(TempCtrl.TemState_Now.fan == FAN_AUTO && TempCtrl.TemState_Now.on_off == TEMP_ON)  //自动风继电器逻辑
    9422:	8442      	ld.b      	r2, (r4, 0x2)
    9424:	74c8      	zextb      	r3, r2
    9426:	3171      	movi      	r1, 113
    9428:	6c0f      	mov      	r0, r3
    942a:	6805      	andn      	r0, r1
    942c:	3180      	movi      	r1, 128
    942e:	6442      	cmpne      	r0, r1
    9430:	083d      	bt      	0x94aa	// 94aa <TemCtrl_Pro+0xda>
		{
			if(TempCtrl.TemState_Now.mode == MODEL_COLD)
    9432:	3270      	movi      	r2, 112
    9434:	68c8      	and      	r3, r2
    9436:	3b40      	cmpnei      	r3, 0
    9438:	0827      	bt      	0x9486	// 9486 <TemCtrl_Pro+0xb6>
			{
				if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)	//2025-02-26,
    943a:	8461      	ld.b      	r3, (r4, 0x1)
    943c:	8440      	ld.b      	r2, (r4, 0x0)
    943e:	5b27      	subi      	r1, r3, 2
    9440:	6449      	cmplt      	r2, r1
    9442:	0c0c      	bf      	0x945a	// 945a <TemCtrl_Pro+0x8a>
				{
					Relay_Stop();     //低风速
    9444:	e00006d6 	bsr      	0xa1f0	// a1f0 <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;
    9448:	117f      	lrw      	r3, 0x20000590	// 9544 <TemCtrl_Pro+0x174>
    944a:	3200      	movi      	r2, 0
					Control_wind_velocity(TempCtrl.TemState_Now.fan);
    944c:	8402      	ld.b      	r0, (r4, 0x2)
    944e:	401c      	lsli      	r0, r0, 28
    9450:	481d      	lsri      	r0, r0, 29
					HT1621.wind_velocity = 0;
    9452:	a343      	st.b      	r2, (r3, 0x3)
					Control_wind_velocity(TempCtrl.TemState_Now.fan);
    9454:	e3fffac4 	bsr      	0x89dc	// 89dc <Control_wind_velocity>
		else if(TempCtrl.TemState_Now.on_off == TEMP_OFF)
		{
			Relay_Stop();     //风速停
		}
	}
    9458:	1493      	pop      	r4-r6, r15
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    945a:	5b23      	subi      	r1, r3, 1
    945c:	644a      	cmpne      	r2, r1
    945e:	0804      	bt      	0x9466	// 9466 <TemCtrl_Pro+0x96>
					Relay_Low();      //低风速
    9460:	e00006ba 	bsr      	0xa1d4	// a1d4 <Relay_Low>
    9464:	07f2      	br      	0x9448	// 9448 <TemCtrl_Pro+0x78>
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    9466:	5b22      	addi      	r1, r3, 1
    9468:	644a      	cmpne      	r2, r1
    946a:	0806      	bt      	0x9476	// 9476 <TemCtrl_Pro+0xa6>
					Relay_Mid();      //中风速
    946c:	e00006a6 	bsr      	0xa1b8	// a1b8 <Relay_Mid>
					HT1621.wind_velocity = 1;
    9470:	1175      	lrw      	r3, 0x20000590	// 9544 <TemCtrl_Pro+0x174>
    9472:	3201      	movi      	r2, 1
    9474:	07ec      	br      	0x944c	// 944c <TemCtrl_Pro+0x7c>
				else if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)
    9476:	2301      	addi      	r3, 2
    9478:	648d      	cmplt      	r3, r2
    947a:	0fef      	bf      	0x9458	// 9458 <TemCtrl_Pro+0x88>
					Relay_High();     //高风速
    947c:	e0000690 	bsr      	0xa19c	// a19c <Relay_High>
					HT1621.wind_velocity = 2;
    9480:	1171      	lrw      	r3, 0x20000590	// 9544 <TemCtrl_Pro+0x174>
    9482:	3202      	movi      	r2, 2
    9484:	07e4      	br      	0x944c	// 944c <TemCtrl_Pro+0x7c>
			else if(TempCtrl.TemState_Now.mode == MODEL_HOT)
    9486:	3220      	movi      	r2, 32
    9488:	648e      	cmpne      	r3, r2
    948a:	0be7      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
				if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)
    948c:	8461      	ld.b      	r3, (r4, 0x1)
    948e:	8440      	ld.b      	r2, (r4, 0x0)
    9490:	5b27      	subi      	r1, r3, 2
    9492:	6449      	cmplt      	r2, r1
    9494:	0bf4      	bt      	0x947c	// 947c <TemCtrl_Pro+0xac>
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    9496:	5b23      	subi      	r1, r3, 1
    9498:	644a      	cmpne      	r2, r1
    949a:	0fe9      	bf      	0x946c	// 946c <TemCtrl_Pro+0x9c>
				else if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)	
    949c:	5b22      	addi      	r1, r3, 1
    949e:	644a      	cmpne      	r2, r1
    94a0:	0fe0      	bf      	0x9460	// 9460 <TemCtrl_Pro+0x90>
				else if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)//2025-02-26,
    94a2:	2301      	addi      	r3, 2
    94a4:	648d      	cmplt      	r3, r2
    94a6:	0fd9      	bf      	0x9458	// 9458 <TemCtrl_Pro+0x88>
    94a8:	07ce      	br      	0x9444	// 9444 <TemCtrl_Pro+0x74>
		}else if (g_eeprom.pipe_flag == 0x02 && TempCtrl.TemState_Now.on_off == TEMP_ON) {
    94aa:	8521      	ld.b      	r1, (r5, 0x1)
    94ac:	3942      	cmpnei      	r1, 2
    94ae:	744e      	sextb      	r1, r3
    94b0:	083a      	bt      	0x9524	// 9524 <TemCtrl_Pro+0x154>
    94b2:	39df      	btsti      	r1, 31
    94b4:	0c38      	bf      	0x9524	// 9524 <TemCtrl_Pro+0x154>
			if (TempCtrl.TemState_Now.fan != FAN_AUTO) {								//无阀 制冷/制热 非自动风模式 风机控制逻辑
    94b6:	310e      	movi      	r1, 14
    94b8:	684c      	and      	r1, r3
    94ba:	3940      	cmpnei      	r1, 0
    94bc:	0fce      	bf      	0x9458	// 9458 <TemCtrl_Pro+0x88>
				if(TempCtrl.TemState_Now.mode == MODEL_COLD)
    94be:	3170      	movi      	r1, 112
    94c0:	68c4      	and      	r3, r1
    94c2:	3b40      	cmpnei      	r3, 0
    94c4:	0819      	bt      	0x94f6	// 94f6 <TemCtrl_Pro+0x126>
					if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)
    94c6:	8461      	ld.b      	r3, (r4, 0x1)
    94c8:	8420      	ld.b      	r1, (r4, 0x0)
    94ca:	5b07      	subi      	r0, r3, 2
    94cc:	6405      	cmplt      	r1, r0
    94ce:	0bbb      	bt      	0x9444	// 9444 <TemCtrl_Pro+0x74>
						switch(TempCtrl.TemState_Now.fan)
    94d0:	425c      	lsli      	r2, r2, 28
    94d2:	4a5d      	lsri      	r2, r2, 29
    94d4:	3a42      	cmpnei      	r2, 2
    94d6:	0c09      	bf      	0x94e8	// 94e8 <TemCtrl_Pro+0x118>
    94d8:	3a43      	cmpnei      	r2, 3
    94da:	0c0b      	bf      	0x94f0	// 94f0 <TemCtrl_Pro+0x120>
    94dc:	3a41      	cmpnei      	r2, 1
    94de:	0bbd      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    94e0:	2b00      	subi      	r3, 1
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    94e2:	64c6      	cmpne      	r1, r3
    94e4:	0bba      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
    94e6:	07bd      	br      	0x9460	// 9460 <TemCtrl_Pro+0x90>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    94e8:	2300      	addi      	r3, 1
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    94ea:	64c6      	cmpne      	r1, r3
    94ec:	0bb6      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
    94ee:	07bf      	br      	0x946c	// 946c <TemCtrl_Pro+0x9c>
								if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)
    94f0:	2301      	addi      	r3, 2
    94f2:	644d      	cmplt      	r3, r1
    94f4:	07c3      	br      	0x947a	// 947a <TemCtrl_Pro+0xaa>
				else if(TempCtrl.TemState_Now.mode == MODEL_HOT)
    94f6:	3120      	movi      	r1, 32
    94f8:	644e      	cmpne      	r3, r1
    94fa:	0baf      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
					if(TempCtrl.TemState_Now.indoor_t >= TempCtrl.TemState_Now.set_t + 3)
    94fc:	8461      	ld.b      	r3, (r4, 0x1)
    94fe:	8420      	ld.b      	r1, (r4, 0x0)
    9500:	5b06      	addi      	r0, r3, 2
    9502:	6441      	cmplt      	r0, r1
    9504:	0ba0      	bt      	0x9444	// 9444 <TemCtrl_Pro+0x74>
						switch(TempCtrl.TemState_Now.fan)
    9506:	425c      	lsli      	r2, r2, 28
    9508:	4a5d      	lsri      	r2, r2, 29
    950a:	3a42      	cmpnei      	r2, 2
    950c:	0c07      	bf      	0x951a	// 951a <TemCtrl_Pro+0x14a>
    950e:	3a43      	cmpnei      	r2, 3
    9510:	0c07      	bf      	0x951e	// 951e <TemCtrl_Pro+0x14e>
    9512:	3a41      	cmpnei      	r2, 1
    9514:	0ba2      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t + 1)
    9516:	2300      	addi      	r3, 1
    9518:	07e5      	br      	0x94e2	// 94e2 <TemCtrl_Pro+0x112>
								if(TempCtrl.TemState_Now.indoor_t == TempCtrl.TemState_Now.set_t - 1)
    951a:	2b00      	subi      	r3, 1
    951c:	07e7      	br      	0x94ea	// 94ea <TemCtrl_Pro+0x11a>
								if(TempCtrl.TemState_Now.indoor_t <= TempCtrl.TemState_Now.set_t - 3)
    951e:	2b01      	subi      	r3, 2
    9520:	64c5      	cmplt      	r1, r3
    9522:	07ac      	br      	0x947a	// 947a <TemCtrl_Pro+0xaa>
		else if(TempCtrl.TemState_Now.on_off == TEMP_OFF)
    9524:	39df      	btsti      	r1, 31
    9526:	0b99      	bt      	0x9458	// 9458 <TemCtrl_Pro+0x88>
			Relay_Stop();     //风速停
    9528:	e0000664 	bsr      	0xa1f0	// a1f0 <Relay_Stop>
    952c:	0796      	br      	0x9458	// 9458 <TemCtrl_Pro+0x88>
    952e:	0000      	bkpt
    9530:	200000c0 	.long	0x200000c0
    9534:	20000230 	.long	0x20000230
    9538:	200004f4 	.long	0x200004f4
    953c:	2000080c 	.long	0x2000080c
    9540:	0000d027 	.long	0x0000d027
    9544:	20000590 	.long	0x20000590

Disassembly of section .text.KEY1_Model_Press_Fun:

00009548 <KEY1_Model_Press_Fun>:
#include "includes.h"

extern volatile U32_T SysTick_1ms;

void KEY1_Model_Press_Fun(void)
{
    9548:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY1_Model_Press_Fun");
    954a:	1133      	lrw      	r1, 0xd04f	// 9614 <KEY1_Model_Press_Fun+0xcc>
    954c:	3000      	movi      	r0, 0
	
	if(Debug_Inf.State == 0x01)                   //设置模式下功能
    954e:	1193      	lrw      	r4, 0x20000835	// 9618 <KEY1_Model_Press_Fun+0xd0>
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY1_Model_Press_Fun");
    9550:	e3ffe896 	bsr      	0x667c	// 667c <Dbg_Println>
	if(Debug_Inf.State == 0x01)                   //设置模式下功能
    9554:	8460      	ld.b      	r3, (r4, 0x0)
    9556:	3b41      	cmpnei      	r3, 1
    9558:	11b1      	lrw      	r5, 0x200000c0	// 961c <KEY1_Model_Press_Fun+0xd4>
    955a:	083e      	bt      	0x95d6	// 95d6 <KEY1_Model_Press_Fun+0x8e>
	{
		Debug_Inf.Tick = SysTick_1ms;
    955c:	9560      	ld.w      	r3, (r5, 0x0)
    955e:	320a      	movi      	r2, 10
    9560:	6090      	addu      	r2, r4
    9562:	4b28      	lsri      	r1, r3, 8
    9564:	a260      	st.b      	r3, (r2, 0x0)
    9566:	a221      	st.b      	r1, (r2, 0x1)
    9568:	4b30      	lsri      	r1, r3, 16
    956a:	4b78      	lsri      	r3, r3, 24
    956c:	a263      	st.b      	r3, (r2, 0x3)
		if(Debug_Inf.Page < PAGE8ID)
    956e:	8462      	ld.b      	r3, (r4, 0x2)
    9570:	3b07      	cmphsi      	r3, 8
		Debug_Inf.Tick = SysTick_1ms;
    9572:	a222      	st.b      	r1, (r2, 0x2)
		if(Debug_Inf.Page < PAGE8ID)
    9574:	0803      	bt      	0x957a	// 957a <KEY1_Model_Press_Fun+0x32>
		{
			Debug_Inf.Page++;
    9576:	2300      	addi      	r3, 1
    9578:	a462      	st.b      	r3, (r4, 0x2)
		}
		HT1621_Clear();
    957a:	e3fff7d1 	bsr      	0x851c	// 851c <HT1621_Clear>
		if(Debug_Inf.Page == PAGE2ID)                    //设置模式下：页面2 温差
    957e:	8462      	ld.b      	r3, (r4, 0x2)
    9580:	3b42      	cmpnei      	r3, 2
    9582:	0805      	bt      	0x958c	// 958c <KEY1_Model_Press_Fun+0x44>
		{
			Set_Temp_Difference(Debug_Inf.TempDiff);
    9584:	8405      	ld.b      	r0, (r4, 0x5)
    9586:	e3fffbdd 	bsr      	0x8d40	// 8d40 <Set_Temp_Difference>
				}
			}
		}
		TempCtrl.BackLightTick = SysTick_1ms;
	}
}
    958a:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == PAGE1ID)               //设置模式下：页面1 温控管制
    958c:	3b41      	cmpnei      	r3, 1
    958e:	0806      	bt      	0x959a	// 959a <KEY1_Model_Press_Fun+0x52>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);
    9590:	8424      	ld.b      	r1, (r4, 0x4)
    9592:	3001      	movi      	r0, 1
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9594:	e3fffb88 	bsr      	0x8ca4	// 8ca4 <Set_Device_ADDR>
    9598:	07f9      	br      	0x958a	// 958a <KEY1_Model_Press_Fun+0x42>
		else if(Debug_Inf.Page == PAGE3ID)               //设置模式下：页面3 背光延时关
    959a:	3b43      	cmpnei      	r3, 3
    959c:	0804      	bt      	0x95a4	// 95a4 <KEY1_Model_Press_Fun+0x5c>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    959e:	8426      	ld.b      	r1, (r4, 0x6)
    95a0:	3003      	movi      	r0, 3
    95a2:	07f9      	br      	0x9594	// 9594 <KEY1_Model_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE4ID)               //设置模式下：页面4 按键灵敏度
    95a4:	3b44      	cmpnei      	r3, 4
    95a6:	0804      	bt      	0x95ae	// 95ae <KEY1_Model_Press_Fun+0x66>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    95a8:	8427      	ld.b      	r1, (r4, 0x7)
    95aa:	3004      	movi      	r0, 4
    95ac:	07f4      	br      	0x9594	// 9594 <KEY1_Model_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE5ID)               //设置模式下：页面5 设置地址
    95ae:	3b45      	cmpnei      	r3, 5
    95b0:	0804      	bt      	0x95b8	// 95b8 <KEY1_Model_Press_Fun+0x70>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);
    95b2:	8423      	ld.b      	r1, (r4, 0x3)
    95b4:	3005      	movi      	r0, 5
    95b6:	07ef      	br      	0x9594	// 9594 <KEY1_Model_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE6ID)               //设置模式下：页面6 设置温度显示单位
    95b8:	3b46      	cmpnei      	r3, 6
    95ba:	0804      	bt      	0x95c2	// 95c2 <KEY1_Model_Press_Fun+0x7a>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    95bc:	8428      	ld.b      	r1, (r4, 0x8)
    95be:	3006      	movi      	r0, 6
    95c0:	07ea      	br      	0x9594	// 9594 <KEY1_Model_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE7ID)               //设置模式下：页面7 设置LCD屏幕文本显示
    95c2:	3b47      	cmpnei      	r3, 7
    95c4:	0804      	bt      	0x95cc	// 95cc <KEY1_Model_Press_Fun+0x84>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    95c6:	8429      	ld.b      	r1, (r4, 0x9)
    95c8:	3007      	movi      	r0, 7
    95ca:	07e5      	br      	0x9594	// 9594 <KEY1_Model_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE8ID)               //设置模式下：页面8 查询软件版本号功能
    95cc:	3b48      	cmpnei      	r3, 8
    95ce:	0bde      	bt      	0x958a	// 958a <KEY1_Model_Press_Fun+0x42>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    95d0:	3103      	movi      	r1, 3
    95d2:	3008      	movi      	r0, 8
    95d4:	07e0      	br      	0x9594	// 9594 <KEY1_Model_Press_Fun+0x4c>
		if(TempCtrl.CardState == CARDIN)  //插卡状态
    95d6:	1073      	lrw      	r3, 0x2000080c	// 9620 <KEY1_Model_Press_Fun+0xd8>
    95d8:	8358      	ld.b      	r2, (r3, 0x18)
    95da:	3a41      	cmpnei      	r2, 1
    95dc:	6d0f      	mov      	r4, r3
    95de:	0811      	bt      	0x9600	// 9600 <KEY1_Model_Press_Fun+0xb8>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)      
    95e0:	8362      	ld.b      	r3, (r3, 0x2)
    95e2:	74ce      	sextb      	r3, r3
    95e4:	3bdf      	btsti      	r3, 31
    95e6:	0c0d      	bf      	0x9600	// 9600 <KEY1_Model_Press_Fun+0xb8>
				TemCtrl_Model_Set();                   //模式切换
    95e8:	e3fffdf6 	bsr      	0x91d4	// 91d4 <TemCtrl_Model_Set>
				if(g_eeprom.backlight_en == 0x01)
    95ec:	106e      	lrw      	r3, 0x200004f4	// 9624 <KEY1_Model_Press_Fun+0xdc>
    95ee:	8364      	ld.b      	r3, (r3, 0x4)
    95f0:	3b41      	cmpnei      	r3, 1
    95f2:	0807      	bt      	0x9600	// 9600 <KEY1_Model_Press_Fun+0xb8>
					Controlled_LCD_Backlight(0x01);
    95f4:	3001      	movi      	r0, 1
    95f6:	e3fffad1 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
					Controlled_Key_Backlight(0x01);
    95fa:	3001      	movi      	r0, 1
    95fc:	e3fffb3c 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    9600:	9560      	ld.w      	r3, (r5, 0x0)
    9602:	4b48      	lsri      	r2, r3, 8
    9604:	a470      	st.b      	r3, (r4, 0x10)
    9606:	a451      	st.b      	r2, (r4, 0x11)
    9608:	4b50      	lsri      	r2, r3, 16
    960a:	4b78      	lsri      	r3, r3, 24
    960c:	a452      	st.b      	r2, (r4, 0x12)
    960e:	a473      	st.b      	r3, (r4, 0x13)
}
    9610:	07bd      	br      	0x958a	// 958a <KEY1_Model_Press_Fun+0x42>
    9612:	0000      	bkpt
    9614:	0000d04f 	.long	0x0000d04f
    9618:	20000835 	.long	0x20000835
    961c:	200000c0 	.long	0x200000c0
    9620:	2000080c 	.long	0x2000080c
    9624:	200004f4 	.long	0x200004f4

Disassembly of section .text.KEY2_Fan_Press_Fun:

00009628 <KEY2_Fan_Press_Fun>:




void KEY2_Fan_Press_Fun(void)
{
    9628:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY2_Fan_Press_Fun");
    962a:	1133      	lrw      	r1, 0xd064	// 96f4 <KEY2_Fan_Press_Fun+0xcc>
    962c:	3000      	movi      	r0, 0
	
	if(Debug_Inf.State == 0x01)    //设置模式下功能
    962e:	1193      	lrw      	r4, 0x20000835	// 96f8 <KEY2_Fan_Press_Fun+0xd0>
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY2_Fan_Press_Fun");
    9630:	e3ffe826 	bsr      	0x667c	// 667c <Dbg_Println>
	if(Debug_Inf.State == 0x01)    //设置模式下功能
    9634:	8460      	ld.b      	r3, (r4, 0x0)
    9636:	3b41      	cmpnei      	r3, 1
    9638:	11b1      	lrw      	r5, 0x200000c0	// 96fc <KEY2_Fan_Press_Fun+0xd4>
    963a:	083e      	bt      	0x96b6	// 96b6 <KEY2_Fan_Press_Fun+0x8e>
	{
		Debug_Inf.Tick = SysTick_1ms;
    963c:	9560      	ld.w      	r3, (r5, 0x0)
    963e:	320a      	movi      	r2, 10
    9640:	6090      	addu      	r2, r4
    9642:	4b28      	lsri      	r1, r3, 8
    9644:	a260      	st.b      	r3, (r2, 0x0)
    9646:	a221      	st.b      	r1, (r2, 0x1)
    9648:	4b30      	lsri      	r1, r3, 16
    964a:	4b78      	lsri      	r3, r3, 24
    964c:	a263      	st.b      	r3, (r2, 0x3)
		if(Debug_Inf.Page > PAGE1ID)
    964e:	8462      	ld.b      	r3, (r4, 0x2)
    9650:	3b01      	cmphsi      	r3, 2
		Debug_Inf.Tick = SysTick_1ms;
    9652:	a222      	st.b      	r1, (r2, 0x2)
		if(Debug_Inf.Page > PAGE1ID)
    9654:	0c03      	bf      	0x965a	// 965a <KEY2_Fan_Press_Fun+0x32>
		{
			Debug_Inf.Page--;
    9656:	2b00      	subi      	r3, 1
    9658:	a462      	st.b      	r3, (r4, 0x2)
		}
		HT1621_Clear();
    965a:	e3fff761 	bsr      	0x851c	// 851c <HT1621_Clear>
		if(Debug_Inf.Page == PAGE2ID)                                  //设置模式下：页面2 温差
    965e:	8462      	ld.b      	r3, (r4, 0x2)
    9660:	3b42      	cmpnei      	r3, 2
    9662:	0805      	bt      	0x966c	// 966c <KEY2_Fan_Press_Fun+0x44>
		{
			Set_Temp_Difference(Debug_Inf.TempDiff);
    9664:	8405      	ld.b      	r0, (r4, 0x5)
    9666:	e3fffb6d 	bsr      	0x8d40	// 8d40 <Set_Temp_Difference>
		TempCtrl.BackLightTick = SysTick_1ms;
	
	}
	

}
    966a:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == PAGE1ID)                             //设置模式下：页面1 温控管制 
    966c:	3b41      	cmpnei      	r3, 1
    966e:	0806      	bt      	0x967a	// 967a <KEY2_Fan_Press_Fun+0x52>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);	   	   
    9670:	8424      	ld.b      	r1, (r4, 0x4)
    9672:	3001      	movi      	r0, 1
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    9674:	e3fffb18 	bsr      	0x8ca4	// 8ca4 <Set_Device_ADDR>
    9678:	07f9      	br      	0x966a	// 966a <KEY2_Fan_Press_Fun+0x42>
		else if(Debug_Inf.Page == PAGE3ID)                             //设置模式下：页面3 背光延时关
    967a:	3b43      	cmpnei      	r3, 3
    967c:	0804      	bt      	0x9684	// 9684 <KEY2_Fan_Press_Fun+0x5c>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    967e:	8426      	ld.b      	r1, (r4, 0x6)
    9680:	3003      	movi      	r0, 3
    9682:	07f9      	br      	0x9674	// 9674 <KEY2_Fan_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE4ID)                             //设置模式下：页面4 按键灵敏度
    9684:	3b44      	cmpnei      	r3, 4
    9686:	0804      	bt      	0x968e	// 968e <KEY2_Fan_Press_Fun+0x66>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    9688:	8427      	ld.b      	r1, (r4, 0x7)
    968a:	3004      	movi      	r0, 4
    968c:	07f4      	br      	0x9674	// 9674 <KEY2_Fan_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE5ID)                             //设置模式下：页面5 设置地址
    968e:	3b45      	cmpnei      	r3, 5
    9690:	0804      	bt      	0x9698	// 9698 <KEY2_Fan_Press_Fun+0x70>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);		   
    9692:	8423      	ld.b      	r1, (r4, 0x3)
    9694:	3005      	movi      	r0, 5
    9696:	07ef      	br      	0x9674	// 9674 <KEY2_Fan_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE6ID)               				//设置模式下：页面6 设置温度显示单位
    9698:	3b46      	cmpnei      	r3, 6
    969a:	0804      	bt      	0x96a2	// 96a2 <KEY2_Fan_Press_Fun+0x7a>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    969c:	8428      	ld.b      	r1, (r4, 0x8)
    969e:	3006      	movi      	r0, 6
    96a0:	07ea      	br      	0x9674	// 9674 <KEY2_Fan_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE7ID)               				//设置模式下：页面7 设置LCD屏幕文本显示
    96a2:	3b47      	cmpnei      	r3, 7
    96a4:	0804      	bt      	0x96ac	// 96ac <KEY2_Fan_Press_Fun+0x84>
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    96a6:	8429      	ld.b      	r1, (r4, 0x9)
    96a8:	3007      	movi      	r0, 7
    96aa:	07e5      	br      	0x9674	// 9674 <KEY2_Fan_Press_Fun+0x4c>
		else if(Debug_Inf.Page == PAGE8ID)               				//设置模式下：页面8 查询软件版本号功能
    96ac:	3b48      	cmpnei      	r3, 8
    96ae:	0bde      	bt      	0x966a	// 966a <KEY2_Fan_Press_Fun+0x42>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    96b0:	3103      	movi      	r1, 3
    96b2:	3008      	movi      	r0, 8
    96b4:	07e0      	br      	0x9674	// 9674 <KEY2_Fan_Press_Fun+0x4c>
		if(TempCtrl.CardState == CARDIN)
    96b6:	1073      	lrw      	r3, 0x2000080c	// 9700 <KEY2_Fan_Press_Fun+0xd8>
    96b8:	8358      	ld.b      	r2, (r3, 0x18)
    96ba:	3a41      	cmpnei      	r2, 1
    96bc:	6d0f      	mov      	r4, r3
    96be:	0811      	bt      	0x96e0	// 96e0 <KEY2_Fan_Press_Fun+0xb8>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    96c0:	8362      	ld.b      	r3, (r3, 0x2)
    96c2:	74ce      	sextb      	r3, r3
    96c4:	3bdf      	btsti      	r3, 31
    96c6:	0c0d      	bf      	0x96e0	// 96e0 <KEY2_Fan_Press_Fun+0xb8>
				TemCtrl_Fan_Set();                               //风速切换
    96c8:	e3fffdac 	bsr      	0x9220	// 9220 <TemCtrl_Fan_Set>
				if(g_eeprom.backlight_en == 0x01)
    96cc:	106e      	lrw      	r3, 0x200004f4	// 9704 <KEY2_Fan_Press_Fun+0xdc>
    96ce:	8364      	ld.b      	r3, (r3, 0x4)
    96d0:	3b41      	cmpnei      	r3, 1
    96d2:	0807      	bt      	0x96e0	// 96e0 <KEY2_Fan_Press_Fun+0xb8>
				Controlled_LCD_Backlight(0x01);
    96d4:	3001      	movi      	r0, 1
    96d6:	e3fffa61 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x01);
    96da:	3001      	movi      	r0, 1
    96dc:	e3fffacc 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    96e0:	9560      	ld.w      	r3, (r5, 0x0)
    96e2:	4b48      	lsri      	r2, r3, 8
    96e4:	a470      	st.b      	r3, (r4, 0x10)
    96e6:	a451      	st.b      	r2, (r4, 0x11)
    96e8:	4b50      	lsri      	r2, r3, 16
    96ea:	4b78      	lsri      	r3, r3, 24
    96ec:	a452      	st.b      	r2, (r4, 0x12)
    96ee:	a473      	st.b      	r3, (r4, 0x13)
}
    96f0:	07bd      	br      	0x966a	// 966a <KEY2_Fan_Press_Fun+0x42>
    96f2:	0000      	bkpt
    96f4:	0000d064 	.long	0x0000d064
    96f8:	20000835 	.long	0x20000835
    96fc:	200000c0 	.long	0x200000c0
    9700:	2000080c 	.long	0x2000080c
    9704:	200004f4 	.long	0x200004f4

Disassembly of section .text.KEY3_TempAdd_Press_Fun:

00009708 <KEY3_TempAdd_Press_Fun>:


void KEY3_TempAdd_Press_Fun(void)
{
    9708:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY3_TempAdd_Press_Fun");
    970a:	113f      	lrw      	r1, 0xd077	// 9804 <KEY3_TempAdd_Press_Fun+0xfc>
    970c:	3000      	movi      	r0, 0
    970e:	e3ffe7b7 	bsr      	0x667c	// 667c <Dbg_Println>
	
	if(Debug_Inf.State == 0x01)  //设置模式下功能
    9712:	117e      	lrw      	r3, 0x20000835	// 9808 <KEY3_TempAdd_Press_Fun+0x100>
    9714:	8340      	ld.b      	r2, (r3, 0x0)
    9716:	3a41      	cmpnei      	r2, 1
    9718:	11bd      	lrw      	r5, 0x200000c0	// 980c <KEY3_TempAdd_Press_Fun+0x104>
    971a:	0858      	bt      	0x97ca	// 97ca <KEY3_TempAdd_Press_Fun+0xc2>
	{
		Debug_Inf.Tick = SysTick_1ms;
    971c:	9540      	ld.w      	r2, (r5, 0x0)
    971e:	310a      	movi      	r1, 10
    9720:	604c      	addu      	r1, r3
    9722:	4a08      	lsri      	r0, r2, 8
    9724:	a140      	st.b      	r2, (r1, 0x0)
    9726:	a101      	st.b      	r0, (r1, 0x1)
    9728:	4a10      	lsri      	r0, r2, 16
    972a:	4a58      	lsri      	r2, r2, 24
    972c:	a143      	st.b      	r2, (r1, 0x3)
		if((Debug_Inf.Page == 0x01) && (Debug_Inf.PipeFlag < 2))                           				  //设置模式下：页面1 温控管制
    972e:	8342      	ld.b      	r2, (r3, 0x2)
    9730:	3a41      	cmpnei      	r2, 1
		Debug_Inf.Tick = SysTick_1ms;
    9732:	a102      	st.b      	r0, (r1, 0x2)
		if((Debug_Inf.Page == 0x01) && (Debug_Inf.PipeFlag < 2))                           				  //设置模式下：页面1 温控管制
    9734:	080b      	bt      	0x974a	// 974a <KEY3_TempAdd_Press_Fun+0x42>
    9736:	8324      	ld.b      	r1, (r3, 0x4)
    9738:	3901      	cmphsi      	r1, 2
    973a:	0812      	bt      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
		{
			Debug_Inf.PipeFlag ++;			
    973c:	2100      	addi      	r1, 1
    973e:	7444      	zextb      	r1, r1
    9740:	a324      	st.b      	r1, (r3, 0x4)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);
    9742:	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);
    9744:	e3fffab0 	bsr      	0x8ca4	// 8ca4 <Set_Device_ADDR>
    9748:	040b      	br      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
		else if((Debug_Inf.Page == 0x02) && (Debug_Inf.TempDiff < 18))       //设置模式下：页面2 温差
    974a:	3a42      	cmpnei      	r2, 2
    974c:	080a      	bt      	0x9760	// 9760 <KEY3_TempAdd_Press_Fun+0x58>
    974e:	8305      	ld.b      	r0, (r3, 0x5)
    9750:	3811      	cmphsi      	r0, 18
    9752:	0806      	bt      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
			Debug_Inf.TempDiff++;
    9754:	2000      	addi      	r0, 1
    9756:	7400      	zextb      	r0, r0
    9758:	a305      	st.b      	r0, (r3, 0x5)
			Set_Temp_Difference(Debug_Inf.TempDiff);
    975a:	e3fffaf3 	bsr      	0x8d40	// 8d40 <Set_Temp_Difference>
		}
		TempCtrl.BackLightTick = SysTick_1ms;

	}

}
    975e:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == 0x03)     							     //设置模式下：页面3 背光延时关
    9760:	3a43      	cmpnei      	r2, 3
    9762:	0806      	bt      	0x976e	// 976e <KEY3_TempAdd_Press_Fun+0x66>
			Debug_Inf.BackLight_En = 0x01;
    9764:	3201      	movi      	r2, 1
    9766:	a346      	st.b      	r2, (r3, 0x6)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    9768:	3101      	movi      	r1, 1
    976a:	3003      	movi      	r0, 3
    976c:	07ec      	br      	0x9744	// 9744 <KEY3_TempAdd_Press_Fun+0x3c>
		else if(Debug_Inf.Page == 0x04 && Debug_Inf.KSens_Level <= 1)        //设置模式下：页面4 按键灵敏度
    976e:	3a44      	cmpnei      	r2, 4
    9770:	0809      	bt      	0x9782	// 9782 <KEY3_TempAdd_Press_Fun+0x7a>
    9772:	8327      	ld.b      	r1, (r3, 0x7)
    9774:	3901      	cmphsi      	r1, 2
    9776:	0bf4      	bt      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
			Debug_Inf.KSens_Level++;
    9778:	2100      	addi      	r1, 1
    977a:	7444      	zextb      	r1, r1
    977c:	a327      	st.b      	r1, (r3, 0x7)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    977e:	3004      	movi      	r0, 4
    9780:	07e2      	br      	0x9744	// 9744 <KEY3_TempAdd_Press_Fun+0x3c>
		else if(Debug_Inf.Page == 0x05 && Debug_Inf.DevAddr < 0xff)            //设置模式下：页面5 设置地址
    9782:	3a45      	cmpnei      	r2, 5
    9784:	080a      	bt      	0x9798	// 9798 <KEY3_TempAdd_Press_Fun+0x90>
    9786:	8323      	ld.b      	r1, (r3, 0x3)
    9788:	32ff      	movi      	r2, 255
    978a:	6486      	cmpne      	r1, r2
    978c:	0fe9      	bf      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
			Debug_Inf.DevAddr++;					//刷新地址
    978e:	2100      	addi      	r1, 1
    9790:	7444      	zextb      	r1, r1
    9792:	a323      	st.b      	r1, (r3, 0x3)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);
    9794:	3005      	movi      	r0, 5
    9796:	07d7      	br      	0x9744	// 9744 <KEY3_TempAdd_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE6ID && Debug_Inf.TempDisplay <1)         //设置模式下：页面6 温度单位选择
    9798:	3a46      	cmpnei      	r2, 6
    979a:	0809      	bt      	0x97ac	// 97ac <KEY3_TempAdd_Press_Fun+0xa4>
    979c:	8348      	ld.b      	r2, (r3, 0x8)
    979e:	3a40      	cmpnei      	r2, 0
    97a0:	0bdf      	bt      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
			Debug_Inf.TempDisplay++;
    97a2:	3201      	movi      	r2, 1
    97a4:	a348      	st.b      	r2, (r3, 0x8)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    97a6:	3101      	movi      	r1, 1
    97a8:	3006      	movi      	r0, 6
    97aa:	07cd      	br      	0x9744	// 9744 <KEY3_TempAdd_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE7ID && Debug_Inf.Language_Selection < 2) //设置模式下：页面7 界面语言选择
    97ac:	3a47      	cmpnei      	r2, 7
    97ae:	0809      	bt      	0x97c0	// 97c0 <KEY3_TempAdd_Press_Fun+0xb8>
    97b0:	8329      	ld.b      	r1, (r3, 0x9)
    97b2:	3901      	cmphsi      	r1, 2
    97b4:	0bd5      	bt      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
			Debug_Inf.Language_Selection++;
    97b6:	2100      	addi      	r1, 1
    97b8:	7444      	zextb      	r1, r1
    97ba:	a329      	st.b      	r1, (r3, 0x9)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    97bc:	3007      	movi      	r0, 7
    97be:	07c3      	br      	0x9744	// 9744 <KEY3_TempAdd_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE8ID)               						//设置模式下：页面8 软件版本号
    97c0:	3a48      	cmpnei      	r2, 8
    97c2:	0bce      	bt      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    97c4:	3103      	movi      	r1, 3
    97c6:	3008      	movi      	r0, 8
    97c8:	07be      	br      	0x9744	// 9744 <KEY3_TempAdd_Press_Fun+0x3c>
		if(TempCtrl.CardState == CARDIN)
    97ca:	1092      	lrw      	r4, 0x2000080c	// 9810 <KEY3_TempAdd_Press_Fun+0x108>
    97cc:	8478      	ld.b      	r3, (r4, 0x18)
    97ce:	3b41      	cmpnei      	r3, 1
    97d0:	0811      	bt      	0x97f2	// 97f2 <KEY3_TempAdd_Press_Fun+0xea>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    97d2:	8462      	ld.b      	r3, (r4, 0x2)
    97d4:	74ce      	sextb      	r3, r3
    97d6:	3bdf      	btsti      	r3, 31
    97d8:	0c0d      	bf      	0x97f2	// 97f2 <KEY3_TempAdd_Press_Fun+0xea>
				TemCtrl_Temperature_Add();                          //设置温度+
    97da:	e3fffd63 	bsr      	0x92a0	// 92a0 <TemCtrl_Temperature_Add>
				if(g_eeprom.backlight_en == 0x01)
    97de:	106e      	lrw      	r3, 0x200004f4	// 9814 <KEY3_TempAdd_Press_Fun+0x10c>
    97e0:	8364      	ld.b      	r3, (r3, 0x4)
    97e2:	3b41      	cmpnei      	r3, 1
    97e4:	0807      	bt      	0x97f2	// 97f2 <KEY3_TempAdd_Press_Fun+0xea>
				Controlled_LCD_Backlight(0x01);
    97e6:	3001      	movi      	r0, 1
    97e8:	e3fff9d8 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x01);
    97ec:	3001      	movi      	r0, 1
    97ee:	e3fffa43 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    97f2:	9560      	ld.w      	r3, (r5, 0x0)
    97f4:	4b48      	lsri      	r2, r3, 8
    97f6:	a470      	st.b      	r3, (r4, 0x10)
    97f8:	a451      	st.b      	r2, (r4, 0x11)
    97fa:	4b50      	lsri      	r2, r3, 16
    97fc:	4b78      	lsri      	r3, r3, 24
    97fe:	a452      	st.b      	r2, (r4, 0x12)
    9800:	a473      	st.b      	r3, (r4, 0x13)
}
    9802:	07ae      	br      	0x975e	// 975e <KEY3_TempAdd_Press_Fun+0x56>
    9804:	0000d077 	.long	0x0000d077
    9808:	20000835 	.long	0x20000835
    980c:	200000c0 	.long	0x200000c0
    9810:	2000080c 	.long	0x2000080c
    9814:	200004f4 	.long	0x200004f4

Disassembly of section .text.KEY3_Long_Press_Fun:

00009818 <KEY3_Long_Press_Fun>:

///按键3和按键4 同时长按进入设置功能
void KEY3_Long_Press_Fun(void)
{
    9818:	14d1      	push      	r4, r15
	if(Debug_Inf.State == 0x00)
    981a:	109a      	lrw      	r4, 0x20000835	// 9880 <KEY3_Long_Press_Fun+0x68>
    981c:	8460      	ld.b      	r3, (r4, 0x0)
    981e:	3b40      	cmpnei      	r3, 0
    9820:	082e      	bt      	0x987c	// 987c <KEY3_Long_Press_Fun+0x64>
	{
		Debug_Inf.Press_Flag |= (0x01<<0);
    9822:	8461      	ld.b      	r3, (r4, 0x1)
    9824:	3ba0      	bseti      	r3, 0
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    9826:	3b43      	cmpnei      	r3, 3
		Debug_Inf.Press_Flag |= (0x01<<0);
    9828:	a461      	st.b      	r3, (r4, 0x1)
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    982a:	0829      	bt      	0x987c	// 987c <KEY3_Long_Press_Fun+0x64>
    982c:	1076      	lrw      	r3, 0x2000080c	// 9884 <KEY3_Long_Press_Fun+0x6c>
    982e:	8362      	ld.b      	r3, (r3, 0x2)
    9830:	74ce      	sextb      	r3, r3
    9832:	3bdf      	btsti      	r3, 31
    9834:	0824      	bt      	0x987c	// 987c <KEY3_Long_Press_Fun+0x64>
		{
			Dbg_Println(DBG_BIT_SYS_STATUS,"Debug_In");
    9836:	3000      	movi      	r0, 0
    9838:	1034      	lrw      	r1, 0xd08e	// 9888 <KEY3_Long_Press_Fun+0x70>
    983a:	e3ffe721 	bsr      	0x667c	// 667c <Dbg_Println>
			Debug_Inf.Tick = SysTick_1ms;
    983e:	1074      	lrw      	r3, 0x200000c0	// 988c <KEY3_Long_Press_Fun+0x74>
    9840:	320a      	movi      	r2, 10
    9842:	9360      	ld.w      	r3, (r3, 0x0)
    9844:	6090      	addu      	r2, r4
    9846:	4b28      	lsri      	r1, r3, 8
    9848:	a260      	st.b      	r3, (r2, 0x0)
    984a:	a221      	st.b      	r1, (r2, 0x1)
    984c:	4b30      	lsri      	r1, r3, 16
    984e:	4b78      	lsri      	r3, r3, 24
    9850:	a263      	st.b      	r3, (r2, 0x3)
			Debug_Inf.Press_Flag = 0x00;
    9852:	3300      	movi      	r3, 0
    9854:	a461      	st.b      	r3, (r4, 0x1)
			//进入Debug模式
			Debug_Inf.State = 0x01;
    9856:	3301      	movi      	r3, 1
			Debug_Inf.Tick = SysTick_1ms;
    9858:	a222      	st.b      	r1, (r2, 0x2)
			Debug_Inf.State = 0x01;
    985a:	a460      	st.b      	r3, (r4, 0x0)
			Debug_Inf.Page = 0x01;
    985c:	a462      	st.b      	r3, (r4, 0x2)
			//Debug_Inf.Renetwork = 0;
			
			HT1621_Clear();
    985e:	e3fff65f 	bsr      	0x851c	// 851c <HT1621_Clear>
			Controlled_LCD_Backlight(0x01);
    9862:	3001      	movi      	r0, 1
    9864:	e3fff99a 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x01);
    9868:	3001      	movi      	r0, 1
    986a:	e3fffa05 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
			Controlled_Buzzer(0x01);
    986e:	3001      	movi      	r0, 1
    9870:	e3fff970 	bsr      	0x8b50	// 8b50 <Controlled_Buzzer>
			//刷新页面
			Set_Device_ADDR(0x01,Debug_Inf.PipeFlag);
    9874:	8424      	ld.b      	r1, (r4, 0x4)
    9876:	3001      	movi      	r0, 1
    9878:	e3fffa16 	bsr      	0x8ca4	// 8ca4 <Set_Device_ADDR>
			
		}
	}
	
}
    987c:	1491      	pop      	r4, r15
    987e:	0000      	bkpt
    9880:	20000835 	.long	0x20000835
    9884:	2000080c 	.long	0x2000080c
    9888:	0000d08e 	.long	0x0000d08e
    988c:	200000c0 	.long	0x200000c0

Disassembly of section .text.KEY4_TempDec_Press_Fun:

00009890 <KEY4_TempDec_Press_Fun>:


void KEY4_TempDec_Press_Fun(void)
{
    9890:	14d2      	push      	r4-r5, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY4_TempDec_Press_Fun");
    9892:	113f      	lrw      	r1, 0xd097	// 998c <KEY4_TempDec_Press_Fun+0xfc>
    9894:	3000      	movi      	r0, 0
    9896:	e3ffe6f3 	bsr      	0x667c	// 667c <Dbg_Println>
	
	if(Debug_Inf.State == 0x01)           //设置模式下功能
    989a:	117e      	lrw      	r3, 0x20000835	// 9990 <KEY4_TempDec_Press_Fun+0x100>
    989c:	8340      	ld.b      	r2, (r3, 0x0)
    989e:	3a41      	cmpnei      	r2, 1
    98a0:	11bd      	lrw      	r5, 0x200000c0	// 9994 <KEY4_TempDec_Press_Fun+0x104>
    98a2:	0857      	bt      	0x9950	// 9950 <KEY4_TempDec_Press_Fun+0xc0>
	{
		Debug_Inf.Tick = SysTick_1ms;
    98a4:	9540      	ld.w      	r2, (r5, 0x0)
    98a6:	310a      	movi      	r1, 10
    98a8:	604c      	addu      	r1, r3
    98aa:	4a08      	lsri      	r0, r2, 8
    98ac:	a140      	st.b      	r2, (r1, 0x0)
    98ae:	a101      	st.b      	r0, (r1, 0x1)
    98b0:	4a10      	lsri      	r0, r2, 16
    98b2:	4a58      	lsri      	r2, r2, 24
    98b4:	a143      	st.b      	r2, (r1, 0x3)
		if((Debug_Inf.Page == 0x01) && (Debug_Inf.PipeFlag >0))           //设置模式下：页面1 温控管制
    98b6:	8342      	ld.b      	r2, (r3, 0x2)
    98b8:	3a41      	cmpnei      	r2, 1
		Debug_Inf.Tick = SysTick_1ms;
    98ba:	a102      	st.b      	r0, (r1, 0x2)
		if((Debug_Inf.Page == 0x01) && (Debug_Inf.PipeFlag >0))           //设置模式下：页面1 温控管制
    98bc:	080b      	bt      	0x98d2	// 98d2 <KEY4_TempDec_Press_Fun+0x42>
    98be:	8324      	ld.b      	r1, (r3, 0x4)
    98c0:	3940      	cmpnei      	r1, 0
    98c2:	0c12      	bf      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
		{
			Debug_Inf.PipeFlag --;		
    98c4:	2900      	subi      	r1, 1
    98c6:	7444      	zextb      	r1, r1
    98c8:	a324      	st.b      	r1, (r3, 0x4)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.PipeFlag);
    98ca:	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);
    98cc:	e3fff9ec 	bsr      	0x8ca4	// 8ca4 <Set_Device_ADDR>
    98d0:	040b      	br      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
		else if((Debug_Inf.Page == 0x02) && (Debug_Inf.TempDiff > 0))       //设置模式下：页面2 温差
    98d2:	3a42      	cmpnei      	r2, 2
    98d4:	080a      	bt      	0x98e8	// 98e8 <KEY4_TempDec_Press_Fun+0x58>
    98d6:	8305      	ld.b      	r0, (r3, 0x5)
    98d8:	3840      	cmpnei      	r0, 0
    98da:	0c06      	bf      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
			Debug_Inf.TempDiff--;
    98dc:	2800      	subi      	r0, 1
    98de:	7400      	zextb      	r0, r0
    98e0:	a305      	st.b      	r0, (r3, 0x5)
			Set_Temp_Difference(Debug_Inf.TempDiff);
    98e2:	e3fffa2f 	bsr      	0x8d40	// 8d40 <Set_Temp_Difference>
		}
		TempCtrl.BackLightTick = SysTick_1ms;

	}

}
    98e6:	1492      	pop      	r4-r5, r15
		else if(Debug_Inf.Page == 0x03)     								//设置模式下：页面3 背光延时关
    98e8:	3a43      	cmpnei      	r2, 3
    98ea:	0806      	bt      	0x98f6	// 98f6 <KEY4_TempDec_Press_Fun+0x66>
			Debug_Inf.BackLight_En = 0x00;
    98ec:	3200      	movi      	r2, 0
    98ee:	a346      	st.b      	r2, (r3, 0x6)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.BackLight_En);
    98f0:	3100      	movi      	r1, 0
    98f2:	3003      	movi      	r0, 3
    98f4:	07ec      	br      	0x98cc	// 98cc <KEY4_TempDec_Press_Fun+0x3c>
		else if(Debug_Inf.Page == 0x04 && Debug_Inf.KSens_Level > 0)        //设置模式下：页面4 按键灵敏度
    98f6:	3a44      	cmpnei      	r2, 4
    98f8:	0809      	bt      	0x990a	// 990a <KEY4_TempDec_Press_Fun+0x7a>
    98fa:	8327      	ld.b      	r1, (r3, 0x7)
    98fc:	3940      	cmpnei      	r1, 0
    98fe:	0ff4      	bf      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
			Debug_Inf.KSens_Level--;
    9900:	2900      	subi      	r1, 1
    9902:	7444      	zextb      	r1, r1
    9904:	a327      	st.b      	r1, (r3, 0x7)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.KSens_Level);
    9906:	3004      	movi      	r0, 4
    9908:	07e2      	br      	0x98cc	// 98cc <KEY4_TempDec_Press_Fun+0x3c>
		else if(Debug_Inf.Page == 0x05 && Debug_Inf.DevAddr > 0)            //设置模式下：页面5 设置地址
    990a:	3a45      	cmpnei      	r2, 5
    990c:	0809      	bt      	0x991e	// 991e <KEY4_TempDec_Press_Fun+0x8e>
    990e:	8323      	ld.b      	r1, (r3, 0x3)
    9910:	3940      	cmpnei      	r1, 0
    9912:	0fea      	bf      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
			Debug_Inf.DevAddr--;				//刷新地址
    9914:	2900      	subi      	r1, 1
    9916:	7444      	zextb      	r1, r1
    9918:	a323      	st.b      	r1, (r3, 0x3)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.DevAddr);
    991a:	3005      	movi      	r0, 5
    991c:	07d8      	br      	0x98cc	// 98cc <KEY4_TempDec_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE6ID && Debug_Inf.TempDisplay > 0)           //设置模式下：页面6 温度单位选择
    991e:	3a46      	cmpnei      	r2, 6
    9920:	0809      	bt      	0x9932	// 9932 <KEY4_TempDec_Press_Fun+0xa2>
    9922:	8328      	ld.b      	r1, (r3, 0x8)
    9924:	3940      	cmpnei      	r1, 0
    9926:	0fe0      	bf      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
			Debug_Inf.TempDisplay--;
    9928:	2900      	subi      	r1, 1
    992a:	7444      	zextb      	r1, r1
    992c:	a328      	st.b      	r1, (r3, 0x8)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.TempDisplay);
    992e:	3006      	movi      	r0, 6
    9930:	07ce      	br      	0x98cc	// 98cc <KEY4_TempDec_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE7ID && Debug_Inf.Language_Selection > 0)   //设置模式下：页面7 界面语言选择
    9932:	3a47      	cmpnei      	r2, 7
    9934:	0809      	bt      	0x9946	// 9946 <KEY4_TempDec_Press_Fun+0xb6>
    9936:	8329      	ld.b      	r1, (r3, 0x9)
    9938:	3940      	cmpnei      	r1, 0
    993a:	0fd6      	bf      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
			Debug_Inf.Language_Selection--;
    993c:	2900      	subi      	r1, 1
    993e:	7444      	zextb      	r1, r1
    9940:	a329      	st.b      	r1, (r3, 0x9)
			Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Language_Selection);
    9942:	3007      	movi      	r0, 7
    9944:	07c4      	br      	0x98cc	// 98cc <KEY4_TempDec_Press_Fun+0x3c>
		else if(Debug_Inf.Page == PAGE8ID)               						//设置模式下：页面8 软件版本号
    9946:	3a48      	cmpnei      	r2, 8
    9948:	0bcf      	bt      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
			Set_Device_ADDR(Debug_Inf.Page,Project_FW_Version);
    994a:	3103      	movi      	r1, 3
    994c:	3008      	movi      	r0, 8
    994e:	07bf      	br      	0x98cc	// 98cc <KEY4_TempDec_Press_Fun+0x3c>
		if(TempCtrl.CardState == CARDIN)
    9950:	1092      	lrw      	r4, 0x2000080c	// 9998 <KEY4_TempDec_Press_Fun+0x108>
    9952:	8478      	ld.b      	r3, (r4, 0x18)
    9954:	3b41      	cmpnei      	r3, 1
    9956:	0811      	bt      	0x9978	// 9978 <KEY4_TempDec_Press_Fun+0xe8>
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9958:	8462      	ld.b      	r3, (r4, 0x2)
    995a:	74ce      	sextb      	r3, r3
    995c:	3bdf      	btsti      	r3, 31
    995e:	0c0d      	bf      	0x9978	// 9978 <KEY4_TempDec_Press_Fun+0xe8>
				TemCtrl_Temperature_Dec();                     //设置温度-
    9960:	e3fffc88 	bsr      	0x9270	// 9270 <TemCtrl_Temperature_Dec>
				if(g_eeprom.backlight_en == 0x01)
    9964:	106e      	lrw      	r3, 0x200004f4	// 999c <KEY4_TempDec_Press_Fun+0x10c>
    9966:	8364      	ld.b      	r3, (r3, 0x4)
    9968:	3b41      	cmpnei      	r3, 1
    996a:	0807      	bt      	0x9978	// 9978 <KEY4_TempDec_Press_Fun+0xe8>
				Controlled_LCD_Backlight(0x01);
    996c:	3001      	movi      	r0, 1
    996e:	e3fff915 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x01);
    9972:	3001      	movi      	r0, 1
    9974:	e3fff980 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		TempCtrl.BackLightTick = SysTick_1ms;
    9978:	9560      	ld.w      	r3, (r5, 0x0)
    997a:	4b48      	lsri      	r2, r3, 8
    997c:	a470      	st.b      	r3, (r4, 0x10)
    997e:	a451      	st.b      	r2, (r4, 0x11)
    9980:	4b50      	lsri      	r2, r3, 16
    9982:	4b78      	lsri      	r3, r3, 24
    9984:	a452      	st.b      	r2, (r4, 0x12)
    9986:	a473      	st.b      	r3, (r4, 0x13)
}
    9988:	07af      	br      	0x98e6	// 98e6 <KEY4_TempDec_Press_Fun+0x56>
    998a:	0000      	bkpt
    998c:	0000d097 	.long	0x0000d097
    9990:	20000835 	.long	0x20000835
    9994:	200000c0 	.long	0x200000c0
    9998:	2000080c 	.long	0x2000080c
    999c:	200004f4 	.long	0x200004f4

Disassembly of section .text.KEY4_Long_Press:

000099a0 <KEY4_Long_Press>:

void KEY4_Long_Press(void)
{
    99a0:	14d1      	push      	r4, r15
	if(Debug_Inf.State == 0x00)
    99a2:	109a      	lrw      	r4, 0x20000835	// 9a08 <KEY4_Long_Press+0x68>
    99a4:	8460      	ld.b      	r3, (r4, 0x0)
    99a6:	3b40      	cmpnei      	r3, 0
    99a8:	082e      	bt      	0x9a04	// 9a04 <KEY4_Long_Press+0x64>
	{
		Debug_Inf.Press_Flag |= (0x01<<1);
    99aa:	8461      	ld.b      	r3, (r4, 0x1)
    99ac:	3ba1      	bseti      	r3, 1
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    99ae:	3b43      	cmpnei      	r3, 3
		Debug_Inf.Press_Flag |= (0x01<<1);
    99b0:	a461      	st.b      	r3, (r4, 0x1)
		if(Debug_Inf.Press_Flag == 0x03 && TempCtrl.TemState_Now.on_off == TEMP_OFF)
    99b2:	0829      	bt      	0x9a04	// 9a04 <KEY4_Long_Press+0x64>
    99b4:	1076      	lrw      	r3, 0x2000080c	// 9a0c <KEY4_Long_Press+0x6c>
    99b6:	8362      	ld.b      	r3, (r3, 0x2)
    99b8:	74ce      	sextb      	r3, r3
    99ba:	3bdf      	btsti      	r3, 31
    99bc:	0824      	bt      	0x9a04	// 9a04 <KEY4_Long_Press+0x64>
		{
			Dbg_Println(DBG_BIT_SYS_STATUS,"Debug_In");
    99be:	1035      	lrw      	r1, 0xd08e	// 9a10 <KEY4_Long_Press+0x70>
    99c0:	3000      	movi      	r0, 0
    99c2:	e3ffe65d 	bsr      	0x667c	// 667c <Dbg_Println>
			Debug_Inf.Tick = SysTick_1ms;
    99c6:	1074      	lrw      	r3, 0x200000c0	// 9a14 <KEY4_Long_Press+0x74>
    99c8:	320a      	movi      	r2, 10
    99ca:	9360      	ld.w      	r3, (r3, 0x0)
    99cc:	6090      	addu      	r2, r4
    99ce:	4b28      	lsri      	r1, r3, 8
    99d0:	a260      	st.b      	r3, (r2, 0x0)
    99d2:	a221      	st.b      	r1, (r2, 0x1)
    99d4:	4b30      	lsri      	r1, r3, 16
    99d6:	4b78      	lsri      	r3, r3, 24
    99d8:	a263      	st.b      	r3, (r2, 0x3)
			Debug_Inf.Press_Flag = 0x00;
    99da:	3300      	movi      	r3, 0
    99dc:	a461      	st.b      	r3, (r4, 0x1)
			Debug_Inf.State = 0x01;
			Debug_Inf.Page = 0x01;
			//Debug_Inf.Renetwork = 0;
			
			//Set_Device_ADDR(Debug_Inf.Page,Debug_Inf.Renetwork);
			Controlled_LCD_Backlight(0x01);
    99de:	3001      	movi      	r0, 1
			Debug_Inf.State = 0x01;
    99e0:	3301      	movi      	r3, 1
			Debug_Inf.Tick = SysTick_1ms;
    99e2:	a222      	st.b      	r1, (r2, 0x2)
			Debug_Inf.State = 0x01;
    99e4:	a460      	st.b      	r3, (r4, 0x0)
			Debug_Inf.Page = 0x01;
    99e6:	a462      	st.b      	r3, (r4, 0x2)
			Controlled_LCD_Backlight(0x01);
    99e8:	e3fff8d8 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x01);
    99ec:	3001      	movi      	r0, 1
    99ee:	e3fff943 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
			HT1621_Clear();
    99f2:	e3fff595 	bsr      	0x851c	// 851c <HT1621_Clear>
			Controlled_Buzzer(0x01);
    99f6:	3001      	movi      	r0, 1
    99f8:	e3fff8ac 	bsr      	0x8b50	// 8b50 <Controlled_Buzzer>

			//刷新页面
			Set_Device_ADDR(0x01,Debug_Inf.PipeFlag);
    99fc:	8424      	ld.b      	r1, (r4, 0x4)
    99fe:	3001      	movi      	r0, 1
    9a00:	e3fff952 	bsr      	0x8ca4	// 8ca4 <Set_Device_ADDR>
			
		}
	}
}
    9a04:	1491      	pop      	r4, r15
    9a06:	0000      	bkpt
    9a08:	20000835 	.long	0x20000835
    9a0c:	2000080c 	.long	0x2000080c
    9a10:	0000d08e 	.long	0x0000d08e
    9a14:	200000c0 	.long	0x200000c0

Disassembly of section .text.KEY5_OnOff_Press_Fun:

00009a18 <KEY5_OnOff_Press_Fun>:


void KEY5_OnOff_Press_Fun(void)
{
    9a18:	14d1      	push      	r4, r15
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY5_OnOff_Press_Fun");
    9a1a:	103c      	lrw      	r1, 0xd0ae	// 9a88 <KEY5_OnOff_Press_Fun+0x70>
    9a1c:	3000      	movi      	r0, 0
	if(Debug_Inf.State == 0x00)            //正常模式
    9a1e:	109c      	lrw      	r4, 0x20000835	// 9a8c <KEY5_OnOff_Press_Fun+0x74>
	Dbg_Println(DBG_BIT_SYS_STATUS,"KEY5_OnOff_Press_Fun");
    9a20:	e3ffe62e 	bsr      	0x667c	// 667c <Dbg_Println>
	if(Debug_Inf.State == 0x00)            //正常模式
    9a24:	8460      	ld.b      	r3, (r4, 0x0)
    9a26:	3b40      	cmpnei      	r3, 0
    9a28:	081b      	bt      	0x9a5e	// 9a5e <KEY5_OnOff_Press_Fun+0x46>
	{
		if(TempCtrl.CardState == CARDIN)
    9a2a:	109a      	lrw      	r4, 0x2000080c	// 9a90 <KEY5_OnOff_Press_Fun+0x78>
    9a2c:	8478      	ld.b      	r3, (r4, 0x18)
    9a2e:	3b41      	cmpnei      	r3, 1
    9a30:	080d      	bt      	0x9a4a	// 9a4a <KEY5_OnOff_Press_Fun+0x32>
		{
			TemCtrl_OnOff_Set();
    9a32:	e3fffc4f 	bsr      	0x92d0	// 92d0 <TemCtrl_OnOff_Set>
		{
			TempCtrl_OnOff_DisPlay(1);
			Controlled_LCD_Backlight(1);
			Controlled_Key_Backlight(1);
		}
		TempCtrl.BackLightTick = SysTick_1ms;
    9a36:	1078      	lrw      	r3, 0x200000c0	// 9a94 <KEY5_OnOff_Press_Fun+0x7c>
    9a38:	9360      	ld.w      	r3, (r3, 0x0)
    9a3a:	4b48      	lsri      	r2, r3, 8
    9a3c:	a470      	st.b      	r3, (r4, 0x10)
    9a3e:	a451      	st.b      	r2, (r4, 0x11)
    9a40:	4b50      	lsri      	r2, r3, 16
    9a42:	4b78      	lsri      	r3, r3, 24
    9a44:	a452      	st.b      	r2, (r4, 0x12)
    9a46:	a473      	st.b      	r3, (r4, 0x13)
		Controlled_LCD_Backlight(0x00);
		Controlled_Key_Backlight(0x00);
		//保存参数
		Dev_SaveData();
	}
}
    9a48:	1491      	pop      	r4, r15
			TempCtrl_OnOff_DisPlay(1);
    9a4a:	3001      	movi      	r0, 1
    9a4c:	e0000028 	bsr      	0x9a9c	// 9a9c <TempCtrl_OnOff_DisPlay>
			Controlled_LCD_Backlight(1);
    9a50:	3001      	movi      	r0, 1
    9a52:	e3fff8a3 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(1);
    9a56:	3001      	movi      	r0, 1
    9a58:	e3fff90e 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
    9a5c:	07ed      	br      	0x9a36	// 9a36 <KEY5_OnOff_Press_Fun+0x1e>
	else if(Debug_Inf.State == 0x01)     //设置模式
    9a5e:	3b41      	cmpnei      	r3, 1
    9a60:	0bf4      	bt      	0x9a48	// 9a48 <KEY5_OnOff_Press_Fun+0x30>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Debug_Out");
    9a62:	102e      	lrw      	r1, 0xd0c3	// 9a98 <KEY5_OnOff_Press_Fun+0x80>
    9a64:	3000      	movi      	r0, 0
    9a66:	e3ffe60b 	bsr      	0x667c	// 667c <Dbg_Println>
		Debug_Inf.State = 0x00;
    9a6a:	3300      	movi      	r3, 0
    9a6c:	a460      	st.b      	r3, (r4, 0x0)
		Debug_Inf.Page = 0x01;
    9a6e:	3301      	movi      	r3, 1
    9a70:	a462      	st.b      	r3, (r4, 0x2)
		HT1621_Clear();
    9a72:	e3fff555 	bsr      	0x851c	// 851c <HT1621_Clear>
		Controlled_LCD_Backlight(0x00);
    9a76:	3000      	movi      	r0, 0
    9a78:	e3fff890 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
		Controlled_Key_Backlight(0x00);
    9a7c:	3000      	movi      	r0, 0
    9a7e:	e3fff8fb 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		Dev_SaveData();
    9a82:	e00002d3 	bsr      	0xa028	// a028 <Dev_SaveData>
}
    9a86:	07e1      	br      	0x9a48	// 9a48 <KEY5_OnOff_Press_Fun+0x30>
    9a88:	0000d0ae 	.long	0x0000d0ae
    9a8c:	20000835 	.long	0x20000835
    9a90:	2000080c 	.long	0x2000080c
    9a94:	200000c0 	.long	0x200000c0
    9a98:	0000d0c3 	.long	0x0000d0c3

Disassembly of section .text.TempCtrl_OnOff_DisPlay:

00009a9c <TempCtrl_OnOff_DisPlay>:
 * 函数功能：开/关机显示
 * 
 * 
*/
void TempCtrl_OnOff_DisPlay(U8_T state)
{
    9a9c:	14d1      	push      	r4, r15
	if(state == TEMP_ON)
    9a9e:	3841      	cmpnei      	r0, 1
    9aa0:	0821      	bt      	0x9ae2	// 9ae2 <TempCtrl_OnOff_DisPlay+0x46>
	{
		Control_Prompt_Text(Debug_Inf.Language_Selection);
    9aa2:	1072      	lrw      	r3, 0x20000835	// 9ae8 <TempCtrl_OnOff_DisPlay+0x4c>
    9aa4:	8309      	ld.b      	r0, (r3, 0x9)
		Control_Mode(TempCtrl.TemState_Now.mode);
    9aa6:	1092      	lrw      	r4, 0x2000080c	// 9aec <TempCtrl_OnOff_DisPlay+0x50>
		Control_Prompt_Text(Debug_Inf.Language_Selection);
    9aa8:	e3fff802 	bsr      	0x8aac	// 8aac <Control_Prompt_Text>
		Control_Mode(TempCtrl.TemState_Now.mode);
    9aac:	8402      	ld.b      	r0, (r4, 0x2)
    9aae:	4019      	lsli      	r0, r0, 25
    9ab0:	481d      	lsri      	r0, r0, 29
    9ab2:	e3fff673 	bsr      	0x8798	// 8798 <Control_Mode>
		Control_wind_velocity(TempCtrl.TemState_Now.fan);
    9ab6:	8402      	ld.b      	r0, (r4, 0x2)
    9ab8:	401c      	lsli      	r0, r0, 28
    9aba:	481d      	lsri      	r0, r0, 29
    9abc:	e3fff790 	bsr      	0x89dc	// 89dc <Control_wind_velocity>
		Set_Temperature_Display(TEMTEMPCONVER(TempCtrl.TemState_Now.set_t)*10);
    9ac0:	8401      	ld.b      	r0, (r4, 0x1)
    9ac2:	3840      	cmpnei      	r0, 0
    9ac4:	0c0c      	bf      	0x9adc	// 9adc <TempCtrl_OnOff_DisPlay+0x40>
    9ac6:	330a      	movi      	r3, 10
    9ac8:	7c0c      	mult      	r0, r3
    9aca:	e3fff597 	bsr      	0x85f8	// 85f8 <Set_Temperature_Display>
		Local_Temperature_Display(TempCtrl.TemState_Now.indoor_t*10);
    9ace:	8400      	ld.b      	r0, (r4, 0x0)
    9ad0:	330a      	movi      	r3, 10
    9ad2:	7c0c      	mult      	r0, r3
    9ad4:	7401      	zexth      	r0, r0
    9ad6:	e3fff5f9 	bsr      	0x86c8	// 86c8 <Local_Temperature_Display>
	}
	else
	{
		HT1621_Clear();
	}
}
    9ada:	1491      	pop      	r4, r15
		Set_Temperature_Display(TEMTEMPCONVER(TempCtrl.TemState_Now.set_t)*10);
    9adc:	30a0      	movi      	r0, 160
    9ade:	4001      	lsli      	r0, r0, 1
    9ae0:	07f5      	br      	0x9aca	// 9aca <TempCtrl_OnOff_DisPlay+0x2e>
		HT1621_Clear();
    9ae2:	e3fff51d 	bsr      	0x851c	// 851c <HT1621_Clear>
}
    9ae6:	07fa      	br      	0x9ada	// 9ada <TempCtrl_OnOff_DisPlay+0x3e>
    9ae8:	20000835 	.long	0x20000835
    9aec:	2000080c 	.long	0x2000080c

Disassembly of section .text.DisPlay_Init:

00009af0 <DisPlay_Init>:
 * 函数功能：显示初始化
 * 
 * 
*/
void DisPlay_Init(void)
{
    9af0:	14d0      	push      	r15
	HT1621_ALLON();
    9af2:	e3fff53d 	bsr      	0x856c	// 856c <HT1621_ALLON>
	
	delay_nms(5000);
    9af6:	1005      	lrw      	r0, 0x1388	// 9b08 <DisPlay_Init+0x18>
    9af8:	e3ffdd12 	bsr      	0x551c	// 551c <delay_nms>
	
	TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
    9afc:	1064      	lrw      	r3, 0x2000080c	// 9b0c <DisPlay_Init+0x1c>
    9afe:	8302      	ld.b      	r0, (r3, 0x2)
    9b00:	4807      	lsri      	r0, r0, 7
    9b02:	e3ffffcd 	bsr      	0x9a9c	// 9a9c <TempCtrl_OnOff_DisPlay>
	
}
    9b06:	1490      	pop      	r15
    9b08:	00001388 	.long	0x00001388
    9b0c:	2000080c 	.long	0x2000080c

Disassembly of section .text.DisPlay_Task:

00009b10 <DisPlay_Task>:
 * 
 * 
*/
static U8_T OpenDisPlay_Flag = 0x00;	//开机刷新标志
void DisPlay_Task(void)
{
    9b10:	14d4      	push      	r4-r7, r15
	if(Debug_Inf.State == 0x00)           //正常模式
    9b12:	0168      	lrw      	r3, 0x20000835	// 9e6c <DisPlay_Task+0x35c>
    9b14:	8360      	ld.b      	r3, (r3, 0x0)
    9b16:	3b40      	cmpnei      	r3, 0
    9b18:	0c03      	bf      	0x9b1e	// 9b1e <DisPlay_Task+0xe>
    9b1a:	e8000250 	br      	0x9fba	// 9fba <DisPlay_Task+0x4aa>
	{
		///1、根据插卡状态处理显示和背光状态
		if((SysTick_1ms - TempCtrl.BackLightTick > 3000) && (TempCtrl.CardState == CARDOUT))     //拔卡关背光
    9b1e:	018a      	lrw      	r4, 0x2000080c	// 9e70 <DisPlay_Task+0x360>
    9b20:	8451      	ld.b      	r2, (r4, 0x11)
    9b22:	8470      	ld.b      	r3, (r4, 0x10)
    9b24:	4248      	lsli      	r2, r2, 8
    9b26:	6c8c      	or      	r2, r3
    9b28:	8472      	ld.b      	r3, (r4, 0x12)
    9b2a:	4370      	lsli      	r3, r3, 16
    9b2c:	6c8c      	or      	r2, r3
    9b2e:	8473      	ld.b      	r3, (r4, 0x13)
    9b30:	01ae      	lrw      	r5, 0x200000c0	// 9e74 <DisPlay_Task+0x364>
    9b32:	4378      	lsli      	r3, r3, 24
    9b34:	6cc8      	or      	r3, r2
    9b36:	9520      	ld.w      	r1, (r5, 0x0)
    9b38:	604e      	subu      	r1, r3
    9b3a:	014f      	lrw      	r2, 0xbb8	// 9e78 <DisPlay_Task+0x368>
    9b3c:	6448      	cmphs      	r2, r1
    9b3e:	08b7      	bt      	0x9cac	// 9cac <DisPlay_Task+0x19c>
    9b40:	8458      	ld.b      	r2, (r4, 0x18)
    9b42:	3a40      	cmpnei      	r2, 0
    9b44:	08b4      	bt      	0x9cac	// 9cac <DisPlay_Task+0x19c>
		{
			TempCtrl.BackLightTick = SysTick_1ms;
    9b46:	9560      	ld.w      	r3, (r5, 0x0)
    9b48:	4b48      	lsri      	r2, r3, 8
    9b4a:	a470      	st.b      	r3, (r4, 0x10)
    9b4c:	a451      	st.b      	r2, (r4, 0x11)
    9b4e:	4b50      	lsri      	r2, r3, 16
    9b50:	4b78      	lsri      	r3, r3, 24
    9b52:	a473      	st.b      	r3, (r4, 0x13)
			TempCtrl.CardFlag = 0x00;
    9b54:	3300      	movi      	r3, 0
    9b56:	a479      	st.b      	r3, (r4, 0x19)
			if(TempCtrl.TemState_Now.on_off == TEMP_OFF)         //开机状态下不清屏，只关背光
    9b58:	8462      	ld.b      	r3, (r4, 0x2)
    9b5a:	74ce      	sextb      	r3, r3
    9b5c:	3bdf      	btsti      	r3, 31
			TempCtrl.BackLightTick = SysTick_1ms;
    9b5e:	a452      	st.b      	r2, (r4, 0x12)
			if(TempCtrl.TemState_Now.on_off == TEMP_OFF)         //开机状态下不清屏，只关背光
    9b60:	0803      	bt      	0x9b66	// 9b66 <DisPlay_Task+0x56>
			{
				HT1621_Clear();
    9b62:	e3fff4dd 	bsr      	0x851c	// 851c <HT1621_Clear>
			}
			//关背光
			Controlled_LCD_Backlight(0);
    9b66:	3000      	movi      	r0, 0
    9b68:	e3fff818 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x00);
    9b6c:	3000      	movi      	r0, 0
    9b6e:	e3fff883 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
			Dbg_Println(DBG_BIT_SYS_STATUS,"CARDOUT off light");
    9b72:	013c      	lrw      	r1, 0xd0cd	// 9e7c <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");
    9b74:	3000      	movi      	r0, 0
    9b76:	e3ffe583 	bsr      	0x667c	// 667c <Dbg_Println>
				}
			}
		}
		
		///2、根据场景是否为睡眠模式处理背光状态
		if(SysTick_1ms - TempCtrl.SceneNoTick > 1000)      
    9b7a:	8455      	ld.b      	r2, (r4, 0x15)
    9b7c:	8474      	ld.b      	r3, (r4, 0x14)
    9b7e:	4248      	lsli      	r2, r2, 8
    9b80:	6c8c      	or      	r2, r3
    9b82:	8476      	ld.b      	r3, (r4, 0x16)
    9b84:	4370      	lsli      	r3, r3, 16
    9b86:	6c8c      	or      	r2, r3
    9b88:	8477      	ld.b      	r3, (r4, 0x17)
    9b8a:	4378      	lsli      	r3, r3, 24
    9b8c:	6cc8      	or      	r3, r2
    9b8e:	9520      	ld.w      	r1, (r5, 0x0)
    9b90:	604e      	subu      	r1, r3
    9b92:	33fa      	movi      	r3, 250
    9b94:	4362      	lsli      	r3, r3, 2
    9b96:	644c      	cmphs      	r3, r1
    9b98:	081b      	bt      	0x9bce	// 9bce <DisPlay_Task+0xbe>
		{
			TempCtrl.SceneNoTick = SysTick_1ms;
    9b9a:	9560      	ld.w      	r3, (r5, 0x0)
    9b9c:	4b48      	lsri      	r2, r3, 8
    9b9e:	a474      	st.b      	r3, (r4, 0x14)
    9ba0:	a455      	st.b      	r2, (r4, 0x15)
    9ba2:	4b50      	lsri      	r2, r3, 16
    9ba4:	4b78      	lsri      	r3, r3, 24
    9ba6:	a477      	st.b      	r3, (r4, 0x17)
			if(TempCtrl.SceneNo == 0x04 && TempCtrl.SceneFlag == 0x01)       //睡眠模式关背光
    9ba8:	847b      	ld.b      	r3, (r4, 0x1b)
    9baa:	3b44      	cmpnei      	r3, 4
			TempCtrl.SceneNoTick = SysTick_1ms;
    9bac:	a456      	st.b      	r2, (r4, 0x16)
			if(TempCtrl.SceneNo == 0x04 && TempCtrl.SceneFlag == 0x01)       //睡眠模式关背光
    9bae:	08a7      	bt      	0x9cfc	// 9cfc <DisPlay_Task+0x1ec>
    9bb0:	847c      	ld.b      	r3, (r4, 0x1c)
    9bb2:	3b41      	cmpnei      	r3, 1
    9bb4:	08a4      	bt      	0x9cfc	// 9cfc <DisPlay_Task+0x1ec>
			{
				TempCtrl.SceneFlag = 0x00;
    9bb6:	3300      	movi      	r3, 0
				//关背光
				Controlled_LCD_Backlight(0);
    9bb8:	3000      	movi      	r0, 0
				TempCtrl.SceneFlag = 0x00;
    9bba:	a47c      	st.b      	r3, (r4, 0x1c)
				Controlled_LCD_Backlight(0);
    9bbc:	e3fff7ee 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
				Controlled_Key_Backlight(0x00);
    9bc0:	3000      	movi      	r0, 0
    9bc2:	e3fff859 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
				Dbg_Println(DBG_BIT_SYS_STATUS,"sleep off light");
    9bc6:	0230      	lrw      	r1, 0xd0ef	// 9e80 <DisPlay_Task+0x370>
				{
					TempCtrl.SceneFlag = 0x00;
					//开背光
					Controlled_LCD_Backlight(1);
					Controlled_Key_Backlight(0x01);
					Dbg_Println(DBG_BIT_SYS_STATUS,"Not sleep on light");
    9bc8:	3000      	movi      	r0, 0
    9bca:	e3ffe559 	bsr      	0x667c	// 667c <Dbg_Println>
				}
			}
		}
		
		///3、根据背光延时关功能是否开启处理背光
		if(g_eeprom.backlight_en == 0x01 && (SysTick_1ms - TempCtrl.BackLightTick > 5000))
    9bce:	02f1      	lrw      	r7, 0x200004f4	// 9e84 <DisPlay_Task+0x374>
    9bd0:	8764      	ld.b      	r3, (r7, 0x4)
    9bd2:	3b41      	cmpnei      	r3, 1
    9bd4:	081e      	bt      	0x9c10	// 9c10 <DisPlay_Task+0x100>
    9bd6:	8451      	ld.b      	r2, (r4, 0x11)
    9bd8:	8470      	ld.b      	r3, (r4, 0x10)
    9bda:	4248      	lsli      	r2, r2, 8
    9bdc:	6c8c      	or      	r2, r3
    9bde:	8472      	ld.b      	r3, (r4, 0x12)
    9be0:	4370      	lsli      	r3, r3, 16
    9be2:	6c8c      	or      	r2, r3
    9be4:	8473      	ld.b      	r3, (r4, 0x13)
    9be6:	4378      	lsli      	r3, r3, 24
    9be8:	6cc8      	or      	r3, r2
    9bea:	9520      	ld.w      	r1, (r5, 0x0)
    9bec:	604e      	subu      	r1, r3
    9bee:	0278      	lrw      	r3, 0x1388	// 9e88 <DisPlay_Task+0x378>
    9bf0:	644c      	cmphs      	r3, r1
    9bf2:	080f      	bt      	0x9c10	// 9c10 <DisPlay_Task+0x100>
		{
			TempCtrl.BackLightTick = SysTick_1ms;
    9bf4:	9560      	ld.w      	r3, (r5, 0x0)
    9bf6:	4b48      	lsri      	r2, r3, 8
    9bf8:	a470      	st.b      	r3, (r4, 0x10)
    9bfa:	a451      	st.b      	r2, (r4, 0x11)
			Controlled_LCD_Backlight(0);
    9bfc:	3000      	movi      	r0, 0
			TempCtrl.BackLightTick = SysTick_1ms;
    9bfe:	4b50      	lsri      	r2, r3, 16
    9c00:	4b78      	lsri      	r3, r3, 24
    9c02:	a452      	st.b      	r2, (r4, 0x12)
    9c04:	a473      	st.b      	r3, (r4, 0x13)
			Controlled_LCD_Backlight(0);
    9c06:	e3fff7c9 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(0x00);
    9c0a:	3000      	movi      	r0, 0
    9c0c:	e3fff834 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		}
		
		///4、温控状态变化刷新屏幕内容
		if(TempCtrl.TemState_Now.on_off == TEMP_ON)           
    9c10:	8402      	ld.b      	r0, (r4, 0x2)
    9c12:	74c2      	sextb      	r3, r0
    9c14:	3bdf      	btsti      	r3, 31
    9c16:	03c1      	lrw      	r6, 0x2000082c	// 9e8c <DisPlay_Task+0x37c>
    9c18:	0d4a      	bf      	0x9eac	// 9eac <DisPlay_Task+0x39c>
		{
			if(TempCtrl.TemStateLast.mode != TempCtrl.TemState_Now.mode)     //刷新模式
    9c1a:	8466      	ld.b      	r3, (r4, 0x6)
    9c1c:	4019      	lsli      	r0, r0, 25
    9c1e:	4359      	lsli      	r2, r3, 25
    9c20:	481d      	lsri      	r0, r0, 29
    9c22:	4a5d      	lsri      	r2, r2, 29
    9c24:	640a      	cmpne      	r2, r0
    9c26:	0c21      	bf      	0x9c68	// 9c68 <DisPlay_Task+0x158>
			{
				TempCtrl.TemStateLast.mode = TempCtrl.TemState_Now.mode;
    9c28:	3170      	movi      	r1, 112
    9c2a:	4044      	lsli      	r2, r0, 4
    9c2c:	68c5      	andn      	r3, r1
    9c2e:	6cc8      	or      	r3, r2
    9c30:	a466      	st.b      	r3, (r4, 0x6)
				Control_Mode(TempCtrl.TemState_Now.mode);
    9c32:	e3fff5b3 	bsr      	0x8798	// 8798 <Control_Mode>
				
				SYSCON->UREG0 &= 0xFFFF00FF;
    9c36:	0368      	lrw      	r3, 0x2000005c	// 9e90 <DisPlay_Task+0x380>
    9c38:	31ff      	movi      	r1, 255
    9c3a:	9340      	ld.w      	r2, (r3, 0x0)
    9c3c:	22ff      	addi      	r2, 256
    9c3e:	9260      	ld.w      	r3, (r2, 0x0)
    9c40:	4128      	lsli      	r1, r1, 8
    9c42:	68c5      	andn      	r3, r1
    9c44:	b260      	st.w      	r3, (r2, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.mode << 8);
    9c46:	8462      	ld.b      	r3, (r4, 0x2)
    9c48:	4379      	lsli      	r3, r3, 25
    9c4a:	4b7d      	lsri      	r3, r3, 29
    9c4c:	9220      	ld.w      	r1, (r2, 0x0)
    9c4e:	4368      	lsli      	r3, r3, 8
    9c50:	6cc4      	or      	r3, r1
    9c52:	b260      	st.w      	r3, (r2, 0x0)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9c54:	3301      	movi      	r3, 1
    9c56:	a660      	st.b      	r3, (r6, 0x0)
				TempCtrl.TempChange_Tick = SysTick_1ms;
    9c58:	9560      	ld.w      	r3, (r5, 0x0)
    9c5a:	4b28      	lsri      	r1, r3, 8
    9c5c:	a665      	st.b      	r3, (r6, 0x5)
    9c5e:	a626      	st.b      	r1, (r6, 0x6)
    9c60:	4b30      	lsri      	r1, r3, 16
    9c62:	4b78      	lsri      	r3, r3, 24
    9c64:	a627      	st.b      	r1, (r6, 0x7)
    9c66:	a668      	st.b      	r3, (r6, 0x8)
			}
			
			if((TempCtrl.TemStateLast.fan != TempCtrl.TemState_Now.fan) || (OpenDisPlay_Flag == 0x01))       //刷新风速,2025-03-20
    9c68:	8402      	ld.b      	r0, (r4, 0x2)
    9c6a:	8466      	ld.b      	r3, (r4, 0x6)
    9c6c:	401c      	lsli      	r0, r0, 28
    9c6e:	437c      	lsli      	r3, r3, 28
    9c70:	4b7d      	lsri      	r3, r3, 29
    9c72:	481d      	lsri      	r0, r0, 29
    9c74:	640e      	cmpne      	r3, r0
    9c76:	0377      	lrw      	r3, 0x20000234	// 9e94 <DisPlay_Task+0x384>
    9c78:	0804      	bt      	0x9c80	// 9c80 <DisPlay_Task+0x170>
    9c7a:	8340      	ld.b      	r2, (r3, 0x0)
    9c7c:	3a41      	cmpnei      	r2, 1
    9c7e:	087b      	bt      	0x9d74	// 9d74 <DisPlay_Task+0x264>
			{
				OpenDisPlay_Flag = 0x00;
    9c80:	3200      	movi      	r2, 0
    9c82:	a340      	st.b      	r2, (r3, 0x0)
				
				TempCtrl.TemStateLast.fan = TempCtrl.TemState_Now.fan;
    9c84:	8466      	ld.b      	r3, (r4, 0x6)
    9c86:	310e      	movi      	r1, 14
    9c88:	4041      	lsli      	r2, r0, 1
    9c8a:	68c5      	andn      	r3, r1
    9c8c:	6cc8      	or      	r3, r2
    9c8e:	a466      	st.b      	r3, (r4, 0x6)
				Control_wind_velocity(TempCtrl.TemState_Now.fan);
    9c90:	e3fff6a6 	bsr      	0x89dc	// 89dc <Control_wind_velocity>
				if((TempCtrl.TemState_Now.mode == MODEL_WIND)&&(g_eeprom.pipe_flag == 0x02))  //水机无阀  送风模式下风机都不开  2024-11-14 wpd
    9c94:	3270      	movi      	r2, 112
    9c96:	8462      	ld.b      	r3, (r4, 0x2)
    9c98:	68c8      	and      	r3, r2
    9c9a:	3240      	movi      	r2, 64
    9c9c:	648e      	cmpne      	r3, r2
    9c9e:	0843      	bt      	0x9d24	// 9d24 <DisPlay_Task+0x214>
    9ca0:	8761      	ld.b      	r3, (r7, 0x1)
    9ca2:	3b42      	cmpnei      	r3, 2
    9ca4:	0840      	bt      	0x9d24	// 9d24 <DisPlay_Task+0x214>
							break;
						case FAN_HIGH:
							Relay_High();
							break;
						case FAN_STOP:
							Relay_Stop();
    9ca6:	e00002a5 	bsr      	0xa1f0	// a1f0 <Relay_Stop>
							break;						
    9caa:	044b      	br      	0x9d40	// 9d40 <DisPlay_Task+0x230>
		else if((SysTick_1ms - TempCtrl.BackLightTick > 2000) && (TempCtrl.CardState == CARDIN) && (TempCtrl.CardFlag == 0x01))    //处于开机，插卡恢复页面
    9cac:	9540      	ld.w      	r2, (r5, 0x0)
    9cae:	608e      	subu      	r2, r3
    9cb0:	33fa      	movi      	r3, 250
    9cb2:	4363      	lsli      	r3, r3, 3
    9cb4:	648c      	cmphs      	r3, r2
    9cb6:	0b62      	bt      	0x9b7a	// 9b7a <DisPlay_Task+0x6a>
    9cb8:	8478      	ld.b      	r3, (r4, 0x18)
    9cba:	3b41      	cmpnei      	r3, 1
    9cbc:	0b5f      	bt      	0x9b7a	// 9b7a <DisPlay_Task+0x6a>
    9cbe:	8479      	ld.b      	r3, (r4, 0x19)
    9cc0:	3b41      	cmpnei      	r3, 1
    9cc2:	0b5c      	bt      	0x9b7a	// 9b7a <DisPlay_Task+0x6a>
			TempCtrl.BackLightTick = SysTick_1ms;
    9cc4:	9560      	ld.w      	r3, (r5, 0x0)
    9cc6:	4b48      	lsri      	r2, r3, 8
    9cc8:	a470      	st.b      	r3, (r4, 0x10)
    9cca:	a451      	st.b      	r2, (r4, 0x11)
    9ccc:	4b50      	lsri      	r2, r3, 16
    9cce:	4b78      	lsri      	r3, r3, 24
    9cd0:	a473      	st.b      	r3, (r4, 0x13)
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9cd2:	8402      	ld.b      	r0, (r4, 0x2)
			TempCtrl.CardFlag = 0x00;
    9cd4:	3300      	movi      	r3, 0
    9cd6:	a479      	st.b      	r3, (r4, 0x19)
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9cd8:	74c2      	sextb      	r3, r0
    9cda:	3bdf      	btsti      	r3, 31
			TempCtrl.BackLightTick = SysTick_1ms;
    9cdc:	a452      	st.b      	r2, (r4, 0x12)
			if(TempCtrl.TemState_Now.on_off == TEMP_ON)
    9cde:	0f4e      	bf      	0x9b7a	// 9b7a <DisPlay_Task+0x6a>
				TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
    9ce0:	4807      	lsri      	r0, r0, 7
    9ce2:	e3fffedd 	bsr      	0x9a9c	// 9a9c <TempCtrl_OnOff_DisPlay>
				if(TempCtrl.SceneNo != 0x04)        //不是处于睡眠模式，开背光
    9ce6:	847b      	ld.b      	r3, (r4, 0x1b)
    9ce8:	3b44      	cmpnei      	r3, 4
    9cea:	0f48      	bf      	0x9b7a	// 9b7a <DisPlay_Task+0x6a>
					Controlled_LCD_Backlight(1);
    9cec:	3001      	movi      	r0, 1
    9cee:	e3fff755 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
					Controlled_Key_Backlight(0x01);
    9cf2:	3001      	movi      	r0, 1
    9cf4:	e3fff7c0 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
					Dbg_Println(DBG_BIT_SYS_STATUS,"CARDIn on light");
    9cf8:	1328      	lrw      	r1, 0xd0df	// 9e98 <DisPlay_Task+0x388>
    9cfa:	073d      	br      	0x9b74	// 9b74 <DisPlay_Task+0x64>
				if((TempCtrl.TemState_Now.on_off == TEMP_ON) && (TempCtrl.CardState == CARDIN) && (TempCtrl.SceneFlag == 0x01))
    9cfc:	8462      	ld.b      	r3, (r4, 0x2)
    9cfe:	74ce      	sextb      	r3, r3
    9d00:	3bdf      	btsti      	r3, 31
    9d02:	0f66      	bf      	0x9bce	// 9bce <DisPlay_Task+0xbe>
    9d04:	8478      	ld.b      	r3, (r4, 0x18)
    9d06:	3b41      	cmpnei      	r3, 1
    9d08:	0b63      	bt      	0x9bce	// 9bce <DisPlay_Task+0xbe>
    9d0a:	847c      	ld.b      	r3, (r4, 0x1c)
    9d0c:	3b41      	cmpnei      	r3, 1
    9d0e:	0b60      	bt      	0x9bce	// 9bce <DisPlay_Task+0xbe>
					TempCtrl.SceneFlag = 0x00;
    9d10:	3300      	movi      	r3, 0
					Controlled_LCD_Backlight(1);
    9d12:	3001      	movi      	r0, 1
					TempCtrl.SceneFlag = 0x00;
    9d14:	a47c      	st.b      	r3, (r4, 0x1c)
					Controlled_LCD_Backlight(1);
    9d16:	e3fff741 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
					Controlled_Key_Backlight(0x01);
    9d1a:	3001      	movi      	r0, 1
    9d1c:	e3fff7ac 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
					Dbg_Println(DBG_BIT_SYS_STATUS,"Not sleep on light");
    9d20:	123f      	lrw      	r1, 0xd0ff	// 9e9c <DisPlay_Task+0x38c>
    9d22:	0753      	br      	0x9bc8	// 9bc8 <DisPlay_Task+0xb8>
					switch(TempCtrl.TemState_Now.fan)
    9d24:	8402      	ld.b      	r0, (r4, 0x2)
    9d26:	401c      	lsli      	r0, r0, 28
    9d28:	481d      	lsri      	r0, r0, 29
    9d2a:	2800      	subi      	r0, 1
    9d2c:	3803      	cmphsi      	r0, 4
    9d2e:	0809      	bt      	0x9d40	// 9d40 <DisPlay_Task+0x230>
    9d30:	e3ffcbf0 	bsr      	0x3510	// 3510 <___gnu_csky_case_shi>
    9d34:	01440004 	.long	0x01440004
    9d38:	ffb90147 	.long	0xffb90147
							Relay_Low();
    9d3c:	e000024c 	bsr      	0xa1d4	// a1d4 <Relay_Low>
						default:
							break;
					}
				}
				
				SYSCON->UREG0 &= 0xFF00FFFF;
    9d40:	1274      	lrw      	r3, 0x2000005c	// 9e90 <DisPlay_Task+0x380>
    9d42:	31ff      	movi      	r1, 255
    9d44:	9340      	ld.w      	r2, (r3, 0x0)
    9d46:	22ff      	addi      	r2, 256
    9d48:	9260      	ld.w      	r3, (r2, 0x0)
    9d4a:	4130      	lsli      	r1, r1, 16
    9d4c:	68c5      	andn      	r3, r1
    9d4e:	b260      	st.w      	r3, (r2, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.fan << 16);
    9d50:	8462      	ld.b      	r3, (r4, 0x2)
    9d52:	437c      	lsli      	r3, r3, 28
    9d54:	4b7d      	lsri      	r3, r3, 29
    9d56:	9220      	ld.w      	r1, (r2, 0x0)
    9d58:	4370      	lsli      	r3, r3, 16
    9d5a:	6cc4      	or      	r3, r1
    9d5c:	b260      	st.w      	r3, (r2, 0x0)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9d5e:	3301      	movi      	r3, 1
    9d60:	a660      	st.b      	r3, (r6, 0x0)
				TempCtrl.TempChange_Tick = SysTick_1ms;
    9d62:	9560      	ld.w      	r3, (r5, 0x0)
    9d64:	124f      	lrw      	r2, 0x20000831	// 9ea0 <DisPlay_Task+0x390>
    9d66:	4b28      	lsri      	r1, r3, 8
    9d68:	a260      	st.b      	r3, (r2, 0x0)
    9d6a:	a221      	st.b      	r1, (r2, 0x1)
    9d6c:	4b30      	lsri      	r1, r3, 16
    9d6e:	4b78      	lsri      	r3, r3, 24
    9d70:	a222      	st.b      	r1, (r2, 0x2)
    9d72:	a263      	st.b      	r3, (r2, 0x3)
			}
			
			if(TempCtrl.TemStateLast.set_t != TempCtrl.TemState_Now.set_t)   //刷新设置温度
    9d74:	8401      	ld.b      	r0, (r4, 0x1)
    9d76:	8465      	ld.b      	r3, (r4, 0x5)
    9d78:	640e      	cmpne      	r3, r0
    9d7a:	0c1f      	bf      	0x9db8	// 9db8 <DisPlay_Task+0x2a8>
			{
				TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t;
			
				if(TempCtrl.TemState_Now.set_t==0x00)
    9d7c:	3840      	cmpnei      	r0, 0
				TempCtrl.TemStateLast.set_t = TempCtrl.TemState_Now.set_t;
    9d7e:	a405      	st.b      	r0, (r4, 0x5)
				if(TempCtrl.TemState_Now.set_t==0x00)
    9d80:	0924      	bt      	0x9fc8	// 9fc8 <DisPlay_Task+0x4b8>
				{
					Set_Temperature_Display(320);
    9d82:	30a0      	movi      	r0, 160
    9d84:	4001      	lsli      	r0, r0, 1
				}
				else
				{
					Set_Temperature_Display(TempCtrl.TemState_Now.set_t*10);
    9d86:	e3fff439 	bsr      	0x85f8	// 85f8 <Set_Temperature_Display>
				}
				
				SYSCON->UREG0 &= 0x00FFFFFF;
    9d8a:	1262      	lrw      	r3, 0x2000005c	// 9e90 <DisPlay_Task+0x380>
    9d8c:	9360      	ld.w      	r3, (r3, 0x0)
    9d8e:	23ff      	addi      	r3, 256
    9d90:	9340      	ld.w      	r2, (r3, 0x0)
    9d92:	4248      	lsli      	r2, r2, 8
    9d94:	4a48      	lsri      	r2, r2, 8
    9d96:	b340      	st.w      	r2, (r3, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24);
    9d98:	8441      	ld.b      	r2, (r4, 0x1)
    9d9a:	9320      	ld.w      	r1, (r3, 0x0)
    9d9c:	4258      	lsli      	r2, r2, 24
    9d9e:	6c84      	or      	r2, r1
    9da0:	b340      	st.w      	r2, (r3, 0x0)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9da2:	3301      	movi      	r3, 1
    9da4:	a660      	st.b      	r3, (r6, 0x0)
				TempCtrl.TempChange_Tick = SysTick_1ms;
    9da6:	9560      	ld.w      	r3, (r5, 0x0)
    9da8:	115e      	lrw      	r2, 0x20000831	// 9ea0 <DisPlay_Task+0x390>
    9daa:	4b28      	lsri      	r1, r3, 8
    9dac:	a260      	st.b      	r3, (r2, 0x0)
    9dae:	a221      	st.b      	r1, (r2, 0x1)
    9db0:	4b30      	lsri      	r1, r3, 16
    9db2:	4b78      	lsri      	r3, r3, 24
    9db4:	a222      	st.b      	r1, (r2, 0x2)
    9db6:	a263      	st.b      	r3, (r2, 0x3)
			}
			
			
			if(TempCtrl.IndoorTemLast != TempCtrl.IndoorTem)          //刷新室内温度
    9db8:	8409      	ld.b      	r0, (r4, 0x9)
    9dba:	8468      	ld.b      	r3, (r4, 0x8)
    9dbc:	4008      	lsli      	r0, r0, 8
    9dbe:	6c0c      	or      	r0, r3
    9dc0:	846b      	ld.b      	r3, (r4, 0xb)
    9dc2:	844a      	ld.b      	r2, (r4, 0xa)
    9dc4:	4368      	lsli      	r3, r3, 8
    9dc6:	6cc8      	or      	r3, r2
    9dc8:	640e      	cmpne      	r3, r0
    9dca:	0c12      	bf      	0x9dee	// 9dee <DisPlay_Task+0x2de>
			{
				TempCtrl.IndoorTemLast = TempCtrl.IndoorTem;
    9dcc:	4868      	lsri      	r3, r0, 8
    9dce:	a46b      	st.b      	r3, (r4, 0xb)
    9dd0:	a40a      	st.b      	r0, (r4, 0xa)
				
				Local_Temperature_Display(TempCtrl.IndoorTem);
    9dd2:	e3fff47b 	bsr      	0x86c8	// 86c8 <Local_Temperature_Display>
				
				SYSCON->UREG0 &= 0x00FFFFFF;
    9dd6:	116f      	lrw      	r3, 0x2000005c	// 9e90 <DisPlay_Task+0x380>
    9dd8:	9360      	ld.w      	r3, (r3, 0x0)
    9dda:	23ff      	addi      	r3, 256
    9ddc:	9340      	ld.w      	r2, (r3, 0x0)
    9dde:	4248      	lsli      	r2, r2, 8
    9de0:	4a48      	lsri      	r2, r2, 8
    9de2:	b340      	st.w      	r2, (r3, 0x0)
				SYSCON->UREG0 |= (TempCtrl.TemState_Now.set_t << 24);
    9de4:	8441      	ld.b      	r2, (r4, 0x1)
    9de6:	9320      	ld.w      	r1, (r3, 0x0)
    9de8:	4258      	lsli      	r2, r2, 24
    9dea:	6c84      	or      	r2, r1
    9dec:	b340      	st.w      	r2, (r3, 0x0)
				
			}
			
			if(((TempCtrl.ReportTemLast > TempCtrl.ReportTem) && (TempCtrl.ReportTemLast - TempCtrl.ReportTem > 10)) \
    9dee:	844f      	ld.b      	r2, (r4, 0xf)
    9df0:	846e      	ld.b      	r3, (r4, 0xe)
    9df2:	4248      	lsli      	r2, r2, 8
    9df4:	6c8c      	or      	r2, r3
    9df6:	846d      	ld.b      	r3, (r4, 0xd)
    9df8:	842c      	ld.b      	r1, (r4, 0xc)
    9dfa:	4368      	lsli      	r3, r3, 8
    9dfc:	6cc4      	or      	r3, r1
    9dfe:	648c      	cmphs      	r3, r2
    9e00:	0804      	bt      	0x9e08	// 9e08 <DisPlay_Task+0x2f8>
    9e02:	5a2d      	subu      	r1, r2, r3
    9e04:	392a      	cmplti      	r1, 11
    9e06:	0c06      	bf      	0x9e12	// 9e12 <DisPlay_Task+0x302>
			|| ((TempCtrl.ReportTem > TempCtrl.ReportTemLast) && (TempCtrl.ReportTem - TempCtrl.ReportTemLast > 10)))
    9e08:	64c8      	cmphs      	r2, r3
    9e0a:	0812      	bt      	0x9e2e	// 9e2e <DisPlay_Task+0x31e>
    9e0c:	5b49      	subu      	r2, r3, r2
    9e0e:	3a2a      	cmplti      	r2, 11
    9e10:	080f      	bt      	0x9e2e	// 9e2e <DisPlay_Task+0x31e>
			{
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9e12:	9540      	ld.w      	r2, (r5, 0x0)
    9e14:	1124      	lrw      	r1, 0x2000082d	// 9ea4 <DisPlay_Task+0x394>
    9e16:	4a08      	lsri      	r0, r2, 8
    9e18:	a140      	st.b      	r2, (r1, 0x0)
    9e1a:	a101      	st.b      	r0, (r1, 0x1)
    9e1c:	4a10      	lsri      	r0, r2, 16
    9e1e:	4a58      	lsri      	r2, r2, 24
    9e20:	a143      	st.b      	r2, (r1, 0x3)
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9e22:	4b48      	lsri      	r2, r3, 8
    9e24:	a44f      	st.b      	r2, (r4, 0xf)
				
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16,变化一度上报一次
    9e26:	3201      	movi      	r2, 1
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9e28:	a102      	st.b      	r0, (r1, 0x2)
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9e2a:	a46e      	st.b      	r3, (r4, 0xe)
				TempCtrl.TempChange_Flag = 0x01;     //2024-12-16,变化一度上报一次
    9e2c:	a640      	st.b      	r2, (r6, 0x0)
			}
			
			if(SysTick_1ms - TempCtrl.Temp_SendTick >= 30000 )
    9e2e:	8602      	ld.b      	r0, (r6, 0x2)
    9e30:	8641      	ld.b      	r2, (r6, 0x1)
    9e32:	4008      	lsli      	r0, r0, 8
    9e34:	6c08      	or      	r0, r2
    9e36:	8643      	ld.b      	r2, (r6, 0x3)
    9e38:	4250      	lsli      	r2, r2, 16
    9e3a:	6c08      	or      	r0, r2
    9e3c:	8644      	ld.b      	r2, (r6, 0x4)
    9e3e:	4258      	lsli      	r2, r2, 24
    9e40:	6c80      	or      	r2, r0
    9e42:	9520      	ld.w      	r1, (r5, 0x0)
    9e44:	604a      	subu      	r1, r2
    9e46:	1059      	lrw      	r2, 0x752f	// 9ea8 <DisPlay_Task+0x398>
    9e48:	6448      	cmphs      	r2, r1
    9e4a:	0831      	bt      	0x9eac	// 9eac <DisPlay_Task+0x39c>
			{
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9e4c:	9540      	ld.w      	r2, (r5, 0x0)
    9e4e:	1036      	lrw      	r1, 0x2000082d	// 9ea4 <DisPlay_Task+0x394>
    9e50:	4a08      	lsri      	r0, r2, 8
				
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9e52:	a46e      	st.b      	r3, (r4, 0xe)
    9e54:	4b68      	lsri      	r3, r3, 8
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9e56:	a140      	st.b      	r2, (r1, 0x0)
    9e58:	a101      	st.b      	r0, (r1, 0x1)
				TempCtrl.ReportTemLast = TempCtrl.ReportTem;
    9e5a:	a46f      	st.b      	r3, (r4, 0xf)
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9e5c:	4a10      	lsri      	r0, r2, 16
				TempCtrl.TempChange_Flag = 0x01;     //2025-02-25,温度变化每隔30s未变化，上报一次。
    9e5e:	3301      	movi      	r3, 1
				TempCtrl.Temp_SendTick = SysTick_1ms;
    9e60:	4a58      	lsri      	r2, r2, 24
    9e62:	a102      	st.b      	r0, (r1, 0x2)
    9e64:	a143      	st.b      	r2, (r1, 0x3)
				TempCtrl.TempChange_Flag = 0x01;     //2025-02-25,温度变化每隔30s未变化，上报一次。
    9e66:	a660      	st.b      	r3, (r6, 0x0)
    9e68:	0422      	br      	0x9eac	// 9eac <DisPlay_Task+0x39c>
    9e6a:	0000      	bkpt
    9e6c:	20000835 	.long	0x20000835
    9e70:	2000080c 	.long	0x2000080c
    9e74:	200000c0 	.long	0x200000c0
    9e78:	00000bb8 	.long	0x00000bb8
    9e7c:	0000d0cd 	.long	0x0000d0cd
    9e80:	0000d0ef 	.long	0x0000d0ef
    9e84:	200004f4 	.long	0x200004f4
    9e88:	00001388 	.long	0x00001388
    9e8c:	2000082c 	.long	0x2000082c
    9e90:	2000005c 	.long	0x2000005c
    9e94:	20000234 	.long	0x20000234
    9e98:	0000d0df 	.long	0x0000d0df
    9e9c:	0000d0ff 	.long	0x0000d0ff
    9ea0:	20000831 	.long	0x20000831
    9ea4:	2000082d 	.long	0x2000082d
    9ea8:	0000752f 	.long	0x0000752f
				
			}
		}
		

		if(TempCtrl.TemStateLast.on_off != TempCtrl.TemState_Now.on_off)      //刷新开关机
    9eac:	8462      	ld.b      	r3, (r4, 0x2)
    9eae:	8446      	ld.b      	r2, (r4, 0x6)
    9eb0:	4b07      	lsri      	r0, r3, 7
    9eb2:	4a47      	lsri      	r2, r2, 7
    9eb4:	640a      	cmpne      	r2, r0
    9eb6:	0c2e      	bf      	0x9f12	// 9f12 <DisPlay_Task+0x402>
		{
			if (TempCtrl.TemState_Now.on_off == TEMP_ON){             //目前这个标志给刷新风速用，目的是开启时进入风速刷新，从而开启风速阀
    9eb8:	74ce      	sextb      	r3, r3
    9eba:	3bdf      	btsti      	r3, 31
    9ebc:	0c04      	bf      	0x9ec4	// 9ec4 <DisPlay_Task+0x3b4>
				OpenDisPlay_Flag = 1;
    9ebe:	1265      	lrw      	r3, 0x20000234	// 9fd0 <DisPlay_Task+0x4c0>
    9ec0:	3201      	movi      	r2, 1
    9ec2:	a340      	st.b      	r2, (r3, 0x0)
			}			
			TempCtrl.TemStateLast.on_off = TempCtrl.TemState_Now.on_off;
    9ec4:	317f      	movi      	r1, 127
    9ec6:	8466      	ld.b      	r3, (r4, 0x6)
    9ec8:	4047      	lsli      	r2, r0, 7
    9eca:	68c4      	and      	r3, r1
    9ecc:	6cc8      	or      	r3, r2
    9ece:	a466      	st.b      	r3, (r4, 0x6)
			Controlled_LCD_Backlight(TempCtrl.TemState_Now.on_off);
    9ed0:	e3fff664 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
			Controlled_Key_Backlight(TempCtrl.TemState_Now.on_off);
    9ed4:	8402      	ld.b      	r0, (r4, 0x2)
    9ed6:	4807      	lsri      	r0, r0, 7
    9ed8:	e3fff6ce 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
			TempCtrl_OnOff_DisPlay(TempCtrl.TemState_Now.on_off);
    9edc:	8402      	ld.b      	r0, (r4, 0x2)
    9ede:	4807      	lsri      	r0, r0, 7
    9ee0:	e3fffdde 	bsr      	0x9a9c	// 9a9c <TempCtrl_OnOff_DisPlay>
			
			SYSCON->UREG0 &= 0xFFFFFF00;                      //2024-03-15
    9ee4:	117c      	lrw      	r3, 0x2000005c	// 9fd4 <DisPlay_Task+0x4c4>
    9ee6:	31ff      	movi      	r1, 255
    9ee8:	9340      	ld.w      	r2, (r3, 0x0)
    9eea:	22ff      	addi      	r2, 256
    9eec:	9260      	ld.w      	r3, (r2, 0x0)
    9eee:	68c5      	andn      	r3, r1
    9ef0:	b260      	st.w      	r3, (r2, 0x0)
			SYSCON->UREG0 |= TempCtrl.TemState_Now.on_off;   //2024-03-15
    9ef2:	8462      	ld.b      	r3, (r4, 0x2)
    9ef4:	9220      	ld.w      	r1, (r2, 0x0)
    9ef6:	4b67      	lsri      	r3, r3, 7
    9ef8:	6cc4      	or      	r3, r1
    9efa:	b260      	st.w      	r3, (r2, 0x0)
			
			TempCtrl.TempChange_Flag = 0x01;     //2024-12-16
    9efc:	3301      	movi      	r3, 1
    9efe:	a660      	st.b      	r3, (r6, 0x0)
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9f00:	9560      	ld.w      	r3, (r5, 0x0)
    9f02:	1156      	lrw      	r2, 0x20000831	// 9fd8 <DisPlay_Task+0x4c8>
    9f04:	4b28      	lsri      	r1, r3, 8
    9f06:	a260      	st.b      	r3, (r2, 0x0)
    9f08:	a221      	st.b      	r1, (r2, 0x1)
    9f0a:	4b30      	lsri      	r1, r3, 16
    9f0c:	4b78      	lsri      	r3, r3, 24
    9f0e:	a222      	st.b      	r1, (r2, 0x2)
    9f10:	a263      	st.b      	r3, (r2, 0x3)
		}
		
		//发送组包
		if((TempCtrl.TempChange_Flag == 0x01) && (SysTick_1ms - TempCtrl.TempChange_Tick >= 1000))	//2025-03-24,温度变化人为操作1s间隔上报一次
    9f12:	8660      	ld.b      	r3, (r6, 0x0)
    9f14:	3b41      	cmpnei      	r3, 1
    9f16:	082b      	bt      	0x9f6c	// 9f6c <DisPlay_Task+0x45c>
    9f18:	8646      	ld.b      	r2, (r6, 0x6)
    9f1a:	8665      	ld.b      	r3, (r6, 0x5)
    9f1c:	4248      	lsli      	r2, r2, 8
    9f1e:	6c8c      	or      	r2, r3
    9f20:	8667      	ld.b      	r3, (r6, 0x7)
    9f22:	4370      	lsli      	r3, r3, 16
    9f24:	6c8c      	or      	r2, r3
    9f26:	8668      	ld.b      	r3, (r6, 0x8)
    9f28:	4378      	lsli      	r3, r3, 24
    9f2a:	6cc8      	or      	r3, r2
    9f2c:	9520      	ld.w      	r1, (r5, 0x0)
    9f2e:	604e      	subu      	r1, r3
    9f30:	116b      	lrw      	r3, 0x3e7	// 9fdc <DisPlay_Task+0x4cc>
    9f32:	644c      	cmphs      	r3, r1
    9f34:	081c      	bt      	0x9f6c	// 9f6c <DisPlay_Task+0x45c>
		{
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9f36:	9560      	ld.w      	r3, (r5, 0x0)
    9f38:	1148      	lrw      	r2, 0x20000831	// 9fd8 <DisPlay_Task+0x4c8>
    9f3a:	4b28      	lsri      	r1, r3, 8
    9f3c:	a260      	st.b      	r3, (r2, 0x0)
    9f3e:	a221      	st.b      	r1, (r2, 0x1)
    9f40:	4b30      	lsri      	r1, r3, 16
    9f42:	4b78      	lsri      	r3, r3, 24
    9f44:	a263      	st.b      	r3, (r2, 0x3)
			TempCtrl.TempChange_Flag = 0x00;
    9f46:	3300      	movi      	r3, 0
    9f48:	a660      	st.b      	r3, (r6, 0x0)
			
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9f4a:	9560      	ld.w      	r3, (r5, 0x0)
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9f4c:	a222      	st.b      	r1, (r2, 0x2)
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9f4e:	1145      	lrw      	r2, 0x2000082d	// 9fe0 <DisPlay_Task+0x4d0>
    9f50:	4b28      	lsri      	r1, r3, 8
    9f52:	a260      	st.b      	r3, (r2, 0x0)
    9f54:	a221      	st.b      	r1, (r2, 0x1)
    9f56:	4b30      	lsri      	r1, r3, 16
    9f58:	4b78      	lsri      	r3, r3, 24
    9f5a:	a263      	st.b      	r3, (r2, 0x3)

			//防冲撞上报
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9f5c:	8767      	ld.b      	r3, (r7, 0x7)
    9f5e:	3b42      	cmpnei      	r3, 2
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9f60:	a222      	st.b      	r1, (r2, 0x2)
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9f62:	0805      	bt      	0x9f6c	// 9f6c <DisPlay_Task+0x45c>
				Rs485_ASend(BUSSend_ValidTime2);//组包发送
    9f64:	30fa      	movi      	r0, 250
    9f66:	4002      	lsli      	r0, r0, 2
    9f68:	e000025c 	bsr      	0xa420	// a420 <Rs485_ASend>
			}
			
		}
		
		//	状态5min未变化，上报
		if((SysTick_1ms - TempCtrl.TempChange_Tick >= 300000))
    9f6c:	8646      	ld.b      	r2, (r6, 0x6)
    9f6e:	8665      	ld.b      	r3, (r6, 0x5)
    9f70:	4248      	lsli      	r2, r2, 8
    9f72:	6c8c      	or      	r2, r3
    9f74:	8667      	ld.b      	r3, (r6, 0x7)
    9f76:	4370      	lsli      	r3, r3, 16
    9f78:	6c8c      	or      	r2, r3
    9f7a:	8668      	ld.b      	r3, (r6, 0x8)
    9f7c:	4378      	lsli      	r3, r3, 24
    9f7e:	6cc8      	or      	r3, r2
    9f80:	9520      	ld.w      	r1, (r5, 0x0)
    9f82:	604e      	subu      	r1, r3
    9f84:	1078      	lrw      	r3, 0x493df	// 9fe4 <DisPlay_Task+0x4d4>
    9f86:	644c      	cmphs      	r3, r1
    9f88:	0819      	bt      	0x9fba	// 9fba <DisPlay_Task+0x4aa>
		{
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9f8a:	9560      	ld.w      	r3, (r5, 0x0)
    9f8c:	1053      	lrw      	r2, 0x20000831	// 9fd8 <DisPlay_Task+0x4c8>
    9f8e:	4b28      	lsri      	r1, r3, 8
    9f90:	a260      	st.b      	r3, (r2, 0x0)
    9f92:	a221      	st.b      	r1, (r2, 0x1)
    9f94:	4b30      	lsri      	r1, r3, 16
    9f96:	4b78      	lsri      	r3, r3, 24
    9f98:	a263      	st.b      	r3, (r2, 0x3)
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9f9a:	9560      	ld.w      	r3, (r5, 0x0)
			TempCtrl.TempChange_Tick = SysTick_1ms;
    9f9c:	a222      	st.b      	r1, (r2, 0x2)
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9f9e:	1051      	lrw      	r2, 0x2000082d	// 9fe0 <DisPlay_Task+0x4d0>
    9fa0:	4b28      	lsri      	r1, r3, 8
    9fa2:	a260      	st.b      	r3, (r2, 0x0)
    9fa4:	a221      	st.b      	r1, (r2, 0x1)
    9fa6:	4b30      	lsri      	r1, r3, 16
    9fa8:	4b78      	lsri      	r3, r3, 24
    9faa:	a263      	st.b      	r3, (r2, 0x3)
			
			
			//防冲撞上报
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9fac:	8767      	ld.b      	r3, (r7, 0x7)
    9fae:	3b42      	cmpnei      	r3, 2
			TempCtrl.Temp_SendTick = SysTick_1ms;
    9fb0:	a222      	st.b      	r1, (r2, 0x2)
			if(g_eeprom.dev_port == ACTIVE_PORT) {
    9fb2:	0804      	bt      	0x9fba	// 9fba <DisPlay_Task+0x4aa>
				Rs485_ASend(BUSSend_ValidTime1);//组包发送	
    9fb4:	100d      	lrw      	r0, 0xea60	// 9fe8 <DisPlay_Task+0x4d8>
    9fb6:	e0000235 	bsr      	0xa420	// a420 <Rs485_ASend>
			}
			
		}
		
	}
}
    9fba:	1494      	pop      	r4-r7, r15
							Relay_Mid();
    9fbc:	e00000fe 	bsr      	0xa1b8	// a1b8 <Relay_Mid>
							break;
    9fc0:	06c0      	br      	0x9d40	// 9d40 <DisPlay_Task+0x230>
							Relay_High();
    9fc2:	e00000ed 	bsr      	0xa19c	// a19c <Relay_High>
							break;
    9fc6:	06bd      	br      	0x9d40	// 9d40 <DisPlay_Task+0x230>
					Set_Temperature_Display(TempCtrl.TemState_Now.set_t*10);
    9fc8:	330a      	movi      	r3, 10
    9fca:	7c0c      	mult      	r0, r3
    9fcc:	06dd      	br      	0x9d86	// 9d86 <DisPlay_Task+0x276>
    9fce:	0000      	bkpt
    9fd0:	20000234 	.long	0x20000234
    9fd4:	2000005c 	.long	0x2000005c
    9fd8:	20000831 	.long	0x20000831
    9fdc:	000003e7 	.long	0x000003e7
    9fe0:	2000082d 	.long	0x2000082d
    9fe4:	000493df 	.long	0x000493df
    9fe8:	0000ea60 	.long	0x0000ea60

Disassembly of section .text.Debug_Init:

00009fec <Debug_Init>:
 * 函数功能：设置模式参数初始化
 * 
 * 
*/
void Debug_Init(void)
{
    9fec:	14d1      	push      	r4, r15
	memset(&Debug_Inf,0x00,sizeof(DEBUG_UNIT));
    9fee:	108d      	lrw      	r4, 0x20000835	// a020 <Debug_Init+0x34>
    9ff0:	320e      	movi      	r2, 14
    9ff2:	3100      	movi      	r1, 0
    9ff4:	6c13      	mov      	r0, r4
    9ff6:	e3ffd0d3 	bsr      	0x419c	// 419c <__memset_fast>
	Debug_Inf.Page = 0x01;
    9ffa:	3301      	movi      	r3, 1
    9ffc:	a462      	st.b      	r3, (r4, 0x2)
	
	Debug_Inf.DevAddr = g_eeprom.dev_addr;
    9ffe:	106a      	lrw      	r3, 0x200004f4	// a024 <Debug_Init+0x38>
    a000:	8340      	ld.b      	r2, (r3, 0x0)
    a002:	a443      	st.b      	r2, (r4, 0x3)
	Debug_Inf.PipeFlag = g_eeprom.pipe_flag;
    a004:	8341      	ld.b      	r2, (r3, 0x1)
    a006:	a444      	st.b      	r2, (r4, 0x4)
		
	Debug_Inf.TempDiff = g_eeprom.temp_diff;
    a008:	8342      	ld.b      	r2, (r3, 0x2)
    a00a:	a445      	st.b      	r2, (r4, 0x5)
	Debug_Inf.BackLight_En = g_eeprom.backlight_en;
    a00c:	8344      	ld.b      	r2, (r3, 0x4)
    a00e:	a446      	st.b      	r2, (r4, 0x6)
	Debug_Inf.KSens_Level = g_eeprom.key_sens_level;
    a010:	8345      	ld.b      	r2, (r3, 0x5)
    a012:	a447      	st.b      	r2, (r4, 0x7)
	Debug_Inf.TempDisplay = g_eeprom.temp_select;
    a014:	8343      	ld.b      	r2, (r3, 0x3)
	Debug_Inf.Language_Selection = g_eeprom.langue_select;
    a016:	8366      	ld.b      	r3, (r3, 0x6)
	Debug_Inf.TempDisplay = g_eeprom.temp_select;
    a018:	a448      	st.b      	r2, (r4, 0x8)
	Debug_Inf.Language_Selection = g_eeprom.langue_select;
    a01a:	a469      	st.b      	r3, (r4, 0x9)
}
    a01c:	1491      	pop      	r4, r15
    a01e:	0000      	bkpt
    a020:	20000835 	.long	0x20000835
    a024:	200004f4 	.long	0x200004f4

Disassembly of section .text.Dev_SaveData:

0000a028 <Dev_SaveData>:
 * 函数功能：设置模式下参数保存
 * 
 * 
*/
void Dev_SaveData(void)
{
    a028:	14d1      	push      	r4, r15
    a02a:	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 \
    a02c:	1164      	lrw      	r3, 0x20000835	// a0bc <Dev_SaveData+0x94>
    a02e:	1185      	lrw      	r4, 0x200004f4	// a0c0 <Dev_SaveData+0x98>
    a030:	8343      	ld.b      	r2, (r3, 0x3)
    a032:	8420      	ld.b      	r1, (r4, 0x0)
    a034:	6486      	cmpne      	r1, r2
    a036:	0819      	bt      	0xa068	// a068 <Dev_SaveData+0x40>
    a038:	8304      	ld.b      	r0, (r3, 0x4)
    a03a:	8421      	ld.b      	r1, (r4, 0x1)
    a03c:	6442      	cmpne      	r0, r1
    a03e:	0815      	bt      	0xa068	// a068 <Dev_SaveData+0x40>
    a040:	8305      	ld.b      	r0, (r3, 0x5)
    a042:	8422      	ld.b      	r1, (r4, 0x2)
    a044:	6442      	cmpne      	r0, r1
    a046:	0811      	bt      	0xa068	// a068 <Dev_SaveData+0x40>
	|| Debug_Inf.BackLight_En != g_eeprom.backlight_en || Debug_Inf.KSens_Level != g_eeprom.key_sens_level\
    a048:	8306      	ld.b      	r0, (r3, 0x6)
    a04a:	8424      	ld.b      	r1, (r4, 0x4)
    a04c:	6442      	cmpne      	r0, r1
    a04e:	080d      	bt      	0xa068	// a068 <Dev_SaveData+0x40>
    a050:	8307      	ld.b      	r0, (r3, 0x7)
    a052:	8425      	ld.b      	r1, (r4, 0x5)
    a054:	6442      	cmpne      	r0, r1
    a056:	0809      	bt      	0xa068	// a068 <Dev_SaveData+0x40>
	|| Debug_Inf.TempDisplay != g_eeprom.temp_select || Debug_Inf.Language_Selection != g_eeprom.langue_select)
    a058:	8308      	ld.b      	r0, (r3, 0x8)
    a05a:	8423      	ld.b      	r1, (r4, 0x3)
    a05c:	6442      	cmpne      	r0, r1
    a05e:	0805      	bt      	0xa068	// a068 <Dev_SaveData+0x40>
    a060:	8309      	ld.b      	r0, (r3, 0x9)
    a062:	8426      	ld.b      	r1, (r4, 0x6)
    a064:	6442      	cmpne      	r0, r1
    a066:	0c28      	bf      	0xa0b6	// a0b6 <Dev_SaveData+0x8e>
	{
		g_eeprom.dev_addr = Debug_Inf.DevAddr;
    a068:	a440      	st.b      	r2, (r4, 0x0)
		g_eeprom.pipe_flag = Debug_Inf.PipeFlag;
    a06a:	8344      	ld.b      	r2, (r3, 0x4)
    a06c:	a441      	st.b      	r2, (r4, 0x1)
		g_eeprom.temp_diff = Debug_Inf.TempDiff;
    a06e:	8345      	ld.b      	r2, (r3, 0x5)
    a070:	a442      	st.b      	r2, (r4, 0x2)
		g_eeprom.backlight_en = Debug_Inf.BackLight_En;
    a072:	8346      	ld.b      	r2, (r3, 0x6)
    a074:	a444      	st.b      	r2, (r4, 0x4)
		g_eeprom.key_sens_level = Debug_Inf.KSens_Level;
    a076:	8347      	ld.b      	r2, (r3, 0x7)
    a078:	a445      	st.b      	r2, (r4, 0x5)
		g_eeprom.temp_select = Debug_Inf.TempDisplay;
    a07a:	8348      	ld.b      	r2, (r3, 0x8)
		g_eeprom.langue_select = Debug_Inf.Language_Selection;
		
		EEPROM_WriteParaInfo(&g_eeprom);
    a07c:	1011      	lrw      	r0, 0x200004f4	// a0c0 <Dev_SaveData+0x98>
		g_eeprom.langue_select = Debug_Inf.Language_Selection;
    a07e:	8369      	ld.b      	r3, (r3, 0x9)
		g_eeprom.temp_select = Debug_Inf.TempDisplay;
    a080:	a443      	st.b      	r2, (r4, 0x3)
		g_eeprom.langue_select = Debug_Inf.Language_Selection;
    a082:	a466      	st.b      	r3, (r4, 0x6)
		EEPROM_WriteParaInfo(&g_eeprom);
    a084:	e3ffe7bc 	bsr      	0x6ffc	// 6ffc <EEPROM_WriteParaInfo>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Dev_SaveData, addr:%d  pipe:%d  diff:%d  backlight_en:%d  key_sens_level:%d",\
    a088:	8425      	ld.b      	r1, (r4, 0x5)
    a08a:	b822      	st.w      	r1, (r14, 0x8)
    a08c:	8424      	ld.b      	r1, (r4, 0x4)
    a08e:	b821      	st.w      	r1, (r14, 0x4)
    a090:	8422      	ld.b      	r1, (r4, 0x2)
    a092:	8461      	ld.b      	r3, (r4, 0x1)
    a094:	8440      	ld.b      	r2, (r4, 0x0)
    a096:	b820      	st.w      	r1, (r14, 0x0)
    a098:	3000      	movi      	r0, 0
    a09a:	102b      	lrw      	r1, 0xd112	// a0c4 <Dev_SaveData+0x9c>
    a09c:	e3ffe2f0 	bsr      	0x667c	// 667c <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 ",\
    a0a0:	8466      	ld.b      	r3, (r4, 0x6)
    a0a2:	3000      	movi      	r0, 0
    a0a4:	8443      	ld.b      	r2, (r4, 0x3)
    a0a6:	1029      	lrw      	r1, 0xd15e	// a0c8 <Dev_SaveData+0xa0>
    a0a8:	e3ffe2ea 	bsr      	0x667c	// 667c <Dbg_Println>
		g_eeprom.temp_select,g_eeprom.langue_select);
		
		//boot
		g_mcu_dev.dev_addr = g_eeprom.dev_addr;
    a0ac:	1008      	lrw      	r0, 0x200004fc	// a0cc <Dev_SaveData+0xa4>
    a0ae:	8460      	ld.b      	r3, (r4, 0x0)
    a0b0:	a060      	st.b      	r3, (r0, 0x0)
		EEPROM_Validate_MCUDevInfo(&g_mcu_dev);
    a0b2:	e3ffea07 	bsr      	0x74c0	// 74c0 <EEPROM_Validate_MCUDevInfo>
		
	}
}
    a0b6:	1403      	addi      	r14, r14, 12
    a0b8:	1491      	pop      	r4, r15
    a0ba:	0000      	bkpt
    a0bc:	20000835 	.long	0x20000835
    a0c0:	200004f4 	.long	0x200004f4
    a0c4:	0000d112 	.long	0x0000d112
    a0c8:	0000d15e 	.long	0x0000d15e
    a0cc:	200004fc 	.long	0x200004fc

Disassembly of section .text.Debug_Task:

0000a0d0 <Debug_Task>:
 * 函数功能：设置模式轮询任务
 * 
 * 
*/
void Debug_Task(void)
{
    a0d0:	14d1      	push      	r4, r15
	if((Debug_Inf.State == 0x01) && (SysTick_1ms - Debug_Inf.Tick) > 10000 && (Debug_Inf.Page != PAGE8ID))      //设置模式
    a0d2:	107b      	lrw      	r3, 0x20000835	// a13c <Debug_Task+0x6c>
    a0d4:	8340      	ld.b      	r2, (r3, 0x0)
    a0d6:	3a41      	cmpnei      	r2, 1
    a0d8:	0830      	bt      	0xa138	// a138 <Debug_Task+0x68>
    a0da:	832b      	ld.b      	r1, (r3, 0xb)
    a0dc:	834a      	ld.b      	r2, (r3, 0xa)
    a0de:	4128      	lsli      	r1, r1, 8
    a0e0:	6c48      	or      	r1, r2
    a0e2:	834c      	ld.b      	r2, (r3, 0xc)
    a0e4:	4250      	lsli      	r2, r2, 16
    a0e6:	6c48      	or      	r1, r2
    a0e8:	834d      	ld.b      	r2, (r3, 0xd)
    a0ea:	1096      	lrw      	r4, 0x200000c0	// a140 <Debug_Task+0x70>
    a0ec:	4258      	lsli      	r2, r2, 24
    a0ee:	6c84      	or      	r2, r1
    a0f0:	9400      	ld.w      	r0, (r4, 0x0)
    a0f2:	600a      	subu      	r0, r2
    a0f4:	1054      	lrw      	r2, 0x2710	// a144 <Debug_Task+0x74>
    a0f6:	6408      	cmphs      	r2, r0
    a0f8:	0820      	bt      	0xa138	// a138 <Debug_Task+0x68>
    a0fa:	8342      	ld.b      	r2, (r3, 0x2)
    a0fc:	3a48      	cmpnei      	r2, 8
    a0fe:	0c1d      	bf      	0xa138	// a138 <Debug_Task+0x68>
	{
		Debug_Inf.Tick = SysTick_1ms;
    a100:	9440      	ld.w      	r2, (r4, 0x0)
    a102:	310a      	movi      	r1, 10
    a104:	604c      	addu      	r1, r3
    a106:	4a08      	lsri      	r0, r2, 8
    a108:	a140      	st.b      	r2, (r1, 0x0)
    a10a:	a101      	st.b      	r0, (r1, 0x1)
    a10c:	4a10      	lsri      	r0, r2, 16
    a10e:	4a58      	lsri      	r2, r2, 24
    a110:	a143      	st.b      	r2, (r1, 0x3)
		Debug_Inf.State = 0x00;
    a112:	3200      	movi      	r2, 0
    a114:	a340      	st.b      	r2, (r3, 0x0)
		Debug_Inf.Page = 0x01;
    a116:	3201      	movi      	r2, 1
		Debug_Inf.Tick = SysTick_1ms;
    a118:	a102      	st.b      	r0, (r1, 0x2)
		Debug_Inf.Page = 0x01;
    a11a:	a342      	st.b      	r2, (r3, 0x2)
		Dev_SaveData();
    a11c:	e3ffff86 	bsr      	0xa028	// a028 <Dev_SaveData>
		
		HT1621_Clear();
    a120:	e3fff1fe 	bsr      	0x851c	// 851c <HT1621_Clear>
		//关背光
		Controlled_LCD_Backlight(0x00);
    a124:	3000      	movi      	r0, 0
    a126:	e3fff539 	bsr      	0x8b98	// 8b98 <Controlled_LCD_Backlight>
		Controlled_Key_Backlight(0x00);
    a12a:	3000      	movi      	r0, 0
    a12c:	e3fff5a4 	bsr      	0x8c74	// 8c74 <Controlled_Key_Backlight>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Debug Out!");
    a130:	1026      	lrw      	r1, 0xd18e	// a148 <Debug_Task+0x78>
    a132:	3000      	movi      	r0, 0
    a134:	e3ffe2a4 	bsr      	0x667c	// 667c <Dbg_Println>
	}
    a138:	1491      	pop      	r4, r15
    a13a:	0000      	bkpt
    a13c:	20000835 	.long	0x20000835
    a140:	200000c0 	.long	0x200000c0
    a144:	00002710 	.long	0x00002710
    a148:	0000d18e 	.long	0x0000d18e

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

0000a14c <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)
    a14c:	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)
    a14e:	10a9      	lrw      	r5, 0x20000844	// a170 <BLV_RLY_Ctrl_Purpose.part.0+0x24>
    a150:	5d80      	addu      	r4, r5, r0
    a152:	8463      	ld.b      	r3, (r4, 0x3)
    a154:	644e      	cmpne      	r3, r1
void BLV_RLY_Ctrl_Purpose(U8_T rly_id,U8_T state)
    a156:	6d87      	mov      	r6, r1
	if(c_rly.rly_state[rly_id] != state)
    a158:	0c0b      	bf      	0xa16e	// a16e <BLV_RLY_Ctrl_Purpose.part.0+0x22>
	{
//		Dbg_Println(DBG_BIT_SYS_STATUS,"BLV_CtrlRLY:%d",c_rly.rly_control);
//		c_rly.rly_control = 0x01;		
		
		CK_CPU_DisAllNormalIrq();	//关闭全局中断
    a15a:	e3ffe028 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
		c_rly.rly_state[rly_id] = state;
		if(c_rly.rly_zero == UNZEROCROSSING){
    a15e:	8560      	ld.b      	r3, (r5, 0x0)
			c_rly.rly_control = 0x02;
    a160:	3b40      	cmpnei      	r3, 0
    a162:	64c3      	mvcv      	r3
    a164:	2300      	addi      	r3, 1
		c_rly.rly_state[rly_id] = state;
    a166:	a4c3      	st.b      	r6, (r4, 0x3)
			c_rly.rly_control = 0x02;
    a168:	a562      	st.b      	r3, (r5, 0x2)
		}else{
			c_rly.rly_control = 0x01;
		}
		CK_CPU_EnAllNormalIrq();	//打开全局中断				
    a16a:	e3ffe01d 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	}
}
    a16e:	1493      	pop      	r4-r6, r15
    a170:	20000844 	.long	0x20000844

Disassembly of section .text.Relay_Init:

0000a174 <Relay_Init>:
{
    a174:	14d1      	push      	r4, r15
	memset(&g_switch,0,sizeof(FUN_SWITCH_INFO));
    a176:	1088      	lrw      	r4, 0x20000574	// a194 <Relay_Init+0x20>
    a178:	321c      	movi      	r2, 28
    a17a:	3100      	movi      	r1, 0
    a17c:	6c13      	mov      	r0, r4
    a17e:	e3ffd00f 	bsr      	0x419c	// 419c <__memset_fast>
	memset(&c_rly,0, sizeof(ZERO_CTRL_RLY));
    a182:	320c      	movi      	r2, 12
    a184:	3100      	movi      	r1, 0
    a186:	1005      	lrw      	r0, 0x20000844	// a198 <Relay_Init+0x24>
    a188:	e3ffd00a 	bsr      	0x419c	// 419c <__memset_fast>
	g_switch.feedback_light_selection = 0x01;
    a18c:	3301      	movi      	r3, 1
    a18e:	a462      	st.b      	r3, (r4, 0x2)
}
    a190:	1491      	pop      	r4, r15
    a192:	0000      	bkpt
    a194:	20000574 	.long	0x20000574
    a198:	20000844 	.long	0x20000844

Disassembly of section .text.Relay_High:

0000a19c <Relay_High>:
{
    a19c:	14d0      	push      	r15
    a19e:	3101      	movi      	r1, 1
    a1a0:	3002      	movi      	r0, 2
    a1a2:	e3ffffd5 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1a6:	3102      	movi      	r1, 2
    a1a8:	3003      	movi      	r0, 3
    a1aa:	e3ffffd1 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1ae:	3102      	movi      	r1, 2
    a1b0:	3004      	movi      	r0, 4
    a1b2:	e3ffffcd 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a1b6:	1490      	pop      	r15

Disassembly of section .text.Relay_Mid:

0000a1b8 <Relay_Mid>:
{
    a1b8:	14d0      	push      	r15
    a1ba:	3102      	movi      	r1, 2
    a1bc:	3002      	movi      	r0, 2
    a1be:	e3ffffc7 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1c2:	3101      	movi      	r1, 1
    a1c4:	3003      	movi      	r0, 3
    a1c6:	e3ffffc3 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1ca:	3102      	movi      	r1, 2
    a1cc:	3004      	movi      	r0, 4
    a1ce:	e3ffffbf 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a1d2:	1490      	pop      	r15

Disassembly of section .text.Relay_Low:

0000a1d4 <Relay_Low>:
{
    a1d4:	14d0      	push      	r15
    a1d6:	3102      	movi      	r1, 2
    a1d8:	3002      	movi      	r0, 2
    a1da:	e3ffffb9 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1de:	3102      	movi      	r1, 2
    a1e0:	3003      	movi      	r0, 3
    a1e2:	e3ffffb5 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1e6:	3101      	movi      	r1, 1
    a1e8:	3004      	movi      	r0, 4
    a1ea:	e3ffffb1 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a1ee:	1490      	pop      	r15

Disassembly of section .text.Relay_Stop:

0000a1f0 <Relay_Stop>:
{
    a1f0:	14d0      	push      	r15
    a1f2:	3102      	movi      	r1, 2
    a1f4:	3002      	movi      	r0, 2
    a1f6:	e3ffffab 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a1fa:	3102      	movi      	r1, 2
    a1fc:	3003      	movi      	r0, 3
    a1fe:	e3ffffa7 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
    a202:	3102      	movi      	r1, 2
    a204:	3004      	movi      	r0, 4
    a206:	e3ffffa3 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a20a:	1490      	pop      	r15

Disassembly of section .text.BLV_RLY_Ctrl_Purpose:

0000a20c <BLV_RLY_Ctrl_Purpose>:
{
    a20c:	14d0      	push      	r15
	if( !((state == Control_ON)||(state == Control_OFF))) return;
    a20e:	5963      	subi      	r3, r1, 1
    a210:	74cc      	zextb      	r3, r3
    a212:	3b01      	cmphsi      	r3, 2
    a214:	0805      	bt      	0xa21e	// a21e <BLV_RLY_Ctrl_Purpose+0x12>
	if(rly_id >= RLY_MAX) return;
    a216:	3804      	cmphsi      	r0, 5
    a218:	0803      	bt      	0xa21e	// a21e <BLV_RLY_Ctrl_Purpose+0x12>
    a21a:	e3ffff99 	bsr      	0xa14c	// a14c <BLV_RLY_Ctrl_Purpose.part.0>
}
    a21e:	1490      	pop      	r15

Disassembly of section .text.RLY_Direct_Control:

0000a220 <RLY_Direct_Control>:
/********************************************************************
 * @brief	有无过零信号检测，以及无过零信号时直接控制继电器功能
 * @retval 	None
 * */
void RLY_Direct_Control(void)
{
    a220:	14d2      	push      	r4-r5, r15
	if(SysTick_1ms - c_rly.ZCrossing_tick >= 50)// 50ms
    a222:	1150      	lrw      	r2, 0x200000c0	// a2e0 <RLY_Direct_Control+0xc0>
    a224:	1190      	lrw      	r4, 0x20000844	// a2e4 <RLY_Direct_Control+0xc4>
    a226:	9260      	ld.w      	r3, (r2, 0x0)
    a228:	9422      	ld.w      	r1, (r4, 0x8)
    a22a:	60c6      	subu      	r3, r1
    a22c:	3131      	movi      	r1, 49
    a22e:	64c4      	cmphs      	r1, r3
    a230:	0810      	bt      	0xa250	// a250 <RLY_Direct_Control+0x30>
	{
		c_rly.ZCrossing_tick = SysTick_1ms;
    a232:	9260      	ld.w      	r3, (r2, 0x0)
    a234:	b462      	st.w      	r3, (r4, 0x8)
		
		CK_CPU_DisAllNormalIrq();	//关闭全局中断
    a236:	e3ffdfba 	bsr      	0x61aa	// 61aa <CK_CPU_DisAllNormalIrq>
		if( (c_rly.rly_zCnt >= 2)&&(c_rly.rly_zCnt <= 5) ){	//有过零信号
    a23a:	8461      	ld.b      	r3, (r4, 0x1)
    a23c:	2b01      	subi      	r3, 2
    a23e:	74cc      	zextb      	r3, r3
    a240:	3b03      	cmphsi      	r3, 4
    a242:	0812      	bt      	0xa266	// a266 <RLY_Direct_Control+0x46>
			c_rly.rly_zero = ZEROCROSSING;
    a244:	3301      	movi      	r3, 1
    a246:	a460      	st.b      	r3, (r4, 0x0)
			c_rly.rly_zCnt = 0;
    a248:	3300      	movi      	r3, 0
		}else {						//无过零信号
			c_rly.rly_zero = UNZEROCROSSING;
			c_rly.rly_zCnt = 0;			
    a24a:	a461      	st.b      	r3, (r4, 0x1)
		}
		CK_CPU_EnAllNormalIrq();	//打开全局中断
    a24c:	e3ffdfac 	bsr      	0x61a4	// 61a4 <CK_CPU_EnAllNormalIrq>
	}
	
	if(c_rly.rly_control != 0x02) return;
    a250:	8462      	ld.b      	r3, (r4, 0x2)
    a252:	3b42      	cmpnei      	r3, 2
    a254:	0819      	bt      	0xa286	// a286 <RLY_Direct_Control+0x66>
    a256:	3500      	movi      	r5, 0
	
	for (U8_T i = 0; i < RLY_MAX; i++) {
		switch (i) {
    a258:	5d03      	subi      	r0, r5, 1
    a25a:	3803      	cmphsi      	r0, 4
    a25c:	0808      	bt      	0xa26c	// a26c <RLY_Direct_Control+0x4c>
    a25e:	e3ffc94f 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a262:	2117      	.short	0x2117
    a264:	352b      	.short	0x352b
			c_rly.rly_zero = UNZEROCROSSING;
    a266:	3300      	movi      	r3, 0
    a268:	a460      	st.b      	r3, (r4, 0x0)
    a26a:	07f0      	br      	0xa24a	// a24a <RLY_Direct_Control+0x2a>
			case HOT_RLY:
				if (c_rly.rly_state[HOT_RLY] == Control_ON) {
    a26c:	8463      	ld.b      	r3, (r4, 0x3)
    a26e:	3b41      	cmpnei      	r3, 1
    a270:	080c      	bt      	0xa288	// a288 <RLY_Direct_Control+0x68>
					RLY1_HOT_OPEN;
    a272:	3102      	movi      	r1, 2
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
					RLY1_HOT_CLOSE;
    a274:	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;
    a276:	e3fff05f 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
	for (U8_T i = 0; i < RLY_MAX; i++) {
    a27a:	2500      	addi      	r5, 1
    a27c:	7554      	zextb      	r5, r5
    a27e:	3d45      	cmpnei      	r5, 5
    a280:	0bec      	bt      	0xa258	// a258 <RLY_Direct_Control+0x38>
				}
			break;
		}
	}	
	
	c_rly.rly_control = 0x00;
    a282:	3300      	movi      	r3, 0
    a284:	a462      	st.b      	r3, (r4, 0x2)
}
    a286:	1492      	pop      	r4-r5, r15
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
    a288:	3b42      	cmpnei      	r3, 2
    a28a:	0bf8      	bt      	0xa27a	// a27a <RLY_Direct_Control+0x5a>
					RLY1_HOT_CLOSE;
    a28c:	3101      	movi      	r1, 1
    a28e:	07f3      	br      	0xa274	// a274 <RLY_Direct_Control+0x54>
				if (c_rly.rly_state[COOL_RLY] == Control_ON) {
    a290:	8464      	ld.b      	r3, (r4, 0x4)
    a292:	3b41      	cmpnei      	r3, 1
    a294:	0804      	bt      	0xa29c	// a29c <RLY_Direct_Control+0x7c>
					RLY2_COLD_OPEN;
    a296:	3102      	movi      	r1, 2
					RLY2_COLD_CLOSE;
    a298:	3013      	movi      	r0, 19
    a29a:	07ee      	br      	0xa276	// a276 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[COOL_RLY] == Control_OFF) {
    a29c:	3b42      	cmpnei      	r3, 2
    a29e:	0bee      	bt      	0xa27a	// a27a <RLY_Direct_Control+0x5a>
					RLY2_COLD_CLOSE;
    a2a0:	3101      	movi      	r1, 1
    a2a2:	07fb      	br      	0xa298	// a298 <RLY_Direct_Control+0x78>
				if (c_rly.rly_state[HIGH_RLY] == Control_ON) {
    a2a4:	8465      	ld.b      	r3, (r4, 0x5)
    a2a6:	3b41      	cmpnei      	r3, 1
    a2a8:	0804      	bt      	0xa2b0	// a2b0 <RLY_Direct_Control+0x90>
					RLY3_HIGH_OPEN;
    a2aa:	3102      	movi      	r1, 2
					RLY3_HIGH_CLOSE;
    a2ac:	3014      	movi      	r0, 20
    a2ae:	07e4      	br      	0xa276	// a276 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[HIGH_RLY] == Control_OFF) {
    a2b0:	3b42      	cmpnei      	r3, 2
    a2b2:	0be4      	bt      	0xa27a	// a27a <RLY_Direct_Control+0x5a>
					RLY3_HIGH_CLOSE;
    a2b4:	3101      	movi      	r1, 1
    a2b6:	07fb      	br      	0xa2ac	// a2ac <RLY_Direct_Control+0x8c>
				if (c_rly.rly_state[MAD_RLY] == Control_ON) {
    a2b8:	8466      	ld.b      	r3, (r4, 0x6)
    a2ba:	3b41      	cmpnei      	r3, 1
    a2bc:	0804      	bt      	0xa2c4	// a2c4 <RLY_Direct_Control+0xa4>
					RLY4_MID_OPEN;
    a2be:	3102      	movi      	r1, 2
					RLY4_MID_CLOSE;
    a2c0:	3015      	movi      	r0, 21
    a2c2:	07da      	br      	0xa276	// a276 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[MAD_RLY] == Control_OFF) {
    a2c4:	3b42      	cmpnei      	r3, 2
    a2c6:	0bda      	bt      	0xa27a	// a27a <RLY_Direct_Control+0x5a>
					RLY4_MID_CLOSE;
    a2c8:	3101      	movi      	r1, 1
    a2ca:	07fb      	br      	0xa2c0	// a2c0 <RLY_Direct_Control+0xa0>
				if (c_rly.rly_state[LOW_RLY] == Control_ON) {
    a2cc:	8467      	ld.b      	r3, (r4, 0x7)
    a2ce:	3b41      	cmpnei      	r3, 1
    a2d0:	0804      	bt      	0xa2d8	// a2d8 <RLY_Direct_Control+0xb8>
					RLY5_LOW_OPEN;
    a2d2:	3102      	movi      	r1, 2
					RLY5_LOW_CLOSE;
    a2d4:	3016      	movi      	r0, 22
    a2d6:	07d0      	br      	0xa276	// a276 <RLY_Direct_Control+0x56>
				}else if (c_rly.rly_state[LOW_RLY] == Control_OFF) {
    a2d8:	3b42      	cmpnei      	r3, 2
    a2da:	0bd0      	bt      	0xa27a	// a27a <RLY_Direct_Control+0x5a>
					RLY5_LOW_CLOSE;
    a2dc:	3101      	movi      	r1, 1
    a2de:	07fb      	br      	0xa2d4	// a2d4 <RLY_Direct_Control+0xb4>
    a2e0:	200000c0 	.long	0x200000c0
    a2e4:	20000844 	.long	0x20000844

Disassembly of section .text.RLY_Zero_Control:

0000a2e8 <RLY_Zero_Control>:
 * @brief	有过零信号控制继电器，在中断中调用
 * 
 * @retval 	None
 * */
void RLY_Zero_Control(void)
{
    a2e8:	14d2      	push      	r4-r5, r15
	if(c_rly.rly_control != 0x01) return;
    a2ea:	1185      	lrw      	r4, 0x20000844	// a37c <RLY_Zero_Control+0x94>
    a2ec:	8462      	ld.b      	r3, (r4, 0x2)
    a2ee:	3b41      	cmpnei      	r3, 1
    a2f0:	0818      	bt      	0xa320	// a320 <RLY_Zero_Control+0x38>
    a2f2:	3500      	movi      	r5, 0
	
	for (U8_T i = 0; i < RLY_MAX; i++) {
		switch (i) {
    a2f4:	5d03      	subi      	r0, r5, 1
    a2f6:	3803      	cmphsi      	r0, 4
    a2f8:	0805      	bt      	0xa302	// a302 <RLY_Zero_Control+0x1a>
    a2fa:	e3ffc901 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a2fe:	2016      	.short	0x2016
    a300:	342a      	.short	0x342a
			case HOT_RLY:
				if (c_rly.rly_state[HOT_RLY] == Control_ON) {
    a302:	8463      	ld.b      	r3, (r4, 0x3)
    a304:	3b41      	cmpnei      	r3, 1
    a306:	080e      	bt      	0xa322	// a322 <RLY_Zero_Control+0x3a>
					RLY1_HOT_OPEN;
    a308:	3102      	movi      	r1, 2
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
					RLY1_HOT_CLOSE;
    a30a:	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;
    a30c:	e3fff014 	bsr      	0x8334	// 8334 <TM1812_Control_CH_CurrState>
	for (U8_T i = 0; i < RLY_MAX; i++) {
    a310:	2500      	addi      	r5, 1
    a312:	7554      	zextb      	r5, r5
    a314:	3d45      	cmpnei      	r5, 5
    a316:	0bef      	bt      	0xa2f4	// a2f4 <RLY_Zero_Control+0xc>
			break;
		}

	}
	
	TimeCall_SIO_Send2();	
    a318:	e3ffef42 	bsr      	0x819c	// 819c <TimeCall_SIO_Send2>
	
	c_rly.rly_control = 0x00;
    a31c:	3300      	movi      	r3, 0
    a31e:	a462      	st.b      	r3, (r4, 0x2)
    a320:	1492      	pop      	r4-r5, r15
				}else if (c_rly.rly_state[HOT_RLY] == Control_OFF) {
    a322:	3b42      	cmpnei      	r3, 2
    a324:	0bf6      	bt      	0xa310	// a310 <RLY_Zero_Control+0x28>
					RLY1_HOT_CLOSE;
    a326:	3101      	movi      	r1, 1
    a328:	07f1      	br      	0xa30a	// a30a <RLY_Zero_Control+0x22>
				if (c_rly.rly_state[COOL_RLY] == Control_ON) {
    a32a:	8464      	ld.b      	r3, (r4, 0x4)
    a32c:	3b41      	cmpnei      	r3, 1
    a32e:	0804      	bt      	0xa336	// a336 <RLY_Zero_Control+0x4e>
					RLY2_COLD_OPEN;
    a330:	3102      	movi      	r1, 2
					RLY2_COLD_CLOSE;
    a332:	3013      	movi      	r0, 19
    a334:	07ec      	br      	0xa30c	// a30c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[COOL_RLY] == Control_OFF) {
    a336:	3b42      	cmpnei      	r3, 2
    a338:	0bec      	bt      	0xa310	// a310 <RLY_Zero_Control+0x28>
					RLY2_COLD_CLOSE;
    a33a:	3101      	movi      	r1, 1
    a33c:	07fb      	br      	0xa332	// a332 <RLY_Zero_Control+0x4a>
				if (c_rly.rly_state[HIGH_RLY] == Control_ON) {
    a33e:	8465      	ld.b      	r3, (r4, 0x5)
    a340:	3b41      	cmpnei      	r3, 1
    a342:	0804      	bt      	0xa34a	// a34a <RLY_Zero_Control+0x62>
					RLY3_HIGH_OPEN;
    a344:	3102      	movi      	r1, 2
					RLY3_HIGH_CLOSE;
    a346:	3014      	movi      	r0, 20
    a348:	07e2      	br      	0xa30c	// a30c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[HIGH_RLY] == Control_OFF) {
    a34a:	3b42      	cmpnei      	r3, 2
    a34c:	0be2      	bt      	0xa310	// a310 <RLY_Zero_Control+0x28>
					RLY3_HIGH_CLOSE;
    a34e:	3101      	movi      	r1, 1
    a350:	07fb      	br      	0xa346	// a346 <RLY_Zero_Control+0x5e>
				if (c_rly.rly_state[MAD_RLY] == Control_ON) {
    a352:	8466      	ld.b      	r3, (r4, 0x6)
    a354:	3b41      	cmpnei      	r3, 1
    a356:	0804      	bt      	0xa35e	// a35e <RLY_Zero_Control+0x76>
					RLY4_MID_OPEN;
    a358:	3102      	movi      	r1, 2
					RLY4_MID_CLOSE;
    a35a:	3015      	movi      	r0, 21
    a35c:	07d8      	br      	0xa30c	// a30c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[MAD_RLY] == Control_OFF) {
    a35e:	3b42      	cmpnei      	r3, 2
    a360:	0bd8      	bt      	0xa310	// a310 <RLY_Zero_Control+0x28>
					RLY4_MID_CLOSE;
    a362:	3101      	movi      	r1, 1
    a364:	07fb      	br      	0xa35a	// a35a <RLY_Zero_Control+0x72>
				if (c_rly.rly_state[LOW_RLY] == Control_ON) {
    a366:	8467      	ld.b      	r3, (r4, 0x7)
    a368:	3b41      	cmpnei      	r3, 1
    a36a:	0804      	bt      	0xa372	// a372 <RLY_Zero_Control+0x8a>
					RLY5_LOW_OPEN;
    a36c:	3102      	movi      	r1, 2
					RLY5_LOW_CLOSE;
    a36e:	3016      	movi      	r0, 22
    a370:	07ce      	br      	0xa30c	// a30c <RLY_Zero_Control+0x24>
				}else if (c_rly.rly_state[LOW_RLY] == Control_OFF) {
    a372:	3b42      	cmpnei      	r3, 2
    a374:	0bce      	bt      	0xa310	// a310 <RLY_Zero_Control+0x28>
					RLY5_LOW_CLOSE;
    a376:	3101      	movi      	r1, 1
    a378:	07fb      	br      	0xa36e	// a36e <RLY_Zero_Control+0x86>
    a37a:	0000      	bkpt
    a37c:	20000844 	.long	0x20000844

Disassembly of section .text.NetCRC16_Check:

0000a380 <NetCRC16_Check>:

/*两字节CRC校验
*len包括校验的长度
*/
void NetCRC16_Check(U8_T *aStr ,U16_T len)
{
    a380:	14c4      	push      	r4-r7
	U16_T alen = len-2;   //CRC16???????
	U16_T xda , xdapoly ; //校验后的结果，多项式
	U16_T i,j, xdabit ;  //缓存变量
	
	if(len < 3)        //长度小于3
    a382:	3902      	cmphsi      	r1, 3
    a384:	0c1f      	bf      	0xa3c2	// a3c2 <NetCRC16_Check+0x42>
	U16_T alen = len-2;   //CRC16???????
    a386:	2901      	subi      	r1, 2
    a388:	7445      	zexth      	r1, r1
    a38a:	6d43      	mov      	r5, r0
    a38c:	3200      	movi      	r2, 0
    a38e:	106e      	lrw      	r3, 0xffff	// a3c4 <NetCRC16_Check+0x44>
	}
	xda = 0xFFFF ;
	xdapoly = 0xA001 ;	// (X**16 + X**15 + X**2 + 1)
	for(i=0;i<alen;i++) 
	{
		xda ^= aStr[i] ;
    a390:	8580      	ld.b      	r4, (r5, 0x0)
    a392:	6cd1      	xor      	r3, r4
		for(j=0;j<8;j++) 
		{
			xdabit = (U8_T)(xda & 0x01) ;
    a394:	3701      	movi      	r7, 1
		xda ^= aStr[i] ;
    a396:	3408      	movi      	r4, 8
			xda >>= 1 ;
			if( xdabit ) xda ^= xdapoly ;
    a398:	6d8f      	mov      	r6, r3
    a39a:	699c      	and      	r6, r7
    a39c:	3e40      	cmpnei      	r6, 0
    a39e:	4b61      	lsri      	r3, r3, 1
    a3a0:	0c04      	bf      	0xa3a8	// a3a8 <NetCRC16_Check+0x28>
    a3a2:	10ca      	lrw      	r6, 0xffffa001	// a3c8 <NetCRC16_Check+0x48>
    a3a4:	6cd9      	xor      	r3, r6
    a3a6:	74cd      	zexth      	r3, r3
    a3a8:	2c00      	subi      	r4, 1
    a3aa:	7511      	zexth      	r4, r4
		for(j=0;j<8;j++) 
    a3ac:	3c40      	cmpnei      	r4, 0
    a3ae:	0bf5      	bt      	0xa398	// a398 <NetCRC16_Check+0x18>
	for(i=0;i<alen;i++) 
    a3b0:	2200      	addi      	r2, 1
    a3b2:	7489      	zexth      	r2, r2
    a3b4:	6448      	cmphs      	r2, r1
    a3b6:	2500      	addi      	r5, 1
    a3b8:	0fec      	bf      	0xa390	// a390 <NetCRC16_Check+0x10>
		}
	}    
	aStr[alen] = (U8_T)(xda & 0xFF) ;
    a3ba:	6040      	addu      	r1, r0
    a3bc:	a160      	st.b      	r3, (r1, 0x0)
	aStr[alen+1] = (U8_T)(xda>>8) ;
    a3be:	4b68      	lsri      	r3, r3, 8
    a3c0:	a161      	st.b      	r3, (r1, 0x1)
}
    a3c2:	1484      	pop      	r4-r7
    a3c4:	0000ffff 	.long	0x0000ffff
    a3c8:	ffffa001 	.long	0xffffa001

Disassembly of section .text.GetCRC16:

0000a3cc <GetCRC16>:
*   @para
*      aStr   数组首地址
*      len    数组长度，不包括校验
*/
U16_T GetCRC16( U8_T *aStr , U16_T len)
{
    a3cc:	14c3      	push      	r4-r6
    a3ce:	6cc3      	mov      	r3, r0
    a3d0:	6040      	addu      	r1, r0
        xda ^= aStr[i] ;
        for (j = 0; j < 8; j++)
        {
            xdabit = (unsigned char)(xda & 0x01) ;
            xda >>= 1 ;
            if ( xdabit ) xda ^= xdapoly ;
    a3d2:	10ac      	lrw      	r5, 0xffffa001	// a400 <GetCRC16+0x34>
    xda = 0xFFFF ;
    a3d4:	100c      	lrw      	r0, 0xffff	// a404 <GetCRC16+0x38>
    for (i = 0; i < len; i++)
    a3d6:	644e      	cmpne      	r3, r1
    a3d8:	0802      	bt      	0xa3dc	// a3dc <GetCRC16+0x10>
    }
	
//	Dbg_Println(DBG_BIT_SYS_STATUS,"GetCRC16:%04X",xda);
	
    return xda;
}
    a3da:	1483      	pop      	r4-r6
        xda ^= aStr[i] ;
    a3dc:	8340      	ld.b      	r2, (r3, 0x0)
    a3de:	6c09      	xor      	r0, r2
            xdabit = (unsigned char)(xda & 0x01) ;
    a3e0:	3601      	movi      	r6, 1
        xda ^= aStr[i] ;
    a3e2:	3208      	movi      	r2, 8
            if ( xdabit ) xda ^= xdapoly ;
    a3e4:	6d03      	mov      	r4, r0
    a3e6:	6918      	and      	r4, r6
    a3e8:	3c40      	cmpnei      	r4, 0
    a3ea:	4801      	lsri      	r0, r0, 1
    a3ec:	0c03      	bf      	0xa3f2	// a3f2 <GetCRC16+0x26>
    a3ee:	6c15      	xor      	r0, r5
    a3f0:	7401      	zexth      	r0, r0
    a3f2:	2a00      	subi      	r2, 1
    a3f4:	7489      	zexth      	r2, r2
        for (j = 0; j < 8; j++)
    a3f6:	3a40      	cmpnei      	r2, 0
    a3f8:	0bf6      	bt      	0xa3e4	// a3e4 <GetCRC16+0x18>
    a3fa:	2300      	addi      	r3, 1
    a3fc:	07ed      	br      	0xa3d6	// a3d6 <GetCRC16+0xa>
    a3fe:	0000      	bkpt
    a400:	ffffa001 	.long	0xffffa001
    a404:	0000ffff 	.long	0x0000ffff

Disassembly of section .text.SOR_CRC:

0000a408 <SOR_CRC>:

/*和校验*/
U8_T SOR_CRC(U8_T *Data, U8_T DataLen)
{
    a408:	6cc3      	mov      	r3, r0
    a40a:	6040      	addu      	r1, r0
	U8_T i;
	U8_T sor_data = 0;
    a40c:	3000      	movi      	r0, 0
	
	for(i = 0; i < DataLen; i++)//i可能为0 ，也可以是1
    a40e:	644e      	cmpne      	r3, r1
    a410:	0802      	bt      	0xa414	// a414 <SOR_CRC+0xc>
	{
		sor_data = sor_data+Data[i];
	}
	return sor_data;
}
    a412:	783c      	jmp      	r15
		sor_data = sor_data+Data[i];
    a414:	8340      	ld.b      	r2, (r3, 0x0)
    a416:	6008      	addu      	r0, r2
    a418:	7400      	zextb      	r0, r0
    a41a:	2300      	addi      	r3, 1
    a41c:	07f9      	br      	0xa40e	// a40e <SOR_CRC+0x6>

Disassembly of section .text.Rs485_ASend:

0000a420 <Rs485_ASend>:

/*主动回复组包报文*/
void Rs485_ASend(U32_T valtim)
{
    a420:	14d1      	push      	r4, r15
    a422:	1427      	subi      	r14, r14, 28
	if(g_eeprom.dev_port != ACTIVE_PORT) return;	
    a424:	117d      	lrw      	r3, 0x200004f4	// a518 <Rs485_ASend+0xf8>
    a426:	8347      	ld.b      	r2, (r3, 0x7)
    a428:	3a42      	cmpnei      	r2, 2
{
    a42a:	6d03      	mov      	r4, r0
	if(g_eeprom.dev_port != ACTIVE_PORT) return;	
    a42c:	0864      	bt      	0xa4f4	// a4f4 <Rs485_ASend+0xd4>
	
	U8_T SendData[24];      //24个字节
	SendData[0] = 0x55;
    a42e:	3255      	movi      	r2, 85
    a430:	dc4e0004 	st.b      	r2, (r14, 0x4)
	SendData[1] = 0x55;
    a434:	dc4e0005 	st.b      	r2, (r14, 0x5)
	SendData[2] = 0xee;
    a438:	3200      	movi      	r2, 0
    a43a:	2a11      	subi      	r2, 18
    a43c:	dc4e0006 	st.b      	r2, (r14, 0x6)
	SendData[3] = 0x15;
    a440:	3215      	movi      	r2, 21
	
	SendData[4] = 0x03;    //类型
	SendData[5] = g_eeprom.dev_addr;                           
    a442:	8360      	ld.b      	r3, (r3, 0x0)
	SendData[3] = 0x15;
    a444:	dc4e0007 	st.b      	r2, (r14, 0x7)
	SendData[4] = 0x03;    //类型
    a448:	3203      	movi      	r2, 3
    a44a:	dc4e0008 	st.b      	r2, (r14, 0x8)
	SendData[5] = g_eeprom.dev_addr;                           
    a44e:	dc6e0009 	st.b      	r3, (r14, 0x9)
	
	SendData[6] = 0x00;    //Func0    温控器高字节，通常为0
    a452:	3300      	movi      	r3, 0
	SendData[7] = TempCtrl.TemState_Now.on_off;    //Func1    温控器低字节，0关 1开
    a454:	1152      	lrw      	r2, 0x2000080c	// a51c <Rs485_ASend+0xfc>
	SendData[6] = 0x00;    //Func0    温控器高字节，通常为0
    a456:	dc6e000a 	st.b      	r3, (r14, 0xa)
	SendData[7] = TempCtrl.TemState_Now.on_off;    //Func1    温控器低字节，0关 1开
    a45a:	8262      	ld.b      	r3, (r2, 0x2)
    a45c:	4b27      	lsri      	r1, r3, 7
    a45e:	dc2e000b 	st.b      	r1, (r14, 0xb)
	SendData[8] = 0x00;    //Func2    模式高字节  通常为0
    a462:	3100      	movi      	r1, 0
    a464:	dc2e000c 	st.b      	r1, (r14, 0xc)
	if (TempCtrl.TemState_Now.mode == 0x00) {
    a468:	3170      	movi      	r1, 112
    a46a:	68c4      	and      	r3, r1
    a46c:	3b40      	cmpnei      	r3, 0
    a46e:	0845      	bt      	0xa4f8	// a4f8 <Rs485_ASend+0xd8>
		SendData[9] = 0x01;    //Func3    模式低字节  1制冷 2制热 3通风
    a470:	3301      	movi      	r3, 1
	}else if (TempCtrl.TemState_Now.mode == 0x02) {
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
	}else if (TempCtrl.TemState_Now.mode == 0x04) {
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a472:	dc6e000d 	st.b      	r3, (r14, 0xd)
	}
	
	SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);   //Func4    设定温度值高字节  整数值
    a476:	8261      	ld.b      	r3, (r2, 0x1)
    a478:	3b40      	cmpnei      	r3, 0
    a47a:	0802      	bt      	0xa47e	// a47e <Rs485_ASend+0x5e>
    a47c:	3320      	movi      	r3, 32
    a47e:	dc6e000e 	st.b      	r3, (r14, 0xe)
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
    a482:	3300      	movi      	r3, 0
    a484:	dc6e000f 	st.b      	r3, (r14, 0xf)
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a488:	8262      	ld.b      	r3, (r2, 0x2)
    a48a:	437c      	lsli      	r3, r3, 28
    a48c:	4b7d      	lsri      	r3, r3, 29
    a48e:	3104      	movi      	r1, 4
    a490:	604e      	subu      	r1, r3
    a492:	7444      	zextb      	r1, r1
	switch(TempCtrl.TemState_Now.fan)
    a494:	3b40      	cmpnei      	r3, 0
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a496:	dc2e0010 	st.b      	r1, (r14, 0x10)
	switch(TempCtrl.TemState_Now.fan)
    a49a:	0c39      	bf      	0xa50c	// a50c <Rs485_ASend+0xec>
    a49c:	3b03      	cmphsi      	r3, 4
    a49e:	083b      	bt      	0xa514	// a514 <Rs485_ASend+0xf4>
	{
		case FAN_LOW:   //低速
		case FAN_MID:
		case FAN_HIGH:
			SendData[13] = 0x04 - TempCtrl.TemState_Now.fan;   //Func7    温控器风速低字节：1 高速，2 中速，3 低速，0 自动,4 停
    a4a0:	dc2e0011 	st.b      	r1, (r14, 0x11)
			SendData[13] = 0x04;         //
			break;
	}
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
	SendData[15] = 0x00;   //Func9    温控器机器型号低字节
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a4a4:	8222      	ld.b      	r1, (r2, 0x2)
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
    a4a6:	3300      	movi      	r3, 0
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a4a8:	413f      	lsli      	r1, r1, 31
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
    a4aa:	dc6e0012 	st.b      	r3, (r14, 0x12)
	SendData[15] = 0x00;   //Func9    温控器机器型号低字节
    a4ae:	dc6e0013 	st.b      	r3, (r14, 0x13)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a4b2:	493f      	lsri      	r1, r1, 31
	SendData[17] = 0x00;   //Func11   备用字节1
    a4b4:	dc6e0015 	st.b      	r3, (r14, 0x15)
	SendData[18] = 0x00;   //Func12   备用字节2
    a4b8:	dc6e0016 	st.b      	r3, (r14, 0x16)
	SendData[19] = 0x00;   //Func13   备用字节3
    a4bc:	dc6e0017 	st.b      	r3, (r14, 0x17)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a4c0:	8260      	ld.b      	r3, (r2, 0x0)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a4c2:	4123      	lsli      	r1, r1, 3
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a4c4:	3b40      	cmpnei      	r3, 0
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a4c6:	dc2e0014 	st.b      	r1, (r14, 0x14)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a4ca:	0802      	bt      	0xa4ce	// a4ce <Rs485_ASend+0xae>
    a4cc:	3320      	movi      	r3, 32
    a4ce:	dc6e0018 	st.b      	r3, (r14, 0x18)
	SendData[21] = 0x00;   //Func15   室内温度小数值
    a4d2:	3300      	movi      	r3, 0
    a4d4:	dc6e0019 	st.b      	r3, (r14, 0x19)
	
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a4d8:	1b01      	addi      	r3, r14, 4
    a4da:	5b0a      	addi      	r0, r3, 3
    a4dc:	3115      	movi      	r1, 21
    a4de:	e3ffff51 	bsr      	0xa380	// a380 <NetCRC16_Check>
	
	Set_GroupSend(SendData,24,BUSSend_Cnt,valtim,300);
    a4e2:	3396      	movi      	r3, 150
    a4e4:	4361      	lsli      	r3, r3, 1
    a4e6:	b860      	st.w      	r3, (r14, 0x0)
    a4e8:	3201      	movi      	r2, 1
    a4ea:	6cd3      	mov      	r3, r4
    a4ec:	3118      	movi      	r1, 24
    a4ee:	1801      	addi      	r0, r14, 4
    a4f0:	e3ffe020 	bsr      	0x6530	// 6530 <Set_GroupSend>
	
}
    a4f4:	1407      	addi      	r14, r14, 28
    a4f6:	1491      	pop      	r4, r15
	}else if (TempCtrl.TemState_Now.mode == 0x02) {
    a4f8:	3120      	movi      	r1, 32
    a4fa:	644e      	cmpne      	r3, r1
    a4fc:	0803      	bt      	0xa502	// a502 <Rs485_ASend+0xe2>
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
    a4fe:	3302      	movi      	r3, 2
    a500:	07b9      	br      	0xa472	// a472 <Rs485_ASend+0x52>
	}else if (TempCtrl.TemState_Now.mode == 0x04) {
    a502:	3140      	movi      	r1, 64
    a504:	644e      	cmpne      	r3, r1
    a506:	0bb8      	bt      	0xa476	// a476 <Rs485_ASend+0x56>
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a508:	3303      	movi      	r3, 3
    a50a:	07b4      	br      	0xa472	// a472 <Rs485_ASend+0x52>
			SendData[13] = 0x00;         //
    a50c:	3300      	movi      	r3, 0
			SendData[13] = 0x04;         //
    a50e:	dc6e0011 	st.b      	r3, (r14, 0x11)
			break;
    a512:	07c9      	br      	0xa4a4	// a4a4 <Rs485_ASend+0x84>
			SendData[13] = 0x04;         //
    a514:	3304      	movi      	r3, 4
    a516:	07fc      	br      	0xa50e	// a50e <Rs485_ASend+0xee>
    a518:	200004f4 	.long	0x200004f4
    a51c:	2000080c 	.long	0x2000080c

Disassembly of section .text.Rs485AskCycleSend:

0000a520 <Rs485AskCycleSend>:


/*轮询回复报文*/
void Rs485AskCycleSend(void)
{
    a520:	14d0      	push      	r15
    a522:	1427      	subi      	r14, r14, 28
	U8_T SendData[24];      //24个字节
	SendData[0] = 0x55;
    a524:	3355      	movi      	r3, 85
    a526:	dc6e0004 	st.b      	r3, (r14, 0x4)
	SendData[1] = 0x55;
    a52a:	dc6e0005 	st.b      	r3, (r14, 0x5)
	SendData[2] = 0xee;
    a52e:	3300      	movi      	r3, 0
    a530:	2b11      	subi      	r3, 18
    a532:	dc6e0006 	st.b      	r3, (r14, 0x6)
	SendData[3] = 0x15;
    a536:	3315      	movi      	r3, 21
    a538:	dc6e0007 	st.b      	r3, (r14, 0x7)
	
	SendData[4] = 0x03;    //类型
    a53c:	3303      	movi      	r3, 3
    a53e:	dc6e0008 	st.b      	r3, (r14, 0x8)
	SendData[5] = g_eeprom.dev_addr;                           
    a542:	1175      	lrw      	r3, 0x200004f4	// a614 <Rs485AskCycleSend+0xf4>
    a544:	8360      	ld.b      	r3, (r3, 0x0)
    a546:	dc6e0009 	st.b      	r3, (r14, 0x9)
	
	SendData[6] = 0x00;    //Func0    温控器高字节，通常为0
    a54a:	3300      	movi      	r3, 0
    a54c:	dc6e000a 	st.b      	r3, (r14, 0xa)
	SendData[7] = TempCtrl.TemState_Now.on_off;    //Func1    温控器低字节，0关 1开
    a550:	1172      	lrw      	r3, 0x2000080c	// a618 <Rs485AskCycleSend+0xf8>
    a552:	8342      	ld.b      	r2, (r3, 0x2)
    a554:	4a27      	lsri      	r1, r2, 7
    a556:	dc2e000b 	st.b      	r1, (r14, 0xb)
	SendData[8] = 0x00;    //Func2    模式高字节  通常为0
    a55a:	3100      	movi      	r1, 0
    a55c:	dc2e000c 	st.b      	r1, (r14, 0xc)
	if (TempCtrl.TemState_Now.mode == 0x00) {
    a560:	3170      	movi      	r1, 112
    a562:	6884      	and      	r2, r1
    a564:	3a40      	cmpnei      	r2, 0
    a566:	0846      	bt      	0xa5f2	// a5f2 <Rs485AskCycleSend+0xd2>
		SendData[9] = 0x01;    //Func3    模式低字节  1制冷 2制热 3通风
    a568:	3201      	movi      	r2, 1
	}else if (TempCtrl.TemState_Now.mode == 0x02) {
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
	}else if (TempCtrl.TemState_Now.mode == 0x04) {
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a56a:	dc4e000d 	st.b      	r2, (r14, 0xd)
	}
	
	SendData[10] = TEMTEMPCONVER(TempCtrl.TemState_Now.set_t);   //Func4    设定温度值高字节  整数值
    a56e:	8341      	ld.b      	r2, (r3, 0x1)
    a570:	3a40      	cmpnei      	r2, 0
    a572:	0802      	bt      	0xa576	// a576 <Rs485AskCycleSend+0x56>
    a574:	3220      	movi      	r2, 32
    a576:	dc4e000e 	st.b      	r2, (r14, 0xe)
	SendData[11] = 0x00;   //Func5    设定温度值低字节  小数值 ，没有就给0
    a57a:	3200      	movi      	r2, 0
    a57c:	dc4e000f 	st.b      	r2, (r14, 0xf)
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a580:	8342      	ld.b      	r2, (r3, 0x2)
    a582:	425c      	lsli      	r2, r2, 28
    a584:	4a5d      	lsri      	r2, r2, 29
    a586:	3104      	movi      	r1, 4
    a588:	604a      	subu      	r1, r2
    a58a:	7444      	zextb      	r1, r1
	switch(TempCtrl.TemState_Now.fan)
    a58c:	3a40      	cmpnei      	r2, 0
	SendData[12] = 0x04 - TempCtrl.TemState_Now.fan;   //Func6    风速高字节        为0	
    a58e:	dc2e0010 	st.b      	r1, (r14, 0x10)
	switch(TempCtrl.TemState_Now.fan)
    a592:	0c3a      	bf      	0xa606	// a606 <Rs485AskCycleSend+0xe6>
    a594:	3a03      	cmphsi      	r2, 4
    a596:	083c      	bt      	0xa60e	// a60e <Rs485AskCycleSend+0xee>
	{
		case FAN_LOW:   //低速
		case FAN_MID:
		case FAN_HIGH:
			SendData[13] = 0x04 - TempCtrl.TemState_Now.fan;   //Func7    温控器风速低字节：1 高速，2 中速，3 低速，0 自动,4 停
    a598:	dc2e0011 	st.b      	r1, (r14, 0x11)
			break;
		default:
			SendData[13] = 0x04;         //
			break;
	}
	SendData[14] = 0x00;   //Func8    温控器机器型号高字节
    a59c:	3200      	movi      	r2, 0
    a59e:	dc4e0012 	st.b      	r2, (r14, 0x12)
	SendData[15] = 0x00;   //Func9    温控器机器型号低字节
    a5a2:	dc4e0013 	st.b      	r2, (r14, 0x13)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a5a6:	8342      	ld.b      	r2, (r3, 0x2)
    a5a8:	425f      	lsli      	r2, r2, 31
    a5aa:	4a5f      	lsri      	r2, r2, 31
    a5ac:	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   室内温度整数值
    a5ae:	8360      	ld.b      	r3, (r3, 0x0)
	SendData[16] = TempCtrl.TemState_Now.valve<<3;   //Func10   第3位作为阀开阀关标志位
    a5b0:	dc4e0014 	st.b      	r2, (r14, 0x14)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a5b4:	3b40      	cmpnei      	r3, 0
	SendData[17] = 0x00;   //Func11   备用字节1
    a5b6:	3200      	movi      	r2, 0
    a5b8:	dc4e0015 	st.b      	r2, (r14, 0x15)
	SendData[18] = 0x00;   //Func12   备用字节2
    a5bc:	dc4e0016 	st.b      	r2, (r14, 0x16)
	SendData[19] = 0x00;   //Func13   备用字节3
    a5c0:	dc4e0017 	st.b      	r2, (r14, 0x17)
	SendData[20] = TEMTEMPCONVER(TempCtrl.TemState_Now.indoor_t);   //Func14   室内温度整数值
    a5c4:	0802      	bt      	0xa5c8	// a5c8 <Rs485AskCycleSend+0xa8>
    a5c6:	3320      	movi      	r3, 32
    a5c8:	dc6e0018 	st.b      	r3, (r14, 0x18)
	SendData[21] = 0x00;   //Func15   室内温度小数值
    a5cc:	3300      	movi      	r3, 0
    a5ce:	dc6e0019 	st.b      	r3, (r14, 0x19)
	
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a5d2:	1b01      	addi      	r3, r14, 4
    a5d4:	5b0a      	addi      	r0, r3, 3
    a5d6:	3115      	movi      	r1, 21
    a5d8:	e3fffed4 	bsr      	0xa380	// a380 <NetCRC16_Check>
	
	//MCU485_SendData(SendData, 24);
	Set_GroupSend(SendData,24,1,BUSSend_ValidTime3,20);	//组包
    a5dc:	3314      	movi      	r3, 20
    a5de:	b860      	st.w      	r3, (r14, 0x0)
    a5e0:	3396      	movi      	r3, 150
    a5e2:	4361      	lsli      	r3, r3, 1
    a5e4:	3201      	movi      	r2, 1
    a5e6:	3118      	movi      	r1, 24
    a5e8:	1801      	addi      	r0, r14, 4
    a5ea:	e3ffdfa3 	bsr      	0x6530	// 6530 <Set_GroupSend>
	
}
    a5ee:	1407      	addi      	r14, r14, 28
    a5f0:	1490      	pop      	r15
	}else if (TempCtrl.TemState_Now.mode == 0x02) {
    a5f2:	3120      	movi      	r1, 32
    a5f4:	644a      	cmpne      	r2, r1
    a5f6:	0803      	bt      	0xa5fc	// a5fc <Rs485AskCycleSend+0xdc>
		SendData[9] = 0x02;    //Func3    模式低字节  1制冷 2制热 3通风
    a5f8:	3202      	movi      	r2, 2
    a5fa:	07b8      	br      	0xa56a	// a56a <Rs485AskCycleSend+0x4a>
	}else if (TempCtrl.TemState_Now.mode == 0x04) {
    a5fc:	3140      	movi      	r1, 64
    a5fe:	644a      	cmpne      	r2, r1
    a600:	0bb7      	bt      	0xa56e	// a56e <Rs485AskCycleSend+0x4e>
		SendData[9] = 0x03;    //Func3    模式低字节  1制冷 2制热 3通风
    a602:	3203      	movi      	r2, 3
    a604:	07b3      	br      	0xa56a	// a56a <Rs485AskCycleSend+0x4a>
			SendData[13] = 0x00;         //
    a606:	3200      	movi      	r2, 0
			SendData[13] = 0x04;         //
    a608:	dc4e0011 	st.b      	r2, (r14, 0x11)
			break;
    a60c:	07c8      	br      	0xa59c	// a59c <Rs485AskCycleSend+0x7c>
			SendData[13] = 0x04;         //
    a60e:	3204      	movi      	r2, 4
    a610:	07fc      	br      	0xa608	// a608 <Rs485AskCycleSend+0xe8>
    a612:	0000      	bkpt
    a614:	200004f4 	.long	0x200004f4
    a618:	2000080c 	.long	0x2000080c

Disassembly of section .text.Rs485AskCtrlSend:

0000a61c <Rs485AskCtrlSend>:


/*控制回复报文*/
void Rs485AskCtrlSend(U8_T* Recdata)
{
    a61c:	14d0      	push      	r15
    a61e:	1424      	subi      	r14, r14, 16
	U8_T SendData[10];
	
	SendData[0] = 0x55;
    a620:	3355      	movi      	r3, 85
    a622:	dc6e0004 	st.b      	r3, (r14, 0x4)
	SendData[1] = 0x55;
    a626:	dc6e0005 	st.b      	r3, (r14, 0x5)
	SendData[2] = 0xee;  //头
    a62a:	3300      	movi      	r3, 0
    a62c:	2b11      	subi      	r3, 18
    a62e:	dc6e0006 	st.b      	r3, (r14, 0x6)
	
	SendData[3] = 0x07;  //长度
    a632:	3307      	movi      	r3, 7
    a634:	dc6e0007 	st.b      	r3, (r14, 0x7)
	SendData[4] = 0x03;  //类型
    a638:	3303      	movi      	r3, 3
    a63a:	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]);    //校验
    a63e:	3107      	movi      	r1, 7
	SendData[5] = g_eeprom.dev_addr;  
    a640:	106d      	lrw      	r3, 0x200004f4	// a674 <Rs485AskCtrlSend+0x58>
    a642:	8360      	ld.b      	r3, (r3, 0x0)
    a644:	dc6e0009 	st.b      	r3, (r14, 0x9)
	SendData[6] = Recdata[6];//Rs485Tem.AskModeState;  //类型
    a648:	8066      	ld.b      	r3, (r0, 0x6)
    a64a:	dc6e000a 	st.b      	r3, (r14, 0xa)
	SendData[7] = Recdata[7];//0x01;  //内容
    a64e:	8067      	ld.b      	r3, (r0, 0x7)
    a650:	dc6e000b 	st.b      	r3, (r14, 0xb)
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a654:	1b01      	addi      	r3, r14, 4
    a656:	5b0a      	addi      	r0, r3, 3
    a658:	e3fffe94 	bsr      	0xa380	// a380 <NetCRC16_Check>

//	MCU485_SendData(SendData, 10);
	Set_GroupSend(SendData,10,1,BUSSend_ValidTime3,20);	//组包
    a65c:	3314      	movi      	r3, 20
    a65e:	b860      	st.w      	r3, (r14, 0x0)
    a660:	3396      	movi      	r3, 150
    a662:	4361      	lsli      	r3, r3, 1
    a664:	3201      	movi      	r2, 1
    a666:	310a      	movi      	r1, 10
    a668:	1801      	addi      	r0, r14, 4
    a66a:	e3ffdf63 	bsr      	0x6530	// 6530 <Set_GroupSend>
	
}
    a66e:	1404      	addi      	r14, r14, 16
    a670:	1490      	pop      	r15
    a672:	0000      	bkpt
    a674:	200004f4 	.long	0x200004f4

Disassembly of section .text.Rs485AskReadSend:

0000a678 <Rs485AskReadSend>:


/*控制回复报文cmd:0x10*/
void Rs485AskReadSend(U8_T* Recdata)
{
    a678:	14d0      	push      	r15
    a67a:	1424      	subi      	r14, r14, 16
	U8_T SendData[11];
	
	SendData[0] = 0x55;
    a67c:	3355      	movi      	r3, 85
    a67e:	dc6e0004 	st.b      	r3, (r14, 0x4)
	SendData[1] = 0x55;
    a682:	dc6e0005 	st.b      	r3, (r14, 0x5)
	SendData[2] = 0xee;  //头
    a686:	3300      	movi      	r3, 0
    a688:	2b11      	subi      	r3, 18
    a68a:	dc6e0006 	st.b      	r3, (r14, 0x6)
	
	SendData[3] = 0x09;  //长度
    a68e:	3309      	movi      	r3, 9
    a690:	dc6e0007 	st.b      	r3, (r14, 0x7)
	SendData[4] = 0x03;  //类型
    a694:	3303      	movi      	r3, 3
    a696:	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]);    //校验
    a69a:	3109      	movi      	r1, 9
	SendData[5] = g_eeprom.dev_addr; 
    a69c:	1070      	lrw      	r3, 0x200004f4	// a6dc <Rs485AskReadSend+0x64>
    a69e:	8340      	ld.b      	r2, (r3, 0x0)
    a6a0:	dc4e0009 	st.b      	r2, (r14, 0x9)
	SendData[9] = g_eeprom.dev_port;	//所处RCU端口  2024-12-16
    a6a4:	8367      	ld.b      	r3, (r3, 0x7)
	SendData[6] = Recdata[6];
    a6a6:	8046      	ld.b      	r2, (r0, 0x6)
    a6a8:	dc4e000a 	st.b      	r2, (r14, 0xa)
	SendData[9] = g_eeprom.dev_port;	//所处RCU端口  2024-12-16
    a6ac:	dc6e000d 	st.b      	r3, (r14, 0xd)
	SendData[7] = Project_FW_Version;
    a6b0:	3203      	movi      	r2, 3
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a6b2:	1b01      	addi      	r3, r14, 4
	SendData[7] = Project_FW_Version;
    a6b4:	dc4e000b 	st.b      	r2, (r14, 0xb)
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a6b8:	5b0a      	addi      	r0, r3, 3
	SendData[8] = Project_HW_Version;
    a6ba:	3202      	movi      	r2, 2
    a6bc:	dc4e000c 	st.b      	r2, (r14, 0xc)
	NetCRC16_Check(&SendData[0+3], SendData[0+3]);    //校验
    a6c0:	e3fffe60 	bsr      	0xa380	// a380 <NetCRC16_Check>
	
//	MCU485_SendData(SendData, 12);
	Set_GroupSend(SendData,12,1,BUSSend_ValidTime3,20);	//组包
    a6c4:	3314      	movi      	r3, 20
    a6c6:	b860      	st.w      	r3, (r14, 0x0)
    a6c8:	3396      	movi      	r3, 150
    a6ca:	4361      	lsli      	r3, r3, 1
    a6cc:	3201      	movi      	r2, 1
    a6ce:	310c      	movi      	r1, 12
    a6d0:	1801      	addi      	r0, r14, 4
    a6d2:	e3ffdf2f 	bsr      	0x6530	// 6530 <Set_GroupSend>
}
    a6d6:	1404      	addi      	r14, r14, 16
    a6d8:	1490      	pop      	r15
    a6da:	0000      	bkpt
    a6dc:	200004f4 	.long	0x200004f4

Disassembly of section .text.Rs485_DevPort_ACK:

0000a6e0 <Rs485_DevPort_ACK>:

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

//	MCU485_SendData(Recdata, Lens);
	
	Set_GroupSend(Recdata,Lens,1,BUSSend_ValidTime3,20);	//组包
    a6e4:	3314      	movi      	r3, 20
    a6e6:	b860      	st.w      	r3, (r14, 0x0)
    a6e8:	3396      	movi      	r3, 150
    a6ea:	7445      	zexth      	r1, r1
    a6ec:	4361      	lsli      	r3, r3, 1
    a6ee:	3201      	movi      	r2, 1
    a6f0:	e3ffdf20 	bsr      	0x6530	// 6530 <Set_GroupSend>
}
    a6f4:	1401      	addi      	r14, r14, 4
    a6f6:	1490      	pop      	r15

Disassembly of section .text.Temp_Rec_Analysis:

0000a6f8 <Temp_Rec_Analysis>:

U8_T Temp_Rec_Analysis(U8_T *RecData, U16_T Len)
{
    a6f8:	14d3      	push      	r4-r6, r15
	U8_T ret = 0;
	U16_T Crc_buf;   //正确报文校验保存
	
	if((0x09 != Len) && (0x0A != Len))
    a6fa:	3300      	movi      	r3, 0
    a6fc:	2b08      	subi      	r3, 9
    a6fe:	60c4      	addu      	r3, r1
    a700:	74cd      	zexth      	r3, r3
    a702:	3b01      	cmphsi      	r3, 2
{
    a704:	6d03      	mov      	r4, r0
    a706:	6d47      	mov      	r5, r1
	if((0x09 != Len) && (0x0A != Len))
    a708:	08c8      	bt      	0xa898	// a898 <Temp_Rec_Analysis+0x1a0>
	{
		return 0x01;
	}

	if((0x55 != RecData[0]) || (0x55 != RecData[1])|| (0xee != RecData[2]) )
    a70a:	8060      	ld.b      	r3, (r0, 0x0)
    a70c:	3255      	movi      	r2, 85
    a70e:	648e      	cmpne      	r3, r2
    a710:	08c0      	bt      	0xa890	// a890 <Temp_Rec_Analysis+0x198>
    a712:	8041      	ld.b      	r2, (r0, 0x1)
    a714:	64ca      	cmpne      	r2, r3
    a716:	08bd      	bt      	0xa890	// a890 <Temp_Rec_Analysis+0x198>
    a718:	8042      	ld.b      	r2, (r0, 0x2)
    a71a:	33ee      	movi      	r3, 238
    a71c:	64ca      	cmpne      	r2, r3
    a71e:	08b9      	bt      	0xa890	// a890 <Temp_Rec_Analysis+0x198>
	{
		return 0x02;
	}
	if( (RecData[3] + 3 != Len) || (Tem_Type != RecData[4]) || (g_eeprom.dev_addr != RecData[5]) )
    a720:	8023      	ld.b      	r1, (r0, 0x3)
    a722:	596a      	addi      	r3, r1, 3
    a724:	654e      	cmpne      	r3, r5
    a726:	08b7      	bt      	0xa894	// a894 <Temp_Rec_Analysis+0x19c>
    a728:	8004      	ld.b      	r0, (r0, 0x4)
    a72a:	3843      	cmpnei      	r0, 3
    a72c:	08b4      	bt      	0xa894	// a894 <Temp_Rec_Analysis+0x19c>
    a72e:	12dc      	lrw      	r6, 0x200004f4	// a89c <Temp_Rec_Analysis+0x1a4>
    a730:	8640      	ld.b      	r2, (r6, 0x0)
    a732:	8465      	ld.b      	r3, (r4, 0x5)
    a734:	64ca      	cmpne      	r2, r3
    a736:	08ae      	bt      	0xa892	// a892 <Temp_Rec_Analysis+0x19a>
	{
		return 0x03;
	}
	
	Crc_buf = GetCRC16(&RecData[3], RecData[3]-2);
    a738:	2901      	subi      	r1, 2
    a73a:	7445      	zexth      	r1, r1
    a73c:	5c0a      	addi      	r0, r4, 3
    a73e:	e3fffe47 	bsr      	0xa3cc	// a3cc <GetCRC16>
	if(Crc_buf == (RecData[Len-2]+(RecData[Len-1]<<8)))   //校验通过
    a742:	5c54      	addu      	r2, r4, r5
    a744:	5a63      	subi      	r3, r2, 1
    a746:	8360      	ld.b      	r3, (r3, 0x0)
    a748:	2a01      	subi      	r2, 2
    a74a:	4368      	lsli      	r3, r3, 8
    a74c:	8240      	ld.b      	r2, (r2, 0x0)
    a74e:	60c8      	addu      	r3, r2
    a750:	64c2      	cmpne      	r0, r3
    a752:	08a3      	bt      	0xa898	// a898 <Temp_Rec_Analysis+0x1a0>
	{
		switch(RecData[6])
    a754:	8406      	ld.b      	r0, (r4, 0x6)
    a756:	2800      	subi      	r0, 1
    a758:	3811      	cmphsi      	r0, 18
    a75a:	0811      	bt      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
    a75c:	e3ffc6d0 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a760:	1e1e1e1e 	.long	0x1e1e1e1e
    a764:	0e0e0e0e 	.long	0x0e0e0e0e
    a768:	0e0e090e 	.long	0x0e0e090e
    a76c:	220e0e0e 	.long	0x220e0e0e
    a770:	3926      	.short	0x3926
		{
			case 0x0A:
				if(g_eeprom.dev_port == ACTIVE_PORT)
    a772:	8667      	ld.b      	r3, (r6, 0x7)
    a774:	3b42      	cmpnei      	r3, 2
    a776:	080c      	bt      	0xa78e	// a78e <Temp_Rec_Analysis+0x96>
				{
					Clear_SendFlag();
    a778:	e3ffdf0a 	bsr      	0x658c	// 658c <Clear_SendFlag>
					}

				}
				break;
		}
		switch(RecData[6])      
    a77c:	8406      	ld.b      	r0, (r4, 0x6)
    a77e:	2800      	subi      	r0, 1
    a780:	3803      	cmphsi      	r0, 4
    a782:	0808      	bt      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
    a784:	8467      	ld.b      	r3, (r4, 0x7)
    a786:	e3ffc6bb 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a78a:	4836      	.short	0x4836
    a78c:	7060      	.short	0x7060
				else if(g_eeprom.dev_port == POLLING_PORT)
    a78e:	3b41      	cmpnei      	r3, 1
    a790:	0c03      	bf      	0xa796	// a796 <Temp_Rec_Analysis+0x9e>
						break;			
				}
				break;
		}
		
		return ret;
    a792:	3000      	movi      	r0, 0
    a794:	047f      	br      	0xa892	// a892 <Temp_Rec_Analysis+0x19a>
					Rs485AskCycleSend();
    a796:	e3fffec5 	bsr      	0xa520	// a520 <Rs485AskCycleSend>
    a79a:	07f1      	br      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
				Rs485AskCtrlSend(RecData);
    a79c:	6c13      	mov      	r0, r4
    a79e:	e3ffff3f 	bsr      	0xa61c	// a61c <Rs485AskCtrlSend>
    a7a2:	07ed      	br      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
				Rs485AskReadSend(RecData);     //版本号查询
    a7a4:	6c13      	mov      	r0, r4
    a7a6:	e3ffff69 	bsr      	0xa678	// a678 <Rs485AskReadSend>
    a7aa:	07e9      	br      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
				Rs485AskCtrlSend(RecData);
    a7ac:	6c13      	mov      	r0, r4
				Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn);
    a7ae:	11bd      	lrw      	r5, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
				Rs485AskCtrlSend(RecData);
    a7b0:	e3ffff36 	bsr      	0xa61c	// a61c <Rs485AskCtrlSend>
				Dbg_Println(DBG_BIT_SYS_STATUS,"Card_EN Set:%d",TempCtrl.CardEn);
    a7b4:	855a      	ld.b      	r2, (r5, 0x1a)
    a7b6:	113c      	lrw      	r1, 0xd199	// a8a4 <Temp_Rec_Analysis+0x1ac>
    a7b8:	3000      	movi      	r0, 0
    a7ba:	e3ffdf61 	bsr      	0x667c	// 667c <Dbg_Println>
				if(TempCtrl.CardEn != RecData[7])   //00:关闭    01：开启
    a7be:	8467      	ld.b      	r3, (r4, 0x7)
    a7c0:	855a      	ld.b      	r2, (r5, 0x1a)
    a7c2:	64ca      	cmpne      	r2, r3
    a7c4:	0fdc      	bf      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
					if(TempCtrl.CardEn == 0x00)
    a7c6:	3b40      	cmpnei      	r3, 0
					TempCtrl.CardEn = RecData[7];
    a7c8:	a57a      	st.b      	r3, (r5, 0x1a)
					if(TempCtrl.CardEn == 0x00)
    a7ca:	0bd9      	bt      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
						TempCtrl.CardState = 0x01;
    a7cc:	3301      	movi      	r3, 1
    a7ce:	a578      	st.b      	r3, (r5, 0x18)
    a7d0:	07d6      	br      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
				if(RecData[7] != g_eeprom.dev_port)
    a7d2:	8467      	ld.b      	r3, (r4, 0x7)
    a7d4:	8647      	ld.b      	r2, (r6, 0x7)
    a7d6:	64ca      	cmpne      	r2, r3
    a7d8:	0fdd      	bf      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
					EEPROM_WriteParaInfo(&g_eeprom);
    a7da:	1111      	lrw      	r0, 0x200004f4	// a89c <Temp_Rec_Analysis+0x1a4>
					g_eeprom.dev_port = RecData[7];
    a7dc:	a667      	st.b      	r3, (r6, 0x7)
					EEPROM_WriteParaInfo(&g_eeprom);
    a7de:	e3ffe40f 	bsr      	0x6ffc	// 6ffc <EEPROM_WriteParaInfo>
					rev_val = EEPROM_ReadParaInfo(&g_eeprom);
    a7e2:	110f      	lrw      	r0, 0x200004f4	// a89c <Temp_Rec_Analysis+0x1a4>
    a7e4:	e3ffe3d2 	bsr      	0x6f88	// 6f88 <EEPROM_ReadParaInfo>
					if(rev_val == 0x00){
    a7e8:	3840      	cmpnei      	r0, 0
    a7ea:	0bc9      	bt      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
						Rs485_DevPort_ACK(RecData,Len);
    a7ec:	7454      	zextb      	r1, r5
    a7ee:	6c13      	mov      	r0, r4
    a7f0:	e3ffff78 	bsr      	0xa6e0	// a6e0 <Rs485_DevPort_ACK>
    a7f4:	07c4      	br      	0xa77c	// a77c <Temp_Rec_Analysis+0x84>
				switch(RecData[7])     
    a7f6:	74cc      	zextb      	r3, r3
    a7f8:	3b40      	cmpnei      	r3, 0
    a7fa:	0c0a      	bf      	0xa80e	// a80e <Temp_Rec_Analysis+0x116>
    a7fc:	3b41      	cmpnei      	r3, 1
    a7fe:	0bca      	bt      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.on_off = TEMP_ON;      //开机
    a800:	1128      	lrw      	r1, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a802:	3200      	movi      	r2, 0
    a804:	8162      	ld.b      	r3, (r1, 0x2)
    a806:	2a7f      	subi      	r2, 128
    a808:	6cc8      	or      	r3, r2
    a80a:	a162      	st.b      	r3, (r1, 0x2)
    a80c:	07c3      	br      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.on_off = TEMP_OFF;     //关机
    a80e:	1145      	lrw      	r2, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a810:	8262      	ld.b      	r3, (r2, 0x2)
    a812:	317f      	movi      	r1, 127
    a814:	68c4      	and      	r3, r1
						TempCtrl.TemState_Now.mode = MODEL_COLD;     //制冷
    a816:	a262      	st.b      	r3, (r2, 0x2)
    a818:	07bd      	br      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
				switch(RecData[7])          //
    a81a:	74cc      	zextb      	r3, r3
    a81c:	3b42      	cmpnei      	r3, 2
    a81e:	0c0a      	bf      	0xa832	// a832 <Temp_Rec_Analysis+0x13a>
    a820:	3b43      	cmpnei      	r3, 3
    a822:	0c0e      	bf      	0xa83e	// a83e <Temp_Rec_Analysis+0x146>
    a824:	3b41      	cmpnei      	r3, 1
    a826:	0bb6      	bt      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.mode = MODEL_COLD;     //制冷
    a828:	105e      	lrw      	r2, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a82a:	8262      	ld.b      	r3, (r2, 0x2)
    a82c:	3170      	movi      	r1, 112
    a82e:	68c5      	andn      	r3, r1
    a830:	07f3      	br      	0xa816	// a816 <Temp_Rec_Analysis+0x11e>
						TempCtrl.TemState_Now.mode = MODEL_HOT;      //制热
    a832:	105c      	lrw      	r2, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a834:	8262      	ld.b      	r3, (r2, 0x2)
    a836:	3170      	movi      	r1, 112
    a838:	68c5      	andn      	r3, r1
    a83a:	3ba5      	bseti      	r3, 5
    a83c:	07ed      	br      	0xa816	// a816 <Temp_Rec_Analysis+0x11e>
						TempCtrl.TemState_Now.mode = MODEL_WIND;     //送风
    a83e:	1059      	lrw      	r2, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a840:	8262      	ld.b      	r3, (r2, 0x2)
    a842:	3170      	movi      	r1, 112
    a844:	68c5      	andn      	r3, r1
    a846:	3ba6      	bseti      	r3, 6
    a848:	07e7      	br      	0xa816	// a816 <Temp_Rec_Analysis+0x11e>
				if((TEM_MIN_SET <= RecData[7]) && (RecData[7] < TEM_MAX_SET))  //在指定温度范围内
    a84a:	3200      	movi      	r2, 0
    a84c:	74cc      	zextb      	r3, r3
    a84e:	2a0f      	subi      	r2, 16
    a850:	608c      	addu      	r2, r3
    a852:	7488      	zextb      	r2, r2
    a854:	3a0f      	cmphsi      	r2, 16
    a856:	0804      	bt      	0xa85e	// a85e <Temp_Rec_Analysis+0x166>
					TempCtrl.TemState_Now.set_t = (RecData[7]&0x1f);  
    a858:	1052      	lrw      	r2, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a85a:	a261      	st.b      	r3, (r2, 0x1)
    a85c:	079b      	br      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
				}else if(RecData[7] == TEM_MAX_SET){
    a85e:	3220      	movi      	r2, 32
    a860:	648e      	cmpne      	r3, r2
    a862:	0b98      	bt      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
					TempCtrl.TemState_Now.set_t = (RecData[7]&0x20);
    a864:	106f      	lrw      	r3, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
    a866:	a341      	st.b      	r2, (r3, 0x1)
    a868:	0795      	br      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
				switch(RecData[7])                 //风速
    a86a:	740c      	zextb      	r0, r3
    a86c:	106d      	lrw      	r3, 0x2000080c	// a8a0 <Temp_Rec_Analysis+0x1a8>
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a86e:	8342      	ld.b      	r2, (r3, 0x2)
    a870:	310e      	movi      	r1, 14
				switch(RecData[7])                 //风速
    a872:	3803      	cmphsi      	r0, 4
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a874:	6885      	andn      	r2, r1
				switch(RecData[7])                 //风速
    a876:	080b      	bt      	0xa88c	// a88c <Temp_Rec_Analysis+0x194>
    a878:	e3ffc642 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    a87c:	08060204 	.long	0x08060204
						TempCtrl.TemState_Now.fan = FAN_HIGH;      //高风速
    a880:	3aa1      	bseti      	r2, 1
    a882:	3aa2      	bseti      	r2, 2
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a884:	a342      	st.b      	r2, (r3, 0x2)
    a886:	0786      	br      	0xa792	// a792 <Temp_Rec_Analysis+0x9a>
						TempCtrl.TemState_Now.fan = FAN_MID;       //中风速
    a888:	3aa2      	bseti      	r2, 2
    a88a:	07fd      	br      	0xa884	// a884 <Temp_Rec_Analysis+0x18c>
						TempCtrl.TemState_Now.fan = FAN_LOW;       //低风速
    a88c:	3aa1      	bseti      	r2, 1
    a88e:	07fb      	br      	0xa884	// a884 <Temp_Rec_Analysis+0x18c>
		return 0x02;
    a890:	3002      	movi      	r0, 2
	}
	else
	{
		return ret = 0x01;
	}
}
    a892:	1493      	pop      	r4-r6, r15
		return 0x03;
    a894:	3003      	movi      	r0, 3
    a896:	07fe      	br      	0xa892	// a892 <Temp_Rec_Analysis+0x19a>
		return 0x01;
    a898:	3001      	movi      	r0, 1
    a89a:	07fc      	br      	0xa892	// a892 <Temp_Rec_Analysis+0x19a>
    a89c:	200004f4 	.long	0x200004f4
    a8a0:	2000080c 	.long	0x2000080c
    a8a4:	0000d199 	.long	0x0000d199

Disassembly of section .text.Tem_Rs485_Rec_Pro:

0000a8a8 <Tem_Rs485_Rec_Pro>:
 *   Len       数据长度
 * 输出  ：无
 * 调用  ：无
 *************************************************************************/
U8_T Tem_Rs485_Rec_Pro(U8_T *RecData, U16_T Len)
{
    a8a8:	14d2      	push      	r4-r5, r15
    a8aa:	6d43      	mov      	r5, r0
    a8ac:	6d07      	mov      	r4, r1
	U8_T ret = 0x00;
	if(Temp_Rec_Analysis(RecData,Len) != 0x00)      
    a8ae:	e3ffff25 	bsr      	0xa6f8	// a6f8 <Temp_Rec_Analysis>
    a8b2:	3840      	cmpnei      	r0, 0
    a8b4:	0803      	bt      	0xa8ba	// a8ba <Tem_Rs485_Rec_Pro+0x12>
		{
			return ret = 1;
		}
	}
	
	return ret;
    a8b6:	3000      	movi      	r0, 0
			Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo);
    a8b8:	0404      	br      	0xa8c0	// a8c0 <Tem_Rs485_Rec_Pro+0x18>
		if (Len < 5){         //长度校验 
    a8ba:	3c04      	cmphsi      	r4, 5
    a8bc:	0803      	bt      	0xa8c2	// a8c2 <Tem_Rs485_Rec_Pro+0x1a>
			return ret = 1;
    a8be:	3001      	movi      	r0, 1
    a8c0:	1492      	pop      	r4-r5, r15
		if(RecData[0] != 0xFF && RecData[1] != 0x08)          
    a8c2:	8540      	ld.b      	r2, (r5, 0x0)
    a8c4:	33ff      	movi      	r3, 255
    a8c6:	64ca      	cmpne      	r2, r3
    a8c8:	0c04      	bf      	0xa8d0	// a8d0 <Tem_Rs485_Rec_Pro+0x28>
    a8ca:	8561      	ld.b      	r3, (r5, 0x1)
    a8cc:	3b48      	cmpnei      	r3, 8
    a8ce:	0bf8      	bt      	0xa8be	// a8be <Tem_Rs485_Rec_Pro+0x16>
		Dbg_Println(DBG_BIT_SYS_STATUS,"Tem_Rs485_Rec_Pro");
    a8d0:	1125      	lrw      	r1, 0xd1a8	// a964 <Tem_Rs485_Rec_Pro+0xbc>
    a8d2:	3000      	movi      	r0, 0
    a8d4:	e3ffded4 	bsr      	0x667c	// 667c <Dbg_Println>
		if(Len == 0x05 && RecData[4]==SOR_CRC(RecData,4))           //长度为5的旧版协议广播数据
    a8d8:	3c45      	cmpnei      	r4, 5
    a8da:	0814      	bt      	0xa902	// a902 <Tem_Rs485_Rec_Pro+0x5a>
    a8dc:	3104      	movi      	r1, 4
    a8de:	6c17      	mov      	r0, r5
    a8e0:	e3fffd94 	bsr      	0xa408	// a408 <SOR_CRC>
    a8e4:	8564      	ld.b      	r3, (r5, 0x4)
    a8e6:	640e      	cmpne      	r3, r0
    a8e8:	0beb      	bt      	0xa8be	// a8be <Tem_Rs485_Rec_Pro+0x16>
			if(TempCtrl.CardState != RecData[2] && TempCtrl.CardEn == 0x01)    //启用了插卡状态功能
    a8ea:	1160      	lrw      	r3, 0x2000080c	// a968 <Tem_Rs485_Rec_Pro+0xc0>
    a8ec:	8542      	ld.b      	r2, (r5, 0x2)
    a8ee:	8338      	ld.b      	r1, (r3, 0x18)
    a8f0:	6486      	cmpne      	r1, r2
    a8f2:	0fe2      	bf      	0xa8b6	// a8b6 <Tem_Rs485_Rec_Pro+0xe>
    a8f4:	833a      	ld.b      	r1, (r3, 0x1a)
    a8f6:	3941      	cmpnei      	r1, 1
    a8f8:	0bdf      	bt      	0xa8b6	// a8b6 <Tem_Rs485_Rec_Pro+0xe>
				TempCtrl.CardState = RecData[2];
    a8fa:	a358      	st.b      	r2, (r3, 0x18)
				TempCtrl.CardFlag = 0x01;
    a8fc:	3201      	movi      	r2, 1
    a8fe:	a359      	st.b      	r2, (r3, 0x19)
    a900:	07db      	br      	0xa8b6	// a8b6 <Tem_Rs485_Rec_Pro+0xe>
		else if((Len >= 0x0A) && (GetCRC16(RecData, (Len-2)) == (RecData[Len-2]+(RecData[Len-1]<<8))))   //长度不固定的新版协议广播数据
    a902:	3c09      	cmphsi      	r4, 10
    a904:	0fdd      	bf      	0xa8be	// a8be <Tem_Rs485_Rec_Pro+0x16>
    a906:	5c27      	subi      	r1, r4, 2
    a908:	7445      	zexth      	r1, r1
    a90a:	6114      	addu      	r4, r5
    a90c:	6c17      	mov      	r0, r5
    a90e:	e3fffd5f 	bsr      	0xa3cc	// a3cc <GetCRC16>
    a912:	5c63      	subi      	r3, r4, 1
    a914:	8360      	ld.b      	r3, (r3, 0x0)
    a916:	2c01      	subi      	r4, 2
    a918:	4368      	lsli      	r3, r3, 8
    a91a:	8440      	ld.b      	r2, (r4, 0x0)
    a91c:	60c8      	addu      	r3, r2
    a91e:	64c2      	cmpne      	r0, r3
    a920:	0bcf      	bt      	0xa8be	// a8be <Tem_Rs485_Rec_Pro+0x16>
			if(TempCtrl.CardState != RecData[3] && TempCtrl.CardEn == 0x01)    //启用了插卡状态功能      2024-04-17  修正判断条件1错误导致定期亮屏问题
    a922:	1072      	lrw      	r3, 0x2000080c	// a968 <Tem_Rs485_Rec_Pro+0xc0>
    a924:	8543      	ld.b      	r2, (r5, 0x3)
    a926:	8338      	ld.b      	r1, (r3, 0x18)
    a928:	6486      	cmpne      	r1, r2
    a92a:	0c07      	bf      	0xa938	// a938 <Tem_Rs485_Rec_Pro+0x90>
    a92c:	833a      	ld.b      	r1, (r3, 0x1a)
    a92e:	3941      	cmpnei      	r1, 1
    a930:	0804      	bt      	0xa938	// a938 <Tem_Rs485_Rec_Pro+0x90>
				TempCtrl.CardState = RecData[3];
    a932:	a358      	st.b      	r2, (r3, 0x18)
				TempCtrl.CardFlag = 0x01;
    a934:	3201      	movi      	r2, 1
    a936:	a359      	st.b      	r2, (r3, 0x19)
			if(TempCtrl.SceneNo != RecData[7])
    a938:	8547      	ld.b      	r2, (r5, 0x7)
    a93a:	833b      	ld.b      	r1, (r3, 0x1b)
    a93c:	6486      	cmpne      	r1, r2
    a93e:	0c0d      	bf      	0xa958	// a958 <Tem_Rs485_Rec_Pro+0xb0>
				TempCtrl.SceneNo = RecData[7];
    a940:	a35b      	st.b      	r2, (r3, 0x1b)
				TempCtrl.SceneNoTick = SysTick_1ms;
    a942:	104b      	lrw      	r2, 0x200000c0	// a96c <Tem_Rs485_Rec_Pro+0xc4>
    a944:	9240      	ld.w      	r2, (r2, 0x0)
    a946:	4a28      	lsri      	r1, r2, 8
    a948:	a354      	st.b      	r2, (r3, 0x14)
    a94a:	a335      	st.b      	r1, (r3, 0x15)
    a94c:	4a30      	lsri      	r1, r2, 16
    a94e:	4a58      	lsri      	r2, r2, 24
    a950:	a357      	st.b      	r2, (r3, 0x17)
				TempCtrl.SceneFlag = 0x01;
    a952:	3201      	movi      	r2, 1
				TempCtrl.SceneNoTick = SysTick_1ms;
    a954:	a336      	st.b      	r1, (r3, 0x16)
				TempCtrl.SceneFlag = 0x01;
    a956:	a35c      	st.b      	r2, (r3, 0x1c)
			Dbg_Println(DBG_BIT_SYS_STATUS,"SceneNo:%d",TempCtrl.SceneNo);
    a958:	835b      	ld.b      	r2, (r3, 0x1b)
    a95a:	1026      	lrw      	r1, 0xd1ba	// a970 <Tem_Rs485_Rec_Pro+0xc8>
    a95c:	3000      	movi      	r0, 0
    a95e:	e3ffde8f 	bsr      	0x667c	// 667c <Dbg_Println>
    a962:	07aa      	br      	0xa8b6	// a8b6 <Tem_Rs485_Rec_Pro+0xe>
    a964:	0000d1a8 	.long	0x0000d1a8
    a968:	2000080c 	.long	0x2000080c
    a96c:	200000c0 	.long	0x200000c0
    a970:	0000d1ba 	.long	0x0000d1ba

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

0000a974 <TK_ConfigInterrupt_CMD.part.0>:
    a974:	1063      	lrw      	r3, 0x20000058	// a980 <TK_ConfigInterrupt_CMD.part.0+0xc>
    a976:	9340      	ld.w      	r2, (r3, 0x0)
    a978:	926b      	ld.w      	r3, (r2, 0x2c)
    a97a:	6c0c      	or      	r0, r3
    a97c:	b20b      	st.w      	r0, (r2, 0x2c)
    a97e:	783c      	jmp      	r15
    a980:	20000058 	.long	0x20000058

Disassembly of section .text.tk_clk_config:

0000a984 <tk_clk_config>:
    a984:	14c1      	push      	r4
    a986:	1069      	lrw      	r3, 0x20000058	// a9a8 <tk_clk_config+0x24>
    a988:	3840      	cmpnei      	r0, 0
    a98a:	9380      	ld.w      	r4, (r3, 0x0)
    a98c:	9400      	ld.w      	r0, (r4, 0x0)
    a98e:	0c0b      	bf      	0xa9a4	// a9a4 <tk_clk_config+0x20>
    a990:	38a0      	bseti      	r0, 0
    a992:	b400      	st.w      	r0, (r4, 0x0)
    a994:	9360      	ld.w      	r3, (r3, 0x0)
    a996:	4248      	lsli      	r2, r2, 8
    a998:	4122      	lsli      	r1, r1, 2
    a99a:	9300      	ld.w      	r0, (r3, 0x0)
    a99c:	6c48      	or      	r1, r2
    a99e:	6c40      	or      	r1, r0
    a9a0:	b320      	st.w      	r1, (r3, 0x0)
    a9a2:	1481      	pop      	r4
    a9a4:	3880      	bclri      	r0, 0
    a9a6:	07f6      	br      	0xa992	// a992 <tk_clk_config+0xe>
    a9a8:	20000058 	.long	0x20000058

Disassembly of section .text.TK_con0_config:

0000a9ac <TK_con0_config>:
    a9ac:	14c4      	push      	r4-r7
    a9ae:	1429      	subi      	r14, r14, 36
    a9b0:	b840      	st.w      	r2, (r14, 0x0)
    a9b2:	984d      	ld.w      	r2, (r14, 0x34)
    a9b4:	b841      	st.w      	r2, (r14, 0x4)
    a9b6:	984e      	ld.w      	r2, (r14, 0x38)
    a9b8:	b842      	st.w      	r2, (r14, 0x8)
    a9ba:	984f      	ld.w      	r2, (r14, 0x3c)
    a9bc:	b843      	st.w      	r2, (r14, 0xc)
    a9be:	9850      	ld.w      	r2, (r14, 0x40)
    a9c0:	9895      	ld.w      	r4, (r14, 0x54)
    a9c2:	b844      	st.w      	r2, (r14, 0x10)
    a9c4:	9853      	ld.w      	r2, (r14, 0x4c)
    a9c6:	b845      	st.w      	r2, (r14, 0x14)
    a9c8:	b887      	st.w      	r4, (r14, 0x1c)
    a9ca:	9854      	ld.w      	r2, (r14, 0x50)
    a9cc:	1c11      	addi      	r4, r14, 68
    a9ce:	b846      	st.w      	r2, (r14, 0x18)
    a9d0:	8c80      	ld.h      	r4, (r4, 0x0)
    a9d2:	1a15      	addi      	r2, r14, 84
    a9d4:	1d12      	addi      	r5, r14, 72
    a9d6:	8244      	ld.b      	r2, (r2, 0x4)
    a9d8:	3c40      	cmpnei      	r4, 0
    a9da:	8dc0      	ld.h      	r6, (r5, 0x0)
    a9dc:	b848      	st.w      	r2, (r14, 0x20)
    a9de:	0813      	bt      	0xaa04	// aa04 <TK_con0_config+0x58>
    a9e0:	105f      	lrw      	r2, 0x2000004c	// aa5c <TK_con0_config+0xb0>
    a9e2:	35f0      	movi      	r5, 240
    a9e4:	92e0      	ld.w      	r7, (r2, 0x0)
    a9e6:	9740      	ld.w      	r2, (r7, 0x0)
    a9e8:	45a4      	lsli      	r5, r5, 4
    a9ea:	6895      	andn      	r2, r5
    a9ec:	3aab      	bseti      	r2, 11
    a9ee:	b740      	st.w      	r2, (r7, 0x0)
    a9f0:	3502      	movi      	r5, 2
    a9f2:	105c      	lrw      	r2, 0x20000050	// aa60 <TK_con0_config+0xb4>
    a9f4:	3e41      	cmpnei      	r6, 1
    a9f6:	9240      	ld.w      	r2, (r2, 0x0)
    a9f8:	b2a0      	st.w      	r5, (r2, 0x0)
    a9fa:	0828      	bt      	0xaa4a	// aa4a <TK_con0_config+0x9e>
    a9fc:	92a4      	ld.w      	r5, (r2, 0x10)
    a9fe:	3db8      	bseti      	r5, 24
    aa00:	3db9      	bseti      	r5, 25
    aa02:	b2a4      	st.w      	r5, (r2, 0x10)
    aa04:	1058      	lrw      	r2, 0x20000058	// aa64 <TK_con0_config+0xb8>
    aa06:	448d      	lsli      	r4, r4, 13
    aa08:	92a0      	ld.w      	r5, (r2, 0x0)
    aa0a:	9541      	ld.w      	r2, (r5, 0x4)
    aa0c:	3200      	movi      	r2, 0
    aa0e:	b541      	st.w      	r2, (r5, 0x4)
    aa10:	9541      	ld.w      	r2, (r5, 0x4)
    aa12:	98c7      	ld.w      	r6, (r14, 0x1c)
    aa14:	6c98      	or      	r2, r6
    aa16:	98c6      	ld.w      	r6, (r14, 0x18)
    aa18:	6c98      	or      	r2, r6
    aa1a:	98c5      	ld.w      	r6, (r14, 0x14)
    aa1c:	6c98      	or      	r2, r6
    aa1e:	98c8      	ld.w      	r6, (r14, 0x20)
    aa20:	46d8      	lsli      	r6, r6, 24
    aa22:	6c98      	or      	r2, r6
    aa24:	98c4      	ld.w      	r6, (r14, 0x10)
    aa26:	6c98      	or      	r2, r6
    aa28:	98c3      	ld.w      	r6, (r14, 0xc)
    aa2a:	6c98      	or      	r2, r6
    aa2c:	98c2      	ld.w      	r6, (r14, 0x8)
    aa2e:	6c98      	or      	r2, r6
    aa30:	98c1      	ld.w      	r6, (r14, 0x4)
    aa32:	6c98      	or      	r2, r6
    aa34:	6c48      	or      	r1, r2
    aa36:	9840      	ld.w      	r2, (r14, 0x0)
    aa38:	6c04      	or      	r0, r1
    aa3a:	4242      	lsli      	r2, r2, 2
    aa3c:	6c08      	or      	r0, r2
    aa3e:	6d00      	or      	r4, r0
    aa40:	4367      	lsli      	r3, r3, 7
    aa42:	6cd0      	or      	r3, r4
    aa44:	b561      	st.w      	r3, (r5, 0x4)
    aa46:	1409      	addi      	r14, r14, 36
    aa48:	1484      	pop      	r4-r7
    aa4a:	3e40      	cmpnei      	r6, 0
    aa4c:	0bdc      	bt      	0xaa04	// aa04 <TK_con0_config+0x58>
    aa4e:	9264      	ld.w      	r3, (r2, 0x10)
    aa50:	3b98      	bclri      	r3, 24
    aa52:	3b99      	bclri      	r3, 25
    aa54:	3bb8      	bseti      	r3, 24
    aa56:	b264      	st.w      	r3, (r2, 0x10)
    aa58:	3300      	movi      	r3, 0
    aa5a:	07d5      	br      	0xaa04	// aa04 <TK_con0_config+0x58>
    aa5c:	2000004c 	.long	0x2000004c
    aa60:	20000050 	.long	0x20000050
    aa64:	20000058 	.long	0x20000058

Disassembly of section .text.tk_io_enable:

0000aa68 <tk_io_enable>:
    aa68:	14d4      	push      	r4-r7, r15
    aa6a:	1422      	subi      	r14, r14, 8
    aa6c:	1269      	lrw      	r3, 0x2000004c	// ab90 <tk_io_enable+0x128>
    aa6e:	31f0      	movi      	r1, 240
    aa70:	9360      	ld.w      	r3, (r3, 0x0)
    aa72:	9340      	ld.w      	r2, (r3, 0x0)
    aa74:	4130      	lsli      	r1, r1, 16
    aa76:	6885      	andn      	r2, r1
    aa78:	3ab4      	bseti      	r2, 20
    aa7a:	3ab7      	bseti      	r2, 23
    aa7c:	b340      	st.w      	r2, (r3, 0x0)
    aa7e:	35f0      	movi      	r5, 240
    aa80:	1245      	lrw      	r2, 0x20000268	// ab94 <tk_io_enable+0x12c>
    aa82:	36f0      	movi      	r6, 240
    aa84:	9240      	ld.w      	r2, (r2, 0x0)
    aa86:	b841      	st.w      	r2, (r14, 0x4)
    aa88:	3400      	movi      	r4, 0
    aa8a:	1244      	lrw      	r2, 0x20000048	// ab98 <tk_io_enable+0x130>
    aa8c:	45ac      	lsli      	r5, r5, 12
    aa8e:	9240      	ld.w      	r2, (r2, 0x0)
    aa90:	b820      	st.w      	r1, (r14, 0x0)
    aa92:	46c8      	lsli      	r6, r6, 8
    aa94:	3701      	movi      	r7, 1
    aa96:	71d0      	lsl      	r7, r4
    aa98:	9821      	ld.w      	r1, (r14, 0x4)
    aa9a:	69c4      	and      	r7, r1
    aa9c:	3f40      	cmpnei      	r7, 0
    aa9e:	7410      	zextb      	r0, r4
    aaa0:	0c1b      	bf      	0xaad6	// aad6 <tk_io_enable+0x6e>
    aaa2:	2800      	subi      	r0, 1
    aaa4:	380f      	cmphsi      	r0, 16
    aaa6:	080b      	bt      	0xaabc	// aabc <tk_io_enable+0x54>
    aaa8:	e3ffc52a 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    aaac:	27201a0f 	.long	0x27201a0f
    aab0:	3d38312c 	.long	0x3d38312c
    aab4:	56514a44 	.long	0x56514a44
    aab8:	6c67615b 	.long	0x6c67615b
    aabc:	9200      	ld.w      	r0, (r2, 0x0)
    aabe:	37f0      	movi      	r7, 240
    aac0:	681d      	andn      	r0, r7
    aac2:	38a4      	bseti      	r0, 4
    aac4:	38a7      	bseti      	r0, 7
    aac6:	b200      	st.w      	r0, (r2, 0x0)
    aac8:	0407      	br      	0xaad6	// aad6 <tk_io_enable+0x6e>
    aaca:	9300      	ld.w      	r0, (r3, 0x0)
    aacc:	370f      	movi      	r7, 15
    aace:	681d      	andn      	r0, r7
    aad0:	38a0      	bseti      	r0, 0
    aad2:	38a3      	bseti      	r0, 3
    aad4:	b300      	st.w      	r0, (r3, 0x0)
    aad6:	2400      	addi      	r4, 1
    aad8:	3c51      	cmpnei      	r4, 17
    aada:	0bdd      	bt      	0xaa94	// aa94 <tk_io_enable+0x2c>
    aadc:	1402      	addi      	r14, r14, 8
    aade:	1494      	pop      	r4-r7, r15
    aae0:	9300      	ld.w      	r0, (r3, 0x0)
    aae2:	37f0      	movi      	r7, 240
    aae4:	681d      	andn      	r0, r7
    aae6:	38a4      	bseti      	r0, 4
    aae8:	38a7      	bseti      	r0, 7
    aaea:	07f5      	br      	0xaad4	// aad4 <tk_io_enable+0x6c>
    aaec:	37f0      	movi      	r7, 240
    aaee:	9300      	ld.w      	r0, (r3, 0x0)
    aaf0:	47e4      	lsli      	r7, r7, 4
    aaf2:	681d      	andn      	r0, r7
    aaf4:	38a8      	bseti      	r0, 8
    aaf6:	38ab      	bseti      	r0, 11
    aaf8:	07ee      	br      	0xaad4	// aad4 <tk_io_enable+0x6c>
    aafa:	9300      	ld.w      	r0, (r3, 0x0)
    aafc:	6819      	andn      	r0, r6
    aafe:	38ac      	bseti      	r0, 12
    ab00:	38af      	bseti      	r0, 15
    ab02:	07e9      	br      	0xaad4	// aad4 <tk_io_enable+0x6c>
    ab04:	9300      	ld.w      	r0, (r3, 0x0)
    ab06:	6815      	andn      	r0, r5
    ab08:	38b0      	bseti      	r0, 16
    ab0a:	38b3      	bseti      	r0, 19
    ab0c:	07e4      	br      	0xaad4	// aad4 <tk_io_enable+0x6c>
    ab0e:	37f0      	movi      	r7, 240
    ab10:	9200      	ld.w      	r0, (r2, 0x0)
    ab12:	47e4      	lsli      	r7, r7, 4
    ab14:	681d      	andn      	r0, r7
    ab16:	38a8      	bseti      	r0, 8
    ab18:	38ab      	bseti      	r0, 11
    ab1a:	07d6      	br      	0xaac6	// aac6 <tk_io_enable+0x5e>
    ab1c:	9200      	ld.w      	r0, (r2, 0x0)
    ab1e:	6819      	andn      	r0, r6
    ab20:	38ac      	bseti      	r0, 12
    ab22:	38af      	bseti      	r0, 15
    ab24:	07d1      	br      	0xaac6	// aac6 <tk_io_enable+0x5e>
    ab26:	9301      	ld.w      	r0, (r3, 0x4)
    ab28:	370f      	movi      	r7, 15
    ab2a:	681d      	andn      	r0, r7
    ab2c:	38a0      	bseti      	r0, 0
    ab2e:	38a3      	bseti      	r0, 3
    ab30:	b301      	st.w      	r0, (r3, 0x4)
    ab32:	07d2      	br      	0xaad6	// aad6 <tk_io_enable+0x6e>
    ab34:	9301      	ld.w      	r0, (r3, 0x4)
    ab36:	37f0      	movi      	r7, 240
    ab38:	681d      	andn      	r0, r7
    ab3a:	38a4      	bseti      	r0, 4
    ab3c:	38a7      	bseti      	r0, 7
    ab3e:	07f9      	br      	0xab30	// ab30 <tk_io_enable+0xc8>
    ab40:	37f0      	movi      	r7, 240
    ab42:	9301      	ld.w      	r0, (r3, 0x4)
    ab44:	47e4      	lsli      	r7, r7, 4
    ab46:	681d      	andn      	r0, r7
    ab48:	38a8      	bseti      	r0, 8
    ab4a:	38ab      	bseti      	r0, 11
    ab4c:	07f2      	br      	0xab30	// ab30 <tk_io_enable+0xc8>
    ab4e:	9301      	ld.w      	r0, (r3, 0x4)
    ab50:	6819      	andn      	r0, r6
    ab52:	38ac      	bseti      	r0, 12
    ab54:	38af      	bseti      	r0, 15
    ab56:	07ed      	br      	0xab30	// ab30 <tk_io_enable+0xc8>
    ab58:	9301      	ld.w      	r0, (r3, 0x4)
    ab5a:	6815      	andn      	r0, r5
    ab5c:	38b0      	bseti      	r0, 16
    ab5e:	38b3      	bseti      	r0, 19
    ab60:	07e8      	br      	0xab30	// ab30 <tk_io_enable+0xc8>
    ab62:	9301      	ld.w      	r0, (r3, 0x4)
    ab64:	9820      	ld.w      	r1, (r14, 0x0)
    ab66:	6805      	andn      	r0, r1
    ab68:	38b4      	bseti      	r0, 20
    ab6a:	38b7      	bseti      	r0, 23
    ab6c:	07e2      	br      	0xab30	// ab30 <tk_io_enable+0xc8>
    ab6e:	9200      	ld.w      	r0, (r2, 0x0)
    ab70:	370f      	movi      	r7, 15
    ab72:	681d      	andn      	r0, r7
    ab74:	38a0      	bseti      	r0, 0
    ab76:	38a3      	bseti      	r0, 3
    ab78:	07a7      	br      	0xaac6	// aac6 <tk_io_enable+0x5e>
    ab7a:	9200      	ld.w      	r0, (r2, 0x0)
    ab7c:	6815      	andn      	r0, r5
    ab7e:	38b0      	bseti      	r0, 16
    ab80:	38b3      	bseti      	r0, 19
    ab82:	07a2      	br      	0xaac6	// aac6 <tk_io_enable+0x5e>
    ab84:	9200      	ld.w      	r0, (r2, 0x0)
    ab86:	9820      	ld.w      	r1, (r14, 0x0)
    ab88:	6805      	andn      	r0, r1
    ab8a:	38b4      	bseti      	r0, 20
    ab8c:	38b7      	bseti      	r0, 23
    ab8e:	079c      	br      	0xaac6	// aac6 <tk_io_enable+0x5e>
    ab90:	2000004c 	.long	0x2000004c
    ab94:	20000268 	.long	0x20000268
    ab98:	20000048 	.long	0x20000048

Disassembly of section .text.TK_Single_Longpress_prg:

0000ab9c <TK_Single_Longpress_prg>:
    ab9c:	14c2      	push      	r4-r5
    ab9e:	117d      	lrw      	r3, 0x200009f4	// ac90 <TK_Single_Longpress_prg+0xf4>
    aba0:	115d      	lrw      	r2, 0x20000960	// ac94 <TK_Single_Longpress_prg+0xf8>
    aba2:	9360      	ld.w      	r3, (r3, 0x0)
    aba4:	3b40      	cmpnei      	r3, 0
    aba6:	0840      	bt      	0xac26	// ac26 <TK_Single_Longpress_prg+0x8a>
    aba8:	113c      	lrw      	r1, 0x20000070	// ac98 <TK_Single_Longpress_prg+0xfc>
    abaa:	8962      	ld.h      	r3, (r1, 0x4)
    abac:	74cd      	zexth      	r3, r3
    abae:	3b40      	cmpnei      	r3, 0
    abb0:	0c3b      	bf      	0xac26	// ac26 <TK_Single_Longpress_prg+0x8a>
    abb2:	117b      	lrw      	r3, 0x200008f4	// ac9c <TK_Single_Longpress_prg+0x100>
    abb4:	9360      	ld.w      	r3, (r3, 0x0)
    abb6:	3b40      	cmpnei      	r3, 0
    abb8:	117a      	lrw      	r3, 0x20000aaa	// aca0 <TK_Single_Longpress_prg+0x104>
    abba:	0c0e      	bf      	0xabd6	// abd6 <TK_Single_Longpress_prg+0x3a>
    abbc:	8300      	ld.b      	r0, (r3, 0x0)
    abbe:	2000      	addi      	r0, 1
    abc0:	7400      	zextb      	r0, r0
    abc2:	a300      	st.b      	r0, (r3, 0x0)
    abc4:	8380      	ld.b      	r4, (r3, 0x0)
    abc6:	8902      	ld.h      	r0, (r1, 0x4)
    abc8:	7401      	zexth      	r0, r0
    abca:	3564      	movi      	r5, 100
    abcc:	7c14      	mult      	r0, r5
    abce:	6501      	cmplt      	r0, r4
    abd0:	0c05      	bf      	0xabda	// abda <TK_Single_Longpress_prg+0x3e>
    abd2:	3001      	movi      	r0, 1
    abd4:	a200      	st.b      	r0, (r2, 0x0)
    abd6:	3000      	movi      	r0, 0
    abd8:	a300      	st.b      	r0, (r3, 0x0)
    abda:	1113      	lrw      	r0, 0x20000888	// aca4 <TK_Single_Longpress_prg+0x108>
    abdc:	9000      	ld.w      	r0, (r0, 0x0)
    abde:	3840      	cmpnei      	r0, 0
    abe0:	0c0e      	bf      	0xabfc	// abfc <TK_Single_Longpress_prg+0x60>
    abe2:	8301      	ld.b      	r0, (r3, 0x1)
    abe4:	2000      	addi      	r0, 1
    abe6:	7400      	zextb      	r0, r0
    abe8:	a301      	st.b      	r0, (r3, 0x1)
    abea:	8381      	ld.b      	r4, (r3, 0x1)
    abec:	8902      	ld.h      	r0, (r1, 0x4)
    abee:	7401      	zexth      	r0, r0
    abf0:	3564      	movi      	r5, 100
    abf2:	7c14      	mult      	r0, r5
    abf4:	6501      	cmplt      	r0, r4
    abf6:	0c05      	bf      	0xac00	// ac00 <TK_Single_Longpress_prg+0x64>
    abf8:	3001      	movi      	r0, 1
    abfa:	a201      	st.b      	r0, (r2, 0x1)
    abfc:	3000      	movi      	r0, 0
    abfe:	a301      	st.b      	r0, (r3, 0x1)
    ac00:	110a      	lrw      	r0, 0x2000096c	// aca8 <TK_Single_Longpress_prg+0x10c>
    ac02:	9000      	ld.w      	r0, (r0, 0x0)
    ac04:	3840      	cmpnei      	r0, 0
    ac06:	0c0e      	bf      	0xac22	// ac22 <TK_Single_Longpress_prg+0x86>
    ac08:	8302      	ld.b      	r0, (r3, 0x2)
    ac0a:	2000      	addi      	r0, 1
    ac0c:	7400      	zextb      	r0, r0
    ac0e:	a302      	st.b      	r0, (r3, 0x2)
    ac10:	8302      	ld.b      	r0, (r3, 0x2)
    ac12:	8922      	ld.h      	r1, (r1, 0x4)
    ac14:	7445      	zexth      	r1, r1
    ac16:	3464      	movi      	r4, 100
    ac18:	7c50      	mult      	r1, r4
    ac1a:	6405      	cmplt      	r1, r0
    ac1c:	0c05      	bf      	0xac26	// ac26 <TK_Single_Longpress_prg+0x8a>
    ac1e:	3101      	movi      	r1, 1
    ac20:	a222      	st.b      	r1, (r2, 0x2)
    ac22:	3100      	movi      	r1, 0
    ac24:	a322      	st.b      	r1, (r3, 0x2)
    ac26:	8260      	ld.b      	r3, (r2, 0x0)
    ac28:	3b41      	cmpnei      	r3, 1
    ac2a:	080f      	bt      	0xac48	// ac48 <TK_Single_Longpress_prg+0xac>
    ac2c:	3300      	movi      	r3, 0
    ac2e:	11a0      	lrw      	r5, 0x20000ba6	// acac <TK_Single_Longpress_prg+0x110>
    ac30:	1180      	lrw      	r4, 0x20000854	// acb0 <TK_Single_Longpress_prg+0x114>
    ac32:	4321      	lsli      	r1, r3, 1
    ac34:	5d04      	addu      	r0, r5, r1
    ac36:	8800      	ld.h      	r0, (r0, 0x0)
    ac38:	2300      	addi      	r3, 1
    ac3a:	7401      	zexth      	r0, r0
    ac3c:	6050      	addu      	r1, r4
    ac3e:	3b51      	cmpnei      	r3, 17
    ac40:	a900      	st.h      	r0, (r1, 0x0)
    ac42:	0bf8      	bt      	0xac32	// ac32 <TK_Single_Longpress_prg+0x96>
    ac44:	3300      	movi      	r3, 0
    ac46:	a260      	st.b      	r3, (r2, 0x0)
    ac48:	8261      	ld.b      	r3, (r2, 0x1)
    ac4a:	3b41      	cmpnei      	r3, 1
    ac4c:	080f      	bt      	0xac6a	// ac6a <TK_Single_Longpress_prg+0xce>
    ac4e:	3300      	movi      	r3, 0
    ac50:	10b9      	lrw      	r5, 0x2000093c	// acb4 <TK_Single_Longpress_prg+0x118>
    ac52:	109a      	lrw      	r4, 0x200009fe	// acb8 <TK_Single_Longpress_prg+0x11c>
    ac54:	4321      	lsli      	r1, r3, 1
    ac56:	5d04      	addu      	r0, r5, r1
    ac58:	8800      	ld.h      	r0, (r0, 0x0)
    ac5a:	2300      	addi      	r3, 1
    ac5c:	7401      	zexth      	r0, r0
    ac5e:	6050      	addu      	r1, r4
    ac60:	3b51      	cmpnei      	r3, 17
    ac62:	a900      	st.h      	r0, (r1, 0x0)
    ac64:	0bf8      	bt      	0xac54	// ac54 <TK_Single_Longpress_prg+0xb8>
    ac66:	3300      	movi      	r3, 0
    ac68:	a261      	st.b      	r3, (r2, 0x1)
    ac6a:	8262      	ld.b      	r3, (r2, 0x2)
    ac6c:	3b41      	cmpnei      	r3, 1
    ac6e:	080f      	bt      	0xac8c	// ac8c <TK_Single_Longpress_prg+0xf0>
    ac70:	3300      	movi      	r3, 0
    ac72:	10b3      	lrw      	r5, 0x20000a32	// acbc <TK_Single_Longpress_prg+0x120>
    ac74:	1093      	lrw      	r4, 0x20000b14	// acc0 <TK_Single_Longpress_prg+0x124>
    ac76:	4321      	lsli      	r1, r3, 1
    ac78:	5d04      	addu      	r0, r5, r1
    ac7a:	8800      	ld.h      	r0, (r0, 0x0)
    ac7c:	2300      	addi      	r3, 1
    ac7e:	7401      	zexth      	r0, r0
    ac80:	6050      	addu      	r1, r4
    ac82:	3b51      	cmpnei      	r3, 17
    ac84:	a900      	st.h      	r0, (r1, 0x0)
    ac86:	0bf8      	bt      	0xac76	// ac76 <TK_Single_Longpress_prg+0xda>
    ac88:	3300      	movi      	r3, 0
    ac8a:	a262      	st.b      	r3, (r2, 0x2)
    ac8c:	1482      	pop      	r4-r5
    ac8e:	0000      	bkpt
    ac90:	200009f4 	.long	0x200009f4
    ac94:	20000960 	.long	0x20000960
    ac98:	20000070 	.long	0x20000070
    ac9c:	200008f4 	.long	0x200008f4
    aca0:	20000aaa 	.long	0x20000aaa
    aca4:	20000888 	.long	0x20000888
    aca8:	2000096c 	.long	0x2000096c
    acac:	20000ba6 	.long	0x20000ba6
    acb0:	20000854 	.long	0x20000854
    acb4:	2000093c 	.long	0x2000093c
    acb8:	200009fe 	.long	0x200009fe
    acbc:	20000a32 	.long	0x20000a32
    acc0:	20000b14 	.long	0x20000b14

Disassembly of section .text.TK_Sampling_prog:

0000acc4 <TK_Sampling_prog>:
    acc4:	14c4      	push      	r4-r7
    acc6:	1423      	subi      	r14, r14, 12
    acc8:	1169      	lrw      	r3, 0x20000054	// ad6c <TK_Sampling_prog+0xa8>
    acca:	114a      	lrw      	r2, 0x20000b11	// ad70 <TK_Sampling_prog+0xac>
    accc:	6d0b      	mov      	r4, r2
    acce:	9320      	ld.w      	r1, (r3, 0x0)
    acd0:	b840      	st.w      	r2, (r14, 0x0)
    acd2:	3300      	movi      	r3, 0
    acd4:	11a8      	lrw      	r5, 0x20000ba6	// ad74 <TK_Sampling_prog+0xb0>
    acd6:	9840      	ld.w      	r2, (r14, 0x0)
    acd8:	8240      	ld.b      	r2, (r2, 0x0)
    acda:	3a41      	cmpnei      	r2, 1
    acdc:	0808      	bt      	0xacec	// acec <TK_Sampling_prog+0x28>
    acde:	4342      	lsli      	r2, r3, 2
    ace0:	6084      	addu      	r2, r1
    ace2:	9200      	ld.w      	r0, (r2, 0x0)
    ace4:	4341      	lsli      	r2, r3, 1
    ace6:	7401      	zexth      	r0, r0
    ace8:	6094      	addu      	r2, r5
    acea:	aa00      	st.h      	r0, (r2, 0x0)
    acec:	8440      	ld.b      	r2, (r4, 0x0)
    acee:	3a42      	cmpnei      	r2, 2
    acf0:	0809      	bt      	0xad02	// ad02 <TK_Sampling_prog+0x3e>
    acf2:	4342      	lsli      	r2, r3, 2
    acf4:	6084      	addu      	r2, r1
    acf6:	9200      	ld.w      	r0, (r2, 0x0)
    acf8:	4341      	lsli      	r2, r3, 1
    acfa:	11c0      	lrw      	r6, 0x2000093c	// ad78 <TK_Sampling_prog+0xb4>
    acfc:	7401      	zexth      	r0, r0
    acfe:	6098      	addu      	r2, r6
    ad00:	aa00      	st.h      	r0, (r2, 0x0)
    ad02:	8440      	ld.b      	r2, (r4, 0x0)
    ad04:	3a40      	cmpnei      	r2, 0
    ad06:	0809      	bt      	0xad18	// ad18 <TK_Sampling_prog+0x54>
    ad08:	4342      	lsli      	r2, r3, 2
    ad0a:	6084      	addu      	r2, r1
    ad0c:	9200      	ld.w      	r0, (r2, 0x0)
    ad0e:	4341      	lsli      	r2, r3, 1
    ad10:	10db      	lrw      	r6, 0x20000a32	// ad7c <TK_Sampling_prog+0xb8>
    ad12:	7401      	zexth      	r0, r0
    ad14:	6098      	addu      	r2, r6
    ad16:	aa00      	st.h      	r0, (r2, 0x0)
    ad18:	10da      	lrw      	r6, 0x20000999	// ad80 <TK_Sampling_prog+0xbc>
    ad1a:	8640      	ld.b      	r2, (r6, 0x0)
    ad1c:	3a41      	cmpnei      	r2, 1
    ad1e:	0821      	bt      	0xad60	// ad60 <TK_Sampling_prog+0x9c>
    ad20:	1079      	lrw      	r3, 0x20000854	// ad84 <TK_Sampling_prog+0xc0>
    ad22:	3200      	movi      	r2, 0
    ad24:	b861      	st.w      	r3, (r14, 0x4)
    ad26:	1075      	lrw      	r3, 0x2000093c	// ad78 <TK_Sampling_prog+0xb4>
    ad28:	b862      	st.w      	r3, (r14, 0x8)
    ad2a:	4261      	lsli      	r3, r2, 1
    ad2c:	5d0c      	addu      	r0, r5, r3
    ad2e:	8800      	ld.h      	r0, (r0, 0x0)
    ad30:	98e1      	ld.w      	r7, (r14, 0x4)
    ad32:	61cc      	addu      	r7, r3
    ad34:	7401      	zexth      	r0, r0
    ad36:	af00      	st.h      	r0, (r7, 0x0)
    ad38:	9802      	ld.w      	r0, (r14, 0x8)
    ad3a:	600c      	addu      	r0, r3
    ad3c:	8800      	ld.h      	r0, (r0, 0x0)
    ad3e:	10f3      	lrw      	r7, 0x200009fe	// ad88 <TK_Sampling_prog+0xc4>
    ad40:	61cc      	addu      	r7, r3
    ad42:	7401      	zexth      	r0, r0
    ad44:	af00      	st.h      	r0, (r7, 0x0)
    ad46:	2200      	addi      	r2, 1
    ad48:	100d      	lrw      	r0, 0x20000a32	// ad7c <TK_Sampling_prog+0xb8>
    ad4a:	600c      	addu      	r0, r3
    ad4c:	8800      	ld.h      	r0, (r0, 0x0)
    ad4e:	10f0      	lrw      	r7, 0x20000b14	// ad8c <TK_Sampling_prog+0xc8>
    ad50:	7401      	zexth      	r0, r0
    ad52:	60dc      	addu      	r3, r7
    ad54:	3a51      	cmpnei      	r2, 17
    ad56:	ab00      	st.h      	r0, (r3, 0x0)
    ad58:	0be9      	bt      	0xad2a	// ad2a <TK_Sampling_prog+0x66>
    ad5a:	3300      	movi      	r3, 0
    ad5c:	a660      	st.b      	r3, (r6, 0x0)
    ad5e:	3311      	movi      	r3, 17
    ad60:	2300      	addi      	r3, 1
    ad62:	74cc      	zextb      	r3, r3
    ad64:	3b10      	cmphsi      	r3, 17
    ad66:	0fb8      	bf      	0xacd6	// acd6 <TK_Sampling_prog+0x12>
    ad68:	1403      	addi      	r14, r14, 12
    ad6a:	1484      	pop      	r4-r7
    ad6c:	20000054 	.long	0x20000054
    ad70:	20000b11 	.long	0x20000b11
    ad74:	20000ba6 	.long	0x20000ba6
    ad78:	2000093c 	.long	0x2000093c
    ad7c:	20000a32 	.long	0x20000a32
    ad80:	20000999 	.long	0x20000999
    ad84:	20000854 	.long	0x20000854
    ad88:	200009fe 	.long	0x200009fe
    ad8c:	20000b14 	.long	0x20000b14

Disassembly of section .text.get_key_number:

0000ad90 <get_key_number>:
    ad90:	14c2      	push      	r4-r5
    ad92:	3200      	movi      	r2, 0
    ad94:	3000      	movi      	r0, 0
    ad96:	1088      	lrw      	r4, 0x200009f4	// adb4 <get_key_number+0x24>
    ad98:	3501      	movi      	r5, 1
    ad9a:	3120      	movi      	r1, 32
    ad9c:	9460      	ld.w      	r3, (r4, 0x0)
    ad9e:	70c9      	lsr      	r3, r2
    ada0:	68d4      	and      	r3, r5
    ada2:	3b40      	cmpnei      	r3, 0
    ada4:	0c02      	bf      	0xada8	// ada8 <get_key_number+0x18>
    ada6:	2000      	addi      	r0, 1
    ada8:	2200      	addi      	r2, 1
    adaa:	644a      	cmpne      	r2, r1
    adac:	0bf8      	bt      	0xad9c	// ad9c <get_key_number+0xc>
    adae:	7400      	zextb      	r0, r0
    adb0:	1482      	pop      	r4-r5
    adb2:	0000      	bkpt
    adb4:	200009f4 	.long	0x200009f4

Disassembly of section .text.get_key_number0:

0000adb8 <get_key_number0>:
    adb8:	14c2      	push      	r4-r5
    adba:	3200      	movi      	r2, 0
    adbc:	3000      	movi      	r0, 0
    adbe:	1088      	lrw      	r4, 0x200008f4	// addc <get_key_number0+0x24>
    adc0:	3501      	movi      	r5, 1
    adc2:	3120      	movi      	r1, 32
    adc4:	9460      	ld.w      	r3, (r4, 0x0)
    adc6:	70c9      	lsr      	r3, r2
    adc8:	68d4      	and      	r3, r5
    adca:	3b40      	cmpnei      	r3, 0
    adcc:	0c02      	bf      	0xadd0	// add0 <get_key_number0+0x18>
    adce:	2000      	addi      	r0, 1
    add0:	2200      	addi      	r2, 1
    add2:	644a      	cmpne      	r2, r1
    add4:	0bf8      	bt      	0xadc4	// adc4 <get_key_number0+0xc>
    add6:	7400      	zextb      	r0, r0
    add8:	1482      	pop      	r4-r5
    adda:	0000      	bkpt
    addc:	200008f4 	.long	0x200008f4

Disassembly of section .text.get_key_number1:

0000ade0 <get_key_number1>:
    ade0:	14c2      	push      	r4-r5
    ade2:	3200      	movi      	r2, 0
    ade4:	3000      	movi      	r0, 0
    ade6:	1088      	lrw      	r4, 0x20000888	// ae04 <get_key_number1+0x24>
    ade8:	3501      	movi      	r5, 1
    adea:	3120      	movi      	r1, 32
    adec:	9460      	ld.w      	r3, (r4, 0x0)
    adee:	70c9      	lsr      	r3, r2
    adf0:	68d4      	and      	r3, r5
    adf2:	3b40      	cmpnei      	r3, 0
    adf4:	0c02      	bf      	0xadf8	// adf8 <get_key_number1+0x18>
    adf6:	2000      	addi      	r0, 1
    adf8:	2200      	addi      	r2, 1
    adfa:	644a      	cmpne      	r2, r1
    adfc:	0bf8      	bt      	0xadec	// adec <get_key_number1+0xc>
    adfe:	7400      	zextb      	r0, r0
    ae00:	1482      	pop      	r4-r5
    ae02:	0000      	bkpt
    ae04:	20000888 	.long	0x20000888

Disassembly of section .text.get_key_number2:

0000ae08 <get_key_number2>:
    ae08:	14c2      	push      	r4-r5
    ae0a:	3200      	movi      	r2, 0
    ae0c:	3000      	movi      	r0, 0
    ae0e:	1088      	lrw      	r4, 0x2000096c	// ae2c <get_key_number2+0x24>
    ae10:	3501      	movi      	r5, 1
    ae12:	3120      	movi      	r1, 32
    ae14:	9460      	ld.w      	r3, (r4, 0x0)
    ae16:	70c9      	lsr      	r3, r2
    ae18:	68d4      	and      	r3, r5
    ae1a:	3b40      	cmpnei      	r3, 0
    ae1c:	0c02      	bf      	0xae20	// ae20 <get_key_number2+0x18>
    ae1e:	2000      	addi      	r0, 1
    ae20:	2200      	addi      	r2, 1
    ae22:	644a      	cmpne      	r2, r1
    ae24:	0bf8      	bt      	0xae14	// ae14 <get_key_number2+0xc>
    ae26:	7400      	zextb      	r0, r0
    ae28:	1482      	pop      	r4-r5
    ae2a:	0000      	bkpt
    ae2c:	2000096c 	.long	0x2000096c

Disassembly of section .text.TK_Baseline_prog:

0000ae30 <TK_Baseline_prog>:
    ae30:	14c4      	push      	r4-r7
    ae32:	142a      	subi      	r14, r14, 40
    ae34:	1264      	lrw      	r3, 0x20000968	// af44 <TK_Baseline_prog+0x114>
    ae36:	1245      	lrw      	r2, 0x20000b11	// af48 <TK_Baseline_prog+0x118>
    ae38:	6c0b      	mov      	r0, r2
    ae3a:	9360      	ld.w      	r3, (r3, 0x0)
    ae3c:	b865      	st.w      	r3, (r14, 0x14)
    ae3e:	1264      	lrw      	r3, 0x20000938	// af4c <TK_Baseline_prog+0x11c>
    ae40:	9360      	ld.w      	r3, (r3, 0x0)
    ae42:	b864      	st.w      	r3, (r14, 0x10)
    ae44:	1263      	lrw      	r3, 0x20000bc8	// af50 <TK_Baseline_prog+0x120>
    ae46:	9360      	ld.w      	r3, (r3, 0x0)
    ae48:	b863      	st.w      	r3, (r14, 0xc)
    ae4a:	1263      	lrw      	r3, 0x20000058	// af54 <TK_Baseline_prog+0x124>
    ae4c:	9360      	ld.w      	r3, (r3, 0x0)
    ae4e:	b866      	st.w      	r3, (r14, 0x18)
    ae50:	1262      	lrw      	r3, 0x20000054	// af58 <TK_Baseline_prog+0x128>
    ae52:	9360      	ld.w      	r3, (r3, 0x0)
    ae54:	b860      	st.w      	r3, (r14, 0x0)
    ae56:	3306      	movi      	r3, 6
    ae58:	b861      	st.w      	r3, (r14, 0x4)
    ae5a:	1261      	lrw      	r3, 0x20000070	// af5c <TK_Baseline_prog+0x12c>
    ae5c:	b862      	st.w      	r3, (r14, 0x8)
    ae5e:	3103      	movi      	r1, 3
    ae60:	8260      	ld.b      	r3, (r2, 0x0)
    ae62:	74cc      	zextb      	r3, r3
    ae64:	3b41      	cmpnei      	r3, 1
    ae66:	0c66      	bf      	0xaf32	// af32 <TK_Baseline_prog+0x102>
    ae68:	3b40      	cmpnei      	r3, 0
    ae6a:	0c5c      	bf      	0xaf22	// af22 <TK_Baseline_prog+0xf2>
    ae6c:	3b42      	cmpnei      	r3, 2
    ae6e:	0c65      	bf      	0xaf38	// af38 <TK_Baseline_prog+0x108>
    ae70:	3301      	movi      	r3, 1
    ae72:	9886      	ld.w      	r4, (r14, 0x18)
    ae74:	b462      	st.w      	r3, (r4, 0x8)
    ae76:	9862      	ld.w      	r3, (r14, 0x8)
    ae78:	3400      	movi      	r4, 0
    ae7a:	a380      	st.b      	r4, (r3, 0x0)
    ae7c:	9862      	ld.w      	r3, (r14, 0x8)
    ae7e:	8360      	ld.b      	r3, (r3, 0x0)
    ae80:	3b40      	cmpnei      	r3, 0
    ae82:	0ffd      	bf      	0xae7c	// ae7c <TK_Baseline_prog+0x4c>
    ae84:	6c03      	mov      	r0, r0
    ae86:	1197      	lrw      	r4, 0x20000854	// af60 <TK_Baseline_prog+0x130>
    ae88:	3300      	movi      	r3, 0
    ae8a:	b887      	st.w      	r4, (r14, 0x1c)
    ae8c:	1196      	lrw      	r4, 0x20000ba6	// af64 <TK_Baseline_prog+0x134>
    ae8e:	b888      	st.w      	r4, (r14, 0x20)
    ae90:	1196      	lrw      	r4, 0x200009fe	// af68 <TK_Baseline_prog+0x138>
    ae92:	b889      	st.w      	r4, (r14, 0x24)
    ae94:	8080      	ld.b      	r4, (r0, 0x0)
    ae96:	3c41      	cmpnei      	r4, 1
    ae98:	080f      	bt      	0xaeb6	// aeb6 <TK_Baseline_prog+0x86>
    ae9a:	9880      	ld.w      	r4, (r14, 0x0)
    ae9c:	43a2      	lsli      	r5, r3, 2
    ae9e:	6150      	addu      	r5, r4
    aea0:	95c0      	ld.w      	r6, (r5, 0x0)
    aea2:	4381      	lsli      	r4, r3, 1
    aea4:	98e7      	ld.w      	r7, (r14, 0x1c)
    aea6:	7599      	zexth      	r6, r6
    aea8:	61d0      	addu      	r7, r4
    aeaa:	afc0      	st.h      	r6, (r7, 0x0)
    aeac:	95a0      	ld.w      	r5, (r5, 0x0)
    aeae:	98c8      	ld.w      	r6, (r14, 0x20)
    aeb0:	7555      	zexth      	r5, r5
    aeb2:	6118      	addu      	r4, r6
    aeb4:	aca0      	st.h      	r5, (r4, 0x0)
    aeb6:	8080      	ld.b      	r4, (r0, 0x0)
    aeb8:	3c42      	cmpnei      	r4, 2
    aeba:	080f      	bt      	0xaed8	// aed8 <TK_Baseline_prog+0xa8>
    aebc:	9880      	ld.w      	r4, (r14, 0x0)
    aebe:	43a2      	lsli      	r5, r3, 2
    aec0:	6150      	addu      	r5, r4
    aec2:	95c0      	ld.w      	r6, (r5, 0x0)
    aec4:	4381      	lsli      	r4, r3, 1
    aec6:	98e9      	ld.w      	r7, (r14, 0x24)
    aec8:	7599      	zexth      	r6, r6
    aeca:	61d0      	addu      	r7, r4
    aecc:	afc0      	st.h      	r6, (r7, 0x0)
    aece:	95a0      	ld.w      	r5, (r5, 0x0)
    aed0:	7555      	zexth      	r5, r5
    aed2:	11c7      	lrw      	r6, 0x2000093c	// af6c <TK_Baseline_prog+0x13c>
    aed4:	6118      	addu      	r4, r6
    aed6:	aca0      	st.h      	r5, (r4, 0x0)
    aed8:	8080      	ld.b      	r4, (r0, 0x0)
    aeda:	3c40      	cmpnei      	r4, 0
    aedc:	080f      	bt      	0xaefa	// aefa <TK_Baseline_prog+0xca>
    aede:	9880      	ld.w      	r4, (r14, 0x0)
    aee0:	43a2      	lsli      	r5, r3, 2
    aee2:	6150      	addu      	r5, r4
    aee4:	95c0      	ld.w      	r6, (r5, 0x0)
    aee6:	4381      	lsli      	r4, r3, 1
    aee8:	11e2      	lrw      	r7, 0x20000b14	// af70 <TK_Baseline_prog+0x140>
    aeea:	7599      	zexth      	r6, r6
    aeec:	61d0      	addu      	r7, r4
    aeee:	afc0      	st.h      	r6, (r7, 0x0)
    aef0:	95a0      	ld.w      	r5, (r5, 0x0)
    aef2:	7555      	zexth      	r5, r5
    aef4:	11c0      	lrw      	r6, 0x20000a32	// af74 <TK_Baseline_prog+0x144>
    aef6:	6118      	addu      	r4, r6
    aef8:	aca0      	st.h      	r5, (r4, 0x0)
    aefa:	2300      	addi      	r3, 1
    aefc:	3b51      	cmpnei      	r3, 17
    aefe:	0bcb      	bt      	0xae94	// ae94 <TK_Baseline_prog+0x64>
    af00:	2900      	subi      	r1, 1
    af02:	7444      	zextb      	r1, r1
    af04:	3940      	cmpnei      	r1, 0
    af06:	0bad      	bt      	0xae60	// ae60 <TK_Baseline_prog+0x30>
    af08:	9861      	ld.w      	r3, (r14, 0x4)
    af0a:	2b00      	subi      	r3, 1
    af0c:	74cc      	zextb      	r3, r3
    af0e:	3b40      	cmpnei      	r3, 0
    af10:	b861      	st.w      	r3, (r14, 0x4)
    af12:	0ba6      	bt      	0xae5e	// ae5e <TK_Baseline_prog+0x2e>
    af14:	1079      	lrw      	r3, 0x20000900	// af78 <TK_Baseline_prog+0x148>
    af16:	3201      	movi      	r2, 1
    af18:	a340      	st.b      	r2, (r3, 0x0)
    af1a:	3300      	movi      	r3, 0
    af1c:	a060      	st.b      	r3, (r0, 0x0)
    af1e:	140a      	addi      	r14, r14, 40
    af20:	1484      	pop      	r4-r7
    af22:	1077      	lrw      	r3, 0x40011200	// af7c <TK_Baseline_prog+0x14c>
    af24:	9883      	ld.w      	r4, (r14, 0xc)
    af26:	b390      	st.w      	r4, (r3, 0x40)
    af28:	8260      	ld.b      	r3, (r2, 0x0)
    af2a:	2300      	addi      	r3, 1
    af2c:	74cc      	zextb      	r3, r3
    af2e:	a260      	st.b      	r3, (r2, 0x0)
    af30:	07a0      	br      	0xae70	// ae70 <TK_Baseline_prog+0x40>
    af32:	1073      	lrw      	r3, 0x40011200	// af7c <TK_Baseline_prog+0x14c>
    af34:	9884      	ld.w      	r4, (r14, 0x10)
    af36:	07f8      	br      	0xaf26	// af26 <TK_Baseline_prog+0xf6>
    af38:	1071      	lrw      	r3, 0x40011200	// af7c <TK_Baseline_prog+0x14c>
    af3a:	9885      	ld.w      	r4, (r14, 0x14)
    af3c:	b390      	st.w      	r4, (r3, 0x40)
    af3e:	3300      	movi      	r3, 0
    af40:	07f7      	br      	0xaf2e	// af2e <TK_Baseline_prog+0xfe>
    af42:	0000      	bkpt
    af44:	20000968 	.long	0x20000968
    af48:	20000b11 	.long	0x20000b11
    af4c:	20000938 	.long	0x20000938
    af50:	20000bc8 	.long	0x20000bc8
    af54:	20000058 	.long	0x20000058
    af58:	20000054 	.long	0x20000054
    af5c:	20000070 	.long	0x20000070
    af60:	20000854 	.long	0x20000854
    af64:	20000ba6 	.long	0x20000ba6
    af68:	200009fe 	.long	0x200009fe
    af6c:	2000093c 	.long	0x2000093c
    af70:	20000b14 	.long	0x20000b14
    af74:	20000a32 	.long	0x20000a32
    af78:	20000900 	.long	0x20000900
    af7c:	40011200 	.long	0x40011200

Disassembly of section .text.TK_Baseline_prog2:

0000af80 <TK_Baseline_prog2>:
    af80:	14c4      	push      	r4-r7
    af82:	142a      	subi      	r14, r14, 40
    af84:	1262      	lrw      	r3, 0x20000900	// b08c <TK_Baseline_prog2+0x10c>
    af86:	3200      	movi      	r2, 0
    af88:	a340      	st.b      	r2, (r3, 0x0)
    af8a:	b866      	st.w      	r3, (r14, 0x18)
    af8c:	3103      	movi      	r1, 3
    af8e:	1241      	lrw      	r2, 0x20000968	// b090 <TK_Baseline_prog2+0x110>
    af90:	1261      	lrw      	r3, 0x20000070	// b094 <TK_Baseline_prog2+0x114>
    af92:	9240      	ld.w      	r2, (r2, 0x0)
    af94:	b844      	st.w      	r2, (r14, 0x10)
    af96:	b861      	st.w      	r3, (r14, 0x4)
    af98:	1240      	lrw      	r2, 0x20000938	// b098 <TK_Baseline_prog2+0x118>
    af9a:	9240      	ld.w      	r2, (r2, 0x0)
    af9c:	b843      	st.w      	r2, (r14, 0xc)
    af9e:	1240      	lrw      	r2, 0x20000bc8	// b09c <TK_Baseline_prog2+0x11c>
    afa0:	9240      	ld.w      	r2, (r2, 0x0)
    afa2:	b842      	st.w      	r2, (r14, 0x8)
    afa4:	115f      	lrw      	r2, 0x20000058	// b0a0 <TK_Baseline_prog2+0x120>
    afa6:	9240      	ld.w      	r2, (r2, 0x0)
    afa8:	b845      	st.w      	r2, (r14, 0x14)
    afaa:	115f      	lrw      	r2, 0x20000054	// b0a4 <TK_Baseline_prog2+0x124>
    afac:	9240      	ld.w      	r2, (r2, 0x0)
    afae:	b840      	st.w      	r2, (r14, 0x0)
    afb0:	115e      	lrw      	r2, 0x20000b11	// b0a8 <TK_Baseline_prog2+0x128>
    afb2:	6c0b      	mov      	r0, r2
    afb4:	8260      	ld.b      	r3, (r2, 0x0)
    afb6:	74cc      	zextb      	r3, r3
    afb8:	3b41      	cmpnei      	r3, 1
    afba:	0c60      	bf      	0xb07a	// b07a <TK_Baseline_prog2+0xfa>
    afbc:	3b40      	cmpnei      	r3, 0
    afbe:	0c56      	bf      	0xb06a	// b06a <TK_Baseline_prog2+0xea>
    afc0:	3b42      	cmpnei      	r3, 2
    afc2:	0c5f      	bf      	0xb080	// b080 <TK_Baseline_prog2+0x100>
    afc4:	3301      	movi      	r3, 1
    afc6:	9885      	ld.w      	r4, (r14, 0x14)
    afc8:	b462      	st.w      	r3, (r4, 0x8)
    afca:	9861      	ld.w      	r3, (r14, 0x4)
    afcc:	3400      	movi      	r4, 0
    afce:	a380      	st.b      	r4, (r3, 0x0)
    afd0:	9861      	ld.w      	r3, (r14, 0x4)
    afd2:	8360      	ld.b      	r3, (r3, 0x0)
    afd4:	3b40      	cmpnei      	r3, 0
    afd6:	0ffd      	bf      	0xafd0	// afd0 <TK_Baseline_prog2+0x50>
    afd8:	6c03      	mov      	r0, r0
    afda:	1195      	lrw      	r4, 0x20000854	// b0ac <TK_Baseline_prog2+0x12c>
    afdc:	3300      	movi      	r3, 0
    afde:	b887      	st.w      	r4, (r14, 0x1c)
    afe0:	1194      	lrw      	r4, 0x20000ba6	// b0b0 <TK_Baseline_prog2+0x130>
    afe2:	b888      	st.w      	r4, (r14, 0x20)
    afe4:	1194      	lrw      	r4, 0x200009fe	// b0b4 <TK_Baseline_prog2+0x134>
    afe6:	b889      	st.w      	r4, (r14, 0x24)
    afe8:	8080      	ld.b      	r4, (r0, 0x0)
    afea:	3c41      	cmpnei      	r4, 1
    afec:	080f      	bt      	0xb00a	// b00a <TK_Baseline_prog2+0x8a>
    afee:	9880      	ld.w      	r4, (r14, 0x0)
    aff0:	43a2      	lsli      	r5, r3, 2
    aff2:	6150      	addu      	r5, r4
    aff4:	95c0      	ld.w      	r6, (r5, 0x0)
    aff6:	4381      	lsli      	r4, r3, 1
    aff8:	98e7      	ld.w      	r7, (r14, 0x1c)
    affa:	7599      	zexth      	r6, r6
    affc:	61d0      	addu      	r7, r4
    affe:	afc0      	st.h      	r6, (r7, 0x0)
    b000:	95a0      	ld.w      	r5, (r5, 0x0)
    b002:	98c8      	ld.w      	r6, (r14, 0x20)
    b004:	7555      	zexth      	r5, r5
    b006:	6118      	addu      	r4, r6
    b008:	aca0      	st.h      	r5, (r4, 0x0)
    b00a:	8080      	ld.b      	r4, (r0, 0x0)
    b00c:	3c42      	cmpnei      	r4, 2
    b00e:	080f      	bt      	0xb02c	// b02c <TK_Baseline_prog2+0xac>
    b010:	9880      	ld.w      	r4, (r14, 0x0)
    b012:	43a2      	lsli      	r5, r3, 2
    b014:	6150      	addu      	r5, r4
    b016:	95c0      	ld.w      	r6, (r5, 0x0)
    b018:	4381      	lsli      	r4, r3, 1
    b01a:	98e9      	ld.w      	r7, (r14, 0x24)
    b01c:	7599      	zexth      	r6, r6
    b01e:	61d0      	addu      	r7, r4
    b020:	afc0      	st.h      	r6, (r7, 0x0)
    b022:	95a0      	ld.w      	r5, (r5, 0x0)
    b024:	7555      	zexth      	r5, r5
    b026:	11c5      	lrw      	r6, 0x2000093c	// b0b8 <TK_Baseline_prog2+0x138>
    b028:	6118      	addu      	r4, r6
    b02a:	aca0      	st.h      	r5, (r4, 0x0)
    b02c:	8080      	ld.b      	r4, (r0, 0x0)
    b02e:	3c40      	cmpnei      	r4, 0
    b030:	080f      	bt      	0xb04e	// b04e <TK_Baseline_prog2+0xce>
    b032:	9880      	ld.w      	r4, (r14, 0x0)
    b034:	43a2      	lsli      	r5, r3, 2
    b036:	6150      	addu      	r5, r4
    b038:	95c0      	ld.w      	r6, (r5, 0x0)
    b03a:	4381      	lsli      	r4, r3, 1
    b03c:	11e0      	lrw      	r7, 0x20000b14	// b0bc <TK_Baseline_prog2+0x13c>
    b03e:	7599      	zexth      	r6, r6
    b040:	61d0      	addu      	r7, r4
    b042:	afc0      	st.h      	r6, (r7, 0x0)
    b044:	95a0      	ld.w      	r5, (r5, 0x0)
    b046:	7555      	zexth      	r5, r5
    b048:	10de      	lrw      	r6, 0x20000a32	// b0c0 <TK_Baseline_prog2+0x140>
    b04a:	6118      	addu      	r4, r6
    b04c:	aca0      	st.h      	r5, (r4, 0x0)
    b04e:	2300      	addi      	r3, 1
    b050:	3b51      	cmpnei      	r3, 17
    b052:	0bcb      	bt      	0xafe8	// afe8 <TK_Baseline_prog2+0x68>
    b054:	2900      	subi      	r1, 1
    b056:	7444      	zextb      	r1, r1
    b058:	3940      	cmpnei      	r1, 0
    b05a:	0bad      	bt      	0xafb4	// afb4 <TK_Baseline_prog2+0x34>
    b05c:	9866      	ld.w      	r3, (r14, 0x18)
    b05e:	3201      	movi      	r2, 1
    b060:	a340      	st.b      	r2, (r3, 0x0)
    b062:	3300      	movi      	r3, 0
    b064:	a060      	st.b      	r3, (r0, 0x0)
    b066:	140a      	addi      	r14, r14, 40
    b068:	1484      	pop      	r4-r7
    b06a:	1077      	lrw      	r3, 0x40011200	// b0c4 <TK_Baseline_prog2+0x144>
    b06c:	9882      	ld.w      	r4, (r14, 0x8)
    b06e:	b390      	st.w      	r4, (r3, 0x40)
    b070:	8260      	ld.b      	r3, (r2, 0x0)
    b072:	2300      	addi      	r3, 1
    b074:	74cc      	zextb      	r3, r3
    b076:	a260      	st.b      	r3, (r2, 0x0)
    b078:	07a6      	br      	0xafc4	// afc4 <TK_Baseline_prog2+0x44>
    b07a:	1073      	lrw      	r3, 0x40011200	// b0c4 <TK_Baseline_prog2+0x144>
    b07c:	9883      	ld.w      	r4, (r14, 0xc)
    b07e:	07f8      	br      	0xb06e	// b06e <TK_Baseline_prog2+0xee>
    b080:	1071      	lrw      	r3, 0x40011200	// b0c4 <TK_Baseline_prog2+0x144>
    b082:	9884      	ld.w      	r4, (r14, 0x10)
    b084:	b390      	st.w      	r4, (r3, 0x40)
    b086:	3300      	movi      	r3, 0
    b088:	07f7      	br      	0xb076	// b076 <TK_Baseline_prog2+0xf6>
    b08a:	0000      	bkpt
    b08c:	20000900 	.long	0x20000900
    b090:	20000968 	.long	0x20000968
    b094:	20000070 	.long	0x20000070
    b098:	20000938 	.long	0x20000938
    b09c:	20000bc8 	.long	0x20000bc8
    b0a0:	20000058 	.long	0x20000058
    b0a4:	20000054 	.long	0x20000054
    b0a8:	20000b11 	.long	0x20000b11
    b0ac:	20000854 	.long	0x20000854
    b0b0:	20000ba6 	.long	0x20000ba6
    b0b4:	200009fe 	.long	0x200009fe
    b0b8:	2000093c 	.long	0x2000093c
    b0bc:	20000b14 	.long	0x20000b14
    b0c0:	20000a32 	.long	0x20000a32
    b0c4:	40011200 	.long	0x40011200

Disassembly of section .text.tk_poweron_data_fineturn:

0000b0c8 <tk_poweron_data_fineturn>:
    b0c8:	14d4      	push      	r4-r7, r15
    b0ca:	1433      	subi      	r14, r14, 76
    b0cc:	117e      	lrw      	r3, 0x20000070	// b1c4 <tk_poweron_data_fineturn+0xfc>
    b0ce:	8366      	ld.b      	r3, (r3, 0x6)
    b0d0:	3b41      	cmpnei      	r3, 1
    b0d2:	0877      	bt      	0xb1c0	// b1c0 <tk_poweron_data_fineturn+0xf8>
    b0d4:	117d      	lrw      	r3, 0x20000ba6	// b1c8 <tk_poweron_data_fineturn+0x100>
    b0d6:	b860      	st.w      	r3, (r14, 0x0)
    b0d8:	3300      	movi      	r3, 0
    b0da:	301e      	movi      	r0, 30
    b0dc:	4321      	lsli      	r1, r3, 1
    b0de:	1a02      	addi      	r2, r14, 8
    b0e0:	6048      	addu      	r1, r2
    b0e2:	115b      	lrw      	r2, 0x2000026e	// b1cc <tk_poweron_data_fineturn+0x104>
    b0e4:	608c      	addu      	r2, r3
    b0e6:	8a40      	ld.h      	r2, (r2, 0x0)
    b0e8:	4245      	lsli      	r2, r2, 5
    b0ea:	6080      	addu      	r2, r0
    b0ec:	b140      	st.w      	r2, (r1, 0x0)
    b0ee:	2301      	addi      	r3, 2
    b0f0:	3222      	movi      	r2, 34
    b0f2:	648e      	cmpne      	r3, r2
    b0f4:	0bf4      	bt      	0xb0dc	// b0dc <tk_poweron_data_fineturn+0x14>
    b0f6:	1197      	lrw      	r4, 0x20000242	// b1d0 <tk_poweron_data_fineturn+0x108>
    b0f8:	3200      	movi      	r2, 0
    b0fa:	3000      	movi      	r0, 0
    b0fc:	b881      	st.w      	r4, (r14, 0x4)
    b0fe:	11d6      	lrw      	r6, 0x2000093c	// b1d4 <tk_poweron_data_fineturn+0x10c>
    b100:	4261      	lsli      	r3, r2, 1
    b102:	98a0      	ld.w      	r5, (r14, 0x0)
    b104:	614c      	addu      	r5, r3
    b106:	8d20      	ld.h      	r1, (r5, 0x0)
    b108:	7445      	zexth      	r1, r1
    b10a:	3940      	cmpnei      	r1, 0
    b10c:	0c36      	bf      	0xb178	// b178 <tk_poweron_data_fineturn+0xb0>
    b10e:	5e2c      	addu      	r1, r6, r3
    b110:	8920      	ld.h      	r1, (r1, 0x0)
    b112:	7445      	zexth      	r1, r1
    b114:	3940      	cmpnei      	r1, 0
    b116:	0c31      	bf      	0xb178	// b178 <tk_poweron_data_fineturn+0xb0>
    b118:	1130      	lrw      	r1, 0x20000a32	// b1d8 <tk_poweron_data_fineturn+0x110>
    b11a:	60c4      	addu      	r3, r1
    b11c:	8b60      	ld.h      	r3, (r3, 0x0)
    b11e:	74cd      	zexth      	r3, r3
    b120:	3b40      	cmpnei      	r3, 0
    b122:	0c2b      	bf      	0xb178	// b178 <tk_poweron_data_fineturn+0xb0>
    b124:	8d60      	ld.h      	r3, (r5, 0x0)
    b126:	1f02      	addi      	r7, r14, 8
    b128:	42a2      	lsli      	r5, r2, 2
    b12a:	615c      	addu      	r5, r7
    b12c:	74cd      	zexth      	r3, r3
    b12e:	95a0      	ld.w      	r5, (r5, 0x0)
    b130:	60d6      	subu      	r3, r5
    b132:	3bdf      	btsti      	r3, 31
    b134:	0c03      	bf      	0xb13a	// b13a <tk_poweron_data_fineturn+0x72>
    b136:	3700      	movi      	r7, 0
    b138:	5f6d      	subu      	r3, r7, r3
    b13a:	3b24      	cmplti      	r3, 5
    b13c:	0817      	bt      	0xb16a	// b16a <tk_poweron_data_fineturn+0xa2>
    b13e:	4261      	lsli      	r3, r2, 1
    b140:	60d8      	addu      	r3, r6
    b142:	8b60      	ld.h      	r3, (r3, 0x0)
    b144:	74cd      	zexth      	r3, r3
    b146:	60d6      	subu      	r3, r5
    b148:	3bdf      	btsti      	r3, 31
    b14a:	0c03      	bf      	0xb150	// b150 <tk_poweron_data_fineturn+0x88>
    b14c:	3700      	movi      	r7, 0
    b14e:	5f6d      	subu      	r3, r7, r3
    b150:	3b24      	cmplti      	r3, 5
    b152:	080c      	bt      	0xb16a	// b16a <tk_poweron_data_fineturn+0xa2>
    b154:	4261      	lsli      	r3, r2, 1
    b156:	604c      	addu      	r1, r3
    b158:	8960      	ld.h      	r3, (r1, 0x0)
    b15a:	74cd      	zexth      	r3, r3
    b15c:	60d6      	subu      	r3, r5
    b15e:	3bdf      	btsti      	r3, 31
    b160:	0c03      	bf      	0xb166	// b166 <tk_poweron_data_fineturn+0x9e>
    b162:	3100      	movi      	r1, 0
    b164:	596d      	subu      	r3, r1, r3
    b166:	3b24      	cmplti      	r3, 5
    b168:	0c08      	bf      	0xb178	// b178 <tk_poweron_data_fineturn+0xb0>
    b16a:	8c60      	ld.h      	r3, (r4, 0x0)
    b16c:	3b06      	cmphsi      	r3, 7
    b16e:	0805      	bt      	0xb178	// b178 <tk_poweron_data_fineturn+0xb0>
    b170:	2300      	addi      	r3, 1
    b172:	2000      	addi      	r0, 1
    b174:	ac60      	st.h      	r3, (r4, 0x0)
    b176:	7400      	zextb      	r0, r0
    b178:	2200      	addi      	r2, 1
    b17a:	3a51      	cmpnei      	r2, 17
    b17c:	2401      	addi      	r4, 2
    b17e:	0bc1      	bt      	0xb100	// b100 <tk_poweron_data_fineturn+0x38>
    b180:	3840      	cmpnei      	r0, 0
    b182:	0c1f      	bf      	0xb1c0	// b1c0 <tk_poweron_data_fineturn+0xf8>
    b184:	1076      	lrw      	r3, 0x20000058	// b1dc <tk_poweron_data_fineturn+0x114>
    b186:	3200      	movi      	r2, 0
    b188:	9360      	ld.w      	r3, (r3, 0x0)
    b18a:	b342      	st.w      	r2, (r3, 0x8)
    b18c:	10b5      	lrw      	r5, 0x20000b00	// b1e0 <tk_poweron_data_fineturn+0x118>
    b18e:	1076      	lrw      	r3, 0x20000054	// b1e4 <tk_poweron_data_fineturn+0x11c>
    b190:	1016      	lrw      	r0, 0x20000ab0	// b1e8 <tk_poweron_data_fineturn+0x120>
    b192:	9380      	ld.w      	r4, (r3, 0x0)
    b194:	3300      	movi      	r3, 0
    b196:	8040      	ld.b      	r2, (r0, 0x0)
    b198:	648c      	cmphs      	r3, r2
    b19a:	0c04      	bf      	0xb1a2	// b1a2 <tk_poweron_data_fineturn+0xda>
    b19c:	e3fffef2 	bsr      	0xaf80	// af80 <TK_Baseline_prog2>
    b1a0:	079c      	br      	0xb0d8	// b0d8 <tk_poweron_data_fineturn+0x10>
    b1a2:	5d4c      	addu      	r2, r5, r3
    b1a4:	8240      	ld.b      	r2, (r2, 0x0)
    b1a6:	4241      	lsli      	r2, r2, 1
    b1a8:	98e1      	ld.w      	r7, (r14, 0x4)
    b1aa:	4322      	lsli      	r1, r3, 2
    b1ac:	609c      	addu      	r2, r7
    b1ae:	6050      	addu      	r1, r4
    b1b0:	8a40      	ld.h      	r2, (r2, 0x0)
    b1b2:	91d2      	ld.w      	r6, (r1, 0x48)
    b1b4:	4254      	lsli      	r2, r2, 20
    b1b6:	6c98      	or      	r2, r6
    b1b8:	2300      	addi      	r3, 1
    b1ba:	b152      	st.w      	r2, (r1, 0x48)
    b1bc:	74cc      	zextb      	r3, r3
    b1be:	07ec      	br      	0xb196	// b196 <tk_poweron_data_fineturn+0xce>
    b1c0:	1413      	addi      	r14, r14, 76
    b1c2:	1494      	pop      	r4-r7, r15
    b1c4:	20000070 	.long	0x20000070
    b1c8:	20000ba6 	.long	0x20000ba6
    b1cc:	2000026e 	.long	0x2000026e
    b1d0:	20000242 	.long	0x20000242
    b1d4:	2000093c 	.long	0x2000093c
    b1d8:	20000a32 	.long	0x20000a32
    b1dc:	20000058 	.long	0x20000058
    b1e0:	20000b00 	.long	0x20000b00
    b1e4:	20000054 	.long	0x20000054
    b1e8:	20000ab0 	.long	0x20000ab0

Disassembly of section .text.TK_Scan_Start:

0000b1ec <TK_Scan_Start>:
    b1ec:	1073      	lrw      	r3, 0x20000070	// b238 <TK_Scan_Start+0x4c>
    b1ee:	1054      	lrw      	r2, 0x20000b11	// b23c <TK_Scan_Start+0x50>
    b1f0:	8302      	ld.b      	r0, (r3, 0x2)
    b1f2:	8220      	ld.b      	r1, (r2, 0x0)
    b1f4:	6442      	cmpne      	r0, r1
    b1f6:	0c16      	bf      	0xb222	// b222 <TK_Scan_Start+0x36>
    b1f8:	8220      	ld.b      	r1, (r2, 0x0)
    b1fa:	7444      	zextb      	r1, r1
    b1fc:	3941      	cmpnei      	r1, 1
    b1fe:	0c18      	bf      	0xb22e	// b22e <TK_Scan_Start+0x42>
    b200:	3940      	cmpnei      	r1, 0
    b202:	0c11      	bf      	0xb224	// b224 <TK_Scan_Start+0x38>
    b204:	3942      	cmpnei      	r1, 2
    b206:	0c16      	bf      	0xb232	// b232 <TK_Scan_Start+0x46>
    b208:	8240      	ld.b      	r2, (r2, 0x0)
    b20a:	7488      	zextb      	r2, r2
    b20c:	a342      	st.b      	r2, (r3, 0x2)
    b20e:	8341      	ld.b      	r2, (r3, 0x1)
    b210:	7488      	zextb      	r2, r2
    b212:	3a41      	cmpnei      	r2, 1
    b214:	0807      	bt      	0xb222	// b222 <TK_Scan_Start+0x36>
    b216:	102b      	lrw      	r1, 0x20000058	// b240 <TK_Scan_Start+0x54>
    b218:	9120      	ld.w      	r1, (r1, 0x0)
    b21a:	b142      	st.w      	r2, (r1, 0x8)
    b21c:	3200      	movi      	r2, 0
    b21e:	a340      	st.b      	r2, (r3, 0x0)
    b220:	a341      	st.b      	r2, (r3, 0x1)
    b222:	783c      	jmp      	r15
    b224:	1028      	lrw      	r1, 0x20000bc8	// b244 <TK_Scan_Start+0x58>
    b226:	9100      	ld.w      	r0, (r1, 0x0)
    b228:	1028      	lrw      	r1, 0x40011200	// b248 <TK_Scan_Start+0x5c>
    b22a:	b110      	st.w      	r0, (r1, 0x40)
    b22c:	07ee      	br      	0xb208	// b208 <TK_Scan_Start+0x1c>
    b22e:	1028      	lrw      	r1, 0x20000938	// b24c <TK_Scan_Start+0x60>
    b230:	07fb      	br      	0xb226	// b226 <TK_Scan_Start+0x3a>
    b232:	1028      	lrw      	r1, 0x20000968	// b250 <TK_Scan_Start+0x64>
    b234:	07f9      	br      	0xb226	// b226 <TK_Scan_Start+0x3a>
    b236:	0000      	bkpt
    b238:	20000070 	.long	0x20000070
    b23c:	20000b11 	.long	0x20000b11
    b240:	20000058 	.long	0x20000058
    b244:	20000bc8 	.long	0x20000bc8
    b248:	40011200 	.long	0x40011200
    b24c:	20000938 	.long	0x20000938
    b250:	20000968 	.long	0x20000968

Disassembly of section .text.TK_Keymap_prog:

0000b254 <TK_Keymap_prog>:
    b254:	14d4      	push      	r4-r7, r15
    b256:	142a      	subi      	r14, r14, 40
    b258:	0171      	lrw      	r3, 0x20000264	// b590 <TK_Keymap_prog+0x33c>
    b25a:	8360      	ld.b      	r3, (r3, 0x0)
    b25c:	b860      	st.w      	r3, (r14, 0x0)
    b25e:	3400      	movi      	r4, 0
    b260:	0172      	lrw      	r3, 0x20000238	// b594 <TK_Keymap_prog+0x340>
    b262:	8360      	ld.b      	r3, (r3, 0x0)
    b264:	b863      	st.w      	r3, (r14, 0xc)
    b266:	0172      	lrw      	r3, 0x20000241	// b598 <TK_Keymap_prog+0x344>
    b268:	83a0      	ld.b      	r5, (r3, 0x0)
    b26a:	0172      	lrw      	r3, 0x20000240	// b59c <TK_Keymap_prog+0x348>
    b26c:	8360      	ld.b      	r3, (r3, 0x0)
    b26e:	b866      	st.w      	r3, (r14, 0x18)
    b270:	0173      	lrw      	r3, 0x20000ba6	// b5a0 <TK_Keymap_prog+0x34c>
    b272:	b868      	st.w      	r3, (r14, 0x20)
    b274:	0173      	lrw      	r3, 0x20000914	// b5a4 <TK_Keymap_prog+0x350>
    b276:	b864      	st.w      	r3, (r14, 0x10)
    b278:	b869      	st.w      	r3, (r14, 0x24)
    b27a:	4461      	lsli      	r3, r4, 1
    b27c:	9848      	ld.w      	r2, (r14, 0x20)
    b27e:	608c      	addu      	r2, r3
    b280:	0135      	lrw      	r1, 0x20000854	// b5a8 <TK_Keymap_prog+0x354>
    b282:	604c      	addu      	r1, r3
    b284:	8a40      	ld.h      	r2, (r2, 0x0)
    b286:	8920      	ld.h      	r1, (r1, 0x0)
    b288:	6086      	subu      	r2, r1
    b28a:	9829      	ld.w      	r1, (r14, 0x24)
    b28c:	604c      	addu      	r1, r3
    b28e:	748b      	sexth      	r2, r2
    b290:	a940      	st.h      	r2, (r1, 0x0)
    b292:	0118      	lrw      	r0, 0x200009fe	// b5ac <TK_Keymap_prog+0x358>
    b294:	0158      	lrw      	r2, 0x2000093c	// b5b0 <TK_Keymap_prog+0x35c>
    b296:	608c      	addu      	r2, r3
    b298:	600c      	addu      	r0, r3
    b29a:	8a40      	ld.h      	r2, (r2, 0x0)
    b29c:	8800      	ld.h      	r0, (r0, 0x0)
    b29e:	6082      	subu      	r2, r0
    b2a0:	01da      	lrw      	r6, 0x20000a54	// b5b4 <TK_Keymap_prog+0x360>
    b2a2:	5e0c      	addu      	r0, r6, r3
    b2a4:	748b      	sexth      	r2, r2
    b2a6:	a840      	st.h      	r2, (r0, 0x0)
    b2a8:	b8c1      	st.w      	r6, (r14, 0x4)
    b2aa:	015b      	lrw      	r2, 0x20000a32	// b5b8 <TK_Keymap_prog+0x364>
    b2ac:	011b      	lrw      	r0, 0x20000b14	// b5bc <TK_Keymap_prog+0x368>
    b2ae:	608c      	addu      	r2, r3
    b2b0:	600c      	addu      	r0, r3
    b2b2:	8a40      	ld.h      	r2, (r2, 0x0)
    b2b4:	8800      	ld.h      	r0, (r0, 0x0)
    b2b6:	6082      	subu      	r2, r0
    b2b8:	011d      	lrw      	r0, 0x20000b80	// b5c0 <TK_Keymap_prog+0x36c>
    b2ba:	748b      	sexth      	r2, r2
    b2bc:	58ec      	addu      	r7, r0, r3
    b2be:	af40      	st.h      	r2, (r7, 0x0)
    b2c0:	8940      	ld.h      	r2, (r1, 0x0)
    b2c2:	748b      	sexth      	r2, r2
    b2c4:	3adf      	btsti      	r2, 31
    b2c6:	015f      	lrw      	r2, 0x20000b5e	// b5c4 <TK_Keymap_prog+0x370>
    b2c8:	60c8      	addu      	r3, r2
    b2ca:	b802      	st.w      	r0, (r14, 0x8)
    b2cc:	0c49      	bf      	0xb35e	// b35e <TK_Keymap_prog+0x10a>
    b2ce:	3200      	movi      	r2, 0
    b2d0:	ab40      	st.h      	r2, (r3, 0x0)
    b2d2:	9821      	ld.w      	r1, (r14, 0x4)
    b2d4:	4461      	lsli      	r3, r4, 1
    b2d6:	604c      	addu      	r1, r3
    b2d8:	8940      	ld.h      	r2, (r1, 0x0)
    b2da:	748b      	sexth      	r2, r2
    b2dc:	3adf      	btsti      	r2, 31
    b2de:	0244      	lrw      	r2, 0x200008bc	// b5c8 <TK_Keymap_prog+0x374>
    b2e0:	60c8      	addu      	r3, r2
    b2e2:	0c41      	bf      	0xb364	// b364 <TK_Keymap_prog+0x110>
    b2e4:	3200      	movi      	r2, 0
    b2e6:	ab40      	st.h      	r2, (r3, 0x0)
    b2e8:	9822      	ld.w      	r1, (r14, 0x8)
    b2ea:	4461      	lsli      	r3, r4, 1
    b2ec:	604c      	addu      	r1, r3
    b2ee:	8940      	ld.h      	r2, (r1, 0x0)
    b2f0:	748b      	sexth      	r2, r2
    b2f2:	3adf      	btsti      	r2, 31
    b2f4:	0249      	lrw      	r2, 0x20000890	// b5cc <TK_Keymap_prog+0x378>
    b2f6:	60c8      	addu      	r3, r2
    b2f8:	0c39      	bf      	0xb36a	// b36a <TK_Keymap_prog+0x116>
    b2fa:	3200      	movi      	r2, 0
    b2fc:	ab40      	st.h      	r2, (r3, 0x0)
    b2fe:	9860      	ld.w      	r3, (r14, 0x0)
    b300:	3b03      	cmphsi      	r3, 4
    b302:	4421      	lsli      	r1, r4, 1
    b304:	0cb5      	bf      	0xb46e	// b46e <TK_Keymap_prog+0x21a>
    b306:	9864      	ld.w      	r3, (r14, 0x10)
    b308:	60c4      	addu      	r3, r1
    b30a:	024d      	lrw      	r2, 0x20000292	// b5d0 <TK_Keymap_prog+0x37c>
    b30c:	6048      	addu      	r1, r2
    b30e:	8b00      	ld.h      	r0, (r3, 0x0)
    b310:	8940      	ld.h      	r2, (r1, 0x0)
    b312:	7403      	sexth      	r0, r0
    b314:	6409      	cmplt      	r2, r0
    b316:	9820      	ld.w      	r1, (r14, 0x0)
    b318:	7c84      	mult      	r2, r1
    b31a:	0c9b      	bf      	0xb450	// b450 <TK_Keymap_prog+0x1fc>
    b31c:	8b20      	ld.h      	r1, (r3, 0x0)
    b31e:	7447      	sexth      	r1, r1
    b320:	6485      	cmplt      	r1, r2
    b322:	0c97      	bf      	0xb450	// b450 <TK_Keymap_prog+0x1fc>
    b324:	0233      	lrw      	r1, 0x20000901	// b5d4 <TK_Keymap_prog+0x380>
    b326:	6050      	addu      	r1, r4
    b328:	8140      	ld.b      	r2, (r1, 0x0)
    b32a:	2200      	addi      	r2, 1
    b32c:	7488      	zextb      	r2, r2
    b32e:	a140      	st.b      	r2, (r1, 0x0)
    b330:	3000      	movi      	r0, 0
    b332:	0255      	lrw      	r2, 0x200008e0	// b5d8 <TK_Keymap_prog+0x384>
    b334:	6090      	addu      	r2, r4
    b336:	a200      	st.b      	r0, (r2, 0x0)
    b338:	0256      	lrw      	r2, 0x20000a20	// b5dc <TK_Keymap_prog+0x388>
    b33a:	6090      	addu      	r2, r4
    b33c:	a200      	st.b      	r0, (r2, 0x0)
    b33e:	0256      	lrw      	r2, 0x20000ab8	// b5e0 <TK_Keymap_prog+0x38c>
    b340:	6090      	addu      	r2, r4
    b342:	a200      	st.b      	r0, (r2, 0x0)
    b344:	8140      	ld.b      	r2, (r1, 0x0)
    b346:	9803      	ld.w      	r0, (r14, 0xc)
    b348:	6480      	cmphs      	r0, r2
    b34a:	081d      	bt      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b34c:	3d40      	cmpnei      	r5, 0
    b34e:	0811      	bt      	0xb370	// b370 <TK_Keymap_prog+0x11c>
    b350:	025a      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b352:	9260      	ld.w      	r3, (r2, 0x0)
    b354:	3b40      	cmpnei      	r3, 0
    b356:	0815      	bt      	0xb380	// b380 <TK_Keymap_prog+0x12c>
    b358:	9200      	ld.w      	r0, (r2, 0x0)
    b35a:	3301      	movi      	r3, 1
    b35c:	040f      	br      	0xb37a	// b37a <TK_Keymap_prog+0x126>
    b35e:	8940      	ld.h      	r2, (r1, 0x0)
    b360:	7489      	zexth      	r2, r2
    b362:	07b7      	br      	0xb2d0	// b2d0 <TK_Keymap_prog+0x7c>
    b364:	8940      	ld.h      	r2, (r1, 0x0)
    b366:	7489      	zexth      	r2, r2
    b368:	07bf      	br      	0xb2e6	// b2e6 <TK_Keymap_prog+0x92>
    b36a:	8940      	ld.h      	r2, (r1, 0x0)
    b36c:	7489      	zexth      	r2, r2
    b36e:	07c7      	br      	0xb2fc	// b2fc <TK_Keymap_prog+0xa8>
    b370:	3d41      	cmpnei      	r5, 1
    b372:	085c      	bt      	0xb42a	// b42a <TK_Keymap_prog+0x1d6>
    b374:	0343      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b376:	6cd7      	mov      	r3, r5
    b378:	9200      	ld.w      	r0, (r2, 0x0)
    b37a:	70d0      	lsl      	r3, r4
    b37c:	6cc0      	or      	r3, r0
    b37e:	b260      	st.w      	r3, (r2, 0x0)
    b380:	3300      	movi      	r3, 0
    b382:	a160      	st.b      	r3, (r1, 0x0)
    b384:	4461      	lsli      	r3, r4, 1
    b386:	9844      	ld.w      	r2, (r14, 0x10)
    b388:	608c      	addu      	r2, r3
    b38a:	8ac0      	ld.h      	r6, (r2, 0x0)
    b38c:	034e      	lrw      	r2, 0x20000292	// b5d0 <TK_Keymap_prog+0x37c>
    b38e:	60c8      	addu      	r3, r2
    b390:	8be0      	ld.h      	r7, (r3, 0x0)
    b392:	4702      	lsli      	r0, r7, 2
    b394:	3105      	movi      	r1, 5
    b396:	e3ffd6bf 	bsr      	0x6114	// 6114 <__divsi3>
    b39a:	759b      	sexth      	r6, r6
    b39c:	6419      	cmplt      	r6, r0
    b39e:	b805      	st.w      	r0, (r14, 0x14)
    b3a0:	0c18      	bf      	0xb3d0	// b3d0 <TK_Keymap_prog+0x17c>
    b3a2:	0351      	lrw      	r2, 0x200008e0	// b5d8 <TK_Keymap_prog+0x384>
    b3a4:	6090      	addu      	r2, r4
    b3a6:	8260      	ld.b      	r3, (r2, 0x0)
    b3a8:	2300      	addi      	r3, 1
    b3aa:	74cc      	zextb      	r3, r3
    b3ac:	a260      	st.b      	r3, (r2, 0x0)
    b3ae:	3100      	movi      	r1, 0
    b3b0:	0376      	lrw      	r3, 0x20000901	// b5d4 <TK_Keymap_prog+0x380>
    b3b2:	60d0      	addu      	r3, r4
    b3b4:	a320      	st.b      	r1, (r3, 0x0)
    b3b6:	8260      	ld.b      	r3, (r2, 0x0)
    b3b8:	9826      	ld.w      	r1, (r14, 0x18)
    b3ba:	64c4      	cmphs      	r1, r3
    b3bc:	080a      	bt      	0xb3d0	// b3d0 <TK_Keymap_prog+0x17c>
    b3be:	3300      	movi      	r3, 0
    b3c0:	0336      	lrw      	r1, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b3c2:	2b01      	subi      	r3, 2
    b3c4:	9100      	ld.w      	r0, (r1, 0x0)
    b3c6:	70d3      	rotl      	r3, r4
    b3c8:	68c0      	and      	r3, r0
    b3ca:	b160      	st.w      	r3, (r1, 0x0)
    b3cc:	3300      	movi      	r3, 0
    b3ce:	a260      	st.b      	r3, (r2, 0x0)
    b3d0:	9860      	ld.w      	r3, (r14, 0x0)
    b3d2:	9841      	ld.w      	r2, (r14, 0x4)
    b3d4:	3b03      	cmphsi      	r3, 4
    b3d6:	4461      	lsli      	r3, r4, 1
    b3d8:	60c8      	addu      	r3, r2
    b3da:	8b40      	ld.h      	r2, (r3, 0x0)
    b3dc:	748b      	sexth      	r2, r2
    b3de:	0d4d      	bf      	0xb678	// b678 <TK_Keymap_prog+0x424>
    b3e0:	649d      	cmplt      	r7, r2
    b3e2:	0d3a      	bf      	0xb656	// b656 <TK_Keymap_prog+0x402>
    b3e4:	8b40      	ld.h      	r2, (r3, 0x0)
    b3e6:	9820      	ld.w      	r1, (r14, 0x0)
    b3e8:	748b      	sexth      	r2, r2
    b3ea:	7c5c      	mult      	r1, r7
    b3ec:	6449      	cmplt      	r2, r1
    b3ee:	0d34      	bf      	0xb656	// b656 <TK_Keymap_prog+0x402>
    b3f0:	133e      	lrw      	r1, 0x20000ad4	// b5e8 <TK_Keymap_prog+0x394>
    b3f2:	6050      	addu      	r1, r4
    b3f4:	8140      	ld.b      	r2, (r1, 0x0)
    b3f6:	2200      	addi      	r2, 1
    b3f8:	7488      	zextb      	r2, r2
    b3fa:	a140      	st.b      	r2, (r1, 0x0)
    b3fc:	3000      	movi      	r0, 0
    b3fe:	135c      	lrw      	r2, 0x20000970	// b5ec <TK_Keymap_prog+0x398>
    b400:	6090      	addu      	r2, r4
    b402:	a200      	st.b      	r0, (r2, 0x0)
    b404:	135b      	lrw      	r2, 0x2000099a	// b5f0 <TK_Keymap_prog+0x39c>
    b406:	6090      	addu      	r2, r4
    b408:	a200      	st.b      	r0, (r2, 0x0)
    b40a:	135b      	lrw      	r2, 0x20000a98	// b5f4 <TK_Keymap_prog+0x3a0>
    b40c:	6090      	addu      	r2, r4
    b40e:	a200      	st.b      	r0, (r2, 0x0)
    b410:	8140      	ld.b      	r2, (r1, 0x0)
    b412:	9803      	ld.w      	r0, (r14, 0xc)
    b414:	6480      	cmphs      	r0, r2
    b416:	087d      	bt      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b418:	3d40      	cmpnei      	r5, 0
    b41a:	0871      	bt      	0xb4fc	// b4fc <TK_Keymap_prog+0x2a8>
    b41c:	1357      	lrw      	r2, 0x20000888	// b5f8 <TK_Keymap_prog+0x3a4>
    b41e:	9260      	ld.w      	r3, (r2, 0x0)
    b420:	3b40      	cmpnei      	r3, 0
    b422:	0875      	bt      	0xb50c	// b50c <TK_Keymap_prog+0x2b8>
    b424:	9200      	ld.w      	r0, (r2, 0x0)
    b426:	3301      	movi      	r3, 1
    b428:	046f      	br      	0xb506	// b506 <TK_Keymap_prog+0x2b2>
    b42a:	3d42      	cmpnei      	r5, 2
    b42c:	0c03      	bf      	0xb432	// b432 <TK_Keymap_prog+0x1de>
    b42e:	e8000201 	br      	0xb830	// b830 <TK_Keymap_prog+0x5dc>
    b432:	13d3      	lrw      	r6, 0x20000aae	// b5fc <TK_Keymap_prog+0x3a8>
    b434:	8b00      	ld.h      	r0, (r3, 0x0)
    b436:	8e40      	ld.h      	r2, (r6, 0x0)
    b438:	7489      	zexth      	r2, r2
    b43a:	7403      	sexth      	r0, r0
    b43c:	2209      	addi      	r2, 10
    b43e:	6409      	cmplt      	r2, r0
    b440:	0fa0      	bf      	0xb380	// b380 <TK_Keymap_prog+0x12c>
    b442:	8b60      	ld.h      	r3, (r3, 0x0)
    b444:	74cd      	zexth      	r3, r3
    b446:	ae60      	st.h      	r3, (r6, 0x0)
    b448:	3300      	movi      	r3, 0
    b44a:	1347      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b44c:	b260      	st.w      	r3, (r2, 0x0)
    b44e:	0785      	br      	0xb358	// b358 <TK_Keymap_prog+0x104>
    b450:	4461      	lsli      	r3, r4, 1
    b452:	9824      	ld.w      	r1, (r14, 0x10)
    b454:	60c4      	addu      	r3, r1
    b456:	8b60      	ld.h      	r3, (r3, 0x0)
    b458:	74cf      	sexth      	r3, r3
    b45a:	64c9      	cmplt      	r2, r3
    b45c:	0f94      	bf      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b45e:	3300      	movi      	r3, 0
    b460:	1341      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b462:	2b01      	subi      	r3, 2
    b464:	9220      	ld.w      	r1, (r2, 0x0)
    b466:	70d3      	rotl      	r3, r4
    b468:	68c4      	and      	r3, r1
    b46a:	b260      	st.w      	r3, (r2, 0x0)
    b46c:	078c      	br      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b46e:	9844      	ld.w      	r2, (r14, 0x10)
    b470:	6084      	addu      	r2, r1
    b472:	1218      	lrw      	r0, 0x20000292	// b5d0 <TK_Keymap_prog+0x37c>
    b474:	8a60      	ld.h      	r3, (r2, 0x0)
    b476:	6040      	addu      	r1, r0
    b478:	74cf      	sexth      	r3, r3
    b47a:	8920      	ld.h      	r1, (r1, 0x0)
    b47c:	64c5      	cmplt      	r1, r3
    b47e:	0f83      	bf      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b480:	1360      	lrw      	r3, 0x20000912	// b600 <TK_Keymap_prog+0x3ac>
    b482:	8360      	ld.b      	r3, (r3, 0x0)
    b484:	74cc      	zextb      	r3, r3
    b486:	3b40      	cmpnei      	r3, 0
    b488:	0b7e      	bt      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b48a:	1213      	lrw      	r0, 0x20000901	// b5d4 <TK_Keymap_prog+0x380>
    b48c:	6010      	addu      	r0, r4
    b48e:	8020      	ld.b      	r1, (r0, 0x0)
    b490:	2100      	addi      	r1, 1
    b492:	7444      	zextb      	r1, r1
    b494:	a020      	st.b      	r1, (r0, 0x0)
    b496:	3600      	movi      	r6, 0
    b498:	1230      	lrw      	r1, 0x200008e0	// b5d8 <TK_Keymap_prog+0x384>
    b49a:	6050      	addu      	r1, r4
    b49c:	a1c0      	st.b      	r6, (r1, 0x0)
    b49e:	1230      	lrw      	r1, 0x20000a20	// b5dc <TK_Keymap_prog+0x388>
    b4a0:	6050      	addu      	r1, r4
    b4a2:	a1c0      	st.b      	r6, (r1, 0x0)
    b4a4:	122f      	lrw      	r1, 0x20000ab8	// b5e0 <TK_Keymap_prog+0x38c>
    b4a6:	6050      	addu      	r1, r4
    b4a8:	a1c0      	st.b      	r6, (r1, 0x0)
    b4aa:	8020      	ld.b      	r1, (r0, 0x0)
    b4ac:	98c3      	ld.w      	r6, (r14, 0xc)
    b4ae:	6458      	cmphs      	r6, r1
    b4b0:	0b6a      	bt      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b4b2:	3d40      	cmpnei      	r5, 0
    b4b4:	0808      	bt      	0xb4c4	// b4c4 <TK_Keymap_prog+0x270>
    b4b6:	124c      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b4b8:	9260      	ld.w      	r3, (r2, 0x0)
    b4ba:	3b40      	cmpnei      	r3, 0
    b4bc:	080c      	bt      	0xb4d4	// b4d4 <TK_Keymap_prog+0x280>
    b4be:	9220      	ld.w      	r1, (r2, 0x0)
    b4c0:	3301      	movi      	r3, 1
    b4c2:	0406      	br      	0xb4ce	// b4ce <TK_Keymap_prog+0x27a>
    b4c4:	3d41      	cmpnei      	r5, 1
    b4c6:	080a      	bt      	0xb4da	// b4da <TK_Keymap_prog+0x286>
    b4c8:	1247      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b4ca:	6cd7      	mov      	r3, r5
    b4cc:	9220      	ld.w      	r1, (r2, 0x0)
    b4ce:	70d0      	lsl      	r3, r4
    b4d0:	6cc4      	or      	r3, r1
    b4d2:	b260      	st.w      	r3, (r2, 0x0)
    b4d4:	3300      	movi      	r3, 0
    b4d6:	a060      	st.b      	r3, (r0, 0x0)
    b4d8:	0756      	br      	0xb384	// b384 <TK_Keymap_prog+0x130>
    b4da:	3d42      	cmpnei      	r5, 2
    b4dc:	0c02      	bf      	0xb4e0	// b4e0 <TK_Keymap_prog+0x28c>
    b4de:	05dc      	br      	0xb896	// b896 <TK_Keymap_prog+0x642>
    b4e0:	12e7      	lrw      	r7, 0x20000aae	// b5fc <TK_Keymap_prog+0x3a8>
    b4e2:	8ac0      	ld.h      	r6, (r2, 0x0)
    b4e4:	8f20      	ld.h      	r1, (r7, 0x0)
    b4e6:	7445      	zexth      	r1, r1
    b4e8:	759b      	sexth      	r6, r6
    b4ea:	2109      	addi      	r1, 10
    b4ec:	6585      	cmplt      	r1, r6
    b4ee:	0ff3      	bf      	0xb4d4	// b4d4 <TK_Keymap_prog+0x280>
    b4f0:	8a40      	ld.h      	r2, (r2, 0x0)
    b4f2:	7489      	zexth      	r2, r2
    b4f4:	af40      	st.h      	r2, (r7, 0x0)
    b4f6:	115c      	lrw      	r2, 0x200008f4	// b5e4 <TK_Keymap_prog+0x390>
    b4f8:	b260      	st.w      	r3, (r2, 0x0)
    b4fa:	07e2      	br      	0xb4be	// b4be <TK_Keymap_prog+0x26a>
    b4fc:	3d41      	cmpnei      	r5, 1
    b4fe:	089b      	bt      	0xb634	// b634 <TK_Keymap_prog+0x3e0>
    b500:	115e      	lrw      	r2, 0x20000888	// b5f8 <TK_Keymap_prog+0x3a4>
    b502:	6cd7      	mov      	r3, r5
    b504:	9200      	ld.w      	r0, (r2, 0x0)
    b506:	70d0      	lsl      	r3, r4
    b508:	6cc0      	or      	r3, r0
    b50a:	b260      	st.w      	r3, (r2, 0x0)
    b50c:	3300      	movi      	r3, 0
    b50e:	a160      	st.b      	r3, (r1, 0x0)
    b510:	4461      	lsli      	r3, r4, 1
    b512:	9841      	ld.w      	r2, (r14, 0x4)
    b514:	608c      	addu      	r2, r3
    b516:	8a60      	ld.h      	r3, (r2, 0x0)
    b518:	74cf      	sexth      	r3, r3
    b51a:	9845      	ld.w      	r2, (r14, 0x14)
    b51c:	648d      	cmplt      	r3, r2
    b51e:	0c18      	bf      	0xb54e	// b54e <TK_Keymap_prog+0x2fa>
    b520:	1153      	lrw      	r2, 0x20000970	// b5ec <TK_Keymap_prog+0x398>
    b522:	6090      	addu      	r2, r4
    b524:	8260      	ld.b      	r3, (r2, 0x0)
    b526:	2300      	addi      	r3, 1
    b528:	74cc      	zextb      	r3, r3
    b52a:	a260      	st.b      	r3, (r2, 0x0)
    b52c:	3100      	movi      	r1, 0
    b52e:	116f      	lrw      	r3, 0x20000ad4	// b5e8 <TK_Keymap_prog+0x394>
    b530:	60d0      	addu      	r3, r4
    b532:	a320      	st.b      	r1, (r3, 0x0)
    b534:	8260      	ld.b      	r3, (r2, 0x0)
    b536:	9826      	ld.w      	r1, (r14, 0x18)
    b538:	64c4      	cmphs      	r1, r3
    b53a:	080a      	bt      	0xb54e	// b54e <TK_Keymap_prog+0x2fa>
    b53c:	3300      	movi      	r3, 0
    b53e:	112f      	lrw      	r1, 0x20000888	// b5f8 <TK_Keymap_prog+0x3a4>
    b540:	2b01      	subi      	r3, 2
    b542:	9100      	ld.w      	r0, (r1, 0x0)
    b544:	70d3      	rotl      	r3, r4
    b546:	68c0      	and      	r3, r0
    b548:	b160      	st.w      	r3, (r1, 0x0)
    b54a:	3300      	movi      	r3, 0
    b54c:	a260      	st.b      	r3, (r2, 0x0)
    b54e:	9860      	ld.w      	r3, (r14, 0x0)
    b550:	9842      	ld.w      	r2, (r14, 0x8)
    b552:	3b03      	cmphsi      	r3, 4
    b554:	4461      	lsli      	r3, r4, 1
    b556:	60c8      	addu      	r3, r2
    b558:	8b40      	ld.h      	r2, (r3, 0x0)
    b55a:	748b      	sexth      	r2, r2
    b55c:	0d26      	bf      	0xb7a8	// b7a8 <TK_Keymap_prog+0x554>
    b55e:	9820      	ld.w      	r1, (r14, 0x0)
    b560:	649d      	cmplt      	r7, r2
    b562:	7c5c      	mult      	r1, r7
    b564:	0d13      	bf      	0xb78a	// b78a <TK_Keymap_prog+0x536>
    b566:	8b40      	ld.h      	r2, (r3, 0x0)
    b568:	748b      	sexth      	r2, r2
    b56a:	6449      	cmplt      	r2, r1
    b56c:	0d0f      	bf      	0xb78a	// b78a <TK_Keymap_prog+0x536>
    b56e:	1126      	lrw      	r1, 0x20000a7c	// b604 <TK_Keymap_prog+0x3b0>
    b570:	6050      	addu      	r1, r4
    b572:	8140      	ld.b      	r2, (r1, 0x0)
    b574:	2200      	addi      	r2, 1
    b576:	7488      	zextb      	r2, r2
    b578:	a140      	st.b      	r2, (r1, 0x0)
    b57a:	3000      	movi      	r0, 0
    b57c:	1143      	lrw      	r2, 0x20000aea	// b608 <TK_Keymap_prog+0x3b4>
    b57e:	6090      	addu      	r2, r4
    b580:	a200      	st.b      	r0, (r2, 0x0)
    b582:	1143      	lrw      	r2, 0x20000876	// b60c <TK_Keymap_prog+0x3b8>
    b584:	6090      	addu      	r2, r4
    b586:	a200      	st.b      	r0, (r2, 0x0)
    b588:	1142      	lrw      	r2, 0x20000988	// b610 <TK_Keymap_prog+0x3bc>
    b58a:	6090      	addu      	r2, r4
    b58c:	a200      	st.b      	r0, (r2, 0x0)
    b58e:	0443      	br      	0xb614	// b614 <TK_Keymap_prog+0x3c0>
    b590:	20000264 	.long	0x20000264
    b594:	20000238 	.long	0x20000238
    b598:	20000241 	.long	0x20000241
    b59c:	20000240 	.long	0x20000240
    b5a0:	20000ba6 	.long	0x20000ba6
    b5a4:	20000914 	.long	0x20000914
    b5a8:	20000854 	.long	0x20000854
    b5ac:	200009fe 	.long	0x200009fe
    b5b0:	2000093c 	.long	0x2000093c
    b5b4:	20000a54 	.long	0x20000a54
    b5b8:	20000a32 	.long	0x20000a32
    b5bc:	20000b14 	.long	0x20000b14
    b5c0:	20000b80 	.long	0x20000b80
    b5c4:	20000b5e 	.long	0x20000b5e
    b5c8:	200008bc 	.long	0x200008bc
    b5cc:	20000890 	.long	0x20000890
    b5d0:	20000292 	.long	0x20000292
    b5d4:	20000901 	.long	0x20000901
    b5d8:	200008e0 	.long	0x200008e0
    b5dc:	20000a20 	.long	0x20000a20
    b5e0:	20000ab8 	.long	0x20000ab8
    b5e4:	200008f4 	.long	0x200008f4
    b5e8:	20000ad4 	.long	0x20000ad4
    b5ec:	20000970 	.long	0x20000970
    b5f0:	2000099a 	.long	0x2000099a
    b5f4:	20000a98 	.long	0x20000a98
    b5f8:	20000888 	.long	0x20000888
    b5fc:	20000aae 	.long	0x20000aae
    b600:	20000912 	.long	0x20000912
    b604:	20000a7c 	.long	0x20000a7c
    b608:	20000aea 	.long	0x20000aea
    b60c:	20000876 	.long	0x20000876
    b610:	20000988 	.long	0x20000988
    b614:	8140      	ld.b      	r2, (r1, 0x0)
    b616:	9803      	ld.w      	r0, (r14, 0xc)
    b618:	6480      	cmphs      	r0, r2
    b61a:	0881      	bt      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b61c:	3d40      	cmpnei      	r5, 0
    b61e:	0874      	bt      	0xb706	// b706 <TK_Keymap_prog+0x4b2>
    b620:	014b      	lrw      	r2, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b622:	9260      	ld.w      	r3, (r2, 0x0)
    b624:	3b40      	cmpnei      	r3, 0
    b626:	0879      	bt      	0xb718	// b718 <TK_Keymap_prog+0x4c4>
    b628:	3301      	movi      	r3, 1
    b62a:	9200      	ld.w      	r0, (r2, 0x0)
    b62c:	70d0      	lsl      	r3, r4
    b62e:	6cc0      	or      	r3, r0
    b630:	b260      	st.w      	r3, (r2, 0x0)
    b632:	0473      	br      	0xb718	// b718 <TK_Keymap_prog+0x4c4>
    b634:	3d42      	cmpnei      	r5, 2
    b636:	0960      	bt      	0xb8f6	// b8f6 <TK_Keymap_prog+0x6a2>
    b638:	01d0      	lrw      	r6, 0x20000ba4	// b974 <TK_Keymap_prog+0x720>
    b63a:	8b00      	ld.h      	r0, (r3, 0x0)
    b63c:	8e40      	ld.h      	r2, (r6, 0x0)
    b63e:	7489      	zexth      	r2, r2
    b640:	7403      	sexth      	r0, r0
    b642:	2209      	addi      	r2, 10
    b644:	6409      	cmplt      	r2, r0
    b646:	0f63      	bf      	0xb50c	// b50c <TK_Keymap_prog+0x2b8>
    b648:	8b60      	ld.h      	r3, (r3, 0x0)
    b64a:	74cd      	zexth      	r3, r3
    b64c:	ae60      	st.h      	r3, (r6, 0x0)
    b64e:	3300      	movi      	r3, 0
    b650:	0155      	lrw      	r2, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b652:	b260      	st.w      	r3, (r2, 0x0)
    b654:	06e8      	br      	0xb424	// b424 <TK_Keymap_prog+0x1d0>
    b656:	9841      	ld.w      	r2, (r14, 0x4)
    b658:	4461      	lsli      	r3, r4, 1
    b65a:	60c8      	addu      	r3, r2
    b65c:	8b60      	ld.h      	r3, (r3, 0x0)
    b65e:	9840      	ld.w      	r2, (r14, 0x0)
    b660:	74cf      	sexth      	r3, r3
    b662:	7c9c      	mult      	r2, r7
    b664:	64c9      	cmplt      	r2, r3
    b666:	0f55      	bf      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b668:	3300      	movi      	r3, 0
    b66a:	015b      	lrw      	r2, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b66c:	2b01      	subi      	r3, 2
    b66e:	9220      	ld.w      	r1, (r2, 0x0)
    b670:	70d3      	rotl      	r3, r4
    b672:	68c4      	and      	r3, r1
    b674:	b260      	st.w      	r3, (r2, 0x0)
    b676:	074d      	br      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b678:	649d      	cmplt      	r7, r2
    b67a:	0f4b      	bf      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b67c:	015f      	lrw      	r2, 0x20000912	// b97c <TK_Keymap_prog+0x728>
    b67e:	8240      	ld.b      	r2, (r2, 0x0)
    b680:	7488      	zextb      	r2, r2
    b682:	3a40      	cmpnei      	r2, 0
    b684:	b847      	st.w      	r2, (r14, 0x1c)
    b686:	0b45      	bt      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b688:	0201      	lrw      	r0, 0x20000ad4	// b980 <TK_Keymap_prog+0x72c>
    b68a:	6010      	addu      	r0, r4
    b68c:	8020      	ld.b      	r1, (r0, 0x0)
    b68e:	2100      	addi      	r1, 1
    b690:	7444      	zextb      	r1, r1
    b692:	a020      	st.b      	r1, (r0, 0x0)
    b694:	3600      	movi      	r6, 0
    b696:	0223      	lrw      	r1, 0x20000970	// b984 <TK_Keymap_prog+0x730>
    b698:	6050      	addu      	r1, r4
    b69a:	a1c0      	st.b      	r6, (r1, 0x0)
    b69c:	0224      	lrw      	r1, 0x2000099a	// b988 <TK_Keymap_prog+0x734>
    b69e:	6050      	addu      	r1, r4
    b6a0:	a1c0      	st.b      	r6, (r1, 0x0)
    b6a2:	0224      	lrw      	r1, 0x20000a98	// b98c <TK_Keymap_prog+0x738>
    b6a4:	6050      	addu      	r1, r4
    b6a6:	a1c0      	st.b      	r6, (r1, 0x0)
    b6a8:	8020      	ld.b      	r1, (r0, 0x0)
    b6aa:	98c3      	ld.w      	r6, (r14, 0xc)
    b6ac:	6458      	cmphs      	r6, r1
    b6ae:	0b31      	bt      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b6b0:	3d40      	cmpnei      	r5, 0
    b6b2:	0808      	bt      	0xb6c2	// b6c2 <TK_Keymap_prog+0x46e>
    b6b4:	024e      	lrw      	r2, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b6b6:	9260      	ld.w      	r3, (r2, 0x0)
    b6b8:	3b40      	cmpnei      	r3, 0
    b6ba:	0823      	bt      	0xb700	// b700 <TK_Keymap_prog+0x4ac>
    b6bc:	9220      	ld.w      	r1, (r2, 0x0)
    b6be:	3301      	movi      	r3, 1
    b6c0:	0406      	br      	0xb6cc	// b6cc <TK_Keymap_prog+0x478>
    b6c2:	3d41      	cmpnei      	r5, 1
    b6c4:	0808      	bt      	0xb6d4	// b6d4 <TK_Keymap_prog+0x480>
    b6c6:	0252      	lrw      	r2, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b6c8:	6cd7      	mov      	r3, r5
    b6ca:	9220      	ld.w      	r1, (r2, 0x0)
    b6cc:	70d0      	lsl      	r3, r4
    b6ce:	6cc4      	or      	r3, r1
    b6d0:	b260      	st.w      	r3, (r2, 0x0)
    b6d2:	0417      	br      	0xb700	// b700 <TK_Keymap_prog+0x4ac>
    b6d4:	3d42      	cmpnei      	r5, 2
    b6d6:	0942      	bt      	0xb95a	// b95a <TK_Keymap_prog+0x706>
    b6d8:	8bc0      	ld.h      	r6, (r3, 0x0)
    b6da:	745b      	sexth      	r1, r6
    b6dc:	02d9      	lrw      	r6, 0x20000ba4	// b974 <TK_Keymap_prog+0x720>
    b6de:	6c87      	mov      	r2, r1
    b6e0:	8e20      	ld.h      	r1, (r6, 0x0)
    b6e2:	7445      	zexth      	r1, r1
    b6e4:	2109      	addi      	r1, 10
    b6e6:	6485      	cmplt      	r1, r2
    b6e8:	0c0c      	bf      	0xb700	// b700 <TK_Keymap_prog+0x4ac>
    b6ea:	8b60      	ld.h      	r3, (r3, 0x0)
    b6ec:	74cd      	zexth      	r3, r3
    b6ee:	ae60      	st.h      	r3, (r6, 0x0)
    b6f0:	9867      	ld.w      	r3, (r14, 0x1c)
    b6f2:	023d      	lrw      	r1, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b6f4:	b160      	st.w      	r3, (r1, 0x0)
    b6f6:	3301      	movi      	r3, 1
    b6f8:	9140      	ld.w      	r2, (r1, 0x0)
    b6fa:	70d0      	lsl      	r3, r4
    b6fc:	6cc8      	or      	r3, r2
    b6fe:	b160      	st.w      	r3, (r1, 0x0)
    b700:	3300      	movi      	r3, 0
    b702:	a060      	st.b      	r3, (r0, 0x0)
    b704:	0706      	br      	0xb510	// b510 <TK_Keymap_prog+0x2bc>
    b706:	3d41      	cmpnei      	r5, 1
    b708:	0830      	bt      	0xb768	// b768 <TK_Keymap_prog+0x514>
    b70a:	0345      	lrw      	r2, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b70c:	6cd7      	mov      	r3, r5
    b70e:	9200      	ld.w      	r0, (r2, 0x0)
    b710:	70d0      	lsl      	r3, r4
    b712:	6cc0      	or      	r3, r0
    b714:	b260      	st.w      	r3, (r2, 0x0)
    b716:	6c03      	mov      	r0, r0
    b718:	3300      	movi      	r3, 0
    b71a:	a160      	st.b      	r3, (r1, 0x0)
    b71c:	4461      	lsli      	r3, r4, 1
    b71e:	9842      	ld.w      	r2, (r14, 0x8)
    b720:	608c      	addu      	r2, r3
    b722:	8a60      	ld.h      	r3, (r2, 0x0)
    b724:	74cf      	sexth      	r3, r3
    b726:	9845      	ld.w      	r2, (r14, 0x14)
    b728:	648d      	cmplt      	r3, r2
    b72a:	0c18      	bf      	0xb75a	// b75a <TK_Keymap_prog+0x506>
    b72c:	0346      	lrw      	r2, 0x20000aea	// b990 <TK_Keymap_prog+0x73c>
    b72e:	6090      	addu      	r2, r4
    b730:	8260      	ld.b      	r3, (r2, 0x0)
    b732:	2300      	addi      	r3, 1
    b734:	74cc      	zextb      	r3, r3
    b736:	a260      	st.b      	r3, (r2, 0x0)
    b738:	3100      	movi      	r1, 0
    b73a:	0368      	lrw      	r3, 0x20000a7c	// b994 <TK_Keymap_prog+0x740>
    b73c:	60d0      	addu      	r3, r4
    b73e:	a320      	st.b      	r1, (r3, 0x0)
    b740:	8260      	ld.b      	r3, (r2, 0x0)
    b742:	9826      	ld.w      	r1, (r14, 0x18)
    b744:	64c4      	cmphs      	r1, r3
    b746:	080a      	bt      	0xb75a	// b75a <TK_Keymap_prog+0x506>
    b748:	3300      	movi      	r3, 0
    b74a:	0335      	lrw      	r1, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b74c:	2b01      	subi      	r3, 2
    b74e:	9100      	ld.w      	r0, (r1, 0x0)
    b750:	70d3      	rotl      	r3, r4
    b752:	68c0      	and      	r3, r0
    b754:	b160      	st.w      	r3, (r1, 0x0)
    b756:	3300      	movi      	r3, 0
    b758:	a260      	st.b      	r3, (r2, 0x0)
    b75a:	2400      	addi      	r4, 1
    b75c:	3c51      	cmpnei      	r4, 17
    b75e:	0c03      	bf      	0xb764	// b764 <TK_Keymap_prog+0x510>
    b760:	e800fd8d 	br      	0xb27a	// b27a <TK_Keymap_prog+0x26>
    b764:	140a      	addi      	r14, r14, 40
    b766:	1494      	pop      	r4-r7, r15
    b768:	3d42      	cmpnei      	r5, 2
    b76a:	0948      	bt      	0xb9fa	// b9fa <TK_Keymap_prog+0x7a6>
    b76c:	03d4      	lrw      	r6, 0x20000936	// b998 <TK_Keymap_prog+0x744>
    b76e:	8b00      	ld.h      	r0, (r3, 0x0)
    b770:	8e40      	ld.h      	r2, (r6, 0x0)
    b772:	7489      	zexth      	r2, r2
    b774:	7403      	sexth      	r0, r0
    b776:	2209      	addi      	r2, 10
    b778:	6409      	cmplt      	r2, r0
    b77a:	0fcf      	bf      	0xb718	// b718 <TK_Keymap_prog+0x4c4>
    b77c:	8b60      	ld.h      	r3, (r3, 0x0)
    b77e:	74cd      	zexth      	r3, r3
    b780:	ae60      	st.h      	r3, (r6, 0x0)
    b782:	3300      	movi      	r3, 0
    b784:	135b      	lrw      	r2, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b786:	b260      	st.w      	r3, (r2, 0x0)
    b788:	0750      	br      	0xb628	// b628 <TK_Keymap_prog+0x3d4>
    b78a:	4461      	lsli      	r3, r4, 1
    b78c:	9842      	ld.w      	r2, (r14, 0x8)
    b78e:	60c8      	addu      	r3, r2
    b790:	8b60      	ld.h      	r3, (r3, 0x0)
    b792:	74cf      	sexth      	r3, r3
    b794:	64c5      	cmplt      	r1, r3
    b796:	0fc3      	bf      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b798:	3300      	movi      	r3, 0
    b79a:	1356      	lrw      	r2, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b79c:	2b01      	subi      	r3, 2
    b79e:	9220      	ld.w      	r1, (r2, 0x0)
    b7a0:	70d3      	rotl      	r3, r4
    b7a2:	68c4      	and      	r3, r1
    b7a4:	b260      	st.w      	r3, (r2, 0x0)
    b7a6:	07bb      	br      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b7a8:	649d      	cmplt      	r7, r2
    b7aa:	0fb9      	bf      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b7ac:	1354      	lrw      	r2, 0x20000912	// b97c <TK_Keymap_prog+0x728>
    b7ae:	8240      	ld.b      	r2, (r2, 0x0)
    b7b0:	7488      	zextb      	r2, r2
    b7b2:	3a40      	cmpnei      	r2, 0
    b7b4:	0bb4      	bt      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b7b6:	1318      	lrw      	r0, 0x20000a7c	// b994 <TK_Keymap_prog+0x740>
    b7b8:	6010      	addu      	r0, r4
    b7ba:	8020      	ld.b      	r1, (r0, 0x0)
    b7bc:	2100      	addi      	r1, 1
    b7be:	7444      	zextb      	r1, r1
    b7c0:	a020      	st.b      	r1, (r0, 0x0)
    b7c2:	3600      	movi      	r6, 0
    b7c4:	1333      	lrw      	r1, 0x20000aea	// b990 <TK_Keymap_prog+0x73c>
    b7c6:	6050      	addu      	r1, r4
    b7c8:	a1c0      	st.b      	r6, (r1, 0x0)
    b7ca:	1335      	lrw      	r1, 0x20000876	// b99c <TK_Keymap_prog+0x748>
    b7cc:	6050      	addu      	r1, r4
    b7ce:	a1c0      	st.b      	r6, (r1, 0x0)
    b7d0:	1334      	lrw      	r1, 0x20000988	// b9a0 <TK_Keymap_prog+0x74c>
    b7d2:	6050      	addu      	r1, r4
    b7d4:	a1c0      	st.b      	r6, (r1, 0x0)
    b7d6:	8020      	ld.b      	r1, (r0, 0x0)
    b7d8:	98c3      	ld.w      	r6, (r14, 0xc)
    b7da:	6458      	cmphs      	r6, r1
    b7dc:	0ba0      	bt      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b7de:	3d40      	cmpnei      	r5, 0
    b7e0:	0808      	bt      	0xb7f0	// b7f0 <TK_Keymap_prog+0x59c>
    b7e2:	1344      	lrw      	r2, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b7e4:	9260      	ld.w      	r3, (r2, 0x0)
    b7e6:	3b40      	cmpnei      	r3, 0
    b7e8:	0821      	bt      	0xb82a	// b82a <TK_Keymap_prog+0x5d6>
    b7ea:	9220      	ld.w      	r1, (r2, 0x0)
    b7ec:	3301      	movi      	r3, 1
    b7ee:	0406      	br      	0xb7fa	// b7fa <TK_Keymap_prog+0x5a6>
    b7f0:	3d41      	cmpnei      	r5, 1
    b7f2:	0808      	bt      	0xb802	// b802 <TK_Keymap_prog+0x5ae>
    b7f4:	125f      	lrw      	r2, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b7f6:	6cd7      	mov      	r3, r5
    b7f8:	9220      	ld.w      	r1, (r2, 0x0)
    b7fa:	70d0      	lsl      	r3, r4
    b7fc:	6cc4      	or      	r3, r1
    b7fe:	b260      	st.w      	r3, (r2, 0x0)
    b800:	0415      	br      	0xb82a	// b82a <TK_Keymap_prog+0x5d6>
    b802:	3d42      	cmpnei      	r5, 2
    b804:	092a      	bt      	0xba58	// ba58 <TK_Keymap_prog+0x804>
    b806:	13e5      	lrw      	r7, 0x20000936	// b998 <TK_Keymap_prog+0x744>
    b808:	8bc0      	ld.h      	r6, (r3, 0x0)
    b80a:	8f20      	ld.h      	r1, (r7, 0x0)
    b80c:	7445      	zexth      	r1, r1
    b80e:	759b      	sexth      	r6, r6
    b810:	2109      	addi      	r1, 10
    b812:	6585      	cmplt      	r1, r6
    b814:	0c0b      	bf      	0xb82a	// b82a <TK_Keymap_prog+0x5d6>
    b816:	8b60      	ld.h      	r3, (r3, 0x0)
    b818:	1236      	lrw      	r1, 0x2000096c	// b970 <TK_Keymap_prog+0x71c>
    b81a:	74cd      	zexth      	r3, r3
    b81c:	af60      	st.h      	r3, (r7, 0x0)
    b81e:	b140      	st.w      	r2, (r1, 0x0)
    b820:	3301      	movi      	r3, 1
    b822:	9140      	ld.w      	r2, (r1, 0x0)
    b824:	70d0      	lsl      	r3, r4
    b826:	6cc8      	or      	r3, r2
    b828:	b160      	st.w      	r3, (r1, 0x0)
    b82a:	3300      	movi      	r3, 0
    b82c:	a060      	st.b      	r3, (r0, 0x0)
    b82e:	0777      	br      	0xb71c	// b71c <TK_Keymap_prog+0x4c8>
    b830:	3d43      	cmpnei      	r5, 3
    b832:	0c03      	bf      	0xb838	// b838 <TK_Keymap_prog+0x5e4>
    b834:	e800fda6 	br      	0xb380	// b380 <TK_Keymap_prog+0x12c>
    b838:	125b      	lrw      	r2, 0x20000aae	// b9a4 <TK_Keymap_prog+0x750>
    b83a:	8bc0      	ld.h      	r6, (r3, 0x0)
    b83c:	8a00      	ld.h      	r0, (r2, 0x0)
    b83e:	7401      	zexth      	r0, r0
    b840:	759b      	sexth      	r6, r6
    b842:	2009      	addi      	r0, 10
    b844:	6581      	cmplt      	r0, r6
    b846:	0c0c      	bf      	0xb85e	// b85e <TK_Keymap_prog+0x60a>
    b848:	8b60      	ld.h      	r3, (r3, 0x0)
    b84a:	74cd      	zexth      	r3, r3
    b84c:	aa60      	st.h      	r3, (r2, 0x0)
    b84e:	3300      	movi      	r3, 0
    b850:	1216      	lrw      	r0, 0x200008f4	// b9a8 <TK_Keymap_prog+0x754>
    b852:	b060      	st.w      	r3, (r0, 0x0)
    b854:	3301      	movi      	r3, 1
    b856:	90c0      	ld.w      	r6, (r0, 0x0)
    b858:	70d0      	lsl      	r3, r4
    b85a:	6cd8      	or      	r3, r6
    b85c:	b060      	st.w      	r3, (r0, 0x0)
    b85e:	9804      	ld.w      	r0, (r14, 0x10)
    b860:	4461      	lsli      	r3, r4, 1
    b862:	60c0      	addu      	r3, r0
    b864:	8b00      	ld.h      	r0, (r3, 0x0)
    b866:	8a40      	ld.h      	r2, (r2, 0x0)
    b868:	7489      	zexth      	r2, r2
    b86a:	7403      	sexth      	r0, r0
    b86c:	2a04      	subi      	r2, 5
    b86e:	6481      	cmplt      	r0, r2
    b870:	0803      	bt      	0xb876	// b876 <TK_Keymap_prog+0x622>
    b872:	e800fd87 	br      	0xb380	// b380 <TK_Keymap_prog+0x12c>
    b876:	12ce      	lrw      	r6, 0x200008b8	// b9ac <TK_Keymap_prog+0x758>
    b878:	8b00      	ld.h      	r0, (r3, 0x0)
    b87a:	8e40      	ld.h      	r2, (r6, 0x0)
    b87c:	7489      	zexth      	r2, r2
    b87e:	7403      	sexth      	r0, r0
    b880:	2204      	addi      	r2, 5
    b882:	6409      	cmplt      	r2, r0
    b884:	0803      	bt      	0xb88a	// b88a <TK_Keymap_prog+0x636>
    b886:	e800fd7d 	br      	0xb380	// b380 <TK_Keymap_prog+0x12c>
    b88a:	8b60      	ld.h      	r3, (r3, 0x0)
    b88c:	74cd      	zexth      	r3, r3
    b88e:	ae60      	st.h      	r3, (r6, 0x0)
    b890:	1246      	lrw      	r2, 0x200008f4	// b9a8 <TK_Keymap_prog+0x754>
    b892:	e800fd63 	br      	0xb358	// b358 <TK_Keymap_prog+0x104>
    b896:	3d43      	cmpnei      	r5, 3
    b898:	0c02      	bf      	0xb89c	// b89c <TK_Keymap_prog+0x648>
    b89a:	061d      	br      	0xb4d4	// b4d4 <TK_Keymap_prog+0x280>
    b89c:	12c2      	lrw      	r6, 0x20000aae	// b9a4 <TK_Keymap_prog+0x750>
    b89e:	8ae0      	ld.h      	r7, (r2, 0x0)
    b8a0:	8e20      	ld.h      	r1, (r6, 0x0)
    b8a2:	7445      	zexth      	r1, r1
    b8a4:	75df      	sexth      	r7, r7
    b8a6:	2109      	addi      	r1, 10
    b8a8:	65c5      	cmplt      	r1, r7
    b8aa:	0c0b      	bf      	0xb8c0	// b8c0 <TK_Keymap_prog+0x66c>
    b8ac:	8a40      	ld.h      	r2, (r2, 0x0)
    b8ae:	7489      	zexth      	r2, r2
    b8b0:	ae40      	st.h      	r2, (r6, 0x0)
    b8b2:	115e      	lrw      	r2, 0x200008f4	// b9a8 <TK_Keymap_prog+0x754>
    b8b4:	b260      	st.w      	r3, (r2, 0x0)
    b8b6:	3301      	movi      	r3, 1
    b8b8:	9220      	ld.w      	r1, (r2, 0x0)
    b8ba:	70d0      	lsl      	r3, r4
    b8bc:	6cc4      	or      	r3, r1
    b8be:	b260      	st.w      	r3, (r2, 0x0)
    b8c0:	9844      	ld.w      	r2, (r14, 0x10)
    b8c2:	4461      	lsli      	r3, r4, 1
    b8c4:	60c8      	addu      	r3, r2
    b8c6:	8b40      	ld.h      	r2, (r3, 0x0)
    b8c8:	8e20      	ld.h      	r1, (r6, 0x0)
    b8ca:	7445      	zexth      	r1, r1
    b8cc:	748b      	sexth      	r2, r2
    b8ce:	2904      	subi      	r1, 5
    b8d0:	6449      	cmplt      	r2, r1
    b8d2:	0802      	bt      	0xb8d6	// b8d6 <TK_Keymap_prog+0x682>
    b8d4:	0600      	br      	0xb4d4	// b4d4 <TK_Keymap_prog+0x280>
    b8d6:	11d6      	lrw      	r6, 0x200008b8	// b9ac <TK_Keymap_prog+0x758>
    b8d8:	8b20      	ld.h      	r1, (r3, 0x0)
    b8da:	8e40      	ld.h      	r2, (r6, 0x0)
    b8dc:	7489      	zexth      	r2, r2
    b8de:	7447      	sexth      	r1, r1
    b8e0:	2204      	addi      	r2, 5
    b8e2:	6449      	cmplt      	r2, r1
    b8e4:	0803      	bt      	0xb8ea	// b8ea <TK_Keymap_prog+0x696>
    b8e6:	e800fdf7 	br      	0xb4d4	// b4d4 <TK_Keymap_prog+0x280>
    b8ea:	8b60      	ld.h      	r3, (r3, 0x0)
    b8ec:	74cd      	zexth      	r3, r3
    b8ee:	ae60      	st.h      	r3, (r6, 0x0)
    b8f0:	114e      	lrw      	r2, 0x200008f4	// b9a8 <TK_Keymap_prog+0x754>
    b8f2:	e800fde6 	br      	0xb4be	// b4be <TK_Keymap_prog+0x26a>
    b8f6:	3d43      	cmpnei      	r5, 3
    b8f8:	0c02      	bf      	0xb8fc	// b8fc <TK_Keymap_prog+0x6a8>
    b8fa:	0609      	br      	0xb50c	// b50c <TK_Keymap_prog+0x2b8>
    b8fc:	105e      	lrw      	r2, 0x20000ba4	// b974 <TK_Keymap_prog+0x720>
    b8fe:	8bc0      	ld.h      	r6, (r3, 0x0)
    b900:	8a00      	ld.h      	r0, (r2, 0x0)
    b902:	7401      	zexth      	r0, r0
    b904:	759b      	sexth      	r6, r6
    b906:	2009      	addi      	r0, 10
    b908:	6581      	cmplt      	r0, r6
    b90a:	0c0c      	bf      	0xb922	// b922 <TK_Keymap_prog+0x6ce>
    b90c:	8b60      	ld.h      	r3, (r3, 0x0)
    b90e:	74cd      	zexth      	r3, r3
    b910:	aa60      	st.h      	r3, (r2, 0x0)
    b912:	3300      	movi      	r3, 0
    b914:	1019      	lrw      	r0, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b916:	b060      	st.w      	r3, (r0, 0x0)
    b918:	3301      	movi      	r3, 1
    b91a:	90c0      	ld.w      	r6, (r0, 0x0)
    b91c:	70d0      	lsl      	r3, r4
    b91e:	6cd8      	or      	r3, r6
    b920:	b060      	st.w      	r3, (r0, 0x0)
    b922:	9801      	ld.w      	r0, (r14, 0x4)
    b924:	4461      	lsli      	r3, r4, 1
    b926:	60c0      	addu      	r3, r0
    b928:	8b00      	ld.h      	r0, (r3, 0x0)
    b92a:	8a40      	ld.h      	r2, (r2, 0x0)
    b92c:	7489      	zexth      	r2, r2
    b92e:	7403      	sexth      	r0, r0
    b930:	2a04      	subi      	r2, 5
    b932:	6481      	cmplt      	r0, r2
    b934:	0803      	bt      	0xb93a	// b93a <TK_Keymap_prog+0x6e6>
    b936:	e800fdeb 	br      	0xb50c	// b50c <TK_Keymap_prog+0x2b8>
    b93a:	10de      	lrw      	r6, 0x20000ab6	// b9b0 <TK_Keymap_prog+0x75c>
    b93c:	8b00      	ld.h      	r0, (r3, 0x0)
    b93e:	8e40      	ld.h      	r2, (r6, 0x0)
    b940:	7489      	zexth      	r2, r2
    b942:	7403      	sexth      	r0, r0
    b944:	2204      	addi      	r2, 5
    b946:	6409      	cmplt      	r2, r0
    b948:	0803      	bt      	0xb94e	// b94e <TK_Keymap_prog+0x6fa>
    b94a:	e800fde1 	br      	0xb50c	// b50c <TK_Keymap_prog+0x2b8>
    b94e:	8b60      	ld.h      	r3, (r3, 0x0)
    b950:	74cd      	zexth      	r3, r3
    b952:	ae60      	st.h      	r3, (r6, 0x0)
    b954:	1049      	lrw      	r2, 0x20000888	// b978 <TK_Keymap_prog+0x724>
    b956:	e800fd67 	br      	0xb424	// b424 <TK_Keymap_prog+0x1d0>
    b95a:	3d43      	cmpnei      	r5, 3
    b95c:	0ad2      	bt      	0xb700	// b700 <TK_Keymap_prog+0x4ac>
    b95e:	8b20      	ld.h      	r1, (r3, 0x0)
    b960:	10c5      	lrw      	r6, 0x20000ba4	// b974 <TK_Keymap_prog+0x720>
    b962:	7487      	sexth      	r2, r1
    b964:	8e20      	ld.h      	r1, (r6, 0x0)
    b966:	7445      	zexth      	r1, r1
    b968:	2109      	addi      	r1, 10
    b96a:	6485      	cmplt      	r1, r2
    b96c:	0c2f      	bf      	0xb9ca	// b9ca <TK_Keymap_prog+0x776>
    b96e:	0423      	br      	0xb9b4	// b9b4 <TK_Keymap_prog+0x760>
    b970:	2000096c 	.long	0x2000096c
    b974:	20000ba4 	.long	0x20000ba4
    b978:	20000888 	.long	0x20000888
    b97c:	20000912 	.long	0x20000912
    b980:	20000ad4 	.long	0x20000ad4
    b984:	20000970 	.long	0x20000970
    b988:	2000099a 	.long	0x2000099a
    b98c:	20000a98 	.long	0x20000a98
    b990:	20000aea 	.long	0x20000aea
    b994:	20000a7c 	.long	0x20000a7c
    b998:	20000936 	.long	0x20000936
    b99c:	20000876 	.long	0x20000876
    b9a0:	20000988 	.long	0x20000988
    b9a4:	20000aae 	.long	0x20000aae
    b9a8:	200008f4 	.long	0x200008f4
    b9ac:	200008b8 	.long	0x200008b8
    b9b0:	20000ab6 	.long	0x20000ab6
    b9b4:	8b60      	ld.h      	r3, (r3, 0x0)
    b9b6:	74cd      	zexth      	r3, r3
    b9b8:	ae60      	st.h      	r3, (r6, 0x0)
    b9ba:	9867      	ld.w      	r3, (r14, 0x1c)
    b9bc:	113d      	lrw      	r1, 0x20000888	// bab0 <TK_Keymap_prog+0x85c>
    b9be:	b160      	st.w      	r3, (r1, 0x0)
    b9c0:	3301      	movi      	r3, 1
    b9c2:	9140      	ld.w      	r2, (r1, 0x0)
    b9c4:	70d0      	lsl      	r3, r4
    b9c6:	6cc8      	or      	r3, r2
    b9c8:	b160      	st.w      	r3, (r1, 0x0)
    b9ca:	9841      	ld.w      	r2, (r14, 0x4)
    b9cc:	4461      	lsli      	r3, r4, 1
    b9ce:	60c8      	addu      	r3, r2
    b9d0:	8b40      	ld.h      	r2, (r3, 0x0)
    b9d2:	8e20      	ld.h      	r1, (r6, 0x0)
    b9d4:	7445      	zexth      	r1, r1
    b9d6:	748b      	sexth      	r2, r2
    b9d8:	2904      	subi      	r1, 5
    b9da:	6449      	cmplt      	r2, r1
    b9dc:	0e92      	bf      	0xb700	// b700 <TK_Keymap_prog+0x4ac>
    b9de:	11d6      	lrw      	r6, 0x20000ab6	// bab4 <TK_Keymap_prog+0x860>
    b9e0:	8b20      	ld.h      	r1, (r3, 0x0)
    b9e2:	8e40      	ld.h      	r2, (r6, 0x0)
    b9e4:	7489      	zexth      	r2, r2
    b9e6:	7447      	sexth      	r1, r1
    b9e8:	2204      	addi      	r2, 5
    b9ea:	6449      	cmplt      	r2, r1
    b9ec:	0802      	bt      	0xb9f0	// b9f0 <TK_Keymap_prog+0x79c>
    b9ee:	0689      	br      	0xb700	// b700 <TK_Keymap_prog+0x4ac>
    b9f0:	8b60      	ld.h      	r3, (r3, 0x0)
    b9f2:	74cd      	zexth      	r3, r3
    b9f4:	ae60      	st.h      	r3, (r6, 0x0)
    b9f6:	114f      	lrw      	r2, 0x20000888	// bab0 <TK_Keymap_prog+0x85c>
    b9f8:	0662      	br      	0xb6bc	// b6bc <TK_Keymap_prog+0x468>
    b9fa:	3d43      	cmpnei      	r5, 3
    b9fc:	0a8e      	bt      	0xb718	// b718 <TK_Keymap_prog+0x4c4>
    b9fe:	114f      	lrw      	r2, 0x20000936	// bab8 <TK_Keymap_prog+0x864>
    ba00:	8bc0      	ld.h      	r6, (r3, 0x0)
    ba02:	8a00      	ld.h      	r0, (r2, 0x0)
    ba04:	7401      	zexth      	r0, r0
    ba06:	759b      	sexth      	r6, r6
    ba08:	2009      	addi      	r0, 10
    ba0a:	6581      	cmplt      	r0, r6
    ba0c:	0c0c      	bf      	0xba24	// ba24 <TK_Keymap_prog+0x7d0>
    ba0e:	8b60      	ld.h      	r3, (r3, 0x0)
    ba10:	74cd      	zexth      	r3, r3
    ba12:	aa60      	st.h      	r3, (r2, 0x0)
    ba14:	3300      	movi      	r3, 0
    ba16:	110a      	lrw      	r0, 0x2000096c	// babc <TK_Keymap_prog+0x868>
    ba18:	b060      	st.w      	r3, (r0, 0x0)
    ba1a:	3301      	movi      	r3, 1
    ba1c:	90c0      	ld.w      	r6, (r0, 0x0)
    ba1e:	70d0      	lsl      	r3, r4
    ba20:	6cd8      	or      	r3, r6
    ba22:	b060      	st.w      	r3, (r0, 0x0)
    ba24:	9802      	ld.w      	r0, (r14, 0x8)
    ba26:	4461      	lsli      	r3, r4, 1
    ba28:	60c0      	addu      	r3, r0
    ba2a:	8b00      	ld.h      	r0, (r3, 0x0)
    ba2c:	8a40      	ld.h      	r2, (r2, 0x0)
    ba2e:	7489      	zexth      	r2, r2
    ba30:	7403      	sexth      	r0, r0
    ba32:	2a04      	subi      	r2, 5
    ba34:	6481      	cmplt      	r0, r2
    ba36:	0802      	bt      	0xba3a	// ba3a <TK_Keymap_prog+0x7e6>
    ba38:	0670      	br      	0xb718	// b718 <TK_Keymap_prog+0x4c4>
    ba3a:	11c2      	lrw      	r6, 0x200009fc	// bac0 <TK_Keymap_prog+0x86c>
    ba3c:	8b00      	ld.h      	r0, (r3, 0x0)
    ba3e:	8e40      	ld.h      	r2, (r6, 0x0)
    ba40:	7489      	zexth      	r2, r2
    ba42:	7403      	sexth      	r0, r0
    ba44:	2204      	addi      	r2, 5
    ba46:	6409      	cmplt      	r2, r0
    ba48:	0802      	bt      	0xba4c	// ba4c <TK_Keymap_prog+0x7f8>
    ba4a:	0667      	br      	0xb718	// b718 <TK_Keymap_prog+0x4c4>
    ba4c:	8b60      	ld.h      	r3, (r3, 0x0)
    ba4e:	74cd      	zexth      	r3, r3
    ba50:	ae60      	st.h      	r3, (r6, 0x0)
    ba52:	105b      	lrw      	r2, 0x2000096c	// babc <TK_Keymap_prog+0x868>
    ba54:	e800fdea 	br      	0xb628	// b628 <TK_Keymap_prog+0x3d4>
    ba58:	3d43      	cmpnei      	r5, 3
    ba5a:	0ae8      	bt      	0xb82a	// b82a <TK_Keymap_prog+0x5d6>
    ba5c:	10d7      	lrw      	r6, 0x20000936	// bab8 <TK_Keymap_prog+0x864>
    ba5e:	8be0      	ld.h      	r7, (r3, 0x0)
    ba60:	8e20      	ld.h      	r1, (r6, 0x0)
    ba62:	7445      	zexth      	r1, r1
    ba64:	75df      	sexth      	r7, r7
    ba66:	2109      	addi      	r1, 10
    ba68:	65c5      	cmplt      	r1, r7
    ba6a:	0c0b      	bf      	0xba80	// ba80 <TK_Keymap_prog+0x82c>
    ba6c:	8b60      	ld.h      	r3, (r3, 0x0)
    ba6e:	1034      	lrw      	r1, 0x2000096c	// babc <TK_Keymap_prog+0x868>
    ba70:	74cd      	zexth      	r3, r3
    ba72:	ae60      	st.h      	r3, (r6, 0x0)
    ba74:	b140      	st.w      	r2, (r1, 0x0)
    ba76:	3301      	movi      	r3, 1
    ba78:	9140      	ld.w      	r2, (r1, 0x0)
    ba7a:	70d0      	lsl      	r3, r4
    ba7c:	6cc8      	or      	r3, r2
    ba7e:	b160      	st.w      	r3, (r1, 0x0)
    ba80:	9842      	ld.w      	r2, (r14, 0x8)
    ba82:	4461      	lsli      	r3, r4, 1
    ba84:	60c8      	addu      	r3, r2
    ba86:	8b40      	ld.h      	r2, (r3, 0x0)
    ba88:	8e20      	ld.h      	r1, (r6, 0x0)
    ba8a:	7445      	zexth      	r1, r1
    ba8c:	748b      	sexth      	r2, r2
    ba8e:	2904      	subi      	r1, 5
    ba90:	6449      	cmplt      	r2, r1
    ba92:	0ecc      	bf      	0xb82a	// b82a <TK_Keymap_prog+0x5d6>
    ba94:	10cb      	lrw      	r6, 0x200009fc	// bac0 <TK_Keymap_prog+0x86c>
    ba96:	8b20      	ld.h      	r1, (r3, 0x0)
    ba98:	8e40      	ld.h      	r2, (r6, 0x0)
    ba9a:	7489      	zexth      	r2, r2
    ba9c:	7447      	sexth      	r1, r1
    ba9e:	2204      	addi      	r2, 5
    baa0:	6449      	cmplt      	r2, r1
    baa2:	0ec4      	bf      	0xb82a	// b82a <TK_Keymap_prog+0x5d6>
    baa4:	8b60      	ld.h      	r3, (r3, 0x0)
    baa6:	74cd      	zexth      	r3, r3
    baa8:	ae60      	st.h      	r3, (r6, 0x0)
    baaa:	1045      	lrw      	r2, 0x2000096c	// babc <TK_Keymap_prog+0x868>
    baac:	069f      	br      	0xb7ea	// b7ea <TK_Keymap_prog+0x596>
    baae:	0000      	bkpt
    bab0:	20000888 	.long	0x20000888
    bab4:	20000ab6 	.long	0x20000ab6
    bab8:	20000936 	.long	0x20000936
    babc:	2000096c 	.long	0x2000096c
    bac0:	200009fc 	.long	0x200009fc

Disassembly of section .text.TK_overflow_predict:

0000bac4 <TK_overflow_predict>:
    bac4:	14d4      	push      	r4-r7, r15
    bac6:	1422      	subi      	r14, r14, 8
    bac8:	113c      	lrw      	r1, 0x20000070	// bbb8 <TK_overflow_predict+0xf4>
    baca:	8167      	ld.b      	r3, (r1, 0x7)
    bacc:	3b41      	cmpnei      	r3, 1
    bace:	0823      	bt      	0xbb14	// bb14 <TK_overflow_predict+0x50>
    bad0:	115b      	lrw      	r2, 0x20000a76	// bbbc <TK_overflow_predict+0xf8>
    bad2:	8260      	ld.b      	r3, (r2, 0x0)
    bad4:	2300      	addi      	r3, 1
    bad6:	74cc      	zextb      	r3, r3
    bad8:	a260      	st.b      	r3, (r2, 0x0)
    bada:	8260      	ld.b      	r3, (r2, 0x0)
    badc:	1119      	lrw      	r0, 0x20000265	// bbc0 <TK_overflow_predict+0xfc>
    bade:	8000      	ld.b      	r0, (r0, 0x0)
    bae0:	64c0      	cmphs      	r0, r3
    bae2:	0819      	bt      	0xbb14	// bb14 <TK_overflow_predict+0x50>
    bae4:	3300      	movi      	r3, 0
    bae6:	a260      	st.b      	r3, (r2, 0x0)
    bae8:	11b7      	lrw      	r5, 0x20000981	// bbc4 <TK_overflow_predict+0x100>
    baea:	8560      	ld.b      	r3, (r5, 0x0)
    baec:	3b40      	cmpnei      	r3, 0
    baee:	0c15      	bf      	0xbb18	// bb18 <TK_overflow_predict+0x54>
    baf0:	8560      	ld.b      	r3, (r5, 0x0)
    baf2:	3b41      	cmpnei      	r3, 1
    baf4:	0810      	bt      	0xbb14	// bb14 <TK_overflow_predict+0x50>
    baf6:	3300      	movi      	r3, 0
    baf8:	a560      	st.b      	r3, (r5, 0x0)
    bafa:	3200      	movi      	r2, 0
    bafc:	1173      	lrw      	r3, 0x20000058	// bbc8 <TK_overflow_predict+0x104>
    bafe:	1114      	lrw      	r0, 0x20000ab0	// bbcc <TK_overflow_predict+0x108>
    bb00:	11b4      	lrw      	r5, 0x20000b00	// bbd0 <TK_overflow_predict+0x10c>
    bb02:	11d5      	lrw      	r6, 0x20000242	// bbd4 <TK_overflow_predict+0x110>
    bb04:	9360      	ld.w      	r3, (r3, 0x0)
    bb06:	b342      	st.w      	r2, (r3, 0x8)
    bb08:	1174      	lrw      	r3, 0x20000054	// bbd8 <TK_overflow_predict+0x114>
    bb0a:	9380      	ld.w      	r4, (r3, 0x0)
    bb0c:	3300      	movi      	r3, 0
    bb0e:	8040      	ld.b      	r2, (r0, 0x0)
    bb10:	648c      	cmphs      	r3, r2
    bb12:	0c44      	bf      	0xbb9a	// bb9a <TK_overflow_predict+0xd6>
    bb14:	1402      	addi      	r14, r14, 8
    bb16:	1494      	pop      	r4-r7, r15
    bb18:	597e      	addi      	r3, r1, 8
    bb1a:	3600      	movi      	r6, 0
    bb1c:	11f0      	lrw      	r7, 0x20000268	// bbdc <TK_overflow_predict+0x118>
    bb1e:	b860      	st.w      	r3, (r14, 0x0)
    bb20:	9760      	ld.w      	r3, (r7, 0x0)
    bb22:	70d9      	lsr      	r3, r6
    bb24:	3201      	movi      	r2, 1
    bb26:	68c8      	and      	r3, r2
    bb28:	3b40      	cmpnei      	r3, 0
    bb2a:	0c34      	bf      	0xbb92	// bb92 <TK_overflow_predict+0xce>
    bb2c:	4681      	lsli      	r4, r6, 1
    bb2e:	9860      	ld.w      	r3, (r14, 0x0)
    bb30:	60d0      	addu      	r3, r4
    bb32:	8b00      	ld.h      	r0, (r3, 0x0)
    bb34:	e3ffc152 	bsr      	0x3dd8	// 3dd8 <__floatunsidf>
    bb38:	6cc7      	mov      	r3, r1
    bb3a:	3180      	movi      	r1, 128
    bb3c:	6c83      	mov      	r2, r0
    bb3e:	4137      	lsli      	r1, r1, 23
    bb40:	3000      	movi      	r0, 0
    bb42:	e3ffb739 	bsr      	0x29b4	// 29b4 <__GI_pow>
    bb46:	1167      	lrw      	r3, 0x2000026e	// bbe0 <TK_overflow_predict+0x11c>
    bb48:	60d0      	addu      	r3, r4
    bb4a:	8b60      	ld.h      	r3, (r3, 0x0)
    bb4c:	4364      	lsli      	r3, r3, 4
    bb4e:	230e      	addi      	r3, 15
    bb50:	b861      	st.w      	r3, (r14, 0x4)
    bb52:	e3ffbcfb 	bsr      	0x3548	// 3548 <__fixunsdfsi>
    bb56:	9861      	ld.w      	r3, (r14, 0x4)
    bb58:	7cc0      	mult      	r3, r0
    bb5a:	1143      	lrw      	r2, 0x20000b36	// bbe4 <TK_overflow_predict+0x120>
    bb5c:	740d      	zexth      	r0, r3
    bb5e:	6090      	addu      	r2, r4
    bb60:	1162      	lrw      	r3, 0x20000ba6	// bbe8 <TK_overflow_predict+0x124>
    bb62:	60d0      	addu      	r3, r4
    bb64:	aa00      	st.h      	r0, (r2, 0x0)
    bb66:	8b60      	ld.h      	r3, (r3, 0x0)
    bb68:	8a00      	ld.h      	r0, (r2, 0x0)
    bb6a:	7401      	zexth      	r0, r0
    bb6c:	325f      	movi      	r2, 95
    bb6e:	74cd      	zexth      	r3, r3
    bb70:	7c08      	mult      	r0, r2
    bb72:	3164      	movi      	r1, 100
    bb74:	b861      	st.w      	r3, (r14, 0x4)
    bb76:	e3ffd2cf 	bsr      	0x6114	// 6114 <__divsi3>
    bb7a:	9861      	ld.w      	r3, (r14, 0x4)
    bb7c:	64c1      	cmplt      	r0, r3
    bb7e:	0c0a      	bf      	0xbb92	// bb92 <TK_overflow_predict+0xce>
    bb80:	1075      	lrw      	r3, 0x20000242	// bbd4 <TK_overflow_predict+0x110>
    bb82:	610c      	addu      	r4, r3
    bb84:	8c60      	ld.h      	r3, (r4, 0x0)
    bb86:	3b06      	cmphsi      	r3, 7
    bb88:	0805      	bt      	0xbb92	// bb92 <TK_overflow_predict+0xce>
    bb8a:	2300      	addi      	r3, 1
    bb8c:	ac60      	st.h      	r3, (r4, 0x0)
    bb8e:	3301      	movi      	r3, 1
    bb90:	a560      	st.b      	r3, (r5, 0x0)
    bb92:	2600      	addi      	r6, 1
    bb94:	3e51      	cmpnei      	r6, 17
    bb96:	0bc5      	bt      	0xbb20	// bb20 <TK_overflow_predict+0x5c>
    bb98:	07ac      	br      	0xbaf0	// baf0 <TK_overflow_predict+0x2c>
    bb9a:	5d4c      	addu      	r2, r5, r3
    bb9c:	8240      	ld.b      	r2, (r2, 0x0)
    bb9e:	4241      	lsli      	r2, r2, 1
    bba0:	4322      	lsli      	r1, r3, 2
    bba2:	6098      	addu      	r2, r6
    bba4:	6050      	addu      	r1, r4
    bba6:	8a40      	ld.h      	r2, (r2, 0x0)
    bba8:	91f2      	ld.w      	r7, (r1, 0x48)
    bbaa:	4254      	lsli      	r2, r2, 20
    bbac:	6c9c      	or      	r2, r7
    bbae:	2300      	addi      	r3, 1
    bbb0:	b152      	st.w      	r2, (r1, 0x48)
    bbb2:	74cc      	zextb      	r3, r3
    bbb4:	07ad      	br      	0xbb0e	// bb0e <TK_overflow_predict+0x4a>
    bbb6:	0000      	bkpt
    bbb8:	20000070 	.long	0x20000070
    bbbc:	20000a76 	.long	0x20000a76
    bbc0:	20000265 	.long	0x20000265
    bbc4:	20000981 	.long	0x20000981
    bbc8:	20000058 	.long	0x20000058
    bbcc:	20000ab0 	.long	0x20000ab0
    bbd0:	20000b00 	.long	0x20000b00
    bbd4:	20000242 	.long	0x20000242
    bbd8:	20000054 	.long	0x20000054
    bbdc:	20000268 	.long	0x20000268
    bbe0:	2000026e 	.long	0x2000026e
    bbe4:	20000b36 	.long	0x20000b36
    bbe8:	20000ba6 	.long	0x20000ba6

Disassembly of section .text.TK_Baseline_tracking:

0000bbec <TK_Baseline_tracking>:
    bbec:	14d4      	push      	r4-r7, r15
    bbee:	1421      	subi      	r14, r14, 4
    bbf0:	014a      	lrw      	r2, 0x200009f2	// bf44 <TK_Baseline_tracking+0x358>
    bbf2:	8260      	ld.b      	r3, (r2, 0x0)
    bbf4:	2300      	addi      	r3, 1
    bbf6:	74cc      	zextb      	r3, r3
    bbf8:	a260      	st.b      	r3, (r2, 0x0)
    bbfa:	8260      	ld.b      	r3, (r2, 0x0)
    bbfc:	012c      	lrw      	r1, 0x20000265	// bf48 <TK_Baseline_tracking+0x35c>
    bbfe:	8120      	ld.b      	r1, (r1, 0x0)
    bc00:	644c      	cmphs      	r3, r1
    bc02:	0803      	bt      	0xbc08	// bc08 <TK_Baseline_tracking+0x1c>
    bc04:	e800020f 	br      	0xc022	// c022 <TK_Baseline_tracking+0x436>
    bc08:	3300      	movi      	r3, 0
    bc0a:	a260      	st.b      	r3, (r2, 0x0)
    bc0c:	016f      	lrw      	r3, 0x200008f4	// bf4c <TK_Baseline_tracking+0x360>
    bc0e:	9360      	ld.w      	r3, (r3, 0x0)
    bc10:	3b40      	cmpnei      	r3, 0
    bc12:	0c03      	bf      	0xbc18	// bc18 <TK_Baseline_tracking+0x2c>
    bc14:	e8000209 	br      	0xc026	// c026 <TK_Baseline_tracking+0x43a>
    bc18:	0171      	lrw      	r3, 0x20000914	// bf50 <TK_Baseline_tracking+0x364>
    bc1a:	0150      	lrw      	r2, 0x20000292	// bf54 <TK_Baseline_tracking+0x368>
    bc1c:	3100      	movi      	r1, 0
    bc1e:	b860      	st.w      	r3, (r14, 0x0)
    bc20:	6d0f      	mov      	r4, r3
    bc22:	0111      	lrw      	r0, 0x20000854	// bf58 <TK_Baseline_tracking+0x36c>
    bc24:	4161      	lsli      	r3, r1, 1
    bc26:	98a0      	ld.w      	r5, (r14, 0x0)
    bc28:	614c      	addu      	r5, r3
    bc2a:	8da0      	ld.h      	r5, (r5, 0x0)
    bc2c:	7557      	sexth      	r5, r5
    bc2e:	3ddf      	btsti      	r5, 31
    bc30:	0c1c      	bf      	0xbc68	// bc68 <TK_Baseline_tracking+0x7c>
    bc32:	01d4      	lrw      	r6, 0x20000ba6	// bf5c <TK_Baseline_tracking+0x370>
    bc34:	58ac      	addu      	r5, r0, r3
    bc36:	618c      	addu      	r6, r3
    bc38:	8da0      	ld.h      	r5, (r5, 0x0)
    bc3a:	8ec0      	ld.h      	r6, (r6, 0x0)
    bc3c:	7599      	zexth      	r6, r6
    bc3e:	7555      	zexth      	r5, r5
    bc40:	615a      	subu      	r5, r6
    bc42:	8ac0      	ld.h      	r6, (r2, 0x0)
    bc44:	6595      	cmplt      	r5, r6
    bc46:	0811      	bt      	0xbc68	// bc68 <TK_Baseline_tracking+0x7c>
    bc48:	01b9      	lrw      	r5, 0x20000ab8	// bf60 <TK_Baseline_tracking+0x374>
    bc4a:	6144      	addu      	r5, r1
    bc4c:	85c0      	ld.b      	r6, (r5, 0x0)
    bc4e:	2600      	addi      	r6, 1
    bc50:	7598      	zextb      	r6, r6
    bc52:	a5c0      	st.b      	r6, (r5, 0x0)
    bc54:	01db      	lrw      	r6, 0x20000090	// bf64 <TK_Baseline_tracking+0x378>
    bc56:	85e0      	ld.b      	r7, (r5, 0x0)
    bc58:	86ca      	ld.b      	r6, (r6, 0xa)
    bc5a:	65d8      	cmphs      	r6, r7
    bc5c:	0806      	bt      	0xbc68	// bc68 <TK_Baseline_tracking+0x7c>
    bc5e:	01dc      	lrw      	r6, 0x20000960	// bf68 <TK_Baseline_tracking+0x37c>
    bc60:	3701      	movi      	r7, 1
    bc62:	a6e0      	st.b      	r7, (r6, 0x0)
    bc64:	3600      	movi      	r6, 0
    bc66:	a5c0      	st.b      	r6, (r5, 0x0)
    bc68:	5cac      	addu      	r5, r4, r3
    bc6a:	8da0      	ld.h      	r5, (r5, 0x0)
    bc6c:	7557      	sexth      	r5, r5
    bc6e:	3d20      	cmplti      	r5, 1
    bc70:	081d      	bt      	0xbcaa	// bcaa <TK_Baseline_tracking+0xbe>
    bc72:	02a4      	lrw      	r5, 0x20000ba6	// bf5c <TK_Baseline_tracking+0x370>
    bc74:	614c      	addu      	r5, r3
    bc76:	58cc      	addu      	r6, r0, r3
    bc78:	8da0      	ld.h      	r5, (r5, 0x0)
    bc7a:	8ec0      	ld.h      	r6, (r6, 0x0)
    bc7c:	7599      	zexth      	r6, r6
    bc7e:	7555      	zexth      	r5, r5
    bc80:	615a      	subu      	r5, r6
    bc82:	8ac0      	ld.h      	r6, (r2, 0x0)
    bc84:	46c2      	lsli      	r6, r6, 2
    bc86:	6595      	cmplt      	r5, r6
    bc88:	0811      	bt      	0xbcaa	// bcaa <TK_Baseline_tracking+0xbe>
    bc8a:	02a6      	lrw      	r5, 0x20000a20	// bf6c <TK_Baseline_tracking+0x380>
    bc8c:	6144      	addu      	r5, r1
    bc8e:	85c0      	ld.b      	r6, (r5, 0x0)
    bc90:	2600      	addi      	r6, 1
    bc92:	7598      	zextb      	r6, r6
    bc94:	a5c0      	st.b      	r6, (r5, 0x0)
    bc96:	02cb      	lrw      	r6, 0x20000090	// bf64 <TK_Baseline_tracking+0x378>
    bc98:	85e0      	ld.b      	r7, (r5, 0x0)
    bc9a:	86cb      	ld.b      	r6, (r6, 0xb)
    bc9c:	65d8      	cmphs      	r6, r7
    bc9e:	0806      	bt      	0xbcaa	// bcaa <TK_Baseline_tracking+0xbe>
    bca0:	02cd      	lrw      	r6, 0x20000960	// bf68 <TK_Baseline_tracking+0x37c>
    bca2:	3701      	movi      	r7, 1
    bca4:	a6e0      	st.b      	r7, (r6, 0x0)
    bca6:	3600      	movi      	r6, 0
    bca8:	a5c0      	st.b      	r6, (r5, 0x0)
    bcaa:	5cac      	addu      	r5, r4, r3
    bcac:	8da0      	ld.h      	r5, (r5, 0x0)
    bcae:	7557      	sexth      	r5, r5
    bcb0:	3ddf      	btsti      	r5, 31
    bcb2:	0c10      	bf      	0xbcd2	// bcd2 <TK_Baseline_tracking+0xe6>
    bcb4:	02f5      	lrw      	r7, 0x20000ba6	// bf5c <TK_Baseline_tracking+0x370>
    bcb6:	58cc      	addu      	r6, r0, r3
    bcb8:	61cc      	addu      	r7, r3
    bcba:	8ea0      	ld.h      	r5, (r6, 0x0)
    bcbc:	8fe0      	ld.h      	r7, (r7, 0x0)
    bcbe:	75dd      	zexth      	r7, r7
    bcc0:	7555      	zexth      	r5, r5
    bcc2:	615e      	subu      	r5, r7
    bcc4:	8ae0      	ld.h      	r7, (r2, 0x0)
    bcc6:	65d5      	cmplt      	r5, r7
    bcc8:	0c05      	bf      	0xbcd2	// bcd2 <TK_Baseline_tracking+0xe6>
    bcca:	8ea0      	ld.h      	r5, (r6, 0x0)
    bccc:	2d00      	subi      	r5, 1
    bcce:	7555      	zexth      	r5, r5
    bcd0:	aea0      	st.h      	r5, (r6, 0x0)
    bcd2:	5cac      	addu      	r5, r4, r3
    bcd4:	8da0      	ld.h      	r5, (r5, 0x0)
    bcd6:	7557      	sexth      	r5, r5
    bcd8:	3ddf      	btsti      	r5, 31
    bcda:	0c11      	bf      	0xbcfc	// bcfc <TK_Baseline_tracking+0x110>
    bcdc:	02ff      	lrw      	r7, 0x20000ba6	// bf5c <TK_Baseline_tracking+0x370>
    bcde:	58cc      	addu      	r6, r0, r3
    bce0:	61cc      	addu      	r7, r3
    bce2:	8ea0      	ld.h      	r5, (r6, 0x0)
    bce4:	8fe0      	ld.h      	r7, (r7, 0x0)
    bce6:	75dd      	zexth      	r7, r7
    bce8:	7555      	zexth      	r5, r5
    bcea:	615e      	subu      	r5, r7
    bcec:	8ae0      	ld.h      	r7, (r2, 0x0)
    bcee:	4fe1      	lsri      	r7, r7, 1
    bcf0:	65d5      	cmplt      	r5, r7
    bcf2:	0805      	bt      	0xbcfc	// bcfc <TK_Baseline_tracking+0x110>
    bcf4:	8ea0      	ld.h      	r5, (r6, 0x0)
    bcf6:	2d01      	subi      	r5, 2
    bcf8:	7555      	zexth      	r5, r5
    bcfa:	aea0      	st.h      	r5, (r6, 0x0)
    bcfc:	5ccc      	addu      	r6, r4, r3
    bcfe:	8ea0      	ld.h      	r5, (r6, 0x0)
    bd00:	7557      	sexth      	r5, r5
    bd02:	3d20      	cmplti      	r5, 1
    bd04:	080c      	bt      	0xbd1c	// bd1c <TK_Baseline_tracking+0x130>
    bd06:	8ec0      	ld.h      	r6, (r6, 0x0)
    bd08:	8aa0      	ld.h      	r5, (r2, 0x0)
    bd0a:	759b      	sexth      	r6, r6
    bd0c:	4da1      	lsri      	r5, r5, 1
    bd0e:	6559      	cmplt      	r6, r5
    bd10:	0c06      	bf      	0xbd1c	// bd1c <TK_Baseline_tracking+0x130>
    bd12:	58cc      	addu      	r6, r0, r3
    bd14:	8ea0      	ld.h      	r5, (r6, 0x0)
    bd16:	2500      	addi      	r5, 1
    bd18:	7555      	zexth      	r5, r5
    bd1a:	aea0      	st.h      	r5, (r6, 0x0)
    bd1c:	5ccc      	addu      	r6, r4, r3
    bd1e:	8ea0      	ld.h      	r5, (r6, 0x0)
    bd20:	7557      	sexth      	r5, r5
    bd22:	3d20      	cmplti      	r5, 1
    bd24:	0810      	bt      	0xbd44	// bd44 <TK_Baseline_tracking+0x158>
    bd26:	8ee0      	ld.h      	r7, (r6, 0x0)
    bd28:	75df      	sexth      	r7, r7
    bd2a:	8aa0      	ld.h      	r5, (r2, 0x0)
    bd2c:	655d      	cmplt      	r7, r5
    bd2e:	0c0b      	bf      	0xbd44	// bd44 <TK_Baseline_tracking+0x158>
    bd30:	8ec0      	ld.h      	r6, (r6, 0x0)
    bd32:	759b      	sexth      	r6, r6
    bd34:	4da1      	lsri      	r5, r5, 1
    bd36:	6559      	cmplt      	r6, r5
    bd38:	0806      	bt      	0xbd44	// bd44 <TK_Baseline_tracking+0x158>
    bd3a:	60c0      	addu      	r3, r0
    bd3c:	8ba0      	ld.h      	r5, (r3, 0x0)
    bd3e:	2501      	addi      	r5, 2
    bd40:	7555      	zexth      	r5, r5
    bd42:	aba0      	st.h      	r5, (r3, 0x0)
    bd44:	2100      	addi      	r1, 1
    bd46:	3951      	cmpnei      	r1, 17
    bd48:	2201      	addi      	r2, 2
    bd4a:	0b6d      	bt      	0xbc24	// bc24 <TK_Baseline_tracking+0x38>
    bd4c:	0376      	lrw      	r3, 0x20000888	// bf70 <TK_Baseline_tracking+0x384>
    bd4e:	9360      	ld.w      	r3, (r3, 0x0)
    bd50:	3b40      	cmpnei      	r3, 0
    bd52:	0980      	bt      	0xc052	// c052 <TK_Baseline_tracking+0x466>
    bd54:	0377      	lrw      	r3, 0x20000a54	// bf74 <TK_Baseline_tracking+0x388>
    bd56:	035f      	lrw      	r2, 0x20000292	// bf54 <TK_Baseline_tracking+0x368>
    bd58:	3100      	movi      	r1, 0
    bd5a:	b860      	st.w      	r3, (r14, 0x0)
    bd5c:	6d0f      	mov      	r4, r3
    bd5e:	0318      	lrw      	r0, 0x200009fe	// bf78 <TK_Baseline_tracking+0x38c>
    bd60:	4161      	lsli      	r3, r1, 1
    bd62:	98a0      	ld.w      	r5, (r14, 0x0)
    bd64:	614c      	addu      	r5, r3
    bd66:	8da0      	ld.h      	r5, (r5, 0x0)
    bd68:	7557      	sexth      	r5, r5
    bd6a:	3ddf      	btsti      	r5, 31
    bd6c:	0c1c      	bf      	0xbda4	// bda4 <TK_Baseline_tracking+0x1b8>
    bd6e:	03db      	lrw      	r6, 0x2000093c	// bf7c <TK_Baseline_tracking+0x390>
    bd70:	58ac      	addu      	r5, r0, r3
    bd72:	618c      	addu      	r6, r3
    bd74:	8da0      	ld.h      	r5, (r5, 0x0)
    bd76:	8ec0      	ld.h      	r6, (r6, 0x0)
    bd78:	7599      	zexth      	r6, r6
    bd7a:	7555      	zexth      	r5, r5
    bd7c:	615a      	subu      	r5, r6
    bd7e:	8ac0      	ld.h      	r6, (r2, 0x0)
    bd80:	6595      	cmplt      	r5, r6
    bd82:	0811      	bt      	0xbda4	// bda4 <TK_Baseline_tracking+0x1b8>
    bd84:	13bf      	lrw      	r5, 0x20000a98	// bf80 <TK_Baseline_tracking+0x394>
    bd86:	6144      	addu      	r5, r1
    bd88:	85c0      	ld.b      	r6, (r5, 0x0)
    bd8a:	2600      	addi      	r6, 1
    bd8c:	7598      	zextb      	r6, r6
    bd8e:	a5c0      	st.b      	r6, (r5, 0x0)
    bd90:	13d5      	lrw      	r6, 0x20000090	// bf64 <TK_Baseline_tracking+0x378>
    bd92:	85e0      	ld.b      	r7, (r5, 0x0)
    bd94:	86ca      	ld.b      	r6, (r6, 0xa)
    bd96:	65d8      	cmphs      	r6, r7
    bd98:	0806      	bt      	0xbda4	// bda4 <TK_Baseline_tracking+0x1b8>
    bd9a:	13d4      	lrw      	r6, 0x20000960	// bf68 <TK_Baseline_tracking+0x37c>
    bd9c:	3701      	movi      	r7, 1
    bd9e:	a6e1      	st.b      	r7, (r6, 0x1)
    bda0:	3600      	movi      	r6, 0
    bda2:	a5c0      	st.b      	r6, (r5, 0x0)
    bda4:	5cac      	addu      	r5, r4, r3
    bda6:	8da0      	ld.h      	r5, (r5, 0x0)
    bda8:	7557      	sexth      	r5, r5
    bdaa:	3d20      	cmplti      	r5, 1
    bdac:	081d      	bt      	0xbde6	// bde6 <TK_Baseline_tracking+0x1fa>
    bdae:	13b4      	lrw      	r5, 0x2000093c	// bf7c <TK_Baseline_tracking+0x390>
    bdb0:	614c      	addu      	r5, r3
    bdb2:	58cc      	addu      	r6, r0, r3
    bdb4:	8da0      	ld.h      	r5, (r5, 0x0)
    bdb6:	8ec0      	ld.h      	r6, (r6, 0x0)
    bdb8:	7599      	zexth      	r6, r6
    bdba:	7555      	zexth      	r5, r5
    bdbc:	615a      	subu      	r5, r6
    bdbe:	8ac0      	ld.h      	r6, (r2, 0x0)
    bdc0:	46c2      	lsli      	r6, r6, 2
    bdc2:	6595      	cmplt      	r5, r6
    bdc4:	0811      	bt      	0xbde6	// bde6 <TK_Baseline_tracking+0x1fa>
    bdc6:	13b0      	lrw      	r5, 0x2000099a	// bf84 <TK_Baseline_tracking+0x398>
    bdc8:	6144      	addu      	r5, r1
    bdca:	85c0      	ld.b      	r6, (r5, 0x0)
    bdcc:	2600      	addi      	r6, 1
    bdce:	7598      	zextb      	r6, r6
    bdd0:	a5c0      	st.b      	r6, (r5, 0x0)
    bdd2:	13c5      	lrw      	r6, 0x20000090	// bf64 <TK_Baseline_tracking+0x378>
    bdd4:	85e0      	ld.b      	r7, (r5, 0x0)
    bdd6:	86cb      	ld.b      	r6, (r6, 0xb)
    bdd8:	65d8      	cmphs      	r6, r7
    bdda:	0806      	bt      	0xbde6	// bde6 <TK_Baseline_tracking+0x1fa>
    bddc:	13c3      	lrw      	r6, 0x20000960	// bf68 <TK_Baseline_tracking+0x37c>
    bdde:	3701      	movi      	r7, 1
    bde0:	a6e1      	st.b      	r7, (r6, 0x1)
    bde2:	3600      	movi      	r6, 0
    bde4:	a5c0      	st.b      	r6, (r5, 0x0)
    bde6:	5cac      	addu      	r5, r4, r3
    bde8:	8da0      	ld.h      	r5, (r5, 0x0)
    bdea:	7557      	sexth      	r5, r5
    bdec:	3ddf      	btsti      	r5, 31
    bdee:	0c10      	bf      	0xbe0e	// be0e <TK_Baseline_tracking+0x222>
    bdf0:	13e3      	lrw      	r7, 0x2000093c	// bf7c <TK_Baseline_tracking+0x390>
    bdf2:	58cc      	addu      	r6, r0, r3
    bdf4:	61cc      	addu      	r7, r3
    bdf6:	8ea0      	ld.h      	r5, (r6, 0x0)
    bdf8:	8fe0      	ld.h      	r7, (r7, 0x0)
    bdfa:	75dd      	zexth      	r7, r7
    bdfc:	7555      	zexth      	r5, r5
    bdfe:	615e      	subu      	r5, r7
    be00:	8ae0      	ld.h      	r7, (r2, 0x0)
    be02:	65d5      	cmplt      	r5, r7
    be04:	0c05      	bf      	0xbe0e	// be0e <TK_Baseline_tracking+0x222>
    be06:	8ea0      	ld.h      	r5, (r6, 0x0)
    be08:	2d00      	subi      	r5, 1
    be0a:	7555      	zexth      	r5, r5
    be0c:	aea0      	st.h      	r5, (r6, 0x0)
    be0e:	5cac      	addu      	r5, r4, r3
    be10:	8da0      	ld.h      	r5, (r5, 0x0)
    be12:	7557      	sexth      	r5, r5
    be14:	3ddf      	btsti      	r5, 31
    be16:	0c11      	bf      	0xbe38	// be38 <TK_Baseline_tracking+0x24c>
    be18:	12f9      	lrw      	r7, 0x2000093c	// bf7c <TK_Baseline_tracking+0x390>
    be1a:	58cc      	addu      	r6, r0, r3
    be1c:	61cc      	addu      	r7, r3
    be1e:	8ea0      	ld.h      	r5, (r6, 0x0)
    be20:	8fe0      	ld.h      	r7, (r7, 0x0)
    be22:	75dd      	zexth      	r7, r7
    be24:	7555      	zexth      	r5, r5
    be26:	615e      	subu      	r5, r7
    be28:	8ae0      	ld.h      	r7, (r2, 0x0)
    be2a:	4fe1      	lsri      	r7, r7, 1
    be2c:	65d5      	cmplt      	r5, r7
    be2e:	0805      	bt      	0xbe38	// be38 <TK_Baseline_tracking+0x24c>
    be30:	8ea0      	ld.h      	r5, (r6, 0x0)
    be32:	2d01      	subi      	r5, 2
    be34:	7555      	zexth      	r5, r5
    be36:	aea0      	st.h      	r5, (r6, 0x0)
    be38:	5ccc      	addu      	r6, r4, r3
    be3a:	8ea0      	ld.h      	r5, (r6, 0x0)
    be3c:	7557      	sexth      	r5, r5
    be3e:	3d20      	cmplti      	r5, 1
    be40:	080c      	bt      	0xbe58	// be58 <TK_Baseline_tracking+0x26c>
    be42:	8ec0      	ld.h      	r6, (r6, 0x0)
    be44:	8aa0      	ld.h      	r5, (r2, 0x0)
    be46:	759b      	sexth      	r6, r6
    be48:	4da1      	lsri      	r5, r5, 1
    be4a:	6559      	cmplt      	r6, r5
    be4c:	0c06      	bf      	0xbe58	// be58 <TK_Baseline_tracking+0x26c>
    be4e:	58cc      	addu      	r6, r0, r3
    be50:	8ea0      	ld.h      	r5, (r6, 0x0)
    be52:	2500      	addi      	r5, 1
    be54:	7555      	zexth      	r5, r5
    be56:	aea0      	st.h      	r5, (r6, 0x0)
    be58:	5ccc      	addu      	r6, r4, r3
    be5a:	8ea0      	ld.h      	r5, (r6, 0x0)
    be5c:	7557      	sexth      	r5, r5
    be5e:	3d20      	cmplti      	r5, 1
    be60:	0810      	bt      	0xbe80	// be80 <TK_Baseline_tracking+0x294>
    be62:	8ee0      	ld.h      	r7, (r6, 0x0)
    be64:	75df      	sexth      	r7, r7
    be66:	8aa0      	ld.h      	r5, (r2, 0x0)
    be68:	655d      	cmplt      	r7, r5
    be6a:	0c0b      	bf      	0xbe80	// be80 <TK_Baseline_tracking+0x294>
    be6c:	8ec0      	ld.h      	r6, (r6, 0x0)
    be6e:	759b      	sexth      	r6, r6
    be70:	4da1      	lsri      	r5, r5, 1
    be72:	6559      	cmplt      	r6, r5
    be74:	0806      	bt      	0xbe80	// be80 <TK_Baseline_tracking+0x294>
    be76:	60c0      	addu      	r3, r0
    be78:	8ba0      	ld.h      	r5, (r3, 0x0)
    be7a:	2501      	addi      	r5, 2
    be7c:	7555      	zexth      	r5, r5
    be7e:	aba0      	st.h      	r5, (r3, 0x0)
    be80:	2100      	addi      	r1, 1
    be82:	3951      	cmpnei      	r1, 17
    be84:	2201      	addi      	r2, 2
    be86:	0b6d      	bt      	0xbd60	// bd60 <TK_Baseline_tracking+0x174>
    be88:	1260      	lrw      	r3, 0x2000096c	// bf88 <TK_Baseline_tracking+0x39c>
    be8a:	9360      	ld.w      	r3, (r3, 0x0)
    be8c:	3b40      	cmpnei      	r3, 0
    be8e:	08f8      	bt      	0xc07e	// c07e <TK_Baseline_tracking+0x492>
    be90:	117f      	lrw      	r3, 0x20000b80	// bf8c <TK_Baseline_tracking+0x3a0>
    be92:	1151      	lrw      	r2, 0x20000292	// bf54 <TK_Baseline_tracking+0x368>
    be94:	3100      	movi      	r1, 0
    be96:	b860      	st.w      	r3, (r14, 0x0)
    be98:	6d0f      	mov      	r4, r3
    be9a:	111e      	lrw      	r0, 0x20000b14	// bf90 <TK_Baseline_tracking+0x3a4>
    be9c:	4161      	lsli      	r3, r1, 1
    be9e:	98a0      	ld.w      	r5, (r14, 0x0)
    bea0:	614c      	addu      	r5, r3
    bea2:	8da0      	ld.h      	r5, (r5, 0x0)
    bea4:	7557      	sexth      	r5, r5
    bea6:	3ddf      	btsti      	r5, 31
    bea8:	0c1c      	bf      	0xbee0	// bee0 <TK_Baseline_tracking+0x2f4>
    beaa:	11db      	lrw      	r6, 0x20000a32	// bf94 <TK_Baseline_tracking+0x3a8>
    beac:	58ac      	addu      	r5, r0, r3
    beae:	618c      	addu      	r6, r3
    beb0:	8da0      	ld.h      	r5, (r5, 0x0)
    beb2:	8ec0      	ld.h      	r6, (r6, 0x0)
    beb4:	7599      	zexth      	r6, r6
    beb6:	7555      	zexth      	r5, r5
    beb8:	615a      	subu      	r5, r6
    beba:	8ac0      	ld.h      	r6, (r2, 0x0)
    bebc:	6595      	cmplt      	r5, r6
    bebe:	0811      	bt      	0xbee0	// bee0 <TK_Baseline_tracking+0x2f4>
    bec0:	11b6      	lrw      	r5, 0x20000988	// bf98 <TK_Baseline_tracking+0x3ac>
    bec2:	6144      	addu      	r5, r1
    bec4:	85c0      	ld.b      	r6, (r5, 0x0)
    bec6:	2600      	addi      	r6, 1
    bec8:	7598      	zextb      	r6, r6
    beca:	a5c0      	st.b      	r6, (r5, 0x0)
    becc:	11c6      	lrw      	r6, 0x20000090	// bf64 <TK_Baseline_tracking+0x378>
    bece:	85e0      	ld.b      	r7, (r5, 0x0)
    bed0:	86ca      	ld.b      	r6, (r6, 0xa)
    bed2:	65d8      	cmphs      	r6, r7
    bed4:	0806      	bt      	0xbee0	// bee0 <TK_Baseline_tracking+0x2f4>
    bed6:	11c5      	lrw      	r6, 0x20000960	// bf68 <TK_Baseline_tracking+0x37c>
    bed8:	3701      	movi      	r7, 1
    beda:	a6e2      	st.b      	r7, (r6, 0x2)
    bedc:	3600      	movi      	r6, 0
    bede:	a5c0      	st.b      	r6, (r5, 0x0)
    bee0:	5cac      	addu      	r5, r4, r3
    bee2:	8da0      	ld.h      	r5, (r5, 0x0)
    bee4:	7557      	sexth      	r5, r5
    bee6:	3d20      	cmplti      	r5, 1
    bee8:	081d      	bt      	0xbf22	// bf22 <TK_Baseline_tracking+0x336>
    beea:	11ab      	lrw      	r5, 0x20000a32	// bf94 <TK_Baseline_tracking+0x3a8>
    beec:	614c      	addu      	r5, r3
    beee:	58cc      	addu      	r6, r0, r3
    bef0:	8da0      	ld.h      	r5, (r5, 0x0)
    bef2:	8ec0      	ld.h      	r6, (r6, 0x0)
    bef4:	7599      	zexth      	r6, r6
    bef6:	7555      	zexth      	r5, r5
    bef8:	615a      	subu      	r5, r6
    befa:	8ac0      	ld.h      	r6, (r2, 0x0)
    befc:	46c2      	lsli      	r6, r6, 2
    befe:	6595      	cmplt      	r5, r6
    bf00:	0811      	bt      	0xbf22	// bf22 <TK_Baseline_tracking+0x336>
    bf02:	11a7      	lrw      	r5, 0x20000876	// bf9c <TK_Baseline_tracking+0x3b0>
    bf04:	6144      	addu      	r5, r1
    bf06:	85c0      	ld.b      	r6, (r5, 0x0)
    bf08:	2600      	addi      	r6, 1
    bf0a:	7598      	zextb      	r6, r6
    bf0c:	a5c0      	st.b      	r6, (r5, 0x0)
    bf0e:	10d6      	lrw      	r6, 0x20000090	// bf64 <TK_Baseline_tracking+0x378>
    bf10:	85e0      	ld.b      	r7, (r5, 0x0)
    bf12:	86cb      	ld.b      	r6, (r6, 0xb)
    bf14:	65d8      	cmphs      	r6, r7
    bf16:	0806      	bt      	0xbf22	// bf22 <TK_Baseline_tracking+0x336>
    bf18:	10d4      	lrw      	r6, 0x20000960	// bf68 <TK_Baseline_tracking+0x37c>
    bf1a:	3701      	movi      	r7, 1
    bf1c:	a6e2      	st.b      	r7, (r6, 0x2)
    bf1e:	3600      	movi      	r6, 0
    bf20:	a5c0      	st.b      	r6, (r5, 0x0)
    bf22:	5cac      	addu      	r5, r4, r3
    bf24:	8da0      	ld.h      	r5, (r5, 0x0)
    bf26:	7557      	sexth      	r5, r5
    bf28:	3ddf      	btsti      	r5, 31
    bf2a:	0c3f      	bf      	0xbfa8	// bfa8 <TK_Baseline_tracking+0x3bc>
    bf2c:	10fa      	lrw      	r7, 0x20000a32	// bf94 <TK_Baseline_tracking+0x3a8>
    bf2e:	58cc      	addu      	r6, r0, r3
    bf30:	61cc      	addu      	r7, r3
    bf32:	8ea0      	ld.h      	r5, (r6, 0x0)
    bf34:	8fe0      	ld.h      	r7, (r7, 0x0)
    bf36:	75dd      	zexth      	r7, r7
    bf38:	7555      	zexth      	r5, r5
    bf3a:	615e      	subu      	r5, r7
    bf3c:	8ae0      	ld.h      	r7, (r2, 0x0)
    bf3e:	65d5      	cmplt      	r5, r7
    bf40:	0c34      	bf      	0xbfa8	// bfa8 <TK_Baseline_tracking+0x3bc>
    bf42:	042f      	br      	0xbfa0	// bfa0 <TK_Baseline_tracking+0x3b4>
    bf44:	200009f2 	.long	0x200009f2
    bf48:	20000265 	.long	0x20000265
    bf4c:	200008f4 	.long	0x200008f4
    bf50:	20000914 	.long	0x20000914
    bf54:	20000292 	.long	0x20000292
    bf58:	20000854 	.long	0x20000854
    bf5c:	20000ba6 	.long	0x20000ba6
    bf60:	20000ab8 	.long	0x20000ab8
    bf64:	20000090 	.long	0x20000090
    bf68:	20000960 	.long	0x20000960
    bf6c:	20000a20 	.long	0x20000a20
    bf70:	20000888 	.long	0x20000888
    bf74:	20000a54 	.long	0x20000a54
    bf78:	200009fe 	.long	0x200009fe
    bf7c:	2000093c 	.long	0x2000093c
    bf80:	20000a98 	.long	0x20000a98
    bf84:	2000099a 	.long	0x2000099a
    bf88:	2000096c 	.long	0x2000096c
    bf8c:	20000b80 	.long	0x20000b80
    bf90:	20000b14 	.long	0x20000b14
    bf94:	20000a32 	.long	0x20000a32
    bf98:	20000988 	.long	0x20000988
    bf9c:	20000876 	.long	0x20000876
    bfa0:	8ea0      	ld.h      	r5, (r6, 0x0)
    bfa2:	2d00      	subi      	r5, 1
    bfa4:	7555      	zexth      	r5, r5
    bfa6:	aea0      	st.h      	r5, (r6, 0x0)
    bfa8:	5cac      	addu      	r5, r4, r3
    bfaa:	8da0      	ld.h      	r5, (r5, 0x0)
    bfac:	7557      	sexth      	r5, r5
    bfae:	3ddf      	btsti      	r5, 31
    bfb0:	0c11      	bf      	0xbfd2	// bfd2 <TK_Baseline_tracking+0x3e6>
    bfb2:	11ff      	lrw      	r7, 0x20000a32	// c0ac <TK_Baseline_tracking+0x4c0>
    bfb4:	58cc      	addu      	r6, r0, r3
    bfb6:	61cc      	addu      	r7, r3
    bfb8:	8ea0      	ld.h      	r5, (r6, 0x0)
    bfba:	8fe0      	ld.h      	r7, (r7, 0x0)
    bfbc:	75dd      	zexth      	r7, r7
    bfbe:	7555      	zexth      	r5, r5
    bfc0:	615e      	subu      	r5, r7
    bfc2:	8ae0      	ld.h      	r7, (r2, 0x0)
    bfc4:	4fe1      	lsri      	r7, r7, 1
    bfc6:	65d5      	cmplt      	r5, r7
    bfc8:	0805      	bt      	0xbfd2	// bfd2 <TK_Baseline_tracking+0x3e6>
    bfca:	8ea0      	ld.h      	r5, (r6, 0x0)
    bfcc:	2d01      	subi      	r5, 2
    bfce:	7555      	zexth      	r5, r5
    bfd0:	aea0      	st.h      	r5, (r6, 0x0)
    bfd2:	5ccc      	addu      	r6, r4, r3
    bfd4:	8ea0      	ld.h      	r5, (r6, 0x0)
    bfd6:	7557      	sexth      	r5, r5
    bfd8:	3d20      	cmplti      	r5, 1
    bfda:	080c      	bt      	0xbff2	// bff2 <TK_Baseline_tracking+0x406>
    bfdc:	8ec0      	ld.h      	r6, (r6, 0x0)
    bfde:	8aa0      	ld.h      	r5, (r2, 0x0)
    bfe0:	759b      	sexth      	r6, r6
    bfe2:	4da1      	lsri      	r5, r5, 1
    bfe4:	6559      	cmplt      	r6, r5
    bfe6:	0c06      	bf      	0xbff2	// bff2 <TK_Baseline_tracking+0x406>
    bfe8:	58cc      	addu      	r6, r0, r3
    bfea:	8ea0      	ld.h      	r5, (r6, 0x0)
    bfec:	2500      	addi      	r5, 1
    bfee:	7555      	zexth      	r5, r5
    bff0:	aea0      	st.h      	r5, (r6, 0x0)
    bff2:	5ccc      	addu      	r6, r4, r3
    bff4:	8ea0      	ld.h      	r5, (r6, 0x0)
    bff6:	7557      	sexth      	r5, r5
    bff8:	3d20      	cmplti      	r5, 1
    bffa:	0810      	bt      	0xc01a	// c01a <TK_Baseline_tracking+0x42e>
    bffc:	8ee0      	ld.h      	r7, (r6, 0x0)
    bffe:	75df      	sexth      	r7, r7
    c000:	8aa0      	ld.h      	r5, (r2, 0x0)
    c002:	655d      	cmplt      	r7, r5
    c004:	0c0b      	bf      	0xc01a	// c01a <TK_Baseline_tracking+0x42e>
    c006:	8ec0      	ld.h      	r6, (r6, 0x0)
    c008:	759b      	sexth      	r6, r6
    c00a:	4da1      	lsri      	r5, r5, 1
    c00c:	6559      	cmplt      	r6, r5
    c00e:	0806      	bt      	0xc01a	// c01a <TK_Baseline_tracking+0x42e>
    c010:	60c0      	addu      	r3, r0
    c012:	8ba0      	ld.h      	r5, (r3, 0x0)
    c014:	2501      	addi      	r5, 2
    c016:	7555      	zexth      	r5, r5
    c018:	aba0      	st.h      	r5, (r3, 0x0)
    c01a:	2100      	addi      	r1, 1
    c01c:	3951      	cmpnei      	r1, 17
    c01e:	2201      	addi      	r2, 2
    c020:	0b3e      	bt      	0xbe9c	// be9c <TK_Baseline_tracking+0x2b0>
    c022:	1401      	addi      	r14, r14, 4
    c024:	1494      	pop      	r4-r7, r15
    c026:	e3fff6c9 	bsr      	0xadb8	// adb8 <get_key_number0>
    c02a:	1162      	lrw      	r3, 0x20000090	// c0b0 <TK_Baseline_tracking+0x4c4>
    c02c:	836c      	ld.b      	r3, (r3, 0xc)
    c02e:	64c0      	cmphs      	r0, r3
    c030:	1141      	lrw      	r2, 0x2000088c	// c0b4 <TK_Baseline_tracking+0x4c8>
    c032:	0c0e      	bf      	0xc04e	// c04e <TK_Baseline_tracking+0x462>
    c034:	8260      	ld.b      	r3, (r2, 0x0)
    c036:	74cc      	zextb      	r3, r3
    c038:	3b01      	cmphsi      	r3, 2
    c03a:	0c05      	bf      	0xc044	// c044 <TK_Baseline_tracking+0x458>
    c03c:	107f      	lrw      	r3, 0x20000960	// c0b8 <TK_Baseline_tracking+0x4cc>
    c03e:	3201      	movi      	r2, 1
    c040:	a340      	st.b      	r2, (r3, 0x0)
    c042:	0685      	br      	0xbd4c	// bd4c <TK_Baseline_tracking+0x160>
    c044:	8260      	ld.b      	r3, (r2, 0x0)
    c046:	2300      	addi      	r3, 1
    c048:	74cc      	zextb      	r3, r3
    c04a:	a260      	st.b      	r3, (r2, 0x0)
    c04c:	0680      	br      	0xbd4c	// bd4c <TK_Baseline_tracking+0x160>
    c04e:	3300      	movi      	r3, 0
    c050:	07fd      	br      	0xc04a	// c04a <TK_Baseline_tracking+0x45e>
    c052:	e3fff6c7 	bsr      	0xade0	// ade0 <get_key_number1>
    c056:	1077      	lrw      	r3, 0x20000090	// c0b0 <TK_Baseline_tracking+0x4c4>
    c058:	836c      	ld.b      	r3, (r3, 0xc)
    c05a:	64c0      	cmphs      	r0, r3
    c05c:	1056      	lrw      	r2, 0x2000088c	// c0b4 <TK_Baseline_tracking+0x4c8>
    c05e:	0c0e      	bf      	0xc07a	// c07a <TK_Baseline_tracking+0x48e>
    c060:	8261      	ld.b      	r3, (r2, 0x1)
    c062:	74cc      	zextb      	r3, r3
    c064:	3b01      	cmphsi      	r3, 2
    c066:	0c05      	bf      	0xc070	// c070 <TK_Baseline_tracking+0x484>
    c068:	1074      	lrw      	r3, 0x20000960	// c0b8 <TK_Baseline_tracking+0x4cc>
    c06a:	3201      	movi      	r2, 1
    c06c:	a341      	st.b      	r2, (r3, 0x1)
    c06e:	070d      	br      	0xbe88	// be88 <TK_Baseline_tracking+0x29c>
    c070:	8261      	ld.b      	r3, (r2, 0x1)
    c072:	2300      	addi      	r3, 1
    c074:	74cc      	zextb      	r3, r3
    c076:	a261      	st.b      	r3, (r2, 0x1)
    c078:	0708      	br      	0xbe88	// be88 <TK_Baseline_tracking+0x29c>
    c07a:	3300      	movi      	r3, 0
    c07c:	07fd      	br      	0xc076	// c076 <TK_Baseline_tracking+0x48a>
    c07e:	e3fff6c5 	bsr      	0xae08	// ae08 <get_key_number2>
    c082:	106c      	lrw      	r3, 0x20000090	// c0b0 <TK_Baseline_tracking+0x4c4>
    c084:	836c      	ld.b      	r3, (r3, 0xc)
    c086:	64c0      	cmphs      	r0, r3
    c088:	104b      	lrw      	r2, 0x2000088c	// c0b4 <TK_Baseline_tracking+0x4c8>
    c08a:	0c0e      	bf      	0xc0a6	// c0a6 <TK_Baseline_tracking+0x4ba>
    c08c:	8262      	ld.b      	r3, (r2, 0x2)
    c08e:	74cc      	zextb      	r3, r3
    c090:	3b01      	cmphsi      	r3, 2
    c092:	0c05      	bf      	0xc09c	// c09c <TK_Baseline_tracking+0x4b0>
    c094:	1069      	lrw      	r3, 0x20000960	// c0b8 <TK_Baseline_tracking+0x4cc>
    c096:	3201      	movi      	r2, 1
    c098:	a342      	st.b      	r2, (r3, 0x2)
    c09a:	07c4      	br      	0xc022	// c022 <TK_Baseline_tracking+0x436>
    c09c:	8262      	ld.b      	r3, (r2, 0x2)
    c09e:	2300      	addi      	r3, 1
    c0a0:	74cc      	zextb      	r3, r3
    c0a2:	a262      	st.b      	r3, (r2, 0x2)
    c0a4:	07bf      	br      	0xc022	// c022 <TK_Baseline_tracking+0x436>
    c0a6:	3300      	movi      	r3, 0
    c0a8:	07fd      	br      	0xc0a2	// c0a2 <TK_Baseline_tracking+0x4b6>
    c0aa:	0000      	bkpt
    c0ac:	20000a32 	.long	0x20000a32
    c0b0:	20000090 	.long	0x20000090
    c0b4:	2000088c 	.long	0x2000088c
    c0b8:	20000960 	.long	0x20000960

Disassembly of section .text.TK_result_prog:

0000c0bc <TK_result_prog>:
    c0bc:	14d4      	push      	r4-r7, r15
    c0be:	1424      	subi      	r14, r14, 16
    c0c0:	111f      	lrw      	r0, 0x200008f4	// c1bc <TK_result_prog+0x100>
    c0c2:	1220      	lrw      	r1, 0x20000888	// c1c0 <TK_result_prog+0x104>
    c0c4:	1240      	lrw      	r2, 0x2000096c	// c1c4 <TK_result_prog+0x108>
    c0c6:	b821      	st.w      	r1, (r14, 0x4)
    c0c8:	9060      	ld.w      	r3, (r0, 0x0)
    c0ca:	91a0      	ld.w      	r5, (r1, 0x0)
    c0cc:	6cd4      	or      	r3, r5
    c0ce:	9280      	ld.w      	r4, (r2, 0x0)
    c0d0:	6cd0      	or      	r3, r4
    c0d2:	3b40      	cmpnei      	r3, 0
    c0d4:	b800      	st.w      	r0, (r14, 0x0)
    c0d6:	b842      	st.w      	r2, (r14, 0x8)
    c0d8:	119c      	lrw      	r4, 0x200009f4	// c1c8 <TK_result_prog+0x10c>
    c0da:	0c67      	bf      	0xc1a8	// c1a8 <TK_result_prog+0xec>
    c0dc:	111c      	lrw      	r0, 0x20000acc	// c1cc <TK_result_prog+0x110>
    c0de:	3500      	movi      	r5, 0
    c0e0:	117c      	lrw      	r3, 0x20000a94	// c1d0 <TK_result_prog+0x114>
    c0e2:	b803      	st.w      	r0, (r14, 0xc)
    c0e4:	3201      	movi      	r2, 1
    c0e6:	7094      	lsl      	r2, r5
    c0e8:	b040      	st.w      	r2, (r0, 0x0)
    c0ea:	9840      	ld.w      	r2, (r14, 0x0)
    c0ec:	9240      	ld.w      	r2, (r2, 0x0)
    c0ee:	9020      	ld.w      	r1, (r0, 0x0)
    c0f0:	6884      	and      	r2, r1
    c0f2:	b340      	st.w      	r2, (r3, 0x0)
    c0f4:	9841      	ld.w      	r2, (r14, 0x4)
    c0f6:	9240      	ld.w      	r2, (r2, 0x0)
    c0f8:	9020      	ld.w      	r1, (r0, 0x0)
    c0fa:	6848      	and      	r1, r2
    c0fc:	1156      	lrw      	r2, 0x20000b58	// c1d4 <TK_result_prog+0x118>
    c0fe:	b220      	st.w      	r1, (r2, 0x0)
    c100:	9822      	ld.w      	r1, (r14, 0x8)
    c102:	9120      	ld.w      	r1, (r1, 0x0)
    c104:	90c0      	ld.w      	r6, (r0, 0x0)
    c106:	6984      	and      	r6, r1
    c108:	1134      	lrw      	r1, 0x200009f8	// c1d8 <TK_result_prog+0x11c>
    c10a:	b1c0      	st.w      	r6, (r1, 0x0)
    c10c:	93e0      	ld.w      	r7, (r3, 0x0)
    c10e:	92c0      	ld.w      	r6, (r2, 0x0)
    c110:	659e      	cmpne      	r7, r6
    c112:	0807      	bt      	0xc120	// c120 <TK_result_prog+0x64>
    c114:	92e0      	ld.w      	r7, (r2, 0x0)
    c116:	91c0      	ld.w      	r6, (r1, 0x0)
    c118:	659e      	cmpne      	r7, r6
    c11a:	0803      	bt      	0xc120	// c120 <TK_result_prog+0x64>
    c11c:	9340      	ld.w      	r2, (r3, 0x0)
    c11e:	040c      	br      	0xc136	// c136 <TK_result_prog+0x7a>
    c120:	92c0      	ld.w      	r6, (r2, 0x0)
    c122:	3e40      	cmpnei      	r6, 0
    c124:	0c29      	bf      	0xc176	// c176 <TK_result_prog+0xba>
    c126:	91c0      	ld.w      	r6, (r1, 0x0)
    c128:	3e40      	cmpnei      	r6, 0
    c12a:	0c26      	bf      	0xc176	// c176 <TK_result_prog+0xba>
    c12c:	92e0      	ld.w      	r7, (r2, 0x0)
    c12e:	91c0      	ld.w      	r6, (r1, 0x0)
    c130:	659e      	cmpne      	r7, r6
    c132:	0822      	bt      	0xc176	// c176 <TK_result_prog+0xba>
    c134:	9240      	ld.w      	r2, (r2, 0x0)
    c136:	9420      	ld.w      	r1, (r4, 0x0)
    c138:	6c84      	or      	r2, r1
    c13a:	2500      	addi      	r5, 1
    c13c:	3d51      	cmpnei      	r5, 17
    c13e:	b440      	st.w      	r2, (r4, 0x0)
    c140:	0bd2      	bt      	0xc0e4	// c0e4 <TK_result_prog+0x28>
    c142:	9460      	ld.w      	r3, (r4, 0x0)
    c144:	3b40      	cmpnei      	r3, 0
    c146:	1146      	lrw      	r2, 0x20000afc	// c1dc <TK_result_prog+0x120>
    c148:	0c32      	bf      	0xc1ac	// c1ac <TK_result_prog+0xf0>
    c14a:	9420      	ld.w      	r1, (r4, 0x0)
    c14c:	9260      	ld.w      	r3, (r2, 0x0)
    c14e:	64c6      	cmpne      	r1, r3
    c150:	0c06      	bf      	0xc15c	// c15c <TK_result_prog+0xa0>
    c152:	9460      	ld.w      	r3, (r4, 0x0)
    c154:	b260      	st.w      	r3, (r2, 0x0)
    c156:	3200      	movi      	r2, 0
    c158:	1162      	lrw      	r3, 0x20000912	// c1e0 <TK_result_prog+0x124>
    c15a:	a340      	st.b      	r2, (r3, 0x0)
    c15c:	e3fff61a 	bsr      	0xad90	// ad90 <get_key_number>
    c160:	1161      	lrw      	r3, 0x2000026c	// c1e4 <TK_result_prog+0x128>
    c162:	8360      	ld.b      	r3, (r3, 0x0)
    c164:	640c      	cmphs      	r3, r0
    c166:	0806      	bt      	0xc172	// c172 <TK_result_prog+0xb6>
    c168:	3300      	movi      	r3, 0
    c16a:	b460      	st.w      	r3, (r4, 0x0)
    c16c:	3201      	movi      	r2, 1
    c16e:	107d      	lrw      	r3, 0x20000912	// c1e0 <TK_result_prog+0x124>
    c170:	a340      	st.b      	r2, (r3, 0x0)
    c172:	1404      	addi      	r14, r14, 16
    c174:	1494      	pop      	r4-r7, r15
    c176:	93c0      	ld.w      	r6, (r3, 0x0)
    c178:	3e40      	cmpnei      	r6, 0
    c17a:	0c08      	bf      	0xc18a	// c18a <TK_result_prog+0xce>
    c17c:	92c0      	ld.w      	r6, (r2, 0x0)
    c17e:	3e40      	cmpnei      	r6, 0
    c180:	0c05      	bf      	0xc18a	// c18a <TK_result_prog+0xce>
    c182:	93c0      	ld.w      	r6, (r3, 0x0)
    c184:	9240      	ld.w      	r2, (r2, 0x0)
    c186:	649a      	cmpne      	r6, r2
    c188:	0fca      	bf      	0xc11c	// c11c <TK_result_prog+0x60>
    c18a:	9340      	ld.w      	r2, (r3, 0x0)
    c18c:	3a40      	cmpnei      	r2, 0
    c18e:	0c08      	bf      	0xc19e	// c19e <TK_result_prog+0xe2>
    c190:	9140      	ld.w      	r2, (r1, 0x0)
    c192:	3a40      	cmpnei      	r2, 0
    c194:	0c05      	bf      	0xc19e	// c19e <TK_result_prog+0xe2>
    c196:	9340      	ld.w      	r2, (r3, 0x0)
    c198:	9120      	ld.w      	r1, (r1, 0x0)
    c19a:	644a      	cmpne      	r2, r1
    c19c:	0fc0      	bf      	0xc11c	// c11c <TK_result_prog+0x60>
    c19e:	9843      	ld.w      	r2, (r14, 0xc)
    c1a0:	9220      	ld.w      	r1, (r2, 0x0)
    c1a2:	9440      	ld.w      	r2, (r4, 0x0)
    c1a4:	6885      	andn      	r2, r1
    c1a6:	07ca      	br      	0xc13a	// c13a <TK_result_prog+0x7e>
    c1a8:	b460      	st.w      	r3, (r4, 0x0)
    c1aa:	07cc      	br      	0xc142	// c142 <TK_result_prog+0x86>
    c1ac:	b260      	st.w      	r3, (r2, 0x0)
    c1ae:	3100      	movi      	r1, 0
    c1b0:	104c      	lrw      	r2, 0x20000912	// c1e0 <TK_result_prog+0x124>
    c1b2:	a220      	st.b      	r1, (r2, 0x0)
    c1b4:	104d      	lrw      	r2, 0x200009ec	// c1e8 <TK_result_prog+0x12c>
    c1b6:	b260      	st.w      	r3, (r2, 0x0)
    c1b8:	07dd      	br      	0xc172	// c172 <TK_result_prog+0xb6>
    c1ba:	0000      	bkpt
    c1bc:	200008f4 	.long	0x200008f4
    c1c0:	20000888 	.long	0x20000888
    c1c4:	2000096c 	.long	0x2000096c
    c1c8:	200009f4 	.long	0x200009f4
    c1cc:	20000acc 	.long	0x20000acc
    c1d0:	20000a94 	.long	0x20000a94
    c1d4:	20000b58 	.long	0x20000b58
    c1d8:	200009f8 	.long	0x200009f8
    c1dc:	20000afc 	.long	0x20000afc
    c1e0:	20000912 	.long	0x20000912
    c1e4:	2000026c 	.long	0x2000026c
    c1e8:	200009ec 	.long	0x200009ec

Disassembly of section .text.get_key_seq:

0000c1ec <get_key_seq>:
    c1ec:	14c4      	push      	r4-r7
    c1ee:	106c      	lrw      	r3, 0x20000268	// c21c <get_key_seq+0x30>
    c1f0:	3200      	movi      	r2, 0
    c1f2:	9380      	ld.w      	r4, (r3, 0x0)
    c1f4:	3000      	movi      	r0, 0
    c1f6:	3300      	movi      	r3, 0
    c1f8:	3501      	movi      	r5, 1
    c1fa:	10ca      	lrw      	r6, 0x20000b00	// c220 <get_key_seq+0x34>
    c1fc:	6c53      	mov      	r1, r4
    c1fe:	704d      	lsr      	r1, r3
    c200:	6854      	and      	r1, r5
    c202:	3940      	cmpnei      	r1, 0
    c204:	75cc      	zextb      	r7, r3
    c206:	0c06      	bf      	0xc212	// c212 <get_key_seq+0x26>
    c208:	5e28      	addu      	r1, r6, r2
    c20a:	2200      	addi      	r2, 1
    c20c:	2000      	addi      	r0, 1
    c20e:	a1e0      	st.b      	r7, (r1, 0x0)
    c210:	7488      	zextb      	r2, r2
    c212:	2300      	addi      	r3, 1
    c214:	3b51      	cmpnei      	r3, 17
    c216:	0bf3      	bt      	0xc1fc	// c1fc <get_key_seq+0x10>
    c218:	7400      	zextb      	r0, r0
    c21a:	1484      	pop      	r4-r7
    c21c:	20000268 	.long	0x20000268
    c220:	20000b00 	.long	0x20000b00

Disassembly of section .text.CORET_CONFIG:

0000c224 <CORET_CONFIG>:
    c224:	14d0      	push      	r15
    c226:	e3ffc919 	bsr      	0x5458	// 5458 <CORET_DeInit>
    c22a:	3180      	movi      	r1, 128
    c22c:	4124      	lsli      	r1, r1, 4
    c22e:	3001      	movi      	r0, 1
    c230:	e3ffc0bc 	bsr      	0x43a8	// 43a8 <SYSCON_General_CMD>
    c234:	1068      	lrw      	r3, 0x20000064	// c254 <CORET_CONFIG+0x30>
    c236:	1049      	lrw      	r2, 0x200002b8	// c258 <CORET_CONFIG+0x34>
    c238:	9360      	ld.w      	r3, (r3, 0x0)
    c23a:	9240      	ld.w      	r2, (r2, 0x0)
    c23c:	b345      	st.w      	r2, (r3, 0x14)
    c23e:	e3ffc93d 	bsr      	0x54b8	// 54b8 <CORET_reload>
    c242:	e3ffc92b 	bsr      	0x5498	// 5498 <CORET_CLKSOURCE_EX>
    c246:	e3ffc931 	bsr      	0x54a8	// 54a8 <CORET_TICKINT_Enable>
    c24a:	e3ffc91f 	bsr      	0x5488	// 5488 <CORET_start>
    c24e:	e3ffc911 	bsr      	0x5470	// 5470 <CORET_Int_Enable>
    c252:	1490      	pop      	r15
    c254:	20000064 	.long	0x20000064
    c258:	200002b8 	.long	0x200002b8

Disassembly of section .text.tk_chxval_seqxcon_clr:

0000c25c <tk_chxval_seqxcon_clr>:
    c25c:	1066      	lrw      	r3, 0x20000054	// c274 <tk_chxval_seqxcon_clr+0x18>
    c25e:	3100      	movi      	r1, 0
    c260:	9300      	ld.w      	r0, (r3, 0x0)
    c262:	3300      	movi      	r3, 0
    c264:	4342      	lsli      	r2, r3, 2
    c266:	2300      	addi      	r3, 1
    c268:	6080      	addu      	r2, r0
    c26a:	3b51      	cmpnei      	r3, 17
    c26c:	b220      	st.w      	r1, (r2, 0x0)
    c26e:	b232      	st.w      	r1, (r2, 0x48)
    c270:	0bfa      	bt      	0xc264	// c264 <tk_chxval_seqxcon_clr+0x8>
    c272:	783c      	jmp      	r15
    c274:	20000054 	.long	0x20000054

Disassembly of section .text.tk_freq_para_init:

0000c278 <tk_freq_para_init>:
    c278:	14d1      	push      	r4, r15
    c27a:	107e      	lrw      	r3, 0x20000239	// c2f0 <tk_freq_para_init+0x78>
    c27c:	8360      	ld.b      	r3, (r3, 0x0)
    c27e:	3b40      	cmpnei      	r3, 0
    c280:	080c      	bt      	0xc298	// c298 <tk_freq_para_init+0x20>
    c282:	107d      	lrw      	r3, 0x20000070	// c2f4 <tk_freq_para_init+0x7c>
    c284:	105d      	lrw      	r2, 0x20000bc8	// c2f8 <tk_freq_para_init+0x80>
    c286:	932c      	ld.w      	r1, (r3, 0x30)
    c288:	b220      	st.w      	r1, (r2, 0x0)
    c28a:	932d      	ld.w      	r1, (r3, 0x34)
    c28c:	105c      	lrw      	r2, 0x20000938	// c2fc <tk_freq_para_init+0x84>
    c28e:	b220      	st.w      	r1, (r2, 0x0)
    c290:	934e      	ld.w      	r2, (r3, 0x38)
    c292:	107c      	lrw      	r3, 0x20000968	// c300 <tk_freq_para_init+0x88>
    c294:	b340      	st.w      	r2, (r3, 0x0)
    c296:	1491      	pop      	r4, r15
    c298:	3b41      	cmpnei      	r3, 1
    c29a:	0bfe      	bt      	0xc296	// c296 <tk_freq_para_init+0x1e>
    c29c:	1076      	lrw      	r3, 0x20000070	// c2f4 <tk_freq_para_init+0x7c>
    c29e:	1057      	lrw      	r2, 0x20000bc8	// c2f8 <tk_freq_para_init+0x80>
    c2a0:	932d      	ld.w      	r1, (r3, 0x34)
    c2a2:	b220      	st.w      	r1, (r2, 0x0)
    c2a4:	932d      	ld.w      	r1, (r3, 0x34)
    c2a6:	1056      	lrw      	r2, 0x20000938	// c2fc <tk_freq_para_init+0x84>
    c2a8:	b220      	st.w      	r1, (r2, 0x0)
    c2aa:	934d      	ld.w      	r2, (r3, 0x34)
    c2ac:	3105      	movi      	r1, 5
    c2ae:	1075      	lrw      	r3, 0x20000968	// c300 <tk_freq_para_init+0x88>
    c2b0:	b340      	st.w      	r2, (r3, 0x0)
    c2b2:	1075      	lrw      	r3, 0x20000058	// c304 <tk_freq_para_init+0x8c>
    c2b4:	9380      	ld.w      	r4, (r3, 0x0)
    c2b6:	1075      	lrw      	r3, 0x20000290	// c308 <tk_freq_para_init+0x90>
    c2b8:	8300      	ld.b      	r0, (r3, 0x0)
    c2ba:	e3ffcf3f 	bsr      	0x6138	// 6138 <__udivsi3>
    c2be:	7400      	zextb      	r0, r0
    c2c0:	1073      	lrw      	r3, 0x2000023a	// c30c <tk_freq_para_init+0x94>
    c2c2:	b408      	st.w      	r0, (r4, 0x20)
    c2c4:	8300      	ld.b      	r0, (r3, 0x0)
    c2c6:	3804      	cmphsi      	r0, 5
    c2c8:	1072      	lrw      	r3, 0x200009f0	// c310 <tk_freq_para_init+0x98>
    c2ca:	0810      	bt      	0xc2ea	// c2ea <tk_freq_para_init+0x72>
    c2cc:	e3ffb918 	bsr      	0x34fc	// 34fc <___gnu_csky_case_uqi>
    c2d0:	090d0703 	.long	0x090d0703
    c2d4:	000b      	.short	0x000b
    c2d6:	3296      	movi      	r2, 150
    c2d8:	4242      	lsli      	r2, r2, 2
    c2da:	ab40      	st.h      	r2, (r3, 0x0)
    c2dc:	07dd      	br      	0xc296	// c296 <tk_freq_para_init+0x1e>
    c2de:	104e      	lrw      	r2, 0x5dc	// c314 <tk_freq_para_init+0x9c>
    c2e0:	07fd      	br      	0xc2da	// c2da <tk_freq_para_init+0x62>
    c2e2:	104e      	lrw      	r2, 0x1194	// c318 <tk_freq_para_init+0xa0>
    c2e4:	07fb      	br      	0xc2da	// c2da <tk_freq_para_init+0x62>
    c2e6:	104e      	lrw      	r2, 0x1770	// c31c <tk_freq_para_init+0xa4>
    c2e8:	07f9      	br      	0xc2da	// c2da <tk_freq_para_init+0x62>
    c2ea:	104e      	lrw      	r2, 0xbb8	// c320 <tk_freq_para_init+0xa8>
    c2ec:	07f7      	br      	0xc2da	// c2da <tk_freq_para_init+0x62>
    c2ee:	0000      	bkpt
    c2f0:	20000239 	.long	0x20000239
    c2f4:	20000070 	.long	0x20000070
    c2f8:	20000bc8 	.long	0x20000bc8
    c2fc:	20000938 	.long	0x20000938
    c300:	20000968 	.long	0x20000968
    c304:	20000058 	.long	0x20000058
    c308:	20000290 	.long	0x20000290
    c30c:	2000023a 	.long	0x2000023a
    c310:	200009f0 	.long	0x200009f0
    c314:	000005dc 	.long	0x000005dc
    c318:	00001194 	.long	0x00001194
    c31c:	00001770 	.long	0x00001770
    c320:	00000bb8 	.long	0x00000bb8

Disassembly of section .text.tk_reserved_init:

0000c324 <tk_reserved_init>:
    c324:	1065      	lrw      	r3, 0x2000005c	// c338 <tk_reserved_init+0x14>
    c326:	1046      	lrw      	r2, 0xa67a6cc7	// c33c <tk_reserved_init+0x18>
    c328:	9360      	ld.w      	r3, (r3, 0x0)
    c32a:	b356      	st.w      	r2, (r3, 0x58)
    c32c:	1045      	lrw      	r2, 0x21f1f04	// c340 <tk_reserved_init+0x1c>
    c32e:	b355      	st.w      	r2, (r3, 0x54)
    c330:	1045      	lrw      	r2, 0x69966996	// c344 <tk_reserved_init+0x20>
    c332:	1066      	lrw      	r3, 0x40011180	// c348 <tk_reserved_init+0x24>
    c334:	b35f      	st.w      	r2, (r3, 0x7c)
    c336:	783c      	jmp      	r15
    c338:	2000005c 	.long	0x2000005c
    c33c:	a67a6cc7 	.long	0xa67a6cc7
    c340:	021f1f04 	.long	0x021f1f04
    c344:	69966996 	.long	0x69966996
    c348:	40011180 	.long	0x40011180

Disassembly of section .text.TKEYIntHandler:

0000c34c <TKEYIntHandler>:
    c34c:	1460      	nie
    c34e:	1462      	ipush
    c350:	14d1      	push      	r4, r15
    c352:	1183      	lrw      	r4, 0x20000070	// c3dc <TKEYIntHandler+0x90>
    c354:	8460      	ld.b      	r3, (r4, 0x0)
    c356:	3b40      	cmpnei      	r3, 0
    c358:	0815      	bt      	0xc382	// c382 <TKEYIntHandler+0x36>
    c35a:	3301      	movi      	r3, 1
    c35c:	a460      	st.b      	r3, (r4, 0x0)
    c35e:	1161      	lrw      	r3, 0x20000900	// c3e0 <TKEYIntHandler+0x94>
    c360:	8360      	ld.b      	r3, (r3, 0x0)
    c362:	3b41      	cmpnei      	r3, 1
    c364:	080f      	bt      	0xc382	// c382 <TKEYIntHandler+0x36>
    c366:	1140      	lrw      	r2, 0x20000b11	// c3e4 <TKEYIntHandler+0x98>
    c368:	8260      	ld.b      	r3, (r2, 0x0)
    c36a:	2300      	addi      	r3, 1
    c36c:	74cc      	zextb      	r3, r3
    c36e:	a260      	st.b      	r3, (r2, 0x0)
    c370:	8260      	ld.b      	r3, (r2, 0x0)
    c372:	3b43      	cmpnei      	r3, 3
    c374:	0803      	bt      	0xc37a	// c37a <TKEYIntHandler+0x2e>
    c376:	3300      	movi      	r3, 0
    c378:	a260      	st.b      	r3, (r2, 0x0)
    c37a:	e3fff4a5 	bsr      	0xacc4	// acc4 <TK_Sampling_prog>
    c37e:	3301      	movi      	r3, 1
    c380:	a461      	st.b      	r3, (r4, 0x1)
    c382:	107a      	lrw      	r3, 0x20000058	// c3e8 <TKEYIntHandler+0x9c>
    c384:	3101      	movi      	r1, 1
    c386:	9360      	ld.w      	r3, (r3, 0x0)
    c388:	934a      	ld.w      	r2, (r3, 0x28)
    c38a:	6884      	and      	r2, r1
    c38c:	3a40      	cmpnei      	r2, 0
    c38e:	0c02      	bf      	0xc392	// c392 <TKEYIntHandler+0x46>
    c390:	b32c      	st.w      	r1, (r3, 0x30)
    c392:	934a      	ld.w      	r2, (r3, 0x28)
    c394:	3102      	movi      	r1, 2
    c396:	6884      	and      	r2, r1
    c398:	3a40      	cmpnei      	r2, 0
    c39a:	0c02      	bf      	0xc39e	// c39e <TKEYIntHandler+0x52>
    c39c:	b32c      	st.w      	r1, (r3, 0x30)
    c39e:	934a      	ld.w      	r2, (r3, 0x28)
    c3a0:	3104      	movi      	r1, 4
    c3a2:	6884      	and      	r2, r1
    c3a4:	3a40      	cmpnei      	r2, 0
    c3a6:	0c02      	bf      	0xc3aa	// c3aa <TKEYIntHandler+0x5e>
    c3a8:	b32c      	st.w      	r1, (r3, 0x30)
    c3aa:	934a      	ld.w      	r2, (r3, 0x28)
    c3ac:	3108      	movi      	r1, 8
    c3ae:	6884      	and      	r2, r1
    c3b0:	3a40      	cmpnei      	r2, 0
    c3b2:	0c02      	bf      	0xc3b6	// c3b6 <TKEYIntHandler+0x6a>
    c3b4:	b32c      	st.w      	r1, (r3, 0x30)
    c3b6:	934a      	ld.w      	r2, (r3, 0x28)
    c3b8:	3110      	movi      	r1, 16
    c3ba:	6884      	and      	r2, r1
    c3bc:	3a40      	cmpnei      	r2, 0
    c3be:	0c02      	bf      	0xc3c2	// c3c2 <TKEYIntHandler+0x76>
    c3c0:	b32c      	st.w      	r1, (r3, 0x30)
    c3c2:	934a      	ld.w      	r2, (r3, 0x28)
    c3c4:	3120      	movi      	r1, 32
    c3c6:	6884      	and      	r2, r1
    c3c8:	3a40      	cmpnei      	r2, 0
    c3ca:	0c02      	bf      	0xc3ce	// c3ce <TKEYIntHandler+0x82>
    c3cc:	b32c      	st.w      	r1, (r3, 0x30)
    c3ce:	d9ee2001 	ld.w      	r15, (r14, 0x4)
    c3d2:	9880      	ld.w      	r4, (r14, 0x0)
    c3d4:	1402      	addi      	r14, r14, 8
    c3d6:	1463      	ipop
    c3d8:	1461      	nir
    c3da:	0000      	bkpt
    c3dc:	20000070 	.long	0x20000070
    c3e0:	20000900 	.long	0x20000900
    c3e4:	20000b11 	.long	0x20000b11
    c3e8:	20000058 	.long	0x20000058

Disassembly of section .text.CORETHandler:

0000c3ec <CORETHandler>:
    c3ec:	1460      	nie
    c3ee:	1462      	ipush
    c3f0:	14d3      	push      	r4-r6, r15
    c3f2:	1269      	lrw      	r3, 0x20000064	// c514 <CORETHandler+0x128>
    c3f4:	3400      	movi      	r4, 0
    c3f6:	9360      	ld.w      	r3, (r3, 0x0)
    c3f8:	b386      	st.w      	r4, (r3, 0x18)
    c3fa:	1268      	lrw      	r3, 0x20000900	// c518 <CORETHandler+0x12c>
    c3fc:	8360      	ld.b      	r3, (r3, 0x0)
    c3fe:	3b41      	cmpnei      	r3, 1
    c400:	0840      	bt      	0xc480	// c480 <CORETHandler+0x94>
    c402:	e3fff6f5 	bsr      	0xb1ec	// b1ec <TK_Scan_Start>
    c406:	e3fff727 	bsr      	0xb254	// b254 <TK_Keymap_prog>
    c40a:	e3fffb5d 	bsr      	0xbac4	// bac4 <TK_overflow_predict>
    c40e:	e3fffbef 	bsr      	0xbbec	// bbec <TK_Baseline_tracking>
    c412:	e3fff3c5 	bsr      	0xab9c	// ab9c <TK_Single_Longpress_prg>
    c416:	e3fffe53 	bsr      	0xc0bc	// c0bc <TK_result_prog>
    c41a:	1261      	lrw      	r3, 0x200009f4	// c51c <CORETHandler+0x130>
    c41c:	9360      	ld.w      	r3, (r3, 0x0)
    c41e:	3b40      	cmpnei      	r3, 0
    c420:	0c12      	bf      	0xc444	// c444 <CORETHandler+0x58>
    c422:	1260      	lrw      	r3, 0x2000023c	// c520 <CORETHandler+0x134>
    c424:	9340      	ld.w      	r2, (r3, 0x0)
    c426:	3a40      	cmpnei      	r2, 0
    c428:	0c0e      	bf      	0xc444	// c444 <CORETHandler+0x58>
    c42a:	117f      	lrw      	r3, 0x200009ec	// c524 <CORETHandler+0x138>
    c42c:	3064      	movi      	r0, 100
    c42e:	9320      	ld.w      	r1, (r3, 0x0)
    c430:	2100      	addi      	r1, 1
    c432:	b320      	st.w      	r1, (r3, 0x0)
    c434:	9320      	ld.w      	r1, (r3, 0x0)
    c436:	7c80      	mult      	r2, r0
    c438:	6448      	cmphs      	r2, r1
    c43a:	0805      	bt      	0xc444	// c444 <CORETHandler+0x58>
    c43c:	115b      	lrw      	r2, 0x20000999	// c528 <CORETHandler+0x13c>
    c43e:	3101      	movi      	r1, 1
    c440:	a220      	st.b      	r1, (r2, 0x0)
    c442:	b380      	st.w      	r4, (r3, 0x0)
    c444:	117a      	lrw      	r3, 0x20000235	// c52c <CORETHandler+0x140>
    c446:	8340      	ld.b      	r2, (r3, 0x0)
    c448:	3a41      	cmpnei      	r2, 1
    c44a:	0823      	bt      	0xc490	// c490 <CORETHandler+0xa4>
    c44c:	1139      	lrw      	r1, 0x200008f4	// c530 <CORETHandler+0x144>
    c44e:	115a      	lrw      	r2, 0x20000888	// c534 <CORETHandler+0x148>
    c450:	9100      	ld.w      	r0, (r1, 0x0)
    c452:	9260      	ld.w      	r3, (r2, 0x0)
    c454:	64c2      	cmpne      	r0, r3
    c456:	1179      	lrw      	r3, 0x20000a90	// c538 <CORETHandler+0x14c>
    c458:	080a      	bt      	0xc46c	// c46c <CORETHandler+0x80>
    c45a:	9280      	ld.w      	r4, (r2, 0x0)
    c45c:	1158      	lrw      	r2, 0x2000096c	// c53c <CORETHandler+0x150>
    c45e:	9200      	ld.w      	r0, (r2, 0x0)
    c460:	6412      	cmpne      	r4, r0
    c462:	0805      	bt      	0xc46c	// c46c <CORETHandler+0x80>
    c464:	9120      	ld.w      	r1, (r1, 0x0)
    c466:	9240      	ld.w      	r2, (r2, 0x0)
    c468:	6486      	cmpne      	r1, r2
    c46a:	0c09      	bf      	0xc47c	// c47c <CORETHandler+0x90>
    c46c:	9340      	ld.w      	r2, (r3, 0x0)
    c46e:	2200      	addi      	r2, 1
    c470:	b340      	st.w      	r2, (r3, 0x0)
    c472:	1154      	lrw      	r2, 0x20000090	// c540 <CORETHandler+0x154>
    c474:	823c      	ld.b      	r1, (r2, 0x1c)
    c476:	9340      	ld.w      	r2, (r3, 0x0)
    c478:	6484      	cmphs      	r1, r2
    c47a:	0803      	bt      	0xc480	// c480 <CORETHandler+0x94>
    c47c:	3200      	movi      	r2, 0
    c47e:	b340      	st.w      	r2, (r3, 0x0)
    c480:	d9ee2003 	ld.w      	r15, (r14, 0xc)
    c484:	98c2      	ld.w      	r6, (r14, 0x8)
    c486:	98a1      	ld.w      	r5, (r14, 0x4)
    c488:	9880      	ld.w      	r4, (r14, 0x0)
    c48a:	1404      	addi      	r14, r14, 16
    c48c:	1463      	ipop
    c48e:	1461      	nir
    c490:	83a0      	ld.b      	r5, (r3, 0x0)
    c492:	7554      	zextb      	r5, r5
    c494:	3d40      	cmpnei      	r5, 0
    c496:	0bf5      	bt      	0xc480	// c480 <CORETHandler+0x94>
    c498:	1166      	lrw      	r3, 0x200008f4	// c530 <CORETHandler+0x144>
    c49a:	1147      	lrw      	r2, 0x20000888	// c534 <CORETHandler+0x148>
    c49c:	9300      	ld.w      	r0, (r3, 0x0)
    c49e:	9220      	ld.w      	r1, (r2, 0x0)
    c4a0:	6442      	cmpne      	r0, r1
    c4a2:	1127      	lrw      	r1, 0x2000096c	// c53c <CORETHandler+0x150>
    c4a4:	1105      	lrw      	r0, 0x20000a90	// c538 <CORETHandler+0x14c>
    c4a6:	0c33      	bf      	0xc50c	// c50c <CORETHandler+0x120>
    c4a8:	92c0      	ld.w      	r6, (r2, 0x0)
    c4aa:	9180      	ld.w      	r4, (r1, 0x0)
    c4ac:	651a      	cmpne      	r6, r4
    c4ae:	0c2f      	bf      	0xc50c	// c50c <CORETHandler+0x120>
    c4b0:	93c0      	ld.w      	r6, (r3, 0x0)
    c4b2:	9180      	ld.w      	r4, (r1, 0x0)
    c4b4:	651a      	cmpne      	r6, r4
    c4b6:	0c2b      	bf      	0xc50c	// c50c <CORETHandler+0x120>
    c4b8:	9080      	ld.w      	r4, (r0, 0x0)
    c4ba:	2400      	addi      	r4, 1
    c4bc:	b080      	st.w      	r4, (r0, 0x0)
    c4be:	1181      	lrw      	r4, 0x20000090	// c540 <CORETHandler+0x154>
    c4c0:	84dc      	ld.b      	r6, (r4, 0x1c)
    c4c2:	9080      	ld.w      	r4, (r0, 0x0)
    c4c4:	6518      	cmphs      	r6, r4
    c4c6:	0802      	bt      	0xc4ca	// c4ca <CORETHandler+0xde>
    c4c8:	b0a0      	st.w      	r5, (r0, 0x0)
    c4ca:	9380      	ld.w      	r4, (r3, 0x0)
    c4cc:	9200      	ld.w      	r0, (r2, 0x0)
    c4ce:	6412      	cmpne      	r4, r0
    c4d0:	101d      	lrw      	r0, 0x20000ad0	// c544 <CORETHandler+0x158>
    c4d2:	0c04      	bf      	0xc4da	// c4da <CORETHandler+0xee>
    c4d4:	9180      	ld.w      	r4, (r1, 0x0)
    c4d6:	3c40      	cmpnei      	r4, 0
    c4d8:	0c0f      	bf      	0xc4f6	// c4f6 <CORETHandler+0x10a>
    c4da:	93a0      	ld.w      	r5, (r3, 0x0)
    c4dc:	9180      	ld.w      	r4, (r1, 0x0)
    c4de:	6516      	cmpne      	r5, r4
    c4e0:	0c04      	bf      	0xc4e8	// c4e8 <CORETHandler+0xfc>
    c4e2:	9280      	ld.w      	r4, (r2, 0x0)
    c4e4:	3c40      	cmpnei      	r4, 0
    c4e6:	0c08      	bf      	0xc4f6	// c4f6 <CORETHandler+0x10a>
    c4e8:	9120      	ld.w      	r1, (r1, 0x0)
    c4ea:	9240      	ld.w      	r2, (r2, 0x0)
    c4ec:	6486      	cmpne      	r1, r2
    c4ee:	0c0c      	bf      	0xc506	// c506 <CORETHandler+0x11a>
    c4f0:	9360      	ld.w      	r3, (r3, 0x0)
    c4f2:	3b40      	cmpnei      	r3, 0
    c4f4:	0809      	bt      	0xc506	// c506 <CORETHandler+0x11a>
    c4f6:	9060      	ld.w      	r3, (r0, 0x0)
    c4f8:	2300      	addi      	r3, 1
    c4fa:	b060      	st.w      	r3, (r0, 0x0)
    c4fc:	1071      	lrw      	r3, 0x20000090	// c540 <CORETHandler+0x154>
    c4fe:	835c      	ld.b      	r2, (r3, 0x1c)
    c500:	9060      	ld.w      	r3, (r0, 0x0)
    c502:	64c8      	cmphs      	r2, r3
    c504:	0bbe      	bt      	0xc480	// c480 <CORETHandler+0x94>
    c506:	3300      	movi      	r3, 0
    c508:	b060      	st.w      	r3, (r0, 0x0)
    c50a:	07bb      	br      	0xc480	// c480 <CORETHandler+0x94>
    c50c:	3400      	movi      	r4, 0
    c50e:	b080      	st.w      	r4, (r0, 0x0)
    c510:	07dd      	br      	0xc4ca	// c4ca <CORETHandler+0xde>
    c512:	0000      	bkpt
    c514:	20000064 	.long	0x20000064
    c518:	20000900 	.long	0x20000900
    c51c:	200009f4 	.long	0x200009f4
    c520:	2000023c 	.long	0x2000023c
    c524:	200009ec 	.long	0x200009ec
    c528:	20000999 	.long	0x20000999
    c52c:	20000235 	.long	0x20000235
    c530:	200008f4 	.long	0x200008f4
    c534:	20000888 	.long	0x20000888
    c538:	20000a90 	.long	0x20000a90
    c53c:	2000096c 	.long	0x2000096c
    c540:	20000090 	.long	0x20000090
    c544:	20000ad0 	.long	0x20000ad0

Disassembly of section .text.tk_init:

0000c548 <tk_init>:
    c548:	14d4      	push      	r4-r7, r15
    c54a:	142c      	subi      	r14, r14, 48
    c54c:	e3fffeec 	bsr      	0xc324	// c324 <tk_reserved_init>
    c550:	e3ffc6e4 	bsr      	0x5318	// 5318 <tk_parameter_init>
    c554:	e3fffe92 	bsr      	0xc278	// c278 <tk_freq_para_init>
    c558:	e3fff288 	bsr      	0xaa68	// aa68 <tk_io_enable>
    c55c:	3200      	movi      	r2, 0
    c55e:	3100      	movi      	r1, 0
    c560:	3001      	movi      	r0, 1
    c562:	e3fff211 	bsr      	0xa984	// a984 <tk_clk_config>
    c566:	e3fffe7b 	bsr      	0xc25c	// c25c <tk_chxval_seqxcon_clr>
    c56a:	e3fffe41 	bsr      	0xc1ec	// c1ec <get_key_seq>
    c56e:	1191      	lrw      	r4, 0x20000ab0	// c630 <tk_init+0xe8>
    c570:	3101      	movi      	r1, 1
    c572:	a400      	st.b      	r0, (r4, 0x0)
    c574:	8440      	ld.b      	r2, (r4, 0x0)
    c576:	1170      	lrw      	r3, 0x200002b4	// c634 <tk_init+0xec>
    c578:	8b60      	ld.h      	r3, (r3, 0x0)
    c57a:	b829      	st.w      	r1, (r14, 0x24)
    c57c:	3180      	movi      	r1, 128
    c57e:	412d      	lsli      	r1, r1, 13
    c580:	b828      	st.w      	r1, (r14, 0x20)
    c582:	3180      	movi      	r1, 128
    c584:	4129      	lsli      	r1, r1, 9
    c586:	b827      	st.w      	r1, (r14, 0x1c)
    c588:	3100      	movi      	r1, 0
    c58a:	b826      	st.w      	r1, (r14, 0x18)
    c58c:	2a00      	subi      	r2, 1
    c58e:	110b      	lrw      	r0, 0x200002b6	// c638 <tk_init+0xf0>
    c590:	8800      	ld.h      	r0, (r0, 0x0)
    c592:	b805      	st.w      	r0, (r14, 0x14)
    c594:	7488      	zextb      	r2, r2
    c596:	110a      	lrw      	r0, 0x200002bc	// c63c <tk_init+0xf4>
    c598:	8800      	ld.h      	r0, (r0, 0x0)
    c59a:	b804      	st.w      	r0, (r14, 0x10)
    c59c:	3080      	movi      	r0, 128
    c59e:	4005      	lsli      	r0, r0, 5
    c5a0:	b803      	st.w      	r0, (r14, 0xc)
    c5a2:	3080      	movi      	r0, 128
    c5a4:	4004      	lsli      	r0, r0, 4
    c5a6:	b802      	st.w      	r0, (r14, 0x8)
    c5a8:	b821      	st.w      	r1, (r14, 0x4)
    c5aa:	b820      	st.w      	r1, (r14, 0x0)
    c5ac:	3001      	movi      	r0, 1
    c5ae:	3102      	movi      	r1, 2
    c5b0:	e3fff1fe 	bsr      	0xa9ac	// a9ac <TK_con0_config>
    c5b4:	3002      	movi      	r0, 2
    c5b6:	e3fff1df 	bsr      	0xa974	// a974 <TK_ConfigInterrupt_CMD.part.0>
    c5ba:	3020      	movi      	r0, 32
    c5bc:	e3fff1dc 	bsr      	0xa974	// a974 <TK_ConfigInterrupt_CMD.part.0>
    c5c0:	3380      	movi      	r3, 128
    c5c2:	4372      	lsli      	r3, r3, 18
    c5c4:	105f      	lrw      	r2, 0xe000e100	// c640 <tk_init+0xf8>
    c5c6:	b260      	st.w      	r3, (r2, 0x0)
    c5c8:	b270      	st.w      	r3, (r2, 0x40)
    c5ca:	10ff      	lrw      	r7, 0x20000078	// c644 <tk_init+0xfc>
    c5cc:	107f      	lrw      	r3, 0x20000054	// c648 <tk_init+0x100>
    c5ce:	11a0      	lrw      	r5, 0x20000b00	// c64c <tk_init+0x104>
    c5d0:	11c0      	lrw      	r6, 0x2000026e	// c650 <tk_init+0x108>
    c5d2:	9360      	ld.w      	r3, (r3, 0x0)
    c5d4:	b86a      	st.w      	r3, (r14, 0x28)
    c5d6:	b88b      	st.w      	r4, (r14, 0x2c)
    c5d8:	3300      	movi      	r3, 0
    c5da:	984b      	ld.w      	r2, (r14, 0x2c)
    c5dc:	8240      	ld.b      	r2, (r2, 0x0)
    c5de:	648c      	cmphs      	r3, r2
    c5e0:	0c09      	bf      	0xc5f2	// c5f2 <tk_init+0xaa>
    c5e2:	e3fffe21 	bsr      	0xc224	// c224 <CORET_CONFIG>
    c5e6:	e3fff425 	bsr      	0xae30	// ae30 <TK_Baseline_prog>
    c5ea:	e3fff56f 	bsr      	0xb0c8	// b0c8 <tk_poweron_data_fineturn>
    c5ee:	140c      	addi      	r14, r14, 48
    c5f0:	1494      	pop      	r4-r7, r15
    c5f2:	5d0c      	addu      	r0, r5, r3
    c5f4:	8020      	ld.b      	r1, (r0, 0x0)
    c5f6:	8040      	ld.b      	r2, (r0, 0x0)
    c5f8:	8080      	ld.b      	r4, (r0, 0x0)
    c5fa:	8000      	ld.b      	r0, (r0, 0x0)
    c5fc:	4001      	lsli      	r0, r0, 1
    c5fe:	6018      	addu      	r0, r6
    c600:	4121      	lsli      	r1, r1, 1
    c602:	8800      	ld.h      	r0, (r0, 0x0)
    c604:	605c      	addu      	r1, r7
    c606:	448f      	lsli      	r4, r4, 15
    c608:	6d00      	or      	r4, r0
    c60a:	4241      	lsli      	r2, r2, 1
    c60c:	8900      	ld.h      	r0, (r1, 0x0)
    c60e:	1032      	lrw      	r1, 0x20000242	// c654 <tk_init+0x10c>
    c610:	6084      	addu      	r2, r1
    c612:	4018      	lsli      	r0, r0, 24
    c614:	6c10      	or      	r0, r4
    c616:	8a80      	ld.h      	r4, (r2, 0x0)
    c618:	3212      	movi      	r2, 18
    c61a:	608c      	addu      	r2, r3
    c61c:	4494      	lsli      	r4, r4, 20
    c61e:	4242      	lsli      	r2, r2, 2
    c620:	982a      	ld.w      	r1, (r14, 0x28)
    c622:	6c10      	or      	r0, r4
    c624:	6084      	addu      	r2, r1
    c626:	2300      	addi      	r3, 1
    c628:	b200      	st.w      	r0, (r2, 0x0)
    c62a:	74cc      	zextb      	r3, r3
    c62c:	07d7      	br      	0xc5da	// c5da <tk_init+0x92>
    c62e:	0000      	bkpt
    c630:	20000ab0 	.long	0x20000ab0
    c634:	200002b4 	.long	0x200002b4
    c638:	200002b6 	.long	0x200002b6
    c63c:	200002bc 	.long	0x200002bc
    c640:	e000e100 	.long	0xe000e100
    c644:	20000078 	.long	0x20000078
    c648:	20000054 	.long	0x20000054
    c64c:	20000b00 	.long	0x20000b00
    c650:	2000026e 	.long	0x2000026e
    c654:	20000242 	.long	0x20000242

Disassembly of section .text.std_clk_calib:

0000c658 <std_clk_calib>:
    c658:	14d4      	push      	r4-r7, r15
    c65a:	142d      	subi      	r14, r14, 52
    c65c:	3201      	movi      	r2, 1
    c65e:	03ce      	lrw      	r6, 0x2000005c	// c8a0 <std_clk_calib+0x248>
    c660:	6cc3      	mov      	r3, r0
    c662:	dc4e000a 	st.b      	r2, (r14, 0xa)
    c666:	9640      	ld.w      	r2, (r6, 0x0)
    c668:	9247      	ld.w      	r2, (r2, 0x1c)
    c66a:	7488      	zextb      	r2, r2
    c66c:	dc4e0009 	st.b      	r2, (r14, 0x9)
    c670:	d84e0009 	ld.b      	r2, (r14, 0x9)
    c674:	3a40      	cmpnei      	r2, 0
    c676:	0c08      	bf      	0xc686	// c686 <std_clk_calib+0x2e>
    c678:	d84e0009 	ld.b      	r2, (r14, 0x9)
    c67c:	3a42      	cmpnei      	r2, 2
    c67e:	0c04      	bf      	0xc686	// c686 <std_clk_calib+0x2e>
    c680:	3000      	movi      	r0, 0
    c682:	140d      	addi      	r14, r14, 52
    c684:	1494      	pop      	r4-r7, r15
    c686:	0397      	lrw      	r4, 0x2000000c	// c8a4 <std_clk_calib+0x24c>
    c688:	3209      	movi      	r2, 9
    c68a:	9400      	ld.w      	r0, (r4, 0x0)
    c68c:	3b40      	cmpnei      	r3, 0
    c68e:	b041      	st.w      	r2, (r0, 0x4)
    c690:	0857      	bt      	0xc73e	// c73e <std_clk_calib+0xe6>
    c692:	3307      	movi      	r3, 7
    c694:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c698:	037b      	lrw      	r3, 0x2dc6c00	// c8a8 <std_clk_calib+0x250>
    c69a:	b863      	st.w      	r3, (r14, 0xc)
    c69c:	3380      	movi      	r3, 128
    c69e:	4362      	lsli      	r3, r3, 2
    c6a0:	b867      	st.w      	r3, (r14, 0x1c)
    c6a2:	d86e000b 	ld.b      	r3, (r14, 0xb)
    c6a6:	74cc      	zextb      	r3, r3
    c6a8:	b062      	st.w      	r3, (r0, 0x8)
    c6aa:	037e      	lrw      	r3, 0xffff	// c8ac <std_clk_calib+0x254>
    c6ac:	b063      	st.w      	r3, (r0, 0xc)
    c6ae:	3201      	movi      	r2, 1
    c6b0:	3101      	movi      	r1, 1
    c6b2:	03bf      	lrw      	r5, 0x20000014	// c8b0 <std_clk_calib+0x258>
    c6b4:	e3ffc1fc 	bsr      	0x4aac	// 4aac <BT_ConfigInterrupt_CMD>
    c6b8:	95e0      	ld.w      	r7, (r5, 0x0)
    c6ba:	137f      	lrw      	r3, 0xbe9c0005	// c8b4 <std_clk_calib+0x25c>
    c6bc:	b760      	st.w      	r3, (r7, 0x0)
    c6be:	135f      	lrw      	r2, 0x30010	// c8b8 <std_clk_calib+0x260>
    c6c0:	3300      	movi      	r3, 0
    c6c2:	b762      	st.w      	r3, (r7, 0x8)
    c6c4:	b743      	st.w      	r2, (r7, 0xc)
    c6c6:	32d8      	movi      	r2, 216
    c6c8:	b745      	st.w      	r2, (r7, 0x14)
    c6ca:	974f      	ld.w      	r2, (r7, 0x3c)
    c6cc:	3aa2      	bseti      	r2, 2
    c6ce:	b74f      	st.w      	r2, (r7, 0x3c)
    c6d0:	9803      	ld.w      	r0, (r14, 0xc)
    c6d2:	d82e000b 	ld.b      	r1, (r14, 0xb)
    c6d6:	327d      	movi      	r2, 125
    c6d8:	2100      	addi      	r1, 1
    c6da:	7c48      	mult      	r1, r2
    c6dc:	b861      	st.w      	r3, (r14, 0x4)
    c6de:	e3ffcd2d 	bsr      	0x6138	// 6138 <__udivsi3>
    c6e2:	b804      	st.w      	r0, (r14, 0x10)
    c6e4:	32fa      	movi      	r2, 250
    c6e6:	9824      	ld.w      	r1, (r14, 0x10)
    c6e8:	4242      	lsli      	r2, r2, 2
    c6ea:	6448      	cmphs      	r2, r1
    c6ec:	0bca      	bt      	0xc680	// c680 <std_clk_calib+0x28>
    c6ee:	9844      	ld.w      	r2, (r14, 0x10)
    c6f0:	3178      	movi      	r1, 120
    c6f2:	9804      	ld.w      	r0, (r14, 0x10)
    c6f4:	b840      	st.w      	r2, (r14, 0x0)
    c6f6:	e3ffcd21 	bsr      	0x6138	// 6138 <__udivsi3>
    c6fa:	9840      	ld.w      	r2, (r14, 0x0)
    c6fc:	6082      	subu      	r2, r0
    c6fe:	b845      	st.w      	r2, (r14, 0x14)
    c700:	9804      	ld.w      	r0, (r14, 0x10)
    c702:	3178      	movi      	r1, 120
    c704:	9844      	ld.w      	r2, (r14, 0x10)
    c706:	b840      	st.w      	r2, (r14, 0x0)
    c708:	e3ffcd18 	bsr      	0x6138	// 6138 <__udivsi3>
    c70c:	9840      	ld.w      	r2, (r14, 0x0)
    c70e:	6008      	addu      	r0, r2
    c710:	b806      	st.w      	r0, (r14, 0x18)
    c712:	c0807020 	psrclr      	ie
    c716:	9640      	ld.w      	r2, (r6, 0x0)
    c718:	9254      	ld.w      	r2, (r2, 0x50)
    c71a:	b848      	st.w      	r2, (r14, 0x20)
    c71c:	9861      	ld.w      	r3, (r14, 0x4)
    c71e:	9440      	ld.w      	r2, (r4, 0x0)
    c720:	b260      	st.w      	r3, (r2, 0x0)
    c722:	b761      	st.w      	r3, (r7, 0x4)
    c724:	d86e000a 	ld.b      	r3, (r14, 0xa)
    c728:	3b40      	cmpnei      	r3, 0
    c72a:	083e      	bt      	0xc7a6	// c7a6 <std_clk_calib+0x14e>
    c72c:	e3ffc172 	bsr      	0x4a10	// 4a10 <LPT_Soft_Reset>
    c730:	9400      	ld.w      	r0, (r4, 0x0)
    c732:	e3ffc193 	bsr      	0x4a58	// 4a58 <BT_Soft_Reset>
    c736:	c1807420 	psrset      	ee, ie
    c73a:	3001      	movi      	r0, 1
    c73c:	07a3      	br      	0xc682	// c682 <std_clk_calib+0x2a>
    c73e:	3b41      	cmpnei      	r3, 1
    c740:	0806      	bt      	0xc74c	// c74c <std_clk_calib+0xf4>
    c742:	3303      	movi      	r3, 3
    c744:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c748:	127d      	lrw      	r3, 0x16e3600	// c8bc <std_clk_calib+0x264>
    c74a:	07a8      	br      	0xc69a	// c69a <std_clk_calib+0x42>
    c74c:	3b42      	cmpnei      	r3, 2
    c74e:	0806      	bt      	0xc75a	// c75a <std_clk_calib+0x102>
    c750:	3301      	movi      	r3, 1
    c752:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c756:	127b      	lrw      	r3, 0xb71b00	// c8c0 <std_clk_calib+0x268>
    c758:	07a1      	br      	0xc69a	// c69a <std_clk_calib+0x42>
    c75a:	3b43      	cmpnei      	r3, 3
    c75c:	0806      	bt      	0xc768	// c768 <std_clk_calib+0x110>
    c75e:	3300      	movi      	r3, 0
    c760:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c764:	1278      	lrw      	r3, 0x5b8d80	// c8c4 <std_clk_calib+0x26c>
    c766:	079a      	br      	0xc69a	// c69a <std_clk_calib+0x42>
    c768:	3b44      	cmpnei      	r3, 4
    c76a:	0809      	bt      	0xc77c	// c77c <std_clk_calib+0x124>
    c76c:	3300      	movi      	r3, 0
    c76e:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c772:	1276      	lrw      	r3, 0x54c720	// c8c8 <std_clk_calib+0x270>
    c774:	b863      	st.w      	r3, (r14, 0xc)
    c776:	3380      	movi      	r3, 128
    c778:	4369      	lsli      	r3, r3, 9
    c77a:	0793      	br      	0xc6a0	// c6a0 <std_clk_calib+0x48>
    c77c:	3b45      	cmpnei      	r3, 5
    c77e:	0806      	bt      	0xc78a	// c78a <std_clk_calib+0x132>
    c780:	3300      	movi      	r3, 0
    c782:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c786:	1272      	lrw      	r3, 0x3ffed0	// c8cc <std_clk_calib+0x274>
    c788:	07f6      	br      	0xc774	// c774 <std_clk_calib+0x11c>
    c78a:	3b46      	cmpnei      	r3, 6
    c78c:	0806      	bt      	0xc798	// c798 <std_clk_calib+0x140>
    c78e:	3300      	movi      	r3, 0
    c790:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c794:	126f      	lrw      	r3, 0x1fff68	// c8d0 <std_clk_calib+0x278>
    c796:	07ef      	br      	0xc774	// c774 <std_clk_calib+0x11c>
    c798:	3b47      	cmpnei      	r3, 7
    c79a:	0b84      	bt      	0xc6a2	// c6a2 <std_clk_calib+0x4a>
    c79c:	3300      	movi      	r3, 0
    c79e:	dc6e000b 	st.b      	r3, (r14, 0xb)
    c7a2:	126d      	lrw      	r3, 0x1ffb8	// c8d4 <std_clk_calib+0x27c>
    c7a4:	07e8      	br      	0xc774	// c774 <std_clk_calib+0x11c>
    c7a6:	9560      	ld.w      	r3, (r5, 0x0)
    c7a8:	3101      	movi      	r1, 1
    c7aa:	9440      	ld.w      	r2, (r4, 0x0)
    c7ac:	b321      	st.w      	r1, (r3, 0x4)
    c7ae:	b220      	st.w      	r1, (r2, 0x0)
    c7b0:	3100      	movi      	r1, 0
    c7b2:	b327      	st.w      	r1, (r3, 0x1c)
    c7b4:	3004      	movi      	r0, 4
    c7b6:	b225      	st.w      	r1, (r2, 0x14)
    c7b8:	932e      	ld.w      	r1, (r3, 0x38)
    c7ba:	6840      	and      	r1, r0
    c7bc:	3940      	cmpnei      	r1, 0
    c7be:	0ffd      	bf      	0xc7b8	// c7b8 <std_clk_calib+0x160>
    c7c0:	9225      	ld.w      	r1, (r2, 0x14)
    c7c2:	b82a      	st.w      	r1, (r14, 0x28)
    c7c4:	3100      	movi      	r1, 0
    c7c6:	b310      	st.w      	r0, (r3, 0x40)
    c7c8:	b327      	st.w      	r1, (r3, 0x1c)
    c7ca:	3004      	movi      	r0, 4
    c7cc:	b225      	st.w      	r1, (r2, 0x14)
    c7ce:	932e      	ld.w      	r1, (r3, 0x38)
    c7d0:	6840      	and      	r1, r0
    c7d2:	3940      	cmpnei      	r1, 0
    c7d4:	0ffd      	bf      	0xc7ce	// c7ce <std_clk_calib+0x176>
    c7d6:	9225      	ld.w      	r1, (r2, 0x14)
    c7d8:	b82b      	st.w      	r1, (r14, 0x2c)
    c7da:	3100      	movi      	r1, 0
    c7dc:	b310      	st.w      	r0, (r3, 0x40)
    c7de:	b327      	st.w      	r1, (r3, 0x1c)
    c7e0:	3004      	movi      	r0, 4
    c7e2:	b225      	st.w      	r1, (r2, 0x14)
    c7e4:	932e      	ld.w      	r1, (r3, 0x38)
    c7e6:	6840      	and      	r1, r0
    c7e8:	3940      	cmpnei      	r1, 0
    c7ea:	0ffd      	bf      	0xc7e4	// c7e4 <std_clk_calib+0x18c>
    c7ec:	9225      	ld.w      	r1, (r2, 0x14)
    c7ee:	b82c      	st.w      	r1, (r14, 0x30)
    c7f0:	b310      	st.w      	r0, (r3, 0x40)
    c7f2:	982b      	ld.w      	r1, (r14, 0x2c)
    c7f4:	980c      	ld.w      	r0, (r14, 0x30)
    c7f6:	6040      	addu      	r1, r0
    c7f8:	b829      	st.w      	r1, (r14, 0x24)
    c7fa:	9829      	ld.w      	r1, (r14, 0x24)
    c7fc:	4921      	lsri      	r1, r1, 1
    c7fe:	b829      	st.w      	r1, (r14, 0x24)
    c800:	3100      	movi      	r1, 0
    c802:	b321      	st.w      	r1, (r3, 0x4)
    c804:	b220      	st.w      	r1, (r2, 0x0)
    c806:	b327      	st.w      	r1, (r3, 0x1c)
    c808:	b225      	st.w      	r1, (r2, 0x14)
    c80a:	d86e0009 	ld.b      	r3, (r14, 0x9)
    c80e:	3b42      	cmpnei      	r3, 2
    c810:	9849      	ld.w      	r2, (r14, 0x24)
    c812:	082c      	bt      	0xc86a	// c86a <std_clk_calib+0x212>
    c814:	1171      	lrw      	r3, 0x7ff	// c8d8 <std_clk_calib+0x280>
    c816:	648c      	cmphs      	r3, r2
    c818:	0c03      	bf      	0xc81e	// c81e <std_clk_calib+0x1c6>
    c81a:	3300      	movi      	r3, 0
    c81c:	040f      	br      	0xc83a	// c83a <std_clk_calib+0x1e2>
    c81e:	9849      	ld.w      	r2, (r14, 0x24)
    c820:	9866      	ld.w      	r3, (r14, 0x18)
    c822:	648c      	cmphs      	r3, r2
    c824:	080e      	bt      	0xc840	// c840 <std_clk_calib+0x1e8>
    c826:	9868      	ld.w      	r3, (r14, 0x20)
    c828:	9847      	ld.w      	r2, (r14, 0x1c)
    c82a:	60ca      	subu      	r3, r2
    c82c:	b868      	st.w      	r3, (r14, 0x20)
    c82e:	32fe      	movi      	r2, 254
    c830:	9868      	ld.w      	r3, (r14, 0x20)
    c832:	4248      	lsli      	r2, r2, 8
    c834:	68c8      	and      	r3, r2
    c836:	3b40      	cmpnei      	r3, 0
    c838:	0812      	bt      	0xc85c	// c85c <std_clk_calib+0x204>
    c83a:	dc6e000a 	st.b      	r3, (r14, 0xa)
    c83e:	0721      	br      	0xc680	// c680 <std_clk_calib+0x28>
    c840:	9849      	ld.w      	r2, (r14, 0x24)
    c842:	9865      	ld.w      	r3, (r14, 0x14)
    c844:	64c8      	cmphs      	r2, r3
    c846:	0829      	bt      	0xc898	// c898 <std_clk_calib+0x240>
    c848:	9868      	ld.w      	r3, (r14, 0x20)
    c84a:	9847      	ld.w      	r2, (r14, 0x1c)
    c84c:	60c8      	addu      	r3, r2
    c84e:	b868      	st.w      	r3, (r14, 0x20)
    c850:	33fe      	movi      	r3, 254
    c852:	9848      	ld.w      	r2, (r14, 0x20)
    c854:	4368      	lsli      	r3, r3, 8
    c856:	688c      	and      	r2, r3
    c858:	64ca      	cmpne      	r2, r3
    c85a:	0fe0      	bf      	0xc81a	// c81a <std_clk_calib+0x1c2>
    c85c:	9660      	ld.w      	r3, (r6, 0x0)
    c85e:	9848      	ld.w      	r2, (r14, 0x20)
    c860:	b354      	st.w      	r2, (r3, 0x50)
    c862:	3001      	movi      	r0, 1
    c864:	e3ffc65c 	bsr      	0x551c	// 551c <delay_nms>
    c868:	075e      	br      	0xc724	// c724 <std_clk_calib+0xcc>
    c86a:	9866      	ld.w      	r3, (r14, 0x18)
    c86c:	648c      	cmphs      	r3, r2
    c86e:	0809      	bt      	0xc880	// c880 <std_clk_calib+0x228>
    c870:	9868      	ld.w      	r3, (r14, 0x20)
    c872:	9847      	ld.w      	r2, (r14, 0x1c)
    c874:	60ca      	subu      	r3, r2
    c876:	b868      	st.w      	r3, (r14, 0x20)
    c878:	32ff      	movi      	r2, 255
    c87a:	9868      	ld.w      	r3, (r14, 0x20)
    c87c:	4250      	lsli      	r2, r2, 16
    c87e:	07db      	br      	0xc834	// c834 <std_clk_calib+0x1dc>
    c880:	9849      	ld.w      	r2, (r14, 0x24)
    c882:	9865      	ld.w      	r3, (r14, 0x14)
    c884:	64c8      	cmphs      	r2, r3
    c886:	0809      	bt      	0xc898	// c898 <std_clk_calib+0x240>
    c888:	9868      	ld.w      	r3, (r14, 0x20)
    c88a:	9847      	ld.w      	r2, (r14, 0x1c)
    c88c:	60c8      	addu      	r3, r2
    c88e:	b868      	st.w      	r3, (r14, 0x20)
    c890:	33ff      	movi      	r3, 255
    c892:	9848      	ld.w      	r2, (r14, 0x20)
    c894:	4370      	lsli      	r3, r3, 16
    c896:	07e0      	br      	0xc856	// c856 <std_clk_calib+0x1fe>
    c898:	3300      	movi      	r3, 0
    c89a:	dc6e000a 	st.b      	r3, (r14, 0xa)
    c89e:	07e2      	br      	0xc862	// c862 <std_clk_calib+0x20a>
    c8a0:	2000005c 	.long	0x2000005c
    c8a4:	2000000c 	.long	0x2000000c
    c8a8:	02dc6c00 	.long	0x02dc6c00
    c8ac:	0000ffff 	.long	0x0000ffff
    c8b0:	20000014 	.long	0x20000014
    c8b4:	be9c0005 	.long	0xbe9c0005
    c8b8:	00030010 	.long	0x00030010
    c8bc:	016e3600 	.long	0x016e3600
    c8c0:	00b71b00 	.long	0x00b71b00
    c8c4:	005b8d80 	.long	0x005b8d80
    c8c8:	0054c720 	.long	0x0054c720
    c8cc:	003ffed0 	.long	0x003ffed0
    c8d0:	001fff68 	.long	0x001fff68
    c8d4:	0001ffb8 	.long	0x0001ffb8
    c8d8:	000007ff 	.long	0x000007ff
