Firmwares/raven/hello_raven.dis

2157 lines
93 KiB
Plaintext

hello_raven: file format elf32-littleriscv
Disassembly of section .init:
20400000 <_start>:
20400000: 5fc01197 auipc gp,0x5fc01
20400004: c2818193 addi gp,gp,-984 # 80000c28 <_gp>
20400008: 5fc04117 auipc sp,0x5fc04
2040000c: ff810113 addi sp,sp,-8 # 80004000 <_sp>
20400010: 00002517 auipc a0,0x2
20400014: 40450513 addi a0,a0,1028 # 20402414 <__fini_array_end>
20400018: 5fc00597 auipc a1,0x5fc00
2040001c: fe858593 addi a1,a1,-24 # 80000000 <_data>
20400020: 5fc00617 auipc a2,0x5fc00
20400024: 41060613 addi a2,a2,1040 # 80000430 <__bss_start>
20400028: 00c5fc63 bgeu a1,a2,20400040 <_start+0x40>
2040002c: 00052283 lw t0,0(a0)
20400030: 0055a023 sw t0,0(a1)
20400034: 00450513 addi a0,a0,4
20400038: 00458593 addi a1,a1,4
2040003c: fec5e8e3 bltu a1,a2,2040002c <_start+0x2c>
20400040: 5fc00517 auipc a0,0x5fc00
20400044: 3f050513 addi a0,a0,1008 # 80000430 <__bss_start>
20400048: 5fc00597 auipc a1,0x5fc00
2040004c: 3f058593 addi a1,a1,1008 # 80000438 <_end>
20400050: 00b57863 bgeu a0,a1,20400060 <_start+0x60>
20400054: 00052023 sw zero,0(a0)
20400058: 00450513 addi a0,a0,4
2040005c: feb56ce3 bltu a0,a1,20400054 <_start+0x54>
20400060: 00001517 auipc a0,0x1
20400064: 4c450513 addi a0,a0,1220 # 20401524 <__libc_fini_array>
20400068: 470010ef jal ra,204014d8 <atexit>
2040006c: 518010ef jal ra,20401584 <__libc_init_array>
20400070: 00000513 li a0,0
20400074: 00000593 li a1,0
20400078: 321000ef jal ra,20400b98 <main>
2040007c: 4700106f j 204014ec <exit>
Disassembly of section .text:
20400080 <register_fini>:
20400080: dfc00797 auipc a5,0xdfc00
20400084: f8078793 addi a5,a5,-128 # 0 <__stack_size-0x800>
20400088: 00078863 beqz a5,20400098 <register_fini+0x18>
2040008c: 00001517 auipc a0,0x1
20400090: 49850513 addi a0,a0,1176 # 20401524 <__libc_fini_array>
20400094: 4440106f j 204014d8 <atexit>
20400098: 00008067 ret
2040009c <trap_entry>:
2040009c: f8010113 addi sp,sp,-128
204000a0: 00112223 sw ra,4(sp)
204000a4: 00212423 sw sp,8(sp)
204000a8: 00312623 sw gp,12(sp)
204000ac: 00412823 sw tp,16(sp)
204000b0: 00512a23 sw t0,20(sp)
204000b4: 00612c23 sw t1,24(sp)
204000b8: 00712e23 sw t2,28(sp)
204000bc: 02812023 sw s0,32(sp)
204000c0: 02912223 sw s1,36(sp)
204000c4: 02a12423 sw a0,40(sp)
204000c8: 02b12623 sw a1,44(sp)
204000cc: 02c12823 sw a2,48(sp)
204000d0: 02d12a23 sw a3,52(sp)
204000d4: 02e12c23 sw a4,56(sp)
204000d8: 02f12e23 sw a5,60(sp)
204000dc: 05012023 sw a6,64(sp)
204000e0: 05112223 sw a7,68(sp)
204000e4: 05212423 sw s2,72(sp)
204000e8: 05312623 sw s3,76(sp)
204000ec: 05412823 sw s4,80(sp)
204000f0: 05512a23 sw s5,84(sp)
204000f4: 05612c23 sw s6,88(sp)
204000f8: 05712e23 sw s7,92(sp)
204000fc: 07812023 sw s8,96(sp)
20400100: 07912223 sw s9,100(sp)
20400104: 07a12423 sw s10,104(sp)
20400108: 07b12623 sw s11,108(sp)
2040010c: 07c12823 sw t3,112(sp)
20400110: 07d12a23 sw t4,116(sp)
20400114: 07e12c23 sw t5,120(sp)
20400118: 07f12e23 sw t6,124(sp)
2040011c: 34202573 csrr a0,mcause
20400120: 341025f3 csrr a1,mepc
20400124: 00010613 mv a2,sp
20400128: 100010ef jal ra,20401228 <handle_trap>
2040012c: 34151073 csrw mepc,a0
20400130: 000022b7 lui t0,0x2
20400134: 80028293 addi t0,t0,-2048 # 1800 <__stack_size+0x1000>
20400138: 3002a073 csrs mstatus,t0
2040013c: 00412083 lw ra,4(sp)
20400140: 00812103 lw sp,8(sp)
20400144: 00c12183 lw gp,12(sp)
20400148: 01012203 lw tp,16(sp)
2040014c: 01412283 lw t0,20(sp)
20400150: 01812303 lw t1,24(sp)
20400154: 01c12383 lw t2,28(sp)
20400158: 02012403 lw s0,32(sp)
2040015c: 02412483 lw s1,36(sp)
20400160: 02812503 lw a0,40(sp)
20400164: 02c12583 lw a1,44(sp)
20400168: 03012603 lw a2,48(sp)
2040016c: 03412683 lw a3,52(sp)
20400170: 03812703 lw a4,56(sp)
20400174: 03c12783 lw a5,60(sp)
20400178: 04012803 lw a6,64(sp)
2040017c: 04412883 lw a7,68(sp)
20400180: 04812903 lw s2,72(sp)
20400184: 04c12983 lw s3,76(sp)
20400188: 05012a03 lw s4,80(sp)
2040018c: 05412a83 lw s5,84(sp)
20400190: 05812b03 lw s6,88(sp)
20400194: 05c12b83 lw s7,92(sp)
20400198: 06012c03 lw s8,96(sp)
2040019c: 06412c83 lw s9,100(sp)
204001a0: 06812d03 lw s10,104(sp)
204001a4: 06c12d83 lw s11,108(sp)
204001a8: 07012e03 lw t3,112(sp)
204001ac: 07412e83 lw t4,116(sp)
204001b0: 07812f03 lw t5,120(sp)
204001b4: 07c12f83 lw t6,124(sp)
204001b8: 08010113 addi sp,sp,128
204001bc: 30200073 mret
204001c0: 0000006f j 204001c0 <trap_entry+0x124>
204001c4 <putchar>:
204001c4: fe010113 addi sp,sp,-32
204001c8: 00112e23 sw ra,28(sp)
204001cc: 00812c23 sw s0,24(sp)
204001d0: 02010413 addi s0,sp,32
204001d4: fea42623 sw a0,-20(s0)
204001d8: fec40793 addi a5,s0,-20
204001dc: 00100613 li a2,1
204001e0: 00078593 mv a1,a5
204001e4: 00100513 li a0,1
204001e8: 14c010ef jal ra,20401334 <__wrap_write>
204001ec: 00050713 mv a4,a0
204001f0: 00100793 li a5,1
204001f4: 00f71663 bne a4,a5,20400200 <putchar+0x3c>
204001f8: fec42783 lw a5,-20(s0)
204001fc: 0080006f j 20400204 <putchar+0x40>
20400200: fff00793 li a5,-1
20400204: 00078513 mv a0,a5
20400208: 01c12083 lw ra,28(sp)
2040020c: 01812403 lw s0,24(sp)
20400210: 02010113 addi sp,sp,32
20400214: 00008067 ret
20400218 <sprintf_putch>:
20400218: fd010113 addi sp,sp,-48
2040021c: 02812623 sw s0,44(sp)
20400220: 03010413 addi s0,sp,48
20400224: fca42e23 sw a0,-36(s0)
20400228: fcb42c23 sw a1,-40(s0)
2040022c: fd842783 lw a5,-40(s0)
20400230: fef42623 sw a5,-20(s0)
20400234: fec42783 lw a5,-20(s0)
20400238: 0007a783 lw a5,0(a5)
2040023c: fdc42703 lw a4,-36(s0)
20400240: 0ff77713 andi a4,a4,255
20400244: 00e78023 sb a4,0(a5)
20400248: fec42783 lw a5,-20(s0)
2040024c: 0007a783 lw a5,0(a5)
20400250: 00178713 addi a4,a5,1
20400254: fec42783 lw a5,-20(s0)
20400258: 00e7a023 sw a4,0(a5)
2040025c: 00000013 nop
20400260: 02c12403 lw s0,44(sp)
20400264: 03010113 addi sp,sp,48
20400268: 00008067 ret
2040026c <getuint>:
2040026c: fe010113 addi sp,sp,-32
20400270: 00812e23 sw s0,28(sp)
20400274: 02010413 addi s0,sp,32
20400278: fea42623 sw a0,-20(s0)
2040027c: feb42423 sw a1,-24(s0)
20400280: fe842783 lw a5,-24(s0)
20400284: 02078063 beqz a5,204002a4 <getuint+0x38>
20400288: fec42783 lw a5,-20(s0)
2040028c: 0007a783 lw a5,0(a5)
20400290: 00478693 addi a3,a5,4
20400294: fec42703 lw a4,-20(s0)
20400298: 00d72023 sw a3,0(a4)
2040029c: 0007a783 lw a5,0(a5)
204002a0: 01c0006f j 204002bc <getuint+0x50>
204002a4: fec42783 lw a5,-20(s0)
204002a8: 0007a783 lw a5,0(a5)
204002ac: 00478693 addi a3,a5,4
204002b0: fec42703 lw a4,-20(s0)
204002b4: 00d72023 sw a3,0(a4)
204002b8: 0007a783 lw a5,0(a5)
204002bc: 00078513 mv a0,a5
204002c0: 01c12403 lw s0,28(sp)
204002c4: 02010113 addi sp,sp,32
204002c8: 00008067 ret
204002cc <getint>:
204002cc: fe010113 addi sp,sp,-32
204002d0: 00812e23 sw s0,28(sp)
204002d4: 02010413 addi s0,sp,32
204002d8: fea42623 sw a0,-20(s0)
204002dc: feb42423 sw a1,-24(s0)
204002e0: fe842783 lw a5,-24(s0)
204002e4: 02078063 beqz a5,20400304 <getint+0x38>
204002e8: fec42783 lw a5,-20(s0)
204002ec: 0007a783 lw a5,0(a5)
204002f0: 00478693 addi a3,a5,4
204002f4: fec42703 lw a4,-20(s0)
204002f8: 00d72023 sw a3,0(a4)
204002fc: 0007a783 lw a5,0(a5)
20400300: 01c0006f j 2040031c <getint+0x50>
20400304: fec42783 lw a5,-20(s0)
20400308: 0007a783 lw a5,0(a5)
2040030c: 00478693 addi a3,a5,4
20400310: fec42703 lw a4,-20(s0)
20400314: 00d72023 sw a3,0(a4)
20400318: 0007a783 lw a5,0(a5)
2040031c: 00078513 mv a0,a5
20400320: 01c12403 lw s0,28(sp)
20400324: 02010113 addi sp,sp,32
20400328: 00008067 ret
2040032c <printnum>:
2040032c: f4010113 addi sp,sp,-192
20400330: 0a112e23 sw ra,188(sp)
20400334: 0a812c23 sw s0,184(sp)
20400338: 0a912a23 sw s1,180(sp)
2040033c: 0c010413 addi s0,sp,192
20400340: f4a42e23 sw a0,-164(s0)
20400344: f4b42c23 sw a1,-168(s0)
20400348: f4c42a23 sw a2,-172(s0)
2040034c: f4d42823 sw a3,-176(s0)
20400350: f4e42623 sw a4,-180(s0)
20400354: f4f42423 sw a5,-184(s0)
20400358: fe042623 sw zero,-20(s0)
2040035c: fec42483 lw s1,-20(s0)
20400360: 00148793 addi a5,s1,1
20400364: fef42623 sw a5,-20(s0)
20400368: f5442783 lw a5,-172(s0)
2040036c: f5042583 lw a1,-176(s0)
20400370: 00078513 mv a0,a5
20400374: 409010ef jal ra,20401f7c <__umodsi3>
20400378: 00050793 mv a5,a0
2040037c: 00078713 mv a4,a5
20400380: 00249793 slli a5,s1,0x2
20400384: ff040693 addi a3,s0,-16
20400388: 00f687b3 add a5,a3,a5
2040038c: f6e7ae23 sw a4,-132(a5)
20400390: f5442703 lw a4,-172(s0)
20400394: f5042783 lw a5,-176(s0)
20400398: 00f76e63 bltu a4,a5,204003b4 <printnum+0x88>
2040039c: f5042583 lw a1,-176(s0)
204003a0: f5442503 lw a0,-172(s0)
204003a4: 391010ef jal ra,20401f34 <__udivsi3>
204003a8: 00050793 mv a5,a0
204003ac: f4f42a23 sw a5,-172(s0)
204003b0: fadff06f j 2040035c <printnum+0x30>
204003b4: 00000013 nop
204003b8: 0140006f j 204003cc <printnum+0xa0>
204003bc: f5c42783 lw a5,-164(s0)
204003c0: f5842583 lw a1,-168(s0)
204003c4: f4842503 lw a0,-184(s0)
204003c8: 000780e7 jalr a5
204003cc: f4c42783 lw a5,-180(s0)
204003d0: fff78713 addi a4,a5,-1
204003d4: f4e42623 sw a4,-180(s0)
204003d8: fec42703 lw a4,-20(s0)
204003dc: fef740e3 blt a4,a5,204003bc <printnum+0x90>
204003e0: 0540006f j 20400434 <printnum+0x108>
204003e4: fec42783 lw a5,-20(s0)
204003e8: 00279793 slli a5,a5,0x2
204003ec: ff040713 addi a4,s0,-16
204003f0: 00f707b3 add a5,a4,a5
204003f4: f7c7a703 lw a4,-132(a5)
204003f8: fec42783 lw a5,-20(s0)
204003fc: 00279793 slli a5,a5,0x2
20400400: ff040693 addi a3,s0,-16
20400404: 00f687b3 add a5,a3,a5
20400408: f7c7a683 lw a3,-132(a5)
2040040c: 00900793 li a5,9
20400410: 00d7f663 bgeu a5,a3,2040041c <printnum+0xf0>
20400414: 05700793 li a5,87
20400418: 0080006f j 20400420 <printnum+0xf4>
2040041c: 03000793 li a5,48
20400420: 00e787b3 add a5,a5,a4
20400424: f5c42703 lw a4,-164(s0)
20400428: f5842583 lw a1,-168(s0)
2040042c: 00078513 mv a0,a5
20400430: 000700e7 jalr a4
20400434: fec42783 lw a5,-20(s0)
20400438: fff78713 addi a4,a5,-1
2040043c: fee42623 sw a4,-20(s0)
20400440: faf042e3 bgtz a5,204003e4 <printnum+0xb8>
20400444: 00000013 nop
20400448: 0bc12083 lw ra,188(sp)
2040044c: 0b812403 lw s0,184(sp)
20400450: 0b412483 lw s1,180(sp)
20400454: 0c010113 addi sp,sp,192
20400458: 00008067 ret
2040045c <print_double>:
2040045c: f9010113 addi sp,sp,-112
20400460: 06112623 sw ra,108(sp)
20400464: 06812423 sw s0,104(sp)
20400468: 07212223 sw s2,100(sp)
2040046c: 07312023 sw s3,96(sp)
20400470: 07010413 addi s0,sp,112
20400474: faa42623 sw a0,-84(s0)
20400478: fab42423 sw a1,-88(s0)
2040047c: fac42023 sw a2,-96(s0)
20400480: fad42223 sw a3,-92(s0)
20400484: f8e42e23 sw a4,-100(s0)
20400488: f8f42c23 sw a5,-104(s0)
2040048c: fa042783 lw a5,-96(s0)
20400490: fa442803 lw a6,-92(s0)
20400494: fcf42c23 sw a5,-40(s0)
20400498: fd042e23 sw a6,-36(s0)
2040049c: fd842783 lw a5,-40(s0)
204004a0: fdc42803 lw a6,-36(s0)
204004a4: 00080793 mv a5,a6
204004a8: 0207da63 bgez a5,204004dc <print_double+0x80>
204004ac: fac42783 lw a5,-84(s0)
204004b0: fa842583 lw a1,-88(s0)
204004b4: 02d00513 li a0,45
204004b8: 000780e7 jalr a5
204004bc: fd842783 lw a5,-40(s0)
204004c0: fdc42803 lw a6,-36(s0)
204004c4: fff7f913 andi s2,a5,-1
204004c8: 80000737 lui a4,0x80000
204004cc: fff74713 not a4,a4
204004d0: 00e879b3 and s3,a6,a4
204004d4: fd242c23 sw s2,-40(s0)
204004d8: fd342e23 sw s3,-36(s0)
204004dc: fe042623 sw zero,-20(s0)
204004e0: 0400006f j 20400520 <print_double+0xc4>
204004e4: fd842783 lw a5,-40(s0)
204004e8: fdc42803 lw a6,-36(s0)
204004ec: 20402737 lui a4,0x20402
204004f0: 19072603 lw a2,400(a4) # 20402190 <__clzsi2+0x1b0>
204004f4: 19472683 lw a3,404(a4)
204004f8: 00078513 mv a0,a5
204004fc: 00080593 mv a1,a6
20400500: 31c010ef jal ra,2040181c <__muldf3>
20400504: 00050793 mv a5,a0
20400508: 00058813 mv a6,a1
2040050c: fcf42c23 sw a5,-40(s0)
20400510: fd042e23 sw a6,-36(s0)
20400514: fec42783 lw a5,-20(s0)
20400518: 00178793 addi a5,a5,1
2040051c: fef42623 sw a5,-20(s0)
20400520: fec42703 lw a4,-20(s0)
20400524: f9842783 lw a5,-104(s0)
20400528: faf74ee3 blt a4,a5,204004e4 <print_double+0x88>
2040052c: fb840793 addi a5,s0,-72
20400530: faf42a23 sw a5,-76(s0)
20400534: fd842783 lw a5,-40(s0)
20400538: fdc42803 lw a6,-36(s0)
2040053c: 00078513 mv a0,a5
20400540: 00080593 mv a1,a6
20400544: 149010ef jal ra,20401e8c <__fixunsdfsi>
20400548: 00050613 mv a2,a0
2040054c: fb440593 addi a1,s0,-76
20400550: 00000793 li a5,0
20400554: 00000713 li a4,0
20400558: 00a00693 li a3,10
2040055c: 20400537 lui a0,0x20400
20400560: 21850513 addi a0,a0,536 # 20400218 <sprintf_putch>
20400564: dc9ff0ef jal ra,2040032c <printnum>
20400568: f9842783 lw a5,-104(s0)
2040056c: 06f05863 blez a5,204005dc <print_double+0x180>
20400570: fe042423 sw zero,-24(s0)
20400574: 0380006f j 204005ac <print_double+0x150>
20400578: fb442703 lw a4,-76(s0)
2040057c: fe842783 lw a5,-24(s0)
20400580: fff7c793 not a5,a5
20400584: 00f70733 add a4,a4,a5
20400588: fb442783 lw a5,-76(s0)
2040058c: fe842683 lw a3,-24(s0)
20400590: 40d006b3 neg a3,a3
20400594: 00d787b3 add a5,a5,a3
20400598: 00074703 lbu a4,0(a4)
2040059c: 00e78023 sb a4,0(a5)
204005a0: fe842783 lw a5,-24(s0)
204005a4: 00178793 addi a5,a5,1
204005a8: fef42423 sw a5,-24(s0)
204005ac: fe842703 lw a4,-24(s0)
204005b0: f9842783 lw a5,-104(s0)
204005b4: fcf742e3 blt a4,a5,20400578 <print_double+0x11c>
204005b8: fb442783 lw a5,-76(s0)
204005bc: f9842703 lw a4,-104(s0)
204005c0: 40e00733 neg a4,a4
204005c4: 00e787b3 add a5,a5,a4
204005c8: 02e00713 li a4,46
204005cc: 00e78023 sb a4,0(a5)
204005d0: fb442783 lw a5,-76(s0)
204005d4: 00178793 addi a5,a5,1
204005d8: faf42a23 sw a5,-76(s0)
204005dc: fb840793 addi a5,s0,-72
204005e0: fef42223 sw a5,-28(s0)
204005e4: 0280006f j 2040060c <print_double+0x1b0>
204005e8: fe442783 lw a5,-28(s0)
204005ec: 0007c783 lbu a5,0(a5)
204005f0: fac42703 lw a4,-84(s0)
204005f4: fa842583 lw a1,-88(s0)
204005f8: 00078513 mv a0,a5
204005fc: 000700e7 jalr a4
20400600: fe442783 lw a5,-28(s0)
20400604: 00178793 addi a5,a5,1
20400608: fef42223 sw a5,-28(s0)
2040060c: fb442783 lw a5,-76(s0)
20400610: fe442703 lw a4,-28(s0)
20400614: fcf76ae3 bltu a4,a5,204005e8 <print_double+0x18c>
20400618: 00000013 nop
2040061c: 06c12083 lw ra,108(sp)
20400620: 06812403 lw s0,104(sp)
20400624: 06412903 lw s2,100(sp)
20400628: 06012983 lw s3,96(sp)
2040062c: 07010113 addi sp,sp,112
20400630: 00008067 ret
20400634 <vprintfmt>:
20400634: fc010113 addi sp,sp,-64
20400638: 02112e23 sw ra,60(sp)
2040063c: 02812c23 sw s0,56(sp)
20400640: 02912a23 sw s1,52(sp)
20400644: 03212823 sw s2,48(sp)
20400648: 04010413 addi s0,sp,64
2040064c: fca42623 sw a0,-52(s0)
20400650: fcb42423 sw a1,-56(s0)
20400654: fcc42223 sw a2,-60(s0)
20400658: fcd42023 sw a3,-64(s0)
2040065c: 0240006f j 20400680 <vprintfmt+0x4c>
20400660: 3a048863 beqz s1,20400a10 <vprintfmt+0x3dc>
20400664: fc442783 lw a5,-60(s0)
20400668: 00178793 addi a5,a5,1
2040066c: fcf42223 sw a5,-60(s0)
20400670: fcc42783 lw a5,-52(s0)
20400674: fc842583 lw a1,-56(s0)
20400678: 00048513 mv a0,s1
2040067c: 000780e7 jalr a5
20400680: fc442783 lw a5,-60(s0)
20400684: 0007c783 lbu a5,0(a5)
20400688: 00078493 mv s1,a5
2040068c: 02500793 li a5,37
20400690: fcf498e3 bne s1,a5,20400660 <vprintfmt+0x2c>
20400694: fc442783 lw a5,-60(s0)
20400698: 00178793 addi a5,a5,1
2040069c: fcf42223 sw a5,-60(s0)
204006a0: fc442783 lw a5,-60(s0)
204006a4: fcf42a23 sw a5,-44(s0)
204006a8: 02000793 li a5,32
204006ac: fcf40da3 sb a5,-37(s0)
204006b0: fff00793 li a5,-1
204006b4: fef42023 sw a5,-32(s0)
204006b8: fff00793 li a5,-1
204006bc: fcf42e23 sw a5,-36(s0)
204006c0: fe042223 sw zero,-28(s0)
204006c4: fc042823 sw zero,-48(s0)
204006c8: fc442783 lw a5,-60(s0)
204006cc: 00178713 addi a4,a5,1
204006d0: fce42223 sw a4,-60(s0)
204006d4: 0007c783 lbu a5,0(a5)
204006d8: 00078493 mv s1,a5
204006dc: fdd48793 addi a5,s1,-35
204006e0: 05500713 li a4,85
204006e4: 30f76663 bltu a4,a5,204009f0 <vprintfmt+0x3bc>
204006e8: 00279713 slli a4,a5,0x2
204006ec: 204027b7 lui a5,0x20402
204006f0: 03878793 addi a5,a5,56 # 20402038 <__clzsi2+0x58>
204006f4: 00f707b3 add a5,a4,a5
204006f8: 0007a783 lw a5,0(a5)
204006fc: 00078067 jr a5
20400700: 02d00793 li a5,45
20400704: fcf40da3 sb a5,-37(s0)
20400708: fc1ff06f j 204006c8 <vprintfmt+0x94>
2040070c: 03000793 li a5,48
20400710: fcf40da3 sb a5,-37(s0)
20400714: fb5ff06f j 204006c8 <vprintfmt+0x94>
20400718: fc042e23 sw zero,-36(s0)
2040071c: fdc42703 lw a4,-36(s0)
20400720: 00070793 mv a5,a4
20400724: 00279793 slli a5,a5,0x2
20400728: 00e787b3 add a5,a5,a4
2040072c: 00179793 slli a5,a5,0x1
20400730: 00f487b3 add a5,s1,a5
20400734: fd078793 addi a5,a5,-48
20400738: fcf42e23 sw a5,-36(s0)
2040073c: fc442783 lw a5,-60(s0)
20400740: 0007c783 lbu a5,0(a5)
20400744: 00078493 mv s1,a5
20400748: 02f00793 li a5,47
2040074c: 0497d863 bge a5,s1,2040079c <vprintfmt+0x168>
20400750: 03900793 li a5,57
20400754: 0497c463 blt a5,s1,2040079c <vprintfmt+0x168>
20400758: fc442783 lw a5,-60(s0)
2040075c: 00178793 addi a5,a5,1
20400760: fcf42223 sw a5,-60(s0)
20400764: fb9ff06f j 2040071c <vprintfmt+0xe8>
20400768: fc042783 lw a5,-64(s0)
2040076c: 00478713 addi a4,a5,4
20400770: fce42023 sw a4,-64(s0)
20400774: 0007a783 lw a5,0(a5)
20400778: fcf42e23 sw a5,-36(s0)
2040077c: 0240006f j 204007a0 <vprintfmt+0x16c>
20400780: fe042783 lw a5,-32(s0)
20400784: f407d2e3 bgez a5,204006c8 <vprintfmt+0x94>
20400788: fe042023 sw zero,-32(s0)
2040078c: f3dff06f j 204006c8 <vprintfmt+0x94>
20400790: 00100793 li a5,1
20400794: fcf42823 sw a5,-48(s0)
20400798: f31ff06f j 204006c8 <vprintfmt+0x94>
2040079c: 00000013 nop
204007a0: fe042783 lw a5,-32(s0)
204007a4: f207d2e3 bgez a5,204006c8 <vprintfmt+0x94>
204007a8: fdc42783 lw a5,-36(s0)
204007ac: fef42023 sw a5,-32(s0)
204007b0: fff00793 li a5,-1
204007b4: fcf42e23 sw a5,-36(s0)
204007b8: f11ff06f j 204006c8 <vprintfmt+0x94>
204007bc: fe442783 lw a5,-28(s0)
204007c0: 22079663 bnez a5,204009ec <vprintfmt+0x3b8>
204007c4: f05ff06f j 204006c8 <vprintfmt+0x94>
204007c8: fc042783 lw a5,-64(s0)
204007cc: 00478713 addi a4,a5,4
204007d0: fce42023 sw a4,-64(s0)
204007d4: 0007a783 lw a5,0(a5)
204007d8: fcc42703 lw a4,-52(s0)
204007dc: fc842583 lw a1,-56(s0)
204007e0: 00078513 mv a0,a5
204007e4: 000700e7 jalr a4
204007e8: 2240006f j 20400a0c <vprintfmt+0x3d8>
204007ec: fc042783 lw a5,-64(s0)
204007f0: 00778793 addi a5,a5,7
204007f4: ff87f793 andi a5,a5,-8
204007f8: 00878713 addi a4,a5,8
204007fc: fce42023 sw a4,-64(s0)
20400800: 0007a603 lw a2,0(a5)
20400804: 0047a683 lw a3,4(a5)
20400808: fdc42783 lw a5,-36(s0)
2040080c: fe042703 lw a4,-32(s0)
20400810: fc842583 lw a1,-56(s0)
20400814: fcc42503 lw a0,-52(s0)
20400818: c45ff0ef jal ra,2040045c <print_double>
2040081c: 1f00006f j 20400a0c <vprintfmt+0x3d8>
20400820: fc042783 lw a5,-64(s0)
20400824: 00478713 addi a4,a5,4
20400828: fce42023 sw a4,-64(s0)
2040082c: 0007a903 lw s2,0(a5)
20400830: 00091663 bnez s2,2040083c <vprintfmt+0x208>
20400834: 204027b7 lui a5,0x20402
20400838: 03078913 addi s2,a5,48 # 20402030 <__clzsi2+0x50>
2040083c: fe042783 lw a5,-32(s0)
20400840: 08f05063 blez a5,204008c0 <vprintfmt+0x28c>
20400844: fdb44703 lbu a4,-37(s0)
20400848: 02d00793 li a5,45
2040084c: 06f70a63 beq a4,a5,204008c0 <vprintfmt+0x28c>
20400850: fdc42783 lw a5,-36(s0)
20400854: 00078593 mv a1,a5
20400858: 00090513 mv a0,s2
2040085c: 5bd000ef jal ra,20401618 <strnlen>
20400860: 00050713 mv a4,a0
20400864: fe042783 lw a5,-32(s0)
20400868: 40e787b3 sub a5,a5,a4
2040086c: fef42023 sw a5,-32(s0)
20400870: 0240006f j 20400894 <vprintfmt+0x260>
20400874: fdb44783 lbu a5,-37(s0)
20400878: fcc42703 lw a4,-52(s0)
2040087c: fc842583 lw a1,-56(s0)
20400880: 00078513 mv a0,a5
20400884: 000700e7 jalr a4
20400888: fe042783 lw a5,-32(s0)
2040088c: fff78793 addi a5,a5,-1
20400890: fef42023 sw a5,-32(s0)
20400894: fe042783 lw a5,-32(s0)
20400898: fcf04ee3 bgtz a5,20400874 <vprintfmt+0x240>
2040089c: 0240006f j 204008c0 <vprintfmt+0x28c>
204008a0: fcc42783 lw a5,-52(s0)
204008a4: fc842583 lw a1,-56(s0)
204008a8: 00048513 mv a0,s1
204008ac: 000780e7 jalr a5
204008b0: 00190913 addi s2,s2,1
204008b4: fe042783 lw a5,-32(s0)
204008b8: fff78793 addi a5,a5,-1
204008bc: fef42023 sw a5,-32(s0)
204008c0: 00094783 lbu a5,0(s2)
204008c4: 00078493 mv s1,a5
204008c8: 04048063 beqz s1,20400908 <vprintfmt+0x2d4>
204008cc: fdc42783 lw a5,-36(s0)
204008d0: fc07c8e3 bltz a5,204008a0 <vprintfmt+0x26c>
204008d4: fdc42783 lw a5,-36(s0)
204008d8: fff78793 addi a5,a5,-1
204008dc: fcf42e23 sw a5,-36(s0)
204008e0: fdc42783 lw a5,-36(s0)
204008e4: fa07dee3 bgez a5,204008a0 <vprintfmt+0x26c>
204008e8: 0200006f j 20400908 <vprintfmt+0x2d4>
204008ec: fcc42783 lw a5,-52(s0)
204008f0: fc842583 lw a1,-56(s0)
204008f4: 02000513 li a0,32
204008f8: 000780e7 jalr a5
204008fc: fe042783 lw a5,-32(s0)
20400900: fff78793 addi a5,a5,-1
20400904: fef42023 sw a5,-32(s0)
20400908: fe042783 lw a5,-32(s0)
2040090c: fef040e3 bgtz a5,204008ec <vprintfmt+0x2b8>
20400910: 0fc0006f j 20400a0c <vprintfmt+0x3d8>
20400914: fc040793 addi a5,s0,-64
20400918: fe442583 lw a1,-28(s0)
2040091c: 00078513 mv a0,a5
20400920: 9adff0ef jal ra,204002cc <getint>
20400924: 00050793 mv a5,a0
20400928: fef42623 sw a5,-20(s0)
2040092c: fec42783 lw a5,-20(s0)
20400930: 0207d063 bgez a5,20400950 <vprintfmt+0x31c>
20400934: fcc42783 lw a5,-52(s0)
20400938: fc842583 lw a1,-56(s0)
2040093c: 02d00513 li a0,45
20400940: 000780e7 jalr a5
20400944: fec42783 lw a5,-20(s0)
20400948: 40f007b3 neg a5,a5
2040094c: fef42623 sw a5,-20(s0)
20400950: 00a00793 li a5,10
20400954: fef42423 sw a5,-24(s0)
20400958: 0600006f j 204009b8 <vprintfmt+0x384>
2040095c: 00a00793 li a5,10
20400960: fef42423 sw a5,-24(s0)
20400964: 0400006f j 204009a4 <vprintfmt+0x370>
20400968: 00800793 li a5,8
2040096c: fef42423 sw a5,-24(s0)
20400970: 0340006f j 204009a4 <vprintfmt+0x370>
20400974: 00100793 li a5,1
20400978: fef42223 sw a5,-28(s0)
2040097c: fcc42783 lw a5,-52(s0)
20400980: fc842583 lw a1,-56(s0)
20400984: 03000513 li a0,48
20400988: 000780e7 jalr a5
2040098c: fcc42783 lw a5,-52(s0)
20400990: fc842583 lw a1,-56(s0)
20400994: 07800513 li a0,120
20400998: 000780e7 jalr a5
2040099c: 01000793 li a5,16
204009a0: fef42423 sw a5,-24(s0)
204009a4: fc040793 addi a5,s0,-64
204009a8: fe442583 lw a1,-28(s0)
204009ac: 00078513 mv a0,a5
204009b0: 8bdff0ef jal ra,2040026c <getuint>
204009b4: fea42623 sw a0,-20(s0)
204009b8: fe842683 lw a3,-24(s0)
204009bc: fdb44783 lbu a5,-37(s0)
204009c0: fe042703 lw a4,-32(s0)
204009c4: fec42603 lw a2,-20(s0)
204009c8: fc842583 lw a1,-56(s0)
204009cc: fcc42503 lw a0,-52(s0)
204009d0: 95dff0ef jal ra,2040032c <printnum>
204009d4: 0380006f j 20400a0c <vprintfmt+0x3d8>
204009d8: fcc42783 lw a5,-52(s0)
204009dc: fc842583 lw a1,-56(s0)
204009e0: 00048513 mv a0,s1
204009e4: 000780e7 jalr a5
204009e8: 0240006f j 20400a0c <vprintfmt+0x3d8>
204009ec: 00000013 nop
204009f0: fcc42783 lw a5,-52(s0)
204009f4: fc842583 lw a1,-56(s0)
204009f8: 02500513 li a0,37
204009fc: 000780e7 jalr a5
20400a00: fd442783 lw a5,-44(s0)
20400a04: fcf42223 sw a5,-60(s0)
20400a08: 00000013 nop
20400a0c: c75ff06f j 20400680 <vprintfmt+0x4c>
20400a10: 00000013 nop
20400a14: 03c12083 lw ra,60(sp)
20400a18: 03812403 lw s0,56(sp)
20400a1c: 03412483 lw s1,52(sp)
20400a20: 03012903 lw s2,48(sp)
20400a24: 04010113 addi sp,sp,64
20400a28: 00008067 ret
20400a2c <__wrap_printf>:
20400a2c: fb010113 addi sp,sp,-80
20400a30: 02112623 sw ra,44(sp)
20400a34: 02812423 sw s0,40(sp)
20400a38: 03010413 addi s0,sp,48
20400a3c: fca42e23 sw a0,-36(s0)
20400a40: 00b42223 sw a1,4(s0)
20400a44: 00c42423 sw a2,8(s0)
20400a48: 00d42623 sw a3,12(s0)
20400a4c: 00e42823 sw a4,16(s0)
20400a50: 00f42a23 sw a5,20(s0)
20400a54: 01042c23 sw a6,24(s0)
20400a58: 01142e23 sw a7,28(s0)
20400a5c: 02040793 addi a5,s0,32
20400a60: fe478793 addi a5,a5,-28
20400a64: fef42623 sw a5,-20(s0)
20400a68: fec42783 lw a5,-20(s0)
20400a6c: 00078693 mv a3,a5
20400a70: fdc42603 lw a2,-36(s0)
20400a74: 00000593 li a1,0
20400a78: 204007b7 lui a5,0x20400
20400a7c: 1c478513 addi a0,a5,452 # 204001c4 <putchar>
20400a80: bb5ff0ef jal ra,20400634 <vprintfmt>
20400a84: 00000793 li a5,0
20400a88: 00078513 mv a0,a5
20400a8c: 02c12083 lw ra,44(sp)
20400a90: 02812403 lw s0,40(sp)
20400a94: 05010113 addi sp,sp,80
20400a98: 00008067 ret
20400a9c <__wrap_sprintf>:
20400a9c: fb010113 addi sp,sp,-80
20400aa0: 02112623 sw ra,44(sp)
20400aa4: 02812423 sw s0,40(sp)
20400aa8: 03010413 addi s0,sp,48
20400aac: fca42e23 sw a0,-36(s0)
20400ab0: fcb42c23 sw a1,-40(s0)
20400ab4: 00c42423 sw a2,8(s0)
20400ab8: 00d42623 sw a3,12(s0)
20400abc: 00e42823 sw a4,16(s0)
20400ac0: 00f42a23 sw a5,20(s0)
20400ac4: 01042c23 sw a6,24(s0)
20400ac8: 01142e23 sw a7,28(s0)
20400acc: fdc42783 lw a5,-36(s0)
20400ad0: fef42623 sw a5,-20(s0)
20400ad4: 02040793 addi a5,s0,32
20400ad8: fe878793 addi a5,a5,-24
20400adc: fef42423 sw a5,-24(s0)
20400ae0: fe842703 lw a4,-24(s0)
20400ae4: fdc40793 addi a5,s0,-36
20400ae8: 00070693 mv a3,a4
20400aec: fd842603 lw a2,-40(s0)
20400af0: 00078593 mv a1,a5
20400af4: 204007b7 lui a5,0x20400
20400af8: 21878513 addi a0,a5,536 # 20400218 <sprintf_putch>
20400afc: b39ff0ef jal ra,20400634 <vprintfmt>
20400b00: fdc42783 lw a5,-36(s0)
20400b04: 00078023 sb zero,0(a5)
20400b08: fdc42703 lw a4,-36(s0)
20400b0c: fec42783 lw a5,-20(s0)
20400b10: 40f707b3 sub a5,a4,a5
20400b14: 00078513 mv a0,a5
20400b18: 02c12083 lw ra,44(sp)
20400b1c: 02812403 lw s0,40(sp)
20400b20: 05010113 addi sp,sp,80
20400b24: 00008067 ret
20400b28 <factorial>:
20400b28: fd010113 addi sp,sp,-48
20400b2c: 02112623 sw ra,44(sp)
20400b30: 02812423 sw s0,40(sp)
20400b34: 03010413 addi s0,sp,48
20400b38: fca42e23 sw a0,-36(s0)
20400b3c: 00100793 li a5,1
20400b40: fef42423 sw a5,-24(s0)
20400b44: 00100793 li a5,1
20400b48: fef42623 sw a5,-20(s0)
20400b4c: 0280006f j 20400b74 <factorial+0x4c>
20400b50: fe842783 lw a5,-24(s0)
20400b54: fec42583 lw a1,-20(s0)
20400b58: 00078513 mv a0,a5
20400b5c: 3ac010ef jal ra,20401f08 <__mulsi3>
20400b60: 00050793 mv a5,a0
20400b64: fef42423 sw a5,-24(s0)
20400b68: fec42783 lw a5,-20(s0)
20400b6c: 00178793 addi a5,a5,1
20400b70: fef42623 sw a5,-20(s0)
20400b74: fec42703 lw a4,-20(s0)
20400b78: fdc42783 lw a5,-36(s0)
20400b7c: fce7dae3 bge a5,a4,20400b50 <factorial+0x28>
20400b80: fe842783 lw a5,-24(s0)
20400b84: 00078513 mv a0,a5
20400b88: 02c12083 lw ra,44(sp)
20400b8c: 02812403 lw s0,40(sp)
20400b90: 03010113 addi sp,sp,48
20400b94: 00008067 ret
20400b98 <main>:
20400b98: fc010113 addi sp,sp,-64
20400b9c: 02112e23 sw ra,60(sp)
20400ba0: 02812c23 sw s0,56(sp)
20400ba4: 04010413 addi s0,sp,64
20400ba8: 100127b7 lui a5,0x10012
20400bac: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400bb0: 0007a683 lw a3,0(a5)
20400bb4: 100127b7 lui a5,0x10012
20400bb8: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400bbc: 00030737 lui a4,0x30
20400bc0: 00e6e733 or a4,a3,a4
20400bc4: 00e7a023 sw a4,0(a5)
20400bc8: f14027f3 csrr a5,mhartid
20400bcc: fef42623 sw a5,-20(s0)
20400bd0: fec42783 lw a5,-20(s0)
20400bd4: fef42423 sw a5,-24(s0)
20400bd8: 900007b7 lui a5,0x90000
20400bdc: fef42223 sw a5,-28(s0)
20400be0: 800007b7 lui a5,0x80000
20400be4: fef42023 sw a5,-32(s0)
20400be8: fe842783 lw a5,-24(s0)
20400bec: 04079663 bnez a5,20400c38 <main+0xa0>
20400bf0: 00500793 li a5,5
20400bf4: fcf42e23 sw a5,-36(s0)
20400bf8: 00a00793 li a5,10
20400bfc: fcf42c23 sw a5,-40(s0)
20400c00: fe442783 lw a5,-28(s0)
20400c04: fdc42703 lw a4,-36(s0)
20400c08: 00e7a023 sw a4,0(a5) # 80000000 <_sp+0xffffc000>
20400c0c: fe442783 lw a5,-28(s0)
20400c10: 00478793 addi a5,a5,4
20400c14: 00078713 mv a4,a5
20400c18: fd842783 lw a5,-40(s0)
20400c1c: 00f72023 sw a5,0(a4) # 30000 <__stack_size+0x2f800>
20400c20: fd842683 lw a3,-40(s0)
20400c24: fdc42603 lw a2,-36(s0)
20400c28: fe842583 lw a1,-24(s0)
20400c2c: 204027b7 lui a5,0x20402
20400c30: 19878513 addi a0,a5,408 # 20402198 <__clzsi2+0x1b8>
20400c34: df9ff0ef jal ra,20400a2c <__wrap_printf>
20400c38: 00a00513 li a0,10
20400c3c: eedff0ef jal ra,20400b28 <factorial>
20400c40: fca42a23 sw a0,-44(s0)
20400c44: fd442603 lw a2,-44(s0)
20400c48: fe842583 lw a1,-24(s0)
20400c4c: 204027b7 lui a5,0x20402
20400c50: 1dc78513 addi a0,a5,476 # 204021dc <__clzsi2+0x1fc>
20400c54: dd9ff0ef jal ra,20400a2c <__wrap_printf>
20400c58: fe842703 lw a4,-24(s0)
20400c5c: 00100793 li a5,1
20400c60: 06f71863 bne a4,a5,20400cd0 <main+0x138>
20400c64: fe042783 lw a5,-32(s0)
20400c68: 0007a783 lw a5,0(a5)
20400c6c: fcf42823 sw a5,-48(s0)
20400c70: fe042783 lw a5,-32(s0)
20400c74: 00478793 addi a5,a5,4
20400c78: 0007a783 lw a5,0(a5)
20400c7c: fcf42623 sw a5,-52(s0)
20400c80: fd042703 lw a4,-48(s0)
20400c84: fcc42783 lw a5,-52(s0)
20400c88: 00f707b3 add a5,a4,a5
20400c8c: fcf42423 sw a5,-56(s0)
20400c90: fc842703 lw a4,-56(s0)
20400c94: 00f00793 li a5,15
20400c98: 00f71e63 bne a4,a5,20400cb4 <main+0x11c>
20400c9c: fc842603 lw a2,-56(s0)
20400ca0: fe842583 lw a1,-24(s0)
20400ca4: 204027b7 lui a5,0x20402
20400ca8: 22078513 addi a0,a5,544 # 20402220 <__clzsi2+0x240>
20400cac: d81ff0ef jal ra,20400a2c <__wrap_printf>
20400cb0: 0200006f j 20400cd0 <main+0x138>
20400cb4: fc842603 lw a2,-56(s0)
20400cb8: fe842583 lw a1,-24(s0)
20400cbc: 204027b7 lui a5,0x20402
20400cc0: 24478513 addi a0,a5,580 # 20402244 <__clzsi2+0x264>
20400cc4: d69ff0ef jal ra,20400a2c <__wrap_printf>
20400cc8: 00100793 li a5,1
20400ccc: 0140006f j 20400ce0 <main+0x148>
20400cd0: 204027b7 lui a5,0x20402
20400cd4: 28078513 addi a0,a5,640 # 20402280 <__clzsi2+0x2a0>
20400cd8: d55ff0ef jal ra,20400a2c <__wrap_printf>
20400cdc: 00000793 li a5,0
20400ce0: 00078513 mv a0,a5
20400ce4: 03c12083 lw ra,60(sp)
20400ce8: 03812403 lw s0,56(sp)
20400cec: 04010113 addi sp,sp,64
20400cf0: 00008067 ret
20400cf4 <mtime_lo>:
20400cf4: ff010113 addi sp,sp,-16
20400cf8: 00812623 sw s0,12(sp)
20400cfc: 01010413 addi s0,sp,16
20400d00: 0200c7b7 lui a5,0x200c
20400d04: ff878793 addi a5,a5,-8 # 200bff8 <__stack_size+0x200b7f8>
20400d08: 0007a783 lw a5,0(a5)
20400d0c: 00078513 mv a0,a5
20400d10: 00c12403 lw s0,12(sp)
20400d14: 01010113 addi sp,sp,16
20400d18: 00008067 ret
20400d1c <get_timer_value>:
20400d1c: ff010113 addi sp,sp,-16
20400d20: 00112623 sw ra,12(sp)
20400d24: 00812423 sw s0,8(sp)
20400d28: 01212223 sw s2,4(sp)
20400d2c: 01312023 sw s3,0(sp)
20400d30: 01010413 addi s0,sp,16
20400d34: fc1ff0ef jal ra,20400cf4 <mtime_lo>
20400d38: 00050793 mv a5,a0
20400d3c: 00078913 mv s2,a5
20400d40: 00000993 li s3,0
20400d44: 00090793 mv a5,s2
20400d48: 00098813 mv a6,s3
20400d4c: 00078513 mv a0,a5
20400d50: 00080593 mv a1,a6
20400d54: 00c12083 lw ra,12(sp)
20400d58: 00812403 lw s0,8(sp)
20400d5c: 00412903 lw s2,4(sp)
20400d60: 00012983 lw s3,0(sp)
20400d64: 01010113 addi sp,sp,16
20400d68: 00008067 ret
20400d6c <get_timer_freq>:
20400d6c: ff010113 addi sp,sp,-16
20400d70: 00812623 sw s0,12(sp)
20400d74: 01010413 addi s0,sp,16
20400d78: 000087b7 lui a5,0x8
20400d7c: 00078513 mv a0,a5
20400d80: 00c12403 lw s0,12(sp)
20400d84: 01010113 addi sp,sp,16
20400d88: 00008067 ret
20400d8c <use_hfrosc>:
20400d8c: fe010113 addi sp,sp,-32
20400d90: 00812e23 sw s0,28(sp)
20400d94: 02010413 addi s0,sp,32
20400d98: fea42623 sw a0,-20(s0)
20400d9c: feb42423 sw a1,-24(s0)
20400da0: fec42783 lw a5,-20(s0)
20400da4: 02f7f713 andi a4,a5,47
20400da8: fe842783 lw a5,-24(s0)
20400dac: 01079693 slli a3,a5,0x10
20400db0: 001f07b7 lui a5,0x1f0
20400db4: 00f6f7b3 and a5,a3,a5
20400db8: 00f76733 or a4,a4,a5
20400dbc: 400007b7 lui a5,0x40000
20400dc0: 00f76733 or a4,a4,a5
20400dc4: 100087b7 lui a5,0x10008
20400dc8: 00e7a023 sw a4,0(a5) # 10008000 <__stack_size+0x10007800>
20400dcc: 00000013 nop
20400dd0: 100087b7 lui a5,0x10008
20400dd4: 0007a783 lw a5,0(a5) # 10008000 <__stack_size+0x10007800>
20400dd8: fe07dce3 bgez a5,20400dd0 <use_hfrosc+0x44>
20400ddc: 100087b7 lui a5,0x10008
20400de0: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400de4: 0007a683 lw a3,0(a5)
20400de8: 100087b7 lui a5,0x10008
20400dec: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400df0: ffff0737 lui a4,0xffff0
20400df4: fff70713 addi a4,a4,-1 # fffeffff <_sp+0x7ffebfff>
20400df8: 00e6f733 and a4,a3,a4
20400dfc: 00e7a023 sw a4,0(a5)
20400e00: 00000013 nop
20400e04: 01c12403 lw s0,28(sp)
20400e08: 02010113 addi sp,sp,32
20400e0c: 00008067 ret
20400e10 <use_pll>:
20400e10: fc010113 addi sp,sp,-64
20400e14: 02112e23 sw ra,60(sp)
20400e18: 02812c23 sw s0,56(sp)
20400e1c: 04010413 addi s0,sp,64
20400e20: fca42e23 sw a0,-36(s0)
20400e24: fcb42c23 sw a1,-40(s0)
20400e28: fcc42a23 sw a2,-44(s0)
20400e2c: fcd42823 sw a3,-48(s0)
20400e30: fce42623 sw a4,-52(s0)
20400e34: 100087b7 lui a5,0x10008
20400e38: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400e3c: 0007a703 lw a4,0(a5)
20400e40: 000107b7 lui a5,0x10
20400e44: 00f777b3 and a5,a4,a5
20400e48: 00078863 beqz a5,20400e58 <use_pll+0x48>
20400e4c: 01000593 li a1,16
20400e50: 00400513 li a0,4
20400e54: f39ff0ef jal ra,20400d8c <use_hfrosc>
20400e58: fe042623 sw zero,-20(s0)
20400e5c: fdc42783 lw a5,-36(s0)
20400e60: 01179793 slli a5,a5,0x11
20400e64: 00078713 mv a4,a5
20400e68: 000207b7 lui a5,0x20
20400e6c: 00f777b3 and a5,a4,a5
20400e70: fec42703 lw a4,-20(s0)
20400e74: 00f767b3 or a5,a4,a5
20400e78: fef42623 sw a5,-20(s0)
20400e7c: fd842783 lw a5,-40(s0)
20400e80: 02078c63 beqz a5,20400eb8 <use_pll+0xa8>
20400e84: fec42703 lw a4,-20(s0)
20400e88: 000407b7 lui a5,0x40
20400e8c: 00f767b3 or a5,a4,a5
20400e90: fef42623 sw a5,-20(s0)
20400e94: 100087b7 lui a5,0x10008
20400e98: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400e9c: fec42703 lw a4,-20(s0)
20400ea0: 00e7a023 sw a4,0(a5)
20400ea4: 100087b7 lui a5,0x10008
20400ea8: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c>
20400eac: 10000713 li a4,256
20400eb0: 00e7a023 sw a4,0(a5)
20400eb4: 0ec0006f j 20400fa0 <use_pll+0x190>
20400eb8: 100147b7 lui a5,0x10014
20400ebc: 00800713 li a4,8
20400ec0: 00e7a023 sw a4,0(a5) # 10014000 <__stack_size+0x10013800>
20400ec4: fec42703 lw a4,-20(s0)
20400ec8: 000407b7 lui a5,0x40
20400ecc: 00f767b3 or a5,a4,a5
20400ed0: fef42623 sw a5,-20(s0)
20400ed4: fd442783 lw a5,-44(s0)
20400ed8: 0077f793 andi a5,a5,7
20400edc: fec42703 lw a4,-20(s0)
20400ee0: 00f767b3 or a5,a4,a5
20400ee4: fef42623 sw a5,-20(s0)
20400ee8: fd042783 lw a5,-48(s0)
20400eec: 00479793 slli a5,a5,0x4
20400ef0: 3f07f793 andi a5,a5,1008
20400ef4: fec42703 lw a4,-20(s0)
20400ef8: 00f767b3 or a5,a4,a5
20400efc: fef42623 sw a5,-20(s0)
20400f00: fcc42783 lw a5,-52(s0)
20400f04: 00a79793 slli a5,a5,0xa
20400f08: 00078713 mv a4,a5
20400f0c: 000017b7 lui a5,0x1
20400f10: c0078793 addi a5,a5,-1024 # c00 <__stack_size+0x400>
20400f14: 00f777b3 and a5,a4,a5
20400f18: fec42703 lw a4,-20(s0)
20400f1c: 00f767b3 or a5,a4,a5
20400f20: fef42623 sw a5,-20(s0)
20400f24: 100087b7 lui a5,0x10008
20400f28: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c>
20400f2c: 10000713 li a4,256
20400f30: 00e7a023 sw a4,0(a5)
20400f34: 100087b7 lui a5,0x10008
20400f38: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f3c: fec42703 lw a4,-20(s0)
20400f40: 00e7a023 sw a4,0(a5)
20400f44: 100087b7 lui a5,0x10008
20400f48: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f4c: 0007a683 lw a3,0(a5)
20400f50: 100087b7 lui a5,0x10008
20400f54: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f58: fffc0737 lui a4,0xfffc0
20400f5c: fff70713 addi a4,a4,-1 # fffbffff <_sp+0x7ffbbfff>
20400f60: 00e6f733 and a4,a3,a4
20400f64: 00e7a023 sw a4,0(a5)
20400f68: d8dff0ef jal ra,20400cf4 <mtime_lo>
20400f6c: fea42423 sw a0,-24(s0)
20400f70: 00000013 nop
20400f74: d81ff0ef jal ra,20400cf4 <mtime_lo>
20400f78: 00050713 mv a4,a0
20400f7c: fe842783 lw a5,-24(s0)
20400f80: 40f70733 sub a4,a4,a5
20400f84: 00300793 li a5,3
20400f88: fee7f6e3 bgeu a5,a4,20400f74 <use_pll+0x164>
20400f8c: 00000013 nop
20400f90: 100087b7 lui a5,0x10008
20400f94: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f98: 0007a783 lw a5,0(a5)
20400f9c: fe07dae3 bgez a5,20400f90 <use_pll+0x180>
20400fa0: 100087b7 lui a5,0x10008
20400fa4: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400fa8: 0007a683 lw a3,0(a5)
20400fac: 100087b7 lui a5,0x10008
20400fb0: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400fb4: 00010737 lui a4,0x10
20400fb8: 00e6e733 or a4,a3,a4
20400fbc: 00e7a023 sw a4,0(a5)
20400fc0: 00000013 nop
20400fc4: 03c12083 lw ra,60(sp)
20400fc8: 03812403 lw s0,56(sp)
20400fcc: 04010113 addi sp,sp,64
20400fd0: 00008067 ret
20400fd4 <use_default_clocks>:
20400fd4: ff010113 addi sp,sp,-16
20400fd8: 00112623 sw ra,12(sp)
20400fdc: 00812423 sw s0,8(sp)
20400fe0: 01010413 addi s0,sp,16
20400fe4: 100007b7 lui a5,0x10000
20400fe8: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870>
20400fec: 0007a683 lw a3,0(a5)
20400ff0: 100007b7 lui a5,0x10000
20400ff4: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870>
20400ff8: c0000737 lui a4,0xc0000
20400ffc: fff70713 addi a4,a4,-1 # bfffffff <_sp+0x3fffbfff>
20401000: 00e6f733 and a4,a3,a4
20401004: 00e7a023 sw a4,0(a5)
20401008: 01000593 li a1,16
2040100c: 00400513 li a0,4
20401010: d7dff0ef jal ra,20400d8c <use_hfrosc>
20401014: 00000013 nop
20401018: 00c12083 lw ra,12(sp)
2040101c: 00812403 lw s0,8(sp)
20401020: 01010113 addi sp,sp,16
20401024: 00008067 ret
20401028 <measure_cpu_freq>:
20401028: fc010113 addi sp,sp,-64
2040102c: 02112e23 sw ra,60(sp)
20401030: 02812c23 sw s0,56(sp)
20401034: 02912a23 sw s1,52(sp)
20401038: 04010413 addi s0,sp,64
2040103c: fca42623 sw a0,-52(s0)
20401040: d2dff0ef jal ra,20400d6c <get_timer_freq>
20401044: fea42623 sw a0,-20(s0)
20401048: cadff0ef jal ra,20400cf4 <mtime_lo>
2040104c: fea42423 sw a0,-24(s0)
20401050: ca5ff0ef jal ra,20400cf4 <mtime_lo>
20401054: fea42223 sw a0,-28(s0)
20401058: fe442703 lw a4,-28(s0)
2040105c: fe842783 lw a5,-24(s0)
20401060: fef708e3 beq a4,a5,20401050 <measure_cpu_freq+0x28>
20401064: b00027f3 csrr a5,mcycle
20401068: fef42023 sw a5,-32(s0)
2040106c: fe042783 lw a5,-32(s0)
20401070: fcf42e23 sw a5,-36(s0)
20401074: c81ff0ef jal ra,20400cf4 <mtime_lo>
20401078: 00050713 mv a4,a0
2040107c: fe442783 lw a5,-28(s0)
20401080: 40f707b3 sub a5,a4,a5
20401084: fcf42c23 sw a5,-40(s0)
20401088: fd842703 lw a4,-40(s0)
2040108c: fcc42783 lw a5,-52(s0)
20401090: fef762e3 bltu a4,a5,20401074 <measure_cpu_freq+0x4c>
20401094: b00027f3 csrr a5,mcycle
20401098: fcf42a23 sw a5,-44(s0)
2040109c: fd442703 lw a4,-44(s0)
204010a0: fdc42783 lw a5,-36(s0)
204010a4: 40f707b3 sub a5,a4,a5
204010a8: fcf42823 sw a5,-48(s0)
204010ac: fd842583 lw a1,-40(s0)
204010b0: fd042503 lw a0,-48(s0)
204010b4: 681000ef jal ra,20401f34 <__udivsi3>
204010b8: 00050793 mv a5,a0
204010bc: fec42583 lw a1,-20(s0)
204010c0: 00078513 mv a0,a5
204010c4: 645000ef jal ra,20401f08 <__mulsi3>
204010c8: 00050793 mv a5,a0
204010cc: 00078493 mv s1,a5
204010d0: fd042783 lw a5,-48(s0)
204010d4: fd842583 lw a1,-40(s0)
204010d8: 00078513 mv a0,a5
204010dc: 6a1000ef jal ra,20401f7c <__umodsi3>
204010e0: 00050793 mv a5,a0
204010e4: fec42583 lw a1,-20(s0)
204010e8: 00078513 mv a0,a5
204010ec: 61d000ef jal ra,20401f08 <__mulsi3>
204010f0: 00050793 mv a5,a0
204010f4: fd842583 lw a1,-40(s0)
204010f8: 00078513 mv a0,a5
204010fc: 639000ef jal ra,20401f34 <__udivsi3>
20401100: 00050793 mv a5,a0
20401104: 00f487b3 add a5,s1,a5
20401108: 00078513 mv a0,a5
2040110c: 03c12083 lw ra,60(sp)
20401110: 03812403 lw s0,56(sp)
20401114: 03412483 lw s1,52(sp)
20401118: 04010113 addi sp,sp,64
2040111c: 00008067 ret
20401120 <get_cpu_freq>:
20401120: ff010113 addi sp,sp,-16
20401124: 00112623 sw ra,12(sp)
20401128: 00812423 sw s0,8(sp)
2040112c: 01010413 addi s0,sp,16
20401130: 800007b7 lui a5,0x80000
20401134: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430>
20401138: 02079063 bnez a5,20401158 <get_cpu_freq+0x38>
2040113c: 00100513 li a0,1
20401140: ee9ff0ef jal ra,20401028 <measure_cpu_freq>
20401144: 00a00513 li a0,10
20401148: ee1ff0ef jal ra,20401028 <measure_cpu_freq>
2040114c: 00050713 mv a4,a0
20401150: 800007b7 lui a5,0x80000
20401154: 42e7a823 sw a4,1072(a5) # 80000430 <_sp+0xffffc430>
20401158: 800007b7 lui a5,0x80000
2040115c: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430>
20401160: 00078513 mv a0,a5
20401164: 00c12083 lw ra,12(sp)
20401168: 00812403 lw s0,8(sp)
2040116c: 01010113 addi sp,sp,16
20401170: 00008067 ret
20401174 <uart_init>:
20401174: fe010113 addi sp,sp,-32
20401178: 00112e23 sw ra,28(sp)
2040117c: 00812c23 sw s0,24(sp)
20401180: 02010413 addi s0,sp,32
20401184: fea42623 sw a0,-20(s0)
20401188: 100127b7 lui a5,0x10012
2040118c: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c>
20401190: 0007a683 lw a3,0(a5)
20401194: 100127b7 lui a5,0x10012
20401198: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c>
2040119c: fffd0737 lui a4,0xfffd0
204011a0: fff70713 addi a4,a4,-1 # fffcffff <_sp+0x7ffcbfff>
204011a4: 00e6f733 and a4,a3,a4
204011a8: 00e7a023 sw a4,0(a5)
204011ac: 100127b7 lui a5,0x10012
204011b0: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
204011b4: 0007a683 lw a3,0(a5)
204011b8: 100127b7 lui a5,0x10012
204011bc: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
204011c0: 00030737 lui a4,0x30
204011c4: 00e6e733 or a4,a3,a4
204011c8: 00e7a023 sw a4,0(a5)
204011cc: f55ff0ef jal ra,20401120 <get_cpu_freq>
204011d0: 00050793 mv a5,a0
204011d4: fec42583 lw a1,-20(s0)
204011d8: 00078513 mv a0,a5
204011dc: 559000ef jal ra,20401f34 <__udivsi3>
204011e0: 00050793 mv a5,a0
204011e4: 00078713 mv a4,a5
204011e8: 100137b7 lui a5,0x10013
204011ec: 01878793 addi a5,a5,24 # 10013018 <__stack_size+0x10012818>
204011f0: fff70713 addi a4,a4,-1 # 2ffff <__stack_size+0x2f7ff>
204011f4: 00e7a023 sw a4,0(a5)
204011f8: 100137b7 lui a5,0x10013
204011fc: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808>
20401200: 0007a703 lw a4,0(a5)
20401204: 100137b7 lui a5,0x10013
20401208: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808>
2040120c: 00176713 ori a4,a4,1
20401210: 00e7a023 sw a4,0(a5)
20401214: 00000013 nop
20401218: 01c12083 lw ra,28(sp)
2040121c: 01812403 lw s0,24(sp)
20401220: 02010113 addi sp,sp,32
20401224: 00008067 ret
20401228 <handle_trap>:
20401228: fe010113 addi sp,sp,-32
2040122c: 00112e23 sw ra,28(sp)
20401230: 00812c23 sw s0,24(sp)
20401234: 02010413 addi s0,sp,32
20401238: fea42623 sw a0,-20(s0)
2040123c: feb42423 sw a1,-24(s0)
20401240: 00500613 li a2,5
20401244: 204027b7 lui a5,0x20402
20401248: 29478593 addi a1,a5,660 # 20402294 <__clzsi2+0x2b4>
2040124c: 00100513 li a0,1
20401250: 0e4000ef jal ra,20401334 <__wrap_write>
20401254: fec42783 lw a5,-20(s0)
20401258: 00178793 addi a5,a5,1
2040125c: 00078513 mv a0,a5
20401260: 1f0000ef jal ra,20401450 <__wrap__exit>
20401264 <_init>:
20401264: fe010113 addi sp,sp,-32
20401268: 00112e23 sw ra,28(sp)
2040126c: 00812c23 sw s0,24(sp)
20401270: 02010413 addi s0,sp,32
20401274: d61ff0ef jal ra,20400fd4 <use_default_clocks>
20401278: 00100713 li a4,1
2040127c: 01f00693 li a3,31
20401280: 00100613 li a2,1
20401284: 00000593 li a1,0
20401288: 00000513 li a0,0
2040128c: b85ff0ef jal ra,20400e10 <use_pll>
20401290: 0001c7b7 lui a5,0x1c
20401294: 20078513 addi a0,a5,512 # 1c200 <__stack_size+0x1ba00>
20401298: eddff0ef jal ra,20401174 <uart_init>
2040129c: e85ff0ef jal ra,20401120 <get_cpu_freq>
204012a0: 00050793 mv a5,a0
204012a4: 00078593 mv a1,a5
204012a8: 204027b7 lui a5,0x20402
204012ac: 29c78513 addi a0,a5,668 # 2040229c <__clzsi2+0x2bc>
204012b0: f7cff0ef jal ra,20400a2c <__wrap_printf>
204012b4: 204007b7 lui a5,0x20400
204012b8: 09c78793 addi a5,a5,156 # 2040009c <trap_entry>
204012bc: 30579073 csrw mtvec,a5
204012c0: 301027f3 csrr a5,misa
204012c4: fef42623 sw a5,-20(s0)
204012c8: fec42783 lw a5,-20(s0)
204012cc: 0207f793 andi a5,a5,32
204012d0: 00078863 beqz a5,204012e0 <_init+0x7c>
204012d4: 000067b7 lui a5,0x6
204012d8: 30079073 csrw mstatus,a5
204012dc: 00305073 csrwi fcsr,0
204012e0: 00000013 nop
204012e4: 01c12083 lw ra,28(sp)
204012e8: 01812403 lw s0,24(sp)
204012ec: 02010113 addi sp,sp,32
204012f0: 00008067 ret
204012f4 <_fini>:
204012f4: ff010113 addi sp,sp,-16
204012f8: 00812623 sw s0,12(sp)
204012fc: 01010413 addi s0,sp,16
20401300: 00000013 nop
20401304: 00c12403 lw s0,12(sp)
20401308: 01010113 addi sp,sp,16
2040130c: 00008067 ret
20401310 <_stub>:
20401310: fe010113 addi sp,sp,-32
20401314: 00812e23 sw s0,28(sp)
20401318: 02010413 addi s0,sp,32
2040131c: fea42623 sw a0,-20(s0)
20401320: fff00793 li a5,-1
20401324: 00078513 mv a0,a5
20401328: 01c12403 lw s0,28(sp)
2040132c: 02010113 addi sp,sp,32
20401330: 00008067 ret
20401334 <__wrap_write>:
20401334: fd010113 addi sp,sp,-48
20401338: 02112623 sw ra,44(sp)
2040133c: 02812423 sw s0,40(sp)
20401340: 03010413 addi s0,sp,48
20401344: fca42e23 sw a0,-36(s0)
20401348: fcb42c23 sw a1,-40(s0)
2040134c: fcc42a23 sw a2,-44(s0)
20401350: fd842783 lw a5,-40(s0)
20401354: fef42423 sw a5,-24(s0)
20401358: fdc42503 lw a0,-36(s0)
2040135c: 0b0000ef jal ra,2040140c <__wrap_isatty>
20401360: 00050793 mv a5,a0
20401364: 08078463 beqz a5,204013ec <__wrap_write+0xb8>
20401368: fe042623 sw zero,-20(s0)
2040136c: 06c0006f j 204013d8 <__wrap_write+0xa4>
20401370: 00000013 nop
20401374: 100137b7 lui a5,0x10013
20401378: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800>
2040137c: fe07cce3 bltz a5,20401374 <__wrap_write+0x40>
20401380: fe842703 lw a4,-24(s0)
20401384: fec42783 lw a5,-20(s0)
20401388: 00f707b3 add a5,a4,a5
2040138c: 0007c703 lbu a4,0(a5)
20401390: 100137b7 lui a5,0x10013
20401394: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800>
20401398: fe842703 lw a4,-24(s0)
2040139c: fec42783 lw a5,-20(s0)
204013a0: 00f707b3 add a5,a4,a5
204013a4: 0007c703 lbu a4,0(a5)
204013a8: 00a00793 li a5,10
204013ac: 02f71063 bne a4,a5,204013cc <__wrap_write+0x98>
204013b0: 00000013 nop
204013b4: 100137b7 lui a5,0x10013
204013b8: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800>
204013bc: fe07cce3 bltz a5,204013b4 <__wrap_write+0x80>
204013c0: 100137b7 lui a5,0x10013
204013c4: 00d00713 li a4,13
204013c8: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800>
204013cc: fec42783 lw a5,-20(s0)
204013d0: 00178793 addi a5,a5,1
204013d4: fef42623 sw a5,-20(s0)
204013d8: fec42703 lw a4,-20(s0)
204013dc: fd442783 lw a5,-44(s0)
204013e0: f8f768e3 bltu a4,a5,20401370 <__wrap_write+0x3c>
204013e4: fd442783 lw a5,-44(s0)
204013e8: 0100006f j 204013f8 <__wrap_write+0xc4>
204013ec: 00900513 li a0,9
204013f0: f21ff0ef jal ra,20401310 <_stub>
204013f4: 00050793 mv a5,a0
204013f8: 00078513 mv a0,a5
204013fc: 02c12083 lw ra,44(sp)
20401400: 02812403 lw s0,40(sp)
20401404: 03010113 addi sp,sp,48
20401408: 00008067 ret
2040140c <__wrap_isatty>:
2040140c: fe010113 addi sp,sp,-32
20401410: 00812e23 sw s0,28(sp)
20401414: 02010413 addi s0,sp,32
20401418: fea42623 sw a0,-20(s0)
2040141c: fec42703 lw a4,-20(s0)
20401420: 00100793 li a5,1
20401424: 00f70863 beq a4,a5,20401434 <__wrap_isatty+0x28>
20401428: fec42703 lw a4,-20(s0)
2040142c: 00200793 li a5,2
20401430: 00f71663 bne a4,a5,2040143c <__wrap_isatty+0x30>
20401434: 00100793 li a5,1
20401438: 0080006f j 20401440 <__wrap_isatty+0x34>
2040143c: 00000793 li a5,0
20401440: 00078513 mv a0,a5
20401444: 01c12403 lw s0,28(sp)
20401448: 02010113 addi sp,sp,32
2040144c: 00008067 ret
20401450 <__wrap__exit>:
20401450: fc010113 addi sp,sp,-64
20401454: 02112e23 sw ra,60(sp)
20401458: 02812c23 sw s0,56(sp)
2040145c: 04010413 addi s0,sp,64
20401460: fca42623 sw a0,-52(s0)
20401464: 204027b7 lui a5,0x20402
20401468: 2b478793 addi a5,a5,692 # 204022b4 <__clzsi2+0x2d4>
2040146c: 0007a883 lw a7,0(a5)
20401470: 0047a803 lw a6,4(a5)
20401474: 0087a503 lw a0,8(a5)
20401478: 00c7a583 lw a1,12(a5)
2040147c: 0107a603 lw a2,16(a5)
20401480: 0147a683 lw a3,20(a5)
20401484: 0187a703 lw a4,24(a5)
20401488: fd142823 sw a7,-48(s0)
2040148c: fd042a23 sw a6,-44(s0)
20401490: fca42c23 sw a0,-40(s0)
20401494: fcb42e23 sw a1,-36(s0)
20401498: fec42023 sw a2,-32(s0)
2040149c: fed42223 sw a3,-28(s0)
204014a0: fee42423 sw a4,-24(s0)
204014a4: 01c7d783 lhu a5,28(a5)
204014a8: fef41623 sh a5,-20(s0)
204014ac: fd040793 addi a5,s0,-48
204014b0: 01d00613 li a2,29
204014b4: 00078593 mv a1,a5
204014b8: 00200513 li a0,2
204014bc: e79ff0ef jal ra,20401334 <__wrap_write>
204014c0: 00100613 li a2,1
204014c4: 204027b7 lui a5,0x20402
204014c8: 2b078593 addi a1,a5,688 # 204022b0 <__clzsi2+0x2d0>
204014cc: 00200513 li a0,2
204014d0: e65ff0ef jal ra,20401334 <__wrap_write>
204014d4: 0000006f j 204014d4 <__wrap__exit+0x84>
204014d8 <atexit>:
204014d8: 00050593 mv a1,a0
204014dc: 00000693 li a3,0
204014e0: 00000613 li a2,0
204014e4: 00000513 li a0,0
204014e8: 1740006f j 2040165c <__register_exitproc>
204014ec <exit>:
204014ec: ff010113 addi sp,sp,-16
204014f0: 00000593 li a1,0
204014f4: 00812423 sw s0,8(sp)
204014f8: 00112623 sw ra,12(sp)
204014fc: 00050413 mv s0,a0
20401500: 1fc000ef jal ra,204016fc <__call_exitprocs>
20401504: 5fbff797 auipc a5,0x5fbff
20401508: f2478793 addi a5,a5,-220 # 80000428 <_global_impure_ptr>
2040150c: 0007a503 lw a0,0(a5)
20401510: 03c52783 lw a5,60(a0)
20401514: 00078463 beqz a5,2040151c <exit+0x30>
20401518: 000780e7 jalr a5
2040151c: 00040513 mv a0,s0
20401520: f31ff0ef jal ra,20401450 <__wrap__exit>
20401524 <__libc_fini_array>:
20401524: ff010113 addi sp,sp,-16
20401528: 00812423 sw s0,8(sp)
2040152c: 00001797 auipc a5,0x1
20401530: ee878793 addi a5,a5,-280 # 20402414 <__fini_array_end>
20401534: 00001417 auipc s0,0x1
20401538: ee040413 addi s0,s0,-288 # 20402414 <__fini_array_end>
2040153c: 40f40433 sub s0,s0,a5
20401540: 00112623 sw ra,12(sp)
20401544: 00912223 sw s1,4(sp)
20401548: 40245413 srai s0,s0,0x2
2040154c: 02040263 beqz s0,20401570 <__libc_fini_array+0x4c>
20401550: 00241493 slli s1,s0,0x2
20401554: ffc48493 addi s1,s1,-4
20401558: 00f484b3 add s1,s1,a5
2040155c: 0004a783 lw a5,0(s1)
20401560: fff40413 addi s0,s0,-1
20401564: ffc48493 addi s1,s1,-4
20401568: 000780e7 jalr a5
2040156c: fe0418e3 bnez s0,2040155c <__libc_fini_array+0x38>
20401570: 00c12083 lw ra,12(sp)
20401574: 00812403 lw s0,8(sp)
20401578: 00412483 lw s1,4(sp)
2040157c: 01010113 addi sp,sp,16
20401580: 00008067 ret
20401584 <__libc_init_array>:
20401584: ff010113 addi sp,sp,-16
20401588: 00812423 sw s0,8(sp)
2040158c: 01212023 sw s2,0(sp)
20401590: 00001417 auipc s0,0x1
20401594: e8040413 addi s0,s0,-384 # 20402410 <__init_array_start>
20401598: 00001917 auipc s2,0x1
2040159c: e7890913 addi s2,s2,-392 # 20402410 <__init_array_start>
204015a0: 40890933 sub s2,s2,s0
204015a4: 00112623 sw ra,12(sp)
204015a8: 00912223 sw s1,4(sp)
204015ac: 40295913 srai s2,s2,0x2
204015b0: 00090e63 beqz s2,204015cc <__libc_init_array+0x48>
204015b4: 00000493 li s1,0
204015b8: 00042783 lw a5,0(s0)
204015bc: 00148493 addi s1,s1,1
204015c0: 00440413 addi s0,s0,4
204015c4: 000780e7 jalr a5
204015c8: fe9918e3 bne s2,s1,204015b8 <__libc_init_array+0x34>
204015cc: 00001417 auipc s0,0x1
204015d0: e4440413 addi s0,s0,-444 # 20402410 <__init_array_start>
204015d4: 00001917 auipc s2,0x1
204015d8: e4090913 addi s2,s2,-448 # 20402414 <__fini_array_end>
204015dc: 40890933 sub s2,s2,s0
204015e0: 40295913 srai s2,s2,0x2
204015e4: 00090e63 beqz s2,20401600 <__libc_init_array+0x7c>
204015e8: 00000493 li s1,0
204015ec: 00042783 lw a5,0(s0)
204015f0: 00148493 addi s1,s1,1
204015f4: 00440413 addi s0,s0,4
204015f8: 000780e7 jalr a5
204015fc: fe9918e3 bne s2,s1,204015ec <__libc_init_array+0x68>
20401600: 00c12083 lw ra,12(sp)
20401604: 00812403 lw s0,8(sp)
20401608: 00412483 lw s1,4(sp)
2040160c: 00012903 lw s2,0(sp)
20401610: 01010113 addi sp,sp,16
20401614: 00008067 ret
20401618 <strnlen>:
20401618: 02058463 beqz a1,20401640 <strnlen+0x28>
2040161c: 00054783 lbu a5,0(a0)
20401620: 02078a63 beqz a5,20401654 <strnlen+0x3c>
20401624: 00b506b3 add a3,a0,a1
20401628: 00050793 mv a5,a0
2040162c: 00c0006f j 20401638 <strnlen+0x20>
20401630: 0007c703 lbu a4,0(a5)
20401634: 00070a63 beqz a4,20401648 <strnlen+0x30>
20401638: 00178793 addi a5,a5,1
2040163c: fed79ae3 bne a5,a3,20401630 <strnlen+0x18>
20401640: 00058513 mv a0,a1
20401644: 00008067 ret
20401648: 40a785b3 sub a1,a5,a0
2040164c: 00058513 mv a0,a1
20401650: 00008067 ret
20401654: 00000593 li a1,0
20401658: fe9ff06f j 20401640 <strnlen+0x28>
2040165c <__register_exitproc>:
2040165c: 5fbff797 auipc a5,0x5fbff
20401660: dcc78793 addi a5,a5,-564 # 80000428 <_global_impure_ptr>
20401664: 0007a703 lw a4,0(a5)
20401668: 14872783 lw a5,328(a4)
2040166c: 04078c63 beqz a5,204016c4 <__register_exitproc+0x68>
20401670: 0047a703 lw a4,4(a5)
20401674: 01f00813 li a6,31
20401678: 06e84e63 blt a6,a4,204016f4 <__register_exitproc+0x98>
2040167c: 00271813 slli a6,a4,0x2
20401680: 02050663 beqz a0,204016ac <__register_exitproc+0x50>
20401684: 01078333 add t1,a5,a6
20401688: 08c32423 sw a2,136(t1)
2040168c: 1887a883 lw a7,392(a5)
20401690: 00100613 li a2,1
20401694: 00e61633 sll a2,a2,a4
20401698: 00c8e8b3 or a7,a7,a2
2040169c: 1917a423 sw a7,392(a5)
204016a0: 10d32423 sw a3,264(t1)
204016a4: 00200693 li a3,2
204016a8: 02d50463 beq a0,a3,204016d0 <__register_exitproc+0x74>
204016ac: 00170713 addi a4,a4,1
204016b0: 00e7a223 sw a4,4(a5)
204016b4: 010787b3 add a5,a5,a6
204016b8: 00b7a423 sw a1,8(a5)
204016bc: 00000513 li a0,0
204016c0: 00008067 ret
204016c4: 14c70793 addi a5,a4,332
204016c8: 14f72423 sw a5,328(a4)
204016cc: fa5ff06f j 20401670 <__register_exitproc+0x14>
204016d0: 18c7a683 lw a3,396(a5)
204016d4: 00170713 addi a4,a4,1
204016d8: 00e7a223 sw a4,4(a5)
204016dc: 00c6e633 or a2,a3,a2
204016e0: 18c7a623 sw a2,396(a5)
204016e4: 010787b3 add a5,a5,a6
204016e8: 00b7a423 sw a1,8(a5)
204016ec: 00000513 li a0,0
204016f0: 00008067 ret
204016f4: fff00513 li a0,-1
204016f8: 00008067 ret
204016fc <__call_exitprocs>:
204016fc: fd010113 addi sp,sp,-48
20401700: 5fbff797 auipc a5,0x5fbff
20401704: d2878793 addi a5,a5,-728 # 80000428 <_global_impure_ptr>
20401708: 01812423 sw s8,8(sp)
2040170c: 0007ac03 lw s8,0(a5)
20401710: 01312e23 sw s3,28(sp)
20401714: 01412c23 sw s4,24(sp)
20401718: 01512a23 sw s5,20(sp)
2040171c: 01612823 sw s6,16(sp)
20401720: 02112623 sw ra,44(sp)
20401724: 02812423 sw s0,40(sp)
20401728: 02912223 sw s1,36(sp)
2040172c: 03212023 sw s2,32(sp)
20401730: 01712623 sw s7,12(sp)
20401734: 00050a93 mv s5,a0
20401738: 00058b13 mv s6,a1
2040173c: 00100a13 li s4,1
20401740: fff00993 li s3,-1
20401744: 148c2903 lw s2,328(s8)
20401748: 02090863 beqz s2,20401778 <__call_exitprocs+0x7c>
2040174c: 00492483 lw s1,4(s2)
20401750: fff48413 addi s0,s1,-1
20401754: 02044263 bltz s0,20401778 <__call_exitprocs+0x7c>
20401758: 00249493 slli s1,s1,0x2
2040175c: 009904b3 add s1,s2,s1
20401760: 040b0463 beqz s6,204017a8 <__call_exitprocs+0xac>
20401764: 1044a783 lw a5,260(s1)
20401768: 05678063 beq a5,s6,204017a8 <__call_exitprocs+0xac>
2040176c: fff40413 addi s0,s0,-1
20401770: ffc48493 addi s1,s1,-4
20401774: ff3416e3 bne s0,s3,20401760 <__call_exitprocs+0x64>
20401778: 02c12083 lw ra,44(sp)
2040177c: 02812403 lw s0,40(sp)
20401780: 02412483 lw s1,36(sp)
20401784: 02012903 lw s2,32(sp)
20401788: 01c12983 lw s3,28(sp)
2040178c: 01812a03 lw s4,24(sp)
20401790: 01412a83 lw s5,20(sp)
20401794: 01012b03 lw s6,16(sp)
20401798: 00c12b83 lw s7,12(sp)
2040179c: 00812c03 lw s8,8(sp)
204017a0: 03010113 addi sp,sp,48
204017a4: 00008067 ret
204017a8: 00492783 lw a5,4(s2)
204017ac: 0044a683 lw a3,4(s1)
204017b0: fff78793 addi a5,a5,-1
204017b4: 04878a63 beq a5,s0,20401808 <__call_exitprocs+0x10c>
204017b8: 0004a223 sw zero,4(s1)
204017bc: fa0688e3 beqz a3,2040176c <__call_exitprocs+0x70>
204017c0: 18892783 lw a5,392(s2)
204017c4: 008a1733 sll a4,s4,s0
204017c8: 00492b83 lw s7,4(s2)
204017cc: 00f777b3 and a5,a4,a5
204017d0: 00079e63 bnez a5,204017ec <__call_exitprocs+0xf0>
204017d4: 000680e7 jalr a3
204017d8: 00492783 lw a5,4(s2)
204017dc: f77794e3 bne a5,s7,20401744 <__call_exitprocs+0x48>
204017e0: 148c2783 lw a5,328(s8)
204017e4: f92784e3 beq a5,s2,2040176c <__call_exitprocs+0x70>
204017e8: f5dff06f j 20401744 <__call_exitprocs+0x48>
204017ec: 18c92783 lw a5,396(s2)
204017f0: 0844a583 lw a1,132(s1)
204017f4: 00f77733 and a4,a4,a5
204017f8: 00071c63 bnez a4,20401810 <__call_exitprocs+0x114>
204017fc: 000a8513 mv a0,s5
20401800: 000680e7 jalr a3
20401804: fd5ff06f j 204017d8 <__call_exitprocs+0xdc>
20401808: 00892223 sw s0,4(s2)
2040180c: fb1ff06f j 204017bc <__call_exitprocs+0xc0>
20401810: 00058513 mv a0,a1
20401814: 000680e7 jalr a3
20401818: fc1ff06f j 204017d8 <__call_exitprocs+0xdc>
2040181c <__muldf3>:
2040181c: fd010113 addi sp,sp,-48
20401820: 01312e23 sw s3,28(sp)
20401824: 0145d993 srli s3,a1,0x14
20401828: 02812423 sw s0,40(sp)
2040182c: 02912223 sw s1,36(sp)
20401830: 01412c23 sw s4,24(sp)
20401834: 01512a23 sw s5,20(sp)
20401838: 01612823 sw s6,16(sp)
2040183c: 00c59493 slli s1,a1,0xc
20401840: 02112623 sw ra,44(sp)
20401844: 03212023 sw s2,32(sp)
20401848: 01712623 sw s7,12(sp)
2040184c: 7ff9f993 andi s3,s3,2047
20401850: 00050413 mv s0,a0
20401854: 00060b13 mv s6,a2
20401858: 00068a93 mv s5,a3
2040185c: 00c4d493 srli s1,s1,0xc
20401860: 01f5da13 srli s4,a1,0x1f
20401864: 0a098463 beqz s3,2040190c <__muldf3+0xf0>
20401868: 7ff00793 li a5,2047
2040186c: 10f98263 beq s3,a5,20401970 <__muldf3+0x154>
20401870: 01d55793 srli a5,a0,0x1d
20401874: 00349493 slli s1,s1,0x3
20401878: 0097e4b3 or s1,a5,s1
2040187c: 008007b7 lui a5,0x800
20401880: 00f4e4b3 or s1,s1,a5
20401884: 00351913 slli s2,a0,0x3
20401888: c0198993 addi s3,s3,-1023
2040188c: 00000b93 li s7,0
20401890: 014ad513 srli a0,s5,0x14
20401894: 00ca9413 slli s0,s5,0xc
20401898: 7ff57513 andi a0,a0,2047
2040189c: 00c45413 srli s0,s0,0xc
204018a0: 01fada93 srli s5,s5,0x1f
204018a4: 10050263 beqz a0,204019a8 <__muldf3+0x18c>
204018a8: 7ff00793 li a5,2047
204018ac: 16f50263 beq a0,a5,20401a10 <__muldf3+0x1f4>
204018b0: 01db5793 srli a5,s6,0x1d
204018b4: 00341413 slli s0,s0,0x3
204018b8: 0087e433 or s0,a5,s0
204018bc: 008007b7 lui a5,0x800
204018c0: 00f46433 or s0,s0,a5
204018c4: c0150513 addi a0,a0,-1023
204018c8: 003b1793 slli a5,s6,0x3
204018cc: 00000713 li a4,0
204018d0: 002b9693 slli a3,s7,0x2
204018d4: 00e6e6b3 or a3,a3,a4
204018d8: 00a989b3 add s3,s3,a0
204018dc: fff68693 addi a3,a3,-1
204018e0: 00e00613 li a2,14
204018e4: 015a4833 xor a6,s4,s5
204018e8: 00198893 addi a7,s3,1
204018ec: 14d66e63 bltu a2,a3,20401a48 <__muldf3+0x22c>
204018f0: 00001617 auipc a2,0x1
204018f4: 9e460613 addi a2,a2,-1564 # 204022d4 <__clzsi2+0x2f4>
204018f8: 00269693 slli a3,a3,0x2
204018fc: 00c686b3 add a3,a3,a2
20401900: 0006a683 lw a3,0(a3)
20401904: 00c686b3 add a3,a3,a2
20401908: 00068067 jr a3
2040190c: 00a4e933 or s2,s1,a0
20401910: 06090c63 beqz s2,20401988 <__muldf3+0x16c>
20401914: 04048063 beqz s1,20401954 <__muldf3+0x138>
20401918: 00048513 mv a0,s1
2040191c: 6c4000ef jal ra,20401fe0 <__clzsi2>
20401920: ff550713 addi a4,a0,-11
20401924: 01c00793 li a5,28
20401928: 02e7cc63 blt a5,a4,20401960 <__muldf3+0x144>
2040192c: 01d00793 li a5,29
20401930: ff850913 addi s2,a0,-8
20401934: 40e787b3 sub a5,a5,a4
20401938: 012494b3 sll s1,s1,s2
2040193c: 00f457b3 srl a5,s0,a5
20401940: 0097e4b3 or s1,a5,s1
20401944: 01241933 sll s2,s0,s2
20401948: c0d00993 li s3,-1011
2040194c: 40a989b3 sub s3,s3,a0
20401950: f3dff06f j 2040188c <__muldf3+0x70>
20401954: 68c000ef jal ra,20401fe0 <__clzsi2>
20401958: 02050513 addi a0,a0,32
2040195c: fc5ff06f j 20401920 <__muldf3+0x104>
20401960: fd850493 addi s1,a0,-40
20401964: 009414b3 sll s1,s0,s1
20401968: 00000913 li s2,0
2040196c: fddff06f j 20401948 <__muldf3+0x12c>
20401970: 00a4e933 or s2,s1,a0
20401974: 02090263 beqz s2,20401998 <__muldf3+0x17c>
20401978: 00050913 mv s2,a0
2040197c: 7ff00993 li s3,2047
20401980: 00300b93 li s7,3
20401984: f0dff06f j 20401890 <__muldf3+0x74>
20401988: 00000493 li s1,0
2040198c: 00000993 li s3,0
20401990: 00100b93 li s7,1
20401994: efdff06f j 20401890 <__muldf3+0x74>
20401998: 00000493 li s1,0
2040199c: 7ff00993 li s3,2047
204019a0: 00200b93 li s7,2
204019a4: eedff06f j 20401890 <__muldf3+0x74>
204019a8: 016467b3 or a5,s0,s6
204019ac: 06078e63 beqz a5,20401a28 <__muldf3+0x20c>
204019b0: 04040063 beqz s0,204019f0 <__muldf3+0x1d4>
204019b4: 00040513 mv a0,s0
204019b8: 628000ef jal ra,20401fe0 <__clzsi2>
204019bc: ff550693 addi a3,a0,-11
204019c0: 01c00793 li a5,28
204019c4: 02d7ce63 blt a5,a3,20401a00 <__muldf3+0x1e4>
204019c8: 01d00713 li a4,29
204019cc: ff850793 addi a5,a0,-8
204019d0: 40d70733 sub a4,a4,a3
204019d4: 00f41433 sll s0,s0,a5
204019d8: 00eb5733 srl a4,s6,a4
204019dc: 00876433 or s0,a4,s0
204019e0: 00fb17b3 sll a5,s6,a5
204019e4: c0d00713 li a4,-1011
204019e8: 40a70533 sub a0,a4,a0
204019ec: ee1ff06f j 204018cc <__muldf3+0xb0>
204019f0: 000b0513 mv a0,s6
204019f4: 5ec000ef jal ra,20401fe0 <__clzsi2>
204019f8: 02050513 addi a0,a0,32
204019fc: fc1ff06f j 204019bc <__muldf3+0x1a0>
20401a00: fd850413 addi s0,a0,-40
20401a04: 008b1433 sll s0,s6,s0
20401a08: 00000793 li a5,0
20401a0c: fd9ff06f j 204019e4 <__muldf3+0x1c8>
20401a10: 016467b3 or a5,s0,s6
20401a14: 02078263 beqz a5,20401a38 <__muldf3+0x21c>
20401a18: 000b0793 mv a5,s6
20401a1c: 7ff00513 li a0,2047
20401a20: 00300713 li a4,3
20401a24: eadff06f j 204018d0 <__muldf3+0xb4>
20401a28: 00000413 li s0,0
20401a2c: 00000513 li a0,0
20401a30: 00100713 li a4,1
20401a34: e9dff06f j 204018d0 <__muldf3+0xb4>
20401a38: 00000413 li s0,0
20401a3c: 7ff00513 li a0,2047
20401a40: 00200713 li a4,2
20401a44: e8dff06f j 204018d0 <__muldf3+0xb4>
20401a48: 000102b7 lui t0,0x10
20401a4c: fff28313 addi t1,t0,-1 # ffff <__stack_size+0xf7ff>
20401a50: 01095f13 srli t5,s2,0x10
20401a54: 0107df93 srli t6,a5,0x10
20401a58: 00697933 and s2,s2,t1
20401a5c: 0067f7b3 and a5,a5,t1
20401a60: 00090513 mv a0,s2
20401a64: 00078593 mv a1,a5
20401a68: 4a0000ef jal ra,20401f08 <__mulsi3>
20401a6c: 00050e93 mv t4,a0
20401a70: 000f8593 mv a1,t6
20401a74: 00090513 mv a0,s2
20401a78: 490000ef jal ra,20401f08 <__mulsi3>
20401a7c: 00050e13 mv t3,a0
20401a80: 00078593 mv a1,a5
20401a84: 000f0513 mv a0,t5
20401a88: 480000ef jal ra,20401f08 <__mulsi3>
20401a8c: 00050a13 mv s4,a0
20401a90: 000f8593 mv a1,t6
20401a94: 000f0513 mv a0,t5
20401a98: 470000ef jal ra,20401f08 <__mulsi3>
20401a9c: 010ed713 srli a4,t4,0x10
20401aa0: 014e0e33 add t3,t3,s4
20401aa4: 01c70733 add a4,a4,t3
20401aa8: 00050393 mv t2,a0
20401aac: 01477463 bgeu a4,s4,20401ab4 <__muldf3+0x298>
20401ab0: 005503b3 add t2,a0,t0
20401ab4: 00677e33 and t3,a4,t1
20401ab8: 006efeb3 and t4,t4,t1
20401abc: 01045a13 srli s4,s0,0x10
20401ac0: 010e1e13 slli t3,t3,0x10
20401ac4: 00647433 and s0,s0,t1
20401ac8: 01075293 srli t0,a4,0x10
20401acc: 01de0e33 add t3,t3,t4
20401ad0: 00090513 mv a0,s2
20401ad4: 00040593 mv a1,s0
20401ad8: 430000ef jal ra,20401f08 <__mulsi3>
20401adc: 00050e93 mv t4,a0
20401ae0: 000a0593 mv a1,s4
20401ae4: 00090513 mv a0,s2
20401ae8: 420000ef jal ra,20401f08 <__mulsi3>
20401aec: 00050713 mv a4,a0
20401af0: 00040593 mv a1,s0
20401af4: 000f0513 mv a0,t5
20401af8: 410000ef jal ra,20401f08 <__mulsi3>
20401afc: 00050313 mv t1,a0
20401b00: 000a0593 mv a1,s4
20401b04: 000f0513 mv a0,t5
20401b08: 400000ef jal ra,20401f08 <__mulsi3>
20401b0c: 010ed693 srli a3,t4,0x10
20401b10: 00670733 add a4,a4,t1
20401b14: 00e686b3 add a3,a3,a4
20401b18: 0066f663 bgeu a3,t1,20401b24 <__muldf3+0x308>
20401b1c: 00010737 lui a4,0x10
20401b20: 00e50533 add a0,a0,a4
20401b24: 00010ab7 lui s5,0x10
20401b28: fffa8613 addi a2,s5,-1 # ffff <__stack_size+0xf7ff>
20401b2c: 0106d713 srli a4,a3,0x10
20401b30: 00c6f6b3 and a3,a3,a2
20401b34: 01069693 slli a3,a3,0x10
20401b38: 00cefeb3 and t4,t4,a2
20401b3c: 00a70f33 add t5,a4,a0
20401b40: 01d68eb3 add t4,a3,t4
20401b44: 0104d713 srli a4,s1,0x10
20401b48: 00c4f4b3 and s1,s1,a2
20401b4c: 01d282b3 add t0,t0,t4
20401b50: 00048513 mv a0,s1
20401b54: 00078593 mv a1,a5
20401b58: 3b0000ef jal ra,20401f08 <__mulsi3>
20401b5c: 00050913 mv s2,a0
20401b60: 000f8593 mv a1,t6
20401b64: 00048513 mv a0,s1
20401b68: 3a0000ef jal ra,20401f08 <__mulsi3>
20401b6c: 00050313 mv t1,a0
20401b70: 00078593 mv a1,a5
20401b74: 00070513 mv a0,a4
20401b78: 390000ef jal ra,20401f08 <__mulsi3>
20401b7c: 00050b13 mv s6,a0
20401b80: 000f8593 mv a1,t6
20401b84: 00070513 mv a0,a4
20401b88: 380000ef jal ra,20401f08 <__mulsi3>
20401b8c: 01095793 srli a5,s2,0x10
20401b90: 01630333 add t1,t1,s6
20401b94: 006787b3 add a5,a5,t1
20401b98: 0167f463 bgeu a5,s6,20401ba0 <__muldf3+0x384>
20401b9c: 01550533 add a0,a0,s5
20401ba0: 00010ab7 lui s5,0x10
20401ba4: fffa8693 addi a3,s5,-1 # ffff <__stack_size+0xf7ff>
20401ba8: 00d7f333 and t1,a5,a3
20401bac: 0107d613 srli a2,a5,0x10
20401bb0: 00d97933 and s2,s2,a3
20401bb4: 01031313 slli t1,t1,0x10
20401bb8: 00a60fb3 add t6,a2,a0
20401bbc: 01230333 add t1,t1,s2
20401bc0: 00048513 mv a0,s1
20401bc4: 00040593 mv a1,s0
20401bc8: 340000ef jal ra,20401f08 <__mulsi3>
20401bcc: 00050793 mv a5,a0
20401bd0: 000a0593 mv a1,s4
20401bd4: 00048513 mv a0,s1
20401bd8: 330000ef jal ra,20401f08 <__mulsi3>
20401bdc: 00050493 mv s1,a0
20401be0: 00040593 mv a1,s0
20401be4: 00070513 mv a0,a4
20401be8: 320000ef jal ra,20401f08 <__mulsi3>
20401bec: 00050913 mv s2,a0
20401bf0: 000a0593 mv a1,s4
20401bf4: 00070513 mv a0,a4
20401bf8: 310000ef jal ra,20401f08 <__mulsi3>
20401bfc: 0107d693 srli a3,a5,0x10
20401c00: 012484b3 add s1,s1,s2
20401c04: 009686b3 add a3,a3,s1
20401c08: 0126f463 bgeu a3,s2,20401c10 <__muldf3+0x3f4>
20401c0c: 01550533 add a0,a0,s5
20401c10: 00010637 lui a2,0x10
20401c14: fff60613 addi a2,a2,-1 # ffff <__stack_size+0xf7ff>
20401c18: 00c6f733 and a4,a3,a2
20401c1c: 00c7f7b3 and a5,a5,a2
20401c20: 01071713 slli a4,a4,0x10
20401c24: 007282b3 add t0,t0,t2
20401c28: 00f70733 add a4,a4,a5
20401c2c: 01d2beb3 sltu t4,t0,t4
20401c30: 01e70733 add a4,a4,t5
20401c34: 01d70433 add s0,a4,t4
20401c38: 006282b3 add t0,t0,t1
20401c3c: 01f40633 add a2,s0,t6
20401c40: 0062b333 sltu t1,t0,t1
20401c44: 006605b3 add a1,a2,t1
20401c48: 01e73733 sltu a4,a4,t5
20401c4c: 01d43433 sltu s0,s0,t4
20401c50: 00876433 or s0,a4,s0
20401c54: 0106d693 srli a3,a3,0x10
20401c58: 01f63633 sltu a2,a2,t6
20401c5c: 0065b333 sltu t1,a1,t1
20401c60: 00d40433 add s0,s0,a3
20401c64: 00666333 or t1,a2,t1
20401c68: 00640433 add s0,s0,t1
20401c6c: 00929793 slli a5,t0,0x9
20401c70: 00a40433 add s0,s0,a0
20401c74: 01c7e7b3 or a5,a5,t3
20401c78: 00941413 slli s0,s0,0x9
20401c7c: 0175d513 srli a0,a1,0x17
20401c80: 00f037b3 snez a5,a5
20401c84: 0172de13 srli t3,t0,0x17
20401c88: 00959713 slli a4,a1,0x9
20401c8c: 00a46433 or s0,s0,a0
20401c90: 01c7e7b3 or a5,a5,t3
20401c94: 00e7e7b3 or a5,a5,a4
20401c98: 00741713 slli a4,s0,0x7
20401c9c: 10075263 bgez a4,20401da0 <__muldf3+0x584>
20401ca0: 0017d713 srli a4,a5,0x1
20401ca4: 0017f793 andi a5,a5,1
20401ca8: 00f767b3 or a5,a4,a5
20401cac: 01f41713 slli a4,s0,0x1f
20401cb0: 00e7e7b3 or a5,a5,a4
20401cb4: 00145413 srli s0,s0,0x1
20401cb8: 3ff88693 addi a3,a7,1023
20401cbc: 0ed05663 blez a3,20401da8 <__muldf3+0x58c>
20401cc0: 0077f713 andi a4,a5,7
20401cc4: 02070063 beqz a4,20401ce4 <__muldf3+0x4c8>
20401cc8: 00f7f713 andi a4,a5,15
20401ccc: 00400613 li a2,4
20401cd0: 00c70a63 beq a4,a2,20401ce4 <__muldf3+0x4c8>
20401cd4: 00478713 addi a4,a5,4 # 800004 <__stack_size+0x7ff804>
20401cd8: 00f737b3 sltu a5,a4,a5
20401cdc: 00f40433 add s0,s0,a5
20401ce0: 00070793 mv a5,a4
20401ce4: 00741713 slli a4,s0,0x7
20401ce8: 00075a63 bgez a4,20401cfc <__muldf3+0x4e0>
20401cec: ff000737 lui a4,0xff000
20401cf0: fff70713 addi a4,a4,-1 # feffffff <_sp+0x7effbfff>
20401cf4: 00e47433 and s0,s0,a4
20401cf8: 40088693 addi a3,a7,1024
20401cfc: 7fe00713 li a4,2046
20401d00: 16d74663 blt a4,a3,20401e6c <__muldf3+0x650>
20401d04: 0037d713 srli a4,a5,0x3
20401d08: 01d41793 slli a5,s0,0x1d
20401d0c: 00e7e7b3 or a5,a5,a4
20401d10: 00345413 srli s0,s0,0x3
20401d14: 00c41413 slli s0,s0,0xc
20401d18: 7ff6f713 andi a4,a3,2047
20401d1c: 01471713 slli a4,a4,0x14
20401d20: 00c45413 srli s0,s0,0xc
20401d24: 00e46433 or s0,s0,a4
20401d28: 01f81813 slli a6,a6,0x1f
20401d2c: 01046733 or a4,s0,a6
20401d30: 02c12083 lw ra,44(sp)
20401d34: 02812403 lw s0,40(sp)
20401d38: 02412483 lw s1,36(sp)
20401d3c: 02012903 lw s2,32(sp)
20401d40: 01c12983 lw s3,28(sp)
20401d44: 01812a03 lw s4,24(sp)
20401d48: 01412a83 lw s5,20(sp)
20401d4c: 01012b03 lw s6,16(sp)
20401d50: 00c12b83 lw s7,12(sp)
20401d54: 00078513 mv a0,a5
20401d58: 00070593 mv a1,a4
20401d5c: 03010113 addi sp,sp,48
20401d60: 00008067 ret
20401d64: 000a0813 mv a6,s4
20401d68: 00048413 mv s0,s1
20401d6c: 00090793 mv a5,s2
20401d70: 000b8713 mv a4,s7
20401d74: 00200693 li a3,2
20401d78: 0ed70a63 beq a4,a3,20401e6c <__muldf3+0x650>
20401d7c: 00300693 li a3,3
20401d80: 0cd70c63 beq a4,a3,20401e58 <__muldf3+0x63c>
20401d84: 00100693 li a3,1
20401d88: f2d718e3 bne a4,a3,20401cb8 <__muldf3+0x49c>
20401d8c: 00000413 li s0,0
20401d90: 00000793 li a5,0
20401d94: 0880006f j 20401e1c <__muldf3+0x600>
20401d98: 000a8813 mv a6,s5
20401d9c: fd9ff06f j 20401d74 <__muldf3+0x558>
20401da0: 00098893 mv a7,s3
20401da4: f15ff06f j 20401cb8 <__muldf3+0x49c>
20401da8: 00100613 li a2,1
20401dac: 40d60633 sub a2,a2,a3
20401db0: 03800713 li a4,56
20401db4: fcc74ce3 blt a4,a2,20401d8c <__muldf3+0x570>
20401db8: 01f00713 li a4,31
20401dbc: 06c74463 blt a4,a2,20401e24 <__muldf3+0x608>
20401dc0: 41e88893 addi a7,a7,1054
20401dc4: 01141733 sll a4,s0,a7
20401dc8: 00c7d6b3 srl a3,a5,a2
20401dcc: 011797b3 sll a5,a5,a7
20401dd0: 00d76733 or a4,a4,a3
20401dd4: 00f037b3 snez a5,a5
20401dd8: 00f767b3 or a5,a4,a5
20401ddc: 00c45433 srl s0,s0,a2
20401de0: 0077f713 andi a4,a5,7
20401de4: 02070063 beqz a4,20401e04 <__muldf3+0x5e8>
20401de8: 00f7f713 andi a4,a5,15
20401dec: 00400693 li a3,4
20401df0: 00d70a63 beq a4,a3,20401e04 <__muldf3+0x5e8>
20401df4: 00478713 addi a4,a5,4
20401df8: 00f737b3 sltu a5,a4,a5
20401dfc: 00f40433 add s0,s0,a5
20401e00: 00070793 mv a5,a4
20401e04: 00841713 slli a4,s0,0x8
20401e08: 06074a63 bltz a4,20401e7c <__muldf3+0x660>
20401e0c: 01d41713 slli a4,s0,0x1d
20401e10: 0037d793 srli a5,a5,0x3
20401e14: 00f767b3 or a5,a4,a5
20401e18: 00345413 srli s0,s0,0x3
20401e1c: 00000693 li a3,0
20401e20: ef5ff06f j 20401d14 <__muldf3+0x4f8>
20401e24: fe100713 li a4,-31
20401e28: 40d70733 sub a4,a4,a3
20401e2c: 02000593 li a1,32
20401e30: 00e45733 srl a4,s0,a4
20401e34: 00000693 li a3,0
20401e38: 00b60663 beq a2,a1,20401e44 <__muldf3+0x628>
20401e3c: 43e88893 addi a7,a7,1086
20401e40: 011416b3 sll a3,s0,a7
20401e44: 00f6e7b3 or a5,a3,a5
20401e48: 00f037b3 snez a5,a5
20401e4c: 00f767b3 or a5,a4,a5
20401e50: 00000413 li s0,0
20401e54: f8dff06f j 20401de0 <__muldf3+0x5c4>
20401e58: 00080437 lui s0,0x80
20401e5c: 00000793 li a5,0
20401e60: 7ff00693 li a3,2047
20401e64: 00000813 li a6,0
20401e68: eadff06f j 20401d14 <__muldf3+0x4f8>
20401e6c: 00000413 li s0,0
20401e70: 00000793 li a5,0
20401e74: 7ff00693 li a3,2047
20401e78: e9dff06f j 20401d14 <__muldf3+0x4f8>
20401e7c: 00000413 li s0,0
20401e80: 00000793 li a5,0
20401e84: 00100693 li a3,1
20401e88: e8dff06f j 20401d14 <__muldf3+0x4f8>
20401e8c <__fixunsdfsi>:
20401e8c: 0145d713 srli a4,a1,0x14
20401e90: 001006b7 lui a3,0x100
20401e94: 00050613 mv a2,a0
20401e98: fff68793 addi a5,a3,-1 # fffff <__stack_size+0xff7ff>
20401e9c: 7ff77713 andi a4,a4,2047
20401ea0: 3fe00513 li a0,1022
20401ea4: 00b7f7b3 and a5,a5,a1
20401ea8: 01f5d593 srli a1,a1,0x1f
20401eac: 04e55a63 bge a0,a4,20401f00 <__fixunsdfsi+0x74>
20401eb0: 00000513 li a0,0
20401eb4: 00059863 bnez a1,20401ec4 <__fixunsdfsi+0x38>
20401eb8: 41e00593 li a1,1054
20401ebc: fff00513 li a0,-1
20401ec0: 00e5d463 bge a1,a4,20401ec8 <__fixunsdfsi+0x3c>
20401ec4: 00008067 ret
20401ec8: 00d7e7b3 or a5,a5,a3
20401ecc: 43300693 li a3,1075
20401ed0: 40e686b3 sub a3,a3,a4
20401ed4: 01f00593 li a1,31
20401ed8: 00d5cc63 blt a1,a3,20401ef0 <__fixunsdfsi+0x64>
20401edc: bed70713 addi a4,a4,-1043
20401ee0: 00e797b3 sll a5,a5,a4
20401ee4: 00d65533 srl a0,a2,a3
20401ee8: 00a7e533 or a0,a5,a0
20401eec: 00008067 ret
20401ef0: 41300513 li a0,1043
20401ef4: 40e50533 sub a0,a0,a4
20401ef8: 00a7d533 srl a0,a5,a0
20401efc: 00008067 ret
20401f00: 00000513 li a0,0
20401f04: 00008067 ret
20401f08 <__mulsi3>:
20401f08: 00050613 mv a2,a0
20401f0c: 00000513 li a0,0
20401f10: 0015f693 andi a3,a1,1
20401f14: 00068463 beqz a3,20401f1c <__mulsi3+0x14>
20401f18: 00c50533 add a0,a0,a2
20401f1c: 0015d593 srli a1,a1,0x1
20401f20: 00161613 slli a2,a2,0x1
20401f24: fe0596e3 bnez a1,20401f10 <__mulsi3+0x8>
20401f28: 00008067 ret
20401f2c <__divsi3>:
20401f2c: 06054063 bltz a0,20401f8c <__umodsi3+0x10>
20401f30: 0605c663 bltz a1,20401f9c <__umodsi3+0x20>
20401f34 <__udivsi3>:
20401f34: 00058613 mv a2,a1
20401f38: 00050593 mv a1,a0
20401f3c: fff00513 li a0,-1
20401f40: 02060c63 beqz a2,20401f78 <__udivsi3+0x44>
20401f44: 00100693 li a3,1
20401f48: 00b67a63 bgeu a2,a1,20401f5c <__udivsi3+0x28>
20401f4c: 00c05863 blez a2,20401f5c <__udivsi3+0x28>
20401f50: 00161613 slli a2,a2,0x1
20401f54: 00169693 slli a3,a3,0x1
20401f58: feb66ae3 bltu a2,a1,20401f4c <__udivsi3+0x18>
20401f5c: 00000513 li a0,0
20401f60: 00c5e663 bltu a1,a2,20401f6c <__udivsi3+0x38>
20401f64: 40c585b3 sub a1,a1,a2
20401f68: 00d56533 or a0,a0,a3
20401f6c: 0016d693 srli a3,a3,0x1
20401f70: 00165613 srli a2,a2,0x1
20401f74: fe0696e3 bnez a3,20401f60 <__udivsi3+0x2c>
20401f78: 00008067 ret
20401f7c <__umodsi3>:
20401f7c: 00008293 mv t0,ra
20401f80: fb5ff0ef jal ra,20401f34 <__udivsi3>
20401f84: 00058513 mv a0,a1
20401f88: 00028067 jr t0
20401f8c: 40a00533 neg a0,a0
20401f90: 0005d863 bgez a1,20401fa0 <__umodsi3+0x24>
20401f94: 40b005b3 neg a1,a1
20401f98: f9dff06f j 20401f34 <__udivsi3>
20401f9c: 40b005b3 neg a1,a1
20401fa0: 00008293 mv t0,ra
20401fa4: f91ff0ef jal ra,20401f34 <__udivsi3>
20401fa8: 40a00533 neg a0,a0
20401fac: 00028067 jr t0
20401fb0 <__modsi3>:
20401fb0: 00008293 mv t0,ra
20401fb4: 0005ca63 bltz a1,20401fc8 <__modsi3+0x18>
20401fb8: 00054c63 bltz a0,20401fd0 <__modsi3+0x20>
20401fbc: f79ff0ef jal ra,20401f34 <__udivsi3>
20401fc0: 00058513 mv a0,a1
20401fc4: 00028067 jr t0
20401fc8: 40b005b3 neg a1,a1
20401fcc: fe0558e3 bgez a0,20401fbc <__modsi3+0xc>
20401fd0: 40a00533 neg a0,a0
20401fd4: f61ff0ef jal ra,20401f34 <__udivsi3>
20401fd8: 40b00533 neg a0,a1
20401fdc: 00028067 jr t0
20401fe0 <__clzsi2>:
20401fe0: 000107b7 lui a5,0x10
20401fe4: 02f57a63 bgeu a0,a5,20402018 <__clzsi2+0x38>
20401fe8: 0ff00793 li a5,255
20401fec: 00a7b7b3 sltu a5,a5,a0
20401ff0: 00379793 slli a5,a5,0x3
20401ff4: 02000713 li a4,32
20401ff8: 40f70733 sub a4,a4,a5
20401ffc: 00f557b3 srl a5,a0,a5
20402000: 00000517 auipc a0,0x0
20402004: 31050513 addi a0,a0,784 # 20402310 <__clz_tab>
20402008: 00f507b3 add a5,a0,a5
2040200c: 0007c503 lbu a0,0(a5) # 10000 <__stack_size+0xf800>
20402010: 40a70533 sub a0,a4,a0
20402014: 00008067 ret
20402018: 01000737 lui a4,0x1000
2040201c: 01000793 li a5,16
20402020: fce56ae3 bltu a0,a4,20401ff4 <__clzsi2+0x14>
20402024: 01800793 li a5,24
20402028: fcdff06f j 20401ff4 <__clzsi2+0x14>