-
Notifications
You must be signed in to change notification settings - Fork 0
/
disas.txt
398 lines (366 loc) · 12.4 KB
/
disas.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
main: file format elf32-littlearm
Disassembly of section .text:
00000000 <deregister_tm_clones-0x40>:
0: 20010000 .word 0x20010000
4: 00000169 .word 0x00000169
8: 00000171 .word 0x00000171
c: 00000173 .word 0x00000173
10: 00000175 .word 0x00000175
14: 00000177 .word 0x00000177
18: 00000179 .word 0x00000179
...
2c: 0000017b .word 0x0000017b
30: 0000018b .word 0x0000018b
34: 00000000 .word 0x00000000
38: 0000018d .word 0x0000018d
3c: 0000018f .word 0x0000018f
00000040 <deregister_tm_clones>:
40: e92d4008 push {r3, lr}
44: e59f002c ldr r0, [pc, #44] ; 78 <deregister_tm_clones+0x38>
48: e59f302c ldr r3, [pc, #44] ; 7c <deregister_tm_clones+0x3c>
4c: e0603003 rsb r3, r0, r3
50: e3530006 cmp r3, #6
54: 8a000001 bhi 60 <deregister_tm_clones+0x20>
58: e8bd4008 pop {r3, lr}
5c: e12fff1e bx lr
60: e59f3018 ldr r3, [pc, #24] ; 80 <deregister_tm_clones+0x40>
64: e3530000 cmp r3, #0
68: 0afffffa beq 58 <deregister_tm_clones+0x18>
6c: e1a0e00f mov lr, pc
70: e12fff13 bx r3
74: eafffff7 b 58 <deregister_tm_clones+0x18>
78: 20000010 .word 0x20000010
7c: 20000013 .word 0x20000013
80: 00000000 .word 0x00000000
00000084 <register_tm_clones>:
84: e92d4008 push {r3, lr}
88: e59f0034 ldr r0, [pc, #52] ; c4 <register_tm_clones+0x40>
8c: e59f3034 ldr r3, [pc, #52] ; c8 <register_tm_clones+0x44>
90: e0603003 rsb r3, r0, r3
94: e1a03143 asr r3, r3, #2
98: e0833fa3 add r3, r3, r3, lsr #31
9c: e1b010c3 asrs r1, r3, #1
a0: 1a000001 bne ac <register_tm_clones+0x28>
a4: e8bd4008 pop {r3, lr}
a8: e12fff1e bx lr
ac: e59f2018 ldr r2, [pc, #24] ; cc <register_tm_clones+0x48>
b0: e3520000 cmp r2, #0
b4: 0afffffa beq a4 <register_tm_clones+0x20>
b8: e1a0e00f mov lr, pc
bc: e12fff12 bx r2
c0: eafffff7 b a4 <register_tm_clones+0x20>
c4: 20000010 .word 0x20000010
c8: 20000010 .word 0x20000010
cc: 00000000 .word 0x00000000
000000d0 <__do_global_dtors_aux>:
d0: e92d4010 push {r4, lr}
d4: e59f402c ldr r4, [pc, #44] ; 108 <__do_global_dtors_aux+0x38>
d8: e5d43000 ldrb r3, [r4]
dc: e3530000 cmp r3, #0
e0: 1a000006 bne 100 <__do_global_dtors_aux+0x30>
e4: ebffffd5 bl 40 <deregister_tm_clones>
e8: e59f301c ldr r3, [pc, #28] ; 10c <__do_global_dtors_aux+0x3c>
ec: e3530000 cmp r3, #0
f0: 159f0018 ldrne r0, [pc, #24] ; 110 <__do_global_dtors_aux+0x40>
f4: 1320f000 nopne {0}
f8: e3a03001 mov r3, #1
fc: e5c43000 strb r3, [r4]
100: e8bd4010 pop {r4, lr}
104: e12fff1e bx lr
108: 20000010 .word 0x20000010
10c: 00000000 .word 0x00000000
110: 00000404 .word 0x00000404
00000114 <frame_dummy>:
114: e92d4008 push {r3, lr}
118: e59f3034 ldr r3, [pc, #52] ; 154 <frame_dummy+0x40>
11c: e3530000 cmp r3, #0
120: 159f0030 ldrne r0, [pc, #48] ; 158 <frame_dummy+0x44>
124: 159f1030 ldrne r1, [pc, #48] ; 15c <frame_dummy+0x48>
128: 1320f000 nopne {0}
12c: e59f002c ldr r0, [pc, #44] ; 160 <frame_dummy+0x4c>
130: e5903000 ldr r3, [r0]
134: e3530000 cmp r3, #0
138: 0a000003 beq 14c <frame_dummy+0x38>
13c: e59f3020 ldr r3, [pc, #32] ; 164 <frame_dummy+0x50>
140: e3530000 cmp r3, #0
144: 11a0e00f movne lr, pc
148: 112fff13 bxne r3
14c: e8bd4008 pop {r3, lr}
150: eaffffcb b 84 <register_tm_clones>
154: 00000000 .word 0x00000000
158: 00000404 .word 0x00000404
15c: 20000014 .word 0x20000014
160: 2000000c .word 0x2000000c
164: 00000000 .word 0x00000000
00000168 <Reset_Handler>:
168: 480c ldr r0, [pc, #48] ; (19c <SysTick_Handler+0xe>)
16a: 4700 bx r0
0000016c <__cs3_start_asm>:
16c: 480c ldr r0, [pc, #48] ; (1a0 <SysTick_Handler+0x12>)
16e: 4700 bx r0
00000170 <NMI_Handler>:
170: e7fe b.n 170 <NMI_Handler>
00000172 <HardFault_Handler>:
172: e7fe b.n 172 <HardFault_Handler>
00000174 <MemManage_Handler>:
174: e7fe b.n 174 <MemManage_Handler>
00000176 <BusFault_Handler>:
176: e7fe b.n 176 <BusFault_Handler>
00000178 <UsageFault_Handler>:
178: e7fe b.n 178 <UsageFault_Handler>
0000017a <SVC_Handler>:
17a: b500 push {lr}
17c: b672 cpsid i
17e: f000 f899 bl 2b4 <SVC_WRITE>
182: f85d eb04 ldr.w lr, [sp], #4
186: b662 cpsie i
188: 46f7 mov pc, lr
0000018a <DebugMon_Handler>:
18a: e7fe b.n 18a <DebugMon_Handler>
0000018c <PendSV_Handler>:
18c: e7fe b.n 18c <PendSV_Handler>
0000018e <SysTick_Handler>:
18e: f84d ed04 str.w lr, [sp, #-4]!
192: f000 f87d bl 290 <SYSTICK>
196: f85d eb04 ldr.w lr, [sp], #4
19a: 46f7 mov pc, lr
19c: 0000016d .word 0x0000016d
1a0: 000001a5 .word 0x000001a5
000001a4 <c_entry>:
1a4: b580 push {r7, lr}
1a6: af00 add r7, sp, #0
1a8: f64e 531c movw r3, #60700 ; 0xed1c
1ac: f2ce 0300 movt r3, #57344 ; 0xe000
1b0: f64e 521c movw r2, #60700 ; 0xed1c
1b4: f2ce 0200 movt r2, #57344 ; 0xe000
1b8: 6812 ldr r2, [r2, #0]
1ba: f022 4260 bic.w r2, r2, #3758096384 ; 0xe0000000
1be: 601a str r2, [r3, #0]
1c0: f64e 531c movw r3, #60700 ; 0xed1c
1c4: f2ce 0300 movt r3, #57344 ; 0xe000
1c8: f64e 521c movw r2, #60700 ; 0xed1c
1cc: f2ce 0200 movt r2, #57344 ; 0xe000
1d0: 6812 ldr r2, [r2, #0]
1d2: f042 42c0 orr.w r2, r2, #1610612736 ; 0x60000000
1d6: 601a str r2, [r3, #0]
1d8: f000 f806 bl 1e8 <setup_timer>
1dc: f000 f8e8 bl 3b0 <main>
1e0: 2300 movs r3, #0
1e2: 4618 mov r0, r3
1e4: bd80 pop {r7, pc}
1e6: bf00 nop
000001e8 <setup_timer>:
1e8: b480 push {r7}
1ea: af00 add r7, sp, #0
1ec: f24e 0314 movw r3, #57364 ; 0xe014
1f0: f2ce 0300 movt r3, #57344 ; 0xe000
1f4: f24a 1220 movw r2, #41248 ; 0xa120
1f8: f2c0 0207 movt r2, #7
1fc: 601a str r2, [r3, #0]
1fe: f64e 5320 movw r3, #60704 ; 0xed20
202: f2ce 0300 movt r3, #57344 ; 0xe000
206: f64e 5220 movw r2, #60704 ; 0xed20
20a: f2ce 0200 movt r2, #57344 ; 0xe000
20e: 6812 ldr r2, [r2, #0]
210: f022 4260 bic.w r2, r2, #3758096384 ; 0xe0000000
214: 601a str r2, [r3, #0]
216: f64e 5320 movw r3, #60704 ; 0xed20
21a: f2ce 0300 movt r3, #57344 ; 0xe000
21e: f64e 5220 movw r2, #60704 ; 0xed20
222: f2ce 0200 movt r2, #57344 ; 0xe000
226: 6812 ldr r2, [r2, #0]
228: f042 42e0 orr.w r2, r2, #1879048192 ; 0x70000000
22c: 601a str r2, [r3, #0]
22e: f24e 0310 movw r3, #57360 ; 0xe010
232: f2ce 0300 movt r3, #57344 ; 0xe000
236: 2207 movs r2, #7
238: 601a str r2, [r3, #0]
23a: 46bd mov sp, r7
23c: f85d 7b04 ldr.w r7, [sp], #4
240: 4770 bx lr
242: bf00 nop
00000244 <ms_delay>:
244: b480 push {r7}
246: b085 sub sp, #20
248: af00 add r7, sp, #0
24a: 6078 str r0, [r7, #4]
24c: 687a ldr r2, [r7, #4]
24e: f64c 43cd movw r3, #52429 ; 0xcccd
252: f6cc 43cc movt r3, #52428 ; 0xcccc
256: fba3 1302 umull r1, r3, r3, r2
25a: 08db lsrs r3, r3, #3
25c: 60fb str r3, [r7, #12]
25e: f240 032c movw r3, #44 ; 0x2c
262: f2c2 0300 movt r3, #8192 ; 0x2000
266: 681b ldr r3, [r3, #0]
268: 60bb str r3, [r7, #8]
26a: 68fb ldr r3, [r7, #12]
26c: 2b00 cmp r3, #0
26e: d00a beq.n 286 <ms_delay+0x42>
270: bf00 nop
272: 68ba ldr r2, [r7, #8]
274: 68fb ldr r3, [r7, #12]
276: 441a add r2, r3
278: f240 032c movw r3, #44 ; 0x2c
27c: f2c2 0300 movt r3, #8192 ; 0x2000
280: 681b ldr r3, [r3, #0]
282: 429a cmp r2, r3
284: d8f5 bhi.n 272 <ms_delay+0x2e>
286: 3714 adds r7, #20
288: 46bd mov sp, r7
28a: f85d 7b04 ldr.w r7, [sp], #4
28e: 4770 bx lr
00000290 <SYSTICK>:
290: b480 push {r7}
292: af00 add r7, sp, #0
294: f240 032c movw r3, #44 ; 0x2c
298: f2c2 0300 movt r3, #8192 ; 0x2000
29c: 681b ldr r3, [r3, #0]
29e: 1c5a adds r2, r3, #1
2a0: f240 032c movw r3, #44 ; 0x2c
2a4: f2c2 0300 movt r3, #8192 ; 0x2000
2a8: 601a str r2, [r3, #0]
2aa: 46bd mov sp, r7
2ac: f85d 7b04 ldr.w r7, [sp], #4
2b0: 4770 bx lr
2b2: bf00 nop
000002b4 <SVC_WRITE>:
2b4: b580 push {r7, lr}
2b6: b084 sub sp, #16
2b8: af00 add r7, sp, #0
2ba: 6078 str r0, [r7, #4]
2bc: 6039 str r1, [r7, #0]
2be: 6878 ldr r0, [r7, #4]
2c0: 6839 ldr r1, [r7, #0]
2c2: f000 f811 bl 2e8 <put>
2c6: 60f8 str r0, [r7, #12]
2c8: 68fb ldr r3, [r7, #12]
2ca: 4618 mov r0, r3
2cc: 3710 adds r7, #16
2ce: 46bd mov sp, r7
2d0: bd80 pop {r7, pc}
2d2: bf00 nop
000002d4 <write>:
2d4: f84d ed04 str.w lr, [sp, #-4]!
2d8: df03 svc 3
2da: f85d eb04 ldr.w lr, [sp], #4
2de: 4801 ldr r0, [pc, #4] ; (2e4 <write+0x10>)
2e0: 46f7 mov pc, lr
2e2: 0000 .short 0x0000
2e4: deadbeef .word 0xdeadbeef
000002e8 <put>:
2e8: b480 push {r7}
2ea: b085 sub sp, #20
2ec: af00 add r7, sp, #0
2ee: 6078 str r0, [r7, #4]
2f0: 6039 str r1, [r7, #0]
2f2: 2300 movs r3, #0
2f4: 60fb str r3, [r7, #12]
2f6: e00b b.n 310 <put+0x28>
2f8: f44f 4340 mov.w r3, #49152 ; 0xc000
2fc: f2c4 0300 movt r3, #16384 ; 0x4000
300: 687a ldr r2, [r7, #4]
302: 1c51 adds r1, r2, #1
304: 6079 str r1, [r7, #4]
306: 7812 ldrb r2, [r2, #0]
308: 601a str r2, [r3, #0]
30a: 68fb ldr r3, [r7, #12]
30c: 3301 adds r3, #1
30e: 60fb str r3, [r7, #12]
310: 68fa ldr r2, [r7, #12]
312: 683b ldr r3, [r7, #0]
314: 429a cmp r2, r3
316: dbef blt.n 2f8 <put+0x10>
318: 683b ldr r3, [r7, #0]
31a: 4618 mov r0, r3
31c: 3714 adds r7, #20
31e: 46bd mov sp, r7
320: f85d 7b04 ldr.w r7, [sp], #4
324: 4770 bx lr
326: bf00 nop
00000328 <get>:
328: b480 push {r7}
32a: b085 sub sp, #20
32c: af00 add r7, sp, #0
32e: 6078 str r0, [r7, #4]
330: 6039 str r1, [r7, #0]
332: 683b ldr r3, [r7, #0]
334: 2b00 cmp r3, #0
336: d101 bne.n 33c <get+0x14>
338: 2300 movs r3, #0
33a: e032 b.n 3a2 <get+0x7a>
33c: bf00 nop
33e: f24c 0318 movw r3, #49176 ; 0xc018
342: f2c4 0300 movt r3, #16384 ; 0x4000
346: 681b ldr r3, [r3, #0]
348: f003 0310 and.w r3, r3, #16
34c: 2b00 cmp r3, #0
34e: d1f6 bne.n 33e <get+0x16>
350: 687a ldr r2, [r7, #4]
352: 1c53 adds r3, r2, #1
354: 607b str r3, [r7, #4]
356: f44f 4340 mov.w r3, #49152 ; 0xc000
35a: f2c4 0300 movt r3, #16384 ; 0x4000
35e: 681b ldr r3, [r3, #0]
360: b2db uxtb r3, r3
362: 7013 strb r3, [r2, #0]
364: 2301 movs r3, #1
366: 60fb str r3, [r7, #12]
368: e016 b.n 398 <get+0x70>
36a: f24c 0318 movw r3, #49176 ; 0xc018
36e: f2c4 0300 movt r3, #16384 ; 0x4000
372: 681b ldr r3, [r3, #0]
374: f003 0310 and.w r3, r3, #16
378: 2b00 cmp r3, #0
37a: d000 beq.n 37e <get+0x56>
37c: e010 b.n 3a0 <get+0x78>
37e: 687a ldr r2, [r7, #4]
380: 1c53 adds r3, r2, #1
382: 607b str r3, [r7, #4]
384: f44f 4340 mov.w r3, #49152 ; 0xc000
388: f2c4 0300 movt r3, #16384 ; 0x4000
38c: 681b ldr r3, [r3, #0]
38e: b2db uxtb r3, r3
390: 7013 strb r3, [r2, #0]
392: 68fb ldr r3, [r7, #12]
394: 3301 adds r3, #1
396: 60fb str r3, [r7, #12]
398: 68fa ldr r2, [r7, #12]
39a: 683b ldr r3, [r7, #0]
39c: 429a cmp r2, r3
39e: dbe4 blt.n 36a <get+0x42>
3a0: 68fb ldr r3, [r7, #12]
3a2: 4618 mov r0, r3
3a4: 3714 adds r7, #20
3a6: 46bd mov sp, r7
3a8: f85d 7b04 ldr.w r7, [sp], #4
3ac: 4770 bx lr
3ae: bf00 nop
000003b0 <main>:
3b0: b580 push {r7, lr}
3b2: af00 add r7, sp, #0
3b4: f240 30cc movw r0, #972 ; 0x3cc
3b8: f2c0 0000 movt r0, #0
3bc: 2105 movs r1, #5
3be: f7ff ff89 bl 2d4 <write>
3c2: f44f 707a mov.w r0, #1000 ; 0x3e8
3c6: f7ff ff3d bl 244 <ms_delay>
3ca: e7f3 b.n 3b4 <main+0x4>
3cc: 0a414141 .word 0x0a414141
3d0: 00000000 .word 0x00000000
Disassembly of section .init:
000003d4 <_init>:
3d4: e1a0c00d mov ip, sp
3d8: e92ddff8 push {r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
3dc: e24cb004 sub fp, ip, #4
3e0: e24bd028 sub sp, fp, #40 ; 0x28
3e4: e89d6ff0 ldm sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, lr}
3e8: e12fff1e bx lr
Disassembly of section .fini:
000003ec <_fini>:
3ec: e1a0c00d mov ip, sp
3f0: e92ddff8 push {r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
3f4: e24cb004 sub fp, ip, #4
3f8: e24bd028 sub sp, fp, #40 ; 0x28
3fc: e89d6ff0 ldm sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, lr}
400: e12fff1e bx lr