forked from lupyuen/pinetime-logo-loader
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplatformio.S
2625 lines (2569 loc) · 150 KB
/
platformio.S
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
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/Users/Luppy/Downloads/191019-110116-eval-blink 2/pio/build/gd32vf103v-eval/firmware.elf: file format elf32-littleriscv
SYMBOL TABLE:
08000000 l d .init 00000000 .init
08000236 l d .ilalign 00000000 .ilalign
08000240 l d .text 00000000 .text
080019ec l d .sdata2._global_impure_ptr 00000000 .sdata2._global_impure_ptr
080019f0 l d .lalign 00000000 .lalign
20000000 l d .dalign 00000000 .dalign
20000000 l d .data 00000000 .data
20000070 l d .bss 00000000 .bss
20007800 l d .stack 00000000 .stack
00000000 l d .comment 00000000 .comment
00000000 l d .riscv.attributes 00000000 .riscv.attributes
00000000 l d .debug_info 00000000 .debug_info
00000000 l d .debug_abbrev 00000000 .debug_abbrev
00000000 l d .debug_loc 00000000 .debug_loc
00000000 l d .debug_aranges 00000000 .debug_aranges
00000000 l d .debug_ranges 00000000 .debug_ranges
00000000 l d .debug_line 00000000 .debug_line
00000000 l d .debug_str 00000000 .debug_str
00000000 l d .debug_frame 00000000 .debug_frame
00000000 l df *ABS* 00000000 start.o
08000000 l .init 00000000 vector_base
08000182 l .init 00000000 _start0800
00000000 l df *ABS* 00000000 gd32v103v_eval.c
08000240 l O .text 00000010 GPIO_CLK
08000250 l O .text 00000010 GPIO_PIN
08000260 l O .text 00000010 GPIO_PORT
00000000 l df *ABS* 00000000 handlers.c
00000000 l df *ABS* 00000000 _exit.c
00000000 l df *ABS* 00000000 write_hex.c
00000000 l df *ABS* 00000000 divdf3.c
00000000 l df *ABS* 00000000 muldf3.c
00000000 l df *ABS* 00000000 libgcc2.c
00000000 l df *ABS* 00000000 main.c
00000000 l df *ABS* 00000000 systick.c
00000000 l df *ABS* 00000000 gd32vf103_gpio.c
00000000 l df *ABS* 00000000 gd32vf103_rcu.c
00000000 l df *ABS* 00000000 gd32vf103_usart.c
00000000 l df *ABS* 00000000 system_gd32vf103.c
00000000 l df *ABS* 00000000 n200_func.c
00000000 l df *ABS* 00000000 entry.o
080008ac l .text 00000000 service_loop
00000000 l df *ABS* 00000000 atexit.c
00000000 l df *ABS* 00000000 exit.c
00000000 l df *ABS* 00000000 fini.c
00000000 l df *ABS* 00000000 init.c
00000000 l df *ABS* 00000000 memcpy.c
00000000 l df *ABS* 00000000 syswrite.c
00000000 l df *ABS* 00000000 writer.c
00000000 l df *ABS* 00000000 __atexit.c
20000074 l O .bss 0000008c _global_atexit0
00000000 l df *ABS* 00000000 __call_atexit.c
00000000 l df *ABS* 00000000 init.c
00000000 l df *ABS* 00000000 write.c
00000000 l df *ABS* 00000000 ledf2.c
00000000 l df *ABS* 00000000 floatunsidf.c
00000000 l df *ABS* 00000000 floatundidf.c
00000000 l df *ABS* 00000000 libgcc2.c
00000000 l df *ABS* 00000000 libgcc2.c
00000000 l df *ABS* 00000000 libgcc2.c
00000000 l df *ABS* 00000000 impure.c
20000000 l O .data 00000060 impure_data
00000000 l df *ABS* 00000000
080019f0 l .sdata2._global_impure_ptr 00000000 __fini_array_end
080019f0 l .sdata2._global_impure_ptr 00000000 __fini_array_start
080019f0 l .sdata2._global_impure_ptr 00000000 __init_array_end
080019f0 l .sdata2._global_impure_ptr 00000000 __preinit_array_end
080019f0 l .sdata2._global_impure_ptr 00000000 __init_array_start
080019f0 l .sdata2._global_impure_ptr 00000000 __preinit_array_start
08001984 g F .text 0000002a .hidden __ashldi3
20000860 g .data 00000000 __global_pointer$
20000100 g O .bss 00000004 errno
00000800 g *ABS* 00000000 __stack_size
08000aa8 g F .text 000000d4 memcpy
080012de g F .text 000000a6 .hidden __ltdf2
20000060 g O .data 00000004 SystemCoreClock
08000904 w F .text 00000024 handle_trap
0800087c w .text 00000000 irq_entry
20007800 g .stack 00000000 _heap_end
080019ec g O .sdata2._global_impure_ptr 00000004 _global_impure_ptr
08000a38 g F .text 00000070 __libc_init_array
080017c4 g F .text 0000004e .hidden __floatunsidf
08000d0e g F .text 00000016 _init
080009fe g F .text 0000003a __libc_fini_array
080008ee w F .text 00000016 handle_nmi
08000b7c g F .text 00000010 write
0800195a g F .text 0000002a .hidden __lshrdi3
0800046a g F .text 00000048 gd_eval_led_init
080012de g F .text 000000a6 .hidden __ledf2
080004f2 g F .text 000000a4 delay_1ms
0800095c g F .text 00000070 write_hex
080019ae g F .text 0000003c .hidden __clzsi2
20000070 g O .bss 00000004 _global_atexit
08000c42 g F .text 000000cc __call_exitprocs
20008000 g .stack 00000000 _sp
0800015c g F .init 00000000 _start
0800063a g F .text 00000018 rcu_periph_clock_enable
08001812 g F .text 00000148 .hidden __floatundidf
0800022e g .init 00000000 enable_mcycle_minstret
08000bba g F .text 00000088 __register_exitproc
080004b2 g F .text 00000020 gd_eval_led_on
0800078a g F .text 00000010 get_timer_value
08000d9a g F .text 00000544 .hidden __divdf3
08001384 g F .text 00000440 .hidden __muldf3
20000070 g .bss 00000000 __bss_start
08000652 g F .text 00000008 usart_data_transmit
0800041c g F .text 0000004e main
08000800 w .text 00000000 trap_entry
08000228 g .init 00000000 disable_mcycle_minstret
080007c2 g F .text 00000012 eclic_mode_enable
0800066e g F .text 0000011c SystemInit
08000d24 g F .text 00000002 _fini
0800031c g O .text 00000100 .hidden __clz_tab
080004d2 g F .text 00000020 gd_eval_led_off
080009cc g F .text 0000000a atexit
08000b8c g F .text 0000002e _write_r
20000064 g O .data 00000004 _impure_ptr
20000000 g .dalign 00000000 _data
08000d5a g F .text 00000040 _write
20000070 g .bss 00000000 _edata
20000108 g .bss 00000000 _end
08000d26 w F .text 00000034 _put_char
080019f0 g .lalign 00000000 _data_lma
080009d6 g F .text 00000028 exit
0800079a g F .text 00000028 eclic_init
08000928 g F .text 00000034 _exit
0800065a g F .text 00000014 usart_flag_get
08000596 g F .text 000000a4 gpio_init
Disassembly of section .init:
08000000 <vector_base>:
vector_base():
8000000: aab1 j 800015c <_start>
8000002: 0001 nop
...
0800015c <_start>:
_start():
800015c: 30047073 csrci mstatus,8
8000160: 00000517 auipc a0,0x0
8000164: ffc50513 addi a0,a0,-4 # 800015c <_start>
8000168: 4585 li a1,1
800016a: 05f6 slli a1,a1,0x1d
800016c: 00b57b63 bgeu a0,a1,8000182 <_start0800>
8000170: 8189 srli a1,a1,0x2
8000172: 00b57863 bgeu a0,a1,8000182 <_start0800>
8000176: 00000517 auipc a0,0x0
800017a: 00c50513 addi a0,a0,12 # 8000182 <_start0800>
800017e: 952e add a0,a0,a1
8000180: 8502 jr a0
08000182 <_start0800>:
_start0800():
8000182: 20000293 li t0,512
8000186: 7d02a073 csrs 0x7d0,t0
800018a: 00000297 auipc t0,0x0
800018e: e7628293 addi t0,t0,-394 # 8000000 <vector_base>
8000192: 30729073 csrw mtvt,t0
8000196: 00000297 auipc t0,0x0
800019a: 6e628293 addi t0,t0,1766 # 800087c <irq_entry>
800019e: 7ec29073 csrw 0x7ec,t0
80001a2: 7ec0e073 csrsi 0x7ec,1
80001a6: 00000297 auipc t0,0x0
80001aa: 65a28293 addi t0,t0,1626 # 8000800 <trap_entry>
80001ae: 30529073 csrw mtvec,t0
80001b2: 18000197 auipc gp,0x18000
80001b6: 6ae18193 addi gp,gp,1710 # 20000860 <__global_pointer$>
80001ba: 18008117 auipc sp,0x18008
80001be: e4610113 addi sp,sp,-442 # 20008000 <_sp>
80001c2: 00002517 auipc a0,0x2
80001c6: 82e50513 addi a0,a0,-2002 # 80019f0 <__fini_array_end>
80001ca: 18000597 auipc a1,0x18000
80001ce: e3658593 addi a1,a1,-458 # 20000000 <_data>
80001d2: 18000617 auipc a2,0x18000
80001d6: e9e60613 addi a2,a2,-354 # 20000070 <_global_atexit>
80001da: 00c5fa63 bgeu a1,a2,80001ee <_start0800+0x6c>
80001de: 00052283 lw t0,0(a0)
80001e2: 0055a023 sw t0,0(a1)
80001e6: 0511 addi a0,a0,4
80001e8: 0591 addi a1,a1,4
80001ea: fec5eae3 bltu a1,a2,80001de <_start0800+0x5c>
80001ee: 18000517 auipc a0,0x18000
80001f2: e8250513 addi a0,a0,-382 # 20000070 <_global_atexit>
80001f6: 8a818593 addi a1,gp,-1880 # 20000108 <_end>
80001fa: 00b57763 bgeu a0,a1,8000208 <_start0800+0x86>
80001fe: 00052023 sw zero,0(a0)
8000202: 0511 addi a0,a0,4
8000204: feb56de3 bltu a0,a1,80001fe <_start0800+0x7c>
8000208: 3202f073 csrci mucounteren,5
800020c: 00000517 auipc a0,0x0
8000210: 7f250513 addi a0,a0,2034 # 80009fe <__libc_fini_array>
8000214: 7b8000ef jal ra,80009cc <atexit>
8000218: 021000ef jal ra,8000a38 <__libc_init_array>
800021c: 4501 li a0,0
800021e: 4581 li a1,0
8000220: 2af5 jal 800041c <main>
8000222: 7b40006f j 80009d6 <exit>
8000226: a001 j 8000226 <_start0800+0xa4>
08000228 <disable_mcycle_minstret>:
disable_mcycle_minstret():
8000228: 3202e073 csrsi mucounteren,5
800022c: 8082 ret
0800022e <enable_mcycle_minstret>:
enable_mcycle_minstret():
800022e: 3202f073 csrci mucounteren,5
8000232: 8082 ret
...
Disassembly of section .text:
08000240 <GPIO_CLK>:
8000240: 0604 0000 0604 0000 0606 0000 0606 0000 ................
08000250 <GPIO_PIN>:
8000250: 0001 0000 0004 0000 0001 0000 0002 0000 ................
08000260 <GPIO_PORT>:
8000260: 1000 4001 1000 4001 1800 4001 1800 4001 ...@...@...@...@
8000270: 6d6e 0a69 0000 0000 7274 7061 000a 0000 nmi.....trap....
8000280: 500a 6f72 7267 6d61 6820 7361 6520 6978 .Program has exi
8000290: 6574 2064 6977 6874 6320 646f 3a65 0000 ted with code:..
80002a0: 7830 0000 1216 0800 12ca 0800 1220 0800 0x.......... ...
80002b0: 12ca 0800 12bc 0800 12ca 0800 1220 0800 ............ ...
80002c0: 1216 0800 1216 0800 12bc 0800 1220 0800 ............ ...
80002d0: 11fc 0800 11fc 0800 11fc 0800 1224 0800 ............$...
80002e0: 16fe 0800 16fe 0800 1716 0800 16f8 0800 ................
80002f0: 16f8 0800 17a4 0800 1716 0800 16f8 0800 ................
8000300: 17a4 0800 16f8 0800 1716 0800 16f6 0800 ................
8000310: 16f6 0800 16f6 0800 17a4 0800 ............
0800031c <__clz_tab>:
800031c: 0100 0202 0303 0303 0404 0404 0404 0404 ................
800032c: 0505 0505 0505 0505 0505 0505 0505 0505 ................
800033c: 0606 0606 0606 0606 0606 0606 0606 0606 ................
800034c: 0606 0606 0606 0606 0606 0606 0606 0606 ................
800035c: 0707 0707 0707 0707 0707 0707 0707 0707 ................
800036c: 0707 0707 0707 0707 0707 0707 0707 0707 ................
800037c: 0707 0707 0707 0707 0707 0707 0707 0707 ................
800038c: 0707 0707 0707 0707 0707 0707 0707 0707 ................
800039c: 0808 0808 0808 0808 0808 0808 0808 0808 ................
80003ac: 0808 0808 0808 0808 0808 0808 0808 0808 ................
80003bc: 0808 0808 0808 0808 0808 0808 0808 0808 ................
80003cc: 0808 0808 0808 0808 0808 0808 0808 0808 ................
80003dc: 0808 0808 0808 0808 0808 0808 0808 0808 ................
80003ec: 0808 0808 0808 0808 0808 0808 0808 0808 ................
80003fc: 0808 0808 0808 0808 0808 0808 0808 0808 ................
800040c: 0808 0808 0808 0808 0808 0808 0808 0808 ................
0800041c <main>:
main():
800041c: 1141 addi sp,sp,-16
800041e: 4501 li a0,0
8000420: c606 sw ra,12(sp)
8000422: 20a1 jal 800046a <gd_eval_led_init>
8000424: 4505 li a0,1
8000426: 2091 jal 800046a <gd_eval_led_init>
8000428: 4509 li a0,2
800042a: 2081 jal 800046a <gd_eval_led_init>
800042c: 450d li a0,3
800042e: 2835 jal 800046a <gd_eval_led_init>
8000430: 4501 li a0,0
8000432: 2041 jal 80004b2 <gd_eval_led_on>
8000434: 450d li a0,3
8000436: 2871 jal 80004d2 <gd_eval_led_off>
8000438: 3e800513 li a0,1000
800043c: 285d jal 80004f2 <delay_1ms>
800043e: 4505 li a0,1
8000440: 288d jal 80004b2 <gd_eval_led_on>
8000442: 4501 li a0,0
8000444: 2079 jal 80004d2 <gd_eval_led_off>
8000446: 3e800513 li a0,1000
800044a: 2065 jal 80004f2 <delay_1ms>
800044c: 4509 li a0,2
800044e: 2095 jal 80004b2 <gd_eval_led_on>
8000450: 4505 li a0,1
8000452: 2041 jal 80004d2 <gd_eval_led_off>
8000454: 3e800513 li a0,1000
8000458: 2869 jal 80004f2 <delay_1ms>
800045a: 450d li a0,3
800045c: 2899 jal 80004b2 <gd_eval_led_on>
800045e: 4509 li a0,2
8000460: 288d jal 80004d2 <gd_eval_led_off>
8000462: 3e800513 li a0,1000
8000466: 2071 jal 80004f2 <delay_1ms>
8000468: b7e1 j 8000430 <main+0x14>
0800046a <gd_eval_led_init>:
gd_eval_led_init():
800046a: 1141 addi sp,sp,-16
800046c: 080007b7 lui a5,0x8000
8000470: c422 sw s0,8(sp)
8000472: 24078793 addi a5,a5,576 # 8000240 <GPIO_CLK>
8000476: 00251413 slli s0,a0,0x2
800047a: 97a2 add a5,a5,s0
800047c: 4388 lw a0,0(a5)
800047e: c606 sw ra,12(sp)
8000480: c226 sw s1,4(sp)
8000482: 2a65 jal 800063a <rcu_periph_clock_enable>
8000484: 080007b7 lui a5,0x8000
8000488: 26078793 addi a5,a5,608 # 8000260 <GPIO_PORT>
800048c: 97a2 add a5,a5,s0
800048e: 4384 lw s1,0(a5)
8000490: 080007b7 lui a5,0x8000
8000494: 25078793 addi a5,a5,592 # 8000250 <GPIO_PIN>
8000498: 97a2 add a5,a5,s0
800049a: 4380 lw s0,0(a5)
800049c: 8526 mv a0,s1
800049e: 460d li a2,3
80004a0: 86a2 mv a3,s0
80004a2: 45c1 li a1,16
80004a4: 28cd jal 8000596 <gpio_init>
80004a6: 40b2 lw ra,12(sp)
80004a8: c8c0 sw s0,20(s1)
80004aa: 4422 lw s0,8(sp)
80004ac: 4492 lw s1,4(sp)
80004ae: 0141 addi sp,sp,16
80004b0: 8082 ret
080004b2 <gd_eval_led_on>:
gd_eval_led_on():
80004b2: 00251713 slli a4,a0,0x2
80004b6: 080007b7 lui a5,0x8000
80004ba: 08000537 lui a0,0x8000
80004be: 26078793 addi a5,a5,608 # 8000260 <GPIO_PORT>
80004c2: 25050513 addi a0,a0,592 # 8000250 <GPIO_PIN>
80004c6: 97ba add a5,a5,a4
80004c8: 953a add a0,a0,a4
80004ca: 439c lw a5,0(a5)
80004cc: 4118 lw a4,0(a0)
80004ce: cb98 sw a4,16(a5)
80004d0: 8082 ret
080004d2 <gd_eval_led_off>:
gd_eval_led_off():
80004d2: 00251713 slli a4,a0,0x2
80004d6: 080007b7 lui a5,0x8000
80004da: 08000537 lui a0,0x8000
80004de: 26078793 addi a5,a5,608 # 8000260 <GPIO_PORT>
80004e2: 25050513 addi a0,a0,592 # 8000250 <GPIO_PIN>
80004e6: 97ba add a5,a5,a4
80004e8: 953a add a0,a0,a4
80004ea: 439c lw a5,0(a5)
80004ec: 4118 lw a4,0(a0)
80004ee: cbd8 sw a4,20(a5)
80004f0: 8082 ret
080004f2 <delay_1ms>:
delay_1ms():
80004f2: 7179 addi sp,sp,-48
80004f4: d04a sw s2,32(sp)
80004f6: ce4e sw s3,28(sp)
80004f8: c85a sw s6,16(sp)
80004fa: d606 sw ra,44(sp)
80004fc: d422 sw s0,40(sp)
80004fe: d226 sw s1,36(sp)
8000500: cc52 sw s4,24(sp)
8000502: ca56 sw s5,20(sp)
8000504: c65e sw s7,12(sp)
8000506: c462 sw s8,8(sp)
8000508: c266 sw s9,4(sp)
800050a: 8b2a mv s6,a0
800050c: 2cbd jal 800078a <get_timer_value>
800050e: 89aa mv s3,a0
8000510: 892e mv s2,a1
8000512: 2ca5 jal 800078a <get_timer_value>
8000514: 84aa mv s1,a0
8000516: 842e mv s0,a1
8000518: 00a99463 bne s3,a0,8000520 <delay_1ms+0x2e>
800051c: feb90be3 beq s2,a1,8000512 <delay_1ms+0x20>
8000520: 200007b7 lui a5,0x20000
8000524: 0687a903 lw s2,104(a5) # 20000068 <_impure_ptr+0x4>
8000528: 06c7a983 lw s3,108(a5)
800052c: 20000bb7 lui s7,0x20000
8000530: 2ca9 jal 800078a <get_timer_value>
8000532: 87aa mv a5,a0
8000534: 8d05 sub a0,a0,s1
8000536: 00a7b7b3 sltu a5,a5,a0
800053a: 8d81 sub a1,a1,s0
800053c: 8d9d sub a1,a1,a5
800053e: 2d4010ef jal ra,8001812 <__floatundidf>
8000542: 8aaa mv s5,a0
8000544: 060ba503 lw a0,96(s7) # 20000060 <SystemCoreClock>
8000548: 8a2e mv s4,a1
800054a: 27a010ef jal ra,80017c4 <__floatunsidf>
800054e: 864a mv a2,s2
8000550: 86ce mv a3,s3
8000552: 049000ef jal ra,8000d9a <__divdf3>
8000556: 8caa mv s9,a0
8000558: 855a mv a0,s6
800055a: 8c2e mv s8,a1
800055c: 268010ef jal ra,80017c4 <__floatunsidf>
8000560: 862a mv a2,a0
8000562: 86ae mv a3,a1
8000564: 8566 mv a0,s9
8000566: 85e2 mv a1,s8
8000568: 61d000ef jal ra,8001384 <__muldf3>
800056c: 862a mv a2,a0
800056e: 86ae mv a3,a1
8000570: 8556 mv a0,s5
8000572: 85d2 mv a1,s4
8000574: 56b000ef jal ra,80012de <__ledf2>
8000578: fa054ce3 bltz a0,8000530 <delay_1ms+0x3e>
800057c: 50b2 lw ra,44(sp)
800057e: 5422 lw s0,40(sp)
8000580: 5492 lw s1,36(sp)
8000582: 5902 lw s2,32(sp)
8000584: 49f2 lw s3,28(sp)
8000586: 4a62 lw s4,24(sp)
8000588: 4ad2 lw s5,20(sp)
800058a: 4b42 lw s6,16(sp)
800058c: 4bb2 lw s7,12(sp)
800058e: 4c22 lw s8,8(sp)
8000590: 4c92 lw s9,4(sp)
8000592: 6145 addi sp,sp,48
8000594: 8082 ret
08000596 <gpio_init>:
gpio_init():
8000596: 0105f793 andi a5,a1,16
800059a: 00f5f893 andi a7,a1,15
800059e: c399 beqz a5,80005a4 <gpio_init+0xe>
80005a0: 00c8e8b3 or a7,a7,a2
80005a4: 4781 li a5,0
80005a6: 4e05 li t3,1
80005a8: 4ebd li t4,15
80005aa: 02800f13 li t5,40
80005ae: 04800f93 li t6,72
80005b2: 4321 li t1,8
80005b4: 00fe1633 sll a2,t3,a5
80005b8: 8e75 and a2,a2,a3
80005ba: c21d beqz a2,80005e0 <gpio_init+0x4a>
80005bc: 00279713 slli a4,a5,0x2
80005c0: 00052283 lw t0,0(a0)
80005c4: 00ee9833 sll a6,t4,a4
80005c8: fff84813 not a6,a6
80005cc: 00587833 and a6,a6,t0
80005d0: 00e89733 sll a4,a7,a4
80005d4: 01076733 or a4,a4,a6
80005d8: 05e59963 bne a1,t5,800062a <gpio_init+0x94>
80005dc: c950 sw a2,20(a0)
80005de: c118 sw a4,0(a0)
80005e0: 0785 addi a5,a5,1
80005e2: fc6799e3 bne a5,t1,80005b4 <gpio_init+0x1e>
80005e6: 4e05 li t3,1
80005e8: 4ebd li t4,15
80005ea: 02800f13 li t5,40
80005ee: 04800f93 li t6,72
80005f2: 4341 li t1,16
80005f4: 00fe1633 sll a2,t3,a5
80005f8: 8e75 and a2,a2,a3
80005fa: c605 beqz a2,8000622 <gpio_init+0x8c>
80005fc: 00279713 slli a4,a5,0x2
8000600: 1701 addi a4,a4,-32
8000602: 00452283 lw t0,4(a0)
8000606: 00ee9833 sll a6,t4,a4
800060a: fff84813 not a6,a6
800060e: 00587833 and a6,a6,t0
8000612: 00e89733 sll a4,a7,a4
8000616: 01076733 or a4,a4,a6
800061a: 01e59c63 bne a1,t5,8000632 <gpio_init+0x9c>
800061e: c950 sw a2,20(a0)
8000620: c158 sw a4,4(a0)
8000622: 0785 addi a5,a5,1
8000624: fc6798e3 bne a5,t1,80005f4 <gpio_init+0x5e>
8000628: 8082 ret
800062a: fbf59ae3 bne a1,t6,80005de <gpio_init+0x48>
800062e: c910 sw a2,16(a0)
8000630: b77d j 80005de <gpio_init+0x48>
8000632: fff597e3 bne a1,t6,8000620 <gpio_init+0x8a>
8000636: c910 sw a2,16(a0)
8000638: b7e5 j 8000620 <gpio_init+0x8a>
0800063a <rcu_periph_clock_enable>:
rcu_periph_clock_enable():
800063a: 00655713 srli a4,a0,0x6
800063e: 400217b7 lui a5,0x40021
8000642: 973e add a4,a4,a5
8000644: 4314 lw a3,0(a4)
8000646: 4785 li a5,1
8000648: 00a79533 sll a0,a5,a0
800064c: 8d55 or a0,a0,a3
800064e: c308 sw a0,0(a4)
8000650: 8082 ret
08000652 <usart_data_transmit>:
usart_data_transmit():
8000652: 1ff5f593 andi a1,a1,511
8000656: c14c sw a1,4(a0)
8000658: 8082 ret
0800065a <usart_flag_get>:
usart_flag_get():
800065a: 0065d793 srli a5,a1,0x6
800065e: 3ff7f793 andi a5,a5,1023
8000662: 97aa add a5,a5,a0
8000664: 4388 lw a0,0(a5)
8000666: 00b55533 srl a0,a0,a1
800066a: 8905 andi a0,a0,1
800066c: 8082 ret
0800066e <SystemInit>:
SystemInit():
800066e: 400217b7 lui a5,0x40021
8000672: 4398 lw a4,0(a5)
8000674: e0ff06b7 lui a3,0xe0ff0
8000678: 06b1 addi a3,a3,12
800067a: 00176713 ori a4,a4,1
800067e: c398 sw a4,0(a5)
8000680: 43d8 lw a4,4(a5)
8000682: 8f75 and a4,a4,a3
8000684: c3d8 sw a4,4(a5)
8000686: 4398 lw a4,0(a5)
8000688: fef706b7 lui a3,0xfef70
800068c: 16fd addi a3,a3,-1
800068e: 8f75 and a4,a4,a3
8000690: c398 sw a4,0(a5)
8000692: 4398 lw a4,0(a5)
8000694: fffc06b7 lui a3,0xfffc0
8000698: 16fd addi a3,a3,-1
800069a: 8f75 and a4,a4,a3
800069c: c398 sw a4,0(a5)
800069e: 43d8 lw a4,4(a5)
80006a0: df0106b7 lui a3,0xdf010
80006a4: 16fd addi a3,a3,-1
80006a6: 8f75 and a4,a4,a3
80006a8: c3d8 sw a4,4(a5)
80006aa: 0207a623 sw zero,44(a5) # 4002102c <_sp+0x2001902c>
80006ae: 4398 lw a4,0(a5)
80006b0: eaf706b7 lui a3,0xeaf70
80006b4: 16fd addi a3,a3,-1
80006b6: 8f75 and a4,a4,a3
80006b8: c398 sw a4,0(a5)
80006ba: 00ff0737 lui a4,0xff0
80006be: c798 sw a4,8(a5)
80006c0: 4394 lw a3,0(a5)
80006c2: 6741 lui a4,0x10
80006c4: 8ed9 or a3,a3,a4
80006c6: c394 sw a3,0(a5)
80006c8: fff70793 addi a5,a4,-1 # ffff <__stack_size+0xf7ff>
80006cc: 40021737 lui a4,0x40021
80006d0: 4314 lw a3,0(a4)
80006d2: 00e69613 slli a2,a3,0xe
80006d6: 00064463 bltz a2,80006de <SystemInit+0x70>
80006da: 17fd addi a5,a5,-1
80006dc: fbf5 bnez a5,80006d0 <SystemInit+0x62>
80006de: 400217b7 lui a5,0x40021
80006e2: 4398 lw a4,0(a5)
80006e4: 00e71693 slli a3,a4,0xe
80006e8: 0006c363 bltz a3,80006ee <SystemInit+0x80>
80006ec: a001 j 80006ec <SystemInit+0x7e>
80006ee: 43d8 lw a4,4(a5)
80006f0: dfc406b7 lui a3,0xdfc40
80006f4: 16fd addi a3,a3,-1
80006f6: c3d8 sw a4,4(a5)
80006f8: 43d8 lw a4,4(a5)
80006fa: c3d8 sw a4,4(a5)
80006fc: 43d8 lw a4,4(a5)
80006fe: 40076713 ori a4,a4,1024
8000702: c3d8 sw a4,4(a5)
8000704: 43d8 lw a4,4(a5)
8000706: 8f75 and a4,a4,a3
8000708: c3d8 sw a4,4(a5)
800070a: 43d8 lw a4,4(a5)
800070c: 202906b7 lui a3,0x20290
8000710: 8f55 or a4,a4,a3
8000712: c3d8 sw a4,4(a5)
8000714: 57d8 lw a4,44(a5)
8000716: 76bd lui a3,0xfffef
8000718: 8f75 and a4,a4,a3
800071a: d7d8 sw a4,44(a5)
800071c: 57d8 lw a4,44(a5)
800071e: 66c1 lui a3,0x10
8000720: f1168693 addi a3,a3,-239 # ff11 <__stack_size+0xf711>
8000724: 8f55 or a4,a4,a3
8000726: d7d8 sw a4,44(a5)
8000728: 4398 lw a4,0(a5)
800072a: 040006b7 lui a3,0x4000
800072e: 8f55 or a4,a4,a3
8000730: c398 sw a4,0(a5)
8000732: 400217b7 lui a5,0x40021
8000736: 4398 lw a4,0(a5)
8000738: 00471693 slli a3,a4,0x4
800073c: fe06dde3 bgez a3,8000736 <SystemInit+0xc8>
8000740: 4398 lw a4,0(a5)
8000742: 100006b7 lui a3,0x10000
8000746: 8f55 or a4,a4,a3
8000748: c398 sw a4,0(a5)
800074a: 400217b7 lui a5,0x40021
800074e: 4398 lw a4,0(a5)
8000750: 00271693 slli a3,a4,0x2
8000754: fe06dde3 bgez a3,800074e <SystemInit+0xe0>
8000758: 4398 lw a4,0(a5)
800075a: 010006b7 lui a3,0x1000
800075e: 8f55 or a4,a4,a3
8000760: c398 sw a4,0(a5)
8000762: 400217b7 lui a5,0x40021
8000766: 4398 lw a4,0(a5)
8000768: 00671693 slli a3,a4,0x6
800076c: fe06dde3 bgez a3,8000766 <SystemInit+0xf8>
8000770: 43d8 lw a4,4(a5)
8000772: 9b71 andi a4,a4,-4
8000774: c3d8 sw a4,4(a5)
8000776: 43d8 lw a4,4(a5)
8000778: 00276713 ori a4,a4,2
800077c: c3d8 sw a4,4(a5)
800077e: 40021737 lui a4,0x40021
8000782: 435c lw a5,4(a4)
8000784: 8ba1 andi a5,a5,8
8000786: dff5 beqz a5,8000782 <SystemInit+0x114>
8000788: 8082 ret
0800078a <get_timer_value>:
get_timer_value():
800078a: d10007b7 lui a5,0xd1000
800078e: 43d8 lw a4,4(a5)
8000790: 4388 lw a0,0(a5)
8000792: 43cc lw a1,4(a5)
8000794: fee59de3 bne a1,a4,800078e <get_timer_value+0x4>
8000798: 8082 ret
0800079a <eclic_init>:
eclic_init():
800079a: d20007b7 lui a5,0xd2000
800079e: 00078023 sb zero,0(a5) # d2000000 <_sp+0xb1ff8000>
80007a2: 000785a3 sb zero,11(a5)
80007a6: 00451793 slli a5,a0,0x4
80007aa: d2001537 lui a0,0xd2001
80007ae: 953e add a0,a0,a5
80007b0: d20017b7 lui a5,0xd2001
80007b4: 00a7e363 bltu a5,a0,80007ba <eclic_init+0x20>
80007b8: 8082 ret
80007ba: 0007a023 sw zero,0(a5) # d2001000 <_sp+0xb1ff9000>
80007be: 07c1 addi a5,a5,16
80007c0: bfd5 j 80007b4 <eclic_init+0x1a>
080007c2 <eclic_mode_enable>:
eclic_mode_enable():
80007c2: 305027f3 csrr a5,mtvec
80007c6: fc07f793 andi a5,a5,-64
80007ca: 0037e793 ori a5,a5,3
80007ce: 30579073 csrw mtvec,a5
80007d2: 8082 ret
...
08000800 <trap_entry>:
trap_entry():
8000800: 715d addi sp,sp,-80
8000802: c006 sw ra,0(sp)
8000804: c212 sw tp,4(sp)
8000806: c416 sw t0,8(sp)
8000808: c61a sw t1,12(sp)
800080a: c81e sw t2,16(sp)
800080c: ca2a sw a0,20(sp)
800080e: cc2e sw a1,24(sp)
8000810: ce32 sw a2,28(sp)
8000812: d036 sw a3,32(sp)
8000814: d23a sw a4,36(sp)
8000816: d43e sw a5,40(sp)
8000818: d642 sw a6,44(sp)
800081a: d846 sw a7,48(sp)
800081c: da72 sw t3,52(sp)
800081e: dc76 sw t4,56(sp)
8000820: de7a sw t5,60(sp)
8000822: c0fe sw t6,64(sp)
8000824: 341022f3 csrr t0,mepc
8000828: c096 sw t0,64(sp)
800082a: 300022f3 csrr t0,mstatus
800082e: c296 sw t0,68(sp)
8000830: 7c4022f3 csrr t0,0x7c4
8000834: c496 sw t0,72(sp)
8000836: 34202573 csrr a0,mcause
800083a: 858a mv a1,sp
800083c: 20e1 jal 8000904 <handle_trap>
800083e: 4286 lw t0,64(sp)
8000840: 34129073 csrw mepc,t0
8000844: 4296 lw t0,68(sp)
8000846: 30029073 csrw mstatus,t0
800084a: 42a6 lw t0,72(sp)
800084c: 7c429073 csrw 0x7c4,t0
8000850: 4082 lw ra,0(sp)
8000852: 4212 lw tp,4(sp)
8000854: 42a2 lw t0,8(sp)
8000856: 4332 lw t1,12(sp)
8000858: 43c2 lw t2,16(sp)
800085a: 4552 lw a0,20(sp)
800085c: 45e2 lw a1,24(sp)
800085e: 4672 lw a2,28(sp)
8000860: 5682 lw a3,32(sp)
8000862: 5712 lw a4,36(sp)
8000864: 57a2 lw a5,40(sp)
8000866: 5832 lw a6,44(sp)
8000868: 58c2 lw a7,48(sp)
800086a: 5e52 lw t3,52(sp)
800086c: 5ee2 lw t4,56(sp)
800086e: 5f72 lw t5,60(sp)
8000870: 4f86 lw t6,64(sp)
8000872: 6161 addi sp,sp,80
8000874: 30200073 mret
8000878: 0000 unimp
...
0800087c <irq_entry>:
irq_entry():
800087c: 715d addi sp,sp,-80
800087e: c006 sw ra,0(sp)
8000880: c212 sw tp,4(sp)
8000882: c416 sw t0,8(sp)
8000884: c61a sw t1,12(sp)
8000886: c81e sw t2,16(sp)
8000888: ca2a sw a0,20(sp)
800088a: cc2e sw a1,24(sp)
800088c: ce32 sw a2,28(sp)
800088e: d036 sw a3,32(sp)
8000890: d23a sw a4,36(sp)
8000892: d43e sw a5,40(sp)
8000894: d642 sw a6,44(sp)
8000896: d846 sw a7,48(sp)
8000898: da72 sw t3,52(sp)
800089a: dc76 sw t4,56(sp)
800089c: de7a sw t5,60(sp)
800089e: c0fe sw t6,64(sp)
80008a0: 7ee8d073 csrwi 0x7ee,17
80008a4: 7ef95073 csrwi 0x7ef,18
80008a8: 7eb9d073 csrwi 0x7eb,19
080008ac <service_loop>:
service_loop():
80008ac: 7ed090f3 csrrw ra,0x7ed,ra
80008b0: 30047073 csrci mstatus,8
80008b4: 42b6 lw t0,76(sp)
80008b6: 7c429073 csrw 0x7c4,t0
80008ba: 42a6 lw t0,72(sp)
80008bc: 34129073 csrw mepc,t0
80008c0: 4296 lw t0,68(sp)
80008c2: 34229073 csrw mcause,t0
80008c6: 4082 lw ra,0(sp)
80008c8: 4212 lw tp,4(sp)
80008ca: 42a2 lw t0,8(sp)
80008cc: 4332 lw t1,12(sp)
80008ce: 43c2 lw t2,16(sp)
80008d0: 4552 lw a0,20(sp)
80008d2: 45e2 lw a1,24(sp)
80008d4: 4672 lw a2,28(sp)
80008d6: 5682 lw a3,32(sp)
80008d8: 5712 lw a4,36(sp)
80008da: 57a2 lw a5,40(sp)
80008dc: 5832 lw a6,44(sp)
80008de: 58c2 lw a7,48(sp)
80008e0: 5e52 lw t3,52(sp)
80008e2: 5ee2 lw t4,56(sp)
80008e4: 5f72 lw t5,60(sp)
80008e6: 4f86 lw t6,64(sp)
80008e8: 6161 addi sp,sp,80
80008ea: 30200073 mret
080008ee <handle_nmi>:
handle_nmi():
80008ee: 080005b7 lui a1,0x8000
80008f2: 1141 addi sp,sp,-16
80008f4: 4615 li a2,5
80008f6: 27058593 addi a1,a1,624 # 8000270 <GPIO_PORT+0x10>
80008fa: 4505 li a0,1
80008fc: c606 sw ra,12(sp)
80008fe: 2cbd jal 8000b7c <write>
8000900: 4505 li a0,1
8000902: 201d jal 8000928 <_exit>
08000904 <handle_trap>:
handle_trap():
8000904: 1141 addi sp,sp,-16
8000906: 6785 lui a5,0x1
8000908: c422 sw s0,8(sp)
800090a: c606 sw ra,12(sp)
800090c: 17fd addi a5,a5,-1
800090e: 842a mv s0,a0
8000910: 00f51363 bne a0,a5,8000916 <handle_trap+0x12>
8000914: 3fe9 jal 80008ee <handle_nmi>
8000916: 080005b7 lui a1,0x8000
800091a: 4615 li a2,5
800091c: 27858593 addi a1,a1,632 # 8000278 <GPIO_PORT+0x18>
8000920: 4505 li a0,1
8000922: 2ca9 jal 8000b7c <write>
8000924: 8522 mv a0,s0
8000926: 2009 jal 8000928 <_exit>
08000928 <_exit>:
_exit():
8000928: 7179 addi sp,sp,-48
800092a: 080005b7 lui a1,0x8000
800092e: d422 sw s0,40(sp)
8000930: 467d li a2,31
8000932: 842a mv s0,a0
8000934: 28058593 addi a1,a1,640 # 8000280 <GPIO_PORT+0x20>
8000938: 850a mv a0,sp
800093a: d606 sw ra,44(sp)
800093c: 22b5 jal 8000aa8 <memcpy>
800093e: 4679 li a2,30
8000940: 858a mv a1,sp
8000942: 4509 li a0,2
8000944: 2c25 jal 8000b7c <write>
8000946: 85a2 mv a1,s0
8000948: 4509 li a0,2
800094a: 2809 jal 800095c <write_hex>
800094c: 080005b7 lui a1,0x8000
8000950: 4605 li a2,1
8000952: 27c58593 addi a1,a1,636 # 800027c <GPIO_PORT+0x1c>
8000956: 4509 li a0,2
8000958: 2415 jal 8000b7c <write>
800095a: a001 j 800095a <_exit+0x32>
0800095c <write_hex>:
write_hex():
800095c: 7179 addi sp,sp,-48
800095e: d04a sw s2,32(sp)
8000960: 892e mv s2,a1
8000962: 080005b7 lui a1,0x8000
8000966: 4609 li a2,2
8000968: 2a058593 addi a1,a1,672 # 80002a0 <GPIO_PORT+0x40>
800096c: d422 sw s0,40(sp)
800096e: d226 sw s1,36(sp)
8000970: ce4e sw s3,28(sp)
8000972: cc52 sw s4,24(sp)
8000974: ca56 sw s5,20(sp)
8000976: d606 sw ra,44(sp)
8000978: 84aa mv s1,a0
800097a: 4471 li s0,28
800097c: 2401 jal 8000b7c <write>
800097e: 4a3d li s4,15
8000980: 4aa5 li s5,9
8000982: 59f1 li s3,-4
8000984: 008a17b3 sll a5,s4,s0
8000988: 0127f7b3 and a5,a5,s2
800098c: 0087d7b3 srl a5,a5,s0
8000990: 0ff7f793 andi a5,a5,255
8000994: 02fae963 bltu s5,a5,80009c6 <write_hex+0x6a>
8000998: 03078793 addi a5,a5,48 # 1030 <__stack_size+0x830>
800099c: 07e2 slli a5,a5,0x18
800099e: 87e1 srai a5,a5,0x18
80009a0: 4605 li a2,1
80009a2: 00f10593 addi a1,sp,15
80009a6: 8526 mv a0,s1
80009a8: 1471 addi s0,s0,-4
80009aa: 00f107a3 sb a5,15(sp)
80009ae: 22f9 jal 8000b7c <write>
80009b0: fd341ae3 bne s0,s3,8000984 <write_hex+0x28>
80009b4: 50b2 lw ra,44(sp)
80009b6: 5422 lw s0,40(sp)
80009b8: 5492 lw s1,36(sp)
80009ba: 5902 lw s2,32(sp)
80009bc: 49f2 lw s3,28(sp)
80009be: 4a62 lw s4,24(sp)
80009c0: 4ad2 lw s5,20(sp)
80009c2: 6145 addi sp,sp,48
80009c4: 8082 ret
80009c6: 03778793 addi a5,a5,55
80009ca: bfc9 j 800099c <write_hex+0x40>
080009cc <atexit>:
atexit():
80009cc: 85aa mv a1,a0
80009ce: 4681 li a3,0
80009d0: 4601 li a2,0
80009d2: 4501 li a0,0
80009d4: a2dd j 8000bba <__register_exitproc>
080009d6 <exit>:
exit():
80009d6: 1141 addi sp,sp,-16
80009d8: 080017b7 lui a5,0x8001
80009dc: c422 sw s0,8(sp)
80009de: c606 sw ra,12(sp)
80009e0: c4278793 addi a5,a5,-958 # 8000c42 <__call_exitprocs>
80009e4: 842a mv s0,a0
80009e6: c399 beqz a5,80009ec <exit+0x16>
80009e8: 4581 li a1,0
80009ea: 2ca1 jal 8000c42 <__call_exitprocs>
80009ec: 080027b7 lui a5,0x8002
80009f0: 9ec7a503 lw a0,-1556(a5) # 80019ec <_global_impure_ptr>
80009f4: 551c lw a5,40(a0)
80009f6: c391 beqz a5,80009fa <exit+0x24>
80009f8: 9782 jalr a5
80009fa: 8522 mv a0,s0
80009fc: 3735 jal 8000928 <_exit>
080009fe <__libc_fini_array>:
__libc_fini_array():
80009fe: 1141 addi sp,sp,-16
8000a00: 080027b7 lui a5,0x8002
8000a04: c422 sw s0,8(sp)
8000a06: 08002437 lui s0,0x8002
8000a0a: 9f078713 addi a4,a5,-1552 # 80019f0 <__fini_array_end>
8000a0e: 9f040413 addi s0,s0,-1552 # 80019f0 <__fini_array_end>
8000a12: 8c19 sub s0,s0,a4
8000a14: c226 sw s1,4(sp)
8000a16: c606 sw ra,12(sp)
8000a18: 8409 srai s0,s0,0x2
8000a1a: 9f078493 addi s1,a5,-1552
8000a1e: e411 bnez s0,8000a2a <__libc_fini_array+0x2c>
8000a20: 4422 lw s0,8(sp)
8000a22: 40b2 lw ra,12(sp)
8000a24: 4492 lw s1,4(sp)
8000a26: 0141 addi sp,sp,16
8000a28: acf5 j 8000d24 <_fini>
8000a2a: 147d addi s0,s0,-1
8000a2c: 00241793 slli a5,s0,0x2
8000a30: 97a6 add a5,a5,s1
8000a32: 439c lw a5,0(a5)
8000a34: 9782 jalr a5
8000a36: b7e5 j 8000a1e <__libc_fini_array+0x20>
08000a38 <__libc_init_array>:
__libc_init_array():
8000a38: 1141 addi sp,sp,-16
8000a3a: 080027b7 lui a5,0x8002
8000a3e: c422 sw s0,8(sp)
8000a40: 08002437 lui s0,0x8002
8000a44: 9f078713 addi a4,a5,-1552 # 80019f0 <__fini_array_end>
8000a48: 9f040413 addi s0,s0,-1552 # 80019f0 <__fini_array_end>
8000a4c: 8c19 sub s0,s0,a4
8000a4e: c226 sw s1,4(sp)
8000a50: c04a sw s2,0(sp)
8000a52: c606 sw ra,12(sp)
8000a54: 8409 srai s0,s0,0x2
8000a56: 4481 li s1,0
8000a58: 9f078913 addi s2,a5,-1552
8000a5c: 02849863 bne s1,s0,8000a8c <__libc_init_array+0x54>
8000a60: 247d jal 8000d0e <_init>
8000a62: 080027b7 lui a5,0x8002
8000a66: 08002437 lui s0,0x8002
8000a6a: 9f078713 addi a4,a5,-1552 # 80019f0 <__fini_array_end>
8000a6e: 9f040413 addi s0,s0,-1552 # 80019f0 <__fini_array_end>
8000a72: 8c19 sub s0,s0,a4
8000a74: 8409 srai s0,s0,0x2
8000a76: 4481 li s1,0
8000a78: 9f078913 addi s2,a5,-1552
8000a7c: 00849f63 bne s1,s0,8000a9a <__libc_init_array+0x62>
8000a80: 40b2 lw ra,12(sp)
8000a82: 4422 lw s0,8(sp)
8000a84: 4492 lw s1,4(sp)
8000a86: 4902 lw s2,0(sp)
8000a88: 0141 addi sp,sp,16
8000a8a: 8082 ret
8000a8c: 00249793 slli a5,s1,0x2
8000a90: 97ca add a5,a5,s2
8000a92: 439c lw a5,0(a5)
8000a94: 0485 addi s1,s1,1
8000a96: 9782 jalr a5
8000a98: b7d1 j 8000a5c <__libc_init_array+0x24>
8000a9a: 00249793 slli a5,s1,0x2
8000a9e: 97ca add a5,a5,s2
8000aa0: 439c lw a5,0(a5)
8000aa2: 0485 addi s1,s1,1
8000aa4: 9782 jalr a5
8000aa6: bfd9 j 8000a7c <__libc_init_array+0x44>
08000aa8 <memcpy>:
memcpy():
8000aa8: 00a5c7b3 xor a5,a1,a0
8000aac: 8b8d andi a5,a5,3
8000aae: 00c506b3 add a3,a0,a2
8000ab2: e781 bnez a5,8000aba <memcpy+0x12>
8000ab4: 478d li a5,3
8000ab6: 00c7ee63 bltu a5,a2,8000ad2 <memcpy+0x2a>
8000aba: 87aa mv a5,a0
8000abc: 0ad57863 bgeu a0,a3,8000b6c <memcpy+0xc4>
8000ac0: 0005c703 lbu a4,0(a1)
8000ac4: 0785 addi a5,a5,1
8000ac6: 0585 addi a1,a1,1
8000ac8: fee78fa3 sb a4,-1(a5)
8000acc: fed7eae3 bltu a5,a3,8000ac0 <memcpy+0x18>
8000ad0: 8082 ret
8000ad2: 00357713 andi a4,a0,3
8000ad6: 87aa mv a5,a0
8000ad8: cb11 beqz a4,8000aec <memcpy+0x44>
8000ada: 0005c703 lbu a4,0(a1)
8000ade: 0785 addi a5,a5,1
8000ae0: 0585 addi a1,a1,1
8000ae2: fee78fa3 sb a4,-1(a5)
8000ae6: 0037f713 andi a4,a5,3
8000aea: b7fd j 8000ad8 <memcpy+0x30>
8000aec: ffc6f713 andi a4,a3,-4
8000af0: fe070613 addi a2,a4,-32 # 40020fe0 <_sp+0x20018fe0>
8000af4: 04c7fb63 bgeu a5,a2,8000b4a <memcpy+0xa2>
8000af8: 0005a383 lw t2,0(a1)
8000afc: 0045a283 lw t0,4(a1)
8000b00: 0085af83 lw t6,8(a1)
8000b04: 00c5af03 lw t5,12(a1)
8000b08: 0105ae83 lw t4,16(a1)
8000b0c: 0145ae03 lw t3,20(a1)
8000b10: 0185a303 lw t1,24(a1)
8000b14: 01c5a883 lw a7,28(a1)
8000b18: 0077a023 sw t2,0(a5)