Bootloader
start:
addi x1, zero, 0
addi x2, zero, 0
addi x3, zero, 0
addi x4, zero, 0
addi x5, zero, 0
addi x6, zero, 0
addi x7, zero, 0
addi x8, zero, 0
addi x9, zero, 0
addi x10, zero, 0
addi x11, zero, 0
addi x12, zero, 0
addi x13, zero, 0
addi x14, zero, 0
addi x15, zero, 0
addi x16, zero, 0
addi x17, zero, 0
addi x18, zero, 0
addi x19, zero, 0
addi x20, zero, 0
addi x21, zero, 0
addi x22, zero, 0
addi x23, zero, 0
addi x24, zero, 0
addi x25, zero, 0
addi x26, zero, 0
addi x27, zero, 0
addi x28, zero, 0
addi x29, zero, 0
addi x30, zero, 0
addi x31, zero, 0
/* set stack pointer */
li sp,0x01005000
/* call hello C code */
jal main
NOP
ebreak
ELF Dump Contents
firmware/firmware.elf: file format elf32-littleriscv
Disassembly of section .text:
00000000 <start>:
0: 00000093 li ra,0
4: 00000113 li sp,0
8: 00000193 li gp,0
c: 00000213 li tp,0
10: 00000293 li t0,0
14: 00000313 li t1,0
18: 00000393 li t2,0
1c: 00000413 li s0,0
20: 00000493 li s1,0
24: 00000513 li a0,0
28: 00000593 li a1,0
2c: 00000613 li a2,0
30: 00000693 li a3,0
34: 00000713 li a4,0
38: 00000793 li a5,0
3c: 00000813 li a6,0
40: 00000893 li a7,0
44: 00000913 li s2,0
48: 00000993 li s3,0
4c: 00000a13 li s4,0
50: 00000a93 li s5,0
54: 00000b13 li s6,0
58: 00000b93 li s7,0
5c: 00000c13 li s8,0
60: 00000c93 li s9,0
64: 00000d13 li s10,0
68: 00000d93 li s11,0
6c: 00000e13 li t3,0
70: 00000e93 li t4,0
74: 00000f13 li t5,0
78: 00000f93 li t6,0
7c: 01005137 lui sp,0x1005
80: 224000ef jal ra,2a4 <main>
84: 00000013 nop
88: 00100073 ebreak
0000008c <print_chr>:
8c: 1100c737 lui a4,0x1100c
90: eef70793 addi a5,a4,-273 # 1100beef <arr+0x1006eef>
94: 0ff57693 andi a3,a0,255
98: eef74603 lbu a2,-273(a4)
9c: eed707a3 sb a3,-273(a4)
a0: ef074703 lbu a4,-272(a4)
a4: 000780a3 sb zero,1(a5)
a8: 0027c703 lbu a4,2(a5)
ac: 00078123 sb zero,2(a5)
b0: 01855513 srli a0,a0,0x18
b4: 0037c703 lbu a4,3(a5)
b8: 00a781a3 sb a0,3(a5)
bc: 00008067 ret
000000c0 <print_str>:
c0: 00054703 lbu a4,0(a0)
c4: 02070e63 beqz a4,100 <print_str+0x40>
c8: 1100c6b7 lui a3,0x1100c
cc: 00150513 addi a0,a0,1
d0: 0ff77613 andi a2,a4,255
d4: eef6c583 lbu a1,-273(a3) # 1100beef <arr+0x1006eef>
d8: eec687a3 sb a2,-273(a3)
dc: ef06c603 lbu a2,-272(a3)
e0: ee068823 sb zero,-272(a3)
e4: ef16c603 lbu a2,-271(a3)
e8: ee0688a3 sb zero,-271(a3)
ec: 01875713 srli a4,a4,0x18
f0: ef26c603 lbu a2,-270(a3)
f4: eee68923 sb a4,-270(a3)
f8: 00054703 lbu a4,0(a0)
fc: fc0718e3 bnez a4,cc <print_str+0xc>
100: 00008067 ret
00000104 <print_dec>:
104: ff010113 addi sp,sp,-16 # 1004ff0 <_edata+0x3ff0>
108: 00410793 addi a5,sp,4
10c: 00078613 mv a2,a5
110: 00a00713 li a4,10
114: 0140006f j 128 <print_dec+0x24>
118: 00178793 addi a5,a5,1
11c: 02e576b3 remu a3,a0,a4
120: fed78fa3 sb a3,-1(a5)
124: 02e55533 divu a0,a0,a4
128: fe0518e3 bnez a0,118 <print_dec+0x14>
12c: fec786e3 beq a5,a2,118 <print_dec+0x14>
130: 1100c637 lui a2,0x1100c
134: 00410513 addi a0,sp,4
138: fff78793 addi a5,a5,-1
13c: 0007c703 lbu a4,0(a5)
140: 03070713 addi a4,a4,48
144: 0ff77593 andi a1,a4,255
148: eef64803 lbu a6,-273(a2) # 1100beef <arr+0x1006eef>
14c: eeb607a3 sb a1,-273(a2)
150: 00875593 srli a1,a4,0x8
154: ef064803 lbu a6,-272(a2)
158: eeb60823 sb a1,-272(a2)
15c: ef164583 lbu a1,-271(a2)
160: ee0608a3 sb zero,-271(a2)
164: 01875713 srli a4,a4,0x18
168: ef264583 lbu a1,-270(a2)
16c: eee60923 sb a4,-270(a2)
170: fca794e3 bne a5,a0,138 <print_dec+0x34>
174: 01010113 addi sp,sp,16
178: 00008067 ret
0000017c <swap>:
17c: fd010113 addi sp,sp,-48
180: 02812623 sw s0,44(sp)
184: 03010413 addi s0,sp,48
188: fca42e23 sw a0,-36(s0)
18c: fcb42c23 sw a1,-40(s0)
190: fdc42783 lw a5,-36(s0)
194: 0007a783 lw a5,0(a5)
198: fef42623 sw a5,-20(s0)
19c: fd842783 lw a5,-40(s0)
1a0: 0007a703 lw a4,0(a5)
1a4: fdc42783 lw a5,-36(s0)
1a8: 00e7a023 sw a4,0(a5)
1ac: fd842783 lw a5,-40(s0)
1b0: fec42703 lw a4,-20(s0)
1b4: 00e7a023 sw a4,0(a5)
1b8: 00000013 nop
1bc: 02c12403 lw s0,44(sp)
1c0: 03010113 addi sp,sp,48
1c4: 00008067 ret
000001c8 <bubbleSort>:
1c8: fd010113 addi sp,sp,-48
1cc: 02112623 sw ra,44(sp)
1d0: 02812423 sw s0,40(sp)
1d4: 03010413 addi s0,sp,48
1d8: fca42e23 sw a0,-36(s0)
1dc: fcb42c23 sw a1,-40(s0)
1e0: fe042623 sw zero,-20(s0)
1e4: 09c0006f j 280 <bubbleSort+0xb8>
1e8: fe042423 sw zero,-24(s0)
1ec: 0700006f j 25c <bubbleSort+0x94>
1f0: fe842783 lw a5,-24(s0)
1f4: 00279793 slli a5,a5,0x2
1f8: fdc42703 lw a4,-36(s0)
1fc: 00f707b3 add a5,a4,a5
200: 0007a703 lw a4,0(a5)
204: fe842783 lw a5,-24(s0)
208: 00178793 addi a5,a5,1
20c: 00279793 slli a5,a5,0x2
210: fdc42683 lw a3,-36(s0)
214: 00f687b3 add a5,a3,a5
218: 0007a783 lw a5,0(a5)
21c: 02e7da63 bge a5,a4,250 <bubbleSort+0x88>
220: fe842783 lw a5,-24(s0)
224: 00279793 slli a5,a5,0x2
228: fdc42703 lw a4,-36(s0)
22c: 00f706b3 add a3,a4,a5
230: fe842783 lw a5,-24(s0)
234: 00178793 addi a5,a5,1
238: 00279793 slli a5,a5,0x2
23c: fdc42703 lw a4,-36(s0)
240: 00f707b3 add a5,a4,a5
244: 00078593 mv a1,a5
248: 00068513 mv a0,a3
24c: f31ff0ef jal ra,17c <swap>
250: fe842783 lw a5,-24(s0)
254: 00178793 addi a5,a5,1
258: fef42423 sw a5,-24(s0)
25c: fd842703 lw a4,-40(s0)
260: fec42783 lw a5,-20(s0)
264: 40f707b3 sub a5,a4,a5
268: fff78793 addi a5,a5,-1
26c: fe842703 lw a4,-24(s0)
270: f8f740e3 blt a4,a5,1f0 <bubbleSort+0x28>
274: fec42783 lw a5,-20(s0)
278: 00178793 addi a5,a5,1
27c: fef42623 sw a5,-20(s0)
280: fd842783 lw a5,-40(s0)
284: fff78793 addi a5,a5,-1
288: fec42703 lw a4,-20(s0)
28c: f4f74ee3 blt a4,a5,1e8 <bubbleSort+0x20>
290: 00000013 nop
294: 02c12083 lw ra,44(sp)
298: 02812403 lw s0,40(sp)
29c: 03010113 addi sp,sp,48
2a0: 00008067 ret
000002a4 <main>:
2a4: fe010113 addi sp,sp,-32
2a8: 00112e23 sw ra,28(sp)
2ac: 00812c23 sw s0,24(sp)
2b0: 02010413 addi s0,sp,32
2b4: fe042623 sw zero,-20(s0)
2b8: 0340006f j 2ec <main+0x48>
2bc: 00001737 lui a4,0x1
2c0: fec42783 lw a5,-20(s0)
2c4: 40f70733 sub a4,a4,a5
2c8: 100057b7 lui a5,0x10005
2cc: fec42683 lw a3,-20(s0)
2d0: 00269693 slli a3,a3,0x2
2d4: 00078793 mv a5,a5
2d8: 00f687b3 add a5,a3,a5
2dc: 00e7a023 sw a4,0(a5) # 10005000 <arr>
2e0: fec42783 lw a5,-20(s0)
2e4: 00178793 addi a5,a5,1
2e8: fef42623 sw a5,-20(s0)
2ec: fec42703 lw a4,-20(s0)
2f0: 000017b7 lui a5,0x1
2f4: fcf744e3 blt a4,a5,2bc <main+0x18>
2f8: 000015b7 lui a1,0x1
2fc: 100057b7 lui a5,0x10005
300: 00078513 mv a0,a5
304: ec5ff0ef jal ra,1c8 <bubbleSort>
308: 00000013 nop
30c: 01c12083 lw ra,28(sp)
310: 01812403 lw s0,24(sp)
314: 02010113 addi sp,sp,32
318: 00008067 ret