12538 lines
504 KiB
NASM
12538 lines
504 KiB
NASM
|
|
|
|||
|
|
.//Obj/RLY_10V485_V01_20250625.elf: file format elf32-csky-little
|
|||
|
|
|
|||
|
|
|
|||
|
|
Disassembly of section .text:
|
|||
|
|
|
|||
|
|
00000000 <vector_table>:
|
|||
|
|
0: 0000010c .long 0x0000010c
|
|||
|
|
4: 0000318e .long 0x0000318e
|
|||
|
|
8: 0000317e .long 0x0000317e
|
|||
|
|
c: 00000184 .long 0x00000184
|
|||
|
|
10: 00003186 .long 0x00003186
|
|||
|
|
14: 00003144 .long 0x00003144
|
|||
|
|
18: 00000184 .long 0x00000184
|
|||
|
|
1c: 00003176 .long 0x00003176
|
|||
|
|
20: 0000316e .long 0x0000316e
|
|||
|
|
24: 00000184 .long 0x00000184
|
|||
|
|
28: 00000184 .long 0x00000184
|
|||
|
|
2c: 00000184 .long 0x00000184
|
|||
|
|
30: 00000184 .long 0x00000184
|
|||
|
|
34: 00000184 .long 0x00000184
|
|||
|
|
38: 00000184 .long 0x00000184
|
|||
|
|
3c: 00000184 .long 0x00000184
|
|||
|
|
40: 00003166 .long 0x00003166
|
|||
|
|
44: 0000315e .long 0x0000315e
|
|||
|
|
48: 00003156 .long 0x00003156
|
|||
|
|
4c: 0000314e .long 0x0000314e
|
|||
|
|
50: 00000184 .long 0x00000184
|
|||
|
|
54: 00000184 .long 0x00000184
|
|||
|
|
58: 00000184 .long 0x00000184
|
|||
|
|
5c: 00000184 .long 0x00000184
|
|||
|
|
60: 00000184 .long 0x00000184
|
|||
|
|
64: 00000184 .long 0x00000184
|
|||
|
|
68: 00000184 .long 0x00000184
|
|||
|
|
6c: 00000184 .long 0x00000184
|
|||
|
|
70: 00000184 .long 0x00000184
|
|||
|
|
74: 00000184 .long 0x00000184
|
|||
|
|
78: 00000184 .long 0x00000184
|
|||
|
|
7c: 00003146 .long 0x00003146
|
|||
|
|
80: 00004944 .long 0x00004944
|
|||
|
|
84: 00002838 .long 0x00002838
|
|||
|
|
88: 00002928 .long 0x00002928
|
|||
|
|
8c: 00002990 .long 0x00002990
|
|||
|
|
90: 000029f8 .long 0x000029f8
|
|||
|
|
94: 00000184 .long 0x00000184
|
|||
|
|
98: 00002ba4 .long 0x00002ba4
|
|||
|
|
9c: 00002f20 .long 0x00002f20
|
|||
|
|
a0: 00002f50 .long 0x00002f50
|
|||
|
|
a4: 00002bd8 .long 0x00002bd8
|
|||
|
|
a8: 00000184 .long 0x00000184
|
|||
|
|
ac: 00000184 .long 0x00000184
|
|||
|
|
b0: 00002c58 .long 0x00002c58
|
|||
|
|
b4: 00002cc8 .long 0x00002cc8
|
|||
|
|
b8: 00002d04 .long 0x00002d04
|
|||
|
|
bc: 00002d98 .long 0x00002d98
|
|||
|
|
c0: 00000184 .long 0x00000184
|
|||
|
|
c4: 0000319e .long 0x0000319e
|
|||
|
|
c8: 00000184 .long 0x00000184
|
|||
|
|
cc: 00002de4 .long 0x00002de4
|
|||
|
|
d0: 00002ecc .long 0x00002ecc
|
|||
|
|
d4: 00002f80 .long 0x00002f80
|
|||
|
|
d8: 00002fc8 .long 0x00002fc8
|
|||
|
|
dc: 00002fe8 .long 0x00002fe8
|
|||
|
|
e0: 00003196 .long 0x00003196
|
|||
|
|
e4: 000043b4 .long 0x000043b4
|
|||
|
|
e8: 00003054 .long 0x00003054
|
|||
|
|
ec: 00000184 .long 0x00000184
|
|||
|
|
f0: 00003088 .long 0x00003088
|
|||
|
|
f4: 000030d4 .long 0x000030d4
|
|||
|
|
f8: 00000184 .long 0x00000184
|
|||
|
|
fc: 00000184 .long 0x00000184
|
|||
|
|
100: 55aa0005 .long 0x55aa0005
|
|||
|
|
...
|
|||
|
|
|
|||
|
|
0000010c <__start>:
|
|||
|
|
// .long __start
|
|||
|
|
__start:
|
|||
|
|
|
|||
|
|
|
|||
|
|
//initialize all registers
|
|||
|
|
movi r0, 0
|
|||
|
|
10c: 3000 movi r0, 0
|
|||
|
|
movi r1, 0
|
|||
|
|
10e: 3100 movi r1, 0
|
|||
|
|
movi r2, 0
|
|||
|
|
110: 3200 movi r2, 0
|
|||
|
|
movi r3, 0
|
|||
|
|
112: 3300 movi r3, 0
|
|||
|
|
movi r4, 0
|
|||
|
|
114: 3400 movi r4, 0
|
|||
|
|
movi r5, 0
|
|||
|
|
116: 3500 movi r5, 0
|
|||
|
|
movi r6, 0
|
|||
|
|
118: 3600 movi r6, 0
|
|||
|
|
movi r7, 0
|
|||
|
|
11a: 3700 movi r7, 0
|
|||
|
|
//movi r13, 0
|
|||
|
|
//movi r14, 0
|
|||
|
|
//movi r15, 0
|
|||
|
|
|
|||
|
|
//set VBR
|
|||
|
|
lrw r2, vector_table
|
|||
|
|
11c: 105b lrw r2, 0x0 // 188 <DummyHandler+0x4>
|
|||
|
|
mtcr r2, cr<1,0>
|
|||
|
|
11e: c0026421 mtcr r2, cr<1, 0>
|
|||
|
|
|
|||
|
|
//enable EE bit of psr
|
|||
|
|
mfcr r2, cr<0,0>
|
|||
|
|
122: c0006022 mfcr r2, cr<0, 0>
|
|||
|
|
bseti r2, r2, 8
|
|||
|
|
126: 3aa8 bseti r2, 8
|
|||
|
|
mtcr r2, cr<0,0>
|
|||
|
|
128: 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
|
|||
|
|
12c: 1038 lrw r1, 0xe000ef90 // 18c <DummyHandler+0x8>
|
|||
|
|
movi r2, 0x0
|
|||
|
|
12e: 3200 movi r2, 0
|
|||
|
|
st.w r2, (r1, 0x0)
|
|||
|
|
130: b140 st.w r2, (r1, 0x0)
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//initialize kernel stack
|
|||
|
|
lrw r7, __kernel_stack
|
|||
|
|
132: 10f8 lrw r7, 0x20000ff8 // 190 <DummyHandler+0xc>
|
|||
|
|
mov r14,r7
|
|||
|
|
134: 6f9f mov r14, r7
|
|||
|
|
subi r6,r7,0x4
|
|||
|
|
136: 5fcf subi r6, r7, 4
|
|||
|
|
|
|||
|
|
//lrw r3, 0x40
|
|||
|
|
lrw r3, 0x04
|
|||
|
|
138: 3304 movi r3, 4
|
|||
|
|
|
|||
|
|
subu r4, r7, r3
|
|||
|
|
13a: 5f8d subu r4, r7, r3
|
|||
|
|
lrw r5, 0x0
|
|||
|
|
13c: 3500 movi r5, 0
|
|||
|
|
|
|||
|
|
0000013e <INIT_KERLE_STACK>:
|
|||
|
|
INIT_KERLE_STACK:
|
|||
|
|
addi r4, 0x4
|
|||
|
|
13e: 2403 addi r4, 4
|
|||
|
|
st.w r5, (r4)
|
|||
|
|
140: b4a0 st.w r5, (r4, 0x0)
|
|||
|
|
//cmphs r7, r4
|
|||
|
|
cmphs r6, r4
|
|||
|
|
142: 6518 cmphs r6, r4
|
|||
|
|
bt INIT_KERLE_STACK
|
|||
|
|
144: 0bfd bt 0x13e // 13e <INIT_KERLE_STACK>
|
|||
|
|
|
|||
|
|
00000146 <__to_main>:
|
|||
|
|
|
|||
|
|
__to_main:
|
|||
|
|
lrw r0,__main
|
|||
|
|
146: 1014 lrw r0, 0x1a90 // 194 <DummyHandler+0x10>
|
|||
|
|
jsr r0
|
|||
|
|
148: 7bc1 jsr r0
|
|||
|
|
mov r0, r0
|
|||
|
|
14a: 6c03 mov r0, r0
|
|||
|
|
mov r0, r0
|
|||
|
|
14c: 6c03 mov r0, r0
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
lrw r15, __exit
|
|||
|
|
14e: ea8f0013 lrw r15, 0x160 // 198 <DummyHandler+0x14>
|
|||
|
|
lrw r0,main
|
|||
|
|
152: 1013 lrw r0, 0x26ac // 19c <DummyHandler+0x18>
|
|||
|
|
jmp r0
|
|||
|
|
154: 7800 jmp r0
|
|||
|
|
mov r0, r0
|
|||
|
|
156: 6c03 mov r0, r0
|
|||
|
|
mov r0, r0
|
|||
|
|
158: 6c03 mov r0, r0
|
|||
|
|
mov r0, r0
|
|||
|
|
15a: 6c03 mov r0, r0
|
|||
|
|
mov r0, r0
|
|||
|
|
15c: 6c03 mov r0, r0
|
|||
|
|
mov r0, r0
|
|||
|
|
15e: 6c03 mov r0, r0
|
|||
|
|
|
|||
|
|
00000160 <__exit>:
|
|||
|
|
|
|||
|
|
.export __exit
|
|||
|
|
__exit:
|
|||
|
|
|
|||
|
|
lrw r4, 0x20003000
|
|||
|
|
160: 1090 lrw r4, 0x20003000 // 1a0 <DummyHandler+0x1c>
|
|||
|
|
//lrw r5, 0x0
|
|||
|
|
mov r5, r0
|
|||
|
|
162: 6d43 mov r5, r0
|
|||
|
|
st.w r5, (r4)
|
|||
|
|
164: b4a0 st.w r5, (r4, 0x0)
|
|||
|
|
|
|||
|
|
mfcr r1, cr<0,0>
|
|||
|
|
166: c0006021 mfcr r1, cr<0, 0>
|
|||
|
|
lrw r1, 0xFFFF
|
|||
|
|
16a: 102f lrw r1, 0xffff // 1a4 <DummyHandler+0x20>
|
|||
|
|
mtcr r1, cr<11,0>
|
|||
|
|
16c: c001642b mtcr r1, cr<11, 0>
|
|||
|
|
lrw r1, 0xFFF
|
|||
|
|
170: 102e lrw r1, 0xfff // 1a8 <DummyHandler+0x24>
|
|||
|
|
movi r0, 0x0
|
|||
|
|
172: 3000 movi r0, 0
|
|||
|
|
st r1, (r0)
|
|||
|
|
174: b020 st.w r1, (r0, 0x0)
|
|||
|
|
|
|||
|
|
00000176 <__fail>:
|
|||
|
|
|
|||
|
|
.export __fail
|
|||
|
|
__fail:
|
|||
|
|
lrw r1, 0xEEEE
|
|||
|
|
176: 102e lrw r1, 0xeeee // 1ac <DummyHandler+0x28>
|
|||
|
|
mtcr r1, cr<11,0>
|
|||
|
|
178: c001642b mtcr r1, cr<11, 0>
|
|||
|
|
lrw r1, 0xEEE
|
|||
|
|
17c: 102d lrw r1, 0xeee // 1b0 <DummyHandler+0x2c>
|
|||
|
|
movi r0, 0x0
|
|||
|
|
17e: 3000 movi r0, 0
|
|||
|
|
st r1, (r0)
|
|||
|
|
180: b020 st.w r1, (r0, 0x0)
|
|||
|
|
|
|||
|
|
00000182 <__dummy>:
|
|||
|
|
|
|||
|
|
__dummy:
|
|||
|
|
br __fail
|
|||
|
|
182: 07fa br 0x176 // 176 <__fail>
|
|||
|
|
|
|||
|
|
00000184 <DummyHandler>:
|
|||
|
|
|
|||
|
|
.export DummyHandler
|
|||
|
|
DummyHandler:
|
|||
|
|
br __fail
|
|||
|
|
184: 07f9 br 0x176 // 176 <__fail>
|
|||
|
|
186: 0000 .short 0x0000
|
|||
|
|
188: 00000000 .long 0x00000000
|
|||
|
|
18c: e000ef90 .long 0xe000ef90
|
|||
|
|
190: 20000ff8 .long 0x20000ff8
|
|||
|
|
194: 00001a90 .long 0x00001a90
|
|||
|
|
198: 00000160 .long 0x00000160
|
|||
|
|
19c: 000026ac .long 0x000026ac
|
|||
|
|
1a0: 20003000 .long 0x20003000
|
|||
|
|
1a4: 0000ffff .long 0x0000ffff
|
|||
|
|
1a8: 00000fff .long 0x00000fff
|
|||
|
|
1ac: 0000eeee .long 0x0000eeee
|
|||
|
|
1b0: 00000eee .long 0x00000eee
|
|||
|
|
|
|||
|
|
000001b4 <__GI_pow>:
|
|||
|
|
1b4: 14d4 push r4-r7, r15
|
|||
|
|
1b6: 142d subi r14, r14, 52
|
|||
|
|
1b8: b860 st.w r3, (r14, 0x0)
|
|||
|
|
1ba: 4361 lsli r3, r3, 1
|
|||
|
|
1bc: 4b81 lsri r4, r3, 1
|
|||
|
|
1be: b842 st.w r2, (r14, 0x8)
|
|||
|
|
1c0: 6c90 or r2, r4
|
|||
|
|
1c2: 3a40 cmpnei r2, 0
|
|||
|
|
1c4: 6dc3 mov r7, r0
|
|||
|
|
1c6: 6d87 mov r6, r1
|
|||
|
|
1c8: 0803 bt 0x1ce // 1ce <__GI_pow+0x1a>
|
|||
|
|
1ca: e8000462 br 0xa8e // a8e <__GI_pow+0x8da>
|
|||
|
|
1ce: 41a1 lsli r5, r1, 1
|
|||
|
|
1d0: 4da1 lsri r5, r5, 1
|
|||
|
|
1d2: 0055 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4>
|
|||
|
|
1d4: 6549 cmplt r2, r5
|
|||
|
|
1d6: 080c bt 0x1ee // 1ee <__GI_pow+0x3a>
|
|||
|
|
1d8: 6496 cmpne r5, r2
|
|||
|
|
1da: 0803 bt 0x1e0 // 1e0 <__GI_pow+0x2c>
|
|||
|
|
1dc: 3840 cmpnei r0, 0
|
|||
|
|
1de: 0808 bt 0x1ee // 1ee <__GI_pow+0x3a>
|
|||
|
|
1e0: 6509 cmplt r2, r4
|
|||
|
|
1e2: 0806 bt 0x1ee // 1ee <__GI_pow+0x3a>
|
|||
|
|
1e4: 6492 cmpne r4, r2
|
|||
|
|
1e6: 080e bt 0x202 // 202 <__GI_pow+0x4e>
|
|||
|
|
1e8: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
1ea: 3840 cmpnei r0, 0
|
|||
|
|
1ec: 0c0b bf 0x202 // 202 <__GI_pow+0x4e>
|
|||
|
|
1ee: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
1f0: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
1f2: 6c1f mov r0, r7
|
|||
|
|
1f4: 6c5b mov r1, r6
|
|||
|
|
1f6: e000071f bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
1fa: 6d03 mov r4, r0
|
|||
|
|
1fc: 6c13 mov r0, r4
|
|||
|
|
1fe: 140d addi r14, r14, 52
|
|||
|
|
200: 1494 pop r4-r7, r15
|
|||
|
|
202: 3edf btsti r6, 31
|
|||
|
|
204: 0c51 bf 0x2a6 // 2a6 <__GI_pow+0xf2>
|
|||
|
|
206: 0121 lrw r1, 0x43400000 // 57c <__GI_pow+0x3c8>
|
|||
|
|
208: 2900 subi r1, 1
|
|||
|
|
20a: 6505 cmplt r1, r4
|
|||
|
|
20c: 084b bt 0x2a2 // 2a2 <__GI_pow+0xee>
|
|||
|
|
20e: 0162 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
210: 2b00 subi r3, 1
|
|||
|
|
212: 650d cmplt r3, r4
|
|||
|
|
214: 0c49 bf 0x2a6 // 2a6 <__GI_pow+0xf2>
|
|||
|
|
216: 5454 asri r2, r4, 20
|
|||
|
|
218: 0104 lrw r0, 0xfffffc01 // 584 <__GI_pow+0x3d0>
|
|||
|
|
21a: 6080 addu r2, r0
|
|||
|
|
21c: 3a34 cmplti r2, 21
|
|||
|
|
21e: 0821 bt 0x260 // 260 <__GI_pow+0xac>
|
|||
|
|
220: 3334 movi r3, 52
|
|||
|
|
222: 60ca subu r3, r2
|
|||
|
|
224: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
226: 708d lsr r2, r3
|
|||
|
|
228: 6c4b mov r1, r2
|
|||
|
|
22a: 704c lsl r1, r3
|
|||
|
|
22c: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
22e: 6442 cmpne r0, r1
|
|||
|
|
230: 083b bt 0x2a6 // 2a6 <__GI_pow+0xf2>
|
|||
|
|
232: 3101 movi r1, 1
|
|||
|
|
234: 6884 and r2, r1
|
|||
|
|
236: 3302 movi r3, 2
|
|||
|
|
238: 5b49 subu r2, r3, r2
|
|||
|
|
23a: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
23c: 3840 cmpnei r0, 0
|
|||
|
|
23e: b841 st.w r2, (r14, 0x4)
|
|||
|
|
240: 0862 bt 0x304 // 304 <__GI_pow+0x150>
|
|||
|
|
242: 0151 lrw r2, 0x7ff00000 // 578 <__GI_pow+0x3c4>
|
|||
|
|
244: 6492 cmpne r4, r2
|
|||
|
|
246: 081f bt 0x284 // 284 <__GI_pow+0xd0>
|
|||
|
|
248: 012f lrw r1, 0xc0100000 // 588 <__GI_pow+0x3d4>
|
|||
|
|
24a: 6054 addu r1, r5
|
|||
|
|
24c: 6dc4 or r7, r1
|
|||
|
|
24e: 3f40 cmpnei r7, 0
|
|||
|
|
250: 082d bt 0x2aa // 2aa <__GI_pow+0xf6>
|
|||
|
|
252: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
254: 3200 movi r2, 0
|
|||
|
|
256: 6c4f mov r1, r3
|
|||
|
|
258: 3000 movi r0, 0
|
|||
|
|
25a: e0000705 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
25e: 07ce br 0x1fa // 1fa <__GI_pow+0x46>
|
|||
|
|
260: 9822 ld.w r1, (r14, 0x8)
|
|||
|
|
262: 3940 cmpnei r1, 0
|
|||
|
|
264: 084e bt 0x300 // 300 <__GI_pow+0x14c>
|
|||
|
|
266: 3114 movi r1, 20
|
|||
|
|
268: 604a subu r1, r2
|
|||
|
|
26a: 6c93 mov r2, r4
|
|||
|
|
26c: 7086 asr r2, r1
|
|||
|
|
26e: 6c0b mov r0, r2
|
|||
|
|
270: 7004 lsl r0, r1
|
|||
|
|
272: 6412 cmpne r4, r0
|
|||
|
|
274: 0c03 bf 0x27a // 27a <__GI_pow+0xc6>
|
|||
|
|
276: e8000471 br 0xb58 // b58 <__GI_pow+0x9a4>
|
|||
|
|
27a: 3101 movi r1, 1
|
|||
|
|
27c: 6884 and r2, r1
|
|||
|
|
27e: 3002 movi r0, 2
|
|||
|
|
280: 5869 subu r3, r0, r2
|
|||
|
|
282: b861 st.w r3, (r14, 0x4)
|
|||
|
|
284: 0220 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
286: 6452 cmpne r4, r1
|
|||
|
|
288: 0825 bt 0x2d2 // 2d2 <__GI_pow+0x11e>
|
|||
|
|
28a: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
28c: 3cdf btsti r4, 31
|
|||
|
|
28e: 0803 bt 0x294 // 294 <__GI_pow+0xe0>
|
|||
|
|
290: e8000407 br 0xa9e // a9e <__GI_pow+0x8ea>
|
|||
|
|
294: 6c9f mov r2, r7
|
|||
|
|
296: 6cdb mov r3, r6
|
|||
|
|
298: 3000 movi r0, 0
|
|||
|
|
29a: 0225 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
29c: e000081a bsr 0x12d0 // 12d0 <__divdf3>
|
|||
|
|
2a0: 07ad br 0x1fa // 1fa <__GI_pow+0x46>
|
|||
|
|
2a2: 3202 movi r2, 2
|
|||
|
|
2a4: 07cb br 0x23a // 23a <__GI_pow+0x86>
|
|||
|
|
2a6: 3200 movi r2, 0
|
|||
|
|
2a8: 07c9 br 0x23a // 23a <__GI_pow+0x86>
|
|||
|
|
2aa: 0269 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
2ac: 2b00 subi r3, 1
|
|||
|
|
2ae: 654d cmplt r3, r5
|
|||
|
|
2b0: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
2b2: 0c08 bf 0x2c2 // 2c2 <__GI_pow+0x10e>
|
|||
|
|
2b4: 38df btsti r0, 31
|
|||
|
|
2b6: 0803 bt 0x2bc // 2bc <__GI_pow+0x108>
|
|||
|
|
2b8: e80003ef br 0xa96 // a96 <__GI_pow+0x8e2>
|
|||
|
|
2bc: 3400 movi r4, 0
|
|||
|
|
2be: 3100 movi r1, 0
|
|||
|
|
2c0: 079e br 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
2c2: 38df btsti r0, 31
|
|||
|
|
2c4: 0ffc bf 0x2bc // 2bc <__GI_pow+0x108>
|
|||
|
|
2c6: 3400 movi r4, 0
|
|||
|
|
2c8: 6c43 mov r1, r0
|
|||
|
|
2ca: 3280 movi r2, 128
|
|||
|
|
2cc: 4278 lsli r3, r2, 24
|
|||
|
|
2ce: 604c addu r1, r3
|
|||
|
|
2d0: 0796 br 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
2d2: 3380 movi r3, 128
|
|||
|
|
2d4: 4317 lsli r0, r3, 23
|
|||
|
|
2d6: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
2d8: 640a cmpne r2, r0
|
|||
|
|
2da: 0808 bt 0x2ea // 2ea <__GI_pow+0x136>
|
|||
|
|
2dc: 6c9f mov r2, r7
|
|||
|
|
2de: 6cdb mov r3, r6
|
|||
|
|
2e0: 6c1f mov r0, r7
|
|||
|
|
2e2: 6c5b mov r1, r6
|
|||
|
|
2e4: e00006dc bsr 0x109c // 109c <__muldf3>
|
|||
|
|
2e8: 0789 br 0x1fa // 1fa <__GI_pow+0x46>
|
|||
|
|
2ea: 0276 lrw r3, 0x3fe00000 // 58c <__GI_pow+0x3d8>
|
|||
|
|
2ec: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
2ee: 64c6 cmpne r1, r3
|
|||
|
|
2f0: 080a bt 0x304 // 304 <__GI_pow+0x150>
|
|||
|
|
2f2: 3edf btsti r6, 31
|
|||
|
|
2f4: 0808 bt 0x304 // 304 <__GI_pow+0x150>
|
|||
|
|
2f6: 6c1f mov r0, r7
|
|||
|
|
2f8: 6c5b mov r1, r6
|
|||
|
|
2fa: e0000445 bsr 0xb84 // b84 <__GI_sqrt>
|
|||
|
|
2fe: 077e br 0x1fa // 1fa <__GI_pow+0x46>
|
|||
|
|
300: 3300 movi r3, 0
|
|||
|
|
302: b861 st.w r3, (r14, 0x4)
|
|||
|
|
304: 6c1f mov r0, r7
|
|||
|
|
306: 6c5b mov r1, r6
|
|||
|
|
308: b883 st.w r4, (r14, 0xc)
|
|||
|
|
30a: e000042a bsr 0xb5e // b5e <__GI_fabs>
|
|||
|
|
30e: 3f40 cmpnei r7, 0
|
|||
|
|
310: 6d03 mov r4, r0
|
|||
|
|
312: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
314: 0826 bt 0x360 // 360 <__GI_pow+0x1ac>
|
|||
|
|
316: 3d40 cmpnei r5, 0
|
|||
|
|
318: 0c05 bf 0x322 // 322 <__GI_pow+0x16e>
|
|||
|
|
31a: 4642 lsli r2, r6, 2
|
|||
|
|
31c: 0302 lrw r0, 0xffc00000 // 590 <__GI_pow+0x3dc>
|
|||
|
|
31e: 640a cmpne r2, r0
|
|||
|
|
320: 0820 bt 0x360 // 360 <__GI_pow+0x1ac>
|
|||
|
|
322: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
324: 3adf btsti r2, 31
|
|||
|
|
326: 0c08 bf 0x336 // 336 <__GI_pow+0x182>
|
|||
|
|
328: 6c93 mov r2, r4
|
|||
|
|
32a: 6cc7 mov r3, r1
|
|||
|
|
32c: 3000 movi r0, 0
|
|||
|
|
32e: 032a lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
330: e00007d0 bsr 0x12d0 // 12d0 <__divdf3>
|
|||
|
|
334: 6d03 mov r4, r0
|
|||
|
|
336: 3edf btsti r6, 31
|
|||
|
|
338: 0f62 bf 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
33a: 036b lrw r3, 0xc0100000 // 588 <__GI_pow+0x3d4>
|
|||
|
|
33c: 614c addu r5, r3
|
|||
|
|
33e: 9801 ld.w r0, (r14, 0x4)
|
|||
|
|
340: 6d40 or r5, r0
|
|||
|
|
342: 3d40 cmpnei r5, 0
|
|||
|
|
344: 080a bt 0x358 // 358 <__GI_pow+0x1a4>
|
|||
|
|
346: 6c93 mov r2, r4
|
|||
|
|
348: 6cc7 mov r3, r1
|
|||
|
|
34a: 6c0b mov r0, r2
|
|||
|
|
34c: 6c4f mov r1, r3
|
|||
|
|
34e: e000068b bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
352: 6c83 mov r2, r0
|
|||
|
|
354: 6cc7 mov r3, r1
|
|||
|
|
356: 07a3 br 0x29c // 29c <__GI_pow+0xe8>
|
|||
|
|
358: 9841 ld.w r2, (r14, 0x4)
|
|||
|
|
35a: 3a41 cmpnei r2, 1
|
|||
|
|
35c: 0b50 bt 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
35e: 07b6 br 0x2ca // 2ca <__GI_pow+0x116>
|
|||
|
|
360: 4e5f lsri r2, r6, 31
|
|||
|
|
362: 2a00 subi r2, 1
|
|||
|
|
364: b847 st.w r2, (r14, 0x1c)
|
|||
|
|
366: 9807 ld.w r0, (r14, 0x1c)
|
|||
|
|
368: 9841 ld.w r2, (r14, 0x4)
|
|||
|
|
36a: 6c80 or r2, r0
|
|||
|
|
36c: 3a40 cmpnei r2, 0
|
|||
|
|
36e: 0804 bt 0x376 // 376 <__GI_pow+0x1c2>
|
|||
|
|
370: 6c9f mov r2, r7
|
|||
|
|
372: 6cdb mov r3, r6
|
|||
|
|
374: 07eb br 0x34a // 34a <__GI_pow+0x196>
|
|||
|
|
376: 0357 lrw r2, 0x41e00000 // 594 <__GI_pow+0x3e0>
|
|||
|
|
378: 64c9 cmplt r2, r3
|
|||
|
|
37a: 0cbf bf 0x4f8 // 4f8 <__GI_pow+0x344>
|
|||
|
|
37c: 0358 lrw r2, 0x43f00000 // 598 <__GI_pow+0x3e4>
|
|||
|
|
37e: 64c9 cmplt r2, r3
|
|||
|
|
380: 037f lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
382: 0c0c bf 0x39a // 39a <__GI_pow+0x1e6>
|
|||
|
|
384: 2b00 subi r3, 1
|
|||
|
|
386: 654d cmplt r3, r5
|
|||
|
|
388: 080f bt 0x3a6 // 3a6 <__GI_pow+0x1f2>
|
|||
|
|
38a: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
38c: 39df btsti r1, 31
|
|||
|
|
38e: 0f97 bf 0x2bc // 2bc <__GI_pow+0x108>
|
|||
|
|
390: 035c lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8>
|
|||
|
|
392: 037b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec>
|
|||
|
|
394: 6c0b mov r0, r2
|
|||
|
|
396: 6c4f mov r1, r3
|
|||
|
|
398: 07a6 br 0x2e4 // 2e4 <__GI_pow+0x130>
|
|||
|
|
39a: 2b01 subi r3, 2
|
|||
|
|
39c: 654d cmplt r3, r5
|
|||
|
|
39e: 0ff6 bf 0x38a // 38a <__GI_pow+0x1d6>
|
|||
|
|
3a0: 1318 lrw r0, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
3a2: 6541 cmplt r0, r5
|
|||
|
|
3a4: 0c05 bf 0x3ae // 3ae <__GI_pow+0x1fa>
|
|||
|
|
3a6: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
3a8: 3820 cmplti r0, 1
|
|||
|
|
3aa: 0ff3 bf 0x390 // 390 <__GI_pow+0x1dc>
|
|||
|
|
3ac: 0788 br 0x2bc // 2bc <__GI_pow+0x108>
|
|||
|
|
3ae: 3200 movi r2, 0
|
|||
|
|
3b0: 1374 lrw r3, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
3b2: 6c1f mov r0, r7
|
|||
|
|
3b4: 6c5b mov r1, r6
|
|||
|
|
3b6: 36c0 movi r6, 192
|
|||
|
|
3b8: e0000656 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
3bc: 4657 lsli r2, r6, 23
|
|||
|
|
3be: 137a lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0>
|
|||
|
|
3c0: 6d43 mov r5, r0
|
|||
|
|
3c2: 6d07 mov r4, r1
|
|||
|
|
3c4: e000066c bsr 0x109c // 109c <__muldf3>
|
|||
|
|
3c8: 6dc3 mov r7, r0
|
|||
|
|
3ca: 6d87 mov r6, r1
|
|||
|
|
3cc: 1357 lrw r2, 0xf85ddf44 // 5a8 <__GI_pow+0x3f4>
|
|||
|
|
3ce: 1378 lrw r3, 0x3e54ae0b // 5ac <__GI_pow+0x3f8>
|
|||
|
|
3d0: 6c17 mov r0, r5
|
|||
|
|
3d2: 6c53 mov r1, r4
|
|||
|
|
3d4: e0000664 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
3d8: b803 st.w r0, (r14, 0xc)
|
|||
|
|
3da: b824 st.w r1, (r14, 0x10)
|
|||
|
|
3dc: 3200 movi r2, 0
|
|||
|
|
3de: 1375 lrw r3, 0x3fd00000 // 5b0 <__GI_pow+0x3fc>
|
|||
|
|
3e0: 6c17 mov r0, r5
|
|||
|
|
3e2: 6c53 mov r1, r4
|
|||
|
|
3e4: e000065c bsr 0x109c // 109c <__muldf3>
|
|||
|
|
3e8: 6c83 mov r2, r0
|
|||
|
|
3ea: 6cc7 mov r3, r1
|
|||
|
|
3ec: 1312 lrw r0, 0x55555555 // 5b4 <__GI_pow+0x400>
|
|||
|
|
3ee: 1333 lrw r1, 0x3fd55555 // 5b8 <__GI_pow+0x404>
|
|||
|
|
3f0: e000063a bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
3f4: 6c97 mov r2, r5
|
|||
|
|
3f6: 6cd3 mov r3, r4
|
|||
|
|
3f8: e0000652 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
3fc: 6c83 mov r2, r0
|
|||
|
|
3fe: 6cc7 mov r3, r1
|
|||
|
|
400: 3000 movi r0, 0
|
|||
|
|
402: 1323 lrw r1, 0x3fe00000 // 58c <__GI_pow+0x3d8>
|
|||
|
|
404: e0000630 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
408: b805 st.w r0, (r14, 0x14)
|
|||
|
|
40a: 6c97 mov r2, r5
|
|||
|
|
40c: 6cd3 mov r3, r4
|
|||
|
|
40e: b826 st.w r1, (r14, 0x18)
|
|||
|
|
410: 6c17 mov r0, r5
|
|||
|
|
412: 6c53 mov r1, r4
|
|||
|
|
414: e0000644 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
418: 6c83 mov r2, r0
|
|||
|
|
41a: 6cc7 mov r3, r1
|
|||
|
|
41c: 9805 ld.w r0, (r14, 0x14)
|
|||
|
|
41e: 9826 ld.w r1, (r14, 0x18)
|
|||
|
|
420: e000063e bsr 0x109c // 109c <__muldf3>
|
|||
|
|
424: 1346 lrw r2, 0x652b82fe // 5bc <__GI_pow+0x408>
|
|||
|
|
426: 1360 lrw r3, 0x3ff71547 // 5a4 <__GI_pow+0x3f0>
|
|||
|
|
428: e000063a bsr 0x109c // 109c <__muldf3>
|
|||
|
|
42c: 6c83 mov r2, r0
|
|||
|
|
42e: 6cc7 mov r3, r1
|
|||
|
|
430: 9803 ld.w r0, (r14, 0xc)
|
|||
|
|
432: 9824 ld.w r1, (r14, 0x10)
|
|||
|
|
434: e0000618 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
438: 6c83 mov r2, r0
|
|||
|
|
43a: 6cc7 mov r3, r1
|
|||
|
|
43c: 6d43 mov r5, r0
|
|||
|
|
43e: 6d07 mov r4, r1
|
|||
|
|
440: 6c1f mov r0, r7
|
|||
|
|
442: 6c5b mov r1, r6
|
|||
|
|
444: e00005f8 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
448: 6c9f mov r2, r7
|
|||
|
|
44a: 6cdb mov r3, r6
|
|||
|
|
44c: 3000 movi r0, 0
|
|||
|
|
44e: b823 st.w r1, (r14, 0xc)
|
|||
|
|
450: e000060a bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
454: 6c83 mov r2, r0
|
|||
|
|
456: 6cc7 mov r3, r1
|
|||
|
|
458: 6c17 mov r0, r5
|
|||
|
|
45a: 6c53 mov r1, r4
|
|||
|
|
45c: e0000604 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
460: 6d07 mov r4, r1
|
|||
|
|
462: 9821 ld.w r1, (r14, 0x4)
|
|||
|
|
464: 2900 subi r1, 1
|
|||
|
|
466: 9847 ld.w r2, (r14, 0x1c)
|
|||
|
|
468: 6c48 or r1, r2
|
|||
|
|
46a: 3940 cmpnei r1, 0
|
|||
|
|
46c: 6d43 mov r5, r0
|
|||
|
|
46e: 0c02 bf 0x472 // 472 <__GI_pow+0x2be>
|
|||
|
|
470: 05f0 br 0x850 // 850 <__GI_pow+0x69c>
|
|||
|
|
472: 1274 lrw r3, 0xbff00000 // 5c0 <__GI_pow+0x40c>
|
|||
|
|
474: b861 st.w r3, (r14, 0x4)
|
|||
|
|
476: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
478: 3200 movi r2, 0
|
|||
|
|
47a: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
47c: 6c4f mov r1, r3
|
|||
|
|
47e: e00005f3 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
482: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
484: 3200 movi r2, 0
|
|||
|
|
486: e000060b bsr 0x109c // 109c <__muldf3>
|
|||
|
|
48a: 6dc3 mov r7, r0
|
|||
|
|
48c: 6d87 mov r6, r1
|
|||
|
|
48e: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
490: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
492: 6c17 mov r0, r5
|
|||
|
|
494: 6c53 mov r1, r4
|
|||
|
|
496: e0000603 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
49a: 6c83 mov r2, r0
|
|||
|
|
49c: 6cc7 mov r3, r1
|
|||
|
|
49e: 6c1f mov r0, r7
|
|||
|
|
4a0: 6c5b mov r1, r6
|
|||
|
|
4a2: e00005c9 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
4a6: 6dc3 mov r7, r0
|
|||
|
|
4a8: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
4aa: 6d87 mov r6, r1
|
|||
|
|
4ac: 3200 movi r2, 0
|
|||
|
|
4ae: 9823 ld.w r1, (r14, 0xc)
|
|||
|
|
4b0: 3000 movi r0, 0
|
|||
|
|
4b2: e00005f5 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
4b6: b802 st.w r0, (r14, 0x8)
|
|||
|
|
4b8: b803 st.w r0, (r14, 0xc)
|
|||
|
|
4ba: b824 st.w r1, (r14, 0x10)
|
|||
|
|
4bc: 6c83 mov r2, r0
|
|||
|
|
4be: 6cc7 mov r3, r1
|
|||
|
|
4c0: 6d47 mov r5, r1
|
|||
|
|
4c2: 6c1f mov r0, r7
|
|||
|
|
4c4: 6c5b mov r1, r6
|
|||
|
|
4c6: e00005b7 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
4ca: 6d07 mov r4, r1
|
|||
|
|
4cc: 113e lrw r1, 0x40900000 // 5c4 <__GI_pow+0x410>
|
|||
|
|
4ce: 2900 subi r1, 1
|
|||
|
|
4d0: 6505 cmplt r1, r4
|
|||
|
|
4d2: b800 st.w r0, (r14, 0x0)
|
|||
|
|
4d4: 0803 bt 0x4da // 4da <__GI_pow+0x326>
|
|||
|
|
4d6: e80002b3 br 0xa3c // a3c <__GI_pow+0x888>
|
|||
|
|
4da: 117c lrw r3, 0xbf700000 // 5c8 <__GI_pow+0x414>
|
|||
|
|
4dc: 60d0 addu r3, r4
|
|||
|
|
4de: 6cc0 or r3, r0
|
|||
|
|
4e0: 3b40 cmpnei r3, 0
|
|||
|
|
4e2: 0802 bt 0x4e6 // 4e6 <__GI_pow+0x332>
|
|||
|
|
4e4: 05b8 br 0x854 // 854 <__GI_pow+0x6a0>
|
|||
|
|
4e6: 114e lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8>
|
|||
|
|
4e8: 116e lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec>
|
|||
|
|
4ea: 3000 movi r0, 0
|
|||
|
|
4ec: 9821 ld.w r1, (r14, 0x4)
|
|||
|
|
4ee: e00005d7 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
4f2: 114b lrw r2, 0x8800759c // 59c <__GI_pow+0x3e8>
|
|||
|
|
4f4: 116b lrw r3, 0x7e37e43c // 5a0 <__GI_pow+0x3ec>
|
|||
|
|
4f6: 06f7 br 0x2e4 // 2e4 <__GI_pow+0x130>
|
|||
|
|
4f8: 11d5 lrw r6, 0xfffff // 5cc <__GI_pow+0x418>
|
|||
|
|
4fa: 6559 cmplt r6, r5
|
|||
|
|
4fc: 09a6 bt 0x848 // 848 <__GI_pow+0x694>
|
|||
|
|
4fe: 6c13 mov r0, r4
|
|||
|
|
500: 3200 movi r2, 0
|
|||
|
|
502: 107f lrw r3, 0x43400000 // 57c <__GI_pow+0x3c8>
|
|||
|
|
504: e00005cc bsr 0x109c // 109c <__muldf3>
|
|||
|
|
508: 3700 movi r7, 0
|
|||
|
|
50a: 6d03 mov r4, r0
|
|||
|
|
50c: 6d47 mov r5, r1
|
|||
|
|
50e: 2f34 subi r7, 53
|
|||
|
|
510: 5514 asri r0, r5, 20
|
|||
|
|
512: 103d lrw r1, 0xfffffc01 // 584 <__GI_pow+0x3d0>
|
|||
|
|
514: 45ac lsli r5, r5, 12
|
|||
|
|
516: 4d4c lsri r2, r5, 12
|
|||
|
|
518: 6004 addu r0, r1
|
|||
|
|
51a: 116e lrw r3, 0x3988e // 5d0 <__GI_pow+0x41c>
|
|||
|
|
51c: 601c addu r0, r7
|
|||
|
|
51e: 648d cmplt r3, r2
|
|||
|
|
520: 10f8 lrw r7, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
522: b804 st.w r0, (r14, 0x10)
|
|||
|
|
524: 6dc8 or r7, r2
|
|||
|
|
526: 0c09 bf 0x538 // 538 <__GI_pow+0x384>
|
|||
|
|
528: 11cb lrw r6, 0xbb679 // 5d4 <__GI_pow+0x420>
|
|||
|
|
52a: 6499 cmplt r6, r2
|
|||
|
|
52c: 0d90 bf 0x84c // 84c <__GI_pow+0x698>
|
|||
|
|
52e: 6c83 mov r2, r0
|
|||
|
|
530: 2200 addi r2, 1
|
|||
|
|
532: 110a lrw r0, 0xfff00000 // 5d8 <__GI_pow+0x424>
|
|||
|
|
534: b844 st.w r2, (r14, 0x10)
|
|||
|
|
536: 61c0 addu r7, r0
|
|||
|
|
538: 3500 movi r5, 0
|
|||
|
|
53a: 45c3 lsli r6, r5, 3
|
|||
|
|
53c: 1168 lrw r3, 0x4c40 // 5dc <__GI_pow+0x428>
|
|||
|
|
53e: 4523 lsli r1, r5, 3
|
|||
|
|
540: 60d8 addu r3, r6
|
|||
|
|
542: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
544: b828 st.w r1, (r14, 0x20)
|
|||
|
|
546: 9361 ld.w r3, (r3, 0x4)
|
|||
|
|
548: 6c13 mov r0, r4
|
|||
|
|
54a: 6c5f mov r1, r7
|
|||
|
|
54c: b845 st.w r2, (r14, 0x14)
|
|||
|
|
54e: b866 st.w r3, (r14, 0x18)
|
|||
|
|
550: e000058a bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
554: b809 st.w r0, (r14, 0x24)
|
|||
|
|
556: 9845 ld.w r2, (r14, 0x14)
|
|||
|
|
558: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
55a: b82a st.w r1, (r14, 0x28)
|
|||
|
|
55c: 6c13 mov r0, r4
|
|||
|
|
55e: 6c5f mov r1, r7
|
|||
|
|
560: e000056a bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
564: 6c83 mov r2, r0
|
|||
|
|
566: 6cc7 mov r3, r1
|
|||
|
|
568: 3000 movi r0, 0
|
|||
|
|
56a: 1026 lrw r1, 0x3ff00000 // 580 <__GI_pow+0x3cc>
|
|||
|
|
56c: e00006b2 bsr 0x12d0 // 12d0 <__divdf3>
|
|||
|
|
570: 6c83 mov r2, r0
|
|||
|
|
572: 6cc7 mov r3, r1
|
|||
|
|
574: 0436 br 0x5e0 // 5e0 <__GI_pow+0x42c>
|
|||
|
|
576: 0000 bkpt
|
|||
|
|
578: 7ff00000 .long 0x7ff00000
|
|||
|
|
57c: 43400000 .long 0x43400000
|
|||
|
|
580: 3ff00000 .long 0x3ff00000
|
|||
|
|
584: fffffc01 .long 0xfffffc01
|
|||
|
|
588: c0100000 .long 0xc0100000
|
|||
|
|
58c: 3fe00000 .long 0x3fe00000
|
|||
|
|
590: ffc00000 .long 0xffc00000
|
|||
|
|
594: 41e00000 .long 0x41e00000
|
|||
|
|
598: 43f00000 .long 0x43f00000
|
|||
|
|
59c: 8800759c .long 0x8800759c
|
|||
|
|
5a0: 7e37e43c .long 0x7e37e43c
|
|||
|
|
5a4: 3ff71547 .long 0x3ff71547
|
|||
|
|
5a8: f85ddf44 .long 0xf85ddf44
|
|||
|
|
5ac: 3e54ae0b .long 0x3e54ae0b
|
|||
|
|
5b0: 3fd00000 .long 0x3fd00000
|
|||
|
|
5b4: 55555555 .long 0x55555555
|
|||
|
|
5b8: 3fd55555 .long 0x3fd55555
|
|||
|
|
5bc: 652b82fe .long 0x652b82fe
|
|||
|
|
5c0: bff00000 .long 0xbff00000
|
|||
|
|
5c4: 40900000 .long 0x40900000
|
|||
|
|
5c8: bf700000 .long 0xbf700000
|
|||
|
|
5cc: 000fffff .long 0x000fffff
|
|||
|
|
5d0: 0003988e .long 0x0003988e
|
|||
|
|
5d4: 000bb679 .long 0x000bb679
|
|||
|
|
5d8: fff00000 .long 0xfff00000
|
|||
|
|
5dc: 00004c40 .long 0x00004c40
|
|||
|
|
5e0: b80b st.w r0, (r14, 0x2c)
|
|||
|
|
5e2: b82c st.w r1, (r14, 0x30)
|
|||
|
|
5e4: 9809 ld.w r0, (r14, 0x24)
|
|||
|
|
5e6: 982a ld.w r1, (r14, 0x28)
|
|||
|
|
5e8: e000055a bsr 0x109c // 109c <__muldf3>
|
|||
|
|
5ec: b803 st.w r0, (r14, 0xc)
|
|||
|
|
5ee: 3280 movi r2, 128
|
|||
|
|
5f0: 5701 asri r0, r7, 1
|
|||
|
|
5f2: 6d87 mov r6, r1
|
|||
|
|
5f4: 38bd bseti r0, 29
|
|||
|
|
5f6: 422c lsli r1, r2, 12
|
|||
|
|
5f8: 6004 addu r0, r1
|
|||
|
|
5fa: 45b2 lsli r5, r5, 18
|
|||
|
|
5fc: 6140 addu r5, r0
|
|||
|
|
5fe: 6cd7 mov r3, r5
|
|||
|
|
600: 3200 movi r2, 0
|
|||
|
|
602: 6c5b mov r1, r6
|
|||
|
|
604: 3000 movi r0, 0
|
|||
|
|
606: e000054b bsr 0x109c // 109c <__muldf3>
|
|||
|
|
60a: 6c83 mov r2, r0
|
|||
|
|
60c: 6cc7 mov r3, r1
|
|||
|
|
60e: 9809 ld.w r0, (r14, 0x24)
|
|||
|
|
610: 982a ld.w r1, (r14, 0x28)
|
|||
|
|
612: e0000529 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
616: b809 st.w r0, (r14, 0x24)
|
|||
|
|
618: 9845 ld.w r2, (r14, 0x14)
|
|||
|
|
61a: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
61c: b82a st.w r1, (r14, 0x28)
|
|||
|
|
61e: 3000 movi r0, 0
|
|||
|
|
620: 6c57 mov r1, r5
|
|||
|
|
622: e0000521 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
626: 6c83 mov r2, r0
|
|||
|
|
628: 6cc7 mov r3, r1
|
|||
|
|
62a: 6c13 mov r0, r4
|
|||
|
|
62c: 6c5f mov r1, r7
|
|||
|
|
62e: e000051b bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
632: 6cdb mov r3, r6
|
|||
|
|
634: 3200 movi r2, 0
|
|||
|
|
636: e0000533 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
63a: 6c83 mov r2, r0
|
|||
|
|
63c: 6cc7 mov r3, r1
|
|||
|
|
63e: 9809 ld.w r0, (r14, 0x24)
|
|||
|
|
640: 982a ld.w r1, (r14, 0x28)
|
|||
|
|
642: e0000511 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
646: 984b ld.w r2, (r14, 0x2c)
|
|||
|
|
648: 986c ld.w r3, (r14, 0x30)
|
|||
|
|
64a: e0000529 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
64e: 9843 ld.w r2, (r14, 0xc)
|
|||
|
|
650: 6cdb mov r3, r6
|
|||
|
|
652: b805 st.w r0, (r14, 0x14)
|
|||
|
|
654: b826 st.w r1, (r14, 0x18)
|
|||
|
|
656: 6c0b mov r0, r2
|
|||
|
|
658: 6c5b mov r1, r6
|
|||
|
|
65a: e0000521 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
65e: ea820113 lrw r2, 0x4a454eef // aa8 <__GI_pow+0x8f4>
|
|||
|
|
662: ea830113 lrw r3, 0x3fca7e28 // aac <__GI_pow+0x8f8>
|
|||
|
|
666: 6d43 mov r5, r0
|
|||
|
|
668: 6d07 mov r4, r1
|
|||
|
|
66a: e0000519 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
66e: ea820111 lrw r2, 0x93c9db65 // ab0 <__GI_pow+0x8fc>
|
|||
|
|
672: ea830111 lrw r3, 0x3fcd864a // ab4 <__GI_pow+0x900>
|
|||
|
|
676: e00004df bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
67a: 6c97 mov r2, r5
|
|||
|
|
67c: 6cd3 mov r3, r4
|
|||
|
|
67e: e000050f bsr 0x109c // 109c <__muldf3>
|
|||
|
|
682: ea82010e lrw r2, 0xa91d4101 // ab8 <__GI_pow+0x904>
|
|||
|
|
686: ea83010e lrw r3, 0x3fd17460 // abc <__GI_pow+0x908>
|
|||
|
|
68a: e00004d5 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
68e: 6c97 mov r2, r5
|
|||
|
|
690: 6cd3 mov r3, r4
|
|||
|
|
692: e0000505 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
696: ea82010b lrw r2, 0x518f264d // ac0 <__GI_pow+0x90c>
|
|||
|
|
69a: ea83010b lrw r3, 0x3fd55555 // ac4 <__GI_pow+0x910>
|
|||
|
|
69e: e00004cb bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
6a2: 6c97 mov r2, r5
|
|||
|
|
6a4: 6cd3 mov r3, r4
|
|||
|
|
6a6: e00004fb bsr 0x109c // 109c <__muldf3>
|
|||
|
|
6aa: ea820108 lrw r2, 0xdb6fabff // ac8 <__GI_pow+0x914>
|
|||
|
|
6ae: ea830108 lrw r3, 0x3fdb6db6 // acc <__GI_pow+0x918>
|
|||
|
|
6b2: e00004c1 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
6b6: 6c97 mov r2, r5
|
|||
|
|
6b8: 6cd3 mov r3, r4
|
|||
|
|
6ba: e00004f1 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
6be: ea820105 lrw r2, 0x33333303 // ad0 <__GI_pow+0x91c>
|
|||
|
|
6c2: ea830105 lrw r3, 0x3fe33333 // ad4 <__GI_pow+0x920>
|
|||
|
|
6c6: e00004b7 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
6ca: 6dc3 mov r7, r0
|
|||
|
|
6cc: 6c97 mov r2, r5
|
|||
|
|
6ce: 6cd3 mov r3, r4
|
|||
|
|
6d0: b829 st.w r1, (r14, 0x24)
|
|||
|
|
6d2: 6c17 mov r0, r5
|
|||
|
|
6d4: 6c53 mov r1, r4
|
|||
|
|
6d6: e00004e3 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
6da: 6c83 mov r2, r0
|
|||
|
|
6dc: 6cc7 mov r3, r1
|
|||
|
|
6de: 6c1f mov r0, r7
|
|||
|
|
6e0: 9829 ld.w r1, (r14, 0x24)
|
|||
|
|
6e2: e00004dd bsr 0x109c // 109c <__muldf3>
|
|||
|
|
6e6: 6d43 mov r5, r0
|
|||
|
|
6e8: 6d07 mov r4, r1
|
|||
|
|
6ea: 6cdb mov r3, r6
|
|||
|
|
6ec: 3200 movi r2, 0
|
|||
|
|
6ee: 9803 ld.w r0, (r14, 0xc)
|
|||
|
|
6f0: 6c5b mov r1, r6
|
|||
|
|
6f2: e00004a1 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
6f6: 9845 ld.w r2, (r14, 0x14)
|
|||
|
|
6f8: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
6fa: e00004d1 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
6fe: 6c97 mov r2, r5
|
|||
|
|
700: 6cd3 mov r3, r4
|
|||
|
|
702: e0000499 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
706: 6d43 mov r5, r0
|
|||
|
|
708: 6cdb mov r3, r6
|
|||
|
|
70a: b829 st.w r1, (r14, 0x24)
|
|||
|
|
70c: 3200 movi r2, 0
|
|||
|
|
70e: 6c5b mov r1, r6
|
|||
|
|
710: 3000 movi r0, 0
|
|||
|
|
712: e00004c5 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
716: 3200 movi r2, 0
|
|||
|
|
718: 006f lrw r3, 0x40080000 // ad8 <__GI_pow+0x924>
|
|||
|
|
71a: 6dc3 mov r7, r0
|
|||
|
|
71c: b82a st.w r1, (r14, 0x28)
|
|||
|
|
71e: e000048b bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
722: 6c97 mov r2, r5
|
|||
|
|
724: 9869 ld.w r3, (r14, 0x24)
|
|||
|
|
726: e0000487 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
72a: 6d07 mov r4, r1
|
|||
|
|
72c: 6cc7 mov r3, r1
|
|||
|
|
72e: 3200 movi r2, 0
|
|||
|
|
730: 6c5b mov r1, r6
|
|||
|
|
732: 3000 movi r0, 0
|
|||
|
|
734: e00004b4 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
738: b80b st.w r0, (r14, 0x2c)
|
|||
|
|
73a: b82c st.w r1, (r14, 0x30)
|
|||
|
|
73c: 3200 movi r2, 0
|
|||
|
|
73e: 0078 lrw r3, 0x40080000 // ad8 <__GI_pow+0x924>
|
|||
|
|
740: 6c53 mov r1, r4
|
|||
|
|
742: 3000 movi r0, 0
|
|||
|
|
744: e0000490 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
748: 6c9f mov r2, r7
|
|||
|
|
74a: 986a ld.w r3, (r14, 0x28)
|
|||
|
|
74c: e000048c bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
750: 6c83 mov r2, r0
|
|||
|
|
752: 6cc7 mov r3, r1
|
|||
|
|
754: 6c17 mov r0, r5
|
|||
|
|
756: 9829 ld.w r1, (r14, 0x24)
|
|||
|
|
758: e0000486 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
75c: 9843 ld.w r2, (r14, 0xc)
|
|||
|
|
75e: 6cdb mov r3, r6
|
|||
|
|
760: e000049e bsr 0x109c // 109c <__muldf3>
|
|||
|
|
764: 6d83 mov r6, r0
|
|||
|
|
766: 6d47 mov r5, r1
|
|||
|
|
768: 6cd3 mov r3, r4
|
|||
|
|
76a: 3200 movi r2, 0
|
|||
|
|
76c: 9805 ld.w r0, (r14, 0x14)
|
|||
|
|
76e: 9826 ld.w r1, (r14, 0x18)
|
|||
|
|
770: e0000496 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
774: 6c83 mov r2, r0
|
|||
|
|
776: 6cc7 mov r3, r1
|
|||
|
|
778: 6c1b mov r0, r6
|
|||
|
|
77a: 6c57 mov r1, r5
|
|||
|
|
77c: e000045c bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
780: 6dc3 mov r7, r0
|
|||
|
|
782: 6d87 mov r6, r1
|
|||
|
|
784: 6c83 mov r2, r0
|
|||
|
|
786: 6cc7 mov r3, r1
|
|||
|
|
788: 980b ld.w r0, (r14, 0x2c)
|
|||
|
|
78a: 982c ld.w r1, (r14, 0x30)
|
|||
|
|
78c: e0000454 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
790: 33e0 movi r3, 224
|
|||
|
|
792: 4358 lsli r2, r3, 24
|
|||
|
|
794: 3000 movi r0, 0
|
|||
|
|
796: 016d lrw r3, 0x3feec709 // adc <__GI_pow+0x928>
|
|||
|
|
798: 6d07 mov r4, r1
|
|||
|
|
79a: e0000481 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
79e: b805 st.w r0, (r14, 0x14)
|
|||
|
|
7a0: b826 st.w r1, (r14, 0x18)
|
|||
|
|
7a2: 984b ld.w r2, (r14, 0x2c)
|
|||
|
|
7a4: 986c ld.w r3, (r14, 0x30)
|
|||
|
|
7a6: 6c53 mov r1, r4
|
|||
|
|
7a8: 3000 movi r0, 0
|
|||
|
|
7aa: e000045d bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
7ae: 6c83 mov r2, r0
|
|||
|
|
7b0: 6cc7 mov r3, r1
|
|||
|
|
7b2: 6c1f mov r0, r7
|
|||
|
|
7b4: 6c5b mov r1, r6
|
|||
|
|
7b6: e0000457 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
7ba: 0155 lrw r2, 0xdc3a03fd // ae0 <__GI_pow+0x92c>
|
|||
|
|
7bc: 0177 lrw r3, 0x3feec709 // adc <__GI_pow+0x928>
|
|||
|
|
7be: e000046f bsr 0x109c // 109c <__muldf3>
|
|||
|
|
7c2: 6dc3 mov r7, r0
|
|||
|
|
7c4: 6d47 mov r5, r1
|
|||
|
|
7c6: 0157 lrw r2, 0x145b01f5 // ae4 <__GI_pow+0x930>
|
|||
|
|
7c8: 0177 lrw r3, 0xbe3e2fe0 // ae8 <__GI_pow+0x934>
|
|||
|
|
7ca: 6c53 mov r1, r4
|
|||
|
|
7cc: 3000 movi r0, 0
|
|||
|
|
7ce: e0000467 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
7d2: 6c83 mov r2, r0
|
|||
|
|
7d4: 6cc7 mov r3, r1
|
|||
|
|
7d6: 6c1f mov r0, r7
|
|||
|
|
7d8: 6c57 mov r1, r5
|
|||
|
|
7da: e000042d bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
7de: 01db lrw r6, 0x4c40 // aec <__GI_pow+0x938>
|
|||
|
|
7e0: 9848 ld.w r2, (r14, 0x20)
|
|||
|
|
7e2: 6188 addu r6, r2
|
|||
|
|
7e4: 9644 ld.w r2, (r6, 0x10)
|
|||
|
|
7e6: 9665 ld.w r3, (r6, 0x14)
|
|||
|
|
7e8: e0000426 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
7ec: b809 st.w r0, (r14, 0x24)
|
|||
|
|
7ee: 9804 ld.w r0, (r14, 0x10)
|
|||
|
|
7f0: b82a st.w r1, (r14, 0x28)
|
|||
|
|
7f2: e0000673 bsr 0x14d8 // 14d8 <__floatsidf>
|
|||
|
|
7f6: 6d83 mov r6, r0
|
|||
|
|
7f8: 0202 lrw r0, 0x4c40 // aec <__GI_pow+0x938>
|
|||
|
|
7fa: 6d47 mov r5, r1
|
|||
|
|
7fc: 201f addi r0, 32
|
|||
|
|
7fe: 9828 ld.w r1, (r14, 0x20)
|
|||
|
|
800: 6004 addu r0, r1
|
|||
|
|
802: 9080 ld.w r4, (r0, 0x0)
|
|||
|
|
804: 90e1 ld.w r7, (r0, 0x4)
|
|||
|
|
806: 9849 ld.w r2, (r14, 0x24)
|
|||
|
|
808: 986a ld.w r3, (r14, 0x28)
|
|||
|
|
80a: 9805 ld.w r0, (r14, 0x14)
|
|||
|
|
80c: 9826 ld.w r1, (r14, 0x18)
|
|||
|
|
80e: e0000413 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
812: 6c93 mov r2, r4
|
|||
|
|
814: 6cdf mov r3, r7
|
|||
|
|
816: e000040f bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
81a: 6c9b mov r2, r6
|
|||
|
|
81c: 6cd7 mov r3, r5
|
|||
|
|
81e: e000040b bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
822: 6c9b mov r2, r6
|
|||
|
|
824: 6cd7 mov r3, r5
|
|||
|
|
826: 3000 movi r0, 0
|
|||
|
|
828: b823 st.w r1, (r14, 0xc)
|
|||
|
|
82a: e000041d bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
82e: 6c93 mov r2, r4
|
|||
|
|
830: 6cdf mov r3, r7
|
|||
|
|
832: e0000419 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
836: 9845 ld.w r2, (r14, 0x14)
|
|||
|
|
838: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
83a: e0000415 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
83e: 6c83 mov r2, r0
|
|||
|
|
840: 6cc7 mov r3, r1
|
|||
|
|
842: 9809 ld.w r0, (r14, 0x24)
|
|||
|
|
844: 982a ld.w r1, (r14, 0x28)
|
|||
|
|
846: 060b br 0x45c // 45c <__GI_pow+0x2a8>
|
|||
|
|
848: 3700 movi r7, 0
|
|||
|
|
84a: 0663 br 0x510 // 510 <__GI_pow+0x35c>
|
|||
|
|
84c: 3501 movi r5, 1
|
|||
|
|
84e: 0676 br 0x53a // 53a <__GI_pow+0x386>
|
|||
|
|
850: 0277 lrw r3, 0x3ff00000 // af0 <__GI_pow+0x93c>
|
|||
|
|
852: 0611 br 0x474 // 474 <__GI_pow+0x2c0>
|
|||
|
|
854: 0257 lrw r2, 0x652b82fe // af4 <__GI_pow+0x940>
|
|||
|
|
856: 0276 lrw r3, 0x3c971547 // af8 <__GI_pow+0x944>
|
|||
|
|
858: 6c1f mov r0, r7
|
|||
|
|
85a: 6c5b mov r1, r6
|
|||
|
|
85c: e00003ec bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
860: b805 st.w r0, (r14, 0x14)
|
|||
|
|
862: b826 st.w r1, (r14, 0x18)
|
|||
|
|
864: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
866: 6cd7 mov r3, r5
|
|||
|
|
868: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
86a: 6c53 mov r1, r4
|
|||
|
|
86c: e00003fc bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
870: 6c83 mov r2, r0
|
|||
|
|
872: 6cc7 mov r3, r1
|
|||
|
|
874: 9805 ld.w r0, (r14, 0x14)
|
|||
|
|
876: 9826 ld.w r1, (r14, 0x18)
|
|||
|
|
878: e00005d6 bsr 0x1424 // 1424 <__gtdf2>
|
|||
|
|
87c: 3820 cmplti r0, 1
|
|||
|
|
87e: 0802 bt 0x882 // 882 <__GI_pow+0x6ce>
|
|||
|
|
880: 0633 br 0x4e6 // 4e6 <__GI_pow+0x332>
|
|||
|
|
882: 4421 lsli r1, r4, 1
|
|||
|
|
884: 4901 lsri r0, r1, 1
|
|||
|
|
886: 0361 lrw r3, 0x3fe00000 // afc <__GI_pow+0x948>
|
|||
|
|
888: 640d cmplt r3, r0
|
|||
|
|
88a: 0cfd bf 0xa84 // a84 <__GI_pow+0x8d0>
|
|||
|
|
88c: 5034 asri r1, r0, 20
|
|||
|
|
88e: 0342 lrw r2, 0xfffffc02 // b00 <__GI_pow+0x94c>
|
|||
|
|
890: 3080 movi r0, 128
|
|||
|
|
892: 6048 addu r1, r2
|
|||
|
|
894: 404d lsli r2, r0, 13
|
|||
|
|
896: 7086 asr r2, r1
|
|||
|
|
898: 6090 addu r2, r4
|
|||
|
|
89a: 4261 lsli r3, r2, 1
|
|||
|
|
89c: 4b35 lsri r1, r3, 21
|
|||
|
|
89e: 0305 lrw r0, 0xfffffc01 // b04 <__GI_pow+0x950>
|
|||
|
|
8a0: 6040 addu r1, r0
|
|||
|
|
8a2: 0365 lrw r3, 0xfffff // b08 <__GI_pow+0x954>
|
|||
|
|
8a4: 70c6 asr r3, r1
|
|||
|
|
8a6: 6c0b mov r0, r2
|
|||
|
|
8a8: 680d andn r0, r3
|
|||
|
|
8aa: 424c lsli r2, r2, 12
|
|||
|
|
8ac: 6cc3 mov r3, r0
|
|||
|
|
8ae: 4a4c lsri r2, r2, 12
|
|||
|
|
8b0: 3014 movi r0, 20
|
|||
|
|
8b2: 3ab4 bseti r2, 20
|
|||
|
|
8b4: 5825 subu r1, r0, r1
|
|||
|
|
8b6: 7086 asr r2, r1
|
|||
|
|
8b8: 3cdf btsti r4, 31
|
|||
|
|
8ba: b840 st.w r2, (r14, 0x0)
|
|||
|
|
8bc: 0c05 bf 0x8c6 // 8c6 <__GI_pow+0x712>
|
|||
|
|
8be: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
8c0: 3400 movi r4, 0
|
|||
|
|
8c2: 610a subu r4, r2
|
|||
|
|
8c4: b880 st.w r4, (r14, 0x0)
|
|||
|
|
8c6: 3200 movi r2, 0
|
|||
|
|
8c8: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
8ca: 6c57 mov r1, r5
|
|||
|
|
8cc: e00003cc bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
8d0: b803 st.w r0, (r14, 0xc)
|
|||
|
|
8d2: b824 st.w r1, (r14, 0x10)
|
|||
|
|
8d4: 9803 ld.w r0, (r14, 0xc)
|
|||
|
|
8d6: 6c9f mov r2, r7
|
|||
|
|
8d8: 6cdb mov r3, r6
|
|||
|
|
8da: 9824 ld.w r1, (r14, 0x10)
|
|||
|
|
8dc: e00003ac bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
8e0: 3200 movi r2, 0
|
|||
|
|
8e2: 0374 lrw r3, 0x3fe62e43 // b0c <__GI_pow+0x958>
|
|||
|
|
8e4: 3000 movi r0, 0
|
|||
|
|
8e6: 6d07 mov r4, r1
|
|||
|
|
8e8: e00003da bsr 0x109c // 109c <__muldf3>
|
|||
|
|
8ec: 6d47 mov r5, r1
|
|||
|
|
8ee: 9843 ld.w r2, (r14, 0xc)
|
|||
|
|
8f0: 9864 ld.w r3, (r14, 0x10)
|
|||
|
|
8f2: b802 st.w r0, (r14, 0x8)
|
|||
|
|
8f4: 6c53 mov r1, r4
|
|||
|
|
8f6: 3000 movi r0, 0
|
|||
|
|
8f8: e00003b6 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
8fc: 6c83 mov r2, r0
|
|||
|
|
8fe: 6cc7 mov r3, r1
|
|||
|
|
900: 6c1f mov r0, r7
|
|||
|
|
902: 6c5b mov r1, r6
|
|||
|
|
904: e00003b0 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
908: 035d lrw r2, 0xfefa39ef // b10 <__GI_pow+0x95c>
|
|||
|
|
90a: 037c lrw r3, 0x3fe62e42 // b14 <__GI_pow+0x960>
|
|||
|
|
90c: e00003c8 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
910: 6dc3 mov r7, r0
|
|||
|
|
912: 6d87 mov r6, r1
|
|||
|
|
914: 035e lrw r2, 0xca86c39 // b18 <__GI_pow+0x964>
|
|||
|
|
916: 037d lrw r3, 0xbe205c61 // b1c <__GI_pow+0x968>
|
|||
|
|
918: 6c53 mov r1, r4
|
|||
|
|
91a: 3000 movi r0, 0
|
|||
|
|
91c: e00003c0 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
920: 6c83 mov r2, r0
|
|||
|
|
922: 6cc7 mov r3, r1
|
|||
|
|
924: 6c1f mov r0, r7
|
|||
|
|
926: 6c5b mov r1, r6
|
|||
|
|
928: e0000386 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
92c: 6d07 mov r4, r1
|
|||
|
|
92e: 6c83 mov r2, r0
|
|||
|
|
930: 6cc7 mov r3, r1
|
|||
|
|
932: b803 st.w r0, (r14, 0xc)
|
|||
|
|
934: 6c57 mov r1, r5
|
|||
|
|
936: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
938: e000037e bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
93c: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
93e: 6cd7 mov r3, r5
|
|||
|
|
940: 6dc3 mov r7, r0
|
|||
|
|
942: 6d87 mov r6, r1
|
|||
|
|
944: e0000390 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
948: 6c83 mov r2, r0
|
|||
|
|
94a: 6cc7 mov r3, r1
|
|||
|
|
94c: 9803 ld.w r0, (r14, 0xc)
|
|||
|
|
94e: 6c53 mov r1, r4
|
|||
|
|
950: e000038a bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
954: b802 st.w r0, (r14, 0x8)
|
|||
|
|
956: b823 st.w r1, (r14, 0xc)
|
|||
|
|
958: 6c9f mov r2, r7
|
|||
|
|
95a: 6cdb mov r3, r6
|
|||
|
|
95c: 6c1f mov r0, r7
|
|||
|
|
95e: 6c5b mov r1, r6
|
|||
|
|
960: e000039e bsr 0x109c // 109c <__muldf3>
|
|||
|
|
964: 134f lrw r2, 0x72bea4d0 // b20 <__GI_pow+0x96c>
|
|||
|
|
966: 1370 lrw r3, 0x3e663769 // b24 <__GI_pow+0x970>
|
|||
|
|
968: 6d43 mov r5, r0
|
|||
|
|
96a: 6d07 mov r4, r1
|
|||
|
|
96c: e0000398 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
970: 134e lrw r2, 0xc5d26bf1 // b28 <__GI_pow+0x974>
|
|||
|
|
972: 136f lrw r3, 0x3ebbbd41 // b2c <__GI_pow+0x978>
|
|||
|
|
974: e0000378 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
978: 6c97 mov r2, r5
|
|||
|
|
97a: 6cd3 mov r3, r4
|
|||
|
|
97c: e0000390 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
980: 134c lrw r2, 0xaf25de2c // b30 <__GI_pow+0x97c>
|
|||
|
|
982: 136d lrw r3, 0x3f11566a // b34 <__GI_pow+0x980>
|
|||
|
|
984: e0000358 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
988: 6c97 mov r2, r5
|
|||
|
|
98a: 6cd3 mov r3, r4
|
|||
|
|
98c: e0000388 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
990: 134a lrw r2, 0x16bebd93 // b38 <__GI_pow+0x984>
|
|||
|
|
992: 136b lrw r3, 0x3f66c16c // b3c <__GI_pow+0x988>
|
|||
|
|
994: e0000368 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
998: 6c97 mov r2, r5
|
|||
|
|
99a: 6cd3 mov r3, r4
|
|||
|
|
99c: e0000380 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
9a0: 1348 lrw r2, 0x5555553e // b40 <__GI_pow+0x98c>
|
|||
|
|
9a2: 1369 lrw r3, 0x3fc55555 // b44 <__GI_pow+0x990>
|
|||
|
|
9a4: e0000348 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
9a8: 6c97 mov r2, r5
|
|||
|
|
9aa: 6cd3 mov r3, r4
|
|||
|
|
9ac: e0000378 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
9b0: 6c83 mov r2, r0
|
|||
|
|
9b2: 6cc7 mov r3, r1
|
|||
|
|
9b4: 6c1f mov r0, r7
|
|||
|
|
9b6: 6c5b mov r1, r6
|
|||
|
|
9b8: e0000356 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
9bc: 6d43 mov r5, r0
|
|||
|
|
9be: 6d07 mov r4, r1
|
|||
|
|
9c0: 6c83 mov r2, r0
|
|||
|
|
9c2: 6cc7 mov r3, r1
|
|||
|
|
9c4: 6c1f mov r0, r7
|
|||
|
|
9c6: 6c5b mov r1, r6
|
|||
|
|
9c8: e000036a bsr 0x109c // 109c <__muldf3>
|
|||
|
|
9cc: 3380 movi r3, 128
|
|||
|
|
9ce: b804 st.w r0, (r14, 0x10)
|
|||
|
|
9d0: b825 st.w r1, (r14, 0x14)
|
|||
|
|
9d2: 3200 movi r2, 0
|
|||
|
|
9d4: 4377 lsli r3, r3, 23
|
|||
|
|
9d6: 6c17 mov r0, r5
|
|||
|
|
9d8: 6c53 mov r1, r4
|
|||
|
|
9da: e0000345 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
9de: 6c83 mov r2, r0
|
|||
|
|
9e0: 6cc7 mov r3, r1
|
|||
|
|
9e2: 9804 ld.w r0, (r14, 0x10)
|
|||
|
|
9e4: 9825 ld.w r1, (r14, 0x14)
|
|||
|
|
9e6: e0000475 bsr 0x12d0 // 12d0 <__divdf3>
|
|||
|
|
9ea: 6d07 mov r4, r1
|
|||
|
|
9ec: 6d43 mov r5, r0
|
|||
|
|
9ee: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
9f0: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
9f2: 6c1f mov r0, r7
|
|||
|
|
9f4: 6c5b mov r1, r6
|
|||
|
|
9f6: e0000353 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
9fa: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
9fc: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
9fe: e000031b bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
a02: 6c83 mov r2, r0
|
|||
|
|
a04: 6cc7 mov r3, r1
|
|||
|
|
a06: 6c17 mov r0, r5
|
|||
|
|
a08: 6c53 mov r1, r4
|
|||
|
|
a0a: e000032d bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
a0e: 6c9f mov r2, r7
|
|||
|
|
a10: 6cdb mov r3, r6
|
|||
|
|
a12: e0000329 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
a16: 6c83 mov r2, r0
|
|||
|
|
a18: 6cc7 mov r3, r1
|
|||
|
|
a1a: 3000 movi r0, 0
|
|||
|
|
a1c: 1135 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c>
|
|||
|
|
a1e: e0000323 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
a22: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
a24: 4274 lsli r3, r2, 20
|
|||
|
|
a26: 60c4 addu r3, r1
|
|||
|
|
a28: 5394 asri r4, r3, 20
|
|||
|
|
a2a: 3c20 cmplti r4, 1
|
|||
|
|
a2c: 0c2f bf 0xa8a // a8a <__GI_pow+0x8d6>
|
|||
|
|
a2e: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
a30: e000009a bsr 0xb64 // b64 <__GI_scalbn>
|
|||
|
|
a34: 3200 movi r2, 0
|
|||
|
|
a36: 9861 ld.w r3, (r14, 0x4)
|
|||
|
|
a38: e800fc56 br 0x2e4 // 2e4 <__GI_pow+0x130>
|
|||
|
|
a3c: 4401 lsli r0, r4, 1
|
|||
|
|
a3e: 4861 lsri r3, r0, 1
|
|||
|
|
a40: 1242 lrw r2, 0x4090cbff // b48 <__GI_pow+0x994>
|
|||
|
|
a42: 64c9 cmplt r2, r3
|
|||
|
|
a44: 0f1f bf 0x882 // 882 <__GI_pow+0x6ce>
|
|||
|
|
a46: 1222 lrw r1, 0x3f6f3400 // b4c <__GI_pow+0x998>
|
|||
|
|
a48: 6050 addu r1, r4
|
|||
|
|
a4a: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
a4c: 6c40 or r1, r0
|
|||
|
|
a4e: 3940 cmpnei r1, 0
|
|||
|
|
a50: 0c0b bf 0xa66 // a66 <__GI_pow+0x8b2>
|
|||
|
|
a52: 1240 lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c>
|
|||
|
|
a54: 1260 lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0>
|
|||
|
|
a56: 3000 movi r0, 0
|
|||
|
|
a58: 9821 ld.w r1, (r14, 0x4)
|
|||
|
|
a5a: e0000321 bsr 0x109c // 109c <__muldf3>
|
|||
|
|
a5e: 115d lrw r2, 0xc2f8f359 // b50 <__GI_pow+0x99c>
|
|||
|
|
a60: 117d lrw r3, 0x1a56e1f // b54 <__GI_pow+0x9a0>
|
|||
|
|
a62: e800fc41 br 0x2e4 // 2e4 <__GI_pow+0x130>
|
|||
|
|
a66: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
a68: 6cd7 mov r3, r5
|
|||
|
|
a6a: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
a6c: 6c53 mov r1, r4
|
|||
|
|
a6e: e00002fb bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
a72: 6c83 mov r2, r0
|
|||
|
|
a74: 6cc7 mov r3, r1
|
|||
|
|
a76: 6c1f mov r0, r7
|
|||
|
|
a78: 6c5b mov r1, r6
|
|||
|
|
a7a: e0000511 bsr 0x149c // 149c <__ledf2>
|
|||
|
|
a7e: 3820 cmplti r0, 1
|
|||
|
|
a80: 0f01 bf 0x882 // 882 <__GI_pow+0x6ce>
|
|||
|
|
a82: 07e8 br 0xa52 // a52 <__GI_pow+0x89e>
|
|||
|
|
a84: 3500 movi r5, 0
|
|||
|
|
a86: b8a0 st.w r5, (r14, 0x0)
|
|||
|
|
a88: 0726 br 0x8d4 // 8d4 <__GI_pow+0x720>
|
|||
|
|
a8a: 6c4f mov r1, r3
|
|||
|
|
a8c: 07d4 br 0xa34 // a34 <__GI_pow+0x880>
|
|||
|
|
a8e: 3400 movi r4, 0
|
|||
|
|
a90: 1038 lrw r1, 0x3ff00000 // af0 <__GI_pow+0x93c>
|
|||
|
|
a92: e800fbb5 br 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
a96: 3400 movi r4, 0
|
|||
|
|
a98: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
a9a: e800fbb1 br 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
a9e: 6d1f mov r4, r7
|
|||
|
|
aa0: 6c5b mov r1, r6
|
|||
|
|
aa2: e800fbad br 0x1fc // 1fc <__GI_pow+0x48>
|
|||
|
|
aa6: 0000 bkpt
|
|||
|
|
aa8: 4a454eef .long 0x4a454eef
|
|||
|
|
aac: 3fca7e28 .long 0x3fca7e28
|
|||
|
|
ab0: 93c9db65 .long 0x93c9db65
|
|||
|
|
ab4: 3fcd864a .long 0x3fcd864a
|
|||
|
|
ab8: a91d4101 .long 0xa91d4101
|
|||
|
|
abc: 3fd17460 .long 0x3fd17460
|
|||
|
|
ac0: 518f264d .long 0x518f264d
|
|||
|
|
ac4: 3fd55555 .long 0x3fd55555
|
|||
|
|
ac8: db6fabff .long 0xdb6fabff
|
|||
|
|
acc: 3fdb6db6 .long 0x3fdb6db6
|
|||
|
|
ad0: 33333303 .long 0x33333303
|
|||
|
|
ad4: 3fe33333 .long 0x3fe33333
|
|||
|
|
ad8: 40080000 .long 0x40080000
|
|||
|
|
adc: 3feec709 .long 0x3feec709
|
|||
|
|
ae0: dc3a03fd .long 0xdc3a03fd
|
|||
|
|
ae4: 145b01f5 .long 0x145b01f5
|
|||
|
|
ae8: be3e2fe0 .long 0xbe3e2fe0
|
|||
|
|
aec: 00004c40 .long 0x00004c40
|
|||
|
|
af0: 3ff00000 .long 0x3ff00000
|
|||
|
|
af4: 652b82fe .long 0x652b82fe
|
|||
|
|
af8: 3c971547 .long 0x3c971547
|
|||
|
|
afc: 3fe00000 .long 0x3fe00000
|
|||
|
|
b00: fffffc02 .long 0xfffffc02
|
|||
|
|
b04: fffffc01 .long 0xfffffc01
|
|||
|
|
b08: 000fffff .long 0x000fffff
|
|||
|
|
b0c: 3fe62e43 .long 0x3fe62e43
|
|||
|
|
b10: fefa39ef .long 0xfefa39ef
|
|||
|
|
b14: 3fe62e42 .long 0x3fe62e42
|
|||
|
|
b18: 0ca86c39 .long 0x0ca86c39
|
|||
|
|
b1c: be205c61 .long 0xbe205c61
|
|||
|
|
b20: 72bea4d0 .long 0x72bea4d0
|
|||
|
|
b24: 3e663769 .long 0x3e663769
|
|||
|
|
b28: c5d26bf1 .long 0xc5d26bf1
|
|||
|
|
b2c: 3ebbbd41 .long 0x3ebbbd41
|
|||
|
|
b30: af25de2c .long 0xaf25de2c
|
|||
|
|
b34: 3f11566a .long 0x3f11566a
|
|||
|
|
b38: 16bebd93 .long 0x16bebd93
|
|||
|
|
b3c: 3f66c16c .long 0x3f66c16c
|
|||
|
|
b40: 5555553e .long 0x5555553e
|
|||
|
|
b44: 3fc55555 .long 0x3fc55555
|
|||
|
|
b48: 4090cbff .long 0x4090cbff
|
|||
|
|
b4c: 3f6f3400 .long 0x3f6f3400
|
|||
|
|
b50: c2f8f359 .long 0xc2f8f359
|
|||
|
|
b54: 01a56e1f .long 0x01a56e1f
|
|||
|
|
b58: 3300 movi r3, 0
|
|||
|
|
b5a: e800fb94 br 0x282 // 282 <__GI_pow+0xce>
|
|||
|
|
|
|||
|
|
00000b5e <__GI_fabs>:
|
|||
|
|
b5e: 4121 lsli r1, r1, 1
|
|||
|
|
b60: 4921 lsri r1, r1, 1
|
|||
|
|
b62: 783c jmp r15
|
|||
|
|
|
|||
|
|
00000b64 <__GI_scalbn>:
|
|||
|
|
b64: 14c1 push r4
|
|||
|
|
b66: 6cc7 mov r3, r1
|
|||
|
|
b68: 6cc0 or r3, r0
|
|||
|
|
b6a: 3b40 cmpnei r3, 0
|
|||
|
|
b6c: 0c08 bf 0xb7c // b7c <__GI_scalbn+0x18>
|
|||
|
|
b6e: 1065 lrw r3, 0x7ff00000 // b80 <__GI_scalbn+0x1c>
|
|||
|
|
b70: 6d07 mov r4, r1
|
|||
|
|
b72: 690c and r4, r3
|
|||
|
|
b74: 4254 lsli r2, r2, 20
|
|||
|
|
b76: 6090 addu r2, r4
|
|||
|
|
b78: 684d andn r1, r3
|
|||
|
|
b7a: 6c48 or r1, r2
|
|||
|
|
b7c: 1481 pop r4
|
|||
|
|
b7e: 0000 bkpt
|
|||
|
|
b80: 7ff00000 .long 0x7ff00000
|
|||
|
|
|
|||
|
|
00000b84 <__GI_sqrt>:
|
|||
|
|
b84: 14d4 push r4-r7, r15
|
|||
|
|
b86: 1423 subi r14, r14, 12
|
|||
|
|
b88: 127a lrw r3, 0x7ff00000 // cf0 <__GI_sqrt+0x16c>
|
|||
|
|
b8a: 6d43 mov r5, r0
|
|||
|
|
b8c: 6d07 mov r4, r1
|
|||
|
|
b8e: 6c07 mov r0, r1
|
|||
|
|
b90: 684c and r1, r3
|
|||
|
|
b92: 64c6 cmpne r1, r3
|
|||
|
|
b94: 6c97 mov r2, r5
|
|||
|
|
b96: 0812 bt 0xbba // bba <__GI_sqrt+0x36>
|
|||
|
|
b98: 6cd3 mov r3, r4
|
|||
|
|
b9a: 6c17 mov r0, r5
|
|||
|
|
b9c: 6c53 mov r1, r4
|
|||
|
|
b9e: e000027f bsr 0x109c // 109c <__muldf3>
|
|||
|
|
ba2: 6c83 mov r2, r0
|
|||
|
|
ba4: 6cc7 mov r3, r1
|
|||
|
|
ba6: 6c17 mov r0, r5
|
|||
|
|
ba8: 6c53 mov r1, r4
|
|||
|
|
baa: e0000245 bsr 0x1034 // 1034 <__adddf3>
|
|||
|
|
bae: 6d43 mov r5, r0
|
|||
|
|
bb0: 6d07 mov r4, r1
|
|||
|
|
bb2: 6c17 mov r0, r5
|
|||
|
|
bb4: 6c53 mov r1, r4
|
|||
|
|
bb6: 1403 addi r14, r14, 12
|
|||
|
|
bb8: 1494 pop r4-r7, r15
|
|||
|
|
bba: 3c20 cmplti r4, 1
|
|||
|
|
bbc: 0c13 bf 0xbe2 // be2 <__GI_sqrt+0x5e>
|
|||
|
|
bbe: 4461 lsli r3, r4, 1
|
|||
|
|
bc0: 4b21 lsri r1, r3, 1
|
|||
|
|
bc2: 6c54 or r1, r5
|
|||
|
|
bc4: 3940 cmpnei r1, 0
|
|||
|
|
bc6: 0ff6 bf 0xbb2 // bb2 <__GI_sqrt+0x2e>
|
|||
|
|
bc8: 3c40 cmpnei r4, 0
|
|||
|
|
bca: 0c0c bf 0xbe2 // be2 <__GI_sqrt+0x5e>
|
|||
|
|
bcc: 6c97 mov r2, r5
|
|||
|
|
bce: 6cd3 mov r3, r4
|
|||
|
|
bd0: 6c17 mov r0, r5
|
|||
|
|
bd2: 6c53 mov r1, r4
|
|||
|
|
bd4: e0000248 bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
bd8: 6c83 mov r2, r0
|
|||
|
|
bda: 6cc7 mov r3, r1
|
|||
|
|
bdc: e000037a bsr 0x12d0 // 12d0 <__divdf3>
|
|||
|
|
be0: 07e7 br 0xbae // bae <__GI_sqrt+0x2a>
|
|||
|
|
be2: 5494 asri r4, r4, 20
|
|||
|
|
be4: 3c40 cmpnei r4, 0
|
|||
|
|
be6: 0812 bt 0xc0a // c0a <__GI_sqrt+0x86>
|
|||
|
|
be8: 3840 cmpnei r0, 0
|
|||
|
|
bea: 0c76 bf 0xcd6 // cd6 <__GI_sqrt+0x152>
|
|||
|
|
bec: 3580 movi r5, 128
|
|||
|
|
bee: 3300 movi r3, 0
|
|||
|
|
bf0: 452d lsli r1, r5, 13
|
|||
|
|
bf2: 6d83 mov r6, r0
|
|||
|
|
bf4: 6984 and r6, r1
|
|||
|
|
bf6: 3e40 cmpnei r6, 0
|
|||
|
|
bf8: 0c73 bf 0xcde // cde <__GI_sqrt+0x15a>
|
|||
|
|
bfa: 5b23 subi r1, r3, 1
|
|||
|
|
bfc: 3620 movi r6, 32
|
|||
|
|
bfe: 6106 subu r4, r1
|
|||
|
|
c00: 618e subu r6, r3
|
|||
|
|
c02: 6c4b mov r1, r2
|
|||
|
|
c04: 7059 lsr r1, r6
|
|||
|
|
c06: 6c04 or r0, r1
|
|||
|
|
c08: 708c lsl r2, r3
|
|||
|
|
c0a: 117b lrw r3, 0xfffffc01 // cf4 <__GI_sqrt+0x170>
|
|||
|
|
c0c: 610c addu r4, r3
|
|||
|
|
c0e: 3601 movi r6, 1
|
|||
|
|
c10: 400c lsli r0, r0, 12
|
|||
|
|
c12: 6990 and r6, r4
|
|||
|
|
c14: 480c lsri r0, r0, 12
|
|||
|
|
c16: 3e40 cmpnei r6, 0
|
|||
|
|
c18: 38b4 bseti r0, 20
|
|||
|
|
c1a: 0c05 bf 0xc24 // c24 <__GI_sqrt+0xa0>
|
|||
|
|
c1c: 4a3f lsri r1, r2, 31
|
|||
|
|
c1e: 40a1 lsli r5, r0, 1
|
|||
|
|
c20: 5914 addu r0, r1, r5
|
|||
|
|
c22: 4241 lsli r2, r2, 1
|
|||
|
|
c24: 4a7f lsri r3, r2, 31
|
|||
|
|
c26: 60c0 addu r3, r0
|
|||
|
|
c28: 5481 asri r4, r4, 1
|
|||
|
|
c2a: 3680 movi r6, 128
|
|||
|
|
c2c: 3100 movi r1, 0
|
|||
|
|
c2e: 60c0 addu r3, r0
|
|||
|
|
c30: b882 st.w r4, (r14, 0x8)
|
|||
|
|
c32: 4241 lsli r2, r2, 1
|
|||
|
|
c34: 3516 movi r5, 22
|
|||
|
|
c36: 460e lsli r0, r6, 14
|
|||
|
|
c38: b820 st.w r1, (r14, 0x0)
|
|||
|
|
c3a: 5980 addu r4, r1, r0
|
|||
|
|
c3c: 650d cmplt r3, r4
|
|||
|
|
c3e: 0806 bt 0xc4a // c4a <__GI_sqrt+0xc6>
|
|||
|
|
c40: 98c0 ld.w r6, (r14, 0x0)
|
|||
|
|
c42: 6180 addu r6, r0
|
|||
|
|
c44: 5c20 addu r1, r4, r0
|
|||
|
|
c46: 60d2 subu r3, r4
|
|||
|
|
c48: b8c0 st.w r6, (r14, 0x0)
|
|||
|
|
c4a: 2d00 subi r5, 1
|
|||
|
|
c4c: 4a9f lsri r4, r2, 31
|
|||
|
|
c4e: 4361 lsli r3, r3, 1
|
|||
|
|
c50: 3d40 cmpnei r5, 0
|
|||
|
|
c52: 60d0 addu r3, r4
|
|||
|
|
c54: 4241 lsli r2, r2, 1
|
|||
|
|
c56: 4801 lsri r0, r0, 1
|
|||
|
|
c58: 0bf1 bt 0xc3a // c3a <__GI_sqrt+0xb6>
|
|||
|
|
c5a: 3620 movi r6, 32
|
|||
|
|
c5c: 3480 movi r4, 128
|
|||
|
|
c5e: 3000 movi r0, 0
|
|||
|
|
c60: b8c1 st.w r6, (r14, 0x4)
|
|||
|
|
c62: 4498 lsli r4, r4, 24
|
|||
|
|
c64: 64c5 cmplt r1, r3
|
|||
|
|
c66: 5cd4 addu r6, r4, r5
|
|||
|
|
c68: 0805 bt 0xc72 // c72 <__GI_sqrt+0xee>
|
|||
|
|
c6a: 644e cmpne r3, r1
|
|||
|
|
c6c: 0810 bt 0xc8c // c8c <__GI_sqrt+0x108>
|
|||
|
|
c6e: 6588 cmphs r2, r6
|
|||
|
|
c70: 0c0e bf 0xc8c // c8c <__GI_sqrt+0x108>
|
|||
|
|
c72: 3edf btsti r6, 31
|
|||
|
|
c74: 5eb0 addu r5, r6, r4
|
|||
|
|
c76: 0c37 bf 0xce4 // ce4 <__GI_sqrt+0x160>
|
|||
|
|
c78: 3ddf btsti r5, 31
|
|||
|
|
c7a: 0835 bt 0xce4 // ce4 <__GI_sqrt+0x160>
|
|||
|
|
c7c: 59e2 addi r7, r1, 1
|
|||
|
|
c7e: 6588 cmphs r2, r6
|
|||
|
|
c80: 60c6 subu r3, r1
|
|||
|
|
c82: 0802 bt 0xc86 // c86 <__GI_sqrt+0x102>
|
|||
|
|
c84: 2b00 subi r3, 1
|
|||
|
|
c86: 609a subu r2, r6
|
|||
|
|
c88: 6010 addu r0, r4
|
|||
|
|
c8a: 6c5f mov r1, r7
|
|||
|
|
c8c: 4adf lsri r6, r2, 31
|
|||
|
|
c8e: 618c addu r6, r3
|
|||
|
|
c90: 60d8 addu r3, r6
|
|||
|
|
c92: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
c94: 2e00 subi r6, 1
|
|||
|
|
c96: 3e40 cmpnei r6, 0
|
|||
|
|
c98: 4241 lsli r2, r2, 1
|
|||
|
|
c9a: 4c81 lsri r4, r4, 1
|
|||
|
|
c9c: b8c1 st.w r6, (r14, 0x4)
|
|||
|
|
c9e: 0be3 bt 0xc64 // c64 <__GI_sqrt+0xe0>
|
|||
|
|
ca0: 6cc8 or r3, r2
|
|||
|
|
ca2: 3b40 cmpnei r3, 0
|
|||
|
|
ca4: 0c09 bf 0xcb6 // cb6 <__GI_sqrt+0x132>
|
|||
|
|
ca6: 3300 movi r3, 0
|
|||
|
|
ca8: 2b00 subi r3, 1
|
|||
|
|
caa: 64c2 cmpne r0, r3
|
|||
|
|
cac: 081e bt 0xce8 // ce8 <__GI_sqrt+0x164>
|
|||
|
|
cae: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
cb0: 2000 addi r0, 1
|
|||
|
|
cb2: b800 st.w r0, (r14, 0x0)
|
|||
|
|
cb4: 3000 movi r0, 0
|
|||
|
|
cb6: 3401 movi r4, 1
|
|||
|
|
cb8: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
cba: 98a0 ld.w r5, (r14, 0x0)
|
|||
|
|
cbc: 690c and r4, r3
|
|||
|
|
cbe: 5541 asri r2, r5, 1
|
|||
|
|
cc0: 102e lrw r1, 0x3fe00000 // cf8 <__GI_sqrt+0x174>
|
|||
|
|
cc2: 3c40 cmpnei r4, 0
|
|||
|
|
cc4: 6048 addu r1, r2
|
|||
|
|
cc6: 4801 lsri r0, r0, 1
|
|||
|
|
cc8: 0c02 bf 0xccc // ccc <__GI_sqrt+0x148>
|
|||
|
|
cca: 38bf bseti r0, 31
|
|||
|
|
ccc: 98a2 ld.w r5, (r14, 0x8)
|
|||
|
|
cce: 4594 lsli r4, r5, 20
|
|||
|
|
cd0: 6104 addu r4, r1
|
|||
|
|
cd2: 6d43 mov r5, r0
|
|||
|
|
cd4: 076f br 0xbb2 // bb2 <__GI_sqrt+0x2e>
|
|||
|
|
cd6: 4a0b lsri r0, r2, 11
|
|||
|
|
cd8: 2c14 subi r4, 21
|
|||
|
|
cda: 4255 lsli r2, r2, 21
|
|||
|
|
cdc: 0786 br 0xbe8 // be8 <__GI_sqrt+0x64>
|
|||
|
|
cde: 4001 lsli r0, r0, 1
|
|||
|
|
ce0: 2300 addi r3, 1
|
|||
|
|
ce2: 0788 br 0xbf2 // bf2 <__GI_sqrt+0x6e>
|
|||
|
|
ce4: 6dc7 mov r7, r1
|
|||
|
|
ce6: 07cc br 0xc7e // c7e <__GI_sqrt+0xfa>
|
|||
|
|
ce8: 2000 addi r0, 1
|
|||
|
|
cea: 3880 bclri r0, 0
|
|||
|
|
cec: 07e5 br 0xcb6 // cb6 <__GI_sqrt+0x132>
|
|||
|
|
cee: 0000 bkpt
|
|||
|
|
cf0: 7ff00000 .long 0x7ff00000
|
|||
|
|
cf4: fffffc01 .long 0xfffffc01
|
|||
|
|
cf8: 3fe00000 .long 0x3fe00000
|
|||
|
|
|
|||
|
|
00000cfc <___gnu_csky_case_sqi>:
|
|||
|
|
cfc: 1421 subi r14, r14, 4
|
|||
|
|
cfe: b820 st.w r1, (r14, 0x0)
|
|||
|
|
d00: 6c7f mov r1, r15
|
|||
|
|
d02: 6040 addu r1, r0
|
|||
|
|
d04: 8120 ld.b r1, (r1, 0x0)
|
|||
|
|
d06: 7446 sextb r1, r1
|
|||
|
|
d08: 4121 lsli r1, r1, 1
|
|||
|
|
d0a: 63c4 addu r15, r1
|
|||
|
|
d0c: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
d0e: 1401 addi r14, r14, 4
|
|||
|
|
d10: 783c jmp r15
|
|||
|
|
...
|
|||
|
|
|
|||
|
|
00000d14 <___gnu_csky_case_uqi>:
|
|||
|
|
d14: 1421 subi r14, r14, 4
|
|||
|
|
d16: b820 st.w r1, (r14, 0x0)
|
|||
|
|
d18: 6c7f mov r1, r15
|
|||
|
|
d1a: 6040 addu r1, r0
|
|||
|
|
d1c: 8120 ld.b r1, (r1, 0x0)
|
|||
|
|
d1e: 4121 lsli r1, r1, 1
|
|||
|
|
d20: 63c4 addu r15, r1
|
|||
|
|
d22: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
d24: 1401 addi r14, r14, 4
|
|||
|
|
d26: 783c jmp r15
|
|||
|
|
|
|||
|
|
00000d28 <__fixunsdfsi>:
|
|||
|
|
d28: 14d2 push r4-r5, r15
|
|||
|
|
d2a: 3200 movi r2, 0
|
|||
|
|
d2c: 106c lrw r3, 0x41e00000 // d5c <__fixunsdfsi+0x34>
|
|||
|
|
d2e: 6d43 mov r5, r0
|
|||
|
|
d30: 6d07 mov r4, r1
|
|||
|
|
d32: e0000397 bsr 0x1460 // 1460 <__gedf2>
|
|||
|
|
d36: 38df btsti r0, 31
|
|||
|
|
d38: 0c06 bf 0xd44 // d44 <__fixunsdfsi+0x1c>
|
|||
|
|
d3a: 6c17 mov r0, r5
|
|||
|
|
d3c: 6c53 mov r1, r4
|
|||
|
|
d3e: e0000405 bsr 0x1548 // 1548 <__fixdfsi>
|
|||
|
|
d42: 1492 pop r4-r5, r15
|
|||
|
|
d44: 3200 movi r2, 0
|
|||
|
|
d46: 1066 lrw r3, 0x41e00000 // d5c <__fixunsdfsi+0x34>
|
|||
|
|
d48: 6c17 mov r0, r5
|
|||
|
|
d4a: 6c53 mov r1, r4
|
|||
|
|
d4c: e000018c bsr 0x1064 // 1064 <__subdf3>
|
|||
|
|
d50: e00003fc bsr 0x1548 // 1548 <__fixdfsi>
|
|||
|
|
d54: 3380 movi r3, 128
|
|||
|
|
d56: 4378 lsli r3, r3, 24
|
|||
|
|
d58: 600c addu r0, r3
|
|||
|
|
d5a: 1492 pop r4-r5, r15
|
|||
|
|
d5c: 41e00000 .long 0x41e00000
|
|||
|
|
|
|||
|
|
00000d60 <_fpadd_parts>:
|
|||
|
|
d60: 14c4 push r4-r7
|
|||
|
|
d62: 142a subi r14, r14, 40
|
|||
|
|
d64: 9060 ld.w r3, (r0, 0x0)
|
|||
|
|
d66: 3b01 cmphsi r3, 2
|
|||
|
|
d68: 6dcb mov r7, r2
|
|||
|
|
d6a: 0c67 bf 0xe38 // e38 <_fpadd_parts+0xd8>
|
|||
|
|
d6c: 9140 ld.w r2, (r1, 0x0)
|
|||
|
|
d6e: 3a01 cmphsi r2, 2
|
|||
|
|
d70: 0c66 bf 0xe3c // e3c <_fpadd_parts+0xdc>
|
|||
|
|
d72: 3b44 cmpnei r3, 4
|
|||
|
|
d74: 0cde bf 0xf30 // f30 <_fpadd_parts+0x1d0>
|
|||
|
|
d76: 3a44 cmpnei r2, 4
|
|||
|
|
d78: 0c62 bf 0xe3c // e3c <_fpadd_parts+0xdc>
|
|||
|
|
d7a: 3a42 cmpnei r2, 2
|
|||
|
|
d7c: 0cb7 bf 0xeea // eea <_fpadd_parts+0x18a>
|
|||
|
|
d7e: 3b42 cmpnei r3, 2
|
|||
|
|
d80: 0c5e bf 0xe3c // e3c <_fpadd_parts+0xdc>
|
|||
|
|
d82: 9043 ld.w r2, (r0, 0xc)
|
|||
|
|
d84: 9064 ld.w r3, (r0, 0x10)
|
|||
|
|
d86: 9082 ld.w r4, (r0, 0x8)
|
|||
|
|
d88: 91a2 ld.w r5, (r1, 0x8)
|
|||
|
|
d8a: b842 st.w r2, (r14, 0x8)
|
|||
|
|
d8c: b863 st.w r3, (r14, 0xc)
|
|||
|
|
d8e: 9143 ld.w r2, (r1, 0xc)
|
|||
|
|
d90: 9164 ld.w r3, (r1, 0x10)
|
|||
|
|
d92: b840 st.w r2, (r14, 0x0)
|
|||
|
|
d94: b861 st.w r3, (r14, 0x4)
|
|||
|
|
d96: 5c75 subu r3, r4, r5
|
|||
|
|
d98: 3bdf btsti r3, 31
|
|||
|
|
d9a: 6c8f mov r2, r3
|
|||
|
|
d9c: 08d2 bt 0xf40 // f40 <_fpadd_parts+0x1e0>
|
|||
|
|
d9e: 363f movi r6, 63
|
|||
|
|
da0: 6499 cmplt r6, r2
|
|||
|
|
da2: 0c50 bf 0xe42 // e42 <_fpadd_parts+0xe2>
|
|||
|
|
da4: 6515 cmplt r5, r4
|
|||
|
|
da6: 0cbf bf 0xf24 // f24 <_fpadd_parts+0x1c4>
|
|||
|
|
da8: 3200 movi r2, 0
|
|||
|
|
daa: 3300 movi r3, 0
|
|||
|
|
dac: b840 st.w r2, (r14, 0x0)
|
|||
|
|
dae: b861 st.w r3, (r14, 0x4)
|
|||
|
|
db0: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
db2: 9141 ld.w r2, (r1, 0x4)
|
|||
|
|
db4: 648e cmpne r3, r2
|
|||
|
|
db6: 0c78 bf 0xea6 // ea6 <_fpadd_parts+0x146>
|
|||
|
|
db8: 3b40 cmpnei r3, 0
|
|||
|
|
dba: 0cad bf 0xf14 // f14 <_fpadd_parts+0x1b4>
|
|||
|
|
dbc: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
dbe: 9821 ld.w r1, (r14, 0x4)
|
|||
|
|
dc0: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
dc2: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
dc4: 6400 cmphs r0, r0
|
|||
|
|
dc6: 600b subc r0, r2
|
|||
|
|
dc8: 604f subc r1, r3
|
|||
|
|
dca: 39df btsti r1, 31
|
|||
|
|
dcc: 08bd bt 0xf46 // f46 <_fpadd_parts+0x1e6>
|
|||
|
|
dce: 3300 movi r3, 0
|
|||
|
|
dd0: b761 st.w r3, (r7, 0x4)
|
|||
|
|
dd2: b782 st.w r4, (r7, 0x8)
|
|||
|
|
dd4: 6c83 mov r2, r0
|
|||
|
|
dd6: 6cc7 mov r3, r1
|
|||
|
|
dd8: b703 st.w r0, (r7, 0xc)
|
|||
|
|
dda: b724 st.w r1, (r7, 0x10)
|
|||
|
|
ddc: 3000 movi r0, 0
|
|||
|
|
dde: 3100 movi r1, 0
|
|||
|
|
de0: 2800 subi r0, 1
|
|||
|
|
de2: 2900 subi r1, 1
|
|||
|
|
de4: 6401 cmplt r0, r0
|
|||
|
|
de6: 6009 addc r0, r2
|
|||
|
|
de8: 604d addc r1, r3
|
|||
|
|
dea: 038f lrw r4, 0xfffffff // 1028 <_fpadd_parts+0x2c8>
|
|||
|
|
dec: 6450 cmphs r4, r1
|
|||
|
|
dee: 0c67 bf 0xebc // ebc <_fpadd_parts+0x15c>
|
|||
|
|
df0: 6506 cmpne r1, r4
|
|||
|
|
df2: 0cfd bf 0xfec // fec <_fpadd_parts+0x28c>
|
|||
|
|
df4: 3000 movi r0, 0
|
|||
|
|
df6: 9722 ld.w r1, (r7, 0x8)
|
|||
|
|
df8: 2801 subi r0, 2
|
|||
|
|
dfa: 2900 subi r1, 1
|
|||
|
|
dfc: 03d4 lrw r6, 0xfffffff // 1028 <_fpadd_parts+0x2c8>
|
|||
|
|
dfe: b802 st.w r0, (r14, 0x8)
|
|||
|
|
e00: b8e0 st.w r7, (r14, 0x0)
|
|||
|
|
e02: 0403 br 0xe08 // e08 <_fpadd_parts+0xa8>
|
|||
|
|
e04: 6596 cmpne r5, r6
|
|||
|
|
e06: 0c83 bf 0xf0c // f0c <_fpadd_parts+0x1ac>
|
|||
|
|
e08: 4301 lsli r0, r3, 1
|
|||
|
|
e0a: 4a9f lsri r4, r2, 31
|
|||
|
|
e0c: 6d00 or r4, r0
|
|||
|
|
e0e: 42a1 lsli r5, r2, 1
|
|||
|
|
e10: 6c97 mov r2, r5
|
|||
|
|
e12: 6cd3 mov r3, r4
|
|||
|
|
e14: 3500 movi r5, 0
|
|||
|
|
e16: 3400 movi r4, 0
|
|||
|
|
e18: 2c00 subi r4, 1
|
|||
|
|
e1a: 2d00 subi r5, 1
|
|||
|
|
e1c: 6511 cmplt r4, r4
|
|||
|
|
e1e: 6109 addc r4, r2
|
|||
|
|
e20: 614d addc r5, r3
|
|||
|
|
e22: 6558 cmphs r6, r5
|
|||
|
|
e24: 6c07 mov r0, r1
|
|||
|
|
e26: 2900 subi r1, 1
|
|||
|
|
e28: 0bee bt 0xe04 // e04 <_fpadd_parts+0xa4>
|
|||
|
|
e2a: 98e0 ld.w r7, (r14, 0x0)
|
|||
|
|
e2c: b743 st.w r2, (r7, 0xc)
|
|||
|
|
e2e: b764 st.w r3, (r7, 0x10)
|
|||
|
|
e30: 3303 movi r3, 3
|
|||
|
|
e32: b702 st.w r0, (r7, 0x8)
|
|||
|
|
e34: b760 st.w r3, (r7, 0x0)
|
|||
|
|
e36: 6c1f mov r0, r7
|
|||
|
|
e38: 140a addi r14, r14, 40
|
|||
|
|
e3a: 1484 pop r4-r7
|
|||
|
|
e3c: 6c07 mov r0, r1
|
|||
|
|
e3e: 140a addi r14, r14, 40
|
|||
|
|
e40: 1484 pop r4-r7
|
|||
|
|
e42: 3b20 cmplti r3, 1
|
|||
|
|
e44: 088c bt 0xf5c // f5c <_fpadd_parts+0x1fc>
|
|||
|
|
e46: 3300 movi r3, 0
|
|||
|
|
e48: 2b1f subi r3, 32
|
|||
|
|
e4a: 60c8 addu r3, r2
|
|||
|
|
e4c: 3bdf btsti r3, 31
|
|||
|
|
e4e: b866 st.w r3, (r14, 0x18)
|
|||
|
|
e50: 08bb bt 0xfc6 // fc6 <_fpadd_parts+0x266>
|
|||
|
|
e52: 98a1 ld.w r5, (r14, 0x4)
|
|||
|
|
e54: 714d lsr r5, r3
|
|||
|
|
e56: b8a4 st.w r5, (r14, 0x10)
|
|||
|
|
e58: 3500 movi r5, 0
|
|||
|
|
e5a: b8a5 st.w r5, (r14, 0x14)
|
|||
|
|
e5c: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
e5e: 3bdf btsti r3, 31
|
|||
|
|
e60: 3500 movi r5, 0
|
|||
|
|
e62: 3600 movi r6, 0
|
|||
|
|
e64: 08ad bt 0xfbe // fbe <_fpadd_parts+0x25e>
|
|||
|
|
e66: 3201 movi r2, 1
|
|||
|
|
e68: 708c lsl r2, r3
|
|||
|
|
e6a: 6d8b mov r6, r2
|
|||
|
|
e6c: 3200 movi r2, 0
|
|||
|
|
e6e: 3300 movi r3, 0
|
|||
|
|
e70: 2a00 subi r2, 1
|
|||
|
|
e72: 2b00 subi r3, 1
|
|||
|
|
e74: 6489 cmplt r2, r2
|
|||
|
|
e76: 6095 addc r2, r5
|
|||
|
|
e78: 60d9 addc r3, r6
|
|||
|
|
e7a: 98a0 ld.w r5, (r14, 0x0)
|
|||
|
|
e7c: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
e7e: 6948 and r5, r2
|
|||
|
|
e80: 698c and r6, r3
|
|||
|
|
e82: 6c97 mov r2, r5
|
|||
|
|
e84: 6cdb mov r3, r6
|
|||
|
|
e86: 6c8c or r2, r3
|
|||
|
|
e88: 3a40 cmpnei r2, 0
|
|||
|
|
e8a: 3500 movi r5, 0
|
|||
|
|
e8c: 6155 addc r5, r5
|
|||
|
|
e8e: 6c97 mov r2, r5
|
|||
|
|
e90: 3300 movi r3, 0
|
|||
|
|
e92: 98a4 ld.w r5, (r14, 0x10)
|
|||
|
|
e94: 98c5 ld.w r6, (r14, 0x14)
|
|||
|
|
e96: 6d48 or r5, r2
|
|||
|
|
e98: 6d8c or r6, r3
|
|||
|
|
e9a: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
e9c: 9141 ld.w r2, (r1, 0x4)
|
|||
|
|
e9e: 648e cmpne r3, r2
|
|||
|
|
ea0: b8a0 st.w r5, (r14, 0x0)
|
|||
|
|
ea2: b8c1 st.w r6, (r14, 0x4)
|
|||
|
|
ea4: 0b8a bt 0xdb8 // db8 <_fpadd_parts+0x58>
|
|||
|
|
ea6: b761 st.w r3, (r7, 0x4)
|
|||
|
|
ea8: 9800 ld.w r0, (r14, 0x0)
|
|||
|
|
eaa: 9821 ld.w r1, (r14, 0x4)
|
|||
|
|
eac: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
eae: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
eb0: 6489 cmplt r2, r2
|
|||
|
|
eb2: 6081 addc r2, r0
|
|||
|
|
eb4: 60c5 addc r3, r1
|
|||
|
|
eb6: b782 st.w r4, (r7, 0x8)
|
|||
|
|
eb8: b743 st.w r2, (r7, 0xc)
|
|||
|
|
eba: b764 st.w r3, (r7, 0x10)
|
|||
|
|
ebc: 3103 movi r1, 3
|
|||
|
|
ebe: b720 st.w r1, (r7, 0x0)
|
|||
|
|
ec0: 123b lrw r1, 0x1fffffff // 102c <_fpadd_parts+0x2cc>
|
|||
|
|
ec2: 64c4 cmphs r1, r3
|
|||
|
|
ec4: 0810 bt 0xee4 // ee4 <_fpadd_parts+0x184>
|
|||
|
|
ec6: 439f lsli r4, r3, 31
|
|||
|
|
ec8: 4a01 lsri r0, r2, 1
|
|||
|
|
eca: 6c10 or r0, r4
|
|||
|
|
ecc: 3500 movi r5, 0
|
|||
|
|
ece: 3401 movi r4, 1
|
|||
|
|
ed0: 4b21 lsri r1, r3, 1
|
|||
|
|
ed2: 6890 and r2, r4
|
|||
|
|
ed4: 68d4 and r3, r5
|
|||
|
|
ed6: 6c80 or r2, r0
|
|||
|
|
ed8: 6cc4 or r3, r1
|
|||
|
|
eda: b743 st.w r2, (r7, 0xc)
|
|||
|
|
edc: b764 st.w r3, (r7, 0x10)
|
|||
|
|
ede: 9762 ld.w r3, (r7, 0x8)
|
|||
|
|
ee0: 2300 addi r3, 1
|
|||
|
|
ee2: b762 st.w r3, (r7, 0x8)
|
|||
|
|
ee4: 6c1f mov r0, r7
|
|||
|
|
ee6: 140a addi r14, r14, 40
|
|||
|
|
ee8: 1484 pop r4-r7
|
|||
|
|
eea: 3b42 cmpnei r3, 2
|
|||
|
|
eec: 0ba6 bt 0xe38 // e38 <_fpadd_parts+0xd8>
|
|||
|
|
eee: b760 st.w r3, (r7, 0x0)
|
|||
|
|
ef0: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
ef2: b761 st.w r3, (r7, 0x4)
|
|||
|
|
ef4: 9062 ld.w r3, (r0, 0x8)
|
|||
|
|
ef6: b762 st.w r3, (r7, 0x8)
|
|||
|
|
ef8: 9063 ld.w r3, (r0, 0xc)
|
|||
|
|
efa: b763 st.w r3, (r7, 0xc)
|
|||
|
|
efc: 9064 ld.w r3, (r0, 0x10)
|
|||
|
|
efe: 9141 ld.w r2, (r1, 0x4)
|
|||
|
|
f00: b764 st.w r3, (r7, 0x10)
|
|||
|
|
f02: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
f04: 68c8 and r3, r2
|
|||
|
|
f06: b761 st.w r3, (r7, 0x4)
|
|||
|
|
f08: 6c1f mov r0, r7
|
|||
|
|
f0a: 0797 br 0xe38 // e38 <_fpadd_parts+0xd8>
|
|||
|
|
f0c: 98e2 ld.w r7, (r14, 0x8)
|
|||
|
|
f0e: 651c cmphs r7, r4
|
|||
|
|
f10: 0b7c bt 0xe08 // e08 <_fpadd_parts+0xa8>
|
|||
|
|
f12: 078c br 0xe2a // e2a <_fpadd_parts+0xca>
|
|||
|
|
f14: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
f16: 9823 ld.w r1, (r14, 0xc)
|
|||
|
|
f18: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
f1a: 9861 ld.w r3, (r14, 0x4)
|
|||
|
|
f1c: 6400 cmphs r0, r0
|
|||
|
|
f1e: 600b subc r0, r2
|
|||
|
|
f20: 604f subc r1, r3
|
|||
|
|
f22: 0754 br 0xdca // dca <_fpadd_parts+0x6a>
|
|||
|
|
f24: 3200 movi r2, 0
|
|||
|
|
f26: 3300 movi r3, 0
|
|||
|
|
f28: 6d17 mov r4, r5
|
|||
|
|
f2a: b842 st.w r2, (r14, 0x8)
|
|||
|
|
f2c: b863 st.w r3, (r14, 0xc)
|
|||
|
|
f2e: 0741 br 0xdb0 // db0 <_fpadd_parts+0x50>
|
|||
|
|
f30: 3a44 cmpnei r2, 4
|
|||
|
|
f32: 0b83 bt 0xe38 // e38 <_fpadd_parts+0xd8>
|
|||
|
|
f34: 9041 ld.w r2, (r0, 0x4)
|
|||
|
|
f36: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
f38: 64ca cmpne r2, r3
|
|||
|
|
f3a: 0f7f bf 0xe38 // e38 <_fpadd_parts+0xd8>
|
|||
|
|
f3c: 111d lrw r0, 0x4c70 // 1030 <_fpadd_parts+0x2d0>
|
|||
|
|
f3e: 077d br 0xe38 // e38 <_fpadd_parts+0xd8>
|
|||
|
|
f40: 3200 movi r2, 0
|
|||
|
|
f42: 608e subu r2, r3
|
|||
|
|
f44: 072d br 0xd9e // d9e <_fpadd_parts+0x3e>
|
|||
|
|
f46: 3301 movi r3, 1
|
|||
|
|
f48: b761 st.w r3, (r7, 0x4)
|
|||
|
|
f4a: 3200 movi r2, 0
|
|||
|
|
f4c: 3300 movi r3, 0
|
|||
|
|
f4e: 6488 cmphs r2, r2
|
|||
|
|
f50: 6083 subc r2, r0
|
|||
|
|
f52: 60c7 subc r3, r1
|
|||
|
|
f54: b782 st.w r4, (r7, 0x8)
|
|||
|
|
f56: b743 st.w r2, (r7, 0xc)
|
|||
|
|
f58: b764 st.w r3, (r7, 0x10)
|
|||
|
|
f5a: 0741 br 0xddc // ddc <_fpadd_parts+0x7c>
|
|||
|
|
f5c: 3b40 cmpnei r3, 0
|
|||
|
|
f5e: 0f29 bf 0xdb0 // db0 <_fpadd_parts+0x50>
|
|||
|
|
f60: 3300 movi r3, 0
|
|||
|
|
f62: 2b1f subi r3, 32
|
|||
|
|
f64: 60c8 addu r3, r2
|
|||
|
|
f66: 3bdf btsti r3, 31
|
|||
|
|
f68: 6108 addu r4, r2
|
|||
|
|
f6a: b866 st.w r3, (r14, 0x18)
|
|||
|
|
f6c: 0849 bt 0xffe // ffe <_fpadd_parts+0x29e>
|
|||
|
|
f6e: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
f70: 98a6 ld.w r5, (r14, 0x18)
|
|||
|
|
f72: 70d5 lsr r3, r5
|
|||
|
|
f74: b864 st.w r3, (r14, 0x10)
|
|||
|
|
f76: 3300 movi r3, 0
|
|||
|
|
f78: b865 st.w r3, (r14, 0x14)
|
|||
|
|
f7a: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
f7c: 3bdf btsti r3, 31
|
|||
|
|
f7e: 3500 movi r5, 0
|
|||
|
|
f80: 3600 movi r6, 0
|
|||
|
|
f82: 083a bt 0xff6 // ff6 <_fpadd_parts+0x296>
|
|||
|
|
f84: 3201 movi r2, 1
|
|||
|
|
f86: 708c lsl r2, r3
|
|||
|
|
f88: 6d8b mov r6, r2
|
|||
|
|
f8a: 3200 movi r2, 0
|
|||
|
|
f8c: 3300 movi r3, 0
|
|||
|
|
f8e: 2a00 subi r2, 1
|
|||
|
|
f90: 2b00 subi r3, 1
|
|||
|
|
f92: 6489 cmplt r2, r2
|
|||
|
|
f94: 6095 addc r2, r5
|
|||
|
|
f96: 60d9 addc r3, r6
|
|||
|
|
f98: 98a2 ld.w r5, (r14, 0x8)
|
|||
|
|
f9a: 98c3 ld.w r6, (r14, 0xc)
|
|||
|
|
f9c: 6948 and r5, r2
|
|||
|
|
f9e: 698c and r6, r3
|
|||
|
|
fa0: 6c97 mov r2, r5
|
|||
|
|
fa2: 6cdb mov r3, r6
|
|||
|
|
fa4: 6c8c or r2, r3
|
|||
|
|
fa6: 3a40 cmpnei r2, 0
|
|||
|
|
fa8: 3500 movi r5, 0
|
|||
|
|
faa: 6155 addc r5, r5
|
|||
|
|
fac: 6c97 mov r2, r5
|
|||
|
|
fae: 3300 movi r3, 0
|
|||
|
|
fb0: 98a4 ld.w r5, (r14, 0x10)
|
|||
|
|
fb2: 98c5 ld.w r6, (r14, 0x14)
|
|||
|
|
fb4: 6d48 or r5, r2
|
|||
|
|
fb6: 6d8c or r6, r3
|
|||
|
|
fb8: b8a2 st.w r5, (r14, 0x8)
|
|||
|
|
fba: b8c3 st.w r6, (r14, 0xc)
|
|||
|
|
fbc: 06fa br 0xdb0 // db0 <_fpadd_parts+0x50>
|
|||
|
|
fbe: 3301 movi r3, 1
|
|||
|
|
fc0: 70c8 lsl r3, r2
|
|||
|
|
fc2: 6d4f mov r5, r3
|
|||
|
|
fc4: 0754 br 0xe6c // e6c <_fpadd_parts+0x10c>
|
|||
|
|
fc6: 9861 ld.w r3, (r14, 0x4)
|
|||
|
|
fc8: 361f movi r6, 31
|
|||
|
|
fca: 43a1 lsli r5, r3, 1
|
|||
|
|
fcc: 618a subu r6, r2
|
|||
|
|
fce: 7158 lsl r5, r6
|
|||
|
|
fd0: b8a9 st.w r5, (r14, 0x24)
|
|||
|
|
fd2: 98a0 ld.w r5, (r14, 0x0)
|
|||
|
|
fd4: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
fd6: b8a7 st.w r5, (r14, 0x1c)
|
|||
|
|
fd8: b8c8 st.w r6, (r14, 0x20)
|
|||
|
|
fda: 9867 ld.w r3, (r14, 0x1c)
|
|||
|
|
fdc: 70c9 lsr r3, r2
|
|||
|
|
fde: 98a9 ld.w r5, (r14, 0x24)
|
|||
|
|
fe0: 6cd4 or r3, r5
|
|||
|
|
fe2: b864 st.w r3, (r14, 0x10)
|
|||
|
|
fe4: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
fe6: 70c9 lsr r3, r2
|
|||
|
|
fe8: b865 st.w r3, (r14, 0x14)
|
|||
|
|
fea: 0739 br 0xe5c // e5c <_fpadd_parts+0xfc>
|
|||
|
|
fec: 3100 movi r1, 0
|
|||
|
|
fee: 2901 subi r1, 2
|
|||
|
|
ff0: 6404 cmphs r1, r0
|
|||
|
|
ff2: 0b01 bt 0xdf4 // df4 <_fpadd_parts+0x94>
|
|||
|
|
ff4: 0764 br 0xebc // ebc <_fpadd_parts+0x15c>
|
|||
|
|
ff6: 3301 movi r3, 1
|
|||
|
|
ff8: 70c8 lsl r3, r2
|
|||
|
|
ffa: 6d4f mov r5, r3
|
|||
|
|
ffc: 07c7 br 0xf8a // f8a <_fpadd_parts+0x22a>
|
|||
|
|
ffe: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
1000: 43c1 lsli r6, r3, 1
|
|||
|
|
1002: 351f movi r5, 31
|
|||
|
|
1004: 5d69 subu r3, r5, r2
|
|||
|
|
1006: 6d5b mov r5, r6
|
|||
|
|
1008: 714c lsl r5, r3
|
|||
|
|
100a: b8a9 st.w r5, (r14, 0x24)
|
|||
|
|
100c: 98a2 ld.w r5, (r14, 0x8)
|
|||
|
|
100e: 98c3 ld.w r6, (r14, 0xc)
|
|||
|
|
1010: b8a7 st.w r5, (r14, 0x1c)
|
|||
|
|
1012: b8c8 st.w r6, (r14, 0x20)
|
|||
|
|
1014: 9867 ld.w r3, (r14, 0x1c)
|
|||
|
|
1016: 70c9 lsr r3, r2
|
|||
|
|
1018: 98a9 ld.w r5, (r14, 0x24)
|
|||
|
|
101a: 6cd4 or r3, r5
|
|||
|
|
101c: b864 st.w r3, (r14, 0x10)
|
|||
|
|
101e: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
1020: 70c9 lsr r3, r2
|
|||
|
|
1022: b865 st.w r3, (r14, 0x14)
|
|||
|
|
1024: 07ab br 0xf7a // f7a <_fpadd_parts+0x21a>
|
|||
|
|
1026: 0000 bkpt
|
|||
|
|
1028: 0fffffff .long 0x0fffffff
|
|||
|
|
102c: 1fffffff .long 0x1fffffff
|
|||
|
|
1030: 00004c70 .long 0x00004c70
|
|||
|
|
|
|||
|
|
00001034 <__adddf3>:
|
|||
|
|
1034: 14d0 push r15
|
|||
|
|
1036: 1433 subi r14, r14, 76
|
|||
|
|
1038: b800 st.w r0, (r14, 0x0)
|
|||
|
|
103a: b821 st.w r1, (r14, 0x4)
|
|||
|
|
103c: 6c3b mov r0, r14
|
|||
|
|
103e: 1904 addi r1, r14, 16
|
|||
|
|
1040: b863 st.w r3, (r14, 0xc)
|
|||
|
|
1042: b842 st.w r2, (r14, 0x8)
|
|||
|
|
1044: e00003f4 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1048: 1909 addi r1, r14, 36
|
|||
|
|
104a: 1802 addi r0, r14, 8
|
|||
|
|
104c: e00003f0 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1050: 1a0e addi r2, r14, 56
|
|||
|
|
1052: 1909 addi r1, r14, 36
|
|||
|
|
1054: 1804 addi r0, r14, 16
|
|||
|
|
1056: e3fffe85 bsr 0xd60 // d60 <_fpadd_parts>
|
|||
|
|
105a: e000031b bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
105e: 1413 addi r14, r14, 76
|
|||
|
|
1060: 1490 pop r15
|
|||
|
|
...
|
|||
|
|
|
|||
|
|
00001064 <__subdf3>:
|
|||
|
|
1064: 14d0 push r15
|
|||
|
|
1066: 1433 subi r14, r14, 76
|
|||
|
|
1068: b800 st.w r0, (r14, 0x0)
|
|||
|
|
106a: b821 st.w r1, (r14, 0x4)
|
|||
|
|
106c: 6c3b mov r0, r14
|
|||
|
|
106e: 1904 addi r1, r14, 16
|
|||
|
|
1070: b842 st.w r2, (r14, 0x8)
|
|||
|
|
1072: b863 st.w r3, (r14, 0xc)
|
|||
|
|
1074: e00003dc bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1078: 1909 addi r1, r14, 36
|
|||
|
|
107a: 1802 addi r0, r14, 8
|
|||
|
|
107c: e00003d8 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1080: 986a ld.w r3, (r14, 0x28)
|
|||
|
|
1082: 3201 movi r2, 1
|
|||
|
|
1084: 6cc9 xor r3, r2
|
|||
|
|
1086: 1909 addi r1, r14, 36
|
|||
|
|
1088: 1a0e addi r2, r14, 56
|
|||
|
|
108a: 1804 addi r0, r14, 16
|
|||
|
|
108c: b86a st.w r3, (r14, 0x28)
|
|||
|
|
108e: e3fffe69 bsr 0xd60 // d60 <_fpadd_parts>
|
|||
|
|
1092: e00002ff bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
1096: 1413 addi r14, r14, 76
|
|||
|
|
1098: 1490 pop r15
|
|||
|
|
...
|
|||
|
|
|
|||
|
|
0000109c <__muldf3>:
|
|||
|
|
109c: 14d4 push r4-r7, r15
|
|||
|
|
109e: 143b subi r14, r14, 108
|
|||
|
|
10a0: b808 st.w r0, (r14, 0x20)
|
|||
|
|
10a2: b829 st.w r1, (r14, 0x24)
|
|||
|
|
10a4: 1808 addi r0, r14, 32
|
|||
|
|
10a6: 190c addi r1, r14, 48
|
|||
|
|
10a8: b86b st.w r3, (r14, 0x2c)
|
|||
|
|
10aa: b84a st.w r2, (r14, 0x28)
|
|||
|
|
10ac: e00003c0 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
10b0: 1911 addi r1, r14, 68
|
|||
|
|
10b2: 180a addi r0, r14, 40
|
|||
|
|
10b4: e00003bc bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
10b8: 986c ld.w r3, (r14, 0x30)
|
|||
|
|
10ba: 3b01 cmphsi r3, 2
|
|||
|
|
10bc: 0cac bf 0x1214 // 1214 <__muldf3+0x178>
|
|||
|
|
10be: 9851 ld.w r2, (r14, 0x44)
|
|||
|
|
10c0: 3a01 cmphsi r2, 2
|
|||
|
|
10c2: 0c9c bf 0x11fa // 11fa <__muldf3+0x15e>
|
|||
|
|
10c4: 3b44 cmpnei r3, 4
|
|||
|
|
10c6: 0ca5 bf 0x1210 // 1210 <__muldf3+0x174>
|
|||
|
|
10c8: 3a44 cmpnei r2, 4
|
|||
|
|
10ca: 0c96 bf 0x11f6 // 11f6 <__muldf3+0x15a>
|
|||
|
|
10cc: 3b42 cmpnei r3, 2
|
|||
|
|
10ce: 0ca3 bf 0x1214 // 1214 <__muldf3+0x178>
|
|||
|
|
10d0: 3a42 cmpnei r2, 2
|
|||
|
|
10d2: 0c94 bf 0x11fa // 11fa <__muldf3+0x15e>
|
|||
|
|
10d4: 98ef ld.w r7, (r14, 0x3c)
|
|||
|
|
10d6: 98b4 ld.w r5, (r14, 0x50)
|
|||
|
|
10d8: 9875 ld.w r3, (r14, 0x54)
|
|||
|
|
10da: 6d8f mov r6, r3
|
|||
|
|
10dc: 6c9f mov r2, r7
|
|||
|
|
10de: 3300 movi r3, 0
|
|||
|
|
10e0: 6c17 mov r0, r5
|
|||
|
|
10e2: 3100 movi r1, 0
|
|||
|
|
10e4: e0000294 bsr 0x160c // 160c <__muldi3>
|
|||
|
|
10e8: b804 st.w r0, (r14, 0x10)
|
|||
|
|
10ea: b825 st.w r1, (r14, 0x14)
|
|||
|
|
10ec: 6c9f mov r2, r7
|
|||
|
|
10ee: 3300 movi r3, 0
|
|||
|
|
10f0: 6c1b mov r0, r6
|
|||
|
|
10f2: 3100 movi r1, 0
|
|||
|
|
10f4: 9890 ld.w r4, (r14, 0x40)
|
|||
|
|
10f6: b8c2 st.w r6, (r14, 0x8)
|
|||
|
|
10f8: e000028a bsr 0x160c // 160c <__muldi3>
|
|||
|
|
10fc: 6d83 mov r6, r0
|
|||
|
|
10fe: 6dc7 mov r7, r1
|
|||
|
|
1100: 9842 ld.w r2, (r14, 0x8)
|
|||
|
|
1102: 3300 movi r3, 0
|
|||
|
|
1104: 6c13 mov r0, r4
|
|||
|
|
1106: 3100 movi r1, 0
|
|||
|
|
1108: e0000282 bsr 0x160c // 160c <__muldi3>
|
|||
|
|
110c: b806 st.w r0, (r14, 0x18)
|
|||
|
|
110e: b827 st.w r1, (r14, 0x1c)
|
|||
|
|
1110: 6c97 mov r2, r5
|
|||
|
|
1112: 3300 movi r3, 0
|
|||
|
|
1114: 6c13 mov r0, r4
|
|||
|
|
1116: 3100 movi r1, 0
|
|||
|
|
1118: e000027a bsr 0x160c // 160c <__muldi3>
|
|||
|
|
111c: 6401 cmplt r0, r0
|
|||
|
|
111e: 6019 addc r0, r6
|
|||
|
|
1120: 605d addc r1, r7
|
|||
|
|
1122: 65c4 cmphs r1, r7
|
|||
|
|
1124: 0c91 bf 0x1246 // 1246 <__muldf3+0x1aa>
|
|||
|
|
1126: 645e cmpne r7, r1
|
|||
|
|
1128: 0c8d bf 0x1242 // 1242 <__muldf3+0x1a6>
|
|||
|
|
112a: 3300 movi r3, 0
|
|||
|
|
112c: 3400 movi r4, 0
|
|||
|
|
112e: b862 st.w r3, (r14, 0x8)
|
|||
|
|
1130: b883 st.w r4, (r14, 0xc)
|
|||
|
|
1132: 9884 ld.w r4, (r14, 0x10)
|
|||
|
|
1134: 98a5 ld.w r5, (r14, 0x14)
|
|||
|
|
1136: 3600 movi r6, 0
|
|||
|
|
1138: 6dc3 mov r7, r0
|
|||
|
|
113a: 6c93 mov r2, r4
|
|||
|
|
113c: 6cd7 mov r3, r5
|
|||
|
|
113e: 6489 cmplt r2, r2
|
|||
|
|
1140: 6099 addc r2, r6
|
|||
|
|
1142: 60dd addc r3, r7
|
|||
|
|
1144: 6d8b mov r6, r2
|
|||
|
|
1146: 6dcf mov r7, r3
|
|||
|
|
1148: 6c93 mov r2, r4
|
|||
|
|
114a: 6cd7 mov r3, r5
|
|||
|
|
114c: 64dc cmphs r7, r3
|
|||
|
|
114e: 0c70 bf 0x122e // 122e <__muldf3+0x192>
|
|||
|
|
1150: 65ce cmpne r3, r7
|
|||
|
|
1152: 0c6c bf 0x122a // 122a <__muldf3+0x18e>
|
|||
|
|
1154: 6c87 mov r2, r1
|
|||
|
|
1156: 3300 movi r3, 0
|
|||
|
|
1158: 9806 ld.w r0, (r14, 0x18)
|
|||
|
|
115a: 9827 ld.w r1, (r14, 0x1c)
|
|||
|
|
115c: 6401 cmplt r0, r0
|
|||
|
|
115e: 6009 addc r0, r2
|
|||
|
|
1160: 604d addc r1, r3
|
|||
|
|
1162: 6c83 mov r2, r0
|
|||
|
|
1164: 6cc7 mov r3, r1
|
|||
|
|
1166: 9802 ld.w r0, (r14, 0x8)
|
|||
|
|
1168: 9823 ld.w r1, (r14, 0xc)
|
|||
|
|
116a: 6401 cmplt r0, r0
|
|||
|
|
116c: 6009 addc r0, r2
|
|||
|
|
116e: 604d addc r1, r3
|
|||
|
|
1170: 6c83 mov r2, r0
|
|||
|
|
1172: 6cc7 mov r3, r1
|
|||
|
|
1174: 988e ld.w r4, (r14, 0x38)
|
|||
|
|
1176: 9833 ld.w r1, (r14, 0x4c)
|
|||
|
|
1178: 6104 addu r4, r1
|
|||
|
|
117a: 5c2e addi r1, r4, 4
|
|||
|
|
117c: b838 st.w r1, (r14, 0x60)
|
|||
|
|
117e: 980d ld.w r0, (r14, 0x34)
|
|||
|
|
1180: 9832 ld.w r1, (r14, 0x48)
|
|||
|
|
1182: 6442 cmpne r0, r1
|
|||
|
|
1184: 12b0 lrw r5, 0x1fffffff // 12c4 <__muldf3+0x228>
|
|||
|
|
1186: 3100 movi r1, 0
|
|||
|
|
1188: 6045 addc r1, r1
|
|||
|
|
118a: 64d4 cmphs r5, r3
|
|||
|
|
118c: b837 st.w r1, (r14, 0x5c)
|
|||
|
|
118e: 0879 bt 0x1280 // 1280 <__muldf3+0x1e4>
|
|||
|
|
1190: 2404 addi r4, 5
|
|||
|
|
1192: b8a4 st.w r5, (r14, 0x10)
|
|||
|
|
1194: 3001 movi r0, 1
|
|||
|
|
1196: 3100 movi r1, 0
|
|||
|
|
1198: 6808 and r0, r2
|
|||
|
|
119a: 684c and r1, r3
|
|||
|
|
119c: 6c04 or r0, r1
|
|||
|
|
119e: 3840 cmpnei r0, 0
|
|||
|
|
11a0: b882 st.w r4, (r14, 0x8)
|
|||
|
|
11a2: 0c0e bf 0x11be // 11be <__muldf3+0x122>
|
|||
|
|
11a4: 473f lsli r1, r7, 31
|
|||
|
|
11a6: 4e01 lsri r0, r6, 1
|
|||
|
|
11a8: 6c04 or r0, r1
|
|||
|
|
11aa: 4f21 lsri r1, r7, 1
|
|||
|
|
11ac: b800 st.w r0, (r14, 0x0)
|
|||
|
|
11ae: b821 st.w r1, (r14, 0x4)
|
|||
|
|
11b0: 3180 movi r1, 128
|
|||
|
|
11b2: 98c0 ld.w r6, (r14, 0x0)
|
|||
|
|
11b4: 98e1 ld.w r7, (r14, 0x4)
|
|||
|
|
11b6: 3000 movi r0, 0
|
|||
|
|
11b8: 4138 lsli r1, r1, 24
|
|||
|
|
11ba: 6d80 or r6, r0
|
|||
|
|
11bc: 6dc4 or r7, r1
|
|||
|
|
11be: 4b21 lsri r1, r3, 1
|
|||
|
|
11c0: 43bf lsli r5, r3, 31
|
|||
|
|
11c2: 4a01 lsri r0, r2, 1
|
|||
|
|
11c4: 6cc7 mov r3, r1
|
|||
|
|
11c6: 9824 ld.w r1, (r14, 0x10)
|
|||
|
|
11c8: 6d40 or r5, r0
|
|||
|
|
11ca: 64c4 cmphs r1, r3
|
|||
|
|
11cc: 6c97 mov r2, r5
|
|||
|
|
11ce: 2400 addi r4, 1
|
|||
|
|
11d0: 0fe2 bf 0x1194 // 1194 <__muldf3+0xf8>
|
|||
|
|
11d2: 9822 ld.w r1, (r14, 0x8)
|
|||
|
|
11d4: b838 st.w r1, (r14, 0x60)
|
|||
|
|
11d6: 30ff movi r0, 255
|
|||
|
|
11d8: 3100 movi r1, 0
|
|||
|
|
11da: 6808 and r0, r2
|
|||
|
|
11dc: 684c and r1, r3
|
|||
|
|
11de: 3480 movi r4, 128
|
|||
|
|
11e0: 6502 cmpne r0, r4
|
|||
|
|
11e2: 0c37 bf 0x1250 // 1250 <__muldf3+0x1b4>
|
|||
|
|
11e4: b859 st.w r2, (r14, 0x64)
|
|||
|
|
11e6: b87a st.w r3, (r14, 0x68)
|
|||
|
|
11e8: 3303 movi r3, 3
|
|||
|
|
11ea: b876 st.w r3, (r14, 0x58)
|
|||
|
|
11ec: 1816 addi r0, r14, 88
|
|||
|
|
11ee: e0000251 bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
11f2: 141b addi r14, r14, 108
|
|||
|
|
11f4: 1494 pop r4-r7, r15
|
|||
|
|
11f6: 3b42 cmpnei r3, 2
|
|||
|
|
11f8: 0c42 bf 0x127c // 127c <__muldf3+0x1e0>
|
|||
|
|
11fa: 9872 ld.w r3, (r14, 0x48)
|
|||
|
|
11fc: 984d ld.w r2, (r14, 0x34)
|
|||
|
|
11fe: 64ca cmpne r2, r3
|
|||
|
|
1200: 3300 movi r3, 0
|
|||
|
|
1202: 60cd addc r3, r3
|
|||
|
|
1204: 1811 addi r0, r14, 68
|
|||
|
|
1206: b872 st.w r3, (r14, 0x48)
|
|||
|
|
1208: e0000244 bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
120c: 141b addi r14, r14, 108
|
|||
|
|
120e: 1494 pop r4-r7, r15
|
|||
|
|
1210: 3a42 cmpnei r2, 2
|
|||
|
|
1212: 0c35 bf 0x127c // 127c <__muldf3+0x1e0>
|
|||
|
|
1214: 984d ld.w r2, (r14, 0x34)
|
|||
|
|
1216: 9872 ld.w r3, (r14, 0x48)
|
|||
|
|
1218: 64ca cmpne r2, r3
|
|||
|
|
121a: 3300 movi r3, 0
|
|||
|
|
121c: 60cd addc r3, r3
|
|||
|
|
121e: 180c addi r0, r14, 48
|
|||
|
|
1220: b86d st.w r3, (r14, 0x34)
|
|||
|
|
1222: e0000237 bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
1226: 141b addi r14, r14, 108
|
|||
|
|
1228: 1494 pop r4-r7, r15
|
|||
|
|
122a: 6498 cmphs r6, r2
|
|||
|
|
122c: 0b94 bt 0x1154 // 1154 <__muldf3+0xb8>
|
|||
|
|
122e: 9882 ld.w r4, (r14, 0x8)
|
|||
|
|
1230: 98a3 ld.w r5, (r14, 0xc)
|
|||
|
|
1232: 3201 movi r2, 1
|
|||
|
|
1234: 3300 movi r3, 0
|
|||
|
|
1236: 6511 cmplt r4, r4
|
|||
|
|
1238: 6109 addc r4, r2
|
|||
|
|
123a: 614d addc r5, r3
|
|||
|
|
123c: b882 st.w r4, (r14, 0x8)
|
|||
|
|
123e: b8a3 st.w r5, (r14, 0xc)
|
|||
|
|
1240: 078a br 0x1154 // 1154 <__muldf3+0xb8>
|
|||
|
|
1242: 6580 cmphs r0, r6
|
|||
|
|
1244: 0b73 bt 0x112a // 112a <__muldf3+0x8e>
|
|||
|
|
1246: 3300 movi r3, 0
|
|||
|
|
1248: 3401 movi r4, 1
|
|||
|
|
124a: b862 st.w r3, (r14, 0x8)
|
|||
|
|
124c: b883 st.w r4, (r14, 0xc)
|
|||
|
|
124e: 0772 br 0x1132 // 1132 <__muldf3+0x96>
|
|||
|
|
1250: 3940 cmpnei r1, 0
|
|||
|
|
1252: 0bc9 bt 0x11e4 // 11e4 <__muldf3+0x148>
|
|||
|
|
1254: 3180 movi r1, 128
|
|||
|
|
1256: 4121 lsli r1, r1, 1
|
|||
|
|
1258: 6848 and r1, r2
|
|||
|
|
125a: 3940 cmpnei r1, 0
|
|||
|
|
125c: 0bc4 bt 0x11e4 // 11e4 <__muldf3+0x148>
|
|||
|
|
125e: 6c5b mov r1, r6
|
|||
|
|
1260: 6c5c or r1, r7
|
|||
|
|
1262: 3940 cmpnei r1, 0
|
|||
|
|
1264: 0fc0 bf 0x11e4 // 11e4 <__muldf3+0x148>
|
|||
|
|
1266: 3080 movi r0, 128
|
|||
|
|
1268: 3100 movi r1, 0
|
|||
|
|
126a: 6401 cmplt r0, r0
|
|||
|
|
126c: 6009 addc r0, r2
|
|||
|
|
126e: 604d addc r1, r3
|
|||
|
|
1270: 34ff movi r4, 255
|
|||
|
|
1272: 6d43 mov r5, r0
|
|||
|
|
1274: 6951 andn r5, r4
|
|||
|
|
1276: 6c97 mov r2, r5
|
|||
|
|
1278: 6cc7 mov r3, r1
|
|||
|
|
127a: 07b5 br 0x11e4 // 11e4 <__muldf3+0x148>
|
|||
|
|
127c: 1013 lrw r0, 0x4c70 // 12c8 <__muldf3+0x22c>
|
|||
|
|
127e: 07b8 br 0x11ee // 11ee <__muldf3+0x152>
|
|||
|
|
1280: 1033 lrw r1, 0xfffffff // 12cc <__muldf3+0x230>
|
|||
|
|
1282: 64c4 cmphs r1, r3
|
|||
|
|
1284: 0fa9 bf 0x11d6 // 11d6 <__muldf3+0x13a>
|
|||
|
|
1286: 2402 addi r4, 3
|
|||
|
|
1288: b822 st.w r1, (r14, 0x8)
|
|||
|
|
128a: 4a1f lsri r0, r2, 31
|
|||
|
|
128c: 4321 lsli r1, r3, 1
|
|||
|
|
128e: 42a1 lsli r5, r2, 1
|
|||
|
|
1290: 6c04 or r0, r1
|
|||
|
|
1292: 3fdf btsti r7, 31
|
|||
|
|
1294: b880 st.w r4, (r14, 0x0)
|
|||
|
|
1296: 6c97 mov r2, r5
|
|||
|
|
1298: 6cc3 mov r3, r0
|
|||
|
|
129a: 0c07 bf 0x12a8 // 12a8 <__muldf3+0x20c>
|
|||
|
|
129c: 3001 movi r0, 1
|
|||
|
|
129e: 3100 movi r1, 0
|
|||
|
|
12a0: 6c08 or r0, r2
|
|||
|
|
12a2: 6c4c or r1, r3
|
|||
|
|
12a4: 6c83 mov r2, r0
|
|||
|
|
12a6: 6cc7 mov r3, r1
|
|||
|
|
12a8: 4721 lsli r1, r7, 1
|
|||
|
|
12aa: 4e1f lsri r0, r6, 31
|
|||
|
|
12ac: 6c04 or r0, r1
|
|||
|
|
12ae: 9822 ld.w r1, (r14, 0x8)
|
|||
|
|
12b0: 46a1 lsli r5, r6, 1
|
|||
|
|
12b2: 64c4 cmphs r1, r3
|
|||
|
|
12b4: 6d97 mov r6, r5
|
|||
|
|
12b6: 6dc3 mov r7, r0
|
|||
|
|
12b8: 2c00 subi r4, 1
|
|||
|
|
12ba: 0be8 bt 0x128a // 128a <__muldf3+0x1ee>
|
|||
|
|
12bc: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
12be: b838 st.w r1, (r14, 0x60)
|
|||
|
|
12c0: 078b br 0x11d6 // 11d6 <__muldf3+0x13a>
|
|||
|
|
12c2: 0000 bkpt
|
|||
|
|
12c4: 1fffffff .long 0x1fffffff
|
|||
|
|
12c8: 00004c70 .long 0x00004c70
|
|||
|
|
12cc: 0fffffff .long 0x0fffffff
|
|||
|
|
|
|||
|
|
000012d0 <__divdf3>:
|
|||
|
|
12d0: 14d4 push r4-r7, r15
|
|||
|
|
12d2: 1432 subi r14, r14, 72
|
|||
|
|
12d4: b804 st.w r0, (r14, 0x10)
|
|||
|
|
12d6: b825 st.w r1, (r14, 0x14)
|
|||
|
|
12d8: 1804 addi r0, r14, 16
|
|||
|
|
12da: 1908 addi r1, r14, 32
|
|||
|
|
12dc: b867 st.w r3, (r14, 0x1c)
|
|||
|
|
12de: b846 st.w r2, (r14, 0x18)
|
|||
|
|
12e0: e00002a6 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
12e4: 190d addi r1, r14, 52
|
|||
|
|
12e6: 1806 addi r0, r14, 24
|
|||
|
|
12e8: e00002a2 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
12ec: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
12ee: 3b01 cmphsi r3, 2
|
|||
|
|
12f0: 0c66 bf 0x13bc // 13bc <__divdf3+0xec>
|
|||
|
|
12f2: 982d ld.w r1, (r14, 0x34)
|
|||
|
|
12f4: 3901 cmphsi r1, 2
|
|||
|
|
12f6: 0c92 bf 0x141a // 141a <__divdf3+0x14a>
|
|||
|
|
12f8: 9849 ld.w r2, (r14, 0x24)
|
|||
|
|
12fa: 980e ld.w r0, (r14, 0x38)
|
|||
|
|
12fc: 6c81 xor r2, r0
|
|||
|
|
12fe: 3b44 cmpnei r3, 4
|
|||
|
|
1300: b849 st.w r2, (r14, 0x24)
|
|||
|
|
1302: 0c62 bf 0x13c6 // 13c6 <__divdf3+0xf6>
|
|||
|
|
1304: 3b42 cmpnei r3, 2
|
|||
|
|
1306: 0c60 bf 0x13c6 // 13c6 <__divdf3+0xf6>
|
|||
|
|
1308: 3944 cmpnei r1, 4
|
|||
|
|
130a: 0c62 bf 0x13ce // 13ce <__divdf3+0xfe>
|
|||
|
|
130c: 3942 cmpnei r1, 2
|
|||
|
|
130e: 0c82 bf 0x1412 // 1412 <__divdf3+0x142>
|
|||
|
|
1310: 982a ld.w r1, (r14, 0x28)
|
|||
|
|
1312: 986f ld.w r3, (r14, 0x3c)
|
|||
|
|
1314: 604e subu r1, r3
|
|||
|
|
1316: 9890 ld.w r4, (r14, 0x40)
|
|||
|
|
1318: 98b1 ld.w r5, (r14, 0x44)
|
|||
|
|
131a: 984b ld.w r2, (r14, 0x2c)
|
|||
|
|
131c: 986c ld.w r3, (r14, 0x30)
|
|||
|
|
131e: 654c cmphs r3, r5
|
|||
|
|
1320: b82a st.w r1, (r14, 0x28)
|
|||
|
|
1322: 6d93 mov r6, r4
|
|||
|
|
1324: 6dd7 mov r7, r5
|
|||
|
|
1326: 0c05 bf 0x1330 // 1330 <__divdf3+0x60>
|
|||
|
|
1328: 64d6 cmpne r5, r3
|
|||
|
|
132a: 080b bt 0x1340 // 1340 <__divdf3+0x70>
|
|||
|
|
132c: 6508 cmphs r2, r4
|
|||
|
|
132e: 0809 bt 0x1340 // 1340 <__divdf3+0x70>
|
|||
|
|
1330: 4a9f lsri r4, r2, 31
|
|||
|
|
1332: 4301 lsli r0, r3, 1
|
|||
|
|
1334: 42a1 lsli r5, r2, 1
|
|||
|
|
1336: 6d00 or r4, r0
|
|||
|
|
1338: 2900 subi r1, 1
|
|||
|
|
133a: 6c97 mov r2, r5
|
|||
|
|
133c: 6cd3 mov r3, r4
|
|||
|
|
133e: b82a st.w r1, (r14, 0x28)
|
|||
|
|
1340: 3000 movi r0, 0
|
|||
|
|
1342: 3100 movi r1, 0
|
|||
|
|
1344: b802 st.w r0, (r14, 0x8)
|
|||
|
|
1346: b823 st.w r1, (r14, 0xc)
|
|||
|
|
1348: 3180 movi r1, 128
|
|||
|
|
134a: 343d movi r4, 61
|
|||
|
|
134c: 3000 movi r0, 0
|
|||
|
|
134e: 4135 lsli r1, r1, 21
|
|||
|
|
1350: b8c0 st.w r6, (r14, 0x0)
|
|||
|
|
1352: b8e1 st.w r7, (r14, 0x4)
|
|||
|
|
1354: 98a0 ld.w r5, (r14, 0x0)
|
|||
|
|
1356: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
1358: 658c cmphs r3, r6
|
|||
|
|
135a: 0c10 bf 0x137a // 137a <__divdf3+0xaa>
|
|||
|
|
135c: 64da cmpne r6, r3
|
|||
|
|
135e: 0803 bt 0x1364 // 1364 <__divdf3+0x94>
|
|||
|
|
1360: 6548 cmphs r2, r5
|
|||
|
|
1362: 0c0c bf 0x137a // 137a <__divdf3+0xaa>
|
|||
|
|
1364: 98a2 ld.w r5, (r14, 0x8)
|
|||
|
|
1366: 98c3 ld.w r6, (r14, 0xc)
|
|||
|
|
1368: 6d40 or r5, r0
|
|||
|
|
136a: 6d84 or r6, r1
|
|||
|
|
136c: b8a2 st.w r5, (r14, 0x8)
|
|||
|
|
136e: b8c3 st.w r6, (r14, 0xc)
|
|||
|
|
1370: 98a0 ld.w r5, (r14, 0x0)
|
|||
|
|
1372: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
1374: 6488 cmphs r2, r2
|
|||
|
|
1376: 6097 subc r2, r5
|
|||
|
|
1378: 60db subc r3, r6
|
|||
|
|
137a: 41bf lsli r5, r1, 31
|
|||
|
|
137c: 48e1 lsri r7, r0, 1
|
|||
|
|
137e: 6d97 mov r6, r5
|
|||
|
|
1380: 49a1 lsri r5, r1, 1
|
|||
|
|
1382: 6d9c or r6, r7
|
|||
|
|
1384: 6c57 mov r1, r5
|
|||
|
|
1386: 4abf lsri r5, r2, 31
|
|||
|
|
1388: 6c1b mov r0, r6
|
|||
|
|
138a: 2c00 subi r4, 1
|
|||
|
|
138c: 6d97 mov r6, r5
|
|||
|
|
138e: 43a1 lsli r5, r3, 1
|
|||
|
|
1390: 6d94 or r6, r5
|
|||
|
|
1392: 4261 lsli r3, r2, 1
|
|||
|
|
1394: 3c40 cmpnei r4, 0
|
|||
|
|
1396: 6dcf mov r7, r3
|
|||
|
|
1398: 6c8f mov r2, r3
|
|||
|
|
139a: 6cdb mov r3, r6
|
|||
|
|
139c: 0bdc bt 0x1354 // 1354 <__divdf3+0x84>
|
|||
|
|
139e: 30ff movi r0, 255
|
|||
|
|
13a0: 3100 movi r1, 0
|
|||
|
|
13a2: 9882 ld.w r4, (r14, 0x8)
|
|||
|
|
13a4: 98a3 ld.w r5, (r14, 0xc)
|
|||
|
|
13a6: 6900 and r4, r0
|
|||
|
|
13a8: 6944 and r5, r1
|
|||
|
|
13aa: 6c13 mov r0, r4
|
|||
|
|
13ac: 6c57 mov r1, r5
|
|||
|
|
13ae: 3480 movi r4, 128
|
|||
|
|
13b0: 6502 cmpne r0, r4
|
|||
|
|
13b2: 0c15 bf 0x13dc // 13dc <__divdf3+0x10c>
|
|||
|
|
13b4: 9862 ld.w r3, (r14, 0x8)
|
|||
|
|
13b6: 9883 ld.w r4, (r14, 0xc)
|
|||
|
|
13b8: b86b st.w r3, (r14, 0x2c)
|
|||
|
|
13ba: b88c st.w r4, (r14, 0x30)
|
|||
|
|
13bc: 1808 addi r0, r14, 32
|
|||
|
|
13be: e0000169 bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
13c2: 1412 addi r14, r14, 72
|
|||
|
|
13c4: 1494 pop r4-r7, r15
|
|||
|
|
13c6: 644e cmpne r3, r1
|
|||
|
|
13c8: 0bfa bt 0x13bc // 13bc <__divdf3+0xec>
|
|||
|
|
13ca: 1016 lrw r0, 0x4c70 // 1420 <__divdf3+0x150>
|
|||
|
|
13cc: 07f9 br 0x13be // 13be <__divdf3+0xee>
|
|||
|
|
13ce: 3300 movi r3, 0
|
|||
|
|
13d0: 3400 movi r4, 0
|
|||
|
|
13d2: b86b st.w r3, (r14, 0x2c)
|
|||
|
|
13d4: b88c st.w r4, (r14, 0x30)
|
|||
|
|
13d6: b86a st.w r3, (r14, 0x28)
|
|||
|
|
13d8: 1808 addi r0, r14, 32
|
|||
|
|
13da: 07f2 br 0x13be // 13be <__divdf3+0xee>
|
|||
|
|
13dc: 3940 cmpnei r1, 0
|
|||
|
|
13de: 0beb bt 0x13b4 // 13b4 <__divdf3+0xe4>
|
|||
|
|
13e0: 3180 movi r1, 128
|
|||
|
|
13e2: 4121 lsli r1, r1, 1
|
|||
|
|
13e4: 9882 ld.w r4, (r14, 0x8)
|
|||
|
|
13e6: 98a3 ld.w r5, (r14, 0xc)
|
|||
|
|
13e8: 6850 and r1, r4
|
|||
|
|
13ea: 3940 cmpnei r1, 0
|
|||
|
|
13ec: 0be4 bt 0x13b4 // 13b4 <__divdf3+0xe4>
|
|||
|
|
13ee: 6c98 or r2, r6
|
|||
|
|
13f0: 3a40 cmpnei r2, 0
|
|||
|
|
13f2: 0fe1 bf 0x13b4 // 13b4 <__divdf3+0xe4>
|
|||
|
|
13f4: 3280 movi r2, 128
|
|||
|
|
13f6: 3300 movi r3, 0
|
|||
|
|
13f8: 6c13 mov r0, r4
|
|||
|
|
13fa: 6c57 mov r1, r5
|
|||
|
|
13fc: 6401 cmplt r0, r0
|
|||
|
|
13fe: 6009 addc r0, r2
|
|||
|
|
1400: 604d addc r1, r3
|
|||
|
|
1402: 6c83 mov r2, r0
|
|||
|
|
1404: 6cc7 mov r3, r1
|
|||
|
|
1406: 6c0b mov r0, r2
|
|||
|
|
1408: 31ff movi r1, 255
|
|||
|
|
140a: 6805 andn r0, r1
|
|||
|
|
140c: b802 st.w r0, (r14, 0x8)
|
|||
|
|
140e: b863 st.w r3, (r14, 0xc)
|
|||
|
|
1410: 07d2 br 0x13b4 // 13b4 <__divdf3+0xe4>
|
|||
|
|
1412: 3304 movi r3, 4
|
|||
|
|
1414: b868 st.w r3, (r14, 0x20)
|
|||
|
|
1416: 1808 addi r0, r14, 32
|
|||
|
|
1418: 07d3 br 0x13be // 13be <__divdf3+0xee>
|
|||
|
|
141a: 180d addi r0, r14, 52
|
|||
|
|
141c: 07d1 br 0x13be // 13be <__divdf3+0xee>
|
|||
|
|
141e: 0000 bkpt
|
|||
|
|
1420: 00004c70 .long 0x00004c70
|
|||
|
|
|
|||
|
|
00001424 <__gtdf2>:
|
|||
|
|
1424: 14d0 push r15
|
|||
|
|
1426: 142e subi r14, r14, 56
|
|||
|
|
1428: b800 st.w r0, (r14, 0x0)
|
|||
|
|
142a: b821 st.w r1, (r14, 0x4)
|
|||
|
|
142c: 6c3b mov r0, r14
|
|||
|
|
142e: 1904 addi r1, r14, 16
|
|||
|
|
1430: b863 st.w r3, (r14, 0xc)
|
|||
|
|
1432: b842 st.w r2, (r14, 0x8)
|
|||
|
|
1434: e00001fc bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1438: 1909 addi r1, r14, 36
|
|||
|
|
143a: 1802 addi r0, r14, 8
|
|||
|
|
143c: e00001f8 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1440: 9864 ld.w r3, (r14, 0x10)
|
|||
|
|
1442: 3b01 cmphsi r3, 2
|
|||
|
|
1444: 0c0a bf 0x1458 // 1458 <__gtdf2+0x34>
|
|||
|
|
1446: 9869 ld.w r3, (r14, 0x24)
|
|||
|
|
1448: 3b01 cmphsi r3, 2
|
|||
|
|
144a: 0c07 bf 0x1458 // 1458 <__gtdf2+0x34>
|
|||
|
|
144c: 1909 addi r1, r14, 36
|
|||
|
|
144e: 1804 addi r0, r14, 16
|
|||
|
|
1450: e0000250 bsr 0x18f0 // 18f0 <__fpcmp_parts_d>
|
|||
|
|
1454: 140e addi r14, r14, 56
|
|||
|
|
1456: 1490 pop r15
|
|||
|
|
1458: 3000 movi r0, 0
|
|||
|
|
145a: 2800 subi r0, 1
|
|||
|
|
145c: 140e addi r14, r14, 56
|
|||
|
|
145e: 1490 pop r15
|
|||
|
|
|
|||
|
|
00001460 <__gedf2>:
|
|||
|
|
1460: 14d0 push r15
|
|||
|
|
1462: 142e subi r14, r14, 56
|
|||
|
|
1464: b800 st.w r0, (r14, 0x0)
|
|||
|
|
1466: b821 st.w r1, (r14, 0x4)
|
|||
|
|
1468: 6c3b mov r0, r14
|
|||
|
|
146a: 1904 addi r1, r14, 16
|
|||
|
|
146c: b863 st.w r3, (r14, 0xc)
|
|||
|
|
146e: b842 st.w r2, (r14, 0x8)
|
|||
|
|
1470: e00001de bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1474: 1909 addi r1, r14, 36
|
|||
|
|
1476: 1802 addi r0, r14, 8
|
|||
|
|
1478: e00001da bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
147c: 9864 ld.w r3, (r14, 0x10)
|
|||
|
|
147e: 3b01 cmphsi r3, 2
|
|||
|
|
1480: 0c0a bf 0x1494 // 1494 <__gedf2+0x34>
|
|||
|
|
1482: 9869 ld.w r3, (r14, 0x24)
|
|||
|
|
1484: 3b01 cmphsi r3, 2
|
|||
|
|
1486: 0c07 bf 0x1494 // 1494 <__gedf2+0x34>
|
|||
|
|
1488: 1909 addi r1, r14, 36
|
|||
|
|
148a: 1804 addi r0, r14, 16
|
|||
|
|
148c: e0000232 bsr 0x18f0 // 18f0 <__fpcmp_parts_d>
|
|||
|
|
1490: 140e addi r14, r14, 56
|
|||
|
|
1492: 1490 pop r15
|
|||
|
|
1494: 3000 movi r0, 0
|
|||
|
|
1496: 2800 subi r0, 1
|
|||
|
|
1498: 140e addi r14, r14, 56
|
|||
|
|
149a: 1490 pop r15
|
|||
|
|
|
|||
|
|
0000149c <__ledf2>:
|
|||
|
|
149c: 14d0 push r15
|
|||
|
|
149e: 142e subi r14, r14, 56
|
|||
|
|
14a0: b800 st.w r0, (r14, 0x0)
|
|||
|
|
14a2: b821 st.w r1, (r14, 0x4)
|
|||
|
|
14a4: 6c3b mov r0, r14
|
|||
|
|
14a6: 1904 addi r1, r14, 16
|
|||
|
|
14a8: b863 st.w r3, (r14, 0xc)
|
|||
|
|
14aa: b842 st.w r2, (r14, 0x8)
|
|||
|
|
14ac: e00001c0 bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
14b0: 1909 addi r1, r14, 36
|
|||
|
|
14b2: 1802 addi r0, r14, 8
|
|||
|
|
14b4: e00001bc bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
14b8: 9864 ld.w r3, (r14, 0x10)
|
|||
|
|
14ba: 3b01 cmphsi r3, 2
|
|||
|
|
14bc: 0c0a bf 0x14d0 // 14d0 <__ledf2+0x34>
|
|||
|
|
14be: 9869 ld.w r3, (r14, 0x24)
|
|||
|
|
14c0: 3b01 cmphsi r3, 2
|
|||
|
|
14c2: 0c07 bf 0x14d0 // 14d0 <__ledf2+0x34>
|
|||
|
|
14c4: 1909 addi r1, r14, 36
|
|||
|
|
14c6: 1804 addi r0, r14, 16
|
|||
|
|
14c8: e0000214 bsr 0x18f0 // 18f0 <__fpcmp_parts_d>
|
|||
|
|
14cc: 140e addi r14, r14, 56
|
|||
|
|
14ce: 1490 pop r15
|
|||
|
|
14d0: 3001 movi r0, 1
|
|||
|
|
14d2: 140e addi r14, r14, 56
|
|||
|
|
14d4: 1490 pop r15
|
|||
|
|
...
|
|||
|
|
|
|||
|
|
000014d8 <__floatsidf>:
|
|||
|
|
14d8: 14d1 push r4, r15
|
|||
|
|
14da: 1425 subi r14, r14, 20
|
|||
|
|
14dc: 3303 movi r3, 3
|
|||
|
|
14de: b860 st.w r3, (r14, 0x0)
|
|||
|
|
14e0: 3840 cmpnei r0, 0
|
|||
|
|
14e2: 487f lsri r3, r0, 31
|
|||
|
|
14e4: b861 st.w r3, (r14, 0x4)
|
|||
|
|
14e6: 0808 bt 0x14f6 // 14f6 <__floatsidf+0x1e>
|
|||
|
|
14e8: 3302 movi r3, 2
|
|||
|
|
14ea: b860 st.w r3, (r14, 0x0)
|
|||
|
|
14ec: 6c3b mov r0, r14
|
|||
|
|
14ee: e00000d1 bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
14f2: 1405 addi r14, r14, 20
|
|||
|
|
14f4: 1491 pop r4, r15
|
|||
|
|
14f6: 38df btsti r0, 31
|
|||
|
|
14f8: 0812 bt 0x151c // 151c <__floatsidf+0x44>
|
|||
|
|
14fa: 6d03 mov r4, r0
|
|||
|
|
14fc: 6c13 mov r0, r4
|
|||
|
|
14fe: e00000a9 bsr 0x1650 // 1650 <__clzsi2>
|
|||
|
|
1502: 321d movi r2, 29
|
|||
|
|
1504: 6080 addu r2, r0
|
|||
|
|
1506: 2802 subi r0, 3
|
|||
|
|
1508: 38df btsti r0, 31
|
|||
|
|
150a: 0810 bt 0x152a // 152a <__floatsidf+0x52>
|
|||
|
|
150c: 7100 lsl r4, r0
|
|||
|
|
150e: 3300 movi r3, 0
|
|||
|
|
1510: b884 st.w r4, (r14, 0x10)
|
|||
|
|
1512: b863 st.w r3, (r14, 0xc)
|
|||
|
|
1514: 333c movi r3, 60
|
|||
|
|
1516: 60ca subu r3, r2
|
|||
|
|
1518: b862 st.w r3, (r14, 0x8)
|
|||
|
|
151a: 07e9 br 0x14ec // 14ec <__floatsidf+0x14>
|
|||
|
|
151c: 3380 movi r3, 128
|
|||
|
|
151e: 4378 lsli r3, r3, 24
|
|||
|
|
1520: 64c2 cmpne r0, r3
|
|||
|
|
1522: 0c0d bf 0x153c // 153c <__floatsidf+0x64>
|
|||
|
|
1524: 3400 movi r4, 0
|
|||
|
|
1526: 6102 subu r4, r0
|
|||
|
|
1528: 07ea br 0x14fc // 14fc <__floatsidf+0x24>
|
|||
|
|
152a: 311f movi r1, 31
|
|||
|
|
152c: 4c61 lsri r3, r4, 1
|
|||
|
|
152e: 604a subu r1, r2
|
|||
|
|
1530: 6c13 mov r0, r4
|
|||
|
|
1532: 70c5 lsr r3, r1
|
|||
|
|
1534: 7008 lsl r0, r2
|
|||
|
|
1536: b864 st.w r3, (r14, 0x10)
|
|||
|
|
1538: b803 st.w r0, (r14, 0xc)
|
|||
|
|
153a: 07ed br 0x1514 // 1514 <__floatsidf+0x3c>
|
|||
|
|
153c: 3000 movi r0, 0
|
|||
|
|
153e: 1022 lrw r1, 0xc1e00000 // 1544 <__floatsidf+0x6c>
|
|||
|
|
1540: 07d9 br 0x14f2 // 14f2 <__floatsidf+0x1a>
|
|||
|
|
1542: 0000 bkpt
|
|||
|
|
1544: c1e00000 .long 0xc1e00000
|
|||
|
|
|
|||
|
|
00001548 <__fixdfsi>:
|
|||
|
|
1548: 14d0 push r15
|
|||
|
|
154a: 1427 subi r14, r14, 28
|
|||
|
|
154c: b800 st.w r0, (r14, 0x0)
|
|||
|
|
154e: b821 st.w r1, (r14, 0x4)
|
|||
|
|
1550: 6c3b mov r0, r14
|
|||
|
|
1552: 1902 addi r1, r14, 8
|
|||
|
|
1554: e000016c bsr 0x182c // 182c <__unpack_d>
|
|||
|
|
1558: 9862 ld.w r3, (r14, 0x8)
|
|||
|
|
155a: 3b02 cmphsi r3, 3
|
|||
|
|
155c: 0c20 bf 0x159c // 159c <__fixdfsi+0x54>
|
|||
|
|
155e: 3b44 cmpnei r3, 4
|
|||
|
|
1560: 0c16 bf 0x158c // 158c <__fixdfsi+0x44>
|
|||
|
|
1562: 9864 ld.w r3, (r14, 0x10)
|
|||
|
|
1564: 3bdf btsti r3, 31
|
|||
|
|
1566: 081b bt 0x159c // 159c <__fixdfsi+0x54>
|
|||
|
|
1568: 3b3e cmplti r3, 31
|
|||
|
|
156a: 0c11 bf 0x158c // 158c <__fixdfsi+0x44>
|
|||
|
|
156c: 323c movi r2, 60
|
|||
|
|
156e: 5a6d subu r3, r2, r3
|
|||
|
|
1570: 3200 movi r2, 0
|
|||
|
|
1572: 2a1f subi r2, 32
|
|||
|
|
1574: 608c addu r2, r3
|
|||
|
|
1576: 3adf btsti r2, 31
|
|||
|
|
1578: 0815 bt 0x15a2 // 15a2 <__fixdfsi+0x5a>
|
|||
|
|
157a: 9806 ld.w r0, (r14, 0x18)
|
|||
|
|
157c: 7009 lsr r0, r2
|
|||
|
|
157e: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
1580: 3b40 cmpnei r3, 0
|
|||
|
|
1582: 0c0b bf 0x1598 // 1598 <__fixdfsi+0x50>
|
|||
|
|
1584: 3300 movi r3, 0
|
|||
|
|
1586: 5b01 subu r0, r3, r0
|
|||
|
|
1588: 1407 addi r14, r14, 28
|
|||
|
|
158a: 1490 pop r15
|
|||
|
|
158c: 9863 ld.w r3, (r14, 0xc)
|
|||
|
|
158e: 3b40 cmpnei r3, 0
|
|||
|
|
1590: 3000 movi r0, 0
|
|||
|
|
1592: 6001 addc r0, r0
|
|||
|
|
1594: 1068 lrw r3, 0x7fffffff // 15b4 <__fixdfsi+0x6c>
|
|||
|
|
1596: 600c addu r0, r3
|
|||
|
|
1598: 1407 addi r14, r14, 28
|
|||
|
|
159a: 1490 pop r15
|
|||
|
|
159c: 3000 movi r0, 0
|
|||
|
|
159e: 1407 addi r14, r14, 28
|
|||
|
|
15a0: 1490 pop r15
|
|||
|
|
15a2: 9846 ld.w r2, (r14, 0x18)
|
|||
|
|
15a4: 311f movi r1, 31
|
|||
|
|
15a6: 4241 lsli r2, r2, 1
|
|||
|
|
15a8: 604e subu r1, r3
|
|||
|
|
15aa: 9805 ld.w r0, (r14, 0x14)
|
|||
|
|
15ac: 7084 lsl r2, r1
|
|||
|
|
15ae: 700d lsr r0, r3
|
|||
|
|
15b0: 6c08 or r0, r2
|
|||
|
|
15b2: 07e6 br 0x157e // 157e <__fixdfsi+0x36>
|
|||
|
|
15b4: 7fffffff .long 0x7fffffff
|
|||
|
|
|
|||
|
|
000015b8 <__floatunsidf>:
|
|||
|
|
15b8: 14d2 push r4-r5, r15
|
|||
|
|
15ba: 1425 subi r14, r14, 20
|
|||
|
|
15bc: 3840 cmpnei r0, 0
|
|||
|
|
15be: 3500 movi r5, 0
|
|||
|
|
15c0: 6d03 mov r4, r0
|
|||
|
|
15c2: b8a1 st.w r5, (r14, 0x4)
|
|||
|
|
15c4: 0c15 bf 0x15ee // 15ee <__floatunsidf+0x36>
|
|||
|
|
15c6: 3303 movi r3, 3
|
|||
|
|
15c8: b860 st.w r3, (r14, 0x0)
|
|||
|
|
15ca: e0000043 bsr 0x1650 // 1650 <__clzsi2>
|
|||
|
|
15ce: 321d movi r2, 29
|
|||
|
|
15d0: 6080 addu r2, r0
|
|||
|
|
15d2: 2802 subi r0, 3
|
|||
|
|
15d4: 38df btsti r0, 31
|
|||
|
|
15d6: 0813 bt 0x15fc // 15fc <__floatunsidf+0x44>
|
|||
|
|
15d8: 7100 lsl r4, r0
|
|||
|
|
15da: b884 st.w r4, (r14, 0x10)
|
|||
|
|
15dc: b8a3 st.w r5, (r14, 0xc)
|
|||
|
|
15de: 333c movi r3, 60
|
|||
|
|
15e0: 60ca subu r3, r2
|
|||
|
|
15e2: 6c3b mov r0, r14
|
|||
|
|
15e4: b862 st.w r3, (r14, 0x8)
|
|||
|
|
15e6: e0000055 bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
15ea: 1405 addi r14, r14, 20
|
|||
|
|
15ec: 1492 pop r4-r5, r15
|
|||
|
|
15ee: 3302 movi r3, 2
|
|||
|
|
15f0: 6c3b mov r0, r14
|
|||
|
|
15f2: b860 st.w r3, (r14, 0x0)
|
|||
|
|
15f4: e000004e bsr 0x1690 // 1690 <__pack_d>
|
|||
|
|
15f8: 1405 addi r14, r14, 20
|
|||
|
|
15fa: 1492 pop r4-r5, r15
|
|||
|
|
15fc: 311f movi r1, 31
|
|||
|
|
15fe: 4c61 lsri r3, r4, 1
|
|||
|
|
1600: 604a subu r1, r2
|
|||
|
|
1602: 70c5 lsr r3, r1
|
|||
|
|
1604: 7108 lsl r4, r2
|
|||
|
|
1606: b864 st.w r3, (r14, 0x10)
|
|||
|
|
1608: b883 st.w r4, (r14, 0xc)
|
|||
|
|
160a: 07ea br 0x15de // 15de <__floatunsidf+0x26>
|
|||
|
|
|
|||
|
|
0000160c <__muldi3>:
|
|||
|
|
160c: 14c4 push r4-r7
|
|||
|
|
160e: 1421 subi r14, r14, 4
|
|||
|
|
1610: 7501 zexth r4, r0
|
|||
|
|
1612: 48b0 lsri r5, r0, 16
|
|||
|
|
1614: 75c9 zexth r7, r2
|
|||
|
|
1616: 6d83 mov r6, r0
|
|||
|
|
1618: b820 st.w r1, (r14, 0x0)
|
|||
|
|
161a: 6c13 mov r0, r4
|
|||
|
|
161c: 4a30 lsri r1, r2, 16
|
|||
|
|
161e: 7c1c mult r0, r7
|
|||
|
|
1620: 7d04 mult r4, r1
|
|||
|
|
1622: 7dd4 mult r7, r5
|
|||
|
|
1624: 611c addu r4, r7
|
|||
|
|
1626: 7d44 mult r5, r1
|
|||
|
|
1628: 4830 lsri r1, r0, 16
|
|||
|
|
162a: 6104 addu r4, r1
|
|||
|
|
162c: 65d0 cmphs r4, r7
|
|||
|
|
162e: 0804 bt 0x1636 // 1636 <__muldi3+0x2a>
|
|||
|
|
1630: 3180 movi r1, 128
|
|||
|
|
1632: 4129 lsli r1, r1, 9
|
|||
|
|
1634: 6144 addu r5, r1
|
|||
|
|
1636: 4c30 lsri r1, r4, 16
|
|||
|
|
1638: 7cd8 mult r3, r6
|
|||
|
|
163a: 6144 addu r5, r1
|
|||
|
|
163c: 6c4f mov r1, r3
|
|||
|
|
163e: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
1640: 7cc8 mult r3, r2
|
|||
|
|
1642: 4490 lsli r4, r4, 16
|
|||
|
|
1644: 604c addu r1, r3
|
|||
|
|
1646: 7401 zexth r0, r0
|
|||
|
|
1648: 6010 addu r0, r4
|
|||
|
|
164a: 6054 addu r1, r5
|
|||
|
|
164c: 1401 addi r14, r14, 4
|
|||
|
|
164e: 1484 pop r4-r7
|
|||
|
|
|
|||
|
|
00001650 <__clzsi2>:
|
|||
|
|
1650: 106d lrw r3, 0xffff // 1684 <__clzsi2+0x34>
|
|||
|
|
1652: 640c cmphs r3, r0
|
|||
|
|
1654: 0c07 bf 0x1662 // 1662 <__clzsi2+0x12>
|
|||
|
|
1656: 33ff movi r3, 255
|
|||
|
|
1658: 640c cmphs r3, r0
|
|||
|
|
165a: 0c0f bf 0x1678 // 1678 <__clzsi2+0x28>
|
|||
|
|
165c: 3320 movi r3, 32
|
|||
|
|
165e: 3200 movi r2, 0
|
|||
|
|
1660: 0406 br 0x166c // 166c <__clzsi2+0x1c>
|
|||
|
|
1662: 106a lrw r3, 0xffffff // 1688 <__clzsi2+0x38>
|
|||
|
|
1664: 640c cmphs r3, r0
|
|||
|
|
1666: 080c bt 0x167e // 167e <__clzsi2+0x2e>
|
|||
|
|
1668: 3308 movi r3, 8
|
|||
|
|
166a: 3218 movi r2, 24
|
|||
|
|
166c: 7009 lsr r0, r2
|
|||
|
|
166e: 1048 lrw r2, 0x4c84 // 168c <__clzsi2+0x3c>
|
|||
|
|
1670: 6008 addu r0, r2
|
|||
|
|
1672: 8040 ld.b r2, (r0, 0x0)
|
|||
|
|
1674: 5b09 subu r0, r3, r2
|
|||
|
|
1676: 783c jmp r15
|
|||
|
|
1678: 3318 movi r3, 24
|
|||
|
|
167a: 3208 movi r2, 8
|
|||
|
|
167c: 07f8 br 0x166c // 166c <__clzsi2+0x1c>
|
|||
|
|
167e: 3310 movi r3, 16
|
|||
|
|
1680: 3210 movi r2, 16
|
|||
|
|
1682: 07f5 br 0x166c // 166c <__clzsi2+0x1c>
|
|||
|
|
1684: 0000ffff .long 0x0000ffff
|
|||
|
|
1688: 00ffffff .long 0x00ffffff
|
|||
|
|
168c: 00004c84 .long 0x00004c84
|
|||
|
|
|
|||
|
|
00001690 <__pack_d>:
|
|||
|
|
1690: 14c4 push r4-r7
|
|||
|
|
1692: 1422 subi r14, r14, 8
|
|||
|
|
1694: 9060 ld.w r3, (r0, 0x0)
|
|||
|
|
1696: 3b01 cmphsi r3, 2
|
|||
|
|
1698: 90c3 ld.w r6, (r0, 0xc)
|
|||
|
|
169a: 90e4 ld.w r7, (r0, 0x10)
|
|||
|
|
169c: 9021 ld.w r1, (r0, 0x4)
|
|||
|
|
169e: 0c46 bf 0x172a // 172a <__pack_d+0x9a>
|
|||
|
|
16a0: 3b44 cmpnei r3, 4
|
|||
|
|
16a2: 0c40 bf 0x1722 // 1722 <__pack_d+0x92>
|
|||
|
|
16a4: 3b42 cmpnei r3, 2
|
|||
|
|
16a6: 0c27 bf 0x16f4 // 16f4 <__pack_d+0x64>
|
|||
|
|
16a8: 6cdb mov r3, r6
|
|||
|
|
16aa: 6cdc or r3, r7
|
|||
|
|
16ac: 3b40 cmpnei r3, 0
|
|||
|
|
16ae: 0c23 bf 0x16f4 // 16f4 <__pack_d+0x64>
|
|||
|
|
16b0: 9062 ld.w r3, (r0, 0x8)
|
|||
|
|
16b2: 125a lrw r2, 0xfffffc02 // 1818 <__pack_d+0x188>
|
|||
|
|
16b4: 648d cmplt r3, r2
|
|||
|
|
16b6: 0855 bt 0x1760 // 1760 <__pack_d+0xd0>
|
|||
|
|
16b8: 1259 lrw r2, 0x3ff // 181c <__pack_d+0x18c>
|
|||
|
|
16ba: 64c9 cmplt r2, r3
|
|||
|
|
16bc: 0833 bt 0x1722 // 1722 <__pack_d+0x92>
|
|||
|
|
16be: 34ff movi r4, 255
|
|||
|
|
16c0: 3500 movi r5, 0
|
|||
|
|
16c2: 6918 and r4, r6
|
|||
|
|
16c4: 695c and r5, r7
|
|||
|
|
16c6: 3280 movi r2, 128
|
|||
|
|
16c8: 6492 cmpne r4, r2
|
|||
|
|
16ca: 0c3f bf 0x1748 // 1748 <__pack_d+0xb8>
|
|||
|
|
16cc: 347f movi r4, 127
|
|||
|
|
16ce: 3500 movi r5, 0
|
|||
|
|
16d0: 6599 cmplt r6, r6
|
|||
|
|
16d2: 6191 addc r6, r4
|
|||
|
|
16d4: 61d5 addc r7, r5
|
|||
|
|
16d6: 1253 lrw r2, 0x1fffffff // 1820 <__pack_d+0x190>
|
|||
|
|
16d8: 65c8 cmphs r2, r7
|
|||
|
|
16da: 0c1a bf 0x170e // 170e <__pack_d+0x7e>
|
|||
|
|
16dc: 1290 lrw r4, 0x3ff // 181c <__pack_d+0x18c>
|
|||
|
|
16de: 610c addu r4, r3
|
|||
|
|
16e0: 4718 lsli r0, r7, 24
|
|||
|
|
16e2: 4f68 lsri r3, r7, 8
|
|||
|
|
16e4: 4e48 lsri r2, r6, 8
|
|||
|
|
16e6: 6c80 or r2, r0
|
|||
|
|
16e8: 430c lsli r0, r3, 12
|
|||
|
|
16ea: 486c lsri r3, r0, 12
|
|||
|
|
16ec: 120e lrw r0, 0x7ff // 1824 <__pack_d+0x194>
|
|||
|
|
16ee: 6d4b mov r5, r2
|
|||
|
|
16f0: 6900 and r4, r0
|
|||
|
|
16f2: 0404 br 0x16fa // 16fa <__pack_d+0x6a>
|
|||
|
|
16f4: 3400 movi r4, 0
|
|||
|
|
16f6: 3200 movi r2, 0
|
|||
|
|
16f8: 3300 movi r3, 0
|
|||
|
|
16fa: 430c lsli r0, r3, 12
|
|||
|
|
16fc: 480c lsri r0, r0, 12
|
|||
|
|
16fe: 4474 lsli r3, r4, 20
|
|||
|
|
1700: 419f lsli r4, r1, 31
|
|||
|
|
1702: 6c43 mov r1, r0
|
|||
|
|
1704: 6c4c or r1, r3
|
|||
|
|
1706: 6c50 or r1, r4
|
|||
|
|
1708: 6c0b mov r0, r2
|
|||
|
|
170a: 1402 addi r14, r14, 8
|
|||
|
|
170c: 1484 pop r4-r7
|
|||
|
|
170e: 479f lsli r4, r7, 31
|
|||
|
|
1710: 4e01 lsri r0, r6, 1
|
|||
|
|
1712: 6d00 or r4, r0
|
|||
|
|
1714: 6d93 mov r6, r4
|
|||
|
|
1716: 3480 movi r4, 128
|
|||
|
|
1718: 4f41 lsri r2, r7, 1
|
|||
|
|
171a: 4483 lsli r4, r4, 3
|
|||
|
|
171c: 6dcb mov r7, r2
|
|||
|
|
171e: 610c addu r4, r3
|
|||
|
|
1720: 07e0 br 0x16e0 // 16e0 <__pack_d+0x50>
|
|||
|
|
1722: 1281 lrw r4, 0x7ff // 1824 <__pack_d+0x194>
|
|||
|
|
1724: 3200 movi r2, 0
|
|||
|
|
1726: 3300 movi r3, 0
|
|||
|
|
1728: 07e9 br 0x16fa // 16fa <__pack_d+0x6a>
|
|||
|
|
172a: 4e08 lsri r0, r6, 8
|
|||
|
|
172c: 4798 lsli r4, r7, 24
|
|||
|
|
172e: 6d00 or r4, r0
|
|||
|
|
1730: 3580 movi r5, 128
|
|||
|
|
1732: 4705 lsli r0, r7, 5
|
|||
|
|
1734: 6c93 mov r2, r4
|
|||
|
|
1736: 486d lsri r3, r0, 13
|
|||
|
|
1738: 3400 movi r4, 0
|
|||
|
|
173a: 45ac lsli r5, r5, 12
|
|||
|
|
173c: 6c90 or r2, r4
|
|||
|
|
173e: 6cd4 or r3, r5
|
|||
|
|
1740: 430c lsli r0, r3, 12
|
|||
|
|
1742: 486c lsri r3, r0, 12
|
|||
|
|
1744: 1198 lrw r4, 0x7ff // 1824 <__pack_d+0x194>
|
|||
|
|
1746: 07da br 0x16fa // 16fa <__pack_d+0x6a>
|
|||
|
|
1748: 3d40 cmpnei r5, 0
|
|||
|
|
174a: 0bc1 bt 0x16cc // 16cc <__pack_d+0x3c>
|
|||
|
|
174c: 4241 lsli r2, r2, 1
|
|||
|
|
174e: 6898 and r2, r6
|
|||
|
|
1750: 3a40 cmpnei r2, 0
|
|||
|
|
1752: 0fc2 bf 0x16d6 // 16d6 <__pack_d+0x46>
|
|||
|
|
1754: 3480 movi r4, 128
|
|||
|
|
1756: 3500 movi r5, 0
|
|||
|
|
1758: 6599 cmplt r6, r6
|
|||
|
|
175a: 6191 addc r6, r4
|
|||
|
|
175c: 61d5 addc r7, r5
|
|||
|
|
175e: 07bc br 0x16d6 // 16d6 <__pack_d+0x46>
|
|||
|
|
1760: 5a6d subu r3, r2, r3
|
|||
|
|
1762: 3238 movi r2, 56
|
|||
|
|
1764: 64c9 cmplt r2, r3
|
|||
|
|
1766: 0bc7 bt 0x16f4 // 16f4 <__pack_d+0x64>
|
|||
|
|
1768: 3200 movi r2, 0
|
|||
|
|
176a: 2a1f subi r2, 32
|
|||
|
|
176c: 608c addu r2, r3
|
|||
|
|
176e: 3adf btsti r2, 31
|
|||
|
|
1770: 0848 bt 0x1800 // 1800 <__pack_d+0x170>
|
|||
|
|
1772: 6c1f mov r0, r7
|
|||
|
|
1774: 7009 lsr r0, r2
|
|||
|
|
1776: b800 st.w r0, (r14, 0x0)
|
|||
|
|
1778: 3000 movi r0, 0
|
|||
|
|
177a: b801 st.w r0, (r14, 0x4)
|
|||
|
|
177c: 3adf btsti r2, 31
|
|||
|
|
177e: 083c bt 0x17f6 // 17f6 <__pack_d+0x166>
|
|||
|
|
1780: 3301 movi r3, 1
|
|||
|
|
1782: 70c8 lsl r3, r2
|
|||
|
|
1784: 6d4f mov r5, r3
|
|||
|
|
1786: 3300 movi r3, 0
|
|||
|
|
1788: 6d0f mov r4, r3
|
|||
|
|
178a: 3200 movi r2, 0
|
|||
|
|
178c: 3300 movi r3, 0
|
|||
|
|
178e: 2a00 subi r2, 1
|
|||
|
|
1790: 2b00 subi r3, 1
|
|||
|
|
1792: 6511 cmplt r4, r4
|
|||
|
|
1794: 6109 addc r4, r2
|
|||
|
|
1796: 614d addc r5, r3
|
|||
|
|
1798: 6990 and r6, r4
|
|||
|
|
179a: 69d4 and r7, r5
|
|||
|
|
179c: 6d9c or r6, r7
|
|||
|
|
179e: 3e40 cmpnei r6, 0
|
|||
|
|
17a0: 3000 movi r0, 0
|
|||
|
|
17a2: 6001 addc r0, r0
|
|||
|
|
17a4: 6c83 mov r2, r0
|
|||
|
|
17a6: 3300 movi r3, 0
|
|||
|
|
17a8: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
17aa: 98a1 ld.w r5, (r14, 0x4)
|
|||
|
|
17ac: 6d08 or r4, r2
|
|||
|
|
17ae: 6d4c or r5, r3
|
|||
|
|
17b0: 32ff movi r2, 255
|
|||
|
|
17b2: 3300 movi r3, 0
|
|||
|
|
17b4: 6890 and r2, r4
|
|||
|
|
17b6: 68d4 and r3, r5
|
|||
|
|
17b8: 3080 movi r0, 128
|
|||
|
|
17ba: 640a cmpne r2, r0
|
|||
|
|
17bc: 081b bt 0x17f2 // 17f2 <__pack_d+0x162>
|
|||
|
|
17be: 3b40 cmpnei r3, 0
|
|||
|
|
17c0: 0819 bt 0x17f2 // 17f2 <__pack_d+0x162>
|
|||
|
|
17c2: 3380 movi r3, 128
|
|||
|
|
17c4: 4361 lsli r3, r3, 1
|
|||
|
|
17c6: 68d0 and r3, r4
|
|||
|
|
17c8: 3b40 cmpnei r3, 0
|
|||
|
|
17ca: 0c06 bf 0x17d6 // 17d6 <__pack_d+0x146>
|
|||
|
|
17cc: 3280 movi r2, 128
|
|||
|
|
17ce: 3300 movi r3, 0
|
|||
|
|
17d0: 6511 cmplt r4, r4
|
|||
|
|
17d2: 6109 addc r4, r2
|
|||
|
|
17d4: 614d addc r5, r3
|
|||
|
|
17d6: 4518 lsli r0, r5, 24
|
|||
|
|
17d8: 4c48 lsri r2, r4, 8
|
|||
|
|
17da: 4d68 lsri r3, r5, 8
|
|||
|
|
17dc: 1093 lrw r4, 0xfffffff // 1828 <__pack_d+0x198>
|
|||
|
|
17de: 6c80 or r2, r0
|
|||
|
|
17e0: 6550 cmphs r4, r5
|
|||
|
|
17e2: 430c lsli r0, r3, 12
|
|||
|
|
17e4: 486c lsri r3, r0, 12
|
|||
|
|
17e6: 3001 movi r0, 1
|
|||
|
|
17e8: 0c02 bf 0x17ec // 17ec <__pack_d+0x15c>
|
|||
|
|
17ea: 3000 movi r0, 0
|
|||
|
|
17ec: 108e lrw r4, 0x7ff // 1824 <__pack_d+0x194>
|
|||
|
|
17ee: 6900 and r4, r0
|
|||
|
|
17f0: 0785 br 0x16fa // 16fa <__pack_d+0x6a>
|
|||
|
|
17f2: 327f movi r2, 127
|
|||
|
|
17f4: 07ed br 0x17ce // 17ce <__pack_d+0x13e>
|
|||
|
|
17f6: 3201 movi r2, 1
|
|||
|
|
17f8: 708c lsl r2, r3
|
|||
|
|
17fa: 3500 movi r5, 0
|
|||
|
|
17fc: 6d0b mov r4, r2
|
|||
|
|
17fe: 07c6 br 0x178a // 178a <__pack_d+0xfa>
|
|||
|
|
1800: 341f movi r4, 31
|
|||
|
|
1802: 610e subu r4, r3
|
|||
|
|
1804: 4701 lsli r0, r7, 1
|
|||
|
|
1806: 7010 lsl r0, r4
|
|||
|
|
1808: 6d1b mov r4, r6
|
|||
|
|
180a: 710d lsr r4, r3
|
|||
|
|
180c: 6d00 or r4, r0
|
|||
|
|
180e: 6c1f mov r0, r7
|
|||
|
|
1810: 700d lsr r0, r3
|
|||
|
|
1812: b880 st.w r4, (r14, 0x0)
|
|||
|
|
1814: b801 st.w r0, (r14, 0x4)
|
|||
|
|
1816: 07b3 br 0x177c // 177c <__pack_d+0xec>
|
|||
|
|
1818: fffffc02 .long 0xfffffc02
|
|||
|
|
181c: 000003ff .long 0x000003ff
|
|||
|
|
1820: 1fffffff .long 0x1fffffff
|
|||
|
|
1824: 000007ff .long 0x000007ff
|
|||
|
|
1828: 0fffffff .long 0x0fffffff
|
|||
|
|
|
|||
|
|
0000182c <__unpack_d>:
|
|||
|
|
182c: 1423 subi r14, r14, 12
|
|||
|
|
182e: b880 st.w r4, (r14, 0x0)
|
|||
|
|
1830: b8c1 st.w r6, (r14, 0x4)
|
|||
|
|
1832: b8e2 st.w r7, (r14, 0x8)
|
|||
|
|
1834: 8843 ld.h r2, (r0, 0x6)
|
|||
|
|
1836: 4251 lsli r2, r2, 17
|
|||
|
|
1838: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
183a: 9080 ld.w r4, (r0, 0x0)
|
|||
|
|
183c: 4a55 lsri r2, r2, 21
|
|||
|
|
183e: 8007 ld.b r0, (r0, 0x7)
|
|||
|
|
1840: 436c lsli r3, r3, 12
|
|||
|
|
1842: 4807 lsri r0, r0, 7
|
|||
|
|
1844: 3a40 cmpnei r2, 0
|
|||
|
|
1846: 4b6c lsri r3, r3, 12
|
|||
|
|
1848: b101 st.w r0, (r1, 0x4)
|
|||
|
|
184a: 0819 bt 0x187c // 187c <__unpack_d+0x50>
|
|||
|
|
184c: 6c93 mov r2, r4
|
|||
|
|
184e: 6c8c or r2, r3
|
|||
|
|
1850: 3a40 cmpnei r2, 0
|
|||
|
|
1852: 0c2d bf 0x18ac // 18ac <__unpack_d+0x80>
|
|||
|
|
1854: 4c58 lsri r2, r4, 24
|
|||
|
|
1856: 4368 lsli r3, r3, 8
|
|||
|
|
1858: 6cc8 or r3, r2
|
|||
|
|
185a: 3203 movi r2, 3
|
|||
|
|
185c: 4408 lsli r0, r4, 8
|
|||
|
|
185e: b140 st.w r2, (r1, 0x0)
|
|||
|
|
1860: 1181 lrw r4, 0xfffffc01 // 18e4 <__unpack_d+0xb8>
|
|||
|
|
1862: 11c2 lrw r6, 0xfffffff // 18e8 <__unpack_d+0xbc>
|
|||
|
|
1864: 485f lsri r2, r0, 31
|
|||
|
|
1866: 4361 lsli r3, r3, 1
|
|||
|
|
1868: 6cc8 or r3, r2
|
|||
|
|
186a: 64d8 cmphs r6, r3
|
|||
|
|
186c: 6c93 mov r2, r4
|
|||
|
|
186e: 4001 lsli r0, r0, 1
|
|||
|
|
1870: 2c00 subi r4, 1
|
|||
|
|
1872: 0bf9 bt 0x1864 // 1864 <__unpack_d+0x38>
|
|||
|
|
1874: b142 st.w r2, (r1, 0x8)
|
|||
|
|
1876: b103 st.w r0, (r1, 0xc)
|
|||
|
|
1878: b164 st.w r3, (r1, 0x10)
|
|||
|
|
187a: 0414 br 0x18a2 // 18a2 <__unpack_d+0x76>
|
|||
|
|
187c: 101c lrw r0, 0x7ff // 18ec <__unpack_d+0xc0>
|
|||
|
|
187e: 640a cmpne r2, r0
|
|||
|
|
1880: 0c19 bf 0x18b2 // 18b2 <__unpack_d+0x86>
|
|||
|
|
1882: 1019 lrw r0, 0xfffffc01 // 18e4 <__unpack_d+0xb8>
|
|||
|
|
1884: 6080 addu r2, r0
|
|||
|
|
1886: b142 st.w r2, (r1, 0x8)
|
|||
|
|
1888: 3203 movi r2, 3
|
|||
|
|
188a: 43e8 lsli r7, r3, 8
|
|||
|
|
188c: b140 st.w r2, (r1, 0x0)
|
|||
|
|
188e: 3380 movi r3, 128
|
|||
|
|
1890: 4c58 lsri r2, r4, 24
|
|||
|
|
1892: 6dc8 or r7, r2
|
|||
|
|
1894: 44c8 lsli r6, r4, 8
|
|||
|
|
1896: 3200 movi r2, 0
|
|||
|
|
1898: 4375 lsli r3, r3, 21
|
|||
|
|
189a: 6d88 or r6, r2
|
|||
|
|
189c: 6dcc or r7, r3
|
|||
|
|
189e: b1c3 st.w r6, (r1, 0xc)
|
|||
|
|
18a0: b1e4 st.w r7, (r1, 0x10)
|
|||
|
|
18a2: 98e2 ld.w r7, (r14, 0x8)
|
|||
|
|
18a4: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
18a6: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
18a8: 1403 addi r14, r14, 12
|
|||
|
|
18aa: 783c jmp r15
|
|||
|
|
18ac: 3302 movi r3, 2
|
|||
|
|
18ae: b160 st.w r3, (r1, 0x0)
|
|||
|
|
18b0: 07f9 br 0x18a2 // 18a2 <__unpack_d+0x76>
|
|||
|
|
18b2: 6c93 mov r2, r4
|
|||
|
|
18b4: 6c8c or r2, r3
|
|||
|
|
18b6: 3a40 cmpnei r2, 0
|
|||
|
|
18b8: 0c10 bf 0x18d8 // 18d8 <__unpack_d+0xac>
|
|||
|
|
18ba: 3280 movi r2, 128
|
|||
|
|
18bc: 424c lsli r2, r2, 12
|
|||
|
|
18be: 688c and r2, r3
|
|||
|
|
18c0: 3a40 cmpnei r2, 0
|
|||
|
|
18c2: 0c0e bf 0x18de // 18de <__unpack_d+0xb2>
|
|||
|
|
18c4: 3201 movi r2, 1
|
|||
|
|
18c6: b140 st.w r2, (r1, 0x0)
|
|||
|
|
18c8: 4c58 lsri r2, r4, 24
|
|||
|
|
18ca: 4368 lsli r3, r3, 8
|
|||
|
|
18cc: 6cc8 or r3, r2
|
|||
|
|
18ce: 4408 lsli r0, r4, 8
|
|||
|
|
18d0: 3b9b bclri r3, 27
|
|||
|
|
18d2: b103 st.w r0, (r1, 0xc)
|
|||
|
|
18d4: b164 st.w r3, (r1, 0x10)
|
|||
|
|
18d6: 07e6 br 0x18a2 // 18a2 <__unpack_d+0x76>
|
|||
|
|
18d8: 3304 movi r3, 4
|
|||
|
|
18da: b160 st.w r3, (r1, 0x0)
|
|||
|
|
18dc: 07e3 br 0x18a2 // 18a2 <__unpack_d+0x76>
|
|||
|
|
18de: b140 st.w r2, (r1, 0x0)
|
|||
|
|
18e0: 07f4 br 0x18c8 // 18c8 <__unpack_d+0x9c>
|
|||
|
|
18e2: 0000 bkpt
|
|||
|
|
18e4: fffffc01 .long 0xfffffc01
|
|||
|
|
18e8: 0fffffff .long 0x0fffffff
|
|||
|
|
18ec: 000007ff .long 0x000007ff
|
|||
|
|
|
|||
|
|
000018f0 <__fpcmp_parts_d>:
|
|||
|
|
18f0: 14c1 push r4
|
|||
|
|
18f2: 9060 ld.w r3, (r0, 0x0)
|
|||
|
|
18f4: 3b01 cmphsi r3, 2
|
|||
|
|
18f6: 0c12 bf 0x191a // 191a <__fpcmp_parts_d+0x2a>
|
|||
|
|
18f8: 9140 ld.w r2, (r1, 0x0)
|
|||
|
|
18fa: 3a01 cmphsi r2, 2
|
|||
|
|
18fc: 0c0f bf 0x191a // 191a <__fpcmp_parts_d+0x2a>
|
|||
|
|
18fe: 3b44 cmpnei r3, 4
|
|||
|
|
1900: 0c17 bf 0x192e // 192e <__fpcmp_parts_d+0x3e>
|
|||
|
|
1902: 3a44 cmpnei r2, 4
|
|||
|
|
1904: 0c0f bf 0x1922 // 1922 <__fpcmp_parts_d+0x32>
|
|||
|
|
1906: 3b42 cmpnei r3, 2
|
|||
|
|
1908: 0c0b bf 0x191e // 191e <__fpcmp_parts_d+0x2e>
|
|||
|
|
190a: 3a42 cmpnei r2, 2
|
|||
|
|
190c: 0c13 bf 0x1932 // 1932 <__fpcmp_parts_d+0x42>
|
|||
|
|
190e: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
1910: 9141 ld.w r2, (r1, 0x4)
|
|||
|
|
1912: 648e cmpne r3, r2
|
|||
|
|
1914: 0c14 bf 0x193c // 193c <__fpcmp_parts_d+0x4c>
|
|||
|
|
1916: 3b40 cmpnei r3, 0
|
|||
|
|
1918: 0808 bt 0x1928 // 1928 <__fpcmp_parts_d+0x38>
|
|||
|
|
191a: 3001 movi r0, 1
|
|||
|
|
191c: 1481 pop r4
|
|||
|
|
191e: 3a42 cmpnei r2, 2
|
|||
|
|
1920: 0c28 bf 0x1970 // 1970 <__fpcmp_parts_d+0x80>
|
|||
|
|
1922: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
1924: 3b40 cmpnei r3, 0
|
|||
|
|
1926: 0bfa bt 0x191a // 191a <__fpcmp_parts_d+0x2a>
|
|||
|
|
1928: 3000 movi r0, 0
|
|||
|
|
192a: 2800 subi r0, 1
|
|||
|
|
192c: 1481 pop r4
|
|||
|
|
192e: 3a44 cmpnei r2, 4
|
|||
|
|
1930: 0c22 bf 0x1974 // 1974 <__fpcmp_parts_d+0x84>
|
|||
|
|
1932: 9061 ld.w r3, (r0, 0x4)
|
|||
|
|
1934: 3b40 cmpnei r3, 0
|
|||
|
|
1936: 0bf9 bt 0x1928 // 1928 <__fpcmp_parts_d+0x38>
|
|||
|
|
1938: 3001 movi r0, 1
|
|||
|
|
193a: 07f1 br 0x191c // 191c <__fpcmp_parts_d+0x2c>
|
|||
|
|
193c: 9082 ld.w r4, (r0, 0x8)
|
|||
|
|
193e: 9142 ld.w r2, (r1, 0x8)
|
|||
|
|
1940: 6509 cmplt r2, r4
|
|||
|
|
1942: 0bea bt 0x1916 // 1916 <__fpcmp_parts_d+0x26>
|
|||
|
|
1944: 6491 cmplt r4, r2
|
|||
|
|
1946: 080d bt 0x1960 // 1960 <__fpcmp_parts_d+0x70>
|
|||
|
|
1948: 9044 ld.w r2, (r0, 0x10)
|
|||
|
|
194a: 9083 ld.w r4, (r0, 0xc)
|
|||
|
|
194c: 9103 ld.w r0, (r1, 0xc)
|
|||
|
|
194e: 9124 ld.w r1, (r1, 0x10)
|
|||
|
|
1950: 6484 cmphs r1, r2
|
|||
|
|
1952: 0fe2 bf 0x1916 // 1916 <__fpcmp_parts_d+0x26>
|
|||
|
|
1954: 644a cmpne r2, r1
|
|||
|
|
1956: 0803 bt 0x195c // 195c <__fpcmp_parts_d+0x6c>
|
|||
|
|
1958: 6500 cmphs r0, r4
|
|||
|
|
195a: 0fde bf 0x1916 // 1916 <__fpcmp_parts_d+0x26>
|
|||
|
|
195c: 6448 cmphs r2, r1
|
|||
|
|
195e: 0805 bt 0x1968 // 1968 <__fpcmp_parts_d+0x78>
|
|||
|
|
1960: 3b40 cmpnei r3, 0
|
|||
|
|
1962: 0fe3 bf 0x1928 // 1928 <__fpcmp_parts_d+0x38>
|
|||
|
|
1964: 3001 movi r0, 1
|
|||
|
|
1966: 07db br 0x191c // 191c <__fpcmp_parts_d+0x2c>
|
|||
|
|
1968: 6486 cmpne r1, r2
|
|||
|
|
196a: 0803 bt 0x1970 // 1970 <__fpcmp_parts_d+0x80>
|
|||
|
|
196c: 6410 cmphs r4, r0
|
|||
|
|
196e: 0ff9 bf 0x1960 // 1960 <__fpcmp_parts_d+0x70>
|
|||
|
|
1970: 3000 movi r0, 0
|
|||
|
|
1972: 1481 pop r4
|
|||
|
|
1974: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
1976: 9041 ld.w r2, (r0, 0x4)
|
|||
|
|
1978: 5b09 subu r0, r3, r2
|
|||
|
|
197a: 1481 pop r4
|
|||
|
|
|
|||
|
|
0000197c <__memset_fast>:
|
|||
|
|
197c: 14c3 push r4-r6
|
|||
|
|
197e: 7444 zextb r1, r1
|
|||
|
|
1980: 3a40 cmpnei r2, 0
|
|||
|
|
1982: 0c1f bf 0x19c0 // 19c0 <__memset_fast+0x44>
|
|||
|
|
1984: 6d43 mov r5, r0
|
|||
|
|
1986: 6d03 mov r4, r0
|
|||
|
|
1988: 3603 movi r6, 3
|
|||
|
|
198a: 6918 and r4, r6
|
|||
|
|
198c: 3c40 cmpnei r4, 0
|
|||
|
|
198e: 0c1a bf 0x19c2 // 19c2 <__memset_fast+0x46>
|
|||
|
|
1990: a520 st.b r1, (r5, 0x0)
|
|||
|
|
1992: 2a00 subi r2, 1
|
|||
|
|
1994: 3a40 cmpnei r2, 0
|
|||
|
|
1996: 0c15 bf 0x19c0 // 19c0 <__memset_fast+0x44>
|
|||
|
|
1998: 2500 addi r5, 1
|
|||
|
|
199a: 6d17 mov r4, r5
|
|||
|
|
199c: 3603 movi r6, 3
|
|||
|
|
199e: 6918 and r4, r6
|
|||
|
|
19a0: 3c40 cmpnei r4, 0
|
|||
|
|
19a2: 0c10 bf 0x19c2 // 19c2 <__memset_fast+0x46>
|
|||
|
|
19a4: a520 st.b r1, (r5, 0x0)
|
|||
|
|
19a6: 2a00 subi r2, 1
|
|||
|
|
19a8: 3a40 cmpnei r2, 0
|
|||
|
|
19aa: 0c0b bf 0x19c0 // 19c0 <__memset_fast+0x44>
|
|||
|
|
19ac: 2500 addi r5, 1
|
|||
|
|
19ae: 6d17 mov r4, r5
|
|||
|
|
19b0: 3603 movi r6, 3
|
|||
|
|
19b2: 6918 and r4, r6
|
|||
|
|
19b4: 3c40 cmpnei r4, 0
|
|||
|
|
19b6: 0c06 bf 0x19c2 // 19c2 <__memset_fast+0x46>
|
|||
|
|
19b8: a520 st.b r1, (r5, 0x0)
|
|||
|
|
19ba: 2a00 subi r2, 1
|
|||
|
|
19bc: 2500 addi r5, 1
|
|||
|
|
19be: 0402 br 0x19c2 // 19c2 <__memset_fast+0x46>
|
|||
|
|
19c0: 1483 pop r4-r6
|
|||
|
|
19c2: 4168 lsli r3, r1, 8
|
|||
|
|
19c4: 6c4c or r1, r3
|
|||
|
|
19c6: 4170 lsli r3, r1, 16
|
|||
|
|
19c8: 6c4c or r1, r3
|
|||
|
|
19ca: 3a2f cmplti r2, 16
|
|||
|
|
19cc: 0809 bt 0x19de // 19de <__memset_fast+0x62>
|
|||
|
|
19ce: b520 st.w r1, (r5, 0x0)
|
|||
|
|
19d0: b521 st.w r1, (r5, 0x4)
|
|||
|
|
19d2: b522 st.w r1, (r5, 0x8)
|
|||
|
|
19d4: b523 st.w r1, (r5, 0xc)
|
|||
|
|
19d6: 2a0f subi r2, 16
|
|||
|
|
19d8: 250f addi r5, 16
|
|||
|
|
19da: 3a2f cmplti r2, 16
|
|||
|
|
19dc: 0ff9 bf 0x19ce // 19ce <__memset_fast+0x52>
|
|||
|
|
19de: 3a23 cmplti r2, 4
|
|||
|
|
19e0: 0806 bt 0x19ec // 19ec <__memset_fast+0x70>
|
|||
|
|
19e2: 2a03 subi r2, 4
|
|||
|
|
19e4: b520 st.w r1, (r5, 0x0)
|
|||
|
|
19e6: 2503 addi r5, 4
|
|||
|
|
19e8: 3a23 cmplti r2, 4
|
|||
|
|
19ea: 0ffc bf 0x19e2 // 19e2 <__memset_fast+0x66>
|
|||
|
|
19ec: 3a40 cmpnei r2, 0
|
|||
|
|
19ee: 0fe9 bf 0x19c0 // 19c0 <__memset_fast+0x44>
|
|||
|
|
19f0: 2a00 subi r2, 1
|
|||
|
|
19f2: a520 st.b r1, (r5, 0x0)
|
|||
|
|
19f4: 3a40 cmpnei r2, 0
|
|||
|
|
19f6: 0fe5 bf 0x19c0 // 19c0 <__memset_fast+0x44>
|
|||
|
|
19f8: 2a00 subi r2, 1
|
|||
|
|
19fa: a521 st.b r1, (r5, 0x1)
|
|||
|
|
19fc: 3a40 cmpnei r2, 0
|
|||
|
|
19fe: 0fe1 bf 0x19c0 // 19c0 <__memset_fast+0x44>
|
|||
|
|
1a00: a522 st.b r1, (r5, 0x2)
|
|||
|
|
1a02: 1483 pop r4-r6
|
|||
|
|
|
|||
|
|
00001a04 <__memcpy_fast>:
|
|||
|
|
1a04: 14c3 push r4-r6
|
|||
|
|
1a06: 6d83 mov r6, r0
|
|||
|
|
1a08: 6d07 mov r4, r1
|
|||
|
|
1a0a: 6d18 or r4, r6
|
|||
|
|
1a0c: 3303 movi r3, 3
|
|||
|
|
1a0e: 690c and r4, r3
|
|||
|
|
1a10: 3c40 cmpnei r4, 0
|
|||
|
|
1a12: 0c0b bf 0x1a28 // 1a28 <__memcpy_fast+0x24>
|
|||
|
|
1a14: 3a40 cmpnei r2, 0
|
|||
|
|
1a16: 0c08 bf 0x1a26 // 1a26 <__memcpy_fast+0x22>
|
|||
|
|
1a18: 8160 ld.b r3, (r1, 0x0)
|
|||
|
|
1a1a: 2100 addi r1, 1
|
|||
|
|
1a1c: 2a00 subi r2, 1
|
|||
|
|
1a1e: a660 st.b r3, (r6, 0x0)
|
|||
|
|
1a20: 2600 addi r6, 1
|
|||
|
|
1a22: 3a40 cmpnei r2, 0
|
|||
|
|
1a24: 0bfa bt 0x1a18 // 1a18 <__memcpy_fast+0x14>
|
|||
|
|
1a26: 1483 pop r4-r6
|
|||
|
|
1a28: 3a2f cmplti r2, 16
|
|||
|
|
1a2a: 080e bt 0x1a46 // 1a46 <__memcpy_fast+0x42>
|
|||
|
|
1a2c: 91a0 ld.w r5, (r1, 0x0)
|
|||
|
|
1a2e: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
1a30: 9182 ld.w r4, (r1, 0x8)
|
|||
|
|
1a32: b6a0 st.w r5, (r6, 0x0)
|
|||
|
|
1a34: 91a3 ld.w r5, (r1, 0xc)
|
|||
|
|
1a36: b661 st.w r3, (r6, 0x4)
|
|||
|
|
1a38: b682 st.w r4, (r6, 0x8)
|
|||
|
|
1a3a: b6a3 st.w r5, (r6, 0xc)
|
|||
|
|
1a3c: 2a0f subi r2, 16
|
|||
|
|
1a3e: 210f addi r1, 16
|
|||
|
|
1a40: 260f addi r6, 16
|
|||
|
|
1a42: 3a2f cmplti r2, 16
|
|||
|
|
1a44: 0ff4 bf 0x1a2c // 1a2c <__memcpy_fast+0x28>
|
|||
|
|
1a46: 3a23 cmplti r2, 4
|
|||
|
|
1a48: 0808 bt 0x1a58 // 1a58 <__memcpy_fast+0x54>
|
|||
|
|
1a4a: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
1a4c: 2a03 subi r2, 4
|
|||
|
|
1a4e: 2103 addi r1, 4
|
|||
|
|
1a50: b660 st.w r3, (r6, 0x0)
|
|||
|
|
1a52: 2603 addi r6, 4
|
|||
|
|
1a54: 3a23 cmplti r2, 4
|
|||
|
|
1a56: 0ffa bf 0x1a4a // 1a4a <__memcpy_fast+0x46>
|
|||
|
|
1a58: 3a40 cmpnei r2, 0
|
|||
|
|
1a5a: 0fe6 bf 0x1a26 // 1a26 <__memcpy_fast+0x22>
|
|||
|
|
1a5c: 8160 ld.b r3, (r1, 0x0)
|
|||
|
|
1a5e: 2100 addi r1, 1
|
|||
|
|
1a60: 2a00 subi r2, 1
|
|||
|
|
1a62: a660 st.b r3, (r6, 0x0)
|
|||
|
|
1a64: 2600 addi r6, 1
|
|||
|
|
1a66: 07f9 br 0x1a58 // 1a58 <__memcpy_fast+0x54>
|
|||
|
|
|
|||
|
|
00001a68 <__GI_strncmp>:
|
|||
|
|
1a68: 14c1 push r4
|
|||
|
|
1a6a: 6cc3 mov r3, r0
|
|||
|
|
1a6c: 6080 addu r2, r0
|
|||
|
|
1a6e: 040c br 0x1a86 // 1a86 <__GI_strncmp+0x1e>
|
|||
|
|
1a70: 8380 ld.b r4, (r3, 0x0)
|
|||
|
|
1a72: 8100 ld.b r0, (r1, 0x0)
|
|||
|
|
1a74: 6012 subu r0, r4
|
|||
|
|
1a76: 6c02 nor r0, r0
|
|||
|
|
1a78: 2000 addi r0, 1
|
|||
|
|
1a7a: 3840 cmpnei r0, 0
|
|||
|
|
1a7c: 0808 bt 0x1a8c // 1a8c <__GI_strncmp+0x24>
|
|||
|
|
1a7e: 3c40 cmpnei r4, 0
|
|||
|
|
1a80: 0c06 bf 0x1a8c // 1a8c <__GI_strncmp+0x24>
|
|||
|
|
1a82: 2300 addi r3, 1
|
|||
|
|
1a84: 2100 addi r1, 1
|
|||
|
|
1a86: 648c cmphs r3, r2
|
|||
|
|
1a88: 0ff4 bf 0x1a70 // 1a70 <__GI_strncmp+0x8>
|
|||
|
|
1a8a: 3000 movi r0, 0
|
|||
|
|
1a8c: 1481 pop r4
|
|||
|
|
|
|||
|
|
Disassembly of section .text.__main:
|
|||
|
|
|
|||
|
|
00001a90 <__main>:
|
|||
|
|
extern char _bss_start[];
|
|||
|
|
extern char _ebss[];
|
|||
|
|
|
|||
|
|
|
|||
|
|
void __main( void )
|
|||
|
|
{
|
|||
|
|
1a90: 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 ) {
|
|||
|
|
1a92: 1009 lrw r0, 0x20000000 // 1ab4 <__main+0x24>
|
|||
|
|
1a94: 1029 lrw r1, 0x4f20 // 1ab8 <__main+0x28>
|
|||
|
|
1a96: 6442 cmpne r0, r1
|
|||
|
|
1a98: 0c05 bf 0x1aa2 // 1aa2 <__main+0x12>
|
|||
|
|
// __memcpy_fast( dst, src, (_end_data - _start_data));
|
|||
|
|
memcpy( dst, src, (_end_data - _start_data));
|
|||
|
|
1a9a: 1049 lrw r2, 0x2000009c // 1abc <__main+0x2c>
|
|||
|
|
1a9c: 6082 subu r2, r0
|
|||
|
|
1a9e: e3ffffb3 bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* zero the bss
|
|||
|
|
*/
|
|||
|
|
if( _ebss - _bss_start ) {
|
|||
|
|
1aa2: 1048 lrw r2, 0x20000674 // 1ac0 <__main+0x30>
|
|||
|
|
1aa4: 1008 lrw r0, 0x2000009c // 1ac4 <__main+0x34>
|
|||
|
|
1aa6: 640a cmpne r2, r0
|
|||
|
|
1aa8: 0c05 bf 0x1ab2 // 1ab2 <__main+0x22>
|
|||
|
|
// __memset_fast( _bss_start, 0x00, ( _ebss - _bss_start ));
|
|||
|
|
memset( _bss_start, 0x00, ( _ebss - _bss_start ));
|
|||
|
|
1aaa: 6082 subu r2, r0
|
|||
|
|
1aac: 3100 movi r1, 0
|
|||
|
|
1aae: e3ffff67 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
1ab2: 1490 pop r15
|
|||
|
|
1ab4: 20000000 .long 0x20000000
|
|||
|
|
1ab8: 00004f20 .long 0x00004f20
|
|||
|
|
1abc: 2000009c .long 0x2000009c
|
|||
|
|
1ac0: 20000674 .long 0x20000674
|
|||
|
|
1ac4: 2000009c .long 0x2000009c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_General_CMD.part.0:
|
|||
|
|
|
|||
|
|
00001ac8 <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)
|
|||
|
|
1ac8: 3848 cmpnei r0, 8
|
|||
|
|
1aca: 080a bt 0x1ade // 1ade <SYSCON_General_CMD.part.0+0x16>
|
|||
|
|
GPIOA0->CONLR=(GPIOA0->CONLR & 0XFFF00FFF)|0x00044000; //enable EMOSC PIN
|
|||
|
|
1acc: 107a lrw r3, 0x2000004c // 1b34 <SYSCON_General_CMD.part.0+0x6c>
|
|||
|
|
1ace: 32ff movi r2, 255
|
|||
|
|
1ad0: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
1ad2: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
1ad4: 424c lsli r2, r2, 12
|
|||
|
|
1ad6: 68c9 andn r3, r2
|
|||
|
|
1ad8: 3bae bseti r3, 14
|
|||
|
|
1ada: 3bb2 bseti r3, 18
|
|||
|
|
1adc: b160 st.w r3, (r1, 0x0)
|
|||
|
|
SYSCON->GCER|=ENDIS_X; //enable SYSCON General Control
|
|||
|
|
1ade: 1077 lrw r3, 0x2000005c // 1b38 <SYSCON_General_CMD.part.0+0x70>
|
|||
|
|
1ae0: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1ae2: 9341 ld.w r2, (r3, 0x4)
|
|||
|
|
1ae4: 6c80 or r2, r0
|
|||
|
|
1ae6: b341 st.w r2, (r3, 0x4)
|
|||
|
|
while(!(SYSCON->GCSR&ENDIS_X)); //check Enable?
|
|||
|
|
1ae8: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
1aea: 6880 and r2, r0
|
|||
|
|
1aec: 3a40 cmpnei r2, 0
|
|||
|
|
1aee: 0ffd bf 0x1ae8 // 1ae8 <SYSCON_General_CMD.part.0+0x20>
|
|||
|
|
switch(ENDIS_X)
|
|||
|
|
1af0: 3842 cmpnei r0, 2
|
|||
|
|
1af2: 0807 bt 0x1b00 // 1b00 <SYSCON_General_CMD.part.0+0x38>
|
|||
|
|
{
|
|||
|
|
case ENDIS_IMOSC:
|
|||
|
|
while (!(SYSCON->CKST & ENDIS_IMOSC));
|
|||
|
|
1af4: 3102 movi r1, 2
|
|||
|
|
1af6: 9344 ld.w r2, (r3, 0x10)
|
|||
|
|
1af8: 6884 and r2, r1
|
|||
|
|
1afa: 3a40 cmpnei r2, 0
|
|||
|
|
1afc: 0ffd bf 0x1af6 // 1af6 <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
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
1afe: 783c jmp r15
|
|||
|
|
switch(ENDIS_X)
|
|||
|
|
1b00: 3802 cmphsi r0, 3
|
|||
|
|
1b02: 0809 bt 0x1b14 // 1b14 <SYSCON_General_CMD.part.0+0x4c>
|
|||
|
|
1b04: 3841 cmpnei r0, 1
|
|||
|
|
1b06: 0bfc bt 0x1afe // 1afe <SYSCON_General_CMD.part.0+0x36>
|
|||
|
|
while (!(SYSCON->CKST & ENDIS_ISOSC));
|
|||
|
|
1b08: 3101 movi r1, 1
|
|||
|
|
1b0a: 9344 ld.w r2, (r3, 0x10)
|
|||
|
|
1b0c: 6884 and r2, r1
|
|||
|
|
1b0e: 3a40 cmpnei r2, 0
|
|||
|
|
1b10: 0ffd bf 0x1b0a // 1b0a <SYSCON_General_CMD.part.0+0x42>
|
|||
|
|
1b12: 07f6 br 0x1afe // 1afe <SYSCON_General_CMD.part.0+0x36>
|
|||
|
|
switch(ENDIS_X)
|
|||
|
|
1b14: 3848 cmpnei r0, 8
|
|||
|
|
1b16: 0807 bt 0x1b24 // 1b24 <SYSCON_General_CMD.part.0+0x5c>
|
|||
|
|
while (!(SYSCON->CKST & ENDIS_EMOSC));
|
|||
|
|
1b18: 3108 movi r1, 8
|
|||
|
|
1b1a: 9344 ld.w r2, (r3, 0x10)
|
|||
|
|
1b1c: 6884 and r2, r1
|
|||
|
|
1b1e: 3a40 cmpnei r2, 0
|
|||
|
|
1b20: 0ffd bf 0x1b1a // 1b1a <SYSCON_General_CMD.part.0+0x52>
|
|||
|
|
1b22: 07ee br 0x1afe // 1afe <SYSCON_General_CMD.part.0+0x36>
|
|||
|
|
switch(ENDIS_X)
|
|||
|
|
1b24: 3850 cmpnei r0, 16
|
|||
|
|
1b26: 0bec bt 0x1afe // 1afe <SYSCON_General_CMD.part.0+0x36>
|
|||
|
|
while (!(SYSCON->CKST & ENDIS_HFOSC));
|
|||
|
|
1b28: 3110 movi r1, 16
|
|||
|
|
1b2a: 9344 ld.w r2, (r3, 0x10)
|
|||
|
|
1b2c: 6884 and r2, r1
|
|||
|
|
1b2e: 3a40 cmpnei r2, 0
|
|||
|
|
1b30: 0ffd bf 0x1b2a // 1b2a <SYSCON_General_CMD.part.0+0x62>
|
|||
|
|
1b32: 07e6 br 0x1afe // 1afe <SYSCON_General_CMD.part.0+0x36>
|
|||
|
|
1b34: 2000004c .long 0x2000004c
|
|||
|
|
1b38: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_RST_VALUE:
|
|||
|
|
|
|||
|
|
00001b3c <SYSCON_RST_VALUE>:
|
|||
|
|
SYSCON->RAMCHK=SYSCON_RAMCHK_RST;
|
|||
|
|
1b3c: 106c lrw r3, 0x2000005c // 1b6c <SYSCON_RST_VALUE+0x30>
|
|||
|
|
1b3e: 104d lrw r2, 0xffff // 1b70 <SYSCON_RST_VALUE+0x34>
|
|||
|
|
1b40: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1b42: b345 st.w r2, (r3, 0x14)
|
|||
|
|
SYSCON->EFLCHK=SYSCON_EFLCHK_RST;
|
|||
|
|
1b44: 104c lrw r2, 0xffffff // 1b74 <SYSCON_RST_VALUE+0x38>
|
|||
|
|
1b46: b346 st.w r2, (r3, 0x18)
|
|||
|
|
SYSCON->SCLKCR=SYSCON_SCLKCR_RST;
|
|||
|
|
1b48: 104c lrw r2, 0xd22d0000 // 1b78 <SYSCON_RST_VALUE+0x3c>
|
|||
|
|
1b4a: b347 st.w r2, (r3, 0x1c)
|
|||
|
|
SYSCON->OSTR=SYSCON_OSTR_RST;
|
|||
|
|
1b4c: 104c lrw r2, 0x70ff3bff // 1b7c <SYSCON_RST_VALUE+0x40>
|
|||
|
|
1b4e: b350 st.w r2, (r3, 0x40)
|
|||
|
|
SYSCON->LVDCR=SYSCON_LVDCR_RST;
|
|||
|
|
1b50: 320a movi r2, 10
|
|||
|
|
1b52: b353 st.w r2, (r3, 0x4c)
|
|||
|
|
SYSCON->IWDCR=SYSCON_IWDCR_RST;
|
|||
|
|
1b54: 102b lrw r1, 0x70c // 1b80 <SYSCON_RST_VALUE+0x44>
|
|||
|
|
SYSCON->EXIRT=SYSCON_EXIRT_RST;
|
|||
|
|
1b56: 237f addi r3, 128
|
|||
|
|
1b58: 3200 movi r2, 0
|
|||
|
|
1b5a: b345 st.w r2, (r3, 0x14)
|
|||
|
|
SYSCON->EXIFT=SYSCON_EXIFT_RST;
|
|||
|
|
1b5c: b346 st.w r2, (r3, 0x18)
|
|||
|
|
SYSCON->IWDCR=SYSCON_IWDCR_RST;
|
|||
|
|
1b5e: b32d st.w r1, (r3, 0x34)
|
|||
|
|
SYSCON->IWDCNT=SYSCON_IWDCNT_RST;
|
|||
|
|
1b60: 1029 lrw r1, 0x3fe // 1b84 <SYSCON_RST_VALUE+0x48>
|
|||
|
|
1b62: b32e st.w r1, (r3, 0x38)
|
|||
|
|
SYSCON->EVTRG=SYSCON_EVTRG_RST;
|
|||
|
|
1b64: b35d st.w r2, (r3, 0x74)
|
|||
|
|
SYSCON->EVPS=SYSCON_EVPS_RST;
|
|||
|
|
1b66: b35e st.w r2, (r3, 0x78)
|
|||
|
|
SYSCON->EVSWF=SYSCON_EVSWF_RST;
|
|||
|
|
1b68: b35f st.w r2, (r3, 0x7c)
|
|||
|
|
}
|
|||
|
|
1b6a: 783c jmp r15
|
|||
|
|
1b6c: 2000005c .long 0x2000005c
|
|||
|
|
1b70: 0000ffff .long 0x0000ffff
|
|||
|
|
1b74: 00ffffff .long 0x00ffffff
|
|||
|
|
1b78: d22d0000 .long 0xd22d0000
|
|||
|
|
1b7c: 70ff3bff .long 0x70ff3bff
|
|||
|
|
1b80: 0000070c .long 0x0000070c
|
|||
|
|
1b84: 000003fe .long 0x000003fe
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_General_CMD:
|
|||
|
|
|
|||
|
|
00001b88 <SYSCON_General_CMD>:
|
|||
|
|
{
|
|||
|
|
1b88: 14d0 push r15
|
|||
|
|
if (NewState != DISABLE)
|
|||
|
|
1b8a: 3840 cmpnei r0, 0
|
|||
|
|
1b8c: 0c05 bf 0x1b96 // 1b96 <SYSCON_General_CMD+0xe>
|
|||
|
|
1b8e: 6c07 mov r0, r1
|
|||
|
|
1b90: e3ffff9c bsr 0x1ac8 // 1ac8 <SYSCON_General_CMD.part.0>
|
|||
|
|
}
|
|||
|
|
1b94: 1490 pop r15
|
|||
|
|
SYSCON->GCDR|=ENDIS_X; //disable SYSCON General Control
|
|||
|
|
1b96: 1068 lrw r3, 0x2000005c // 1bb4 <SYSCON_General_CMD+0x2c>
|
|||
|
|
1b98: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1b9a: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
1b9c: 6c84 or r2, r1
|
|||
|
|
1b9e: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(SYSCON->GCSR&ENDIS_X); //check Disable?
|
|||
|
|
1ba0: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
1ba2: 6884 and r2, r1
|
|||
|
|
1ba4: 3a40 cmpnei r2, 0
|
|||
|
|
1ba6: 0bfd bt 0x1ba0 // 1ba0 <SYSCON_General_CMD+0x18>
|
|||
|
|
SYSCON->ICR|=ENDIS_X; //Clear ENDIS_X stable bit
|
|||
|
|
1ba8: 237f addi r3, 128
|
|||
|
|
1baa: 9301 ld.w r0, (r3, 0x4)
|
|||
|
|
1bac: 6c40 or r1, r0
|
|||
|
|
1bae: b321 st.w r1, (r3, 0x4)
|
|||
|
|
}
|
|||
|
|
1bb0: 07f2 br 0x1b94 // 1b94 <SYSCON_General_CMD+0xc>
|
|||
|
|
1bb2: 0000 bkpt
|
|||
|
|
1bb4: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SystemCLK_HCLKDIV_PCLKDIV_Config:
|
|||
|
|
|
|||
|
|
00001bb8 <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 )
|
|||
|
|
{
|
|||
|
|
1bb8: 14c2 push r4-r5
|
|||
|
|
if(SystemClk_data_x==HFOSC_48M)
|
|||
|
|
1bba: 3b48 cmpnei r3, 8
|
|||
|
|
1bbc: 0828 bt 0x1c0c // 1c0c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x54>
|
|||
|
|
{
|
|||
|
|
IFC->CEDR=0X01; //CLKEN
|
|||
|
|
1bbe: 109d lrw r4, 0x20000060 // 1c30 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
|
|||
|
|
1bc0: 3501 movi r5, 1
|
|||
|
|
1bc2: 9480 ld.w r4, (r4, 0x0)
|
|||
|
|
1bc4: b4a1 st.w r5, (r4, 0x4)
|
|||
|
|
IFC->MR=0X04|(0X00<<16); //High speed mode
|
|||
|
|
1bc6: 3504 movi r5, 4
|
|||
|
|
1bc8: 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))
|
|||
|
|
1bca: 5b83 subi r4, r3, 1
|
|||
|
|
1bcc: 3c01 cmphsi r4, 2
|
|||
|
|
1bce: 0c2b bf 0x1c24 // 1c24 <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))
|
|||
|
|
1bd0: 5b8b subi r4, r3, 3
|
|||
|
|
if((SystemClk_data_x==EMOSC_8M)||(SystemClk_data_x==EMOSC_4M)||(SystemClk_data_x==EMOSC_36K)
|
|||
|
|
1bd2: 3c04 cmphsi r4, 5
|
|||
|
|
1bd4: 0c03 bf 0x1bda // 1bda <SystemCLK_HCLKDIV_PCLKDIV_Config+0x22>
|
|||
|
|
||(SystemClk_data_x==IMOSC)||(SystemClk_data_x==ISOSC)||(SystemClk_data_x==HFOSC_6M))
|
|||
|
|
1bd6: 3b4b cmpnei r3, 11
|
|||
|
|
1bd8: 0807 bt 0x1be6 // 1be6 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x2e>
|
|||
|
|
{
|
|||
|
|
IFC->CEDR=0X01; //CLKEN
|
|||
|
|
1bda: 1076 lrw r3, 0x20000060 // 1c30 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
|
|||
|
|
1bdc: 3401 movi r4, 1
|
|||
|
|
1bde: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1be0: b381 st.w r4, (r3, 0x4)
|
|||
|
|
IFC->MR=0X00|(0X00<<16); //Low speed mode
|
|||
|
|
1be2: 3400 movi r4, 0
|
|||
|
|
1be4: b385 st.w r4, (r3, 0x14)
|
|||
|
|
}
|
|||
|
|
SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
|
|||
|
|
1be6: 1094 lrw r4, 0xd22d0000 // 1c34 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x7c>
|
|||
|
|
1be8: 6c10 or r0, r4
|
|||
|
|
1bea: 1074 lrw r3, 0x2000005c // 1c38 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x80>
|
|||
|
|
1bec: 6c40 or r1, r0
|
|||
|
|
1bee: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable
|
|||
|
|
1bf0: 3080 movi r0, 128
|
|||
|
|
SYSCON->SCLKCR=SYSCLK_KEY | HCLK_DIV_X| SYSCLK_X;
|
|||
|
|
1bf2: b327 st.w r1, (r3, 0x1c)
|
|||
|
|
while (!(SYSCON->CKST & (1<<8))); // waiting for sysclk stable
|
|||
|
|
1bf4: 4001 lsli r0, r0, 1
|
|||
|
|
1bf6: 9324 ld.w r1, (r3, 0x10)
|
|||
|
|
1bf8: 6840 and r1, r0
|
|||
|
|
1bfa: 3940 cmpnei r1, 0
|
|||
|
|
1bfc: 0ffd bf 0x1bf6 // 1bf6 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x3e>
|
|||
|
|
SYSCON->PCLKCR=PCLK_KEY|PCLK_DIV_X; //PCLK DIV 1 2 4 6 8 16
|
|||
|
|
1bfe: 1030 lrw r1, 0xc33c0000 // 1c3c <SystemCLK_HCLKDIV_PCLKDIV_Config+0x84>
|
|||
|
|
1c00: 6c48 or r1, r2
|
|||
|
|
1c02: b328 st.w r1, (r3, 0x20)
|
|||
|
|
while(SYSCON->PCLKCR!=PCLK_DIV_X); //Wait PCLK DIV
|
|||
|
|
1c04: 9328 ld.w r1, (r3, 0x20)
|
|||
|
|
1c06: 644a cmpne r2, r1
|
|||
|
|
1c08: 0bfe bt 0x1c04 // 1c04 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x4c>
|
|||
|
|
}
|
|||
|
|
1c0a: 1482 pop r4-r5
|
|||
|
|
if((SystemClk_data_x==EMOSC_24M)||(SystemClk_data_x==HFOSC_24M))
|
|||
|
|
1c0c: 3b40 cmpnei r3, 0
|
|||
|
|
1c0e: 0c03 bf 0x1c14 // 1c14 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x5c>
|
|||
|
|
1c10: 3b49 cmpnei r3, 9
|
|||
|
|
1c12: 0807 bt 0x1c20 // 1c20 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x68>
|
|||
|
|
IFC->CEDR=0X01; //CLKEN
|
|||
|
|
1c14: 1087 lrw r4, 0x20000060 // 1c30 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
|
|||
|
|
1c16: 3501 movi r5, 1
|
|||
|
|
1c18: 9480 ld.w r4, (r4, 0x0)
|
|||
|
|
1c1a: b4a1 st.w r5, (r4, 0x4)
|
|||
|
|
IFC->MR=0X02|(0X00<<16); //Medium speed mode
|
|||
|
|
1c1c: 3502 movi r5, 2
|
|||
|
|
1c1e: b4a5 st.w r5, (r4, 0x14)
|
|||
|
|
if((SystemClk_data_x==EMOSC_12M)||(SystemClk_data_x==HFOSC_12M)||(SystemClk_data_x==EMOSC_16M))
|
|||
|
|
1c20: 3b4a cmpnei r3, 10
|
|||
|
|
1c22: 0bd4 bt 0x1bca // 1bca <SystemCLK_HCLKDIV_PCLKDIV_Config+0x12>
|
|||
|
|
IFC->CEDR=0X01; //CLKEN
|
|||
|
|
1c24: 1083 lrw r4, 0x20000060 // 1c30 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x78>
|
|||
|
|
1c26: 3501 movi r5, 1
|
|||
|
|
1c28: 9480 ld.w r4, (r4, 0x0)
|
|||
|
|
1c2a: b4a1 st.w r5, (r4, 0x4)
|
|||
|
|
IFC->MR=0X01|(0X00<<16); //Low speed mode
|
|||
|
|
1c2c: b4a5 st.w r5, (r4, 0x14)
|
|||
|
|
1c2e: 07d1 br 0x1bd0 // 1bd0 <SystemCLK_HCLKDIV_PCLKDIV_Config+0x18>
|
|||
|
|
1c30: 20000060 .long 0x20000060
|
|||
|
|
1c34: d22d0000 .long 0xd22d0000
|
|||
|
|
1c38: 2000005c .long 0x2000005c
|
|||
|
|
1c3c: c33c0000 .long 0xc33c0000
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_HFOSC_SELECTE:
|
|||
|
|
|
|||
|
|
00001c40 <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)
|
|||
|
|
{
|
|||
|
|
1c40: 14d1 push r4, r15
|
|||
|
|
1c42: 6d03 mov r4, r0
|
|||
|
|
SYSCON_General_CMD(DISABLE,ENDIS_HFOSC); //disable HFOSC
|
|||
|
|
1c44: 3110 movi r1, 16
|
|||
|
|
1c46: 3000 movi r0, 0
|
|||
|
|
1c48: e3ffffa0 bsr 0x1b88 // 1b88 <SYSCON_General_CMD>
|
|||
|
|
SYSCON->OPT1 = (SYSCON->OPT1 & 0XFFFFFFCF)|HFOSC_SELECTE_X;
|
|||
|
|
1c4c: 1066 lrw r3, 0x2000005c // 1c64 <SYSCON_HFOSC_SELECTE+0x24>
|
|||
|
|
1c4e: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1c50: 9319 ld.w r0, (r3, 0x64)
|
|||
|
|
1c52: 3884 bclri r0, 4
|
|||
|
|
1c54: 3885 bclri r0, 5
|
|||
|
|
1c56: 6c10 or r0, r4
|
|||
|
|
1c58: b319 st.w r0, (r3, 0x64)
|
|||
|
|
1c5a: 3010 movi r0, 16
|
|||
|
|
1c5c: e3ffff36 bsr 0x1ac8 // 1ac8 <SYSCON_General_CMD.part.0>
|
|||
|
|
SYSCON_General_CMD(ENABLE,ENDIS_HFOSC); //enable HFOSC
|
|||
|
|
}
|
|||
|
|
1c60: 1491 pop r4, r15
|
|||
|
|
1c62: 0000 bkpt
|
|||
|
|
1c64: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_WDT_CMD:
|
|||
|
|
|
|||
|
|
00001c68 <SYSCON_WDT_CMD>:
|
|||
|
|
//EntryParameter:,NewState
|
|||
|
|
//NewState:ENABLE,DISABLE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SYSCON_WDT_CMD(FunctionalStatus NewState)
|
|||
|
|
{
|
|||
|
|
1c68: 106c lrw r3, 0x2000005c // 1c98 <SYSCON_WDT_CMD+0x30>
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1c6a: 3840 cmpnei r0, 0
|
|||
|
|
{
|
|||
|
|
SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
|
|||
|
|
1c6c: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1c6e: 237f addi r3, 128
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1c70: 0c0a bf 0x1c84 // 1c84 <SYSCON_WDT_CMD+0x1c>
|
|||
|
|
SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
|
|||
|
|
1c72: 104b lrw r2, 0x78870000 // 1c9c <SYSCON_WDT_CMD+0x34>
|
|||
|
|
while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
|
|||
|
|
1c74: 3180 movi r1, 128
|
|||
|
|
SYSCON->IWDEDR=IWDTEDR_KEY|Enable_IWDT;
|
|||
|
|
1c76: b34f st.w r2, (r3, 0x3c)
|
|||
|
|
while(!(SYSCON->IWDCR&Check_IWDT_BUSY));
|
|||
|
|
1c78: 4125 lsli r1, r1, 5
|
|||
|
|
1c7a: 934d ld.w r2, (r3, 0x34)
|
|||
|
|
1c7c: 6884 and r2, r1
|
|||
|
|
1c7e: 3a40 cmpnei r2, 0
|
|||
|
|
1c80: 0ffd bf 0x1c7a // 1c7a <SYSCON_WDT_CMD+0x12>
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
|
|||
|
|
while(SYSCON->IWDCR&Check_IWDT_BUSY);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
1c82: 783c jmp r15
|
|||
|
|
SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
|
|||
|
|
1c84: 1047 lrw r2, 0x788755aa // 1ca0 <SYSCON_WDT_CMD+0x38>
|
|||
|
|
while(SYSCON->IWDCR&Check_IWDT_BUSY);
|
|||
|
|
1c86: 3180 movi r1, 128
|
|||
|
|
SYSCON->IWDEDR=IWDTEDR_KEY|Disable_IWDT;
|
|||
|
|
1c88: b34f st.w r2, (r3, 0x3c)
|
|||
|
|
while(SYSCON->IWDCR&Check_IWDT_BUSY);
|
|||
|
|
1c8a: 4125 lsli r1, r1, 5
|
|||
|
|
1c8c: 934d ld.w r2, (r3, 0x34)
|
|||
|
|
1c8e: 6884 and r2, r1
|
|||
|
|
1c90: 3a40 cmpnei r2, 0
|
|||
|
|
1c92: 0bfd bt 0x1c8c // 1c8c <SYSCON_WDT_CMD+0x24>
|
|||
|
|
1c94: 07f7 br 0x1c82 // 1c82 <SYSCON_WDT_CMD+0x1a>
|
|||
|
|
1c96: 0000 bkpt
|
|||
|
|
1c98: 2000005c .long 0x2000005c
|
|||
|
|
1c9c: 78870000 .long 0x78870000
|
|||
|
|
1ca0: 788755aa .long 0x788755aa
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_IWDCNT_Reload:
|
|||
|
|
|
|||
|
|
00001ca4 <SYSCON_IWDCNT_Reload>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue: NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SYSCON_IWDCNT_Reload(void)
|
|||
|
|
{
|
|||
|
|
SYSCON->IWDCNT=CLR_IWDT;
|
|||
|
|
1ca4: 1064 lrw r3, 0x2000005c // 1cb4 <SYSCON_IWDCNT_Reload+0x10>
|
|||
|
|
1ca6: 32b4 movi r2, 180
|
|||
|
|
1ca8: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1caa: 237f addi r3, 128
|
|||
|
|
1cac: 4257 lsli r2, r2, 23
|
|||
|
|
1cae: b34e st.w r2, (r3, 0x38)
|
|||
|
|
}
|
|||
|
|
1cb0: 783c jmp r15
|
|||
|
|
1cb2: 0000 bkpt
|
|||
|
|
1cb4: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_IWDCNT_Config:
|
|||
|
|
|
|||
|
|
00001cb8 <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;
|
|||
|
|
1cb8: 1044 lrw r2, 0x87780000 // 1cc8 <SYSCON_IWDCNT_Config+0x10>
|
|||
|
|
1cba: 1065 lrw r3, 0x2000005c // 1ccc <SYSCON_IWDCNT_Config+0x14>
|
|||
|
|
1cbc: 6c48 or r1, r2
|
|||
|
|
1cbe: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1cc0: 6c04 or r0, r1
|
|||
|
|
1cc2: 237f addi r3, 128
|
|||
|
|
1cc4: b30d st.w r0, (r3, 0x34)
|
|||
|
|
}
|
|||
|
|
1cc6: 783c jmp r15
|
|||
|
|
1cc8: 87780000 .long 0x87780000
|
|||
|
|
1ccc: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_LVD_Config:
|
|||
|
|
|
|||
|
|
00001cd0 <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)
|
|||
|
|
{
|
|||
|
|
1cd0: 14c3 push r4-r6
|
|||
|
|
1cd2: 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;
|
|||
|
|
1cd4: 10c5 lrw r6, 0xb44b0000 // 1ce8 <SYSCON_LVD_Config+0x18>
|
|||
|
|
1cd6: 6d18 or r4, r6
|
|||
|
|
1cd8: 6cd0 or r3, r4
|
|||
|
|
1cda: 6c8c or r2, r3
|
|||
|
|
1cdc: 6c48 or r1, r2
|
|||
|
|
1cde: 10a4 lrw r5, 0x2000005c // 1cec <SYSCON_LVD_Config+0x1c>
|
|||
|
|
1ce0: 6c04 or r0, r1
|
|||
|
|
1ce2: 95a0 ld.w r5, (r5, 0x0)
|
|||
|
|
1ce4: b513 st.w r0, (r5, 0x4c)
|
|||
|
|
}
|
|||
|
|
1ce6: 1483 pop r4-r6
|
|||
|
|
1ce8: b44b0000 .long 0xb44b0000
|
|||
|
|
1cec: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.LVD_Int_Enable:
|
|||
|
|
|
|||
|
|
00001cf0 <LVD_Int_Enable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue: NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void LVD_Int_Enable(void)
|
|||
|
|
{
|
|||
|
|
SYSCON->ICR = LVD_INT_ST; //clear LVD INT status
|
|||
|
|
1cf0: 1066 lrw r3, 0x2000005c // 1d08 <LVD_Int_Enable+0x18>
|
|||
|
|
1cf2: 3180 movi r1, 128
|
|||
|
|
1cf4: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1cf6: 3280 movi r2, 128
|
|||
|
|
1cf8: 604c addu r1, r3
|
|||
|
|
1cfa: 4244 lsli r2, r2, 4
|
|||
|
|
1cfc: b141 st.w r2, (r1, 0x4)
|
|||
|
|
SYSCON->IMER |= LVD_INT_ST;
|
|||
|
|
1cfe: 935d ld.w r2, (r3, 0x74)
|
|||
|
|
1d00: 3aab bseti r2, 11
|
|||
|
|
1d02: b35d st.w r2, (r3, 0x74)
|
|||
|
|
}
|
|||
|
|
1d04: 783c jmp r15
|
|||
|
|
1d06: 0000 bkpt
|
|||
|
|
1d08: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.IWDT_Int_Enable:
|
|||
|
|
|
|||
|
|
00001d0c <IWDT_Int_Enable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue: NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void IWDT_Int_Enable(void)
|
|||
|
|
{
|
|||
|
|
SYSCON->ICR = IWDT_INT_ST; //clear LVD INT status
|
|||
|
|
1d0c: 1066 lrw r3, 0x2000005c // 1d24 <IWDT_Int_Enable+0x18>
|
|||
|
|
1d0e: 3180 movi r1, 128
|
|||
|
|
1d10: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1d12: 3280 movi r2, 128
|
|||
|
|
1d14: 604c addu r1, r3
|
|||
|
|
1d16: 4241 lsli r2, r2, 1
|
|||
|
|
1d18: b141 st.w r2, (r1, 0x4)
|
|||
|
|
SYSCON->IMER |= IWDT_INT_ST;
|
|||
|
|
1d1a: 935d ld.w r2, (r3, 0x74)
|
|||
|
|
1d1c: 3aa8 bseti r2, 8
|
|||
|
|
1d1e: b35d st.w r2, (r3, 0x74)
|
|||
|
|
}
|
|||
|
|
1d20: 783c jmp r15
|
|||
|
|
1d22: 0000 bkpt
|
|||
|
|
1d24: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXTI_trigger_CMD:
|
|||
|
|
|
|||
|
|
00001d28 <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)
|
|||
|
|
1d28: 3a40 cmpnei r2, 0
|
|||
|
|
1d2a: 0c04 bf 0x1d32 // 1d32 <EXTI_trigger_CMD+0xa>
|
|||
|
|
1d2c: 3a41 cmpnei r2, 1
|
|||
|
|
1d2e: 0c0e bf 0x1d4a // 1d4a <EXTI_trigger_CMD+0x22>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXIFT &=~EXIPIN;
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
1d30: 783c jmp r15
|
|||
|
|
1d32: 106d lrw r3, 0x2000005c // 1d64 <EXTI_trigger_CMD+0x3c>
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1d34: 3840 cmpnei r0, 0
|
|||
|
|
SYSCON->EXIRT |=EXIPIN;
|
|||
|
|
1d36: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1d38: 237f addi r3, 128
|
|||
|
|
1d3a: 9345 ld.w r2, (r3, 0x14)
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1d3c: 0c04 bf 0x1d44 // 1d44 <EXTI_trigger_CMD+0x1c>
|
|||
|
|
SYSCON->EXIRT |=EXIPIN;
|
|||
|
|
1d3e: 6c48 or r1, r2
|
|||
|
|
1d40: b325 st.w r1, (r3, 0x14)
|
|||
|
|
1d42: 07f7 br 0x1d30 // 1d30 <EXTI_trigger_CMD+0x8>
|
|||
|
|
SYSCON->EXIRT &=~EXIPIN;
|
|||
|
|
1d44: 6885 andn r2, r1
|
|||
|
|
1d46: b345 st.w r2, (r3, 0x14)
|
|||
|
|
1d48: 07f4 br 0x1d30 // 1d30 <EXTI_trigger_CMD+0x8>
|
|||
|
|
1d4a: 1067 lrw r3, 0x2000005c // 1d64 <EXTI_trigger_CMD+0x3c>
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1d4c: 3840 cmpnei r0, 0
|
|||
|
|
SYSCON->EXIFT |=EXIPIN;
|
|||
|
|
1d4e: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1d50: 237f addi r3, 128
|
|||
|
|
1d52: 9346 ld.w r2, (r3, 0x18)
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1d54: 0c04 bf 0x1d5c // 1d5c <EXTI_trigger_CMD+0x34>
|
|||
|
|
SYSCON->EXIFT |=EXIPIN;
|
|||
|
|
1d56: 6c48 or r1, r2
|
|||
|
|
1d58: b326 st.w r1, (r3, 0x18)
|
|||
|
|
1d5a: 07eb br 0x1d30 // 1d30 <EXTI_trigger_CMD+0x8>
|
|||
|
|
SYSCON->EXIFT &=~EXIPIN;
|
|||
|
|
1d5c: 6885 andn r2, r1
|
|||
|
|
1d5e: b346 st.w r2, (r3, 0x18)
|
|||
|
|
}
|
|||
|
|
1d60: 07e8 br 0x1d30 // 1d30 <EXTI_trigger_CMD+0x8>
|
|||
|
|
1d62: 0000 bkpt
|
|||
|
|
1d64: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXTI_interrupt_CMD:
|
|||
|
|
|
|||
|
|
00001d68 <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
|
|||
|
|
1d68: 106b lrw r3, 0x2000005c // 1d94 <EXTI_interrupt_CMD+0x2c>
|
|||
|
|
1d6a: 104c lrw r2, 0x3fff // 1d98 <EXTI_interrupt_CMD+0x30>
|
|||
|
|
1d6c: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1d6e: 237f addi r3, 128
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1d70: 3840 cmpnei r0, 0
|
|||
|
|
SYSCON->EXICR = 0X3FFF; //Claer EXI INT status
|
|||
|
|
1d72: b34b st.w r2, (r3, 0x2c)
|
|||
|
|
if(NewState != DISABLE)
|
|||
|
|
1d74: 0c0c bf 0x1d8c // 1d8c <EXTI_interrupt_CMD+0x24>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXIER|=EXIPIN; //EXI4 interrupt enable
|
|||
|
|
1d76: 9347 ld.w r2, (r3, 0x1c)
|
|||
|
|
1d78: 6c84 or r2, r1
|
|||
|
|
1d7a: b347 st.w r2, (r3, 0x1c)
|
|||
|
|
while(!(SYSCON->EXIMR&EXIPIN)); //Check EXI is enabled or not
|
|||
|
|
1d7c: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
1d7e: 6884 and r2, r1
|
|||
|
|
1d80: 3a40 cmpnei r2, 0
|
|||
|
|
1d82: 0ffd bf 0x1d7c // 1d7c <EXTI_interrupt_CMD+0x14>
|
|||
|
|
SYSCON->EXICR |=EXIPIN; // Clear EXI status bit
|
|||
|
|
1d84: 934b ld.w r2, (r3, 0x2c)
|
|||
|
|
1d86: 6c48 or r1, r2
|
|||
|
|
1d88: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
SYSCON->EXIDR|=EXIPIN;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
1d8a: 783c jmp r15
|
|||
|
|
SYSCON->EXIDR|=EXIPIN;
|
|||
|
|
1d8c: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
1d8e: 6c48 or r1, r2
|
|||
|
|
1d90: b328 st.w r1, (r3, 0x20)
|
|||
|
|
}
|
|||
|
|
1d92: 07fc br 0x1d8a // 1d8a <EXTI_interrupt_CMD+0x22>
|
|||
|
|
1d94: 2000005c .long 0x2000005c
|
|||
|
|
1d98: 00003fff .long 0x00003fff
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_EXTI_interrupt:
|
|||
|
|
|
|||
|
|
00001d9c <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;
|
|||
|
|
1d9c: b02b st.w r1, (r0, 0x2c)
|
|||
|
|
}
|
|||
|
|
1d9e: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXI4_Int_Enable:
|
|||
|
|
|
|||
|
|
00001da0 <EXI4_Int_Enable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EXI4_Int_Enable(void)
|
|||
|
|
{
|
|||
|
|
INTC_ISER_WRITE(EXI4_INT);
|
|||
|
|
1da0: 3380 movi r3, 128
|
|||
|
|
1da2: 4370 lsli r3, r3, 16
|
|||
|
|
1da4: 1042 lrw r2, 0xe000e100 // 1dac <EXI4_Int_Enable+0xc>
|
|||
|
|
1da6: b260 st.w r3, (r2, 0x0)
|
|||
|
|
}
|
|||
|
|
1da8: 783c jmp r15
|
|||
|
|
1daa: 0000 bkpt
|
|||
|
|
1dac: e000e100 .long 0xe000e100
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_Int_Enable:
|
|||
|
|
|
|||
|
|
00001db0 <SYSCON_Int_Enable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SYSCON_Int_Enable(void)
|
|||
|
|
{
|
|||
|
|
INTC_ISER_WRITE(SYSCON_INT);
|
|||
|
|
1db0: 3202 movi r2, 2
|
|||
|
|
1db2: 1062 lrw r3, 0xe000e100 // 1db8 <SYSCON_Int_Enable+0x8>
|
|||
|
|
1db4: b340 st.w r2, (r3, 0x0)
|
|||
|
|
}
|
|||
|
|
1db6: 783c jmp r15
|
|||
|
|
1db8: e000e100 .long 0xe000e100
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_Int_Disable:
|
|||
|
|
|
|||
|
|
00001dbc <SYSCON_Int_Disable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SYSCON_Int_Disable(void)
|
|||
|
|
{
|
|||
|
|
INTC_ICER_WRITE(SYSCON_INT);
|
|||
|
|
1dbc: 3202 movi r2, 2
|
|||
|
|
1dbe: 1062 lrw r3, 0xe000e180 // 1dc4 <SYSCON_Int_Disable+0x8>
|
|||
|
|
1dc0: b340 st.w r2, (r3, 0x0)
|
|||
|
|
}
|
|||
|
|
1dc2: 783c jmp r15
|
|||
|
|
1dc4: e000e180 .long 0xe000e180
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_INT_Priority:
|
|||
|
|
|
|||
|
|
00001dc8 <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
|
|||
|
|
1dc8: 1066 lrw r3, 0xe000e400 // 1de0 <SYSCON_INT_Priority+0x18>
|
|||
|
|
1dca: 1047 lrw r2, 0xc0c0c0c0 // 1de4 <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
|
|||
|
|
1dcc: 1027 lrw r1, 0xc0c000c0 // 1de8 <SYSCON_INT_Priority+0x20>
|
|||
|
|
INTC_IPR0_WRITE(0XC0C0C0C0); //IQR0-3 low bit-->high bit
|
|||
|
|
1dce: b340 st.w r2, (r3, 0x0)
|
|||
|
|
INTC_IPR1_WRITE(0XC0C0C0C0); //IQR4-7
|
|||
|
|
1dd0: b341 st.w r2, (r3, 0x4)
|
|||
|
|
INTC_IPR2_WRITE(0XC0C0C0C0); //IQR8-11
|
|||
|
|
1dd2: b342 st.w r2, (r3, 0x8)
|
|||
|
|
INTC_IPR3_WRITE(0XC0C0C0C0); //IQR12-15
|
|||
|
|
1dd4: b343 st.w r2, (r3, 0xc)
|
|||
|
|
INTC_IPR4_WRITE(0XC0C0C0C0); //IQR16-19
|
|||
|
|
1dd6: b344 st.w r2, (r3, 0x10)
|
|||
|
|
INTC_IPR5_WRITE(0XC0C0C0C0); //IQR20-23
|
|||
|
|
1dd8: b345 st.w r2, (r3, 0x14)
|
|||
|
|
INTC_IPR6_WRITE(0XC0C000C0); //IQR24-27
|
|||
|
|
1dda: b326 st.w r1, (r3, 0x18)
|
|||
|
|
INTC_IPR7_WRITE(0XC0C0C0C0); //IQR28-31
|
|||
|
|
1ddc: b347 st.w r2, (r3, 0x1c)
|
|||
|
|
}
|
|||
|
|
1dde: 783c jmp r15
|
|||
|
|
1de0: e000e400 .long 0xe000e400
|
|||
|
|
1de4: c0c0c0c0 .long 0xc0c0c0c0
|
|||
|
|
1de8: c0c000c0 .long 0xc0c000c0
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Set_INT_Priority:
|
|||
|
|
|
|||
|
|
00001dec <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)
|
|||
|
|
{
|
|||
|
|
1dec: 14c1 push r4
|
|||
|
|
1dee: 4862 lsri r3, r0, 2
|
|||
|
|
1df0: 4342 lsli r2, r3, 2
|
|||
|
|
1df2: 106a lrw r3, 0x20000064 // 1e18 <Set_INT_Priority+0x2c>
|
|||
|
|
U8_T i_temp,j_temp;
|
|||
|
|
U32_T k_temp;
|
|||
|
|
i_temp=(int_name%4)*8;
|
|||
|
|
1df4: 3403 movi r4, 3
|
|||
|
|
1df6: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1df8: 60c8 addu r3, r2
|
|||
|
|
j_temp=int_name/4;
|
|||
|
|
k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
|
|||
|
|
1dfa: 3280 movi r2, 128
|
|||
|
|
1dfc: 4243 lsli r2, r2, 3
|
|||
|
|
i_temp=(int_name%4)*8;
|
|||
|
|
1dfe: 6810 and r0, r4
|
|||
|
|
k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
|
|||
|
|
1e00: 60c8 addu r3, r2
|
|||
|
|
1e02: 4003 lsli r0, r0, 3
|
|||
|
|
1e04: 34ff movi r4, 255
|
|||
|
|
1e06: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
1e08: 7100 lsl r4, r0
|
|||
|
|
CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
|
|||
|
|
1e0a: 4126 lsli r1, r1, 6
|
|||
|
|
k_temp=CK801 -> IPR[j_temp]&(~(0xff<<i_temp));
|
|||
|
|
1e0c: 6891 andn r2, r4
|
|||
|
|
CK801 -> IPR[j_temp]=k_temp|((int_level*0x40)<<(i_temp));
|
|||
|
|
1e0e: 7040 lsl r1, r0
|
|||
|
|
1e10: 6c48 or r1, r2
|
|||
|
|
1e12: b320 st.w r1, (r3, 0x0)
|
|||
|
|
}
|
|||
|
|
1e14: 1481 pop r4
|
|||
|
|
1e16: 0000 bkpt
|
|||
|
|
1e18: 20000064 .long 0x20000064
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_Init:
|
|||
|
|
|
|||
|
|
00001e1c <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)
|
|||
|
|
{
|
|||
|
|
1e1c: 14d1 push r4, r15
|
|||
|
|
uint32_t data_temp;
|
|||
|
|
uint8_t GPIO_Pin;
|
|||
|
|
if(PinNum<8)
|
|||
|
|
1e1e: 3907 cmphsi r1, 8
|
|||
|
|
{
|
|||
|
|
1e20: 6d03 mov r4, r0
|
|||
|
|
if(PinNum<8)
|
|||
|
|
1e22: 0830 bt 0x1e82 // 1e82 <GPIO_Init+0x66>
|
|||
|
|
{
|
|||
|
|
switch (PinNum)
|
|||
|
|
1e24: 5903 subi r0, r1, 1
|
|||
|
|
1e26: 3806 cmphsi r0, 7
|
|||
|
|
1e28: 0827 bt 0x1e76 // 1e76 <GPIO_Init+0x5a>
|
|||
|
|
1e2a: e3fff775 bsr 0xd14 // d14 <___gnu_csky_case_uqi>
|
|||
|
|
1e2e: 1004 .short 0x1004
|
|||
|
|
1e30: 1d1a1613 .long 0x1d1a1613
|
|||
|
|
1e34: 0021 .short 0x0021
|
|||
|
|
{
|
|||
|
|
case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
|
|||
|
|
case 1:data_temp=0xffffff0f;GPIO_Pin=4;break;
|
|||
|
|
1e36: 3300 movi r3, 0
|
|||
|
|
1e38: 3104 movi r1, 4
|
|||
|
|
1e3a: 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)
|
|||
|
|
1e3c: 3a40 cmpnei r2, 0
|
|||
|
|
{
|
|||
|
|
(GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
|
|||
|
|
1e3e: 9440 ld.w r2, (r4, 0x0)
|
|||
|
|
1e40: 68c8 and r3, r2
|
|||
|
|
if (Dir)
|
|||
|
|
1e42: 0c1e bf 0x1e7e // 1e7e <GPIO_Init+0x62>
|
|||
|
|
(GPIOx)->CONLR =((GPIOx)->CONLR & data_temp) | 1<<GPIO_Pin;
|
|||
|
|
1e44: 3201 movi r2, 1
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
(GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin;
|
|||
|
|
1e46: 7084 lsl r2, r1
|
|||
|
|
1e48: 6cc8 or r3, r2
|
|||
|
|
1e4a: b460 st.w r3, (r4, 0x0)
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
(GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
1e4c: 1491 pop r4, r15
|
|||
|
|
case 2:data_temp=0xfffff0ff;GPIO_Pin=8;break;
|
|||
|
|
1e4e: 3108 movi r1, 8
|
|||
|
|
1e50: 1166 lrw r3, 0xfffff0ff // 1ee8 <GPIO_Init+0xcc>
|
|||
|
|
1e52: 07f5 br 0x1e3c // 1e3c <GPIO_Init+0x20>
|
|||
|
|
case 3:data_temp=0xffff0fff;GPIO_Pin=12;break;
|
|||
|
|
1e54: 310c movi r1, 12
|
|||
|
|
1e56: 1166 lrw r3, 0xffff0fff // 1eec <GPIO_Init+0xd0>
|
|||
|
|
1e58: 07f2 br 0x1e3c // 1e3c <GPIO_Init+0x20>
|
|||
|
|
case 4:data_temp=0xfff0ffff;GPIO_Pin=16;break;
|
|||
|
|
1e5a: 3110 movi r1, 16
|
|||
|
|
1e5c: 1165 lrw r3, 0xfff10000 // 1ef0 <GPIO_Init+0xd4>
|
|||
|
|
case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
|
|||
|
|
1e5e: 2b00 subi r3, 1
|
|||
|
|
1e60: 07ee br 0x1e3c // 1e3c <GPIO_Init+0x20>
|
|||
|
|
case 5:data_temp=0xff0fffff;GPIO_Pin=20;break;
|
|||
|
|
1e62: 3114 movi r1, 20
|
|||
|
|
1e64: 1164 lrw r3, 0xff100000 // 1ef4 <GPIO_Init+0xd8>
|
|||
|
|
1e66: 07fc br 0x1e5e // 1e5e <GPIO_Init+0x42>
|
|||
|
|
case 6:data_temp=0xf0ffffff;GPIO_Pin=24;break;
|
|||
|
|
1e68: 33f1 movi r3, 241
|
|||
|
|
1e6a: 3118 movi r1, 24
|
|||
|
|
1e6c: 4378 lsli r3, r3, 24
|
|||
|
|
1e6e: 07f8 br 0x1e5e // 1e5e <GPIO_Init+0x42>
|
|||
|
|
case 7:data_temp=0x0fffffff;GPIO_Pin=28;break;
|
|||
|
|
1e70: 311c movi r1, 28
|
|||
|
|
1e72: 1162 lrw r3, 0xfffffff // 1ef8 <GPIO_Init+0xdc>
|
|||
|
|
1e74: 07e4 br 0x1e3c // 1e3c <GPIO_Init+0x20>
|
|||
|
|
case 0:data_temp=0xfffffff0;GPIO_Pin=0;break;
|
|||
|
|
1e76: 3300 movi r3, 0
|
|||
|
|
1e78: 3100 movi r1, 0
|
|||
|
|
1e7a: 2b0f subi r3, 16
|
|||
|
|
1e7c: 07e0 br 0x1e3c // 1e3c <GPIO_Init+0x20>
|
|||
|
|
(GPIOx)->CONLR = ((GPIOx)->CONLR & data_temp) | 2<<GPIO_Pin;
|
|||
|
|
1e7e: 3202 movi r2, 2
|
|||
|
|
1e80: 07e3 br 0x1e46 // 1e46 <GPIO_Init+0x2a>
|
|||
|
|
else if (PinNum<16)
|
|||
|
|
1e82: 390f cmphsi r1, 16
|
|||
|
|
1e84: 0be4 bt 0x1e4c // 1e4c <GPIO_Init+0x30>
|
|||
|
|
switch (PinNum)
|
|||
|
|
1e86: 2908 subi r1, 9
|
|||
|
|
1e88: 3906 cmphsi r1, 7
|
|||
|
|
1e8a: 6c07 mov r0, r1
|
|||
|
|
1e8c: 0827 bt 0x1eda // 1eda <GPIO_Init+0xbe>
|
|||
|
|
1e8e: e3fff743 bsr 0xd14 // d14 <___gnu_csky_case_uqi>
|
|||
|
|
1e92: 1004 .short 0x1004
|
|||
|
|
1e94: 1d1a1613 .long 0x1d1a1613
|
|||
|
|
1e98: 0021 .short 0x0021
|
|||
|
|
case 9:data_temp=0xffffff0f;GPIO_Pin=4;break;
|
|||
|
|
1e9a: 3300 movi r3, 0
|
|||
|
|
1e9c: 3104 movi r1, 4
|
|||
|
|
1e9e: 2bf0 subi r3, 241
|
|||
|
|
if (Dir)
|
|||
|
|
1ea0: 3a40 cmpnei r2, 0
|
|||
|
|
(GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;
|
|||
|
|
1ea2: 9441 ld.w r2, (r4, 0x4)
|
|||
|
|
1ea4: 68c8 and r3, r2
|
|||
|
|
if (Dir)
|
|||
|
|
1ea6: 0c1e bf 0x1ee2 // 1ee2 <GPIO_Init+0xc6>
|
|||
|
|
(GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 1<<GPIO_Pin;
|
|||
|
|
1ea8: 3201 movi r2, 1
|
|||
|
|
(GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;
|
|||
|
|
1eaa: 7084 lsl r2, r1
|
|||
|
|
1eac: 6cc8 or r3, r2
|
|||
|
|
1eae: b461 st.w r3, (r4, 0x4)
|
|||
|
|
}
|
|||
|
|
1eb0: 07ce br 0x1e4c // 1e4c <GPIO_Init+0x30>
|
|||
|
|
case 10:data_temp=0xfffff0ff;GPIO_Pin=8;break;
|
|||
|
|
1eb2: 3108 movi r1, 8
|
|||
|
|
1eb4: 106d lrw r3, 0xfffff0ff // 1ee8 <GPIO_Init+0xcc>
|
|||
|
|
1eb6: 07f5 br 0x1ea0 // 1ea0 <GPIO_Init+0x84>
|
|||
|
|
case 11:data_temp=0xffff0fff;GPIO_Pin=12;break;
|
|||
|
|
1eb8: 310c movi r1, 12
|
|||
|
|
1eba: 106d lrw r3, 0xffff0fff // 1eec <GPIO_Init+0xd0>
|
|||
|
|
1ebc: 07f2 br 0x1ea0 // 1ea0 <GPIO_Init+0x84>
|
|||
|
|
case 12:data_temp=0xfff0ffff;GPIO_Pin=16;break;
|
|||
|
|
1ebe: 3110 movi r1, 16
|
|||
|
|
1ec0: 106c lrw r3, 0xfff10000 // 1ef0 <GPIO_Init+0xd4>
|
|||
|
|
case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
|
|||
|
|
1ec2: 2b00 subi r3, 1
|
|||
|
|
1ec4: 07ee br 0x1ea0 // 1ea0 <GPIO_Init+0x84>
|
|||
|
|
case 13:data_temp=0xff0fffff;GPIO_Pin=20;break;
|
|||
|
|
1ec6: 3114 movi r1, 20
|
|||
|
|
1ec8: 106b lrw r3, 0xff100000 // 1ef4 <GPIO_Init+0xd8>
|
|||
|
|
1eca: 07fc br 0x1ec2 // 1ec2 <GPIO_Init+0xa6>
|
|||
|
|
case 14:data_temp=0xf0ffffff;GPIO_Pin=24;break;
|
|||
|
|
1ecc: 33f1 movi r3, 241
|
|||
|
|
1ece: 3118 movi r1, 24
|
|||
|
|
1ed0: 4378 lsli r3, r3, 24
|
|||
|
|
1ed2: 07f8 br 0x1ec2 // 1ec2 <GPIO_Init+0xa6>
|
|||
|
|
case 15:data_temp=0x0fffffff;GPIO_Pin=28;break;
|
|||
|
|
1ed4: 311c movi r1, 28
|
|||
|
|
1ed6: 1069 lrw r3, 0xfffffff // 1ef8 <GPIO_Init+0xdc>
|
|||
|
|
1ed8: 07e4 br 0x1ea0 // 1ea0 <GPIO_Init+0x84>
|
|||
|
|
case 8:data_temp=0xfffffff0;GPIO_Pin=0;break;
|
|||
|
|
1eda: 3300 movi r3, 0
|
|||
|
|
1edc: 3100 movi r1, 0
|
|||
|
|
1ede: 2b0f subi r3, 16
|
|||
|
|
1ee0: 07e0 br 0x1ea0 // 1ea0 <GPIO_Init+0x84>
|
|||
|
|
(GPIOx)->CONHR = ((GPIOx)->CONHR & data_temp) | 2<<GPIO_Pin;
|
|||
|
|
1ee2: 3202 movi r2, 2
|
|||
|
|
1ee4: 07e3 br 0x1eaa // 1eaa <GPIO_Init+0x8e>
|
|||
|
|
1ee6: 0000 bkpt
|
|||
|
|
1ee8: fffff0ff .long 0xfffff0ff
|
|||
|
|
1eec: ffff0fff .long 0xffff0fff
|
|||
|
|
1ef0: fff10000 .long 0xfff10000
|
|||
|
|
1ef4: ff100000 .long 0xff100000
|
|||
|
|
1ef8: 0fffffff .long 0x0fffffff
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_PullHigh_Init:
|
|||
|
|
|
|||
|
|
00001efc <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));
|
|||
|
|
1efc: 4121 lsli r1, r1, 1
|
|||
|
|
1efe: 3203 movi r2, 3
|
|||
|
|
1f00: 9068 ld.w r3, (r0, 0x20)
|
|||
|
|
1f02: 7084 lsl r2, r1
|
|||
|
|
1f04: 68c9 andn r3, r2
|
|||
|
|
1f06: 3201 movi r2, 1
|
|||
|
|
1f08: 7084 lsl r2, r1
|
|||
|
|
1f0a: 6cc8 or r3, r2
|
|||
|
|
1f0c: b068 st.w r3, (r0, 0x20)
|
|||
|
|
}
|
|||
|
|
1f0e: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_DriveStrength_EN:
|
|||
|
|
|
|||
|
|
00001f10 <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));
|
|||
|
|
1f10: 4121 lsli r1, r1, 1
|
|||
|
|
1f12: 3301 movi r3, 1
|
|||
|
|
1f14: 9049 ld.w r2, (r0, 0x24)
|
|||
|
|
1f16: 70c4 lsl r3, r1
|
|||
|
|
1f18: 6cc8 or r3, r2
|
|||
|
|
1f1a: b069 st.w r3, (r0, 0x24)
|
|||
|
|
}
|
|||
|
|
1f1c: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_IntGroup_Set:
|
|||
|
|
|
|||
|
|
00001f20 <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)
|
|||
|
|
{
|
|||
|
|
1f20: 14c1 push r4
|
|||
|
|
1f22: 1422 subi r14, r14, 8
|
|||
|
|
volatile unsigned int R_data_temp;
|
|||
|
|
volatile unsigned char R_GPIO_Pin;
|
|||
|
|
if(Selete_EXI_x<16)
|
|||
|
|
1f24: 3a0f cmphsi r2, 16
|
|||
|
|
1f26: 084f bt 0x1fc4 // 1fc4 <GPIO_IntGroup_Set+0xa4>
|
|||
|
|
{
|
|||
|
|
if((Selete_EXI_x==0)||(Selete_EXI_x==8))
|
|||
|
|
1f28: 6ccb mov r3, r2
|
|||
|
|
1f2a: 3b83 bclri r3, 3
|
|||
|
|
1f2c: 3b40 cmpnei r3, 0
|
|||
|
|
1f2e: 0813 bt 0x1f54 // 1f54 <GPIO_IntGroup_Set+0x34>
|
|||
|
|
{
|
|||
|
|
R_data_temp=0xfffffff0;
|
|||
|
|
1f30: 2b0f subi r3, 16
|
|||
|
|
1f32: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=0;
|
|||
|
|
1f34: 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)
|
|||
|
|
1f36: 3a07 cmphsi r2, 8
|
|||
|
|
R_GPIO_Pin=28;
|
|||
|
|
1f38: dc6e0003 st.b r3, (r14, 0x3)
|
|||
|
|
1f3c: 1176 lrw r3, 0x20000044 // 2014 <GPIO_IntGroup_Set+0xf4>
|
|||
|
|
if(Selete_EXI_x<8)
|
|||
|
|
1f3e: 0c38 bf 0x1fae // 1fae <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);
|
|||
|
|
1f40: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
1f42: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
1f44: 9881 ld.w r4, (r14, 0x4)
|
|||
|
|
1f46: d82e0003 ld.b r1, (r14, 0x3)
|
|||
|
|
1f4a: 68d0 and r3, r4
|
|||
|
|
1f4c: 7004 lsl r0, r1
|
|||
|
|
1f4e: 6c0c or r0, r3
|
|||
|
|
1f50: b201 st.w r0, (r2, 0x4)
|
|||
|
|
1f52: 0437 br 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
else if((Selete_EXI_x==1)||(Selete_EXI_x==9))
|
|||
|
|
1f54: 3b41 cmpnei r3, 1
|
|||
|
|
1f56: 0806 bt 0x1f62 // 1f62 <GPIO_IntGroup_Set+0x42>
|
|||
|
|
R_data_temp=0xffffff0f;
|
|||
|
|
1f58: 3300 movi r3, 0
|
|||
|
|
1f5a: 2bf0 subi r3, 241
|
|||
|
|
1f5c: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=4;
|
|||
|
|
1f5e: 3304 movi r3, 4
|
|||
|
|
1f60: 07eb br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
else if((Selete_EXI_x==2)||(Selete_EXI_x==10))
|
|||
|
|
1f62: 3b42 cmpnei r3, 2
|
|||
|
|
1f64: 0805 bt 0x1f6e // 1f6e <GPIO_IntGroup_Set+0x4e>
|
|||
|
|
R_data_temp=0xfffff0ff;
|
|||
|
|
1f66: 116d lrw r3, 0xfffff0ff // 2018 <GPIO_IntGroup_Set+0xf8>
|
|||
|
|
1f68: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=8;
|
|||
|
|
1f6a: 3308 movi r3, 8
|
|||
|
|
1f6c: 07e5 br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
else if((Selete_EXI_x==3)||(Selete_EXI_x==11))
|
|||
|
|
1f6e: 3b43 cmpnei r3, 3
|
|||
|
|
1f70: 0805 bt 0x1f7a // 1f7a <GPIO_IntGroup_Set+0x5a>
|
|||
|
|
R_data_temp=0xffff0fff;
|
|||
|
|
1f72: 116b lrw r3, 0xffff0fff // 201c <GPIO_IntGroup_Set+0xfc>
|
|||
|
|
1f74: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=12;
|
|||
|
|
1f76: 330c movi r3, 12
|
|||
|
|
1f78: 07df br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
else if((Selete_EXI_x==4)||(Selete_EXI_x==12))
|
|||
|
|
1f7a: 3b44 cmpnei r3, 4
|
|||
|
|
1f7c: 0806 bt 0x1f88 // 1f88 <GPIO_IntGroup_Set+0x68>
|
|||
|
|
R_data_temp=0xfff0ffff;
|
|||
|
|
1f7e: 1169 lrw r3, 0xfff10000 // 2020 <GPIO_IntGroup_Set+0x100>
|
|||
|
|
1f80: 2b00 subi r3, 1
|
|||
|
|
1f82: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=16;
|
|||
|
|
1f84: 3310 movi r3, 16
|
|||
|
|
1f86: 07d8 br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
else if((Selete_EXI_x==5)||(Selete_EXI_x==13))
|
|||
|
|
1f88: 3b45 cmpnei r3, 5
|
|||
|
|
1f8a: 0806 bt 0x1f96 // 1f96 <GPIO_IntGroup_Set+0x76>
|
|||
|
|
R_data_temp=0xff0fffff;
|
|||
|
|
1f8c: 1166 lrw r3, 0xff100000 // 2024 <GPIO_IntGroup_Set+0x104>
|
|||
|
|
1f8e: 2b00 subi r3, 1
|
|||
|
|
1f90: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=20;
|
|||
|
|
1f92: 3314 movi r3, 20
|
|||
|
|
1f94: 07d1 br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
else if((Selete_EXI_x==6)||(Selete_EXI_x==14))
|
|||
|
|
1f96: 3b46 cmpnei r3, 6
|
|||
|
|
1f98: 0807 bt 0x1fa6 // 1fa6 <GPIO_IntGroup_Set+0x86>
|
|||
|
|
R_data_temp=0xf0ffffff;
|
|||
|
|
1f9a: 33f1 movi r3, 241
|
|||
|
|
1f9c: 4378 lsli r3, r3, 24
|
|||
|
|
1f9e: 2b00 subi r3, 1
|
|||
|
|
1fa0: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=24;
|
|||
|
|
1fa2: 3318 movi r3, 24
|
|||
|
|
1fa4: 07c9 br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
R_data_temp=0x0fffffff;
|
|||
|
|
1fa6: 1161 lrw r3, 0xfffffff // 2028 <GPIO_IntGroup_Set+0x108>
|
|||
|
|
1fa8: b861 st.w r3, (r14, 0x4)
|
|||
|
|
R_GPIO_Pin=28;
|
|||
|
|
1faa: 331c movi r3, 28
|
|||
|
|
1fac: 07c5 br 0x1f36 // 1f36 <GPIO_IntGroup_Set+0x16>
|
|||
|
|
GPIOGRP->IGRPL =(GPIOGRP->IGRPL & R_data_temp) | (IO_MODE<<R_GPIO_Pin);
|
|||
|
|
1fae: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
1fb0: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
1fb2: 9881 ld.w r4, (r14, 0x4)
|
|||
|
|
1fb4: d82e0003 ld.b r1, (r14, 0x3)
|
|||
|
|
1fb8: 68d0 and r3, r4
|
|||
|
|
1fba: 7004 lsl r0, r1
|
|||
|
|
1fbc: 6c0c or r0, r3
|
|||
|
|
1fbe: b200 st.w r0, (r2, 0x0)
|
|||
|
|
{
|
|||
|
|
GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
1fc0: 1402 addi r14, r14, 8
|
|||
|
|
1fc2: 1481 pop r4
|
|||
|
|
else if(Selete_EXI_x<20)
|
|||
|
|
1fc4: 3a13 cmphsi r2, 20
|
|||
|
|
1fc6: 0bfd bt 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
if((IO_MODE==0)&&((Selete_EXI_x==16)||((Selete_EXI_x==17)))) //PA0.0~PA0.7
|
|||
|
|
1fc8: 3840 cmpnei r0, 0
|
|||
|
|
1fca: 0814 bt 0x1ff2 // 1ff2 <GPIO_IntGroup_Set+0xd2>
|
|||
|
|
1fcc: 3300 movi r3, 0
|
|||
|
|
1fce: 2b0f subi r3, 16
|
|||
|
|
1fd0: 60c8 addu r3, r2
|
|||
|
|
1fd2: 3b01 cmphsi r3, 2
|
|||
|
|
1fd4: 0bf6 bt 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
if(Selete_EXI_x==16)
|
|||
|
|
1fd6: 3a50 cmpnei r2, 16
|
|||
|
|
1fd8: 106f lrw r3, 0x20000044 // 2014 <GPIO_IntGroup_Set+0xf4>
|
|||
|
|
1fda: 0806 bt 0x1fe6 // 1fe6 <GPIO_IntGroup_Set+0xc6>
|
|||
|
|
GPIOGRP->IGREX =(GPIOGRP->IGREX)|PinNum;
|
|||
|
|
1fdc: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
1fde: 9262 ld.w r3, (r2, 0x8)
|
|||
|
|
1fe0: 6c4c or r1, r3
|
|||
|
|
1fe2: b222 st.w r1, (r2, 0x8)
|
|||
|
|
1fe4: 07ee br 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<4);
|
|||
|
|
1fe6: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
1fe8: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
1fea: 4124 lsli r1, r1, 4
|
|||
|
|
GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
|
|||
|
|
1fec: 6c48 or r1, r2
|
|||
|
|
1fee: b322 st.w r1, (r3, 0x8)
|
|||
|
|
}
|
|||
|
|
1ff0: 07e8 br 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
else if((IO_MODE==2)&&((Selete_EXI_x==18)||(Selete_EXI_x==19))) //PB0.0~PB0.3
|
|||
|
|
1ff2: 3842 cmpnei r0, 2
|
|||
|
|
1ff4: 0be6 bt 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
1ff6: 3300 movi r3, 0
|
|||
|
|
1ff8: 2b11 subi r3, 18
|
|||
|
|
1ffa: 60c8 addu r3, r2
|
|||
|
|
1ffc: 3b01 cmphsi r3, 2
|
|||
|
|
1ffe: 0be1 bt 0x1fc0 // 1fc0 <GPIO_IntGroup_Set+0xa0>
|
|||
|
|
2000: 1065 lrw r3, 0x20000044 // 2014 <GPIO_IntGroup_Set+0xf4>
|
|||
|
|
if(Selete_EXI_x==18)
|
|||
|
|
2002: 3a52 cmpnei r2, 18
|
|||
|
|
GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
|
|||
|
|
2004: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2006: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
if(Selete_EXI_x==18)
|
|||
|
|
2008: 0803 bt 0x200e // 200e <GPIO_IntGroup_Set+0xee>
|
|||
|
|
GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<8);
|
|||
|
|
200a: 4128 lsli r1, r1, 8
|
|||
|
|
200c: 07f0 br 0x1fec // 1fec <GPIO_IntGroup_Set+0xcc>
|
|||
|
|
GPIOGRP->IGREX=(GPIOGRP->IGREX)|(PinNum<<12);
|
|||
|
|
200e: 412c lsli r1, r1, 12
|
|||
|
|
2010: 07ee br 0x1fec // 1fec <GPIO_IntGroup_Set+0xcc>
|
|||
|
|
2012: 0000 bkpt
|
|||
|
|
2014: 20000044 .long 0x20000044
|
|||
|
|
2018: fffff0ff .long 0xfffff0ff
|
|||
|
|
201c: ffff0fff .long 0xffff0fff
|
|||
|
|
2020: fff10000 .long 0xfff10000
|
|||
|
|
2024: ff100000 .long 0xff100000
|
|||
|
|
2028: 0fffffff .long 0x0fffffff
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIOA0_EXI_Init:
|
|||
|
|
|
|||
|
|
0000202c <GPIOA0_EXI_Init>:
|
|||
|
|
//IO EXI SET
|
|||
|
|
//EntryParameter:EXI_IO(EXI0~EXI13)
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPIOA0_EXI_Init(GPIO_EXI_TypeDef EXI_IO)
|
|||
|
|
{
|
|||
|
|
202c: 14d0 push r15
|
|||
|
|
switch (EXI_IO)
|
|||
|
|
202e: 380f cmphsi r0, 16
|
|||
|
|
2030: 0812 bt 0x2054 // 2054 <GPIOA0_EXI_Init+0x28>
|
|||
|
|
2032: 117d lrw r3, 0x2000004c // 2124 <GPIOA0_EXI_Init+0xf8>
|
|||
|
|
2034: e3fff670 bsr 0xd14 // d14 <___gnu_csky_case_uqi>
|
|||
|
|
2038: 1d150f08 .long 0x1d150f08
|
|||
|
|
203c: 39322b24 .long 0x39322b24
|
|||
|
|
2040: 544c463f .long 0x544c463f
|
|||
|
|
2044: 7069625b .long 0x7069625b
|
|||
|
|
{
|
|||
|
|
case 0:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFFF0) | 0X00000001;break;
|
|||
|
|
2048: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
204a: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
204c: 310f movi r1, 15
|
|||
|
|
204e: 68c5 andn r3, r1
|
|||
|
|
2050: 3ba0 bseti r3, 0
|
|||
|
|
case 1:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F) | 0X00000010;break;
|
|||
|
|
2052: 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2054: 1490 pop r15
|
|||
|
|
case 1:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF0F) | 0X00000010;break;
|
|||
|
|
2056: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
2058: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
205a: 31f0 movi r1, 240
|
|||
|
|
205c: 68c5 andn r3, r1
|
|||
|
|
205e: 3ba4 bseti r3, 4
|
|||
|
|
2060: 07f9 br 0x2052 // 2052 <GPIOA0_EXI_Init+0x26>
|
|||
|
|
case 2:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFF0FF) | 0X00000100;break;
|
|||
|
|
2062: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2064: 32f0 movi r2, 240
|
|||
|
|
2066: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
2068: 4244 lsli r2, r2, 4
|
|||
|
|
206a: 68c9 andn r3, r2
|
|||
|
|
206c: 3ba8 bseti r3, 8
|
|||
|
|
case 6:GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF) | 0X01000000;break;
|
|||
|
|
206e: b160 st.w r3, (r1, 0x0)
|
|||
|
|
2070: 07f2 br 0x2054 // 2054 <GPIOA0_EXI_Init+0x28>
|
|||
|
|
case 3:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFF0FFF) | 0X00001000;break;
|
|||
|
|
2072: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2074: 32f0 movi r2, 240
|
|||
|
|
2076: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
2078: 4248 lsli r2, r2, 8
|
|||
|
|
207a: 68c9 andn r3, r2
|
|||
|
|
207c: 3bac bseti r3, 12
|
|||
|
|
207e: 07f8 br 0x206e // 206e <GPIOA0_EXI_Init+0x42>
|
|||
|
|
case 4:GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF0FFFF) | 0X00010000;break;
|
|||
|
|
2080: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2082: 32f0 movi r2, 240
|
|||
|
|
2084: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
2086: 424c lsli r2, r2, 12
|
|||
|
|
2088: 68c9 andn r3, r2
|
|||
|
|
208a: 3bb0 bseti r3, 16
|
|||
|
|
208c: 07f1 br 0x206e // 206e <GPIOA0_EXI_Init+0x42>
|
|||
|
|
case 5:GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0X00100000;break;
|
|||
|
|
208e: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2090: 32f0 movi r2, 240
|
|||
|
|
2092: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
2094: 4250 lsli r2, r2, 16
|
|||
|
|
2096: 68c9 andn r3, r2
|
|||
|
|
2098: 3bb4 bseti r3, 20
|
|||
|
|
209a: 07ea br 0x206e // 206e <GPIOA0_EXI_Init+0x42>
|
|||
|
|
case 6:GPIOA0->CONLR = (GPIOA0->CONLR&0XF0FFFFFF) | 0X01000000;break;
|
|||
|
|
209c: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
209e: 32f0 movi r2, 240
|
|||
|
|
20a0: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
20a2: 4254 lsli r2, r2, 20
|
|||
|
|
20a4: 68c9 andn r3, r2
|
|||
|
|
20a6: 3bb8 bseti r3, 24
|
|||
|
|
20a8: 07e3 br 0x206e // 206e <GPIOA0_EXI_Init+0x42>
|
|||
|
|
case 7:GPIOA0->CONLR = (GPIOA0->CONLR&0X0FFFFFFF) | 0X10000000;break;
|
|||
|
|
20aa: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
20ac: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
20ae: 4364 lsli r3, r3, 4
|
|||
|
|
20b0: 4b64 lsri r3, r3, 4
|
|||
|
|
20b2: 3bbc bseti r3, 28
|
|||
|
|
20b4: 07cf br 0x2052 // 2052 <GPIOA0_EXI_Init+0x26>
|
|||
|
|
case 8:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFFF0) | 0X00000001;break;
|
|||
|
|
20b6: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
20b8: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
20ba: 310f movi r1, 15
|
|||
|
|
20bc: 68c5 andn r3, r1
|
|||
|
|
20be: 3ba0 bseti r3, 0
|
|||
|
|
case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
|
|||
|
|
20c0: b261 st.w r3, (r2, 0x4)
|
|||
|
|
}
|
|||
|
|
20c2: 07c9 br 0x2054 // 2054 <GPIOA0_EXI_Init+0x28>
|
|||
|
|
case 9:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFFF0F) | 0X00000010;break;
|
|||
|
|
20c4: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
20c6: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
20c8: 31f0 movi r1, 240
|
|||
|
|
20ca: 68c5 andn r3, r1
|
|||
|
|
20cc: 3ba4 bseti r3, 4
|
|||
|
|
20ce: 07f9 br 0x20c0 // 20c0 <GPIOA0_EXI_Init+0x94>
|
|||
|
|
case 10:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFFF0FF) | 0X00000100;break;
|
|||
|
|
20d0: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
20d2: 32f0 movi r2, 240
|
|||
|
|
20d4: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
20d6: 4244 lsli r2, r2, 4
|
|||
|
|
20d8: 68c9 andn r3, r2
|
|||
|
|
20da: 3ba8 bseti r3, 8
|
|||
|
|
case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
|
|||
|
|
20dc: b161 st.w r3, (r1, 0x4)
|
|||
|
|
20de: 07bb br 0x2054 // 2054 <GPIOA0_EXI_Init+0x28>
|
|||
|
|
case 11:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFFF0FFF) | 0X00001000;break;
|
|||
|
|
20e0: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
20e2: 32f0 movi r2, 240
|
|||
|
|
20e4: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
20e6: 4248 lsli r2, r2, 8
|
|||
|
|
20e8: 68c9 andn r3, r2
|
|||
|
|
20ea: 3bac bseti r3, 12
|
|||
|
|
20ec: 07f8 br 0x20dc // 20dc <GPIOA0_EXI_Init+0xb0>
|
|||
|
|
case 12:GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0X00010000;break;
|
|||
|
|
20ee: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
20f0: 32f0 movi r2, 240
|
|||
|
|
20f2: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
20f4: 424c lsli r2, r2, 12
|
|||
|
|
20f6: 68c9 andn r3, r2
|
|||
|
|
20f8: 3bb0 bseti r3, 16
|
|||
|
|
20fa: 07f1 br 0x20dc // 20dc <GPIOA0_EXI_Init+0xb0>
|
|||
|
|
case 13:GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0X00100000;break;
|
|||
|
|
20fc: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
20fe: 32f0 movi r2, 240
|
|||
|
|
2100: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2102: 4250 lsli r2, r2, 16
|
|||
|
|
2104: 68c9 andn r3, r2
|
|||
|
|
2106: 3bb4 bseti r3, 20
|
|||
|
|
2108: 07ea br 0x20dc // 20dc <GPIOA0_EXI_Init+0xb0>
|
|||
|
|
case 14:GPIOA0->CONHR = (GPIOA0->CONHR&0XF0FFFFFF) | 0X01000000;break;
|
|||
|
|
210a: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
210c: 32f0 movi r2, 240
|
|||
|
|
210e: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2110: 4254 lsli r2, r2, 20
|
|||
|
|
2112: 68c9 andn r3, r2
|
|||
|
|
2114: 3bb8 bseti r3, 24
|
|||
|
|
2116: 07e3 br 0x20dc // 20dc <GPIOA0_EXI_Init+0xb0>
|
|||
|
|
case 15:GPIOA0->CONHR = (GPIOA0->CONHR&0X0FFFFFFF) | 0X10000000;break;
|
|||
|
|
2118: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
211a: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
211c: 4364 lsli r3, r3, 4
|
|||
|
|
211e: 4b64 lsri r3, r3, 4
|
|||
|
|
2120: 3bbc bseti r3, 28
|
|||
|
|
2122: 07cf br 0x20c0 // 20c0 <GPIOA0_EXI_Init+0x94>
|
|||
|
|
2124: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_Write_High:
|
|||
|
|
|
|||
|
|
00002128 <GPIO_Write_High>:
|
|||
|
|
//bit:0~15
|
|||
|
|
//ReturnValue:VALUE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPIO_Write_High(CSP_GPIO_T *GPIOx,uint8_t bit)
|
|||
|
|
{
|
|||
|
|
(GPIOx)->SODR = (1ul<<bit);
|
|||
|
|
2128: 3301 movi r3, 1
|
|||
|
|
212a: 70c4 lsl r3, r1
|
|||
|
|
212c: b063 st.w r3, (r0, 0xc)
|
|||
|
|
}
|
|||
|
|
212e: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_Write_Low:
|
|||
|
|
|
|||
|
|
00002130 <GPIO_Write_Low>:
|
|||
|
|
void GPIO_Write_Low(CSP_GPIO_T *GPIOx,uint8_t bit)
|
|||
|
|
{
|
|||
|
|
(GPIOx)->CODR = (1ul<<bit);
|
|||
|
|
2130: 3301 movi r3, 1
|
|||
|
|
2132: 70c4 lsl r3, r1
|
|||
|
|
2134: b064 st.w r3, (r0, 0x10)
|
|||
|
|
}
|
|||
|
|
2136: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_Reverse:
|
|||
|
|
|
|||
|
|
00002138 <GPIO_Reverse>:
|
|||
|
|
//ReturnValue:VALUE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPIO_Reverse(CSP_GPIO_T *GPIOx,uint8_t bit)
|
|||
|
|
{
|
|||
|
|
uint32_t dat = 0;
|
|||
|
|
dat=((GPIOx)->ODSR>>bit)&1ul;
|
|||
|
|
2138: 9045 ld.w r2, (r0, 0x14)
|
|||
|
|
213a: 3301 movi r3, 1
|
|||
|
|
213c: 7085 lsr r2, r1
|
|||
|
|
213e: 688c and r2, r3
|
|||
|
|
{
|
|||
|
|
if (dat==1)
|
|||
|
|
2140: 3a40 cmpnei r2, 0
|
|||
|
|
2142: 70c4 lsl r3, r1
|
|||
|
|
2144: 0c03 bf 0x214a // 214a <GPIO_Reverse+0x12>
|
|||
|
|
{
|
|||
|
|
(GPIOx)->CODR = (1ul<<bit);
|
|||
|
|
2146: b064 st.w r3, (r0, 0x10)
|
|||
|
|
{
|
|||
|
|
(GPIOx)->SODR = (1ul<<bit);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2148: 783c jmp r15
|
|||
|
|
(GPIOx)->SODR = (1ul<<bit);
|
|||
|
|
214a: b063 st.w r3, (r0, 0xc)
|
|||
|
|
return;
|
|||
|
|
214c: 07fe br 0x2148 // 2148 <GPIO_Reverse+0x10>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPIO_Read_Status:
|
|||
|
|
|
|||
|
|
0000214e <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);
|
|||
|
|
214e: 3301 movi r3, 1
|
|||
|
|
2150: 9046 ld.w r2, (r0, 0x18)
|
|||
|
|
2152: 70c4 lsl r3, r1
|
|||
|
|
2154: 688c and r2, r3
|
|||
|
|
if (dat == (1<<bit))
|
|||
|
|
2156: 64ca cmpne r2, r3
|
|||
|
|
2158: 6403 mvcv r0
|
|||
|
|
{
|
|||
|
|
value = 1;
|
|||
|
|
}
|
|||
|
|
return value;
|
|||
|
|
215a: 7400 zextb r0, r0
|
|||
|
|
}
|
|||
|
|
215c: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.LPT_Soft_Reset:
|
|||
|
|
|
|||
|
|
00002160 <LPT_Soft_Reset>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void LPT_Soft_Reset(void)
|
|||
|
|
{
|
|||
|
|
LPT->RSSR |= (0X5<<12);
|
|||
|
|
2160: 1064 lrw r3, 0x20000014 // 2170 <LPT_Soft_Reset+0x10>
|
|||
|
|
2162: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
2164: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
2166: 3bac bseti r3, 12
|
|||
|
|
2168: 3bae bseti r3, 14
|
|||
|
|
216a: b261 st.w r3, (r2, 0x4)
|
|||
|
|
}
|
|||
|
|
216c: 783c jmp r15
|
|||
|
|
216e: 0000 bkpt
|
|||
|
|
2170: 20000014 .long 0x20000014
|
|||
|
|
|
|||
|
|
Disassembly of section .text.WWDT_CNT_Load:
|
|||
|
|
|
|||
|
|
00002174 <WWDT_CNT_Load>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void WWDT_CNT_Load(U8_T cnt_data)
|
|||
|
|
{
|
|||
|
|
WWDT->CR |= cnt_data; //SET
|
|||
|
|
2174: 1063 lrw r3, 0x20000010 // 2180 <WWDT_CNT_Load+0xc>
|
|||
|
|
2176: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2178: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
217a: 6c08 or r0, r2
|
|||
|
|
217c: b300 st.w r0, (r3, 0x0)
|
|||
|
|
}
|
|||
|
|
217e: 783c jmp r15
|
|||
|
|
2180: 20000010 .long 0x20000010
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_DeInit:
|
|||
|
|
|
|||
|
|
00002184 <BT_DeInit>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void BT_DeInit(CSP_BT_T *BTx)
|
|||
|
|
{
|
|||
|
|
BTx->RSSR=BT_RESET_VALUE;
|
|||
|
|
2184: 3300 movi r3, 0
|
|||
|
|
2186: b060 st.w r3, (r0, 0x0)
|
|||
|
|
BTx->CR=BT_RESET_VALUE;
|
|||
|
|
2188: b061 st.w r3, (r0, 0x4)
|
|||
|
|
BTx->PSCR=BT_RESET_VALUE;
|
|||
|
|
218a: b062 st.w r3, (r0, 0x8)
|
|||
|
|
BTx->PRDR=BT_RESET_VALUE;
|
|||
|
|
218c: b063 st.w r3, (r0, 0xc)
|
|||
|
|
BTx->CMP=BT_RESET_VALUE;
|
|||
|
|
218e: b064 st.w r3, (r0, 0x10)
|
|||
|
|
BTx->CNT=BT_RESET_VALUE;
|
|||
|
|
2190: b065 st.w r3, (r0, 0x14)
|
|||
|
|
BTx->EVTRG=BT_RESET_VALUE;
|
|||
|
|
2192: b066 st.w r3, (r0, 0x18)
|
|||
|
|
BTx->EVSWF=BT_RESET_VALUE;
|
|||
|
|
2194: b069 st.w r3, (r0, 0x24)
|
|||
|
|
BTx->RISR=BT_RESET_VALUE;
|
|||
|
|
2196: b06a st.w r3, (r0, 0x28)
|
|||
|
|
BTx->IMCR=BT_RESET_VALUE;
|
|||
|
|
2198: b06b st.w r3, (r0, 0x2c)
|
|||
|
|
BTx->MISR=BT_RESET_VALUE;
|
|||
|
|
219a: b06c st.w r3, (r0, 0x30)
|
|||
|
|
BTx->ICR=BT_RESET_VALUE;
|
|||
|
|
219c: b06d st.w r3, (r0, 0x34)
|
|||
|
|
}
|
|||
|
|
219e: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_Start:
|
|||
|
|
|
|||
|
|
000021a0 <BT_Start>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void BT_Start(CSP_BT_T *BTx)
|
|||
|
|
{
|
|||
|
|
BTx->RSSR |=0X01;
|
|||
|
|
21a0: 9060 ld.w r3, (r0, 0x0)
|
|||
|
|
21a2: 3ba0 bseti r3, 0
|
|||
|
|
21a4: b060 st.w r3, (r0, 0x0)
|
|||
|
|
}
|
|||
|
|
21a6: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_Soft_Reset:
|
|||
|
|
|
|||
|
|
000021a8 <BT_Soft_Reset>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void BT_Soft_Reset(CSP_BT_T *BTx)
|
|||
|
|
{
|
|||
|
|
BTx->RSSR |= (0X5<<12);
|
|||
|
|
21a8: 9060 ld.w r3, (r0, 0x0)
|
|||
|
|
21aa: 3bac bseti r3, 12
|
|||
|
|
21ac: 3bae bseti r3, 14
|
|||
|
|
21ae: b060 st.w r3, (r0, 0x0)
|
|||
|
|
}
|
|||
|
|
21b0: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_Configure:
|
|||
|
|
|
|||
|
|
000021b2 <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)
|
|||
|
|
{
|
|||
|
|
21b2: 14c3 push r4-r6
|
|||
|
|
21b4: 98a4 ld.w r5, (r14, 0x10)
|
|||
|
|
21b6: 6d97 mov r6, r5
|
|||
|
|
21b8: 9883 ld.w r4, (r14, 0xc)
|
|||
|
|
BTx->CR |=BTCLK| BTSHDWSTP| BTOPM| BTEXTCKM;
|
|||
|
|
21ba: 6d18 or r4, r6
|
|||
|
|
21bc: 6cd0 or r3, r4
|
|||
|
|
21be: 90a1 ld.w r5, (r0, 0x4)
|
|||
|
|
21c0: 6c4c or r1, r3
|
|||
|
|
21c2: 6c54 or r1, r5
|
|||
|
|
21c4: b021 st.w r1, (r0, 0x4)
|
|||
|
|
BTx->PSCR = PSCR_DATA;
|
|||
|
|
21c6: b042 st.w r2, (r0, 0x8)
|
|||
|
|
}
|
|||
|
|
21c8: 1483 pop r4-r6
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_ControlSet_Configure:
|
|||
|
|
|
|||
|
|
000021ca <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)
|
|||
|
|
{
|
|||
|
|
21ca: 14c4 push r4-r7
|
|||
|
|
21cc: 1421 subi r14, r14, 4
|
|||
|
|
21ce: 9885 ld.w r4, (r14, 0x14)
|
|||
|
|
21d0: 6dd3 mov r7, r4
|
|||
|
|
21d2: 9886 ld.w r4, (r14, 0x18)
|
|||
|
|
21d4: b880 st.w r4, (r14, 0x0)
|
|||
|
|
21d6: 9887 ld.w r4, (r14, 0x1c)
|
|||
|
|
21d8: 6d93 mov r6, r4
|
|||
|
|
21da: 98a8 ld.w r5, (r14, 0x20)
|
|||
|
|
BTx->CR |=BTSTART| BTIDLE| BTSYNC| BTSYNCMD| BTOSTMD| BTAREARM| BTCNTRLD;
|
|||
|
|
21dc: 6d58 or r5, r6
|
|||
|
|
21de: 98c0 ld.w r6, (r14, 0x0)
|
|||
|
|
21e0: 6d58 or r5, r6
|
|||
|
|
21e2: 6d5c or r5, r7
|
|||
|
|
21e4: 6cd4 or r3, r5
|
|||
|
|
21e6: 6c8c or r2, r3
|
|||
|
|
21e8: 9081 ld.w r4, (r0, 0x4)
|
|||
|
|
21ea: 6c48 or r1, r2
|
|||
|
|
21ec: 6d04 or r4, r1
|
|||
|
|
21ee: 6d9f mov r6, r7
|
|||
|
|
21f0: b081 st.w r4, (r0, 0x4)
|
|||
|
|
}
|
|||
|
|
21f2: 1401 addi r14, r14, 4
|
|||
|
|
21f4: 1484 pop r4-r7
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_Period_CMP_Write:
|
|||
|
|
|
|||
|
|
000021f6 <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;
|
|||
|
|
21f6: b023 st.w r1, (r0, 0xc)
|
|||
|
|
BTx->CMP =BTCMP_DATA;
|
|||
|
|
21f8: b044 st.w r2, (r0, 0x10)
|
|||
|
|
}
|
|||
|
|
21fa: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_ConfigInterrupt_CMD:
|
|||
|
|
|
|||
|
|
000021fc <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)
|
|||
|
|
21fc: 3940 cmpnei r1, 0
|
|||
|
|
{
|
|||
|
|
BTx->IMCR |= BT_IMSCR_X;
|
|||
|
|
21fe: 906b ld.w r3, (r0, 0x2c)
|
|||
|
|
if (NewState != DISABLE)
|
|||
|
|
2200: 0c04 bf 0x2208 // 2208 <BT_ConfigInterrupt_CMD+0xc>
|
|||
|
|
BTx->IMCR |= BT_IMSCR_X;
|
|||
|
|
2202: 6c8c or r2, r3
|
|||
|
|
2204: b04b st.w r2, (r0, 0x2c)
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
BTx->IMCR &= ~BT_IMSCR_X;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2206: 783c jmp r15
|
|||
|
|
BTx->IMCR &= ~BT_IMSCR_X;
|
|||
|
|
2208: 68c9 andn r3, r2
|
|||
|
|
220a: b06b st.w r3, (r0, 0x2c)
|
|||
|
|
}
|
|||
|
|
220c: 07fd br 0x2206 // 2206 <BT_ConfigInterrupt_CMD+0xa>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT1_INT_ENABLE:
|
|||
|
|
|
|||
|
|
00002210 <BT1_INT_ENABLE>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void BT1_INT_ENABLE(void)
|
|||
|
|
{
|
|||
|
|
INTC_ISER_WRITE(BT1_INT);
|
|||
|
|
2210: 3380 movi r3, 128
|
|||
|
|
2212: 4376 lsli r3, r3, 22
|
|||
|
|
2214: 1042 lrw r2, 0xe000e100 // 221c <BT1_INT_ENABLE+0xc>
|
|||
|
|
2216: b260 st.w r3, (r2, 0x0)
|
|||
|
|
}
|
|||
|
|
2218: 783c jmp r15
|
|||
|
|
221a: 0000 bkpt
|
|||
|
|
221c: e000e100 .long 0xe000e100
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_IO_Init:
|
|||
|
|
|
|||
|
|
00002220 <GPT_IO_Init>:
|
|||
|
|
//EntryParameter:GPT_CHA_PB01,GPT_CHA_PA09,GPT_CHA_PA010,GPT_CHB_PA010,GPT_CHB_PA011,GPT_CHB_PB00,GPT_CHB_PB01
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_IO_Init(GPT_IOSET_TypeDef IONAME)
|
|||
|
|
{
|
|||
|
|
if(IONAME==GPT_CHA_PB01)
|
|||
|
|
2220: 3840 cmpnei r0, 0
|
|||
|
|
2222: 080a bt 0x2236 // 2236 <GPT_IO_Init+0x16>
|
|||
|
|
{
|
|||
|
|
GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000050;
|
|||
|
|
2224: 1165 lrw r3, 0x20000048 // 22b8 <GPT_IO_Init+0x98>
|
|||
|
|
2226: 31f0 movi r1, 240
|
|||
|
|
2228: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
222a: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
222c: 68c5 andn r3, r1
|
|||
|
|
222e: 3ba4 bseti r3, 4
|
|||
|
|
2230: 3ba6 bseti r3, 6
|
|||
|
|
{
|
|||
|
|
GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFFF0)|0x00000004;
|
|||
|
|
}
|
|||
|
|
if(IONAME==GPT_CHB_PB01)
|
|||
|
|
{
|
|||
|
|
GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000060;
|
|||
|
|
2232: b260 st.w r3, (r2, 0x0)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2234: 040b br 0x224a // 224a <GPT_IO_Init+0x2a>
|
|||
|
|
if(IONAME==GPT_CHA_PA09)
|
|||
|
|
2236: 3841 cmpnei r0, 1
|
|||
|
|
2238: 080a bt 0x224c // 224c <GPT_IO_Init+0x2c>
|
|||
|
|
GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFFFF0F)|0x00000050;
|
|||
|
|
223a: 1161 lrw r3, 0x2000004c // 22bc <GPT_IO_Init+0x9c>
|
|||
|
|
223c: 31f0 movi r1, 240
|
|||
|
|
223e: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
2240: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
2242: 68c5 andn r3, r1
|
|||
|
|
2244: 3ba4 bseti r3, 4
|
|||
|
|
2246: 3ba6 bseti r3, 6
|
|||
|
|
2248: b261 st.w r3, (r2, 0x4)
|
|||
|
|
}
|
|||
|
|
224a: 783c jmp r15
|
|||
|
|
if(IONAME==GPT_CHA_PA010)
|
|||
|
|
224c: 3842 cmpnei r0, 2
|
|||
|
|
224e: 080b bt 0x2264 // 2264 <GPT_IO_Init+0x44>
|
|||
|
|
GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFFF0FF)|0x00000600;
|
|||
|
|
2250: 107b lrw r3, 0x2000004c // 22bc <GPT_IO_Init+0x9c>
|
|||
|
|
2252: 32f0 movi r2, 240
|
|||
|
|
2254: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2256: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2258: 4244 lsli r2, r2, 4
|
|||
|
|
225a: 68c9 andn r3, r2
|
|||
|
|
225c: 3ba9 bseti r3, 9
|
|||
|
|
225e: 3baa bseti r3, 10
|
|||
|
|
GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFFF0FF)|0x00000700;
|
|||
|
|
2260: b161 st.w r3, (r1, 0x4)
|
|||
|
|
2262: 07f4 br 0x224a // 224a <GPT_IO_Init+0x2a>
|
|||
|
|
if(IONAME==GPT_CHB_PA010)
|
|||
|
|
2264: 3843 cmpnei r0, 3
|
|||
|
|
2266: 080b bt 0x227c // 227c <GPT_IO_Init+0x5c>
|
|||
|
|
GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFFF0FF)|0x00000700;
|
|||
|
|
2268: 1075 lrw r3, 0x2000004c // 22bc <GPT_IO_Init+0x9c>
|
|||
|
|
226a: 32f0 movi r2, 240
|
|||
|
|
226c: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
226e: 4244 lsli r2, r2, 4
|
|||
|
|
2270: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2272: 68c9 andn r3, r2
|
|||
|
|
2274: 32e0 movi r2, 224
|
|||
|
|
2276: 4243 lsli r2, r2, 3
|
|||
|
|
2278: 6cc8 or r3, r2
|
|||
|
|
227a: 07f3 br 0x2260 // 2260 <GPT_IO_Init+0x40>
|
|||
|
|
if(IONAME==GPT_CHB_PA011)
|
|||
|
|
227c: 3844 cmpnei r0, 4
|
|||
|
|
227e: 080a bt 0x2292 // 2292 <GPT_IO_Init+0x72>
|
|||
|
|
GPIOA0->CONHR=(GPIOA0->CONHR & 0XFFFF0FFF)|0x00006000;
|
|||
|
|
2280: 106f lrw r3, 0x2000004c // 22bc <GPT_IO_Init+0x9c>
|
|||
|
|
2282: 32f0 movi r2, 240
|
|||
|
|
2284: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2286: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2288: 4248 lsli r2, r2, 8
|
|||
|
|
228a: 68c9 andn r3, r2
|
|||
|
|
228c: 3bad bseti r3, 13
|
|||
|
|
228e: 3bae bseti r3, 14
|
|||
|
|
2290: 07e8 br 0x2260 // 2260 <GPT_IO_Init+0x40>
|
|||
|
|
if(IONAME==GPT_CHB_PB00)
|
|||
|
|
2292: 3845 cmpnei r0, 5
|
|||
|
|
2294: 0808 bt 0x22a4 // 22a4 <GPT_IO_Init+0x84>
|
|||
|
|
GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFFF0)|0x00000004;
|
|||
|
|
2296: 1069 lrw r3, 0x20000048 // 22b8 <GPT_IO_Init+0x98>
|
|||
|
|
2298: 310f movi r1, 15
|
|||
|
|
229a: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
229c: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
229e: 68c5 andn r3, r1
|
|||
|
|
22a0: 3ba2 bseti r3, 2
|
|||
|
|
22a2: 07c8 br 0x2232 // 2232 <GPT_IO_Init+0x12>
|
|||
|
|
if(IONAME==GPT_CHB_PB01)
|
|||
|
|
22a4: 3846 cmpnei r0, 6
|
|||
|
|
22a6: 0bd2 bt 0x224a // 224a <GPT_IO_Init+0x2a>
|
|||
|
|
GPIOB0->CONLR=(GPIOB0->CONLR & 0XFFFFFF0F)|0x00000060;
|
|||
|
|
22a8: 1064 lrw r3, 0x20000048 // 22b8 <GPT_IO_Init+0x98>
|
|||
|
|
22aa: 31f0 movi r1, 240
|
|||
|
|
22ac: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
22ae: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
22b0: 68c5 andn r3, r1
|
|||
|
|
22b2: 3ba5 bseti r3, 5
|
|||
|
|
22b4: 3ba6 bseti r3, 6
|
|||
|
|
22b6: 07be br 0x2232 // 2232 <GPT_IO_Init+0x12>
|
|||
|
|
22b8: 20000048 .long 0x20000048
|
|||
|
|
22bc: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_Configure:
|
|||
|
|
|
|||
|
|
000022c0 <GPT_Configure>:
|
|||
|
|
//GPT Init
|
|||
|
|
//EntryParameter:
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_Configure(GPT_CLK_TypeDef GPTCLKX,GPT_CSS_TypeDef GCSSX,GPT_SHDWSTP_TypeDef GSHDWSTPX,U16_T GPSCX)
|
|||
|
|
{
|
|||
|
|
22c0: 14c1 push r4
|
|||
|
|
GPT0->CEDR = GPTCLKX| GCSSX|GSHDWSTPX;
|
|||
|
|
22c2: 6c48 or r1, r2
|
|||
|
|
22c4: 1083 lrw r4, 0x20000024 // 22d0 <GPT_Configure+0x10>
|
|||
|
|
22c6: 6c04 or r0, r1
|
|||
|
|
22c8: 9480 ld.w r4, (r4, 0x0)
|
|||
|
|
22ca: b400 st.w r0, (r4, 0x0)
|
|||
|
|
GPT0->PSCR=GPSCX;
|
|||
|
|
22cc: b462 st.w r3, (r4, 0x8)
|
|||
|
|
}
|
|||
|
|
22ce: 1481 pop r4
|
|||
|
|
22d0: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_WaveCtrl_Configure:
|
|||
|
|
|
|||
|
|
000022d4 <GPT_WaveCtrl_Configure>:
|
|||
|
|
/*************************************************************/
|
|||
|
|
//GPT0->CR = (0X0<<0)|(0x00<<2)|(0x01<<3)|(0x00<<4)|(0X00<<6)|(0x01<<18)|(0x00<<9)|(0X00<<10)|(0x00<<11)|(0x00<<13) ;
|
|||
|
|
//GPT0->CMPLDR=(0X00<<0)|(0X00<<1)|(0X03<<4)|(0X03<<7);
|
|||
|
|
void GPT_WaveCtrl_Configure(GPT_CNTMD_TypeDef GCNTMDX,GPT_SWSYN_TypeDef GSWSYNX,GPT_IDLEST_TypeDef GIDLEX,GPT_PRDLD0_TypeDef GPRDLD0,GPT_OPM_TypeDef GOPMX,
|
|||
|
|
GPT_BURST_TypeDef GBURSTX,GPT_CKS_TypeDef GCKS,GPT_CGSRC_TypeDef CGSRCX,GPT_CGFLT_TypeDef CGFLT,GPT_PSCLD_TypeDef PSCLDX)
|
|||
|
|
{
|
|||
|
|
22d4: 14c4 push r4-r7
|
|||
|
|
22d6: 1423 subi r14, r14, 12
|
|||
|
|
22d8: 9887 ld.w r4, (r14, 0x1c)
|
|||
|
|
22da: 6dd3 mov r7, r4
|
|||
|
|
22dc: 9888 ld.w r4, (r14, 0x20)
|
|||
|
|
22de: b880 st.w r4, (r14, 0x0)
|
|||
|
|
22e0: 9889 ld.w r4, (r14, 0x24)
|
|||
|
|
22e2: b881 st.w r4, (r14, 0x4)
|
|||
|
|
22e4: 988a ld.w r4, (r14, 0x28)
|
|||
|
|
22e6: b882 st.w r4, (r14, 0x8)
|
|||
|
|
22e8: 988b ld.w r4, (r14, 0x2c)
|
|||
|
|
22ea: 6d93 mov r6, r4
|
|||
|
|
22ec: 988c ld.w r4, (r14, 0x30)
|
|||
|
|
GPT0->CR =GCNTMDX|GSWSYNX|GIDLEX|GPRDLD0|GOPMX|GBURSTX|GCKS|CGSRCX|CGFLT|PSCLDX|GPT_WAVE_MODE;
|
|||
|
|
22ee: 3cb2 bseti r4, 18
|
|||
|
|
22f0: 6d18 or r4, r6
|
|||
|
|
22f2: 98c2 ld.w r6, (r14, 0x8)
|
|||
|
|
22f4: 6d18 or r4, r6
|
|||
|
|
22f6: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
22f8: 6d18 or r4, r6
|
|||
|
|
22fa: 98c0 ld.w r6, (r14, 0x0)
|
|||
|
|
22fc: 6d18 or r4, r6
|
|||
|
|
22fe: 6d1c or r4, r7
|
|||
|
|
2300: 6cd0 or r3, r4
|
|||
|
|
2302: 6c8c or r2, r3
|
|||
|
|
2304: 6c48 or r1, r2
|
|||
|
|
2306: 10a4 lrw r5, 0x20000024 // 2314 <GPT_WaveCtrl_Configure+0x40>
|
|||
|
|
2308: 6c04 or r0, r1
|
|||
|
|
230a: 95a0 ld.w r5, (r5, 0x0)
|
|||
|
|
230c: 6d9f mov r6, r7
|
|||
|
|
230e: b503 st.w r0, (r5, 0xc)
|
|||
|
|
}
|
|||
|
|
2310: 1403 addi r14, r14, 12
|
|||
|
|
2312: 1484 pop r4-r7
|
|||
|
|
2314: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_WaveLoad_Configure:
|
|||
|
|
|
|||
|
|
00002318 <GPT_WaveLoad_Configure>:
|
|||
|
|
//GPT Wave control Init
|
|||
|
|
//EntryParameter:
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_WaveLoad_Configure(GPT_SHDWAQA_TypeDef SHDWAQAX,GPT_SHDWAQB_TypeDef SHDWAQBX,GPT_AQLDA_TypeDef AQLDAX, GPT_AQLDB_TypeDef AQLDBX)
|
|||
|
|
{
|
|||
|
|
2318: 14c1 push r4
|
|||
|
|
GPT0->AQLDR=SHDWAQAX|SHDWAQBX|AQLDAX|AQLDBX;
|
|||
|
|
231a: 6c8c or r2, r3
|
|||
|
|
231c: 6c48 or r1, r2
|
|||
|
|
231e: 1083 lrw r4, 0x20000024 // 2328 <GPT_WaveLoad_Configure+0x10>
|
|||
|
|
2320: 6c04 or r0, r1
|
|||
|
|
2322: 9480 ld.w r4, (r4, 0x0)
|
|||
|
|
2324: b411 st.w r0, (r4, 0x44)
|
|||
|
|
}
|
|||
|
|
2326: 1481 pop r4
|
|||
|
|
2328: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_WaveOut_Configure:
|
|||
|
|
|
|||
|
|
0000232c <GPT_WaveOut_Configure>:
|
|||
|
|
//EntryParameter:
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_WaveOut_Configure(GPT_GPTCHX_TypeDef GPTCHX,GPT_CASEL_TypeDef CASELX,GPT_CBSEL_TypeDef CBSELX,U8_T ZROX,U8_T PRDX,U8_T CAUX,
|
|||
|
|
U8_T CADX,U8_T CBUX,U8_T CBDX,U8_T T1UX,U8_T T1DX,U8_T T2UX,U8_T T2DX)
|
|||
|
|
{
|
|||
|
|
232c: 14c4 push r4-r7
|
|||
|
|
232e: 1425 subi r14, r14, 20
|
|||
|
|
2330: 1c09 addi r4, r14, 36
|
|||
|
|
2332: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
2334: b880 st.w r4, (r14, 0x0)
|
|||
|
|
2336: 1c0a addi r4, r14, 40
|
|||
|
|
2338: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
233a: b881 st.w r4, (r14, 0x4)
|
|||
|
|
233c: 1c0b addi r4, r14, 44
|
|||
|
|
233e: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
2340: b882 st.w r4, (r14, 0x8)
|
|||
|
|
2342: 1c0c addi r4, r14, 48
|
|||
|
|
2344: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
2346: b883 st.w r4, (r14, 0xc)
|
|||
|
|
2348: 1c0d addi r4, r14, 52
|
|||
|
|
234a: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
234c: 1e10 addi r6, r14, 64
|
|||
|
|
234e: b884 st.w r4, (r14, 0x10)
|
|||
|
|
2350: 1d0f addi r5, r14, 60
|
|||
|
|
2352: 1c0e addi r4, r14, 56
|
|||
|
|
2354: 86e0 ld.b r7, (r6, 0x0)
|
|||
|
|
if(GPTCHX==GPT_CHA)
|
|||
|
|
2356: 3840 cmpnei r0, 0
|
|||
|
|
{
|
|||
|
|
2358: 1e11 addi r6, r14, 68
|
|||
|
|
235a: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
235c: 85a0 ld.b r5, (r5, 0x0)
|
|||
|
|
235e: 86c0 ld.b r6, (r6, 0x0)
|
|||
|
|
if(GPTCHX==GPT_CHA)
|
|||
|
|
2360: 081f bt 0x239e // 239e <GPT_WaveOut_Configure+0x72>
|
|||
|
|
{
|
|||
|
|
GPT0->AQCRA=CASELX|CBSELX|(ZROX<<0)|(PRDX<<2)|(CAUX<<4)|(CADX<<6)|(CBUX<<8)|(CBDX<<10)|(T1UX<<12)|(T1DX<<14)|(T2UX<<16)|(T2DX<<18);
|
|||
|
|
2362: 47f0 lsli r7, r7, 16
|
|||
|
|
2364: 46d2 lsli r6, r6, 18
|
|||
|
|
2366: 45ae lsli r5, r5, 14
|
|||
|
|
2368: 6dd8 or r7, r6
|
|||
|
|
236a: 6dd4 or r7, r5
|
|||
|
|
236c: 448c lsli r4, r4, 12
|
|||
|
|
236e: 6dd0 or r7, r4
|
|||
|
|
2370: 9884 ld.w r4, (r14, 0x10)
|
|||
|
|
2372: 448a lsli r4, r4, 10
|
|||
|
|
2374: 6dd0 or r7, r4
|
|||
|
|
2376: 9883 ld.w r4, (r14, 0xc)
|
|||
|
|
2378: 4488 lsli r4, r4, 8
|
|||
|
|
237a: 98a2 ld.w r5, (r14, 0x8)
|
|||
|
|
237c: 6d1c or r4, r7
|
|||
|
|
237e: 45e6 lsli r7, r5, 6
|
|||
|
|
2380: 6d1c or r4, r7
|
|||
|
|
2382: 6c90 or r2, r4
|
|||
|
|
2384: 6cc8 or r3, r2
|
|||
|
|
2386: 9841 ld.w r2, (r14, 0x4)
|
|||
|
|
2388: 4244 lsli r2, r2, 4
|
|||
|
|
238a: 6cc8 or r3, r2
|
|||
|
|
238c: 6c4c or r1, r3
|
|||
|
|
238e: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
2390: 4362 lsli r3, r3, 2
|
|||
|
|
2392: 1013 lrw r0, 0x20000024 // 23dc <GPT_WaveOut_Configure+0xb0>
|
|||
|
|
2394: 6c4c or r1, r3
|
|||
|
|
2396: 9000 ld.w r0, (r0, 0x0)
|
|||
|
|
2398: b032 st.w r1, (r0, 0x48)
|
|||
|
|
}
|
|||
|
|
if(GPTCHX==GPT_CHB)
|
|||
|
|
{
|
|||
|
|
GPT0->AQCRB=CASELX|CBSELX|(ZROX<<0)|(PRDX<<2)|(CAUX<<4)|(CADX<<6)|(CBUX<<8)|(CBDX<<10)|(T1UX<<12)|(T1DX<<14)|(T2UX<<16)|(T2DX<<18);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
239a: 1405 addi r14, r14, 20
|
|||
|
|
239c: 1484 pop r4-r7
|
|||
|
|
if(GPTCHX==GPT_CHB)
|
|||
|
|
239e: 3841 cmpnei r0, 1
|
|||
|
|
23a0: 0bfd bt 0x239a // 239a <GPT_WaveOut_Configure+0x6e>
|
|||
|
|
GPT0->AQCRB=CASELX|CBSELX|(ZROX<<0)|(PRDX<<2)|(CAUX<<4)|(CADX<<6)|(CBUX<<8)|(CBDX<<10)|(T1UX<<12)|(T1DX<<14)|(T2UX<<16)|(T2DX<<18);
|
|||
|
|
23a2: 47f0 lsli r7, r7, 16
|
|||
|
|
23a4: 46d2 lsli r6, r6, 18
|
|||
|
|
23a6: 45ae lsli r5, r5, 14
|
|||
|
|
23a8: 6dd8 or r7, r6
|
|||
|
|
23aa: 6dd4 or r7, r5
|
|||
|
|
23ac: 448c lsli r4, r4, 12
|
|||
|
|
23ae: 6dd0 or r7, r4
|
|||
|
|
23b0: 9884 ld.w r4, (r14, 0x10)
|
|||
|
|
23b2: 448a lsli r4, r4, 10
|
|||
|
|
23b4: 6dd0 or r7, r4
|
|||
|
|
23b6: 9883 ld.w r4, (r14, 0xc)
|
|||
|
|
23b8: 4488 lsli r4, r4, 8
|
|||
|
|
23ba: 98a2 ld.w r5, (r14, 0x8)
|
|||
|
|
23bc: 6d1c or r4, r7
|
|||
|
|
23be: 45e6 lsli r7, r5, 6
|
|||
|
|
23c0: 6d1c or r4, r7
|
|||
|
|
23c2: 6c90 or r2, r4
|
|||
|
|
23c4: 6cc8 or r3, r2
|
|||
|
|
23c6: 9841 ld.w r2, (r14, 0x4)
|
|||
|
|
23c8: 4244 lsli r2, r2, 4
|
|||
|
|
23ca: 6cc8 or r3, r2
|
|||
|
|
23cc: 6c4c or r1, r3
|
|||
|
|
23ce: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
23d0: 4362 lsli r3, r3, 2
|
|||
|
|
23d2: 1003 lrw r0, 0x20000024 // 23dc <GPT_WaveOut_Configure+0xb0>
|
|||
|
|
23d4: 6c4c or r1, r3
|
|||
|
|
23d6: 9000 ld.w r0, (r0, 0x0)
|
|||
|
|
23d8: b033 st.w r1, (r0, 0x4c)
|
|||
|
|
}
|
|||
|
|
23da: 07e0 br 0x239a // 239a <GPT_WaveOut_Configure+0x6e>
|
|||
|
|
23dc: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_Start:
|
|||
|
|
|
|||
|
|
000023e0 <GPT_Start>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_Start(void)
|
|||
|
|
{
|
|||
|
|
GPT0->RSSR |= 0X01;
|
|||
|
|
23e0: 1063 lrw r3, 0x20000024 // 23ec <GPT_Start+0xc>
|
|||
|
|
23e2: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
23e4: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
23e6: 3ba0 bseti r3, 0
|
|||
|
|
23e8: b261 st.w r3, (r2, 0x4)
|
|||
|
|
}
|
|||
|
|
23ea: 783c jmp r15
|
|||
|
|
23ec: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_Period_CMP_Write:
|
|||
|
|
|
|||
|
|
000023f0 <GPT_Period_CMP_Write>:
|
|||
|
|
//EntryParameter:
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_Period_CMP_Write(U16_T PRDR_DATA,U16_T CMPA_DATA,U16_T CMPB_DATA)
|
|||
|
|
{
|
|||
|
|
GPT0->PRDR =PRDR_DATA;
|
|||
|
|
23f0: 1063 lrw r3, 0x20000024 // 23fc <GPT_Period_CMP_Write+0xc>
|
|||
|
|
23f2: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
23f4: b309 st.w r0, (r3, 0x24)
|
|||
|
|
GPT0->CMPA =CMPA_DATA;
|
|||
|
|
23f6: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
GPT0->CMPB =CMPB_DATA;
|
|||
|
|
23f8: b34c st.w r2, (r3, 0x30)
|
|||
|
|
}
|
|||
|
|
23fa: 783c jmp r15
|
|||
|
|
23fc: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT_ConfigInterrupt_CMD:
|
|||
|
|
|
|||
|
|
00002400 <GPT_ConfigInterrupt_CMD>:
|
|||
|
|
//EntryParameter:LPT_IMSCR_X,NewState
|
|||
|
|
//NewState:ENABLE,DISABLE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT_ConfigInterrupt_CMD(FunctionalStatus NewState,U32_T GPT_IMSCR_X)
|
|||
|
|
{
|
|||
|
|
2400: 1066 lrw r3, 0x20000024 // 2418 <GPT_ConfigInterrupt_CMD+0x18>
|
|||
|
|
if (NewState != DISABLE)
|
|||
|
|
2402: 3840 cmpnei r0, 0
|
|||
|
|
{
|
|||
|
|
GPT0->IMCR |= GPT_IMSCR_X;
|
|||
|
|
2404: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2406: 237f addi r3, 128
|
|||
|
|
2408: 9356 ld.w r2, (r3, 0x58)
|
|||
|
|
if (NewState != DISABLE)
|
|||
|
|
240a: 0c04 bf 0x2412 // 2412 <GPT_ConfigInterrupt_CMD+0x12>
|
|||
|
|
GPT0->IMCR |= GPT_IMSCR_X;
|
|||
|
|
240c: 6c48 or r1, r2
|
|||
|
|
240e: b336 st.w r1, (r3, 0x58)
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
{
|
|||
|
|
GPT0->IMCR &= ~GPT_IMSCR_X;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2410: 783c jmp r15
|
|||
|
|
GPT0->IMCR &= ~GPT_IMSCR_X;
|
|||
|
|
2412: 6885 andn r2, r1
|
|||
|
|
2414: b356 st.w r2, (r3, 0x58)
|
|||
|
|
}
|
|||
|
|
2416: 07fd br 0x2410 // 2410 <GPT_ConfigInterrupt_CMD+0x10>
|
|||
|
|
2418: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART0_DeInit:
|
|||
|
|
|
|||
|
|
0000241c <UART0_DeInit>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void UART0_DeInit(void)
|
|||
|
|
{
|
|||
|
|
UART0->DATA = UART_RESET_VALUE;
|
|||
|
|
241c: 1065 lrw r3, 0x20000040 // 2430 <UART0_DeInit+0x14>
|
|||
|
|
241e: 3200 movi r2, 0
|
|||
|
|
2420: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2422: b340 st.w r2, (r3, 0x0)
|
|||
|
|
UART0->SR = UART_RESET_VALUE;
|
|||
|
|
2424: b341 st.w r2, (r3, 0x4)
|
|||
|
|
UART0->CTRL = UART_RESET_VALUE;
|
|||
|
|
2426: b342 st.w r2, (r3, 0x8)
|
|||
|
|
UART0->ISR = UART_RESET_VALUE;
|
|||
|
|
2428: b343 st.w r2, (r3, 0xc)
|
|||
|
|
UART0->BRDIV =UART_RESET_VALUE;
|
|||
|
|
242a: b344 st.w r2, (r3, 0x10)
|
|||
|
|
}
|
|||
|
|
242c: 783c jmp r15
|
|||
|
|
242e: 0000 bkpt
|
|||
|
|
2430: 20000040 .long 0x20000040
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART1_DeInit:
|
|||
|
|
|
|||
|
|
00002434 <UART1_DeInit>:
|
|||
|
|
void UART1_DeInit(void)
|
|||
|
|
{
|
|||
|
|
UART1->DATA = UART_RESET_VALUE;
|
|||
|
|
2434: 1065 lrw r3, 0x2000003c // 2448 <UART1_DeInit+0x14>
|
|||
|
|
2436: 3200 movi r2, 0
|
|||
|
|
2438: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
243a: b340 st.w r2, (r3, 0x0)
|
|||
|
|
UART1->SR = UART_RESET_VALUE;
|
|||
|
|
243c: b341 st.w r2, (r3, 0x4)
|
|||
|
|
UART1->CTRL = UART_RESET_VALUE;
|
|||
|
|
243e: b342 st.w r2, (r3, 0x8)
|
|||
|
|
UART1->ISR = UART_RESET_VALUE;
|
|||
|
|
2440: b343 st.w r2, (r3, 0xc)
|
|||
|
|
UART1->BRDIV =UART_RESET_VALUE;
|
|||
|
|
2442: b344 st.w r2, (r3, 0x10)
|
|||
|
|
}
|
|||
|
|
2444: 783c jmp r15
|
|||
|
|
2446: 0000 bkpt
|
|||
|
|
2448: 2000003c .long 0x2000003c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART2_DeInit:
|
|||
|
|
|
|||
|
|
0000244c <UART2_DeInit>:
|
|||
|
|
void UART2_DeInit(void)
|
|||
|
|
{
|
|||
|
|
UART2->DATA = UART_RESET_VALUE;
|
|||
|
|
244c: 1065 lrw r3, 0x20000038 // 2460 <UART2_DeInit+0x14>
|
|||
|
|
244e: 3200 movi r2, 0
|
|||
|
|
2450: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2452: b340 st.w r2, (r3, 0x0)
|
|||
|
|
UART2->SR = UART_RESET_VALUE;
|
|||
|
|
2454: b341 st.w r2, (r3, 0x4)
|
|||
|
|
UART2->CTRL = UART_RESET_VALUE;
|
|||
|
|
2456: b342 st.w r2, (r3, 0x8)
|
|||
|
|
UART2->ISR = UART_RESET_VALUE;
|
|||
|
|
2458: b343 st.w r2, (r3, 0xc)
|
|||
|
|
UART2->BRDIV =UART_RESET_VALUE;
|
|||
|
|
245a: b344 st.w r2, (r3, 0x10)
|
|||
|
|
}
|
|||
|
|
245c: 783c jmp r15
|
|||
|
|
245e: 0000 bkpt
|
|||
|
|
2460: 20000038 .long 0x20000038
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART1_Int_Enable:
|
|||
|
|
|
|||
|
|
00002464 <UART1_Int_Enable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void UART1_Int_Enable(void)
|
|||
|
|
{
|
|||
|
|
UART1->ISR=0x0F; //clear UART1 INT status
|
|||
|
|
2464: 1065 lrw r3, 0x2000003c // 2478 <UART1_Int_Enable+0x14>
|
|||
|
|
2466: 320f movi r2, 15
|
|||
|
|
2468: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
246a: b343 st.w r2, (r3, 0xc)
|
|||
|
|
INTC_ISER_WRITE(UART1_INT); //INT Vector Enable UART0/1 Interrupt in CK802
|
|||
|
|
246c: 3380 movi r3, 128
|
|||
|
|
246e: 4367 lsli r3, r3, 7
|
|||
|
|
2470: 1043 lrw r2, 0xe000e100 // 247c <UART1_Int_Enable+0x18>
|
|||
|
|
2472: b260 st.w r3, (r2, 0x0)
|
|||
|
|
}
|
|||
|
|
2474: 783c jmp r15
|
|||
|
|
2476: 0000 bkpt
|
|||
|
|
2478: 2000003c .long 0x2000003c
|
|||
|
|
247c: e000e100 .long 0xe000e100
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART2_Int_Enable:
|
|||
|
|
|
|||
|
|
00002480 <UART2_Int_Enable>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void UART2_Int_Enable(void)
|
|||
|
|
{
|
|||
|
|
UART2->ISR=0x0F; //clear UART1 INT status
|
|||
|
|
2480: 1065 lrw r3, 0x20000038 // 2494 <UART2_Int_Enable+0x14>
|
|||
|
|
2482: 320f movi r2, 15
|
|||
|
|
2484: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2486: b343 st.w r2, (r3, 0xc)
|
|||
|
|
INTC_ISER_WRITE(UART2_INT); //INT Vector Enable UART0/1 Interrupt in CK802
|
|||
|
|
2488: 3380 movi r3, 128
|
|||
|
|
248a: 4368 lsli r3, r3, 8
|
|||
|
|
248c: 1043 lrw r2, 0xe000e100 // 2498 <UART2_Int_Enable+0x18>
|
|||
|
|
248e: b260 st.w r3, (r2, 0x0)
|
|||
|
|
}
|
|||
|
|
2490: 783c jmp r15
|
|||
|
|
2492: 0000 bkpt
|
|||
|
|
2494: 20000038 .long 0x20000038
|
|||
|
|
2498: e000e100 .long 0xe000e100
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART_IO_Init:
|
|||
|
|
|
|||
|
|
0000249c <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)
|
|||
|
|
249c: 3840 cmpnei r0, 0
|
|||
|
|
249e: 0821 bt 0x24e0 // 24e0 <UART_IO_Init+0x44>
|
|||
|
|
{
|
|||
|
|
if(UART_IO_G==0)
|
|||
|
|
24a0: 3940 cmpnei r1, 0
|
|||
|
|
24a2: 080a bt 0x24b6 // 24b6 <UART_IO_Init+0x1a>
|
|||
|
|
{
|
|||
|
|
GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000044; //PA0.1->RXD0, PA0.0->TXD0
|
|||
|
|
24a4: 1177 lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
24a6: 31ff movi r1, 255
|
|||
|
|
24a8: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
24aa: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
24ac: 68c5 andn r3, r1
|
|||
|
|
24ae: 3ba2 bseti r3, 2
|
|||
|
|
24b0: 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
|
|||
|
|
24b2: b260 st.w r3, (r2, 0x0)
|
|||
|
|
24b4: 0415 br 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
else if(UART_IO_G==1)
|
|||
|
|
24b6: 3941 cmpnei r1, 1
|
|||
|
|
24b8: 0813 bt 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
GPIOA0->CONLR = (GPIOA0->CONLR&0XFF0FFFFF) | 0x00700000; //PA0.5->RXD0, PA0.12->TXD0
|
|||
|
|
24ba: 1172 lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
24bc: 31f0 movi r1, 240
|
|||
|
|
24be: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
24c0: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
24c2: 4130 lsli r1, r1, 16
|
|||
|
|
24c4: 68c5 andn r3, r1
|
|||
|
|
24c6: 31e0 movi r1, 224
|
|||
|
|
24c8: 412f lsli r1, r1, 15
|
|||
|
|
24ca: 6cc4 or r3, r1
|
|||
|
|
24cc: b260 st.w r3, (r2, 0x0)
|
|||
|
|
GPIOA0->CONHR = (GPIOA0->CONHR&0XFFF0FFFF) | 0x00070000;
|
|||
|
|
24ce: 31f0 movi r1, 240
|
|||
|
|
24d0: 9261 ld.w r3, (r2, 0x4)
|
|||
|
|
24d2: 412c lsli r1, r1, 12
|
|||
|
|
24d4: 68c5 andn r3, r1
|
|||
|
|
24d6: 31e0 movi r1, 224
|
|||
|
|
24d8: 412b lsli r1, r1, 11
|
|||
|
|
24da: 6cc4 or r3, r1
|
|||
|
|
24dc: b261 st.w r3, (r2, 0x4)
|
|||
|
|
else if(UART_IO_G==2)
|
|||
|
|
{
|
|||
|
|
GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
24de: 783c jmp r15
|
|||
|
|
if (IO_UART_NUM==IO_UART1)
|
|||
|
|
24e0: 3841 cmpnei r0, 1
|
|||
|
|
24e2: 082d bt 0x253c // 253c <UART_IO_Init+0xa0>
|
|||
|
|
if(UART_IO_G==0)
|
|||
|
|
24e4: 3940 cmpnei r1, 0
|
|||
|
|
24e6: 0814 bt 0x250e // 250e <UART_IO_Init+0x72>
|
|||
|
|
GPIOB0->CONLR = (GPIOB0->CONLR&0XFFFFFFF0) | 0x00000007; //PA0.13->RXD1, PB0.0->TXD1
|
|||
|
|
24e8: 1167 lrw r3, 0x20000048 // 2584 <UART_IO_Init+0xe8>
|
|||
|
|
24ea: 310f movi r1, 15
|
|||
|
|
24ec: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
24ee: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
24f0: 68c5 andn r3, r1
|
|||
|
|
24f2: 3107 movi r1, 7
|
|||
|
|
24f4: 6cc4 or r3, r1
|
|||
|
|
24f6: b260 st.w r3, (r2, 0x0)
|
|||
|
|
GPIOA0->CONHR = (GPIOA0->CONHR&0XFF0FFFFF) | 0x00700000;
|
|||
|
|
24f8: 32f0 movi r2, 240
|
|||
|
|
24fa: 1162 lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
24fc: 4250 lsli r2, r2, 16
|
|||
|
|
24fe: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2500: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2502: 68c9 andn r3, r2
|
|||
|
|
2504: 32e0 movi r2, 224
|
|||
|
|
2506: 424f lsli r2, r2, 15
|
|||
|
|
GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1
|
|||
|
|
2508: 6cc8 or r3, r2
|
|||
|
|
250a: b161 st.w r3, (r1, 0x4)
|
|||
|
|
250c: 07e9 br 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
else if(UART_IO_G==1)
|
|||
|
|
250e: 3941 cmpnei r1, 1
|
|||
|
|
2510: 080c bt 0x2528 // 2528 <UART_IO_Init+0x8c>
|
|||
|
|
GPIOA0->CONLR = (GPIOA0->CONLR&0XFFF00FFF) | 0X00077000; //PA0.4->RXD1, PA0.3->TXD1
|
|||
|
|
2512: 107c lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
2514: 32ff movi r2, 255
|
|||
|
|
2516: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2518: 424c lsli r2, r2, 12
|
|||
|
|
251a: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
251c: 68c9 andn r3, r2
|
|||
|
|
251e: 32ee movi r2, 238
|
|||
|
|
2520: 424b lsli r2, r2, 11
|
|||
|
|
GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2
|
|||
|
|
2522: 6cc8 or r3, r2
|
|||
|
|
2524: b160 st.w r3, (r1, 0x0)
|
|||
|
|
}
|
|||
|
|
2526: 07dc br 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
else if(UART_IO_G==2)
|
|||
|
|
2528: 3942 cmpnei r1, 2
|
|||
|
|
252a: 0bda bt 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
GPIOA0->CONHR = (GPIOA0->CONHR&0X00FFFFFF) | 0X77000000; //PA0.15->RXD1, PA0.14->TXD1
|
|||
|
|
252c: 1075 lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
252e: 32ee movi r2, 238
|
|||
|
|
2530: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2532: 9161 ld.w r3, (r1, 0x4)
|
|||
|
|
2534: 4368 lsli r3, r3, 8
|
|||
|
|
2536: 4b68 lsri r3, r3, 8
|
|||
|
|
2538: 4257 lsli r2, r2, 23
|
|||
|
|
253a: 07e7 br 0x2508 // 2508 <UART_IO_Init+0x6c>
|
|||
|
|
if (IO_UART_NUM==IO_UART2)
|
|||
|
|
253c: 3842 cmpnei r0, 2
|
|||
|
|
253e: 0bd0 bt 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
if(UART_IO_G==0)
|
|||
|
|
2540: 3940 cmpnei r1, 0
|
|||
|
|
2542: 0809 bt 0x2554 // 2554 <UART_IO_Init+0xb8>
|
|||
|
|
GPIOA0->CONLR = (GPIOA0->CONLR&0XFFFFFF00) | 0x00000077; //PA0.0->RXD2, PA0.1->TXD2
|
|||
|
|
2544: 106f lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
2546: 31ff movi r1, 255
|
|||
|
|
2548: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
254a: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
254c: 68c5 andn r3, r1
|
|||
|
|
254e: 3177 movi r1, 119
|
|||
|
|
2550: 6cc4 or r3, r1
|
|||
|
|
2552: 07b0 br 0x24b2 // 24b2 <UART_IO_Init+0x16>
|
|||
|
|
else if(UART_IO_G==1)
|
|||
|
|
2554: 3941 cmpnei r1, 1
|
|||
|
|
2556: 0809 bt 0x2568 // 2568 <UART_IO_Init+0xcc>
|
|||
|
|
GPIOA0->CONLR = (GPIOA0->CONLR&0X00FFFFFF) | 0X77000000; //PA0.7->RXD2, PA0.6->TXD2
|
|||
|
|
2558: 106a lrw r3, 0x2000004c // 2580 <UART_IO_Init+0xe4>
|
|||
|
|
255a: 32ee movi r2, 238
|
|||
|
|
255c: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
255e: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
2560: 4368 lsli r3, r3, 8
|
|||
|
|
2562: 4b68 lsri r3, r3, 8
|
|||
|
|
2564: 4257 lsli r2, r2, 23
|
|||
|
|
2566: 07de br 0x2522 // 2522 <UART_IO_Init+0x86>
|
|||
|
|
else if(UART_IO_G==2)
|
|||
|
|
2568: 3942 cmpnei r1, 2
|
|||
|
|
256a: 0bba bt 0x24de // 24de <UART_IO_Init+0x42>
|
|||
|
|
GPIOB0->CONLR = (GPIOB0->CONLR&0XFF00FFFF) | 0X00660000; //PB0.5->RXD2, PB0.4->TXD2
|
|||
|
|
256c: 1066 lrw r3, 0x20000048 // 2584 <UART_IO_Init+0xe8>
|
|||
|
|
256e: 32ff movi r2, 255
|
|||
|
|
2570: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
2572: 4250 lsli r2, r2, 16
|
|||
|
|
2574: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
2576: 68c9 andn r3, r2
|
|||
|
|
2578: 32cc movi r2, 204
|
|||
|
|
257a: 424f lsli r2, r2, 15
|
|||
|
|
257c: 07d3 br 0x2522 // 2522 <UART_IO_Init+0x86>
|
|||
|
|
257e: 0000 bkpt
|
|||
|
|
2580: 2000004c .long 0x2000004c
|
|||
|
|
2584: 20000048 .long 0x20000048
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UARTInitRxTxIntEn:
|
|||
|
|
|
|||
|
|
00002588 <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);
|
|||
|
|
2588: 1063 lrw r3, 0x8000f // 2594 <UARTInitRxTxIntEn+0xc>
|
|||
|
|
258a: 6c8c or r2, r3
|
|||
|
|
258c: b042 st.w r2, (r0, 0x8)
|
|||
|
|
// Set Baudrate
|
|||
|
|
CSP_UART_SET_BRDIV(uart, baudrate_u16);
|
|||
|
|
258e: b024 st.w r1, (r0, 0x10)
|
|||
|
|
}
|
|||
|
|
2590: 783c jmp r15
|
|||
|
|
2592: 0000 bkpt
|
|||
|
|
2594: 0008000f .long 0x0008000f
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UARTTransmit:
|
|||
|
|
|
|||
|
|
00002598 <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)
|
|||
|
|
{
|
|||
|
|
2598: 14c2 push r4-r5
|
|||
|
|
unsigned int DataI,DataJ;
|
|||
|
|
for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
|
|||
|
|
259a: 6cc7 mov r3, r1
|
|||
|
|
{
|
|||
|
|
CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
|
|||
|
|
do{
|
|||
|
|
DataI = CSP_UART_GET_SR(uart);
|
|||
|
|
DataI = DataI & UART_TX_FULL;
|
|||
|
|
259c: 3501 movi r5, 1
|
|||
|
|
for(DataJ = 0;DataJ < length_u16 ;DataJ ++)
|
|||
|
|
259e: 5b85 subu r4, r3, r1
|
|||
|
|
25a0: 6490 cmphs r4, r2
|
|||
|
|
25a2: 0c02 bf 0x25a6 // 25a6 <UARTTransmit+0xe>
|
|||
|
|
}while(DataI == UART_TX_FULL); //Loop when tx is full
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
25a4: 1482 pop r4-r5
|
|||
|
|
CSP_UART_SET_DATA(uart,*sourceAddress_u16++);
|
|||
|
|
25a6: 8380 ld.b r4, (r3, 0x0)
|
|||
|
|
25a8: b080 st.w r4, (r0, 0x0)
|
|||
|
|
DataI = CSP_UART_GET_SR(uart);
|
|||
|
|
25aa: 9081 ld.w r4, (r0, 0x4)
|
|||
|
|
DataI = DataI & UART_TX_FULL;
|
|||
|
|
25ac: 6914 and r4, r5
|
|||
|
|
}while(DataI == UART_TX_FULL); //Loop when tx is full
|
|||
|
|
25ae: 3c40 cmpnei r4, 0
|
|||
|
|
25b0: 0bfd bt 0x25aa // 25aa <UARTTransmit+0x12>
|
|||
|
|
25b2: 2300 addi r3, 1
|
|||
|
|
25b4: 07f5 br 0x259e // 259e <UARTTransmit+0x6>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EPT_Stop:
|
|||
|
|
|
|||
|
|
000025b8 <EPT_Stop>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EPT_Stop(void)
|
|||
|
|
{
|
|||
|
|
EPT0->REGPROT = (0xA55A<<16) | 0xC73A;
|
|||
|
|
25b8: 1068 lrw r3, 0x20000020 // 25d8 <EPT_Stop+0x20>
|
|||
|
|
25ba: 3280 movi r2, 128
|
|||
|
|
25bc: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
25be: 608c addu r2, r3
|
|||
|
|
25c0: 1027 lrw r1, 0xa55ac73a // 25dc <EPT_Stop+0x24>
|
|||
|
|
25c2: b23a st.w r1, (r2, 0x68)
|
|||
|
|
EPT0->RSSR&=0Xfe;
|
|||
|
|
25c4: 9341 ld.w r2, (r3, 0x4)
|
|||
|
|
25c6: 31fe movi r1, 254
|
|||
|
|
25c8: 6884 and r2, r1
|
|||
|
|
25ca: b341 st.w r2, (r3, 0x4)
|
|||
|
|
while(EPT0->RSSR&0x01);
|
|||
|
|
25cc: 3101 movi r1, 1
|
|||
|
|
25ce: 9341 ld.w r2, (r3, 0x4)
|
|||
|
|
25d0: 6884 and r2, r1
|
|||
|
|
25d2: 3a40 cmpnei r2, 0
|
|||
|
|
25d4: 0bfd bt 0x25ce // 25ce <EPT_Stop+0x16>
|
|||
|
|
}
|
|||
|
|
25d6: 783c jmp r15
|
|||
|
|
25d8: 20000020 .long 0x20000020
|
|||
|
|
25dc: a55ac73a .long 0xa55ac73a
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Page_ProgramData:
|
|||
|
|
|
|||
|
|
000025e0 <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)
|
|||
|
|
{
|
|||
|
|
25e0: 14c4 push r4-r7
|
|||
|
|
25e2: 1422 subi r14, r14, 8
|
|||
|
|
int i,DataBuffer;
|
|||
|
|
|
|||
|
|
//Page cache wipe 1
|
|||
|
|
SetUserKey;
|
|||
|
|
25e4: 1165 lrw r3, 0x20000060 // 2678 <Page_ProgramData+0x98>
|
|||
|
|
25e6: 1186 lrw r4, 0x5a5a5a5a // 267c <Page_ProgramData+0x9c>
|
|||
|
|
25e8: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
25ea: b388 st.w r4, (r3, 0x20)
|
|||
|
|
IFC->CMR=0x07;
|
|||
|
|
25ec: 3407 movi r4, 7
|
|||
|
|
25ee: b383 st.w r4, (r3, 0xc)
|
|||
|
|
IFC->FM_ADDR=FlashAdd;
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
25f0: 3401 movi r4, 1
|
|||
|
|
IFC->FM_ADDR=FlashAdd;
|
|||
|
|
25f2: b306 st.w r0, (r3, 0x18)
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
25f4: b384 st.w r4, (r3, 0x10)
|
|||
|
|
while(IFC->CR!=0x0); //Wait for the operation to complete
|
|||
|
|
25f6: 9384 ld.w r4, (r3, 0x10)
|
|||
|
|
25f8: 3c40 cmpnei r4, 0
|
|||
|
|
25fa: 0bfe bt 0x25f6 // 25f6 <Page_ProgramData+0x16>
|
|||
|
|
//Write data to the cache 2
|
|||
|
|
for(i=0;i<((DataSize+3)/4);i++) //sizeof structure
|
|||
|
|
25fc: 2102 addi r1, 3
|
|||
|
|
25fe: 4922 lsri r1, r1, 2
|
|||
|
|
2600: 4122 lsli r1, r1, 2
|
|||
|
|
2602: 6048 addu r1, r2
|
|||
|
|
2604: b820 st.w r1, (r14, 0x0)
|
|||
|
|
2606: 5829 subu r1, r0, r2
|
|||
|
|
2608: b821 st.w r1, (r14, 0x4)
|
|||
|
|
260a: 9820 ld.w r1, (r14, 0x0)
|
|||
|
|
260c: 644a cmpne r2, r1
|
|||
|
|
260e: 0826 bt 0x265a // 265a <Page_ProgramData+0x7a>
|
|||
|
|
*(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer;
|
|||
|
|
BufArry +=4;
|
|||
|
|
}
|
|||
|
|
//Pre-programmed operation settings 3
|
|||
|
|
SetUserKey;
|
|||
|
|
IFC->CMR=0x06;
|
|||
|
|
2610: 3106 movi r1, 6
|
|||
|
|
SetUserKey;
|
|||
|
|
2612: 105b lrw r2, 0x5a5a5a5a // 267c <Page_ProgramData+0x9c>
|
|||
|
|
2614: b348 st.w r2, (r3, 0x20)
|
|||
|
|
IFC->CMR=0x06;
|
|||
|
|
2616: b323 st.w r1, (r3, 0xc)
|
|||
|
|
IFC->FM_ADDR=FlashAdd;
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
2618: 3101 movi r1, 1
|
|||
|
|
IFC->FM_ADDR=FlashAdd;
|
|||
|
|
261a: b306 st.w r0, (r3, 0x18)
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
261c: b324 st.w r1, (r3, 0x10)
|
|||
|
|
while(IFC->CR!=0x0); //Wait for the operation to complete
|
|||
|
|
261e: 9324 ld.w r1, (r3, 0x10)
|
|||
|
|
2620: 3940 cmpnei r1, 0
|
|||
|
|
2622: 0bfe bt 0x261e // 261e <Page_ProgramData+0x3e>
|
|||
|
|
//Perform pre-programming 4
|
|||
|
|
SetUserKey;
|
|||
|
|
2624: b348 st.w r2, (r3, 0x20)
|
|||
|
|
IFC->CMR=0x01;
|
|||
|
|
2626: 3201 movi r2, 1
|
|||
|
|
2628: b343 st.w r2, (r3, 0xc)
|
|||
|
|
IFC->FM_ADDR=FlashAdd; //
|
|||
|
|
262a: b306 st.w r0, (r3, 0x18)
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
262c: b344 st.w r2, (r3, 0x10)
|
|||
|
|
while(IFC->RISR!=PEP_END_INT); //Wait for the operation to complete
|
|||
|
|
262e: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2630: 3a44 cmpnei r2, 4
|
|||
|
|
2632: 0bfe bt 0x262e // 262e <Page_ProgramData+0x4e>
|
|||
|
|
//Page erase 5
|
|||
|
|
SetUserKey;
|
|||
|
|
IFC->CMR=0x02;
|
|||
|
|
2634: 3102 movi r1, 2
|
|||
|
|
SetUserKey;
|
|||
|
|
2636: 1052 lrw r2, 0x5a5a5a5a // 267c <Page_ProgramData+0x9c>
|
|||
|
|
2638: b348 st.w r2, (r3, 0x20)
|
|||
|
|
IFC->CMR=0x02;
|
|||
|
|
263a: b323 st.w r1, (r3, 0xc)
|
|||
|
|
IFC->FM_ADDR=FlashAdd; //
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
263c: 3101 movi r1, 1
|
|||
|
|
IFC->FM_ADDR=FlashAdd; //
|
|||
|
|
263e: b306 st.w r0, (r3, 0x18)
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
2640: b324 st.w r1, (r3, 0x10)
|
|||
|
|
while(IFC->RISR!=ERS_END_INT); //Wait for the operation to complete
|
|||
|
|
2642: 932a ld.w r1, (r3, 0x28)
|
|||
|
|
2644: 3941 cmpnei r1, 1
|
|||
|
|
2646: 0bfe bt 0x2642 // 2642 <Page_ProgramData+0x62>
|
|||
|
|
//Write page cache data to flash memory 6
|
|||
|
|
SetUserKey;
|
|||
|
|
2648: b348 st.w r2, (r3, 0x20)
|
|||
|
|
IFC->CMR=0x01;
|
|||
|
|
264a: b323 st.w r1, (r3, 0xc)
|
|||
|
|
IFC->FM_ADDR=FlashAdd; //
|
|||
|
|
264c: b306 st.w r0, (r3, 0x18)
|
|||
|
|
IFC->CR=0X01; //Start Program
|
|||
|
|
264e: b324 st.w r1, (r3, 0x10)
|
|||
|
|
while(IFC->RISR!=RGM_END_INT); //Wait for the operation to complete
|
|||
|
|
2650: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2652: 3a42 cmpnei r2, 2
|
|||
|
|
2654: 0bfe bt 0x2650 // 2650 <Page_ProgramData+0x70>
|
|||
|
|
}
|
|||
|
|
2656: 1402 addi r14, r14, 8
|
|||
|
|
2658: 1484 pop r4-r7
|
|||
|
|
DataBuffer=*BufArry+(*(BufArry+1)<<8)+(*(BufArry+2)<<16)+(*(BufArry+3)<<24);
|
|||
|
|
265a: 82e0 ld.b r7, (r2, 0x0)
|
|||
|
|
265c: 8281 ld.b r4, (r2, 0x1)
|
|||
|
|
265e: 4488 lsli r4, r4, 8
|
|||
|
|
2660: 8222 ld.b r1, (r2, 0x2)
|
|||
|
|
2662: 611c addu r4, r7
|
|||
|
|
2664: 82a3 ld.b r5, (r2, 0x3)
|
|||
|
|
2666: 4130 lsli r1, r1, 16
|
|||
|
|
2668: 98c1 ld.w r6, (r14, 0x4)
|
|||
|
|
266a: 6050 addu r1, r4
|
|||
|
|
266c: 45b8 lsli r5, r5, 24
|
|||
|
|
266e: 6188 addu r6, r2
|
|||
|
|
2670: 6054 addu r1, r5
|
|||
|
|
*(volatile unsigned int *)(FlashAdd+4*i)=DataBuffer;
|
|||
|
|
2672: b620 st.w r1, (r6, 0x0)
|
|||
|
|
BufArry +=4;
|
|||
|
|
2674: 2203 addi r2, 4
|
|||
|
|
2676: 07ca br 0x260a // 260a <Page_ProgramData+0x2a>
|
|||
|
|
2678: 20000060 .long 0x20000060
|
|||
|
|
267c: 5a5a5a5a .long 0x5a5a5a5a
|
|||
|
|
|
|||
|
|
Disassembly of section .text.ReadDataArry_U8:
|
|||
|
|
|
|||
|
|
00002680 <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)
|
|||
|
|
{
|
|||
|
|
2680: 14c3 push r4-r6
|
|||
|
|
unsigned int i;
|
|||
|
|
for (i=0;i<DataLength;i++)
|
|||
|
|
2682: 3300 movi r3, 0
|
|||
|
|
{
|
|||
|
|
if((i!=0)&&(i%4==0))
|
|||
|
|
2684: 3503 movi r5, 3
|
|||
|
|
for (i=0;i<DataLength;i++)
|
|||
|
|
2686: 644e cmpne r3, r1
|
|||
|
|
2688: 5acc addu r6, r2, r3
|
|||
|
|
268a: 0802 bt 0x268e // 268e <ReadDataArry_U8+0xe>
|
|||
|
|
RdStartAdd +=4;
|
|||
|
|
}
|
|||
|
|
*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
|
|||
|
|
DataArryPoint++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
268c: 1483 pop r4-r6
|
|||
|
|
if((i!=0)&&(i%4==0))
|
|||
|
|
268e: 3b40 cmpnei r3, 0
|
|||
|
|
2690: 0c06 bf 0x269c // 269c <ReadDataArry_U8+0x1c>
|
|||
|
|
2692: 6d0f mov r4, r3
|
|||
|
|
2694: 6914 and r4, r5
|
|||
|
|
2696: 3c40 cmpnei r4, 0
|
|||
|
|
2698: 0802 bt 0x269c // 269c <ReadDataArry_U8+0x1c>
|
|||
|
|
RdStartAdd +=4;
|
|||
|
|
269a: 2003 addi r0, 4
|
|||
|
|
*DataArryPoint=*(U8_T *)(RdStartAdd+ (i%4));
|
|||
|
|
269c: 6d0f mov r4, r3
|
|||
|
|
269e: 6914 and r4, r5
|
|||
|
|
26a0: 6100 addu r4, r0
|
|||
|
|
26a2: 8480 ld.b r4, (r4, 0x0)
|
|||
|
|
26a4: a680 st.b r4, (r6, 0x0)
|
|||
|
|
for (i=0;i<DataLength;i++)
|
|||
|
|
26a6: 2300 addi r3, 1
|
|||
|
|
26a8: 07ef br 0x2686 // 2686 <ReadDataArry_U8+0x6>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.startup.main:
|
|||
|
|
|
|||
|
|
000026ac <main>:
|
|||
|
|
|
|||
|
|
/***************************************************/
|
|||
|
|
//main
|
|||
|
|
/**************************************************/
|
|||
|
|
int main(void)
|
|||
|
|
{
|
|||
|
|
26ac: 14d0 push r15
|
|||
|
|
// delay_nms(2000);
|
|||
|
|
APT32F102_init(); //102 initial
|
|||
|
|
26ae: e000009f bsr 0x27ec // 27ec <APT32F102_init>
|
|||
|
|
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"MCU Start!");
|
|||
|
|
26b2: 1029 lrw r1, 0x4d84 // 26d4 <main+0x28>
|
|||
|
|
26b4: 3000 movi r0, 0
|
|||
|
|
26b6: e00007df bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
|
|||
|
|
while(1)
|
|||
|
|
{
|
|||
|
|
SYSCON_IWDCNT_Reload(); //IWDT Clear
|
|||
|
|
26ba: e3fffaf5 bsr 0x1ca4 // 1ca4 <SYSCON_IWDCNT_Reload>
|
|||
|
|
|
|||
|
|
UART1_TASK();
|
|||
|
|
26be: e000067d bsr 0x33b8 // 33b8 <UART1_TASK>
|
|||
|
|
|
|||
|
|
DIP_ScanTask();
|
|||
|
|
26c2: e000083f bsr 0x3740 // 3740 <DIP_ScanTask>
|
|||
|
|
|
|||
|
|
BLV_RLY_Task();
|
|||
|
|
26c6: e0000975 bsr 0x39b0 // 39b0 <BLV_RLY_Task>
|
|||
|
|
|
|||
|
|
CTRL_LEDStatus_Task();
|
|||
|
|
26ca: e0000beb bsr 0x3ea0 // 3ea0 <CTRL_LEDStatus_Task>
|
|||
|
|
|
|||
|
|
BUS485Send_Task();
|
|||
|
|
26ce: e0000775 bsr 0x35b8 // 35b8 <BUS485Send_Task>
|
|||
|
|
26d2: 07f4 br 0x26ba // 26ba <main+0xe>
|
|||
|
|
26d4: 00004d84 .long 0x00004d84
|
|||
|
|
|
|||
|
|
Disassembly of section .text.delay_nms:
|
|||
|
|
|
|||
|
|
000026d8 <delay_nms>:
|
|||
|
|
//software delay
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void delay_nms(unsigned int t)
|
|||
|
|
{
|
|||
|
|
26d8: 14d0 push r15
|
|||
|
|
26da: 1423 subi r14, r14, 12
|
|||
|
|
volatile unsigned int i,j ,k=0;
|
|||
|
|
j = 50* t;
|
|||
|
|
26dc: 3232 movi r2, 50
|
|||
|
|
volatile unsigned int i,j ,k=0;
|
|||
|
|
26de: 3300 movi r3, 0
|
|||
|
|
j = 50* t;
|
|||
|
|
26e0: 7c08 mult r0, r2
|
|||
|
|
volatile unsigned int i,j ,k=0;
|
|||
|
|
26e2: b862 st.w r3, (r14, 0x8)
|
|||
|
|
j = 50* t;
|
|||
|
|
26e4: b801 st.w r0, (r14, 0x4)
|
|||
|
|
for ( i = 0; i < j; i++ )
|
|||
|
|
26e6: b860 st.w r3, (r14, 0x0)
|
|||
|
|
26e8: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
26ea: 9861 ld.w r3, (r14, 0x4)
|
|||
|
|
26ec: 64c8 cmphs r2, r3
|
|||
|
|
26ee: 0c03 bf 0x26f4 // 26f4 <delay_nms+0x1c>
|
|||
|
|
{
|
|||
|
|
k++;
|
|||
|
|
SYSCON_IWDCNT_Reload();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
26f0: 1403 addi r14, r14, 12
|
|||
|
|
26f2: 1490 pop r15
|
|||
|
|
k++;
|
|||
|
|
26f4: 9862 ld.w r3, (r14, 0x8)
|
|||
|
|
26f6: 2300 addi r3, 1
|
|||
|
|
26f8: b862 st.w r3, (r14, 0x8)
|
|||
|
|
SYSCON_IWDCNT_Reload();
|
|||
|
|
26fa: e3fffad5 bsr 0x1ca4 // 1ca4 <SYSCON_IWDCNT_Reload>
|
|||
|
|
for ( i = 0; i < j; i++ )
|
|||
|
|
26fe: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
2700: 2300 addi r3, 1
|
|||
|
|
2702: 07f2 br 0x26e6 // 26e6 <delay_nms+0xe>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.delay_nus:
|
|||
|
|
|
|||
|
|
00002704 <delay_nus>:
|
|||
|
|
void delay_nus(unsigned int t)
|
|||
|
|
{
|
|||
|
|
2704: 1423 subi r14, r14, 12
|
|||
|
|
volatile unsigned int i,j ,k=0;
|
|||
|
|
2706: 3300 movi r3, 0
|
|||
|
|
2708: b862 st.w r3, (r14, 0x8)
|
|||
|
|
j = 1* t;
|
|||
|
|
270a: b801 st.w r0, (r14, 0x4)
|
|||
|
|
for ( i = 0; i < j; i++ )
|
|||
|
|
270c: b860 st.w r3, (r14, 0x0)
|
|||
|
|
270e: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
2710: 9861 ld.w r3, (r14, 0x4)
|
|||
|
|
2712: 64c8 cmphs r2, r3
|
|||
|
|
2714: 0c03 bf 0x271a // 271a <delay_nus+0x16>
|
|||
|
|
{
|
|||
|
|
k++;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2716: 1403 addi r14, r14, 12
|
|||
|
|
2718: 783c jmp r15
|
|||
|
|
k++;
|
|||
|
|
271a: 9862 ld.w r3, (r14, 0x8)
|
|||
|
|
271c: 2300 addi r3, 1
|
|||
|
|
271e: b862 st.w r3, (r14, 0x8)
|
|||
|
|
for ( i = 0; i < j; i++ )
|
|||
|
|
2720: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
2722: 2300 addi r3, 1
|
|||
|
|
2724: 07f4 br 0x270c // 270c <delay_nus+0x8>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT_CONFIG:
|
|||
|
|
|
|||
|
|
00002728 <BT_CONFIG>:
|
|||
|
|
//BT Initial
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void BT_CONFIG(void)
|
|||
|
|
{
|
|||
|
|
2728: 14d2 push r4-r5, r15
|
|||
|
|
272a: 1424 subi r14, r14, 16
|
|||
|
|
// BT_ConfigInterrupt_CMD(BT0,ENABLE,BT_PEND);
|
|||
|
|
// BT0_INT_ENABLE();
|
|||
|
|
|
|||
|
|
|
|||
|
|
//100us 定时器初始化
|
|||
|
|
BT_DeInit(BT1);
|
|||
|
|
272c: 1095 lrw r4, 0x20000008 // 2780 <BT_CONFIG+0x58>
|
|||
|
|
BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
|
|||
|
|
272e: 3500 movi r5, 0
|
|||
|
|
BT_DeInit(BT1);
|
|||
|
|
2730: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
2732: e3fffd29 bsr 0x2184 // 2184 <BT_DeInit>
|
|||
|
|
BT_Configure(BT1,BTCLK_EN,0,BT_IMMEDIATE,BT_CONTINUOUS,BT_PCLKDIV);
|
|||
|
|
2736: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
2738: b8a1 st.w r5, (r14, 0x4)
|
|||
|
|
273a: b8a0 st.w r5, (r14, 0x0)
|
|||
|
|
273c: 3308 movi r3, 8
|
|||
|
|
273e: 3200 movi r2, 0
|
|||
|
|
2740: 3101 movi r1, 1
|
|||
|
|
2742: e3fffd38 bsr 0x21b2 // 21b2 <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);
|
|||
|
|
2746: 3380 movi r3, 128
|
|||
|
|
2748: 4363 lsli r3, r3, 3
|
|||
|
|
274a: b861 st.w r3, (r14, 0x4)
|
|||
|
|
274c: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
274e: 3300 movi r3, 0
|
|||
|
|
2750: b8a3 st.w r5, (r14, 0xc)
|
|||
|
|
2752: b8a2 st.w r5, (r14, 0x8)
|
|||
|
|
2754: b8a0 st.w r5, (r14, 0x0)
|
|||
|
|
2756: 3200 movi r2, 0
|
|||
|
|
2758: 3180 movi r1, 128
|
|||
|
|
275a: e3fffd38 bsr 0x21ca // 21ca <BT_ControlSet_Configure>
|
|||
|
|
BT_Period_CMP_Write(BT1,4780,1);
|
|||
|
|
275e: 3201 movi r2, 1
|
|||
|
|
2760: 1029 lrw r1, 0x12ac // 2784 <BT_CONFIG+0x5c>
|
|||
|
|
2762: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
2764: e3fffd49 bsr 0x21f6 // 21f6 <BT_Period_CMP_Write>
|
|||
|
|
BT_Start(BT1);
|
|||
|
|
2768: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
276a: e3fffd1b bsr 0x21a0 // 21a0 <BT_Start>
|
|||
|
|
BT_ConfigInterrupt_CMD(BT1,ENABLE,BT_CMP);
|
|||
|
|
276e: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
2770: 3202 movi r2, 2
|
|||
|
|
2772: 3101 movi r1, 1
|
|||
|
|
2774: e3fffd44 bsr 0x21fc // 21fc <BT_ConfigInterrupt_CMD>
|
|||
|
|
BT1_INT_ENABLE();
|
|||
|
|
2778: e3fffd4c bsr 0x2210 // 2210 <BT1_INT_ENABLE>
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
277c: 1404 addi r14, r14, 16
|
|||
|
|
277e: 1492 pop r4-r5, r15
|
|||
|
|
2780: 20000008 .long 0x20000008
|
|||
|
|
2784: 000012ac .long 0x000012ac
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCON_CONFIG:
|
|||
|
|
|
|||
|
|
00002788 <SYSCON_CONFIG>:
|
|||
|
|
//syscon Functions
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SYSCON_CONFIG(void)
|
|||
|
|
{
|
|||
|
|
2788: 14d0 push r15
|
|||
|
|
278a: 1421 subi r14, r14, 4
|
|||
|
|
//------SYSTEM CLK AND PCLK FUNTION---------------------------/
|
|||
|
|
SYSCON_RST_VALUE(); //SYSCON all register clr
|
|||
|
|
278c: e3fff9d8 bsr 0x1b3c // 1b3c <SYSCON_RST_VALUE>
|
|||
|
|
SYSCON_General_CMD(ENABLE,ENDIS_ISOSC); //SYSCON enable/disable clock source
|
|||
|
|
2790: 3101 movi r1, 1
|
|||
|
|
2792: 3001 movi r0, 1
|
|||
|
|
2794: e3fff9fa bsr 0x1b88 // 1b88 <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
|
|||
|
|
2798: 3000 movi r0, 0
|
|||
|
|
279a: e3fffa53 bsr 0x1c40 // 1c40 <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
|
|||
|
|
279e: 3180 movi r1, 128
|
|||
|
|
27a0: 3308 movi r3, 8
|
|||
|
|
27a2: 3200 movi r2, 0
|
|||
|
|
27a4: 4121 lsli r1, r1, 1
|
|||
|
|
27a6: 3002 movi r0, 2
|
|||
|
|
27a8: e3fffa08 bsr 0x1bb8 // 1bb8 <SystemCLK_HCLKDIV_PCLKDIV_Config>
|
|||
|
|
//------------ WDT FUNTION --------------------------------/
|
|||
|
|
SYSCON_IWDCNT_Config(IWDT_TIME_500MS,IWDT_INTW_DIV_7); //WDT TIME 1s,WDT alarm interrupt time=1s-1s*1/8=0.875S
|
|||
|
|
27ac: 3080 movi r0, 128
|
|||
|
|
27ae: 3118 movi r1, 24
|
|||
|
|
27b0: 4002 lsli r0, r0, 2
|
|||
|
|
27b2: e3fffa83 bsr 0x1cb8 // 1cb8 <SYSCON_IWDCNT_Config>
|
|||
|
|
SYSCON_WDT_CMD(ENABLE); //enable/disable WDT
|
|||
|
|
27b6: 3001 movi r0, 1
|
|||
|
|
27b8: e3fffa58 bsr 0x1c68 // 1c68 <SYSCON_WDT_CMD>
|
|||
|
|
SYSCON_IWDCNT_Reload(); //reload WDT
|
|||
|
|
27bc: e3fffa74 bsr 0x1ca4 // 1ca4 <SYSCON_IWDCNT_Reload>
|
|||
|
|
IWDT_Int_Enable();
|
|||
|
|
27c0: e3fffaa6 bsr 0x1d0c // 1d0c <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
|
|||
|
|
27c4: 3340 movi r3, 64
|
|||
|
|
27c6: b860 st.w r3, (r14, 0x0)
|
|||
|
|
27c8: 31c0 movi r1, 192
|
|||
|
|
27ca: 3380 movi r3, 128
|
|||
|
|
27cc: 4364 lsli r3, r3, 4
|
|||
|
|
27ce: 3200 movi r2, 0
|
|||
|
|
27d0: 4123 lsli r1, r1, 3
|
|||
|
|
27d2: 3000 movi r0, 0
|
|||
|
|
27d4: e3fffa7e bsr 0x1cd0 // 1cd0 <SYSCON_LVD_Config>
|
|||
|
|
LVD_Int_Enable();
|
|||
|
|
27d8: e3fffa8c bsr 0x1cf0 // 1cf0 <LVD_Int_Enable>
|
|||
|
|
//------------ SYSCON Vector --------------------------------/
|
|||
|
|
SYSCON_Int_Enable(); //SYSCON VECTOR
|
|||
|
|
27dc: e3fffaea bsr 0x1db0 // 1db0 <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
|
|||
|
|
27e0: 3000 movi r0, 0
|
|||
|
|
27e2: e00010ed bsr 0x49bc // 49bc <std_clk_calib>
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
27e6: 1401 addi r14, r14, 4
|
|||
|
|
27e8: 1490 pop r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.APT32F102_init:
|
|||
|
|
|
|||
|
|
000027ec <APT32F102_init>:
|
|||
|
|
//APT32F102_init /
|
|||
|
|
//EntryParameter:NONE /
|
|||
|
|
//ReturnValue:NONE /
|
|||
|
|
/*********************************************************************************/
|
|||
|
|
void APT32F102_init(void)
|
|||
|
|
{
|
|||
|
|
27ec: 14d0 push r15
|
|||
|
|
//------------------------------------------------------------/
|
|||
|
|
//Peripheral clock enable and disable
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
//------------------------------------------------------------/
|
|||
|
|
SYSCON->PCER0=0xFFFFFFF; //PCLK Enable
|
|||
|
|
27ee: 1070 lrw r3, 0x2000005c // 282c <APT32F102_init+0x40>
|
|||
|
|
SYSCON->PCER1=0xFFFFFFF; //PCLK Enable
|
|||
|
|
while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled
|
|||
|
|
27f0: 3101 movi r1, 1
|
|||
|
|
SYSCON->PCER0=0xFFFFFFF; //PCLK Enable
|
|||
|
|
27f2: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
27f4: 106f lrw r3, 0xfffffff // 2830 <APT32F102_init+0x44>
|
|||
|
|
27f6: b26a st.w r3, (r2, 0x28)
|
|||
|
|
SYSCON->PCER1=0xFFFFFFF; //PCLK Enable
|
|||
|
|
27f8: b26d st.w r3, (r2, 0x34)
|
|||
|
|
while(!(SYSCON->PCSR0&0x1)); //Wait PCLK enabled
|
|||
|
|
27fa: 926c ld.w r3, (r2, 0x30)
|
|||
|
|
27fc: 68c4 and r3, r1
|
|||
|
|
27fe: 3b40 cmpnei r3, 0
|
|||
|
|
2800: 0ffd bf 0x27fa // 27fa <APT32F102_init+0xe>
|
|||
|
|
//------------------------------------------------------------/
|
|||
|
|
//ISOSC/IMOSC/EMOSC/SYSCLK/IWDT/LVD/EM_CMFAIL/EM_CMRCV/CMD_ERR OSC stable interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
//------------------------------------------------------------/
|
|||
|
|
SYSCON_CONFIG(); //syscon initial
|
|||
|
|
2802: e3ffffc3 bsr 0x2788 // 2788 <SYSCON_CONFIG>
|
|||
|
|
CK_CPU_EnAllNormalIrq(); //enable all IRQ
|
|||
|
|
2806: e0000507 bsr 0x3214 // 3214 <CK_CPU_EnAllNormalIrq>
|
|||
|
|
SYSCON_INT_Priority(); //initial all Priority=0xC0
|
|||
|
|
280a: e3fffadf bsr 0x1dc8 // 1dc8 <SYSCON_INT_Priority>
|
|||
|
|
|
|||
|
|
//设置中断优先级 0最高,3最低
|
|||
|
|
Set_INT_Priority(UART1_IRQ,1); //串口优先级最高
|
|||
|
|
280e: 3101 movi r1, 1
|
|||
|
|
2810: 300e movi r0, 14
|
|||
|
|
2812: e3fffaed bsr 0x1dec // 1dec <Set_INT_Priority>
|
|||
|
|
|
|||
|
|
//------------------------------------------------------------/
|
|||
|
|
//Other IP config
|
|||
|
|
//------------------------------------------------------------/
|
|||
|
|
BT_CONFIG(); //BT initial
|
|||
|
|
2816: e3ffff89 bsr 0x2728 // 2728 <BT_CONFIG>
|
|||
|
|
|
|||
|
|
UARTx_Init(UART_1,BLV_RLY_RS485_Pro);
|
|||
|
|
281a: 1027 lrw r1, 0x3d90 // 2834 <APT32F102_init+0x48>
|
|||
|
|
281c: 3001 movi r0, 1
|
|||
|
|
281e: e0000501 bsr 0x3220 // 3220 <UARTx_Init>
|
|||
|
|
|
|||
|
|
DIP_Switch_Init();
|
|||
|
|
2822: e0000749 bsr 0x36b4 // 36b4 <DIP_Switch_Init>
|
|||
|
|
|
|||
|
|
Relay_Init();
|
|||
|
|
2826: e00007d3 bsr 0x37cc // 37cc <Relay_Init>
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
282a: 1490 pop r15
|
|||
|
|
282c: 2000005c .long 0x2000005c
|
|||
|
|
2830: 0fffffff .long 0x0fffffff
|
|||
|
|
2834: 00003d90 .long 0x00003d90
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SYSCONIntHandler:
|
|||
|
|
|
|||
|
|
00002838 <SYSCONIntHandler>:
|
|||
|
|
//SYSCON Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SYSCONIntHandler(void)
|
|||
|
|
{
|
|||
|
|
2838: 1460 nie
|
|||
|
|
283a: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
nop;
|
|||
|
|
283c: 6c03 mov r0, r0
|
|||
|
|
if((SYSCON->MISR&ISOSC_ST)==ISOSC_ST) //ISOSC stable interrupt
|
|||
|
|
283e: 117a lrw r3, 0x2000005c // 2924 <SYSCONIntHandler+0xec>
|
|||
|
|
2840: 3280 movi r2, 128
|
|||
|
|
2842: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2844: 60c8 addu r3, r2
|
|||
|
|
2846: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2848: 3001 movi r0, 1
|
|||
|
|
284a: 6840 and r1, r0
|
|||
|
|
284c: 3940 cmpnei r1, 0
|
|||
|
|
284e: 0c04 bf 0x2856 // 2856 <SYSCONIntHandler+0x1e>
|
|||
|
|
{
|
|||
|
|
SYSCON->ICR = EMOSC_ST;
|
|||
|
|
}
|
|||
|
|
else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->ICR = HFOSC_ST;
|
|||
|
|
2850: b301 st.w r0, (r3, 0x4)
|
|||
|
|
}
|
|||
|
|
else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->ICR = CMD_ERR_ST;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2852: 1463 ipop
|
|||
|
|
2854: 1461 nir
|
|||
|
|
else if((SYSCON->MISR&IMOSC_ST)==IMOSC_ST) //IMOSC stable interrupt
|
|||
|
|
2856: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2858: 3002 movi r0, 2
|
|||
|
|
285a: 6840 and r1, r0
|
|||
|
|
285c: 3940 cmpnei r1, 0
|
|||
|
|
285e: 0bf9 bt 0x2850 // 2850 <SYSCONIntHandler+0x18>
|
|||
|
|
else if((SYSCON->MISR&EMOSC_ST)==EMOSC_ST) //EMOSC stable interrupt
|
|||
|
|
2860: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2862: 3008 movi r0, 8
|
|||
|
|
2864: 6840 and r1, r0
|
|||
|
|
2866: 3940 cmpnei r1, 0
|
|||
|
|
2868: 0bf4 bt 0x2850 // 2850 <SYSCONIntHandler+0x18>
|
|||
|
|
else if((SYSCON->MISR&HFOSC_ST)==HFOSC_ST) //HFOSC stable interrupt
|
|||
|
|
286a: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
286c: 3010 movi r0, 16
|
|||
|
|
286e: 6840 and r1, r0
|
|||
|
|
2870: 3940 cmpnei r1, 0
|
|||
|
|
2872: 0bef bt 0x2850 // 2850 <SYSCONIntHandler+0x18>
|
|||
|
|
else if((SYSCON->MISR&SYSCLK_ST)==SYSCLK_ST) //SYSCLK change end & stable interrupt
|
|||
|
|
2874: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2876: 6848 and r1, r2
|
|||
|
|
2878: 3940 cmpnei r1, 0
|
|||
|
|
287a: 0c03 bf 0x2880 // 2880 <SYSCONIntHandler+0x48>
|
|||
|
|
SYSCON->ICR = CMD_ERR_ST;
|
|||
|
|
287c: b341 st.w r2, (r3, 0x4)
|
|||
|
|
}
|
|||
|
|
287e: 07ea br 0x2852 // 2852 <SYSCONIntHandler+0x1a>
|
|||
|
|
else if((SYSCON->MISR&IWDT_INT_ST)==IWDT_INT_ST) //IWDT alarm window interrupt
|
|||
|
|
2880: 3280 movi r2, 128
|
|||
|
|
2882: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2884: 4241 lsli r2, r2, 1
|
|||
|
|
2886: 6848 and r1, r2
|
|||
|
|
2888: 3940 cmpnei r1, 0
|
|||
|
|
288a: 0bf9 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&WKI_INT_ST)==WKI_INT_ST)
|
|||
|
|
288c: 3280 movi r2, 128
|
|||
|
|
288e: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2890: 4242 lsli r2, r2, 2
|
|||
|
|
2892: 6848 and r1, r2
|
|||
|
|
2894: 3940 cmpnei r1, 0
|
|||
|
|
2896: 0bf3 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&RAMERRINT_ST)==RAMERRINT_ST) //SRAM check fail interrupt
|
|||
|
|
2898: 3280 movi r2, 128
|
|||
|
|
289a: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
289c: 4243 lsli r2, r2, 3
|
|||
|
|
289e: 6848 and r1, r2
|
|||
|
|
28a0: 3940 cmpnei r1, 0
|
|||
|
|
28a2: 0bed bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&LVD_INT_ST)==LVD_INT_ST) //LVD threshold interrupt
|
|||
|
|
28a4: 3280 movi r2, 128
|
|||
|
|
28a6: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28a8: 4244 lsli r2, r2, 4
|
|||
|
|
28aa: 6848 and r1, r2
|
|||
|
|
28ac: 3940 cmpnei r1, 0
|
|||
|
|
28ae: 0c03 bf 0x28b4 // 28b4 <SYSCONIntHandler+0x7c>
|
|||
|
|
nop;
|
|||
|
|
28b0: 6c03 mov r0, r0
|
|||
|
|
28b2: 07e5 br 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&HWD_ERR_ST)==HWD_ERR_ST) //Hardware Divider divisor = 0 interrupt
|
|||
|
|
28b4: 3280 movi r2, 128
|
|||
|
|
28b6: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28b8: 4245 lsli r2, r2, 5
|
|||
|
|
28ba: 6848 and r1, r2
|
|||
|
|
28bc: 3940 cmpnei r1, 0
|
|||
|
|
28be: 0bdf bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&EFL_ERR_ST)==EFL_ERR_ST) //Flash check fail interrupt
|
|||
|
|
28c0: 3280 movi r2, 128
|
|||
|
|
28c2: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28c4: 4246 lsli r2, r2, 6
|
|||
|
|
28c6: 6848 and r1, r2
|
|||
|
|
28c8: 3940 cmpnei r1, 0
|
|||
|
|
28ca: 0bd9 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&OPTERR_INT)==OPTERR_INT) //Option load fail interrupt
|
|||
|
|
28cc: 3280 movi r2, 128
|
|||
|
|
28ce: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28d0: 4247 lsli r2, r2, 7
|
|||
|
|
28d2: 6848 and r1, r2
|
|||
|
|
28d4: 3940 cmpnei r1, 0
|
|||
|
|
28d6: 0bd3 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&EM_CMLST_ST)==EM_CMLST_ST) //EMOSC clock monitor fail interrupt
|
|||
|
|
28d8: 3280 movi r2, 128
|
|||
|
|
28da: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28dc: 424b lsli r2, r2, 11
|
|||
|
|
28de: 6848 and r1, r2
|
|||
|
|
28e0: 3940 cmpnei r1, 0
|
|||
|
|
28e2: 0bcd bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&EM_EVTRG0_ST)==EM_EVTRG0_ST) //Event Trigger Channel 0 Interrupt
|
|||
|
|
28e4: 3280 movi r2, 128
|
|||
|
|
28e6: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28e8: 424c lsli r2, r2, 12
|
|||
|
|
28ea: 6848 and r1, r2
|
|||
|
|
28ec: 3940 cmpnei r1, 0
|
|||
|
|
28ee: 0bc7 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&EM_EVTRG1_ST)==EM_EVTRG1_ST) //Event Trigger Channel 1 Interrupt
|
|||
|
|
28f0: 3280 movi r2, 128
|
|||
|
|
28f2: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
28f4: 424d lsli r2, r2, 13
|
|||
|
|
28f6: 6848 and r1, r2
|
|||
|
|
28f8: 3940 cmpnei r1, 0
|
|||
|
|
28fa: 0bc1 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&EM_EVTRG2_ST)==EM_EVTRG2_ST) //Event Trigger Channel 2 Interrupt
|
|||
|
|
28fc: 3280 movi r2, 128
|
|||
|
|
28fe: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2900: 424e lsli r2, r2, 14
|
|||
|
|
2902: 6848 and r1, r2
|
|||
|
|
2904: 3940 cmpnei r1, 0
|
|||
|
|
2906: 0bbb bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&EM_EVTRG3_ST)==EM_EVTRG3_ST) //Event Trigger Channel 3 Interrupt
|
|||
|
|
2908: 3280 movi r2, 128
|
|||
|
|
290a: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
290c: 424f lsli r2, r2, 15
|
|||
|
|
290e: 6848 and r1, r2
|
|||
|
|
2910: 3940 cmpnei r1, 0
|
|||
|
|
2912: 0bb5 bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
else if((SYSCON->MISR&CMD_ERR_ST)==CMD_ERR_ST) //Command error interrupt
|
|||
|
|
2914: 3280 movi r2, 128
|
|||
|
|
2916: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2918: 4256 lsli r2, r2, 22
|
|||
|
|
291a: 6848 and r1, r2
|
|||
|
|
291c: 3940 cmpnei r1, 0
|
|||
|
|
291e: 0baf bt 0x287c // 287c <SYSCONIntHandler+0x44>
|
|||
|
|
2920: 0799 br 0x2852 // 2852 <SYSCONIntHandler+0x1a>
|
|||
|
|
2922: 0000 bkpt
|
|||
|
|
2924: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.IFCIntHandler:
|
|||
|
|
|
|||
|
|
00002928 <IFCIntHandler>:
|
|||
|
|
//IFC Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void IFCIntHandler(void)
|
|||
|
|
{
|
|||
|
|
2928: 1460 nie
|
|||
|
|
292a: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if(IFC->MISR&ERS_END_INT)
|
|||
|
|
292c: 1078 lrw r3, 0x20000060 // 298c <IFCIntHandler+0x64>
|
|||
|
|
292e: 3101 movi r1, 1
|
|||
|
|
2930: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2932: 934b ld.w r2, (r3, 0x2c)
|
|||
|
|
2934: 6884 and r2, r1
|
|||
|
|
2936: 3a40 cmpnei r2, 0
|
|||
|
|
2938: 0c04 bf 0x2940 // 2940 <IFCIntHandler+0x18>
|
|||
|
|
{
|
|||
|
|
IFC->ICR=RGM_END_INT;
|
|||
|
|
}
|
|||
|
|
else if(IFC->MISR&PEP_END_INT)
|
|||
|
|
{
|
|||
|
|
IFC->ICR=PEP_END_INT;
|
|||
|
|
293a: b32c st.w r1, (r3, 0x30)
|
|||
|
|
}
|
|||
|
|
else if(IFC->MISR&OVW_ERR_INT)
|
|||
|
|
{
|
|||
|
|
IFC->ICR=OVW_ERR_INT;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
293c: 1463 ipop
|
|||
|
|
293e: 1461 nir
|
|||
|
|
else if(IFC->MISR&RGM_END_INT)
|
|||
|
|
2940: 934b ld.w r2, (r3, 0x2c)
|
|||
|
|
2942: 3102 movi r1, 2
|
|||
|
|
2944: 6884 and r2, r1
|
|||
|
|
2946: 3a40 cmpnei r2, 0
|
|||
|
|
2948: 0bf9 bt 0x293a // 293a <IFCIntHandler+0x12>
|
|||
|
|
else if(IFC->MISR&PEP_END_INT)
|
|||
|
|
294a: 934b ld.w r2, (r3, 0x2c)
|
|||
|
|
294c: 3104 movi r1, 4
|
|||
|
|
294e: 6884 and r2, r1
|
|||
|
|
2950: 3a40 cmpnei r2, 0
|
|||
|
|
2952: 0bf4 bt 0x293a // 293a <IFCIntHandler+0x12>
|
|||
|
|
else if(IFC->MISR&PROT_ERR_INT)
|
|||
|
|
2954: 3280 movi r2, 128
|
|||
|
|
2956: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2958: 4245 lsli r2, r2, 5
|
|||
|
|
295a: 6848 and r1, r2
|
|||
|
|
295c: 3940 cmpnei r1, 0
|
|||
|
|
295e: 0c03 bf 0x2964 // 2964 <IFCIntHandler+0x3c>
|
|||
|
|
IFC->ICR=OVW_ERR_INT;
|
|||
|
|
2960: b34c st.w r2, (r3, 0x30)
|
|||
|
|
}
|
|||
|
|
2962: 07ed br 0x293c // 293c <IFCIntHandler+0x14>
|
|||
|
|
else if(IFC->MISR&UDEF_ERR_INT)
|
|||
|
|
2964: 3280 movi r2, 128
|
|||
|
|
2966: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2968: 4246 lsli r2, r2, 6
|
|||
|
|
296a: 6848 and r1, r2
|
|||
|
|
296c: 3940 cmpnei r1, 0
|
|||
|
|
296e: 0bf9 bt 0x2960 // 2960 <IFCIntHandler+0x38>
|
|||
|
|
else if(IFC->MISR&ADDR_ERR_INT)
|
|||
|
|
2970: 3280 movi r2, 128
|
|||
|
|
2972: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2974: 4247 lsli r2, r2, 7
|
|||
|
|
2976: 6848 and r1, r2
|
|||
|
|
2978: 3940 cmpnei r1, 0
|
|||
|
|
297a: 0bf3 bt 0x2960 // 2960 <IFCIntHandler+0x38>
|
|||
|
|
else if(IFC->MISR&OVW_ERR_INT)
|
|||
|
|
297c: 3280 movi r2, 128
|
|||
|
|
297e: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2980: 4248 lsli r2, r2, 8
|
|||
|
|
2982: 6848 and r1, r2
|
|||
|
|
2984: 3940 cmpnei r1, 0
|
|||
|
|
2986: 0bed bt 0x2960 // 2960 <IFCIntHandler+0x38>
|
|||
|
|
2988: 07da br 0x293c // 293c <IFCIntHandler+0x14>
|
|||
|
|
298a: 0000 bkpt
|
|||
|
|
298c: 20000060 .long 0x20000060
|
|||
|
|
|
|||
|
|
Disassembly of section .text.ADCIntHandler:
|
|||
|
|
|
|||
|
|
00002990 <ADCIntHandler>:
|
|||
|
|
//ADC Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void ADCIntHandler(void)
|
|||
|
|
{
|
|||
|
|
2990: 1460 nie
|
|||
|
|
2992: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if((ADC0->SR&ADC12_EOC)==ADC12_EOC) //ADC EOC interrupt
|
|||
|
|
2994: 1078 lrw r3, 0x20000050 // 29f4 <ADCIntHandler+0x64>
|
|||
|
|
2996: 3101 movi r1, 1
|
|||
|
|
2998: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
299a: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
299c: 6884 and r2, r1
|
|||
|
|
299e: 3a40 cmpnei r2, 0
|
|||
|
|
29a0: 0c04 bf 0x29a8 // 29a8 <ADCIntHandler+0x18>
|
|||
|
|
{
|
|||
|
|
ADC0->CSR = ADC12_CMP1H;
|
|||
|
|
}
|
|||
|
|
else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt.
|
|||
|
|
{
|
|||
|
|
ADC0->CSR = ADC12_CMP1L;
|
|||
|
|
29a2: 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
29a4: 1463 ipop
|
|||
|
|
29a6: 1461 nir
|
|||
|
|
else if((ADC0->SR&ADC12_READY)==ADC12_READY) //ADC READY interrupt
|
|||
|
|
29a8: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
29aa: 3102 movi r1, 2
|
|||
|
|
29ac: 6884 and r2, r1
|
|||
|
|
29ae: 3a40 cmpnei r2, 0
|
|||
|
|
29b0: 0bf9 bt 0x29a2 // 29a2 <ADCIntHandler+0x12>
|
|||
|
|
else if((ADC0->SR&ADC12_OVR)==ADC12_OVR) //ADC OVR interrupt
|
|||
|
|
29b2: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
29b4: 3104 movi r1, 4
|
|||
|
|
29b6: 6884 and r2, r1
|
|||
|
|
29b8: 3a40 cmpnei r2, 0
|
|||
|
|
29ba: 0bf4 bt 0x29a2 // 29a2 <ADCIntHandler+0x12>
|
|||
|
|
else if((ADC0->SR&ADC12_CMP0H)==ADC12_CMP0H) //ADC CMP0H interrupt
|
|||
|
|
29bc: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
29be: 3110 movi r1, 16
|
|||
|
|
29c0: 6884 and r2, r1
|
|||
|
|
29c2: 3a40 cmpnei r2, 0
|
|||
|
|
29c4: 0bef bt 0x29a2 // 29a2 <ADCIntHandler+0x12>
|
|||
|
|
else if((ADC0->SR&ADC12_CMP0L)==ADC12_CMP0L) //ADC CMP0L interrupt.
|
|||
|
|
29c6: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
29c8: 3120 movi r1, 32
|
|||
|
|
29ca: 6884 and r2, r1
|
|||
|
|
29cc: 3a40 cmpnei r2, 0
|
|||
|
|
29ce: 0bea bt 0x29a2 // 29a2 <ADCIntHandler+0x12>
|
|||
|
|
else if((ADC0->SR&ADC12_CMP1H)==ADC12_CMP1H) //ADC CMP1H interrupt.
|
|||
|
|
29d0: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
29d2: 3140 movi r1, 64
|
|||
|
|
29d4: 6884 and r2, r1
|
|||
|
|
29d6: 3a40 cmpnei r2, 0
|
|||
|
|
29d8: 0be5 bt 0x29a2 // 29a2 <ADCIntHandler+0x12>
|
|||
|
|
else if((ADC0->SR&ADC12_CMP1L)==ADC12_CMP1L) //ADC CMP1L interrupt.
|
|||
|
|
29da: 9348 ld.w r2, (r3, 0x20)
|
|||
|
|
29dc: 3180 movi r1, 128
|
|||
|
|
29de: 6884 and r2, r1
|
|||
|
|
29e0: 3a40 cmpnei r2, 0
|
|||
|
|
29e2: 0be0 bt 0x29a2 // 29a2 <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
|
|||
|
|
29e4: 3280 movi r2, 128
|
|||
|
|
29e6: 9328 ld.w r1, (r3, 0x20)
|
|||
|
|
29e8: 4249 lsli r2, r2, 9
|
|||
|
|
29ea: 6848 and r1, r2
|
|||
|
|
29ec: 3940 cmpnei r1, 0
|
|||
|
|
29ee: 0fdb bf 0x29a4 // 29a4 <ADCIntHandler+0x14>
|
|||
|
|
ADC0->CSR = ADC12_SEQ_END0;
|
|||
|
|
29f0: b347 st.w r2, (r3, 0x1c)
|
|||
|
|
}
|
|||
|
|
29f2: 07d9 br 0x29a4 // 29a4 <ADCIntHandler+0x14>
|
|||
|
|
29f4: 20000050 .long 0x20000050
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EPT0IntHandler:
|
|||
|
|
|
|||
|
|
000029f8 <EPT0IntHandler>:
|
|||
|
|
//EPT0 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EPT0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
29f8: 1460 nie
|
|||
|
|
29fa: 1462 ipush
|
|||
|
|
29fc: 14d1 push r4, r15
|
|||
|
|
// ISR content ...
|
|||
|
|
if((EPT0->MISR&EPT_TRGEV0_INT)==EPT_TRGEV0_INT) //TRGEV0 interrupt
|
|||
|
|
29fe: 1387 lrw r4, 0x20000020 // 2b98 <EPT0IntHandler+0x1a0>
|
|||
|
|
2a00: 3280 movi r2, 128
|
|||
|
|
2a02: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
2a04: 60c8 addu r3, r2
|
|||
|
|
2a06: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2a08: 3001 movi r0, 1
|
|||
|
|
2a0a: 6840 and r1, r0
|
|||
|
|
2a0c: 3940 cmpnei r1, 0
|
|||
|
|
2a0e: 0c03 bf 0x2a14 // 2a14 <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;
|
|||
|
|
2a10: b317 st.w r0, (r3, 0x5c)
|
|||
|
|
2a12: 0424 br 0x2a5a // 2a5a <EPT0IntHandler+0x62>
|
|||
|
|
else if((EPT0->MISR&EPT_TRGEV1_INT)==EPT_TRGEV1_INT) //TRGEV1 interrupt
|
|||
|
|
2a14: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2a16: 3002 movi r0, 2
|
|||
|
|
2a18: 6840 and r1, r0
|
|||
|
|
2a1a: 3940 cmpnei r1, 0
|
|||
|
|
2a1c: 0bfa bt 0x2a10 // 2a10 <EPT0IntHandler+0x18>
|
|||
|
|
else if((EPT0->MISR&EPT_TRGEV2_INT)==EPT_TRGEV2_INT) //TRGEV2 interrupt
|
|||
|
|
2a1e: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2a20: 3004 movi r0, 4
|
|||
|
|
2a22: 6840 and r1, r0
|
|||
|
|
2a24: 3940 cmpnei r1, 0
|
|||
|
|
2a26: 0bf5 bt 0x2a10 // 2a10 <EPT0IntHandler+0x18>
|
|||
|
|
else if((EPT0->MISR&EPT_TRGEV3_INT)==EPT_TRGEV3_INT) //TRGEV3 interrupt
|
|||
|
|
2a28: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2a2a: 3008 movi r0, 8
|
|||
|
|
2a2c: 6840 and r1, r0
|
|||
|
|
2a2e: 3940 cmpnei r1, 0
|
|||
|
|
2a30: 0bf0 bt 0x2a10 // 2a10 <EPT0IntHandler+0x18>
|
|||
|
|
else if((EPT0->MISR&EPT_CAP_LD0)==EPT_CAP_LD0) //Capture Load to CMPA interrupt
|
|||
|
|
2a32: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2a34: 3010 movi r0, 16
|
|||
|
|
2a36: 6840 and r1, r0
|
|||
|
|
2a38: 3940 cmpnei r1, 0
|
|||
|
|
2a3a: 0c1f bf 0x2a78 // 2a78 <EPT0IntHandler+0x80>
|
|||
|
|
EPT0->ICR=EPT_CAP_LD0;
|
|||
|
|
2a3c: b317 st.w r0, (r3, 0x5c)
|
|||
|
|
EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIRT);
|
|||
|
|
2a3e: 3200 movi r2, 0
|
|||
|
|
2a40: 3101 movi r1, 1
|
|||
|
|
2a42: 3000 movi r0, 0
|
|||
|
|
2a44: e3fff972 bsr 0x1d28 // 1d28 <EXTI_trigger_CMD>
|
|||
|
|
EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIFT);
|
|||
|
|
2a48: 3201 movi r2, 1
|
|||
|
|
2a4a: 3101 movi r1, 1
|
|||
|
|
2a4c: 3001 movi r0, 1
|
|||
|
|
2a4e: e3fff96d bsr 0x1d28 // 1d28 <EXTI_trigger_CMD>
|
|||
|
|
R_CMPA_BUF=EPT0->CMPA; //Low voltage counter
|
|||
|
|
2a52: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
2a54: 934b ld.w r2, (r3, 0x2c)
|
|||
|
|
2a56: 1272 lrw r3, 0x2000014c // 2b9c <EPT0IntHandler+0x1a4>
|
|||
|
|
R_CMPB_BUF=EPT0->CMPB; //Duty counter
|
|||
|
|
2a58: 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
|
|||
|
|
2a5a: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
2a5c: 3280 movi r2, 128
|
|||
|
|
2a5e: 60c8 addu r3, r2
|
|||
|
|
2a60: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2a62: 3001 movi r0, 1
|
|||
|
|
2a64: 6840 and r1, r0
|
|||
|
|
2a66: 3940 cmpnei r1, 0
|
|||
|
|
2a68: 0c61 bf 0x2b2a // 2b2a <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;
|
|||
|
|
2a6a: 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2a6c: d9ee2001 ld.w r15, (r14, 0x4)
|
|||
|
|
2a70: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
2a72: 1402 addi r14, r14, 8
|
|||
|
|
2a74: 1463 ipop
|
|||
|
|
2a76: 1461 nir
|
|||
|
|
else if((EPT0->MISR&EPT_CAP_LD1)==EPT_CAP_LD1) //Capture Load to CMPB interrupt
|
|||
|
|
2a78: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2a7a: 3020 movi r0, 32
|
|||
|
|
2a7c: 6840 and r1, r0
|
|||
|
|
2a7e: 3940 cmpnei r1, 0
|
|||
|
|
2a80: 0c10 bf 0x2aa0 // 2aa0 <EPT0IntHandler+0xa8>
|
|||
|
|
EPT0->ICR=EPT_CAP_LD1;
|
|||
|
|
2a82: b317 st.w r0, (r3, 0x5c)
|
|||
|
|
EXTI_trigger_CMD(ENABLE,EXI_PIN0,_EXIRT);
|
|||
|
|
2a84: 3200 movi r2, 0
|
|||
|
|
2a86: 3101 movi r1, 1
|
|||
|
|
2a88: 3001 movi r0, 1
|
|||
|
|
2a8a: e3fff94f bsr 0x1d28 // 1d28 <EXTI_trigger_CMD>
|
|||
|
|
EXTI_trigger_CMD(DISABLE,EXI_PIN0,_EXIFT);
|
|||
|
|
2a8e: 3201 movi r2, 1
|
|||
|
|
2a90: 3101 movi r1, 1
|
|||
|
|
2a92: 3000 movi r0, 0
|
|||
|
|
2a94: e3fff94a bsr 0x1d28 // 1d28 <EXTI_trigger_CMD>
|
|||
|
|
R_CMPB_BUF=EPT0->CMPB; //Duty counter
|
|||
|
|
2a98: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
2a9a: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
2a9c: 1261 lrw r3, 0x20000148 // 2ba0 <EPT0IntHandler+0x1a8>
|
|||
|
|
2a9e: 07dd br 0x2a58 // 2a58 <EPT0IntHandler+0x60>
|
|||
|
|
else if((EPT0->MISR&EPT_CAP_LD2)==EPT_CAP_LD2) //Capture Load to CMPC interrupt
|
|||
|
|
2aa0: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2aa2: 3040 movi r0, 64
|
|||
|
|
2aa4: 6840 and r1, r0
|
|||
|
|
2aa6: 3940 cmpnei r1, 0
|
|||
|
|
2aa8: 0bb4 bt 0x2a10 // 2a10 <EPT0IntHandler+0x18>
|
|||
|
|
else if((EPT0->MISR&EPT_CAP_LD3)==EPT_CAP_LD3) //Capture Load to CMPD interrupt
|
|||
|
|
2aaa: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2aac: 6848 and r1, r2
|
|||
|
|
2aae: 3940 cmpnei r1, 0
|
|||
|
|
2ab0: 0c03 bf 0x2ab6 // 2ab6 <EPT0IntHandler+0xbe>
|
|||
|
|
EPT0->ICR=EPT_CDD;
|
|||
|
|
2ab2: b357 st.w r2, (r3, 0x5c)
|
|||
|
|
2ab4: 07d3 br 0x2a5a // 2a5a <EPT0IntHandler+0x62>
|
|||
|
|
else if((EPT0->MISR&EPT_CAU)==EPT_CAU) //Up-Counting phase CNT = CMPA interrupt
|
|||
|
|
2ab6: 3280 movi r2, 128
|
|||
|
|
2ab8: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2aba: 4241 lsli r2, r2, 1
|
|||
|
|
2abc: 6848 and r1, r2
|
|||
|
|
2abe: 3940 cmpnei r1, 0
|
|||
|
|
2ac0: 0bf9 bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CAD)==EPT_CAD) //Down-Counting phase CNT = CMPA interrupt
|
|||
|
|
2ac2: 3280 movi r2, 128
|
|||
|
|
2ac4: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2ac6: 4242 lsli r2, r2, 2
|
|||
|
|
2ac8: 6848 and r1, r2
|
|||
|
|
2aca: 3940 cmpnei r1, 0
|
|||
|
|
2acc: 0bf3 bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CBU)==EPT_CBU) //Up-Counting phase CNT = CMPB interrupt
|
|||
|
|
2ace: 3280 movi r2, 128
|
|||
|
|
2ad0: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2ad2: 4243 lsli r2, r2, 3
|
|||
|
|
2ad4: 6848 and r1, r2
|
|||
|
|
2ad6: 3940 cmpnei r1, 0
|
|||
|
|
2ad8: 0bed bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CBD)==EPT_CBD) //Down-Counting phase CNT = CMPB interrupt
|
|||
|
|
2ada: 3280 movi r2, 128
|
|||
|
|
2adc: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2ade: 4244 lsli r2, r2, 4
|
|||
|
|
2ae0: 6848 and r1, r2
|
|||
|
|
2ae2: 3940 cmpnei r1, 0
|
|||
|
|
2ae4: 0be7 bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CCU)==EPT_CCU) //Up-Counting phase CNT = CMPC interrupt
|
|||
|
|
2ae6: 3280 movi r2, 128
|
|||
|
|
2ae8: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2aea: 4245 lsli r2, r2, 5
|
|||
|
|
2aec: 6848 and r1, r2
|
|||
|
|
2aee: 3940 cmpnei r1, 0
|
|||
|
|
2af0: 0be1 bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CCD)==EPT_CCD) //Down-Counting phase CNT = CMPC interrupt
|
|||
|
|
2af2: 3280 movi r2, 128
|
|||
|
|
2af4: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2af6: 4246 lsli r2, r2, 6
|
|||
|
|
2af8: 6848 and r1, r2
|
|||
|
|
2afa: 3940 cmpnei r1, 0
|
|||
|
|
2afc: 0bdb bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CDU)==EPT_CDU) //Up-Counting phase CNT = CMPD interrupt
|
|||
|
|
2afe: 3280 movi r2, 128
|
|||
|
|
2b00: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2b02: 4247 lsli r2, r2, 7
|
|||
|
|
2b04: 6848 and r1, r2
|
|||
|
|
2b06: 3940 cmpnei r1, 0
|
|||
|
|
2b08: 0bd5 bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_CDD)==EPT_CDD) //Down-Counting phase CNT = CMPD interrupt
|
|||
|
|
2b0a: 3280 movi r2, 128
|
|||
|
|
2b0c: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2b0e: 4248 lsli r2, r2, 8
|
|||
|
|
2b10: 6848 and r1, r2
|
|||
|
|
2b12: 3940 cmpnei r1, 0
|
|||
|
|
2b14: 0bcf bt 0x2ab2 // 2ab2 <EPT0IntHandler+0xba>
|
|||
|
|
else if((EPT0->MISR&EPT_PEND)==EPT_PEND) //End of cycle interrupt
|
|||
|
|
2b16: 3280 movi r2, 128
|
|||
|
|
2b18: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2b1a: 4249 lsli r2, r2, 9
|
|||
|
|
2b1c: 6848 and r1, r2
|
|||
|
|
2b1e: 3940 cmpnei r1, 0
|
|||
|
|
2b20: 0f9d bf 0x2a5a // 2a5a <EPT0IntHandler+0x62>
|
|||
|
|
EPT0->ICR=EPT_PEND;
|
|||
|
|
2b22: b357 st.w r2, (r3, 0x5c)
|
|||
|
|
EPT_Stop();
|
|||
|
|
2b24: e3fffd4a bsr 0x25b8 // 25b8 <EPT_Stop>
|
|||
|
|
2b28: 0799 br 0x2a5a // 2a5a <EPT0IntHandler+0x62>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP1_EMINT)==EPT_EP1_EMINT) //interrupt flag of EP1 event
|
|||
|
|
2b2a: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b2c: 3002 movi r0, 2
|
|||
|
|
2b2e: 6840 and r1, r0
|
|||
|
|
2b30: 3940 cmpnei r1, 0
|
|||
|
|
2b32: 0b9c bt 0x2a6a // 2a6a <EPT0IntHandler+0x72>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP2_EMINT)==EPT_EP2_EMINT) //interrupt flag of EP2 event
|
|||
|
|
2b34: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b36: 3004 movi r0, 4
|
|||
|
|
2b38: 6840 and r1, r0
|
|||
|
|
2b3a: 3940 cmpnei r1, 0
|
|||
|
|
2b3c: 0b97 bt 0x2a6a // 2a6a <EPT0IntHandler+0x72>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP3_EMINT)==EPT_EP3_EMINT) //interrupt flag of EP3 event
|
|||
|
|
2b3e: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b40: 3008 movi r0, 8
|
|||
|
|
2b42: 6840 and r1, r0
|
|||
|
|
2b44: 3940 cmpnei r1, 0
|
|||
|
|
2b46: 0b92 bt 0x2a6a // 2a6a <EPT0IntHandler+0x72>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP4_EMINT)==EPT_EP4_EMINT) //interrupt flag of EP4 event
|
|||
|
|
2b48: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b4a: 3010 movi r0, 16
|
|||
|
|
2b4c: 6840 and r1, r0
|
|||
|
|
2b4e: 3940 cmpnei r1, 0
|
|||
|
|
2b50: 0b8d bt 0x2a6a // 2a6a <EPT0IntHandler+0x72>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP5_EMINT)==EPT_EP5_EMINT) //interrupt flag of EP5 event
|
|||
|
|
2b52: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b54: 3020 movi r0, 32
|
|||
|
|
2b56: 6840 and r1, r0
|
|||
|
|
2b58: 3940 cmpnei r1, 0
|
|||
|
|
2b5a: 0b88 bt 0x2a6a // 2a6a <EPT0IntHandler+0x72>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP6_EMINT)==EPT_EP6_EMINT) //interrupt flag of EP6 event
|
|||
|
|
2b5c: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b5e: 3040 movi r0, 64
|
|||
|
|
2b60: 6840 and r1, r0
|
|||
|
|
2b62: 3940 cmpnei r1, 0
|
|||
|
|
2b64: 0b83 bt 0x2a6a // 2a6a <EPT0IntHandler+0x72>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EP7_EMINT)==EPT_EP7_EMINT) //interrupt flag of EP7 event
|
|||
|
|
2b66: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b68: 6848 and r1, r2
|
|||
|
|
2b6a: 3940 cmpnei r1, 0
|
|||
|
|
2b6c: 0c03 bf 0x2b72 // 2b72 <EPT0IntHandler+0x17a>
|
|||
|
|
EPT0->EMICR=EPT_EOM_FAULT_EMINT;
|
|||
|
|
2b6e: b34d st.w r2, (r3, 0x34)
|
|||
|
|
}
|
|||
|
|
2b70: 077e br 0x2a6c // 2a6c <EPT0IntHandler+0x74>
|
|||
|
|
else if((EPT0->EMMISR&EPT_CPU_FAULT_EMINT)==EPT_CPU_FAULT_EMINT) //interrupt flag of CPU_FAULT event
|
|||
|
|
2b72: 3280 movi r2, 128
|
|||
|
|
2b74: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b76: 4241 lsli r2, r2, 1
|
|||
|
|
2b78: 6848 and r1, r2
|
|||
|
|
2b7a: 3940 cmpnei r1, 0
|
|||
|
|
2b7c: 0bf9 bt 0x2b6e // 2b6e <EPT0IntHandler+0x176>
|
|||
|
|
else if((EPT0->EMMISR&EPT_MEM_FAULT_EMINT)==EPT_MEM_FAULT_EMINT) //interrupt flag of MEM_FAULT event
|
|||
|
|
2b7e: 3280 movi r2, 128
|
|||
|
|
2b80: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b82: 4242 lsli r2, r2, 2
|
|||
|
|
2b84: 6848 and r1, r2
|
|||
|
|
2b86: 3940 cmpnei r1, 0
|
|||
|
|
2b88: 0bf3 bt 0x2b6e // 2b6e <EPT0IntHandler+0x176>
|
|||
|
|
else if((EPT0->EMMISR&EPT_EOM_FAULT_EMINT)==EPT_EOM_FAULT_EMINT) //interrupt flag of EOM_FAULT event
|
|||
|
|
2b8a: 3280 movi r2, 128
|
|||
|
|
2b8c: 932b ld.w r1, (r3, 0x2c)
|
|||
|
|
2b8e: 4243 lsli r2, r2, 3
|
|||
|
|
2b90: 6848 and r1, r2
|
|||
|
|
2b92: 3940 cmpnei r1, 0
|
|||
|
|
2b94: 0bed bt 0x2b6e // 2b6e <EPT0IntHandler+0x176>
|
|||
|
|
2b96: 076b br 0x2a6c // 2a6c <EPT0IntHandler+0x74>
|
|||
|
|
2b98: 20000020 .long 0x20000020
|
|||
|
|
2b9c: 2000014c .long 0x2000014c
|
|||
|
|
2ba0: 20000148 .long 0x20000148
|
|||
|
|
|
|||
|
|
Disassembly of section .text.WWDTHandler:
|
|||
|
|
|
|||
|
|
00002ba4 <WWDTHandler>:
|
|||
|
|
//WWDT Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void WWDTHandler(void)
|
|||
|
|
{
|
|||
|
|
2ba4: 1460 nie
|
|||
|
|
2ba6: 1462 ipush
|
|||
|
|
2ba8: 14d2 push r4-r5, r15
|
|||
|
|
WWDT->ICR=0X01;
|
|||
|
|
2baa: 10ab lrw r5, 0x20000010 // 2bd4 <WWDTHandler+0x30>
|
|||
|
|
2bac: 3401 movi r4, 1
|
|||
|
|
2bae: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
2bb0: b385 st.w r4, (r3, 0x14)
|
|||
|
|
WWDT_CNT_Load(0xFF);
|
|||
|
|
2bb2: 30ff movi r0, 255
|
|||
|
|
2bb4: e3fffae0 bsr 0x2174 // 2174 <WWDT_CNT_Load>
|
|||
|
|
if((WWDT->MISR&WWDT_EVI)==WWDT_EVI) //WWDT EVI interrupt
|
|||
|
|
2bb8: 9540 ld.w r2, (r5, 0x0)
|
|||
|
|
2bba: 9263 ld.w r3, (r2, 0xc)
|
|||
|
|
2bbc: 68d0 and r3, r4
|
|||
|
|
2bbe: 3b40 cmpnei r3, 0
|
|||
|
|
2bc0: 0c02 bf 0x2bc4 // 2bc4 <WWDTHandler+0x20>
|
|||
|
|
{
|
|||
|
|
WWDT->ICR = WWDT_EVI;
|
|||
|
|
2bc2: b285 st.w r4, (r2, 0x14)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2bc4: d9ee2002 ld.w r15, (r14, 0x8)
|
|||
|
|
2bc8: 98a1 ld.w r5, (r14, 0x4)
|
|||
|
|
2bca: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
2bcc: 1403 addi r14, r14, 12
|
|||
|
|
2bce: 1463 ipop
|
|||
|
|
2bd0: 1461 nir
|
|||
|
|
2bd2: 0000 bkpt
|
|||
|
|
2bd4: 20000010 .long 0x20000010
|
|||
|
|
|
|||
|
|
Disassembly of section .text.GPT0IntHandler:
|
|||
|
|
|
|||
|
|
00002bd8 <GPT0IntHandler>:
|
|||
|
|
//GPT0 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void GPT0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2bd8: 1460 nie
|
|||
|
|
2bda: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if((GPT0->MISR&GPT_INT_TRGEV0)==GPT_INT_TRGEV0) //TRGEV0 interrupt
|
|||
|
|
2bdc: 107e lrw r3, 0x20000024 // 2c54 <GPT0IntHandler+0x7c>
|
|||
|
|
2bde: 3101 movi r1, 1
|
|||
|
|
2be0: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2be2: 237f addi r3, 128
|
|||
|
|
2be4: 9355 ld.w r2, (r3, 0x54)
|
|||
|
|
2be6: 6884 and r2, r1
|
|||
|
|
2be8: 3a40 cmpnei r2, 0
|
|||
|
|
2bea: 0c04 bf 0x2bf2 // 2bf2 <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;
|
|||
|
|
2bec: 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2bee: 1463 ipop
|
|||
|
|
2bf0: 1461 nir
|
|||
|
|
else if((GPT0->MISR&GPT_INT_TRGEV1)==GPT_INT_TRGEV1) //TRGEV1 interrupt
|
|||
|
|
2bf2: 9355 ld.w r2, (r3, 0x54)
|
|||
|
|
2bf4: 3102 movi r1, 2
|
|||
|
|
2bf6: 6884 and r2, r1
|
|||
|
|
2bf8: 3a40 cmpnei r2, 0
|
|||
|
|
2bfa: 0bf9 bt 0x2bec // 2bec <GPT0IntHandler+0x14>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_CAPLD0)==GPT_INT_CAPLD0) //Capture Load to CMPA interrupt
|
|||
|
|
2bfc: 9355 ld.w r2, (r3, 0x54)
|
|||
|
|
2bfe: 3110 movi r1, 16
|
|||
|
|
2c00: 6884 and r2, r1
|
|||
|
|
2c02: 3a40 cmpnei r2, 0
|
|||
|
|
2c04: 0bf4 bt 0x2bec // 2bec <GPT0IntHandler+0x14>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_CAPLD1)==GPT_INT_CAPLD1) //Capture Load to CMPB interrupt
|
|||
|
|
2c06: 9355 ld.w r2, (r3, 0x54)
|
|||
|
|
2c08: 3120 movi r1, 32
|
|||
|
|
2c0a: 6884 and r2, r1
|
|||
|
|
2c0c: 3a40 cmpnei r2, 0
|
|||
|
|
2c0e: 0bef bt 0x2bec // 2bec <GPT0IntHandler+0x14>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_CAU)==GPT_INT_CAU) //Up-Counting phase CNT = CMPA Interrupt
|
|||
|
|
2c10: 3280 movi r2, 128
|
|||
|
|
2c12: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2c14: 4241 lsli r2, r2, 1
|
|||
|
|
2c16: 6848 and r1, r2
|
|||
|
|
2c18: 3940 cmpnei r1, 0
|
|||
|
|
2c1a: 0c03 bf 0x2c20 // 2c20 <GPT0IntHandler+0x48>
|
|||
|
|
GPT0->ICR = GPT_INT_PEND;
|
|||
|
|
2c1c: b357 st.w r2, (r3, 0x5c)
|
|||
|
|
}
|
|||
|
|
2c1e: 07e8 br 0x2bee // 2bee <GPT0IntHandler+0x16>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_CAD)==GPT_INT_CAD) //Down-Counting phase CNT = CMPA Interrupt
|
|||
|
|
2c20: 3280 movi r2, 128
|
|||
|
|
2c22: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2c24: 4242 lsli r2, r2, 2
|
|||
|
|
2c26: 6848 and r1, r2
|
|||
|
|
2c28: 3940 cmpnei r1, 0
|
|||
|
|
2c2a: 0bf9 bt 0x2c1c // 2c1c <GPT0IntHandler+0x44>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_CBU)==GPT_INT_CBU) //Up-Counting phase CNT = CMPB Interrupt
|
|||
|
|
2c2c: 3280 movi r2, 128
|
|||
|
|
2c2e: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2c30: 4243 lsli r2, r2, 3
|
|||
|
|
2c32: 6848 and r1, r2
|
|||
|
|
2c34: 3940 cmpnei r1, 0
|
|||
|
|
2c36: 0bf3 bt 0x2c1c // 2c1c <GPT0IntHandler+0x44>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_CBD)==GPT_INT_CBD) //Down-Counting phase CNT = CMPB Interrupt
|
|||
|
|
2c38: 3280 movi r2, 128
|
|||
|
|
2c3a: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2c3c: 4244 lsli r2, r2, 4
|
|||
|
|
2c3e: 6848 and r1, r2
|
|||
|
|
2c40: 3940 cmpnei r1, 0
|
|||
|
|
2c42: 0bed bt 0x2c1c // 2c1c <GPT0IntHandler+0x44>
|
|||
|
|
else if((GPT0->MISR&GPT_INT_PEND)==GPT_INT_PEND) //End of cycle interrupt
|
|||
|
|
2c44: 3280 movi r2, 128
|
|||
|
|
2c46: 9335 ld.w r1, (r3, 0x54)
|
|||
|
|
2c48: 4249 lsli r2, r2, 9
|
|||
|
|
2c4a: 6848 and r1, r2
|
|||
|
|
2c4c: 3940 cmpnei r1, 0
|
|||
|
|
2c4e: 0be7 bt 0x2c1c // 2c1c <GPT0IntHandler+0x44>
|
|||
|
|
2c50: 07cf br 0x2bee // 2bee <GPT0IntHandler+0x16>
|
|||
|
|
2c52: 0000 bkpt
|
|||
|
|
2c54: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.RTCIntHandler:
|
|||
|
|
|
|||
|
|
00002c58 <RTCIntHandler>:
|
|||
|
|
//RTC Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void RTCIntHandler(void)
|
|||
|
|
{
|
|||
|
|
2c58: 1460 nie
|
|||
|
|
2c5a: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if((RTC->MISR&ALRA_INT)==ALRA_INT) //Interrupt of alarm A
|
|||
|
|
2c5c: 1079 lrw r3, 0x20000018 // 2cc0 <RTCIntHandler+0x68>
|
|||
|
|
2c5e: 3101 movi r1, 1
|
|||
|
|
2c60: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2c62: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2c64: 6884 and r2, r1
|
|||
|
|
2c66: 3a40 cmpnei r2, 0
|
|||
|
|
2c68: 0c14 bf 0x2c90 // 2c90 <RTCIntHandler+0x38>
|
|||
|
|
{
|
|||
|
|
RTC->ICR=ALRA_INT;
|
|||
|
|
RTC->KEY=0XCA53;
|
|||
|
|
2c6a: 1057 lrw r2, 0xca53 // 2cc4 <RTCIntHandler+0x6c>
|
|||
|
|
RTC->ICR=ALRA_INT;
|
|||
|
|
2c6c: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
RTC->KEY=0XCA53;
|
|||
|
|
2c6e: b34c st.w r2, (r3, 0x30)
|
|||
|
|
RTC->CR=RTC->CR|0x01;
|
|||
|
|
2c70: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
2c72: 6c84 or r2, r1
|
|||
|
|
2c74: b342 st.w r2, (r3, 0x8)
|
|||
|
|
RTC->TIMR=(0x10<<16)|(0x00<<8)|(0x00); //Hour bit6->0:am 1:pm
|
|||
|
|
2c76: 3280 movi r2, 128
|
|||
|
|
2c78: 424d lsli r2, r2, 13
|
|||
|
|
2c7a: b340 st.w r2, (r3, 0x0)
|
|||
|
|
while(RTC->CR&0x02); //busy TIMR DATR ALRAR ALRBR Update done
|
|||
|
|
2c7c: 3102 movi r1, 2
|
|||
|
|
2c7e: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
2c80: 6884 and r2, r1
|
|||
|
|
2c82: 3a40 cmpnei r2, 0
|
|||
|
|
2c84: 0bfd bt 0x2c7e // 2c7e <RTCIntHandler+0x26>
|
|||
|
|
RTC->CR &= ~0x1;
|
|||
|
|
2c86: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
2c88: 3a80 bclri r2, 0
|
|||
|
|
2c8a: 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2c8c: 1463 ipop
|
|||
|
|
2c8e: 1461 nir
|
|||
|
|
else if((RTC->MISR&ALRB_INT)==ALRB_INT) //Interrupt of alarm B
|
|||
|
|
2c90: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2c92: 3102 movi r1, 2
|
|||
|
|
2c94: 6884 and r2, r1
|
|||
|
|
2c96: 3a40 cmpnei r2, 0
|
|||
|
|
2c98: 0c03 bf 0x2c9e // 2c9e <RTCIntHandler+0x46>
|
|||
|
|
RTC->ICR=RTC_TRGEV1_INT;
|
|||
|
|
2c9a: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
2c9c: 07f8 br 0x2c8c // 2c8c <RTCIntHandler+0x34>
|
|||
|
|
else if((RTC->MISR&CPRD_INT)==CPRD_INT) //Interrupt of alarm CPRD
|
|||
|
|
2c9e: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2ca0: 3104 movi r1, 4
|
|||
|
|
2ca2: 6884 and r2, r1
|
|||
|
|
2ca4: 3a40 cmpnei r2, 0
|
|||
|
|
2ca6: 0bfa bt 0x2c9a // 2c9a <RTCIntHandler+0x42>
|
|||
|
|
else if((RTC->MISR&RTC_TRGEV0_INT)==RTC_TRGEV0_INT) //Interrupt of trigger event 0
|
|||
|
|
2ca8: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2caa: 3108 movi r1, 8
|
|||
|
|
2cac: 6884 and r2, r1
|
|||
|
|
2cae: 3a40 cmpnei r2, 0
|
|||
|
|
2cb0: 0bf5 bt 0x2c9a // 2c9a <RTCIntHandler+0x42>
|
|||
|
|
else if((RTC->MISR&RTC_TRGEV1_INT)==RTC_TRGEV1_INT) //Interrupt of trigger event 1
|
|||
|
|
2cb2: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
2cb4: 3110 movi r1, 16
|
|||
|
|
2cb6: 6884 and r2, r1
|
|||
|
|
2cb8: 3a40 cmpnei r2, 0
|
|||
|
|
2cba: 0bf0 bt 0x2c9a // 2c9a <RTCIntHandler+0x42>
|
|||
|
|
2cbc: 07e8 br 0x2c8c // 2c8c <RTCIntHandler+0x34>
|
|||
|
|
2cbe: 0000 bkpt
|
|||
|
|
2cc0: 20000018 .long 0x20000018
|
|||
|
|
2cc4: 0000ca53 .long 0x0000ca53
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART0IntHandler:
|
|||
|
|
|
|||
|
|
00002cc8 <UART0IntHandler>:
|
|||
|
|
//UART0 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void UART0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2cc8: 1460 nie
|
|||
|
|
2cca: 1462 ipush
|
|||
|
|
char inchar = 0;
|
|||
|
|
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((UART0->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt
|
|||
|
|
2ccc: 106d lrw r3, 0x20000040 // 2d00 <UART0IntHandler+0x38>
|
|||
|
|
2cce: 3102 movi r1, 2
|
|||
|
|
2cd0: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2cd2: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2cd4: 6884 and r2, r1
|
|||
|
|
2cd6: 3a40 cmpnei r2, 0
|
|||
|
|
2cd8: 0c03 bf 0x2cde // 2cde <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;
|
|||
|
|
2cda: b323 st.w r1, (r3, 0xc)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2cdc: 0410 br 0x2cfc // 2cfc <UART0IntHandler+0x34>
|
|||
|
|
else if( (UART0->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt
|
|||
|
|
2cde: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2ce0: 3101 movi r1, 1
|
|||
|
|
2ce2: 6884 and r2, r1
|
|||
|
|
2ce4: 3a40 cmpnei r2, 0
|
|||
|
|
2ce6: 0bfa bt 0x2cda // 2cda <UART0IntHandler+0x12>
|
|||
|
|
else if ((UART0->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt
|
|||
|
|
2ce8: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2cea: 3108 movi r1, 8
|
|||
|
|
2cec: 6884 and r2, r1
|
|||
|
|
2cee: 3a40 cmpnei r2, 0
|
|||
|
|
2cf0: 0bf5 bt 0x2cda // 2cda <UART0IntHandler+0x12>
|
|||
|
|
else if ((UART0->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt
|
|||
|
|
2cf2: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2cf4: 3104 movi r1, 4
|
|||
|
|
2cf6: 6884 and r2, r1
|
|||
|
|
2cf8: 3a40 cmpnei r2, 0
|
|||
|
|
2cfa: 0bf0 bt 0x2cda // 2cda <UART0IntHandler+0x12>
|
|||
|
|
}
|
|||
|
|
2cfc: 1463 ipop
|
|||
|
|
2cfe: 1461 nir
|
|||
|
|
2d00: 20000040 .long 0x20000040
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART1IntHandler:
|
|||
|
|
|
|||
|
|
00002d04 <UART1IntHandler>:
|
|||
|
|
//UART1 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void UART1IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2d04: 1460 nie
|
|||
|
|
2d06: 1462 ipush
|
|||
|
|
2d08: 14d0 push r15
|
|||
|
|
char inchar = 0;
|
|||
|
|
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((UART1->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt
|
|||
|
|
2d0a: 107f lrw r3, 0x2000003c // 2d84 <UART1IntHandler+0x80>
|
|||
|
|
2d0c: 3102 movi r1, 2
|
|||
|
|
2d0e: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2d10: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2d12: 6884 and r2, r1
|
|||
|
|
2d14: 3a40 cmpnei r2, 0
|
|||
|
|
2d16: 0c0b bf 0x2d2c // 2d2c <UART1IntHandler+0x28>
|
|||
|
|
{
|
|||
|
|
UART1->ISR=UART_RX_INT_S;
|
|||
|
|
2d18: b323 st.w r1, (r3, 0xc)
|
|||
|
|
inchar = CSP_UART_GET_DATA(UART1);
|
|||
|
|
2d1a: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
UART1_RecvINT_Processing(inchar);
|
|||
|
|
2d1c: 7400 zextb r0, r0
|
|||
|
|
2d1e: e000032b bsr 0x3374 // 3374 <UART1_RecvINT_Processing>
|
|||
|
|
if(RS485_Comm_Flag == 0x01){
|
|||
|
|
RS485_Comm_End ++;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2d22: d9ee2000 ld.w r15, (r14, 0x0)
|
|||
|
|
2d26: 1401 addi r14, r14, 4
|
|||
|
|
2d28: 1463 ipop
|
|||
|
|
2d2a: 1461 nir
|
|||
|
|
else if( (UART1->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt
|
|||
|
|
2d2c: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2d2e: 3201 movi r2, 1
|
|||
|
|
2d30: 6848 and r1, r2
|
|||
|
|
2d32: 3940 cmpnei r1, 0
|
|||
|
|
2d34: 0c0d bf 0x2d4e // 2d4e <UART1IntHandler+0x4a>
|
|||
|
|
UART1->ISR=UART_TX_INT_S;
|
|||
|
|
2d36: b343 st.w r2, (r3, 0xc)
|
|||
|
|
RS485_Comming = 0x01;
|
|||
|
|
2d38: 1074 lrw r3, 0x200000a8 // 2d88 <UART1IntHandler+0x84>
|
|||
|
|
2d3a: b340 st.w r2, (r3, 0x0)
|
|||
|
|
if(RS485_Comm_Flag == 0x01){
|
|||
|
|
2d3c: 1074 lrw r3, 0x200000ac // 2d8c <UART1IntHandler+0x88>
|
|||
|
|
2d3e: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2d40: 3b41 cmpnei r3, 1
|
|||
|
|
2d42: 0bf0 bt 0x2d22 // 2d22 <UART1IntHandler+0x1e>
|
|||
|
|
RS485_Comm_Start ++;
|
|||
|
|
2d44: 1053 lrw r2, 0x200000b0 // 2d90 <UART1IntHandler+0x8c>
|
|||
|
|
RS485_Comm_End ++;
|
|||
|
|
2d46: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
2d48: 2300 addi r3, 1
|
|||
|
|
2d4a: b260 st.w r3, (r2, 0x0)
|
|||
|
|
}
|
|||
|
|
2d4c: 07eb br 0x2d22 // 2d22 <UART1IntHandler+0x1e>
|
|||
|
|
else if ((UART1->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt
|
|||
|
|
2d4e: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2d50: 3108 movi r1, 8
|
|||
|
|
2d52: 6884 and r2, r1
|
|||
|
|
2d54: 3a40 cmpnei r2, 0
|
|||
|
|
2d56: 0c03 bf 0x2d5c // 2d5c <UART1IntHandler+0x58>
|
|||
|
|
UART1->ISR=UART_TX_IOV_S;
|
|||
|
|
2d58: b323 st.w r1, (r3, 0xc)
|
|||
|
|
2d5a: 07e4 br 0x2d22 // 2d22 <UART1IntHandler+0x1e>
|
|||
|
|
else if ((UART1->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt
|
|||
|
|
2d5c: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2d5e: 3104 movi r1, 4
|
|||
|
|
2d60: 6884 and r2, r1
|
|||
|
|
2d62: 3a40 cmpnei r2, 0
|
|||
|
|
2d64: 0bfa bt 0x2d58 // 2d58 <UART1IntHandler+0x54>
|
|||
|
|
else if ((UART1->ISR&UART_TX_DONE_S)==UART_TX_DONE_S)
|
|||
|
|
2d66: 3180 movi r1, 128
|
|||
|
|
2d68: 9303 ld.w r0, (r3, 0xc)
|
|||
|
|
2d6a: 412c lsli r1, r1, 12
|
|||
|
|
2d6c: 6804 and r0, r1
|
|||
|
|
2d6e: 3840 cmpnei r0, 0
|
|||
|
|
2d70: 0fd9 bf 0x2d22 // 2d22 <UART1IntHandler+0x1e>
|
|||
|
|
UART1->ISR=UART_TX_DONE_S;
|
|||
|
|
2d72: b323 st.w r1, (r3, 0xc)
|
|||
|
|
RS485_Comming = 0x00;
|
|||
|
|
2d74: 1065 lrw r3, 0x200000a8 // 2d88 <UART1IntHandler+0x84>
|
|||
|
|
2d76: b340 st.w r2, (r3, 0x0)
|
|||
|
|
if(RS485_Comm_Flag == 0x01){
|
|||
|
|
2d78: 1065 lrw r3, 0x200000ac // 2d8c <UART1IntHandler+0x88>
|
|||
|
|
2d7a: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2d7c: 3b41 cmpnei r3, 1
|
|||
|
|
2d7e: 0bd2 bt 0x2d22 // 2d22 <UART1IntHandler+0x1e>
|
|||
|
|
RS485_Comm_End ++;
|
|||
|
|
2d80: 1045 lrw r2, 0x200000b4 // 2d94 <UART1IntHandler+0x90>
|
|||
|
|
2d82: 07e2 br 0x2d46 // 2d46 <UART1IntHandler+0x42>
|
|||
|
|
2d84: 2000003c .long 0x2000003c
|
|||
|
|
2d88: 200000a8 .long 0x200000a8
|
|||
|
|
2d8c: 200000ac .long 0x200000ac
|
|||
|
|
2d90: 200000b0 .long 0x200000b0
|
|||
|
|
2d94: 200000b4 .long 0x200000b4
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART2IntHandler:
|
|||
|
|
|
|||
|
|
00002d98 <UART2IntHandler>:
|
|||
|
|
//UART2 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void UART2IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2d98: 1460 nie
|
|||
|
|
2d9a: 1462 ipush
|
|||
|
|
char inchar = 0;
|
|||
|
|
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((UART2->ISR&UART_RX_INT_S)==UART_RX_INT_S) //RX interrupt
|
|||
|
|
2d9c: 1071 lrw r3, 0x20000038 // 2de0 <UART2IntHandler+0x48>
|
|||
|
|
2d9e: 3102 movi r1, 2
|
|||
|
|
2da0: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2da2: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2da4: 6884 and r2, r1
|
|||
|
|
2da6: 3a40 cmpnei r2, 0
|
|||
|
|
2da8: 0c04 bf 0x2db0 // 2db0 <UART2IntHandler+0x18>
|
|||
|
|
{
|
|||
|
|
UART2->ISR=UART_RX_IOV_S;
|
|||
|
|
}
|
|||
|
|
else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt
|
|||
|
|
{
|
|||
|
|
UART2->ISR=UART_TX_IOV_S;
|
|||
|
|
2daa: b323 st.w r1, (r3, 0xc)
|
|||
|
|
// RS485_Comm_End ++;
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
2dac: 1463 ipop
|
|||
|
|
2dae: 1461 nir
|
|||
|
|
else if( (UART2->ISR&UART_TX_INT_S)==UART_TX_INT_S ) //TX interrupt
|
|||
|
|
2db0: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2db2: 3101 movi r1, 1
|
|||
|
|
2db4: 6884 and r2, r1
|
|||
|
|
2db6: 3a40 cmpnei r2, 0
|
|||
|
|
2db8: 0bf9 bt 0x2daa // 2daa <UART2IntHandler+0x12>
|
|||
|
|
else if ((UART2->ISR&UART_RX_IOV_S)==UART_RX_IOV_S) //RX overrun interrupt
|
|||
|
|
2dba: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2dbc: 3108 movi r1, 8
|
|||
|
|
2dbe: 6884 and r2, r1
|
|||
|
|
2dc0: 3a40 cmpnei r2, 0
|
|||
|
|
2dc2: 0bf4 bt 0x2daa // 2daa <UART2IntHandler+0x12>
|
|||
|
|
else if ((UART2->ISR&UART_TX_IOV_S)==UART_TX_IOV_S) //TX overrun interrupt
|
|||
|
|
2dc4: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2dc6: 3104 movi r1, 4
|
|||
|
|
2dc8: 6884 and r2, r1
|
|||
|
|
2dca: 3a40 cmpnei r2, 0
|
|||
|
|
2dcc: 0bef bt 0x2daa // 2daa <UART2IntHandler+0x12>
|
|||
|
|
else if ((UART2->ISR&UART_TX_DONE_S)==UART_TX_DONE_S)
|
|||
|
|
2dce: 3280 movi r2, 128
|
|||
|
|
2dd0: 9323 ld.w r1, (r3, 0xc)
|
|||
|
|
2dd2: 424c lsli r2, r2, 12
|
|||
|
|
2dd4: 6848 and r1, r2
|
|||
|
|
2dd6: 3940 cmpnei r1, 0
|
|||
|
|
2dd8: 0fea bf 0x2dac // 2dac <UART2IntHandler+0x14>
|
|||
|
|
UART2->ISR=UART_TX_DONE_S;
|
|||
|
|
2dda: b343 st.w r2, (r3, 0xc)
|
|||
|
|
}
|
|||
|
|
2ddc: 07e8 br 0x2dac // 2dac <UART2IntHandler+0x14>
|
|||
|
|
2dde: 0000 bkpt
|
|||
|
|
2de0: 20000038 .long 0x20000038
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SPI0IntHandler:
|
|||
|
|
|
|||
|
|
00002de4 <SPI0IntHandler>:
|
|||
|
|
//SPI Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SPI0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2de4: 1460 nie
|
|||
|
|
2de6: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if((SPI0->MISR&SPI_PORIM)==SPI_PORIM) //Receive Overrun Interrupt
|
|||
|
|
2de8: 1178 lrw r3, 0x20000034 // 2ec8 <SPI0IntHandler+0xe4>
|
|||
|
|
2dea: 3101 movi r1, 1
|
|||
|
|
2dec: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2dee: 9347 ld.w r2, (r3, 0x1c)
|
|||
|
|
2df0: 6884 and r2, r1
|
|||
|
|
2df2: 3a40 cmpnei r2, 0
|
|||
|
|
2df4: 0c03 bf 0x2dfa // 2dfa <SPI0IntHandler+0x16>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt
|
|||
|
|
{
|
|||
|
|
SPI0->ICR = SPI_TXIM;
|
|||
|
|
2df6: b328 st.w r1, (r3, 0x20)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
2df8: 0407 br 0x2e06 // 2e06 <SPI0IntHandler+0x22>
|
|||
|
|
else if((SPI0->MISR&SPI_RTIM)==SPI_RTIM) //Receive Timeout Interrupt
|
|||
|
|
2dfa: 9347 ld.w r2, (r3, 0x1c)
|
|||
|
|
2dfc: 3002 movi r0, 2
|
|||
|
|
2dfe: 6880 and r2, r0
|
|||
|
|
2e00: 3a40 cmpnei r2, 0
|
|||
|
|
2e02: 0c04 bf 0x2e0a // 2e0a <SPI0IntHandler+0x26>
|
|||
|
|
SPI0->ICR = SPI_RTIM;
|
|||
|
|
2e04: b308 st.w r0, (r3, 0x20)
|
|||
|
|
}
|
|||
|
|
2e06: 1463 ipop
|
|||
|
|
2e08: 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
|
|||
|
|
2e0a: 9347 ld.w r2, (r3, 0x1c)
|
|||
|
|
2e0c: 3004 movi r0, 4
|
|||
|
|
2e0e: 6880 and r2, r0
|
|||
|
|
2e10: 3a40 cmpnei r2, 0
|
|||
|
|
2e12: 0c55 bf 0x2ebc // 2ebc <SPI0IntHandler+0xd8>
|
|||
|
|
SPI0->ICR = SPI_RXIM;
|
|||
|
|
2e14: b308 st.w r0, (r3, 0x20)
|
|||
|
|
if(SPI0->DR==0xaa)
|
|||
|
|
2e16: 9302 ld.w r0, (r3, 0x8)
|
|||
|
|
2e18: 32aa movi r2, 170
|
|||
|
|
2e1a: 6482 cmpne r0, r2
|
|||
|
|
2e1c: 083e bt 0x2e98 // 2e98 <SPI0IntHandler+0xb4>
|
|||
|
|
while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full?
|
|||
|
|
2e1e: 3102 movi r1, 2
|
|||
|
|
2e20: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e22: 6884 and r2, r1
|
|||
|
|
2e24: 3a40 cmpnei r2, 0
|
|||
|
|
2e26: 0ffd bf 0x2e20 // 2e20 <SPI0IntHandler+0x3c>
|
|||
|
|
SPI0->DR = 0x11;
|
|||
|
|
2e28: 3211 movi r2, 17
|
|||
|
|
2e2a: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2e2c: 3110 movi r1, 16
|
|||
|
|
2e2e: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e30: 6884 and r2, r1
|
|||
|
|
2e32: 3a40 cmpnei r2, 0
|
|||
|
|
2e34: 0bfd bt 0x2e2e // 2e2e <SPI0IntHandler+0x4a>
|
|||
|
|
while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full?
|
|||
|
|
2e36: 3102 movi r1, 2
|
|||
|
|
2e38: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e3a: 6884 and r2, r1
|
|||
|
|
2e3c: 3a40 cmpnei r2, 0
|
|||
|
|
2e3e: 0ffd bf 0x2e38 // 2e38 <SPI0IntHandler+0x54>
|
|||
|
|
SPI0->DR = 0x12;
|
|||
|
|
2e40: 3212 movi r2, 18
|
|||
|
|
2e42: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2e44: 3110 movi r1, 16
|
|||
|
|
2e46: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e48: 6884 and r2, r1
|
|||
|
|
2e4a: 3a40 cmpnei r2, 0
|
|||
|
|
2e4c: 0bfd bt 0x2e46 // 2e46 <SPI0IntHandler+0x62>
|
|||
|
|
while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full?
|
|||
|
|
2e4e: 3102 movi r1, 2
|
|||
|
|
2e50: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e52: 6884 and r2, r1
|
|||
|
|
2e54: 3a40 cmpnei r2, 0
|
|||
|
|
2e56: 0ffd bf 0x2e50 // 2e50 <SPI0IntHandler+0x6c>
|
|||
|
|
SPI0->DR = 0x13;
|
|||
|
|
2e58: 3213 movi r2, 19
|
|||
|
|
2e5a: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2e5c: 3110 movi r1, 16
|
|||
|
|
2e5e: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e60: 6884 and r2, r1
|
|||
|
|
2e62: 3a40 cmpnei r2, 0
|
|||
|
|
2e64: 0bfd bt 0x2e5e // 2e5e <SPI0IntHandler+0x7a>
|
|||
|
|
while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full?
|
|||
|
|
2e66: 3102 movi r1, 2
|
|||
|
|
2e68: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e6a: 6884 and r2, r1
|
|||
|
|
2e6c: 3a40 cmpnei r2, 0
|
|||
|
|
2e6e: 0ffd bf 0x2e68 // 2e68 <SPI0IntHandler+0x84>
|
|||
|
|
SPI0->DR = 0x14;
|
|||
|
|
2e70: 3214 movi r2, 20
|
|||
|
|
2e72: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2e74: 3110 movi r1, 16
|
|||
|
|
2e76: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e78: 6884 and r2, r1
|
|||
|
|
2e7a: 3a40 cmpnei r2, 0
|
|||
|
|
2e7c: 0bfd bt 0x2e76 // 2e76 <SPI0IntHandler+0x92>
|
|||
|
|
while(((SPI0->SR) & SSP_TNF) != SSP_TNF); //Transmit FIFO is not full?
|
|||
|
|
2e7e: 3102 movi r1, 2
|
|||
|
|
2e80: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e82: 6884 and r2, r1
|
|||
|
|
2e84: 3a40 cmpnei r2, 0
|
|||
|
|
2e86: 0ffd bf 0x2e80 // 2e80 <SPI0IntHandler+0x9c>
|
|||
|
|
SPI0->DR = 0x15;
|
|||
|
|
2e88: 3215 movi r2, 21
|
|||
|
|
2e8a: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2e8c: 3110 movi r1, 16
|
|||
|
|
2e8e: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e90: 6884 and r2, r1
|
|||
|
|
2e92: 3a40 cmpnei r2, 0
|
|||
|
|
2e94: 0bfd bt 0x2e8e // 2e8e <SPI0IntHandler+0xaa>
|
|||
|
|
2e96: 07b8 br 0x2e06 // 2e06 <SPI0IntHandler+0x22>
|
|||
|
|
if(((SPI0->SR) & SSP_TFE)!=SSP_TFE)
|
|||
|
|
2e98: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2e9a: 6884 and r2, r1
|
|||
|
|
2e9c: 3a40 cmpnei r2, 0
|
|||
|
|
2e9e: 0bb4 bt 0x2e06 // 2e06 <SPI0IntHandler+0x22>
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2ea0: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2ea2: 3110 movi r1, 16
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2ea4: b342 st.w r2, (r3, 0x8)
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2ea6: b342 st.w r2, (r3, 0x8)
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2ea8: b342 st.w r2, (r3, 0x8)
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2eaa: b342 st.w r2, (r3, 0x8)
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2eac: b342 st.w r2, (r3, 0x8)
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2eae: b342 st.w r2, (r3, 0x8)
|
|||
|
|
SPI0->DR=0x0; //FIFO=0
|
|||
|
|
2eb0: b342 st.w r2, (r3, 0x8)
|
|||
|
|
while(((SPI0->SR) & SSP_BSY) == SSP_BSY); //Send or receive over?
|
|||
|
|
2eb2: 9343 ld.w r2, (r3, 0xc)
|
|||
|
|
2eb4: 6884 and r2, r1
|
|||
|
|
2eb6: 3a40 cmpnei r2, 0
|
|||
|
|
2eb8: 0bfd bt 0x2eb2 // 2eb2 <SPI0IntHandler+0xce>
|
|||
|
|
2eba: 07a6 br 0x2e06 // 2e06 <SPI0IntHandler+0x22>
|
|||
|
|
else if((SPI0->MISR&SPI_TXIM)==SPI_TXIM) //Transmit FIFO Interrupt
|
|||
|
|
2ebc: 9347 ld.w r2, (r3, 0x1c)
|
|||
|
|
2ebe: 3108 movi r1, 8
|
|||
|
|
2ec0: 6884 and r2, r1
|
|||
|
|
2ec2: 3a40 cmpnei r2, 0
|
|||
|
|
2ec4: 0b99 bt 0x2df6 // 2df6 <SPI0IntHandler+0x12>
|
|||
|
|
2ec6: 07a0 br 0x2e06 // 2e06 <SPI0IntHandler+0x22>
|
|||
|
|
2ec8: 20000034 .long 0x20000034
|
|||
|
|
|
|||
|
|
Disassembly of section .text.SIO0IntHandler:
|
|||
|
|
|
|||
|
|
00002ecc <SIO0IntHandler>:
|
|||
|
|
//SIO Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void SIO0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2ecc: 1460 nie
|
|||
|
|
2ece: 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)
|
|||
|
|
2ed0: 1073 lrw r3, 0x2000002c // 2f1c <SIO0IntHandler+0x50>
|
|||
|
|
2ed2: 3104 movi r1, 4
|
|||
|
|
2ed4: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2ed6: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
2ed8: 6884 and r2, r1
|
|||
|
|
2eda: 3a40 cmpnei r2, 0
|
|||
|
|
2edc: 0c02 bf 0x2ee0 // 2ee0 <SIO0IntHandler+0x14>
|
|||
|
|
{
|
|||
|
|
SIO0->ICR=0X04;
|
|||
|
|
2ede: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
if(SIO0->MISR&0X01) //TXDNE 发送完成
|
|||
|
|
2ee0: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
2ee2: 3101 movi r1, 1
|
|||
|
|
2ee4: 6884 and r2, r1
|
|||
|
|
2ee6: 3a40 cmpnei r2, 0
|
|||
|
|
2ee8: 0c02 bf 0x2eec // 2eec <SIO0IntHandler+0x20>
|
|||
|
|
{
|
|||
|
|
SIO0->ICR=0X01;
|
|||
|
|
2eea: 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
|
|||
|
|
2eec: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
2eee: 3102 movi r1, 2
|
|||
|
|
2ef0: 6884 and r2, r1
|
|||
|
|
2ef2: 3a40 cmpnei r2, 0
|
|||
|
|
2ef4: 0c03 bf 0x2efa // 2efa <SIO0IntHandler+0x2e>
|
|||
|
|
{
|
|||
|
|
SIO0->ICR=0X10;
|
|||
|
|
}
|
|||
|
|
else if(SIO0->MISR&0X020) //TIMEOUT
|
|||
|
|
{
|
|||
|
|
SIO0->ICR=0X20;
|
|||
|
|
2ef6: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2ef8: 0410 br 0x2f18 // 2f18 <SIO0IntHandler+0x4c>
|
|||
|
|
else if(SIO0->MISR&0X08) //RXBUFFULL
|
|||
|
|
2efa: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
2efc: 3108 movi r1, 8
|
|||
|
|
2efe: 6884 and r2, r1
|
|||
|
|
2f00: 3a40 cmpnei r2, 0
|
|||
|
|
2f02: 0bfa bt 0x2ef6 // 2ef6 <SIO0IntHandler+0x2a>
|
|||
|
|
else if(SIO0->MISR&0X010) //BREAK
|
|||
|
|
2f04: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
2f06: 3110 movi r1, 16
|
|||
|
|
2f08: 6884 and r2, r1
|
|||
|
|
2f0a: 3a40 cmpnei r2, 0
|
|||
|
|
2f0c: 0bf5 bt 0x2ef6 // 2ef6 <SIO0IntHandler+0x2a>
|
|||
|
|
else if(SIO0->MISR&0X020) //TIMEOUT
|
|||
|
|
2f0e: 9349 ld.w r2, (r3, 0x24)
|
|||
|
|
2f10: 3120 movi r1, 32
|
|||
|
|
2f12: 6884 and r2, r1
|
|||
|
|
2f14: 3a40 cmpnei r2, 0
|
|||
|
|
2f16: 0bf0 bt 0x2ef6 // 2ef6 <SIO0IntHandler+0x2a>
|
|||
|
|
}
|
|||
|
|
2f18: 1463 ipop
|
|||
|
|
2f1a: 1461 nir
|
|||
|
|
2f1c: 2000002c .long 0x2000002c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXI0IntHandler:
|
|||
|
|
|
|||
|
|
00002f20 <EXI0IntHandler>:
|
|||
|
|
//EXT0/16 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EXI0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2f20: 1460 nie
|
|||
|
|
2f22: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((SYSCON->EXIRS&EXI_PIN0)==EXI_PIN0) //EXT0 Interrupt
|
|||
|
|
2f24: 106a lrw r3, 0x2000005c // 2f4c <EXI0IntHandler+0x2c>
|
|||
|
|
2f26: 3101 movi r1, 1
|
|||
|
|
2f28: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2f2a: 237f addi r3, 128
|
|||
|
|
2f2c: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
2f2e: 6884 and r2, r1
|
|||
|
|
2f30: 3a40 cmpnei r2, 0
|
|||
|
|
2f32: 0c04 bf 0x2f3a // 2f3a <EXI0IntHandler+0x1a>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN0;
|
|||
|
|
2f34: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN16;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2f36: 1463 ipop
|
|||
|
|
2f38: 1461 nir
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN16)==EXI_PIN16) //EXT16 Interrupt
|
|||
|
|
2f3a: 3280 movi r2, 128
|
|||
|
|
2f3c: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
2f3e: 4249 lsli r2, r2, 9
|
|||
|
|
2f40: 6848 and r1, r2
|
|||
|
|
2f42: 3940 cmpnei r1, 0
|
|||
|
|
2f44: 0ff9 bf 0x2f36 // 2f36 <EXI0IntHandler+0x16>
|
|||
|
|
SYSCON->EXICR = EXI_PIN16;
|
|||
|
|
2f46: b34b st.w r2, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
2f48: 07f7 br 0x2f36 // 2f36 <EXI0IntHandler+0x16>
|
|||
|
|
2f4a: 0000 bkpt
|
|||
|
|
2f4c: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXI1IntHandler:
|
|||
|
|
|
|||
|
|
00002f50 <EXI1IntHandler>:
|
|||
|
|
//EXT1/17 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EXI1IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2f50: 1460 nie
|
|||
|
|
2f52: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((SYSCON->EXIRS&EXI_PIN1)==EXI_PIN1) //EXT1 Interrupt
|
|||
|
|
2f54: 106a lrw r3, 0x2000005c // 2f7c <EXI1IntHandler+0x2c>
|
|||
|
|
2f56: 3102 movi r1, 2
|
|||
|
|
2f58: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2f5a: 237f addi r3, 128
|
|||
|
|
2f5c: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
2f5e: 6884 and r2, r1
|
|||
|
|
2f60: 3a40 cmpnei r2, 0
|
|||
|
|
2f62: 0c04 bf 0x2f6a // 2f6a <EXI1IntHandler+0x1a>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN1;
|
|||
|
|
2f64: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN17;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2f66: 1463 ipop
|
|||
|
|
2f68: 1461 nir
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN17)==EXI_PIN17) //EXT17 Interrupt
|
|||
|
|
2f6a: 3280 movi r2, 128
|
|||
|
|
2f6c: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
2f6e: 424a lsli r2, r2, 10
|
|||
|
|
2f70: 6848 and r1, r2
|
|||
|
|
2f72: 3940 cmpnei r1, 0
|
|||
|
|
2f74: 0ff9 bf 0x2f66 // 2f66 <EXI1IntHandler+0x16>
|
|||
|
|
SYSCON->EXICR = EXI_PIN17;
|
|||
|
|
2f76: b34b st.w r2, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
2f78: 07f7 br 0x2f66 // 2f66 <EXI1IntHandler+0x16>
|
|||
|
|
2f7a: 0000 bkpt
|
|||
|
|
2f7c: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXI2to3IntHandler:
|
|||
|
|
|
|||
|
|
00002f80 <EXI2to3IntHandler>:
|
|||
|
|
//EXI2~3 18~19Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EXI2to3IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2f80: 1460 nie
|
|||
|
|
2f82: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((SYSCON->EXIRS&EXI_PIN2)==EXI_PIN2) //EXT2 Interrupt
|
|||
|
|
2f84: 1070 lrw r3, 0x2000005c // 2fc4 <EXI2to3IntHandler+0x44>
|
|||
|
|
2f86: 3104 movi r1, 4
|
|||
|
|
2f88: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2f8a: 237f addi r3, 128
|
|||
|
|
2f8c: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
2f8e: 6884 and r2, r1
|
|||
|
|
2f90: 3a40 cmpnei r2, 0
|
|||
|
|
2f92: 0c04 bf 0x2f9a // 2f9a <EXI2to3IntHandler+0x1a>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN2;
|
|||
|
|
}
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN3;
|
|||
|
|
2f94: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN19;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
2f96: 1463 ipop
|
|||
|
|
2f98: 1461 nir
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN3)==EXI_PIN3) //EXT3 Interrupt
|
|||
|
|
2f9a: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
2f9c: 3108 movi r1, 8
|
|||
|
|
2f9e: 6884 and r2, r1
|
|||
|
|
2fa0: 3a40 cmpnei r2, 0
|
|||
|
|
2fa2: 0bf9 bt 0x2f94 // 2f94 <EXI2to3IntHandler+0x14>
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN18)==EXI_PIN18) //EXT18 Interrupt
|
|||
|
|
2fa4: 3280 movi r2, 128
|
|||
|
|
2fa6: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
2fa8: 424b lsli r2, r2, 11
|
|||
|
|
2faa: 6848 and r1, r2
|
|||
|
|
2fac: 3940 cmpnei r1, 0
|
|||
|
|
2fae: 0c03 bf 0x2fb4 // 2fb4 <EXI2to3IntHandler+0x34>
|
|||
|
|
SYSCON->EXICR = EXI_PIN19;
|
|||
|
|
2fb0: b34b st.w r2, (r3, 0x2c)
|
|||
|
|
}
|
|||
|
|
2fb2: 07f2 br 0x2f96 // 2f96 <EXI2to3IntHandler+0x16>
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN19)==EXI_PIN19) //EXT19 Interrupt
|
|||
|
|
2fb4: 3280 movi r2, 128
|
|||
|
|
2fb6: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
2fb8: 424c lsli r2, r2, 12
|
|||
|
|
2fba: 6848 and r1, r2
|
|||
|
|
2fbc: 3940 cmpnei r1, 0
|
|||
|
|
2fbe: 0bf9 bt 0x2fb0 // 2fb0 <EXI2to3IntHandler+0x30>
|
|||
|
|
2fc0: 07eb br 0x2f96 // 2f96 <EXI2to3IntHandler+0x16>
|
|||
|
|
2fc2: 0000 bkpt
|
|||
|
|
2fc4: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXI4to9IntHandler:
|
|||
|
|
|
|||
|
|
00002fc8 <EXI4to9IntHandler>:
|
|||
|
|
//EXI4~9 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EXI4to9IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2fc8: 1460 nie
|
|||
|
|
2fca: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((SYSCON->EXIRS&EXI_PIN4)==EXI_PIN4) //EXT4 Interrupt
|
|||
|
|
2fcc: 1066 lrw r3, 0x2000005c // 2fe4 <EXI4to9IntHandler+0x1c>
|
|||
|
|
2fce: 3110 movi r1, 16
|
|||
|
|
2fd0: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2fd2: 237f addi r3, 128
|
|||
|
|
2fd4: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
2fd6: 6884 and r2, r1
|
|||
|
|
2fd8: 3a40 cmpnei r2, 0
|
|||
|
|
2fda: 0c02 bf 0x2fde // 2fde <EXI4to9IntHandler+0x16>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN4;
|
|||
|
|
2fdc: b32b st.w r1, (r3, 0x2c)
|
|||
|
|
// else if ((SYSCON->EXIRS&EXI_PIN9)==EXI_PIN9) //EXT9 Interrupt
|
|||
|
|
// {
|
|||
|
|
// SYSCON->EXICR = EXI_PIN9;
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
2fde: 1463 ipop
|
|||
|
|
2fe0: 1461 nir
|
|||
|
|
2fe2: 0000 bkpt
|
|||
|
|
2fe4: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EXI10to15IntHandler:
|
|||
|
|
|
|||
|
|
00002fe8 <EXI10to15IntHandler>:
|
|||
|
|
//EXI4 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void EXI10to15IntHandler(void)
|
|||
|
|
{
|
|||
|
|
2fe8: 1460 nie
|
|||
|
|
2fea: 1462 ipush
|
|||
|
|
2fec: 14d0 push r15
|
|||
|
|
// ISR content ...
|
|||
|
|
if ((SYSCON->EXIRS&EXI_PIN10)==EXI_PIN10) //EXT10 Interrupt
|
|||
|
|
2fee: 1079 lrw r3, 0x2000005c // 3050 <EXI10to15IntHandler+0x68>
|
|||
|
|
2ff0: 3280 movi r2, 128
|
|||
|
|
2ff2: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
2ff4: 237f addi r3, 128
|
|||
|
|
2ff6: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
2ff8: 4243 lsli r2, r2, 3
|
|||
|
|
2ffa: 6848 and r1, r2
|
|||
|
|
2ffc: 3940 cmpnei r1, 0
|
|||
|
|
2ffe: 0c07 bf 0x300c // 300c <EXI10to15IntHandler+0x24>
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN13;
|
|||
|
|
}
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) //EXT14 Interrupt
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN14;
|
|||
|
|
3000: b34b st.w r2, (r3, 0x2c)
|
|||
|
|
{
|
|||
|
|
SYSCON->EXICR = EXI_PIN15;
|
|||
|
|
|
|||
|
|
BusBusy_Task();
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
3002: d9ee2000 ld.w r15, (r14, 0x0)
|
|||
|
|
3006: 1401 addi r14, r14, 4
|
|||
|
|
3008: 1463 ipop
|
|||
|
|
300a: 1461 nir
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN11)==EXI_PIN11) //EXT11 Interrupt
|
|||
|
|
300c: 3280 movi r2, 128
|
|||
|
|
300e: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
3010: 4244 lsli r2, r2, 4
|
|||
|
|
3012: 6848 and r1, r2
|
|||
|
|
3014: 3940 cmpnei r1, 0
|
|||
|
|
3016: 0bf5 bt 0x3000 // 3000 <EXI10to15IntHandler+0x18>
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN12)==EXI_PIN12) //EXT12 Interrupt
|
|||
|
|
3018: 3280 movi r2, 128
|
|||
|
|
301a: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
301c: 4245 lsli r2, r2, 5
|
|||
|
|
301e: 6848 and r1, r2
|
|||
|
|
3020: 3940 cmpnei r1, 0
|
|||
|
|
3022: 0bef bt 0x3000 // 3000 <EXI10to15IntHandler+0x18>
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN13)==EXI_PIN13) //EXT13 Interrupt
|
|||
|
|
3024: 3280 movi r2, 128
|
|||
|
|
3026: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
3028: 4246 lsli r2, r2, 6
|
|||
|
|
302a: 6848 and r1, r2
|
|||
|
|
302c: 3940 cmpnei r1, 0
|
|||
|
|
302e: 0be9 bt 0x3000 // 3000 <EXI10to15IntHandler+0x18>
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN14)==EXI_PIN14) //EXT14 Interrupt
|
|||
|
|
3030: 3280 movi r2, 128
|
|||
|
|
3032: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
3034: 4247 lsli r2, r2, 7
|
|||
|
|
3036: 6848 and r1, r2
|
|||
|
|
3038: 3940 cmpnei r1, 0
|
|||
|
|
303a: 0be3 bt 0x3000 // 3000 <EXI10to15IntHandler+0x18>
|
|||
|
|
else if ((SYSCON->EXIRS&EXI_PIN15)==EXI_PIN15) //EXT15 Interrupt
|
|||
|
|
303c: 3280 movi r2, 128
|
|||
|
|
303e: 932c ld.w r1, (r3, 0x30)
|
|||
|
|
3040: 4248 lsli r2, r2, 8
|
|||
|
|
3042: 6848 and r1, r2
|
|||
|
|
3044: 3940 cmpnei r1, 0
|
|||
|
|
3046: 0fde bf 0x3002 // 3002 <EXI10to15IntHandler+0x1a>
|
|||
|
|
SYSCON->EXICR = EXI_PIN15;
|
|||
|
|
3048: b34b st.w r2, (r3, 0x2c)
|
|||
|
|
BusBusy_Task();
|
|||
|
|
304a: e00002eb bsr 0x3620 // 3620 <BusBusy_Task>
|
|||
|
|
}
|
|||
|
|
304e: 07da br 0x3002 // 3002 <EXI10to15IntHandler+0x1a>
|
|||
|
|
3050: 2000005c .long 0x2000005c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.LPTIntHandler:
|
|||
|
|
|
|||
|
|
00003054 <LPTIntHandler>:
|
|||
|
|
//LPT Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void LPTIntHandler(void)
|
|||
|
|
{
|
|||
|
|
3054: 1460 nie
|
|||
|
|
3056: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if((LPT->MISR&LPT_TRGEV0)==LPT_TRGEV0) //TRGEV0 interrupt
|
|||
|
|
3058: 106b lrw r3, 0x20000014 // 3084 <LPTIntHandler+0x30>
|
|||
|
|
305a: 3101 movi r1, 1
|
|||
|
|
305c: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
305e: 934e ld.w r2, (r3, 0x38)
|
|||
|
|
3060: 6884 and r2, r1
|
|||
|
|
3062: 3a40 cmpnei r2, 0
|
|||
|
|
3064: 0c03 bf 0x306a // 306a <LPTIntHandler+0x16>
|
|||
|
|
{
|
|||
|
|
LPT->ICR = LPT_MATCH;
|
|||
|
|
}
|
|||
|
|
else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt
|
|||
|
|
{
|
|||
|
|
LPT->ICR = LPT_PEND;
|
|||
|
|
3066: b330 st.w r1, (r3, 0x40)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
3068: 040b br 0x307e // 307e <LPTIntHandler+0x2a>
|
|||
|
|
else if((LPT->MISR&LPT_MATCH)==LPT_MATCH) //MATCH interrupt
|
|||
|
|
306a: 934e ld.w r2, (r3, 0x38)
|
|||
|
|
306c: 3102 movi r1, 2
|
|||
|
|
306e: 6884 and r2, r1
|
|||
|
|
3070: 3a40 cmpnei r2, 0
|
|||
|
|
3072: 0bfa bt 0x3066 // 3066 <LPTIntHandler+0x12>
|
|||
|
|
else if((LPT->MISR&LPT_PEND)==LPT_PEND) //PEND interrupt
|
|||
|
|
3074: 934e ld.w r2, (r3, 0x38)
|
|||
|
|
3076: 3104 movi r1, 4
|
|||
|
|
3078: 6884 and r2, r1
|
|||
|
|
307a: 3a40 cmpnei r2, 0
|
|||
|
|
307c: 0bf5 bt 0x3066 // 3066 <LPTIntHandler+0x12>
|
|||
|
|
}
|
|||
|
|
307e: 1463 ipop
|
|||
|
|
3080: 1461 nir
|
|||
|
|
3082: 0000 bkpt
|
|||
|
|
3084: 20000014 .long 0x20000014
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT0IntHandler:
|
|||
|
|
|
|||
|
|
00003088 <BT0IntHandler>:
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
U8_T BT_TEMP_State = 1;
|
|||
|
|
void BT0IntHandler(void)
|
|||
|
|
{
|
|||
|
|
3088: 1460 nie
|
|||
|
|
308a: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
if((BT0->MISR&BT_PEND)==BT_PEND) //BT0 PEND interrupt
|
|||
|
|
308c: 1071 lrw r3, 0x2000000c // 30d0 <BT0IntHandler+0x48>
|
|||
|
|
308e: 3101 movi r1, 1
|
|||
|
|
3090: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
3092: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
3094: 6884 and r2, r1
|
|||
|
|
3096: 3a40 cmpnei r2, 0
|
|||
|
|
3098: 0c0a bf 0x30ac // 30ac <BT0IntHandler+0x24>
|
|||
|
|
{
|
|||
|
|
BT0->ICR = BT_PEND;
|
|||
|
|
309a: b32d st.w r1, (r3, 0x34)
|
|||
|
|
|
|||
|
|
//BT_Stop_Low(BT0);
|
|||
|
|
|
|||
|
|
BT0->CR =BT0->CR & ~(0x01<<6);
|
|||
|
|
309c: 9341 ld.w r2, (r3, 0x4)
|
|||
|
|
309e: 3a86 bclri r2, 6
|
|||
|
|
30a0: b341 st.w r2, (r3, 0x4)
|
|||
|
|
BT0->RSSR &=0X0;
|
|||
|
|
30a2: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
30a4: 3200 movi r2, 0
|
|||
|
|
30a6: b340 st.w r2, (r3, 0x0)
|
|||
|
|
}
|
|||
|
|
else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt
|
|||
|
|
{
|
|||
|
|
BT0->ICR = BT_EVTRG;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
30a8: 1463 ipop
|
|||
|
|
30aa: 1461 nir
|
|||
|
|
else if((BT0->MISR&BT_CMP)==BT_CMP) //BT0 CMP Match interrupt
|
|||
|
|
30ac: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
30ae: 3102 movi r1, 2
|
|||
|
|
30b0: 6884 and r2, r1
|
|||
|
|
30b2: 3a40 cmpnei r2, 0
|
|||
|
|
30b4: 0c03 bf 0x30ba // 30ba <BT0IntHandler+0x32>
|
|||
|
|
BT0->ICR = BT_EVTRG;
|
|||
|
|
30b6: b32d st.w r1, (r3, 0x34)
|
|||
|
|
}
|
|||
|
|
30b8: 07f8 br 0x30a8 // 30a8 <BT0IntHandler+0x20>
|
|||
|
|
else if((BT0->MISR&BT_OVF)==BT_OVF) //BT0 OVF interrupt
|
|||
|
|
30ba: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
30bc: 3104 movi r1, 4
|
|||
|
|
30be: 6884 and r2, r1
|
|||
|
|
30c0: 3a40 cmpnei r2, 0
|
|||
|
|
30c2: 0bfa bt 0x30b6 // 30b6 <BT0IntHandler+0x2e>
|
|||
|
|
else if((BT0->MISR&BT_EVTRG)==BT_EVTRG) //BT0 Event trigger interrupt
|
|||
|
|
30c4: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
30c6: 3108 movi r1, 8
|
|||
|
|
30c8: 6884 and r2, r1
|
|||
|
|
30ca: 3a40 cmpnei r2, 0
|
|||
|
|
30cc: 0bf5 bt 0x30b6 // 30b6 <BT0IntHandler+0x2e>
|
|||
|
|
30ce: 07ed br 0x30a8 // 30a8 <BT0IntHandler+0x20>
|
|||
|
|
30d0: 2000000c .long 0x2000000c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BT1IntHandler:
|
|||
|
|
|
|||
|
|
000030d4 <BT1IntHandler>:
|
|||
|
|
//BT1 Interrupt
|
|||
|
|
//EntryParameter:NONE
|
|||
|
|
//ReturnValue:NONE
|
|||
|
|
/*************************************************************/
|
|||
|
|
void BT1IntHandler(void)
|
|||
|
|
{
|
|||
|
|
30d4: 1460 nie
|
|||
|
|
30d6: 1462 ipush
|
|||
|
|
30d8: 14d0 push r15
|
|||
|
|
static U8_T NUM = 0;
|
|||
|
|
// ISR content ...
|
|||
|
|
if((BT1->MISR&BT_PEND)==BT_PEND) //BT1 PEND interrupt
|
|||
|
|
30da: 1079 lrw r3, 0x20000008 // 313c <BT1IntHandler+0x68>
|
|||
|
|
30dc: 3101 movi r1, 1
|
|||
|
|
30de: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
30e0: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
30e2: 6884 and r2, r1
|
|||
|
|
30e4: 3a40 cmpnei r2, 0
|
|||
|
|
30e6: 0c03 bf 0x30ec // 30ec <BT1IntHandler+0x18>
|
|||
|
|
{
|
|||
|
|
BT1->ICR = BT_OVF;
|
|||
|
|
}
|
|||
|
|
else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt
|
|||
|
|
{
|
|||
|
|
BT1->ICR = BT_EVTRG;
|
|||
|
|
30e8: b32d st.w r1, (r3, 0x34)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
30ea: 0418 br 0x311a // 311a <BT1IntHandler+0x46>
|
|||
|
|
else if((BT1->MISR&BT_CMP)==BT_CMP) //BT1 CMP Match interrupt
|
|||
|
|
30ec: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
30ee: 3102 movi r1, 2
|
|||
|
|
30f0: 6884 and r2, r1
|
|||
|
|
30f2: 3a40 cmpnei r2, 0
|
|||
|
|
30f4: 0c18 bf 0x3124 // 3124 <BT1IntHandler+0x50>
|
|||
|
|
BT1->ICR = BT_CMP;
|
|||
|
|
30f6: b32d st.w r1, (r3, 0x34)
|
|||
|
|
NUM++;
|
|||
|
|
30f8: 1072 lrw r3, 0x2000009c // 3140 <BT1IntHandler+0x6c>
|
|||
|
|
30fa: 8340 ld.b r2, (r3, 0x0)
|
|||
|
|
30fc: 2200 addi r2, 1
|
|||
|
|
30fe: 7488 zextb r2, r2
|
|||
|
|
SysTick_100us++;
|
|||
|
|
3100: 9321 ld.w r1, (r3, 0x4)
|
|||
|
|
3102: 2100 addi r1, 1
|
|||
|
|
if(NUM >= 10){
|
|||
|
|
3104: 3a09 cmphsi r2, 10
|
|||
|
|
NUM++;
|
|||
|
|
3106: a340 st.b r2, (r3, 0x0)
|
|||
|
|
SysTick_100us++;
|
|||
|
|
3108: b321 st.w r1, (r3, 0x4)
|
|||
|
|
if(NUM >= 10){
|
|||
|
|
310a: 0c08 bf 0x311a // 311a <BT1IntHandler+0x46>
|
|||
|
|
NUM = 0;
|
|||
|
|
310c: 3200 movi r2, 0
|
|||
|
|
310e: a340 st.b r2, (r3, 0x0)
|
|||
|
|
SysTick_1ms++;
|
|||
|
|
3110: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
3112: 2200 addi r2, 1
|
|||
|
|
3114: b342 st.w r2, (r3, 0x8)
|
|||
|
|
BusIdle_Task();
|
|||
|
|
3116: e0000267 bsr 0x35e4 // 35e4 <BusIdle_Task>
|
|||
|
|
}
|
|||
|
|
311a: d9ee2000 ld.w r15, (r14, 0x0)
|
|||
|
|
311e: 1401 addi r14, r14, 4
|
|||
|
|
3120: 1463 ipop
|
|||
|
|
3122: 1461 nir
|
|||
|
|
else if((BT1->MISR&BT_OVF)==BT_OVF) //BT1 OVF interrupt
|
|||
|
|
3124: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
3126: 3104 movi r1, 4
|
|||
|
|
3128: 6884 and r2, r1
|
|||
|
|
312a: 3a40 cmpnei r2, 0
|
|||
|
|
312c: 0bde bt 0x30e8 // 30e8 <BT1IntHandler+0x14>
|
|||
|
|
else if((BT1->MISR&BT_EVTRG)==BT_EVTRG) //BT1 Event trigger interrupt
|
|||
|
|
312e: 934c ld.w r2, (r3, 0x30)
|
|||
|
|
3130: 3108 movi r1, 8
|
|||
|
|
3132: 6884 and r2, r1
|
|||
|
|
3134: 3a40 cmpnei r2, 0
|
|||
|
|
3136: 0bd9 bt 0x30e8 // 30e8 <BT1IntHandler+0x14>
|
|||
|
|
3138: 07f1 br 0x311a // 311a <BT1IntHandler+0x46>
|
|||
|
|
313a: 0000 bkpt
|
|||
|
|
313c: 20000008 .long 0x20000008
|
|||
|
|
3140: 2000009c .long 0x2000009c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.PriviledgeVioHandler:
|
|||
|
|
|
|||
|
|
00003144 <PriviledgeVioHandler>:
|
|||
|
|
3144: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.PendTrapHandler:
|
|||
|
|
|
|||
|
|
00003146 <PendTrapHandler>:
|
|||
|
|
// ISR content ...
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void PendTrapHandler(void)
|
|||
|
|
{
|
|||
|
|
3146: 1460 nie
|
|||
|
|
3148: 1462 ipush
|
|||
|
|
// ISR content ...
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
314a: 1463 ipop
|
|||
|
|
314c: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Trap3Handler:
|
|||
|
|
|
|||
|
|
0000314e <Trap3Handler>:
|
|||
|
|
314e: 1460 nie
|
|||
|
|
3150: 1462 ipush
|
|||
|
|
3152: 1463 ipop
|
|||
|
|
3154: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Trap2Handler:
|
|||
|
|
|
|||
|
|
00003156 <Trap2Handler>:
|
|||
|
|
3156: 1460 nie
|
|||
|
|
3158: 1462 ipush
|
|||
|
|
315a: 1463 ipop
|
|||
|
|
315c: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Trap1Handler:
|
|||
|
|
|
|||
|
|
0000315e <Trap1Handler>:
|
|||
|
|
315e: 1460 nie
|
|||
|
|
3160: 1462 ipush
|
|||
|
|
3162: 1463 ipop
|
|||
|
|
3164: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Trap0Handler:
|
|||
|
|
|
|||
|
|
00003166 <Trap0Handler>:
|
|||
|
|
3166: 1460 nie
|
|||
|
|
3168: 1462 ipush
|
|||
|
|
316a: 1463 ipop
|
|||
|
|
316c: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UnrecExecpHandler:
|
|||
|
|
|
|||
|
|
0000316e <UnrecExecpHandler>:
|
|||
|
|
316e: 1460 nie
|
|||
|
|
3170: 1462 ipush
|
|||
|
|
3172: 1463 ipop
|
|||
|
|
3174: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BreakPointHandler:
|
|||
|
|
|
|||
|
|
00003176 <BreakPointHandler>:
|
|||
|
|
3176: 1460 nie
|
|||
|
|
3178: 1462 ipush
|
|||
|
|
317a: 1463 ipop
|
|||
|
|
317c: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.AccessErrHandler:
|
|||
|
|
|
|||
|
|
0000317e <AccessErrHandler>:
|
|||
|
|
317e: 1460 nie
|
|||
|
|
3180: 1462 ipush
|
|||
|
|
3182: 1463 ipop
|
|||
|
|
3184: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.IllegalInstrHandler:
|
|||
|
|
|
|||
|
|
00003186 <IllegalInstrHandler>:
|
|||
|
|
3186: 1460 nie
|
|||
|
|
3188: 1462 ipush
|
|||
|
|
318a: 1463 ipop
|
|||
|
|
318c: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.MisalignedHandler:
|
|||
|
|
|
|||
|
|
0000318e <MisalignedHandler>:
|
|||
|
|
318e: 1460 nie
|
|||
|
|
3190: 1462 ipush
|
|||
|
|
3192: 1463 ipop
|
|||
|
|
3194: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CNTAIntHandler:
|
|||
|
|
|
|||
|
|
00003196 <CNTAIntHandler>:
|
|||
|
|
3196: 1460 nie
|
|||
|
|
3198: 1462 ipush
|
|||
|
|
319a: 1463 ipop
|
|||
|
|
319c: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.I2CIntHandler:
|
|||
|
|
|
|||
|
|
0000319e <I2CIntHandler>:
|
|||
|
|
319e: 1460 nie
|
|||
|
|
31a0: 1462 ipush
|
|||
|
|
31a2: 1463 ipop
|
|||
|
|
31a4: 1461 nir
|
|||
|
|
|
|||
|
|
Disassembly of section .text.__divsi3:
|
|||
|
|
|
|||
|
|
000031a8 <__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)
|
|||
|
|
{
|
|||
|
|
31a8: 14c1 push r4
|
|||
|
|
int PSR;
|
|||
|
|
__asm volatile(
|
|||
|
|
31aa: c0006023 mfcr r3, cr<0, 0>
|
|||
|
|
31ae: c0807020 psrclr ie
|
|||
|
|
"mfcr %0 , psr \n\r"
|
|||
|
|
"psrclr ie \n\r"
|
|||
|
|
: "=r"(PSR)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
HWD->CR = 0;
|
|||
|
|
31b2: 1046 lrw r2, 0x20000000 // 31c8 <__divsi3+0x20>
|
|||
|
|
31b4: 3400 movi r4, 0
|
|||
|
|
31b6: 9240 ld.w r2, (r2, 0x0)
|
|||
|
|
31b8: b284 st.w r4, (r2, 0x10)
|
|||
|
|
HWD->DIVIDENT = a;
|
|||
|
|
HWD->DIVISOR = b;
|
|||
|
|
|
|||
|
|
PSR |= 0x80000000;
|
|||
|
|
31ba: 3bbf bseti r3, 31
|
|||
|
|
HWD->DIVIDENT = a;
|
|||
|
|
31bc: b200 st.w r0, (r2, 0x0)
|
|||
|
|
HWD->DIVISOR = b;
|
|||
|
|
31be: b221 st.w r1, (r2, 0x4)
|
|||
|
|
__asm volatile(
|
|||
|
|
31c0: c0036420 mtcr r3, cr<0, 0>
|
|||
|
|
"mtcr %0 , psr \n\r"
|
|||
|
|
:
|
|||
|
|
:"r"(PSR)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
return HWD->QUOTIENT;
|
|||
|
|
31c4: 9202 ld.w r0, (r2, 0x8)
|
|||
|
|
}
|
|||
|
|
31c6: 1481 pop r4
|
|||
|
|
31c8: 20000000 .long 0x20000000
|
|||
|
|
|
|||
|
|
Disassembly of section .text.__udivsi3:
|
|||
|
|
|
|||
|
|
000031cc <__udivsi3>:
|
|||
|
|
unsigned int __udivsi3 ( unsigned int a, unsigned int b)
|
|||
|
|
{
|
|||
|
|
31cc: 14c1 push r4
|
|||
|
|
int PSR;
|
|||
|
|
__asm volatile(
|
|||
|
|
31ce: c0006023 mfcr r3, cr<0, 0>
|
|||
|
|
31d2: c0807020 psrclr ie
|
|||
|
|
"mfcr %0 , psr \n\r"
|
|||
|
|
"psrclr ie \n\r"
|
|||
|
|
: "=r"(PSR)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
HWD->CR = 1;
|
|||
|
|
31d6: 1046 lrw r2, 0x20000000 // 31ec <__udivsi3+0x20>
|
|||
|
|
31d8: 3401 movi r4, 1
|
|||
|
|
31da: 9240 ld.w r2, (r2, 0x0)
|
|||
|
|
31dc: b284 st.w r4, (r2, 0x10)
|
|||
|
|
HWD->DIVIDENT = a;
|
|||
|
|
HWD->DIVISOR = b;
|
|||
|
|
|
|||
|
|
PSR |= 0x80000000;
|
|||
|
|
31de: 3bbf bseti r3, 31
|
|||
|
|
HWD->DIVIDENT = a;
|
|||
|
|
31e0: b200 st.w r0, (r2, 0x0)
|
|||
|
|
HWD->DIVISOR = b;
|
|||
|
|
31e2: b221 st.w r1, (r2, 0x4)
|
|||
|
|
__asm volatile(
|
|||
|
|
31e4: c0036420 mtcr r3, cr<0, 0>
|
|||
|
|
"mtcr %0 , psr \n\r"
|
|||
|
|
:
|
|||
|
|
:"r"(PSR)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
return HWD->QUOTIENT;
|
|||
|
|
31e8: 9202 ld.w r0, (r2, 0x8)
|
|||
|
|
}
|
|||
|
|
31ea: 1481 pop r4
|
|||
|
|
31ec: 20000000 .long 0x20000000
|
|||
|
|
|
|||
|
|
Disassembly of section .text.__umodsi3:
|
|||
|
|
|
|||
|
|
000031f0 <__umodsi3>:
|
|||
|
|
);
|
|||
|
|
return HWD->REMAIN;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unsigned int __umodsi3 ( unsigned int a, unsigned int b)
|
|||
|
|
{
|
|||
|
|
31f0: 14c1 push r4
|
|||
|
|
int PSR;
|
|||
|
|
__asm volatile(
|
|||
|
|
31f2: c0006023 mfcr r3, cr<0, 0>
|
|||
|
|
31f6: c0807020 psrclr ie
|
|||
|
|
"mfcr %0 , psr \n\r"
|
|||
|
|
"psrclr ie \n\r"
|
|||
|
|
: "=r"(PSR)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
HWD->CR = 1;
|
|||
|
|
31fa: 1046 lrw r2, 0x20000000 // 3210 <__umodsi3+0x20>
|
|||
|
|
31fc: 3401 movi r4, 1
|
|||
|
|
31fe: 9240 ld.w r2, (r2, 0x0)
|
|||
|
|
3200: b284 st.w r4, (r2, 0x10)
|
|||
|
|
HWD->DIVIDENT = a;
|
|||
|
|
HWD->DIVISOR = b;
|
|||
|
|
|
|||
|
|
PSR |= 0x80000000;
|
|||
|
|
3202: 3bbf bseti r3, 31
|
|||
|
|
HWD->DIVIDENT = a;
|
|||
|
|
3204: b200 st.w r0, (r2, 0x0)
|
|||
|
|
HWD->DIVISOR = b;
|
|||
|
|
3206: b221 st.w r1, (r2, 0x4)
|
|||
|
|
__asm volatile(
|
|||
|
|
3208: c0036420 mtcr r3, cr<0, 0>
|
|||
|
|
"mtcr %0 , psr \n\r"
|
|||
|
|
:
|
|||
|
|
:"r"(PSR)
|
|||
|
|
);
|
|||
|
|
return HWD->REMAIN;
|
|||
|
|
320c: 9203 ld.w r0, (r2, 0xc)
|
|||
|
|
}
|
|||
|
|
320e: 1481 pop r4
|
|||
|
|
3210: 20000000 .long 0x20000000
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CK_CPU_EnAllNormalIrq:
|
|||
|
|
|
|||
|
|
00003214 <CK_CPU_EnAllNormalIrq>:
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CK_CPU_EnAllNormalIrq(void)
|
|||
|
|
{
|
|||
|
|
asm ("psrset ee,ie");
|
|||
|
|
3214: c1807420 psrset ee, ie
|
|||
|
|
}
|
|||
|
|
3218: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CK_CPU_DisAllNormalIrq:
|
|||
|
|
|
|||
|
|
0000321a <CK_CPU_DisAllNormalIrq>:
|
|||
|
|
|
|||
|
|
void CK_CPU_DisAllNormalIrq(void)
|
|||
|
|
{
|
|||
|
|
asm ("psrclr ie");
|
|||
|
|
321a: c0807020 psrclr ie
|
|||
|
|
}
|
|||
|
|
321e: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UARTx_Init:
|
|||
|
|
|
|||
|
|
00003220 <UARTx_Init>:
|
|||
|
|
UART_t g_uart; //空间不足,只能用一个串口
|
|||
|
|
UART_t g_uart1; //空间不足,只能用一个串口
|
|||
|
|
MULIT_t m_send;
|
|||
|
|
|
|||
|
|
|
|||
|
|
void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
|
|||
|
|
3220: 14d1 push r4, r15
|
|||
|
|
switch((U8_T)uart_id){
|
|||
|
|
3222: 7400 zextb r0, r0
|
|||
|
|
3224: 3841 cmpnei r0, 1
|
|||
|
|
void UARTx_Init(UART_IDX uart_id, Uart_prt prt_cf) {
|
|||
|
|
3226: 6d07 mov r4, r1
|
|||
|
|
switch((U8_T)uart_id){
|
|||
|
|
3228: 0c13 bf 0x324e // 324e <UARTx_Init+0x2e>
|
|||
|
|
322a: 3840 cmpnei r0, 0
|
|||
|
|
322c: 0c04 bf 0x3234 // 3234 <UARTx_Init+0x14>
|
|||
|
|
322e: 3842 cmpnei r0, 2
|
|||
|
|
3230: 0c7f bf 0x332e // 332e <UARTx_Init+0x10e>
|
|||
|
|
// GPIO_DriveStrength_EN(GPIOB0,3);
|
|||
|
|
// GPIO_Write_Low(GPIOB0,3);
|
|||
|
|
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
3232: 1491 pop r4, r15
|
|||
|
|
UART0_DeInit(); //clear all UART Register
|
|||
|
|
3234: e3fff8f4 bsr 0x241c // 241c <UART0_DeInit>
|
|||
|
|
UART_IO_Init(IO_UART0,0); //use PA0.1->RXD0, PA0.0->TXD0
|
|||
|
|
3238: 3100 movi r1, 0
|
|||
|
|
323a: 3000 movi r0, 0
|
|||
|
|
323c: e3fff930 bsr 0x249c // 249c <UART_IO_Init>
|
|||
|
|
UARTInitRxTxIntEn(UART0,5000,UART_PAR_NONE); //baudrate=sysclock 48M/1000=4800,tx rx int enabled
|
|||
|
|
3240: 1263 lrw r3, 0x20000040 // 334c <UARTx_Init+0x12c>
|
|||
|
|
3242: 3200 movi r2, 0
|
|||
|
|
3244: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
3246: 1223 lrw r1, 0x1388 // 3350 <UARTx_Init+0x130>
|
|||
|
|
3248: e3fff9a0 bsr 0x2588 // 2588 <UARTInitRxTxIntEn>
|
|||
|
|
break;
|
|||
|
|
324c: 07f3 br 0x3232 // 3232 <UARTx_Init+0x12>
|
|||
|
|
memset(&g_uart1,0,sizeof(UART_t));
|
|||
|
|
324e: 32a0 movi r2, 160
|
|||
|
|
3250: 3100 movi r1, 0
|
|||
|
|
3252: 1201 lrw r0, 0x20000218 // 3354 <UARTx_Init+0x134>
|
|||
|
|
3254: e3fff394 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
memset(&m_send,0,sizeof(MULIT_t));
|
|||
|
|
3258: 32a4 movi r2, 164
|
|||
|
|
325a: 3100 movi r1, 0
|
|||
|
|
325c: 111f lrw r0, 0x200002b8 // 3358 <UARTx_Init+0x138>
|
|||
|
|
325e: e3fff38f bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
g_uart1.RecvTimeout = Recv_9600_TimeOut;
|
|||
|
|
3262: 117f lrw r3, 0x20000298 // 335c <UARTx_Init+0x13c>
|
|||
|
|
3264: 3203 movi r2, 3
|
|||
|
|
3266: b345 st.w r2, (r3, 0x14)
|
|||
|
|
g_uart1.processing_cf = prt_cf;
|
|||
|
|
3268: b387 st.w r4, (r3, 0x1c)
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,15);
|
|||
|
|
326a: 310f movi r1, 15
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
326c: 117d lrw r3, 0x200000a4 // 3360 <UARTx_Init+0x140>
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,15);
|
|||
|
|
326e: 119e lrw r4, 0x2000004c // 3364 <UARTx_Init+0x144>
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
3270: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
3272: 117e lrw r3, 0x20000338 // 3368 <UARTx_Init+0x148>
|
|||
|
|
3274: b346 st.w r2, (r3, 0x18)
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,15);
|
|||
|
|
3276: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
m_send.HighBit_Flag = 0x01;
|
|||
|
|
3278: 3201 movi r2, 1
|
|||
|
|
327a: a341 st.b r2, (r3, 0x1)
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,15);
|
|||
|
|
327c: e3fff640 bsr 0x1efc // 1efc <GPIO_PullHigh_Init>
|
|||
|
|
GPIO_IntGroup_Set(PA0,15,Selete_EXI_PIN15); //EXI0 set PB0.2
|
|||
|
|
3280: 320f movi r2, 15
|
|||
|
|
3282: 310f movi r1, 15
|
|||
|
|
3284: 3000 movi r0, 0
|
|||
|
|
3286: e3fff64d bsr 0x1f20 // 1f20 <GPIO_IntGroup_Set>
|
|||
|
|
GPIOA0_EXI_Init(EXI15); //PB0.2 as input
|
|||
|
|
328a: 300f movi r0, 15
|
|||
|
|
328c: e3fff6d0 bsr 0x202c // 202c <GPIOA0_EXI_Init>
|
|||
|
|
EXTI_trigger_CMD(ENABLE,EXI_PIN15,_EXIFT); //ENABLE falling edge
|
|||
|
|
3290: 3180 movi r1, 128
|
|||
|
|
3292: 3201 movi r2, 1
|
|||
|
|
3294: 4128 lsli r1, r1, 8
|
|||
|
|
3296: 3001 movi r0, 1
|
|||
|
|
3298: e3fff548 bsr 0x1d28 // 1d28 <EXTI_trigger_CMD>
|
|||
|
|
EXTI_trigger_CMD(ENABLE,EXI_PIN15,_EXIRT);
|
|||
|
|
329c: 3180 movi r1, 128
|
|||
|
|
329e: 3200 movi r2, 0
|
|||
|
|
32a0: 4128 lsli r1, r1, 8
|
|||
|
|
32a2: 3001 movi r0, 1
|
|||
|
|
32a4: e3fff542 bsr 0x1d28 // 1d28 <EXTI_trigger_CMD>
|
|||
|
|
EXTI_interrupt_CMD(ENABLE,EXI_PIN15); //enable EXI
|
|||
|
|
32a8: 3180 movi r1, 128
|
|||
|
|
32aa: 4128 lsli r1, r1, 8
|
|||
|
|
32ac: 3001 movi r0, 1
|
|||
|
|
32ae: e3fff55d bsr 0x1d68 // 1d68 <EXTI_interrupt_CMD>
|
|||
|
|
GPIO_EXTI_interrupt(GPIOA0,0b1000000000000000); //enable GPIOB02 as EXI
|
|||
|
|
32b2: 3180 movi r1, 128
|
|||
|
|
32b4: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
32b6: 4128 lsli r1, r1, 8
|
|||
|
|
32b8: e3fff572 bsr 0x1d9c // 1d9c <GPIO_EXTI_interrupt>
|
|||
|
|
EXI4_Int_Enable();
|
|||
|
|
32bc: e3fff572 bsr 0x1da0 // 1da0 <EXI4_Int_Enable>
|
|||
|
|
UART1_DeInit(); //clear all UART Register
|
|||
|
|
32c0: e3fff8ba bsr 0x2434 // 2434 <UART1_DeInit>
|
|||
|
|
UART_IO_Init(IO_UART1,2); //use PA0.13->RXD1, PB0.0->TXD1
|
|||
|
|
32c4: 3102 movi r1, 2
|
|||
|
|
32c6: 3001 movi r0, 1
|
|||
|
|
32c8: e3fff8ea bsr 0x249c // 249c <UART_IO_Init>
|
|||
|
|
UARTInitRxTxIntEn(UART1,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled
|
|||
|
|
32cc: 1168 lrw r3, 0x2000003c // 336c <UARTx_Init+0x14c>
|
|||
|
|
32ce: 3200 movi r2, 0
|
|||
|
|
32d0: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
32d2: 1120 lrw r1, 0x1388 // 3350 <UARTx_Init+0x130>
|
|||
|
|
32d4: e3fff95a bsr 0x2588 // 2588 <UARTInitRxTxIntEn>
|
|||
|
|
UART1_Int_Enable();
|
|||
|
|
32d8: e3fff8c6 bsr 0x2464 // 2464 <UART1_Int_Enable>
|
|||
|
|
GPIO_Init(GPIOA0,LED_TX_PIN,Output);
|
|||
|
|
32dc: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
32de: 3200 movi r2, 0
|
|||
|
|
32e0: 3100 movi r1, 0
|
|||
|
|
32e2: e3fff59d bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_Init(GPIOA0,LED_RX_PIN,Output);
|
|||
|
|
32e6: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
32e8: 3200 movi r2, 0
|
|||
|
|
32ea: 3101 movi r1, 1
|
|||
|
|
32ec: e3fff598 bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_Init(GPIOA0,LED_STATUS_PIN,Output);
|
|||
|
|
32f0: 3200 movi r2, 0
|
|||
|
|
32f2: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
32f4: 3104 movi r1, 4
|
|||
|
|
32f6: e3fff593 bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
TX_LED_OFF;
|
|||
|
|
32fa: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
32fc: 3100 movi r1, 0
|
|||
|
|
32fe: e3fff715 bsr 0x2128 // 2128 <GPIO_Write_High>
|
|||
|
|
RX_LED_OFF;
|
|||
|
|
3302: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3304: 3101 movi r1, 1
|
|||
|
|
3306: e3fff711 bsr 0x2128 // 2128 <GPIO_Write_High>
|
|||
|
|
STATUS_LED_ON;
|
|||
|
|
330a: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
330c: 3104 movi r1, 4
|
|||
|
|
330e: e3fff711 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
GPIO_Init(GPIOA0,UART485_DR_PIN,Output);
|
|||
|
|
3312: 3200 movi r2, 0
|
|||
|
|
3314: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3316: 3107 movi r1, 7
|
|||
|
|
3318: e3fff582 bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_DriveStrength_EN(GPIOA0,UART485_DR_PIN);
|
|||
|
|
331c: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
331e: 3107 movi r1, 7
|
|||
|
|
3320: e3fff5f8 bsr 0x1f10 // 1f10 <GPIO_DriveStrength_EN>
|
|||
|
|
WRITE_LOW_DR;
|
|||
|
|
3324: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3326: 3107 movi r1, 7
|
|||
|
|
3328: e3fff704 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
break;
|
|||
|
|
332c: 0783 br 0x3232 // 3232 <UARTx_Init+0x12>
|
|||
|
|
UART2_DeInit(); //clear all UART Register
|
|||
|
|
332e: e3fff88f bsr 0x244c // 244c <UART2_DeInit>
|
|||
|
|
UART_IO_Init(IO_UART2,2); //use PB0.4->RXD1, PB0.5->TXD1
|
|||
|
|
3332: 3102 movi r1, 2
|
|||
|
|
3334: 3002 movi r0, 2
|
|||
|
|
3336: e3fff8b3 bsr 0x249c // 249c <UART_IO_Init>
|
|||
|
|
UARTInitRxTxIntEn(UART2,5000,UART_PAR_NONE); //baudrate=sysclock 48M/416=115200 tx rx int enabled
|
|||
|
|
333a: 106e lrw r3, 0x20000038 // 3370 <UARTx_Init+0x150>
|
|||
|
|
333c: 3200 movi r2, 0
|
|||
|
|
333e: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
3340: 1024 lrw r1, 0x1388 // 3350 <UARTx_Init+0x130>
|
|||
|
|
3342: e3fff923 bsr 0x2588 // 2588 <UARTInitRxTxIntEn>
|
|||
|
|
UART2_Int_Enable();
|
|||
|
|
3346: e3fff89d bsr 0x2480 // 2480 <UART2_Int_Enable>
|
|||
|
|
}
|
|||
|
|
334a: 0774 br 0x3232 // 3232 <UARTx_Init+0x12>
|
|||
|
|
334c: 20000040 .long 0x20000040
|
|||
|
|
3350: 00001388 .long 0x00001388
|
|||
|
|
3354: 20000218 .long 0x20000218
|
|||
|
|
3358: 200002b8 .long 0x200002b8
|
|||
|
|
335c: 20000298 .long 0x20000298
|
|||
|
|
3360: 200000a4 .long 0x200000a4
|
|||
|
|
3364: 2000004c .long 0x2000004c
|
|||
|
|
3368: 20000338 .long 0x20000338
|
|||
|
|
336c: 2000003c .long 0x2000003c
|
|||
|
|
3370: 20000038 .long 0x20000038
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART1_RecvINT_Processing:
|
|||
|
|
|
|||
|
|
00003374 <UART1_RecvINT_Processing>:
|
|||
|
|
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : UART1_RecvINT_Processing
|
|||
|
|
* Description : 串口1 接收中断处理函数 - 接收中断调用
|
|||
|
|
*******************************************************************************/
|
|||
|
|
void UART1_RecvINT_Processing(char data){
|
|||
|
|
3374: 14d0 push r15
|
|||
|
|
if((g_uart1.RecvLen + 1) >= USART_BUFFER_SIZE) g_uart1.RecvLen = 0;
|
|||
|
|
3376: 106d lrw r3, 0x20000298 // 33a8 <UART1_RecvINT_Processing+0x34>
|
|||
|
|
3378: 8b28 ld.h r1, (r3, 0x10)
|
|||
|
|
337a: 3244 movi r2, 68
|
|||
|
|
337c: 6449 cmplt r2, r1
|
|||
|
|
337e: 0c03 bf 0x3384 // 3384 <UART1_RecvINT_Processing+0x10>
|
|||
|
|
3380: 3200 movi r2, 0
|
|||
|
|
3382: ab48 st.h r2, (r3, 0x10)
|
|||
|
|
g_uart1.RecvBuffer[g_uart1.RecvLen++] = (U8_T)data;
|
|||
|
|
3384: 8b48 ld.h r2, (r3, 0x10)
|
|||
|
|
3386: 5a22 addi r1, r2, 1
|
|||
|
|
3388: ab28 st.h r1, (r3, 0x10)
|
|||
|
|
338a: 1029 lrw r1, 0x20000218 // 33ac <UART1_RecvINT_Processing+0x38>
|
|||
|
|
338c: 6084 addu r2, r1
|
|||
|
|
338e: a200 st.b r0, (r2, 0x0)
|
|||
|
|
|
|||
|
|
g_uart1.RecvIdleTiming = SysTick_1ms;
|
|||
|
|
g_uart1.Receiving = 0x01;
|
|||
|
|
|
|||
|
|
RX_LED_ON;
|
|||
|
|
3390: 3101 movi r1, 1
|
|||
|
|
g_uart1.RecvIdleTiming = SysTick_1ms;
|
|||
|
|
3392: 1048 lrw r2, 0x200000a4 // 33b0 <UART1_RecvINT_Processing+0x3c>
|
|||
|
|
3394: 9240 ld.w r2, (r2, 0x0)
|
|||
|
|
3396: b346 st.w r2, (r3, 0x18)
|
|||
|
|
g_uart1.Receiving = 0x01;
|
|||
|
|
3398: 3201 movi r2, 1
|
|||
|
|
339a: a34c st.b r2, (r3, 0xc)
|
|||
|
|
RX_LED_ON;
|
|||
|
|
339c: 1066 lrw r3, 0x2000004c // 33b4 <UART1_RecvINT_Processing+0x40>
|
|||
|
|
339e: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
33a0: e3fff6c8 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
}
|
|||
|
|
33a4: 1490 pop r15
|
|||
|
|
33a6: 0000 bkpt
|
|||
|
|
33a8: 20000298 .long 0x20000298
|
|||
|
|
33ac: 20000218 .long 0x20000218
|
|||
|
|
33b0: 200000a4 .long 0x200000a4
|
|||
|
|
33b4: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.UART1_TASK:
|
|||
|
|
|
|||
|
|
000033b8 <UART1_TASK>:
|
|||
|
|
|
|||
|
|
void UART1_TASK(void){
|
|||
|
|
33b8: 14d2 push r4-r5, r15
|
|||
|
|
U8_T rev = 0xFF;
|
|||
|
|
if(g_uart1.Receiving == 0x01){
|
|||
|
|
33ba: 1097 lrw r4, 0x20000298 // 3414 <UART1_TASK+0x5c>
|
|||
|
|
33bc: 846c ld.b r3, (r4, 0xc)
|
|||
|
|
33be: 3b41 cmpnei r3, 1
|
|||
|
|
33c0: 0828 bt 0x3410 // 3410 <UART1_TASK+0x58>
|
|||
|
|
if(SysTick_1ms - g_uart1.RecvIdleTiming > g_uart1.RecvTimeout){
|
|||
|
|
33c2: 10b6 lrw r5, 0x200000a4 // 3418 <UART1_TASK+0x60>
|
|||
|
|
33c4: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
33c6: 9446 ld.w r2, (r4, 0x18)
|
|||
|
|
33c8: 60ca subu r3, r2
|
|||
|
|
33ca: 9445 ld.w r2, (r4, 0x14)
|
|||
|
|
33cc: 64c8 cmphs r2, r3
|
|||
|
|
33ce: 0821 bt 0x3410 // 3410 <UART1_TASK+0x58>
|
|||
|
|
|
|||
|
|
SYSCON_Int_Disable(); //2025-03-19,复制接收缓冲到数据处理缓冲内
|
|||
|
|
33d0: e3fff4f6 bsr 0x1dbc // 1dbc <SYSCON_Int_Disable>
|
|||
|
|
g_uart1.RecvIdleTiming = SysTick_1ms;
|
|||
|
|
33d4: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
memcpy(g_uart1.DealBuffer,g_uart1.RecvBuffer,g_uart1.RecvLen);
|
|||
|
|
33d6: 8c48 ld.h r2, (r4, 0x10)
|
|||
|
|
33d8: 1031 lrw r1, 0x20000218 // 341c <UART1_TASK+0x64>
|
|||
|
|
33da: 1012 lrw r0, 0x2000025e // 3420 <UART1_TASK+0x68>
|
|||
|
|
g_uart1.RecvIdleTiming = SysTick_1ms;
|
|||
|
|
33dc: b466 st.w r3, (r4, 0x18)
|
|||
|
|
memcpy(g_uart1.DealBuffer,g_uart1.RecvBuffer,g_uart1.RecvLen);
|
|||
|
|
33de: e3fff313 bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
g_uart1.DealLen = g_uart1.RecvLen;
|
|||
|
|
33e2: 8c68 ld.h r3, (r4, 0x10)
|
|||
|
|
33e4: ac67 st.h r3, (r4, 0xe)
|
|||
|
|
g_uart1.RecvLen = 0;
|
|||
|
|
33e6: 3300 movi r3, 0
|
|||
|
|
33e8: ac68 st.h r3, (r4, 0x10)
|
|||
|
|
g_uart1.Receiving = 0;
|
|||
|
|
33ea: a46c st.b r3, (r4, 0xc)
|
|||
|
|
SYSCON_Int_Enable();
|
|||
|
|
33ec: e3fff4e2 bsr 0x1db0 // 1db0 <SYSCON_Int_Enable>
|
|||
|
|
|
|||
|
|
#if DBG_LOG_EN
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS, "UART1 recv Len %d", g_uart1.DealLen);
|
|||
|
|
Dbg_Print_Buff(DBG_BIT_SYS_STATUS,"UART1 buff",g_uart1.DealBuffer,g_uart1.DealLen);
|
|||
|
|
#endif
|
|||
|
|
if(g_uart1.processing_cf != NULL){
|
|||
|
|
33f0: 9467 ld.w r3, (r4, 0x1c)
|
|||
|
|
33f2: 3b40 cmpnei r3, 0
|
|||
|
|
33f4: 0c04 bf 0x33fc // 33fc <UART1_TASK+0x44>
|
|||
|
|
rev = g_uart1.processing_cf(g_uart1.DealBuffer,g_uart1.DealLen);
|
|||
|
|
33f6: 8c27 ld.h r1, (r4, 0xe)
|
|||
|
|
33f8: 100a lrw r0, 0x2000025e // 3420 <UART1_TASK+0x68>
|
|||
|
|
33fa: 7bcd jsr r3
|
|||
|
|
// /*Boot处理函数 */
|
|||
|
|
// if(rev != 0x00)
|
|||
|
|
// {
|
|||
|
|
// Boot_Comm_UpgradeProcess(g_uart1.DealBuffer,g_uart1.DealLen);
|
|||
|
|
// }
|
|||
|
|
RX_LED_OFF;
|
|||
|
|
33fc: 106a lrw r3, 0x2000004c // 3424 <UART1_TASK+0x6c>
|
|||
|
|
33fe: 3101 movi r1, 1
|
|||
|
|
3400: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
3402: e3fff693 bsr 0x2128 // 2128 <GPIO_Write_High>
|
|||
|
|
memset(g_uart1.DealBuffer,0,USART_BUFFER_SIZE);
|
|||
|
|
3406: 3246 movi r2, 70
|
|||
|
|
3408: 3100 movi r1, 0
|
|||
|
|
340a: 1006 lrw r0, 0x2000025e // 3420 <UART1_TASK+0x68>
|
|||
|
|
340c: e3fff2b8 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
3410: 1492 pop r4-r5, r15
|
|||
|
|
3412: 0000 bkpt
|
|||
|
|
3414: 20000298 .long 0x20000298
|
|||
|
|
3418: 200000a4 .long 0x200000a4
|
|||
|
|
341c: 20000218 .long 0x20000218
|
|||
|
|
3420: 2000025e .long 0x2000025e
|
|||
|
|
3424: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BUS485_Send:
|
|||
|
|
|
|||
|
|
00003428 <BUS485_Send>:
|
|||
|
|
* buff:发送数据
|
|||
|
|
* len:数据长度
|
|||
|
|
* @retval
|
|||
|
|
* */
|
|||
|
|
U8_T BUS485_Send(U8_T *buff,U16_T len)
|
|||
|
|
{
|
|||
|
|
3428: 14d4 push r4-r7, r15
|
|||
|
|
342a: 1423 subi r14, r14, 12
|
|||
|
|
342c: b802 st.w r0, (r14, 0x8)
|
|||
|
|
342e: b821 st.w r1, (r14, 0x4)
|
|||
|
|
unsigned int Dataval = 0,delay_cnt = 0;
|
|||
|
|
3430: 3600 movi r6, 0
|
|||
|
|
|
|||
|
|
//等待通讯发送完成
|
|||
|
|
while(RS485_Comming == 0x01){
|
|||
|
|
3432: 118d lrw r4, 0x200000a8 // 34e4 <BUS485_Send+0xbc>
|
|||
|
|
delay_cnt ++;
|
|||
|
|
if(delay_cnt >= 100){
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
REVERISE_DR; //485_DR
|
|||
|
|
3434: 11ad lrw r5, 0x2000004c // 34e8 <BUS485_Send+0xc0>
|
|||
|
|
while(RS485_Comming == 0x01){
|
|||
|
|
3436: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
3438: 3b41 cmpnei r3, 1
|
|||
|
|
343a: 0c47 bf 0x34c8 // 34c8 <BUS485_Send+0xa0>
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(m_send.BusState_Flag == UART_BUSIDLE){ //总线空闲
|
|||
|
|
343c: 116c lrw r3, 0x20000338 // 34ec <BUS485_Send+0xc4>
|
|||
|
|
343e: 83e0 ld.b r7, (r3, 0x0)
|
|||
|
|
3440: 3f40 cmpnei r7, 0
|
|||
|
|
3442: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3444: 084e bt 0x34e0 // 34e0 <BUS485_Send+0xb8>
|
|||
|
|
|
|||
|
|
TX_LED_ON;
|
|||
|
|
3446: 11a9 lrw r5, 0x2000004c // 34e8 <BUS485_Send+0xc0>
|
|||
|
|
3448: 3100 movi r1, 0
|
|||
|
|
344a: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
344c: e3fff672 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
CK_CPU_DisAllNormalIrq();
|
|||
|
|
3450: e3fffee5 bsr 0x321a // 321a <CK_CPU_DisAllNormalIrq>
|
|||
|
|
|
|||
|
|
WRITE_HIGH_DR; //485_DR
|
|||
|
|
3454: 3107 movi r1, 7
|
|||
|
|
3456: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
3458: e3fff668 bsr 0x2128 // 2128 <GPIO_Write_High>
|
|||
|
|
|
|||
|
|
RS485_Comm_Flag = 0x01;
|
|||
|
|
345c: 3301 movi r3, 1
|
|||
|
|
345e: b461 st.w r3, (r4, 0x4)
|
|||
|
|
RS485_Comm_Start = 0x00;
|
|||
|
|
RS485_Comm_End = 0x00;
|
|||
|
|
|
|||
|
|
m_send.BusState_Flag = UART_BUSBUSY;//发送前总线置位繁忙
|
|||
|
|
3460: 3201 movi r2, 1
|
|||
|
|
3462: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
3464: a340 st.b r2, (r3, 0x0)
|
|||
|
|
m_send.BUSBUSY_LOCK = 0x01; //锁定总线状态
|
|||
|
|
3466: a342 st.b r2, (r3, 0x2)
|
|||
|
|
RS485_Comm_Start = 0x00;
|
|||
|
|
3468: b4e2 st.w r7, (r4, 0x8)
|
|||
|
|
RS485_Comm_End = 0x00;
|
|||
|
|
346a: b4e3 st.w r7, (r4, 0xc)
|
|||
|
|
|
|||
|
|
CK_CPU_EnAllNormalIrq();
|
|||
|
|
346c: e3fffed4 bsr 0x3214 // 3214 <CK_CPU_EnAllNormalIrq>
|
|||
|
|
|
|||
|
|
UARTTransmit(UART1,buff,len);
|
|||
|
|
3470: 1160 lrw r3, 0x2000003c // 34f0 <BUS485_Send+0xc8>
|
|||
|
|
3472: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
3474: 9841 ld.w r2, (r14, 0x4)
|
|||
|
|
3476: 9822 ld.w r1, (r14, 0x8)
|
|||
|
|
3478: e3fff890 bsr 0x2598 // 2598 <UARTTransmit>
|
|||
|
|
do{
|
|||
|
|
delay_nus(100);
|
|||
|
|
347c: 3064 movi r0, 100
|
|||
|
|
347e: e3fff943 bsr 0x2704 // 2704 <delay_nus>
|
|||
|
|
delay_cnt ++;
|
|||
|
|
3482: 2600 addi r6, 1
|
|||
|
|
if(delay_cnt >= 100){
|
|||
|
|
3484: 3363 movi r3, 99
|
|||
|
|
3486: 658c cmphs r3, r6
|
|||
|
|
3488: 0c08 bf 0x3498 // 3498 <BUS485_Send+0x70>
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}while((RS485_Comm_Start < len) || (RS485_Comm_End < len)); //发送完成
|
|||
|
|
348a: 9462 ld.w r3, (r4, 0x8)
|
|||
|
|
348c: 9841 ld.w r2, (r14, 0x4)
|
|||
|
|
348e: 648d cmplt r3, r2
|
|||
|
|
3490: 0bf6 bt 0x347c // 347c <BUS485_Send+0x54>
|
|||
|
|
3492: 9463 ld.w r3, (r4, 0xc)
|
|||
|
|
3494: 648d cmplt r3, r2
|
|||
|
|
3496: 0bf3 bt 0x347c // 347c <BUS485_Send+0x54>
|
|||
|
|
|
|||
|
|
CK_CPU_DisAllNormalIrq();
|
|||
|
|
3498: e3fffec1 bsr 0x321a // 321a <CK_CPU_DisAllNormalIrq>
|
|||
|
|
|
|||
|
|
WRITE_LOW_DR; //485_DR
|
|||
|
|
349c: 3107 movi r1, 7
|
|||
|
|
349e: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
34a0: e3fff648 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
|
|||
|
|
RS485_Comm_Flag = 0x00;
|
|||
|
|
34a4: 3300 movi r3, 0
|
|||
|
|
34a6: b461 st.w r3, (r4, 0x4)
|
|||
|
|
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
34a8: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
34aa: 1073 lrw r3, 0x200000a4 // 34f4 <BUS485_Send+0xcc>
|
|||
|
|
34ac: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
34ae: b266 st.w r3, (r2, 0x18)
|
|||
|
|
m_send.BUSBUSY_LOCK = 0x00; //解锁总线状态
|
|||
|
|
34b0: 6ccb mov r3, r2
|
|||
|
|
34b2: 3200 movi r2, 0
|
|||
|
|
34b4: a342 st.b r2, (r3, 0x2)
|
|||
|
|
|
|||
|
|
CK_CPU_EnAllNormalIrq();
|
|||
|
|
34b6: e3fffeaf bsr 0x3214 // 3214 <CK_CPU_EnAllNormalIrq>
|
|||
|
|
|
|||
|
|
TX_LED_OFF;
|
|||
|
|
34ba: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
34bc: 3100 movi r1, 0
|
|||
|
|
34be: e3fff635 bsr 0x2128 // 2128 <GPIO_Write_High>
|
|||
|
|
{
|
|||
|
|
return UART_BUSBUSY; //发送失败
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return 0x02; //传入状态无效
|
|||
|
|
}
|
|||
|
|
34c2: 6c1f mov r0, r7
|
|||
|
|
34c4: 1403 addi r14, r14, 12
|
|||
|
|
34c6: 1494 pop r4-r7, r15
|
|||
|
|
delay_nus(100);
|
|||
|
|
34c8: 3064 movi r0, 100
|
|||
|
|
34ca: e3fff91d bsr 0x2704 // 2704 <delay_nus>
|
|||
|
|
delay_cnt ++;
|
|||
|
|
34ce: 2600 addi r6, 1
|
|||
|
|
if(delay_cnt >= 100){
|
|||
|
|
34d0: 3364 movi r3, 100
|
|||
|
|
34d2: 64da cmpne r6, r3
|
|||
|
|
34d4: 0fb4 bf 0x343c // 343c <BUS485_Send+0x14>
|
|||
|
|
REVERISE_DR; //485_DR
|
|||
|
|
34d6: 3107 movi r1, 7
|
|||
|
|
34d8: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
34da: e3fff62f bsr 0x2138 // 2138 <GPIO_Reverse>
|
|||
|
|
34de: 07ac br 0x3436 // 3436 <BUS485_Send+0xe>
|
|||
|
|
return UART_BUSBUSY; //发送失败
|
|||
|
|
34e0: 3701 movi r7, 1
|
|||
|
|
34e2: 07f0 br 0x34c2 // 34c2 <BUS485_Send+0x9a>
|
|||
|
|
34e4: 200000a8 .long 0x200000a8
|
|||
|
|
34e8: 2000004c .long 0x2000004c
|
|||
|
|
34ec: 20000338 .long 0x20000338
|
|||
|
|
34f0: 2000003c .long 0x2000003c
|
|||
|
|
34f4: 200000a4 .long 0x200000a4
|
|||
|
|
|
|||
|
|
Disassembly of section .text.MultSend_Task:
|
|||
|
|
|
|||
|
|
000034f8 <MultSend_Task>:
|
|||
|
|
* DatSd:发送标记,0x00:无发送,0x01:有数据发送
|
|||
|
|
*
|
|||
|
|
* @retval 0x00:发送成功 0x01:等待发送 0x02:数据无效
|
|||
|
|
* */
|
|||
|
|
U8_T MultSend_Task(U8_T *buff,U16_T len,U8_T DatSd)
|
|||
|
|
{
|
|||
|
|
34f8: 14d3 push r4-r6, r15
|
|||
|
|
if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
|
|||
|
|
34fa: 5963 subi r3, r1, 1
|
|||
|
|
34fc: 74cd zexth r3, r3
|
|||
|
|
34fe: 347f movi r4, 127
|
|||
|
|
3500: 64d0 cmphs r4, r3
|
|||
|
|
3502: 0c23 bf 0x3548 // 3548 <MultSend_Task+0x50>
|
|||
|
|
|
|||
|
|
if(DatSd == 0x01)
|
|||
|
|
3504: 3a41 cmpnei r2, 1
|
|||
|
|
3506: 0c03 bf 0x350c // 350c <MultSend_Task+0x14>
|
|||
|
|
}else{
|
|||
|
|
Dbg_Println(DBG_BIT_Debug_STATUS,"retry end,%d",m_send.ResendCnt );
|
|||
|
|
return RETRY_END;//没有重发次数
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return BUSSEND_WAIT;//等待
|
|||
|
|
3508: 3001 movi r0, 1
|
|||
|
|
}
|
|||
|
|
350a: 1493 pop r4-r6, r15
|
|||
|
|
if( m_send.ResendCnt < m_send.TotalCnt) //判断数据是否还在有效期,是否还有发送次数
|
|||
|
|
350c: 1092 lrw r4, 0x20000338 // 3554 <MultSend_Task+0x5c>
|
|||
|
|
350e: 8444 ld.b r2, (r4, 0x4)
|
|||
|
|
3510: 8466 ld.b r3, (r4, 0x6)
|
|||
|
|
3512: 64c8 cmphs r2, r3
|
|||
|
|
3514: 081c bt 0x354c // 354c <MultSend_Task+0x54>
|
|||
|
|
if(SysTick_1ms - m_send.BusbusyTimeout < m_send.DataValid_Time)
|
|||
|
|
3516: 10b1 lrw r5, 0x200000a4 // 3558 <MultSend_Task+0x60>
|
|||
|
|
3518: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
351a: 94c8 ld.w r6, (r4, 0x20)
|
|||
|
|
351c: 60da subu r3, r6
|
|||
|
|
351e: 94c5 ld.w r6, (r4, 0x14)
|
|||
|
|
3520: 658c cmphs r3, r6
|
|||
|
|
3522: 0817 bt 0x3550 // 3550 <MultSend_Task+0x58>
|
|||
|
|
if((m_send.ResendCnt == 0x00)||(SysTick_1ms - m_send.ASend_Tick >= m_send.DataWait_Time)){//数据发送间隔
|
|||
|
|
3524: 3a40 cmpnei r2, 0
|
|||
|
|
3526: 0c07 bf 0x3534 // 3534 <MultSend_Task+0x3c>
|
|||
|
|
3528: 9447 ld.w r2, (r4, 0x1c)
|
|||
|
|
352a: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
352c: 60ca subu r3, r2
|
|||
|
|
352e: 9444 ld.w r2, (r4, 0x10)
|
|||
|
|
3530: 648c cmphs r3, r2
|
|||
|
|
3532: 0feb bf 0x3508 // 3508 <MultSend_Task+0x10>
|
|||
|
|
if(BUS485_Send(buff,len) == UART_BUSIDLE){ //发送数据
|
|||
|
|
3534: e3ffff7a bsr 0x3428 // 3428 <BUS485_Send>
|
|||
|
|
3538: 3840 cmpnei r0, 0
|
|||
|
|
353a: 0be7 bt 0x3508 // 3508 <MultSend_Task+0x10>
|
|||
|
|
m_send.ASend_Tick = SysTick_1ms;
|
|||
|
|
353c: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
353e: b467 st.w r3, (r4, 0x1c)
|
|||
|
|
m_send.ResendCnt++;
|
|||
|
|
3540: 8464 ld.b r3, (r4, 0x4)
|
|||
|
|
3542: 2300 addi r3, 1
|
|||
|
|
3544: a464 st.b r3, (r4, 0x4)
|
|||
|
|
3546: 07e2 br 0x350a // 350a <MultSend_Task+0x12>
|
|||
|
|
if( (len == 0)||(len > USART_SEND_SIZE) ) return LEN_ERR;
|
|||
|
|
3548: 3004 movi r0, 4
|
|||
|
|
354a: 07e0 br 0x350a // 350a <MultSend_Task+0x12>
|
|||
|
|
return RETRY_END;//没有重发次数
|
|||
|
|
354c: 3003 movi r0, 3
|
|||
|
|
354e: 07de br 0x350a // 350a <MultSend_Task+0x12>
|
|||
|
|
return DATA_END;//数据有效期结束
|
|||
|
|
3550: 3002 movi r0, 2
|
|||
|
|
3552: 07dc br 0x350a // 350a <MultSend_Task+0x12>
|
|||
|
|
3554: 20000338 .long 0x20000338
|
|||
|
|
3558: 200000a4 .long 0x200000a4
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Set_GroupSend:
|
|||
|
|
|
|||
|
|
0000355c <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)
|
|||
|
|
{
|
|||
|
|
355c: 14d4 push r4-r7, r15
|
|||
|
|
355e: 1421 subi r14, r14, 4
|
|||
|
|
3560: 6dcf mov r7, r3
|
|||
|
|
3562: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
3564: b860 st.w r3, (r14, 0x0)
|
|||
|
|
if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
|
|||
|
|
3566: 5963 subi r3, r1, 1
|
|||
|
|
{
|
|||
|
|
3568: 6d4b mov r5, r2
|
|||
|
|
if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
|
|||
|
|
356a: 74cd zexth r3, r3
|
|||
|
|
356c: 327f movi r2, 127
|
|||
|
|
356e: 64c8 cmphs r2, r3
|
|||
|
|
{
|
|||
|
|
3570: 6d83 mov r6, r0
|
|||
|
|
3572: 6d07 mov r4, r1
|
|||
|
|
if((sled == 0x00)|| (sled > USART_SEND_SIZE)) return;
|
|||
|
|
3574: 0c19 bf 0x35a6 // 35a6 <Set_GroupSend+0x4a>
|
|||
|
|
|
|||
|
|
memset(m_send.SendBuffer,0, USART_SEND_SIZE);
|
|||
|
|
3576: 3280 movi r2, 128
|
|||
|
|
3578: 3100 movi r1, 0
|
|||
|
|
357a: 100d lrw r0, 0x200002b8 // 35ac <Set_GroupSend+0x50>
|
|||
|
|
357c: e3fff200 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
memcpy(m_send.SendBuffer,data,sled);
|
|||
|
|
3580: 6c93 mov r2, r4
|
|||
|
|
3582: 6c5b mov r1, r6
|
|||
|
|
3584: 100a lrw r0, 0x200002b8 // 35ac <Set_GroupSend+0x50>
|
|||
|
|
3586: e3fff23f bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
m_send.SendLen = sled;
|
|||
|
|
358a: 106a lrw r3, 0x20000338 // 35b0 <Set_GroupSend+0x54>
|
|||
|
|
|
|||
|
|
m_send.DataValid_Time = indate;//数据有效期
|
|||
|
|
m_send.TotalCnt = SCnt; //数据发送次数
|
|||
|
|
m_send.DataWait_Time = tim_val;//发送数据间隔
|
|||
|
|
358c: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
358e: b344 st.w r2, (r3, 0x10)
|
|||
|
|
|
|||
|
|
m_send.ASend_Flag = 0x01;
|
|||
|
|
3590: 3201 movi r2, 1
|
|||
|
|
3592: a345 st.b r2, (r3, 0x5)
|
|||
|
|
m_send.SendState = BUSSEND_WAIT;
|
|||
|
|
3594: a343 st.b r2, (r3, 0x3)
|
|||
|
|
m_send.ResendCnt = 0x00;
|
|||
|
|
3596: 3200 movi r2, 0
|
|||
|
|
3598: a344 st.b r2, (r3, 0x4)
|
|||
|
|
m_send.SendLen = sled;
|
|||
|
|
359a: ab85 st.h r4, (r3, 0xa)
|
|||
|
|
m_send.DataValid_Time = indate;//数据有效期
|
|||
|
|
359c: b3e5 st.w r7, (r3, 0x14)
|
|||
|
|
m_send.TotalCnt = SCnt; //数据发送次数
|
|||
|
|
359e: a3a6 st.b r5, (r3, 0x6)
|
|||
|
|
m_send.BusbusyTimeout = SysTick_1ms;
|
|||
|
|
35a0: 1045 lrw r2, 0x200000a4 // 35b4 <Set_GroupSend+0x58>
|
|||
|
|
35a2: 9240 ld.w r2, (r2, 0x0)
|
|||
|
|
35a4: b348 st.w r2, (r3, 0x20)
|
|||
|
|
}
|
|||
|
|
35a6: 1401 addi r14, r14, 4
|
|||
|
|
35a8: 1494 pop r4-r7, r15
|
|||
|
|
35aa: 0000 bkpt
|
|||
|
|
35ac: 200002b8 .long 0x200002b8
|
|||
|
|
35b0: 20000338 .long 0x20000338
|
|||
|
|
35b4: 200000a4 .long 0x200000a4
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BUS485Send_Task:
|
|||
|
|
|
|||
|
|
000035b8 <BUS485Send_Task>:
|
|||
|
|
m_send.Jump_Flag = jump;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//485发送任务
|
|||
|
|
void BUS485Send_Task(void) //2025-03-29
|
|||
|
|
{
|
|||
|
|
35b8: 14d1 push r4, r15
|
|||
|
|
//空闲等待
|
|||
|
|
if(m_send.ASend_Flag == 0x01)
|
|||
|
|
35ba: 1089 lrw r4, 0x20000338 // 35dc <BUS485Send_Task+0x24>
|
|||
|
|
35bc: 8465 ld.b r3, (r4, 0x5)
|
|||
|
|
35be: 3b41 cmpnei r3, 1
|
|||
|
|
35c0: 080d bt 0x35da // 35da <BUS485Send_Task+0x22>
|
|||
|
|
{
|
|||
|
|
m_send.SendState = MultSend_Task(m_send.SendBuffer,m_send.SendLen,m_send.ASend_Flag);
|
|||
|
|
35c2: 8c25 ld.h r1, (r4, 0xa)
|
|||
|
|
35c4: 3201 movi r2, 1
|
|||
|
|
35c6: 1007 lrw r0, 0x200002b8 // 35e0 <BUS485Send_Task+0x28>
|
|||
|
|
35c8: e3ffff98 bsr 0x34f8 // 34f8 <MultSend_Task>
|
|||
|
|
35cc: a403 st.b r0, (r4, 0x3)
|
|||
|
|
|
|||
|
|
if( (m_send.SendState == DATA_END)||(m_send.SendState == RETRY_END) )//判断发送数据是否有效
|
|||
|
|
35ce: 2801 subi r0, 2
|
|||
|
|
35d0: 7400 zextb r0, r0
|
|||
|
|
35d2: 3801 cmphsi r0, 2
|
|||
|
|
35d4: 0803 bt 0x35da // 35da <BUS485Send_Task+0x22>
|
|||
|
|
{
|
|||
|
|
Dbg_Println(DBG_BIT_Debug_STATUS,"send end");
|
|||
|
|
|
|||
|
|
m_send.ASend_Flag = 0x00; //清除发送标志位
|
|||
|
|
35d6: 3300 movi r3, 0
|
|||
|
|
35d8: a465 st.b r3, (r4, 0x5)
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
35da: 1491 pop r4, r15
|
|||
|
|
35dc: 20000338 .long 0x20000338
|
|||
|
|
35e0: 200002b8 .long 0x200002b8
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BusIdle_Task:
|
|||
|
|
|
|||
|
|
000035e4 <BusIdle_Task>:
|
|||
|
|
/**********************************************************
|
|||
|
|
* @brief 2025-03-25,检测总线空闲,在定时器中断里调用
|
|||
|
|
* @retval None
|
|||
|
|
* */
|
|||
|
|
void BusIdle_Task(void)
|
|||
|
|
{
|
|||
|
|
35e4: 14d1 push r4, r15
|
|||
|
|
if((m_send.BusState_Flag != UART_BUSIDLE)&&(m_send.BUSBUSY_LOCK != 0x01))
|
|||
|
|
35e6: 108d lrw r4, 0x20000338 // 3618 <BusIdle_Task+0x34>
|
|||
|
|
35e8: 8460 ld.b r3, (r4, 0x0)
|
|||
|
|
35ea: 3b40 cmpnei r3, 0
|
|||
|
|
35ec: 0c15 bf 0x3616 // 3616 <BusIdle_Task+0x32>
|
|||
|
|
35ee: 8462 ld.b r3, (r4, 0x2)
|
|||
|
|
35f0: 3b41 cmpnei r3, 1
|
|||
|
|
35f2: 0c12 bf 0x3616 // 3616 <BusIdle_Task+0x32>
|
|||
|
|
{
|
|||
|
|
CK_CPU_DisAllNormalIrq();
|
|||
|
|
35f4: e3fffe13 bsr 0x321a // 321a <CK_CPU_DisAllNormalIrq>
|
|||
|
|
if( (m_send.HighBit_Flag == 0x01)&&(SysTick_1ms - m_send.BusState_Tick >= (6 + m_send.Bus_DelayTime)) )
|
|||
|
|
35f8: 8461 ld.b r3, (r4, 0x1)
|
|||
|
|
35fa: 3b41 cmpnei r3, 1
|
|||
|
|
35fc: 080b bt 0x3612 // 3612 <BusIdle_Task+0x2e>
|
|||
|
|
35fe: 1068 lrw r3, 0x200000a4 // 361c <BusIdle_Task+0x38>
|
|||
|
|
3600: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
3602: 9466 ld.w r3, (r4, 0x18)
|
|||
|
|
3604: 608e subu r2, r3
|
|||
|
|
3606: 9463 ld.w r3, (r4, 0xc)
|
|||
|
|
3608: 2305 addi r3, 6
|
|||
|
|
360a: 64c8 cmphs r2, r3
|
|||
|
|
360c: 0c03 bf 0x3612 // 3612 <BusIdle_Task+0x2e>
|
|||
|
|
{
|
|||
|
|
m_send.BusState_Flag = UART_BUSIDLE;
|
|||
|
|
360e: 3300 movi r3, 0
|
|||
|
|
3610: a460 st.b r3, (r4, 0x0)
|
|||
|
|
}
|
|||
|
|
CK_CPU_EnAllNormalIrq();
|
|||
|
|
3612: e3fffe01 bsr 0x3214 // 3214 <CK_CPU_EnAllNormalIrq>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
3616: 1491 pop r4, r15
|
|||
|
|
3618: 20000338 .long 0x20000338
|
|||
|
|
361c: 200000a4 .long 0x200000a4
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BusBusy_Task:
|
|||
|
|
|
|||
|
|
00003620 <BusBusy_Task>:
|
|||
|
|
/*******************************************************************
|
|||
|
|
* @brief 检测总线繁忙,在串口接收RX引脚的外部中断服务函数里调用
|
|||
|
|
* @retval None
|
|||
|
|
* */
|
|||
|
|
void BusBusy_Task(void)
|
|||
|
|
{
|
|||
|
|
3620: 14d2 push r4-r5, r15
|
|||
|
|
CK_CPU_DisAllNormalIrq();
|
|||
|
|
3622: e3fffdfc bsr 0x321a // 321a <CK_CPU_DisAllNormalIrq>
|
|||
|
|
m_send.BusState_Flag = UART_BUSBUSY;
|
|||
|
|
3626: 1091 lrw r4, 0x20000338 // 3668 <BusBusy_Task+0x48>
|
|||
|
|
3628: 3301 movi r3, 1
|
|||
|
|
362a: a460 st.b r3, (r4, 0x0)
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
|
|||
|
|
362c: 310a movi r1, 10
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
362e: 1070 lrw r3, 0x200000a4 // 366c <BusBusy_Task+0x4c>
|
|||
|
|
|
|||
|
|
if(READ_RX_LEVEL_STATE == 0x01){
|
|||
|
|
3630: 10b0 lrw r5, 0x2000004c // 3670 <BusBusy_Task+0x50>
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
3632: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
|
|||
|
|
3634: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
3636: 9467 ld.w r3, (r4, 0x1c)
|
|||
|
|
m_send.BusState_Tick = SysTick_1ms;
|
|||
|
|
3638: b446 st.w r2, (r4, 0x18)
|
|||
|
|
m_send.Bus_DelayTime = (SysTick_1ms - m_send.ASend_Tick)%10;//随机延时
|
|||
|
|
363a: 600e subu r0, r3
|
|||
|
|
363c: e3fffdda bsr 0x31f0 // 31f0 <__umodsi3>
|
|||
|
|
3640: b403 st.w r0, (r4, 0xc)
|
|||
|
|
if(READ_RX_LEVEL_STATE == 0x01){
|
|||
|
|
3642: 310f movi r1, 15
|
|||
|
|
3644: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
3646: e3fff584 bsr 0x214e // 214e <GPIO_Read_Status>
|
|||
|
|
364a: 3841 cmpnei r0, 1
|
|||
|
|
364c: 0806 bt 0x3658 // 3658 <BusBusy_Task+0x38>
|
|||
|
|
m_send.HighBit_Flag = 0x01; //高电平标志置位
|
|||
|
|
364e: 3301 movi r3, 1
|
|||
|
|
}else if(READ_RX_LEVEL_STATE == 0x00){
|
|||
|
|
m_send.HighBit_Flag = 0x00; //低电平
|
|||
|
|
3650: a461 st.b r3, (r4, 0x1)
|
|||
|
|
}
|
|||
|
|
CK_CPU_EnAllNormalIrq();
|
|||
|
|
3652: e3fffde1 bsr 0x3214 // 3214 <CK_CPU_EnAllNormalIrq>
|
|||
|
|
}
|
|||
|
|
3656: 1492 pop r4-r5, r15
|
|||
|
|
}else if(READ_RX_LEVEL_STATE == 0x00){
|
|||
|
|
3658: 9500 ld.w r0, (r5, 0x0)
|
|||
|
|
365a: 310f movi r1, 15
|
|||
|
|
365c: e3fff579 bsr 0x214e // 214e <GPIO_Read_Status>
|
|||
|
|
3660: 3840 cmpnei r0, 0
|
|||
|
|
3662: 0bf8 bt 0x3652 // 3652 <BusBusy_Task+0x32>
|
|||
|
|
m_send.HighBit_Flag = 0x00; //低电平
|
|||
|
|
3664: 3300 movi r3, 0
|
|||
|
|
3666: 07f5 br 0x3650 // 3650 <BusBusy_Task+0x30>
|
|||
|
|
3668: 20000338 .long 0x20000338
|
|||
|
|
366c: 200000a4 .long 0x200000a4
|
|||
|
|
3670: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Dbg_Println:
|
|||
|
|
|
|||
|
|
00003674 <Dbg_Println>:
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
void Dbg_Println(int DbgOptBit, const char *cmd, ...){
|
|||
|
|
3674: 1423 subi r14, r14, 12
|
|||
|
|
3676: b862 st.w r3, (r14, 0x8)
|
|||
|
|
3678: b841 st.w r2, (r14, 0x4)
|
|||
|
|
367a: b820 st.w r1, (r14, 0x0)
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endif
|
|||
|
|
}
|
|||
|
|
367c: 1403 addi r14, r14, 12
|
|||
|
|
367e: 783c jmp r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.DIP_GetSwitchState:
|
|||
|
|
|
|||
|
|
00003680 <DIP_GetSwitchState>:
|
|||
|
|
|
|||
|
|
/*进入设置界面 - 先决条件*/
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr %d",g_Dip.DIP_val);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
U8_T DIP_GetSwitchState(U8_T i){
|
|||
|
|
3680: 14d0 push r15
|
|||
|
|
U8_T val = 0;
|
|||
|
|
|
|||
|
|
switch (i)
|
|||
|
|
3682: 3841 cmpnei r0, 1
|
|||
|
|
3684: 0c0d bf 0x369e // 369e <DIP_GetSwitchState+0x1e>
|
|||
|
|
3686: 3840 cmpnei r0, 0
|
|||
|
|
3688: 0c05 bf 0x3692 // 3692 <DIP_GetSwitchState+0x12>
|
|||
|
|
368a: 3842 cmpnei r0, 2
|
|||
|
|
368c: 0c0d bf 0x36a6 // 36a6 <DIP_GetSwitchState+0x26>
|
|||
|
|
U8_T val = 0;
|
|||
|
|
368e: 3000 movi r0, 0
|
|||
|
|
3690: 0406 br 0x369c // 369c <DIP_GetSwitchState+0x1c>
|
|||
|
|
{
|
|||
|
|
case DIP_CH1:
|
|||
|
|
val = GPIO_Read_Status(GPIOA0,10);
|
|||
|
|
3692: 1068 lrw r3, 0x2000004c // 36b0 <DIP_GetSwitchState+0x30>
|
|||
|
|
3694: 310a movi r1, 10
|
|||
|
|
3696: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
break;
|
|||
|
|
case DIP_CH2:
|
|||
|
|
val = GPIO_Read_Status(GPIOA0,9);
|
|||
|
|
break;
|
|||
|
|
case DIP_CH3:
|
|||
|
|
val = GPIO_Read_Status(GPIOA0,8);
|
|||
|
|
3698: e3fff55b bsr 0x214e // 214e <GPIO_Read_Status>
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
return val;
|
|||
|
|
}
|
|||
|
|
369c: 1490 pop r15
|
|||
|
|
val = GPIO_Read_Status(GPIOA0,9);
|
|||
|
|
369e: 1065 lrw r3, 0x2000004c // 36b0 <DIP_GetSwitchState+0x30>
|
|||
|
|
36a0: 3109 movi r1, 9
|
|||
|
|
36a2: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
36a4: 07fa br 0x3698 // 3698 <DIP_GetSwitchState+0x18>
|
|||
|
|
val = GPIO_Read_Status(GPIOA0,8);
|
|||
|
|
36a6: 1063 lrw r3, 0x2000004c // 36b0 <DIP_GetSwitchState+0x30>
|
|||
|
|
36a8: 3108 movi r1, 8
|
|||
|
|
36aa: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
36ac: 07f6 br 0x3698 // 3698 <DIP_GetSwitchState+0x18>
|
|||
|
|
36ae: 0000 bkpt
|
|||
|
|
36b0: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.DIP_Switch_Init:
|
|||
|
|
|
|||
|
|
000036b4 <DIP_Switch_Init>:
|
|||
|
|
void DIP_Switch_Init(void){
|
|||
|
|
36b4: 14d2 push r4-r5, r15
|
|||
|
|
GPIO_Init(GPIOA0,10,Intput);
|
|||
|
|
36b6: 1180 lrw r4, 0x2000004c // 3734 <DIP_Switch_Init+0x80>
|
|||
|
|
36b8: 3201 movi r2, 1
|
|||
|
|
36ba: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
36bc: 310a movi r1, 10
|
|||
|
|
36be: e3fff3af bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_Init(GPIOA0,9,Intput);
|
|||
|
|
36c2: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
36c4: 3201 movi r2, 1
|
|||
|
|
36c6: 3109 movi r1, 9
|
|||
|
|
36c8: e3fff3aa bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_Init(GPIOA0,8,Intput);
|
|||
|
|
36cc: 3201 movi r2, 1
|
|||
|
|
36ce: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
36d0: 3108 movi r1, 8
|
|||
|
|
36d2: e3fff3a5 bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,10);
|
|||
|
|
36d6: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
36d8: 310a movi r1, 10
|
|||
|
|
36da: e3fff411 bsr 0x1efc // 1efc <GPIO_PullHigh_Init>
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,9);
|
|||
|
|
36de: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
36e0: 3109 movi r1, 9
|
|||
|
|
36e2: e3fff40d bsr 0x1efc // 1efc <GPIO_PullHigh_Init>
|
|||
|
|
GPIO_PullHigh_Init(GPIOA0,8);
|
|||
|
|
36e6: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
36e8: 3108 movi r1, 8
|
|||
|
|
36ea: e3fff409 bsr 0x1efc // 1efc <GPIO_PullHigh_Init>
|
|||
|
|
memset(&g_Dip,0,sizeof(DIP_t));
|
|||
|
|
36ee: 3210 movi r2, 16
|
|||
|
|
36f0: 3100 movi r1, 0
|
|||
|
|
36f2: 1012 lrw r0, 0x2000035c // 3738 <DIP_Switch_Init+0x84>
|
|||
|
|
36f4: e3fff144 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
delay_nms(20);
|
|||
|
|
36f8: 3014 movi r0, 20
|
|||
|
|
36fa: e3fff7ef bsr 0x26d8 // 26d8 <delay_nms>
|
|||
|
|
36fe: 3400 movi r4, 0
|
|||
|
|
g_Dip.DIP_val |= DIP_VAL_ON << i;
|
|||
|
|
3700: 10ae lrw r5, 0x2000035c // 3738 <DIP_Switch_Init+0x84>
|
|||
|
|
if(DIP_GetSwitchState(i) == DIP_PRESS){
|
|||
|
|
3702: 7410 zextb r0, r4
|
|||
|
|
3704: e3ffffbe bsr 0x3680 // 3680 <DIP_GetSwitchState>
|
|||
|
|
3708: 3840 cmpnei r0, 0
|
|||
|
|
370a: 0807 bt 0x3718 // 3718 <DIP_Switch_Init+0x64>
|
|||
|
|
g_Dip.DIP_val |= DIP_VAL_ON << i;
|
|||
|
|
370c: 3301 movi r3, 1
|
|||
|
|
370e: 70d0 lsl r3, r4
|
|||
|
|
3710: 6c8f mov r2, r3
|
|||
|
|
3712: 9562 ld.w r3, (r5, 0x8)
|
|||
|
|
3714: 6cc8 or r3, r2
|
|||
|
|
3716: b562 st.w r3, (r5, 0x8)
|
|||
|
|
3718: 2400 addi r4, 1
|
|||
|
|
for (U8_T i = 0; i < DIP_CHN_MAX; i++) {
|
|||
|
|
371a: 3c43 cmpnei r4, 3
|
|||
|
|
371c: 0bf3 bt 0x3702 // 3702 <DIP_Switch_Init+0x4e>
|
|||
|
|
g_Dip.DIP_last_val = g_Dip.DIP_val;
|
|||
|
|
371e: 1067 lrw r3, 0x2000035c // 3738 <DIP_Switch_Init+0x84>
|
|||
|
|
g_Dip.addr = g_Dip.DIP_val & 0x07;
|
|||
|
|
3720: 3107 movi r1, 7
|
|||
|
|
g_Dip.DIP_last_val = g_Dip.DIP_val;
|
|||
|
|
3722: 9342 ld.w r2, (r3, 0x8)
|
|||
|
|
g_Dip.addr = g_Dip.DIP_val & 0x07;
|
|||
|
|
3724: 6848 and r1, r2
|
|||
|
|
3726: a326 st.b r1, (r3, 0x6)
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr %d",g_Dip.DIP_val);
|
|||
|
|
3728: 3000 movi r0, 0
|
|||
|
|
372a: 1025 lrw r1, 0x4d8f // 373c <DIP_Switch_Init+0x88>
|
|||
|
|
g_Dip.DIP_last_val = g_Dip.DIP_val;
|
|||
|
|
372c: b343 st.w r2, (r3, 0xc)
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"DIP Addr %d",g_Dip.DIP_val);
|
|||
|
|
372e: e3ffffa3 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
}
|
|||
|
|
3732: 1492 pop r4-r5, r15
|
|||
|
|
3734: 2000004c .long 0x2000004c
|
|||
|
|
3738: 2000035c .long 0x2000035c
|
|||
|
|
373c: 00004d8f .long 0x00004d8f
|
|||
|
|
|
|||
|
|
Disassembly of section .text.DIP_ScanTask:
|
|||
|
|
|
|||
|
|
00003740 <DIP_ScanTask>:
|
|||
|
|
|
|||
|
|
void DIP_ScanTask(void)
|
|||
|
|
{
|
|||
|
|
3740: 14d3 push r4-r6, r15
|
|||
|
|
static U32_T update_20ms = 0;
|
|||
|
|
|
|||
|
|
if (SysTick_1ms - update_20ms > DIP_SCAN_Time)
|
|||
|
|
3742: 1120 lrw r1, 0x200000a4 // 37c0 <DIP_ScanTask+0x80>
|
|||
|
|
3744: 1140 lrw r2, 0x200000b8 // 37c4 <DIP_ScanTask+0x84>
|
|||
|
|
3746: 11a1 lrw r5, 0x2000035c // 37c8 <DIP_ScanTask+0x88>
|
|||
|
|
3748: 9200 ld.w r0, (r2, 0x0)
|
|||
|
|
374a: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
374c: 60c2 subu r3, r0
|
|||
|
|
374e: 3b14 cmphsi r3, 21
|
|||
|
|
3750: 0806 bt 0x375c // 375c <DIP_ScanTask+0x1c>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(g_Dip.DIP_val != g_Dip.DIP_last_val)
|
|||
|
|
3752: 9562 ld.w r3, (r5, 0x8)
|
|||
|
|
3754: 9543 ld.w r2, (r5, 0xc)
|
|||
|
|
3756: 648e cmpne r3, r2
|
|||
|
|
3758: 082e bt 0x37b4 // 37b4 <DIP_ScanTask+0x74>
|
|||
|
|
g_Dip.addr = g_Dip.DIP_val & 0x07;
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
375a: 1493 pop r4-r6, r15
|
|||
|
|
update_20ms = SysTick_1ms;
|
|||
|
|
375c: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
375e: b260 st.w r3, (r2, 0x0)
|
|||
|
|
3760: 6d17 mov r4, r5
|
|||
|
|
3762: 3600 movi r6, 0
|
|||
|
|
if (DIP_GetSwitchState(i) == DIP_PRESS)
|
|||
|
|
3764: 7418 zextb r0, r6
|
|||
|
|
3766: e3ffff8d bsr 0x3680 // 3680 <DIP_GetSwitchState>
|
|||
|
|
376a: 3840 cmpnei r0, 0
|
|||
|
|
g_Dip.delayCnt_OFF[i] = 0;
|
|||
|
|
376c: 3300 movi r3, 0
|
|||
|
|
if (DIP_GetSwitchState(i) == DIP_PRESS)
|
|||
|
|
376e: 0814 bt 0x3796 // 3796 <DIP_ScanTask+0x56>
|
|||
|
|
g_Dip.delayCnt_OFF[i] = 0;
|
|||
|
|
3770: a463 st.b r3, (r4, 0x3)
|
|||
|
|
if (g_Dip.delayCnt_ON[i] < DIP_DELAY_COUNT)
|
|||
|
|
3772: 8460 ld.b r3, (r4, 0x0)
|
|||
|
|
3774: 3b04 cmphsi r3, 5
|
|||
|
|
3776: 0808 bt 0x3786 // 3786 <DIP_ScanTask+0x46>
|
|||
|
|
g_Dip.delayCnt_ON[i]++;
|
|||
|
|
3778: 2300 addi r3, 1
|
|||
|
|
g_Dip.delayCnt_ON[i] = 0;
|
|||
|
|
377a: a460 st.b r3, (r4, 0x0)
|
|||
|
|
377c: 2600 addi r6, 1
|
|||
|
|
for (U8_T i = 0; i < DIP_CHN_MAX; i++)
|
|||
|
|
377e: 3e43 cmpnei r6, 3
|
|||
|
|
3780: 2400 addi r4, 1
|
|||
|
|
3782: 0bf1 bt 0x3764 // 3764 <DIP_ScanTask+0x24>
|
|||
|
|
3784: 07e7 br 0x3752 // 3752 <DIP_ScanTask+0x12>
|
|||
|
|
g_Dip.DIP_val |= (DIP_VAL_ON << i);
|
|||
|
|
3786: 3301 movi r3, 1
|
|||
|
|
3788: 70d8 lsl r3, r6
|
|||
|
|
378a: 6c8f mov r2, r3
|
|||
|
|
378c: 9562 ld.w r3, (r5, 0x8)
|
|||
|
|
378e: 6cc8 or r3, r2
|
|||
|
|
3790: b562 st.w r3, (r5, 0x8)
|
|||
|
|
g_Dip.delayCnt_ON[i] = 0;
|
|||
|
|
3792: 3300 movi r3, 0
|
|||
|
|
3794: 07f3 br 0x377a // 377a <DIP_ScanTask+0x3a>
|
|||
|
|
g_Dip.delayCnt_ON[i] = 0;
|
|||
|
|
3796: a460 st.b r3, (r4, 0x0)
|
|||
|
|
if (g_Dip.delayCnt_OFF[i] < DIP_DELAY_COUNT)
|
|||
|
|
3798: 8463 ld.b r3, (r4, 0x3)
|
|||
|
|
379a: 3b04 cmphsi r3, 5
|
|||
|
|
379c: 0804 bt 0x37a4 // 37a4 <DIP_ScanTask+0x64>
|
|||
|
|
g_Dip.delayCnt_OFF[i]++;
|
|||
|
|
379e: 2300 addi r3, 1
|
|||
|
|
g_Dip.delayCnt_OFF[i] = 0;
|
|||
|
|
37a0: a463 st.b r3, (r4, 0x3)
|
|||
|
|
37a2: 07ed br 0x377c // 377c <DIP_ScanTask+0x3c>
|
|||
|
|
g_Dip.DIP_val &= ~(DIP_VAL_ON << i);
|
|||
|
|
37a4: 3300 movi r3, 0
|
|||
|
|
37a6: 2b01 subi r3, 2
|
|||
|
|
37a8: 9542 ld.w r2, (r5, 0x8)
|
|||
|
|
37aa: 70db rotl r3, r6
|
|||
|
|
37ac: 68c8 and r3, r2
|
|||
|
|
37ae: b562 st.w r3, (r5, 0x8)
|
|||
|
|
g_Dip.delayCnt_OFF[i] = 0;
|
|||
|
|
37b0: 3300 movi r3, 0
|
|||
|
|
37b2: 07f7 br 0x37a0 // 37a0 <DIP_ScanTask+0x60>
|
|||
|
|
g_Dip.addr = g_Dip.DIP_val & 0x07;
|
|||
|
|
37b4: 3207 movi r2, 7
|
|||
|
|
g_Dip.DIP_last_val = g_Dip.DIP_val;
|
|||
|
|
37b6: b563 st.w r3, (r5, 0xc)
|
|||
|
|
g_Dip.addr = g_Dip.DIP_val & 0x07;
|
|||
|
|
37b8: 68c8 and r3, r2
|
|||
|
|
37ba: a566 st.b r3, (r5, 0x6)
|
|||
|
|
}
|
|||
|
|
37bc: 07cf br 0x375a // 375a <DIP_ScanTask+0x1a>
|
|||
|
|
37be: 0000 bkpt
|
|||
|
|
37c0: 200000a4 .long 0x200000a4
|
|||
|
|
37c4: 200000b8 .long 0x200000b8
|
|||
|
|
37c8: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Relay_Init:
|
|||
|
|
|
|||
|
|
000037cc <Relay_Init>:
|
|||
|
|
#include "includes.h"
|
|||
|
|
|
|||
|
|
ZERO_CTRL_RLY c_rly;
|
|||
|
|
|
|||
|
|
void Relay_Init(void)
|
|||
|
|
{
|
|||
|
|
37cc: 14d2 push r4-r5, r15
|
|||
|
|
37ce: 1429 subi r14, r14, 36
|
|||
|
|
memset(&c_rly,0, sizeof(ZERO_CTRL_RLY));
|
|||
|
|
37d0: 11ac lrw r5, 0x2000036c // 3880 <Relay_Init+0xb4>
|
|||
|
|
37d2: 3218 movi r2, 24
|
|||
|
|
37d4: 3100 movi r1, 0
|
|||
|
|
37d6: 6c17 mov r0, r5
|
|||
|
|
37d8: e3fff0d2 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
|
|||
|
|
EEPROM_Init();
|
|||
|
|
37dc: e0000592 bsr 0x4300 // 4300 <EEPROM_Init>
|
|||
|
|
|
|||
|
|
|
|||
|
|
GPT_IO_Init(GPT_CHB_PB00);
|
|||
|
|
37e0: 3005 movi r0, 5
|
|||
|
|
37e2: e3fff51f bsr 0x2220 // 2220 <GPT_IO_Init>
|
|||
|
|
|
|||
|
|
GPT_Configure(GPTCLK_EN,GPT_PCLK,GPT_IMMEDIATE,0);
|
|||
|
|
GPT_WaveCtrl_Configure(GPT_INCREASE,GPT_SWSYNDIS,GPT_IDLE_LOW,GPT_PRDLD_PEND,GPT_OPM_CONTINUOUS,GPT_BURST_DIS,GPT_CKS_PCLK,GPT_CG_CHAX,GPT_CGFLT_00,GPT_PRDLD_ZERO);
|
|||
|
|
37e6: 3400 movi r4, 0
|
|||
|
|
GPT_Configure(GPTCLK_EN,GPT_PCLK,GPT_IMMEDIATE,0);
|
|||
|
|
37e8: 3300 movi r3, 0
|
|||
|
|
37ea: 3240 movi r2, 64
|
|||
|
|
37ec: 3100 movi r1, 0
|
|||
|
|
37ee: 3001 movi r0, 1
|
|||
|
|
37f0: e3fff568 bsr 0x22c0 // 22c0 <GPT_Configure>
|
|||
|
|
GPT_WaveCtrl_Configure(GPT_INCREASE,GPT_SWSYNDIS,GPT_IDLE_LOW,GPT_PRDLD_PEND,GPT_OPM_CONTINUOUS,GPT_BURST_DIS,GPT_CKS_PCLK,GPT_CG_CHAX,GPT_CGFLT_00,GPT_PRDLD_ZERO);
|
|||
|
|
37f4: b885 st.w r4, (r14, 0x14)
|
|||
|
|
37f6: b884 st.w r4, (r14, 0x10)
|
|||
|
|
37f8: b883 st.w r4, (r14, 0xc)
|
|||
|
|
37fa: b882 st.w r4, (r14, 0x8)
|
|||
|
|
37fc: b881 st.w r4, (r14, 0x4)
|
|||
|
|
37fe: b880 st.w r4, (r14, 0x0)
|
|||
|
|
3800: 3300 movi r3, 0
|
|||
|
|
3802: 3208 movi r2, 8
|
|||
|
|
3804: 3100 movi r1, 0
|
|||
|
|
3806: 3000 movi r0, 0
|
|||
|
|
3808: e3fff566 bsr 0x22d4 // 22d4 <GPT_WaveCtrl_Configure>
|
|||
|
|
GPT_Period_CMP_Write(10000,0,0);
|
|||
|
|
380c: 3200 movi r2, 0
|
|||
|
|
380e: 3100 movi r1, 0
|
|||
|
|
3810: 101d lrw r0, 0x2710 // 3884 <Relay_Init+0xb8>
|
|||
|
|
3812: e3fff5ef bsr 0x23f0 // 23f0 <GPT_Period_CMP_Write>
|
|||
|
|
GPT_WaveLoad_Configure(GPT_WAVEA_IMMEDIATE,GPT_WAVEB_SHADOW,GPT_AQLDA_ZERO,GPT_AQLDB_ZERO);
|
|||
|
|
3816: 3320 movi r3, 32
|
|||
|
|
3818: 3204 movi r2, 4
|
|||
|
|
381a: 3100 movi r1, 0
|
|||
|
|
381c: 3001 movi r0, 1
|
|||
|
|
381e: e3fff57d bsr 0x2318 // 2318 <GPT_WaveLoad_Configure>
|
|||
|
|
GPT_WaveOut_Configure(GPT_CHB,GPT_CASEL_CMPA,GPT_CBSEL_CMPA,2,0,1,1,0,0,0,0,0,0);
|
|||
|
|
3822: 3301 movi r3, 1
|
|||
|
|
3824: 3200 movi r2, 0
|
|||
|
|
3826: b888 st.w r4, (r14, 0x20)
|
|||
|
|
3828: b887 st.w r4, (r14, 0x1c)
|
|||
|
|
382a: b886 st.w r4, (r14, 0x18)
|
|||
|
|
382c: b885 st.w r4, (r14, 0x14)
|
|||
|
|
382e: b884 st.w r4, (r14, 0x10)
|
|||
|
|
3830: b883 st.w r4, (r14, 0xc)
|
|||
|
|
3832: b862 st.w r3, (r14, 0x8)
|
|||
|
|
3834: b861 st.w r3, (r14, 0x4)
|
|||
|
|
3836: b880 st.w r4, (r14, 0x0)
|
|||
|
|
3838: 3302 movi r3, 2
|
|||
|
|
383a: 3100 movi r1, 0
|
|||
|
|
383c: 3001 movi r0, 1
|
|||
|
|
383e: e3fff577 bsr 0x232c // 232c <GPT_WaveOut_Configure>
|
|||
|
|
GPT_Start();
|
|||
|
|
3842: e3fff5cf bsr 0x23e0 // 23e0 <GPT_Start>
|
|||
|
|
GPT_ConfigInterrupt_CMD(ENABLE,GPT_INT_PEND);
|
|||
|
|
3846: 3180 movi r1, 128
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//真-继电器
|
|||
|
|
GPIO_Init(GPIOA0,12,Output);
|
|||
|
|
3848: 1090 lrw r4, 0x2000004c // 3888 <Relay_Init+0xbc>
|
|||
|
|
GPT_ConfigInterrupt_CMD(ENABLE,GPT_INT_PEND);
|
|||
|
|
384a: 4129 lsli r1, r1, 9
|
|||
|
|
384c: 3001 movi r0, 1
|
|||
|
|
384e: e3fff5d9 bsr 0x2400 // 2400 <GPT_ConfigInterrupt_CMD>
|
|||
|
|
GPIO_Init(GPIOA0,12,Output);
|
|||
|
|
3852: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3854: 3200 movi r2, 0
|
|||
|
|
3856: 310c movi r1, 12
|
|||
|
|
3858: e3fff2e2 bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
GPIO_Init(GPIOA0,13,Output);
|
|||
|
|
385c: 3200 movi r2, 0
|
|||
|
|
385e: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3860: 310d movi r1, 13
|
|||
|
|
3862: e3fff2dd bsr 0x1e1c // 1e1c <GPIO_Init>
|
|||
|
|
|
|||
|
|
RLY_1_CLOSE;
|
|||
|
|
3866: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3868: 310d movi r1, 13
|
|||
|
|
386a: e3fff463 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
RLY_2_CLOSE;
|
|||
|
|
386e: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
3870: 310c movi r1, 12
|
|||
|
|
3872: e3fff45f bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
c_rly.rly_control = 0x01; //继电器控制标志位
|
|||
|
|
3876: 3301 movi r3, 1
|
|||
|
|
3878: a560 st.b r3, (r5, 0x0)
|
|||
|
|
}
|
|||
|
|
387a: 1409 addi r14, r14, 36
|
|||
|
|
387c: 1492 pop r4-r5, r15
|
|||
|
|
387e: 0000 bkpt
|
|||
|
|
3880: 2000036c .long 0x2000036c
|
|||
|
|
3884: 00002710 .long 0x00002710
|
|||
|
|
3888: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CheckSum:
|
|||
|
|
|
|||
|
|
0000388c <CheckSum>:
|
|||
|
|
* @param data: 校验数据
|
|||
|
|
* @param len: 数据长度
|
|||
|
|
* @retval 和校验值
|
|||
|
|
******************************************/
|
|||
|
|
U8_T CheckSum(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
388c: 6cc3 mov r3, r0
|
|||
|
|
388e: 6040 addu r1, r0
|
|||
|
|
U8_T data_sum = 0;
|
|||
|
|
3890: 3000 movi r0, 0
|
|||
|
|
|
|||
|
|
for(U16_T i = 0;i<len;i++)
|
|||
|
|
3892: 644e cmpne r3, r1
|
|||
|
|
3894: 0802 bt 0x3898 // 3898 <CheckSum+0xc>
|
|||
|
|
{
|
|||
|
|
data_sum += data[i];
|
|||
|
|
}
|
|||
|
|
return data_sum;
|
|||
|
|
}
|
|||
|
|
3896: 783c jmp r15
|
|||
|
|
data_sum += data[i];
|
|||
|
|
3898: 8340 ld.b r2, (r3, 0x0)
|
|||
|
|
389a: 6008 addu r0, r2
|
|||
|
|
389c: 7400 zextb r0, r0
|
|||
|
|
389e: 2300 addi r3, 1
|
|||
|
|
38a0: 07f9 br 0x3892 // 3892 <CheckSum+0x6>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CheckSum2:
|
|||
|
|
|
|||
|
|
000038a2 <CheckSum2>:
|
|||
|
|
* @param data: 校验数据
|
|||
|
|
* @param len: 数据长度
|
|||
|
|
* @retval 和校验值
|
|||
|
|
******************************************/
|
|||
|
|
U8_T CheckSum2(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
38a2: 6040 addu r1, r0
|
|||
|
|
U8_T data_sum = 0;
|
|||
|
|
38a4: 3300 movi r3, 0
|
|||
|
|
|
|||
|
|
for(U16_T i = 0;i<len;i++)
|
|||
|
|
38a6: 6442 cmpne r0, r1
|
|||
|
|
38a8: 0804 bt 0x38b0 // 38b0 <CheckSum2+0xe>
|
|||
|
|
{
|
|||
|
|
data_sum += data[i];
|
|||
|
|
}
|
|||
|
|
return ~(data_sum);
|
|||
|
|
38aa: 6cce nor r3, r3
|
|||
|
|
38ac: 740c zextb r0, r3
|
|||
|
|
}
|
|||
|
|
38ae: 783c jmp r15
|
|||
|
|
data_sum += data[i];
|
|||
|
|
38b0: 8040 ld.b r2, (r0, 0x0)
|
|||
|
|
38b2: 60c8 addu r3, r2
|
|||
|
|
38b4: 74cc zextb r3, r3
|
|||
|
|
38b6: 2000 addi r0, 1
|
|||
|
|
38b8: 07f7 br 0x38a6 // 38a6 <CheckSum2+0x4>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.Change_OUTV:
|
|||
|
|
|
|||
|
|
000038bc <Change_OUTV>:
|
|||
|
|
|
|||
|
|
|
|||
|
|
//选择输出电压,0 - 10000mV
|
|||
|
|
U8_T Change_OUTV(U16_T VolOut)
|
|||
|
|
{
|
|||
|
|
if(VolOut > 10000) return 0x01;
|
|||
|
|
38bc: 1065 lrw r3, 0x2710 // 38d0 <Change_OUTV+0x14>
|
|||
|
|
38be: 640c cmphs r3, r0
|
|||
|
|
38c0: 0c06 bf 0x38cc // 38cc <Change_OUTV+0x10>
|
|||
|
|
|
|||
|
|
GPT0->CMPA = VolOut;
|
|||
|
|
38c2: 1065 lrw r3, 0x20000024 // 38d4 <Change_OUTV+0x18>
|
|||
|
|
38c4: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
38c6: b30b st.w r0, (r3, 0x2c)
|
|||
|
|
#if DBG_LOG_EN
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"CMPA:%d",VolOut);
|
|||
|
|
#endif
|
|||
|
|
return 0x00;
|
|||
|
|
38c8: 3000 movi r0, 0
|
|||
|
|
}
|
|||
|
|
38ca: 783c jmp r15
|
|||
|
|
if(VolOut > 10000) return 0x01;
|
|||
|
|
38cc: 3001 movi r0, 1
|
|||
|
|
38ce: 07fe br 0x38ca // 38ca <Change_OUTV+0xe>
|
|||
|
|
38d0: 00002710 .long 0x00002710
|
|||
|
|
38d4: 20000024 .long 0x20000024
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_VolOut_Ctrl:
|
|||
|
|
|
|||
|
|
000038d8 <BLV_VolOut_Ctrl>:
|
|||
|
|
* @param
|
|||
|
|
* @retval None
|
|||
|
|
* */
|
|||
|
|
|
|||
|
|
void BLV_VolOut_Ctrl(void)
|
|||
|
|
{
|
|||
|
|
38d8: 14d1 push r4, r15
|
|||
|
|
c_rly.wind = WIND_STOP;
|
|||
|
|
38da: 1095 lrw r4, 0x2000036c // 392c <BLV_VolOut_Ctrl+0x54>
|
|||
|
|
38dc: 3300 movi r3, 0
|
|||
|
|
38de: a46d st.b r3, (r4, 0xd)
|
|||
|
|
|
|||
|
|
if(c_rly.rly_state[WINDRLY_HIGH] == Control_ON) // 优先级高>中>抵 , 若同时被控制多个风速继电器,则将按照优先级打开继电器
|
|||
|
|
38e0: 8465 ld.b r3, (r4, 0x5)
|
|||
|
|
38e2: 3b41 cmpnei r3, 1
|
|||
|
|
38e4: 0804 bt 0x38ec // 38ec <BLV_VolOut_Ctrl+0x14>
|
|||
|
|
{
|
|||
|
|
#if DBG_LOG_EN
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"WIND_HIGH");
|
|||
|
|
#endif
|
|||
|
|
c_rly.wind = WIND_HIGH;
|
|||
|
|
38e6: 3303 movi r3, 3
|
|||
|
|
}else if(c_rly.rly_state[WINDRLY_LOW] == Control_ON)
|
|||
|
|
{
|
|||
|
|
#if DBG_LOG_EN
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"WIND_LOW");
|
|||
|
|
#endif
|
|||
|
|
c_rly.wind = WIND_LOW;
|
|||
|
|
38e8: a46d st.b r3, (r4, 0xd)
|
|||
|
|
38ea: 0409 br 0x38fc // 38fc <BLV_VolOut_Ctrl+0x24>
|
|||
|
|
}else if(c_rly.rly_state[WINDRLY_MID] == Control_ON)
|
|||
|
|
38ec: 8464 ld.b r3, (r4, 0x4)
|
|||
|
|
38ee: 3b41 cmpnei r3, 1
|
|||
|
|
38f0: 0803 bt 0x38f6 // 38f6 <BLV_VolOut_Ctrl+0x1e>
|
|||
|
|
c_rly.wind = WIND_MID;
|
|||
|
|
38f2: 3302 movi r3, 2
|
|||
|
|
38f4: 07fa br 0x38e8 // 38e8 <BLV_VolOut_Ctrl+0x10>
|
|||
|
|
}else if(c_rly.rly_state[WINDRLY_LOW] == Control_ON)
|
|||
|
|
38f6: 8463 ld.b r3, (r4, 0x3)
|
|||
|
|
38f8: 3b41 cmpnei r3, 1
|
|||
|
|
38fa: 0ff7 bf 0x38e8 // 38e8 <BLV_VolOut_Ctrl+0x10>
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"VolOut_Ctrl wind:%d",c_rly.wind);
|
|||
|
|
38fc: 844d ld.b r2, (r4, 0xd)
|
|||
|
|
38fe: 102d lrw r1, 0x4d9b // 3930 <BLV_VolOut_Ctrl+0x58>
|
|||
|
|
3900: 3000 movi r0, 0
|
|||
|
|
3902: e3fffeb9 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
|
|||
|
|
|
|||
|
|
if(c_rly.wind == WIND_STOP){
|
|||
|
|
3906: 846d ld.b r3, (r4, 0xd)
|
|||
|
|
3908: 3b40 cmpnei r3, 0
|
|||
|
|
390a: 0805 bt 0x3914 // 3914 <BLV_VolOut_Ctrl+0x3c>
|
|||
|
|
Change_OUTV(c_rly.wind_STOP_vol);
|
|||
|
|
390c: 8c08 ld.h r0, (r4, 0x10)
|
|||
|
|
}else if(c_rly.wind == WIND_LOW){
|
|||
|
|
Change_OUTV(c_rly.wind_LOW_vol);
|
|||
|
|
}else if(c_rly.wind == WIND_MID){
|
|||
|
|
Change_OUTV(c_rly.wind_MID_vol);
|
|||
|
|
}else if(c_rly.wind == WIND_HIGH){
|
|||
|
|
Change_OUTV(c_rly.wind_HIGH_vol);
|
|||
|
|
390e: e3ffffd7 bsr 0x38bc // 38bc <Change_OUTV>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
3912: 1491 pop r4, r15
|
|||
|
|
}else if(c_rly.wind == WIND_LOW){
|
|||
|
|
3914: 3b41 cmpnei r3, 1
|
|||
|
|
3916: 0803 bt 0x391c // 391c <BLV_VolOut_Ctrl+0x44>
|
|||
|
|
Change_OUTV(c_rly.wind_LOW_vol);
|
|||
|
|
3918: 8c09 ld.h r0, (r4, 0x12)
|
|||
|
|
391a: 07fa br 0x390e // 390e <BLV_VolOut_Ctrl+0x36>
|
|||
|
|
}else if(c_rly.wind == WIND_MID){
|
|||
|
|
391c: 3b42 cmpnei r3, 2
|
|||
|
|
391e: 0803 bt 0x3924 // 3924 <BLV_VolOut_Ctrl+0x4c>
|
|||
|
|
Change_OUTV(c_rly.wind_MID_vol);
|
|||
|
|
3920: 8c0a ld.h r0, (r4, 0x14)
|
|||
|
|
3922: 07f6 br 0x390e // 390e <BLV_VolOut_Ctrl+0x36>
|
|||
|
|
}else if(c_rly.wind == WIND_HIGH){
|
|||
|
|
3924: 3b43 cmpnei r3, 3
|
|||
|
|
3926: 0bf6 bt 0x3912 // 3912 <BLV_VolOut_Ctrl+0x3a>
|
|||
|
|
Change_OUTV(c_rly.wind_HIGH_vol);
|
|||
|
|
3928: 8c0b ld.h r0, (r4, 0x16)
|
|||
|
|
392a: 07f2 br 0x390e // 390e <BLV_VolOut_Ctrl+0x36>
|
|||
|
|
392c: 2000036c .long 0x2000036c
|
|||
|
|
3930: 00004d9b .long 0x00004d9b
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_RLY_Ctrl_Purpose:
|
|||
|
|
|
|||
|
|
00003934 <BLV_RLY_Ctrl_Purpose>:
|
|||
|
|
* @param rly_id:继电器id
|
|||
|
|
* @param state:继电器要改变的状态
|
|||
|
|
* @retval None
|
|||
|
|
* */
|
|||
|
|
void BLV_RLY_Ctrl_Purpose(U8_T rly_id,U8_T state)
|
|||
|
|
{
|
|||
|
|
3934: 14d0 push r15
|
|||
|
|
if(rly_id >= RLY_MAX) return;
|
|||
|
|
3936: 3804 cmphsi r0, 5
|
|||
|
|
3938: 0807 bt 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
|
|||
|
|
switch(state)
|
|||
|
|
393a: 3941 cmpnei r1, 1
|
|||
|
|
393c: 0c06 bf 0x3948 // 3948 <BLV_RLY_Ctrl_Purpose+0x14>
|
|||
|
|
393e: 3940 cmpnei r1, 0
|
|||
|
|
3940: 0c13 bf 0x3966 // 3966 <BLV_RLY_Ctrl_Purpose+0x32>
|
|||
|
|
3942: 3942 cmpnei r1, 2
|
|||
|
|
3944: 0c20 bf 0x3984 // 3984 <BLV_RLY_Ctrl_Purpose+0x50>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
3946: 1490 pop r15
|
|||
|
|
if(c_rly.rly_state[rly_id] != Control_ON)
|
|||
|
|
3948: 1078 lrw r3, 0x2000036c // 39a8 <BLV_RLY_Ctrl_Purpose+0x74>
|
|||
|
|
394a: 60c0 addu r3, r0
|
|||
|
|
394c: 8341 ld.b r2, (r3, 0x1)
|
|||
|
|
394e: 3a41 cmpnei r2, 1
|
|||
|
|
3950: 0ffb bf 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
c_rly.rly_state[rly_id] = Control_ON;
|
|||
|
|
3952: 3201 movi r2, 1
|
|||
|
|
if(rly_id == CTRL_RLY1){
|
|||
|
|
3954: 3840 cmpnei r0, 0
|
|||
|
|
c_rly.rly_state[rly_id] = Control_ON;
|
|||
|
|
3956: a341 st.b r2, (r3, 0x1)
|
|||
|
|
if(rly_id == CTRL_RLY1){
|
|||
|
|
3958: 0822 bt 0x399c // 399c <BLV_RLY_Ctrl_Purpose+0x68>
|
|||
|
|
RLY_1_OPEN;
|
|||
|
|
395a: 1075 lrw r3, 0x2000004c // 39ac <BLV_RLY_Ctrl_Purpose+0x78>
|
|||
|
|
395c: 310d movi r1, 13
|
|||
|
|
395e: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
RLY_2_OPEN;
|
|||
|
|
3960: e3fff3e4 bsr 0x2128 // 2128 <GPIO_Write_High>
|
|||
|
|
3964: 07f1 br 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
if(c_rly.rly_state[rly_id] != Control_OFF)
|
|||
|
|
3966: 1071 lrw r3, 0x2000036c // 39a8 <BLV_RLY_Ctrl_Purpose+0x74>
|
|||
|
|
3968: 60c0 addu r3, r0
|
|||
|
|
396a: 8341 ld.b r2, (r3, 0x1)
|
|||
|
|
396c: 3a40 cmpnei r2, 0
|
|||
|
|
396e: 0fec bf 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
c_rly.rly_state[rly_id] = Control_OFF;
|
|||
|
|
3970: 3200 movi r2, 0
|
|||
|
|
if(rly_id == CTRL_RLY1){
|
|||
|
|
3972: 3840 cmpnei r0, 0
|
|||
|
|
c_rly.rly_state[rly_id] = Control_OFF;
|
|||
|
|
3974: a341 st.b r2, (r3, 0x1)
|
|||
|
|
if(rly_id == CTRL_RLY1){
|
|||
|
|
3976: 080d bt 0x3990 // 3990 <BLV_RLY_Ctrl_Purpose+0x5c>
|
|||
|
|
RLY_1_CLOSE;
|
|||
|
|
3978: 106d lrw r3, 0x2000004c // 39ac <BLV_RLY_Ctrl_Purpose+0x78>
|
|||
|
|
397a: 310d movi r1, 13
|
|||
|
|
397c: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
RLY_2_CLOSE;
|
|||
|
|
397e: e3fff3d9 bsr 0x2130 // 2130 <GPIO_Write_Low>
|
|||
|
|
3982: 07e2 br 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
if(c_rly.rly_state[rly_id] != Control_OFF)
|
|||
|
|
3984: 1069 lrw r3, 0x2000036c // 39a8 <BLV_RLY_Ctrl_Purpose+0x74>
|
|||
|
|
3986: 60c0 addu r3, r0
|
|||
|
|
3988: 8341 ld.b r2, (r3, 0x1)
|
|||
|
|
398a: 3a40 cmpnei r2, 0
|
|||
|
|
398c: 0fe3 bf 0x3952 // 3952 <BLV_RLY_Ctrl_Purpose+0x1e>
|
|||
|
|
398e: 07f1 br 0x3970 // 3970 <BLV_RLY_Ctrl_Purpose+0x3c>
|
|||
|
|
}else if(rly_id == CTRL_RLY2){
|
|||
|
|
3990: 3841 cmpnei r0, 1
|
|||
|
|
3992: 0bda bt 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
RLY_2_CLOSE;
|
|||
|
|
3994: 1066 lrw r3, 0x2000004c // 39ac <BLV_RLY_Ctrl_Purpose+0x78>
|
|||
|
|
3996: 310c movi r1, 12
|
|||
|
|
3998: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
399a: 07f2 br 0x397e // 397e <BLV_RLY_Ctrl_Purpose+0x4a>
|
|||
|
|
}else if(rly_id == CTRL_RLY2){
|
|||
|
|
399c: 3841 cmpnei r0, 1
|
|||
|
|
399e: 0bd4 bt 0x3946 // 3946 <BLV_RLY_Ctrl_Purpose+0x12>
|
|||
|
|
RLY_2_OPEN;
|
|||
|
|
39a0: 1063 lrw r3, 0x2000004c // 39ac <BLV_RLY_Ctrl_Purpose+0x78>
|
|||
|
|
39a2: 310c movi r1, 12
|
|||
|
|
39a4: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
39a6: 07dd br 0x3960 // 3960 <BLV_RLY_Ctrl_Purpose+0x2c>
|
|||
|
|
39a8: 2000036c .long 0x2000036c
|
|||
|
|
39ac: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_RLY_Task:
|
|||
|
|
|
|||
|
|
000039b0 <BLV_RLY_Task>:
|
|||
|
|
//继电器动作处理
|
|||
|
|
void BLV_RLY_Task(void)
|
|||
|
|
{
|
|||
|
|
39b0: 14d3 push r4-r6, r15
|
|||
|
|
if(c_rly.rly_control != 0x01)return;
|
|||
|
|
39b2: 10b1 lrw r5, 0x2000036c // 39f4 <BLV_RLY_Task+0x44>
|
|||
|
|
39b4: 8560 ld.b r3, (r5, 0x0)
|
|||
|
|
39b6: 3b41 cmpnei r3, 1
|
|||
|
|
39b8: 0815 bt 0x39e2 // 39e2 <BLV_RLY_Task+0x32>
|
|||
|
|
39ba: 6d97 mov r6, r5
|
|||
|
|
39bc: 3400 movi r4, 0
|
|||
|
|
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
{
|
|||
|
|
if(c_rly.rly_ctrl_state[i] == RLY_OFF)
|
|||
|
|
39be: 8666 ld.b r3, (r6, 0x6)
|
|||
|
|
39c0: 3b41 cmpnei r3, 1
|
|||
|
|
39c2: 0811 bt 0x39e4 // 39e4 <BLV_RLY_Task+0x34>
|
|||
|
|
{
|
|||
|
|
BLV_RLY_Ctrl_Purpose(i,Control_OFF);
|
|||
|
|
39c4: 3100 movi r1, 0
|
|||
|
|
{
|
|||
|
|
BLV_RLY_Ctrl_Purpose(i,Control_ON);
|
|||
|
|
|
|||
|
|
}else if(c_rly.rly_ctrl_state[i] == RLY_RES)
|
|||
|
|
{
|
|||
|
|
BLV_RLY_Ctrl_Purpose(i,Cnotrol_RES);
|
|||
|
|
39c6: 6c13 mov r0, r4
|
|||
|
|
39c8: e3ffffb6 bsr 0x3934 // 3934 <BLV_RLY_Ctrl_Purpose>
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
39cc: 2400 addi r4, 1
|
|||
|
|
39ce: 7510 zextb r4, r4
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
c_rly.rly_ctrl_state[i] = NO_CTRL;
|
|||
|
|
39d0: 3300 movi r3, 0
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
39d2: 3c45 cmpnei r4, 5
|
|||
|
|
c_rly.rly_ctrl_state[i] = NO_CTRL;
|
|||
|
|
39d4: a666 st.b r3, (r6, 0x6)
|
|||
|
|
39d6: 2600 addi r6, 1
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
39d8: 0bf3 bt 0x39be // 39be <BLV_RLY_Task+0xe>
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
BLV_VolOut_Ctrl(); //风速判断,输出pwm
|
|||
|
|
39da: e3ffff7f bsr 0x38d8 // 38d8 <BLV_VolOut_Ctrl>
|
|||
|
|
|
|||
|
|
#if DBG_LOG_EN
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"BLV_RLY_Task");
|
|||
|
|
#endif
|
|||
|
|
c_rly.rly_control = 0x00;
|
|||
|
|
39de: 3300 movi r3, 0
|
|||
|
|
39e0: a560 st.b r3, (r5, 0x0)
|
|||
|
|
}
|
|||
|
|
39e2: 1493 pop r4-r6, r15
|
|||
|
|
else if(c_rly.rly_ctrl_state[i] == RLY_ON)
|
|||
|
|
39e4: 3b42 cmpnei r3, 2
|
|||
|
|
39e6: 0803 bt 0x39ec // 39ec <BLV_RLY_Task+0x3c>
|
|||
|
|
BLV_RLY_Ctrl_Purpose(i,Control_ON);
|
|||
|
|
39e8: 3101 movi r1, 1
|
|||
|
|
39ea: 07ee br 0x39c6 // 39c6 <BLV_RLY_Task+0x16>
|
|||
|
|
}else if(c_rly.rly_ctrl_state[i] == RLY_RES)
|
|||
|
|
39ec: 3b43 cmpnei r3, 3
|
|||
|
|
39ee: 0bef bt 0x39cc // 39cc <BLV_RLY_Task+0x1c>
|
|||
|
|
BLV_RLY_Ctrl_Purpose(i,Cnotrol_RES);
|
|||
|
|
39f0: 3102 movi r1, 2
|
|||
|
|
39f2: 07ea br 0x39c6 // 39c6 <BLV_RLY_Task+0x16>
|
|||
|
|
39f4: 2000036c .long 0x2000036c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_A9RLY_CMD_SET_Processing:
|
|||
|
|
|
|||
|
|
000039f8 <BLV_A9RLY_CMD_SET_Processing>:
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//1、主机下发设置继电器状态
|
|||
|
|
U8_T BLV_A9RLY_CMD_SET_Processing(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
39f8: 14d3 push r4-r6, r15
|
|||
|
|
39fa: 1429 subi r14, r14, 36
|
|||
|
|
if(len < 9) return 0x01;
|
|||
|
|
39fc: 3908 cmphsi r1, 9
|
|||
|
|
39fe: 0c48 bf 0x3a8e // 3a8e <BLV_A9RLY_CMD_SET_Processing+0x96>
|
|||
|
|
U16_T RLY_STATE = 0x00;
|
|||
|
|
|
|||
|
|
|
|||
|
|
// if(len >= 9)
|
|||
|
|
{
|
|||
|
|
RLY_STATE =(data[SEND_PARA] + (data[SEND_PARA+1]<<8));
|
|||
|
|
3a00: 8048 ld.b r2, (r0, 0x8)
|
|||
|
|
3a02: 8067 ld.b r3, (r0, 0x7)
|
|||
|
|
3a04: 4248 lsli r2, r2, 8
|
|||
|
|
3a06: 608c addu r2, r3
|
|||
|
|
c_rly.rly_control = 0x01; //继电器控制标志
|
|||
|
|
3a08: 3101 movi r1, 1
|
|||
|
|
3a0a: 1163 lrw r3, 0x2000036c // 3a94 <BLV_A9RLY_CMD_SET_Processing+0x9c>
|
|||
|
|
RLY_STATE =(data[SEND_PARA] + (data[SEND_PARA+1]<<8));
|
|||
|
|
3a0c: 7489 zexth r2, r2
|
|||
|
|
c_rly.rly_control = 0x01; //继电器控制标志
|
|||
|
|
3a0e: a320 st.b r1, (r3, 0x0)
|
|||
|
|
3a10: 3400 movi r4, 0
|
|||
|
|
3a12: 6d4f mov r5, r3
|
|||
|
|
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
{
|
|||
|
|
t = ((RLY_STATE>>(2*i)) & 0x03);
|
|||
|
|
3a14: 3603 movi r6, 3
|
|||
|
|
3a16: 6c4b mov r1, r2
|
|||
|
|
3a18: 7052 asr r1, r4
|
|||
|
|
3a1a: 6858 and r1, r6
|
|||
|
|
3a1c: 7444 zextb r1, r1
|
|||
|
|
|
|||
|
|
if(t == NO_CTRL){
|
|||
|
|
3a1e: 3940 cmpnei r1, 0
|
|||
|
|
3a20: 0831 bt 0x3a82 // 3a82 <BLV_A9RLY_CMD_SET_Processing+0x8a>
|
|||
|
|
3a22: 2401 addi r4, 2
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
3a24: 3c4a cmpnei r4, 10
|
|||
|
|
}else if(t == RLY_OFF){
|
|||
|
|
c_rly.rly_ctrl_state[i] = RLY_OFF;
|
|||
|
|
}else if(t == RLY_ON){
|
|||
|
|
c_rly.rly_ctrl_state[i] = RLY_ON;
|
|||
|
|
}else if(t == RLY_RES){
|
|||
|
|
c_rly.rly_ctrl_state[i] = RLY_RES;
|
|||
|
|
3a26: a326 st.b r1, (r3, 0x6)
|
|||
|
|
3a28: 2300 addi r3, 1
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
3a2a: 0bf6 bt 0x3a16 // 3a16 <BLV_A9RLY_CMD_SET_Processing+0x1e>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//BLV_RLY_Task();
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3a2c: 8061 ld.b r3, (r0, 0x1)
|
|||
|
|
3a2e: 320f movi r2, 15
|
|||
|
|
3a30: 68c8 and r3, r2
|
|||
|
|
3a32: a56c st.b r3, (r5, 0xc)
|
|||
|
|
//回复
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
SendData[SendLen++] = c_rly.SN; //SN
|
|||
|
|
3a34: dc6e0005 st.b r3, (r14, 0x5)
|
|||
|
|
SendData[SendLen++] = data[2];
|
|||
|
|
3a38: 8062 ld.b r3, (r0, 0x2)
|
|||
|
|
3a3a: dc6e0006 st.b r3, (r14, 0x6)
|
|||
|
|
SendData[SendLen++] = data[0];
|
|||
|
|
3a3e: 8060 ld.b r3, (r0, 0x0)
|
|||
|
|
3a40: dc6e0007 st.b r3, (r14, 0x7)
|
|||
|
|
SendData[SendLen++] = 0x00; //len
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
3a44: 3300 movi r3, 0
|
|||
|
|
3a46: dc6e0009 st.b r3, (r14, 0x9)
|
|||
|
|
SendData[SendLen++] = CMD_SET_RLYSTATE_REPLY; //回复CMD
|
|||
|
|
3a4a: 3330 movi r3, 48
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3a4c: 1053 lrw r2, 0x2000035c // 3a98 <BLV_A9RLY_CMD_SET_Processing+0xa0>
|
|||
|
|
3a4e: 8246 ld.b r2, (r2, 0x6)
|
|||
|
|
SendData[SendLen++] = CMD_SET_RLYSTATE_REPLY; //回复CMD
|
|||
|
|
3a50: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
|
|||
|
|
SendLen = 0x07;
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3a54: 3107 movi r1, 7
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3a56: 3307 movi r3, 7
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3a58: 1801 addi r0, r14, 4
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3a5a: dc4e0004 st.b r2, (r14, 0x4)
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3a5e: dc6e0008 st.b r3, (r14, 0x8)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3a62: e3ffff20 bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3a66: 3314 movi r3, 20
|
|||
|
|
3a68: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3a6a: 3396 movi r3, 150
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3a6c: dc0e0009 st.b r0, (r14, 0x9)
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3a70: 4361 lsli r3, r3, 1
|
|||
|
|
3a72: 1801 addi r0, r14, 4
|
|||
|
|
3a74: 3201 movi r2, 1
|
|||
|
|
3a76: 3107 movi r1, 7
|
|||
|
|
3a78: e3fffd72 bsr 0x355c // 355c <Set_GroupSend>
|
|||
|
|
3a7c: 3000 movi r0, 0
|
|||
|
|
|
|||
|
|
return 0x00;
|
|||
|
|
}
|
|||
|
|
3a7e: 1409 addi r14, r14, 36
|
|||
|
|
3a80: 1493 pop r4-r6, r15
|
|||
|
|
}else if(t == RLY_OFF){
|
|||
|
|
3a82: 3941 cmpnei r1, 1
|
|||
|
|
3a84: 0fcf bf 0x3a22 // 3a22 <BLV_A9RLY_CMD_SET_Processing+0x2a>
|
|||
|
|
}else if(t == RLY_ON){
|
|||
|
|
3a86: 3942 cmpnei r1, 2
|
|||
|
|
3a88: 0fcd bf 0x3a22 // 3a22 <BLV_A9RLY_CMD_SET_Processing+0x2a>
|
|||
|
|
c_rly.rly_ctrl_state[i] = RLY_RES;
|
|||
|
|
3a8a: 3103 movi r1, 3
|
|||
|
|
3a8c: 07cb br 0x3a22 // 3a22 <BLV_A9RLY_CMD_SET_Processing+0x2a>
|
|||
|
|
if(len < 9) return 0x01;
|
|||
|
|
3a8e: 3001 movi r0, 1
|
|||
|
|
3a90: 07f7 br 0x3a7e // 3a7e <BLV_A9RLY_CMD_SET_Processing+0x86>
|
|||
|
|
3a92: 0000 bkpt
|
|||
|
|
3a94: 2000036c .long 0x2000036c
|
|||
|
|
3a98: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_A9RLY_CMD_READ_Processing:
|
|||
|
|
|
|||
|
|
00003a9c <BLV_A9RLY_CMD_READ_Processing>:
|
|||
|
|
|
|||
|
|
//2、读取继电器状态的回复
|
|||
|
|
void BLV_A9RLY_CMD_READ_Processing(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
3a9c: 14d2 push r4-r5, r15
|
|||
|
|
3a9e: 1429 subi r14, r14, 36
|
|||
|
|
3aa0: 11a0 lrw r5, 0x2000036c // 3b20 <BLV_A9RLY_CMD_READ_Processing+0x84>
|
|||
|
|
3aa2: 3200 movi r2, 0
|
|||
|
|
U8_T SendData[30];
|
|||
|
|
U16_T SendLen = 0x00;
|
|||
|
|
|
|||
|
|
U8_T RLY_State2 = 0x00;
|
|||
|
|
3aa4: 3400 movi r4, 0
|
|||
|
|
3aa6: 6c57 mov r1, r5
|
|||
|
|
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
{
|
|||
|
|
if(c_rly.rly_state[i] == Control_ON)
|
|||
|
|
3aa8: 8561 ld.b r3, (r5, 0x1)
|
|||
|
|
3aaa: 3b41 cmpnei r3, 1
|
|||
|
|
3aac: 0804 bt 0x3ab4 // 3ab4 <BLV_A9RLY_CMD_READ_Processing+0x18>
|
|||
|
|
{
|
|||
|
|
RLY_State2 |= (0x01<<i);
|
|||
|
|
3aae: 70c8 lsl r3, r2
|
|||
|
|
3ab0: 6cd0 or r3, r4
|
|||
|
|
3ab2: 750c zextb r4, r3
|
|||
|
|
3ab4: 2200 addi r2, 1
|
|||
|
|
for(U8_T i = 0;i<RLY_MAX;i++)
|
|||
|
|
3ab6: 3a45 cmpnei r2, 5
|
|||
|
|
3ab8: 2500 addi r5, 1
|
|||
|
|
3aba: 0bf7 bt 0x3aa8 // 3aa8 <BLV_A9RLY_CMD_READ_Processing+0xc>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3abc: 8041 ld.b r2, (r0, 0x1)
|
|||
|
|
3abe: 330f movi r3, 15
|
|||
|
|
3ac0: 688c and r2, r3
|
|||
|
|
//回复
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3ac2: 1079 lrw r3, 0x2000035c // 3b24 <BLV_A9RLY_CMD_READ_Processing+0x88>
|
|||
|
|
3ac4: 8366 ld.b r3, (r3, 0x6)
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3ac6: a14c st.b r2, (r1, 0xc)
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3ac8: dc6e0004 st.b r3, (r14, 0x4)
|
|||
|
|
SendData[SendLen++] = c_rly.SN;
|
|||
|
|
SendData[SendLen++] = data[2];
|
|||
|
|
3acc: 8062 ld.b r3, (r0, 0x2)
|
|||
|
|
3ace: dc6e0006 st.b r3, (r14, 0x6)
|
|||
|
|
SendData[SendLen++] = data[0];
|
|||
|
|
3ad2: 8060 ld.b r3, (r0, 0x0)
|
|||
|
|
3ad4: dc6e0007 st.b r3, (r14, 0x7)
|
|||
|
|
SendData[SendLen++] = 0x00; //len
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
3ad8: 3300 movi r3, 0
|
|||
|
|
3ada: dc6e0009 st.b r3, (r14, 0x9)
|
|||
|
|
SendData[SendLen++] = CMD_READ_RLYSTATE_REPLY; //回复CMD
|
|||
|
|
3ade: 3334 movi r3, 52
|
|||
|
|
3ae0: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
SendData[SendLen++] = RLY_State2;
|
|||
|
|
SendData[SendLen++] = 0x00;
|
|||
|
|
3ae4: 3300 movi r3, 0
|
|||
|
|
3ae6: dc6e000c st.b r3, (r14, 0xc)
|
|||
|
|
SendData[SendLen++] = 0x00;
|
|||
|
|
3aea: dc6e000d st.b r3, (r14, 0xd)
|
|||
|
|
|
|||
|
|
SendLen = 0x0A;
|
|||
|
|
SendData[SEND_LEN] = 0x0A; //len
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3aee: 310a movi r1, 10
|
|||
|
|
SendData[SEND_LEN] = 0x0A; //len
|
|||
|
|
3af0: 330a movi r3, 10
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3af2: 1801 addi r0, r14, 4
|
|||
|
|
SendData[SendLen++] = c_rly.SN;
|
|||
|
|
3af4: dc4e0005 st.b r2, (r14, 0x5)
|
|||
|
|
SendData[SEND_LEN] = 0x0A; //len
|
|||
|
|
3af8: dc6e0008 st.b r3, (r14, 0x8)
|
|||
|
|
SendData[SendLen++] = RLY_State2;
|
|||
|
|
3afc: dc8e000b st.b r4, (r14, 0xb)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3b00: e3fffed1 bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3b04: 3314 movi r3, 20
|
|||
|
|
3b06: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3b08: 3396 movi r3, 150
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3b0a: dc0e0009 st.b r0, (r14, 0x9)
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3b0e: 4361 lsli r3, r3, 1
|
|||
|
|
3b10: 3201 movi r2, 1
|
|||
|
|
3b12: 310a movi r1, 10
|
|||
|
|
3b14: 1801 addi r0, r14, 4
|
|||
|
|
3b16: e3fffd23 bsr 0x355c // 355c <Set_GroupSend>
|
|||
|
|
}
|
|||
|
|
3b1a: 1409 addi r14, r14, 36
|
|||
|
|
3b1c: 1492 pop r4-r5, r15
|
|||
|
|
3b1e: 0000 bkpt
|
|||
|
|
3b20: 2000036c .long 0x2000036c
|
|||
|
|
3b24: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_WINDOUT_CMD_SET_Processing:
|
|||
|
|
|
|||
|
|
00003b28 <BLV_WINDOUT_CMD_SET_Processing>:
|
|||
|
|
|
|||
|
|
//3、设置各个风速档位的电压输出值
|
|||
|
|
U8_T BLV_WINDOUT_CMD_SET_Processing(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
3b28: 14d4 push r4-r7, r15
|
|||
|
|
3b2a: 1429 subi r14, r14, 36
|
|||
|
|
if(len < 15) return 0x01;
|
|||
|
|
3b2c: 390e cmphsi r1, 15
|
|||
|
|
{
|
|||
|
|
3b2e: 6d03 mov r4, r0
|
|||
|
|
if(len < 15) return 0x01;
|
|||
|
|
3b30: 0c5f bf 0x3bee // 3bee <BLV_WINDOUT_CMD_SET_Processing+0xc6>
|
|||
|
|
3b32: 58ba addi r5, r0, 7
|
|||
|
|
3b34: 3300 movi r3, 0
|
|||
|
|
3b36: 3100 movi r1, 0
|
|||
|
|
// if(len >= 15)
|
|||
|
|
{
|
|||
|
|
for(U8_T i = 0x00; i < 0x04; i++)
|
|||
|
|
{
|
|||
|
|
SetVol = (data[(SEND_PARA+(i*2))] + (data[(SEND_PARA+(i*2+1))]<<8 ));
|
|||
|
|
if(SetVol <= 10000){
|
|||
|
|
3b38: 11cf lrw r6, 0x2710 // 3bf4 <BLV_WINDOUT_CMD_SET_Processing+0xcc>
|
|||
|
|
3b3a: 1110 lrw r0, 0x2000036c // 3bf8 <BLV_WINDOUT_CMD_SET_Processing+0xd0>
|
|||
|
|
SetVol = (data[(SEND_PARA+(i*2))] + (data[(SEND_PARA+(i*2+1))]<<8 ));
|
|||
|
|
3b3c: 8541 ld.b r2, (r5, 0x1)
|
|||
|
|
3b3e: 4248 lsli r2, r2, 8
|
|||
|
|
3b40: 85e0 ld.b r7, (r5, 0x0)
|
|||
|
|
3b42: 609c addu r2, r7
|
|||
|
|
3b44: 7489 zexth r2, r2
|
|||
|
|
if(SetVol <= 10000){
|
|||
|
|
3b46: 6498 cmphs r6, r2
|
|||
|
|
3b48: 0c0d bf 0x3b62 // 3b62 <BLV_WINDOUT_CMD_SET_Processing+0x3a>
|
|||
|
|
switch(i){
|
|||
|
|
3b4a: 3942 cmpnei r1, 2
|
|||
|
|
3b4c: 0c47 bf 0x3bda // 3bda <BLV_WINDOUT_CMD_SET_Processing+0xb2>
|
|||
|
|
3b4e: 3943 cmpnei r1, 3
|
|||
|
|
3b50: 0c4a bf 0x3be4 // 3be4 <BLV_WINDOUT_CMD_SET_Processing+0xbc>
|
|||
|
|
3b52: 3941 cmpnei r1, 1
|
|||
|
|
3b54: 0c3e bf 0x3bd0 // 3bd0 <BLV_WINDOUT_CMD_SET_Processing+0xa8>
|
|||
|
|
case 0x00:
|
|||
|
|
if(c_rly.wind_STOP_vol != SetVol){
|
|||
|
|
3b56: 88e8 ld.h r7, (r0, 0x10)
|
|||
|
|
3b58: 649e cmpne r7, r2
|
|||
|
|
3b5a: 0c04 bf 0x3b62 // 3b62 <BLV_WINDOUT_CMD_SET_Processing+0x3a>
|
|||
|
|
c_rly.wind_STOP_vol = SetVol;
|
|||
|
|
3b5c: a848 st.h r2, (r0, 0x10)
|
|||
|
|
}
|
|||
|
|
break;
|
|||
|
|
case 0x03:
|
|||
|
|
if(c_rly.wind_HIGH_vol != SetVol){
|
|||
|
|
c_rly.wind_HIGH_vol = SetVol;
|
|||
|
|
save_flag++;
|
|||
|
|
3b5e: 2300 addi r3, 1
|
|||
|
|
3b60: 74cc zextb r3, r3
|
|||
|
|
for(U8_T i = 0x00; i < 0x04; i++)
|
|||
|
|
3b62: 2100 addi r1, 1
|
|||
|
|
3b64: 7444 zextb r1, r1
|
|||
|
|
3b66: 3944 cmpnei r1, 4
|
|||
|
|
3b68: 2501 addi r5, 2
|
|||
|
|
3b6a: 0be9 bt 0x3b3c // 3b3c <BLV_WINDOUT_CMD_SET_Processing+0x14>
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(save_flag != 0x00)
|
|||
|
|
3b6c: 3b40 cmpnei r3, 0
|
|||
|
|
3b6e: 0c03 bf 0x3b74 // 3b74 <BLV_WINDOUT_CMD_SET_Processing+0x4c>
|
|||
|
|
{
|
|||
|
|
EEPROM_WritePara(); //保存flash
|
|||
|
|
3b70: e00002d2 bsr 0x4114 // 4114 <EEPROM_WritePara>
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
BLV_VolOut_Ctrl();
|
|||
|
|
3b74: e3fffeb2 bsr 0x38d8 // 38d8 <BLV_VolOut_Ctrl>
|
|||
|
|
|
|||
|
|
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3b78: 8461 ld.b r3, (r4, 0x1)
|
|||
|
|
3b7a: 320f movi r2, 15
|
|||
|
|
3b7c: 68c8 and r3, r2
|
|||
|
|
3b7e: 105f lrw r2, 0x2000036c // 3bf8 <BLV_WINDOUT_CMD_SET_Processing+0xd0>
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
SendData[SendLen++] = CMD_SET_WINDOUTVOL_REPLY; //回复CMD
|
|||
|
|
|
|||
|
|
SendLen = 0x07;
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3b80: 3107 movi r1, 7
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3b82: a26c st.b r3, (r2, 0xc)
|
|||
|
|
SendData[SendLen++] = c_rly.SN;
|
|||
|
|
3b84: dc6e0005 st.b r3, (r14, 0x5)
|
|||
|
|
SendData[SendLen++] = data[2];
|
|||
|
|
3b88: 8462 ld.b r3, (r4, 0x2)
|
|||
|
|
3b8a: dc6e0006 st.b r3, (r14, 0x6)
|
|||
|
|
SendData[SendLen++] = data[0];
|
|||
|
|
3b8e: 8460 ld.b r3, (r4, 0x0)
|
|||
|
|
3b90: dc6e0007 st.b r3, (r14, 0x7)
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
3b94: 3300 movi r3, 0
|
|||
|
|
3b96: dc6e0009 st.b r3, (r14, 0x9)
|
|||
|
|
SendData[SendLen++] = CMD_SET_WINDOUTVOL_REPLY; //回复CMD
|
|||
|
|
3b9a: 3337 movi r3, 55
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3b9c: 1058 lrw r2, 0x2000035c // 3bfc <BLV_WINDOUT_CMD_SET_Processing+0xd4>
|
|||
|
|
3b9e: 8246 ld.b r2, (r2, 0x6)
|
|||
|
|
SendData[SendLen++] = CMD_SET_WINDOUTVOL_REPLY; //回复CMD
|
|||
|
|
3ba0: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3ba4: 1801 addi r0, r14, 4
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3ba6: 3307 movi r3, 7
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3ba8: dc4e0004 st.b r2, (r14, 0x4)
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3bac: dc6e0008 st.b r3, (r14, 0x8)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3bb0: e3fffe79 bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3bb4: 3314 movi r3, 20
|
|||
|
|
3bb6: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3bb8: 3396 movi r3, 150
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3bba: dc0e0009 st.b r0, (r14, 0x9)
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3bbe: 4361 lsli r3, r3, 1
|
|||
|
|
3bc0: 1801 addi r0, r14, 4
|
|||
|
|
3bc2: 3201 movi r2, 1
|
|||
|
|
3bc4: 3107 movi r1, 7
|
|||
|
|
3bc6: e3fffccb bsr 0x355c // 355c <Set_GroupSend>
|
|||
|
|
3bca: 3000 movi r0, 0
|
|||
|
|
|
|||
|
|
return 0x00;
|
|||
|
|
}
|
|||
|
|
3bcc: 1409 addi r14, r14, 36
|
|||
|
|
3bce: 1494 pop r4-r7, r15
|
|||
|
|
if(c_rly.wind_LOW_vol != SetVol){
|
|||
|
|
3bd0: 88e9 ld.h r7, (r0, 0x12)
|
|||
|
|
3bd2: 649e cmpne r7, r2
|
|||
|
|
3bd4: 0fc7 bf 0x3b62 // 3b62 <BLV_WINDOUT_CMD_SET_Processing+0x3a>
|
|||
|
|
c_rly.wind_LOW_vol = SetVol;
|
|||
|
|
3bd6: a849 st.h r2, (r0, 0x12)
|
|||
|
|
3bd8: 07c3 br 0x3b5e // 3b5e <BLV_WINDOUT_CMD_SET_Processing+0x36>
|
|||
|
|
if(c_rly.wind_MID_vol != SetVol){
|
|||
|
|
3bda: 88ea ld.h r7, (r0, 0x14)
|
|||
|
|
3bdc: 649e cmpne r7, r2
|
|||
|
|
3bde: 0fc2 bf 0x3b62 // 3b62 <BLV_WINDOUT_CMD_SET_Processing+0x3a>
|
|||
|
|
c_rly.wind_MID_vol = SetVol;
|
|||
|
|
3be0: a84a st.h r2, (r0, 0x14)
|
|||
|
|
3be2: 07be br 0x3b5e // 3b5e <BLV_WINDOUT_CMD_SET_Processing+0x36>
|
|||
|
|
if(c_rly.wind_HIGH_vol != SetVol){
|
|||
|
|
3be4: 88eb ld.h r7, (r0, 0x16)
|
|||
|
|
3be6: 649e cmpne r7, r2
|
|||
|
|
3be8: 0fbd bf 0x3b62 // 3b62 <BLV_WINDOUT_CMD_SET_Processing+0x3a>
|
|||
|
|
c_rly.wind_HIGH_vol = SetVol;
|
|||
|
|
3bea: a84b st.h r2, (r0, 0x16)
|
|||
|
|
3bec: 07b9 br 0x3b5e // 3b5e <BLV_WINDOUT_CMD_SET_Processing+0x36>
|
|||
|
|
if(len < 15) return 0x01;
|
|||
|
|
3bee: 3001 movi r0, 1
|
|||
|
|
3bf0: 07ee br 0x3bcc // 3bcc <BLV_WINDOUT_CMD_SET_Processing+0xa4>
|
|||
|
|
3bf2: 0000 bkpt
|
|||
|
|
3bf4: 00002710 .long 0x00002710
|
|||
|
|
3bf8: 2000036c .long 0x2000036c
|
|||
|
|
3bfc: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_WINDOUT_CMD_READ_Processing:
|
|||
|
|
|
|||
|
|
00003c00 <BLV_WINDOUT_CMD_READ_Processing>:
|
|||
|
|
//4、读取各个风速档位的电压输出值
|
|||
|
|
U8_T BLV_WINDOUT_CMD_READ_Processing(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
3c00: 14d0 push r15
|
|||
|
|
3c02: 1429 subi r14, r14, 36
|
|||
|
|
U8_T SendData[30];
|
|||
|
|
U16_T SendLen = 0x00;
|
|||
|
|
|
|||
|
|
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3c04: 8041 ld.b r2, (r0, 0x1)
|
|||
|
|
3c06: 330f movi r3, 15
|
|||
|
|
3c08: 688c and r2, r3
|
|||
|
|
3c0a: 1161 lrw r3, 0x2000036c // 3c8c <BLV_WINDOUT_CMD_READ_Processing+0x8c>
|
|||
|
|
//回复
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3c0c: 1121 lrw r1, 0x2000035c // 3c90 <BLV_WINDOUT_CMD_READ_Processing+0x90>
|
|||
|
|
3c0e: 8126 ld.b r1, (r1, 0x6)
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3c10: a34c st.b r2, (r3, 0xc)
|
|||
|
|
SendData[SendLen++] = c_rly.SN;
|
|||
|
|
3c12: dc4e0005 st.b r2, (r14, 0x5)
|
|||
|
|
SendData[SendLen++] = data[2];
|
|||
|
|
3c16: 8042 ld.b r2, (r0, 0x2)
|
|||
|
|
3c18: dc4e0006 st.b r2, (r14, 0x6)
|
|||
|
|
SendData[SendLen++] = data[0];
|
|||
|
|
3c1c: 8040 ld.b r2, (r0, 0x0)
|
|||
|
|
3c1e: dc4e0007 st.b r2, (r14, 0x7)
|
|||
|
|
SendData[SendLen++] = 0x00; //len
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
3c22: 3200 movi r2, 0
|
|||
|
|
3c24: dc4e0009 st.b r2, (r14, 0x9)
|
|||
|
|
SendData[SendLen++] = CMD_READ_WINDOUTVOL_REPLY; //回复CMD
|
|||
|
|
3c28: 3239 movi r2, 57
|
|||
|
|
3c2a: dc4e000a st.b r2, (r14, 0xa)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_STOP_vol & 0xFF);
|
|||
|
|
3c2e: 8b48 ld.h r2, (r3, 0x10)
|
|||
|
|
3c30: dc4e000b st.b r2, (r14, 0xb)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_STOP_vol >> 8) & 0xFF;
|
|||
|
|
3c34: 4a48 lsri r2, r2, 8
|
|||
|
|
3c36: dc4e000c st.b r2, (r14, 0xc)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_LOW_vol & 0xFF);
|
|||
|
|
3c3a: 8b49 ld.h r2, (r3, 0x12)
|
|||
|
|
3c3c: dc4e000d st.b r2, (r14, 0xd)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_LOW_vol >> 8) & 0xFF;
|
|||
|
|
3c40: 4a48 lsri r2, r2, 8
|
|||
|
|
3c42: dc4e000e st.b r2, (r14, 0xe)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_MID_vol & 0xFF);
|
|||
|
|
3c46: 8b4a ld.h r2, (r3, 0x14)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_MID_vol >> 8) & 0xFF;
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_HIGH_vol & 0xFF);
|
|||
|
|
3c48: 8b6b ld.h r3, (r3, 0x16)
|
|||
|
|
3c4a: dc6e0011 st.b r3, (r14, 0x11)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_HIGH_vol >> 8) & 0xFF;
|
|||
|
|
3c4e: 4b68 lsri r3, r3, 8
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3c50: dc2e0004 st.b r1, (r14, 0x4)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_MID_vol & 0xFF);
|
|||
|
|
3c54: dc4e000f st.b r2, (r14, 0xf)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_HIGH_vol >> 8) & 0xFF;
|
|||
|
|
3c58: dc6e0012 st.b r3, (r14, 0x12)
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_MID_vol >> 8) & 0xFF;
|
|||
|
|
3c5c: 4a48 lsri r2, r2, 8
|
|||
|
|
|
|||
|
|
SendLen = 0x0F;
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3c5e: 330f movi r3, 15
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3c60: 310f movi r1, 15
|
|||
|
|
3c62: 1801 addi r0, r14, 4
|
|||
|
|
SendData[SendLen++] = (c_rly.wind_MID_vol >> 8) & 0xFF;
|
|||
|
|
3c64: dc4e0010 st.b r2, (r14, 0x10)
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3c68: dc6e0008 st.b r3, (r14, 0x8)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3c6c: e3fffe1b bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3c70: 3314 movi r3, 20
|
|||
|
|
3c72: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3c74: 3396 movi r3, 150
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3c76: dc0e0009 st.b r0, (r14, 0x9)
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3c7a: 4361 lsli r3, r3, 1
|
|||
|
|
3c7c: 1801 addi r0, r14, 4
|
|||
|
|
3c7e: 3201 movi r2, 1
|
|||
|
|
3c80: 310f movi r1, 15
|
|||
|
|
3c82: e3fffc6d bsr 0x355c // 355c <Set_GroupSend>
|
|||
|
|
|
|||
|
|
return 0x00;
|
|||
|
|
}
|
|||
|
|
3c86: 3000 movi r0, 0
|
|||
|
|
3c88: 1409 addi r14, r14, 36
|
|||
|
|
3c8a: 1490 pop r15
|
|||
|
|
3c8c: 2000036c .long 0x2000036c
|
|||
|
|
3c90: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_DEVPROT_CMD_SET_Processing:
|
|||
|
|
|
|||
|
|
00003c94 <BLV_DEVPROT_CMD_SET_Processing>:
|
|||
|
|
|
|||
|
|
//5、设置端口模式
|
|||
|
|
U8_T BLV_DEVPROT_CMD_SET_Processing(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
3c94: 14d2 push r4-r5, r15
|
|||
|
|
3c96: 1429 subi r14, r14, 36
|
|||
|
|
if(len != 0x08) return 0x01;
|
|||
|
|
3c98: 3948 cmpnei r1, 8
|
|||
|
|
{
|
|||
|
|
3c9a: 6d43 mov r5, r0
|
|||
|
|
if(len != 0x08) return 0x01;
|
|||
|
|
3c9c: 0838 bt 0x3d0c // 3d0c <BLV_DEVPROT_CMD_SET_Processing+0x78>
|
|||
|
|
|
|||
|
|
U8_T SendData[30];
|
|||
|
|
U16_T SendLen = 0x00;
|
|||
|
|
|
|||
|
|
if((data[SEND_PARA] == ACTIVE_PORT)||((data[SEND_PARA] == POLLING_PORT)))
|
|||
|
|
3c9e: 8067 ld.b r3, (r0, 0x7)
|
|||
|
|
3ca0: 5b43 subi r2, r3, 1
|
|||
|
|
3ca2: 7488 zextb r2, r2
|
|||
|
|
3ca4: 3a01 cmphsi r2, 2
|
|||
|
|
3ca6: 0835 bt 0x3d10 // 3d10 <BLV_DEVPROT_CMD_SET_Processing+0x7c>
|
|||
|
|
{
|
|||
|
|
if(data[SEND_PARA] != c_rly.dev_port){
|
|||
|
|
3ca8: 109b lrw r4, 0x2000036c // 3d14 <BLV_DEVPROT_CMD_SET_Processing+0x80>
|
|||
|
|
3caa: 844b ld.b r2, (r4, 0xb)
|
|||
|
|
3cac: 64ca cmpne r2, r3
|
|||
|
|
3cae: 0c04 bf 0x3cb6 // 3cb6 <BLV_DEVPROT_CMD_SET_Processing+0x22>
|
|||
|
|
c_rly.dev_port = data[SEND_PARA];
|
|||
|
|
3cb0: a46b st.b r3, (r4, 0xb)
|
|||
|
|
|
|||
|
|
EEPROM_WritePara(); //保存flash
|
|||
|
|
3cb2: e0000231 bsr 0x4114 // 4114 <EEPROM_WritePara>
|
|||
|
|
}
|
|||
|
|
}else{
|
|||
|
|
return 0x02;//设置的端口不合法
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3cb6: 8561 ld.b r3, (r5, 0x1)
|
|||
|
|
3cb8: 320f movi r2, 15
|
|||
|
|
3cba: 68c8 and r3, r2
|
|||
|
|
3cbc: a46c st.b r3, (r4, 0xc)
|
|||
|
|
//回复
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
SendData[SendLen++] = c_rly.SN;
|
|||
|
|
3cbe: dc6e0005 st.b r3, (r14, 0x5)
|
|||
|
|
SendData[SendLen++] = data[2];
|
|||
|
|
3cc2: 8562 ld.b r3, (r5, 0x2)
|
|||
|
|
3cc4: dc6e0006 st.b r3, (r14, 0x6)
|
|||
|
|
SendData[SendLen++] = data[0];
|
|||
|
|
3cc8: 8560 ld.b r3, (r5, 0x0)
|
|||
|
|
3cca: dc6e0007 st.b r3, (r14, 0x7)
|
|||
|
|
SendData[SendLen++] = 0x00; //len
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
3cce: 3300 movi r3, 0
|
|||
|
|
3cd0: dc6e0009 st.b r3, (r14, 0x9)
|
|||
|
|
SendData[SendLen++] = CMD_SET_DEVPORT_REPLY; //回复CMD
|
|||
|
|
3cd4: 3338 movi r3, 56
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3cd6: 1051 lrw r2, 0x2000035c // 3d18 <BLV_DEVPROT_CMD_SET_Processing+0x84>
|
|||
|
|
3cd8: 8246 ld.b r2, (r2, 0x6)
|
|||
|
|
SendData[SendLen++] = CMD_SET_DEVPORT_REPLY; //回复CMD
|
|||
|
|
3cda: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
|
|||
|
|
SendLen = 0x07;
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3cde: 3107 movi r1, 7
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3ce0: 3307 movi r3, 7
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3ce2: 1801 addi r0, r14, 4
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3ce4: dc4e0004 st.b r2, (r14, 0x4)
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3ce8: dc6e0008 st.b r3, (r14, 0x8)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3cec: e3fffddb bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3cf0: 3314 movi r3, 20
|
|||
|
|
3cf2: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3cf4: 3396 movi r3, 150
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3cf6: dc0e0009 st.b r0, (r14, 0x9)
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3cfa: 4361 lsli r3, r3, 1
|
|||
|
|
3cfc: 1801 addi r0, r14, 4
|
|||
|
|
3cfe: 3201 movi r2, 1
|
|||
|
|
3d00: 3107 movi r1, 7
|
|||
|
|
3d02: e3fffc2d bsr 0x355c // 355c <Set_GroupSend>
|
|||
|
|
3d06: 3000 movi r0, 0
|
|||
|
|
|
|||
|
|
return 0x00;
|
|||
|
|
}
|
|||
|
|
3d08: 1409 addi r14, r14, 36
|
|||
|
|
3d0a: 1492 pop r4-r5, r15
|
|||
|
|
if(len != 0x08) return 0x01;
|
|||
|
|
3d0c: 3001 movi r0, 1
|
|||
|
|
3d0e: 07fd br 0x3d08 // 3d08 <BLV_DEVPROT_CMD_SET_Processing+0x74>
|
|||
|
|
return 0x02;//设置的端口不合法
|
|||
|
|
3d10: 3002 movi r0, 2
|
|||
|
|
3d12: 07fb br 0x3d08 // 3d08 <BLV_DEVPROT_CMD_SET_Processing+0x74>
|
|||
|
|
3d14: 2000036c .long 0x2000036c
|
|||
|
|
3d18: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_DEVPROT_CMD_READ_Processing:
|
|||
|
|
|
|||
|
|
00003d1c <BLV_DEVPROT_CMD_READ_Processing>:
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//6、读取端口模式
|
|||
|
|
U8_T BLV_DEVPROT_CMD_READ_Processing(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
3d1c: 14d0 push r15
|
|||
|
|
3d1e: 1429 subi r14, r14, 36
|
|||
|
|
U8_T SendData[30];
|
|||
|
|
U16_T SendLen = 0x00;
|
|||
|
|
|
|||
|
|
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3d20: 8061 ld.b r3, (r0, 0x1)
|
|||
|
|
3d22: 320f movi r2, 15
|
|||
|
|
3d24: 68c8 and r3, r2
|
|||
|
|
3d26: 1059 lrw r2, 0x2000036c // 3d88 <BLV_DEVPROT_CMD_READ_Processing+0x6c>
|
|||
|
|
//回复
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3d28: 1039 lrw r1, 0x2000035c // 3d8c <BLV_DEVPROT_CMD_READ_Processing+0x70>
|
|||
|
|
3d2a: 8126 ld.b r1, (r1, 0x6)
|
|||
|
|
c_rly.SN = (data[1]&0x0F);
|
|||
|
|
3d2c: a26c st.b r3, (r2, 0xc)
|
|||
|
|
SendData[SendLen++] = c_rly.SN;
|
|||
|
|
3d2e: dc6e0005 st.b r3, (r14, 0x5)
|
|||
|
|
SendData[SendLen++] = data[2];
|
|||
|
|
3d32: 8062 ld.b r3, (r0, 0x2)
|
|||
|
|
3d34: dc6e0006 st.b r3, (r14, 0x6)
|
|||
|
|
SendData[SendLen++] = data[0];
|
|||
|
|
3d38: 8060 ld.b r3, (r0, 0x0)
|
|||
|
|
3d3a: dc6e0007 st.b r3, (r14, 0x7)
|
|||
|
|
SendData[SendLen++] = 0x00; //len
|
|||
|
|
SendData[SendLen++] = 0x00; //sum
|
|||
|
|
3d3e: 3300 movi r3, 0
|
|||
|
|
3d40: dc6e0009 st.b r3, (r14, 0x9)
|
|||
|
|
SendData[SendLen++] = CMD_READ_DEVPORT_REPLY; //回复CMD
|
|||
|
|
3d44: 333a movi r3, 58
|
|||
|
|
3d46: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
SendData[SendLen++] = c_rly.dev_port; //端口模式
|
|||
|
|
3d4a: 826b ld.b r3, (r2, 0xb)
|
|||
|
|
3d4c: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
SendData[SendLen++] = Project_FW_Version; //软件版本号
|
|||
|
|
3d50: 3301 movi r3, 1
|
|||
|
|
SendData[SendLen++] = g_Dip.addr;
|
|||
|
|
3d52: dc2e0004 st.b r1, (r14, 0x4)
|
|||
|
|
SendData[SendLen++] = Project_FW_Version; //软件版本号
|
|||
|
|
3d56: dc6e000c st.b r3, (r14, 0xc)
|
|||
|
|
SendData[SendLen++] = Project_HW_Version; //硬件版本号
|
|||
|
|
3d5a: dc6e000d st.b r3, (r14, 0xd)
|
|||
|
|
|
|||
|
|
SendLen = 0x0A;
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3d5e: 310a movi r1, 10
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3d60: 330a movi r3, 10
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3d62: 1801 addi r0, r14, 4
|
|||
|
|
SendData[SEND_LEN] = SendLen; //len
|
|||
|
|
3d64: dc6e0008 st.b r3, (r14, 0x8)
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3d68: e3fffd9d bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3d6c: 3314 movi r3, 20
|
|||
|
|
3d6e: b860 st.w r3, (r14, 0x0)
|
|||
|
|
3d70: 3396 movi r3, 150
|
|||
|
|
SendData[SEND_SUM] = CheckSum2(SendData,SendLen);
|
|||
|
|
3d72: dc0e0009 st.b r0, (r14, 0x9)
|
|||
|
|
Set_GroupSend(SendData,SendLen,1,BUSSend_WaitTime1,20); //组包
|
|||
|
|
3d76: 4361 lsli r3, r3, 1
|
|||
|
|
3d78: 1801 addi r0, r14, 4
|
|||
|
|
3d7a: 3201 movi r2, 1
|
|||
|
|
3d7c: 310a movi r1, 10
|
|||
|
|
3d7e: e3fffbef bsr 0x355c // 355c <Set_GroupSend>
|
|||
|
|
|
|||
|
|
return 0x00;
|
|||
|
|
}
|
|||
|
|
3d82: 3000 movi r0, 0
|
|||
|
|
3d84: 1409 addi r14, r14, 36
|
|||
|
|
3d86: 1490 pop r15
|
|||
|
|
3d88: 2000036c .long 0x2000036c
|
|||
|
|
3d8c: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.BLV_RLY_RS485_Pro:
|
|||
|
|
|
|||
|
|
00003d90 <BLV_RLY_RS485_Pro>:
|
|||
|
|
|
|||
|
|
U8_T BLV_RLY_RS485_Pro(U8_T *RecData, U16_T Len)
|
|||
|
|
{
|
|||
|
|
3d90: 14d3 push r4-r6, r15
|
|||
|
|
3d92: 142d subi r14, r14, 52
|
|||
|
|
U8_T ret = 0x00;
|
|||
|
|
U8_T ckdata[50];
|
|||
|
|
|
|||
|
|
if(Len < 0x05)
|
|||
|
|
3d94: 3904 cmphsi r1, 5
|
|||
|
|
{
|
|||
|
|
3d96: 6d03 mov r4, r0
|
|||
|
|
3d98: 6d47 mov r5, r1
|
|||
|
|
if(Len < 0x05)
|
|||
|
|
3d9a: 0808 bt 0x3daa // 3daa <BLV_RLY_RS485_Pro+0x1a>
|
|||
|
|
{
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"Data Len Err");
|
|||
|
|
3d9c: 1139 lrw r1, 0x4daf // 3e80 <BLV_RLY_RS485_Pro+0xf0>
|
|||
|
|
return 0x01;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(RecData[4] != Len)
|
|||
|
|
{
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"Len Check Err");
|
|||
|
|
3d9e: 3000 movi r0, 0
|
|||
|
|
3da0: e3fffc6a bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0x01;
|
|||
|
|
3da4: 3001 movi r0, 1
|
|||
|
|
case CMD_READ_DEVPORT:
|
|||
|
|
BLV_DEVPROT_CMD_READ_Processing(RecData,Len);
|
|||
|
|
break;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
3da6: 140d addi r14, r14, 52
|
|||
|
|
3da8: 1493 pop r4-r6, r15
|
|||
|
|
if(RecData[4] != Len)
|
|||
|
|
3daa: 80c4 ld.b r6, (r0, 0x4)
|
|||
|
|
3dac: 645a cmpne r6, r1
|
|||
|
|
3dae: 0c03 bf 0x3db4 // 3db4 <BLV_RLY_RS485_Pro+0x24>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"Len Check Err");
|
|||
|
|
3db0: 1135 lrw r1, 0x4dbc // 3e84 <BLV_RLY_RS485_Pro+0xf4>
|
|||
|
|
3db2: 07f6 br 0x3d9e // 3d9e <BLV_RLY_RS485_Pro+0xe>
|
|||
|
|
if(RecData[2] != A9EXPANDTYPE) //A9继电器设备类型
|
|||
|
|
3db4: 8062 ld.b r3, (r0, 0x2)
|
|||
|
|
3db6: 3b4e cmpnei r3, 14
|
|||
|
|
3db8: 0c07 bf 0x3dc6 // 3dc6 <BLV_RLY_RS485_Pro+0x36>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"Type Check Err");
|
|||
|
|
3dba: 3000 movi r0, 0
|
|||
|
|
3dbc: 1133 lrw r1, 0x4dca // 3e88 <BLV_RLY_RS485_Pro+0xf8>
|
|||
|
|
3dbe: e3fffc5b bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0x02;
|
|||
|
|
3dc2: 3002 movi r0, 2
|
|||
|
|
3dc4: 07f1 br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
if(RecData[3] != g_Dip.addr) //地址校验
|
|||
|
|
3dc6: 1172 lrw r3, 0x2000035c // 3e8c <BLV_RLY_RS485_Pro+0xfc>
|
|||
|
|
3dc8: 8043 ld.b r2, (r0, 0x3)
|
|||
|
|
3dca: 8366 ld.b r3, (r3, 0x6)
|
|||
|
|
3dcc: 64ca cmpne r2, r3
|
|||
|
|
3dce: 0c07 bf 0x3ddc // 3ddc <BLV_RLY_RS485_Pro+0x4c>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"Addr Check Err ");
|
|||
|
|
3dd0: 3000 movi r0, 0
|
|||
|
|
3dd2: 1130 lrw r1, 0x4dd9 // 3e90 <BLV_RLY_RS485_Pro+0x100>
|
|||
|
|
3dd4: e3fffc50 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0x03;
|
|||
|
|
3dd8: 3003 movi r0, 3
|
|||
|
|
3dda: 07e6 br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
memcpy(ckdata,RecData,Len);
|
|||
|
|
3ddc: 6c43 mov r1, r0
|
|||
|
|
3dde: 6c9b mov r2, r6
|
|||
|
|
3de0: 6c3b mov r0, r14
|
|||
|
|
3de2: e3ffee11 bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
ckdata[SEND_SUM] = 0x00;
|
|||
|
|
3de6: 3300 movi r3, 0
|
|||
|
|
if(CheckSum2(ckdata,Len) != RecData[SEND_SUM]) //和校验
|
|||
|
|
3de8: 6c5b mov r1, r6
|
|||
|
|
3dea: 6c3b mov r0, r14
|
|||
|
|
ckdata[SEND_SUM] = 0x00;
|
|||
|
|
3dec: dc6e0005 st.b r3, (r14, 0x5)
|
|||
|
|
if(CheckSum2(ckdata,Len) != RecData[SEND_SUM]) //和校验
|
|||
|
|
3df0: e3fffd59 bsr 0x38a2 // 38a2 <CheckSum2>
|
|||
|
|
3df4: 8465 ld.b r3, (r4, 0x5)
|
|||
|
|
3df6: 640e cmpne r3, r0
|
|||
|
|
3df8: 0c0c bf 0x3e10 // 3e10 <BLV_RLY_RS485_Pro+0x80>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"Sum Check Err: %02x",CheckSum(ckdata,Len));
|
|||
|
|
3dfa: 6c5b mov r1, r6
|
|||
|
|
3dfc: 6c3b mov r0, r14
|
|||
|
|
3dfe: e3fffd47 bsr 0x388c // 388c <CheckSum>
|
|||
|
|
3e02: 6c83 mov r2, r0
|
|||
|
|
3e04: 1124 lrw r1, 0x4de9 // 3e94 <BLV_RLY_RS485_Pro+0x104>
|
|||
|
|
3e06: 3000 movi r0, 0
|
|||
|
|
3e08: e3fffc36 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0x05;
|
|||
|
|
3e0c: 3005 movi r0, 5
|
|||
|
|
3e0e: 07cc br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
3e10: 320f movi r2, 15
|
|||
|
|
3e12: 8461 ld.b r3, (r4, 0x1)
|
|||
|
|
3e14: 68c8 and r3, r2
|
|||
|
|
if((RecData[SEND_SN]&0x0F) == c_rly.SN)
|
|||
|
|
3e16: 1141 lrw r2, 0x2000036c // 3e98 <BLV_RLY_RS485_Pro+0x108>
|
|||
|
|
3e18: 824c ld.b r2, (r2, 0xc)
|
|||
|
|
3e1a: 64ca cmpne r2, r3
|
|||
|
|
3e1c: 0807 bt 0x3e2a // 3e2a <BLV_RLY_RS485_Pro+0x9a>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"SN is Equal: %02x",c_rly.SN);
|
|||
|
|
3e1e: 3000 movi r0, 0
|
|||
|
|
3e20: 103f lrw r1, 0x4dfd // 3e9c <BLV_RLY_RS485_Pro+0x10c>
|
|||
|
|
3e22: e3fffc29 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0x00;
|
|||
|
|
3e26: 3000 movi r0, 0
|
|||
|
|
3e28: 07bf br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
switch(RecData[0x06])
|
|||
|
|
3e2a: 8406 ld.b r0, (r4, 0x6)
|
|||
|
|
3e2c: 281f subi r0, 32
|
|||
|
|
3e2e: 380a cmphsi r0, 11
|
|||
|
|
3e30: 0bbb bt 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
3e32: e3ffe765 bsr 0xcfc // cfc <___gnu_csky_case_sqi>
|
|||
|
|
3e36: b806 .short 0xb806
|
|||
|
|
3e38: b80bb8b8 .long 0xb80bb8b8
|
|||
|
|
3e3c: 151a10b8 .long 0x151a10b8
|
|||
|
|
3e40: 001f .short 0x001f
|
|||
|
|
BLV_A9RLY_CMD_SET_Processing(RecData,Len);
|
|||
|
|
3e42: 6c57 mov r1, r5
|
|||
|
|
3e44: 6c13 mov r0, r4
|
|||
|
|
3e46: e3fffdd9 bsr 0x39f8 // 39f8 <BLV_A9RLY_CMD_SET_Processing>
|
|||
|
|
break;
|
|||
|
|
3e4a: 07ae br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
BLV_A9RLY_CMD_READ_Processing(RecData,Len);
|
|||
|
|
3e4c: 6c57 mov r1, r5
|
|||
|
|
3e4e: 6c13 mov r0, r4
|
|||
|
|
3e50: e3fffe26 bsr 0x3a9c // 3a9c <BLV_A9RLY_CMD_READ_Processing>
|
|||
|
|
break;
|
|||
|
|
3e54: 07a9 br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
BLV_WINDOUT_CMD_SET_Processing(RecData,Len);
|
|||
|
|
3e56: 6c57 mov r1, r5
|
|||
|
|
3e58: 6c13 mov r0, r4
|
|||
|
|
3e5a: e3fffe67 bsr 0x3b28 // 3b28 <BLV_WINDOUT_CMD_SET_Processing>
|
|||
|
|
break;
|
|||
|
|
3e5e: 07a4 br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
BLV_WINDOUT_CMD_READ_Processing(RecData,Len);
|
|||
|
|
3e60: 6c57 mov r1, r5
|
|||
|
|
3e62: 6c13 mov r0, r4
|
|||
|
|
3e64: e3fffece bsr 0x3c00 // 3c00 <BLV_WINDOUT_CMD_READ_Processing>
|
|||
|
|
break;
|
|||
|
|
3e68: 079f br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
BLV_DEVPROT_CMD_SET_Processing(RecData,Len);
|
|||
|
|
3e6a: 6c57 mov r1, r5
|
|||
|
|
3e6c: 6c13 mov r0, r4
|
|||
|
|
3e6e: e3ffff13 bsr 0x3c94 // 3c94 <BLV_DEVPROT_CMD_SET_Processing>
|
|||
|
|
break;
|
|||
|
|
3e72: 079a br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
BLV_DEVPROT_CMD_READ_Processing(RecData,Len);
|
|||
|
|
3e74: 6c57 mov r1, r5
|
|||
|
|
3e76: 6c13 mov r0, r4
|
|||
|
|
3e78: e3ffff52 bsr 0x3d1c // 3d1c <BLV_DEVPROT_CMD_READ_Processing>
|
|||
|
|
}
|
|||
|
|
3e7c: 0795 br 0x3da6 // 3da6 <BLV_RLY_RS485_Pro+0x16>
|
|||
|
|
3e7e: 0000 bkpt
|
|||
|
|
3e80: 00004daf .long 0x00004daf
|
|||
|
|
3e84: 00004dbc .long 0x00004dbc
|
|||
|
|
3e88: 00004dca .long 0x00004dca
|
|||
|
|
3e8c: 2000035c .long 0x2000035c
|
|||
|
|
3e90: 00004dd9 .long 0x00004dd9
|
|||
|
|
3e94: 00004de9 .long 0x00004de9
|
|||
|
|
3e98: 2000036c .long 0x2000036c
|
|||
|
|
3e9c: 00004dfd .long 0x00004dfd
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CTRL_LEDStatus_Task:
|
|||
|
|
|
|||
|
|
00003ea0 <CTRL_LEDStatus_Task>:
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
void CTRL_LEDStatus_Task(void)
|
|||
|
|
{
|
|||
|
|
3ea0: 14d0 push r15
|
|||
|
|
static U32_T Ctrl_LED_tick = 0x00;
|
|||
|
|
|
|||
|
|
if(SysTick_1ms - Ctrl_LED_tick >= 500)
|
|||
|
|
3ea2: 1029 lrw r1, 0x200000a4 // 3ec4 <CTRL_LEDStatus_Task+0x24>
|
|||
|
|
3ea4: 1049 lrw r2, 0x200000bc // 3ec8 <CTRL_LEDStatus_Task+0x28>
|
|||
|
|
3ea6: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
3ea8: 9200 ld.w r0, (r2, 0x0)
|
|||
|
|
3eaa: 60c2 subu r3, r0
|
|||
|
|
3eac: 1008 lrw r0, 0x1f3 // 3ecc <CTRL_LEDStatus_Task+0x2c>
|
|||
|
|
3eae: 64c0 cmphs r0, r3
|
|||
|
|
3eb0: 0808 bt 0x3ec0 // 3ec0 <CTRL_LEDStatus_Task+0x20>
|
|||
|
|
{
|
|||
|
|
Ctrl_LED_tick = SysTick_1ms;
|
|||
|
|
3eb2: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
3eb4: b260 st.w r3, (r2, 0x0)
|
|||
|
|
|
|||
|
|
REVERISE_STATUS;
|
|||
|
|
3eb6: 3104 movi r1, 4
|
|||
|
|
3eb8: 1066 lrw r3, 0x2000004c // 3ed0 <CTRL_LEDStatus_Task+0x30>
|
|||
|
|
3eba: 9300 ld.w r0, (r3, 0x0)
|
|||
|
|
3ebc: e3fff13e bsr 0x2138 // 2138 <GPIO_Reverse>
|
|||
|
|
}
|
|||
|
|
3ec0: 1490 pop r15
|
|||
|
|
3ec2: 0000 bkpt
|
|||
|
|
3ec4: 200000a4 .long 0x200000a4
|
|||
|
|
3ec8: 200000bc .long 0x200000bc
|
|||
|
|
3ecc: 000001f3 .long 0x000001f3
|
|||
|
|
3ed0: 2000004c .long 0x2000004c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_CheckSum:
|
|||
|
|
|
|||
|
|
00003ed4 <EEPROM_CheckSum>:
|
|||
|
|
#include "includes.h"
|
|||
|
|
|
|||
|
|
E_MCU_DEV_INFO g_mcu_dev;
|
|||
|
|
|
|||
|
|
U8_T EEPROM_CheckSum(U8_T *data,U16_T len)
|
|||
|
|
{
|
|||
|
|
3ed4: 6cc3 mov r3, r0
|
|||
|
|
3ed6: 6040 addu r1, r0
|
|||
|
|
U8_T data_sum = 0;
|
|||
|
|
3ed8: 3000 movi r0, 0
|
|||
|
|
|
|||
|
|
for(U16_T i = 0;i<len;i++)
|
|||
|
|
3eda: 644e cmpne r3, r1
|
|||
|
|
3edc: 0802 bt 0x3ee0 // 3ee0 <EEPROM_CheckSum+0xc>
|
|||
|
|
{
|
|||
|
|
data_sum += data[i];
|
|||
|
|
}
|
|||
|
|
return data_sum;
|
|||
|
|
}
|
|||
|
|
3ede: 783c jmp r15
|
|||
|
|
data_sum += data[i];
|
|||
|
|
3ee0: 8340 ld.b r2, (r3, 0x0)
|
|||
|
|
3ee2: 6008 addu r0, r2
|
|||
|
|
3ee4: 7400 zextb r0, r0
|
|||
|
|
3ee6: 2300 addi r3, 1
|
|||
|
|
3ee8: 07f9 br 0x3eda // 3eda <EEPROM_CheckSum+0x6>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_ReadPara:
|
|||
|
|
|
|||
|
|
00003eec <EEPROM_ReadPara>:
|
|||
|
|
* Description : 读取参数
|
|||
|
|
* Parameter :
|
|||
|
|
* info :读取参数指针
|
|||
|
|
*******************************************************************************/
|
|||
|
|
U8_T EEPROM_ReadPara(void)
|
|||
|
|
{
|
|||
|
|
3eec: 14d1 push r4, r15
|
|||
|
|
3eee: 1430 subi r14, r14, 64
|
|||
|
|
U32_T temp_addr = EEPROM_PARA_SaveAddr;
|
|||
|
|
U8_T read_info[10];
|
|||
|
|
U8_T para_data[EEPROM_PARA_Size];
|
|||
|
|
UINT16 read_len = 0;
|
|||
|
|
|
|||
|
|
memset(read_info,0,sizeof(read_info));
|
|||
|
|
3ef0: 6c3b mov r0, r14
|
|||
|
|
3ef2: 320a movi r2, 10
|
|||
|
|
3ef4: 3100 movi r1, 0
|
|||
|
|
3ef6: e3ffed43 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
memset(para_data,0,sizeof(para_data));
|
|||
|
|
3efa: 3232 movi r2, 50
|
|||
|
|
3efc: 3100 movi r1, 0
|
|||
|
|
3efe: 1803 addi r0, r14, 12
|
|||
|
|
3f00: e3ffed3e bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
|
|||
|
|
ReadDataArry_U8(temp_addr,4,read_info);
|
|||
|
|
3f04: 6cbb mov r2, r14
|
|||
|
|
3f06: 3104 movi r1, 4
|
|||
|
|
3f08: 1214 lrw r0, 0x10000100 // 4058 <EEPROM_ReadPara+0x16c>
|
|||
|
|
3f0a: e3fff3bb bsr 0x2680 // 2680 <ReadDataArry_U8>
|
|||
|
|
|
|||
|
|
if(read_info[0] == EEPROM_SAVE_Flag){
|
|||
|
|
3f0e: d84e0000 ld.b r2, (r14, 0x0)
|
|||
|
|
3f12: 33a5 movi r3, 165
|
|||
|
|
3f14: 64ca cmpne r2, r3
|
|||
|
|
3f16: 1292 lrw r4, 0x2000036c // 405c <EEPROM_ReadPara+0x170>
|
|||
|
|
3f18: 0872 bt 0x3ffc // 3ffc <EEPROM_ReadPara+0x110>
|
|||
|
|
read_len = read_info[2];
|
|||
|
|
read_len <<= 8;
|
|||
|
|
read_len |= read_info[1];
|
|||
|
|
3f1a: d86e0002 ld.b r3, (r14, 0x2)
|
|||
|
|
3f1e: d84e0001 ld.b r2, (r14, 0x1)
|
|||
|
|
3f22: 4368 lsli r3, r3, 8
|
|||
|
|
|
|||
|
|
if((read_len <= EEPROM_PARA_Size) && (read_len == 0x0A)){
|
|||
|
|
3f24: 6cc8 or r3, r2
|
|||
|
|
3f26: 3b4a cmpnei r3, 10
|
|||
|
|
3f28: 086a bt 0x3ffc // 3ffc <EEPROM_ReadPara+0x110>
|
|||
|
|
temp_addr += EEPROM_Data_Offset;
|
|||
|
|
ReadDataArry_U8(temp_addr,read_len,para_data);
|
|||
|
|
3f2a: 1a03 addi r2, r14, 12
|
|||
|
|
3f2c: 310a movi r1, 10
|
|||
|
|
3f2e: 120d lrw r0, 0x10000104 // 4060 <EEPROM_ReadPara+0x174>
|
|||
|
|
3f30: e3fff3a8 bsr 0x2680 // 2680 <ReadDataArry_U8>
|
|||
|
|
if(CheckSum(para_data,read_len) == read_info[3]){
|
|||
|
|
3f34: 310a movi r1, 10
|
|||
|
|
3f36: 1803 addi r0, r14, 12
|
|||
|
|
3f38: e3fffcaa bsr 0x388c // 388c <CheckSum>
|
|||
|
|
3f3c: d86e0003 ld.b r3, (r14, 0x3)
|
|||
|
|
3f40: 640e cmpne r3, r0
|
|||
|
|
3f42: 085d bt 0x3ffc // 3ffc <EEPROM_ReadPara+0x110>
|
|||
|
|
//校验成功 - 读取参数
|
|||
|
|
c_rly.wind_STOP_vol = (para_data[0] + (para_data[1]<<8));
|
|||
|
|
3f44: d86e000d ld.b r3, (r14, 0xd)
|
|||
|
|
3f48: d84e000c ld.b r2, (r14, 0xc)
|
|||
|
|
3f4c: 4368 lsli r3, r3, 8
|
|||
|
|
3f4e: 60c8 addu r3, r2
|
|||
|
|
3f50: 74cd zexth r3, r3
|
|||
|
|
if(c_rly.wind_STOP_vol > 10000){
|
|||
|
|
3f52: 1245 lrw r2, 0x2710 // 4064 <EEPROM_ReadPara+0x178>
|
|||
|
|
3f54: 64c8 cmphs r2, r3
|
|||
|
|
3f56: 0c48 bf 0x3fe6 // 3fe6 <EEPROM_ReadPara+0xfa>
|
|||
|
|
c_rly.wind_STOP_vol = EEPROM_WINDSTOP_OUT_Default;
|
|||
|
|
3f58: ac68 st.h r3, (r4, 0x10)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
c_rly.wind_LOW_vol = (para_data[2] + (para_data[3]<<8));
|
|||
|
|
3f5a: d86e000f ld.b r3, (r14, 0xf)
|
|||
|
|
3f5e: d84e000e ld.b r2, (r14, 0xe)
|
|||
|
|
3f62: 4368 lsli r3, r3, 8
|
|||
|
|
3f64: 60c8 addu r3, r2
|
|||
|
|
3f66: 74cd zexth r3, r3
|
|||
|
|
if(c_rly.wind_LOW_vol > 10000){
|
|||
|
|
3f68: 115f lrw r2, 0x2710 // 4064 <EEPROM_ReadPara+0x178>
|
|||
|
|
3f6a: 64c8 cmphs r2, r3
|
|||
|
|
3f6c: 0c3f bf 0x3fea // 3fea <EEPROM_ReadPara+0xfe>
|
|||
|
|
c_rly.wind_LOW_vol = EEPROM_WINDLOW_OUT_Default;
|
|||
|
|
3f6e: ac69 st.h r3, (r4, 0x12)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
c_rly.wind_MID_vol = (para_data[4] + (para_data[5]<<8));
|
|||
|
|
3f70: d86e0011 ld.b r3, (r14, 0x11)
|
|||
|
|
3f74: d84e0010 ld.b r2, (r14, 0x10)
|
|||
|
|
3f78: 4368 lsli r3, r3, 8
|
|||
|
|
3f7a: 60c8 addu r3, r2
|
|||
|
|
3f7c: 74cd zexth r3, r3
|
|||
|
|
if(c_rly.wind_MID_vol > 10000){
|
|||
|
|
3f7e: 115a lrw r2, 0x2710 // 4064 <EEPROM_ReadPara+0x178>
|
|||
|
|
3f80: 64c8 cmphs r2, r3
|
|||
|
|
3f82: 0c36 bf 0x3fee // 3fee <EEPROM_ReadPara+0x102>
|
|||
|
|
c_rly.wind_MID_vol = EEPROM_WINDMID_OUT_Default;
|
|||
|
|
3f84: ac6a st.h r3, (r4, 0x14)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
c_rly.wind_HIGH_vol = (para_data[6] + (para_data[7]<<8));
|
|||
|
|
3f86: d86e0013 ld.b r3, (r14, 0x13)
|
|||
|
|
3f8a: d84e0012 ld.b r2, (r14, 0x12)
|
|||
|
|
3f8e: 4368 lsli r3, r3, 8
|
|||
|
|
3f90: 60c8 addu r3, r2
|
|||
|
|
3f92: 74cd zexth r3, r3
|
|||
|
|
if(c_rly.wind_HIGH_vol > 10000){
|
|||
|
|
3f94: 1154 lrw r2, 0x2710 // 4064 <EEPROM_ReadPara+0x178>
|
|||
|
|
3f96: 64c8 cmphs r2, r3
|
|||
|
|
3f98: 0c2d bf 0x3ff2 // 3ff2 <EEPROM_ReadPara+0x106>
|
|||
|
|
c_rly.wind_HIGH_vol = (para_data[6] + (para_data[7]<<8));
|
|||
|
|
3f9a: ac6b st.h r3, (r4, 0x16)
|
|||
|
|
c_rly.wind_HIGH_vol = EEPROM_WINDHIGH_OUT_Default;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//设备端口模式
|
|||
|
|
c_rly.dev_port = para_data[9];
|
|||
|
|
3f9c: d84e0015 ld.b r2, (r14, 0x15)
|
|||
|
|
if((c_rly.dev_port != ACTIVE_PORT)&&(c_rly.dev_port != POLLING_PORT))
|
|||
|
|
3fa0: 5a63 subi r3, r2, 1
|
|||
|
|
3fa2: 74cc zextb r3, r3
|
|||
|
|
3fa4: 3b01 cmphsi r3, 2
|
|||
|
|
3fa6: 0828 bt 0x3ff6 // 3ff6 <EEPROM_ReadPara+0x10a>
|
|||
|
|
c_rly.dev_port = para_data[9];
|
|||
|
|
3fa8: a44b st.b r2, (r4, 0xb)
|
|||
|
|
{
|
|||
|
|
c_rly.dev_port = POLLING_PORT;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadPara wind_STOP_vol : %d",c_rly.wind_STOP_vol);
|
|||
|
|
3faa: 8c48 ld.h r2, (r4, 0x10)
|
|||
|
|
3fac: 112f lrw r1, 0x4e0f // 4068 <EEPROM_ReadPara+0x17c>
|
|||
|
|
3fae: 3000 movi r0, 0
|
|||
|
|
3fb0: e3fffb62 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadPara wind_LOW_vol : %d",c_rly.wind_LOW_vol);
|
|||
|
|
3fb4: 8c49 ld.h r2, (r4, 0x12)
|
|||
|
|
3fb6: 112e lrw r1, 0x4e32 // 406c <EEPROM_ReadPara+0x180>
|
|||
|
|
3fb8: 3000 movi r0, 0
|
|||
|
|
3fba: e3fffb5d bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadPara wind_MID_vol : %d",c_rly.wind_MID_vol);
|
|||
|
|
3fbe: 8c4a ld.h r2, (r4, 0x14)
|
|||
|
|
3fc0: 112c lrw r1, 0x4e55 // 4070 <EEPROM_ReadPara+0x184>
|
|||
|
|
3fc2: 3000 movi r0, 0
|
|||
|
|
3fc4: e3fffb58 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadPara wind_HIGH_vol : %d",c_rly.wind_HIGH_vol);
|
|||
|
|
3fc8: 8c4b ld.h r2, (r4, 0x16)
|
|||
|
|
3fca: 112b lrw r1, 0x4e78 // 4074 <EEPROM_ReadPara+0x188>
|
|||
|
|
3fcc: 3000 movi r0, 0
|
|||
|
|
3fce: e3fffb53 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadPara dev_port : %d",c_rly.dev_port);
|
|||
|
|
3fd2: 3000 movi r0, 0
|
|||
|
|
3fd4: 844b ld.b r2, (r4, 0xb)
|
|||
|
|
3fd6: 1129 lrw r1, 0x4e9b // 4078 <EEPROM_ReadPara+0x18c>
|
|||
|
|
3fd8: e3fffb4e bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
SYSCON_IWDCNT_Reload();
|
|||
|
|
3fdc: e3ffee64 bsr 0x1ca4 // 1ca4 <SYSCON_IWDCNT_Reload>
|
|||
|
|
return 0x00;
|
|||
|
|
3fe0: 3000 movi r0, 0
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"wind_MID_vol : %d",c_rly.wind_MID_vol);
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"wind_HIGH_vol : %d",c_rly.wind_HIGH_vol);
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"dev_port : %d",c_rly.dev_port);
|
|||
|
|
SYSCON_IWDCNT_Reload();
|
|||
|
|
return 0x01;
|
|||
|
|
}
|
|||
|
|
3fe2: 1410 addi r14, r14, 64
|
|||
|
|
3fe4: 1491 pop r4, r15
|
|||
|
|
c_rly.wind_STOP_vol = EEPROM_WINDSTOP_OUT_Default;
|
|||
|
|
3fe6: 3300 movi r3, 0
|
|||
|
|
3fe8: 07b8 br 0x3f58 // 3f58 <EEPROM_ReadPara+0x6c>
|
|||
|
|
c_rly.wind_LOW_vol = EEPROM_WINDLOW_OUT_Default;
|
|||
|
|
3fea: 116b lrw r3, 0xbb8 // 4094 <EEPROM_ReadPara+0x1a8>
|
|||
|
|
3fec: 07c1 br 0x3f6e // 3f6e <EEPROM_ReadPara+0x82>
|
|||
|
|
c_rly.wind_MID_vol = EEPROM_WINDMID_OUT_Default;
|
|||
|
|
3fee: 116b lrw r3, 0x1770 // 4098 <EEPROM_ReadPara+0x1ac>
|
|||
|
|
3ff0: 07ca br 0x3f84 // 3f84 <EEPROM_ReadPara+0x98>
|
|||
|
|
c_rly.wind_HIGH_vol = EEPROM_WINDHIGH_OUT_Default;
|
|||
|
|
3ff2: ac4b st.h r2, (r4, 0x16)
|
|||
|
|
3ff4: 07d4 br 0x3f9c // 3f9c <EEPROM_ReadPara+0xb0>
|
|||
|
|
c_rly.dev_port = POLLING_PORT;
|
|||
|
|
3ff6: 3301 movi r3, 1
|
|||
|
|
3ff8: a46b st.b r3, (r4, 0xb)
|
|||
|
|
3ffa: 07d8 br 0x3faa // 3faa <EEPROM_ReadPara+0xbe>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_ReadPara Default!");
|
|||
|
|
3ffc: 1120 lrw r1, 0x4ebe // 407c <EEPROM_ReadPara+0x190>
|
|||
|
|
3ffe: 3000 movi r0, 0
|
|||
|
|
4000: e3fffb3a bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
c_rly.wind_STOP_vol = EEPROM_WINDSTOP_OUT_Default;
|
|||
|
|
4004: 3300 movi r3, 0
|
|||
|
|
4006: ac68 st.h r3, (r4, 0x10)
|
|||
|
|
c_rly.wind_LOW_vol = EEPROM_WINDLOW_OUT_Default;
|
|||
|
|
4008: 1163 lrw r3, 0xbb8 // 4094 <EEPROM_ReadPara+0x1a8>
|
|||
|
|
400a: ac69 st.h r3, (r4, 0x12)
|
|||
|
|
c_rly.wind_MID_vol = EEPROM_WINDMID_OUT_Default;
|
|||
|
|
400c: 1163 lrw r3, 0x1770 // 4098 <EEPROM_ReadPara+0x1ac>
|
|||
|
|
400e: ac6a st.h r3, (r4, 0x14)
|
|||
|
|
c_rly.wind_HIGH_vol = EEPROM_WINDHIGH_OUT_Default;
|
|||
|
|
4010: 1163 lrw r3, 0x2710 // 409c <EEPROM_ReadPara+0x1b0>
|
|||
|
|
4012: ac6b st.h r3, (r4, 0x16)
|
|||
|
|
c_rly.dev_port = POLLING_PORT;
|
|||
|
|
4014: 3301 movi r3, 1
|
|||
|
|
4016: a46b st.b r3, (r4, 0xb)
|
|||
|
|
SYSCON_IWDCNT_Reload();
|
|||
|
|
4018: e3ffee46 bsr 0x1ca4 // 1ca4 <SYSCON_IWDCNT_Reload>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"wind_STOP_vol : %d",c_rly.wind_STOP_vol);
|
|||
|
|
401c: 8c48 ld.h r2, (r4, 0x10)
|
|||
|
|
401e: 1039 lrw r1, 0x4e1f // 4080 <EEPROM_ReadPara+0x194>
|
|||
|
|
4020: 3000 movi r0, 0
|
|||
|
|
4022: e3fffb29 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"wind_LOW_vol : %d",c_rly.wind_LOW_vol);
|
|||
|
|
4026: 8c49 ld.h r2, (r4, 0x12)
|
|||
|
|
4028: 1037 lrw r1, 0x4e42 // 4084 <EEPROM_ReadPara+0x198>
|
|||
|
|
402a: 3000 movi r0, 0
|
|||
|
|
402c: e3fffb24 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"wind_MID_vol : %d",c_rly.wind_MID_vol);
|
|||
|
|
4030: 8c4a ld.h r2, (r4, 0x14)
|
|||
|
|
4032: 1036 lrw r1, 0x4e65 // 4088 <EEPROM_ReadPara+0x19c>
|
|||
|
|
4034: 3000 movi r0, 0
|
|||
|
|
4036: e3fffb1f bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"wind_HIGH_vol : %d",c_rly.wind_HIGH_vol);
|
|||
|
|
403a: 8c4b ld.h r2, (r4, 0x16)
|
|||
|
|
403c: 1034 lrw r1, 0x4e88 // 408c <EEPROM_ReadPara+0x1a0>
|
|||
|
|
403e: 3000 movi r0, 0
|
|||
|
|
4040: e3fffb1a bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"dev_port : %d",c_rly.dev_port);
|
|||
|
|
4044: 3000 movi r0, 0
|
|||
|
|
4046: 844b ld.b r2, (r4, 0xb)
|
|||
|
|
4048: 1032 lrw r1, 0x4eab // 4090 <EEPROM_ReadPara+0x1a4>
|
|||
|
|
404a: e3fffb15 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
SYSCON_IWDCNT_Reload();
|
|||
|
|
404e: e3ffee2b bsr 0x1ca4 // 1ca4 <SYSCON_IWDCNT_Reload>
|
|||
|
|
return 0x01;
|
|||
|
|
4052: 3001 movi r0, 1
|
|||
|
|
4054: 07c7 br 0x3fe2 // 3fe2 <EEPROM_ReadPara+0xf6>
|
|||
|
|
4056: 0000 bkpt
|
|||
|
|
4058: 10000100 .long 0x10000100
|
|||
|
|
405c: 2000036c .long 0x2000036c
|
|||
|
|
4060: 10000104 .long 0x10000104
|
|||
|
|
4064: 00002710 .long 0x00002710
|
|||
|
|
4068: 00004e0f .long 0x00004e0f
|
|||
|
|
406c: 00004e32 .long 0x00004e32
|
|||
|
|
4070: 00004e55 .long 0x00004e55
|
|||
|
|
4074: 00004e78 .long 0x00004e78
|
|||
|
|
4078: 00004e9b .long 0x00004e9b
|
|||
|
|
407c: 00004ebe .long 0x00004ebe
|
|||
|
|
4080: 00004e1f .long 0x00004e1f
|
|||
|
|
4084: 00004e42 .long 0x00004e42
|
|||
|
|
4088: 00004e65 .long 0x00004e65
|
|||
|
|
408c: 00004e88 .long 0x00004e88
|
|||
|
|
4090: 00004eab .long 0x00004eab
|
|||
|
|
4094: 00000bb8 .long 0x00000bb8
|
|||
|
|
4098: 00001770 .long 0x00001770
|
|||
|
|
409c: 00002710 .long 0x00002710
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_ValidateWrite:
|
|||
|
|
|
|||
|
|
000040a0 <EEPROM_ValidateWrite>:
|
|||
|
|
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : EEPROM_ValidateWrite
|
|||
|
|
* Description : 校验写入参数
|
|||
|
|
*******************************************************************************/
|
|||
|
|
U8_T EEPROM_ValidateWrite(U32_T Eeprom_Write_SaveAddr,U8_T* Write_Data,U16_T Write_Len){
|
|||
|
|
40a0: 1425 subi r14, r14, 20
|
|||
|
|
40a2: dd0e2003 st.w r8, (r14, 0xc)
|
|||
|
|
40a6: 6e3b mov r8, r14
|
|||
|
|
40a8: b880 st.w r4, (r14, 0x0)
|
|||
|
|
40aa: b8a1 st.w r5, (r14, 0x4)
|
|||
|
|
40ac: b8c2 st.w r6, (r14, 0x8)
|
|||
|
|
40ae: ddee2004 st.w r15, (r14, 0x10)
|
|||
|
|
U8_T Read_para[Write_Len];
|
|||
|
|
40b2: 5a6a addi r3, r2, 3
|
|||
|
|
U8_T EEPROM_ValidateWrite(U32_T Eeprom_Write_SaveAddr,U8_T* Write_Data,U16_T Write_Len){
|
|||
|
|
40b4: 6d0b mov r4, r2
|
|||
|
|
U8_T Read_para[Write_Len];
|
|||
|
|
40b6: 4b62 lsri r3, r3, 2
|
|||
|
|
40b8: 3280 movi r2, 128
|
|||
|
|
U8_T EEPROM_ValidateWrite(U32_T Eeprom_Write_SaveAddr,U8_T* Write_Data,U16_T Write_Len){
|
|||
|
|
40ba: 6d83 mov r6, r0
|
|||
|
|
40bc: 6d47 mov r5, r1
|
|||
|
|
U8_T Read_para[Write_Len];
|
|||
|
|
40be: 4362 lsli r3, r3, 2
|
|||
|
|
40c0: 4245 lsli r2, r2, 5
|
|||
|
|
40c2: 64c8 cmphs r2, r3
|
|||
|
|
40c4: 0806 bt 0x40d0 // 40d0 <EEPROM_ValidateWrite+0x30>
|
|||
|
|
40c6: 638a subu r14, r2
|
|||
|
|
40c8: ddce2000 st.w r14, (r14, 0x0)
|
|||
|
|
40cc: 60ca subu r3, r2
|
|||
|
|
40ce: 07fa br 0x40c2 // 40c2 <EEPROM_ValidateWrite+0x22>
|
|||
|
|
40d0: 638e subu r14, r3
|
|||
|
|
U16_T i = 0;
|
|||
|
|
|
|||
|
|
memset(Read_para,0,sizeof(Read_para));
|
|||
|
|
40d2: 6c93 mov r2, r4
|
|||
|
|
40d4: 3100 movi r1, 0
|
|||
|
|
40d6: 6c3b mov r0, r14
|
|||
|
|
40d8: e3ffec52 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
|
|||
|
|
ReadDataArry_U8(Eeprom_Write_SaveAddr,Write_Len,Read_para);
|
|||
|
|
40dc: 6c53 mov r1, r4
|
|||
|
|
40de: 6cbb mov r2, r14
|
|||
|
|
40e0: 6c1b mov r0, r6
|
|||
|
|
40e2: e3fff2cf bsr 0x2680 // 2680 <ReadDataArry_U8>
|
|||
|
|
40e6: 6138 addu r4, r14
|
|||
|
|
40e8: 6cfb mov r3, r14
|
|||
|
|
for(i=0;i<Write_Len;i++){
|
|||
|
|
40ea: 650e cmpne r3, r4
|
|||
|
|
40ec: 080c bt 0x4104 // 4104 <EEPROM_ValidateWrite+0x64>
|
|||
|
|
if (Read_para[i]!=Write_Data[i]) {
|
|||
|
|
return 0x01;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return 0x00;
|
|||
|
|
40ee: 3000 movi r0, 0
|
|||
|
|
}
|
|||
|
|
40f0: 6fa3 mov r14, r8
|
|||
|
|
40f2: d9ee2004 ld.w r15, (r14, 0x10)
|
|||
|
|
40f6: d90e2003 ld.w r8, (r14, 0xc)
|
|||
|
|
40fa: 98c2 ld.w r6, (r14, 0x8)
|
|||
|
|
40fc: 98a1 ld.w r5, (r14, 0x4)
|
|||
|
|
40fe: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
4100: 1405 addi r14, r14, 20
|
|||
|
|
4102: 783c jmp r15
|
|||
|
|
if (Read_para[i]!=Write_Data[i]) {
|
|||
|
|
4104: 8320 ld.b r1, (r3, 0x0)
|
|||
|
|
4106: 8540 ld.b r2, (r5, 0x0)
|
|||
|
|
4108: 6486 cmpne r1, r2
|
|||
|
|
410a: 2300 addi r3, 1
|
|||
|
|
410c: 2500 addi r5, 1
|
|||
|
|
410e: 0fee bf 0x40ea // 40ea <EEPROM_ValidateWrite+0x4a>
|
|||
|
|
return 0x01;
|
|||
|
|
4110: 3001 movi r0, 1
|
|||
|
|
4112: 07ef br 0x40f0 // 40f0 <EEPROM_ValidateWrite+0x50>
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_WritePara:
|
|||
|
|
|
|||
|
|
00004114 <EEPROM_WritePara>:
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : EEPROM_WritePara
|
|||
|
|
* Description : 保存参数
|
|||
|
|
*******************************************************************************/
|
|||
|
|
U8_T EEPROM_WritePara(void)
|
|||
|
|
{
|
|||
|
|
4114: 14d1 push r4, r15
|
|||
|
|
4116: 142f subi r14, r14, 60
|
|||
|
|
U32_T temp_addr = EEPROM_PARA_SaveAddr;
|
|||
|
|
U8_T save_para[EEPROM_PARA_Size+10];
|
|||
|
|
UINT16 save_len = 0x0A;
|
|||
|
|
|
|||
|
|
memset(save_para,0,sizeof(save_para));
|
|||
|
|
4118: 6c3b mov r0, r14
|
|||
|
|
411a: 323c movi r2, 60
|
|||
|
|
411c: 3100 movi r1, 0
|
|||
|
|
411e: e3ffec2f bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
|
|||
|
|
if(save_len >= EEPROM_PARA_Size) save_len = EEPROM_PARA_Size;
|
|||
|
|
|
|||
|
|
save_para[0] = EEPROM_SAVE_Flag;
|
|||
|
|
4122: 3300 movi r3, 0
|
|||
|
|
4124: 2b5a subi r3, 91
|
|||
|
|
4126: dc6e0000 st.b r3, (r14, 0x0)
|
|||
|
|
save_para[1] = save_len & 0xFF;
|
|||
|
|
412a: 330a movi r3, 10
|
|||
|
|
412c: dc6e0001 st.b r3, (r14, 0x1)
|
|||
|
|
save_para[12] = g_Dip.addr;
|
|||
|
|
save_para[13] = c_rly.dev_port; //端口模式
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
save_para[3] = CheckSum(&save_para[4],save_len);
|
|||
|
|
4130: 310a movi r1, 10
|
|||
|
|
save_para[4] = c_rly.wind_STOP_vol & 0xFF;
|
|||
|
|
4132: 1160 lrw r3, 0x2000036c // 41b0 <EEPROM_WritePara+0x9c>
|
|||
|
|
4134: 8b48 ld.h r2, (r3, 0x10)
|
|||
|
|
4136: dc4e0004 st.b r2, (r14, 0x4)
|
|||
|
|
save_para[5] = (c_rly.wind_STOP_vol >> 8) & 0xFF;
|
|||
|
|
413a: 4a48 lsri r2, r2, 8
|
|||
|
|
413c: dc4e0005 st.b r2, (r14, 0x5)
|
|||
|
|
save_para[6] = c_rly.wind_LOW_vol & 0xFF;
|
|||
|
|
4140: 8b49 ld.h r2, (r3, 0x12)
|
|||
|
|
4142: dc4e0006 st.b r2, (r14, 0x6)
|
|||
|
|
save_para[7] = (c_rly.wind_LOW_vol >> 8) & 0xFF;
|
|||
|
|
4146: 4a48 lsri r2, r2, 8
|
|||
|
|
4148: dc4e0007 st.b r2, (r14, 0x7)
|
|||
|
|
save_para[8] = c_rly.wind_MID_vol & 0xFF;
|
|||
|
|
414c: 8b4a ld.h r2, (r3, 0x14)
|
|||
|
|
414e: dc4e0008 st.b r2, (r14, 0x8)
|
|||
|
|
save_para[9] = (c_rly.wind_MID_vol >> 8) & 0xFF;
|
|||
|
|
4152: 4a48 lsri r2, r2, 8
|
|||
|
|
4154: dc4e0009 st.b r2, (r14, 0x9)
|
|||
|
|
save_para[10] = c_rly.wind_HIGH_vol & 0xFF;
|
|||
|
|
4158: 8b4b ld.h r2, (r3, 0x16)
|
|||
|
|
415a: dc4e000a st.b r2, (r14, 0xa)
|
|||
|
|
save_para[11] = (c_rly.wind_HIGH_vol >> 8) & 0xFF;
|
|||
|
|
415e: 4a48 lsri r2, r2, 8
|
|||
|
|
4160: dc4e000b st.b r2, (r14, 0xb)
|
|||
|
|
save_para[13] = c_rly.dev_port; //端口模式
|
|||
|
|
4164: 836b ld.b r3, (r3, 0xb)
|
|||
|
|
save_para[12] = g_Dip.addr;
|
|||
|
|
4166: 1054 lrw r2, 0x2000035c // 41b4 <EEPROM_WritePara+0xa0>
|
|||
|
|
4168: 8246 ld.b r2, (r2, 0x6)
|
|||
|
|
save_para[3] = CheckSum(&save_para[4],save_len);
|
|||
|
|
416a: 1801 addi r0, r14, 4
|
|||
|
|
save_para[13] = c_rly.dev_port; //端口模式
|
|||
|
|
416c: dc6e000d st.b r3, (r14, 0xd)
|
|||
|
|
save_para[12] = g_Dip.addr;
|
|||
|
|
4170: dc4e000c st.b r2, (r14, 0xc)
|
|||
|
|
save_para[3] = CheckSum(&save_para[4],save_len);
|
|||
|
|
4174: e3fffb8c bsr 0x388c // 388c <CheckSum>
|
|||
|
|
4178: dc0e0003 st.b r0, (r14, 0x3)
|
|||
|
|
|
|||
|
|
save_len += 4;
|
|||
|
|
Page_ProgramData(temp_addr,save_len,save_para);
|
|||
|
|
417c: 6cbb mov r2, r14
|
|||
|
|
417e: 310e movi r1, 14
|
|||
|
|
4180: 100e lrw r0, 0x10000100 // 41b8 <EEPROM_WritePara+0xa4>
|
|||
|
|
4182: e3fff22f bsr 0x25e0 // 25e0 <Page_ProgramData>
|
|||
|
|
|
|||
|
|
if(EEPROM_ValidateWrite(temp_addr,save_para,save_len)){
|
|||
|
|
4186: 320e movi r2, 14
|
|||
|
|
4188: 6c7b mov r1, r14
|
|||
|
|
418a: 100c lrw r0, 0x10000100 // 41b8 <EEPROM_WritePara+0xa4>
|
|||
|
|
418c: e3ffff8a bsr 0x40a0 // 40a0 <EEPROM_ValidateWrite>
|
|||
|
|
4190: 3840 cmpnei r0, 0
|
|||
|
|
4192: 6d03 mov r4, r0
|
|||
|
|
4194: 0c09 bf 0x41a6 // 41a6 <EEPROM_WritePara+0x92>
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_WritePara Save Para Err");
|
|||
|
|
4196: 102a lrw r1, 0x4ed7 // 41bc <EEPROM_WritePara+0xa8>
|
|||
|
|
4198: 3000 movi r0, 0
|
|||
|
|
419a: e3fffa6d bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0x01;
|
|||
|
|
419e: 3401 movi r4, 1
|
|||
|
|
}
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_WritePara Save Para");
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
41a0: 6c13 mov r0, r4
|
|||
|
|
41a2: 140f addi r14, r14, 60
|
|||
|
|
41a4: 1491 pop r4, r15
|
|||
|
|
Dbg_Println(DBG_BIT_SYS_STATUS,"EEPROM_WritePara Save Para");
|
|||
|
|
41a6: 1027 lrw r1, 0x4ef6 // 41c0 <EEPROM_WritePara+0xac>
|
|||
|
|
41a8: 3000 movi r0, 0
|
|||
|
|
41aa: e3fffa65 bsr 0x3674 // 3674 <Dbg_Println>
|
|||
|
|
return 0;
|
|||
|
|
41ae: 07f9 br 0x41a0 // 41a0 <EEPROM_WritePara+0x8c>
|
|||
|
|
41b0: 2000036c .long 0x2000036c
|
|||
|
|
41b4: 2000035c .long 0x2000035c
|
|||
|
|
41b8: 10000100 .long 0x10000100
|
|||
|
|
41bc: 00004ed7 .long 0x00004ed7
|
|||
|
|
41c0: 00004ef6 .long 0x00004ef6
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_ReadMCUDevInfo:
|
|||
|
|
|
|||
|
|
000041c4 <EEPROM_ReadMCUDevInfo>:
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : EEPROM_ReadMCUDevInfo
|
|||
|
|
* Description : 从EEPROM中读取设备信息
|
|||
|
|
*******************************************************************************/
|
|||
|
|
U8_T EEPROM_ReadMCUDevInfo(E_MCU_DEV_INFO *info)
|
|||
|
|
{
|
|||
|
|
41c4: 14d1 push r4, r15
|
|||
|
|
41c6: 1432 subi r14, r14, 72
|
|||
|
|
41c8: 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));
|
|||
|
|
41ca: 3300 movi r3, 0
|
|||
|
|
memset(para_data,0,sizeof(para_data));
|
|||
|
|
41cc: 3240 movi r2, 64
|
|||
|
|
41ce: 3100 movi r1, 0
|
|||
|
|
41d0: 1802 addi r0, r14, 8
|
|||
|
|
memset(read_info,0,sizeof(read_info));
|
|||
|
|
41d2: b860 st.w r3, (r14, 0x0)
|
|||
|
|
41d4: dc6e1002 st.h r3, (r14, 0x4)
|
|||
|
|
memset(para_data,0,sizeof(para_data));
|
|||
|
|
41d8: e3ffebd2 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
|
|||
|
|
ReadDataArry_U8(EEPROM_MCUDevInfo_Address,4,read_info);
|
|||
|
|
41dc: 3080 movi r0, 128
|
|||
|
|
41de: 6cbb mov r2, r14
|
|||
|
|
41e0: 3104 movi r1, 4
|
|||
|
|
41e2: 4015 lsli r0, r0, 21
|
|||
|
|
41e4: e3fff24e bsr 0x2680 // 2680 <ReadDataArry_U8>
|
|||
|
|
|
|||
|
|
if(read_info[0] == EEPROM_SVAE_FLAG){
|
|||
|
|
41e8: d84e0000 ld.b r2, (r14, 0x0)
|
|||
|
|
41ec: 33ae movi r3, 174
|
|||
|
|
41ee: 64ca cmpne r2, r3
|
|||
|
|
41f0: 0c04 bf 0x41f8 // 41f8 <EEPROM_ReadMCUDevInfo+0x34>
|
|||
|
|
return 0x00;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return 0x01;
|
|||
|
|
41f2: 3001 movi r0, 1
|
|||
|
|
}
|
|||
|
|
41f4: 1412 addi r14, r14, 72
|
|||
|
|
41f6: 1491 pop r4, r15
|
|||
|
|
read_len |= read_info[1];
|
|||
|
|
41f8: d82e0002 ld.b r1, (r14, 0x2)
|
|||
|
|
41fc: d86e0001 ld.b r3, (r14, 0x1)
|
|||
|
|
4200: 4128 lsli r1, r1, 8
|
|||
|
|
4202: 6c4c or r1, r3
|
|||
|
|
if(read_len <= EEPROM_DATA_Size_Max){
|
|||
|
|
4204: 3340 movi r3, 64
|
|||
|
|
4206: 644c cmphs r3, r1
|
|||
|
|
4208: 0ff5 bf 0x41f2 // 41f2 <EEPROM_ReadMCUDevInfo+0x2e>
|
|||
|
|
ReadDataArry_U8(EEPROM_MCUDevInfo_Address+EEPROM_Offset_Data,read_len,para_data);
|
|||
|
|
420a: 1a02 addi r2, r14, 8
|
|||
|
|
420c: 1009 lrw r0, 0x10000004 // 4230 <EEPROM_ReadMCUDevInfo+0x6c>
|
|||
|
|
420e: e3fff239 bsr 0x2680 // 2680 <ReadDataArry_U8>
|
|||
|
|
if(EEPROM_CheckSum(para_data,sizeof(E_MCU_DEV_INFO)) == read_info[3]){
|
|||
|
|
4212: 3125 movi r1, 37
|
|||
|
|
4214: 1802 addi r0, r14, 8
|
|||
|
|
4216: e3fffe5f bsr 0x3ed4 // 3ed4 <EEPROM_CheckSum>
|
|||
|
|
421a: d86e0003 ld.b r3, (r14, 0x3)
|
|||
|
|
421e: 640e cmpne r3, r0
|
|||
|
|
4220: 0be9 bt 0x41f2 // 41f2 <EEPROM_ReadMCUDevInfo+0x2e>
|
|||
|
|
memcpy((uint8_t *)info,para_data,sizeof(E_MCU_DEV_INFO));
|
|||
|
|
4222: 3225 movi r2, 37
|
|||
|
|
4224: 1902 addi r1, r14, 8
|
|||
|
|
4226: 6c13 mov r0, r4
|
|||
|
|
4228: e3ffebee bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
return 0x00;
|
|||
|
|
422c: 3000 movi r0, 0
|
|||
|
|
422e: 07e3 br 0x41f4 // 41f4 <EEPROM_ReadMCUDevInfo+0x30>
|
|||
|
|
4230: 10000004 .long 0x10000004
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_WriteMCUDevInfo:
|
|||
|
|
|
|||
|
|
00004234 <EEPROM_WriteMCUDevInfo>:
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : EEPROM_WriteMCUDevInfo
|
|||
|
|
* Description : 将设备信息写入到EEPROM中
|
|||
|
|
*******************************************************************************/
|
|||
|
|
U8_T EEPROM_WriteMCUDevInfo(E_MCU_DEV_INFO *info)
|
|||
|
|
{
|
|||
|
|
4234: 14d0 push r15
|
|||
|
|
4236: 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;
|
|||
|
|
4238: 3300 movi r3, 0
|
|||
|
|
423a: 2b51 subi r3, 82
|
|||
|
|
423c: dc6e0000 st.b r3, (r14, 0x0)
|
|||
|
|
save_data[1] = save_len & 0xFF;
|
|||
|
|
4240: 3325 movi r3, 37
|
|||
|
|
4242: dc6e0001 st.b r3, (r14, 0x1)
|
|||
|
|
save_data[2] = (save_len >> 8) & 0xFF;
|
|||
|
|
4246: 3300 movi r3, 0
|
|||
|
|
4248: dc6e0002 st.b r3, (r14, 0x2)
|
|||
|
|
|
|||
|
|
memcpy(&save_data[4],(uint8_t *)info,save_len);
|
|||
|
|
424c: 1b01 addi r3, r14, 4
|
|||
|
|
{
|
|||
|
|
424e: 6c43 mov r1, r0
|
|||
|
|
memcpy(&save_data[4],(uint8_t *)info,save_len);
|
|||
|
|
4250: 3225 movi r2, 37
|
|||
|
|
4252: 6c0f mov r0, r3
|
|||
|
|
4254: e3ffebd8 bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
|
|||
|
|
save_data[3] = EEPROM_CheckSum(&save_data[4],save_len);
|
|||
|
|
4258: 3125 movi r1, 37
|
|||
|
|
425a: e3fffe3d bsr 0x3ed4 // 3ed4 <EEPROM_CheckSum>
|
|||
|
|
425e: dc0e0003 st.b r0, (r14, 0x3)
|
|||
|
|
|
|||
|
|
save_len+=4;
|
|||
|
|
|
|||
|
|
Page_ProgramData(EEPROM_MCUDevInfo_Address,save_len,save_data);
|
|||
|
|
4262: 3080 movi r0, 128
|
|||
|
|
4264: 4015 lsli r0, r0, 21
|
|||
|
|
4266: 6cbb mov r2, r14
|
|||
|
|
4268: 3129 movi r1, 41
|
|||
|
|
426a: e3fff1bb bsr 0x25e0 // 25e0 <Page_ProgramData>
|
|||
|
|
|
|||
|
|
return 0;
|
|||
|
|
}
|
|||
|
|
426e: 3000 movi r0, 0
|
|||
|
|
4270: 1412 addi r14, r14, 72
|
|||
|
|
4272: 1490 pop r15
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_Default_MCUDevInfo:
|
|||
|
|
|
|||
|
|
00004274 <EEPROM_Default_MCUDevInfo>:
|
|||
|
|
/*******************************************************************************
|
|||
|
|
* Function Name : EEPROM_Default_MCUDevInfo
|
|||
|
|
* Description : EEPROM中参数恢复默认值,且将默认参数保存至EEPROM中
|
|||
|
|
*******************************************************************************/
|
|||
|
|
void EEPROM_Default_MCUDevInfo(E_MCU_DEV_INFO *info)
|
|||
|
|
{
|
|||
|
|
4274: 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 = 0x00;
|
|||
|
|
4276: 3300 movi r3, 0
|
|||
|
|
4278: a060 st.b r3, (r0, 0x0)
|
|||
|
|
info->dev_type = Project_Type;
|
|||
|
|
427a: a061 st.b r3, (r0, 0x1)
|
|||
|
|
info->dev_app_ver = Project_FW_Version;
|
|||
|
|
427c: 3301 movi r3, 1
|
|||
|
|
427e: a063 st.b r3, (r0, 0x3)
|
|||
|
|
info->dev_name_len = sizeof(Peoject_Name);
|
|||
|
|
|
|||
|
|
memset((char *)info->dev_name,0,EEPROM_DEV_NAME_Size);
|
|||
|
|
4280: 58b2 addi r5, r0, 5
|
|||
|
|
info->dev_name_len = sizeof(Peoject_Name);
|
|||
|
|
4282: 330f movi r3, 15
|
|||
|
|
4284: a064 st.b r3, (r0, 0x4)
|
|||
|
|
{
|
|||
|
|
4286: 6d03 mov r4, r0
|
|||
|
|
memset((char *)info->dev_name,0,EEPROM_DEV_NAME_Size);
|
|||
|
|
4288: 3220 movi r2, 32
|
|||
|
|
428a: 3100 movi r1, 0
|
|||
|
|
428c: 6c17 mov r0, r5
|
|||
|
|
428e: e3ffeb77 bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
memcpy((char *)info->dev_name,(char *)Peoject_Name,info->dev_name_len);
|
|||
|
|
4292: 320f movi r2, 15
|
|||
|
|
4294: 1024 lrw r1, 0x4f11 // 42a4 <EEPROM_Default_MCUDevInfo+0x30>
|
|||
|
|
4296: 6c17 mov r0, r5
|
|||
|
|
4298: e3ffebb6 bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
|
|||
|
|
EEPROM_WriteMCUDevInfo(info);
|
|||
|
|
429c: 6c13 mov r0, r4
|
|||
|
|
429e: e3ffffcb bsr 0x4234 // 4234 <EEPROM_WriteMCUDevInfo>
|
|||
|
|
#endif
|
|||
|
|
}
|
|||
|
|
42a2: 1492 pop r4-r5, r15
|
|||
|
|
42a4: 00004f11 .long 0x00004f11
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_Validate_MCUDevInfo:
|
|||
|
|
|
|||
|
|
000042a8 <EEPROM_Validate_MCUDevInfo>:
|
|||
|
|
* Description : 校验从EEPROM 中读取的参数是否正确,如果不正确的话,便将当前正确的参数写入
|
|||
|
|
APP区域中,判断APP参数与EEPROM中记录的是否一致
|
|||
|
|
Boot区域中,判断Boot参数与EEPROM中记录的是否一致
|
|||
|
|
*******************************************************************************/
|
|||
|
|
void EEPROM_Validate_MCUDevInfo(E_MCU_DEV_INFO *info)
|
|||
|
|
{
|
|||
|
|
42a8: 14d3 push r4-r6, r15
|
|||
|
|
}
|
|||
|
|
#elif (Project_Area == 0x02)
|
|||
|
|
/*APP 区域*/
|
|||
|
|
U8_T save_flag = 0;
|
|||
|
|
|
|||
|
|
if(info->dev_app_ver != Project_FW_Version)
|
|||
|
|
42aa: 8063 ld.b r3, (r0, 0x3)
|
|||
|
|
42ac: 3b41 cmpnei r3, 1
|
|||
|
|
{
|
|||
|
|
42ae: 6d03 mov r4, r0
|
|||
|
|
if(info->dev_app_ver != Project_FW_Version)
|
|||
|
|
42b0: 0c21 bf 0x42f2 // 42f2 <EEPROM_Validate_MCUDevInfo+0x4a>
|
|||
|
|
{
|
|||
|
|
info->dev_app_ver = Project_FW_Version;
|
|||
|
|
42b2: 3301 movi r3, 1
|
|||
|
|
42b4: a063 st.b r3, (r0, 0x3)
|
|||
|
|
save_flag = 0x01;
|
|||
|
|
42b6: 3501 movi r5, 1
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(info->dev_type != Project_Type)
|
|||
|
|
42b8: 8461 ld.b r3, (r4, 0x1)
|
|||
|
|
42ba: 3b40 cmpnei r3, 0
|
|||
|
|
42bc: 0c04 bf 0x42c4 // 42c4 <EEPROM_Validate_MCUDevInfo+0x1c>
|
|||
|
|
{
|
|||
|
|
info->dev_type = Project_Type;
|
|||
|
|
42be: 3300 movi r3, 0
|
|||
|
|
42c0: a461 st.b r3, (r4, 0x1)
|
|||
|
|
save_flag = 0x01;
|
|||
|
|
42c2: 3501 movi r5, 1
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(info->dev_name_len != sizeof(Peoject_Name))
|
|||
|
|
42c4: 8464 ld.b r3, (r4, 0x4)
|
|||
|
|
42c6: 3b4f cmpnei r3, 15
|
|||
|
|
42c8: 0c04 bf 0x42d0 // 42d0 <EEPROM_Validate_MCUDevInfo+0x28>
|
|||
|
|
{
|
|||
|
|
info->dev_name_len = sizeof(Peoject_Name);
|
|||
|
|
42ca: 330f movi r3, 15
|
|||
|
|
42cc: a464 st.b r3, (r4, 0x4)
|
|||
|
|
save_flag = 0x01;
|
|||
|
|
42ce: 3501 movi r5, 1
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(strncmp((char *)info->dev_name,(char *)Peoject_Name,sizeof(Peoject_Name)))
|
|||
|
|
42d0: 5cd2 addi r6, r4, 5
|
|||
|
|
42d2: 320f movi r2, 15
|
|||
|
|
42d4: 102a lrw r1, 0x4f11 // 42fc <EEPROM_Validate_MCUDevInfo+0x54>
|
|||
|
|
42d6: 6c1b mov r0, r6
|
|||
|
|
42d8: e3ffebc8 bsr 0x1a68 // 1a68 <__GI_strncmp>
|
|||
|
|
42dc: 3840 cmpnei r0, 0
|
|||
|
|
42de: 0c0c bf 0x42f6 // 42f6 <EEPROM_Validate_MCUDevInfo+0x4e>
|
|||
|
|
{
|
|||
|
|
memcpy((char *)info->dev_name,(char *)Peoject_Name,info->dev_name_len);
|
|||
|
|
42e0: 8444 ld.b r2, (r4, 0x4)
|
|||
|
|
42e2: 1027 lrw r1, 0x4f11 // 42fc <EEPROM_Validate_MCUDevInfo+0x54>
|
|||
|
|
42e4: 6c1b mov r0, r6
|
|||
|
|
42e6: e3ffeb8f bsr 0x1a04 // 1a04 <__memcpy_fast>
|
|||
|
|
save_flag = 0x01;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if(save_flag == 0x01)
|
|||
|
|
{
|
|||
|
|
EEPROM_WriteMCUDevInfo(info);
|
|||
|
|
42ea: 6c13 mov r0, r4
|
|||
|
|
42ec: e3ffffa4 bsr 0x4234 // 4234 <EEPROM_WriteMCUDevInfo>
|
|||
|
|
}
|
|||
|
|
#endif
|
|||
|
|
}
|
|||
|
|
42f0: 0405 br 0x42fa // 42fa <EEPROM_Validate_MCUDevInfo+0x52>
|
|||
|
|
U8_T save_flag = 0;
|
|||
|
|
42f2: 3500 movi r5, 0
|
|||
|
|
42f4: 07e2 br 0x42b8 // 42b8 <EEPROM_Validate_MCUDevInfo+0x10>
|
|||
|
|
if(save_flag == 0x01)
|
|||
|
|
42f6: 3d41 cmpnei r5, 1
|
|||
|
|
42f8: 0ff9 bf 0x42ea // 42ea <EEPROM_Validate_MCUDevInfo+0x42>
|
|||
|
|
}
|
|||
|
|
42fa: 1493 pop r4-r6, r15
|
|||
|
|
42fc: 00004f11 .long 0x00004f11
|
|||
|
|
|
|||
|
|
Disassembly of section .text.EEPROM_Init:
|
|||
|
|
|
|||
|
|
00004300 <EEPROM_Init>:
|
|||
|
|
{
|
|||
|
|
4300: 14d2 push r4-r5, r15
|
|||
|
|
EnIFCClk; //使能 IFC 时钟
|
|||
|
|
4302: 1074 lrw r3, 0x20000060 // 4350 <EEPROM_Init+0x50>
|
|||
|
|
4304: 3201 movi r2, 1
|
|||
|
|
4306: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
4308: b341 st.w r2, (r3, 0x4)
|
|||
|
|
IFC->MR |= 0x10002; //高速模式,延迟 2 个周期
|
|||
|
|
430a: 9345 ld.w r2, (r3, 0x14)
|
|||
|
|
430c: 3aa1 bseti r2, 1
|
|||
|
|
430e: 3ab0 bseti r2, 16
|
|||
|
|
4310: b345 st.w r2, (r3, 0x14)
|
|||
|
|
EEPROM_ReadPara();
|
|||
|
|
4312: e3fffded bsr 0x3eec // 3eec <EEPROM_ReadPara>
|
|||
|
|
memset(&g_mcu_dev,0,sizeof(E_MCU_DEV_INFO));
|
|||
|
|
4316: 1090 lrw r4, 0x20000384 // 4354 <EEPROM_Init+0x54>
|
|||
|
|
4318: 3225 movi r2, 37
|
|||
|
|
431a: 3100 movi r1, 0
|
|||
|
|
431c: 6c13 mov r0, r4
|
|||
|
|
431e: e3ffeb2f bsr 0x197c // 197c <__memset_fast>
|
|||
|
|
rev = EEPROM_ReadMCUDevInfo(&g_mcu_dev);
|
|||
|
|
4322: 6c13 mov r0, r4
|
|||
|
|
4324: e3ffff50 bsr 0x41c4 // 41c4 <EEPROM_ReadMCUDevInfo>
|
|||
|
|
if(g_Dip.addr != g_mcu_dev.dev_addr){
|
|||
|
|
4328: 106c lrw r3, 0x2000035c // 4358 <EEPROM_Init+0x58>
|
|||
|
|
432a: 8366 ld.b r3, (r3, 0x6)
|
|||
|
|
432c: 8440 ld.b r2, (r4, 0x0)
|
|||
|
|
432e: 64ca cmpne r2, r3
|
|||
|
|
rev = EEPROM_ReadMCUDevInfo(&g_mcu_dev);
|
|||
|
|
4330: 6d43 mov r5, r0
|
|||
|
|
if(g_Dip.addr != g_mcu_dev.dev_addr){
|
|||
|
|
4332: 0c05 bf 0x433c // 433c <EEPROM_Init+0x3c>
|
|||
|
|
EEPROM_WriteMCUDevInfo(&g_mcu_dev);
|
|||
|
|
4334: 6c13 mov r0, r4
|
|||
|
|
g_mcu_dev.dev_addr = g_Dip.addr;
|
|||
|
|
4336: a460 st.b r3, (r4, 0x0)
|
|||
|
|
EEPROM_WriteMCUDevInfo(&g_mcu_dev);
|
|||
|
|
4338: e3ffff7e bsr 0x4234 // 4234 <EEPROM_WriteMCUDevInfo>
|
|||
|
|
if(rev == 0x00){
|
|||
|
|
433c: 3d40 cmpnei r5, 0
|
|||
|
|
EEPROM_Validate_MCUDevInfo(&g_mcu_dev);
|
|||
|
|
433e: 1006 lrw r0, 0x20000384 // 4354 <EEPROM_Init+0x54>
|
|||
|
|
if(rev == 0x00){
|
|||
|
|
4340: 0804 bt 0x4348 // 4348 <EEPROM_Init+0x48>
|
|||
|
|
EEPROM_Validate_MCUDevInfo(&g_mcu_dev);
|
|||
|
|
4342: e3ffffb3 bsr 0x42a8 // 42a8 <EEPROM_Validate_MCUDevInfo>
|
|||
|
|
}
|
|||
|
|
4346: 1492 pop r4-r5, r15
|
|||
|
|
EEPROM_Default_MCUDevInfo(&g_mcu_dev);
|
|||
|
|
4348: e3ffff96 bsr 0x4274 // 4274 <EEPROM_Default_MCUDevInfo>
|
|||
|
|
}
|
|||
|
|
434c: 07fd br 0x4346 // 4346 <EEPROM_Init+0x46>
|
|||
|
|
434e: 0000 bkpt
|
|||
|
|
4350: 20000060 .long 0x20000060
|
|||
|
|
4354: 20000384 .long 0x20000384
|
|||
|
|
4358: 2000035c .long 0x2000035c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TK_Sampling_prog:
|
|||
|
|
|
|||
|
|
0000435c <TK_Sampling_prog>:
|
|||
|
|
435c: 14c4 push r4-r7
|
|||
|
|
435e: 1072 lrw r3, 0x20000054 // 43a4 <TK_Sampling_prog+0x48>
|
|||
|
|
4360: 1012 lrw r0, 0x20000652 // 43a8 <TK_Sampling_prog+0x4c>
|
|||
|
|
4362: 1093 lrw r4, 0x200004c3 // 43ac <TK_Sampling_prog+0x50>
|
|||
|
|
4364: 6d83 mov r6, r0
|
|||
|
|
4366: 93a0 ld.w r5, (r3, 0x0)
|
|||
|
|
4368: 3300 movi r3, 0
|
|||
|
|
436a: 4342 lsli r2, r3, 2
|
|||
|
|
436c: 6094 addu r2, r5
|
|||
|
|
436e: 9220 ld.w r1, (r2, 0x0)
|
|||
|
|
4370: 4341 lsli r2, r3, 1
|
|||
|
|
4372: 6080 addu r2, r0
|
|||
|
|
4374: 7445 zexth r1, r1
|
|||
|
|
4376: aa20 st.h r1, (r2, 0x0)
|
|||
|
|
4378: 8440 ld.b r2, (r4, 0x0)
|
|||
|
|
437a: 3a41 cmpnei r2, 1
|
|||
|
|
437c: 080f bt 0x439a // 439a <TK_Sampling_prog+0x3e>
|
|||
|
|
437e: 3300 movi r3, 0
|
|||
|
|
4380: 10ec lrw r7, 0x200003ac // 43b0 <TK_Sampling_prog+0x54>
|
|||
|
|
4382: 4341 lsli r2, r3, 1
|
|||
|
|
4384: 5e28 addu r1, r6, r2
|
|||
|
|
4386: 8920 ld.h r1, (r1, 0x0)
|
|||
|
|
4388: 2300 addi r3, 1
|
|||
|
|
438a: 7445 zexth r1, r1
|
|||
|
|
438c: 609c addu r2, r7
|
|||
|
|
438e: 3b51 cmpnei r3, 17
|
|||
|
|
4390: aa20 st.h r1, (r2, 0x0)
|
|||
|
|
4392: 0bf8 bt 0x4382 // 4382 <TK_Sampling_prog+0x26>
|
|||
|
|
4394: 3300 movi r3, 0
|
|||
|
|
4396: a460 st.b r3, (r4, 0x0)
|
|||
|
|
4398: 3311 movi r3, 17
|
|||
|
|
439a: 2300 addi r3, 1
|
|||
|
|
439c: 74cc zextb r3, r3
|
|||
|
|
439e: 3b10 cmphsi r3, 17
|
|||
|
|
43a0: 0fe5 bf 0x436a // 436a <TK_Sampling_prog+0xe>
|
|||
|
|
43a2: 1484 pop r4-r7
|
|||
|
|
43a4: 20000054 .long 0x20000054
|
|||
|
|
43a8: 20000652 .long 0x20000652
|
|||
|
|
43ac: 200004c3 .long 0x200004c3
|
|||
|
|
43b0: 200003ac .long 0x200003ac
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TKEYIntHandler:
|
|||
|
|
|
|||
|
|
000043b4 <TKEYIntHandler>:
|
|||
|
|
43b4: 1460 nie
|
|||
|
|
43b6: 1462 ipush
|
|||
|
|
43b8: 14d1 push r4, r15
|
|||
|
|
43ba: 109e lrw r4, 0x20000068 // 4430 <TKEYIntHandler+0x7c>
|
|||
|
|
43bc: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
43be: 3b40 cmpnei r3, 0
|
|||
|
|
43c0: 080b bt 0x43d6 // 43d6 <TKEYIntHandler+0x22>
|
|||
|
|
43c2: 3301 movi r3, 1
|
|||
|
|
43c4: b460 st.w r3, (r4, 0x0)
|
|||
|
|
43c6: 107c lrw r3, 0x20000440 // 4434 <TKEYIntHandler+0x80>
|
|||
|
|
43c8: 8360 ld.b r3, (r3, 0x0)
|
|||
|
|
43ca: 3b41 cmpnei r3, 1
|
|||
|
|
43cc: 0805 bt 0x43d6 // 43d6 <TKEYIntHandler+0x22>
|
|||
|
|
43ce: e3ffffc7 bsr 0x435c // 435c <TK_Sampling_prog>
|
|||
|
|
43d2: 3301 movi r3, 1
|
|||
|
|
43d4: a464 st.b r3, (r4, 0x4)
|
|||
|
|
43d6: 1079 lrw r3, 0x20000058 // 4438 <TKEYIntHandler+0x84>
|
|||
|
|
43d8: 3101 movi r1, 1
|
|||
|
|
43da: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
43dc: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
43de: 6884 and r2, r1
|
|||
|
|
43e0: 3a40 cmpnei r2, 0
|
|||
|
|
43e2: 0c02 bf 0x43e6 // 43e6 <TKEYIntHandler+0x32>
|
|||
|
|
43e4: b32c st.w r1, (r3, 0x30)
|
|||
|
|
43e6: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
43e8: 3102 movi r1, 2
|
|||
|
|
43ea: 6884 and r2, r1
|
|||
|
|
43ec: 3a40 cmpnei r2, 0
|
|||
|
|
43ee: 0c02 bf 0x43f2 // 43f2 <TKEYIntHandler+0x3e>
|
|||
|
|
43f0: b32c st.w r1, (r3, 0x30)
|
|||
|
|
43f2: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
43f4: 3104 movi r1, 4
|
|||
|
|
43f6: 6884 and r2, r1
|
|||
|
|
43f8: 3a40 cmpnei r2, 0
|
|||
|
|
43fa: 0c02 bf 0x43fe // 43fe <TKEYIntHandler+0x4a>
|
|||
|
|
43fc: b32c st.w r1, (r3, 0x30)
|
|||
|
|
43fe: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
4400: 3108 movi r1, 8
|
|||
|
|
4402: 6884 and r2, r1
|
|||
|
|
4404: 3a40 cmpnei r2, 0
|
|||
|
|
4406: 0c02 bf 0x440a // 440a <TKEYIntHandler+0x56>
|
|||
|
|
4408: b32c st.w r1, (r3, 0x30)
|
|||
|
|
440a: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
440c: 3110 movi r1, 16
|
|||
|
|
440e: 6884 and r2, r1
|
|||
|
|
4410: 3a40 cmpnei r2, 0
|
|||
|
|
4412: 0c02 bf 0x4416 // 4416 <TKEYIntHandler+0x62>
|
|||
|
|
4414: b32c st.w r1, (r3, 0x30)
|
|||
|
|
4416: 934a ld.w r2, (r3, 0x28)
|
|||
|
|
4418: 3120 movi r1, 32
|
|||
|
|
441a: 6884 and r2, r1
|
|||
|
|
441c: 3a40 cmpnei r2, 0
|
|||
|
|
441e: 0c02 bf 0x4422 // 4422 <TKEYIntHandler+0x6e>
|
|||
|
|
4420: b32c st.w r1, (r3, 0x30)
|
|||
|
|
4422: d9ee2001 ld.w r15, (r14, 0x4)
|
|||
|
|
4426: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
4428: 1402 addi r14, r14, 8
|
|||
|
|
442a: 1463 ipop
|
|||
|
|
442c: 1461 nir
|
|||
|
|
442e: 0000 bkpt
|
|||
|
|
4430: 20000068 .long 0x20000068
|
|||
|
|
4434: 20000440 .long 0x20000440
|
|||
|
|
4438: 20000058 .long 0x20000058
|
|||
|
|
|
|||
|
|
Disassembly of section .text.get_key_number:
|
|||
|
|
|
|||
|
|
0000443c <get_key_number>:
|
|||
|
|
443c: 14c2 push r4-r5
|
|||
|
|
443e: 3200 movi r2, 0
|
|||
|
|
4440: 3000 movi r0, 0
|
|||
|
|
4442: 1088 lrw r4, 0x200004e0 // 4460 <get_key_number+0x24>
|
|||
|
|
4444: 3501 movi r5, 1
|
|||
|
|
4446: 3120 movi r1, 32
|
|||
|
|
4448: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
444a: 70c9 lsr r3, r2
|
|||
|
|
444c: 68d4 and r3, r5
|
|||
|
|
444e: 3b40 cmpnei r3, 0
|
|||
|
|
4450: 0c02 bf 0x4454 // 4454 <get_key_number+0x18>
|
|||
|
|
4452: 2000 addi r0, 1
|
|||
|
|
4454: 2200 addi r2, 1
|
|||
|
|
4456: 644a cmpne r2, r1
|
|||
|
|
4458: 0bf8 bt 0x4448 // 4448 <get_key_number+0xc>
|
|||
|
|
445a: 7400 zextb r0, r0
|
|||
|
|
445c: 1482 pop r4-r5
|
|||
|
|
445e: 0000 bkpt
|
|||
|
|
4460: 200004e0 .long 0x200004e0
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TK_Scan_Start:
|
|||
|
|
|
|||
|
|
00004464 <TK_Scan_Start>:
|
|||
|
|
4464: 1046 lrw r2, 0x20000068 // 447c <TK_Scan_Start+0x18>
|
|||
|
|
4466: 8264 ld.b r3, (r2, 0x4)
|
|||
|
|
4468: 74cc zextb r3, r3
|
|||
|
|
446a: 3b41 cmpnei r3, 1
|
|||
|
|
446c: 0807 bt 0x447a // 447a <TK_Scan_Start+0x16>
|
|||
|
|
446e: 1025 lrw r1, 0x20000058 // 4480 <TK_Scan_Start+0x1c>
|
|||
|
|
4470: 9120 ld.w r1, (r1, 0x0)
|
|||
|
|
4472: b162 st.w r3, (r1, 0x8)
|
|||
|
|
4474: 3300 movi r3, 0
|
|||
|
|
4476: b260 st.w r3, (r2, 0x0)
|
|||
|
|
4478: a264 st.b r3, (r2, 0x4)
|
|||
|
|
447a: 783c jmp r15
|
|||
|
|
447c: 20000068 .long 0x20000068
|
|||
|
|
4480: 20000058 .long 0x20000058
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TK_Keymap_prog:
|
|||
|
|
|
|||
|
|
00004484 <TK_Keymap_prog>:
|
|||
|
|
4484: 14d4 push r4-r7, r15
|
|||
|
|
4486: 1425 subi r14, r14, 20
|
|||
|
|
4488: 1271 lrw r3, 0x200000ec // 45cc <TK_Keymap_prog+0x148>
|
|||
|
|
448a: 8360 ld.b r3, (r3, 0x0)
|
|||
|
|
448c: b860 st.w r3, (r14, 0x0)
|
|||
|
|
448e: 3400 movi r4, 0
|
|||
|
|
4490: 1270 lrw r3, 0x200000c0 // 45d0 <TK_Keymap_prog+0x14c>
|
|||
|
|
4492: 8360 ld.b r3, (r3, 0x0)
|
|||
|
|
4494: b861 st.w r3, (r14, 0x4)
|
|||
|
|
4496: 12f0 lrw r7, 0x20000456 // 45d4 <TK_Keymap_prog+0x150>
|
|||
|
|
4498: 1270 lrw r3, 0x200000c9 // 45d8 <TK_Keymap_prog+0x154>
|
|||
|
|
449a: 83a0 ld.b r5, (r3, 0x0)
|
|||
|
|
449c: 1270 lrw r3, 0x200000c8 // 45dc <TK_Keymap_prog+0x158>
|
|||
|
|
449e: 8360 ld.b r3, (r3, 0x0)
|
|||
|
|
44a0: b862 st.w r3, (r14, 0x8)
|
|||
|
|
44a2: 6d9f mov r6, r7
|
|||
|
|
44a4: 126f lrw r3, 0x20000652 // 45e0 <TK_Keymap_prog+0x15c>
|
|||
|
|
44a6: b863 st.w r3, (r14, 0xc)
|
|||
|
|
44a8: 4461 lsli r3, r4, 1
|
|||
|
|
44aa: 9843 ld.w r2, (r14, 0xc)
|
|||
|
|
44ac: 608c addu r2, r3
|
|||
|
|
44ae: 122e lrw r1, 0x200003ac // 45e4 <TK_Keymap_prog+0x160>
|
|||
|
|
44b0: 604c addu r1, r3
|
|||
|
|
44b2: 8a40 ld.h r2, (r2, 0x0)
|
|||
|
|
44b4: 8920 ld.h r1, (r1, 0x0)
|
|||
|
|
44b6: 6086 subu r2, r1
|
|||
|
|
44b8: 748b sexth r2, r2
|
|||
|
|
44ba: 5f2c addu r1, r7, r3
|
|||
|
|
44bc: a940 st.h r2, (r1, 0x0)
|
|||
|
|
44be: 8940 ld.h r2, (r1, 0x0)
|
|||
|
|
44c0: 748b sexth r2, r2
|
|||
|
|
44c2: 3adf btsti r2, 31
|
|||
|
|
44c4: 1249 lrw r2, 0x2000060e // 45e8 <TK_Keymap_prog+0x164>
|
|||
|
|
44c6: 608c addu r2, r3
|
|||
|
|
44c8: 0c37 bf 0x4536 // 4536 <TK_Keymap_prog+0xb2>
|
|||
|
|
44ca: 3100 movi r1, 0
|
|||
|
|
44cc: aa20 st.h r1, (r2, 0x0)
|
|||
|
|
44ce: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
44d0: 3a01 cmphsi r2, 2
|
|||
|
|
44d2: 0c6d bf 0x45ac // 45ac <TK_Keymap_prog+0x128>
|
|||
|
|
44d4: 4461 lsli r3, r4, 1
|
|||
|
|
44d6: 5e2c addu r1, r6, r3
|
|||
|
|
44d8: 1205 lrw r0, 0x2000011a // 45ec <TK_Keymap_prog+0x168>
|
|||
|
|
44da: 8940 ld.h r2, (r1, 0x0)
|
|||
|
|
44dc: 60c0 addu r3, r0
|
|||
|
|
44de: 748b sexth r2, r2
|
|||
|
|
44e0: 8b60 ld.h r3, (r3, 0x0)
|
|||
|
|
44e2: 648d cmplt r3, r2
|
|||
|
|
44e4: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
44e6: 7cc8 mult r3, r2
|
|||
|
|
44e8: 0c2a bf 0x453c // 453c <TK_Keymap_prog+0xb8>
|
|||
|
|
44ea: 8940 ld.h r2, (r1, 0x0)
|
|||
|
|
44ec: 748b sexth r2, r2
|
|||
|
|
44ee: 64c9 cmplt r2, r3
|
|||
|
|
44f0: 0c26 bf 0x453c // 453c <TK_Keymap_prog+0xb8>
|
|||
|
|
44f2: 1240 lrw r2, 0x20000444 // 45f0 <TK_Keymap_prog+0x16c>
|
|||
|
|
44f4: 6090 addu r2, r4
|
|||
|
|
44f6: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
44f8: 2300 addi r3, 1
|
|||
|
|
44fa: 74cc zextb r3, r3
|
|||
|
|
44fc: a260 st.b r3, (r2, 0x0)
|
|||
|
|
44fe: 3100 movi r1, 0
|
|||
|
|
4500: 117d lrw r3, 0x2000042a // 45f4 <TK_Keymap_prog+0x170>
|
|||
|
|
4502: 60d0 addu r3, r4
|
|||
|
|
4504: a320 st.b r1, (r3, 0x0)
|
|||
|
|
4506: 117d lrw r3, 0x20000506 // 45f8 <TK_Keymap_prog+0x174>
|
|||
|
|
4508: 60d0 addu r3, r4
|
|||
|
|
450a: a320 st.b r1, (r3, 0x0)
|
|||
|
|
450c: 117c lrw r3, 0x20000580 // 45fc <TK_Keymap_prog+0x178>
|
|||
|
|
450e: 60d0 addu r3, r4
|
|||
|
|
4510: a320 st.b r1, (r3, 0x0)
|
|||
|
|
4512: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
4514: 9821 ld.w r1, (r14, 0x4)
|
|||
|
|
4516: 64c4 cmphs r1, r3
|
|||
|
|
4518: 081f bt 0x4556 // 4556 <TK_Keymap_prog+0xd2>
|
|||
|
|
451a: 3d40 cmpnei r5, 0
|
|||
|
|
451c: 0852 bt 0x45c0 // 45c0 <TK_Keymap_prog+0x13c>
|
|||
|
|
451e: 1139 lrw r1, 0x2000043c // 4600 <TK_Keymap_prog+0x17c>
|
|||
|
|
4520: 9160 ld.w r3, (r1, 0x0)
|
|||
|
|
4522: 3b40 cmpnei r3, 0
|
|||
|
|
4524: 0806 bt 0x4530 // 4530 <TK_Keymap_prog+0xac>
|
|||
|
|
4526: 9100 ld.w r0, (r1, 0x0)
|
|||
|
|
4528: 3301 movi r3, 1
|
|||
|
|
452a: 70d0 lsl r3, r4
|
|||
|
|
452c: 6cc0 or r3, r0
|
|||
|
|
452e: b160 st.w r3, (r1, 0x0)
|
|||
|
|
4530: 3300 movi r3, 0
|
|||
|
|
4532: a260 st.b r3, (r2, 0x0)
|
|||
|
|
4534: 0411 br 0x4556 // 4556 <TK_Keymap_prog+0xd2>
|
|||
|
|
4536: 8920 ld.h r1, (r1, 0x0)
|
|||
|
|
4538: 7445 zexth r1, r1
|
|||
|
|
453a: 07c9 br 0x44cc // 44cc <TK_Keymap_prog+0x48>
|
|||
|
|
453c: 4441 lsli r2, r4, 1
|
|||
|
|
453e: 6098 addu r2, r6
|
|||
|
|
4540: 8a40 ld.h r2, (r2, 0x0)
|
|||
|
|
4542: 748b sexth r2, r2
|
|||
|
|
4544: 648d cmplt r3, r2
|
|||
|
|
4546: 0c08 bf 0x4556 // 4556 <TK_Keymap_prog+0xd2>
|
|||
|
|
4548: 3300 movi r3, 0
|
|||
|
|
454a: 114e lrw r2, 0x2000043c // 4600 <TK_Keymap_prog+0x17c>
|
|||
|
|
454c: 2b01 subi r3, 2
|
|||
|
|
454e: 9220 ld.w r1, (r2, 0x0)
|
|||
|
|
4550: 70d3 rotl r3, r4
|
|||
|
|
4552: 68c4 and r3, r1
|
|||
|
|
4554: b260 st.w r3, (r2, 0x0)
|
|||
|
|
4556: 4441 lsli r2, r4, 1
|
|||
|
|
4558: 5e68 addu r3, r6, r2
|
|||
|
|
455a: 8b60 ld.h r3, (r3, 0x0)
|
|||
|
|
455c: 74cf sexth r3, r3
|
|||
|
|
455e: b864 st.w r3, (r14, 0x10)
|
|||
|
|
4560: 3105 movi r1, 5
|
|||
|
|
4562: 1163 lrw r3, 0x2000011a // 45ec <TK_Keymap_prog+0x168>
|
|||
|
|
4564: 608c addu r2, r3
|
|||
|
|
4566: 8a00 ld.h r0, (r2, 0x0)
|
|||
|
|
4568: 4002 lsli r0, r0, 2
|
|||
|
|
456a: e3fff61f bsr 0x31a8 // 31a8 <__divsi3>
|
|||
|
|
456e: 9864 ld.w r3, (r14, 0x10)
|
|||
|
|
4570: 640d cmplt r3, r0
|
|||
|
|
4572: 0c18 bf 0x45a2 // 45a2 <TK_Keymap_prog+0x11e>
|
|||
|
|
4574: 1140 lrw r2, 0x2000042a // 45f4 <TK_Keymap_prog+0x170>
|
|||
|
|
4576: 6090 addu r2, r4
|
|||
|
|
4578: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
457a: 2300 addi r3, 1
|
|||
|
|
457c: 74cc zextb r3, r3
|
|||
|
|
457e: a260 st.b r3, (r2, 0x0)
|
|||
|
|
4580: 3100 movi r1, 0
|
|||
|
|
4582: 107c lrw r3, 0x20000444 // 45f0 <TK_Keymap_prog+0x16c>
|
|||
|
|
4584: 60d0 addu r3, r4
|
|||
|
|
4586: a320 st.b r1, (r3, 0x0)
|
|||
|
|
4588: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
458a: 9822 ld.w r1, (r14, 0x8)
|
|||
|
|
458c: 64c4 cmphs r1, r3
|
|||
|
|
458e: 080a bt 0x45a2 // 45a2 <TK_Keymap_prog+0x11e>
|
|||
|
|
4590: 3300 movi r3, 0
|
|||
|
|
4592: 103c lrw r1, 0x2000043c // 4600 <TK_Keymap_prog+0x17c>
|
|||
|
|
4594: 2b01 subi r3, 2
|
|||
|
|
4596: 9100 ld.w r0, (r1, 0x0)
|
|||
|
|
4598: 70d3 rotl r3, r4
|
|||
|
|
459a: 68c0 and r3, r0
|
|||
|
|
459c: b160 st.w r3, (r1, 0x0)
|
|||
|
|
459e: 3300 movi r3, 0
|
|||
|
|
45a0: a260 st.b r3, (r2, 0x0)
|
|||
|
|
45a2: 2400 addi r4, 1
|
|||
|
|
45a4: 3c51 cmpnei r4, 17
|
|||
|
|
45a6: 0b81 bt 0x44a8 // 44a8 <TK_Keymap_prog+0x24>
|
|||
|
|
45a8: 1405 addi r14, r14, 20
|
|||
|
|
45aa: 1494 pop r4-r7, r15
|
|||
|
|
45ac: 60d8 addu r3, r6
|
|||
|
|
45ae: 4441 lsli r2, r4, 1
|
|||
|
|
45b0: 102f lrw r1, 0x2000011a // 45ec <TK_Keymap_prog+0x168>
|
|||
|
|
45b2: 8b60 ld.h r3, (r3, 0x0)
|
|||
|
|
45b4: 6084 addu r2, r1
|
|||
|
|
45b6: 74cf sexth r3, r3
|
|||
|
|
45b8: 8a40 ld.h r2, (r2, 0x0)
|
|||
|
|
45ba: 64c9 cmplt r2, r3
|
|||
|
|
45bc: 0fcd bf 0x4556 // 4556 <TK_Keymap_prog+0xd2>
|
|||
|
|
45be: 079a br 0x44f2 // 44f2 <TK_Keymap_prog+0x6e>
|
|||
|
|
45c0: 3d41 cmpnei r5, 1
|
|||
|
|
45c2: 0bb7 bt 0x4530 // 4530 <TK_Keymap_prog+0xac>
|
|||
|
|
45c4: 102f lrw r1, 0x2000043c // 4600 <TK_Keymap_prog+0x17c>
|
|||
|
|
45c6: 6cd7 mov r3, r5
|
|||
|
|
45c8: 9100 ld.w r0, (r1, 0x0)
|
|||
|
|
45ca: 07b0 br 0x452a // 452a <TK_Keymap_prog+0xa6>
|
|||
|
|
45cc: 200000ec .long 0x200000ec
|
|||
|
|
45d0: 200000c0 .long 0x200000c0
|
|||
|
|
45d4: 20000456 .long 0x20000456
|
|||
|
|
45d8: 200000c9 .long 0x200000c9
|
|||
|
|
45dc: 200000c8 .long 0x200000c8
|
|||
|
|
45e0: 20000652 .long 0x20000652
|
|||
|
|
45e4: 200003ac .long 0x200003ac
|
|||
|
|
45e8: 2000060e .long 0x2000060e
|
|||
|
|
45ec: 2000011a .long 0x2000011a
|
|||
|
|
45f0: 20000444 .long 0x20000444
|
|||
|
|
45f4: 2000042a .long 0x2000042a
|
|||
|
|
45f8: 20000506 .long 0x20000506
|
|||
|
|
45fc: 20000580 .long 0x20000580
|
|||
|
|
4600: 2000043c .long 0x2000043c
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TK_overflow_predict:
|
|||
|
|
|
|||
|
|
00004604 <TK_overflow_predict>:
|
|||
|
|
4604: 14d4 push r4-r7, r15
|
|||
|
|
4606: 1421 subi r14, r14, 4
|
|||
|
|
4608: 11d9 lrw r6, 0x20000068 // 46ec <TK_overflow_predict+0xe8>
|
|||
|
|
460a: 8665 ld.b r3, (r6, 0x5)
|
|||
|
|
460c: 3b41 cmpnei r3, 1
|
|||
|
|
460e: 085f bt 0x46cc // 46cc <TK_overflow_predict+0xc8>
|
|||
|
|
4610: 1158 lrw r2, 0x2000055c // 46f0 <TK_overflow_predict+0xec>
|
|||
|
|
4612: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
4614: 2300 addi r3, 1
|
|||
|
|
4616: 74cc zextb r3, r3
|
|||
|
|
4618: a260 st.b r3, (r2, 0x0)
|
|||
|
|
461a: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
461c: 1136 lrw r1, 0x200000ed // 46f4 <TK_overflow_predict+0xf0>
|
|||
|
|
461e: 8120 ld.b r1, (r1, 0x0)
|
|||
|
|
4620: 64c4 cmphs r1, r3
|
|||
|
|
4622: 0855 bt 0x46cc // 46cc <TK_overflow_predict+0xc8>
|
|||
|
|
4624: 3300 movi r3, 0
|
|||
|
|
4626: a260 st.b r3, (r2, 0x0)
|
|||
|
|
4628: 3500 movi r5, 0
|
|||
|
|
462a: 11f4 lrw r7, 0x200000f0 // 46f8 <TK_overflow_predict+0xf4>
|
|||
|
|
462c: 2605 addi r6, 6
|
|||
|
|
462e: 9760 ld.w r3, (r7, 0x0)
|
|||
|
|
4630: 70d5 lsr r3, r5
|
|||
|
|
4632: 3201 movi r2, 1
|
|||
|
|
4634: 68c8 and r3, r2
|
|||
|
|
4636: 3b40 cmpnei r3, 0
|
|||
|
|
4638: 0c34 bf 0x46a0 // 46a0 <TK_overflow_predict+0x9c>
|
|||
|
|
463a: 4581 lsli r4, r5, 1
|
|||
|
|
463c: 5e70 addu r3, r6, r4
|
|||
|
|
463e: 8b00 ld.h r0, (r3, 0x0)
|
|||
|
|
4640: e3ffe7bc bsr 0x15b8 // 15b8 <__floatunsidf>
|
|||
|
|
4644: 6cc7 mov r3, r1
|
|||
|
|
4646: 3180 movi r1, 128
|
|||
|
|
4648: 6c83 mov r2, r0
|
|||
|
|
464a: 4137 lsli r1, r1, 23
|
|||
|
|
464c: 3000 movi r0, 0
|
|||
|
|
464e: e3ffddb3 bsr 0x1b4 // 1b4 <__GI_pow>
|
|||
|
|
4652: 116b lrw r3, 0x200000f6 // 46fc <TK_overflow_predict+0xf8>
|
|||
|
|
4654: 60d0 addu r3, r4
|
|||
|
|
4656: 8b60 ld.h r3, (r3, 0x0)
|
|||
|
|
4658: 4364 lsli r3, r3, 4
|
|||
|
|
465a: 230e addi r3, 15
|
|||
|
|
465c: b860 st.w r3, (r14, 0x0)
|
|||
|
|
465e: e3ffe365 bsr 0xd28 // d28 <__fixunsdfsi>
|
|||
|
|
4662: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
4664: 7cc0 mult r3, r0
|
|||
|
|
4666: 1147 lrw r2, 0x200005ec // 4700 <TK_overflow_predict+0xfc>
|
|||
|
|
4668: 740d zexth r0, r3
|
|||
|
|
466a: 6090 addu r2, r4
|
|||
|
|
466c: 1166 lrw r3, 0x20000652 // 4704 <TK_overflow_predict+0x100>
|
|||
|
|
466e: 60d0 addu r3, r4
|
|||
|
|
4670: aa00 st.h r0, (r2, 0x0)
|
|||
|
|
4672: 8b60 ld.h r3, (r3, 0x0)
|
|||
|
|
4674: 8a00 ld.h r0, (r2, 0x0)
|
|||
|
|
4676: 7401 zexth r0, r0
|
|||
|
|
4678: 325f movi r2, 95
|
|||
|
|
467a: 74cd zexth r3, r3
|
|||
|
|
467c: 7c08 mult r0, r2
|
|||
|
|
467e: 3164 movi r1, 100
|
|||
|
|
4680: b860 st.w r3, (r14, 0x0)
|
|||
|
|
4682: e3fff593 bsr 0x31a8 // 31a8 <__divsi3>
|
|||
|
|
4686: 9860 ld.w r3, (r14, 0x0)
|
|||
|
|
4688: 64c1 cmplt r0, r3
|
|||
|
|
468a: 0c0b bf 0x46a0 // 46a0 <TK_overflow_predict+0x9c>
|
|||
|
|
468c: 107f lrw r3, 0x200000ca // 4708 <TK_overflow_predict+0x104>
|
|||
|
|
468e: 610c addu r4, r3
|
|||
|
|
4690: 8c60 ld.h r3, (r4, 0x0)
|
|||
|
|
4692: 3b06 cmphsi r3, 7
|
|||
|
|
4694: 0806 bt 0x46a0 // 46a0 <TK_overflow_predict+0x9c>
|
|||
|
|
4696: 2300 addi r3, 1
|
|||
|
|
4698: ac60 st.h r3, (r4, 0x0)
|
|||
|
|
469a: 3201 movi r2, 1
|
|||
|
|
469c: 107c lrw r3, 0x200004b1 // 470c <TK_overflow_predict+0x108>
|
|||
|
|
469e: a340 st.b r2, (r3, 0x0)
|
|||
|
|
46a0: 2500 addi r5, 1
|
|||
|
|
46a2: 3d51 cmpnei r5, 17
|
|||
|
|
46a4: 0bc5 bt 0x462e // 462e <TK_overflow_predict+0x2a>
|
|||
|
|
46a6: 107a lrw r3, 0x200004b1 // 470c <TK_overflow_predict+0x108>
|
|||
|
|
46a8: 8340 ld.b r2, (r3, 0x0)
|
|||
|
|
46aa: 3a41 cmpnei r2, 1
|
|||
|
|
46ac: 0810 bt 0x46cc // 46cc <TK_overflow_predict+0xc8>
|
|||
|
|
46ae: 3200 movi r2, 0
|
|||
|
|
46b0: a340 st.b r2, (r3, 0x0)
|
|||
|
|
46b2: 3200 movi r2, 0
|
|||
|
|
46b4: 1077 lrw r3, 0x20000058 // 4710 <TK_overflow_predict+0x10c>
|
|||
|
|
46b6: 1018 lrw r0, 0x2000057f // 4714 <TK_overflow_predict+0x110>
|
|||
|
|
46b8: 10b8 lrw r5, 0x200005b8 // 4718 <TK_overflow_predict+0x114>
|
|||
|
|
46ba: 10d4 lrw r6, 0x200000ca // 4708 <TK_overflow_predict+0x104>
|
|||
|
|
46bc: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
46be: b342 st.w r2, (r3, 0x8)
|
|||
|
|
46c0: 1077 lrw r3, 0x20000054 // 471c <TK_overflow_predict+0x118>
|
|||
|
|
46c2: 9380 ld.w r4, (r3, 0x0)
|
|||
|
|
46c4: 3300 movi r3, 0
|
|||
|
|
46c6: 8040 ld.b r2, (r0, 0x0)
|
|||
|
|
46c8: 648c cmphs r3, r2
|
|||
|
|
46ca: 0c03 bf 0x46d0 // 46d0 <TK_overflow_predict+0xcc>
|
|||
|
|
46cc: 1401 addi r14, r14, 4
|
|||
|
|
46ce: 1494 pop r4-r7, r15
|
|||
|
|
46d0: 5d4c addu r2, r5, r3
|
|||
|
|
46d2: 8240 ld.b r2, (r2, 0x0)
|
|||
|
|
46d4: 4241 lsli r2, r2, 1
|
|||
|
|
46d6: 4322 lsli r1, r3, 2
|
|||
|
|
46d8: 6098 addu r2, r6
|
|||
|
|
46da: 6050 addu r1, r4
|
|||
|
|
46dc: 8a40 ld.h r2, (r2, 0x0)
|
|||
|
|
46de: 91f2 ld.w r7, (r1, 0x48)
|
|||
|
|
46e0: 4254 lsli r2, r2, 20
|
|||
|
|
46e2: 6c9c or r2, r7
|
|||
|
|
46e4: 2300 addi r3, 1
|
|||
|
|
46e6: b152 st.w r2, (r1, 0x48)
|
|||
|
|
46e8: 74cc zextb r3, r3
|
|||
|
|
46ea: 07ee br 0x46c6 // 46c6 <TK_overflow_predict+0xc2>
|
|||
|
|
46ec: 20000068 .long 0x20000068
|
|||
|
|
46f0: 2000055c .long 0x2000055c
|
|||
|
|
46f4: 200000ed .long 0x200000ed
|
|||
|
|
46f8: 200000f0 .long 0x200000f0
|
|||
|
|
46fc: 200000f6 .long 0x200000f6
|
|||
|
|
4700: 200005ec .long 0x200005ec
|
|||
|
|
4704: 20000652 .long 0x20000652
|
|||
|
|
4708: 200000ca .long 0x200000ca
|
|||
|
|
470c: 200004b1 .long 0x200004b1
|
|||
|
|
4710: 20000058 .long 0x20000058
|
|||
|
|
4714: 2000057f .long 0x2000057f
|
|||
|
|
4718: 200005b8 .long 0x200005b8
|
|||
|
|
471c: 20000054 .long 0x20000054
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TK_Baseline_tracking:
|
|||
|
|
|
|||
|
|
00004720 <TK_Baseline_tracking>:
|
|||
|
|
4720: 14c4 push r4-r7
|
|||
|
|
4722: 1422 subi r14, r14, 8
|
|||
|
|
4724: 1348 lrw r2, 0x200004de // 48c4 <TK_Baseline_tracking+0x1a4>
|
|||
|
|
4726: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
4728: 2300 addi r3, 1
|
|||
|
|
472a: 74cc zextb r3, r3
|
|||
|
|
472c: a260 st.b r3, (r2, 0x0)
|
|||
|
|
472e: 8260 ld.b r3, (r2, 0x0)
|
|||
|
|
4730: 1326 lrw r1, 0x200000ed // 48c8 <TK_Baseline_tracking+0x1a8>
|
|||
|
|
4732: 8120 ld.b r1, (r1, 0x0)
|
|||
|
|
4734: 644c cmphs r3, r1
|
|||
|
|
4736: 0cad bf 0x4890 // 4890 <TK_Baseline_tracking+0x170>
|
|||
|
|
4738: 3300 movi r3, 0
|
|||
|
|
473a: a260 st.b r3, (r2, 0x0)
|
|||
|
|
473c: 1364 lrw r3, 0x2000043c // 48cc <TK_Baseline_tracking+0x1ac>
|
|||
|
|
473e: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
4740: 3b40 cmpnei r3, 0
|
|||
|
|
4742: 08a7 bt 0x4890 // 4890 <TK_Baseline_tracking+0x170>
|
|||
|
|
4744: 1323 lrw r1, 0x20000456 // 48d0 <TK_Baseline_tracking+0x1b0>
|
|||
|
|
4746: 6dc7 mov r7, r1
|
|||
|
|
4748: b820 st.w r1, (r14, 0x0)
|
|||
|
|
474a: 3200 movi r2, 0
|
|||
|
|
474c: 1362 lrw r3, 0x2000011a // 48d4 <TK_Baseline_tracking+0x1b4>
|
|||
|
|
474e: 1323 lrw r1, 0x200003ac // 48d8 <TK_Baseline_tracking+0x1b8>
|
|||
|
|
4750: 4201 lsli r0, r2, 1
|
|||
|
|
4752: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
4754: 6100 addu r4, r0
|
|||
|
|
4756: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
4758: 7513 sexth r4, r4
|
|||
|
|
475a: 3cdf btsti r4, 31
|
|||
|
|
475c: 0c27 bf 0x47aa // 47aa <TK_Baseline_tracking+0x8a>
|
|||
|
|
475e: 13a0 lrw r5, 0x20000652 // 48dc <TK_Baseline_tracking+0x1bc>
|
|||
|
|
4760: 5980 addu r4, r1, r0
|
|||
|
|
4762: 6014 addu r0, r5
|
|||
|
|
4764: b881 st.w r4, (r14, 0x4)
|
|||
|
|
4766: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
4768: 88c0 ld.h r6, (r0, 0x0)
|
|||
|
|
476a: 7511 zexth r4, r4
|
|||
|
|
476c: 7599 zexth r6, r6
|
|||
|
|
476e: 8ba0 ld.h r5, (r3, 0x0)
|
|||
|
|
4770: 611a subu r4, r6
|
|||
|
|
4772: 6551 cmplt r4, r5
|
|||
|
|
4774: 081b bt 0x47aa // 47aa <TK_Baseline_tracking+0x8a>
|
|||
|
|
4776: 9881 ld.w r4, (r14, 0x4)
|
|||
|
|
4778: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
477a: 8800 ld.h r0, (r0, 0x0)
|
|||
|
|
477c: 7511 zexth r4, r4
|
|||
|
|
477e: 7401 zexth r0, r0
|
|||
|
|
4780: 5c01 subu r0, r4, r0
|
|||
|
|
4782: 4581 lsli r4, r5, 1
|
|||
|
|
4784: 6150 addu r5, r4
|
|||
|
|
4786: 6541 cmplt r0, r5
|
|||
|
|
4788: 0c11 bf 0x47aa // 47aa <TK_Baseline_tracking+0x8a>
|
|||
|
|
478a: 1296 lrw r4, 0x20000580 // 48e0 <TK_Baseline_tracking+0x1c0>
|
|||
|
|
478c: 6108 addu r4, r2
|
|||
|
|
478e: 8400 ld.b r0, (r4, 0x0)
|
|||
|
|
4790: 2000 addi r0, 1
|
|||
|
|
4792: 7400 zextb r0, r0
|
|||
|
|
4794: a400 st.b r0, (r4, 0x0)
|
|||
|
|
4796: 1214 lrw r0, 0x20000088 // 48e4 <TK_Baseline_tracking+0x1c4>
|
|||
|
|
4798: 84a0 ld.b r5, (r4, 0x0)
|
|||
|
|
479a: 8008 ld.b r0, (r0, 0x8)
|
|||
|
|
479c: 6540 cmphs r0, r5
|
|||
|
|
479e: 0806 bt 0x47aa // 47aa <TK_Baseline_tracking+0x8a>
|
|||
|
|
47a0: 1212 lrw r0, 0x200004c3 // 48e8 <TK_Baseline_tracking+0x1c8>
|
|||
|
|
47a2: 3501 movi r5, 1
|
|||
|
|
47a4: a0a0 st.b r5, (r0, 0x0)
|
|||
|
|
47a6: 3000 movi r0, 0
|
|||
|
|
47a8: a400 st.b r0, (r4, 0x0)
|
|||
|
|
47aa: 4201 lsli r0, r2, 1
|
|||
|
|
47ac: 5f80 addu r4, r7, r0
|
|||
|
|
47ae: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
47b0: 7513 sexth r4, r4
|
|||
|
|
47b2: 3c20 cmplti r4, 1
|
|||
|
|
47b4: 0870 bt 0x4894 // 4894 <TK_Baseline_tracking+0x174>
|
|||
|
|
47b6: 128a lrw r4, 0x20000652 // 48dc <TK_Baseline_tracking+0x1bc>
|
|||
|
|
47b8: 6100 addu r4, r0
|
|||
|
|
47ba: 59a0 addu r5, r1, r0
|
|||
|
|
47bc: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
47be: 8da0 ld.h r5, (r5, 0x0)
|
|||
|
|
47c0: 7555 zexth r5, r5
|
|||
|
|
47c2: 7511 zexth r4, r4
|
|||
|
|
47c4: 6116 subu r4, r5
|
|||
|
|
47c6: 8ba0 ld.h r5, (r3, 0x0)
|
|||
|
|
47c8: 45a2 lsli r5, r5, 2
|
|||
|
|
47ca: 6551 cmplt r4, r5
|
|||
|
|
47cc: 0864 bt 0x4894 // 4894 <TK_Baseline_tracking+0x174>
|
|||
|
|
47ce: 1288 lrw r4, 0x20000506 // 48ec <TK_Baseline_tracking+0x1cc>
|
|||
|
|
47d0: 6108 addu r4, r2
|
|||
|
|
47d2: 84a0 ld.b r5, (r4, 0x0)
|
|||
|
|
47d4: 2500 addi r5, 1
|
|||
|
|
47d6: 7554 zextb r5, r5
|
|||
|
|
47d8: a4a0 st.b r5, (r4, 0x0)
|
|||
|
|
47da: 12a3 lrw r5, 0x20000088 // 48e4 <TK_Baseline_tracking+0x1c4>
|
|||
|
|
47dc: 84c0 ld.b r6, (r4, 0x0)
|
|||
|
|
47de: 85a9 ld.b r5, (r5, 0x9)
|
|||
|
|
47e0: 6594 cmphs r5, r6
|
|||
|
|
47e2: 0806 bt 0x47ee // 47ee <TK_Baseline_tracking+0xce>
|
|||
|
|
47e4: 12a1 lrw r5, 0x200004c3 // 48e8 <TK_Baseline_tracking+0x1c8>
|
|||
|
|
47e6: 3601 movi r6, 1
|
|||
|
|
47e8: a5c0 st.b r6, (r5, 0x0)
|
|||
|
|
47ea: 3500 movi r5, 0
|
|||
|
|
47ec: a4a0 st.b r5, (r4, 0x0)
|
|||
|
|
47ee: 5f80 addu r4, r7, r0
|
|||
|
|
47f0: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
47f2: 7513 sexth r4, r4
|
|||
|
|
47f4: 3cdf btsti r4, 31
|
|||
|
|
47f6: 0c10 bf 0x4816 // 4816 <TK_Baseline_tracking+0xf6>
|
|||
|
|
47f8: 11d9 lrw r6, 0x20000652 // 48dc <TK_Baseline_tracking+0x1bc>
|
|||
|
|
47fa: 59a0 addu r5, r1, r0
|
|||
|
|
47fc: 6180 addu r6, r0
|
|||
|
|
47fe: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
4800: 8ec0 ld.h r6, (r6, 0x0)
|
|||
|
|
4802: 7599 zexth r6, r6
|
|||
|
|
4804: 7511 zexth r4, r4
|
|||
|
|
4806: 611a subu r4, r6
|
|||
|
|
4808: 8bc0 ld.h r6, (r3, 0x0)
|
|||
|
|
480a: 6591 cmplt r4, r6
|
|||
|
|
480c: 0c05 bf 0x4816 // 4816 <TK_Baseline_tracking+0xf6>
|
|||
|
|
480e: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
4810: 2c00 subi r4, 1
|
|||
|
|
4812: 7511 zexth r4, r4
|
|||
|
|
4814: ad80 st.h r4, (r5, 0x0)
|
|||
|
|
4816: 5f80 addu r4, r7, r0
|
|||
|
|
4818: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
481a: 7513 sexth r4, r4
|
|||
|
|
481c: 3cdf btsti r4, 31
|
|||
|
|
481e: 0c11 bf 0x4840 // 4840 <TK_Baseline_tracking+0x120>
|
|||
|
|
4820: 11cf lrw r6, 0x20000652 // 48dc <TK_Baseline_tracking+0x1bc>
|
|||
|
|
4822: 59a0 addu r5, r1, r0
|
|||
|
|
4824: 6180 addu r6, r0
|
|||
|
|
4826: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
4828: 8ec0 ld.h r6, (r6, 0x0)
|
|||
|
|
482a: 7599 zexth r6, r6
|
|||
|
|
482c: 7511 zexth r4, r4
|
|||
|
|
482e: 611a subu r4, r6
|
|||
|
|
4830: 8bc0 ld.h r6, (r3, 0x0)
|
|||
|
|
4832: 4ec1 lsri r6, r6, 1
|
|||
|
|
4834: 6591 cmplt r4, r6
|
|||
|
|
4836: 0805 bt 0x4840 // 4840 <TK_Baseline_tracking+0x120>
|
|||
|
|
4838: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
483a: 2c01 subi r4, 2
|
|||
|
|
483c: 7511 zexth r4, r4
|
|||
|
|
483e: ad80 st.h r4, (r5, 0x0)
|
|||
|
|
4840: 5fa0 addu r5, r7, r0
|
|||
|
|
4842: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
4844: 7513 sexth r4, r4
|
|||
|
|
4846: 3c20 cmplti r4, 1
|
|||
|
|
4848: 080c bt 0x4860 // 4860 <TK_Baseline_tracking+0x140>
|
|||
|
|
484a: 8da0 ld.h r5, (r5, 0x0)
|
|||
|
|
484c: 8b80 ld.h r4, (r3, 0x0)
|
|||
|
|
484e: 7557 sexth r5, r5
|
|||
|
|
4850: 4c81 lsri r4, r4, 1
|
|||
|
|
4852: 6515 cmplt r5, r4
|
|||
|
|
4854: 0c06 bf 0x4860 // 4860 <TK_Baseline_tracking+0x140>
|
|||
|
|
4856: 59a0 addu r5, r1, r0
|
|||
|
|
4858: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
485a: 2400 addi r4, 1
|
|||
|
|
485c: 7511 zexth r4, r4
|
|||
|
|
485e: ad80 st.h r4, (r5, 0x0)
|
|||
|
|
4860: 5fa0 addu r5, r7, r0
|
|||
|
|
4862: 8d80 ld.h r4, (r5, 0x0)
|
|||
|
|
4864: 7513 sexth r4, r4
|
|||
|
|
4866: 3c20 cmplti r4, 1
|
|||
|
|
4868: 0810 bt 0x4888 // 4888 <TK_Baseline_tracking+0x168>
|
|||
|
|
486a: 8dc0 ld.h r6, (r5, 0x0)
|
|||
|
|
486c: 759b sexth r6, r6
|
|||
|
|
486e: 8b80 ld.h r4, (r3, 0x0)
|
|||
|
|
4870: 6519 cmplt r6, r4
|
|||
|
|
4872: 0c0b bf 0x4888 // 4888 <TK_Baseline_tracking+0x168>
|
|||
|
|
4874: 8da0 ld.h r5, (r5, 0x0)
|
|||
|
|
4876: 7557 sexth r5, r5
|
|||
|
|
4878: 4c81 lsri r4, r4, 1
|
|||
|
|
487a: 6515 cmplt r5, r4
|
|||
|
|
487c: 0806 bt 0x4888 // 4888 <TK_Baseline_tracking+0x168>
|
|||
|
|
487e: 6004 addu r0, r1
|
|||
|
|
4880: 8880 ld.h r4, (r0, 0x0)
|
|||
|
|
4882: 2401 addi r4, 2
|
|||
|
|
4884: 7511 zexth r4, r4
|
|||
|
|
4886: a880 st.h r4, (r0, 0x0)
|
|||
|
|
4888: 2200 addi r2, 1
|
|||
|
|
488a: 3a51 cmpnei r2, 17
|
|||
|
|
488c: 2301 addi r3, 2
|
|||
|
|
488e: 0b61 bt 0x4750 // 4750 <TK_Baseline_tracking+0x30>
|
|||
|
|
4890: 1402 addi r14, r14, 8
|
|||
|
|
4892: 1484 pop r4-r7
|
|||
|
|
4894: 5f80 addu r4, r7, r0
|
|||
|
|
4896: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
4898: 7513 sexth r4, r4
|
|||
|
|
489a: 3cdf btsti r4, 31
|
|||
|
|
489c: 0fa9 bf 0x47ee // 47ee <TK_Baseline_tracking+0xce>
|
|||
|
|
489e: 10b0 lrw r5, 0x20000652 // 48dc <TK_Baseline_tracking+0x1bc>
|
|||
|
|
48a0: 5980 addu r4, r1, r0
|
|||
|
|
48a2: 6140 addu r5, r0
|
|||
|
|
48a4: 8c80 ld.h r4, (r4, 0x0)
|
|||
|
|
48a6: 8da0 ld.h r5, (r5, 0x0)
|
|||
|
|
48a8: 7555 zexth r5, r5
|
|||
|
|
48aa: 8bc0 ld.h r6, (r3, 0x0)
|
|||
|
|
48ac: 7511 zexth r4, r4
|
|||
|
|
48ae: 6116 subu r4, r5
|
|||
|
|
48b0: 46a1 lsli r5, r6, 1
|
|||
|
|
48b2: 6158 addu r5, r6
|
|||
|
|
48b4: 6551 cmplt r4, r5
|
|||
|
|
48b6: 0b9c bt 0x47ee // 47ee <TK_Baseline_tracking+0xce>
|
|||
|
|
48b8: 108c lrw r4, 0x200004c3 // 48e8 <TK_Baseline_tracking+0x1c8>
|
|||
|
|
48ba: 3501 movi r5, 1
|
|||
|
|
48bc: a4a0 st.b r5, (r4, 0x0)
|
|||
|
|
48be: 6c03 mov r0, r0
|
|||
|
|
48c0: 0797 br 0x47ee // 47ee <TK_Baseline_tracking+0xce>
|
|||
|
|
48c2: 0000 bkpt
|
|||
|
|
48c4: 200004de .long 0x200004de
|
|||
|
|
48c8: 200000ed .long 0x200000ed
|
|||
|
|
48cc: 2000043c .long 0x2000043c
|
|||
|
|
48d0: 20000456 .long 0x20000456
|
|||
|
|
48d4: 2000011a .long 0x2000011a
|
|||
|
|
48d8: 200003ac .long 0x200003ac
|
|||
|
|
48dc: 20000652 .long 0x20000652
|
|||
|
|
48e0: 20000580 .long 0x20000580
|
|||
|
|
48e4: 20000088 .long 0x20000088
|
|||
|
|
48e8: 200004c3 .long 0x200004c3
|
|||
|
|
48ec: 20000506 .long 0x20000506
|
|||
|
|
|
|||
|
|
Disassembly of section .text.TK_result_prog:
|
|||
|
|
|
|||
|
|
000048f0 <TK_result_prog>:
|
|||
|
|
48f0: 14d2 push r4-r5, r15
|
|||
|
|
48f2: 1050 lrw r2, 0x2000043c // 4930 <TK_result_prog+0x40>
|
|||
|
|
48f4: 1090 lrw r4, 0x200004e0 // 4934 <TK_result_prog+0x44>
|
|||
|
|
48f6: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
48f8: 3b40 cmpnei r3, 0
|
|||
|
|
48fa: 0c02 bf 0x48fe // 48fe <TK_result_prog+0xe>
|
|||
|
|
48fc: 9260 ld.w r3, (r2, 0x0)
|
|||
|
|
48fe: b460 st.w r3, (r4, 0x0)
|
|||
|
|
4900: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
4902: 3b40 cmpnei r3, 0
|
|||
|
|
4904: 10ad lrw r5, 0x200005b4 // 4938 <TK_result_prog+0x48>
|
|||
|
|
4906: 0c11 bf 0x4928 // 4928 <TK_result_prog+0x38>
|
|||
|
|
4908: 9440 ld.w r2, (r4, 0x0)
|
|||
|
|
490a: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
490c: 64ca cmpne r2, r3
|
|||
|
|
490e: 0c03 bf 0x4914 // 4914 <TK_result_prog+0x24>
|
|||
|
|
4910: 9460 ld.w r3, (r4, 0x0)
|
|||
|
|
4912: b560 st.w r3, (r5, 0x0)
|
|||
|
|
4914: e3fffd94 bsr 0x443c // 443c <get_key_number>
|
|||
|
|
4918: 1069 lrw r3, 0x200000f4 // 493c <TK_result_prog+0x4c>
|
|||
|
|
491a: 8360 ld.b r3, (r3, 0x0)
|
|||
|
|
491c: 640c cmphs r3, r0
|
|||
|
|
491e: 0804 bt 0x4926 // 4926 <TK_result_prog+0x36>
|
|||
|
|
4920: 3300 movi r3, 0
|
|||
|
|
4922: b460 st.w r3, (r4, 0x0)
|
|||
|
|
4924: b560 st.w r3, (r5, 0x0)
|
|||
|
|
4926: 1492 pop r4-r5, r15
|
|||
|
|
4928: 1046 lrw r2, 0x200004d8 // 4940 <TK_result_prog+0x50>
|
|||
|
|
492a: b560 st.w r3, (r5, 0x0)
|
|||
|
|
492c: b260 st.w r3, (r2, 0x0)
|
|||
|
|
492e: 07fc br 0x4926 // 4926 <TK_result_prog+0x36>
|
|||
|
|
4930: 2000043c .long 0x2000043c
|
|||
|
|
4934: 200004e0 .long 0x200004e0
|
|||
|
|
4938: 200005b4 .long 0x200005b4
|
|||
|
|
493c: 200000f4 .long 0x200000f4
|
|||
|
|
4940: 200004d8 .long 0x200004d8
|
|||
|
|
|
|||
|
|
Disassembly of section .text.CORETHandler:
|
|||
|
|
|
|||
|
|
00004944 <CORETHandler>:
|
|||
|
|
4944: 1460 nie
|
|||
|
|
4946: 1462 ipush
|
|||
|
|
4948: 14d1 push r4, r15
|
|||
|
|
494a: 1077 lrw r3, 0x20000064 // 49a4 <CORETHandler+0x60>
|
|||
|
|
494c: 3400 movi r4, 0
|
|||
|
|
494e: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
4950: b386 st.w r4, (r3, 0x18)
|
|||
|
|
4952: 1076 lrw r3, 0x20000440 // 49a8 <CORETHandler+0x64>
|
|||
|
|
4954: 8360 ld.b r3, (r3, 0x0)
|
|||
|
|
4956: 3b41 cmpnei r3, 1
|
|||
|
|
4958: 0820 bt 0x4998 // 4998 <CORETHandler+0x54>
|
|||
|
|
495a: e3fffd85 bsr 0x4464 // 4464 <TK_Scan_Start>
|
|||
|
|
495e: e3fffd93 bsr 0x4484 // 4484 <TK_Keymap_prog>
|
|||
|
|
4962: e3fffe51 bsr 0x4604 // 4604 <TK_overflow_predict>
|
|||
|
|
4966: e3fffedd bsr 0x4720 // 4720 <TK_Baseline_tracking>
|
|||
|
|
496a: e3ffffc3 bsr 0x48f0 // 48f0 <TK_result_prog>
|
|||
|
|
496e: 1070 lrw r3, 0x200004e0 // 49ac <CORETHandler+0x68>
|
|||
|
|
4970: 9360 ld.w r3, (r3, 0x0)
|
|||
|
|
4972: 3b40 cmpnei r3, 0
|
|||
|
|
4974: 0c12 bf 0x4998 // 4998 <CORETHandler+0x54>
|
|||
|
|
4976: 106f lrw r3, 0x200000c4 // 49b0 <CORETHandler+0x6c>
|
|||
|
|
4978: 9340 ld.w r2, (r3, 0x0)
|
|||
|
|
497a: 3a40 cmpnei r2, 0
|
|||
|
|
497c: 0c0e bf 0x4998 // 4998 <CORETHandler+0x54>
|
|||
|
|
497e: 106e lrw r3, 0x200004d8 // 49b4 <CORETHandler+0x70>
|
|||
|
|
4980: 3064 movi r0, 100
|
|||
|
|
4982: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
4984: 2100 addi r1, 1
|
|||
|
|
4986: b320 st.w r1, (r3, 0x0)
|
|||
|
|
4988: 9320 ld.w r1, (r3, 0x0)
|
|||
|
|
498a: 7c80 mult r2, r0
|
|||
|
|
498c: 6448 cmphs r2, r1
|
|||
|
|
498e: 0805 bt 0x4998 // 4998 <CORETHandler+0x54>
|
|||
|
|
4990: 104a lrw r2, 0x200004c3 // 49b8 <CORETHandler+0x74>
|
|||
|
|
4992: 3101 movi r1, 1
|
|||
|
|
4994: a220 st.b r1, (r2, 0x0)
|
|||
|
|
4996: b380 st.w r4, (r3, 0x0)
|
|||
|
|
4998: d9ee2001 ld.w r15, (r14, 0x4)
|
|||
|
|
499c: 9880 ld.w r4, (r14, 0x0)
|
|||
|
|
499e: 1402 addi r14, r14, 8
|
|||
|
|
49a0: 1463 ipop
|
|||
|
|
49a2: 1461 nir
|
|||
|
|
49a4: 20000064 .long 0x20000064
|
|||
|
|
49a8: 20000440 .long 0x20000440
|
|||
|
|
49ac: 200004e0 .long 0x200004e0
|
|||
|
|
49b0: 200000c4 .long 0x200000c4
|
|||
|
|
49b4: 200004d8 .long 0x200004d8
|
|||
|
|
49b8: 200004c3 .long 0x200004c3
|
|||
|
|
|
|||
|
|
Disassembly of section .text.std_clk_calib:
|
|||
|
|
|
|||
|
|
000049bc <std_clk_calib>:
|
|||
|
|
49bc: 14d4 push r4-r7, r15
|
|||
|
|
49be: 142d subi r14, r14, 52
|
|||
|
|
49c0: 3201 movi r2, 1
|
|||
|
|
49c2: 03ce lrw r6, 0x2000005c // 4c04 <std_clk_calib+0x248>
|
|||
|
|
49c4: 6cc3 mov r3, r0
|
|||
|
|
49c6: dc4e000a st.b r2, (r14, 0xa)
|
|||
|
|
49ca: 9640 ld.w r2, (r6, 0x0)
|
|||
|
|
49cc: 9247 ld.w r2, (r2, 0x1c)
|
|||
|
|
49ce: 7488 zextb r2, r2
|
|||
|
|
49d0: dc4e0009 st.b r2, (r14, 0x9)
|
|||
|
|
49d4: d84e0009 ld.b r2, (r14, 0x9)
|
|||
|
|
49d8: 3a40 cmpnei r2, 0
|
|||
|
|
49da: 0c08 bf 0x49ea // 49ea <std_clk_calib+0x2e>
|
|||
|
|
49dc: d84e0009 ld.b r2, (r14, 0x9)
|
|||
|
|
49e0: 3a42 cmpnei r2, 2
|
|||
|
|
49e2: 0c04 bf 0x49ea // 49ea <std_clk_calib+0x2e>
|
|||
|
|
49e4: 3000 movi r0, 0
|
|||
|
|
49e6: 140d addi r14, r14, 52
|
|||
|
|
49e8: 1494 pop r4-r7, r15
|
|||
|
|
49ea: 0397 lrw r4, 0x2000000c // 4c08 <std_clk_calib+0x24c>
|
|||
|
|
49ec: 3209 movi r2, 9
|
|||
|
|
49ee: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
49f0: 3b40 cmpnei r3, 0
|
|||
|
|
49f2: b041 st.w r2, (r0, 0x4)
|
|||
|
|
49f4: 0857 bt 0x4aa2 // 4aa2 <std_clk_calib+0xe6>
|
|||
|
|
49f6: 3307 movi r3, 7
|
|||
|
|
49f8: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
49fc: 037b lrw r3, 0x2dc6c00 // 4c0c <std_clk_calib+0x250>
|
|||
|
|
49fe: b863 st.w r3, (r14, 0xc)
|
|||
|
|
4a00: 3380 movi r3, 128
|
|||
|
|
4a02: 4362 lsli r3, r3, 2
|
|||
|
|
4a04: b867 st.w r3, (r14, 0x1c)
|
|||
|
|
4a06: d86e000b ld.b r3, (r14, 0xb)
|
|||
|
|
4a0a: 74cc zextb r3, r3
|
|||
|
|
4a0c: b062 st.w r3, (r0, 0x8)
|
|||
|
|
4a0e: 037e lrw r3, 0xffff // 4c10 <std_clk_calib+0x254>
|
|||
|
|
4a10: b063 st.w r3, (r0, 0xc)
|
|||
|
|
4a12: 3201 movi r2, 1
|
|||
|
|
4a14: 3101 movi r1, 1
|
|||
|
|
4a16: 03bf lrw r5, 0x20000014 // 4c14 <std_clk_calib+0x258>
|
|||
|
|
4a18: e3ffebf2 bsr 0x21fc // 21fc <BT_ConfigInterrupt_CMD>
|
|||
|
|
4a1c: 95e0 ld.w r7, (r5, 0x0)
|
|||
|
|
4a1e: 137f lrw r3, 0xbe9c0005 // 4c18 <std_clk_calib+0x25c>
|
|||
|
|
4a20: b760 st.w r3, (r7, 0x0)
|
|||
|
|
4a22: 135f lrw r2, 0x30010 // 4c1c <std_clk_calib+0x260>
|
|||
|
|
4a24: 3300 movi r3, 0
|
|||
|
|
4a26: b762 st.w r3, (r7, 0x8)
|
|||
|
|
4a28: b743 st.w r2, (r7, 0xc)
|
|||
|
|
4a2a: 32d8 movi r2, 216
|
|||
|
|
4a2c: b745 st.w r2, (r7, 0x14)
|
|||
|
|
4a2e: 974f ld.w r2, (r7, 0x3c)
|
|||
|
|
4a30: 3aa2 bseti r2, 2
|
|||
|
|
4a32: b74f st.w r2, (r7, 0x3c)
|
|||
|
|
4a34: 9803 ld.w r0, (r14, 0xc)
|
|||
|
|
4a36: d82e000b ld.b r1, (r14, 0xb)
|
|||
|
|
4a3a: 327d movi r2, 125
|
|||
|
|
4a3c: 2100 addi r1, 1
|
|||
|
|
4a3e: 7c48 mult r1, r2
|
|||
|
|
4a40: b861 st.w r3, (r14, 0x4)
|
|||
|
|
4a42: e3fff3c5 bsr 0x31cc // 31cc <__udivsi3>
|
|||
|
|
4a46: b804 st.w r0, (r14, 0x10)
|
|||
|
|
4a48: 32fa movi r2, 250
|
|||
|
|
4a4a: 9824 ld.w r1, (r14, 0x10)
|
|||
|
|
4a4c: 4242 lsli r2, r2, 2
|
|||
|
|
4a4e: 6448 cmphs r2, r1
|
|||
|
|
4a50: 0bca bt 0x49e4 // 49e4 <std_clk_calib+0x28>
|
|||
|
|
4a52: 9844 ld.w r2, (r14, 0x10)
|
|||
|
|
4a54: 3178 movi r1, 120
|
|||
|
|
4a56: 9804 ld.w r0, (r14, 0x10)
|
|||
|
|
4a58: b840 st.w r2, (r14, 0x0)
|
|||
|
|
4a5a: e3fff3b9 bsr 0x31cc // 31cc <__udivsi3>
|
|||
|
|
4a5e: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
4a60: 6082 subu r2, r0
|
|||
|
|
4a62: b845 st.w r2, (r14, 0x14)
|
|||
|
|
4a64: 9804 ld.w r0, (r14, 0x10)
|
|||
|
|
4a66: 3178 movi r1, 120
|
|||
|
|
4a68: 9844 ld.w r2, (r14, 0x10)
|
|||
|
|
4a6a: b840 st.w r2, (r14, 0x0)
|
|||
|
|
4a6c: e3fff3b0 bsr 0x31cc // 31cc <__udivsi3>
|
|||
|
|
4a70: 9840 ld.w r2, (r14, 0x0)
|
|||
|
|
4a72: 6008 addu r0, r2
|
|||
|
|
4a74: b806 st.w r0, (r14, 0x18)
|
|||
|
|
4a76: c0807020 psrclr ie
|
|||
|
|
4a7a: 9640 ld.w r2, (r6, 0x0)
|
|||
|
|
4a7c: 9254 ld.w r2, (r2, 0x50)
|
|||
|
|
4a7e: b848 st.w r2, (r14, 0x20)
|
|||
|
|
4a80: 9861 ld.w r3, (r14, 0x4)
|
|||
|
|
4a82: 9440 ld.w r2, (r4, 0x0)
|
|||
|
|
4a84: b260 st.w r3, (r2, 0x0)
|
|||
|
|
4a86: b761 st.w r3, (r7, 0x4)
|
|||
|
|
4a88: d86e000a ld.b r3, (r14, 0xa)
|
|||
|
|
4a8c: 3b40 cmpnei r3, 0
|
|||
|
|
4a8e: 083e bt 0x4b0a // 4b0a <std_clk_calib+0x14e>
|
|||
|
|
4a90: e3ffeb68 bsr 0x2160 // 2160 <LPT_Soft_Reset>
|
|||
|
|
4a94: 9400 ld.w r0, (r4, 0x0)
|
|||
|
|
4a96: e3ffeb89 bsr 0x21a8 // 21a8 <BT_Soft_Reset>
|
|||
|
|
4a9a: c1807420 psrset ee, ie
|
|||
|
|
4a9e: 3001 movi r0, 1
|
|||
|
|
4aa0: 07a3 br 0x49e6 // 49e6 <std_clk_calib+0x2a>
|
|||
|
|
4aa2: 3b41 cmpnei r3, 1
|
|||
|
|
4aa4: 0806 bt 0x4ab0 // 4ab0 <std_clk_calib+0xf4>
|
|||
|
|
4aa6: 3303 movi r3, 3
|
|||
|
|
4aa8: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4aac: 127d lrw r3, 0x16e3600 // 4c20 <std_clk_calib+0x264>
|
|||
|
|
4aae: 07a8 br 0x49fe // 49fe <std_clk_calib+0x42>
|
|||
|
|
4ab0: 3b42 cmpnei r3, 2
|
|||
|
|
4ab2: 0806 bt 0x4abe // 4abe <std_clk_calib+0x102>
|
|||
|
|
4ab4: 3301 movi r3, 1
|
|||
|
|
4ab6: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4aba: 127b lrw r3, 0xb71b00 // 4c24 <std_clk_calib+0x268>
|
|||
|
|
4abc: 07a1 br 0x49fe // 49fe <std_clk_calib+0x42>
|
|||
|
|
4abe: 3b43 cmpnei r3, 3
|
|||
|
|
4ac0: 0806 bt 0x4acc // 4acc <std_clk_calib+0x110>
|
|||
|
|
4ac2: 3300 movi r3, 0
|
|||
|
|
4ac4: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4ac8: 1278 lrw r3, 0x5b8d80 // 4c28 <std_clk_calib+0x26c>
|
|||
|
|
4aca: 079a br 0x49fe // 49fe <std_clk_calib+0x42>
|
|||
|
|
4acc: 3b44 cmpnei r3, 4
|
|||
|
|
4ace: 0809 bt 0x4ae0 // 4ae0 <std_clk_calib+0x124>
|
|||
|
|
4ad0: 3300 movi r3, 0
|
|||
|
|
4ad2: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4ad6: 1276 lrw r3, 0x54c720 // 4c2c <std_clk_calib+0x270>
|
|||
|
|
4ad8: b863 st.w r3, (r14, 0xc)
|
|||
|
|
4ada: 3380 movi r3, 128
|
|||
|
|
4adc: 4369 lsli r3, r3, 9
|
|||
|
|
4ade: 0793 br 0x4a04 // 4a04 <std_clk_calib+0x48>
|
|||
|
|
4ae0: 3b45 cmpnei r3, 5
|
|||
|
|
4ae2: 0806 bt 0x4aee // 4aee <std_clk_calib+0x132>
|
|||
|
|
4ae4: 3300 movi r3, 0
|
|||
|
|
4ae6: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4aea: 1272 lrw r3, 0x3ffed0 // 4c30 <std_clk_calib+0x274>
|
|||
|
|
4aec: 07f6 br 0x4ad8 // 4ad8 <std_clk_calib+0x11c>
|
|||
|
|
4aee: 3b46 cmpnei r3, 6
|
|||
|
|
4af0: 0806 bt 0x4afc // 4afc <std_clk_calib+0x140>
|
|||
|
|
4af2: 3300 movi r3, 0
|
|||
|
|
4af4: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4af8: 126f lrw r3, 0x1fff68 // 4c34 <std_clk_calib+0x278>
|
|||
|
|
4afa: 07ef br 0x4ad8 // 4ad8 <std_clk_calib+0x11c>
|
|||
|
|
4afc: 3b47 cmpnei r3, 7
|
|||
|
|
4afe: 0b84 bt 0x4a06 // 4a06 <std_clk_calib+0x4a>
|
|||
|
|
4b00: 3300 movi r3, 0
|
|||
|
|
4b02: dc6e000b st.b r3, (r14, 0xb)
|
|||
|
|
4b06: 126d lrw r3, 0x1ffb8 // 4c38 <std_clk_calib+0x27c>
|
|||
|
|
4b08: 07e8 br 0x4ad8 // 4ad8 <std_clk_calib+0x11c>
|
|||
|
|
4b0a: 9560 ld.w r3, (r5, 0x0)
|
|||
|
|
4b0c: 3101 movi r1, 1
|
|||
|
|
4b0e: 9440 ld.w r2, (r4, 0x0)
|
|||
|
|
4b10: b321 st.w r1, (r3, 0x4)
|
|||
|
|
4b12: b220 st.w r1, (r2, 0x0)
|
|||
|
|
4b14: 3100 movi r1, 0
|
|||
|
|
4b16: b327 st.w r1, (r3, 0x1c)
|
|||
|
|
4b18: 3004 movi r0, 4
|
|||
|
|
4b1a: b225 st.w r1, (r2, 0x14)
|
|||
|
|
4b1c: 932e ld.w r1, (r3, 0x38)
|
|||
|
|
4b1e: 6840 and r1, r0
|
|||
|
|
4b20: 3940 cmpnei r1, 0
|
|||
|
|
4b22: 0ffd bf 0x4b1c // 4b1c <std_clk_calib+0x160>
|
|||
|
|
4b24: 9225 ld.w r1, (r2, 0x14)
|
|||
|
|
4b26: b82a st.w r1, (r14, 0x28)
|
|||
|
|
4b28: 3100 movi r1, 0
|
|||
|
|
4b2a: b310 st.w r0, (r3, 0x40)
|
|||
|
|
4b2c: b327 st.w r1, (r3, 0x1c)
|
|||
|
|
4b2e: 3004 movi r0, 4
|
|||
|
|
4b30: b225 st.w r1, (r2, 0x14)
|
|||
|
|
4b32: 932e ld.w r1, (r3, 0x38)
|
|||
|
|
4b34: 6840 and r1, r0
|
|||
|
|
4b36: 3940 cmpnei r1, 0
|
|||
|
|
4b38: 0ffd bf 0x4b32 // 4b32 <std_clk_calib+0x176>
|
|||
|
|
4b3a: 9225 ld.w r1, (r2, 0x14)
|
|||
|
|
4b3c: b82b st.w r1, (r14, 0x2c)
|
|||
|
|
4b3e: 3100 movi r1, 0
|
|||
|
|
4b40: b310 st.w r0, (r3, 0x40)
|
|||
|
|
4b42: b327 st.w r1, (r3, 0x1c)
|
|||
|
|
4b44: 3004 movi r0, 4
|
|||
|
|
4b46: b225 st.w r1, (r2, 0x14)
|
|||
|
|
4b48: 932e ld.w r1, (r3, 0x38)
|
|||
|
|
4b4a: 6840 and r1, r0
|
|||
|
|
4b4c: 3940 cmpnei r1, 0
|
|||
|
|
4b4e: 0ffd bf 0x4b48 // 4b48 <std_clk_calib+0x18c>
|
|||
|
|
4b50: 9225 ld.w r1, (r2, 0x14)
|
|||
|
|
4b52: b82c st.w r1, (r14, 0x30)
|
|||
|
|
4b54: b310 st.w r0, (r3, 0x40)
|
|||
|
|
4b56: 982b ld.w r1, (r14, 0x2c)
|
|||
|
|
4b58: 980c ld.w r0, (r14, 0x30)
|
|||
|
|
4b5a: 6040 addu r1, r0
|
|||
|
|
4b5c: b829 st.w r1, (r14, 0x24)
|
|||
|
|
4b5e: 9829 ld.w r1, (r14, 0x24)
|
|||
|
|
4b60: 4921 lsri r1, r1, 1
|
|||
|
|
4b62: b829 st.w r1, (r14, 0x24)
|
|||
|
|
4b64: 3100 movi r1, 0
|
|||
|
|
4b66: b321 st.w r1, (r3, 0x4)
|
|||
|
|
4b68: b220 st.w r1, (r2, 0x0)
|
|||
|
|
4b6a: b327 st.w r1, (r3, 0x1c)
|
|||
|
|
4b6c: b225 st.w r1, (r2, 0x14)
|
|||
|
|
4b6e: d86e0009 ld.b r3, (r14, 0x9)
|
|||
|
|
4b72: 3b42 cmpnei r3, 2
|
|||
|
|
4b74: 9849 ld.w r2, (r14, 0x24)
|
|||
|
|
4b76: 082c bt 0x4bce // 4bce <std_clk_calib+0x212>
|
|||
|
|
4b78: 1171 lrw r3, 0x7ff // 4c3c <std_clk_calib+0x280>
|
|||
|
|
4b7a: 648c cmphs r3, r2
|
|||
|
|
4b7c: 0c03 bf 0x4b82 // 4b82 <std_clk_calib+0x1c6>
|
|||
|
|
4b7e: 3300 movi r3, 0
|
|||
|
|
4b80: 040f br 0x4b9e // 4b9e <std_clk_calib+0x1e2>
|
|||
|
|
4b82: 9849 ld.w r2, (r14, 0x24)
|
|||
|
|
4b84: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
4b86: 648c cmphs r3, r2
|
|||
|
|
4b88: 080e bt 0x4ba4 // 4ba4 <std_clk_calib+0x1e8>
|
|||
|
|
4b8a: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
4b8c: 9847 ld.w r2, (r14, 0x1c)
|
|||
|
|
4b8e: 60ca subu r3, r2
|
|||
|
|
4b90: b868 st.w r3, (r14, 0x20)
|
|||
|
|
4b92: 32fe movi r2, 254
|
|||
|
|
4b94: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
4b96: 4248 lsli r2, r2, 8
|
|||
|
|
4b98: 68c8 and r3, r2
|
|||
|
|
4b9a: 3b40 cmpnei r3, 0
|
|||
|
|
4b9c: 0812 bt 0x4bc0 // 4bc0 <std_clk_calib+0x204>
|
|||
|
|
4b9e: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
4ba2: 0721 br 0x49e4 // 49e4 <std_clk_calib+0x28>
|
|||
|
|
4ba4: 9849 ld.w r2, (r14, 0x24)
|
|||
|
|
4ba6: 9865 ld.w r3, (r14, 0x14)
|
|||
|
|
4ba8: 64c8 cmphs r2, r3
|
|||
|
|
4baa: 0829 bt 0x4bfc // 4bfc <std_clk_calib+0x240>
|
|||
|
|
4bac: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
4bae: 9847 ld.w r2, (r14, 0x1c)
|
|||
|
|
4bb0: 60c8 addu r3, r2
|
|||
|
|
4bb2: b868 st.w r3, (r14, 0x20)
|
|||
|
|
4bb4: 33fe movi r3, 254
|
|||
|
|
4bb6: 9848 ld.w r2, (r14, 0x20)
|
|||
|
|
4bb8: 4368 lsli r3, r3, 8
|
|||
|
|
4bba: 688c and r2, r3
|
|||
|
|
4bbc: 64ca cmpne r2, r3
|
|||
|
|
4bbe: 0fe0 bf 0x4b7e // 4b7e <std_clk_calib+0x1c2>
|
|||
|
|
4bc0: 9660 ld.w r3, (r6, 0x0)
|
|||
|
|
4bc2: 9848 ld.w r2, (r14, 0x20)
|
|||
|
|
4bc4: b354 st.w r2, (r3, 0x50)
|
|||
|
|
4bc6: 3001 movi r0, 1
|
|||
|
|
4bc8: e3ffed88 bsr 0x26d8 // 26d8 <delay_nms>
|
|||
|
|
4bcc: 075e br 0x4a88 // 4a88 <std_clk_calib+0xcc>
|
|||
|
|
4bce: 9866 ld.w r3, (r14, 0x18)
|
|||
|
|
4bd0: 648c cmphs r3, r2
|
|||
|
|
4bd2: 0809 bt 0x4be4 // 4be4 <std_clk_calib+0x228>
|
|||
|
|
4bd4: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
4bd6: 9847 ld.w r2, (r14, 0x1c)
|
|||
|
|
4bd8: 60ca subu r3, r2
|
|||
|
|
4bda: b868 st.w r3, (r14, 0x20)
|
|||
|
|
4bdc: 32ff movi r2, 255
|
|||
|
|
4bde: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
4be0: 4250 lsli r2, r2, 16
|
|||
|
|
4be2: 07db br 0x4b98 // 4b98 <std_clk_calib+0x1dc>
|
|||
|
|
4be4: 9849 ld.w r2, (r14, 0x24)
|
|||
|
|
4be6: 9865 ld.w r3, (r14, 0x14)
|
|||
|
|
4be8: 64c8 cmphs r2, r3
|
|||
|
|
4bea: 0809 bt 0x4bfc // 4bfc <std_clk_calib+0x240>
|
|||
|
|
4bec: 9868 ld.w r3, (r14, 0x20)
|
|||
|
|
4bee: 9847 ld.w r2, (r14, 0x1c)
|
|||
|
|
4bf0: 60c8 addu r3, r2
|
|||
|
|
4bf2: b868 st.w r3, (r14, 0x20)
|
|||
|
|
4bf4: 33ff movi r3, 255
|
|||
|
|
4bf6: 9848 ld.w r2, (r14, 0x20)
|
|||
|
|
4bf8: 4370 lsli r3, r3, 16
|
|||
|
|
4bfa: 07e0 br 0x4bba // 4bba <std_clk_calib+0x1fe>
|
|||
|
|
4bfc: 3300 movi r3, 0
|
|||
|
|
4bfe: dc6e000a st.b r3, (r14, 0xa)
|
|||
|
|
4c02: 07e2 br 0x4bc6 // 4bc6 <std_clk_calib+0x20a>
|
|||
|
|
4c04: 2000005c .long 0x2000005c
|
|||
|
|
4c08: 2000000c .long 0x2000000c
|
|||
|
|
4c0c: 02dc6c00 .long 0x02dc6c00
|
|||
|
|
4c10: 0000ffff .long 0x0000ffff
|
|||
|
|
4c14: 20000014 .long 0x20000014
|
|||
|
|
4c18: be9c0005 .long 0xbe9c0005
|
|||
|
|
4c1c: 00030010 .long 0x00030010
|
|||
|
|
4c20: 016e3600 .long 0x016e3600
|
|||
|
|
4c24: 00b71b00 .long 0x00b71b00
|
|||
|
|
4c28: 005b8d80 .long 0x005b8d80
|
|||
|
|
4c2c: 0054c720 .long 0x0054c720
|
|||
|
|
4c30: 003ffed0 .long 0x003ffed0
|
|||
|
|
4c34: 001fff68 .long 0x001fff68
|
|||
|
|
4c38: 0001ffb8 .long 0x0001ffb8
|
|||
|
|
4c3c: 000007ff .long 0x000007ff
|