From ba27721c4d100a94dfbba558baef536e07283f71 Mon Sep 17 00:00:00 2001 From: Stanislaw Kaushanski Date: Fri, 4 Sep 2020 12:56:12 +0200 Subject: [PATCH] run different code depending on the MHARTID reg value --- raven/hello_raven | Bin 72096 -> 71644 bytes raven/hello_raven.c | 79 +- raven/hello_raven.dis | 2815 ++++++++++++++++++++--------------------- 3 files changed, 1383 insertions(+), 1511 deletions(-) diff --git a/raven/hello_raven b/raven/hello_raven index 06b242b4951bb6bc6cd0cfeb0feb280d38c7abb7..2e8eab6c70de4bd58fbe8a07b0906bf87ae12db2 100755 GIT binary patch delta 17179 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 delta 17678 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 diff --git a/raven/hello_raven.c b/raven/hello_raven.c index 2bff6a7..85f00ef 100644 --- a/raven/hello_raven.c +++ b/raven/hello_raven.c @@ -5,7 +5,7 @@ #include "platform.h" #include "encoding.h" -#define IOF_SPI1_MASK (0x38 | 0x4) +#define IOF_ENABLE_TERMINAL (0x30000) int factorial(int i){ volatile int result = 1; @@ -16,62 +16,35 @@ int factorial(int i){ } -unsigned read_adc(unsigned index){ - unsigned char txdata[3]; - unsigned result=0; - volatile int x; - txdata[0]=0x1; - txdata[1]=(0x8 | (index&0x7))<<4; - txdata[2]=0x0; - - GPIO_REG(GPIO_IOF_SEL) &= ~IOF_SPI1_MASK; - GPIO_REG(GPIO_IOF_EN) |= IOF_SPI1_MASK; - - SPI1_REG(SPI_REG_FMT) = - SPI_FMT_PROTO(SPI_PROTO_S) | - SPI_FMT_ENDIAN(SPI_ENDIAN_MSB) | - SPI_FMT_DIR(SPI_DIR_RX) | - SPI_FMT_LEN(8); - SPI1_REG(SPI_REG_CSID) = 0; - SPI1_REG(SPI_REG_CSDEF) = 0xFFFF; - SPI1_REG(SPI_REG_SCKDIV) = 7; - SPI1_REG(SPI_REG_SCKMODE) = SPI_SCK_PHA | SPI_SCK_POL; //shifted on the leading edge, sampled on trailing, Inactive state of SCK is logical 1 - SPI1_REG(SPI_REG_CSMODE) = SPI_CSMODE_HOLD; - - while (SPI1_REG(SPI_REG_TXFIFO) & SPI_TXFIFO_FULL) ; - SPI1_REG(SPI_REG_TXFIFO) = txdata[0]; - while ((x = SPI1_REG(SPI_REG_RXFIFO)) & SPI_RXFIFO_EMPTY); - - while (SPI1_REG(SPI_REG_TXFIFO) & SPI_TXFIFO_FULL) ; - SPI1_REG(SPI_REG_TXFIFO) = txdata[1]; - while ((x = SPI1_REG(SPI_REG_RXFIFO)) & SPI_RXFIFO_EMPTY); - result = (x & 0xFF)<<8; - - while (SPI1_REG(SPI_REG_TXFIFO) & SPI_TXFIFO_FULL) ; - SPI1_REG(SPI_REG_TXFIFO) = txdata[2]; - while ((x = SPI1_REG(SPI_REG_RXFIFO)) & SPI_RXFIFO_EMPTY); - result += (x & 0xFF); - - SPI1_REG(SPI_REG_CSMODE) = SPI_CSMODE_AUTO; - return result&0x03ff; -} - -//int read_csr(int csr_num) __attribute__((always_inline)) { -// int result; -// asm("csrr %0, %1" : "=r"(result) : "I"(csr_num)); -// return result; -//} int main() { - GPIO_REG(GPIO_IOF_EN) |= 0x30000; - *(int *)0x90000000 = 0x5AA5; - int result = factorial (10); - printf("Factorial of 10 is %d\n", result); - for(unsigned i=0; i<8; ++i) - printf("ADC%u value read is %u\n", i, read_adc(i)); - printf("Read a value from another thread %x\n", *(int *)0x80000000); + GPIO_REG(GPIO_IOF_EN) |= IOF_ENABLE_TERMINAL; // enable GPIO connection to the terminal + + int hartid = read_csr(0xf14); // CSR_MHARTID + int target_mem_base = 0x90000000; + int local_mem_base = 0x80000000; + + if (hartid == 0) { + int val_a = 2; + int val_b = 3; + *(int *)target_mem_base = val_a; + *(int *)(target_mem_base+4) = val_b; + printf("HW thread ID %d: write value A=%x and value B=%x to thread 1\n", hartid, val_a, val_b); + } + + + int result = factorial (10); + printf("HW thread ID %d: spend some time calculating factorial of 10 = %x\n", hartid, result); + + if (hartid == 1) { + int val_a = *(int *)local_mem_base; + int val_b = *(int *)(local_mem_base+4); + int sum = val_a + val_b; + printf("HW thread ID %d: sum of A+B=%x \n", hartid, sum); + } + printf("End of execution"); return 0; } diff --git a/raven/hello_raven.dis b/raven/hello_raven.dis index 0e71dac..5d8bf05 100644 --- a/raven/hello_raven.dis +++ b/raven/hello_raven.dis @@ -10,7 +10,7 @@ Disassembly of section .init: 20400008: 5fc04117 auipc sp,0x5fc04 2040000c: ff810113 addi sp,sp,-8 # 80004000 <_sp> 20400010: 00002517 auipc a0,0x2 -20400014: 4d450513 addi a0,a0,1236 # 204024e4 <__fini_array_end> +20400014: 39450513 addi a0,a0,916 # 204023a4 <__fini_array_end> 20400018: 5fc00597 auipc a1,0x5fc00 2040001c: fe858593 addi a1,a1,-24 # 80000000 <_data> 20400020: 5fc00617 auipc a2,0x5fc00 @@ -30,13 +30,13 @@ Disassembly of section .init: 20400058: 00450513 addi a0,a0,4 2040005c: feb56ce3 bltu a0,a1,20400054 <_start+0x54> 20400060: 00001517 auipc a0,0x1 -20400064: 62450513 addi a0,a0,1572 # 20401684 <__libc_fini_array> -20400068: 5d0010ef jal ra,20401638 -2040006c: 678010ef jal ra,204016e4 <__libc_init_array> +20400064: 49850513 addi a0,a0,1176 # 204014f8 <__libc_fini_array> +20400068: 444010ef jal ra,204014ac +2040006c: 4ec010ef jal ra,20401558 <__libc_init_array> 20400070: 00000513 li a0,0 20400074: 00000593 li a1,0 -20400078: 505000ef jal ra,20400d7c
-2040007c: 5d00106f j 2040164c +20400078: 321000ef jal ra,20400b98
+2040007c: 4440106f j 204014c0 Disassembly of section .text: @@ -45,8 +45,8 @@ Disassembly of section .text: 20400084: f8078793 addi a5,a5,-128 # 0 <__stack_size-0x800> 20400088: 00078863 beqz a5,20400098 2040008c: 00001517 auipc a0,0x1 -20400090: 5f850513 addi a0,a0,1528 # 20401684 <__libc_fini_array> -20400094: 5a40106f j 20401638 +20400090: 46c50513 addi a0,a0,1132 # 204014f8 <__libc_fini_array> +20400094: 4180106f j 204014ac 20400098: 00008067 ret 2040009c : @@ -85,7 +85,7 @@ Disassembly of section .text: 2040011c: 34202573 csrr a0,mcause 20400120: 341025f3 csrr a1,mepc 20400124: 00010613 mv a2,sp -20400128: 260010ef jal ra,20401388 +20400128: 0d4010ef jal ra,204011fc 2040012c: 34151073 csrw mepc,a0 20400130: 000022b7 lui t0,0x2 20400134: 80028293 addi t0,t0,-2048 # 1800 <__stack_size+0x1000> @@ -135,7 +135,7 @@ Disassembly of section .text: 204001dc: 00100613 li a2,1 204001e0: 00078593 mv a1,a5 204001e4: 00100513 li a0,1 -204001e8: 2ac010ef jal ra,20401494 <__wrap_write> +204001e8: 120010ef jal ra,20401308 <__wrap_write> 204001ec: 00050713 mv a4,a0 204001f0: 00100793 li a5,1 204001f4: 00f71663 bne a4,a5,20400200 @@ -242,7 +242,7 @@ Disassembly of section .text: 20400368: f5442783 lw a5,-172(s0) 2040036c: f5042583 lw a1,-176(s0) 20400370: 00078513 mv a0,a5 -20400374: 569010ef jal ra,204020dc <__umodsi3> +20400374: 3dd010ef jal ra,20401f50 <__umodsi3> 20400378: 00050793 mv a5,a0 2040037c: 00078713 mv a4,a5 20400380: 00249793 slli a5,s1,0x2 @@ -254,7 +254,7 @@ Disassembly of section .text: 20400398: 00f76e63 bltu a4,a5,204003b4 2040039c: f5042583 lw a1,-176(s0) 204003a0: f5442503 lw a0,-172(s0) -204003a4: 4f1010ef jal ra,20402094 <__udivsi3> +204003a4: 365010ef jal ra,20401f08 <__udivsi3> 204003a8: 00050793 mv a5,a0 204003ac: f4f42a23 sw a5,-172(s0) 204003b0: fadff06f j 2040035c @@ -339,11 +339,11 @@ Disassembly of section .text: 204004e4: fd842783 lw a5,-40(s0) 204004e8: fdc42803 lw a6,-36(s0) 204004ec: 20402737 lui a4,0x20402 -204004f0: 2f072603 lw a2,752(a4) # 204022f0 <__clzsi2+0x1b0> -204004f4: 2f472683 lw a3,756(a4) +204004f0: 16072603 lw a2,352(a4) # 20402160 <__clzsi2+0x1ac> +204004f4: 16472683 lw a3,356(a4) 204004f8: 00078513 mv a0,a5 204004fc: 00080593 mv a1,a6 -20400500: 47c010ef jal ra,2040197c <__muldf3> +20400500: 2f0010ef jal ra,204017f0 <__muldf3> 20400504: 00050793 mv a5,a0 20400508: 00058813 mv a6,a1 2040050c: fcf42c23 sw a5,-40(s0) @@ -360,7 +360,7 @@ Disassembly of section .text: 20400538: fdc42803 lw a6,-36(s0) 2040053c: 00078513 mv a0,a5 20400540: 00080593 mv a1,a6 -20400544: 2a9010ef jal ra,20401fec <__fixunsdfsi> +20400544: 11d010ef jal ra,20401e60 <__fixunsdfsi> 20400548: 00050613 mv a2,a0 2040054c: fb440593 addi a1,s0,-76 20400550: 00000793 li a5,0 @@ -469,7 +469,7 @@ Disassembly of section .text: 204006e4: 30f76663 bltu a4,a5,204009f0 204006e8: 00279713 slli a4,a5,0x2 204006ec: 204027b7 lui a5,0x20402 -204006f0: 19878793 addi a5,a5,408 # 20402198 <__clzsi2+0x58> +204006f0: 00878793 addi a5,a5,8 # 20402008 <__clzsi2+0x54> 204006f4: 00f707b3 add a5,a4,a5 204006f8: 0007a783 lw a5,0(a5) 204006fc: 00078067 jr a5 @@ -551,7 +551,7 @@ Disassembly of section .text: 2040082c: 0007a903 lw s2,0(a5) 20400830: 00091663 bnez s2,2040083c 20400834: 204027b7 lui a5,0x20402 -20400838: 19078913 addi s2,a5,400 # 20402190 <__clzsi2+0x50> +20400838: 00078913 mv s2,a5 2040083c: fe042783 lw a5,-32(s0) 20400840: 08f05063 blez a5,204008c0 20400844: fdb44703 lbu a4,-37(s0) @@ -560,7 +560,7 @@ Disassembly of section .text: 20400850: fdc42783 lw a5,-36(s0) 20400854: 00078593 mv a1,a5 20400858: 00090513 mv a0,s2 -2040085c: 71d000ef jal ra,20401778 +2040085c: 591000ef jal ra,204015ec 20400860: 00050713 mv a4,a0 20400864: fe042783 lw a5,-32(s0) 20400868: 40e787b3 sub a5,a5,a4 @@ -572,7 +572,7 @@ Disassembly of section .text: 20400880: 00078513 mv a0,a5 20400884: 000700e7 jalr a4 20400888: fe042783 lw a5,-32(s0) -2040088c: fff78793 addi a5,a5,-1 +2040088c: fff78793 addi a5,a5,-1 # 20401fff <__clzsi2+0x4b> 20400890: fef42023 sw a5,-32(s0) 20400894: fe042783 lw a5,-32(s0) 20400898: fcf04ee3 bgtz a5,20400874 @@ -758,7 +758,7 @@ Disassembly of section .text: 20400b50: fe842783 lw a5,-24(s0) 20400b54: fec42583 lw a1,-20(s0) 20400b58: 00078513 mv a0,a5 -20400b5c: 50c010ef jal ra,20402068 <__mulsi3> +20400b5c: 380010ef jal ra,20401edc <__mulsi3> 20400b60: 00050793 mv a5,a0 20400b64: fef42423 sw a5,-24(s0) 20400b68: fec42783 lw a5,-20(s0) @@ -774,1473 +774,1372 @@ Disassembly of section .text: 20400b90: 03010113 addi sp,sp,48 20400b94: 00008067 ret -20400b98 : -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) -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 -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 -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 -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> +20400b98
: +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 +20400bf0: 00200793 li a5,2 +20400bf4: fcf42e23 sw a5,-36(s0) +20400bf8: 00300793 li a5,3 +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: 16878513 addi a0,a5,360 # 20402168 <__clzsi2+0x1b4> +20400c34: df9ff0ef jal ra,20400a2c <__wrap_printf> +20400c38: 00a00513 li a0,10 +20400c3c: eedff0ef jal ra,20400b28 +20400c40: fca42a23 sw a0,-44(s0) +20400c44: fd442603 lw a2,-44(s0) +20400c48: fe842583 lw a1,-24(s0) +20400c4c: 204027b7 lui a5,0x20402 +20400c50: 1a878513 addi a0,a5,424 # 204021a8 <__clzsi2+0x1f4> +20400c54: dd9ff0ef jal ra,20400a2c <__wrap_printf> +20400c58: fe842703 lw a4,-24(s0) +20400c5c: 00100793 li a5,1 +20400c60: 04f71263 bne a4,a5,20400ca4 +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: fc842603 lw a2,-56(s0) +20400c94: fe842583 lw a1,-24(s0) +20400c98: 204027b7 lui a5,0x20402 +20400c9c: 1ec78513 addi a0,a5,492 # 204021ec <__clzsi2+0x238> +20400ca0: d8dff0ef jal ra,20400a2c <__wrap_printf> +20400ca4: 204027b7 lui a5,0x20402 +20400ca8: 21078513 addi a0,a5,528 # 20402210 <__clzsi2+0x25c> +20400cac: d81ff0ef jal ra,20400a2c <__wrap_printf> +20400cb0: 00000793 li a5,0 +20400cb4: 00078513 mv a0,a5 +20400cb8: 03c12083 lw ra,60(sp) +20400cbc: 03812403 lw s0,56(sp) +20400cc0: 04010113 addi sp,sp,64 +20400cc4: 00008067 ret + +20400cc8 : +20400cc8: ff010113 addi sp,sp,-16 +20400ccc: 00812623 sw s0,12(sp) +20400cd0: 01010413 addi s0,sp,16 +20400cd4: 0200c7b7 lui a5,0x200c +20400cd8: ff878793 addi a5,a5,-8 # 200bff8 <__stack_size+0x200b7f8> 20400cdc: 0007a783 lw a5,0(a5) -20400ce0: fef42223 sw a5,-28(s0) -20400ce4: fe07c8e3 bltz a5,20400cd4 -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 -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 -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 -20400d78: 00008067 ret +20400ce0: 00078513 mv a0,a5 +20400ce4: 00c12403 lw s0,12(sp) +20400ce8: 01010113 addi sp,sp,16 +20400cec: 00008067 ret -20400d7c
: -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: 900007b7 lui a5,0x90000 -20400db0: 00006737 lui a4,0x6 -20400db4: aa570713 addi a4,a4,-1371 # 5aa5 <__stack_size+0x52a5> -20400db8: 00e7a023 sw a4,0(a5) # 90000000 <_sp+0xfffc000> -20400dbc: 00a00513 li a0,10 -20400dc0: d69ff0ef jal ra,20400b28 -20400dc4: fea42423 sw a0,-24(s0) -20400dc8: fe842583 lw a1,-24(s0) -20400dcc: 204027b7 lui a5,0x20402 -20400dd0: 2f878513 addi a0,a5,760 # 204022f8 <__clzsi2+0x1b8> -20400dd4: c59ff0ef jal ra,20400a2c <__wrap_printf> -20400dd8: fe042623 sw zero,-20(s0) -20400ddc: 0300006f j 20400e0c -20400de0: fec42503 lw a0,-20(s0) -20400de4: db5ff0ef jal ra,20400b98 -20400de8: 00050793 mv a5,a0 -20400dec: 00078613 mv a2,a5 -20400df0: fec42583 lw a1,-20(s0) -20400df4: 204027b7 lui a5,0x20402 -20400df8: 31078513 addi a0,a5,784 # 20402310 <__clzsi2+0x1d0> -20400dfc: c31ff0ef jal ra,20400a2c <__wrap_printf> -20400e00: fec42783 lw a5,-20(s0) -20400e04: 00178793 addi a5,a5,1 -20400e08: fef42623 sw a5,-20(s0) -20400e0c: fec42703 lw a4,-20(s0) -20400e10: 00700793 li a5,7 -20400e14: fce7f6e3 bgeu a5,a4,20400de0 -20400e18: 800007b7 lui a5,0x80000 -20400e1c: 0007a783 lw a5,0(a5) # 80000000 <_sp+0xffffc000> -20400e20: 00078593 mv a1,a5 -20400e24: 204027b7 lui a5,0x20402 -20400e28: 32878513 addi a0,a5,808 # 20402328 <__clzsi2+0x1e8> -20400e2c: c01ff0ef jal ra,20400a2c <__wrap_printf> -20400e30: 204027b7 lui a5,0x20402 -20400e34: 35078513 addi a0,a5,848 # 20402350 <__clzsi2+0x210> -20400e38: bf5ff0ef jal ra,20400a2c <__wrap_printf> -20400e3c: 00000793 li a5,0 -20400e40: 00078513 mv a0,a5 -20400e44: 01c12083 lw ra,28(sp) -20400e48: 01812403 lw s0,24(sp) -20400e4c: 02010113 addi sp,sp,32 -20400e50: 00008067 ret +20400cf0 : +20400cf0: ff010113 addi sp,sp,-16 +20400cf4: 00112623 sw ra,12(sp) +20400cf8: 00812423 sw s0,8(sp) +20400cfc: 01212223 sw s2,4(sp) +20400d00: 01312023 sw s3,0(sp) +20400d04: 01010413 addi s0,sp,16 +20400d08: fc1ff0ef jal ra,20400cc8 +20400d0c: 00050793 mv a5,a0 +20400d10: 00078913 mv s2,a5 +20400d14: 00000993 li s3,0 +20400d18: 00090793 mv a5,s2 +20400d1c: 00098813 mv a6,s3 +20400d20: 00078513 mv a0,a5 +20400d24: 00080593 mv a1,a6 +20400d28: 00c12083 lw ra,12(sp) +20400d2c: 00812403 lw s0,8(sp) +20400d30: 00412903 lw s2,4(sp) +20400d34: 00012983 lw s3,0(sp) +20400d38: 01010113 addi sp,sp,16 +20400d3c: 00008067 ret -20400e54 : -20400e54: ff010113 addi sp,sp,-16 -20400e58: 00812623 sw s0,12(sp) -20400e5c: 01010413 addi s0,sp,16 -20400e60: 0200c7b7 lui a5,0x200c -20400e64: ff878793 addi a5,a5,-8 # 200bff8 <__stack_size+0x200b7f8> -20400e68: 0007a783 lw a5,0(a5) -20400e6c: 00078513 mv a0,a5 -20400e70: 00c12403 lw s0,12(sp) -20400e74: 01010113 addi sp,sp,16 -20400e78: 00008067 ret +20400d40 : +20400d40: ff010113 addi sp,sp,-16 +20400d44: 00812623 sw s0,12(sp) +20400d48: 01010413 addi s0,sp,16 +20400d4c: 000087b7 lui a5,0x8 +20400d50: 00078513 mv a0,a5 +20400d54: 00c12403 lw s0,12(sp) +20400d58: 01010113 addi sp,sp,16 +20400d5c: 00008067 ret -20400e7c : -20400e7c: ff010113 addi sp,sp,-16 -20400e80: 00112623 sw ra,12(sp) -20400e84: 00812423 sw s0,8(sp) -20400e88: 01212223 sw s2,4(sp) -20400e8c: 01312023 sw s3,0(sp) -20400e90: 01010413 addi s0,sp,16 -20400e94: fc1ff0ef jal ra,20400e54 -20400e98: 00050793 mv a5,a0 -20400e9c: 00078913 mv s2,a5 -20400ea0: 00000993 li s3,0 -20400ea4: 00090793 mv a5,s2 -20400ea8: 00098813 mv a6,s3 -20400eac: 00078513 mv a0,a5 -20400eb0: 00080593 mv a1,a6 -20400eb4: 00c12083 lw ra,12(sp) -20400eb8: 00812403 lw s0,8(sp) -20400ebc: 00412903 lw s2,4(sp) -20400ec0: 00012983 lw s3,0(sp) -20400ec4: 01010113 addi sp,sp,16 -20400ec8: 00008067 ret +20400d60 : +20400d60: fe010113 addi sp,sp,-32 +20400d64: 00812e23 sw s0,28(sp) +20400d68: 02010413 addi s0,sp,32 +20400d6c: fea42623 sw a0,-20(s0) +20400d70: feb42423 sw a1,-24(s0) +20400d74: fec42783 lw a5,-20(s0) +20400d78: 02f7f713 andi a4,a5,47 +20400d7c: fe842783 lw a5,-24(s0) +20400d80: 01079693 slli a3,a5,0x10 +20400d84: 001f07b7 lui a5,0x1f0 +20400d88: 00f6f7b3 and a5,a3,a5 +20400d8c: 00f76733 or a4,a4,a5 +20400d90: 400007b7 lui a5,0x40000 +20400d94: 00f76733 or a4,a4,a5 +20400d98: 100087b7 lui a5,0x10008 +20400d9c: 00e7a023 sw a4,0(a5) # 10008000 <__stack_size+0x10007800> +20400da0: 00000013 nop +20400da4: 100087b7 lui a5,0x10008 +20400da8: 0007a783 lw a5,0(a5) # 10008000 <__stack_size+0x10007800> +20400dac: fe07dce3 bgez a5,20400da4 +20400db0: 100087b7 lui a5,0x10008 +20400db4: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400db8: 0007a683 lw a3,0(a5) +20400dbc: 100087b7 lui a5,0x10008 +20400dc0: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400dc4: ffff0737 lui a4,0xffff0 +20400dc8: fff70713 addi a4,a4,-1 # fffeffff <_sp+0x7ffebfff> +20400dcc: 00e6f733 and a4,a3,a4 +20400dd0: 00e7a023 sw a4,0(a5) +20400dd4: 00000013 nop +20400dd8: 01c12403 lw s0,28(sp) +20400ddc: 02010113 addi sp,sp,32 +20400de0: 00008067 ret -20400ecc : -20400ecc: ff010113 addi sp,sp,-16 -20400ed0: 00812623 sw s0,12(sp) -20400ed4: 01010413 addi s0,sp,16 -20400ed8: 000087b7 lui a5,0x8 -20400edc: 00078513 mv a0,a5 -20400ee0: 00c12403 lw s0,12(sp) -20400ee4: 01010113 addi sp,sp,16 -20400ee8: 00008067 ret - -20400eec : -20400eec: fe010113 addi sp,sp,-32 -20400ef0: 00812e23 sw s0,28(sp) -20400ef4: 02010413 addi s0,sp,32 -20400ef8: fea42623 sw a0,-20(s0) -20400efc: feb42423 sw a1,-24(s0) -20400f00: fec42783 lw a5,-20(s0) -20400f04: 02f7f713 andi a4,a5,47 -20400f08: fe842783 lw a5,-24(s0) -20400f0c: 01079693 slli a3,a5,0x10 -20400f10: 001f07b7 lui a5,0x1f0 -20400f14: 00f6f7b3 and a5,a3,a5 -20400f18: 00f76733 or a4,a4,a5 -20400f1c: 400007b7 lui a5,0x40000 -20400f20: 00f76733 or a4,a4,a5 +20400de4 : +20400de4: fc010113 addi sp,sp,-64 +20400de8: 02112e23 sw ra,60(sp) +20400dec: 02812c23 sw s0,56(sp) +20400df0: 04010413 addi s0,sp,64 +20400df4: fca42e23 sw a0,-36(s0) +20400df8: fcb42c23 sw a1,-40(s0) +20400dfc: fcc42a23 sw a2,-44(s0) +20400e00: fcd42823 sw a3,-48(s0) +20400e04: fce42623 sw a4,-52(s0) +20400e08: 100087b7 lui a5,0x10008 +20400e0c: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400e10: 0007a703 lw a4,0(a5) +20400e14: 000107b7 lui a5,0x10 +20400e18: 00f777b3 and a5,a4,a5 +20400e1c: 00078863 beqz a5,20400e2c +20400e20: 01000593 li a1,16 +20400e24: 00400513 li a0,4 +20400e28: f39ff0ef jal ra,20400d60 +20400e2c: fe042623 sw zero,-20(s0) +20400e30: fdc42783 lw a5,-36(s0) +20400e34: 01179793 slli a5,a5,0x11 +20400e38: 00078713 mv a4,a5 +20400e3c: 000207b7 lui a5,0x20 +20400e40: 00f777b3 and a5,a4,a5 +20400e44: fec42703 lw a4,-20(s0) +20400e48: 00f767b3 or a5,a4,a5 +20400e4c: fef42623 sw a5,-20(s0) +20400e50: fd842783 lw a5,-40(s0) +20400e54: 02078c63 beqz a5,20400e8c +20400e58: fec42703 lw a4,-20(s0) +20400e5c: 000407b7 lui a5,0x40 +20400e60: 00f767b3 or a5,a4,a5 +20400e64: fef42623 sw a5,-20(s0) +20400e68: 100087b7 lui a5,0x10008 +20400e6c: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400e70: fec42703 lw a4,-20(s0) +20400e74: 00e7a023 sw a4,0(a5) +20400e78: 100087b7 lui a5,0x10008 +20400e7c: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c> +20400e80: 10000713 li a4,256 +20400e84: 00e7a023 sw a4,0(a5) +20400e88: 0ec0006f j 20400f74 +20400e8c: 100147b7 lui a5,0x10014 +20400e90: 00800713 li a4,8 +20400e94: 00e7a023 sw a4,0(a5) # 10014000 <__stack_size+0x10013800> +20400e98: fec42703 lw a4,-20(s0) +20400e9c: 000407b7 lui a5,0x40 +20400ea0: 00f767b3 or a5,a4,a5 +20400ea4: fef42623 sw a5,-20(s0) +20400ea8: fd442783 lw a5,-44(s0) +20400eac: 0077f793 andi a5,a5,7 +20400eb0: fec42703 lw a4,-20(s0) +20400eb4: 00f767b3 or a5,a4,a5 +20400eb8: fef42623 sw a5,-20(s0) +20400ebc: fd042783 lw a5,-48(s0) +20400ec0: 00479793 slli a5,a5,0x4 +20400ec4: 3f07f793 andi a5,a5,1008 +20400ec8: fec42703 lw a4,-20(s0) +20400ecc: 00f767b3 or a5,a4,a5 +20400ed0: fef42623 sw a5,-20(s0) +20400ed4: fcc42783 lw a5,-52(s0) +20400ed8: 00a79793 slli a5,a5,0xa +20400edc: 00078713 mv a4,a5 +20400ee0: 000017b7 lui a5,0x1 +20400ee4: c0078793 addi a5,a5,-1024 # c00 <__stack_size+0x400> +20400ee8: 00f777b3 and a5,a4,a5 +20400eec: fec42703 lw a4,-20(s0) +20400ef0: 00f767b3 or a5,a4,a5 +20400ef4: fef42623 sw a5,-20(s0) +20400ef8: 100087b7 lui a5,0x10008 +20400efc: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c> +20400f00: 10000713 li a4,256 +20400f04: 00e7a023 sw a4,0(a5) +20400f08: 100087b7 lui a5,0x10008 +20400f0c: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400f10: fec42703 lw a4,-20(s0) +20400f14: 00e7a023 sw a4,0(a5) +20400f18: 100087b7 lui a5,0x10008 +20400f1c: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400f20: 0007a683 lw a3,0(a5) 20400f24: 100087b7 lui a5,0x10008 -20400f28: 00e7a023 sw a4,0(a5) # 10008000 <__stack_size+0x10007800> -20400f2c: 00000013 nop -20400f30: 100087b7 lui a5,0x10008 -20400f34: 0007a783 lw a5,0(a5) # 10008000 <__stack_size+0x10007800> -20400f38: fe07dce3 bgez a5,20400f30 -20400f3c: 100087b7 lui a5,0x10008 -20400f40: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -20400f44: 0007a683 lw a3,0(a5) -20400f48: 100087b7 lui a5,0x10008 -20400f4c: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -20400f50: ffff0737 lui a4,0xffff0 -20400f54: fff70713 addi a4,a4,-1 # fffeffff <_sp+0x7ffebfff> -20400f58: 00e6f733 and a4,a3,a4 -20400f5c: 00e7a023 sw a4,0(a5) +20400f28: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400f2c: fffc0737 lui a4,0xfffc0 +20400f30: fff70713 addi a4,a4,-1 # fffbffff <_sp+0x7ffbbfff> +20400f34: 00e6f733 and a4,a3,a4 +20400f38: 00e7a023 sw a4,0(a5) +20400f3c: d8dff0ef jal ra,20400cc8 +20400f40: fea42423 sw a0,-24(s0) +20400f44: 00000013 nop +20400f48: d81ff0ef jal ra,20400cc8 +20400f4c: 00050713 mv a4,a0 +20400f50: fe842783 lw a5,-24(s0) +20400f54: 40f70733 sub a4,a4,a5 +20400f58: 00300793 li a5,3 +20400f5c: fee7f6e3 bgeu a5,a4,20400f48 20400f60: 00000013 nop -20400f64: 01c12403 lw s0,28(sp) -20400f68: 02010113 addi sp,sp,32 -20400f6c: 00008067 ret +20400f64: 100087b7 lui a5,0x10008 +20400f68: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400f6c: 0007a783 lw a5,0(a5) +20400f70: fe07dae3 bgez a5,20400f64 +20400f74: 100087b7 lui a5,0x10008 +20400f78: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400f7c: 0007a683 lw a3,0(a5) +20400f80: 100087b7 lui a5,0x10008 +20400f84: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> +20400f88: 00010737 lui a4,0x10 +20400f8c: 00e6e733 or a4,a3,a4 +20400f90: 00e7a023 sw a4,0(a5) +20400f94: 00000013 nop +20400f98: 03c12083 lw ra,60(sp) +20400f9c: 03812403 lw s0,56(sp) +20400fa0: 04010113 addi sp,sp,64 +20400fa4: 00008067 ret -20400f70 : -20400f70: fc010113 addi sp,sp,-64 -20400f74: 02112e23 sw ra,60(sp) -20400f78: 02812c23 sw s0,56(sp) -20400f7c: 04010413 addi s0,sp,64 -20400f80: fca42e23 sw a0,-36(s0) -20400f84: fcb42c23 sw a1,-40(s0) -20400f88: fcc42a23 sw a2,-44(s0) -20400f8c: fcd42823 sw a3,-48(s0) -20400f90: fce42623 sw a4,-52(s0) -20400f94: 100087b7 lui a5,0x10008 -20400f98: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -20400f9c: 0007a703 lw a4,0(a5) -20400fa0: 000107b7 lui a5,0x10 -20400fa4: 00f777b3 and a5,a4,a5 -20400fa8: 00078863 beqz a5,20400fb8 -20400fac: 01000593 li a1,16 -20400fb0: 00400513 li a0,4 -20400fb4: f39ff0ef jal ra,20400eec -20400fb8: fe042623 sw zero,-20(s0) -20400fbc: fdc42783 lw a5,-36(s0) -20400fc0: 01179793 slli a5,a5,0x11 -20400fc4: 00078713 mv a4,a5 -20400fc8: 000207b7 lui a5,0x20 -20400fcc: 00f777b3 and a5,a4,a5 -20400fd0: fec42703 lw a4,-20(s0) -20400fd4: 00f767b3 or a5,a4,a5 -20400fd8: fef42623 sw a5,-20(s0) -20400fdc: fd842783 lw a5,-40(s0) -20400fe0: 02078c63 beqz a5,20401018 -20400fe4: fec42703 lw a4,-20(s0) -20400fe8: 000407b7 lui a5,0x40 -20400fec: 00f767b3 or a5,a4,a5 -20400ff0: fef42623 sw a5,-20(s0) -20400ff4: 100087b7 lui a5,0x10008 -20400ff8: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -20400ffc: fec42703 lw a4,-20(s0) -20401000: 00e7a023 sw a4,0(a5) -20401004: 100087b7 lui a5,0x10008 -20401008: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c> -2040100c: 10000713 li a4,256 -20401010: 00e7a023 sw a4,0(a5) -20401014: 0ec0006f j 20401100 -20401018: 100147b7 lui a5,0x10014 -2040101c: 00800713 li a4,8 -20401020: 00e7a023 sw a4,0(a5) # 10014000 <__stack_size+0x10013800> -20401024: fec42703 lw a4,-20(s0) -20401028: 000407b7 lui a5,0x40 -2040102c: 00f767b3 or a5,a4,a5 -20401030: fef42623 sw a5,-20(s0) -20401034: fd442783 lw a5,-44(s0) -20401038: 0077f793 andi a5,a5,7 -2040103c: fec42703 lw a4,-20(s0) -20401040: 00f767b3 or a5,a4,a5 -20401044: fef42623 sw a5,-20(s0) -20401048: fd042783 lw a5,-48(s0) -2040104c: 00479793 slli a5,a5,0x4 -20401050: 3f07f793 andi a5,a5,1008 -20401054: fec42703 lw a4,-20(s0) -20401058: 00f767b3 or a5,a4,a5 -2040105c: fef42623 sw a5,-20(s0) +20400fa8 : +20400fa8: ff010113 addi sp,sp,-16 +20400fac: 00112623 sw ra,12(sp) +20400fb0: 00812423 sw s0,8(sp) +20400fb4: 01010413 addi s0,sp,16 +20400fb8: 100007b7 lui a5,0x10000 +20400fbc: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870> +20400fc0: 0007a683 lw a3,0(a5) +20400fc4: 100007b7 lui a5,0x10000 +20400fc8: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870> +20400fcc: c0000737 lui a4,0xc0000 +20400fd0: fff70713 addi a4,a4,-1 # bfffffff <_sp+0x3fffbfff> +20400fd4: 00e6f733 and a4,a3,a4 +20400fd8: 00e7a023 sw a4,0(a5) +20400fdc: 01000593 li a1,16 +20400fe0: 00400513 li a0,4 +20400fe4: d7dff0ef jal ra,20400d60 +20400fe8: 00000013 nop +20400fec: 00c12083 lw ra,12(sp) +20400ff0: 00812403 lw s0,8(sp) +20400ff4: 01010113 addi sp,sp,16 +20400ff8: 00008067 ret + +20400ffc : +20400ffc: fc010113 addi sp,sp,-64 +20401000: 02112e23 sw ra,60(sp) +20401004: 02812c23 sw s0,56(sp) +20401008: 02912a23 sw s1,52(sp) +2040100c: 04010413 addi s0,sp,64 +20401010: fca42623 sw a0,-52(s0) +20401014: d2dff0ef jal ra,20400d40 +20401018: fea42623 sw a0,-20(s0) +2040101c: cadff0ef jal ra,20400cc8 +20401020: fea42423 sw a0,-24(s0) +20401024: ca5ff0ef jal ra,20400cc8 +20401028: fea42223 sw a0,-28(s0) +2040102c: fe442703 lw a4,-28(s0) +20401030: fe842783 lw a5,-24(s0) +20401034: fef708e3 beq a4,a5,20401024 +20401038: b00027f3 csrr a5,mcycle +2040103c: fef42023 sw a5,-32(s0) +20401040: fe042783 lw a5,-32(s0) +20401044: fcf42e23 sw a5,-36(s0) +20401048: c81ff0ef jal ra,20400cc8 +2040104c: 00050713 mv a4,a0 +20401050: fe442783 lw a5,-28(s0) +20401054: 40f707b3 sub a5,a4,a5 +20401058: fcf42c23 sw a5,-40(s0) +2040105c: fd842703 lw a4,-40(s0) 20401060: fcc42783 lw a5,-52(s0) -20401064: 00a79793 slli a5,a5,0xa -20401068: 00078713 mv a4,a5 -2040106c: 000017b7 lui a5,0x1 -20401070: c0078793 addi a5,a5,-1024 # c00 <__stack_size+0x400> -20401074: 00f777b3 and a5,a4,a5 -20401078: fec42703 lw a4,-20(s0) -2040107c: 00f767b3 or a5,a4,a5 -20401080: fef42623 sw a5,-20(s0) -20401084: 100087b7 lui a5,0x10008 -20401088: 00c78793 addi a5,a5,12 # 1000800c <__stack_size+0x1000780c> -2040108c: 10000713 li a4,256 -20401090: 00e7a023 sw a4,0(a5) -20401094: 100087b7 lui a5,0x10008 -20401098: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -2040109c: fec42703 lw a4,-20(s0) -204010a0: 00e7a023 sw a4,0(a5) -204010a4: 100087b7 lui a5,0x10008 -204010a8: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -204010ac: 0007a683 lw a3,0(a5) -204010b0: 100087b7 lui a5,0x10008 -204010b4: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -204010b8: fffc0737 lui a4,0xfffc0 -204010bc: fff70713 addi a4,a4,-1 # fffbffff <_sp+0x7ffbbfff> -204010c0: 00e6f733 and a4,a3,a4 -204010c4: 00e7a023 sw a4,0(a5) -204010c8: d8dff0ef jal ra,20400e54 -204010cc: fea42423 sw a0,-24(s0) -204010d0: 00000013 nop -204010d4: d81ff0ef jal ra,20400e54 -204010d8: 00050713 mv a4,a0 -204010dc: fe842783 lw a5,-24(s0) -204010e0: 40f70733 sub a4,a4,a5 -204010e4: 00300793 li a5,3 -204010e8: fee7f6e3 bgeu a5,a4,204010d4 -204010ec: 00000013 nop -204010f0: 100087b7 lui a5,0x10008 -204010f4: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -204010f8: 0007a783 lw a5,0(a5) -204010fc: fe07dae3 bgez a5,204010f0 -20401100: 100087b7 lui a5,0x10008 -20401104: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -20401108: 0007a683 lw a3,0(a5) -2040110c: 100087b7 lui a5,0x10008 -20401110: 00878793 addi a5,a5,8 # 10008008 <__stack_size+0x10007808> -20401114: 00010737 lui a4,0x10 -20401118: 00e6e733 or a4,a3,a4 -2040111c: 00e7a023 sw a4,0(a5) -20401120: 00000013 nop -20401124: 03c12083 lw ra,60(sp) -20401128: 03812403 lw s0,56(sp) -2040112c: 04010113 addi sp,sp,64 -20401130: 00008067 ret +20401064: fef762e3 bltu a4,a5,20401048 +20401068: b00027f3 csrr a5,mcycle +2040106c: fcf42a23 sw a5,-44(s0) +20401070: fd442703 lw a4,-44(s0) +20401074: fdc42783 lw a5,-36(s0) +20401078: 40f707b3 sub a5,a4,a5 +2040107c: fcf42823 sw a5,-48(s0) +20401080: fd842583 lw a1,-40(s0) +20401084: fd042503 lw a0,-48(s0) +20401088: 681000ef jal ra,20401f08 <__udivsi3> +2040108c: 00050793 mv a5,a0 +20401090: fec42583 lw a1,-20(s0) +20401094: 00078513 mv a0,a5 +20401098: 645000ef jal ra,20401edc <__mulsi3> +2040109c: 00050793 mv a5,a0 +204010a0: 00078493 mv s1,a5 +204010a4: fd042783 lw a5,-48(s0) +204010a8: fd842583 lw a1,-40(s0) +204010ac: 00078513 mv a0,a5 +204010b0: 6a1000ef jal ra,20401f50 <__umodsi3> +204010b4: 00050793 mv a5,a0 +204010b8: fec42583 lw a1,-20(s0) +204010bc: 00078513 mv a0,a5 +204010c0: 61d000ef jal ra,20401edc <__mulsi3> +204010c4: 00050793 mv a5,a0 +204010c8: fd842583 lw a1,-40(s0) +204010cc: 00078513 mv a0,a5 +204010d0: 639000ef jal ra,20401f08 <__udivsi3> +204010d4: 00050793 mv a5,a0 +204010d8: 00f487b3 add a5,s1,a5 +204010dc: 00078513 mv a0,a5 +204010e0: 03c12083 lw ra,60(sp) +204010e4: 03812403 lw s0,56(sp) +204010e8: 03412483 lw s1,52(sp) +204010ec: 04010113 addi sp,sp,64 +204010f0: 00008067 ret -20401134 : -20401134: ff010113 addi sp,sp,-16 -20401138: 00112623 sw ra,12(sp) -2040113c: 00812423 sw s0,8(sp) -20401140: 01010413 addi s0,sp,16 -20401144: 100007b7 lui a5,0x10000 -20401148: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870> -2040114c: 0007a683 lw a3,0(a5) -20401150: 100007b7 lui a5,0x10000 -20401154: 07078793 addi a5,a5,112 # 10000070 <__stack_size+0xffff870> -20401158: c0000737 lui a4,0xc0000 -2040115c: fff70713 addi a4,a4,-1 # bfffffff <_sp+0x3fffbfff> -20401160: 00e6f733 and a4,a3,a4 -20401164: 00e7a023 sw a4,0(a5) -20401168: 01000593 li a1,16 -2040116c: 00400513 li a0,4 -20401170: d7dff0ef jal ra,20400eec -20401174: 00000013 nop -20401178: 00c12083 lw ra,12(sp) -2040117c: 00812403 lw s0,8(sp) -20401180: 01010113 addi sp,sp,16 -20401184: 00008067 ret +204010f4 : +204010f4: ff010113 addi sp,sp,-16 +204010f8: 00112623 sw ra,12(sp) +204010fc: 00812423 sw s0,8(sp) +20401100: 01010413 addi s0,sp,16 +20401104: 800007b7 lui a5,0x80000 +20401108: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430> +2040110c: 02079063 bnez a5,2040112c +20401110: 00100513 li a0,1 +20401114: ee9ff0ef jal ra,20400ffc +20401118: 00a00513 li a0,10 +2040111c: ee1ff0ef jal ra,20400ffc +20401120: 00050713 mv a4,a0 +20401124: 800007b7 lui a5,0x80000 +20401128: 42e7a823 sw a4,1072(a5) # 80000430 <_sp+0xffffc430> +2040112c: 800007b7 lui a5,0x80000 +20401130: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430> +20401134: 00078513 mv a0,a5 +20401138: 00c12083 lw ra,12(sp) +2040113c: 00812403 lw s0,8(sp) +20401140: 01010113 addi sp,sp,16 +20401144: 00008067 ret -20401188 : -20401188: fc010113 addi sp,sp,-64 -2040118c: 02112e23 sw ra,60(sp) -20401190: 02812c23 sw s0,56(sp) -20401194: 02912a23 sw s1,52(sp) -20401198: 04010413 addi s0,sp,64 -2040119c: fca42623 sw a0,-52(s0) -204011a0: d2dff0ef jal ra,20400ecc -204011a4: fea42623 sw a0,-20(s0) -204011a8: cadff0ef jal ra,20400e54 -204011ac: fea42423 sw a0,-24(s0) -204011b0: ca5ff0ef jal ra,20400e54 -204011b4: fea42223 sw a0,-28(s0) -204011b8: fe442703 lw a4,-28(s0) -204011bc: fe842783 lw a5,-24(s0) -204011c0: fef708e3 beq a4,a5,204011b0 -204011c4: b00027f3 csrr a5,mcycle -204011c8: fef42023 sw a5,-32(s0) -204011cc: fe042783 lw a5,-32(s0) -204011d0: fcf42e23 sw a5,-36(s0) -204011d4: c81ff0ef jal ra,20400e54 -204011d8: 00050713 mv a4,a0 -204011dc: fe442783 lw a5,-28(s0) -204011e0: 40f707b3 sub a5,a4,a5 -204011e4: fcf42c23 sw a5,-40(s0) -204011e8: fd842703 lw a4,-40(s0) -204011ec: fcc42783 lw a5,-52(s0) -204011f0: fef762e3 bltu a4,a5,204011d4 -204011f4: b00027f3 csrr a5,mcycle -204011f8: fcf42a23 sw a5,-44(s0) -204011fc: fd442703 lw a4,-44(s0) -20401200: fdc42783 lw a5,-36(s0) -20401204: 40f707b3 sub a5,a4,a5 -20401208: fcf42823 sw a5,-48(s0) -2040120c: fd842583 lw a1,-40(s0) -20401210: fd042503 lw a0,-48(s0) -20401214: 681000ef jal ra,20402094 <__udivsi3> -20401218: 00050793 mv a5,a0 -2040121c: fec42583 lw a1,-20(s0) -20401220: 00078513 mv a0,a5 -20401224: 645000ef jal ra,20402068 <__mulsi3> -20401228: 00050793 mv a5,a0 -2040122c: 00078493 mv s1,a5 -20401230: fd042783 lw a5,-48(s0) -20401234: fd842583 lw a1,-40(s0) -20401238: 00078513 mv a0,a5 -2040123c: 6a1000ef jal ra,204020dc <__umodsi3> -20401240: 00050793 mv a5,a0 -20401244: fec42583 lw a1,-20(s0) -20401248: 00078513 mv a0,a5 -2040124c: 61d000ef jal ra,20402068 <__mulsi3> -20401250: 00050793 mv a5,a0 -20401254: fd842583 lw a1,-40(s0) -20401258: 00078513 mv a0,a5 -2040125c: 639000ef jal ra,20402094 <__udivsi3> -20401260: 00050793 mv a5,a0 -20401264: 00f487b3 add a5,s1,a5 -20401268: 00078513 mv a0,a5 -2040126c: 03c12083 lw ra,60(sp) -20401270: 03812403 lw s0,56(sp) -20401274: 03412483 lw s1,52(sp) -20401278: 04010113 addi sp,sp,64 -2040127c: 00008067 ret +20401148 : +20401148: fe010113 addi sp,sp,-32 +2040114c: 00112e23 sw ra,28(sp) +20401150: 00812c23 sw s0,24(sp) +20401154: 02010413 addi s0,sp,32 +20401158: fea42623 sw a0,-20(s0) +2040115c: 100127b7 lui a5,0x10012 +20401160: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c> +20401164: 0007a683 lw a3,0(a5) +20401168: 100127b7 lui a5,0x10012 +2040116c: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c> +20401170: fffd0737 lui a4,0xfffd0 +20401174: fff70713 addi a4,a4,-1 # fffcffff <_sp+0x7ffcbfff> +20401178: 00e6f733 and a4,a3,a4 +2040117c: 00e7a023 sw a4,0(a5) +20401180: 100127b7 lui a5,0x10012 +20401184: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838> +20401188: 0007a683 lw a3,0(a5) +2040118c: 100127b7 lui a5,0x10012 +20401190: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838> +20401194: 00030737 lui a4,0x30 +20401198: 00e6e733 or a4,a3,a4 +2040119c: 00e7a023 sw a4,0(a5) +204011a0: f55ff0ef jal ra,204010f4 +204011a4: 00050793 mv a5,a0 +204011a8: fec42583 lw a1,-20(s0) +204011ac: 00078513 mv a0,a5 +204011b0: 559000ef jal ra,20401f08 <__udivsi3> +204011b4: 00050793 mv a5,a0 +204011b8: 00078713 mv a4,a5 +204011bc: 100137b7 lui a5,0x10013 +204011c0: 01878793 addi a5,a5,24 # 10013018 <__stack_size+0x10012818> +204011c4: fff70713 addi a4,a4,-1 # 2ffff <__stack_size+0x2f7ff> +204011c8: 00e7a023 sw a4,0(a5) +204011cc: 100137b7 lui a5,0x10013 +204011d0: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808> +204011d4: 0007a703 lw a4,0(a5) +204011d8: 100137b7 lui a5,0x10013 +204011dc: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808> +204011e0: 00176713 ori a4,a4,1 +204011e4: 00e7a023 sw a4,0(a5) +204011e8: 00000013 nop +204011ec: 01c12083 lw ra,28(sp) +204011f0: 01812403 lw s0,24(sp) +204011f4: 02010113 addi sp,sp,32 +204011f8: 00008067 ret -20401280 : -20401280: ff010113 addi sp,sp,-16 -20401284: 00112623 sw ra,12(sp) -20401288: 00812423 sw s0,8(sp) -2040128c: 01010413 addi s0,sp,16 -20401290: 800007b7 lui a5,0x80000 -20401294: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430> -20401298: 02079063 bnez a5,204012b8 -2040129c: 00100513 li a0,1 -204012a0: ee9ff0ef jal ra,20401188 -204012a4: 00a00513 li a0,10 -204012a8: ee1ff0ef jal ra,20401188 -204012ac: 00050713 mv a4,a0 -204012b0: 800007b7 lui a5,0x80000 -204012b4: 42e7a823 sw a4,1072(a5) # 80000430 <_sp+0xffffc430> -204012b8: 800007b7 lui a5,0x80000 -204012bc: 4307a783 lw a5,1072(a5) # 80000430 <_sp+0xffffc430> -204012c0: 00078513 mv a0,a5 -204012c4: 00c12083 lw ra,12(sp) -204012c8: 00812403 lw s0,8(sp) -204012cc: 01010113 addi sp,sp,16 -204012d0: 00008067 ret +204011fc : +204011fc: fe010113 addi sp,sp,-32 +20401200: 00112e23 sw ra,28(sp) +20401204: 00812c23 sw s0,24(sp) +20401208: 02010413 addi s0,sp,32 +2040120c: fea42623 sw a0,-20(s0) +20401210: feb42423 sw a1,-24(s0) +20401214: 00500613 li a2,5 +20401218: 204027b7 lui a5,0x20402 +2040121c: 22478593 addi a1,a5,548 # 20402224 <__clzsi2+0x270> +20401220: 00100513 li a0,1 +20401224: 0e4000ef jal ra,20401308 <__wrap_write> +20401228: fec42783 lw a5,-20(s0) +2040122c: 00178793 addi a5,a5,1 +20401230: 00078513 mv a0,a5 +20401234: 1f0000ef jal ra,20401424 <__wrap__exit> -204012d4 : -204012d4: fe010113 addi sp,sp,-32 -204012d8: 00112e23 sw ra,28(sp) -204012dc: 00812c23 sw s0,24(sp) -204012e0: 02010413 addi s0,sp,32 -204012e4: fea42623 sw a0,-20(s0) -204012e8: 100127b7 lui a5,0x10012 -204012ec: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c> -204012f0: 0007a683 lw a3,0(a5) -204012f4: 100127b7 lui a5,0x10012 -204012f8: 03c78793 addi a5,a5,60 # 1001203c <__stack_size+0x1001183c> -204012fc: fffd0737 lui a4,0xfffd0 -20401300: fff70713 addi a4,a4,-1 # fffcffff <_sp+0x7ffcbfff> -20401304: 00e6f733 and a4,a3,a4 -20401308: 00e7a023 sw a4,0(a5) -2040130c: 100127b7 lui a5,0x10012 -20401310: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838> -20401314: 0007a683 lw a3,0(a5) -20401318: 100127b7 lui a5,0x10012 -2040131c: 03878793 addi a5,a5,56 # 10012038 <__stack_size+0x10011838> -20401320: 00030737 lui a4,0x30 -20401324: 00e6e733 or a4,a3,a4 -20401328: 00e7a023 sw a4,0(a5) -2040132c: f55ff0ef jal ra,20401280 -20401330: 00050793 mv a5,a0 -20401334: fec42583 lw a1,-20(s0) -20401338: 00078513 mv a0,a5 -2040133c: 559000ef jal ra,20402094 <__udivsi3> -20401340: 00050793 mv a5,a0 -20401344: 00078713 mv a4,a5 +20401238 <_init>: +20401238: fe010113 addi sp,sp,-32 +2040123c: 00112e23 sw ra,28(sp) +20401240: 00812c23 sw s0,24(sp) +20401244: 02010413 addi s0,sp,32 +20401248: d61ff0ef jal ra,20400fa8 +2040124c: 00100713 li a4,1 +20401250: 01f00693 li a3,31 +20401254: 00100613 li a2,1 +20401258: 00000593 li a1,0 +2040125c: 00000513 li a0,0 +20401260: b85ff0ef jal ra,20400de4 +20401264: 0001c7b7 lui a5,0x1c +20401268: 20078513 addi a0,a5,512 # 1c200 <__stack_size+0x1ba00> +2040126c: eddff0ef jal ra,20401148 +20401270: e85ff0ef jal ra,204010f4 +20401274: 00050793 mv a5,a0 +20401278: 00078593 mv a1,a5 +2040127c: 204027b7 lui a5,0x20402 +20401280: 22c78513 addi a0,a5,556 # 2040222c <__clzsi2+0x278> +20401284: fa8ff0ef jal ra,20400a2c <__wrap_printf> +20401288: 204007b7 lui a5,0x20400 +2040128c: 09c78793 addi a5,a5,156 # 2040009c +20401290: 30579073 csrw mtvec,a5 +20401294: 301027f3 csrr a5,misa +20401298: fef42623 sw a5,-20(s0) +2040129c: fec42783 lw a5,-20(s0) +204012a0: 0207f793 andi a5,a5,32 +204012a4: 00078863 beqz a5,204012b4 <_init+0x7c> +204012a8: 000067b7 lui a5,0x6 +204012ac: 30079073 csrw mstatus,a5 +204012b0: 00305073 csrwi fcsr,0 +204012b4: 00000013 nop +204012b8: 01c12083 lw ra,28(sp) +204012bc: 01812403 lw s0,24(sp) +204012c0: 02010113 addi sp,sp,32 +204012c4: 00008067 ret + +204012c8 <_fini>: +204012c8: ff010113 addi sp,sp,-16 +204012cc: 00812623 sw s0,12(sp) +204012d0: 01010413 addi s0,sp,16 +204012d4: 00000013 nop +204012d8: 00c12403 lw s0,12(sp) +204012dc: 01010113 addi sp,sp,16 +204012e0: 00008067 ret + +204012e4 <_stub>: +204012e4: fe010113 addi sp,sp,-32 +204012e8: 00812e23 sw s0,28(sp) +204012ec: 02010413 addi s0,sp,32 +204012f0: fea42623 sw a0,-20(s0) +204012f4: fff00793 li a5,-1 +204012f8: 00078513 mv a0,a5 +204012fc: 01c12403 lw s0,28(sp) +20401300: 02010113 addi sp,sp,32 +20401304: 00008067 ret + +20401308 <__wrap_write>: +20401308: fd010113 addi sp,sp,-48 +2040130c: 02112623 sw ra,44(sp) +20401310: 02812423 sw s0,40(sp) +20401314: 03010413 addi s0,sp,48 +20401318: fca42e23 sw a0,-36(s0) +2040131c: fcb42c23 sw a1,-40(s0) +20401320: fcc42a23 sw a2,-44(s0) +20401324: fd842783 lw a5,-40(s0) +20401328: fef42423 sw a5,-24(s0) +2040132c: fdc42503 lw a0,-36(s0) +20401330: 0b0000ef jal ra,204013e0 <__wrap_isatty> +20401334: 00050793 mv a5,a0 +20401338: 08078463 beqz a5,204013c0 <__wrap_write+0xb8> +2040133c: fe042623 sw zero,-20(s0) +20401340: 06c0006f j 204013ac <__wrap_write+0xa4> +20401344: 00000013 nop 20401348: 100137b7 lui a5,0x10013 -2040134c: 01878793 addi a5,a5,24 # 10013018 <__stack_size+0x10012818> -20401350: fff70713 addi a4,a4,-1 # 2ffff <__stack_size+0x2f7ff> -20401354: 00e7a023 sw a4,0(a5) -20401358: 100137b7 lui a5,0x10013 -2040135c: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808> -20401360: 0007a703 lw a4,0(a5) +2040134c: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800> +20401350: fe07cce3 bltz a5,20401348 <__wrap_write+0x40> +20401354: fe842703 lw a4,-24(s0) +20401358: fec42783 lw a5,-20(s0) +2040135c: 00f707b3 add a5,a4,a5 +20401360: 0007c703 lbu a4,0(a5) 20401364: 100137b7 lui a5,0x10013 -20401368: 00878793 addi a5,a5,8 # 10013008 <__stack_size+0x10012808> -2040136c: 00176713 ori a4,a4,1 -20401370: 00e7a023 sw a4,0(a5) -20401374: 00000013 nop -20401378: 01c12083 lw ra,28(sp) -2040137c: 01812403 lw s0,24(sp) -20401380: 02010113 addi sp,sp,32 -20401384: 00008067 ret +20401368: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800> +2040136c: fe842703 lw a4,-24(s0) +20401370: fec42783 lw a5,-20(s0) +20401374: 00f707b3 add a5,a4,a5 +20401378: 0007c703 lbu a4,0(a5) +2040137c: 00a00793 li a5,10 +20401380: 02f71063 bne a4,a5,204013a0 <__wrap_write+0x98> +20401384: 00000013 nop +20401388: 100137b7 lui a5,0x10013 +2040138c: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800> +20401390: fe07cce3 bltz a5,20401388 <__wrap_write+0x80> +20401394: 100137b7 lui a5,0x10013 +20401398: 00d00713 li a4,13 +2040139c: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800> +204013a0: fec42783 lw a5,-20(s0) +204013a4: 00178793 addi a5,a5,1 +204013a8: fef42623 sw a5,-20(s0) +204013ac: fec42703 lw a4,-20(s0) +204013b0: fd442783 lw a5,-44(s0) +204013b4: f8f768e3 bltu a4,a5,20401344 <__wrap_write+0x3c> +204013b8: fd442783 lw a5,-44(s0) +204013bc: 0100006f j 204013cc <__wrap_write+0xc4> +204013c0: 00900513 li a0,9 +204013c4: f21ff0ef jal ra,204012e4 <_stub> +204013c8: 00050793 mv a5,a0 +204013cc: 00078513 mv a0,a5 +204013d0: 02c12083 lw ra,44(sp) +204013d4: 02812403 lw s0,40(sp) +204013d8: 03010113 addi sp,sp,48 +204013dc: 00008067 ret -20401388 : -20401388: fe010113 addi sp,sp,-32 -2040138c: 00112e23 sw ra,28(sp) -20401390: 00812c23 sw s0,24(sp) -20401394: 02010413 addi s0,sp,32 -20401398: fea42623 sw a0,-20(s0) -2040139c: feb42423 sw a1,-24(s0) -204013a0: 00500613 li a2,5 -204013a4: 204027b7 lui a5,0x20402 -204013a8: 36478593 addi a1,a5,868 # 20402364 <__clzsi2+0x224> -204013ac: 00100513 li a0,1 -204013b0: 0e4000ef jal ra,20401494 <__wrap_write> -204013b4: fec42783 lw a5,-20(s0) -204013b8: 00178793 addi a5,a5,1 -204013bc: 00078513 mv a0,a5 -204013c0: 1f0000ef jal ra,204015b0 <__wrap__exit> +204013e0 <__wrap_isatty>: +204013e0: fe010113 addi sp,sp,-32 +204013e4: 00812e23 sw s0,28(sp) +204013e8: 02010413 addi s0,sp,32 +204013ec: fea42623 sw a0,-20(s0) +204013f0: fec42703 lw a4,-20(s0) +204013f4: 00100793 li a5,1 +204013f8: 00f70863 beq a4,a5,20401408 <__wrap_isatty+0x28> +204013fc: fec42703 lw a4,-20(s0) +20401400: 00200793 li a5,2 +20401404: 00f71663 bne a4,a5,20401410 <__wrap_isatty+0x30> +20401408: 00100793 li a5,1 +2040140c: 0080006f j 20401414 <__wrap_isatty+0x34> +20401410: 00000793 li a5,0 +20401414: 00078513 mv a0,a5 +20401418: 01c12403 lw s0,28(sp) +2040141c: 02010113 addi sp,sp,32 +20401420: 00008067 ret -204013c4 <_init>: -204013c4: fe010113 addi sp,sp,-32 -204013c8: 00112e23 sw ra,28(sp) -204013cc: 00812c23 sw s0,24(sp) -204013d0: 02010413 addi s0,sp,32 -204013d4: d61ff0ef jal ra,20401134 -204013d8: 00100713 li a4,1 -204013dc: 01f00693 li a3,31 -204013e0: 00100613 li a2,1 -204013e4: 00000593 li a1,0 -204013e8: 00000513 li a0,0 -204013ec: b85ff0ef jal ra,20400f70 -204013f0: 0001c7b7 lui a5,0x1c -204013f4: 20078513 addi a0,a5,512 # 1c200 <__stack_size+0x1ba00> -204013f8: eddff0ef jal ra,204012d4 -204013fc: e85ff0ef jal ra,20401280 -20401400: 00050793 mv a5,a0 -20401404: 00078593 mv a1,a5 -20401408: 204027b7 lui a5,0x20402 -2040140c: 36c78513 addi a0,a5,876 # 2040236c <__clzsi2+0x22c> -20401410: e1cff0ef jal ra,20400a2c <__wrap_printf> -20401414: 204007b7 lui a5,0x20400 -20401418: 09c78793 addi a5,a5,156 # 2040009c -2040141c: 30579073 csrw mtvec,a5 -20401420: 301027f3 csrr a5,misa -20401424: fef42623 sw a5,-20(s0) -20401428: fec42783 lw a5,-20(s0) -2040142c: 0207f793 andi a5,a5,32 -20401430: 00078863 beqz a5,20401440 <_init+0x7c> -20401434: 000067b7 lui a5,0x6 -20401438: 30079073 csrw mstatus,a5 -2040143c: 00305073 csrwi fcsr,0 -20401440: 00000013 nop -20401444: 01c12083 lw ra,28(sp) -20401448: 01812403 lw s0,24(sp) -2040144c: 02010113 addi sp,sp,32 -20401450: 00008067 ret +20401424 <__wrap__exit>: +20401424: fc010113 addi sp,sp,-64 +20401428: 02112e23 sw ra,60(sp) +2040142c: 02812c23 sw s0,56(sp) +20401430: 04010413 addi s0,sp,64 +20401434: fca42623 sw a0,-52(s0) +20401438: 204027b7 lui a5,0x20402 +2040143c: 24478793 addi a5,a5,580 # 20402244 <__clzsi2+0x290> +20401440: 0007a883 lw a7,0(a5) +20401444: 0047a803 lw a6,4(a5) +20401448: 0087a503 lw a0,8(a5) +2040144c: 00c7a583 lw a1,12(a5) +20401450: 0107a603 lw a2,16(a5) +20401454: 0147a683 lw a3,20(a5) +20401458: 0187a703 lw a4,24(a5) +2040145c: fd142823 sw a7,-48(s0) +20401460: fd042a23 sw a6,-44(s0) +20401464: fca42c23 sw a0,-40(s0) +20401468: fcb42e23 sw a1,-36(s0) +2040146c: fec42023 sw a2,-32(s0) +20401470: fed42223 sw a3,-28(s0) +20401474: fee42423 sw a4,-24(s0) +20401478: 01c7d783 lhu a5,28(a5) +2040147c: fef41623 sh a5,-20(s0) +20401480: fd040793 addi a5,s0,-48 +20401484: 01d00613 li a2,29 +20401488: 00078593 mv a1,a5 +2040148c: 00200513 li a0,2 +20401490: e79ff0ef jal ra,20401308 <__wrap_write> +20401494: 00100613 li a2,1 +20401498: 204027b7 lui a5,0x20402 +2040149c: 24078593 addi a1,a5,576 # 20402240 <__clzsi2+0x28c> +204014a0: 00200513 li a0,2 +204014a4: e65ff0ef jal ra,20401308 <__wrap_write> +204014a8: 0000006f j 204014a8 <__wrap__exit+0x84> -20401454 <_fini>: -20401454: ff010113 addi sp,sp,-16 -20401458: 00812623 sw s0,12(sp) -2040145c: 01010413 addi s0,sp,16 -20401460: 00000013 nop -20401464: 00c12403 lw s0,12(sp) -20401468: 01010113 addi sp,sp,16 -2040146c: 00008067 ret +204014ac : +204014ac: 00050593 mv a1,a0 +204014b0: 00000693 li a3,0 +204014b4: 00000613 li a2,0 +204014b8: 00000513 li a0,0 +204014bc: 1740006f j 20401630 <__register_exitproc> -20401470 <_stub>: -20401470: fe010113 addi sp,sp,-32 -20401474: 00812e23 sw s0,28(sp) -20401478: 02010413 addi s0,sp,32 -2040147c: fea42623 sw a0,-20(s0) -20401480: fff00793 li a5,-1 -20401484: 00078513 mv a0,a5 -20401488: 01c12403 lw s0,28(sp) -2040148c: 02010113 addi sp,sp,32 -20401490: 00008067 ret +204014c0 : +204014c0: ff010113 addi sp,sp,-16 +204014c4: 00000593 li a1,0 +204014c8: 00812423 sw s0,8(sp) +204014cc: 00112623 sw ra,12(sp) +204014d0: 00050413 mv s0,a0 +204014d4: 1fc000ef jal ra,204016d0 <__call_exitprocs> +204014d8: 5fbff797 auipc a5,0x5fbff +204014dc: f5078793 addi a5,a5,-176 # 80000428 <_global_impure_ptr> +204014e0: 0007a503 lw a0,0(a5) +204014e4: 03c52783 lw a5,60(a0) +204014e8: 00078463 beqz a5,204014f0 +204014ec: 000780e7 jalr a5 +204014f0: 00040513 mv a0,s0 +204014f4: f31ff0ef jal ra,20401424 <__wrap__exit> -20401494 <__wrap_write>: -20401494: fd010113 addi sp,sp,-48 -20401498: 02112623 sw ra,44(sp) -2040149c: 02812423 sw s0,40(sp) -204014a0: 03010413 addi s0,sp,48 -204014a4: fca42e23 sw a0,-36(s0) -204014a8: fcb42c23 sw a1,-40(s0) -204014ac: fcc42a23 sw a2,-44(s0) -204014b0: fd842783 lw a5,-40(s0) -204014b4: fef42423 sw a5,-24(s0) -204014b8: fdc42503 lw a0,-36(s0) -204014bc: 0b0000ef jal ra,2040156c <__wrap_isatty> -204014c0: 00050793 mv a5,a0 -204014c4: 08078463 beqz a5,2040154c <__wrap_write+0xb8> -204014c8: fe042623 sw zero,-20(s0) -204014cc: 06c0006f j 20401538 <__wrap_write+0xa4> -204014d0: 00000013 nop -204014d4: 100137b7 lui a5,0x10013 -204014d8: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800> -204014dc: fe07cce3 bltz a5,204014d4 <__wrap_write+0x40> -204014e0: fe842703 lw a4,-24(s0) -204014e4: fec42783 lw a5,-20(s0) -204014e8: 00f707b3 add a5,a4,a5 -204014ec: 0007c703 lbu a4,0(a5) -204014f0: 100137b7 lui a5,0x10013 -204014f4: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800> -204014f8: fe842703 lw a4,-24(s0) -204014fc: fec42783 lw a5,-20(s0) -20401500: 00f707b3 add a5,a4,a5 -20401504: 0007c703 lbu a4,0(a5) -20401508: 00a00793 li a5,10 -2040150c: 02f71063 bne a4,a5,2040152c <__wrap_write+0x98> -20401510: 00000013 nop -20401514: 100137b7 lui a5,0x10013 -20401518: 0007a783 lw a5,0(a5) # 10013000 <__stack_size+0x10012800> -2040151c: fe07cce3 bltz a5,20401514 <__wrap_write+0x80> -20401520: 100137b7 lui a5,0x10013 -20401524: 00d00713 li a4,13 -20401528: 00e7a023 sw a4,0(a5) # 10013000 <__stack_size+0x10012800> -2040152c: fec42783 lw a5,-20(s0) -20401530: 00178793 addi a5,a5,1 -20401534: fef42623 sw a5,-20(s0) -20401538: fec42703 lw a4,-20(s0) -2040153c: fd442783 lw a5,-44(s0) -20401540: f8f768e3 bltu a4,a5,204014d0 <__wrap_write+0x3c> -20401544: fd442783 lw a5,-44(s0) -20401548: 0100006f j 20401558 <__wrap_write+0xc4> -2040154c: 00900513 li a0,9 -20401550: f21ff0ef jal ra,20401470 <_stub> -20401554: 00050793 mv a5,a0 -20401558: 00078513 mv a0,a5 -2040155c: 02c12083 lw ra,44(sp) -20401560: 02812403 lw s0,40(sp) -20401564: 03010113 addi sp,sp,48 -20401568: 00008067 ret +204014f8 <__libc_fini_array>: +204014f8: ff010113 addi sp,sp,-16 +204014fc: 00812423 sw s0,8(sp) +20401500: 00001797 auipc a5,0x1 +20401504: ea478793 addi a5,a5,-348 # 204023a4 <__fini_array_end> +20401508: 00001417 auipc s0,0x1 +2040150c: e9c40413 addi s0,s0,-356 # 204023a4 <__fini_array_end> +20401510: 40f40433 sub s0,s0,a5 +20401514: 00112623 sw ra,12(sp) +20401518: 00912223 sw s1,4(sp) +2040151c: 40245413 srai s0,s0,0x2 +20401520: 02040263 beqz s0,20401544 <__libc_fini_array+0x4c> +20401524: 00241493 slli s1,s0,0x2 +20401528: ffc48493 addi s1,s1,-4 +2040152c: 00f484b3 add s1,s1,a5 +20401530: 0004a783 lw a5,0(s1) +20401534: fff40413 addi s0,s0,-1 +20401538: ffc48493 addi s1,s1,-4 +2040153c: 000780e7 jalr a5 +20401540: fe0418e3 bnez s0,20401530 <__libc_fini_array+0x38> +20401544: 00c12083 lw ra,12(sp) +20401548: 00812403 lw s0,8(sp) +2040154c: 00412483 lw s1,4(sp) +20401550: 01010113 addi sp,sp,16 +20401554: 00008067 ret -2040156c <__wrap_isatty>: -2040156c: fe010113 addi sp,sp,-32 -20401570: 00812e23 sw s0,28(sp) -20401574: 02010413 addi s0,sp,32 -20401578: fea42623 sw a0,-20(s0) -2040157c: fec42703 lw a4,-20(s0) -20401580: 00100793 li a5,1 -20401584: 00f70863 beq a4,a5,20401594 <__wrap_isatty+0x28> -20401588: fec42703 lw a4,-20(s0) -2040158c: 00200793 li a5,2 -20401590: 00f71663 bne a4,a5,2040159c <__wrap_isatty+0x30> -20401594: 00100793 li a5,1 -20401598: 0080006f j 204015a0 <__wrap_isatty+0x34> -2040159c: 00000793 li a5,0 -204015a0: 00078513 mv a0,a5 -204015a4: 01c12403 lw s0,28(sp) -204015a8: 02010113 addi sp,sp,32 -204015ac: 00008067 ret +20401558 <__libc_init_array>: +20401558: ff010113 addi sp,sp,-16 +2040155c: 00812423 sw s0,8(sp) +20401560: 01212023 sw s2,0(sp) +20401564: 00001417 auipc s0,0x1 +20401568: e3c40413 addi s0,s0,-452 # 204023a0 <__init_array_start> +2040156c: 00001917 auipc s2,0x1 +20401570: e3490913 addi s2,s2,-460 # 204023a0 <__init_array_start> +20401574: 40890933 sub s2,s2,s0 +20401578: 00112623 sw ra,12(sp) +2040157c: 00912223 sw s1,4(sp) +20401580: 40295913 srai s2,s2,0x2 +20401584: 00090e63 beqz s2,204015a0 <__libc_init_array+0x48> +20401588: 00000493 li s1,0 +2040158c: 00042783 lw a5,0(s0) +20401590: 00148493 addi s1,s1,1 +20401594: 00440413 addi s0,s0,4 +20401598: 000780e7 jalr a5 +2040159c: fe9918e3 bne s2,s1,2040158c <__libc_init_array+0x34> +204015a0: 00001417 auipc s0,0x1 +204015a4: e0040413 addi s0,s0,-512 # 204023a0 <__init_array_start> +204015a8: 00001917 auipc s2,0x1 +204015ac: dfc90913 addi s2,s2,-516 # 204023a4 <__fini_array_end> +204015b0: 40890933 sub s2,s2,s0 +204015b4: 40295913 srai s2,s2,0x2 +204015b8: 00090e63 beqz s2,204015d4 <__libc_init_array+0x7c> +204015bc: 00000493 li s1,0 +204015c0: 00042783 lw a5,0(s0) +204015c4: 00148493 addi s1,s1,1 +204015c8: 00440413 addi s0,s0,4 +204015cc: 000780e7 jalr a5 +204015d0: fe9918e3 bne s2,s1,204015c0 <__libc_init_array+0x68> +204015d4: 00c12083 lw ra,12(sp) +204015d8: 00812403 lw s0,8(sp) +204015dc: 00412483 lw s1,4(sp) +204015e0: 00012903 lw s2,0(sp) +204015e4: 01010113 addi sp,sp,16 +204015e8: 00008067 ret -204015b0 <__wrap__exit>: -204015b0: fc010113 addi sp,sp,-64 -204015b4: 02112e23 sw ra,60(sp) -204015b8: 02812c23 sw s0,56(sp) -204015bc: 04010413 addi s0,sp,64 -204015c0: fca42623 sw a0,-52(s0) -204015c4: 204027b7 lui a5,0x20402 -204015c8: 38478793 addi a5,a5,900 # 20402384 <__clzsi2+0x244> -204015cc: 0007a883 lw a7,0(a5) -204015d0: 0047a803 lw a6,4(a5) -204015d4: 0087a503 lw a0,8(a5) -204015d8: 00c7a583 lw a1,12(a5) -204015dc: 0107a603 lw a2,16(a5) -204015e0: 0147a683 lw a3,20(a5) -204015e4: 0187a703 lw a4,24(a5) -204015e8: fd142823 sw a7,-48(s0) -204015ec: fd042a23 sw a6,-44(s0) -204015f0: fca42c23 sw a0,-40(s0) -204015f4: fcb42e23 sw a1,-36(s0) -204015f8: fec42023 sw a2,-32(s0) -204015fc: fed42223 sw a3,-28(s0) -20401600: fee42423 sw a4,-24(s0) -20401604: 01c7d783 lhu a5,28(a5) -20401608: fef41623 sh a5,-20(s0) -2040160c: fd040793 addi a5,s0,-48 -20401610: 01d00613 li a2,29 -20401614: 00078593 mv a1,a5 -20401618: 00200513 li a0,2 -2040161c: e79ff0ef jal ra,20401494 <__wrap_write> -20401620: 00100613 li a2,1 -20401624: 204027b7 lui a5,0x20402 -20401628: 38078593 addi a1,a5,896 # 20402380 <__clzsi2+0x240> -2040162c: 00200513 li a0,2 -20401630: e65ff0ef jal ra,20401494 <__wrap_write> -20401634: 0000006f j 20401634 <__wrap__exit+0x84> +204015ec : +204015ec: 02058463 beqz a1,20401614 +204015f0: 00054783 lbu a5,0(a0) +204015f4: 02078a63 beqz a5,20401628 +204015f8: 00b506b3 add a3,a0,a1 +204015fc: 00050793 mv a5,a0 +20401600: 00c0006f j 2040160c +20401604: 0007c703 lbu a4,0(a5) +20401608: 00070a63 beqz a4,2040161c +2040160c: 00178793 addi a5,a5,1 +20401610: fed79ae3 bne a5,a3,20401604 +20401614: 00058513 mv a0,a1 +20401618: 00008067 ret +2040161c: 40a785b3 sub a1,a5,a0 +20401620: 00058513 mv a0,a1 +20401624: 00008067 ret +20401628: 00000593 li a1,0 +2040162c: fe9ff06f j 20401614 -20401638 : -20401638: 00050593 mv a1,a0 -2040163c: 00000693 li a3,0 -20401640: 00000613 li a2,0 -20401644: 00000513 li a0,0 -20401648: 1740006f j 204017bc <__register_exitproc> +20401630 <__register_exitproc>: +20401630: 5fbff797 auipc a5,0x5fbff +20401634: df878793 addi a5,a5,-520 # 80000428 <_global_impure_ptr> +20401638: 0007a703 lw a4,0(a5) +2040163c: 14872783 lw a5,328(a4) +20401640: 04078c63 beqz a5,20401698 <__register_exitproc+0x68> +20401644: 0047a703 lw a4,4(a5) +20401648: 01f00813 li a6,31 +2040164c: 06e84e63 blt a6,a4,204016c8 <__register_exitproc+0x98> +20401650: 00271813 slli a6,a4,0x2 +20401654: 02050663 beqz a0,20401680 <__register_exitproc+0x50> +20401658: 01078333 add t1,a5,a6 +2040165c: 08c32423 sw a2,136(t1) +20401660: 1887a883 lw a7,392(a5) +20401664: 00100613 li a2,1 +20401668: 00e61633 sll a2,a2,a4 +2040166c: 00c8e8b3 or a7,a7,a2 +20401670: 1917a423 sw a7,392(a5) +20401674: 10d32423 sw a3,264(t1) +20401678: 00200693 li a3,2 +2040167c: 02d50463 beq a0,a3,204016a4 <__register_exitproc+0x74> +20401680: 00170713 addi a4,a4,1 +20401684: 00e7a223 sw a4,4(a5) +20401688: 010787b3 add a5,a5,a6 +2040168c: 00b7a423 sw a1,8(a5) +20401690: 00000513 li a0,0 +20401694: 00008067 ret +20401698: 14c70793 addi a5,a4,332 +2040169c: 14f72423 sw a5,328(a4) +204016a0: fa5ff06f j 20401644 <__register_exitproc+0x14> +204016a4: 18c7a683 lw a3,396(a5) +204016a8: 00170713 addi a4,a4,1 +204016ac: 00e7a223 sw a4,4(a5) +204016b0: 00c6e633 or a2,a3,a2 +204016b4: 18c7a623 sw a2,396(a5) +204016b8: 010787b3 add a5,a5,a6 +204016bc: 00b7a423 sw a1,8(a5) +204016c0: 00000513 li a0,0 +204016c4: 00008067 ret +204016c8: fff00513 li a0,-1 +204016cc: 00008067 ret -2040164c : -2040164c: ff010113 addi sp,sp,-16 -20401650: 00000593 li a1,0 -20401654: 00812423 sw s0,8(sp) -20401658: 00112623 sw ra,12(sp) -2040165c: 00050413 mv s0,a0 -20401660: 1fc000ef jal ra,2040185c <__call_exitprocs> -20401664: 5fbff797 auipc a5,0x5fbff -20401668: dc478793 addi a5,a5,-572 # 80000428 <_global_impure_ptr> -2040166c: 0007a503 lw a0,0(a5) -20401670: 03c52783 lw a5,60(a0) -20401674: 00078463 beqz a5,2040167c -20401678: 000780e7 jalr a5 -2040167c: 00040513 mv a0,s0 -20401680: f31ff0ef jal ra,204015b0 <__wrap__exit> +204016d0 <__call_exitprocs>: +204016d0: fd010113 addi sp,sp,-48 +204016d4: 5fbff797 auipc a5,0x5fbff +204016d8: d5478793 addi a5,a5,-684 # 80000428 <_global_impure_ptr> +204016dc: 01812423 sw s8,8(sp) +204016e0: 0007ac03 lw s8,0(a5) +204016e4: 01312e23 sw s3,28(sp) +204016e8: 01412c23 sw s4,24(sp) +204016ec: 01512a23 sw s5,20(sp) +204016f0: 01612823 sw s6,16(sp) +204016f4: 02112623 sw ra,44(sp) +204016f8: 02812423 sw s0,40(sp) +204016fc: 02912223 sw s1,36(sp) +20401700: 03212023 sw s2,32(sp) +20401704: 01712623 sw s7,12(sp) +20401708: 00050a93 mv s5,a0 +2040170c: 00058b13 mv s6,a1 +20401710: 00100a13 li s4,1 +20401714: fff00993 li s3,-1 +20401718: 148c2903 lw s2,328(s8) +2040171c: 02090863 beqz s2,2040174c <__call_exitprocs+0x7c> +20401720: 00492483 lw s1,4(s2) +20401724: fff48413 addi s0,s1,-1 +20401728: 02044263 bltz s0,2040174c <__call_exitprocs+0x7c> +2040172c: 00249493 slli s1,s1,0x2 +20401730: 009904b3 add s1,s2,s1 +20401734: 040b0463 beqz s6,2040177c <__call_exitprocs+0xac> +20401738: 1044a783 lw a5,260(s1) +2040173c: 05678063 beq a5,s6,2040177c <__call_exitprocs+0xac> +20401740: fff40413 addi s0,s0,-1 +20401744: ffc48493 addi s1,s1,-4 +20401748: ff3416e3 bne s0,s3,20401734 <__call_exitprocs+0x64> +2040174c: 02c12083 lw ra,44(sp) +20401750: 02812403 lw s0,40(sp) +20401754: 02412483 lw s1,36(sp) +20401758: 02012903 lw s2,32(sp) +2040175c: 01c12983 lw s3,28(sp) +20401760: 01812a03 lw s4,24(sp) +20401764: 01412a83 lw s5,20(sp) +20401768: 01012b03 lw s6,16(sp) +2040176c: 00c12b83 lw s7,12(sp) +20401770: 00812c03 lw s8,8(sp) +20401774: 03010113 addi sp,sp,48 +20401778: 00008067 ret +2040177c: 00492783 lw a5,4(s2) +20401780: 0044a683 lw a3,4(s1) +20401784: fff78793 addi a5,a5,-1 +20401788: 04878a63 beq a5,s0,204017dc <__call_exitprocs+0x10c> +2040178c: 0004a223 sw zero,4(s1) +20401790: fa0688e3 beqz a3,20401740 <__call_exitprocs+0x70> +20401794: 18892783 lw a5,392(s2) +20401798: 008a1733 sll a4,s4,s0 +2040179c: 00492b83 lw s7,4(s2) +204017a0: 00f777b3 and a5,a4,a5 +204017a4: 00079e63 bnez a5,204017c0 <__call_exitprocs+0xf0> +204017a8: 000680e7 jalr a3 +204017ac: 00492783 lw a5,4(s2) +204017b0: f77794e3 bne a5,s7,20401718 <__call_exitprocs+0x48> +204017b4: 148c2783 lw a5,328(s8) +204017b8: f92784e3 beq a5,s2,20401740 <__call_exitprocs+0x70> +204017bc: f5dff06f j 20401718 <__call_exitprocs+0x48> +204017c0: 18c92783 lw a5,396(s2) +204017c4: 0844a583 lw a1,132(s1) +204017c8: 00f77733 and a4,a4,a5 +204017cc: 00071c63 bnez a4,204017e4 <__call_exitprocs+0x114> +204017d0: 000a8513 mv a0,s5 +204017d4: 000680e7 jalr a3 +204017d8: fd5ff06f j 204017ac <__call_exitprocs+0xdc> +204017dc: 00892223 sw s0,4(s2) +204017e0: fb1ff06f j 20401790 <__call_exitprocs+0xc0> +204017e4: 00058513 mv a0,a1 +204017e8: 000680e7 jalr a3 +204017ec: fc1ff06f j 204017ac <__call_exitprocs+0xdc> -20401684 <__libc_fini_array>: -20401684: ff010113 addi sp,sp,-16 -20401688: 00812423 sw s0,8(sp) -2040168c: 00001797 auipc a5,0x1 -20401690: e5878793 addi a5,a5,-424 # 204024e4 <__fini_array_end> -20401694: 00001417 auipc s0,0x1 -20401698: e5040413 addi s0,s0,-432 # 204024e4 <__fini_array_end> -2040169c: 40f40433 sub s0,s0,a5 -204016a0: 00112623 sw ra,12(sp) -204016a4: 00912223 sw s1,4(sp) -204016a8: 40245413 srai s0,s0,0x2 -204016ac: 02040263 beqz s0,204016d0 <__libc_fini_array+0x4c> -204016b0: 00241493 slli s1,s0,0x2 -204016b4: ffc48493 addi s1,s1,-4 -204016b8: 00f484b3 add s1,s1,a5 -204016bc: 0004a783 lw a5,0(s1) -204016c0: fff40413 addi s0,s0,-1 -204016c4: ffc48493 addi s1,s1,-4 -204016c8: 000780e7 jalr a5 -204016cc: fe0418e3 bnez s0,204016bc <__libc_fini_array+0x38> -204016d0: 00c12083 lw ra,12(sp) -204016d4: 00812403 lw s0,8(sp) -204016d8: 00412483 lw s1,4(sp) -204016dc: 01010113 addi sp,sp,16 -204016e0: 00008067 ret +204017f0 <__muldf3>: +204017f0: fd010113 addi sp,sp,-48 +204017f4: 01312e23 sw s3,28(sp) +204017f8: 0145d993 srli s3,a1,0x14 +204017fc: 02812423 sw s0,40(sp) +20401800: 02912223 sw s1,36(sp) +20401804: 01412c23 sw s4,24(sp) +20401808: 01512a23 sw s5,20(sp) +2040180c: 01612823 sw s6,16(sp) +20401810: 00c59493 slli s1,a1,0xc +20401814: 02112623 sw ra,44(sp) +20401818: 03212023 sw s2,32(sp) +2040181c: 01712623 sw s7,12(sp) +20401820: 7ff9f993 andi s3,s3,2047 +20401824: 00050413 mv s0,a0 +20401828: 00060b13 mv s6,a2 +2040182c: 00068a93 mv s5,a3 +20401830: 00c4d493 srli s1,s1,0xc +20401834: 01f5da13 srli s4,a1,0x1f +20401838: 0a098463 beqz s3,204018e0 <__muldf3+0xf0> +2040183c: 7ff00793 li a5,2047 +20401840: 10f98263 beq s3,a5,20401944 <__muldf3+0x154> +20401844: 01d55793 srli a5,a0,0x1d +20401848: 00349493 slli s1,s1,0x3 +2040184c: 0097e4b3 or s1,a5,s1 +20401850: 008007b7 lui a5,0x800 +20401854: 00f4e4b3 or s1,s1,a5 +20401858: 00351913 slli s2,a0,0x3 +2040185c: c0198993 addi s3,s3,-1023 +20401860: 00000b93 li s7,0 +20401864: 014ad513 srli a0,s5,0x14 +20401868: 00ca9413 slli s0,s5,0xc +2040186c: 7ff57513 andi a0,a0,2047 +20401870: 00c45413 srli s0,s0,0xc +20401874: 01fada93 srli s5,s5,0x1f +20401878: 10050263 beqz a0,2040197c <__muldf3+0x18c> +2040187c: 7ff00793 li a5,2047 +20401880: 16f50263 beq a0,a5,204019e4 <__muldf3+0x1f4> +20401884: 01db5793 srli a5,s6,0x1d +20401888: 00341413 slli s0,s0,0x3 +2040188c: 0087e433 or s0,a5,s0 +20401890: 008007b7 lui a5,0x800 +20401894: 00f46433 or s0,s0,a5 +20401898: c0150513 addi a0,a0,-1023 +2040189c: 003b1793 slli a5,s6,0x3 +204018a0: 00000713 li a4,0 +204018a4: 002b9693 slli a3,s7,0x2 +204018a8: 00e6e6b3 or a3,a3,a4 +204018ac: 00a989b3 add s3,s3,a0 +204018b0: fff68693 addi a3,a3,-1 +204018b4: 00e00613 li a2,14 +204018b8: 015a4833 xor a6,s4,s5 +204018bc: 00198893 addi a7,s3,1 +204018c0: 14d66e63 bltu a2,a3,20401a1c <__muldf3+0x22c> +204018c4: 00001617 auipc a2,0x1 +204018c8: 9a060613 addi a2,a2,-1632 # 20402264 <__clzsi2+0x2b0> +204018cc: 00269693 slli a3,a3,0x2 +204018d0: 00c686b3 add a3,a3,a2 +204018d4: 0006a683 lw a3,0(a3) +204018d8: 00c686b3 add a3,a3,a2 +204018dc: 00068067 jr a3 +204018e0: 00a4e933 or s2,s1,a0 +204018e4: 06090c63 beqz s2,2040195c <__muldf3+0x16c> +204018e8: 04048063 beqz s1,20401928 <__muldf3+0x138> +204018ec: 00048513 mv a0,s1 +204018f0: 6c4000ef jal ra,20401fb4 <__clzsi2> +204018f4: ff550713 addi a4,a0,-11 +204018f8: 01c00793 li a5,28 +204018fc: 02e7cc63 blt a5,a4,20401934 <__muldf3+0x144> +20401900: 01d00793 li a5,29 +20401904: ff850913 addi s2,a0,-8 +20401908: 40e787b3 sub a5,a5,a4 +2040190c: 012494b3 sll s1,s1,s2 +20401910: 00f457b3 srl a5,s0,a5 +20401914: 0097e4b3 or s1,a5,s1 +20401918: 01241933 sll s2,s0,s2 +2040191c: c0d00993 li s3,-1011 +20401920: 40a989b3 sub s3,s3,a0 +20401924: f3dff06f j 20401860 <__muldf3+0x70> +20401928: 68c000ef jal ra,20401fb4 <__clzsi2> +2040192c: 02050513 addi a0,a0,32 +20401930: fc5ff06f j 204018f4 <__muldf3+0x104> +20401934: fd850493 addi s1,a0,-40 +20401938: 009414b3 sll s1,s0,s1 +2040193c: 00000913 li s2,0 +20401940: fddff06f j 2040191c <__muldf3+0x12c> +20401944: 00a4e933 or s2,s1,a0 +20401948: 02090263 beqz s2,2040196c <__muldf3+0x17c> +2040194c: 00050913 mv s2,a0 +20401950: 7ff00993 li s3,2047 +20401954: 00300b93 li s7,3 +20401958: f0dff06f j 20401864 <__muldf3+0x74> +2040195c: 00000493 li s1,0 +20401960: 00000993 li s3,0 +20401964: 00100b93 li s7,1 +20401968: efdff06f j 20401864 <__muldf3+0x74> +2040196c: 00000493 li s1,0 +20401970: 7ff00993 li s3,2047 +20401974: 00200b93 li s7,2 +20401978: eedff06f j 20401864 <__muldf3+0x74> +2040197c: 016467b3 or a5,s0,s6 +20401980: 06078e63 beqz a5,204019fc <__muldf3+0x20c> +20401984: 04040063 beqz s0,204019c4 <__muldf3+0x1d4> +20401988: 00040513 mv a0,s0 +2040198c: 628000ef jal ra,20401fb4 <__clzsi2> +20401990: ff550693 addi a3,a0,-11 +20401994: 01c00793 li a5,28 +20401998: 02d7ce63 blt a5,a3,204019d4 <__muldf3+0x1e4> +2040199c: 01d00713 li a4,29 +204019a0: ff850793 addi a5,a0,-8 +204019a4: 40d70733 sub a4,a4,a3 +204019a8: 00f41433 sll s0,s0,a5 +204019ac: 00eb5733 srl a4,s6,a4 +204019b0: 00876433 or s0,a4,s0 +204019b4: 00fb17b3 sll a5,s6,a5 +204019b8: c0d00713 li a4,-1011 +204019bc: 40a70533 sub a0,a4,a0 +204019c0: ee1ff06f j 204018a0 <__muldf3+0xb0> +204019c4: 000b0513 mv a0,s6 +204019c8: 5ec000ef jal ra,20401fb4 <__clzsi2> +204019cc: 02050513 addi a0,a0,32 +204019d0: fc1ff06f j 20401990 <__muldf3+0x1a0> +204019d4: fd850413 addi s0,a0,-40 +204019d8: 008b1433 sll s0,s6,s0 +204019dc: 00000793 li a5,0 +204019e0: fd9ff06f j 204019b8 <__muldf3+0x1c8> +204019e4: 016467b3 or a5,s0,s6 +204019e8: 02078263 beqz a5,20401a0c <__muldf3+0x21c> +204019ec: 000b0793 mv a5,s6 +204019f0: 7ff00513 li a0,2047 +204019f4: 00300713 li a4,3 +204019f8: eadff06f j 204018a4 <__muldf3+0xb4> +204019fc: 00000413 li s0,0 +20401a00: 00000513 li a0,0 +20401a04: 00100713 li a4,1 +20401a08: e9dff06f j 204018a4 <__muldf3+0xb4> +20401a0c: 00000413 li s0,0 +20401a10: 7ff00513 li a0,2047 +20401a14: 00200713 li a4,2 +20401a18: e8dff06f j 204018a4 <__muldf3+0xb4> +20401a1c: 000102b7 lui t0,0x10 +20401a20: fff28313 addi t1,t0,-1 # ffff <__stack_size+0xf7ff> +20401a24: 01095f13 srli t5,s2,0x10 +20401a28: 0107df93 srli t6,a5,0x10 +20401a2c: 00697933 and s2,s2,t1 +20401a30: 0067f7b3 and a5,a5,t1 +20401a34: 00090513 mv a0,s2 +20401a38: 00078593 mv a1,a5 +20401a3c: 4a0000ef jal ra,20401edc <__mulsi3> +20401a40: 00050e93 mv t4,a0 +20401a44: 000f8593 mv a1,t6 +20401a48: 00090513 mv a0,s2 +20401a4c: 490000ef jal ra,20401edc <__mulsi3> +20401a50: 00050e13 mv t3,a0 +20401a54: 00078593 mv a1,a5 +20401a58: 000f0513 mv a0,t5 +20401a5c: 480000ef jal ra,20401edc <__mulsi3> +20401a60: 00050a13 mv s4,a0 +20401a64: 000f8593 mv a1,t6 +20401a68: 000f0513 mv a0,t5 +20401a6c: 470000ef jal ra,20401edc <__mulsi3> +20401a70: 010ed713 srli a4,t4,0x10 +20401a74: 014e0e33 add t3,t3,s4 +20401a78: 01c70733 add a4,a4,t3 +20401a7c: 00050393 mv t2,a0 +20401a80: 01477463 bgeu a4,s4,20401a88 <__muldf3+0x298> +20401a84: 005503b3 add t2,a0,t0 +20401a88: 00677e33 and t3,a4,t1 +20401a8c: 006efeb3 and t4,t4,t1 +20401a90: 01045a13 srli s4,s0,0x10 +20401a94: 010e1e13 slli t3,t3,0x10 +20401a98: 00647433 and s0,s0,t1 +20401a9c: 01075293 srli t0,a4,0x10 +20401aa0: 01de0e33 add t3,t3,t4 +20401aa4: 00090513 mv a0,s2 +20401aa8: 00040593 mv a1,s0 +20401aac: 430000ef jal ra,20401edc <__mulsi3> +20401ab0: 00050e93 mv t4,a0 +20401ab4: 000a0593 mv a1,s4 +20401ab8: 00090513 mv a0,s2 +20401abc: 420000ef jal ra,20401edc <__mulsi3> +20401ac0: 00050713 mv a4,a0 +20401ac4: 00040593 mv a1,s0 +20401ac8: 000f0513 mv a0,t5 +20401acc: 410000ef jal ra,20401edc <__mulsi3> +20401ad0: 00050313 mv t1,a0 +20401ad4: 000a0593 mv a1,s4 +20401ad8: 000f0513 mv a0,t5 +20401adc: 400000ef jal ra,20401edc <__mulsi3> +20401ae0: 010ed693 srli a3,t4,0x10 +20401ae4: 00670733 add a4,a4,t1 +20401ae8: 00e686b3 add a3,a3,a4 +20401aec: 0066f663 bgeu a3,t1,20401af8 <__muldf3+0x308> +20401af0: 00010737 lui a4,0x10 +20401af4: 00e50533 add a0,a0,a4 +20401af8: 00010ab7 lui s5,0x10 +20401afc: fffa8613 addi a2,s5,-1 # ffff <__stack_size+0xf7ff> +20401b00: 0106d713 srli a4,a3,0x10 +20401b04: 00c6f6b3 and a3,a3,a2 +20401b08: 01069693 slli a3,a3,0x10 +20401b0c: 00cefeb3 and t4,t4,a2 +20401b10: 00a70f33 add t5,a4,a0 +20401b14: 01d68eb3 add t4,a3,t4 +20401b18: 0104d713 srli a4,s1,0x10 +20401b1c: 00c4f4b3 and s1,s1,a2 +20401b20: 01d282b3 add t0,t0,t4 +20401b24: 00048513 mv a0,s1 +20401b28: 00078593 mv a1,a5 +20401b2c: 3b0000ef jal ra,20401edc <__mulsi3> +20401b30: 00050913 mv s2,a0 +20401b34: 000f8593 mv a1,t6 +20401b38: 00048513 mv a0,s1 +20401b3c: 3a0000ef jal ra,20401edc <__mulsi3> +20401b40: 00050313 mv t1,a0 +20401b44: 00078593 mv a1,a5 +20401b48: 00070513 mv a0,a4 +20401b4c: 390000ef jal ra,20401edc <__mulsi3> +20401b50: 00050b13 mv s6,a0 +20401b54: 000f8593 mv a1,t6 +20401b58: 00070513 mv a0,a4 +20401b5c: 380000ef jal ra,20401edc <__mulsi3> +20401b60: 01095793 srli a5,s2,0x10 +20401b64: 01630333 add t1,t1,s6 +20401b68: 006787b3 add a5,a5,t1 +20401b6c: 0167f463 bgeu a5,s6,20401b74 <__muldf3+0x384> +20401b70: 01550533 add a0,a0,s5 +20401b74: 00010ab7 lui s5,0x10 +20401b78: fffa8693 addi a3,s5,-1 # ffff <__stack_size+0xf7ff> +20401b7c: 00d7f333 and t1,a5,a3 +20401b80: 0107d613 srli a2,a5,0x10 +20401b84: 00d97933 and s2,s2,a3 +20401b88: 01031313 slli t1,t1,0x10 +20401b8c: 00a60fb3 add t6,a2,a0 +20401b90: 01230333 add t1,t1,s2 +20401b94: 00048513 mv a0,s1 +20401b98: 00040593 mv a1,s0 +20401b9c: 340000ef jal ra,20401edc <__mulsi3> +20401ba0: 00050793 mv a5,a0 +20401ba4: 000a0593 mv a1,s4 +20401ba8: 00048513 mv a0,s1 +20401bac: 330000ef jal ra,20401edc <__mulsi3> +20401bb0: 00050493 mv s1,a0 +20401bb4: 00040593 mv a1,s0 +20401bb8: 00070513 mv a0,a4 +20401bbc: 320000ef jal ra,20401edc <__mulsi3> +20401bc0: 00050913 mv s2,a0 +20401bc4: 000a0593 mv a1,s4 +20401bc8: 00070513 mv a0,a4 +20401bcc: 310000ef jal ra,20401edc <__mulsi3> +20401bd0: 0107d693 srli a3,a5,0x10 +20401bd4: 012484b3 add s1,s1,s2 +20401bd8: 009686b3 add a3,a3,s1 +20401bdc: 0126f463 bgeu a3,s2,20401be4 <__muldf3+0x3f4> +20401be0: 01550533 add a0,a0,s5 +20401be4: 00010637 lui a2,0x10 +20401be8: fff60613 addi a2,a2,-1 # ffff <__stack_size+0xf7ff> +20401bec: 00c6f733 and a4,a3,a2 +20401bf0: 00c7f7b3 and a5,a5,a2 +20401bf4: 01071713 slli a4,a4,0x10 +20401bf8: 007282b3 add t0,t0,t2 +20401bfc: 00f70733 add a4,a4,a5 +20401c00: 01d2beb3 sltu t4,t0,t4 +20401c04: 01e70733 add a4,a4,t5 +20401c08: 01d70433 add s0,a4,t4 +20401c0c: 006282b3 add t0,t0,t1 +20401c10: 01f40633 add a2,s0,t6 +20401c14: 0062b333 sltu t1,t0,t1 +20401c18: 006605b3 add a1,a2,t1 +20401c1c: 01e73733 sltu a4,a4,t5 +20401c20: 01d43433 sltu s0,s0,t4 +20401c24: 00876433 or s0,a4,s0 +20401c28: 0106d693 srli a3,a3,0x10 +20401c2c: 01f63633 sltu a2,a2,t6 +20401c30: 0065b333 sltu t1,a1,t1 +20401c34: 00d40433 add s0,s0,a3 +20401c38: 00666333 or t1,a2,t1 +20401c3c: 00640433 add s0,s0,t1 +20401c40: 00929793 slli a5,t0,0x9 +20401c44: 00a40433 add s0,s0,a0 +20401c48: 01c7e7b3 or a5,a5,t3 +20401c4c: 00941413 slli s0,s0,0x9 +20401c50: 0175d513 srli a0,a1,0x17 +20401c54: 00f037b3 snez a5,a5 +20401c58: 0172de13 srli t3,t0,0x17 +20401c5c: 00959713 slli a4,a1,0x9 +20401c60: 00a46433 or s0,s0,a0 +20401c64: 01c7e7b3 or a5,a5,t3 +20401c68: 00e7e7b3 or a5,a5,a4 +20401c6c: 00741713 slli a4,s0,0x7 +20401c70: 10075263 bgez a4,20401d74 <__muldf3+0x584> +20401c74: 0017d713 srli a4,a5,0x1 +20401c78: 0017f793 andi a5,a5,1 +20401c7c: 00f767b3 or a5,a4,a5 +20401c80: 01f41713 slli a4,s0,0x1f +20401c84: 00e7e7b3 or a5,a5,a4 +20401c88: 00145413 srli s0,s0,0x1 +20401c8c: 3ff88693 addi a3,a7,1023 +20401c90: 0ed05663 blez a3,20401d7c <__muldf3+0x58c> +20401c94: 0077f713 andi a4,a5,7 +20401c98: 02070063 beqz a4,20401cb8 <__muldf3+0x4c8> +20401c9c: 00f7f713 andi a4,a5,15 +20401ca0: 00400613 li a2,4 +20401ca4: 00c70a63 beq a4,a2,20401cb8 <__muldf3+0x4c8> +20401ca8: 00478713 addi a4,a5,4 # 800004 <__stack_size+0x7ff804> +20401cac: 00f737b3 sltu a5,a4,a5 +20401cb0: 00f40433 add s0,s0,a5 +20401cb4: 00070793 mv a5,a4 +20401cb8: 00741713 slli a4,s0,0x7 +20401cbc: 00075a63 bgez a4,20401cd0 <__muldf3+0x4e0> +20401cc0: ff000737 lui a4,0xff000 +20401cc4: fff70713 addi a4,a4,-1 # feffffff <_sp+0x7effbfff> +20401cc8: 00e47433 and s0,s0,a4 +20401ccc: 40088693 addi a3,a7,1024 +20401cd0: 7fe00713 li a4,2046 +20401cd4: 16d74663 blt a4,a3,20401e40 <__muldf3+0x650> +20401cd8: 0037d713 srli a4,a5,0x3 +20401cdc: 01d41793 slli a5,s0,0x1d +20401ce0: 00e7e7b3 or a5,a5,a4 +20401ce4: 00345413 srli s0,s0,0x3 +20401ce8: 00c41413 slli s0,s0,0xc +20401cec: 7ff6f713 andi a4,a3,2047 +20401cf0: 01471713 slli a4,a4,0x14 +20401cf4: 00c45413 srli s0,s0,0xc +20401cf8: 00e46433 or s0,s0,a4 +20401cfc: 01f81813 slli a6,a6,0x1f +20401d00: 01046733 or a4,s0,a6 +20401d04: 02c12083 lw ra,44(sp) +20401d08: 02812403 lw s0,40(sp) +20401d0c: 02412483 lw s1,36(sp) +20401d10: 02012903 lw s2,32(sp) +20401d14: 01c12983 lw s3,28(sp) +20401d18: 01812a03 lw s4,24(sp) +20401d1c: 01412a83 lw s5,20(sp) +20401d20: 01012b03 lw s6,16(sp) +20401d24: 00c12b83 lw s7,12(sp) +20401d28: 00078513 mv a0,a5 +20401d2c: 00070593 mv a1,a4 +20401d30: 03010113 addi sp,sp,48 +20401d34: 00008067 ret +20401d38: 000a0813 mv a6,s4 +20401d3c: 00048413 mv s0,s1 +20401d40: 00090793 mv a5,s2 +20401d44: 000b8713 mv a4,s7 +20401d48: 00200693 li a3,2 +20401d4c: 0ed70a63 beq a4,a3,20401e40 <__muldf3+0x650> +20401d50: 00300693 li a3,3 +20401d54: 0cd70c63 beq a4,a3,20401e2c <__muldf3+0x63c> +20401d58: 00100693 li a3,1 +20401d5c: f2d718e3 bne a4,a3,20401c8c <__muldf3+0x49c> +20401d60: 00000413 li s0,0 +20401d64: 00000793 li a5,0 +20401d68: 0880006f j 20401df0 <__muldf3+0x600> +20401d6c: 000a8813 mv a6,s5 +20401d70: fd9ff06f j 20401d48 <__muldf3+0x558> +20401d74: 00098893 mv a7,s3 +20401d78: f15ff06f j 20401c8c <__muldf3+0x49c> +20401d7c: 00100613 li a2,1 +20401d80: 40d60633 sub a2,a2,a3 +20401d84: 03800713 li a4,56 +20401d88: fcc74ce3 blt a4,a2,20401d60 <__muldf3+0x570> +20401d8c: 01f00713 li a4,31 +20401d90: 06c74463 blt a4,a2,20401df8 <__muldf3+0x608> +20401d94: 41e88893 addi a7,a7,1054 +20401d98: 01141733 sll a4,s0,a7 +20401d9c: 00c7d6b3 srl a3,a5,a2 +20401da0: 011797b3 sll a5,a5,a7 +20401da4: 00d76733 or a4,a4,a3 +20401da8: 00f037b3 snez a5,a5 +20401dac: 00f767b3 or a5,a4,a5 +20401db0: 00c45433 srl s0,s0,a2 +20401db4: 0077f713 andi a4,a5,7 +20401db8: 02070063 beqz a4,20401dd8 <__muldf3+0x5e8> +20401dbc: 00f7f713 andi a4,a5,15 +20401dc0: 00400693 li a3,4 +20401dc4: 00d70a63 beq a4,a3,20401dd8 <__muldf3+0x5e8> +20401dc8: 00478713 addi a4,a5,4 +20401dcc: 00f737b3 sltu a5,a4,a5 +20401dd0: 00f40433 add s0,s0,a5 +20401dd4: 00070793 mv a5,a4 +20401dd8: 00841713 slli a4,s0,0x8 +20401ddc: 06074a63 bltz a4,20401e50 <__muldf3+0x660> +20401de0: 01d41713 slli a4,s0,0x1d +20401de4: 0037d793 srli a5,a5,0x3 +20401de8: 00f767b3 or a5,a4,a5 +20401dec: 00345413 srli s0,s0,0x3 +20401df0: 00000693 li a3,0 +20401df4: ef5ff06f j 20401ce8 <__muldf3+0x4f8> +20401df8: fe100713 li a4,-31 +20401dfc: 40d70733 sub a4,a4,a3 +20401e00: 02000593 li a1,32 +20401e04: 00e45733 srl a4,s0,a4 +20401e08: 00000693 li a3,0 +20401e0c: 00b60663 beq a2,a1,20401e18 <__muldf3+0x628> +20401e10: 43e88893 addi a7,a7,1086 +20401e14: 011416b3 sll a3,s0,a7 +20401e18: 00f6e7b3 or a5,a3,a5 +20401e1c: 00f037b3 snez a5,a5 +20401e20: 00f767b3 or a5,a4,a5 +20401e24: 00000413 li s0,0 +20401e28: f8dff06f j 20401db4 <__muldf3+0x5c4> +20401e2c: 00080437 lui s0,0x80 +20401e30: 00000793 li a5,0 +20401e34: 7ff00693 li a3,2047 +20401e38: 00000813 li a6,0 +20401e3c: eadff06f j 20401ce8 <__muldf3+0x4f8> +20401e40: 00000413 li s0,0 +20401e44: 00000793 li a5,0 +20401e48: 7ff00693 li a3,2047 +20401e4c: e9dff06f j 20401ce8 <__muldf3+0x4f8> +20401e50: 00000413 li s0,0 +20401e54: 00000793 li a5,0 +20401e58: 00100693 li a3,1 +20401e5c: e8dff06f j 20401ce8 <__muldf3+0x4f8> -204016e4 <__libc_init_array>: -204016e4: ff010113 addi sp,sp,-16 -204016e8: 00812423 sw s0,8(sp) -204016ec: 01212023 sw s2,0(sp) -204016f0: 00001417 auipc s0,0x1 -204016f4: df040413 addi s0,s0,-528 # 204024e0 <__init_array_start> -204016f8: 00001917 auipc s2,0x1 -204016fc: de890913 addi s2,s2,-536 # 204024e0 <__init_array_start> -20401700: 40890933 sub s2,s2,s0 -20401704: 00112623 sw ra,12(sp) -20401708: 00912223 sw s1,4(sp) -2040170c: 40295913 srai s2,s2,0x2 -20401710: 00090e63 beqz s2,2040172c <__libc_init_array+0x48> -20401714: 00000493 li s1,0 -20401718: 00042783 lw a5,0(s0) -2040171c: 00148493 addi s1,s1,1 -20401720: 00440413 addi s0,s0,4 -20401724: 000780e7 jalr a5 -20401728: fe9918e3 bne s2,s1,20401718 <__libc_init_array+0x34> -2040172c: 00001417 auipc s0,0x1 -20401730: db440413 addi s0,s0,-588 # 204024e0 <__init_array_start> -20401734: 00001917 auipc s2,0x1 -20401738: db090913 addi s2,s2,-592 # 204024e4 <__fini_array_end> -2040173c: 40890933 sub s2,s2,s0 -20401740: 40295913 srai s2,s2,0x2 -20401744: 00090e63 beqz s2,20401760 <__libc_init_array+0x7c> -20401748: 00000493 li s1,0 -2040174c: 00042783 lw a5,0(s0) -20401750: 00148493 addi s1,s1,1 -20401754: 00440413 addi s0,s0,4 -20401758: 000780e7 jalr a5 -2040175c: fe9918e3 bne s2,s1,2040174c <__libc_init_array+0x68> -20401760: 00c12083 lw ra,12(sp) -20401764: 00812403 lw s0,8(sp) -20401768: 00412483 lw s1,4(sp) -2040176c: 00012903 lw s2,0(sp) -20401770: 01010113 addi sp,sp,16 -20401774: 00008067 ret - -20401778 : -20401778: 02058463 beqz a1,204017a0 -2040177c: 00054783 lbu a5,0(a0) -20401780: 02078a63 beqz a5,204017b4 -20401784: 00b506b3 add a3,a0,a1 -20401788: 00050793 mv a5,a0 -2040178c: 00c0006f j 20401798 -20401790: 0007c703 lbu a4,0(a5) -20401794: 00070a63 beqz a4,204017a8 -20401798: 00178793 addi a5,a5,1 -2040179c: fed79ae3 bne a5,a3,20401790 -204017a0: 00058513 mv a0,a1 -204017a4: 00008067 ret -204017a8: 40a785b3 sub a1,a5,a0 -204017ac: 00058513 mv a0,a1 -204017b0: 00008067 ret -204017b4: 00000593 li a1,0 -204017b8: fe9ff06f j 204017a0 - -204017bc <__register_exitproc>: -204017bc: 5fbff797 auipc a5,0x5fbff -204017c0: c6c78793 addi a5,a5,-916 # 80000428 <_global_impure_ptr> -204017c4: 0007a703 lw a4,0(a5) -204017c8: 14872783 lw a5,328(a4) -204017cc: 04078c63 beqz a5,20401824 <__register_exitproc+0x68> -204017d0: 0047a703 lw a4,4(a5) -204017d4: 01f00813 li a6,31 -204017d8: 06e84e63 blt a6,a4,20401854 <__register_exitproc+0x98> -204017dc: 00271813 slli a6,a4,0x2 -204017e0: 02050663 beqz a0,2040180c <__register_exitproc+0x50> -204017e4: 01078333 add t1,a5,a6 -204017e8: 08c32423 sw a2,136(t1) -204017ec: 1887a883 lw a7,392(a5) -204017f0: 00100613 li a2,1 -204017f4: 00e61633 sll a2,a2,a4 -204017f8: 00c8e8b3 or a7,a7,a2 -204017fc: 1917a423 sw a7,392(a5) -20401800: 10d32423 sw a3,264(t1) -20401804: 00200693 li a3,2 -20401808: 02d50463 beq a0,a3,20401830 <__register_exitproc+0x74> -2040180c: 00170713 addi a4,a4,1 -20401810: 00e7a223 sw a4,4(a5) -20401814: 010787b3 add a5,a5,a6 -20401818: 00b7a423 sw a1,8(a5) -2040181c: 00000513 li a0,0 -20401820: 00008067 ret -20401824: 14c70793 addi a5,a4,332 -20401828: 14f72423 sw a5,328(a4) -2040182c: fa5ff06f j 204017d0 <__register_exitproc+0x14> -20401830: 18c7a683 lw a3,396(a5) -20401834: 00170713 addi a4,a4,1 -20401838: 00e7a223 sw a4,4(a5) -2040183c: 00c6e633 or a2,a3,a2 -20401840: 18c7a623 sw a2,396(a5) -20401844: 010787b3 add a5,a5,a6 -20401848: 00b7a423 sw a1,8(a5) -2040184c: 00000513 li a0,0 -20401850: 00008067 ret -20401854: fff00513 li a0,-1 -20401858: 00008067 ret - -2040185c <__call_exitprocs>: -2040185c: fd010113 addi sp,sp,-48 -20401860: 5fbff797 auipc a5,0x5fbff -20401864: bc878793 addi a5,a5,-1080 # 80000428 <_global_impure_ptr> -20401868: 01812423 sw s8,8(sp) -2040186c: 0007ac03 lw s8,0(a5) -20401870: 01312e23 sw s3,28(sp) -20401874: 01412c23 sw s4,24(sp) -20401878: 01512a23 sw s5,20(sp) -2040187c: 01612823 sw s6,16(sp) -20401880: 02112623 sw ra,44(sp) -20401884: 02812423 sw s0,40(sp) -20401888: 02912223 sw s1,36(sp) -2040188c: 03212023 sw s2,32(sp) -20401890: 01712623 sw s7,12(sp) -20401894: 00050a93 mv s5,a0 -20401898: 00058b13 mv s6,a1 -2040189c: 00100a13 li s4,1 -204018a0: fff00993 li s3,-1 -204018a4: 148c2903 lw s2,328(s8) -204018a8: 02090863 beqz s2,204018d8 <__call_exitprocs+0x7c> -204018ac: 00492483 lw s1,4(s2) -204018b0: fff48413 addi s0,s1,-1 -204018b4: 02044263 bltz s0,204018d8 <__call_exitprocs+0x7c> -204018b8: 00249493 slli s1,s1,0x2 -204018bc: 009904b3 add s1,s2,s1 -204018c0: 040b0463 beqz s6,20401908 <__call_exitprocs+0xac> -204018c4: 1044a783 lw a5,260(s1) -204018c8: 05678063 beq a5,s6,20401908 <__call_exitprocs+0xac> -204018cc: fff40413 addi s0,s0,-1 -204018d0: ffc48493 addi s1,s1,-4 -204018d4: ff3416e3 bne s0,s3,204018c0 <__call_exitprocs+0x64> -204018d8: 02c12083 lw ra,44(sp) -204018dc: 02812403 lw s0,40(sp) -204018e0: 02412483 lw s1,36(sp) -204018e4: 02012903 lw s2,32(sp) -204018e8: 01c12983 lw s3,28(sp) -204018ec: 01812a03 lw s4,24(sp) -204018f0: 01412a83 lw s5,20(sp) -204018f4: 01012b03 lw s6,16(sp) -204018f8: 00c12b83 lw s7,12(sp) -204018fc: 00812c03 lw s8,8(sp) -20401900: 03010113 addi sp,sp,48 -20401904: 00008067 ret -20401908: 00492783 lw a5,4(s2) -2040190c: 0044a683 lw a3,4(s1) -20401910: fff78793 addi a5,a5,-1 -20401914: 04878a63 beq a5,s0,20401968 <__call_exitprocs+0x10c> -20401918: 0004a223 sw zero,4(s1) -2040191c: fa0688e3 beqz a3,204018cc <__call_exitprocs+0x70> -20401920: 18892783 lw a5,392(s2) -20401924: 008a1733 sll a4,s4,s0 -20401928: 00492b83 lw s7,4(s2) -2040192c: 00f777b3 and a5,a4,a5 -20401930: 00079e63 bnez a5,2040194c <__call_exitprocs+0xf0> -20401934: 000680e7 jalr a3 -20401938: 00492783 lw a5,4(s2) -2040193c: f77794e3 bne a5,s7,204018a4 <__call_exitprocs+0x48> -20401940: 148c2783 lw a5,328(s8) -20401944: f92784e3 beq a5,s2,204018cc <__call_exitprocs+0x70> -20401948: f5dff06f j 204018a4 <__call_exitprocs+0x48> -2040194c: 18c92783 lw a5,396(s2) -20401950: 0844a583 lw a1,132(s1) -20401954: 00f77733 and a4,a4,a5 -20401958: 00071c63 bnez a4,20401970 <__call_exitprocs+0x114> -2040195c: 000a8513 mv a0,s5 -20401960: 000680e7 jalr a3 -20401964: fd5ff06f j 20401938 <__call_exitprocs+0xdc> -20401968: 00892223 sw s0,4(s2) -2040196c: fb1ff06f j 2040191c <__call_exitprocs+0xc0> -20401970: 00058513 mv a0,a1 -20401974: 000680e7 jalr a3 -20401978: fc1ff06f j 20401938 <__call_exitprocs+0xdc> - -2040197c <__muldf3>: -2040197c: fd010113 addi sp,sp,-48 -20401980: 01312e23 sw s3,28(sp) -20401984: 0145d993 srli s3,a1,0x14 -20401988: 02812423 sw s0,40(sp) -2040198c: 02912223 sw s1,36(sp) -20401990: 01412c23 sw s4,24(sp) -20401994: 01512a23 sw s5,20(sp) -20401998: 01612823 sw s6,16(sp) -2040199c: 00c59493 slli s1,a1,0xc -204019a0: 02112623 sw ra,44(sp) -204019a4: 03212023 sw s2,32(sp) -204019a8: 01712623 sw s7,12(sp) -204019ac: 7ff9f993 andi s3,s3,2047 -204019b0: 00050413 mv s0,a0 -204019b4: 00060b13 mv s6,a2 -204019b8: 00068a93 mv s5,a3 -204019bc: 00c4d493 srli s1,s1,0xc -204019c0: 01f5da13 srli s4,a1,0x1f -204019c4: 0a098463 beqz s3,20401a6c <__muldf3+0xf0> -204019c8: 7ff00793 li a5,2047 -204019cc: 10f98263 beq s3,a5,20401ad0 <__muldf3+0x154> -204019d0: 01d55793 srli a5,a0,0x1d -204019d4: 00349493 slli s1,s1,0x3 -204019d8: 0097e4b3 or s1,a5,s1 -204019dc: 008007b7 lui a5,0x800 -204019e0: 00f4e4b3 or s1,s1,a5 -204019e4: 00351913 slli s2,a0,0x3 -204019e8: c0198993 addi s3,s3,-1023 -204019ec: 00000b93 li s7,0 -204019f0: 014ad513 srli a0,s5,0x14 -204019f4: 00ca9413 slli s0,s5,0xc -204019f8: 7ff57513 andi a0,a0,2047 -204019fc: 00c45413 srli s0,s0,0xc -20401a00: 01fada93 srli s5,s5,0x1f -20401a04: 10050263 beqz a0,20401b08 <__muldf3+0x18c> -20401a08: 7ff00793 li a5,2047 -20401a0c: 16f50263 beq a0,a5,20401b70 <__muldf3+0x1f4> -20401a10: 01db5793 srli a5,s6,0x1d -20401a14: 00341413 slli s0,s0,0x3 -20401a18: 0087e433 or s0,a5,s0 -20401a1c: 008007b7 lui a5,0x800 -20401a20: 00f46433 or s0,s0,a5 -20401a24: c0150513 addi a0,a0,-1023 -20401a28: 003b1793 slli a5,s6,0x3 -20401a2c: 00000713 li a4,0 -20401a30: 002b9693 slli a3,s7,0x2 -20401a34: 00e6e6b3 or a3,a3,a4 -20401a38: 00a989b3 add s3,s3,a0 -20401a3c: fff68693 addi a3,a3,-1 -20401a40: 00e00613 li a2,14 -20401a44: 015a4833 xor a6,s4,s5 -20401a48: 00198893 addi a7,s3,1 -20401a4c: 14d66e63 bltu a2,a3,20401ba8 <__muldf3+0x22c> -20401a50: 00001617 auipc a2,0x1 -20401a54: 95460613 addi a2,a2,-1708 # 204023a4 <__clzsi2+0x264> -20401a58: 00269693 slli a3,a3,0x2 -20401a5c: 00c686b3 add a3,a3,a2 -20401a60: 0006a683 lw a3,0(a3) -20401a64: 00c686b3 add a3,a3,a2 -20401a68: 00068067 jr a3 -20401a6c: 00a4e933 or s2,s1,a0 -20401a70: 06090c63 beqz s2,20401ae8 <__muldf3+0x16c> -20401a74: 04048063 beqz s1,20401ab4 <__muldf3+0x138> -20401a78: 00048513 mv a0,s1 -20401a7c: 6c4000ef jal ra,20402140 <__clzsi2> -20401a80: ff550713 addi a4,a0,-11 -20401a84: 01c00793 li a5,28 -20401a88: 02e7cc63 blt a5,a4,20401ac0 <__muldf3+0x144> -20401a8c: 01d00793 li a5,29 -20401a90: ff850913 addi s2,a0,-8 -20401a94: 40e787b3 sub a5,a5,a4 -20401a98: 012494b3 sll s1,s1,s2 -20401a9c: 00f457b3 srl a5,s0,a5 -20401aa0: 0097e4b3 or s1,a5,s1 -20401aa4: 01241933 sll s2,s0,s2 -20401aa8: c0d00993 li s3,-1011 -20401aac: 40a989b3 sub s3,s3,a0 -20401ab0: f3dff06f j 204019ec <__muldf3+0x70> -20401ab4: 68c000ef jal ra,20402140 <__clzsi2> -20401ab8: 02050513 addi a0,a0,32 -20401abc: fc5ff06f j 20401a80 <__muldf3+0x104> -20401ac0: fd850493 addi s1,a0,-40 -20401ac4: 009414b3 sll s1,s0,s1 -20401ac8: 00000913 li s2,0 -20401acc: fddff06f j 20401aa8 <__muldf3+0x12c> -20401ad0: 00a4e933 or s2,s1,a0 -20401ad4: 02090263 beqz s2,20401af8 <__muldf3+0x17c> -20401ad8: 00050913 mv s2,a0 -20401adc: 7ff00993 li s3,2047 -20401ae0: 00300b93 li s7,3 -20401ae4: f0dff06f j 204019f0 <__muldf3+0x74> -20401ae8: 00000493 li s1,0 -20401aec: 00000993 li s3,0 -20401af0: 00100b93 li s7,1 -20401af4: efdff06f j 204019f0 <__muldf3+0x74> -20401af8: 00000493 li s1,0 -20401afc: 7ff00993 li s3,2047 -20401b00: 00200b93 li s7,2 -20401b04: eedff06f j 204019f0 <__muldf3+0x74> -20401b08: 016467b3 or a5,s0,s6 -20401b0c: 06078e63 beqz a5,20401b88 <__muldf3+0x20c> -20401b10: 04040063 beqz s0,20401b50 <__muldf3+0x1d4> -20401b14: 00040513 mv a0,s0 -20401b18: 628000ef jal ra,20402140 <__clzsi2> -20401b1c: ff550693 addi a3,a0,-11 -20401b20: 01c00793 li a5,28 -20401b24: 02d7ce63 blt a5,a3,20401b60 <__muldf3+0x1e4> -20401b28: 01d00713 li a4,29 -20401b2c: ff850793 addi a5,a0,-8 -20401b30: 40d70733 sub a4,a4,a3 -20401b34: 00f41433 sll s0,s0,a5 -20401b38: 00eb5733 srl a4,s6,a4 -20401b3c: 00876433 or s0,a4,s0 -20401b40: 00fb17b3 sll a5,s6,a5 -20401b44: c0d00713 li a4,-1011 -20401b48: 40a70533 sub a0,a4,a0 -20401b4c: ee1ff06f j 20401a2c <__muldf3+0xb0> -20401b50: 000b0513 mv a0,s6 -20401b54: 5ec000ef jal ra,20402140 <__clzsi2> -20401b58: 02050513 addi a0,a0,32 -20401b5c: fc1ff06f j 20401b1c <__muldf3+0x1a0> -20401b60: fd850413 addi s0,a0,-40 -20401b64: 008b1433 sll s0,s6,s0 -20401b68: 00000793 li a5,0 -20401b6c: fd9ff06f j 20401b44 <__muldf3+0x1c8> -20401b70: 016467b3 or a5,s0,s6 -20401b74: 02078263 beqz a5,20401b98 <__muldf3+0x21c> -20401b78: 000b0793 mv a5,s6 -20401b7c: 7ff00513 li a0,2047 -20401b80: 00300713 li a4,3 -20401b84: eadff06f j 20401a30 <__muldf3+0xb4> -20401b88: 00000413 li s0,0 -20401b8c: 00000513 li a0,0 -20401b90: 00100713 li a4,1 -20401b94: e9dff06f j 20401a30 <__muldf3+0xb4> -20401b98: 00000413 li s0,0 -20401b9c: 7ff00513 li a0,2047 -20401ba0: 00200713 li a4,2 -20401ba4: e8dff06f j 20401a30 <__muldf3+0xb4> -20401ba8: 000102b7 lui t0,0x10 -20401bac: fff28313 addi t1,t0,-1 # ffff <__stack_size+0xf7ff> -20401bb0: 01095f13 srli t5,s2,0x10 -20401bb4: 0107df93 srli t6,a5,0x10 -20401bb8: 00697933 and s2,s2,t1 -20401bbc: 0067f7b3 and a5,a5,t1 -20401bc0: 00090513 mv a0,s2 -20401bc4: 00078593 mv a1,a5 -20401bc8: 4a0000ef jal ra,20402068 <__mulsi3> -20401bcc: 00050e93 mv t4,a0 -20401bd0: 000f8593 mv a1,t6 -20401bd4: 00090513 mv a0,s2 -20401bd8: 490000ef jal ra,20402068 <__mulsi3> -20401bdc: 00050e13 mv t3,a0 -20401be0: 00078593 mv a1,a5 -20401be4: 000f0513 mv a0,t5 -20401be8: 480000ef jal ra,20402068 <__mulsi3> -20401bec: 00050a13 mv s4,a0 -20401bf0: 000f8593 mv a1,t6 -20401bf4: 000f0513 mv a0,t5 -20401bf8: 470000ef jal ra,20402068 <__mulsi3> -20401bfc: 010ed713 srli a4,t4,0x10 -20401c00: 014e0e33 add t3,t3,s4 -20401c04: 01c70733 add a4,a4,t3 -20401c08: 00050393 mv t2,a0 -20401c0c: 01477463 bgeu a4,s4,20401c14 <__muldf3+0x298> -20401c10: 005503b3 add t2,a0,t0 -20401c14: 00677e33 and t3,a4,t1 -20401c18: 006efeb3 and t4,t4,t1 -20401c1c: 01045a13 srli s4,s0,0x10 -20401c20: 010e1e13 slli t3,t3,0x10 -20401c24: 00647433 and s0,s0,t1 -20401c28: 01075293 srli t0,a4,0x10 -20401c2c: 01de0e33 add t3,t3,t4 -20401c30: 00090513 mv a0,s2 -20401c34: 00040593 mv a1,s0 -20401c38: 430000ef jal ra,20402068 <__mulsi3> -20401c3c: 00050e93 mv t4,a0 -20401c40: 000a0593 mv a1,s4 -20401c44: 00090513 mv a0,s2 -20401c48: 420000ef jal ra,20402068 <__mulsi3> -20401c4c: 00050713 mv a4,a0 -20401c50: 00040593 mv a1,s0 -20401c54: 000f0513 mv a0,t5 -20401c58: 410000ef jal ra,20402068 <__mulsi3> -20401c5c: 00050313 mv t1,a0 -20401c60: 000a0593 mv a1,s4 -20401c64: 000f0513 mv a0,t5 -20401c68: 400000ef jal ra,20402068 <__mulsi3> -20401c6c: 010ed693 srli a3,t4,0x10 -20401c70: 00670733 add a4,a4,t1 -20401c74: 00e686b3 add a3,a3,a4 -20401c78: 0066f663 bgeu a3,t1,20401c84 <__muldf3+0x308> -20401c7c: 00010737 lui a4,0x10 -20401c80: 00e50533 add a0,a0,a4 -20401c84: 00010ab7 lui s5,0x10 -20401c88: fffa8613 addi a2,s5,-1 # ffff <__stack_size+0xf7ff> -20401c8c: 0106d713 srli a4,a3,0x10 -20401c90: 00c6f6b3 and a3,a3,a2 -20401c94: 01069693 slli a3,a3,0x10 -20401c98: 00cefeb3 and t4,t4,a2 -20401c9c: 00a70f33 add t5,a4,a0 -20401ca0: 01d68eb3 add t4,a3,t4 -20401ca4: 0104d713 srli a4,s1,0x10 -20401ca8: 00c4f4b3 and s1,s1,a2 -20401cac: 01d282b3 add t0,t0,t4 -20401cb0: 00048513 mv a0,s1 -20401cb4: 00078593 mv a1,a5 -20401cb8: 3b0000ef jal ra,20402068 <__mulsi3> -20401cbc: 00050913 mv s2,a0 -20401cc0: 000f8593 mv a1,t6 -20401cc4: 00048513 mv a0,s1 -20401cc8: 3a0000ef jal ra,20402068 <__mulsi3> -20401ccc: 00050313 mv t1,a0 -20401cd0: 00078593 mv a1,a5 -20401cd4: 00070513 mv a0,a4 -20401cd8: 390000ef jal ra,20402068 <__mulsi3> -20401cdc: 00050b13 mv s6,a0 -20401ce0: 000f8593 mv a1,t6 -20401ce4: 00070513 mv a0,a4 -20401ce8: 380000ef jal ra,20402068 <__mulsi3> -20401cec: 01095793 srli a5,s2,0x10 -20401cf0: 01630333 add t1,t1,s6 -20401cf4: 006787b3 add a5,a5,t1 -20401cf8: 0167f463 bgeu a5,s6,20401d00 <__muldf3+0x384> -20401cfc: 01550533 add a0,a0,s5 -20401d00: 00010ab7 lui s5,0x10 -20401d04: fffa8693 addi a3,s5,-1 # ffff <__stack_size+0xf7ff> -20401d08: 00d7f333 and t1,a5,a3 -20401d0c: 0107d613 srli a2,a5,0x10 -20401d10: 00d97933 and s2,s2,a3 -20401d14: 01031313 slli t1,t1,0x10 -20401d18: 00a60fb3 add t6,a2,a0 -20401d1c: 01230333 add t1,t1,s2 -20401d20: 00048513 mv a0,s1 -20401d24: 00040593 mv a1,s0 -20401d28: 340000ef jal ra,20402068 <__mulsi3> -20401d2c: 00050793 mv a5,a0 -20401d30: 000a0593 mv a1,s4 -20401d34: 00048513 mv a0,s1 -20401d38: 330000ef jal ra,20402068 <__mulsi3> -20401d3c: 00050493 mv s1,a0 -20401d40: 00040593 mv a1,s0 -20401d44: 00070513 mv a0,a4 -20401d48: 320000ef jal ra,20402068 <__mulsi3> -20401d4c: 00050913 mv s2,a0 -20401d50: 000a0593 mv a1,s4 -20401d54: 00070513 mv a0,a4 -20401d58: 310000ef jal ra,20402068 <__mulsi3> -20401d5c: 0107d693 srli a3,a5,0x10 -20401d60: 012484b3 add s1,s1,s2 -20401d64: 009686b3 add a3,a3,s1 -20401d68: 0126f463 bgeu a3,s2,20401d70 <__muldf3+0x3f4> -20401d6c: 01550533 add a0,a0,s5 -20401d70: 00010637 lui a2,0x10 -20401d74: fff60613 addi a2,a2,-1 # ffff <__stack_size+0xf7ff> -20401d78: 00c6f733 and a4,a3,a2 -20401d7c: 00c7f7b3 and a5,a5,a2 -20401d80: 01071713 slli a4,a4,0x10 -20401d84: 007282b3 add t0,t0,t2 -20401d88: 00f70733 add a4,a4,a5 -20401d8c: 01d2beb3 sltu t4,t0,t4 -20401d90: 01e70733 add a4,a4,t5 -20401d94: 01d70433 add s0,a4,t4 -20401d98: 006282b3 add t0,t0,t1 -20401d9c: 01f40633 add a2,s0,t6 -20401da0: 0062b333 sltu t1,t0,t1 -20401da4: 006605b3 add a1,a2,t1 -20401da8: 01e73733 sltu a4,a4,t5 -20401dac: 01d43433 sltu s0,s0,t4 -20401db0: 00876433 or s0,a4,s0 -20401db4: 0106d693 srli a3,a3,0x10 -20401db8: 01f63633 sltu a2,a2,t6 -20401dbc: 0065b333 sltu t1,a1,t1 -20401dc0: 00d40433 add s0,s0,a3 -20401dc4: 00666333 or t1,a2,t1 -20401dc8: 00640433 add s0,s0,t1 -20401dcc: 00929793 slli a5,t0,0x9 -20401dd0: 00a40433 add s0,s0,a0 -20401dd4: 01c7e7b3 or a5,a5,t3 -20401dd8: 00941413 slli s0,s0,0x9 -20401ddc: 0175d513 srli a0,a1,0x17 -20401de0: 00f037b3 snez a5,a5 -20401de4: 0172de13 srli t3,t0,0x17 -20401de8: 00959713 slli a4,a1,0x9 -20401dec: 00a46433 or s0,s0,a0 -20401df0: 01c7e7b3 or a5,a5,t3 -20401df4: 00e7e7b3 or a5,a5,a4 -20401df8: 00741713 slli a4,s0,0x7 -20401dfc: 10075263 bgez a4,20401f00 <__muldf3+0x584> -20401e00: 0017d713 srli a4,a5,0x1 -20401e04: 0017f793 andi a5,a5,1 -20401e08: 00f767b3 or a5,a4,a5 -20401e0c: 01f41713 slli a4,s0,0x1f -20401e10: 00e7e7b3 or a5,a5,a4 -20401e14: 00145413 srli s0,s0,0x1 -20401e18: 3ff88693 addi a3,a7,1023 -20401e1c: 0ed05663 blez a3,20401f08 <__muldf3+0x58c> -20401e20: 0077f713 andi a4,a5,7 -20401e24: 02070063 beqz a4,20401e44 <__muldf3+0x4c8> -20401e28: 00f7f713 andi a4,a5,15 -20401e2c: 00400613 li a2,4 -20401e30: 00c70a63 beq a4,a2,20401e44 <__muldf3+0x4c8> -20401e34: 00478713 addi a4,a5,4 # 800004 <__stack_size+0x7ff804> -20401e38: 00f737b3 sltu a5,a4,a5 -20401e3c: 00f40433 add s0,s0,a5 -20401e40: 00070793 mv a5,a4 -20401e44: 00741713 slli a4,s0,0x7 -20401e48: 00075a63 bgez a4,20401e5c <__muldf3+0x4e0> -20401e4c: ff000737 lui a4,0xff000 -20401e50: fff70713 addi a4,a4,-1 # feffffff <_sp+0x7effbfff> -20401e54: 00e47433 and s0,s0,a4 -20401e58: 40088693 addi a3,a7,1024 -20401e5c: 7fe00713 li a4,2046 -20401e60: 16d74663 blt a4,a3,20401fcc <__muldf3+0x650> -20401e64: 0037d713 srli a4,a5,0x3 -20401e68: 01d41793 slli a5,s0,0x1d -20401e6c: 00e7e7b3 or a5,a5,a4 -20401e70: 00345413 srli s0,s0,0x3 -20401e74: 00c41413 slli s0,s0,0xc -20401e78: 7ff6f713 andi a4,a3,2047 -20401e7c: 01471713 slli a4,a4,0x14 -20401e80: 00c45413 srli s0,s0,0xc -20401e84: 00e46433 or s0,s0,a4 -20401e88: 01f81813 slli a6,a6,0x1f -20401e8c: 01046733 or a4,s0,a6 -20401e90: 02c12083 lw ra,44(sp) -20401e94: 02812403 lw s0,40(sp) -20401e98: 02412483 lw s1,36(sp) -20401e9c: 02012903 lw s2,32(sp) -20401ea0: 01c12983 lw s3,28(sp) -20401ea4: 01812a03 lw s4,24(sp) -20401ea8: 01412a83 lw s5,20(sp) -20401eac: 01012b03 lw s6,16(sp) -20401eb0: 00c12b83 lw s7,12(sp) -20401eb4: 00078513 mv a0,a5 -20401eb8: 00070593 mv a1,a4 -20401ebc: 03010113 addi sp,sp,48 +20401e60 <__fixunsdfsi>: +20401e60: 0145d713 srli a4,a1,0x14 +20401e64: 001006b7 lui a3,0x100 +20401e68: 00050613 mv a2,a0 +20401e6c: fff68793 addi a5,a3,-1 # fffff <__stack_size+0xff7ff> +20401e70: 7ff77713 andi a4,a4,2047 +20401e74: 3fe00513 li a0,1022 +20401e78: 00b7f7b3 and a5,a5,a1 +20401e7c: 01f5d593 srli a1,a1,0x1f +20401e80: 04e55a63 bge a0,a4,20401ed4 <__fixunsdfsi+0x74> +20401e84: 00000513 li a0,0 +20401e88: 00059863 bnez a1,20401e98 <__fixunsdfsi+0x38> +20401e8c: 41e00593 li a1,1054 +20401e90: fff00513 li a0,-1 +20401e94: 00e5d463 bge a1,a4,20401e9c <__fixunsdfsi+0x3c> +20401e98: 00008067 ret +20401e9c: 00d7e7b3 or a5,a5,a3 +20401ea0: 43300693 li a3,1075 +20401ea4: 40e686b3 sub a3,a3,a4 +20401ea8: 01f00593 li a1,31 +20401eac: 00d5cc63 blt a1,a3,20401ec4 <__fixunsdfsi+0x64> +20401eb0: bed70713 addi a4,a4,-1043 +20401eb4: 00e797b3 sll a5,a5,a4 +20401eb8: 00d65533 srl a0,a2,a3 +20401ebc: 00a7e533 or a0,a5,a0 20401ec0: 00008067 ret -20401ec4: 000a0813 mv a6,s4 -20401ec8: 00048413 mv s0,s1 -20401ecc: 00090793 mv a5,s2 -20401ed0: 000b8713 mv a4,s7 -20401ed4: 00200693 li a3,2 -20401ed8: 0ed70a63 beq a4,a3,20401fcc <__muldf3+0x650> -20401edc: 00300693 li a3,3 -20401ee0: 0cd70c63 beq a4,a3,20401fb8 <__muldf3+0x63c> -20401ee4: 00100693 li a3,1 -20401ee8: f2d718e3 bne a4,a3,20401e18 <__muldf3+0x49c> -20401eec: 00000413 li s0,0 -20401ef0: 00000793 li a5,0 -20401ef4: 0880006f j 20401f7c <__muldf3+0x600> -20401ef8: 000a8813 mv a6,s5 -20401efc: fd9ff06f j 20401ed4 <__muldf3+0x558> -20401f00: 00098893 mv a7,s3 -20401f04: f15ff06f j 20401e18 <__muldf3+0x49c> -20401f08: 00100613 li a2,1 -20401f0c: 40d60633 sub a2,a2,a3 -20401f10: 03800713 li a4,56 -20401f14: fcc74ce3 blt a4,a2,20401eec <__muldf3+0x570> -20401f18: 01f00713 li a4,31 -20401f1c: 06c74463 blt a4,a2,20401f84 <__muldf3+0x608> -20401f20: 41e88893 addi a7,a7,1054 -20401f24: 01141733 sll a4,s0,a7 -20401f28: 00c7d6b3 srl a3,a5,a2 -20401f2c: 011797b3 sll a5,a5,a7 -20401f30: 00d76733 or a4,a4,a3 -20401f34: 00f037b3 snez a5,a5 -20401f38: 00f767b3 or a5,a4,a5 -20401f3c: 00c45433 srl s0,s0,a2 -20401f40: 0077f713 andi a4,a5,7 -20401f44: 02070063 beqz a4,20401f64 <__muldf3+0x5e8> -20401f48: 00f7f713 andi a4,a5,15 -20401f4c: 00400693 li a3,4 -20401f50: 00d70a63 beq a4,a3,20401f64 <__muldf3+0x5e8> -20401f54: 00478713 addi a4,a5,4 -20401f58: 00f737b3 sltu a5,a4,a5 -20401f5c: 00f40433 add s0,s0,a5 -20401f60: 00070793 mv a5,a4 -20401f64: 00841713 slli a4,s0,0x8 -20401f68: 06074a63 bltz a4,20401fdc <__muldf3+0x660> -20401f6c: 01d41713 slli a4,s0,0x1d -20401f70: 0037d793 srli a5,a5,0x3 -20401f74: 00f767b3 or a5,a4,a5 -20401f78: 00345413 srli s0,s0,0x3 -20401f7c: 00000693 li a3,0 -20401f80: ef5ff06f j 20401e74 <__muldf3+0x4f8> -20401f84: fe100713 li a4,-31 -20401f88: 40d70733 sub a4,a4,a3 -20401f8c: 02000593 li a1,32 -20401f90: 00e45733 srl a4,s0,a4 -20401f94: 00000693 li a3,0 -20401f98: 00b60663 beq a2,a1,20401fa4 <__muldf3+0x628> -20401f9c: 43e88893 addi a7,a7,1086 -20401fa0: 011416b3 sll a3,s0,a7 -20401fa4: 00f6e7b3 or a5,a3,a5 -20401fa8: 00f037b3 snez a5,a5 -20401fac: 00f767b3 or a5,a4,a5 -20401fb0: 00000413 li s0,0 -20401fb4: f8dff06f j 20401f40 <__muldf3+0x5c4> -20401fb8: 00080437 lui s0,0x80 -20401fbc: 00000793 li a5,0 -20401fc0: 7ff00693 li a3,2047 -20401fc4: 00000813 li a6,0 -20401fc8: eadff06f j 20401e74 <__muldf3+0x4f8> -20401fcc: 00000413 li s0,0 -20401fd0: 00000793 li a5,0 -20401fd4: 7ff00693 li a3,2047 -20401fd8: e9dff06f j 20401e74 <__muldf3+0x4f8> -20401fdc: 00000413 li s0,0 -20401fe0: 00000793 li a5,0 -20401fe4: 00100693 li a3,1 -20401fe8: e8dff06f j 20401e74 <__muldf3+0x4f8> +20401ec4: 41300513 li a0,1043 +20401ec8: 40e50533 sub a0,a0,a4 +20401ecc: 00a7d533 srl a0,a5,a0 +20401ed0: 00008067 ret +20401ed4: 00000513 li a0,0 +20401ed8: 00008067 ret -20401fec <__fixunsdfsi>: -20401fec: 0145d713 srli a4,a1,0x14 -20401ff0: 001006b7 lui a3,0x100 -20401ff4: 00050613 mv a2,a0 -20401ff8: fff68793 addi a5,a3,-1 # fffff <__stack_size+0xff7ff> -20401ffc: 7ff77713 andi a4,a4,2047 -20402000: 3fe00513 li a0,1022 -20402004: 00b7f7b3 and a5,a5,a1 -20402008: 01f5d593 srli a1,a1,0x1f -2040200c: 04e55a63 bge a0,a4,20402060 <__fixunsdfsi+0x74> -20402010: 00000513 li a0,0 -20402014: 00059863 bnez a1,20402024 <__fixunsdfsi+0x38> -20402018: 41e00593 li a1,1054 -2040201c: fff00513 li a0,-1 -20402020: 00e5d463 bge a1,a4,20402028 <__fixunsdfsi+0x3c> -20402024: 00008067 ret -20402028: 00d7e7b3 or a5,a5,a3 -2040202c: 43300693 li a3,1075 -20402030: 40e686b3 sub a3,a3,a4 -20402034: 01f00593 li a1,31 -20402038: 00d5cc63 blt a1,a3,20402050 <__fixunsdfsi+0x64> -2040203c: bed70713 addi a4,a4,-1043 -20402040: 00e797b3 sll a5,a5,a4 -20402044: 00d65533 srl a0,a2,a3 -20402048: 00a7e533 or a0,a5,a0 -2040204c: 00008067 ret -20402050: 41300513 li a0,1043 -20402054: 40e50533 sub a0,a0,a4 -20402058: 00a7d533 srl a0,a5,a0 -2040205c: 00008067 ret -20402060: 00000513 li a0,0 -20402064: 00008067 ret +20401edc <__mulsi3>: +20401edc: 00050613 mv a2,a0 +20401ee0: 00000513 li a0,0 +20401ee4: 0015f693 andi a3,a1,1 +20401ee8: 00068463 beqz a3,20401ef0 <__mulsi3+0x14> +20401eec: 00c50533 add a0,a0,a2 +20401ef0: 0015d593 srli a1,a1,0x1 +20401ef4: 00161613 slli a2,a2,0x1 +20401ef8: fe0596e3 bnez a1,20401ee4 <__mulsi3+0x8> +20401efc: 00008067 ret -20402068 <__mulsi3>: -20402068: 00050613 mv a2,a0 -2040206c: 00000513 li a0,0 -20402070: 0015f693 andi a3,a1,1 -20402074: 00068463 beqz a3,2040207c <__mulsi3+0x14> -20402078: 00c50533 add a0,a0,a2 -2040207c: 0015d593 srli a1,a1,0x1 -20402080: 00161613 slli a2,a2,0x1 -20402084: fe0596e3 bnez a1,20402070 <__mulsi3+0x8> -20402088: 00008067 ret +20401f00 <__divsi3>: +20401f00: 06054063 bltz a0,20401f60 <__umodsi3+0x10> +20401f04: 0605c663 bltz a1,20401f70 <__umodsi3+0x20> -2040208c <__divsi3>: -2040208c: 06054063 bltz a0,204020ec <__umodsi3+0x10> -20402090: 0605c663 bltz a1,204020fc <__umodsi3+0x20> +20401f08 <__udivsi3>: +20401f08: 00058613 mv a2,a1 +20401f0c: 00050593 mv a1,a0 +20401f10: fff00513 li a0,-1 +20401f14: 02060c63 beqz a2,20401f4c <__udivsi3+0x44> +20401f18: 00100693 li a3,1 +20401f1c: 00b67a63 bgeu a2,a1,20401f30 <__udivsi3+0x28> +20401f20: 00c05863 blez a2,20401f30 <__udivsi3+0x28> +20401f24: 00161613 slli a2,a2,0x1 +20401f28: 00169693 slli a3,a3,0x1 +20401f2c: feb66ae3 bltu a2,a1,20401f20 <__udivsi3+0x18> +20401f30: 00000513 li a0,0 +20401f34: 00c5e663 bltu a1,a2,20401f40 <__udivsi3+0x38> +20401f38: 40c585b3 sub a1,a1,a2 +20401f3c: 00d56533 or a0,a0,a3 +20401f40: 0016d693 srli a3,a3,0x1 +20401f44: 00165613 srli a2,a2,0x1 +20401f48: fe0696e3 bnez a3,20401f34 <__udivsi3+0x2c> +20401f4c: 00008067 ret -20402094 <__udivsi3>: -20402094: 00058613 mv a2,a1 -20402098: 00050593 mv a1,a0 -2040209c: fff00513 li a0,-1 -204020a0: 02060c63 beqz a2,204020d8 <__udivsi3+0x44> -204020a4: 00100693 li a3,1 -204020a8: 00b67a63 bgeu a2,a1,204020bc <__udivsi3+0x28> -204020ac: 00c05863 blez a2,204020bc <__udivsi3+0x28> -204020b0: 00161613 slli a2,a2,0x1 -204020b4: 00169693 slli a3,a3,0x1 -204020b8: feb66ae3 bltu a2,a1,204020ac <__udivsi3+0x18> -204020bc: 00000513 li a0,0 -204020c0: 00c5e663 bltu a1,a2,204020cc <__udivsi3+0x38> -204020c4: 40c585b3 sub a1,a1,a2 -204020c8: 00d56533 or a0,a0,a3 -204020cc: 0016d693 srli a3,a3,0x1 -204020d0: 00165613 srli a2,a2,0x1 -204020d4: fe0696e3 bnez a3,204020c0 <__udivsi3+0x2c> -204020d8: 00008067 ret +20401f50 <__umodsi3>: +20401f50: 00008293 mv t0,ra +20401f54: fb5ff0ef jal ra,20401f08 <__udivsi3> +20401f58: 00058513 mv a0,a1 +20401f5c: 00028067 jr t0 +20401f60: 40a00533 neg a0,a0 +20401f64: 0005d863 bgez a1,20401f74 <__umodsi3+0x24> +20401f68: 40b005b3 neg a1,a1 +20401f6c: f9dff06f j 20401f08 <__udivsi3> +20401f70: 40b005b3 neg a1,a1 +20401f74: 00008293 mv t0,ra +20401f78: f91ff0ef jal ra,20401f08 <__udivsi3> +20401f7c: 40a00533 neg a0,a0 +20401f80: 00028067 jr t0 -204020dc <__umodsi3>: -204020dc: 00008293 mv t0,ra -204020e0: fb5ff0ef jal ra,20402094 <__udivsi3> -204020e4: 00058513 mv a0,a1 -204020e8: 00028067 jr t0 -204020ec: 40a00533 neg a0,a0 -204020f0: 0005d863 bgez a1,20402100 <__umodsi3+0x24> -204020f4: 40b005b3 neg a1,a1 -204020f8: f9dff06f j 20402094 <__udivsi3> -204020fc: 40b005b3 neg a1,a1 -20402100: 00008293 mv t0,ra -20402104: f91ff0ef jal ra,20402094 <__udivsi3> -20402108: 40a00533 neg a0,a0 -2040210c: 00028067 jr t0 +20401f84 <__modsi3>: +20401f84: 00008293 mv t0,ra +20401f88: 0005ca63 bltz a1,20401f9c <__modsi3+0x18> +20401f8c: 00054c63 bltz a0,20401fa4 <__modsi3+0x20> +20401f90: f79ff0ef jal ra,20401f08 <__udivsi3> +20401f94: 00058513 mv a0,a1 +20401f98: 00028067 jr t0 +20401f9c: 40b005b3 neg a1,a1 +20401fa0: fe0558e3 bgez a0,20401f90 <__modsi3+0xc> +20401fa4: 40a00533 neg a0,a0 +20401fa8: f61ff0ef jal ra,20401f08 <__udivsi3> +20401fac: 40b00533 neg a0,a1 +20401fb0: 00028067 jr t0 -20402110 <__modsi3>: -20402110: 00008293 mv t0,ra -20402114: 0005ca63 bltz a1,20402128 <__modsi3+0x18> -20402118: 00054c63 bltz a0,20402130 <__modsi3+0x20> -2040211c: f79ff0ef jal ra,20402094 <__udivsi3> -20402120: 00058513 mv a0,a1 -20402124: 00028067 jr t0 -20402128: 40b005b3 neg a1,a1 -2040212c: fe0558e3 bgez a0,2040211c <__modsi3+0xc> -20402130: 40a00533 neg a0,a0 -20402134: f61ff0ef jal ra,20402094 <__udivsi3> -20402138: 40b00533 neg a0,a1 -2040213c: 00028067 jr t0 - -20402140 <__clzsi2>: -20402140: 000107b7 lui a5,0x10 -20402144: 02f57a63 bgeu a0,a5,20402178 <__clzsi2+0x38> -20402148: 0ff00793 li a5,255 -2040214c: 00a7b7b3 sltu a5,a5,a0 -20402150: 00379793 slli a5,a5,0x3 -20402154: 02000713 li a4,32 -20402158: 40f70733 sub a4,a4,a5 -2040215c: 00f557b3 srl a5,a0,a5 -20402160: 00000517 auipc a0,0x0 -20402164: 28050513 addi a0,a0,640 # 204023e0 <__clz_tab> -20402168: 00f507b3 add a5,a0,a5 -2040216c: 0007c503 lbu a0,0(a5) # 10000 <__stack_size+0xf800> -20402170: 40a70533 sub a0,a4,a0 -20402174: 00008067 ret -20402178: 01000737 lui a4,0x1000 -2040217c: 01000793 li a5,16 -20402180: fce56ae3 bltu a0,a4,20402154 <__clzsi2+0x14> -20402184: 01800793 li a5,24 -20402188: fcdff06f j 20402154 <__clzsi2+0x14> +20401fb4 <__clzsi2>: +20401fb4: 000107b7 lui a5,0x10 +20401fb8: 02f57a63 bgeu a0,a5,20401fec <__clzsi2+0x38> +20401fbc: 0ff00793 li a5,255 +20401fc0: 00a7b7b3 sltu a5,a5,a0 +20401fc4: 00379793 slli a5,a5,0x3 +20401fc8: 02000713 li a4,32 +20401fcc: 40f70733 sub a4,a4,a5 +20401fd0: 00f557b3 srl a5,a0,a5 +20401fd4: 00000517 auipc a0,0x0 +20401fd8: 2cc50513 addi a0,a0,716 # 204022a0 <__clz_tab> +20401fdc: 00f507b3 add a5,a0,a5 +20401fe0: 0007c503 lbu a0,0(a5) # 10000 <__stack_size+0xf800> +20401fe4: 40a70533 sub a0,a4,a0 +20401fe8: 00008067 ret +20401fec: 01000737 lui a4,0x1000 +20401ff0: 01000793 li a5,16 +20401ff4: fce56ae3 bltu a0,a4,20401fc8 <__clzsi2+0x14> +20401ff8: 01800793 li a5,24 +20401ffc: fcdff06f j 20401fc8 <__clzsi2+0x14>