Firmwares/hello/hello.dis

2237 lines
96 KiB
Plaintext
Raw Permalink Normal View History

2020-06-18 12:15:52 +02:00
hello: 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: 48450513 addi a0,a0,1156 # 20402494 <__fini_array_end>
2020-06-18 12:15:52 +02:00
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>
2020-06-18 12:15:52 +02:00
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>
2020-06-18 12:15:52 +02:00
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: 5fc50513 addi a0,a0,1532 # 2040165c <__libc_fini_array>
20400068: 5a8010ef jal ra,20401610 <atexit>
2040006c: 650010ef jal ra,204016bc <__libc_init_array>
2020-06-18 12:15:52 +02:00
20400070: 00000513 li a0,0
20400074: 00000593 li a1,0
20400078: 505000ef jal ra,20400d7c <main>
2040007c: 5a80106f j 20401624 <exit>
2020-06-18 12:15:52 +02:00
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: 5d050513 addi a0,a0,1488 # 2040165c <__libc_fini_array>
20400094: 57c0106f j 20401610 <atexit>
20400098: 00008067 ret
2020-06-18 12:15:52 +02:00
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: 238010ef jal ra,20401360 <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: 284010ef jal ra,2040146c <__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
2020-06-18 12:15:52 +02:00
20400204: 00078513 mv a0,a5
20400208: 01c12083 lw ra,28(sp)
2040020c: 01812403 lw s0,24(sp)
20400210: 02010113 addi sp,sp,32
2020-06-18 12:15:52 +02:00
20400214: 00008067 ret
20400218 <sprintf_putch>:
2020-06-18 12:15:52 +02:00
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
2020-06-18 12:15:52 +02:00
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
2020-06-18 12:15:52 +02:00
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: 541010ef jal ra,204020b4 <__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: 4c9010ef jal ra,2040206c <__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
2020-06-18 12:15:52 +02:00
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: 2c872603 lw a2,712(a4) # 204022c8 <__clzsi2+0x1b0>
204004f4: 2cc72683 lw a3,716(a4)
204004f8: 00078513 mv a0,a5
204004fc: 00080593 mv a1,a6
20400500: 454010ef jal ra,20401954 <__muldf3>
20400504: 00050793 mv a5,a0
20400508: 00058813 mv a6,a1
2040050c: fcf42c23 sw a5,-40(s0)
20400510: fd042e23 sw a6,-36(s0)
2020-06-18 12:15:52 +02:00
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: 281010ef jal ra,20401fc4 <__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
2020-06-18 12:15:52 +02:00
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: 17078793 addi a5,a5,368 # 20402170 <__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: 16878913 addi s2,a5,360 # 20402168 <__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: 6f5000ef jal ra,20401750 <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
2020-06-18 12:15:52 +02:00
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
2020-06-18 12:15:52 +02:00
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
2020-06-18 12:15:52 +02:00
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: 4e4010ef jal ra,20402040 <__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
2020-06-18 12:15:52 +02:00
20400b98 <read_adc>:
20400b98: fd010113 addi sp,sp,-48
20400b9c: 02812623 sw s0,44(sp)
20400ba0: 03010413 addi s0,sp,48
20400ba4: fca42e23 sw a0,-36(s0)
20400ba8: fe042623 sw zero,-20(s0)
20400bac: 00100793 li a5,1
20400bb0: fef40423 sb a5,-24(s0)
2020-06-18 12:15:52 +02:00
20400bb4: fdc42783 lw a5,-36(s0)
20400bb8: 0ff7f793 andi a5,a5,255
20400bbc: 00479793 slli a5,a5,0x4
20400bc0: 0ff7f793 andi a5,a5,255
20400bc4: 0707f793 andi a5,a5,112
20400bc8: 0ff7f793 andi a5,a5,255
20400bcc: f807e793 ori a5,a5,-128
20400bd0: 0ff7f793 andi a5,a5,255
20400bd4: fef404a3 sb a5,-23(s0)
20400bd8: fe040523 sb zero,-22(s0)
20400bdc: 100127b7 lui a5,0x10012
20400be0: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c>
20400be4: 0007a703 lw a4,0(a5)
20400be8: 100127b7 lui a5,0x10012
20400bec: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c>
20400bf0: fc377713 andi a4,a4,-61
20400bf4: 00e7a023 sw a4,0(a5)
20400bf8: 100127b7 lui a5,0x10012
20400bfc: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400c00: 0007a703 lw a4,0(a5)
20400c04: 100127b7 lui a5,0x10012
20400c08: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400c0c: 03c76713 ori a4,a4,60
20400c10: 00e7a023 sw a4,0(a5)
20400c14: 100247b7 lui a5,0x10024
20400c18: 04078793 addi a5,a5,64 # 10024040 <__stack_size+0x10023840>
20400c1c: 00080737 lui a4,0x80
20400c20: 00e7a023 sw a4,0(a5)
20400c24: 100247b7 lui a5,0x10024
20400c28: 01078793 addi a5,a5,16 # 10024010 <__stack_size+0x10023810>
20400c2c: 0007a023 sw zero,0(a5)
20400c30: 100247b7 lui a5,0x10024
20400c34: 01478793 addi a5,a5,20 # 10024014 <__stack_size+0x10023814>
20400c38: 00010737 lui a4,0x10
20400c3c: fff70713 addi a4,a4,-1 # ffff <__stack_size+0xf7ff>
20400c40: 00e7a023 sw a4,0(a5)
20400c44: 100247b7 lui a5,0x10024
20400c48: 00700713 li a4,7
20400c4c: 00e7a023 sw a4,0(a5) # 10024000 <__stack_size+0x10023800>
20400c50: 100247b7 lui a5,0x10024
20400c54: 00478793 addi a5,a5,4 # 10024004 <__stack_size+0x10023804>
20400c58: 00300713 li a4,3
20400c5c: 00e7a023 sw a4,0(a5)
20400c60: 100247b7 lui a5,0x10024
20400c64: 01878793 addi a5,a5,24 # 10024018 <__stack_size+0x10023818>
20400c68: 00200713 li a4,2
20400c6c: 00e7a023 sw a4,0(a5)
20400c70: 00000013 nop
20400c74: 100247b7 lui a5,0x10024
20400c78: 04878793 addi a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400c7c: 0007a783 lw a5,0(a5)
20400c80: fe07cae3 bltz a5,20400c74 <read_adc+0xdc>
20400c84: fe844703 lbu a4,-24(s0)
20400c88: 100247b7 lui a5,0x10024
20400c8c: 04878793 addi a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400c90: 00e7a023 sw a4,0(a5)
20400c94: 00000013 nop
20400c98: 100247b7 lui a5,0x10024
20400c9c: 04c78793 addi a5,a5,76 # 1002404c <__stack_size+0x1002384c>
20400ca0: 0007a783 lw a5,0(a5)
20400ca4: fef42223 sw a5,-28(s0)
20400ca8: fe07c8e3 bltz a5,20400c98 <read_adc+0x100>
20400cac: 00000013 nop
20400cb0: 100247b7 lui a5,0x10024
20400cb4: 04878793 addi a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400cb8: 0007a783 lw a5,0(a5)
20400cbc: fe07cae3 bltz a5,20400cb0 <read_adc+0x118>
20400cc0: fe944703 lbu a4,-23(s0)
20400cc4: 100247b7 lui a5,0x10024
20400cc8: 04878793 addi a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400ccc: 00e7a023 sw a4,0(a5)
20400cd0: 00000013 nop
20400cd4: 100247b7 lui a5,0x10024
20400cd8: 04c78793 addi a5,a5,76 # 1002404c <__stack_size+0x1002384c>
20400cdc: 0007a783 lw a5,0(a5)
20400ce0: fef42223 sw a5,-28(s0)
20400ce4: fe07c8e3 bltz a5,20400cd4 <read_adc+0x13c>
20400ce8: fe442783 lw a5,-28(s0)
20400cec: 00879793 slli a5,a5,0x8
20400cf0: 00078713 mv a4,a5
20400cf4: 000107b7 lui a5,0x10
20400cf8: f0078793 addi a5,a5,-256 # ff00 <__stack_size+0xf700>
20400cfc: 00f777b3 and a5,a4,a5
20400d00: fef42623 sw a5,-20(s0)
20400d04: 00000013 nop
20400d08: 100247b7 lui a5,0x10024
20400d0c: 04878793 addi a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400d10: 0007a783 lw a5,0(a5)
20400d14: fe07cae3 bltz a5,20400d08 <read_adc+0x170>
20400d18: fea44703 lbu a4,-22(s0)
20400d1c: 100247b7 lui a5,0x10024
20400d20: 04878793 addi a5,a5,72 # 10024048 <__stack_size+0x10023848>
20400d24: 00e7a023 sw a4,0(a5)
20400d28: 00000013 nop
20400d2c: 100247b7 lui a5,0x10024
20400d30: 04c78793 addi a5,a5,76 # 1002404c <__stack_size+0x1002384c>
20400d34: 0007a783 lw a5,0(a5)
20400d38: fef42223 sw a5,-28(s0)
20400d3c: fe07c8e3 bltz a5,20400d2c <read_adc+0x194>
20400d40: fe442783 lw a5,-28(s0)
20400d44: 0ff7f793 andi a5,a5,255
20400d48: 00078713 mv a4,a5
20400d4c: fec42783 lw a5,-20(s0)
20400d50: 00e787b3 add a5,a5,a4
20400d54: fef42623 sw a5,-20(s0)
20400d58: 100247b7 lui a5,0x10024
20400d5c: 01878793 addi a5,a5,24 # 10024018 <__stack_size+0x10023818>
20400d60: 0007a023 sw zero,0(a5)
20400d64: fec42783 lw a5,-20(s0)
20400d68: 3ff7f793 andi a5,a5,1023
20400d6c: 00078513 mv a0,a5
20400d70: 02c12403 lw s0,44(sp)
20400d74: 03010113 addi sp,sp,48
2020-06-18 12:15:52 +02:00
20400d78: 00008067 ret
20400d7c <main>:
20400d7c: fe010113 addi sp,sp,-32
20400d80: 00112e23 sw ra,28(sp)
20400d84: 00812c23 sw s0,24(sp)
20400d88: 02010413 addi s0,sp,32
20400d8c: 100127b7 lui a5,0x10012
20400d90: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400d94: 0007a683 lw a3,0(a5)
20400d98: 100127b7 lui a5,0x10012
20400d9c: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
20400da0: 00030737 lui a4,0x30
20400da4: 00e6e733 or a4,a3,a4
20400da8: 00e7a023 sw a4,0(a5)
20400dac: 00a00513 li a0,10
20400db0: d79ff0ef jal ra,20400b28 <factorial>
20400db4: fea42423 sw a0,-24(s0)
20400db8: fe842583 lw a1,-24(s0)
20400dbc: 204027b7 lui a5,0x20402
20400dc0: 2d078513 addi a0,a5,720 # 204022d0 <__clzsi2+0x1b8>
20400dc4: c69ff0ef jal ra,20400a2c <__wrap_printf>
20400dc8: fe042623 sw zero,-20(s0)
20400dcc: 0300006f j 20400dfc <main+0x80>
20400dd0: fec42503 lw a0,-20(s0)
20400dd4: dc5ff0ef jal ra,20400b98 <read_adc>
20400dd8: 00050793 mv a5,a0
20400ddc: 00078613 mv a2,a5
20400de0: fec42583 lw a1,-20(s0)
20400de4: 204027b7 lui a5,0x20402
20400de8: 2e878513 addi a0,a5,744 # 204022e8 <__clzsi2+0x1d0>
20400dec: c41ff0ef jal ra,20400a2c <__wrap_printf>
2020-06-18 12:15:52 +02:00
20400df0: fec42783 lw a5,-20(s0)
20400df4: 00178793 addi a5,a5,1
20400df8: fef42623 sw a5,-20(s0)
20400dfc: fec42703 lw a4,-20(s0)
20400e00: 00700793 li a5,7
20400e04: fce7f6e3 bgeu a5,a4,20400dd0 <main+0x54>
20400e08: 204027b7 lui a5,0x20402
20400e0c: 30078513 addi a0,a5,768 # 20402300 <__clzsi2+0x1e8>
20400e10: c1dff0ef jal ra,20400a2c <__wrap_printf>
20400e14: 00000793 li a5,0
20400e18: 00078513 mv a0,a5
20400e1c: 01c12083 lw ra,28(sp)
20400e20: 01812403 lw s0,24(sp)
20400e24: 02010113 addi sp,sp,32
20400e28: 00008067 ret
2020-06-18 12:15:52 +02:00
20400e2c <mtime_lo>:
20400e2c: ff010113 addi sp,sp,-16
20400e30: 00812623 sw s0,12(sp)
20400e34: 01010413 addi s0,sp,16
20400e38: 0200c7b7 lui a5,0x200c
20400e3c: ff878793 addi a5,a5,-8 # 200bff8 <__stack_size+0x200b7f8>
20400e40: 0007a783 lw a5,0(a5)
20400e44: 00078513 mv a0,a5
20400e48: 00c12403 lw s0,12(sp)
20400e4c: 01010113 addi sp,sp,16
20400e50: 00008067 ret
2020-06-18 12:15:52 +02:00
20400e54 <get_timer_value>:
20400e54: ff010113 addi sp,sp,-16
20400e58: 00112623 sw ra,12(sp)
20400e5c: 00812423 sw s0,8(sp)
20400e60: 01212223 sw s2,4(sp)
20400e64: 01312023 sw s3,0(sp)
20400e68: 01010413 addi s0,sp,16
20400e6c: fc1ff0ef jal ra,20400e2c <mtime_lo>
20400e70: 00050793 mv a5,a0
20400e74: 00078913 mv s2,a5
20400e78: 00000993 li s3,0
20400e7c: 00090793 mv a5,s2
20400e80: 00098813 mv a6,s3
20400e84: 00078513 mv a0,a5
20400e88: 00080593 mv a1,a6
20400e8c: 00c12083 lw ra,12(sp)
20400e90: 00812403 lw s0,8(sp)
20400e94: 00412903 lw s2,4(sp)
20400e98: 00012983 lw s3,0(sp)
2020-06-18 12:15:52 +02:00
20400e9c: 01010113 addi sp,sp,16
20400ea0: 00008067 ret
20400ea4 <get_timer_freq>:
20400ea4: ff010113 addi sp,sp,-16
20400ea8: 00812623 sw s0,12(sp)
20400eac: 01010413 addi s0,sp,16
20400eb0: 000087b7 lui a5,0x8
20400eb4: 00078513 mv a0,a5
20400eb8: 00c12403 lw s0,12(sp)
20400ebc: 01010113 addi sp,sp,16
20400ec0: 00008067 ret
20400ec4 <use_hfrosc>:
20400ec4: fe010113 addi sp,sp,-32
20400ec8: 00812e23 sw s0,28(sp)
20400ecc: 02010413 addi s0,sp,32
20400ed0: fea42623 sw a0,-20(s0)
20400ed4: feb42423 sw a1,-24(s0)
20400ed8: fec42783 lw a5,-20(s0)
20400edc: 02f7f713 andi a4,a5,47
20400ee0: fe842783 lw a5,-24(s0)
20400ee4: 01079693 slli a3,a5,0x10
20400ee8: 001f07b7 lui a5,0x1f0
20400eec: 00f6f7b3 and a5,a3,a5
20400ef0: 00f76733 or a4,a4,a5
20400ef4: 400007b7 lui a5,0x40000
20400ef8: 00f76733 or a4,a4,a5
20400efc: 100087b7 lui a5,0x10008
20400f00: 00e7a023 sw a4,0(a5) # 10008000 <__stack_size+0x10007800>
20400f04: 00000013 nop
20400f08: 100087b7 lui a5,0x10008
20400f0c: 0007a783 lw a5,0(a5) # 10008000 <__stack_size+0x10007800>
20400f10: fe07dce3 bgez a5,20400f08 <use_hfrosc+0x44>
20400f14: 100087b7 lui a5,0x10008
20400f18: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f1c: 0007a683 lw a3,0(a5)
20400f20: 100087b7 lui a5,0x10008
20400f24: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f28: ffff0737 lui a4,0xffff0
20400f2c: fff70713 addi a4,a4,-1 # fffeffff <_sp+0x7ffebfff>
20400f30: 00e6f733 and a4,a3,a4
20400f34: 00e7a023 sw a4,0(a5)
20400f38: 00000013 nop
20400f3c: 01c12403 lw s0,28(sp)
20400f40: 02010113 addi sp,sp,32
20400f44: 00008067 ret
2020-06-18 12:15:52 +02:00
20400f48 <use_pll>:
20400f48: fc010113 addi sp,sp,-64
20400f4c: 02112e23 sw ra,60(sp)
20400f50: 02812c23 sw s0,56(sp)
20400f54: 04010413 addi s0,sp,64
20400f58: fca42e23 sw a0,-36(s0)
20400f5c: fcb42c23 sw a1,-40(s0)
20400f60: fcc42a23 sw a2,-44(s0)
20400f64: fcd42823 sw a3,-48(s0)
20400f68: fce42623 sw a4,-52(s0)
20400f6c: 100087b7 lui a5,0x10008
20400f70: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400f74: 0007a703 lw a4,0(a5)
20400f78: 000107b7 lui a5,0x10
20400f7c: 00f777b3 and a5,a4,a5
20400f80: 00078863 beqz a5,20400f90 <use_pll+0x48>
20400f84: 01000593 li a1,16
20400f88: 00400513 li a0,4
20400f8c: f39ff0ef jal ra,20400ec4 <use_hfrosc>
20400f90: fe042623 sw zero,-20(s0)
20400f94: fdc42783 lw a5,-36(s0)
20400f98: 01179793 slli a5,a5,0x11
20400f9c: 00078713 mv a4,a5
20400fa0: 000207b7 lui a5,0x20
20400fa4: 00f777b3 and a5,a4,a5
20400fa8: fec42703 lw a4,-20(s0)
20400fac: 00f767b3 or a5,a4,a5
20400fb0: fef42623 sw a5,-20(s0)
20400fb4: fd842783 lw a5,-40(s0)
20400fb8: 02078c63 beqz a5,20400ff0 <use_pll+0xa8>
20400fbc: fec42703 lw a4,-20(s0)
20400fc0: 000407b7 lui a5,0x40
20400fc4: 00f767b3 or a5,a4,a5
20400fc8: fef42623 sw a5,-20(s0)
20400fcc: 100087b7 lui a5,0x10008
20400fd0: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20400fd4: fec42703 lw a4,-20(s0)
20400fd8: 00e7a023 sw a4,0(a5)
20400fdc: 100087b7 lui a5,0x10008
20400fe0: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c>
20400fe4: 10000713 li a4,256
20400fe8: 00e7a023 sw a4,0(a5)
20400fec: 0ec0006f j 204010d8 <use_pll+0x190>
20400ff0: 100147b7 lui a5,0x10014
20400ff4: 00800713 li a4,8
20400ff8: 00e7a023 sw a4,0(a5) # 10014000 <__stack_size+0x10013800>
20400ffc: fec42703 lw a4,-20(s0)
20401000: 000407b7 lui a5,0x40
20401004: 00f767b3 or a5,a4,a5
20401008: fef42623 sw a5,-20(s0)
2040100c: fd442783 lw a5,-44(s0)
20401010: 0077f793 andi a5,a5,7
20401014: fec42703 lw a4,-20(s0)
20401018: 00f767b3 or a5,a4,a5
2040101c: fef42623 sw a5,-20(s0)
20401020: fd042783 lw a5,-48(s0)
20401024: 00479793 slli a5,a5,0x4
20401028: 3f07f793 andi a5,a5,1008
2040102c: fec42703 lw a4,-20(s0)
20401030: 00f767b3 or a5,a4,a5
20401034: fef42623 sw a5,-20(s0)
20401038: fcc42783 lw a5,-52(s0)
2040103c: 00a79793 slli a5,a5,0xa
20401040: 00078713 mv a4,a5
20401044: 000017b7 lui a5,0x1
20401048: c0078793 addi a5,a5,-1024 # c00 <__stack_size+0x400>
2040104c: 00f777b3 and a5,a4,a5
20401050: fec42703 lw a4,-20(s0)
20401054: 00f767b3 or a5,a4,a5
20401058: fef42623 sw a5,-20(s0)
2020-06-18 12:15:52 +02:00
2040105c: 100087b7 lui a5,0x10008
20401060: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c>
20401064: 10000713 li a4,256
20401068: 00e7a023 sw a4,0(a5)
2040106c: 100087b7 lui a5,0x10008
20401070: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20401074: fec42703 lw a4,-20(s0)
20401078: 00e7a023 sw a4,0(a5)
2040107c: 100087b7 lui a5,0x10008
20401080: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20401084: 0007a683 lw a3,0(a5)
20401088: 100087b7 lui a5,0x10008
2040108c: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
20401090: fffc0737 lui a4,0xfffc0
20401094: fff70713 addi a4,a4,-1 # fffbffff <_sp+0x7ffbbfff>
20401098: 00e6f733 and a4,a3,a4
2040109c: 00e7a023 sw a4,0(a5)
204010a0: d8dff0ef jal ra,20400e2c <mtime_lo>
204010a4: fea42423 sw a0,-24(s0)
204010a8: 00000013 nop
204010ac: d81ff0ef jal ra,20400e2c <mtime_lo>
204010b0: 00050713 mv a4,a0
204010b4: fe842783 lw a5,-24(s0)
204010b8: 40f70733 sub a4,a4,a5
204010bc: 00300793 li a5,3
204010c0: fee7f6e3 bgeu a5,a4,204010ac <use_pll+0x164>
204010c4: 00000013 nop
204010c8: 100087b7 lui a5,0x10008
204010cc: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
204010d0: 0007a783 lw a5,0(a5)
204010d4: fe07dae3 bgez a5,204010c8 <use_pll+0x180>
204010d8: 100087b7 lui a5,0x10008
204010dc: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
204010e0: 0007a683 lw a3,0(a5)
204010e4: 100087b7 lui a5,0x10008
204010e8: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808>
204010ec: 00010737 lui a4,0x10
204010f0: 00e6e733 or a4,a3,a4
204010f4: 00e7a023 sw a4,0(a5)
204010f8: 00000013 nop
204010fc: 03c12083 lw ra,60(sp)
20401100: 03812403 lw s0,56(sp)
20401104: 04010113 addi sp,sp,64
20401108: 00008067 ret
2020-06-18 12:15:52 +02:00
2040110c <use_default_clocks>:
2040110c: ff010113 addi sp,sp,-16
20401110: 00112623 sw ra,12(sp)
20401114: 00812423 sw s0,8(sp)
20401118: 01010413 addi s0,sp,16
2040111c: 100007b7 lui a5,0x10000
20401120: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870>
20401124: 0007a683 lw a3,0(a5)
20401128: 100007b7 lui a5,0x10000
2040112c: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870>
20401130: c0000737 lui a4,0xc0000
20401134: fff70713 addi a4,a4,-1 # bfffffff <_sp+0x3fffbfff>
20401138: 00e6f733 and a4,a3,a4
2040113c: 00e7a023 sw a4,0(a5)
20401140: 01000593 li a1,16
20401144: 00400513 li a0,4
20401148: d7dff0ef jal ra,20400ec4 <use_hfrosc>
2040114c: 00000013 nop
20401150: 00c12083 lw ra,12(sp)
20401154: 00812403 lw s0,8(sp)
20401158: 01010113 addi sp,sp,16
2040115c: 00008067 ret
2020-06-18 12:15:52 +02:00
20401160 <measure_cpu_freq>:
20401160: fc010113 addi sp,sp,-64
20401164: 02112e23 sw ra,60(sp)
20401168: 02812c23 sw s0,56(sp)
2040116c: 02912a23 sw s1,52(sp)
20401170: 04010413 addi s0,sp,64
20401174: fca42623 sw a0,-52(s0)
20401178: d2dff0ef jal ra,20400ea4 <get_timer_freq>
2040117c: fea42623 sw a0,-20(s0)
20401180: cadff0ef jal ra,20400e2c <mtime_lo>
20401184: fea42423 sw a0,-24(s0)
20401188: ca5ff0ef jal ra,20400e2c <mtime_lo>
2040118c: fea42223 sw a0,-28(s0)
20401190: fe442703 lw a4,-28(s0)
20401194: fe842783 lw a5,-24(s0)
20401198: fef708e3 beq a4,a5,20401188 <measure_cpu_freq+0x28>
2040119c: b00027f3 csrr a5,mcycle
204011a0: fef42023 sw a5,-32(s0)
204011a4: fe042783 lw a5,-32(s0)
204011a8: fcf42e23 sw a5,-36(s0)
204011ac: c81ff0ef jal ra,20400e2c <mtime_lo>
204011b0: 00050713 mv a4,a0
204011b4: fe442783 lw a5,-28(s0)
204011b8: 40f707b3 sub a5,a4,a5
204011bc: fcf42c23 sw a5,-40(s0)
204011c0: fd842703 lw a4,-40(s0)
204011c4: fcc42783 lw a5,-52(s0)
204011c8: fef762e3 bltu a4,a5,204011ac <measure_cpu_freq+0x4c>
204011cc: b00027f3 csrr a5,mcycle
204011d0: fcf42a23 sw a5,-44(s0)
204011d4: fd442703 lw a4,-44(s0)
204011d8: fdc42783 lw a5,-36(s0)
204011dc: 40f707b3 sub a5,a4,a5
204011e0: fcf42823 sw a5,-48(s0)
204011e4: fd842583 lw a1,-40(s0)
204011e8: fd042503 lw a0,-48(s0)
204011ec: 681000ef jal ra,2040206c <__udivsi3>
204011f0: 00050793 mv a5,a0
204011f4: fec42583 lw a1,-20(s0)
204011f8: 00078513 mv a0,a5
204011fc: 645000ef jal ra,20402040 <__mulsi3>
20401200: 00050793 mv a5,a0
20401204: 00078493 mv s1,a5
20401208: fd042783 lw a5,-48(s0)
2020-06-18 12:15:52 +02:00
2040120c: fd842583 lw a1,-40(s0)
20401210: 00078513 mv a0,a5
20401214: 6a1000ef jal ra,204020b4 <__umodsi3>
2020-06-18 12:15:52 +02:00
20401218: 00050793 mv a5,a0
2040121c: fec42583 lw a1,-20(s0)
2020-06-18 12:15:52 +02:00
20401220: 00078513 mv a0,a5
20401224: 61d000ef jal ra,20402040 <__mulsi3>
20401228: 00050793 mv a5,a0
2040122c: fd842583 lw a1,-40(s0)
20401230: 00078513 mv a0,a5
20401234: 639000ef jal ra,2040206c <__udivsi3>
20401238: 00050793 mv a5,a0
2040123c: 00f487b3 add a5,s1,a5
20401240: 00078513 mv a0,a5
20401244: 03c12083 lw ra,60(sp)
20401248: 03812403 lw s0,56(sp)
2040124c: 03412483 lw s1,52(sp)
20401250: 04010113 addi sp,sp,64
20401254: 00008067 ret
2020-06-18 12:15:52 +02:00
20401258 <get_cpu_freq>:
20401258: ff010113 addi sp,sp,-16
2040125c: 00112623 sw ra,12(sp)
20401260: 00812423 sw s0,8(sp)
20401264: 01010413 addi s0,sp,16
2020-06-18 12:15:52 +02:00
20401268: 800007b7 lui a5,0x80000
2040126c: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430>
20401270: 02079063 bnez a5,20401290 <get_cpu_freq+0x38>
20401274: 00100513 li a0,1
20401278: ee9ff0ef jal ra,20401160 <measure_cpu_freq>
2040127c: 00a00513 li a0,10
20401280: ee1ff0ef jal ra,20401160 <measure_cpu_freq>
20401284: 00050713 mv a4,a0
20401288: 800007b7 lui a5,0x80000
2040128c: 42e7a823 sw a4,1072(a5) # 80000430 <_sp+0xffffc430>
20401290: 800007b7 lui a5,0x80000
20401294: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430>
20401298: 00078513 mv a0,a5
2040129c: 00c12083 lw ra,12(sp)
204012a0: 00812403 lw s0,8(sp)
204012a4: 01010113 addi sp,sp,16
204012a8: 00008067 ret
2020-06-18 12:15:52 +02:00
204012ac <uart_init>:
204012ac: fe010113 addi sp,sp,-32
204012b0: 00112e23 sw ra,28(sp)
204012b4: 00812c23 sw s0,24(sp)
204012b8: 02010413 addi s0,sp,32
204012bc: fea42623 sw a0,-20(s0)
204012c0: 100127b7 lui a5,0x10012
204012c4: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c>
204012c8: 0007a683 lw a3,0(a5)
204012cc: 100127b7 lui a5,0x10012
204012d0: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c>
204012d4: fffd0737 lui a4,0xfffd0
204012d8: fff70713 addi a4,a4,-1 # fffcffff <_sp+0x7ffcbfff>
204012dc: 00e6f733 and a4,a3,a4
2020-06-18 12:15:52 +02:00
204012e0: 00e7a023 sw a4,0(a5)
204012e4: 100127b7 lui a5,0x10012
204012e8: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
204012ec: 0007a683 lw a3,0(a5)
204012f0: 100127b7 lui a5,0x10012
204012f4: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838>
204012f8: 00030737 lui a4,0x30
204012fc: 00e6e733 or a4,a3,a4
20401300: 00e7a023 sw a4,0(a5)
20401304: f55ff0ef jal ra,20401258 <get_cpu_freq>
20401308: 00050793 mv a5,a0
2040130c: fec42583 lw a1,-20(s0)
20401310: 00078513 mv a0,a5
20401314: 559000ef jal ra,2040206c <__udivsi3>
20401318: 00050793 mv a5,a0
2040131c: 00078713 mv a4,a5
20401320: 100137b7 lui a5,0x10013
20401324: 01878793 addi a5,a5,24 # 10013018 <__stack_size+0x10012818>
20401328: fff70713 addi a4,a4,-1 # 2ffff <__stack_size+0x2f7ff>
2040132c: 00e7a023 sw a4,0(a5)
20401330: 100137b7 lui a5,0x10013
20401334: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808>
20401338: 0007a703 lw a4,0(a5)
2040133c: 100137b7 lui a5,0x10013
20401340: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808>
20401344: 00176713 ori a4,a4,1
20401348: 00e7a023 sw a4,0(a5)
2040134c: 00000013 nop
20401350: 01c12083 lw ra,28(sp)
20401354: 01812403 lw s0,24(sp)
20401358: 02010113 addi sp,sp,32
2040135c: 00008067 ret
2020-06-18 12:15:52 +02:00
20401360 <handle_trap>:
20401360: fe010113 addi sp,sp,-32
20401364: 00112e23 sw ra,28(sp)
20401368: 00812c23 sw s0,24(sp)
2040136c: 02010413 addi s0,sp,32
20401370: fea42623 sw a0,-20(s0)
20401374: feb42423 sw a1,-24(s0)
20401378: 00500613 li a2,5
2040137c: 204027b7 lui a5,0x20402
20401380: 31478593 addi a1,a5,788 # 20402314 <__clzsi2+0x1fc>
20401384: 00100513 li a0,1
20401388: 0e4000ef jal ra,2040146c <__wrap_write>
2040138c: fec42783 lw a5,-20(s0)
20401390: 00178793 addi a5,a5,1
20401394: 00078513 mv a0,a5
20401398: 1f0000ef jal ra,20401588 <__wrap__exit>
2020-06-18 12:15:52 +02:00
2040139c <_init>:
2040139c: fe010113 addi sp,sp,-32
204013a0: 00112e23 sw ra,28(sp)
204013a4: 00812c23 sw s0,24(sp)
204013a8: 02010413 addi s0,sp,32
204013ac: d61ff0ef jal ra,2040110c <use_default_clocks>
204013b0: 00100713 li a4,1
204013b4: 01f00693 li a3,31
204013b8: 00100613 li a2,1
204013bc: 00000593 li a1,0
204013c0: 00000513 li a0,0
204013c4: b85ff0ef jal ra,20400f48 <use_pll>
204013c8: 0001c7b7 lui a5,0x1c
204013cc: 20078513 addi a0,a5,512 # 1c200 <__stack_size+0x1ba00>
204013d0: eddff0ef jal ra,204012ac <uart_init>
204013d4: e85ff0ef jal ra,20401258 <get_cpu_freq>
204013d8: 00050793 mv a5,a0
204013dc: 00078593 mv a1,a5
204013e0: 204027b7 lui a5,0x20402
204013e4: 31c78513 addi a0,a5,796 # 2040231c <__clzsi2+0x204>
204013e8: e44ff0ef jal ra,20400a2c <__wrap_printf>
204013ec: 204007b7 lui a5,0x20400
204013f0: 09c78793 addi a5,a5,156 # 2040009c <trap_entry>
204013f4: 30579073 csrw mtvec,a5
204013f8: 301027f3 csrr a5,misa
204013fc: fef42623 sw a5,-20(s0)
20401400: fec42783 lw a5,-20(s0)
20401404: 0207f793 andi a5,a5,32
20401408: 00078863 beqz a5,20401418 <_init+0x7c>
2040140c: 000067b7 lui a5,0x6
20401410: 30079073 csrw mstatus,a5
20401414: 00305073 csrwi fcsr,0
2020-06-18 12:15:52 +02:00
20401418: 00000013 nop
2040141c: 01c12083 lw ra,28(sp)
20401420: 01812403 lw s0,24(sp)
20401424: 02010113 addi sp,sp,32
20401428: 00008067 ret
2020-06-18 12:15:52 +02:00
2040142c <_fini>:
2040142c: ff010113 addi sp,sp,-16
20401430: 00812623 sw s0,12(sp)
20401434: 01010413 addi s0,sp,16
20401438: 00000013 nop
2040143c: 00c12403 lw s0,12(sp)
20401440: 01010113 addi sp,sp,16
20401444: 00008067 ret
2020-06-18 12:15:52 +02:00
20401448 <_stub>:
20401448: fe010113 addi sp,sp,-32
2040144c: 00812e23 sw s0,28(sp)
20401450: 02010413 addi s0,sp,32
20401454: fea42623 sw a0,-20(s0)
20401458: fff00793 li a5,-1
2040145c: 00078513 mv a0,a5
20401460: 01c12403 lw s0,28(sp)
20401464: 02010113 addi sp,sp,32
20401468: 00008067 ret
2020-06-18 12:15:52 +02:00
2040146c <__wrap_write>:
2040146c: fd010113 addi sp,sp,-48
20401470: 02112623 sw ra,44(sp)
20401474: 02812423 sw s0,40(sp)
20401478: 03010413 addi s0,sp,48
2040147c: fca42e23 sw a0,-36(s0)
20401480: fcb42c23 sw a1,-40(s0)
20401484: fcc42a23 sw a2,-44(s0)
20401488: fd842783 lw a5,-40(s0)
2040148c: fef42423 sw a5,-24(s0)
20401490: fdc42503 lw a0,-36(s0)
20401494: 0b0000ef jal ra,20401544 <__wrap_isatty>
20401498: 00050793 mv a5,a0
2040149c: 08078463 beqz a5,20401524 <__wrap_write+0xb8>
204014a0: fe042623 sw zero,-20(s0)
204014a4: 06c0006f j 20401510 <__wrap_write+0xa4>
204014a8: 00000013 nop
204014ac: 100137b7 lui a5,0x10013
204014b0: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800>
204014b4: fe07cce3 bltz a5,204014ac <__wrap_write+0x40>
204014b8: fe842703 lw a4,-24(s0)
204014bc: fec42783 lw a5,-20(s0)
204014c0: 00f707b3 add a5,a4,a5
204014c4: 0007c703 lbu a4,0(a5)
204014c8: 100137b7 lui a5,0x10013
204014cc: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800>
204014d0: fe842703 lw a4,-24(s0)
204014d4: fec42783 lw a5,-20(s0)
204014d8: 00f707b3 add a5,a4,a5
204014dc: 0007c703 lbu a4,0(a5)
204014e0: 00a00793 li a5,10
204014e4: 02f71063 bne a4,a5,20401504 <__wrap_write+0x98>
204014e8: 00000013 nop
204014ec: 100137b7 lui a5,0x10013
204014f0: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800>
204014f4: fe07cce3 bltz a5,204014ec <__wrap_write+0x80>
204014f8: 100137b7 lui a5,0x10013
204014fc: 00d00713 li a4,13
20401500: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800>
20401504: fec42783 lw a5,-20(s0)
20401508: 00178793 addi a5,a5,1
2040150c: fef42623 sw a5,-20(s0)
20401510: fec42703 lw a4,-20(s0)
20401514: fd442783 lw a5,-44(s0)
20401518: f8f768e3 bltu a4,a5,204014a8 <__wrap_write+0x3c>
2040151c: fd442783 lw a5,-44(s0)
20401520: 0100006f j 20401530 <__wrap_write+0xc4>
20401524: 00900513 li a0,9
20401528: f21ff0ef jal ra,20401448 <_stub>
2040152c: 00050793 mv a5,a0
20401530: 00078513 mv a0,a5
20401534: 02c12083 lw ra,44(sp)
20401538: 02812403 lw s0,40(sp)
2040153c: 03010113 addi sp,sp,48
20401540: 00008067 ret
2020-06-18 12:15:52 +02:00
20401544 <__wrap_isatty>:
20401544: fe010113 addi sp,sp,-32
20401548: 00812e23 sw s0,28(sp)
2040154c: 02010413 addi s0,sp,32
20401550: fea42623 sw a0,-20(s0)
20401554: fec42703 lw a4,-20(s0)
20401558: 00100793 li a5,1
2040155c: 00f70863 beq a4,a5,2040156c <__wrap_isatty+0x28>
20401560: fec42703 lw a4,-20(s0)
20401564: 00200793 li a5,2
20401568: 00f71663 bne a4,a5,20401574 <__wrap_isatty+0x30>
2040156c: 00100793 li a5,1
20401570: 0080006f j 20401578 <__wrap_isatty+0x34>
20401574: 00000793 li a5,0
20401578: 00078513 mv a0,a5
2040157c: 01c12403 lw s0,28(sp)
20401580: 02010113 addi sp,sp,32
20401584: 00008067 ret
2020-06-18 12:15:52 +02:00
20401588 <__wrap__exit>:
20401588: fc010113 addi sp,sp,-64
2040158c: 02112e23 sw ra,60(sp)
20401590: 02812c23 sw s0,56(sp)
20401594: 04010413 addi s0,sp,64
20401598: fca42623 sw a0,-52(s0)
2040159c: 204027b7 lui a5,0x20402
204015a0: 33478793 addi a5,a5,820 # 20402334 <__clzsi2+0x21c>
204015a4: 0007a883 lw a7,0(a5)
204015a8: 0047a803 lw a6,4(a5)
204015ac: 0087a503 lw a0,8(a5)
204015b0: 00c7a583 lw a1,12(a5)
204015b4: 0107a603 lw a2,16(a5)
204015b8: 0147a683 lw a3,20(a5)
204015bc: 0187a703 lw a4,24(a5)
204015c0: fd142823 sw a7,-48(s0)
204015c4: fd042a23 sw a6,-44(s0)
204015c8: fca42c23 sw a0,-40(s0)
204015cc: fcb42e23 sw a1,-36(s0)
204015d0: fec42023 sw a2,-32(s0)
204015d4: fed42223 sw a3,-28(s0)
204015d8: fee42423 sw a4,-24(s0)
204015dc: 01c7d783 lhu a5,28(a5)
204015e0: fef41623 sh a5,-20(s0)
204015e4: fd040793 addi a5,s0,-48
204015e8: 01d00613 li a2,29
204015ec: 00078593 mv a1,a5
204015f0: 00200513 li a0,2
204015f4: e79ff0ef jal ra,2040146c <__wrap_write>
204015f8: 00100613 li a2,1
204015fc: 204027b7 lui a5,0x20402
20401600: 33078593 addi a1,a5,816 # 20402330 <__clzsi2+0x218>
20401604: 00200513 li a0,2
20401608: e65ff0ef jal ra,2040146c <__wrap_write>
2040160c: 0000006f j 2040160c <__wrap__exit+0x84>
2020-06-18 12:15:52 +02:00
20401610 <atexit>:
20401610: 00050593 mv a1,a0
20401614: 00000693 li a3,0
20401618: 00000613 li a2,0
2040161c: 00000513 li a0,0
20401620: 1740006f j 20401794 <__register_exitproc>
2020-06-18 12:15:52 +02:00
20401624 <exit>:
20401624: ff010113 addi sp,sp,-16
20401628: 00000593 li a1,0
2040162c: 00812423 sw s0,8(sp)
20401630: 00112623 sw ra,12(sp)
20401634: 00050413 mv s0,a0
20401638: 1fc000ef jal ra,20401834 <__call_exitprocs>
2040163c: 5fbff797 auipc a5,0x5fbff
20401640: dec78793 addi a5,a5,-532 # 80000428 <_global_impure_ptr>
20401644: 0007a503 lw a0,0(a5)
20401648: 03c52783 lw a5,60(a0)
2040164c: 00078463 beqz a5,20401654 <exit+0x30>
20401650: 000780e7 jalr a5
20401654: 00040513 mv a0,s0
20401658: f31ff0ef jal ra,20401588 <__wrap__exit>
2020-06-18 12:15:52 +02:00
2040165c <__libc_fini_array>:
2040165c: ff010113 addi sp,sp,-16
20401660: 00812423 sw s0,8(sp)
20401664: 00001797 auipc a5,0x1
20401668: e3078793 addi a5,a5,-464 # 20402494 <__fini_array_end>
2040166c: 00001417 auipc s0,0x1
20401670: e2840413 addi s0,s0,-472 # 20402494 <__fini_array_end>
20401674: 40f40433 sub s0,s0,a5
20401678: 00112623 sw ra,12(sp)
2040167c: 00912223 sw s1,4(sp)
20401680: 40245413 srai s0,s0,0x2
20401684: 02040263 beqz s0,204016a8 <__libc_fini_array+0x4c>
20401688: 00241493 slli s1,s0,0x2
2040168c: ffc48493 addi s1,s1,-4
20401690: 00f484b3 add s1,s1,a5
20401694: 0004a783 lw a5,0(s1)
20401698: fff40413 addi s0,s0,-1
2040169c: ffc48493 addi s1,s1,-4
204016a0: 000780e7 jalr a5
204016a4: fe0418e3 bnez s0,20401694 <__libc_fini_array+0x38>
204016a8: 00c12083 lw ra,12(sp)
204016ac: 00812403 lw s0,8(sp)
204016b0: 00412483 lw s1,4(sp)
204016b4: 01010113 addi sp,sp,16
204016b8: 00008067 ret
2020-06-18 12:15:52 +02:00
204016bc <__libc_init_array>:
204016bc: ff010113 addi sp,sp,-16
204016c0: 00812423 sw s0,8(sp)
204016c4: 01212023 sw s2,0(sp)
204016c8: 00001417 auipc s0,0x1
204016cc: dc840413 addi s0,s0,-568 # 20402490 <__init_array_start>
204016d0: 00001917 auipc s2,0x1
204016d4: dc090913 addi s2,s2,-576 # 20402490 <__init_array_start>
204016d8: 40890933 sub s2,s2,s0
204016dc: 00112623 sw ra,12(sp)
204016e0: 00912223 sw s1,4(sp)
204016e4: 40295913 srai s2,s2,0x2
204016e8: 00090e63 beqz s2,20401704 <__libc_init_array+0x48>
204016ec: 00000493 li s1,0
204016f0: 00042783 lw a5,0(s0)
204016f4: 00148493 addi s1,s1,1
204016f8: 00440413 addi s0,s0,4
204016fc: 000780e7 jalr a5
20401700: fe9918e3 bne s2,s1,204016f0 <__libc_init_array+0x34>
20401704: 00001417 auipc s0,0x1
20401708: d8c40413 addi s0,s0,-628 # 20402490 <__init_array_start>
2040170c: 00001917 auipc s2,0x1
20401710: d8890913 addi s2,s2,-632 # 20402494 <__fini_array_end>
20401714: 40890933 sub s2,s2,s0
20401718: 40295913 srai s2,s2,0x2
2040171c: 00090e63 beqz s2,20401738 <__libc_init_array+0x7c>
20401720: 00000493 li s1,0
20401724: 00042783 lw a5,0(s0)
20401728: 00148493 addi s1,s1,1
2040172c: 00440413 addi s0,s0,4
20401730: 000780e7 jalr a5
20401734: fe9918e3 bne s2,s1,20401724 <__libc_init_array+0x68>
20401738: 00c12083 lw ra,12(sp)
2040173c: 00812403 lw s0,8(sp)
20401740: 00412483 lw s1,4(sp)
20401744: 00012903 lw s2,0(sp)
20401748: 01010113 addi sp,sp,16
2040174c: 00008067 ret
2020-06-18 12:15:52 +02:00
20401750 <strnlen>:
20401750: 02058463 beqz a1,20401778 <strnlen+0x28>
20401754: 00054783 lbu a5,0(a0)
20401758: 02078a63 beqz a5,2040178c <strnlen+0x3c>
2040175c: 00b506b3 add a3,a0,a1
20401760: 00050793 mv a5,a0
20401764: 00c0006f j 20401770 <strnlen+0x20>
20401768: 0007c703 lbu a4,0(a5)
2040176c: 00070a63 beqz a4,20401780 <strnlen+0x30>
20401770: 00178793 addi a5,a5,1
20401774: fed79ae3 bne a5,a3,20401768 <strnlen+0x18>
20401778: 00058513 mv a0,a1
2040177c: 00008067 ret
20401780: 40a785b3 sub a1,a5,a0
20401784: 00058513 mv a0,a1
20401788: 00008067 ret
2040178c: 00000593 li a1,0
20401790: fe9ff06f j 20401778 <strnlen+0x28>
2020-06-18 12:15:52 +02:00
20401794 <__register_exitproc>:
20401794: 5fbff797 auipc a5,0x5fbff
20401798: c9478793 addi a5,a5,-876 # 80000428 <_global_impure_ptr>
2040179c: 0007a703 lw a4,0(a5)
204017a0: 14872783 lw a5,328(a4)
204017a4: 04078c63 beqz a5,204017fc <__register_exitproc+0x68>
204017a8: 0047a703 lw a4,4(a5)
204017ac: 01f00813 li a6,31
204017b0: 06e84e63 blt a6,a4,2040182c <__register_exitproc+0x98>
204017b4: 00271813 slli a6,a4,0x2
204017b8: 02050663 beqz a0,204017e4 <__register_exitproc+0x50>
204017bc: 01078333 add t1,a5,a6
204017c0: 08c32423 sw a2,136(t1)
204017c4: 1887a883 lw a7,392(a5)
204017c8: 00100613 li a2,1
204017cc: 00e61633 sll a2,a2,a4
204017d0: 00c8e8b3 or a7,a7,a2
204017d4: 1917a423 sw a7,392(a5)
204017d8: 10d32423 sw a3,264(t1)
204017dc: 00200693 li a3,2
204017e0: 02d50463 beq a0,a3,20401808 <__register_exitproc+0x74>
204017e4: 00170713 addi a4,a4,1
204017e8: 00e7a223 sw a4,4(a5)
204017ec: 010787b3 add a5,a5,a6
204017f0: 00b7a423 sw a1,8(a5)
204017f4: 00000513 li a0,0
204017f8: 00008067 ret
204017fc: 14c70793 addi a5,a4,332
20401800: 14f72423 sw a5,328(a4)
20401804: fa5ff06f j 204017a8 <__register_exitproc+0x14>
20401808: 18c7a683 lw a3,396(a5)
2040180c: 00170713 addi a4,a4,1
20401810: 00e7a223 sw a4,4(a5)
20401814: 00c6e633 or a2,a3,a2
20401818: 18c7a623 sw a2,396(a5)
2040181c: 010787b3 add a5,a5,a6
20401820: 00b7a423 sw a1,8(a5)
20401824: 00000513 li a0,0
20401828: 00008067 ret
2040182c: fff00513 li a0,-1
20401830: 00008067 ret
2020-06-18 12:15:52 +02:00
20401834 <__call_exitprocs>:
20401834: fd010113 addi sp,sp,-48
20401838: 5fbff797 auipc a5,0x5fbff
2040183c: bf078793 addi a5,a5,-1040 # 80000428 <_global_impure_ptr>
20401840: 01812423 sw s8,8(sp)
20401844: 0007ac03 lw s8,0(a5)
20401848: 01312e23 sw s3,28(sp)
2040184c: 01412c23 sw s4,24(sp)
20401850: 01512a23 sw s5,20(sp)
20401854: 01612823 sw s6,16(sp)
20401858: 02112623 sw ra,44(sp)
2040185c: 02812423 sw s0,40(sp)
20401860: 02912223 sw s1,36(sp)
20401864: 03212023 sw s2,32(sp)
20401868: 01712623 sw s7,12(sp)
2040186c: 00050a93 mv s5,a0
20401870: 00058b13 mv s6,a1
20401874: 00100a13 li s4,1
20401878: fff00993 li s3,-1
2040187c: 148c2903 lw s2,328(s8)
20401880: 02090863 beqz s2,204018b0 <__call_exitprocs+0x7c>
20401884: 00492483 lw s1,4(s2)
20401888: fff48413 addi s0,s1,-1
2040188c: 02044263 bltz s0,204018b0 <__call_exitprocs+0x7c>
20401890: 00249493 slli s1,s1,0x2
20401894: 009904b3 add s1,s2,s1
20401898: 040b0463 beqz s6,204018e0 <__call_exitprocs+0xac>
2040189c: 1044a783 lw a5,260(s1)
204018a0: 05678063 beq a5,s6,204018e0 <__call_exitprocs+0xac>
204018a4: fff40413 addi s0,s0,-1
204018a8: ffc48493 addi s1,s1,-4
204018ac: ff3416e3 bne s0,s3,20401898 <__call_exitprocs+0x64>
204018b0: 02c12083 lw ra,44(sp)
204018b4: 02812403 lw s0,40(sp)
204018b8: 02412483 lw s1,36(sp)
204018bc: 02012903 lw s2,32(sp)
204018c0: 01c12983 lw s3,28(sp)
204018c4: 01812a03 lw s4,24(sp)
204018c8: 01412a83 lw s5,20(sp)
204018cc: 01012b03 lw s6,16(sp)
204018d0: 00c12b83 lw s7,12(sp)
204018d4: 00812c03 lw s8,8(sp)
204018d8: 03010113 addi sp,sp,48
204018dc: 00008067 ret
204018e0: 00492783 lw a5,4(s2)
204018e4: 0044a683 lw a3,4(s1)
204018e8: fff78793 addi a5,a5,-1
204018ec: 04878a63 beq a5,s0,20401940 <__call_exitprocs+0x10c>
204018f0: 0004a223 sw zero,4(s1)
204018f4: fa0688e3 beqz a3,204018a4 <__call_exitprocs+0x70>
204018f8: 18892783 lw a5,392(s2)
204018fc: 008a1733 sll a4,s4,s0
20401900: 00492b83 lw s7,4(s2)
20401904: 00f777b3 and a5,a4,a5
20401908: 00079e63 bnez a5,20401924 <__call_exitprocs+0xf0>
2040190c: 000680e7 jalr a3
20401910: 00492783 lw a5,4(s2)
20401914: f77794e3 bne a5,s7,2040187c <__call_exitprocs+0x48>
20401918: 148c2783 lw a5,328(s8)
2040191c: f92784e3 beq a5,s2,204018a4 <__call_exitprocs+0x70>
20401920: f5dff06f j 2040187c <__call_exitprocs+0x48>
20401924: 18c92783 lw a5,396(s2)
20401928: 0844a583 lw a1,132(s1)
2040192c: 00f77733 and a4,a4,a5
20401930: 00071c63 bnez a4,20401948 <__call_exitprocs+0x114>
20401934: 000a8513 mv a0,s5
20401938: 000680e7 jalr a3
2040193c: fd5ff06f j 20401910 <__call_exitprocs+0xdc>
20401940: 00892223 sw s0,4(s2)
20401944: fb1ff06f j 204018f4 <__call_exitprocs+0xc0>
20401948: 00058513 mv a0,a1
2040194c: 000680e7 jalr a3
20401950: fc1ff06f j 20401910 <__call_exitprocs+0xdc>
2020-06-18 12:15:52 +02:00
20401954 <__muldf3>:
20401954: fd010113 addi sp,sp,-48
20401958: 01312e23 sw s3,28(sp)
2040195c: 0145d993 srli s3,a1,0x14
20401960: 02812423 sw s0,40(sp)
20401964: 02912223 sw s1,36(sp)
20401968: 01412c23 sw s4,24(sp)
2040196c: 01512a23 sw s5,20(sp)
20401970: 01612823 sw s6,16(sp)
20401974: 00c59493 slli s1,a1,0xc
20401978: 02112623 sw ra,44(sp)
2040197c: 03212023 sw s2,32(sp)
20401980: 01712623 sw s7,12(sp)
20401984: 7ff9f993 andi s3,s3,2047
20401988: 00050413 mv s0,a0
2040198c: 00060b13 mv s6,a2
20401990: 00068a93 mv s5,a3
20401994: 00c4d493 srli s1,s1,0xc
20401998: 01f5da13 srli s4,a1,0x1f
2040199c: 0a098463 beqz s3,20401a44 <__muldf3+0xf0>
204019a0: 7ff00793 li a5,2047
204019a4: 10f98263 beq s3,a5,20401aa8 <__muldf3+0x154>
204019a8: 01d55793 srli a5,a0,0x1d
204019ac: 00349493 slli s1,s1,0x3
204019b0: 0097e4b3 or s1,a5,s1
204019b4: 008007b7 lui a5,0x800
204019b8: 00f4e4b3 or s1,s1,a5
204019bc: 00351913 slli s2,a0,0x3
204019c0: c0198993 addi s3,s3,-1023
204019c4: 00000b93 li s7,0
204019c8: 014ad513 srli a0,s5,0x14
204019cc: 00ca9413 slli s0,s5,0xc
204019d0: 7ff57513 andi a0,a0,2047
204019d4: 00c45413 srli s0,s0,0xc
204019d8: 01fada93 srli s5,s5,0x1f
204019dc: 10050263 beqz a0,20401ae0 <__muldf3+0x18c>
204019e0: 7ff00793 li a5,2047
204019e4: 16f50263 beq a0,a5,20401b48 <__muldf3+0x1f4>
204019e8: 01db5793 srli a5,s6,0x1d
204019ec: 00341413 slli s0,s0,0x3
204019f0: 0087e433 or s0,a5,s0
204019f4: 008007b7 lui a5,0x800
204019f8: 00f46433 or s0,s0,a5
204019fc: c0150513 addi a0,a0,-1023
20401a00: 003b1793 slli a5,s6,0x3
20401a04: 00000713 li a4,0
20401a08: 002b9693 slli a3,s7,0x2
20401a0c: 00e6e6b3 or a3,a3,a4
20401a10: 00a989b3 add s3,s3,a0
20401a14: fff68693 addi a3,a3,-1
20401a18: 00e00613 li a2,14
20401a1c: 015a4833 xor a6,s4,s5
20401a20: 00198893 addi a7,s3,1
20401a24: 14d66e63 bltu a2,a3,20401b80 <__muldf3+0x22c>
20401a28: 00001617 auipc a2,0x1
20401a2c: 92c60613 addi a2,a2,-1748 # 20402354 <__clzsi2+0x23c>
20401a30: 00269693 slli a3,a3,0x2
20401a34: 00c686b3 add a3,a3,a2
20401a38: 0006a683 lw a3,0(a3)
20401a3c: 00c686b3 add a3,a3,a2
20401a40: 00068067 jr a3
20401a44: 00a4e933 or s2,s1,a0
20401a48: 06090c63 beqz s2,20401ac0 <__muldf3+0x16c>
20401a4c: 04048063 beqz s1,20401a8c <__muldf3+0x138>
20401a50: 00048513 mv a0,s1
20401a54: 6c4000ef jal ra,20402118 <__clzsi2>
20401a58: ff550713 addi a4,a0,-11
20401a5c: 01c00793 li a5,28
20401a60: 02e7cc63 blt a5,a4,20401a98 <__muldf3+0x144>
20401a64: 01d00793 li a5,29
20401a68: ff850913 addi s2,a0,-8
20401a6c: 40e787b3 sub a5,a5,a4
20401a70: 012494b3 sll s1,s1,s2
20401a74: 00f457b3 srl a5,s0,a5
20401a78: 0097e4b3 or s1,a5,s1
20401a7c: 01241933 sll s2,s0,s2
20401a80: c0d00993 li s3,-1011
20401a84: 40a989b3 sub s3,s3,a0
20401a88: f3dff06f j 204019c4 <__muldf3+0x70>
20401a8c: 68c000ef jal ra,20402118 <__clzsi2>
20401a90: 02050513 addi a0,a0,32
20401a94: fc5ff06f j 20401a58 <__muldf3+0x104>
20401a98: fd850493 addi s1,a0,-40
20401a9c: 009414b3 sll s1,s0,s1
20401aa0: 00000913 li s2,0
20401aa4: fddff06f j 20401a80 <__muldf3+0x12c>
20401aa8: 00a4e933 or s2,s1,a0
20401aac: 02090263 beqz s2,20401ad0 <__muldf3+0x17c>
20401ab0: 00050913 mv s2,a0
20401ab4: 7ff00993 li s3,2047
20401ab8: 00300b93 li s7,3
20401abc: f0dff06f j 204019c8 <__muldf3+0x74>
20401ac0: 00000493 li s1,0
20401ac4: 00000993 li s3,0
20401ac8: 00100b93 li s7,1
20401acc: efdff06f j 204019c8 <__muldf3+0x74>
20401ad0: 00000493 li s1,0
20401ad4: 7ff00993 li s3,2047
20401ad8: 00200b93 li s7,2
20401adc: eedff06f j 204019c8 <__muldf3+0x74>
20401ae0: 016467b3 or a5,s0,s6
20401ae4: 06078e63 beqz a5,20401b60 <__muldf3+0x20c>
20401ae8: 04040063 beqz s0,20401b28 <__muldf3+0x1d4>
20401aec: 00040513 mv a0,s0
20401af0: 628000ef jal ra,20402118 <__clzsi2>
20401af4: ff550693 addi a3,a0,-11
20401af8: 01c00793 li a5,28
20401afc: 02d7ce63 blt a5,a3,20401b38 <__muldf3+0x1e4>
20401b00: 01d00713 li a4,29
20401b04: ff850793 addi a5,a0,-8
20401b08: 40d70733 sub a4,a4,a3
20401b0c: 00f41433 sll s0,s0,a5
20401b10: 00eb5733 srl a4,s6,a4
20401b14: 00876433 or s0,a4,s0
20401b18: 00fb17b3 sll a5,s6,a5
20401b1c: c0d00713 li a4,-1011
20401b20: 40a70533 sub a0,a4,a0
20401b24: ee1ff06f j 20401a04 <__muldf3+0xb0>
20401b28: 000b0513 mv a0,s6
20401b2c: 5ec000ef jal ra,20402118 <__clzsi2>
20401b30: 02050513 addi a0,a0,32
20401b34: fc1ff06f j 20401af4 <__muldf3+0x1a0>
20401b38: fd850413 addi s0,a0,-40
20401b3c: 008b1433 sll s0,s6,s0
20401b40: 00000793 li a5,0
20401b44: fd9ff06f j 20401b1c <__muldf3+0x1c8>
20401b48: 016467b3 or a5,s0,s6
20401b4c: 02078263 beqz a5,20401b70 <__muldf3+0x21c>
20401b50: 000b0793 mv a5,s6
20401b54: 7ff00513 li a0,2047
20401b58: 00300713 li a4,3
20401b5c: eadff06f j 20401a08 <__muldf3+0xb4>
20401b60: 00000413 li s0,0
20401b64: 00000513 li a0,0
20401b68: 00100713 li a4,1
20401b6c: e9dff06f j 20401a08 <__muldf3+0xb4>
20401b70: 00000413 li s0,0
20401b74: 7ff00513 li a0,2047
20401b78: 00200713 li a4,2
20401b7c: e8dff06f j 20401a08 <__muldf3+0xb4>
20401b80: 000102b7 lui t0,0x10
20401b84: fff28313 addi t1,t0,-1 # ffff <__stack_size+0xf7ff>
20401b88: 01095f13 srli t5,s2,0x10
20401b8c: 0107df93 srli t6,a5,0x10
20401b90: 00697933 and s2,s2,t1
20401b94: 0067f7b3 and a5,a5,t1
20401b98: 00090513 mv a0,s2
20401b9c: 00078593 mv a1,a5
20401ba0: 4a0000ef jal ra,20402040 <__mulsi3>
20401ba4: 00050e93 mv t4,a0
20401ba8: 000f8593 mv a1,t6
20401bac: 00090513 mv a0,s2
20401bb0: 490000ef jal ra,20402040 <__mulsi3>
20401bb4: 00050e13 mv t3,a0
20401bb8: 00078593 mv a1,a5
20401bbc: 000f0513 mv a0,t5
20401bc0: 480000ef jal ra,20402040 <__mulsi3>
20401bc4: 00050a13 mv s4,a0
20401bc8: 000f8593 mv a1,t6
20401bcc: 000f0513 mv a0,t5
20401bd0: 470000ef jal ra,20402040 <__mulsi3>
20401bd4: 010ed713 srli a4,t4,0x10
20401bd8: 014e0e33 add t3,t3,s4
20401bdc: 01c70733 add a4,a4,t3
20401be0: 00050393 mv t2,a0
20401be4: 01477463 bgeu a4,s4,20401bec <__muldf3+0x298>
20401be8: 005503b3 add t2,a0,t0
20401bec: 00677e33 and t3,a4,t1
20401bf0: 006efeb3 and t4,t4,t1
20401bf4: 01045a13 srli s4,s0,0x10
20401bf8: 010e1e13 slli t3,t3,0x10
20401bfc: 00647433 and s0,s0,t1
20401c00: 01075293 srli t0,a4,0x10
20401c04: 01de0e33 add t3,t3,t4
20401c08: 00090513 mv a0,s2
20401c0c: 00040593 mv a1,s0
20401c10: 430000ef jal ra,20402040 <__mulsi3>
20401c14: 00050e93 mv t4,a0
20401c18: 000a0593 mv a1,s4
20401c1c: 00090513 mv a0,s2
20401c20: 420000ef jal ra,20402040 <__mulsi3>
20401c24: 00050713 mv a4,a0
20401c28: 00040593 mv a1,s0
20401c2c: 000f0513 mv a0,t5
20401c30: 410000ef jal ra,20402040 <__mulsi3>
20401c34: 00050313 mv t1,a0
20401c38: 000a0593 mv a1,s4
20401c3c: 000f0513 mv a0,t5
20401c40: 400000ef jal ra,20402040 <__mulsi3>
20401c44: 010ed693 srli a3,t4,0x10
20401c48: 00670733 add a4,a4,t1
20401c4c: 00e686b3 add a3,a3,a4
20401c50: 0066f663 bgeu a3,t1,20401c5c <__muldf3+0x308>
20401c54: 00010737 lui a4,0x10
20401c58: 00e50533 add a0,a0,a4
20401c5c: 00010ab7 lui s5,0x10
20401c60: fffa8613 addi a2,s5,-1 # ffff <__stack_size+0xf7ff>
20401c64: 0106d713 srli a4,a3,0x10
20401c68: 00c6f6b3 and a3,a3,a2
20401c6c: 01069693 slli a3,a3,0x10
20401c70: 00cefeb3 and t4,t4,a2
20401c74: 00a70f33 add t5,a4,a0
20401c78: 01d68eb3 add t4,a3,t4
20401c7c: 0104d713 srli a4,s1,0x10
20401c80: 00c4f4b3 and s1,s1,a2
20401c84: 01d282b3 add t0,t0,t4
20401c88: 00048513 mv a0,s1
20401c8c: 00078593 mv a1,a5
20401c90: 3b0000ef jal ra,20402040 <__mulsi3>
20401c94: 00050913 mv s2,a0
20401c98: 000f8593 mv a1,t6
20401c9c: 00048513 mv a0,s1
20401ca0: 3a0000ef jal ra,20402040 <__mulsi3>
20401ca4: 00050313 mv t1,a0
20401ca8: 00078593 mv a1,a5
20401cac: 00070513 mv a0,a4
20401cb0: 390000ef jal ra,20402040 <__mulsi3>
20401cb4: 00050b13 mv s6,a0
20401cb8: 000f8593 mv a1,t6
20401cbc: 00070513 mv a0,a4
20401cc0: 380000ef jal ra,20402040 <__mulsi3>
20401cc4: 01095793 srli a5,s2,0x10
20401cc8: 01630333 add t1,t1,s6
20401ccc: 006787b3 add a5,a5,t1
20401cd0: 0167f463 bgeu a5,s6,20401cd8 <__muldf3+0x384>
20401cd4: 01550533 add a0,a0,s5
20401cd8: 00010ab7 lui s5,0x10
20401cdc: fffa8693 addi a3,s5,-1 # ffff <__stack_size+0xf7ff>
20401ce0: 00d7f333 and t1,a5,a3
20401ce4: 0107d613 srli a2,a5,0x10
20401ce8: 00d97933 and s2,s2,a3
20401cec: 01031313 slli t1,t1,0x10
20401cf0: 00a60fb3 add t6,a2,a0
20401cf4: 01230333 add t1,t1,s2
20401cf8: 00048513 mv a0,s1
20401cfc: 00040593 mv a1,s0
20401d00: 340000ef jal ra,20402040 <__mulsi3>
20401d04: 00050793 mv a5,a0
20401d08: 000a0593 mv a1,s4
20401d0c: 00048513 mv a0,s1
20401d10: 330000ef jal ra,20402040 <__mulsi3>
20401d14: 00050493 mv s1,a0
20401d18: 00040593 mv a1,s0
20401d1c: 00070513 mv a0,a4
20401d20: 320000ef jal ra,20402040 <__mulsi3>
20401d24: 00050913 mv s2,a0
20401d28: 000a0593 mv a1,s4
20401d2c: 00070513 mv a0,a4
20401d30: 310000ef jal ra,20402040 <__mulsi3>
20401d34: 0107d693 srli a3,a5,0x10
20401d38: 012484b3 add s1,s1,s2
20401d3c: 009686b3 add a3,a3,s1
20401d40: 0126f463 bgeu a3,s2,20401d48 <__muldf3+0x3f4>
20401d44: 01550533 add a0,a0,s5
20401d48: 00010637 lui a2,0x10
20401d4c: fff60613 addi a2,a2,-1 # ffff <__stack_size+0xf7ff>
20401d50: 00c6f733 and a4,a3,a2
20401d54: 00c7f7b3 and a5,a5,a2
20401d58: 01071713 slli a4,a4,0x10
20401d5c: 007282b3 add t0,t0,t2
20401d60: 00f70733 add a4,a4,a5
20401d64: 01d2beb3 sltu t4,t0,t4
20401d68: 01e70733 add a4,a4,t5
20401d6c: 01d70433 add s0,a4,t4
20401d70: 006282b3 add t0,t0,t1
20401d74: 01f40633 add a2,s0,t6
20401d78: 0062b333 sltu t1,t0,t1
20401d7c: 006605b3 add a1,a2,t1
20401d80: 01e73733 sltu a4,a4,t5
20401d84: 01d43433 sltu s0,s0,t4
20401d88: 00876433 or s0,a4,s0
20401d8c: 0106d693 srli a3,a3,0x10
20401d90: 01f63633 sltu a2,a2,t6
20401d94: 0065b333 sltu t1,a1,t1
20401d98: 00d40433 add s0,s0,a3
20401d9c: 00666333 or t1,a2,t1
20401da0: 00640433 add s0,s0,t1
20401da4: 00929793 slli a5,t0,0x9
20401da8: 00a40433 add s0,s0,a0
20401dac: 01c7e7b3 or a5,a5,t3
20401db0: 00941413 slli s0,s0,0x9
20401db4: 0175d513 srli a0,a1,0x17
20401db8: 00f037b3 snez a5,a5
20401dbc: 0172de13 srli t3,t0,0x17
20401dc0: 00959713 slli a4,a1,0x9
20401dc4: 00a46433 or s0,s0,a0
20401dc8: 01c7e7b3 or a5,a5,t3
20401dcc: 00e7e7b3 or a5,a5,a4
20401dd0: 00741713 slli a4,s0,0x7
20401dd4: 10075263 bgez a4,20401ed8 <__muldf3+0x584>
20401dd8: 0017d713 srli a4,a5,0x1
20401ddc: 0017f793 andi a5,a5,1
20401de0: 00f767b3 or a5,a4,a5
20401de4: 01f41713 slli a4,s0,0x1f
20401de8: 00e7e7b3 or a5,a5,a4
20401dec: 00145413 srli s0,s0,0x1
20401df0: 3ff88693 addi a3,a7,1023
20401df4: 0ed05663 blez a3,20401ee0 <__muldf3+0x58c>
20401df8: 0077f713 andi a4,a5,7
20401dfc: 02070063 beqz a4,20401e1c <__muldf3+0x4c8>
20401e00: 00f7f713 andi a4,a5,15
20401e04: 00400613 li a2,4
20401e08: 00c70a63 beq a4,a2,20401e1c <__muldf3+0x4c8>
20401e0c: 00478713 addi a4,a5,4 # 800004 <__stack_size+0x7ff804>
20401e10: 00f737b3 sltu a5,a4,a5
20401e14: 00f40433 add s0,s0,a5
20401e18: 00070793 mv a5,a4
20401e1c: 00741713 slli a4,s0,0x7
20401e20: 00075a63 bgez a4,20401e34 <__muldf3+0x4e0>
20401e24: ff000737 lui a4,0xff000
20401e28: fff70713 addi a4,a4,-1 # feffffff <_sp+0x7effbfff>
20401e2c: 00e47433 and s0,s0,a4
20401e30: 40088693 addi a3,a7,1024
20401e34: 7fe00713 li a4,2046
20401e38: 16d74663 blt a4,a3,20401fa4 <__muldf3+0x650>
20401e3c: 0037d713 srli a4,a5,0x3
20401e40: 01d41793 slli a5,s0,0x1d
20401e44: 00e7e7b3 or a5,a5,a4
20401e48: 00345413 srli s0,s0,0x3
20401e4c: 00c41413 slli s0,s0,0xc
20401e50: 7ff6f713 andi a4,a3,2047
20401e54: 01471713 slli a4,a4,0x14
20401e58: 00c45413 srli s0,s0,0xc
20401e5c: 00e46433 or s0,s0,a4
20401e60: 01f81813 slli a6,a6,0x1f
20401e64: 01046733 or a4,s0,a6
20401e68: 02c12083 lw ra,44(sp)
20401e6c: 02812403 lw s0,40(sp)
20401e70: 02412483 lw s1,36(sp)
20401e74: 02012903 lw s2,32(sp)
20401e78: 01c12983 lw s3,28(sp)
20401e7c: 01812a03 lw s4,24(sp)
20401e80: 01412a83 lw s5,20(sp)
20401e84: 01012b03 lw s6,16(sp)
20401e88: 00c12b83 lw s7,12(sp)
20401e8c: 00078513 mv a0,a5
20401e90: 00070593 mv a1,a4
20401e94: 03010113 addi sp,sp,48
20401e98: 00008067 ret
20401e9c: 000a0813 mv a6,s4
20401ea0: 00048413 mv s0,s1
20401ea4: 00090793 mv a5,s2
20401ea8: 000b8713 mv a4,s7
20401eac: 00200693 li a3,2
20401eb0: 0ed70a63 beq a4,a3,20401fa4 <__muldf3+0x650>
20401eb4: 00300693 li a3,3
20401eb8: 0cd70c63 beq a4,a3,20401f90 <__muldf3+0x63c>
20401ebc: 00100693 li a3,1
20401ec0: f2d718e3 bne a4,a3,20401df0 <__muldf3+0x49c>
20401ec4: 00000413 li s0,0
20401ec8: 00000793 li a5,0
20401ecc: 0880006f j 20401f54 <__muldf3+0x600>
20401ed0: 000a8813 mv a6,s5
20401ed4: fd9ff06f j 20401eac <__muldf3+0x558>
20401ed8: 00098893 mv a7,s3
20401edc: f15ff06f j 20401df0 <__muldf3+0x49c>
20401ee0: 00100613 li a2,1
20401ee4: 40d60633 sub a2,a2,a3
20401ee8: 03800713 li a4,56
20401eec: fcc74ce3 blt a4,a2,20401ec4 <__muldf3+0x570>
20401ef0: 01f00713 li a4,31
20401ef4: 06c74463 blt a4,a2,20401f5c <__muldf3+0x608>
20401ef8: 41e88893 addi a7,a7,1054
20401efc: 01141733 sll a4,s0,a7
20401f00: 00c7d6b3 srl a3,a5,a2
20401f04: 011797b3 sll a5,a5,a7
20401f08: 00d76733 or a4,a4,a3
20401f0c: 00f037b3 snez a5,a5
20401f10: 00f767b3 or a5,a4,a5
20401f14: 00c45433 srl s0,s0,a2
20401f18: 0077f713 andi a4,a5,7
20401f1c: 02070063 beqz a4,20401f3c <__muldf3+0x5e8>
20401f20: 00f7f713 andi a4,a5,15
20401f24: 00400693 li a3,4
20401f28: 00d70a63 beq a4,a3,20401f3c <__muldf3+0x5e8>
20401f2c: 00478713 addi a4,a5,4
20401f30: 00f737b3 sltu a5,a4,a5
20401f34: 00f40433 add s0,s0,a5
20401f38: 00070793 mv a5,a4
20401f3c: 00841713 slli a4,s0,0x8
20401f40: 06074a63 bltz a4,20401fb4 <__muldf3+0x660>
20401f44: 01d41713 slli a4,s0,0x1d
20401f48: 0037d793 srli a5,a5,0x3
20401f4c: 00f767b3 or a5,a4,a5
20401f50: 00345413 srli s0,s0,0x3
20401f54: 00000693 li a3,0
20401f58: ef5ff06f j 20401e4c <__muldf3+0x4f8>
20401f5c: fe100713 li a4,-31
20401f60: 40d70733 sub a4,a4,a3
20401f64: 02000593 li a1,32
20401f68: 00e45733 srl a4,s0,a4
20401f6c: 00000693 li a3,0
20401f70: 00b60663 beq a2,a1,20401f7c <__muldf3+0x628>
20401f74: 43e88893 addi a7,a7,1086
20401f78: 011416b3 sll a3,s0,a7
20401f7c: 00f6e7b3 or a5,a3,a5
20401f80: 00f037b3 snez a5,a5
20401f84: 00f767b3 or a5,a4,a5
20401f88: 00000413 li s0,0
20401f8c: f8dff06f j 20401f18 <__muldf3+0x5c4>
20401f90: 00080437 lui s0,0x80
20401f94: 00000793 li a5,0
20401f98: 7ff00693 li a3,2047
20401f9c: 00000813 li a6,0
20401fa0: eadff06f j 20401e4c <__muldf3+0x4f8>
20401fa4: 00000413 li s0,0
20401fa8: 00000793 li a5,0
20401fac: 7ff00693 li a3,2047
20401fb0: e9dff06f j 20401e4c <__muldf3+0x4f8>
20401fb4: 00000413 li s0,0
20401fb8: 00000793 li a5,0
20401fbc: 00100693 li a3,1
20401fc0: e8dff06f j 20401e4c <__muldf3+0x4f8>
2020-06-18 12:15:52 +02:00
20401fc4 <__fixunsdfsi>:
20401fc4: 0145d713 srli a4,a1,0x14
20401fc8: 001006b7 lui a3,0x100
20401fcc: 00050613 mv a2,a0
20401fd0: fff68793 addi a5,a3,-1 # fffff <__stack_size+0xff7ff>
20401fd4: 7ff77713 andi a4,a4,2047
20401fd8: 3fe00513 li a0,1022
20401fdc: 00b7f7b3 and a5,a5,a1
20401fe0: 01f5d593 srli a1,a1,0x1f
20401fe4: 04e55a63 bge a0,a4,20402038 <__fixunsdfsi+0x74>
20401fe8: 00000513 li a0,0
20401fec: 00059863 bnez a1,20401ffc <__fixunsdfsi+0x38>
20401ff0: 41e00593 li a1,1054
20401ff4: fff00513 li a0,-1
20401ff8: 00e5d463 bge a1,a4,20402000 <__fixunsdfsi+0x3c>
20401ffc: 00008067 ret
20402000: 00d7e7b3 or a5,a5,a3
20402004: 43300693 li a3,1075
20402008: 40e686b3 sub a3,a3,a4
2040200c: 01f00593 li a1,31
20402010: 00d5cc63 blt a1,a3,20402028 <__fixunsdfsi+0x64>
20402014: bed70713 addi a4,a4,-1043
20402018: 00e797b3 sll a5,a5,a4
2040201c: 00d65533 srl a0,a2,a3
20402020: 00a7e533 or a0,a5,a0
20402024: 00008067 ret
20402028: 41300513 li a0,1043
2040202c: 40e50533 sub a0,a0,a4
20402030: 00a7d533 srl a0,a5,a0
20402034: 00008067 ret
20402038: 00000513 li a0,0
2040203c: 00008067 ret
2020-06-18 12:15:52 +02:00
20402040 <__mulsi3>:
20402040: 00050613 mv a2,a0
20402044: 00000513 li a0,0
20402048: 0015f693 andi a3,a1,1
2040204c: 00068463 beqz a3,20402054 <__mulsi3+0x14>
20402050: 00c50533 add a0,a0,a2
20402054: 0015d593 srli a1,a1,0x1
20402058: 00161613 slli a2,a2,0x1
2040205c: fe0596e3 bnez a1,20402048 <__mulsi3+0x8>
20402060: 00008067 ret
2020-06-18 12:15:52 +02:00
20402064 <__divsi3>:
20402064: 06054063 bltz a0,204020c4 <__umodsi3+0x10>
20402068: 0605c663 bltz a1,204020d4 <__umodsi3+0x20>
2020-06-18 12:15:52 +02:00
2040206c <__udivsi3>:
2040206c: 00058613 mv a2,a1
20402070: 00050593 mv a1,a0
20402074: fff00513 li a0,-1
20402078: 02060c63 beqz a2,204020b0 <__udivsi3+0x44>
2040207c: 00100693 li a3,1
20402080: 00b67a63 bgeu a2,a1,20402094 <__udivsi3+0x28>
20402084: 00c05863 blez a2,20402094 <__udivsi3+0x28>
20402088: 00161613 slli a2,a2,0x1
2040208c: 00169693 slli a3,a3,0x1
20402090: feb66ae3 bltu a2,a1,20402084 <__udivsi3+0x18>
20402094: 00000513 li a0,0
20402098: 00c5e663 bltu a1,a2,204020a4 <__udivsi3+0x38>
2040209c: 40c585b3 sub a1,a1,a2
204020a0: 00d56533 or a0,a0,a3
204020a4: 0016d693 srli a3,a3,0x1
204020a8: 00165613 srli a2,a2,0x1
204020ac: fe0696e3 bnez a3,20402098 <__udivsi3+0x2c>
204020b0: 00008067 ret
2020-06-18 12:15:52 +02:00
204020b4 <__umodsi3>:
204020b4: 00008293 mv t0,ra
204020b8: fb5ff0ef jal ra,2040206c <__udivsi3>
204020bc: 00058513 mv a0,a1
204020c0: 00028067 jr t0
204020c4: 40a00533 neg a0,a0
204020c8: 0005d863 bgez a1,204020d8 <__umodsi3+0x24>
204020cc: 40b005b3 neg a1,a1
204020d0: f9dff06f j 2040206c <__udivsi3>
204020d4: 40b005b3 neg a1,a1
204020d8: 00008293 mv t0,ra
204020dc: f91ff0ef jal ra,2040206c <__udivsi3>
204020e0: 40a00533 neg a0,a0
204020e4: 00028067 jr t0
2020-06-18 12:15:52 +02:00
204020e8 <__modsi3>:
204020e8: 00008293 mv t0,ra
204020ec: 0005ca63 bltz a1,20402100 <__modsi3+0x18>
204020f0: 00054c63 bltz a0,20402108 <__modsi3+0x20>
204020f4: f79ff0ef jal ra,2040206c <__udivsi3>
204020f8: 00058513 mv a0,a1
204020fc: 00028067 jr t0
20402100: 40b005b3 neg a1,a1
20402104: fe0558e3 bgez a0,204020f4 <__modsi3+0xc>
20402108: 40a00533 neg a0,a0
2040210c: f61ff0ef jal ra,2040206c <__udivsi3>
20402110: 40b00533 neg a0,a1
20402114: 00028067 jr t0
2020-06-18 12:15:52 +02:00
20402118 <__clzsi2>:
20402118: 000107b7 lui a5,0x10
2040211c: 02f57a63 bgeu a0,a5,20402150 <__clzsi2+0x38>
20402120: 0ff00793 li a5,255
20402124: 00a7b7b3 sltu a5,a5,a0
20402128: 00379793 slli a5,a5,0x3
2040212c: 02000713 li a4,32
20402130: 40f70733 sub a4,a4,a5
20402134: 00f557b3 srl a5,a0,a5
20402138: 00000517 auipc a0,0x0
2040213c: 25850513 addi a0,a0,600 # 20402390 <__clz_tab>
20402140: 00f507b3 add a5,a0,a5
20402144: 0007c503 lbu a0,0(a5) # 10000 <__stack_size+0xf800>
20402148: 40a70533 sub a0,a4,a0
2040214c: 00008067 ret
20402150: 01000737 lui a4,0x1000
20402154: 01000793 li a5,16
20402158: fce56ae3 bltu a0,a4,2040212c <__clzsi2+0x14>
2040215c: 01800793 li a5,24
20402160: fcdff06f j 2040212c <__clzsi2+0x14>