-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcapture_image.axf.objdump
More file actions
600 lines (552 loc) · 20 KB
/
capture_image.axf.objdump
File metadata and controls
600 lines (552 loc) · 20 KB
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
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
D:/ECE354_redesign/Lab2_ECE354_2017/Lab2_ECE354_2017/capture_image/capture_image.axf: file format elf32-littlearm
Disassembly of section .text:
00000000 <__cs3_interrupt_vector>:
0: 18 f0 9f e5 18 f0 9f e5 18 f0 9f e5 18 f0 9f e5 ................
10: 18 f0 9f e5 18 f0 9f e5 18 f0 9f e5 18 f0 9f e5 ................
20: 40 00 00 00 90 06 00 00 94 06 00 00 98 06 00 00 @...............
30: 9c 06 00 00 8c 06 00 00 a0 06 00 00 a4 06 00 00 ................
00000040 <__cs3_reset>:
40: ea000026 b e0 <__cs3_start_asm_sim>
00000044 <__cs3_start_c>:
44: e59f608c ldr r6, [pc, #140] ; d8 <__cs3_start_c+0x94>
48: e3560000 cmp r6, #0
4c: e92d4080 push {r7, lr}
50: e2466001 sub r6, r6, #1
54: 0a00001e beq d4 <__cs3_start_c+0x90>
58: e59f507c ldr r5, [pc, #124] ; dc <__cs3_start_c+0x98>
5c: e3a00000 mov r0, #0
60: e3a01000 mov r1, #0
64: e515200c ldr r2, [r5, #-12]
68: e515e010 ldr lr, [r5, #-16]
6c: e5154008 ldr r4, [r5, #-8]
70: e15e0002 cmp lr, r2
74: 00822004 addeq r2, r2, r4
78: 0a000009 beq a4 <__cs3_start_c+0x60>
7c: e3540000 cmp r4, #0
80: 0a000007 beq a4 <__cs3_start_c+0x60>
84: e1a07002 mov r7, r2
88: e1a0c002 mov r12, r2
8c: e8be000c ldm lr!, {r2, r3}
90: e8ac000c stmia r12!, {r2, r3}
94: e067300c rsb r3, r7, r12
98: e1540003 cmp r4, r3
9c: e1a0200c mov r2, r12
a0: 1afffff9 bne 8c <__cs3_start_c+0x48>
a4: e515e004 ldr lr, [r5, #-4]
a8: e35e0000 cmp lr, #0
ac: 11a03002 movne r3, r2
b0: 0a000003 beq c4 <__cs3_start_c+0x80>
b4: e8a30003 stmia r3!, {r0, r1}
b8: e062c003 rsb r12, r2, r3
bc: e15e000c cmp lr, r12
c0: 1afffffb bne b4 <__cs3_start_c+0x70>
c4: e2466001 sub r6, r6, #1
c8: e3760001 cmn r6, #1
cc: e2855014 add r5, r5, #20
d0: 1affffe3 bne 64 <__cs3_start_c+0x20>
d4: eb000153 bl 628 <__cs3_premain>
d8: 00000001 .word 0x00000001
dc: 0000078c .word 0x0000078c
000000e0 <__cs3_start_asm_sim>:
e0: e28f103c add r1, pc, #60 ; 0x3c
e4: e3a00016 mov r0, #22
e8: ef123456 svc 0x00123456
ec: e3500000 cmp r0, #0
f0: ba000008 blt 118 <__cs3_start_asm_sim+0x38>
f4: e59f2028 ldr r2, [pc, #40] ; 124 <__cs3_heap_start_ptr>
f8: e59fd01c ldr sp, [pc, #28] ; 11c <__cs3_start_asm_sim+0x3c>
fc: e5920008 ldr r0, [r2, #8]
100: e3500000 cmp r0, #0
104: 11a0d000 movne sp, r0
108: e59f1010 ldr r1, [pc, #16] ; 120 <__cs3_start_asm_sim+0x40>
10c: e5920004 ldr r0, [r2, #4]
110: e3500000 cmp r0, #0
114: 15810000 strne r0, [r1]
118: eaffffc9 b 44 <__cs3_start_c>
11c: 3ffffff8 .word 0x3ffffff8
120: 00000bc8 .word 0x00000bc8
00000124 <__cs3_heap_start_ptr>:
124: 00000bf0 .word 0x00000bf0
00000128 <_start>:
128: e51fd000 ldr sp, [pc, #-0] ; 130 <_start+0x8>
12c: eaffffc4 b 44 <__cs3_start_c>
130: 3ffffff8 .word 0x3ffffff8
00000134 <deregister_tm_clones>:
134: e92d4008 push {r3, lr}
138: e59f002c ldr r0, [pc, #44] ; 16c <deregister_tm_clones+0x38>
13c: e59f302c ldr r3, [pc, #44] ; 170 <deregister_tm_clones+0x3c>
140: e0603003 rsb r3, r0, r3
144: e3530006 cmp r3, #6
148: 8a000001 bhi 154 <deregister_tm_clones+0x20>
14c: e8bd4008 pop {r3, lr}
150: e12fff1e bx lr
154: e59f3018 ldr r3, [pc, #24] ; 174 <deregister_tm_clones+0x40>
158: e3530000 cmp r3, #0
15c: 0afffffa beq 14c <deregister_tm_clones+0x18>
160: e1a0e00f mov lr, pc
164: e12fff13 bx r3
168: eafffff7 b 14c <deregister_tm_clones+0x18>
16c: 00000bd0 .word 0x00000bd0
170: 00000bd3 .word 0x00000bd3
174: 00000000 .word 0x00000000
00000178 <register_tm_clones>:
178: e92d4008 push {r3, lr}
17c: e59f0034 ldr r0, [pc, #52] ; 1b8 <register_tm_clones+0x40>
180: e59f3034 ldr r3, [pc, #52] ; 1bc <register_tm_clones+0x44>
184: e0603003 rsb r3, r0, r3
188: e1a03143 asr r3, r3, #2
18c: e0833fa3 add r3, r3, r3, lsr #31
190: e1b010c3 asrs r1, r3, #1
194: 1a000001 bne 1a0 <register_tm_clones+0x28>
198: e8bd4008 pop {r3, lr}
19c: e12fff1e bx lr
1a0: e59f2018 ldr r2, [pc, #24] ; 1c0 <register_tm_clones+0x48>
1a4: e3520000 cmp r2, #0
1a8: 0afffffa beq 198 <register_tm_clones+0x20>
1ac: e1a0e00f mov lr, pc
1b0: e12fff12 bx r2
1b4: eafffff7 b 198 <register_tm_clones+0x20>
1b8: 00000bd0 .word 0x00000bd0
1bc: 00000bd0 .word 0x00000bd0
1c0: 00000000 .word 0x00000000
000001c4 <__do_global_dtors_aux>:
1c4: e92d4010 push {r4, lr}
1c8: e59f402c ldr r4, [pc, #44] ; 1fc <__do_global_dtors_aux+0x38>
1cc: e5d43000 ldrb r3, [r4]
1d0: e3530000 cmp r3, #0
1d4: 1a000006 bne 1f4 <__do_global_dtors_aux+0x30>
1d8: ebffffd5 bl 134 <deregister_tm_clones>
1dc: e59f301c ldr r3, [pc, #28] ; 200 <__do_global_dtors_aux+0x3c>
1e0: e3530000 cmp r3, #0
1e4: 159f0018 ldrne r0, [pc, #24] ; 204 <__do_global_dtors_aux+0x40>
1e8: 1320f000 nopne {0}
1ec: e3a03001 mov r3, #1
1f0: e5c43000 strb r3, [r4]
1f4: e8bd4010 pop {r4, lr}
1f8: e12fff1e bx lr
1fc: 00000bd0 .word 0x00000bd0
200: 00000000 .word 0x00000000
204: 00000730 .word 0x00000730
00000208 <frame_dummy>:
208: e92d4008 push {r3, lr}
20c: e59f3034 ldr r3, [pc, #52] ; 248 <frame_dummy+0x40>
210: e3530000 cmp r3, #0
214: 159f0030 ldrne r0, [pc, #48] ; 24c <frame_dummy+0x44>
218: 159f1030 ldrne r1, [pc, #48] ; 250 <frame_dummy+0x48>
21c: 1320f000 nopne {0}
220: e59f002c ldr r0, [pc, #44] ; 254 <frame_dummy+0x4c>
224: e5903000 ldr r3, [r0]
228: e3530000 cmp r3, #0
22c: 0a000003 beq 240 <frame_dummy+0x38>
230: e59f3020 ldr r3, [pc, #32] ; 258 <frame_dummy+0x50>
234: e3530000 cmp r3, #0
238: 11a0e00f movne lr, pc
23c: 112fff13 bxne r3
240: e8bd4008 pop {r3, lr}
244: eaffffcb b 178 <register_tm_clones>
248: 00000000 .word 0x00000000
24c: 00000730 .word 0x00000730
250: 00000bd4 .word 0x00000bd4
254: 00000790 .word 0x00000790
258: 00000000 .word 0x00000000
0000025c <main>:
volatile int * Video_In_DMA_ptr = (int *) VIDEO_IN_BASE;
volatile short * Video_Mem_ptr = (short *) FPGA_ONCHIP_BASE;
int x, y;
*(Video_In_DMA_ptr + 3) = 0x4; // Enable the video
25c: e3033fff movw r3, #16383 ; 0x3fff
260: e34f3f20 movt r3, #65312 ; 0xff20
264: e3a02004 mov r2, #4
268: e5032f93 str r2, [r3, #-3987] ; 0xfffff06d
while (1)
{
if (*KEY_ptr != 0) // check if any KEY was pressed
26c: e3a03000 mov r3, #0
270: e34f3f20 movt r3, #65312 ; 0xff20
274: e5932050 ldr r2, [r3, #80] ; 0x50
278: e3520000 cmp r2, #0
27c: 0afffffc beq 274 <main+0x18>
{
*(Video_In_DMA_ptr + 3) = 0x0; // Disable the video to capture one frame
280: e3033fff movw r3, #16383 ; 0x3fff
284: e34f3f20 movt r3, #65312 ; 0xff20
288: e3a02000 mov r2, #0
28c: e5032f93 str r2, [r3, #-3987] ; 0xfffff06d
while (*KEY_ptr != 0); // wait for pushbutton KEY release
290: e1a03002 mov r3, r2
294: e34f3f20 movt r3, #65312 ; 0xff20
298: e5932050 ldr r2, [r3, #80] ; 0x50
29c: e3520000 cmp r2, #0
2a0: 1afffffc bne 298 <main+0x3c>
}
}
while (1)
{
if (*KEY_ptr != 0) // check if any KEY was pressed
2a4: e3a03000 mov r3, #0
2a8: e34f3f20 movt r3, #65312 ; 0xff20
2ac: e5932050 ldr r2, [r3, #80] ; 0x50
2b0: e3520000 cmp r2, #0
2b4: 0afffffc beq 2ac <main+0x50>
2b8: ea000007 b 2dc <main+0x80>
}
}
for (y = 0; y < 240; y++) {
for (x = 0; x < 320; x++) {
short temp2 = *(Video_Mem_ptr + (y << 9) + x);
2bc: e1d320b0 ldrh r2, [r3]
*(Video_Mem_ptr + (y << 9) + x) = temp2;
2c0: e0c320b2 strh r2, [r3], #2
break;
}
}
for (y = 0; y < 240; y++) {
for (x = 0; x < 320; x++) {
2c4: e1530001 cmp r3, r1
2c8: 1afffffb bne 2bc <main+0x60>
{
break;
}
}
for (y = 0; y < 240; y++) {
2cc: e2800001 add r0, r0, #1
2d0: e35000f0 cmp r0, #240 ; 0xf0
2d4: 1a000001 bne 2e0 <main+0x84>
2d8: e12fff1e bx lr
}
}
while (1)
{
if (*KEY_ptr != 0) // check if any KEY was pressed
2dc: e3a00000 mov r0, #0
}
}
for (y = 0; y < 240; y++) {
for (x = 0; x < 320; x++) {
short temp2 = *(Video_Mem_ptr + (y << 9) + x);
2e0: e1a01480 lsl r1, r0, #9
* 1. Capture one frame of video when any key is pressed.
* 2. Display the captured frame when any key is pressed.
*/
/* Note: Set the switches SW1 and SW2 to high and rest of the switches to low for correct exposure timing while compiling and the loading the program in the Altera Monitor program.
*/
int main(void)
2e4: e1a03500 lsl r3, r0, #10
2e8: e2833332 add r3, r3, #-939524096 ; 0xc8000000
2ec: e2811319 add r1, r1, #1677721600 ; 0x64000000
2f0: e2811d05 add r1, r1, #320 ; 0x140
2f4: e1a01081 lsl r1, r1, #1
2f8: eaffffef b 2bc <main+0x60>
000002fc <atexit>:
2fc: e1a01000 mov r1, r0
300: e3a00000 mov r0, #0
304: e92d4008 push {r3, lr}
308: e1a02000 mov r2, r0
30c: e1a03000 mov r3, r0
310: eb00000e bl 350 <__register_exitproc>
314: e8bd4008 pop {r3, lr}
318: e12fff1e bx lr
0000031c <exit>:
31c: e92d4008 push {r3, lr}
320: e3a01000 mov r1, #0
324: e1a04000 mov r4, r0
328: eb000045 bl 444 <__call_exitprocs>
32c: e59f3018 ldr r3, [pc, #24] ; 34c <exit+0x30>
330: e5930000 ldr r0, [r3]
334: e590303c ldr r3, [r0, #60] ; 0x3c
338: e3530000 cmp r3, #0
33c: 11a0e00f movne lr, pc
340: 112fff13 bxne r3
344: e1a00004 mov r0, r4
348: eb0000c9 bl 674 <_exit>
34c: 00000734 .word 0x00000734
00000350 <__register_exitproc>:
350: e59fc0e4 ldr r12, [pc, #228] ; 43c <__register_exitproc+0xec>
354: e92d41f0 push {r4, r5, r6, r7, r8, lr}
358: e59c4000 ldr r4, [r12]
35c: e594c148 ldr r12, [r4, #328] ; 0x148
360: e35c0000 cmp r12, #0
364: 0284cf53 addeq r12, r4, #332 ; 0x14c
368: e59c5004 ldr r5, [r12, #4]
36c: 0584c148 streq r12, [r4, #328] ; 0x148
370: e355001f cmp r5, #31
374: e24dd010 sub sp, sp, #16
378: e1a06000 mov r6, r0
37c: da000015 ble 3d8 <__register_exitproc+0x88>
380: e59f00b8 ldr r0, [pc, #184] ; 440 <__register_exitproc+0xf0>
384: e3500000 cmp r0, #0
388: 1a000001 bne 394 <__register_exitproc+0x44>
38c: e3e00000 mvn r0, #0
390: ea000018 b 3f8 <__register_exitproc+0xa8>
394: e3a00e19 mov r0, #400 ; 0x190
398: e58d100c str r1, [sp, #12]
39c: e58d2008 str r2, [sp, #8]
3a0: e58d3004 str r3, [sp, #4]
3a4: e320f000 nop {0}
3a8: e250c000 subs r12, r0, #0
3ac: e59d100c ldr r1, [sp, #12]
3b0: e59d2008 ldr r2, [sp, #8]
3b4: e59d3004 ldr r3, [sp, #4]
3b8: 0afffff3 beq 38c <__register_exitproc+0x3c>
3bc: e5945148 ldr r5, [r4, #328] ; 0x148
3c0: e3a00000 mov r0, #0
3c4: e58c0004 str r0, [r12, #4]
3c8: e58c5000 str r5, [r12]
3cc: e584c148 str r12, [r4, #328] ; 0x148
3d0: e58c0188 str r0, [r12, #392] ; 0x188
3d4: e58c018c str r0, [r12, #396] ; 0x18c
3d8: e3560000 cmp r6, #0
3dc: e59c4004 ldr r4, [r12, #4]
3e0: 1a000007 bne 404 <__register_exitproc+0xb4>
3e4: e2843002 add r3, r4, #2
3e8: e2844001 add r4, r4, #1
3ec: e78c1103 str r1, [r12, r3, lsl #2]
3f0: e58c4004 str r4, [r12, #4]
3f4: e3a00000 mov r0, #0
3f8: e28dd010 add sp, sp, #16
3fc: e8bd41f0 pop {r4, r5, r6, r7, r8, lr}
400: e12fff1e bx lr
404: e3a00001 mov r0, #1
408: e1a00410 lsl r0, r0, r4
40c: e08c8104 add r8, r12, r4, lsl #2
410: e3560002 cmp r6, #2
414: e59c7188 ldr r7, [r12, #392] ; 0x188
418: e5883108 str r3, [r8, #264] ; 0x108
41c: 059c318c ldreq r3, [r12, #396] ; 0x18c
420: e1877000 orr r7, r7, r0
424: 01830000 orreq r0, r3, r0
428: e1a05008 mov r5, r8
42c: e5882088 str r2, [r8, #136] ; 0x88
430: e58c7188 str r7, [r12, #392] ; 0x188
434: 058c018c streq r0, [r12, #396] ; 0x18c
438: eaffffe9 b 3e4 <__register_exitproc+0x94>
43c: 00000734 .word 0x00000734
440: 00000000 .word 0x00000000
00000444 <__call_exitprocs>:
444: e92d4ff0 push {r4, r5, r6, r7, r8, r9, r10, r11, lr}
448: e59f3168 ldr r3, [pc, #360] ; 5b8 <__call_exitprocs+0x174>
44c: e5933000 ldr r3, [r3]
450: e24dd014 sub sp, sp, #20
454: e58d3004 str r3, [sp, #4]
458: e2833f52 add r3, r3, #328 ; 0x148
45c: e58d0008 str r0, [sp, #8]
460: e58d300c str r3, [sp, #12]
464: e1a07001 mov r7, r1
468: e3a08001 mov r8, #1
46c: e59d3004 ldr r3, [sp, #4]
470: e5936148 ldr r6, [r3, #328] ; 0x148
474: e3560000 cmp r6, #0
478: e59db00c ldr r11, [sp, #12]
47c: 0a000033 beq 550 <__call_exitprocs+0x10c>
480: e5965004 ldr r5, [r6, #4]
484: e2554001 subs r4, r5, #1
488: 5286a088 addpl r10, r6, #136 ; 0x88
48c: 5285501f addpl r5, r5, #31
490: 508a5105 addpl r5, r10, r5, lsl #2
494: 5a000007 bpl 4b8 <__call_exitprocs+0x74>
498: ea000029 b 544 <__call_exitprocs+0x100>
49c: e5953000 ldr r3, [r5]
4a0: e1530007 cmp r3, r7
4a4: 0a000005 beq 4c0 <__call_exitprocs+0x7c>
4a8: e2444001 sub r4, r4, #1
4ac: e3740001 cmn r4, #1
4b0: e2455004 sub r5, r5, #4
4b4: 0a000022 beq 544 <__call_exitprocs+0x100>
4b8: e3570000 cmp r7, #0
4bc: 1afffff6 bne 49c <__call_exitprocs+0x58>
4c0: e5963004 ldr r3, [r6, #4]
4c4: e06a2005 rsb r2, r10, r5
4c8: e2433001 sub r3, r3, #1
4cc: e0862002 add r2, r6, r2
4d0: e1530004 cmp r3, r4
4d4: e5123078 ldr r3, [r2, #-120] ; 0xffffff88
4d8: 13a01000 movne r1, #0
4dc: 05864004 streq r4, [r6, #4]
4e0: 15021078 strne r1, [r2, #-120] ; 0xffffff88
4e4: e3530000 cmp r3, #0
4e8: 0affffee beq 4a8 <__call_exitprocs+0x64>
4ec: e1a02418 lsl r2, r8, r4
4f0: e5961188 ldr r1, [r6, #392] ; 0x188
4f4: e1120001 tst r2, r1
4f8: e5969004 ldr r9, [r6, #4]
4fc: 0a000016 beq 55c <__call_exitprocs+0x118>
500: e596118c ldr r1, [r6, #396] ; 0x18c
504: e1120001 tst r2, r1
508: 1a000016 bne 568 <__call_exitprocs+0x124>
50c: e59d0008 ldr r0, [sp, #8]
510: e5151080 ldr r1, [r5, #-128] ; 0xffffff80
514: e1a0e00f mov lr, pc
518: e12fff13 bx r3
51c: e5963004 ldr r3, [r6, #4]
520: e1530009 cmp r3, r9
524: 1affffd0 bne 46c <__call_exitprocs+0x28>
528: e59b3000 ldr r3, [r11]
52c: e1530006 cmp r3, r6
530: 1affffcd bne 46c <__call_exitprocs+0x28>
534: e2444001 sub r4, r4, #1
538: e3740001 cmn r4, #1
53c: e2455004 sub r5, r5, #4
540: 1affffdc bne 4b8 <__call_exitprocs+0x74>
544: e59f1070 ldr r1, [pc, #112] ; 5bc <__call_exitprocs+0x178>
548: e3510000 cmp r1, #0
54c: 1a000009 bne 578 <__call_exitprocs+0x134>
550: e28dd014 add sp, sp, #20
554: e8bd4ff0 pop {r4, r5, r6, r7, r8, r9, r10, r11, lr}
558: e12fff1e bx lr
55c: e1a0e00f mov lr, pc
560: e12fff13 bx r3
564: eaffffec b 51c <__call_exitprocs+0xd8>
568: e5150080 ldr r0, [r5, #-128] ; 0xffffff80
56c: e1a0e00f mov lr, pc
570: e12fff13 bx r3
574: eaffffe8 b 51c <__call_exitprocs+0xd8>
578: e5963004 ldr r3, [r6, #4]
57c: e3530000 cmp r3, #0
580: e5963000 ldr r3, [r6]
584: 1a000008 bne 5ac <__call_exitprocs+0x168>
588: e3530000 cmp r3, #0
58c: 0a000006 beq 5ac <__call_exitprocs+0x168>
590: e1a00006 mov r0, r6
594: e58b3000 str r3, [r11]
598: e320f000 nop {0}
59c: e59b6000 ldr r6, [r11]
5a0: e3560000 cmp r6, #0
5a4: 1affffb5 bne 480 <__call_exitprocs+0x3c>
5a8: eaffffe8 b 550 <__call_exitprocs+0x10c>
5ac: e1a0b006 mov r11, r6
5b0: e1a06003 mov r6, r3
5b4: eafffff9 b 5a0 <__call_exitprocs+0x15c>
5b8: 00000734 .word 0x00000734
5bc: 00000000 .word 0x00000000
000005c0 <register_fini>:
5c0: e92d4008 push {r3, lr}
5c4: e59f3010 ldr r3, [pc, #16] ; 5dc <register_fini+0x1c>
5c8: e3530000 cmp r3, #0
5cc: 159f000c ldrne r0, [pc, #12] ; 5e0 <register_fini+0x20>
5d0: 1bffff49 blne 2fc <atexit>
5d4: e8bd4008 pop {r3, lr}
5d8: e12fff1e bx lr
5dc: 0000075c .word 0x0000075c
5e0: 000005e4 .word 0x000005e4
000005e4 <__libc_fini_array>:
5e4: e92d4038 push {r3, r4, r5, lr}
5e8: e59f5030 ldr r5, [pc, #48] ; 620 <__libc_fini_array+0x3c>
5ec: e59f4030 ldr r4, [pc, #48] ; 624 <__libc_fini_array+0x40>
5f0: e0654004 rsb r4, r5, r4
5f4: e1b04144 asrs r4, r4, #2
5f8: 10855104 addne r5, r5, r4, lsl #2
5fc: 0a000004 beq 614 <__libc_fini_array+0x30>
600: e5353004 ldr r3, [r5, #-4]!
604: e1a0e00f mov lr, pc
608: e12fff13 bx r3
60c: e2544001 subs r4, r4, #1
610: 1afffffa bne 600 <__libc_fini_array+0x1c>
614: eb000050 bl 75c <__libc_fini>
618: e8bd4038 pop {r3, r4, r5, lr}
61c: e12fff1e bx lr
620: 00000774 .word 0x00000774
624: 00000778 .word 0x00000778
00000628 <__cs3_premain>:
628: e92d4008 push {r3, lr}
62c: eb00001d bl 6a8 <__libc_init_array>
630: e59f3030 ldr r3, [pc, #48] ; 668 <__cs3_premain+0x40>
634: e3530000 cmp r3, #0
638: 15930000 ldrne r0, [r3]
63c: 01a00003 moveq r0, r3
640: e59f3024 ldr r3, [pc, #36] ; 66c <__cs3_premain+0x44>
644: e3530000 cmp r3, #0
648: 15931000 ldrne r1, [r3]
64c: 01a01003 moveq r1, r3
650: e3a02000 mov r2, #0
654: ebffff00 bl 25c <main>
658: e59f3010 ldr r3, [pc, #16] ; 670 <__cs3_premain+0x48>
65c: e3530000 cmp r3, #0
660: 1bffff2d blne 31c <exit>
664: eafffffe b 664 <__cs3_premain+0x3c>
...
670: 0000031c .word 0x0000031c
00000674 <_exit>:
674: e52de004 push {lr} ; (str lr, [sp, #-4]!)
678: e3a00018 mov r0, #24
67c: e59f1004 ldr r1, [pc, #4] ; 688 <_exit+0x14>
680: ef123456 svc 0x00123456
684: eafffffe b 684 <_exit+0x10>
688: 00020026 .word 0x00020026
0000068c <__cs3_isr_interrupt>:
68c: eafffffe b 68c <__cs3_isr_interrupt>
00000690 <__cs3_isr_undef>:
690: eafffffe b 690 <__cs3_isr_undef>
00000694 <__cs3_isr_swi>:
694: eafffffe b 694 <__cs3_isr_swi>
00000698 <__cs3_isr_pabort>:
698: eafffffe b 698 <__cs3_isr_pabort>
0000069c <__cs3_isr_dabort>:
69c: eafffffe b 69c <__cs3_isr_dabort>
000006a0 <__cs3_isr_irq>:
6a0: eafffffe b 6a0 <__cs3_isr_irq>
000006a4 <__cs3_isr_fiq>:
6a4: eafffffe b 6a4 <__cs3_isr_fiq>
000006a8 <__libc_init_array>:
6a8: e92d4070 push {r4, r5, r6, lr}
6ac: e59f506c ldr r5, [pc, #108] ; 720 <__libc_init_array+0x78>
6b0: e59f606c ldr r6, [pc, #108] ; 724 <__libc_init_array+0x7c>
6b4: e0656006 rsb r6, r5, r6
6b8: e1b06146 asrs r6, r6, #2
6bc: 12455004 subne r5, r5, #4
6c0: 13a04000 movne r4, #0
6c4: 0a000005 beq 6e0 <__libc_init_array+0x38>
6c8: e5b53004 ldr r3, [r5, #4]!
6cc: e2844001 add r4, r4, #1
6d0: e1a0e00f mov lr, pc
6d4: e12fff13 bx r3
6d8: e1560004 cmp r6, r4
6dc: 1afffff9 bne 6c8 <__libc_init_array+0x20>
6e0: e59f5040 ldr r5, [pc, #64] ; 728 <__libc_init_array+0x80>
6e4: e59f6040 ldr r6, [pc, #64] ; 72c <__libc_init_array+0x84>
6e8: e0656006 rsb r6, r5, r6
6ec: eb000012 bl 73c <_init>
6f0: e1b06146 asrs r6, r6, #2
6f4: 12455004 subne r5, r5, #4
6f8: 13a04000 movne r4, #0
6fc: 0a000005 beq 718 <__libc_init_array+0x70>
700: e5b53004 ldr r3, [r5, #4]!
704: e2844001 add r4, r4, #1
708: e1a0e00f mov lr, pc
70c: e12fff13 bx r3
710: e1560004 cmp r6, r4
714: 1afffff9 bne 700 <__libc_init_array+0x58>
718: e8bd4070 pop {r4, r5, r6, lr}
71c: e12fff1e bx lr
720: 00000754 .word 0x00000754
724: 00000754 .word 0x00000754
728: 00000754 .word 0x00000754
72c: 0000075c .word 0x0000075c
Disassembly of section .rodata:
00000734 <_global_impure_ptr>:
734: 000007a0 00000043 ....C...
0000073c <_init>:
73c: e1a0c00d mov r12, sp
740: e92ddff8 push {r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, lr, pc}
744: e24cb004 sub r11, r12, #4
748: e24bd028 sub sp, r11, #40 ; 0x28
74c: e89d6ff0 ldm sp, {r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}
750: e12fff1e bx lr
00000754 <__init_array_start>:
754: 000005c0 .word 0x000005c0
00000758 <__frame_dummy_init_array_entry>:
758: 00000208 ....
0000075c <__libc_fini>:
75c: e1a0c00d mov r12, sp
760: e92ddff8 push {r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, lr, pc}
764: e24cb004 sub r11, r12, #4
768: e24bd028 sub sp, r11, #40 ; 0x28
76c: e89d6ff0 ldm sp, {r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}
770: e12fff1e bx lr
00000774 <__fini_array_start>:
774: 000001c4 .word 0x000001c4
00000778 <__cs3_regions>:
...
784: 00000bd0 .word 0x00000bd0
788: 00000020 .word 0x00000020
0000078c <__cs3_regions_end>:
78c: 00000000 .word 0x00000000