Created
December 31, 2022 10:43
-
-
Save folknology/0a775c347a4f6b774d476377ed1eb1c2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target/riscv32imac-unknown-none-elf/release/firmware: file format elf32-littleriscv | |
Disassembly of section .text: | |
00000000 <_start>: | |
0: 000000b7 lui ra,0x0 | |
4: 00808067 jr 8(ra) # 8 <_abs_start> | |
00000008 <_abs_start>: | |
8: 30405073 csrwi mie,0 | |
c: 34405073 csrwi mip,0 | |
10: 4081 li ra,0 | |
12: 4101 li sp,0 | |
14: 4181 li gp,0 | |
16: 4201 li tp,0 | |
18: 4281 li t0,0 | |
1a: 4301 li t1,0 | |
1c: 4381 li t2,0 | |
1e: 4401 li s0,0 | |
20: 4481 li s1,0 | |
22: 4681 li a3,0 | |
24: 4701 li a4,0 | |
26: 4781 li a5,0 | |
28: 4801 li a6,0 | |
2a: 4881 li a7,0 | |
2c: 4901 li s2,0 | |
2e: 4981 li s3,0 | |
30: 4a01 li s4,0 | |
32: 4a81 li s5,0 | |
34: 4b01 li s6,0 | |
36: 4b81 li s7,0 | |
38: 4c01 li s8,0 | |
3a: 4c81 li s9,0 | |
3c: 4d01 li s10,0 | |
3e: 4d81 li s11,0 | |
40: 4e01 li t3,0 | |
42: 4e81 li t4,0 | |
44: 4f01 li t5,0 | |
46: 4f81 li t6,0 | |
48: 10000197 auipc gp,0x10000 | |
4c: 7b818193 addi gp,gp,1976 # 10000800 <__global_pointer$> | |
50: f14023f3 csrr t2,mhartid | |
54: 000002b7 lui t0,0x0 | |
58: 00028293 mv t0,t0 | |
5c: 0072f463 bgeu t0,t2,64 <.Lline_table_start3+0xa> | |
60: 2240006f j 284 <abort> | |
64: 10001117 auipc sp,0x10001 | |
68: f9c10113 addi sp,sp,-100 # 10001000 <_sstack> | |
6c: 000012b7 lui t0,0x1 | |
70: 80028293 addi t0,t0,-2048 # 800 <_hart_stack_size> | |
74: 025382b3 mul t0,t2,t0 | |
78: 40510133 sub sp,sp,t0 | |
7c: 00010433 add s0,sp,zero | |
80: 0040006f j 84 <_start_rust> | |
00000084 <_start_rust>: | |
84: 1141 addi sp,sp,-16 | |
86: c606 sw ra,12(sp) | |
88: f1402573 csrr a0,mhartid | |
8c: 00000097 auipc ra,0x0 | |
90: 128080e7 jalr 296(ra) # 1b4 <default_mp_hook> | |
94: c12d beqz a0,f6 <_start_rust+0x72> | |
96: 00000097 auipc ra,0x0 | |
9a: 11c080e7 jalr 284(ra) # 1b2 <default_pre_init> | |
9e: 10000537 lui a0,0x10000 | |
a2: 00050513 mv a0,a0 | |
a6: 100005b7 lui a1,0x10000 | |
aa: 00058593 mv a1,a1 | |
ae: 00a5f763 bgeu a1,a0,bc <_start_rust+0x38> | |
b2: 0005a023 sw zero,0(a1) # 10000000 <_ebss> | |
b6: 0591 addi a1,a1,4 | |
b8: fea5ede3 bltu a1,a0,b2 <_start_rust+0x2e> | |
bc: 10000537 lui a0,0x10000 | |
c0: 00050593 mv a1,a0 | |
c4: 10000537 lui a0,0x10000 | |
c8: 00050513 mv a0,a0 | |
cc: 02b57563 bgeu a0,a1,f6 <_start_rust+0x72> | |
d0: 00450613 addi a2,a0,4 # 10000004 <_ebss+0x4> | |
d4: 00b66363 bltu a2,a1,da <_start_rust+0x56> | |
d8: 85b2 mv a1,a2 | |
da: fff54613 not a2,a0 | |
de: 95b2 add a1,a1,a2 | |
e0: 0591 addi a1,a1,4 | |
e2: ffc5f613 andi a2,a1,-4 | |
e6: 000005b7 lui a1,0x0 | |
ea: 2b858593 addi a1,a1,696 # 2b8 <_sidata> | |
ee: 00000097 auipc ra,0x0 | |
f2: 0e0080e7 jalr 224(ra) # 1ce <memcpy> | |
f6: 00000097 auipc ra,0x0 | |
fa: 0ca080e7 jalr 202(ra) # 1c0 <default_setup_interrupts> | |
fe: 00000097 auipc ra,0x0 | |
102: 090080e7 jalr 144(ra) # 18e <main> | |
... | |
00000108 <_start_trap>: | |
108: 7139 addi sp,sp,-64 | |
10a: c006 sw ra,0(sp) | |
10c: c216 sw t0,4(sp) | |
10e: c41a sw t1,8(sp) | |
110: c61e sw t2,12(sp) | |
112: c872 sw t3,16(sp) | |
114: ca76 sw t4,20(sp) | |
116: cc7a sw t5,24(sp) | |
118: ce7e sw t6,28(sp) | |
11a: d02a sw a0,32(sp) | |
11c: d22e sw a1,36(sp) | |
11e: d432 sw a2,40(sp) | |
120: d636 sw a3,44(sp) | |
122: d83a sw a4,48(sp) | |
124: da3e sw a5,52(sp) | |
126: dc42 sw a6,56(sp) | |
128: de46 sw a7,60(sp) | |
12a: 00010533 add a0,sp,zero | |
12e: 02a000ef jal ra,158 <_start_trap_rust> | |
132: 4082 lw ra,0(sp) | |
134: 4292 lw t0,4(sp) | |
136: 4322 lw t1,8(sp) | |
138: 43b2 lw t2,12(sp) | |
13a: 4e42 lw t3,16(sp) | |
13c: 4ed2 lw t4,20(sp) | |
13e: 4f62 lw t5,24(sp) | |
140: 4ff2 lw t6,28(sp) | |
142: 5502 lw a0,32(sp) | |
144: 5592 lw a1,36(sp) | |
146: 5622 lw a2,40(sp) | |
148: 56b2 lw a3,44(sp) | |
14a: 5742 lw a4,48(sp) | |
14c: 57d2 lw a5,52(sp) | |
14e: 5862 lw a6,56(sp) | |
150: 58f2 lw a7,60(sp) | |
152: 6121 addi sp,sp,64 | |
154: 30200073 mret | |
00000158 <_start_trap_rust>: | |
158: 342025f3 csrr a1,mcause | |
15c: 0005c663 bltz a1,168 <_start_trap_rust+0x10> | |
160: 00000317 auipc t1,0x0 | |
164: 04e30067 jr 78(t1) # 1ae <DefaultExceptionHandler> | |
168: 00159513 slli a0,a1,0x1 | |
16c: 8105 srli a0,a0,0x1 | |
16e: 45b1 li a1,12 | |
170: 00b57b63 bgeu a0,a1,186 <_start_trap_rust+0x2e> | |
174: 050a slli a0,a0,0x2 | |
176: 000005b7 lui a1,0x0 | |
17a: 28858593 addi a1,a1,648 # 288 <__INTERRUPTS> | |
17e: 952e add a0,a0,a1 | |
180: 411c lw a5,0(a0) | |
182: c391 beqz a5,186 <_start_trap_rust+0x2e> | |
184: 8782 jr a5 | |
186: 00000317 auipc t1,0x0 | |
18a: 02a30067 jr 42(t1) # 1b0 <DefaultInterruptHandler> | |
0000018e <main>: | |
18e: b1000537 lui a0,0xb1000 | |
192: 4605 li a2,1 | |
194: c150 sw a2,4(a0) | |
196: 000495b7 lui a1,0x49 | |
19a: 3e058593 addi a1,a1,992 # 493e0 <_hart_stack_size+0x48be0> | |
19e: 0605 addi a2,a2,1 | |
1a0: c110 sw a2,0(a0) | |
1a2: 862e mv a2,a1 | |
1a4: 0001 nop | |
1a6: 167d addi a2,a2,-1 | |
1a8: fe75 bnez a2,1a4 <main+0x16> | |
1aa: 4110 lw a2,0(a0) | |
1ac: bfcd j 19e <main+0x10> | |
000001ae <DefaultExceptionHandler>: | |
1ae: a001 j 1ae <DefaultExceptionHandler> | |
000001b0 <DefaultInterruptHandler>: | |
1b0: a001 j 1b0 <DefaultInterruptHandler> | |
000001b2 <default_pre_init>: | |
1b2: 8082 ret | |
000001b4 <default_mp_hook>: | |
1b4: c501 beqz a0,1bc <default_mp_hook+0x8> | |
1b6: 10500073 wfi | |
1ba: bff5 j 1b6 <default_mp_hook+0x2> | |
1bc: 4505 li a0,1 | |
1be: 8082 ret | |
000001c0 <default_setup_interrupts>: | |
1c0: 00000537 lui a0,0x0 | |
1c4: 10850513 addi a0,a0,264 # 108 <_start_trap> | |
1c8: 30551073 csrw mtvec,a0 | |
1cc: 8082 ret | |
000001ce <memcpy>: | |
1ce: 00000317 auipc t1,0x0 | |
1d2: 00830067 jr 8(t1) # 1d6 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E> | |
000001d6 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E>: | |
1d6: 46bd li a3,15 | |
1d8: 06c6fa63 bgeu a3,a2,24c <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x76> | |
1dc: 40a006b3 neg a3,a0 | |
1e0: 0036f813 andi a6,a3,3 | |
1e4: 010503b3 add t2,a0,a6 | |
1e8: 00080c63 beqz a6,200 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x2a> | |
1ec: 87aa mv a5,a0 | |
1ee: 86ae mv a3,a1 | |
1f0: 00068703 lb a4,0(a3) | |
1f4: 00e78023 sb a4,0(a5) | |
1f8: 0785 addi a5,a5,1 | |
1fa: 0685 addi a3,a3,1 | |
1fc: fe77eae3 bltu a5,t2,1f0 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x1a> | |
200: 010588b3 add a7,a1,a6 | |
204: 41060833 sub a6,a2,a6 | |
208: ffc87293 andi t0,a6,-4 | |
20c: 0038f593 andi a1,a7,3 | |
210: 005386b3 add a3,t2,t0 | |
214: cd9d beqz a1,252 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x7c> | |
216: 04505863 blez t0,266 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x90> | |
21a: 00359313 slli t1,a1,0x3 | |
21e: ffc8f713 andi a4,a7,-4 | |
222: 4310 lw a2,0(a4) | |
224: 406005b3 neg a1,t1 | |
228: 0185fe13 andi t3,a1,24 | |
22c: 00470793 addi a5,a4,4 | |
230: 4398 lw a4,0(a5) | |
232: 00665633 srl a2,a2,t1 | |
236: 01c715b3 sll a1,a4,t3 | |
23a: 8dd1 or a1,a1,a2 | |
23c: 00b3a023 sw a1,0(t2) | |
240: 0391 addi t2,t2,4 | |
242: 0791 addi a5,a5,4 | |
244: 863a mv a2,a4 | |
246: fed3e5e3 bltu t2,a3,230 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x5a> | |
24a: a831 j 266 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x90> | |
24c: 86aa mv a3,a0 | |
24e: e20d bnez a2,270 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x9a> | |
250: a80d j 282 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0xac> | |
252: 00505a63 blez t0,266 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x90> | |
256: 85c6 mv a1,a7 | |
258: 4190 lw a2,0(a1) | |
25a: 00c3a023 sw a2,0(t2) | |
25e: 0391 addi t2,t2,4 | |
260: 0591 addi a1,a1,4 | |
262: fed3ebe3 bltu t2,a3,258 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x82> | |
266: 005885b3 add a1,a7,t0 | |
26a: 00387613 andi a2,a6,3 | |
26e: ca11 beqz a2,282 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0xac> | |
270: 9636 add a2,a2,a3 | |
272: 00058703 lb a4,0(a1) | |
276: 00e68023 sb a4,0(a3) | |
27a: 0685 addi a3,a3,1 | |
27c: 0585 addi a1,a1,1 | |
27e: fec6eae3 bltu a3,a2,272 <_ZN17compiler_builtins3mem6memcpy17h4d31ea71c18a03c5E+0x9c> | |
282: 8082 ret | |
00000284 <abort>: | |
284: a001 j 284 <abort> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment